CN112799796A - 一种定时任务管理方法、装置及存储介质 - Google Patents
一种定时任务管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112799796A CN112799796A CN201911115021.7A CN201911115021A CN112799796A CN 112799796 A CN112799796 A CN 112799796A CN 201911115021 A CN201911115021 A CN 201911115021A CN 112799796 A CN112799796 A CN 112799796A
- Authority
- CN
- China
- Prior art keywords
- message
- timing
- pushed
- task
- service identifier
- 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
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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种定时任务管理方法、装置及存储介质,该方法可以包括:接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息;根据所述定时任务创建请求获取所述待推送消息的定时策略;根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。采用本发明,可以提升对定时任务的管理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种定时任务管理方法、装置及存储介质。
背景技术
定时任务往往通过计算机系统来自动监控执行。对于部分公司,如部分规模较大的公司,往往有较多业务,因此有较多项目需要进行同步管理,而每个项目往往又包含多个定时任务。在对每个项目对应的系统的开发过程中,如果需要创建某个定时任务,往往需要花费较长时间理解相关业务逻辑代码,并结合该业务逻辑代码编写该定时任务的定时逻辑代码,从而构建定时任务以用于消息推送,其定时任务创建过程较为复杂,降低了定时任务创建效率,进而降低了对定时任务的管理效率。
发明内容
本发明实施例提供了一种定时任务管理方法、装置及存储介质,可以提升对定时任务的管理效率。
一方面,本发明实施例提供了一种定时任务管理方法,包括:
接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息;
根据所述定时任务创建请求获取所述待推送消息的定时策略;
根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;
在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
再一方面,本发明实施例提供了一种定时任务管理装置,包括:
通信单元,用于接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息;
获取单元,用于根据所述定时任务创建请求获取所述待推送消息的定时策略;
构建单元,用于根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;
任务执行单元,用于在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以通过所述通信单元将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
再一方面,本发明实施例提供了一种管理服务器,包括:处理器、输入设备、输出设备和存储器;所述存储器,用于存储程序指令;所述处理器,调用所述程序指令,用于实现上述定时任务管理方法。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质中存储有程序指令,所述程序指令被执行时,用于实现上述定时任务管理方法。
综上所述,管理服务器可以接收业务服务器发送的定时任务创建请求,并根据定时任务创建请求携带的第一业务标识和待推送消息构建待推送消息对应的目标定时任务,从而在定时策略指示的消息通知时间到达后,执行目标定时任务,以将待推送消息发送至与第一业务标识关联的指定消息接收对象,相较于现有技术需要花费较长时间理解相关业务逻辑代码,并结合该业务逻辑代码编写定时任务的定时逻辑代码,从而构建定时任务以用于消息通知的过程,本发明实施例能够提升定时任务创建效率,进而提升对定时任务的管理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种定时任务管理系统的架构示意图;
图2是本发明实施例提供的一种定时任务管理方法的流程示意图;
图3是本发明实施例提供的一种定时任务创建过程的示意图;
图4是本发明实施例提供的另一种定时任务管理方法的流程示意图;
图5是本发明实施例提供的一种消息通知过程的示意图;
图6是本发明实施例提供的一种定时任务删除过程的示意图;
图7是本发明实施例提供的一种定时任务管理装置的结构示意图;
图8是本发明实施例提供的一种管理服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提出了一种定时任务管理方案,可以应用在商城项目中的预约预售通知用户,订单催促支付,待商家收货提醒、活动定时上下架配置、物采轮询系统定时消息等需要定时触发的场景中。采用该定时任务创建方案能够使得定时任务的创建过程更加便捷高效,提升对定时任务的管理效率。尤其对于部分需要设计定时逻辑和业务逻辑的系统,采用本方案使得该部分系统无需再关注定时逻辑的设计,仅关注自身的业务逻辑设计即可,从而大大减少该部分系统的复杂度,提升该部分系统的可维护性。
其中,上述提及的定时任务管理方案可以应用于如图1所示的定时任务管理系统中。图1所示的定时任务管理系统可以包括业务服务器10、管理服务器20、业务服务器30和业务服务器40。管理服务器20可以实现定时任务创建、消息通知、定时任务删除等功能。管理服务器20可以分别与业务服务器10、业务服务器30和业务服务器40建立通信。业务服务器30可以与终端设备50建立通信,业务服务器40可以与终端设备60建立通信。
在图1所示的定时任务管理系统中,业务服务器10可以向管理服务器20发送定时任务创建请求,该定时任务创建请求携带第一业务标识和待推送消息。管理服务器20可以接收业务服务器10发送的定时任务创建请求。管理服务器20可以根据该定时任务创建请求获取该待推送消息的定时策略,并根据该第一业务标识、该待推送消息以及该定时策略构建该待推送消息对应的定时任务,以便在该定时策略指示的消息通知时间到达后,执行该目标任务,以将该待推送消息发送至对应的服务,即发送至与第一业务标识关联的指定消息接收对象,如业务服务器30和/或业务服务器40。在一个实施例中,管理服务器20可以通过固定的协议,将该待推送消息发送至与第一业务标识关联的指定消息接收对象。
在一个实施例中,在管理服务器20接收业务服务器10发送的定时任务创建请求之前,业务服务器10可以向管理服务器20申请业务标识。管理服务器20可以为业务服务器10分配第一业务标识。
在一个实施例中,业务服务器10可以向管理服务器20发送业务标识创建请求,该业务标识创建请求携带该业务服务器10对应的业务信息,该业务信息可以包括一些需求信息。管理服务器20可以接收业务服务器10发送的业务标识创建请求,并根据该业务标识创建请求为业务服务器10生成第一业务标识。
在一个应用场景中,在管理服务器20为业务服务器10分配第一业务标识之后。业务方,如定时任务管理平台的客户可以通过业务服务器10从管理服务器20获取到该第一业务标识对应的定时任务创建界面。业务方可以在该定时任务创建界面中配置待推送消息以及定时策略。在配置了该第待推送消息以及该定时策略后,业务方可以点击该定时任务创建页面包括的确认提交按钮,以通过业务服务器10发送定时任务创建请求至管理服务器20,该定时任务创建请求携带该第一业务标识、该定时策略和该待推送消息。
相应地,管理服务器20根据定时任务创建请求获取该待推送消息的定时策略的方式可以为:管理服务器20将该定时任务创建请求中携带的定时策略作为该待推送消息的定时策略。
在一个实施例中,管理服务器20除了可以为业务服务器10分配第一业务标识外,还可以为业务服务器10分配该第一业务标识对应的多个子业务标识。在一个实施例中,管理服务器20还可以针对多个子业务标识中的每个子业务标识配置定时策略。
在一个实施例中,业务服务器10可以向管理服务器20发送业务标识创建请求,该业务标识创建请求携带该业务服务器10对应的业务信息。管理服务器20可以接收业务服务器10发送的业务标识创建请求,并根据该业务标识创建请求为业务服务器10生成第一业务标识以及该第一业务标识对应的多个子业务标识。管理服务器20可以获取针对该多个子业务标识中每个子业务标识配置的定时策略,根据配置的该每个子业务标识的定时策略建立子业务标识与定时策略之间的对应关系。
在一个应用场景中,在为业务服务器10分配该第一业务标识以及该第一业务标识对应的多个子业务标识后,业务方可以通过业务服务器10从管理服务器20获取到该业务标识对应的定时任务创建界面。业务方可以基于该定时任务创建界面配置该第一业务标识的目标子业务标识对应的待推送消息。在配置了该第一业务标识的目标子业务标识对应的待推送消息后,业务方可以点击该定时任务创建页面包括的确认提交按钮,以通过业务服务器10发送定时任务创建请求至管理服务器20,该定时任务创建请求携带该第一业务标识、该第一业务标识的目标子业务标识以及该待推送消息。
相应地,管理服务器20根据该定时任务创建请求获取该待推送消息的定时策略的方式可以为管理服务器20利用子业务标识与定时策略的对应关系确定该目标子业务标识对应的定时策略,将该目标子业务标识对应的定时策略作为该待推送消息的定时策略。
请参阅图2,为本发明实施例提供的一种定时任务管理方法的流程示意图。该方法可以应用于管理服务器。具体地,该方法可以包括以下步骤:
S201、接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息。
在一个实施例中,该定时任务创建请求可以携带该第一业务标识、定时策略和待推送消息。
在一个实施例中,该任务创建请求可以只携带该第一业务标识、该第一业务标识的目标子业务标识和待推送消息。
在一个实施例中,管理服务器可以对该第一业务标识进行校验;若校验通过,则执行步骤S202。其中,管理服务器对该第一业务标识进行校验的方式可以包括以下至少一项:校验该第一业务标识是否存在、校验该第一业务标识是否由管理服务器生成、校验该第一业务标识是否处于有效期内、校验该第一业务标识是否具有定时任务设置权限,如定时任务创建权限和定时任务删除权限。
在一个实施例中,若校验通过,则管理服务器可以判断该待推送消息是否存在重复发送的情况,若确定该待推送消息不存在重复发送的情况,则执行步骤S202。
在一个实施例中,该定时任务创建请求还可以携带消息序号,该消息序号可由业务服务器生成,管理服务器判断该待推送消息是否存在重复发送的情况的方式可以为:管理服务器利用该第一业务标识和该消息序号生成键key;管理服务器查询数据库中是否存在该key;若不存在该key,则确定该待推送消息不存在重复发送的情况。
例如,假设第一业务标识为appid、消息序号为seqnum,则管理服务器根据appid和seqnum拼接成key:appid_seqnum;管理服务器查询数据库中是否存在该key;若不存在该key,则管理服务器确定该待推送消息不存在重复发送的情况。
在一个实施例中,若确定该待推送消息不存在重复发送的情况,则管理服务器可以将该key存储至数据库中。若确定该待推送消息存在重复发送的情况,则管理服务器可以对该待推送消息进行去重处理。在一个实施例中,去重处理是指丢弃该待推送消息。通过去重处理,可以避免一段时间内同一待推送消息重复发送多次的情况。
在一个实施例中,该key具有过期时间,如10分钟,该key对应的value可以为当前时间戳。管理服务器可以当根据当前时间戳检测到该key对应的过期时间到达时,将该key从该数据库中删除。
S202、根据所述定时任务创建请求获取所述待推送消息的定时策略。
其中,该定时策略可以包括定时类型,该定时类型可以包括以下任一项:指定时间点(如10:00)、指定时长(如30分钟)、指定循环时间点(如每天10:00)、指定循环时间间隔(如每隔30分钟)。
本发明实施例中,管理服务器根据该定时策略获取待推送消息的定时策略的方式可以包括以下中的一种:
第一、当该定时任务创建请求携带第一业务标识、定时策略和待推送消息时,管理服务器可以将该定时任务创建请求携带的定时策略作为该待推送消息的定时策略。采用第一种方式,在定时任务创建过程,业务方可以实时配置定时策略,从而使得对定时任务创建过程更加灵活。
第二、当该定时任务创建请求携带第一业务标识、该第一业务标识的目标子业务标识和待推送消息时,管理服务器可以获取该定时任务创建请求携带的该第一业务标识的目标子业务标识,并利用子业务标识与定时策略的对应关系确定目标子业务标识对应的定时策略,从而将该目标子业务标识对应的定时策略作为该待推送消息的定时策略。采用第二种方式,在定时任务创建过程中,业务方可以无需关注定时策略的配置过程,使得对定时任务创建过程更加简单高效。
在一个实施例中,管理服务器可以判断该定时任务创建请求中是否携带有定时策略。若该定时任务创建请求携带有定时策略,则管理服务器将该定时任务创建请求中携带的定时策略作为该待推送消息的定时策略。若该定时任务创建请求未携带有定时策略,则管理服务器获取该定时任务创建请求携带的该第一业务标识的目标子业务标识,并利用子业务标识与定时策略的对应关系确定该目标子业务标识对应的定时策略,从而将该目标子业务标识对应的定时策略作为该待推送消息的定时策略。在该过程中,第一种方式与第二种方式相比较,第一种方式具有更高优先级。即,若该定时任务创建请求携带定时策略,则采用第一种方式以获取该待推送消息的定时策略。若该定时任务未携带定时策略,则采用第二种方式以获取该待推送消息的定时策略。
S203、根据所述第一业务标识、所述待推送消息和所述定时策略构建所待推送消息的目标定时任务。
S204、在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
在一个实施例中,管理服务器在将该待推送消息发送至与该第一业务标识关联的指定消息接收对象的过程中,可以获取与该第一业务标识关联的指定消息接收对象的地址信息,并根据该指定消息接收对象的地址信息将该待推送消息发送至该指定消息接收对象。
在一个实施例中,业务服务器可以将指定消息接收对象的地址信息发送至管理服务器,管理服务器可以保存该指定消息接收对象的地址信息,管理服务器可以获取保存的该指定消息接收对象的地址信息。在一个实施例中,前述提及的业务信息可以包括该指定接收对象的地址信息。
在一个实施例中,该定时任务创建请求可以携带该指定消息接收对象的地址信息,管理服务器可获取该定时任务创建请求携带的该指定消息接收对象的地址信息。采用该方式,可以灵活设置消息接收对象以进行消息通知。
在一个实施例中,管理服务器根据该第一业务标识、该待推送消息和该定时策略构建该待推送消息对应的目标定时任务的方式可以为:管理服务器为该待推送消息生成消息标识,并可以生成包括该第一业务标识、该消息标识和该定时策略指示的消息通知时间的任务信息;管理服务器根据该任务信息以及该待推送消息构建目标定时任务。其中,该消息标识是指用于唯一标识该待推送消息的信息。
在一个实施例中,管理服务器在为该待推送消息生成消息标识之后,可以在数据库中记录对该待推送消息的操作日志,该操作日志可以包括该消息标识和该待推送消息。
在一个实施例中,管理服务器可以以第一数据结构存储该消息标识以及该待推送消息。该第一数据结构可以为哈希Hash结构,如key v1v2……vn。其中,key为消息标识,vn为待推送消息。在该定时策略指示的消息通知时间到达后,管理服务器可以根据该第一数据结构以及该消息标识查找到该待推送消息,从而将该待推送消息发送至与该第一业务标识关联的指定消息接收对象。
在一个实施例中,当该任务创建请求携带第一业务标识、定时策略以及待推送消息时,管理服务器可以以第二数据结构存储包括该第一业务标识、该消息标识和该定时策略指示的消息通知时间的任务信息。该消息通知时间可以根据该定时策略包括的定时类型得到。例如,若该定时策略包括的定时类型为指定时间点,如10:00,则消息通知时间可以为10:00。若该定时策略包括的定时类型为指定时长,如30分钟,则消息通知时间可以是将接收到定时任务创建请求的时间作为起始时间计算出的30分钟后的时间。在一个实施例中,当第二数据结构为有序集SortedSet结构时,key可以为业务标识,成员membe为消息标识,分值score可以为消息通知时间。
在一个实施例中,当该任务创建请求携带第一业务标识、第一业务标识的目标子业务标识和待推送消息时,管理服务器可以以第二数据结构存储包括该第一业务标识、该第一业务标识的目标子业务标识、消息标识和接收到任务创建请求的时间的任务信息。在一个实施例中,当第二数据结构为SortedSet结构时,key可以为业务标识_子业务标识,如appid_subappid;member可以为消息标识;score可以接收到任务创建请求的时间。在一个实施例中,前述第二数据结构还可以为Set结构。在一个实施例中,该接收到任务创建请求的时间也可以替换为消息通知时间,该消息通知时间可以根据该接收到任务创建请求的时间以及定时策略包括的定时类型确定。
可见,图2所示的实施例中,管理服务器可以在接收到定时任务创建请求时,自动化的创建定时任务,使得定时任务的创建过程更加便捷高效。
请参阅图3,图3为本发明实施例提供的定时任务创建过程的示意图。在步骤S301-S307中,管理服务器可以在接收到插入请求后,通过appid校验等过程,构建该待推送消息对应的目标定时任务。具体地:
在步骤S301中,管理服务器可以接收插入请求,该插入请求可以携带appid以及待推送消息。该插入请求即为本发明实施例提及的定时任务创建请求。
在步骤S302中,管理服务器可以对appid进行校验;
在步骤S303中,管理服务器在校验通过后,可以验证该待推送消息是否存在重复发送的情况,若存在重复发送的情况,则进行去重处理,若不存在重复发送的情况,则为该待推送消息生成消息标识id。
在步骤S304中,管理服务器在生成消息id之后,可以针对该待推送消息写db流水。即,管理服务器可以在数据库中记录对该待推送消息的操作日志。
在步骤S305中,管理服务器在写db流水之后,可以以Hash结构存储该待推送消息。即,管理服务器可以按照第一数据结构存储该待推送消息。
在步骤S306-S307中,管理服务器在以Hash结构存储该待推送消息之后,可以存储该appid对应的SoretedSet结构的数据,以根据SoretedSet结构的数据以及该待推送消息构建该待推送消息对应的定时任务。即,管理服务器可以以SoretedSet结构存储任务信息,以根据该任务信息以及该待推送消息构建该待推送消息对应的目标定时任务。
请参阅图4,为本发明实施例提供的另一种定时任务管理方法的流程示意图。该方法可以应用于管理服务器。具体地,该方法可以包括:
S401、接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息。
S402、根据所述定时任务创建请求获取所述待推送消息的定时策略。
S403、根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;
S403、在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
步骤S401-步骤S404可参见图2实施例中的步骤S201-S204,本发明实施例在此不做赘述。
S405、将所述目标定时任务添加至定时任务列表。
在一个实施例中,该定时任务列表可以为该第一业务标识对应的定时任务列表。
在一个实施例中,当定时任务创建请求携带第一业务标识、第一业务标识的目标子业务标识以及待推送消息时,该定时任务列表可以为该第一业务标识对应的定时任务列表或为该目标子业务标识对应的定时任务列表。
S406、在指定扫描周期到达时,通过扫描所述定时任务列表以获取所述定时任务列表包括的多个定时任务中每个定时任务的任务信息。
本发明实施例中,管理服务器可以在指定扫描周期到达时,扫描该定时任务列表,以获取该任务列表包括的多个定时任务中每个定时任务的任务信息,从而根据该任务信息检测该多个定时任务中每个定时任务对应的定时策略指示的消息通知时间是否到达。
在一个实施例中,管理服务器若根据任务信息检测到目标定时任务对应的定时策略指示的消息通知时间小于或等于当前系统时间,则确定该目标定时任务对应的定时策略指示的消息通知时间到达。
S407、当根据所述任务信息检测到所述目标定时任务对应的定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
在一个实施例中,当根据该任务信息检测到目标定时任务对应的定时策略指示的消息通知时间到达后,管理服务器可以获取该目标任务的任务信息包括的消息标识,并根据该消息标识查找到该待推送消息,从而将该待推送消息发送至与该第一业务标识关联的指定消息接收对象。
在一个实施例中,管理服务器在将该待推送消息发送至与该第一业务标识关联的指定消息接收对象之后,若未接收到该指定消息接收对象返回的成功接收该待推送消息的通知,则根据该定时策略和/或该待推送消息的发送次数判断该待推送消息是否过期;若未过期,则再次执行所述执行该目标定时任务,以将该待推送消息发送至与第一业务标识关联的指定消息接收对象的步骤。在一个实施例中,如果接收到该指定消息接收对象返回的成功接收该待推送消息的通知,则管理服务器可以删除定时任务列表中的该目标定时任务,并还可以该目标待推送消息所在的第一数据结构的数据。
在一个实施例中,管理服务器根据该定时策略判断该待推送消息是否过期的方式可以为:管理服务器判断当前系统时间是否在以该定时策略指示的消息通知时间为起始时间统计的预设时间段内;若在,则确定未过期;否则,则确定已过期。和/或,管理服务器判断当前发送次数是否在该待推送消息的发送次数内;若在,则确定未过期;否则,则确定已过期。
在一个实施例中,管理服务器可以接收业务服务器发送的定时任务删除请求,该定时任务删除请求携带指定业务标识,如为前述提及的任务创建请求携带的第一业务标识,管理服务器可以对该指定业务标识进行校验;在校验通过后,管理服务器可以从定时任务列表中删除该指定业务标识对应的定时任务。在一个实施例中,该定时任务删除请求还可以携带该指定业务标识的指定子业务标识,管理服务器可以对该指定业务标识进行校验;在对校验通过后,从定时任务列表中删除该指定子业务标识对应的定时任务。
可见,图4所示的实施例中,管理服务器可以定期扫描定时任务列表以进行待推送消息通知,从而保障待推送消息通知过程的可靠性和实时性。
请参阅图5,为本发明实施例提供的一种待推送消息通知过程的示意图。在S501-S5011中,管理服务器可以定时扫描定时任务列表,以检测各定时任务对应的待推送消息是否到期,并发送到期的待推送消息。并且,管理服务器针对消息发送失败的情况也采取了相应措施,以确保消息通知过程的可靠性,同时管理服务器还可以在消息发送成功后,通过删除到期的待推送消息的相关数据以减少内存占用。具体地:
在步骤S501-S502中,管理服务器可以在指定扫描周期到达时,获取定时任务列表包括的所有appid,并可以获取所有appid中每个appid的超时配置及Sortedset的值。其中,Sortedset的值可以包括该appid对应的member和score。通过执行步骤S501-S502,管理服务器可以获取该定时任务列表包括的多个定时任务中每个定时任务的任务信息。
在步骤S503中,管理服务器可以检测每个appid对应的member是否到期,若存在目标appid对应的member到期,则执行步骤S504。在该步骤中,管理服务器可以根据任务信息检测多个定时任务中每个定时任务对应的定时策略指示的消息通知时间是否到达,从而实现超期判断。
在步骤S504中,当目标appid对应的member到期时,管理服务器可以获取目标appid对应的member的Hash结构值,即获取目标appid对应的member对应的待推送消息。目标appid可以对应前述提及的第一业务标识。当管理服务器根据任务信息检测目标定时任务对应的定时策略指示的消息通知时间到达后,可以通过执行目标定时任务,以将待推送消息发送至与第一业务标识关联的指定消息接收对象的步骤。
在步骤S505中,管理服务器可以判断该待推送消息是否过期,如果过期,则可以执行步骤S506。即,管理服务器在将待推送消息发送至与第一业务标识关联的指定消息接收对象之后,若未接收到该第一业务标识关联的指定消息接收对象返回的成功接收该待推送消息的通知,则可以根据定时策略和/或待推送消息的发送次数判断该待推送消息是否过期。
在步骤S506-步骤S508中,管理服务器可以删除该定时任务列表中的目标appid对应的member,并可以将过期信息上报至鹰眼记录日志,即上报至监控系统以进行日志记录。
在步骤S509-步骤S511中,管理服务器可以将目标appid对应的member的待推送消息发送至该目标appid对应的服务,即发送至与第一业务标识关联的指定消息接收对象。在管理服务器接收到该第一业务标识关联的指定消息接收对象返回的成功接收该待推送消息的通知之后,管理服务器可以删除目标appid对应的member所在的SortedSet结构的数据以及目标appid对应的member对应的待推送消息所在的Hash结构的数据。若未接收到该目标appid关联的指定消息接收对象返回的成功接收该待推送消息的通知,管理服务器还可以生成报警信息以进行上报。
请参阅图6,为本发明实施例提供的一种定时任务删除过程的示意图。具体地,该过程可以包括以下步骤:
在步骤S601中,管理服务器接收业务服务器发送的删除请求。该删除请求可以为定时任务删除请求。
在步骤S602中,管理服务器可以对该删除请求携带的appid进行校验。该校验的方式可以参见图2实施例,本发明实施例在此不做赘述。
在步骤S603中,管理服务器可以在校验通过后,删除该删除请求携带的appid所在的SortedSet结构的数据。即,管理服务器可以删除该appid对应的定时任务。
在步骤S604中,管理服务器可以删除appid对应的Hash结构的数据。即,管理服务器可以删除appid对应的待推送消息所在的Hash结构的数据。
基于上述方法实施例的描述,在一个实施例中,本发明实施例还提供了一种如图7所示的定时任务管理装置的结构示意图。该定时任务管理装置可以应用于前述提及的管理服务器。如图7所示,本发明实施例中的定时任务管理装置可包括:
通信单元701,用于接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息;
获取单元702,用于根据所述定时任务创建请求获取所述待推送消息的定时策略;
构建单元703,用于根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;
任务执行单元704,用于在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以通过通信单元701将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
在一种可选的实施方式中,获取单元702,具体用于判断所述定时任务创建请求中是否携带有定时策略;若所述定时任务创建请求中携带有定时策略,则将所述定时任务创建请求中携带的定时策略作为所述待推送消息的定时策略。
在一种可选的实施方式中,获取单元702,还用于若所述定时任务创建请求中未携带有定时策略,则获取所述定时任务创建请求携带的所述第一业务标识的目标子业务标识;利用子业务标识与定时策略的对应关系确定所述目标子业务标识对应的定时策略;将所述目标子业务标识对应的定时策略作为所述待推送消息的定时策略。
在一种可选的实施方式中,任务执行单元704,具体用于将所述目标定时任务添加至定时任务列表;在指定扫描周期到达时,通过扫描所述定时任务列表获取所述定时任务列表包括的多个定时任务中每个定时任务的任务信息;当根据所述任务信息检测到所述目标定时任务对应的定时策略指示的消息通知时间到达后,执行所述目标定时任务,以通过通信单元701将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
在一种可选的实施方式中,构建单元703,具体用于为所述待推送消息生成消息标识;生成包括所述第一业务标识、所述消息标识和所述定时策略指示的消息通知时间的任务信息;根据所述任务信息以及所述待推送消息构建所述待推送消息对应的目标定时任务。
在一种可选的实施方式中,该定时任务管理装置还包括配置单元705。
在一种可选的实施方式中,配置单元705,用于通过通信单元701接收所述业务服务器发送的业务标识创建请求,所述业务标识创建请求携带所述业务服务器对应的业务信息;根据所述业务标识创建请求为所述业务服务器生成第一业务标识以及所述第一业务标识对应的多个子业务标识;获取针对所述多个子业务标识中每个子业务标识配置的定时策略;根据配置的所述每个子业务标识的定时策略建立子业务标识与定时策略之间的对应关系。
在一种可选的实施方式中,任务执行单元704,还用于在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以通过通信单元701将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象之后,若未接收到所述指定消息接收对象返回的成功接收所述待推送消息的通知,则根据所述定时策略和/或所述待推送消息的发送次数判断所述待推送消息是否过期;若未过期,则再次执行所述执行所述目标定时任务,以通过通信单元701将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象的操作。
在一种可选的实施方式中,任务执行单元704,还用于若已过期,则删除所述目标定时任务的任务信息包括的消息标识,并通过通信单元701将所述待推送消息的过期信息上传到监控系统以进行日志记录。
可见,在图7所示的实施例中,管理服务器可以接收业务服务器发送的定时任务创建请求,并根据定时任务创建请求携带的第一业务标识和待推送消息构建待推送消息对应的目标定时任务,从而在定时策略指示的消息通知时间到达后,执行目标定时任务,以将待推送消息发送至与第一业务标识关联的指定消息接收对象,进而提升对定时任务的管理效率。
请参阅图8,为本发明实施例提供的一种管理服务器的结构示意图。如图5所示的本实施例中的管理服务器可以包括:一个或多个处理器801;一个或多个输入设备802,一个或多个输出设备803和存储器804。上述处理器801、输入设备802、输出设备803和存储器804通过总线或其他方式连接。其中,输入设备802是可选的设备。存储器804用于存储计算机程序,所述计算机程序包括程序指令,处理器801用于执行所述存储器804存储的程序指令,以实现上述涉及的各种方法。
所述存储器804可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器804也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器804还可以包括上述种类的存储器的组合。
在一个实施例中,该处理器801可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器,即微处理器或者任何常规的处理器。该存储器804可以包括只读存储器和随机存取存储器。因此,在此对于处理器801和存储器804不作限定。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,用于通过输入设备802接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息;根据所述定时任务创建请求获取所述待推送消息的定时策略;根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以通过输出设备803将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,还用于判断所述定时任务创建请求中是否携带有定时策略;若所述定时任务创建请求中携带有定时策略,则将所述定时任务创建请求中携带的定时策略作为所述待推送消息的定时策略。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,还用于若所述定时任务创建请求中未携带有定时策略,则获取所述定时任务创建请求携带的所述第一业务标识的目标子业务标识;利用子业务标识与定时策略的对应关系确定所述目标子业务标识对应的定时策略;将所述目标子业务标识对应的定时策略作为所述待推送消息的定时策略。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,还用于将所述目标定时任务添加至定时任务列表;在指定扫描周期到达时,通过扫描所述定时任务列表获取所述定时任务列表包括的多个定时任务中每个定时任务的任务信息;当根据所述任务信息检测到所述目标定时任务对应的定时策略指示的消息通知时间到达后,执行所述目标定时任务,以通过输出设备803将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,还用于为所述待推送消息生成消息标识;生成包括所述第一业务标识、所述消息标识和所述定时策略指示的消息通知时间的任务信息;根据所述任务信息以及所述待推送消息构建所述待推送消息对应的目标定时任务。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,还用于通过输入设备802接收所述业务服务器发送的业务标识创建请求,所述业务标识创建请求携带所述业务服务器对应的业务信息;根据所述业务标识创建请求为所述业务服务器生成第一业务标识以及所述第一业务标识对应的多个子业务标识;获取针对所述多个子业务标识中每个子业务标识配置的定时策略;根据配置的所述每个子业务标识的定时策略建立子业务标识与定时策略之间的对应关系。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,还用于若未接收到所述指定消息接收对象返回的成功接收所述待推送消息的通知,则根据所述定时策略和/或所述待推送消息的发送次数判断所述待推送消息是否过期;若未过期,则再次执行所述执行所述目标定时任务,以通过输出设备803将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象的操作。
在一个实施例中,处理器801调用所述存储器804中存储的程序指令,还用于若已过期,则删除所述目标定时任务的任务信息包括的消息标识,并将所述待推送消息的过期信息上传到监控系统以进行日志记录。
需要说明的是,上述描述的管理服务器和单元的具体工作过程,可以参考前述各个实施例中的相关描述,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机存储介质中,该计算机存储介质可以为计算机可读存储介质,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (10)
1.一种定时任务管理方法,其特征在于,包括:
接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息;
根据所述定时任务创建请求获取所述待推送消息的定时策略;
根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;
在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
2.根据权利要求1所述的方法,其特征在于,所述根据所述定时任务创建请求获取所述待推送消息的定时策略,包括:
判断所述定时任务创建请求中是否携带有定时策略;
若所述定时任务创建请求中携带有定时策略,则将所述定时任务创建请求中携带的定时策略作为所述待推送消息的定时策略。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述定时任务创建请求中未携带有定时策略,则获取所述定时任务创建请求携带的所述第一业务标识的目标子业务标识;
利用子业务标识与定时策略的对应关系确定所述目标子业务标识对应的定时策略;
将所述目标子业务标识对应的定时策略作为所述待推送消息的定时策略。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象,包括:
将所述目标定时任务添加至定时任务列表;
在指定扫描周期到达时,通过扫描所述定时任务列表获取所述定时任务列表包括的多个定时任务中每个定时任务的任务信息;
当根据所述任务信息检测到所述目标定时任务对应的定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
5.根据权利要求1~3中任一项所述的方法,其特征在于,所述根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务,包括:
为所述待推送消息生成消息标识;
生成包括所述第一业务标识、所述消息标识和所述定时策略指示的消息通知时间的任务信息;
根据所述任务信息以及所述待推送消息构建所述待推送消息对应的目标定时任务。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述业务服务器发送的业务标识创建请求,所述业务标识创建请求携带所述业务服务器对应的业务信息;
根据所述业务标识创建请求为所述业务服务器生成第一业务标识以及所述第一业务标识对应的多个子业务标识;
获取针对所述多个子业务标识中每个子业务标识配置的定时策略;
根据配置的所述每个子业务标识的定时策略建立子业务标识与定时策略之间的对应关系。
7.根据权利要求1所述的方法,其特征在于,所述在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象之后,所述方法还包括:
若未接收到所述指定消息接收对象返回的成功接收所述待推送消息的通知,则根据所述定时策略和/或所述待推送消息的发送次数判断所述待推送消息是否过期;
若未过期,则再次执行所述执行所述目标定时任务,以将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象的步骤。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:若已过期,则删除所述目标定时任务的任务信息包括的消息标识,并将所述待推送消息的过期信息上传到监控系统以进行日志记录。
9.一种定时任务管理装置,其特征在于,包括:
通信单元,用于接收业务服务器发送的定时任务创建请求,所述定时任务创建请求携带第一业务标识和待推送消息;
获取单元,用于根据所述定时任务创建请求获取所述待推送消息的定时策略;
构建单元,用于根据所述第一业务标识、所述待推送消息和所述定时策略构建所述待推送消息对应的目标定时任务;
任务执行单元,用于在所述定时策略指示的消息通知时间到达后,执行所述目标定时任务,以通过所述通信单元将所述待推送消息发送至与所述第一业务标识关联的指定消息接收对象。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有程序指令,所述程序指令被执行时,用于实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115021.7A CN112799796A (zh) | 2019-11-14 | 2019-11-14 | 一种定时任务管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115021.7A CN112799796A (zh) | 2019-11-14 | 2019-11-14 | 一种定时任务管理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112799796A true CN112799796A (zh) | 2021-05-14 |
Family
ID=75803804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911115021.7A Pending CN112799796A (zh) | 2019-11-14 | 2019-11-14 | 一种定时任务管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799796A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817666A (zh) * | 2021-01-27 | 2021-05-18 | 北京字跳网络技术有限公司 | 定时方法、装置、电子设备和存储介质 |
-
2019
- 2019-11-14 CN CN201911115021.7A patent/CN112799796A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817666A (zh) * | 2021-01-27 | 2021-05-18 | 北京字跳网络技术有限公司 | 定时方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102167613B1 (ko) | 메시지 푸시 방법 및 장치 | |
EP3489825A1 (en) | Method, apparatus and computer readable storage medium for processing service | |
CN109361525B (zh) | 重启分布式部署多服务的方法、装置、控制终端及介质 | |
CN110417884B (zh) | 一种消息推送方法、装置、设备及存储介质 | |
CN108933789B (zh) | 一种防止个人信息泄漏的方法及第三方应用服务器 | |
CN112311628B (zh) | 网络测速方法、系统、网络设备和存储介质 | |
CN112055078B (zh) | 一种数据传输方法、装置、计算机设备和存储介质 | |
CN108259618B (zh) | 一种同步的数据交互处理方法及装置 | |
CN109246078B (zh) | 一种数据交互方法及服务器 | |
CN111126940B (zh) | 业务申请的处理方法、装置、设备及计算机可读存储介质 | |
CN108696831B (zh) | 一种短信发送方法及装置 | |
CN105208530A (zh) | 一种组呼业务处理方法、终端及核心网网元 | |
US20220377556A1 (en) | Internet-of-things device registration method and apparatus, device, and storage medium | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN103716230A (zh) | 消息发送方法、装置及服务器 | |
KR20170125252A (ko) | M2M/IoT 플랫폼에서 MQTT 프로토콜을 활용한 메시지 단편화 방법 | |
CN112799796A (zh) | 一种定时任务管理方法、装置及存储介质 | |
CN113904847A (zh) | 物联网卡的云平台绑定方法、系统、设备及介质 | |
CN115412609B (zh) | 一种业务处理方法、装置、服务器及存储介质 | |
CN114554251B (zh) | 多媒体数据的请求方法和装置、存储介质及电子装置 | |
CN112860770B (zh) | 报表生成的方法、装置、电子设备和存储介质 | |
CN104869532B (zh) | 一种群组成员管理方法和装置 | |
CN108965431B (zh) | Ibm主机实现事件驱动架构的方法及装置 | |
CN111552907A (zh) | 消息处理方法、装置、设备和存储介质 | |
CN108933803B (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 |