基于通信中间件的电信oss子系统间的接口通信方法

文档序号:7956564阅读:199来源:国知局
专利名称:基于通信中间件的电信oss子系统间的接口通信方法
技术领域
本发明涉及电信运营支撑系统(简称OSS)系统中子系统间的接口通信方法,尤其涉及电信OSS领域资源管理系统以及业务流程系统间的接口通信方法。
背景技术
经过十几年的高速发展,通信网络规模已经非常庞大。电信运营商如何通过一种网络资源动态管理体系,调度企业各部门有效配置网络资源,盘活网络存量资产,提高资源利用率,最大限度满足客户需要,支撑前端业务,是提高网络综合效能和企业竞争力的重要保证。
为此,电信运营商普遍采用了基于计算机信息管理技术的电信网络资源OSS系统,其参照了eTom的模型体系,以计算机系统为基础,实现传输网、数据网、交换网、动力网等各专业网的物理设备资源、逻辑配置资源、业务调度和业务开通流程的集中统一管理,为电信运营商提供了电信网络管理的综合解决方案,不仅使新的网络资源的快速方便的扩展成为可能,并帮助电信运营商极大地提高了新业务生成的速度。
电信OSS系统包括诸多的子系统,包括资源管理系统和业务流程系统等。子系统之间存在着两两的业务接口,如A子系统向B子系统占用资源,C子系统向D子系统查询资源等。由于子系统间业务接口的通信比较复杂,一个子系统向另外一个子系统的业务操作请求,可能既要变更对方子系统的业务数据,也要根据对方子系统返回的结果去变更自身的业务数据;甚至在一个子系统内部的某个业务操作,可能引起两个子系统以上的业务数据的连锁变更。上述复杂的情况需要一个极为成熟的接口模型才能实现系统间接口通信的实现。
目前电信业界对于电信OSS系统并无一个统一的接口规范和标准,并且现有的接口方案存在着难以扩展,通信模式单一(例如只支持一对一的通信模式),移植性较差,通信协同方式单一(例如只支持异步方式),业务数据的准确和同步性很难得到保证的缺陷。

发明内容
本发明的目的在于提供一种电信OSS系统中各子系统间的接口通信方法,以克服现有技术的上述缺点,使得1.多子系统间的接口通信性能稳定,并且接口实现只负责消息的传送、接收,不依赖具体的应用模块;2.多子系统间的接口通信方式灵活多样,具有通用性、可扩展性和移植性;3.多子系统间的接口通信支持点对点和点对多点的交互模式;4.多子系统间的接口数据具有一致性;5.在兼顾网络通信速度最大化和一次接口通信数据最大量的情况下,多子系统间的接口采用合理的数据量;6.多子系统间的接口具有可靠的接口数据出错和超时处理机制;7.多子系统间的接口通信具有跨平台性,可运行在任何平台上,包括Windows、Unix操作系统等等上。
本发明提供了一种电信运营支撑系统中子系统间的接口通信方法,包括源子系统发送数据给源子系统端接口;源子系统端接口接收该数据并对该数据进行XML封装以得到XML包,并且将XML包发送给基于socket传输机制的通信中间件;通信中间件对接收的XML包进行基于socket传输机制的协议封装,以得到传输包,并将传输包路由到目的子系统端接口;在目的子系统端接口从通信中间件接收数据前,通信中间件将所路由的传输包拆成XML包,并传送给目的子系统端接口;目的子系统端接口接收XML包并进行解析,以得到源子系统发送的数据;以及目的子系统端接口将解析出的数据发送给目的子系统。
与现有技术相比,本发明的基于通信中间件的电信OSS子系统接口方法具有下面的优点从接口机制来看,包括通用的Socket消息通信机制和可扩展性的XML消息封装机制;从接口特点来看,包括两种的接口通信方式(同步通信和异步通信)、及一点对多点的交互模式的通信模式、接口的跨平台性、接口的移植性、接口的多编码支持以及特殊的接口的数据处理方式。


通过下面结合附图所进行的对本发明的描述,能够明白本发明的上述及其它目的,特征和优点,其中图1的示意图示出了本发明的接口体系结构和基本通信流程。
具体实施例方式
下面结合附图来说明本发明的具体实施例。
图1的示意图示出了本发明的接口体系结构和基本通信流程。假设一个电信OSS系统包含两个子系统,即A子系统10和B子系统20。A子系统配有一子系统接口,例如A子系11。B子系统配有一子系统接口,例如B子系统21。在电信OSS系统中提供有NetMessage通信中间件30。
NetMessage通信中间件30实现通用的Socket消息通信机制。本领域技术人员明白,Socket实质上是一个通信端点,借助于它,用户所开发的Socket应用程序,可以通过网络与其它Socket应用程序进行通信。NetMessage通信中间件30可包括通过扩展SPI编程接口附加的兼容各种网络和协议,包括PSTN、ISDN、无线网、所有的局域网协议、异步传输模式ATM等等的模块,以及允许应用程序对所建立连接的可靠性、冗余度和带宽进行控制的模块。
NetMessage通信中间件30的Sockets通信支持两种主要的方式。
第一种叫作流方式(Stream Socket),也称面向连接方式。在这种方式下,两个通信的应用程序之间先通过NetMessage通信中间件30建立虚拟连接,然后通信一端以保证顺序和无误的流的方式向通信另一端发送数据。这种方式对应的是TCP协议。
第二种叫作数据报文方式(Datagram Socket),又称无连接方式,其过程为通信一端直接通过NetMessage通信中间件30向通信另一端发出数据提出报文,NetMessage通信中间件30向通信另一端传送该数据包,但不保证数据包成功无误地到达通信另一端,而且后发出的数据包也有可能会先到达通信另一端。该方式对应的是UDP协议。
在本发明的接口体系结构中,源子系统(例如A子系统10和B子系统20)通过其配备的源子系统端接口(例如A子系统端接口11和B子系统端接口21)发送和接收数据。源子系统端接口通过NetMessage通信中间件30发送和接收数据。当发送数据时,源子系统端接口将接收自其所属子系统的数据进行XML封装以得到XML包,并且将XML包发送给NetMessage通信中间件30,NetMessage通信中间件30对接收的XML包进行基于传输机制的协议封装,以得到传输包,并将传输包路由到目的子系统端接口。当目的子系统端接口从NetMessage通信中间件30接收数据时,NetMessage通信中间件30先将所路由的传输包拆成XML包,并传送给目的子系统端接口。目的子系统端接口接收XML包并进行解析,以得到源子系统发送的数据。
“可扩展标记语言”(XML)提供一种描述结构化数据的方法,是一种简单、与平台无关并被广泛采用的标准。通过严格定义一组无限制的XML标记,去记录用户所定义的业务元素。
如上所述,本发明产品在接口通信过程中,采用XML封装消息。由于XML本身的跨平台、可扩展性,可以实现异构系统间消息的交互,同时对于消息内容易于扩展。
本发明采用了XML业务元素定制机制。源子系统端接口和目的子系统端接口可包括封装和解析具有基于该定制机制而制定的公共XML消息格式的XML包的模块。
在图1所示的优选实施例中,该公共XML消息格式如下在消息发送的接口端,可定义业务元素的根节点名action,定义它的属性name表示业务操作指令,定义它的属性type表示该业务操作指令来自于哪个子系统;在action节点下,定义其子节点名为requestdata,表示消息的类型为请求,requestdata节点可以有多个,表示接口一次通信可以发多个业务操作指令过去;在requestdata节点下,定义多个parameter,表示业务操作的参数。
在消息接收的接口端,可定义业务元素的根节点名action,其定义跟消息发送的XML格式一致。在action节点下,定义其子节点名为responsedata,表示消息的类型为响应,responsedata节点可以有多个,也可以有一个,是业务需要而定;在responsedata节点下,定义多个parameter,表示业务操作的返回值。
然而本发明并不限于该格式。本领域技术人员能够根据XML定制机制设计所需的XML消息格式及相应的封装和解析模块。
通过XML定制机制,本领域技术人员能够对XML格式进行自由约定和规范,最大程度上体现扩展性。进行接通信口的若干个子系统之间需要遵守一套需要严格遵守的XML格式。可扩展性的XML消息封装机制让NetMessage消息中间件只关心消息的传递,而不关心业务的内容。这样可以让其适用于任何电信OSS系统间的接口,具有很强的生命力。考虑到LAN网中的数据流量,为实现接口XML通信包在传递过程中,最大数据量和最快传递速度,经过多方测试,5M大小的XML通信包,是包容量的极限。
图1示出了一次接口通信的例子,实现过程如下步骤S1A子系统10向A子系统端接口11发送业务指令(请求变更或查询B子系统上的业务数据);步骤S2A子系统端接口11把业务指令封装成XML包;步骤S3通过NetMessage通信中间件30基于Socket消息通信机制把该XML包发送到B子系统端接口21;步骤S4B子系统端接口21接收XML;
步骤S5B子系统端接口21把XML包再解析成业务指令,向B子系统发出业务操作要求;步骤S6B子系统20进行业务操作;步骤S7B子系统20返回业务操作结果给B子系统端接口21;步骤S8B子系统端接口21把业务操作结果封装成XML包步骤S9通过NetMessage通信中间件30基于Socket消息通信机制把该XML包发送到A子系统端接口11;步骤S10A子系统端接口11接收XML包;步骤S11A子系统端接口11把XML包再解析成业务操作结果,向A子系统返回业务操作结果;步骤S12A子系统10处理业务操作结果(如把业务操作结果显示在界面上)。
在本发明的优选实施例中,NetMessage通信中间件30提供可靠的流方式通信机制,实现跨平台跨语言的异构系统之间消息的交互。
本发明可支持同步通信和异步通信两种方式。
同步通信指A子系统通过接口端发出通信请求后,需要等到B子系统返回结果后,A子系统才能继续进行本身的工作。如果B子系统一直没返回结果,那么A子系统将一直等待,直到超时。
异步通信指A子系统通过接口端发出通信请求后,不需要等到B子系统返回结果,A子系统照样进行本身的工作。
可根据需要在系统中支持两种通信方式的任一种或两种均支持。一般来说,同步通信可靠性高,对于保证系统间业务数据的准确性和一致性提供保障,但效率较低;异步通信不保证系统间业务数据的准确性和一致性,但其效率较高。
除图1示出的一对一交互模式外,本发明还可采用一点对多点的交互模式。
如果一个子系统跟多个子系统做接口,那么只需要开起一个子系统的接口端,然后在接口端里部署想做接口的多个子系统的通信地址,就可以实现接口的交互。这样的模式,可以起到一个集中部署,统一运行的作用,便于管理。
NetMessage通信中间件可采用平台无关的开发语言(例如SUN公司的跨平台开发语言Java开发),所以它也具备了跨平台特性。所开发的接口机可运行在不同的平台上,包括Windows、Unix等操作系统。
由于NetMessage通信中间件采用标准的Socket消息通信机制和开放的XML消息封装机制,具有很强的移植性。当NetMessage通信中间件被其他通信中间件替代时,开发者不必改动业务层的代码和XML定义方式,只要新的通信中间件遵守原有的XML格式标准,可以无缝的把新通信中间件嵌入到原有系统中。
由于接口存在着跨平台性,一些操作系统并不能非常好的支持一些中文字符,在这种情况下,NetMessage通信中间件提供多种编码方式,例如GB2312,GBK等。可视接口的运行环境而自主配置编码方式。
采用可配置的方式,接口可自主配置接口通信的超时时间、通信的最大线程数。在同步通信的方式中,超时时间的设置显得尤为重要,当接口响应端的子系统忙碌,甚至不慎死机,合理的超时时间可以避免接口请求端子系统的无休止等待的情况;最大线程数,可以保证在一点对多点的通信模式下,一个子系统的接口端连接其他子系统接口端的最大数目。合理的线程数,对于节约网络资源,提供接口通信效率,起着不可低估的作用。
可采用本领域已知的方式实现接口。在一个优选实施例中,接口可采用消息发送方法和消息回调方法来实现。具体实现方式如下1.调用NetMessage通信包的接口服务类,产生并获取其实例;2.读取接口的本地配置文件,启动接口服务;3.调用接口回调类,产生并获取其实例。该回调类必须实现NetMessage通信包中的接口回调接口的方法;4.向接口服务类注册接口回调类的句柄;5.接口端发送操作请求,只需要实现接口服务类的发送消息方法;6.接口端返回操作结果,只需要实现接口回调类的消息回调方法。
基于NetMessage通信中间件的多系统接口方法,为电信OSS系统的不同子系统之间的接口需求提供了行之有效的解决方案,为这些开发子系统间接口的二次开发人员提供了透明、简捷的开发手段。多系统接口的实现,为庞大的OSS系统琏之间展现了四通八达的接口通道,电信用户可随心所欲的在一个子系统内实时查询到其他子系统的相关业务数据。
权利要求
1.一种电信运营支撑系统中子系统间的接口通信方法,包括源子系统发送数据给源子系统端接口;源子系统端接口接收该数据并对该数据进行XML封装以得到XML包,并且将XML包发送给基于socket传输机制的通信中间件;通信中间件对接收的XML包进行基于socket传输机制的协议封装,以得到传输包,并将传输包路由到目的子系统端接口;在目的子系统端接口从通信中间件接收数据前,通信中间件将所路由的传输包拆成XML包,并传送给目的子系统端接口;目的子系统端接口接收XML包并进行解析,以得到源子系统发送的数据;以及目的子系统端接口将解析出的数据发送给目的子系统。
2.根据权利要求1的方法,其中通信中间件经过扩展SPI编程接口的扩展,以适应所需的网络和协议,或允许子系统对所建立连接的可靠性、冗余度和带宽进行控制。
3.根据权利要求1的方法,其中通信中间件的socket通信支持流方式和/或数据报文方式。
4.根据权利要求1的方法,其中所述XML包的封装和解析基于按XML业务元素定制机制制定的公共XML消息格式。
5.根据权利要求4的方法,其中所述源子系统端接口的封装和所述目的子系统端接口的解析所基于的所述公共XML消息格式包括标识业务元素的信息;标识业务操作指令的信息;标识业务操作指令所来自的子系统的信息;一或多个请求,接口在一次通信中发出所述一或多个请求以执行相应的所述业务操作指令;以及与所述一或多个请求的每一个相关的一或多个业务操作参数。
6.根据权利要求5的方法,其中所述源子系统端接口的解析和所述目的子系统端接口的封装所基于的所述公共XML消息格式包括标识目的子系统已处理的业务元素的信息;标识目的子系统已执行的业务操作指令的信息;标识该业务操作指令所来自的子系统的信息;涉及所执行的业务操作指令的一或多个响应,每个响应包括与该所执行的业务操作指令相关的返回值。
7.根据权利要求1的方法,其中XML包的最大尺寸为5M。
8.根据权利要求1的方法,其中所述源子系统发送的数据是业务指令,所述方法还包括目的子系统根据接收的业务指令进行业务操作;目的子系统返回业务操作结果给目的子系统端接口;目的子系统端接口把业务操作结果封装成XML包;通过通信中间件基于Socket消息通信机制把该XML包发送到源子系统端接口;源子系统端接口接收该XML包;源子系统端接口把该XML包解析成业务操作结果,并向源子系统返回业务操作结果;以及源子系统处理业务操作结果。
9.根据权利要求1的方法,其中所述源子系统与所述目的子系统进行同步通信。
10.根据权利要求1的方法,还包括配置接口通信的超时时间的步骤。
11.根据权利要求1的方法,其中所述源子系统与所述目的子系统进行异步通信。
12.根据权利要求1的方法,其中所述源子系统端接口的发送步骤还包括指示通信中间件根据所述源子系统端接口中部署的要接口到的一或多个子系统的通信地址,对XML包进行路由。
13.根据权利要求12的方法,还包括配置接口通信的最大线程数的步骤。
14.根据权利要求1的方法,其中采用平台无关的开发语言开发通信中间件。
15.根据权利要求14的方法,其中通信中间件提供多种编码方式,所述方法还包括根据接口的运行环境来配置编码方式的步骤。
16.根据权利要求1的方法,还包括配置接口通信的超时时间、通信的最大线程数的步骤。
17.根据权利要求1的方法,其中所述源子系统端接口和目的子系统端接口采用消息发送和回调方式与通信中间件的通信,该方式包括调用通信包的接口服务类,产生并获取其实例;读取接口的本地配置文件,启动接口服务;调用接口回调类,产生并获取其实例。该回调类必须实现通信包中的接口回调接口的方法;向接口服务类注册接口回调类的句柄;接口端发送操作请求,只需要实现接口服务类的发送消息方法;接口端返回操作结果,只需要实现接口回调类的消息回调方法。
全文摘要
一种电信运营支撑系统中子系统间的接口通信方法,包括源子系统发送数据给源子系统端接口;源子系统端接口接收该数据并对该数据进行XML封装以得到XML包,并且将XML包发送给基于socket传输机制的通信中间件;通信中间件对接收的XML包进行基于socket传输机制的协议封装,以得到传输包,并将传输包路由到目的子系统端接口;在目的子系统端接口从通信中间件接收数据前,通信中间件将所路由的传输包拆成XML包,并传送给目的子系统端接口;目的子系统端接口接收XML包并进行解析,以得到源子系统发送的数据;以及目的子系统端接口将解析出的数据发送给目的子系统。
文档编号H04L29/06GK101030927SQ20061005873
公开日2007年9月5日 申请日期2006年3月3日 优先权日2006年3月3日
发明者苏通, 周传华, 任浩军, 杨庆华, 章靖达, 齐麟, 纪敏, 周俊锋, 王宏波 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1