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

基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法與系統(tǒng)的制作方法

文檔序號:7665967閱讀:151來源:國知局
專利名稱:基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法與系統(tǒng)的制作方法
技術領域
發(fā)明屬于計算機網(wǎng)絡通訊領域,具體涉及一種基于自定義模板的通用業(yè) 務數(shù)據(jù)通訊方法與系統(tǒng)。
背景技術
現(xiàn)有技術中對于通訊數(shù)據(jù)一般先按照約定協(xié)議轉(zhuǎn)換為報文,接受方將報 文再按照該協(xié)議轉(zhuǎn)換為通訊數(shù)據(jù),其中協(xié)議定義了傳送報文的格式與語義。 按照目前這種方式,采用通用的通訊協(xié)議只是解決數(shù)據(jù)發(fā)送問題,針對具體 業(yè)務應用,發(fā)送方與接受方還是需要對通訊數(shù)據(jù)的格式與語義達成一致,即 使用匹配的報文生成與解析模塊,如果報文數(shù)據(jù)發(fā)生修改或者增加新的業(yè)務, 往往需要重新編寫相應通訊模塊代碼,這種方式不僅系統(tǒng)維護成本高、而且 在分布式的網(wǎng)絡應用環(huán)境下,在不中斷應用的前提下同步所有的發(fā)送與接受 通訊模塊就相當?shù)睦щy,并且對公開協(xié)議的傳送方式通訊數(shù)據(jù)的安全性較低。
對報文靈活性進行處理的研究,國內(nèi)也有一些相關的專利,如專利申請
號為02111897. 3 "—種基本類模板管理器的通訊報文處理設備和方法", 該專利用以建立一系列對象類層次結構的表示模型以及對這些對象類進行訪 問和處理方法,這些對象類包括描述計算機通訊系統(tǒng)中的報文的對象類、對 所有報文對象類進行統(tǒng)一描述的報文對象類模板和統(tǒng)一處理這些對象類模板 所生成對象實例的類模板管理器;可以實現(xiàn)使用統(tǒng)一、簡潔的接口來處理數(shù) 以千計的報文對象類而不僅僅是對象實例,從而大大降低程序設計的復雜性, 提高軟件的可重用性和可靠性。該專利提供的基于類模板管理器的通訊報文 處理設備和方法,可以用于網(wǎng)絡管理系統(tǒng)的通訊接口報文處理模塊中,也可 以用于其他應用系統(tǒng)中,為系統(tǒng)設計和開發(fā)提供了對象類管理和訪問的便利 工具。該專利提出對通訊報文的處理,但是該專利僅針對一種基本類模板管理 器中進行的相關報文處理并不是通用報文解析的方法及裝置。上述等專利都
沒有提到通過報文模板的方式進行報文的數(shù)據(jù)編碼轉(zhuǎn)換、分析、提取以及報 文加密傳輸?shù)墓δ埽鼪]有涉及發(fā)送方與接受方的配置管理器的主從方式對 發(fā)送方與接受方的報文模板的分發(fā)同步。

發(fā)明內(nèi)容
針對現(xiàn)有技術中存在的問題,本發(fā)明的目的是提供一種基于自定義模板 的通用業(yè)務lfet據(jù)通訊方法與系統(tǒng),通過該方法和系統(tǒng)能夠讓用戶自定義4艮文 模板并能夠根據(jù)該報文模板實現(xiàn)通訊數(shù)據(jù)與報文的轉(zhuǎn)換,對報文發(fā)送方與接 受方只需獲得一致的報文模板,即能夠根據(jù)該報文模板解析或者生成報文, 從而能夠?qū)崿F(xiàn)發(fā)送方與接受方之間的數(shù)據(jù)同步,同時能夠通過設定不同應用 規(guī)則的報文模板,實現(xiàn)通訊的報文加密。
為實現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術方案是
一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊系統(tǒng),該系統(tǒng)包括報文解析 器、數(shù)據(jù)緩沖池、配置管理器、模板管理器、規(guī)則管理器、數(shù)據(jù)接口和通訊 接口,其中,數(shù)據(jù)接口和通訊接口分別與報文解析器相連接;
所述的報文解析器,能夠?qū)⑿枰ㄓ嵉臄?shù)據(jù)根據(jù)報文模板轉(zhuǎn)化成報文數(shù) 據(jù)并進一步轉(zhuǎn)化為報文,也能夠?qū)笪母鶕?jù)報文模板逆向解析成報文數(shù)據(jù), 并將報文數(shù)據(jù)轉(zhuǎn)化通訊數(shù)據(jù);
所述的數(shù)據(jù)緩沖池以數(shù)據(jù)堆棧和數(shù)據(jù)隊列的形式緩存報文解析器、配置 管理器使用到的中間數(shù)據(jù),也能夠記錄報文發(fā)送/接受是否成功的狀態(tài);
所述的配置管理器用于管理和保存用戶為通訊數(shù)據(jù)選擇對應報文模板而 設定的業(yè)務規(guī)則,并根據(jù)規(guī)則管理器判斷的結果從模板管理器中或者向模板 定義方請求選擇適用的報文模板;
所述的規(guī)則管理器用于業(yè)務規(guī)則的判斷,當用戶為通訊數(shù)據(jù)指定報文模 板時,該指定是否符合用戶事先確定并存儲于配置管理器的業(yè)務規(guī)則由規(guī)則 管理器進行判斷;
所述的模板管理器用于管理報文模板;
所述的數(shù)據(jù)接口是報文解析器接受需要通訊數(shù)據(jù)的對外接口 ; 所述的通訊接口是報文解析器與通訊模塊的接口 。
一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法,包括如下步驟 (A)發(fā)送方報文解析器的數(shù)據(jù)接口接受通訊數(shù)據(jù)并將其保存到數(shù)據(jù)緩
沖池中,配置管理器根據(jù)主從方式和業(yè)務配置選擇相應的報文模板;
(B )發(fā)送方報文解析器將通訊數(shù)據(jù)依據(jù)步驟A中選擇的報文模板轉(zhuǎn)換
為報文數(shù)據(jù),并轉(zhuǎn)化為報文;
(C) 發(fā)送方通訊接口將報文發(fā)送給接受方;
(D) 接受方報文解析器的通訊接口接受報文并將其保存到數(shù)據(jù)緩沖池 中,配置管理器根據(jù)主從方式和報文頭選擇相應的報文模板;
(E )接受方報文解析器按照步驟D選擇的報文模板將報文反向解析為 報文數(shù)據(jù),并將其轉(zhuǎn)換為通訊數(shù)據(jù),結束數(shù)據(jù)通訊處理。
進一步,所述的報文模板為結構化數(shù)據(jù),其定義了通訊數(shù)據(jù)的格式信息, 記錄了通訊數(shù)據(jù)與報文數(shù)據(jù)之間、報文數(shù)據(jù)與報文之間的相互轉(zhuǎn)換規(guī)則;
進一步,所述的業(yè)務配置是指用戶為每一個需要傳輸?shù)耐ㄗx數(shù)據(jù)指定對 應的報文模板,用戶在為通訊數(shù)據(jù)指定對應的報文模板時需要遵守用戶設立 的業(yè)務規(guī)則,業(yè)務規(guī)則由用戶根據(jù)需要自行設立,通常的業(yè)務規(guī)則是用戶根 據(jù)業(yè)務數(shù)據(jù)類型指定相對應的報文模板類型,然后在此基礎上為同一類型的 業(yè)務數(shù)據(jù)根據(jù)適用條件選擇具體的報文模板;
進一步,步驟(A)和步驟(D)中所述的配置管理器的主從方式包括發(fā) 送方主動方式和^妄受方主動方式兩種,發(fā)送方主動方式中由發(fā)送方定義才艮文 模板,并由發(fā)送方根據(jù)接受方配置管理器的請求提供和發(fā)送報文模板;接受 方主動方式中由接受方定義報文模板,并由接受方根據(jù)發(fā)送方配置管理器的 請求提供和發(fā)送報文模板;
更進一步,驟(A)中,配置管理器根據(jù)主從方式和業(yè)務配置選擇相應
的報文模板時,采用的具體方法為配置管理器的主從方式為發(fā)送方主動方 式時,報文模板由發(fā)送方定義,根據(jù)業(yè)務配置所確定的對應報文模板,發(fā)送 方的配置管理器直接選擇該相應的報文模板即可;配置管理器的主從方式為 接受方主動方式時,報文模板由接受方定義,根據(jù)業(yè)務配置所確定的對應報 文模板,發(fā)送方的配置管理器首先向發(fā)送方的模板管理器中查找是否存在該 報文模板,如果查找到報文模板則直接選擇該報文模板,如果查找不到,則 向接受方請求發(fā)送由該l艮文模板;
更進一步,步驟(D)中,接受方的配置管理器根據(jù)主從方式和報文頭 選擇相應的報文模板時,采用的具體方法為配置管理器的主從方式為發(fā)送 方主動方式時,報文模板由發(fā)送方定義,由于報文頭中記錄了所選報文模板 的名稱信息,據(jù)此即可確定所選的報文模板,此時接受方的配置管理器首先 向接受方的模板管理器中查找是否存在該報文模板,如果查找到報文模板則 選擇該報文模板,如果查找不到,則向發(fā)送方請求發(fā)送該報文模板;配置管 理器的主從方式為接受方主動方式時,報文模板由接受方定義,根據(jù)報文頭 中記錄的報文模板信息,配置管理器直接選擇該報文模板;
進一步,步驟(B)中,報文解析器根據(jù)報文模板將通訊數(shù)據(jù)轉(zhuǎn)換為報 文數(shù)據(jù)時,是按照報文模板確定的數(shù)據(jù)結構、層次順序進行轉(zhuǎn)換的;
進一步,步驟(C)中,發(fā)送方通過通訊協(xié)議將報文發(fā)送給接受方,所 述的通訊協(xié)議是指HTTP協(xié)議、SOAP協(xié)議等。
本發(fā)明的效果在于采用本發(fā)明所述的報文解析方法與系統(tǒng),通過報文 模板的方式進行報文的數(shù)據(jù)轉(zhuǎn)換、分析、提取,因而在發(fā)送方和接受方之間 傳遞報文時,對報文能夠進行自動的檢測、分析、傳遞及提取,使得報文傳 遞過程中的相關操作變得簡便、快捷、準確,并節(jié)約成本,而且對于發(fā)送方 和接收方來說同時實現(xiàn)了報文在傳遞過程中的數(shù)據(jù)同步和數(shù)據(jù)加密。
具體而言,本發(fā)明的有益效果表現(xiàn)如下(1 )本發(fā)明所述的通用業(yè)務數(shù)據(jù)通訊方法及系統(tǒng),通過報文模板定義的 數(shù)據(jù)轉(zhuǎn)換方法,處理變化報文格式的時,發(fā)送方與接受方之間的數(shù)據(jù)同步,
并且通過設定對應的不同應用規(guī)則的模板,實現(xiàn)了通訊報文加密的效果;
(2 )通過本發(fā)明所述的報文解析的方法及裝置,可以實現(xiàn)對于報文進行
自動的檢測、分析、傳遞、提取以及實現(xiàn)報文加密;
(3 )本發(fā)明通過對模板進行定義可以廣泛應用于計算機通訊網(wǎng)絡領域的
各種類型報文的自動檢測、分析、傳遞、提取以及實現(xiàn)報文加密,報文的類
型可以是文字數(shù)據(jù),也可以是聲音數(shù)據(jù),甚至可以是圖像、圖型數(shù)據(jù),流媒
體數(shù)據(jù)等等;
(4 )本發(fā)明通過對定義模板的學習,可以實現(xiàn)用戶所要達到的自動4全測、 分析、傳遞、提取以及實現(xiàn)l艮文加密的效果;
(5)通過本發(fā)明所述的方法及裝置,可以實現(xiàn)占用最少的通訊資源、以 最快的傳遞速度,傳遞凈艮文的效果。
本發(fā)明之所以具有上述發(fā)明效果,其原因在于本發(fā)明通過可自定義 的報文模板定義報文格式與語義,來實現(xiàn)報文發(fā)送端報文生成與接受端對報 文解析的同步,針對不同通訊數(shù)據(jù),通過報文模板實現(xiàn)了對報文的數(shù)據(jù)編碼 轉(zhuǎn)換、分析、提取以及報文加密的功能,大大降低同類業(yè)務頻繁通訊的數(shù)據(jù) 量,實現(xiàn)了分布式應用系統(tǒng)中多種業(yè)務的靈活的、高安全的數(shù)據(jù)通訊。對于 報文數(shù)據(jù)發(fā)生修改或者增加新的業(yè)務,只需要修改對應的報文模板以及業(yè)務 配置信息就能靈活的適應業(yè)務的變化,而且能夠?qū)崿F(xiàn)在分布式的網(wǎng)絡應用環(huán) 境下,在不中斷應用的前提系統(tǒng)的升級,并且可以通過配置針對不同業(yè)務等 復雜規(guī)則以及基于結構化數(shù)據(jù)結點的加密處理的報文模板,實現(xiàn)對數(shù)據(jù)的高 安全性通訊。


圖1是本發(fā)明所述方法中報文發(fā)送方流程示意圖; 圖2是本發(fā)明所述方法中報文接受方流程示意圖; 圖3是本發(fā)明所述系統(tǒng)的結構示意圖。
具體實施例方式
下面結合說明書附圖和具體實施方式
對本發(fā)明作進一步的描述。
本實施例中需要由才艮文發(fā)送方向接受方傳遞如下的學生信息 〈?xml version-" 1.0" encoding=,, UTF-16" > <s tudents> <student>
〈name〉張三〈/name〉
<議〉0001</誦〉
<class notes=,,f>01</class> </student> <s tudent>
<麵>0010</畫> 〈name〉李四〈/name〉 <grade>2001</grade> <class notes」,奧數(shù)班"X)3〈/class〉 </s tudent> </students〉
即采用XML語言,輸入學生信息姓名為張三、學號為0001、班級為 快班01;學號為0010、姓名為李四、年級為2001、班級為奧數(shù)班03。
如圖1和圖2所示,采用本發(fā)明所述的基于自定義模板的通用業(yè)務數(shù)據(jù) 通訊方法,將上述學生信息由發(fā)送方向接受方傳遞時,具體包括以下步驟
步驟一、當發(fā)送方向接受方發(fā)送報文時,發(fā)送方的報文解析器的數(shù)據(jù)接 口接受需要發(fā)送的通訊數(shù)據(jù),將通訊數(shù)據(jù)保存到數(shù)據(jù)緩沖池中,配置管理器 根據(jù)主從方式以及業(yè)務配置選擇相應的報文模板;
具體到本實施例中,發(fā)送方的報文解析器數(shù)據(jù)接口首先接受上述用XML 語言描述的有關學生信息的結構化通訊數(shù)據(jù),將該通訊數(shù)據(jù)保存到數(shù)據(jù)緩沖 池中,然后發(fā)送方的配置管理器根據(jù)主從方式以及業(yè)務配置選擇相應的報文 模板;
配置管理器根據(jù)主從方式以及業(yè)務配置選擇相應的報文模板時,采用的 具體方法是本實施例中,配置管理器的主從方式為接受方主動方式,即報
文模板是由接受方定義的,另一方面,用戶在進行業(yè)務配置時已經(jīng)為該通讀
數(shù)據(jù)即學生信息指定了相對應的報文模板即STU0021,從而確定本實施例中 應選擇的報文模板是由接受方定義的STU0021,由于發(fā)送方?jīng)]有該模板,因 此,發(fā)送方的配置管理器通過映射的方式首先向模板管理器中查找是否存在 該報文模板即由接受方定義的STU0021,如果查找到則直接選擇該報文模板, 如果查找不到,則發(fā)送方的配置管理器向接受方請求發(fā)送由該報文模板;本 實施例中,STU0021是接受方新定義的模板,因此發(fā)送方的配置管理器沒有 在模板管理器中找到,于是請求接受方發(fā)送由該STU0021,收到后選擇該 STU0021;事實上,配置管理器的主從方式根據(jù)用戶的需要可以自由定義, 可以是發(fā)送方主動方式,也可以是接受方主動方式;
業(yè)務配置就是用戶根據(jù)需要在通訊數(shù)據(jù)傳輸之前即確定好的,用戶為每 一個需要傳輸?shù)耐ㄗx數(shù)據(jù)指定相對應的模板,本實施例中,用戶為需要傳輸 的通讀數(shù)據(jù)即XML語言描述的學生信息指定了對應的STU0021,對如此簡 單的數(shù)據(jù)直接指定報文模板即可,但是,事實上在實際應用過程中,需要傳 輸?shù)耐ㄓ崝?shù)據(jù)常有多個,用戶直接指定比較困難,因此,此種情況下用戶為 通訊數(shù)據(jù)指定對應的模板時需要事先確立業(yè)務規(guī)則,根據(jù)該業(yè)務規(guī)則用戶即 可為每一個通訊數(shù)據(jù)指定一個確定的對應模板;業(yè)務規(guī)則是由用戶根據(jù)需要 確立的,通常用戶會根據(jù)業(yè)務類型指定相對應的報文模板類型,然后在此基 礎上為同一類型的業(yè)務設定具體的適用條件以選擇具體的報文模板,如對于 傳輸票據(jù)數(shù)據(jù)的業(yè)務類型而言,用戶會指定對應的票據(jù)模板類型,然后對于
都是傳輸票據(jù)的通訊數(shù)據(jù)而言,再通過設定具體的適用條件如不同時間段、 不同應用終端,從而為每一個通訊數(shù)據(jù)指定一個具體的報文模板;對于通過 業(yè)務規(guī)則實現(xiàn)通訊數(shù)據(jù)與報文模板對應關系時,用戶在為通訊數(shù)據(jù)指定具體 的報文模板時,該指定是否正確需要經(jīng)過檢驗,檢驗正確才能最終確定模板, 如果經(jīng)檢驗該指定不符合業(yè)務規(guī)則,則該指定無效,需重新指定;
顯然報文模板是非常重要的環(huán)節(jié),因此報文模板的定義也變得很重要, 所述的報文模板為結構化數(shù)據(jù),其定義了通訊數(shù)據(jù)的格式信息,記錄了通訊 數(shù)據(jù)與報文數(shù)據(jù)之間、報文數(shù)據(jù)與報文之間的相互轉(zhuǎn)換規(guī)則;報文數(shù)據(jù)是指 通訊數(shù)據(jù)按照報文模板定義的格式進行轉(zhuǎn)換時生成的中間數(shù)據(jù),報文是指報 文數(shù)據(jù)依據(jù)報文模板定義的格式生成的用于通訊傳送的數(shù)據(jù);常用的結構化
數(shù)據(jù)為XML數(shù)據(jù)和CSV數(shù)據(jù)格式。具體到本實施例中,接受方對報文模板 STU0021的定義過程為接受方根據(jù)通訊數(shù)據(jù)的特點進行報文模板的定義, 本實施例中通訊數(shù)據(jù)的特點為數(shù)據(jù)類型為XML格式,該數(shù)據(jù)由節(jié)點組成, 并且其student父節(jié)點最多包含num、 name、 grade和class四個子節(jié)點,其 數(shù)據(jù)類型分別為整型、字符串型、整型和整型,根據(jù)該數(shù)據(jù)的特點,提取其 數(shù)據(jù)結構和層次順序后,確定報文模板STU0021的組成格式,其格式遵循正 則表達式要求,具體如下 <root> <info〉
<vers ion= 、、1.0〃 />
<encoding>UTF-16</encoding>
<name〉STU0021</name>
<item code= "001" file= "student —template, xml,' /> </info〉
<streamdef pre=" ,, attr-"" <item name=,,field,, type=,,section" regex-,,秦*,, > <item nameH,, type= "int,, regexy +f /> <item name="Bl,, type= "string"regex= "A\h+$L*,, > </i tem> </s treamdef> <data> <s tudents>
<student type="field"> <num type="Al"/〉 <name type="Bl"/> <grade type="Al"/> <class type="Al" notes='"'/> </s tudent> </students> </data〉
</root〉
步驟二、發(fā)送方的報文解析器將通訊數(shù)據(jù)依據(jù)步驟一中選擇的報文模板 轉(zhuǎn)換為報文數(shù)據(jù),并轉(zhuǎn)化為報文;
本實施例中,發(fā)送方的報文解析器根據(jù)接受方定義的STU0021將通訊數(shù) 據(jù)轉(zhuǎn)換為報文數(shù)據(jù),轉(zhuǎn)換時是按照STU0021所確定的數(shù)據(jù)結構、層次順序進 行的,然后報文解析器進一步將報文數(shù)據(jù)轉(zhuǎn)化為報文,轉(zhuǎn)換后得到的報文數(shù) 據(jù)如下所示 <root> <info>
<vers ion= 、、1.0〃 />
<encoding>UTF-16</encoding>
<natne>STU0021</name〉
<item code= "001,, file- "student —template, xml,, /> </info〉
<streamdef pre=,, ,, attr=,,>,,> <item name-,,f ield" type=,,section" regex=,,#$# *,, > <item name=,,Al,, type- "int,,regex二",+樂,,/> <item謂e^,B1,, type- "string"regex= "A\h+$L*,, /> </item> </s treamdef> <data> <students>
<student type="field"〉 <num type="Al">0K/num> <name type-"Bl"〉張三〈/name〉 <grade type="Al">NULLX/grade> <class type="Al" notes二,,快班,,〉OK/class〉 </s tudent〉
<student type="field"> <腦type="Al">OA</num〉 <name type-"Bl"〉李四〈/name〉 <grade type="Al">07Dl</grade> <class type="Al" notes-,,奧數(shù)班"03〈/class〉 </s tudent> </students> </data> </root〉
轉(zhuǎn)化后得到的報文由報文頭和數(shù)據(jù)區(qū)兩部分組成,其中,數(shù)據(jù)區(qū)的數(shù)據(jù) 是通過對報文數(shù)據(jù)的數(shù)據(jù)內(nèi)容順序提取后得到的,數(shù)據(jù)區(qū)的數(shù)據(jù)不包含報文 數(shù)據(jù)原有的數(shù)據(jù)結構,只保留數(shù)據(jù)內(nèi)容;其中,報文頭是由通訊接口確定的, 因為發(fā)送方和接受方具有一致的通訊接口 ,通訊接口具有固定的報文頭格式, 本實施例中報文頭格式為編碼方式、壓縮方式、發(fā)送方名稱、解析報文模 板名稱,如生成的報文頭編碼采用UTF16、使用ZIP壓縮算法、發(fā)送方ID 為8920、解析才莫板名稱為STU0021,則生成的才艮文頭為 UTF16ZIP008920xSTU0021yyy,其中yyy為約定的檢驗碼位置;數(shù)據(jù)區(qū)的內(nèi) 容為"#$# 01 04L張三NULL >快班01 #$# OA 04L李四07D1 >奧數(shù)班03"; 上述報文數(shù)據(jù)內(nèi)容為便于理解表示為可讀字符串形式,在實際傳送中則是直 接對報文Byte進行傳送;
步驟三、發(fā)送方通訊接口將報文發(fā)送給接受方;
本實施例,發(fā)送方通過通訊協(xié)議HTTP協(xié)議將報文發(fā)送給接受方,當然 也可以通過通訊協(xié)議SOAP協(xié)議等進行發(fā)送;
步驟四、接受方報文解析器的通訊接口接受報文并保存到數(shù)據(jù)緩沖池中, 然后配置管理器依據(jù)主從方式和報文頭選擇相應的報文模板,其中發(fā)送方配 置管理器的主從方式與接受方配置管理器的主從方式保持一致;
本實施例中,接受方的報文解析器的通訊接口接受報文,將報文保存到 數(shù)據(jù)緩沖池中,接受方的配置管理器依據(jù)主從方式和報文頭選擇相應的報文
模板,具體而言,報文頭中記錄有應選擇的報文模板名稱即STU0021,配置 管理器的主從方式與發(fā)送方保持一致,為接受方主動即報文模板由接受方提 供,據(jù)此確定應選擇的報文模板是由接受方定義的STU0021,因此,接受方 的配置管理器直接采用自行定義的STU0021即可;當然如果接受方配置管理 器的主從方式為發(fā)送方主動時,由于接受方?jīng)]有該模板,配置管理器會先向 模板管理器中查找相應的報文模板,如查找不到相應報文模板,可以依據(jù)報 文頭中記錄的模板名稱信息,向發(fā)送方請求發(fā)送對應報文模板;
步驟五、接受方報文解析器按照步驟四中選擇的報文模板將報文反向解 析為報文數(shù)據(jù),并將其轉(zhuǎn)換為通訊數(shù)據(jù),結束數(shù)據(jù)通訊處理;
本實施例中,接受方的報文解析器按照已選擇好的STU0021,將報文反 向解析為報文數(shù)據(jù),并將報文數(shù)據(jù)轉(zhuǎn)換為通訊數(shù)據(jù)。反向解析報文時,接受 方的報文解析器根據(jù)STU0021所確定的規(guī)則解析報文的數(shù)據(jù)區(qū),將報文數(shù)據(jù) 區(qū)中的內(nèi)容轉(zhuǎn)換為步驟二中所示的報文數(shù)據(jù),然后提取學生信息并根據(jù) STU0021進一步將其轉(zhuǎn)換為如下的通訊數(shù)據(jù)。報文解析器最終生成的通訊數(shù) 據(jù)與原始通訊數(shù)據(jù)的內(nèi)容是一致的,但內(nèi)容的排列前后順序可能存在差異, 但是通訊數(shù)據(jù)的語義、層次結構、數(shù)據(jù)類型等信息一致,最后得到的通訊數(shù) 據(jù)如下所示
<students〉 <student>
<num>01</num>
〈name〉張三〈/name〉
<grade>NULIX/grade>
<class notes-,,快班,,〉OK/class〉 </student> <s tudent>
<num>0A</num>
〈name〉李四〈/name〉
<grade>07DK/grade>
〈class notes-"奧數(shù)班"〉03〈/class〉
</student> </s tudents>
即學號為OOOl、姓名為張三、班級為快班01;學號為0010、姓名為 李四、年級為2001、班級為奧lt班03。
為簡化實施例子描述,上述實施例子中未列舉加密應用,在實際使用中, 可針對報文模板中的節(jié)點定義不同的加密,例如針對streamdef結點定義加 密屬性Crypto=,,SHAl,, CryFun=,,NormalCrypto,, CryParam="SE89as,,,則定義 了該結點下數(shù)據(jù)在上述處理后,進行進一步加密操作,其加密使用SHA1算法, 具體調(diào)用NormalCrypto函數(shù),其中加解密需要的參數(shù)在CryParam用字符串 記錄。上述加密可以針對不同結點選用不同加密處理,加密處理可以嵌套。 上述加密不針對^艮文頭,-f又加密凈艮文。
在接受方接受之后,在將報文轉(zhuǎn)化為報文數(shù)據(jù)之前,依據(jù)報文模板定義 先進行解密處理。
上述報文加密、解密處理以對稱密鑰加密算法舉例,非對稱密鑰加密算 法同樣適用。
如圖3所示,為實現(xiàn)上述方法而采用的基于自定義模板的通用業(yè)務數(shù)據(jù) 通訊系統(tǒng)11,該系統(tǒng)包括報文解析器13、數(shù)據(jù)緩沖池14、配置管理器15、 模板管理器16、規(guī)則管理器17以及數(shù)據(jù)接口 12和通訊接口 18,其中,數(shù)據(jù) 接口 12和通訊接口 18分別與才艮文解析器13相連接;
1 )報文解析器13,能夠?qū)⑿枰ㄓ嵉臄?shù)據(jù)根據(jù)報文模板轉(zhuǎn)化成報文數(shù) 據(jù)并進一步轉(zhuǎn)化為報文,也能夠?qū)笪母鶕?jù)報文模板逆向解析成報文數(shù)據(jù), 并將報文數(shù)據(jù)轉(zhuǎn)化通訊數(shù)據(jù);
2) 數(shù)據(jù)緩沖池14,以數(shù)據(jù)堆棧和數(shù)據(jù)隊列的形式緩存報文解析器13、
配置管理器15使用到的中間數(shù)據(jù),也能夠記錄報文發(fā)送/接受是否成功的狀 太.
3) 配置管理器15,用于管理和保存用戶為通訊數(shù)據(jù)選擇對應報文模板 而設定的業(yè)務規(guī)則,并根據(jù)規(guī)則管理器判斷的結果從模板管理器中或者向模 板定義方請求選擇適用的報文模板;
4) 模板管理器16,用于管理報文模板;
5) 規(guī)則管理器17,用于業(yè)務規(guī)則的判斷,當用戶為通訊數(shù)據(jù)指定報文 模板時,該指定是否符合用戶事先確定并存儲于配置管理器的業(yè)務規(guī)則由規(guī) 則管理器進行判斷;
6) 數(shù)據(jù)接口 12,是指報文解析器13接受需要通訊數(shù)據(jù)的對外接口 ,通 訊接口 18是指報文解析器與通訊模塊的接口。
本發(fā)明所述的方法及裝置并不限于具體實施方式
中所述的實施例,本領 域技術人員根據(jù)本發(fā)明的技術方案得出其他的實施方式,同樣屬于本發(fā)明的 技術創(chuàng)新范圍。
權利要求
1、一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法,包括如下步驟(A)發(fā)送方報文解析器的數(shù)據(jù)接口接受通訊數(shù)據(jù)并將其保存到數(shù)據(jù)緩沖池中,配置管理器根據(jù)主從方式和業(yè)務配置選擇相應的報文模板;(B)發(fā)送方報文解析器將通訊數(shù)據(jù)依據(jù)步驟A中選擇的報文模板轉(zhuǎn)換為報文數(shù)據(jù),并轉(zhuǎn)化為報文;(C)發(fā)送方通訊接口將報文發(fā)送給接受方;(D)接受方報文解析器的通訊接口接受報文并將其保存到數(shù)據(jù)緩沖池中,配置管理器根據(jù)主從方式和報文頭選擇相應的報文模板;(E)接受方報文解析器按照步驟D選擇的報文模板將報文反向解析為報文數(shù)據(jù),并將其轉(zhuǎn)換為通訊數(shù)據(jù),結束數(shù)據(jù)通訊處理。
2、 如權利要求1所述的一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法, 其特征在于所述的報文模板為結構化數(shù)據(jù),其定義了通訊數(shù)據(jù)的格式信息, 記錄了通訊數(shù)據(jù)與報文數(shù)據(jù)之間、報文數(shù)據(jù)與報文之間的相互轉(zhuǎn)換規(guī)則。
3、 如權利要求1或2所述的一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方 法,其特征在于所述的業(yè)務配置是指用戶為每一個需要傳輸?shù)耐ㄗx數(shù)據(jù)指 定對應的報文模板,用戶在為通訊數(shù)據(jù)指定對應的報文模板時需要遵守用戶 設立的業(yè)務規(guī)則,業(yè)務規(guī)則由用戶根據(jù)需要自行設定。
4、 如權利要求3所述的一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法, 其特征在于步驟(A)和步驟(D)中所述的配置管理器的主從方式包括發(fā) 送方主動方式和接受方主動方式兩種,發(fā)送方主動方式中由發(fā)送方定義才艮文 模板,并由發(fā)送方根據(jù)接受方配置管理器的請求提供和發(fā)送報文模板;接受 方主動方式中由接受方定義報文模板,并由接受方根據(jù)發(fā)送方配置管理器的 請求提供和發(fā)送報文模板。
5、 如權利要求4所述的一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法, 其特征在于步驟(A)中,配置管理器根據(jù)主從方式和業(yè)務配置選擇相應 的報文模板時,采用的具體方法為配置管理器的主從方式為發(fā)送方主動方 式時,報文模板由發(fā)送方定義,根據(jù)業(yè)務配置所確定的對應報文模板,發(fā)送 方的配置管理器直接選擇該相應的報文模板即可;配置管理器的主從方式為 接受方主動方式時,報文模板由接受方定義,根據(jù)業(yè)務配置所確定的對應報 文模板,發(fā)送方的配置管理器首先向發(fā)送方的模板管理器中查找是否存在該 報文模板,如果查找到報文模板則直接選擇該報文模板,如果查找不到,則 向接受方請求發(fā)送由該報文才莫板。
6、 如權利要求2所述的一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法, 其特征在于步驟(B)中,報文解析器根據(jù)報文模板將通訊數(shù)據(jù)轉(zhuǎn)換為報 文數(shù)據(jù)時,是按照報文模板確定的數(shù)據(jù)結構、層次順序進行轉(zhuǎn)換的。
7、 如權利要求1所述的一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法, 其特征在于步驟(C)中,發(fā)送方通過通訊協(xié)議將報文發(fā)送給接受方,所 述的通訊協(xié)議是指HTTP協(xié)議、SOAP協(xié)議等。
8、 如權利要求4所述的一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法, 其特征在于步驟(D)中,接受方的配置管理器根據(jù)主從方式和報文頭選 擇相應的報文模板時,釆用的具體方法為配置管理器的主從方式為發(fā)送方 主動方式時,報文模板由發(fā)送方定義,由于報文頭中記錄了所選報文模板的 名稱信息,據(jù)此即可確定所選的報文模板,此時接受方的配置管理器首先向 接受方的模板管理器中查找是否存在該報文模板,如果查找到報文模板則選 擇該報文模板,如果查找不到,則向發(fā)送方請求發(fā)送該報文模板;配置管理 器的主從方式為接受方主動方式時,報文模板由接受方定義,根據(jù)報文頭中 記錄的報文模板信息,配置管理器直接選擇該報文模板。
9、 一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊系統(tǒng),該系統(tǒng)包括報文解 析器、數(shù)據(jù)緩沖池、配置管理器、模板管理器、規(guī)則管理器、數(shù)據(jù)接口和通 訊接口,其中,數(shù)據(jù)接口和通訊接口分別與報文解析器相連接;所述的報文解析器,能夠?qū)⑿枰ㄓ嵉臄?shù)據(jù)根據(jù)報文模板轉(zhuǎn)化成報文數(shù) 據(jù)并進一步轉(zhuǎn)化為報文,也能夠?qū)笪母鶕?jù)報文模板逆向解析成報文數(shù)據(jù), 并將報文數(shù)據(jù)轉(zhuǎn)化通訊數(shù)據(jù);所述的數(shù)據(jù)緩沖池以數(shù)據(jù)堆棧和數(shù)據(jù)隊列的形式緩存報文解析器、配置 管理器使用到的中間數(shù)據(jù),也能夠記錄報文發(fā)送/接受是否成功的狀態(tài);所述的配置管理器用于管理和保存用戶為通訊數(shù)據(jù)選擇對應報文模板而 設定的業(yè)務規(guī)則,并根據(jù)規(guī)則管理器判斷的結果從模板管理器中或者向模板定義方請求選擇適用的報文模板;所述的規(guī)則管理器用于業(yè)務規(guī)則的判斷,當用戶為通訊數(shù)據(jù)指定報文模 板時,該指定是否符合用戶事先確定并存儲于配置管理器的業(yè)務規(guī)則由規(guī)則 管理器進行判斷;所述的模板管理器用于管理報文模板;所述的數(shù)據(jù)接口是報文解析器接受需要通訊數(shù)據(jù)的對外接口 ;所述的通訊接口是報文解析器與通訊模塊的接口 。
全文摘要
本發(fā)明涉及一種基于自定義模板的通用業(yè)務數(shù)據(jù)通訊方法與系統(tǒng),屬于網(wǎng)絡通訊領域?,F(xiàn)有技術中對于通訊數(shù)據(jù)一般先按照約定協(xié)議轉(zhuǎn)換為報文,接受方將報文再按照該協(xié)議轉(zhuǎn)換為通訊數(shù)據(jù),其中協(xié)議定義了傳送報文的格式與語義。本發(fā)明在通用通訊協(xié)議的基礎上,通過可自定義的報文模板定義報文格式與語義,來實現(xiàn)報文發(fā)送端報文生成與接受端對報文解析的同步。采用本發(fā)明所述的方法和裝置,大大降低同類業(yè)務頻繁通訊的數(shù)據(jù)量,實現(xiàn)了分布式應用系統(tǒng)中多種業(yè)務的靈活的、高安全的數(shù)據(jù)通訊。
文檔編號H04L12/56GK101188561SQ20071017993
公開日2008年5月28日 申請日期2007年12月20日 優(yōu)先權日2007年12月20日
發(fā)明者丑成業(yè), 李平立, 趙天越, 健 龔 申請人:北京大學;北京方正國際軟件系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1