一种异常处理方法和装置的制造方法

文档序号:9750656阅读:367来源:国知局
一种异常处理方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别是涉及一种异常处理方法和一种异常处理装 置。
【背景技术】
[0002] 随着计算机技术及通信技术的发展,越来越多的平台或系统会利用消息平台发送 消息,以达到增加访问量或者增强沟通等目的。例如,游戏平台利用消息平台向游戏用户发 送消息,以避免用户流失;购物网站利用消息平台向网站注册用户发送消息,以增加用户消 费额等。
[0003] 但是,以现有的技术,可能会出现消息平台在发送消息的过程中发生异常的情况, 如调用信息发送接口失败导致消息发送失败,或者消息未能成功发送至对应的消息接收对 象等情况。而且,对于上述的异常情况,目前常用的处理方式是不做处理,则会降低消息平 台发送消息的有效性,或者是由人工判断异常情况是否需要重新执行,则会导致操作繁琐, 且人工判断的过程也会浪费较多时间,或者是不经过人工判断直接重复发送全部消息,同 样会导致耗时较长。

【发明内容】

[0004] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的异常处理方法和相应的异常处理装置。
[0005] 依据本发明的一个方面,提供了一种异常处理方法,包括:
[0006] 预先将待处理任务的第一状态与触发所述第一状态的执行方法进行对应;
[0007] 在待处理任务被各进程执行的过程中,根据各进程调用的执行方法与第一状态的 对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任务的处理进度;
[0008] 当处理一待处理任务的进程出现异常,重启所述进程后,读取记录的待处理任务 的第一状态及待处理任务的处理进度;
[0009] 所述进程从触发所述第一状态的执行方法开始执行,并从所述处理进度处开始处 理所述待处理任务。
[0010] 优选地,所述待处理任务包括发送任务和发送任务的发送子任务;所述发送任务 包括至少一种信息类型、平台标识;
[0011] 所述第一状态包括待执行状态、执行中状态和已完成状态。
[0012] 优选地,所述在待处理任务被各进程执行的过程中,根据各进程调用的执行方法 与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任务 的处理进度的步骤包括:
[0013] 接收由客户端提交的发送任务并存入第一任务队列,并将所述发送任务的第一状 态更新为待执行状态;
[0014] 由第一进程从第一任务队列中提取发送任务,并将所述发送任务的第一状态更新 为执行中状态;
[0015] 由第一进程从根据所述发送任务中的平台标识,调用对于平台标识的待发送对象 获取接口,从相应的平台中获取各待发送对象;
[0016] 由第一进程基于从相应的平台中获取各待发送对象,将所述发送任务拆分为至少 两个发送子任务,并将所述发送子任务放入第二任务队列;其中,在发送任务的执行中状态 下记录发送任务的处理进度,并将所述发送子任务的第一状态更新为待处理状态;
[0017] 由多个消费进程从所述第二任务队列中提取发送子任务,并将被提取的发送子任 务的第一状态更新为执行中状态;
[0018] 每个消费进程调用与信息类型相应的发送接口,向各待发送对象发送待发送信 息;其中在发送子任务的执行中状态下记录发送子任务的进度;在发送子任务的待发送信 息发送完毕之后,将发送子任务的状态更新为已完成状态,并所述发送任务的所有发送子 任务全部为已完成状态后,将发送任务的状态更新为已完成状态。
[0019] 优选地,所述发送任务还包括:发送时间策略;
[0020] 进一步的,所述由第一进程从第一任务队列中提取发送任务的步骤,包括:
[0021] 由第一进程扫描所述第一任务队列,提取发送时间策略达到预设条件的发送任 务。
[0022] 优选地,所述发送任务还包括:业务标识和/或用户范围条件;
[0023] 进一步的,在由第一进程从根据所述发送任务中的平台标识,调用对于平台标识 的待发送对象获取接口,从相应的平台中获取各待发送对象的步骤之后,还包括:
[0024] 在从相应的平台中获取的各待发送对象中,筛选业务标识下的待发送对象和/或 在所述用户范围条件之内的待发送对象。
[0025] 优选地,所述第一状态还包括停止状态和/或暂停状态;
[0026] 进一步的,所述在待处理任务被各进程执行的过程中,根据各进程调用的执行方 法与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处理任 务的处理进度的步骤,还包括:
[0027]在接收到对发送任务的终止指令后,将所述发送任务的第一状态更新为已停止状 态;
[0028]和/或,在接收到对发送任务的暂停指令后,将所述发送任务的第一状态更新为暂 停状态。
[0029]优选地,每个消费进程调用与信息类型相应的发送接口,向各待发送对象发送待 发送信息的步骤时,还包括:
[0030] 判断所述发送子任务所属的发送任务的第一状态是否为已停止状态;
[0031] 如果所述发送子任务所属的发送任务的第一状态为已停止状态,则停止从第二任 务队列中获取所述发送任务的发送子任务,以获取其他的发送任务的发送子任务,并将所 述发送子任务的第一状态更新为已停止状态;
[0032] 和/或,判断所述发送子任务所属的发送任务的第一状态是否为已暂停状态;
[0033] 如果所述发送子任务所属的发送任务的第一状态为已暂停状态,则暂停从第二任 务队列中获取所述发送任务的发送子任务,并将所述发送子任务的第一状态更新为已暂停 状态。
[0034] 优选地,所述每个消费进程调用与信息类型相应的发送接口,向各待发送对象发 送待发送信息的步骤,包括:
[0035] 每个消费进程在不超过预定的发送信息速度下,调用与信息类型相应的发送接 口,向各待发送对象发送待发送消息;所述发送信息速度包括在指定时间周期内待发送信 息的发送条数。
[0036] 优选地,所述发送任务中还包括:个性化信息模板;
[0037] 进一步的,在由第一进程从根据所述发送任务中的平台标识,调用对于平台标识 的待发送对象获取接口,从相应的平台中获取各待发送对象的步骤之后,还包括:
[0038] 由第一进程针对不同的待发送对象,依据预设的个性化信息模版,为每个待发送 对象生成个性化的待发送信息。
[0039]优选地,所述由第一进程针对不同的待发送对象,依据预设的个性化信息模版,为 每个待发送对象生成个性化的待发送信息的步骤,包括:
[0040]针对每个待发送对象,获取对应各关键字段的数据;
[0041 ]将各关键字段的数据填入所述个性化信息模版相应的关键字段中;
[0042] 为每个待发送对象生成个性化信息。
[0043] 优选地,所述将各关键字段的数据填入所述个性化信息模版相应的关键字段中的 步骤,包括:
[0044] 将待发送对象对应的用户称谓信息,填入所述个性化信息模版中的称谓字段;
[0045] 将待发送对象的个性化通知信息,写入所述个性化信息模版中的个性化通知字 段。
[0046] 优选地,所述信息类型包括:短信、和/或邮件、和/或站内信息。
[0047]根据本发明的另一方面,提供了一种异常处理装置,包括:
[0048]关系对应模块,适于预先将待处理任务的第一状态与触发所述第一状态的执行方 法进行对应;
[0049] 编辑记录模块,适于在待处理任务被各进程执行的过程中,根据各进程调用的执 行方法与第一状态的对应关系修改待处理任务的第一状态,并在相应状态下记录所述待处 理任务的处理进度;
[0050] 读取模块,适于当处理一待处理任务的进程出现异常,重启所述进程后,读取记录 的待处理任务的第一状态及待处理任务的处理进度;
[0051 ]再执行模块,适于所述进程从触发所述第一状态的执行方法开始执行,并从所述 处理进度处开始处理所述待处理任务。
[0052] 优选地,所述待处理任务包括发送任务和发送任务的发送子任务;所述发送任务 包括至少一种信息类型、平台标识;
[0053]所述第一状态包括待执行状态、执行中状态和已完成状态。
[0054]优选地,所述编辑记录模块,包括:
[0055] 发送任务获取子模块,适于接收由客户端提交的发送任务并存入第一任务队列, 并将所述发送任务的第一状态更新为待执行状态;
[0056] 发送任务提取子模块,适于由第一进程从第一任务队列中提取发送任务,并将所 述发送任务的第一状态更新为执行中状态;
[0057] 待发送对象获取子模块,适于由第一进程从根据所述发送任务中的平台标识,调 用对于平台标识的待发送对象获取接口,从相应的平台中获取各待发送对象;
[0058] 拆分子模块,适于由第一进程基于从相应的平台中获取各待发送对象,将所述发 送任务拆分为至少两个发送子任务,并将所述发送子任务放入第二任务队列;其中,在发送 任务的执行中状态下记录发送任务的处理进度;
[0059] 发送子任务提取子模块,适于由多个消费进程从所述第二任务队列中提取发送子 任务,并将被提取的发送子任务的第一状态更新为待执行状态;
[0060] 消息发送子模块,适于每个消费进程调用与信息类型相应的发送接口,向各待发 送对象发送待发送信息;其中在发送子任务的执行中状态下记录发送子任务的进度;在发 送子任务的待发送信息发送完毕之后,将发送子任务的状态更新为已完成状态,并所述发 送任务的所有发送子任务全部为已完成状态后,将发送任务的状态更新为已完成状态。 [0061 ]优选地,所述发送任务还包括:发送时间策略;
[0062] 进一步的,所述发送任务提取子模块,包括:
[0063] 发送任务筛选子模块,适于由第一进程扫描所述第一任务队列,提取发送时间策 略达到预设条件的发送任务。
[0064] 优选地,所述发送任务还包括:业务标识和/或用户范围条件;
[0065] 进一步的,在待发送对象获取子模块之后,还包括:
[0066] 待发送对象筛选子模块,适于在从相应的平台中获取的各待发送对象中,筛选业 务标识下的待发送对象和/或在所述用户范围条件之内的待发送对象。
[0067] 优选地,所述第一状态还包括停止状态和/或暂停状态;
[0068]进一步的,所述编辑记录模块,还包括:
[0069] 已停止状态更新子模块,适于在接收到对发送任务的终止指令后,将所述发送任 务的第一状态更新为已停止状态;
[0070] 和/或,已停止状态更新子模块,适于在接收到对发送任务的暂停指令后,将所述 发送任务的第一状态更新为暂停状态。
[0071 ]优选地,消息发送子模块,还包括:
[0072]已停止状态判断子模块,适于判断所述发送子任务所属的发送任务的第一状态是 否为已停止状态;如果所述发送子任务所属的发送任务的第一状态为已停止状态,则进入 停止获取子模块;
[0073]和/或,已暂停状态判断子模块,适于判断所述发送子任务所属的发送任务的第一 状态是否为已暂停状态;如果所述发送子任务所属的发送任务的第一状态为已暂停状态, 则进入暂停获取子模块;
[0074]停止获取子模块,适于停止从第二任务队列中获取所述发送任务的发送子任务, 以获取其他的发送任务的发送子任务,并将所述发送子任务的第一状态更新为已停止状 态;
[0075] 暂停获取子模块,适于暂停从第二任务队列中获取所述发送任务的发送子任务, 并将所述发送子任务的第一状态更新为已暂停状态。
[0076] 优选地,所述消息发送子任务,包括:
[0077] 限速发送子模块,适于每个消费进程在不超过预定的发送信息速度下,调用与信 息类型相应的发送接口,向各待发送对象发送待发送消息;所述发送信息速度包括在指定 时间周期内待发送信息的发送条数。
[0078] 优选地,所述发送任务中还包括:个性化信息模板;
[0079] 进一步的,在待发送对象获取子模块之后,还包括:
[0080] 个性化信息生成子模块,适于由第一进程针对不同的待发送对象,依据预设的个 性化信息模版,为每个待发送对象生成个性化的待发送信息。
[0081 ]优选地,所述个性化信息生成子模块,包括:
[0082]关键字段获取子模块,适于针对每个待发送对象,获取对应各关键字段的数据; [0083]关键字段编辑子模块,适于将各关键字段的数据填入所述个性化信息模版相应的 关键字段中;
[0084] 生成子模块,适于为每个待发送对象生成个性化信息。
[0085] 优选地,所述关键字段编辑子模块,包括:
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1