当前位置: 首页 > 专利查询>清华大学专利>正文

一种分布式闪存事务处理方法技术

技术编号:12249337 阅读:97 留言:0更新日期:2015-10-28 14:13
本发明专利技术公开了一种分布式闪存事务处理方法,包括以下步骤:S1:进行事务两阶段提交,去除两阶段提交协议的状态日志记录,内化为事务接口中的闪存元数据操作,以协调者最后提交作为分布式事务结束标识;S2:事务进行过程中,数据临时对象存储为影子版本,使用影子映射表存储所述影子版本的地址或页在事务处理中的状态、页元数据记录事务信息、事务元数据页记录事务状态和事务状态表记录事务元数据页地址;S3:当协调者或参与者故障时,扫描部分存储,读取闪存元数据,恢复FTL映射表、影子映射表、事务状态表,从而确定事务在两阶段提交中的状态。本发明专利技术具有如下优点:减少日志,提高分布式闪存环境下事务处理效率。

【技术实现步骤摘要】

本专利技术涉及闪存存储
,特别涉及。
技术介绍
闪存为一种非易失性存储器,根据内部连接结构的不同分为NOR型和NAND型,由于NAND型结构相对简单,在闪存SSD得到广泛使用。闪存单元单向编程,并且读写以页为单位,擦除以块为单位,重写一页之前需要先擦除,因此闪存中使用异地数据更新的策略。闪存页带有OOB (out-of-band)区,可作为页元数据。闪存的异地数据更新使数据新旧版本得以在存储中共存,因而比较适合于事务处理。事务处理的目的就在于保证事务操作的原子性,以及事务执行发生故障时,服务器对象仍然保证一致性,分布式事务通常使用原子提交协议(常用两阶段提交协议)控制事务的执行过程,使用日志技术记录数据临时版本和事务执行状态。事务经历两阶段提交,将产生5次状态日志写,此外日志中还有与事务数据同样大小的临时版本,过多日志写,带来时间和空间的双重开销,因此一些研究试图使用修改映射的方法(影子分页技术)避免数据从日志写回的操作开销,然而传统存储的随机读写性能有限,而且局部性的破坏也会带来性能的牺牲,所以传统的存储不这样做。闪存存储则能克服以上不足,一些基于闪存的集中式事务设计将临时数据组织为影子版本,事务提交时才将影子版本更新到FTL映射表,避免了数据先写入日志再写回的过程。而在分布式事务中,要想减少日志(临时版本记录和状态记录)提高事务处理性能,需要保证事务逻辑的正常进行且保证故障后有足够冗余数据用于恢复。除了日志操作外,较多的通信也带来了开销,并且两阶段提交协议为阻塞式协议,在通信不通畅时,协议开销巨大。
技术实现思路
本专利技术旨在至少解决上述技术问题之一。为此,本专利技术的一个目的在于提出。为了实现上述目的,本专利技术的第一方面的实施例公开了,包括以下步骤:S1:进行事务两阶段提交,去除两阶段提交协议的状态日志记录,内化为事务接口中的闪存元数据操作,以协调者最后提交作为分布式事务结束标识;S2:事务进行过程中,数据临时对象存储为影子版本,使用影子映射表存储所述影子版本的地址或页在事务处理中的状态、页元数据记录事务信息、事务元数据页记录事务状态和事务状态表记录事务元数据页地址;S3:当协调者或参与者故障时,扫描部分存储,读取闪存元数据,恢复FTL映射表、影子映射表、事务状态表,从而确定事务在两阶段提交中的状态。据本专利技术实施例的,可大幅减少状态记录的次数,仅需要一次事务元数据页操作和相关映射表操作即可完成;并且减少数据写入量,只需占用约一个闪存页的大小;该方法避免了新数据从日志写回到原地址的操作,仅需要对FTL映射表进行修改即可完成新旧数据版本的转换。总之,该方法减少了状态记录和临时版本记录的开销,从而提高分布式事务的处理效率;由于恢复时扫描的空间更少,事务状态恢复的开销也更小。另外,根据本专利技术上述实施例的,还可以具有如下附加的技术特征:进一步地,所述影子映射表为内存结构,在两阶段提交第一阶段,记录影子版本地址,在两阶段提交第二阶段记录参与事务的页的状态。进一步地,所述协调者或参与者进行事务的过程中,额外分配一个闪存页作为事务元数据页,记录两阶段提交第二阶段事务状态。 进一步地,所述事务状态表为持久存储的映射表,在事务元数据页写入之前,事务状态表将存储事务ID到事务元数据页地址的映射。进一步地,所述影子映射表中的页处于两阶段提交第一阶段,所述页的元数据用于判断事务是否准备就绪;所述事务状态表中的事务处于两阶段提交第二阶段,其中所述事务状态表存储的事务元数据页用于判断事务的提交或放弃。进一步地,所述步骤S2进一步包括:事务写时,所述影子映射表存储新数据的位置;所述页元数据记录逻辑页号、事务ID、事务页数目,事务提交时,新数据的位置更新到FTL映射表,变为用户可读;所述影子映射表记录提交标识,事务元数据页记录事务提交,如果事务放弃,所述影子映射表记录放弃标识,所述事务元数据页记录事务放弃,新数据置为无效;如果闪存块全部利用且所述闪存块上的事务全部完成则标记为CHECKED ±夬,如果存在没有完成的事务则标记为WAIT块;若闪存块部分利用,标记为UPDATE块;若闪存块未利用,标记为FREE块;块第一页用于区别块状态;在两阶段提交过程发生故障时,恢复所述FTL映射表、所述影子映射表和所述事务状态表用于确定事务状态,扫描所述WAIT块和所述UPDATE块。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术一个实施例的用户态访问闪存的过程示意图;图2为本专利技术一个实施例的事务主要操作接口及其主要参数描述图;图3为本专利技术一个实施例的分布式闪存事务处理示意图;图4为本专利技术一个实施例的一个分布式事务执行过程的示意图;图5为本专利技术一个实施例的一个分布式事务执行过程页元数据示意图;图6为本专利技术一个实施例的协调者或参与者故障时,恢复协调者或参与者中事务状态的流程图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。参照下面的描述和附图,将清楚本专利技术的实施例的这些和其他方面。在这些描述和附图中,具体公开了本专利技术的实施例中的一些特定实施方式,来表示实施本专利技术的实施例的原理的一些方式,但是应当理解,本专利技术的实施例的范围不受此限制。相反,本专利技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。以下结合附图描述根据本专利技术实施例的。为了方便理解,先介绍分布式闪存环境和分布式事务。在一些分布式系统如分布式文件系统、分布式数据库管理系统中,事务操作分散在不同的服务器,称为分布式事务,一般使用两阶段提交协议进行事务的处理。由于分布式系统对高性能的需求不断增加,而闪存比传统存储读写效率更高,因此,分布式系统开始采用闪存为服务器存储介质,从而构成了一个基于闪存的分布式环境。事务进行时,有多个服务器参与其中,某一个服务器承担协调者的角色,其余参与的服务器为参与者,协调者与参与者通信,控制事务的操作与提交本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/CN105005535.html" title="一种分布式闪存事务处理方法原文来自X技术">分布式闪存事务处理方法</a>

【技术保护点】
一种分布式闪存事务处理方法,其特征在于,包括以下步骤:S1:进行事务两阶段提交,去除两阶段提交协议的状态日志记录,内化为事务接口中的闪存元数据操作,以协调者最后提交作为分布式事务结束标识;S2:事务进行过程中,数据临时对象存储为影子版本,使用影子映射表存储所述影子版本的地址或页在事务处理中的状态、页元数据记录事务信息、事务元数据页记录事务状态和事务状态表记录事务元数据页地址;S3:当协调者或参与者故障时,扫描部分存储,读取闪存元数据,恢复FTL映射表、影子映射表、事务状态表,从而确定事务在两阶段提交中的状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:舒继武陆游游李飞
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1