预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111400330A(43)申请公布日2020.07.10(21)申请号202010180590.6(22)申请日2020.03.13(71)申请人深圳前海微众银行股份有限公司地址518000广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)(72)发明人刘建波黄蔚(74)专利代理机构深圳市世纪恒程知识产权代理事务所44287代理人王韬(51)Int.Cl.G06F16/23(2019.01)G06F9/52(2006.01)权利要求书2页说明书13页附图2页(54)发明名称任务处理方法、装置、设备及计算机可读存储介质(57)摘要本发明公开了一种任务处理方法、装置、设备及计算机可读存储介质,涉及金融科技技术领域。该任务处理方法包括:每隔第一预设时间通过轮询线程开启第一事务;向目标数据库发送查询命令,得到第一返回结果,并根据所述第一返回结果判断是否存在指定类型且处于空闲状态的互斥锁;若存在指定类型且处于空闲状态的互斥锁,则向所述目标数据库发送第一更新命令,得到第二返回结果,并根据所述第二返回结果判断所述互斥锁是否已被锁定;若判定所述互斥锁未被锁定,则向所述目标数据库提交所述第一事务,以竞争获取互斥锁,并进行任务处理。本发明能够在不引入额外基础软件设施的基础上、基于TiDB乐观锁实现任务的竞争与互斥,可节省成本。CN111400330ACN111400330A权利要求书1/2页1.一种任务处理方法,其特征在于,所述任务处理方法包括:每隔第一预设时间通过轮询线程开启第一事务;向目标数据库发送查询命令,得到第一返回结果,并根据所述第一返回结果判断是否存在指定类型且处于空闲状态的互斥锁;若存在指定类型且处于空闲状态的互斥锁,则向所述目标数据库发送第一更新命令,得到第二返回结果,并根据所述第二返回结果判断所述互斥锁是否已被锁定;若判定所述互斥锁未被锁定,则向所述目标数据库提交所述第一事务,以竞争获取互斥锁,并进行任务处理。2.如权利要求1所述的任务处理方法,其特征在于,所述每隔第一预设时间通过轮询线程开启第一事务的步骤包括:每隔第一预设时间获取轮询线程的上下文信息,并根据所述上下文信息判断所述轮询线程中是否存在处理事务;若所述轮询线程中存在处理事务,则通过所述轮询线程创建第一同步等待线程,并在所述第一同步等待线程中开启第一事务;若所述轮询线程中不存在处理事务,则在所述轮询线程中开启第一事务。3.如权利要求1所述的任务处理方法,其特征在于,所述任务处理方法还包括:当侦测到所述第一事务提交成功、获取到互斥锁时,在所述轮询线程中开启第二事务;通过所述轮询线程查询任务列表,得到待执行任务;对所述待执行任务进行标记,并将标记后的待执行任务提交到线程池进行处理;当侦测到任务处理完成时,向所述目标数据库提交所述第二事务。4.如权利要求3所述的任务处理方法,其特征在于,所述当侦测到任务处理完成时,向所述目标数据库提交所述第二事务的步骤之后,还包括:通过所述轮询线程开启第三事务;向所述目标数据库发送第二更新命令,以释放所述互斥锁,并向所述目标数据库提交所述第三事务。5.如权利要求4所述的任务处理方法,其特征在于,所述通过所述轮询线程开启第三事务的步骤包括:获取所述轮询线程的上下文信息,并根据所述上下文信息判断所述轮询线程中是否存在处理事务;若所述轮询线程中存在处理事务,则通过所述轮询线程创建第二同步等待线程,并在所述第二同步等待线程中开启第三事务;若所述轮询线程中不存在处理事务,则在所述轮询线程中开启第三事务。6.如权利要求1至5中任一项所述的任务处理方法,其特征在于,所述任务处理方法还包括:当根据所述第一返回结果判定不存在指定类型且处于空闲状态的互斥锁时,或当根据所述第二返回结果判定所述互斥锁已被锁定时,或当侦测到所述第一事务提交失败时,记录互斥锁获取失败的信息,并在经过第二预设时间时返回执行步骤:向目标数据库发送查询命令,得到第一返回结果,并根据所述第一返回结果判断是否存在指定类型且处于空闲状态的互斥锁。2CN111400330A权利要求书2/2页7.如权利要求6所述的任务处理方法,其特征在于,所述失败的信息中包括第一返回结果信息,所述任务处理方法还包括:判断所述失败的信息的数量是否超过预设阈值;若超过预设阈值,则根据所述第一返回结果信息判断各第一返回结果是否均为空;若各第一返回结果均为空,则向所述目标数据库发送第三更新命令,以强制释放所述互斥锁。8.一种任务处理装置,其特征在于,所述任务处理装置包括:第一开启模块,用于每隔第一预设时间通过轮询线程开启第一事务;第一判断模块,用于向目标数据库发送查询命令,得到第一返回结果,并根据所述第一返回结