CN102508890A - 一种对象存储系统中对象一致性操作的方法 - Google Patents
一种对象存储系统中对象一致性操作的方法 Download PDFInfo
- Publication number
- CN102508890A CN102508890A CN2011103265119A CN201110326511A CN102508890A CN 102508890 A CN102508890 A CN 102508890A CN 2011103265119 A CN2011103265119 A CN 2011103265119A CN 201110326511 A CN201110326511 A CN 201110326511A CN 102508890 A CN102508890 A CN 102508890A
- Authority
- CN
- China
- Prior art keywords
- copy
- primary copy
- write
- disk
- primary
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种对象存储系统中对象一致性操作的方法,采用多副本的方式保存对象,同一对象的不同副本存储在不同的OSD上;在同一对象的副本中选定一个为主副本,其余作为从副本,所有修改操作均发给主副本;主副本将修改操作写入内存,然后将修改操作转发给从副本;从副本接收到修改操作后,应答主副本;主副本受到应答后,应答客户端;主副本控制主从的磁盘操作。本发明通过主副本和从副本之间的确认信号的交换,使得每次对元数据的修改,都能使得主从副本之间保持一致,保证了副本间的一致性。
Description
技术领域
本发明涉及计算机存储领域,具体来说,涉及一种基于对象存储系统的多副本访问方法。
背景技术
对象存储技术对外提供对象接口,对象存储系统具有很强的可扩展性、可共享性、跨平台行性、高可靠性以及高可用性等良好性能。对象存储系统具有用户多、网络环境复杂和存储对象类型多种多样等特点,这对对象存储系统在提供持续稳定、高性能的存储服务方面提出了更高的要求。为了保障对象存储系统能够稳定有效地提供高性能存储服务,将副本技术引入对象存储系统,通过创建对象副本,将副本放置在合适的存储节点上,实现I/O请求的就近响应,从而达到降低访问延迟、节约网络带宽、提高系统性能的目的。
多副本的对象存储系统中,保证副本间的一致性是核心的问题,大多数系统都是通过在MDS的控制下进行写操作的,这样的写性能较低。
分布式的系统中,部件之间的网络交互比较频繁,一种操作往往依赖于其他部件的操作结果,单纯通过顺序操作的方式会大大降低系统的效率,因此将任务划分成独立的阶段,当需要等待其他部件的操作结果时,将资源挂起,等待对方完成后唤醒,继续处理,这样大大增加服务器的并发处理能力,提高了系统的性能。
发明内容
本发明的目的在于提供一种高可靠性,高可用性的基于对象存储的对象访问方法。
一种对象存储系统中对象一致性操作的方法,
采用多副本的方式保存对象,同一对象的不同副本存储在不同的OSD上;
在同一对象的副本中选定一个为主副本,其余作为从副本,所有修改操作均发给主副本;
主副本将修改操作写入内存,然后将修改操作转发给从副本;
从副本接收到修改操作后,应答主副本;
主副本受到应答后,应答客户端;
主副本控制主从的磁盘操作。
优选的,所述主副本控制主从的磁盘操作过程为:
主副本像从副本发出写磁盘命令,并且进行本地写磁盘;
从副本接到写磁盘命令后,将数据写入磁盘,并将写入的结果应答主副本;
主副本收到应答后检查是否出现错误,并处理各个从副本的写磁盘错误。
优选的,所述客户端用于用户与系统进行数据交互,客户端提供通用文件系统接口,多客户访问时,采用网络文件系统。
优选的,所述客户端向MDS获取对象的存储信息及副本信息;如果是读操作,则选择可用的副本发送读请求;如果是写操作,则向主副本发送写请求。
优选的,所述OSD响应客户端的请求,如果是读,则读取本地对象信息,返给客户端;如果是写,则先将数据接收到内存,然后转给给从副本,从副本接收到内存后,应答主副本,主副本应答客户端,主副本后端控制主和从的磁盘操作。
优选的,所述操作在每一阶段绑定一类线程;所述阶段包括:本地数据接收,本地内存接收,转发从副本,本地底部处理和磁盘操作。
本发明通过主副本和从副本之间的确认信号的交换,使得每次对元数据的修改,都能使得主从副本之间保持一致,保证了副本间的一致性。
附图说明
图1为系统的交互模型工作过程图。
图2写操作流程图
图3分阶段处理图
图4线程与阶段的关系图
具体实施方式
本发明的数据操作处理过程如下:
1内存操作:
主副本接收客户端的写操作,并将页面缓存在本地;主副本将页面转发给从副本,接收到从副本的应答后,应答客户端写成功。应答客户端后,主从副本的内存是一致的。
2磁盘操作
主副本将内存中的脏页面写入磁盘,并告知从副本写入磁盘。主副本只将应答客户端的脏页面写入磁盘,并告知从副本写入相同的页面,保证主从副本磁盘的一致性。
3分阶段处理
主副本通过分阶段处理方法,提高处理能力,将每一阶段绑定一类线程,资源只阻塞在队里上,线程不因资源阻塞。将阶段分为:本地数据接收、本地内存接收、转发从副本、本地底部处理、磁盘操作几个阶段,与网络相关的处理通过专门模块完成。
数据交互的过程包括客户端与系统的外部数据交互以及系统内部的数据交互。
外部数据交互过程为:用户通过客户端与系统进行数据交互,客户端提供通用文件系统接口,使用时与本地文件系统没有区别,多个客户端访问时,与NFS方式类似。
内部数据交互过程为:客户端向MDS获取对象的存储信息及副本信息;如果是读操作,选择可用的副本发送读请求,如果是写操作,向主副本发送写请求;OSD响应客户端的请求,如果是读,读取本地对象信息,返给客户端,如果是写,先将数据接收到内存,然后转给给从副本,从副本接收到内存后,应答主副本,主副本应答客户端,主副本后端控制主和从的磁盘操作。
下面结合附图做更细地描述:
图1为系统的交互模型工作过程图。
客户端从MDS获取对象的存储位置信息,向主副本发起写操作;主副本将数据接受后,向从副本转发;从副本接受数据后,应答主副本;主副本得到全部从副本应答后,向客户端应答写完成。
图2为系统的主副本写内部处理过程。
1接受来自客户端的页面,通过网络层获取;
2进行本地的内存操作;
3将页面转发给从副本;
4进行磁盘操作。
图3为系统的分阶段处理方式。
1第一阶段,处理本地的内存操作并将数据转发给从副本;
2第二阶段,应答客户端,组织需要写入磁盘的页面,触发第三阶段;
3第三阶段,将需要写入的页面号转发给从副本,本地进行磁盘操作;
4第四阶段,处理写磁盘失败的副本。
图4为各阶段与线程的对应关系。
1第一阶段由thread_master处理,通过网络层接受数据,保存在本地的内存结构中,然后将数据转发给从副本,在网络的回调处理中,触发第二阶段的处理;
2第二阶段由thread_bottom处理,所有副本的写内存完成后,向客户端应答写成功,将完成的页面进行处理后,触发第三阶段的处理;
3第三阶段由thread_disk处理,将已经操作完成的页面通知从副本写入磁盘,本地进行磁盘写入操作,在网络的回调函数中,触发第四阶段的处理;
4第四阶段由thread_bottom处理,如果存在副本写入失败时,进行错误处理。
Claims (6)
1.一种对象存储系统中对象一致性操作的方法,其特征在于:
采用多副本的方式保存对象,同一对象的不同副本存储在不同的OSD上;
在同一对象的副本中选定一个为主副本,其余作为从副本,所有修改操作均发给主副本;
主副本将修改操作写入内存,然后将修改操作转发给从副本;
从副本接收到修改操作后,应答主副本;
主副本受到应答后,应答客户端;
主副本控制主从的磁盘操作。
2.如权利要求1所述的方法,其特征在于:所述主副本控制主从的磁盘操作过程为:
主副本像从副本发出写磁盘命令,并且进行本地写磁盘;
从副本接到写磁盘命令后,将数据写入磁盘,并将写入的结果应答主副本;
主副本收到应答后检查是否出现错误,并处理各个从副本的写磁盘错误。
3.如权利要求1所述的方法,其特征在于:所述客户端用于用户与系统进行数据交互,客户端提供通用文件系统接口,多客户访问时,采用网络文件系统。
4.如权利要求1所述的方法,其特征在于:所述客户端向MDS获取对象的存储信息及副本信息;如果是读操作,则选择可用的副本发送读请求;如果是写操作,则向主副本发送写请求。
5.如权利要求1所述的方法,其特征在于:所述OSD响应客户端的请求,如果是读,则读取本地对象信息,返给客户端;如果是写,则先将数据接收到内存,然后转给给从副本,从副本接收到内存后,应答主副本,主副本应答客户端,主副本后端控制主和从的磁盘操作。
6.如权利要求1所述的方法,其特征在于:所述操作在每一阶段绑定一类线程;所述阶段包括:本地数据接收,本地内存接收,转发从副本,本地底部处理和磁盘操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103265119A CN102508890A (zh) | 2011-10-25 | 2011-10-25 | 一种对象存储系统中对象一致性操作的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103265119A CN102508890A (zh) | 2011-10-25 | 2011-10-25 | 一种对象存储系统中对象一致性操作的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102508890A true CN102508890A (zh) | 2012-06-20 |
Family
ID=46220976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103265119A Pending CN102508890A (zh) | 2011-10-25 | 2011-10-25 | 一种对象存储系统中对象一致性操作的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508890A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530205A (zh) * | 2013-10-23 | 2014-01-22 | 曙光信息产业(北京)有限公司 | 多副本中故障副本的处理方法和装置 |
CN104750756A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团公司 | 一种数据操作方法、设备及元数据存储设备 |
CN107153671A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 一种在分布式系统中实现多文件副本读写的方法与设备 |
CN107493309A (zh) * | 2016-06-13 | 2017-12-19 | 阿里巴巴集团控股有限公司 | 一种分布式系统中的文件写入方法及装置 |
CN109783243A (zh) * | 2018-12-28 | 2019-05-21 | 南京华飞数据技术有限公司 | 一种基于正副本切换的多线程数据无锁读写方法 |
CN112346667A (zh) * | 2021-01-07 | 2021-02-09 | 广东睿江云计算股份有限公司 | 一种ceph存储osd读均衡方法及其系统 |
CN112711376A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 对象存储系统中对象主副本文件的确定方法及装置 |
CN112819592A (zh) * | 2021-04-16 | 2021-05-18 | 深圳华锐金融技术股份有限公司 | 业务请求处理方法、系统、计算机设备和存储介质 |
CN113032352A (zh) * | 2019-12-24 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 副本的配置方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706805A (zh) * | 2009-10-30 | 2010-05-12 | 中国科学院计算技术研究所 | 对象存储方法及其系统 |
CN102033786A (zh) * | 2010-11-04 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种对象存储系统中修复副本一致性的方法 |
-
2011
- 2011-10-25 CN CN2011103265119A patent/CN102508890A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706805A (zh) * | 2009-10-30 | 2010-05-12 | 中国科学院计算技术研究所 | 对象存储方法及其系统 |
CN102033786A (zh) * | 2010-11-04 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种对象存储系统中修复副本一致性的方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530205A (zh) * | 2013-10-23 | 2014-01-22 | 曙光信息产业(北京)有限公司 | 多副本中故障副本的处理方法和装置 |
CN104750756A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团公司 | 一种数据操作方法、设备及元数据存储设备 |
CN107153671A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 一种在分布式系统中实现多文件副本读写的方法与设备 |
CN107153671B (zh) * | 2016-03-02 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 一种在分布式系统中实现多文件副本读写的方法与设备 |
CN107493309A (zh) * | 2016-06-13 | 2017-12-19 | 阿里巴巴集团控股有限公司 | 一种分布式系统中的文件写入方法及装置 |
CN107493309B (zh) * | 2016-06-13 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种分布式系统中的文件写入方法及装置 |
CN109783243A (zh) * | 2018-12-28 | 2019-05-21 | 南京华飞数据技术有限公司 | 一种基于正副本切换的多线程数据无锁读写方法 |
CN112711376A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 对象存储系统中对象主副本文件的确定方法及装置 |
CN113032352A (zh) * | 2019-12-24 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 副本的配置方法、装置、电子设备和存储介质 |
CN112346667A (zh) * | 2021-01-07 | 2021-02-09 | 广东睿江云计算股份有限公司 | 一种ceph存储osd读均衡方法及其系统 |
CN112819592A (zh) * | 2021-04-16 | 2021-05-18 | 深圳华锐金融技术股份有限公司 | 业务请求处理方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508890A (zh) | 一种对象存储系统中对象一致性操作的方法 | |
KR102427561B1 (ko) | Fpga 기반 가속화를 위한 새로운 ssd 구조 | |
US11550819B2 (en) | Synchronization cache seeding | |
US8904061B1 (en) | Managing storage operations in a server cache | |
US20160350013A1 (en) | Method and system for implementing a distributed operations log | |
JP6375056B2 (ja) | ストレージ・クラスタ・システムにおけるコマンドの並列的な実行及びキャンセルを調整するための装置、方法、記憶媒体及びコンピュータ・プログラム | |
US9336146B2 (en) | Accelerating cache state transfer on a directory-based multicore architecture | |
KR102414075B1 (ko) | 페이지 비트맵을 포함하는 효율적인 트랜잭션 테이블 | |
US9489275B2 (en) | Techniques for error handling in parallel splitting of storage commands | |
RU2016122623A (ru) | Система управления базой данных | |
CN103294167B (zh) | 一种基于数据行为的低能耗集群存储复制装置和方法 | |
KR102403653B1 (ko) | Fpga 기반 가속화를 위한 새로운 ssd 구조 | |
US7558937B2 (en) | Disk array device memory having areas dynamically adjustable in size | |
EP3465444A1 (en) | Data access between computing nodes | |
CN103441948A (zh) | 一种数据访问方法、网卡及存储系统 | |
CN111615692A (zh) | 数据搬运方法、计算处理装置、设备及存储介质 | |
JP2004213435A (ja) | 記憶装置システム | |
US8793527B1 (en) | Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network | |
US20080270594A1 (en) | Method and system of separate file storage locations as unified file storage | |
JP2014067357A (ja) | データ転送装置 | |
CN104158863A (zh) | 基于事务级别全程高速缓冲的云存储机制 | |
US20070022218A1 (en) | Network-attached storage device having a connection to a local user device | |
US20170366612A1 (en) | Parallel processing device and memory cache control method | |
CN106250322B (zh) | 一种写数据的方法和装置 | |
WO2019000423A1 (zh) | 一种数据存储方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120620 |