CN111737212A - 一种分布式文件系统提升性能的方法和设备 - Google Patents
一种分布式文件系统提升性能的方法和设备 Download PDFInfo
- Publication number
- CN111737212A CN111737212A CN202010567765.9A CN202010567765A CN111737212A CN 111737212 A CN111737212 A CN 111737212A CN 202010567765 A CN202010567765 A CN 202010567765A CN 111737212 A CN111737212 A CN 111737212A
- Authority
- CN
- China
- Prior art keywords
- write
- write request
- data
- memory
- requests
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 29
- 230000003321 amplification Effects 0.000 abstract description 6
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 6
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 238000004590 computer program Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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
- G06F16/1724—Details of de-fragmentation performed by the file system
-
- 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/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种分布式文件系统提升性能的方法和设备,该方法包括以下步骤:响应于接收到写请求,将接受到的写请求放在写请求队列上;响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并;根据合并后的写请求将数据从硬盘中写入内存;响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上。通过使用本发明的方案,能够减少碎片式读写请求到逻辑条带转换的写放大,对于有大量碎片式读写的应用场景成倍的提高分布式文件系统性能。
Description
技术领域
本领域涉及计算机领域,并且更具体地涉及一种分布式文件系统提升性能的方法和设备。
背景技术
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连。分布式文件系统的设计基于客户机或服务器模式,一个典型的网络可能包括多个供多用户访问的服务器。
分布式文件系统有着与单机文件系统不同的读写模式,每一个客户端应用读写请求的数据块在需要落盘之前需要多副本或者纠删处理后落盘,底层单机文件系统模块的请求合并并不能处理副本和纠删处理前的请求,对于同一逻辑块内连续的多个IO请求将会产生读写放大。
发明内容
有鉴于此,本发明实施例的目的在于提出一种分布式文件系统提升性能的方法和设备,通过使用本发明的方法,能够减少碎片式读写请求到逻辑条带转换的写放大,对于有大量碎片式读写的应用场景成倍的提高分布式文件系统性能。
基于上述目的,本发明的实施例的一个方面提供了一种分布式文件系统提升性能的方法,包括以下步骤:
响应于接收到写请求,将接受到的写请求放在写请求队列上;
响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并;
根据合并后的写请求将数据从硬盘中写入内存;
响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上。
根据本发明的一个实施例,响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并包括:
将写请求队列中的写请求按照条带大小划分为多个块;
将每个块中的写请求按照调用时序合并成一个写请求。
根据本发明的一个实施例,响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上包括:
将写入内存中的数据根据多副本和/或纠删算法刷新数据到多个OSD上;
将多个OSD上的数据刷新到对应的硬盘上。
根据本发明的一个实施例,处理设备包括OSD设备。
根据本发明的一个实施例,还包括:
响应于接收到读请求,将接受到的读请求放在读请求队列上;
响应于处理设备完成上一个读请求,根据预设条件将读请求队列上的所有读请求中的多个读请求进行合并;
根据合并后的读请求将对应的数据读取到内存中,将内存中的数据返回给客户端。
本发明的实施例的另一个方面,还提供了一种分布式文件系统提升性能的设备,设备包括:
请求模块,请求模块配置为响应于接收到写请求,将接受到的写请求放在写请求队列上;
合并模块,合并模块配置为响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并;
写入模块,写入模块配置为根据合并后的写请求将数据从硬盘中写入内存;
刷新模块,刷新模块配置为响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上。
根据本发明的一个实施例,合并模块还配置为:
将写请求队列中的写请求按照条带大小划分为多个块;
将每个块中的写请求按照调用时序合并成一个写请求。
根据本发明的一个实施例,刷新模块还配置为:
将写入内存中的数据根据多副本和/或纠删算法刷新数据到多个OSD上;
将多个OSD上的数据刷新到对应的硬盘上。
根据本发明的一个实施例,处理设备包括OSD设备。
根据本发明的一个实施例,还包括读取模块,读取模块配置为:
响应于接收到读请求,将接受到的读请求放在读请求队列上;
响应于处理设备完成上一个读请求,根据预设条件将读请求队列上的所有读请求中的多个读请求进行合并;
根据合并后的读请求将对应的数据读取到内存中,将内存中的数据返回给客户端。
本发明具有以下有益技术效果:本发明实施例提供的分布式文件系统提升性能的方法,通过响应于接收到写请求,将接受到的写请求放在写请求队列上;响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并;根据合并后的写请求将数据从硬盘中写入内存;响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上的技术方案,能够减少碎片式读写请求到逻辑条带转换的写放大,对于有大量碎片式读写的应用场景成倍的提高分布式文件系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的分布式文件系统提升性能的方法的示意性流程图;
图2为根据本发明一个实施例的分布式文件系统提升性能的设备的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种分布式文件系统提升性能的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
S1响应于接收到写请求,将接受到的写请求放在写请求队列上,写请求可能会有很多,按照接收到写请求的时间将写请求放在写请求队列上等待处理,有一个线程池负责处理队列中的请求;
S2响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并,将多个碎片式写请求根据规则进行合并,可以减少大量的写请求的处理次数,也可以减少大量的数据落盘的次数;
S3根据合并后的写请求将数据从硬盘中写入内存,将数据从硬盘读取到内存后在内存里完成多次写入,最终一次性将数据刷新到磁盘;
S4响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上。
通过本发明的技术方案,能够减少碎片式读写请求到逻辑条带转换的写放大,对于有大量碎片式读写的应用场景成倍的提高分布式文件系统性能。
在本发明的一个优选实施例中,响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并包括:
将写请求队列中的写请求按照条带大小划分为多个块;
将每个块中的写请求按照调用时序合并成一个写请求。
该预设条件可以是条带大小和调用时序,将写请求队列上一个条带数据范围内的多个写请求,按照调用时序的先后进行合并,可以合并成一个写请求,只需要处理一个写请求就可以完成多个碎片式写请求的工作,可以很好的提升分布式文件系统的性能。
在本发明的一个优选实施例中,响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上包括:
将写入内存中的数据根据多副本和/或纠删算法刷新数据到多个OSD上;
将多个OSD上的数据刷新到对应的硬盘上。
在本发明的一个优选实施例中,处理设备包括OSD设备。OSD(Object StorageDevice)也就是负责响应客户端请求返回具体数据的进程,一个OSD是由CPU、网络接口、本地磁盘或者RAID所组成。比之于传统磁盘,在OSDs上,客户端可以读写字节数大得多有名对象(通常大小是不固定的),并且将底层数据分配责任分发给设备自己(OSD)。
在本发明的一个优选实施例中,还包括:
响应于接收到读请求,将接受到的读请求放在读请求队列上,读请求可能会有很多,按照接收到读请求的时间将读请求放在读请求队列上等待处理,有一个线程池负责处理队列中的请求;
响应于处理设备完成上一个读请求,根据预设条件将读请求队列上的所有读请求中的多个读请求进行合并,将多个碎片式读请求根据规则进行合并,可以减少大量的读请求的处理次数,可以很好的提升分布式文件系统的性能;
根据合并后的读请求将对应的数据读取到内存中,将内存中的数据返回给客户端。直接多次读取缓存中的数据返回客户端,减少直接读取磁盘数据的次数,减少调用延时。
通过本发明的技术方案,能够减少碎片式读写请求到逻辑条带转换的写放大,对于有大量碎片式读写的应用场景成倍的提高分布式文件系统性能。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种分布式文件系统提升性能的设备,如图2所示,设备200包括:
请求模块,请求模块配置为响应于接收到写请求,将接受到的写请求放在写请求队列上;
合并模块,合并模块配置为响应于处理设备完成上一个写请求,根据预设条件将写请求队列上的所有写请求中的多个写请求进行合并;
写入模块,写入模块配置为根据合并后的写请求将数据从硬盘中写入内存;
刷新模块,刷新模块配置为响应于写请求队列上可合并的写请求对应的数据全部写入内存,将内存中的数据刷新到硬盘上。
在本发明的一个优选实施例中,合并模块还配置为:
将写请求队列中的写请求按照条带大小划分为多个块;
将每个块中的写请求按照调用时序合并成一个写请求。
在本发明的一个优选实施例中,刷新模块还配置为:
将写入内存中的数据根据多副本和/或纠删算法刷新数据到多个OSD上;
将多个OSD上的数据刷新到对应的硬盘上。
在本发明的一个优选实施例中,处理设备包括OSD设备。
在本发明的一个优选实施例中,还包括读取模块,读取模块配置为:
响应于接收到读请求,将接受到的读请求放在读请求队列上;
响应于处理设备完成上一个读请求,根据预设条件将读请求队列上的所有读请求中的多个读请求进行合并;
根据合并后的读请求将对应的数据读取到内存中,将内存中的数据返回给客户端。
需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。
此外,上述方法步骤以及系统单元或模块也可以利用控制器以及用于存储使得控制器实现上述步骤或单元或模块功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。
Claims (10)
1.一种分布式文件系统提升性能的方法,其特征在于,包括以下步骤:
响应于接收到写请求,将接受到的所述写请求放在写请求队列上;
响应于处理设备完成上一个写请求,根据预设条件将所述写请求队列上的所有写请求中的多个所述写请求进行合并;
根据合并后的写请求将数据从硬盘中写入内存;
响应于所述写请求队列上可合并的所述写请求对应的数据全部写入所述内存,将所述内存中的所述数据刷新到硬盘上。
2.根据权利要求1所述的方法,其特征在于,响应于处理设备完成上一个写请求,根据预设条件将所述写请求队列上的所有写请求中的多个所述写请求进行合并包括:
将所述写请求队列中的所述写请求按照条带大小划分为多个块;
将每个所述块中的所述写请求按照调用时序合并成一个写请求。
3.根据权利要求1所述的方法,其特征在于,响应于所述写请求队列上可合并的所述写请求对应的数据全部写入所述内存,将所述内存中的所述数据刷新到硬盘上包括:
将写入所述内存中的数据根据多副本和/或纠删算法刷新数据到多个OSD上;
将所述多个OSD上的数据刷新到对应的硬盘上。
4.根据权利要求1所述的方法,其特征在于,所述处理设备包括OSD设备。
5.根据权利要求1所述的方法,其特征在于,还包括:
响应于接收到读请求,将接受到的所述读请求放在读请求队列上;
响应于处理设备完成上一个读请求,根据预设条件将所述读请求队列上的所有读请求中的多个所述读请求进行合并;
根据合并后的读请求将对应的数据读取到内存中,将所述内存中的所述数据返回给客户端。
6.一种分布式文件系统提升性能的设备,其特征在于,所述设备包括:
请求模块,所述请求模块配置为响应于接收到写请求,将接受到的所述写请求放在写请求队列上;
合并模块,所述合并模块配置为响应于处理设备完成上一个写请求,根据预设条件将所述写请求队列上的所有写请求中的多个所述写请求进行合并;
写入模块,所述写入模块配置为根据合并后的写请求将数据从硬盘中写入内存;
刷新模块,所述刷新模块配置为响应于所述写请求队列上可合并的所述写请求对应的数据全部写入所述内存,将所述内存中的所述数据刷新到硬盘上。
7.根据权利要求6所述的设备,其特征在于,所述合并模块还配置为:
将所述写请求队列中的所述写请求按照条带大小划分为多个块;
将每个所述块中的所述写请求按照调用时序合并成一个写请求。
8.根据权利要求6所述的设备,其特征在于,所述刷新模块还配置为:
将写入所述内存中的数据根据多副本和/或纠删算法刷新数据到多个OSD上;
将所述多个OSD上的数据刷新到对应的硬盘上。
9.根据权利要求6所述的设备,其特征在于,所述处理设备包括OSD设备。
10.根据权利要求6所述的设备,其特征在于,还包括读取模块,所述读取模块配置为:
响应于接收到读请求,将接受到的所述读请求放在读请求队列上;
响应于处理设备完成上一个读请求,根据预设条件将所述读请求队列上的所有读请求中的多个所述读请求进行合并;
根据合并后的读请求将对应的数据读取到内存中,将所述内存中的所述数据返回给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567765.9A CN111737212A (zh) | 2020-06-19 | 2020-06-19 | 一种分布式文件系统提升性能的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567765.9A CN111737212A (zh) | 2020-06-19 | 2020-06-19 | 一种分布式文件系统提升性能的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737212A true CN111737212A (zh) | 2020-10-02 |
Family
ID=72651830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010567765.9A Withdrawn CN111737212A (zh) | 2020-06-19 | 2020-06-19 | 一种分布式文件系统提升性能的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737212A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256206A (zh) * | 2020-10-30 | 2021-01-22 | 新华三技术有限公司成都分公司 | 一种io处理方法及装置 |
CN114327280A (zh) * | 2021-12-29 | 2022-04-12 | 以萨技术股份有限公司 | 一种基于冷热分离存储的消息存储方法及系统 |
WO2023045385A1 (zh) * | 2021-09-23 | 2023-03-30 | 华为技术有限公司 | 数据处理方法以及相关设备 |
CN116820333A (zh) * | 2023-06-12 | 2023-09-29 | 青海师范大学 | 一种基于多线程的ssdraid-5持续写入方法 |
-
2020
- 2020-06-19 CN CN202010567765.9A patent/CN111737212A/zh not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256206A (zh) * | 2020-10-30 | 2021-01-22 | 新华三技术有限公司成都分公司 | 一种io处理方法及装置 |
CN112256206B (zh) * | 2020-10-30 | 2022-05-27 | 新华三技术有限公司成都分公司 | 一种io处理方法及装置 |
WO2023045385A1 (zh) * | 2021-09-23 | 2023-03-30 | 华为技术有限公司 | 数据处理方法以及相关设备 |
CN114327280A (zh) * | 2021-12-29 | 2022-04-12 | 以萨技术股份有限公司 | 一种基于冷热分离存储的消息存储方法及系统 |
CN114327280B (zh) * | 2021-12-29 | 2024-02-09 | 以萨技术股份有限公司 | 一种基于冷热分离存储的消息存储方法及系统 |
CN116820333A (zh) * | 2023-06-12 | 2023-09-29 | 青海师范大学 | 一种基于多线程的ssdraid-5持续写入方法 |
CN116820333B (zh) * | 2023-06-12 | 2024-02-23 | 青海师范大学 | 一种基于多线程的ssdraid-5持续写入方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737212A (zh) | 一种分布式文件系统提升性能的方法和设备 | |
US10417137B2 (en) | Flushing pages from solid-state storage device | |
US10885030B2 (en) | Database management system and computer system having first and second query execution parts which execute database operations in parallel | |
CN105205014A (zh) | 一种数据存储方法和装置 | |
WO2017117919A1 (zh) | 数据存储方法和装置 | |
CN109558457A (zh) | 一种数据写入方法、装置、设备及存储介质 | |
US10891150B2 (en) | Storage control method and storage controller for user individual service environment | |
US20210216231A1 (en) | Method, electronic device and computer program product for rebuilding disk array | |
CN108710474A (zh) | 一种数据存储方法、装置及计算机存储介质 | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
US9104496B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
CN112783449A (zh) | 数据迁移方法及装置 | |
CN113535087B (zh) | 数据迁移过程中的数据处理方法、服务器及存储系统 | |
CN110046132B (zh) | 一种元数据请求处理方法、装置、设备及可读存储介质 | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
CN110780821A (zh) | 分布式存储系统的优化方法、装置、服务器和存储介质 | |
CN111475279B (zh) | 用于备份的智能数据负载平衡的系统和方法 | |
US11966637B1 (en) | Method and system for storing data in portable storage devices | |
CN111611104B (zh) | 一种InfluxDB数据备份方法、系统及终端设备 | |
CN106897278B (zh) | 用于键值数据库的数据读写处理方法及设备 | |
CN111142795A (zh) | 分布式存储系统写操作的控制方法、控制装置、控制设备 | |
US20220309050A1 (en) | Method and system for managing cross data source data access requests | |
CN113190332B (zh) | 用于处理元数据的方法、设备和计算机程序产品 | |
US11720551B1 (en) | Method and system for streaming data from portable storage devices | |
US11941074B2 (en) | Fetching a query result using a query filter |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201002 |