基于公有云存储账户的数据备份的线性扩容方法及系统技术方案

技术编号:13781187 阅读:73 留言:0更新日期:2016-10-04 17:25
本发明专利技术公开了一种基于公有云存储账户的数据备份的线性扩容方法及系统,所述方法包括:将个人私有云存储系统的账户与公有云存储账户及带有wifi功能的存储设备进行绑定;对公有云存储账户下的目录及文件名进行首次遍历并存储;个人私有云存储系统生成多个任务组并等待带有wifi功能的存储设备主动获取;存储设备联网后,获取任务,自动从公有云存储账户中开始下载任务数据并反馈剩余存储空间;若存储设备的剩余内存低于预设值,则将存储设备设置为Inactive,停止同步操作;直至所述的存储设备通过删除数据转为Active状态或增加新的存储设备。本发明专利技术实现了将云存储账号的内容智能化自动备份到本地存储设备中以及本地存储设备的线性扩容。

【技术实现步骤摘要】

本专利技术涉及一种基于公有云存储账户的数据备份的线性扩容方法及系统,属于公有云存储账户数据备份

技术介绍
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。在云存储系统(即公有云存储账户,如百度网盘、360云盘、金山快盘等)中,可以存储的数据量很大,因而很多用户为了清理手机内存同时与好友分享文件(比如照片、文档等),往往会将个人的私人文件发送至云存储系统中进行存储。但与此同时,又逐渐暴露了新的问题:比如云账号被盗,那么用户的个人隐私很可能就会被泄露。因此,使用云存储时,数据安全性问题成为用户的主要顾虑。另外,用户所需的某些重要文件上传至云存储系统后,可能会因为某些原因而导致审核未通过进而被删除,从而给用户带来一定的损失,同时造成不好的用户体验,因而对云存储系统中的数据进行及时备份就显的非常重要。存储设备,比如移动硬盘,它的存储空间一般也比较大,为用户个人拥有,用于存储备份重要的文件。用户若想将云存储系统中有用的文件(包括用户自己通过手机上传至云存储系统中的文件及其他人上传至云存储系统并分享给用户的文件)存入其移动硬盘中,则需要先通过电脑将文件从云存储系统下载下来,然后再存入移动硬盘。此外,若云存储系统中有文件更新,也仍需要用户去人工识别并下载存入其个人移动硬盘中。上述的操作方式复杂繁琐,需要手动操作,无法满足人们智能化的要求。此外,在备份过程中,还会遇到以下问题:比如备份使用的A移动硬盘满了,如何利用B移动硬盘继续下载以及如何避免重复下载更新,这也是人们迫切需要解决的问题。
技术实现思路
本专利技术的目的在于,提供一种基于公有云存储账户的数据备份的线性扩容方法及系统,它可以有效解决现有技术中存在的问题,实现公有云存储账户数据的智能化自动备份以及存储设备的线性扩容。为解决上述技术问题,本专利技术采用如下的技术方案:一种基于公有云存储账户的数据备份的线性扩容方法,包括以下步骤:S1,将个人私有云存储系统的账户与公有云存储账户及带有wifi功能的存储设备进行
绑定;S2,所述的个人私有云存储系统对公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;S3,所述的个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;S4,当所述的存储设备联网后,向个人私有云存储系统获取任务,然后根据当前任务组中的目录及文件名自动从公有云存储账户中开始下载任务数据;并且下载任务数据的过程中,所述的存储设备不定时的向个人私有云存储系统反馈剩余存储空间;S5,若所述的存储设备的剩余存储空间低于预设值时,则个人私有云存储系统将该存储设备的状态设置为Inactive,该存储设备停止同步操作;通过对所述的存储设备删除数据使之恢复为Active状态或者通过关联新的存储设备到该个人私有云存储系统,恢复数据同步工作。优选的,步骤S1具体包括:S11,访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的存储设备即与个人私有云存储系统的账户建立了绑定关系;S12,在所述的存储设备的Web管理界面上发起对公有云存储账户的绑定请求;通过公有云存储系统的API获取访问授权,得到一个授权key;S13,将公有云存储系统的名称、授权key和所述存储设备的设备编号上传至个人私有云存储系统并存储;个人私有云存储系统创建一个绑定关系记录,存储公有云存储账户与存储设备之间的关系。通过上述方法实现将个人私有云存储系统的账户与公有云存储账户及带有wifi功能的存储设备进行绑定,从而可以使得个人私有云存储系统与带有wifi功能的存储设备和公有云存储系统之间以及带有wifi功能的存储设备与公有云存储系统之间进行高效、安全、稳定的通信。更优选的,步骤S12具体包括:在所述的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;通过公有云存储系统的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;步骤S13具体包括:将所述的公有云存储系统的名称、授权key和所述存储设备的设备编号上传至个人私有云存储系统并存储;个人私有云存储系统创建多个不同的虚拟容器,(在每个虚拟容器中,利用公有云存储系统的API及相应的授权
KEY进行登录,同时设置用户期望同步的目录,默认为根目录)使得各个虚拟容器与多个公有云存储账户一一对应关联,并且各个虚拟容器与带有wifi功能的存储设备进行一对多、一对一或多对一关联,其中,当每个虚拟容器关联多个存储设备时,在进行数据同步时,只有一个存储设备的状态为Active,其他均为Inactive(如果某个虚拟容器与相应的公有云存储账户取消关联,则该虚拟容器自动销毁,同时与其绑定的存储设备也取消关联状态)。通过利用不同的虚拟容器分别与多个公有云存储账户一一对应关联,并且各个虚拟容器与带有wifi功能的存储设备进行一对多、一对一或多对一关联,从而可以更精确、快捷、灵活的管控各个云存储账户的内容备份及更新任务。上述方法中,个人私有云存储系统创建多个不同的虚拟容器时会给每个容器分配一个唯一标识,当各个虚拟容器与多个公有云存储账户一一对应关联,并且各个虚拟容器与带有wifi功能的存储设备进行一对多、一对一或多对一关联时,个人私有云存储系统会记录容器唯一标识与公有云存储账户以及带有WiFi功能的存储设备之间的关系并保存至个人私有云存储系统的数据库中。前述的基于公有云存储账户的数据备份的线性扩容方法中,步骤S5还包括:若所述的存储设备的剩余存储空间低于预设值时,则个人私有云存储系统将该存储设备的状态设置为Inactive,该存储设备停止同步操作;或者通过虚拟容器将与其关联的其他的剩余存储空间高于预设值、但当前状态为Inactive的存储设备中的一个设置为Active状态,恢复数据同步工作,从而可以快速实现平滑扩容。前述的基于公有云存储账户的数据备份的线性扩容方法中,步骤S2具体包括:个人私有云存储系统对指定公有云存储账户下的目录及文件名进行首次遍历(或者个人私有云存储系统中所述的不同的虚拟容器对与其相关联的公有云存储账户下的目录及文件名进行首次遍历),生成META DATA的数据结构(即目录和文件的结构,还包含了最后修改时间、文件长度、MD5值、是否已经被下载到带有wifi功能的存储设备等信息);遍历完成后,将所述的文件名按照N个为一组,划分为多个组后,导出为json格式的数据(多种计算机语言都对其进行了支持),并保存至数据库中;其中,遍历时,以目录或文件名称作为索引值;以文件长度、最后修改时间、MD5值、是否是目录等信息作为结构体类型的数据块;从而可以优化个人云存储系统对备份任务的管理,便于向带有wifi功能的存储设备传递任务。步骤S3具体包括:个人私有云存储系统将数据库中的数据按照分组生成多个任务组(或者个人私有云存储系统中的各个不同的虚拟容器将数据库中的数据按照分组生成多个...

【技术保护点】
一种基于公有云存储账户的数据备份的线性扩容方法,其特征在于,包括以下步骤:S1,将个人私有云存储系统的账户与公有云存储账户及带有wifi功能的存储设备进行绑定;S2,所述的个人私有云存储系统对公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;S3,所述的个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;S4,当所述的存储设备联网后,向个人私有云存储系统获取任务,然后根据当前任务组中的目录及文件名自动从公有云存储账户中开始下载任务数据;并且下载任务数据的过程中,所述的存储设备不定时的向个人私有云存储系统反馈剩余存储空间;S5,若所述的存储设备的剩余存储空间低于预设值时,则个人私有云存储系统将该存储设备的状态设置为Inactive,该存储设备停止同步操作; 通过对所述的存储设备删除数据使之恢复为Active状态或者通过关联新的存储设备到该个人私有云存储系统,恢复数据同步工作。

【技术特征摘要】
1.一种基于公有云存储账户的数据备份的线性扩容方法,其特征在于,包括以下步骤:S1,将个人私有云存储系统的账户与公有云存储账户及带有wifi功能的存储设备进行绑定;S2,所述的个人私有云存储系统对公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;S3,所述的个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;S4,当所述的存储设备联网后,向个人私有云存储系统获取任务,然后根据当前任务组中的目录及文件名自动从公有云存储账户中开始下载任务数据;并且下载任务数据的过程中,所述的存储设备不定时的向个人私有云存储系统反馈剩余存储空间;S5,若所述的存储设备的剩余存储空间低于预设值时,则个人私有云存储系统将该存储设备的状态设置为Inactive,该存储设备停止同步操作; 通过对所述的存储设备删除数据使之恢复为Active状态或者通过关联新的存储设备到该个人私有云存储系统,恢复数据同步工作。2.根据权利要求1所述的基于公有云存储账户的数据备份的线性扩容方法,其特征在于,步骤S1具体包括:S11,访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的存储设备即与个人私有云存储系统的账户建立了绑定关系;S12,在所述的存储设备的Web管理界面上发起对公有云存储账户的绑定请求;通过公有云存储系统的API获取访问授权,得到一个授权key;S13,将公有云存储系统的名称、授权key和所述存储设备的设备编号上传至个人私有云存储系统并存储;个人私有云存储系统创建一个绑定关系记录,存储公有云存储账户与存储设备之间的关系。3.根据权利要求2所述的基于公有云存储账户的数据备份的线性扩容方法,其特征在于,步骤S12具体包括:在所述的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;通过公有云存储系统的开放编程接口获取访问授权,获得相应的授权key;步骤S13具体包括:将所述的公有云存储系统的名称、授权key和所述存储设备的设备编号上传至个人私有云存储系统并存储;个人私有云存储系统创建多个不同的虚拟容器,使得各个虚拟容器与多个公有云存储账户一一对应关联,并且各个虚拟容器与带有wifi功能的存储设备进行一对多、一对一或多对一关联;其中,当每个虚拟容器关联多个存储设备时,在进行数据同步时,只有一个存储设备的状态为Active,其他均为Inactive。4.根据权利要求3所述的基于公有云存储账户的数据备份的线性扩容方法,其特征在于,步骤S5还包括:若所述的存储设备的剩余存储空间低于预设值时,则个人私有云存储系统将该存储设备的状态设置为Inactive,该存储设备停止同步操作;或者通过虚拟容器将与其关联的其他的剩余存储空间高于预设值、但当前状态为Inactive的存储设备中的一个设置为Active状态,恢复数据同步工作。5.根据权利要求3所述的基于公有云存储账户的数据备份的线性扩容方法,其特征在于,步骤S4具体包括:当所述的存储设备联网后,检测存储设备的状态,若为Active,则向个人私有云存储系统发起任务获取请求,个人私有云存储系统查询到与该设备关联的所有虚拟容器,然后将虚拟容器内第一个未全部完成的任务组下发给该设备;该设备保存任务内容和分组的编号,并根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据;每完成一个文件的下载或者完成一个任务组的全部或部分文件的下载,则向个人私有云存储系统更新任务完成情况同时反馈剩余存储空间;若存储设备的剩余可用空间小于预设值,则放弃已经获得的当前分组的后续任务,并设置存储设备的状态为Inactive,停止数据同步服务;否则个人私有云存储系统在接受到任务更新请求后,根据分组编号和文件名称在分组中查找对应的记录,若找到对应的文件记录,则设置fetched=1;其中,fetched为META DATA结构体中包含的一个成员,用于表示是否已经同步,fetched的默认值为0;若未找到对应的文件记录,则返回false信号至所述存储设备,所述存储设备收到false信号后,放弃已经获得的当前分组的后续任务并重新获取第一个未完成的任务组;所述存储设备每完成一个任务组的下载后,自动请求下一个未完成任务组,直至完成最后一个未完成任务组。6.根据权利要求3所述的基于公有云存储账户的数据备份的线性扩容方法,其特征在于,步骤S5具体包括:当个人私有云存储系统的某个虚拟容器执行同步的过程中发现所述的存储设备的存储空间低于预设值时,则该虚拟容器将其与该存储设备的关系设置为Inactive状态;同时个人私有云存储系统查找并通知与该存储设备关联的其他虚拟容器,其他虚拟容器也将其与该存储设备的关系设置为Inactive状态;所述的存储设备停止同步操作,直至所述的存储设备通过删除数据转为Active状态,或者增加新的带有wifi功能的存储设备后,该新的存储设备与个人私有云存储系统的各个相应的虚拟容器绑定后,继续进行数据同步。7.根据权利要求1所述的基于公有云存储账户的数据备份的线性扩容方法,其特征在于,步骤S2还包括:个人私有云存储系统定期对与其相关联的公有云存储账户下的目录及文件名进行补充遍历,并与本地缓存的目录及文件名列表进行比对,找出新文件,生成下载/同步任务列表;具体包括:首先,个人私有云存储系统从数据库中按照分组的顺序加载目录结构的json数据,在程序的内存中保存该数组结构,并将该数组命名为:old;其次,按照首次遍历的方式对公有云存储账户下的目录及文件名进行补充遍历,获得最新的目录遍历结果的数组结构,并将该数组命名为:new;再次,从old数组中取出一个元素,在new数组中查找与该元素文件名相同的元素,如果没有找到,则放弃此old数组中的该元素;如果找到了对应的元素,则对比两个元素的MD5值或文件长度和最后修改时间;如果相同,则把old数组中元素的fetched值复制给new数组中对应的元素;重复本操作,直到old数组中所有的元素都取出;最后,补充遍历完成后,将new数组的数据从程序的内存导出为json格式的数据,并以分组方式保存至数据库中。8.一种基于公有云存储账户的数...

【专利技术属性】
技术研发人员:徐超
申请(专利权)人:北京春鸿企业管理咨询有限公司
类型:发明
国别省市:北京;11

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

1