数据存储装置
技术领域
本实用新型涉及计算机领域,尤其涉及一种数据存储装置。
背景技术
网盘可理解为存放在网络上的硬盘或U盘,因此网盘又称为网络U盘或网络硬盘,用于向用户提供在线的文件存储、访问、备份、共享等文件管理功能。通过网盘,用户不论在任何地方,只要能连接到互联网,就可通过移动终端管理网盘中在线存储的文件。
现有的网盘存储方式有多种,例如,申请号为201210362185.1的申请文件提供的网络硬盘的文件上传方法,根据文件摘要对文件进行存储;再例如,申请号为201280000563.X的申请文件提供的网盘文件存储方法,根据文件名称进行文件存储。
网盘作为一种有效的备份本地文件的方法,得到了广泛的应用,但网盘会增加一个管理员角色,产生了新的安全风险。
数据存储至网盘后用户通过密码获取保存的数据;无密码则用户不能获取存储的数据,可一定程度保障数据安全。但是,在网盘存储数据的方法中,网盘管理员具有管理用户存储数据的权限,网盘管理员可查询用户存储的数据甚至删除存储内容或者冻结网盘账号,影响数据存储安全。
此外,不同的用户会针对同一数据都请求进行存储,这样会导致网盘的数据重复存储,造成存储空间的浪费。
实用新型内容
有鉴于此,为解决现有技术中存在的技术问题,本实用新型提出一种数据存储装置。
本实用新型实施例提供一种数据存储装置,所述数据存储装置包括:收发器和运算放大器,所述收发器和所述运算放大器电连接;其中,所述收发器接收第一计算机发来的哈希值;所述收发器接收第二计算机发来的数据存储请求;所述收发器发送请求数据的哈希值给所述运算放大器;所述运算放大器接收所述收发器发送的哈希值。
本实用新型提出的数据存储装置,对于已经存储的数据不再进行存储,仅进行标记,避免了网盘的数据重复存储,节省了存储空间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本实用新型的实施例,并与说明书一起用于解释本实用新型的原理。
图1为本实用新型数据存储装置实施例的一种流程图;
图2为本实用新型数据存储装置实施例的一种计算机系统结构示意图;
图3为本实用新型数据存储装置实施例的加密盘存储空间使用示意图;
图4为本实用新型数据存储装置实施例的另一流程图;
图5为本实用新型提供的数据存储装置的结构示意图;
其中,
S1核心存储设备
S2存储服务器
S3计算机
S4移动设备。
具体实施方式
本实用新型提供一种数据存储装置,参见图5所示,所述数据存储装置包括:收发器和运算放大器,所述收发器和所述运算放大器电连接;其中,
所述收发器接收第一计算机发来的哈希值;所述收发器接收第二计算机发来的数据存储请求;
所述收发器发送请求数据的哈希值给所述运算放大器;
所述运算放大器接收所述收发器发送的哈希值。
在一实施例中,所述数据存储装置还包括移位寄存器:所述移位寄存器向存储有所述请求数据的计算机请求所述请求数据的秘钥,所述移位寄存器接收计算机发来的秘钥。
在一实施例中,所述移位寄存器获取请求数据,发送第二加密数据发送到第三计算机。
可选的,所述移位寄存器是八位寄存器。
本实用新型实施例提供一种数据存储装置,
所述数据存储装置包括:第一处理器和第二处理器,所述第一处理器与第二处理器电连接;其中,第一处理器接收第一计算机发来的哈希值;所述哈希值是所述第一计算机将数据存储至本地加密盘时确定的,所述本地加密盘为独立的数据存储空间,是根据用户设置划分的;接收第二计算机发来的数据存储请求,获取请求数据的哈希值;
第二处理器根据获取的所述哈希值和之前获取的哈希值集合,判断所述请求数据是否已经存在;当所述请求数据已经存在时,对所述请求数据进行标注。在一实施例中,所述服务器还包括:
第三处理器当所述第一计算机随机生成秘钥,并根据所述秘钥将用户本次存储至本地加密盘的数据进行加密得到所述第一加密数据时,
向存储有所述请求数据的计算机请求所述请求数据的秘钥;
当成功获取所述秘钥时,使用所述秘钥对所述请求数据进行标注。
在一实施例中,所述第三处理器当所述请求数据不存在时,随机生成秘钥;
根据所述秘钥将所述请求数据进行加密,得到所述第二加密数据;
将所述第二加密数据发送到第三计算机。
在一实施例中,所述第三处理器当没有成功获取所述秘钥时,随机生成秘钥;
根据所述秘钥将所述请求数据进行加密,得到所述第二加密数据;
将所述第二加密数据发送到第三计算机。由上可知,本实用新型实施例提出的服务器,对于已经存储的数据不再进行存储,仅进行标记,避免了网盘的数据重复存储,节省了存储空间。此外,本实施例还对数据加密,保证了数据的安全。
为使本实施例的目的、技术方案和优点更加清楚,下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在未作出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。
本实施例中的存储器可为具有数据存储功能的设备,具体的,该具有数据存储功能的设备可为包含存储芯片、存储硬盘的设备,例如计算机等,本实施例不做限定。
实施例1
本实施例的服务器,由具有存储功能的设备,如计算机来实现。本实施例以计算机实现该服务器为例进行说明,但本实施例的服务器并不限于计算机。
如图1所示,该服务器包括:
步骤11:根据用户设置划分本地加密盘,本地加密盘为独立的数据存储空间。
本实施例中,根据用户设置在计算机的存储装置中划分出部分存储空间作为本地加密盘,用于存放本地的加密数据。
为实现计算机上的加密盘能主动保证存储内容的安全,本实施例中可设置加密盘的访问密码,同时还可采用安全登录机制,用户需要登录才能访问本地加密盘。
例如,在用户访问本地加密盘时,限定用户输入密码的错误次数。次数超出后,在一段时间内拒绝再次访问,比如,几个小时之后或者一天之后才可再次尝试访问。
联网时,可给预留的手机号码发送短信,提醒用户密码输入错误。
离线时,则锁定该加密盘当前及一段时间之内不可访问。
为了避免在没有网络的情况下无法打开本地加密盘的内容,可允许本地账号加密码校验。如果连续密码验证失败达到设定次数,则要求用户联网验证。
当用户联网之后,在服务器端可控制用户的验证频率,避免有暴力破解用户名密码的情况发生,从而保证数据安全。
步骤12:将用户本次存储至本地加密盘的数据进行加密,得到第一加密数据。
本实施例中可采用多种加密方式,本实施例不限定具体的加密方式。
用户本次存储至本地加密盘的数据,经过加密后,得到第一加密数据。数据加密可主动增强数据在互联网上传播时的安全性。
步骤13:将第一加密数据同步存储到其他至少一个存储设备的加密盘,至少一个存储设备的加密盘预先划分。
应当理解,任一存储设备预先划分的加密盘的当前可用容量大于加密后的数据所需要的存储容量。
本实施例中,可预先判断存储设备加密盘的当前可用容量是否大于加密后的数据所需要的存储容量,在确认存储设备加密盘的当前可用容量足够时,再开始向该存储设备进行同步存储。
这样,当向加密盘写入一份加密数据的时候,将该加密数据向互联网上至少一个存储设备进行同步存储。
本实施例中,根据不同的场景可预先设置同步存储第一加密数据所需要的存储设备数量,通常同步存储第一加密数据的存储设备应当多于2个,优选地,为至少10个。这样,通过增加冗余的数据备份数量保证用户可及时获得第一加密数据,保证第一加密数据存储的安全性,防止数据丢失。
本实施例中,可自动检测保存当前加密数据且活跃的存储设备数量,当前数量小于预设数量时,由服务器主导,自动向活跃用户的存储空间备份中加密数据。
本实施例中,第一加密数据同步存储到其他至少一个存储设备时,采用P2P技术进行数据传输。本实施例中可设置系统服务器来辅助建立P2P链路。首先检测到当前链路中活跃的附近存储设备,并尝试进行P2P连接。如果链路建立失败,则重新选择另外一个活跃的数据存储设备建立P2P链路。
为了避免当前可用的同步存储设备太少,本实施例还可提供足够数量的公共存储设备,如,至少10个,以确保任一时刻时本地存储设备与公共服务器之间的P2P链路可成功建立。
本实施例中,步骤12中将用户本次存储至本地加密盘的数据进行加密,得到第一加密数据时,可随机生成秘钥,通过该秘钥将用户本次存储至本地加密盘的数据进行加密,得到第一加密数据。
本实施例中,对本次存储至本地加密盘的数据进行加密时,计算机可随机生成一个秘钥,该密钥由该数据唯一确定,只能通过该秘钥才能够解密该加密数据,获得该数据,从而提高数据存储安全性。
优选地,该秘钥可保存在本地端和服务器端。
本实施例中,在步骤13将加密后的数据同步存储到其他至少一个存储设备的加密盘之后,还包括在用户身份通过验证后,根据秘钥从至少一个存储器读取第一加密数据。
本实施例中,该第一加密数据已经在本地加密盘中存储及其他至少一个存储设备中同步存储。在验证用户身份后,通过与该第一加密数据唯一映射的密钥,打开保存在某个当前可访问的存储设备加密盘中的该第一加密数据。
可采用多种方式验证用户身份,例如账号密码方式、动态口令方式等,本实施例不做限定。
本实施例中,一个用户可在多台存储设备上设置有加密盘;不同用户可在同一台设备上设置有各自的加密盘。本实施例中,可设置密码服务器保存使用该数据存储方法的全部用户信息,该用户信息可以包括用户名、密码、及其他验证信息等。先对每一个用户信息进行加密,优选地,得到能够唯一标识该用户的加密用户信息字符串。随后再将该加密用户信息字符串上传至密码服务器。因此,在密码服务器端,用户信息并非明文存储,用户信息对于密码服务器是透明的。用户的密码等信息只有用户本人,使用自己的用户名和密码等信息,才能对该信息解密,并且该解密仅限于用于用户登录信息校验。因此,既保证了密码服务器端无法查询用户的私人信息,又避免明文用户信息被不慎泄漏,从而增强数据存储的私密性。
本实施例中,可设置文件服务器保存使用该数据存储方法的全部用户的文件列表。用户在其任一预设有本地加密盘的存储设备上对其加密盘的数据进行修改时,同步更新该文件列表,则其它预设有本地加密盘的存储设备可在其下次登录后并联接互联网时自动得到同步。用户在任一预设有本地加密盘的存储设备上登录自己的账号时,可选择自动从互联网上取回属于他本人的数据到他新的加密盘。
本实施例中,步骤11中根据用户设置划分本地加密盘之后,还包括以下步骤:
接收第二加密数据,该第二加密数据为来自其他一个存储设备同步的第一加密数据;
将该第二加密数据存储至本地加密盘;
删除本地加密盘存储的第二加密数据时,将该第二加密数据转存至其他至少一个存储设备的加密盘,该其他存储设备的加密盘预先划分。
本实施例对每个加密数据文件当前的活跃备份进行动态计数,根据每个加密数据文件当前的活跃备份计数决定是否继续向其他可用的存储设备进行同步存储。
本实施例中,删除本地加密盘存储的第二加密数据时,将第二加密数据转存至其他至少一个存储设备的加密盘。因此,如果其中一个存储设备存储的加密数据删除或丢失,通过将加密数据向其他的存储设备转存,从而不会因为存储加密数据的存储设备消失而导致加密数据丢失,从而提高数据存储安全。
需要说明的是,本实施例中,当本地加密盘删除其存储数据时,可同时或者预设时间,例如,24小时之后删除所有同步存储设备上对应的数据。从而防止用户误操作不慎删除了数据,以便于数据恢复。
本实施例中,步骤12将用户本次存储至本地加密盘的数据进行加密,得到第一加密数据之前,还包括如下步骤:
根据本次存储至本地加密盘的数据,生成对应的哈希值,该哈希值唯一标识本次存储至本地加密盘的数据;
请求其他任一用户在其本地加密盘中存入与该哈希值相同的数据文件时生成的密钥;
接收该密钥;
相应的,将用户本次存储至本地加密盘的数据进行加密,得到第一加密数据包括:
根据该密钥,对用户本次存储至本地加密盘的数据进行加密。
本实施例中,在加密盘端主动存储数据时,按照用户本次存储至本地加密盘的数据的文件内容、文件名称取其哈希值。哈希值可作为文件的唯一标识信息,根据两个文件的哈希值就能够判断两者是否为同一实质内容的文件。
本实施例中,将用户本次存储至本地加密盘的数据的哈希值上报给文件管理服务器;查询哈希值在文件管理服务器维护的文件列表中是否存在;如果该哈希值已经存在,则请求其他任一用户在其本地加密盘中存入与该哈希值相同的数据文件时生成的密钥;接收用户本次存储至本地加密盘的数据的密钥;根据接收的密钥,对用户本次存储至本地加密盘的数据进行加密,并不再主动同步存储该数据到其他存储设备。
如果用户未能成功与其他用户取得联系,则自动生成一个新的秘钥,来对该文件在本地进行加密,并主动同步存储该数据到其他至少2个以上的存储设备。
本实施例中,生成密钥之后,还包括:A
接收其他一个存储设备取该秘钥的请求,取该秘钥请求由其他一个存储设备欲存储的数据与该本次存储至本地加密盘的数据相同时发送;
根据获取该秘钥的请求,向该其他一个存储设备发送该秘钥。
针对同一实质内容的文件被多个不同的网络用户拥有这种情况,本实施例通过哈希值判断某两个文件是否为同一实质内容的文件。针对实质相同的文件,本实施例不再在本地针对该文件生成随机密钥,而是通过向已经拥有该文件的其他用户请求该文件的密钥。在接收到来自其他一个存储设备取该文件秘钥的请求后,向该其他一个存储设备发送该秘钥。
需要说明的是,本实施例中,“第一”、“第二”仅为描述方便认为划分,不构成对本方实施例的限定。
本实施例的服务器,根据用户设置划分本地加密盘,将用户本次存储至本地加密盘的数据进行加密,得到加密数据,将加密数据同步存储到其他至少一个存储设备的加密盘,从而将存储于本地加密盘的数据加密存储于其他存储设备,从而增强本地数据存储的安全性。
实施例2
如图2所示,本实施例提出一种计算机系统,本实施例提出的数据处理方法可应用于该计算机系统。
该计算机系统包括通过互联网互联的4类设备,分别为核心存储设备S1、存储服务器S2、计算机S3、移动设备S4。其中,核心存储设备S1用于存储用户信息、用户文件的索引信息等,同时也可辅助建立P2P链路。在该系统中设置多个核心服务器S1,一方面可提供更加强大的调度能力,另一方也是为了负载均衡和灾难备份。
存储服务器S2则是为了避免用户同步存储数据时,当前链路上没有足够数量的其他活跃用户与之建立P2P连接而同步数据这种情况而预留设置的,其作用和功能等同于一个普通用户账户。
计算机S3、移动设备S4是该计算机系统普通用户可使用的终端设备。
计算机S3的本地加密盘中,既存储本地数据,也存储来自该网络链路中其他用户的备份数据。这些其他用户的备份数据对本地用户是透明的。本地用户账户可查询本地加密盘中当前实际可用的存储容量大小,但不能访问属于其他用户的备份数据。
移动设备S4上不预先设置加密盘。用户可通过移动设备S4上安装的应用程序,访问数据及管理数据,及将网络上备份存储的数据下载到移动端S4,但不承担将移动端数据备份到网络及备份其他用户数据的任务。
应当理解图2仅为应用场景示例,不构成对本实施例的限定。
实施例3
本实施例服务器中,任一本地加密盘存储容量的实际使用情况如图3所示。本地用户划分的存储空间定义为本地加密盘。该本地加密盘中,已用空间是指用户不可以再写入数据的空间,本地用户可用空间是指本地用户在向加密盘中写入数据的最大容量。已用空间中,即包括本地用户的加密数据,也包括网络其他用户同步存储的加密数据。同步存储其他用户的加密数据是后台自动运行的,对本地用户可以是透明的,也可以设置对本地用户的提醒。
因此,本地加密盘既存储本地加密数据,也存储来自该网络链路中其他用户的备份数据。优选地,这些其他用户的备份数据对本地用户是透明的,本地用户账户可查询本地加密盘中当前实际可用的存储容量大小,但不能访问属于其他用户的同步存储数据。
例如,用户分配了1G的存储空间,作为本地加密盘,但用户目前只使用了500M的数据,那么剩下的500M空间,可存储来自其他存储设备同步存储的加密数据。
实施例4
本实施例结合具体场景,以执行主体为具有存储功能的计算机为例详细介绍本实施例的服务器。
需要说明的是,本实施例中,文件与数据的含义相同。如图4所示,本实施例提供一种服务器,包括:
41计算机根据用户操作划分加密盘;
42计算机准备向本地加密盘写入未加密文件;
43计算机确定该未加密文件的哈希值,并将该哈希值上报文件管理服务器;
44文件管理服务器根据该哈希值判断该文件是否已经同步存储;
如果已经同步存储,则执行45;如果还没有同步存储,则执行48;
45向同步存储有该文件的用户请求该文件的密钥;
46判断请求该文件的密钥是否成功;
如果成功,则执行47;如果失败则执行48;
47使用该密钥对本地未加密文件进行标识;
48随机生成该文件的密钥值。
49利用该秘钥值,将该文件加密后同步存储到其他存储设备的加密盘
本实施例给出了在相同哈希值的文件间共享密钥的方法。本实施例也给出了当请求密钥共享失败时,另外生成一个新的密钥来加密数据的方法。本实施例通过哈希值对相同文件进行甄别,并通过对相同文件共享密钥及加密数据,从而显著减小该多备份文件存储方法潜在的相同文件重复多次存储带来的存储压力,从而既利用了互联网上的闲置存储资源,又能增强数据存储安全。
以上已经描述了本实用新型的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。