一种数据处理方法、系统及计算机可读存储介质技术方案

技术编号:33134611 阅读:30 留言:0更新日期:2022-04-17 00:57
本发明专利技术提供一种数据处理方法、系统及介质,方法包括:处理线程在被处理引擎启动后,锁定分布式锁,并在判定锁定成功时获取第一数据库中指定的数据表的游标ID;分布式锁及游标ID存储于第二数据库;在数据表中确定游标ID对应的第一数据及第一数据后预设条数的第二数据,并在第一数据和第二数据中检索待处理数据;数据表中的数据设置有数据ID;在检索完成后,将游标ID更新为最后一条第二数据的数据ID,并释放分布式锁,以便其它处理线程锁定分布式锁;若检索到待处理数据,则处理待处理数据,将处理结果发送至处理引擎进行合并;重新锁定分布式锁;可利用分布式锁及游标ID避免重复检索所造成的性能浪费,并有效保障数据处理的一致性。性。性。

【技术实现步骤摘要】
一种数据处理方法、系统及计算机可读存储介质


[0001]本专利技术涉及数据库领域,特别涉及一种数据处理方法、系统及计算机可读存储介质。

技术介绍

[0002]在企业级应用中,经常会需要对海量数据进行检索并处理。大多数数据将被当场处理,但少数数据无法被当场处理,需要后续清扫数据库进行处理。由于未处理数据分布于数据表的不同位置,因此需要有一种方案能够快速的找到它们并进行处理。
[0003]相关技术中,通常采用多个线程对数据表进行检索,然而每一线程在进行检索时都需从数据表头进行处理,在面对巨量数据时,这种检索方式容易导致检索失败,或是增长检索时间;此外在检索时任由数据并发,仅依赖下游幂等控制或者数据库唯一索引来确保数据一致性,容易浪费带宽、下游系统运算能力及数据库运算资源。

技术实现思路

[0004]本专利技术的目的是提供一种数据处理方法、系统及计算机可读存储介质,可利用分布式锁及游标ID避免重复检索所造成的性能浪费,并有效保障数据处理的一致性。
[0005]为解决上述技术问题,本专利技术提供一种数据处理方法,包括:<本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:处理线程在被处理引擎启动后,锁定分布式锁,并在判定锁定成功时获取第一数据库中指定的数据表的游标ID;所述分布式锁及所述游标ID存储于第二数据库;在所述数据表中确定所述游标ID对应的第一数据及所述第一数据后预设条数的第二数据,并在所述第一数据和所述第二数据中检索待处理数据;所述数据表中的数据设置有数据ID;在检索完成后,将所述游标ID更新为最后一条所述第二数据的数据ID,并释放所述分布式锁,以便其它处理线程锁定所述分布式锁;若检索到所述待处理数据,则处理所述待处理数据,将处理结果发送至所述处理引擎进行合并;重新锁定所述分布式锁。2.根据权利要求1所述的数据处理方法,其特征在于,在处理所述待处理数据之前,还包括:所述处理线程将所述待处理数据的待处理数据ID发送至所述第二数据库;所述第二数据库判断是否已存有所述待处理数据ID;若是,则记录所述待处理数据ID,并向所述处理线程发送写入成功信息,以使所述处理线程执行所述对所述待处理数据进行处理的步骤;若否,则向所述处理线程发送写入失败信息,以使所述处理线程不执行所述对所述待处理数据进行处理的步骤。3.根据权利要求2所述的数据处理方法,其特征在于,在向所述处理线程发送写入成功信息之后,还包括:所述第二数据库记录所述待处理数据ID的写入时刻;根据所述写入时刻判断所述待处理数据ID是否过期;若是,则清除所述待处理数据ID。4.根据权利要求1所述的数据处理方法,其特征在于,在将所述游标ID更新为最后一条所述第二数据的数据ID之前,还包括:所述处理线程判断是否检索到所述待处理数据;若是,则执行将所述游标ID更新为最后一条所述第二数据的数据ID的步骤;若否,则在所述第一数据和所述第二数据中重新检索所述待处理数据,并判断是否检索到所述待处理数据;若是,则将所述游标ID更新为第一条所述待处理数据前一条数据的数据ID;若否,则执行将所述游标ID更新为最后一条所述第二数据的数据ID的步骤。5.根据权利要求1所述的数据处理方法,其特征在于,所述第二数据库为Redis数据库。6.根据权利要求1至5任...

【专利技术属性】
技术研发人员:陈嘉琦胡琪魏丹
申请(专利权)人:上海途虎信息技术有限公司
类型:发明
国别省市:

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

1