混合云的数据存储方法、装置、相关设备及云系统与流程

文档序号:12887540阅读:249来源:国知局
混合云的数据存储方法、装置、相关设备及云系统与流程

本发明涉及数据处理技术领域,具体涉及一种混合云的数据存储方法、装置、相关设备及云系统。



背景技术:

混合云是指公有云和私有云的组合,已成为云计算的主要模式和发展方向之一。其中,公有云是由公有云服务提供商提供的计算资源,可供所有的网络用户使用,是可由所有企业和用户共享使用的云环境;私有云是出于安全性考虑的一种由特定用户专享的云环境,如针对某一企业搭建的私有云,私有云中的资源仅供该企业的内部用户,或者与该企业相关的特定外部用户使用。

出于数据存储成本和空间的考虑,混合云的一种常见使用方式是:在私有云和公有云之间进行数据互通,将私有云中的数据存储在公有云上,以减少私有云的数据存储负担。虽然公有云会提供访问权限控制等策略,来保障数据在公有云上的存储安全,但仍然无法避免公有云管理员泄露数据、公有云被黑客攻击等情况下的数据泄露风险,因此如何提升私有云存储在公有云中的数据的安全性,成为了本领域技术人员在不断研究的问题。



技术实现要素:

有鉴于此,本发明实施例提供一种混合云的数据存储方法、装置、相关设备及云系统,以提升私有云存储在公有云中的数据的安全性。

为实现上述目的,本发明实施例提供如下技术方案:

一种混合云的数据存储方法,应用于私有云的网关,所述方法包括:

获取待存储数据;

从待存储数据中确定需加密的部分数据,得到目标数据;

获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;

根据所述第一密文生成包含所述第一密文的目标待存储数据;

根据所述目标待存储数据生成数据分片;

将所述数据分片传输至公有云中存储。

本发明实施例还提供一种混合云的数据读取方法,应用于私有云的网关,所述方法包括:

获取公有云中的存储数据;所述存储数据包括至少一个数据分片,所述至少一个数据分片包括需读取的数据块,和该数据块相应的元数据;

对所述存储数据中的各数据分片进行逐片解压,如果解压过程中,确定数据分片中存在加密的数据块,根据该数据块的元数据选取解密算法,及确定网关连接的加密芯片提供的秘钥;

根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密;

将数据分片解压后的未加密的数据块,和数据分片中解密的数据块相合并,得到读取数据;

反馈所述读取数据给终端设备。

本发明实施例还提供一种混合云的数据存储装置,包括:

待存储数据获取模块,用于获取待存储数据;

目标数据确定模块,用于从待存储数据中确定需加密的部分数据,得到目标数据;

密文获取模块,用于获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;

目标待存储数据确定模块,用于根据所述第一密文生成包含所述第一密文的目标待存储数据;

数据分片确定模块,用于根据所述目标待存储数据生成数据分片;

传输模块,用于将所述数据分片传输至公有云中存储。

本发明实施例还提供一种网关,包括:存储器和处理器,所述存储器存储有程序,所述处理器调用所述程序;所述程序用于:

获取待存储数据;

从待存储数据中确定需加密的部分数据,得到目标数据;

获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;

根据所述第一密文生成包含所述第一密文的目标待存储数据;

根据所述目标待存储数据生成数据分片;

将所述数据分片传输至公有云中存储。

本发明实施例还提供一种存储介质,所述存储介质记录有程序,所述程序用于:

获取待存储数据;

从待存储数据中确定需加密的部分数据,得到目标数据;

获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;

根据所述第一密文生成包含所述第一密文的目标待存储数据;

根据所述目标待存储数据生成数据分片;

将所述数据分片传输至公有云中存储。

本发明实施例还提供一种混合云的数据读取装置,包括:

存储数据获取模块,用于获取公有云中的存储数据;所述存储数据包括至少一个数据分片,所述至少一个数据分片包括需读取的数据块,和该数据块相应的元数据;

解压模块,用于对所述存储数据中的各数据分片进行逐片解压,如果解压过程中,确定数据分片中存在加密的数据块,根据该数据块的元数据选取解密算法,及确定网关连接的加密芯片提供的秘钥;

解密模块,用于根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密;

读取数据得到模块,用于将数据分片解压后的未加密的数据块,和数据分片中解密的数据块相合并,得到读取数据;

数据反馈模块,用于反馈所述读取数据给终端设备。

本发明实施例还提供一种网关,包括:存储器和处理器,所述存储器存储有程序,所述处理器调用所述程序;所述程序用于:

获取公有云中的存储数据;所述存储数据包括至少一个数据分片,所述至少一个数据分片包括需读取的数据块,和该数据块相应的元数据;

对所述存储数据中的各数据分片进行逐片解压,如果解压过程中,确定数据分片中存在加密的数据块,根据该数据块的元数据选取解密算法,及确定网关连接的加密芯片提供的秘钥;

根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密;

将数据分片解压后的未加密的数据块,和数据分片中解密的数据块相合并,得到读取数据;

反馈所述读取数据给终端设备。

本发明实施例还提供一种云系统,包括:位于私有云内的至少一个终端设备,网关,与所述网关连接的加密芯片;位于公有云内的存储转换服务器和存储设备;

其中,所述网关,用于获取待存储数据;从待存储数据中确定需加密的部分数据,得到目标数据;获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;根据所述第一密文生成包含所述第一密文的目标待存储数据;根据所述目标待存储数据生成数据分片;将所述数据分片传输至公有云中存储;

所述存储转换服务器,用于根据所述数据分片生成存储数据,并将所述存储数据更新到存储设备上。

本发明实施例还提供一种混合云的数据存储方法,应用于加密芯片,所述方法包括:

获取私有云的网关传输的待存储数据中需加密的目标数据;

根据秘钥对所述目标数据进行加密,得到第一密文;

输出所述第一密文至所述网关,以便所述网关根据所述第一密文确定存储至公有云中的数据。

本发明实施例还提供一种加密芯片,包括至少一个存储器和至少一个处理器,所述存储器存储有程序,所述处理器调用所述程序;所述程序用于:

获取私有云的网关传输的待存储数据中需加密的目标数据;

根据秘钥对所述目标数据进行加密,得到第一密文;

输出所述第一密文至所述网关,以便所述网关根据所述第一密文确定存储至公有云中的数据。

基于上述技术方案,本发明实施例在将私有云中的数据存储到公有云时,可从待存储数据中确定需加密的部分数据,得到目标数据;从而利用私有云的网关所连接的加密芯片提供的秘钥,对待存储数据中的目标数据进行加密,从而将包含加密后的第一密文的目标待存储数据进行至公有云的存储;由于目标待存储数据包含以加密芯片提供的秘钥所加密的第一密文,并且加密所使用的秘钥由加密芯片存储,秘钥泄露的风险极低,可降低由于云管理员泄露数据、公有云被黑客攻击等情况下的数据泄露风险,提升了私有云存储在公有云中的数据的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的混合云的云系统的架构框图;

图2为本发明实施例提供的混合云的数据存储方法的信令流程图;

图3为混合云的数据存储方法的另一信令流程图;

图4为生成存储数据并更新到存储对象的方法流程图;

图5为网关和加密芯片交互实现部分数据加密的示意图;

图6为混合云的数据存储方法的再一信令流程图;

图7为本发明实施例提供的混合云的数据存储方法的流程图;

图8为本发明实施例提供的混合云的数据读取方法的信令流程图;

图9为本发明实施例提供的混合云的数据存储装置的结构框图;

图10为混合云的数据存储装置的另一结构框图;

图11为混合云的数据存储装置的再一结构框图;

图12为网关的硬件结构框图;

图13为本发明实施例提供的混合云的数据读取装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的混合云的云系统的架构框图,通过图1所示云系统可实现本发明实施例提供的混合云的数据存储方法,达到提升私有云存储在公有云中的数据的安全性的目的;

参照图1,该云系统包括:至少一个终端设备10,网关20,加密芯片30,存储转换服务器40和存储设备50;其中,至少一个终端设备10,网关20和加密芯片30位于私有云内,存储转换服务器40和存储设备50位于公有云内;私有云和公有云可通过特定安全协议进行通信,如私有云和公有云可通过ssl(securesocketslayer安全套接层)协议进行通信;

如图1所示,私有云内的至少一个终端设备10可以认为是私有云中具有数据存储和读写需求的终端设备,终端设备10的形式可以不限于智能手机、平板电脑、pc(个人计算机)等至少一种用户侧的电子设备;在本发明实施例中,私有云中的该至少一个终端设备10可与私有云中的网关20通信连接,在终端设备10需将数据存储到公有云中时,终端设备10可将数据传输给私有云的网关20,由网关20处理后发送到公有云中;

私有云内的网关20可以认为是存储网关,作为私有云和公有云间的桥梁,网关20连接有加密芯片30,加密芯片30存储有用于进行数据加密的秘钥;可选的,加密芯片30可以选用usbkey(usb钥匙),usbkey可以内置单片机或智能卡芯片,其有一定的存储空间,可以存储秘钥;

网关20获取到待存储数据时,可使用本发明实施例提供的混合云的数据存储方法,利用加密芯片30所提供的秘钥对该待存储数据的全部或部分进行加密(进行加密的操作可以由加密芯片30或者网关20实现),从而网关20获取到加密后的密文,可根据包含密文的目标待存储数据生成数据分片,并传输到公有云中进行存储;

公有云中的存储转换服务器40可获取私有云中的网关所传输的数据分片,可对该数据分片进行协议转换等存储转换处理,使得数据符合存储设备的协议,从而将处理后的数据存储到存储设备50中;

存储设备50可以认为是一数据存储体系结构,优选使用对象存储。

可见,本发明实施例可在私有云内的网关上连接加密芯片,该加密芯片存储有加密的秘钥,利用加密芯片提供的秘钥,本发明实施例可对待存储数据的部分或全部进行加密,从而使得存储到公有云中的数据包含以加密芯片提供的秘钥所加密的密文,提升存储到公有云中的数据的安全性;而且,加密所使用的秘钥由私有云内的网关所连接的加密芯片存储,减小了秘钥被管理员获取而导致数据解密泄露的隐患,就算公有云被黑客攻击而导致公有云中的数据泄露,也会因为缺少秘钥而降低数据被解密泄露的隐患,进一步提升了私有云存储在公有云中的数据的安全性。

可选的,本发明实施例可通过私有云内的网关所连接的加密芯片进行待存储数据的部分加密;基于图1所示云系统,图2示出了本发明实施例提供的混合云的数据存储方法的一种可选信令流程图,结合图1和图2所示,该信令流程可以包括:

步骤s10、私有云内的终端设备向私有云的网关发送数据存储指令,所述数据存储指令携带需存储的数据。

可选的,步骤s10可由私有云的用户操作终端设备触发,私有云的用户可指定需要存储到公有云的数据,并操作终端设备发送数据存储指令给私有云的网关,指示私有云的网关进行数据至公有云的存储,该数据存储指令可以携带有需存储的数据。

步骤s11、私有云的网关获取待存储数据。

可选的,本发明实施例可基于数据块进行数据的存储,如果私有云的网关接收到的需存储的数据较大,则可对该需存储的数据进行数据块分块处理,得到多个数据块,从而将各数据块分别作为待存储数据;本发明实施例分块得到的数据块的大小可选为1(兆),显然,具体数据块的大小可以根据实际情况调整设置;

而如果私有云的网关接收到的需存储的数据较小,并不足以分块,比如需存储的数据仅为5k(字节)大小,则本发明实施例可直接将需存储的数据作为待存储数据。

可选的,网关可对外提供虚拟iscisi(internetsmallcomputersysteminterface,小型计算机系统接口)块存储设备,即通过iscsi接口提供块存储卷,这个存储卷是个线性的地址空间;即对于私有云内的终端设备而言,私有云的网关可以实现一个iscsi的target(iscsi的存储设备),在私有云的终端设备看来,网关可以是一个块存储设备的接口,可以虚拟多个volume(卷)供多台终端设备使用;

可选的,网关可利用iscsi接口提供的块存储卷对需存储的数据进行数据块分块处理,从而获取到待存储数据;

需要说明的是,网关提供的iscsi接口可以与硬盘的块存储接口类似,硬盘的块存储接口对数据的存取是按照扇区号标志的,比如一个100m(兆)的文件,先通过文件系统管理,最终存储到硬盘上的一组扇区上,这组扇区可能是连续的也可能是不连续的,具体存储到哪些扇区,是由文件系统决定的;而本发明实施例中,私有云的网关对外提供的虚拟iscisi块存储设备,实现的是跟硬盘同层的存储设备,管理的是类似于扇区的数据块;而正常硬盘的一个数据块就是一个扇区,一般是512k(字节),本发明实施例中网关可根据设定将待存储数据分块成更大的数据块进行管理,如1m等,具体的数据块的大小可根据实际情况设定。

步骤s12、网关确定所述待存储数据中需加密的部分数据,得到目标数据。

如果需存储的数据分块得到多个数据块,本发明实施例可将各数据块分别作为待存储数据,确定各数据块中需加密的部分数据,得到目标数据;而如果待存储数据较小,可直接将终端设备发送的需存储的数据作为待存储数据,则本发明实施例可确定待存储数据中需加密的部分数据,得到目标数据。

可选的,本发明实施例可由私有云的网关连接的加密芯片进行加密操作,加密芯片可以对待存储数据的部分数据进行加密;

显然,本发明实施例也可对待存储数据的全部进行加密;可选的,加密芯片具体是对待存储数据的全部或者部分进行加密可以由网关的设置表格记录,该设置表格记录的内容可由用户进行修改调整;如果所述设置表格中记录的是加密芯片加密待存储数据的全部数据,则本发明实施例可对待存储数据的全部进行加密;如果所述设置表格中记录的是加密芯片加密待存储数据的部分数据,则本发明实施例可确定待存储数据中需加密的部分数据,得到目标数据。

步骤s13、网关将所述目标数据传输至所连接的加密芯片。

可选的,网关与加密芯片可采用usb连接,网关可通过usb通信协议,将所述目标数据传输至加密芯片。

步骤s14、加密芯片根据所存储的秘钥对所述目标数据进行加密,并向所述网关返回加密后的第一密文。

加密芯片获取到网关所传输的目标数据后,可根据加密芯片内存储的秘钥对所述目标数据进行加密,得到加密后的第一密文;加密芯片可将加密后的第一密文反馈给网关;第一密文可以认为是待存储数据中的部分数据加密后的密文;

秘钥可以认为是一组特定的秘密数据,在加密时,秘钥控制加密算法按照指定的方式将明文变换为相应的密文,并将一组信源标识信息变换不可伪造的签名;在解密时,它控制解密算法按照指定的方式将密文变换为相应的明文,并将签名信息变换成不可否认的信源证据;

可选的,本发明实施例所使用的加密算法可以根据实际情况设定。

步骤s15、网关根据所述第一密文生成包含所述第一密文的目标待存储数据。

可选的,如果加密芯片是对待存储数据的部分数据进行加密,则加密后的第一密文是待存储数据中部分的数据进行加密后结果,本发明实施例可将第一密文覆盖到待存储数据中目标数据的原始位置,从而生成包含所述第一密文的目标待存储数据。

步骤s16、网关根据所述目标待存储数据生成数据分片。

可选的,本发明实施例可确定目标待存储数据的元数据,将该元数据与目标待存储数据结合生成数据分片;可选的,本发明实施例可将目标待存储数据进行压缩后,与元数据结合生成数据分片;

可选的,元数据的内容可以包括如下至少一项:待存储数据是否为完整数据块的指示信息,块内地址偏移,待存储数据的数据长度,待存储数据部分加密还是全部加密的指示信息,密文的内部偏移,密文的数据长度,由加密芯片还是网关加密的加密方式指示信息,当前使用秘钥的秘钥id或种子id,加密算法的指示信息,压缩算法的指示信息等。

其中,秘钥id(身份标识号)与加密芯片当前所使用的秘钥相对应,加密芯片所存储的一秘钥可对应一秘钥id;种子id与生成秘钥所使用的种子相对应,一种子对应一种子id。

步骤s17、网关将所述数据分片传输至公有云。

可选的,网关将所述数据分片传输至公有云中存储,公有云中的存储转换服务器可接收所述数据分片。

步骤s18、公有云的存储转换服务器根据所述数据分片生成存储数据,并将所述存储数据更新到对象存储上。

可选的,视待存储数据是否为完整数据块,存储转换服务器根据数据分片生成存储数据的处理过程可能不同;待存储数据是否为完整数据块,可以由数据分片中的元数据记录的待存储数据是否为完整数据块的指示信息确定;

如果待存储数据为完整的数据块,则存储转换服务器可直接将数据分片与特定存储数据内容相结合,生成存储数据;从而可将存储数据中的数据分片的目标待存储数据,覆盖到对象存储中以前存储的相应数据上,同时在对象存储中记录相应的元数据与特定存储数据内容;

可选的,如果待存储数据不为完整的数据块,比如待存储数据仅是5k的数据,并不满足1m大小完整需求的数据块,则存储转换服务器可从存储设备中取回待存储数据相应的至少一个原数据分片;对取回的各原数据分片进行逐片解压,得到至少一个原数据块,合并目标待存储数据与所述至少一个原数据块,得到至少一个需存储的数据块,将至少一个需存储的数据块进行压缩,压缩后的数据与元数据结合形成数据分片,所形成的数据分片和特定存储数据内容相结合,生成存储数据,从而将存储数据更新到对象存储中。

可选的,存储转换服务器还可在数据分片的协议与存储设备的协议不一致时,将数据分片的协议转换为与存储设备的协议相一致。

存储设备可在记录存储数据时,按照数据块的地址空间分配不同的块,存储数据的一个数据块对应一个文件,使用标识值(bno)来标识数据块的块号;bno通过地址和块大小计算,比如1m大小为1块,第0-1m字节内bno是0,1-2m的bno是1,其他类似;地址mod块大小可以认为是bno。

可选的,特定存储数据内容可以包括如下至少一项:数据属性(数据块的版本号),数据头-定长(协议版本、数据块版本号、分片数量);

相应的,存储数据的结构可以如下:

数据属性,包括:数据块的版本号;

数据头-定长,包括:协议版本、数据块版本号、分片数量;

数据分片-定长(即元数据),包括:待存储数据是否为完整数据块的指示信息,块内地址偏移,待存储数据的数据长度,部分加密还是全部加密的指示信息,密文的内部偏移,密文的数据长度,由加密芯片还是网关加密的加密方式指示信息,当前使用秘钥的秘钥id或种子id,加密算法,压缩算法等;

数据分片-变长,包括:具体的数据块。

可见,基于图2所示信令流程,在将私有云中的数据存储到公有云时,本发明实施例可利用私有云的网关所连接的加密芯片提供的秘钥,对待存储数据的部分进行加密,从而将包含加密后的第一密文的目标待存储数据进行至公有云的存储;由于目标待存储数据包含以加密芯片提供的秘钥所加密的第一密文,提升了存储到公有云中的数据的安全性,并且加密所使用的秘钥由加密芯片存储,秘钥泄露的风险极低,可降低由于云管理员泄露数据、公有云被黑客攻击等情况下的数据泄露风险,提升了私有云存储在公有云中的数据的安全性。

可选的,在图2所示信令流程中,加密芯片可对待存储数据的部分进行加密,但也不排除加密芯片对待存储数据的全部进行加密的情况;作为优选,由于加密芯片的加密性能可能较差,并无法对待存储数据的全部进行加密,因此本发明实施例可优选使用加密芯片对待存储数据的部分进行加密;显然,这仅是由加密芯片进行加密操作的一种优选方案,本发明实施例并不排除加密芯片在具有足够的加密性能时,由加密芯片对待存储数据的全部进行加密的情况。

可选的,图3示出了本发明实施例提供的混合云的数据存储方法的另一种可选信令流程,结合图1和图3所示,该信令流程可以包括:

步骤s20、私有云内的终端设备向私有云的网关发送数据存储指令。

步骤s21、私有云的网关获取待存储数据。

步骤s22、网关确定待存储数据中需加密的部分数据的大小,以及确定需加密的部分数据在待存储数据中相应的位置;根据所述大小和所述位置,从待存储数据中确定需加密的部分数据,得到目标数据。

可选的,本发明实施例可确定待存储数据中需加密的部分数据的大小,以及需加密的部分数据在待存储数据中相应的位置(如待存储数据为数据块时,需加密的部分数据在待存储数据中相应的块内地址偏移),从而根据所设定的需加密的部分数据的大小以及在待存储数据中相应的位置,从待存储数据中确定需加密的部分数据,得到目标数据;

可选的,需加密的部分数据的大小,以及需加密的部分数据在待存储数据中相应的位置可记录在设置表格中,并由用户进行修改调整;例如,设置表格可记录需加密的部分数据的大小,以及需加密的部分数据在待存储数据中相应的块内地址偏移;相应的,本发明实施例可确定所述设置表格记录的待存储数据中需加密的部分数据的大小,确定所述设置表格记录的需加密的部分数据在待存储数据中相应的位置。

可选的,需加密的目标数据相应的块内地址偏移可以认为是,进行加密的目标数据(部分数据)在待存储数据中的起始地址,比如一个待存储数据的大小是1m,对该1m的待存储数据中2k的目标数据进行加密,则这个2k的目标数据在待存储数据的起始地址则认为是,这个2k的目标数据加密后的第一密文相应的块内地址偏移。

例如,在待存储数据为通过数据块分块处理得到的数据块时,在设定需加密的部分数据的大小为2k(数值仅是可选示例),及需加密的部分数据相应的块内地址偏移后,网关可从待存储数据中该块内地址偏移开始,选取2k的数据作为需加密的部分数据,得到目标数据;

可选的,本发明实施例也可随机的确定待存储数据中需加密的部分数据的大小,以及需加密的部分数据在待存储数据中相应的位置。

步骤s23、网关将所述目标数据传输至所连接的加密芯片。

步骤s24、加密芯片根据所存储的秘钥对所述目标数据进行加密,并向所述网关返回加密后的第一密文。

步骤s25、网关从待存储数据中目标数据的起始位置开始,覆盖所述第一密文,得到包含所述第一密文的目标待存储数据。

可选的,网关获取到第一密文后,可确定第一密文相对应的需加密的部分数据在待存储数据中相应的块内地址偏移,从而根据该块内地址偏移,将第一密文覆盖到待存储数据中目标数据的原始位置,得到包含所述第一密文的目标待存储数据;即按照该块内地址偏移,从待存储数据中目标数据的起始位置开始,覆盖所述第一密文,得到包含所述第一密文的目标待存储数据。

步骤s26、网关根据所述目标待存储数据生成数据分片。

可选的,可结合目标待存储数据的元数据与目标待存储数据,生成数据分片;元数据的内容可参照上文描述。

步骤s27、网关将所述数据分片传输至公有云。

步骤s28、公有云的存储转换服务器根据所述数据分片生成存储数据,并将所述存储数据更新到对象存储上。

可选的,步骤s28的说明可与图2所示步骤s18类似,需要进一步说明的是,如果待存储数据不为完整的数据块,则将解压原数据分片得到的至少一个原数据块与目标待存储数据合并,得到至少一个需存储的数据块的过程可以为:

如果对取回的各原数据分片进行逐片解压后的原数据块,与目标待存储数据不存在加密数据交叉的情况,则可将原数据块与目标待存储数据合并为一个完整数据块;而如果原数据块,与目标待存储数据存在加密数据交叉的情况,则可将与目标待存储数据存在加密数据交叉的原数据块相独立,将与目标待存储数据不存在加密数据交叉的原数据块,和目标待存储数据进行合并,从而集合相独立的原数据块,和合并后的数据块,得到至少一个需存储的数据块;

可选的,步骤s28的执行流程可以如图4所示,包括:

步骤s100、判断待存储数据是否为完整的数据块,若是,执行步骤s110,若否,执行步骤s130。

可选的,可通过数据分片中的元数据记录的待存储数据是否为完整数据块的指示信息确定,待存储数据是否为完整的数据块。

步骤s110、将数据分片与特定存储数据内容相结合,生成存储数据。

可选的,数据分片可以包括:目标待存储数据与相应的元数据。

步骤s120、将存储数据中的目标待存储数据覆盖到对象存储中以前存储的相应数据上,同时在对象存储中记录存储数据相应的元数据与特定存储数据内容。

步骤s130、从对象存储中取回待存储数据的至少一个原数据分片。

比如待存储数据为5k,对象存储以1m的数据块进行数据存储,则可从对象存储中取回该5k的待存储数据所对应的,在对象存储中以1m的数据块进行存储的原数据分片。

步骤s140、对取回的各原数据分片进行逐片解压,得到至少一个原数据块。

步骤s150、判断原数据块与目标待存储数据是否存在加密数据交叉,若是,执行步骤s160,若否,执行步骤s170。

可选的,本发明实施例可通过目标待存储数据和原数据块中加密数据的地址空间及加密数据的长度,判断原数据块与目标待存储数据是否存在加密数据交叉,比如目标待存储数据中加密数据的地址空间为4-7,原数据块中加密数据的地址空间为16-19,则不存在加密数据交叉,而如果目标待存储数据中加密数据的地址空间为4-7,原数据块中加密数据的地址空间为6-9,则存在加密数据交叉。

步骤s160、将与目标待存储数据存在加密数据交叉的原数据块相独立,并将与目标待存储数据不存在加密数据交叉的原数据块,和目标待存储数据进行合并,集合相独立的原数据块,和合并后的数据块,得到需存储的数据块。

比如目标待存储数据为包含2k的密文的5k数据,则在确定原数据块后,可将原数据块中存在加密数据,且加密数据的地址与该2k密文的地址交叉的原数据块进行独立,不与目标待存储数据进行合并;而对于原数据块中存在加密数据,但不与该2k密文的地址交叉的原数据块,或者原数据块中不存在加密的原数据块,则可目标待存储数据进行合并,得到合并后的数据块;然后可将独立的存在加密数据交叉的原数据块,和合并后的数据块集合起来。

步骤s170、将原数据块与目标待存储数据合并,得到需存储的数据块。

步骤s180、需存储的数据块进行压缩,压缩后的数据与元数据结合形成数据分片,所形成的数据分片和特定存储数据内容相结合,生成存储数据,将所述存储数据更新到对象存储上。

相应的,从连接私有云的网关的角度看,网关可获取网关传输的待存储数据中需加密的目标数据,根据根据秘钥对所述目标数据进行加密,得到第一密文;输出所述第一密文至所述网关,以便所述网关根据所述第一密文确定存储至公有云中的数据(可参照网关获取第一密文后的后续处理)。

从私有云内来看,通过加密芯片进行部分数据加密时,加密芯片与网关的交互过程可以如图5所示,网关可根据设定的待存储数据中需加密的部分数据的大小,以及需加密的部分数据在待存储数据中相应的位置,确定待存储数据中需加密的部分数据,得到目标数据;将该目标数据传输至加密芯片;加密芯片根据所存储的秘钥对目标数据进行加密,并反馈第一密文给网关;网关可按照所述块内地址偏移,从待存储数据中目标数据的原始位置开始覆盖密文,从而得到包含第一密文的目标待存储数据,从而实现对待存储数据中的部分数据进行加密的效果。

可选的,本发明实施例也可在私有云内的网关上进行加密操作,网关向加密芯片获取一次秘钥后,一次获取的秘钥可以维持设定的生命周期,网关可利用当前处于设定的生命周期内的秘钥进行加密操作;网关也可在每次进行数据的存储时,从加密芯片获取一次秘钥进行加密操作,从而利用加密芯片所提供的秘钥进行待存储数据中目标数据的加密操作;

可选的,图6示出了本发明实施例提供的混合云的数据存储方法的再一种可选信令流程,结合图1和图6所示,该信令流程可以包括:

步骤s30、私有云内的终端设备向私有云的网关发送数据存储指令。

步骤s31、私有云的网关获取待存储数据。

步骤s32、网关根据加密芯片所提供的秘钥对所述待存储数据进行加密,得到加密后的第二密文。

可选的,如果所述设置表格指示对待存储数据全部加密,则可将所述待存储数据进行加密,得到第二密文;而如果所述设置表格指示对待存储数据的部分进行加密,则可按照前述方法内容,确定待存储数据中需加密的部分数据,得到目标数据,由网关或加密芯片对该目标数据进行加密,得到第一密文;

可选的,在本发明实施例中,网关可向所连接的加密芯片请求秘钥,从而获取到加密芯片所提供的秘钥,进而以该秘钥对目标数据进行加密;这种方式是网关在每次进行加密操作时,均向加密芯片请求秘钥;

可选的,另一种方式可以是网关向加密芯片请求一次秘钥后,所请求得到的秘钥可以维持设定的生命周期,如果上一次向加密芯片请求的秘钥仍处于设定的生命周期内,则网关可根据上一次向加密芯片请求的秘钥对所述待存储数据进行加密;可选的,上一次向加密芯片请求的秘钥可以在网关中进行存储,并维持设定的生命周期有效,当超过设定的生命周期后,网关可再次向加密芯片请求秘钥,根据再次请求得到的秘钥对所述待存储数据进行加密,得到第二密文;

可选的,一次获取的秘钥所维持的设定的生命周期可以是:一次获取的秘钥设定的有效时间,或者,一次获取的秘钥可以支持网关n次的数据读写;n为设定值,可以根据实际情况设定。

可选的,网关每次从加密芯片获取的秘钥可以是一致的;显然,不排除加密芯片通过动态方式生成动态变化的秘钥的情况,但该秘钥可通过秘钥id相对应。

步骤s33、网关根据所述第二密文生成数据分片。

步骤s34、网关将所述数据分片传输至公有云。

步骤s35、公有云的存储转换服务器根据所述数据分片生成存储数据,并将所述存储数据更新到对象存储上。

作为优选的,网关可以对待存储数据的全部进行加密。显然,也可由加密芯片对待存储数据的全部进行加密。

可选的,上文描述了由加密芯片加密待存储数据的部分或全部,由网关加密待存储数据的部分或全部的方案,这些方案可以是并列的;基于利用网关连接的加密芯片提供的秘钥对存储到公有云的数据进行加密的情况下,这些方案可以择一应用;

显然,这些方案中可以优选使用由加密芯片加密待存储数据的部分,和由网关加密待存储数据的全部的方案;

可选的,在优选方案中,选择加密芯片加密待存储数据的部分,还是由网关加密待存储数据的全部,可以由设置表格进行记录调整。

可选的,在本发明实施例中,设置表格可以记录如下至少一项:

待存储数据部分加密还是全部加密的指示信息;

由加密芯片还是网关加密的加密方式指示信息;

部分加密情况下需加密的部分数据的大小,以及需加密的部分数据在待存储数据中相应的块内地址偏移;

加密芯片加密情况下的秘钥id,加密算法的指示信息;进一步,加密芯片的管理员可以在加密芯片上设置秘钥id和对应的秘钥;

网关加密情况下的生成秘钥的种子id,加密算法的指示信息;进一步,加密芯片的管理员可以在加密芯片上设置种子id和对应的种子。

可选的,设置表格还可以记录:压缩算法的指示信息。

可选的,在结合使用由加密芯片加密待存储数据的部分,和由网关加密待存储数据的全部的情况下,图7示出了本发明实施例提供的混合云的数据存储方法的流程,该方法可应用于私有云的网关,参照图7,该方法可以包括:

步骤s200、获取待存储数据。

可选的,设置表格中还可以记录需进行加密的待存储数据的地址空间(待存储数据的地址空间可以由网关的iscsi接口提供块存储卷确定,该存储卷对应一个线性的地址空间,所划分的各数据块(待存储数据的一种形式)可对应有一地址空间),如果所获取的待存储数据的地址空间,与设置表格中记录的需进行加密的待存储数据的地址空间相对应,则可执行图7后续流程;否则,则可将该待存储数据以明文方式存储;

可选的,设置表格中还可记录需进行加密的待存储数据的存储频次,比如每设定次数存储仅进行一次加密,从而可根据设置表格中记录的需进行加密的待存储数据的存储频次,判断所获取的待存储数据是否需要加密,若是,则可执行图7后续流程;否则,则可将该待存储数据以明文方式存储;

进一步,可结合设置表格中记录的需进行加密的待存储数据的地址空间,和需进行加密的待存储数据的存储频次,来判断是否需要基于所获取的待存储数据执行图7后续流程;如果所获取的待存储数据的地址空间,与设置表格中记录的需进行加密的待存储数据的地址空间相对应,且根据设置表格中记录的需进行加密的待存储数据的存储频次,确定所获取的待存储数据需要加密,则可确定执行图7后续流程,否则,则可将该待存储数据以明文方式存储。

步骤s210、根据设置表格中记录的加密方式指示信息,判断是由加密芯片还是由网关进行加密,若由加密芯片进行加密,执行步骤s220,若由网关进行加密,执行步骤s260。

步骤s220、根据设置表格中记录的设定的需加密的部分数据的大小以及在待存储数据中相应的块内地址偏移,确定所述待存储数据中需加密的部分数据,得到目标数据。

步骤s230、将所述目标数据传输给所连接的加密芯片,以便获取到所述加密芯片根据所存储的秘钥对所述目标数据进行加密后的第一密文。

步骤s240、按照所述块内地址偏移,从待存储数据中目标数据的起始位置开始覆盖所述第一密文,得到包含所述第一密文的目标待存储数据。

步骤s250、根据目标待存储数据生成数据分片,并将所述数据分片传输至公有云。

步骤s260、根据加密芯片所提供的秘钥对待存储数据进行加密,得到第二密文。

可选的,在本发明实施例中由加密芯片进行待存储数据的部分加密,由网关进行待存储数据的全部加密。

步骤s270、根据所述第二密文生成数据分片,并将所述数据分片传输至公有云。

可选的,第二密文可结合元数据生成数据分片。

可选的,进一步,设置表格中还可记录网关从加密芯片获取秘钥的读写间隔次数,如每n次读写,网关从加密芯片中获取一次秘钥。

本发明实施例可利用加密芯片,根据秘钥对待存储数据的部分进行加密,利用网关,根据加密芯片提供的秘钥对待存储数据的全部进行加密。从而对待存储数据的部分或全部进行加密,将包含加密后的密文的数据进行至公有云的存储。

由于目标待存储数据包含以加密芯片提供的秘钥所加密的密文,提升了存储到公有云中的数据的安全性;并且加密所使用的秘钥由加密芯片存储,秘钥泄露的风险极低,且加密芯片与网关断开后,基本没有任何途径可以获取到秘钥,降低了由于云管理员泄露数据、公有云被黑客攻击等情况下的数据泄露风险,进一步提升了私有云存储在公有云中的数据的安全性。

本发明实施例提供的混合云的数据读取方法的信令流程可以如图8所示,该数据读取方法可基于上文描述的数据存储方法实现,参照图8,该信令流程可以包括:

步骤s40、私有云内的终端设备向私有云的网关发送数据读取指令。

步骤s41、网关转发所述数据读取指令至公有云。

步骤s42、公有云的存储转换服务器根据所述数据读取指令,获取存储设备中相应存储的存储数据;所述存储数据包括至少一个数据分片,所述至少一个数据分片包括所述数据读取指令相应读取的数据块,和该数据块相应的元数据。

可选的,在进行数据读取时,存储设备是以数据块的形式进行数据读取。

可选的,存储设备(如对象存储)中存储的数据块是以标识值(bno)进行表示的,本发明实施例中,数据读取指令中可以携带需读取的数据块的标识值(bno)的指示信息;从而存储转换服务器可根据标识值(bno)的指示信息,从存储设备中获取相应的值(数据块),进而可将包含所获取的数据块和该数据块相应的元数据的数据分片的存储数据,从存储设备中获取出来。

步骤s43、存储转换服务器发送所述存储数据给私有云的网关。

从而私有云的网关可获取到公有云中的存储数据。

步骤s44、私有云的网关对所述存储数据中的各数据分片进行逐片解压,如果解压过程中,确定数据分片中存在加密的数据块,根据该数据块的元数据选取解密算法,及确定网关连接的加密芯片提供的秘钥。

可选的,数据分片中存在加密的数据块,可能是该数据块部分或全部被加密,可以由该数据块的元数据进行指示;

可选的,针对数据块的部分解密的过程,与数据块的部分加密的过程可以是逆过程;如果一数据分片在解压过程中,确定该数据分片的数据块存在部分数据被加密,则可根据该数据分片的元数据记录的加密算法选取解密算法,及根据该元数据记录的秘钥id,获取网关连接的加密芯片提供的相应秘钥;从而可根据所选取的解密算法和获取的秘钥,对该数据分片的数据块中的部分加密的目标数据进行解密,解密后的目标数据可根据相应的块内地址偏移,覆盖到数据块中目标数据的原始位置,获得到该数据分片相应的解密的数据块;

而针对一数据分片的数据块被全部加密的情况,则可根据该数据分片的元数据所确定的解密算法和秘钥,对该数据分片的数据块整体进行解密,获得到该数据分片相应的解密的数据块。

步骤s45、网关根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密。

可选的,解密操作可以由网关实现。

步骤s46、网关将数据分片解压后的未加密的数据块,和数据分片中解密的数据块相合并,得到读取数据,并反馈所述读取数据给终端设备。

需要说明的,针对待存储数据的部分或全部进行加密的情况下,数据读取和存储可以认为是逆过程,可以相互参照。

下面对本发明实施例提供的混合云的数据存储装置进行介绍,下文描述的混合云的数据存储装置可以认为是,私有云的网关为实现本发明实施例提供的混合云的数据存储方法所需设置的程序模块;下文描述的混合云的数据存储装置内容,可与上文描述的混合云的数据存储方法内容相互对应参照。

图9为本发明实施例提供的混合云的数据存储装置的结构框图,该混合云的数据存储装置可应用于私有云的网关,参照图9,该混合云的数据存储装置可以包括:

待存储数据获取模块100,用于获取待存储数据;

目标数据确定模块110,用于从待存储数据中确定需加密的部分数据,得到目标数据;

密文获取模块120,用于获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;

目标待存储数据确定模块130,用于根据所述第一密文生成包含所述第一密文的目标待存储数据;

数据分片确定模块140,用于根据所述目标待存储数据生成数据分片;

传输模块150,用于将所述数据分片传输至公有云中存储。

可选的,目标数据确定模块110,用于从待存储数据中确定需加密的部分数据,得到目标数据,具体包括:

确定待存储数据中需加密的部分数据的大小,以及确定需加密的部分数据在待存储数据中相应的位置;

根据所述大小和所述位置,从待存储数据中确定需加密的部分数据。

可选的,目标数据确定模块110可确定设置表格记录的待存储数据中需加密的部分数据的大小,及确定设置表格记录的需加密的部分数据在待存储数据中相应的位置。

可选的,目标数据确定模块110,用于确定需加密的部分数据在待存储数据中相应的位置,具体包括:

确定需加密的部分数据在待存储数据中相应的块内地址偏移。

可选的,目标待存储数据确定模块130,用于根据所述第一密文生成包含所述第一密文的目标待存储数据,具体包括:

根据所述块内地址偏移,将第一密文覆盖到待存储数据中目标数据的原始位置,得到所述目标待存储数据。

可选的,密文获取模块120,用于获取所述目标数据进行加密后的第一密文,具体包括:

将所述目标数据传输至所连接的加密芯片;

获取所述加密芯片根据所存储的秘钥,对所述目标数据进行加密后的第一密文。

可选的,图10示出了本发明实施例提供的混合云的数据存储装置的另一结构框图,结合图9和图10所示,该装置还可以包括:

表格调取模块160,用于调取设置表格;

加密执行第一确定模块170,用于如果所述设置表格指示由加密芯片进行加密,触发密文获取模块120执行所述将所述目标数据传输至所连接的加密芯片的步骤。

可选的,所述设置表格还记录有如下至少一项内容:

待存储数据部分加密还是全部加密的指示信息;

待存储数据中需加密的部分数据的大小,以及需加密的部分数据在待存储数据中相应的块内地址偏移;

加密芯片加密所使用的秘钥id,加密算法的指示信息;

网关使用加密芯片提供的秘钥进行加密时,生成秘钥的种子id,加密算法的指示信息;

压缩算法的指示信息;

网关从加密芯片获取秘钥的读写间隔次数。

可选的,所述数据存储装置还可用于:

若所述设置表格指示对待存储数据部分加密,触发目标数据确定模块110执行所述从待存储数据中确定需加密的部分数据的步骤。

可选的,所述数据存储装置还可用于:

如果所述设置表格指示对待存储数据全部加密,获取待存储数据进行加密后的第二密文,其中,所述待存储数据根据所述网关所连接的加密芯片提供的秘钥进行加密;根据第二密文生成数据分片,并传输至公有云中存储。

可选的,所述数据存储装置用于获取待存储数据进行加密后的第二密文,具体包括:

获取加密芯片提供的秘钥;

根据所述秘钥对所述待存储数据进行加密,得到第二密文。

可选的,所述数据存储装置用于获取加密芯片提供的秘钥,具体包括:

判断上一次向加密芯片请求的秘钥,是否处于设定的生命周期内;

如果上一次向加密芯片请求的秘钥,处于设定的生命周期内,获取上一次向加密芯片请求的秘钥;

如果上一次向加密芯片请求的秘钥,不处于设定的生命周期内,向加密芯片请求秘钥。

可选的,数据分片确定模块140,用于根据所述目标待存储数据生成数据分片,具体包括:

确定目标待存储数据的元数据,将该元数据与目标待存储数据结合生成数据分片。

可选的,元数据可以包括如下至少一项内容:

待存储数据是否为完整数据块的指示信息,块内地址偏移,待存储数据的数据长度,待存储数据部分加密还是全部加密的指示信息,密文的内部偏移,密文的数据长度,由加密芯片还是网关加密的加密方式指示信息,当前使用秘钥的秘钥id或种子id,加密算法的指示信息,压缩算法的指示信息。

可选的,所述设置表格中还记录有需进行加密的待存储数据的地址空间,需进行加密的待存储数据的存储频次;结合图10和图11所示,图11所示的本发明实施例提供的混合云的数据存储装置还可以包括:

加密触发判断模块180,用于判断所获取的待存储数据的地址空间,是否与设置表格中记录的需进行加密的待存储数据的地址空间相对应;及,根据设置表格中记录的需进行加密的待存储数据的存储频次,判断所获取的待存储数据是否需要加密;

如果所获取的待存储数据的地址空间,与设置表格中记录的需进行加密的待存储数据的地址空间相对应,且根据设置表格中记录的需进行加密的待存储数据的存储频次,确定所获取的待存储数据需要加密,则触发目标数据确定模块110执行所述从待存储数据中确定需加密的部分数据的步骤。

本发明实施例还提供一种私有云的网关,该网关的硬件结构框图可以如图12所示,包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;

在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;

可选的,通信接口2可以为通信模块的接口,如gsm模块的接口;

处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,存储器3存储有程序,处理器1调用存储器3所存储的程序,该程序具体用于:

获取待存储数据;

从待存储数据中确定需加密的部分数据,得到目标数据;

获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;

根据所述第一密文生成包含所述第一密文的目标待存储数据;

根据所述目标待存储数据生成数据分片;

将所述数据分片传输至公有云中存储。

本发明实施例还可提供一种存储介质,存储介质的形式可如存储器等,该存储介质可应用于私有云的网关,该存储介质中可记录程序,该程序可用于:

获取待存储数据;

从待存储数据中确定需加密的部分数据,得到目标数据;

获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;

根据所述第一密文生成包含所述第一密文的目标待存储数据;

根据所述目标待存储数据生成数据分片;

将所述数据分片传输至公有云中存储。

可选的,程序的功能细化和扩展功能可参照上文相应部分描述。

可选的,本发明实施例还提供一种加密芯片,该加密芯片可以包括:至少一个存储器和至少一个处理器,所述存储器存储有程序,所述处理器调用所述程序,所述程序用于:

获取私有云的网关传输的待存储数据中需加密的目标数据;

根据秘钥对所述目标数据进行加密,得到第一密文;

输出所述第一密文至所述网关,以便所述网关根据所述第一密文确定存储至公有云中的数据。

本发明实施例还提供一种混合云的数据读取装置,该混合云的数据读取装置可以认为是私有云的网关,为实现本发明实施例提供的混合云的数据读取方法所需设置的程序模块;下文描述的混合云的数据读取装置,可与上文描述的混合云的数据读取方法相互对应参照。

图13为本发明实施例提供的混合云的数据读取装置的结构框图,该装置可应用于私有云的网关,参照图13,该混合云的数据读取装置可以包括:

存储数据获取模块200,用于获取公有云中的存储数据;所述存储数据包括至少一个数据分片,所述至少一个数据分片包括需读取的数据块,和该数据块相应的元数据;

解压模块210,用于对所述存储数据中的各数据分片进行逐片解压,如果解压过程中,确定数据分片中存在加密的数据块,根据该数据块的元数据选取解密算法,及确定网关连接的加密芯片提供的秘钥;

解密模块220,用于根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密;

读取数据得到模块230,用于将数据分片解压后的未加密的数据块,和数据分片中解密的数据块相合并,得到读取数据;

数据反馈模块240,用于反馈所述读取数据给终端设备。

可选的,解密模块220,用于根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密,具体包括:

如果数据分片的数据块存在部分数据被加密,根据所选取的解密算法和获取的秘钥,对该数据分片的数据块中的部分加密的目标数据进行解密,解密后的目标数据根据相应的块内地址偏移,覆盖到数据块中目标数据的原始位置,获得相应解密的数据块。

可选的,上文描述的混合云的数据读取装置可以通过程序模块形式,装载在私有云的网关内;相应的,网关的结构可以如图12所示,包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;

其中,存储器存储有程序,处理器调用所述程序;所述程序用于:

获取公有云中的存储数据;所述存储数据包括至少一个数据分片,所述至少一个数据分片包括需读取的数据块,和该数据块相应的元数据;

对所述存储数据中的各数据分片进行逐片解压,如果解压过程中,确定数据分片中存在加密的数据块,根据该数据块的元数据选取解密算法,及确定网关连接的加密芯片提供的秘钥;

根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密;

将数据分片解压后的未加密的数据块,和数据分片中解密的数据块相合并,得到读取数据;

反馈所述读取数据给终端设备。

可选的,本发明实施例还提供一种云系统,该云系统的结构可以如图1所示,包括:位于私有云内的至少一个终端设备,网关,与所述网关连接的加密芯片;位于公有云内的存储转换服务器和存储设备;

其中,所述网关,用于获取待存储数据;从待存储数据中确定需加密的部分数据,得到目标数据;获取所述目标数据进行加密后的第一密文;其中,所述目标数据根据所述网关所连接的加密芯片提供的秘钥进行加密;根据所述第一密文生成包含所述第一密文的目标待存储数据;根据所述目标待存储数据生成数据分片;将所述数据分片传输至公有云中存储;

所述存储转换服务器,用于根据所述数据分片生成存储数据,并将所述存储数据更新到对象存储上。

可选的,存储转换服务器,用于根据所述数据分片生成存储数据,具体包括:

如果待存储数据为完整的数据块,则将数据分片与特定存储数据内容相结合,生成存储数据;

如果待存储数据不为完整的数据块,则从存储设备中取回待存储数据相应的至少一个原数据分片;对取回的各原数据分片进行逐片解压,得到至少一个原数据块,合并目标待存储数据与所述至少一个原数据块,得到至少一个需存储的数据块;将至少一个需存储的数据块进行压缩,压缩后的数据与元数据结合形成数据分片,所形成的数据分片和特定存储数据内容相结合,生成存储数据。

可选的,存储转换服务器,用于合并目标待存储数据与所述至少一个原数据块,得到至少一个需存储的数据块,具体包括:

判断原数据块与目标待存储数据是否存在加密数据交叉;

若是,将与目标待存储数据存在加密数据交叉的原数据块相独立,并将与目标待存储数据不存在加密数据交叉的原数据块,和目标待存储数据进行合并,集合相独立的原数据块,和合并后的数据块,得到需存储的数据块;

若否,将原数据块与目标待存储数据合并,得到需存储的数据块。

可选的,所述网关,还用于获取公有云中的存储数据;所述存储数据包括至少一个数据分片,所述至少一个数据分片包括需读取的数据块,和该数据块相应的元数据;对所述存储数据中的各数据分片进行逐片解压,如果解压过程中,确定数据分片中存在加密的数据块,根据该数据块的元数据选取解密算法,及确定网关连接的加密芯片提供的秘钥;根据所述解密算法和秘钥,对数据分片中存在加密的数据块进行解密;将数据分片解压后的未加密的数据块,和数据分片中解密的数据块相合并,得到读取数据;反馈所述读取数据给终端设备。

本发明实施例可利用私有云的网关所连接的加密芯片提供的秘钥,对待存储数据的部分或全部进行加密,从而将包含加密后的密文的数据进行至公有云的存储;由于目标待存储数据包含以加密芯片提供的秘钥所加密的密文,并且加密所使用的秘钥由加密芯片存储,秘钥泄露的风险极低,可降低由于云管理员泄露数据、公有云被黑客攻击等情况下的数据泄露风险,提升了私有云存储在公有云中的数据的安全性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1