本申请提供一种传输私有数据的方法和装置,应用于分布式设备的成员设备上,所述方法包括:接收到其它成员设备发送的携带私有数据的数据报文;所述私有数据包括在所述分布式设备的成员设备之间传递的数据;当将所述数据报文上送至协议栈的上层协议处理时,记录指向所述数据报文的报文缓冲区的尾指针的偏移长度;当上层协议处理完成所述数据报文,基于记录的所述偏移长度,将所述尾指针的位置恢复至初始位置,并将所述数据报文转发至下一成员设备,使得接收到该数据报文的成员设备获取所述数据报文中携带的所述私有数据。在本申请实施例中,分布式设备的成员设备可以获取其它成员发送的数据报文携带的私有数据。
【技术实现步骤摘要】
本申请涉及通信
,特别涉及一种传输私有数据的方法及装置。
技术介绍
分布式设备,是指由多台成员设备组成,每个成员设备都有独立的CPU,可以单独进行业务处理和报文转发的网络设备。其中,成员设备之间可以通过网络互相联系。在一些应用场景中,成员设备之间通常需要传输私有数据,用于业务处理或者控制报文转发。目前通常是通过在报文缓冲区的尾部添加私有数据,由发送方将私有数据封装在报文缓冲区的尾部,并将指向报文缓冲区尾部的指针向后偏移私有数据的长度,然后将报文转发出去。接收方收到报文后,将指向报文缓冲区尾部的指针向前偏移私有数据的长度,从报文缓冲区尾部取出私有数据,然后将报文转发出去。然而,在实际应用过程中,如果私有数据的发送方与接收方之间存在其它成员设备,报文在被接收方接收之前,该私有数据可能会由该其它成员设备在将该报文上送至上层协议进行处理,对报文缓冲区尾部的指针进行调整后遭到破坏,从而导致接收方无法正确获取报文缓冲区尾部的私有数据。
技术实现思路
有鉴于此,本申请提供一种传输私有数据的方法及装置,用以解决在分布式设备中,当私有数据的发送方与接收方之间存在其它成员设备时,接收方无法正确获取报文缓冲区尾部的私有数据的问题。具体地,本申请是通过如下技术方案实现的:一种传输私有数据的方法,应用于分布式设备的成员设备上,包括:接收到其它成员设备发送的携带私有数据的数据报文;所述私有数据包括在所述分布式设备的成员设备之间传递的数据;当将所述数据报文上送至协议栈的上层协议处理时,记录指向所述数据报文的报文缓冲区的尾指针的偏移长度;当上层协议处理完成所述数据报文,基于记录的所述偏移长度,将所述尾指针的位置恢复至初始位置,并将所述数据报文转发至下一成员设备,使得接收到该数据报文的成员设备获取所述数据报文中携带的所述私有数据。在所述传输私有数据的方法中,所述成员设备为多核设备;其中,每一CPU分别设定一个对应的全局变量;所述方法还包括:当任一CPU接收到携带私有数据的数据报文时,将所述偏移长度记录在CPU对应的全局变量中。在所述传输私有数据的方法中,还包括:将用户配置的私有数据封装在所述数据报文的尾部,并根据私有数据长度修改所述报文缓冲区中的尾指针的位置;将所述数据报文发送至下一成员设备。在所述传输私有数据的方法中,还包括:接收到其它成员设备发送的携带私有数据的数据报文时,基于预配置的所述私有数据的长度,从所述数据报文的报文尾部读取所述私有数据。在所述传输私有数据的方法中,还包括:将所述数据报文转出所述分布式设备时,调整指向所述数据报文的报文缓冲区的尾指针的位置,丢弃所述私有数据。一种传输私有数据的装置,应用于分布式设备的成员设备上,包括:接收单元,用于接收到其它成员设备发送的携带私有数据的数据报文;所述私有数据包括在所述分布式设备的成员设备之间传递的数据;记录单元,用于当将所述数据报文上送至协议栈的上层协议处理时,记录指向所述数据报文的报文缓冲区的尾指针的偏移长度;恢复单元,用于当上层协议处理完成所述数据报文,基于记录的所述偏移长度,将所述尾指针的位置恢复至初始位置,并将所述数据报文转发至下一成员设备,使得接收到该数据报文的成员设备获取所述数据报文中携带的所述私有数据。在所述传输私有数据的装置中,所述成员设备为多核设备;其中,每一CPU分别设定一个对应的全局变量;所述记录单元,进一步用于当任一CPU接收到携带私有数据的数据报文时,将所述偏移长度记录在CPU对应的全局变量中。在所述传输私有数据的装置中,还包括:封装单元,用于将用户配置的私有数据封装在所述数据报文的尾部,并根据私有数据长度修改所述报文缓冲区中的尾指针的位置;发送单元,用于将所述数据报文发送至下一成员设备。在所述传输私有数据的装置中,还包括:读取单元,用于接收到其它成员设备发送的携带私有数据的数据报文时,基于预配置的所述私有数据的长度,从所述数据报文的报文尾部读取所述私有数据。在所述传输私有数据的装置中,还包括:丢弃单元,用于将所述数据报文转出所述分布式设备时,调整指向所述数据报文的报文缓冲区的尾指针的位置,丢弃所述私有数据。本申请实施例中,通过记录接收到的携带私有数据的数据报文在上送至协议栈的上层协议处理时,指向报文缓冲区的尾指针的偏移长度,并在上层协议处理完成所述数据报文后,基于记录的所述偏移长度恢复所述尾指针的位置,使得所述数据报文被转发至下一成员设备时,完整携带所述私有数据;从而解决了在分布式网关中,当私有数据的发送方与接收方之间存在其它成员设备时,接收方无法正确获取报文缓冲区尾部的私有数据的问题。附图说明图1是本申请示出的一种数据报文的报文缓冲区的示意图;图2是本申请示出的一种传输私有数据的方法的流程图;图3是本申请示出的一种传输私有数据的装置的逻辑框图;图4是本申请示出的一种传输私有数据的装置的硬件结构图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本专利技术实施例中的技术方案作进一步详细的说明。在相关技术中,在一些应用场景中,分布式设备的成员设备之间通常需要传输私有数据,用于业务处理或者控制报文转发。例如,上述私有数据可以是用于成员设备之间数据转发的转发表项,或者是其它需要在成员设备之间进行传递的数据。目前,通常是通过在报文缓冲区的尾部添加私有数据,由发送方将私有数据封装在报文缓冲区的尾部,并将指向报文缓冲区尾部的指针向后偏移私有数据的长度,然后将报文转发出去。接收方收到报文后,将指向报文缓冲区尾部的指针向前偏移私有数据的长度,从报文缓冲区尾部取出私有数据,然后将报文转发出去。然而,如果私有数据的接收方与发送方之间存在其它成员设备,数据报文在被接收方接收之前,通常会被其它成员设备转发。此时,如果该其它成员设备需要将接收到的数据报文,上送至协议栈的上层协议进行业务处理(比如将收到的二层数据报文继续上送至三层协议进行相应的业务处理),由于将数据报文上送至上层协议进行处理,可能会基于上层协议对该数据报文的报文缓冲区的长度进行调整,因此,上述私有数据可能会由于报文缓冲区尾部的指针被调整后遭到破坏。在这种情况下,接收方根据预设的私有数据长度从报文缓冲区尾部读取私有数据时,可能会获得错误的数据。例如,请参见图1,为本申请示出的一种数据报文的报文缓冲区的示意图。接收到的携带私有数据的数据报文的报文缓冲区从位置A到位置E。当该数据报文被上送至三层协议进行业务处理时,首先会剥离二层报头,指向报头的指针从位置A移至位置B,然后再根据三层协议的报头中记录的报文长度,将指向报文缓冲区结束位置的尾指针从位置E移至位置C。在三层协议的业务处理完成后,该数据报文被转发至下一成员设备。如果该成员设备根据预先配置的私有数据长度length5从位置C向前读取私有数据,将获得错误的数据。为解决上述问题,本申请实施例通过一系列措施使数据报文的报文缓冲区尾部的私有数据在发送方和接收方之间的成员设备转发时,不会被破坏。以下对本申请中的技术方案进行说明。参见图2,为本申请示出的一种传输私有数据的方法的流程图,该实施例的执行主体是分布式设备的成员设备;所述方法包括以下步骤:步骤2本文档来自技高网...
【技术保护点】
一种传输私有数据的方法,应用于分布式设备的成员设备上,其特征在于,包括:接收到其它成员设备发送的携带私有数据的数据报文;所述私有数据包括在所述分布式设备的成员设备之间传递的数据;当将所述数据报文上送至协议栈的上层协议处理时,记录指向所述数据报文的报文缓冲区的尾指针的偏移长度;当上层协议处理完成所述数据报文,基于记录的所述偏移长度,将所述尾指针的位置恢复至初始位置,并将所述数据报文转发至下一成员设备,使得接收到该数据报文的成员设备获取所述数据报文中携带的所述私有数据。
【技术特征摘要】
1.一种传输私有数据的方法,应用于分布式设备的成员设备上,其特征在于,包括:接收到其它成员设备发送的携带私有数据的数据报文;所述私有数据包括在所述分布式设备的成员设备之间传递的数据;当将所述数据报文上送至协议栈的上层协议处理时,记录指向所述数据报文的报文缓冲区的尾指针的偏移长度;当上层协议处理完成所述数据报文,基于记录的所述偏移长度,将所述尾指针的位置恢复至初始位置,并将所述数据报文转发至下一成员设备,使得接收到该数据报文的成员设备获取所述数据报文中携带的所述私有数据。2.根据权利要求1所述的方法,其特征在于,所述成员设备为多核设备;其中,每一CPU分别设定一个对应的全局变量;所述方法还包括:当任一CPU接收到携带私有数据的数据报文时,将所述偏移长度记录在CPU对应的全局变量中。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:将用户配置的私有数据封装在所述数据报文的尾部,并根据私有数据长度修改所述报文缓冲区中的尾指针的位置;将所述数据报文发送至下一成员设备。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收到其它成员设备发送的携带私有数据的数据报文时,基于预配置的所述私有数据的长度,从所述数据报文的报文尾部读取所述私有数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述数据报文转出所述分布式设备时,调整指向所述数据报文的报文缓冲区的尾指针的位置,丢弃所述私有数据。6.一种传输私有数据的装置,应用于分布式设备的成员设备...
【专利技术属性】
技术研发人员:曾根根,宁力军,
申请(专利权)人:杭州迪普科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。