CN104615652B - 一种辅助记录的组织方法 - Google Patents

一种辅助记录的组织方法 Download PDF

Info

Publication number
CN104615652B
CN104615652B CN201410838249.XA CN201410838249A CN104615652B CN 104615652 B CN104615652 B CN 104615652B CN 201410838249 A CN201410838249 A CN 201410838249A CN 104615652 B CN104615652 B CN 104615652B
Authority
CN
China
Prior art keywords
record
page
file
write
organizing
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
Application number
CN201410838249.XA
Other languages
English (en)
Other versions
CN104615652A (zh
Inventor
马照云
杨浩
马振杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuguang Cloud Computing Group Co ltd
Original Assignee
Shuguang Cloud Computing Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shuguang Cloud Computing Group Co Ltd filed Critical Shuguang Cloud Computing Group Co Ltd
Priority to CN201410838249.XA priority Critical patent/CN104615652B/zh
Publication of CN104615652A publication Critical patent/CN104615652A/zh
Application granted granted Critical
Publication of CN104615652B publication Critical patent/CN104615652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种辅助记录的组织方法,该方法包括逻辑日志转化为数据日志并在内存追加记录的过程和文件回收的过程。本发明提供的方法将文件拆分成了小文件,使回收时的内存消耗更加可控,同时,由于回收过程由独立后台线程运行,内存分配失败的代价也大大降低。将耗时的严重影响系统性能的阶段从关键路径剥离出来,提升了关键路径的处理速度,大大提高了用户体验的满意度。

Description

一种辅助记录的组织方法
技术领域
本发明涉及一种分布式文件操作方法,具体涉及一种辅助记录的组织方法。
背景技术
并行存储系统中,经常需要记录一些辅助记录或者索引来达到特定目的,如在创建过程中记录哪些磁盘上保存了该文件的数据,这样我们就能准确的知道那个磁盘上保存了哪些文件,当发生磁盘故障时能够快速的修复这些文件;服务端收到客户端的删除请求时只删除dentry项,并不回收磁盘数据,而是将删除记录下来后应答客户端,后台由独立回收线程完成真正的删除,以达到快速响应用户的目的。
在日志分布式文件系统中,这些记录同样需要记录日志以达到跟元数据相同的保护级别,否则当系统发生掉电等故障时这些记录有可能是不可信的。这些记录具有以下特点:同类型记录之间是独立的,对记录的存储位置没有特别要求,只在需要时能够拿到所有记录,可以含已失效的记录,但有效记录不能缺少。
为了不影响文件系统的并发性能,这些辅助记录所在的事务是不可能在辅助记录锁的保护下进行的,所以这类日志只能记录逻辑日志,利用日志处理线程的无并发特性在预处理时转化成数据日志以保证每条记录在文件内偏移量的唯一性。
这类记录的原有实现方式是每类记录放在同一个文件,当文件中的某个记录无效时,添加一条对消记录,在需要回收该文件时,从头到尾扫描文件记录,如果记录及对消记录同时存在则这两条记录都会被删除,剩余记录放入原文件以达到回收目的。
这种实现方式存在以下问题:
1)回收时可能由于内存不足失败。由于回收时需要将文件内所有记录load到内存并且建立内存hash结构以方便记录及其对消记录配对,当系统内存资源本身就比较紧张的情况下,可能由于内存分配失败导致回收失败。
2)如果日志系统的逻辑日志到数据日志转化过程处于关键路径,这种实现方式是不可接受的,这会使分布式文件系统产生锯齿状性能,甚至1分钟内不能响应用户,严重影响用户体验。这是由于回收会改变文件长度,进而改变新放入记录的偏移量,所以回收过程必须与逻辑日志到数据日志的转化过程互斥,原来的实现方式中回收也在日志处理线程中进行。当记录文件非常大时,即使加上预读机制,这一过程的耗时相对于文件系统的服务能力也是非常大的。对于分布式文件系统是不可接受的。
发明内容
为了克服上述现有技术的不足,本发明提供一种辅助记录组织方法,该方法将记录拆分成多个独立文件进行存放,将耗时的严重影响系统性能的阶段从关键路径剥离出来。使回收时的内存消耗更加可控,同时由于回收过程由独立后台线程运行,内存分配失败的代价也大大降低。
为了实现上述发明目的,本发明采取如下技术方案:
一种辅助记录的组织方法,该方法包括逻辑日志转化为数据日志并在内存追加记录的过程和文件回收的过程。
本发明提供的第一优选技术方案中,所述逻辑日志转化为数据日志并在内存追加记录的过程的步骤如下:
(1)根据逻辑日志查找记录的内存结构;
(2)获取要写入的页号、页内偏移量和页所属的文件号;
(3)从页缓存中获取页并将页引用计数加1;
(4)根据页内剩余空间及本次要追加写入的记录条数将记录拷入页缓存;若页剩余空间不足则将本页放满后分配新页直到将本次写入记录全部放入页缓存;
(5)对新写入的记录生成数据日志,并获取页的引用计数;
(6)更新记录内存结构;
(7)释放从页缓存获取页时所加计数,即将页引用计数减1。
本发明提供的第二优选技术方案中,所述文件回收过程的步骤如下:
(1)找到要回收的记录类型的内存结构;
(2)从最小的文件号开始对每个文件进行扫描;
(3)读取文件号对应的文件中的每一页,并判断页内记录是否仍然有效,若有效则将记录放入临时缓存中;
(4)判断文件内无效记录是否达到初设比例,若没有达到初设比例,则跳转到步骤(3);若达到初设比例,则对临时缓存中的记录生成逻辑日志,并生成删除无效页对应的文件的删除日志。
本发明提供的第三优选技术方案中,所述逻辑日志为操作记录的日志,如添加、修改和删除一项记录。
本发明提供的第四优选技术方案中,所述数据日志为在特定文件的特定偏移量写入具体数据的日志。
与最接近的现有技术相比,本发明的优异效果在于:
本发明提供的技术方案将文件拆分成了小文件,使回收时的内存消耗更加可控,同时,由于回收过程由独立后台线程运行,内存分配失败的代价也大大降低。将耗时的严重影响系统性能的阶段从关键路径剥离出来,提升了关键路径的处理速度,大大提高了用户体验的满意度。
附图说明
图1是磁盘结构示意图;
图2是内存结构示意图;
图3是逻辑日志转为数据日志的流程图;
图4是记录文件回收的流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1所示,组织方法的磁盘结构为每类记录元数据文件都包含每类记录的唯一标识fid和无效记录数invalidnr。当无效记录数达到一定比例才进行回收,所述一定比例默认为30%,也可以自由调整。每类记录磁盘上有多个记录文件。
如图2所示,组织方法的内存结构包括用于保护结构内容的读写锁rwlock、本类记录当前最小subid号min_subid(便于获取回收及顺序读取的起始文件)、本类记录当前最大subid号max_subid(用于文件满创建新文件时subid分配,也用于追加记录时文件查找)、追加记录时需要写入的页号last_pgidx、追加记录时的页内偏移pgoff、磁盘元数据 content和页缓存pgtree。
页内存结构包括磁盘内容是否读入页缓存标记flag、本页所属的文件subid、本页在文件内的偏移量pgidx、本页内记录长度(单个记录长度不一定能被页大小整除,所有有效记录长度可能与页大小不同)rdlen、页引用计数(只有当页引用计数为1时才能回收页内存,页初始计数为1,当页被使用时需要抓页计数,使用完毕释放计数,此外,对页记录日志也要抓页计数,当日志将数据应用到磁盘后释放页计数,这样可以防止页提前释放导致旧数据被读取)refcnt、记录内容(记录在页内逐条放置并在内存记录追加记录不会跨页存放)rdblk。
如图3所示,逻辑日志转为数据日志并在内存追加记录流程,具体步骤如下:
(1)根据逻辑日志查找记录内存结构;
(2)获取要写入的页号、页内偏移量和页所属的文件号subid;
(3)从页缓存pgtree中获取页并加计数;
(4)根据页内剩余空间及本次要追加写入的记录条数将记录拷入页缓存;若页剩余空间不足则将本页放满后分配新页直到将本次写入记录全部放入页缓存;
(5)对新写入的记录生成数据日志,并获取页的引用计数;
(6)更新记录内存结构;
(7)释放从页缓存获取页时所加计数,即将页引用计数减1。
如图4所示,所述文件回收过程的步骤如下:
(1)找到要回收的记录类型的内存结构;
(2)从最小的文件号开始对每个文件进行扫描;
(3)读取文件号对应的文件中的每一页,并判断页内记录是否仍然有效,若有效则将记录放入临时缓存中;
(4)判断文件内无效记录是否达到初设比例,若没有达到初设比例,则跳转到步骤(3);若达到初设比例,则对临时缓存中的记录生成逻辑日志,并生成删除无效页对应的文件的删除日志。
逻辑日志为操作记录的日志,如添加、修改和删除一项记录。
数据日志为在特定文件的特定偏移量写入具体数据的日志。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

Claims (3)

1.一种辅助记录的组织方法,其特征在于,该方法包括逻辑日志转化为数据日志并在内存追加记录的过程和文件回收的过程;
所述逻辑日志转化为数据日志并在内存追加记录的过程的步骤如下:
(1)根据逻辑日志查找记录的内存结构;
(2)获取要写入的页号、页内偏移量和该页所属的文件号;
(3)从页缓存中获取该页并将该页引用计数加1;
(4)根据该页内剩余空间及本次要追加写入的记录条数将记录拷入该页缓存;若该页剩余空间不足则将本页放满后分配新页直到将本次写入记录全部放入该页缓存;
(5)对新写入的记录生成数据日志,并获取该页的引用计数;
(6)更新记录内存结构;
(7)释放从所述页缓存获取所述页时所加计数,即将所述页引用计数减1;
所述文件回收过程的步骤如下:
1)找到要回收的记录类型的内存结构;
2)从最小的文件号开始对每个文件进行扫描;
3)读取文件号对应的文件中的每一页,并判断页内记录是否仍然有效,若有效则将记录放入临时缓存中;
4)判断文件内无效记录是否达到初设比例,若没有达到初设比例,则跳转到步骤3);若达到初设比例,则对临时缓存中的记录生成逻辑日志,并生成删除无效页对应的文件的删除日志。
2.根据权利要求1所述辅助记录的组织方法,其特征在于,所述逻辑日志为操作记录的日志,所述操作记录的日志为添加、修改和删除一项记录。
3.根据权利要求1所述辅助记录的组织方法,其特征在于,所述数据日志为在特定文件的特定偏移量写入具体数据的日志。
CN201410838249.XA 2014-12-29 2014-12-29 一种辅助记录的组织方法 Active CN104615652B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410838249.XA CN104615652B (zh) 2014-12-29 2014-12-29 一种辅助记录的组织方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410838249.XA CN104615652B (zh) 2014-12-29 2014-12-29 一种辅助记录的组织方法

Publications (2)

Publication Number Publication Date
CN104615652A CN104615652A (zh) 2015-05-13
CN104615652B true CN104615652B (zh) 2018-05-29

Family

ID=53150096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410838249.XA Active CN104615652B (zh) 2014-12-29 2014-12-29 一种辅助记录的组织方法

Country Status (1)

Country Link
CN (1) CN104615652B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750495A (zh) * 2019-10-14 2020-02-04 Oppo(重庆)智能科技有限公司 文件管理方法、装置、存储介质以及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521682A (zh) * 2003-02-10 2004-08-18 但汉雷 一种电子病历计算机管理系统和病历信息处理方法
CN102385624A (zh) * 2011-10-25 2012-03-21 曙光信息产业(北京)有限公司 一种面向分布式文件系统的日志数据组织的方法
CN102929789A (zh) * 2012-09-21 2013-02-13 曙光信息产业(北京)有限公司 记录组织方法和记录组织结构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520852B2 (en) * 2006-12-22 2013-08-27 Ibiquity Digital Corporation Method and apparatus for store and replay functions in a digital radio broadcasting receiver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521682A (zh) * 2003-02-10 2004-08-18 但汉雷 一种电子病历计算机管理系统和病历信息处理方法
CN102385624A (zh) * 2011-10-25 2012-03-21 曙光信息产业(北京)有限公司 一种面向分布式文件系统的日志数据组织的方法
CN102929789A (zh) * 2012-09-21 2013-02-13 曙光信息产业(北京)有限公司 记录组织方法和记录组织结构

Also Published As

Publication number Publication date
CN104615652A (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
CN102110146B (zh) 基于键值key-value存储的分布式文件系统元数据管理方法
US8271462B2 (en) Method for creating a index of the data blocks
US8200633B2 (en) Database backup and restore with integrated index reorganization
CN102629247B (zh) 一种数据处理方法、装置和系统
US10013312B2 (en) Method and system for a safe archiving of data
WO2016086819A1 (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
US20150143065A1 (en) Data Processing Method and Apparatus, and Shared Storage Device
CN104199888B (zh) 弹性文件系统的数据恢复方法和装置
CN109284069A (zh) 一种存放备份数据的分布式存储系统及方法
US20120041957A1 (en) Efficiently indexing and searching similar data
CN104657382A (zh) 用于MySQL主从服务器数据一致性检测的方法和装置
US20150154221A1 (en) Deduplication method and deduplication system using data association information
US20150058294A1 (en) Adding cooperative file coloring in a similarity based deduplication system
CN107679420B (zh) 一种基于分布式文件系统的权限设置方法及系统
US20150331905A1 (en) Apparatus and methods for scanning data in a cloud storage service
CN102567427A (zh) 一种对象数据处理方法及装置
CN104239443A (zh) 一种序列化数据操作日志的存储方法
EP3438845A1 (en) Data updating method and device for a distributed database system
CN109522283A (zh) 一种重复数据删除方法及系统
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
DE102014104971A1 (de) Verfahren für den Umgang mit Dateien in einer hierarchischen Speicherumgebung und eine entsprechende hierarchische Speicherumgebung
CN105447168A (zh) Mp4格式的碎片文件恢复与重组的方法
CN103744875A (zh) 基于文件系统的数据快速迁移方法及系统
US20160124984A1 (en) Storage and compression of an aggregation file
CN104615652B (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
CB02 Change of applicant information

Address after: 100193 Beijing, Haidian District, northeast Wang West Road, building 8, building 36, floor 5

Applicant after: Shuguang Cloud Computing Group Co.,Ltd.

Address before: 100193 Beijing, Haidian District, northeast Wang West Road, building 8, building 36, floor 5

Applicant before: DAWNING CLOUD COMPUTING TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100193 5 floor, 36 building, No. 8 Northeast Road, Haidian District, Beijing.

Patentee after: Shuguang Cloud Computing Group Co.,Ltd.

Country or region after: China

Address before: 100193 5 floor, 36 building, No. 8 Northeast Road, Haidian District, Beijing.

Patentee before: Shuguang Cloud Computing Group Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address