一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种报文生成方法、装置及电子设备与流程

2022-02-21 08:47:54 来源:中国专利 TAG:


1.本技术涉及网络通讯技术领域,尤其涉及一种报文生成方法、装置及电子设备。


背景技术:

2.随着互联网的发展,为了扩展网络设备和服务器的带宽,提高吞吐量,负载均衡应用的也越来越广泛。
3.但是,负载均衡的应用带来的新的问题,网络报文的发送都需要经过负载均衡器,报文经过负载均衡器时报文的报头字段发生了改变,负载均衡器需要计算字段改变后的报文的检验和,生成新的报文,但是检验和的计算是一项cpu密集型任务,负载均衡器整体计算改变的报文的检验和的速度较慢,导致报文生成的效率较低。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种报文生成方法及装置,可以提高报文生成的效率。
5.第一方面,本技术提供了一种报文生成的方法,包括:
6.利用预设的负载均衡器对初始报文进行调度转换处理,得到输出报文;
7.在预设的转换规则表中查询所述负载均衡器对应的报文格式转换规则;
8.根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析,得到目标差值;及
9.提取所述初始报文中的检验和,根据所述目标差值与所述检验和进行报文检验和计算,得到输出报文检验和;
10.根据所述输出报文检验和与所述输出报文进行报文构建,得到目标报文。
11.可选地,所述提取所述初始报文中的检验和,根据所述目标差值与所述检验和进行报文检验和计算,得到输出报文检验和,包括:
12.提取所述初始报文中检验和字段对应的值,得到检验和;
13.根据所述目标差值与所述检验和,计算得到输出报文检验和。
14.可选地,所述根据所述目标差值与所述检验和,计算得到输出报文检验和,包括:
15.将所述检验和进行取反处理,得到第一检验和;
16.根据所述第一检验和及所述目标差值进行计算,得到第二检验和;
17.当所述第二检验和为零,将所述第二检验和作为所述输出报文检验和;
18.当所述第二检验和不为零,将所述第二检验和的高n比特与低n比特相加,得到更新后的所述第二检验和;
19.对更新后的所述第二检验和进行取反处理,得到所述输出报文检验和。
20.可选地,所述根据所述第一检验和及所述目标差值进行计算,得到第二检验和,包括:
21.步骤a、判断所述目标差值的绝对值是否大于所述第一检验和;
22.步骤b、若所述目标差值的绝对值大于所述第一检验和,则判断所述目标差值是否为负值;
23.步骤c、若所述目标差值为负值,则对所述目标差值进行借位处理,将借位处理后的所述目标差值与所述第一检验和相加,得到所述第二检验和;
24.步骤d、若所述目标差值为非负值,则将所述第一检验和与所述目标差值相加,得到所述第二检验和;
25.步骤e、若所述目标差值的绝对值不大于所述第一检验和,将所述第一检验和与所述目标差值相加,得到第二检验和。
26.可选地,所述根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析,得到目标差值,包括:
27.根据所述报文格式转换规则提取所述输出报文中字段的值,得到目标字段值集;
28.根据所述报文格式转换规则提取所述初始报文中字段的值,得到初始字段值集;
29.将所述目标字段值集中的每个值与所述初始字段值集中对应字段的值转换成为预设类型的数值后,计算得到初始差值;
30.根据所有的所述初始差值计算得到所述目标差值。
31.可选地,所述根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析,得到目标差值,还包括:
32.利用所述目标差值及所述报文格式转换规则进行新增字段筛选判断;
33.在有新增字段时,将所述输出报文中新增字段对应的值转换成为预设类型的数值后与所述目标差值求和,得到更新后的目标差值。
34.可选地,所述利用预设的负载均衡器对初始报文进行调度转换处理,得到输出报文,包括:
35.利用所述负载均衡器中的调度算法对服务器集群中的所有服务器节点进行调度筛选,得到目标服务器;
36.获取所述目标服务器的信息,根据所述目标服务器的信息对所述初始报文进行路由转换,得到所述输出报文。
37.可选地,所述根据所述目标服务器的信息对所述初始报文进行路由转换,得到所述输出报文,包括:
38.将所述初始报文中包含的源ip/端口字段设置为所述负载均衡器的ip和端口;及
39.将所述初始报文中包含的目的ip/端口字段设置为所述目标服务器的ip和端口,得到所述输出报文。
40.第二方面,本技术提供了一种报文生成的装置,包括:
41.规则查询模块,用于利用预设的负载均衡器对初始报文进行调度转换处理,得到输出报文;在预设的转换规则表中查询所述负载均衡器对应的报文格式转换规则;
42.检验和计算模块,用于根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析,得到目标差值;提取所述初始报文中的检验和,根据所述目标差值与所述检验和进行报文检验和计算,得到输出报文检验和;
43.报文构建模块,用于根据所述输出报文检验和与所述输出报文进行报文构建,得到目标报文。
44.第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
45.存储器,用于存放计算机程序;
46.处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的报文生成方法的步骤。本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
47.本技术实施例提供的该方法,所述输出报文检验和与所述响应报通过计算输出报文的变化部分和初始报文的检验和计算得到输出报文的检验和,不需要整体计算输出报文的检验和,从而提高了输出报文的检验和的计算效率,提高了报文的生成效率。
附图说明
48.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
49.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
50.图1为本技术实施例提供的一种报文生成方法的详细流程示意图。
51.图2为本技术实施例提供的一种报文生成方法中得到输出报文的详细流程示意图。
52.图3为本技术实施例提供的一种报文生成方法中得到目标差值的详细流程示意图。
53.图4为本技术实施例提供的一种报文生成装置的模块示意图。
54.图5为本技术实施例提供的一种报文生成的电子设备的结构示意图。
具体实施方式
55.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
56.图1为本技术实施例提供的一种报文生成方法的流程示意图,在本发明实施例中,所述报文生成方法包括:
57.s1、利用预设的负载均衡器对初始报文进行调度转换处理,得到输出报文;
58.本发明实施例中,所述初始报文为客户端需要转发的网络报文,如tcp/udp报文。
59.在本发明实施例的其中一个应用场景中,所述初始报文需要转发至预设的服务器集群中的服务器节点,但是所述服务器集群的不同的服务器节点的工作负载不同。为了保证报文转发的高可用性,需要将所述初始报文转发至负载较小的服务器节点,因此需要利用预设的负载均衡器对所述初始报文进行调度转换处理,选择合适的服务器节点,得到所述输出报文。其中,所述负载均衡器为通过各种灵活的分配计算,将全部的网络请求均衡地分布到服务器集群的各个服务器节点上的设备。
60.本发明其中一个实施例中,参阅图2所示,所述利用预设的负载均衡器对所述初始
报文进行调度转换处理,得到输出报文,包括:
61.s11、利用所述负载均衡器中的调度算法对服务器集群中的所有服务器节点进行调度筛选,得到目标服务器;
62.可选的,本发明实施例中,所述调度算法包括:轮循算法、加权轮循算法、最少连接数算法、加权响应算法。
63.s12、获取所述目标服务器的信息,根据所述目标服务器的信息对所述初始报文进行路由转换,得到所述输出报文。
64.其中,所述目标服务器的信息可以包括目标服务器的ip及端口。
65.所述初始报文中包含源ip/端口及目的ip/端口字段。其中,所述源ip/端口对应的值为发送初始报文的客户端的ip和端口,所述目的ip/端口对应的值为所述负载均衡器对应的ip和端口本发明实施例中,所述负载均衡器根据所述目标服务器的信息对所述初始报文进行路由转换,得到所述输出报文。
66.本发明其中一个实施例中,所述根据所述目标服务器的信息对所述初始报文进行路由转换,得到所述输出报文,包括:将所述初始报文中包含的源ip/端口字段设置为所述负载均衡器的ip和端口,以及将所述初始报文中包含的目的ip/端口字段设置为所述目标服务器的信息中的ip和端口,得到所述输出报文。
67.由于所述输出报文中已经无法看到客户端的ip及端口,因此,本发明的另一实施例,在所述输出报文中增加一个预设字段用来保存客户端的信息,以保证客户端的信息不会丢失。所述预设字段可以是,例如toa字段信息。其中,所述toa字段中包括所述客户端的ip及端口。
68.s2、在预设的转换规则表中查询所述负载均衡器对应的报文格式转换规则;
69.利用负载均衡器将所述初始报文进行路由转换得到输出报文时,不同的负载均衡器对应的转换规则不同,因此,本发明实施例通过预设的转换规则表查询所述负载均衡器对应的报文格式转换规则。
70.可选地,本发明实施例可以获取所述负载均衡器对应的标识代码,利用所述标识代码作为查询参数构建查询语句在所述转换规则表查询所述负载均衡器对应的报文格式转换规则。其中,所述负载均衡器对应的标识代码可以为该负载均衡器的ip。进一步地,所述报文格式转换规则包含初始报文和输出报文中变化的字段及其对应关系以及新增的字段等。如:初始报文中的源ip/端口及目的ip/端口字段对应的值分别为client ip,client port,vip,v port,经过负载均衡器a后,所述初始报文中源ip/端口及目的ip/端口字段对应的值变成了输出报文中源ip/端口及目的ip/端口字段对应的值local ip,local port,rs ip,rs port,同时输出报文中新增了toa字段及其对应的值,因此`,报文格式转换规则为初始报文中源ip字段对应的值client ip和输出报文中源ip字段对应的值local ip对应、初始报文中源端口字段对应的值client port和输出报文中源端口字段对应的值local port对应、初始报文中目的ip字段对应的值vip和输出报文中目的ip字段对应的值rs ip对应、初始报文中目的端口字段对应的值v port和输出报文中目的端口字段对应的值rs port对应,toa字段为输出报文中新增字段。
71.s3、根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析,得到目标差值;
72.本发明实施例确定所述输出报文中改变的字段,以不重新计算输出报文的检验和,从而降低检验和的计算时间提高报文的生成效率,因此,本发明实施例根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析。
73.可选地,参阅图3所示,本发明其中一个实施例中,所述s3包括:
74.s30、根据所述报文格式转换规则提取所述输出报文中字段的值,得到目标字段值集;
75.s31、根据所述报文格式转换规则提取所述初始报文中字段的值,得到初始字段值集;
76.s32、将所述目标字段值集中的每个值与所述初始字段值集中对应字段的值转换成为预设类型的数值后,计算得到初始差值;
77.由于不同字段对应的值的类型不同,为了便于统一计算,本发明实施例中需要将不同的字段对应的值,转换成同一类型,得到预设类型的数值后进行计算,得到对应的初始差值。本发明其中一个实施例中,所述预设类型的数值为16位的二进制数值。
78.可选地,本发明实施例利用ascii码编码方式进行预设类型的数值转换。
79.详细地,本发明实施例将所述目标字段值集中的每个值与所述初始字段值集中对应字段的值转换成为预设类型的数值后作差,得到对应的所述初始差值。
80.s33、根据所有的所述初始差值计算得到目标差值。
81.具体地,本发明实施例将所有所述初始差值进行求和计算,得到所述目标差值。
82.进一步地,由于所述输出报文相对于所述初始报文可能还存在新增的字段,如上所述的toa字段,为了保证得到所述输出报文中所有改变的部分,本发明实施例还可以包括:
83.s34、利用所述目标差值及所述报文格式转换规则进行新增字段筛选判断,并在有新增字段时,将所述输出报文中新增字段对应的值转换成为预设类型的数值后与所述目标差值求和,得到更新后的目标差值。
84.例如:初始报文中的源ip/端口及目的ip/端口字段对应的值分别为client ip,client port,vip,v port,经过负载均衡器a后初始报文中源ip/端口及目的ip/端口字段对应的值变成了输出报文中源ip/端口及目的ip/端口字段对应的值local ip,local port,rs ip,rs port,同时输出报文中新增了toa option及其对应的值,报文格式转换规则为初始报文中源ip字段对应的值client ip和输出报文中源ip字段对应的值local ip对应、初始报文中源端口字段对应的值client port和输出报文中源端口字段对应的值local port对应、初始报文中目的ip字段对应的值vip和输出报文中目的ip字段对应的值rs ip对应、初始报文中目的端口字段对应的值v port和输出报文中目的端口字段对应的值rs port对应,toa字段为输出报文中新增字段。因此,本发明实施例将local ip字段对应的值减去client ip字段对应的值,得到差值a,将local port字段对应的值减去client port字段对应的值,得到差值b,将rs ip字段对应的值减去vip字段对应的值,得到差值c,将rs port字段对应值减去v port字段对应的值,得到差值d,新增字段toa字段对应的值为e,因此,目标差值为(a b c d e)。
85.s4、提取所述初始报文中的检验和,根据所述目标差值与所述检验和进行报文检验和计算,得到输出报文检验和;
86.为了节约计算资源,避免整体计算所述输出报文的检验和,本发明实施例提取所述初始报文中检验和字段对应的值,得到检验和,根据所述目标差值与所述检验和,利用预设算法进行计算,得到输出报文检验和。
87.详细地,本发明实施例中所述根据所述目标差值与所述检验和,计算得到输出报文检验和,包括:
88.将所述检验和进行取反处理,得到第一检验和;
89.根据所述第一检验和及所述目标差值进行计算,得到第二检验和;
90.当所述第二检验和为零,将所述第二检验和作为所述输出报文检验和;
91.当所述第二检验和不为零,将所述第二检验和的高n比特与低n比特相加,得到更新后的第二检验和;
92.对更新后的所述第二检验和进行取反处理,得到所述输出报文检验和。
93.进一步地,本发明实施例中所述根据所述第一检验和及所述目标差值进行计算,得到第二检验和,包括:
94.步骤a、判断所述目标差值的绝对值是否大于所述第一检验和;
95.步骤b、若所述目标差值的绝对值大于所述第一检验和,则判断所述目标差值是否为负值;
96.步骤c、若所述目标差值为负值,则对所述目标差值进行借位处理,将借位处理后的所述目标差值与所述第一检验和相加,得到第二检验和;
97.例如:所述目标差值为a,那么借位处理后的所述目标差值为(n 1)*65535 a,其中,n为预设的借位的个数。
98.步骤d、若所述目标差值为非负值,则将所述第一检验和与所述目标差值相加,得到所述第二检验和;
99.步骤e、若所述目标差值的绝对值不大于所述第一检验和,将所述第一检验和与所述目标差值相加,得到第二检验和。
100.具体地,本发明实施例中对更新后的所述第二检验和进行取反处理,得到所述输出报文检验和,包括:
101.步骤1、判断所述第二检验和是否为零;
102.步骤2、若所述第二检验和为零,则将所述第二检验和作为输出报文检验和;
103.步骤3、若所述第二检验和不为零,则将所述第二检验和的高n比特与低n比特相加,得到新的第二检验和,
104.可选地,本发明实施例中,所述n为16。
105.步骤4、判断第二检验和是否小于预设阈值;
106.可选地,本发明实施例中,所述预设阈值为0xffff。
107.步骤5、若所述第二检验和小于预设阈值,则将所述第二检验和进行取反,得到输出报文检验和;
108.详细地,本发明实施例将所述第二检验和进行取反为将所述第二检验和进行按位取反操作,如:第二检验和为00000101,对所述第二检验和取反,得到输出报文检验和为11111010。
109.步骤6、若所述第二检验和大于或等于预设阈值,则判断所述第二检验和是否为
零;
110.步骤7、若所述第二检验和为零,则将所述第二检验和作为输出报文检验和;
111.步骤8、若所述第二检验和不为零,则将所述第二检验和的高n比特与低n比特相加,得到新的第二检验和,并返回所述步骤1。
112.可选地,本发明实施例中,所述n为16。
113.例如:所述第二检验和为0x11223344,其中0x1122为高16比特,0x3344为低16比特,将0x1122与0x3344相加,得到新的第二检验和。
114.s5、根据所述输出报文检验和与所述输出报文进行报文构建,得到目标报文。
115.其中,所述检验和字段为所有网络报文中的公共字段,本发明实施例中将所述输出报文检验和替换所述输出报文中检验和字段对应的值,得到目标报文。
116.如图4所示,是本发明报文生成装置的功能模块图。
117.根据实现的功能,所述报文生成装置100可以包括规则查询模块101、检验和计算模块102、报文构建模块103。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
118.在本实施例中,关于各模块/单元的功能如下:
119.所述规则查询模块101用于利用预设的负载均衡器对初始报文进行调度转换处理,得到输出报文;在预设的转换规则表中查询所述负载均衡器对应的报文格式转换规则;
120.所述检验和计算模块102用于根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析,得到目标差值;提取所述初始报文中的检验和,根据所述目标差值与所述检验和进行报文检验和计算,得到输出报文检验和;
121.所述报文构建模块103用于根据所述输出报文检验和与所述输出报文进行报文构建,得到目标报文。
122.详细地,本发明实施例中所述报文生成装置100中所述的各模块在使用时采用与上述图1至图3中所述的报文生成方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
123.如图5所示,本技术实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
124.存储器113,用于存放计算机程序;
125.在本技术一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的报文生成方法,包括:
126.利用预设的负载均衡器对初始报文进行调度转换处理,得到输出报文;
127.在预设的转换规则表中查询所述负载均衡器对应的报文格式转换规则;
128.根据所述报文格式转换规则将所述输出报文与所述初始报文进行报文差异性解析,得到目标差值;及
129.提取所述初始报文中的检验和,根据所述目标差值与所述检验和进行报文检验和计算,得到输出报文检验和;
130.根据所述输出报文检验和与所述输出报文进行报文构建,得到目标报文。
131.上述通信总线114可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线114可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
132.通信接口112用于上述电子设备与其他设备之间的通信。
133.存储器113可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器113还可以是至少一个位于远离前述处理器111的存储装置。
134.上述的处理器111可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
135.本技术实施例还提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述任一实施例的报文生成方法。
136.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
137.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
138.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一
致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献