CN111245933A - 一种基于日志的对象存储追加写实现方法 - Google Patents
一种基于日志的对象存储追加写实现方法 Download PDFInfo
- Publication number
- CN111245933A CN111245933A CN202010025164.5A CN202010025164A CN111245933A CN 111245933 A CN111245933 A CN 111245933A CN 202010025164 A CN202010025164 A CN 202010025164A CN 111245933 A CN111245933 A CN 111245933A
- Authority
- CN
- China
- Prior art keywords
- target object
- data
- writing
- object storage
- metadata
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Abstract
本发明公开了一种基于日志的对象存储追加写实现方法,包括:客户端发送追加写请求;对象存储Web端处理层检查请求参数的合法性;对象存储处理层进行对象合法性检查,检查通过,判断目标对象是否存在;若目标对象存在,解析目标对象的元数据,并根据目标对象类型以对应方式写入待追加的数据;若目标对象不存在,初始化目标对象的条带信息,以新的条带为开始位置写入待追加的数据;把元数据写入目标对象的头对象中;元数据更新完成,对象存储系统返回响应信息给客户端。在不需要重复上传原始对象文件的前提下实现数据追加合成,同时在上传数据的时候记录日志避免意外中断导致数据丢失。
Description
技术领域
本发明涉及分布式对象存储系统领域,尤其涉及基于日志的Ceph(一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统)对象存储追加写实现方法。
背景技术
随着物联网,云计算,大数据、以及5G等技术的发展。医疗,电信,互联网,政企,等行业应用的快速发展,促使海量数据快速增长,对传统的存储系统造成很大的挑战,对象存储作为新兴的存储技术在越来越多的行业得到广泛使用。相对于传统的文件系统,对象存储摒弃了文件系统复杂的目录和语义设计,通过扁平化的键值方式进行数据存储,大大简化了元数据管理的复杂度,在存储容量上几乎没有限制,从而更加适用于当今各种行业的海量数据存储,特别是大数据行业的应用场景。随着5G和超高清码率的推广应用,音频,视频文件的大小从原有的几十G增长到几百G,对于单一存储系统所需要的存储容量也从传统的几百TB增长到PB级,甚至几十PB级。对于大容量的存储系统,通常都是采用对象存储系统以支撑海量数据的存储和应用。
在媒体应用场景中,对象存储成为了热点音视频文件的主流存储方式,经常需要对音频,视频文件进行边读取,边编辑的方式处理数据。但是由于目前对象存储IO(输入输出)特性的局限性,不支持追加写操作,只允许覆盖写操作,因此对象存储急需一种能支撑用户边读取,边编辑的新的IO处理方式,以迎合市场不断的变化,加强市场的竞争力。
发明内容
本发明的目的在于提供一种基于日志的对象存储追加写实现方法,在不需要重复上传原始对象文件的前提下实现数据追加合成,同时在上传数据的时候记录日志避免意外中断导致数据丢失。
实现上述目的的技术方案是:
一种基于日志的对象存储追加写实现方法,包括:
通过客户端发送追加写请求给对象存储系统;
对象存储系统的对象存储Web(全球广域网)端处理层检查追加写请求参数的合法性,若检查失败,返回错误;若检查通过,将追加写请求转发到对象存储处理层;
对象存储处理层记录日志状态为数据初始化,并进行对象合法性检查,若检查失败,返回错误;若检查通过,判断目标对象是否存在;
若目标对象存在,更新日志状态为写入数据,解析目标对象的元数据并判断目标对象类型,根据目标对象类型以对应方式写入待追加的数据;
若目标对象不存在,更新日志状态为写入数据,初始化目标对象的条带信息,然后从第一个分片开始,以新的条带为开始位置写入待追加的数据;
对象存储处理层更新日志状态为数据处理完成,把元数据写入目标对象的头对象中;
元数据更新完成,待所有操作成功后记录日志,对象存储系统返回响应信息给客户端。
优选的,客户端通过对象存储系统提供的RESTful(RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义)API(应用程序接口)接口发送追加写请求给对象存储系统;
对象存储系统通过RESTful API接口返回响应信息给客户端。
优选的,所述的追加写请求的请求参数包括目标对象名称和目标对象的实际大小。
优选的,所述的对象合法性检查包括:对象权限校验和对象长度检查。
优选的,元数据包括修改时间、分片信息以及修改后总数据长度。
优选的,若目标对象为整体上传对象,则依据目标对象的元数据信息,获取目标对象的最后一个底层对象,把待追加的数据从末尾开始写入;
若目标对象类型为分段上传对象,则依据目标对象的元数据信息,获取分片号码,并使其和目标对象分片号码连续,以新的条带为开始位置写入待追加的数据。
本发明的有益效果是:本发明提供给业务系统使用,无需重复上传原有对象,节约存储系统资源,减少对象的上传时间,并大大提升了应用系统的业务效率。同时,在原有追加写的基础上拓宽了追加写方法的使用范围,使追加写不再局限于类型为追加对象的追加写,也支持Automic Object(整体上传对象),Multpart Object(分段上传对象)对象的追加写,使写入更加灵活。另外,本发明在日志保护机制加固下,一定程度上保证了异常中断后,数据不会丢失的问题,从而增加了系统的可靠性。而且,对于业务系统而言无需感知追加的目标对象是Automic Object还是Multpart Object,保持RESTful API接口不变的前提下,系统内部自动识别目标对象类型进行数据处理,能够确保与市场绝大多数对象存储系统使用的兼容,从而提升用户使用体验。
附图说明
图1是本发明的基于日志的对象存储追加写实现方法的流程图。
具体实施方式
下面将结合附图对本发明作进一步说明。
请参阅图1,本发明的基于日志的对象存储追加写实现方法,包括下列步骤:
S1、客户端通过对象存储系统提供的RESTful API接口发送追加写请求给对象存储系统。追加写请求的请求参数包括目标对象名称和目标对象的实际大小。
S2、对象存储系统的对象存储Web端处理层检查追加写请求参数的合法性(即:对象大小字段输入是否为空或者内容是否是全数字;追加请求关键字段得值是否为append),若检查失败,返回错误;若检查通过,将追加写请求转发到对象存储处理层。
S3、对象存储处理层记录日志状态为数据初始化,并进行对象合法性检查,若检查失败,返回错误;若检查通过,判断目标对象是否存在。对象合法性检查包括:对象权限校验(即:比较请求用户的ACL访问控制信息和目标对象元数据中的ACL访问控制信息是否相等)和对象长度检查(即:比较请求传入的位置长度大小和目标对象元数据中保存的长度是否相等)。
S31、若目标对象存在,更新日志状态为写入数据,解析目标对象的元数据并判断目标对象类型,根据目标对象类型以对应方式写入待追加的数据。若目标对象类型为Automic Object,则依据目标对象的元数据信息,获取目标对象的最后一个底层对象(最后一个Raods对象),把待追加的数据从末尾开始写入。若目标对象类型为Multpart Object,则依据目标对象的元数据信息,获取分片号码,并使其和目标对象分片号码连续,以新的条带(条带从0开始)为开始位置写入待追加的数据
S32、若目标对象不存在,更新日志状态为写入数据,初始化目标对象的条带信息,然后分片从1开始(从第一个分片开始),以新的条带为开始位置写入待追加的数据。
S4、对象存储处理层更新日志状态为数据处理完成,把元数据写入目标对象的头对象中。元数据包括修改时间、分片信息以及修改后总数据长度。
S5、元数据更新完成,待所有操作成功后记录日志,对象存储系统通过RESTfulAPI接口返回响应信息给客户端。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
Claims (6)
1.一种基于日志的对象存储追加写实现方法,其特征在于,包括:
通过客户端发送追加写请求给对象存储系统;
对象存储系统的对象存储Web端处理层检查追加写请求参数的合法性,若检查失败,返回错误;若检查通过,将追加写请求转发到对象存储处理层;
对象存储处理层记录日志状态为数据初始化,并进行对象合法性检查,若检查失败,返回错误;若检查通过,判断目标对象是否存在;
若目标对象存在,更新日志状态为写入数据,解析目标对象的元数据并判断目标对象类型,根据目标对象类型以对应方式写入待追加的数据;
若目标对象不存在,更新日志状态为写入数据,初始化目标对象的条带信息,然后从第一个分片开始,以新的条带为开始位置写入待追加的数据;
对象存储处理层更新日志状态为数据处理完成,把元数据写入目标对象的头对象中;
元数据更新完成,待所有操作成功后记录日志,对象存储系统返回响应信息给客户端。
2.根据权利要求1所述的基于日志的对象存储追加写实现方法,其特征在于,客户端通过对象存储系统提供的RESTful API接口发送追加写请求给对象存储系统;
对象存储系统通过RESTful API接口返回响应信息给客户端。
3.根据权利要求1所述的基于日志的对象存储追加写实现方法,其特征在于,所述的追加写请求的请求参数包括目标对象名称和目标对象的实际大小。
4.根据权利要求1所述的基于日志的对象存储追加写实现方法,其特征在于,所述的对象合法性检查包括:对象权限校验和对象长度检查。
5.根据权利要求1所述的基于日志的对象存储追加写实现方法,其特征在于,元数据包括修改时间、分片信息以及修改后总数据长度。
6.根据权利要求1所述的基于日志的对象存储追加写实现方法,其特征在于,
若目标对象为整体上传对象,则依据目标对象的元数据信息,获取目标对象的最后一个底层对象,把待追加的数据从末尾开始写入;
若目标对象类型为分段上传对象,则依据目标对象的元数据信息,获取分片号码,并使其和目标对象分片号码连续,以新的条带为开始位置写入待追加的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010025164.5A CN111245933A (zh) | 2020-01-10 | 2020-01-10 | 一种基于日志的对象存储追加写实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010025164.5A CN111245933A (zh) | 2020-01-10 | 2020-01-10 | 一种基于日志的对象存储追加写实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111245933A true CN111245933A (zh) | 2020-06-05 |
Family
ID=70878187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010025164.5A Pending CN111245933A (zh) | 2020-01-10 | 2020-01-10 | 一种基于日志的对象存储追加写实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245933A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114757A (zh) * | 2020-09-28 | 2020-12-22 | 北京百度网讯科技有限公司 | 对象存储系统中的存储方法及系统、计算设备和介质 |
CN112988899A (zh) * | 2021-04-02 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种追加数据同步方法、系统、存储介质及设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316273A (zh) * | 2008-05-12 | 2008-12-03 | 华中科技大学 | 一种分布式安全存储系统 |
CN101674334A (zh) * | 2009-09-30 | 2010-03-17 | 华中科技大学 | 一种网络存储设备的访问控制方法 |
CN102024016A (zh) * | 2010-11-04 | 2011-04-20 | 天津曙光计算机产业有限公司 | 一种分布式文件系统快速数据恢复的方法 |
CN102685148A (zh) * | 2012-05-31 | 2012-09-19 | 清华大学 | 一种云存储环境下的安全网盘系统的实现方法 |
CN103327002A (zh) * | 2013-03-06 | 2013-09-25 | 西安电子科技大学 | 基于属性的云存储访问控制系统 |
CN105302488A (zh) * | 2015-10-27 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种存储系统的数据写入方法及系统 |
CN105357201A (zh) * | 2015-11-12 | 2016-02-24 | 中国科学院信息工程研究所 | 一种对象云存储访问控制方法和系统 |
CN105468295A (zh) * | 2015-11-14 | 2016-04-06 | 华中科技大学 | 一种实现对象存储的安全防护访问方法及系统 |
US20190036703A1 (en) * | 2017-07-28 | 2019-01-31 | Nexenta Systems, Inc. | Shard groups for efficient updates of, and access to, distributed metadata in an object storage system |
CN109508144A (zh) * | 2018-08-30 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种日志处理方法及相关装置 |
CN109511008A (zh) * | 2018-11-27 | 2019-03-22 | 成都索贝数码科技股份有限公司 | 一种基于对象存储支持视音频文件内容追加的方法 |
CN110456984A (zh) * | 2019-06-21 | 2019-11-15 | 南京壹进制信息科技有限公司 | 一种对Ceph存储的块设备进行连续数据保护的方法 |
CN110531933A (zh) * | 2019-08-23 | 2019-12-03 | 北京浪潮数据技术有限公司 | 数据处理方法及服务器 |
-
2020
- 2020-01-10 CN CN202010025164.5A patent/CN111245933A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316273A (zh) * | 2008-05-12 | 2008-12-03 | 华中科技大学 | 一种分布式安全存储系统 |
CN101674334A (zh) * | 2009-09-30 | 2010-03-17 | 华中科技大学 | 一种网络存储设备的访问控制方法 |
CN102024016A (zh) * | 2010-11-04 | 2011-04-20 | 天津曙光计算机产业有限公司 | 一种分布式文件系统快速数据恢复的方法 |
CN102685148A (zh) * | 2012-05-31 | 2012-09-19 | 清华大学 | 一种云存储环境下的安全网盘系统的实现方法 |
CN103327002A (zh) * | 2013-03-06 | 2013-09-25 | 西安电子科技大学 | 基于属性的云存储访问控制系统 |
CN105302488A (zh) * | 2015-10-27 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种存储系统的数据写入方法及系统 |
CN105357201A (zh) * | 2015-11-12 | 2016-02-24 | 中国科学院信息工程研究所 | 一种对象云存储访问控制方法和系统 |
CN105468295A (zh) * | 2015-11-14 | 2016-04-06 | 华中科技大学 | 一种实现对象存储的安全防护访问方法及系统 |
US20190036703A1 (en) * | 2017-07-28 | 2019-01-31 | Nexenta Systems, Inc. | Shard groups for efficient updates of, and access to, distributed metadata in an object storage system |
CN109508144A (zh) * | 2018-08-30 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种日志处理方法及相关装置 |
CN109511008A (zh) * | 2018-11-27 | 2019-03-22 | 成都索贝数码科技股份有限公司 | 一种基于对象存储支持视音频文件内容追加的方法 |
CN110456984A (zh) * | 2019-06-21 | 2019-11-15 | 南京壹进制信息科技有限公司 | 一种对Ceph存储的块设备进行连续数据保护的方法 |
CN110531933A (zh) * | 2019-08-23 | 2019-12-03 | 北京浪潮数据技术有限公司 | 数据处理方法及服务器 |
Non-Patent Citations (1)
Title |
---|
梁宇彤: ""基于Ceph的分布式异构存储系统数据处理优化研究"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114757A (zh) * | 2020-09-28 | 2020-12-22 | 北京百度网讯科技有限公司 | 对象存储系统中的存储方法及系统、计算设备和介质 |
CN112114757B (zh) * | 2020-09-28 | 2024-04-05 | 北京百度网讯科技有限公司 | 对象存储系统中的存储方法及系统、计算设备和介质 |
CN112988899A (zh) * | 2021-04-02 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种追加数据同步方法、系统、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9912752B1 (en) | Retention-based data management in a network-based data store | |
JP5014784B2 (ja) | 複数のストレージ装置タイプをサポートするネットワーク接続ストレージシステム、装置、および方法 | |
CN106951375B (zh) | 在存储系统中删除快照卷的方法及装置 | |
US9189494B2 (en) | Object file system | |
CN107851122B (zh) | 大规模存储和检索具有良有界生命的数据 | |
CN101707633B (zh) | 一种基于文件系统的消息中间件持久消息的存储方法 | |
US8341119B1 (en) | Flexible copies having different sub-types | |
US8838568B2 (en) | Managing a binary object in a database system | |
CN109918352B (zh) | 存储器系统和存储数据的方法 | |
CN109885577A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN111245933A (zh) | 一种基于日志的对象存储追加写实现方法 | |
US20230273725A1 (en) | Dynamic tape storage device data buffer | |
CN110147203A (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN109189724B (zh) | 提高视频监控系统音视频数据存储效率的方法及装置 | |
CN111274616B (zh) | 基于Ceph对象存储整体上传分段校验的实现方法 | |
JP5159777B2 (ja) | 情報及びメタデータを管理し記憶する装置及び方法 | |
US11474981B2 (en) | Database dual-core storage system based on optical disk and method using the system | |
CN110716696A (zh) | 对象处理方法及相关装置 | |
US11943294B1 (en) | Storage medium and compression for object stores | |
CN110825715B (zh) | 基于Ceph对象存储的多对象数据秒合的实现方法 | |
CN115061630A (zh) | 一种数据迁移方法、装置、设备及介质 | |
CN111796767B (zh) | 一种分布式文件系统及数据管理方法 | |
JP2005165485A (ja) | ファイル管理装置、ストレージ管理システム、システム管理方法、プログラム及び記録媒体 | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 | |
CN112286448A (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: 20200605 |