【技术实现步骤摘要】
一种报文处理方法及系统及装置及介质
[0001]本专利技术涉及数据传输领域,具体地,涉及一种报文处理方法及系统及装置及介质。
技术介绍
[0002]OSI(开放式系统互联)参考模型中,网络传输层协议分为TCP和UDP。UDP(用户数据包协议)提供了一种无需建立连接就可以发送数据的方法,具有发送效率高的优点,同时也具有数据易丢失的缺点。UDP报文的最大长度被限定在64K,当报文长度大于64K时,需要拆分为多个数据报文分别进行发送。UDP报文的发送同时受限于MTU(最大传输单元),UDP报文长度大于MTU设定值时,UDP报文会拆分为多个包分别进行发送。
[0003]当UDP报文大于MTU设定值时,一种方案是UDP报文交由链路层进行拆包;另一种方案是由应用程序将UDP报文拆分成多个小于MTU设定值的包。
[0004]UDP报文在链路层拆包: UDP报文的最大长度为65535字节,MTU设置为1500字节。当UDP报文长度大于MTU设置长度时,发送端UDP报文会按照MTU设置长度拆分为多个包进行发送;同时,接收端会在 ...
【技术保护点】
【技术特征摘要】
1.一种报文处理方法,其特征在于,所述方法包括:从消息队列中获得第一待发送报文;获得最大传输单元的设定值;基于所述第一待发送报文的长度和所述设定值,计算获得所述第一待发送报文需要拆包的数量M,M为大于1的整数;将所述第一待发送报文拆分为M个数据包,分别为:数据包1至数据包M,其中,数据包1至数据包M
‑
1的长度均等于所述设定值;若所述数据包M的长度等于所述设定值,则将数据包1至数据包M发送;若所述数据包M的长度小于所述设定值,则将数据包1至数据包M
‑
1发送,判断消息队列中的报文是否满足填充条件,若满足则从消息队列中取出报文填充至数据包M,将填充后的数据包M发送。2.根据权利要求1所述的一种报文处理方法,其特征在于,判断消息队列中的报文是否满足填充条件,若满足则从消息队列中取出报文填充至数据包M,将填充后的数据包M发送,具体包括:计算步骤:基于所述数据包M的长度和所述设定值,计算所述最大传输单元的剩余传送空间的长度K;判断步骤:判断所述消息队列中是否存在长度小于或等于K的第二待发送报文;若存在,则将所述第二待发送报文填充至所述数据包M的末尾并更新所述数据包M的长度,然后返回执行所述计算步骤后执行所述判断步骤;若不存在,则将数据包M发送。3.根据权利要求1所述的一种报文处理方法,其特征在于,在步骤从消息队列中获得第一待发送报文之前,所述方法还包括:将待发送报文进行逻辑排序,将排序后的待发送报文写入到所述消息队列中。4.根据权利要求1所述的一种报文处理方法,其特征在于,所述方法中的报文为UDP报文,所述方法通过用户数据包协议发送UDP报文。5.根据权利要求2所述的一种报文处理方法,其特征在于,所述数据包M的长度为P,所述最大传输单元的设定值为Q,K=Q
‑
P。6.根据权利要求1所述的一种报文处理方法,其特征在于,所述方法在将所述第一待发送报文拆分为M个数据包之后还包括:为每个拆分后的数据包预定义报文头,报文头长度为N;其中,报文头的第1个字节表示报文采用的编码方式,报文头的第2个...
【专利技术属性】
技术研发人员:ꢀ七四专利代理机构,
申请(专利权)人:成都数联云算科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。