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

一种基于中间设备的报文发送方法、装置和电子设备与流程

2022-02-22 17:21:25 来源:中国专利 TAG:


1.本技术涉及网络通信技术领域,尤其涉及一种基于中间设备的报文发送方法、装置和电子设备。


背景技术:

2.现有的网络负载均衡技术通常是为普通网络服务设计,采用此类技术的服务器通常使用单个业务接口连接到单个逻辑的负载均衡器,从而通过负载均衡器来实现负载均衡调度。
3.例如:参阅图1所示,在传统网络中,客户端发往服务器的请求报文进入到负载均衡器中,负载均衡器根据请求报文携带的五元组信息,为客户端实现负载均衡调度;进一步地,负载均衡器还可以基于上述五元组信息,在客户端和服务器之间实现会话保持功能。
4.然而,采用上述方案,仅能通过负载均衡器实现单向网络通信(通常是客户端至服务器方向)的负载均衡调度,对于具有双向网络通信需求的网络环境并不适用。
5.而目前,针对要求双向网络通信需求的网络环境,并没有提供合理的负载均衡调度方案。


技术实现要素:

6.本技术实施例提供一种基于中间设备的报文发送方法、装置和电子设备,从而针对具有双向网络通信需求的网络环境,提供合理的负载均衡调度方案。
7.本技术实施例提供的具体技术方案如下:
8.一种基于中间设备的报文发送方法,包括:
9.交换设备接收发送端发送的第一报文,并基于保存的第一会话监控信息,判断对应所述第一报文是否已建立会话,获得判断结果;
10.若基于所述判断结果确定未建立会话,则所述交换设备基于预设的中间设备接口集合进行负载均衡调度,为所述第一报文分配相应的目标中间设备的目标输入接口;
11.所述交换设备通过所述目标输入接口,将所述第一报文发往所述目标中间设备,并接收所述目标中间设备通过相应的目标输出接口返回的所述第一报文;
12.所述交换设备在第二会话监控信息中,基于所述第一报文,建立并保存相应的反向目标会话,并将所述第一报文发往相应的接收端。
13.可选的,所述交换设备基于保存的第一会话监控信息,判断对应所述第一报文是否已建立会话,获得判断结果,包括:
14.所述交换设备对所述第一报文进行解析,获得所述第一报文的源ip地址和目的ip地址;
15.所述交换设备获取保存的第一会话监控信息,其中,所述第一会话监控信息中包括:已建立会话的历史报文的历史源ip地址、历史目的ip地址和对应的历史目标中间设备的历史目标输入接口;
16.所述交换设备判断所述第一报文的源ip地址与目的ip地址,和所述第一会话监控信息中的历史源ip地址与历史目的ip地址,是否匹配成功,若是,则确定判断结果为:已建立会话,否则,确定判断结果为:未建立会话。
17.可选的,所述交换设备基于预设的中间设备接口集合进行负载均衡调度,为所述第一报文分配相应的目标中间设备的目标输入接口,包括:
18.所述交换设备获取预设的中间设备接口集合,以及获取所述中间设备接口集合对应的各个中间设备的负荷状态信息和设备性能信息;
19.所述交换设备基于获得的各个负荷状态信息和设备性能信息,采用预设的负载均衡策略,从所述中间设备接口集合中选取出目标中间设备的目标输入接口;
20.所述交换设备为所述第一报文分配给所述目标中间设备的目标输入接口。
21.可选的,所述交换设备基于所述第一报文,建立并保存相应的反向目标会话,并将所述第一报文发往相应的接收端,包括:
22.所述交换设备基于所述第一报文,在第二会话监控信息中创建相应反向目标会话;
23.所述交换设备针对所述反向目标会话,在所述第二会话监控信息中,记录相应的第二报文;其中,所述交换设备将所述第一报文的目的地址,记录为所述第二报文对应的历史源ip地址,将所述第一报文的源ip地址,记录为所述第二报文对应的历史目的ip地址,以及将所述目标中间设备对应的目标输出接口,记录为第二报文对应的历史输入接口。
24.可选的,还包括:
25.若基于所述判断结果确定已建立会话,则所述交换设备基于所述第一会话监控信息,获得所述第一报文关联的历史目标输入接口,并将所述历史目标输入接口作为当前传输的目标输入接口,以及通过所述目标输入接口,将所述第一报文发往相应的目标中间设备。
26.可选的,所述交换设备通过所述目标输入接口,将所述第一报文发往相应的目标中间设备之后,还包括:
27.所述交换设备接收所述目标中间设备通过相应的目标输出接口返回的所述第一报文;
28.所述交换设备基于所述第一报文,在第二会话监控信息中创建相应的反向目标会话;
29.所述交换设备针对所述反向目标会话,在所述第二会话监控信息中,获得已记录相应的第二报文,并将记录的所述第二报文对应的历史源ip地址,更新为所述第一报文的目的ip地址,将记录的所述第二报文对应的历史目的ip地址,更新为所述第一报文的源ip地址,以及将记录的所述第二报文的历史目标输入接口,更新为所述目标中间设备对应的目标输出接口;
30.所述交换设备将所述第一报文发往相应的接收端。
31.可选的,还包括:
32.所述发送端为客户端,所述接收端为服务器,所述第一报文为客户端发往服务器的业务请求报文,所述第二报文为服务器发往客户端的业务响应报文;
33.或者,
34.所述发送端为服务器,所述接收端为客户端,所述第一报文为服务器发往客户端的业务响应报文,所述第二报文为客户端发往服务器的业务请求报文。
35.可选的,还包括:
36.所述第一报文和第二报文,为基于层3协议的报文,或者,为基于层4协议的报文。
37.一种基于中间设备的报文发送装置,包括:
38.判断单元,用于接收发送端发送的第一报文,并基于保存的第一会话监控信息,判断对应所述第一报文是否已建立会话,获得判断结果;
39.调度单元,用于若基于所述判断结果确定未建立会话,则所述交换设备基于预设的中间设备接口集合进行负载均衡调度,为所述第一报文分配相应的目标中间设备的目标输入接口;
40.输入单元,用于通过所述目标输入接口,将所述第一报文发往所述目标中间设备,并接收所述目标中间设备通过相应的目标输出接口返回的所述第一报文;
41.第一处理单元,用于在第二会话监控信息中,基于所述第一报文,建立并保存相应的反向目标会话,并将所述第一报文发往相应的接收端。
42.可选的,基于保存的第一会话监控信息,判断对应所述第一报文是否已建立会话,获得判断结果时,所述判断单元用于:
43.对所述第一报文进行解析,获得所述第一报文的源ip地址和目的ip地址;
44.获取保存的第一会话监控信息,其中,所述第一会话监控信息中包括:已建立会话的历史报文的历史源ip地址、历史目的ip地址和对应的历史目标中间设备的历史目标输入接口;
45.判断所述第一报文的源ip地址与目的ip地址,和所述第一会话监控信息中的历史源ip地址与历史目的ip地址,是否匹配成功,若是,则确定判断结果为:已建立会话,否则,确定判断结果为:未建立会话。
46.可选的,基于预设的中间设备接口集合进行负载均衡调度,为所述第一报文分配相应的目标中间设备的目标输入接口时,所述调度单元用于:
47.获取预设的中间设备接口集合,以及获取所述中间设备接口集合对应的各个中间设备的负荷状态信息和设备性能信息;
48.基于获得的各个负荷状态信息和设备性能信息,采用预设的负载均衡策略,从所述中间设备接口集合中选取出目标中间设备的目标输入接口;
49.为所述第一报文分配给所述目标中间设备的目标输入接口。
50.可选的,基于所述第一报文,建立并保存相应的反向目标会话,并将所述第一报文发往相应的接收端,所述第一处理单元用于:
51.基于所述第一报文,在第二会话监控信息中创建相应反向目标会话;
52.针对所述反向目标会话,在所述第二会话监控信息中,记录相应的第二报文;其中,所述交换设备将所述第一报文的目的地址,记录为所述第二报文对应的历史源ip地址,将所述第一报文的源ip地址,记录为所述第二报文对应的历史目的ip地址,以及将所述目标中间设备对应的目标输出接口,记录为第二报文对应的历史输入接口。
53.可选的,所述装置还包括:
54.发送单元,用于若基于所述判断结果确定已建立会话,则所述交换设备基于所述
第一会话监控信息,获得所述第一报文关联的历史目标输入接口,并将所述历史目标输入接口作为当前传输的目标输入接口,以及通过所述目标输入接口,将所述第一报文发往相应的目标中间设备。
55.可选的,通过所述目标输入接口,将所述第一报文发往相应的目标中间设备之后,所述装置还包括第二处理单元,所述第二处理单元用于:
56.接收所述目标中间设备通过相应的目标输出接口返回的所述第一报文;
57.基于所述第一报文,在第二会话监控信息中创建相应的反向目标会话;
58.针对所述反向目标会话,在所述第二会话监控信息中,获得已记录相应的第二报文,并将记录的所述第二报文对应的历史源ip地址,更新为所述第一报文的目的ip地址,将记录的所述第二报文对应的历史目的ip地址,更新为所述第一报文的源ip地址,以及将记录的所述第二报文的历史目标输入接口,更新为所述目标中间设备对应的目标输出接口;
59.将所述第一报文发往相应的接收端。
60.可选的,还包括:
61.所述发送端为客户端,所述接收端为服务器,所述第一报文为客户端发往服务器的业务请求报文,所述第二报文为服务器发往客户端的业务响应报文;
62.或者,
63.所述发送端为服务器,所述接收端为客户端,所述第一报文为服务器发往客户端的业务响应报文,所述第二报文为客户端发往服务器的业务请求报文。
64.可选的,还包括:
65.所述第一报文和第二报文,为基于层3协议的报文,或者,为基于层4协议的报文。
66.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种基于中间设备的报文发送方法的步骤。
67.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于中间设备的报文发送方法的步骤。
68.本技术实施例中,交换设备基于保存的第一会话监控信息,判断接收的第一报文是否已建立会话,若确定未建立会话,则基于预设的中间设备接口集合进行负载均衡调度,并通过分配的目标输入接口,将第一报文发往目标中间设备,接收目标中间设备通过相应的目标输出接口返回的第一报文,并在第二会话监控信息中,建立并保存相应的反向目标会话,并将第一报文发往相应的接收端,这样,借助于中间设备接口集合,能够将报文均衡的调度至中间设备,能够发挥出中间设备的处理能力,避免出现部分中间设备过载运行,以及部分中间设备空载运行的情况,保证中间设备的处理效果,与此同时,提高了报文的处理效率,借助于第二会话监控信息中记录的反向目标会话,保证了同一会话的请求和响应方向的流量被负载到同一个中间设备,实现了在具有双向通信需求的网络环境下,能够进行合理的负载均衡调度,并在报文的传输过程中实现了会话保持,提高了报文的传输效率,保证了报文的转发效率。
附图说明
69.图1为本技术实施例中现有技术的普通网络负载均衡示意图;
70.图2为本技术实施例中一种基于中间设备的负载均衡示意图;
71.图3为本技术实施例中一种基于中间设备的报文发送的流程图;
72.图4为本技术实施例中交换设备的逻辑结构示意图;
73.图5为本技术实施例中电子设备的结构示意图。
具体实施方式
74.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
75.为了实现双向网络通信需求的网络环境,解决负载均衡器仅能实现单向网络通信的负载均衡调度的问题,本技术实施例中,增设了中间设备,以及在交换设备中设置了两个负载均衡器,每个中间设备通过内置的两个接口,分别与两个负载均衡器相连接,从而实现了双向网络通信的负载均衡和会话保持。
76.具体的,参阅图2所示,本技术实施例中,系统内至少包括多个客户端200,交换设备210,多个中间设备220和多个服务器230,其中,交换设备210中设置两个负载均衡器,分别记为负载均衡器1和负载均衡器2,负载均衡器1通过广域网(wide area network,wan)接口与各个客户端200相连接,负载均衡器2通过局域网(local area network,lan)接口与各个服务器230相连接。进一步地,如图2所示,在每个中间设备220中,均设置有两个接口,记为接口1和接口2,其中,各个中间设备220的接口1与负载均衡器1相连接,各个中间设备220的接口2与负载均衡器2相连接;由于网络中可以实现双向网络通信,因此,在客户端200-》服务器230方向的通信过程中,同一中间设备200中的接口1和接口2可以作为输入接口和输出接口,反之,在服务器230-》客户端200方向的通信过程中,接口2和接口1可以作为输入接口和输出接口。
77.进一步地,本技术实施例中,在负载均衡器上设置有会话监控信息,具体的,可以设置为会话保持流表。
78.在客户端200-》服务器230方向的通信过程中,负载均衡器1上使用的是第一会话监控信息,负载均衡器2使用的是第二会话监控信息。
79.第一会话监控信息中记录有:客户端200与服务器230之间已建立的各个会话,以及各个会话各自关联的历史请求报文的源ip地址、目的ip地址和对应的目标中间设备220的历史输入接口(即接口1),所谓目标中间设备220是指,交换设备210在传输历史请求报文时,基于负载均衡策略,从各个中间设备220中最终选取的中间设备220。
80.以及,第一会话监控信息中还记录有:对应各个中间设备220保存的接口1信息的唯一编码(identity document,id),交换设备210接收到请求报文时,可以基于接口1信息的id获得相应的接口1信息,并基于预设的负载均衡策略,在接口1信息记录的各个接口1中,选取合适的中间设备220(即目标中间设备)对应的接口1。
81.例如:第一会话监控信息的内容如表1所示:
82.表1
[0083][0084]
进一步地,如表1所示,在第一会话监控信息中还可以设置权值,交接设备可以基于权值判断各个表项的执行顺序,权值高的先执行,权值低的后执行。
[0085]
第二会话监控信息中记录有:交换设备210基于客户端200-》服务器230方向的各个会话创建的各个反向会话,以及基于各个会话各自关联的历史请求报文的目的ip地址转换的源ip地址,基于各个会话各自关联的历史请求报文的源ip地址转换的目的ip地址,和基于各个会话各自关联的历史请求报文对应的中间设备220(即目标中间设备)的输出接口转换的输入接口(即接口2)。
[0086]
例如,第二会话监控信息的内容如表2所示:
[0087]
表2
[0088]
反向会话id源ip地址目的ip地址输入接口100000001192.168.123.252192.168.1.1中间设备1的接口2100000002192.168.123.252192.168.25.1中间设备2的接口2100000003192.168.123.1192.168.25.1中间设备3的接口2
……………………
[0089]
反之,在服务器230-》客户端200方向的通信过程中,负载均衡器2上使用的是第一会话监控信息,负载均衡器1上使用的是第二会话监控信息。
[0090]
第一会话监控信息中记录有:客户端200与服务器230之间已建立的各个会话,以及各个会话各自关联的历史响应报文的源ip地址、目的ip地址和对应的中间设备220(即目标中间设备)的历史输入接口(即接口2)。
[0091]
以及,第一会话监控信息中还记录有:对应各个中间设备220保存的接口2信息的id,交换设备210接收到响应报文时,可以基于接口2信息的id获得相应的接口2信息,并基于预设的负载均衡策略,在接口2信息记录的各个接口2中,选取合适的中间设备220(即目标中间设备)对应的接口2。具体实现与表1相同,不再赘述。
[0092]
第二会话监控信息中记录有:交换设备210基于服务器230-》客户端200方向的各个会话创建的各个反向会话,以及基于各个会话各自关联的历史响应报文的目的ip地址转换的源ip地址,基于各个会话各自关联的历史响应报文的源ip地址转换的目的ip地址,和基于各个会话各自关联的历史响应报文对应的目标中间设备的输出接口转换的输入接口(即接口1)。具体实现与表2相同,亦不再赘述。
[0093]
另一方面,在负载均衡器上,还记录有各个中间设备220的接口信息,具体的,可以设置为group表,其中,负载均衡器1上设置的是接口1信息,可以记为group表1,负载均衡器2上设置的是接口2信息,可以记为group表2;其中,在group表1中,至少记录有各个中间设
备220对应的接口1的描述信息,在group表2中,至少记录有各个中间设备220的接口2的描述信息。
[0094]
在客户端200-》服务器230方向的通信过程中,交换设备210基于group表1中记录的各个中间设备220的接口1的描述信息,获取各个中间设备220的负荷状态信息和设备性能信息,并基于获得的各个负荷状态信息和设备性能信息,采用预设的负载均衡策略,从group表1中选取合适的中间设备220(即目标中间设备)的接口1作为输入接口。
[0095]
例如:group表1的具体内容如表3所示:
[0096]
表3
[0097]
接口1id中间设备接口负荷状态信息设备性能信息100中间设备1的接口180%60%101中间设备2的接口160%40%
……………………
[0098]
反之,在服务器230-》客户端200方向的通信过程中,交换设备210基于group表2中记录的中间设备220的接口2的描述信息,获取各个中间设备220的负荷状态信息和设备性能信息,并基于获得的各个负荷状态信息和设备性能信息,采用预设的负载均衡策略,从group表2中选取合适的中间设备220(即目标中间设备)的接口2作为输入接口。
[0099]
例如:group表2的具体内容如表4所示:
[0100]
表4
[0101]
接口2id中间设备接口负荷状态信息设备性能信息200中间设备1的接口270%50%201中间设备2的接口250%30%
……………………
[0102]
基于上述系统架构,参阅图3所示,本技术实施例中,基于中间设备进行报文发送的详细流程如下:
[0103]
步骤300:交换设备接收发送端发送的第一报文。
[0104]
可选的,上述第一报文和第二报文,均可以为基于层3协议的报文,或者,也可以均为基于层4协议的报文。
[0105]
具体实施中,存在以下两种场景:
[0106]
场景1:发送端为客户端,接收端为服务器,第一报文为客户端发往服务器的业务请求报文。
[0107]
场景2:发送端为服务器,接收端为客户端,第一报文为服务器发往客户端的业务响应报文。
[0108]
步骤310:交换设备基于保存的第一会话监控信息,判断对应第一报文是否已建立会话,若是,执行步骤350,否则,执行步骤320。
[0109]
在上述场景1下,当执行步骤310时,假设交换设备对接收的第一报文进行解析后,确定第一报文的源ip地址为192.168.25.252,目的ip地址为192.168.123.1,以及假设交换设备上保存的会话保持流表1中记录了如表5所示的内容。
[0110]
表5
[0111][0112]
显然,表5中未记录与第一报文的源ip地址和目的ip地址对应匹配的源ip地址和目的ip地址,则交换设备确定判断结果为:未建立会话。
[0113]
在上述场景2下,当执行步骤310时,假设交换设备对接收的第一报文进行解析后,确定第一报文的源ip地址为192.168.123.252,目的ip地址为192.168.1.20,以及假设交换设备上保存的会话保持流表1中记录了如表6所示的内容。
[0114]
表6
[0115][0116]
显然,表6中未记录与第一报文的源ip地址和目的ip地址对应匹配的源ip地址和目的ip地址,则交换设备确定判断结果为:未建立回话。
[0117]
步骤320:在交换设备基于判断结果确定未建立会话后,交换设备基于预设的中间设备接口集合进行负载均衡调度,为第一报文分配相应的目标中间设备的目标输入接口。
[0118]
具体实施中,中间设备接口集合即为上述group表,也称为接口信息。
[0119]
在上述场景1下,当执行步骤320时,交接设备获取到由会话保持流表1中接口1信息的id对应的group表1,进一步获取到group表1对应的各个中间设备的负荷状态信息和设备性能信息;假设中间设备上保存的group表1的具体内容如表7所示的内容:
[0120]
表7
[0121]
接口1id中间设备接口负荷状态信息设备性能信息100中间设备1的接口180%60%101中间设备2的接口160%40%
[0122]
交换设备基于上述假设group表1中各个接口对应的各个中间设备的负荷状态信息和设备性能信息,采用预设的负载均衡策略,选取接口1id“100”对应的中间设备1的接口1,作为目标中间设备的目标输入接口,交换设备将第一报文分配给目标中间设备的目标输入接口。
[0123]
在上述场景2下,当执行步骤320时,交接设备获取到由会话保持流表1中接口2信息的id对应的group表2,进一步获取到group表2对应的各个中间设备的负荷状态信息和设备性能信息;假设中间设备上保存的group表2的具体内容如表8所示的内容:
[0124]
表8
[0125]
接口2id中间设备接口负荷状态信息设备性能信息
200中间设备1的接口250%30%201中间设备2的接口270%50%
[0126]
交换设备基于上述假设group表2中各个接口对应的各个中间设备的负荷状态信息和设备性能信息,采用预设的负载均衡策略,选取接口2id“201”对应的中间设备2的接口2,作为目标中间设备的目标输入接口,交换设备将第一报文分配给目标中间设备的目标输入接口。
[0127]
步骤330:交换设备通过目标输入接口,将第一报文发往目标中间设备,并接收目标中间设备通过相应的目标输出接口返回的第一报文。
[0128]
在上述场景1下,在执行步骤330时,交换设备通过选取的中间设备1的接口1,将第一报文发往中间设备1,中间设备1收到第一报文并处理完成后,将第一报文通过中间设备1的接口2返回到交换设备。
[0129]
在上述场景2下,在执行步骤330时,交换设备通过选取的中间设备2的接口2,将第一报文发往中间设备2,中间设备2收到第一报文并处理完成后,将第一报文通过中间设备2的接口1返回到交换设备。
[0130]
步骤340:交换设备在第二会话监控信息中,基于第一报文,建立并保存相应的反向目标会话,并将接收的第一报文发往相应的接收端。
[0131]
在上述场景1下,当执行步骤340时,假设中间设备上保存的会话保持流表2的具体内容如表9所示的内容。
[0132]
表9
[0133]
反向会话id源ip地址目的ip地址输入接口100000001192.168.123.252192.168.1.1中间设备1的接口2100000002192.168.123.22192.168.25.1中间设备2的接口2
[0134]
交换设备在会话保持流表2中,基于第一报文和交换设备中的输入接口分类表的会话保持学习流表项进行学习,建立并保存相应的反向目标会话。交换设备针对反向目标会话,记录相应的第二报文,其中,第二报文的源ip地址为192.168.123.1,目的地址为192.168.25.252,输入接口为中间设备1的接口2。完成以上操作后,上述表9的内容更新,具体内容如表10所示内容:
[0135]
表10
[0136]
反向会话id源ip地址目的ip地址输入接口100000001192.168.123.252192.168.1.1中间设备1的接口2100000002192.168.123.22192.168.25.1中间设备2的接口2100000003192.168.123.1192.168.25.252中间设备1的接口2
[0137]
进一步的,交换设备将第一报文发送到相应的服务器。
[0138]
在上述场景2下,当执行步骤340时,假设中间设备上保存的会话保持流表2的具体内容如表11所示的内容:
[0139]
表11
[0140]
反向会话id源ip地址目的ip地址输入接口100000003192.168.1.1192.168.123.252中间设备1的接口1
100000004192.168.25.1192.168.123.22中间设备2的接口1
[0141]
交换设备在会话保持流表2中,基于第一报文和交换设备中的输入接口分类表的会话保持学习流表项进行学习,建立并保存相应的反向目标会话。交换设备针对反向目标会话,记录相应的第二报文,其中,第二报文的源ip地址为192.168.1.20,目的地址为192.168.123.252,输入接口为中间设备2的接口1。完成以上操作后,上述表11的内容更新,具体内容如表12所示内容:
[0142]
表12
[0143]
反向会话id源ip地址目的ip地址输入接口100000003192.168.1.1192.168.123.252中间设备1的接口1100000004192.168.25.1192.168.123.22中间设备2的接口1100000005192.168.1.20192.168.123.252中间设备2的接口1
[0144]
进一步的,交换设备将第一报文发送到相应的客户端。
[0145]
步骤350:在交换设备基于判断结果确定已建立会话后,交换设备基于第一会话监控信息,获得第一报文关联的历史目标输入接口,并将历史目标输入接口作为当前传输的目标输入接口,以及通过目标输入接口,将第一报文发往相应的目标中间设备。
[0146]
具体实施中,同样以上述场景1和场景2为例。
[0147]
在上述场景1下,当执行步骤310时,假设交换设备对接收的第一报文进行解析后,确定第一报文的源ip地址为192.168.25.1,目的ip地址为192.168.123.22,以及假设交换设备上保存的会话保持流表1中记录了上述表5所示的内容。
[0148]
显然,表5中已记录与第一报文的源ip地址和目的ip地址对应匹配的源ip地址和目的ip地址,则交换设备确定判断结果为:已建立会话。
[0149]
进一步地,交换设备基于表5的内容,获得第一报文的历史目标输入接口为中间设备1的接口1,并将中间设备1的接口1作为当前传输的目标输入接口,以及通过目标输入接口,将第一报文发往相应的目标中间设备。
[0150]
在上述场景2下,当执行步骤310时,假设交换设备对接收的第一报文进行解析后,确定第一报文的源ip地址为192.168.123.22,目的ip地址为192.168.25.1,以及假设交换设备上保存的会话保持流表1中记录了上述表6所示的内容。
[0151]
显然,表6中已记录与第一报文的源ip地址和目的ip地址对应匹配的源ip地址和目的ip地址,则交换设备确定判断结果为:已建立会话。
[0152]
进一步地,交换设备基于表6的内容,获得第一报文的历史目标输入接口为中间设备2的接口2,并将中间设备2的接口2作为当前传输的目标输入接口,以及通过目标输入接口,将第一报文发往相应的目标中间设备。
[0153]
步骤360:交换设备通过目标输入接口,将第一报文发往目标中间设备,并接收目标中间设备通过相应的目标输出接口返回的第一报文。
[0154]
在上述场景1下,在执行步骤360时,交换设备通过选取的中间设备1的接口1,将第一报文发往中间设备1,中间设备1收到第一报文并处理完成后,将第一报文通过中间设备1的接口2返回到交换设备。
[0155]
在上述场景2下,在执行步骤360时,交换设备通过选取的中间设备2的接口2,将第一报文发往中间设备2,中间设备2收到第一报文并处理完成后,将第一报文通过中间设备2
的接口1返回到交换设备。
[0156]
步骤370:交换设备接收目标中间设备通过相应的目标输出接口返回的第一报文,并基于第一报文,在第二会话监控信息中创建相应的反向目标会话。交换设备针对反向目标会话,在第二会话监控信息中,获得已记录相应的第二报文,并将记录的第二报文对应的历史源ip地址,更新为第一报文的目的ip地址,将记录的第二报文对应的历史目的ip地址,更新为第一报文的源ip地址,以及将记录的第二报文的历史目标输入接口,更新为目标中间设备对应的目标输出接口。进一步的,交换设备将接收的第一报文发往相应的接收端。
[0157]
在上述场景1下,当执行步骤370时,假设中间设备上保存的会话保持流表2的具体内容如上述表9所示的内容。
[0158]
交换设备接收中间设备1通过接口2返回的第一报文,基于第一报文和交换设备中的输入接口分类表的会话保持学习流表项进行学习,建立并保存相应的反向目标会话。交换设备针对反向目标会话,在会话保持流表2中,获得已记录的第二报文,并将记录的第二报文进行对应的更新,其中,更新后的第二报文的源ip地址、目的地址和输入接口均不发生改变。完成以上操作后,上述表9的内容更新,但更新后表9内容不发生改变。
[0159]
进一步的,交换设备将接收的第一报文发往相应的服务器。
[0160]
在上述场景2下,当执行步骤370时,假设中间设备上保存的会话保持流表2的具体内容如上述表11所示的内容。
[0161]
交换设备接收中间设备2通过接口1返回的第一报文,基于第一报文和交换设备中的输入接口分类表的会话保持学习流表项进行学习,建立并保存相应的反向目标会话。交换设备针对反向目标会话,在会话保持流表2中,获得已记录的第二报文,并将记录的第二报文进行对应的更新,其中,更新后的第二报文的源ip地址、目的地址和输入接口均不发生改变;完成以上操作后,上述表11的内容更新,但更新后表11内容不发生改变。
[0162]
进一步的,交换设备将接收的第一报文发往相应的客户端。
[0163]
基于相同的发明构思,本技术实施例还提供一种基于中间设备的报文发送装置(如交换设备)。参阅图4所示,本技术实施例中交换设备的逻辑结构示意图,具体包括:
[0164]
判断单元400,用于接收发送端发送的第一报文,并基于保存的第一会话监控信息,判断对应所述第一报文是否已建立会话,获得判断结果;
[0165]
调度单元410,用于若基于所述判断结果确定未建立会话,则所述交换设备基于预设的中间设备接口集合进行负载均衡调度,为所述第一报文分配相应的目标中间设备的目标输入接口;
[0166]
输入单元420,用于通过所述目标输入接口,将所述第一报文发往所述目标中间设备,并接收所述目标中间设备通过相应的目标输出接口返回的所述第一报文;
[0167]
第一处理单元430,用于在第二会话监控信息中,基于所述第一报文,建立并保存相应的反向目标会话,并将所述第一报文发往相应的接收端。
[0168]
可选的,基于保存的第一会话监控信息,判断对应所述第一报文是否已建立会话,获得判断结果时,判断单元400用于:
[0169]
对所述第一报文进行解析,获得所述第一报文的源ip地址和目的ip地址;
[0170]
获取保存的第一会话监控信息,其中,所述第一会话监控信息中包括:已建立会话的历史报文的历史源ip地址、历史目的ip地址和对应的历史目标中间设备的历史目标输入
接口;
[0171]
判断所述第一报文的源ip地址与目的ip地址,和所述第一会话监控信息中的历史源ip地址与历史目的ip地址,是否匹配成功,若是,则确定判断结果为:已建立会话,否则,确定判断结果为:未建立会话。
[0172]
可选的,基于预设的中间设备接口集合进行负载均衡调度,为所述第一报文分配相应的目标中间设备的目标输入接口时,调度单元410用于:
[0173]
获取预设的中间设备接口集合,以及获取所述中间设备接口集合对应的各个中间设备的负荷状态信息和设备性能信息;
[0174]
基于获得的各个负荷状态信息和设备性能信息,采用预设的负载均衡策略,从所述中间设备接口集合中选取出目标中间设备的目标输入接口;
[0175]
为所述第一报文分配给所述目标中间设备的目标输入接口。
[0176]
可选的,基于所述第一报文,建立并保存相应的反向目标会话,并将所述第一报文发往相应的接收端,第一处理单元430用于:
[0177]
基于所述第一报文,在第二会话监控信息中创建相应反向目标会话;
[0178]
针对所述反向目标会话,在所述第二会话监控信息中,记录相应的第二报文;其中,所述交换设备将所述第一报文的目的地址,记录为所述第二报文对应的历史源ip地址,将所述第一报文的源ip地址,记录为所述第二报文对应的历史目的ip地址,以及将所述目标中间设备对应的目标输出接口,记录为第二报文对应的历史输入接口。
[0179]
可选的,所述装置还包括:
[0180]
发送单元440,用于若基于所述判断结果确定已建立会话,则所述交换设备基于所述第一会话监控信息,获得所述第一报文关联的历史目标输入接口,并将所述历史目标输入接口作为当前传输的目标输入接口,以及通过所述目标输入接口,将所述第一报文发往相应的目标中间设备。
[0181]
可选的,通过所述目标输入接口,将所述第一报文发往相应的目标中间设备之后,所述装置还包括第二处理单元,所述第二处理单元450用于:
[0182]
接收所述目标中间设备通过相应的目标输出接口返回的所述第一报文;
[0183]
基于所述第一报文,在第二会话监控信息中创建相应的反向目标会话;
[0184]
针对所述反向目标会话,在所述第二会话监控信息中,获得已记录相应的第二报文,并将记录的所述第二报文对应的历史源ip地址,更新为所述第一报文的目的ip地址,将记录的所述第二报文对应的历史目的ip地址,更新为所述第一报文的源ip地址,以及将记录的所述第二报文的历史目标输入接口,更新为所述目标中间设备对应的目标输出接口。
[0185]
将所述第一报文发往相应的接收端。
[0186]
基于上述实施例,参阅图5所示为本技术实施例中电子设备的结构示意图。
[0187]
本技术实施例提供了一种电子设备,该电子设备可以包括处理器510(center processing unit,cpu)、存储器520、输入设备530和输出设备540等,输入设备530可以包括键盘、鼠标、触摸屏等,输出设备540可以包括显示设备,如液晶显示器(liquid crystal display,lcd)、阴极射线管(cathode ray tube,crt)等。
[0188]
存储器520可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器510提供存储器520中存储的程序指令和数据。在本技术实施例中,存储器520可以用于存储本申
请实施例中任一种基于中间设备的报文传发送方法的程序。
[0189]
处理器510通过调用存储器520存储的程序指令,处理器510用于按照获得的程序指令执行本技术实施例中任一种基于中间设备的报文发送方法。
[0190]
基于上述实施例,本技术实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的基于中间设备的报文发送方法。
[0191]
本技术实施例中,交换设备基于保存的第一会话监控信息,判断接收的第一报文是否已建立会话,若确定未建立会话,则基于预设的中间设备接口集合进行负载均衡调度,并通过分配的目标输入接口,将第一报文发往目标中间设备,接收目标中间设备通过相应的目标输出接口返回的第一报文,并在第二会话监控信息中,建立并保存相应的反向目标会话,并将第一报文发往相应的接收端,这样,借助于中间设备接口集合,能够将报文均衡的调度至中间设备,能够发挥出中间设备的处理能力,避免出现部分中间设备过载运行,以及部分中间设备空载运行的情况,保证中间设备的处理效果,与此同时,提高了报文的处理效率,借助于第二会话监控信息中记录的反向目标会话,保证了同一会话的请求和响应方向的流量被负载到同一个中间设备,实现了在具有双向通信需求的网络环境下,能够进行合理的负载均衡调度,并在报文的传输过程中实现了会话保持,提高了报文的传输效率,保证了报文的转发效率。
[0192]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0193]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0194]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0195]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0196]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献