CN110311987A - 微服务器的节点调度方法、装置、设备及存储介质 - Google Patents

微服务器的节点调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110311987A
CN110311987A CN201910674390.3A CN201910674390A CN110311987A CN 110311987 A CN110311987 A CN 110311987A CN 201910674390 A CN201910674390 A CN 201910674390A CN 110311987 A CN110311987 A CN 110311987A
Authority
CN
China
Prior art keywords
response time
node
microserver
current
model
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.)
Pending
Application number
CN201910674390.3A
Other languages
English (en)
Inventor
覃俊
童壮
帖军
李子茂
毛腾跃
吴经龙
孟凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South Central Minzu University
Original Assignee
South Central University for Nationalities
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South Central University for Nationalities filed Critical South Central University for Nationalities
Priority to CN201910674390.3A priority Critical patent/CN110311987A/zh
Publication of CN110311987A publication Critical patent/CN110311987A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种微服务器的节点调度方法、装置、设备及存储介质,所述方法包括:获取客户端发送的请求信息;确定所述请求信息的当前请求类型信息;获取当前服务节点中各个节点的当前性能指标信息;根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息,从而通过时间预测模型对各服务节点请求响应时间进行预测,根据预测结果,选择预测时间最少的节点处理请求,进而降低系统整体请求响应时间、提高请求分摊均衡度以及资源利于率。

Description

微服务器的节点调度方法、装置、设备及存储介质
技术领域
本发明涉及微服务系统技术领域,尤其涉及一种微服务器的节点调度方法、装置、设备及存储介质。
背景技术
微服务系统中节点数量较多且性能配置参差不齐,高并发情况下系统负载压力增大,系统资源利用率难以保证,导致请求响应时间过高,需要高效的负载均衡算法来解决。目前应用广泛、性能较佳的负载均衡策略如最小响应时间策略,其原理是向节点发出探测数据包,根据反馈情况调度请求。但高并发情况下这些策略会导致系统较大的网络开销。
发明内容
本发明的主要目的在于提出一种微服务器的节点调度方法、装置、设备及存储介质,旨在提高系统的运行效率。
为实现上述目的,本发明提供一种微服务器的节点调度方法,所述微服务器的节点调度方法包括以下步骤:
获取客户端发送的请求信息;
确定所述请求信息的当前请求类型信息;
获取当前服务节点中各个节点的当前性能指标信息;
根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;
从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息。
优选地,所述确定所述请求信息的当前请求类型信息,包括:
提取所述请求信息中的请求参数信息;
判断所述请求参数信息所在的地址信息,根据所述地址信息确定所述请求信息的当前请求类型信息。
优选地,所述根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间之前,所述方法还包括:
获取历史请求类型信息以及历史性能指标信息;
将所述历史请求类型信息以及历史性能指标信息生成历史特征向量;
根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型。
优选地,所述预设基础模型为线性回归模型;
所述根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型,包括:
根据所述历史特征向量通过所述线性回归模型采用以下公式进行训练,得到第一响应时间预测模型:
TRP=ωT R+e;
其中,TRP表示预测响应时间,ω=(ω0,ω1,ω2,ω3,ω4,ω5,ω6)代表自变量系数,R表示历史特征向量,e表示误差项。
优选地,所述预设基础模型为岭回归模型;
所述根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型,包括:
根据所述历史特征向量以及第一响应时间预测模型通过所述岭回归模型采用以下公式进行训练,得到第二响应时间预测模型;
Jω=min{||Rω-TRP||2+α||ω||2};
其中,α代表模型平均损失与惩罚项之间的非负系数,Jw表示损失函数的惩罚项。
优选地,所述预设基础模型为多项式回归模型;
所述根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型,包括:
根据所述历史特征向量通过所述多项式回归模型采用以下公式进行训练,得到第三响应时间预测模型;
TRP=ω1 T R+ω2 T R23 T R34 T R4+...ωn T Rn
其中,TRP表示预测响应时间,ωi=(ωi0,ωi1,ωi2,ωi3,ωi4,ωi5,ωi6),i=1,2,3…n,代表自变量i次幂下对应系数,T表示转置,Rk代表历史特征向量中k次幂下的响应时间影响因子自变量,k=1,2,3…n。
优选地,所述从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息之后,所述方法还包括:
获取所述目标服务节点响应所述请求信息的实际响应时间;
将所述当前请求类型信息、当前性能指标信息以及实际响应时间作为训练数据集;
根据所述训练数据集对所述预设响应时间预测模型进行更新。
此外,为实现上述目的,本发明还提出一种微服务器的节点调度装置,所述微服务器的节点调度装置包括:
获取模块,用于获取客户端发送的请求信息;
确定模块,用于确定所述请求信息的当前请求类型信息;
所述获取模块,还用于获取当前服务节点中各个节点的当前性能指标信息;
预测模块,用于根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;
响应模块,用于从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息。
此外,为实现上述目的,本发明还提出一种设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务器的节点调度程序,所述微服务器的节点调度程序配置为实现如上所述的微服务器的节点调度方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有微服务器的节点调度程序,所述微服务器的节点调度程序被处理器执行时实现如上文所述的微服务器的节点调度方法的步骤。
本发明提出的微服务器的节点调度方法,通过获取客户端发送的请求信息;确定所述请求信息的当前请求类型信息;获取当前服务节点中各个节点的当前性能指标信息;根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息,从而通过时间预测模型对各服务节点请求响应时间进行预测,根据预测结果,选择预测时间最少的节点处理请求,进而降低系统整体请求响应时间、提高请求分摊均衡度以及资源利于率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明微服务器的节点调度方法第一实施例的流程示意图;
图3为本发明微服务器的节点调度方法第二实施例的流程示意图;
图4为本发明微服务器的节点调度方法一实施例的模型训练阶段的流程示意图;
图5为本发明微服务器的节点调度方法第三实施例的流程示意图;
图6为本发明微服务器的节点调度方法一实施例的应用阶段进行模型更新的流程示意图;
图7a为本发明微服务器的节点调度方法一实施例的选取5节点进行测试的请求平均响应时间实验结示意图;
图7b为本发明微服务器的节点调度方法一实施例的选取10节点进行测试的请求平均响应时间实验结示意图;
图7c为本发明微服务器的节点调度方法一实施例的选取15节点进行测试的请求平均响应时间实验结示意图;
图8为本发明微服务器的节点调度方法一实施例的处理请求量实验结果示意图;
图9为本发明微服务器的节点调度装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该设备可以包括:处理器1001,例如中央处理器(Central ProcessingUnit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及微服务器的节点调度程序。
在图1所示的设备中,网络接口1004主要用于连接外网,与其他网络设备进行数据通信;用户接口1003主要用于连接用户设备,与设备进行数据通信;本发明设备通过处理器1001调用存储器1005中存储的微服务器的节点调度程序,并执行本发明实施例提供的微服务器的节点调度的实施方法。
基于上述硬件结构,提出本发明微服务器的节点调度方法实施例。
参照图2,图2为本发明微服务器的节点调度方法第一实施例的流程示意图。
在第一实施例中,所述微服务器的节点调度方法包括以下步骤:
步骤S10,获取客户端发送的请求信息。
需要说明的是,本实施例的执行主体为微服务器的节点调度设备,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,在本实施例中,以基于微服务器的节点调度设备为例进行说明。
可以理解的是,所述请求信息可为用户通过客户端访问的超文本传输协议(HyperText Transfer Protocol,HTTP),还可为其他形式的请求信息,本实施例对此不作限制。
步骤S20,确定所述请求信息的当前请求类型信息。
在本实施例中,请求类型不同也会影请求响应时间,因为不同类型的请求服务器的处理方式不同,如GET请求和POST请求对于请求Request的解析步骤就不相同,另外如计算密集型请求,需要服务器调用大量计算资源去获得结果,输入和输出(input output,IO)密集型请求,需要大量进行IO操作,都很大程度上增大了请求响应时间。
步骤S30,获取当前服务节点中各个节点的当前性能指标信息。
需要说明的是,所述当前性能指标信息包括CPU使用率、内存占用率、网络带宽利用率、堆内存使用率以及垃圾回收速度中至少一项,还可包含其它与性能相关的参数信息,本实施例对此不作限制,将上述参数设定为请求相关变量和服务节点相关变量,其表达形式如表1所示:
表1
可以理解的是,CPU使用率代表对应服务节点所在服务器的中央处理器的使用率,以百分数乘100取整来表示,如:85%表示为85,内存占用率代表对应服务节点所在服务器的内存占用率,以百分数乘100取整来表示,如:90%表示为90,网络带宽利用率代表对应服务基地所在服务器的网络带宽利用率,通过实时网络传输速率Snow除以带宽Sspeed得到,计算公式为:RN=(Snow/Sspeed)*100。其计算结果为百分数乘100的整数形式。如50%表示为50,JVM堆内存占用率代表对应服务所使用的JVM(java虚拟机)的堆内存占用率,以一个百分数乘100取整来表示,如:95%表示为95,JVM垃圾回收速度代表对应服务器所使用的JVM的GC速度,即单位时间内的回收垃圾数量,以一个整数表示,请求类型代表请求分类的参数,并不是实际的数值。本实施例中假定不同客户端发出相同请求类型的请求,服务节点的操作过程及资源消耗几乎相同。由于请求类型原始参数是文本形式,但其数量是有限,所以将其映射到一个整数列中,在模型中以对应整数形式表示。
步骤S40,根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间。
在本实施例中,通过对请求响应时间影响因子的分析,设计请求响应时间预测模型,将服务节点的运行性能状况D和请求类型K作为自变量,请求响应时间作为因变量进行回归训练,寻找响应时间与其影响因子之间的函数关系,得到请求响应时间预测模型。
步骤S50,从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息。
本实施例通过上述方案,通过获取客户端发送的请求信息;确定所述请求信息的当前请求类型信息;获取当前服务节点中各个节点的当前性能指标信息;根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息,从而通过时间预测模型对各服务节点请求响应时间进行预测,根据预测结果,选择预测时间最少的节点处理请求,进而降低系统整体请求响应时间、提高请求分摊均衡度以及资源利于率。
进一步地,如图3所示,基于第一实施例提出本发明微服务器的节点调度方法第二实施例,在本实施例中,所述步骤S20,包括:
提取所述请求信息中的请求参数信息;判断所述请求参数信息所在的地址信息,根据所述地址信息确定所述请求信息的当前请求类型信息。
需要说明的是,由于不同的请求类型处理方式会不同,例如GET请求的参数是放在统一资源定位器(UniformResourceLocator,URL)里的,POST请求参数是放在请求body里的;GET请求的URL传参有长度限制,而POST请求没有长度限制;GET请求的参数只能是ASCII码,所以中文需要URL编码,而POST请求传参没有这个限制,从而根据请求类型进行相应的处理,提高请求处理的准确性。
进一步地,所述步骤S40之前,所述方法还包括:
步骤S401,获取历史请求类型信息以及历史性能指标信息。
需要说明的是,接收新请求后,新建一条请求记录,提取出请求类型K,模型训练阶段,在预测模型还未得出的情况下,为了均衡和稳定的分摊请求,快速获取训练数据,使用简单的随机选择策略来实现负载均衡转发请求。
在本实施例中,如图4所示的模型训练阶段的流程示意图,请求经过负载均衡器转发到达指定服务节点后,记录目标节点互联网协议地址(Internet Protocol Address,IP)和若干实时性能指标Rc、Rm、RN、Rhm以及SCG,发送数据到模型训练节点记录。
步骤S402,将所述历史请求类型信息以及历史性能指标信息生成历史特征向量。
需要说明的是,请求到达节点后就可以记录请求开始时间Tstart,之后在服务节点处理完后记录请求结束时间Tend。之后可以计算并记录实际请求响应时间Ttrue=Tend-Tstart,获得并记录一条完整的响应时间与影响因子训练数据。重复上述过程,大量积累训练数据,形成响应时间与影响因子数据集,使用回归训练模型训练获取到的数据集,例如将200000条数据作为基础数据集,其中70%是训练集,30%为验证集。
步骤S403,根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型。
在本实施例中,数据集经过回归训练后,得到对应的回归函数,也就是请求响应时间预测模型,将使用得到的预测模型应用到负载均衡器的负载策略当中,其中,所述预设基础模型包括线性回归模型、多项式回归模型以及岭回归模型中至少一项。
进一步地,所述预设基础模型为线性回归模型,所述步骤S403,包括:
根据所述历史特征向量通过所述线性回归模型采用以下公式进行训练,得到第一响应时间预测模型:
TRP=ωT R+e;
其中,TRP表示预测响应时间,ω=(ω0,ω1,ω2,ω3,ω4,ω5,ω6)代表自变量系数,R表示历史特征向量,e表示误差项。
进一步地,所述预设基础模型为岭回归模型,所述步骤S403,包括:
所述根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型,包括:
根据所述历史特征向量以及第一响应时间预测模型通过所述岭回归模型采用以下公式进行训练,得到第二响应时间预测模型;
Jω=min{||Rω-TRP||2+α||ω||2};
其中,α代表模型平均损失与惩罚项之间的非负系数,Jw表示损失函数的惩罚项。
进一步地,所述预设基础模型为多项式回归模型,所述步骤S403,包括:
根据所述历史特征向量通过所述多项式回归模型采用以下公式进行训练,得到第三响应时间预测模型;
TRP=ω1 T R+ω2 T R23 T R34 T R4+...ωn T Rn
其中,TRP表示预测响应时间,ωi=(ωi0,ωi1,ωi2,ωi3,ωi4,ωi5,ωi6),i=1,2,3…n,代表自变量i次幂下对应系数,T表示转置,Rk代表历史特征向量中k次幂下的响应时间影响因子自变量,k=1,2,3…n。
本实施例通过上述方案,通过选择三种回归方法来拟合请求响应时间预测模型,以寻找响应时间与其影响因子之间的关系,只需应用训练所得的预测模型,从而减轻对系统造成的额外负担。
进一步地,如图5所示,基于第一实施例或第二实施例提出本发明微服务器的节点调度方法第三实施例,在本实施例中,基于第一实施例进行说明,所述步骤S50之后,所述方法还包括:
步骤S501,获取所述目标服务节点响应所述请求信息的实际响应时间。
步骤S502,将所述当前请求类型信息、当前性能指标信息以及实际响应时间作为训练数据集。
步骤S503,根据所述训练数据集对所述预设响应时间预测模型进行更新。
在具体实现中,与训练节点相同,如图6所示应用阶段进行模型更新的流程示意图,接收请求,Ribbon负载均衡器记录请求类型K。此阶段各服务节点实时性能指标由admin节点通过监控组件获得,负载均衡器向admin节点获取对应服务所有节点的实时性能参数:Rc、Rm、RN、Rhm、SCG。这种方法方式避免了服务节点与负载均衡器的频繁通信,减少了负载均衡器的资源消耗,同时也减少了主干服务网络的网络通信,一定程度上缓解系统内部的通信压力,通过训练阶段得到的请求响应时间预测模型,带入得到的请求类型和服务节点实时性能参数,将新的自变量K、Rc、Rm、RN、Rhm、SCG预测模型,计算请求响应时间作为预测结果,并排序,负载均衡器使用请求响应时间预测模型计算各服务节点的预测响应时间,通过各服务节点的预测请求响应时间序列,选择预测时间最小的服务节点进行请求转发,将新校正过的预测模型取代负载均衡器中原先的预测模型,请求经过服务节点处理后向客户端反馈结果,负载均衡器随后删除用于预测计算的数据信息。
进一步地,所述步骤S503之前,所述方法还包括:
统计所述训练数据集的数量信息,在所述数量信息达到预设阈值时执行步骤S503。
需要说明的是,所述预设阈值可为1000条,还可为其他参数信息,本实施例对此不作限制,在本实施例中,以1000条为例进行说明,继续如图6所示,记录的数据可以得到一条完整的实际响应时间与影响因子数据项,后续数据项在训练节点进行积累,当数量达到1000条后重新带入回归训练模型,校正预测函数。
本实施例提供的方案,通过将前期训练所得预测模型应用于系统,再将运行中新数据作为后续数据集校正模型,从而对模型进行实时更新,提高响应时间预测的准确性。
实验
实验一:通过JMeter压力测试工具模拟大量高并发请求,在训练阶段集群中获取初期200000条请求响应时间及其影响因子的历史数据集,之后在独立训练节点使用scikit-learn机器学习第三方类库分别应用线性回归,多项式回归和岭回归分析模型进行预测模型训练,并以70%数据为训练集,30%数据为验证集,得到三种回归分析方法得出的预测模型准确性结果。三种回归方法所得预测模型训练结果如表2所示:
回归分析方法 平均误差 准确率
线性回归 65.9 35%
多项式回归 32.6 87%
岭回归 65.3 36%
表2
由表2训练结果可知,多项式回归分析方法所得的请求响应时间预测模型准确率最高,说明多项式模型更加符合请求响应时间及其影响因子的关系。后续微服务集群中负载均衡性能实验将应用该预测模型实现动态负载均衡。
选取由多项式回归方法得出准确率最高的请求响应时间预测模型,将之应用于实验集群。以实现微服务器的节点调度方法实验集群作为a组实验;以应用最小响应时间负载均衡策略的微服务集群作为b组实验。不同并发量情况下分别对农资商品抢购应用程序编程接口(Application Programming Interface,API)接口进行模拟请求测试,依次记录a组和b组实验的请求平均响应时间。为验证在不同规模集群的适应能力,本实验选取了节点数量为5、10、15的微服务单元进行测试,分别对应小规模、中规模及大规模集群实验场景。实验结果如图7a所示的选取5节点进行测试的请求平均响应时间实验结示意图、图7b所示的选取10节点进行测试的请求平均响应时间实验结示意图以及图7c所示选取15节点进行测试的请求平均响应时间实验结示意图,得出结论:与最小响应时间策略相比,实现微服务器的节点调度方法适用于中小规模微服务单元集群且并发量较大的情况,能够有效降低系统请求平均响应时间,一定程度上提高了微服务系统的资源调度高效性。
实验二:将实现微服务器的节点调度方法的实验集群作为a组实验,应用轮询选择策略实验集群作为b组实验。在40K并发量下对农资商品抢购服务API接口模拟100000请求,记录各服务节点的处理请求数量。进行多次测试,各节点数据取平均值。抢购微服务单元节点数量固定为5个。为体现该算法利用资源的合理性和高效性,微服务单元中节点性能配置存在差异,两组实验集群节点性能配置对应相同。在三种服务节点性能配置条件下模拟高并发请求场景,统计40k/s并发量下100000个请求各节点分摊情况,检验该动态负载均衡算法的请求分发均衡度,从而体现系统资源利用率。实验结果如图8所示处理请求量实验结果示意图。
a组实验的5个节点分配请求数量存在差异,并且节点性能配置越高,分配请求数量越多;性能配置相同的节点分配请求数量相近。b组实验使用轮询选择策略,各节点分配请求数量十分均衡,但这种绝对均衡的策略并没有考虑到服务节点的性能差异和负载情况,会出现高性能节点相对负载压力较低,低性能节点相对负载压力较高的情况,故系统资源利用率并不高。a组实验使用请求响应时间的预测结果作为节点运行性能衡量标准,每次都会选择预测响应时间最低运行性能最好的节点来处理请求,有效提高了系统资源的利用率。
本发明进一步提供一种微服务器的节点调度装置。
参照图9,图9为本发明微服务器的节点调度装置第一实施例的功能模块示意图。
本发明微服务器的节点调度装置第一实施例中,该微服务器的节点调度装置包括:
获取模块10,用于获取客户端发送的请求信息。
可以理解的是,所述请求信息可为用户通过客户端访问的超文本传输协议(HyperText Transfer Protocol,HTTP),还可为其他形式的请求信息,本实施例对此不作限制。
确定模块20,用于确定所述请求信息的当前请求类型信息。
在本实施例中,请求类型不同也会影请求响应时间,因为不同类型的请求服务器的处理方式不同,如GET请求和POST请求对于请求Request的解析步骤就不相同,另外如计算密集型请求,需要服务器调用大量计算资源去获得结果,输入和输出(input output,IO)密集型请求,需要大量进行IO操作,都很大程度上增大了请求响应时间。
所述获取模块10,还用于获取当前服务节点中各个节点的当前性能指标信息。
需要说明的是,所述当前性能指标信息包括CPU使用率、内存占用率、网络带宽利用率、堆内存使用率以及垃圾回收速度中至少一项,还可包含其它与性能相关的参数信息,本实施例对此不作限制,将上述参数设定为请求相关变量和服务节点相关变量,其表达形式如表1所示:
可以理解的是,CPU使用率代表对应服务节点所在服务器的中央处理器的使用率,以百分数乘100取整来表示,如:85%表示为85,内存占用率代表对应服务节点所在服务器的内存占用率,以百分数乘100取整来表示,如:90%表示为90,网络带宽利用率代表对应服务基地所在服务器的网络带宽利用率,通过实时网络传输速率Snow除以带宽Sspeed得到,计算公式为:RN=(Snow/Sspeed)*100。其计算结果为百分数乘100的整数形式。如50%表示为50,JVM堆内存占用率代表对应服务所使用的JVM(java虚拟机)的堆内存占用率,以一个百分数乘100取整来表示,如:95%表示为95,JVM垃圾回收速度代表对应服务器所使用的JVM的GC速度,即单位时间内的回收垃圾数量,以一个整数表示,请求类型代表请求分类的参数,并不是实际的数值。本实施例中假定不同客户端发出相同请求类型的请求,服务节点的操作过程及资源消耗几乎相同。由于请求类型原始参数是文本形式,但其数量是有限,所以将其映射到一个整数列中,在模型中以对应整数形式表示。
预测模块30,用于根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间。
在本实施例中,通过对请求响应时间影响因子的分析,设计请求响应时间预测模型,将服务节点的运行性能状况D和请求类型K作为自变量,请求响应时间作为因变量进行回归训练,寻找响应时间与其影响因子之间的函数关系,得到请求响应时间预测模型。
响应模块40,用于从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息。
本实施例通过上述方案,通过获取客户端发送的请求信息;确定所述请求信息的当前请求类型信息;获取当前服务节点中各个节点的当前性能指标信息;根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息,从而通过时间预测模型对各服务节点请求响应时间进行预测,根据预测结果,选择预测时间最少的节点处理请求,进而降低系统整体请求响应时间、提高请求分摊均衡度以及资源利于率。
此外,为实现上述目的,本发明还提出一种微服务器的节点调度设备,所述微服务器的节点调度设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务器的节点调度程序,所述微服务器的节点调度程序配置为实现如上文所述的微服务器的节点调度方法的步骤。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有微服务器的节点调度程序,所述微服务器的节点调度程序被处理器执行如上文所述的微服务器的节点调度方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台智能终端设备(可以是手机,计算机,终端设备,空调器,或者网络终端设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种微服务器的节点调度方法,其特征在于,所述微服务器的节点调度方法包括:
获取客户端发送的请求信息;
确定所述请求信息的当前请求类型信息;
获取当前服务节点中各个节点的当前性能指标信息;
根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;
从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息。
2.如权利要求1所述的微服务器的节点调度方法,其特征在于,所述确定所述请求信息的当前请求类型信息,包括:
提取所述请求信息中的请求参数信息;
判断所述请求参数信息所在的地址信息,根据所述地址信息确定所述请求信息的当前请求类型信息。
3.如权利要求1所述的微服务器的节点调度方法,其特征在于,所述根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间之前,所述方法还包括:
获取历史请求类型信息以及历史性能指标信息;
将所述历史请求类型信息以及历史性能指标信息生成历史特征向量;
根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型。
4.如权利要求3所述的微服务器的节点调度方法,其特征在于,所述预设基础模型为线性回归模型;
所述根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型,包括:
根据所述历史特征向量通过所述线性回归模型采用以下公式进行训练,得到第一响应时间预测模型:
TRP=ωTR+e;
其中,TRP表示预测响应时间,ω=(ω0,ω1,ω2,ω3,ω4,ω5,ω6)代表自变量系数,R表示历史特征向量,e表示误差项。
5.如权利要求4所述的微服务器的节点调度方法,其特征在于,所述预设基础模型为岭回归模型;
所述根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型,包括:
根据所述历史特征向量以及第一响应时间预测模型通过所述岭回归模型采用以下公式进行训练,得到第二响应时间预测模型;
Jω=min{||Rω-TRP||2+α||ω||2};
其中,α代表模型平均损失与惩罚项之间的非负系数,Jw表示损失函数的惩罚项。
6.如权利要求3所述的微服务器的节点调度方法,其特征在于,所述预设基础模型为多项式回归模型;
所述根据所述历史特征向量通过预设基础模型中进行训练,得到预设响应时间预测模型,包括:
根据所述历史特征向量通过所述多项式回归模型采用以下公式进行训练,得到第三响应时间预测模型;
TRP=ω1 TR+ω2 TR23 TR34 TR4+...ωn TRn
其中,TRP表示预测响应时间,ωi=(ωi0,ωi1,ωi2,ωi3,ωi4,ωi5,ωi6),i=1,2,3…n,代表自变量i次幂下对应系数,T表示转置,Rk代表历史特征向量中k次幂下的响应时间影响因子自变量,k=1,2,3…n。
7.如权利要求1至6中任一项所述的微服务器的节点调度方法,其特征在于,所述从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息之后,所述方法还包括:
获取所述目标服务节点响应所述请求信息的实际响应时间;
将所述当前请求类型信息、当前性能指标信息以及实际响应时间作为训练数据集;
根据所述训练数据集对所述预设响应时间预测模型进行更新。
8.一种微服务器的节点调度装置,其特征在于,所述微服务器的节点调度装置包括:
获取模块,用于获取客户端发送的请求信息;
确定模块,用于确定所述请求信息的当前请求类型信息;
所述获取模块,还用于获取当前服务节点中各个节点的当前性能指标信息;
预测模块,用于根据所述当前请求类型信息以及所述当前性能指标信息通过预设响应时间预测模型进行响应时间预测,得到预测响应时间;
响应模块,用于从所述当前服务节点中选取所述预测响应时间为最短的服务节点作为目标服务节点,通过所述目标服务节点响应所述请求信息。
9.一种微服务器的节点调度设备,其特征在于,所述微服务器的节点调度设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务器的节点调度程序,所述微服务器的节点调度程序配置为实现如权利要求1至7中任一项所述的微服务器的节点调度方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有微服务器的节点调度程序,所述微服务器的节点调度程序被处理器执行时实现如权利要求1至7中任一项所述的微服务器的节点调度方法的步骤。
CN201910674390.3A 2019-07-24 2019-07-24 微服务器的节点调度方法、装置、设备及存储介质 Pending CN110311987A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910674390.3A CN110311987A (zh) 2019-07-24 2019-07-24 微服务器的节点调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910674390.3A CN110311987A (zh) 2019-07-24 2019-07-24 微服务器的节点调度方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN110311987A true CN110311987A (zh) 2019-10-08

Family

ID=68080893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910674390.3A Pending CN110311987A (zh) 2019-07-24 2019-07-24 微服务器的节点调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110311987A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806930A (zh) * 2019-10-29 2020-02-18 浙江大华技术股份有限公司 微服务调度方法、装置、设备及存储装置
CN110825525A (zh) * 2019-11-06 2020-02-21 湖南快乐阳光互动娱乐传媒有限公司 数据资源回源方法及装置
CN110888744A (zh) * 2019-11-29 2020-03-17 杭州电子科技大学 一种基于工作量自动调优的负载均衡方法
CN111064772A (zh) * 2019-11-21 2020-04-24 深圳市优必选科技股份有限公司 一种车辆服务的响应方法及系统
CN111200649A (zh) * 2019-12-30 2020-05-26 北京知道创宇信息技术股份有限公司 一种调度方法及装置、调度模型生成方法及装置
CN111404771A (zh) * 2020-03-08 2020-07-10 苏州浪潮智能科技有限公司 一种网络负载测试方法、装置、设备和介质
CN112035254A (zh) * 2020-08-28 2020-12-04 北京达佳互联信息技术有限公司 负载均衡方法及装置
CN112054929A (zh) * 2020-09-02 2020-12-08 深圳大学 面向LoRa网关的分布式QoS分类方法及系统
CN112130936A (zh) * 2020-09-23 2020-12-25 平安科技(深圳)有限公司 基于轮询的数据调用方法、装置、设备及存储介质
CN112437147A (zh) * 2020-11-19 2021-03-02 浙江大学滨海产业技术研究院 一种微服务负载均衡最佳路由算法、装置、设备以及介质
CN113050963A (zh) * 2019-12-27 2021-06-29 北京搜狗科技发展有限公司 一种数据处理方法、装置和电子设备
CN113127168A (zh) * 2021-04-07 2021-07-16 深圳希施玛数据科技有限公司 服务分配方法、系统、装置、服务器及介质
CN113132133A (zh) * 2019-12-31 2021-07-16 中国移动通信集团陕西有限公司 分发用户配置数据的方法、装置、计算设备及存储介质
CN113159521A (zh) * 2021-03-26 2021-07-23 珠海大横琴科技发展有限公司 一种服务调度的方法和装置
CN113450096A (zh) * 2021-06-25 2021-09-28 未鲲(上海)科技服务有限公司 资源转移数据的处理方法、装置、电子设备及介质
WO2022183802A1 (zh) * 2021-03-05 2022-09-09 深圳前海微众银行股份有限公司 一种负载均衡方法及装置、设备、存储介质、计算机程序产品
CN116450485A (zh) * 2023-06-09 2023-07-18 杭州谐云科技有限公司 一种应用性能干扰的检测方法和系统
CN117170848A (zh) * 2023-09-11 2023-12-05 赛尔新技术(北京)有限公司 一种资源调度方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228888A1 (en) * 2008-03-10 2009-09-10 Sun Microsystems, Inc. Dynamic scheduling of application tasks in a distributed task based system
CN101719082A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 虚拟化计算平台中应用请求调度的方法及其系统
CN102664812A (zh) * 2012-05-14 2012-09-12 山东大学 融合业务预测与实时负载的两阶段服务系统负载预测与均衡方法
CN102831012A (zh) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 多节点分布式系统中的任务调度装置和任务调度方法
CN105897836A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 一种回源请求处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228888A1 (en) * 2008-03-10 2009-09-10 Sun Microsystems, Inc. Dynamic scheduling of application tasks in a distributed task based system
CN101719082A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 虚拟化计算平台中应用请求调度的方法及其系统
CN102831012A (zh) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 多节点分布式系统中的任务调度装置和任务调度方法
CN102664812A (zh) * 2012-05-14 2012-09-12 山东大学 融合业务预测与实时负载的两阶段服务系统负载预测与均衡方法
CN105897836A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 一种回源请求处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈大才,吕立等: "基于预测模型及独立训练节点的负载均衡策略", 《计算机系统应用》 *
陈大才: "基于Nginx的高并发访问服务器的研究与应用", 《中国优秀硕士学位论文全文数据库》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806930B (zh) * 2019-10-29 2022-08-09 浙江大华技术股份有限公司 微服务调度方法、装置、设备及存储装置
CN110806930A (zh) * 2019-10-29 2020-02-18 浙江大华技术股份有限公司 微服务调度方法、装置、设备及存储装置
CN110825525A (zh) * 2019-11-06 2020-02-21 湖南快乐阳光互动娱乐传媒有限公司 数据资源回源方法及装置
CN110825525B (zh) * 2019-11-06 2022-06-07 湖南快乐阳光互动娱乐传媒有限公司 数据资源回源方法及装置
CN111064772A (zh) * 2019-11-21 2020-04-24 深圳市优必选科技股份有限公司 一种车辆服务的响应方法及系统
CN111064772B (zh) * 2019-11-21 2022-08-02 深圳市优必选科技股份有限公司 一种车辆服务的响应方法及系统
CN110888744A (zh) * 2019-11-29 2020-03-17 杭州电子科技大学 一种基于工作量自动调优的负载均衡方法
CN113050963A (zh) * 2019-12-27 2021-06-29 北京搜狗科技发展有限公司 一种数据处理方法、装置和电子设备
CN111200649B (zh) * 2019-12-30 2023-03-24 北京知道创宇信息技术股份有限公司 一种调度方法及装置、调度模型生成方法及装置
CN111200649A (zh) * 2019-12-30 2020-05-26 北京知道创宇信息技术股份有限公司 一种调度方法及装置、调度模型生成方法及装置
CN113132133B (zh) * 2019-12-31 2023-08-15 中国移动通信集团陕西有限公司 分发用户配置数据的方法、装置、计算设备及存储介质
CN113132133A (zh) * 2019-12-31 2021-07-16 中国移动通信集团陕西有限公司 分发用户配置数据的方法、装置、计算设备及存储介质
CN111404771B (zh) * 2020-03-08 2022-02-25 苏州浪潮智能科技有限公司 一种网络负载测试方法、装置、设备和介质
CN111404771A (zh) * 2020-03-08 2020-07-10 苏州浪潮智能科技有限公司 一种网络负载测试方法、装置、设备和介质
CN112035254A (zh) * 2020-08-28 2020-12-04 北京达佳互联信息技术有限公司 负载均衡方法及装置
CN112054929A (zh) * 2020-09-02 2020-12-08 深圳大学 面向LoRa网关的分布式QoS分类方法及系统
CN112054929B (zh) * 2020-09-02 2023-04-07 深圳大学 面向LoRa网关的分布式QoS分类方法及系统
CN112130936B (zh) * 2020-09-23 2023-12-19 平安科技(深圳)有限公司 基于轮询的数据调用方法、装置、设备及存储介质
CN112130936A (zh) * 2020-09-23 2020-12-25 平安科技(深圳)有限公司 基于轮询的数据调用方法、装置、设备及存储介质
CN112437147A (zh) * 2020-11-19 2021-03-02 浙江大学滨海产业技术研究院 一种微服务负载均衡最佳路由算法、装置、设备以及介质
CN112437147B (zh) * 2020-11-19 2023-01-17 浙江大学滨海产业技术研究院 一种微服务负载均衡最佳路由算法、装置、设备以及介质
WO2022183802A1 (zh) * 2021-03-05 2022-09-09 深圳前海微众银行股份有限公司 一种负载均衡方法及装置、设备、存储介质、计算机程序产品
CN113159521A (zh) * 2021-03-26 2021-07-23 珠海大横琴科技发展有限公司 一种服务调度的方法和装置
CN113127168A (zh) * 2021-04-07 2021-07-16 深圳希施玛数据科技有限公司 服务分配方法、系统、装置、服务器及介质
CN113450096A (zh) * 2021-06-25 2021-09-28 未鲲(上海)科技服务有限公司 资源转移数据的处理方法、装置、电子设备及介质
CN116450485A (zh) * 2023-06-09 2023-07-18 杭州谐云科技有限公司 一种应用性能干扰的检测方法和系统
CN116450485B (zh) * 2023-06-09 2023-11-10 杭州谐云科技有限公司 一种应用性能干扰的检测方法和系统
CN117170848A (zh) * 2023-09-11 2023-12-05 赛尔新技术(北京)有限公司 一种资源调度方法及装置
CN117170848B (zh) * 2023-09-11 2024-06-11 赛尔新技术(北京)有限公司 一种资源调度方法及装置

Similar Documents

Publication Publication Date Title
CN110311987A (zh) 微服务器的节点调度方法、装置、设备及存储介质
CN106385468B (zh) Web集群的可预测动态负载均衡方法
CN109246229A (zh) 一种分发资源获取请求的方法和装置
CN108089921A (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
CN110365765A (zh) 一种缓存服务器的带宽调度方法及装置
CN109831524A (zh) 一种负载均衡处理方法及装置
CN104995899A (zh) 服务器负载管理
CN112051771B (zh) 多云数据采集方法、装置、计算机设备和存储介质
CN110149377A (zh) 一种视频服务节点资源分配方法、系统、装置及存储介质
US20140181174A1 (en) Distributed processing of stream data on an event protocol
CN104937613A (zh) 量化数据质量的探试
CN112541556A (zh) 模型构建优化方法、设备、介质及计算机程序产品
CN116776030A (zh) 灰度发布方法、装置、计算机设备、存储介质
CN107306419A (zh) 一种端到端质量评估方法和装置
CN115037665B (zh) 设备测试方法和装置
Salehi et al. An adaptive data coding scheme for energy consumption reduction in SDN-based Internet of Things
CN112785418B (zh) 信贷风险建模方法、装置、设备及计算机可读存储介质
JP5882495B2 (ja) 評判メカニズムを判定するシステムおよび方法
CN115801896A (zh) 算力网络节点分配方法、装置、电子设备及存储介质
CN112631577B (zh) 一种模型的调度方法、模型调度器以及模型安全测试平台
CN109617960A (zh) 一种基于属性化分离的web AR数据呈现方法
CN112866358B (zh) 一种物联网服务重调度的方法、系统及装置
CN111598390B (zh) 服务器高可用性评估方法、装置、设备和可读存储介质
CN111210279B (zh) 一种目标用户预测方法、装置和电子设备
Soualah et al. A Monitoring Aware Strategy for 5G Core Slice Embedding

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191008

RJ01 Rejection of invention patent application after publication