CN112068956A - 一种基于redis缓存的负载均衡方法及服务器 - Google Patents
一种基于redis缓存的负载均衡方法及服务器 Download PDFInfo
- Publication number
- CN112068956A CN112068956A CN202010859100.5A CN202010859100A CN112068956A CN 112068956 A CN112068956 A CN 112068956A CN 202010859100 A CN202010859100 A CN 202010859100A CN 112068956 A CN112068956 A CN 112068956A
- Authority
- CN
- China
- Prior art keywords
- server
- task
- service request
- data
- request data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 240000008042 Zea mays Species 0.000 claims description 2
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 claims description 2
- 235000002017 Zea mays subsp mays Nutrition 0.000 claims description 2
- 235000005822 corn Nutrition 0.000 claims description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开的基于redis缓存的负载均衡方法,涉及计算机技术领域,通过定时从任务池中获取服务请求数据,定时从注册中心获取服务器数据并删除过期的服务器数据,对服务请求数据中任务的数量与服务器数据中服务器的数量进行求模运算,根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器,能够均衡地分配服务请求数据中的各个任务,节省了资源和人力成本,当任务执行出现问题时,本单位人员就能解决,降低了时间成本。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于redis缓存的负载均衡方法及服务器。
背景技术
目前的负载均衡方法主要通过开发或部署第三方任务管理平台来分配任务,需要花费大量的资源和人力成本,当执行任务出现问题时,需要找到维护该第三方任务管理平台的人去排查,时间成本较高。
发明内容
为解决现有技术的不足,本发明实施例提供了一种基于redis缓存的负载均衡方法及服务器。
第一方面,本发明实施例提供的基于redis缓存的负载均衡方法包括以下步骤:
定时从任务池中获取服务请求数据;
定时从注册中心获取服务器数据并删除过期的服务器数据;
对服务请求数据中任务的数量与服务器数据中服务器的数量进行求模运算;
根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器。
优选地,根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器包括:
对服务请求数据中的n个任务及服务器数据中的N个服务器进行编号,生成任务编号0、1、2、3…n-1;
对服务器数据中的N个服务器进行编号,生成服务器编号0、1、2、3…N-1;
分别用各个任务编号除以服务器数量N,得到相应的余数;
分别将各个任务分配给编号与所述余数一致的服务器编号。
优选地,所述方法还包括:
根据服务请求数据中的各个任务在设定时间周期中调用方法的次数多少,对各个服务请求数据排序,将调用方法次数多的任务排在前面。
优选地,所述服务请求数据包括各个任务名称、执行各个任务需要调用的方法名称、各个任务对应的Corn表达式。
优选地,所述服务器数据以key-value形式存储于redis缓存,其中,服务器数据的关键字为服务器的Ip地址与端口号的组合,服务器数据的值为各个服务名称的注册时间。
第二方面,本发明实施例提供的本发明实施例提供的基于redis缓存的负载均衡服务器包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如第一方面所述基于redis缓存的负载均衡方法的步骤。
本发明实施例提供的基于redis缓存的负载均衡方法及服务器具有以下有益效果:
能够均衡地分配服务请求数据中的各个任务,不需要花费大量的资源和人力成本,当任务执行出现问题时,本单位人员就能解决,不需要找第三方单位的人员去排查,降低了时间成本。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
本发明实施例提供了一种基于redis缓存的负载均衡方法,该方法包括以下步骤:
S101,定时从任务池中获取服务请求数据。
S102,定时从注册中心获取服务器数据并删除过期的服务器数据。
其中,服务器数据封装了本框架的多个服务,在服务器启动后会定时将各个服务的名称注册到Redis缓存中存储。
S103,对服务请求数据中任务的数量与服务器数据中服务器的数量进行求模运算。
S104,根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器。
可选地,根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器包括:
对服务请求数据中的n个任务及服务器数据中的N个服务器进行编号,生成任务编号0、1、2、3…n-1;
对服务器数据中的N个服务器进行编号,生成服务器编号0、1、2、3…N-1;
分别用各个任务编号除以服务器数量N,得到相应的余数;
分别将各个任务分配给编号与该余数一致的服务器编号。
作为本发明一个具体的实施例,服务请求数据中封装了5个任务,将这5个任务依次编号为0、1、2、3、4,服务器数据中封装了有3个服务器,依次编号为0、1、2,将任务的编号0除以3(服务器数量),余数是0,则将编号为0的任务分配给编号为0的服务器;将任务的编号1除以3,余数是1,则将编号为1的任务分配给编号为1的服务器;将任务的编号2除以3,余数是2,则将编号为2的任务分配给编号为2的服务器;将任务的编号3除以3,余数是0,则将编号为3的任务分配给编号为0的服务器;将任务的编号4除以3,余数是1,则将编号为4的任务分配给编号为1的服务器;将任务的编号5除以3,余数是2,则将编号为5的任务分配给编号为2的服务器。
可选地,该方法还包括:
根据服务请求数据中的各个任务在设定时间周期中调用方法的次数多少,对各个服务请求数据排序,将调用方法次数多的任务排在前面。
作为本发明一个具体的实施例,该时间周期为一天。
可选地,服务请求数据包括各个任务名称、执行各个任务需要调用的方法名称、各个任务对应的Corn表达式。
其中,Corn表达式用于确定各个任务调用相应方法的时间。
可选地,服务器数据以key-value形式存储于redis缓存,其中,服务器数据的关键字为服务器的Ip地址与端口号的组合,服务器数据的值为各个服务名称的注册时间。
本发明实施例提供的基于redis缓存的负载均衡方法,通过定时从任务池中获取服务请求数据,定时从注册中心获取服务器数据并删除过期的服务器数据,对服务请求数据中任务的数量与服务器数据中服务器的数量进行求模运算,根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器,能够均衡地分配服务请求数据中的各个任务,节省了资源和人力成本,当任务执行出现问题时,本单位人员就能解决,降低了时间成本。
下面对本发明实施例提供的基于redis缓存的负载均衡服务器进行介绍,下文描述的基于redis缓存的负载均衡服务器与上文描述的基于redis缓存的负载均衡方法可相互对应参照。
本发明实施例提供的基于redis缓存的负载均衡服务器,该服务器包括:
存储器,用于存储计算机程序;
处理器,用于执行上述计算机程序时实现如上述基于redis缓存的负载均衡方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (6)
1.一种基于redis缓存的负载均衡方法,其特征在于,包括:
定时从任务池中获取服务请求数据;
定时从注册中心获取服务器数据并删除过期的服务器数据;
对服务请求数据中任务的数量与服务器数据中服务器的数量进行求模运算;
根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器。
2.根据权利要求1所述的基于redis缓存的负载均衡方法,其特征在于,根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器包括:
对服务请求数据中的n个任务及服务器数据中的N个服务器进行编号,生成任务编号0、1、2、3…n-1;
对服务器数据中的N个服务器进行编号,生成服务器编号0、1、2、3…N-1;
分别用各个任务编号除以服务器数量N,得到相应的余数;
分别将各个任务分配给编号与所述余数一致的服务器编号。
3.根据权利要求1所述的基于redis缓存的负载均衡方法,其特征在于,所述方法还包括:
根据服务请求数据中的各个任务在设定时间周期中调用方法的次数多少,对各个服务请求数据排序,将调用方法次数多的任务排在前面。
4.根据权利要求1所述的基于redis缓存的负载均衡方法,其特征在于,所述服务请求数据包括各个任务名称、执行各个任务需要调用的方法名称、各个任务对应的Corn表达式。
5.根据权利要求1所述的基于redis缓存的负载均衡方法,其特征在于,所述服务器数据以key-value形式存储于redis缓存,其中,服务器数据的关键字为服务器的Ip地址与端口号的组合,服务器数据的值为各个服务名称的注册时间。
6.一种基于redis缓存的负载均衡服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述基于redis缓存的负载均衡方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010859100.5A CN112068956A (zh) | 2020-08-24 | 2020-08-24 | 一种基于redis缓存的负载均衡方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010859100.5A CN112068956A (zh) | 2020-08-24 | 2020-08-24 | 一种基于redis缓存的负载均衡方法及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112068956A true CN112068956A (zh) | 2020-12-11 |
Family
ID=73660022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010859100.5A Pending CN112068956A (zh) | 2020-08-24 | 2020-08-24 | 一种基于redis缓存的负载均衡方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068956A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848137A (zh) * | 2009-03-26 | 2010-09-29 | 北京快网科技有限公司 | 一种应用于三层网络的负载均衡方法和系统 |
US20160103702A1 (en) * | 2014-10-10 | 2016-04-14 | Salesforce.Com, Inc. | Low latency architecture with directory service for integration of transactional data system with analytical data structures |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储系统和分布式任务存储/读取方法 |
WO2019024235A1 (zh) * | 2017-08-04 | 2019-02-07 | 平安科技(深圳)有限公司 | 电子装置、服务器分配控制方法和计算机可读存储介质 |
CN109995881A (zh) * | 2019-04-30 | 2019-07-09 | 网易(杭州)网络有限公司 | 缓存服务器的负载均衡方法和装置 |
CN110417902A (zh) * | 2019-08-01 | 2019-11-05 | 安徽听见科技有限公司 | 流式网络服务负载方法、相关设备及可读存储介质 |
CN111159140A (zh) * | 2019-12-31 | 2020-05-15 | 咪咕文化科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111324464A (zh) * | 2020-03-12 | 2020-06-23 | 北京首汽智行科技有限公司 | 一种基于微服务架构的负载分配方法 |
CN111565229A (zh) * | 2020-04-29 | 2020-08-21 | 创盛视联数码科技(北京)有限公司 | 一种基于Redis的通信系统分布式方法 |
-
2020
- 2020-08-24 CN CN202010859100.5A patent/CN112068956A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848137A (zh) * | 2009-03-26 | 2010-09-29 | 北京快网科技有限公司 | 一种应用于三层网络的负载均衡方法和系统 |
US20160103702A1 (en) * | 2014-10-10 | 2016-04-14 | Salesforce.Com, Inc. | Low latency architecture with directory service for integration of transactional data system with analytical data structures |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储系统和分布式任务存储/读取方法 |
WO2019024235A1 (zh) * | 2017-08-04 | 2019-02-07 | 平安科技(深圳)有限公司 | 电子装置、服务器分配控制方法和计算机可读存储介质 |
CN109995881A (zh) * | 2019-04-30 | 2019-07-09 | 网易(杭州)网络有限公司 | 缓存服务器的负载均衡方法和装置 |
CN110417902A (zh) * | 2019-08-01 | 2019-11-05 | 安徽听见科技有限公司 | 流式网络服务负载方法、相关设备及可读存储介质 |
CN111159140A (zh) * | 2019-12-31 | 2020-05-15 | 咪咕文化科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111324464A (zh) * | 2020-03-12 | 2020-06-23 | 北京首汽智行科技有限公司 | 一种基于微服务架构的负载分配方法 |
CN111565229A (zh) * | 2020-04-29 | 2020-08-21 | 创盛视联数码科技(北京)有限公司 | 一种基于Redis的通信系统分布式方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853112B2 (en) | Stateful virtual compute system | |
US7849019B2 (en) | Method and arrangement for managing licenses | |
US20100030995A1 (en) | Method and apparatus for applying database partitioning in a multi-tenancy scenario | |
CN104272258B (zh) | 用于在事务中间件机器环境中支持隐式版本控制的系统和方法 | |
CN105897946A (zh) | 一种访问地址的获取方法及系统 | |
WO2011156922A1 (en) | Method and system for workload distributing and processing across a network of replicated virtual machines | |
US20150046928A1 (en) | System, method and computer program product for dynamically increasing resources utilized for processing tasks | |
CN110532025B (zh) | 基于微服务架构的数据处理方法、装置、设备及存储介质 | |
CN113886089B (zh) | 一种任务处理方法、装置、系统、设备及介质 | |
US20100153962A1 (en) | Method and system for controlling distribution of work items to threads in a server | |
CN108132837A (zh) | 一种分布式集群调度系统及方法 | |
CN106776008A (zh) | 一种基于zookeeper实现负载均衡的方法及系统 | |
CN111324435A (zh) | 分布式任务调度及注册方法、设备和分布式任务调度系统 | |
CN111611074A (zh) | 一种集群资源的调度方法及装置 | |
CN110162397A (zh) | 资源分配方法、装置及系统 | |
US20090319635A1 (en) | Centrally managed inventory and entitlement data | |
CN112948077A (zh) | 批处理方法、装置、设备及存储介质 | |
US7143024B1 (en) | Associating identifiers with virtual processes | |
CN112068956A (zh) | 一种基于redis缓存的负载均衡方法及服务器 | |
CN112433830A (zh) | 一种基于ZooKeeper的分布式任务调度方法、系统及存储介质 | |
CN105491253A (zh) | 一种呼叫中心的资源分配方法及系统 | |
US9183359B2 (en) | Method and apparatus for assigning and releasing licenses | |
US8175905B2 (en) | Source allocation system, program and method | |
CN116467085A (zh) | 任务处理方法、系统、电子设备及存储介质 | |
CN110913018A (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 |