CN110471761A - 服务器的控制方法、用户设备、存储介质及装置 - Google Patents

服务器的控制方法、用户设备、存储介质及装置 Download PDF

Info

Publication number
CN110471761A
CN110471761A CN201910675357.2A CN201910675357A CN110471761A CN 110471761 A CN110471761 A CN 110471761A CN 201910675357 A CN201910675357 A CN 201910675357A CN 110471761 A CN110471761 A CN 110471761A
Authority
CN
China
Prior art keywords
server
weight
moment
parameter
destination server
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
CN201910675357.2A
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 CN201910675357.2A priority Critical patent/CN110471761A/zh
Publication of CN110471761A publication Critical patent/CN110471761A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了服务器的控制方法、用户设备、存储介质及装置。本发明中通过获取影响目标服务器权重的动态信息和静态信息,并依据所述动态信息和静态信息确定目标服务器权重,从而能够动态的计算服务器权重,基于所述服务器权重将服务请求进行分配给目标服务器。从而在分发过程中动态地根据服务器反馈来进行权重调整,在后端集群工作状态复杂不稳定的环境下能较好地保持高性能的负载均衡。

Description

服务器的控制方法、用户设备、存储介质及装置
技术领域
本发明涉及互联网领域,尤其涉及服务器的控制方法、用户设备、存储介质及装置。
背景技术
互联网近年来飞速发展,日益完善的网络服务使得人们越来越频繁地通过网络处理生活中的事务,互联网的发展已经成为社会发展的重要驱动力。
随着互联网用户以及访问量的剧增,服务器的工作能力受到了极大的考验,在一些业务复杂的Web网站中尤为突出,如何提高Web集群在高并发场景下的工作能力是需要解决的主要问题。目前解决上述问题的主要方案是增加服务器数量,通过构建应用服务器的负载均衡集群来分担服务器负载。在负载均衡的过程中,起到决定性作用的就是加权轮询算法。
加权轮询算法的原理就是:根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。加权轮询算法完全依靠后端服务器的配置信息人为确定权值,在分发过程中没有动态地根据服务器反馈来进行权重调整,在后端集群工作状态复杂不稳定的环境下不能较好地保持高性能的负载均衡。
所以,当前服务器存在当后端集群工作状态复杂不稳定的环境下不能较好地保持高性能的负载均衡的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供服务器的控制方法、用户设备、存储介质及装置,旨在解决当前服务器存在当后端集群工作状态复杂不稳定的环境下不能较好地保持高性能的负载均衡的技术问题。
为实现上述目的,本发明提供一种服务器的控制方法,所述服务器的控制方法包括以下步骤:
获取影响目标服务器权重的动态信息和静态信息;
根据所述动态信息和静态信息确定目标服务器权重;
基于所述服务器权重将服务请求进行分配给目标服务器。
优选地,所述获取影响目标服务器权重的动态信息和静态信息,包括:
获取目标服务器的服务器CPU配置参数、内存配置参数、磁盘配置参数及网络配置参数;并获取目标服务器的操作系统参数以及服务质量层面参数;
相应地,所述根据所述动态信息和静态信息确定目标服务器权重包括:
根据所述CPU配置参数、内存配置参数、磁盘配置参数、网络配置参数、操作系统参数以及服务质量层面参数确定目标服务器权重。
优选地,所述获取目标服务器的服务器CPU配置参数,包括:
获取第一时刻及第二时刻的时间间隔内的空闲期的时间;
依据第一预设公式及空闲期的时间计算CPU的使用率,将所述CPU的使用率作为目标服务器的服务器CPU配置参数。
优选地,所述第一预设公式为:
Uc=1-(idletimet1-idletimet2)/(totalt1-totalt2)
其中,Uc表示CPU的使用率;totalt1表示第一时刻,totalt2表示第二时刻;idletimet1表示第一时刻对应的空闲期的时间,idletimet2表示第二时刻对应的空闲期的时间。
优选地,所述获取目标服务器的内存配置参数,包括:
获取目标服务器的内存总量、空闲内存、缓冲区空间以及缓存;
基于第二预设公式、内存总量、空闲内存、缓冲区空间及缓存计算内存使用率,将所述内存使用率作为目标服务器的内存配置参数。
优选地,所述获取目标服务器的内存配置参数,包括:
获取第一时刻及第二时刻的时间间隔内的处理IO口的时间;
依据第三预设公式及处理IO口的时间计算IO口的使用率,将所述IO口的使用率作为内存配置参数。
优选地,所述获取目标服务器的网络配置参数,包括:
分别获取第一时刻及第二时刻的总字节数,并获取网络带宽;
根据第一时刻及第二时刻的总字节数计算两个时刻的总字节数的差值;
根据所述差值、网络带宽及第四预设公式计算网络宽带利用率,将所述网络宽带利用率作为网络配置参数。
为实现上述目的,本发明还提出一种用户设备,所述用户设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行信息的智能输入程序,所述信息的智能输入程序被所述处理器执行时实现如上所述的服务器的控制方法的步骤。
为实现上述目的,本发明还提一种存储介质于,所述存储介质上存储服务器的控制程序,所述服务器的控制程序被处理器执行时实现如上所述的服务器的控制方法的步骤。
为实现上述目的,本发明还提一种服务器的控制装置,所述服务器的控制装置包括:
获取模块,用于获取影响目标服务器权重的动态信息和静态信息;
计算模块,用于根据所述动态信息和静态信息确定目标服务器权重;
控制模块,用于基于所述服务器权重将服务请求进行分配给目标服务器。
本发明技术方案中,通过获取影响目标服务器权重的动态信息和静态信息,并依据所述动态信息和静态信息确定目标服务器权重,从而能够动态的计算服务器权重,基于所述服务器权重将服务请求进行分配给目标服务器。从而在分发过程中动态地根据服务器反馈来进行权重调整,在后端集群工作状态复杂不稳定的环境下能较好地保持高性能的负载均衡。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的用户设备结构示意图;
图2为本发明服务器的控制方法第一实施例的流程示意图;
图3为图2在步骤S100的第一细化流程图;
图4为为图2在步骤S100的第二细化流程图;
图5为为图2在步骤S100的第三细化流程图;
图6为为图2在步骤S100的第四细化流程图。
图7为本发明服务器的控制装置第一实施例的功能模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,该用户设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器 1001的存储装置。
本领域技术人员可以理解,图1中示出的用户设备结构并不构成对用户设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及服务器的控制程序。
在图1所示的用户设备中,网络接口1004主要用于连接外网,与其他网络设备进行数据通信;用户接口1003主要用于连接用户终端,与终端进行数据通信;本发明用户设备通过处理器1001调用存储器1005中存储的服务器的控制程序,并执行本发明实施例提供的服务器的控制方法。
所述用户设备可为负载均衡器。
基于上述硬件结构,提出本发明服务器的控制方法的实施例。
参照图2,图2为本发明服务器的控制方法第一实施例的流程示意图。
在第一实施例中,所述服务器的控制方法包括以下步骤:
步骤S10:获取影响目标服务器权重的动态信息和静态信息;
可以理解的是,本实施例的执行主体为负载均衡器。负载均衡器能够实现信息的收集、权值的计算及调整。
静态信息是给服务器赋予初始权值以及选择服务器的重要参考因素。本实施例中,静态信息是指代表服务器本身处理能力的参数,不会动态变化。例如服务器的CPU配置、内存配置等等。
动态信息服务器性能的影响与静态信息是不一样的。而动态信息则是指随着服务器运行而实时变化的参数,
动态信息在负载信息获取收集过程中会实时变化,动态信息对服务器性能的影响也不一样。本实施例中,动态信息从系统层面上可以分为以下四类:
1、操作系统状态层面
Linux系统中常对一些影响服务器状态的因素进行监控和问题检测[40]。操作系统状态层面的负载信息主要为系统资源的使用情况,较常用的有CPU 等各种资源利用率,CPU队列长度、可用内存大小等。这些信息是反映服务器状态的最有效信息,大部分研究中都选取其中的部分参数作为服务器权值的参考因素。
2、Web应用程序层面
Web服务需要在服务器上部署不同的Web应用程序,Web应用程序需要在Web容器中生成实例对象,系统中部署的Tomcat需要生成Servlet容器,这个过程的类加载以及对象实例化过程会对服务器资源造成消耗,程序线程数、连接数也是该层面的参考因素。
3、Java虚拟机层面
许多Web服务系统后台程序使用Java编写代码,所以Java程序在运行过程中对Java虚拟机(JVM)的有所需求,JVM的内存空间、工作状态也是参考因素之一。
4、服务质量层面
服务器展现的处理请求效率是衡量服务器负载的直观因素,这一层面可用的负载信息包括请求的响应时间、服务器连接数、请求的正确率等。
不同的动态信息从不同层面上反映了服务器负载状态,针对本发明技术方案的业务环境合理选择负载评价指标对于提高负载均衡性能十分重要。
步骤S20:根据所述动态信息和静态信息确定目标服务器权重;
综合服务器的动态信息和静态信息,通过加权求和计算目标服务器的初始权值,可以得到目标服务器在自身动态信息和静态信息指标上占整个集群的性能比重。结合服务器实际运行需求,确定目标服务器动态信息的权重系数;再根据动态信息的权重系数及初始权值计算目标服务器的总和权值,即得到目标服务器权重。
步骤S30:基于所述服务器权重将服务请求进行分配给目标服务器。
值得说明的是,权重大的目标服务器,其分得的服务请求也多。例如有四台服务器,其权重分别为0.4、0.3、0.2及0.1,当有100次的服务服务请求时,每台服务器分配得到的服务请求分别为40次、30次、20次及10次。
本发明技术方案中,通过获取影响目标服务器权重的动态信息和静态信息,并依据所述动态信息和静态信息确定目标服务器权重,从而能够动态的计算服务器权重,基于所述服务器权重将服务请求进行分配给目标服务器。从而在分发过程中动态地根据服务器反馈来进行权重调整,在后端集群工作状态复杂不稳定的环境下能较好地保持高性能的负载均衡。
需要说明的是,本实施例中,静态信息包括服务器CPU配置参数、内存配置参数、磁盘配置参数及网络配置参数;动态信息包括操作系统参数以及服务质量层面参数。
本实施例中,该服务器部署在Linux系统下,服务器的静态信息和动态信息都能够通过Nginx内部变量以及日志获取,在基于Nginx的模块设计中进行处理。参照表1,表1为服务器监控信息文件。
表1
操作系统参数的信息收集与处理通过/proc文件目录获取。Linux系统上 /proc为储存当前运行内核状态的文件目录,用户可以通过该目录获取服务器一系列参数,甚至可以通过更改其中某些文件来改变内核的运行状态。
参照图3,具体地,所述获取目标服务器的服务器CPU配置参数,包括:
步骤S110:获取第一时刻及第二时刻的时间间隔内的空闲期的时间。
步骤S111:依据第一预设公式及空闲期的时间计算CPU的使用率,将所述CPU的使用率作为目标服务器的服务器CPU配置参数。其中,第一预设公式为
Uc=1-(idletimet1-idletimet2)/(totalt1-totalt2)
其中,Uc表示CPU的使用率;totalt1表示第一时刻,totalt2表示第二时刻;idletimet1表示第一时刻对应的空闲期的时间,idletimet2表示第二时刻对应的空闲期的时间。
CPU的静态配置信息通过/proc/cpuinfo文件获取,CPU使用率从/proc/stat 文件进行计算。文件中CPU主要监控信息如表2所示。如上述公式,CPU使用率为t1、t2两个时刻的时间间隔内除了Idle Time之外的时间占比。
表2
参照图4,具体地,所述获取目标服务器的内存配置参数,包括:
步骤S120:获取目标服务器的内存总量、空闲内存、缓冲区空间以及缓存;
步骤S121:基于第二预设公式、内存总量、空闲内存、缓冲区空间及缓存计算内存使用率,将所述内存使用率作为目标服务器的内存配置参数。
本文从/proc/meminfo文件中获取并计算内存信息。文件中记录的主要信息包括内存总量、空闲内存,缓冲区空间以及缓存等。通过这些信息可以得到,本实施例的内存使用率计算公式如。
UM=1-(MemFree+Buffers+Cached)/MemTotal
其中,MemFree表示空闲内存,Buffers表示缓冲区空间,Cached表示缓存,MemTotal表示内存总量。
参照图5,具体地,所述获取目标服务器的内存配置参数,包括:
步骤S130:获取第一时刻及第二时刻的时间间隔内的处理IO口的时间;
步骤S131:依据第三预设公式及处理IO口的时间计算IO口的使用率,将所述IO口的使用率作为内存配置参数。
磁盘信息主要保存于/proc/diskstats文件中,其中前三个字段含义分别为主设备号、从设备号以及设备名称,后续字段的含义按顺序如表3所示。一般常用iostat命令检测IO状态,iostat中也通过该文件计算IO利用率。本实施例利用该文件中的io_ticks项来计算磁盘IO使用率,通过计算t1、t2两个时刻的时间间隔内此设备处理IO的时间tio-ticks占比得到这段时间的IO使用率,如公式。
其中,Uio表示IO口的使用率,t2、t1分别表示第二时刻和第一时刻,io-tickst2和io-tickst1分别表示第一时刻和第二时刻时此设备处理IO的时间。
表3
参照图6,具体地,所述获取目标服务器的网络配置参数,包括:
步骤S140:分别获取第一时刻及第二时刻的总字节数,并获取网络带宽;
步骤S141:根据第一时刻及第二时刻的总字节数计算两个时刻的总字节数的差值;
步骤S142:根据所述差值、网络带宽及第四预设公式计算网络宽带利用率,将所述网络宽带利用率作为网络配置参数。
网络带宽信息可以从/proc/net/dev文件中获取,该文件中详细记录了服务器网卡的流量传输情况。/proc/net/dev记录了接收和发送的总字节数(bytes)、总数据包数(packets)、错误数(errs)、丢包数(drop)等一系列参数。
本文中利用t1、t2两个时刻的总字节数差值以及网络带宽BandWidth计算该时间段的网络带宽利用率,并且由于单位不同需要转换,其公式如下:
其中,UN表示网络带宽利用率,bytest2、bytest2分别表示t2及t1时刻对应的总字节数,BandWidth网络带宽。
本实施例中,所述获取影响目标服务器权重的动态信息和静态信息,包括:
获取目标服务器的服务器CPU配置参数、内存配置参数、磁盘配置参数及网络配置参数;并获取目标服务器的操作系统参数以及服务质量层面参数;
相应地,所述根据所述动态信息和静态信息确定目标服务器权重包括:
根据所述CPU配置参数、内存配置参数、磁盘配置参数、网络配置参数、操作系统参数以及服务质量层面参数确定目标服务器权重。
值得说明的是,综合服务器的CPU、内存、磁盘、网络传输速度静态配置信息,通过加权求和计算服务器初始权值。可得第i台服务器在CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数性能指标上占整个集群的性能比重。其中Ci、Mi、Di、Ni分别代表第i台服务器CPU、内存、磁盘 IO、网络带宽的性能参数指标。
服务器Si的综合评价函数如公式所示,第i台服务器初始权值为Wi。其中 w1、w2、w3、w4代表各负载项的权重系数且和为1,由所有权重系数组成的权向量ω=[w1,w2,w3,w4]。计算过程中舍弃小数部分,使Wi为100以内的整数。
其中,Wi表示第i台服务器初始权值,Pci,PMi,PDi,PNi分别表示CPU 配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数性能指标上占整个集群的性能比重。
目标服务器权重计算包括如下步骤:
(1)初始权值计算
综合服务器的CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数,通过加权求和计算服务器初始权值。其中Ci、Mi、Di、Ni分别代表第i台服务器CPU、内存、磁盘IO、网络带宽的性能参数指标。Pci,PMi, PDi,PNi分别表示可得第i台服务器在CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数性能指标上占整个集群的性能比重。
使用加权和法作为负载信息的评价函数,服务器Si的综合评价函数如公式所示,服务器节点Si的初始权值为Wi。其中w1、w2、w3、w4代表各负载项的权重系数且和为1,由所有权重系数组成的权向量ω=[w1,w2,w3,w4]。计算过程中舍弃小数部分,使Wi为100以内的整数。
(2)权向量计算
服务器的权值评价需要设定负载项的权重系数。结合服务器实际运行需求与多指标决策问题的相关研究,本实施例中用序关系分析法确定负载信息的权重系数。
rk为两个负载因素之间的相对重要程度,其计算如公式,本实施例中m 值为4:
根据第k-1个与第k个负载项的相对重要程度对rk进行赋值,rk取值满足表4,表4为相对重要程度取值表。
表4
根据系统服务器对负载项需求程度对rk赋值。本实施例对负载信息按重要程度由高到低的排列顺序为CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数,r1,r3,r2分别取值为1.4,1.2,1.0。
第m个负载项的权重系数wm,即排序后最后一位负载项的权值,计算如公式所示:
由公式得w4值约为0.2,结合公式,可推算出w3,w2,w1。计算得到的各负载项系数组成的负载权值向量ω=[0.35,0.25,0.2,0.2]。
(3)综合权值计算
通过动态参数CPU使用率Uci、内存使用率Umi、磁盘IO利用率UDi、网络带宽使用率UNi构造服务器Si的负载损失矩阵Ui=[UCi,UMi,UDi,UNi]T,结合权向量以及初始权值来计算服务器在运行状态下的损失权值Wi-lose,计算如公式:
Wi-lose=ωUiWi
最后根据负载状态进行调整后,Si节点的综合权重Wi'如公式所示,其中计算会舍弃小数部分,使后续权值计算过程的性能消耗更小。
Wi'=Wi-Wi-lose=(1-ωUi)Wi
如此,得到综合权值,即目标服务器权重。
参照图7,为实现上述目的,本发明还提出一种服务器的控制装置,所述服务器的控制装置包括:
获取模块10,用于获取影响目标服务器权重的动态信息和静态信息。可以理解的是,本实施例的执行主体为负载均衡器。负载均衡器能够实现信息的收集、权值的计算及调整。
静态信息是给服务器赋予初始权值以及选择服务器的重要参考因素。本实施例中,静态信息是指代表服务器本身处理能力的参数,不会动态变化。例如服务器的CPU配置、内存配置等等。
动态信息服务器性能的影响与静态信息是不一样的。而动态信息则是指随着服务器运行而实时变化的参数,例如系统参数、服务层面参数等等。
计算模块20,用于根据所述动态信息和静态信息确定目标服务器权重。综合服务器的动态信息和静态信息,通过加权求和计算目标服务器的初始权值,可以得到目标服务器在自身动态信息和静态信息指标上占整个集群的性能比重。结合服务器实际运行需求,确定目标服务器动态信息的权重系数;再根据动态信息的权重系数及初始权值计算目标服务器的总和权值,即得到目标服务器权重。
控制模块30,用于基于所述服务器权重将服务请求进行分配给目标服务器。值得说明的是,权重大的目标服务器,其分得的服务请求也多。例如有四台服务器,其权重分别为0.4、0.3、0.2及0.1,当有100次的服务服务请求时,每台服务器分配得到的服务请求分别为40次、30次、20次及10次。
获取模块10还用于获取目标服务器的服务器CPU配置参数、内存配置参数、磁盘配置参数及网络配置参数;并获取目标服务器的操作系统参数以及服务质量层面参数。相应地,所述根据所述动态信息和静态信息确定目标服务器权重包括:根据所述CPU配置参数、内存配置参数、磁盘配置参数、网络配置参数、操作系统参数以及服务质量层面参数确定目标服务器权重。
值得说明的是,综合服务器的CPU、内存、磁盘、网络传输速度静态配置信息,通过加权求和计算服务器初始权值。可得第i台服务器在CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数性能指标上占整个集群的性能比重。其中Ci、Mi、Di、Ni分别代表第i台服务器CPU、内存、磁盘 IO、网络带宽的性能参数指标。
服务器Si的综合评价函数如公式所示,第i台服务器初始权值为Wi。其中 w1、w2、w3、w4代表各负载项的权重系数且和为1,由所有权重系数组成的权向量ω=[w1,w2,w3,w4]。计算过程中舍弃小数部分,使Wi为100以内的整数。
其中,Wi表示第i台服务器初始权值,Pci,PMi,PDi,PNi分别表示CPU 配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数性能指标上占整个集群的性能比重。
目标服务器权重计算包括如下步骤:
(1)初始权值计算
综合服务器的CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数,通过加权求和计算服务器初始权值。其中Ci、Mi、Di、Ni分别代表第i台服务器CPU、内存、磁盘IO、网络带宽的性能参数指标。Pci,PMi, PDi,PNi分别表示可得第i台服务器在CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数性能指标上占整个集群的性能比重。
使用加权和法作为负载信息的评价函数,服务器Si的综合评价函数如公式所示,服务器节点Si的初始权值为Wi。其中w1、w2、w3、w4代表各负载项的权重系数且和为1,由所有权重系数组成的权向量ω=[w1,w2,w3,w4]。计算过程中舍弃小数部分,使Wi为100以内的整数。
(2)权向量计算
服务器的权值评价需要设定负载项的权重系数。结合服务器实际运行需求与多指标决策问题的相关研究,本实施例中用序关系分析法确定负载信息的权重系数。
rk为两个负载因素之间的相对重要程度,其计算如公式,本实施例中m 值为4:
根据第k-1个与第k个负载项的相对重要程度对rk进行赋值,rk取值满足表4,表4为相对重要程度取值表。
表4
根据系统服务器对负载项需求程度对rk赋值。本实施例对负载信息按重要程度由高到低的排列顺序为CPU配置参数、内存配置参数、磁盘配置参数、网络带宽配置参数,r4,r3,r2分别取值为1.4,1.2,1.0。
第m个负载项的权重系数wm,即排序后最后一位负载项的权值,计算如公式所示:
由公式得W4值约为0.2,结合公式,可推算出w3,w2,w1。计算得到的各负载项系数组成的负载权值向量ω=[0.35,0.25,0.2,0.2]。
(3)综合权值计算
通过动态参数CPU使用率Uci、内存使用率Umi、磁盘IO利用率UDi、网络带宽使用率UNi构造服务器Si的负载损失矩阵Ui=[UCi,UMi,UDi,UNi]T,结合权向量以及初始权值来计算服务器在运行状态下的损失权值Wi-lose,计算如公式:
Wi-lose=ωUiWi
最后根据负载状态进行调整后,Si节点的综合权重Wi'如公式所示,其中计算会舍弃小数部分,使后续权值计算过程的性能消耗更小。
Wi'=Wi-Wi-lose=(1-ωUi)Wi
如此,得到综合权值,即目标服务器权重。
具体地,获取模块10还用于获取第一时刻及第二时刻的时间间隔内的空闲期的时间;
依据第一预设公式及空闲期的时间计算CPU的使用率,将所述CPU的使用率作为目标服务器的服务器CPU配置参数。其中,所述第一预设公式为:
Uc=1-(idletimet1-idletimet2)/(totalt1-totalt2)
其中,Uc表示CPU的使用率;totalt1表示第一时刻,totalt2表示第二时刻;idletimet1表示第一时刻对应的空闲期的时间,idletimet2表示第二时刻对应的空闲期的时间。
CPU的静态配置信息通过/proc/cpuinfo文件获取,CPU使用率从/proc/stat 文件进行计算。文件中CPU主要监控信息如表2所示。如上述公式,CPU使用率为t1、t2两个时刻的时间间隔内除了Idle Time之外的时间占比。
具体地,获取模块10还用于获取目标服务器的内存总量、空闲内存、缓冲区空间以及缓存;基于第二预设公式、内存总量、空闲内存、缓冲区空间及缓存计算内存使用率,将所述内存使用率作为目标服务器的内存配置参数。
本文从/proc/meminfo文件中获取并计算内存信息。文件中记录的主要信息包括内存总量、空闲内存,缓冲区空间以及缓存等。通过这些信息可以得到,本实施例的内存使用率计算公式如。
UM=1-(MemFree+Buffers+Cached)/MemTotal
其中,UM为内存使用率,MemFree表示空闲内存,Buffers表示缓冲区空间,Cached表示缓存,MemTotal表示内存总量。
具体地,获取模块10还用于获取第一时刻及第二时刻的时间间隔内的处理IO口的时间;依据第三预设公式及处理IO口的时间计算IO口的使用率,将所述IO口的使用率作为内存配置参数。
磁盘信息主要保存于/proc/diskstats文件中,其中前三个字段含义分别为主设备号、从设备号以及设备名称,后续字段的含义按顺序如表3所示。一般常用iostat命令检测IO状态,iostat中也通过该文件计算IO利用率。本实施例利用该文件中的io_ticks项来计算磁盘IO使用率,通过计算t1、t2两个时刻的时间间隔内此设备处理IO的时间tio-ticks占比得到这段时间的IO使用率,如公式。
其中,Uio表示IO口的使用率,t2、t1分别表示第一时刻和第二时刻, io-tickst2和io-tickst1分别表示第一时刻和第二时刻时此设备处理IO的时间。
具体地,获取模块10还用于分别获取第一时刻及第二时刻的总字节数,并获取网络带宽;
根据第一时刻及第二时刻的总字节数计算两个时刻的总字节数的差值;
根据所述差值、网络带宽及第四预设公式计算网络宽带利用率,将所述网络宽带利用率作为网络配置参数。
网络带宽信息可以从/proc/net/dev文件中获取,该文件中详细记录了服务器网卡的流量传输情况。/proc/net/dev记录了接收和发送的总字节数(bytes)、总数据包数(packets)、错误数(errs)、丢包数(drop)等一系列参数。
本文中利用t1、t2两个时刻的总字节数差值以及网络带宽BandWidth计算该时间段的网络带宽利用率,并且由于单位不同需要转换,其公式如下:
其中,UN表示网络带宽利用率,bytest2、bytest2分别表示t2及t1时刻对应的总字节数,BandWidth网络带宽。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘) 中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种服务器的控制方法,其特征在于,所述服务器的控制方法包括以下步骤:
获取影响目标服务器权重的动态信息和静态信息;
根据所述动态信息和静态信息确定目标服务器权重;
基于所述服务器权重将服务请求分配给目标服务器。
2.如权利要求1所述的服务器的控制方法,其特征在于,所述获取影响目标服务器权重的动态信息和静态信息,包括:
获取目标服务器的服务器CPU配置参数、内存配置参数、磁盘配置参数及网络配置参数;并获取目标服务器的操作系统参数以及服务质量层面参数;
相应地,所述根据所述动态信息和静态信息确定目标服务器权重包括:
根据所述CPU配置参数、内存配置参数、磁盘配置参数、网络配置参数、操作系统参数以及服务质量层面参数确定目标服务器权重。
3.如权利要求2所述的服务器的控制方法,其特征在于,所述获取目标服务器的服务器CPU配置参数,包括:
获取第一时刻及第二时刻的时间间隔内的空闲期的时间;
依据第一预设公式及空闲期的时间计算CPU的使用率,将所述CPU的使用率作为目标服务器的服务器CPU配置参数。
4.如权利要求3所述的服务器的控制方法,其特征在于,所述第一预设公式为:
Uc=1-(idletimet1-idletimet2)/(totalt1-totalt2)
其中,Uc表示CPU的使用率;totalt1表示第一时刻,totalt2表示第二时刻;idletimet1表示第一时刻对应的空闲期的时间,idletimet2表示第二时刻对应的空闲期的时间。
5.如权利要求2所述的服务器的控制方法,其特征在于,所述获取目标服务器的内存配置参数,包括:
获取目标服务器的内存总量、空闲内存、缓冲区空间以及缓存;
基于第二预设公式、内存总量、空闲内存、缓冲区空间及缓存计算内存使用率,将所述内存使用率作为目标服务器的内存配置参数。
6.如权利要求2所述的服务器的控制方法,其特征在于,所述获取目标服务器的内存配置参数,包括:
获取第一时刻及第二时刻的时间间隔内的处理IO口的时间;
依据第三预设公式及处理IO口的时间计算IO口的使用率,将所述IO口的使用率作为内存配置参数。
7.如权利要求2至6中任一项所述的服务器的控制方法,其特征在于,所述获取目标服务器的网络配置参数,包括:
分别获取第一时刻及第二时刻的总字节数,并获取网络带宽;
根据第一时刻及第二时刻的总字节数计算两个时刻的总字节数的差值;
根据所述差值、网络带宽及第四预设公式计算网络宽带利用率,将所述网络宽带利用率作为网络配置参数。
8.一种用户设备,其特征在于,所述用户设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行信息的智能输入程序,所述信息的智能输入程序被所述处理器执行时实现如权利要求1至7中任一项所述的服务器的控制方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储服务器的控制程序,所述服务器的控制程序被处理器执行时实现如权利要求1至7中任一项所述的服务器的控制方法的步骤。
10.一种服务器的控制装置,其特征在于,所述服务器的控制装置包括:
获取模块,用于获取影响目标服务器权重的动态信息和静态信息;
计算模块,用于根据所述动态信息和静态信息确定目标服务器权重;
控制模块,用于基于所述服务器权重将服务请求分配给目标服务器。
CN201910675357.2A 2019-07-24 2019-07-24 服务器的控制方法、用户设备、存储介质及装置 Pending CN110471761A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910675357.2A CN110471761A (zh) 2019-07-24 2019-07-24 服务器的控制方法、用户设备、存储介质及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910675357.2A CN110471761A (zh) 2019-07-24 2019-07-24 服务器的控制方法、用户设备、存储介质及装置

Publications (1)

Publication Number Publication Date
CN110471761A true CN110471761A (zh) 2019-11-19

Family

ID=68508873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910675357.2A Pending CN110471761A (zh) 2019-07-24 2019-07-24 服务器的控制方法、用户设备、存储介质及装置

Country Status (1)

Country Link
CN (1) CN110471761A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597047A (zh) * 2020-05-15 2020-08-28 北京金山云网络技术有限公司 一种服务部署方法、装置、电子设备及存储介质
CN112333255A (zh) * 2020-10-27 2021-02-05 重庆紫光华山智安科技有限公司 负载均衡调度方法、装置、调度服务器及存储介质
CN113489773A (zh) * 2021-06-30 2021-10-08 未鲲(上海)科技服务有限公司 数据接入方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309226A (zh) * 2008-06-30 2008-11-19 中兴通讯股份有限公司 一种应用服务器负荷分担系统及其实现方法
CN102404388A (zh) * 2011-10-30 2012-04-04 北京方物软件有限公司 一种应用虚拟化的负载分担方法及装置
CN104394198A (zh) * 2014-11-10 2015-03-04 中国电子科技集团公司第二十八研究所 一种基于esb的全局调度方法
US20150381407A1 (en) * 2014-06-25 2015-12-31 A10 Networks, Incorporated Customizable high availability switchover control of application delivery controllers
CN105791381A (zh) * 2015-12-30 2016-07-20 东莞市青麦田数码科技有限公司 访问控制的方法及装置
CN106161120A (zh) * 2016-10-08 2016-11-23 电子科技大学 动态均衡负载的分布式元数据管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309226A (zh) * 2008-06-30 2008-11-19 中兴通讯股份有限公司 一种应用服务器负荷分担系统及其实现方法
CN102404388A (zh) * 2011-10-30 2012-04-04 北京方物软件有限公司 一种应用虚拟化的负载分担方法及装置
US20150381407A1 (en) * 2014-06-25 2015-12-31 A10 Networks, Incorporated Customizable high availability switchover control of application delivery controllers
CN104394198A (zh) * 2014-11-10 2015-03-04 中国电子科技集团公司第二十八研究所 一种基于esb的全局调度方法
CN105791381A (zh) * 2015-12-30 2016-07-20 东莞市青麦田数码科技有限公司 访问控制的方法及装置
CN106161120A (zh) * 2016-10-08 2016-11-23 电子科技大学 动态均衡负载的分布式元数据管理方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
IBLESS: "https://blog.csdn.net/ibless/article/details/85177175,ibless,2018https://blog.csdn.net/ibless/article/details/85177175,ibless,2018-12-23,Linux中计算特定CPU使用率", 《HTTPS://BLOG.CSDN.NET/IBLESS/ARTICLE/DETAILS/85177175》 *
下一步王: "Linux下用iostat探测IO使用情况", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_445E807B0101D6KC.HTML》 *
努力哥: "查看Linux服务器CPU使用率、内存使用率、磁盘空间占用率、负载情况", 《HTTPS://WWW.CNBLOGS.COM/NULIGE/P/7802197.HTML》 *
汪佳文 等: "基于权重轮询负载均衡算法的优化", 《计算机系统应用》 *
赤砂之蝎我爱罗: "Linux下内存的使用率正确的算法", 《HTTPS://BLOG.CSDN.NET/XB12369/ARTICLE/DETAILS/41943109》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597047A (zh) * 2020-05-15 2020-08-28 北京金山云网络技术有限公司 一种服务部署方法、装置、电子设备及存储介质
CN112333255A (zh) * 2020-10-27 2021-02-05 重庆紫光华山智安科技有限公司 负载均衡调度方法、装置、调度服务器及存储介质
CN113489773A (zh) * 2021-06-30 2021-10-08 未鲲(上海)科技服务有限公司 数据接入方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
Yao et al. Fog resource provisioning in reliability-aware IoT networks
CN106790726B (zh) 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
CN106385468B (zh) Web集群的可预测动态负载均衡方法
Li et al. CloudCmp: comparing public cloud providers
CN102185779B (zh) 与综合配置能力成比例的数据中心资源负载均衡的方法及装置
US8190593B1 (en) Dynamic request throttling
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
CN105718364B (zh) 一种云计算平台中计算资源能力动态评估方法
CN107426332B (zh) 一种web服务器集群的负载均衡方法及系统
CN105812461B (zh) 一种移动云环境情景感知计算迁移方法
CN110471761A (zh) 服务器的控制方法、用户设备、存储介质及装置
CN109032801A (zh) 一种请求调度方法、系统及电子设备和存储介质
CN103747274B (zh) 一种增设缓存集群的视频数据中心及其缓存资源调度方法
CN110933139A (zh) 一种解决Web服务器高并发的系统及方法
CN104182278B (zh) 一种判定计算机硬件资源繁忙程度的方法和装置
CN107566535B (zh) 基于Web地图服务并发访问时序规则的自适应负载均衡方法
CN110389841A (zh) 一种服务器负载均衡方法、装置和存储介质
CN110247856A (zh) 服务器资源释放方法和装置
CN113010576A (zh) 云计算系统容量评估的方法、装置、设备和存储介质
CN107291544A (zh) 任务调度的方法及装置、分布式任务执行系统
CN111752678A (zh) 面向边缘计算中分布式协同学习的低功耗容器放置方法
CN114070791B (zh) 数据流量的限速处理方法及装置
CN107977271A (zh) 一种数据中心综合管理系统负载均衡方法
CN107291539A (zh) 基于资源重要程度的集群程序调度方法
Tao et al. Load feedback-based resource scheduling and dynamic migration-based data locality for virtual hadoop clusters in openstack-based clouds

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: 20191119

RJ01 Rejection of invention patent application after publication