CN111679894A - 一种服务器集群模式下的定时任务调度方法及调度系统 - Google Patents

一种服务器集群模式下的定时任务调度方法及调度系统 Download PDF

Info

Publication number
CN111679894A
CN111679894A CN202010331437.9A CN202010331437A CN111679894A CN 111679894 A CN111679894 A CN 111679894A CN 202010331437 A CN202010331437 A CN 202010331437A CN 111679894 A CN111679894 A CN 111679894A
Authority
CN
China
Prior art keywords
node
application server
information
module
file
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
CN202010331437.9A
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.)
Yunnan Kungang Electronic Information Technology Co ltd
Original Assignee
Yunnan Kungang Electronic Information 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 Yunnan Kungang Electronic Information Technology Co ltd filed Critical Yunnan Kungang Electronic Information Technology Co ltd
Priority to CN202010331437.9A priority Critical patent/CN111679894A/zh
Publication of CN111679894A publication Critical patent/CN111679894A/zh
Pending legal-status Critical Current

Links

Images

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Abstract

本发明公开一种服务器集群模式下的定时任务调度方法及调度系统。所述调度方法包括将应用服务器集群的节点配置为节点信息文件;将应用服务器集群定时任务操作所对应的数据库表中唯一性的信息集合形成信息摘要文件;应用服务器节点执行定时任务时,将信息摘要文件与节点信息文件取余运算,获取需要当前应用服务器节点修改的数据库表记录;应用服务器继续执行定时任务,根据获取的需要当前应用服务器节点修改的数据库表记录执行SQL语句。所述调度系统包括节点配置模块、信息摘要模块、模运算模块。本发明能使服务器集群模式下的定时任务有序执行,避免数据库双向热备崩溃,节约服务器节点运算资源,且可通过配置节点信息灵活扩充或减少运算节点。

Description

一种服务器集群模式下的定时任务调度方法及调度系统
技术领域
本发明属于服务器技术领域,具体涉及一种能避免数据库双向热备崩溃、可节约服务器节点运算资源、节点配置灵活的服务器集群模式下的定时任务调度方法及调度系统。
背景技术
随着信息技术的不断发展以及需求的日益增多,单点服务器的架构已经不足以满足海量的用户需求对信息系统性能的要求。针对信息技术的蓬勃发展,信息产业的从业人员提出了集群和分布式的概念。分布式的系统架构是将信息系统分割为多个功能相对独立的子模块,而集群的架构则是配置多个应用服务器通过负载均衡等智能化的均衡策略将用户的请求分发到不同的应用服务器上进行响应,通过这两种技术,可以有效的提高信息系统的整体性能以及吞吐量,同时还可随意的扩展或减少服务器数量来应对不同时期的用户请求数变化。除了应用服务器的集群,数据库服务器也可以通过keepalived和haproxy技术实现集群。以数据库mysql 5.x为例,我们可以使用数据库之间的双向热备,同时使用keepalived和haproxy技术可以达到数据库集群的效果,这么做也大大提高了数据库服务的并发连接数,提升了数据库集群进行IO操作的能力。应用服务器和数据库服务器集群带来的系统性能提升是显而易见的,但也存在着问题。假设,我们目前有两台应用服务器进行集群(同一个虚拟IP地址),有两台数据库服务器进行集群(同一个虚拟IP地址),而两台应用服务器节点上在同一时刻会执行定时任务(比如:对某个数据表信息进行维护),当两个节点的定时任务同时执行时(访问的数据库虚拟IP地址),两个相同的定时任务对数据的操作会被分发到不同的数据库服务器实体上,相同时间,相同的SQL语句,不同的数据库服务器,会导致两台数据库服务器在数据上的冲突,这样的冲突会导致数据库服务器双向热备机制的崩溃,关键的一点是你并不知道数据库的双向热备已经停止了,随着时间的推移,两台数据库的数据越来越不一样(双向热备机制就是用来保证多个数据库之间数据的一致性),当这个问题被发现的时候,这已经是个灾难。问题的原因就在于应用服务器节点在相同的时间,对相同的数据库表执行相同的SQL操作,这不仅浪费了服务器的运算资源,还造成了不可预估的灾难性后果。对于这个问题,目前常用的方法是quartz调度集群策略,但这也仅是保障了任务执行的有序性,当单个任务面对的是百万级别的数据时候,往往效率上很难让人满意,因此,建立一套调度机制让服务器集群模式下的定时任务能有序的,切片化的高效执行是处理这个问题的关键。
发明内容
本发明的第一目的在于提供一种能避免数据库双向热备崩溃、可节约服务器节点运算资源、节点配置灵活的服务器集群模式下的定时任务调度方法;第二目的在于提供一种基于第一目的服务器集群模式下的定时任务调度系统。
本发明的第一目的是这样实现的:包括节点配置、信息摘要、模运算、定时任务执行步骤,具体包括:
A、节点配置:将应用服务器集群上对应的节点配置为节点信息文件;
B、信息摘要:将应用服务器集群定时任务操作所对应的数据库表中唯一性的信息集合形成信息摘要文件;
C、模运算:应用服务器节点执行定时任务时,先将信息摘要文件与节点信息文件中的参数取余运算,获取需要当前应用服务器节点修改的数据库表记录;
D、定时任务执行:应用服务器继续执行定时任务,根据获取的需要当前应用服务器节点修改的数据库表记录,执行SQL语句。
本发明的第二目的是这样实现的:包括
节点配置模块,用于将应用服务器集群上对应的节点配置为节点信息文件;
信息摘要模块,用于将应用服务器集群定时任务操作所对应的数据库表中唯一性的信息集合形成信息摘要文件;
模运算模块,用于在应用服务器节点定时任务执行时,获取节点配置模块的节点信息文件及信息摘要模块的信息摘要文件,将信息摘要文件与节点信息文件中的参数取余运算,获取需要当前应用服务器节点修改的数据库表记录;
所述应用服务器在执行定时任务时,从模运算模块获取需要当前应用服务器节点修改的数据库表记录,然后对数据库的表记录执行SQL语句。
本发明的有益效果:本发明能够使服务器集群模式下的服务器节点定时任务有序的执行,既避免了数据库双向热备时在数据上冲突导致的崩溃,又节约了服务器节点的运算资源,还可通过配置节点信息,从而可灵活的扩充或减少服务器集群模式下的运算节点。
附图说明
图1为本发明之定时任务调度方法流程示意图;
图2为本发明之定时任务调度系统原理结构示意图;
图中:S100-节点配置,S200-信息摘要,S300-模运算,S400-定时任务执行;
1-节点配置模块,2-信息摘要模块,3-模运算模块,4-应用服务器,5-数据库,6-应用服务器集群,7-数据库服务器集群。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变更或改进,均属于本发明的保护范围。
如图1所示,本发明的服务器集群模式下的定时任务调度方法包括节点配置、信息摘要、模运算、定时任务执行步骤,具体包括:
A、节点配置:将应用服务器集群上对应的节点配置为节点信息文件;
B、信息摘要:将应用服务器集群定时任务操作所对应的数据库表中唯一性的信息集合形成信息摘要文件;
C、模运算:应用服务器节点执行定时任务时,先将信息摘要文件与节点信息文件中的参数取余运算,获取需要当前应用服务器节点修改的数据库表记录;
D、定时任务执行:应用服务器继续执行定时任务,根据获取的需要当前应用服务器节点修改的数据库表记录,执行SQL语句。
优选的,所述节点信息文件包括需要配置的应用服务器集群节点总数nodes以及当前应用服务器节点的序号cur_node。
优选的,所述信息摘要文件message包括表主键或其它被唯一约束的字段信息集合。
优选的,所述节点信息文件和/或信息摘要文件在应用服务器执行定时任务完成后或执行定时任务前进行更新。
优选的,所述信息摘要文件的更新是将已完成定时任务所对应的数据库表中唯一性的信息进行标记为完成或删除。
优选的,所述C步骤中是通过message%nodes=cur_node运算,获取需要当前节点修改的数据库表记录record_list_x,其中x为应用服务器节点的序号。
如图2所示,本发明的服务器集群模式下的定时任务调度系统,包括
节点配置模块1,用于将应用服务器集群上对应的节点配置为节点信息文件;
信息摘要模块2,用于将应用服务器集群定时任务操作所对应的数据库5表中唯一性的信息集合形成信息摘要文件;
模运算模块3,用于在应用服务器节点定时任务执行时,获取节点配置模块1的节点信息文件及信息摘要模块2的信息摘要文件,将信息摘要文件与节点信息文件中的参数取余运算,获取需要当前应用服务器节点修改的数据库5表记录;
所述应用服务器4在执行定时任务时,从模运算模块3获取需要当前应用服务器节点修改的数据库表记录,然后对数据库5的表记录执行SQL语句。
优选的,所述节点配置模块1和/或信息摘要模块2设置于应用服务器集群中的一指定应用服务器4上或运行于独立设置的服务器上,所述模运算模块3设置于应用服务器集群中的所有应用服务器上。
优选的,所述节点配置模块1和/或信息摘要模块2在应用服务器4执行定时任务完成后或执行定时任务前对应对节点信息文件、信息摘要文件进行更新。
优选的,所述模运算模块3通过将信息摘要文件message%应用服务器集群节点总数nodes=当前应用服务器节点的序号cur_node进行运算,获取需要当前节点修改的数据库表记录record_list_x,其中x为应用服务器节点的序号。
实施例
如图1和2所示,服务器集群模式下的定时任务调度系统中的服务器节点配置模块基于jdk1.8开发,可部署在widows,linux各种操作系统,数据库使用的是mysql,同时也支持oracle,sql server等其他关系型数据库。
服务器节点增加配置文件,配置内容包括cur_nodes(当前节点编号),nodes(节点总数),服务器节点上部署定时任务调度模块。
服务器节点上的定时任务调度模块首先会读取配置文件中的节点信息,对需要操作的数据表配置拦截器。当定时任务触发时调度模块拦截sql语句并进行改装,通过对数据表中具有唯一性的信息摘要运算后进行切片,这些过程对用户来说都是自动化的,不需要额外的做其他操作。
具体测试方法如下:
S100:服务器节点上配置相关的节点信息,并部署调度模块,配置自动测试任务,记录测试过程中的任务发起时间戳,设计改动的数据量。
S200:任务调度模块拦截数据库操作,读取被操作的表中的具有唯一性的字段形成信息摘要。
S300:调度模块整合操作节点信息以及唯一摘要信息,将数据块进行切片。
S400:数据切片分发至不同的服务节点进行定时任务中的业务处理,处理的结果同时又回写到执行热备的数据库上,记录测试过程中任务执行结束的时间戳,处理的数据量。

Claims (10)

1.一种服务器集群模式下的定时任务调度方法,其特征在于包括节点配置、信息摘要、模运算、定时任务执行步骤,具体包括:
A、节点配置:将应用服务器集群上对应的节点配置为节点信息文件;
B、信息摘要:将应用服务器集群定时任务操作所对应的数据库表中唯一性的信息集合形成信息摘要文件;
C、模运算:应用服务器节点执行定时任务时,先将信息摘要文件与节点信息文件中的参数取余运算,获取需要当前应用服务器节点修改的数据库表记录;
D、定时任务执行:应用服务器继续执行定时任务,根据获取的需要当前应用服务器节点修改的数据库表记录,执行SQL语句。
2.根据权利要求1所述服务器集群模式下的定时任务调度方法,其特征在于所述节点信息文件包括需要配置的应用服务器集群节点总数nodes以及当前应用服务器节点的序号cur_node。
3.根据权利要求2所述服务器集群模式下的定时任务调度方法,其特征在于所述信息摘要文件message包括表主键或其它被唯一约束的字段信息集合。
4.根据权利要求3所述服务器集群模式下的定时任务调度方法,其特征在于所述节点信息文件和/或信息摘要文件在应用服务器执行定时任务完成后或执行定时任务前进行更新。
5.根据权利要求4所述服务器集群模式下的定时任务调度方法,其特征在于所述信息摘要文件的更新是将已完成定时任务所对应的数据库表中唯一性的信息进行标记为完成或删除。
6.根据权利要求3、4或5所述服务器集群模式下的定时任务调度方法,其特征在于所述C步骤中是通过message%nodes=cur_node运算,获取需要当前节点修改的数据库表记录record_list_x,其中x为应用服务器节点的序号。
7.一种服务器集群模式下的定时任务调度系统,其特征在于包括
节点配置模块(1),用于将应用服务器集群上对应的节点配置为节点信息文件;
信息摘要模块(2),用于将应用服务器集群定时任务操作所对应的数据库(5)表中唯一性的信息集合形成信息摘要文件;
模运算模块(3),用于在应用服务器节点定时任务执行时,获取节点配置模块(1)的节点信息文件及信息摘要模块(2)的信息摘要文件,将信息摘要文件与节点信息文件中的参数取余运算,获取需要当前应用服务器节点修改的数据库(5)表记录;
所述应用服务器(4)在执行定时任务时,从模运算模块(3)获取需要当前应用服务器节点修改的数据库表记录,然后对数据库(5)的表记录执行SQL语句。
8.根据权利要求7所述服务器集群模式下的定时任务调度系统,其特征在于所述节点配置模块(1)和/或信息摘要模块(2)设置于应用服务器集群中的一指定应用服务器(4)上或运行于独立设置的服务器上,所述模运算模块(3)设置于应用服务器集群中的所有应用服务器上。
9.根据权利要求7所述服务器集群模式下的定时任务调度系统,其特征在于所述节点配置模块(1)和/或信息摘要模块(2)在应用服务器(4)执行定时任务完成后或执行定时任务前对应对节点信息文件、信息摘要文件进行更新。
10.根据权利要求9所述服务器集群模式下的定时任务调度系统,其特征在于所述模运算模块(3)通过将信息摘要文件message%应用服务器集群节点总数nodes=当前应用服务器节点的序号cur_node进行运算,获取需要当前节点修改的数据库表记录record_list_x,其中x为应用服务器节点的序号。
CN202010331437.9A 2020-04-24 2020-04-24 一种服务器集群模式下的定时任务调度方法及调度系统 Pending CN111679894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010331437.9A CN111679894A (zh) 2020-04-24 2020-04-24 一种服务器集群模式下的定时任务调度方法及调度系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010331437.9A CN111679894A (zh) 2020-04-24 2020-04-24 一种服务器集群模式下的定时任务调度方法及调度系统

Publications (1)

Publication Number Publication Date
CN111679894A true CN111679894A (zh) 2020-09-18

Family

ID=72433809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010331437.9A Pending CN111679894A (zh) 2020-04-24 2020-04-24 一种服务器集群模式下的定时任务调度方法及调度系统

Country Status (1)

Country Link
CN (1) CN111679894A (zh)

Similar Documents

Publication Publication Date Title
JP5801375B2 (ja) データベース管理システム
CN111324610A (zh) 一种数据同步的方法及装置
CN107180113B (zh) 一种大数据检索平台
WO2010073110A1 (en) Selective database replication
CN111143382B (zh) 数据处理方法、系统和计算机可读存储介质
JP2003296171A (ja) 電子帳票管理方法及びプログラム
CN109840251B (zh) 一种大数据聚合查询方法
Chang et al. Adaptable replica consistency service for data grids
CN107506356B (zh) 数据处理方法及其系统
CN110555012A (zh) 数据迁移方法及装置
CN111881223A (zh) 数据管理方法、设备、系统及存储介质
CN110245134B (zh) 一种应用于搜索服务的增量同步方法
CN109885642B (zh) 面向全文检索的分级存储方法及装置
CN113177090A (zh) 数据处理方法及装置
CN115438122A (zh) 数据异构同步系统
CN105550342B (zh) 一种全透明的分布式数据库的数据处理方法
CN113946628A (zh) 一种基于拦截器的数据同步方法及装置
CN106815318B (zh) 一种时序数据库的集群化方法及系统
CN113297159A (zh) 数据存储方法以及装置
Suganya et al. Efficient fragmentation and allocation in distributed databases
CN111679894A (zh) 一种服务器集群模式下的定时任务调度方法及调度系统
CN111581282A (zh) 一种服务器集群模式下的定时任务调度方法及调度系统
Saxena et al. Concepts of HBase archetypes in big data engineering
JP2019066939A (ja) 移行管理装置及び移行管理方法
WO2016067370A1 (ja) 情報処理装置、方法およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200918