專利名稱:高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法
技術(shù)領域:
本發(fā)明屬于仿真系統(tǒng)的數(shù)據(jù)處理技術(shù)領域,涉及一種高幀頻海量數(shù)據(jù)的實時通訊 控制與存儲方法。
背景技術(shù):
隨著光電對抗技術(shù)的不斷發(fā)展,告警手段和干擾源的不斷增加,開發(fā)高層次的光 電對抗仿真系統(tǒng)已勢在必行。由于全數(shù)字仿真需要以大量、可靠的技術(shù)與戰(zhàn)術(shù)參數(shù)為基礎, 鑒于目前國內(nèi)光電對抗的發(fā)展,在缺乏先進的實物受試對象的情況下,半實物仿真成為首 選,半實物仿真系統(tǒng)具有較強的靈活性,同時可為全數(shù)字光電對抗仿真系統(tǒng)發(fā)展提供數(shù)據(jù)。半實物仿真系統(tǒng)的主要功能及目的是用于對設備的鑒定,那么就需要對仿真過程 中邦員的狀態(tài)數(shù)據(jù)和邦員間各種交互行為數(shù)據(jù)進行及時完整的采集,以便于在仿真中或仿 真完成后為仿真參與者提供深入的關(guān)于仿真過程的各種信息,并根據(jù)這些數(shù)據(jù)結(jié)果對設備 進行分析、測試和評估等。為了保證在半實物仿真過程中對數(shù)據(jù)進行及時完整的采集,重點及難點就是要保 證仿真過程中實時數(shù)據(jù)通訊的正確性及可靠性,以及要保證實時數(shù)據(jù)能夠被及時的保存下 來。由于仿真過程中實時數(shù)據(jù)的通訊頻率極高,且數(shù)據(jù)量極大,想要突破這兩個難點非常困 難。因此,提供一種對高幀頻海量數(shù)據(jù)進行實時控制和實時存儲的方法勢在必行。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法,該方法使 用外時鐘和對幀加時間戳的方式,外時鐘統(tǒng)一下發(fā)時鐘信號,為仿真系統(tǒng)提供同步時鐘,對 幀加時間戳為幀數(shù)據(jù)編號排序;此外提出了使用多數(shù)據(jù)庫服務器與分布式緩沖區(qū)技術(shù)來實 現(xiàn)對實時數(shù)據(jù)的采集與存儲,多數(shù)據(jù)庫服務器共同處理數(shù)據(jù)用以防止單服務器出錯,影響 系統(tǒng)數(shù)據(jù)存儲的完整性,分布式緩沖區(qū)技術(shù)用于提高系統(tǒng)數(shù)據(jù)的存儲速率,解決數(shù)據(jù)庫寫 入速率的瓶頸問題。本發(fā)明的技術(shù)方案如下高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法,包括如下步驟步驟一、將HLA/RTI半實物仿真系統(tǒng)中的實體設備作為原型系統(tǒng)通過控制計算機 以聯(lián)邦成員的方式加入到仿真系統(tǒng)中,將仿真計算機、數(shù)據(jù)庫服務器等以普通聯(lián)邦成員的 方式加入到仿真系統(tǒng)中,普通聯(lián)邦成員之間通過RTI總線通訊,同時,將所有聯(lián)邦成員都接 入外時統(tǒng),啟動聯(lián)邦成員;步驟二、聯(lián)邦成員在接收到外時統(tǒng)發(fā)出的外部統(tǒng)一時鐘觸發(fā)信號后,對數(shù)據(jù)幀加 入時間戳字段,并通過RTI總線發(fā)送數(shù)據(jù)幀;步驟三、HLA判斷數(shù)據(jù)幀傳送過程是否超時,若沒有超時,則執(zhí)行步驟四;若數(shù)據(jù) 幀傳送過程超時,則進行出錯處理,對數(shù)據(jù)幀進行拋物插值補償后執(zhí)行步驟七;步驟四、HLA接收訂購的全部聯(lián)邦成員的數(shù)據(jù)幀;
步驟五、HLA判斷時間推進過程中,所接收到的聯(lián)邦成員數(shù)據(jù)幀的時間戳是否正 確;若每組數(shù)據(jù)幀的時間戳都正確,則執(zhí)行步驟六;若出現(xiàn)時間戳不正確的情況,則進行出 錯處理,對數(shù)據(jù)幀進行拋物插值補償后執(zhí)行步驟七;步驟六、仿真系統(tǒng)通過設置定時器,進行判斷定時時間內(nèi)是否收到訂購的全部聯(lián) 邦成員的數(shù)據(jù)幀;若已全部收到每個聯(lián)邦成員完整且正確的數(shù)據(jù)幀,則執(zhí)行步驟七;若收 到聯(lián)邦成員的數(shù)據(jù)幀的組數(shù)錯誤,則返回執(zhí)行步驟三;步驟七、HLA對數(shù)據(jù)幀進行仿真模型解算;步驟八、為數(shù)據(jù)庫服務器系統(tǒng)建立多個分布式緩沖區(qū),其個數(shù)大于所使用的服務 器個數(shù),并且分布式緩沖區(qū)的容量大于單個服務器寫磁盤緩沖區(qū)的容量,確立分布式存儲 使用的服務器數(shù)量;步驟九、構(gòu)建SWITCH中間件,利用SWITCH中間件隨機切換數(shù)據(jù)庫服務器,通過遍 歷當前活躍的服務器,從中選取處在空閑狀態(tài)的服務器,并將已經(jīng)寫滿的分布式緩沖區(qū)中 的數(shù)據(jù)存儲到該空閑服務器中;步驟十、由HLA判斷高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法是否結(jié)束;若未 結(jié)束,則返回執(zhí)行步驟一;若結(jié)束,則執(zhí)行聯(lián)邦成員退出聯(lián)邦的操作。本發(fā)明的有益效果是使用外時鐘和對幀加時間戳的方式,保證了實時數(shù)據(jù)通訊 的高頻率,同時也保證了數(shù)據(jù)通訊的高可靠性;使用多數(shù)據(jù)庫服務器與分布式緩沖區(qū)技術(shù) 實現(xiàn)對實時數(shù)據(jù)的采集與存儲,解決了數(shù)據(jù)庫管理系統(tǒng)對于數(shù)據(jù)存儲速率的瓶頸問題,保 證了數(shù)據(jù)的完整性,同時也為事后對數(shù)據(jù)進行分析、對設備進行測試和評估提供了一個良 好的操作和維護平臺。
圖1是本發(fā)明方法所應用的半實物仿真系統(tǒng)結(jié)構(gòu)示意圖。圖2是本發(fā)明高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法的流程圖。圖3是本發(fā)明的多數(shù)據(jù)庫服務器與分布式緩沖區(qū)存儲結(jié)構(gòu)示意圖。圖4是本發(fā)明的SWITCH中間件的工作流程圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明做進一步詳細說明。本發(fā)明高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法的實施環(huán)境為WindowsXP系 統(tǒng),程序?qū)崿F(xiàn)采用VC 6.0,數(shù)據(jù)庫使用Oracle。如圖1 所示,HLA/RTI (High Level Architecture/ 運行支撐環(huán)境 RTI 是 HLA 接口 規(guī)范的具體實現(xiàn))的半實物仿真系統(tǒng)中實體設備是作為原型系統(tǒng)通過控制計算機以聯(lián)邦 成員的方式加入到仿真系統(tǒng)中,仿真計算機、數(shù)據(jù)庫服務器等以普通聯(lián)邦成員的方式加入, 聯(lián)邦成員之間通訊都通過RTI軟總線完成,同時,設備和聯(lián)邦成員都接入統(tǒng)一的外部時鐘 信號,這樣就保證了仿真周期的統(tǒng)一,即保證了數(shù)據(jù)通訊周期的正確性。本發(fā)明高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法由以下步驟實現(xiàn)1)所有聯(lián)邦成員接收外部統(tǒng)一時鐘信號,在收到觸發(fā)信號后,發(fā)送數(shù)據(jù)幀,同時接 收其他聯(lián)邦成員的數(shù)據(jù)幀;
2)在數(shù)據(jù)幀中加入時間戳字段,通過判斷接收到數(shù)據(jù)幀時間戳,保證時間推進過 程中接收到正確的數(shù)據(jù)幀;3)系統(tǒng)推進過程中,設置定時器,如果在定時時間內(nèi)沒有全部收到訂購的其他聯(lián) 邦成員的數(shù)據(jù)幀,則進行出錯處理,采用拋物插值補償方法來進行仿真模型解算;4)為數(shù)據(jù)庫服務器系統(tǒng)建立多個分布式緩沖區(qū),要求緩沖區(qū)的個數(shù)要大于所使用 的服務器個數(shù),并且分布式緩沖區(qū)的容量要大于單個服務器寫磁盤緩沖區(qū)的容量;確立分 布式存儲使用的服務器數(shù)量;5)構(gòu)建SWITCH中間件,其主要功能是隨機切換數(shù)據(jù)庫服務器,通過遍歷當前活躍 的服務器,從中選取處在空閑狀態(tài)的服務器,并將已經(jīng)寫滿的分布式緩沖區(qū)中的數(shù)據(jù)存儲 到該服務器中。如圖2所示,本發(fā)明高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法的具體實施過程 如下步驟一、將HLA/RTI半實物仿真系統(tǒng)中的實體設備作為原型系統(tǒng)通過控制計算機 以聯(lián)邦成員的方式加入到仿真系統(tǒng)中,將仿真計算機、數(shù)據(jù)庫服務器等以普通聯(lián)邦成員的 方式加入到仿真系統(tǒng)中,普通聯(lián)邦成員之間通過RTI總線通訊,同時,將所有聯(lián)邦成員都接 入外時統(tǒng),啟動聯(lián)邦成員;步驟二、聯(lián)邦成員在接收到外時統(tǒng)發(fā)出的外部統(tǒng)一時鐘觸發(fā)信號后,對數(shù)據(jù)幀加 入時間戳字段,并通過RTI總線發(fā)送數(shù)據(jù)幀;步驟三、HLA判斷數(shù)據(jù)幀傳送過程是否超時,若沒有超時,則執(zhí)行步驟四;若數(shù)據(jù) 幀傳送過程超時,則進行出錯處理,對數(shù)據(jù)幀進行拋物插值補償后執(zhí)行步驟七,所述的拋 物插值補償法是,取前三幀數(shù)據(jù)作拋物插值,構(gòu)造插值函數(shù),求出當前幀的數(shù)據(jù)結(jié)果的近似 值;步驟四、HLA接收訂購的全部聯(lián)邦成員的數(shù)據(jù)幀;步驟五、HLA判斷時間推進過程中,所接收到的聯(lián)邦成員數(shù)據(jù)幀的時間戳是否正 確;若每組數(shù)據(jù)幀的時間戳都正確,則執(zhí)行步驟六;若出現(xiàn)時間戳不正確的情況,則進行出 錯處理,對數(shù)據(jù)幀進行拋物插值補償后執(zhí)行步驟七;步驟六、仿真系統(tǒng)通過設置定時器,定時的時間要小于一個仿真周期的時間,進行 判斷定時時間內(nèi)是否收到訂購的全部聯(lián)邦成員的數(shù)據(jù)幀;若已全部收到每個聯(lián)邦成員完整且正確的數(shù)據(jù)幀,則執(zhí)行步驟七;若收到聯(lián)邦成員的數(shù)據(jù)幀的組數(shù)錯誤,則返回執(zhí)行步驟 ---,步驟七、HLA對數(shù)據(jù)幀進行仿真模型解算;步驟八、為數(shù)據(jù)庫服務器系統(tǒng)建立多個分布式緩沖區(qū),其個數(shù)大于所使用的服務 器個數(shù),并且分布式緩沖區(qū)的容量大于單個服務器寫磁盤緩沖區(qū)的容量,確立分布式存儲 使用的服務器數(shù)量,一般小型半實物仿真系統(tǒng)使用兩臺即可,大型的半實物仿真系統(tǒng)則需 要三臺以上的服務器;步驟九、構(gòu)建SWITCH中間件,利用SWITCH中間件隨機切換數(shù)據(jù)庫服務器,通過遍 歷當前活躍的服務器,從中選取處在空閑狀態(tài)的服務器,并將已經(jīng)寫滿的分布式緩沖區(qū)中 的數(shù)據(jù)存儲到該空閑服務器中;步驟十、由HLA判斷高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法是否結(jié)束;若未結(jié)束,則返回執(zhí)行步驟一;若結(jié)束,則執(zhí)行聯(lián)邦成員退出聯(lián)邦的操作。多數(shù)據(jù)庫服務器與分布式緩沖區(qū)方法實際上是多臺數(shù)據(jù)庫服務器同時完成一個 存儲功能,提高數(shù)據(jù)存儲速率,并且任何一臺或者幾臺服務器出現(xiàn)故障,都不會影響整個存 儲過程的繼續(xù),保證了數(shù)據(jù)存儲的完整性和可靠性。該多數(shù)據(jù)庫服務器與分布式緩沖區(qū)方 法由SWITCH中間件實現(xiàn),具體步驟如下步驟A、SWITCH中間件為每個服務器設置一個時間戳,初始時設置為0,構(gòu)成一個 時間戳列表;步驟B、SWITCH中間件判斷是否出現(xiàn)某個緩沖區(qū)已滿,若不出現(xiàn),則重復執(zhí)行本步 驟,直到出現(xiàn)某個緩沖區(qū)已滿;若出現(xiàn)某個緩沖區(qū)已滿,則執(zhí)行步驟C ;步驟C、SWITCH中間件遍歷步驟A所述的時間戳列表,從中尋找一個最小值,并將 當前系統(tǒng)時間賦值給該時間戳;步驟D、SWITCH中間件與步驟C所述時間戳相對應的服務器建立連接;步驟E、SWITCH中間件判斷步驟D所述的與服務器建立連接是否成功,若不成功, 則從時間戳列表中刪除步驟D所述的時間戳以及與該時間戳相對應的服務器,返回步驟C ; 若成功,則執(zhí)行步驟F;步驟F、將緩沖區(qū)中的數(shù)據(jù)存儲到步驟E所述連接成功的服務器中,并將緩沖區(qū)清 零;步驟G、SWITCH中間件判斷存儲過程是否結(jié)束,若不結(jié)束,則返回執(zhí)行步驟B;若結(jié) 束,則存儲過程終止。本發(fā)明采用外時鐘和對數(shù)據(jù)幀加時間戳的方式,保證了實時數(shù)據(jù)通訊的高頻率, 同時也保證了數(shù)據(jù)通訊的高可靠性;使用多數(shù)據(jù)庫服務器與分布式緩沖區(qū)技術(shù)實現(xiàn)對實時 數(shù)據(jù)的采集與存儲,解決了數(shù)據(jù)庫管理系統(tǒng)對于數(shù)據(jù)存儲速率的瓶頸問題,保證了數(shù)據(jù)的 完整性,同時也為事后對數(shù)據(jù)進行分析、對設備進行測試和評估提供了一個良好的操作和 維護平臺。
權(quán)利要求
1.高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法,其特征在于,該方法包括如下步驟 步驟一、將HLA/RTI半實物仿真系統(tǒng)中的實體設備作為原型系統(tǒng)通過控制計算機以聯(lián)邦成員的方式加入到仿真系統(tǒng)中,將仿真計算機、數(shù)據(jù)庫服務器等以普通聯(lián)邦成員的方式 加入到仿真系統(tǒng)中,普通聯(lián)邦成員之間通過RTI總線通訊,同時,將所有聯(lián)邦成員都接入外 時統(tǒng),啟動聯(lián)邦成員;步驟二、聯(lián)邦成員在接收到外時統(tǒng)發(fā)出的外部統(tǒng)一時鐘觸發(fā)信號后,對數(shù)據(jù)幀加入時 間戳字段,并通過RTI總線發(fā)送數(shù)據(jù)幀;步驟三、HLA判斷數(shù)據(jù)幀傳送過程是否超時,若沒有超時,則執(zhí)行步驟四;若數(shù)據(jù)幀傳 送過程超時,則進行出錯處理,對數(shù)據(jù)幀進行拋物插值補償后執(zhí)行步驟七; 步驟四、HLA接收訂購的全部聯(lián)邦成員的數(shù)據(jù)幀;步驟五、HLA判斷時間推進過程中,所接收到的聯(lián)邦成員數(shù)據(jù)幀的時間戳是否正確;若 每組數(shù)據(jù)幀的時間戳都正確,則執(zhí)行步驟六;若出現(xiàn)時間戳不正確的情況,則進行出錯處 理,對數(shù)據(jù)幀進行拋物插值補償后執(zhí)行步驟七;步驟六、仿真系統(tǒng)通過設置定時器,進行判斷定時時間內(nèi)是否收到訂購的全部聯(lián)邦成 員的數(shù)據(jù)幀;若已全部收到每個聯(lián)邦成員完整且正確的數(shù)據(jù)幀,則執(zhí)行步驟七;若收到聯(lián) 邦成員的數(shù)據(jù)幀的組數(shù)錯誤,則返回執(zhí)行步驟三; 步驟七、HLA對數(shù)據(jù)幀進行仿真模型解算;步驟八、為數(shù)據(jù)庫服務器系統(tǒng)建立多個分布式緩沖區(qū),其個數(shù)大于所使用的服務器個 數(shù),并且分布式緩沖區(qū)的容量大于單個服務器寫磁盤緩沖區(qū)的容量,確立分布式存儲使用 的服務器數(shù)量;步驟九、構(gòu)建SWITCH中間件,利用SWITCH中間件隨機切換數(shù)據(jù)庫服務器,通過遍歷當 前活躍的服務器,從中選取處在空閑狀態(tài)的服務器,并將已經(jīng)寫滿的分布式緩沖區(qū)中的數(shù) 據(jù)存儲到該空閑服務器中;步驟十、由HLA判斷高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法是否結(jié)束;若未結(jié)束, 則返回執(zhí)行步驟一;若結(jié)束,則執(zhí)行聯(lián)邦成員退出聯(lián)邦的操作。
2.如權(quán)利要求1所述的高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法,其特征在于,步 驟六所述的定時時間小于仿真系統(tǒng)的一個仿真周期的時間。
3.如權(quán)利要求1所述的高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法,其特征在于,所 述步驟九由以下步驟實現(xiàn)步驟A、SWITCH中間件為每個服務器設置一個時間戳,初始時設置為0,構(gòu)成一個時間 戳列表;步驟B、SWITCH中間件判斷是否出現(xiàn)某個緩沖區(qū)已滿,若不出現(xiàn),則重復執(zhí)行本步驟, 直到出現(xiàn)某個緩沖區(qū)已滿;若出現(xiàn)某個緩沖區(qū)已滿,則執(zhí)行步驟C ;步驟C、SWITCH中間件遍歷步驟A所述的時間戳列表,從中尋找一個最小值,并將當前 系統(tǒng)時間賦值給該時間戳;步驟D、SWITCH中間件與步驟C所述時間戳相對應的服務器建立連接; 步驟E、SWITCH中間件判斷步驟D所述的與服務器建立連接是否成功,若不成功,則從 時間戳列表中刪除步驟D所述的時間戳以及與該時間戳相對應的服務器,返回步驟C ;若成 功,則執(zhí)行步驟F;步驟F、將緩沖區(qū)中的數(shù)據(jù)存儲到步驟E所述連接成功的服務器中,并將緩沖區(qū)清零; 步驟G、SWITCH中間件判斷存儲過程是否結(jié)束,若不結(jié)束,則返回執(zhí)行步驟B ;若結(jié)束, 則存儲過程終止。
全文摘要
高幀頻海量數(shù)據(jù)的實時通訊控制與存儲方法屬于半實物仿真系統(tǒng)數(shù)據(jù)處理技術(shù)領域,該方法使所有聯(lián)邦成員接收外部統(tǒng)一時鐘信號,并在數(shù)據(jù)幀中加入時間戳保證時間推進過程中接收到正確的數(shù)據(jù)幀;同時為數(shù)據(jù)庫服務器系統(tǒng)建立多個分布式緩沖區(qū),構(gòu)建SWITCH中間件,實現(xiàn)隨機切換數(shù)據(jù)庫服務器,保證高幀頻海量數(shù)據(jù)的實時存儲。本發(fā)明的方法既保證了實時數(shù)據(jù)通訊的高頻率和高可靠性,又實現(xiàn)了對實時數(shù)據(jù)的采集與存儲,保證了數(shù)據(jù)的完整性;同時也為事后對數(shù)據(jù)進行分析、對設備進行測試和評估提供了一個良好的操作和維護平臺。
文檔編號H04L29/06GK102065090SQ201010613609
公開日2011年5月18日 申請日期2010年12月30日 優(yōu)先權(quán)日2010年12月30日
發(fā)明者于國權(quán), 于洋, 崔爽, 李姜, 李巖, 楊詞銀, 王建軍, 王思雯, 路明 申請人:中國科學院長春光學精密機械與物理研究所