CN103888496A - 数据分散存储方法及系统 - Google Patents
数据分散存储方法及系统 Download PDFInfo
- Publication number
- CN103888496A CN103888496A CN201210561651.9A CN201210561651A CN103888496A CN 103888496 A CN103888496 A CN 103888496A CN 201210561651 A CN201210561651 A CN 201210561651A CN 103888496 A CN103888496 A CN 103888496A
- Authority
- CN
- China
- Prior art keywords
- data
- child node
- storage
- summary info
- client
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
Abstract
一种数据分散存储方法,该方法包括步骤:接收客户端写入数据的请求;在第一存储子节点上保存客户端请求写入的数据;建立数据摘要列表,记录此次保存的数据的摘要信息;传送数据写入的反馈信息至客户端;获取数据摘要列表并查询其中记录的摘要信息;当数据摘要列表中存在未完成同步的数据时,根据摘要信息读取第一存储子节点上保存的相关数据;将所读取的数据复制到第二存储子节点上。本发明还提供一种数据分散存储系统。本发明可以安全存储数据,并提高读写效率。
Description
技术领域
本发明涉及一种数据管理方法及系统,尤其是涉及一种数据分散存储方法及系统。
背景技术
随着企业电子化应用的发展,纸本作业方式逐步被电子文件所取代。其一系列的变化,有效地提升了企业办事效率。但针对电子化系统所带来的大量数据,怎样进行安全的存储,同时又能提升数据读写效率,将会成为制约电子化发展的关键一环。
现在可用的方法有增加存储子节点,将写入的文件存储多份,降低丢失概率,达到提升数据安全的目的。但如果是确保多份文件均写入完成后再反馈消息给客户端,势必增加等待时间,降低读写效率。
发明内容
鉴于以上内容,有必要提供一种数据分散存储方法,可以安全存储数据,并提高读写效率。
鉴于以上内容,还有必要提供一种数据分散存储系统,可以安全存储数据,并提高读写效率。
所述数据分散存储方法包括:接收步骤:接收客户端写入数据的请求;保存步骤:在第一存储子节点上保存客户端请求写入的数据;记录步骤:建立数据摘要列表,记录此次保存的数据的摘要信息;传送步骤:传送数据写入的反馈信息至所述客户端。
所述数据分散存储系统包括:接收模块,用于接收客户端写入数据的请求;保存模块,用于在第一存储子节点上保存客户端请求写入的数据;记录模块,用于建立数据摘要列表,记录此次保存的数据的摘要信息;传送模块,用于传送数据写入的反馈信息至所述客户端。
相较于现有技术,所述的数据分散存储方法及系统,能够在某一个存储子节点完成存储后,就反馈写入完成信息,然后再将该存储子节点上的数据复制到其他存储子节点上,达到存储多份的目的,并缩短写入响应时间,提高效率。
附图说明
图1是本发明数据分散存储系统较佳实施例的运行环境图。
图2是本发明数据分散存储系统较佳实施例的功能模块图。
图3是本发明数据分散存储方法的存储过程较佳实施例的流程图。
图4是本发明数据分散存储方法的同步过程较佳实施例的流程图。
图5是本发明所使用的数据摘要列表较佳实施例的示意图。
主要元件符号说明
存储服务端 | 1 |
客户端 | 2 |
数据分散存储系统 | 10 |
存储子节点 | 20 |
数据摘要列表 | 30 |
接收模块 | 101 |
分配模块 | 102 |
保存模块 | 103 |
记录模块 | 104 |
传送模块 | 105 |
获取模块 | 106 |
判断模块 | 107 |
读取模块 | 108 |
复制模块 | 109 |
修改模块 | 110 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
参阅图1所示,是本发明数据分散存储系统较佳实施例的运行环境图。所述数据分散存储系统10运行于存储服务端1中。所述存储服务端1连接于客户端2,接收客户端2写入数据的请求,并进行数据分散存储。所述存储服务端1还连接于多个存储子节点20(图中示出两个作为代表),将客户端2要求写入的数据分散存储在所述多个存储子节点20上。
在本实施例中,所述存储服务端1与各个存储子节点20可以在同一个服务器上,也可以在不同的服务器上。一般情况下,为了保障数据存储的安全性,会将数据分散存储于多个不同的存储器或服务器上,以避免数据丢失。也就是说,所述多个存储子节点20分别位于不同的存储器或服务器中。
参阅图2所示,是本发明数据分散存储系统较佳实施例的功能模块图。
所述数据分散存储系统10包括接收模块101、分配模块102、保存模块103、记录模块104、传送模块105、获取模块106、判断模块107、读取模块108、复制模块109及修改模块110。
所述接收模块101用于接收客户端2写入数据的请求。
所述分配模块102用于根据客户端2的要求或者存储服务端1的剩余存储空间等条件,将写入数据的任务分配给合适的存储子节点20(第一存储子节点)。例如,若客户端2要求将数据保存到存储子节点a上,或者存储子节点a的剩余存储空间最大,则将写入数据的任务分配给存储子节点a。
所述保存模块103用于在被分配的存储子节点20(第一存储子节点)上保存客户端2请求写入的数据。在本实施例中,若第一存储子节点保存数据失败,则直接通过传送模块105反馈写入失败信息至客户端2,不用继续执行保存或复制数据的过程。
所述记录模块104用于建立数据摘要列表30,记录此次保存的数据的摘要信息(参阅图5所示)。在本实施例中,所述摘要信息包括但不限于:数据保存地址、哈希(hash)值、待同步状态。所述数据保存地址在此次保存中即为第一存储子节点的地址。所述哈希值用于检测数据完整性。所述待同步状态包括需要用来保存该数据的各个存储子节点20上,该数据当前的保存情况,可以用1表示已保存,用0表示未保存。在其他实施例中,还可以用2来表示正在保存中,等等。
例如,在图5所示的数据摘要列表中,序号为1的数据需要被保存到存储子节点a和存储子节点b上。其中,存储子节点a上(状态a)已经保存(1),存储子节点b上(状态b)还未保存(0)。另外,该数据的数据保存地址为“\user1\2012\fold1\file1”,哈希值为“7D042AE7-AA53-43BB-9396-000742F4B0F2”。
所述传送模块105用于反馈数据写入(即数据保存)完成或失败的信息至所述客户端2。
所述获取模块106用于获取所述数据摘要列表30并查询其中记录的摘要信息。
所述判断模块107用于根据所述摘要信息,判断是否存在未完成同步的数据。在本实施例中,所述判断模块107通过数据的待同步状态,判断该数据是否完成同步。例如,在图5所示的数据摘要列表中,序号为1的数据在存储子节点a上已经保存,在存储子节点b上还未保存,也就是说,该数据在存储子节点b上还未完成同步;序号为2的数据在存储子节点a和存储子节点b上均已经保存,也就是说,该数据已经完成同步。
所述读取模块108用于当存在未完成同步的数据时,根据所述摘要信息,读取所述被分配的存储子节点20(第一存储子节点)上保存的相关数据。在本实施例中,所述摘要信息中记录了数据保存的地址,所述读取模块108根据该地址找到第一存储子节点,读取该存储子节点上保存的数据。
所述复制模块109用于将所读取的数据复制到另一个合适的存储子节点20(第二存储子节点)上。例如,若客户端2要求还要将数据备份到存储子节点b上,或者存储子节点b的剩余存储空间也较大(仅次于存储子节点a),则将所读取的数据复制到存储子节点b上。如图5所示的数据摘要列表30中,所述复制模块109从存储子节点a上读取序号为1的数据,然后将所读取的数据复制到存储子节点b上。
所述修改模块110用于当复制完成后,修改所述数据摘要列表30上对应数据的摘要信息。在本实施例中,主要是修改对应数据的待同步状态。例如,在图5所示的数据摘要列表30中,若序号为1的数据已经从存储子节点a上复制到存储子节点b上,则将该数据对应的状态b修改为1。
本发明数据分散存储方法分为存储过程和同步过程,所述存储过程将客户端请求写入的数据保存到第一存储子节点上并反馈写入完成信息,所述同步过程将第一存储子节点上保存的数据复制到其他存储子节点上。其中,上述模块101-105用于实现存储过程,模块106-110用于实现同步过程。
参阅图3所示,是本发明数据分散存储方法的存储过程较佳实施例的流程图。
步骤S10,所述接收模块101接收客户端2写入数据的请求。
步骤S12,所述分配模块102根据客户端2的要求或者存储服务端1的剩余存储空间等条件,将写入数据的任务分配给合适的存储子节点20(第一存储子节点)。
步骤S14,所述保存模块103用于在被分配的存储子节点20(第一存储子节点)上保存客户端2请求写入的数据。
步骤S16,所述记录模块104建立数据摘要列表30,记录此次保存的数据的摘要信息。
步骤S18,所述传送模块105传送数据写入的反馈信息至所述客户端2。
参阅图4所示,是本发明数据分散存储方法的同步过程较佳实施例的流程图。
步骤S20,所述获取模块106获取所述数据摘要列表30并查询其中记录的摘要信息。
步骤S22,所述判断模块107根据所述摘要信息,判断是否存在未完成同步的数据。若存在未完成同步的数据,则执行步骤S24。若不存在未完成同步的数据,则流程结束。
步骤S24,所述读取模块108根据所述摘要信息,读取所述被分配的存储子节点20(第一存储子节点)上保存的相关数据。
步骤S26,所述复制模块109将所读取的数据复制到另一个合适的存储子节点20(第二存储子节点)上。
步骤S28,当复制完成后,所述修改模块110修改所述数据摘要列表30上对应数据的摘要信息,然后返回步骤S20。
在本实施例中,所述同步过程可以对数据摘要列表30中所有未完成同步的数据进行同步,不限于所述存储过程保存的某一笔数据。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (12)
1.一种数据分散存储方法,其特征在于,该方法包括:
接收步骤:接收客户端写入数据的请求;
保存步骤:在第一存储子节点上保存客户端请求写入的数据;
记录步骤:建立数据摘要列表,记录此次保存的数据的摘要信息;及
传送步骤:传送数据写入的反馈信息至所述客户端。
2.如权利要求1所述的数据分散存储方法,其特征在于,该方法还包括:
获取步骤:获取所述数据摘要列表并查询其中记录的摘要信息;
读取步骤:当所述数据摘要列表中存在未完成同步的数据时,根据所述摘要信息,读取所述第一存储子节点上保存的相关数据;
复制步骤:将所读取的数据复制到第二存储子节点上;及
修改步骤:修改所述数据摘要列表上对应数据的摘要信息。
3.如权利要求2所述的数据分散存储方法,其特征在于,所述第一存储子节点为客户端要求将数据写入的存储子节点,或者剩余存储空间最大的存储子节点,所述第二存储子节点为客户端要求将数据备份的存储子节点,或者剩余存储空间第二大的存储子节点。
4.如权利要求2所述的数据分散存储方法,其特征在于,所述摘要信息包括数据保存地址、哈希值、待同步状态。
5.如权利要求4所述的数据分散存储方法,其特征在于,在所述读取步骤中,通过摘要信息中的数据的待同步状态,判断该数据是否完成同步。
6.如权利要求4所述的数据分散存储方法,其特征在于,在所述读取步骤中,通过摘要信息中的数据保存的地址,找到所述被分配的存储子节点,读取该存储子节点上保存的数据。
7.一种数据分散存储系统,其特征在于,该系统包括:
接收模块,用于接收客户端写入数据的请求;
保存模块,用于第一存储子节点上保存客户端请求写入的数据;
记录模块,用于建立数据摘要列表,记录此次保存的数据的摘要信息;及
传送模块,用于传送数据写入的反馈信息至所述客户端。
8.如权利要求7所述的数据分散存储系统,其特征在于,该系统还包括:
获取模块,用于获取所述数据摘要列表并查询其中记录的摘要信息;
读取模块,用于当所述数据摘要列表中存在未完成同步的数据时,根据所述摘要信息,读取所述第一存储子节点上保存的相关数据;
复制模块,用于将所读取的数据复制到第二存储子节点上;及
修改步骤:修改所述数据摘要列表上对应数据的摘要信息。
9.如权利要求8所述的数据分散存储系统,其特征在于,所述第一存储子节点为客户端要求将数据写入的存储子节点,或者剩余存储空间最大的存储子节点,所述第二存储子节点为客户端要求将数据备份的存储子节点,或者剩余存储空间第二大的存储子节点。
10.如权利要求8所述的数据分散存储系统,其特征在于,所述摘要信息包括数据保存地址、哈希值、待同步状态。
11.如权利要求10所述的数据分散存储系统,其特征在于,所述读取模块读取所述第一存储子节点上保存的相关数据之前,通过摘要信息中的数据的待同步状态,判断该数据是否完成同步。
12.如权利要求10所述的数据分散存储系统,其特征在于,所述读取模块通过摘要信息中的数据保存的地址,找到所述被分配的存储子节点,读取该存储子节点上保存的数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210561651.9A CN103888496A (zh) | 2012-12-22 | 2012-12-22 | 数据分散存储方法及系统 |
TW101149878A TW201426326A (zh) | 2012-12-22 | 2012-12-25 | 資料分散儲存方法及系統 |
US14/133,376 US20140181237A1 (en) | 2012-12-22 | 2013-12-18 | Server and method for storing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210561651.9A CN103888496A (zh) | 2012-12-22 | 2012-12-22 | 数据分散存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103888496A true CN103888496A (zh) | 2014-06-25 |
Family
ID=50957214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210561651.9A Pending CN103888496A (zh) | 2012-12-22 | 2012-12-22 | 数据分散存储方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140181237A1 (zh) |
CN (1) | CN103888496A (zh) |
TW (1) | TW201426326A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704201A (zh) * | 2017-09-11 | 2018-02-16 | 厦门集微科技有限公司 | 数据存储处理方法及装置 |
CN110674511A (zh) * | 2019-08-30 | 2020-01-10 | 深圳壹账通智能科技有限公司 | 基于椭圆曲线加密算法的离线数据保护方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645039A (zh) * | 2009-06-02 | 2010-02-10 | 中国科学院声学研究所 | 一种基于彼得森图的数据存储和读取方法 |
CN101674257A (zh) * | 2008-09-10 | 2010-03-17 | 阿里巴巴集团控股有限公司 | 一种消息存储方法、装置及一种消息处理系统 |
CN102265277A (zh) * | 2011-06-01 | 2011-11-30 | 华为技术有限公司 | 数据存储系统的操作方法和装置 |
-
2012
- 2012-12-22 CN CN201210561651.9A patent/CN103888496A/zh active Pending
- 2012-12-25 TW TW101149878A patent/TW201426326A/zh unknown
-
2013
- 2013-12-18 US US14/133,376 patent/US20140181237A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674257A (zh) * | 2008-09-10 | 2010-03-17 | 阿里巴巴集团控股有限公司 | 一种消息存储方法、装置及一种消息处理系统 |
CN101645039A (zh) * | 2009-06-02 | 2010-02-10 | 中国科学院声学研究所 | 一种基于彼得森图的数据存储和读取方法 |
CN102265277A (zh) * | 2011-06-01 | 2011-11-30 | 华为技术有限公司 | 数据存储系统的操作方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704201A (zh) * | 2017-09-11 | 2018-02-16 | 厦门集微科技有限公司 | 数据存储处理方法及装置 |
CN107704201B (zh) * | 2017-09-11 | 2020-07-31 | 厦门集微科技有限公司 | 数据存储处理方法及装置 |
CN110674511A (zh) * | 2019-08-30 | 2020-01-10 | 深圳壹账通智能科技有限公司 | 基于椭圆曲线加密算法的离线数据保护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
TW201426326A (zh) | 2014-07-01 |
US20140181237A1 (en) | 2014-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843702B (zh) | 一种用于数据备份的方法以及装置 | |
WO2017049764A1 (zh) | 数据读写方法及分布式存储系统 | |
US11841844B2 (en) | Index update pipeline | |
US9547706B2 (en) | Using colocation hints to facilitate accessing a distributed data storage system | |
US20150213100A1 (en) | Data synchronization method and system | |
US20150261626A1 (en) | Data restoration method and system | |
CN104077380B (zh) | 一种重复数据删除方法、装置及系统 | |
US9405643B2 (en) | Multi-level lookup architecture to facilitate failure recovery | |
US20190121793A1 (en) | Data updating method and device for a distributed database system | |
US10055475B2 (en) | Authentication system, synchronization method, and authentication apparatus | |
CN103973810A (zh) | 基于互联网协议ip盘的数据处理方法和装置 | |
CN105574187A (zh) | 一种异构数据库复制事务一致性保障方法及系统 | |
CN104217174A (zh) | 分布式文件安全存储系统及其存储方法 | |
CN109460438B (zh) | 消息数据存储方法、装置、计算机设备和存储介质 | |
CN105376277A (zh) | 一种数据同步方法及装置 | |
US20150006485A1 (en) | High Scalability Data Management Techniques for Representing, Editing, and Accessing Data | |
KR20190026846A (ko) | 데이터베이스 데이터 수정 요청 처리 방법 및 장치 | |
CN104750755A (zh) | 一种数据库主备切换后的数据回补方法及系统 | |
US9513996B2 (en) | Information processing apparatus, computer-readable recording medium having stored program for controlling information processing apparatus, and method for controlling information processing apparatus | |
CN102479118A (zh) | 数据块的增量备份方法 | |
US10671572B2 (en) | Storage of log-structured data | |
US20170235781A1 (en) | Method, server and computer program stored in computer readable medium for managing log data in database | |
CN103888496A (zh) | 数据分散存储方法及系统 | |
CN104572339A (zh) | 基于分布式文件系统的数据备份还原系统及方法 | |
US11003540B2 (en) | Method, server, and computer readable medium for index recovery using index redo log |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140625 |
|
WD01 | Invention patent application deemed withdrawn after publication |