一種報文處理方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種報文處理方法及系統(tǒng),其中方法包括:步驟1:接收待處理報文,解析待處理報文得到待處理報文的類型;步驟2:調(diào)用預設的分解組件庫,根據(jù)待處理報文的類型到分解組件庫中進行匹配相應的分解組件;步驟3:采用得到的分解組件對待處理報文進行分解得到分解結(jié)果,結(jié)束。本發(fā)明能夠?qū)崿F(xiàn)一套處理機制支撐所有業(yè)務的訂單處理,大大減少了訂單分解不同業(yè)務各自數(shù)據(jù)落地的工作量,而且很好的實現(xiàn)了代碼的遷移和復用,提高了代碼的復用性,增強了代碼的穩(wěn)定性。
【專利說明】
一種報文處理方法及系統(tǒng)
技術(shù)領域
[0001 ]本發(fā)明涉及一種報文處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]JAVA反射機制是在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機制。主要提供了以下功能:在運行時判斷任意一個對象所屬的類;在運行時構(gòu)造任意一個類的對象;在運行時判斷任意一個類所具有的成員變量和方法;在運行時調(diào)用任意一個對象的方法;生成動態(tài)代理。
[0003]當前系統(tǒng)中的絕大多數(shù)業(yè)務都是信息從前臺界面錄入,業(yè)務確認之后,相關的業(yè)務受理信息落地,不同的業(yè)務,受理信息各有不同,如果針對每一種業(yè)務都進行數(shù)據(jù)落地支撐,所需代價較大,代碼冗余程度較高。
[0004]而且由于業(yè)務系統(tǒng)中涉及多種SOO的拼接組合操作,以此實現(xiàn)業(yè)務的過程中相關數(shù)據(jù)的落地。分業(yè)務處理時,重復的工作量較大,而且不利于代碼的迀移復用。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是,為了提高代碼的復用性和業(yè)務無關性,采用如下機制:前臺業(yè)務信息提交之后拼接成待處理報文進行落地,落地的過程采用java反射機制,實現(xiàn)一套機制支撐所有的業(yè)務場景。提供一種所有業(yè)務中的各種類型的待處理報文都可以通過訂單分解得到正確處理的報文處理方法及系統(tǒng)。
[0006]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種報文處理方法,具體包括以下步驟:
[0007]步驟1:接收待處理報文,解析待處理報文得到待處理報文的類型;
[0008]步驟2:調(diào)用預設的分解組件庫,根據(jù)待處理報文的類型到分解組件庫中進行匹配相應的分解組件;
[0009]步驟3:采用得到的分解組件對待處理報文進行分解得到分解結(jié)果,結(jié)束。
[0010]本發(fā)明的有益效果是:本發(fā)明能夠?qū)崿F(xiàn)一套處理機制支撐所有業(yè)務的訂單處理,大大減少了訂單分解不同業(yè)務各自數(shù)據(jù)落地的工作量,而且很好的實現(xiàn)了代碼的迀移和復用,提高了代碼的復用性,增強了代碼的穩(wěn)定性。
[0011]在上述技術(shù)方案的基礎上,本發(fā)明還可以做如下改進。
[0012]進一步,所述分解組件庫的創(chuàng)建過程包括以下步驟:
[0013]步驟a:創(chuàng)建多個分解組件,每個所述分解組件中包括報文類型和對應此報文類型的分解方法;
[0014]步驟b:將所有分解組件存入分解組件庫中。
[0015]采用上述進一步方案的有益效果是,所有分解組件中包含現(xiàn)有技術(shù)中所有的報文分解方法,在分解組件庫中集成所有報文分解方法,并建立調(diào)用名,便于調(diào)用。
[0016]進一步,所述分解組件庫的創(chuàng)建過程還包括:
[0017]步驟c:為每個分解組件賦予一個調(diào)用名,將所有分解組件的調(diào)用名和其對應的報文類型一一對應的存入查詢表中。
[0018]采用上述進一步方案的有益效果是,通過創(chuàng)建調(diào)用名,在調(diào)用分解組件時更加快捷,且準確率更高。
[0019]進一步,所述步驟2具體包括以下步驟:
[0020]步驟2.1:調(diào)用分解組件庫,獲得查詢表,根據(jù)待處理報文的類型與查詢表中的報文類型進行匹配,得到對應的調(diào)用名;
[0021 ]步驟2.2:根據(jù)調(diào)用名調(diào)取對應的分解組件。
[0022]進一步,所述步驟3具體包括以下步驟:
[0023]步驟3.1:分解組件對待處理報文進行分解得到分解結(jié)果;
[0024]步驟3.2:判斷分解組件是否生成訂單項,如果是,將訂單項存入分解組件庫,結(jié)束;否則,將分解組件的操作信息存入中間表或正表,結(jié)束。
[0025]采用上述進一步方案的有益效果是,正表和中間表是SOO報文處理內(nèi)部的邏輯,SOO內(nèi)部組件處理時,中間表與SOO基本——對應,特殊的SOO沒有對應的中間表,只有正表。有中間表的數(shù)據(jù),在后期竣工時數(shù)據(jù)也會迀移至正表。只有正表的數(shù)據(jù)在竣工時不做處理。
[0026]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種報文處理系統(tǒng),包括獲取模塊、調(diào)用模塊和分解模塊;
[0027]所述獲取模塊用于接收待處理報文,解析待處理報文得到待處理報文的類型;
[0028]所述調(diào)用模塊調(diào)用預設的分解組件庫,根據(jù)待處理報文的類型到分解組件庫中進行匹配相應的分解組件;
[0029]所述分解模塊采用得到的分解組件對待處理報文進行分解得到分解結(jié)果。
[0030]在上述技術(shù)方案的基礎上,本發(fā)明還可以做如下改進。
[0031]進一步,所述分解組件庫中包括多個分解組件,每個分解組件中包括報文類型和對應此報文類型的分解方法。
[0032]采用上述進一步方案的有益效果是,所有分解組件中包含現(xiàn)有技術(shù)中所有的報文分解方法,在分解組件庫中集成所有報文分解方法,并建立調(diào)用名,便于調(diào)用。
[0033]進一步,所述分解組件庫內(nèi)還包括一個配置表,所述配置表中存儲多組一一對應的分解組件的調(diào)用名和報文類型。
[0034]采用上述進一步方案的有益效果是,通過創(chuàng)建調(diào)用名,在調(diào)用分解組件時更加快捷,且準確率更高。
[0035]進一步,所述調(diào)用模塊包括查詢模塊和對應模塊;
[0036]所述查詢模塊用于調(diào)用分解組件庫,獲得查詢表,根據(jù)待處理報文的類型與查詢表中的報文類型進行匹配,得到對應的調(diào)用名;
[0037]所述對應模塊用于根據(jù)調(diào)用名調(diào)取對應的分解組件。
【附圖說明】
[0038]圖1為本發(fā)明實施例1所述的一種報文處理方法流程圖;
[0039]圖2為本發(fā)明實施例1所述的一種報文處理系統(tǒng)結(jié)構(gòu)框圖。
[0040]附圖中,各標號所代表的部件列表如下:
[0041 ] 1、獲取模塊,2、調(diào)用模塊,3、分解模塊,21、查詢模塊,22、對應模塊。
【具體實施方式】
[0042]以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0043]如圖1所示,為本發(fā)明實施例1所述的一種報文處理方法,具體包括以下步驟:
[0044]步驟1:接收待處理報文,解析待處理報文得到待處理報文的類型;
[0045]步驟2:調(diào)用預設的分解組件庫,根據(jù)待處理報文的類型到分解組件庫中進行匹配相應的分解組件;
[0046]步驟3:采用得到的分解組件對待處理報文進行分解得到分解結(jié)果,結(jié)束。
[0047]本發(fā)明實施例2所述的一種報文處理方法,在實施例1的基礎上,所述分解組件庫的創(chuàng)建過程包括以下步驟:
[0048]步驟a:創(chuàng)建多個分解組件,每個所述分解組件中包括報文類型和對應此報文類型的分解方法;
[0049]步驟b:將所有分解組件存入分解組件庫中。
[0050]本發(fā)明實施例3所述的一種報文處理方法,在實施例1或2的基礎上,所述分解組件庫的創(chuàng)建過程還包括:
[0051]步驟c:為每個分解組件賦予一個調(diào)用名,將所有分解組件的調(diào)用名和其對應的報文類型一一對應的存入查詢表中。
[0052]本發(fā)明實施例4所述的一種報文處理方法,在實施例1-3任一項的基礎上,所述步驟2具體包括以下步驟:
[0053]步驟2.1:調(diào)用分解組件庫,獲得查詢表,根據(jù)待處理報文的類型與查詢表中的報文類型進行匹配,得到對應的調(diào)用名;
[0054]步驟2.2:根據(jù)調(diào)用名調(diào)取對應的分解組件。
[0055]本發(fā)明實施例5所述的一種報文處理方法,在實施例1-4任一項的基礎上,所述步驟3具體包括以下步驟:
[0056]步驟3.1:分解組件對待處理報文進行分解得到分解結(jié)果;
[0057]步驟3.2:判斷分解組件是否生成訂單項,如果是,將訂單項存入分解組件庫,結(jié)束;否則,將分解組件的操作信息存入中間表或正表,結(jié)束。
[0058]如圖2所示,為本發(fā)明實施例1所述的一種報文處理系統(tǒng),包括獲取模塊1、調(diào)用模塊2和分解模塊3;
[0059]所述獲取模塊I用于接收待處理報文,解析待處理報文得到待處理報文的類型;
[0060]所述調(diào)用模塊2調(diào)用預設的分解組件庫,根據(jù)待處理報文的類型到分解組件庫中進行匹配相應的分解組件;
[0061]所述分解模塊3采用得到的分解組件對待處理報文進行分解得到分解結(jié)果。
[0062]本發(fā)明實施例2所述的一種報文處理系統(tǒng),在實施例1的基礎上,所述分解組件庫中包括多個分解組件,每個分解組件中包括報文類型和對應此報文類型的分解方法。
[0063]本發(fā)明實施例3所述的一種報文處理系統(tǒng),在實施例1或2的基礎上,所述分解組件庫內(nèi)還包括一個配置表,所述配置表中存儲多組一一對應的分解組件的調(diào)用名和報文類型。
[0064]本發(fā)明實施例4所述的一種報文處理系統(tǒng),在實施例1-3任一項的基礎上,所述調(diào)用模塊2包括查詢模塊21和對應模塊22;
[0065]所述查詢模塊21用于調(diào)用分解組件庫,獲得查詢表,根據(jù)待處理報文的類型與查詢表中的報文類型進行匹配,得到對應的調(diào)用名;
[0066]所述對應模塊22用于根據(jù)調(diào)用名調(diào)取對應的分解組件。
[0067]本發(fā)明具體示例所述的一種報文處理方法,包括以下步驟:
[0068]針對待處理報文的不同類型分別預先創(chuàng)建不同的分解組件;
[0069]獲取待處理報文并解析待處理報文得到待處理報文的類型;
[0070]根據(jù)待處理報文的類型調(diào)用對應的分解組件對待處理報文進行訂單分解。
[0071]所述針對待處理報文的不同類型分別預先創(chuàng)建不同的分解組件之后還包括:將所有分解組件的調(diào)用名與待處理報文的類型的對應關系存入配置表中。
[0072]所述根據(jù)待處理報文的類型調(diào)用對應的分解組件對待處理報文進行訂單分解之前還包括:在配置表中根據(jù)待處理報文的類型查找對應的調(diào)用名。
[0073]所述根據(jù)待處理報文的類型調(diào)用對應的分解組件對待處理報文進行訂單分解之后還包括:如果分解組件生成訂單項,則存儲訂單項;否則,將分解組件的相關信息存入中間表。
[0074]所述將分解組件的相關信息存入中間表具體為:如果不存在中間表,則將分解組件的相關信息存入正表。
[0075]在具體實施中,采用以下步驟:
[0076]步驟1:梳理業(yè)務中涉及的所有的SOO類型及每個SOO對應的處理方法。
[0077]步驟2:將每個SOO及其對應的處理方法配置實現(xiàn)。
[0078]配置方法:將所有的S00_TYPE的類型及對應的處理方法都配置在數(shù)據(jù)庫中,調(diào)用的時候,針對不同的S00_TYPE,根據(jù)該配置表去找對應的處理組件。
[0079]步驟3:調(diào)用反射機制,實現(xiàn)對不同SOO的動態(tài)處理。
[0080]動態(tài)處理:前端業(yè)務受理時,僅需將對應的受理信息組裝成一個大的SOO報文(S00報文是由一個一個的S00_TYPE拼接而成)。
[0081 ]調(diào)用反射機制時,入口是一個大的SOO報文,內(nèi)部針對不同的S00_TYPE,逐個處理,根據(jù)S00_TYPE決定調(diào)用哪個組件進行處理。
[0082]步驟一:待處理的報文即存儲業(yè)務受理過程中所有的信息的對象;
[0083]步驟二:調(diào)用反射機制進行訂單分解:對每一個S00_TYPE的解析過程寫一個處理的組件,分解過程中,對不同類型的S00_TYPE調(diào)用不同的組件處理;
[0084]步驟三:根據(jù)SOO報文中的S00_TYPE區(qū)分調(diào)用的對應的訂單分解的處理組件;
[0085]步驟四:訂單項是一個特殊的表,在所有的S00_TYPE處理過程中中,有的類型的S00_TYPE需要生成訂單項,有的S00_TYPE則不需要;
[0086]步驟五:對應的信息落中間表和正表是業(yè)務決定的(有中間表的話,分解的時候落入對應的中間表,沒有中間表則落入對應的正表)-_該部分信息可以歸結(jié)為:業(yè)務受理信息對應落地;正表和中間表是SOO報文處理內(nèi)部的邏輯,SOO內(nèi)部組件處理時,中間表與SOO基本一一對應,特殊的SOO沒有對應的中間表,只有正表。有中間表的數(shù)據(jù),在后期竣工時數(shù)據(jù)也會迀移至正表。只有正表的數(shù)據(jù)在竣工時不做處理。
[0087]通過訂單分解得到正確的處理是指將業(yè)務處理過程中的信息都落地,記錄到表當中。
[0088]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種報文處理方法,其特征在于,具體包括以下步驟: 步驟I:接收待處理報文,解析待處理報文得到待處理報文的類型; 步驟2:調(diào)用預設的分解組件庫,根據(jù)待處理報文的類型到分解組件庫中進行匹配相應的分解組件; 步驟3:采用得到的分解組件對待處理報文進行分解得到分解結(jié)果,結(jié)束。2.根據(jù)權(quán)利要求1所述的一種報文處理方法,其特征在于,所述分解組件庫的創(chuàng)建過程包括以下步驟: 步驟a:創(chuàng)建多個分解組件,每個所述分解組件中包括報文類型和對應此報文類型的分解方法; 步驟b:將所有分解組件存入分解組件庫中。3.根據(jù)權(quán)利要求2所述的一種報文處理方法,其特征在于,所述分解組件庫的創(chuàng)建過程還包括: 步驟c:為每個分解組件賦予一個調(diào)用名,將所有分解組件的調(diào)用名和其對應的報文類型——對應的存入查詢表中。4.根據(jù)權(quán)利要求3所述的一種報文處理方法,其特征在于,所述步驟2具體包括以下步驟: 步驟2.1:調(diào)用分解組件庫,獲得查詢表,根據(jù)待處理報文的類型與查詢表中的報文類型進行匹配,得到對應的調(diào)用名; 步驟2.2:根據(jù)調(diào)用名調(diào)取對應的分解組件。5.根據(jù)權(quán)利要求1-4任一項所述的一種報文處理方法,其特征在于,所述步驟3具體包括以下步驟: 步驟3.1:分解組件對待處理報文進行分解得到分解結(jié)果; 步驟3.2:判斷分解組件是否生成訂單項,如果是,將訂單項存入分解組件庫,結(jié)束;否則,將分解組件的操作信息存入中間表或正表,結(jié)束。6.一種報文處理系統(tǒng),其特征在于,包括獲取模塊、調(diào)用模塊和分解模塊; 所述獲取模塊用于接收待處理報文,解析待處理報文得到待處理報文的類型; 所述調(diào)用模塊調(diào)用預設的分解組件庫,根據(jù)待處理報文的類型到分解組件庫中進行匹配相應的分解組件; 所述分解模塊采用得到的分解組件對待處理報文進行分解得到分解結(jié)果。7.根據(jù)權(quán)利要求6所述的一種報文處理系統(tǒng),其特征在于,所述分解組件庫中包括多個分解組件,每個分解組件中包括報文類型和對應此報文類型的分解方法。8.根據(jù)權(quán)利要求6或7所述的一種報文處理系統(tǒng),其特征在于,所述分解組件庫內(nèi)還包括一個配置表,所述配置表中存儲多組一一對應的分解組件的調(diào)用名和報文類型。9.根據(jù)權(quán)利要求8所述的一種報文處理系統(tǒng),其特征在于,所述調(diào)用模塊包括查詢模塊和對應模塊; 所述查詢模塊用于調(diào)用分解組件庫,獲得查詢表,根據(jù)待處理報文的類型與查詢表中的報文類型進行匹配,得到對應的調(diào)用名; 所述對應模塊用于根據(jù)調(diào)用名調(diào)取對應的分解組件。
【文檔編號】G06F9/44GK105930148SQ201610230640
【公開日】2016年9月7日
【申請日】2016年4月14日
【發(fā)明人】張虹青
【申請人】北京思特奇信息技術(shù)股份有限公司