CN109407988A - 冷数据存储***及其存储方法 - Google Patents
冷数据存储***及其存储方法 Download PDFInfo
- Publication number
- CN109407988A CN109407988A CN201811214296.1A CN201811214296A CN109407988A CN 109407988 A CN109407988 A CN 109407988A CN 201811214296 A CN201811214296 A CN 201811214296A CN 109407988 A CN109407988 A CN 109407988A
- Authority
- CN
- China
- Prior art keywords
- data
- hard disk
- equipment
- storage
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据存储技术领域,具体涉及一种冷数据存储***及其存储方法。提供一种存储容量大,调用成本较低的冷数据存储***,该***包括:控制设备,设有数据传输接口;至少一个存储设备,用于存储数据;所述存储设备上线以连接至所述数据传输接口,直至所述数据传输接口需要连接其他存储设备时被动下线以断开与所述数据传输接口的连接,或者直至所述存储设备的空闲时间超过预设值时主动下线以断开与所述数据传输接口的连接。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种冷数据存储***及其存储方法。
背景技术
冷数据是不需要实时访问到的离线状态数据,用于灾难恢复的内分或者因为要遵守法律规定必须要保留一段时间的档案数据等。常见的冷数据有银行凭证、税务凭证、医疗档案、影视资料、城市监控录像、法律案件卷宗等。一般情况下,冷数据存储在磁带、光盘中。采用磁带或者光盘存储的数据是无法在线的。存储冷数据的这类设备被存放在档案柜中,在需要读取这类存储设备中的数据时,我们首先需要花上几小时存放有诸多存储设备的档案柜中查找到存储有目标数据的存储设备。然后,再花上至少半个小时的时间将该存储设备安装在相应的读取装置中并使其运行起来,才能实现对存储在其中的数据的读取。
近年来,随着移动互联网、物联网、智慧城市、云计算的快速发展,冷数据的规模越来越大,对冷存储的存储容量需求也越来越大。
用户可以采用互联网企业提供的基于云存储的冷数据存储服务来存储冷数据。国内外大型互联网企业已根据自身的业务特点,结合多年的运营经验和业务预测,进行存储架构的整体设计,并基于其在冷存储方面的经验和技术积累,对外提供了相关的冷数据存储服务。例如,亚马逊网络服务推出的Amazon Glacier 云存储服务,阿里云的归档存储产品,都是具有一定代表性的海量冷数据存储服务。但是,这些冷数据存储服务存储架构的底层仍然是采用LTO磁带或者光盘这类冷存储设备进行存储的,具有存储成本低,调用成本高的特点。
用户也可以建造自己的冷数据存储架构来存储冷数据,相较于通过第三方互联网企业提供的归档服务进行存储,降低了被黑客通过网络侵入的风险,更加的安全。但是,现有技术中用户自建的冷数据存储架构寿命较短。光盘的理论寿命不会超过10年,并且大多数光盘使用5年以后,其中存储的数据就会不定期失效。会出现对光盘进行查看时其中存储的文件目录还在,但是文件目录下的数据却无法读出的情况。而很多情况下,对冷数据的存储时限要求是很长的,例如,法律规定最高法院的案卷卷宗需要保存60年以上,而我们的光盘存储明显无法达到这个要求。
发明内容
本发明为解决上述技术问题中至少之一,提供一种存储容量大,调用成本较低的冷数据存储***,该***包括:
控制设备,设有数据传输接口;
至少一个存储设备,用于存储数据;
所述存储设备上线以连接至所述数据传输接口,直至所述数据传输接口需要连接其他存储设备时被动下线以断开与所述数据传输接口的连接,或者直至所述存储设备的空闲时间超过预设值时主动下线以断开与所述数据传输接口的连接。
上述技术方案中的所述存储设备的被动下线方式,使得冷数据存储***中安装的存储设备数据不受控制设备的数据传输接口数量的限制,使得冷数据存储***的数据存储量能够满足实际应用的需求。所述存储设备的主动下线方式,避免了存储设备长期在线,延长了存储设备的使用期限。
作为优选,当所有数据传输接口均连接有存储设备时,将这些存储设备中距离上一次操作空闲时间最长的存储设备被动下线,以供除这些存储设备以外的另一存储设备上线。
作为优选,还包括调度控制器,设于所述控制设备和所述存储设备之间;所述调度控制器,用于将所述存储设备连接至数据传输接口以将所述存储设备上线,断开所述存储设备与所述数据传输接口的连接以将所述存储设备主动/被动下线。
作为优选,所述控制设备,设有调度控制接口;所述调度控制器,设有分别连接所述调度控制接口的调度控制端,分别连接所述数据传输接口的数据传输端,以及分别连接各存储设备的存储设备端;所述控制设备,通过所述调度控制接口发送上线指令至所述调度控制器以控制某一存储设备上线,通过所述调度控制接口发送下线指令至所述调度控制器以控制某一存储设备下线。
作为优选,所述数据传输接口,包括读数据接口和写数据接口;所述数据传输端,包括读数据端和写数据端;所述读数据端与所述读数据接口一一对应连接,所述写数据端与所述写数据接口一一对应连接;所述控制设备,通过所述读数据接口对所述存储设备进行读操作,通过所述写数据端口进行写操作。
作为优选,所述读数据接口为SATA接口,所述写数据接口为设有RAID卡的PCIE接口,所述调度控制接口为COM接口。能够兼容市面上大多数种类的硬盘。
作为优选,所述存储设备端,包括设备电源端子和设备数据端子;所述调度控制器,包括电源模块和开关调度模块;所述开关调度模块,将存储设备端的设备电源端子与电源模块电连接并且将所述存储端的设备数据端子与数据传输端电连接,以将连接至所述存储设备端的存储设备上线;所述开关调度模块,断开存储设备端的设备电源端子与电源模块的电连接并且断开所述存储设备端的设备数据端子与数据传输端的电连接,以将连接至所述存储设备端的存储设备主动/被动下线。
作为优选,所述控制设备,包括数据库模块和缓存模块;所述数据库模块,用于记录存储设备信息以及存储***中所存储数据的索引信息;所述缓存模块,用于缓存写入所述存储***的数据;当所述缓存模块中的空余空间不足或者某部分缓存数据足以写满某一可供写入的存储设备时,将这部分缓存数据写入所述存储设备中。减少对存储设备的操作次数,同时,缓存模块中缓存能数据能够根据其索引信息直接在缓存模块中读取,提高了读取响应速度,降低了使用成本。
作为优选,所述缓存模块中的缓存数据在被写入存储设备之前,不允许被覆盖;所述缓存模块中的缓存数据在被写入存储设备之后,允许被覆盖。
作为优选,所述缓存模块通常由两级缓冲原件构成,第一级可以采用非易失性内存,用户直接对面用户的写入和读取,第二级可以采用高性能企业级硬盘,用于一级缓冲与冷存储库之间的数据暂存。
本发明还提供了一种冷数据存储方法, 其特征在于:采用上述任一项所述的冷数据存储***存储数据。
上述技术方案中的所述存储设备的被动下线方式,使得冷数据存储***中安装的存储设备数据不受控制设备的数据传输接口数量的限制,使得冷数据存储***的数据存储量能够满足实际应用的需求。所述存储设备的主动下线方式,避免了存储设备长期在线,延长了存储设备的使用期限。
附图说明
附图1 是本发明实施例一的***示意图。
附图2 是本发明实施例二的***示意图。
具体实施方式
实施例一
如图1所示的一种冷数据存储***,包括服务器、调度控制器、以及多个硬盘。服务器包括6个用于读取硬盘数据的SATA接口1~6,1个用于将数据写入硬盘的PCIE接口,因此可以采用目前市场上大多数类型的硬盘来存储数据。作为优选,PCIE接口中安装有RAID卡,通过RAID卡的1模式可以实现对两个硬盘的同步写操作。例如,本实施例的冷数据安全存储***可以全部采用机械硬盘来存储数据,也可以全部采用固态硬盘来存储数据,或者还可以部分采用机械硬盘、部分采用固态硬盘来存储数据。服务器中设有用于存储硬盘信息以及数据文件在硬盘中的存储信息的数据库。通过将需要存储在冷数据安全存储***中的数据文件目录记录在数据库中,使得即使是分散存储在多个硬盘中的数据文件,对于用户来将其存储仍然是连续的。读取存储在冷数据安全存储***中的数据时,只需要根据数据库中存储的数据文件在硬盘中的存储信息中所记载的,关于需要读取的数据的索引信息即可以在存储***中的诸多硬盘中查找并读取出该部分数据。
本实施例的存储***设置调度控制器,以使得存储***能够具有大的存储容量。调度控制器设有通过总线分别连接服务器的6个SATA接口的读数据传输端1~6,通过总线连接服务器PCIE接口的写数据端1~2;用于分别连接安装各硬盘的多个存储设备端1~n;通过总线连接至服务器的一个COM接口的调度控制端。存储设备端的数据量远远大于读数据端或者写数据端的数量,并且由调度控制端接收来自服务器的调度指令,调度控制器根据调度控制器的指令使得安装在存储设备端中的硬盘能够在被分时调度,使得它们在需要进行读/写操作时上线与服务器的SATA接口或者PCIE接口连接,或者不需要进行读/写操作时主动/被动下线断开与服务器的SATA接口或者PCIE接口的连接,为其他需要进行读/写操作的硬盘的上线腾出相应的连接接口。具体的,调度控制器设有5V电源,以及用于执行调度操作的开关调度模块。存储设备端包括与硬盘的电源端连接的设备电源端子以及与硬盘的数据端连接的设备数据端子。开关调度模块可以为根据服务器输入至调度控制端的调度指令执行开关调度功能的软件程序或者硬件电路。例如,服务器发送指示调度控制器将图1中所示的硬盘1连接至SATA接口2的调度指令,调度控制器接收到该调度指令后,首先找到硬盘1对应的存储设备端1,并且由开关调度模块将存储设备端1的设备电源端子连接至5V电源,其次再由开关调度模块将存储设备端1的设备数据端子连接至对应于SATA接口2的读数据端2。或者服务器发送指示调度控制器将图1中将硬盘3下线的指令,调度控制器接收到该调度指令后,首先找到硬盘3对应的存储设备端3以及硬盘3当前连接的数据传输端(可以为读数据端中的一个,也可以为写数据端中的一个),并且由开关调度模块断开存储设备端3的数据端子与其当前连接的数据传输端的连接,其次再由开关调度模块断开存储设备端3的设备电源端子与5V电源的连接。
服务器还包括用于缓存需要写入该存储***的数据的缓存,该缓采用存储容量较大的非易失性内存,使得缓存中存储的数据在短时掉电以后仍然能够被保存。例如,本实施中的多个硬盘中可以包括存储容量为3T的硬盘,还可以包括容量为1T的硬盘,缓存优选存储容量为1T甚至更大的非易失性存储器。写入***的数据首先被写入到缓存中,并且将该数据在缓存中的存储位置、索引信息等记录在数据库中。当缓存在非易失性存储器中的数据占有率高于一个阈值(80%)时,将这部分缓存数据写入或者转移到该可供写入的硬盘中,并且更新数据库中记录的关于这部分数据的索引信息。优选的,缓存数据在最初被缓存到非易失性存储器中的时候,被标记被缓存数据以保证其不能被改写或者被新数据覆盖。当缓存器中标记为缓存数据的数据量足以写满某一可供写入的硬盘或者空余不足时,将这部分缓存数据写入到可供写入的硬盘中,并且缓存器中的这部分数据标记为允许被覆盖或者改写的非缓存数据。在选择可供写入的硬盘时可以根据使用的需要制定不同的选择标准,例如,可以优先选择可供写入的存储容量最小的硬盘,也可以优选选择存储容量最小的硬盘,又或者可以优选选择可供写入的存储容量与缓存数据的大小最接近的硬盘,甚至还可以根据硬盘的种类、硬盘安装到***中的时间先后、以及硬盘的空闲时间长短等等标准来指定选择可供写入的硬盘的规则。需要读取存储在该***中的数据时,根据数据库中存储的索引信息查找数据。当数据缓存在非易失性存储器中时,直接读取缓存在非易失性存储器以获取这部分数据;当数据被写入到硬盘中并且其在非易失性存储器中的缓存并未被改写或者覆盖时,直接读取非易失性存储器以获取这部分数据;当数据被写入到硬盘中并且其在非易失性存储器中的缓存数据已被改写或者覆盖时,需要读取存储这部分数据的硬盘以获取这部分数据。作为优选,所述缓存模块通常由两级缓冲原件构成,第一级可以采用非易失性内存,用户直接对面用户的写入和读取,第二级可以采用高性能企业级硬盘,用于一级缓冲与冷存储库之间的数据暂存。
对硬盘执行读操作或者写操作的前提是该硬盘处于上线状态,即该硬盘的电源端连接调度控制器的5V电源以保证其上电可工作,该硬盘的数据端通过调度控制器与服务器的SATA接口或者PCIE接口连接,以保证服务器能够通过SATA接口对其进行读操作或者通过PCIE接口对其进行写操作。服务器通过调度控制器对***中的硬盘进行分时调度,使得本实施例的存储***在有远远大于6个硬盘的存储量的基础上,在同一时间最多只有6个硬盘处于上线状态与服务器连接。调度方法如下:
将某一硬盘上线连接至服务器的SATA接口或者PCIE接口,以对该硬盘进行读操作或者写操作;对该硬盘的读操作或者写操作结束以后保持该硬盘的上线状态。
数据库中存储的硬盘信息包括硬盘的状态,硬盘的最后一次操作信息(例如是读操作还是写操作),硬盘所连接的传输数据接口的信息等等。本实施例的服务器会监控***中各硬盘的使用状态并且更新硬盘信息,服务器还会根据硬盘的使用状态和***的使用需求下线处于上线状态的硬盘。这里的下线包括主动下线和被动下线:
A)主动下线
当服务器监测到某一处于在线状态的硬盘,其空闲时间(即距离其最近的一次读操作或者写操作的时间)超过了***预设的允许该硬盘的最大空闲时间时,通过调度控制接口发送指示调度控制器将该硬盘下线的指令至调度控制器,使得调度控制器能够根据该指令断开该硬盘与服务器对应接口的连接并且断开该硬盘与5V电源的连接,使得该硬盘主动下线。对于普通硬盘(即机械硬盘),其处于上线状态时磁盘一直处于旋转状态,磁盘的旋转次数越多,磁盘被磨损的也越多,离磁盘寿命终止的时间也就越近。本***通过将硬盘主动下线的方式,防止的硬盘一直在线被磨损,从而延长了硬盘的使用期限。
B)被动下线
当服务器需要对某一硬盘执行读操作或者写操作时,首先判断该硬盘是否处于上线状态。例如,判断需要执行读操作的硬盘是否上线与服务器的SATA接口连接;或者判断需要执行写操作的硬盘是否上线与服务器的PCIE接口连接。如果在线,则服务器可以直接通过SATA接口对该硬盘进行读操作或者通过PCIE接口对该硬盘执行写操作。如果不在线,则服务器判断需要是否由空闲的接口供硬盘连接上下。例如,判断是否有空闲的SATA接口供需要执行读操作的硬盘上线连接;或者判断是否有空闲的PCIE接口供需要执行写操作的硬盘上线连接。如果有,则通过调度控制接口发送相关指令至调度控制器,直接将该硬盘上线连接至对应的空闲接口。如果没有,则服务器判断已连接至该硬盘需要连接的数据传输接口中距离上一次对应操作空闲时间最长的硬盘,并且通过调度控制接口发送指示将该接口的硬盘下线的指令给调度控制器,使得调度控制器能够根据指令将该接口的硬盘下线,以空出该数据传输接口供需要上线的硬盘连接。例如,服务器判断已连接至SATA接口的硬盘中距离上一次读操作空闲时间最长的硬盘,通过调度控制接口发送指示调度控制器价格该硬盘下线的指令至调度控制器,使得调度调度控制器执行该指令断开该硬盘与SATA接口的连接,从而使得服务器的该SATA接口空闲出来供其他硬盘上线连接。又或者,服务器判断已连接至PCIE接口的硬盘中距离上一次写操作空闲时间最长的硬盘,通过调度控制接口发送指示调度控制器将该硬盘下线的指令至调度控制器,使得调度调度控制器执行该指令断开该硬盘与PCIE接口的连接,从而使得服务器的该PCIE接口空闲出来供其他硬盘上线连接。有空闲的数据传输接口以后,再由服务器通过调度控制接口发送指示调度控制器将需要上线的硬盘连接至对应的数据传输接口的硬盘与对应的空闲接口连接的指令,并由接收到该指令的调度控制器执行,以将该硬盘上线。分时调度硬盘上线使得服务器端有限的数据传输接口得到扩展,并且又使得***具有大的数据存储量。
为了提高***中存储数据的安全性,本实施例的服务器在可以根据***预设的空闲时间段或者参数,执行数据可用性维护。例如,服务器可以根据用户的指定,在每天凌晨或者其他用户较少的时间段)进行数据维护;也可以由服务器自动检测***负载,并且选择在***负载小于用户预设的***负载时进行数据可用性维护。数据可用性维护包括:
服务器读取记录在数据库中的硬盘信息,根据硬盘信息判断各硬盘距离其最后一次写操作的时间是否超过***预设时间。如果超过了预设时间则根据硬盘类型执行下述操作:
对于机械硬盘,执行数据重写,以使得硬盘中用于存储数据的磁信号维持在一较高的水平,维持数据的有效性。对于固态硬盘,执行数据读操作,以维持数据的有效性。
数据库中还记录有各硬盘中存储数据的校验数据,服务器对各硬盘中存储的数据有效性进行数据有效性校验。该校验数据为存储在硬盘中的数据依据某一算法进行运算的结果。进行数据有效性校验时,将硬盘中的数据依照同样的算法进行运算得出的结果与校验数据进行比对,两者相同则表述存储在硬盘中的数据有效,如果不同则表示存储在硬盘中的数据已失效,服务器可发出数据失效警告通知客户采取救济措施。
实施例二
如图2所示的一种带备份的冷数据安全存储***,包括服务器、调度控制器、以及多个硬盘对。服务器包括6个用于读取硬盘数据的SATA接口1~6,1个用于将数据写入硬盘的PCIE接口,因此可以采用目前市场上大多数类型的硬盘来存储数据。服务器中设有用于存储硬盘信息以及数据文件在硬盘中的存储信息的数据库。通过将需要存储在冷数据安全存储***中的数据文件目录记录在数据库中,使得即使是分散存储在多个硬盘中的数据文件,对于用户来将其存储仍然是连续的。读取存储在冷数据安全存储***中的数据时,只需要根据数据库中存储的数据文件在硬盘中的存储信息中所记载的,关于需要读取的数据的索引信息即可以在存储***中的诸多硬盘中查找并读取出该部分数据。
为了保证数据的安全,将存储***中的硬盘两两配对,每一对存储设备中的两个存储设备用于存储相同的数据。硬盘的配对信息同时记录在数据库中。本实施例的冷数据安全存储***可以全部采用机械硬盘来存储数据,也可以全部采用固态硬盘来存储数据,或者还可以部分采用机械硬盘、部分采用固态硬盘来存储数据。硬盘配对的方式可以有很多中,例如可以将两个相同类型的硬盘两两配对,也可以将不同类型的硬盘两两配对。作为优选,将具有相同存储容量的两个硬盘配成一对。本实施例中硬盘的配对方式也是可以动态调整的,例如本实施例中,当有新的硬盘安装到***中时,服务器会将该硬盘与最早安装到***中的硬盘匹配成一对。这是因为,大多数情况下安装到***中的硬盘为新硬盘,新安装到***中的硬盘相较于最早在其之前安装到***中的硬盘,其未来能够使用的时间更长。因此,将新安装到***中的硬盘与最早安装在***中的硬盘配对,能够延长整个硬盘对的使用寿命,同时提高数据存储的安全性。
作为优选,PCIE接口中安装有RAID卡,通过RAID卡可以实现对两个硬盘的同步写操作,从而实现在写数据一次完成对同一硬盘对中两个硬盘的写操作。本实施例的存储***,在读数据时仅对其中一个硬盘执行读操作即可。而具体选择硬盘对中的哪一个硬盘进行读操作,可以由服务器随机选择,也可以由服务器根据硬盘对的组合类型按照下述原则进行选择,以延长硬盘对的使用期限:
如果该硬盘对中的两个硬盘均为机械硬盘,需要读取该硬盘对中的数据时,则固定选择某一个机械硬盘并对其执行需操作以获取存储在该机械硬盘中的数据,直到该机械硬盘或者与其他硬盘重新匹配为新的硬盘对为止。
如果该硬盘对中的两个硬盘均为固态硬盘,需要读取该硬盘对中的数据时,轮流选择该硬盘对中的两个固态硬盘并对其执行需操作以获取存储在该机械硬盘中的数据。例如,上一次该硬盘对的读操作是选择读取某一固态硬盘中的数据,则这一次该硬盘对的读操作选择读取另一个固态硬盘中的数据。
如果该硬盘对中包括一个机械硬盘和一个固态硬盘,需要读取该硬盘对中的数据时,则固定选择对固态硬盘执行读操作以获取存储在该固态硬盘中的数据。本实施例的存储***设置调度控制器,以使得存储***能够具有大的存储容量。调度控制器设有通过总线分别连接服务器的6个SATA接口的读数据传输端1~6,通过总线连接服务器PCIE接口的写数据端1~2;用于分别连接安装各硬盘的多个存储设备端1~n;通过总线连接至服务器的一个COM接口的调度控制端。存储设备端的数据量远远大于读数据端或者写数据端的数量,并且由调度控制端接收来自服务器的调度指令,调度控制器根据调度控制器的指令使得安装在存储设备端中的硬盘能够在被分时调度,使得它们在需要进行读/写操作时上线与服务器的SATA接口或者PCIE接口连接,或者不需要进行读/写操作时主动/被动下线断开与服务器的SATA接口或者PCIE接口的连接,为其他需要进行读/写操作的硬盘的上线腾出相应的连接接口。具体的,调度控制器设有5V电源,以及用于执行调度操作的开关调度模块。存储设备端包括与硬盘的电源端连接的设备电源端子以及与硬盘的数据端连接的设备数据端子。开关调度模块可以为根据服务器输入至调度控制端的调度指令执行开关调度功能的软件程序或者硬件电路。例如,服务器发送指示调度控制器将图1中所示的硬盘1连接至SATA接口2的调度指令,调度控制器接收到该调度指令后,首先找到硬盘1对应的存储设备端1,并且由开关调度模块将存储设备端1的设备电源端子连接至5V电源,其次再由开关调度模块将存储设备端1的设备数据端子连接至对应于SATA接口2的读数据端2。或者服务器发送指示调度控制器将图1中将硬盘3下线的指令,调度控制器接收到该调度指令后,首先找到硬盘3对应的存储设备端3以及硬盘3当前连接的数据传输端(可以为读数据端中的一个,也可以为写数据端中的一个),并且由开关调度模块断开存储设备端3的数据端子与其当前连接的数据传输端的连接,其次再由开关调度模块断开存储设备端3的设备电源端子与5V电源的连接。
服务器还包括用于缓存需要写入该存储***的数据的缓存,该缓存一般采用存储容量较大的非易失性内存,使得缓存中存储的数据在短时掉电以后仍然能够被保存。例如,本实施中的多个硬盘中可以包括存储容量为3T的硬盘,还可以包括容量为1T的硬盘,缓存优选存储容量为1T甚至更大的非易失性缓存器。写入***的数据首先被写入到缓存中,并且将该数据在缓存中的存储位置、索引信息等记录在数据库中。当缓存在非易失性存储器中的数据量达到足以写满某一可供写入的硬盘时,将这部分缓存数据写入或者转移到该可供写入的硬盘中,并且更新数据库中记录的关于这部分数据的索引信息。优选的,缓存数据在最初被缓存到非易失性存储器中的时候,被标记被缓存数据以保证其不能被改写或者被新数据覆盖。当非易失性存储器中标记为缓存数据的数据量足以写满某一可供写入的硬盘或者空余率不足时,将这部分缓存数据写入到可供写入的硬盘中,并且非易失性存储器中的这部分数据标记为允许被覆盖或者改写的非缓存数据。在选择可供写入的硬盘时可以根据使用的需要制定不同的选择标准,例如,可以优先选择可供写入的存储容量最小的硬盘,也可以优选选择存储容量最小的硬盘,又或者可以优选选择可供写入的存储容量与缓存数据的大小最接近的硬盘,甚至还可以根据硬盘的种类、硬盘安装到***中的时间先后、以及硬盘的空闲时间长短等等标准来指定选择可供写入的硬盘的规则。需要读取存储在该***中的数据时,根据数据库中存储的索引信息查找数据。当数据缓存在非易失性存储器中时,直接读取缓存在非易失性存储器以获取这部分数据;当数据被写入到硬盘中并且其在非易失性存储器中的缓存并未被改写或者覆盖时,直接读取非易失性存储器以获取这部分数据;当数据被写入到硬盘中并且其在非易失性存储器中的缓存数据已被改写或者覆盖时,需要读取存储这部分数据的硬盘以获取这部分数据。作为优选,所述缓存模块通常由两级缓冲原件构成,第一级可以采用非易失性内存,用户直接对面用户的写入和读取,第二级可以采用高性能企业级硬盘,用于一级缓冲与冷存储库之间的数据暂存。
对硬盘执行读操作或者写操作的前提是该硬盘处于上线状态,即该硬盘的电源端连接调度控制器的5V电源以保证其上电可工作,该硬盘的数据端通过调度控制器与服务器的SATA接口或者PCIE接口连接,以保证服务器能够通过SATA接口对其进行读操作或者通过PCIE接口对其进行写操作。服务器通过调度控制器对***中的硬盘进行分时调度,使得本实施例的存储***在有远远大于6个硬盘的存储量的基础上,在同一时间最多只有6个硬盘处于上线状态与服务器连接。调度方法如下:
将某一硬盘上线连接至服务器的SATA接口或者PCIE接口,以对该硬盘进行读操作或者写操作;对该硬盘的读操作或者写操作结束以后保持该硬盘的上线状态。
数据库中存储的硬盘信息包括硬盘的状态,硬盘的最后一次操作信息(例如是读操作还是写操作),硬盘所连接的传输数据接口的信息等等。本实施例的服务器会监控***中各硬盘的使用状态并且更新硬盘信息,服务器还会根据硬盘的使用状态和***的使用需求下线处于上线状态的硬盘。这里的下线包括主动下线和被动下线:
A)主动下线
当服务器监测到某一处于在线状态的硬盘,其空闲时间(即距离其最近的一次读操作或者写操作的时间)超过了***预设的允许该硬盘的最大空闲时间时,通过调度控制接口发送指示调度控制器将该硬盘下线的指令至调度控制器,使得调度控制器能够根据该指令断开该硬盘与服务器对应接口的连接并且断开该硬盘与5V电源的连接,使得该硬盘主动下线。对于普通硬盘(即机械硬盘),其处于上线状态时磁盘一直处于旋转状态,磁盘的旋转次数越多,磁盘被磨损的也越多,离磁盘寿命终止的时间也就越近。本***通过将硬盘主动下线的方式,防止的硬盘一直在线被磨损,从而延长了硬盘的使用期限。
B)被动下线
当服务器需要对某一硬盘执行读操作或者写操作时,首先判断该硬盘是否处于上线状态。例如,判断需要执行读操作的硬盘是否上线与服务器的SATA接口连接;或者判断需要执行写操作的硬盘是否上线与服务器的PCIE接口连接。如果在线,则服务器可以直接通过SATA接口对该硬盘进行读操作或者通过PCIE接口对该硬盘执行写操作。如果不在线,则服务器判断需要是否由空闲的接口供硬盘连接上下。例如,判断是否有空闲的SATA接口供需要执行读操作的硬盘上线连接;或者判断是否有空闲的PCIE接口供需要执行写操作的硬盘上线连接。如果有,则通过调度控制接口发送相关指令至调度控制器,直接将该硬盘上线连接至对应的空闲接口。如果没有,则服务器判断已连接至该硬盘需要连接的数据传输接口中距离上一次对应操作空闲时间最长的硬盘,并且通过调度控制接口发送指示将该接口的硬盘下线的指令给调度控制器,使得调度控制器能够根据指令将该接口的硬盘下线,以空出该数据传输接口供需要上线的硬盘连接。例如,服务器判断已连接至SATA接口的硬盘中距离上一次读操作空闲时间最长的硬盘,通过调度控制接口发送指示调度控制器价格该硬盘下线的指令至调度控制器,使得调度调度控制器执行该指令断开该硬盘与SATA接口的连接,从而使得服务器的该SATA接口空闲出来供其他硬盘上线连接。又或者,服务器判断已连接至PCIE接口的硬盘中距离上一次写操作空闲时间最长的硬盘,通过调度控制接口发送指示调度控制器将该硬盘下线的指令至调度控制器,使得调度调度控制器执行该指令断开该硬盘与PCIE接口的连接,从而使得服务器的该PCIE接口空闲出来供其他硬盘上线连接。有空闲的数据传输接口以后,再由服务器通过调度控制接口发送指示调度控制器将需要上线的硬盘连接至对应的数据传输接口的硬盘与对应的空闲接口连接的指令,并由接收到该指令的调度控制器执行,以将该硬盘上线。分时调度硬盘上线使得服务器端有限的数据传输接口得到扩展,并且又使得***具有大的数据存储量。
为了提高***中存储数据的安全性,本实施例的服务器在可以根据***预设的空闲时间段或者参数,执行数据可用性维护。例如,服务器可以根据用户的指定,在每天凌晨或者其他用户较少的时间段)进行数据维护;也可以由服务器自动检测***负载,并且选择在***负载小于用户预设的***负载时进行数据可用性维护。数据可用性维护包括:
服务器读取记录在数据库中的硬盘信息,根据硬盘信息判断各硬盘距离上一次写操作的时间是否超过***预设时间。如果超过了预设时间则根据硬盘类型执行下述操作:
对于机械硬盘,执行数据重写,以使得硬盘中用于存储数据的磁信号维持在一较高的水平,维持数据的有效性。对于固态硬盘,执行数据读操作,以维持数据的有效性。
数据库中还记录有各硬盘中存储数据的校验数据,服务器对各硬盘中存储的数据有效性进行数据有效性校验。该校验数据为存储在硬盘中的数据依据某一算法进行运算的结果。进行数据有效性校验时,将硬盘中的数据依照同样的算法进行运算得出的结果与校验数据进行比对,两者相同则表述存储在硬盘中的数据有效,如果不同则表示存储在硬盘中的数据已失效。当发现存在硬盘中存储的数据失效的情况时,服务器首先查看与其配对的硬盘中的数据是否有效。如果与其配对的硬盘中存储的数据是有效的,则将有效的数据复制到失效的硬盘当中,并且覆盖该硬盘中的失效数据,实现对硬盘中存储数据进行恢复。如果与其配对的硬盘中存储的数据也是无效的,则服务器可发出数据失效警告通知客户采取其他救济措施。
实施例三
一种冷数据安全存储方法,包括采用实施例一或二所述的存储***来存储冷数据。
虽然结合附图描述了本发明的实施方式,但是本领域普通技术人员可以在所附权利要求的范围内做出各种变形或修改。
Claims (10)
1.一种冷数据存储***,其特征在于,包括:
控制设备,设有数据传输接口;
至少一个存储设备,用于存储数据;
所述存储设备上线以连接至所述数据传输接口,直至所述数据传输接口需要连接其他存储设备时被动下线以断开与所述数据传输接口的连接,或者直至所述存储设备的空闲时间超过预设值时主动下线以断开与所述数据传输接口的连接。
2.根据权利要求1所述的一种冷数据存储***,其特征在于:
当所有数据传输接口均连接有存储设备时,将这些存储设备中距离上一次操作空闲时间最长的存储设备被动下线,以供除这些存储设备以外的另一存储设备上线。
3.根据权利要求2所述的一种冷数据存储***,其特征在于,还包括:
调度控制器,设于所述控制设备和所述存储设备之间;
所述调度控制器,用于将所述存储设备连接至数据传输接口以将所述存储设备上线,断开所述存储设备与所述数据传输接口的连接以将所述存储设备主动/被动下线。
4.根据权利要求3所述的一种冷数据存储***,其特征在于:
所述控制设备,设有调度控制接口;
所述调度控制器,设有分别连接所述调度控制接口的调度控制端,分别连接所述数据传输接口的数据传输端,以及分别连接各存储设备的存储设备端;
所述控制设备,通过所述调度控制接口发送上线指令至所述调度控制器以控制某一存储设备上线,通过所述调度控制接口发送下线指令至所述调度控制器以控制某一存储设备下线。
5.根据权利要求4所述的一种冷数据存储***,其特征在于:
所述数据传输接口,包括读数据接口和写数据接口;
所述数据传输端,包括读数据端和写数据端;
所述读数据端与所述读数据接口一一对应连接,所述写数据端与所述写数据接口一一对应连接;
所述控制设备,通过所述读数据接口对所述存储设备进行读操作,通过所述写数据端口进行写操作。
6.根据权利要求5所述的一种冷数据存储***,其特征在于:
所述读数据接口为SATA接口,所述写数据接口为设有RAID卡的PCIE接口,所述调度控制接口为COM接口。
7.根据权利要求5所述的一种冷数据存储***,其特征在于:
所述存储设备端,包括设备电源端子和设备数据端子;
所述调度控制器,包括电源模块和开关调度模块;
所述开关调度模块,将存储设备端的设备电源端子与电源模块电连接并且将所述存储端的设备数据端子与数据传输端电连接,以将连接至所述存储设备端的存储设备上线;
所述开关调度模块,断开存储设备端的设备电源端子与电源模块的电连接并且断开所述存储设备端的设备数据端子与数据传输端的电连接,以将连接至所述存储设备端的存储设备主动/被动下线。
8.根据权利要求2所述的一种冷数据存储***,其特征在于:
所述控制设备,包括数据库模块和缓存模块;
所述数据库模块,用于记录存储设备信息以及存储***中所存储数据的索引信息;
所述缓存模块,用于缓存写入所述存储***的数据;
当所述缓存模块中的空余空间不足时,或者某部分缓存数据足以写满某一可供写入的存储设备时,将这部分缓存数据写入所述存储设备中。
9.根据权利要求8所述的一种冷数据存储***,其特征在于,还包括:
所述缓存模块中的缓存数据在被写入存储设备之前,不允许被覆盖;
所述缓存模块中的缓存数据在被写入存储设备之后,允许被覆盖。
10.一种冷数据存储方法, 其特征在于:采用权利要求1-9中任一项所述的冷数据存储***存储数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811214296.1A CN109407988A (zh) | 2018-10-18 | 2018-10-18 | 冷数据存储***及其存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811214296.1A CN109407988A (zh) | 2018-10-18 | 2018-10-18 | 冷数据存储***及其存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109407988A true CN109407988A (zh) | 2019-03-01 |
Family
ID=65467543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811214296.1A Pending CN109407988A (zh) | 2018-10-18 | 2018-10-18 | 冷数据存储***及其存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109407988A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704488A (zh) * | 2019-09-29 | 2020-01-17 | 北京元年科技股份有限公司 | 用于管理数据的方法及相应的***、计算机设备和介质 |
CN111443867A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350030A (zh) * | 2007-07-20 | 2009-01-21 | 株式会社东芝 | 用于缓存数据的方法及装置 |
CN101615104A (zh) * | 2008-06-25 | 2009-12-30 | 鸿富锦精密工业(深圳)有限公司 | 硬盘切换***及其切换方法 |
CN101727399A (zh) * | 2008-10-30 | 2010-06-09 | 鸿富锦精密工业(深圳)有限公司 | 存储装置及使用该存储装置的数据交换*** |
CN104965679A (zh) * | 2015-07-06 | 2015-10-07 | 北京唯得科技有限公司 | 大容量数据长效存储归档*** |
CN105278656A (zh) * | 2015-11-20 | 2016-01-27 | 浪潮电子信息产业股份有限公司 | 一种冷存储服务器的节能方法 |
CN107209712A (zh) * | 2015-11-16 | 2017-09-26 | 华为技术有限公司 | 存储***、存储设备及硬盘调度方法 |
-
2018
- 2018-10-18 CN CN201811214296.1A patent/CN109407988A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350030A (zh) * | 2007-07-20 | 2009-01-21 | 株式会社东芝 | 用于缓存数据的方法及装置 |
CN101615104A (zh) * | 2008-06-25 | 2009-12-30 | 鸿富锦精密工业(深圳)有限公司 | 硬盘切换***及其切换方法 |
CN101727399A (zh) * | 2008-10-30 | 2010-06-09 | 鸿富锦精密工业(深圳)有限公司 | 存储装置及使用该存储装置的数据交换*** |
CN104965679A (zh) * | 2015-07-06 | 2015-10-07 | 北京唯得科技有限公司 | 大容量数据长效存储归档*** |
CN107209712A (zh) * | 2015-11-16 | 2017-09-26 | 华为技术有限公司 | 存储***、存储设备及硬盘调度方法 |
CN105278656A (zh) * | 2015-11-20 | 2016-01-27 | 浪潮电子信息产业股份有限公司 | 一种冷存储服务器的节能方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704488A (zh) * | 2019-09-29 | 2020-01-17 | 北京元年科技股份有限公司 | 用于管理数据的方法及相应的***、计算机设备和介质 |
CN111443867A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
CN111443867B (zh) * | 2020-03-24 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102024044B (zh) | 分布式文件*** | |
US7260679B2 (en) | Apparatus and method to manage a data cache using a first and second least recently used list | |
CN102043686B (zh) | 一种内存数据库的容灾方法、备用服务器及*** | |
US7321955B2 (en) | Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices | |
CN103620549A (zh) | 用于统一数据存储的存储介质抽象 | |
CN104317736B (zh) | 一种分布式文件***多级缓存实现方法 | |
CN105138276B (zh) | 数据储存方法及数据储存*** | |
CN103246616A (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
CN107291889A (zh) | 一种数据存储方法及*** | |
JP2005275829A (ja) | ストレージシステム | |
CN103167026A (zh) | 一种云存储环境数据处理方法、***及设备 | |
CN103037004A (zh) | 云存储***操作的实现方法和装置 | |
CN103516549B (zh) | 一种基于共享对象存储的文件***元数据日志机制 | |
CN102982182A (zh) | 一种数据存储规划方法及装置 | |
CN101673192A (zh) | 时序化的数据处理方法、装置及*** | |
CN105187564A (zh) | 一种手机端文件断点续传的方法 | |
US20090182957A1 (en) | Data storage apparatus | |
CN105897859A (zh) | 一种存储*** | |
CN109407988A (zh) | 冷数据存储***及其存储方法 | |
CN105095495A (zh) | 一种分布式文件***缓存管理方法和*** | |
EP3588913A1 (en) | Data caching method and apparatus | |
CN114780023A (zh) | 一种数据文件的快速存取方法及装置 | |
CN102523410A (zh) | 一种写入视频数据的方法及视频数据存储设备 | |
CN101515255A (zh) | 一种数据的存储方法和存储装置 | |
CN101490678B (zh) | 信息和元数据的管理及存储 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |