專利名稱::基于網(wǎng)格的分布仿真平臺數(shù)據(jù)收集系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于計算機系統(tǒng)結(jié)構(gòu)領(lǐng)域的分布式仿真技術(shù),具體涉及一種基于網(wǎng)格的分布仿真平臺數(shù)據(jù)收集系統(tǒng),該系統(tǒng)構(gòu)建在網(wǎng)格之上的HLA(HighLevelArchitecture,高層體系結(jié)構(gòu))分布式仿真平臺,并針對該系統(tǒng)平臺進行數(shù)據(jù)收集。
背景技術(shù):
:計算機仿真是指用計算機程序來模擬現(xiàn)實世界或虛擬世界的一門綜合性技術(shù)。在不斷增長的經(jīng)濟、軍事需求的推動下,建模及仿真技術(shù)得到了迅猛發(fā)展,逐漸成為繼理論研究和實驗研究之后人類又一個認知和重建客觀世界的工具。然而隨著仿真應(yīng)用的拓展和深入,出現(xiàn)了越來越多的單機仿真系統(tǒng)所不能解決的問題,于是人們將研究重點放在分布式仿真系統(tǒng)上。HLA是美國國防部1995年發(fā)布的建模與仿真技術(shù)框架。該框架已經(jīng)成為大規(guī)模復(fù)雜分布式仿真的一種標準支撐框架。HLA分離了仿真程序邏輯和底層通信機制,簡化了仿真應(yīng)用之間的互操作,提高了仿真模型的可重用性。然而隨著HLA分布仿真應(yīng)用的進一步深化,大規(guī)模、細粒度、長時間的分布仿真對系統(tǒng)的計算能力、可靠性、容錯性的要求越來越高。單純基于HLA架構(gòu)的仿真系統(tǒng)存在計算資源利用率低下、容錯能力不足的問題,并缺乏動態(tài)負載平衡能力、海量數(shù)據(jù)難以存儲和有效處理、仿真應(yīng)用部署繁瑣、仿真應(yīng)用間協(xié)作和互操作機制缺乏等問題。這些問題已成為制約仿真準確、大規(guī)模、高效地完成的瓶頸,成為仿真向"網(wǎng)絡(luò)化、虛擬化、智能化、協(xié)同化、普適化"為特征的現(xiàn)代化方向發(fā)展的障礙。由于網(wǎng)格能將分布在不同地理位置的資源集成起來,為各種應(yīng)用提供一種充分共享、無縫融合的資源使用環(huán)境。因此,基于網(wǎng)格的分布式仿真成為解決以上問題的主要途徑之一。仿真系統(tǒng)運行過程中的數(shù)據(jù)收集是分布式仿真研究的重要內(nèi)容,只有通過數(shù)據(jù)收集才可以實現(xiàn)回放、分析、評價等仿真目的。但是隨著越來越多的大規(guī)模、多聯(lián)邦的仿真系統(tǒng)的出現(xiàn),巨大的數(shù)據(jù)量以及數(shù)據(jù)的多樣性和復(fù)雜性使得數(shù)據(jù)收集工作也越來越困難。從某種意義上說,數(shù)據(jù)收集系統(tǒng)的性能已經(jīng)直接影響到整個仿真系統(tǒng)的性能,制約著其規(guī)模的進一步擴展。但是,目前國內(nèi)外關(guān)于仿真網(wǎng)格的研究主要集中于如何通過網(wǎng)格技術(shù)解決仿真資源的共享與重用、協(xié)同互操作、動態(tài)優(yōu)化調(diào)度運行,還沒有進行對仿真網(wǎng)格中數(shù)據(jù)收集的研究和實現(xiàn)。因此,研究如何利用網(wǎng)格體系結(jié)構(gòu)所具有的分布性、標準性、開放性和高可擴展性等特點提高分布式仿真數(shù)據(jù)收集能力,在仿真網(wǎng)格上實現(xiàn)高效靈活的數(shù)據(jù)收集系統(tǒng)成為一項重要而急待解決的課題。
發(fā)明內(nèi)容本發(fā)明的目的提供一種基于網(wǎng)格的分布仿真平臺數(shù)據(jù)收集系統(tǒng),該系統(tǒng)可以提高分布式仿真數(shù)據(jù)收集能力,在仿真網(wǎng)格上進行高效靈活的數(shù)據(jù)收集。本發(fā)明提供的基于網(wǎng)格的分布仿真平臺數(shù)據(jù)收集系統(tǒng),其特征在于該系統(tǒng)包括仿真應(yīng)用端、仿真數(shù)據(jù)收集服務(wù)端和仿真數(shù)據(jù)收集客戶端,各仿真應(yīng)用端內(nèi)均設(shè)置有數(shù)據(jù)傳輸模塊,仿真數(shù)據(jù)收集服務(wù)端內(nèi)設(shè)置有記錄管理服務(wù)模塊、回放服務(wù)模塊和記錄服務(wù)模塊;仿真數(shù)據(jù)收集客戶端內(nèi)分別設(shè)置有仿真數(shù)據(jù)査詢和顯示模塊和仿真過程回放控制模塊,其中,i為仿真聯(lián)邦成員的個數(shù),j為網(wǎng)格節(jié)點的個數(shù),k為客戶端的個數(shù);數(shù)據(jù)傳輸模塊用于在仿真聯(lián)邦成員開始運行時向記錄管理服務(wù)模塊申請記錄資源容器,并保存包括仿真聯(lián)邦中各個聯(lián)邦成員調(diào)用運行時支撐框架服務(wù)時提供的仿真數(shù)據(jù)和時間信息,在仿真推進時將這些仿真數(shù)據(jù)和時間信息傳遞到記錄管理服務(wù)模塊給當前聯(lián)邦成員所分配的記錄服務(wù)模塊;記錄服務(wù)模塊均包含有一個記錄服務(wù)管理器和多個記錄資源容器,其中,記錄資源容器用于保存仿真數(shù)據(jù),記錄服務(wù)管理器提供了以仿真時間為索引保存聯(lián)邦成員的仿真數(shù)據(jù)的接口和按仿真時間對記錄的仿真數(shù)據(jù)進行查詢的接口;當數(shù)據(jù)傳輸模塊調(diào)用記錄服務(wù)管理器來保存仿真數(shù)據(jù)時,記錄服務(wù)管理器將從各數(shù)據(jù)傳輸模塊接收到的仿真數(shù)據(jù)以仿真時間為索引保存在記錄資源容器中;當回放服務(wù)模塊和仿真數(shù)據(jù)査詢和顯示模塊需要讀取仿真數(shù)據(jù)時,先從記錄管理服務(wù)模塊獲得要讀取的記錄服務(wù)資源句柄,然后從相應(yīng)的記錄服務(wù)管理器把記錄資源容器里保存的仿真數(shù)據(jù)按時間順序讀取出來;記錄管理服務(wù)模塊用于分配、管理和查詢記錄服務(wù)資源,當數(shù)據(jù)傳輸模塊向記錄管理服務(wù)模塊請求記錄資源容器時,記錄管理服務(wù)模塊從其記錄服務(wù)資源池中分配一個記錄服務(wù)資源給數(shù)據(jù)傳輸模塊;當回放服務(wù)模塊和仿真數(shù)據(jù)查詢和顯示模塊根據(jù)用戶的請求需要讀取仿真資源時,記錄管理服務(wù)模塊返回對應(yīng)的記錄服務(wù)資源句柄;回放服務(wù)模塊根據(jù)仿真過程回放控制模塊指定的回放聯(lián)邦成員,向記錄管理服務(wù)模塊查詢出需要回放的聯(lián)邦成員的記錄服務(wù)資源句柄,然后根據(jù)該記錄服務(wù)資源句柄,定時從記錄資源中讀取出仿真數(shù)據(jù),進行仿真過程的回放;仿真數(shù)據(jù)査詢和顯示模塊根據(jù)用戶請求,從記錄服務(wù)模塊中讀取出需要的仿真數(shù)據(jù),解析得到的仿真數(shù)據(jù),并以圖形形式提供給用戶,并向用戶提供查詢并顯示仿真數(shù)據(jù)的功能;仿真過程回放控制模塊根據(jù)用戶的請求,通過調(diào)用回放服務(wù)模塊,實現(xiàn)對仿真回放的控制。本發(fā)明針對當前仿真網(wǎng)格上高效靈活的數(shù)據(jù)收集需求,結(jié)合網(wǎng)格應(yīng)用的數(shù)據(jù)收集系統(tǒng),提出了以仿真應(yīng)用端、數(shù)據(jù)收集服務(wù)端、數(shù)據(jù)收集客戶端為基礎(chǔ)模塊。本發(fā)明主要有如下特點-(1)不千擾仿真的正常運行本發(fā)明的數(shù)據(jù)收集操作與控制操作盡可能少地使用網(wǎng)絡(luò)流量及主機的處理能力,即本發(fā)明所使用的網(wǎng)絡(luò)資源和計算資源少;(2)數(shù)據(jù)收集方案的可擴展性;(3)保證HLA體系結(jié)構(gòu)的開放性、靈活性和可擴展性;(4)具備聯(lián)邦成員獨立性本發(fā)明對聯(lián)邦成員透明,聯(lián)邦成員不需額外的配置,也不需要執(zhí)行除仿真之外的其他任務(wù);(5)具備聯(lián)邦獨立性本發(fā)明以較好的方式封裝,整個框架能共享通用的接口、數(shù)據(jù)格式、核心處理模塊,不必作大的修改就可以用于不同的聯(lián)邦。圖1為數(shù)據(jù)收集系統(tǒng)的總體結(jié)構(gòu)示意圖-,圖2為數(shù)據(jù)傳輸模塊的結(jié)構(gòu)示意圖;圖3為數(shù)據(jù)記錄階段工作流程示意圖;圖4為數(shù)據(jù)回放階段工作流程示意圖。具體實施方式本系統(tǒng)運行在網(wǎng)格平臺之上,對硬件環(huán)境沒有特殊要求。下面結(jié)合附圖對本發(fā)明作進一步詳細的說明。如圖l所示,本發(fā)明數(shù)據(jù)收集系統(tǒng)包括仿真應(yīng)用端l.ll.i、仿真數(shù)據(jù)收集服務(wù)端2和仿真數(shù)據(jù)收集客戶端3.13上,仿真應(yīng)用端l.ll.i內(nèi)設(shè)置有數(shù)據(jù)傳輸模塊4.14,i,仿真數(shù)據(jù)收集服務(wù)端2內(nèi)設(shè)置有記錄管理服務(wù)模塊5、回放服務(wù)模塊6和記錄服務(wù)模塊7.17.j;仿真數(shù)據(jù)收集客戶端3.13上內(nèi)分別設(shè)置有仿真數(shù)據(jù)査詢和顯示模塊8.18丄和仿真過程回放控制模塊9.19.k,其中,i為仿真聯(lián)邦成員的個數(shù),j為網(wǎng)格節(jié)點的個數(shù),k為客戶端的個數(shù),i、j、k均為正整數(shù)。為敘述方便,下文將數(shù)據(jù)傳輸模塊4.14.i統(tǒng)稱為數(shù)據(jù)傳輸模塊4。如圖2所示,每個數(shù)據(jù)傳輸模塊4均包括傳感模塊4A、數(shù)據(jù)緩存4B和數(shù)據(jù)記錄接口4C。傳感模塊4A是在運行時支撐框架(RTI)內(nèi)部實現(xiàn)的。RTI是實現(xiàn)HLA標準中接口規(guī)范的軟件,為仿真執(zhí)行提供通用的服務(wù)。當一個仿真聯(lián)邦成員開始運行時,傳感模塊4A首先向記錄管理服務(wù)模塊5申請一個記錄資源容器。每個記錄資源容器相當于一個仿真數(shù)據(jù)記錄器,可以保存需要收集的仿真數(shù)據(jù)。這些需要收集的數(shù)據(jù)包括仿真聯(lián)邦中各個聯(lián)邦成員調(diào)用RTI服務(wù)時提供的仿真數(shù)據(jù)和時間信息。每當聯(lián)邦成員調(diào)用了某個RTI服務(wù)時,傳感模塊就把這些需要收集的仿真數(shù)據(jù)和時間信息透明地保存在本地的數(shù)據(jù)緩存4B中。數(shù)據(jù)記錄接口4C在仿真推進時從本地數(shù)據(jù)緩存4B中讀出保存的仿真數(shù)據(jù)和時間信息,并按照仿真數(shù)據(jù)產(chǎn)生的時間先后順序,將這些仿真數(shù)據(jù)和時間信息傳遞到記錄管理服務(wù)模塊5給當前聯(lián)邦成員所分配的記錄服務(wù)模塊7.17.j。記錄服務(wù)模塊7.17.j的作用是保存和讀取仿真數(shù)據(jù)。每個記錄服務(wù)模塊7.17j中都包含有一個記錄服務(wù)管理器和一定個數(shù)的記錄資源容器。記錄資源容器的個數(shù)是在啟動系統(tǒng)之前由系統(tǒng)管理員配置的,其作用是保存仿真數(shù)據(jù)。記錄服務(wù)管理器提供了以仿真時間為索引保存聯(lián)邦成員的仿真數(shù)據(jù)和按仿真時間對記錄的仿真數(shù)據(jù)進行查詢這兩個接口。當數(shù)據(jù)記錄接口4C調(diào)用記錄服務(wù)管理器來保存仿真數(shù)據(jù)時,記錄服務(wù)管理器把從數(shù)據(jù)傳輸模塊4.14.i接收到的仿真數(shù)據(jù)以仿真時間為索引保存在記錄資源容器中。當回放服務(wù)模塊6和仿真數(shù)據(jù)査詢和顯示模塊8.18.k需要讀取仿真數(shù)據(jù)時,先從記錄管理服務(wù)模塊5獲得要讀取的記錄服務(wù)資源句柄,然后從相應(yīng)的記錄服務(wù)管理器把記錄資源容器里保存的仿真數(shù)據(jù)按時間順序讀取出來。記錄管理服務(wù)模塊5用于分配、管理和査詢記錄服務(wù)資源。記錄服務(wù)資源是個抽象概念,它實際上由一對記錄服務(wù)管理器和記錄資源容器組成。記錄服務(wù)資源池是可用的記錄服務(wù)資源的一個集合。記錄管理服務(wù)模塊5負責管理這些記錄服務(wù)資源,并每隔一段時間對這些記錄服務(wù)資源進行檢測。對于己經(jīng)出現(xiàn)故障的記錄服務(wù)資源,將其從記錄服務(wù)資源池中刪除。如果記錄服務(wù)資源使用完畢,則由記錄管理服務(wù)模塊5對其進行回收,以便下次使用。記錄管理服務(wù)模塊5對網(wǎng)格節(jié)點的負載進行判斷,如果某個網(wǎng)格節(jié)點的CPU利用率小于預(yù)定的閥值(如60%),則生成新的記錄服務(wù)資源,并將其加入記錄服務(wù)資源池中。當傳感模塊4A向記錄管理服務(wù)模塊5請求記錄資源容器時,記錄管理服務(wù)模塊5從其記錄服務(wù)資源池中分配一個記錄服務(wù)資源給對應(yīng)的數(shù)據(jù)記錄接口4C。當回放服務(wù)模塊6和仿真數(shù)據(jù)查詢和顯示模塊8.18.k根據(jù)用戶的請求需要讀取仿真資源時,記錄管理服務(wù)模塊5把對應(yīng)的記錄服務(wù)資源句柄返回過去?;胤欧?wù)模塊6根據(jù)仿真過程回放控制模塊9.19.k指定的回放聯(lián)邦成員進行仿真的回放。首先,回放服務(wù)模塊6向記錄管理服務(wù)模塊5査詢出需要回放的聯(lián)邦成員的記錄服務(wù)資源句柄。然后根據(jù)這個記錄服務(wù)資源句柄,定時從記錄資源中讀取出仿真數(shù)據(jù),通過解析這些數(shù)據(jù)來調(diào)用相應(yīng)的RTI服務(wù)完成仿真操作。為了提高并行處理能力,回放服務(wù)模塊6采用了多線程技術(shù)。主線程在創(chuàng)建回放聯(lián)邦成員時啟動,主要負責根據(jù)從記錄資源中讀取的仿真數(shù)據(jù)調(diào)用相關(guān)RTI服務(wù)。仿真用戶可以通過仿真過程回放控制模塊9.19.k控制回放聯(lián)邦成員的主線程。當仿真可以向前推進時,RTI會對回放聯(lián)邦成員進行回調(diào)?;卣{(diào)接收線程在RTI每次回調(diào)回放聯(lián)邦成員時啟動,用于處理RTI對回放聯(lián)邦成員的回調(diào)。仿真數(shù)據(jù)查詢和顯示模塊8.18.k用于向用戶提供友好的圖形人機界面,協(xié)助用戶管理仿真數(shù)據(jù)記錄資源。仿真數(shù)據(jù)查詢和顯示模塊8.18.k根據(jù)用戶請求,從記錄服務(wù)模塊7.17.j中讀取出需要的仿真數(shù)據(jù),解析得到的仿真數(shù)據(jù),并以圖形形式向用戶展現(xiàn)。仿真數(shù)據(jù)查詢和顯示模塊8.18.k還向用戶提供查詢并顯示仿真數(shù)據(jù)的功能。仿真過程回放控制模塊9.19.k是用于控制仿真過程回放的客戶端。仿真過程回放控制模塊9.191根據(jù)用戶的請求,通過調(diào)用回放服務(wù)模塊6,實現(xiàn)對仿真回放的控制,包括自動回放、回放暫停、單步回放等。本系統(tǒng)的工作流程主要分為仿真數(shù)據(jù)記錄和仿真過程回放兩個階段。下面分別描述這兩個階段的工作流程。階段一數(shù)據(jù)收集系統(tǒng)數(shù)據(jù)記錄階段工作流程如圖4所示,分為如下幾個步驟(A.l)用戶通過數(shù)據(jù)收集客戶端輸入?yún)?shù),包括要記錄的聯(lián)邦名、聯(lián)邦成員名和要使用的數(shù)據(jù)記錄資源,數(shù)據(jù)收集客戶端將參數(shù)發(fā)送到數(shù)據(jù)收集服務(wù)端;(A.2)數(shù)據(jù)收集服務(wù)端的數(shù)據(jù)記錄管理服務(wù)響應(yīng)數(shù)據(jù)收集客戶端的服務(wù)請求,按要求分配相應(yīng)的數(shù)據(jù)記錄資源;(A.3)數(shù)據(jù)收集客戶端向分配的數(shù)據(jù)記錄資源注冊;(A.4)仿真應(yīng)用端的仿真程序啟動,RTI以聯(lián)邦名和聯(lián)邦成員名為關(guān)鍵字向數(shù)據(jù)收集服務(wù)端的數(shù)據(jù)記錄管理服務(wù)査詢相關(guān)數(shù)據(jù)記錄資源;(A.5)數(shù)據(jù)收集服務(wù)端的數(shù)據(jù)記錄管理服務(wù)將査詢到的可用數(shù)據(jù)記錄資源返回仿真應(yīng)用端的RTI。(A.6)仿真應(yīng)用端的RTI向數(shù)據(jù)收集服務(wù)端的數(shù)據(jù)記錄資源發(fā)送要記錄的仿真數(shù)據(jù)。(A.7)數(shù)據(jù)收集服務(wù)端的數(shù)據(jù)記錄資源向數(shù)據(jù)收集客戶端通知記錄的仿真數(shù)據(jù)o(A.8)檢査仿真應(yīng)用是否結(jié)束,未結(jié)束則返回步驟A.6繼續(xù)執(zhí)行。若結(jié)束則系統(tǒng)數(shù)據(jù)記錄階段完成。階段二仿真過程回放階段,其工作流程如圖5所示,分為以下幾個步驟(B.l)仿真用戶通過客戶端打開數(shù)據(jù)回放服務(wù),并設(shè)置仿真環(huán)境;(B.2)數(shù)據(jù)回放服務(wù)以聯(lián)邦名和聯(lián)邦成員名為關(guān)鍵字向仿真數(shù)據(jù)記錄管理服務(wù)查詢相關(guān)仿真數(shù)據(jù)記錄資源;(B.3)數(shù)據(jù)回放服務(wù)從仿真數(shù)據(jù)記錄資源獲得仿真聯(lián)邦成員初始化信息;(B.4)數(shù)據(jù)回放服務(wù)利用仿真聯(lián)邦成員初始化信息初始化聯(lián)邦成員,包括創(chuàng)建并加入聯(lián)邦執(zhí)行、公布聲明和定購關(guān)系、確定聯(lián)邦成員的時間推進策略、注冊對象實例等;(B.5)數(shù)據(jù)回放服務(wù)從仿真數(shù)據(jù)記錄資源獲得仿真聯(lián)邦成員運行信息,如仿真聯(lián)邦成員運行信息請求推進時間,仿真聯(lián)邦成員運行信息調(diào)用RTI服務(wù)進行仿真對象屬性更新,所有權(quán)轉(zhuǎn)移等操作。(B.6)判斷仿真結(jié)束條件是否滿足,是則跳轉(zhuǎn)到(B.7),否則跳轉(zhuǎn)到(B.5);(B.7)數(shù)據(jù)回放服務(wù)退出并銷毀聯(lián)邦執(zhí)行。系統(tǒng)數(shù)據(jù)回放階段完成。下面舉例說明本系統(tǒng)實施過程中的配置情況整個數(shù)據(jù)收集系統(tǒng)部署在四臺機器上,各機器的具體情況如表5.1和表5.2所示。由于Node2和Node3上需要部署網(wǎng)格服務(wù),因此必須安裝CGSP2.1container;由于Nodel上需要部署基于網(wǎng)格的分布式仿真平臺的Portal,因此必須安裝ApacheTomcat,推薦版本為5.5。表5.1系統(tǒng)測試的軟件部署<table>tableseeoriginaldocumentpage11</column></row><table>表5.2系統(tǒng)測試的硬件環(huán)境<table>tableseeoriginaldocumentpage11</column></row><table>該系統(tǒng)基于網(wǎng)格技術(shù)提供了仿真聯(lián)邦數(shù)據(jù)記錄、仿真聯(lián)邦數(shù)據(jù)查詢、仿真聯(lián)邦結(jié)果回放等服務(wù)組件。系統(tǒng)的總體結(jié)構(gòu)圖如圖1所示,整個系統(tǒng)分為下面幾個部分仿真應(yīng)用端、數(shù)據(jù)收集服務(wù)端、數(shù)據(jù)收集客戶端。1.仿真應(yīng)用端仿真應(yīng)用端由仿真聯(lián)邦和運行時支撐環(huán)境(RunTimeInfrastructure,RTI)組成,其中仿真聯(lián)邦是由仿真應(yīng)用開發(fā)者提供的用于實現(xiàn)特定目的的仿真程序;RTI是實現(xiàn)HLA標準中接口規(guī)范的仿真平臺軟件,為仿真執(zhí)行提供通用的服務(wù)。數(shù)據(jù)收集的對象就是仿真聯(lián)邦中各個聯(lián)邦成員調(diào)用RTI服務(wù)時提供的數(shù)據(jù)和時間信息。為了使整個數(shù)據(jù)收集過程獨立于聯(lián)邦成員,本系統(tǒng)改寫了RTI的實現(xiàn),在其中加入將數(shù)據(jù)和時間信息傳向數(shù)據(jù)收集網(wǎng)格服務(wù)的功能。這樣每當聯(lián)邦成員調(diào)用RTI,RTI就將這些信息透明地保存,并在適當?shù)臅r候(比如請求時間推進時)將信息傳向數(shù)據(jù)收集服務(wù)端。2.數(shù)據(jù)收集服務(wù)端數(shù)據(jù)收集服務(wù)端向仿真應(yīng)用端的RTI和數(shù)據(jù)收集客戶端提供了一系列處理仿真數(shù)據(jù)信息的網(wǎng)格服務(wù),包括仿真數(shù)據(jù)記錄管理服務(wù)、仿真數(shù)據(jù)記錄服務(wù)、仿真過程回放服務(wù)等。仿真應(yīng)用端的RTI使用這些服務(wù)保存先前記錄下來的仿真數(shù)據(jù),數(shù)據(jù)收集客戶端使用這些服務(wù)來顯示、查詢仿真數(shù)據(jù),并控制仿真程序回放過程。3.數(shù)據(jù)收集客戶端數(shù)據(jù)收集客戶端是提供給用戶觀看和控制仿真數(shù)據(jù)收集過程的應(yīng)用程序和Web程序。它以統(tǒng)一直觀的形式向用戶展現(xiàn)整個仿真聯(lián)邦范圍內(nèi)的數(shù)據(jù)信息,用戶可以在仿真程序運行中查看這些信息,也可以在仿真程序運行后利用這些信息進行回放和事后分析。為了提高系統(tǒng)性能,數(shù)據(jù)收集系統(tǒng)采用記錄服務(wù)資源池技術(shù)動態(tài)分配和管理記錄服務(wù)資源,因此降低了仿真應(yīng)用運行前后的開銷,提高了系統(tǒng)的響應(yīng)速度,使整個系統(tǒng)具有高度的可擴展性;并采用雙緩沖技術(shù)優(yōu)化回放聯(lián)邦成員的執(zhí)行效率。數(shù)據(jù)收集系統(tǒng)的運行過程可以分為數(shù)據(jù)記錄階段和仿真聯(lián)邦回放階段,下面分別說明這兩個階段的工作流程A.數(shù)據(jù)記錄階段工作流程首先,管理服務(wù)根據(jù)需要動態(tài)生成記錄服務(wù)資源,并將生成的記錄服務(wù)資源加入記錄服務(wù)資源池中;接著,仿真用戶通過仿真網(wǎng)格門戶創(chuàng)建仿真聯(lián)邦,為聯(lián)邦內(nèi)的成員分配記錄服務(wù)資源,并向該記錄服務(wù)資源訂閱包含實時仿真數(shù)據(jù)信息的通知;然后,聯(lián)邦成員在調(diào)用RTI某個服務(wù)時,RTI就將傳入的仿真數(shù)據(jù)和時間信息透明地保存在本地的數(shù)據(jù)緩存中,并在請求時間推進時將其裝入仿真數(shù)據(jù)包中傳向記錄服務(wù)資源;最后,記錄服務(wù)資源一旦收到來自RTI的仿真數(shù)據(jù)包就將解析并重新包裝成含有實時仿真數(shù)據(jù)信息的通知發(fā)送到數(shù)據(jù)收集客戶端,仿真用戶也可以使用數(shù)據(jù)收集客戶端查詢感興趣仿真數(shù)據(jù)信息。B.數(shù)據(jù)回放階段工作流程首先,仿真用戶通過仿真網(wǎng)格門戶生成若干個回放服務(wù)資源,并建立由這些回放服務(wù)資源組成的仿真過程回放聯(lián)邦;接著,仿真用戶通過仿真網(wǎng)格門戶輸入仿真聯(lián)邦需要的各種參數(shù)并開始仿真回放過程;然后,仿真用戶通過仿真網(wǎng)格門戶控制仿真回放過程,包括暫停仿真回放過程,改變仿真回放模式等。權(quán)利要求1、一種基于網(wǎng)格的分布仿真平臺數(shù)據(jù)收集系統(tǒng),其特征在于該系統(tǒng)包括仿真應(yīng)用端(1.1~1.i)、仿真數(shù)據(jù)收集服務(wù)端(2)和仿真數(shù)據(jù)收集客戶端(3.1~3.k),各仿真應(yīng)用端(1.1~1.i)內(nèi)均設(shè)置有數(shù)據(jù)傳輸模塊(4),仿真數(shù)據(jù)收集服務(wù)端(2)內(nèi)設(shè)置有記錄管理服務(wù)模塊(5)、回放服務(wù)模塊(6)和記錄服務(wù)模塊(7.1~7.j);仿真數(shù)據(jù)收集客戶端(3.1~3.k)內(nèi)分別設(shè)置有仿真數(shù)據(jù)查詢和顯示模塊(8.1~8.k)和仿真過程回放控制模塊(9.1~9.k),其中,i為仿真聯(lián)邦成員的個數(shù),j為網(wǎng)格節(jié)點的個數(shù),k為客戶端的個數(shù);數(shù)據(jù)傳輸模塊(4)用于在仿真聯(lián)邦成員開始運行時向記錄管理服務(wù)模塊(5)申請記錄資源容器,并保存包括仿真聯(lián)邦中各個聯(lián)邦成員調(diào)用運行時支撐框架服務(wù)時提供的仿真數(shù)據(jù)和時間信息,在仿真推進時將這些仿真數(shù)據(jù)和時間信息傳遞到記錄管理服務(wù)模塊(5)給當前聯(lián)邦成員所分配的記錄服務(wù)模塊(7.1~7.j);記錄服務(wù)模塊(7.1~7.j)均包含有一個記錄服務(wù)管理器和多個記錄資源容器,其中,記錄資源容器用于保存仿真數(shù)據(jù),記錄服務(wù)管理器提供了以仿真時間為索引保存聯(lián)邦成員的仿真數(shù)據(jù)的接口和按仿真時間對記錄的仿真數(shù)據(jù)進行查詢的接口;當數(shù)據(jù)傳輸模塊(4)調(diào)用記錄服務(wù)管理器來保存仿真數(shù)據(jù)時,記錄服務(wù)管理器將從各數(shù)據(jù)傳輸模塊(4)接收到的仿真數(shù)據(jù)以仿真時間為索引保存在記錄資源容器中;當回放服務(wù)模塊(6)和仿真數(shù)據(jù)查詢和顯示模塊(8.1~8.k)需要讀取仿真數(shù)據(jù)時,先從記錄管理服務(wù)模塊(5)獲得要讀取的記錄服務(wù)資源句柄,然后從相應(yīng)的記錄服務(wù)管理器把記錄資源容器里保存的仿真數(shù)據(jù)按時間順序讀取出來;記錄管理服務(wù)模塊(5)用于分配、管理和查詢記錄服務(wù)資源,當數(shù)據(jù)傳輸模塊(4)向記錄管理服務(wù)模塊(5)請求記錄資源容器時,記錄管理服務(wù)模塊(5)從其記錄服務(wù)資源池中分配一個記錄服務(wù)資源給數(shù)據(jù)傳輸模塊(4);當回放服務(wù)模塊(6)和仿真數(shù)據(jù)查詢和顯示模塊(8.1~8.k)根據(jù)用戶的請求需要讀取仿真資源時,記錄管理服務(wù)模塊(5)返回對應(yīng)的記錄服務(wù)資源句柄;回放服務(wù)模塊(6)根據(jù)仿真過程回放控制模塊(9.1~9.k)指定的回放聯(lián)邦成員,向記錄管理服務(wù)模塊(5)查詢出需要回放的聯(lián)邦成員的記錄服務(wù)資源句柄,然后根據(jù)該記錄服務(wù)資源句柄,定時從記錄資源中讀取出仿真數(shù)據(jù),進行仿真過程的回放;仿真數(shù)據(jù)查詢和顯示模塊(8.1~8.k)根據(jù)用戶請求,從記錄服務(wù)模塊(7.1~7.j)中讀取出需要的仿真數(shù)據(jù),解析得到的仿真數(shù)據(jù),并以圖形形式提供給用戶,并向用戶提供查詢并顯示仿真數(shù)據(jù)的功能;仿真過程回放控制模塊(9.1~9.k)根據(jù)用戶的請求,通過調(diào)用回放服務(wù)模塊(6),實現(xiàn)對仿真回放的控制。2、根據(jù)權(quán)利要求1所述的分布仿真平臺數(shù)據(jù)收集系統(tǒng),其特征在于每個數(shù)據(jù)傳輸模塊(4)均包括傳感模塊(4A)、數(shù)據(jù)緩存(4B)和數(shù)據(jù)記錄接口(4C);傳感模塊(4A)用于在仿真聯(lián)邦成員開始運行時,向記錄管理服務(wù)模塊(5)申請一個記錄資源容器,并將需要收集的仿真數(shù)據(jù)和時間信息透明地保存在本地的數(shù)據(jù)緩存(4B)中;數(shù)據(jù)記錄接口(4C)在仿真推進時從本地數(shù)據(jù)緩存(4B)中讀出保存的仿真數(shù)據(jù)和時間信息,并按照仿真數(shù)據(jù)產(chǎn)生的時間先后順序,將這些仿真數(shù)據(jù)和時間信息傳遞到記錄管理服務(wù)模塊(5)給當前聯(lián)邦成員所分配的記錄服務(wù)模塊(7.17.j)。3、根據(jù)權(quán)利要求1所述的分布仿真平臺數(shù)據(jù)收集系統(tǒng),其特征在于-記錄管理服務(wù)模塊(5)所管理的記錄服務(wù)資源由一對記錄服務(wù)管理器和記錄資源容器組成,所有可用的記錄服務(wù)資源的集合組成記錄服務(wù)資源池;記錄管理服務(wù)模塊(5)定時對記錄服務(wù)資源進行檢測,對于已經(jīng)出現(xiàn)故障的記錄服務(wù)資源,將其從記錄服務(wù)資源池中刪除;記錄管理服務(wù)模塊(5)還回收使用完畢的記錄服務(wù)資源;記錄管理服務(wù)模塊(5)對網(wǎng)格節(jié)點的負載進行判斷,對負載輕的網(wǎng)格節(jié)點生成新的記錄服務(wù)資源,并將其加入記錄服務(wù)資源池中。全文摘要本發(fā)明公開了一種基于網(wǎng)格的分布仿真平臺數(shù)據(jù)收集系統(tǒng),系統(tǒng)包括設(shè)置有數(shù)據(jù)傳輸模塊的仿真應(yīng)用端,設(shè)置有記錄管理服務(wù)模塊、回放服務(wù)模塊和記錄服務(wù)模塊的仿真數(shù)據(jù)收集服務(wù)端;以及設(shè)置有仿真數(shù)據(jù)查詢和顯示模塊和仿真過程回放控制模塊的仿真數(shù)據(jù)收集客戶端。仿真應(yīng)用端將收集的仿真數(shù)據(jù)透明的保存在本地數(shù)據(jù)緩存中,并在仿真推進時將仿真數(shù)據(jù)保存到仿真數(shù)據(jù)收集服務(wù)端;服務(wù)端以網(wǎng)格服務(wù)的形式向客戶層提供數(shù)據(jù)收集中的各項功能;客戶端向用戶提供觀看和控制仿真數(shù)據(jù)收集全過程的功能。本發(fā)明特點為不干擾仿真的正常運行,數(shù)據(jù)收集方案的可擴展性,保證HLA體系結(jié)構(gòu)的開放性、靈活性和可擴展性,具備聯(lián)邦成員獨立性、具備聯(lián)邦獨立性。文檔編號G06F17/50GK101256599SQ20081004703公開日2008年9月3日申請日期2008年3月7日優(yōu)先權(quán)日2008年3月7日發(fā)明者侯東暉,曹文治,江來源,龍程,袁平鵬,海金申請人:華中科技大學