公开/公告号CN107026713A
专利类型发明专利
公开/公告日2017-08-08
原文格式PDF
申请/专利权人 广东蜂助手网络技术股份有限公司;
申请/专利号CN201710158598.0
发明设计人 郑文伟;
申请日2017-03-17
分类号H04L1/00(20060101);
代理机构44228 广州市南锋专利事务所有限公司;
代理人李银惠
地址 510035 广东省广州市天河区龙口东横街28号丽柏国际酒店
入库时间 2023-06-19 02:58:05
法律状态公告日
法律状态信息
法律状态
2022-03-04
专利权质押合同登记的生效 IPC(主分类):H04L 1/00 专利号:ZL2017101585980 登记号:Y2022980001560 登记生效日:20220214 出质人:蜂助手股份有限公司 质权人:中国建设银行股份有限公司广州天河支行 发明名称:一种在网络通讯包粘连的情况下提高网络速度的方法 申请日:20170317 授权公告日:20180410
专利权质押合同登记的生效、变更及注销
2022-03-01
专利权质押合同登记的注销 IPC(主分类):H04L 1/00 授权公告日:20180410 申请日:20170317 专利号:ZL2017101585980 登记号:Y2020440000237 出质人:蜂助手股份有限公司 质权人:中国建设银行股份有限公司广州天河支行 解除日:20220214
专利权质押合同登记的生效、变更及注销
2019-05-28
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L1/00 变更前: 变更后: 申请日:20170317
专利权人的姓名或者名称、地址的变更
2018-04-10
授权
授权
2018-04-06
著录事项变更 IPC(主分类):H04L1/00 变更前: 变更后: 申请日:20170317
著录事项变更
2017-09-01
实质审查的生效 IPC(主分类):H04L1/00 申请日:20170317
实质审查的生效
2017-08-08
公开
公开
查看全部
技术领域
本发明涉及网络技术领域,尤其涉及一种在网络通讯包粘连的情况下提高网络速度的方法。
背景技术
互联网的发展日新月异,多种终端之间的互联互通已经深入到生活的方方面面,不同终端之间通常会建立一个用于高速传递大量信息的局域网,由于硬件固有的信号干扰不可避免,可能导致信息在高速交互的时候出现部分信息丢失,而造成相邻的信息片段,也就是网络通讯包,发生粘连。
第一个网络包的字节内容(|表示字节分割符):
a | b | V | g| f | H | m |
第二个网络包的字节内容:
W | L | m | u | t | s | a |
如果第一个网络包丢失了部分信息,那么就会和第二个网络包粘连成为一个网络包,无法区分。
a | b | V | g| f | W | L | m | u | t | s | a |
现有技术一般通过对通讯包的编码结构进行定义,在编码的头部插入校验信息的方式来检测通讯包粘连的问题。举例来说,一种广泛采用的编码方式,是这样定义的:
1、每个通讯包分为两个部分:10个字节长度的头部以及最高长度为65535字节的通讯内容部分;
2、通讯包头部以XXXX开头,占4个字节;
3、紧跟着是4个字节的长度信息,以16进制表示,范围为0~65535;
4、头部最后两个字节是校验信息,以16进制表示,具体算法是将通讯内容部分的字节累加和,对256求余计算可得。
终端在接收到通讯包内容的时候,首先提取头部信息,得到长度,然后读取指定长度的信息,再按照第4点进行计算,将计算结果与校验信息比较,如果一致,则认为这个包是完整的,否则认为这个包出现了粘连。
现有技术的缺点在于发现粘连信息的速度很慢,需要在接受了完整长度的数据包之后,对整体的内容进行计算校验,才能发现粘连问题。
由于终端通常有内存设备,发送的数据包通常会缓存一段时间,在发生粘连现象的情况下,最佳的策略是接收方通知发送方立刻重新发送,发送方可以从缓存中发送数据。所以及早发现粘连现象有助于提高信息交互的速度。
发明内容
本发明的目的在于提出一种在网络通讯包粘连的情况下提高网络速度的方法,其可以在发生网络通讯包粘连的时候以最快速度让接受方发现粘连情况,这样就可以立刻要求发送方重新发送数据,以提高通讯速度。
一种在网络通讯包粘连的情况下提高网络速度的方法,步骤包括:
步骤A:将每个网络通讯包分为两个部分:头部和内容部分,所述头部包括开头信息和长度信息;
相邻的两个网络通讯包的所述内容部分使用相互隔离的编码;即,将所采用的编码分为前一半部分和后一半部分,在对所述内容部分进行编码的时候,使第一个网络通讯包使用前一半部分进行编码,下一个网络通讯包使用后一半部分进行编码,再下一个网络包使用前一半部分进行编码,以此类推;
若使用前一半部分进行编码,如果字节在前一半部分范围内,则在字节前加上前半在内前缀;如果字节在前一半部分范围外,则在字节前加上前半在外前缀;
若使用后一半部分进行编码,如果字节在后一半部分范围内,则在字节前加上后半在内前缀;如果字节在后一半部分范围外,则在字节前加上后半在外前缀;
步骤B:发送方将编码后的网络通讯包发出给接收方;
步骤C:接收方在接收数据的同时,进行数据编码的逆运算;接收方只要在接收的过程中发现不符合步骤A的编码的区间映射规则,即判断发生了网络通讯包粘连现象,立刻抛弃当前网络通讯包,并要求发送方重新发送。
本发明中,接受方无需在接收完成的长度后才进行校验计算,可以一边接收数据一边进行数据的解码和校验,采用FPGA电子元件尤其适合并行计算,相对于现有编码方式的求和校验而言,校验速度明显更快,从而提高了通讯速度。
具体实施方式
下面通过具体实施方式来进一步说明本发明的技术方案。
一种在网络通讯包粘连的情况下提高网络速度的方法,步骤包括:
步骤A:将每个网络通讯包分为两个部分:8个字节长度的头部以及最高长度为65535字节的内容部分;
网络通讯包的所述头部以XXXX为开头信息,占4个字节;紧跟着是4个字节的长度信息,以16进制表示,范围为0~65535;
相邻的两个网络通讯包的所述内容部分使用相互隔离的编码。例如,编码后内容的范围为0到9,A到Z,a到z,规定前一半部分的范围为0到9,A到U,后一半部分的范围为V到Z,a到z。在对内容进行编码的时候,要求第一个网络通讯包使用前一半部分进行编码,下一个网络通讯包使用后一半部分进行编码,再下一个网络通讯包使用前一半部分进行编码,以此类推。
若使用前一半部分进行编码,如果字节在范围内,加上0前缀表示,即00表示0,0即是前半在内前缀;如果字节在范围外,则按照编码对应表的顺序,如0对V,1对W,加上1前缀表示,即10表示V,1即是前半在外前缀;
若使用后一半部分进行编码,如果字节在范围内,加上V前缀表示,即VV表示v,V即后半在内前缀;如果字节在范围外,则按照编码对应表的顺序,加上W前缀表示,即WV表示0,W即是后半在外前缀;
编码对应表:
以“0Aaz”为例,作为第一个网络通讯包进行编码的时候,具体的编码过程如下:
a)因为0和A属于前一半部分的范围,所以编码为00和0A;
b)因为a和z不属于前一半部分的范围,按照对应的顺序编码为15和1U。
c)“0Aaz”作为第一个网络通讯包编码后内容为“000A151U”。
以“0Aaz”为例,作为第二个网络通讯包进行编码的时候,具体的编码过程如下:
a)因为0和A不属于后一半部分的范围,按照对应的顺序编码为WV和Wf;
b)因为az属于后一半部分的范围,所以编码为VaVz。
c)“0Aaz”作为第二个网络通讯包编码后内容为“WVWfVaVz”。
步骤B:发送方将编码后的网络通讯包发出给接收方;
步骤C:接收方在接收数据的同时,进行数据编码的逆运算;接收方无需接受完整的长度后才发现通讯包有粘连现象,只要接收的过程中发现不符合编码的区间映射规则,就可以马上判断发生了粘连现象,可以立刻抛弃数据,要求发送方重新发送。
本申请的编码方式,能更快的识别网络通讯包的粘连情况,主要改进的关键,在于不需要对编码内容的ASCII值进行求和。举例说明,通讯包的编码内容为“aeUg”,终端执行一次求和计算的时间为t,有:
Sum(“aeUg”)>
一共需要进行3次求和计算,所以需要的时间为3t。
具有并行计算能力的终端,为了优化校验速度,一般采用归并的方式进行求和。首先是将编码内容分为两部分:左求和序列,以及右求和序列,同时对左求和序列,右求和序列进行求和,最后将结果相加可得。在对左求和序列,右求和序列进行求和的时候,也会使用归并的方式进行。有:
Sum(“aeUg”)>
可以看到,Sum(“ae”)和Sum(“Ug”)是同时进行的,所以3次求和计算需要的时间为2t。
对于长度为N的编码内容,使用归并的方式进行求和,所需要的时间为nt,其中N和n为整数,且满足:
nt即为理论上使用现有技术的编码方式进行校验的最优计算时间。
本申请的编码方式,在对网络包进行校验的时候,无需进行求和计算,只要有不符合编码规则的字节内容,则可以立刻判断是否发生了粘连现象。由于各个字节的编码都可以并行独立进行计算,则理论上最优计算时间为t。
考虑到实际应用过程中,终端的并行计算能力有上限,假设终端可以并行计算的字节数为4M,也就是4* 1024,按照第10点,进行4M字节的内容的校验需要的运行时间为12t,则使用现有技术的编码方式进行校验的最优计算时间为12mt,其中m为满足:
使用本申请提案介绍的编码方式,由于每个字节编码后需要用两个字节表示,则最优计算时间为mt,其中m为满足:
在不同长度的内容下,各自对应的计算时间为:
可以看到,随着内容长度的增加,现有技术的编码方式需要的计算时间增长曲线更陡峭。
本申请的编码方式,能够提高校验速度的另一个关键因素是,现有技术的编码方式,需要对整体内容进行校验,才能判断网络包是否发生了粘连,而本申请提案介绍的编码方式,在前面的计算中,发现编码不符合规则的时候,可以立刻判断发生了粘连,而无需进行下面数据的计算。因此,对于本申请所描述的最优计算时间,还可以进一步补充:
在终端并行计算的字节数为4M的情况下,旧的编码方式的计算时间为12mt,而本申请提案所介绍的编码方式,计算时间小于或等于mt。
举例说明:
第一个网络通讯包的内容,分为四段内容:
第二个网络包的内容:
l | s | b | f | e | H | M | K| U| s | l | f | M | e | E | x | z | Y | y |0 | 2 | 3 | 4| 4 | 5 | g | v|
按照现有技术的编码方式,无论是哪一个片段和第二个网络通讯包发生粘连,都需要校验包括这个片段和之前的片段,以及第二个网络包的内容之后,才发现有粘连现象。
如果使用本申请的编码方式,编码后的内容:
第一个网络通讯包的内容:
第二个网络通讯包的内容:
Vl | Vs | Vb | Vf | Ve | Wm | Wr | Wp | Wz | Vs | Vl | Vf | Wr | Ve | Wj| Vx | Vz | VY | Vy | WV | WX | WY | WZ| WZ | Wa | Vg | Vv|
如果第二个网络通讯包和第一个网络通讯包的片段1粘连,那么只需要计算到片段1之后,在第二个网络通讯包的开头,就可以发现粘连现象,同理,如果是片段2发生粘连,那么只需要计算到片段2之后,在第二个网络通讯包的开头,就可以发现粘连现象。相比现有技术的编码方式,具有发生粘连的片段越靠前则发现粘连现象越早的优点。
假设粘连发生的片段的位置满足平均分布的概率,则在粘连发生的情况下,本申请的编码方式发现粘连现象需要的时间为:
和现有技术的编码方式相对照,有:
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
机译: 一种在计算机系统中的工厂中收集网络数据包的方法,一种用于处理工件的网络数据包的计算机系统以及一种在计算机系统中的工厂中用于收集网络数据包的包装收集器模块
机译: 一种用于通过双网络传输电子数据以提高Internet安全性的方法,该方法涉及数据包准备工作,该工作包将有用信息的每一秒比特汇总为两种类型的数据包
机译: 图像快速度改进,记录的产品,提高图像快速度的方法,生产记录产品的方法,用于提高图像快速度的工具包