CN107688489B - 一种调度任务的方法和系统 - Google Patents

一种调度任务的方法和系统 Download PDF

Info

Publication number
CN107688489B
CN107688489B CN201610626909.7A CN201610626909A CN107688489B CN 107688489 B CN107688489 B CN 107688489B CN 201610626909 A CN201610626909 A CN 201610626909A CN 107688489 B CN107688489 B CN 107688489B
Authority
CN
China
Prior art keywords
message
queue
task
fault
retry
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
Application number
CN201610626909.7A
Other languages
English (en)
Other versions
CN107688489A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610626909.7A priority Critical patent/CN107688489B/zh
Publication of CN107688489A publication Critical patent/CN107688489A/zh
Application granted granted Critical
Publication of CN107688489B publication Critical patent/CN107688489B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种调度任务的方法和系统,由于采用了消息队列,实现多台服务器同时处理任务,在提高了任务的吞吐量的同时也避免了单台服务器单任务串行处理的弊端;并且在任务处理失败率增高时,能够切换到不同机房对应的消息队列,提高了任务调度系统的容灾能力。本发明的方法包括:保存模块保存消息队列与执行模块之间的关联关系;生成模块在当有任务需要处理时,生成该任务的任务消息;确定模块根据预设的消息存放规则确定任务消息所属的消息队列,然后将任务消息存入消息队列中;执行模块监听与该执行模块之间有关联关系的消息队列的通知消息,在监听到通知消息后获取消息队列中的任务消息,然后在获取到该任务消息后将该任务消息发送给供应商。

Description

一种调度任务的方法和系统
技术领域
本发明涉及计算机及其软件技术领域,特别涉及一种调度任务的方法和系统。
背景技术
随着电商的快速发展,其包含的商品的种类也越来越多,所需要的商品的供应商也随之增多,当客户在电商客户端下了订单后,电商后台会根据客户的订单调用对应的供应商接口,将订单的相关信息发送给供应商。通常当订单任务满足自动执行条件时,电商平台的任务调度系统需要按照设定好的步骤去自动处理,此时会用到基于时间调度任务的场景,在这些场景中需要实现在特定时间点或者时间间隔内运行任务程序的功能。当存在大量的任务需要处理时,单任务处理模式势必降低数据处理能力。
现有的技术方案中,通常引入开源工具包Quartz实现任务的定时调度,同时可以通过配置文件调整定时参数以实现任务调度系统启动后(如果有多台机器,也只能启动在指定的一台机器上)可以自行工作。任务调度系统启动后需要根据所设置的定时时间运行,每一次运行时从数据库中获取一个区间的数据作为处理的对象,并且无论数据库中是否有数据都需要扫描一次。任务调度系统在获取到数据后需要一个一个的处理,处理完一个再执行下一个;这一批数据处理完后待定时任务下一次触发再继续上一流程。
综上所述,现有技术存在以下缺点:
1.根据Quartz调度组件只能启动一台服务器对任务进行串行处理,因而在任务较多时,不仅降低了处理任务的吞吐量,而且同时导致其他服务器因得不到利用从而产生资源浪费;
2.不管数据库中是否存在需要处理的数据,任务调度系统都会按照设定的时间周期对数据库进行扫描,因而在没有数据要处理时就会造成资源浪费;
3.任务调度系统在任务失败率高的情况下需要重试,重试任务会降低整体处理的效率;
4.不支持跨机房任务并行处理,容易产生单点故障,并且系统容灾能力差,不能自动切换机房。
发明内容
有鉴于此,本发明提供一种调度任务的方法和系统,由于采用了消息队列,能够实现多台服务器同时处理任务,不仅提高了任务的吞吐量,而且还解决单台服务器单任务串行处理的弊端;同时避免了定时扫描数据库的问题,提高了资源利用利用率;同时,在任务量增加,网络不稳定等因素导致任务处理失败率增高时,能够自动切换到不同机房所对应的消息队列,弥补了单机房的短板,不仅解决了单点问题,而且还提高了任务调度系统的容灾能力。
为实现上述目的,根据本发明的一个方面,提供了一种调度任务的方法。
本发明的调度任务的方法,包括:保存模块保存消息队列与执行模块之间的关联关系;生成模块在当有任务需要处理时,生成该任务的任务消息;确定模块根据预设的消息存放规则确定所述任务消息所属的消息队列,然后将所述任务消息存入所述消息队列中;执行模块监听与该执行模块之间有关联关系的消息队列的通知消息,在监听到通知消息后获取所述消息队列中的任务消息,然后在获取到该任务消息后将该任务消息发送给供应商。
可选地,根据预设的消息存放规则确定所述任务消息所属的消息队列的步骤包括:根据所述任务消息的业务标识确定该业务标识所对应的供应商;在当前记录的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与当前记录的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,并将排在第一位的队列作为所述任务消息存放的消息队列。
可选地,所述获取所述消息队列中的任务消息的步骤之后,还包括:在获取到该任务消息后,锁定该条任务消息。
可选地,所述任务消息包括消息标识;所述将该任务消息发送给供应商的步骤之前,还包括:执行模块根据所述消息标识确认该任务消息的消息类型;所述消息类型包括初次任务消息和非初次任务消息;并且所述将该任务消息发送给供应商的步骤包括:在确认该任务消息的消息类型为初次任务消息的前提下,将该初次任务发送给供应商;在确认该任务消息的消息类型为给初次任务消息的前提下,将该非初次任务发送给供应商。
可选地,执行模块根据所述消息标识确认该任务消息的消息类型的步骤包括:判断缓存中是否包含该消息标识所对应的消息执行参数,若是,则确认该任务消息为非初次任务消息;否则,确认该任务消息为初次任务消息。
可选地,所述确认该任务消息为初始任务消息的步骤之后包括:设置该初次任务消息的消息执行参数,然后将设置好消息执行参数的初次任务消息发送给供应商;所述消息执行参数包括重试阈值。
可选地,所述任务消息包括重试时间间隔;所述确认该任务消息为非初次任务消息的步骤之后包括:根据该非初次任务消息的重试时间间隔确定是否执行该非初次任务消息,如果是,则将该非初次任务消息发送给供应商;否则,生成该非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
可选地,所述将该初次任务消息发送给供应商的步骤之后,还包括:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
可选地,所述将该非初次任务消息发送给供应商的步骤之后,还包括:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
可选地,所述生成所发送的初次任务消息的重试任务消息的步骤之前,还包括:将该初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述初次任务消息;否则,继续执行步骤生成所发送的初次任务消息的重试任务消息。
可选地,所述生成所发送的非初次任务消息的重试任务消息的步骤之前,还包括:将该非初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述非初次任务消息;否则,继续执行步骤生成所发送的非初次任务消息的重试任务消息。
可选地,所述生成所发送的初次任务消息的重试任务消息的步骤之前,还包括:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;并且所述将该重试任务消息放回消息队列中的步骤之前,还包括:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
可选地,所述生成所发送的非初次任务消息的重试任务消息的步骤之前,还包括:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;并且所述将该重试任务消息放回消息队列中的步骤之前,还包括:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
可选地,所述任务消息包括队列标识;根据该连接失败消息更新队列容错数据的步骤包括:将所述任务消息所属的消息队列的队列标识与队列容错数据中的队列标识进行比对,如果比对成功,则将该队列标识所对应的容错数值加1,同时记录该队列标识对应的连接失败的供应商;否则,记录该队列标识以及将该队列标识的容错数值设为1,同时记录该队列标识对应的连接失败的供应商。
可选地,根据更新后的队列容错数据确定有效队列的步骤包括:在更新的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与更新后的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,然后将排在第一位的队列作为所述重试任务消息存放的消息队列。
可选地,记录该队列标识对应的连接失败的供应商的步骤之后,还包括:在首次记录该队列标识与该供应商连接失败的情况下,设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录。
根据本发明的另一个方面,提供了一种调度任务的系统。
本发明的调度任务的系统,包括:保存模块、生成模块、确定模块、以及执行模块;所述保存模块用于保存消息队列与执行模块之间的关联关系;所述生成模块用于在当有任务需要处理时,生成该任务的任务消息;所述确定模块用于根据预设的消息存放规则确定所述任务消息所属的消息队列,然后将所述任务消息存入所述消息队列中;所述执行模块用于监听与该执行模块之间有关联关系的消息队列的通知消息,在监听到通知消息后获取所述消息队列中的任务消息,然后在获取到该任务消息后将该任务消息发送给供应商。
可选地,所述确定模块还用于:根据所述任务消息的业务标识确定该业务标识所对应的供应商;在当前记录的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与当前记录的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,并将排在第一位的队列作为所述任务消息存放的消息队列。
可选地,所述执行模块还用于:在获取到该任务消息后,锁定该条任务消息。
可选地,所述任务消息包括消息标识;所述执行模块还用于根据所述消息标识确认该任务消息的消息类型;所述消息类型包括初次任务消息和非初次任务消息;在确认该任务消息的消息类型为初次任务消息的前提下,将该初次任务发送给供应商;在确认该任务消息的消息类型为给初次任务消息的前提下,将该非初次任务发送给供应商。
可选地,所述执行模块还用于:判断缓存中是否包含该消息标识所对应的消息执行参数,若是,则确认该任务消息为非初次任务消息;否则,确认该任务消息为初次任务消息。
可选地,所述执行模块还用于:设置该初次任务消息的消息执行参数,然后将设置好消息执行参数的初次任务消息发送给供应商;所述消息执行参数包括重试阈值。
可选地,所述任务消息包括重试时间间隔;所述执行模块还用于:根据该非初次任务消息的重试时间间隔确定是否执行该非初次任务消息,如果是,则将该非初次任务消息发送给供应商;否则,生成该非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
可选地,所述执行模块还用于:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
可选地,所述执行模块还用于:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
可选地,所述执行模块还用于:将该初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述初次任务消息;否则,继续执行步骤生成所发送的初次任务消息的重试任务消息。
可选地,所述执行模块还用于:将该非初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述非初次任务消息;否则,继续执行步骤生成所发送的非初次任务消息的重试任务消息。
可选地,所述执行模块还用于:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;所述执行模块还用于:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
可选地,所述执行模块还用于:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;所述执行模块还用于:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
可选地,所述任务消息包括队列标识;所述执行模块还用于:将所述任务消息所属的消息队列的队列标识与队列容错数据中的队列标识进行比对,如果比对成功,则将该队列标识所对应的容错数值加1,同时记录该队列标识对应的连接失败的供应商;否则,记录该队列标识以及将该队列标识的容错数值设为1,同时记录该队列标识对应的连接失败的供应商。
可选地,所述执行模块还用于:在更新的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与更新后的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,然后将排在第一位的队列作为所述重试任务消息存放的消息队列。
可选地,所述执行模块还用于:在首次记录该队列标识与该供应商连接失败的情况下,设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的调度任务的方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的调度任务的方法。
根据本发明的技术方案,由于采用了消息队列,能够实现多台服务器同时处理任务,不仅提高了任务的吞吐量,而且还解决单台服务器单任务串行处理的弊端;同时避免了定时扫描数据库的问题,提高了资源利用利用率;同时,在任务量增加,网络不稳定等因素导致任务处理失败率增高时,能够自动切换到不同机房所对应的消息队列,弥补了单机房的短板,不仅解决了单点问题,而且还提高了任务调度系统的容灾能力。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种调度任务的系统的示意图;
图2是根据本发明实施例的一种调度任务的方法的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的一种调度任务的系统的示意图。如图1所示,本发明实施例的调度任务的系统10,该系统设置于业务系统中,主要包括保存模块11、生成模块12、确定模块13、以及执行模块14;其中,保存模块11、生成模块12、以及确定模块13设置于业务系统的一个用于实现将任务消息存入消息队列的计算机中;执行模块14设置于业务系统的IP地址不同的计算机中;保存模块11用于保存消息队列与执行模块之间的关联关系;生成模块12用于在当有任务需要处理时,生成该任务的任务消息;确定模块13用于根据预设的消息存放规则确定所述任务消息所属的消息队列,然后将所述任务消息存入所述消息队列中;执行模块14用于监听与该执行模块之间有关联关系的消息队列的通知消息,在监听到通知消息后获取所述消息队列中的任务消息,然后在获取到该任务消息后将该任务消息发送给供应商。
确定模块13还可用于:根据所述任务消息的业务标识确定该业务标识所对应的供应商;在当前记录的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与当前记录的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,并将排在第一位的队列作为所述任务消息存放的消息队列。
执行模块14还可用于:在获取到该任务消息后,锁定该条任务消息。
所述任务消息包括消息标识;执行模块14还可用于根据所述消息标识确认该任务消息的消息类型;所述消息类型包括初次任务消息和非初次任务消息;在确认该任务消息的消息类型为初次任务消息的前提下,将该初次任务发送给供应商;在确认该任务消息的消息类型为给初次任务消息的前提下,将该非初次任务发送给供应商。
执行模块14还可用于:判断缓存中是否包含该消息标识所对应的消息执行参数,若是,则确认该任务消息为非初次任务消息;否则,确认该任务消息为初次任务消息。
执行模块14还可用于:设置该初次任务消息的消息执行参数,然后将设置好消息执行参数的初次任务消息发送给供应商;所述消息执行参数包括重试阈值。
所述任务消息包括重试时间间隔;所述执行模块14还可用于:根据该非初次任务消息的重试时间间隔确定是否执行该非初次任务消息,如果是,则将该非初次任务消息发送给供应商;否则,生成该非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
执行模块14还可用于:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
执行模块14还可用于:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
执行模块14还可用于:将该初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述初次任务消息;否则,继续执行步骤生成所发送的初次任务消息的重试任务消息。
执行模块14还可用于:将该非初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述非初次任务消息;否则,继续执行步骤生成所发送的非初次任务消息的重试任务消息。
执行模块14还可用于:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
所述任务消息包括队列标识;执行模块14还可用于:将所述任务消息所属的消息队列的队列标识与队列容错数据中的队列标识进行比对,如果比对成功,则将该队列标识所对应的容错数值加1,同时记录该队列标识对应的连接失败的供应商;否则,记录该队列标识以及将该队列标识的容错数值设为1,同时记录该队列标识对应的连接失败的供应商。
执行模块14还可用于:在更新的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与更新后的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,然后将排在第一位的队列作为所述重试任务消息存放的消息队列。
执行模块14还可用于:在首次记录该队列标识与该供应商连接失败的情况下,设置该记录的有效时长,然后在有效时长倒计时结束后删除该条记录。
图2是根据本发明实施例的一种调度任务的方法的示意图。如图2所示,本发明的调度任务的方法的执行主体为图1中所提到的调度任务的系统10,该方法的步骤主要包括S20至S23。
步骤S20:保存模块保存消息队列与执行模块之间的关联关系。在该步骤中,由于调度任务的系统10的执行模块14安装于IP地址不同的计算机中,因而保存模块可以将消息队列根据不同IP地址与执行模块建立关联关系;其中,安装执行模块14的计算机可以布置于不同的机房中,通过在不同的机房增加安装有执行模块14的计算机以实现执行模块14的水平扩展,从而快速提升任务吞吐量,解决了单台机器单任务串行处理的弊端。
步骤S21:生成模块在当有任务需要处理时,生成该任务的任务消息。
步骤S22:确定模块根据预设的消息存放规则确定所述任务消息所属的消息队列,然后将所述任务消息存入所述消息队列中。在该步骤中,确定模块13首先根据所述任务消息的业务标识确定该业务标识所对应的供应商,然后在当前记录的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列,再将除去所述无效消息队列之后的剩余队列的队列标识与当前记录的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列,最后将所述有效队列按照容错数值升序排列,并将排在第一位的队列作为所述任务消息存放的消息队列。其中所提到的队列容错数据用于记录与供应商连接失败的队列标识。在该步骤中,通过在当前的记录的队列容错数据中查找与当前任务所需供应商连接失败的队列,可以快速排除一部分无效队列,在一定程度上加快了任务消息的处理效率。
步骤S23:执行模块监听与该执行模块之间有关联关系的消息队列的通知消息,在监听到通知消息后获取所述消息队列中的任务消息,然后在获取到该任务消息后将该任务消息发送给供应商。在步骤S23中,当有任务消息存入消息队列的时候,消息队列生成通知消息,而执行模块14监听与自己有关联关系的消息队列的通知消息,当执行模块14监听到通知消息后,去对应的消息队列中获取任务消息。在执行模块14获取到任务消息后,可锁定该任务消息,避免别的执行模块重复执行该条任务消息。当执行模块14获取到任务消息后,首先根据任务消息中的消息标识确认该任务消息的消息类型,即判断缓存中是否包含该消息标识所对应的消息执行参数,若是,则确认该任务消息为非初次任务消息;否则,确认该任务消息为初次任务消息。
当确认任务消息为初次任务消息时,执行模块14在缓存中设置该初次任务消息的消息执行参数,然后将设置好消息执行参数的初次任务消息发送给供应商;其中,消息执行参数包括重试阈值;执行模块14在将设置好消息执行参数的初次任务消息发送给供应商后,接收供应商返回的接收状态消息,如果供应商所返回的接收状态信息为成功,说明该任务消息被成功发送给了供应商;如果接收到供应商返回的接收状态消息为接收失败时,说明该任务消息没有被供应商所成功接收。
本发明实施例技术方案为了能够对发送失败的任务消息进行重试,执行模块14接收到供应商所返回的接收失败的消息后,生成上述初次任务消息的重试任务消息,并将该重试任务消息重新放入消息队列中等待重新被执行;具体的过程如下:
首先,执行模块14将该初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述初次任务消息,结束此次任务消息重试;否则,生成该初次任务消息的重试任务消息。
其次,执行模块14记录任务消息所属的消息队列与该供应商之间的连接失败消息,然后根据连接失败消息更新队列容错数据,具体包括:将所述任务消息所属的消息队列的队列标识与队列容错数据中的队列标识进行比对,如果比对成功,则将该队列标识所对应的容错数值加1,同时记录该队列标识对应的连接失败的供应商,并在首次记录该队列标识与该供应商连接失败的记录后,设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录;否则,说明该队列是首次出现与供应商连接失败的情况,此时,记录该队列标识以及将该队列标识的容错数值设为1,同时记录该队列标识对应的连接失败的供应商,并在首次记录队列标识与该供应商连接失败的记录后,设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录。
再次,执行模块14根据更新后的队列容错数据确定有效队列,具体包括:在更新的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与更新后的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,然后将排在第一位的队列作为所述重试任务消息存放的消息队列。
最后,执行模块将该重试任务放入确定的有效消息队列中。
当确认任务消息为非初次任务消息时,执行模块14根据该非初次任务消息的重试时间间隔确定是否执行该非初次任务消息,如果是,则将该非初次任务消息发送给供应商;否则,生成该非初次任务消息的重试消息,然后将该重试消息放入消息队列中等待下次执行;执行模块14在将该非初次任务消息发送给供应商后,接收供应商返回的接收状态消息,如果供应商所返回的接收状态信息为成功,说明该任务消息被成功发送给了供应商;如果接收到供应商返回的接收状态消息为接收失败时,说明该任务消息没有被供应商所成功接收。
本发明实施例技术方案为了能够对发送失败的任务消息进行重试,执行模块接收到供应商所返回的接收失败的消息后,生成上述非初次任务消息的重试任务消息,并将该重试任务消息重新放入消息队列中等待重新被执行;具体的过程如下:
首先,执行模块14将该非初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述非初次任务消息,结束此次任务消息重试;否则,生成所发送的非初次任务消息的重试任务消息。
其次,执行模块14记录任务消息所属的消息队列与该供应商之间的连接失败消息,然后根据连接失败消息更新队列容错数据,具体包括:将所述任务消息所属的消息队列的队列标识与队列容错数据中的队列标识进行比对,如果比对成功,则将该队列标识所对应的容错数值加1,同时记录该队列标识对应的连接失败的供应商,并在首次记录该队列标识与该供应商连接失败的记录后,设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录;否则,说明该队列是首次出现与供应商连接失败的情况,此时,记录该队列标识以及将该队列标识的容错数值设为1,同时记录该队列标识对应的连接失败的供应商,并在首次记录队列标识与供应商连接失败的记录的同时设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录。
再次,执行模块14根据更新后的队列容错数据确定有效队列,具体包括:在更新的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;将除去所述无效消息队列之后的剩余队列的队列标识与更新后的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;将所述有效队列按照容错数值升序排列,然后将排在第一位的队列作为所述重试任务消息存放的消息队列。
最后,执行模块将该重试任务放入确定的有效消息队列中。
根据本发明实施例的技术方案,由于采用了消息队列,能够实现多台服务器同时处理任务,不仅提高了任务的吞吐量,而且还解决单台服务器单任务串行处理的弊端;同时避免了定时扫描数据库的问题,提高了资源利用利用率;同时,在任务量增加,网络不稳定等因素导致任务处理失败率增高时,能够自动切换到不同机房所对应的消息队列,弥补了单机房的短板,不仅解决了单点问题,而且还提高了任务调度系统的容灾能力。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (32)

1.一种调度任务的方法,其特征在于,包括:
保存模块保存消息队列与执行模块之间的关联关系;
生成模块在当有任务需要处理时,生成该任务的任务消息;
确定模块根据预设的消息存放规则确定所述任务消息所属的消息队列,然后将所述任务消息存入所述消息队列中;
执行模块监听与该执行模块之间有关联关系的消息队列的通知消息,在监听到通知消息后获取所述消息队列中的任务消息,然后在获取到该任务消息后将该任务消息发送给供应商;
所述任务消息包括消息标识;
所述将该任务消息发送给供应商的步骤之前,还包括:执行模块根据所述消息标识确认该任务消息的消息类型;所述消息类型包括初次任务消息和非初次任务消息;
并且所述将该任务消息发送给供应商的步骤包括:在确认该任务消息的消息类型为初次任务消息的前提下,将该初次任务发送给供应商;在确认该任务消息的消息类型为非初次任务消息的前提下,将该非初次任务发送给供应商。
2.根据权利要求1所述的方法,其特征在于,根据预设的消息存放规则确定所述任务消息所属的消息队列的步骤包括:
根据所述任务消息的业务标识确定该业务标识所对应的供应商;
在当前记录的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;
将除去所述无效消息队列之后的剩余队列的队列标识与当前记录的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;
将所述有效队列按照容错数值升序排列,并将排在第一位的队列作为所述任务消息存放的消息队列。
3.根据权利要求1所述的方法,其特征在于,所述获取所述消息队列中的任务消息的步骤之后,还包括:在获取到该任务消息后,锁定该条任务消息。
4.根据权利要求1所述的方法,其特征在于,执行模块根据所述消息标识确认该任务消息的消息类型的步骤包括:
判断缓存中是否包含该消息标识所对应的消息执行参数,若是,则确认该任务消息为非初次任务消息;否则,确认该任务消息为初次任务消息。
5.根据权利要求4所述的方法,其特征在于,所述确认该任务消息为初始任务消息的步骤之后包括:设置该初次任务消息的消息执行参数,然后将设置好消息执行参数的初次任务消息发送给供应商;所述消息执行参数包括重试阈值。
6.根据权利要求4所述的方法,其特征在于,所述任务消息包括重试时间间隔;
所述确认该任务消息为非初次任务消息的步骤之后包括:根据该非初次任务消息的重试时间间隔确定是否执行该非初次任务消息,如果是,则将该非初次任务消息发送给供应商;否则,生成该非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
7.根据权利要求5所述的方法,其特征在于,所述将该初次任务消息发送给供应商的步骤之后,还包括:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
8.根据权利要求6所述的方法,其特征在于,所述将该非初次任务消息发送给供应商的步骤之后,还包括:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
9.根据权利要求7所述的方法,其特征在于,所述生成所发送的初次任务消息的重试任务消息的步骤之前,还包括:将该初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述初次任务消息;否则,继续执行步骤生成所发送的初次任务消息的重试任务消息。
10.根据权利要求8所述的方法,其特征在于,所述生成所发送的非初次任务消息的重试任务消息的步骤之前,还包括:将该非初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述非初次任务消息;否则,继续执行步骤生成所发送的非初次任务消息的重试任务消息。
11.根据权利要求7所述的方法,其特征在于,所述生成所发送的初次任务消息的重试任务消息的步骤之前,还包括:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;
并且所述将该重试任务消息放回消息队列中的步骤之前,还包括:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
12.根据权利要求8所述的方法,其特征在于,所述生成所发送的非初次任务消息的重试任务消息的步骤之前,还包括:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;
并且所述将该重试任务消息放回消息队列中的步骤之前,还包括:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
13.根据权利要求11或12所述的方法,其特征在于,所述任务消息包括队列标识;
根据该连接失败消息更新队列容错数据的步骤包括:将所述任务消息所属的消息队列的队列标识与队列容错数据中的队列标识进行比对,如果比对成功,则将该队列标识所对应的容错数值加1,同时记录该队列标识对应的连接失败的供应商;否则,记录该队列标识以及将该队列标识的容错数值设为1,同时记录该队列标识对应的连接失败的供应商。
14.根据权利要求11或12所述的方法,其特征在于,根据更新后的队列容错数据确定有效队列的步骤包括:
在更新的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;
将除去所述无效消息队列之后的剩余队列的队列标识与更新后的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;
将所述有效队列按照容错数值升序排列,然后将排在第一位的队列作为所述重试任务消息存放的消息队列。
15.根据权利要求13所述的方法,其特征在于,记录该队列标识对应的连接失败的供应商的步骤之后,还包括:在首次记录该队列标识与该供应商连接失败的情况下,设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录。
16.一种调度任务的系统,其特征在于,包括:保存模块、生成模块、确定模块、以及执行模块;
所述保存模块用于保存消息队列与执行模块之间的关联关系;
所述生成模块用于在当有任务需要处理时,生成该任务的任务消息;
所述确定模块用于根据预设的消息存放规则确定所述任务消息所属的消息队列,然后将所述任务消息存入所述消息队列中;
所述执行模块用于监听与该执行模块之间有关联关系的消息队列的通知消息,在监听到通知消息后获取所述消息队列中的任务消息,然后在获取到该任务消息后将该任务消息发送给供应商;
所述任务消息包括消息标识;
所述执行模块还用于根据所述消息标识确认该任务消息的消息类型;所述消息类型包括初次任务消息和非初次任务消息;在确认该任务消息的消息类型为初次任务消息的前提下,将该初次任务发送给供应商;在确认该任务消息的消息类型为非初次任务消息的前提下,将该非初次任务发送给供应商。
17.根据权利要求16所述的系统,其特征在于,所述确定模块还用于:
根据所述任务消息的业务标识确定该业务标识所对应的供应商;
在当前记录的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;
将除去所述无效消息队列之后的剩余队列的队列标识与当前记录的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;
将所述有效队列按照容错数值升序排列,并将排在第一位的队列作为所述任务消息存放的消息队列。
18.根据权利要求16所述的系统,其特征在于,所述执行模块还用于:在获取到该任务消息后,锁定该条任务消息。
19.根据权利要求16所述的系统,其特征在于,所述执行模块还用于:
判断缓存中是否包含该消息标识所对应的消息执行参数,若是,则确认该任务消息为非初次任务消息;否则,确认该任务消息为初次任务消息。
20.根据权利要求19所述的系统,其特征在于,所述执行模块还用于:设置该初次任务消息的消息执行参数,然后将设置好消息执行参数的初次任务消息发送给供应商;所述消息执行参数包括重试阈值。
21.根据权利要求19所述的系统,其特征在于,所述任务消息包括重试时间间隔;
所述执行模块还用于:根据该非初次任务消息的重试时间间隔确定是否执行该非初次任务消息,如果是,则将该非初次任务消息发送给供应商;否则,生成该非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
22.根据权利要求20所述的系统,其特征在于,所述执行模块还用于:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
23.根据权利要求21所述的系统,其特征在于,所述执行模块还用于:接收供应商返回的接收状态消息,然后在接收到返回的接收状态消息为接收失败时,生成所发送的非初次任务消息的重试任务消息,然后将该重试任务消息放回消息队列中。
24.根据权利要求22所述的系统,其特征在于,所述执行模块还用于:将该初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述初次任务消息;否则,继续执行步骤生成所发送的初次任务消息的重试任务消息。
25.根据权利要求23所述的系统,其特征在于,所述执行模块还用于:将该非初次任务消息中的重试次数加1,然后判断加1后的重试次数是否大于消息标识所对应的消息执行参数中的重试阈值,若是,则删除所述非初次任务消息;否则,继续执行步骤生成所发送的非初次任务消息的重试任务消息。
26.根据权利要求22所述的系统,其特征在于,所述执行模块还用于:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;
所述执行模块还用于:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
27.根据权利要求23所述的系统,其特征在于,所述执行模块还用于:记录任务消息所属的消息队列与该供应商之间的连接失败消息,以及根据该连接失败消息更新队列容错数据;
所述执行模块还用于:根据更新后的队列容错数据确定有效队列,然后该重试任务放入确定的有效消息队列中。
28.根据权利要求26或27所述的系统,其特征在于,所述任务消息包括队列标识;
所述执行模块还用于:将所述任务消息所属的消息队列的队列标识与队列容错数据中的队列标识进行比对,如果比对成功,则将该队列标识所对应的容错数值加1,同时记录该队列标识对应的连接失败的供应商;否则,记录该队列标识以及将该队列标识的容错数值设为1,同时记录该队列标识对应的连接失败的供应商。
29.根据权利要求26或27所述的系统,其特征在于,所述执行模块还用于:
在更新的队列容错数据中查找与所述供应商连接失败的消息队列,并将该消息队列作为无效消息队列;
将除去所述无效消息队列之后的剩余队列的队列标识与更新后的队列容错数据中的队列标识依次进行比对,如果比对失败,则确认该队列是容错数值为0的有效队列;如果比对成功,则将队列标识所对应的容错数值与预设容错阈值进行比较,然后将容错数值不大于预设容错阈值的消息队列作为有效队列;
将所述有效队列按照容错数值升序排列,然后将排在第一位的队列作为所述重试任务消息存放的消息队列。
30.根据权利要求28所述的系统,其特征在于,所述执行模块还用于:在首次记录该队列标识与该供应商连接失败的情况下,设置该条记录的有效时长,然后在有效时长倒计时结束后删除该条记录。
31.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-15中任一所述的方法。
32.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-15中任一所述的方法。
CN201610626909.7A 2016-08-03 2016-08-03 一种调度任务的方法和系统 Active CN107688489B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610626909.7A CN107688489B (zh) 2016-08-03 2016-08-03 一种调度任务的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610626909.7A CN107688489B (zh) 2016-08-03 2016-08-03 一种调度任务的方法和系统

Publications (2)

Publication Number Publication Date
CN107688489A CN107688489A (zh) 2018-02-13
CN107688489B true CN107688489B (zh) 2021-01-26

Family

ID=61150872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610626909.7A Active CN107688489B (zh) 2016-08-03 2016-08-03 一种调度任务的方法和系统

Country Status (1)

Country Link
CN (1) CN107688489B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617988B (zh) * 2018-12-28 2022-04-29 平安科技(深圳)有限公司 请求重试方法及相关产品
CN110532114B (zh) * 2019-09-04 2022-06-14 浪潮云信息技术股份公司 基于消息队列的定时任务管理系统及分配方法
CN110704208B (zh) * 2019-09-19 2023-03-14 深圳证券交易所 多个系统的消息处理方法、服务器及存储介质
CN111611077A (zh) * 2020-05-20 2020-09-01 北京字节跳动网络技术有限公司 任务参数处理方法、终端和存储介质
CN113641474B (zh) * 2021-08-13 2024-03-15 广州虎牙科技有限公司 一种任务调度方法、装置及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467388B2 (en) * 2005-11-22 2008-12-16 Microsoft Corporation Monitoring message queues and starting processing applications
CN102611642A (zh) * 2012-02-27 2012-07-25 杭州闪亮科技有限公司 处理异步消息的系统及其发送消息、监听处理任务的方法
CN104346215A (zh) * 2013-08-07 2015-02-11 中兴通讯股份有限公司 一种任务调度服务系统及方法
CN104579905A (zh) * 2013-10-15 2015-04-29 阿里巴巴集团控股有限公司 消息传递方法和系统及mom服务器、接收端
CN105512244A (zh) * 2015-11-30 2016-04-20 北京京东尚科信息技术有限公司 基于消息队列实现数据库事务处理的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060241996A1 (en) * 2005-04-20 2006-10-26 International Business Machines Corporation Method, system and program product for monitoring work items

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467388B2 (en) * 2005-11-22 2008-12-16 Microsoft Corporation Monitoring message queues and starting processing applications
CN102611642A (zh) * 2012-02-27 2012-07-25 杭州闪亮科技有限公司 处理异步消息的系统及其发送消息、监听处理任务的方法
CN104346215A (zh) * 2013-08-07 2015-02-11 中兴通讯股份有限公司 一种任务调度服务系统及方法
CN104579905A (zh) * 2013-10-15 2015-04-29 阿里巴巴集团控股有限公司 消息传递方法和系统及mom服务器、接收端
CN105512244A (zh) * 2015-11-30 2016-04-20 北京京东尚科信息技术有限公司 基于消息队列实现数据库事务处理的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AMQP Advanced Message Queuing Protocol Specification v0.9.1;sanjay Aiyagari,Cicio Systems,etc.;《amqp.org》;20081113;全文 *

Also Published As

Publication number Publication date
CN107688489A (zh) 2018-02-13

Similar Documents

Publication Publication Date Title
CN107688489B (zh) 一种调度任务的方法和系统
CN108683516B (zh) 一种应用实例的升级方法、装置和系统
CN110647580A (zh) 分布式容器集群镜像管理主节点、从节点、系统及方法
US8719386B2 (en) System and method for providing configuration synchronicity
US6694345B1 (en) External job scheduling within a distributed processing system having a local job control system
US8898520B1 (en) Method of assessing restart approach to minimize recovery time
US11119911B2 (en) Garbage collection method and device
JP2019008417A (ja) 情報処理装置、メモリ制御方法およびメモリ制御プログラム
US20130346513A1 (en) Migrating a chat message service provided by a chat server to a new chat server
US10884880B2 (en) Method for transmitting request message and apparatus
WO2024016624A1 (zh) 多集群访问方法和系统
CN111159233A (zh) 分布式缓存方法、系统、计算机设备以及存储介质
CN111181765A (zh) 一种任务处理方法和装置
CN107018159B (zh) 业务请求处理方法及装置、和业务请求方法及装置
US11252121B2 (en) Message sending method and terminal device
US20240118935A1 (en) Pod deployment method and apparatus
CN110196749B (zh) 虚拟机的恢复方法及装置、存储介质及电子装置
CN113157411B (zh) 一种基于Celery的可靠可配置任务系统及装置
CN106210159B (zh) 一种域名解析方法和设备
CN107105037B (zh) 一种基于文件校验的分布式视频cdn资源管理系统及方法
CN109905459B (zh) 一种数据传输方法及装置
CN111147585A (zh) 设备升级方法、装置、存储介质及系统
CN108154343B (zh) 一种企业级信息系统的应急处理方法及系统
CN115640169A (zh) 保障主集群停止提供服务的方法、系统、设备和存储介质
CN108173892B (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