本文作者:kaifamei

報文轉換代碼的生成方法、相關裝置及計算機存儲介質與流程

更新時間:2025-12-25 07:31:32 0條評論

報文轉換代碼的生成方法、相關裝置及計算機存儲介質與流程



1.本技術涉及計算機技術領域,特別涉及一種報文轉換代碼的生成方法、相關裝置及計算機存儲介質。


背景技術:

2.自2012年國際航空運輸協會(international air transport association,iata)提出新分銷能力(new distribution capability,ndc)以來,受到了行業密切關注。隨著互聯網的發展,越來越多國家的民航公司開始支持ndc協議,基于ndc協議的新分銷系統也逐漸落地,“ndc能力”成為了航空公司合作伙伴的一項重要指標。
3.目前,iata推行ndc策略是與全球分銷系統(global distribution system,gds)合作,目的是使gds成為了ndc架構下的aggregator(內容集成商)角。當客戶端請求gds查詢機票信息時,aggregator肯定要向其他內容供應商(航空公司或其他gds)發起對應的報價(offer,航空公司的機票報價產品,可以包括機票、各種附加服務等多種服務報價打包的結果)請求,根據客戶提供的信息進行實時搜索和詢價,同時還可以選擇打包酒店、地接交通、目的地活動等預訂服務,然后匯集各航空公司的offer信息,最后呈現給終端客戶進行選擇。所以,aggregator一定會接收ndc的xml(可擴展標記語言,標準通用標記語言的子集,簡稱xml。是一種用于標記電子文件使其具有結構性的標記語言。xml被設計用來傳輸和存儲數據)報文,并對返回報文進行解析處理,以完成聚合功能。
4.然而,ndc協議也在持續發展中,其版本每年都在更新,不同的it供應商落地ndc協議時所采用的版本可能有所差異,而這給aggregator帶來了一些麻煩。aggregator需要將ndc每個業務接口,實現不同版本的ndc報文適配并轉換統一的ndc版本給請求客戶端。傳統的記錄版本差異、轉換規則的方法是文字描述,再由開發人員理解確認后,書寫代碼實現;然而,面對ndc協議中大量的xml節點,復雜的層級關系,以及邏輯轉換關系,這樣的方式,不易被閱讀理解,而且很容易出現節點對應關系錯誤,丟失,也無形中會增加了很多測試和溝通成本。


技術實現要素:

5.有鑒于此,本技術提供了一種報文轉換代碼的生成方法、相關裝置及計算機存儲介質,從而自動生成轉換代碼,輔助開發工作,又能在開發階段前的需求確認階段中,作為ndc接口版本間轉換的需求設計工具和團隊工作時的需求分析討論模板,其樹形顯示xsd結構,可視化雙樹節點連線功能,直觀、精確的展示了同一接口的兩個版本間的需求差異點;其保存連線功能,也便于需求的調整,二次開發等等應用場景,為航空公司it供應商們在進行aggregator開發時的提供了技術保障。
6.本技術第一方面提供了一種報文轉換代碼的生成方法,包括:
7.讀取xml模式定義源文件和目標xml模式定義文件;其中,所述xml模式定義源文件和目標xml模式定義文件的內容為文本信息;
8.分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹;其中xml模式定義源文件對象樹和目標xml模式定義文件對象樹的節點對象均包括以下信息節點標識、節點名稱、節點類型、數據類型、是否必須標志、節點路徑以及子節點對象集合;
9.將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式;其中,所述預設格式為前端技術可識別的數據格式;
10.根據預設格式的xml模式定義源文件對象樹,生成第一超文本標記語言樹;
11.根據預設格式的目標xml模式定義文件對象樹,生成第二超文本標記語言樹;
12.向用戶展示所述第一超文本標記語言樹以及所述第二超文本標記語言樹;
13.接收用戶編輯的所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組;其中,映射關系數組為對象數組,映射關系數組中每個元素標識一對連線關系節點;
14.根據所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組,生成報文轉換代碼。
15.可選的,所述分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹,包括:
16.根據所述xml模式定義源文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到xml模式定義源文件對象樹;
17.根據所述目標xml模式定義文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到目標xml模式定義文件對象樹。
18.可選的,所述報文轉換代碼的生成方法,還包括:
19.將所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組進行保存,并進行持久化。
20.可選的,所述報文轉換代碼的生成方法,還包括:
21.接收用戶的查詢請求;其中,所述查詢請求包括目標信息;
22.在已保存的節點映射關系組中進行查詢所述目標信息,得到查詢結果并向用戶進行展示。
23.可選的,所述報文轉換代碼的生成方法,還包括:
24.接收用戶的編輯請求;其中,所述編輯請求包括待編輯信息;
25.根據所述待編輯信息在所述節點映射關系組中進行編輯,并向用戶進行展示。
26.本技術第二方面提供了一種報文轉換代碼的生成裝置,包括:
27.讀取單元,用于讀取xml模式定義源文件和目標xml模式定義文件;其中,所述xml模式定義源文件和目標xml模式定義文件的內容為文本信息;
28.解析單元,用于分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹;其中xml模式定義源文件對象樹和目標xml模式定義文件對象樹的節點對象均包括以下信息節點標識、節點名稱、節點類型、數據類型、是否必須標志、節點路徑以及子節點對象集合;
29.轉化單元,用于將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式;其中,所述預設格式為前端技術可識別的數據格式;
30.第一生成單元,用于根據預設格式的xml模式定義源文件對象樹,生成第一超文本標記語言樹;
31.第二生成單元,用于根據預設格式的目標xml模式定義文件對象樹,生成第二超文本標記語言樹;
32.第一展示單元,用于向用戶展示所述第一超文本標記語言樹以及所述第二超文本標記語言樹;
33.第一接收單元,用于接收用戶編輯的所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組;其中,映射關系數組為對象數組,映射關系數組中每個元素標識一對連線關系節點;
34.第三生成單元,用于根據所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組,生成報文轉換代碼。
35.可選的,所述解析單元,包括:
36.第一解析子單元,用于根據所述xml模式定義源文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到xml模式定義源文件對象樹;
37.第二解析子單元,用于根據所述目標xml模式定義文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到目標xml模式定義文件對象樹。
38.可選的,報文轉換代碼的生成裝置,還包括:
39.保存單元,用于將所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組進行保存,并進行持久化。
40.可選的,報文轉換代碼的生成裝置,還包括:
41.第二接收單元,用于接收用戶的查詢請求;其中,所述查詢請求包括目標信息;
42.查詢單元,用于在已保存的節點映射關系組中進行查詢所述目標信息,得到查詢結果并向用戶進行展示。
43.可選的,報文轉換代碼的生成裝置,還包括:
44.第三接收單元,用于接收用戶的編輯請求;其中,所述編輯請求包括待編輯信息;
45.編輯單元,用于根據所述待編輯信息在所述節點映射關系組中進行編輯,并向用戶進行展示。
46.本技術第三方面提供了一種電子設備,包括:
47.一個或多個處理器;
48.存儲裝置,其上存儲有一個或多個程序;
49.當所述一個或多個程序被所述一個或多個處理器執行時,使得所述一個或多個處理器實現如第一方面任意一項所述的報文轉換代碼的生成方法。
50.本技術第四方面提供了一種計算機存儲介質,其上存儲有計算機程序,其中,所述計算機程序被處理器執行時實現如第一方面任意一項所述的報文轉換代碼的生成方法。
51.由以上方案可知,本技術提供一種報文轉換代碼的生成方法、相關裝置及計算機存儲介質,所述報文轉換代碼的生成方法包括:首先,讀取xml模式定義源文件和目標xml模式定義文件;其中,所述xml模式定義源文件和目標xml模式定義文件的內容為文本信息;然后,分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹;其中xml模式定義源文件對象樹和目標xml模式定義文件
對象樹的節點對象均包括以下信息節點標識、節點名稱、節點類型、數據類型、是否必須標志、節點路徑以及子節點對象集合;再將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式;根據預設格式的xml模式定義源文件對象樹,生成第一超文本標記語言樹;根據預設格式的目標xml模式定義文件對象樹,生成第二超文本標記語言樹;向用戶展示所述第一超文本標記語言樹以及所述第二超文本標記語言樹;接收用戶編輯的所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組;其中,映射關系數組為對象數組,映射關系數組中每個元素標識一對連線關系節點;最終,根據所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組,生成報文轉換代碼。從而達到自動生成轉換代碼的目的,進而可以輔助開發工作,又能在開發階段前的需求確認階段中,作為ndc接口版本間轉換的需求設計工具和團隊工作時的需求分析討論模板,其樹形顯示xsd結構,可視化雙樹節點連線功能,直觀、精確的展示了同一接口的兩個版本間的需求差異點;其保存連線功能,也便于需求的調整,二次開發等等應用場景,為航空公司it供應商們在進行aggregator開發時的提供了技術保障。
附圖說明
52.為了更清楚地說明本技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本技術的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
53.圖1為本技術實施例提供的一種報文轉換代碼的生成方法的具體流程圖;
54.圖2為本技術另一實施例提供的一種構建對象樹的具體流程圖;
55.圖3為本技術另一實施例提供的一種xml模式定義源文件對象樹的示意圖;
56.圖4為本技術另一實施例提供的一種目標xml模式定義文件對象樹的示意圖;
57.圖5為本技術另一實施例提供的一種通過連線方式連接源報文的html樹中的節點與目標報文的html樹中的節點的示意圖;
58.圖6為本技術另一實施例提供的一種報文轉換代碼的生成裝置的示意圖;
59.圖7為本技術另一實施例提供的一種實現報文轉換代碼的生成方法的電子設備的示意圖。
具體實施方式
60.下面將結合本技術實施例中的附圖,對本技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本技術一部分實施例,而不是全部的實施例?;诒炯夹g中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本技術保護的范圍。
61.本文使用的術語“包括”及其變形是開放性包括,即“包括但不限于”。術語“基于”是“至少部分地基于”。術語“一個實施例”表示“至少一個實施例”;術語“另一實施例”表示“至少一個另外的實施例”;術語“一些實施例”表示“至少一些實施例”。其他術語的相關定義將在下文描述中給出。
62.需要注意,本技術中提及的“第一”、“第二”等概念僅用于對不同的裝置、模塊或單
元進行區分,并非用于限定這些裝置、模塊或單元所執行的功能的順序或者相互依存關系。
63.需要注意,本技術中提及的“一個”、“多個”的修飾是示意性而非限制性的,本領域技術人員應當理解,除非在上下文另有明確指出,否則應該理解為“一個或多個”。
64.本技術實施例提供了一種報文轉換代碼的生成方法,如圖1所示,具體包括以下步驟:
65.s101、讀取xml模式定義源文件和目標xml模式定義文件。
66.其中,xml模式定義源文件和目標xml模式定義文件的內容為文本信息。
67.需要說明的是,xml模式定義文件(xml schema definition,xsd)是定義一份xml文檔的合法組件,用于描述xml文檔的結構。作用與文檔類型定義(dtd)相同,并可以替代dtd。一份xsd定義了:可以出現在文檔里的元素;可以出現在文檔里的屬性;哪些元素是子元素;子元素的順序;子元素的數量;一個元素應是否能包含文本,或應該是空的;元素和屬性的數據類型;元素和屬性的默認值和固定值。
68.具體的,以xml模式定義源文件(xsd源文件)為例,選擇本地xsd源文件獲得xsd源文件的路徑,根據選擇的xsd源文件的路徑讀取文件流獲得xsd源文件的內容。
69.s102、分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹。
70.其中,xml模式定義源文件對象樹和目標xml模式定義文件對象樹的節點對象均包括以下信息節點標識、節點名稱、節點類型、數據類型、是否必須標志、節點路徑以及子節點對象集合。
71.節點id(id):identity,表示當前節點在整個xsd對象樹(上文中的xml模式定義源文件對象樹和目標xml模式定義文件對象樹)中的唯一標識。
72.節點名稱(lable):表示當前節點的英文名。
73.節點級別(level):表示當前節點是根節點(root)、子節點(child)、還是葉子節點(leaf)。
74.節點類型(type):表示當前節點是xml對象樹所描述的結構中的一個元素(element),還是一個屬性(attribute)。
75.數據類型(datatype):表示當前節點的數據結構,包括字符串型(string),表示當前節點的內容僅包含文本;對象型(object),表示節點下包含子節點集合對象,且不為空,長度》=1;數組型(array),表示當前節點結構為數組;對象數組型(arraylist),表示當前節點結構為數組,且數組內每個元素為一個對象型節點(object)。
76.是否必須標志(ismust):表示該節點是否必須存在。
77.節點路徑(path):表示從根節點開始遍歷到當前節點所經過的所有節點名稱。
78.子節點對象集合(children):是一個數組,包含當前節點的所有子節點對象(子節點對象就是當前節點的子樹)。
79.可選的,在本技術的另一實施例中,步驟s102的一種實施方式,如圖2所示,包括:
80.s201、根據xml模式定義源文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到xml模式定義源文件對象樹。
81.具體的,在本技術的具體實現過程中,可以按照圖3中的xml結構分別創建每個節點的實例,進一步的,通過為每個節點的成員變量賦值,構建出整個xml模式定義源文件對
象樹的實例。
82.s202、根據目標xml模式定義文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到目標xml模式定義文件對象樹。
83.具體的,在本技術的具體實現過程中,可以按照圖4中的xml結構分別創建每個節點的實例,進一步的,通過為每個節點的成員變量賦值,構建出整個目標xml模式定義文件對象樹的實例。
84.s103、將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式。
85.其中,預設格式為前端技術可識別的數據格式。例如前端技術為javascript技術,那么預設格式就為json。
86.可以理解的是,將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式后,并不會改變xml模式定義源文件對象樹和目標xml模式定義文件對象樹中的內容,且預設格式的xml模式定義源文件對象樹與xml模式定義源文件對象樹中的節點一一對應;預設格式的目標xml模式定義文件對象樹與目標xml模式定義文件對象樹中的節點一一對應。
87.javascript技術是一種屬于網絡的高級腳本語言,已經被廣泛用于web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常javascript腳本是通過嵌入在html中來實現自身的功能的。
88.html全稱為超文本標記語言,是一種標記語言。它包括一系列標簽。通過這些標簽可以將網絡上的文檔格式統一,使分散的internet資源連接為一個邏輯整體。它通過標記符號來標記要顯示的網頁中的各個部分;“超文本”就是指頁面內可以包含圖片、鏈接,甚至音樂、程序等非文字元素。
89.json(javascript object notation,js對象簡稱)是一種輕量級的數據交換格式。簡潔和清晰的層次結構使得json成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
90.json可以將javascript對象中表示的一組數據轉換為字符串,然后就可以在網絡或者程序之間輕松地傳遞這個字符串,并在需要的時候將它還原為各編程語言所支持的數據格式。
91.具體實現方式可以但不限于如下所示:
92.93.94.[0095][0096]
s104、根據預設格式的xml模式定義源文件對象樹,生成第一超文本標記語言樹。
[0097]
其中,第一超文本標記語言(html)樹包括至少一個html節點,且xml模式定義源文件對象樹與第一html數中的節點存在關聯關系。
[0098]
s105、根據預設格式的目標xml模式定義文件對象樹,生成第二超文本標記語言樹。
[0099]
其中,第二超文本標記語言(html)樹包括至少一個html節點,且目標xml模式定義文件對象樹與第二html數中的節點存在關聯關系。
[0100]
s106、向用戶展示第一超文本標記語言樹以及第二超文本標記語言樹。
[0101]
具體的,可以從網頁上向用戶展示第一超文本標記語言樹以及第二超文本標記語言樹,并且用戶可以對第一超文本標記語言樹以及第二超文本標記語言樹進行編輯。
[0102]
例如:通過連線方式連接源報文的html樹中的節點與目標報文的html樹中的節點,如圖5所示(左側17.2airshoppingrs的version屬性節點拉起線頭,至右側18.2airshoppingrs的versionnumber元素節點放下線頭),建立兩xml報文節點間的節點映射關系,并將連線關系記錄到映射關系數組中。映射關系數組為對象數組,其每個元素標識一對連線關系節點。
[0103]
s107、接收用戶編輯的第一超文本標記語言樹中的節點和第二超文本標記語言樹中的節點的映射關系組。
[0104]
其中,映射關系數組為對象數組,映射關系數組中每個元素標識一對連線關系節點。
[0105]
具體的,映射關系數組的結構可以如下所示:
[0106][0107]
可選的,在本技術的另一實施例中,報文轉換代碼的生成方法的一種實施方式,還包括:
[0108]
將第一超文本標記語言樹中的節點和第二超文本標記語言樹中的節點的映射關系組進行保存,并進行持久化。
[0109]
可選的,在本技術的另一實施例中,報文轉換代碼的生成方法的一種實施方式,還包括:
[0110]
接收用戶的查詢請求。
[0111]
其中,查詢請求包括目標信息。
[0112]
在已保存的節點映射關系組中進行查詢目標信息,得到查詢結果并向用戶進行展示。
[0113]
續接上述實例,可從存儲中讀取已保存過的節點映射關系,包括:xml模式定義源文件對象樹和目標xml模式定義文件對象樹(js數據格式),以及雙方已連線的節點信息,重新在網頁進行展示。
[0114]
可選的,在本技術的另一實施例中,報文轉換代碼的生成方法的一種實施方式,還包括:
[0115]
接收用戶的編輯請求。
[0116]
其中,編輯請求包括待編輯信息。
[0117]
根據待編輯信息在節點映射關系組中進行編輯,并向用戶進行展示。
[0118]
續接上述實例,在網頁上重新編輯連線以修改節點映射關系。
[0119]
s108、根據第一超文本標記語言樹中的節點和第二超文本標記語言樹中的節點的映射關系組,生成報文轉換代碼。
[0120]
具體的,按照編程語言的語法,將節點映射關系翻譯成xml報文轉換程序代碼。其中,節點映射關系生成xml報文節點轉換邏輯代碼,其他,如根節點、命名空間等非轉換邏輯語法要求,則采用默認值自動生成,以保證程序可運行的最小要求。
[0121]
在申請的具體實現過程中遍歷目標報文的xsd對象樹結構,逐個節點生成xml標簽或xlst代碼。生成具體規則如下:
[0122]
1、節點級別(level)是葉子節點,同時在節點映射關系數組中作為target時,沒有連線關系的節點不生成;
[0123]
2、節點數據結構(datatype)是element,則生成xml標簽,標簽名取自節點的lable值;節點內容生成規則為:
[0124]
1)如果當前節點類型是string型或array型,則生成如下語法,其中path取值來自節點映射關系數組中,當前節點為targe時,source節點的path值:
[0125]
《節點lable》
[0126]
《xsl:value-ofselect="$path"/》
[0127]
《/節點lable》
[0128]
2)如果當前節點類型(type)是object類型,則繼續生成該節點xml標簽;
[0129]
3)如果當前節點類型(type)是arraylist型,則生成如下語法,其中path取值來自映射關系數組中,當前節點為targe時,source節點的path值;該節點的每個元素在xsl:for-each標簽下生成:
[0130]
《xsl:for-eachselect="$path"》
[0131]
元素對象節點在此生成
[0132]
《/xsl:for-each》
[0133]
3、節點數據結構(datatype)是attribute,則生成如下語法,其中lable為當前節點lable值,path為映射關系數組中,當前節點為targe時,source節點的path值:
[0134]
《xsl:attributename="$lable"》
[0135]
《xsl:value-ofselect="$path"/》
[0136]
《/xsl:attribute》
[0137]
4、如果節點的是否必須標志(ismust)是必填,則直接生成xml標簽;否則,判斷該節點id在節點映射關系數組中作為target節點時對應的soure節點的ismust值,當其ismust是必填時直接生成xml標簽,否則,需要在生成的該節點xml標簽外層,增加xsl:if語法,其中path取值來自source節點的path值,如下:
[0138][0139]
5、xslt文件除上述邏輯語句,還需要在外層定義樣式表的根元素、命名空間等其他信息,具體情況需要參見xslt相應版本的語法規則進行調整,如下示例僅供參考:
[0140][0141]
按照上述實施方式,本示例最終生成xlst代碼如下所示:
[0142]
[0143][0144]
由以上方案可知,本技術提供一種報文轉換代碼的生成方法:首先,讀取xml模式定義源文件和目標xml模式定義文件;其中,xml模式定義源文件和目標xml模式定義文件的內容為文本信息;然后,分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹;其中xml模式定義源文件對象樹和目標xml模式定義文件對象樹的節點對象均包括以下信息節點標識、節點名稱、節點類型、數據類型、是否必須標志、節點路徑以及子節點對象集合;再將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式;根據預設格式的xml模式定義源文件對象樹,生成第一超文本標記語言樹;根據預設格式的目標xml模式定義文件對象樹,生成第二超文本標記語言樹;向用戶展示第一超文本標記語言樹以及第二超文本標記語言樹;接收用戶編輯的第一超文本標記語言樹中的節點和第二超文本標記語言樹中的節點的映射關系組;其中,映射關系數組為對象數組,映射關系數組中每個元素標識一對連線關系節點;最終,根據第一超文本標記語言樹中的節點和第二超文本標記語言樹中的節點的映射關系組,生成報文轉換代碼。從而達到自動生成轉換代碼的目的,進而可以輔助開發工作,又能在開發階段前的需求確認階段中,作為ndc接口版本間轉換的需求設計工具和團隊工作時的需求分析討論模板,其樹形顯示xsd結構,可視化雙樹節點連線功能,直觀、精確的展示了同一接口的兩個版本間的需求差異點;其保存連線功能,也便于需求的調整,二次開發等等應用場景,為航空公司it供應商們在進行aggregator開發時的提供了技術保障。
[0145]
附圖中的流程圖和框圖,圖示了按照本技術各種實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個接連地表示的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
[0146]
本技術實施方式中的多個裝置之間所交互的消息或者信息的名稱僅用于說明性的目的,而并不是用于對這些消息或信息的范圍進行限制。
[0147]
可以以一種或多種程序設計語言或其組合來編寫用于執行本技術的操作的計算機程序代碼,上述程序設計語言包括但不限于面向對象的程序設計語言—諸如python、java、c++等,還包括常規的過程式程序設計語言—諸如“c”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務
器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡——包括局域網(lan)或廣域網(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0148]
本技術的另一實施例提供了一種報文轉換代碼的生成裝置,如圖6所示,具體包括:
[0149]
讀取單元601,用于讀取xml模式定義源文件和目標xml模式定義文件。
[0150]
其中,所述xml模式定義源文件和目標xml模式定義文件的內容為文本信息。
[0151]
解析單元602,用于分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹。
[0152]
其中,xml模式定義源文件對象樹和目標xml模式定義文件對象樹的節點對象均包括以下信息節點標識、節點名稱、節點類型、數據類型、是否必須標志、節點路徑以及子節點對象集合。
[0153]
轉化單元603,用于將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式。
[0154]
其中,所述預設格式為前端技術可識別的數據格式。
[0155]
第一生成單元604,用于根據預設格式的xml模式定義源文件對象樹,生成第一超文本標記語言樹。
[0156]
第二生成單元605,用于根據預設格式的目標xml模式定義文件對象樹,生成第二超文本標記語言樹。
[0157]
第一展示單元606,用于向用戶展示所述第一超文本標記語言樹以及所述第二超文本標記語言樹。
[0158]
第一接收單元607,用于接收用戶編輯的所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組。
[0159]
其中,映射關系數組為對象數組,映射關系數組中每個元素標識一對連線關系節點。
[0160]
第三生成單元608,用于根據所述第一超文本標記語言樹中的節點和所述第二超文本標記語言樹中的節點的映射關系組,生成報文轉換代碼。
[0161]
本技術上述實施例公開的單元的具體工作過程,可參見對應的方法實施例內容,如圖1所示,此處不再贅述。
[0162]
可選的,在本技術的另一實施例中,解析單元602的一種實施方式,具體包括:
[0163]
第一解析子單元,用于根據所述xml模式定義源文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到xml模式定義源文件對象樹。
[0164]
第二解析子單元,用于根據所述目標xml模式定義文件中的xml代碼,按照xml模式定義文件語法規則,采用面向對象的編程語言構建得到目標xml模式定義文件對象樹。
[0165]
本技術上述實施例公開的單元的具體工作過程,可參見對應的方法實施例內容,如圖2所示,此處不再贅述。
[0166]
可選的,在本技術的另一實施例中,報文轉換代碼的生成裝置的一種實施方式,還包括:
[0167]
保存單元,用于將所述第一超文本標記語言樹中的節點和所述第二超文本標記語
言樹中的節點的映射關系組進行保存,并進行持久化。
[0168]
本技術上述實施例公開的單元的具體工作過程,可參見對應的方法實施例內容,此處不再贅述。
[0169]
可選的,在本技術的另一實施例中,報文轉換代碼的生成裝置的一種實施方式,還包括:
[0170]
第二接收單元,用于接收用戶的查詢請求。
[0171]
其中,所述查詢請求包括目標信息。
[0172]
查詢單元,用于在已保存的節點映射關系組中進行查詢所述目標信息,得到查詢結果并向用戶進行展示。
[0173]
本技術上述實施例公開的單元的具體工作過程,可參見對應的方法實施例內容,此處不再贅述。
[0174]
可選的,在本技術的另一實施例中,報文轉換代碼的生成裝置的一種實施方式,還包括:
[0175]
第三接收單元,用于接收用戶的編輯請求。
[0176]
其中,所述編輯請求包括待編輯信息。
[0177]
編輯單元,用于根據所述待編輯信息在所述節點映射關系組中進行編輯,并向用戶進行展示。
[0178]
本技術上述實施例公開的單元的具體工作過程,可參見對應的方法實施例內容,此處不再贅述。
[0179]
由以上方案可知,本技術提供一種報文轉換代碼的生成裝置:首先,讀取單元601讀取xml模式定義源文件和目標xml模式定義文件;其中,xml模式定義源文件和目標xml模式定義文件的內容為文本信息;然后,解析單元602分別解析xml模式定義源文件和目標xml模式定義文件,得到xml模式定義源文件對象樹和目標xml模式定義文件對象樹;其中xml模式定義源文件對象樹和目標xml模式定義文件對象樹的節點對象均包括以下信息節點標識、節點名稱、節點類型、數據類型、是否必須標志、節點路徑以及子節點對象集合;轉化單元603將xml模式定義源文件對象樹和目標xml模式定義文件對象樹轉化為預設格式;第一生成單元604根據預設格式的xml模式定義源文件對象樹,生成第一超文本標記語言樹;第二生成單元605根據預設格式的目標xml模式定義文件對象樹,生成第二超文本標記語言樹;第一展示單元606向用戶展示第一超文本標記語言樹以及第二超文本標記語言樹;第一接收單元607接收用戶編輯的第一超文本標記語言樹中的節點和第二超文本標記語言樹中的節點的映射關系組;其中,映射關系數組為對象數組,映射關系數組中每個元素標識一對連線關系節點;最終,第三生成單元608根據第一超文本標記語言樹中的節點和第二超文本標記語言樹中的節點的映射關系組,生成報文轉換代碼。從而達到自動生成轉換代碼的目的,進而可以輔助開發工作,又能在開發階段前的需求確認階段中,作為ndc接口版本間轉換的需求設計工具和團隊工作時的需求分析討論模板,其樹形顯示xsd結構,可視化雙樹節點連線功能,直觀、精確的展示了同一接口的兩個版本間的需求差異點;其保存連線功能,也便于需求的調整,二次開發等等應用場景,為航空公司it供應商們在進行aggregator開發時的提供了技術保障。
[0180]
本文中以上描述的功能可以至少部分地由一個或多個硬件邏輯部件來執行。例
如,非限制性地,可以使用的示范類型的硬件邏輯部件包括:現場可編程門陣列(fpga)、專用集成電路(asic)、專用標準產品(assp)、片上系統(soc)、復雜可編程邏輯設備(cpld)等等。
[0181]
本技術另一實施例提供了一種電子設備,如圖7所示,包括:
[0182]
一個或多個處理器701。
[0183]
存儲裝置702,其上存儲有一個或多個程序。
[0184]
當一個或多個程序被一個或多個處理器701執行時,使得一個或多個處理器701實現如上述實施例中任意一項的報文轉換代碼的生成方法。
[0185]
本技術另一實施例提供了一種計算機存儲介質,其上存儲有計算機程序,其中,計算機程序被處理器執行時實現如上述實施例中任意一項的報文轉換代碼的生成方法。
[0186]
在本技術的上下文中,機器可讀介質可以是有形的介質,其可以包含或存儲以供指令執行系統、裝置或設備使用或與指令執行系統、裝置或設備結合地使用的程序。機器可讀介質可以是機器可讀信號介質或機器可讀儲存介質。機器可讀介質可以包括但不限于電子的、磁性的、光學的、電磁的、紅外的、或半導體系統、裝置或設備,或者上述內容的任何合適組合。機器可讀存儲介質的更具體示例會包括基于一個或多個線的電氣連接、便攜式計算機盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦除可編程只讀存儲器(eprom或快閃存儲器)、光纖、便捷式緊湊盤只讀存儲器(cd-rom)、光學儲存設備、磁儲存設備、或上述內容的任何合適組合。
[0187]
需要說明的是,本技術上述的計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質或者是上述兩者的任意組合。計算機可讀存儲介質例如可以是但不限于電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子可以包括但不限于:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本技術中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。而在本技術中,計算機可讀信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀信號介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括但不限于:電線、光纜、rf(射頻)等等,或者上述的任意合適的組合。
[0188]
上述計算機可讀介質可以是上述電子設備中所包含的;也可以是單獨存在,而未裝配入該電子設備中。
[0189]
本技術另一實施例提供了一種計算機程序產品,當該計算機程序產品被執行時,其用于執行上述任一項的報文轉換代碼的生成方法。
[0190]
特別地,根據本技術的實施例,上文參考流程圖描述的過程可以被實現為計算機軟件程序。例如,本技術的實施例包括一種計算機程序產品,其包括承載在非暫態計算機可
讀介質上的計算機程序,該計算機程序包含用于執行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信裝置從網絡上被下載和安裝,或者從存儲裝置被安裝,或者從rom被安裝。在該計算機程序被處理裝置執行時,執行本技術實施例的方法中限定的上述功能。
[0191]
盡管已經采用特定于結構特征和/或方法邏輯動作的語言描述了本主題,但是應當理解所附權利要求書中所限定的主題未必局限于上面描述的特定特征或動作。相反,上面所描述的特定特征和動作僅僅是實現權利要求書的示例形式。
[0192]
雖然在上面論述中包含了若干具體實現細節,但是這些不應當被解釋為對本技術的范圍的限制。在單獨的實施例的上下文中描述的某些特征還可以組合地實現在單個實施例中。相反地,在單個實施例的上下文中描述的各種特征也可以單獨地或以任何合適的子組合的方式實現在多個實施例中。
[0193]
以上描述僅為本技術的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本技術中所涉及的申請范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離上述申請構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本技術中申請的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-8-1044-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2022-11-27 21:27:44

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
,2人圍觀
參與討論