【技术实现步骤摘要】
分布式存储系统及其数据处理方法
本申请涉及计算机领域,具体而言,涉及一种分布式存储系统及其数据处理方法。
技术介绍
分布式文件系统的某些应用场景下,出于数据安全的考虑,用户的数据不能裸写到磁盘上,以免其他人拿到磁盘后从中恢复出用户的数据导致数据泄露,因此,需要在业务系统中提供数据加密功能,其中,在底层存储系统提供数据加密功能能够有效的防止重复开发,减少资源浪费。相关技术中提供了多种数据加密方案,第一种方案为:用户可以设置文件目录为加密,新建在该目录下的文件的数据都是经过加密的,用户可以为不同的目录设置不同的密钥,当文件被创建时,文件的密钥为最近父目录的密钥。当文件被创建时,namenode会从KMS(密钥管理服务器,keymanagerservice)获取密钥,然后存储在namenode上,并将需要对data加密使用的密钥返回给client端,用户在使用client访问文件时,client端会利用namenode返回的加密key和解密key对数据进行加解密。第二种方案为:用户对已有的数据调用数据加密API(应用程序接口,ApplicationProgrammingInterface)进行加密,并且要求加密的数据是不再改动的,加密的时候会对chunk进行分片。但是,对于第一种方案,只能对设置加密的目录下的文件进行加密,而且只能对新创建的文件的数据进行加密,改动量较大,处理效率低且占用内存大;另外,由于加密的密钥都是由namenode获取的,增加了namenode的压力,namenode更容易成为 ...
【技术保护点】
1.一种分布式存储系统的数据处理方法,包括:/n客户端获取写操作对应的数据和密钥信息;/n所述客户端基于所述密钥信息对所述写操作对应的数据进行加密,得到加密数据;/n所述客户端将所述加密数据发送至数据存储节点。/n
【技术特征摘要】
1.一种分布式存储系统的数据处理方法,包括:
客户端获取写操作对应的数据和密钥信息;
所述客户端基于所述密钥信息对所述写操作对应的数据进行加密,得到加密数据;
所述客户端将所述加密数据发送至数据存储节点。
2.根据权利要求1所述的方法,其中,所述写操作用于将所述数据写入已经存在的文件的末尾。
3.根据权利要求2所述的方法,其中,所述密钥信息包括:第一密钥、第二密钥和初始向量,所述第一密钥用于对所述数据进行加密,所述第二密钥是对所述第一密钥进行加密得到的,其中,客户端获取密钥信息包括:
所述客户端判断所述写操作对应的操作位置是否为当前数据块的位置;
在所述写操作对应的操作位置不是所述当前数据块的位置的情况下,所述客户端发送第一密钥请求至密钥管理服务器,并接收所述密钥管理服务器返回的所述第一密钥和所述第二密钥;
所述客户端生成所述初始向量。
4.根据权利要求3所述的方法,其中,在所述写操作对应的操作位置是所述当前数据块的位置的情况下,所述方法还包括:
所述客户端发送第二密钥请求至预设服务器,并接收所述预设服务器返回的所述第二密钥和所述初始向量,其中,所述预设服务器包括如下之一:存储管控节点、所述数据存储节点;
所述客户端发送携带有所述第二密钥的第三密钥请求至所述密钥管理服务器,并接收所述密钥管理服务器返回的所述第一密钥。
5.根据权利要求4所述的方法,其中,所述客户端对所述初始向量进行转换,得到所述当前数据块的偏移量,其中,所述数据存储节点基于所述偏移量,对所述加密数据进行存储。
6.根据权利要求3或4所述的方法,其中,所述方法还包括:
所述客户端获取用于访问密钥管理服务器的访问信息,其中,所述访问信息包括至少之一:所述密钥管理服务器的地址信息、用户名、密码和访问密钥;
所述客户端基于所述访问信息,从密钥管理服务器获取所述第一密钥和所述第二密钥,或者获取所述第一密钥。
7.根据权利要求3所述的方法,其中,在所述客户端将所述加密数据发送至数据存储节点之后,所述方法还包括:
所述客户端发送刷新请求至所述数据存储节点,其中,所述刷新请求包括:所述第二密钥、加密类型和所述初始向量,所述刷新请求由所述数据存储节点存储至元数据节点中;
所述客户端发送标识信息至存储管控节点,其中,所述标识信息用于表征所述加密数据对应的数据块是否已经进行过加密。
8.根据权利要求1所述的方法...
【专利技术属性】
技术研发人员:刘俊峰,姚文辉,吕鹏程,常艳军,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。