具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的第一较佳实施例提供的加密数据存储的方法的流程图。图5所示为根据本发明的较佳实施例提供的抛物线的示意图。图2所示为根据本发明的第一较佳实施例提供的加密数据存储的系统的示意图。请一并参考图1、图2及图5。如图1所示,本发明的第一较佳实施例提供的加密数据存储的方法包括步骤101~104。
步骤101:客户端根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至策略控制服务器。
具体而言,客户端根据第一策略,将待存储文件生成加密文件的过程为:客户端根据预设分割块数,通过分块算法,对所述待存储文件进行分块后,进行组合;在组合后的文件块的首尾加上校验码(定义为:第一数据);利用MD5算法计算第一数据的文件签名(定义为:第二数据);组合主第一数据、备第一数据及第二数据,获得加密文件。其中,客户端根据预设分割块数,通过分块算法,对所述待存储文件进行分块的方式为:取【v/i】余数,对所述待存储文件进行分块,其中,v代表待存储文件中的数据位序,i为预设分割块数。
举例而言,若客户端的待存储文件为“一种文件隐形加密存储的方法和系统”,预设分割块数为3,所述3个分割数据块分别为余数为0的文件块1、余数为1的文件块2及余数为2的文件块3。客户端取【v/i】余数,例如:“一”在待存储文件中的数据位序为1,则取【1/3】的余数为1,则将“一”放入余数为1的文件块2;“种”在待存储文件中的数据位序为2,则取【2/3】的余数为2,则将“种”放入余数为2的文件块3;“文”在待存储文件中的数据位序为3,则取【3/3】的余数为0,则将“文”放入余数为0的文件块1,以此类推,获得以下文件块:
余数为0的文件块1 |
文形存方系 |
余数为1的文件块2 |
一件加储法统 |
余数为2的文件块3 |
种隐密的和 |
组合上述三个文件块得到如下文件块:文形存方系一件加储法统种隐密的和。在所述组合后的文件块的首尾加上校验码,定义为第一数据:BEGIN文形存方系一件加储法统种隐密的和END。利用MD5算法计算第一数据的文件签名,并定义为第二数据,如下所示:57219DFEB567EE470DDA2824F0270A5E。组合主第一数据、备第一数据及第二数据,获得加密文件为:BEGIN文形存方系一件加储法统种隐密的和END BEGIN文形存方系一件加储法统种隐密的和END57219DFEB567EE470DDA2824F0270A5E。
步骤102:所述策略控制服务器获取存储器剩余存储空间大小及簇个数。
具体而言,所述策略控制服务器接收客户端发送的加密文件后,向存储器发送查询请求;所述存储器向所述策略控制服务器反馈查询响应,其中,所述查询响应中携带了存储器剩余存储空间大小及簇个数。于此,所述存储器根据预设的单个簇的存储空间大小及剩余存储空间大小,获得簇的个数。计算公式为,簇的个数=存储器剩余存储空间大小/单个簇的存储空间大小。
举例而言,若单个簇的存储空间大小为4K,存储器剩余存储空间大小4M,则簇的个数=4M/4K=1024。
步骤103:若存储器剩余存储空间大小大于或等于所述加密文件大小,则所述策略控制服务器根据第二策略,获得文件分配表。
具体而言,策略控制服务器比较所述存储器剩余存储空间大小与加密文件大小,若存储器剩余存储空间大小小于所述加密文件大小,所述策略控制服务器向所述客户端返回错误提示。
当策略控制服务器比较存储器剩余存储空间大小大于或等于所述加密文件大小时,策略控制服务器根据第二策略,获得文件分配表的过程为:所述策略控制服务器根据获得文件分配表,其中,x≥1且x为正整数;y=ax2+bx+c(a<0),x代表第几个簇,y代表x对应的值。
举例而言,假设加密文件大小为2M,存储器的剩余存储空间大小为4M,若单个簇的存储空间大小为4K,则存储器的剩余存储空间有1024个簇。函数y=ax2+bx+c(a<0)的抛物线与x轴的交集的面积即为加密文件大小,即2M。于此,所述抛物线与x轴的交点坐标为(0,0)及(1024,0),由此可得所述抛物线表达式为y=a(x-0)(x-1024),即y=ax2-1024ax。所述抛物线与x轴的交集的面积于本实施例中,即计算获得a=-3/5122,则所述函数式y=-3/5122x2+3/256x。抛物线如图5所示。
于本实施例中,则第1个簇上待存储的加密文件大小为第2个簇上待存储的加密文件大小为依次类推,第1024个簇上待存储的加密文件大小为 获得文件分配表如下:
簇的序号 |
待存储的加密文件大小 |
1 |
0.00585556KB |
2 |
0.017551422KB |
… |
… |
512 |
2.999996185KB |
… |
… |
1024 |
0.00585556KB |
步骤104:所述策略控制服务器根据所述文件分配表及所述加密文件,将所述加密文件存储至存储器剩余存储空间中的簇中。
具体而言,所述策略控制服务器根据所述文件分配表及所述加密文件,将所述加密文件存储至存储器剩余存储空间中的簇中的过程为:所述策略控制服务器查询文件分配表中各个簇对应的待存储的加密文件大小,获取对应大小的加密文件依次存储到所述存储器的对应簇中。
如图2所示,本发明的第一较佳实施例提供的加密数据存储的系统包括客户端11、策略控制服务器12及存储器13,所述客户端11连接策略控制服务器12,所述策略控制服务器12连接存储器13。所述客户端11,用于根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至策略控制服务器12。所述策略控制服务器12,用于获取存储器13剩余存储空间大小及簇个数,还用于若存储器13剩余存储空间大小大于或等于所述加密文件大小,根据第二策略获得文件分配表,还用于根据所述文件分配表及所述加密文件,将所述加密文件存储至存储器13剩余存储空间中的簇中。所述存储器13,用于向所述策略控制服务器12提供剩余存储空间大小及簇个数,还用于存储加密文件。关于上述系统的操作流程同第一较佳实施例提供的方法所述,故于此不再赘述。
图3所示为根据本发明的第二较佳实施例提供的加密数据存储的方法的流程图。图4所示为根据本发明的第二较佳实施例提供的加密数据存储的系统的示意图。请一并参考图3及图4。如图3所示,本发明的第二较佳实施例提供的加密数据存储的方法包括步骤201~204。
步骤201:客户端根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至控制器。
具体而言,客户端根据第一策略,将待存储文件生成加密文件的过程为:客户端根据预设分割块数,通过分块算法,对所述待存储文件进行分块后,进行组合;在组合后的文件块的首尾加上校验码(定义为:第一数据);利用MD5算法计算第一数据的文件签名(定义为:第二数据);组合主第一数据、备第一数据及第二数据,获得加密文件。其中,客户端根据预设分割块数,通过分块算法,对所述待存储文件进行分块的方式为:取【v/i】余数,对所述待存储文件进行分块,其中,v代表待存储文件中的数据位序,i为预设分割块数。
举例而言,若客户端的待存储文件为“一种文件隐形加密存储的方法和系统”,预设分割块数为3,所述3个分割数据块分别为余数为0的文件块1、余数为1的文件块2及余数为2的文件块3。客户端取【v/i】余数,例如:“一”在待存储文件中的数据位序为1,则取【1/3】的余数为1,则将“一”放入余数为1的文件块2;“种”在待存储文件中的数据位序为2,则取【2/3】的余数为2,则将“种”放入余数为2的文件块3;“文”在待存储文件中的数据位序为3,则取【3/3】的余数为0,则将“文”放入余数为0的文件块1,以此类推,获得以下文件块:
余数为0的文件块1 |
文形存方系 |
余数为1的文件块2 |
一件加储法统 |
组合上述三个文件块得到如下文件块:文形存方系一件加储法统种隐密的和。在所述组合后的文件块的首尾加上校验码,定义为第一数据:BEGIN文形存方系一件加储法统种隐密的和END。利用MD5算法计算第一数据的文件签名,并定义为第二数据,如下所示:57219DFEB567EE470DDA2824F0270A5E。组合主第一数据、备第一数据及第二数据,获得加密文件为:BEGIN文形存方系一件加储法统种隐密的和END BEGIN文形存方系一件加储法统种隐密的和END57219DFEB567EE470DDA2824F0270A5E。
步骤202:所述控制器获取策略执行服务器剩余存储空间大小及簇个数。
具体而言,所述控制器接收客户端发送的加密文件后,向策略执行服务器发送查询请求;所述策略执行服务器向所述控制器反馈查询响应,其中,所述查询响应中携带了策略执行服务器剩余存储空间大小及簇个数。于此,所述策略执行服务器根据预设的单个簇的存储空间大小及剩余存储空间大小,获得簇的个数。计算公式为,簇的个数=策略执行服务器剩余存储空间大小/单个簇的存储空间大小。
举例而言,若单个簇的存储空间大小为4K,策略执行服务器剩余存储空间大小4M,则簇的个数=4M/4K=1024。
步骤203:若策略执行服务器剩余存储空间大小大于或等于所述加密文件大小,则所述控制器根据第二策略,获得文件分配表并将所述加密文件及所述文件分配表发送至策略执行服务器。
具体而言,控制器比较所述策略执行服务器剩余存储空间大小与加密文件大小,若策略执行服务器剩余存储空间大小小于所述加密文件大小,所述控制器向所述客户端返回错误提示。
当控制器比较策略执行服务器剩余存储空间大小大于或等于所述加密文件大小时,控制器根据第二策略,获得文件分配表的过程为:所述控制器根据获得文件分配表,其中,x≥1且x为正整数;y=ax2+bx+c(a<0),x代表第几个簇,y代表x对应的值。
举例而言,假设加密文件大小为2M,策略执行服务器的剩余存储空间大小为4M,若单个簇的存储空间大小为4K,则策略执行服务器的剩余存储空间有1024个簇。函数y=ax2+bx+c(a<0)的抛物线与x轴的交集的面积即为加密文件大小,即2M。于此,所述抛物线与x轴的交点坐标为(0,0)及(1024,0),由此可得所述抛物线表达式为y=a(x-0)(x-1024),即y=ax2-1024ax。所述抛物线与x轴的交集的于本实施例中,即计算获得a=-3/5122,则所述函数式y=-3/5122x2+3/256x。抛物线如图5所示。
于本实施例中,则第1个簇上待存储的加密文件大小为第2个簇上待存储的加密文件大小为依次类推,第1024个簇上待存储的加密文件大小为 获得文件分配表如下:
簇的序号 |
待存储的加密文件大小 |
1 |
0.00585556KB |
2 |
0.017551422KB |
… |
… |
512 |
2.999996185KB |
… |
… |
1024 |
0.00585556KB |
步骤204:所述策略执行服务器根据接收的所述文件分配表及所述加密文件,将所述加密文件存储在自身剩余存储空间中的簇中。
具体而言,所述策略执行服务器根据接收的所述文件分配表及所述加密文件,将所述加密文件存储在自身剩余存储空间中的簇中的过程为:所述策略执行服务器查询文件分配表中各个簇对应的待存储的加密文件大小,获取对应大小的加密文件依次存储到自身剩余存储空间中的对应簇中。
如图4所示,本发明的第二较佳实施例提供的加密数据存储的系统包括客户端21、控制器22及策略执行服务器23,所述客户端21连接控制器22,所述控制器22连接策略执行服务器23。所述客户端21,用于根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至控制器22。所述控制器22,用于获取策略执行服务器23剩余存储空间大小及簇个数,还用于若策略执行服务器23剩余存储空间大小大于或等于所述加密文件大小,根据第二策略,获得文件分配表并将所述加密文件及所述文件分配表发送至策略执行服务器23。所述策略执行服务器23,用于根据接收的所述文件分配表及所述加密文件,将所述加密文件存储到自身剩余存储空间中的簇中,还用于向所述控制器22提供剩余存储空间大小及簇个数,并存储加密文件。关于上述系统的操作流程同第二较佳实施例提供的方法所述,故于此不再赘述。
综上所述,根据本发明较佳实施例提供的加密数据存储的方法及系统,客户端根据第一策略,将待存储文件生成加密文件。控制器或策略控制服务器根据第二策略,获得文件分配表。策略控制服务器根据文件分配表及加密文件,将加密文件存储至存储器剩余存储空间中的簇中,从而实现了数据安全性。或者,策略执行服务器根据接收的文件分配表及加密文件,将加密文件存储在自身剩余存储空间中的簇中,从而实现了数据安全性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。