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

基于负载均衡系统的数据发送方法、装置和设备与流程

2022-06-11 06:53:17 来源:中国专利 TAG:


1.本公开涉及数据处理中的云计算、物联网、大数据等领域,尤其涉及一种基于负载均衡系统的数据发送方法、装置和设备。


背景技术:

2.随着计算机技术的发展,为了保证服务器的有效工作,可以配置有负载均衡系统,服务器可以完成数据流的接收和发送。
3.现有技术中,服务器可以启动进程,服务器基于进程,依据转发表完成数据流的发送;其中,转发表可以指示出用于接收数据流的服务器的服务器地址。
4.但是上述方式中,服务器常需要更新负载均衡系统,服务器在更新负载均衡系统的时候,会删除用于发送数据流的进程、以及进程所使用的转发表;但是,进程发送数据流需要依赖于转发表;从而导致数据流无法被成功发送出去。


技术实现要素:

5.本公开提供了一种基于负载均衡系统的数据发送方法、装置和设备。
6.根据本公开的第一方面,提供了一种基于负载均衡系统的数据发送方法,所述方法应用于服务器,所述服务器运行有主进程,所述方法包括:
7.在基于第一从进程发送数据流的过程中,若确定更新所述负载均衡系统,则删除所述第一从进程,并启动第二从进程。
8.基于所述第二从进程,从预设的内存区域中读取与所述数据流对应的转发表,其中,所述预设的内存区域为所述主进程所分配的,所述转发表中包括数据流与接收数据流的其他服务器之间的对应关系。
9.根据所读取的转发表,将所述数据流继续发送给所读取的转发表所指示的其他服务器。
10.根据本公开的第二方面,提供了一种基于负载均衡系统的数据发送装置,所述装置应用于服务器,所述服务器运行有主进程,所述装置包括:
11.第一删除单元,用于在基于第一从进程发送数据流的过程中,若确定更新所述负载均衡系统,则删除所述第一从进程。
12.启动单元,用于在所述删除单元在基于第一从进程发送数据流的过程中,若确定更新所述负载均衡系统,则删除所述第一从进程之后,启动第二从进程。
13.获取单元,用于基于所述第二从进程,从预设的内存区域中读取与所述数据流对应的转发表,其中,所述预设的内存区域为所述主进程所分配的,所述转发表中包括数据流与接收数据流的其他服务器之间的对应关系。
14.发送单元,用于根据所读取的转发表,将所述数据流继续发送给所读取的转发表所指示的其他服务器。
15.根据本公开的第三方面,提供了一种电子设备,包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
19.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。
20.根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
21.根据本公开的第六方面,提供了一种服务器,所述服务器运行有主进程,所述服务器包括第二方面所述的装置。
22.根据本公开的技术解决了负载均衡系统更新升级时数据丢失的问题。
23.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
24.附图用于更好地理解本方案,不构成对本公开的限定。其中:
25.图1是本公开提供的一种负载均衡系统数据发送的应用场景示意图;
26.图2是本公开提供的第二种负载均衡系统数据发送的应用场景示意图;
27.图3是根据本公开第一实施例的示意图;
28.图4是根据本公开第二实施例的示意图;
29.图5是可以实现本公开实施例的基于负载均衡系统的数据发送方法的场景图;
30.图6是根据本公开第三实施例的示意图;
31.图7是根据本公开第四实施例的示意图;
32.图8是根据本公开第五实施例的示意图;
33.图9是用来实现本公开实施例的基于负载均衡系统的数据发送方法的电子设备的框图。
具体实施方式
34.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
35.随着计算机技术的发展,数据访问量的不断提高,可以通过负载均衡技术将海量的数据访问请求转发到多台后端服务器上,进而避免当一台后端服务器上的数据访问请求增多时,后端服务器响应时间较长的问题。
36.目前,四层负载均衡系统可以分为两类,一类为无状态的四层负载均衡系统,另一类为有状态的四层负载均衡系统。
37.对于有状态的四层负载均衡系统而言,有状态的负载均衡系统在将数据流转发至最终接收数据流的服务器时,通常会依赖有状态的四层负载均衡系统所维护的转发表。对于配置有有状态的负载均衡系统的服务器,当需要进行数据流的转发时,服务器可以基于该有状态的负载均衡系统启动一个进程,之后服务器基于该进程,通过查找转发表的方式,来确定接收该数据流的服务器的服务器地址。而无状态的负载均衡系统不需要依赖转发表,可以通过采用一致性哈希的算法确定出接收数据流的服务器的服务器地址。
38.通常,一个数据流中包含有多个数据包,对于配置有有状态的负载均衡系统的服务器而言,该服务器在确定接收数据流的服务器的服务器地址时,该服务器会基于该服务器启动的进程,依据一条数据流中的首个数据包,例如,同步(synchronize,简称syn)数据包,以及在该有状态的四层负载均衡系统中的负载均衡策略,来确定接收该数据流的服务器的服务器地址,并将接收该数据流的服务器的服务器地址存储至转发表中。之后,服务器基于启动的进程,在对该数据流中的非首个数据包进行转发时,可以通过直接查找转发表,将同一数据流中的所有数据包转发至同一个服务器地址。
39.然而,在需要对有状态的负载均衡系统版本进行升级时,需要将配置有有状态的负载均衡系统的服务器所启动用于发送数据流的进程删除,同时该进程所使用的转发表也被删除;由于进程发送数据流需要依赖转发表,进而导致数据流无法成功的发送出去。
40.举例来说,图1是本公开提供的一种负载均衡系统数据发送的应用场景示意图。如图1所示,图中包括有交换机101,四台服务器(图中用第一服务器102、第二服务器103、第三服务器104以及第四服务器105表示)以及一台远程服务器107。其中,每一台服务器都配置有有状态的四层负载均衡系统,每一台服务器中启动了一个负载均衡进程,每一个负载均衡进程对应转发表。第一服务器102中包括第一负载均衡进程1021以及第一转发表1022;第二服务器103中包括第二负载均衡进程1031以及第二转发表1032;第三服务器104中包括第三负载均衡进程1041以及第三转发表1042;第四服务器105中包括第四负载均衡进程1051以及第四转发表1052。当交换机101用于接收用户发送的数据流106。交换机101可以基于预先设置的路由策略,将用户发送的数据流106发送至第二服务器103,第二服务器103基于第二负载均衡进程1031以及第二转发表1032,将数据流106发送至远程服务器107,例如,图中箭头所指示的方向。远程服务器107响应于所接收的数据流106,将响应数据通过第二负载均衡进程1031在返回至交换机101,并由交换机101将响应数据返回至用户。在第二服务器103接收数据流106的过程中,若需要对第二服务器103中的有状态的四层负载均衡系统进行升级,则此时需要将第二负载均衡进程1031以及第二转发表1032删除,开始更新升级。在第二服务器103更新过程中,由于第二服务器103中第二转发表1032的丢失,会导致发送至第二服务器103中的数据流产生丢包。之后,由于第二服务器103出现丢包现象,交换机101会将数据流106中未发送完的数据包1061发送至其余服务器,例如第一服务器102,由于第一服务器102中未保存数据流106所对应的第二转发表1032,则此时,第一服务器102对于数据流106中的数据包1061转发失败,造成数据损失。.
41.举例来说,图2是本公开提供的第二种负载均衡系统数据发送的应用场景示意图。如图2所示,服务器200中包括网卡201、服务器配置文件202、负载均衡进程203、存储区204、以及存储区204中的第五转发表2041。服务器配置文件202用于实现对服务器200的地址配置。网卡201用于接收需要转发的数据流。服务器200基于负载均衡进程203,在存储区204中
查找数据流对应第五转发表2041,并根据第五转发表2041确定数据流对应的目的服务器,之后,在通过网卡201将数据流转发至对应的目的服务器,其中,目的服务器即接收数据流的服务器。
42.为了避免上述技术问题中的至少一种,本公开的发明人经过创造性地劳动,得到了本公开的发明构思:通过在服务器中运行主进程以确保转发表不会因为负载均衡系统升级时删除进程而导致的转发表的丢失,减少数据发送过程中的数据丢失。
43.基于上述发明构思,本公开提供一种基于负载均衡系统的数据发送方法、装置和设备,应用于数据处理中的云计算、物联网、大数据等领域,以达到在负载均衡系统升级时的减少数据包丢失的技术效果。
44.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
45.图3是根据本公开第一实施例的示意图,如图3所示,本公开实施例的基于负载均衡系统的数据发送方法,应用于服务器,该方法包括:
46.s301、在基于第一从进程发送数据流的过程中,若确定更新负载均衡系统,则删除第一从进程,并启动第二从进程。
47.示例性地,本实施例中,服务器中配置有负载均衡系统,并且运行有主进程以及第一从进程。其中,服务器基于第一从进程实现对外部接收到的数据流进行转发的处理。并且,在服务器基于第一从进程进行发送数据流的过程中,会将确定出的用于接收该数据流的其他服务器与该数据流的对应关系存储在主进程分配的预设的内存区域中。即,在服务器中,第一从进程用于实现数据流发送的处理。
48.若在服务器基于第一从进程发送数据流的过程中,服务器确定当前需要对负载均衡系统进行更新升级,则此时,服务器会删除第一从进程,并且会基于更新后的负载均衡系统的更新文件,启动第二从进程。举例来说,当服务器接收到需要用于指示该服务器所配置的负载均衡系统升级的指令,并且该指令中包括负载均衡系统的更新文件时,此时服务器会删除第一进程,并且接收到的更新文件启动第二进程。
49.s302、基于第二从进程,从预设的内存区域中读取与数据流对应的转发表,其中,预设的内存区域为主进程所分配的,转发表中包括数据流与接收数据流的其他服务器之间的对应关系。
50.示例性地,本实施例中,服务器中的转发表是用于保存数据流与用于接收该数据流的其他服务器之间的对应关系。并且,转发表中存储的对应关系是在服务器接收到该数据流中的首个数据包时,基于服务器中预设的负载均衡算法所确定的。其中,负载均衡算法是确定接收数据流的其他服务器的方法,通常可以采用轮询方法、加权轮询法、最少连接算法等。
51.在服务器基于更新后的负载均衡系统的更新文件启动第二从进程之后,服务器会继续基于第二从进程在主进程分配的预设的内存区域中读取该数据流对应的转发表,并基于该转发表确定数据流与接收该数据流的其他服务器之间的对应关系。
52.此外,本实施例中的主进程与第二从进程之间可以采用内存共享机制使得第一从进程可以访问主进程的分配的预设的内存区域中。本实施例中对于不同进程之间的内存共享的方法不做具体限制。
53.s303、根据所读取的转发表,将数据流继续发送给所读取的转发表所指示的其他服务器。
54.示例性地,在服务器基于第二从进程确定出数据流对应的转发表之后,则会继续将该数据流中第一从进程未发送的数据包继续发送至该数据流对应的其他服务器。
55.本实施例中,在服务器中运行有主进程,并且,服务器基于主进程分配该服务器中用于存储转发表的预设的内存区域,服务器基于从进程确定转发表中的数据流与接收数据流的其他服务器之间的对应关系,并基于确定出的对应关系,实现对数据流中的数据包进行转发。当服务器中的负载均衡系统需要升级更新时,会删除第一从进程;并且,在服务器中的负载均衡系统升级时,由于服务器中的主进程一直保持运行状态,因此主进程申请分配的内存资源不会因为第一从进程的删除而丢失。在第二从进程启动之后,仍可以基于预设的内存区域中原本第一从进程创建的转发表对第一从进程所发送的数据流中未发送的数据包进行发送处理。进而,通过上述方法避免了数据包的丢失,提高了用户满意度。
56.图4是根据本公开第二实施例的示意图,如图4所示,本公开实施例的基于负载均衡系统的数据发送方法,应用于服务器,该方法包括:
57.s401、基于主进程,根据当前的服务器的内存资源信息,分配出预设的内存区域。
58.一个示例中,预设的内存区域具有内存地址,内存地址与预设的共享标识相关联。
59.示例性地,本实施例中,服务器中运行有主进程。首先服务器先启动主进程,之后,服务器可以基于主进程,通过当前服务器中的内存资源信息,分配出用于存储转发表的预设的内存区域,其中,当前的服务器的内存资源信息用于表征当前服务器中的空闲内存资源。
60.可以理解的是,基于当前服务器中的内存资源信息分配预设的内存区域时,可以确保预设的内存区域可以成功分配,不会因为占用了服务器其余配置的资源而导致服务器无法正常运行的问题。
61.并且,在分配出预设的内存区域之后,还会将分配出的预设的内存区域所对应的内存地址与预设的共享标识相关联,以便服务器中的第二从进程可以基于预设的共享标识实现对预设的内存区域的访问,进而使得第二从进程完成对数据的转发,避免由于在负载均衡系统更新之后,需要发送数据流中数据包因为转发表的丢失而无法实现数据流转发,造成数据丢失的问题。
62.一个示例中,上述内存地址与预设共享标识之间可以采用内存映射机制实现。
63.s402、在基于第一从进程发送数据流的过程中,若确定更新负载均衡系统,则删除第一从进程。其中,数据流包括多个数据包。
64.示例性地,服务器运行有主进程,本步骤可以参见上述步骤s101,不再赘述。
65.s403、将数据流中未发送的数据包,缓存至预设缓冲队列中。
66.示例性地,服务器删除第一从进程之后,并且在第二从进程启动之前,会存在一小段时间间隔,因此为了避免第二从进程启动之前,服务器所接收到的数据流中的数据包的丢失,此时,可以将数据流中第一从进程还未发送的数据包缓存至预设缓冲队列中去。
67.s404、启动第二从进程。
68.示例性地,在服务器删除第一从进程之后,可以基于服务器接收到的负载均衡系统的更新文件对服务器中的负载均衡系统进行更新,并且还可以基于接收到的负载均衡系
统的更新文件启动第二从进程。
69.s405、基于第二从进程,根据预设的共享标识,确定与预设的共享标识对应的内存地址。
70.一个示例中,步骤s405包括以下步骤:基于第二从进程,根据预设的共享标识、以及预设关联关系,确定与预设的共享标识对应的内存地址;其中,预设关联关系为共享标识与内存地址之间的关联关系。
71.一个示例中,其中,预设的内存区域中存储有多个转发表;预设的内存区域具有内存地址,内存地址具有多个地址块,每一地址块与每一转发表对应。
72.示例性地,为了使得服务器中的第二从进程可以找到之前被删除的第一从进程确定的转发表,服务器在启动第二从进程之后,会基于预设的共享标识,查找到与该预设的共享标识对应的内存地址。
73.在一种可能的情况中,服务器可以基于第二从进程,依据预设的共享标识,以及预设的共享标识和内存地址中的关联关系,以使得第二从进程可以基于上述关联关系,确定出共享标识对应的内存地址。其中,预设标识与内存地址之间的关联关系可以为服务器基于主进程关联得到的。也就是说,服务器可以基于主进程,将分配得到的预设的内存区域对应的内存地址关联与预设的共享标识相关联,得到内存地址与预设的共享标识之间的关联关系。进而,服务器可以基于第二从进程,确定出服务器基于主进程分配内存地址,之后,服务器基于第二从进程以及确定出的内存地址,实现对数据流的发送,避免数据流中数据包的丢失。
74.此外,服务器基于主进程分配的预设的内存区域中可以存储多个转发表,并且,预设的内存区域还具有与该预设的内存区域对应的内存地址。在向预设的内存区域中存储转发表时,可以将内存地址进行分块,得到多个地址块,之后,每一转发表可以存储至与该转发表对应的地址块对应的预设的内存区域中,进而实现对预设的内存区域合理使用,避免内存区域浪费。
75.s406、依据所确定的内存地址,从内存地址对应的预设的内存区域中,读取与数据流对应的转发表。其中,预设的内存区域为主进程所分配的,转发表中包括数据流与接收数据流的其他服务器之间的对应关系。
76.示例性地,服务器基于第二从进程,确定出内存地址之后,可以基于该内存地址读取该内存地址对应的预设的内存区域中的转发表,并且该预设的内存区域是由服务器中运行的主进程分配的,进而实现主进程与第二从进程之间的内存共享。之后,服务器基于第二从进程,可以继续从预设的内存区域中转发表中获取数据流中未被发送的数据包所对应的接收该数据流的其他服务器,实现数据流的转发,避免因负载均衡系统更新所导致的数据包的丢失。
77.s407、从缓冲队列中,读取数据包。
78.示例性地,在服务器中的第二从进程启动之后,会优先从缓冲队列中依次读取缓冲队列中所缓存的数据包。
79.一个示例中,当缓存队列中的数据包被读取结束之后,可删除该缓冲队列。
80.一个示例中,服务器中的网卡接收到数据包之后,若确定缓冲队列为空,则可以将接收到的数据包直接发送至第二从进程。若确定缓冲队列不为空,则继续向缓冲队列中缓
冲数据包。
81.s408、根据所读取的转发表,将所读取的数据包发送给所读取的转发表所指示的其他服务器。
82.一个示例中,转发表中包括数据流与接收数据流的其他服务器的服务器地址之间的对应关系。步骤s408包括以下步骤:根据所读取的转发表,确定与数据流对应的服务器地址;根据与数据流对应的服务器地址,将所读取的数据包发送至与数据流对应的服务器地址。
83.一个示例中,数据流具有五元组信息,转发表中的服务器地址与五元组信息相对应。数据流具有数据流标识,缓冲队列与数据流标识具有对应关系。
84.示例性地,在从缓冲队列中获取到数据包之后,服务器中的第二从进程会基于该数据包,在预设的内存区域中读取与该数据包所处的数据流所对应的转发表,进而基于获取到的转发表,服务器将数据包发送至该数据包所处的数据流所对应的接收该数据流的其他服务器,避免数据包的丢失。
85.在一些实施例中,转发表中可以存储有数据流所对应的接收该数据流的其他服务器的服务器的标识的对应关系,以及存储有服务器标识与服务器地址的对应关系,进而服务器可以结合上述对应关系,确定出数据流所对应的接收该数据流的其他服务器的服务器地址,以使服务器基于确定出其他服务器的地址将数据流转发至与其对应的服务器。
86.在一些实施例中,在转发表中存储有数据流所对应的接收该数据流的其他服务器的服务器地址。在发送数据流时,服务器基于第二进程,在转发表中可以确定出数据包所处的数据流所对应的接收该数据流的其他服务器的服务器地址,服务器可以基于确定出的服务器地址实现对数据流的发送。一个示例中,其他服务器的服务器地址包括服务器的互联网协议地址以及服务器的端口。本实施例中,可以基于转发表中的数据流以及数据流所对应的其他服务器的服务器地址,实现对数据流的快速转发。
87.在一些实施例中,每一条数据流都具有五元组信息,具有相同五元组信息的数据包为同一数据流,五元组信息包括源互联网协议地址、源端口、目的互联网协议地址、目的端口以及传输层协议。因此,在转发表中存储时,可以用数据流的五元组信息对数据流进行标识,进而将数据流对应的五元组信息以及接收该数据流的其他服务器的服务器地址存储至转发表中。本实施例中采用五元组信息对数据流进行区分,在进行数据包的转发时,可以准确匹配到数据包所处的数据流对应的其他服务器的服务器地址,保证数据流转发的准确性。
88.在一些实施例中,数据流具有数据流标识,并且,删除第一从进程之后,启动第二进程之前,服务器可以将在这个阶段中所接收到的数据流存储至于该数据流对应的缓冲队列中。当第二从进程中包括多个线程时,多个线程可以分别从不同的缓冲队列中读取数据包,减少多个线程之间的资源竞争。
89.s409、接收其他服务器反馈的响应信息,其中,响应信息表征其他服务器成功响应数据流;根据响应信息,从预设的内存区域中删除与数据流对应的转发表。
90.示例性地,响应信息可以理解为其他服务器成功响应接收到的数据流,即其他服务器对于该数据流所表征的请求都已经响应结束。
91.当服务器接收到其他服务器发送的响应信息之后,此时,服务器会将预设的内存
区域中该数据流所对应的数据表删除,进而避免浪费服务器中的内存资源。
92.本实施例中,通过服务器基于第二从进程,根据预设的共享标识,确定与预设的共享标识对应的内存地址,确定内存地址。服务器可以基于第二从进程从读取该内存地址对应的预设的内存区域中获取转发表,实现对数据的转发。进而避免了服务器由于负载均衡系统更新升级时,转发表被删除而导致的数据丢失的问题。
93.举例来说,图5是可以实现本公开实施例的基于负载均衡系统的数据发送方法的场景图。如图5所示,服务器500包括:网卡501、服务器配置文件502、主进程503、内存区域504、第一从进程505以及第二从进程506。内存区域504中包括第六转发表5041以及第七转发表5042。服务器配置文件502用于实现对服务器500的地址配置。网卡501用于接收需要转发的数据流。在服务器500中,主进程503启动,并分配得到内存区域504。之后服务器500启动第一从进程505,并基于第一从进程505在内存区域504中查找数据流对应转发表,并根据转发表确定用于接收数据流对应的其他服务器,之后,在通过网卡501将数据流转发至用于接收数据流其他服务器。在服务器500中的负载均衡系统需要更新时,此时,服务器500删除第一从进程505,并保持主进程504处于运行状态。之后,服务器基于更新后的负载均衡系统启动第二从进程506时,以使第二从进程506可以继续基于内存区域504中的转发表对数据流中未完成发送的数据包进行发送。
94.此外,在第一从进程505中还设置有第一从线程5051以及第二从线程5052,在第一从进程505进行接收网卡发送的数据包以及查询转发表可以分别分配给不同的线程。第二从进程在创建时,也可以创建第三从线程5061以及第四从线程5062,分别用于实现负载均衡系统更新后的数据包的接收以及转发表的查询,此处每一从进程下的线程数量仅为举例说明,也可以包括更多线程。
95.图6是根据本公开第三实施例的示意图,如图6所示,本公开实施例的基于负载均衡系统的数据发送装置600,该装置应用于服务器,服务器运行有主进程,包括:
96.第一删除单元601,用于在基于第一从进程发送数据流的过程中,若确定更新负载均衡系统,则删除第一从进程。
97.启动单元602,用于在删除单元601在基于第一从进程发送数据流的过程中,若确定更新负载均衡系统,则删除第一从进程之后,启动第二从进程。
98.获取单元603,用于基于第二从进程,从预设的内存区域中读取与数据流对应的转发表,其中,预设的内存区域为主进程所分配的,转发表中包括数据流与接收数据流的其他服务器之间的对应关系。
99.发送单元604,用于根据所读取的转发表,将数据流继续发送给所读取的转发表所指示的其他服务器。
100.示例性地,本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
101.图7是根据本公开第四实施例的示意图,如图7所示,本公开实施例的基于负载均衡系统的数据发送装置700,该装置应用于服务器,服务器运行有主进程,包括:
102.第一删除单元701,用于在基于第一从进程发送数据流的过程中,若确定更新负载均衡系统,则删除第一从进程。
103.启动单元702,用于在删除单元701在基于第一从进程发送数据流的过程中,若确
定更新负载均衡系统,则删除第一从进程之后,启动第二从进程。
104.获取单元703,用于基于第二从进程,从预设的内存区域中读取与数据流对应的转发表,其中,预设的内存区域为主进程所分配的,转发表中包括数据流与接收数据流的其他服务器之间的对应关系。
105.发送单元704,用于根据所读取的转发表,将数据流继续发送给所读取的转发表所指示的其他服务器。
106.一个示例中,获取单元703,包括:
107.确定模块7031,用于基于第二从进程,根据预设的共享标识,确定与预设的共享标识对应的内存地址。
108.第一获取模块7032,用于依据所确定的内存地址,从内存地址对应的预设的内存区域中,读取与数据流对应的转发表。
109.一个示例中,确定模块7031,具体用于:
110.基于第二从进程,根据预设的共享标识、以及预设关联关系,确定与预设的共享标识对应的内存地址;其中,预设关联关系为共享标识与内存地址之间的关联关系。
111.一个示例中,预设的内存区域中存储有多个转发表;预设的内存区域具有内存地址,内存地址具有多个地址块,每一地址块与每一转发表对应。
112.一个示例中,数据流包括多个数据包;本实施例提供的装置,还包括:
113.缓存单元705,用于在启动单元702启动第二从进程之前,将数据流中未发送的数据包,缓存至预设缓冲队列中。
114.一个示例中,发送单元704,包括:
115.第二获取模块7041,用于从缓冲队列中,读取数据包。
116.发送模块7042,用于根据所读取的转发表,将所读取的数据包发送给所读取的转发表所指示的其他服务器。
117.一个示例中,转发表中包括数据流与接收数据流的其他服务器的服务器地址之间的对应关系;发送模块7042,包括:
118.确定子模块70421,用于根据所读取的转发表,确定与数据流对应的服务器地址。
119.发送子模块70422,用于根据与数据流对应的服务器地址,将所读取的数据包发送至与数据流对应的服务器地址。
120.一个示例中,数据流具有五元组信息,转发表中的服务器地址与五元组信息相对应。
121.一个示例中,数据流具有数据流标识,缓冲队列与数据流标识具有对应关系。
122.一个示例中,本实施例提供的装置,还包括:
123.分配单元706,用于基于主进程,根据当前的服务器的内存资源信息,分配出预设的内存区域。
124.一个示例中,预设的内存区域具有内存地址,内存地址与预设的共享标识相关联。
125.一个示例中,本实施例提供的装置,还包括:
126.接收单元707,用于接收其他服务器反馈的响应信息,其中,响应信息表征其他服务器成功响应数据流。
127.第二删除单元708,用于根据响应信息,从预设的内存区域中删除与数据流对应的
转发表。
128.示例性地,本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
129.图8是根据本公开第五实施例的示意图,如图8所示,本公开中的电子设备800可以包括:处理器801和存储器802。
130.存储器802,用于存储程序;存储器802,可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram),如静态随机存取存储器(英文:static random-access memory,缩写:sram),双倍数据率同步动态随机存取存储器(英文:double data rate synchronous dynamic random access memory,缩写:ddr sdram)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器802用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器802中。并且上述的计算机程序、计算机指令、数据等可以被处理器801调用。
131.上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器802中。并且上述的计算机程序、计算机指据等可以被处理器801调用。
132.处理器801,用于执行存储器802存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
133.具体可以参见前面方法实施例中的相关描述。
134.处理器801和存储器802可以是独立结构,也可以是集成在一起的集成结构。当处理器801和存储器802是独立结构时,存储器802、处理器801可以通过总线803耦合连接。
135.本实施例的电子设备可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
136.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
137.根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
138.图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
139.如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
140.设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
141.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如基于负载均衡系统的数据发送方法。例如,在一些实施例中,基于负载均衡系统的数据发送方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的方法基于负载均衡系统的数据发送方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法基于负载均衡系统的数据发送方法。
142.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
143.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
144.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
145.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
146.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
147.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
148.本公开提供了一种服务器,在服务器运行有主进程,服务器包括上述任一实施例中的基于负载均衡系统的数据发送装置。
149.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
150.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献