CN110515714A - 一种基于集群系统的任务均衡调度方法 - Google Patents
一种基于集群系统的任务均衡调度方法 Download PDFInfo
- Publication number
- CN110515714A CN110515714A CN201910753685.XA CN201910753685A CN110515714A CN 110515714 A CN110515714 A CN 110515714A CN 201910753685 A CN201910753685 A CN 201910753685A CN 110515714 A CN110515714 A CN 110515714A
- Authority
- CN
- China
- Prior art keywords
- record
- permission
- key
- machine
- expired
- 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
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于集群系统的任务均衡调度方法。本发明具体实现包括:每次服务器获取需要执行的记录后,先去获取相关的执行权限,如果获取到了执行权限,就继续执行。如果发现执行权限已经被别的服务器获取,就自动放弃本次操作。进行下一条记录的权限获取。同时定期清理过期权限,定时将挂起的权限释放,保证记录执行的完整性。本发明具备了前两种方式的优点,同时改善了它们的缺点,具有部署方便,扩展方便的特点,同时充分利用了现有的服务器资源,均衡分配。非常适合集群部署,集群扩展的过程非常简单。
Description
技术领域
本发明属于计算机分布式领域,涉及一种基于集群系统的任务均衡调度方法。
背景技术
在大型的网络服务系统中,为了减轻服务器的压力、优化服务器资源的使用和提高客户端的响应速度。一般的解决方案是将服务器集群。当服务器集群后,所有的服务器将可以执行相同的操作,但是部分操作可能是单例的,同一时间内只能一台服务执行。为了达到这种目的可以有两种方式:
第一种方式是在集群中的各个服务器中做相应的参数标志,服务器每次操作执行前去查询下是否是被标志的服务器,如果是被标记的服务器代表本服务器有权限操作,正常去执行。如果发现未被标记代表相应操作无权限,自动退出。
第二种方式和第一种方式相似,是将标志位放到一个公共的、所有机器都可以读取的区域,通过绑定ip位置或者服务器名称等方式来实现,服务器每次操作执行前去公共区域查询下被标志的服务器信息是否是本机,如果是被标记的服务器是本机代表本服务器有权限操作,正常去执行。如果发现标记服务器非本机,代表相应操作无权限,自动退出。
以上两种方式都存在明显缺陷或者适用度等问题,两种方式都是绑定死了某台机器执行某一类操作,颗粒度较大。无法实现某台机器执行某一类操作中的某一条数据。同时因为指定了特定的机器去执行某类操作,造成部分机器在未改配置前是无权限执行,造成机器资源的浪费。而且第一种方式部署复杂,需要每台机器配置。第二种方式集群中虽然只需要配置一次,但是存在配置的机器撤销后需要修改配置等问题。
发明内容
本发明的目的就是针对现有技术的不足,主要解决了几个方面的问题,其一能够服务集群部署方便;其二充分利用服务器资源,非常适合集群部署使用。
本发明解决其技术问题所采用的技术方案包括如下具体步骤:
步骤(1)、定义一类数据执行key值、定义过期时间同时获取本机在局域网内唯一的ip。以一条需要转换的视频记录作为例,转换中key值规则为固定值+”_”+单条业务数据Id。固定值为conver_video_knowledge_of_list,单条业务数据id为01,相应key值为conver_video_knowledge_of_list_01,定义过期时间为60分钟,过期时间根据不同的业务可以配置不同的时间。本例中因为是视频文件转换,需要花费比较长的时间,故设置时间稍长60分钟。ip为192.168.0.22。
步骤(2)、获取相关的存储连接,将相应的信息记录插入到存储介质中。记录信息包含了key、ip、过期时间。存储介质可以是数据库或者缓存等有原子性的操作的介质。本样例中用的是redis缓存,调用redis中命令rpush(String key,String...strings),将相应的记录放入redis。如果是数据库中,直接将相关记录插入数据库表中。key为conver_video_knowledge_of_list_01,ip为192.168.0.22。
步骤(3)、通过相关的key获取第一条存储的记录,然后进行比对ip进行匹配是否是本机获取执行权限。假设根据key值获取的第一个ip值为192.168.0.22,代表的第一个申请权限的是本机。本机获取本条数据执行权限,可以对本条记录进行相关操作。假设取到的第一个ip为192.168.10.110,代表第一个申请的权限的机器非本机,本条记录执行权限获取失败,自动结束相关炒作,进行下一条记录的权限申请。在reidis中调用lindex(key,0)方法,在数据库中排序后取第一条。
步骤(4)、为获取执行权限的记录锁定过期时间,锁定过期时间是防止相应的记录执行过程中,万一有断电等不可抗拒因数造成的服务器死机,关机等造成的记录被锁定而本机已经无法执行被一直挂起。在redis中调用expire(key,exitTime)方法。在数据库中可以添加过期记录。
步骤(5)、定时或者下钩子程序清理权限过期的记录。在本次操作结束后,对本次操作的记录进行清理。或者是到过期时间后,将本次操作的记录清理,将权限释放。进行下一次权限的分配。
本发明有益效果如下:
本发明具备了部署简单、扩展简单、充分利用服务器资源等特点,能够无缝集群,同时资源分配较为均衡,非常适合在大并发,高集群的服务器环境。同时每条记录的权限都有过期时间和自动清理,保证了数据执行的完整性。是一种非常便捷的权限分配技术方法,应用场景比较广泛。
具体实施方式
本发明的基于存储介质的服务权限均衡分配的方法,总体思路大致包括:每次服务器获取需要执行的记录后,先去获取相关的执行权限,如果获取到了执行权限,就继续执行。如果发现执行权限已经被别的服务器获取,就自动放弃本次操作。进行下一条记录的权限获取。同时定期清理过期权限,定时将挂起的权限释放,保证记录执行的完整性。本发明具备了前两种方式的优点,同时改善了它们的缺点,具有部署方便,扩展方便的特点,同时充分利用了现有的服务器资源,均衡分配。非常适合集群部署,集群扩展的过程非常简单。
具体步骤如下:
步骤(1)、定义一类数据执行key值、定义过期时间同时获取本机在局域网内唯一的ip。以一条需要转换的视频记录作为例,转换中key值规则为固定值+”_”+单条业务数据Id。固定值为conver_video_knowledge_of_list,单条业务数据id为01.相应key值为conver_video_knowledge_of_list_01,定义过期时间为60分钟,过期时间根据不同的业务可以配置不同的时间。本例中因为是视频文件转换,需要花费比较长的时间,故设置时间稍长60分钟。ip为192.168.0.22。
步骤(2)、获取相关的存储连接,将相应的信息记录插入到存储介质中。记录信息包含了key、ip、过期时间。存储介质可以为数据库或者缓存等有原子性的操作的介质。本样例中用的是redis缓存,调用redis中命令rpush(String key,String...strings),将相应的记录放入redis。如果是数据库中,直接将相关记录插入数据库表中。key为conver_video_knowledge_of_list_01,ip为192.168.0.22。
步骤(3)、通过相关的key获取第一条存储的记录,然后进行比对ip进行匹配是否是本机获取执行权限。假设根据key值获取的第一个ip值为192.168.0.22,代表的第一个申请权限的是本机。本机获取本条数据执行权限,可以对本条记录进行相关操作。假设取到的第一个ip为192.168.10.110,代表第一个申请的权限的机器非本机,本条记录执行权限获取失败,自动结束相关操作,进行下一条记录的权限申请。在reidis中调用lindex(key,0)方法,在数据库中排序后取第一条。
步骤(4)、为获取执行权限的记录锁定过期时间,锁定过期时间是防止相应的记录执行过程中,万一有断电等不可抗拒因数造成的服务器死机,关机等造成的记录被锁定而本机已经无法执行被一直过起。在redis中调用expire(key,exitTime)方法。在数据库中可以添加过期记录
步骤(5)、定时或者下钩子程序清理权限过期的记录。在本次操作结束后,对本次操作的记录进行清理。或者是到过期时间后,将本次操作的记录清理,将权限释放。进行下一次权限的分配。
Claims (1)
1.一种基于集群系统的任务均衡调度方法,其特征在于包括如下步骤:
步骤(1)、定义一类数据执行key值、定义过期时间同时获取本机在局域网内唯一的ip;数据转换中key值规则为固定值+”_”+单条业务数据Id;固定值为conver_video_knowledge_of_list,单条业务数据id为01,相应key值为conver_video_knowledge_of_list_01,定义过期时间为T分钟,过期时间根据不同的业务配置不同的时间;设ip为192.168.0.22;
步骤(2)、获取相关的存储连接,将相应的记录信息插入到存储介质中;记录信息包含了key、ip、过期时间;存储介质包括数据库或者缓存;缓存包括redis缓存;调用redis缓存中命令rpush(String key,String...strings),将相应的记录信息放入redis;如果是数据库中,则直接将相关记录信息插入数据库表中;key为conver_video_knowledge_of_list_01,ip为192.168.0.22;
步骤(3)、通过相关的key获取第一条存储的记录,然后进行比对ip进行匹配是否是本机获取执行权限;假设根据key值获取的第一个ip值为192.168.0.22,代表的第一个申请权限的是本机;本机获取本条数据执行权限,可以对本条记录进行相关操作;假设取到的第一个ip为192.168.10.110,代表第一个申请的权限的机器非本机,本条记录执行权限获取失败,自动结束相关操作,进行下一条记录的权限申请;在reidis缓存中调用lindex(key,0)方法,在数据库中排序后取第一条;
步骤(4)、为获取执行权限的记录锁定过期时间,锁定过期时间是防止相应的记录执行过程中,因不可抗拒因素造成的服务器死机、关机造成的记录被锁定而本机已经无法执行被一直挂起;在redis中调用expire(key,exitTime)方法;在数据库中可以添加过期记录;
步骤(5)、定时或者下钩子程序清理权限过期的记录;在本次操作结束后,对本次操作的记录进行清理;或者是到过期时间后,将本次操作的记录清理,将权限释放;进行下一次权限的分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910753685.XA CN110515714A (zh) | 2019-08-15 | 2019-08-15 | 一种基于集群系统的任务均衡调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910753685.XA CN110515714A (zh) | 2019-08-15 | 2019-08-15 | 一种基于集群系统的任务均衡调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515714A true CN110515714A (zh) | 2019-11-29 |
Family
ID=68626017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910753685.XA Pending CN110515714A (zh) | 2019-08-15 | 2019-08-15 | 一种基于集群系统的任务均衡调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515714A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813528A (zh) * | 2020-07-17 | 2020-10-23 | 公安部第三研究所 | 一种基于任务统计特性的视频大数据标准化汇聚网关系统及方法 |
CN113760432A (zh) * | 2021-08-30 | 2021-12-07 | 浙江万朋教育科技股份有限公司 | 一种基于H5 Canvas实现还原手写笔迹的涂鸦方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408852A (zh) * | 2008-11-26 | 2009-04-15 | 阿里巴巴集团控股有限公司 | 一种调度任务的方法、装置和系统 |
CN104935658A (zh) * | 2015-06-17 | 2015-09-23 | 交通银行股份有限公司 | 一种银行任务分配方法及装置 |
CN105608115A (zh) * | 2015-12-11 | 2016-05-25 | 北京奇虎科技有限公司 | 数据获取方法与装置 |
US20180278584A1 (en) * | 2017-03-27 | 2018-09-27 | Zenedge, Inc. | Authenticating Access Configuration for Application Programming Interfaces |
CN108710541A (zh) * | 2018-05-22 | 2018-10-26 | 泰康保险集团股份有限公司 | 一种定时任务的执行方法及装置 |
CN109800136A (zh) * | 2018-12-06 | 2019-05-24 | 珠海西山居移动游戏科技有限公司 | 一种远程redis性能数据采样方法及其系统 |
-
2019
- 2019-08-15 CN CN201910753685.XA patent/CN110515714A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408852A (zh) * | 2008-11-26 | 2009-04-15 | 阿里巴巴集团控股有限公司 | 一种调度任务的方法、装置和系统 |
CN104935658A (zh) * | 2015-06-17 | 2015-09-23 | 交通银行股份有限公司 | 一种银行任务分配方法及装置 |
CN105608115A (zh) * | 2015-12-11 | 2016-05-25 | 北京奇虎科技有限公司 | 数据获取方法与装置 |
US20180278584A1 (en) * | 2017-03-27 | 2018-09-27 | Zenedge, Inc. | Authenticating Access Configuration for Application Programming Interfaces |
CN108710541A (zh) * | 2018-05-22 | 2018-10-26 | 泰康保险集团股份有限公司 | 一种定时任务的执行方法及装置 |
CN109800136A (zh) * | 2018-12-06 | 2019-05-24 | 珠海西山居移动游戏科技有限公司 | 一种远程redis性能数据采样方法及其系统 |
Non-Patent Citations (2)
Title |
---|
HRBUST_09ZHANGYABIN: "redis过期key的清理策略", 《HTTPS://WWW.CNBLOGS.COM/ZHANGYABIN---ACM/P/9016065.HTML》 * |
李健同学: "Java通过redis管理你的集群定时任务", 《HTTPS://WWW.JIANSHU.COM/P/48C5B11B80CD》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813528A (zh) * | 2020-07-17 | 2020-10-23 | 公安部第三研究所 | 一种基于任务统计特性的视频大数据标准化汇聚网关系统及方法 |
CN111813528B (zh) * | 2020-07-17 | 2023-04-18 | 公安部第三研究所 | 一种基于任务统计特性的视频大数据标准化汇聚网关系统及方法 |
CN113760432A (zh) * | 2021-08-30 | 2021-12-07 | 浙江万朋教育科技股份有限公司 | 一种基于H5 Canvas实现还原手写笔迹的涂鸦方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766129B (zh) | 一种任务处理方法、装置及系统 | |
Zhou et al. | Delta debugging microservice systems | |
US20190052528A1 (en) | Network function virtualization management orchestration apparatus, method | |
US7730183B2 (en) | System and method for generating virtual networks | |
US10338958B1 (en) | Stream adapter for batch-oriented processing frameworks | |
CN112214338A (zh) | 一种基于微服务灵活部署的物联网云平台 | |
WO2019037203A1 (zh) | 应用程序的性能测试方法、装置、计算机设备和存储介质 | |
CN110661647A (zh) | 一种生命周期管理方法及装置 | |
CN106033373A (zh) | 一种云计算平台中虚拟机资源调度方法和调度系统 | |
CN105786603B (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
CN107659450B (zh) | 大数据集群资源的分配方法、分配装置及存储介质 | |
US20200167444A1 (en) | Systems and methods for software license management | |
CN110515714A (zh) | 一种基于集群系统的任务均衡调度方法 | |
CN104572306A (zh) | 计算机集群的资源管理方法、资源管理器 | |
WO2022134358A1 (zh) | 微服务数据的处理方法、装置、微服务处理平台及介质 | |
CN113742033A (zh) | 一种kubernetes集群联邦系统及其实现方法 | |
Vázquez et al. | Federation of TeraGrid, EGEE and OSG infrastructures through a metascheduler | |
CN105404573A (zh) | 一种SmartRack多节点部署系统压力测试方法 | |
Tang et al. | Application centric lifecycle framework in cloud | |
CN111181929A (zh) | 基于共享虚拟机文件的异构混合云架构及管理方法 | |
CN115495265A (zh) | 一种基于hadoop提高kafka消费能力的方法 | |
US11366648B2 (en) | Compiling monoglot function compositions into a single entity | |
CN103617077A (zh) | 智能型云端化移转的方法与系统 | |
CN113553264A (zh) | 测试数据生成方法、装置、电子设备及介质 | |
CN112328300A (zh) | 一种基于批量操控工具的it自动化运维系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |