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

业务请求转发方法及装置与流程

2021-11-15 18:11:00 来源:中国专利 TAG:


1.本发明涉及云计算技术领域,具体地,涉及一种业务请求转发方法及装置。


背景技术:

2.当前互联网、金融、交通等行业广泛使用计算机系统处理各类业务,计算机系统在人们生产生活中发挥愈发重要的作用,对系统的稳定性提出了更高的要求,快速调整系统应对热点、重点业务请求的处理能力已成为应用系统稳定的重要保障。伴随着分布式架构转型,应用间服务化调用交互逐渐成为主流方式,服务化调用的负载均衡已成为各应用系统稳定性建设的重点。
3.当前业务系统多以平均分配的策略分流业务请求,或以请求的技术特征(如请求ip)分流以实现所有业务请求在服务群组中的均衡负载。应用系统间的系统定位和业务种类差异大,热点、重点的业务请求特征各不相同(例如车票订票系统在某热门线路放票时需要优先保证热门线路订票请求、某公园订票系统需要优先保证本地居民订票请求等),多样化的业务需求使得各系统应对特色业务的负载均衡方案不能做到复用,需要重复开发,增加了不必要的研发成本;同时业务需求的多变特性又对负载均衡策略的响应能力提出更高的要求。


技术实现要素:

4.本发明实施例的主要目的在于提供一种业务请求转发方法及装置,以根据业务特征灵活调整负载均衡策略,满足多样化的业务需求,提升应用负载均衡能力,减少重复工作,降低研发成本。
5.为了实现上述目的,本发明实施例提供一种业务请求转发方法,包括:
6.发起业务调用请求,确定业务调用请求对应的固定策略优先数据和自定义策略优先数据;
7.根据固定策略优先数据和自定义策略优先数据确定业务优先级数据;
8.确定业务优先级数据对应的服务器群组中各服务器的实时负载数据;
9.将业务调用请求转发至各实时负载数据的最大值对应的服务器。
10.本发明实施例还提供一种业务请求转发装置,包括:
11.优先数据确定模块,用于发起业务调用请求,确定业务调用请求对应的固定策略优先数据和自定义策略优先数据;
12.业务优先级数据确定模块,用于根据固定策略优先数据和自定义策略优先数据确定业务优先级数据;
13.实时负载数据确定模块,用于确定业务优先级数据对应的服务器群组中各服务器的实时负载数据;
14.转发模块,用于将业务调用请求转发至各实时负载数据的最大值对应的服务器。
15.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并
在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的业务请求转发方法的步骤。
16.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述的业务请求转发方法的步骤。
17.本发明实施例的业务请求转发方法及装置先根据业务调用请求对应的固定策略优先数据和自定义策略优先数据确定业务优先级数据,再确定业务优先级数据对应的服务器群组中各服务器的实时负载数据以将业务调用请求转发至各实时负载数据的最大值对应的服务器,可以根据业务特征灵活调整负载均衡策略,满足多样化的业务需求,提升应用负载均衡能力,减少重复工作,降低研发成本。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本发明实施例中业务请求转发方法的流程图;
20.图2是本发明另一实施例中业务请求转发方法的示意图;
21.图3是本发明实施例中确定固定策略优先数据的流程图;
22.图4是本发明实施例中确定自定义策略优先数据的流程图;
23.图5是本发明实施例中s103的流程图;
24.图6是本发明实施例中业务请求转发装置的结构框图;
25.图7是本发明实施例中计算机设备的结构框图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
28.鉴于现有技术无法根据业务要素特征设置负载均衡能力,无法灵活快速调整负载均衡策略,增加了不必要的研发成本,本发明实施例提供一种业务请求转发方法及装置,可以根据业务特征灵活配置策略,实时动态调整策略的负载均衡规则引擎和服务路由,满足多样化的业务需求,减少重复工作,降低研发成本。以下结合附图对本发明进行详细说明。
29.图1是本发明实施例中业务请求转发方法的流程图。图2是本发明另一实施例中业务请求转发方法的示意图。如图1

图2所示,业务请求转发方法包括:
30.s101:发起业务调用请求,确定业务调用请求对应的固定策略优先数据和自定义策略优先数据。
31.在执行s101之前,还包括:
32.1、维护负载均衡策略:定义负载均衡策略库,包括业务名称、业务关键要素key(键值)、负载均衡规则公式(各业务要素的匹配条件和业务要素间的与或非逻辑关系)、业务优先等级(高、中、低)、规则启用状态(启用、停用)等信息。运维人员或业务管理人员根据业务需求通过规则引擎系统维护策略库。其中,同一业务可定义多个策略,多个策略间按匹配顺序定义匹配优先级,业务请求按匹配到的第一顺序确定业务优先等级。负载均衡策略发生变动时会被实时推送到策略缓存服务器。
33.2、部署服务群组:服务提供方将特殊优先级群组与常规群组分别部署到不同节点(高、中、低),服务向注册中心注册时增加“业务优先等级”属性,此属性标识当前服务用于处理对应等级的调用请求,此处优先级需与负载均衡策略库配置的业务优先等级对应。服务消费方引入负载均衡自定义路由,服务提供方在服务上指定该自定义路由处理请求分发。
34.当业务发生变化需要调整负载均衡策略时,运维人员或业务管理人员根据调整要求维护负载均衡策略库,例如增加某类业务优先级请求的处理群组以提高处理能力等,策略调整生效后实时同步到策略缓存服务器。自定义路由在处理下一次请求时读取策略缓存中调整生效后的新策略,根据新策略分发请求。
35.一实施例中,确定业务调用请求对应的固定策略优先数据和自定义策略优先数据包括:
36.1、根据业务调用请求的名称确定负载均衡路由;
37.一实施例中,根据业务调用请求的名称确定负载均衡路由包括:
38.根据业务调用请求的名称从业务列表中查找业务注册信息;确定业务注册信息对应的负载均衡路由。
39.具体实施时,服务消费方发起业务调用请求(服务调用请求),根据业务调用请求的名称从订阅的业务列表(服务列表)中查找业务注册信息,进而获得服务提供方在服务上指定的负载均衡自定义路由,由负载均衡自定义路由处理业务调用请求。
40.2、调用负载均衡路由确定业务调用请求对应的固定策略优先数据和自定义策略优先数据。
41.图3是本发明实施例中确定固定策略优先数据的流程图。如图3所示,确定业务调用请求对应的固定策略优先数据包括:
42.s201:获取业务调用请求中的地区数据对应的交易金额比例数据和交易笔数比例数据。
43.其中,交易金额比例数据为业务调用请求中的地区数据对应的交易金额与全地区总交易金额的比例,交易笔数比例数据为业务调用请求中的地区数据对应的交易笔数与全地区总交易笔数的比例。交易金额比例数据和交易笔数比例数据均为百分数。
44.s202:根据交易金额比例数据和交易笔数比例数据确定业务调用请求对应的固定策略优先数据。
45.一实施例中,可以通过如下公式确定固定策略优先数据:
46.a1=(p1
×
0.6 p2
×
0.4)
×
100;
47.其中,a1为固定策略优先数据,p1为交易金额比例数据,p2为交易笔数比例数据
48.图4是本发明实施例中确定自定义策略优先数据的流程图。如图4所示,确定业务调用请求对应的自定义策略优先数据包括:
49.s301:确定业务调用请求对应的自定义策略规则。
50.具体实施时,路由从业务调用请求中获取到业务名称,根据业务名称查询负载均衡策略缓存得到启用状态下的策略集合以确定请求的自定义策略规则。如果未查询到业务调用请求对应的自定义策略规则,则业务调用请求对应的自定义策略优先数据为默认中等级,对应的数据为0.5,即a2=0.5。
51.s302:根据自定义策略规则和业务调用请求中的键值确定自定义策略优先数据。
52.具体实施时,根据当前自定义策略规则中包含的业务要素key解析业务调用请求中的键值判定各要素结果,将各要素判定结果带入自定义策略规则的逻辑关系,最终计算出匹配结果(true/false),若为true(正确)则判定请求的自定义策略优先数据为自定义策略规则定义的优先等级并终止遍历。若与自定义策略规则的匹配结果为false(错误),则判定业务调用请求对应的自定义策略优先数据为默认中等级,对应的数据为0.5,即a2=0.5。
53.例如,如图2所示,自定义策略规则为“金额>1000000||地区in(北京,上海)”时,对应的自定义策略优先数据(等级)为高。业务调用请求中的键值为:金额=600、地区=北京,可以得到金额条件false、地区条件true,再将每个条件结果带入逻辑表达式,得出最终结果为true,此次请求的自定义策略优先数据为高等级,对应的数据为0.9,即a2=0.9。
54.自定义策略规则为“金额<10000”时,对应的自定义策略优先数据(等级)为低。业务调用请求中的键值为:金额=1000、地区=天津,因此该键值不满足“金额>1000000||地区in(北京,上海)”,仅满足“金额<10000”,此次请求的自定义策略优先数据为低等级,对应的数据为0.2,即a2=0.2。
55.s102:根据固定策略优先数据和自定义策略优先数据确定业务优先级数据。
56.一实施例中,可以通过如下公式确定业务优先级数据:
57.a=a1
×
0.3 a2
×
0.7;
58.其中,a为业务优先级数据,a2为自定义策略优先数据。
59.s103:确定业务优先级数据对应的服务器群组中各服务器的实时负载数据。
60.图5是本发明实施例中s103的流程图。如图5所示,s103包括:
61.s401:确定业务优先级数据对应的服务器群组中各服务器的运行数据和各服务器的交易数据。
62.一实施例中,确定业务优先级数据对应的服务器群组包括:根据业务优先级数据生成目标优先级数据;确定目标优先级数据对应的服务器群组。
63.其中,目标优先级数据包括高优先级、中优先级和低优先级,可以按2:5:3的比例将业务优先级数据划分为高优先级、中优先级和低优先级。当业务优先级数据大于或等于0.8时,对应的目标优先级数据为高优先级;当业务优先级数据大于或等于0.3且小于0.8时,对应的目标优先级数据为中优先级;当业务优先级数据小于0.3时,对应的目标优先级数据为低优先级。路由遍历可调用的服务提供方列表,根据目标优先级数据匹配服务提供方标识的业务优先等级,获取到对应服务器群组中服务器的运行数据和交易数据。
64.s402:根据各服务器的运行数据和各服务器的交易数据确定各服务器的实时负载数据。
65.其中,运行数据包括服务器cpu(中央处理器)使用率和服务器内存占用率;交易数据包括服务器过去一分钟内的交易量、服务器所在服务器群组的过去一分钟内的交易量和服务器过去一天内的交易成功率。
66.一实施例中,可以通过如下公式确定服务器的实时负载数据:
67.x=((1

c/75%)
×
2 (1

m/80%) (1

t1/t2))
×
e2;
68.其中,x为实时负载数据,c为服务器cpu使用率,m为服务器内存占用率,t1为服务器过去一分钟内的交易量,t2为服务器所在服务器群组的过去一分钟内的交易量,e为服务器过去一天内的交易成功率。
69.s104:将业务调用请求转发至各实时负载数据的最大值对应的服务器。
70.在执行s104之后,服务提供方将处理结果经路由转发返回至服务消费方。
71.图1所示的业务请求转发方法的执行主体可以为计算机。由图1所示的流程可知,本发明实施例的业务请求转发方法先根据业务调用请求对应的固定策略优先数据和自定义策略优先数据确定业务优先级数据,再确定业务优先级数据对应的服务器群组中各服务器的实时负载数据以将业务调用请求转发至各实时负载数据的最大值对应的服务器,可以根据业务特征灵活调整负载均衡策略,满足多样化的业务需求,提升应用负载均衡能力,减少重复工作,降低研发成本。
72.本发明实施例的具体流程如下:
73.1、发起业务调用请求,根据业务调用请求的名称从业务列表中查找业务注册信息。
74.2、确定业务注册信息对应的负载均衡路由。
75.3、调用负载均衡路由获取业务调用请求中的地区数据对应的交易金额比例数据和交易笔数比例数据,根据交易金额比例数据和交易笔数比例数据确定业务调用请求对应的固定策略优先数据。
76.4、调用负载均衡路由确定业务调用请求对应的自定义策略规则,根据自定义策略规则和业务调用请求中的键值确定自定义策略优先数据。
77.5、根据固定策略优先数据和自定义策略优先数据确定业务优先级数据。
78.6、根据业务优先级数据生成目标优先级数据,确定目标优先级数据对应的服务器群组。
79.7、确定业务优先级数据对应的服务器群组中各服务器的运行数据和各服务器的交易数据。
80.8、根据各服务器的运行数据和各服务器的交易数据确定各服务器的实时负载数据。
81.综上所述,本发明实施例提供的业务请求转发方法具有以下有益效果:
82.(1)策略灵活:可支持多样化、个性化的业务要素需求,不限定于固定的技术要素,不同应用适配性强,适用业务场景广;
83.(2)规则强大:支持对业务要素的多种运算关系判断(大于、相等和正则匹配等),支持多个业务要素间与或非的逻辑关系,提供更多规则组合的可选方案,满足多样化的业务需求;
84.(3)动态调整策略:运维人员或业务管理人员根据业务需要调整策略后,通过缓存
服务可以实时生效,时效性强。
85.基于同一发明构思,本发明实施例还提供了一种业务请求转发装置,由于该装置解决问题的原理与业务请求转发方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
86.图6是本发明实施例中业务请求转发装置的结构框图。如图6所示,业务请求转发装置包括:
87.优先数据确定模块,用于发起业务调用请求,确定业务调用请求对应的固定策略优先数据和自定义策略优先数据;
88.业务优先级数据确定模块,用于根据固定策略优先数据和自定义策略优先数据确定业务优先级数据;
89.实时负载数据确定模块,用于确定业务优先级数据对应的服务器群组中各服务器的实时负载数据;
90.转发模块,用于将业务调用请求转发至各实时负载数据的最大值对应的服务器。
91.综上,本发明实施例的业务请求转发装置先根据业务调用请求对应的固定策略优先数据和自定义策略优先数据确定业务优先级数据,再确定业务优先级数据对应的服务器群组中各服务器的实时负载数据以将业务调用请求转发至各实时负载数据的最大值对应的服务器,可以根据业务特征灵活调整负载均衡策略,满足多样化的业务需求,提升应用负载均衡能力,减少重复工作,降低研发成本。
92.本发明实施例还提供能够实现上述实施例中的业务请求转发方法中全部步骤的一种计算机设备的具体实施方式。图7是本发明实施例中计算机设备的结构框图,参见图7,所述计算机设备具体包括如下内容:
93.处理器(processor)701和存储器(memory)702。
94.所述处理器701用于调用所述存储器702中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的业务请求转发方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
95.发起业务调用请求,确定业务调用请求对应的固定策略优先数据和自定义策略优先数据;
96.根据固定策略优先数据和自定义策略优先数据确定业务优先级数据;
97.确定业务优先级数据对应的服务器群组中各服务器的实时负载数据;
98.将业务调用请求转发至各实时负载数据的最大值对应的服务器。
99.综上,本发明实施例的计算机设备先根据业务调用请求对应的固定策略优先数据和自定义策略优先数据确定业务优先级数据,再确定业务优先级数据对应的服务器群组中各服务器的实时负载数据以将业务调用请求转发至各实时负载数据的最大值对应的服务器,可以根据业务特征灵活调整负载均衡策略,满足多样化的业务需求,提升应用负载均衡能力,减少重复工作,降低研发成本。
100.本发明实施例还提供能够实现上述实施例中的业务请求转发方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的业务请求转发方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
101.发起业务调用请求,确定业务调用请求对应的固定策略优先数据和自定义策略优先数据;
102.根据固定策略优先数据和自定义策略优先数据确定业务优先级数据;
103.确定业务优先级数据对应的服务器群组中各服务器的实时负载数据;
104.将业务调用请求转发至各实时负载数据的最大值对应的服务器。
105.综上,本发明实施例的计算机可读存储介质先根据业务调用请求对应的固定策略优先数据和自定义策略优先数据确定业务优先级数据,再确定业务优先级数据对应的服务器群组中各服务器的实时负载数据以将业务调用请求转发至各实时负载数据的最大值对应的服务器,可以根据业务特征灵活调整负载均衡策略,满足多样化的业务需求,提升应用负载均衡能力,减少重复工作,降低研发成本。
106.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
107.本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
108.本发明实施例中所描述的各种说明性的逻辑块,或单元,或装置都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
109.本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd

rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
110.在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以
是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd

rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
再多了解一些

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

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

相关文献