亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng)及方法與流程

文檔序號(hào):12493095閱讀:479來源:國(guó)知局
DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng)及方法與流程

本發(fā)明涉及通訊技術(shù)領(lǐng)域,具體來說,涉及一種DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng)及方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)、軟件技術(shù)蓬勃發(fā)展,現(xiàn)代的業(yè)務(wù)系統(tǒng)協(xié)議構(gòu)成也越來越豐富,在TCP/IP網(wǎng)絡(luò)協(xié)議棧中,位于應(yīng)用層的協(xié)議越來越多。在一些審計(jì)產(chǎn)品中,需要對(duì)各種應(yīng)用層協(xié)議數(shù)據(jù)進(jìn)行分析和提取,然而,不同的協(xié)議構(gòu)成千差萬別,這大大加大了分析的難度。

一般,對(duì)于不同的網(wǎng)絡(luò)協(xié)議,普遍的處理方法就是針對(duì)每一種協(xié)議開發(fā)一種相應(yīng)的解析程序,用來解析本協(xié)議數(shù)據(jù)。那么,隨著需要支持的協(xié)議種類的增加,每次都需要單獨(dú)開發(fā),并且解析后的數(shù)據(jù)不能復(fù)用。不僅增加了大量的開發(fā)工作和維護(hù)工作,也不易節(jié)約成本。

綜上所述,如何才能有效的解決以上闡述的問題,是一項(xiàng)亟待解決的課題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于提出一種DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng)及方法,能夠滿足多種協(xié)議數(shù)據(jù)的處理需求,提升使用的便捷性。

為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:

一種DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng),用于將DTO協(xié)議數(shù)據(jù)解析為元素對(duì)象結(jié)構(gòu),所述規(guī)格化的系統(tǒng)包括類型識(shí)別模塊和數(shù)據(jù)解析模塊;

所述類型識(shí)別模塊用于判斷數(shù)據(jù)包是請(qǐng)求還是響應(yīng),并根據(jù)判斷的結(jié)果調(diào)用相應(yīng)的解析流程;

所述數(shù)據(jù)解析模塊用于解析DTO協(xié)議數(shù)據(jù)中的實(shí)體數(shù)據(jù)類型成元素對(duì)象結(jié)構(gòu),解析出所述DTO協(xié)議數(shù)據(jù)類型對(duì)應(yīng)的屬性并加入所述元素對(duì)象結(jié)構(gòu)中。

進(jìn)一步的,所述數(shù)據(jù)解析模塊包括對(duì)象名稱處理模塊、數(shù)據(jù)類型判斷模塊和數(shù)據(jù)提取模塊;

所述對(duì)象名稱處理模塊用于獲取DTO對(duì)象名稱;

所述數(shù)據(jù)類型判斷模塊用于判斷當(dāng)前標(biāo)記的數(shù)據(jù)類型;

所述數(shù)據(jù)提取模塊用于根據(jù)數(shù)據(jù)類型判斷模塊得出的數(shù)據(jù)類型,提取出該類型的數(shù)據(jù)和長(zhǎng)度,然后將這些數(shù)據(jù)分別建立元素對(duì)象結(jié)構(gòu),將數(shù)值賦給該元素對(duì)象的節(jié)點(diǎn)文本或者屬性列表,并把這些元素對(duì)象作為上層元素對(duì)象的子節(jié)點(diǎn)賦給父節(jié)點(diǎn)的子節(jié)點(diǎn)列表。

進(jìn)一步的,所述元素對(duì)象結(jié)構(gòu)包括節(jié)點(diǎn)文本、屬性列表、子節(jié)點(diǎn)列表、節(jié)點(diǎn)的數(shù)據(jù)類型和父節(jié)點(diǎn)信息。

一種DTO協(xié)議數(shù)據(jù)規(guī)格化的方法,用于將DTO協(xié)議數(shù)據(jù)解析為元素對(duì)象結(jié)構(gòu),包括以下步驟:

1)判斷數(shù)據(jù)包是請(qǐng)求數(shù)據(jù)包還是響應(yīng)數(shù)據(jù)包,根據(jù)判斷的結(jié)構(gòu)選擇相應(yīng)的解析流程;

2)將DTO協(xié)議數(shù)據(jù)中的實(shí)體數(shù)據(jù)類型解析成元素對(duì)象結(jié)構(gòu),解析出所述DTO協(xié)議數(shù)據(jù)類型對(duì)應(yīng)的屬性并加入所述元素對(duì)象結(jié)構(gòu)中。

進(jìn)一步的,步驟2)包括以下步驟:

2.1)當(dāng)數(shù)據(jù)包是請(qǐng)求數(shù)據(jù)包時(shí),首先獲取DTO對(duì)象名稱,然后進(jìn)行以下步驟,當(dāng)數(shù)據(jù)包是響應(yīng)數(shù)據(jù)包時(shí),直接進(jìn)行以下步驟;

2.2)判斷當(dāng)前標(biāo)記的數(shù)據(jù)類型;

2.3)根據(jù)步驟2.2)判斷出的數(shù)據(jù)類型提取該類型數(shù)據(jù)和長(zhǎng)度,然后對(duì)這些數(shù)據(jù)分別建立元素對(duì)象結(jié)構(gòu),將數(shù)值賦給該元素的節(jié)點(diǎn)文本或者屬性列表,并把這些元素對(duì)象作為上層元素對(duì)象的子節(jié)點(diǎn)賦給父節(jié)點(diǎn)的子節(jié)點(diǎn)列表。

進(jìn)一步的,所述元素對(duì)象結(jié)構(gòu)包括節(jié)點(diǎn)文本、屬性列表、子節(jié)點(diǎn)列表、節(jié)點(diǎn)的數(shù)據(jù)類型和父節(jié)點(diǎn)信息。

本發(fā)明的有益效果:本發(fā)明的DTO協(xié)議數(shù)據(jù)解析方法,能夠?qū)f(xié)議數(shù)據(jù)規(guī)格化成了統(tǒng)一的格式,因而能夠滿足多種協(xié)議數(shù)據(jù)處理需求,提升使用的便捷性,同時(shí)解決了一般方法的復(fù)雜性、重復(fù)性,降低了開發(fā)成本。

附圖說明

圖1是根據(jù)本發(fā)明實(shí)施例所述的DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng)框圖;

圖2是根據(jù)本發(fā)明實(shí)施例所述的DTO協(xié)議數(shù)據(jù)規(guī)格化的方法流程圖。

具體實(shí)施方式

下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。

如圖1所示,本發(fā)明提供一種DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng)及方法,用于解決目前協(xié)議解析的復(fù)雜性,本發(fā)明將不同協(xié)議數(shù)據(jù)規(guī)格化成一種統(tǒng)一結(jié)構(gòu),即將規(guī)格化后的協(xié)議數(shù)據(jù)按照樹狀結(jié)構(gòu)保存在元素對(duì)象中,方便數(shù)據(jù)的查找和提取。這樣,其他功能模塊需要使用該協(xié)議數(shù)據(jù)時(shí),可以直接從E對(duì)象中讀取數(shù)據(jù),而不需要再次解析原始協(xié)議數(shù)據(jù)包。

元素對(duì)象是本發(fā)明自定義的通用數(shù)據(jù)結(jié)構(gòu),用來存儲(chǔ)規(guī)格化的協(xié)議數(shù)據(jù)。該數(shù)據(jù)結(jié)構(gòu)內(nèi)部包含三個(gè)基本成員:節(jié)點(diǎn)文本、屬性列表、子節(jié)點(diǎn)列表。同時(shí),附帶該節(jié)點(diǎn)的數(shù)據(jù)類型、父節(jié)點(diǎn)信息等。

DTO全稱Data Transfer Object,即數(shù)據(jù)傳輸對(duì)象,常用在遠(yuǎn)程調(diào)用中。使用時(shí),首先用該對(duì)象包含所需要的各項(xiàng)數(shù)據(jù),然后將其作為單個(gè)參數(shù)進(jìn)行遠(yuǎn)程調(diào)用,最后在本地分解各項(xiàng)數(shù)據(jù)。相對(duì)于傳統(tǒng)遠(yuǎn)程調(diào)用方法,DTO減少了遠(yuǎn)程調(diào)用的次數(shù),提高了數(shù)據(jù)獲取的速度,降低了網(wǎng)絡(luò)帶寬要求。

本發(fā)明詳細(xì)說明了如何將DTO協(xié)議數(shù)據(jù)解析為元素對(duì)象結(jié)構(gòu),具體如下:

如圖1所示,根據(jù)本發(fā)明的實(shí)施例所述的一種DTO協(xié)議數(shù)據(jù)規(guī)格化的系統(tǒng),用于將DTO協(xié)議數(shù)據(jù)解析為元素對(duì)象結(jié)構(gòu),所述規(guī)格化的系統(tǒng)包括類型識(shí)別模塊和數(shù)據(jù)解析模塊;

所述類型識(shí)別模塊用于判斷數(shù)據(jù)包是請(qǐng)求還是響應(yīng),并根據(jù)判斷的結(jié)果調(diào)用相應(yīng)的解析流程;

具體的,如果數(shù)據(jù)包中的數(shù)據(jù)首部為c..m則為請(qǐng)求數(shù)據(jù);如果數(shù)據(jù)包的數(shù)據(jù)首部是r..則為響應(yīng)數(shù)據(jù)(其中..為兩個(gè)字節(jié)的不可見字符)。然后按類型(請(qǐng)求/響應(yīng)),分別調(diào)用請(qǐng)求/響應(yīng)解析流程。

如果數(shù)據(jù)包中的數(shù)據(jù)首部為c..m則為請(qǐng)求數(shù)據(jù);如果數(shù)據(jù)包的數(shù)據(jù)首部是r..則為響應(yīng)數(shù)據(jù)(其中..為兩個(gè)字節(jié)的不可見字符)。然后按類型(請(qǐng)求/響應(yīng)),分別調(diào)用請(qǐng)求/響應(yīng)解析流程。

所述數(shù)據(jù)解析模塊用于解析DTO協(xié)議數(shù)據(jù)中的實(shí)體數(shù)據(jù)類型成元素對(duì)象結(jié)構(gòu),解析出所述DTO協(xié)議數(shù)據(jù)類型對(duì)應(yīng)的屬性并加入所述元素對(duì)象結(jié)構(gòu)中。

進(jìn)一步的,所述數(shù)據(jù)解析模塊包括對(duì)象名稱處理模塊、數(shù)據(jù)類型判斷模塊和數(shù)據(jù)提取模塊。

所述對(duì)象名稱處理模塊用于獲取DTO對(duì)象名稱。只有請(qǐng)求數(shù)據(jù)才會(huì)有DTO對(duì)象名稱,獲取方式就是獲取請(qǐng)求標(biāo)識(shí)c..m后面的第一個(gè)字符串,加入到當(dāng)前元素對(duì)象的節(jié)點(diǎn)文本中;

所述數(shù)據(jù)類型判斷模塊用于判斷當(dāng)前標(biāo)記的數(shù)據(jù)類型。如S標(biāo)識(shí)字符串,其數(shù)據(jù)構(gòu)成形式是S+2字節(jié)字符串長(zhǎng)度+字符串內(nèi)容;I標(biāo)識(shí)整數(shù),其數(shù)據(jù)構(gòu)成形式是I+4字節(jié)數(shù)據(jù);T標(biāo)識(shí)布爾值true;F標(biāo)識(shí)布爾值false;Vt標(biāo)識(shí)數(shù)組,其數(shù)據(jù)構(gòu)成形式是Vt+4字節(jié)成員個(gè)數(shù)+成員描述等。

所述數(shù)據(jù)提取模塊用于根據(jù)數(shù)據(jù)類型判斷模塊得出的數(shù)據(jù)類型,提取出該類型的數(shù)據(jù)和長(zhǎng)度,然后將這些數(shù)據(jù)分別建立元素對(duì)象結(jié)構(gòu),將數(shù)值賦給該元素對(duì)象的節(jié)點(diǎn)文本或者屬性列表(單個(gè)數(shù)值賦給節(jié)點(diǎn)文本,復(fù)合類型賦給屬性列表),并把這些元素對(duì)象作為上層元素對(duì)象的子節(jié)點(diǎn)賦給父節(jié)點(diǎn)的子節(jié)點(diǎn)列表。

不斷重復(fù)上述類型判斷和數(shù)據(jù)提取,直至數(shù)據(jù)解析完成,這樣就構(gòu)建了多個(gè)E對(duì)象的樹狀結(jié)構(gòu),至此,就形成了通用的E對(duì)象結(jié)構(gòu)數(shù)據(jù)。

如圖2所示,本發(fā)明還公開了一種DTO協(xié)議數(shù)據(jù)規(guī)格化的方法,用于將DTO協(xié)議數(shù)據(jù)解析為元素對(duì)象結(jié)構(gòu),包括以下步驟:

1)判斷數(shù)據(jù)包是請(qǐng)求數(shù)據(jù)包還是響應(yīng)數(shù)據(jù)包,根據(jù)判斷的結(jié)構(gòu)選擇相應(yīng)的解析流程;

具體的,如果數(shù)據(jù)包中的數(shù)據(jù)首部為c..m則為請(qǐng)求數(shù)據(jù);如果數(shù)據(jù)包的數(shù)據(jù)首部是r..則為響應(yīng)數(shù)據(jù)(其中..為兩個(gè)字節(jié)的不可見字符)。然后按類型(請(qǐng)求/響應(yīng)),分別調(diào)用請(qǐng)求/響應(yīng)解析流程。

2)將DTO協(xié)議數(shù)據(jù)中的實(shí)體數(shù)據(jù)類型解析成元素對(duì)象結(jié)構(gòu),解析出所述DTO協(xié)議數(shù)據(jù)類型對(duì)應(yīng)的屬性并加入所述元素對(duì)象結(jié)構(gòu)中。

進(jìn)一步的,步驟2)包括以下步驟:

2.1)當(dāng)數(shù)據(jù)包是請(qǐng)求數(shù)據(jù)包時(shí),首先獲取DTO對(duì)象名稱,然后進(jìn)行以下步驟,當(dāng)數(shù)據(jù)包是響應(yīng)數(shù)據(jù)包時(shí),直接進(jìn)行以下步驟。只有請(qǐng)求數(shù)據(jù)才會(huì)有DTO對(duì)象名稱,獲取方式就是獲取請(qǐng)求標(biāo)識(shí)c..m后面的第一個(gè)字符串,加入到當(dāng)前元素對(duì)象的節(jié)點(diǎn)文本中;

2.2)判斷當(dāng)前標(biāo)記的數(shù)據(jù)類型;如S標(biāo)識(shí)字符串,其數(shù)據(jù)構(gòu)成形式是S+2字節(jié)字符串長(zhǎng)度+字符串內(nèi)容;I標(biāo)識(shí)整數(shù),其數(shù)據(jù)構(gòu)成形式是I+4字節(jié)數(shù)據(jù);T標(biāo)識(shí)布爾值true;F標(biāo)識(shí)布爾值false;Vt標(biāo)識(shí)數(shù)組,其數(shù)據(jù)構(gòu)成形式是Vt+4字節(jié)成員個(gè)數(shù)+成員描述等。

2.3)根據(jù)步驟2.2)判斷出的數(shù)據(jù)類型提取該類型數(shù)據(jù)和長(zhǎng)度,然后對(duì)這些數(shù)據(jù)分別建立元素對(duì)象結(jié)構(gòu),將數(shù)值賦給該元素的節(jié)點(diǎn)文本或者屬性列表(單個(gè)數(shù)值賦給節(jié)點(diǎn)文本,復(fù)合類型賦給屬性列表),并把這些元素對(duì)象作為上層元素對(duì)象的子節(jié)點(diǎn)賦給父節(jié)點(diǎn)的子節(jié)點(diǎn)列表。

不斷重復(fù)上述類型判斷和數(shù)據(jù)提取,直至數(shù)據(jù)解析完成,這樣就構(gòu)建了多個(gè)E對(duì)象的樹狀結(jié)構(gòu),至此,就形成了通用的E對(duì)象結(jié)構(gòu)數(shù)據(jù)。

綜上所述,本發(fā)明的相比于一般的協(xié)議解析方式,本發(fā)明的DTO協(xié)議數(shù)據(jù)解析方法,能夠?qū)f(xié)議數(shù)據(jù)規(guī)格化成了統(tǒng)一的格式,因而能夠滿足多種協(xié)議數(shù)據(jù)處理需求,提升使用的便捷性,同時(shí)解決了一般方法的復(fù)雜性、重復(fù)性,降低了開發(fā)成本。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1