[发明专利]异步任务处理方法、装置及计算机可读存储介质在审
申请号: | 202010227969.8 | 申请日: | 2020-03-27 |
公开(公告)号: | CN111538573A | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 徐国熙 | 申请(专利权)人: | 中国平安财产保险股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/38;G06F9/52;G06F16/22 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深圳市福田区益田路*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异步 任务 处理 方法 装置 计算机 可读 存储 介质 | ||
1.一种异步任务处理方法,其特征在于,所述方法包括:
接收异步任务,通过注解对所述异步任务进行声明,得到源异步任务,将所述源异步任务转换成数据库表后存入数据库中;
通过公共注册中心对所述源异步任务分配机器地址,并通过预先构建的异步框架建立所述源异步任务的分片项,其中,所述机器地址与所述分片项中的索引一一对应;
通过所述源异步任务分配的机器地址向所述公共注册中心获取所述分片项中对应的索引,并根据所述对应的索引获取相应的分片任务,利用多线程并发执行所述相应的分片任务。
2.如权利要求1所述的异步任务处理方法,其特征在于,在所述利用多线程并发执行所述相应的分片任务之前,该方法还包括:
对所述源异步任务中的分片项创建避免所述源异步任务的重复执行的节点锁。
3.如权利要求2所述的异步任务处理方法,其特征在于,所述对所述源异步任务中的分片项创建避免所述源异步任务的重复执行的节点锁,包括:
在所述源异步任务中的分片项中生成节点锁的锁名;
将所述锁名作为参数调回到所述公共注册中心,得到所述节点锁的执行顺序序列;
根据所述节点锁的执行顺序序列,生成所述分片项的节点锁。
4.如权利要求1所述的异步任务处理方法,其特征在于,在所述利用多线程并发执行所述相应的分片任务之后,该方法还包括:
记录所述源异步任务的分片任务执行过程中的信息,并对执行失败的分片任务,通过预设次数的重试机制重新执行所述执行失败的分片任务。
5.如权利要4所述的异步任务处理方法,其特征在于,所述通过预设次数的重试机制重新执行所述执行失败的分片任务,包括:
预设一个整型变量sum,重试执行所述执行失败的分片任务,并记录重试次数sum+1,利用所述重试次数sum+1的值更新所述整型变量sum,直至所述整型变量sum的值大于预设的最大重试次数,完成所述重新执行所述执行失败的分片任务。
6.如权利要求1至5中任意一项所述的异步任务处理方法,其特征在于,所述将所述源异步任务转换成数据库表后存入数据库中,包括:
通过SQL语句对所述源异步任务创建字段,将所述源异步任务中的数据按所述字段进行对应匹配,从而将所述源异步任务转换成所述数据库表,并将所述数据库表存入数据库中。
7.如权利要求1至5中任意一项所述的异步任务处理方法,其特征在于,所述通过预先构建的异步框架建立所述源异步任务的分片项,包括:
利用一个预设的分片算法对所述源异步任务进行分片,建立分片项,其中,所述分片算法包括:
FI=(to_big_integer(to_byte,32)%serviceCount)+1;
其中,FI表示建立的分片项,to_byte指的是节点号,to_big_integer表示节点号与数字32转换成整数后之间的最大值,serviceCount表示建立一个分片项所需要的次数。
8.一种异步任务处理装置,其特征在于,所述装置包括:
声明及转换模块,用于接收异步任务,通过注解对所述异步任务进行声明,得到源异步任务,将所述源异步任务转换成数据库表后存入数据库中;
分配及创建模块,用于通过公共注册中心对所述源异步任务分配机器地址,并通过预先构建的异步框架将所述源异步任务建立分片项,其中,所述机器地址与所述分片项中的索引一一对应;
获取及执行模块,用于通过所述源异步任务分配的机器地址向所述公共注册中心获取所述分片项中对应的索引,并根据所述对应的索引获取相应的分片任务,利用多线程并发执行所述相应的分片任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安财产保险股份有限公司,未经中国平安财产保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010227969.8/1.html,转载请声明来源钻瓜专利网。