CN114978986B - 一种数据传输方法、装置及存储介质 - Google Patents
一种数据传输方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114978986B CN114978986B CN202210524456.2A CN202210524456A CN114978986B CN 114978986 B CN114978986 B CN 114978986B CN 202210524456 A CN202210524456 A CN 202210524456A CN 114978986 B CN114978986 B CN 114978986B
- Authority
- CN
- China
- Prior art keywords
- data
- message
- sequence number
- data transmission
- preset
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 311
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012545 processing Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 abstract description 34
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 230000009286 beneficial effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种数据传输方法、装置及存储介质,涉及通信技术领域,用于解决通用技术中,当数据传输路径发生故障时,进行数据流切换,从而导致的数据丢包以及数据传输的效率较低的问题。该方法包括:接收第一设备通过多个数据传输路径发送的多个报文。其中,每个报文通过一个数据传输路径传输,每个报文都包括相同的第一数据和第一数据的序号。在接收第一报文后,当第一报文中的第一数据的序号满足预设条件时,发送第一报文。第一报文可以是多个报文中的任意一个报文。本申请可以实现当数据传输路径发生故障时,避免发生数据丢包,保障数据的高效传输。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法、装置及存储介质。
背景技术
无线接入网IP化(IP radio access network,IPRAN)是以MPLS(multi-protocollabel switching,多协议标签交换)协议为基础的一种二层接入网与三层核心网结合的业务承载网络。在IPRAN组网中,需要部署二层虚拟专用网网络(level 2virtual privatenetwork,L2VPN)和三层虚拟专用网网络(level 3virtual private network,L3VPN)之间的转发路径来衔接二层接入网与三层核心网。
在L2VPN与L3VPN之间有多条数据传输路径的情况下,当检测到正在传输数据的数据传输路径发生故障时,运营商边缘设备(provider edge,PE)通常基于伪线(pseudowire,PW)冗余保护技术,触发数据流切换至另一条数据传输路径,使得继续传输数据。但是,在数据流切换的过程中,数据存在丢包的风险,同时,数据流切换的过程耗时较长,进一步导致数据传输的效率低下。
发明内容
本申请提供一种数据传输方法、装置及存储介质,用于解决通用技术中,当数据传输路径发生故障时,进行数据流切换,从而导致的数据丢包以及数据传输的效率较低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据传输方法,可以接收第一设备通过多个数据传输路径发送的多个报文。其中,每个报文通过一个数据传输路径传输,每个报文都包括相同的第一数据和第一数据的序号。在接收第一报文后,,当第一报文中的第一数据的序号满足预设条件时,可以发送第一报文。第一报文可以是多个报文中的任意一个报文。
可选的,当第一数据为第一数据流中的首个数据时,预设条件包括:未存储第一数据流中的任意一个数据的序号;当第一数据为第一数据流中,除第一数据流中的首个数据以外的其他数据时,预设条件包括:第一数据的序号减预先存储的第一数据流中的第二数据的序号的差值等于预设阈值;该数据传输方法还包括:当第一数据的序号满足预设条件时,存储第一数据的序号。
可选的,存储第一数据的序号的方法具体包括:当第一报文中的第一数据为第一数据流中的首个数据、且未存储第一数据流中的任意一个数据的序号时,添加第一数据的序号;或者,当第一报文中的第一数据为第一数据流中,除第一数据流中的首个数据以外的其他数据、且第一报文中的第一数据的序号减第二数据的序号的差值等于预设阈值时,将第二数据的序号替换为第一报文中的第一数据的序号。
可选的,接收第一设备通过多个数据传输路径发送的多个报文之后,该数据传输方法还包括:当第一报文中的第一数据的序号减第二数据的序号的差值小于预设阈值时,丢弃第一报文;或者,当第一报文中的第一数据的序号减第二数据的序号的差值大于预设阈值时,存储第一报文。
可选的,存储第一报文之后,该数据传输方法还包括:在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减预先存储的第三数据的序号的差值等于预设阈值时,发送第一报文;第三数据为第一数据流中第二数据之后的数据;或者,在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值大于预设阈值时,或者,在预设时间段内,第二数据的序号未替换时,丢弃第一报文。
可选的,该数据传输方法还包括:接收第二设备发送的用于传输第四数据的第二报文;确定第四数据的序号;在第二报文中添加第四数据的序号,以得到第三报文,并发送第三报文。
可选的,该数据传输方法还包括:接收来自目标设备的第三报文;第三报文用于传输第五数据;当第五数据的数据特征满足预设特征、且目标设备为第一设备时,将第三报文确定为第一报文;或者,当第五数据的数据特征满足预设特征、且目标设备为第二设备时,将第三报文确定为第二报文。
第二方面,提供一种数据传输装置,包括:接收单元和发送单元;接收单元,用于接收第一设备通过多个数据传输路径发送的多个报文;每个报文通过一个数据传输路径传输;每个报文包括:相同的第一数据和第一数据的序号;发送单元,用于在接收单元接收第一报文后,当第一报文中的第一数据的序号满足预设条件时,发送接收单元接收的第一报文;第一报文为多个报文中的任意一个报文。
可选的,当第一数据为第一数据流中的首个数据时,预设条件包括:未存储第一数据流中的任意一个数据的序号;当第一数据为第一数据流中,除第一数据流中的首个数据以外的其他数据时,预设条件包括:第一数据的序号减预先存储的第一数据流中的第二数据的序号的差值等于预设阈值;该数据传输装置还包括:第一处理单元;第一处理单元,用于当第一数据的序号满足预设条件时,存储第一数据的序号。
可选的,第一处理单元,具体用于:当第一报文中的第一数据为第一数据流中的首个数据、且未存储第一数据流中的任意一个数据的序号时,添加第一数据的序号;或者,当第一报文中的第一数据为第一数据流中,除第一数据流中的首个数据以外的其他数据、且第一报文中的第一数据的序号减第二数据的序号的差值等于预设阈值时,将第二数据的序号替换为第一报文中的第一数据的序号。
可选的,第一处理单元,还用于:当第一报文中的第一数据的序号减第二数据的序号的差值小于预设阈值时,丢弃第一报文;或者,当第一报文中的第一数据的序号减第二数据的序号的差值大于预设阈值时,存储第一报文。
可选的,第一处理单元,还用于:在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减预先存储的第三数据的序号的差值等于预设阈值时,发送第一报文;第三数据为第一数据流中第二数据之后的数据;或者,在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值大于预设阈值时,或者,在预设时间段内,第二数据的序号未替换时,丢弃第一报文。
可选的,该数据传输装置还包括:第二处理单元;第二处理单元,用于:接收第二设备发送的用于传输第四数据的第二报文;确定第四数据的序号;在第二报文中添加第四数据的序号,以得到第三报文,并发送第三报文。
可选的,第二处理单元,还用于:接收来自目标设备的第三报文;第三报文用于传输第五数据;当第五数据的数据特征满足预设特征、且目标设备为第一设备时,将第三报文确定为第一报文;或者,当第五数据的数据特征满足预设特征、且目标设备为第二设备时,将第三报文确定为第二报文。
第三方面,提供一种数据传输装置,包括存储器和处理器;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当数据传输装置运行时,处理器执行存储器存储的计算机执行指令,以使数据传输装置执行第一方面所述的数据传输方法。
该数据传输装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,获取、确定、发送上述数据传输方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的数据传输方法。
第五方面,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在数据传输装置上运行时,使得数据传输装置执行如上述第一方面所述的数据传输方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与数据传输装置的处理器封装在一起的,也可以与数据传输装置的处理器单独封装,本申请实施例对此不作限定。
本申请中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请实施例中,上述数据传输装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
本申请提供的技术方案至少带来以下有益效果:
基于上述任一方面,本申请实施例提供了一种数据传输方法,第一设备可以通过多个数据传输路径发送包括相同的第一数据的多个报文,因此,在数据传输过程中数据传输路径发生故障的情况下,可以实现从多个数据传输路径中的其他数据传输路径传输第一数据,不必进行数据流切换,进而避免了数据流切换导致的数据丢包或耗时较长。接着,当多个报文中的第一报文包括的第一数据的序号满足预设条件时,可以发送第一报文,避免了包括第一数据的多个报文的重复发送,减少资源占用,进一步提高了数据传输的效率。
附图说明
图1为本申请实施例提供的一种数据传输系统的结构示意图一;
图2为本申请实施例提供的数据传输装置的一种结构示意图;
图3为本申请实施例提供的一种数据传输系统的结构示意图二;
图4为本申请实施例提供的一种数据传输装置的硬件结构示意图;
图5为本申请实施例提供的又一种数据传输装置的硬件结构示意图;
图6为本申请实施例提供的一种数据传输方法的流程示意图一;
图7为本申请实施例提供的一种数据传输方法的流程示意图二;
图8为本申请实施例提供的一种数据传输方法的流程示意图三;
图9为本申请实施例提供的一种数据传输方法的流程示意图四;
图10为本申请实施例提供的一种数据传输方法的流程示意图五;
图11为本申请实施例提供的一种数据传输方法的流程示意图六;
图12为本申请实施例提供的一种数据传输方法的流程示意图七;
图13为本申请实施例提供的一种数据传输方法的流程示意图八;
图14为本申请实施例提供的一种数据传输方法的流程示意图九;
图15为本申请实施例提供的一种数据传输装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
在数据传输过程中数据传输路径发生故障的情况下,通用技术基于PW冗余保护技术,触发数据流切换至另一条数据传输路径。但是,在数据流切换的过程中,数据存在丢包的风险,同时,数据流切换的过程耗时较长,进一步导致数据传输的效率低下。
本申请实施例提供了一种数据传输方法,第一设备可以通过多个数据传输路径发送包括相同的第一数据的多个报文,因此,在数据传输过程中数据传输路径发生故障的情况下,可以实现从多个数据传输路径中的其他数据传输路径传输第一数据,不必进行数据流切换,进而避免了数据流切换导致的数据丢包或耗时较长。接着,当多个报文中的第一报文包括的第一数据的序号满足预设条件时,可以发送第一报文,避免了包括第一数据的多个报文的重复发送,减少资源占用,进一步提高了数据传输的效率。
该数据传输方法适用于数据传输系统。图1示出了一种数据传输系统的结构示意图一。如图1所示,该数据传输系统包括:数据传输装置110、第一设备120和第二设备130。
其中,数据传输装置110分别与第一设备120和第二设备130之间通信连接。数据传输装置110与第一设备120之间有多个数据传输路径,为了便于理解,本申请实施例以数据传输装置110与第一设备120之间有2个数据传输路径(包括第一路径和第二路径)为例进行说明。
在一种实施例中,每个数据传输路径中存在至少一个中继设备。为了便于理解,本申请以第一路径中存在一个中继设备121、第二路径中存在一个中继设备122为例进行说明。
在一种实施例中,数据传输装置110可以分别与多个第一设备或者多个第二设备建立通信连接。为了便于理解,本申请以数据传输装置110分别与一个第一设备120和一个第二设备130之间通信连接为例进行说明。
在一种实施例中,第一设备120、中继设备121、中继设备122和数据传输装置110可以是运营商网络中的路由设备。
其中,数据传输装置110可以是网络侧设备。
可选的,第一设备120和第二设备130可以是网络侧设备或用户侧设备。
可选的,网络侧设备可以是运营商网络边缘的路由设备,例如,L2VPN或L3VPN中的PE设备,本申请实施例对此不作限定。
可选的,用户侧设备可以是用户网络边缘路由设备(customer edge router,CE),即可以是无线终端,也可以是有线终端。例如,手机、个人计算机(personal computer,PC)、台式计算机、平板电脑、笔记本电脑、上网本、个人数字助理(personal digitalassistant,PDA)等智能设备。还可以是服务器集群(由多个服务器组成)中的一个服务器,也可以是该服务器中的芯片,还可以是该服务器中的片上系统,还可以通过部署在物理机上的虚拟机(virtual machine,VM)实现,本申请实施例对此不作限定。
中继设备121和中继设备122可以是运营商网络中进行无感知转发的路由设备。
可选的,当第一设备120和数据传输装置110是L2VPN或L3VPN中的PE设备时,第一设备120、中继设备121、中继设备122和数据传输装置110中均可以配置虚拟路由转发(virtual routing forwarding,VRF)功能。
可选的,当第一设备120和数据传输装置110是L2VPN或L3VPN中的PE设备时,中继设备121和中继设备122可以包括第二层虚拟以太网(level 2virtual ethernet,L2VE)接口,以及与L2VE接口对应的第三层虚拟以太网(level 3virtual ethernet,L3VE)接口。
当第一设备120是L2VPN中的PE时,数据传输装置110可以是L3VPN中的PE。这种情况下,第一设备120与中继设备121之间、以及第一设备120与中继设备122之间可以通过PW连接,中继设备121与第二设备130之间、以及中继设备122与第二设备130之间可以建立邻居关系,即共享一条公共传输链路。
当第一设备120是L3VPN中的PE时,数据传输装置110可以是L2VPN中的PE。这种情况下,第一设备120与中继设备121之间、以及第一设备120与中继设备122之间建立邻居关系,中继设备121与第二设备130之间、以及中继设备122与第二设备130之间可以通过PW连接。
在一种实施例中,图2示出了数据传输装置110的一种结构示意图。如图2所示,数据传输装置110包括:数据接收模块201、数据特征识别模块202、数据处理模块203、第一数据库204和第二数据库205。
其中,数据接收模块201,用于接收第一设备120或第二设备130发送的用于传输数据的报文。
数据特征识别模块202,用于识别数据接收模块201接收的报文中数据的数据特征,并根据数据特征识别模块202识别的数据特征,确定数据的处理策略。
数据处理模块203,用于根据处理策略处理数据接收模块201接收的报文中数据。其中,处理策略包括:生成数据的序号、发送用于传输数据的报文、丢弃用于传输数据的报文、或者在第二数据库205中存储用于传输数据的报文。
第一数据库204,用于存储被发送的报文中的数据的数据特征和数据的序号(seq),例如,数据特征包括:数据传输路径的标识、源互联网协议(source internetprotocol,SIP)地址、目的互联网协议(destination internet protocol,DIP)地址等。
可选的,当数据传输装置110是L2VPN中的PE时,数据传输路径的标识可以为PW的名称。
可选的,当数据传输装置110是L3VPN中的PE时,数据传输路径的标识可以为VRF的名称、路由区分符(route distinguisher,RD)中的至少一个。
第二数据库205,用于存储用于传输数据的报文。在预设时间段内,数据未发送的情况下,丢弃报文。
可选的,第一数据库204与第二数据库205可以为一个数据库中的两个存储分区,也可以是相互独立设置的数据库。为了便于理解,本申请主要以第一数据库204和第二数据库205是相互独立设置的数据库为例进行说明。
图3示出了一种数据传输系统的结构示意图二。如图3所示,该数据传输系统包括:第一CE310、第一PE320、第二PE330和第二CE340。
其中,第一CE310与第一PE320之间通信连接,第二PE330分别与第一PE320和第二CE340之间通信连接。第一PE320与第二PE330之间有多个数据传输路径(包括第三路径和第四路径)。
在一种实施例中,每个数据传输路径中存在至少一个中继设备。为了便于理解,本申请以第三路径中存在一个中继设备321、第四路径中存在一个中继设备322为例进行说明。
在一种实施例中,第一PE320可以与多个第一CE建立通信连接,第二PE330可以分别与多个第一设备或者多个第二设备建立通信连接。为了便于理解,本申请以第一PE320与一个第一CE310、第二PE330分别与一个第一PE320和一个第二CE340之间通信连接为例进行说明。
其中,关于第一CE310和第二CE340的描述可以参考图1中第二设备130中的描述进行理解,此处不再赘述。
关于第一PE320的描述可以参考图1中第一PE320中的描述进行理解,此处不再赘述。
关于第二PE330的描述可以参考图1中数据传输装置110中的描述进行理解,此处不再赘述。
结合图1或图3,数据传输系统中的数据传输装置110、第一设备120和第二设备130,以及第一CE310、第一PE320、第二PE330和第二CE340均包括图4或图5所示通信装置所包括的元件。下面以图4和图5所示的通信装置为例,介绍数据传输装置110、第一设备120和第二设备130,以及第一CE310、第一PE320、第二PE330和第二CE340的硬件结构。
如图4所示,为本申请实施例提供的通信装置的一种硬件结构示意图。该通信装置包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
处理器21是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器21可以包括一个或多个CPU,例如图4中所示的CPU 0和CPU 1。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本发明下述实施例提供的数据传输方法。
另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
通信接口23,用于通信装置与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图5示出了本发明实施例中通信装置的另一种硬件结构。如图5所示,通信装置可以包括处理器31以及通信接口32。处理器31与通信接口32耦合。
处理器31的功能可以参考上述处理器21的描述。此外,处理器31还具备存储功能,可以起上述存储器22的功能。
通信接口32用于为处理器31提供数据。该通信接口32可以是通信装置的内部接口,也可以是通信装置对外的接口(相当于通信接口23)。
需要指出的是,图4(或图5)中示出的结构并不构成对通信装置的限定,除图4(或图5)所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合附图对本申请实施例提供的数据传输方法进行详细介绍。
如图6所示,图6为本申请提供的一种数据传输方法的流程示意图一,本申请实施例提供的数据传输方法可以应用于数据传输装置。该数据传输方法包括:S601-S602。
S601、数据传输装置接收第一设备通过多个数据传输路径发送的多个报文。
其中,每个报文通过一个数据传输路径传输。每个报文包括:相同的第一数据和第一数据的序号。
可选的,第一数据可以是第一数据流中的任意一个数据。
可选的,第一数据流可以是由多个数据组成的,第一设备发送数据流的时候,可以将第一数据流中的每个数据按照时间顺序,一个数据一个数据的发送,最终数据传输装置可以接收到一个完整的数据流。
示例性的,第一设备向数据传输装置发送的第一数据流为一个视频,其中包括:视频帧1、视频帧2、视频帧3、视频帧4、视频帧5。第一设备可以按照时间顺序依次向数据传输装置发送多个用于传输视频帧1的报文1、多个用于传输视频帧2的报文2、多个用于传输视频帧3的报文3、多个用于传输视频帧4的报文4、多个用于传输视频帧5的报文5。后续,数据传输装置可以接收到视频帧1、视频帧2、视频帧3、视频帧4、视频帧5,获取到完整视频。
可选的,第一数据可以是声音、图像等模拟数据,也可以是符号、文字等数字数据。
可选的,第一数据的序号可以是第一设备预先生成的阿拉伯数字、英文字母、汉字等带有排序功能的符号。
可选的,数据传输装置可以根据第一数据的序号确定第一数据在第一数据流中的排序。
可选的,每个报文还可以包括:PW的名称、VRF的名称、RD、SIP地址、DIP地址等第一数据的数据特征。
可选的,多个报文可以是符合国际互联网工程任务组(the internetengineering task force,IETF)规定的互联网通信协议第四版(internet protocolversion 4,IPv4)报文、互联网通信协议第六版(internet protocol version 6,IPv6)报文、超文本传输协议(hyper text transfer protocol,HTTP)报文等。
当多个报文是IPv4报文时,表1示出了本申请实施例中的一种IPv4报文头格式。如表1所示,IPv4报文的报文头中包括:版本(version)字段、报头长度(internet headerlength,IHL)字段、服务类型(type of service)字段、总长(total length)字段、身份(identification)字段、标志(flags)字段、分片偏移(fragment offset)字段、生存时间(time to live)字段、协议(protocol)字段、报头校验和(header checksum)字段、源点地址(source address)字段、目的地址(destination address)字段、拓展(options)字段、补充(padding)字段。
表1 IPv4报文头格式
可选的,结合表1,多个报文的IPv4报文头的options字段可以包括:类型、长度和数据内容。其中,类型的字节长度为8比特(bit),包括:1bit的拷贝标识(copied flag)、2bit的选项类别(option class)和5bit的选项编号(option number)。长度的字节长度为8bit。数据内容的字节长度为64bit,包括:64bit的数据的序号。
示例性的,表2示出了本申请实施例中的一种IPv4报文头的options字段内容。如表2所示,copied flag的内容为“1”,option class的内容为“11”、option number的内容为“00001”,长度的内容为“0101 0000”,序号的内容为“变量(var)”。
表2 IPv4报文头的options字段内容
可选的,当第一报文包括第一数据的数据特征时,数据传输装置接收到第一报文之后,可以确定第一数据的数据特征是否满足预设特征。
其中,数据特征可以包括数据的PW的名称、VRF的名称、RD、SIP地址、DIP地址。预设特征为用于表示该数据的重要程度较高的特征。
当第一数据的数据特征满足预设特征时,数据传输装置执行步骤S602。
当第一数据的数据特征不满足预设特征时,数据传输装置可以直接向第二设备发送第一报文。
S602、在接收第一报文后,当第一报文中的第一数据的序号满足预设条件时,数据传输装置发送第一报文。
其中,第一报文为多个报文中的任意一个报文。
可选的,由于同一数据流中的数据具有相同的数据特征,结合图2,当第一报文中包括第一数据的数据特征时,数据传输装置110接收到第一报文后,可以根据第一数据的数据特征,在第一数据库204存储的数据特征中,查找第一数据流中的数据的序号。
可选的,结合图2,预设条件可以包括:第一数据库204中未存储第一数据的序号。
当第一报文中的第一数据的序号满足预设条件时,即第一数据库204中未存储第一数据的序号时,表示数据传输装置110未完成第一数据的传输,此时,数据传输装置可以发送第一报文。
可选的,结合图2,当第一数据为第一数据流中的首个数据时,预设条件可以包括:第一数据库204中未存储第一数据流中的任意一个数据的序号。
这种情况下,当第一报文中的第一数据的序号满足预设条件时,即第一数据为第一数据流中的首个数据、且第一数据库204中未存储第一数据流中的任意一个数据的序号时,表示数据传输装置110未完成第一数据流中的首个数据的传输,因此,数据传输装置110可以发送第一报文。
示例性的,数据传输装置接收到多个报文中的报文a。其中,报文a中包括数据A、数据A的序号“0”和数据A的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN2”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)。数据传输装置根据数据A的序号“0”,确定数据A为某数据流的首个数据。
表3示出了一种第一数据库中存储的数据特征和对应的序号,如表3所示,预设第一数据库中包括:第一组数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)对应的序号为“177”;第二组数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“11.11.11.11”、DIP地址为“22.22.22.22”)对应的序号为“1”;第三组数据特征(包括:PW的名称为“PW11/PW12”、VRF的名称为“VPN2”、RD为“2:2”SIP地址为“11.11.11.11”、DIP地址为“22.22.22.22”)对应的序号为“33”。
表3第一数据库中存储的数据特征
PW | VRF | RD | SIP | DIP | SEQ |
PW1/PW2 | VPN1 | 1:1 | 1.1.1.1 | 2.2.2.2 | 177 |
PW1/PW2 | VPN1 | 1:1 | 11.11.11.11 | 22.22.22.22 | 1 |
PW11/PW12 | VPN2 | 2:2 | 11.11.11.11 | 22.22.22.22 | 33 |
由表3可知,第一数据库中未存储该数据流中的任意一个数据的序号,因此,数据A的序号满足预设条件,数据传输装置可以发送报文a。
可选的,结合图2,当第一数据为第一数据流中,除第一数据流中的首个数据以外的其他数据时,预设条件可以包括:第一数据的序号减第一数据库204中预先存储的第一数据流中的第二数据的序号的差值等于预设阈值。
这种情况下,当第一报文中的第一数据的序号满足预设条件时,即第一数据为其他数据、且第一数据的序号减第二数据的序号的差值等于预设阈值时,表示数据传输装置110未完成第一数据流中在第二数据之后的其他数据的传输,因此,数据传输装置110可以发送第一报文。
示例性的,结合表3,数据传输装置接收到多个报文中的报文b。其中,报文b中包括数据B、数据B的序号“178”和数据B的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)。数据传输装置根据数据B的序号“178”,确定数据B是某数据流中除首个数据以外的其他数据。此时,预设阈值为“1”。
由表3可知,第一数据库中存储有该数据流中的数据的序号“177”。由于数据B的序号“178”减序号“177”的差值等于预设阈值,数据B的序号满足预设条件,数据传输装置可以发送报文b。
可选的,当第一报文中的第一数据的序号不满足预设条件时,数据传输装置可以根据预设规则,处理第一报文。
可选的,预设规则可以包括:丢弃或存储第一报文。
上述实施例提供的技术方案至少带来以下有益效果:由S601-S602可知,由于本申请提供的数据传输方法中的第一设备可以通过多个数据传输路径发送包括第一数据的多个报文,在数据传输过程中数据传输路径发生故障的情况下,可以实现从多个数据传输路径中的其他数据传输路径传输第一数据,不必进行数据流切换,进而避免了数据流切换导致的数据丢包或耗时较长。接着,当多个报文中的第一报文包括的第一数据的序号满足预设条件时,可以发送第一报文,避免了包括第一数据的多个报文的重复发送,减少资源占用,进一步提高了数据传输的效率。
在一种可选的实施例中,当数据传输装置接收到第一设备通过多个数据传输路径发送的多个报文之后,在图6示出的方法实施例的基础上,本实施例提供一种可能实现方式,如图7所示,图7为本申请提供的一种数据传输方法的流程示意图二。该数据传输方法还包括:S701。
S701、当第一数据的序号满足预设条件时,数据传输装置存储第一数据的序号。
可选的,结合图2,当第一数据的序号满足预设条件时,数据传输装置110存储第一数据的序号的方法包括但不限于以下两种方法,本申请实施例对此不作限定。
方法一:当第一数据的序号满足预设条件时,数据传输装置110可以直接在保留第一数据库204中原有信息的基础上,添加第一数据的序号。
方法二:在预设条件包括:第一数据的序号减第二数据的序号的差值等于预设阈值的情况下,当第一数据的序号满足预设条件时,数据传输装置110可以将第一数据库204中的第二数据的序号替换为第一数据的序号。
可选的,第二数据可以是声音、图像等模拟数据,也可以是符号、文字等数字数据。
可选的,当第一数据的序号满足预设条件时,数据传输装置还可以存储第一数据的数据特征。
本申请实施例对于S602和S701的先后顺序不作限定。数据传输装置可以先执行S602,后执行S701;也可以先执行S701,后执行S602;还可以同时执行S701和S602。
上述实施例提供的技术方案至少带来以下有益效果:由S701可知,当第一数据的序号满足预设条件时,数据传输装置可以存储第一数据的序号。这样一来,数据传输装置可以及时替换存储的数据的序号,以使得数据传输装置可以根据替换后的第一数据流中唯一的数据的序号,或者最后一个数据的序号,发送接收到的第一数据流中第一数据之后的数据,提高了数据传输的效率。
在一种可选的实施例中,数据传输装置为存储第一数据的序号,在图7示出的方法实施例的基础上,本实施例提供一种可能实现方式,如图8所示,图8为本申请提供的一种数据传输方法的流程示意图三。S701中,当第一数据的序号满足预设条件时,数据传输装置存储第一数据的序号的方法具体包括:S801-S802。
S801、当第一报文中的第一数据为第一数据流中的首个数据、且未存储第一数据流中的任意一个数据的序号时,数据传输装置添加第一数据的序号。
S802、当第一报文中的第一数据为第一数据流中,除第一数据流中的首个数据以外的其他数据、且第一报文中的第一数据的序号减第二数据的序号的差值等于预设阈值时,数据传输装置将第二数据的序号替换为第一报文中的第一数据的序号。
上述实施例提供的技术方案至少带来以下有益效果:由S801-S802可知,当第一数据的序号满足预设条件时,数据传输装置可以存储第一数据流中唯一的第一数据的序号。这样一来,避免了存储同一数据流中的多个数据的序号,可以有效减少数据传输装置中资源的占用。
在一种可选的实施例中,当数据传输装置接收到第一设备通过多个数据传输路径发送的多个报文之后,在图6示出的方法实施例的基础上,本实施例提供一种可能实现方式,如图9所示,图9为本申请提供的一种数据传输方法的流程示意图四。S601之后,该数据传输方法还包括:S901-S902。
S901、当第一报文中的第一数据的序号减第二数据的序号的差值小于预设阈值时,数据传输装置丢弃第一报文。
当第一报文中的第一数据的序号减第二数据的序号的差值小于预设阈值时,表示数据传输装置已经完成第一数据的传输,此时,数据传输装置可以丢弃第一报文。
示例性的,结合表3,数据传输装置接收到多个报文中的报文c。其中,报文c中包括数据C、数据C的序号“170”和数据C的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)。预设阈值为“1”。
由表3可知,第一数据库中存储有该数据流中的数据的序号“177”。由于数据C的序号“170”减序号“177”的差值小于预设阈值,数据传输装置可以丢弃报文c。
S902、当第一报文中的第一数据的序号减第二数据的序号的差值大于预设阈值时,数据传输装置存储第一报文。
结合图2,当第一报文中的第一数据的序号减第二数据的序号的差值大于预设阈值时,表示数据传输装,110未完成第一数据流中第一数据之前的数据的传输,此时,第二数据库205可以存储第一报文,等待后续发送。
示例性的,结合表3,数据传输装置接收到多个报文中的报文d。其中,报文d中包括数据D、数据D的序号“180”和数据D的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)。预设阈值为“1”。
由表3可知,第一数据库中存储有该数据流中的数据的序号“177”。由于数据D的序号“180”减序号“177”的差值大于预设阈值,数据传输装置可以存储报文d。
可选的,结合图2,数据传输装置存储第一报文之后,可以在第二数据库205中添加第一报文中的第一数据对应的生存时间值(time to live,TTL)。其中,TTL用于根据预设时间段对第一报文的存储时间计时。
可选的,存储时间计时可以为正计时或倒计时。
上述实施例提供的技术方案至少带来以下有益效果:由S901-S902可知,当第一报文中的第一数据的序号减第二数据的序号的差值小于预设阈值时,数据传输装置可以丢弃第一报文。这样一来,避免数据传输装置重复发送和存储传输相同数据的报文,可以有效减少数据传输装置中资源的占用。当第一报文中的第一数据的序号减第二数据的序号的差值大于预设阈值时,数据传输装置可以存储第一报文。这样一来,当数据传输装置完成第一数据流中第一数据之前的数据的传输之后,可以直接发送存储的第一报文,提高了数据传输的效率。
在一种可选的实施例中,当数据传输装置存储第一报文之后,在图9示出的方法实施例的基础上,本实施例提供一种可能实现方式,如图10所示,图10为本申请提供的一种数据传输方法的流程示意图五。S902之后,该数据传输方法还包括:S1001-S1002。
S1001、在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值等于所述预设阈值时,数据传输装置发送第一报文。
其中,第三数据为第一数据流中在第二数据之后的数据。
在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值等于所述预设阈值时,表示预设时间段内,数据传输装置完成了第一数据流在第一数据之前的所有数据的传输,此时,数据传输装置可以发送第一报文,并从第二数据库中删除第一报文。
示例性的,表4示出了一种第二数据库中存储的报文,如表4所示,预设第二数据库中包括:报文e(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)对应的序号为“180”,以及TTL为“30”;报文f(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)对应的序号为“181”,以及TTL为“15”;报文g(包括:PW的名称为“PW11/PW12”、VRF的名称为“VPN2”、RD为“2:2”SIP地址为“11.11.11.11”、DIP地址为“22.22.22.22”)对应的序号为“37”,以及TTL为“3”。
表4第二数据库中存储的报文
PW | VRF | RD | SIP | DIP | SEQ | TTL |
PW1/PW2 | VPN1 | 1:1 | 1.1.1.1 | 2.2.2.2 | 180 | 30 |
PW1/PW2 | VPN1 | 1:1 | 1.1.1.1 | 2.2.2.2 | 181 | 15 |
PW11/PW12 | VPN2 | 2:2 | 11.11.11.11 | 22.22.22.22 | 37 | 3 |
在存储报文e的30个单位时间内,第一数据库中包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”,序号为“179”。预设阈值为“1”。
由表4可知,第二数据库中报文e的数据的序号“180”减第一数据库中序号“179”的差值等于预设阈值,因此,数据传输装置可以发送报文e。
S1002、在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值大于预设阈值时,或者,在预设时间段内,第二数据的序号未替换时,数据传输装置丢弃第一报文。
在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值大于预设阈值时,或者,在预设时间段内,第二数据的序号未替换时,表示预设时间段内,数据传输装置未完成第一数据流在第一数据之前的所有数据的传输,此时,数据传输装置可以丢弃第一报文。
示例性的,结合表4,在存储报文f的15个单位时间内,第一数据库中包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”,序号为“179”。预设阈值为“1”。
由表4可知,第二数据库中报文f的数据的序号“181”减第一数据库中序号“179”的差值大于预设阈值,因此,数据传输装置可以丢弃报文f。
上述实施例提供的技术方案至少带来以下有益效果:由S1001-S1002可知,在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值等于所述预设阈值时,数据传输装置可以发送第一报文。这样一来,当数据传输装置完成第一数据流中第一数据之前的数据的传输之后,可以直接发送存储的第一报文,提高了数据传输的效率。在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值大于预设阈值时,或者,在预设时间段内,第二数据的序号未替换时,数据传输装置可以丢弃第一报文。这样一来,可以有效减少数据传输装置中资源的占用。
在一种可选的实施例中,如图11所示,图11为本申请提供的一种数据传输方法的流程示意图六。该数据传输方法还包括:S1101-S1103。
S1101、数据传输装置接收第二设备发送的用于传输第四数据的第二报文。
可选的,第四数据可以是第二数据流中的任意一个数据。
可选的,第二报文可以包括:PW的名称、VRF的名称、RD、SIP地址、DIP地址等第四数据的数据特征。
其中,第二报文中不包括第四数据的序号。
可选的,第二报文可以是符合IETF规定的IPv4报文、IPv6报文、HTTP报文等。
可选的,结合表1,当第二报文是IPv4报文时,报文头格式如表1所示,此处不再赘叙。
可选的,当第二报文包括第四数据的数据特征时,数据传输装置接收到第二报文之后,可以确定第四数据的数据特征是否满足预设特征。
当第四数据的数据特征满足预设特征时,数据传输装置执行步骤S1102。
当第四数据的数据特征不满足预设特征时,数据传输装置可以从多个数据传输路径中的任意一个数据传输路径向第一设备发送第二报文。
S1102、数据传输装置确定第四数据的序号。
可选的,第四数据的序号可以是阿拉伯数字、英文字母、汉字等带有排序功能的符号。
可选的,结合图2,数据传输装置110确定第四数据的序号的方法包括但不限于以下两种方法,本申请对此不作限定。
方法一:在第四数据为第二数据流中的首个数据的情况下,表示数据传输装置首次接收到第二数据流中的数据,因此,第一数据库204中未存储第二数据流中的数据的序号,此时,数据传输装置110可以生成第四数据的序号,并在第一数据库204中存储第四数据的序号。
方法二:在第四数据为第二数据流中,除第二数据流中的首个数据以外的其他数据的情况下,表示数据传输装置至少一次接收到第二数据流中的数据,因此,第一数据库204中存储有第二数据流中第四数据之前的第五数据的序号,此时,数据传输装置可以将第五数据的序号与预设阈值的和值,确定为第四数据的序号,并在第一数据库204中存储第四数据的序号。
S1103、数据传输装置在第二报文中添加第四数据的序号,以得到第三报文,并发送第三报文。
可选的,结合表1,当第二报文是IPv4报文时,数据传输装置可以在第二报文的IPv4报文头的options字段中添加第四数据的序号。
可选的,数据传输装置可以通过多个数据传输路径向第一设备发送多个第三报文。
上述实施例提供的技术方案至少带来以下有益效果:由S1101-S1103可知,数据传输装置接收到第二设备发送的用于传输第四数据的第二报文之后,可以确定第四数据的序号,并在第二报文中添加第四数据的序号,以得到第三报文,接着发送第三报文。这样一来,数据传输装置可以在报文中添加数据的序号,以使得后续可以根据数据的序号,确定数据传输的策略。
在一种可选的实施例中,数据传输装置为了确定第四数据的序号,在图11示出的方法实施例的基础上,本实施例提供一种可能实现方式,如图12所示,图12为本申请提供的一种数据传输方法的流程示意图七。S1102中数据传输装置确定第四数据的序号的方法具体包括:S1201-S1202。
S1201、当第四数据为第二数据流中的首个数据时,数据传输装置生成第四数据的序号。
可选的,结合图2,当第二报文包括第四数据的数据特征时,数据传输装,110接收到第二报文之后,可以根据第四数据的数据特征确定第一数据库204是否存储有第二数据流中的数据的序号。
当第一数据库204中未存储第二数据流中的数据的序号时,表示第四数据为第二数据流中的首个数据。
当第一数据库204中存储有第二数据流中的数据的序号时,表示第四数据为第二数据流中,除第二数据流中的首个数据以外的其他数据。
示例性的,结合表3,数据传输装置接收到多个报文中的报文g。其中,报文g中包括数据G和数据G的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN2”、RD为“1:1”SIP地址为“1.1.1.1”、DIP地址为“2.2.2.2”)。
由表3可知,数据传输装置中未存储与数据G的数据特征对应的数据流的序号,因此,数据G为该数据流中的首个数据。此时,数据传输装置可以生成数据G的序号为“0”。
S1202、当第四数据为第二数据流中,除第二数据流中的首个数据以外的其他数据时,数据传输装置将预先存储的第二数据流中的最新数据的序号与预设阈值的和值,确定为第四数据的序号。
可选的,最新数据可以是第二数据流中的任意一个数据。
可选的,最新数据可以是声音、图像等模拟数据,也可以是符号、文字等数字数据。
示例性的,结合表3,数据传输装置接收到多个报文中的报文h。其中,报文h中包括数据H和数据H的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“11.11.11.11”、DIP地址为“22.22.22.22”)。预设阈值为“1”。
由表3可知,数据传输装置中存储有与数据H的数据特征对应的数据流的序号“1”,因此,数据H不是该数据流中的首个数据。此时,数据传输装置可以将序号“1”与预设阈值的和值“2”,确定为数据H的序号。
上述实施例提供的技术方案至少带来以下有益效果:由S1201-S1202可知,当第四数据为第二数据流中的任意一个数据时,数据传输装置都可以确定第四数据的序号。这样一来,数据传输装置可以生成与数据流中的每个数据一一对应的序号,以使得后续可以根据数据的序号,确定数据在数据流中的排序,进而确定数据传输的策略。
在一种可选的实施例中,如图13所示,图13为本申请提供的一种数据传输方法的流程示意图八。该数据传输方法还包括:S1301-S1303。
S1301、数据传输装置接收来自目标设备的第三报文。
其中,第三报文用于传输第五数据。
可选的,第五数据可以是声音、图像等模拟数据,也可以是符号、文字等数字数据。
可选的,结合图1,目标设备可以是第一设备120或者第二设备130。
可选的,数据传输装置可以根据接收第三报文的网络接口,确定目标设备的设备类型。
可选的,第三报文可以包括:PW的名称、VRF的名称、RD、SIP地址、DIP地址等第五数据的数据特征。
当目标设备是第一设备时,第三报文中还可以包括第五数据的序号。
可选的,第三报文可以是符合IETF规定的IPv4报文、IPv6报文、HTTP报文等。
可选的,结合表1,当第三报文是IPv4报文时,报文头格式如表1所示,此处不再赘叙。
可选的,当第三报文包括第五数据的数据特征时,数据传输装置接收到第三报文之后,可以确定第五数据的数据特征是否满足预设特征。
当第五数据的数据特征满足预设特征、且目标设备为第一设备时,数据传输装置执行步骤S1302。
当第五数据的数据特征满足预设特征、且目标设备为第二设备时,数据传输装置执行步骤S1303。
当第五数据的数据特征不满足预设特征时,数据传输装置从一个数据传输路径发送第三报文。
S1302、当第五数据的数据特征满足预设特征、且目标设备为第一设备时,数据传输装置将第三报文确定为第一报文。
示例性的,数据传输装置通过网络侧接口接收到报文i。其中,报文i中包括数据I和数据I的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“11.11.11.11”、DIP地址为“22.22.22.22”)。预设特征为:VRF的名称为“VPN1”。
通过网络侧接口可以确定发送端为第一设备,且数据I的数据特征满足预设特征,因此,数据传输装置可以确定报文i为第一设备通过多个数据传输路径发送的多个报文中的一个报文。
S1303、当第五数据的数据特征满足预设特征、且目标设备为第二设备时,数据传输装置将第三报文确定为第二报文。
示例性的,数据传输装置通过用户侧接口接收到报文j。其中,报文j中包括数据J和数据J的数据特征(包括:PW的名称为“PW1/PW2”、VRF的名称为“VPN1”、RD为“1:1”SIP地址为“11.11.11.11”、DIP地址为“22.22.22.22”)。预设特征为:VRF的名称为“VPN1”。
通过用户侧接口可以确定发送端为第二设备,且数据J的数据特征满足预设特征,因此,数据传输装置可以确定报文j为第二设备发送的报文。
上述实施例提供的技术方案至少带来以下有益效果:由S1301-S1303可知,数据传输装置可以根据接收到的第三报文中的第五数据的数据特征是否满足预设特征、以及发送端的类型,确定第三报文的传输策略。避免了对所有报文进行多次发送,可以实现保护目标数据的数据传输方法,减少了资源浪费,提高了数据传输的效率。
结合图3,如图14所示,图14为本申请提供的一种数据传输方法的流程示意图九,本申请实施例提供的数据传输方法可以应用于第一CE310、第一PE320、第二PE330和第二CE340。该数据传输方法包括:S1401-S1412。
S1401、第一CE向第一PE发送用于传输第六数据的第四报文。
可选的,第六数据可以为第三数据流中的任意一个数据。
可选的,第六数据可以是声音、图像等模拟数据,也可以是符号、文字等数字数据。
可选的,第四报文可以包括:PW的名称、VRF的名称、RD、SIP地址、DIP地址等第六数据的数据特征。
可选的,第四报文可以是符合IETF规定的IPv4报文、IPv6报文、HTTP报文等。
可选的,结合表1,当第四报文是IPv4报文时,报文头格式如表1所示,此处不再赘叙。
S1402、第一PE判断第六数据的数据特征是否满足预设特征。
当第六数据的数据特征不满足预设特征时,第一PE执行S1403。
当第六数据的数据特征满足预设特征时,第一PE执行S1404-S1405。
S1403、第一PE通过多个数据传输路径中的一个数据传输路径向第二PE发送第四报文。
S1404、第一PE确定第六数据的序号,并在第四报文中添加第六数据的序号,以得到第五报文。
S1405、第一PE通过多个数据传输路径向第二PE发送多个第五报文。
S1406、第二PE判断接收到的第四报文或目标第五报文中的第六数据的数据特征是否满足预设特征。
其中,目标第五报文为多个第五报文中的任意一个。
当第六数据的数据特征不满足预设特征时,表示第二PE通过第四报文接收第六数据,此时,第二PE执行S1407。
当第六数据的数据特征满足预设特征时,表示第二PE通过目标第五报文接收第六数据,此时,第二PE执行S1408-S1412。
S1407、第二PE向第二CE发送第四报文。
S1408、第二PE判断是否存储第三数据流中的第七数据的序号。
当存储有第七数据的序号时,表示第六数据为第三数据流中,除第三数据流的首个数据以外的其他数据,第二PE执行S1409。
当未存储第七数据的序号时,表示第六数据为第三数据流中的首个数据,第二PE向第二CE发送第五报文。
S1409、第二PE确定第六数据的序号减第七数据的序号的差值。
S1410、当差值小于预设阈值时,第二PE丢弃第五报文。
S1411、当差值大于预设阈值时,第二PE缓存第五报文。
S1412、当差值等于预设阈值时,第二PE向第二CE发送第五报文。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对数据传输装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图15所示,为本申请实施例提供的一种数据传输装置的结构示意图。该数据传输装置可以用于执行图6、图7、图8、图9、图10、图11、图12、图13或者图14所示的数据传输的方法。图15所示数据传输装置包括:接收单元1501和发送单元1502。
接收单元1501,用于接收第一设备通过多个数据传输路径发送的多个报文。例如,结合图6,接收单元1501用于执行S601。
发送单元1502,用于在接收第一报文后,当第一报文中的第一数据的序号满足预设条件时,发送接收单元1501接收的第一报文。例如,结合图6,发送单元1502用于执行S602。
可选的,该数据传输装置还包括:第一处理单元1503。
第一处理单元1503,用于当第一数据的序号满足预设条件时,存储第一数据的序号。例如,结合图7,第一处理单元1503用于执行S701。
可选的,第一处理单元1503,具体用于:当第一报文中的第一数据为第一数据流中的首个数据、且未存储第一数据流中的任意一个数据的序号时,添加第一数据的序号;或者,当第一报文中的第一数据为第一数据流中,除第一数据流中的首个数据以外的其他数据、且第一报文中的第一数据的序号减第二数据的序号的差值等于预设阈值时,将第二数据的序号替换为第一报文中的第一数据的序号。例如,结合图8,第一处理单元1503用于执行S801-S802。
可选的,第一处理单元1503,还用于:当第一报文中的第一数据的序号减第二数据的序号的差值小于预设阈值时,丢弃第一报文;或者,当第一报文中的第一数据的序号减第二数据的序号的差值大于预设阈值时,存储第一报文。例如,结合图9,第一处理单元1503用于执行S901-S902。
可选的,第一处理单元1503,还用于:在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减预先存储的第三数据的序号的差值等于预设阈值时,发送第一报文;第三数据为第一数据流中第二数据之后的数据;或者,在预设时间段内,当第二数据的序号替换为第三数据的序号,且第一报文中的第一数据的序号减第三数据的序号的差值大于预设阈值时,或者,在预设时间段内,第二数据的序号未替换时,丢弃第一报文。例如,结合图9,第一处理单元1503用于执行S1001-S1002。
可选的,该数据传输装置还包括:第二处理单元1504。
第二处理单元1504,用于:接收第二设备发送的用于传输第四数据的第二报文;确定第四数据的序号;在第二报文中添加第四数据的序号,以得到第三报文,并发送第三报文。例如,结合图11,第二处理单元1504用于执行S1101-S1103。
可选的,第二处理单元1504,还用于:接收来自目标设备的第三报文;第三报文用于传输第五数据;当第五数据的数据特征满足预设特征、且目标设备为第一设备时,将第三报文确定为第一报文;或者,当第五数据的数据特征满足预设特征、且目标设备为第二设备时,将第三报文确定为第二报文。例如,结合图13,第二处理单元1504用于执行S1301-S1303。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的数据传输方法。
本申请实施例还提供一种计算机程序,该计算机程序可直接加载到存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述实施例提供的数据传输方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机可读存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对通常技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种数据传输方法,其特征在于,包括:
接收第一设备通过多个数据传输路径发送的多个报文;每个报文通过一个数据传输路径传输;每个报文包括:相同的第一数据和所述第一数据的序号;
在接收第一报文后,当所述第一报文中的第一数据的序号满足预设条件时,发送所述第一报文;所述预设条件包括:第一数据库中未存储第一数据的序号或者所述第一数据库中未存储第一数据流中的任意一个数据的序号;所述第一报文为所述多个报文中的任意一个报文;
所述接收第一设备通过多个数据传输路径发送的多个报文之后,还包括:
当所述第一报文中的第一数据的序号减所述第二数据的序号的差值小于所述预设阈值时,丢弃所述第一报文;或者,
当所述第一报文中的第一数据的序号减所述第二数据的序号的差值大于所述预设阈值时,存储所述第一报文;
在预设时间段内,当所述第二数据的序号替换为第三数据的序号,且所述第一报文中的第一数据的序号减预先存储的所述第三数据的序号的差值等于所述预设阈值时,发送所述第一报文;所述第三数据为所述第一数据流中所述第二数据之后的数据;或者,
在所述预设时间段内,当所述第二数据的序号替换为所述第三数据的序号,且所述第一报文中的第一数据的序号减所述第三数据的序号的差值大于所述预设阈值时,或者,在所述预设时间段内,所述第二数据的序号未替换时,丢弃所述第一报文。
2.根据权利要求1所述的数据传输方法,其特征在于,当所述第一数据为第一数据流中的首个数据时,所述预设条件包括:未存储所述第一数据流中的任意一个数据的序号;当所述第一数据为所述第一数据流中,除所述第一数据流中的首个数据以外的其他数据时,所述预设条件包括:所述第一数据的序号减预先存储的所述第一数据流中的第二数据的序号的差值等于预设阈值;
所述数据传输方法还包括:
当所述第一数据的序号满足所述预设条件时,存储所述第一数据的序号。
3.根据权利要求2所述的数据传输方法,其特征在于,所述存储所述第一数据的序号,包括:
当所述第一报文中的第一数据为所述第一数据流中的首个数据、且未存储所述第一数据流中的任意一个数据的序号时,添加所述第一数据的序号;或者,
当所述第一报文中的第一数据为所述第一数据流中,除所述第一数据流中的首个数据以外的其他数据、且所述第一报文中的第一数据的序号减所述第二数据的序号的差值等于预设阈值时,将所述第二数据的序号替换为所述第一报文中的第一数据的序号。
4.根据权利要求1所述的数据传输方法,其特征在于,还包括:
接收第二设备发送的用于传输第四数据的第二报文;
确定所述第四数据的序号;
在所述第二报文中添加所述第四数据的序号,以得到第三报文,并发送所述第三报文。
5.根据权利要求4所述的数据传输方法,其特征在于,还包括:
接收来自目标设备的第三报文;所述第三报文用于传输第五数据;
当所述第五数据的数据特征满足预设特征、且所述目标设备为所述第一设备时,将所述第三报文确定为所述第一报文;或者,
当所述第五数据的数据特征满足所述预设特征、且所述目标设备为所述第二设备时,将所述第三报文确定为所述第二报文。
6.一种数据传输装置,其特征在于,包括:接收单元和发送单元;
所述接收单元,用于接收第一设备通过多个数据传输路径发送的多个报文;每个报文通过一个数据传输路径传输;每个报文包括:相同的第一数据和所述第一数据的序号;
所述发送单元,用于在所述接收单元接收第一报文后,当所述第一报文中的第一数据的序号满足预设条件时,发送所述第一报文;所述预设条件包括:第一数据库中未存储第一数据的序号或者所述第一数据库中未存储第一数据流中的任意一个数据的序号;所述第一报文为所述多个报文中的任意一个报文;
所述第一处理单元,还用于:
当所述第一报文中的第一数据的序号减所述第二数据的序号的差值小于所述预设阈值时,丢弃所述第一报文;或者,
当所述第一报文中的第一数据的序号减所述第二数据的序号的差值大于所述预设阈值时,存储所述第一报文;
所述第一处理单元,还用于:
在预设时间段内,当所述第二数据的序号替换为第三数据的序号,且所述第一报文中的第一数据的序号减预先存储的所述第三数据的序号的差值等于所述预设阈值时,发送所述第一报文;所述第三数据为所述第一数据流中所述第二数据之后的数据;或者,
在所述预设时间段内,当所述第二数据的序号替换为所述第三数据的序号,且所述第一报文中的第一数据的序号减所述第三数据的序号的差值大于所述预设阈值时,或者,在所述预设时间段内,所述第二数据的序号未替换时,丢弃所述第一报文。
7.根据权利要求6所述的数据传输装置,其特征在于,当所述第一数据为第一数据流中的首个数据时,所述预设条件包括:未存储所述第一数据流中的任意一个数据的序号;当所述第一数据为所述第一数据流中,除所述第一数据流中的首个数据以外的其他数据时,所述预设条件包括:所述第一数据的序号减预先存储的所述第一数据流中的第二数据的序号的差值等于预设阈值;
所述数据传输装置还包括:第一处理单元;
所述第一处理单元,用于当所述第一数据的序号满足所述预设条件时,存储所述第一数据的序号。
8.根据权利要求7所述的数据传输装置,其特征在于,所述第一处理单元,具体用于:
当所述第一报文中的第一数据为所述第一数据流中的首个数据、且未存储所述第一数据流中的任意一个数据的序号时,添加所述第一数据的序号;或者,
当所述第一报文中的第一数据为所述第一数据流中,除所述第一数据流中的首个数据以外的其他数据、且所述第一报文中的第一数据的序号减所述第二数据的序号的差值等于预设阈值时,将所述第二数据的序号替换为所述第一报文中的第一数据的序号。
9.根据权利要求6所述的数据传输装置,其特征在于,还包括:第二处理单元;
所述第二处理单元,用于:
接收第二设备发送的用于传输第四数据的第二报文;
确定所述第四数据的序号;
在所述第二报文中添加所述第四数据的序号,以得到第三报文,并发送所述第三报文。
10.根据权利要求9所述的数据传输装置,其特征在于,所述第二处理单元,还用于:
接收来自目标设备的第三报文;所述第三报文用于传输第五数据;
当所述第五数据的数据特征满足预设特征、且所述目标设备为所述第一设备时,将所述第三报文确定为所述第一报文;或者,
当所述第五数据的数据特征满足所述预设特征、且所述目标设备为所述第二设备时,将所述第三报文确定为所述第二报文。
11.一种数据传输装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;当所述数据传输装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述数据传输装置执行如权利要求1-5任一项所述的数据传输方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210524456.2A CN114978986B (zh) | 2022-05-13 | 2022-05-13 | 一种数据传输方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210524456.2A CN114978986B (zh) | 2022-05-13 | 2022-05-13 | 一种数据传输方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978986A CN114978986A (zh) | 2022-08-30 |
CN114978986B true CN114978986B (zh) | 2024-05-14 |
Family
ID=82982514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210524456.2A Active CN114978986B (zh) | 2022-05-13 | 2022-05-13 | 一种数据传输方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978986B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938738A (zh) * | 2022-10-26 | 2024-04-26 | 华为技术有限公司 | 一种通信方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118434A (zh) * | 2010-12-28 | 2011-07-06 | 华为技术有限公司 | 数据包传输方法和设备 |
CN106230744A (zh) * | 2016-07-26 | 2016-12-14 | 京信通信系统(中国)有限公司 | 一种数据流乱序重组的方法及转发设备 |
WO2017097201A1 (zh) * | 2015-12-09 | 2017-06-15 | 华为技术有限公司 | 一种数据传输方法、发送装置及接收装置 |
WO2018107379A1 (zh) * | 2016-12-14 | 2018-06-21 | 深圳中兴力维技术有限公司 | 告警同步的方法及装置 |
CN109428801A (zh) * | 2017-08-23 | 2019-03-05 | 北京华为数字技术有限公司 | 报文发送方法及装置 |
CN111654447A (zh) * | 2018-01-16 | 2020-09-11 | 华为技术有限公司 | 一种报文传输的方法及装置 |
CN113014498A (zh) * | 2019-12-19 | 2021-06-22 | 华为技术有限公司 | 一种收发数据的方法及装置 |
-
2022
- 2022-05-13 CN CN202210524456.2A patent/CN114978986B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118434A (zh) * | 2010-12-28 | 2011-07-06 | 华为技术有限公司 | 数据包传输方法和设备 |
WO2017097201A1 (zh) * | 2015-12-09 | 2017-06-15 | 华为技术有限公司 | 一种数据传输方法、发送装置及接收装置 |
CN106856457A (zh) * | 2015-12-09 | 2017-06-16 | 华为技术有限公司 | 一种数据传输方法、发送装置及接收装置 |
CN106230744A (zh) * | 2016-07-26 | 2016-12-14 | 京信通信系统(中国)有限公司 | 一种数据流乱序重组的方法及转发设备 |
WO2018107379A1 (zh) * | 2016-12-14 | 2018-06-21 | 深圳中兴力维技术有限公司 | 告警同步的方法及装置 |
CN109428801A (zh) * | 2017-08-23 | 2019-03-05 | 北京华为数字技术有限公司 | 报文发送方法及装置 |
CN111654447A (zh) * | 2018-01-16 | 2020-09-11 | 华为技术有限公司 | 一种报文传输的方法及装置 |
CN113014498A (zh) * | 2019-12-19 | 2021-06-22 | 华为技术有限公司 | 一种收发数据的方法及装置 |
Non-Patent Citations (1)
Title |
---|
MPSSF:一种低失序的缓存转发移动切换方案;郑建立, 王雪平, 张根度;计算机研究与发展(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114978986A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3058687B1 (en) | Configurable service proxy mapping | |
US10931580B2 (en) | Packet processing method and network device | |
EP3343846B1 (en) | Method, device and system for processing packet | |
JP2021530912A (ja) | ネットワークスライス制御方法及び装置、コンピュータ読み取り可能な記憶媒体 | |
CN108768866B (zh) | 组播报文跨卡转发方法、装置、网络设备及可读存储介质 | |
CN110505152B (zh) | 路由过滤方法、装置及电子设备 | |
EP3190754A1 (en) | Method and apparatus for processing modified packet | |
EP4009596A1 (en) | Message forwarding method, device, and system in sr network | |
US20240106751A1 (en) | Method and apparatus for processing detnet data packet | |
CN106713144A (zh) | 一种报文出口信息的读写方法及转发引擎 | |
CN103685032B (zh) | 报文转发方法及网络地址转换服务器 | |
EP3879757A1 (en) | Network traffic steering among cpu cores using forwarding path elements | |
US20230006937A1 (en) | Packet flow identification with reduced decode operations | |
CN114978986B (zh) | 一种数据传输方法、装置及存储介质 | |
EP3836495B1 (en) | Communication method and communication device | |
CN111131022B (zh) | 一种业务流处理方法及装置 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
WO2021052381A1 (zh) | 报文的发送方法和装置 | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
CN113765809A (zh) | Bier组播流量的统计方法、设备以及系统 | |
US20230115034A1 (en) | Packet verification method, device, and system | |
CN110545240B (zh) | 基于分布式聚合系统的标签转发表的建立及报文转发方法 | |
EP3942751B1 (en) | Method and system for processing network traffic using expanded labels | |
CN111565141B (zh) | 数据传输方法、第一pe和第二pe | |
WO2023169364A1 (zh) | 路由生成方法、数据报文的转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |