【技术实现步骤摘要】
本专利技术属于海量数据处理
,具体涉及一种分布式对象存储系统的数据闪回方法及装置,解决海量对象数据的版本闪回及过期版本清理问题。
技术介绍
近些年来,博客(blog)、维基百科(wiki)、共享空间(spaces)等新型应用的兴起导致互联网内容的提供方式出现转变,催生了用户创造内容的web2.0时代到来,带动着视频应用、网络游戏、搜索引擎等互联网衍生业务迅速发展。这些应用每天都在产生海量的对象数据,包括图片、文档、视频等,随着这些对象数据在应用中扮演越来越重要的角色(很难想象类似淘宝这样的平台没有了图片会是什么景象),在很多场景下我们越来越希望用于存放这些对象数据的存储系统能够具备闪回的特性,即能够在对象数据被错误更新或删除时能够快速地恢复到错误操作前的某个状态,并且闪回操作应不影响在错误发生期间的其它正常写操作,即闪回不能对正常写操作形成“误伤”。近些年NOSQL领域得到了大力发展,出现了大量的NOSQL产品,它们以强大的可扩展性,很好地解决了这些海量对象数据的存储问题;然而不幸地是,对于人们所期望的闪回能力,市面上除了传统的关系型数据库(如:oracle、mysql),几乎还没有NOSQL产品具备。由于对象数据的海量特性,关系型数据库越来越被认为不适合对象数据的存储;所以,要增强海量对象数据的安全性,还必须在NOSQL方向上,针对闪回特性有所研究和突破。对于闪回机制,关系型数据库基本上都是基于数据操作日志设计并实现的,这也是数据存储领域对数据闪回的通行做法。目前的NOSQL产品的存储引擎一部分是基于数据操作日志设计、实现的,对于这些存储引擎,如 ...
【技术保护点】
一种分布式对象存储系统闪回方法,其特征是包括分布式对象存储系统的数据的写入及读取、数据的删除、数据的闪回及过期版本数据的清除;基于key‑value数据模型的存储引擎,构建三个数据存储单元:包括数据本体库(primary‑database)、数据备份库(back‑database)、数据服务版本库(servering‑database);当存储系统接收到对数据的操作请求时,基于三个数据存储单元执行写入及读取、数据的删除、数据的闪回及过期版本数据的清除;所述数据的写入,包括针对写入数据生成唯一的数据版本号;将数据版本号、数据写入的系统时间戳及写入对象数据的业务主键生成存储主键;根据已有的相同写入对象数据的所有版本,计算最新版本数据并在数据服务版本库单独存储,其他非最新版本在数据备份库进行备份;所述业务主键,它是在存储系统存入对象数据时,为对象数据构建的唯一主键,主键内容主要包括对象数据的业务属性;所述数据的读取,包括根据数据读取请求,从数据服务版本库读取当前与数据业务主键对应的版本号;基于版本号,从数据本体库读取该对象数据的具体信息;所述数据的删除,是指对服务中的某一个特定版本数据的删除 ...
【技术特征摘要】
1.一种分布式对象存储系统闪回方法,其特征是包括分布式对象存储系统的数据的写入及读取、数据的删除、数据的闪回及过期版本数据的清除;基于key-value数据模型的存储引擎,构建三个数据存储单元:包括数据本体库(primary-database)、数据备份库(back-database)、数据服务版本库(servering-database);当存储系统接收到对数据的操作请求时,基于三个数据存储单元执行写入及读取、数据的删除、数据的闪回及过期版本数据的清除;所述数据的写入,包括针对写入数据生成唯一的数据版本号;将数据版本号、数据写入的系统时间戳及写入对象数据的业务主键生成存储主键;根据已有的相同写入对象数据的所有版本,计算最新版本数据并在数据服务版本库单独存储,其他非最新版本在数据备份库进行备份;所述业务主键,它是在存储系统存入对象数据时,为对象数据构建的唯一主键,主键内容主要包括对象数据的业务属性;所述数据的读取,包括根据数据读取请求,从数据服务版本库读取当前与数据业务主键对应的版本号;基于版本号,从数据本体库读取该对象数据的具体信息;所述数据的删除,是指对服务中的某一个特定版本数据的删除;包括根据请求删除的数据版本确定该数据的存储主键,从数据服务版本库删除,同时放入数据备份库中备份留存;特别地,由于数据闪回的需要,因而在数据删除时,仅删除数据服务版本库中数据,保留数据本体库中相关该数据的数据本体;所述数据的闪回及过期版本数据的清除,包括通过备份数据库计算闪回到的时间点,并根据时间点确认数据闪回到的数据版本和过期的数据版本;依据版本号向数据服务版本库中覆盖性写入该数据的存储主键,同时从备份数据库中删除已过期的数据。2.根据权利要求1所述的一种分布式对象存储系统闪回方法,其特征在于,当分布式对象存储系统接收到数据写入请求时,进入步骤1-1;步骤1-1:调用数据版本生成器(version-generator)生成针对当前预写入的对象数据的唯一版本号,此唯一版本号将作为相同业务主键数据间的区别标识;步骤1-2:整合步骤1产生的数据版本、当前系统时间戳和业务主键,生成该写入对象数据的存储主键,并将生成的存储主键写入数据本体库primary-database中,作为对该对象数据的记录;步骤1-3:针对某个业务主键数据在primary-database中可能存在多个不同数据版本,为保证读操作能及时读取到最新的服务数据,primary-database在进行写入操作时计算出当前该业务主键数据在primary-database中的最新数据版本;步骤1-4:将步骤1-3计算出来的最新版本覆盖性地写入到servering-database中,确保servering-database中只包含一条针对特定业务主键数据的记录,使读操作第一时间获取到新版数据的服务版本信息;步骤1-5:为保证后续数据闪回的需要,计算出primary-database中针对当前业务主键数据的非最新版本,并将上述这些非最新版本的数据写入到back-database中;特别地,步骤1-2至步骤1-5向primary-database、back-database、servering-database的写入操作必须是原子的,所谓操作是原子的,是指在具备事务特性的存储引擎中,步骤1-2至步骤1-5在同一事务中完成。3.根据权利要求1所述的一种分布式对象存储系统闪回方法,其特征在于,当存储系统接收删除对象数据的请求时,进入步骤2-1:系统接收到需要删除特定业务主键对应的某一个特定版本的数据请求;步骤2-2:根据请求中的业务主键及版本号,在servering-database中寻找对应的数据记录,并从servering-database中删除;步骤2-3:由于所删除的数据当前已不再被执行读操作,将该数据的存储主键写入back-database中,以备数据闪回的需要;特别地,在删除特定版本的对象数据过程中,步骤2-2-步骤2-3向back-database、servering-database的写入操作必须是原子的,所谓操作是原子的,是指在具备事务特性的存储引擎中,步骤2-2至步骤2-5在同一事务中完成。4.根据权利要求1所述的一种分布式对象存储系统闪回方法,其特征在于,当存储系统将某个业务对象数据闪回到指定时间点版本,具体步骤包括:步骤3-1:由于back-database中保留了某...
【专利技术属性】
技术研发人员:梁峰,
申请(专利权)人:焦点科技股份有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。