请求分发方法、装置、电子设备及存储介质与流程
未命名
09-22
阅读:65
评论:0

1.本发明涉及医疗技术领域的流量分发,尤其涉及一种请求分发方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.使用多个流量管理集群对服务器请求进行流量管控时,为保证流量平滑,会为每个流量管理集群设置一个负载均衡设备(如nginx服务器)进行请求转发,同时需要设置一个请求分发服务器将服务器请求分发到对应的负载均衡设备中。
3.由于请求分发服务器需要通过负载均衡设备与流量管理集群进行数据传输,请求访问链路节点较多,增加了数据传输时延。且当其中一个流量管理集群因升级或故障暂停使用时,无法灵活地将分发给该流量管理集群的请求重新分发给其它流量管理集群。
技术实现要素:
4.本发明提供一种请求分发方法、装置、电子设备及计算机可读存储介质,其主要目的在于减少请求访问链路节点,提升数据传输效率。
5.为实现上述目的,本发明提供一种请求分发方法,应用于服务器,所述方法包括:
6.为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集;
7.创建一个流量分发虚拟机,根据每个流量管理集群对应的策略文本集在所述流量分发虚拟机设置策略匹配规则;
8.通过所述流量分发虚拟机接收客户端发送的访问请求,基于所述策略匹配规则判断与所述访问请求对应的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机;
9.通过所述负载均衡虚拟机将所述访问请求转发到对应的流量管理集群。
10.可选地,所述为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集,包括:
11.根据与服务器连接的流量管理集群的数量创建相同数量的负载均衡虚拟机和策略文本集;
12.为每个流量管理集群分配一个唯一的负载均衡虚拟机进行流量转发;
13.从所有流量管理集群中选取一个流量管理集群作为默认流量管理集群,将所述默认流量管理集群对应的策略文本集设置为默认策略文本集。
14.可选地,所述策略匹配规则包括:
15.获取所述访问请求的统一资源标识符,并依次与每个流量管理集群对应的策略文本集包含的统一资源标识符进行匹配;
16.获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集。
17.可选地,所述获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集之后,还包括:
18.若所述访问请求未匹配命中所有的策略文本集,则将默认策略文本集作为所述访问请求匹配的策略文本集。
19.可选地,所述方法还包括:
20.当接收到一个流量管理集群的暂停使用通知时,将暂停使用的流量管理集群对应的策略文本集设置为停用策略文本集。
21.可选地,所述当接收到一个流量管理集群的暂停使用通知时,将暂停使用的流量管理集群对应的策略文本集设置为停用策略文本集之后,包括:
22.将暂停使用的流量管理集群返回的访问请求转发至所述流量分发虚拟机;基于所述策略匹配规则判断所述访问请求匹配的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机。
23.可选地,所述策略匹配规则包括:
24.获取每个流量管理集群对应的策略文本集,将所述访问请求的统一资源标识符依次与除停用策略文本集外的其它策略文本集进行匹配;
25.获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集。
26.为了解决上述问题,本发明还提供一种服务器,所述服务器包括:
27.流量分发虚拟机,用于接收客户端发送的访问请求,基于策略匹配规则判断所述访问请求匹配的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机;
28.负载均衡虚拟机,用于从所述流量分发虚拟机接收请求并转发到对应的流量管理集群。
29.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
30.至少一个处理器;以及,
31.与所述至少一个处理器通信连接的存储器;其中,
32.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的请求分发方法。
33.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的请求分发方法。
34.本发明通过在服务器配置流量分发虚拟机和负载均衡虚拟机,实现了通过单个设备进行多集群的流量分发和负载均衡,减少了请求访问链路的节点数量,提高了数据传输效率,能够更灵活地在多个多集群之间进行流量切换,减少了因切换集群导致的请求响应时间延长。
附图说明
35.图1为本发明请求分发方法一实施例的流程图;
36.图2为本发明电子设备一实施例的示意图;
37.图3为本发明服务器与流量管理集群一实施例的示意图。
38.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
39.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
41.如图1所示,为本发明请求分发方法一实施例的流程图,该请求分发方法应用于服务器,包括步骤s1-s4。
42.s1、为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集。
43.在一实施例中,所述服务器为netscaler设备。netscaler设备是一种网络流量管理设备,既可以作为高性能硬件设备使用,又可以作为灵活的基于软件的虚拟化设备提供,可以帮助用户实现负载均衡、流量管控、安全防护等功能。本实施例中,通过netscaler设备识别并分配传入的网络流量,根据设定的规则将其分发给不同的服务器或服务,从而提高应用程序的性能和可靠性。
44.例如:在医疗领域中,通过k8s集群管理和部署大量的医疗应用容器,以提高医疗服务的稳定性和可用性,如电子病历、预约系统、医生诊疗系统等,但是,所有的流量的入口都是通过netscaler设备,以实现同环境下多个k8s集群的流量统一管控。
45.在一实施例中,将每个流量管理集群对应的策略文本集,以及所述策略文本集与负载均衡虚拟机之间的一对一对应关系存储至服务器的存储数据库中。
46.具体地,所述为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集,包括:根据与服务器连接的流量管理集群的数量创建相同数量的负载均衡虚拟机和策略文本集;为每个流量管理集群分配一个唯一的负载均衡虚拟机进行流量转发;从所有流量管理集群中选取一个流量管理集群作为默认流量管理集群,将所述默认流量管理集群对应的策略文本集设置为默认策略文本集。
47.在一实施例中,当接收到一个流量管理集群的暂停使用通知时,将暂停使用的流量管理集群对应的策略文本集设置为停用策略文本集。
48.s2、创建一个流量分发虚拟机,根据每个流量管理集群对应的策略文本集在所述流量分发虚拟机设置策略匹配规则。
49.在一实施例中,通过虚拟化管理软件为服务器创建一个流量分发虚拟机和与流量管理集群相同数量的负载均衡虚拟机,对创建的虚拟机进行参数配置,并将策略匹配规则应用到流量分发虚拟机。具体地,通过自动化脚本或配置管理工具将策略匹配规则应用到流量分发虚拟机。
50.在一实施例中,当接收到一个流量管理集群的暂停使用通知时,将暂停使用的流
量管理集群返回的访问请求转发至所述流量分发虚拟机;获取每个流量管理集群对应的策略文本集,将所述访问请求的统一资源标识符依次与除停用策略文本集外的其它策略文本集进行匹配;获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集。例如:医疗系统有两个k8s集群,一个用于生产环境,另一个用于测试环境,当用于生产环境的k8s集群需要升级或发布新版本的医疗应用,此时暂停使用该k8s集群,并将流量平滑地引入用于测试环境的k8s集群进行流量管控。
51.s3、通过所述流量分发虚拟机接收客户端发送的访问请求,基于所述策略匹配规则判断与所述访问请求对应的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机。
52.具体地,所述策略匹配规则包括:获取所述访问请求的统一资源标识符,并依次与每个流量管理集群对应的策略文本集包含的统一资源标识符进行匹配;获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集;若所述访问请求的统一资源标识符未匹配命中所有的策略文本集,则将默认策略文本集作为所述访问请求匹配的策略文本集。
53.在一实施例中,所述策略匹配规则用于与策略文本集进行匹配的包括但不限于所述访问请求的统一资源标识符、ip地址、http头部信息、请求内容。具体地,在服务器的存储数据库预先存储多个策略匹配规则,如url匹配规则、ip地址匹配规则等,并在创建虚拟机时通过自动化脚本或配置管理工具选择其中一个策略匹配规则应用到流量分发虚拟机中。在医疗领域中,医院的医疗系统可以在一台的主机中,根据实际需求选择应用不同规则的虚拟服务器对待处理流量进行服务。
54.s4、通过所述负载均衡虚拟机将所述访问请求转发到对应的流量管理集群。
55.流量管理集群是一种用于网络流量的负载均衡和流量控制的解决方案,它将流量分配到多个服务器或网络节点,以提高网络性能和可靠性。本实施例中,流量管理集群为k8s集群,每个k8s集群与服务器通过唯一对应的负载均衡虚拟机进行数据传输,并在服务器的存储数据库中存储有唯一对应的策略文本集。
56.具体地,通过配置管理工具为每个k8s集群编写请求匹配规则以生成唯一对应的策略文本集,所述访问请求匹配规则包括该k8s集群对应的统一资源标识符、ip地址、http头部信息、请求内容等。
57.具体地,所述流量管理集群在接收到负载均衡虚拟机转发的请求后,对所述访问请求进行流量管控。
58.由上述实施例可知,本发明实施例通过在服务器配置流量分发虚拟机和负载均衡虚拟机,实现了通过单个设备进行多集群的流量分发和负载均衡,减少了请求访问链路的节点数量,提高了数据传输效率,能够更灵活地在多个多集群之间进行流量切换,减少了因切换集群导致的请求响应时间延长。
59.如图2所示,为本发明电子设备一实施例的示意图。电子设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子设备1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
60.在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存
储器11、处理器12、网络接口13,该存储器11中存储有请求分发程序10,所述访问请求分发程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及请求分发程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
61.其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可以是易失性的,也可以是非易失性的。具体的,可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等的存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元,例如该电子设备1的硬盘;在另一些实施例中,该存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。本实施例中,存储器11的可读存储介质主要包括存储程序区和存储数据区,其中,存储程序区通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的请求分发程序10的代码等;存储数据区可存储根据区块链节点的使用所创建的数据等,例如已经输出或者将要输出的各类数据。
62.处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行请求分发程序10等。
63.网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子设备1与客户端(图中未画出)之间建立通信连接。
64.可选的,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
65.在本发明的一实施例中,所述访问请求分发程序10被所述处理器12执行时实现如下步骤s1-s4。
66.s1、为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集;
67.s2、创建一个流量分发虚拟机,根据每个流量管理集群对应的策略文本集在所述流量分发虚拟机设置策略匹配规则;
68.s3、通过所述流量分发虚拟机接收客户端发送的访问请求,基于所述策略匹配规则判断与所述访问请求对应的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机;
69.s4、通过所述负载均衡虚拟机将所述访问请求转发到对应的流量管理集群。
70.上述步骤s1-s4所实现的具体操作步骤与本发明请求分发方法一实施例大体相同,在此不再赘述。
71.在其他实施例中,请求分发程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述请求分发程序10在电子设备1中的执行过程。
72.如图3所示,为本发明一实施例提供的服务器的功能模块图以及服务器与流量管理集群的示意图。
73.在本发明的第一实施例中,服务器100,包括流量分发虚拟机110、第一负载均衡虚拟机120、第二负载均衡虚拟机130及第三负载均衡虚拟机140,示例性地:
74.所述流量分发虚拟机110,用于接收客户端发送的访问请求,基于策略匹配规则判断所述访问请求匹配的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机;
75.所述第一负载均衡虚拟机120,用于从所述流量分发虚拟机110接收请求并转发到对应的第一流量管理集群200;
76.所述第二负载均衡虚拟机130,用于从所述流量分发虚拟机110接收请求并转发到对应的第二流量管理集群300;
77.所述第三负载均衡虚拟机140,用于从所述流量分发虚拟机110接收请求并转发到对应的第三流量管理集群400。
78.上述流量分发虚拟机110、第一负载均衡虚拟机120、第二负载均衡虚拟机130及第三负载均衡虚拟机140被执行时所实现的具体操作步骤与上述实施例大体相同,在此不再赘述。
79.此外,本发明实施例还提出一种计算机可读存储介质,可读存储介质可以是易失性的,也可以是非易失性的。具体的,计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等中的任意一种或者几种的任意组合。计算机可读存储介质中存储有请求分发程序10。
80.所述访问请求分发程序10被处理器执行时实现如下操作:
81.a1、为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集;
82.a2、创建一个流量分发虚拟机,根据每个流量管理集群对应的策略文本集在所述流量分发虚拟机设置策略匹配规则;
83.a3、通过所述流量分发虚拟机接收客户端发送的访问请求,基于所述策略匹配规则判断与所述访问请求对应的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机;
84.a4、通过所述负载均衡虚拟机将所述访问请求转发到对应的流量管理集群。
85.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
86.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
87.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
88.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种请求分发方法,应用于服务器,其特征在于,所述方法包括:为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集;创建一个流量分发虚拟机,根据每个流量管理集群对应的策略文本集在所述流量分发虚拟机设置策略匹配规则;通过所述流量分发虚拟机接收客户端发送的访问请求,基于所述策略匹配规则判断与所述访问请求对应的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机;通过所述负载均衡虚拟机将所述访问请求转发到对应的流量管理集群。2.如权利要求1所述的请求分发方法,其特征在于,所述为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集,包括:根据与服务器连接的流量管理集群的数量创建相同数量的负载均衡虚拟机和策略文本集;为每个流量管理集群分配一个唯一的负载均衡虚拟机进行流量转发;从所有流量管理集群中选取一个流量管理集群作为默认流量管理集群,将所述默认流量管理集群对应的策略文本集设置为默认策略文本集。3.如权利要求1所述的请求分发方法,其特征在于,所述策略匹配规则包括:获取所述访问请求的统一资源标识符,并依次与每个流量管理集群对应的策略文本集包含的统一资源标识符进行匹配;获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集。4.如权利要求3所述的请求分发方法,其特征在于,所述获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集之后,还包括:若所述访问请求未匹配命中所有的策略文本集,则将默认策略文本集作为所述访问请求匹配的策略文本集。5.如权利要求1所述的请求分发方法,其特征在于,所述方法还包括:当接收到一个流量管理集群的暂停使用通知时,将暂停使用的流量管理集群对应的策略文本集设置为停用策略文本集。6.如权利要求5所述的请求分发方法,其特征在于,所述当接收到一个流量管理集群的暂停使用通知时,将暂停使用的流量管理集群对应的策略文本集设置为停用策略文本集之后,包括:将暂停使用的流量管理集群返回的访问请求转发至所述流量分发虚拟机;基于所述策略匹配规则判断所述访问请求匹配的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机。7.如权利要求6所述的请求分发方法,其特征在于,所述策略匹配规则包括:获取每个流量管理集群对应的策略文本集,将所述访问请求的统一资源标识符依次与除停用策略文本集外的其它策略文本集进行匹配;获取匹配命中的策略文本集作为所述访问请求匹配的策略文本集。8.一种服务器,其特征在于,所述服务器包括:流量分发虚拟机,用于接收客户端发送的访问请求,基于策略匹配规则判断所述访问请求匹配的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟
机;负载均衡虚拟机,用于从所述流量分发虚拟机接收请求并转发到对应的流量管理集群。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的请求分发方法。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的请求分发方法。
技术总结
本发明涉及医疗技术领域的流量分发,揭露了一种请求分发方法,包括:为与服务器连接的每个流量管理集群创建对应的负载均衡虚拟机和策略文本集;创建一个流量分发虚拟机,根据每个流量管理集群对应的策略文本集在所述流量分发虚拟机设置策略匹配规则;通过所述流量分发虚拟机接收客户端发送的访问请求,基于所述策略匹配规则判断与所述访问请求对应的策略文本集,将所述访问请求分发至与所述策略文本集对应的负载均衡虚拟机;通过所述负载均衡虚拟机将所述访问请求转发到对应的流量管理集群。本发明通过在服务器配置流量分发虚拟机和负载均衡虚拟机,实现了通过单个设备进行多集群的流量分发和负载均衡,提高了请求访问链路的数据传输效率。路的数据传输效率。路的数据传输效率。
技术研发人员:郑卫星
受保护的技术使用者:康键信息技术(深圳)有限公司
技术研发日:2023.07.07
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/