一种报文组装与解析的方法和系统的制作方法

文档序号:7891247阅读:132来源:国知局
专利名称:一种报文组装与解析的方法和系统的制作方法
技术领域
本发明涉及Java技术和可扩展标记语言(XML)技术,具体的涉及ー种可扩展标记语言(XML)报文组装与解析方法和系统。
背景技术
在中国移动通信集団有限公司ー级BOSS枢纽系统中,各省BOSS系统以及各业务平台与中心ー级BOSS枢纽进行业务数据交互时的消息都是使用可扩展标记语言(XML)报文格式进行的。中移动集团每次下发ー级BOSS新需求时都会提供相应的接ロ规范,规范中规定了每个业务交易可扩展标记语言(XML)格式。省BOSS在实现这类业务时需要根据集团提供的接ロ规范将这类业务的受理数据组装成可扩展标记语言(XML)报文发送到中心ー级BOSS枢纽与其他省BOSS进行数据交互。正是基于这类业务的需求,开发了一种针对中国移动ー级BOSS接ロ规范的可扩展标记语言(XML)报文组装与解析的方法。这种方法有效的解决了繁琐的可扩展标记语言(XML)报文组装过程,只需要根据不同业务规范配置相应的控制文件就能组装出相应的可扩展标记语言(XML)报文,不需要为每个业务单独的写可扩展标记语言(XML)报文组装程序,与传统的组装与解析报文程序相比,省去了大量的代码量,大大提高了开发的效率。开发此方法用到的技术是Java技术以及Jdom解析技木,其核心功能是可以将填充好的几个值对象自动成组织成可扩展标记语言(XML)报文,同时也可以根据控制文件自动解析可扩展标记语言(XML)报文并将解析的数据信息存入Ha ShMap数据结构中,十分方便的进行数据交互与获取,同时还具有一定的安全性,可以根据配置对需要进行保密的数据字段进行加密。由于ー级BOSS业务在实现的过程中需要频繁的与外省BOSS或业务平台进行交互,而在交互的过程中,消息都是以可扩展标记语言(XML)报文格式表达的。为此,开发出了一套针对中国移动通信集団有限公司ー级BOSS接ロ规范组装与解析可扩展标记语言(XML)报文的方法,该方法只需根据集団提供的接ロ规范写控制文件和VO类,VO类即java值对象,可根据控制文件自动生成,使用VO类体现了 java面向对象的思想;在通过方法调用就可以自动组装与解析可扩展标记语言(XML)报文。同时这套解析方法具有很好的公共性,复用率极高,而且不论报文节点层次多深多复杂,都能自动组装与解析,省去了直接使用JDOM技术组装与解析的繁杂性,使软件质量大幅提高,提升了在同行业内的竞争优势。

发明内容
本发明的技术方案如下本发明提供一种报文组装与解析系统方法,其特征在于使用Java技术与Jdom解析技术,在省分一级系统中将可扩展标记语言(XML)报文的操作都封装在可扩展标记语言(XML)Parser类中,并采用以下方法供调用(l)public String procMessageTo可扩展标记语言(XML),将填充好的几个值对象组织成可扩展标记语言(XML)报文;(2)public void proc 可扩展标记语言(XML)ToMessage,根据控制文件 fiIaName解析报文可扩展标记语言(XML) Str,分别将报文头和报文体存放在msgHead和msgBody两个hash中。 其中在调用方法(I)之前需要完成以下步骤 设定3个参数,第一个参数HaspMap数据类型代表报文头,第二个参数HashMap数据类型代表报文体,第三个参数String类型表示的是控制文件名称。其中HaspMap中存放的数据都是将要组装报文的内容,键值正为组装报文的节点,HashMap数据通过程序自动生成,相应的Vo类调用自己的propertyToHash方法。其中每个Vo类都需要实现Message接口。Vo类都需要实现Message接口可以采用将Vo类的属性值放到HashMap中或根据HashMap存放的数据赋值给Vo类的字段属性,二者互为逆向。Vo类的字段属性为集团规范定义的每个业务交易报文的元素名称。其中在调用方法(2)之前需要完成以下步骤proc可扩展标记语言(XML)ToMessage为解析中心返回的可扩展标记语言(XML)报文,并将解析的数据存入Ha ShMap中,设定4个参数分别表示接收的可扩展标记语言(XML)报文、控制文件、存放报文头的HashMap和存放报文体的HashMap。其中方法⑴和⑵互为逆向过程。本发明还提供了一种报文组装与解析系统,其特征在于采用Java技术与Jdom解析技术,在省分一级系统中将可扩展标记语言(XML)报文的操作都封装在可扩展标记语言(XML)Parser类中,并采用以下方法调用模块第一方法调用模块public String procMessageTo可扩展标记语言(XML),将填充好的几个值对象组织成可扩展标记语言(XML)报文;第二方法调用模块public void proc可扩展标记语言(XML) ToMessage,根据控制文件filaName解析报文可扩展标记语言(XML) Str,分别将报文头和报文体存放在msgHead 和 msgBody 两个 hash 中。其中在调用第一方法调用模块之前需要完成以下步骤设定3个参数,第一个参数HaspMap数据类型代表报文头,第二个参数HashMap数据类型代表报文体,第三个参数String类型表示的是控制文件名称。其中HaspMap中存放的数据都是将要组装报文的内容,键值正为组装报文的节点,HashMap数据通过程序自动生成,相应的Vo类调用自己的propertyToHash方法。其中每个Vo类都需要实现Message接口。Vo类都需要实现Message接口可以采用将Vo类的属性值放到HashMap中或根据HashMap存放的数据赋值给Vo类的字段属性,二者互为逆向。Vo类的字段属性为集团规范定义的每个业务交易报文的元素名称。其中在调用第二方法调用模块之前需要完成以下步骤proc可扩展标记语言(XML)ToMessage为解析中心返回的可扩展标记语言(XML)报文,并将解析的数据存入HashMap中,设定4个参数分别表示接收的可扩展标记语言(XML)报文、控制文件、存放报文头的Ha shMap和存放报文体的Ha shMap。
其中第一方法调用模块和第二方法调用模块互为逆向过程。


图I为本发明提供的集团规范中定义异地停机报文示意图;图2为本发明提供的异地停机插入的数据示意图;图3为本发明提供的填写办理异地停机业务的信息示意具体实施例方式本组装与解析可扩展标记语言( XML)的方法主要是使用Java技术与Jdom解析技术,在省分一级系统中对可扩展标记语言(XML)报文的操作都封装在可扩展标记语言(XML)Parser类中,其中主要含有两个核心的方法供调用(I)public String procMessageTo 可扩展标记语言(XML) (HashMap msgHead,HashMap msgBody, String fiIeName)将填充好的几个值对象组织成可扩展标记语言(XML)报文(2)public void proc 可扩展标记语言(XML) ToMessage (String 可扩展标记语言(XML) Str, String fiIeName, HashMap msgHead, HashMap msgBody)根据控制文件fiIaName解析报文可扩展标记语言(XML) Str,分别将报文头和报文体存放在msgHead和msgBody两个hash中从这两个方法的參数来看,在调用方法之前需要做一些准备工作,第一个方法procMessageTo可扩展标记语言(XML)调用步骤如下准备好3个參数,第一个參数Ha spMap数据类型代表报文头,第二个參数HashMap数据类型代表报文体,第三个參数String类型表示的是控制文件名称。HaspMap中存放的数据都是要组装报文的内容,键值正是要组装报文的节点,当然这些HashMap数据也是通过程序自动生成的,只需要相应的Vo类调用自己的propertyToHash方法即可。由此可见,在组装报文之前最重要的是要填充好值对象Vo类,而Vo类存放的数据正是业务的受理的数据,也就是需要和其他省BOSS或业务平台进行交互的数据。在设计时每个Vo类都需要实现Message接ロ,Message接ロ代码如下
public interface Message extends java. io.Serializable {
public void hashToProperty (HashMap hash); public HashMap propertyToHash ();
}其含有两个方法,一个是将Vo类的属性值放到HashMap中,另ー个是根据HashMap存放的数据赋值给Vo类的字段属性,二者互为逆向。说到这里,那么很明显组装报文很重要的一点就是写No类,Vo类是根据集团规范来的写的,Vo类的字段属性正是集团规范定义的每个业务交易报文的元素名称。同时控制文件的名称也是唯一的,名称中含有每个交易的编码,交易编码是由集团规范定义的,每个交易一般都需要两个控制文件,一个用于发起交易,一个用于落地交易,在组装可扩展标记语言(XML)报文前,程序当然也会根据配置找到需要的控制文件,一般所需的这些配置信息都放在了 SOBOPERCODE表中,SOBOPERCODE为业务配置信息表,里面存放了每个交易所必须的信息。由此看来,在调用procMessageTo可扩展标记语言(XML)这个方法组装可扩展标记语言(XML)报文之前,需要我们做的工作就是将Vo类赋值,其他所需信息都有程序帮我们自动完成。在准备好这些参数调用procMessageTo可扩展标记语言(XML)方法之后,具体用到的就是利用Java技术和Jdom解析技术以及业务本身的特点组装报文的过程,里面包含有的递归的思想,整个组装方法不局限于某个业务,适用于所有的交易,具有很好的公用性,这里对其具体的实现细节就不在叙述了,在我们的程序代码中已实现了这个功能。第二个方法proc可扩展标记语言(XML) ToMessage是解析中心返回的可扩展标记语言(XML)报文,并将解析的数据存入HashMap中,4个参数分别表示接收的可扩展标记语言(XML)报文、控制文件、存放报文头的HashMap、存放报文体的HashMap,这个方法是与第一个方法procMessageTo可扩展标记语言(XML)互为逆向的一个过程,具体实现方式相似,对其具体实现过程不在赘述。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。以下为根据本发明技术方案的一个
具体实施例方式I、根据集团下发的业务规范写好发起和落地两个可扩展标记语言(XML)控制文件。2、根据集团规范或控制文件写好相应的VO类。3、根据集团规范中定义的某个业务信息在业务配置表SOBOPERCODE中配置一条数据。4、调用可扩展标记语言(XML)Parser类中的procMessageTo可扩展标记语言(XML) (HashMap msgHead, HashMap msgBody, String fiIeName)方法组织报文或 proc 可扩展标记语言(XML) ToMessage (String可扩展标记语言(XML) Str, String fiIeName,HashMapmsgHead, HashMapmsgBody)方法解析报文(这两个方法在前面技术方案中已作说明)。5、通过后台日志可以查看组装好的可扩展标记语言(XML)报文以及解析报文的详细过程。下面列举一个实际案例,说明这个方法的调用过程,列举异地停机报文的组装过程。集团规范中定义异地停机报文如图I所示首先根据报文写出以下控制文件
权利要求
1.一种报文组装与解析系统方法,其特征在于 使用Java技术与Jdom解析技术,在省分一级系统中将可扩展标记语言(XML)报文的操作都封装在可扩展标记语言(XML)剖析程序(Parser)类中,并采用以下方法供调用 (1)公共字符串处理报文(publicString procMessage)到可扩展标记语言(XML)J^填充好的几个值对象组织成可扩展标记语言(XML)报文; (2)公共空闲处理可扩展标记语言(publicvoid procXML)到报文(Message),根据控制文件filaName解析报文可扩展标记语言(XML) Str,分别将报文头和报文体存放在报文头(msgHead)和报文体(msgBody)两个无用数据(hash)中。
2.如权利要求I所述方法,其中在调用方法(I)之前需要完成以下步骤 设定三个参数,第一个参数HaspMap数据类型代表报文头,第二个参数HashMap数据类型代表报文体,第三个参数String类型表示的是控制文件名称。
3.如权利要求2所述方法,其中HaspMap中存放的数据都是将要组装报文的内容,键值正为组装报文的节点,HashMap数据通过程序自动生成,相应的Vo类调用自己的propertyToHash 方法。
4.如权利要求3所述方法,其中每个Vo类都需要实现Message接口。
5.如权利要求4所述方法,Vo类都需要实现Message接口可以采用将Vo类的属性值放到HashMap中或根据HashMap存放的数据赋值给Vo类的字段属性,二者互为逆向。
6.如权利要求1-5任一所述方法,Vo类的字段属性为集团规范定义的每个业务交易报文的元素名称。
7.如权利要求I所述方法,其中在调用方法(2)之前需要完成以下步骤 处理可扩展标记语言到报文(procXML ToMessage)为解析中心返回的可扩展标记语言(XML)报文,并将解析的数据存入HashMap中,设定4个参数分别表示接收的可扩展标记语言(XML)报文、控制文件、存放报文头的HashMap和存放报文体的HashMap。
8.如权利要求I所述方法,其中方法(I)和(2)互为逆向过程。
9.一种报文组装与解析系统,其特征在于 该系统采用Java技术与Jdom解析技术进行组装与解析,在省分一级系统中将可扩展标记语言(XML)报文的操作都封装在可扩展标记语言(XML)Parser类中,并采用以下方法调用模块 第一方法调用模块公共字符串处理报文(public String procMessage)到可扩展标记语言(XML),将填充好的几个值对象组织成可扩展标记语言(XML)报文; 第二方法调用模块公共空闲处理可扩展标记语言(public void procXML)到报文(Message),根据控制文件filaName解析报文可扩展标记语言(XML) Str,分别将报文头和报文体存放在报文头(msgHead)和报文体(msgBody)两个无用数据(hash)中。
10.如权利要求9所述系统,其中在调用第一方法调用模块之前需要完成以下步骤 设定三个参数,第一个参数HaspMap数据类型代表报文头,第二个参数HashMap数据类型代表报文体,第三个参数String类型表示的是控制文件名称。
11.如权利要求10所述系统,其中HaspMap中存放的数据都是将要组装报文的内容,键值正为组装报文的节点,HashMap数据通过程序自动生成,相应的Vo类调用自己的propertyToHash 方法。
12.如权利要求11所述系统,其中每个Vo类都需要实现Message接口。
13.如权利要求12所述系统,Vo类都需要实现Message接口可以采用将No类的属性值放到HashMap中或根据HashMap存放的数据赋值给Vo类的字段属性,二者互为逆向。
14.如权利要求9-13任一所述系统,Vo类的字段属性为集团规范定义的每个业务交易报文的元素名称。
15.如权利要求9所述系统,其中在调用第二方法调用模块之前需要完成以下步骤 proc可扩展标记语言(XML) ToMessage为解析中心返回的可扩展标记语言(XML)报文,并将解析的数据存入HashMap中,设定4个参数分别表示接收的可扩展标记语言(XML)报文、控制文件、存放报文头的HashMap和存放报文体的HashMap。
16.如权利要求9所述系统,其中第一方法调用模块和第二方法调用模块互为逆向过程。
全文摘要
本发明涉及一种报文组装与解析系统方法,其特征在于使用Java技术与Jdom解析技术,在省分一级系统中将可扩展标记语言(XML)报文的操作都封装在可扩展标记语言(XML)剖析程序(Parser)类中,并采用以下方法供调用(1)公共字符串处理报文(publicStringprocMessage)到可扩展标记语言(XML),将填充好的几个值对象组织成可扩展标记语言(XML)报文;(2)公共空闲处理可扩展标记语言(publicvoidprocXML)到报文(Message),根据控制文件filaName解析报文可扩展标记语言(XML)Str,分别将报文头和报文体存放在报文头(msgHead)和报文体(msgBody)两个无用数据(hash)中。
文档编号H04L29/08GK102624894SQ20121006162
公开日2012年8月1日 申请日期2012年3月9日 优先权日2012年3月9日
发明者吴国良 申请人:北京神州数码思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1