一種動態(tài)擴展接入新種類視頻的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種動態(tài)擴展接入新種類視頻的系統(tǒng)及方法。
【背景技術(shù)】
[0002]在安防視頻監(jiān)控領(lǐng)域,經(jīng)常需要集成多個廠家、多個版本的監(jiān)控視頻。雖已通過多層抽象技術(shù)解決了多種類視頻接入問題,但隨著時間的推移和應(yīng)用場合的不同,這些視頻的種類在系統(tǒng)中越聚越多。繼而帶來許多新問題:系統(tǒng)運行時附加載入的文件(視頻廠家提供的SDK)越來越多,需要維護的接口和變量越來越多,系統(tǒng)變得越來越臃腫。每接入一新種類的視頻,上層應(yīng)用都需要做相應(yīng)的修改,以便適配接入,上層應(yīng)用和中間抽象層產(chǎn)生了不必要的耦合。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為了解決上述問題,提出了一種動態(tài)擴展接入新種類視頻的系統(tǒng)及方法,本方法在上層應(yīng)用和中間抽象層之間增加一個動態(tài)擴展接入模塊,此模塊負(fù)責(zé)在上層應(yīng)用和中間抽象層之間動態(tài)調(diào)度接口,上層應(yīng)用只需向其發(fā)起查詢即可得到接口,無需自身再做適配。此種方式可有效減少上層應(yīng)用和中間抽象層之間的耦合,又可以為系統(tǒng)運行時瘦身,減輕運行時負(fù)擔(dān),提高運行效率。
[0004]為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0005]—種動態(tài)擴展接入新種類視頻的系統(tǒng),包括底層訪問模塊、動態(tài)調(diào)度模塊、中間抽象層和上層應(yīng)用層,其中:
[0006]所述底層訪問模塊有多個,每個都有一個全局唯一的編碼,用于向動態(tài)調(diào)度模塊申請注冊信息以注冊自身;
[0007]所述中間抽象層,處于上層應(yīng)用和底層訪問模塊之間,是為上層應(yīng)用和底層模塊之間交互而定義的COM組件,定義為上層應(yīng)用和底層訪問模塊交互的標(biāo)準(zhǔn);
[0008]所述動態(tài)調(diào)度模塊,用于記錄底層模塊的注冊信息,并向上層應(yīng)用層公開查詢接P ;
[0009]所述上層應(yīng)用層,用于向動態(tài)調(diào)度模塊發(fā)送查詢指令,查詢本地緩存數(shù)據(jù),如果上層應(yīng)用層需要的接口前期已被載入,則直接返回接口 ;否則,動態(tài)載入底層訪問模塊,初始化參數(shù),生成接口,緩存,最終向上層應(yīng)用層返回結(jié)果。
[0010]—種基于上述系統(tǒng)的方法,包括以下步驟:
[0011](I)底層訪問模塊向動態(tài)調(diào)度模塊申請注冊自身,發(fā)送注冊信息;
[0012](2)動態(tài)調(diào)度模塊記錄底層模塊的注冊信息,并向上層應(yīng)用層公開查詢接口 ;
[0013](3)上層應(yīng)用層通過動態(tài)調(diào)度模塊公開的注冊列表查詢到調(diào)用入口,并向動態(tài)調(diào)度模塊發(fā)起查詢指令;
[0014](4)動態(tài)調(diào)度模塊根據(jù)上層應(yīng)用層發(fā)來的查詢指令,查詢本地緩存數(shù)據(jù),如果上層應(yīng)用層需要的接口前期已被載入,則直接返回接口 ;否則,動態(tài)載入底層訪問模塊,初始化參數(shù),生成接口,緩存,最終向上層應(yīng)用層返回結(jié)果。
[0015]所述步驟(I)中,每個底層訪問模塊都有一個全局唯一的編碼,向動態(tài)調(diào)度模塊注冊時,提供此編碼和描述文本,另外還提供底層訪問模塊所在的位置和類ID。
[0016]所述步驟(I)中,注冊信息包括視頻種類編碼、種類描述和模塊地址信息。
[0017]所述步驟(2)中,動態(tài)調(diào)度模塊響應(yīng)底層訪問模塊請求的注冊服務(wù),記錄下模塊的注冊信息,并將此信息維護成一個易于查詢的列表,并向上層應(yīng)用層公開查詢接口。
[0018]所述步驟(3)中,對于上層應(yīng)用層訪問代碼來說,它向動態(tài)調(diào)度模塊發(fā)送查詢命令,命令參數(shù)至少需要包含視頻種類的編碼,然后動態(tài)調(diào)度模塊會適配返回上層應(yīng)用層需要的接口。
[0019]所述步驟(4)中,具體步驟包括:
[0020](a)動態(tài)調(diào)度模塊根據(jù)視頻種類編碼查詢自身維護的列表;
[0021](b)如果在列表內(nèi)找到可供使用的底層接口,則像上層應(yīng)用層返回此接口 ;
[0022](c)否則,如果接口尚未創(chuàng)建,則動態(tài)載入調(diào)入底層訪問模塊,完成初始化,然后創(chuàng)建新接口,最終再向上層應(yīng)用層返回接口。
[0023]本發(fā)明的有益效果為:
[0024](I)動態(tài)調(diào)度模塊處于上層應(yīng)用和中間抽象層之間,對上層應(yīng)用屏蔽了因多種類底層訪問模塊而帶給中間抽象層的多樣性,其負(fù)責(zé)管理和動態(tài)調(diào)度底層訪問模塊,有效地減少上層應(yīng)用層和中間抽象層之間的耦合度;因動態(tài)調(diào)度模塊使用注冊列表動態(tài)管理底層模塊的注冊信息,新增種類視頻時,只需要底層訪問模塊主動向動態(tài)調(diào)度模塊發(fā)起注冊請求,而動態(tài)調(diào)度模塊的代碼和上層應(yīng)用的業(yè)務(wù)代碼不再需要做出任何修改即可完成新種類視頻的接入;
[0025](2)底層訪問模塊的代碼和數(shù)據(jù)由動態(tài)調(diào)度模塊在運行時動態(tài)載入和卸載,這就為整個系統(tǒng)運行時減輕了負(fù)擔(dān),從而有效提高了系統(tǒng)的整體運行效率。
【附圖說明】
[0026]圖1為本發(fā)明的總體流程圖;
[0027]圖2為本發(fā)明的動態(tài)調(diào)度流程圖;
[0028]圖3為本發(fā)明的結(jié)構(gòu)架構(gòu)圖。
【具體實施方式】
:
[0029]下面結(jié)合附圖與實施例對本發(fā)明作進一步說明。
[0030]如圖1所示,底層注冊視頻種類,提供模塊地址、編碼、描述和類ID等信息,動態(tài)調(diào)度模塊記錄此注冊信息,并內(nèi)部維護一個列表;上層應(yīng)用層向調(diào)度模塊請求接口,調(diào)度模塊負(fù)責(zé)動態(tài)載入底層訪問模塊,并為上層應(yīng)用層準(zhǔn)備好功能接口。
[0031]如圖2所示,進一步說明如下:
[0032]上層應(yīng)用層查詢視頻接口,動態(tài)調(diào)度模塊在視頻列表內(nèi)尋找需要的數(shù)據(jù),如果未找到,直接向上層應(yīng)用層返回“未注冊”提示;如果找到,則繼續(xù)判斷,接口是否已創(chuàng)建,如是,直接返回視頻接口 ;否則動態(tài)載入底層視頻模塊,創(chuàng)建接口,并最終向上層應(yīng)用層返回接口。
[0033]如圖3所示,在上層應(yīng)用層和中間抽象層之間增加一動態(tài)調(diào)度模塊,底層訪問代碼向動態(tài)調(diào)度模塊注冊自身;而上層應(yīng)用和動態(tài)調(diào)度模塊進行交互,查詢底層訪問接口。其余架構(gòu)保持不變。
[0034]—種動態(tài)擴展介入新種類視頻的方法,包括以下步驟:
[0035](I)底層訪問模塊向動態(tài)調(diào)度模塊申請注冊自身,注冊信息包括:視頻種類編碼、種類描述和模塊地址信息等;
[0036](2)動態(tài)調(diào)度模塊記錄底層訪問模塊的注冊信息,并向上層公開查詢接口 ;
[0037](3)上層應(yīng)用層通過動態(tài)調(diào)度模塊公開的注冊列表查詢到調(diào)用入口,并向動態(tài)調(diào)度模塊發(fā)起查詢指令;
[0038](4)動態(tài)調(diào)度模塊根據(jù)上層應(yīng)用層發(fā)來的查詢指令,查詢本地緩存數(shù)據(jù),如果上層應(yīng)用層需要的接口前期已被載入,則直接返回接口 ;否則,動態(tài)載入底層訪問模塊,初始化參數(shù),生成接口,緩存,最終向上層應(yīng)用層返回結(jié)果。
[0039]所述步驟(I)中,每個底層訪問模塊都有一個全局唯一的編碼,此編碼使用短小的英文字母代替。向動態(tài)調(diào)度模塊注冊時,提供此編碼和一段易于理解的描述文本。最重要的,還要提供底層訪問模塊所在的位置,類ID等。
[0040]所述步驟(2)中,動態(tài)調(diào)度模塊響應(yīng)底層訪問模塊請求的注冊服務(wù),記錄下模塊的注冊信息,并將此信息維護成一個易于查詢的列表,并向上層應(yīng)用層公開查詢接口 ;
[0041]所述步驟(3)中,對于上層訪問代碼來說,它向動態(tài)調(diào)度模塊發(fā)送查詢命令,命令參數(shù)至少需要包含視頻種類的編碼,然后動態(tài)調(diào)度模塊會適配返回上層應(yīng)用層需要的接P ;
[0042]所述步驟(4)中,具體步驟包括:
[0043](a)調(diào)度模塊根據(jù)視頻種類編碼查詢自身維護的列表;
[0044](b)如果在列表內(nèi)找到可供使用的底層接口,則像上層應(yīng)用層返回此接口 ;
[0045](C)否則,如果接口尚未創(chuàng)建,則動態(tài)載入調(diào)入底層訪問模塊,完成初始化,然后創(chuàng)建新接口,最終再向上層應(yīng)用層返回接口。
[0046]上述雖然結(jié)合附圖對本發(fā)明的【具體實施方式】進行了描述,但并非對本發(fā)明保護范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內(nèi)。
【主權(quán)項】
1.一種動態(tài)擴展接入新種類視頻的系統(tǒng),其特征是:包括底層訪問模塊、動態(tài)調(diào)度模塊、中間抽象層和上層應(yīng)用層,其中: 所述底層訪問模塊有多個,每個都有一個全局唯一的編碼,用于向動態(tài)調(diào)度模塊申請注冊信息以注冊自身; 所述中間抽象層,處于上層應(yīng)用和底層訪問模塊之間,是為上層應(yīng)用和底層模塊之間交互而定義的COM組件,定義為上層應(yīng)用和底層訪問模塊交互的標(biāo)準(zhǔn); 所述動態(tài)調(diào)度模塊,用于記錄底層模塊的注冊信息,并向上層應(yīng)用層公開查詢接口 ; 所述上層應(yīng)用層,用于向動態(tài)調(diào)度模塊發(fā)送查詢指令,查詢本地緩存數(shù)據(jù),如果上層應(yīng)用層需要的接口前期已被載入,則直接返回接口 ;否則,動態(tài)載入底層訪問模塊,初始化參數(shù),生成接口,緩存,最終向上層應(yīng)用層返回結(jié)果。2.—種基于如權(quán)利要求1所述的系統(tǒng)的方法,其特征是:包括以下步驟: (1)底層訪問模塊向動態(tài)調(diào)度模塊申請注冊自身,發(fā)送注冊信息; (2)動態(tài)調(diào)度模塊記錄底層模塊的注冊信息,并向上層應(yīng)用層公開查詢接口; (3)上層應(yīng)用層通過動態(tài)調(diào)度模塊公開的注冊列表查詢到調(diào)用入口,并向動態(tài)調(diào)度模塊發(fā)起查詢指令; (4)動態(tài)調(diào)度模塊根據(jù)上層應(yīng)用層發(fā)來的查詢指令,查詢本地緩存數(shù)據(jù),如果上層應(yīng)用層需要的接口前期已被載入,則直接返回接口 ;否則,動態(tài)載入底層訪問模塊,初始化參數(shù),生成接口,緩存,最終向上層應(yīng)用層返回結(jié)果。3.如權(quán)利要求2所述的方法,其特征是:所述步驟(I)中,每個底層訪問模塊都有一個全局唯一的編碼,向動態(tài)調(diào)度模塊注冊時,提供此編碼和描述文本,另外還提供底層訪問模塊所在的位置和類ID。4.如權(quán)利要求2所述的方法,其特征是:所述步驟(I)中,注冊信息包括視頻種類編碼、種類描述和模塊地址信息。5.如權(quán)利要求2所述的方法,其特征是:所述步驟(2)中,動態(tài)調(diào)度模塊響應(yīng)底層訪問模塊請求的注冊服務(wù),記錄下模塊的注冊信息,并將此信息維護成一個易于查詢的列表,并向上層應(yīng)用層公開查詢接口。6.如權(quán)利要求2所述的方法,其特征是:所述步驟(3)中,對于上層應(yīng)用層訪問代碼來說,它向動態(tài)調(diào)度模塊發(fā)送查詢命令,命令參數(shù)至少需要包含視頻種類的編碼,然后動態(tài)調(diào)度模塊會適配返回上層應(yīng)用層需要的接口。7.如權(quán)利要求2所述的方法,其特征是:所述步驟(4)中,具體步驟包括: (a)動態(tài)調(diào)度模塊根據(jù)視頻種類編碼查詢自身維護的列表; (b)如果在列表內(nèi)找到可供使用的底層接口,則像上層應(yīng)用層返回此接口; (C)否則,如果接口尚未創(chuàng)建,則動態(tài)載入調(diào)入底層訪問模塊,完成初始化,然后創(chuàng)建新接口,最終再向上層應(yīng)用層返回接口。
【專利摘要】本發(fā)明公開了一種動態(tài)擴展接入新種類視頻的系統(tǒng)及方法,本方法在上層應(yīng)用和中間抽象層之間增加一個動態(tài)擴展接入模塊,此模塊負(fù)責(zé)在上層應(yīng)用和中間抽象層之間動態(tài)調(diào)度接口,上層應(yīng)用只需向其發(fā)起查詢即可得到接口,無需自身再做適配。此種方式可有效減少上層應(yīng)用和中間抽象層之間的耦合,又可以為系統(tǒng)運行時瘦身,減輕運行時負(fù)擔(dān),提高運行效率。
【IPC分類】H04N7/18, G06F9/445
【公開號】CN105159711
【申請?zhí)枴緾N201510549100
【發(fā)明人】于少飛, 楊震威
【申請人】山東康威通信技術(shù)股份有限公司
【公開日】2015年12月16日
【申請日】2015年8月31日