Xml數(shù)據(jù)的處理方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種XML數(shù)據(jù)的處理方法和裝置。該方法主要包括:采集XML數(shù)據(jù),XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件,根據(jù)XML索引文件獲取XML數(shù)據(jù)的協(xié)議類型;選取XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器,利用XML解析器對(duì)XML有效載荷文件進(jìn)行多級(jí)映射,將XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。本發(fā)明實(shí)施例通過根據(jù)XML數(shù)據(jù)的協(xié)議類型選取對(duì)應(yīng)的XML解析器,利用XML解析器對(duì)XML數(shù)據(jù)進(jìn)行多級(jí)映射,將XML數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。可以支持多種不同協(xié)議的XML數(shù)據(jù)處理,統(tǒng)一化處理所有協(xié)議類型的XML數(shù)據(jù)的解析和轉(zhuǎn)換處理。采用多級(jí)XML轉(zhuǎn)換策略,增強(qiáng)了系統(tǒng)的適應(yīng)能力,可拓展性強(qiáng),而底層XML數(shù)據(jù)庫架構(gòu)較穩(wěn)定。
【專利說明】XML數(shù)據(jù)的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其涉及一種XML (Extensible MarkupLanguage,可擴(kuò)展標(biāo)記語言)數(shù)據(jù)的處理方法和裝置。
【背景技術(shù)】
[0002]目前,隨著全球信息建設(shè)的不斷拓展和網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,加上基于網(wǎng)絡(luò)的一系列電子商務(wù)應(yīng)用,使得信息化變得平民化。在給我們帶來巨大方便的同時(shí),也導(dǎo)致不管是個(gè)人、組織還是企業(yè)都隨時(shí)隨地在與數(shù)據(jù)打交道。數(shù)據(jù)的采集、存儲(chǔ)、處理和傳播的數(shù)量也與日俱增。各類數(shù)據(jù)的共享,使更多的人能更充分地使用己有的數(shù)據(jù)資源,減少重復(fù)的數(shù)據(jù)收集等勞動(dòng)和相應(yīng)費(fèi)用。
[0003]很多知名的硬件設(shè)備生產(chǎn)廠商都需要對(duì)自己生產(chǎn)的設(shè)備進(jìn)行數(shù)據(jù)的采集和檢測(cè),為的是及時(shí)發(fā)現(xiàn)這些設(shè)備在運(yùn)行過程中出現(xiàn)的各種問題,同時(shí)記錄設(shè)備運(yùn)行的各種參數(shù)信息,以便將來對(duì)其設(shè)備進(jìn)行改進(jìn)。基于多方面的需求,近些年對(duì)于數(shù)據(jù)集成的研究一直在進(jìn)行。目前,現(xiàn)有的數(shù)據(jù)交換與共享的實(shí)現(xiàn)方法主要包括:使用中間數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換;完成數(shù)據(jù)交換可使用數(shù)據(jù)庫自帶的工具;使用一些桌面數(shù)據(jù)系統(tǒng)。使用中間件的相關(guān)技術(shù)交換數(shù)據(jù),就是使用程序模塊在數(shù)據(jù)庫間搭建橋梁。
[0004]上述現(xiàn)有的數(shù)據(jù)交換與共享的實(shí)現(xiàn)方法的缺點(diǎn)主要為:數(shù)據(jù)轉(zhuǎn)換牽涉到大量的編碼方式,其過程實(shí)現(xiàn)復(fù)雜而且時(shí)間長(zhǎng),轉(zhuǎn)換質(zhì)量很低,對(duì)數(shù)據(jù)資源的移植或者靈活性,可重用性都很差。這當(dāng)然也增加了系統(tǒng)運(yùn)行和維護(hù)的工作量,也增加了很多的硬件和軟件的成本,對(duì)于追求高效,快捷系統(tǒng)開發(fā)的用戶對(duì)此是當(dāng)然是無法容忍的。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的實(shí)施例提供了一種XML數(shù)據(jù)的處理方法和裝置,以實(shí)現(xiàn)對(duì)多種不同協(xié)議的XML數(shù)據(jù)統(tǒng)一進(jìn)行解析和轉(zhuǎn)換處理。
[0006]本發(fā)明提供了如下方案:
[0007]一種XML數(shù)據(jù)的處理方法,包括:
[0008]采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件,根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型;
[0009]選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器,利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行多級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
[0010]所述的采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件,根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型,包括:
[0011]采集一個(gè)或者多個(gè)設(shè)備的XML數(shù)據(jù)的壓縮文檔,在內(nèi)存中對(duì)所述壓縮文檔進(jìn)行解壓縮獲取一個(gè)或者多個(gè)XML數(shù)據(jù),每個(gè)所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件;
[0012]對(duì)所述XML數(shù)據(jù)中的XML索引文件進(jìn)行解析獲取所述XML數(shù)據(jù)的協(xié)議類型和關(guān)聯(lián)的設(shè)備標(biāo)識(shí),將所述XML數(shù)據(jù)的協(xié)議類型、關(guān)聯(lián)的設(shè)備標(biāo)識(shí)和所述XML有效載荷文件傳輸?shù)皆贫朔?wù)器進(jìn)行存儲(chǔ)。
[0013]所述的選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器,包括:
[0014]在云端服務(wù)器預(yù)先設(shè)置并存儲(chǔ)各種XML數(shù)據(jù)的協(xié)議類型和不同的XML解析器之間的對(duì)應(yīng)關(guān)系,每個(gè)XML解析器中設(shè)置有依次順序執(zhí)行的第一級(jí)映射和第二級(jí)映射,所述第一級(jí)映射為XML數(shù)據(jù)的Java對(duì)象樹和XML數(shù)據(jù)的數(shù)據(jù)邏輯模型之間的映射,所述第二級(jí)映射為XML數(shù)據(jù)的數(shù)據(jù)邏輯模型和數(shù)據(jù)物理模型之間的映射,所述第一級(jí)映射和第二級(jí)映射的映射流程和映射規(guī)則根據(jù)所述XML解析器所對(duì)應(yīng)的協(xié)議類型而制定;
[0015]所述云端服務(wù)器根據(jù)接收到的XML數(shù)據(jù)的協(xié)議類型查詢所述存儲(chǔ)的對(duì)應(yīng)關(guān)系,獲取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器。
[0016]所述的利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行多級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型,包括:
[0017]所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行Java對(duì)象的反序列化處理,獲取所述XML有效載荷文件所對(duì)應(yīng)的Java對(duì)象樹;
[0018]所述XML解析器根據(jù)所述第一級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第一級(jí)映射,利用自定義的數(shù)據(jù)映射XML規(guī)則文件將所述Java對(duì)象樹轉(zhuǎn)換為數(shù)據(jù)邏輯模型;
[0019]所述XML解析器根據(jù)所述第二級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第二級(jí)映射,利用自適應(yīng)數(shù)據(jù)處理的映射文件將所述數(shù)據(jù)邏輯模型轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
[0020]所述的方法還包括:
[0021]根據(jù)設(shè)定的統(tǒng)一數(shù)據(jù)格式設(shè)置XML數(shù)據(jù)的數(shù)據(jù)庫模型,所述數(shù)據(jù)庫模型中包括的各種屬性信息是固定的;
[0022]根據(jù)所述數(shù)據(jù)庫模型構(gòu)造XML數(shù)據(jù)的數(shù)據(jù)庫,將所述轉(zhuǎn)換后得到的統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型和XML數(shù)據(jù)所對(duì)應(yīng)的設(shè)備的標(biāo)識(shí)存儲(chǔ)到所述XML數(shù)據(jù)的數(shù)據(jù)庫中。
[0023]一種XML數(shù)據(jù)的處理裝置,包括:
[0024]XML數(shù)據(jù)采集模塊,用于采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件;
[0025]XML解析器獲取模塊,用于根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型,選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器;
[0026]XML數(shù)據(jù)解析模塊,用于利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行多級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
[0027]所述的XML數(shù)據(jù)采集模塊,具體用于采集一個(gè)或者多個(gè)設(shè)備的XML數(shù)據(jù)的壓縮文檔,在內(nèi)存中對(duì)所述壓縮文檔進(jìn)行解壓縮獲取一個(gè)或者多個(gè)XML數(shù)據(jù),每個(gè)所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件。
[0028]所述的XML解析器獲取模塊包括:
[0029]對(duì)應(yīng)關(guān)系存儲(chǔ)模塊,用于在云端服務(wù)器預(yù)先設(shè)置并存儲(chǔ)各種XML數(shù)據(jù)的協(xié)議類型和不同的XML解析器之間的對(duì)應(yīng)關(guān)系,每個(gè)XML解析器中設(shè)置有依次順序執(zhí)行的第一級(jí)映射和第二級(jí)映射,所述第一級(jí)映射為XML數(shù)據(jù)的Java對(duì)象樹和XML數(shù)據(jù)的數(shù)據(jù)邏輯模型之間的映射,所述第二級(jí)映射為XML數(shù)據(jù)的數(shù)據(jù)邏輯模型和數(shù)據(jù)物理模型之間的映射,所述第一級(jí)映射和第二級(jí)映射的映射流程和映射規(guī)則根據(jù)所述XML解析器所對(duì)應(yīng)的協(xié)議類型而制定;
[0030]數(shù)據(jù)傳輸模塊,用于對(duì)所述XML數(shù)據(jù)中的XML索引文件進(jìn)行解析獲取所述XML數(shù)據(jù)的協(xié)議類型和關(guān)聯(lián)的設(shè)備標(biāo)識(shí),將所述XML數(shù)據(jù)的協(xié)議類型、關(guān)聯(lián)的設(shè)備標(biāo)識(shí)和所述XML有效載荷文件傳輸?shù)皆贫朔?wù)器進(jìn)行存儲(chǔ);
[0031]查詢處理模塊,用于通過所述云端服務(wù)器根據(jù)接收到的XML數(shù)據(jù)的協(xié)議類型查詢所述存儲(chǔ)的對(duì)應(yīng)關(guān)系,獲取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器。
[0032]所述的XML數(shù)據(jù)解析模塊,具體用于通過所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行Java對(duì)象的反序列化處理,獲取所述XML有效載荷文件所對(duì)應(yīng)的Java對(duì)象樹;
[0033]通過所述XML解析器根據(jù)所述第一級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第一級(jí)映射,利用自定義的數(shù)據(jù)映射XML規(guī)則文件將所述Java對(duì)象樹轉(zhuǎn)換為數(shù)據(jù)邏輯模型;
[0034]通過所述XML解析器根據(jù)所述第二級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第二級(jí)映射,利用自適應(yīng)數(shù)據(jù)處理的映射文件將所述數(shù)據(jù)邏輯模型轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
[0035]所述的裝置還包括:
[0036]XML數(shù)據(jù)存儲(chǔ)模塊,用于根據(jù)設(shè)定的統(tǒng)一數(shù)據(jù)格式設(shè)置XML數(shù)據(jù)的數(shù)據(jù)庫模型,所述數(shù)據(jù)庫模型中包括的各種屬性信息是固定的;
[0037]根據(jù)所述數(shù)據(jù)庫模型構(gòu)造XML數(shù)據(jù)的數(shù)據(jù)庫,將所述轉(zhuǎn)換后得到的統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型存儲(chǔ)到所述XML數(shù)據(jù)的數(shù)據(jù)庫中。
[0038]由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例通過根據(jù)XML數(shù)據(jù)的協(xié)議類型選取對(duì)應(yīng)的XML解析器,利用XML解析器對(duì)XML數(shù)據(jù)進(jìn)行多級(jí)映射,將XML數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。可以支持多種不同協(xié)議的XML數(shù)據(jù)處理,統(tǒng)一化處理所有協(xié)議類型的XML數(shù)據(jù)的解析和轉(zhuǎn)換處理。采用多級(jí)XML轉(zhuǎn)換策略,增強(qiáng)了系統(tǒng)的適應(yīng)能力,可拓展性強(qiáng),而底層XML數(shù)據(jù)庫架構(gòu)較穩(wěn)定。
【專利附圖】
【附圖說明】
[0039]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0040]圖1為本發(fā)明實(shí)施例一提供的一種XML數(shù)據(jù)的處理方法的實(shí)現(xiàn)原理示意圖;
[0041]圖2為本發(fā)明實(shí)施例一提供的一種XML數(shù)據(jù)的處理方法的處理流程圖;
[0042]圖3為本發(fā)明實(shí)施例一提供的對(duì)采集的XML數(shù)據(jù)的數(shù)據(jù)壓縮包的處理過程總體上分為Pl和P2兩個(gè)流程的示意圖;
[0043]圖4為本發(fā)明實(shí)施例一提供的XML解析器對(duì)XML數(shù)據(jù)進(jìn)行多級(jí)映射轉(zhuǎn)換的原理示意圖;
[0044]圖5為本發(fā)明實(shí)施例一提供的一種XML數(shù)據(jù)的處理裝置的結(jié)構(gòu)圖,圖中,XML數(shù)據(jù)采集模塊51,XML解析器獲取模塊52,XML數(shù)據(jù)解析模塊53,XML數(shù)據(jù)存儲(chǔ)模塊54,對(duì)應(yīng)關(guān)系存儲(chǔ)模塊521,數(shù)據(jù)傳輸模塊522,查詢處理模塊523。
【具體實(shí)施方式】
[0045]為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例做進(jìn)一步的解釋說明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。
[0046]實(shí)施例一
[0047]XML獨(dú)有的數(shù)據(jù)自描述性和理論上的無限擴(kuò)展性使其成為一種新的數(shù)據(jù)交換事實(shí)上的標(biāo)準(zhǔn),隨著W3C逐步完善的XMLSchema規(guī)范,對(duì)于數(shù)據(jù)模型的描述也有了更強(qiáng)的技術(shù)支持,并將數(shù)據(jù)交換和集成成為可能。目前基于XML的數(shù)據(jù)處理與集成問題的研究己成為國(guó)際數(shù)據(jù)界的重要研究方向之一,因而絕大多數(shù)的設(shè)備采集信息都選擇采用XML的格式來進(jìn)行數(shù)據(jù)傳輸。
[0048]隨著具有很好通用性和跨平臺(tái)性的XML的出現(xiàn),人們開始逐漸考慮使用XML作為中間媒質(zhì)來完成數(shù)據(jù)的交換和共享,將XML用于不同數(shù)據(jù)的交換能夠較好地克服數(shù)據(jù)交換方式的缺點(diǎn)。
[0049]在本發(fā)明實(shí)施例中利用XML技術(shù)可擴(kuò)展性、跨平臺(tái)與結(jié)構(gòu)化等特點(diǎn),用java與XML數(shù)據(jù)格式建立多源數(shù)據(jù)集成的標(biāo)準(zhǔn)模式,并提供與多種數(shù)據(jù)格式的之間的轉(zhuǎn)換,以及自動(dòng)化處理機(jī)制。
[0050]該實(shí)施例提供了一種XML數(shù)據(jù)的處理方法的實(shí)現(xiàn)原理示意圖如圖1所示,具體處理流程如圖2所示,包括如下的處理步驟:
[0051]步驟S210、采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件,根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型。
[0052]任何一個(gè)大型的硬件廠商都需要對(duì)自己的設(shè)備有一定的監(jiān)控措施,對(duì)于已經(jīng)出售或者正在處于觀察期的設(shè)備,最好的監(jiān)控手段就是對(duì)設(shè)備進(jìn)行數(shù)據(jù)信息的采集。上述設(shè)備可以為:服務(wù)器,打印機(jī),網(wǎng)絡(luò)交換機(jī),存儲(chǔ)陣列,虛擬化設(shè)備等。在本發(fā)明實(shí)施例中,采集的設(shè)備的數(shù)據(jù)為XML格式。
[0053]在實(shí)際應(yīng)用中,由于設(shè)備的XML數(shù)據(jù)通常比較龐大,因此,采集的設(shè)備的XML數(shù)據(jù)采用zip格式等壓縮格式的數(shù)據(jù)壓縮包。一般來說,在這個(gè)數(shù)據(jù)壓縮包里存放有兩個(gè)XML信息的文件:一個(gè)我們可稱之為XML索引文件,即“index, xml",顧名思義,這里面存放的是設(shè)備的一些基本信息,比如設(shè)備序列號(hào)、設(shè)備名稱、協(xié)議類型、購(gòu)買用戶的基本信息等等,這些信息對(duì)于同一個(gè)設(shè)備來說基本上是固定的不變的;另外一個(gè)文件可稱之為XMLpayload (有效載荷)文件,里面存放的都是設(shè)備運(yùn)行參數(shù)信息,也是系統(tǒng)需要解析處理的主體部分。XML payload數(shù)據(jù)雖說都是XML格式,但由于應(yīng)用的協(xié)議類型的不同,每一種XMLpayload數(shù)據(jù)的內(nèi)部結(jié)構(gòu)都是千差萬別,所以想要利用同一種XML解析器對(duì)各種協(xié)議類型的XML payload數(shù)據(jù)進(jìn)行解析是非常困難的。
[0054]如圖3所示,本發(fā)明實(shí)施例對(duì)采集的XML數(shù)據(jù)的數(shù)據(jù)壓縮包的處理過程總體上分為兩個(gè)流程-簡(jiǎn)稱Pl (process I)和P2 (process 2)流程,這兩個(gè)流程之間設(shè)置有消息通知機(jī)制。Pl和P2流程的作業(yè)運(yùn)行都是自動(dòng)化的,因而用批處理腳本來執(zhí)行。這一層都是自動(dòng)化部署,一旦代碼開發(fā)完成,便不再需要人工參與。Pl和P2流程中的Job運(yùn)作都是批處理執(zhí)行。
[0055]首先執(zhí)行Pl流程:
[0056]采集一個(gè)或者多個(gè)設(shè)備的XML數(shù)據(jù)的壓縮文檔,對(duì)所述壓縮文檔進(jìn)行解壓縮獲取一個(gè)或者多個(gè)XML數(shù)據(jù),每個(gè)所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件。
[0057]對(duì)所述XML數(shù)據(jù)中的XML索引文件進(jìn)行解析獲取所述XML數(shù)據(jù)的協(xié)議類型和關(guān)聯(lián)的設(shè)備標(biāo)識(shí),將所述XML數(shù)據(jù)的協(xié)議類型、關(guān)聯(lián)的設(shè)備標(biāo)識(shí)和所述XML payload數(shù)據(jù)傳輸?shù)皆贫朔?wù)器進(jìn)行存儲(chǔ)。
[0058]上述PI流程中的XML數(shù)據(jù)的壓縮和解壓的過程,本發(fā)明實(shí)施例采用內(nèi)存中處理機(jī)制來實(shí)現(xiàn),也就是所有的壓縮和解壓任務(wù)都在內(nèi)存中完成。這樣做有兩個(gè)好處:第一,內(nèi)存RAM的處理速度相對(duì)于硬盤ROM的處理速度要快,不把壓縮文件存入硬盤而直接在內(nèi)存中解壓和提取,然后進(jìn)行文件傳輸。這樣一來,文件的讀寫速度可以大大提高,但代價(jià)是消耗較多的內(nèi)存,對(duì)服務(wù)器要求較高。第二,垃圾文件的清除也較為方便,因?yàn)樽允贾两K數(shù)據(jù)文件都存放在云端的內(nèi)存中,要清理內(nèi)存數(shù)據(jù)也是非常快的。這項(xiàng)技術(shù)大大提高了文件讀寫效率,也是對(duì)于大數(shù)據(jù)處理的一種較為可靠的解決方案。
[0059]一旦Pl流程執(zhí)行完畢,便會(huì)判斷是否有P2流程的任務(wù)來進(jìn)行下一步數(shù)據(jù)的處理。如果有,Pl將會(huì)向P2的任務(wù)發(fā)送消息,消息隊(duì)列的傳送通過JMS(Java Message Service,Java消息服務(wù))的點(diǎn)對(duì)點(diǎn)模型來實(shí)現(xiàn)。因此,上述Pl流程處理完畢后,將向云端服務(wù)器發(fā)送攜帶XML數(shù)據(jù)的協(xié)議類型和關(guān)聯(lián)的設(shè)備標(biāo)識(shí)的JMS消息,并同時(shí)向云端服務(wù)器發(fā)送XMLpayload 數(shù)據(jù)。
[0060]步驟S220、選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器,
[0061]云端服務(wù)器是為了便于系統(tǒng)開發(fā)而自行設(shè)計(jì)的一種云架構(gòu)服務(wù)。它集成了軟件、工具和一系列事務(wù)的解決方案,是一種高效,穩(wěn)定,可管理的服務(wù)架構(gòu)。它提供的架構(gòu)和工具可以滿足大多數(shù)業(yè)務(wù)需求,使得團(tuán)隊(duì)可以在開發(fā)的過程中把更多的精力放在系統(tǒng)功能的研究和設(shè)計(jì)上。其框架也是基于MVC (Model View Controller,模型、視圖、控制)的基本架構(gòu),里面包含有java開發(fā)常用的SSH(struts+spring+hibe;rnate)架構(gòu)體系。云端服務(wù)器的主要功能是提供一個(gè)很好的云服務(wù)平臺(tái),提供遠(yuǎn)程的云文件系統(tǒng)訪問和存取服務(wù),以及相關(guān)設(shè)備采集數(shù)據(jù)的獲取接口。
[0062]在云端服務(wù)器預(yù)先設(shè)置多個(gè)XML解析器,并存儲(chǔ)各種XML數(shù)據(jù)的協(xié)議類型和不同的XML解析器之間的對(duì)應(yīng)關(guān)系,每個(gè)XML解析器中設(shè)置有依次順序執(zhí)行的第一級(jí)映射和第二級(jí)映射,所述第一級(jí)映射為XML數(shù)據(jù)的Java對(duì)象樹和XML數(shù)據(jù)的數(shù)據(jù)邏輯模型之間的映射,所述第二級(jí)映射為XML數(shù)據(jù)的數(shù)據(jù)邏輯模型和數(shù)據(jù)物理模型之間的映射,所述第一級(jí)映射和第二級(jí)映射的映射流程和映射規(guī)則根據(jù)所述XML解析器所對(duì)應(yīng)的協(xié)議類型而制定。
[0063]在云端服務(wù)器執(zhí)行P2流程:
[0064]P2流程負(fù)責(zé)對(duì)XML數(shù)據(jù)進(jìn)行解析和格式化處理。不同的數(shù)據(jù)來源(snmp,wmi,ilo,wbem等)雖然都是以XML的格式存在,但這些不同的數(shù)據(jù)屬性都需要規(guī)范化,最后才能存入數(shù)據(jù)庫中進(jìn)行統(tǒng)一管理。一個(gè)XML的數(shù)據(jù)通常具備兩個(gè)參數(shù):name和value ;原始數(shù)據(jù)的name是比較難以理解的,為此我們必須對(duì)其加以規(guī)范,將name解析并轉(zhuǎn)換成合適的名稱,然后將其value存入數(shù)據(jù)庫對(duì)應(yīng)的字段中。此外,XML中有很多CDATA數(shù)據(jù)也是需要額外的解析器來處理的。
[0065]由于協(xié)議類型的不同,XML的原始數(shù)據(jù)格式差別過大,勢(shì)必會(huì)增加解析的難度。特別是采用DOM樹進(jìn)行解析的話,對(duì)于結(jié)構(gòu)的要求更加嚴(yán)格。本發(fā)明實(shí)施例采用多個(gè)XML解析器(Job)來處理不同的協(xié)議信息,這樣一來每個(gè)協(xié)議都可以有各自的XML解析器來解析各自的XML文件。
[0066]云端服務(wù)器接收到Pl流程傳輸過來的攜帶XML數(shù)據(jù)的協(xié)議類型的JMS消息后,根據(jù)接收到的XML數(shù)據(jù)的協(xié)議類型查詢所述存儲(chǔ)的協(xié)議類型和不同的XML解析器之間的對(duì)應(yīng)關(guān)系,獲取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器,并向該XML解析器發(fā)送攜帶設(shè)備的標(biāo)識(shí)的通知消息。
[0067]云端服務(wù)器還將Pl流程傳輸過來的設(shè)備的標(biāo)識(shí)和XML payload數(shù)據(jù)進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0068]步驟S230、利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行兩級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
[0069]XML解析器接收到通知消息后,獲取通知消息中攜帶的設(shè)備的標(biāo)識(shí)關(guān)聯(lián)的XMLpayload數(shù)據(jù),并對(duì)XML payload數(shù)據(jù)進(jìn)行解析處理。
[0070]在本發(fā)明實(shí)施例中,XML解析器采用多級(jí)映射轉(zhuǎn)換的方式解決多源XML的格式問題,而且也可以減小數(shù)據(jù)庫結(jié)構(gòu)的改動(dòng)。所謂的多級(jí)映射轉(zhuǎn)換,就是將XML數(shù)據(jù)經(jīng)過多次映射轉(zhuǎn)換,最終轉(zhuǎn)換為可存儲(chǔ)的數(shù)據(jù)類型。
[0071]該實(shí)施例提供的一種XML解析器對(duì)XML數(shù)據(jù)進(jìn)行多級(jí)映射轉(zhuǎn)換的原理示意圖如圖4所示,具體處理過程包括:所述XML解析器首先對(duì)于原始XML數(shù)據(jù)進(jìn)行第一級(jí)映射,這是JAXB中的一項(xiàng)技術(shù)稱之為java對(duì)象的反序列化處理。也就是將XML數(shù)據(jù)逐一提取,并生成相應(yīng)的動(dòng)態(tài)java對(duì)象樹。即XML解析器對(duì)所述XML有效載荷文件進(jìn)行Java對(duì)象的反序列化處理,獲取所述XML有效載荷文件所對(duì)應(yīng)的Java對(duì)象樹。
[0072]所述XML解析器根據(jù)所述第一級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第一級(jí)映射,利用自定義的數(shù)據(jù)映射XML規(guī)則文件將所述Java對(duì)象樹轉(zhuǎn)換為RWM(real worldmodel,真實(shí)文本模型),我們可以通過RWM模型看出數(shù)據(jù)所包含的真實(shí)屬性,也是數(shù)據(jù)的邏輯模型。因此,RWM模型也稱為數(shù)據(jù)邏輯模型。
[0073]RWM模型的建立一方面是為了開發(fā)者和內(nèi)部維護(hù)人員能夠更清楚的審視每種設(shè)備本身所包含的一系列屬性參數(shù),另一方面,也是為了減小對(duì)于數(shù)據(jù)庫底層的模型改動(dòng)。本系統(tǒng)的數(shù)據(jù)庫物理模型只會(huì)包含一些基本設(shè)備類型的屬性,而所有的新增類型和結(jié)構(gòu)都可以融入其中。例如對(duì)于服務(wù)器而言,其基本的屬性包括CPU,內(nèi)存,硬盤等等信息,但對(duì)于每種具體的設(shè)備,它們都有不同的參數(shù)需要搜集,因而一旦存入數(shù)據(jù)庫,便要遵循數(shù)據(jù)庫的模型來進(jìn)行處理。有了 RWM層級(jí)的模型,我們就能很方便的配置每種設(shè)備的屬性參數(shù),而且暫時(shí)不用考慮數(shù)據(jù)庫層級(jí)的映射關(guān)系。
[0074]然后,XML解析器根據(jù)所述第二級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第二級(jí)映射,利用sadb (support automat1n data base,自適應(yīng)數(shù)據(jù)處理的映射文件(sadbmapper.xml)將所述數(shù)據(jù)邏輯模型轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。這一層級(jí)的映射關(guān)系是唯一的,因?yàn)樽詈蠖紝⒋嫒霐?shù)據(jù)庫,所以這一級(jí)映射文件的配置要非常的謹(jǐn)慎和嚴(yán)格。
[0075]總之,XML解析器會(huì)根據(jù)Pl提供的協(xié)議類型來選擇不同的協(xié)議處理分支,每個(gè)分支都有對(duì)于不同協(xié)議XML數(shù)據(jù)的處理模塊。在第一級(jí)映射中,即使是在相同的協(xié)議里,系統(tǒng)也會(huì)根據(jù)XML里不同的設(shè)備類型字段,將XML數(shù)據(jù)通過不同的自定義的數(shù)據(jù)映射XML規(guī)則文件映射成不同的數(shù)據(jù)邏輯模型。圖4中只畫出了針對(duì)不同協(xié)議類型的匹配,事實(shí)上對(duì)于不同設(shè)備的類型,系統(tǒng)在做RWM —級(jí)的映射時(shí)所調(diào)用的第一級(jí)映射中的自定義的數(shù)據(jù)映射XML規(guī)則文件也是不同的。這里的第二級(jí)轉(zhuǎn)換(RWM轉(zhuǎn)換)只是以協(xié)議名作為一個(gè)映射文件樣例,省略了以設(shè)備類型命名的部分。
[0076]第一級(jí)映射的目的是為數(shù)據(jù)的規(guī)范:在一個(gè)XML元素標(biāo)簽里會(huì)有很多屬性,而且XML元素名稱本身也需要進(jìn)行翻譯才能讓開發(fā)者和分析者了解其具體意義所在;加上CDATA數(shù)據(jù)的干擾,沒有規(guī)范的XML數(shù)據(jù)是無法進(jìn)行映射的。
[0077]第二級(jí)映射的目的在于從XML中提取真正有用的信息,并生成一個(gè)較為清晰的設(shè)備數(shù)據(jù)的邏輯結(jié)構(gòu)。以便于日后的數(shù)據(jù)配置修改和維護(hù),也便于開發(fā)者的開發(fā)和數(shù)據(jù)類型校驗(yàn)。這一級(jí)的配置是根據(jù)具體需求而進(jìn)行改動(dòng)的。
[0078]步驟S240、將轉(zhuǎn)換后得到的統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型存儲(chǔ)到所述XML數(shù)據(jù)的數(shù)據(jù)庫中。
[0079]根據(jù)設(shè)定的統(tǒng)一數(shù)據(jù)格式設(shè)置XML數(shù)據(jù)的數(shù)據(jù)庫模型,所述數(shù)據(jù)庫模型中包括的各種屬性信息是固定的。
[0080]根據(jù)所述數(shù)據(jù)庫模型構(gòu)造XML數(shù)據(jù)的數(shù)據(jù)庫,將所述轉(zhuǎn)換后得到的統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)格式的數(shù)據(jù)物理模型和設(shè)備的標(biāo)識(shí)信息一起管理存儲(chǔ)到數(shù)據(jù)庫中。上述統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)格式由數(shù)據(jù)庫的mapper映射文件制定。
[0081]上述XML數(shù)據(jù)的數(shù)據(jù)庫的底層的數(shù)據(jù)結(jié)構(gòu)是不變的,當(dāng)增加了一個(gè)新的XML數(shù)據(jù)的協(xié)議類型后,只需要根據(jù)該新的XML數(shù)據(jù)的協(xié)議類型設(shè)置一個(gè)新的XML解析器,或者,對(duì)現(xiàn)有的XML解析器的映射規(guī)則進(jìn)行修改。這樣也就提升了整個(gè)系統(tǒng)的穩(wěn)定性,不必總是顧慮一些新增的設(shè)備或者改動(dòng),因?yàn)榻?jīng)過這么多層級(jí)的映射轉(zhuǎn)換,系統(tǒng)已經(jīng)能夠從不同的設(shè)備中找到其共有的屬性特征,進(jìn)行存儲(chǔ)操作,正所謂以不變應(yīng)萬變。
[0082]實(shí)施例二
[0083]該實(shí)施例提供了一種XML數(shù)據(jù)的處理裝置,其具體實(shí)現(xiàn)結(jié)構(gòu)如圖5所示,具體可以包括如下的模塊:
[0084]XML數(shù)據(jù)采集模塊51,用于采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件;
[0085]XML解析器獲取模塊52,用于根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型,選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器;
[0086]XML數(shù)據(jù)解析模塊53,用于利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行多級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
[0087]進(jìn)一步地,所述的XML數(shù)據(jù)采集模塊,具體用于采集一個(gè)或者多個(gè)設(shè)備的XML數(shù)據(jù)的壓縮文檔,在內(nèi)存中對(duì)所述壓縮文檔進(jìn)行解壓縮獲取一個(gè)或者多個(gè)XML數(shù)據(jù),每個(gè)所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件。
[0088]進(jìn)一步地,所述的XML解析器獲取模塊52具體包括:
[0089]對(duì)應(yīng)關(guān)系存儲(chǔ)模塊521,用于在云端服務(wù)器預(yù)先設(shè)置并存儲(chǔ)各種XML數(shù)據(jù)的協(xié)議類型和不同的XML解析器之間的對(duì)應(yīng)關(guān)系,每個(gè)XML解析器中設(shè)置有依次順序執(zhí)行的第一級(jí)映射和第二級(jí)映射,所述第一級(jí)映射為XML數(shù)據(jù)的Java對(duì)象樹和XML數(shù)據(jù)的數(shù)據(jù)邏輯模型之間的映射,所述第二級(jí)映射為XML數(shù)據(jù)的數(shù)據(jù)邏輯模型和數(shù)據(jù)物理模型之間的映射,所述第一級(jí)映射和第二級(jí)映射的映射流程和映射規(guī)則根據(jù)所述XML解析器所對(duì)應(yīng)的協(xié)議類型而制定;
[0090]數(shù)據(jù)傳輸模塊522,用于對(duì)所述XML數(shù)據(jù)中的XML索引文件進(jìn)行解析獲取所述XML數(shù)據(jù)的協(xié)議類型和關(guān)聯(lián)的設(shè)備標(biāo)識(shí),將所述XML數(shù)據(jù)的協(xié)議類型、關(guān)聯(lián)的設(shè)備標(biāo)識(shí)和所述XML有效載荷文件傳輸?shù)皆贫朔?wù)器進(jìn)行存儲(chǔ);
[0091]查詢處理模塊523,用于通過所述云端服務(wù)器根據(jù)接收到的XML數(shù)據(jù)的協(xié)議類型查詢所述存儲(chǔ)的對(duì)應(yīng)關(guān)系,獲取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器。
[0092]進(jìn)一步地,所述的XML數(shù)據(jù)解析模塊53,具體用于通過所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行Java對(duì)象的反序列化處理,獲取所述XML有效載荷文件所對(duì)應(yīng)的Java對(duì)象樹;
[0093]通過所述XML解析器根據(jù)所述第一級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第一級(jí)映射,利用自定義的數(shù)據(jù)映射XML規(guī)則文件將所述Java對(duì)象樹轉(zhuǎn)換為數(shù)據(jù)邏輯模型;
[0094]通過所述XML解析器根據(jù)所述第二級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第二級(jí)映射,利用自適應(yīng)數(shù)據(jù)處理的映射文件將所述數(shù)據(jù)邏輯模型轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
[0095]進(jìn)一步地,所述的裝置還包括:
[0096]XML數(shù)據(jù)存儲(chǔ)模塊54,用于根據(jù)設(shè)定的統(tǒng)一數(shù)據(jù)格式設(shè)置XML數(shù)據(jù)的數(shù)據(jù)庫模型,所述數(shù)據(jù)庫模型中包括的各種屬性信息是固定的;
[0097]根據(jù)所述數(shù)據(jù)庫模型構(gòu)造XML數(shù)據(jù)的數(shù)據(jù)庫,將所述轉(zhuǎn)換后得到的統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型存儲(chǔ)到所述XML數(shù)據(jù)的數(shù)據(jù)庫中。
[0098]用本發(fā)明實(shí)施例的裝置進(jìn)行XML數(shù)據(jù)的理的具體過程與前述方法實(shí)施例類似,此處不再贅述。
[0099]綜上所述,本發(fā)明實(shí)施例通過根據(jù)XML數(shù)據(jù)的協(xié)議類型選取對(duì)應(yīng)的XML解析器,利用XML解析器對(duì)XML數(shù)據(jù)進(jìn)行多級(jí)映射,將XML數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型??梢灾С侄喾N不同協(xié)議的XML數(shù)據(jù)處理,統(tǒng)一化處理所有協(xié)議類型的XML數(shù)據(jù)的解析和轉(zhuǎn)換處理。采用多級(jí)XML轉(zhuǎn)換策略,增強(qiáng)了系統(tǒng)的適應(yīng)能力,可拓展性強(qiáng),而底層XML數(shù)據(jù)庫架構(gòu)較穩(wěn)定。
[0100]本發(fā)明實(shí)施例的XML數(shù)據(jù)的解析轉(zhuǎn)換過程實(shí)現(xiàn)簡(jiǎn)單而且快捷,轉(zhuǎn)換質(zhì)量好,數(shù)據(jù)資源的移植性、靈活性和可重用性都很好,降低了系統(tǒng)運(yùn)行和維護(hù)的工作量和成本。
[0101]本發(fā)明實(shí)施例利用云端服務(wù)器的分布式批處理任務(wù)運(yùn)作,支持大數(shù)據(jù)的高效并發(fā);利用內(nèi)存數(shù)據(jù)處理機(jī)制,增強(qiáng)數(shù)據(jù)的讀取和寫入速度;利用異步消息并發(fā)處理機(jī)制,實(shí)現(xiàn)了多源xml采集數(shù)據(jù)的自適應(yīng)處理入庫,無需人工干預(yù)。
[0102]本發(fā)明實(shí)施例充分利用XML技術(shù)可擴(kuò)展性、跨平臺(tái)與結(jié)構(gòu)化等特點(diǎn),用java與XML數(shù)據(jù)格式建立多源數(shù)據(jù)集成的標(biāo)準(zhǔn)模式,并提供與多種數(shù)據(jù)格式的之間的轉(zhuǎn)換,以及自動(dòng)化處理機(jī)制。
[0103]本領(lǐng)域普通技術(shù)人員可以理解:附圖只是一個(gè)實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
[0104]通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件設(shè)備的形式體現(xiàn)出來,該計(jì)算機(jī)軟件設(shè)備可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0105]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0106]以上所述,僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種XML數(shù)據(jù)的處理方法,其特征在于,包括: 采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件,根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型; 選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器,利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行多級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
2.根據(jù)權(quán)利要求1所述的XML數(shù)據(jù)的處理方法,其特征在于,所述的采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件,根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型,包括: 采集一個(gè)或者多個(gè)設(shè)備的XML數(shù)據(jù)的壓縮文檔,在內(nèi)存中對(duì)所述壓縮文檔進(jìn)行解壓縮獲取一個(gè)或者多個(gè)XML數(shù)據(jù),每個(gè)所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件; 對(duì)所述XML數(shù)據(jù)中的XML索引文件進(jìn)行解析獲取所述XML數(shù)據(jù)的協(xié)議類型和關(guān)聯(lián)的設(shè)備標(biāo)識(shí),將所述XML數(shù)據(jù)的協(xié)議類型、關(guān)聯(lián)的設(shè)備標(biāo)識(shí)和所述XML有效載荷文件傳輸?shù)皆贫朔?wù)器進(jìn)行存儲(chǔ)。
3.根據(jù)權(quán)利要求2所述的XML數(shù)據(jù)的處理方法,其特征在于,所述的選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器,包括: 在云端服務(wù)器預(yù)先設(shè)置并存儲(chǔ)各種XML數(shù)據(jù)的協(xié)議類型和不同的XML解析器之間的對(duì)應(yīng)關(guān)系,每個(gè)XML解析器中設(shè)置有依次順序執(zhí)行的第一級(jí)映射和第二級(jí)映射,所述第一級(jí)映射為XML數(shù)據(jù)的Java對(duì)象樹和XML數(shù)據(jù)的數(shù)據(jù)邏輯模型之間的映射,所述第二級(jí)映射為XML數(shù)據(jù)的數(shù)據(jù)邏輯模型和數(shù)據(jù)物理模型之間的映射,所述第一級(jí)映射和第二級(jí)映射的映射流程和映射規(guī)則根據(jù)所述XML解析器所對(duì)應(yīng)的協(xié)議類型而制定; 所述云端服務(wù)器根據(jù)接收到的XML數(shù)據(jù)的協(xié)議類型查詢所述存儲(chǔ)的對(duì)應(yīng)關(guān)系,獲取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器。
4.根據(jù)權(quán)利要求3所述的XML數(shù)據(jù)的處理方法,其特征在于,所述的利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行多級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型,包括: 所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行Java對(duì)象的反序列化處理,獲取所述XML有效載荷文件所對(duì)應(yīng)的Java對(duì)象樹; 所述XML解析器根據(jù)所述第一級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第一級(jí)映射,利用自定義的數(shù)據(jù)映射XML規(guī)則文件將所述Java對(duì)象樹轉(zhuǎn)換為數(shù)據(jù)邏輯模型; 所述XML解析器根據(jù)所述第二級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第二級(jí)映射,利用自適應(yīng)數(shù)據(jù)處理的映射文件將所述數(shù)據(jù)邏輯模型轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的XML數(shù)據(jù)的處理方法,其特征在于,所述的方法還包括: 根據(jù)設(shè)定的統(tǒng)一數(shù)據(jù)格式設(shè)置XML數(shù)據(jù)的數(shù)據(jù)庫模型,所述數(shù)據(jù)庫模型中包括的各種屬性信息是固定的; 根據(jù)所述數(shù)據(jù)庫模型構(gòu)造XML數(shù)據(jù)的數(shù)據(jù)庫,將所述轉(zhuǎn)換后得到的統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型和XML數(shù)據(jù)所對(duì)應(yīng)的設(shè)備的標(biāo)識(shí)存儲(chǔ)到所述XML數(shù)據(jù)的數(shù)據(jù)庫中。
6.一種XML數(shù)據(jù)的處理裝置,其特征在于,包括: XML數(shù)據(jù)采集模塊,用于采集XML數(shù)據(jù),所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件; XML解析器獲取模塊,用于根據(jù)所述XML索引文件獲取所述XML數(shù)據(jù)的協(xié)議類型,選取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器; XML數(shù)據(jù)解析模塊,用于利用所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行多級(jí)映射,將所述XML有效載荷文件轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
7.根據(jù)權(quán)利要求6所述的XML數(shù)據(jù)的處理裝置,其特征在于: 所述的XML數(shù)據(jù)采集模塊,具體用于采集一個(gè)或者多個(gè)設(shè)備的XML數(shù)據(jù)的壓縮文檔,在內(nèi)存中對(duì)所述壓縮文檔進(jìn)行解壓縮獲取一個(gè)或者多個(gè)XML數(shù)據(jù),每個(gè)所述XML數(shù)據(jù)中包括XML索引文件和XML有效載荷文件。
8.根據(jù)權(quán)利要求7所述的XML數(shù)據(jù)的處理裝置,其特征在于,所述的XML解析器獲取模塊包括: 對(duì)應(yīng)關(guān)系存儲(chǔ)模塊,用于在云端服務(wù)器預(yù)先設(shè)置并存儲(chǔ)各種XML數(shù)據(jù)的協(xié)議類型和不同的XML解析器之間的對(duì)應(yīng)關(guān)系,每個(gè)XML解析器中設(shè)置有依次順序執(zhí)行的第一級(jí)映射和第二級(jí)映射,所述第一級(jí)映射為XML數(shù)據(jù)的Java對(duì)象樹和XML數(shù)據(jù)的數(shù)據(jù)邏輯模型之間的映射,所述第二級(jí)映射為XML數(shù)據(jù)的數(shù)據(jù)邏輯模型和數(shù)據(jù)物理模型之間的映射,所述第一級(jí)映射和第二級(jí)映射的映射流程和映射規(guī)則根據(jù)所述XML解析器所對(duì)應(yīng)的協(xié)議類型而制定; 數(shù)據(jù)傳輸模塊,用于對(duì)所述XML數(shù)據(jù)中的XML索引文件進(jìn)行解析獲取所述XML數(shù)據(jù)的協(xié)議類型和關(guān)聯(lián)的設(shè)備標(biāo)識(shí),將所述XML數(shù)據(jù)的協(xié)議類型、關(guān)聯(lián)的設(shè)備標(biāo)識(shí)和所述XML有效載荷文件傳輸?shù)皆贫朔?wù)器進(jìn)行存儲(chǔ); 查詢處理模塊,用于通過所述云端服務(wù)器根據(jù)接收到的XML數(shù)據(jù)的協(xié)議類型查詢所述存儲(chǔ)的對(duì)應(yīng)關(guān)系,獲取所述XML數(shù)據(jù)的協(xié)議類型所對(duì)應(yīng)的XML解析器。
9.根據(jù)權(quán)利要求8所述的XML數(shù)據(jù)的處理裝置,其特征在于: 所述的XML數(shù)據(jù)解析模塊,具體用于通過所述XML解析器對(duì)所述XML有效載荷文件進(jìn)行Java對(duì)象的反序列化處理,獲取所述XML有效載荷文件所對(duì)應(yīng)的Java對(duì)象樹; 通過所述XML解析器根據(jù)所述第一級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第一級(jí)映射,利用自定義的數(shù)據(jù)映射XML規(guī)則文件將所述Java對(duì)象樹轉(zhuǎn)換為數(shù)據(jù)邏輯模型; 通過所述XML解析器根據(jù)所述第二級(jí)映射的映射流程和映射規(guī)則執(zhí)行所述第二級(jí)映射,利用自適應(yīng)數(shù)據(jù)處理的映射文件將所述數(shù)據(jù)邏輯模型轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型。
10.根據(jù)權(quán)利要求6至9任一項(xiàng)所述的XML數(shù)據(jù)的處理裝置,其特征在于,所述的裝置還包括: XML數(shù)據(jù)存儲(chǔ)模塊,用于根據(jù)設(shè)定的統(tǒng)一數(shù)據(jù)格式設(shè)置XML數(shù)據(jù)的數(shù)據(jù)庫模型,所述數(shù)據(jù)庫模型中包括的各種屬性信息是固定的; 根據(jù)所述數(shù)據(jù)庫模型構(gòu)造XML數(shù)據(jù)的數(shù)據(jù)庫,將所述轉(zhuǎn)換后得到的統(tǒng)一數(shù)據(jù)格式的數(shù)據(jù)物理模型存儲(chǔ)到所述XML數(shù)據(jù)的數(shù)據(jù)庫中。
【文檔編號(hào)】G06F17/30GK104268143SQ201410390762
【公開日】2015年1月7日 申請(qǐng)日期:2014年8月8日 優(yōu)先權(quán)日:2014年8月8日
【發(fā)明者】張師琲, 杜字霞 申請(qǐng)人:華迪計(jì)算機(jī)集團(tuán)有限公司, 南京華迪計(jì)算機(jī)有限公司