CN112068956A - 一种基于redis缓存的负载均衡方法及服务器 - Google Patents

一种基于redis缓存的负载均衡方法及服务器 Download PDF

Info

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
Application number
CN202010859100.5A
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.)
Beijing Shouqi Zhixing Technology Co Ltd
Original Assignee
Beijing Shouqi Zhixing Technology Co Ltd
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 Beijing Shouqi Zhixing Technology Co Ltd filed Critical Beijing Shouqi Zhixing Technology Co Ltd
Priority to CN202010859100.5A priority Critical patent/CN112068956A/zh
Publication of CN112068956A publication Critical patent/CN112068956A/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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开的基于redis缓存的负载均衡方法,涉及计算机技术领域,通过定时从任务池中获取服务请求数据,定时从注册中心获取服务器数据并删除过期的服务器数据,对服务请求数据中任务的数量与服务器数据中服务器的数量进行求模运算,根据求模运算结果,将服务请求数据中的各个任务分配给相应的服务器,能够均衡地分配服务请求数据中的各个任务,节省了资源和人力成本,当任务执行出现问题时,本单位人员就能解决,降低了时间成本。

Description

一种基于redis缓存的负载均衡方法及服务器
技术领域
本发明涉及计算机技术领域,具体涉及一种基于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缓存的负载均衡方法的步骤。
CN202010859100.5A 2020-08-24 2020-08-24 一种基于redis缓存的负载均衡方法及服务器 Pending CN112068956A (zh)

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)

* Cited by examiner, † Cited by third party
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的通信系统分布式方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
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