[發明專利]一種基于XML的數據交換方法和系統在審
| 申請號: | 201711034221.0 | 申請日: | 2017-10-30 |
| 公開(公告)號: | CN107894973A | 公開(公告)日: | 2018-04-10 |
| 發明(設計)人: | 周忠華;申堃;李偉;楊肖;唐寅 | 申請(專利權)人: | 武漢華工賽百數據系統有限公司 |
| 主分類號: | G06F17/22 | 分類號: | G06F17/22;G06F17/30 |
| 代理公司: | 北京路浩知識產權代理有限公司11002 | 代理人: | 王瑩,吳歡燕 |
| 地址: | 430223 湖北省武漢市東湖*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 xml 數據 交換 方法 系統 | ||
技術領域
本發明涉及計算機技術領域,更具體地,涉及一種基于XML的數據交換方法和系統。
背景技術
在互聯網領域,各個平臺之間都需要通過數據交換來傳遞關鍵業務信息。當一個平臺將其匯總的數據以大量的XML數據報文形式上報到另一個平臺,該平臺需要將這些數據進行解析,并將解析結果以及解析出的內容回傳,便于后續兩個平臺之間的信息反饋和數據分析。在整個交互過程中,由于數據量非常大,因此在做XML數據報文解析的同時,需要考慮到解析效率以及消耗資源等問題。XML,即可擴展標記語言,標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。目前,XML數據報文被廣泛應用于數據交換。
一種常用的XML解析方法是VTD-XML解析方法。VTD-XML是一種無提取的XML解析方法,它較好的解決了文檔對象模型(DocumentObject Model,簡稱DOM)解析占用內存過大的缺點,并且還提供了快速的解析與遍歷、對XPath的支持和增量更新等特性,較好的解決了SAX(Simple API for XML)解析沒有內置的文檔導航支持、不能夠隨機訪問XML文檔、不支持在原地修改XML和XML越復雜時解析應用邏輯越復雜等不足。為了實現非提取(non-extractive)這個目的,它將原XML文件原封不動的以二進制的方式讀進內存,連解碼都不做,然后在這個二進制byte數組上解析每個元素(element)的位置及其類型信息(該信息指每個element的內存物理存儲地址,類似于C語言的指針),并記錄下來。這種記錄就被稱為虛擬令牌描述符(Virtual Token Descriptor,簡稱VTD)。之后的遍歷操作便在這些保存下來的記錄上進行,如果需要提取XML內容就就查找VTD數組,利用VTD記錄中的位置等信息在原始byte數組上進行解碼并返回字符串。
由于VTD技術的具體應用太過底層,VTD-XML解析方法在解析中會反復調用各種底層應用程序編程接口(Application Programming Interface,簡稱API),API無法復用,導致基于XML的數據交換效率不高、可擴展性不高。
現有的大部分系統平臺數據交換中,數據交換機制中一般沒有明確的數據格式規范,也沒有制定明確的流程。
發明內容
為解決現有數據交換存在的數據交換流程不明確的不足,本發明提供一種基于XML的數據交換方法和系統。
根據本發明的一個方面,提供一種基于XML的數據交換方法,包括:S1、解析子平臺發送的符合規范的XML數據報文,獲取解析后數據的類型和值;S2、根據所述解析后數據的類型,判斷所述解析后數據的值是否存在邏輯錯誤;S3、根據所述解析后數據的值是否存在邏輯錯誤的判斷結果,生成響應數據,并將所述響應數據反饋給所述子平臺。
優選地,所述步驟S1進一步包括:S11、通過解析所述符合規范的XML數據報文的報文頭,獲取所述解析后數據的類型;S12、根據所述解析后數據的類型,解析所述符合規范的XML數據報文的報文體,獲取所述解析后數據的值。
優選地,XML數據為由多個節點組成的樹狀結構,所述步驟S12具體包括:利用數據交換公共接口,根據所述解析后數據的類型,選擇對應的數據交換實現類,解析所述符合規范的XML數據報文的報文體,獲取所述解析后數據的值;其中,所述數據交換公共接口包括第一抽象方法和第二抽象方法;所述第一抽象方法,用于獲取從根節點至每個葉子節點的路徑;所述第二抽象方法,用于根據每條路徑,獲取所有路徑上葉子節點的值作為所述解析后數據的值。
優選地,所述數據交換公共接口還包括第三抽象方法;所述第三抽象方法被所述第二抽象方法調用,所述第三抽象方法用于定位到當前節點的子節點。
優選地,所述步驟S1之前還包括:S0、接收所述子平臺發送的XML數據報文,判斷所述XML數據報文是否符合規范;當所述XML數據報文不符合規范時,記錄相應的錯誤代碼和錯誤信息,并反饋至所述子平臺。
優選地,所述判斷所述XML數據報文是否符合規范的具體步驟包括:檢查所述XML數據報文是否為有效的XML格式;當所述XML數據報文為有效的XML格式時,檢查所述XML數據報文的報文頭是否滿足XSD文件規定的格式;當所述XML數據報文的報文頭滿足XSD文件規定的格式時,檢查所述XML數據報文的報文體的每個節點的層級是否滿足XSD文件規定的格式;當所述XML數據報文的報文體的每個節點的層級滿足XSD文件規定的格式時,檢查所述每個節點的屬性和值是否滿足XSD文件中的定義。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢華工賽百數據系統有限公司,未經武漢華工賽百數據系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711034221.0/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





