CN109117093B - 保证分布式对象存储中的数据、流量、容量一致性的方法 - Google Patents
保证分布式对象存储中的数据、流量、容量一致性的方法 Download PDFInfo
- Publication number
- CN109117093B CN109117093B CN201810947421.3A CN201810947421A CN109117093B CN 109117093 B CN109117093 B CN 109117093B CN 201810947421 A CN201810947421 A CN 201810947421A CN 109117093 B CN109117093 B CN 109117093B
- Authority
- CN
- China
- Prior art keywords
- capacity
- log
- data
- flow
- state
- 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.)
- Active
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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/0653—Monitoring storage devices or 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]
Abstract
本发明公开了一种保证分布式对象存储中的数据、流量、容量一致性的方案,在分布式对象存储中,需要保证数据,流量统计和容量统计的一致性,不但能保证数据写入过程中的数据,流量统计,容量统计的一致性,还能保证可扩展性,同时对性能的影响也不高。
Description
技术领域
本发明涉及分布式对象存储中的数据,流量统计,容量统计的一致性问题,具体是一种保证分布式对象存储中的数据、流量、容量一致性的方法。
背景技术
本方案是一种分布式的对象存储中的数据,流量统计,容量统计的一致性保证方案。在分布式对象存储中,需要保证数据,流量统计和容量统计的一致性,由于在数据写入/修改的过程中,会面临多种异常,任何一种异常都可能导致数据,流量,容量的不一致问题,在常用的解决方案中(如使用mysql事务),在分布式,大规模的数据请求场景下,这样的方式非常容易成为存储系统的性能瓶颈所在,所以需要一种全新的办法来解决数据,流量,容量的一致性问题,同时又能保证不会成为性能瓶颈。
适用于大规模的分布式对象存储,并不支持随机写入,追加写入的场景。
发明内容
本发明的目的在于提供一种保证分布式对象存储中的数据、流量、容量一致性的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种保证分布式对象存储中的数据、流量、容量一致性的方法,其具体方法步骤如下:
(1)对于所有的对象数据写入请求,都先记录操作日志,并带状态;
(2)对于数据已经落入存储完成后,改变操作日志的状态,直接响应数据写入;
(3)同时另一个异步线程不断的查询操作的日志的状态,根据不同的日志状态做不同的处理。
作为本发明进一步的方案:所述步骤(1)中的操作日志为分布式,能够包装扩展性,状态为初始状态。
作为本发明进一步的方案:所述步骤(2)中的操作日志状态为数据写入状态,响应数据写入为告知数据写入请求完成。
作为本发明进一步的方案:所述步骤(3)中的操作日志的状态为初始状态,如果没超时,则认为数据还在写入,不做任何处理,如果超时,则认为数据写入失败,将会根据操作日志的内容,做数据回滚。
作为本发明进一步的方案:所述步骤(3)中的操作日志的状态为写入状态,这个状态表明数据已经成功写入磁盘,那么就会分析这次的操作对容量的影响,如删除操作,容量减少,增加操作,容量增加,并根据容量的变化下,修改容量值,同时在容量值中记录修改日。
作为本发明进一步的方案:修改操作日志的状态为容量已统计,清除容量值中的修改日志,修改操作日志的状态为容量统计完成。
作为本发明进一步的方案:所述步骤(3)中的操作日志的状态为容量统计完成,那么就会开始分析操作对流量统计的影响,并修改流量的统计值,同时在容量值中记录流量修改日志。
作为本发明进一步的方案:修改操作日志的状态为流量已统计,清除流量值中的修改日志,修改操作日志的状态为流量统计完成。
作为本发明进一步的方案:所述记录修改日志中记录容量值被谁修改。
作为本发明进一步的方案:所述记录流量修改日志中记录流量值被谁修改。
与现有技术相比,本发明的有益效果是:提供了一种新的高性能数据一致性方案,不但能保证数据写入过程中的数据,流量统计,容量统计的一致性,还能保证可扩展性,同时对性能的影响也不高。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,一种保证分布式对象存储中的数据、流量、容量一致性的方法,其具体方法步骤如下:
(1)对于所有的对象数据写入请求,都先记录操作日志,并带状态,操作日志为分布式,能够包装扩展性,状态为初始状态。
(2)对于数据已经落入存储完成后,改变操作日志的状态,直接响应数据写入,操作日志状态为数据写入状态,响应数据写入为告知数据写入请求完成。
(3)同时另一个异步线程不断的查询操作的日志的状态,根据不同的日志状态做不同的处理:
S1操作日志的状态为初始状态,如果没超时,则认为数据还在写入,不做任何处理,如果超时,则认为数据写入失败,将会根据操作日志的内容,做数据回滚;
S2操作日志的状态为写入状态,这个状态表明数据已经成功写入磁盘,那么就会分析这次的操作对容量的影响,如删除操作,容量减少,增加操作,容量增加,并根据容量的变化下,修改容量值,同时在容量值中记录修改日;
S3修改操作日志的状态为容量已统计;
S4清除容量值中的修改日志;
S5修改操作日志的状态为容量统计完成;
S6操作日志的状态为容量统计完成,那么就会开始分析操作对流量统计的影响,并修改流量的统计值,同时在容量值中记录流量修改日志;
S7修改操作日志的状态为流量已统计;
S8清除流量值中的修改日志;
S9修改操作日志的状态为流量统计完成;
S10清理备份,标记操作完成。
一致性分析:
1、当具体实施方式中的(1)、(2)中数据异常,那么(3)中的S1内异步线程会根据操作日志,超时时间,就认为数据写入失败,清理数据。
2、如果在具体实施的S2、S3异常,操作日志的状态仍为写入状态,那么需要分析容量值修改记录中是否有被本次操作日志修改的记录,有的话,说明容量已统计,做具体实施的S3,如果没有,则重做具体实施的S2。
3、如果在具体实施的S4、S5异常,重做具体实施的S4、S5。
4、如果在具体实施的S6、S7异常,操作日志的状态仍为容量统计完成,那么需要分析流量值修改记录中是否有被本次操作日志修改的记录,有的话,说明流量已统计,做具体实施的S7,如果没有,则重做具体实施的S6。
5、如果在具体实施的S8、S9、S10异常,重做具体实施的S8、S9、S10。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (4)
1.一种保证分布式对象存储中的数据、流量、容量一致性的方法,其特征在于,其方法步骤如下:
(1)对于所有的对象数据写入请求,都先记录操作日志,并带状态;
(2)对于数据已经落入存储完成后,改变操作日志的状态,直接响应数据写入;
(3)同时另一个异步线程不断的查询操作的日志的状态,根据不同的日志状态做不同的处理;
所述步骤(3)中的操作日志的状态为写入状态,这个状态表明数据已经成功写入磁盘,那么就会分析这次的操作对容量的影响,删除操作,容量减少,增加操作,容量增加,并根据容量的变化下,修改容量值,同时在容量值中记录修改日志;修改操作日志的状态为容量已统计,清除容量值中的修改日志,修改操作日志的状态为容量统计完成;所述记录修改日志中记录容量值被谁修改;
所述步骤(3)中的操作日志的状态为容量统计完成,那么就会开始分析操作对流量统计的影响,并修改流量的统计值,同时在容量值中记录流量修改日志;修改操作日志的状态为流量已统计,清除流量值中的修改日志,修改操作日志的状态为流量统计完成;所述记录流量修改日志中记录流量值被谁修改。
2.根据权利要求1所述的一种保证分布式对象存储中的数据、流量、容量一致性的方法,其特征在于,所述步骤(1)中的操作日志为分布式,能够包装扩展性,状态为初始状态。
3.根据权利要求1所述的一种保证分布式对象存储中的数据、流量、容量一致性的方法,其特征在于,所述步骤(2)中的操作日志状态为数据写入状态,响应数据写入为告知数据写入请求完成。
4.根据权利要求1所述的一种保证分布式对象存储中的数据、流量、容量一致性的方法,其特征在于,所述步骤(3)中的操作日志的状态为初始状态,如果没超时,则认为数据还在写入,不做任何处理,如果超时,则认为数据写入失败,将会根据操作日志的内容,做数据回滚。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947421.3A CN109117093B (zh) | 2018-08-20 | 2018-08-20 | 保证分布式对象存储中的数据、流量、容量一致性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947421.3A CN109117093B (zh) | 2018-08-20 | 2018-08-20 | 保证分布式对象存储中的数据、流量、容量一致性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117093A CN109117093A (zh) | 2019-01-01 |
CN109117093B true CN109117093B (zh) | 2021-10-01 |
Family
ID=64852443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810947421.3A Active CN109117093B (zh) | 2018-08-20 | 2018-08-20 | 保证分布式对象存储中的数据、流量、容量一致性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109117093B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101133397A (zh) * | 2004-10-14 | 2008-02-27 | 甲骨文国际公司 | 用于直连客户端服务器系统中的在线恢复的操作日志记录 |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件系统元数据管理方法 |
CN102368267A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种维护分布式系统中副本一致性的方法 |
CN102662795A (zh) * | 2012-03-20 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种分布式存储系统中元数据容错恢复方法 |
CN102750322A (zh) * | 2012-05-22 | 2012-10-24 | 中国科学院计算技术研究所 | 一种机群文件系统分布式元数据一致性保证方法和系统 |
CN105718217A (zh) * | 2016-01-18 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种精简配置存储池数据一致性维护的方法及装置 |
CN106250320A (zh) * | 2016-07-19 | 2016-12-21 | 诸葛晴凤 | 一种数据一致性及磨损均衡的内存文件系统管理方法 |
CN107426265A (zh) * | 2016-03-11 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 数据一致性同步的方法及设备 |
CN107590286A (zh) * | 2017-10-10 | 2018-01-16 | 郑州云海信息技术有限公司 | 在集群文件系统中事务信息的管理方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100561229B1 (ko) * | 2003-12-23 | 2006-03-15 | 한국전자통신연구원 | 데이터베이스 이중화 장치 및 그 방법 |
CN101277226A (zh) * | 2007-03-30 | 2008-10-01 | 上海东华广播电视网络有限公司 | 基于DU Meter的网络流量统计方法 |
CN102567445B (zh) * | 2011-10-25 | 2014-07-02 | 无锡城市云计算中心有限公司 | 一种分布式文件系统中保证元数据一致性的方法 |
CN103077222B (zh) * | 2012-12-31 | 2016-01-27 | 中国科学院计算技术研究所 | 机群文件系统分布式元数据一致性保证方法及系统 |
US9760596B2 (en) * | 2013-05-13 | 2017-09-12 | Amazon Technologies, Inc. | Transaction ordering |
CN103729479A (zh) * | 2014-01-26 | 2014-04-16 | 北京北纬通信科技股份有限公司 | 基于分布式文件存储的网站页面内容统计的方法和系统 |
CN105589887B (zh) * | 2014-10-24 | 2020-04-03 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN107633045B (zh) * | 2017-09-15 | 2021-05-11 | 龙存(苏州)科技有限公司 | 一种云存储服务中租户数据容量的统计方法及其系统 |
-
2018
- 2018-08-20 CN CN201810947421.3A patent/CN109117093B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101133397A (zh) * | 2004-10-14 | 2008-02-27 | 甲骨文国际公司 | 用于直连客户端服务器系统中的在线恢复的操作日志记录 |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件系统元数据管理方法 |
CN102368267A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种维护分布式系统中副本一致性的方法 |
CN102662795A (zh) * | 2012-03-20 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种分布式存储系统中元数据容错恢复方法 |
CN102750322A (zh) * | 2012-05-22 | 2012-10-24 | 中国科学院计算技术研究所 | 一种机群文件系统分布式元数据一致性保证方法和系统 |
CN105718217A (zh) * | 2016-01-18 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种精简配置存储池数据一致性维护的方法及装置 |
CN107426265A (zh) * | 2016-03-11 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 数据一致性同步的方法及设备 |
CN106250320A (zh) * | 2016-07-19 | 2016-12-21 | 诸葛晴凤 | 一种数据一致性及磨损均衡的内存文件系统管理方法 |
CN107590286A (zh) * | 2017-10-10 | 2018-01-16 | 郑州云海信息技术有限公司 | 在集群文件系统中事务信息的管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109117093A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086850B2 (en) | Persisting of a low latency in-memory database | |
CN102033786B (zh) | 一种对象存储系统中修复副本一致性的方法 | |
CN107426265A (zh) | 数据一致性同步的方法及设备 | |
CN107391269B (zh) | 一种用于通过持久化队列处理消息的方法与设备 | |
US20090063807A1 (en) | Data redistribution in shared nothing architecture | |
CN104239444B (zh) | Oracle数据库用的一致性数据保护与捕获一致性状态的方法 | |
WO2011110542A1 (en) | Buffer disk in flashcopy cascade | |
EP3089051B1 (en) | Database rollback using wal | |
CN109710456B (zh) | 一种数据恢复方法及装置 | |
CN103164528B (zh) | 一种音视频数据的索引建立方法 | |
WO2015103933A1 (zh) | 访问数据的方法及装置 | |
WO2014075586A1 (zh) | 一种jbod阵列自动恢复存储的方法和装置 | |
CN103744751B (zh) | 存储设备配置信息连续优化备份系统及其使用方法 | |
CN103207916B (zh) | 元数据处理的方法和装置 | |
CN109117093B (zh) | 保证分布式对象存储中的数据、流量、容量一致性的方法 | |
CN111290881B (zh) | 一种数据恢复方法、装置、设备及存储介质 | |
CN103729301B (zh) | 数据处理方法和装置 | |
US7600151B2 (en) | RAID capacity expansion interruption recovery handling method and system | |
CN103399714B (zh) | 存储设备配置信息的维护系统及其使用方法 | |
WO2024077863A1 (zh) | 一种全闪存储系统的恢复方法及相关装置 | |
CN107357686A (zh) | 一种日志删除方法及装置 | |
CN110658993A (zh) | 一种快照回滚方法、装置、设备及存储介质 | |
CN106254806A (zh) | 一种录像数据保护方法和装置 | |
CN113849123A (zh) | 一种慢盘的数据处理方法、系统、设备以及介质 | |
CN111143343A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |