一种通信系统中的消息处理方法

文档序号:7896838阅读:146来源:国知局
专利名称:一种通信系统中的消息处理方法
技术领域
本发明涉及通信系统中的信息处理方法,尤其是涉及消息的发送和接收的处理方法。
背景技术
在通信系统中的端对端通信过程中,有大量的消息需要进行发送和接收处理,例如,移动通信系统中的移动应用部分(MAP,Mobileapplication part〕就负责大量的交换机中和移动相关的信令消息处理。由于通信系统中的数据传输协议和业务的发展较快,经常有许多新的业务操作和参数的产生或变换,因此,解决系统中消息处理过程中的代码量大、冗余、兼容性差等问题,同时提高代码的可重用性、可靠性、可维护性,就成为人们迫切需要解决的问题。
以移动通信系统中的MAP为例,包括全球移动通信系统(GSM)、码分多址系统(CDMA〕和宽待码分多址(WCDMA)系统,它们MAP中的代码结构都很相似,以发送一条位置登记消息为例,其处理方法为位置登记消息处理函数{ 编码用户的ESN(设备序列号);编码交换机的MSCID(移动交换机识别号);......
编码完位置登记的所有参数发送消息给HLR;.....}这就是说,位置登记消息处理函数对该消息的所有具体参数都逐个编码后,再将编码后的消息发送到系统的归属位置寄存器(HLR〕。与上述位置登记消息的处理方法类似,由于MAP中的每条消息的参数可能都有很多,而每个参数也都由单独的代码实现,必然导致代码结构复杂,冗余。一旦负责消息传输的协议发送变化,或者传输的参数需求发生变化,或者一些参数的属性发送变化,比如参数的长度发生变化,等等,就需要修改该消息处理方法中的源代码,维护起来很不方便。同时,如果由于业务发展需要增加新的消息和参数,比如监听功能,位置业务功能等等,就需要在原来方法的处理代码中增加很多源代码函数,这样就会导致消息处理方法性能的不稳定。
由上可知,现有的消息处理方法采用的是针对具体消息的每个参数进行编码处理的方式,由于每条消息都有很多参数,这样对众多的消息而言,如果存在参数编码的方法相同的情况,就会出现完成相同功能操作的代码冗余和实现的方式的多样化,从而使得代码复杂不清晰。比如上述位置登记消息的处理方法中,编码ESN,MSCID等的函数是公共的,很多消息都可能采用,这样在其它消息的处理方法也需要上述公共编码函数时,依据现有的消息处理方式,必然使得整个MAP部分的代码冗余,复杂,代码结构不清晰。同时也导致代码不易维护,共享性很差。比如GSM系统的MAP和CDMA系统的MAP参数定义完全不一样,所以各自的代码都完全不一样,这不但使代码无法共享,还提高了维护成本。

发明内容
本发明的目的在于提供一种代码简单、冗余少、易于维护且共享性好通信系统中的消息处理方法。
为达到上述目的,本发明提供的一种通信系统中的消息处理方法,包括将一个消息集合中的每个消息的属性存储为属性体;在发送消息时,查找该消息对应的属性体,对所述属性体描述的参数进行编码后发送。
可选地,所述方法还包括在接收消息时,查找该消息对应的属性体,利用所述属性体描述的参数进行解码。
优选地,建立消息描述表,用于作为存储消息属性的载体;所述消息描述表包括下述字段名称,用于描述参数的名称;类型,用于描述参数的性质;长度,用于描述参数的长度。
可选地,将每个消息的属性体分别存储在各自的消息描述表中。
优选地,建立消息描述表的索引表,用于定位消息描述表。
可选地,所述索引表包括下述字段名称,用于描述消息的名称;类型,用于描述消息参数的调用关系;描述表名称,用于消息描述表的名称。
优选地,所述消息描述表通过系统的操作维护控制台后台维护。
可选地,建立消息描述表,用于作为存储消息属性的载体;所述消息描述表包括下述字段消息名称,用于描述消息的名称;消息类型,用于描述消息的调用关系;参数名称,用于描述参数的名称;参数类型,用于描述参数的性质;参数长度,用于描述参数的长度。
优选地,将所有消息的属性体统一存储在一个消息描述表中。
由于本发明将一个消息集合中的每个消息的属性存储为属性体,在发送消息时,只要找到该消息对应的属性体,就可以对所述属性体描述的参数进行编码后发送;同样,在接收消息时,也可以根据找到的该消息的属性体辅助对消息参数的解码;采用上述方法,各个消息的编码和解码完全可以只使用一套公用的代码,因此会具有较好的代码可重用性和可移植性;另外,采用上述方法,对于任何业务,无论是新业务还是老业务,只要根据该业务消息的属性建立消息描述表,利用一套公用的编码方法即可实现消息的处理,使得消息处理方法的开发周期短,稳定性好;同时,对不同消息处理方式的改变,只需通过对消息描述表进行动态修改就可以实现,因此该方法具有较好的兼容性和可维护性。


图1是本发明发送消息的流程示意图;图2是本发明所述方法的消息描述表的动态维护原理图。
具体实施例方式
下面以移动通信系统中的MAP的实现为例,结合附图对本发明作进一步详细的描述。
通信系统的MAP事实上是一个消息和消息处理过程的集合。由于每一个消息都包含了很多参数,对这些消息的参数进行编码和发送处理即是实现MAP。以ANSI41D(汉语)协议中的特性请求(FeatureRequest)消息为例,它是从系统的移动交换中心(MSC)发送到归属位置寄存器(HLR)的消息,该消息包含了很多必选和可选的参数,为将该消息发送到HLR,就需要对该消息的包含的相应参数进行编码才能发送。由于现有方法的每条发送的消息都有各自的处理过程,每个处理过程的实现都有自己的代码,使得整个MAP变得既庞大,实现起来又麻烦。产生这些问题的原因实际上很简单,在不同消息的处理过程中,有很多消息的参数编码的代码是公用或相同的。在不同参数的处理过程中,可能很多过程都需要调用这些不同的参数编码代码,这必然导致调用参数的一套编码代码的过程在整个MAP中多次出现,从而引发MAP的代码冗余、不易维护、共享性差以及升级困难等问题。事实上,产生现有方法问题的原因在于其处理过程,现有方法的处理过程是以具体消息的参数为核心的,这样在消息的处理过程中需要根据该消息的参数决定对该参数编码代码的调用,假设在两个消息的处理过程中,分别有一个参数需要调用相同的编码代码,则一套完全相同的编码代码就需要被调用两次,相同的调用代码在整个MAP中就会重复出现。如果由于业务的增加,如MAP中增加了新的控制消息,就要为该消息利用已有的参数编码代码构建一个处理过程。
由上可知,如果将MAP中的消息处理方法改变为以消息参数的编码代码为核心,利用一套编码代码构建的过程,即利用一个参数编码代码的集合,无论处理哪个消息,都用该消息的需要编码的参数来适应该处理过程,这样就会解决现有方法的问题。例如,在对MAP进行升级,即增加新的消息时,不用再考虑处理该消息的过程和该过程需要采用的代码。
本发明具体是这样实现的如果将MAP中的消息看作是一个消息的集合,则将该消息集合中的每个消息的属性存储为属性体,这里所述消息的属性即为消息中需要编码发送的参数;这样,在对该消息进行处理时,如发送消息时,利用已有的参数编码代码,查找该消息对应的属性体,对所述属性体描述的参数进行编码后发送。在接收消息时,可以直接对接收到的消息的参数进行解码,业可以查找该消息对应的属性体,利用所述属性体描述的参数进行解码,以使参数解码更准确。
为使对需要处理消息的参数查找更快捷,实际中可以建立消息描述表,用于作为存储消息属性或参数的载体;所述消息描述表包括下述字段名称,用于描述参数的名称;类型,用于描述参数的性质;长度,用于描述参数的长度。
也可以包括其它的辅助管理字段,如参数的描述字段。如下述表1本发明在处理MAP消息时采用的实际消息描述表,在该消息描述表中,列举的是ANSI41D协议的FeatureRequest消息,其中的长度字段包括两部分最小长度和最大长度。
表1

在上表中,描述了FeatureRequest消息的具体参数名,如Digits(dialed);其类型的性质即为该参数的性质,如可选,必选等;长度字段描述了该参数的最小长度和最大长度值;描述字段用于对该参数作用的进行表述。
在本发明的具体实施中,需要将每个消息的属性体分别存储在各自的类似上述的消息描述表中,即把该消息的所有参数都填写在上面的描述表中。
图1是本发明发送消息的流程示意图。图1所示,当应用程序在步骤1向远端发起一条消息时,就要查找该消息的消息描述表,以获取该消息的需要编码发送的参数。因此在步骤2根据该消息提供的信息查找相应的参数描述表,然后在步骤3将找到的该消息的需要编码的参数传送给应用程序,然后,在步骤4由该程序对参数编码后发出。可见,实际中的应用程序将消息参数的查询和消息参数的编码发送统一成一个整体,形成一个公共操作,这个公共操作的对象或参数就是具体的消息描述表,无论消息描述表的个数、内容如何变化,都不会影响这个公共操作。只要为这个公共的应用程序提供需要发送消息的消息名,就能够找到该消息的消息描述表,从而编码发送消息描述表中的参数,实现消息的传送。
在图1所示的流程的具体实现中,把消息参数的查找和编码参数两个过程统合到一个统一的过程中。假设该过程的名字为“发送消息”,则发送消息(消息名),就可以将括号中消息名提供的消息的参数编码发送出去。同样,接受消息的实现方式和发送消息的实现方式可以一样,最终形成的是一个统一的过程。可见,采用本发明的方法,新增加消息时比较简单,只是增加固定模版的消息描述表,然后调用一下公共的发现消息和接受消息两个统一的过程,就可以实现了。由于发送和接收消息的操作过程是公共的,这样可能使这个用于信令交互的公共操作由于稳定而做得更加可靠,从而有效提高消息处理方法的稳定度、可靠性;也使新业务的开发简单易行,缩短开发周期,主要工作只是完成一张描述表就可以完成。
在本发明具体实现时,为了提高定位一个消息集合中的消息描述表的速度,可以建立该消息集合中的所有消息描述表的索引表,所述索引表可以包括下述字段名称,用于描述消息的名称;类型,用于描述消息参数的调用关系;描述表名称,用于消息描述表的名称。
当然上表中也可以增加其它辅助管理的字段,如描述表说明。这样通过为消息的发送过程或接受过程提供消息名和类型,就能得到相应的消息描述表以及反馈的参数。
需要说明的是,由于在处理一个消息时可能需要对不同的参数进行处理,因此需要提供消息类型,即调用关系来决定每次发送或接收消息时需要得到的参数集合。例如在对FeatureRequest消息进行发送处理时,为应用程序同时也提供了调用消息类型(Invoke),则在对该消息进行发送处理时,就会发送与提供其它消息类型不同的参数集合构成的消息。为实现上述操作,可以按照一个消息的不同类型将一个消息的参数存储成不同的消息描述表,以方便对不同的参数集合进行处理。例如对FeatureRequest消息Invoke类型的发送处理过程发起消息(FeatureRequest,Invoke){根据FeatureRequest和Invoke查找相应的描述表,从描述表中得到消息操作的全部参数;
for(ii=0;ii<描述表的最大参数个数;ii++){ 对每个参数的类型,长度进行判断;针对每个参数进行编码;}}上述FeatureRequest即为消息操作码,表明每条具体的消息操作;消息类型为Invoke,用于指明具体的消息描述表。
在具体实现本发明时,如果不采用按照一个消息的不同类型将一个消息的参数存储成不同的消息描述表的方案,就需要在对具体参数的编码操作前进行判断等方法即可,只是这样花费的时间较多。
在本发明具体实现时,也可以建立下述结构的消息描述表,用于作为存储消息属性的载体;所述消息描述表包括下述字段消息名称,用于描述消息的名称;消息类型,用于描述消息参数的调用关系;参数名称,用于描述参数的名称;参数类型,用于描述参数的性质,如可选或必选等;参数长度,用于描述参数的长度;描述,用于说明消息或参数的作用。
如果采用上述结构的消息描述表,就可以将所有消息的属性体,即所有消息的所有参数及说明统一存储在一个消息描述表中。这样图1所述的流程不会有变化,只是在具体的消息查找和参数编码步骤中略有调整。
在本发明中,无论一个消息集合中的各个消息的参数存储在一张一张的独立描述表中,还是存储在一个描述表中,在交换设备,如交换机或路由器正常运行中,如果消息需要增加,或已有的消息参数需要改动,可以通过后台的操作维护控制台OMC对这些消息描述表进行动态的修改、删除、添加等操作,以保证消息的兼容,具体的维护原理图参考图2,图2是以交换机为例描述的。假设一个消息集合中的各个消息的参数存储在一张一张的独立描述表中,则在对需要维护的消息描述表进行维护时,可以通过OMC操作维护台下发如下述表2形式的命令
表2

其中字段的含义参考下述说明消息,具体消息,比如上面的FeatureReqeust。
操作类型即参数的调用关系,如Invoke,返回(Return)、结果(Result〕等。
修改类型修改,添加,还是删除。
参数名具体的参数名称,比如上述表1的Digits(Dialed)等。
参数类型可选,必选等。
长度该参数的最大,最小长度值描述规定该参数作用的表述。
交换机收到该命令后,通过内部函数调用,更新参数描述表中的内容,从而起到动态更新交换机内的消息。这对于提高网上设备的兼容性是一个非常好的设计思路。
权利要求
1.一种通信系统中的消息处理方法,包括将一个消息集合中的每个消息的属性存储为属性体;在发送消息时,查找该消息对应的属性体,对所述属性体描述的参数进行编码后发送。
2.根据权利要求1所述的消息处理方法,其特征在于,所述方法还包括在接收消息时,查找该消息对应的属性体,利用所述属性体描述的参数进行解码。
3.根据权利要求1或2所述的消息处理方法,其特征在于建立消息描述表,用于作为存储消息属性的载体;所述消息描述表包括下述字段名称,用于描述参数的名称;类型,用于描述参数的性质;长度,用于描述参数的长度。
4.根据权利要求3所述的消息处理方法,其特征在于将每个消息的属性体分别存储在各自的消息描述表中。
5.根据权利要求4所述的消息处理方法,其特征在于建立消息描述表的索引表,用于定位消息描述表。
6.根据权利要求5所述的消息处理方法,其特征在于所述索引表包括下述字段名称,用于描述消息的名称;类型,用于描述消息参数的调用关系;描述表名称,用于消息描述表的名称。
7.根据权利要求3所述的消息处理方法,其特征在于所述消息描述表通过系统的操作维护控制台后台维护。
8.根据权利要求1或2所述的消息处理方法,其特征在于建立消息描述表,用于作为存储消息属性的载体;所述消息描述表包括下述字段消息名称,用于描述消息的名称;消息类型,用于描述消息的调用关系;参数名称,用于描述参数的名称;参数类型,用于描述参数的性质;参数长度,用于描述参数的长度。
9.根据权利要求8所述的消息处理方法,其特征在于将所有消息的属性体统一存储在一个消息描述表中。
全文摘要
本发明公开了一种通信系统中的消息处理方法,该方法将一个消息集合中的每个消息的属性存储为属性体,将所述属性体存储为消息描述表;在发送消息时,查找该消息对应的消息描述表,对所述消息描述表描述的参数进行编码后发送;在接收消息时,查找该消息对应的消息描述表,利用所述消息描述表描述的参数进行解码。采用上述方案,各个消息的编码和解码完全可以只使用一套公用的代码,因此会具有较好的代码可重用性和可移植性;而且会使得消息处理方法的开发周期短,稳定性好,并且具有较好的兼容性和可维护性。
文档编号H04W4/12GK1535035SQ0310890
公开日2004年10月6日 申请日期2003年4月2日 优先权日2003年4月2日
发明者耿昌荣 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1