一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻監(jiān)控系統(tǒng),尤其涉及一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法及裝置。
【背景技術(shù)】
[0002]視頻監(jiān)控系統(tǒng)在運行過程中,不可避免會發(fā)生因系統(tǒng)程序崩潰、電腦故障、網(wǎng)絡(luò)故障、客戶端或監(jiān)控視頻服務(wù)器斷電等各種突發(fā)事件導(dǎo)致的系統(tǒng)異常退出的情況,這時就需要對視頻監(jiān)控系統(tǒng)進行重啟,包括對系統(tǒng)異常退出前的各類數(shù)據(jù)進行恢復(fù)和對系統(tǒng)異常退出前進行的各種業(yè)務(wù)的重啟。
[0003]現(xiàn)有技術(shù)一中,用戶啟動實況后,系統(tǒng)即將用戶的窗格布局以及實況窗格上綁定的監(jiān)控關(guān)系相關(guān)數(shù)據(jù)記錄在客戶端或者服務(wù)器上。一旦視頻監(jiān)控系統(tǒng)出現(xiàn)客戶端故障后,系統(tǒng)可以快速恢復(fù)故障之前的窗格布局及對應(yīng)的實況的監(jiān)控關(guān)系。但是,該視頻監(jiān)控系統(tǒng)故障恢復(fù)技術(shù)在記錄數(shù)據(jù)時僅僅是考慮了實況界面窗格布局以及窗格上綁定的實況監(jiān)控關(guān)系,即其僅僅局限于恢復(fù)用戶啟動的所有的實況界面布局,及實況相關(guān)業(yè)務(wù)功能的恢復(fù)。如用戶啟動了其他的業(yè)務(wù)操作(如巡航,輪切,對講廣播、配置數(shù)據(jù)等等),就需要用戶人為手動逐項恢復(fù),操作非常繁瑣。并且用戶的操作屏如果不是實況界面,而是其他界面(如:地圖界面/回放界面/配置界面等),就無法恢復(fù)到用戶最終操作的那個界面布局上。
[0004]現(xiàn)有技術(shù)二,對現(xiàn)有技術(shù)一中需用戶人為手動恢復(fù)的業(yè)務(wù)數(shù)據(jù)采用定時存儲的方式進行收集,保存下來供出現(xiàn)故障后進行數(shù)據(jù)恢復(fù),即避免了人為手動恢復(fù)帶來的麻煩。但是采用此類定時的方式,設(shè)置一個定時器間隔,如間隔內(nèi)出現(xiàn)故障就會導(dǎo)致收集的數(shù)據(jù)不全,若間隔設(shè)置大了(如10分鐘),每10分鐘收集一次數(shù)據(jù)保存,如果在10分鐘這個間隔中用戶啟動了一些業(yè)務(wù)同時剛好此時出現(xiàn)故障,那么這段時間內(nèi)的用戶業(yè)務(wù)數(shù)據(jù)就無法保存;若間隔設(shè)置小過(如10秒中),則會給整個系統(tǒng)的運行性能造成過多負荷,影響整個系統(tǒng)運行速度。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對現(xiàn)有技術(shù)中的不足,提供一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法,能夠?qū)崿F(xiàn)全面自動恢復(fù)場景元素,方便用戶的工作續(xù)接。
[0006]為了解決上述技術(shù)問題,本發(fā)明通過下述技術(shù)方案得以解決:
[0007]—種用于視頻監(jiān)控系統(tǒng)中恢復(fù)用戶工作場景的方法,在系統(tǒng)啟動時收集所在窗體總體界面的布局數(shù)據(jù)一并存儲;在啟動監(jiān)控業(yè)務(wù)時,收集所述業(yè)務(wù)的所有相關(guān)場景元素數(shù)據(jù)并作為業(yè)務(wù)流數(shù)據(jù)存儲;在停止監(jiān)控業(yè)務(wù)時,收集所述業(yè)務(wù)的所有相關(guān)場景元素數(shù)據(jù)并將其對應(yīng)存儲的業(yè)務(wù)流數(shù)據(jù)清除;在進行界面操作時,檢測各界面中組件的預(yù)定觸發(fā)事件,當預(yù)定觸發(fā)事件發(fā)生則收集對應(yīng)組件所在界面的布局數(shù)據(jù)二并存儲;當視頻監(jiān)控系統(tǒng)出現(xiàn)故障,調(diào)用存儲的所述業(yè)務(wù)流數(shù)據(jù)和布局數(shù)據(jù)一、二重建用戶工作場景。
[0008]進一步的,所述布局數(shù)據(jù)一、二包括界面布局數(shù)據(jù)和動態(tài)組件狀態(tài)數(shù)據(jù),所述動態(tài)組件為隨業(yè)務(wù)變化出現(xiàn)不同狀態(tài)顯示的組件。
[0009]進一步的,所述預(yù)定觸發(fā)事件為Click事件、DbClick事件和Dragover事件。
[0010]進一步的,將所述業(yè)務(wù)流數(shù)據(jù)和布局數(shù)據(jù)一、二封裝轉(zhuǎn)換成統(tǒng)一的場景數(shù)據(jù)封裝轉(zhuǎn)換成的統(tǒng)一的場景數(shù)據(jù)并結(jié)合當前用戶信息組裝成最終場景數(shù)據(jù)記錄,存儲入數(shù)據(jù)庫的場景監(jiān)控關(guān)系表。
[0011]進一步的,統(tǒng)一的場景數(shù)據(jù)以串行序列化數(shù)據(jù)流格式存儲,所述數(shù)據(jù)流格式由當前用戶信息和場景數(shù)據(jù)流組成,所述用戶信息包括用戶ID和用戶名,所述場景數(shù)據(jù)流包括業(yè)務(wù)流數(shù)據(jù)和布局數(shù)據(jù)。
[0012]進一步的,在數(shù)據(jù)庫存入異常時場景數(shù)據(jù)存入本地系統(tǒng),否則場景數(shù)據(jù)存入數(shù)據(jù)庫。
[0013]進一步的,重建用戶工作場景包括:提取存儲的場景數(shù)據(jù)記錄并轉(zhuǎn)換成業(yè)務(wù)模塊能識別的數(shù)據(jù)格式;根據(jù)布局數(shù)據(jù)一、二重繪監(jiān)控系統(tǒng)各業(yè)務(wù)界面;啟動業(yè)務(wù)程序并導(dǎo)入對應(yīng)業(yè)務(wù)流數(shù)據(jù)。
[0014]一種用于視頻監(jiān)控系統(tǒng)中恢復(fù)用戶工作場景的裝置,包括:存儲模塊,在系統(tǒng)啟動時收集所在窗體總體界面的布局數(shù)據(jù)一并存儲;在啟動監(jiān)控業(yè)務(wù)時,收集所述業(yè)務(wù)的所有相關(guān)場景元素數(shù)據(jù)并作為業(yè)務(wù)流數(shù)據(jù)存儲;清除模塊,在停止監(jiān)控業(yè)務(wù)時,收集所述業(yè)務(wù)的所有相關(guān)場景元素數(shù)據(jù)并將其對應(yīng)存儲的業(yè)務(wù)流數(shù)據(jù)清除;存儲模塊,在進行界面操作時,檢測各界面中組件的預(yù)定觸發(fā)事件,當預(yù)定觸發(fā)事件發(fā)生則收集對應(yīng)組件所在界面的布局數(shù)據(jù)二并存儲;重建模塊,當視頻監(jiān)控系統(tǒng)出現(xiàn)故障,調(diào)用存儲的所述業(yè)務(wù)流數(shù)據(jù)和布局數(shù)據(jù)一、二重建用戶工作場景。
[0015]進一步的,所述布局數(shù)據(jù)一、二包括界面布局數(shù)據(jù)和動態(tài)組件狀態(tài)數(shù)據(jù),所述動態(tài)組件為隨業(yè)務(wù)變化出現(xiàn)不同狀態(tài)顯示的組件。
[0016]進一步的,所述預(yù)定觸發(fā)事件為Click事件、DbClick事件和Dragover事件。
[0017]進一步的,所述裝置還包括記錄模塊,將所述業(yè)務(wù)流數(shù)據(jù)和布局數(shù)據(jù)一、二封裝轉(zhuǎn)換成統(tǒng)一的場景數(shù)據(jù)封裝轉(zhuǎn)換成的統(tǒng)一的場景數(shù)據(jù)并結(jié)合當前用戶信息組裝成最終場景數(shù)據(jù)記錄,存儲入數(shù)據(jù)庫的場景監(jiān)控關(guān)系表。
[0018]進一步的,統(tǒng)一的場景數(shù)據(jù)以串行序列化數(shù)據(jù)流格式存儲入存儲模塊,,所述數(shù)據(jù)流格式由當前用戶信息和場景數(shù)據(jù)流組成,所述用戶信息包括用戶ID和用戶名,所述場景數(shù)據(jù)流包括業(yè)務(wù)流數(shù)據(jù)和布局數(shù)據(jù)。
[0019]進一步的,所述存儲模塊用于在數(shù)據(jù)庫存入異常時場景數(shù)據(jù)存入本地系統(tǒng),否則場景數(shù)據(jù)存入數(shù)據(jù)庫。
[0020]進一步的,所述重建模、重建用戶工作場景包括:提取存儲的場景數(shù)據(jù)記錄并轉(zhuǎn)換成業(yè)務(wù)模塊能識別的數(shù)據(jù)格式;根據(jù)布局數(shù)據(jù)一、二重繪監(jiān)控系統(tǒng)各業(yè)務(wù)界面;啟動業(yè)務(wù)程序并導(dǎo)入對應(yīng)業(yè)務(wù)流數(shù)據(jù)。
[0021]本發(fā)明取得如下的有益效果:(I)記錄用戶上一次登錄系統(tǒng)后所操作的各個界面快照,包括實況界面和其它各業(yè)務(wù)界面(如:地圖界面/回放界面/配置界面等);以及記錄用戶登陸系統(tǒng)后啟動的各項業(yè)務(wù)操作數(shù)據(jù),當用戶因系統(tǒng)故障重新登陸后,系統(tǒng)故障前的主要界面布局及業(yè)務(wù)數(shù)據(jù)都被保留并恢復(fù),方便用戶的工作續(xù)接,省去用戶人為手動逐項恢復(fù)繁瑣流程;(2)通過檢測各界面中組件預(yù)定觸發(fā)事件來收集對應(yīng)組件所在界面的布局數(shù)據(jù),減少了系統(tǒng)存儲壓力,避免了頻繁的數(shù)據(jù)采集存儲給系統(tǒng)的運行性能造成過的過多負荷;(3)將用戶的工作場景的所有元素串行序列化并存入數(shù)據(jù)庫記錄,針對客戶端的各種異常退出,用戶再次登錄系統(tǒng)后,可以快速有效的恢復(fù)到之前的工作場景模式,從而快速、全面地恢復(fù)用戶工作場景,減少用戶的操作步驟,最大程度上降低因異常原因而帶來的用戶工作中斷的影響。
[0022]本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
【附圖說明】
[0023]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0024]圖1為本發(fā)明一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法實施例的數(shù)據(jù)流圖一;
[0025]圖2為本發(fā)明一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法實施例的數(shù)據(jù)流圖二 ;
[0026]圖3為本發(fā)明一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法實施例的數(shù)據(jù)池中的場景數(shù)據(jù)格式圖;
[0027]圖4為本發(fā)明一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法實施例的數(shù)據(jù)池中的工作場景圖;
[0028]圖5為本發(fā)明一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法實施例的數(shù)據(jù)池中的Page [I]的布局圖;
[0029]圖6為本發(fā)明一種視頻監(jiān)控系統(tǒng)中快速恢復(fù)用戶工作場景的方法實施例的數(shù)據(jù)池中的Page [I]的布局坐標圖。
【具體實施方式】
[0030]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例的附圖,對本發(fā)明實施例的技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;谒枋龅谋景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在無需創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0031]除非另作定義,此處使用的技術(shù)術(shù)語或者科學術(shù)語應(yīng)當為本發(fā)明所屬領(lǐng)域內(nèi)具有一般技能的人士所理解的通常意義。本發(fā)明專利申請說明書以及權(quán)利要求書中使用的“第一”、“第二”以及類似的詞語并不表示任何順序、數(shù)量或者重要性,而只是用來區(qū)分不同的組成部分。同樣,“一個”或者“一”等類似詞語也不表示