CN103514258B - 一种基于离线缓存文件操作集中记录预处理并重放的方法 - Google Patents
一种基于离线缓存文件操作集中记录预处理并重放的方法 Download PDFInfo
- Publication number
- CN103514258B CN103514258B CN201310344811.9A CN201310344811A CN103514258B CN 103514258 B CN103514258 B CN 103514258B CN 201310344811 A CN201310344811 A CN 201310344811A CN 103514258 B CN103514258 B CN 103514258B
- Authority
- CN
- China
- Prior art keywords
- file
- server
- cache
- log
- daily record
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- 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]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及分布式存储系统的元数据与文件操作管理方法技术领域,特别涉及一种基于离线缓存文件操作集中记录预处理并重放的方法。本发明采用文件系统操作日志和数据缓存日志的离线缓存机制。可以在多次连续追加写入之后,将数据缓存日志中对应的内容预处理,合并这些缓存,减少数据补齐读取操作,提升性能。本发明的一种基于离线缓存文件操作集中记录预处理并重放的方法,其能够减小与分布式文件系统各个服务器的网络通信,降低网络开销,避免不必要的操作,提升临时文件的操作性能。
Description
技术领域
本发明涉及分布式存储系统的元数据与文件操作管理方法技术领域,特别涉及一种基于离线缓存文件操作集中记录预处理并重放的方法。
背景技术
在文件系统中,所有应用程序针对元数据和文件的操作都是按照时间顺序依次在元数据和存储中进行的。这些操作序列可以包括文件的创建、删除、重命名、加锁和解锁、属性和权限修改、文件的写入等。当应用程序需要频繁的创建、写入、读取、删除临时文件时,就需要频繁的进行这些操作。
在分布式共享文件系统中,为了实现应用服务器对文件系统的上述操作的支持。使用该文件系统的应用服务器可以采用如下步骤完成操作:
1、连接元数据服务器
2、发送元数据操作的具体内容到元数据服务器
3、元数据服务器完成操作后,通知应用服务器
4、应用服务器收到完成通知后,按照元数据指令,连接存储服务器
5、应用服务器向存储服务器发送要存储的文件中的内容数据
6、应用服务器结束文件内容数据传输后,继续接下来的工作。
对于每一个元数据操作,应用服务器都需要先连接元数据服务器,完成操作,再断开连接。因为网络通信延迟高,因此该操作代价很高。
对于文件内容数据的写入,也同样需要经过上述的步骤,这会严重影响整个应用程序的性能。
Lustre文件系统实现了一个类似的元数据操作本地缓存,上传元数据重放机制,减少网络通信的开销。但是该机制只是简单的将这些操作上传到元数据重新播放。对于大量临时文件的创建,写入和删除操作,仍然需要频繁的与存储服务器通信。且在元数据服务器上仍然需要多次操作。
发明内容
为了解决现有技术的问题,本发明提供了一种基于离线缓存文件操作集中记录预处理并重放的方法,其能够减小与分布式文件系统各个服务器的网络通信,降低网络开销,避免不必要的操作,提升临时文件的操作性能。
本发明所采用的技术方案如下:
一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:
A、应用服务器端将文件操作信息记录到本地;
B、应用服务器端对文件操作做预处理,删除并合并文件元数据相关操作和数据;
C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放。
步骤A具体包括:
A1、开辟缓存:在应用服务器端,开辟一个内核态缓存,用于记录所有针对文件的文件系统操作日志,包括文件的创建、属性修改、文件内容的增删改查操作,同时开辟一块缓存指数据缓存日志,用于记录被操作的文件内容;
A2、记录文件操作:所有文件操作相关的系统调用,在操作系统内核态,都先记录在本地缓存中,而非直接与元数据服务器、存储服务器通信,所有针对元数据的操作,记录在文件系统操作日志中;针对文件内容的操作,记录在数据缓存日志中。
步骤B具体包括:积累到一定记录后,应用服务器首先在内核态中,按照时间顺序预处理文件系统操作日志,找到其中可以忽略的操作,将其删除;找到可以合并的操作,将其合并。
步骤C具体包括:
C1、预处理后的文件系统操作日志在元数据服务器上重放:将预处理后的文件元数据操作文件系统操作日志上传到元数据服务器,元数据服务器收到该日志后,将其再按照时间顺序重放,并完成日志中的操作;
C2、将预处理后的指数据缓存日志上传到对应的存储服务器中:元数据服务器完成文件系统操作日志的处理之后,应用服务器根据元数据服务器的指令,将预处理后的文件数据缓存日志分别上传给对应的存储服务器。
本发明提供的技术方案带来的有益效果是:
1、进一步减小应用服务器在操作文件时的性能开销,对于大量临时文件创建和写入操作。除避免和元数据通信外,还可以避免将数据保存到存储服务器、再从存储服务器上将数据删除的操作。降低和存储服务器的通信。
2、提前在本地缓存中对元数据和文件数据的操作进行预处理。找出可以互相抵消的操作序列。例如,实现创建一个临时文件,写入少量数据,又在不久后删除该文件。这种序列可以直接删除,无需再在元数据服务器和存储服务器上重放。
附图说明
为了更清楚地说明本发明中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于离线缓存文件操作集中记录预处理并重放的方法中,应用服务器将文件操作信息记录到本地的流程图;
图2为本发明的一种基于离线缓存文件操作集中记录预处理并重放的方法中,应用服务器对文件操作做预处理,删除并合并文件元数据相关操作和数据的流程图;
图3为本发明的一种基于离线缓存文件操作集中记录预处理并重放的方法中,应用服务器将预处理后的文件系统操作日志上传至元数据服务器重放的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
如附图1-3所示,一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:
A、应用服务器端将文件操作信息记录到本地;步骤A具体包括:
A1、开辟缓存:在应用服务器端,开辟一个内核态缓存,用于记录所有针对文件的文件系统操作日志,包括文件的创建、属性修改、文件内容的增删改查操作,同时开辟一块缓存指数据缓存日志,用于记录被操作的文件内容;
A2、记录文件操作:所有文件操作相关的系统调用,在操作系统内核态,都先记录在本地缓存中,而非直接与元数据服务器、存储服务器通信,所有针对元数据的操作,记录在文件系统操作日志中;针对文件内容的操作,记录在数据缓存日志中。
B、应用服务器端对文件操作做预处理,删除并合并文件元数据相关操作和数据;
C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放。
步骤B具体包括:积累到一定记录后,应用服务器首先在内核态中,按照时间顺序预处理文件系统操作日志,找到其中可以忽略的操作,将其删除;找到可以合并的操作,将其合并。
步骤C具体包括:
C1、预处理后的文件系统操作日志在元数据服务器上重放:将预处理后的文件元数据操 作文件系统操作日志上传到元数据服务器,元数据服务器收到该日志后,将其再按照时间顺序重放,并完成日志中的操作;
C2、将预处理后的指数据缓存日志上传到对应的存储服务器中:元数据服务器完成文件系统操作日志的处理之后,应用服务器根据元数据服务器的指令,将预处理后的文件数据缓存日志分别上传给对应的存储服务器。
实施例1:优化包含大量临时文件操作的应用。
对于进行大量Word等Office文件编辑的文件系统挂载节点。为了保证互斥访问这些office文档,记录操作相关信息。Word会在要打开的文件所在文件夹中,创建一个临时文件,在编辑文档的过程中,也会修改此临时文件,并在结束编辑后删除该文件。
使用本发明的一种基于离线缓存文件操作集中记录预处理并重放的方法,在文件系统的挂载节点(即一台文件系统的应用服务器上),使用该技术方案中的机制,能避免频繁与元数据、数据服务器的通信,降低网络开销,提升应用程序的性能。
实施例2:优化包含反复修改文件的属性或指定位置内容的应用。
在个人网盘等存储应用中,可能需要频繁的读写文件中的某一个指定部分,或者需要多次修改文件的属性等元数据信息。
将这些操纵都使用文件系统操作日志和指数据缓存日志管理起来,并在上传到元数据做重放操作之前进行预处理,能帮助合并或者删除不必要的文件内容或者元数据操作,进而达到节省网络带宽的作用。
实施例3:优化小粒度持续追加类文件操作的性能。
对于一些权限要求单一的系统中,有很多场景需要持续小粒度对文件做打开,追加,关闭操作,如应用程序的持续写日志操作。
对于操作系统来说,为了更高效的将缓冲区的内容写入硬盘,一般采用页对齐的方式写入。若当前写入位置,不是页对其的,且写入数据较小。若频繁拿的写入,关闭文件。则操作系统需要频繁的先做数据读取,补齐一个页大小,再增提写入,性能较低。
采用文件系统操作日志和指数据缓存日志的离线缓存机制。可以在多次连续追加写入之后,将指数据缓存日志中对应的内容预处理,合并这些缓存,减少数据补齐读取操作,提升性能。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:
A、开辟缓存:在应用服务器端,开辟一个内核态缓存,用于记录所有针对文件的文件系统操作日志,包括文件的创建、属性修改、文件内容的增删改查操作,同时开辟一块缓存存放数据缓存日志,用于记录被操作的文件内容;
记录文件操作:所有文件操作相关的系统调用,在操作系统内核态,都先记录在本地缓存中,而非直接与元数据服务器、存储服务器通信,所有针对元数据的操作,记录在文件系统操作日志中;针对文件内容的操作,记录在数据缓存日志中;
B、应用服务器端对文件系统操作日志和数据缓存日志做预处理,删除并合并文件元数据相关操作和数据;
C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放;将预处理后的数据缓存日志上传到对应的存储服务器中。
2.根据权利要求1所述的一种基于离线缓存文件操作集中记录预处理并重放的方法,其特征在于,所述步骤B具体包括:积累到一定记录后,应用服务器首先在内核态中,按照时间顺序预处理文件系统操作日志,找到其中可以忽略的操作,将其删除;找到可以合并的操作,将其合并。
3.根据权利要求1所述的一种基于离线缓存文件操作集中记录预处理并重放的方法,其特征在于,所述步骤C具体包括:
C1、预处理后的文件系统操作日志在元数据服务器上重放:将预处理后的文件元数据操作日志上传到元数据服务器,元数据服务器收到该日志后,将其再按照时间顺序重放,并完成日志中的操作;
C2、将预处理后的数据缓存目志上传到对应的存储服务器中:元数据服务器完成文件系统操作日志的处理之后,应用服务器根据元数据服务器的指令,将预处理后的文件数据缓存日志分别上传给对应的存储服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310344811.9A CN103514258B (zh) | 2013-08-09 | 2013-08-09 | 一种基于离线缓存文件操作集中记录预处理并重放的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310344811.9A CN103514258B (zh) | 2013-08-09 | 2013-08-09 | 一种基于离线缓存文件操作集中记录预处理并重放的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514258A CN103514258A (zh) | 2014-01-15 |
CN103514258B true CN103514258B (zh) | 2017-02-01 |
Family
ID=49896982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310344811.9A Active CN103514258B (zh) | 2013-08-09 | 2013-08-09 | 一种基于离线缓存文件操作集中记录预处理并重放的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514258B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224561B (zh) * | 2014-06-24 | 2020-04-17 | 鸿合科技股份有限公司 | 一种基于分页文件的缓存保存方法和装置 |
CN105095418B (zh) * | 2015-07-13 | 2018-07-27 | 浪潮(北京)电子信息产业有限公司 | 一种处理写请求的方法和装置 |
CN105515855B (zh) * | 2015-12-04 | 2018-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统中直接纠删的日志回放优化方法及装置 |
CN107633045B (zh) * | 2017-09-15 | 2021-05-11 | 龙存(苏州)科技有限公司 | 一种云存储服务中租户数据容量的统计方法及其系统 |
CN111858516B (zh) * | 2019-04-30 | 2024-06-18 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN111984598A (zh) * | 2020-08-20 | 2020-11-24 | 重庆紫光华山智安科技有限公司 | 一种高性能元数据日志文件管理方法、系统、介质及终端 |
CN112367424A (zh) * | 2020-11-23 | 2021-02-12 | 郑州方框网络科技有限公司 | 一种基于手机客户端创新型的用户需求表达系统 |
CN112671754B (zh) * | 2020-12-21 | 2023-05-02 | 龙存(成都)科技有限公司 | 一种单流水线处理不同服务端功能的方法、系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354708A (zh) * | 2008-07-29 | 2009-01-28 | 四川大学 | 一种远程文件快速同步方法 |
-
2013
- 2013-08-09 CN CN201310344811.9A patent/CN103514258B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354708A (zh) * | 2008-07-29 | 2009-01-28 | 四川大学 | 一种远程文件快速同步方法 |
Non-Patent Citations (4)
Title |
---|
Filter Cache:一种提高Lustre I/O性能的方法;李柱等;《计算机研究与发展》;20091231;第46卷;全文 * |
一种基于日志合并优化的数据同步机制;张虎等;《小型微型计算机系统》;20061231;第27卷(第12期);全文 * |
基于HDFS的分布式Namenode节点模型的研究;李宽;《中国优秀硕士学位论文全文数据库信息科技辑》;20111231;全文 * |
大规模Lustre集群文件系统关键技术的研究;钱迎进;《中国博士学位论文全文数据库信息科技辑》;20120430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103514258A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514258B (zh) | 一种基于离线缓存文件操作集中记录预处理并重放的方法 | |
CN104731921B (zh) | Hadoop分布式文件系统针对日志型小文件的存储和处理方法 | |
CN100512409C (zh) | 数据处理装置和数据处理方法 | |
CN103714123B (zh) | 企业云存储分块对象重复数据删除和重组版本控制方法 | |
US10255235B2 (en) | Database storage system based on jukebox and method using the system | |
CN108763508B (zh) | 数据页访问方法、存储引擎以及计算机可读存储介质 | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
CN107832423B (zh) | 一种用于分布式文件系统的文件读写方法 | |
CN107870973A (zh) | 一种加快多路监控同时回放的文件存储系统 | |
CN101707633B (zh) | 一种基于文件系统的消息中间件持久消息的存储方法 | |
KR102119258B1 (ko) | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 | |
CN102541691B (zh) | 面向内存数据库oltp应用的日志检查点恢复方法 | |
CN104424162A (zh) | 一种生成最近使用的文档记录的方法及装置 | |
CN104657366A (zh) | 海量日志写入数据库的方法、装置和日志容灾系统 | |
CN107239569A (zh) | 一种分布式文件系统子树存储方法及装置 | |
KR20200056357A (ko) | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 | |
CN105302488B (zh) | 一种存储系统的数据写入方法及系统 | |
CN111159176A (zh) | 一种海量流数据的存储和读取的方法和系统 | |
CN111581175B (zh) | 一种文件存储网关系统及其数据迁移方法 | |
WO2023185111A1 (zh) | 一种数据文件的快速存取方法及装置 | |
CN108595589A (zh) | 一种海量科学数据图片高效存取方法 | |
CN103259998B (zh) | 一种航测图像数据的记录系统及方法 | |
CN101808243B (zh) | 一种基于快照的数据处理方法和设备 | |
CN109189724A (zh) | 提高视频监控系统音视频数据存储效率的方法及装置 | |
CN100585597C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100000, 502A, room 2, Jing Shu Yuan Road, Beijing, Haidian District Patentee after: Long Yu technology (Beijing) Limited by Share Ltd Address before: 100000, 502A, room 2, Jing Shu Yuan Road, Beijing, Haidian District Patentee before: Dragon is deposited science and technology limited Company in Beijing |