CN109936589B - 基于api热度值的动态负载均衡方法、装置及平台 - Google Patents
基于api热度值的动态负载均衡方法、装置及平台 Download PDFInfo
- Publication number
- CN109936589B CN109936589B CN201711349657.9A CN201711349657A CN109936589B CN 109936589 B CN109936589 B CN 109936589B CN 201711349657 A CN201711349657 A CN 201711349657A CN 109936589 B CN109936589 B CN 109936589B
- Authority
- CN
- China
- Prior art keywords
- api
- server
- user terminal
- calling
- probability matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供一种基于API热度值的动态负载均衡方法、装置及平台。所述方法包括接收用户终端发送的API调用请求,API调用请求包括被调用API名称;根据预设时间段内的网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值;根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将API调用请求分发至目标服务器,以实现动态负载均衡。所述装置及平台用于执行所述方法。本发明实施例通过计算网络中服务器的服务器热度值,根据各服务器热度值进行动态负载均衡调拨,将API调用请求分发至目标服务器,使得对服务器负载进行调拨更加合理,提高了调用效率。
Description
技术领域
本发明实施例涉及计算机网络通信技术领域,尤其涉及一种基于API热度值的动态负载均衡方法、装置及平台。
背景技术
大型空间数据网络服务系统中,为了提高网络服务的带宽和响应速度,通常采用服务器集群技术对多台空间数据服务器进行集中管理,并采用相应的负载均衡技术来实现系统的负载均衡。设计有效的负载均衡方法来保证空间数据服务器间的负载均衡是提高服务器集群负载能力的关键。
数据开放平台一般是将系统分为数据封装模块和数据开放模块。数据封装模块用于接入各种不同的源数据,对数据进行封装处理,并将数据发送到与数据封装模块相连接的数据开放模块;数据开放模块负责对接用户,将系统提供的各种数据能力开放给用户使用。当用户调用量较多时,会给服务器带来压力,因此需要通过负载均衡的方法使各个服务器的压力得到缓解。
现有技术中,根据数据的热度值进行负载均衡是一种常见的方法,数据热度的一种计算方法是基于数据的操作时间和操作频率进行计算。按照时间顺序依次建立若干命中集合,在每个命中集合的生命周期内,记录每个数据对象是否被调用过,调用则命中值为1,否则为0;同时,每个命中集合以当前命中集合为基点,各个命中集合的权重值由近及远按照时间比例进行衰减。最后根据各个命中集合的命中值的累计次数和预设的各个命中集合的权重值,加权计算数据对象的热度值。但是这种通过数据的热度值计算不能够全面合理的解决服务器负载不平衡的问题。
综上,如何合理的对服务器负载进行调拨,提高调用效率是现如今亟待解决的课题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种基于API热度值的动态负载均衡方法、装置及平台。
第一方面,本发明实施例提供一种基于API热度值的动态负载均衡方法,包括:
接收用户终端发送的应用程序编程接口(Application Programming Interface,简称API)调用请求,所述API调用请求包括被调用API;
根据预设时间段内的网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,所述服务器热度值基于API热度值计算得到;
根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,以实现动态负载均衡。
第二方面,本发明实施例提供一种基于API热度值的动态负载均衡装置,包括收发器和处理器;
所述收发器用于接收用户终端发送的API调用请求和将所述API调用请求分发至目标服务器;
所述处理器用于根据预设时间段内,网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,以及根据各服务器热度值获得所述目标服务器。
第三方面,本发明实施例提供一种数据开放平台包括通信连接的统一调用模块、数据共享模块和平台管理模块;
所述统一调用模块,用于为用户终端提供统一调用数据的API,接收所述用户终端发送的API调用请求;
所述数据共享模块,用于接收并存储网络中各系统的数据;
所述平台管理模块包括负载均衡装置,所述负载均衡装置用于执行第一方面所述的方法。
第四方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。
第五方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。
本发明实施例提供的基于API热度值的动态负载均衡方法、装置及平台,通过计算网络中服务器的服务器热度值,根据各服务器热度值进行动态负载均衡调拨,将API调用请求分发至目标服务器,使得对服务器负载进行调拨更加合理,提高了调用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于API热度值的动态负载均衡方法流程示意图;
图2为本发明实施例提供的服务器、API和用户终端的网络关系图;
图3为本发明实施例提供的用户终端调用API的关系图;
图4为本发明实施例提供的用户终端与API调用时间序列图;
图5为本发明实施例提供的一种基于API热度值的动态负载均衡装置结构示意图;
图6为本发明实施例提供的一种数据开放平台结构示意图;
图7为本发明实施例提供的一种电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的基于API热度值的动态负载均衡方法流程示意图,如图1所示,所述方法,包括:
步骤101:接收用户终端发送的API调用请求,所述API调用请求包括被调用API名称;
具体的,图2为本发明实施例提供的服务器、API和用户终端的网络关系图,如图2所示,S1、S2和S3为服务器,A1、A2、A3、A4和A5为API,U1、U2、U3和U4为用户终端,服务器负责接入API,用户终端用来调用API,用户终端和服务器通过API对接,一般的,API被用户终端调用的越多热度越大;被热门用户终端调用的API比被冷门用户调用的API热度要大;出自热门服务器的API比出自冷门服务器的API其成为热门API的概率要大;用户终端调用的热门API越多其热度越大;服务器产出的热门API越多其热度值越大。网络中的每个用户终端根据实际需求都配置了相应的API,当需要获取某种参数时,调用该参数对应的API即可,因此,负载均衡装置接收网络中各用户终端发送的API调用请求,应当说明的是,API调用请求中包括被调用API。
步骤102:根据预设时间段内的网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,所述服务器热度值基于API热度值计算得到;
具体的,图3为本发明实施例提供的用户终端调用API的关系图,如图3所示,单个用户终端和单个API之间在预设时间段内存在多次调用关系,用户终端每次调用API的时间t(i)、调用量均不同v(i)。调用量越大,用户此次调用对API的影响越大;调用时间距当前时间越近,此次调用对API的影响越大。另外,不同的用户调用同一API对API造成的影响不同,企业级用户比个人用户对API的影响大,级别高的会员用户比级别低的会员用户对API的影响大。用户终端的终端热度值、API热度值和服务器热度值三者之间互相影响,因此,在通过用户终端的用户属性、调用频次、调用时间和调用量计算得到网络中各服务器的服务器热度值的同时,还可以计算得出终端热度值和API热度值。应当说明的是,用户属性包括用户类型和会员等级,用户类型包括内部用户、企业用户和个人用户,会员等级包括普通会员、铜牌会员、银牌会员和金牌会员,不同的用户属性对应不同的数值,服务器热度值越高表示对应的服务器越繁忙,相应的,服务器工作压力也越大。
步骤103:根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,以实现动态负载均衡。
具体的,由于API并不一定与网络中的所有的服务器绑定,被调用API只能从与其有绑定关系的服务器中进行选择,因此在计算得到每个服务器的热度值之后,只能通过根据被调用API的名称获得与被调用API有绑定关系的服务器,从中选择合适的服务器作为目标服务器,通过目标服务器来对API调用请求进行处理,从而达到动态负载均衡的效果,可选的,可以选择当前时间服务器热度值最小的作为目标服务器。
应当说明的是,步骤101和步骤102没有时间顺序,也可以先执行步骤102再执行步骤101,本发明实施例对此不做具体限定。
本发明实施例通过计算网络中服务器的服务器热度值,根据各服务器热度值进行动态负载均衡调拨,将API调用请求分发至目标服务器,使得对服务器负载进行调拨更加合理,提高了调用效率。
在上述实施例的基础上,所述根据预设时间段内,网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,包括:
根据所述用户属性、所述调用频次、所述调用时间和所述调用量计算用户终端与对应的API之间的第一权重;
预先设定各个API与对应的服务器之间的第二权重,根据所述第一权重和所述第二权重计算API与服务器的转移概率矩阵、API与用户终端的转移概率矩阵、服务器与API的转移概率矩阵和用户终端与API的转移概率矩阵;
根据所述API与服务器的转移概率矩阵、所述API与用户终端的转移概率矩阵、所述服务器与API的转移概率矩阵和所述用户终端与API的转移概率矩阵计算得出各服务器的服务器热度值。
具体的,根据预设时间段内的网络中各用户终端的用户属性,各用户终端调用API的调用频次、每次调用API的调用时间以及每次调用API的调用量计算得到各个用户终端与对应的API之间的第一权重,应当说明的是,用户终端并不是与所有的API都有调用关系,因此,第一权重的计算是针对用户终端与其有调用关系的API,如图2所示,用户终端u1与网络中的所有API都有调用关系,因此,需要计算用户终端u1与网络中的所有API的第一权重,用户终端u2只与API3具有调用关系,此时,只需计算用户终端u2和API3的第一权重。
预先设定各个API与对应的服务器的第二权重,该权重可以根据实际情况进行设定,本发明实施例对此不做具体限定,根据第一权重和第二权重可以构建整个网络的带权无向图,如图2所示,w1-w9为用户终端与API之间的第一权重,w(1)-w(9)为API与服务器之间的第二权重,根据该带权无向图可以计算出API与服务器的转移概率矩阵、API与用户终端的转移概率矩阵、服务器与API的转移概率矩阵和用户终端与API的转移概率矩阵,然后利用上述计算得到的所有的转移概率矩阵可以计算得到网络中每一个服务器对应的服务器热度值,还可以计算得到各API对应的API热度值和各用户终端对应的终端热度值。
本发明实施例通过用户属性、调用频次、调用时间和调用量计算用户终端与API之间的第一权重,然后根据第一权重和第二权重计算各个转移概率矩阵,并计算得出各个服务器的热度值,其不仅通过调用参数,还考虑了用户终端的属性,使得服务器热度值的计算更加合理。
在上述实施例的基础上,所述根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,包括:
根据所述用户属性、被调用API性能、所述被调用API对应的各服务器的健康率和服务器热度值计算所述被调用API对应的各服务器的最终得分,根据各服务器的最终得分获得目标服务器,将所述API调用请求分发至所述目标服务器。
具体的,在计算得到各个服务器的服务器热度值之后,获取被调用API性能,及当前时刻各个服务器的健康率,结合用户属性、被调用API性能、被调用API对应的服务器的健康率进行计算,可以理解的是,用户属性、被调用API性能、被调用API对应的服务器的健康率都对应一个相应的得分,且可以为以上参数分别设定权重值,然后进行加权计算,最终得到与被调用API有绑定关系的各个服务器的最终得分,然后根据最终得分从与被调用API有绑定关系的服务器中选择一个合适的服务器作为目标服务器,将API调用请求分发至该目标服务器中,由该目标服务器进行处理,应当说明的是,服务器的健康率用于表示服务器当前时刻的运行状态。
本发明实施例通过根据用户终端等级、被调用API性能、被调用API对应的各服务器的健康率和服务器热度值计算被调用API对应的各服务器的最终得分,根据得分进行负载均衡调拨,考虑到了用户终端等级和服务器的健康率,进一步体现了负载均衡调拨的合理性。
在上述实施例的基础上,所述根据所述用户属性、所述调用频次、所述调用时间和所述调用量,利用时间序列算法计算用户终端与对应的API之间的第一权重,包括:
其中,ωij为用户终端ui与APIj之间的第一权重,i和j为正整数,为用户终端ui的用户类型值,为所述用户终端ui的会员等级值,θ为时间冷却系数,Δt为用户ui最后一次调用APIj的调用时间与当前时间的时间差,Qij为用户终端ui最后一次调用APIj时,用户终端ui与APIj构成的边的质量值。
具体的,图4为本发明实施例提供的用户终端与API调用时间序列图,如图4所示,横坐标表示调用时间,纵坐标表示调用量,根据时间序列算法计算得到第一权重,其具体公式如公式(1)所示:
其中,ωij为用户终端ui与APIj之间的第一权重,i和j为正整数,用户属性包括用户类型和会员等级,用户类型包括内部用户、企业用户和个人用户,会员等级包括普通会员、铜牌会员、银牌会员和金牌会员,不同的用户属性对应不同的数值,为用户终端ui的用户类型对应的用户类型值,为所述用户终端ui的会员等级对应的会员等级值,为通过用户终端ui的用户类型和会员等级计算得到的用户属性对应的值,可以是加权平均函数,也可以是去较大值函数,还可以是根据实际情况自定义函数,本发明实施例对此不做具体限定;θ为时间冷却系数,Δt为用户ui最后一次调用APIj的调用时间与当前时间的时间差,Qij为用户终端ui最后一次调用APIj时,用户终端ui与APIj构成的边的质量值。
质量值可以通过公式(2)计算得到:
其中,为用户终端ui第k次调用APIj时的质量值,k为正整数,αk为时间衰减因子,Vk为用户终端ui第k次调用APIj时的数据量,当k为距当前时刻最后一次调用APIj时,因此,可以通过公式(2)计算得到Qij。
此外,时间衰减因子αk的计算方法如公式(3)所示:
αk=Δtk/(Δtk+Δtk-1) (3)
其中,Δtk为用户终端ui第k次调用APIj的调用时间与第一次调用APIj的调用时间的时间差。
本发明实施例通过时间序列算法计算得到用户终端与对应的API之间的第一权重,同时考虑了用户属性、调用频次、调用时间和调用量,计算逻辑更加科学合理。
在上述实施例的基础上,所述根据所述API与服务器的转移概率矩阵、所述API与用户终端的转移概率矩阵、所述服务器与API的转移概率矩阵和所述用户终端与API的转移概率矩阵计算得出各服务器的服务器热度值,包括:
根据所述API与服务器的转移概率矩阵、所述API与用户终端的转移概率矩阵、所述服务器与API的转移概率矩阵和所述用户终端与API的转移概率矩阵,利用PageRank算法计算得出各服务器的服务器热度值。
利用PageRank算法计算得出各服务器的服务器热度值,包括:
根据S0=A0=U0=1/N计算获得服务器初始热度值S0、API初始热度值A0和用户终端初始热度值U0,其中,N为网络中服务器、API和用户终端的数量和;
其中,Si+1为当前时刻各服务器的服务器热度值,Ui+1为当前时刻各用户终端的终端热度值,Ai+1为当前时刻各API的API热度值,PSA为API与服务器的转移概率矩阵,PUA为API与用户终端的转移概率矩阵,PAS为服务器与API的转移概率矩阵,PAU为用户终端与API的转移概率矩阵,i为迭代次数,且i为大于等于0的整数,ε为预设阈值。
具体的,在计算得到API与服务器的转移概率矩阵、API与用户终端的转移概率矩阵、服务器与API的转移概率矩阵和用户终端与API的转移概率矩阵之后,利用PageRank算法计算得到各个服务器的服务器热度值,首先根据公式(4)计算得到服务器初始热度值、API初始热度值和用户终端初始热度值:
S0=A0=U0=1/N (4)
其中,S0为服务器初始热度值,A0为API初始热度值,U0为用户终端初始热度值,分别等于1/N,N为网络中服务器、API和用户终端的数量之和。
将服务器、API和用户终端对应的热度值初始化完毕后,根据公式(5)进行迭代计算:
其中,Si+1为当前时刻各服务器的服务器热度值,Ui+1为当前时刻各用户终端的终端热度值,Ai+1为当前时刻各API的API热度值,PSA为API与服务器的转移概率矩阵,PUA为API与用户终端的转移概率矩阵,PAS为服务器与API的转移概率矩阵,PAU为用户终端与API的转移概率矩阵,i为迭代次数,且i为大于等于0的整数,ε为预设阈值,可以根据实际情况进行调整。当Si+1-Si≤ε,Ui+1-Ui≤ε,Ai+1-Ai≤ε时,迭代终止,此时Si+1为当前时刻的服务器热度值,Ui+1为当前时刻的用户终端热度值,Ai+1为当前时刻的API热度值。
本发明实施例通过利用PageRank算法结合时间序列算法计算服务器热度值,既考虑了调用量、调用时间、调用频率等调用特性,有考虑了网络中服务器、API和用户终端之间的相互影响,计算逻辑更加科学合理,通过服务器热度值进行动态分发API调用请求,提高了调用效率、防止调用堵塞。
图5为本发明实施例提供的一种基于API热度值的动态负载均衡装置结构示意图,如图5所示,所述装置包括:收发器501和处理器502,其中,
所述收发器501用于接收用户终端发送的API调用请求和将所述API调用请求分发至目标服务器;
所述处理器502用于根据预设时间段内,网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,以及根据各服务器热度值获得所述目标服务器。
具体的,收发器501接收用户终端发送的API调用请求,处理器502根据预设时间段内,网络中的用户终端的用户属性、调用频次、调用时间和调用量计算获得当前时间所有服务器对应的服务器热度值,根据各服务器热度值对API调用请求选择目标服务器,收发器501将API调用请求发送至目标服务器,由该目标服务器对其进行处理。
本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
本发明实施例通过计算网络中服务器的服务器热度值,根据各服务器热度值进行动态负载均衡调拨,将API调用请求分发至目标服务器,使得对服务器负载进行调拨更加合理,提高了调用效率。
图6为本发明实施例提供的一种数据开放平台结构示意图,如图6所示,所述平台包括:通信连接的统一访问模块601、数据共享模块602和平台管理模块603;
所述统一访问模块601用于为用户终端提供统一访问数据的API,接收所述用户终端发送的API调用请求;
所述数据共享模块602用于接收并存储网络中各系统的数据;
所述平台管理模块603包括负载均衡装置,所述负载均衡装置用于执行上述的方法。
具体的,数据开放平台包括通信连接的统一访问模块601、数据共享模块602和平台管理模块603,还可以包括门户模块604;
统一访问模块601包括接入认证、访问鉴权、数据申请、流量控制配额控制和数据调用等功能。数据统一访问模块601为内外部用户提供统一访问数据的接口,主要是REST接口。用户访问数据首先要提出访问申请,在确定对用户进行接入认证和资源访问鉴权后,资产管理员通过用户的AIP调用申请请求,同时根据用户的身份(内外部用户、用户等级等属性)进行调用额度分配和流量控制,最后转入数据共享模块调用底层接口将数据返回给用户。
数据共享模块602接入功能,将运营商内部各个系统、各种不同协议的数据接入。接入的步骤为:数据接入、协议适配、数据脱敏、数据编排、数据发布。其中,协议适配对各系统提供的不同数据源的数据进行协议转换适配,系统支持HDFS、REST、KAFKA等不同数据源数据的接入。数据脱敏根据接入系统的要求对各个接口提供的数据进行加密处理。数据编排对各种数据进行格式转换,封装为统一的数据格式。接入方进行完数据编排,可发布数据接口,以示接口已经可用。
平台管理模块603主要为用户及数据的接入接出提供服务。其中,数据管理子模块为用户展示其权限范围内的数据接口目录及接口详情,并为资产管理员提供API请求审批、数据服务启停等功能。安全控制机制针对不同的网络环境提供对应API的接入服务器,实现资源的安全隔离;同时对数据传输进行采取必要的安全策略,防止传输过程中数据泄露造成的损失。负载均衡子模块用来根据上述各方法实施例对用户访问API进行动态分配服务器,减轻热门服务器的压力,避免造成访问阻塞,提高用户访问速率及满意度。日志管理模块采集并追踪日志,用来对可疑或访问频度过高的IP或用户进行限制等操作。预警与监控管理提供可视化API实时监控,并支持历史情况查询,以便统筹分析;通过配置预警方式(短信、Email),订阅预警信息,以便实时掌握API运行情况。用户管理子模块为用户提供统一集中的账号管理,实现用户注册、密码管理、账号升级、用户注销等账号生命周期的管理。
本发明实施例通过计算网络中服务器的服务器热度值,根据各服务器热度值进行动态负载均衡调拨,将API调用请求分发至目标服务器,使得对服务器负载进行调拨更加合理,提高了调用效率。
图7为本发明实施例提供的一种电子设备实体结构示意图,如图7所示,所述电子设备,包括:处理器(processor)701、存储器(memory)702和总线703;其中,
所述处理器701和存储器702通过所述总线703完成相互间的通信;
所述处理器701用于调用所述存储器702中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收用户终端发送的API调用请求,所述API调用请求包括被调用API名称;根据预设时间段内的网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,所述服务器热度值基于API热度值计算得到;根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,以实现动态负载均衡。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收用户终端发送的API调用请求,所述API调用请求包括被调用API名称;根据预设时间段内的网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,所述服务器热度值基于API热度值计算得到;根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,以实现动态负载均衡。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收用户终端发送的API调用请求,所述API调用请求包括被调用API名称;根据预设时间段内的网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,所述服务器热度值基于API热度值计算得到;根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,以实现动态负载均衡。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于API热度值的动态负载均衡方法,其特征在于,包括:
接收用户终端发送的API调用请求,所述API调用请求包括被调用API名称;
根据预设时间段内的网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,所述服务器热度值基于API热度值计算得到;
根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,以实现动态负载均衡;
其中,所述根据预设时间段内,网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,包括:
根据所述用户属性、所述调用频次、所述调用时间和所述调用量计算用户终端与对应的API之间的第一权重;
预先设定各个API与对应的服务器之间的第二权重,根据所述第一权重和所述第二权重计算API与服务器的转移概率矩阵、API与用户终端的转移概率矩阵、服务器与API的转移概率矩阵和用户终端与API的转移概率矩阵;
根据所述API与服务器的转移概率矩阵、所述API与用户终端的转移概率矩阵、所述服务器与API的转移概率矩阵和所述用户终端与API的转移概率矩阵计算得出各服务器的服务器热度值。
2.根据权利要求1所述的方法,其特征在于,所述根据各服务器热度值获得与所述被调用API名称对应的目标服务器,将所述API调用请求分发至所述目标服务器,包括:
根据所述用户属性、被调用API性能、所述被调用API对应的各服务器的健康率和服务器热度值计算所述被调用API对应的各服务器的最终得分,根据各服务器的最终得分获得目标服务器,将所述API调用请求分发至所述目标服务器。
4.根据权利要求1所述的方法,其特征在于,所述根据所述API与服务器的转移概率矩阵、所述API与用户终端的转移概率矩阵、所述服务器与API的转移概率矩阵和所述用户终端与API的转移概率矩阵计算得出各服务器的服务器热度值,包括:
根据所述API与服务器的转移概率矩阵、所述API与用户终端的转移概率矩阵、所述服务器与API的转移概率矩阵和所述用户终端与API的转移概率矩阵,利用PageRank算法计算得出各服务器的服务器热度值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述API与服务器的转移概率矩阵、所述API与用户终端的转移概率矩阵、所述服务器与API的转移概率矩阵和所述用户终端与API的转移概率矩阵,利用PageRank算法计算得出各服务器的服务器热度值,包括:
根据S0=A0=U0=1/N计算获得服务器初始热度值S0、API初始热度值A0和用户终端初始热度值U0,其中,N为网络中服务器、API和用户终端的数量和;
其中,Si+1为当前时刻各服务器的服务器热度值,Ui+1为当前时刻各用户终端的终端热度值,Ai+1为当前时刻各API的API热度值,PSA为API与服务器的转移概率矩阵,PUA为API与用户终端的转移概率矩阵,PAS为服务器与API的转移概率矩阵,PAU为用户终端与API的转移概率矩阵,i为迭代次数,且i为大于等于0的整数,ε为预设阈值。
6.一种基于API热度值的动态负载均衡装置,其特征在于,包括收发器和处理器;
所述收发器用于接收用户终端发送的API调用请求和将所述API调用请求分发至目标服务器;
所述处理器用于根据预设时间段内,网络中所有用户终端的用户属性、调用频次、调用时间和调用量计算所有服务器的服务器热度值,以及根据各服务器热度值进行获得所述目标服务器。
7.一种数据开放平台,其特征在于,包括通信连接的统一访问模块、数据共享模块和平台管理模块;
所述统一访问模块,用于为用户终端提供统一访问数据的API,接收所述用户终端发送的API调用请求;
所述数据共享模块,用于接收并存储网络中各系统的数据;
所述平台管理模块包括负载均衡装置,所述负载均衡装置用于执行权利要求1-5中任一项所述的方法。
8.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-5任一项所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349657.9A CN109936589B (zh) | 2017-12-15 | 2017-12-15 | 基于api热度值的动态负载均衡方法、装置及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349657.9A CN109936589B (zh) | 2017-12-15 | 2017-12-15 | 基于api热度值的动态负载均衡方法、装置及平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109936589A CN109936589A (zh) | 2019-06-25 |
CN109936589B true CN109936589B (zh) | 2021-09-03 |
Family
ID=66979903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711349657.9A Active CN109936589B (zh) | 2017-12-15 | 2017-12-15 | 基于api热度值的动态负载均衡方法、装置及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109936589B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110944044B (zh) * | 2019-11-20 | 2020-11-13 | 广州市品高软件股份有限公司 | 一种分布式api网关系统及其实现方法 |
CN112286593A (zh) * | 2020-09-28 | 2021-01-29 | 珠海大横琴科技发展有限公司 | 一种服务调用方法和装置 |
CN114553791A (zh) * | 2022-01-19 | 2022-05-27 | 浙江百应科技有限公司 | 一种外部接口限流方法、装置、电子设备以及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217558A (zh) * | 2007-12-26 | 2008-07-09 | 中国移动通信集团湖北有限公司 | 一种业务中间件服务负载均衡方法 |
CN102724105A (zh) * | 2011-03-30 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种负载均衡方法和装置 |
CN103428166A (zh) * | 2012-05-16 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 第三方应用的多sns平台统一接入方法及系统 |
CN103974138A (zh) * | 2014-04-15 | 2014-08-06 | 上海聚力传媒技术有限公司 | 用于在内容分发网络中预加载视频的方法与设备 |
CN104168133A (zh) * | 2014-07-11 | 2014-11-26 | 广州联智信息科技有限公司 | 一种动态配置api访问量的方法和网关及系统 |
CN104753706A (zh) * | 2013-12-27 | 2015-07-01 | 中国移动通信集团公司 | 一种分布式集群配置管理方法及装置 |
CN105025095A (zh) * | 2015-07-10 | 2015-11-04 | 福建天晴数码有限公司 | 实现云计算弹性服务的集群架构 |
CN105701397A (zh) * | 2014-11-24 | 2016-06-22 | 中国移动通信集团公司 | 一种应用程序控制方法和装置 |
CN105827446A (zh) * | 2016-03-31 | 2016-08-03 | 深圳市金溢科技股份有限公司 | 一种智能交通api网关及智能交通业务系统 |
CN106487644A (zh) * | 2015-08-28 | 2017-03-08 | 中国移动通信集团公司 | 一种通信方法和系统 |
CN106648557A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种应用程序编程接口api的分享方法和装置 |
CN106656630A (zh) * | 2017-01-13 | 2017-05-10 | 北京中电普华信息技术有限公司 | 一种电力营销业务应用系统及其构建方法、平台 |
CN106790409A (zh) * | 2016-11-30 | 2017-05-31 | 哈尔滨学院 | 基于电商平台用户历史数据处理的负载均衡方法及其系统 |
CN107018163A (zh) * | 2016-01-28 | 2017-08-04 | 中国移动通信集团河北有限公司 | 一种资源配置方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9607072B2 (en) * | 2013-12-19 | 2017-03-28 | Stretchr, Inc. | System and method for implementing nested relationships within a schemaless database |
-
2017
- 2017-12-15 CN CN201711349657.9A patent/CN109936589B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217558A (zh) * | 2007-12-26 | 2008-07-09 | 中国移动通信集团湖北有限公司 | 一种业务中间件服务负载均衡方法 |
CN102724105A (zh) * | 2011-03-30 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种负载均衡方法和装置 |
CN103428166A (zh) * | 2012-05-16 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 第三方应用的多sns平台统一接入方法及系统 |
CN104753706A (zh) * | 2013-12-27 | 2015-07-01 | 中国移动通信集团公司 | 一种分布式集群配置管理方法及装置 |
CN103974138A (zh) * | 2014-04-15 | 2014-08-06 | 上海聚力传媒技术有限公司 | 用于在内容分发网络中预加载视频的方法与设备 |
CN104168133A (zh) * | 2014-07-11 | 2014-11-26 | 广州联智信息科技有限公司 | 一种动态配置api访问量的方法和网关及系统 |
CN105701397A (zh) * | 2014-11-24 | 2016-06-22 | 中国移动通信集团公司 | 一种应用程序控制方法和装置 |
CN105025095A (zh) * | 2015-07-10 | 2015-11-04 | 福建天晴数码有限公司 | 实现云计算弹性服务的集群架构 |
CN106487644A (zh) * | 2015-08-28 | 2017-03-08 | 中国移动通信集团公司 | 一种通信方法和系统 |
CN106648557A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种应用程序编程接口api的分享方法和装置 |
CN107018163A (zh) * | 2016-01-28 | 2017-08-04 | 中国移动通信集团河北有限公司 | 一种资源配置方法和装置 |
CN105827446A (zh) * | 2016-03-31 | 2016-08-03 | 深圳市金溢科技股份有限公司 | 一种智能交通api网关及智能交通业务系统 |
CN106790409A (zh) * | 2016-11-30 | 2017-05-31 | 哈尔滨学院 | 基于电商平台用户历史数据处理的负载均衡方法及其系统 |
CN106656630A (zh) * | 2017-01-13 | 2017-05-10 | 北京中电普华信息技术有限公司 | 一种电力营销业务应用系统及其构建方法、平台 |
Also Published As
Publication number | Publication date |
---|---|
CN109936589A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106899680B (zh) | 多区块链的分片处理方法和装置 | |
CN110276182B (zh) | Api分布式限流的实现方法 | |
CN107682397B (zh) | 客户资源获取方法、装置、终端设备及存储介质 | |
US9691035B1 (en) | Real-time updates to item recommendation models based on matrix factorization | |
CN109936589B (zh) | 基于api热度值的动态负载均衡方法、装置及平台 | |
WO2017067394A1 (zh) | 客户服务方式的分配方法及系统 | |
CN109076024A (zh) | 数据控制方法及终端设备 | |
US8990586B2 (en) | Method for selectively exposing subscriber data | |
WO2017167121A1 (zh) | 确定及运用应用程序之间的关系关联的方法及装置 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
US20200128404A1 (en) | Systems And Methods For Providing Services | |
CN114090623A (zh) | 一种缓存资源的创建方法、装置、电子设备及存储介质 | |
WO2017000616A1 (zh) | 访问云数据的方法及装置、存储介质 | |
US10445136B1 (en) | Randomized subrequest selection using request-specific nonce | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
JP2018524683A (ja) | 動的なゼロレートサーバクラスタのための技術 | |
CN113784170B (zh) | 内容数据预热方法、装置、计算机设备及存储介质 | |
US20220019368A1 (en) | Record information management based on self-describing attributes | |
CN115514665A (zh) | 业务扩展方法、装置、电子设备及存储介质 | |
CN111970194B (zh) | 一种api网关的配置及请求处理方法 | |
US20220166852A1 (en) | Dynamic service response | |
CN110704159B (zh) | 一种基于OpenStack的一体化云操作系统 | |
US11334674B2 (en) | End point identification | |
CN114003337A (zh) | 访问请求的分配方法及装置 | |
CN107707383B (zh) | 放通处理方法、装置、第一网元及第二网元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |