【技术实现步骤摘要】
一种基于多核处理器的并发事务处理方法及其系统
[0001]本申请涉及并发事务处理领域,特别是一种基于多核处理器的并发事务处理方法及其系统。
技术介绍
[0002]之前都只有一个用户访问数据,出现多个用户访问相同数据的情况,这被称为“并发”(concurrency),当一个用户企图修改另一个用户正在检索或修改的数据时,并发会成为一个问题。现代计算机系统都是基于多核架构的中央处理器(Central Processing Unit,简称CPU),而数据库系统为了处理并发事务请求,需要将事务分配到不同CPU的核心上进行计算。
[0003]不同事务间可能存在访问相同数据的情况,需要通过类似锁机制针对特定数据记录进行并发保护。而类似的锁机制仅能避免并发访问,其可能导致不同事务处理之间的等待,进而使得系统整体处理能力严重受制于事务锁粒度,扩展性较差。
[0004]有一类数据库系统为了提升并行处理能力,提出了无锁并发控制,将数据分区与特定CPU核绑定,当事务仅作用于特定数据分区时,不用考虑与其他CPU核的并发访问问题,这类方 ...
【技术保护点】
【技术特征摘要】
1.一种基于多核处理器的并发事务处理方法,其特征在于,包括步骤:当目标时间段内出现事务并发时,则获取在所述目标时间段内出现的事务的读写集合;依据所述读写集合确定所述事务之间的冲突关系以及对应于所述事务的执行代价;依据所述冲突关系确定所述事务对应的分区;其中,访问相同数据的所述事务对应的分区相同;依据所述冲突关系和所述执行代价确定所述事务在所述分区的队列类型;其中,所述队列类型包括无冲突队列和冲突队列;当所述冲突队列中的事务与其他分区中的事务存在冲突时,则所述冲突队列中的事务延迟处理。2.根据权利要求1所述的方法,其特征在于,所述执行代价为对应的处理器执行所述事务的时间;所述依据所述冲突关系和所述执行代价确定所述事务在所述分区的队列类型的步骤,包括:依据所述读写集合确定所述事务的启动时间;依据所述启动时间和所述执行代价确定所述事务的执行时间片;依据所述冲突关系确定目标分区中目标事务的执行时间片与其他分区中事务的执行时间片是否有重叠,若是,则所述目标事务在所述冲突队列中,若否,则所述目标事务在所述无冲突队列中。3.根据权利要求2所述的方法,其特征在于,所述当所述冲突队列中的事务与其他分区中的事务存在冲突时,则所述冲突队列中的事务延迟处理的步骤,包括:依据所述执行时间片确定所述事务在所述冲突队列中的排序;当所述冲突队列中事务的执行时间片与其他分区中事务的执行时间片重叠时,则所述冲突队列中的事务延迟处理。4.根据权利要求3所述的方法,其特征在于,所述依据所述执行时间片确定所述事务在所述冲突队列中的排序的步骤,包括:依据所述冲突关系将所述冲突队列中事务的执行时间片与其他分区中事务的执行时间片错峰排序。5.根据权利要求1所...
【专利技术属性】
技术研发人员:樊文飞,曹洋,欧伟杰,谢锐,
申请(专利权)人:深圳计算科学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。