【技术实现步骤摘要】
数据处理方法及装置
[0001]本申请实施例涉及数据处理领域,尤其涉及一种数据处理方法及装置。
技术介绍
[0002]数据库性能是数据库产品竞争力的关键指标。在“以数据为中心”的数据中心战略转型中,数据库承载了数据中心的状态数据的存储,数据库的性能表现直接关系到数据中心设备的性能表现。在数据通信和工业数据服务等产品中,由于资源和功耗的限制,当前基于冯诺依曼处理器架构的软件优化已无法满足数据业务在资源受限环境下的日益增长性能要求。为了克服这个瓶颈,业界提出了各种硬件加速和异构计算的方法,然而在数据库中,由于事务(Transaction)模型的隔离性和原子性要求数据操作在各个阶段或数据集合封锁或冲突检查,限制了硬件的并发能力,使得数据库处理过程中无法兼顾高吞吐的性能指标。
技术实现思路
[0003]本申请实施例提供一种数据处理方法及装置。在该方法中,装置通过预先执行冲突过滤,并以并发模式执行数据库操作,以减少事务失败的概率,提升系统吞吐性能指标。
[0004]第一方面,本申请实施例提供一种数据处理方法。该方法包括:装置获取事务,事务包括N个数据库操作。其中,N为大于1的正整数。接着,装置对N个数据库操作进行冲突检测,得到冲突检测结果。其中,冲突检测结果中包括指示第一数据库操作与第二数据库操作互为冲突操作的结果。其中,第一数据库操作与第二数据库操作属于N个数据库操作。随后,装置基于冲突检测结果,将N个数据库操作划分为M个分组,其中,M个分组中的每个分组中包括多个数据库操作,并且第一数据库操作与第二数 ...
【技术保护点】
【技术特征摘要】
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的正...
【专利技术属性】
技术研发人员:彭锋彬,周敏奇,罗正海,胡璟,陈剑辉,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。