分布式存储系统及其数据处理方法技术方案

技术编号:24937809 阅读:15 留言:0更新日期:2020-07-17 20:54
本申请公开了一种分布式存储系统及其数据处理方法。其中,该方法包括:客户端获取写操作对应的数据和密钥信息;客户端基于密钥信息对写操作对应的数据进行加密,得到加密数据;客户端将加密数据发送至数据存储节点。本申请解决了相关技术中的分布式存储系统的数据处理方法处理效率低且占用内存大的技术问题。

【技术实现步骤摘要】
分布式存储系统及其数据处理方法
本申请涉及计算机领域,具体而言,涉及一种分布式存储系统及其数据处理方法。
技术介绍
分布式文件系统的某些应用场景下,出于数据安全的考虑,用户的数据不能裸写到磁盘上,以免其他人拿到磁盘后从中恢复出用户的数据导致数据泄露,因此,需要在业务系统中提供数据加密功能,其中,在底层存储系统提供数据加密功能能够有效的防止重复开发,减少资源浪费。相关技术中提供了多种数据加密方案,第一种方案为:用户可以设置文件目录为加密,新建在该目录下的文件的数据都是经过加密的,用户可以为不同的目录设置不同的密钥,当文件被创建时,文件的密钥为最近父目录的密钥。当文件被创建时,namenode会从KMS(密钥管理服务器,keymanagerservice)获取密钥,然后存储在namenode上,并将需要对data加密使用的密钥返回给client端,用户在使用client访问文件时,client端会利用namenode返回的加密key和解密key对数据进行加解密。第二种方案为:用户对已有的数据调用数据加密API(应用程序接口,ApplicationProgrammingInterface)进行加密,并且要求加密的数据是不再改动的,加密的时候会对chunk进行分片。但是,对于第一种方案,只能对设置加密的目录下的文件进行加密,而且只能对新创建的文件的数据进行加密,改动量较大,处理效率低且占用内存大;另外,由于加密的密钥都是由namenode获取的,增加了namenode的压力,namenode更容易成为集群瓶颈。对于第二种方案,加密后的数据写入到分布式存储系统中相当于后台转换,无法最大限度的保证数据安全,因此不适用于分布式存储系统。针对相关技术中的分布式存储系统的数据处理方法处理效率低且占用内存大的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种分布式存储系统及其数据处理方法,以至少解决相关技术中的分布式存储系统的数据处理方法处理效率低且占用内存大的技术问题。根据本申请实施例的一个方面,提供了一种分布式存储系统的数据处理方法,包括:客户端获取写操作对应的数据和密钥信息;客户端基于密钥信息对写操作对应的数据进行加密,得到加密数据;客户端将加密数据发送至数据存储节点。根据本申请实施例的另一方面,还提供了一种分布式存储系统,包括:客户端,用于获取写操作对应的数据和密钥信息,并基于密钥信息对写操作对应的数据进行加密,得到加密数据;数据存储节点,与客户端具有通信关系,用于对加密数据进行存储。根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行如下步骤:客户端获取写操作对应的数据和密钥信息;客户端基于密钥信息对写操作对应的数据进行加密,得到加密数据;客户端将加密数据发送至数据存储节点。根据本申请实施例的另一方面,还提供了一种计算设备,包括:处理器,处理器用于运行程序,其中,在程序运行时执行以下步骤:客户端获取写操作对应的数据和密钥信息;客户端基于密钥信息对写操作对应的数据进行加密,得到加密数据;客户端将加密数据发送至数据存储节点。根据本申请实施例的另一方面,还提供了一种分布式存储系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:客户端获取写操作对应的数据和密钥信息;客户端基于密钥信息对写操作对应的数据进行加密,得到加密数据;客户端将加密数据发送至数据存储节点。在本申请实施例中,客户端在获取到写操作对应的数据和密钥信息之后,可以基于密钥信息对写操作对应的数据进行加密,得到加密数据,并将加密数据发送至数据存储节点,以实现分布式存储系统中的数据加密目的。与现有技术相比,本申请上述实施例提供的方案可以对写操作对应的数据进行加密,写操作可以对已存在的文件进行操作,实现了chunk级的数据机密,而不仅仅是对新建的文件进行加密,从而达到了减少改动量,提升处理效率,节省内存,方便文件合并的技术效果,进而解决了相关技术中的分布式存储系统的数据处理方法处理效率低且占用内存大的技术问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的一种用于实现分布式存储系统的数据处理方法的计算机终端(或移动设备)的硬件结构框图;图2是根据本申请实施例的一种分布式存储系统的数据处理方法的流程图;图3是根据本申请实施例的一种可选的分布式存储系统的示意图;图4是根据本申请实施例的一种分布式存储系统的数据处理装置的示意图;图5是根据本申请实施例的一种分布式存储系统的示意图;图6是根据本申请实施例的又一种分布式存储系统的示意图;以及图7是根据本申请实施例的一种计算机终端的结构框图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:KMS模块:keymanagerservice,用户管理用户的加密key以及用户权限校验。Master:分布式存储系统中的存储管控节点,其中主要存储文件的元数据信息以及目录树信息。Client:分布式存储系统中对外提供的sdklibrary,用户只能通过sdk来访问分布式存储系统。Chunksever:分布式存储系统中数据真实存在的位置。UserId:访问kms的用户信息。UserKey:访问kms的密码信息。MasterKey:访问kms时的密钥信息。EncryptionDataKey:加密数据使用的密钥。EncryptedDataKey:EncryptionDataKey加密后的密钥。实施例1根据本申请实施例,提供了一种分布式存储系统的数据处理方法的实施例,需要说明的是,在附图的流程图示出的本文档来自技高网
...

【技术保护点】
1.一种分布式存储系统的数据处理方法,包括:/n客户端获取写操作对应的数据和密钥信息;/n所述客户端基于所述密钥信息对所述写操作对应的数据进行加密,得到加密数据;/n所述客户端将所述加密数据发送至数据存储节点。/n

【技术特征摘要】
1.一种分布式存储系统的数据处理方法,包括:
客户端获取写操作对应的数据和密钥信息;
所述客户端基于所述密钥信息对所述写操作对应的数据进行加密,得到加密数据;
所述客户端将所述加密数据发送至数据存储节点。


2.根据权利要求1所述的方法,其中,所述写操作用于将所述数据写入已经存在的文件的末尾。


3.根据权利要求2所述的方法,其中,所述密钥信息包括:第一密钥、第二密钥和初始向量,所述第一密钥用于对所述数据进行加密,所述第二密钥是对所述第一密钥进行加密得到的,其中,客户端获取密钥信息包括:
所述客户端判断所述写操作对应的操作位置是否为当前数据块的位置;
在所述写操作对应的操作位置不是所述当前数据块的位置的情况下,所述客户端发送第一密钥请求至密钥管理服务器,并接收所述密钥管理服务器返回的所述第一密钥和所述第二密钥;
所述客户端生成所述初始向量。


4.根据权利要求3所述的方法,其中,在所述写操作对应的操作位置是所述当前数据块的位置的情况下,所述方法还包括:
所述客户端发送第二密钥请求至预设服务器,并接收所述预设服务器返回的所述第二密钥和所述初始向量,其中,所述预设服务器包括如下之一:存储管控节点、所述数据存储节点;
所述客户端发送携带有所述第二密钥的第三密钥请求至所述密钥管理服务器,并接收所述密钥管理服务器返回的所述第一密钥。


5.根据权利要求4所述的方法,其中,所述客户端对所述初始向量进行转换,得到所述当前数据块的偏移量,其中,所述数据存储节点基于所述偏移量,对所述加密数据进行存储。


6.根据权利要求3或4所述的方法,其中,所述方法还包括:
所述客户端获取用于访问密钥管理服务器的访问信息,其中,所述访问信息包括至少之一:所述密钥管理服务器的地址信息、用户名、密码和访问密钥;
所述客户端基于所述访问信息,从密钥管理服务器获取所述第一密钥和所述第二密钥,或者获取所述第一密钥。


7.根据权利要求3所述的方法,其中,在所述客户端将所述加密数据发送至数据存储节点之后,所述方法还包括:
所述客户端发送刷新请求至所述数据存储节点,其中,所述刷新请求包括:所述第二密钥、加密类型和所述初始向量,所述刷新请求由所述数据存储节点存储至元数据节点中;
所述客户端发送标识信息至存储管控节点,其中,所述标识信息用于表征所述加密数据对应的数据块是否已经进行过加密。


8.根据权利要求1所述的方法...

【专利技术属性】
技术研发人员:刘俊峰姚文辉吕鹏程常艳军
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1