CN103326889A - 一种新旧版本间通信兼容的方法及装置 - Google Patents
一种新旧版本间通信兼容的方法及装置 Download PDFInfo
- Publication number
- CN103326889A CN103326889A CN2013103030150A CN201310303015A CN103326889A CN 103326889 A CN103326889 A CN 103326889A CN 2013103030150 A CN2013103030150 A CN 2013103030150A CN 201310303015 A CN201310303015 A CN 201310303015A CN 103326889 A CN103326889 A CN 103326889A
- Authority
- CN
- China
- Prior art keywords
- tlv
- recipient
- length
- definition
- payload
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种新旧版本间通信兼容的方法及装置,涉及通信技术领域,可以解决ISSU过程中新旧版本通信不兼容的问题,并且减少通信接口。本发明实施例通过将接收到的报文解封装,获得报文有效载荷中的所有TLV的长度;报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,截取报文有效载荷中的TLV中与接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对接收方定义的对应TLV进行设置;当报文有效载荷中的TLV的长度小于或者等于接收方定义的对应TLV的长度时,根据报文有效载荷中的TLV对接收方定义的对应TLV进行设置;接收方对设置后的TLV进行业务处理。本发明适于进行通信兼容时采用。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种新旧版本间通信兼容的方法及装置。
背景技术
在采用不中断软件升级(In-Service Software Upgrade,ISSU)对主用板卡以及备用板卡进行升级的过程中,首先对备用板卡中采用的旧版本进行升级,备用板卡获得新版本,然后主用板卡与备用板卡倒换,使得原主用板卡成为新的备用板卡,原备用板卡成为新的主用板卡,再将新的备用板卡采用的旧版本进行升级,获得新版本,从而原主用板卡与原备用板卡都升级到新版本。然而,在上述主用板卡与备用板卡进行倒换之前,存在新版本与旧版本同时运行的情况,可能导致新版本与旧版本不兼容。对于非主备关系的两个通信板卡来说,如果该两个通信板卡采用不同版本进行通信时,也会由于版本不兼容从而带来通信问题。
在现有技术中,通常采用版本号的方式解决上述升级过程中新版本与旧版本不兼容的问题。例如,在主用板卡与备用板卡进行通信过程中,通过通信消息中定义的版本号字段识别对应的版本,然后根据不同的版本进行不同的解码处理。一般不同的版本定义不同消息格式,则需要通过不同的接口进行消息传输。
然而,在采用现有技术解决新版本与旧版本通信不兼容的问题时,由于不同的版本定义不同的消息格式,在通信的发送方与接收方没有约定消息格式时,随着版本的增加,导致通信过程中接口较多,且越来越复杂。
发明内容
本发明的实施例提供一种新旧版本间通信兼容的方法及装置,可以解决ISSU过程中新旧版本通信不兼容的问题,并且减少通信接口。
本发明的实施例提供一种新旧版本间通信兼容的方法,包括:
接收方接收发送方发送的报文;
接收方将所述报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度;
当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;
当所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;
接收方对设置后的TLV进行业务处理。
本发明的实施例一种新旧版本间通信兼容的装置,包括:
接收单元,用于接收发送方发送的报文;
解析单元,用于将所述接收单元接收到的报文解封装,获得所述报文中有效载荷中的所有类型长度值TLV的长度;
处理单元,用于当所述解析单元获得的所述报文有效载荷中TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的长度相同的部分,根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;并用于当所述解析单元解析获得的所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;
业务处理单元,用于对设置后的TLV进行业务处理。
本发明实施例提供的一种新旧版本间通信兼容的方法及装置,通过将接收到的报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度;当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;当所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;接收方对设置后的TLV进行业务处理。与现有技术中解决新版本与旧版本通信不兼容的问题时,由于不同的版本定义不同的消息格式,在通信的发送方与接收方没有约定消息格式时,随着版本的增加,导致通信过程中接口较多,且越来越复杂相比,本发明实施例可以解决ISSU过程中新旧版本通信不兼容的问题,并且由于将TLV的消息格式定义为相同的,使得减少通信接口。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的一种新旧版本间通信兼容的方法的流程图;
图2为本发明另一个实施例提供的另一种新旧版本间通信兼容的方法的流程图;
图3为本发明另一个实施例提供的接收方接收到的报文有效载荷中的TLV以及接收方定义的对应TLV的示意图;
图4为本发明另一个实施例提供的接收方接收到的报文有效载荷中的TLV以及接收方定义的对应TLV的示意图;
图5为本发明另一个实施例提供的一种新旧版本间通信兼容的装置的框图;
图6为本发明另一个实施例提供的另一种新旧版本间通信兼容的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种新旧版本间通信兼容的方法,该方法的执行主体为接收方,具体的可以为接收方设备,如图1所示,该方法包括:
步骤101,接收方接收发送方发送的报文。
可选的,发送方与接收方可以有两种情况:
一种情况是发送方与接收方可以分别为一台通信设备上的不同板卡,一台通信设备上的不同板卡之间可以对报文进行发送与接收;如:一台机架式通信设备上互为备份的主从主控卡,或者互相通信不同线卡之间可以进行报文的发送与接收。或者发送方与接收方分别为以太通信设备上的主从进程或者线程。
另一种情况是发送方与接收方分别为两台通信设备,两台通信设备可以对报文进行发送与接收;如发送方与接收方可以分别为交换机,两台交换机之间可以进行报文的发送与接收,或者发送方与接收方可以是两台路由器,两台路由器之间可以进行报文的发送与接收。
所述报文,无论是发送方还是接收方的所发出的报文在本实施例中的报文都必须严格按照TLV的方式进行定义,即发送方与接收方约定一种消息格式,不论发送方与接收方采用的版本是否进行版本升级,发送方发送的报文采用的消息格式与接收方定义的报文的消息格式相同,这样使得接收方解析接收到的报文时,可以按照约定的消息格式进行解析,从而使得消息解析起来过程较简单。在本发明中新旧版本不一致,一般是指新版本对TLV中V值进行扩展,包括两个或两个以上的字段。
然而现有技术中,接收方与发送方没有对消息格式进行统一,当发送方采用的版本升级之后,与接收方的版本不同,由于不同的版本定义不同的消息格式,因此必须根据不同的版本,做不同的处理,使得处理过程较复杂。
另外,本实施例中,由于接收方定义的报文的消息格式与发送方发送的报文的消息格式相同,则使得接收方与不同的发送方之间通信接口较少。
然而现有技术中,由于接收方定义的报文的消息格式与发送方定义的报文的消息格式不同,因此随着版本的增加,使得接收方与不同的发送方之间的通信接口也会越来越复杂。
为了达到本发明目的本实施例中重点介绍发送方与接收方采用版本不一致时的解决方案,即一方运行新版本,另一方运行旧版本;同时本发明还兼容发送方与接收方运行相同版本的情况。
步骤102,接收方将所述报文解封装,获得所述报文有效载荷中的所有类型长度值(Type Lenth Value,TLV)的长度。
可选的,本步骤中TLV是一种消息格式的定义方法,一般由类型Type、长度Lenth、值Value三部分构成。其中,T、L字段的长度往往固定,通常为1~4bytes,V字段长度可变。
可选的,本步骤包括:接收方将所述报文解封装,获得所述报文的有效载荷;
接收方解析所述报文的有效载荷,获得所述有效载荷中包括的所有TLV;需要说明的是,报文的有效载荷中可以解析获得不同的TLV,其中,TLV中的内容可以不同;
接收方逐个解析所述报文有效载荷中的TLV,获得每个TLV的长度。
步骤103,当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,接收方截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置。
在本步骤之前还包括:接收方判断所述报文有效载荷中的TLV的长度是否大于接收方定义的对应TLV的长度。
可选的,接收方根据截取后获得的TLV对所述接收方定义的对应TLV进行设置,即对截取后获得的TLV进行解码,根据获得的解码后的TLV对接收方定义的对应TLV进行设置,并保存设置之后的接收方定义的对应TLV。此处接收方为运行旧版本的一方,发送方为运行新版本的一方。所述发送方发送报文有效载荷中的TLV为在旧版本中定义的TLV的尾端进行扩展后获得的TLV。
步骤104,当所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,接收方根据所述报文有效载荷中TLV对所述接收方定义的对应TLV进行设置。
可选的,本步骤中,当所述报文有效载荷中TLV的长度小于所述接收方定义的对应TLV的长度时,接收方根据所述报文有效载荷中TLV对所述接收方定义的对应TLV进行设置;在对接收方定义的对应TLV进行设置之后,还包括:将所述接收方定义的对应TLV中多的字段按照缺省值进行初始化处理。此处接收方为运行新版本的一方,发送方为运行旧版本的一方。所述接收方定义的的对应TLV为在旧版本中定义的TLV的尾端进行扩展后获得的TLV。所以接收方将对应TLV中比旧版本扩展出的字段按照缺省值进行填充处理。
当所述报文有效载荷中TLV的长度等于所述接收方定义的TLV的长度时,接收方根据所述报文有效载荷中TLV对所述接收方定义的对应TLV进行设置。此处说明发送方和接收方运行版本一致。
步骤105,接收方对设置后的TLV进行业务处理。
本发明提供一种新旧版本间通信兼容的方法,通过将接收到的报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度;当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;当所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;接收方对设置后的TLV进行业务处理,使得本发明实施例中可以解决ISSU过程中新旧版本通信不兼容的问题,并且由于将TLV的消息格式定义为相同的,使得减少通信接口。
本发明实施例提供一种新旧版本间通信兼容的方法,如图2所示,该方法包括:
步骤201,接收方接收发送方发送的报文。
可选的,发送方与接收方可以有两种情况:
一种情况是发送方与接收方可以分别为一台通信设备上的不同板卡,一台通信设备上的不同板卡之间可以对报文进行发送与接收;如:一台机架式通信设备上互为备份的主从主控卡,或者互相通信不同线卡之间可以进行报文的发送与接收。或者发送方与接收方分别为以太通信设备上的主从进程或者线程。
另一种情况是发送方与接收方分别为两台通信设备,两台通信设备可以对报文进行发送与接收;如发送方与接收方可以分别为交换机,两台交换机之间可以进行报文的发送与接收,或者发送方与接收方可以是两台路由器,两台路由器之间可以进行报文的发送与接收。
需要说明的是,接收方接收发送方发送的报文在ISSU过程中,可以为采用旧版本的主用板卡接收进行版本升级之后的备用板卡中发送的报文;或者,进行版本升级之后的备用板卡接收采用旧版本的主用板卡发送的报文;
主用板卡与备用板卡进行倒换后,采用升级之后的新版本的新的主用板卡接收采用升级之后的新版本的新的备用板卡发送的报文;或者,采用升级之后的新版本的新的备用板卡接收采用升级之后的新版本的新的主用板卡发送的报文。
步骤202,接收方将所述报文解封装,获得所述报文的有效载荷。
可选的,报文一般为协议头部加有效载荷,有效载荷包括消息头和消息正文,消息正文包括至少一个TLV。
步骤203,接收方解析所述报文的有效载荷,获得所述报文有效载荷中包括的所有TLV。
进一步可选的,在本实施例中,接收方与发送方约定一种消息格式,其中,约定的消息格式中,接收方接收到的报文有效载荷中所述报文有效载荷中的TLV或者所述接收方定义的TLV中的值V中包括至少一个字段。具体的,可以为接收方接收到的报文有效载荷中TLV或者接收方定义的对应TLV中值V的内容采用一个字段,例如需要一个字节的长度;或者,所述报文有效载荷中TLV或者所述接收方定义的对应TLV中值V的内容采用至少两个字段,例如需要两个字节的长度;或者,所述报文有效载荷中TLV或者所述接收方定义的对应TLV中值V的内容采用多个字段,例如需要一块内存缓存区的区域大小的长度。
可选的,接收方与发送方约定的TLV格式为:接收方接收到的报文有效载荷中TLV或者所述接收方定义的对应TLV为在原TLV的尾端进行消息扩展后获得的TLV,所述原TLV为旧版本中定义的TLV。
进一步可选的,所述报文有效载荷中TLV或者所述接收方定义的对应TLV为在所述原TLV的尾端增加一个变长字段获得的TLV。即对原TLV的各个字段的内容不删除也不修改,仅在原TLV的尾端增加一个变成字段。
例如,升级之后的新版本为在升级之前的旧版本的TLV的尾端增加一个变长字段,并且对旧版本的TLV的各个字段的内容不进行删除也不修改。
步骤204,接收方逐个解析所述报文有效载荷的中的TLV,获得每个TLV的长度。
需要说明的是,在本步骤中解析报文有效载荷中任一个TLV,获得TLV的长度的过程中,不需要根据接收方的TLV的定义对报文TLV的长度进行合法性校验。如当发送方采用的旧版本升级为新版本后,接收方采用旧版本,接收方定义的对应TLV中不包括增加的变长字段,因此其长度为一个固定值,如果进行校验,则只有当接收方接收到的报文有效载荷中的TLV的长度与接收方定义的对应TLV的长度相等时才校验成功,对于其他的接收方接收到的报文有效载荷中的TLV的长度大于或者小于接收方定义的对应TLV的长度的报文将被丢弃,导致报文丢失,不能进行系统整体升级。
步骤205,接收方判断所述报文有效载荷中的TLV的长度是否大于接收方定义的对应TLV的长度。
在本步骤中,当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,执行步骤206,当所述报文有效载荷中的TLV的长度小于所述接收方定义的对应TLV的长度时,执行步骤207,当所述报文有效载荷中的TLV的长度等于所述接收方定义的对应TLV的长度时,执行步骤208。
步骤206,接收方截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置。
可选的,当接收方采用的为旧版本,发送方采用的为旧版本升级之后的新版本时,所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度。
在本实施例中,由于接收方接收到的报文有效载荷中的TLV的长度中包括增加的字段的长度,则当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,根据所述接收方定义的对应TLV的长度,将所述报文有效载荷中的TLV中大于所述接收方定义的对应TLV的长度的部分截除,获得与接收方定义的对应TLV相同长度部分。
如图3所示的接收方接收到的报文有效载荷中的TLV以及接收方定义的对应TLV的示意图,根据本步骤描述的方法,将接收方接收到的报文有效载荷中的TLV中的变长字段截除,即将接收方接收到的报文有效载荷中的TLV中的黑体框表示的部分截除。
进一步可选的,根据截取后获得的TLV对所述接收方定义的对应TLV进行设置,即对截取后获得的TLV进行解码,获得TLV中各类型对应的具体业务内容,根据获得的解码后的TLV中各类型对应的具体业务内容对接收方定义的TLV中的类型、内容进行设置,并保存设置之后的接收方定义的对应TLV。
步骤207,接收方根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置,并将所述接收方定义的对应TLV中多的字段按照缺省值进行初始化处理。
可选的,当发送方采用的为旧版本,接收方采用的为旧版本升级之后的新版本时,所述报文有效载荷中的TLV的长度小于接收方定义的对应TLV的长度。
可选的,本步骤中接收方根据所述报文有效载荷中的TLV对接收方定义的对应TLV进行设置的方法与步骤206中接收方根据截取后获得的TLV对所述接收方定义的对应TLV进行设置的方法相同,在此不再一一赘述。
可选的,将所述接收方定义的对应TLV中多的字段按照缺省值进行初始化处理,即对接收方定义的对应TLV中多的字段按照系统默认值进行处理,不再进行重新设置。
如图4所示的接收方接收到的报文有效载荷中TLV以及接收方定义的对应TLV的示意图,根据本步骤描述的方法,将接收方定义的对应TLV中多的字段按照缺省值进行初始化处理,即将接收方定义的对应TLV中的黑体框表示的部分初始化。
步骤208,接收方根据所述报文有效载荷中TLV对所述接收方定义的对应TLV进行设置。
可选的,本步骤中接收方根据所述报文有效载荷中TLV对接收方定义的对应TLV进行设置的方法与步骤206中接收方根据截取后获得的TLV对所述接收方定义的对应TLV赋值的方法相同,在此不再一一赘述。
步骤209,接收方对设置后的TLV进行业务处理。
可选的,接收方根据步骤206、步骤207或步骤208中进行设置之后的接收方定义的对应TLV中V表示的内容进行业务逻辑处理。
本发明提供一种新旧版本间通信兼容的方法,通过将接收到的报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度;当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;当所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;接收方对设置后的TLV进行业务处理,使得本发明实施例中可以解决ISSU过程中新旧版本通信不兼容的问题,并且由于将TLV的消息格式定义为相同的,使得减少通信接口,消息解析较简单。
本发明提供一种新旧版本间通信兼容的装置,该装置可以为接收方,具体可以为接收方设备,如图5所示,该装置包括:接收单元501,解析单元502,处理单元503,业务处理单元504。
接收单元501,用于接收发送方发送的报文。
可选的,本步骤中所述报文是一种传递接收方与发送方之间的信息的载体,是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短可以不一致,长度不限且可变。
解析单元502,用于将所述接收单元501接收到的报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度。
可选的,本步骤中TLV是一种消息格式的定义方法,一般由类型Type、长度Lenth、值Value三部分构成。其中,T、L字段的长度往往固定,通常为1~4bytes,V字段长度可变。
处理单元503,用于当所述解析单元502获得的所述报文有效载荷中TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中TLV中与所述接收方定义的对应TLV的长度相同的部分,根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;并用于当所述解析单元502解析获得的所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;
可选的,所述报文有效载荷中的TLV或者所述接收方定义的TLV中的值V中包括至少一个字段;例如,所述报文有效载荷中TLV或者所述接收方定义的对应TLV中值V的内容采用一个字节表示;或者,所述报文有效载荷中TLV或者所述接收方定义的对应TLV中值V的内容采用至少两个字节表示;或者,所述报文有效载荷中TLV或者所述接收方定义的对应TLV中值V的内容采用一块内存缓存区的区域大小的长度表示。
可选的,所述报文有效载荷中TLV或者所述接收方定义的对应TLV为在原TLV的尾端进行消息扩展后获得的TLV,所述原TLV为旧版本中定义的TLV。
进一步可选的,所述报文有效载荷中TLV或者所述接收方定义的对应TLV为在所述原TLV的尾端增加一个变长字段获得的TLV。
可选的,根据截取后获得的TLV对所述接收方定义的对应TLV进行设置,即对截取后获得的TLV进行解码,根据获得的解码后的TLV对接收方定义的对应TLV进行设置,并保存设置之后的接收方定义的TLV。
业务处理单元504,用于对设置后的TLV进行业务处理。
进一步可选的,如图6所示,所述解析单元502,包括:解封装子单元5021,第一解析子单元5022,第二解析子单元5023;
解封装子单元5021,用于将所述报文解封装,获得所述报文的有效载荷;
第一解析子单元5022,用于解析所述报文的有效载荷,获得所述报文有效载荷中包括的所有TLV;
第二解析子单元5023,用于逐个解析所述报文有效载荷中的TLV,获得每个TLV的长度。
进一步可选的,当所述报文有效载荷中TLV的长度小于所述接收方定义的对应TLV的长度时,所述处理单元503在根据所述TLV对所述接收方定义的对应TLV进行设置之后,将所述接收方定义的对应TLV中多的字段按照缺省值进行初始化处理。
需要说明的是,附图5与附图6所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供一种新旧版本间通信兼容的装置,通过将接收到的报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度;当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;当所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;接收方对设置后的TLV进行业务处理,使得本发明实施例中可以解决ISSU过程中新旧版本通信不兼容的问题,并且由于将TLV的消息格式定义为相同的,使得减少通信接口。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种新旧版本间通信兼容的方法,其特征在于,包括:
接收发送方发送的报文;
将所述报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度;
当所述报文有效载荷中的TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的相同长度部分,并根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;
当所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;
对设置后的TLV进行业务处理。
2.根据权利要求1所述的方法,其特征在于,所述将所述报文解封装,获得所述报文有效载荷中的所有类型长度值TLV的长度,包括:
将所述报文解封装,获得所述报文的有效载荷;
解析所述报文的有效载荷,获得所述报文有效载荷中包括的所有TLV;
逐个解析所述报文有效载荷中的TLV,获得每个TLV的长度。
3.根据权利要求1或2所述的方法,其特征在于,当所述报文有效载荷中的TLV的长度小于所述接收方定义的对应TLV的长度时,在根据所述TLV对所述接收方定义的对应TLV进行设置之后,还包括:
将所述接收方定义的对应TLV中多的字段按照缺省值进行初始化处理。
4.根据权利要求3所述的方法,其特征在于,
所述报文有效载荷中的TLV或者所述接收方定义的TLV中的值V中包括至少一个字段。
5.根据权利要求1或2所述的方法,其特征在于,
所述报文有效载荷中的TLV或者所述接收方定义的对应TLV为在原TLV的尾端进行扩展后获得的TLV,所述原TLV为旧版本中定义的TLV。
6.根据权利要求5所述的方法,其特征在于,
所述TLV或者所述接收方定义的TLV为在所述原TLV的尾端增加一个变长字段获得的TLV。
7.一种新旧版本间通信兼容的装置,其特征在于,包括:
接收单元,用于接收发送方发送的报文;
解析单元,用于将所述接收单元接收到的报文解封装,获得所述报文中有效载荷中的所有类型长度值TLV的长度;
处理单元,用于当所述解析单元获得的所述报文有效载荷中TLV的长度大于接收方定义的对应TLV的长度时,截取所述报文有效载荷中的TLV中与所述接收方定义的对应TLV的长度相同的部分,根据截取后获得的TLV对所述接收方定义的对应TLV进行设置;并用于当所述解析单元解析获得的所述报文有效载荷中的TLV的长度小于或者等于所述接收方定义的对应TLV的长度时,根据所述报文有效载荷中的TLV对所述接收方定义的对应TLV进行设置;
业务处理单元,用于对设置后的TLV进行业务处理。
8.根据权利要求7所述的装置,其特征在于,所述解析单元,包括:
解封装子单元,用于将所述报文解封装,获得所述报文的有效载荷;
第一解析子单元,用于解析所述报文有效载荷,获得所述有效载荷中包括的所有TLV;
第二解析子单元,用于逐个解析所述报文有效载荷中的TLV,获得每个TLV的长度。
9.根据权利要求7或8所述的装置,其特征在于,所述处理单元,还用于当所述报文有效载荷中的TLV的长度小于所述接收方定义的对应TLV的长度时,在根据所述TLV对所述接收方定义的对应TLV进行设置之后,将所述接收方定义的对应TLV中多的字段按照缺省值进行初始化处理。
10.根据权利要求9所述的装置,其特征在于,
所述报文有效载荷中的TLV或者所述接收方定义的TLV中的值V中包括至少一个字段;和/或,
所述报文有效载荷中的TLV或者所述接收方定义的对应TLV为在原TLV的尾端进行扩展后获得的TLV,所述原TLV为旧版本中定义的TLV。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310303015.0A CN103326889B (zh) | 2013-07-18 | 2013-07-18 | 一种新旧版本间通信兼容的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310303015.0A CN103326889B (zh) | 2013-07-18 | 2013-07-18 | 一种新旧版本间通信兼容的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103326889A true CN103326889A (zh) | 2013-09-25 |
CN103326889B CN103326889B (zh) | 2016-06-08 |
Family
ID=49195433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310303015.0A Active CN103326889B (zh) | 2013-07-18 | 2013-07-18 | 一种新旧版本间通信兼容的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103326889B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753874A (zh) * | 2013-12-25 | 2015-07-01 | 腾讯数码(天津)有限公司 | 实现Hadoop兼容性的方法和装置 |
CN108429764A (zh) * | 2018-05-28 | 2018-08-21 | 烽火通信科技股份有限公司 | 一种基于私有协议的数据传输和解析的方法 |
CN109787789A (zh) * | 2017-11-10 | 2019-05-21 | 中兴通讯股份有限公司 | 软件升级的兼容性管理方法、装置及设备、存储介质 |
CN112685046A (zh) * | 2020-12-29 | 2021-04-20 | 北京达佳互联信息技术有限公司 | 一种数据处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111876A (en) * | 1996-03-12 | 2000-08-29 | Nortel Networks Limited | VLAN frame format |
CN101594355A (zh) * | 2009-06-17 | 2009-12-02 | 华为技术有限公司 | 一种实现软件跨版本交互的方法及装置 |
CN101895459A (zh) * | 2009-05-19 | 2010-11-24 | 中兴通讯股份有限公司 | 一种扩展bdi报文的传输处理方法和装置 |
-
2013
- 2013-07-18 CN CN201310303015.0A patent/CN103326889B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111876A (en) * | 1996-03-12 | 2000-08-29 | Nortel Networks Limited | VLAN frame format |
CN101895459A (zh) * | 2009-05-19 | 2010-11-24 | 中兴通讯股份有限公司 | 一种扩展bdi报文的传输处理方法和装置 |
CN101594355A (zh) * | 2009-06-17 | 2009-12-02 | 华为技术有限公司 | 一种实现软件跨版本交互的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753874A (zh) * | 2013-12-25 | 2015-07-01 | 腾讯数码(天津)有限公司 | 实现Hadoop兼容性的方法和装置 |
CN104753874B (zh) * | 2013-12-25 | 2019-07-30 | 腾讯数码(天津)有限公司 | 实现Hadoop兼容性的方法和装置 |
CN109787789A (zh) * | 2017-11-10 | 2019-05-21 | 中兴通讯股份有限公司 | 软件升级的兼容性管理方法、装置及设备、存储介质 |
CN109787789B (zh) * | 2017-11-10 | 2022-08-12 | 中兴通讯股份有限公司 | 软件升级的兼容性管理方法、装置及设备、存储介质 |
CN108429764A (zh) * | 2018-05-28 | 2018-08-21 | 烽火通信科技股份有限公司 | 一种基于私有协议的数据传输和解析的方法 |
CN108429764B (zh) * | 2018-05-28 | 2021-03-30 | 烽火通信科技股份有限公司 | 一种基于私有协议的数据传输和解析的方法 |
CN112685046A (zh) * | 2020-12-29 | 2021-04-20 | 北京达佳互联信息技术有限公司 | 一种数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103326889B (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720678B2 (en) | Network switching method, version upgrade method, and terminal device | |
EP2566289A2 (en) | Wireless internet access module, communication method for host and wireless internet access module, and data card | |
CN103326889A (zh) | 一种新旧版本间通信兼容的方法及装置 | |
CN112822646B (zh) | 消息处理方法和装置、电子设备、计算机可读存储介质 | |
CN101808010B (zh) | 一种设备管理方法、装置和主控板 | |
CN105468302A (zh) | 一种处理数据的方法、装置及系统 | |
CN113778611A (zh) | 数据传输方法、装置、系统及存储介质 | |
WO2021120754A1 (zh) | 一种指令写入方法、装置及网络设备 | |
CN101369191B (zh) | 一种多计算机切换装置以及实现方法 | |
CN109614354B (zh) | 接口分配方法、板卡、设备及存储介质 | |
CN102624913A (zh) | 数据推送方法及使用该方法的终端设备和服务器 | |
CN108121496B (zh) | 数据的存储方法、装置和系统 | |
CN102130786B (zh) | 更新单板特性的方法和装置 | |
CN102664836A (zh) | 一种用于宽带无线通信数字基带处理器的原型验证平台 | |
CN107608809B (zh) | 异常处理方法及装置 | |
CN115469961A (zh) | 容器组的创建方法和装置、电子设备和存储介质 | |
CN108279855A (zh) | 一种读写存储设备的方法 | |
CN110971696B (zh) | 一种实现虚拟电子卡通讯的系统和方法 | |
CN102740284A (zh) | 建立多模rru与bbu之间通信链路的方法、多模rru和bbu | |
CN112688906A (zh) | 一种自协商方法及装置 | |
CN107454021B (zh) | 一种通信方法及装置 | |
CN107276620B (zh) | 耳机数据传输的方法、终端设备及计算机可读存储介质 | |
US10579394B2 (en) | Control method and control device | |
US20140315600A1 (en) | Communication interface method for se equipped on mobile terminal and se using the same | |
CN103491154A (zh) | 一种客户端服务调用方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |