一种网络拼包的方法及装置与流程

文档序号:22506092发布日期:2020-10-13 09:43阅读:1108来源:国知局
一种网络拼包的方法及装置与流程

本发明涉及网络数据传输技术领域,特别涉及一种网络拼包的方法及装置。



背景技术:

目前,随着网络信息技术的高速发展,网络的速度越来越快,但是作为在网络上传输的基本单元【数据包】,受网络数据传输的链路层的制约,存在传输限制【最大传输单元mtu】;如何充分利用链路是亟需解决的问题,是提高数据传输效率的关键手段之一。



技术实现要素:

本发明目的之一在于提供了一种网络拼包的方法,实现数据包的拼包,进而使链路得到充分利用,提高数据传输的效率。

本发明实施例提供的一种网络拼包的方法,包括:

步骤s1:对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;

步骤s2:解析每个第二数据包,分别获取每个第二数据包的第一标识;

步骤s3:基于第一标识;对第二数据包进行拼包处理。

优选的,步骤s1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:

确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。

优选的,步骤s2:解析每个第二数据包,分别获取每个第二数据包的第一标识,具体包括:

基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;

或,

确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;

或,

计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;

或,

基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;

步骤s3:基于第一标识;对第二数据包进行拼包处理,具体包括:

按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;

其中,预设提取规则包括:提取n个数据,n大于等于2;

基于各个关键词的数量确定第二数据包的优先值,包括:

获取第二数据包中包含的关键词表中第个关键词的数量,以及对应的权重;采用如下公式计算优先值

其中,表示关键词表中关键词的个数。

优选的,步骤s2:解析每个第二数据包,分别获取每个第二数据包的第一标识;具体包括:

步骤s21:依次提取任一第二数据包作为第一基准数据包,

步骤s22:将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;

步骤s23:将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;

步骤s24:基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:

其中,表示第个第二数据包作为第一基准数据包的适配度;表示第个第二数据包对应第一基准数据包的第一长度;表示第个第二数据包对应第一基准数据包的第二长度;表示第二数据包的数量;

步骤s25:以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;

步骤s3:基于第一标识;对第二数据包进行拼包处理,具体包括:

以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。

优选的,步骤s1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:

依次提取任一第一数据包为第二基准数据包;

计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:

其中,x表示相似度,为未提取的第一数据包的第个特征值;表示未提取的第一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第二基准数据包的第个特征值的权重;m表示其他的未提取的第一数据包和第二基准数据包中特征值的个数;

统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;

比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。

本发明还提供一种网络拼包的装置,包括:

筛选模块,用于对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;

第一标识确定模块,用于解析每个第二数据包,分别获取每个第二数据包的第一标识;

拼包模块,用于基于第一标识;对第二数据包进行拼包处理。

优选的,筛选模块执行包括如下操作:

确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。

优选的,第一标识确定模块,执行包括如下操作:

基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;

或,

确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;

或,

计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;

或,

基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;

拼包模块,执行包括如下操作:

按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;

其中,预设提取规则包括:提取n个数据,n大于等于2;

基于各个关键词的数量确定第二数据包的优先值,包括:

获取第二数据包中包含的关键词表中第个关键词的数量,以及对应的权重;采用如下公式计算优先值

其中,表示关键词表中关键词的个数。

优选的,第一标识确定模块,执行包括如下操作:

依次提取任一第二数据包作为第一基准数据包,

将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;

将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;

基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:

其中,表示第个第二数据包作为第一基准数据包的适配度;表示第个第二数据包对应第一基准数据包的第一长度;表示第个第二数据包对应第一基准数据包的第二长度;表示第二数据包的数量;

以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;

拼包模块,执行包括如下操作:

以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。

优选的,筛选模块,执行包括如下操作:

依次提取任一第一数据包为第二基准数据包;

计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:

其中,x表示相似度,为未提取的第一数据包的第个特征值;表示未提取的第一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第二基准数据包的第个特征值的权重;m表示其他的未提取的第一数据包和第二基准数据包中特征值的个数;

统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;

比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中一种网络拼包的方法的示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提供了一种网络拼包的方法,如图1所示,包括:

步骤s1:对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;

步骤s2:解析每个第二数据包,分别获取每个第二数据包的第一标识;

步骤s3:基于第一标识;对第二数据包进行拼包处理。

上述技术方案的工作原理及有益效果为:

首先,对于接受的数据包【第一数据包】进行筛选出符合拼包规则的数据包【第二数据包】,例如:对于达到最大传输单元mtu的数据包就无需进行拼包了;对筛选出的数据包进行解析,确定每个数据包对应的第一标识;然后以第一标识对第二数据包进行拼包;通过对筛选出来的数据包进行拼包,使拼包后的数据包接近最大传输单元限制;进而使链路得到充分利用,提高数据传输的效率。

在一个实施例中,步骤s1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:

确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。

上述技术方案的工作原理及有益效果为:

在对接收的第一数据包进行筛选时,主要依据数据包的数据长度、目的地址和数据格式;即当数据长度小于预设值【例如最大传输单元mtu的m分之一,m大于等于2】和/或目的地址为同一地址和/或数据格式为同一格式时,将第一数据包作为待拼包的第二数据包;本实施例通过接收的数据包进行初步筛选,筛选出适合拼包的数据包,为后续拼包操作提供数据基础。

在一个实施例中,步骤s2:解析每个第二数据包,分别获取每个第二数据包的第一标识,具体包括:

基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;

或,

确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;

或,

计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;

或,

基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;

步骤s3:基于第一标识;对第二数据包进行拼包处理,具体包括:

按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;

其中,预设提取规则包括:提取n个数据,n大于等于2;

基于各个关键词的数量确定第二数据包的优先值,包括:

获取第二数据包中包含的关键词表中第个关键词的数量,以及对应的权重;采用如下公式计算优先值

其中,表示关键词表中关键词的个数。

上述技术方案的工作原理及有益效果为:

本实施例中提供四种拼包的方法:一、关键词表法:采用预设的关键词对数据包进行关键词词提取,确定优先值,以优先值顺序对数据包进行排序拼包,在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符,通过前端的标识符与未拼包的数据包进行区分,即在接收端时,为拼包的数据包无需进行拆包处理;二、数据长度:以数据长度对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;三、哈希值:以哈希值大小对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;四、前后数据法:以第二数据包的前后两端数据作为拼接位置的标识,并且在拼包后的数据包前端设置标识符;通过四种方法可以实现数据包的拼包,使拼包后的数据包接近最大传输单元限制;并且需要注意拼包后的数据不能大于最大传输单元mtu;进而使链路得到充分利用,提高数据传输的效率。

在一个实施例中,步骤s2:解析每个第二数据包,分别获取每个第二数据包的第一标识;具体包括:

步骤s21:依次提取任一第二数据包作为第一基准数据包,

步骤s22:将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;

步骤s23:将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;

步骤s24:基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:

其中,表示第个第二数据包作为第一基准数据包的适配度;表示第个第二数据包对应第一基准数据包的第一长度;表示第个第二数据包对应第一基准数据包的第二长度;表示第二数据包的数量;

步骤s25:以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;

步骤s3:基于第一标识;对第二数据包进行拼包处理,具体包括:

以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。

上述技术方案的工作原理及有益效果为:

采用第一长度和第二长度的和值作为第一标识,在拼包时,除了第一位的数据包为完整的,其余的都可以进行第一长度和第二长度的数据省略,在拼接位置标示出第一长度和第二长度,实现了第一位之后的数据包的缩减,提高了第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输的效率。

在一个实施例中,步骤s1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:

依次提取任一第一数据包为第二基准数据包;

计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:

其中,x表示相似度,为未提取的第一数据包的第个特征值;表示未提取的第一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第二基准数据包的第个特征值的权重;m表示其他的未提取的第一数据包和第二基准数据包中特征值的个数;

统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;

比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。

上述技术方案的工作原理及有益效果为:

基于数据的相似度对接收的数据包进行筛选,确定可以拼包的数据包;因为越相似的数据,其存在前端和后端存在相同数据的长度就越长,就越容易进行数据包的缩减,从而实现了在拼包时,提高第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输效率。

本发明还提供一种网络拼包的装置,包括:

筛选模块,用于对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;

第一标识确定模块,用于解析每个第二数据包,分别获取每个第二数据包的第一标识;

拼包模块,用于基于第一标识;对第二数据包进行拼包处理。

上述技术方案的工作原理及有益效果为:

首先,筛选模块对于接受的数据包【第一数据包】进行筛选出符合拼包规则的数据包【第二数据包】,例如:对于达到最大传输单元mtu的数据包就无需进行拼包了;第一标识确定模块对筛选出的数据包进行解析,确定每个数据包对应的第一标识;然后拼包模块以第一标识对第二数据包进行拼包;通过对筛选出来的数据包进行拼包,使拼包后的数据包接近最大传输单元限制;进而使链路得到充分利用,提高数据传输的效率。

在一个实施例中,筛选模块执行包括如下操作:

确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;

和/或,

解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。

上述技术方案的工作原理及有益效果为:

在对接收的第一数据包进行筛选时,主要依据数据包的数据长度、目的地址和数据格式;即当数据长度小于预设值【例如最大传输单元mtu的m分之一,m大于等于2】和/或目的地址为同一地址和/或数据格式为同一格式时,将第一数据包作为待拼包的第二数据包;本实施例通过接收的数据包进行初步筛选,筛选出适合拼包的数据包,为后续拼包操作提供数据基础。

在一个实施例中,第一标识确定模块,执行包括如下操作:

基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;

或,

确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;

或,

计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;

或,

基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;

拼包模块,执行包括如下操作:

按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;

或,

在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;

其中,预设提取规则包括:提取n个数据,n大于等于2;

基于各个关键词的数量确定第二数据包的优先值,包括:

获取第二数据包中包含的关键词表中第个关键词的数量,以及对应的权重;采用如下公式计算优先值

其中,表示关键词表中关键词的个数。

上述技术方案的工作原理及有益效果为:

本实施例中提供四种拼包的方法:一、关键词表法:采用预设的关键词对数据包进行关键词词提取,确定优先值,以优先值顺序对数据包进行排序拼包,在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符,通过前端的标识符与未拼包的数据包进行区分,即在接收端时,为拼包的数据包无需进行拆包处理;二、数据长度:以数据长度对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;三、哈希值:以哈希值大小对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;四、前后数据法:以第二数据包的前后两端数据作为拼接位置的标识,并且在拼包后的数据包前端设置标识符;通过四种方法可以实现数据包的拼包,使拼包后的数据包接近最大传输单元限制;并且需要注意拼包后的数据不能大于最大传输单元mtu;进而使链路得到充分利用,提高数据传输的效率。

在一个实施例中,第一标识确定模块,执行包括如下操作:

依次提取任一第二数据包作为第一基准数据包,

将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;

将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;

基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:

其中,表示第个第二数据包作为第一基准数据包的适配度;表示第个第二数据包对应第一基准数据包的第一长度;表示第个第二数据包对应第一基准数据包的第二长度;表示第二数据包的数量;

以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;

拼包模块,执行包括如下操作:

以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。

上述技术方案的工作原理及有益效果为:

采用第一长度和第二长度的和值作为第一标识,在拼包时,除了第一位的数据包为完整的,其余的都可以进行第一长度和第二长度的数据省略,在拼接位置标示出第一长度和第二长度,实现了第一位之后的数据包的缩减,提高了第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输的效率。

在一个实施例中,筛选模块,执行包括如下操作:

依次提取任一第一数据包为第二基准数据包;

计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:

其中,x表示相似度,为未提取的第一数据包的第个特征值;表示未提取的第一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第二基准数据包的第个特征值的权重;m表示其他的未提取的第一数据包和第二基准数据包中特征值的个数;

统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;

比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。

上述技术方案的工作原理及有益效果为:

基于数据的相似度对接收的数据包进行筛选,确定可以拼包的数据包;因为越相似的数据,其存在前端和后端存在相同数据的长度就越长,就越容易进行数据包的缩减,从而实现了在拼包时,提高第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输效率。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1