数据请求分发方法、装置,以及,电子设备与流程



1.本技术涉及通信技术领域,特别是涉及数据请求分发方法、装置、电子设备及计算机可读存储介质。


背景技术:



2.随着互联网的快速发展,用户受众体越来越广泛,高可用是互联网分布式系统架构设计中必须考虑的因素之一,行业中基本采用垂直扩展(提升单机处置能力)和水平扩展(服务器集部署)来应对高并发的数据请求场景。由此衍生出了数据请求的路由技术,目前针对服务器集部署的算法通常采用:轮询、随机、权重等方法,将数据请求分发至服务器集中的节点上。这种传统的数据请求分发方式面对海量的数据请求,无法根据服务器资源动态缓解服务器压力。
3.现有技术中,针对数据请求分发方法还需要改进。


技术实现要素:



4.本技术实施例提供一种数据请求分发方法及装置,有助于平衡服务器压力,提升服务器使用效率,达成系统中服务器的高可用性。
5.第一方面,本技术实施例提供了一种数据请求分发方法,包括:
6.响应于接收到数据请求,获取各服务器对应的粒子指数;
7.基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;
8.将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;
9.根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器。
10.第二方面,本技术实施例提供了一种数据请求分发装置,包括:
11.粒子指数获取模块,用于响应于接收到数据请求,获取各服务器对应的粒子指数;
12.指定场能量值获取模块,用于基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;
13.波函数值获取模块,用于将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;
14.数据请求分发模块,用于根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器。
15.第三方面,本技术实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本技术实施例所述的数据请求分发方法。
16.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本技术实施例公开的数据请求分发方法的步骤。
17.本技术实施例公开的数据请求分发方法,通过响应于接收到数据请求,获取各服务器对应的粒子指数;基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器,在高性能服务器匹配较宽波函数分布阈值的情况下,数据请求具有更大概率被分发到高性能服务器,有助于平衡服务器压力,提升服务器使用效率,达成系统中服务器的高可用性。
18.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.图1是本技术一个实施例中的数据请求分发方法流程图;
21.图2是本技术另一实施例中的数据请求分发方法流程图;
22.图3是本技术又一实施例中的数据请求分发方法流程图;
23.图4是本技术实施例中的数据请求分发装置结构示意图之一;
24.图5是本技术实施例中的数据请求分发装置结构示意图之二;
25.图6示意性地示出了用于执行根据本技术的方法的电子设备的框图;以及
26.图7示意性地示出了用于保持或者携带实现根据本技术的方法的程序代码的存储单元。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.如图1所示,本技术实施例公开的一种数据请求分发方法,包括:步骤110至步骤140。
29.步骤110,响应于接收到数据请求,获取各服务器对应的粒子指数。
30.本技术实施例中所述的数据请求分发方法,应用于在包括若干服务器的服务器集中,确定当前数据请求的路由服务器的场景中。
31.本技术实施例中公开的数据请求分发方法,基于物理学中的粒子运动理论,将每
台服务器映射为空间点,基于空间点的粒子分布会影响该空间点周围场能量的理论,采用预设策略获取各台服务器对应的粒子指数,从而基于各台服务器对应的粒子指数,获取相应服务器对应的指定场能量值。
32.本技术的一些实施例中,所述粒子指数为影响服务器指定场能量值的数值。可以理解为,粒子指数为服务器映射得到的空间点中粒子的数量、质量等影响微观粒子能量的因素取值。粒子指数越大,数据请求被分发至相应服务器的概率越大。
33.本技术的一些实施例中,所述获取各服务器对应的粒子指数,包括以下任意一种方法:随机分配各服务器对应的粒子指数;根据各所述服务器的性能指标,确定相应服务器的粒子指数;随机分配各服务器对应的粒子指数之后,根据各服务器的访问请求压力分布数据动态调整相应服务器的粒子指数。例如,可以在一定阈值范围内,随机为各服务器分配粒子指数。又例如,可以根据各服务器的cpu核数、内存空间、处理速度、网络带宽等性能指标,为各服务器分配粒子指数。再例如,可以首先随机为各服务器分配粒子指数初始值,之后,再根据实际运行过程中各服务器接收的数据请求路由情况,动态调整相应服务器的粒子指数(例如,当为某台高性能服务器分配指定粒子指数时,数据请求分发至该高性能服务器的概率更大,则可以将该指定粒子指数动态调整为该高性能服务器的粒子指数)。再根据实际运行过程中各服务器接收的数据请求路由情况,动态调整相应服务器的粒子指数的具体实施方式参见下文描述,此处不再赘述。
34.步骤120,基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值。
35.之后,基于各所述服务器对应的所述粒子指数,进一步获取服务器集中各台服务器对应的指定场能量值。其中,所述指定场能量值包括以下至少两种:动能、势能、总能量。
36.本技术的一些实施例中,可以采用现有技术中空间点的微观粒子能量计算方法,根据各服务器对应的粒子指数,计算各服务器对应的指定场能量值。例如,将服务器抽象为一个空间点,将该服务器对应的粒子指数转化为空间粒子,进一步计算转化得到的空间粒子的动能、以及,粒子总能量。由于在数据请求分发时,不考虑服务器的位置,因此,可以将势能设置为0。
37.本技术的另一些实施例中,基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值,包括:将各所述服务器映射为空间点,基于各所述服务器对应的所述粒子指数,通过预设的势函数计算各所述服务器对应的指定场能量值。例如,可以通过构建场能量模型的方法,预先构建粒子指数和所述指定场能量值之间的关系模型,即势函数模型,之后,在请求分发过程中,基于各所述服务器对应的所述粒子指数,通过所述势函数获取各所述服务器对应的指定场能量值。
38.步骤130,将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值。
39.本技术的实施例中,所述波动方程可以为:定态薛定谔方程。
40.薛定谔方程能够正确地描述波函数的量子行为。在量子力学中,为了定量地描述微观粒子的状态,量子力学中引入了波函数,并用ρ表示。波函数是空间和时间的函数,用于表达某一时刻粒子在某一空间点出现的概率。在设定时间t,不考虑相对论的粒子自旋,使
粒子状态置为定态,可以通过求解定态薛定谔方程,得到波函数。
41.本技术的实施例中,预先根据一维薛定谔方程进行推演,得到定态薛定谔方程。其中,定态薛定谔方程可以表示为:
[0042][0043]
其中,ν、u和e分别表示动能、势能和总能量,ρ为待求解的波函数,为常量。在本技术的数据请求分发场景中,可以忽略势能,将定态薛定谔方程简化为如下形式:
[0044][0045]
简化后的定态薛定谔方程中,其中,ν和e分别表示动能和总能量,ρ为待求解的波函数,为常量。通过求解上述简化后的定态薛定谔方程,可以得到波函数ρ。波函数的求解方法参见现有技术,本技术实施例中不再赘述。
[0046]
定态薛定谔方程求解得到的波函数为形如正弦波的函数,其波函数值为离散值的集合。
[0047]
在应用过程中,通过将前述步骤得到的每台服务器各自对应的动能、总能量带入上述简化定态薛定谔方程,求解简化后的定态薛定谔方程的波函数,即可得到所述波函数的相应波函数值。
[0048]
求解定态薛定谔方程的具体方法参见现有技术,本技术实施例中不再赘述。
[0049]
当将ν和e的取值带入上述简化后的定态薛定谔方程中时,即可确定一个唯一的波函数值。
[0050]
步骤140,根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器。
[0051]
在物理学中,求解定态薛定谔方程得到的波函数,是用于描述电子在原子核周围运动是不同空间分布概率的函数。本技术中,求解前述定态薛定谔方程得到的波函数用于表示数据请求分发至各个服务器的概率密度。
[0052]
本技术的一些实施例中,可以预先定义数据请求对应的若干槽位,每台服务器对应一段槽位,同时,建立槽位与波函数值的对应关系,进而得到每台服务器对应的槽位区间对应的波函数值的分布区间,作为相应服务器对应的波函数分布阈值。其中,每台服务器对应的槽位多少可以根据具体需要设置,例如,可以设置性能较高的服务器对应较多槽位,同时,根据预先测试得到的波函数特性,设置该槽位区间对应波函数分布阈值。
[0053]
在数据请求分发阶段,根据前述步骤获取到某台服务器匹配的波函数值之后,进一步判断该波函数值匹配哪台服务器预设的波函数分布阈值,并将该数据请求分发至所述波函数值匹配的波函数分布阈值对应的服务器。
[0054]
具体举例而言,可以根据服务器集的数据请求处理能力,设置m个槽位,每个槽位对应一个数据请求,之后,将这m个槽位编号,按照各服务器的性能,划分给不同的服务器,建立服务器和槽位的对应关系。本技术的一些实施例中,可以进一步建立波函数值与槽位的对应关系,从而,进一步建立服务器与波函数值的分布区间的对应关系。
[0055]
本技术的一些实施例中,如图2所示,根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器之后,还包括:步骤150至步骤170。
[0056]
步骤150,记录所述服务器对应所述数据请求的访问数据。
[0057]
在将数据请求发送至确定的服务器之后,记录本次数据请求的分发日志,以记录所述服务器对应所述数据请求的访问数据。
[0058]
本技术的一些实施例中,所述分发日志中包括所述数据请求的路由服务器信息,还可以包括所述路由服务器对应的波函数值,用于后期大数据分析请求的分发情况,以及,用于对服务器请求分布处置进行推算演练。
[0059]
步骤160,分析各所述服务器的所述访问数据,获取各所述服务器的访问请求压力分布数据。
[0060]
本技术的一些实施例中,可以定时(如每天)对各服务器的访问数据进行分析,获取各服务器每天路由的数据请求的数量,并根据各服务器的数据请求承载能力,获取各所述服务器的访问请求的数量分布、时段分布、压力大小及分布数据。
[0061]
步骤170,输出与所述访问请求压力分布数据对应的压力视图。
[0062]
其中,所述压力视图用于指示相应服务器对应数据请求的以下一项或多项信息:压力大小,变化趋势,以及,时间分布。
[0063]
其中,所述第一预设条件例如包括:访问量达到相应服务器的访问上限阈值、访问量增长速率达到第一速率阈值;所述第二预设条件例如包括:访问量达到相应服务器的访问下限阈值、访问量减少速率达到第二速率阈值。
[0064]
本技术的一些实施例中,所述访问请求压力分布数据可以通过压力视图体现。其中,所述压力视图可以为服务器一段时间内每天接收的数据请求的数量趋势图、一天内不同时段接收的数据请求数量彩饼状图等。
[0065]
这样,通过所述访问请求压力分布数据可以直观反映出各服务器的资源使用情况,以及,数据请求压力的大小,以及时间分布等信息。当某一服务器的压力视图显示该多台服务器在每天的各个时段的访问量已经达到了该服务器的访问上限,则数据请求分发系统的维护人员可以通过增加服务器的方式缓解目前系统中服务器的访问请求压力;当某一服务器的压力视图显示该服务器在每天的各个时段的访问量均低于或等于该服务器的访问下限,则数据请求分发系统的维护人员可以通过删除该服务器的方式缓解节省系统资源。
[0066]
本技术的一些实施例中,所述输出与所述访问请求压力分布数据对应的压力视图之后,还包括:更新各所述服务器的所述预设波函数分布阈值。例如,基于用户操作,更新各所述服务器的所述预设波函数分布阈值。例如,当通过各服务器的压力视图反映出某台或多台服务器接收的数据请求锐减,系统维护人员可能会在数据分发系统中删除该台或该几台服务器,在这种情况下,需要同步更新分发系统中剩余的服务器对应的槽位信息,即波函数分布阈值。又例如,当通过各服务器的压力视图反映出,某台或多台服务器接收的数据请求激增,系统维护人员可能会在数据分发系统中增加服务器,在这种情况下,需要重新分配分发系统中各服务器对应的槽位信息,即设置各服务器对应的波函数分布阈值。通过输出压力视图,使得数据请求分发系统的维护人员可以及时平衡服务器的负载,降低系统故障
率,也可以避免资源浪费。
[0067]
本技术的一些实施例中,分析各所述服务器的所述访问数据,获取各所述服务器的访问请求压力分布数据之后,所述方法还包括:步骤180。
[0068]
步骤180,根据所述访问请求压力分布数据中所述粒子指数与路由服务器的对应关系,将匹配预设性能条件的所述路由服务器对应的所述粒子指数设置为相应服务器对应的所述粒子指数。
[0069]
其中,所述预设性能条件为高性能服务器具有的性能指标,例如,可以为:服务器的cpu核数条件,内存条件,处理速度条件等。所述预设性能条件根据本领域技术人员的经验确定。
[0070]
由于服务器对应的指定场能量直接决定了求解定态薛定谔方程得到的波函数,即直接决定了将当前访问请求分发至哪台服务器上,因此,通过动态调整服务器对应的粒子指数,可以调整数据请求的分发倾向。以服务器集中包括a服务器和b服务器为例,a服务器性能较高,b服务器性能较低,如果根据a、b两台服务器的访问请求压力分布数据,可以得出当粒子指数为某一数值时,访问请求会更大概率分发到a服务器上,则可以修改a服务器的粒子指数为该数值,使得数据请求分发系统可以将数据请求尽量分发至性能高的服务器上,提升服务器资源的使用效率,达成集高可用性。
[0071]
为了便于读者进一步理解本技术的数据请求分发方法,下面进一步通过预先确定的构建粒子指数和所述指定场能量值之间的关系模型对获取服务器的指定场能量值的具体实施方案进行举例说明。
[0072]
本技术时的实施例中所述的关系模型为势函数模型。势函数是描述原子(分子)将相互作用的函数,如果将服务器集中的每台服务器映射为空间点,并为各服务器分配不同数量和/或属性的粒子,则每台服务器将产生不同的场能量值。
[0073]
针对服务器集中进行数据请求分发场景,可以采用不同方法,确定不同形式的势函数。下面结合不同形式的势函数,具体说明服务器的指定场能量值的获取方法。
[0074]
本技术的一些实施例中,所述预设的势函数是基于平铺分析的人工势场方法构造的,所述势函数为服务器的粒子指数的单调递增函数,资源使用率的单调递减函数,其中,所述资源使用率与所述粒子指数正相关,与数据请求的时间戳负相关,所述将各所述服务器映射为空间点,基于各所述服务器对应的所述粒子指数,通过预设的势函数计算各所述服务器对应的指定场能量值,包括:对于每台所述服务器,基于所述服务器的所述粒子指数,通过所述势函数计算相应所述服务器映射的空间点的指定场能量值,其中,所述指定场能量值包括以下至少两种:动能、势能、总能量。
[0075]
本技术的一些实施例中,所述粒子指数可以根据服务器的预设性能指标分配,所述预设性能指标包括但不限于以下一项或多项:服务器的cpu处理速度、网络带宽、缓存大小。例如,对于四核cpu的服务器,其分配的粒子指数大于双核cpu的服务器,网络带宽大的服务器分配的粒子指数大于网络带宽小的服务器。
[0076]
在基于平铺分析的人工势场方法中,构造势函数的方法可以表示为:p(θ)=fr{d(θ,θ0),[dr(θ),o],dt};其中,θ和θ0分别表示机器人当前位姿与目标位姿矢量;dy(θ,θ0)表示θ与θ0之间的某种广义距离函数;dr(θ),o表示当前位姿下机器人与障碍物间的最小距离;dt为给定的门限值;p(θ)分别为变量d(θ,θ0)和dr(θ),o的单调递增函数和单调递减函
数。
[0077]
借鉴平摊分析的势能法中获取势函数的方法,构造的势函数用于求解将数据请求分发至当前服务器的权重。势函数可以表示为:f(x)=fr{f1(x),f2(x),dt},其中,f1(x)可以为粒子指数与当前服务器匹配的请求分发权重的关系函数,粒子指数越大,当前服务器匹配的请求分发权重越大;f2(x)可以为其他服务器中对应最大粒子指数的目标服务器匹配的请求分发权重的关系函数。例如,f2(x)可以为目标服务器的粒子指数与当前服务器的粒子指数的比值之间的函数,比值越大,当前服务器匹配的请求分发权重越小;dt为给定的门限值。本示例中,当前服务器的粒子指数在服务器集中为最大值时,势函数处于最高点,将数据请求分发至当前服务器的权重最大。
[0078]
将访问请求分发至服务器的权重抽象为服务器对访问请求的引力,将前述步骤获取的每个服务器的粒子指数带入构造的势函数,即可求得各服务器对应的指定场能量。具体实施过程中,每台服务器在初始化时声明槽位区间,势函数结果匹配槽位值的计算参数(例如,落入指定槽位编号的权重指标),通过得出的槽位值计算参数去计算槽位值,之后,将槽位值去匹配对应槽位区间,进行请求分发。
[0079]
本技术实施例中,对势函数的具体表达式不做限定,对关系函数的具体表达式不做限定。还可以基于服务器对应的粒子指数构建其他关系函数,本实施例中不再一一例举。
[0080]
本技术实施例公开的数据请求分发方法,通过响应于接收到数据请求,获取各服务器对应的粒子指数;基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器,在高性能服务器匹配较宽波函数分布阈值的情况下,数据请求具有更大概率被分发到高性能服务器,有助于平衡服务器压力,提升服务器使用效率,达成系统中服务器的高可用性。
[0081]
进一步的,本技术实施例公开的数据请求分发方法,通过记录数据请求的分发日志,并基于分发日志对每台服务器的访问数据进行分析,获取各服务器的访问请求压力分布数据,并以压力视图的形式输出,有助于直观地感知平衡服务器,若出现请求激增/锐减的情况,可以人工干预增加或删减服务器,保证资源使用最大化,最大限度减低无用的性能损耗。在服务器出现增加或删减情况后,通过调整服务器集中已有服务器的预设波函数分布阈值,重新平衡各服务器的压力,提升服务器使用效率数据请求。
[0082]
并且,本技术实施例公开的数据请求分发方法,通过调配各服务器匹配的粒子指数,可以动态调整请求路由分配至各服务器的比重。例如,对于性能高的服务器,通过分配较大的粒子指数,可以将数据请求更多导入到性能高的服务器,以达成系统间通信的高可用,最大限度减低无用的性能损耗。
[0083]
另一方面,通过各服务器的访问请求压力分布数据,当判断到某一性能高的服务器在分配粒子指数xx时,具有更大概率被分发数据请求,可以将性能高的服务器的粒子指数调整为xx,以提升请求路由分配至该服务器的比重,达成集高可用,调节结果更精准。
[0084]
本技术实施例公开的一种数据请求分发装置,如图4所示,所述装置包括:
[0085]
粒子指数获取模块410,用于响应于接收到数据请求,获取各服务器对应的粒子指
数;
[0086]
指定场能量值获取模块420,用于基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;
[0087]
波函数值获取模块430,用于将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;
[0088]
数据请求分发模块440,用于根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器。
[0089]
本技术的实施例中,所述波动方程可以为:定态薛定谔方程。
[0090]
本技术的一些实施例中,如图5所示,所述装置还包括:
[0091]
记录模块450,用于记录所述服务器对应所述数据请求的访问数据;
[0092]
数据分析模块460,用于分析各所述服务器的所述访问数据,获取各所述服务器的访问请求压力分布数据;
[0093]
压力视图输出模块470,用于输出与所述访问请求压力分布数据对应的压力视图,其中,所述压力视图用于指示相应服务器对应数据请求的以下一项或多项信息:压力大小,变化趋势,以及,时间分布。
[0094]
本技术的一些实施例中,如图5所示,所述装置还包括:
[0095]
服务器阈值更新模块480,用于更新各所述服务器的所述预设波函数分布阈值。
[0096]
本技术的一些实施例中,如图5所示,所述装置还包括:
[0097]
粒子指数更新模块490,用于根据所述访问请求压力分布数据中所述粒子指数与路由服务器的对应关系,将匹配预设性能条件的所述路由服务器对应的所述粒子指数设置为相应服务器对应的所述粒子指数。
[0098]
本技术的一些实施例中,所述基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值,包括:将各所述服务器映射为空间点,基于各所述服务器对应的所述粒子指数,通过预设的势函数计算各所述服务器对应的指定场能量值。
[0099]
本技术的一些实施例中,所述获取各服务器对应的粒子指数,包括以下任意一种方法:随机分配各服务器对应的粒子指数;根据各所述服务器的性能指标,确定相应服务器的粒子指数;随机分配各服务器对应的粒子指数之后,根据各服务器的访问请求压力分布数据动态调整相应服务器的粒子指数。
[0100]
本技术实施例公开的数据请求分发装置,用于实现本技术方法实施例中所述的数据请求分发方法,装置的各模块的具体实施方式不再赘述,可参见方法实施例相应步骤的具体实施方式。
[0101]
本技术实施例公开的数据请求分发装置,通过响应于接收到数据请求,获取各服务器对应的粒子指数;基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器,在高性能服务器匹配较宽波函数分布阈值的情况下,数据请求具有更大概率被分发到高性能服务器,有助于平衡服务器压力,提升服务器使用效率,达成系统中
服务器的高可用性。
[0102]
进一步的,本技术实施例公开的数据请求分发装置,通过记录数据请求的分发日志,并基于分发日志对每台服务器的访问数据进行分析,获取各服务器的访问请求压力分布数据,并以压力视图的形式输出,有助于直观地感知平衡服务器,若出现请求激增/锐减的情况,可以人工干预增加或删减服务器,保证资源使用最大化,最大限度减低无用的性能损耗。在服务器出现增加或删减情况后,通过调整服务器集中已有服务器的预设波函数分布阈值,重新平衡各服务器的压力,提升服务器使用效率数据请求。
[0103]
并且,本技术实施例公开的数据请求分发装置,通过调配各服务器匹配的粒子指数,可以动态调整请求路由分配至各服务器的比重。例如,对于性能高的服务器,通过分配较大的粒子指数,可以将数据请求更多导入到性能高的服务器,以达成系统间通信的高可用,最大限度减低无用的性能损耗。
[0104]
另一方面,通过各服务器的访问请求压力分布数据,当判断到某一性能高的服务器在分配粒子指数xx时,具有更大概率被分发数据请求,可以将性能高的服务器的粒子指数调整为xx,以提升请求路由分配至该服务器的比重,达成集高可用,调节结果更精准。
[0105]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0106]
以上对本技术提供的一种数据请求分发方法及装置进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其一种核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
[0107]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0108]
本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的电子设备中的一些或者全部部件的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0109]
例如,图6示出了可以实现根据本技术的方法的电子设备。所述电子设备可以为pc机、移动终端、个人数字助理、平板电脑等。该电子设备传统上包括处理器610和存储器620及存储在所述存储器620上并可在处理器610上运行的程序代码630,所述处理器610执行所述程序代码630时实现上述实施例中所述的方法。所述存储器620可以为计算机程序产品或
者计算机可读介质。存储器620可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器620具有用于执行上述方法中的任何方法步骤的计算机程序的程序代码630的存储空间6201。例如,用于程序代码630的存储空间6201可以包括分别用于实现上面的方法中的各种步骤的各个计算机程序。所述程序代码630为计算机可读代码。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(cd)、存储卡或者软盘之类的程序代码载体。所述计算机程序包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据上述实施例的方法。
[0110]
本技术实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术方法实施例中所述的数据请求分发方法的步骤。
[0111]
这样的计算机程序产品可以为计算机可读存储介质,该计算机可读存储介质可以具有与图6所示的电子设备中的存储器620类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩存储在所述计算机可读存储介质中。所述计算机可读存储介质通常为如参考图7所述的便携式或者固定存储单元。通常,存储单元包括计算机可读代码630’,所述计算机可读代码630’为由处理器读取的代码,这些代码被处理器执行时,实现上面所描述的方法中的各个步骤。
[0112]
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本技术的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
[0113]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0114]
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0115]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:


1.一种数据请求分发方法,其特征在于,包括:响应于接收到数据请求,获取各服务器对应的粒子指数;基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器。2.根据权利要求1所述的方法,其特征在于,所述根据各所述服务器的预设波函数分布阈值与所述波函数值的匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器之后,还包括:记录所述服务器对应所述数据请求的访问数据;分析各所述服务器的所述访问数据,获取各所述服务器的访问请求压力分布数据;输出与所述访问请求压力分布数据对应的压力视图,其中,所述压力视图用于指示相应服务器对应数据请求的以下一项或多项信息:压力大小,变化趋势,以及,时间分布。3.根据权利要求2所述的方法,其特征在于,所述输出与所述访问请求压力分布数据对应的压力视图之后,还包括:更新各所述服务器的所述预设波函数分布阈值。4.根据权利要求2所述的方法,其特征在于,分析各所述服务器的所述访问数据,获取各所述服务器的访问请求压力分布数据之后,还包括:根据所述访问请求压力分布数据中所述粒子指数与路由服务器的对应关系,将匹配预设性能条件的所述路由服务器对应的所述粒子指数设置为相应服务器对应的所述粒子指数。5.根据权利要求1至4任一项所述的方法,其特征在于,所述基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值,包括:将各所述服务器映射为空间点,基于各所述服务器对应的所述粒子指数,通过预设的势函数计算各所述服务器对应的指定场能量值。6.根据权利要求1至4任一项所述的方法,其特征在于,所述获取各服务器对应的粒子指数,包括以下任意一种方法:随机分配各服务器对应的粒子指数;根据各所述服务器的性能指标,确定相应服务器的粒子指数;随机分配各服务器对应的粒子指数之后,根据各服务器的访问请求压力分布数据动态调整相应服务器的粒子指数。7.一种数据请求分发装置,其特征在于,包括:粒子指数获取模块,用于响应于接收到数据请求,获取各服务器对应的粒子指数;指定场能量值获取模块,用于基于各所述服务器对应的所述粒子指数,获取各所述服务器对应的指定场能量值;波函数值获取模块,用于将各所述服务器对应的所述指定场能量值带入预先推导的波动方程,求解所述波动方程中的波函数,得到波函数值;数据请求分发模块,用于根据各所述服务器的预设波函数分布阈值与所述波函数值的
匹配关系,将所述数据请求分发至所述预设波函数分布阈值与所述波函数值匹配的所述服务器。8.根据权利要求7所述的装置,其特征在于,还包括:记录模块,用于记录所述服务器对应所述数据请求的访问数据;数据分析模块,用于分析各所述服务器的所述访问数据,获取各所述服务器的访问请求压力分布数据;压力视图输出模块,用于输出与所述访问请求压力分布数据对应的压力视图,其中,所述压力视图用于指示相应服务器对应数据请求的以下一项或多项信息:压力大小,变化趋势,以及,时间分布。9.根据权利要求8所述的装置,其特征在于,还包括:服务器阈值更新模块,用于更新各所述服务器的所述预设波函数分布阈值。10.根据权利要求8所述的装置,其特征在于,还包括:粒子指数更新模块,用于根据所述访问请求压力分布数据中所述粒子指数与路由服务器的对应关系,将匹配预设性能条件的所述路由服务器对应的所述粒子指数设置为相应服务器对应的所述粒子指数。11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的程序代码,其特征在于,所述处理器执行所述程序代码时实现权利要求1至6任意一项所述的数据请求分发方法。12.一种计算机可读存储介质,其上存储有程序代码,其特征在于,该程序代码被处理器执行时实现权利要求1至6任意一项所述的数据请求分发方法的步骤。

技术总结


本申请公开了一种数据请求分发方法及装置,属于通信技术领域。所述方法包括:响应于接收到数据请求,获取各服务器对应的粒子指数;将各服务器映射为空间点,基于各服务器对应的粒子指数,获取各服务器对应的指定场能量值;将各服务器对应的指定场能量值带入预先推导的波动方程,求解波函数,得到波函数值;根据各服务器的预设波函数分布阈值与波函数值的匹配关系,将数据请求分发至预设波函数分布阈值与波函数值的匹配的服务器。本方法在高性能服务器匹配较宽波函数分布阈值的情况下,数据请求具有更大概率被分发到高性能服务器,有助于平衡服务器压力,达成系统中服务器的高可用性。性。性。


技术研发人员:

蒋艳军 赵轶新 孙科

受保护的技术使用者:

中国电信股份有限公司

技术研发日:

2022.07.19

技术公布日:

2022/11/22

本文发布于:2024-09-20 19:55:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/2003.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   服务器   函数   粒子
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议