业务请求的转发方法和装置、存储介质及电子装置与流程

文档序号:29464744发布日期:2022-04-02 02:59阅读:111来源:国知局
业务请求的转发方法和装置、存储介质及电子装置与流程

1.本技术涉及通信技术领域,具体而言,涉及一种业务请求的转发方法和装置、存储介质及电子装置。


背景技术:

2.业务平台在接收到业务请求之后,可以将不同的业务请求转发至不同的服务器进行处理。目前,转发业务请求所采用的方式可以包括轮询、哈希算法、依据ip(internet protocol,网际互连协议)分配方式进行请求转发。
3.然而,上述方式在面对海量的业务请求的情况下,容易造成业务请求的堆积,导致请求响应不及时,导致请求转发缺乏灵活性,请求响应效率低。由此可见,相关技术中的业务请求的转发方法存在由于业务请求易发生堆积导致的请求响应效率低的问题。


技术实现要素:

4.本技术实施例提供了一种业务请求的转发方法和装置、存储介质及电子装置,以至少解决相关技术中的业务请求的转发方法存在由于业务请求易发生堆积导致的请求响应效率低的技术问题。
5.根据本技术实施例的一个方面,提供了一种业务请求的转发方法,包括:接收到第一业务请求,其中,所述第一业务请求是与第一业务对应的业务请求;根据所述第一业务请求的第一接收时间、以及所述第一业务的业务类型,确定出所述第一业务请求的第一转发权重,其中,所述第一转发权重是根据所述第一业务在不同时间内的历史请求接入量所确定的,所述第一转发权重用于指示所述第一业务的业务请求在所述第一接收时间的转发优先级;按照所述第一转发权重所指示的转发优先级对所述第一业务请求执行转发操作。
6.在一个示例性实施例中,在所述接收到第一业务请求之前,所述方法还包括:确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量,其中,所述多个业务包括所述第一业务;根据所述每个业务在所述每个时间内的历史请求接入量,确定所述每个业务在所述每个时间内的转发权重。
7.在一个示例性实施例中,所述根据所述每个业务在所述每个时间内的历史请求接入量,确定所述每个业务在所述每个时间内的转发权重,包括:根据所述每个业务在所述每个时间内的历史请求接入量,确定在所述每个时间内的历史请求并发量;根据所述每个业务在所述每个时间内的历史请求接入量在所述每个时间内的历史请求并发量中所占的比例,确定所述每个业务在所述每个时间内的转发权重。
8.在一个示例性实施例中,在所述确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,所述方法还包括:根据所述每个业务在所述每个时间内的历史请求接入量,生成与所述多个业务对应的可视化序列,其中,所述可视化序列包含与所述多个业务一一对应的多个子序列,所述多个子序列中的子序列用于描述对应的业务在所述每个时间内的历史请求接入量。
9.在一个示例性实施例中,在所述确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,所述方法还包括:当所述多个业务中的目标业务在所述多个时间中的目标时间内的历史接入请求量为零时,根据所述目标业务在所述多个时间中除了所述目标时间以外的其他时间内的历史请求接入量,确定所述目标业务在所述目标时间内的预测请求接入量。
10.在一个示例性实施例中,所述根据所述目标业务在所述多个时间中除了所述目标时间以外的其他时间内的历史请求接入量,确定所述目标业务在所述目标时间内的预测请求接入量,包括:对所述目标业务在所述多个时间中位于所述目标时间之前的各个时间内的历史请求接入量进行加权求和,得到第一参考值;对所述目标业务在所述多个时间中位于所述目标时间之后的各个时间内的历史请求接入量进行加权求和,得到第二参考值;将所述第一参考值与所述第二参考值的平均值,确定为所述目标业务在所述目标时间内的预测请求接入量。
11.在一个示例性实施例中,在所述接收到第一业务请求之后,所述方法还包括:接收到第二业务请求,其中,所述第二业务请求是与第二业务对应的业务请求;在所述第二业务请求的第二接收时间内所述第二业务的业务请求接入量达到目标接入量阈值的情况下,将所述第二业务在所述第二接收时间内的第二转发权重调整为第三转发权重,其中,所述第三转发权重小于所述第二转发权重。
12.根据本技术实施例的另一个方面,还提供了一种业务请求的转发装置,包括:第一接收单元,用于接收到第一业务请求,其中,所述第一业务请求是与第一业务对应的业务请求;第一确定单元,用于根据所述第一业务请求的第一接收时间、以及所述第一业务的业务类型,确定出所述第一业务请求的第一转发权重,其中,所述第一转发权重是根据所述第一业务在不同时间内的历史请求接入量所确定的,所述第一转发权重用于指示所述第一业务的业务请求在所述第一接收时间的转发优先级;转发单元,用于按照所述第一转发权重所指示的转发优先级对所述第一业务请求执行转发操作。
13.在一个示例性实施例中,所述装置还包括:第二确定单元,用于在所述接收到第一业务请求之前,确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量,其中,所述多个业务包括所述第一业务;第三确定单元,用于根据所述每个业务在所述每个时间内的历史请求接入量,确定所述每个业务在所述每个时间内的转发权重。
14.在一个示例性实施例中,所述第三确定单元包括:第一确定模块,用于根据所述每个业务在所述每个时间内的历史请求接入量,确定在所述每个时间内的历史请求并发量;第二确定模块,用于根据所述每个业务在所述每个时间内的历史请求接入量在所述每个时间内的历史请求并发量中所占的比例,确定所述每个业务在所述每个时间内的转发权重。
15.在一个示例性实施例中,所述装置还包括:生成单元,用于在所述确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,根据所述每个业务在所述每个时间内的历史请求接入量,生成与所述多个业务对应的可视化序列,其中,所述可视化序列包含与所述多个业务一一对应的多个子序列,所述多个子序列中的子序列用于描述对应的业务在所述每个时间内的历史请求接入量。
16.在一个示例性实施例中,所述装置还包括:第四确定单元,用于在所述确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,当所述多个业务中的
目标业务在所述多个时间中的目标时间内的历史接入请求量为零时,根据所述目标业务在所述多个时间中除了所述目标时间以外的其他时间内的历史请求接入量,确定所述目标业务在所述目标时间内的预测请求接入量。
17.在一个示例性实施例中,所述第四确定单元包括:第三确定模块,用于对所述目标业务在所述多个时间中位于所述目标时间之前的各个时间内的历史请求接入量进行加权求和,得到第一参考值;第四确定模块,用于对所述目标业务在所述多个时间中位于所述目标时间之后的各个时间内的历史请求接入量进行加权求和,得到第二参考值;第五确定模块,用于将所述第一参考值与所述第二参考值的平均值,确定为所述目标业务在所述目标时间内的预测请求接入量。
18.在一个示例性实施例中,所述装置还包括:第二接收单元,用于在所述接收到第一业务请求之后,接收到第二业务请求,其中,所述第二业务请求是与第二业务对应的业务请求;调整单元,用于在所述第二业务请求的第二接收时间内所述第二业务的业务请求接入量达到目标接入量阈值的情况下,将所述第二业务在所述第二接收时间内的第二转发权重调整为第三转发权重,其中,所述第三转发权重小于所述第二转发权重。
19.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述业务请求的转发方法。
20.根据本技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的业务请求的转发方法。
21.在本技术实施例中,采用按照不同业务在不同时间的历史访问接入量为不同业务分配在不同时间内的转发权重的方式,通过接收到第一业务请求,其中,第一业务请求是与第一业务对应的业务请求;根据第一业务请求的第一接收时间、以及第一业务的业务类型,确定出第一业务请求的第一转发权重,其中,第一转发权重是根据第一业务在不同时间内的历史请求接入量所确定的,第一转发权重用于指示第一业务的业务请求在第一接收时间的转发优先级;按照第一转发权重所指示的转发优先级对第一业务请求执行转发操作,由于业务在当前时间内的转发权重与业务在当前时间内的历史访问接入量相关,可以为业务灵活配置转发权重,以便在各个时间优先处理该时间内业务转发量较大的业务,缩短不同时间内的热点业务的响应时间,可以实现减低业务请求发生堆积的可能性的目的,达到提高请求响应效率的技术效果,进而解决了相关技术中的业务请求的转发方法存在由于业务请求易发生堆积导致的请求响应效率低的问题。
附图说明
22.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1是根据本技术实施例的一种可选的业务请求的转发方法的硬件环境的示意
图;
25.图2是根据本技术实施例的一种可选的业务请求的转发方法的流程示意图;
26.图3是根据本技术实施例的一种可选的业务请求的转发方法的示意图;
27.图4是根据本技术实施例的一种可选的业务请求的转发方法的流程示意图;
28.图5是根据本技术实施例的另一种可选的业务请求的转发方法的流程示意图;
29.图6是根据本技术实施例的一种可选的业务请求的转发装置的结构框图;
30.图7是根据本技术实施例的一种可选的电子装置的结构框图。
具体实施方式
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
32.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.根据本技术实施例的一个方面,提供了一种业务请求的转发方法。可选地,在本实施例中,上述业务请求的转发方法可以应用于如图1所示的由终端102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务。
34.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端102可以并不限定于为pc、手机、平板电脑等。
35.本技术实施例的业务请求的转发方法可以由服务器104来执行,也可以由终端102来执行,还可以是由服务器104和终端102共同执行。其中,终端102执行本技术实施例的业务请求的转发方法也可以是由安装在其上的客户端来执行。
36.以由服务器104来执行本实施例中的业务请求的转发方法为例,图2是根据本技术实施例的一种可选的业务请求的转发方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
37.步骤s202,接收到第一业务请求,其中,第一业务请求是与第一业务对应的业务请求。
38.本实施例中的业务请求的转发方法可以应用到对接入的业务请求转发至后端服
务器进行处理的场景,业务请求可以是客户端向服务器发起的,用于向服务器请求执行目标业务的业务请求,业务请求向服务器请求执行的目标业务的类型可以包含多种。
39.在本实施例中,用户可以通过终端(客户端)向业务平台(即,服务器)发起业务请求(即,第一业务请求),该业务请求向业务平台请求执行的业务为第一业务。用户可以通过终端上的目标应用向业务平台发起业务请求,还可以是通过其他方式发起的,在此不做限定。
40.业务平台在接收到与第一业务对应的第一业务请求之后,在业务平台的并发量较大时,可以基于第一业务的业务类型或是接入时间对第一业务请求进行转发处理。在由后台服务器执行与第一业务请求对应的第一业务之后,可以向终端返回第一业务的执行结果。
41.步骤s204,根据第一业务请求的第一接收时间、以及第一业务的业务类型,确定出第一业务请求的第一转发权重,其中,第一转发权重是根据第一业务在不同时间内的历史请求接入量所确定的,第一转发权重用于指示第一业务的业务请求在第一接收时间的转发优先级。
42.在相关技术中,在业务请求接入较多时,一般会采用传统的如轮询、哈希以及ip(internet protocol,网络互连协议)分配等方式对业务请求进行转发。如图3所示,在检测到业务请求接入时,若采用轮询方式对业务请求进行转发,则需要按业务请求的接入时间顺序随机分配至后端服务器进行处理;若采用ip-hash(哈希)的方式对业务请求进行转发,则需要将发起业务请求的客户端的ip与哈希值进行匹配之后,将匹配的业务请求转发至后端服务器进行处理;此外,还可以通过为不同类型的业务请求赋予不同的权重(weight),根据权重高低对业务请求进行转发。
43.上述几种请求转发算法,无法针对具体的业务请求进行转发,业务请求的处置排队需要耗费较长的等待时间,降低了用户的使用体验并且运维的成本高;不能灵活根据请求权重进行动态分配,服务器对于海量的业务请求的响应效率较低。
44.在本实施例中,为了缩短服务器的响应时间,提升处理效率,可以根据第一业务的请求的第一接收时间、以及第一业务的业务类型确定出第一业务请求的第一转发权重,从而确定出第一业务的业务请求在第一接收时间的转发优先级,以便业务平台基于上述转发优先级对第一业务请求进行转发。
45.可选地,第一业务请求的第一转发权重可以是根据第一业务在不同时间内的历史请求接入量所确定的。第一业务的第一业务请求在一天之中不同时间内的接入量是变化的,可能在某一时间内出现接入量峰值,某一时间接入量平稳。基于这种接入量的变化规律,可以对第一业务在一天之中不同时间的历史请求接入量数据进行统计,形成第一业务的接入量随时间推移的时间序列数据集,接入量高的时间对应高的转发权重。根据上述统计结果与第一业务的接收时间(第一接收时间),为第一业务在第一接收时间对应的时间点的转发权重(即,第一转发权重)进行赋值,从而可以根据第一转发权重确定对应的转发优先级。
46.需要说明的是,业务在不同时间内的历史请求接入量可以是基于一定时间粒度的请求接入量,上述时间粒度可以预先配置,例如,1min、5min等等,在不同时间内的历史请求接入量可以是按照时间粒度所划分的不同时间段内的历史请求接入量。
47.步骤s206,按照第一转发权重所指示的转发优先级对第一业务请求执行转发操作。
48.在本实施例中,在确定了第一业务请求的第一转发权重之后,可以按照第一权重所指示的转发优先级对第一业务请求执行转发操作。
49.示例性地,业务平台可以对接入的不同的业务请求对应的转发权重进行降序排序,形成与业务请求对应的转发权重序列。在第一业务请求接入之后,可以从转发权重序列中获取与第一业务的第一接收时间对应的第一转发权重,根据第一转发权重在上述转发权重序列中的排序所指示的转发优先级,将第一业务转发至后台服务器。
50.通过上述步骤s202至步骤s206,接收到第一业务请求,其中,第一业务请求是与第一业务对应的业务请求;根据第一业务请求的第一接收时间、以及第一业务的业务类型,确定出第一业务请求的第一转发权重,其中,第一转发权重是根据第一业务在不同时间内的历史请求接入量所确定的,第一转发权重用于指示第一业务的业务请求在第一接收时间的转发优先级;按照第一转发权重所指示的转发优先级对第一业务请求执行转发操作,解决了相关技术中的业务请求的转发方法存在由于业务请求易发生堆积导致的请求响应效率低的技术问题,提高了请求响应的效率。
51.在一个示例性实施例中,在接收到第一业务请求之前,上述方法还包括:
52.s11,确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量,其中,多个业务包括第一业务;
53.s12,根据每个业务在每个时间内的历史请求接入量,确定每个业务在每个时间内的转发权重。
54.在本实施例中,在接收到第一业务请求之前,可以首先确定每个业务的转发权重。比如,业务平台或者其他设备可以确定多个业务中的每个业务在多个不同时间中的每个时间内的历史请求接入量,第一业务为多个不同业务中的一种业务。根据每个业务在每个时间内的历史请求接入量,确定每个业务在每个时间内的转发权重。
55.示例性地,如图4所示,可以将多个业务请求按照请求时间的先后顺序进行观测,形成以业务请求为变量,随时间不断变化、具有连续规律性的时间序列。由于不同并发量的业务平台可以对应着不同精度的时间序列模型,可以按时间单位(时/分/秒等)对时间序列进行分割,分割的时间单位越小,时间序列模型的精度越高,业务平台针对海量业务请求接入时的响应速度越快,可以及时避免转发量的堆积,保证业务平台的良好运行。可以根据业务请求的时间序列进行自相关函数与偏自相关函数的计算,从而在选择了合适精度的时间序列模型之后对多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量进行确认。
56.业务平台可以针对业务请求的历史访问量,将业务请求接入的时间点、业务请求类型两个条件作为key,确定权重值。对应地,业务请求的访问量越高,其权重越高,可以利用权重方式(weight)为业务动态分配初始权重,并存储于map(映射表,可以是业务-转发权重的映射表)中。在业务请求接入后,可以从map中获取对应的业务请求的初始权重,并根据初始权重高低进行有序转发。
57.可选地,可以按照业务平台的特征,选择匹配度最高的时间序列观测方法(可以对应于不同的统计时间粒度)对业务请求进行统计,形成具有连续规律性的时间序列,对建立
的时间序列分析模型对序列进行分析。以请求时间、业务按照访问量(访问量越高,权重越高),分配初始权重。在接入请求后,按照权重值由高至低有序处理,优先处理权重较高的请求,降低了响应时间,提升了用户体验
58.通过本实施例,根据每个业务在每个时间内的历史请求接入量确定每个业务在每个时间内的转发权重,可以提高转发权重确定的合理性。
59.在一个示例性实施例中,根据每个业务在每个时间内的历史请求接入量,确定每个业务在每个时间内的转发权重,包括:
60.s21,根据每个业务在每个时间内的历史请求接入量,确定在每个时间内的历史请求并发量;
61.s22,根据每个业务在每个时间内的历史请求接入量在每个时间内的历史请求并发量中所占的比例,确定每个业务在每个时间内的转发权重。
62.在本实施例中,确定每个业务在每个时间内的转发权重的计算方式可以是,业务平台首先根据每个业务在每个时间内的历史请求接入量,确定在每个时间内的历史请求并发量,在每个时间内的历史请求并发量为每个业务在每个时间内的历史请求接入量的总和;然后再根据每个业务在每个时间内的历史请求接入量在每个时间内的历史请求并发量中所占的比例,确定每个业务在每个时间内的转发权重的具体数值。可选地,计算出的转发权重可以存储在前述的map中。
63.可选地,也可以根据每个业务在每个时间内的历史请求接入量之间的比值,确定每个业务在每个时间内的转发权重。与此种计算方式相比,本实施例中所提供的计算方式相当于对转发权值进行了归一化处理,可以方便进行权值分配,提供业务转发的合理性。
64.通过本实施例,根据每个业务在每个时间内的历史请求接入量与在每个时间内的历史请求并发量,确定每个业务子啊每个时间内的转发权值,可以方便进行权值分配,提供业务转发的合理性。
65.在一个示例性实施例中,在确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,上述方法还包括:
66.s31,根据每个业务在每个时间内的历史请求接入量,生成与多个业务对应的可视化序列,其中,可视化序列包含与多个业务一一对应的多个子序列,多个子序列中的子序列用于描述对应的业务在每个时间内的历史请求接入量。
67.在本实施例中,在确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,为了对接入的业务请求随时间的变化情况进行更好的观测,可以根据每个业务在每个时间内的历史请求接入量,生成与多个业务对应的可视化序列。可视化序列中可以包含与多个业务一一对应的多个子序列,其中的每个子序列可以用于记录对应的业务在每个时间内的历史请求接入量。
68.示例性地,如图4所示,可以根据业务在每个时间内的历史接入量生成与多个业务对应的多个子序列,其中的多个业务可以包含a、b、c、d、e四个不同的业务,对应的业务请求为请求a、请求b、请求c、请求d、请求e。可视化序列中记录的时间间隔(即,时间粒度)可以是1分钟。其中的子序列(例如,a业务对应的子序列)中可以记录从8:00-8:01
……
开始的每一时间的请求a的历史接入量,如,8:00时刻a业务的历史接入量为500,8:01时刻a业务的历史接入量为500,9:01时刻a业务的历史接入量为200,9:02时刻a业务的历史接入量为200等。
69.可选地,通过对可视化序列中各子序列进行统计分析,还可以获取到业务平台的并发量的变化,基于上述变化确定业务平台接入量的峰值区间,可以通过监控软件对峰值区间对应的时间的各业务的实际接入量进行排查,实时观测,避免业务平台的运行故障。
70.通过本实施例,通过可视化序列对业务的历史接入量进行观测,提升对于平台运行的管控,增强业务平台运行的稳定性。
71.在一个示例性实施例中,在确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,上述方法还包括:
72.s41,当多个业务中的目标业务在多个时间中的目标时间内的历史接入请求量为零时,根据目标业务在多个时间中除了目标时间以外的其他时间内的历史请求接入量,确定目标业务在目标时间内的预测请求接入量。
73.在本实施例中,当多个业务中的目标业务在多个时间中的目标时间内的历史接入请求量为零时,如果直接基于历史请求接入量确定目标业务在目标时间内的转发权重,则其权重可能会被设置为0,导致无法保证该业务的业务请求能够被有效转发。可以根据目标业务在多个时间中除了目标时间以外的其他时间内的历史请求接入量的方式,得到目标业务在目标时间内的预测请求接入量。
74.在实际的业务请求的转发过程中,在统计的可视化序列的某一时刻无请求接入量数据时,无法为其赋初始权重。因接入时间相近的业务请求普遍趋于几种,具有趋势性,可以利用加权移动平均法进行预测(即,将各时刻的历史数据按近期和远期影响程度进行加权,求出平均值),得到其对应的预测接入量,可以提升预测的准确性。最后采用相邻的数据在计算时对请求分配权重,根据分配的权重对应的转发优先级对该业务请求进行转发。
75.通过本实施例,根据业务在多个时间中除了历史业务接入量为零的时间以外的其他时间内的历史请求接入量,确定业务在历史业务接入量为零的时间内的预测请求接入量,提升了业务请求转发的合理性。
76.在一个示例性实施例中,根据目标业务在多个时间中除了目标时间以外的其他时间内的历史请求接入量,确定目标业务在目标时间内的预测请求接入量,包括:
77.s51,对目标业务在多个时间中位于目标时间之前的各个时间内的历史请求接入量进行加权求和,得到第一参考值;
78.s52,对目标业务在多个时间中位于目标时间之后的各个时间内的历史请求接入量进行加权求和,得到第二参考值;
79.s53,将第一参考值与第二参考值的平均值,确定为目标业务在目标时间内的预测请求接入量。
80.在本实施例中,在无法为业务赋初始权重时,可以采用加权移动平均法预测,为请求分配权重。例如,可以对目标业务在多个时间中位于目标时间之前的各个时间内的历史请求接入量进行加权求和,得到第一参考值,对目标业务在多个时间中位于目标时间之后的各个时间内的历史请求接入量进行加权求和,得到第二参考值,将第一参考值与第二参考值的平均值,确定为目标业务在目标时间内的预测请求接入量。
81.示例性地,如图4所示,加权移动平均法是通过选择目标业务接入时间(目标时间)前后时刻的历史接入量对目标业务的在目标时间的接入量进行预测的。具体地,可以先选择目标业务接入时间点之前各时间内的历史请求的接入量情况进行加权求和计算出qt1
(第一参考值),再选择目标业务接入时间点之后各时间内的历史请求的接入量情况进行加权求和计算出qt2(第二参考值),取qt1与qt2之间的平均值,得到qt(预测接入量)。
82.qt1的计算方式如公式(1)所示:
83.qt1=w1qt-1+w2qt-2+

+wnqt-n,w1+w2+
……
+wn=1
ꢀꢀꢀꢀꢀꢀꢀ
(1)
84.其中,qt为需要预测时间点的请求访问量(接入量),w1为第t-1时刻请求访问量的权重,w2为第t-2时刻请求访问量的权重,wn为第t-n时刻请求访问量的权重。
85.qt2的计算方式如公式(2)所示:
86.qt2=w1qt+1+w2qt+2+

+wnqt+n,w1+w2+
……
+wn=1
ꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
87.其中,qt为需要预测时间点的请求访问量(接入量),w1为第t+1时刻请求访问量的权重,w2为第t+2时刻请求访问量的权重,wn为第t+n时刻请求访问量的权重。
88.通过本实施例,通过加权平均算法对无历史接入数据的业务的接入量进行预测,根据预测接入量分配转发时的权重,提升了对于业务请求转发安排的合理性。
89.在一个示例性实施例中,在接收到第一业务请求之后,上述方法还包括:
90.s61,接收到第二业务请求,其中,第二业务请求是与第二业务对应的业务请求;
91.s62,在第二业务请求的第二接收时间内第二业务的业务请求接入量达到目标接入量阈值的情况下,将第二业务在第二接收时间内的第二转发权重调整为第三转发权重,其中,第三转发权重小于第二转发权重。
92.在本实施例中,在接收到的业务请求(第二业务请求)在当前时间内的业务请求接入量达到目标接入量阈值的情况下,可以通过调低该业务请求在当前时间内的转发权重的方式减少该业务的业务请求在当前时间内的转发,以便其他业务处理的及时性。
93.业务平台可以接收到第二业务请求,该第二业务请求是与第二业务对应的业务请求。如果第二业务请求的第二接收时间内第二业务的业务请求接入量达到目标接入量阈值,可以将第二业务在第二接收时间内的第二转发权重调整为第三转发权重,这里的第三转发权重小于第二转发权重。
94.示例性地,可以为各业务在各时间的业务请求接入量设置一个阈值(临界值,即,目标接入量阈值),当业务在相应的时间的请求接入量超过该阈值时(在某一时间或者说时间段内的访问量超过预先设置的临界值),可以动态降低该业务请求对应的权重。可选地,还可以向运维人员发送预警,在业务请求接入过多时,灵活调整请求的权重并发送预警通知,在有效进行系统维护。
95.通过本实施例,在某请求在某个时刻超过临界值时,动态调整请求权重,不仅能够满足带宽可用以及网络负载平衡;此外,除了调整请求权重以外,通过发送预警通知,还能减少后期运维带来的额外开销。
96.下面结合可选示例对本技术实施例中的业务请求的转发方法进行解释说明。在本可选示例中,该业务请求的转发方法可以应用于动态配置业务在不同时间内的转发权重,可以提升请求转发和响应的速率。
97.本可选示例中提供了一种基于时间序列分析的请求转发的方案,在传统的算法基础上,引入时间序列分析方法,按照平台业务特征,选择匹配度最高的时间序列观测方法对业务请求统计,形成具有连续规律性的时间序列数据集;建立时间序列分析模型对序列进行分析,以请求时间、业务按照访问量(访问量越高,权重越高),分配初始权重,在无法为请
求赋初始权重时,采用加权移动平均法预测,根据预测结果对请求分配权重,从而可以根据业务请求的时间段频率调整权重,在海量请求下,针对重要业务优先处理,解决了传统请求转发算法的局限性,提升了响应速率,使请求转发变得灵活。
98.结合图4和图5所示,本可选示例中的业务请求的转发方法的流程可以包括以下步骤:
99.步骤s502,请求接入。
100.业务平台可以接收到某一业务的业务请求。
101.步骤s504,按请求时间、业务分类匹配权重值。
102.在接入请求后,可以按照业务的请求时间和业务分类匹配与当前时间段对应的权重值。
103.步骤s506,按权重高低有序处理。
104.步骤s508,判断请求是否超过预设临界值,如果是,执行步骤s514;否则,执行步骤s510。
105.业务平台可以判断请求所请求的业务在当前时间段内的请求接入量超过预设临界值,如果是,执行步骤s514,否则,执行步骤s510。
106.步骤s510,转发请求。
107.步骤s512,转发完成。
108.步骤s514,临时降低权重。
109.其中,在降低了权重之后,可以按照调整后的权重对该请求进行转发,或者,不对请求进行处理。
110.步骤s516,向运维人员发送预警。
111.在临时减低权重的同时,还可以向运维人员发送预警,以便对异常的业务进行处理,比如,确定该业务的业务请求是否为非法请求等。
112.通过本可选示例,根据业务在不同时间段内的历史请求接入量确定业务在不同时间段内的转发权重,可以提高业务转发控制的合理性;在权重较高的请求某时刻请求量超过预先设置的临界值,动态降低请求的权重,并发送预警,保证平台其他业务的正常使用。
113.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
114.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom(read-only memory,只读存储器)/ram(random access memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
115.根据本技术实施例的另一个方面,还提供了一种用于实施上述业务请求的转发方
法的业务请求的转发装置。图6是根据本技术实施例的一种可选的业务请求的转发装置的结构框图,如图6所示,该装置可以包括:
116.第一接收单元602,用于接收到第一业务请求,其中,第一业务请求是与第一业务对应的业务请求;
117.第一确定单元604,与第一接收单元602相连,用于根据第一业务请求的第一接收时间、以及第一业务的业务类型,确定出第一业务请求的第一转发权重,其中,第一转发权重是根据第一业务在不同时间内的历史请求接入量所确定的,第一转发权重用于指示第一业务的业务请求在第一接收时间的转发优先级;
118.转发单元606,与第一确定单元604相连,用于按照第一转发权重所指示的转发优先级对第一业务请求执行转发操作。
119.需要说明的是,该实施例中的第一接收单元602可以用于执行上述步骤s202,该实施例中的第一确定单元604可以用于执行上述步骤s204,该实施例中的转发单元606可以用于执行上述步骤s206。
120.通过上述模块,接收到第一业务请求,其中,第一业务请求是与第一业务对应的业务请求;根据第一业务请求的第一接收时间、以及第一业务的业务类型,确定出第一业务请求的第一转发权重,其中,第一转发权重是根据第一业务在不同时间内的历史请求接入量所确定的,第一转发权重用于指示第一业务的业务请求在第一接收时间的转发优先级;按照第一转发权重所指示的转发优先级对第一业务请求执行转发操作,解决了相关技术中的业务请求的转发方法存在由于业务请求易发生堆积导致的请求响应效率低的技术问题,提高了请求响应的效率。
121.在一个示例性实施例中,上述装置还包括:
122.第二确定单元,用于在接收到第一业务请求之前,确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量,其中,多个业务包括第一业务;
123.第三确定单元,用于根据每个业务在每个时间内的历史请求接入量,确定每个业务在每个时间内的转发权重。
124.在一个示例性实施例中,第三确定单元包括:
125.第一确定模块,用于根据每个业务在每个时间内的历史请求接入量,确定在每个时间内的历史请求并发量;
126.第二确定模块,用于根据每个业务在每个时间内的历史请求接入量在每个时间内的历史请求并发量中所占的比例,确定每个业务在每个时间内的转发权重。
127.在一个示例性实施例中,上述装置还包括:
128.生成单元,用于在确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,根据每个业务在每个时间内的历史请求接入量,生成与多个业务对应的可视化序列,其中,可视化序列包含与多个业务一一对应的多个子序列,多个子序列中的子序列用于描述对应的业务在每个时间内的历史请求接入量。
129.在一个示例性实施例中,上述装置还包括:
130.第四确定单元,用于在确定多个业务中的每个业务在多个时间中的每个时间内的历史请求接入量之后,当多个业务中的目标业务在多个时间中的目标时间内的历史接入请求量为零时,根据目标业务在多个时间中除了目标时间以外的其他时间内的历史请求接入
量,确定目标业务在目标时间内的预测请求接入量。
131.在一个示例性实施例中,第四确定单元包括:
132.第三确定模块,用于对目标业务在多个时间中位于目标时间之前的各个时间内的历史请求接入量进行加权求和,得到第一参考值;
133.第四确定模块,用于对目标业务在多个时间中位于目标时间之后的各个时间内的历史请求接入量进行加权求和,得到第二参考值;
134.第五确定模块,用于将第一参考值与第二参考值的平均值,确定为目标业务在目标时间内的预测请求接入量。
135.在一个示例性实施例中,上述装置还包括:
136.第二接收单元,用于在接收到第一业务请求之后,接收到第二业务请求,其中,第二业务请求是与第二业务对应的业务请求;
137.调整单元,用于在第二业务请求的第二接收时间内第二业务的业务请求接入量达到目标接入量阈值的情况下,将第二业务在第二接收时间内的第二转发权重调整为第三转发权重,其中,第三转发权重小于第二转发权重。
138.此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
139.根据本技术实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本技术实施例中上述任一项业务请求的转发方法的程序代码。
140.可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
141.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
142.s1,接收到第一业务请求,其中,第一业务请求是与第一业务对应的业务请求;
143.s2,根据第一业务请求的第一接收时间、以及第一业务的业务类型,确定出第一业务请求的第一转发权重,其中,第一转发权重是根据第一业务在不同时间内的历史请求接入量所确定的,第一转发权重用于指示第一业务的业务请求在第一接收时间的转发优先级;
144.s3,按照第一转发权重所指示的转发优先级对第一业务请求执行转发操作。
145.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
146.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、rom、ram、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
147.根据本技术实施例的又一个方面,还提供了一种用于实施上述业务请求的转发方法的电子装置,该电子装置可以是服务器、终端、或者其组合。
148.图7是根据本技术实施例的一种可选的电子装置的结构框图,如图7所示,包括处理器702、通信接口704、存储器706和通信总线708,其中,处理器702、通信接口704和存储器706通过通信总线708完成相互间的通信,其中,
149.存储器706,用于存储计算机程序;
150.处理器702,用于执行存储器706上所存放的计算机程序时,实现如下步骤:
151.s1,接收到第一业务请求,其中,第一业务请求是与第一业务对应的业务请求;
152.s2,根据第一业务请求的第一接收时间、以及第一业务的业务类型,确定出第一业务请求的第一转发权重,其中,第一转发权重是根据第一业务在不同时间内的历史请求接入量所确定的,第一转发权重用于指示第一业务的业务请求在第一接收时间的转发优先级;
153.s3,按照第一转发权重所指示的转发优先级对第一业务请求执行转发操作。可选地,通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子装置与其他设备之间的通信。
154.存储器可以包括ram,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
155.作为一种示例,上述存储器706中可以但不限于包括上述业务请求的转发装置中的第一接收单元602、第一确定单元604、以及转发单元606。此外,还可以包括但不限于上述业务请求的转发装置中的其他模块单元,本示例中不再赘述。
156.上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
157.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
158.本领域普通技术人员可以理解,图7所示的结构仅为示意,实施上述业务请求的转发方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示的不同的配置。
159.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
160.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
161.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所
述方法的全部或部分步骤。
162.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
163.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
164.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
165.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以至少两个单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
166.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1