一种集成本地文件系统的云存储服务方法

文档序号:6633491阅读:199来源:国知局
一种集成本地文件系统的云存储服务方法
【专利摘要】本发明涉及云存储【技术领域】,尤其是一种集成本地文件系统的云存储服务方法。本发明的云存储服务包括三个模块:文件校验模块、视图管理器和云存储辅助器;文件校验服务用于对文件进行校验值管理;视图管理器维护两个视图:活动视图、冻结视图,主要用于管理本地文件的状态变化情况;云存储辅助器用于处理本地文件系统和远程云存储平台之间的通信服务,维护文件同步时的同步视图。本发明能有效的防止由于本地操作系统的数据损坏、硬件崩溃等情况造成的数据丢失从而影响到云存储服务端数据的不一致性问题以及由此引起的同一个云存储平台不同的客户端间不一致性扩散问题;可广泛应用于各种云存储平台。
【专利说明】一种集成本地文件系统的云存储服务方法

【技术领域】
[0001]本发明涉及云存储【技术领域】,尤其是一种集成本地文件系统的云存储服务方法。

【背景技术】
[0002]在云计算日益普及的今天,大家张口闭口谈的几乎都是跟“云”相关的事情。在云计算的各种应用中,云存储是最被广泛使用的。可以说信息时代,基本上每一个人都在使用云存储技术。显式的国内外著名的云存储平台如dropbox、icloud、亚马逊S3、googledrive、百度云、360云盘等等,隐式的各种云存储应用如云通讯录、云备份、云笔记、云音乐等,无不跟云存储有关。
[0003]由于终端设备越来越多,不同的终端设备采用的技术体系不同,这极大地增加了云端存储技术的复杂性。如果某个云存储平台的一个终端应用上出现了问题,那么这个问题可能会通过云存储平台扩散到所有其他终端应用里,从而造成数据紊乱;对云存储平台里数据的安全性、一致性和稳定性带来了极大地隐患。


【发明内容】

[0004]本发明解决的技术问题在于提供一种集成了本地文件系统的云存储服务方法,可以防止因数据发生错误或者出现不一致性问题时由于云存储的特性造成问题的扩散最终影响到云存储平台的一致性和稳定性的情况。
[0005]本发明解决上述技术问题的技术方案是:
[0006]所述的方法由文件校验模块、视图管理器和云存储辅助器构成的系统完成;
[0007]所述的文件校验模块是基于目前主流的文件系统的一个模块,主要用于在文件块写入或者从磁盘上读取时进行CRC32C校验;
[0008]所述的视图管理器是一个轻型的文件系统内核模块,用于在本地文件系统上创建视图,主要维护活动视图和冻结视图两个文件视图;
[0009]所述的云存储辅助器是指本地文件系统与远程云存储平台之间的数据交互接口,维护一个或者多个同步视图;
[0010]所述的活动视图是指从上一次开始与云存储平台同步的时间点到当前时间点这个时间范围内本地文件或文件夹状态发生的变化;
[0011]所述的冻结视图是指视图管理器对当前活动时间点位置活动视图的一个快照,快照内容是静态的、后续不会发生变化;通过对活动视图在不同时间点的快照递增式生成;
[0012]所述的同步视图是指将当前冻结视图里的文件和远程云存储平台进行同步时产生的一个文件状态和行为描述,此时冻结视图被销毁;
[0013]每一次同步时产生的同步视图都存在于云存储辅助器中,当本地文件系统出现不一致性问题时,从对应时间点的同步视图中获取待恢复的文件列表。
[0014]所述的文件校验模块基于目前主流的EXT4、NTFS, HFS+等文件系统。
[0015]所述的视图管理器同一时间点只会存在一个活动视图和一个冻结视图。
[0016]所述的文件校验模块写入文件到磁盘时在物理数据块前添加一个校验区域,填充该数据块的校验值;从磁盘中读取文件块时也需要根据预先填充的校验值和实际的数据进行校验值匹配,以防磁盘发生损坏时破坏数据的一致性;
[0017]当本地文件读出的数据与校验值不一致时,表示该数据已损坏,此时文件校验模块将会直接向云存储辅助器发送请求,通过云存储辅助器获取在云存储平台上该数据最近最新的一个版本;此种情况下的数据不会提交到云存储平台或者从云存储平台更新到本地,以防止这种不一致性扩散到云存储平台其他应用端,造成数据的混乱。
[0018]所述的方法中数据读写的处理方式是:
[0019]读取数据时,文件校验模块根据对应数据块的实时生成的实际校验值和填充校验值进行比较,若一致则说明数据完好,操作继续;不一致则说明数据出现错误,此时向云存储辅助器发送请求以从云存储平台获取该数据的最新有效数据副本到本地;
[0020]写入数据时,如果是本地新增数据,那么针对该数据生成校验值,并将该校验值写入到物理数据块的最前端的校验区域;如果是从云端更新下来的数据,那么以该数据生成的校验值和附随数据块的预填充校验值进行比较,若一致则写入本地磁盘,否则向云存储辅助器发送一条请求,再次从远程云存储平台获取该数据的最新有效数据副本到本地,再次进行本过程,直到数据完好为止。
[0021]本发明通过三个模块加上三种视图的方式,既保证了正常模式下数据同步的正确性,又保证了本地数据的强一致性,同时还防止由于数据的错误或者本地文件系统损坏带来的错误数据扩散问题,从而保证了云存储平台的数据一致性和稳定性。

【专利附图】

【附图说明】
[0022]下面结合附图对本发明进一步说明:
[0023]图1是本发明的框架结构图;
[0024]图2是本发明的数据校验流程图;
[0025]图3是本发明的三种视图之间的转换关系图。

【具体实施方式】
[0026]如附图1所示,本发明包括三个模块和三种视图,分别是文件校验模块、视图管理器、云存储辅助器;其中视图管理器维护两个视图:活动视图、冻结视图,云存储辅助器维护同步视图;
[0027]文件校验模块对所有读写操作的数据进行正确性校验,当实际校验值和填充校验值一致时读写操作才成功,否则执行相应地纠错操作;
[0028]视图管理器在同一时间点中只存在一个活动视图和一个冻结视图,冻结视图是由活动视图定时的快照递增生成的;
[0029]云存储辅助器负责本地文件系统和远程云存储之间的数据交互问题,同时存在着多个同步视图;
[0030]本地文件系统出现损坏且不能通过其自身进行恢复时,云存储模块就需要根据相应时间点的同步视图从云存储平台恢复数据到本地。
[0031]如附图2所示,本发明中针对每次文件操作,文件校验模块需进行如下步骤以保持数据的一致性:
[0032]读取数据时,文件校验模块根据对应数据块的实时生成的实际校验值和填充校验值进行比较,若一致则说明数据完好,操作继续;不一致则说明数据出现错误,此时向云存储辅助器发送请求以从云存储平台获取该数据的最新有效数据副本到本地;
[0033]写入数据时,如果是本地新增数据,那么针对该数据生成校验值,并将该校验值写入到物理数据块的最前端的校验区域;如果是从云端更新下来的数据,那么以该数据生成的校验值和附随数据块的预填充校验值进行比较,若一致则写入本地磁盘,否则将先云存储辅助器发送一条请求,再次从远程云存储平台获取该数据的最新有效数据副本到本地,再次进行本过程,直到数据完好为止。
[0034]如附图3所示,本发明中三种视图的转换关系遵循以下的步骤:
[0035]活动视图指到某个时间点为止的一个时间范围内文件或者文件夹发生变化的日志记录情况;
[0036]冻结视图是由活动视图定时的快照生成的,是某个时间点活动视图内所有内容的一个记录;冻结视图是递增式生成的,在时间上冻结视图生成的时间点是一个新的活动视图的生成时间;
[0037]活动视图和冻结视图是一对一的关系存在于视图管理器中;
[0038]同步视图是由云存储辅助管理器根据冻结视图里的文件变化状况与远程云存储里的数据进行比较后生成的文件操作记录情况,由于同步视图是右某个时间点的冻结视图提交而生成,因此云存储辅助管理器里同时存在多个同步视图。
【权利要求】
1.一种集成本地文件系统的云存储服务方法,其特征在于:所述的方法由文件校验模块、视图管理器和云存储辅助器构成的系统完成; 所述的文件校验模块是基于目前主流的文件系统的一个模块,主要用于在文件块写入或者从磁盘上读取时进行CRC32C校验; 所述的视图管理器是一个轻型的文件系统内核模块,用于在本地文件系统上创建视图,主要维护活动视图和冻结视图两个文件视图; 所述的云存储辅助器是指本地文件系统与远程云存储平台之间的数据交互接口,维护一个或者多个同步视图; 所述的活动视图是指从上一次开始与云存储平台同步的时间点到当前时间点这个时间范围内本地文件或文件夹状态发生的变化; 所述的冻结视图是指视图管理器对当前活动时间点位置活动视图的一个快照,快照内容是静态的、后续不会发生变化;通过对活动视图在不同时间点的快照递增式生成; 所述的同步视图是指将当前冻结视图里的文件和远程云存储平台进行同步时产生的一个文件状态和行为描述,此时冻结视图被销毁; 每一次同步时产生的同步视图都存在于云存储辅助器中,当本地文件系统出现不一致性问题时,从对应时间点的同步视图中获取待恢复的文件列表。
2.根据权利要求1所述的云存储服务方法,其特征在于:所述的文件校验模块基于目前主流的EXT4、NTFS, HFS+等文件系统。
3.根据权利要求1所述的云存储服务方法,其特征在于:所述的视图管理器同一时间点只会存在一个活动视图和一个冻结视图。
4.根据权利要求2所述的云存储服务方法,其特征在于:所述的视图管理器同一时间点只会存在一个活动视图和一个冻结视图。
5.根据权利要求1至4任一项所述的云存储服务方法,其特征在于:所述的文件校验模块写入文件到磁盘时在物理数据块前添加一个校验区域,填充该数据块的校验值;从磁盘中读取文件块时也需要根据预先填充的校验值和实际的数据进行校验值匹配,以防磁盘发生损坏时破坏数据的一致性; 当本地文件读出的数据与校验值不一致时,表示该数据已损坏,此时文件校验模块将会直接向云存储辅助器发送请求,通过云存储辅助器获取在云存储平台上该数据最近最新的一个版本;此种情况下的数据不会提交到云存储平台或者从云存储平台更新到本地,以防止这种不一致性扩散到云存储平台其他应用端,造成数据的混乱。
6.根据权利要求1至4任一项所述的云存储服务方法,其特征在于:所述的方法中数据读写的处理方式是: 读取数据时,文件校验模块根据对应数据块的实时生成的实际校验值和填充校验值进行比较,若一致则说明数据完好,操作继续;不一致则说明数据出现错误,此时向云存储辅助器发送请求以从云存储平台获取该数据的最新有效数据副本到本地; 写入数据时,如果是本地新增数据,那么针对该数据生成校验值,并将该校验值写入到物理数据块的最前端的校验区域;如果是从云端更新下来的数据,那么以该数据生成的校验值和附随数据块的预填充校验值进行比较,若一致则写入本地磁盘,否则向云存储辅助器发送一条请求,再次从远程云存储平台获取该数据的最新有效数据副本到本地,再次进行本过程,直到数据完好为止。
7.根据权利要求5所述的云存储服务方法,其特征在于:所述的方法中数据读写的处理方式是: 读取数据时,文件校验模块根据对应数据块的实时生成的实际校验值和填充校验值进行比较,若一致则说明数据完好,操作继续;不一致则说明数据出现错误,此时向云存储辅助器发送请求以从云存储平台获取该数据的最新有效数据副本到本地; 写入数据时,如果是本地新增数据,那么针对该数据生成校验值,并将该校验值写入到物理数据块的最前端的校验区域;如果是从云端更新下来的数据,那么以该数据生成的校验值和附随数据块的预填充校验值进行比较,若一致则写入本地磁盘,否则向云存储辅助器发送一条请求,再次从远程云存储平台获取该数据的最新有效数据副本到本地,再次进行本过程,直到数据完好为止。
【文档编号】G06F17/30GK104361069SQ201410625868
【公开日】2015年2月18日 申请日期:2014年11月7日 优先权日:2014年11月7日
【发明者】肖翱, 施魏松 申请人:广东电子工业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1