一种异常处理方法和装置制造方法及图纸

技术编号:14558164 阅读:82 留言:0更新日期:2017-02-05 12:37
本发明专利技术实施例提供了一种异常处理方法,涉及计算机技术领域。所述方法包括:预先将待处理任务的第一状态与触发所述第一状态的执行方法进行对应;在待处理任务被各进程执行的过程中,根据各进程调用的执行方法与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任务的处理进度;当处理一待处理任务的进程出现异常,重启所述进程后,读取记录的待处理任务的第一状态及待处理任务的处理进度;所述进程从触发所述第一状态的执行方法开始执行,并从所述处理进度处开始处理所述待处理任务。本发明专利技术提高了消息平台有效性、避免重复发送消息以及迅速处理异常情况的有益效果。

Exception processing method and device

The embodiment of the invention provides an exception handling method, relating to the technical field of computer. The method includes: a first state will advance execution method of pending tasks and triggered the first state of the corresponding task is pending in the process; the process of implementation, the first state to modify the processing tasks according to the corresponding relationship between the execution method of process called the first state, and record the treatment the progress of processing tasks in the corresponding state; when processing a pending task process is abnormal, restart the process, the first state to be read and record the processing tasks to the task of handling progress; the process started from the implementation of trigger method is the first state, and from the processing schedule at the beginning of the pending task processing. The invention improves the effectiveness of the message platform, avoids the repeated transmission of the message, and can quickly deal with the abnormal situation.

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种异常处理方法和一种异常处理装置。
技术介绍
随着计算机技术及通信技术的发展,越来越多的平台或系统会利用消息平台发送消息,以达到增加访问量或者增强沟通等目的。例如,游戏平台利用消息平台向游戏用户发送消息,以避免用户流失;购物网站利用消息平台向网站注册用户发送消息,以增加用户消费额等。但是,以现有的技术,可能会出现消息平台在发送消息的过程中发生异常的情况,如调用信息发送接口失败导致消息发送失败,或者消息未能成功发送至对应的消息接收对象等情况。而且,对于上述的异常情况,目前常用的处理方式是不做处理,则会降低消息平台发送消息的有效性,或者是由人工判断异常情况是否需要重新执行,则会导致操作繁琐,且人工判断的过程也会浪费较多时间,或者是不经过人工判断直接重复发送全部消息,同样会导致耗时较长。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的异常处理方法和相应的异常处理装置。依据本专利技术的一个方面,提供了一种异常处理方法,包括:预先将待处理任务的第一状态与触发所述第一状态的执行方法进行对应;在待处理任务被各进程执行的过程中,根据各进程调用的执行方法与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任务的处理进度;当处理一待处理任务的进程出现异常,重启所述进程后,读取记录的待处理任务的第一状态及待处理任务的处理进度;所述进程从触发所述第一状态的执行方法开始执行,并从所述处理进度处开始处理所述待处理任务。优选地,所述待处理任务包括发送任务和发送任务的发送子任务;所述发送任务包括至少一种信息类型、平台标识;所述第一状态包括待执行状态、执行中状态和已完成状态。优选地,所述在待处理任务被各进程执行的过程中,根据各进程调用的执行方法与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任务的处理进度的步骤包括:接收由客户端提交的发送任务并存入第一任务队列,并将所述发送任务的第一状态更新为待执行状态;由第一进程从第一任务队列中提取发送任务,并将所述发送任务的第一状态更新为执行中状态;由第一进程从根据所述发送任务中的平台标识,调用对于平台标识的待发送对象获取接口,从相应的平台中获取各待发送对象;由第一进程基于从相应的平台中获取各待发送对象,将所述发送任务拆分为至少两个发送子任务,并将所述发送子任务放入第二任务队列;其中,在发送任务的执行中状态下记录发送任务的处理进度,并将所述发送子任务的第一状态更新为待处理状态;由多个消费进程从所述第二任务队列中提取发送子任务,并将被提取的发送子任务的第一状态更新为执行中状态;每个消费进程调用与信息类型相应的发送接口,向各待发送对象发送待发送信息;其中在发送子任务的执行中状态下记录发送子任务的进度;在发送子任务的待发送信息发送完毕之后,将发送子任务的状态更新为已完成状态,并所述发送任务的所有发送子任务全部为已完成状态后,将发送任务的状态更新为已完成状态。优选地,所述发送任务还包括:发送时间策略;进一步的,所述由第一进程从第一任务队列中提取发送任务的步骤,包括:由第一进程扫描所述第一任务队列,提取发送时间策略达到预设条件的发送任务。优选地,所述发送任务还包括:业务标识和/或用户范围条件;进一步的,在由第一进程从根据所述发送任务中的平台标识,调用对于平台标识的待发送对象获取接口,从相应的平台中获取各待发送对象的步骤之后,还包括:在从相应的平台中获取的各待发送对象中,筛选业务标识下的待发送对象和/或在所述用户范围条件之内的待发送对象。优选地,所述第一状态还包括停止状态和/或暂停状态;进一步的,所述在待处理任务被各进程执行的过程中,根据各进程调用的执行方法与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任务的处理进度的步骤,还包括:在接收到对发送任务的终止指令后,将所述发送任务的第一状态更新为已停止状态;和/或,在接收到对发送任务的暂停指令后,将所述发送任务的第一状态更新为暂停状态。优选地,每个消费进程调用与信息类型相应的发送接口,向各待发送对象发送待发送信息的步骤时,还包括:判断所述发送子任务所属的发送任务的第一状态是否为已停止状态;如果所述发送子任务所属的发送任务的第一状态为已停止状态,则停止从第二任务队列中获取所述发送任务的发送子任务,以获取其他的发送任务的发送子任务,并将所述发送子任务的第一状态更新为已停止状态;和/或,判断所述发送子任务所属的发送任务的第一状态是否为已暂停状态;如果所述发送子任务所属的发送任务的第一状态为已暂停状态,则暂停从第二任务队列中获取所述发送任务的发送子任务,并将所述发送子任务的第一状态更新为已暂停状态。优选地,所述每个消费进程调用与信息类型相应的发送接口,向各待发送对象发送待发送信息的步骤,包括:每个消费进程在不超过预定的发送信息速度下,调用与信息类型相应的发送接口,向各待发送对象发送待发送消息;所述发送信息速度包括在指定时间周期内待发送信息的发送条数。优选地,所述发送任务中还包括:个性化信息模板;进一步的,在由第一进程从根据所述发送任务中的平台标识,调用对于平台标识的待发送对象获取接口,从相应的平台中获取各待发送对象的步骤之后,还包括:由第一进程针对不同的待发送对象,依据预设的个性化信息模版,为每个待发送对象生成个性化的待发送信息。优选地,所述由第一进程针对不同的待发送对象,依据预设的个性化信息模版,为每个待发送对象生成个性化的待发送信息的步骤,包括:针对每个待发送对象,获取对应各关键字段的数据;将各关键字段的数据填入所述个性化信息模版相应的关键字段中;为每个待发送对象生成个性化信息。优选地,所述将各关键字段的数据填入所述个性化信息模版相应的关键字段中的步骤,包括:将待发送对象对应的用户称谓信息,填入所述个性化信息模版中的称谓字段;将待发送对象的个性化通知信息,写入所述个性化信息模版中的个性化通知字段。优选地,所述信息类型包括:短信、和/或邮件、和/或站内信息。根据本专利技术的另一方面,提供了一种异常处理装置,包括:关系对应模块,适于预先将待处理任务的第一状本文档来自技高网...

【技术保护点】
一种异常处理方法,包括:预先将待处理任务的第一状态与触发所述第一状态的执行方法进行对应;在待处理任务被各进程执行的过程中,根据各进程调用的执行方法与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任务的处理进度;当处理一待处理任务的进程出现异常,重启所述进程后,读取记录的待处理任务的第一状态及待处理任务的处理进度;所述进程从触发所述第一状态的执行方法开始执行,并从所述处理进度处开始处理所述待处理任务。

【技术特征摘要】
1.一种异常处理方法,包括:
预先将待处理任务的第一状态与触发所述第一状态的执行方法进行对
应;
在待处理任务被各进程执行的过程中,根据各进程调用的执行方法与第
一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待
处理任务的处理进度;
当处理一待处理任务的进程出现异常,重启所述进程后,读取记录的待
处理任务的第一状态及待处理任务的处理进度;
所述进程从触发所述第一状态的执行方法开始执行,并从所述处理进度
处开始处理所述待处理任务。
2.根据权利要求1所述的方法,其特征在于,所述待处理任务包括发
送任务和发送任务的发送子任务;所述发送任务包括至少一种信息类型、平
台标识;
所述第一状态包括待执行状态、执行中状态和已完成状态。
3.根据权利要求2所述的方法,其特征在于,所述在待处理任务被各
进程执行的过程中,根据各进程调用的执行方法与第一状态的对应关系修改
待处理任务的第一状态,并在相应状态下记录所述待处理任务的处理进度的
步骤包括:
接收由客户端提交的发送任务并存入第一任务队列,并将所述发送任务
的第一状态更新为待执行状态;
由第一进程从第一任务队列中提取发送任务,并将所述发送任务的第一
状态更新为执行中状态;
由第一进程从根据所述发送任务中的平台标识,调用对于平台标识的待
发送对象获取接口,从相应的平台中获取各待发送对象;
由第一进程基于从相应的平台中获取各待发送对象,将所述发送任务拆
分为至少两个发送子任务,并将所述发送子任务放入第二任务队列;其中,
在发送任务的执行中状态下记录发送任务的处理进度,并将所述发送子任务
的第一状态更新为待处理状态;
由多个消费进程从所述第二任务队列中提取发送子任务,并将被提取的
发送子任务的第一状态更新为执行中状态;
每个消费进程调用与信息类型相应的发送接口,向各待发送对象发送待
发送信息;其中在发送子任务的执行中状态下记录发送子任务的进度;在发
送子任务的待发送信息发送完毕之后,将发送子任务的状态更新为已完成状
态,并所述发送任务的所有发送子任务全部为已完成状态后,将发送任务的
状态更新为已完成状态。
4.根据权利要求3所述的方法,其特征在于,
所述发送任务还包括:发送时间策略;
进一步的,所述由第一进程从第一任务队列中提取发送任务的步骤,包
括:
由第一进程扫描所述第一任务队列,提取发送时间策略达到预设条件的
发送任务。
5.根据权利要求3所述的方法,其特征在于,所述发送任务还包括:
业务标识和/或用户范围条件;
进一步的,在由第一进程从根据所述发送任务中的平台标识,调用对于
平台标识的待发送对象获取接口,从相应的平台中获取各待发送对象的步骤
之后,还包括:
在从相应的平台中获取的各待发送对象中,筛选业务标识下的待发送对
象和/或在所述用户范围条件之内的待发送对象。
6.根据权利要求5所述的方法,其特征在于...

【专利技术属性】
技术研发人员:孙小俊吕本伟
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1