数据报文去重与传输方法、电子设备及存储介质转让专利

申请号 : CN202110287932.9

文献号 : CN113055127B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈晓彬

申请人 : 网宿科技股份有限公司

摘要 :

本发明公开了一种数据报文去重与传输方法、电子设备及存储介质,解决了现有的数据报文去重方法适应性差的问题,该数据报文去重方法,包括:接收端接收数据报文,确定数据报文的类型和数据报文长度;根据数据报文的类型获取数据报文的识别特征;在本地记录中查找所述数据报文所属的数据流标识和所述数据报文长度对应的去重依据信息,其中,本地记录中存储有数据流标识、数据报文长度与去重依据信息的对应关系;当确定查找到所述去重依据信息时,将获取的数据报文的识别特征与查找到的去重依据信息进行比对,获得比对结果;当根据比对结果确定需要对数据报文进行去重处理时,丢弃所述数据报文。

权利要求 :

1.一种数据报文去重方法,其特征在于,包括:接收端接收数据报文,确定所述数据报文的类型以及所述数据报文长度;

根据所述数据报文的类型,获取所述数据报文的识别特征,所述识别特征用于识别所述数据报文是否为重复报文;

在本地记录中查找所述数据报文所属的数据流标识和所述数据报文长度对应的去重依据信息,所述去重依据信息中记录有数据报文的识别特征;

当确定在所述本地记录中查找到所述去重依据信息时,将获取的所述数据报文的识别特征与查找到的所述去重依据信息进行比对;

当根据比对结果确定需要对所述数据报文进行去重处理时,则丢弃所述数据报文。

2.如权利要求1所述的方法,其特征在于,还包括:当确定在所述本地记录中未查找到所述去重依据信息时,在所述本地记录中创建所述数据报文所属的数据流标识和所述数据报文长度与新增去重依据信息的对应关系,其中所述新增去重依据信息包含所述数据报文的识别特征。

3.如权利要求1或2所述的方法,其特征在于,如果所述数据报文的类型为指定类型,所述识别特征包括校验和,或者校验和以及特定字段的数据内容;如果所述数据报文的类型为非指定类型,所述识别特征包括所述数据报文对应的数字指纹。

4.如权利要求3所述的方法,其特征在于,通过以下方式确定所述数据报文所属的数据流标识:

当确定所述数据报文的类型为所述指定类型时,获取所述数据报文的五元组信息,计算所述五元组信息的哈希值,将所述五元组信息的哈希值作为所述数据报文所属的数据流标识;

当确定所述数据报文的类型为所述非指定类型时,获取所述数据报文对应的源IP和目的IP信息,计算所述源IP和目的IP信息的哈希值,将所述数据报文对应的源IP和目的IP信息的哈希值作为所述数据报文所属的数据流标识。

5.如权利要求1所述的方法,其特征在于,所述将获取的所述数据报文的识别特征与查找到的所述去重依据信息进行比对,具体包括:确定所述去重依据信息中是否包含所述数据报文的识别特征,若包含,则比对结果为所述数据报文为重复报文;若不包含,则比对结果为所述数据报文不是重复报文。

6.如权利要求5所述的方法,其特征在于,还包括:所述去重依据信息中的每一个识别特征设置有效时长;

当确定所述去重依据信息的生存时间超出所述有效时长时,则将所述去重依据信息从所述本地记录中删除;或者,

当确定所述去重依据信息包含所述数据报文的识别特征时,确定所述去重依据信息中的所述识别特征的生存时间是否超出所述有效时长,若超出,则比对结果为所述数据报文不是重复报文。

7.如权利要求6所述的方法,其特征在于,还包括:在确定所述去重依据信息中的所述识别特征的生存时间超出所述有效时长后,更新所述去重依据信息中的所述识别特征对应的记录。

8.如权利要求5所述的方法,其特征在于,还包括:若所述去重依据信息中不包含所述数据报文的识别特征,则在所述去重依据信息中新增所述数据报文的识别特征记录,并为其设置有效时长。

9.一种数据报文传输方法,其特征在于,包括:发送端将数据报文复制后发送至同一接收端;

所述接收端利用如权利要求1~7任一项所述的数据报文去重方法对接收到的数据报文进行去重处理;

所述接收端当确定所述数据报文不是重复数据报文时,对所述数据报文进行转发或响应。

10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8任一项所述的数据报文去重方法或者如权利要求9所述的数据报文传输方法。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8任一项所述的数据报文去重方法或者如权利要求9所述的数据报文传输方法中的步骤。

说明书 :

数据报文去重与传输方法、电子设备及存储介质

技术领域

[0001] 本发明涉及网络技术领域,尤其涉及数据报文去重与传输方法、电子设备及存储介质。

背景技术

[0002] 在网络数据传输过程中,为了保证数据传输的可靠性,避免接收端无法接收到数据,通常会在发送前对待传输的数据报文进行报文复制(Packet Duplication),并将该些
数据报文一并发送至接收端,由于传输过程中的丢包率是一定存在的,通过发送多个相关
数据报文可降低接收端无法接收到该数据报文的概率,从而提高数据传输的可靠性,基于
此,对于接收端来说,可能会接收到多个相同的数据报文,那么相应的,就需要对接收到的
数据报文进行去重处理,以避免对相同数据报文重复处理而出现的问题,如数据提交异常、
占用设备资源等。
[0003] 目前,常用的数据报文去重方法中,需要发送端为数据报文添加标识(ID,Identity document),相同的数据报文的标识相同,不同的数据报文则标识不同;接收端在
接收到数据报文后,针对相同标识的数据报文,对于首次接收到的该标识的数据报文进行
放行,对于非首次接收到的该标识的数据报文进行丢弃,从而实现数据报文的复制与去重。
[0004] 上述数据报文去重方式中,发送端需要对每个数据报文进行标识的标注,不仅耗费发送端的处理资源,还需要对发送端进行改造,对于网络服务提供商来说,发送端一般包
含客户端的设备,该些客户端设备可能处理性能有限,无法实现对大量数据报文的标准处
理,也可能不对外开放权限,无法对其进行改造,可见,现有的方法无法适用这些场景,存在
局限性,无法灵活适配各种应用场景。

发明内容

[0005] 为了解决现有的数据报文去重方法适应性差的问题,本发明实施例提供了一种数据报文去重与传输方法、电子设备及存储介质。
[0006] 第一方面,本发明实施例提供了一种数据报文去重方法,包括:
[0007] 接收端接收数据报文,确定所述数据报文的类型以及所述数据报文长度;
[0008] 根据所述数据报文的类型,获取所述数据报文的识别特征,所述识别特征用于识别所述数据报文是否为重复报文;
[0009] 在保存的本地记录中查找所述数据报文所属的数据流标识和所述数据报文长度对应的去重依据信息;
[0010] 当确定在所述本地记录中查找到所述去重依据信息时,将获取的所述数据报文的识别特征与查找到的所述去重依据信息进行比对;
[0011] 当根据比对结果确定需要对所述数据报文进行去重处理时,则丢弃所述数据报文。
[0012] 本发明实施例提供的数据报文去重方法,接收端可直接基于数据报文原有内容特性:类型、数据流标识、数据报文长度及识别特征,来对其进行去重判断和处理,无需发送端
对数据报文进行任何修改,相比于现有技术,大大降低了对发送端的性能和权限要求,适应
性更强。
[0013] 可选地,所述方法,还包括:
[0014] 当确定在所述本地记录中未查找到所述去重依据信息时,在所述本地记录中创建所述数据报文所属的数据流标识和所述数据报文长度与新增去重依据信息的对应关系,其
中所述新增去重依据信息包含所述数据报文的识别特征。
[0015] 上述可选的实施方式中,如果在保存的本地记录中未查找所述数据报文所属的数据流和所述数据报文长度对应的去重依据信息,则表明接收端第一次接收到所述数据报
文,则提取第一次接收的该数据报文的识别特征作为新增去重依据信息,建立所述数据报
文所属的数据流标识和所述数据报文长度与新增去重依据信息的对应关系,将该对应关系
记录进本地记录中,用于对后续数据报文的识别。
[0016] 较佳地,如果所述数据报文的类型为指定类型,所述识别特征包括校验和,或者校验和以及特定字段的数据内容;如果所述数据报文的类型为非指定类型,所述识别特征包
括所述数据报文对应的数字指纹。
[0017] 上述较佳的实施方式中,当数据报文的类型为指定类型时,则获取的数据报文的识别特征为数据报文的校验和,或者获取的数据报文的识别特征为数据报文的校验和以及
特定字段的数据内容,当数据报文的类型为非指定类型(即除上述指定类型以外的其他类
型)时,则获取的数据报文的识别特征包括数据报文对应的数字指纹。也就是说,接收端在
接收到数据报文后,可以根据数据报文的类型确定识别特征。由于网络中绝大部分的数据
报文是都具有校验和字段类型的数据报文,如TCP(Transmission Control Protocol,传输
控制协议)报文、UDP(User Datagram Protocol,用户数据报协议)报文、ICMP(Internet 
Control Message Protocol,Internet控制消息协议)报文,一般而言,不同数据报文的校
验和不相同,因此,可直接提取数据报文中的校验和作为该数据报文的识别特征,可以理解
的是,在一些特殊的情况下,不同数据报文的校验和也可能相同,因此单纯以校验和作为识
别特征,也可能会出现误判的情况,较佳的,为了进一步提升识别准确性,还可结合数据报
文中特定字段的内容与校验和一同作为识别特征。针对极少不具有校验和的数据报文,则
通过对数据报文计算得到对应的数字指纹作为识别特。由于数字指纹的计算需要耗费大量
的CPU等性能资源,相比而言,校验和以及特定字段内容的提取耗费的资源小很多,因此,可
较大地节约CPU资源开销,提高接收端去重效率。
[0018] 较佳地,通过以下方式确定所述数据报文所属的数据流标识:
[0019] 当确定所述数据报文的类型为所述指定类型时,获取所述数据报文的五元组信息,计算所述五元组信息的哈希值,将所述五元组信息的哈希值作为所述数据报文所属的
数据流标识;
[0020] 当确定所述数据报文的类型为所述非指定类型时,获取所述数据报文对应的源IP和目的IP信息,计算所述源IP和目的IP信息的哈希值,将所述数据报文对应的源IP和目的
IP信息的哈希值作为所述数据报文所属的数据流标识。
[0021] 上述较佳的实施方式中,针对指定类型的数据报文(如TCP报文、UDP报文或者ICMP报文),以所述数据报文的五元组信息的哈希值作为所述数据报文的数据流标识,来标识所
述数据报文所属的数据流,本地记录中的数据流标识记录的即为数据报文的五元组信息的
哈希值,由于五元组信息的哈希值相比于五元组信息占用内存较少,因此,相比于直接以数
据报文的五元组信息来标识数据报文所属的数据流,可以节约内存。针对除指定类型之外
的其他类型的数据报文,以所述数据报文的源IP和目的IP信息的哈希值作为所述数据报文
所属的数据流标识,来标识所述数据报文所属的数据流,本地记录中的数据流信息记录的
即为数据报文的源IP和目的IP信息的哈希值,相比于直接以数据报文的源IP和目的IP信息
来标识数据报文所属的数据流,节约了内存。
[0022] 较佳地,所述将获取的所述数据报文的识别特征与查找到的所述去重依据信息进行比对,具体包括:
[0023] 确定所述去重依据信息中是否包含所述数据报文的识别特征,若包含,则比对结果为所述数据报文为重复报文;若不包含,则比对结果为所述数据报文不是重复报文。
[0024] 可选地,所述方法,还包括:所述去重依据信息中的每一个识别特征设置有效时长;
[0025] 当确定所述去重依据信息的生存时间超出所述有效时长时,则将所述去重依据信息从所述本地记录中删除;或者,
[0026] 当确定所述去重依据信息包含所述数据报文的识别特征时,确定所述去重依据信息中的所述识别特征的生存时间是否超出所述有效时长,若超出,则比对结果为所述数据
报文不是重复报文。
[0027] 上述可选的实施方式中,为去重依据信息中的每一识别特征设置有效时长,当去重依据信息的生存时间超出该有效时长时,则将该去重依据信息从本地记录中删除,不再
将其作为去重的依据,从而节约内存资源;或者,如果该去重依据信息包含数据报文的识别
特征时,如果该去重依据信息中的所述识别特征的生存时间超出该有效时长,则判定数据
报文不是重复报文,之所以设置该有效时长,是由于在正常的网络传输过程中,对于被标定
的某一条数据流,由于有效时长(如可以为200ms)的限制,该有效时长内的数据报文数量相
对会较少,因此,在较少的数据报文数量内,由于校验和计算算法对同一条数据流不同的数
据报文计算出同样校验和值的概率,或者对同一条数据流不同的数据报文的数据部分计算
出的相同数字指纹的概率可以认为微乎其微,因此,对这些识别特征设置有效时长,进一步
提高了数据报文去重的准确率。
[0028] 可选地,所述方法,还包括:
[0029] 在确定所述去重依据信息中的所述识别特征的生存时间超出所述有效时长后,更新所述去重依据信息中的所述识别特征对应的记录。
[0030] 可选地,所述方法,还包括:
[0031] 若所述去重依据信息中不包含所述数据报文的识别特征,则在所述去重依据信息中新增所述数据报文的识别特征记录,并为其设置有效时长。
[0032] 第二方面,本发明实施例提供了一种数据报文传输方法,包括:
[0033] 发送端将数据报文复制后发送至同一接收端;
[0034] 所述接收端利用本发明实施例提供的数据报文去重方法对接收到的数据报文进行去重处理;
[0035] 所述接收端当确定所述数据报文不是重复数据报文时,对所述数据报文进行转发或响应。
[0036] 本发明提供的数据报文传输方法的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
[0037] 第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明
所述的数据报文去重方法或者数据报文传输方法。
[0038] 第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的数据报文去重方法或者数据报文传输方法中
的步骤。
[0039] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明
书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

[0040] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0041] 图1为本发明实施例提供的数据报文去重方法的一个应用场景示意图;
[0042] 图2为本发明实施例提供的数据报文去重方法的实施流程示意图;
[0043] 图3(a)为TCP报文的报文格式图;
[0044] 图3(b)为UDP报文的报文格式图;
[0045] 图3(c)为ICMP报文的报文格式图;
[0046] 图4为本发明实施例提供的数据报文传输方法的实施流程示意图;
[0047] 图5为本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0048] 为了解决背景技术中的问题,本发明实施例提供了一种数据报文去重与传输方法、电子设备及存储介质。
[0049] 以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发
明中的实施例及实施例中的特征可以相互组合。
[0050] 首先参考图1,其为本发明实施例提供的数据报文去重方法的一个应用场景示意图,所述数据报文去重方法可以应用于SD‑WAN(Software‑Defined WAN,软件定义广域网)
网络系统中,在该网络架构中可以包括源端设备(如客户端设备)、源端接入设备、中转节
点、目的端接入设备和目的端设备。
[0051] 源端设备和目的端设备可以是客户的终端设备,例如,用户计算机、手机、平板电脑、应用服务器等,其中,源端和目的端用于标识在一次数据收发过程中的数据发送端和数
据接收端。
[0052] 源端接入设备和目的端接入设备可以为SD‑WAN网络服务提供商部署在客户局域网内的CPE(Customer Premise Equipment)设备,为其所在区域网络内的用户提供接入服
务。其中,源端接入设备可用于将所在局域网内用户发送的数据报文转发至由中转节点设
备构建的加速网络中,目的端接入设备可用于将来自加速网络的数据反馈给所在局域网内
的用户,可以理解的是源端和目的端用于标识在一次数据收发过程中的数据发送和数据接
收端,一个具体的接入设备既可以是源端接入设备,也可以是目的端接入设备。
[0053] 中转节点设备可以是网络服务提供商布设在各地的服务设备,用于构建加速网络,对传输至加速网络内的数据报文进行转发,如POP(point‑of‑presence)设备。
[0054] 在一个示例中,源端设备可根据用户操作生成发往目的端设备的数据报文,数据报文先后经由源端接入设备,加速网络中的中转节点设备,目的端接入设备到目的端设备,
本实施例中以源端接入设备作为报文复制的发送端,目的端接入设备为报文去重的接收端
为例,进行说明。
[0055] 其中,源端接入设备可将数据报文复制成至少两份后发送至目的端接入设备,其中该些数据报文可以是基于同一传输线路发送的,较佳的,为了进一步提升数据传输的服
务质量,该些数据报文可分别基于不同的线路,例如,如图1中所示,复制后得到的数据报文
可分别经由网络路径1和网络路径2发送至目的端接入设备,其中,网络路径1和网络路径2
可以为两条VPN(Virtual Private Network,虚拟专用网络)隧道,以保证数据传输的安全
性,目的端接入设备可将接收到的数据报文进行去重处理后发送至相应的目的端设备。可
以理解的是,当复制后得到的相同报文数量较少时,可分别选用不同的网络路径来传输,但
若相同的数据报文数量较多,则可选择出固定数量的较优网络路径,分别用于传输对应数
量的数据报文,如将数据报文平均分配至对应的网络路径,或负载均衡策略,根据各网络路
径的负载情况,从该些网络路径中选择合适的。
[0056] 基于上述应用场景,下面将参照附图2~3(c)更详细地描述本发明的示例性实施例,可以理解的是,本发明实施例所提供的方法,可应用于上述数据传输过程中的任意两个
设备上,也可用于中转节点上,上述应用场景仅是为了便于理解本发明的精神和原理而示
出,本发明的实施方式在此不受任何限制。相反,本发明的实施方式可以应用于适用的任何
场景。
[0057] 如图2所示,其为本发明实施例提供的数据报文去重方法的实施流程示意图,所述数据报文去重方法可以包括以下步骤:
[0058] S11、接收端接收数据报文,确定所述数据报文的类型以及所述数据报文长度。
[0059] 具体实施时,在上述示例中,发送端即为源端接入设备,接收端即为目的端接入设备,目的端接入设备接收源端接入设备发送的数据报文后,确定所述数据报文的类型以及
所述数据报文长度。
[0060] 具体地,目的端接入设备可提取所述数据报文的协议字段中的协议号,协议字段标识出数据报文携带的数据是使用何种协议,根据协议号确定所述数据报文的类型,即携
带校验和以及不携带校验和的类型,例如:在已知的数据传输协议中,协议号为1,则表示所
述数据报文为ICMP报文,协议号为6,则表示所述数据报文为TCP报文,协议号为17,则表示
所述数据报文为UDP报文等,该些协议的数据报文中均携带有校验和。
[0061] S12、根据所述数据报文的类型,获取所述数据报文的识别特征,所述识别特征用于识别所述数据报文是否为重复报文。
[0062] 具体实施时,如果所述数据报文的类型为指定类型,所述识别特征包括校验和,或者校验和以及特定字段的数据内容;如果所述数据报文的类型为非指定类型,所述识别特
征包括所述数据报文对应的数字指纹。
[0063] 其中,所述指定类型为数据报文具有校验和字段的类型,可以包括:TCP报文、UDP报文或者ICMP报文,非指定类型的数据报文为上述指定类型之外的其他类型的数据报文,
即:除了TCP报文、UDP报文和ICMP报文之外的其他类型的数据报文,例如:GRE(General 
Routing Encapsulation,通用路由封装)报文、ESP(Encapsulating Security Payloads,
封装安全载荷)报文、AH(Authentication Header protocol,认证头协议)报文,DCCP
(Datagram Congestion Control Protocol,数据包拥塞控制协议)报文等,所述特定字段
为数据报文的数据字段。
[0064] 具体地,在一实施中,目的端接入设备当确定接收的所述数据报文的类型TCP报文、UDP报文或者ICMP报文时,可获取所述数据报文的校验和字段中的校验和值作为该数据
报文的识别特征。如图3(a)、3(b)、3(c)所示,分别为TCP报文的报文格式示意图、UDP报文的
报文格式示意图和ICMP报文的报文格式示意图,TCP报文、UDP报文和ICMP报文的首部均包
含有校验和字段,校验和是由发送端计算并存储,由接收端验证,其目的是为了发现数据报
文首部和数据内容在发送端和接收端之间发生的任何变动(错误)。源端设备计算校验和并
将其作为字段设置在数据报文中,目的端再次计算校验和,并与数据报文校验和字段中的
校验和值进行交叉校验,检测数据报文是否正常,校验和是根据数据报文首部加数据部分
计算得出的值,通常,如果数据报文首部或其数据部分存在一定的差异,计算出的校验和值
也不相同。因此,可基于数据报文中携带的校验和作为该数据报文的识别特征。
[0065] 然而在实际应用过程中,发明人发现偶然存在不同数据报文的校验和相同的情况。
[0066] 针对不同数据报文校验和值相同的情况,在另一实施中,为了更准确的对数据报文进行识别,可进一步获取数据报文的特定字段的数据内容,并与校验和一并作为数据报
文的识别特征。其中,特定字段是预先设置的,例如可以设置数据字段的第1个字节和第m个
字节,本发明实施例对此不作限定。基于此,可同时基于校验和以及特定字段的数据内容对
数据报文进行识别,可进一步提升识别的准确性,同时,由于特定字段的数据内容可以直接
获取,无需进一步计算即可获得,因此不会耗费太多的性能资源。
[0067] 站在时间窗口的维度来看,在正常的网络传输过程中,对于被标定的某一条数据流(如根据五元组:源IP、目的IP、源端口、目的端口及协议号识别为一条流),若选取一定的
时间窗口(如200ms或者其它相对较小的时间),由于时间窗口的限制,该时间窗口内的数据
报文数量相对会较少,因此,在较少的数据报文数量内,由于校验和计算算法对同一条数据
流不同的数据报文计算出同样校验和值的概率可以认为微乎其微,同时,由于基于某条数
据流的范围内看待校验和值,不存在不同数据流的数据报文其校验和值相同带来的干扰,
因此,本发明实施例中,对于时间窗口内的TCP报文、UDP报文、ICMP报文可以以校验和作为
对应数据流的数据报文的去重依据,为了提高去重准确性,减少误判,可以同时记录数据报
文的若干数据部分特征(如记录数据报文的数据字段第1字节和第m字节处的数据内容),如
果对应数据流的数据报文长度一样(长度不一样的,不可能是被复制的数据报文),且携带
的校验和及数据部分特征信息相同的,则认为是重复的被复制的数据报文,目的端接入设
备可以丢弃该重复数据报文。
[0068] 当确定所述数据报文的类型为非指定类型时,即数据报文中未携带校验和时,则根据预设指纹算法计算所述数据报文对应的数字指纹,预设指纹算法可以但不限于为MD5
算法、SHA等指纹算法,本发明实施例对此不作限定,具体可基于数据报文的全部内容进行
计算,也可选择部分关键内容进行计算,以节省性能资源。
[0069] S13、在保存的本地记录中查找所述数据报文所属的数据流标识和所述数据报文长度对应的去重依据信息。
[0070] 具体地,可以通过以下方式基于所述数据报文的类型确定所述数据报文所属的数据流标识:
[0071] 当确定所述数据报文的类型为所述指定类型时,获取所述数据报文的五元组信息,计算所述五元组信息的哈希值,将所述五元组信息的哈希值作为所述数据报文所属的
数据流标识,其中,五元组包括:源IP、目的IP、源端口、目的端口和协议号。
[0072] 当确定所述数据报文的类型为所述非指定类型时,获取所述数据报文对应的源IP和目的IP信息,计算所述源IP和目的IP信息的哈希值,将所述数据报文对应的源IP和目的
IP信息的哈希值作为所述数据报文所属的数据流标识。本发明实施例对使用的哈希算法不
作限定。
[0073] 在以太网里数据报文长度有限(一般情况下最多为1500字节),因此,可以在数据流的范围里面,进一步直接以数据报文长度为索引,根据数据报文长度去查找对应的去重
依据信息,进一步提高了查找效率。
[0074] 具体地,目的端接入设备在本地记录中查找接收的所述数据报文所属的数据流标识和所述数据报文长度对应的去重依据信息,以确定本地是否已记录有所述数据流标识和
报文长度对应的去重依据信息,从而对是否已接收到与该数据报文相同的数据报文进行第
一次判断,若未查找到对应的去重依据信息,则说明先前并未接收到与该数据报文所述数
据流相同且报文长度也相同的数据报文,那么可直接确定该数据报文不是重复报文,同时
在本地记录中创建所述数据报文所属的数据流标识和所述数据报文长度与新增去重依据
信息的对应关系,其中所述新增去重依据信息包含所述数据报文的识别特征。
[0075] 若查找的对应的去重依据信息,则需要进入下一步骤进行进一步的确认。
[0076] S14、当确定在所述本地记录中查找到所述去重依据信息时,将获取的所述数据报文的识别特征与查找到的所述去重依据信息进行比对。
[0077] 具体实施时,目的端接入设备可在本地维护一个去重依据信息列表,用于记录已接收到的非重复数据报文的信息,所述去重依据信息列表中存储有数据流标识、数据报文
长度与去重依据信息的对应关系,其中,所述去重依据信息中记录有数据报文的识别特征,
可以理解的是,来自同一数据流的数据报文会存在报文长度也相同的情况,因此,去重依据
信息中可记录有多个识别特征。
[0078] 较佳地,由于报文重传都具有传输时效,即重复发送的报文会集中在一个时间区间,超出该时间区间,数据报文的识别特征就应该失效,因此,还可以为所述去重依据信息
中的每一识别特征设置有效时长,同时还可以记录数据报文的接收时间,以便于有效时长
结合判断该识别特征是否有效。具体地,在去重依据信息中添加识别特征时,可同时为该识
别特征设置有效时长。本发明实施例中,所述有效时长可以根据报文传输的时间规律进行
设定,即根据各网络线路的时延来确定,有效时长一般大于各网络线路中的最大时延。本发
明实施例对此不作限定。
[0079] 举例而言,去重依据信息列表格式可以为以下形式:
[0080] 数据流A:
[0081] 数据报文长度1:(<校验和1,特定字段的数据内容1><数据报文接收时间1><有效时长>;<校验和2,特定字段的数据内容2><数据报文接收时间2><有效时长>;……)
[0082] ……
[0083] 数据报文长度N:(<校验和1,特定字段的数据内容1><数据报文接收时间1><有效时长>;<校验和2,特定字段的数据内容2><数据报文接收时间2><有效时长>;……)
[0084] 数据流B:
[0085] 数据报文长度1:(<数字指纹1><数据报文接收时间1><有效时长>;<数字指纹2><数据报文接收时间2><有效时长>;……)
[0086] ……
[0087] 数据报文长度M:(<数字指纹3><数据报文接收时间3><有效时长>;<数字指纹4><数据报文接收时间4><有效时长>;……)
[0088] ……
[0089] 在一实施中,当确定在所述去重依据信息列表中查找到所述数据报文所属的数据流标识和所述数据报文长度对应的去重依据信息时,可将获取到的所述数据报文的识别特
征与该去重依据信息中的识别特征进行比对,如果在去重估依据信息中查找到该识别特
征,则可确定所述数据报文为重复报文;否则,则可确定所述数据报文不是重复报文,在所
述去重依据信息中新增该识别特征的相应记录。
[0090] 在一较佳实施方式中,在去重依据信息中查找到所述数据报文的识别特征时,还可以进一步基于去重依据信息中记录的该识别特征对应的数据报文接收时间、有效时长,
以及当前时间判断该识别特征是否已过期,即确定所述去重依据信息中的所述识别特征的
生存时间是否超出所述有效时长,若已过期,则可确定所述数据报文不是重复报文,同时,
更新记录中的数据报文接收时间为接收所述数据报文的时间。具体实施时,可以根据所述
数据报文的当前接收时间与查找到的所述去重依据信息中的所述识别特征对应的数据报
文接收时间的差值,确定去重依据信息中的所述识别特征的生存时间,如果该生存时间超
出设置的有效时长,则所述数据报文不是重复报文。
[0091] 在较优的实施方式中,为了进一步记录查询速率以及节省存储空间,目的端接入设备可周期性对去重信息列表中的记录进行有效性判断,当确定所述去重依据信息中的识
别特征的生存时间超出所述有效时长时,则将所述识别特征从所述去重依据信息中删除,
而当去重依据信息中无记录时,可将该去重依据信息及对应的记录从列表中进行删除,以
缩减列表内容,并释放存储空间。值得注意的是,本发明实施例中,若采用删除的方式对去
重依据信息进行管理,那么在确定去重依据信息中是否存在对应的识别特征时,若确定有
对应的识别特征,即可确定所述数据报文为重复报文,从而节省比对时间,提升处理效率。
[0092] S15、当根据比对结果确定需要对所述数据报文进行去重处理时,则丢弃所述数据报文。
[0093] 具体实施时,如果目的端接入设备获取的所述数据报文为重复报文,则确定需要对所述数据报文进行去重处理,丢弃该数据报文,如果所述数据报文不是重复报文,则目的
端接入设备对所述数据报文转发至相应的目的端设备,或者对所述数据报文进行响应。
[0094] 基于同一发明构思,本发明实施例还提供了一种数据报文传输方法,由于上述数据报文传输方法解决问题的原理与数据报文去重方法相似,因此上述数据报文传输方法中
的对数据报文去重部分的实施可以参见数据报文去重方法的实施,重复之处不再赘述。
[0095] 如图4所示,其为本发明实施例提供的数据报文传输方法的实施流程示意图,所述数据报文传输方法,可以包括以下步骤:
[0096] S21、发送端将数据报文复制后通过至少两条网络线路发送至同一接收端。
[0097] 具体地,发送端在将数据报文发送前,可根据预先配置的复制规则,对数据报文进行复制,从而生成多个相同的数据报文,其中发送端可基于同一传输线路将该些相同的数
据报文发送至接收端,较佳的,为了避免单一线路发生故障,可选取多条线路用于对该些数
据报文进行传输,使得该些数据报文通过不同的网络线路传输至同一接收端。
[0098] S22、接收端利用数据报文去重方法对接收到的数据报文进行去重处理。
[0099] 具体实施时,目的端接入设备利用本发明实施例提供的上述数据报文去重方法对接收到的数据报文进行去重处理,此处不作赘述。
[0100] S23、接收端当确定所述数据报文不是重复数据报文时,对所述数据报文进行转发或响应。
[0101] 具体地,目的端接入设备当确定所述数据报文不是重复数据报文时,将所述数据报文转发至相应的目的端设备,或者,目的端接入设备对所述数据报文进行响应。
[0102] 其中,确定所述数据报文是否为重复报文的具体实施方式参见本发明实施例提供的所述数据报文去重方法中的实施,此处不再赘述。
[0103] 基于同一技术构思,本发明实施例还提供了一种电子设备300,参照图5所示,电子设备300用于实施上述方法实施例记载的数据报文去重方法或者数据报文传输方法,该实
施例的电子设备300可以包括:存储器301、处理器302以及存储在所述存储器中并可在所述
处理器上运行的计算机程序,例如数据报文去重程序或者数据报文传输程序。所述处理器
执行所述计算机程序时实现上述各个数据报文去重方法实施例中的步骤,例如图2所示的
步骤S11,或者所述处理器执行所述计算机程序时实现上述数据报文传输方法实施例中的
步骤,例如图4所示的步骤S21。
[0104] 本发明实施例中不限定上述存储器301、处理器302之间的具体连接介质。本申请实施例在图5中以存储器301、处理器302之间通过总线303连接,总线303在图5中以粗线表
示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线303可以分为
地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有
一根总线或一种类型的总线。
[0105] 存储器301可以是易失性存储器(volatile memory),例如随机存取存储器(random‑access memory,RAM);存储器301也可以是非易失性存储器(non‑volatile 
memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固
态硬盘(solid‑state drive,SSD)、或者存储器301是能够用于携带或存储具有指令或数据
结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器301
可以是上述存储器的组合。
[0106] 处理器302,用于实现如图2所示的一种数据报文去重方法,或者,所述处理器302,用于实现如图4所示的一种数据报文传输方法。
[0107] 本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
[0108] 在一些可能的实施方式中,本发明提供的数据报文去重方法或者数据报文传输方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电
子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明
各种示例性实施方式的数据报文去重方法或者数据报文传输方法中的步骤。
[0109] 本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产
品的形式。
[0110] 本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0111] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0112] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0113] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优
选实施例以及落入本发明范围的所有变更和修改。
[0114] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围
之内,则本发明也意图包含这些改动和变型在内。