CN111698303A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111698303A CN111698303A CN202010477694.3A CN202010477694A CN111698303A CN 111698303 A CN111698303 A CN 111698303A CN 202010477694 A CN202010477694 A CN 202010477694A CN 111698303 A CN111698303 A CN 111698303A
- Authority
- CN
- China
- Prior art keywords
- preset
- data processing
- server
- node
- server cluster
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及数据处理,提供了一种数据处理方法、装置、电子设备及存储介质。该方法接收客户端发出的数据处理请求,响应数据处理请求,每隔第一预设时间段获取控制服务器所属服务器集群中各服务器的预设指标的指标值,基于各预设指标的指标值及第一计算规则,计算得到集群中各服务器的资源使用率,利用第二计算规则计算得到集群的资源使用率的方差,当方差大于或等于预设阈值时,利用第三计算规则对集群各服务器的负载权重进行调整,基于调整后的负载权重进行数据处理,当方差小于预设阈值时,基于预设处理规则进行数据处理。本发明还涉及区块链技术,所述待更新数据存储于区块链中。本发明可以提高集群中各服务器的资源使用效率。
Description
技术领域
本发明涉及数据处理,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
目前常用的负载均衡算法有轮询算法、加权轮询、及最少连接数算法等,虽然这些算法已经普及并应用,但是这些算法和整个系统的节点性能是无关的,因此这些算法并不能很好的根据系统目前的实时情况去路由机器,当某个节点发生波动情况(例如,突发性的CPU负载过高或内存使用过载等),现有的负载均衡算法因无法检测该波动情况,导致现有的负载均衡算法不能在某个节点发生突发性波动时,根据各节点的实际情况实现负载均衡。
发明内容
鉴于以上内容,本发明提供一种数据处理方法、装置、电子设备及存储介质,其目的在于解决现有的负载均衡算法不能在某个节点发生突发性波动时,实现负载均衡的技术问题。
为实现上述目的,本发明提供一种数据处理方法,该方法包括:
接收步骤:接收客户端发出的数据处理请求;
获取步骤:响应所述数据处理请求,每隔第一预设时间段获取所述电子设备所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率;
判断步骤:基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值;及
处理步骤:当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
优选的,所述预设的处理规则包括:
获取第二预设时间段内所述服务器集群的每组网络处理完成的数据包数量,将处理完成的数据包数量由大到小进行排序,筛选出排序前两组的网络,并计算筛选出的两组网络处理完成的数据包数量的绝对值,当所述绝对值小于预设值时,将所述数据处理请求对应的数据包轮流分配至筛选出的两组网络进行处理。
优选的,所述预设第一计算规则包括:
Li=1-(1-W1×Xi1)×(1-W2×Xi2)×(1-W3×Xi3)×(1-W4×Xi4)
其中,Li表示第i节点的资源使用率,Xi1表示第i节点CPU的使用率,Xi2表示第i节点内存的使用率,Xi3表示第i节点IO的使用率,Xi4表示第i节点网络的使用率,W1表示第i节点CPU的预设权重,W2表示第i节点内存的预设权重,W3表示第i节点IO的预设权重,W4表示第i节点网络的预设权重。
优选的,所述预设第三计算规则包括:
Wbi=Wai-K×Pi,
其中,Wbi表示第i节点调整后的权重,Wai表示第i节点调整前的负载权重,K表示常数,Pi表示第i节点的资源使用率的标准差与所述服务器集群的资源使用率的标准差的差值。
优选的,所述请求对应的待处理数据存储于区块链中,所述接收步骤之前,所述方法还包括:
所述电子设备实时监测所述电子设备所属服务器集群中各服务器多个预设指标的指标值,当监测到任意一个预设指标的指标值大于或等于该预设指标对应的预设阈值时,向客户端发出预警信息,以供所述客户端基于所述预警信息向所述电子设备发出数据处理请求。
为实现上述目的,本发明还提供一种数据处理装置,其特征在于,所述装置包括:
接收模块:用于接收客户端发出的数据处理请求;
获取模块:用于响应所述数据处理请求,每隔第一预设时间段获取所述数据处理装置所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率;
判断模块:用于基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值;及
处理模块:用于当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
优选的,所述预设的处理规则包括:
获取第二预设时间段内所述服务器集群的每组网络处理完成的数据包数量,将处理完成的数据包数量由大到小进行排序,筛选出排序前两组的网络,并计算筛选出的两组网络处理完成的数据包数量的绝对值,当所述绝对值小于预设值时,将所述数据处理请求对应的数据包轮流分配至筛选出的两组网络进行处理。
优选的,所述预设第一计算规则包括:
Li=1-(1-W1×Xi1)×(1-W2×Xi2)×(1-W3×Xi3)×(1-W4×Xi4)
其中,Li表示第i节点的资源使用率,Xi1表示第i节点CPU的使用率,Xi2表示第i节点内存的使用率,Xi3表示第i节点IO的使用率,Xi4表示第i节点网络的使用率,W1表示第i节点CPU的预设权重,W2表示第i节点内存的预设权重,W3表示第i节点IO的预设权重,W4表示第i节点网络的预设权重。
为实现上述目的,本发明还提供一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述数据处理方法中的任意步骤。
为实现上述目的,一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有数据处理程序,所述数据处理程序被处理器执行时,实现如上所述数据处理方法的任意步骤。
本发明提出的数据处理方法、装置、电子设备及存储介质,可以根据服务器集群中各个服务器的实际情况实现负载均衡,从而提高了服务器集群中各服务器的资源使用率,不会对负载过高的节点分配更多的数据处理任务,从而使得系统更加稳定。
附图说明
图1为本发明实现数据处理方法的电子设备较佳实施例的示意图;
图2为本发明数据处理装置较佳实施例的模块示意图;
图3为本发明数据处理方法较佳实施例的流程图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1所示,为本发明电子设备1较佳实施例的示意图。
电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如电子设备1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如数据处理程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行数据处理程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及数据处理程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
电子设备1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在本实施例中,所述电子设备1可以是分布式存储系统服务器集群中的任意一台服务器。
在上述实施例中,处理器12执行存储器11中存储的数据处理程序10时可以实现如下步骤:
接收步骤:接收客户端发出的数据处理请求;
获取步骤:响应所述数据处理请求,每隔第一预设时间段获取所述电子设备所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率;
判断步骤:基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值;及
处理步骤:当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
需要强调的是,为进一步保证上述请求对应的待处理数据的私密和安全性,上述请求对应的待处理数据还可以存储于一区块链的节点中。
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照下述图2关于数据处理程序10实施例的程序模块图以及图3关于数据处理方法实施例的流程图的说明。
参照图2所示,为本发明数据处理装置100的功能模块图。
本发明所述数据处理装置100可以安装于电子设备中。根据实现的功能,所述数据处理装置可以包括接收模块110、获取模块120、判断模块130及处理模块140。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
接收模块110,用于接收客户端发出的数据处理请求。
在本实施例中,数据处理请求可以是实现服务集群中各服务器负载均衡处理的请求,所述数据处理装置可以为服务器集群中的控制服务器,本实施例以数据处理装置为控制服务器对本方案进行说明。
在一个实施例中,在接收到客户端发出的数据处理请求之前,控制服务器实时监测控制服务器所属服务器集群中各服务器多个预设指标的指标值,当监测到任意一个预设指标的指标值大于或等于该预设指标对应的预设阈值时,向客户端发出预警信息,以供所述客户端基于所述预警信息向所述控制服务器发出数据处理请求。需要强调的是,为进一步保证上述请求对应的待处理数据的私密和安全性,上述请求对应的待处理数据还可以存储于一区块链的节点中。
获取模块120,用于响应所述数据处理请求,每隔第一预设时间段获取所述控制服务器所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率。
在本实施例中,每隔第一预设时间段(例如,10秒)获取控制服务器所属服务器集群中各服务器的各预设指标的指标值,各预设指标的指标值包括:CPU占用率、内存占用率、IO占用率、以及网络占用率等,当获取各个服务器的预设指标的指标值后,将各服务器的预设指标的指标值发送至控制服务器,控制服务器可以计算各个服务器的资源使用率,计算各个节点(服务器)的资源使用率是基于各预设指标的资源使用率及预设第一计算规则得到的,控制服务器可以是服务器集群中任意一台服务器。
其中,所述预设第一计算规则包括:
Li=1-(1-W1×Xi1)×(1-W2×Xi2)×(1-W3×Xi3)×(1-W4×Xi4)
其中,Li表示第i节点的资源使用率,Xi1表示第i节点CPU的使用率,Xi2表示第i节点内存的使用率,Xi3表示第i节点IO的使用率,Xi4表示第i节点网络的使用率,W1表示第i节点CPU的预设权重,W2表示第i节点内存的预设权重,W3表示第i节点IO的预设权重,W4表示第i节点网络的预设权重。
获取服务器的各预设指标可以根据Linux内核中的文件查看服务器的性能以及消耗,该方法可以准确的获取服务器性能,且比其他获取方案更加精确。通过“cat/proc/stat”命令可以获取节点所有的CPU总体信息,以及CPU当前的使用情况,通过“cat/proc/meminfo”命令可以获取节点内存信息以及当前使用情况,通过“cat/proc/net/dev”命令可以获取相关的网络信息,虽然只能看到总的网络收发状况。但是可以通过公式计算出当前某段时间内的网络使用情况。通过安装“iostat-d-x”命令可以获取当前I/O使用率的相关信息。由于这个命令并不是内核系统自带的,所以可以通过安装相关命令来解决这个问题。
本实施例可以能兼容各个版本的服务器,因为加入集群的服务器的信息是未知的,不知道服务器的Linux发行版是哪个,也不知道运行在哪个环境,且采集各个指标的方式也不相同,因此,在一个实施例中可以创建基于Linux操作系统的基础镜像(例如centos或者ubantu),在该基础镜像中,把需要运行的各个环境给打包进去该基础镜像中,使各个服务器运行在相同的环境中,构建基础镜像与应用镜像,从而使所有的Linux命令在执行的时候保持一致性。
采集CPU、内存、IO使用率等指标是通过读取Linux系统文件/proc/下对应的文件信息,但是不同的Linux发行版,所显示的信息也不相同。对于网络信息采集,需要安装额外的插件对网卡上的信息进行收集,对加入集群的新服务器搭建起来也非常繁琐,所以可加入容器技术以及kubernetes对加入集群的服务器会创建守护进程的Pod,pod里的容器打包了发行版本的操作系统的镜像以及安装了相关网络插件,这样对于获取所有服务器的数据指标的方法都一致了,并且达到了开箱即用的目的,在服务器加入集群后,会自动纳入集群管理。
判断模块130,用于基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值。
在本实施例中,基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值。
其中,预设第二计算规则包括:
处理模块140,用于当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
在本实施例中,当判断服务器集群的方差大于预设阈值时,利用预设的第三计算规则对集群的各服务器的负载权重进行调整,服务器的负载权重在本实施例中是指该服务器能收接收到数据处理请求的概率,例如,比如A服务器的负载权重是3,B服务器的负载权重是7,如果此时客户端发送了10个请求,则A服务器能收到3个请求,B服务器能收到7个请求。服务器的负载权重决定服务器性能,在该服务器加入服务器集群时已设置好负载权重,如果一个服务器的性能高,那么当该服务器加入集群的时候就会被设置较高的负载权重。
其中,预设第三计算规则包括:
Wbi=Wai-K×Pi,
其中,Wbi表示第i节点调整后的权重,Wai表示第i节点调整前的负载权重,K表示常数,Pi表示第i节点的资源使用率的标准差与所述服务器集群的资源使用率的标准差的差值。
由于各个服务器的性能不同,K用于调整不同性能的服务器在Pi相同的情况下,其调节的权重大小。因为在Pi相同时,性能好的服务器应当比性能差的服务器减少更多的负载权重,这样才能使得整个负载均衡的集群处于更加稳定的状态,所以可以选用每个服务器的初始负载作为该节点的系数K,通过预设第三计算规则计算出该服务器的负载权重后,可以通过脚本把这个脚本写入到Nginx的配置文件中,然后通过“nginx-s reload”命令让新的配置生效,这样即可完成服务器集群负载均衡的调整。
当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理,其中,所述预设的处理规则包括:获取第二预设时间段内所述服务器集群的每组网络处理完成的数据包数量,将处理完成的数据包数量由大到小进行排序,筛选出排序前两组的网络,并计算筛选出的两组网络处理完成的数据包数量的绝对值,当所述绝对值小于预设值时,将所述数据处理请求对应的数据包轮流分配至筛选出的两组网络进行处理。应当理解的是,本实施中可按实际情况预先构建多组网络用于数据处理。
此外,本发明还提供一种数据处理方法。参照图3所示,为本发明数据处理方法的实施例的方法流程示意图。电子设备1的处理器12执行存储器11中存储的数据处理程序10时实现数据处理方法的如下步骤:
步骤S10:接收客户端发出的数据处理请求。
在本实施例中,数据处理请求可以是实现服务集群中各服务器负载均衡处理的请求,电子设备可以是服务器集群中的控制服务器,本实施例以电子设备为控制服务器对本方案进行说明。
在一个实施例中,在接收到客户端发出的数据处理请求之前,控制服务器实时监测控制服务器所属服务器集群中各服务器多个预设指标的指标值,当监测到任意一个预设指标的指标值大于或等于该预设指标对应的预设阈值时,向客户端发出预警信息,以供所述客户端基于所述预警信息向所述控制服务器发出数据处理请求。需要强调的是,为进一步保证上述请求对应的待处理数据的私密和安全性,上述请求对应的待处理数据还可以存储于一区块链的节点中。
步骤S20:响应所述数据处理请求,每隔第一预设时间段获取所述控制服务器所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率。
在本实施例中,每隔第一预设时间段(例如,10秒)获取控制服务器所属服务器集群中各服务器的各预设指标的指标值,各预设指标的指标值包括:CPU占用率、内存占用率、IO占用率、以及网络占用率等,当获取各个服务器的预设指标的指标值后,将各服务器的预设指标的指标值发送至控制服务器,控制服务器可以计算各个服务器的资源使用率,计算各个节点(服务器)的资源使用率是基于各预设指标的资源使用率及预设第一计算规则得到的,控制服务器可以是服务器集群中任意一台服务器。
其中,所述预设第一计算规则包括:
Li=1-(1-W1×Xi1)×(1-W2×Xi2)×(1-W3×Xi3)×(1-W4×Xi4)
其中,Li表示第i节点的资源使用率,Xi1表示第i节点CPU的使用率,Xi2表示第i节点内存的使用率,Xi3表示第i节点IO的使用率,Xi4表示第i节点网络的使用率,W1表示第i节点CPU的预设权重,W2表示第i节点内存的预设权重,W3表示第i节点IO的预设权重,W4表示第i节点网络的预设权重。
获取服务器的各预设指标可以根据Linux内核中的文件查看服务器的性能以及消耗,该方法可以准确的获取服务器性能,且比其他获取方案更加精确。通过“cat/proc/stat”命令可以获取节点所有的CPU总体信息,以及CPU当前的使用情况,通过“cat/proc/meminfo”命令可以获取节点内存信息以及当前使用情况,通过“cat/proc/net/dev”命令可以获取相关的网络信息,虽然只能看到总的网络收发状况。但是可以通过公式计算出当前某段时间内的网络使用情况。通过安装“iostat-d-x”命令可以获取当前I/O使用率的相关信息。由于这个命令并不是内核系统自带的,所以可以通过安装相关命令来解决这个问题。
本实施例可以能兼容各个版本的服务器,因为加入集群的服务器的信息是未知的,不知道服务器的Linux发行版是哪个,也不知道运行在哪个环境,且采集各个指标的方式也不相同,因此,在一个实施例中可以创建基于Linux操作系统的基础镜像(例如centos或者ubantu),在该基础镜像中,把需要运行的各个环境给打包进去该基础镜像中,使各个服务器运行在相同的环境中,构建基础镜像与应用镜像,从而使所有的Linux命令在执行的时候保持一致性。
采集CPU、内存、IO使用率等指标是通过读取Linux系统文件/proc/下对应的文件信息,但是不同的Linux发行版,所显示的信息也不相同。对于网络信息采集,需要安装额外的插件对网卡上的信息进行收集,对加入集群的新服务器搭建起来也非常繁琐,所以可加入容器技术以及kubernetes对加入集群的服务器会创建守护进程的Pod,pod里的容器打包了发行版本的操作系统的镜像以及安装了相关网络插件,这样对于获取所有服务器的数据指标的方法都一致了,并且达到了开箱即用的目的,在服务器加入集群后,会自动纳入集群管理。
步骤S30:基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值。
在本实施例中,基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值。
其中,预设第二计算规则包括:
步骤S40:当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
在本实施例中,当判断服务器集群的方差大于预设阈值时,利用预设的第三计算规则对集群的各服务器的负载权重进行调整,服务器的负载权重在本实施例中是指该服务器能收接收到数据处理请求的概率,例如,比如A服务器的负载权重是3,B服务器的负载权重是7,如果此时客户端发送了10个请求,则A服务器能收到3个请求,B服务器能收到7个请求。服务器的负载权重决定服务器性能,在该服务器加入服务器集群时已设置好负载权重,如果一个服务器的性能高,那么当该服务器加入集群的时候就会被设置较高的负载权重。
其中,预设第三计算规则包括:
Wbi=Wai-K×Pi,
其中,Wbi表示第i节点调整后的权重,Wai表示第i节点调整前的负载权重,K表示常数,Pi表示第i节点的资源使用率的标准差与所述服务器集群的资源使用率的标准差的差值。
由于各个服务器的性能不同,K用于调整不同性能的服务器在Pi相同的情况下,其调节的权重大小。因为在Pi相同时,性能好的服务器应当比性能差的服务器减少更多的负载权重,这样才能使得整个负载均衡的集群处于更加稳定的状态,所以可以选用每个服务器的初始负载作为该节点的系数K,通过预设第三计算规则计算出该服务器的负载权重后,可以通过脚本把这个脚本写入到Nginx的配置文件中,然后通过“nginx-s reload”命令让新的配置生效,这样即可完成服务器集群负载均衡的调整。
当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理,其中,所述预设的处理规则包括:获取第二预设时间段内所述服务器集群的每组网络处理完成的数据包数量,将处理完成的数据包数量由大到小进行排序,筛选出排序前两组的网络,并计算筛选出的两组网络处理完成的数据包数量的绝对值,当所述绝对值小于预设值时,将所述数据处理请求对应的数据包轮流分配至筛选出的两组网络进行处理。应当理解的是,本实施中可按实际情况预先构建多组网络用于数据处理。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括数据处理程序10,所述数据处理程序10被处理器执行时实现如下操作:
接收步骤:接收客户端发出的数据处理请求;
获取步骤:响应所述数据处理请求,每隔第一预设时间段获取所述电子设备所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率;
判断步骤:基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值;及
处理步骤:当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
需要强调的是,为进一步保证上述请求对应的待处理数据的私密和安全性,上述请求对应的待处理数据还可以存储于一区块链的节点中。本发明之计算机可读存储介质的具体实施方式与上述数据处理方法的具体实施方式大致相同,在此不再赘述。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,控制服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据处理方法,应用于电子设备,其特征在于,所述方法包括:
接收步骤:接收客户端发出的数据处理请求;
获取步骤:响应所述数据处理请求,每隔第一预设时间段获取所述电子设备所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率;
判断步骤:基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值;及
处理步骤:当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
2.如权利要求1所述的数据处理方法,其特征在于,所述预设的处理规则包括:
获取第二预设时间段内所述服务器集群的每组网络处理完成的数据包数量,将处理完成的数据包数量由大到小进行排序,筛选出排序前两组的网络,并计算筛选出的两组网络处理完成的数据包数量的绝对值,当所述绝对值小于预设值时,将所述数据处理请求对应的数据包轮流分配至筛选出的两组网络进行处理。
3.如权利要求1所述的数据处理方法,其特征在于,所述预设第一计算规则包括:
Li=1-(1-W1×Xi1)×(1-W2×Xi2)×(1-W3×Xi3)×(1-W4×Xi4)
其中,Li表示第i节点的资源使用率,Xi1表示第i节点CPU的使用率,Xi2表示第i节点内存的使用率,Xi3表示第i节点IO的使用率,Xi4表示第i节点网络的使用率,W1表示第i节点CPU的预设权重,W2表示第i节点内存的预设权重,W3表示第i节点IO的预设权重,W4表示第i节点网络的预设权重。
4.如权利要求1所述的数据处理方法,其特征在于,所述预设第三计算规则包括:
Wbi=Wai-K×Pi,
其中,Wbi表示第i节点调整后的权重,Wai表示第i节点调整前的负载权重,K表示常数,Pi表示第i节点的资源使用率的标准差与所述服务器集群的资源使用率的标准差的差值。
5.如权利要求1至4任意一项所述的数据处理方法,其特征在于,所述请求对应的待处理数据存储于区块链中,所述接收步骤之前,所述方法还包括:
所述电子设备实时监测所述电子设备所属服务器集群中各服务器多个预设指标的指标值,当监测到任意一个预设指标的指标值大于或等于该预设指标对应的预设阈值时,向客户端发出预警信息,以供所述客户端基于所述预警信息向所述电子设备发出数据处理请求。
6.一种数据处理装置,其特征在于,所述装置包括:
接收模块:用于接收客户端发出的数据处理请求;
获取模块:用于响应所述数据处理请求,每隔第一预设时间段获取所述数据处理装置所属服务器集群中各服务器的预设指标的指标值,基于各所述预设指标的指标值及预设第一计算规则,计算得到所述服务器集群中各服务器的资源使用率;
判断模块:用于基于所述服务器集群中各服务器的资源使用率及预设第二计算规则,计算得到所述服务器集群的资源使用率的方差,判断所述方差是否大于预设阈值;及
处理模块:用于当所述方差大于或等于预设阈值时,利用预设第三计算规则对所述服务器集群的各服务器的负载权重进行调整,基于所述服务器集群的各服务器调整后的负载权重对所述数据处理请求进行数据处理,当所述方差小于所述预设阈值时,基于预设的处理规则对所述数据请求进行数据处理。
7.如权利要求6所述的数据处理装置,其特征在于,所述预设的处理规则包括:
获取第二预设时间段内所述服务器集群的每组网络处理完成的数据包数量,将处理完成的数据包数量由大到小进行排序,筛选出排序前两组的网络,并计算筛选出的两组网络处理完成的数据包数量的绝对值,当所述绝对值小于预设值时,将所述数据处理请求对应的数据包轮流分配至筛选出的两组网络进行处理。
8.如权利要求6所述的数据处理装置,其特征在于,所述预设第一计算规则包括:
Li=1-(1-W1×Xi1)×(1-W2×Xi2)×(1-W3×Xi3)×(1-W4×Xi4)
其中,Li表示第i节点的资源使用率,Xi1表示第i节点CPU的使用率,Xi2表示第i节点内存的使用率,Xi3表示第i节点IO的使用率,Xi4表示第i节点网络的使用率,W1表示第i节点CPU的预设权重,W2表示第i节点内存的预设权重,W3表示第i节点IO的预设权重,W4表示第i节点网络的预设权重。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任一所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有数据处理程序,所述数据处理程序被处理器执行时,实现如权利要求1至5中任一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010477694.3A CN111698303A (zh) | 2020-05-29 | 2020-05-29 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010477694.3A CN111698303A (zh) | 2020-05-29 | 2020-05-29 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111698303A true CN111698303A (zh) | 2020-09-22 |
Family
ID=72478949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010477694.3A Pending CN111698303A (zh) | 2020-05-29 | 2020-05-29 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111698303A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112180150A (zh) * | 2020-09-29 | 2021-01-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器的多点电压检测方法、系统及相关组件 |
CN112328171A (zh) * | 2020-10-23 | 2021-02-05 | 苏州元核云技术有限公司 | 数据分布预测方法、数据均衡方法、设备及存储介质 |
CN113504995A (zh) * | 2021-07-27 | 2021-10-15 | 平安普惠企业管理有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN113761335A (zh) * | 2020-11-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 资源处理方法和装置 |
CN114064284A (zh) * | 2021-11-23 | 2022-02-18 | 北京百度网讯科技有限公司 | 云服务器资源配置方法、装置、电子设备和介质 |
CN115114012A (zh) * | 2021-08-12 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN115511526A (zh) * | 2022-09-28 | 2022-12-23 | 惠州市海葵信息技术有限公司 | 核价管理方法、系统、设备及存储介质 |
CN116382922A (zh) * | 2023-05-10 | 2023-07-04 | 深圳高灯计算机科技有限公司 | 资源监控方法、装置、计算机设备、存储介质和产品 |
CN114064284B (zh) * | 2021-11-23 | 2024-06-07 | 北京百度网讯科技有限公司 | 云服务器资源配置方法、装置、电子设备和介质 |
-
2020
- 2020-05-29 CN CN202010477694.3A patent/CN111698303A/zh active Pending
Non-Patent Citations (4)
Title |
---|
汪佳文;王书培;徐立波;郭家军;俞成海;: "基于权重轮询负载均衡算法的优化" * |
胡德斌;蒋启明;米春桥;: "基于均衡状态阈值的混合Web QoS控制方法" * |
赵英;王延武;: "基于LVS的动态反馈调度算法研究" * |
金峰;胡访宇;: "基于SED的自适应负载均衡研究" * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112180150A (zh) * | 2020-09-29 | 2021-01-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器的多点电压检测方法、系统及相关组件 |
CN112328171A (zh) * | 2020-10-23 | 2021-02-05 | 苏州元核云技术有限公司 | 数据分布预测方法、数据均衡方法、设备及存储介质 |
CN112328171B (zh) * | 2020-10-23 | 2024-04-30 | 苏州元核云技术有限公司 | 数据分布预测方法、数据均衡方法、设备及存储介质 |
CN113761335A (zh) * | 2020-11-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 资源处理方法和装置 |
CN113504995A (zh) * | 2021-07-27 | 2021-10-15 | 平安普惠企业管理有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN115114012A (zh) * | 2021-08-12 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN114064284A (zh) * | 2021-11-23 | 2022-02-18 | 北京百度网讯科技有限公司 | 云服务器资源配置方法、装置、电子设备和介质 |
CN114064284B (zh) * | 2021-11-23 | 2024-06-07 | 北京百度网讯科技有限公司 | 云服务器资源配置方法、装置、电子设备和介质 |
CN115511526A (zh) * | 2022-09-28 | 2022-12-23 | 惠州市海葵信息技术有限公司 | 核价管理方法、系统、设备及存储介质 |
CN115511526B (zh) * | 2022-09-28 | 2023-12-15 | 惠州市海葵信息技术有限公司 | 核价管理方法、系统、设备及存储介质 |
CN116382922A (zh) * | 2023-05-10 | 2023-07-04 | 深圳高灯计算机科技有限公司 | 资源监控方法、装置、计算机设备、存储介质和产品 |
CN116382922B (zh) * | 2023-05-10 | 2023-10-17 | 深圳高灯计算机科技有限公司 | 资源监控方法、装置、计算机设备、存储介质和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111698303A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109729131B (zh) | 一种应用请求的处理方法、装置和路由器 | |
US10783002B1 (en) | Cost determination of a service call | |
CN109918205B (zh) | 一种边缘设备调度方法、系统、装置及计算机存储介质 | |
US20130326028A1 (en) | Server migration | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
CN112306808B (zh) | 性能监测评价方法、装置、计算机设备及可读存储介质 | |
CN109992473B (zh) | 应用系统的监控方法、装置、设备及存储介质 | |
WO2021120975A1 (zh) | 一种监控方法及装置 | |
EP2989543A1 (en) | Method and device for updating client | |
CN110597719B (zh) | 一种用于适配测试的图像聚类方法、装置及介质 | |
CN114095567B (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN113688923B (zh) | 订单异常智能检测方法、装置、电子设备及存储介质 | |
CN111581258B (zh) | 一种安全数据分析方法、装置、系统、设备及存储介质 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
US20160094392A1 (en) | Evaluating Configuration Changes Based on Aggregate Activity Level | |
US9501321B1 (en) | Weighted service requests throttling | |
CN112130936A (zh) | 基于轮询的数据调用方法、装置、设备及存储介质 | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN112491939B (zh) | 多媒体资源调度方法及系统 | |
CN114913008A (zh) | 基于决策树的债券价值分析方法、装置、设备及存储介质 | |
CN110162386B (zh) | 一种任务下发方法及装置 | |
CN108881513B (zh) | 一种设备码生成的方法、装置、设备及存储介质 | |
CN113051128B (zh) | 功耗检测方法、装置、电子设备及存储介质 | |
CN113722602B (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 |