一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多云架构的数据存储系统及方法与流程

2022-05-11 10:35:02 来源:中国专利 TAG:


1.本发明涉及数据安全存储技术领域,尤其涉及一种基于多云架构的数据存储系统及方法。


背景技术:

2.公有云环境下数据存储于第三方云服务厂商,数据安全由云服务厂商保障,其安全服务的透明性带来用户对云存储安全不信任。用户通过压缩加密文件的方式在上传、下载过程中操作繁琐且效率较低,易用性较差。私有云方式搭建复杂,成本较大,对于中小规模企业组织不适用。因此,现有的技术方案在数据进行存储时,未能有效保证数据的可靠性与完整性。
3.因此,现有技术还有待改进和提高。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于多云架构的数据存储系统及方法,旨在解决现有技术中在数据进行存储时,未能有效保证数据的可靠性与完整性的问题。
5.为了解决上述技术问题,本发明所采用的技术方案如下:
6.第一方面,本发明提供一种基于多云架构的数据存储系统,其中,所述系统包括:
7.用户访问层,所述用户访问层用于进行身份认证,实现安全访问;
8.存储管理层,所述存储管理层用于将不同云端服务商提供的ap i接口整合,形成统一的虚拟云盘操作界面;
9.数据服务层,所述数据服务层用于对文件数据进行动态分割,并在分割完后将所述文件数据的元信息保存于本地数据库中;
10.数据传输层,所述数据传输层用于对所述文件数据进行分块加密,并基于负载均衡算法,将所述文件数据库分块上传至对应云端。
11.在一种实现方式中,所述数据服务层包括:
12.文件信息提取模块,用于从所述文件数据中提取文件信息,并根据所述文件信息,确定所述文件信息所对应的数据量;
13.分割判断模块,用于基于所述数据量与阈值进行比较,判断是否对所述文件数据进行分割;
14.动态分割模块,用于对所述文件数据进行分割,得到若干数据块以及分割路径,并生成一个哈希值。
15.在一种实现方式中,所述数据服务层还包括:
16.元信息管理模块,用于将所述文件数据分割后生成的参数作为元信息,并将所述元信息保存于本地数据库中。
17.在一种实现方式中,所述数据服务层还包括:
18.冗余分块处理模块,用于将所述文件数据分割后所得到的数据块进行冗余编码处理。
19.在一种实现方式中,所述数据传输层包括:
20.负载均衡处理模块,用于将进行冗余编码处理后的数据块基于负载均衡的调度策略确定云端;
21.数据加密处理模块,用于对所述数据块进行加密处理,并将密钥信息反馈至元信息管理模块,以通过实施元信息管理模块将所述密钥信息反馈至本地数据库。
22.第二方面,本发明实施例还提供一种基于上述方案任意一项所述的基于多云架构的数据存储系统的数据存储方法,其中,所述方法包括:
23.获取用户身份信息并进行身份认证;
24.在确定所述用户身份信息合法时,加载虚拟云盘操作界面;
25.基于所述虚拟云盘操作界面,对文件数据进行动态分割,并在分割完后将所述文件数据的元信息保存于本地数据库中;
26.对所述文件数据进行分块加密,并基于负载均衡算法,将所述文件数据库分块上传至对应云端。
27.在一种实现方式中,所述基于所述虚拟云盘操作界面,对文件数据进行动态分割,包括:
28.从所述文件数据中提取文件信息,并根据所述文件信息,确定所述文件信息所对应的数据量;
29.基于所述数据量与阈值进行比较,判断是否对所述文件数据进行分割;
30.在确定分割时,对所述文件数据进行分割,得到若干数据块以及分割路径,并生成一个哈希值。
31.在一种实现方式中,所述在分割完后将所述文件数据的元信息保存于本地数据库中,包括:
32.将所述文件数据分割后生成的参数作为元信息,并将所述元信息保存于本地数据库中。
33.在一种实现方式中,所述在分割完后将所述文件数据的元信息保存于本地数据库中,还包括:
34.将所述文件数据分割后所得到的数据块进行冗余编码处理。
35.在一种实现方式中,所述对所述文件数据进行分块加密,并基于负载均衡算法,将所述文件数据库分块上传至对应云端,包括:
36.将进行冗余编码处理后的数据块基于负载均衡的调度策略确定云端;
37.对所述数据块进行加密处理,并将密钥信息反馈至元信息管理模块,以通过实施元信息管理模块将所述密钥信息反馈至本地数据库。
38.有益效果:与现有技术相比,本发明提供了一种基于多云架构的数据存储方法,本发明系统包括:用户访问层、存储管理层、存储管理层以及数据传输层。用户访问层用于进行身份认证,实现安全访问;存储管理层用于将不同云端服务商提供的ap i接口整合,形成统一的虚拟云盘操作界面;数据服务层用于对文件数据进行动态分割,并在分割完后将所述文件数据的元信息保存于本地数据库中;所述数据传输层用于对所述文件数据进行分块
加密,并基于负载均衡算法,将所述文件数据库分块上传至对应云端。本发明可将文件数据加密后上传至云端,保障数据的安全性,且将文件数据的元信息存放至本地数据库中,从而保证了本地数据库对文件数据的控制权,进一步保障了数据的安全性。
附图说明
39.图1为本发明实施例提供的分布式多集群的数据存储系统的整体框架图。
40.图2是本发明实施例提供的分布式多集群的数据存储系统中的数据服务层的原理示意图。
41.图3是本发明实施例提供的分布式多集群的数据存储系统中的数据传输层的结构功能图。
42.图4为本发明实施例提供的分布式多集群的数据存储方法的较佳实施例的流程图。
具体实施方式
43.为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
44.公有云环境下数据存储于第三方云服务厂商,数据安全由云服务厂商保障,其安全服务的透明性带来用户对云存储安全不信任。用户通过压缩加密文件的方式在上传、下载过程中操作繁琐且效率较低,易用性较差。私有云方式搭建复杂,成本较大,对于中小规模企业组织不适用。因此,现有的技术方案在数据进行存储时,未能有效保证数据的可靠性与完整性。
45.为此,本实施例提供一种基于多云架构的数据存储系统,具体如图1中所示,本实施例中的基于多云架构的数据存储系统包括有用户访问层、存储管理层、存储管理层以及数据传输层。在本实施例中,用户方通过该数据存储系统与多云端厂商进行数据存储与上传。本实施例中的用户方可为移动端(比如手机)、pc端或者双副本地数据库。用户方通过多云端账户登录用户访问层,基于用户访问层进行身份认证,实现安全访问。如图2所示,用户访问层实现的是用户的安全访问登录功能,用户自主管理各云端的登录账户。其登录密钥保存在用户本地设备(如移动端、pc端等)中,在登陆时由用户本地接入,以此保证用户的安全隐私。当用户提供合法相关云端存储登录密钥时,则会加载虚拟网盘模块,功能交付给存储管理层与数据服务层。本实施例中的存储管理层用于将不同云端服务商提供的api接口整合,形成统一的虚拟云盘操作界面,实现用户上传下载文件、删除文件、创建目录、分享文件等基础操作,直观的存储空间管理界面对于用户操作更为方便。其设计本质是基于虚拟文件系统概念,将实际的多个存储云端抽象为一个统一存储资源池。通过orm技术将文件元文件信息存入本地数据库中,并根据元文件信息指向文件,建立目录。包含文件名、创建时间、文件大小等信息。具体地,本实施例中的存储管理层通过例如libcloud一个访问云计算服务的统一接口,通过在web端搭建前端界面,提供restful接口,支持upload()、download()、login()、file_operate()、dir_operate()、user_operate()等方法操作。并且该存储管理层在前端界面展示包括上传下载等基础操作页面、用户登录信息管理页面、云端负
载利用率监控页面等便于用户操作管理。在本实施例中存储管理层将不同云端厂商提供的api接口整合,形成统一的管理操作平台界面。
46.本实施例中的数据服务层用于对文件数据进行动态分割,并在分割完后将所述文件数据的元信息保存于本地数据库中。具体实施时,本实施例中的所述数据服务层包括:文件信息提取模块、分割判断模块、动态分割模块、元信息管理模块以及冗余分块处理模块。具体地,本实施例中的文件信息提取模块用于从所述文件数据中提取文件信息,并根据所述文件信息,确定所述文件信息所对应的数据量。所述分割判断模块用于将所述数据量与阈值进行比较,判断是否对所述文件数据进行分割。所述动态分割模块用于对所述文件数据进行分割,得到若干数据块以及分割路径,并生成一个哈希值。所述元信息管理模块用于将所述文件数据分割后生成的参数作为元信息,并将所述元信息保存于本地数据库中。所述冗余分块处理模块用于将所述文件数据分割后所得到的数据块进行冗余编码处理。
47.如图1和图2中所示,数据服务层首先基于文件信息提取模块提取文件信息,并从文件信息中提取字节流,得到文件大小(即该文件信息的数据量)。然后采用动态分割算法对文件数据进行分块,算法实现上先设置文件的大小作为参数,当文件大小超过设定的阈值后以行做切割,分片为split_n每份大小不超过设定阈值。具体地,本实施例中的数据服务层基于分割判断模块,将所述文件大小与阈值n进行比较,如文件大小大于阈值n,则就需要对文件数据进行分割。此时,将基于动态分割模块来对所述文件数据进行分割,得到若干数据块以及分割路径,并生成一个哈希值,并且在分割时,及记录切分行处的指针pos_cur。合并时即根据该指针、文件路径进行文件合并,通过原文件生成的哈希值来校验文件的完整性。而当文件大小低于该阈值n,从性能上考虑不做切割直接进行加密。在本实施例中,文件分割所生成的参数作为元信息,即对不同大小的数据采取不同分割策略,当用户增删文件数据时,动态调整选择相应的算法,提高系统的性能避免小文件对于传输效率的浪费。rs纠删码实现n m冗余策略,将n块数据经过算法处理得到m块冗余数据。当其中任意n块出错,可通过算法根据纠删码从而恢复丢失文件保证了数据的可靠性。文件数据的元信息则由元信息管理模块生成保存于用户本地数据库或相关设备中,保证数据的控制权在本地。当出现文件完整性丢失并且时间戳未发生更新,则说明部分文件块丢失,立即启动冗余处理模块。该用于冗余处理模块将所述文件数据分割后所得到的数据块进行冗余编码处理。
48.由此可见,本实施例中可通过由数据服务层传递文件信息,维护同步文件信息。即对比本地缓存的元信息,当文件信息发生增删改动时,元信息与文件信息生成的时间戳所对应的虚拟云盘中文件相应改变。当元信息改变并且时间戳更新时则表示文件由用户改动,并同步更新。并根据file_path、file_size生成对应云端占用率情况图表反馈至用户访问层的前端页面。
49.本实施例中的所述数据传输层用于对所述文件数据进行分块加密,并基于负载均衡算法,将所述文件数据库分块上传至对应云端。具体实施时,所述数据传输层包括:负载均衡处理模块和数据加密处理模块。具体地,所述负载均衡处理模块用于将进行冗余编码处理后的数据块基于负载均衡的调度策略确定云端。所述数据加密处理模块,用于对所述数据块进行加密处理,并将密钥信息反馈至元信息管理模块,以通过实施元信息管理模块将所述密钥信息反馈至本地数据库。
50.如图3所示,本实施例的数据传输层设计实现了对文件分块加密传输机制。保证了
由用户到云端传输过程中数据的机密性,并且通过对分块文件加密保证了用户的数据控制权。结合数据服务层的负载均衡处理模块,负载均衡算法设计考虑了不同云端服务传输性能差异,以保证文件在上传过程中的效率问题。在对文件块上传至云端过程中对数据进行加密操作,形成密文,保证数据的机密性。该负载均衡处理模块对于用户透明,采用基于文件驱动方式实现,用户通过虚拟云盘操作界面,由相应系统接口进行i/o请求操作时,系统接收到消息指令后与各个云端服务器建立连接,调用数据传输层各模块,实现并行传输,用户上传文件经过加密、分割、并行传输处理,下载文件经过完整性校验,解密、合并、并行传输等操作最终以明文形式提供给用户文件数据。对于数据加密处理模块,分为对称加密和非对称加密。常见的对称加密算法:des,aes,3des等等。常见的非对称加密算法:rsa,ecc等。非对称加密虽然机密性高,但在效率上较差。由于分片机制以及元文件数据保存在用户本地,本身有一定的机密性,从效率上,实际应用的角度采取aes-256的对称加密方法。在本实施例中,负载均衡处理模块基于lvs(linux virtual server,即linux虚拟服务器)的负载均衡的调度策略包括加权轮转、最小连接、局部最小链接、最短期望延迟等,由于各云端所提供的服务质量存在差异,本系统采取加权最小连接调度(weighted least connections,wlc)策略。服务质量参数包括空间利用率、连接使用率、吞吐率、平均响应时间、空间价格比等作为性能参数指标,根据上述指标通过设置权值参数wn来评估服务性能进行分配。与传统wlc算法相比,本系统所适用场景服务信息的采集具有动态性,参数过多带来开销过大,并且权值会随各云端服务质量改变。取吞吐率、空间利用率、空间价格比作为主要参数来生成权值参数wn。通过改进的wlc算法更好地保证云端资源分配的合理性。
51.由此可见,本实施例的系统可实现公有云环境下用户关键数据存储。例如医疗记录数据库、系统历史信息、财务数据等,这些关键信息动态产生,并且有一定数据规模,并有共享的需求。本提案有效可行地保护了公有云环境用户数据安全。并且避免了第三方服务宕机造成存储服务不可用问题,保障了数据可用性。此外,还可避免运营商锁定而造成的数据迁移困难问题。随着越来越多的数据储存在网盘上,企业或组织对该网盘的依赖性越大,难以切换到其他网盘服务。并且数据迁移时,很难在短时间内将大量文件从一个网盘迁移到另一个网盘中去。本提案通过多云架构结合负载均衡相关技术考虑用户应用场景与性能需求,保障了数据可控性。最为重要的是,本实施例的系统保障了用户的数据控制权与机密性。公有云地第三方服务形式,其存储过程的加解密方式、存放方式完全由存储商保证。通过动态分割、加密分发传输,冗余恢复策略、元文件信息生成管理的技术将数据存储传输的控制权由第三方存储商转变为用户自己。
52.基于上述实施例,本实施例还提供一种基于上述实施例所述的基于多云架构的数据存储系统的数据存储方法,具体如图4中所示,本实施例数据存储方法包括如下步骤:
53.步骤s100、获取用户身份信息并进行身份认证。
54.具体地,用户方通过该数据存储系统与多云端厂商进行数据存储与上传。本实施例中的用户方可为移动端(比如手机)、pc端或者双副本地数据库。用户方通过多云端账户登录用户访问层,基于用户访问层进行身份认证,实现安全访问。
55.步骤s200、在确定所述用户身份信息合法时,加载虚拟云盘操作界面。
56.当用户提供合法相关云端存储登录密钥时,则会加载虚拟网盘模块,功能交付给存储管理层与数据服务层。本实施例中的存储管理层用于将不同云端服务商提供的api接
口整合,形成统一的虚拟云盘操作界面,实现用户上传下载文件、删除文件、创建目录、分享文件等基础操作,直观的存储空间管理界面对于用户操作更为方便。
57.步骤s300、基于所述虚拟云盘操作界面,对文件数据进行动态分割,并在分割完后将所述文件数据的元信息保存于本地数据库中。
58.具体地,本实施例基于文件信息提取模块提取文件信息,并从文件信息中提取字节流,得到文件大小(即该文件信息的数据量)。然后采用动态分割算法对文件数据进行分块,算法实现上先设置文件的大小作为参数,当文件大小超过设定的阈值后以行做切割,分片为split_n每份大小不超过设定阈值。具体地,本实施例中的数据服务层基于分割判断模块,将所述文件大小与阈值n进行比较,如文件大小大于阈值n,则就需要对文件数据进行分割。此时,将基于动态分割模块来对所述文件数据进行分割,得到若干数据块以及分割路径,并生成一个哈希值,并且在分割时,及记录切分行处的指针pos_cur。合并时即根据该指针、文件路径进行文件合并,通过原文件生成的哈希值来校验文件的完整性。而当文件大小低于该阈值n,从性能上考虑不做切割直接进行加密。本实施例中,文件数据的元信息则由元信息管理模块生成保存于用户本地数据库或相关设备中,保证数据的控制权在本地。当出现文件完整性丢失并且时间戳未发生更新,则说明部分文件块丢失,立即启动冗余处理模块。该用于冗余处理模块将所述文件数据分割后所得到的数据块进行冗余编码处理。
59.步骤s400、对所述文件数据进行分块加密,并基于负载均衡算法,将所述文件数据库分块上传至对应云端。
60.具体地,本实施例将进行冗余编码处理后的数据块基于负载均衡的调度策略确定云端。然后,对所述数据块进行加密处理,并将密钥信息反馈至元信息管理模块,以通过实施元信息管理模块将所述密钥信息反馈至本地数据库。
61.本实施例的基于多云架构的数据存储方法中各个步骤的实现原理与上述实施例中的基于多云架构的数据存储系统中各个模块的实现原理是相同的,因此此处不在赘述。
62.可见,相较于现有多云架构形式的云存储,本实施例采取元信息管理的方式来保证用户自身的数据控制权。用户通过本地的双副本数据库以哈希值形式保存元数据信息,解决用户对于中间件的担忧问题与元信息丢失的隐患。本实施例考虑到实际性能需求与应用场景。考虑到网络带宽、网络延时、各云端服务价格空间比等因素,负载均衡处理模块架构来保证更大的吞吐率与更低的延迟。并且根据文件大小不同采取不同的加密策略,根据文件的分片机制优化了加密传输中的效率问题。本实施例对于用户操作与管理上提供了合理、便捷的方式。且上述系统中加入了数据完整性检测功能,当某云端出现单点故障造成的数据不可用时及时的根据冗余纠删码恢复算法进行丢失块恢复,丢失信息可及时反馈给用户,保证业务连续性与数据可靠性。并且在前端界面加入监控、配置等可视界面便于用户实时查看并调整存储策略。
63.综上,本发明公开了一种基于多云架构的数据存储系统及方法,所述系统包括:用户访问层、存储管理层、存储管理层以及数据传输层。用户访问层用于进行身份认证,实现安全访问;存储管理层用于将不同云端服务商提供的api接口整合,形成统一的虚拟云盘操作界面;数据服务层用于对文件数据进行动态分割,并在分割完后将所述文件数据的元信息保存于本地数据库中;所述数据传输层用于对所述文件数据进行分块加密,并基于负载均衡算法,将所述文件数据库分块上传至对应云端。本发明可将文件数据加密后上传至云
端,保障数据的安全性,且将文件数据的元信息存放至本地数据库中,从而保证了本地数据库对文件数据的控制权,进一步保障了数据的安全性。
64.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献