本發(fā)明涉及系統(tǒng)軟件,尤其涉及一種基于實(shí)時(shí)數(shù)據(jù)庫(kù)的桌面應(yīng)用軟件重啟續(xù)連方法。
背景技術(shù):
1、傳統(tǒng)桌面端應(yīng)用軟件(或程序),如winform、wpf等應(yīng)用程序當(dāng)出現(xiàn)運(yùn)算邏輯報(bào)錯(cuò)或其他原因?qū)е鲁绦蚍钦_\(yùn)行需人為關(guān)閉重啟或程序自動(dòng)關(guān)閉后需手動(dòng)重啟,重啟后界面顯示狀態(tài)將恢復(fù)至原始狀態(tài),即在重啟前界面中的操作記錄、顯示痕跡、按鈕狀態(tài)等顯示狀態(tài),再重啟后不能恢復(fù)原樣(或續(xù)連)。
2、不能重啟續(xù)連的原因是,程序重啟后通常先執(zhí)行界面顯示的初始化方法,界面狀態(tài)恢復(fù)至初始狀態(tài),另外部分界面顯示內(nèi)容與程序內(nèi)存變量相關(guān)聯(lián),程序關(guān)閉,內(nèi)存變量自動(dòng)回收。
3、在某些業(yè)務(wù)場(chǎng)景下,要求桌面應(yīng)用程序顯示界面連續(xù)不中斷,即使程序重啟后也要求重復(fù)顯示。例如,一款可以顯示某試驗(yàn)流程的軟件,該軟件需顯示流程執(zhí)行到哪一步,哪些已完成,哪些未開始,不同的執(zhí)行狀態(tài)對(duì)應(yīng)不同的顯示樣式,通過(guò)操作員點(diǎn)擊“下一步”、“上一步”、“試驗(yàn)開始”、“試驗(yàn)結(jié)束”等按鈕執(zhí)行對(duì)應(yīng)的動(dòng)作和顯示的切換。在試驗(yàn)未結(jié)束時(shí),如果重啟該軟件要求流程顯示保持不變,否則只能重復(fù)重啟前的操作動(dòng)作,但這是不允許的。
4、現(xiàn)有技術(shù)實(shí)現(xiàn)方式一般采用主備機(jī)冗余技術(shù),主機(jī)與備機(jī)同時(shí)工作,主機(jī)故障時(shí)自動(dòng)切換至備機(jī),即從系統(tǒng)穩(wěn)定性角度出發(fā),使程序穩(wěn)定運(yùn)行不報(bào)錯(cuò)自動(dòng)關(guān)閉。
5、現(xiàn)有技術(shù)可以實(shí)現(xiàn)宕機(jī)續(xù)顯的功能,但存在以下缺點(diǎn):
6、(1)主備機(jī)冗余技術(shù)成本較高,需要兩臺(tái)主機(jī)才可以實(shí)現(xiàn)。
7、(2)技術(shù)難度較高,需開發(fā)單獨(dú)監(jiān)控模塊,監(jiān)測(cè)主備機(jī)的狀態(tài)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種基于實(shí)時(shí)數(shù)據(jù)庫(kù)的桌面應(yīng)用軟件重啟續(xù)連方法,能夠解決現(xiàn)有技術(shù)中的問(wèn)題。
2、本發(fā)明提供了一種基于實(shí)時(shí)數(shù)據(jù)庫(kù)的桌面應(yīng)用軟件重啟續(xù)連方法,其中,該方法包括:
3、s100,桌面程序啟動(dòng)并自動(dòng)加載初始化,執(zhí)行數(shù)據(jù)和事件的綁定;
4、s102,判斷實(shí)時(shí)數(shù)據(jù)庫(kù)中是否存在固定顯示類數(shù)據(jù),如果是,轉(zhuǎn)至s106,否則轉(zhuǎn)至s104;
5、s104,將固定顯示類數(shù)據(jù)存入實(shí)時(shí)數(shù)據(jù)庫(kù),轉(zhuǎn)至s106;
6、s106,周期性地從實(shí)時(shí)數(shù)據(jù)庫(kù)中獲取相關(guān)數(shù)據(jù),將獲取的相關(guān)數(shù)據(jù)與界面數(shù)據(jù)進(jìn)行綁定,并刷新綁定結(jié)果;
7、s108,接收界面顯示控制指令,根據(jù)界面顯示控制指令執(zhí)行相應(yīng)操作,根據(jù)執(zhí)行的相應(yīng)操作生成動(dòng)態(tài)顯示類信息;
8、s110,將生成的動(dòng)態(tài)顯示類數(shù)據(jù)存入實(shí)時(shí)數(shù)據(jù)庫(kù)。
9、優(yōu)選地,獲取的相關(guān)數(shù)據(jù)包括固定顯示類數(shù)據(jù)和動(dòng)態(tài)顯示類信息。
10、優(yōu)選地,固定顯示類信息包括形成固定界面的基本配置信息。
11、優(yōu)選地,基本配置信息包括顯示控件的名稱、顯示控件的位置、顯示級(jí)別、顯示方式和顯示類型。
12、優(yōu)選地,動(dòng)態(tài)顯示類信息包括監(jiān)測(cè)值數(shù)據(jù)、狀態(tài)值數(shù)據(jù)、臨時(shí)變量數(shù)據(jù)和模式數(shù)據(jù)。
13、優(yōu)選地,界面顯示控制指令包括開始指令、結(jié)束指令和切換顯示指令,根據(jù)界面顯示控制指令執(zhí)行相應(yīng)操作包括:
14、根據(jù)開始指令執(zhí)行新建操作或啟動(dòng)操作;
15、根據(jù)結(jié)束指令執(zhí)行保存操作或停止操作;
16、根據(jù)切換顯示指令執(zhí)行下一步操作或回退操作。
17、優(yōu)選地,實(shí)時(shí)數(shù)據(jù)庫(kù)為redis數(shù)據(jù)庫(kù)。
18、通過(guò)上述技術(shù)方案,可以將傳統(tǒng)的界面由內(nèi)存數(shù)據(jù)驅(qū)動(dòng)改為從第三方實(shí)時(shí)數(shù)據(jù)庫(kù)讀取驅(qū)動(dòng)的方式,將數(shù)據(jù)的存儲(chǔ)方式由內(nèi)存存儲(chǔ)改為由第三方實(shí)時(shí)數(shù)據(jù)庫(kù)存儲(chǔ),并且,通過(guò)界面與第三方實(shí)時(shí)數(shù)據(jù)庫(kù)數(shù)據(jù)的間接綁定以及后臺(tái)控制邏輯,實(shí)現(xiàn)了程序重啟界面續(xù)連的狀態(tài)。也就是,程序正常運(yùn)行過(guò)程中,主動(dòng)關(guān)閉再重啟界面可以保持不變,程序運(yùn)行過(guò)程中由于故障自動(dòng)關(guān)閉,再次打開后界面可以保持不變。
1.一種基于實(shí)時(shí)數(shù)據(jù)庫(kù)的桌面應(yīng)用軟件重啟續(xù)連方法,其特征在于,該方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取的相關(guān)數(shù)據(jù)包括固定顯示類數(shù)據(jù)和動(dòng)態(tài)顯示類信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,固定顯示類信息包括形成固定界面的基本配置信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,基本配置信息包括顯示控件的名稱、顯示控件的位置、顯示級(jí)別、顯示方式和顯示類型。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,動(dòng)態(tài)顯示類信息包括監(jiān)測(cè)值數(shù)據(jù)、狀態(tài)值數(shù)據(jù)、臨時(shí)變量數(shù)據(jù)和模式數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,界面顯示控制指令包括開始指令、結(jié)束指令和切換顯示指令,根據(jù)界面顯示控制指令執(zhí)行相應(yīng)操作包括:
7.根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的方法,其特征在于,實(shí)時(shí)數(shù)據(jù)庫(kù)為redis數(shù)據(jù)庫(kù)。