CN110851080B - 多云盘平台的分布式存储管理系统 - Google Patents

多云盘平台的分布式存储管理系统 Download PDF

Info

Publication number
CN110851080B
CN110851080B CN201911066010.4A CN201911066010A CN110851080B CN 110851080 B CN110851080 B CN 110851080B CN 201911066010 A CN201911066010 A CN 201911066010A CN 110851080 B CN110851080 B CN 110851080B
Authority
CN
China
Prior art keywords
cloud
data
file
blocks
disk
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.)
Active
Application number
CN201911066010.4A
Other languages
English (en)
Other versions
CN110851080A (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.)
Unicloud Technology Co Ltd
Original Assignee
Unicloud Technology 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 Unicloud Technology Co Ltd filed Critical Unicloud Technology Co Ltd
Priority to CN201911066010.4A priority Critical patent/CN110851080B/zh
Publication of CN110851080A publication Critical patent/CN110851080A/zh
Application granted granted Critical
Publication of CN110851080B publication Critical patent/CN110851080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了多云盘平台的分布式存储管理系统,包括多个云盘平台和一个管理应用,管理应用分为后台服务程序和前端交互程序或网页,所述后台服务程序实现云盘管理的核心功能,前端程序或网页提供交互界面;所述后台服务程序将需要上传至云端的文件进行分块处理,对每个数据块分别计算校验和,对每个数据块进行加密,并将加密后的数据块按照一定的分配规则上传到对应云盘平台的相应目录下,同时上传附加数据。本发明的数据在用户本地应用中进行分块和加密处理,上传到云端的数据都是没有直接数据意义的数据块。并且同一个文件的数据块分别采用了不同的加密算法,极大程度地保证了数据地安全性。

Description

多云盘平台的分布式存储管理系统
技术领域
本发明属于云服务技术领域,尤其是涉及一种多云盘平台的分布式存储管理系统。
背景技术
现有技术中,云盘服务提供商提供的用户交互模式如图1所示,当下云盘服务提供商众多,各个提供商都各自为用户提供了从云端服务到终端应用整套服务。当用户需要使用某个云盘服务时,就需要通过云盘应用或网页访问对应的云盘服务。如果用户同时使用多个云盘服务,则需要分别通过云盘各自对应的应用或网页访问,多个网盘之间完全独立,几乎没有关联。还有,云盘服务提供商提供的文件管理方式如图2所示,同样,由于各云盘平台服务的独立性,其文件管理方式也是相互隔离的。当用户要将某个文件上传到云盘时,只能将单个完整文件上传至某个独立云盘。
虽然,还有第三方云盘管理应用,例如一些第三方APP,尤其是一些移动端的文件管理类应用(如安卓端的ES文件浏览器),提供了网盘管理的功能。但这些APP中只提供了基本的网盘登录、文件查看、文件上传下载等功能,操作和管理上仍然是各个云盘独立操作。
现有的云盘服务的缺点包括:
1)安全性,数据直接上传到云端,对服务商而言,数据是可见的,就意味着存在安全风险。
2)性能限制,当下云盘服务的现状存在明显的网络传输速率限制。从一个云盘下载一个资源时经常需要很长的时间。
3)完整性验证,在网络不稳定的情况下,很容易造成下载的大文件损坏,通常云盘客户端在下载完成后可能验证文件的校验值(如MD5),如果发现文件不一致,则需要重新下载整个文件。
4)云盘资源利用率,不同云盘各自独立,单个文件上传到单个云盘,不能综合利用多个云盘资源。
发明内容
有鉴于此,本发明旨在提出一种多云盘平台的分布式存储管理系统,以提高多云盘平台的传输速率和安全性。
为达到上述目的,本发明的技术方案是这样实现的:
多云盘平台的分布式存储管理系统,包括多个云盘平台和一个管理应用,管理应用分为后台服务程序和前端交互程序或网页,所述后台服务程序实现云盘管理的核心功能,前端程序或网页提供交互界面;所述后台服务程序将需要上传至云端的文件进行分块处理,对每个数据块分别计算校验和,对每个数据块进行加密,并将加密后的数据块按照一定的分配规则上传到对应云盘平台的相应目录下,同时上传附加数据,所述附加数据包括文件分块的相关信息、校验和、加密方法。
进一步的,所述后台服务程序可以部署在运行嵌入式操作系统的路由器上,用户可通过不同设备上的前端交互程序或网页访问后台服务程序。
进一步的,所述分块处理采用纠删码算法,将原始文件直接平均分块得到的数据块称为原始块,而通过纠删码算法得到的冗余数据块称为冗余块;冗余块的数量为n=m/(c-1),其中,云盘平台数量为c,原始块数量为m,冗余块数量为n。
进一步的,所述数据块的分发规则为下行速度快的云盘存储原始块的数量大于下行速度较慢的云盘,下行速度快的云盘存储冗余块的数量小于下行速度较慢的云盘。
进一步的,采用对称加密算法对原始块进行加密,对多个云盘采用不同的加密算法。
进一步的,数据块上传至云盘后,每个文件的数据块和相关信息单独存放在一个文件夹中,当文件拥有者需要将某个文件分享给其他用户时,可将该文件对应的云端文件夹生成分享链接,文件拥有者只需要将对称加密时的一组公钥分享给被分享者,被分享者获得所有数据块分享链接和公钥后,即可得到原文件。
相对于现有技术,本发明具有以下优势:
(1)本发明的数据在用户本地应用中进行分块和加密处理,上传到云端的数据都是没有直接数据意义的数据块。并且同一个文件的数据块分别采用了不同的加密算法,极大程度地保证了数据地安全性。
(2)本发明的传输速度得到很大提升,将文件分块为多个数据块后,就可以同时将数据块分别上传到不同的云盘上,实现上传和下载时的传输负载均衡。
(3)本发明对每个数据块进行数据完整性校验,一旦发现某个数据块损坏,只需要重新传输损坏的数据块,而无需重传整个文件。
(4)本发明前后台分离的设计,不仅满足常规单机用户的需求,还可将前后台分离部署,以适应更多复杂使用场景。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有云盘服务提供商提供的用户交互模式示意图;
图2为现有的云盘服务提供商提供的文件管理方式示意图;
图3为本发明实施例所述系统的结构框图;
图4为本发明实施例所述系统的工作方式示意图;
图5为本发明实施例所述系统的文件处理流程图;
图6为本发明实施例所述系统的数据块分布示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
如图3至5所示,多云盘平台的分布式存储管理系统,包括多个云盘平台和一个管理应用,管理应用分为后台服务程序和前端交互程序或网页,所述后台服务程序实现云盘管理的核心功能,前端程序或网页提供交互界面;
所述后台服务程序将需要上传至云端的文件进行分块处理,对每个数据块分别计算校验和,对每个数据块进行加密,并将加密后的数据块按照一定的分配规则上传到对应云盘平台的相应目录下,同时上传附加数据,所述附加数据包括文件分块的相关信息、校验和、加密方法。
所述后台服务程序可以部署在运行嵌入式操作系统(如OpenWrt——一种专用于路由器的嵌入式Linux发行版)的路由器上,家庭用户可通过不同设备上的前端应用或网页访问服务程序,这样就可以在家庭成员间共同分享使用同一组云盘资源。
为了提高数据可靠性(异常情况下造成数据块丢失后仍可保证数据的完整性),需要设计冗余数据块,用于数据恢复。本系统将需要上传至云端的文件进行分块处理,具体采用纠删码算法进行分块处理,纠删码算法是已经比较成熟的一种算法技术,技术细节可查阅相关资料。该算法产生的冗余数据是通过算法计算得到的,为方便阐述,本系统将原始文件直接平均分块得到的数据块称为原始块,而通过纠删码算法得到的冗余数据块称为冗余块。
在纠删码算法中,原始块和冗余块的比例是数据可靠性的决定性因素。其规则是:在所有数据块中,冗余块的数量即为允许丢失的数据块数量的最大值。根据这个准则,下面介绍本系统中应该如何设计原始块和冗余块的比例:若云盘平台数量为c,原始块数量为m,冗余块数量为n,目标是保证任意一个云盘平台在异常情况无法获取数据块时可通过其余云盘平台的数据恢复完整数据。考虑临界情况,应该使n等于云盘数据块数量的最大值(数据块最多的一个云盘的数据块数量),这样才能保证任意一个云盘异常时最多丢失n个数据块。考虑应该使总数据块尽量少,需要使每个云盘的数据块数量相等。综上,可以得到(m+n)/c=n,即应该保证冗余块数量为n=m/(c-1)。
合理的数据分发,可以有效地提高上传或下载的效率。针对许多云盘都可能出现的传输速率限制,通过数据块分发,可以将传输负载分摊在多个云盘上。对于上传过程,上一小节已经阐述过,需要保证上传到各云盘的数据块数量相等,所以上传过程只能采用平均分发。
但对于下载过程有所不同。在纠删码算法的恢复过程(恢复数据时需要保证所使用的原始块和冗余块总数不少于所有原始块的数量),如果使用的原始块越少,冗余块越多,那么需要计算恢复的数据块就越多,恢复过程就越耗时。所以在下载过程应该优先下载所有可获取的原始块,在原始块缺失时才获取等量的冗余块。所以在大多数时候,用户都只需要下载原始块即可。基于这样的情况,为了提高下载过程的效率,应该使下行速度快的云盘存储较多的原始块、较少的冗余块,而使下行速度较慢的云盘存储较少的原始块、较多的冗余块,数据块分布示意见图6。
本系统的加密处理规则:
规则一:仅对原始块进行加密。由于冗余块离开原始块后就不再具备数据意义,所以只需要对原始块进行加密即可;
规则二:采用对称加密算法。为了实现数据可分享,用户上传文件前通过私钥加密数据块,用户可将对应的公钥分享给被信任者,对方即可通过公钥解密文件块;
规则三:采用多种加密速率不同的算法。对每个云盘采用一个不同的加密算法,对下行速度快,即存储原始块较多的云盘采用速率较快的加密算法,相反,对下行速度慢的云盘采用速率较慢但安全性更高的加密算法。
本系统的文件分享方案:
数据块上传至云端后,每个文件的数据块和相关信息单独存放在一个文件夹中,当用户需要将某个文件分享给其他用户时,程序可将该文件对应的云端文件夹生成分享链接,文件拥有者只需要将对称加密时的一组公钥分享给被分享者,被分享者获得所有数据块分享链接和公钥后,即可得到原文件。
本发明的纠删码算法提供分块处理和降低数据冗余,文件以数据块的形式分散地存储在多个云盘上,数据分布规则有助于实现传输负载均衡,提高传输效率,数据块分别采用多种加密算法,兼顾了加密处理的效率和安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.多云盘平台的分布式存储管理系统,其特征在于:包括多个云盘平台和一个管理应用,管理应用分为后台服务程序和前端交互程序或网页,所述后台服务程序实现云盘管理的核心功能,前端程序或网页提供交互界面;
所述后台服务程序将需要上传至云端的文件进行分块处理,对每个数据块分别计算校验和,对每个数据块进行加密,并将加密后的数据块按照一定的分配规则上传到对应云盘平台的相应目录下,同时上传附加数据,所述附加数据包括文件分块的相关信息、校验和、加密方法;
所述分块处理采用纠删码算法,将原始文件直接平均分块得到的数据块称为原始块,而通过纠删码算法得到的冗余数据块称为冗余块;冗余块的数量为n=m/(c-1),其中,云盘平台数量为c,原始块数量为m,冗余块数量为n,n等于数据块最多的一个云盘的数据块数量;
所述数据块的分配规则为下行速度快的云盘存储原始块的数量大于下行速度较慢的云盘,下行速度快的云盘存储冗余块的数量小于下行速度较慢的云盘。
2.根据权利要求1所述的多云盘平台的分布式存储管理系统,其特征在于:所述后台服务程序可以部署在运行嵌入式操作系统的路由器上,用户可通过不同设备上的前端交互程序或网页访问后台服务程序。
3.根据权利要求1所述的多云盘平台的分布式存储管理系统,其特征在于:采用对称加密算法对原始块进行加密,对多个云盘采用不同的加密算法。
4.根据权利要求3所述的多云盘平台的分布式存储管理系统,其特征在于:数据块上传至云盘后,每个文件的数据块和相关信息单独存放在一个文件夹中,当文件拥有者需要将某个文件分享给其他用户时,可将该文件对应的云端文件夹生成分享链接,文件拥有者只需要将对称加密时的一组公钥分享给被分享者,被分享者获得所有数据块分享链接和公钥后,即可得到原文件。
CN201911066010.4A 2019-11-04 2019-11-04 多云盘平台的分布式存储管理系统 Active CN110851080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911066010.4A CN110851080B (zh) 2019-11-04 2019-11-04 多云盘平台的分布式存储管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911066010.4A CN110851080B (zh) 2019-11-04 2019-11-04 多云盘平台的分布式存储管理系统

Publications (2)

Publication Number Publication Date
CN110851080A CN110851080A (zh) 2020-02-28
CN110851080B true CN110851080B (zh) 2023-07-04

Family

ID=69599814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911066010.4A Active CN110851080B (zh) 2019-11-04 2019-11-04 多云盘平台的分布式存储管理系统

Country Status (1)

Country Link
CN (1) CN110851080B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127895A (zh) * 2021-03-17 2021-07-16 嘉兴职业技术学院 一种基于分布式存储的云端数据防护方法
CN113194330A (zh) * 2021-03-25 2021-07-30 电子科技大学 一种碎片化多云视频资源管理方法及系统
CN113507482B (zh) * 2021-07-27 2023-10-10 御风科技(海南)有限公司 数据安全传输方法、安全交易方法、系统、介质和设备
CN114466015B (zh) * 2022-01-25 2024-03-15 柏域信息科技(上海)有限公司 一种基于多云架构的数据存储系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967660A (zh) * 2015-05-11 2015-10-07 华中科技大学 一种面向多云架构的网络性能提升方法
CN105320899A (zh) * 2014-07-22 2016-02-10 北京大学 一种面向用户的云存储数据完整性保护方法
CN109194466A (zh) * 2018-10-29 2019-01-11 南开大学 一种基于区块链的云端数据完整性检测方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282171B (zh) * 2015-11-06 2018-04-27 北京大学深圳研究生院 一种安全可靠的分布式云存储方法
WO2017140381A1 (en) * 2016-02-19 2017-08-24 Nec Europe Ltd. Method for storing data on a storage entity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320899A (zh) * 2014-07-22 2016-02-10 北京大学 一种面向用户的云存储数据完整性保护方法
CN104967660A (zh) * 2015-05-11 2015-10-07 华中科技大学 一种面向多云架构的网络性能提升方法
CN109194466A (zh) * 2018-10-29 2019-01-11 南开大学 一种基于区块链的云端数据完整性检测方法及系统

Also Published As

Publication number Publication date
CN110851080A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
CN110851080B (zh) 多云盘平台的分布式存储管理系统
US10613776B2 (en) Appyling multiple hash functions to generate multiple masked keys in a secure slice implementation
US11586757B2 (en) Systems and methods for a cryptographic file system layer
CN107819828B (zh) 数据传输方法、装置、计算机设备和存储介质
US9594580B2 (en) Secure storage and accelerated transmission of information over communication networks
US9245148B2 (en) Secure storage and accelerated transmission of information over communication networks
US10126961B2 (en) Securely recovering stored data in a dispersed storage network
EP3430515A2 (en) Distributed storage system data management and security
US11151265B2 (en) Secure data storage based on obfuscation by distribution
CN111428271A (zh) 一种区块链云存储用户数据安全解决方法
CN113254272A (zh) 区块链网络的数据处理方法、装置、计算机设备和介质
CN114466015A (zh) 一种基于多云架构的数据存储系统及方法
KR102430135B1 (ko) 에러 정정 코드에 기초하는 동적 블록체인 데이터 저장
KR101472320B1 (ko) 클라우드 환경에 비밀분산 기법을 이용한 데이터 보호 방법
CN111026711A (zh) 基于区块链数据存储方法、装置、计算机设备及存储介质
Jogdand et al. CSaaS-a multi-cloud framework for secure file storage technology using open ZFS
US11019146B2 (en) Segmenting and merging data in a dispersed storage network
Carolin et al. Data loss protection and data security using agents for cloud environment
US10360391B2 (en) Verifiable keyed all-or-nothing transform
CN112486412A (zh) 一种基于分布式对象存储系统安全的信息分散方法及系统
Arya et al. Network coding based multiple fault tolerance scheme in P2P cloud storage system
Tarutani et al. Placement of virtual storages for distributed robust cloud storage
Singh et al. Performance analysis of implicit security mechanisms for cloud storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant