本发明涉及云计算领域,特别是一种基于混合云存储的数据存储系统及数据存储方法。
背景技术:
随着网络信息化的普及,数据信息呈现出爆炸式增长的趋势,数据量的级别已经由tb级别飙升到zb级别,特别是随着大数据时代的来临,全球数据总量每过24个月都要翻一番。在如此庞大的数据量以及增长速度下,不仅验证了大数据时代的来临,同时也为存储系统进一步发展和繁荣创造了无限的机遇。
数据存储作为云计算的存储部分,是云计算能否实现的存储基础。随着网络信息化的深入,数据存储已经从单纯的存储媒介逐渐演变为一种存储服务。在数据量不大的情况下,企业通过在内部搭建数据中心(私有云)来存放数据,但随着大数据时代的来临,企业已有的数据中心已经不能满足其数据存储需求,对于这些企业,只有继续搭建数据中心或者租用其他企业的存储服务来解决数据存储空间不足的问题。
混合云存储作为一种新型的数据存储模式,将公有云存储和私有云存储进行结合,特别是随着大数据浪潮的到来,这一新型的数据存储模式已经逐渐被各行各业所接受和使用。虽然这种存储模式潜力无限,但在实际的使用过程中,现有混合云存储系统在数据迁移设计与实现方面存在不足,特别是私有云利用率不高的问题。
技术实现要素:
本发明的目的是提供一种基于混合云存储的数据存储系统及数据存储方法,旨在解决现有现有混合云存储系统存在的利用率不高的问题,在保证用户存储需求的同时,提高系统存储性能并降低混合云存储的整体存储成本。
为达到上述技术目的,本发明提供了一种基于混合云存储的数据存储系统,包括:
动态公有云监控模块,用于动态监控各个公有云的性能差异,选取性能最优的公有云;
冷热数据区分模块,用于分离冷数据和热数据;
存储调度模块,用于控制所有的存储操作;
用户访问接口模块,用于传递用户存储请求;
冗余编码模块,用于对需要上传/下载的数据进行编码/解码;
混合云存储资源访问模块,用于提供统一的混合云存储服务访问接口;
元数据管理模块,用于提供数据的元数据信息;
安全加解密模块,用于为数据进行加解密。
优选地,所述动态公有云监控模块包括:
性能测试单元,用于采用多线程同时上传/下载特定小文件的方式,对各个公有云进行性能测试,并根据响应时间大小来作为公有云性能指标;
公有云选取单元,用于动态选取测试结果最优的公有云。
优选地,所述冷热数据区分模块包括:
数据记录及容量保存单元,用于对私有云的数据冷热度信息进行保存,同时与元数据管理模块进行交互,全局记录公有云和私有云的数据存储量以及数据下载量;
冷热数据区分单元,用于对私有云中的热数据和冷数据进行分离;
冷数据批量处理单元,用于批量选择冷数据,按数据量为存储调度模块提供冷数据集合。
优选地,所述存储操作包括用户访问操作、元数据管理操作、冷热数据区分操作、安全加解密操作、冗余编码操作、资源访问操作以及动态公有云监控操作。
优选地,所述冗余编码模块包括:
编码单元,用于对需要上传的数据进行编码,产生多个编码数据块;
数据块上传单元,用于将不同得数据块上传至不同的云存储;
解码单元,用于对需要下载的数据进行解码。
优选地,所述混合云存储资源访问模块通过混合云存储服务访问接口访问的云存储为通过动态公有云监控模块动态选取的性能最优的公有云或私有云。
优选地,所述混合云存储服务访问接口为apachelibcloudapi。
优选地,所述元数据信息包括数据在混合云存储中的存储路径以及公有云信息。
本发明还提供了一种基于混合云存储的数据存储方法,包括:
通过用户访问接口模块接收用户请求,并上传请求至存储调度模块;
冷热数据区分模块对冷热数据进行分离,并将冷热度信息发送至存储调度模块;
存储调度模块基于数据冷热度信息通过混合云存储资源访问模块访问通过动态公有云监控模块选取的性能最优的公有云或私有云,进行上传/下载数据;
通过用户访问接口模块反馈用户请求。
优选地,在上传/下载数据过程中,还包括以下过程:
对数据进行加密/解密;
对数据进行编码/解码;
更新和获取元数据信息。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明通过模块化设计模式,包含了动态公有云监控模块、冷热数据区分模块以及存储调度模块等主要模块,解决现有现有混合云存储系统存在的利用率不高的问题,在保证用户存储需求的同时,提高系统存储性能以及存储空间利用率,并降低混合云存储的整体存储成本,实现一套高效的混合云存储系统。
附图说明
图1为本发明实施例中所提供的一种基于混合云存储的数据存储系统结构示意图;
图2为本发明实施例中所提供的一种基于混合云存储的数据存储方法流程图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种基于混合云存储的数据存储系统及数据存储方法进行详细说明。
如图1所示,本发明实施例公开了一种基于混合云存储的数据存储系统,包括:动态公有云监控模块、冷热数据区分模块、存储调度模块、用户访问接口模块、冗余编码模块、混合云存储资源访问模块、元数据管理模块和安全加解密模块。
动态公有云监控模块,用于动态监控各个公有云的性能差异,选取性能最优的公有云,所述动态公有云监控模块包括性能测试单元和公有云选取单元。
目前各个公有云之间存在性能差异,即使同一公有云在不同时刻也存在性能差异的问题,混合云存储系统在进行数据迁移时需要动态的选取性能优良的公有云。
为实现对各个公有云进行监控,通过性能测试单元,采用多线程同时上传/下载特定小文件的方式,对各个公有云进行性能测试,并根据响应时间大小来作为公有云性能指标。通过公有云选取单元,根据测试结果进行动态选择,即在不同时刻选取该时刻性能最优的公有云,包括获取上传公有云和获取下载公有云。
冷热数据区分模块,用于分离冷数据和热数据,是实现数据迁移的两个核心模块之一,所述冷热数据区分模块包括数据记录及容量保存单元、冷热数据区分单元和冷数据批量处理单元。
随着数据量的不断增长积累,数据会呈现出访问热度不同的巨大差异,热数据相比于冷数据具有更高的数据访问频率。如果无论数据冷热情况,都采取相同的存储策略,是对资源的浪费,因此需要分离出热数据和冷数据,分别采取不同的存储策略。
通过数据记录及容量保存单元,对私有云的数据冷热度信息进行保存,同时与元数据管理模块进行交互,全局记录公有云和私有云的数据存储量以及数据下载量。
通过冷热数据区分单元,可以高效率的对私有云中的热数据和冷数据进行分离。
通过冷数据批量处理单元,批量选择冷数据,按数据量为存储调度模块提供冷数据集合。
存储调度模块,用于控制所有的存储操作,包括用户访问操作、元数据管理操作、冷热数据区分操作、安全加解密操作、冗余编码操作、资源访问操作以及动态公有云监控操作。
所述存储调度模块是整个混合云存储系统的核心模块,也是实现混合云存储系统数据迁移的另一个核心模块。存储调度模块控制着整个混合云存储系统的存储操作,跟存储系统中的其他模块都有直接或者间接联系,通过协调调用系统中的其他模块来完成相关的存储操作。
用户访问接口模块,用于传递用户请求,通过接收用户的存储请求,并将存储请求发送至混合云存储系统中,完成用户的访问操作。
冗余编码模块,用于对需要上传/下载的数据进行编码/解码,所述冗余编码模块包括编码单元、解码单元和数据块上传单元。
通过所述冗余编码模块中的编码单元和解码单元,对用户需要上传/下载的数据进行编码/解码,所述编码单元可以产生多个编码数据块,并利用数据块上传单元将不同得数据块上传至不同的云存储,从而提高数据可靠性,同时可以在一定程度上削弱单个公有云垄断作用,并提高网络带宽的利用率。
混合云存储资源访问模块,用于提供统一的混合云存储服务访问接口。
所述混合云存储资源访问模块以基于restful风格的apachelibcloudapi为基础,通过对国内外知名的公有云存储服务提供商cloudapi,例如亚马逊云、阿里云等,以及用户本身搭建的私有云存储服务api进行整合,为用户提供统一的混合云存储服务访问接口,通过混合云存储服务访问接口访问通过动态公有云监控模块动态选取的性能最优的公有云或私有云。所述存储调度模块通过调用混合云存储资源访问模块实现数据在公有云和私有云中的上传、下载和删除操作。
元数据管理模块,用于提供数据的元数据信息。
所述元数据管理模块与文件系统中的元数据相类似,为混合云存储系统中的其他模块提供数据的元数据信息,例如数据在混合云存储中的存储路径以及存储在哪些公有云中等相关的元数据信息。
安全加解密模块,用于为数据进行加解密。
所述安全加解密模块,通过提供加解密通用接口,为混合云存储中的数据进行加密/解密,并配合冗余编码模块来保障数据安全。该模块为可选模块,用于对安全级别较高的数据做进一步安全提升。
本发明实施例通过模块化设计模式,包含了动态公有云监控模块、冷热数据区分模块以及存储调度模块等主要模块,解决现有现有混合云存储系统存在的利用率不高的问题,在保证用户存储需求的同时,提高系统存储性能以及存储空间利用率,增强数据可靠性,提高网络带宽利用率,并降低混合云存储的整体存储成本,实现一套高效的混合云存储系统。
如图2所示,本发明实施例还包括一种基于混合云存储的数据存储方法,包括以下步骤:
通过用户访问接口模块接收用户请求,并上传请求至存储调度模块;
冷热数据区分模块对冷热数据进行分离,并将冷热度信息发送至存储调度模块;
存储调度模块基于数据冷热度信息通过混合云存储资源访问模块访问通过动态公有云监控模块选取的性能最优的公有云或私有云,进行上传/下载数据;
通过用户访问接口模块反馈用户请求。
在上传/下载数据过程中,还包括以下过程:
对数据进行加密/解密,通过提供加解密通用接口,为混合云存储中的数据进行加解密,并配合冗余编码模块来保障数据安全;
对数据进行编码/解码,通过编码产生多个编码数据块,并将数据块上传至不同的云存储,从而提高数据可靠性;
更新和获取元数据信息,例如数据在混合云存储中的存储路径以及存储在哪些公有云中等相关的元数据信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。