数据存储方法及装置制造方法

文档序号:6634439阅读:158来源:国知局
数据存储方法及装置制造方法
【专利摘要】本发明实施例公开了一种数据存储方法及装置,所述方法包括:接收数据写入指令;判断所述数据写入指令中是否包含有WORM标识;若包含,从所述数据写入指令中提取待写入Key数据、待写入Value数据、目标保存时长和写入用户标识;获取所述存储设备的合规时钟的当前值作为写入合规时钟;利用预设算法对所述待写入Key数据、待写入Value数据和写入合规时钟进行计算,得到数字摘要;建立所述待写入Key数据与所述目标保存时长、用户标识以及数字摘要的对应关系;将所述待写入Key数据、待写入Value数据和所述对应关系写入到所述存储设备中。因此,可以使得对于支持键值Key-Value接口的存储设备可以具备WORM特性。
【专利说明】数据存储方法及装置

【技术领域】
[0001]本发明涉及数据存储【技术领域】,特别是涉及一种数据存储方法及装置。

【背景技术】
[0002]现今愈来愈多国际企业机构和政府部门机关趋向将指定时期的数据依法地保存于不可更改的存储媒体。为协助用户应付此法规要求,推出冊咖011606, 1^68(1 1&117,单次写入,多次读取,简称一写多读)技术,使用冊應技术,数据在写入后不容篡改,能有效避免数据意外地被擦去、重写或更改。
[0003]随着云存储的兴起,加速了基于接口的应用。业界已出现了基于1(67-^1116语义的I? (1111:61-1161: 9^01:0(301,互联网协议)硬盘,抛弃传统的3031 (8111811001111)111:61- $781:6111,小型计算机系统接口)接口与协议标准,转而采用I?协议来进行外部通信。当前发布的I?硬盘提供开放式语义接口,在客户端通过^?1 (^1)11081:1011 ?1~0取'咖“叩1111:61-^06,应用程序编程接口 )调用使用后端硬盘。
[0004]但目前的I?硬盘只提供了 1(67-^1116语义接口,并未提供更多基于1(67-^1116语义接口的特性,所以无法支持冊咖技术。


【发明内容】

[0005]本发明实施例中提供了一种数据存储方法及装置,以解决现有智能硬盘无法支持冊咖技术的问题。
[0006]为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0007]第一方面,本发明实施例提供了一种数据存储方法,应用于存储设备,包括:
[0008]通过所述存储设备的键值接口接收数据写入指令;
[0009]判断所述数据写入指令中是否包含有一写多读冊咖标识;
[0010]当所述数据写入指令中包含冊咖标识时,从所述数据写入指令中提取待写入1(67数据、待写入数据、目标保存时长和写入用户标识;
[0011]获取所述存储设备的合规时钟的当前值作为写入合规时钟;
[0012]利用预设算法对所述待写入1(67数据、待写入数据和写入合规时钟进行计算,得到数字摘要;
[0013]建立所述待写入1(67数据与所述目标保存时长、用户标识以及数字摘要的对应关系;
[0014]将所述待写入1(67数据、待写入数据和所述对应关系写入到所述存储设备中。
[0015]结合第一方面,在第一方面第一种可能的实现方式中,所述方法还包括:
[0016]通过所述存储设备的键值接口接收数据删除指令;
[0017]从所述数据删除指令中提取待删除1(67数据;
[0018]判断所述存储设备中的所述待删除1(67数据是否失效;
[0019]若失效,将所述待删除1(67数据、待删除^1116数据,以及,与所述待删除1(67数据的对应关系从所述存储设备中删除。
[0020]结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述判断所述存储设备中的所述待删除1(67数据是否失效,包括:
[0021]根据所述待删除1(67数据的对应关系获取与所述待删除1(67数据对应的写入合规时钟和目标保存时长;
[0022]根据所述存储设备合规时钟确定所述数据删除指令的接收合规时钟;
[0023]根据所述接收合规时钟和所述写入合规时钟,判断所述待删除1(67数据在所述存储设备中存储的时间是否超过所述目标保存时长;
[0024]若超过所述目标保存时长,确定所述存储设备中的所述待删除1(67数据失效。
[0025]结合第一方面,在第一方面第三种可能的实现方式中,所述方法还包括:
[0026]确定待迁移数据;
[0027]获取所述待迁移数据对应的待迁移1(67数据、待迁移^1116数据、目标保存时长、写入合规时钟和写入时的数字摘要;
[0028]利用预设算法对所述待迁移1(67数据、待迁移^1116数据和所述写入合规时钟进行计算,得到当前数字摘要;
[0029]判断所述当前数字摘要与所述待迁移1(67数据写入时的数字摘要是否相等;
[0030]若相等,确定所述待迁移1(67数据未被篡改,并将所述待迁移1(67数据、待迁移^1X10数据、目标保存时长、写入合规时钟、迁移时的迁移合规时钟以及用户标识发送给目标存储设备。
[0031]结合第一方面,在第一方面第四种可能的实现方式中,所述方法还包括:
[0032]获取迁移数据,所述迁移数据包括:迁移1(67数据、迁移^1116数据、目标保存时长、写入合规时钟、迁移合规时钟和用户标识;
[0033]根据所述存储设备合规时钟确定所述迁移数据的二次写入合规时钟;
[0034]利用预设算法对所述迁移1(67数据、迁移^1116数据和所述二次写入合规时钟进行计算,得到二次写入数字摘要;
[0035]根据所述目标保存时长、写入合规时钟和迁移合规时钟计算二次保存时长;
[0036]建立所述迁移1(67数据与二次保存时长、用户标识以及二次写入数字摘要的二次与入对应关系;
[0037]将所述迁移1(67数据、迁移^1116数据和所述二次写入对应关系写入到所述存储设备中。
[0038]结合第一方面,在第一方面第五种可能的实现方式中,所述方法还包括:
[0039]通过所述存储设备的以太网接口向阶?服务器发送一个阶?报文,所述阶?报文中携带有所述阶?报文被发送的时刻的第一时间戳丁1 ;
[0040]获取所述阶?服务器根据所述阶?报文返回的响应报文,所述响应报文中携带有所述第一时间戳I1、所述阶?服务器接收阶?报文的时刻的第二时间戳12和所述阶?服务器发送所述响应报文的时刻的第三时间戳丁3 ;
[0041]获取所述存储设备接收到响应报文的时刻的第四时间戳丁4 ;
[0042]利用所述第一时间戳丁1、第二时间戳丁2、第三时间戳丁3和第四时间戳丁4,计算所述阶?服务器与所述存储设备之间的时间差;
[0043]将所述阶?服务器的时钟延迟所述时间差后作为所述合规时钟。
[0044]结合第一方面,在第一方面第六种可能的实现方式中,所述方法还包括:
[0045]通过所述存储设备的以太网接口获取服务器时钟的第一时刻1(^1 ;
[0046]利用所述第一时刻1(31和预设信息组成待签名数据,并将所述待签名数据发送给所述服务器,以使所述服务器对所述待签名数据进行签名;
[0047]接收所述服务器返回的签名结果,所述签名结果中携带有所述第一时刻1(31、所述服务器进行计算时的第二时刻181和所述服务器对计算结果进行加密时的第三时刻丁82 ;
[0048]利用所述75八服务器的公钥解密对所述签名结果进行解密,并获取解密时的第四时刻102 ;
[0049]利用所述第一时刻1。1、第二时刻181、第三时刻182和第四时刻1。2,计算所述75八服务器与所述存储设备之间的时间差;
[0050]将所述服务器的时钟延迟所述时间差后作为所述合规时钟。
[0051]结合第一方面,在第一方面第七种可能的实现方式中,所述方法还包括:
[0052]同时获取所述存储设备所在的集群中每个节点本地时钟的测试时刻值;
[0053]计算集群中每个节点的测试时刻值的均值,并分别计算每个节点的测试时刻值与所述均值的方差;
[0054]选择方差位于预设范围的节点作为目标节点;
[0055]利用选择的所有目标节点的本地时钟计算得到标准时钟,作为所述存储设备的合规时钟。
[0056]第二方面,本发明实施例提供了一种数据存储装置,应用存储设备,包括:
[0057]写入指令接收模块,用于通过所述存储设备的键值接口接收数据写入指令;
[0058]冊咖标识判断模块,用于判断所述数据写入指令中是否包含有一写多读冊咖标识;
[0059]第一提取模块,用于当所述数据写入指令中包含冊咖标识时,从所述数据写入指令中提取待写入1(67数据、待写入数据、目标保存时长和写入用户标识;
[0060]写入合规时钟获取模块,用于获取所述存储设备的合规时钟的当前值作为写入合规时钟;
[0061]第一计算模块,用于利用预设算法对所述待写入1(67数据、待写入数据和写入合规时钟进行计算,得到数字摘要;
[0062]第一对应关系建立模块,用于建立所述待写入1(67数据与所述目标保存时长、用户标识以及数字摘要的对应关系;
[0063]第一写入模块,用于将所述待写入1(67数据、待写入数据和所述对应关系写入到所述存储设备中。
[0064]结合第二方面,在第二方面第一种可能的实现方式中,所述装置还包括:
[0065]删除指令接收模块,用于通过所述存储设备的键值接口接收数据删除指令;
[0066]第二提取模块,用于从所述数据删除指令中提取待删除1(67数据;
[0067]失效判断模块,用于判断所述存储设备中的所述待删除1(67数据是否失效;
[0068]删除模块,用于当所述失效判断模块的判断结果为失效时,将所述待删除1(67数据、待删除^1116数据,以及,与所述待删除1(67数据的对应关系从所述存储设备中删除。
[0069]结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述失效判断模块,包括:
[0070]时间获取子模块,用于根据所述待删除1(67数据的对应关系获取与所述待删除1(67数据对应的写入合规时钟和目标保存时长;
[0071]接收合规时钟获取子模块,用于获取所述存储设备的合规时钟的当前值作为所述数据删除指令的接收合规时钟;
[0072]时长判断子模块,用于根据所述接收合规时钟和所述写入合规时钟,判断所述待删除仏7数据在所述存储设备中存储的时间是否超过所述目标保存时长;
[0073]失效确定子模块,用于当所述时长判断子模块的判断结果为超过所述目标保存时长时,确定所述存储设备中的所述待删除1(67数据失效。
[0074]结合第二方面,在第二方面第三种可能的实现方式中,所述装置还包括:
[0075]待迁移数据确定模块,用于确定待迁移数据;
[0076]待迁移数据信息获取模块,用于获取所述待迁移数据对应的待迁移1(67数据、待迁移数据、目标保存时长、写入合规时钟和写入时的数字摘要;
[0077]第二计算模块,用于利用预设算法对所述待迁移1(67数据、待迁移数据和所述写入合规时钟进行计算,得到当前数字摘要;
[0078]数字摘要判断模块,用于判断所述当前数字摘要与所述待迁移1(67数据写入时数字摘要是否相等;
[0079]迁移模块,用于当所述数字摘要判断模块的判断结果为相等时,确定所述待迁移1(67数据未被篡改,并将所述待迁移1(67数据、待迁移数据、目标保存时长、写入合规时钟、迁移时的迁移合规时钟以及用户标识发送给目标存储设备。
[0080]结合第二方面,在第二方面第四种可能的实现方式中,所述装置还包括:
[0081]迁移数据获取模块,用于获取迁移数据,所述迁移数据包括:迁移1(67数据、迁移^1X10数据、目标保存时长、写入合规时钟、迁移合规时钟和用户标识;
[0082]二次写入合规时钟获取模块,用于获取所述存储设备的合规时钟的当前值作为所述迁移数据的二次写入合规时钟;
[0083]第三计算模块,用于利用预设算法对所述迁移1(67数据、迁移数据和所述二次写入合规时钟进行计算,得到二次写入数字摘要;
[0084]时长计算模块,用于根据所述目标保存时长、写入合规时钟和迁移合规时钟计算二次保存时长;
[0085]第二对应关系建立模块,用于建立所述迁移1(67数据与二次保存时长、用户标识以及二次写入数字摘要的二次写入对应关系;
[0086]第二写入模块,用于将所述迁移1(67数据、迁移数据和所述二次写入对应关系写入到所述存储设备中。
[0087]结合第二方面,在第二方面第五种可能的实现方式中,所述装置还包括:
[0088]报文发送模块,用于通过所述存储设备的以太网接口向网络时间协议阶?服务器发送一个阶?报文,所述阶?报文中携带有所述阶?报文被发送的时刻的第一时间戳丁1 ;
[0089]响应报文获取模块,用于获取所述阶?服务器根据所述阶?报文返回的响应报文,所述响应报文中携带有所述第一时间戳I1、所述阶?服务器接收阶?报文的时刻的第二时间戳12和所述阶?服务器发送所述响应报文的时刻的第三时间戳丁3 ;
[0090]时间戳获取模块,用于获取所述存储设备接收到响应报文的时刻的第四时间戳14 ;
[0091]第一时间差计算模块,用于利用所述第一时间戳I1、第二时间戳12、第三时间戳13和第四时间戳14,计算所述阶?服务器与所述存储设备之间的时间差;
[0092]第一合规时钟确定单元,用于将所述阶?服务器的时钟延迟所述时间差后作为所述合规时钟。
[0093]结合第二方面,在第二方面第六种可能的实现方式中,所述装置还包括:
[0094]第一时刻获取模块,用于通过所述存储设备的以太网接口获取可信时间戳13八服务器时钟的第一时刻1(^1 ;
[0095]待签名数据处理模块,用于利用所述第一时刻1(31和预设信息组成待签名数据,并将所述待签名数据发送给所述服务器,以使所述服务器对所述待签名数据进行签名;
[0096]签名结果接收模块,用于接收所述服务器返回的签名结果,所述签名结果中携带有所述第一时刻14、所述I服务器进行计算时的第二时刻!'81和所述I'“服务器对计算结果进行加密时的第三时刻182 ;
[0097]解密模块,用于利用所述服务器的公钥解密对所述签名结果进行解密,并获取解密时的第四时刻1(^2 ;
[0098]第二时间差计算模块,用于利用所述第一时刻1。1、第二时刻181、第三时刻182和第四时刻1\32,计算所述服务器与所述存储设备之间的时间差;
[0099]第二合规时钟确定模块,用于将所述服务器的时钟延迟所述时间差后作为所述合规时钟。
[0100]结合第二方面,在第二方面第七种可能的实现方式中,所述装置还包括:
[0101]测试时刻值获取模块,用于同时获取所述存储设备所在的集群中每个节点本地时钟的测试时刻值;
[0102]均值计算模块,用于计算集群中每个节点的测试时刻值的均值,并分别计算每个节点的测试时刻值与所述均值的方差;
[0103]目标节点选择模块,用于选择方差位于预设范围的节点作为目标节点;
[0104]第三合规时钟确定模块,用于利用选择的所有目标节点的本地时钟计算得到标准时钟,作为所述存储设备的合规时钟。
[0105]第三方面,本发明实施例提供了一种数据存储设备,包括:处理器和存储器,其中,所述存储器内存储有所述处理器能够执行的操作指令,以使所述处理器执行以下步骤:
[0106]接收数据写入指令;
[0107]判断所述数据写入指令中是否包含有一写多读冊咖标识;
[0108]当所述数据写入指令中包含冊咖标识时,从所述数据写入指令中提取待写入1(67数据、待写入数据、目标保存时长和写入用户标识;
[0109]获取所述处理器合规时钟的当前值作为写入合规时钟;
[0110]利用预设算法对所述待写入1(67数据、待写入数据和写入合规时钟进行计算,得到数字摘要;
[0111]建立所述待写入1(67数据与所述目标保存时长、用户标识以及数字摘要的对应关系;
[0112]将所述待写入1(67数据、待写入70116数据和所述对应关系写入到所述存储器中。
[0113]结合第三方面,在第三方面第一种可能的实现方式中,所述存储器内还存储有所述处理器能够执行的操作指令,以使所述处理器执行以下步骤:
[0114]通过所述存储设备的键值接口接收数据删除指令;
[0115]从所述数据删除指令中提取待删除1(67数据;
[0116]判断所述存储设备中的所述待删除1(67数据是否失效;
[0117]若失效,将所述待删除1(67数据、待删除^1116数据,以及,与所述待删除1(67数据的对应关系从所述存储设备中删除。
[0118]由以上技术方案可见,本发明实施例提供的该方法,根据数据写入指令中的冊咖标识,确定需要对数据进行冊應保护,并且从数据写入指令中提取待写入1(67数据、待写入^0数据、目标保存时长和写入用户标识,获取存储设备合规时钟的当前值作为写入合规时钟,并利用预设算法对所述待写入1(67数据、待写入数据和写入合规时钟进行计算,得到数字摘要,最终将所述待写入1(67数据、待写入^1116数据,以及,所述待写入1(67数据与所述目标保存时长、用户标识和数字摘要的对应关系都写入到所述存储设备中。
[0119]这样,对于存储到存储设备内的数据,在目标保存时长期间,只能读取,不能进行修改或删除,并且对于存储的数据,可以通过数字摘要进行验证,确定存储的数据是否被篡改,保证数据的安全性。因此,可以使得对于支持键值接口的存储设备可以具备冊咖特性,可以对写入的数据进行有效的冊咖保护。

【专利附图】

【附图说明】
[0120]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0121]图1为发明实施例提供的一种数据存储方法的流程示意图;
[0122]图2为发明实施例提供的另一种数据存储方法的流程示意图;
[0123]图3为图2中步骤3203的流程示意图;
[0124]图4为发明实施例提供的又一种数据存储方法的流程示意图;
[0125]图5为发明实施例提供的又一种数据存储方法的流程示意图;
[0126]图6为本发明实施例提供的一种数据存储装置的结构示意图;
[0127]图7为本发明实施例提供的另一种数据存储装置的结构示意图;
[0128]图8为本发明实施例提供的又一种数据存储装置的结构示意图;
[0129]图9为本发明实施例提供的又一种数据存储装置的结构示意图;
[0130]图10为本发明实施例提供的一种数据存储设备的结构示意图。

【具体实施方式】
[0131]为了使本【技术领域】的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0132]本发明实施例提供的该数据存储方法,可以I?硬盘等存储设备中,并且对于I?硬盘而言,其还提供开放式的键值语义接口,并且通过该键值接口可以使得I?硬盘接入到£1:11611161:网络中。
[0133]图1为发明实施例提供的一种数据存储方法的流程示意图。
[0134]如图1所示,该方法可以包括:
[0135]步骤3101:通过所述存储设备的键值接口接收数据写入指令。
[0136]客户端可以通过八?I应用程序编程接口)接口调用具有接的智能硬盘,以便于对智能硬盘进行数据操作。对于智能硬盘而言,数据操作通常包括三类:?口1、现1和021^12,其中,?爪为数据写入指令,用于向智能硬盘中写入新的数据,621为数据读取指令,用于从智能硬盘中读取存储的数据,0212X2为数据删除指令,用于将智能硬盘中存储的数据删除。
[0137]通过仙I接口的不同类型可以确定本次对智能硬盘的数据操作的指令类型。
[0138]步骤3102:判断所述数据写入指令中是否包含有冊咖标识。
[0139]对于数据写入指令,可以包含有三部分:1(67, %1116,0^)1:101181其中可以在0的10的1 8中携带有是否支持10咖的标识,以及,数据需要保存的时间值。这里10咖标识可以为011 £11 1:61*8中某一位数据位的值,例如:(?^ 10的1?81~811161:61~8中一个预设数据位为1时,表示该指令支持10應,否则,表示该指令不支持冊應。另外,数据需要保存的时间值用于指定数据写入指令中的数据在智能硬盘中的存储时间。
[0140]当判断结果为所述数据写入指令中包含冊咖标识时,执行步骤3103,否则,结束流程,直接将待写入数据指令中的数据写入到智能硬盘中。
[0141]步骤3103:从所述数据写入指令中提取待写入1(67数据、待写入^1116数据、目标保存时长和写入用户标识。
[0142]在上述0的10的1中还携带有用户标识,具体可以为:用户10,通常数据写入指令中的用户标识所对应的用户,就是该数据写入指令中数据的权限用户,可以对写入后的数据进行读取。
[0143]参见上述关于数据写入指令的描述,在该步骤中,可以直接从数据写入指令提取待写入1(67数据、待写入数据、目标保存时长和写入用户标识。
[0144]步骤3104:获取所述存储设备的合规时钟的当前值作为写入合规时钟。
[0145]对于智能硬盘而言,虽然其内设置有本地时钟,但这个本地时钟与外界时钟无法保证一致。所以在本发明实施例中,合规时钟(031111)112111(36 0100^)不是指智能硬盘自身的时钟,而是指智能硬盘能够认可的一个绝对时钟,例如:阶?111116 ?1~01:0001,网络时间协议)时钟或13八(111116 81:81111)八111:1101*11:7,可信时间戳)时钟。另外,当多个硬盘组成一个集群时,为了使得这个集群可以统一时钟,还可以以集群内的每个节点(即集群内的硬盘)的本地时钟来设定一个可被集群内所有节点都认可的绝对时钟,这样在集群内进行数据转移等操作时,就可以保证数据的存储时间,提高集群的冊應特性。
[0146]步骤3105:利用预设算法对所述待写入1(67数据、待写入^^116数据和写入合规时钟进行计算,得到数字摘要。
[0147]对于所存储的数据,若简单直接存储,那么任意一个用户只要知道对应的1(67值和仏1116值,就可以对数据进行操作。为了提高所存储的数据的安全性,在本公开实施例中,可以采用105、8^-1,86^-256等算法,结合数据写入时的合规时钟对待写入1(67数据、待写入^1116数据进行签名,由于数据写入时的合规时钟,普通用户是难以知道的,所以通过数字摘要就可以提高所存储数据的安全性,尤其是在需要对数据进行迁移时或10應保护校验时。
[0148]步骤3106:建立所述待写入1(67数据与所述目标保存时长、用户标识以及数字摘要的对应关系。
[0149]步骤3107:将所述待写入数据、待写入^^116数据和所述对应关系写入到所述存储设备中。
[0150]本发明实施例提供的该方法,根据数据写入指令中的冊應标识,确定需要对数据进行冊咖保护,并且从数据写入指令中提取待写入1(67数据、待写入^1116数据、目标保存时长和写入用户标识,并利用预设算法对所述待写入1(67数据、待写入^1116数据和写入合规时钟进行计算,得到数字摘要,最终将所述待写入1(67数据、待写入仏1116数据,以及,所述待写入1(67数据与所述目标保存时长、用户标识和数字摘要的对应关系都写入到所述存储设备中。
[0151]对于存储到存储设备内的数据,在目标保存时长期间,只能读取,不能进行修改或删除。因此,可以使得对于支持键值接口的存储设备可以具备冊咖特性,可以对写入的数据进行有效的冊應保护。
[0152]根据冊應数据的特性,在数据写入后,在设定的保存期间内,只能对数据进行读取,而不能对数据进行修改或删除。为此,在本发明一实施例中,如图2所示,该方法还可以包括以下步骤:
[0153]步骤3201:通过所述存储设备的键值1(67-^1116接口接收数据删除指令。
[0154]步骤3202:从所述数据删除指令中提取待删除1(67数据。
[0155]步骤3203:判断所述存储设备中的所述待删除1(67数据是否失效;
[0156]对于智能硬盘中存储的1(67数据和数据而言,由于在写入时已经制定了数据的保存时间,所以,在数据存储过程中,一旦接收到对智能硬盘中已经存储的1(67数据和^1X10数据的删除操作,那么就需要判断待删除的数据是否失效,即判断待删除的数据是否超过了对应目标保存时长。只有保存时间超过目标保存时长的数据才可以被删除。
[0157]在本发明实施例中,如图3所示,该步骤3203可以包括以下步骤:
[0158]步骤32031:根据所述待删除1(67数据的对应关系获取与所述待删除1(67数据对应的写入合规时钟和目标保存时长;
[0159]步骤32032:获取所述存储设备的合规时钟的当前值作为所述数据删除指令的接收合规时钟;
[0160]步骤32033:根据所述接收合规时钟和写入合规时钟,判断所述待删除数据在所述存储设备中存储的时间是否超过所述目标保存时长;
[0161]若超过所述目标保存时长,进行步骤32034,否则,结束流程。
[0162]步骤32034:确定所述存储设备中的所述待删除1(67数据失效。
[0163]当判断结果为所述待删除1(67数据失效时,进行步骤3204,否则,结束流程。
[0164]步骤3204:将所述待删除1(67数据、待删除^1116数据,以及,与所述待删除1(67数据的对应关系从所述存储设备中删除。
[0165]由于冊應数据的特性是一次写入,多次读取,并且在数据保存期间内,不能对数据进行篡改,所以,在本发明实施例中,对数据进行删除时,需要对待删除的数据的有效性进行确定,只有失效的数据才可以被用户删除。
[0166]在具体应用中,数据只有失效后才可以被删除,只是相对于使用硬盘用户或租户而言,但对于系统管理员来说,为了方便对硬盘进行管理,经过硬盘权限认证后,可以对任意数据进行删除。相应地,在接收数据删除指令后,还需要对数据删除指令内的用户标识进行判断,只有数据删除指令内的用户标识为系统管理员时,才可以允许对任何数据进行删除。
[0167]另外,在数据保存期间内,用户可以对数据的保存时长进行延长,延长保护时长的操作与上述图1所示实施例中,相当于在硬盘中写入新的数据,再次不再赘述。
[0168]在数据存储过程中,一旦出现智能硬盘可能面临失效的情况,由于要保证所存储数据的安全性,需要将智能硬盘中存储的数据迁移到新的硬盘中,例如:和该智能硬盘位于同一集群中的其它智能硬盘。对于冊應数据而言,在数据迁移过程中,需要保证数据不被篡改。为此,如图4所示,在本发明实施例中,所述方法还包括以下步骤:
[0169]步骤3301:确定待迁移数据。
[0170]步骤3302:获取所述待迁移数据对应的待迁移1(67数据、待迁移^1116数据、目标保存时长、写入合规时钟和写入时的数字摘要。
[0171]步骤3303:利用预设算法对所述待迁移1(67数据、待迁移^1116数据和所述写入合规时钟进行计算,得到当前数字摘要。
[0172]步骤3304:判断所述当前数字摘要与所述待迁移1(67数据写入时的数字摘要是否相等。
[0173]若相等,进行步骤3305,否则,结束。
[0174]步骤3305:确定所述待迁移仏7数据未被篡改,并将所述待迁移1(67数据、待迁移^1X10数据、目标保存时长、写入合规时钟、迁移时的迁移合规时钟以及用户标识发送给目标存储设备。
[0175]通过上述步骤,在进行数据迁移之前,作为数据迁出方智能硬盘就可以对待迁移的数据是否被篡改进行验证,并且只有验证通过后,才会将待迁移数据发送给目标存储设备,例如:集群中的另一智能硬盘。
[0176]相应地,在需要对数据迁移时,智能硬盘还可能作为数据迁入方,为此,如图5所示,该方法还可以包括以下步骤:
[0177]步骤3401:获取迁移数据。
[0178]迁移数据包括:迁移1(67数据、迁移^1116数据、目标保存时长、写入合规时钟、迁移合规时钟和用户标识。
[0179]步骤3402:获取所述存储设备的合规时钟的当前值作为所述迁移数据的二次写入合规时钟。
[0180]步骤3403:利用预设算法对所述迁移数据、迁移^1116数据和所述二次写入合规时钟进行计算,得到二次写入数字摘要。
[0181]步骤3404:根据所述目标保存时长、写入合规时钟和迁移合规时钟计算二次保存时长。
[0182]由于数据在迁移之前已经保存了一段时间,那么在迁移后可以将目标保存时长减去历史保存时长,作为新的保存时长,即二次保存时长。例如:数据的目标保存时长为1年,在第一智能硬盘中的写入合规时钟为2013年10月1日12:00,迁移合规时钟为2014年8月1日12:00,那么可见,二次保存时长将为2个月。
[0183]步骤3405:建立所述迁移1(67数据与二次保存时长、用户标识以及二次写入数字摘要的二次写入对应关系。
[0184]步骤3406:将所述迁移1(67数据、迁移^1116数据和所述二次写入对应关系写入到所述存储设备中。
[0185]数据迁入后除了保存时长需要单独计算外,其它的与新数据的写入过程相同,在此不再详细赘述。
[0186]通过上述步骤,可以保证在数据迁入后,可以按照冊咖特性,对数据进行重新写入过程,并且在写入过程中,充分考虑到了数据的保存时长的延续性,使得数据迁移可以平缓过渡,避免了在数据迁移过程中出现数据错误的问题。
[0187]为了在上述步骤3104中准确获取到合规时钟的当前值并作为写入合规时钟,需要首先获取到存储设备的合规时钟。在本发明实施例中,该方法还可以包括以下步骤:
[0188]11)、通过所述存储设备的以太网接口向阶?服务器发送一个阶?报文,所述阶?报文中携带有所述阶?报文被发送的时刻的第一时间戳丁1 ;
[0189]12)、获取所述阶?服务器根据所述阶?报文返回的响应报文,所述响应报文中携带有所述第一时间戳I1、所述阶?服务器接收阶?报文的时刻的第二时间戳12和所述阶?服务器发送所述响应报文的时刻的第三时间戳丁3 ;
[0190]13)、获取所述存储设备接收到响应报文的时刻的第四时间戳丁4 ;
[0191]14)、利用所述第一时间戳I1、第二时间戳12、第三时间戳13和第四时间戳14,计算所述阶?服务器与所述存储设备之间的时间差;
[0192]从上述交互来看,阶?消息来回一个周期的时延为:(14-11)-(13-12),那么存储设备与阶?服务器之间的时间差为4(12-11)-(14-13) = /2^
[0193]15)、将所述阶?服务器的时钟延迟所述时间差后作为所述合规时钟。
[0194]通过上述步骤,当智能硬盘作为集群中的一个节点时,由于该集群内的每个节点都按照上述方式获取合规时钟,那么就可以使得每个节点的合规时钟都是以册I服务器的时间为参考,即得到的合规时钟对于所有节点都是相同的。
[0195]另外,在获取到存储设备的合规时钟时,该方法还可以包括以下步骤:
[0196]通过所述存储设备的以太网接口获取服务器时钟的第一时刻1(^1 ;
[0197]利用所述第一时刻和预设信息组成待签名数据,并将所述待签名数据发送给所述服务器,以使所述服务器对所述待签名数据进行签名;
[0198]接收所述服务器返回的签名结果,所述签名结果中携带有所述第一时刻1(31、所述服务器进行计算时的第二时刻181和所述服务器对计算结果进行加密时的第三时刻丁82 ;
[0199]利用所述服务器的公钥解密对所述签名结果进行解密,并获取解密时的第四时刻102 ;
[0200]利用所述第一时刻1。1、第二时刻181、第三时刻182和第四时刻1。2,计算所述75八服务器与所述存储设备之间的时间差;
[0201]从上述交互来看,消息来回的一个周期的时延为:(1(32-? 1)-(182-181),那么存储设备与阶?服务器之间的时间差为4(181-101)-(1^2-181) 1/2。
[0202]将所述服务器的时钟延迟所述时间差后作为所述合规时钟。
[0203]通过上述步骤,当智能硬盘作为集群中的一个节点时,由于该集群内的每个节点都按照上述方式获取合规时钟,那么就可以使得每个节点的合规时钟都是以册I服务器的时间为参考,即得到的合规时钟对于所有节点都是相同的。
[0204]此外,在获取到存储设备的合规时钟时,该方法还可以包括以下步骤:
[0205]同时获取所述存储设备所在的集群中每个节点本地时钟的测试时刻值;
[0206]计算集群中每个节点的测试时刻值的均值,并分别计算每个节点的测试时刻值与所述均值的方差;
[0207]选择方差位于预设范围的节点作为目标节点;
[0208]利用选择的所有目标节点的本地时钟计算得到标准时钟,作为所述存储设备的合规时钟。
[0209]当智能硬盘作为集群中的一个节点时,由于该集群内的每个节点都按照上述方式获取合规时钟,那么就可以使得每个节点的合规时钟都是相同的,即被每个节点绝对认可的。相应地,在后续进行数据迁移时,可以保证各个节点的时间是一致的。
[0210]通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器¢01)、随机存取存储器(狀1)、磁碟或者光盘等各种可以存储程序代码的介质。
[0211]与本发明提供的数据存储方法实施例相对应,本发明还提供了一种数据存储装置。
[0212]参见图6,为本发明实施例提供的一种数据存储装置的结构示意图,该装置包括:写入指令接收模块11、10咖标识判断模块12、第一提取模块13、写入合规时钟获取模块14、第一计算模块15、第一对应关系建立模块16和第一写入模块17。
[0213]该写入指令接收模块11,用于通过所述存储设备的键值1(67-74116接口接收数据写入指令;
[0214]该冊咖标识判断模块12,用于判断所述数据写入指令中是否包含有冊咖标识;
[0215]该第一提取模块13,用于当所述数据写入指令中包含10應标识时,从所述数据写入指令中提取待写入1(67数据、待写入数据、目标保存时长和写入用户标识;
[0216]该写入合规时钟获取模块14,用于获取所述存储设备的合规时钟的当前值作为写入合规时钟;
[0217]该第一计算模块15,用于利用预设算法对所述待写入1(67数据、待写入^1116数据和写入合规时钟进行计算,得到数字摘要;
[0218]该第一对应关系建立模块16,用于建立所述待写入1(67数据与所述目标保存时长、用户标识以及数字摘要的对应关系;
[0219]该第一写入模块17,用于将所述待写入1(67数据、待写入^1116数据和所述对应关系写入到所述存储设备中。
[0220]本发明实施例提供的该装置,根据数据写入指令中的冊應标识,确定需要对数据进行冊咖保护,并且从数据写入指令中提取待写入1(67数据、待写入^1116数据、目标保存时长和写入用户标识,并利用预设算法对所述待写入1(67数据、待写入数据和写入合规时钟进行计算,得到数字摘要,最终将所述待写入1(67数据、待写入^1116数据,以及,所述待写入1(67数据与所述目标保存时长、用户标识和数字摘要的对应关系都写入到所述存储设备中。
[0221]对于存储到存储设备内的数据,在目标保存时长期间,只能读取,不能进行修改或删除。因此,可以使得对于支持键值接口的存储设备可以具备冊咖特性,可以对写入的数据进行有效的冊應保护。
[0222]根据冊應数据的特性,在数据写入后,在设定的保存期间内,只能对数据进行读取,而不能对数据进行修改或删除。为此,在本发明一实施例中,如图7所示,该装置还可以包括:删除指令接收模块21、第二提取模块22、失效判断模块23和删除模块24。
[0223]该删除指令接收模块21,用于通过所述存储设备的键值1(67-74116接口接收数据删除指令;
[0224]该第二提取模块22,用于从所述数据删除指令中提取待删除1(67数据和删除用户标识;
[0225]该失效判断模块23,用于判断所述存储设备中的所述待删除1(67数据是否失效;
[0226]在本发明实施例中,失效判断模块23可以包括:时间获取子模块、接收合规时钟获取子模块、时长判断子模块和失效确定子模块,其中:该时间获取子模块,用于根据所述待删除1(67数据的对应关系获取与所述待删除1(67数据对应的写入合规时钟和目标保存时长;该接收合规时钟获取子模块,用于获取所述存储设备的合规时钟的当前值作为所述数据删除指令的接收合规时钟;该时长判断子模块,用于根据所述接收合规时钟和写入合规时钟,判断所述待删除1(67数据在所述存储设备中存储的时间是否超过所述目标保存时长;该失效确定子模块,用于当所述时长判断子模块的判断结果为超过所述目标保存时长时,确定所述存储设备中的所述待删除1(67数据失效。
[0227]该删除模块24,用于当所述失效判断模块的判断结果为失效时,将所述待删除数据、待删除仏1116数据,以及,与所述待删除1(67数据的对应关系从所述存储设备中删除。
[0228]由于冊應数据的特性是一次写入,多次读取,并且在数据保存期间内,不能对数据进行篡改,所以,在本发明实施例中,对数据进行删除时,需要对待删除的数据的有效性进行确定,只有失效的数据才可以被用户删除。
[0229]在具体应用中,数据只有失效后才可以被删除,只是相对于使用硬盘用户或租户而言,但对于系统管理员来说,为了方便对硬盘进行管理,经过硬盘权限认证后,可以对任意数据进行删除。相应地,在接收数据删除指令后,还需要对数据删除指令内的用户标识进行判断,只有数据删除指令内的用户标识为系统管理员时,才可以允许对任何数据进行删除。
[0230]另外,在数据保存期间内,用户可以对数据的保存时长进行延长,延长保护时长的操作与上述图1所示实施例中,相当于在硬盘中写入新的数据,再次不再赘述。
[0231]在数据存储过程中,一旦出现智能硬盘可能面临失效的情况,由于要保证所存储数据的安全性,需要将智能硬盘中存储的数据迁移到新的硬盘中,例如:和该智能硬盘位于同一集群中的其它智能硬盘。对于冊應数据而言,在数据迁移过程中,需要保证数据不被篡改。为此,如图8所示,在本发明实施例中,所述装置还包括:待迁移数据确定模块31、待迁移数据信息获取模块32、第二计算模块33、数字摘要判断模块34和迁移模块35。
[0232]该待迁移数据确定模块31,用于确定待迁移数据;
[0233]该待迁移数据信息获取模块32,用于获取所述待迁移数据对应的待迁移1(67数据、待迁移数据、目标保存时长、写入合规时钟和写入时的数字摘要;
[0234]该第二计算模块33,用于利用预设算法对所述待迁移1(67数据、待迁移^^116数据和所述写入合规时钟进行计算,得到当前数字摘要;
[0235]该数字摘要判断模块34,用于判断所述当前数字摘要与所述待迁移1(67数据写入时数字摘要是否相等;
[0236]该迁移模块35,用于当所述数字摘要判断模块的判断结果为相等时,确定所述待迁移1(67数据未被篡改,并将所述待迁移1(67数据、待迁移数据、目标保存时长、写入合规时钟、迁移时的迁移合规时钟以及用户标识发送给目标存储设备。
[0237]本发明实施例中,在进行数据迁移之前,作为数据迁出方智能硬盘就可以对待迁移的数据是否被篡改进行验证,并且只有验证通过后,才会将待迁移数据发送给目标存储设备,例如:集群中的另一智能硬盘。
[0238]相应地,在需要对数据迁移时,智能硬盘还可能作为数据迁入方,为此,如图9所示,如图9所示,该装置还可以包括:迁移数据获取模块41、二次写入合规时钟获取模块42、第三计算模块43、时长计算模块44、第二对应关系建立模块45和第二写入模块46。
[0239]迁移数据获取模块41,用于获取迁移数据,所述迁移数据包括移数据、目标保存时长、写入合规时钟、迁移合规时钟和用户标识;
[0240]二次写入合规时钟获取模块42,用于获取所述存储设备的合规时钟的当前值作为所述迁移数据的二次写入合规时钟;
[0241〕 第三计算模块43,用于利用预设算法对所述迁移1(67数据、迁移^^116数据和所述二次写入合规时钟进行计算,得到二次写入数字摘要;
[0242]时长计算模块44,用于根据所述目标保存时长、写入合规时钟和迁移合规时钟计算二次保存时长;
[0243]第二对应关系建立模块45,用于建立所述迁移1(67数据与二次保存时长、用户标识以及二次写入数字摘要的二次写入对应关系;
[0244]第二写入模块46,用于将所述迁移1(67数据、迁移^1116数据和所述二次写入对应关系写入到所述存储设备中。
[0245]在上述写入合规时钟获取模块14获取写入合规时钟时,需要首先获取到存储设备的合规时钟。在本发明一个实施例中,该装置还可以包括:
[0246]报文发送模块,用于通过所述存储设备的以太网接口向网络时间协议阶?服务器发送一个阶?报文,所述阶?报文中携带有所述阶?报文被发送的时刻的第一时间戳丁1 ;
[0247]响应报文获取模块,用于获取所述阶?服务器根据所述阶?报文返回的响应报文,所述响应报文中携带有所述第一时间戳I1、所述阶?服务器接收阶?报文的时刻的第二时间戳12和所述阶?服务器发送所述响应报文的时刻的第三时间戳丁3 ;
[0248]时间戳获取模块,用于获取所述存储设备接收到响应报文的时刻的第四时间戳14 ;
[0249]第一时间差计算模块,用于利用所述第一时间戳I1、第二时间戳12、第三时间戳13和第四时间戳14,计算所述阶?服务器与所述存储设备之间的时间差;
[0250]第一合规时钟确定单元,用于将所述阶?服务器的时钟延迟所述时间差后作为所述合规时钟。
[0251]在本发明另一个实施例中,该装置还可以包括:
[0252]第一时刻获取模块,用于通过所述存储设备的以太网接口获取可信时间戳13八服务器时钟的第一时刻1(^1 ;
[0253]待签名数据处理模块,用于利用所述第一时刻1(31和预设信息组成待签名数据,并将所述待签名数据发送给所述服务器,以使所述服务器对所述待签名数据进行签名;
[0254]签名结果接收模块,用于接收所述服务器返回的签名结果,所述签名结果中携带有所述第一时刻14、所述I服务器进行计算时的第二时刻!'81和所述I'“服务器对计算结果进行加密时的第三时刻182 ;
[0255]解密模块,用于利用所述服务器的公钥解密对所述签名结果进行解密,并获取解密时的第四时刻1(^2 ;
[0256]第二时间差计算模块,用于利用所述第一时刻1(31、第二时刻!'81、第三时刻!'82和第四时刻1\32,计算所述服务器与所述存储设备之间的时间差;
[0257]第二合规时钟确定模块,用于将所述服务器的时钟延迟所述时间差后作为所述合规时钟。
[0258]在本发明另一个实施例中,该装置还可以包括:
[0259]测试时刻值获取模块,用于同时获取所述存储设备所在的集群中每个节点本地时钟的测试时刻值;
[0260]均值计算模块,用于计算集群中每个节点的测试时刻值的均值,并分别计算每个节点的测试时刻值与所述均值的方差;
[0261]目标节点选择模块,用于选择方差位于预设范围的节点作为目标节点;
[0262]第三合规时钟确定模块,用于利用选择的所有目标节点的本地时钟计算得到标准时钟,作为所述存储设备的合规时钟
[0263]本发明实施例还提供一种数据存储设备,如图10所示,该数据存储设备包括:处理器100和存储器200,其中,处理器100通过键值接口 300与以太网相连接。
[0264]所述存储器内存储有所述处理器能够执行的操作指令,以使所述处理器执行以下步骤:
[0265]接收数据写入指令;
[0266]判断所述数据写入指令中是否包含有冊咖标识;
[0267]当所述数据写入指令中包含冊咖标识时,从所述数据写入指令中提取待写入1(67数据、待写入数据、目标保存时长和写入用户标识;
[0268]获取所述处理器合规时钟的当前值作为写入合规时钟;
[0269]利用预设算法对所述待写入1(67数据、待写入数据和写入合规时钟进行计算,得到数字摘要;
[0270]建立所述待写入1(67数据与所述目标保存时长、用户标识以及数字摘要的对应关系;
[0271]将所述待写入1(67数据、待写入数据和所述对应关系写入到所述存储器中
[0272]在本发明一个实施例中,所述存储器内还存储有所述处理器能够执行的操作指令,以使所述处理器执行以下步骤:
[0273]通过所述存储设备的键值接口接收数据删除指令;
[0274]从所述数据删除指令中提取待删除1(67数据;
[0275]判断所述存储设备中的所述待删除1(67数据是否失效;
[0276]若失效,将所述待删除1(67数据、待删除^1116数据,以及,与所述待删除1(67数据的对应关系从所述存储设备中删除。
[0277]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0278]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0279]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0280]需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0281]以上所述仅是本发明的【具体实施方式】,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种数据存储方法,应用于存储设备,其特征在于,包括: 通过所述存储设备的键值Key-Value接口接收数据写入指令; 判断所述数据写入指令中是否包含有一写多读WORM标识; 当所述数据写入指令中包含WORM标识时,从所述数据写入指令中提取待写入Key数据、待写入Value数据、目标保存时长和写入用户标识; 获取所述存储设备的合规时钟的当前值作为写入合规时钟; 利用预设算法对所述待写入Key数据、待写入Value数据和写入合规时钟进行计算,得到数字摘要; 建立所述待写入Key数据与所述目标保存时长、用户标识以及数字摘要的对应关系; 将所述待写入Key数据、待写入Value数据和所述对应关系写入到所述存储设备中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 通过所述存储设备的键值Key-Value接口接收数据删除指令; 从所述数据删除指令中提取待删除Key数据; 判断所述存储设备中的所述待删除Key数据是否失效; 若失效,将所述待删除Key数据、待删除Value数据,以及,与所述待删除Key数据的对应关系从所述存储设备中删除。
3.根据权利要求2所述的方法,其特征在于,所述判断所述存储设备中的所述待删除Key数据是否失效,包括: 根据所述待删除Key数据的对应关系获取与所述待删除Key数据对应的写入合规时钟和目标保存时长; 获取所述存储设备的合规时钟的当前值作为所述数据删除指令的接收合规时钟; 根据所述接收合规时钟和所述写入合规时钟,判断所述待删除Key数据在所述存储设备中存储的时间是否超过所述目标保存时长; 若超过所述目标保存时长,确定所述存储设备中的所述待删除Key数据失效。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 确定待迁移数据; 获取所述待迁移数据对应的待迁移Key数据、待迁移Value数据、目标保存时长、写入合规时钟和写入时的数字摘要; 利用预设算法对所述待迁移Key数据、待迁移Value数据和所述写入合规时钟进行计算,得到当前数字摘要; 判断所述当前数字摘要与所述待迁移Key数据写入时的数字摘要是否相等; 若相等,确定所述待迁移Key数据未被篡改,并将所述待迁移Key数据、待迁移Value数据、目标保存时长、写入合规时钟、迁移时的迁移合规时钟以及用户标识发送给目标存储设备。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 获取迁移数据,所述迁移数据包括:迁移Key数据、迁移Value数据、目标保存时长、写入合规时钟、迁移合规时钟和用户标识; 获取所述存储设备的合规时钟的当前值作为所述迁移数据的二次写入合规时钟; 利用预设算法对所述迁移Key数据、迁移Value数据和所述二次写入合规时钟进行计算,得到二次写入数字摘要; 根据所述目标保存时长、写入合规时钟和迁移合规时钟计算二次保存时长; 建立所述迁移Key数据与二次保存时长、用户标识以及二次写入数字摘要的二次写入对应关系; 将所述迁移Key数据、迁移Value数据和所述二次写入对应关系写入到所述存储设备中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括: 通过所述存储设备的以太网接口向网络时间协议NTP服务器发送一个NTP报文,所述NTP报文中携带有所述NTP报文被发送的时刻的第一时间戳Tl ; 获取所述NTP服务器根据所述NTP报文返回的响应报文,所述响应报文中携带有所述第一时间戳Tl、所述NTP服务器接收NTP报文的时刻的第二时间戳T2和所述NTP服务器发送所述响应报文的时刻的第三时间戳T3 ; 获取所述存储设备接收到响应报文的时刻的第四时间戳T4 ; 利用所述第一时间戳Tl、第二时间戳T2、第三时间戳T3和第四时间戳T4,计算所述NTP服务器与所述存储设备之间的时间差; 将所述NTP服务器的时钟延迟所述时间差后作为所述存储设备的合规时钟。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括: 通过所述存储设备的以太网接口获取可信时间戳TSA服务器时钟的第一时刻Tcl ;利用所述第一时刻Tcl和预设信息组成待签名数据,并将所述待签名数据发送给所述TSA服务器,以使所述TSA服务器对所述待签名数据进行签名; 接收所述TSA服务器返回的签名结果,所述签名结果中携带有所述第一时刻Tel、所述TSA服务器进行计算时的第二时刻Tsl和所述TSA服务器对计算结果进行加密时的第三时刻 Ts2 ; 利用所述TSA服务器的公钥解密对所述签名结果进行解密,并获取解密时的第四时刻Tc2 ; 利用所述第一时刻Tel、第二时刻Tsl、第三时刻Ts2和第四时刻Tc2,计算所述TSA服务器与所述存储设备之间的时间差; 将所述TSA服务器的时钟延迟所述时间差后作为所述存储设备的合规时钟。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括: 同时获取所述存储设备所在的集群中每个节点本地时钟的测试时刻值; 计算集群中每个节点的测试时刻值的均值,并分别计算每个节点的测试时刻值与所述均值的方差; 选择方差位于预设范围的节点作为目标节点; 利用选择的所有目标节点的本地时钟计算得到标准时钟,作为所述存储设备的合规时钟。
9.一种数据存储装置,应用存储设备,其特征在于,包括: 写入指令接收模块,用于通过所述存储设备的键值Key-Value接口接收数据写入指令; WORM标识判断模块,用于判断所述数据写入指令中是否包含有一写多读WORM标识; 第一提取模块,用于当所述数据写入指令中包含WORM标识时,从所述数据写入指令中提取待写入Key数据、待写入Value数据、目标保存时长和写入用户标识; 写入合规时钟获取模块,用于获取所述存储设备的合规时钟的当前值作为写入合规时钟; 第一计算模块,用于利用预设算法对所述待写入Key数据、待写入Value数据和写入合规时钟进行计算,得到数字摘要; 第一对应关系建立模块,用于建立所述待写入Key数据与所述目标保存时长、用户标识以及数字摘要的对应关系; 第一写入模块,用于将所述待写入Key数据、待写入Value数据和所述对应关系写入到所述存储设备中。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括: 删除指令接收模块,用于通过所述存储设备的键值Key-Value接口接收数据删除指令; 第二提取模块,用于从所述数据删除指令中提取待删除Key数据; 失效判断模块,用于判断所述存储设备中的所述待删除Key数据是否失效; 删除模块,用于当所述失效判断模块的判断结果为失效时,将所述待删除Key数据、待删除Value数据,以及,与所述待删除Key数据的对应关系从所述存储设备中删除。
11.根据权利要求10所述的装置,其特征在于,所述失效判断模块,包括: 时间获取子模块,用于根据所述待删除Key数据的对应关系获取与所述待删除Key数据对应的写入合规时钟和目标保存时长; 接收合规时钟获取子模块,用于获取所述存储设备的合规时钟的当前值作为所述数据删除指令的接收合规时钟; 时长判断子模块,用于根据所述接收合规时钟和所述写入合规时钟,判断所述待删除Key数据在所述存储设备中存储的时间是否超过所述目标保存时长; 失效确定子模块,用于当所述时长判断子模块的判断结果为超过所述目标保存时长时,确定所述存储设备中的所述待删除Key数据失效。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括: 待迁移数据确定模块,用于确定待迁移数据; 待迁移数据信息获取模块,用于获取所述待迁移数据对应的待迁移Key数据、待迁移Value数据、目标保存时长、写入合规时钟和写入时的数字摘要; 第二计算模块,用于利用预设算法对所述待迁移Key数据、待迁移Value数据和所述写入合规时钟进行计算,得到当前数字摘要; 数字摘要判断模块,用于判断所述当前数字摘要与所述待迁移Key数据写入时数字摘要是否相等; 迁移模块,用于当所述数字摘要判断模块的判断结果为相等时,确定所述待迁移Key数据未被篡改,并将所述待迁移Key数据、待迁移Value数据、目标保存时长、写入合规时钟、迁移时的迁移合规时钟以及用户标识发送给目标存储设备。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括: 迁移数据获取模块,用于获取迁移数据,所述迁移数据包括:迁移Key数据、迁移Value数据、目标保存时长、写入合规时钟、迁移合规时钟和用户标识; 二次写入合规时钟获取模块,用于获取所述存储设备的合规时钟的当前值作为所述迁移数据的二次写入合规时钟; 第三计算模块,用于利用预设算法对所述迁移Key数据、迁移Value数据和所述二次写入合规时钟进行计算,得到二次写入数字摘要; 时长计算模块,用于根据所述目标保存时长、写入合规时钟和迁移合规时钟计算二次保存时长; 第二对应关系建立模块,用于建立所述迁移Key数据与二次保存时长、用户标识以及二次写入数字摘要的二次写入对应关系; 第二写入模块,用于将所述迁移Key数据、迁移Value数据和所述二次写入对应关系写入到所述存储设备中。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括: 报文发送模块,用于通过所述存储设备的以太网接口向网络时间协议NTP服务器发送一个NTP报文,所述NTP报文中携带有所述NTP报文被发送的时刻的第一时间戳Tl ; 响应报文获取模块,用于获取所述NTP服务器根据所述NTP报文返回的响应报文,所述响应报文中携带有所述第一时间戳Tl、所述NTP服务器接收NTP报文的时刻的第二时间戳T2和所述NTP服务器发送所述响应报文的时刻的第三时间戳T3 ; 时间戳获取模块,用于获取所述存储设备接收到响应报文的时刻的第四时间戳T4 ;第一时间差计算模块,用于利用所述第一时间戳Tl、第二时间戳T2、第三时间戳T3和第四时间戳T4,计算所述NTP服务器与所述存储设备之间的时间差; 第一合规时钟确定单元,用于将所述NTP服务器的时钟延迟所述时间差后作为所述合规时钟。
15.根据权利要求9所述的装置,其特征在于,所述装置还包括: 第一时刻获取模块,用于通过所述存储设备的以太网接口获取可信时间戳TSA服务器时钟的第一时刻Tcl ; 待签名数据处理模块,用于利用所述第一时刻Tcl和预设信息组成待签名数据,并将所述待签名数据发送给所述TSA服务器,以使所述TSA服务器对所述待签名数据进行签名; 签名结果接收模块,用于接收所述TSA服务器返回的签名结果,所述签名结果中携带有所述第一时刻Tel、所述TSA服务器进行计算时的第二时刻Tsl和所述TSA服务器对计算结果进行加密时的第三时刻Ts2 ; 解密模块,用于利用所述TSA服务器的公钥解密对所述签名结果进行解密,并获取解密时的第四时刻Tc2 ; 第二时间差计算模块,用于利用所述第一时刻Tel、第二时刻Tsl、第三时刻Ts2和第四时刻Tc2,计算所述TSA服务器与所述存储设备之间的时间差; 第二合规时钟确定模块,用于将所述TSA服务器的时钟延迟所述时间差后作为所述合规时钟。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括: 测试时刻值获取模块,用于同时获取所述存储设备所在的集群中每个节点本地时钟的测试时刻值; 均值计算模块,用于计算集群中每个节点的测试时刻值的均值,并分别计算每个节点的测试时刻值与所述均值的方差; 目标节点选择模块,用于选择方差位于预设范围的节点作为目标节点; 第三合规时钟确定模块,用于利用选择的所有目标节点的本地时钟计算得到标准时钟,作为所述存储设备的合规时钟。
17.一种数据存储设备,其特征在于,包括:处理器和存储器,其中,所述存储器内存储有所述处理器能够执行的操作指令,以使所述处理器执行以下步骤: 接收数据写入指令; 判断所述数据写入指令中是否包含有一写多读WORM标识; 当所述数据写入指令中包含WORM标识时,从所述数据写入指令中提取待写入Key数据、待写入Value数据、目标保存时长和写入用户标识; 获取所述处理器合规时钟的当前值作为写入合规时钟; 利用预设算法对所述待写入Key数据、待写入Value数据和写入合规时钟进行计算,得到数字摘要; 建立所述待写入Key数据与所述目标保存时长、用户标识以及数字摘要的对应关系; 将所述待写入Key数据、待写入Value数据和所述对应关系写入到所述存储器中。
18.根据权利要求17所述的设备,其特征在于,所述存储器内还存储有所述处理器能够执行的操作指令,以使所述处理器执行以下步骤: 通过所述存储设备的键值Key-Value接口接收数据删除指令; 从所述数据删除指令中提取待删除Key数据; 判断所述存储设备中的所述待删除Key数据是否失效; 若失效,将所述待删除Key数据、待删除Value数据,以及,与所述待删除Key数据的对应关系从所述存储设备中删除。
【文档编号】G06F3/06GK104461380SQ201410652141
【公开日】2015年3月25日 申请日期:2014年11月17日 优先权日:2014年11月17日
【发明者】雷晓松 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1