CN109450979A - 一种分布式动态任务执行方法及主服务节点端 - Google Patents

一种分布式动态任务执行方法及主服务节点端 Download PDF

Info

Publication number
CN109450979A
CN109450979A CN201811179845.6A CN201811179845A CN109450979A CN 109450979 A CN109450979 A CN 109450979A CN 201811179845 A CN201811179845 A CN 201811179845A CN 109450979 A CN109450979 A CN 109450979A
Authority
CN
China
Prior art keywords
task
dynamic
service node
node end
dynamic task
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.)
Granted
Application number
CN201811179845.6A
Other languages
English (en)
Other versions
CN109450979B (zh
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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201811179845.6A priority Critical patent/CN109450979B/zh
Publication of CN109450979A publication Critical patent/CN109450979A/zh
Application granted granted Critical
Publication of CN109450979B publication Critical patent/CN109450979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供一种分布式动态任务执行方法及主服务节点端,该方法包括:主服务节点端接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将动态任务发送至远程任务队列,使得次服务节点端轮询远程任务队列后获得动态任务,并将动态任务放入相应的本地任务队列;主服务节点端判断动态任务的任务执行时间不大于次服务节点端的轮询间隔时间后,则在经过任务执行时间后执行动态任务。本发明的主服务节点端在生成动态任务后,可以将其放入自己的本地任务队列并同步至次服务节点端的本地任务队列,由于主服务节点端不需经过轮询则可拥有该动态任务,当动态任务的任务执行时间小于次服务节点的轮询间隔时间时,则可以及时执行该动态任务。

Description

一种分布式动态任务执行方法及主服务节点端
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式动态任务执行方法及主服务节点端。
背景技术
在游戏开发业务场景中,服务后台端由于用户的需求随时有大量任务产生,任务是动态产生的,即任务需要在未来某个时间点确保一定执行,并且可按照用户操作进度取消任务的执行,例如,轮到用户出牌时,产生一个任务在指定时间后检查用户是否出牌,没有出牌则设置用户状态为托管,用户在指定时间内有出牌操作,则取消该任务的执行。
目前,服务后台端负责对所有任务进行调度,其将任务分配至不同的服务节点中进行执行,而服务节点是通过轮询任务库的方式进行任务执行的,即每隔一段时间在任务库中抓取相应的任务进行执行,当某些任务的执行时间小于节点的轮询间隔时间时,则会导致任务无法及时执行,系统的任务执行效率低下。
发明内容
本发明实施例提供了一种分布式动态任务执行方法及主服务节点端,能够确保动态任务的准时执行。
根据本发明的一个方面,提供一种分布式动态任务执行方法,包括:
主服务节点端接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将所述动态任务发送至远程任务队列,使得次服务节点端轮询所述远程任务队列后获得所述动态任务,并将所述动态任务放入相应的本地任务队列;
主服务节点端判断所述动态任务的任务执行时间不大于所述次服务节点端的轮询间隔时间后,则在经过所述任务执行时间后执行所述动态任务。
优选地,本发明提供的一种分布式动态任务执行方法还包括:
主服务节点端判断所述动态任务的任务执行时间大于所述次服务节点端的轮询间隔时间后,向redis集群请求执行权,使得第一个成功获得执行权的服务节点端在经过所述任务执行时间后执行所述动态任务。
优选地,所述向redis集群请求执行权,使得第一个成功获得执行权的服务节点端在经过所述任务执行时间后执行所述动态任务具体为:
向redis集群写入任务执行锁,使得第一个成功写入所述任务执行锁的服务节点端在经过所述任务执行时间后执行所述动态任务。
优选地,主服务节点端判断所述动态任务的任务执行时间不大于所述次服务节点端的轮询间隔时间之后还包括:
若所述主服务节点端故障,所述主服务节点端保持所述动态任务的预置标识参数不变,使得所述次服务节点端根据所述预置标识参数的值确定所述动态任务未执行后,向redis集群写入任务执行锁,以使第一个成功写入所述任务执行锁的服务节点端在经过所述任务执行时间后执行所述动态任务。
优选地,所述动态任务被执行后还包括:
若所述动态任务执行成功,修改所述动态任务的所述预置标识参数的值,使得所有服务节点端均清除相应的所述本地任务队列上的所述动态任务。
优选地,所述动态任务被执行后还包括:
若所述动态任务执行失败,保持所述动态任务的所述预置标识参数不变,判断所述预置标识参数的值是否满足预置条件,若是,则重新执行,若不是,则不再执行。
优选地,本发明提供的一种分布式动态任务执行方法还包括:
所述主服务节点端在等待所述动态任务的所述任务执行时间时,若接收到用户对所述动态任务的取消请求,则生成取消任务后放入相应的本地取消任务队列并执行,然后将所述取消任务发送至远程取消任务队列,使得所述次服务节点端轮询所述远程取消任务队列后获得所述取消任务,将所述动态任务放入相应的本地任务队列并执行。
根据本发明的另一方面,提供一种主服务节点端,包括:
任务生成模块,用于接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将所述动态任务发送至远程任务队列,使得次服务节点端轮询所述远程任务队列后获得所述动态任务,并将所述动态任务放入相应的本地任务队列;
任务执行模块,用于判断所述动态任务的任务执行时间不大于所述次服务节点端的轮询间隔时间后,则在经过所述任务执行时间后执行所述动态任务。
根据本发明的另一方面,提供一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序指令,当所述程序指令被处理器执行时实现如以上所述的分布式动态任务执行方法。
根据本发明的另一方面,提供一种计算机可读存储介质,所述介质上存储有计算机程序指令,当所述程序指令被处理器执行时实现如以上所述的分布式动态任务执行方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明提供一种分布式动态任务执行方法及主服务节点端,该方法包括:主服务节点端接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将动态任务发送至远程任务队列,使得次服务节点端轮询远程任务队列后获得动态任务,并将动态任务放入相应的本地任务队列;主服务节点端判断动态任务的任务执行时间不大于次服务节点端的轮询间隔时间后,则在经过任务执行时间后执行动态任务。本发明的主服务节点端在生成动态任务后,可以将其放入自己的本地任务队列并同步至次服务节点端的本地任务队列,由于主服务节点端不需经过轮询则可拥有该动态任务,当动态任务的任务执行时间小于次服务节点的轮询间隔时间时,则可以及时执行该动态任务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的一种分布式动态任务执行方法的一个实施例的流程示意图;
图2为本发明提供的一种分布式动态任务执行方法的另一个实施例的流程示意图;
图3为本发明提供的一种分布式动态任务执行方法的又一个实施例的流程示意图;
图4为本发明提供的一种主服务节点端的一个实施例的结构示意图;
图5为本发明提供的一种主服务节点端的另一个实施例的结构示意图。
具体实施方式
本发明实施例提供了一种分布式动态任务执行方法及主服务节点端,能够确保动态任务的准时执行。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明提供的一种分布式动态任务执行方法的一个实施例,包括:
101、主服务节点端接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将动态任务发送至远程任务队列,使得次服务节点端轮询远程任务队列后获得动态任务,并将动态任务放入相应的本地任务队列;
需要说明的是,本发明实施例是在redis集群的众多节点进行的。本实施例中的主服务节点端和次服务节点端均为redis集群中的节点,其本质上并没有区别。每个节点对应着一群客户端,当某个用户发出任务请求后,其对应的服务节点端则作为主服务节点端,其余的节点则作为次服务节点端。
当用户发出任务请求后,主服务节点端可以根据该任务请求生成对应的动态任务,该动态任务通常包含任务执行数据和任务执行时间,然后将该动态任务放入主服务节点端的本地任务队列,并将该动态任务发送至远程任务队列。需要说明的是,该远程任务队列可以被各个服务节点端进行轮询,以获取各个服务节点需要同步到各自本地任务队列的任务。
次服务节点端则会以轮询的方式在远程任务队列中获取该动态任务,得到该动态任务后则会放入次服务节点端的本地任务队列中。
102、主服务节点端判断动态任务的任务执行时间不大于次服务节点端的轮询间隔时间后,则在经过任务执行时间后执行动态任务。
在本实施例中,通常动态任务的任务执行时间是指在多少时间后执行该任务,如该动态任务的任务执行时间为2S,次服务节点端的轮询间隔时间为5S,即每隔5S访问一次远程任务队列,由于动态任务的任务执行时间小于该轮询间隔时间,而为了保证任务的准时执行,主服务节点端在确定任务执行时间小于轮询间隔时间后,则在2S后直接执行本地队列中的动态任务,故避免了传统方式由于轮询间隔时间导致的任务延时执行的情况发生。
本发明的主服务节点端在生成动态任务后,可以将其放入自己的本地任务队列并同步至次服务节点端的本地任务队列,由于主服务节点端不需经过轮询则可拥有该动态任务,当动态任务的任务执行时间小于次服务节点的轮询间隔时间时,则可以及时执行该动态任务。
以上为一种分布式动态任务执行方法的一个实施例,为进行更具体的说明,下面提供一种分布式动态任务执行方法的另一个实施例,请参阅图2,本发明提供的一种分布式动态任务执行方法的另一个实施例,包括:
201、主服务节点端接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将动态任务发送至远程任务队列,使得次服务节点端轮询远程任务队列后获得动态任务,并将动态任务放入相应的本地任务队列;
需要说明的是,次服务节点端在轮询远程任务队列后获得动态任务,会判断本地任务队列上的负载是否超过预置的负载阈值,若超过了,则不将该动态任务放入本地任务队列。通常次服务节点端有多个,负载超过阈值的节点一般为少数,即动态任务还是可以同步至大多数次服务节点端的本地任务队列中,以保证动态任务在多个服务节点都有执行副本,确定一定执行。
202、主服务节点端判断动态任务的任务执行时间是否大于次服务节点端的轮询间隔时间,若不大于,则执行203,若大于,则执行204;
203、在经过任务执行时间后执行动态任务;
主服务节点端可以作为该动态任务的优先执行者,即在该动态任务的任务执行时间不大于次服务节点端的轮询间隔时间时,主服务节点端会在时间到点时直接执行该动态任务。
204、向redis集群请求执行权,使得第一个成功获得执行权的服务节点端在经过任务执行时间后执行动态任务;
若动态任务的任务执行时间大于次服务节点端的轮询间隔时间时,则主服务节点端会向redis集群请求执行权,同时,次服务节点端也会向redis集群请求执行权,第一个成功获得执行权的服务节点端在经过任务执行时间后可以执行动态任务。
具体的,本实施例中主服务节点端请求执行权的方式可以为:向redis集群写入任务执行锁,使得第一个成功写入任务执行锁的服务节点端在经过任务执行时间后执行动态任务。可以理解的是,通过redis集群的原子性操作,第一个成功写入任务执行锁的服务节点端获得任务的执行权。
205、若主服务节点端故障,主服务节点端保持动态任务的预置标识参数不变,使得次服务节点端根据预置标识参数的值确定动态任务未执行后,向redis集群写入任务执行锁,以使第一个成功写入任务执行锁的服务节点端在经过任务执行时间后执行动态任务;
在判断动态任务的任务执行时间不大于轮询间隔时间后,若主服务节点端会因为某种因素发生故障,此时次服务节点端可以作为备用节点进行动态任务的执行。需要说明的是,动态任务在生成时,其本身具备一个预置标识参数,各个服务节点端在获取动态任务后,会确定这个参数的值,如果该参数的值一直保持不变,则表明该动态任务未完成执行。
因此,当主服务节点端在任务未完成执行前故障时,次服务节点端在特定的时间点(即该动态任务本应该完成的时间点)确定动态任务未执行后,则会向redis集群写入任务执行锁,以使第一个成功写入任务执行锁的服务节点端在经过任务执行时间后执行动态任务。
206、若动态任务执行成功,修改动态任务的预置标识参数的值,使得所有服务节点端均清除相应的本地任务队列上的动态任务;
无论是主服务节点端或是第一个成功写入任务执行锁的服务节点端,在成功执行完动态任务后,即会修改动态任务的预置标识参数的值,所有服务节点端则可以清除相应的本地任务队列上的动态任务,以确保任务成功且仅执行一次。
207、若动态任务执行失败,保持动态任务的预置标识参数不变,判断预置标识参数的值是否满足预置条件,若是,则重新执行,若不是,则不再执行。
无论是主服务节点端或是第一个成功写入任务执行锁的服务节点端,在执行动态任务失败后,则会保持动态任务的预置标识参数不变,并根据该动态任务的预置标识参数判断是否需要重新执行,如该参数的值为A,若其落入范围B内,则重新执行,若其落于范围B外,则不重新执行。
以上是对动态任务确定要执行的情况进行的说明,而在实际应用中,有可能用户会取消该动态任务的执行,如上述动态任务为剪刀石头布游戏的托管任务,当在执行托管的时间点前,用户出牌了,则需要取消托管任务的执行。因此,请参阅图3,以下将以本发明提供的一种分布式动态任务执行方法的又一个实施例进行说明:
301、主服务节点端接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将动态任务发送至远程任务队列,使得次服务节点端轮询远程任务队列后获得动态任务,并将动态任务放入相应的本地任务队列;
302、主服务节点端判断动态任务的任务执行时间不大于次服务节点端的轮询间隔时间后,在等待动态任务的任务执行时间时,若接收到用户对动态任务的取消请求,则生成取消任务后放入相应的本地取消任务队列并执行,然后将取消任务发送至远程取消任务队列,使得次服务节点端轮询远程取消任务队列后获得取消任务,将动态任务放入相应的本地任务队列并执行。
可以理解的是,当服务节点端执行该取消任务后,则会取消本地任务队列上的动态任务。
本发明实施例还提供了动态任务的取消机制,确保服务节点资源的合理利用,避免执行无效任务。
以上是对本发明提供的一种分布式动态任务执行方法进行的详细说明,以下将对本发明提供的一种主服务节点端进行说明,请参阅图4,本发明提供的一种主服务节点端的一个实施例包括:
任务生成模块401,用于接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将动态任务发送至远程任务队列,使得次服务节点端轮询远程任务队列后获得动态任务,并将动态任务放入相应的本地任务队列;
任务执行模块402,用于判断动态任务的任务执行时间不大于次服务节点端的轮询间隔时间后,则在经过任务执行时间后执行动态任务。
本发明的主服务节点端在生成动态任务后,可以将其放入自己的本地任务队列并同步至次服务节点端的本地任务队列,由于主服务节点端不需经过轮询则可拥有该动态任务,当动态任务的任务执行时间小于次服务节点的轮询间隔时间时,则可以及时执行该动态任务。
以上为一种主服务节点端的一个实施例,为进行更具体的说明,下面提供一种主服务节点端的另一个实施例,请参阅图2,本发明提供的一种主服务节点端的另一个实施例,包括:
任务生成模块501,用于接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将动态任务发送至远程任务队列,使得次服务节点端轮询远程任务队列后获得动态任务,并将动态任务放入相应的本地任务队列;
任务执行模块502,用于判断动态任务的任务执行时间不大于次服务节点端的轮询间隔时间后,则在经过任务执行时间后执行动态任务。
更进一步地,本发明实施例提供的一种主服务节点端还包括:
执行权请求模块503,用于判断动态任务的任务执行时间大于次服务节点端的轮询间隔时间后,向redis集群请求执行权,使得第一个成功获得执行权的服务节点端在经过任务执行时间后执行动态任务。
更进一步地,执行权请求模块503还用于判断动态任务的任务执行时间大于次服务节点端的轮询间隔时间后,向redis集群写入任务执行锁,使得第一个成功写入任务执行锁的服务节点端在经过任务执行时间后执行动态任务。
更进一步地,本发明实施例提供的一种主服务节点端还包括:
故障操作模块504,用于若主服务节点端故障,保持动态任务的预置标识参数不变,使得次服务节点端根据预置标识参数的值确定动态任务未执行后,向redis集群写入任务执行锁,以使第一个成功写入任务执行锁的服务节点端在经过任务执行时间后执行动态任务。
更进一步地,本发明实施例提供的一种主服务节点端还包括:
参数修改模块505,用于若动态任务执行成功,修改动态任务的预置标识参数的值,使得所有服务节点端均清除相应的本地任务队列上的动态任务。
更进一步地,本发明实施例提供的一种主服务节点端还包括:
参数保持模块506,用于若动态任务执行失败,保持动态任务的预置标识参数不变,判断预置标识参数的值是否满足预置条件,若是,则重新执行,若不是,则不再执行。
更进一步地,本发明实施例提供的一种主服务节点端还包括:
任务取消模块507,用于主服务节点端在等待动态任务的任务执行时间时,若接收到用户对动态任务的取消请求,则生成取消任务后放入相应的本地取消任务队列并执行,然后将取消任务发送至远程取消任务队列,使得次服务节点端轮询远程取消任务队列后获得取消任务,将动态任务放入相应的本地任务队列并执行。
本发明还涉及一种电子设备,包括处理器和存储器,存储器上存储有计算机程序指令,当程序指令被处理器执行时实现如以上所述的分布式动态任务执行方法。
本发明还涉及一种计算机可读存储介质,介质上存储有计算机程序指令,当程序指令被处理器执行时实现如以上所述的分布式动态任务执行方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种分布式动态任务执行方法,其特征在于,包括:
主服务节点端接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将所述动态任务发送至远程任务队列,使得次服务节点端轮询所述远程任务队列后获得所述动态任务,并将所述动态任务放入相应的本地任务队列;
主服务节点端判断所述动态任务的任务执行时间不大于所述次服务节点端的轮询间隔时间后,则在经过所述任务执行时间后执行所述动态任务。
2.根据权利要求1所述的分布式动态任务执行方法,其特征在于,还包括:
主服务节点端判断所述动态任务的任务执行时间大于所述次服务节点端的轮询间隔时间后,向redis集群请求执行权,使得第一个成功获得执行权的服务节点端在经过所述任务执行时间后执行所述动态任务。
3.根据权利要求2所述的分布式动态任务执行方法,其特征在于,所述向redis集群请求执行权,使得第一个成功获得执行权的服务节点端在经过所述任务执行时间后执行所述动态任务具体为:
向redis集群写入任务执行锁,使得第一个成功写入所述任务执行锁的服务节点端在经过所述任务执行时间后执行所述动态任务。
4.根据权利要求3所述的分布式动态任务执行方法,其特征在于,主服务节点端判断所述动态任务的任务执行时间不大于所述次服务节点端的轮询间隔时间之后还包括:
若所述主服务节点端故障,所述主服务节点端保持所述动态任务的预置标识参数不变,使得所述次服务节点端根据所述预置标识参数的值确定所述动态任务未执行后,向redis集群写入任务执行锁,以使第一个成功写入所述任务执行锁的服务节点端在经过所述任务执行时间后执行所述动态任务。
5.根据权利要求4所述的分布式动态任务执行方法,其特征在于,所述动态任务被执行后还包括:
若所述动态任务执行成功,修改所述动态任务的所述预置标识参数的值,使得所有服务节点端均清除相应的所述本地任务队列上的所述动态任务。
6.根据权利要求5所述的分布式动态任务执行方法,其特征在于,所述动态任务被执行后还包括:
若所述动态任务执行失败,保持所述动态任务的所述预置标识参数不变,判断所述预置标识参数的值是否满足预置条件,若是,则重新执行,若不是,则不再执行。
7.根据权利要求1所述的分布式动态任务执行方法,其特征在于,还包括:
所述主服务节点端在等待所述动态任务的所述任务执行时间时,若接收到用户对所述动态任务的取消请求,则生成取消任务后放入相应的本地取消任务队列并执行,然后将所述取消任务发送至远程取消任务队列,使得所述次服务节点端轮询所述远程取消任务队列后获得所述取消任务,将所述动态任务放入相应的本地任务队列并执行。
8.一种主服务节点端,其特征在于,包括:
任务生成模块,用于接收到用户的任务请求后,生成动态任务并放入相应的本地任务队列,然后将所述动态任务发送至远程任务队列,使得次服务节点端轮询所述远程任务队列后获得所述动态任务,并将所述动态任务放入相应的本地任务队列;
任务执行模块,用于判断所述动态任务的任务执行时间不大于所述次服务节点端的轮询间隔时间后,则在经过所述任务执行时间后执行所述动态任务。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序指令,当所述程序指令被处理器执行时实现如权利要求1至权利要求7中任一项所述的分布式动态任务执行方法。
10.一种计算机可读存储介质,其特征在于,所述介质上存储有计算机程序指令,当所述程序指令被处理器执行时实现如权利要求1至权利要求7中任一项所述的分布式动态任务执行方法。
CN201811179845.6A 2018-10-10 2018-10-10 一种分布式动态任务执行方法及相关装置 Active CN109450979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811179845.6A CN109450979B (zh) 2018-10-10 2018-10-10 一种分布式动态任务执行方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811179845.6A CN109450979B (zh) 2018-10-10 2018-10-10 一种分布式动态任务执行方法及相关装置

Publications (2)

Publication Number Publication Date
CN109450979A true CN109450979A (zh) 2019-03-08
CN109450979B CN109450979B (zh) 2020-12-04

Family

ID=65544962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811179845.6A Active CN109450979B (zh) 2018-10-10 2018-10-10 一种分布式动态任务执行方法及相关装置

Country Status (1)

Country Link
CN (1) CN109450979B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971700A (zh) * 2019-12-10 2020-04-07 腾讯云计算(北京)有限责任公司 分布式锁的实现方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395536B2 (en) * 2002-11-14 2008-07-01 Sun Microsystems, Inc. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
CN105915633A (zh) * 2016-06-02 2016-08-31 北京百度网讯科技有限公司 自动化运维系统和方法
CN107273200A (zh) * 2017-06-22 2017-10-20 中国科学院计算技术研究所 一种针对异构存储的任务调度方法
CN108376363A (zh) * 2018-02-13 2018-08-07 平安科技(深圳)有限公司 一种对账差异处理方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395536B2 (en) * 2002-11-14 2008-07-01 Sun Microsystems, Inc. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
CN105915633A (zh) * 2016-06-02 2016-08-31 北京百度网讯科技有限公司 自动化运维系统和方法
CN107273200A (zh) * 2017-06-22 2017-10-20 中国科学院计算技术研究所 一种针对异构存储的任务调度方法
CN108376363A (zh) * 2018-02-13 2018-08-07 平安科技(深圳)有限公司 一种对账差异处理方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王蔚等: "基于Cavium平台的任务队列模式研究", 《第十届中国通信学会学术年会论文集》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971700A (zh) * 2019-12-10 2020-04-07 腾讯云计算(北京)有限责任公司 分布式锁的实现方法及装置

Also Published As

Publication number Publication date
CN109450979B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
EP3761170B1 (en) Virtual machine creation method and apparatus
US10503555B2 (en) Selecting type and quantity of application masters that need to be started in advance
US8533731B2 (en) Apparatus and method for distrubuting complex events based on correlations therebetween
CN102222042B (zh) 基于云计算的软件自动化测试方法
US7774785B2 (en) Cluster code management
CN110389843B (zh) 一种业务调度方法、装置、设备及可读存储介质
US10108463B2 (en) System, method of controlling to execute a job, and apparatus
US9201691B2 (en) Method, apparatus and system for coordinating execution of tasks in a computing system having a distributed shared memory
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
CN110716793A (zh) 一种分布式事务的执行方法、装置、设备及存储介质
CN104461705B (zh) 一种业务访问的方法及存储控制器、集群存储系统
CN105740085A (zh) 容错处理方法及装置
CN106897299A (zh) 一种数据库访问方法及装置
CN106789308A (zh) 一种微服务架构可自动伸缩的gis服务装置及其控制方法
US20140149994A1 (en) Parallel computer and control method thereof
CN109450979A (zh) 一种分布式动态任务执行方法及主服务节点端
CN107465725B (zh) 基于客户信息控制系统的异构长事务处理系统及方法
KR102053849B1 (ko) 항공기 시스템 및 그것의 제어 방법
CN111026532B (zh) 用于语音数据的消息队列管理方法
CN106371919B (zh) 一种基于映射-归约计算模型的洗牌数据缓存方法
CN102868594B (zh) 一种消息处理方法和装置
CN106776076B (zh) 一种实现MongoDB事务管理的方法及系统
US10417040B2 (en) Job scheduler test program, job scheduler test method, and information processing apparatus
KR20220118756A (ko) 분리된 데이터 센터 자원 관리 방법 및 장치
CN112604267A (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
TR01 Transfer of patent right

Effective date of registration: 20210111

Address after: 510000 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 28th floor, block B1, Wanda Plaza, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190308

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: A distributed dynamic task execution method and related device

Granted publication date: 20201204

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract