[发明专利]一种基于图形处理器的数据库事务执行方法有效
申请号: | 201810778840.9 | 申请日: | 2018-07-16 |
公开(公告)号: | CN109033301B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 华蓓;曹利安;黄翔;陆李 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 汪祥虬 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于图形处理器的数据库事务执行方法,特征是采取事务拆分、构建事务依赖图、无冲突事务集合划分、基本操作分组和事务执行的步骤;通过将事务拆分为基本操作,根据基本操作之间的冲突得出事务之间的依赖关系,构建出事务依赖图;在执行事务时,每个基本操作由一个GPU线程执行,与现有的每个GPU线程执行一个事务的执行方法相比,在保证事务执行正确的前提下,提高了事务执行的并行性,缩短了事务执行时间,提高了系统吞吐量。 | ||
搜索关键词: | 一种 基于 图形 处理器 数据库 事务 执行 方法 | ||
【主权项】:
1.一种基于图形处理器的数据库事务执行方法,其特征在于包括以下步骤:第一步:事务拆分根据一批事务的数据访问要求,将事务拆分成多个基本操作,一个基本操作由[数据项,事务号,操作类型]表示,如果两个基本操作访问同一个数据项,并且其中至少有一个基本操作是写操作,则认为这两个数据项冲突;两个事务t1和t2中至少关于一个数据项是冲突的,则认为这两个事务有依赖关系;第二步:构建事务依赖图初始事务依赖图为空,按事务号从小到大的顺序依次添加所有的事务和相应的依赖到事务依赖图;顶点代表一个事务;当满足以下三个条件时,在事务t1和t2之间添加一条边:①两个事务t1和t2之间存在依赖关系,②事务t1的事务号小于事务t2的事务号,③不存在另一个事务t,使得事务t的事务号介于事务t1和t2之间、且事务t和事务t1、t2都有依赖关系,事务t1称为事务t2的前缀顶点;第三步:无冲突事务集合划分在构造好的事务依赖图中,源顶点是无前缀顶点的顶点,其对应的事务不依赖于任何其它事务;顶点v的深度为从源顶点到顶点v的最长路径长度,源顶点的深度为零;具有相同深度的事务放入同一个集合,深度为k的顶点构成的集合称为k‑set,事务依赖图的深度为所有顶点深度的最大值;第四步:基本操作分组在每个k‑set中,把所有的读操作加入同一组称为0‑组,把所有的写操作加入同一组称为1‑组;0‑组内的操作之间无依赖关系,1‑组内的操作之间无依赖关系;1‑组依赖于0组;第五步:事务执行按照0‑set,1‑set,…,k‑set的顺序依次执行事务;在每个事务集合内部,按照0‑组,1‑组的顺序执行操作,一个操作由一个GPU线程执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810778840.9/,转载请声明来源钻瓜专利网。