一种为服务提供向前兼容的方法

文档序号:7615076阅读:106来源:国知局
专利名称:一种为服务提供向前兼容的方法
技术领域
本发明涉及通讯领域的分布式系统,特别是涉及一种为服务提供向前兼容的方法。
背景技术
在分布式体系中,系统总被划分为服务,供多个应用程序共享和使用。提供服务的组件(服务提供者)和发送请求使用服务的组件(服务请求者)之间有非常好的协作性,它们可以独立升级,而继续保持服务的可用性或继续使用服务。但有一个前提,就是组件相互之间具有兼容性,这包括向后兼容和向前兼容。
现在的通讯设备的网管系统是一个复杂的分布式系统。参阅图1所示,一般的通讯设备的网管系统包括两个部分后台网管和设备,设备又称为网管的前台。在一般的通讯设备网管系统的运行环境中,都是由多个后台网管共同管理监控多个相同的前台设备,如图1所示,后台网管1,2…N 10都管理着设备1,2…N 11。随着后台网管功能的不断增强、业务类型的逐渐增加,无论是设备,还是后台网管都存在不断升级的可能。而且它们的升级经常是不同步的,也许是后台网管升级了,但设备没有升级;或者是设备升级了,而后台网管没有升级。因此怎样解决它们之间的兼容性就显得尤为重要。
对于兼容需要考虑两个方面向后兼容和向前兼容。向后兼容是指,服务提供者在升级之后,能够使之前的服务请求者继续访问升级后的服务;向前兼容是指,在服务请求者升级之后,新的服务请求者还是能够正常访问现有的服务。前者相对于后者是比较容易实现的,只要保证升级后还是能正确处理所有旧版本请求就可以了。
而对于向前兼容,由于不能预料未来的所有服务,所以就需要某种方法来保证向前兼容性。以网管系统为例,假设后台网管管理了多个设备,它们的版本不尽相同,存在一些设备并不支持后台网管可以发送的所有请求。不支持是指设备不能提供该请求的服务,或者虽然有这个服务,但并不支持此服务的内容,如可以是不能处理其中的某些具体参数。
为解决上述问题,一种简单的方法是,设备对于不支持的请求,直接忽略,不作任何处理。这种方法的缺点是在不支持的情况下,会导致设备的响应能力差,后台网管必然会因等待响应一定时间之后超时,但在超时后,后台网管还是不能判断超时的具体原因,可能是不支持,可能是设备确实由于某种原因或故障而没有响应。一种改进的方法是,对于不支持的请求,直接响应成功。这虽然解决了设备的响应能力差的问题,但却不能判断请求真的成功了,还是设备根本不支持此请求。在不支持的情况下,设备的运行情况就可能与用户期望的不同。
综上所述,上述方法各有弊端,都不能支持向前兼容。

发明内容
本发明所要解决的技术问题在于提供一种为服务提供向前兼容的方法,用于解决现有技术设备响应能力差,设备的运行情况可能与用户期望的结果不一致等问题。
为了实现上述目的,本发明提供了一种为服务提供向前兼容的方法,包括如下步骤步骤1,服务提供者针对服务器请求者的请求返回一不支持响应的消息;步骤2,所述服务请求者接收所述不支持响应的消息,根据一设定的消息格式和内容及请求,对所述服务提供者不支持所述请求作出解释。
所述的为服务提供向前兼容的方法,其中,所述步骤2中,所述消息指服务提供者和服务请求者之间用于交换信息的数据。
所述的为服务提供向前兼容的方法,其中,所述数据为TCP/IP的网络字节流或中间组件定义的特定格式的数据。
所述的为服务提供向前兼容的方法,其中,所述步骤2中,所述解释包括步骤41,若请求不被支持,且服务提供者、请求本身的结果或后续的请求不受影响时,则解释为请求成功;步骤42,若请求部分被支持,或会影响到服务提供者或后续的请求,但可认为成功时,则解释为请求成功;
步骤43,若请求不支持,且后续请求不能进行,或期望该请求必须成功时,则解释为请求失败;步骤44,若设置不支持响应为缺省解释时,则解释为请求成功。
所述的为服务提供向前兼容的方法,其中,所述步骤42中,所述服务请求者还通过界面显示或日志记录方式在结果中显示不支持该请求和/或可能导致的问题。
所述的为服务提供向前兼容的方法,其中,所述步骤44中,所述服务请求者还通过界面显示警告信息。
所述的为服务提供向前兼容的方法,其中,进一步包括步骤71,所述服务请求者向所述服务提供者发起请求;步骤72,所述服务提供者接收所述请求;步骤73,根据所述服务提供者是否支持所述请求,对所述请求进行服务处理或向所述服务请求者发送不支持响应的消息,并由服务请求者解释所述不支持响应。
本发明提高了设备的响应能力,保证了设备的运行情况与用户期望的状态具有一致性,实现了服务提供者对服务请求者的向前兼容;使得服务提供者在收到不支持请求的时候,立即向服务请求者返回不支持响应;服务请求者在收到不支持响应后,能够根据特定的请求,解释不支持的原因。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为网管系统的架构图;图2为分层体系架构图;图3为本发明向前兼容流程图;及图4为网管系统的3层架构图。
具体实施例方式
本发明的目的就是提供一种简单、有效、易于实施的向前兼容的方法,以支持服务提供者对服务请求者的向前兼容。
本发明为了解决现有技术方案存在的弊端,通过以下方法进行解决一是,服务提供者在收到不支持请求的时候,立即向服务请求者返回不支持响应;二是,服务请求者在收到不支持响应后,根据特定的请求,解释不支持的原因。
本发明的具体技术方案如下(1)、定义不支持响应的消息格式和内容此处消息是指,服务提供者和服务请求者之间用于交换信息的任何数据。如对于TCP/IP的网络字节流,或其它中间组件定义的特定格式的数据表示。
(2)、实现服务提供者返回不支持响应服务提供者在收到不支持请求的时候,需要立即向服务请求者返回响应,其中明确指示不支持该请求。
(3)、服务请求者在收到不支持响应后,根据特定的请求,解释不支持的原因此处解释是指,服务请求者在收到不支持响应后,根据之前所作的请求,做出特定的反应。如a、该请求虽然不被支持,但也不影响服务提供者、请求本身的结果或后续的请求,此时服务请求者就可以简单地忽略此不支持响应,对此请求解释为成功。
b、该请求是部分被支持,或者可能会影响到服务提供者或后续的请求,但还是可以认为成功的情况下,服务请求者还是可以解释为成功,但同时也需要在结果中显示此请求不被支持,以及可能导致的问题。这可以通过界面显示或者日志记录。
c、此请求不支持,后续请求就不能进行,或者期望此请求必须成功的情况下服务请求者就应当解释此不支持响应为请求失败。
d、可以为不支持响应定义一种缺省解释,如缺省为响应成功,但通过界面显示警告信息。
从本发明的处理过程来看,可以确保向前兼容性。因为首先是服务提供者在收到不支持的请求时,可以向服务请求者返回确切的不支持信息;二是服务请求者可以根据特定的请求,对不支持信息作不同的处理,确保请求的处理跟期望一致。通过服务双方的这种协调实现向前兼容。
下面结合多个实施例来叙述处理的各个过程。
图3所示为本发明向前兼容流程图,该流程包括如下步骤步骤301,首先服务请求者向服务提供者发起请求;步骤302,服务提供者接收服务请求者发起的请求;步骤303,对接收的请求判断服务提供者是否支持,若支持,则对该请求进行处理,执行步骤304,若不支持,则执行步骤305;步骤304,服务提供者对请求进行服务处理;步骤305,发送不支持的响应;步骤306,进行不支持应答处理;及步骤307,服务请求者根据上述所作的请求,解释不支持的原因,结束。
第一种定义不支持响应的消息格式和内容对于TCP/IP通信,可以定义如下的数据结构(报文),作为发送不支持响应的字节流,整个报文由连续的两部分组成,分别是报文头和报文体。
报文头定义如下struct ResponseHead{unsigned long id;//对应请求的标识,服务请求者可以根据此标识,确定此响应对应的请求unsigned long result;//服务请求结果,如用0表示不支持,1表示成功,2表示失败unsigned long len;//报文体长度,对于不支持的响应,就是如下定义的不支持报文体的长度};不支持报文体定义如下struct NotSupport{unsigned long reason;//更详细的指明不支持的原因};第二种定义不支持响应的消息格式和内容上一种定义只能将请求作为一个整体对待,不能体现请求部分不支持的情况,为此新定义如下数据结构,假设请求可以分成多个记录,在应答时体现对每条记录的执行情况。
此报文头定义扩展了上一种方法的定义,只是对服务请求结果增加了表示部分成功的定义,定义如下struct ResponseHead{unsigned long id;//对应请求的标识,服务请求者可以根据此标识,确定此响应对应的请求unsigned long result;//服务请求结果,如用0表示不支持,1表示成功,2表示失败,3表示部分成功unsigned long len;//报文体长度,对于不支持的响应,就是如下定义的不支持报文体的长度};部分成功请求结果报文体定义如下struct ResponseResult{unsigned long record;//记录号,对应请求的记录号unsigned long result;//服务请求结果,如用0表示不支持,1表示成功,2表示失败unsigned long reason;//当服务请求结果是不支持时,更详细的指明不支持的原因};下面介绍网络管理系统实施例。
图2所示为分层体系架构图。在该分层架构中,从上到下依次为1、2、3…n层,m(1<m<n)层是m-1层的服务提供者,是m+1层的服务请求者。在该架构中,任何两层之间都可以考虑实现上述向前兼容。一种简化的方法是1层以下的服务在收到不支持响应时,也以不支持的响应发给上一层,只有1层才根据特定的请求,解释不支持的原因。
图4所示为网管系统的3层架构图。该网络管理系统可以看作是3层架构,从上至下依次为Manager(管理)41、Agent(代理者)42、MCU(Multipoint ControlUnit,多点控制单元)43。根据上述具体技术方案,Agent 42在收到不支持的请求时,立即返回Manager 41不支持的响应;当请求对于Agent 42支持,而MCU 43不支持时,MCU 43立即返回Agent 42不支持的响应,Agent 42再返回给Manager 41不支持的响应。对于不支持响应的具体处理,都在Manager 41中实现。
如对于一个配置单板的请求,由于MCU 43可能支持多种业务或业务特性,Manager 41下发Agent 42的配置单板请求有多个,对应一块单板的多种特性,通常情况是多个请求全部成功,才认为单板配置成功。在新的版本的Manager 41中,可能为了支持新的业务,而增加了新的请求,这样之前版本的Agent 42就不能支持新的请求。在Agent 42实现向前兼容的情况下,Agent 42就会发送给Manager 41不支持此请求,Manager 41在收到这个请求不支持的响应后,还是认为成功,继续发送其余请求,全部完成后,通过界面提示有请求不被支持。
对于上述情况,Manager 41增加请求后,从Agent 42上上载单板配置数据时,同样对应着多个请求,在上载情况下,收到新增请求的不支持响应后,本发明就可以简单认为该项配置数据没有而认为请求成功,甚至不需要通过界面给出任何提示信息。
对于Manager 41新增的请求,Agent 42也同步升级,但MCU 43没有升级的情况下,由MCU 43返回不支持响应,Agent 42只是转发响应给Manager41,还是由Manager 41来处理不支持响应,就如同这请求就是Agent 42不支持。
在对等情况下,服务双方都可同时作为服务提供者和服务请求者,这种情况下,需要考虑对等双方都要实现向前兼容。
在目前的网络管理系统中,Manager 41和Agent 42之间越来越处于一种对等的地位,对于Agent 42主动发送给Manager 41的消息,不再是简单的主动上报,有时也需要访问Manager 41提供的服务。为了Manger 41能给Agent42快速响应,也为了Manager 41对Agent 42向前兼容的要求,Manager 41和Agent 42之间就都需要实现对对方的向前兼容。
上述实施例讲述的是Agent 42对Manager 41的向前兼容,而下面实施例讲述的是Manager 41对Agent 42的向前兼容。
对于一些Agent 42自动配置的业务,在Agent 42配置成功后,需要及时上报给Manager 41,并需要Manager 41响应是否成功。这里同样涉及到了向前兼容问题,只是Manager 41对于Agent 42的向前兼容问题。对于Manager 41不支持的Agent 42请求,若不给任何响应,同样会带来响应能力差,不能区别超时和不支持的情况。所以也需要实现向前兼容。这种情况下,就是Manager41给Agent 42以不支持响应,Agent 42处理不支持响应。
本发明提高了设备的响应能力,保证了设备的运行情况与用户期望的状态,实现了服务提供者对服务请求者的向前兼容。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种为服务提供向前兼容的方法,其特征在于,包括如下步骤步骤1,服务提供者针对服务器请求者的请求返回一不支持响应的消息;步骤2,所述服务请求者接收所述不支持响应的消息,根据一设定的消息格式和内容及请求,对所述服务提供者不支持所述请求作出解释。
2.如权利要求1所述的为服务提供向前兼容的方法,其特征在于,所述步骤2中,所述消息指服务提供者和服务请求者之间用于交换信息的数据。
3.如权利要求2所述的为服务提供向前兼容的方法,其特征在于,所述数据为TCP/IP的网络字节流或中间组件定义的特定格式的数据。
4.如权利要求1所述的为服务提供向前兼容的方法,其特征在于,所述步骤2中,所述解释包括步骤41,若请求不被支持,且服务提供者、请求本身的结果或后续的请求不受影响时,则解释为请求成功;步骤42,若请求部分被支持,或会影响到服务提供者或后续的请求,但可认为成功时,则解释为请求成功;步骤43,若请求不支持,且后续请求不能进行,或期望该请求必须成功时,则解释为请求失败;步骤44,若设置不支持响应为缺省解释时,则解释为请求成功。
5.如权利要求4所述的为服务提供向前兼容的方法,其特征在于,所述步骤42中,所述服务请求者还通过界面显示或日志记录方式在结果中显示不支持该请求和/或可能导致的问题。
6.如权利要求4所述的为服务提供向前兼容的方法,其特征在于,所述步骤44中,所述服务请求者还通过界面显示警告信息。
7.如权利要求1所述的为服务提供向前兼容的方法,其特征在于,进一步包括步骤71,所述服务请求者向所述服务提供者发起请求;步骤72,所述服务提供者接收所述请求;及步骤73,根据所述服务提供者是否支持所述请求,对所述请求进行服务处理或向所述服务请求者发送不支持响应的消息,并由服务请求者解释所述不支持响应。
全文摘要
本发明公开了一种为服务提供向前兼容的方法,用于有效提高设备的响应能力,其特征在于,包括如下步骤设置不支持响应的消息格式和内容;服务提供者对服务器请求者的请求返回不支持响应的消息;服务请求者接收所述不支持响应的消息,根据所述消息格式和内容及请求,对服务提供者不支持所述请求作出解释。本发明提高了设备的响应能力,保证了设备的运行情况与用户期望的状态具有一致性,实现了服务提供者对服务请求者的向前兼容。
文档编号H04L29/06GK1893368SQ20051004097
公开日2007年1月10日 申请日期2005年7月6日 优先权日2005年7月6日
发明者吴慧良, 彭鑫 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1