CN105956491A - 对公有云存储系统的数据进行多账号备份的方法及系统 - Google Patents

对公有云存储系统的数据进行多账号备份的方法及系统 Download PDF

Info

Publication number
CN105956491A
CN105956491A CN201610340073.4A CN201610340073A CN105956491A CN 105956491 A CN105956491 A CN 105956491A CN 201610340073 A CN201610340073 A CN 201610340073A CN 105956491 A CN105956491 A CN 105956491A
Authority
CN
China
Prior art keywords
cloud storage
publicly
data
storage system
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610340073.4A
Other languages
English (en)
Other versions
CN105956491B (zh
Inventor
徐超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Chunhong Enterprise Management Consulting Co Ltd
Original Assignee
Beijing Chunhong Enterprise Management Consulting Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Chunhong Enterprise Management Consulting Co Ltd filed Critical Beijing Chunhong Enterprise Management Consulting Co Ltd
Priority to CN201610340073.4A priority Critical patent/CN105956491B/zh
Publication of CN105956491A publication Critical patent/CN105956491A/zh
Application granted granted Critical
Publication of CN105956491B publication Critical patent/CN105956491B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Abstract

本发明公开了一种对公有云存储系统的数据进行多账号备份的方法及系统,包括以下步骤:S1,将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;S2,个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;S3,个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;S4,所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。本发明实现了将多个云存储账号的内容智能化自动备份到同一个存储设备,保证了数据的安全性。

Description

对公有云存储系统的数据进行多账号备份的方法及系统
技术领域
本发明涉及一种对公有云存储系统的数据进行多账号备份的方法及系统,属于公有云存储账户数据备份技术领域。
背景技术
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。在云存储系统(即公有云存储账户,如百度网盘、360云盘、金山快盘等)中,可以存储的数据量很大,因而很多用户为了清理手机内存同时与好友分享文件(比如照片、文档等),往往会将个人的私人文件发送至云存储系统中进行存储。但与此同时,又逐渐暴露了新的问题:比如云账号被盗,那么用户的个人隐私很可能就会被泄露。因此,使用云存储时,数据安全性问题成为用户的主要顾虑。另外,用户所需的某些重要文件上传至云存储系统后,可能会因为某些原因而导致审核未通过进而被删除,从而给用户带来一定的损失,同时造成不好的用户体验,因而对云存储系统中的数据进行及时备份就显的非常重要。
存储设备,比如移动硬盘,它的存储空间一般也比较大,为用户个人拥有,用于存储备份重要的文件。用户若想将云存储系统中有用的文件(包括用户自己通过手机上传至云存储系统中的文件及其他人上传至云存储系统并分享给用户的文件)存入其移动硬盘中,则需要先通过电脑将文件从云存储系统下载下来,然后再存入移动硬盘。此外,若云存储系统中有文件更新,也仍需要用户去人工识别并下载存入其个人移动硬盘中。此外,一个用户可能有多个云存储账户,如何实现将多个云存储账户的内容都自动备份到同一个存储设备中、以及如何实现各个云存储账户中有内容更新时自动进行备份,这也是人们迫切想要解决的问题。
发明内容
本发明的目的在于,提供一种对公有云存储系统的数据进行多账号备份的方法及系统,它可以有效解决现有技术中存在的问题,实现将多个云存储账号的内容智能化自动备份到同一个存储设备,保证了数据的安全性。
为解决上述技术问题,本发明采用如下的技术方案:一种对公有云存储系统的数据进行多账号备份的方法,包括以下步骤:
S1,将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;
S2,个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;
S3,个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;
S4,所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。
优选的,步骤S1具体包括:
S11,访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的带有wifi功能的存储设备即与个人私有云存储系统的账户建立了绑定关系;
S12,在所述的带有wifi功能的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;通过公有云存储系统的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;
S13,将所述的公有云存储系统的名称、授权key和带有wifi功能的存储设备的设备编号上传至个人私有云存储系统并保存;
S14,个人私有云存储系统创建多个不同的虚拟容器,(在每个虚拟容器中,利用公有云存储系统的API及相应的授权KEY进行登录,同时设置用户期望同步的目录,默认为根目录)使得各个虚拟容器分别与多个公有云存储账户或公有云存储账户中指定的一个或多个目录一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联。
通过上述方法实现将个人私有云存储系统的账户与公有云存储账户及带有wifi功能的存储设备进行绑定,从而可以实现个人私有云存储系统与带有wifi功能的存储设备和公有云存储系统之间以及带有wifi功能的存储设备与公有云存储系统之间进行高效、安全、稳定的通信;尤其是通过利用不同的虚拟容器分别与多个公有云存储账户一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联,从而可以更精确、快捷的管控各个云存储账户的内容备份及更新任务。
上述的步骤S14中,个人私有云存储系统创建多个不同的虚拟容器时会给每个容器分配一个唯一标识,当虚拟容器与多个公有云存储账户以及某个带有WiFi功能的存储设备进行绑定时,个人私有云存储系统会记录容器唯一标识与公有云存储账户以及某个带有WiFi功能的存储设备之间的关系并保存至个人私有云存储系统的数据库中。
优选的,步骤S2具体包括:所述的不同的虚拟容器对与其相关联的公有云存储账户或公有云存储账户下的指定目录及子目录和文件进行首次遍历,生成META DATA的数据结构(即目录和文件的结构,还包含了最后修改时间、文件长度、MD5值、是否已经被下载到带有wifi功能的存储设备等信息);遍历完成后,将所述的文件名按照N个为一组,划分为多个组后,导出为json格式的数据(多种计算机语言都对其进行了支持),并保存至数据库中;其中,遍历时,以目录或文件名称作为索引值,以文件长度、最后修改时间、MD5值、是否是目录等信息作为结构体类型的数据块;从而可以优化个人云存储系统对备份任务的管理,便于向带有wifi功能的存储设备传递任务。
步骤S3具体包括:各个不同的虚拟容器将数据库中的数据按照分组生成多个任务组,并且等待带有wifi功能的存储设备联网后按照分组获取任务;带有wifi功能的存储设备每次只下载一个分组的任务信息,而不是全部的任务信息,从而可以便于获得新任务、更新任务的完成情况以及降低个人云存储平台的压力。
上述方法中,所述的带有wifi功能的存储设备联网后,首先连接到个人私有云存储系统,下载数据备份任务;其中,所有的任务都按照N个为一组,每组任务里均包含了公有云存储系统的账号信息和需要从此公有云存储系统中备份的文件名称。
优选的,步骤S4具体包括:带有wifi功能的存储设备联网后,检测存储设备的状态,若为Active,则向个人私有云存储系统发起任务获取请求,个人私有云存储系统查询到与该设备关联的所有虚拟容器,然后将虚拟容器内第一个未全部完成的任务组下发给该设备;该设备保存任务内容和分组的编号,并根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据;每完成一个文件的下载或者完成一个任务组的全部或部分文件的下载,则向相应的虚拟容器更新任务完成情况以及存储设备的剩余可用空间(带有wifi功能的存储设备在下载任务时,就同时获得了生成该任务的虚拟容器的唯一标识);若存储设备的剩余可用空间小于预设值,则放弃已经获得的当前分组的后续任务,设置存储设备的状态为Inactive,并停止数据同步服务;否则相应的虚拟容器在接受到任务更新请求后,根据分组编号和文件名称在分组中查找对应的记录,若找到对应的文件记录,则设置fetched=1(其中,每一个文件都对应了一个fetched值);其中,fetched为METADATA结构体中包含的一个成员,用于表示是否已经被下载到用户的带有wifi功能的存储设备,fetched的默认值为0;若未找到对应的文件记录,则返回false信号至带有wifi功能的存储设备,带有wifi功能的存储设备收到false信号后,放弃已经获得的当前分组的后续任务并重新获取第一个未完成的任务组(这表示任务分组出现了更新,因此需要重新获取任务分组);带有wifi功能的存储设备每完成一个任务组的下载后,自动请求下一个未完成任务组,直至完成最后一个未完成任务组。根据带有wifi功能的存储设备的硬件性能,可以逐个对虚拟容器内的任务组进行处理,或者同时对多个虚拟容器内的任务分组进行处理。从而可以根据数据更新列表从公有云存储账户准确的备份所需数据,提高了数据备份的效率和整个系统的运行效率。此外,设置fetched为META DATA结构体中包含的一个成员,从而便于标记任务的下载完成情况;这样当带有wifi功能的存储设备下次再联网后,可以直接下载未完成的任务,而不用从头开始全部下载,减轻了带有wifi功能的存储设备的压力,提高了数据传输效率。
步骤S4中,检测存储设备的状态时,需要存储设备将其当前的剩余存储空间发送至个人私有云存储系统中,个人私有云存储系统根据预设值的大小给存储设备反馈其当前的状态,为Active或Inactive。
当存储设备的状态为Inactive时,也需要定期重新获取其最新的状态。
前述的对公有云存储系统的数据进行多账号备份的方法中,所述的带有wifi功能的存储设备联网后,记录任务内容和分组的编号,并根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据具体包括:并行处理或串行处理;所述的并行处理即带有wifi功能的存储设备先获取与此设备关联的所有虚拟容器的第一个任务组数据,然后并行进行多个文件的下载;所述的串行处理即每次只获取一个虚拟容器的任务组数据并进行文件同步,处理完一个虚拟容器的所有任务分组后再依次处理下一个虚拟容器的任务数据。如果带有wifi功能的存储设备内置的CPU性能好,则采用并行处理,如果CPU性能差,则采用串行处理;另外存储设备的读写速度也影响了这个设置的选择,可根据不同的硬件性能,设置最大的并行的任务数。
前述的对公有云存储系统的数据进行多账号备份的方法中,步骤S2还包括:个人私有云存储系统定期对与其相关联的公有云存储账户下的目录及文件名进行补充遍历(补充遍历的间隔时间可以调整,默认24小时一次),并与本地缓存的目录及文件名列表进行比对,找出新文件,生成下载/同步任务列表;具体包括:
首先,个人私有云存储系统从数据库中按照分组的顺序加载目录结构的json数据,在程序的内存中保存该数组结构,并将该数组命名为:old;(所述的数组中包含的元素可以通过文件名进行检索,每一个元素都包含了一个数据块,数据块内保存了与该文件名对应的MD5值、文件长度、最后修改时间等与META DATA相关的信息);
其次,按照首次遍历的方式对公有云存储账户下的目录及文件名进行补充遍历,获得最新的目录遍历结果的数组结构,并将该数组命名为:new;(其结构与old相同,同样的,该数组中包含的元素可以通过文件名进行检索,但是该数据结构中每一个元素包含的fetched值都为0);
再次,从old数组中取出一个元素,在new数组中查找与该元素文件名相同的元素,如果没有找到,则放弃此old数组中的该元素;如果找到了对应的元素,则对比两个元素的MD5值或文件长度和最后修改时间(当公有云存储系统支持MD5值时,则通过对比MD5值;当公有云存储系统不支持MD5值时,则通过对比文件长度和最后修改时间来代替MD5值的比对;由于云盘的文件一旦下载/备份到带有wifi功能的存储设备后,用户会从云盘上删除对应的文件,然后存入更多的新文件到云盘;因此在个人私有云存储系统对公有云存储账户文件进行扫描时要考虑到这种情况的出现);如果相同,则把old数组中元素的fetched值复制给new数组中对应的元素;重复本操作,直到old数组中所有的元素都取出;
最后,补充遍历完成后,将new数组的数据从程序的内存导出为json格式的数据,并以分组方式保存至数据库中。
从而可以仅对各个公有云存储账户更新的文件进行自动、及时备份,进一步提高了数据自动更新的效率;此外,上述方法中,在上一次扫描结果生成为多个任务组之后,在任务组中已经有部分任务已经完成了(fetched等于1),如果这些任务已经处于完成的状态,而且云盘中对应的文件没有删除,那么在最新的云盘文件扫描结果中,就要根据老的任务列表来设置任务的状态为已完成(设置fetched为1)。具体的说,通过上述方法,从而可以把最新的公有云存储的目录和文件结构与数据库中存储的老旧数据进行合并。如果老旧数据中记录的文件名在当前的公有云存储中已经不存在了(例如被用户删除了),那么就要在合并过程中删除这些记录;如果新旧记录里都有同名的文件,还要根据MD5的值或文件长度和最后修改时间来判断文件是否有内容的变化,如果文件产生了变化,就标记为未下载,否则就根据老记录的状态来设置任务的下载状态。对于只有新记录里存在的文件名,则直接设置为未下载。
一种对公有云存储系统的数据进行多账号备份的系统,包括:
绑定模块,用于将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;
遍历模块,用于个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历;
第一数据导出及存储模块,用于遍历完成后,将目录及文件名数据导出并保存至数据库中;
任务生成及分配模块,用于个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;
自动下载模块,用于所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。
优选的,所述的绑定模块还包括:
登录模块,用于访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的带有wifi功能的存储设备即与个人私有云存储系统的账户建立了绑定关系;
绑定请求发送模块,用于在所述的带有wifi功能的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;
访问授权获取模块,用于通过公有云存储系统的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;
信息上传模块,用于将所述的公有云存储系统的名称、授权key和带有wifi功能的存储设备的设备编号上传至个人私有云存储系统并保存;
虚拟容器创建及关联模块,用于个人私有云存储系统创建多个不同的虚拟容器,(在每个虚拟容器中,利用公有云存储系统的API及相应的授权KEY进行登录,同时设置用户期望同步的目录,默认为根目录)使得各个虚拟容器分别与多个公有云存储账户或公有云存储账户中指定的一个或多个目录一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联。
优选的,所述的遍历模块还包括:
数组结构生成模块,用于所述的不同的虚拟容器对与其相关联的公有云存储账户或公有云存储账户下的指定目录及子目录和文件进行首次遍历,生成META DATA的数据结构;
第一数据导出及存储模块还包括:
数据分组模块,用于遍历完成后,将所述的文件名按照N个为一组,划分为多个组后,导出为json格式的数据,并保存至数据库中;其中,遍历时,以目录或文件名称作为索引值。
优选的,所述的自动下载模块还包括:
状态检测模块,用于带有wifi功能的存储设备联网后,检测存储设备的状态;
记录模块,用于若存储设备的状态为Active,则向个人私有云存储系统发起任务获取请求,个人私有云存储系统查询到与该设备关联的所有虚拟容器,然后将虚拟容器内第一个未全部完成的任务组下发给该设备;该设备保存任务内容和分组的编号;
信息反馈模块,用于带有wifi功能的存储设备每完成一个文件的下载或者完成一个任务组的全部或部分文件的下载,则向相应的虚拟容器更新任务完成情况以及存储设备的剩余可用空间;
文件记录查找及设置模块,用于若存储设备的剩余可用空间大于预设值时,则相应的虚拟容器在接受到任务更新请求后,根据分组编号和文件名称在分组中查找对应的记录,若找到对应的文件记录,则设置fetched=1;其中,fetched为METADATA结构体中包含的一个成员,用于表示是否已经被下载到用户的带有wifi功能的存储设备,fetched的默认值为0;若未找到对应的文件记录,则返回false信号至带有wifi功能的存储设备;
任务放弃及重新获取模块,用于带有wifi功能的存储设备收到false信号后,放弃已经获得的当前分组的后续任务并重新获取第一个未完成的任务组;
任务自动请求模块,用于带有wifi功能的存储设备每完成一个任务组的下载后,自动请求下一个未完成任务组,直至完成最后一个未完成任务组。
前述的对公有云存储系统的数据进行多账号备份的系统中,所述的遍历模块还包括:
补充遍历及对比模块,用于个人私有云存储系统定期对与其相关联的公有云存储账户下的目录及文件名进行补充遍历,并与本地缓存的目录及文件名列表进行比对,找出新文件,生成下载/同步任务列表;
所述的补充遍历及对比模块具体包括:
数据加载及存储模块:用于个人私有云存储系统从数据库中按照分组的顺序加载目录结构的json数据,在程序的内存中保存该数组结构,并将该数组命名为:old;
补充遍历模块:用于按照首次遍历的方式对公有云存储账户下的目录及文件名进行补充遍历,获得最新的目录遍历结果的数组结构,并将该数组命名为:new;
数据对比模块:用于从old数组中取出一个元素,在new数组中查找与该元素文件名相同的元素,如果没有找到,则放弃此old数组中的该元素;如果找到了对应的元素,则对比两个元素的MD5值或文件长度和最后修改时间;如果相同,则把old数组中元素的fetched值复制给new数组中对应的元素;重复本操作,直到old数组中所有的元素都取出;
第二数据导出及存储模块,用于补充遍历完成后,将new数组的数据从程序的内存导出为json格式的数据,并以分组方式保存至数据库中。
与现有技术相比,本发明具有以下优点:
1、通过利用将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;所述的带有wifi功能的存储设备联网后,
根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。从而实现了将多个云存储账号的内容智能化自动备份到同一个存储设备,保证了数据的安全
性,方便了用户使用;且整个过程均无需用户手工操作,数据备份效率较高;
2、通过利用不同的虚拟容器分别与多个公有云存储账户一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联,从而可以更精确、快捷的管控各个云存储账户的内容备份及更新任务;
3、个人私有云存储系统定期对与其相关联的公有云存储账户下的目录及文件名进行补充遍历,并与本地缓存的目录及文件名列表进行比对,找出新文件,生成下载/同步任务列表,从而可以仅对各个公有云存储账户更新的文件进行自动、及时备份,进一步提高了数据自动更新的效率。
附图说明
图1是本发明的一种实施例的方法流程图;
图2是个人私有云存储系统的账户与Baidu Yun账户及带有wifi功能的存储设备进行绑定的方法流程图;
图3是带有wifi功能的存储设备执行备份任务以及个人私有云存储系统(点滴云)发现公有云存储上有新文件并生成备份任务的流程图。
下面结合附图和具体实施方式对本发明作进一步的说明。
具体实施方式
本发明的实施例1:一种对公有云存储系统的数据进行多账号备份的方法,如图1、图3所示,包括以下步骤:
S1,将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;具体包括:
S11,访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的带有wifi功能的存储设备即与个人私有云存储系统的账户建立了绑定关系;
S12,在所述的带有wifi功能的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;通过公有云存储系统的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;
S13,将所述的公有云存储系统的名称、授权key和带有wifi功能的存储设备的设备编号上传至个人私有云存储系统并保存;
S14,个人私有云存储系统创建多个不同的虚拟容器,(在每个虚拟容器中,利用公有云存储系统的API及相应的授权KEY进行登录,同时设置用户期望同步的目录,默认为根目录)使得各个虚拟容器分别与多个公有云存储账户或公有云存储账户中指定的一个或多个目录一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联;
S2,个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;具体包括:所述的不同的虚拟容器对与其相关联的公有云存储账户或公有云存储账户下的指定目录及子目录和文件进行首次遍历,生成META DATA的数据结构;遍历完成后,将所述的文件名按照N个为一组,划分为多个组后,导出为json格式的数据,并保存至数据库中;其中,遍历时,以目录或文件名称作为索引值;
步骤S2还包括:个人私有云存储系统定期对与其相关联的公有云存储账户下的目录及文件名进行补充遍历,并与本地缓存的目录及文件名列表进行比对,找出新文件,生成下载/同步任务列表;具体包括:
首先,个人私有云存储系统从数据库中按照分组的顺序加载目录结构的json数据,在程序的内存中保存该数组结构,并将该数组命名为:old;
其次,按照首次遍历的方式对公有云存储账户下的目录及文件名进行补充遍历,获得最新的目录遍历结果的数组结构,并将该数组命名为:new;
再次,从old数组中取出一个元素,在new数组中查找与该元素文件名相同的元素,如果没有找到,则放弃此old数组中的该元素;如果找到了对应的元素,则对比两个元素的MD5值或文件长度和最后修改时间;如果相同,则把old数组中元素的fetched值复制给new数组中对应的元素;重复本操作,直到old数组中所有的元素都取出;
最后,补充遍历完成后,将new数组的数据从程序的内存导出为json格式的数据,并以分组方式保存至数据库中;
S3,个人私有云存储系统中的各个虚拟容器将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;
S4,所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据;具体包括:带有wifi功能的存储设备联网后,检测存储设备的状态,若为Active,则向个人私有云存储系统发起任务获取请求,个人私有云存储系统查询到与该设备关联的所有虚拟容器,然后将虚拟容器内第一个未全部完成的任务组下发给该设备;该设备保存任务内容和分组的编号,并根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据;每完成一个文件的下载或者完成一个任务组的全部或部分文件的下载,则向相应的虚拟容器更新任务完成情况以及存储设备的剩余可用空间;若存储设备的剩余可用空间小于预设值,则放弃已经获得的当前分组的后续任务,设置存储设备的状态为Inactive,并停止数据同步服务;否则相应的虚拟容器在接受到任务更新请求后,根据分组编号和文件名称在分组中查找对应的记录,若找到对应的文件记录,则设置fetched=1;其中,fetched为META DATA结构体中包含的一个成员,用于表示是否已经被下载到用户的带有wifi功能的存储设备,fetched的默认值为0;若未找到对应的文件记录,则返回false信号至带有wifi功能的存储设备,带有wifi功能的存储设备收到false信号后,放弃已经获得的当前分组的后续任务并重新获取第一个未完成的任务组;带有wifi功能的存储设备每完成一个任务组的下载后,自动请求下一个未完成任务组,直至完成最后一个未完成任务组;其中,所述的带有wifi功能的存储设备联网后,记录任务内容和分组的编号,并根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据具体包括:并行处理或串行处理;所述的并行处理即带有wifi功能的存储设备先获取与此设备关联的所有虚拟容器的第一个任务组数据,然后并行进行多个文件的下载;所述的串行处理即每次只获取一个虚拟容器的任务组数据并进行文件同步,处理完一个虚拟容器的所有任务分组后再依次处理下一个虚拟容器的任务数据。
一种对公有云存储系统的数据进行多账号备份的系统,包括:
绑定模块,用于将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;
遍历模块,用于个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历;
第一数据导出及存储模块,用于遍历完成后,将目录及文件名数据导出并保存至数据库中;
任务生成及分配模块,用于个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;
自动下载模块,用于所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。
所述的绑定模块还包括:
登录模块,用于访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的带有wifi功能的存储设备即与个人私有云存储系统的账户建立了绑定关系;
绑定请求发送模块,用于在所述的带有wifi功能的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;
访问授权获取模块,用于通过公有云存储系统的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;
信息上传模块,用于将所述的公有云存储系统的名称、授权key和带有wifi功能的存储设备的设备编号上传至个人私有云存储系统并保存;
虚拟容器创建及关联模块,用于个人私有云存储系统创建多个不同的虚拟容器,(在每个虚拟容器中,利用公有云存储系统的API及相应的授权KEY进行登录,同时设置用户期望同步的目录,默认为根目录)使得各个虚拟容器分别与多个公有云存储账户或公有云存储账户中指定的一个或多个目录一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联。
所述的遍历模块还包括:
数组结构生成模块,用于所述的不同的虚拟容器对与其相关联的公有云存储账户或公有云存储账户下的指定目录及子目录和文件进行首次遍历,生成META DATA的数据结构;
第一数据导出及存储模块还包括:
数据分组模块,用于遍历完成后,将所述的文件名按照N个为一组,划分为多个组后,导出为json格式的数据,并保存至数据库中;其中,遍历时,以目录或文件名称作为索引值。
所述的自动下载模块还包括:
状态检测模块,用于带有wifi功能的存储设备联网后,检测存储设备的状态;
记录模块,用于若存储设备的状态为Active,则向个人私有云存储系统发起任务获取请求,个人私有云存储系统查询到与该设备关联的所有虚拟容器,然后将虚拟容器内第一个未全部完成的任务组下发给该设备;该设备保存任务内容和分组的编号;
信息反馈模块,用于带有wifi功能的存储设备每完成一个文件的下载或者完成一个任务组的全部或部分文件的下载,则向相应的虚拟容器更新任务完成情况以及存储设备的剩余可用空间;
文件记录查找及设置模块,用于若存储设备的剩余可用空间大于预设值时,则相应的虚拟容器在接受到任务更新请求后,根据分组编号和文件名称在分组中查找对应的记录,若找到对应的文件记录,则设置fetched=1;其中,fetched为META DATA结构体中包含的一个成员,用于表示是否已经被下载到用户的带有wifi功能的存储设备,fetched的默认值为0;若未找到对应的文件记录,则返回false信号至带有wifi功能的存储设备;
任务放弃及重新获取模块,用于带有wifi功能的存储设备收到false信号后,放弃已经获得的当前分组的后续任务并重新获取第一个未完成的任务组;
任务自动请求模块,用于带有wifi功能的存储设备每完成一个任务组的下载后,自动请求下一个未完成任务组,直至完成最后一个未完成任务组。
所述的遍历模块还包括:
补充遍历及对比模块,用于个人私有云存储系统定期对与其相关联的公有云存储账户下的目录及文件名进行补充遍历,并与本地缓存的目录及文件名列表进行比对,找出新文件,生成下载/同步任务列表;
所述的补充遍历及对比模块具体包括:
数据加载及存储模块:用于个人私有云存储系统从数据库中按照分组的顺序加载目录结构的json数据,在程序的内存中保存该数组结构,并将该数组命名为:old;
补充遍历模块:用于按照首次遍历的方式对公有云存储账户下的目录及文件名进行补充遍历,获得最新的目录遍历结果的数组结构,并将该数组命名为:new;
数据对比模块:用于从old数组中取出一个元素,在new数组中查找与该元素文件名相同的元素,如果没有找到,则放弃此old数组中的该元素;如果找到了对应的元素,则对比两个元素的MD5值或文件长度和最后修改时间;如果相同,则把old数组中元素的fetched值复制给new数组中对应的元素;重复本操作,直到old数组中所有的元素都取出;
第二数据导出及存储模块,用于补充遍历完成后,将new数组的数据从程序的内存导出为json格式的数据,并以分组方式保存至数据库中。
实施例2:一种对公有云存储系统的数据进行多账号备份的方法,如图1所示,包括以下步骤:
S1,将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;具体包括:
S11,访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的带有wifi功能的存储设备即与个人私有云存储系统的账户建立了绑定关系;
S12,在所述的带有wifi功能的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;通过公有云存储系统的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;
S13,将所述的公有云存储系统的名称、授权key和带有wifi功能的存储设备的设备编号上传至个人私有云存储系统并保存;
S14,个人私有云存储系统创建多个不同的虚拟容器,(在每个虚拟容器中,利用公有云存储系统的API及相应的授权KEY进行登录,同时设置用户期望同步的目录,默认为根目录)使得各个虚拟容器分别与多个公有云存储账户或公有云存储账户中指定的一个或多个目录一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联;
S2,个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;具体包括:所述的不同的虚拟容器对与其相关联的公有云存储账户或公有云存储账户下的指定目录及子目录和文件进行首次遍历,生成META DATA的数据结构;遍历完成后,将所述的文件名按照N个为一组,划分为多个组后,导出为json格式的数据,并保存至数据库中;其中,遍历时,以目录或文件名称作为索引值;
S3,个人私有云存储系统中的各个不同的虚拟容器将数据库中的数据按照分组生成多个任务组,并且等待带有wifi功能的存储设备联网后按照分组获取任务;
S4,所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据;具体包括:带有wifi功能的存储设备联网后,检测存储设备的状态,若为Active,则向个人私有云存储系统发起任务获取请求,个人私有云存储系统查询到与该设备关联的所有虚拟容器,然后将虚拟容器内第一个未全部完成的任务组下发给该设备;该设备保存任务内容和分组的编号,并根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据;每完成一个文件的下载或者完成一个任务组的全部或部分文件的下载,则向相应的虚拟容器更新任务完成情况以及存储设备的剩余可用空间;若存储设备的剩余可用空间小于预设值,则放弃已经获得的当前分组的后续任务,设置存储设备的状态为Inactive,并停止数据同步服务;否则相应的虚拟容器在接受到任务更新请求后,根据分组编号和文件名称在分组中查找对应的记录,若找到对应的文件记录,则设置fetched=1;其中,fetched为META DATA结构体中包含的一个成员,用于表示是否已经被下载到用户的带有wifi功能的存储设备,fetched的默认值为0;若未找到对应的文件记录,则返回false信号至带有wifi功能的存储设备,带有wifi功能的存储设备收到false信号后,放弃已经获得的当前分组的后续任务并重新获取第一个未完成的任务组;带有wifi功能的存储设备每完成一个任务组的下载后,自动请求下一个未完成任务组,直至完成最后一个未完成任务组。
一种对公有云存储系统的数据进行多账号备份的系统,包括:
绑定模块,用于将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;
遍历模块,用于个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历;
第一数据导出及存储模块,用于遍历完成后,将目录及文件名数据导出并保存至数据库中;
任务生成及分配模块,用于个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;
自动下载模块,用于所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。
所述的绑定模块还包括:
登录模块,用于访问带有wifi功能的存储设备的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的带有wifi功能的存储设备即与个人私有云存储系统的账户建立了绑定关系;
绑定请求发送模块,用于在所述的带有wifi功能的存储设备的Web管理界面上发起对多个公有云存储账户的绑定请求;
访问授权获取模块,用于通过公有云存储系统的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;
信息上传模块,用于将所述的公有云存储系统的名称、授权key和带有wifi功能的存储设备的设备编号上传至个人私有云存储系统并保存;
虚拟容器创建及关联模块,用于个人私有云存储系统创建多个不同的虚拟容器,(在每个虚拟容器中,利用公有云存储系统的API及相应的授权KEY进行登录,同时设置用户期望同步的目录,默认为根目录)使得各个虚拟容器分别与多个公有云存储账户或公有云存储账户中指定的一个或多个目录一一对应关联,并且各个虚拟容器均与同一个带有wifi功能的存储设备进行关联。
所述的遍历模块还包括:
数组结构生成模块,用于所述的不同的虚拟容器对与其相关联的公有云存储账户或公有云存储账户下的指定目录及子目录和文件进行首次遍历,生成META DATA的数据结构;
第一数据导出及存储模块还包括:
数据分组模块,用于遍历完成后,将所述的文件名按照N个为一组,划分为多个组后,导出为json格式的数据,并保存至数据库中;其中,遍历时,以目录或文件名称作为索引值。
所述的自动下载模块还包括:
状态检测模块,用于带有wifi功能的存储设备联网后,检测存储设备的状态;
记录模块,用于若存储设备的状态为Active,则向个人私有云存储系统发起任务获取请求,个人私有云存储系统查询到与该设备关联的所有虚拟容器,然后将虚拟容器内第一个未全部完成的任务组下发给该设备;该设备保存任务内容和分组的编号;
信息反馈模块,用于带有wifi功能的存储设备每完成一个文件的下载或者完成一个任务组的全部或部分文件的下载,则向相应的虚拟容器更新任务完成情况以及存储设备的剩余可用空间;
文件记录查找及设置模块,用于若存储设备的剩余可用空间大于预设值时,则相应的虚拟容器在接受到任务更新请求后,根据分组编号和文件名称在分组中查找对应的记录,若找到对应的文件记录,则设置fetched=1;其中,fetched为META DATA结构体中包含的一个成员,用于表示是否已经被下载到用户的带有wifi功能的存储设备,fetched的默认值为0;若未找到对应的文件记录,则返回false信号至带有wifi功能的存储设备;
任务放弃及重新获取模块,用于带有wifi功能的存储设备收到false信号后,放弃已经获得的当前分组的后续任务并重新获取第一个未完成的任务组;
任务自动请求模块,用于带有wifi功能的存储设备每完成一个任务组的下载后,自动请求下一个未完成任务组,直至完成最后一个未完成任务组。
实施例3:一种对公有云存储系统的数据进行多账号备份的方法,包括以下步骤:
S1,将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;
S2,个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历,遍历完成后,将目录及文件名数据导出并保存至数据库中;
S3,个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;
S4,所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。
一种对公有云存储系统的数据进行多账号备份的系统,包括:
绑定模块,用于将个人私有云存储系统的账户与多个公有云存储账户及某个带有wifi功能的存储设备进行绑定;所述的多个公有云存储账户包括:同一个公有云存储系统的多个不同的账户或者多个不同的公有云存储系统的一个或多个不同的账户;
遍历模块,用于个人私有云存储系统对各个公有云存储账户下的目录及文件名进行首次遍历;
第一数据导出及存储模块,用于遍历完成后,将目录及文件名数据导出并保存至数据库中;
任务生成及分配模块,用于个人私有云存储系统将数据库中的目录及文件名数据生成多个任务组并等待带有wifi功能的存储设备主动获取;
自动下载模块,用于所述的带有wifi功能的存储设备联网后,根据当前任务组中的目录及文件名自动从各个公有云存储账户中开始下载任务数据。
本发明的一种实施例的工作原理:如图2所示,访问带有wifi功能的A盘的Web管理界面,并利用个人私有云存储系统的账号和密码进行登陆;登陆成功后,所述的A盘即与个人私有云存储系统的账户建立了绑定关系;在所述的A盘的Web管理界面上发起对多个公有云存储账户(比如360云盘的账户、百度云的账户、金山云盘账户、腾讯云盘账户等)的绑定请求;通过360云盘、百度云、金山云盘、腾讯云盘的开放编程接口(即OpenAPI)获取访问授权,获得相应的授权key;将所述的公有云存储系统的名称(360云盘、百度云、金山云盘、腾讯云盘)、授权key和A盘的设备编号上传至个人私有云存储系统并保存;个人私有云存储系统创建5个不同的虚拟容器,如a虚拟容器、b虚拟容器、c虚拟容器、d虚拟容器和e虚拟容器(可在a虚拟容器中,利用360云盘的API及相应的授权KEY进行登录;在b虚拟容器中,利用百度云的API及相应的授权KEY进行登录,以此类推),并建立以下关联关系:
360云盘——a容器——A盘
百度云——b容器——A盘
金山云盘的xxx目录——c容器——A盘
腾讯云盘的xxx目录——d容器——A盘
腾讯云盘的yyy目录——e容器——A盘
利用a虚拟容器、b虚拟容器、c虚拟容器、d虚拟容器和e虚拟容器分别管控360云盘账户、百度云账户、金山云盘账户中的指定目录及腾讯云盘账户中的指定目录的数据备份及更新任务,并且均与同一个存储设备关联,实现了将不同云存储账户或不同云存储账户中指定目录下的数据备份至同一个存储设备中。
以上工作原理中,所述的360云盘账户、百度云账户、金山云盘账户、腾讯云盘账户也可以为360云盘或其他云盘的几个不同的账户。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610340073.4A CN105956491B (zh) 2016-05-19 2016-05-19 对公有云存储系统的数据进行多账号备份的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610340073.4A CN105956491B (zh) 2016-05-19 2016-05-19 对公有云存储系统的数据进行多账号备份的方法及系统

Publications (2)

Publication Number Publication Date
CN105956491A true CN105956491A (zh) 2016-09-21
CN105956491B CN105956491B (zh) 2018-12-18

Family

ID=56910079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610340073.4A Expired - Fee Related CN105956491B (zh) 2016-05-19 2016-05-19 对公有云存储系统的数据进行多账号备份的方法及系统

Country Status (1)

Country Link
CN (1) CN105956491B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277152A (zh) * 2017-06-29 2017-10-20 郑州云海信息技术有限公司 一种公有云数据安全备份系统
CN107920046A (zh) * 2016-10-09 2018-04-17 中兴通讯股份有限公司 账号管理方法及装置
CN109189609A (zh) * 2018-08-16 2019-01-11 黄疆 一种非结构化数据快速备份系统和方法
CN112887298A (zh) * 2021-01-22 2021-06-01 湖南金鹰卡通传媒有限公司 多账号体系管理数据同步方法、存储介质以及系统
CN114064207A (zh) * 2021-11-10 2022-02-18 南京信易达计算技术有限公司 一种基于定制化linux架构的云存储系统中用户数据容器存储方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
CN102202044A (zh) * 2011-02-25 2011-09-28 北京兴宇中科科技开发股份有限公司 便携式云存储方法和设备
US20120203742A1 (en) * 2011-02-08 2012-08-09 International Business Machines Corporation Remote data protection in a networked storage computing environment
CN102811260A (zh) * 2012-08-10 2012-12-05 清华大学 文件云同步系统及方法
CN103051732A (zh) * 2013-01-18 2013-04-17 上海云和信息系统有限公司 实现数据自动推送分发功能的云计算系统及自动推送方法
CN105100170A (zh) * 2014-05-21 2015-11-25 浙江海洋学院 多个云存储服务平台的自动云存储同步管理系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
US20120203742A1 (en) * 2011-02-08 2012-08-09 International Business Machines Corporation Remote data protection in a networked storage computing environment
CN102202044A (zh) * 2011-02-25 2011-09-28 北京兴宇中科科技开发股份有限公司 便携式云存储方法和设备
CN102811260A (zh) * 2012-08-10 2012-12-05 清华大学 文件云同步系统及方法
CN103051732A (zh) * 2013-01-18 2013-04-17 上海云和信息系统有限公司 实现数据自动推送分发功能的云计算系统及自动推送方法
CN105100170A (zh) * 2014-05-21 2015-11-25 浙江海洋学院 多个云存储服务平台的自动云存储同步管理系统及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107920046A (zh) * 2016-10-09 2018-04-17 中兴通讯股份有限公司 账号管理方法及装置
CN107277152A (zh) * 2017-06-29 2017-10-20 郑州云海信息技术有限公司 一种公有云数据安全备份系统
CN109189609A (zh) * 2018-08-16 2019-01-11 黄疆 一种非结构化数据快速备份系统和方法
CN112887298A (zh) * 2021-01-22 2021-06-01 湖南金鹰卡通传媒有限公司 多账号体系管理数据同步方法、存储介质以及系统
CN114064207A (zh) * 2021-11-10 2022-02-18 南京信易达计算技术有限公司 一种基于定制化linux架构的云存储系统中用户数据容器存储方法

Also Published As

Publication number Publication date
CN105956491B (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN105824723B (zh) 一种对公有云存储账户的数据进行备份的方法及系统
CN103116618B (zh) 基于客户端持久缓存的远程文件系统镜像方法及系统
CN105956491A (zh) 对公有云存储系统的数据进行多账号备份的方法及系统
CN105930233A (zh) 对指定公有云账户的数据进行分别自动备份的方法及系统
US11914585B2 (en) Servicing queries of a hybrid event index
US10001913B2 (en) Shared workspaces with selective content item synchronization
CN105978981B (zh) 基于公有云存储账户的数据备份的线性扩容方法及系统
CN103002027A (zh) 基于键值对系统实现树形目录结构的数据存储系统及方法
CN103282899B (zh) 文件系统中数据的存储方法、访问方法及装置
US20170193039A1 (en) Servicing queries of an event log
CN104462185B (zh) 一种基于混合结构的数字图书馆云存储系统
EP3761611B1 (en) Management of multiple clusters of distributed file systems
CN103647797A (zh) 一种分布式文件系统及其数据访问方法
CN103944958A (zh) 一种广域文件系统及实现方法
CN104657459A (zh) 一种基于文件粒度的海量数据存储方法
CN103731508A (zh) 一种基于云存储的网络硬盘装置及其管理方法
CN103064927A (zh) 分布式文件系统的数据访问方法和装置
CN105608126A (zh) 一种建立海量数据库二级索引的方法和装置
CN103473337A (zh) 一种分布式存储系统中处理面向海量目录和文件的方法
CN103019964B (zh) 一种缓存数据访问方法及数据缓存系统
US20180267989A1 (en) Shared Workspaces with Selective Content Item Synchronization
Verma et al. Comparative Analysis of GFS and HDFS: Technology and Architectural landscape
CN106027615A (zh) 对象存储方法和系统
CN114610680A (zh) 分布式文件系统元数据管理方法、装置、设备及存储介质
US10152265B1 (en) Efficient repository migration and storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100190 room 10-08, building Haidian District, Haidian street, Beijing, 38

Applicant after: Beijing Spring Technology Co., Ltd.

Address before: 100190 room 10-08, building Haidian District, Haidian street, Beijing, 38

Applicant before: Beijing Chunhong Enterprise Management Consulting Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181218

Termination date: 20210519

CF01 Termination of patent right due to non-payment of annual fee