一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法及装置与流程

2023-02-20 12:06:12 来源:中国专利 TAG:

技术特征:
1.一种数据处理方法,其特征在于,包括:获取事务,所述事务包括n个数据库操作;n为大于1的正整数;对所述n个数据库操作进行冲突检测,得到冲突检测结果;其中,所述冲突检测结果指示第一数据库操作与第二数据库操作互为冲突操作;所述第一数据库操作与所述第二数据库操作属于所述n个数据库操作;基于所述冲突检测结果,将所述n个数据库操作划分为m个分组;所述m个分组中的每个分组中包括多个数据库操作;其中,所述第一数据库操作与所述第二数据库操作属于不同的分组;m为大于1的正整数;并发执行所述m个分组中的每个分组中的多个数据库操作。2.根据权利要求1所述的方法,其特征在于,所述并发执行所述m个分组中的每个分组中的多个数据库操作,包括:调用多个硬件加速器并发执行所述m个分组中的单一分组中的多个数据库操作;其中,单一硬件加速器执行单一数据库操作。3.根据权利要求2所述的方法,其特征在于,所述调用多个硬件加速器并发执行所述m个分组中的单一分组中的多个数据库操作,包括:基于第一分组中包括的x个数据库操作,触发x个硬件加速器;所述第一分组属于所述m个分组;向所述x个硬件加速器指示所述x个数据库操作,使得所述x个硬件加速器并行执行所述x个数据库操作。4.根据权利要求3所述的方法,其特征在于,所述调用多个硬件加速器并发执行所述m个分组中的单一分组中的多个数据库操作,包括:从共享内存中读取所述x个数据库操作的执行结果;其中,所述x个数据库操作的执行结果为所述多个硬件加速器并发执行所述x个数据库操作后写入的。5.根据权利要求4所述的方法,其特征在于,所述调用多个硬件加速器并发执行所述m个分组中的单一分组中的多个数据库操作,包括:从共享内存中读取所述x个数据库操作的执行结果之后,基于第二分组中包括的y个数据库操作,触发y个硬件加速器;所述第二分组属于所述m个分组;向所述y个硬件加速器指示所述y个数据库操作,使得所述y个硬件加速器并行执行所述y个数据库操作。6.根据权利要求4所述的方法,其特征在于,所述x个数据库操作的执行结果置于所述共享内存的环形队列中。7.根据权利要求3所述的方法,其特征在于,所述调用多个硬件加速器并发执行所述m个分组中的单一分组中的多个数据库操作,包括:通过第一接口向内存处理器发送第一指示信号,所述指示信号用于指示所述内存处理器触发所述x个硬件加速器。8.根据权利要求1至7任一项所述的方法,其特征在于,所述并发执行所述m个分组中的每个分组中的多个数据库操作之前,包括:将所述n个数据库操作中的删操作的索引信息置于第一队列;将所述n个数据库操作中的增操作的反向操作的索引信息置于第二队列。
9.根据权利要求8所述的方法,其特征在于,所述并发执行所述m个分组中的每个分组中的多个数据库操作,包括:在提交所述事务之前,按照所述m个分组的情况,并行执行所述第一队列中的删操作。10.根据权利要求8所述的方法,其特征在于,所述方法还包括:若在并发执行所述m个分组中的每个分组中的多个数据库操作的过程中,检测到发生操作冲突,基于所述第二队列中的增操作的反向操作的索引信息,执行所述增操作的反向操作,完成所述事务回滚。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:所述事务回滚后,串行执行所述n个数据库操作。12.根据权利要求1所述的方法,其特征在于,所述对所述n个数据库操作进行冲突检测,得到冲突检测结果,包括:获取所述n个数据库操作中的每个数据库操作对应的哈希值;检测所述n个数据操作对应的哈希值是否存在数值相等的数值;检测到所述第一数据库操作的哈希值与所述第二数据库操作的哈希值相等,确定所述第一数据库操作与所述第二数据库操互为冲突操作。13.根据权利要求12所述的方法,其特征在于,所述基于所述冲突检测结果,将所述n个数据库操作划分为m个分组,包括:基于所述冲突检测结果与预设分组规则,将所述n个数据库操作划分为m个分组;所述预设分组规则包括以下至少之一:单一分组中的多个数据库操作的哈希值不相等;单一分组中包含的数据库操作的数量小于或等于硬件加速器的数量;单一分组中包含的数据库操作的执行时间在指定范围内;单一分组中包含的数据库操作的类型为同一类型。14.一种数据处理装置,其特征在于,包括:获取模块,用于获取事务,所述事务包括n个数据库操作;n为大于1的正整数;冲突检测模块,用于对所述n个数据库操作进行冲突检测,得到冲突检测结果;其中,所述冲突检测结果指示第一数据库操作与第二数据库操作互为冲突操作;所述第一数据库操作与所述第二数据库操作属于所述n个数据库操作;分组模块,用于基于所述冲突检测结果,将所述n个数据库操作划分为m个分组;所述m个分组中的每个分组中包括多个数据库操作;其中,所述第一数据库操作与所述第二数据库操作属于不同的分组;m为大于1的正整数;执行模块,用于并发执行所述m个分组中的每个分组中的多个数据库操作。15.根据权利要求14所述的装置,其特征在于,执行模块,具体用于:调用多个硬件加速器并发执行所述m个分组中的单一分组中的多个数据库操作;其中,单一硬件加速器执行单一数据库操作。16.根据权利要求15所述的装置,其特征在于,所述执行模块,具体用于:基于第一分组中包括的x个数据库操作,触发x个硬件加速器;所述第一分组属于所述m个分组;向所述x个硬件加速器指示所述x个数据库操作,使得所述x个硬件加速器并行执行所
述x个数据库操作。17.根据权利要求16所述的装置,其特征在于,所述执行模块,具体用于:从共享内存中读取所述x个数据库操作的执行结果;其中,所述x个数据库操作的执行结果为所述多个硬件加速器并发执行所述x个数据库操作后写入的。18.根据权利要求17所述的装置,其特征在于,所述执行模块,具体用于:从共享内存中读取所述x个数据库操作的执行结果之后,基于第二分组中包括的y个数据库操作,触发y个硬件加速器;所述第二分组属于所述m个分组;向所述y个硬件加速器指示所述y个数据库操作,使得所述y个硬件加速器并行执行所述y个数据库操作。19.根据权利要求18所述的装置,其特征在于,所述x个数据库操作的执行结果置于所述共享内存的环形队列中。20.根据权利要求16所述的装置,其特征在于,所述执行模块,具体用于:通过第一接口向内存处理器发送第一指示信号,所述指示信号用于指示所述内存处理器触发所述x个硬件加速器。21.根据权利要求14至20任一项所述的装置,其特征在于,所述执行模块,还用于:将所述n个数据库操作中的删操作的索引信息置于第一队列;将所述n个数据库操作中的增操作的反向操作的索引信息置于第二队列。22.根据权利要求21所述的装置,其特征在于,所述执行模块还用于:在提交所述事务之前,按照所述m个分组的情况,并行执行所述第一队列中的删操作。23.根据权利要求21所述的装置,其特征在于,所述执行模块还用于:若在并发执行所述m个分组中的每个分组中的多个数据库操作的过程中,检测到发生操作冲突,基于所述第二队列中的增操作的反向操作的索引信息,执行所述增操作的反向操作,完成所述事务回滚。24.根据权利要求23所述的装置,其特征在于,所述执行模块还用于:所述事务回滚后,串行执行所述n个数据库操作。25.根据权利要求14所述的装置,其特征在于,所述冲突检测模块具体用于:获取所述n个数据库操作中的每个数据库操作对应的哈希值;检测所述n个数据操作对应的哈希值是否存在数值相等的数值;检测到所述第一数据库操作的哈希值与所述第二数据库操作的哈希值相等,确定所述第一数据库操作与所述第二数据库操互为冲突操作。26.根据权利要求25所述的装置,其特征在于,所述分组模块,具体用于:基于所述冲突检测结果与预设分组规则,将所述n个数据库操作划分为m个分组;所述预设分组规则包括以下至少之一:单一分组中的多个数据库操作的哈希值不相等;单一分组中包含的数据库操作的数量小于或等于硬件加速器的数量;单一分组中包含的数据库操作的执行时间在指定范围内;单一分组中包含的数据库操作的类型为同一类型。27.一种电子设备,其特征在于,包括:一个或多个处理器;
存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至13任一项所述的方法。28.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至13任一项所述的方法。29.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至13任一项所述的方法。

技术总结
本申请实施例提供了一种数据处理方法及装置。该方法中,通过将事务的多个数据库操作进行分组,并且并发执行分组中的多个数据库操作,以提升系统的整体吞吐率以及处理效率。以及,本申请通过预先进行冲突检测,以将可能发生冲突的数据库操作划分到不同的分组中,从而降低并发执行时的冲突概率,进一步提高系统的处理效率。处理效率。处理效率。


技术研发人员:彭锋彬 周敏奇 罗正海 胡璟 陈剑辉
受保护的技术使用者:华为技术有限公司
技术研发日:2022.08.26
技术公布日:2022/12/5
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献