[發明專利]一種基于XML的DDS分布式系統自動構建方法有效
| 申請號: | 201510717187.1 | 申請日: | 2015-10-29 |
| 公開(公告)號: | CN105205183B | 公開(公告)日: | 2018-06-22 |
| 發明(設計)人: | 楊京禮;黃雪;姜守達;李馥丹 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 哈爾濱市松花江專利商標事務所 23109 | 代理人: | 楊立超 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式系統 構建 自動構建 系統構建 參與者信息 對象模型 發布信息 方案文件 結構信息 信息傳輸 自動代碼 出錯率 復雜度 插件 編譯 應用 訂購 | ||
1.一種基于XML的DDS分布式系統自動構建方法,其特征在于,所述構建方法包括以下步驟:
步驟一:XML試驗方案文件結構設計,生成試驗方案文件;
步驟二:DDS運行插件的生成過程;
DDS運行插件通過加載步驟一中得到的試驗方案文件,經過DDS插件模板、自動代碼生成模塊以及自動代碼編譯模塊生成,所述DDS運行插件即DLL格式的文件;
所述DDS插件模板由DDS試驗方案解析器、DDS服務器、DDS數據接收器、DDS數據管理器和DDS服務接口組成;
所述自動代碼生成模塊根據集成應用開發環境生成的試驗方案文件,生成DDS系統信息傳輸所需要的IDL文件、mpc文件、DDS服務器的源文件和頭文件、DDS數據管理器的源文件和頭文件、DDS數據接收器的源文件和頭文件,所述IDL為接口定義語言,IDL文件是定義DDS內部信息傳輸數據結構的依據;
所述自動代碼編譯模塊為自動代碼生成模塊生成的DDS分布式系統信息傳輸所需要的IDL文件、mpc文件、DDS服務器的源文件和頭文件、DDS數據管理器的源文件和頭文件、DDS數據接收器的源文件和頭文件,以及DDS插件模板的DDS試驗方案解析器和DDS服務接口的源文件和頭文件,建立獨立的工程文件、配置編譯參數、配置目標參數,最終生成目標文件為DDS運行插件;
所述DDS運行插件具有六個接口函數,分別為啟動DDS服務倉庫、初始化DDS服務、初始化系統、銷毀系統、銷毀DDS服務、更新對象模型數據;
步驟三:DDS分布式系統構建;
DDS分布式系統的每個節點上均存在一個步驟二生成的DDS運行插件,DDS分布式系統節點間的發布訂閱關系由步驟一生成的試驗方案文件中的訂購發布信息規定,應用分布式系統時,調用DDS運行插件的接口函數,DDS分布式系統中有訂購發布關系的節點之間進行信息傳輸;
所述步驟二中自動代碼生成的具體過程為:
步驟二一:IDL轉換過程;
在自動代碼生成之前對試驗方案中的中文字符、復雜數據類型、特殊字符進行轉換,并將XML格式的對象模型按照關系展開到最底層屬性;
所述將XML格式的對象模型按照關系展開到最底層屬性的具體過程為:
步驟二一一:加載試驗方案文件,得到根節點下所有的一級子節點,保存在數組中;
步驟二一二:在所有得到的一級子節點中查找目標類,遍歷該子節點下的所有二級子節點;
步驟二一三:解析類之間的繼承關系,在二級子節點的標識中有generalization,則說明該類是繼承自某父類,父類的名稱通過解析該二級子節點的內容得到;通過第一步得到的所有一級子節點找到父類所對應的節點,遍歷父類的二級子節點,如果父類也有繼承關系,則繼續解析繼承關系;
步驟二一四:解析類之間的聚合關系,通過第二步得到目標類所有的二級子節點,判斷二級子節點的類型是否為元數據類型,若不是元數據類型,則通過步驟一一得到的所有一級子節點找到該類所對應的節點,遍歷該節點,同步驟一三和步驟一四,解析其繼承聚合關系直到類型為元數據類型為止,生成IDL文件;
步驟二二:按照DDS信息傳輸的要求,發布/訂閱的對象實例向DDS進行系統的初始化,創建發布者和訂閱者,解析試驗方案的參與者信息得到每個節點的發布者數據類型,根據訂購發布信息得到每個節點中與發布者匹配的訂閱者數據類型,生成每個節點的發布者及訂閱者的注冊代碼,發布者及訂閱者的注冊代碼生成在DDS服務器類的初始化系統函數中;
步驟二三:按照DDS信息傳輸的要求,發布/訂閱的對象實例向DDS進行類型注冊,類型注冊代碼是指為DDS進行信息傳輸生成必要的數據類型注冊信息,將得到每個節點的發布者及訂閱者的數據類型不重復的保存下來,生成每個節點的注冊代碼,類型注冊代碼生成在DDS數據管理器類的注冊數據類型函數中;
步驟二四:按照DDS信息傳輸的要求,發布/訂閱的對象實例必須生成對應的數據寫對象,解析試驗方案的參與者信息得到所有節點的發布者的數據類型及ID,生成數據寫入代碼,數據寫入代碼生成在DDS數據管理器類中的發送數據函數中;
步驟二五:按照DDS信息傳輸的要求,發布/訂閱的對象實例必須生成對應的數據讀對象,解析試驗方案的訂購發布信息得到所有訂購發布關系中的訂閱者的數據類型及與其匹配發布者的ID,生成數據讀取代碼,數據讀取代碼生成在DDS數據接收器類的接收數據函數中;
步驟二六:mpc文件的生成;
mpc文件中包含項目的包含路徑、庫目錄、源文件、頭文件以及IDL文件,命名規則為:試驗方案名稱.mpc和試驗方案名稱.mwc。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510717187.1/1.html,轉載請聲明來源鉆瓜專利網。
- 同類專利
- 專利分類





