CN110750349B - 一种分布式任务调度方法及系统 - Google Patents
一种分布式任务调度方法及系统 Download PDFInfo
- Publication number
- CN110750349B CN110750349B CN201911026996.2A CN201911026996A CN110750349B CN 110750349 B CN110750349 B CN 110750349B CN 201911026996 A CN201911026996 A CN 201911026996A CN 110750349 B CN110750349 B CN 110750349B
- Authority
- CN
- China
- Prior art keywords
- task
- instruction
- redis
- node server
- processing
- 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.)
- Active
Links
Images
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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种分布式任务调度方法及系统,属于计算机技术领域。该系统包括:接收到客户端业务处理请求后,基于文件传输协议将预处理数据分发至对应的节点服务器;根据节点服务器分配的处理任务,创建redis指令放入消息队列中;当节点服务器轮询监测到对应redis指令,读取所述redis指令中的写入参数,并根据所述参数,调起预处理数据的任务处理进程。通过该方案可以高效调度服务端任务分配,提高服务器数据处理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式任务调度系统及方法。
背景技术
随着互联网技术的快速发展,网络数据量激增,对于服务器端数据处理提出了更高的要求。服务器接收到高并发的数据请求,为降低时延避免阻塞,通常服务端会增加服务器数量或升级硬件,当普通的单机作业已越来越满足要求。
目前,为提高服务器数据处理恩能够,常需要多个服务器协同处理,一般会直接将数据处理任务分发至对应的服务器,子服务器解析数据并对数据进行处理。然而,这种将任务执行参数与处理数据一同分发,或将处理数据分发至专门的服务器,针对大量级的同类处理任务,服务器的调度处理效率较低。
发明内容
有鉴于此,本发明实施例提供了一种分布式任务调度方法,可以提高服务端数据处理效率,提升业务处理能力。
在本发明实施例的第一方面,提供了一种分布式任务调度方法,包括:
接收到客户端业务处理请求后,基于文件传输协议将预处理数据分发至对应的节点服务器;
根据节点服务器分配的处理任务,创建redis指令放入消息队列中;
当节点服务器轮询监测到对应redis指令,读取所述redis指令中的写入参数,并根据所述参数,调起预处理数据的任务处理进程。
在本发明实施例的第二方面,提供了一种分布式任务调度系统,包括:
分发模块,用于接收到客户端业务处理请求后,基于文件传输协议将预处理数据分发至对应的节点服务器;
创建模块,用于根据节点服务器分配的处理任务,创建redis指令放入消息队列中;
执行模块,用于当节点服务器轮询监测到对应redis指令,读取所述redis指令中的写入参数,并根据所述参数,调起预处理数据的任务处理进程。
本发明实施例中,首先将预处理数据分发至节点服务器,再根据节点服务器分配的任务,通过创建redis指令放入消息队列,节点服务器轮询订阅,调起任务执行进程,可以实现通过redis指令控制节点中任务的执行,避免处理数据与执行指令一同分发或反馈时对网络通路的大量占用,提高数据传输分发效率,并能提高服务器的任务处理效率,降低主服务器或特定服务器的数据处理压力,避免数据阻塞,提升服务端数据并发处理能力。
附图说明
图1为本发明实施例一提供的一种分布式任务调度方法的流程示意图;
图2为本发明实施例二提供的一种分布式任务调度系统的结构示意图。
具体实施方式
本发明实施例提供了一种分布式任务调度方法及系统,用于调用任务请求,提高服务器数据处理效率。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
请参阅图1,本发明实施例提供的分布式任务调度方法的流程示意图,包括:
S101、接收到客户端业务处理请求后,基于文件传输协议将预处理数据分发至对应的节点服务器;
服务器端与客户端相连,接收客户端发起的业务处理请求,所述处理请求包括请求指令及请求数据。服务器端对请求数据执行特定操作,并返回处理后的请求数据或请求结果给客户端。
所述预处理数据可以为存储在服务器端数据或客户端上传数据,在此不做限定。服务器根据客户端请求,生成数据处理任务,并对预处理数据文件进行分发,发送至对应的节点服务器。所述文件传输协议(即File Transfer Protocol,FTP)是一套文件传输协议,可以实现主机间通信。各服务器之间通过FTP进行数据传输,可以保障连接的可靠性,同时允许对文件的增删查改等。优选的,创建多进程对预处理数据进行分发,每个进程执行对应的预处理数据推送。
S102、根据节点服务器分配的处理任务,创建redis指令放入消息队列中;
所述处理任务即对所述预处理数据执行特定处理过程,一般可以预先定义任务处理过程,进行任务处理时,调用对应的任务处理过程。在任务处理前,需要先确定各节点服务器的任务分配,可以通过定义的动态分配算法或人为分配的方法进行。
优选的,根据各节点服务器资源占用率及预处理数据对应的任务处理量,为每个节点服务器动态分配处理任务,所述处理任务至少包括任务类型信息、数据库信息。
所述redis指令为一组数据操作指令,redis服务器允许在redis指令中写入参数对象及操作参数,通过创建redis指令到消息队列,设定命令参数方便节点服务器获取指令启动子进程。
S103、当节点服务器轮询监测到对应redis指令,读取所述redis指令中的写入参数,并根据所述参数,调起预处理数据的任务处理进程。
所述节点服务器为可以提供数据处理服务的计算机设备,可以是文件服务器、应用程序服务器等,在此不做限定。所述节点服务器基于任务队列或发布订阅模式,可以轮询监控消息队列或预定频道推送任务中的redis指令,当获取到对应redis指令,解析指令提取指令中参数,调起子进程中对应数据处理任务。
可选的,在redis指令中实时写入任务执行状态,通过将redis指令添加至消息中间体中反馈任务状态信息。
优选的,主进程获取节点服务器写入的redis指令,判断节点服务器中对应的数据处理任务是否执行完毕,当节点服务器中数据处理任务执行完毕,再通过对应的redis指令更新任务状态。将节点服务器中对应任务执行状态写入redis指令,主进程获取任务执行状态,可以实时获取节点服务器中任务执行进度,方便任务合理分配。
本实施例提供的方法,主进程通过消息中间件写入指令,子节点轮询监控指令并启动子节点服务器的业务处理进程,并将执行状态通过redis指令反馈到主控进程。可以实现任务合理高效调度分配,保障服务端的数据处理效率。同时,处理数据与处理指令推送,可以方便调度,降低任务处理时延。
实施例二:
图2为本发明实施例二提供的分布式任务调度系统的结构示意图,包括:
分发模块210,用于接收到客户端业务处理请求后,基于文件传输协议将预处理数据分发至对应的节点服务器;
创建模块220,用于根据节点服务器分配的处理任务,创建redis指令放入消息队列中;
可选的,所述根据节点服务器分配的处理任务具体为:
根据各节点服务器资源占用率及预处理数据对应的任务处理量,为每个节点服务器动态分配处理任务,所述处理任务至少包括任务类型信息、数据库信息。
执行模块230,用于当节点服务器轮询监测到对应redis指令,读取所述redis指令中的写入参数,并根据所述参数,调起预处理数据的任务处理进程。
可选的,所述执行模块230还包括:
反馈模块,用于在redis指令中实时写入任务执行状态,通过将redis指令添加至消息中间体中反馈任务状态信息,
可选的,所述通过将redis指令添加至消息中间体中反馈任务状态信息具体为:
主进程获取节点服务器写入的redis指令,判断节点服务器中对应的数据处理任务是否执行完毕,当节点服务器中数据处理任务执行完毕,再通过对应的redis指令更新任务状态。
在实施例提供的装置中,先通过分发模块完成预处理数据的推送,然后在创建模块对应的主程序中通过redis指令发布任务,基于数据与指令分开推送,通过修改指令配置即可实现任务调度,网络及内存开销小,可有效降低任务分配及执行的时延。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种分布式任务调度方法,其特征在于,包括;
接收到客户端业务处理请求后,基于文件传输协议将预处理数据分发至对应的节点服务器;
根据节点服务器分配的处理任务,创建redis指令放入消息队列中;
当节点服务器轮询监测到对应redis指令,读取所述redis指令中的写入参数,并根据所述参数,调起预处理数据的任务处理进程;
其中,所述根据所述参数,调起预处理数据的任务处理进程还包括:
在redis指令中实时写入任务执行状态,通过将redis指令添加至消息中间体中反馈任务状态信息。
2.根据权利要求1所述的方法,其特征在于,所述根据节点服务器分配的处理任务具体为:
根据各节点服务器资源占用率及预处理数据对应的任务处理量,为每个节点服务器动态分配处理任务,所述处理任务至少包括任务类型信息、数据库信息。
3.根据权利要求1所述的方法,其特征在于,所述通过将redis指令添加至消息中间体中反馈任务状态信息具体为:
主进程获取节点服务器写入的redis指令,判断节点服务器中对应的数据处理任务是否执行完毕,当节点服务器中数据处理任务执行完毕,再通过对应的redis指令更新任务状态。
4.一种分布式任务调度系统,其特征在于,包括:
分发模块,用于接收到客户端业务处理请求后,基于文件传输协议将预处理数据分发至对应的节点服务器;
创建模块,用于根据节点服务器分配的处理任务,创建redis指令放入消息队列中;
执行模块,用于当节点服务器轮询监测到对应redis指令,读取所述redis指令中的写入参数,并根据所述参数,调起预处理数据的任务处理进程;
其中,所述执行模块还包括:
反馈模块,用于在redis指令中实时写入任务执行状态,通过将redis指令添加至消息中间体中反馈任务状态信息。
5.根据权利要求4所述的系统,其特征在于,所述根据节点服务器分配的处理任务具体为:
根据各节点服务器资源占用率及预处理数据对应的任务处理量,为每个节点服务器动态分配处理任务,所述处理任务至少包括任务类型信息、数据库信息。
6.根据权利要求4所述的系统,其特征在于,所述通过将redis指令添加至消息中间体中反馈任务状态信息具体为:
主进程获取节点服务器写入的redis指令,判断节点服务器中对应的数据处理任务是否执行完毕,当节点服务器中数据处理任务执行完毕,再通过对应的redis指令更新任务状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026996.2A CN110750349B (zh) | 2019-10-26 | 2019-10-26 | 一种分布式任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026996.2A CN110750349B (zh) | 2019-10-26 | 2019-10-26 | 一种分布式任务调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750349A CN110750349A (zh) | 2020-02-04 |
CN110750349B true CN110750349B (zh) | 2022-07-29 |
Family
ID=69280186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911026996.2A Active CN110750349B (zh) | 2019-10-26 | 2019-10-26 | 一种分布式任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750349B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367688B (zh) * | 2020-02-28 | 2024-10-18 | 京东科技控股股份有限公司 | 一种业务数据的处理方法和装置 |
CN112615912B (zh) * | 2020-12-11 | 2022-07-12 | 中国建设银行股份有限公司 | 一种节点调度处理方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615487A (zh) * | 2015-01-12 | 2015-05-13 | 中国科学院计算机网络信息中心 | 并行任务优化系统和方法 |
CN105824697A (zh) * | 2016-03-23 | 2016-08-03 | 浪潮通信信息系统有限公司 | 一种基于队列的分布式多级调度方法 |
CN107613025A (zh) * | 2017-10-31 | 2018-01-19 | 武汉光迅科技股份有限公司 | 一种基于消息队列顺序回复的实现方法和装置 |
CN107665144A (zh) * | 2016-07-29 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 分布式任务的均衡调度中心、方法、系统和装置 |
CN109271243A (zh) * | 2018-08-31 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种集群任务管理系统 |
CN110311938A (zh) * | 2018-11-08 | 2019-10-08 | 林德(中国)叉车有限公司 | 基于redis的请求处理方法、装置、网关及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031320A1 (en) * | 2004-06-17 | 2006-02-09 | International Business Machines Corporation | Electronic mail distribution system for permitting the sender of electronic mail to control the redistribution of sent electronic mail messages |
CN105450618B (zh) * | 2014-09-26 | 2019-06-04 | Tcl集团股份有限公司 | 一种api服务器处理大数据的运算方法及其系统 |
CN106888218A (zh) * | 2017-04-01 | 2017-06-23 | 网易(杭州)网络有限公司 | 消息处理方法、装置、客户端及服务端 |
CN108694075B (zh) * | 2017-04-12 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 处理报表数据的方法、装置、电子设备和可读存储介质 |
-
2019
- 2019-10-26 CN CN201911026996.2A patent/CN110750349B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615487A (zh) * | 2015-01-12 | 2015-05-13 | 中国科学院计算机网络信息中心 | 并行任务优化系统和方法 |
CN105824697A (zh) * | 2016-03-23 | 2016-08-03 | 浪潮通信信息系统有限公司 | 一种基于队列的分布式多级调度方法 |
CN107665144A (zh) * | 2016-07-29 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 分布式任务的均衡调度中心、方法、系统和装置 |
CN107613025A (zh) * | 2017-10-31 | 2018-01-19 | 武汉光迅科技股份有限公司 | 一种基于消息队列顺序回复的实现方法和装置 |
CN109271243A (zh) * | 2018-08-31 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种集群任务管理系统 |
CN110311938A (zh) * | 2018-11-08 | 2019-10-08 | 林德(中国)叉车有限公司 | 基于redis的请求处理方法、装置、网关及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110750349A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7112919B2 (ja) | スマート装置のタスク処理方法および装置 | |
US20070024898A1 (en) | System and method for executing job step, and computer product | |
CN110750349B (zh) | 一种分布式任务调度方法及系统 | |
CN110489139B (zh) | 一种基于微服务的实时数据处理方法及其相关设备 | |
CN103200350A (zh) | 一种非线性云编辑方法 | |
WO2024066828A1 (zh) | 一种数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
JP2017168074A (ja) | データ伝送制御方法及び装置 | |
CN112559461A (zh) | 文件传输方法及装置、存储介质及电子设备 | |
CN111400041A (zh) | 服务器配置文件的管理方法、装置及计算机可读存储介质 | |
CN113485806A (zh) | 处理任务的方法、装置、设备和计算机可读介质 | |
CN113434282A (zh) | 流计算任务的发布、输出控制方法及装置 | |
CN114760304B (zh) | 算力信息的处理方法、处理系统及算力网关 | |
CN108111630B (zh) | 一种Zookeeper集群系统及其连接方法和系统 | |
CN116048825A (zh) | 容器集群构建方法及系统 | |
CN113608765A (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN110750362A (zh) | 生物信息的分析方法、装置和存储介质 | |
CN111477229B (zh) | 语音识别请求处理方法和装置 | |
CN111176848B (zh) | 集群任务的处理方法、装置、设备和存储介质 | |
CN114416275A (zh) | 一种实现多个管理客户端同步虚拟机状态的方法及系统 | |
CN114546631A (zh) | 任务调度方法、控制方法、核心、电子设备、可读介质 | |
CN113472638A (zh) | 边缘网关控制方法及系统、装置、电子设备、存储介质 | |
CN107463562A (zh) | 一种信息处理方法、系统及服务器 | |
CN107491448A (zh) | 一种HBase资源调整方法和装置 | |
US20060203813A1 (en) | System and method for managing a main memory of a network server | |
CN110750798A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |