CN109542361A - 一种分布式存储***文件读取方法、***及相关装置 - Google Patents

一种分布式存储***文件读取方法、***及相关装置 Download PDF

Info

Publication number
CN109542361A
CN109542361A CN201811475963.1A CN201811475963A CN109542361A CN 109542361 A CN109542361 A CN 109542361A CN 201811475963 A CN201811475963 A CN 201811475963A CN 109542361 A CN109542361 A CN 109542361A
Authority
CN
China
Prior art keywords
request
memory
read
reading
data
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.)
Granted
Application number
CN201811475963.1A
Other languages
English (en)
Other versions
CN109542361B (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811475963.1A priority Critical patent/CN109542361B/zh
Publication of CN109542361A publication Critical patent/CN109542361A/zh
Application granted granted Critical
Publication of CN109542361B publication Critical patent/CN109542361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种分布式存储***文件读取方法、***及一种电子设备和计算机可读存储介质,该方法包括:当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;每次向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存,直到所述IO请求对应的数据全部读取完成;将所述内存中存储的所述IO请求对应的数据返回至所述客户端。由此可见,本申请提供的文件读取方法能够减少客户端与对象存储设备的交互次数,降低了磁盘的IO次数,提升顺序读性能,从而提高了整个存储***的性能,增强产品竞争力。

Description

一种分布式存储***文件读取方法、***及相关装置
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种分布式存储***文件读取方法、***及一种电子设备和一种计算机可读存储介质。
背景技术
随着分布式块存储***在各领域得到了广泛应用,客户对存储***的性能要求也越来越高,提高分布式块存储***的性能显得日益重要。分布式块存储***利用IP(中文全称:网络之间互连的协议,英文全称:Internet Protocol)网络的高带宽、高IOPS(Input/Output Operations Per Second,一个用于计算机存储设备)聚合能力等特点,对外提供统一的块数据访问服务,同时,客户端通过ISCSI(Internet Small Computer SystemInterface)协议访问分布式块存储***。由于客户端通过iscsi协议进行IO(Input/Output)读写的上限是512k,若客户端访问存储***的IO大小是1M或者更大时,客户端的IO请求就被拆分成多个512k请求,这样客户端需要多次与存储***中的OSD(中文全称:对象存储设备,英文全称:Object Storage Devices)进行交互,这样增加了磁盘的IO次数,降低了整个存储***的读写性能。
因此,如何提高存储***的读写性能是本领域技术人员需要解决的问题。
发明内容
本申请的目的在于提供一种分布式存储***文件读取方法、***及一种电子设备和一种计算机可读存储介质,提高了存储***的读写性能。
为实现上述目的,本申请提供了一种分布式存储***文件读取方法,包括:
当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;
每次向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存,直到所述IO请求对应的数据全部读取完成;
将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
其中,根据所述IO请求的数据大小确定预读上限之前,还包括:
判断所述内存中是否存在所述IO请求对应的数据;
若是,则执行所述内存中存储的所述IO请求对应的数据返回至所述客户端的步骤;
若否,则执行根据所述IO请求的数据大小确定预读上限的步骤。
其中,根据所述IO请求的数据大小确定预读上限之前,还包括:
判断所述IO请求的类型是否为顺序读;
若是,则执行根据所述IO请求的数据大小确定预读上限的步骤。
其中,根据所述IO请求的数据大小确定预读上限,包括:
判断所述IO请求的数据大小是否大于1M;
若是,则将所述预读上限确定为512K的整数倍;
若否,则将所述预读上限确定为所述IO请求的数据大小的整数倍。
其中,将所述读请求的返回结果存储至内存,包括:
判断所述内存中存储的数据大小是否大于内存管理上限;
若是,则将所述读请求的返回结果覆盖所述内存中存储时间最早的数据;
若否,则将所述读请求的返回结果直接存储至所述内存中。
其中,所述内存管理上限为所述预读上限的整数倍。
为实现上述目的,本申请提供了一种分布式存储***文件读取***,包括:
确定模块,用于当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;
读取模块,用于每次向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存,直到所述IO请求对应的数据全部读取完成;
返回模块,用于将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
其中,所述读取模块具体为每次向对象存储设备发送大小为所述预读上限的读请求,并判断所述内存中存储的数据大小是否大于内存管理上限;若是,则将所述读请求的返回结果覆盖所述内存中存储时间最早的数据;若否,则将所述读请求的返回结果存储至所述内存中,直到所述IO请求对应的数据全部读取完成的模块。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述分布式存储***文件读取方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述分布式存储***文件读取方法的步骤。
通过以上方案可知,本申请提供的一种分布式存储***文件读取方法,包括:当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;每次向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存,直到所述IO请求对应的数据全部读取完成;将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
本申请提供的文件读取方法,将数据分为多次预读至内存中,每次读取预读上限的数据,全部读取完成后返回值客户端,客户端与对象存储设备值进行一次交互。由此可见,本申请提供的文件读取方法能够减少客户端与对象存储设备的交互次数,降低了磁盘的IO次数,提升顺序读性能,从而提高了整个存储***的性能,增强产品竞争力。本申请还公开了一种分布式存储***文件读取***及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为根据一示例性实施例示出的一种分布式存储***文件读取方法的流程图;
图2为根据一示例性实施例示出的另一种分布式存储***文件读取方法的流程图;
图3为根据一示例性实施例示出的一种分布式存储***文件读取***的结构图;
图4为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种分布式存储***文件读取方法,提高了存储***的读写性能。
参见图1,根据一示例性实施例示出的一种分布式存储***文件读取方法的流程图,如图1所示,包括:
S101:当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;
本实施例的执行主体可以为分布式存储***中的预读装置,该预读装置在接收到客户端的IO请求时,首先确定预读上限。该预读上限可以根据IO请求对应的数据大小进行设置,优选为IO请求的数据大小的整数倍。
作为一种优选实施方式,本步骤可以包括判断IO请求的数据大小是否大于1M;若是,则将预读上限确定为512K的整数倍;若否,则将预读上限确定为IO请求的数据大小的整数倍。
例如,IO请求对应的数据大小为2M,则可以将预读上限设置为1M,IO请求对应的数据大小为64K,则可以将预读上限设置为256K,该值一般小于1M。
需要说明的是,本实施例提供的文件读取方法针对于顺序读,即在根据IO请求的数据大小确定预读上限之前,还包括判断该IO请求的类型是否为顺序读的步骤,若是,执行根据IO请求的数据大小确定预读上限的步骤,若否则结束流程。
优选的,在根据IO请求的数据大小确定预读上限之前,还包括判断内存中是否存在IO请求对应的数据的步骤,若是则直接执行步骤S103,若否则执行根据IO请求的数据大小确定预读上限的步骤,即当内存中存在IO请求的返回数据时直接返回值客户端,可以提高读取效率。
S102:向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存;
在具体实施中,每次向对象存储设备发送大小为上述步骤确定的预读上限的读请求,并将该读请求的返回结果存储至内存,当同类型的读IO访问存储***时,直接从内存中返回读取结果即可,提高了IO请求的响应效率。
S103:判断所述IO请求对应的数据全部读取完成;若是,则进入S104;若否,则进入S102;
在本步骤中,判断IO请求对应的数据全部读取完成;若是,则进入S104;若否,则进入S102。由此可见,在本实施例中将现有技术中客户端与对象存储设备的多次交互变为分布式存储***中的预读设备与与对象存储设备的多次交互,降低了磁盘的IO次数,提升顺序读性能。
S104:将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
当IO请求对应的数据全部读取完成时,将内存中存储的响应数据返回值客户端,至此完成该IO请求的响应过程。
本申请实施例提供的文件读取方法,将数据分为多次预读至内存中,每次读取预读上限的数据,全部读取完成后返回值客户端,客户端与对象存储设备值进行一次交互。由此可见,本申请实施例提供的文件读取方法能够减少客户端与对象存储设备的交互次数,降低了磁盘的IO次数,提升顺序读性能,从而提高了整个存储***的性能,增强产品竞争力。
本申请实施例公开了一种分布式存储***文件读取方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图2,根据一示例性实施例示出的另一种分布式存储***文件读取方法的流程图,如图2所示,包括:
S201:当接收到客户端的IO请求时,判断所述内存中是否存在所述IO请求对应的数据;若是,则进入S207;若否,则进入S202;
在本实施例中,当接收到客户端的IO请求时首先判断内存中是否存在该IO请求对应的数据,若存在则直接从内存中读取结果,若不存在,则进入S202。
S202:根据所述IO请求的数据大小确定预读上限;
S203:向对象存储设备发送大小为所述预读上限的读请求,并判断所述内存中存储的数据大小是否大于内存管理上限;若是,则进入S204;若否,则进入S205;
在本实施例中,内存采用淘汰机制对读请求的结果进行管理,即在本步骤中首先判断内存中存储的数据大小是否大于内存管理上限,此处内存管理上限本领域技术人员可以根据实际情况进行设置和修改。优选的,该内存管理上限可以为预读上限的整数倍,例如32M。
S204:将所述读请求的返回结果覆盖所述内存中存储时间最早的数据;
在本步骤中,当内存中存储的数据大小大于内存管理上限时,采用淘汰机制将新的数据覆盖旧的数据,即将上述步骤中读请求的返回结果覆盖内存中存储时间最早的数据,节约内存空间,提高存储***性能。
S205;将所述读请求的返回结果直接存储至所述内存中;
S206:判断所述IO请求对应的数据全部读取完成;若是,则进入S207;若否,则进入S203;
S207:将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
下面接收本申请提供的分布式存储***文件读取方法的应用实施例。具体的,分布式块存储***中设置有预读装置,其主要由IO识别模块、预读模块、OSD通信模块、内存管理等四大模块组成。IO识别模块用于判断IO类型及IO大小,传递给预读模块;预读模块根据IO类型、IO大小及预读上限,向OSD通信模块发送预读上限的读请求;OSD通信模块把读请求返回的数据存放到内存中;内存管理模块采用淘汰机制对这些数据进行管理。
分布式块存储***预读的具体过程如下:
步骤1:通过iscsi服务端接收的IO,判断IO类型和大小。若是顺序读,则向OSD发送预读上限大小的读请求,其中预读上限值可以设置并修改(如1M)。若是非顺序读则直接和存储***中的OSD进行交互。
步骤2:将预读上限的读请求返回结果放到内存中;内存采用淘汰机制对这些结果进行管理,如果超过内存管理上限则新的数据会把旧的数据淘汰掉,其中内存管理上限值可以设置并修改(如32M)。
步骤3:最后当同类型的读IO访问存储***时,直接从内存中返回读取结果。按照上述规则直到客户端读取数据完成。
下面对本申请实施例提供的一种分布式存储***文件读取***进行介绍,下文描述的一种分布式存储***文件读取***与上文描述的一种分布式存储***文件读取方法可以相互参照。
参见图3,根据一示例性实施例示出的一种分布式存储***文件读取***的结构图,如图3所示,包括:
确定模块301,用于当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;
读取模块302,用于每次向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存,直到所述IO请求对应的数据全部读取完成;
返回模块303,用于将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
本申请实施例提供的文件读取***,将数据分为多次预读至内存中,每次读取预读上限的数据,全部读取完成后返回值客户端,客户端与对象存储设备值进行一次交互。由此可见,本申请实施例提供的文件读取***能够减少客户端与对象存储设备的交互次数,降低了磁盘的IO次数,提升顺序读性能,从而提高了整个存储***的性能,增强产品竞争力。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第一判断模块,用于判断所述内存中是否存在所述IO请求对应的数据;若是,则启动返回模块301的工作流程;若否,则启动确定模块301的工作流程。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第二判断模块,用于判断所述IO请求的类型是否为顺序读;若是,则启动确定模块301的工作流程。
在上述实施例的基础上,作为一种优选实施方式,所述确定模块301包括:
判断单元,用于当接收到客户端的IO请求时,判断所述IO请求的数据大小是否大于1M;
第一确定单元,用于当所述IO请求的数据大小大于1M时,将所述预读上限确定为512K的整数倍;
第二确定单元,用于当所述IO请求的数据大小小于或等于1M时,将所述预读上限确定为所述IO请求的数据大小的整数倍。
在上述实施例的基础上,作为一种优选实施方式,所述读取模块302具体为每次向对象存储设备发送大小为所述预读上限的读请求,并判断所述内存中存储的数据大小是否大于内存管理上限;若是,则将所述读请求的返回结果覆盖所述内存中存储时间最早的数据;若否,则将所述读请求的返回结果存储至所述内存中,直到所述IO请求对应的数据全部读取完成的模块。
关于上述实施例中的***,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请还提供了一种电子设备,参见图4,本申请实施例提供的一种电子设备400的结构图,如图4所示,可以包括处理器11和存储器12。该电子设备400还可以包括多媒体组件13,输入/输出(I/O)接口14,以及通信组件15中的一者或多者。
其中,处理器11用于控制该电子设备400的整体操作,以完成上述的分布式存储***文件读取方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该电子设备400的操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的分布式存储***文件读取方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述分布式存储***文件读取方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由电子设备400的处理器11执行以完成上述的分布式存储***文件读取方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种分布式存储***文件读取方法,其特征在于,包括:
当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;
每次向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存,直到所述IO请求对应的数据全部读取完成;
将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
2.根据权利要求1所述分布式存储***文件读取方法,其特征在于,根据所述IO请求的数据大小确定预读上限之前,还包括:
判断所述内存中是否存在所述IO请求对应的数据;
若是,则执行所述内存中存储的所述IO请求对应的数据返回至所述客户端的步骤;
若否,则执行根据所述IO请求的数据大小确定预读上限的步骤。
3.根据权利要求1所述分布式存储***文件读取方法,其特征在于,根据所述IO请求的数据大小确定预读上限之前,还包括:
判断所述IO请求的类型是否为顺序读;
若是,则执行根据所述IO请求的数据大小确定预读上限的步骤。
4.根据权利要求1所述分布式存储***文件读取方法,其特征在于,根据所述IO请求的数据大小确定预读上限,包括:
判断所述IO请求的数据大小是否大于1M;
若是,则将所述预读上限确定为512K的整数倍;
若否,则将所述预读上限确定为所述IO请求的数据大小的整数倍。
5.根据权利要求1-4任一项所述分布式存储***文件读取方法,其特征在于,将所述读请求的返回结果存储至内存,包括:
判断所述内存中存储的数据大小是否大于内存管理上限;
若是,则将所述读请求的返回结果覆盖所述内存中存储时间最早的数据;
若否,则将所述读请求的返回结果直接存储至所述内存中。
6.根据权利要求5所述分布式存储***文件读取方法,其特征在于,所述内存管理上限为所述预读上限的整数倍。
7.一种分布式存储***文件读取***,其特征在于,包括:
确定模块,用于当接收到客户端的IO请求时,根据所述IO请求的数据大小确定预读上限;
读取模块,用于每次向对象存储设备发送大小为所述预读上限的读请求,并将所述读请求的返回结果存储至内存,直到所述IO请求对应的数据全部读取完成;
返回模块,用于将所述内存中存储的所述IO请求对应的数据返回至所述客户端。
8.根据权利要求7述分布式存储***文件读取***,其特征在于,所述读取模块具体为每次向对象存储设备发送大小为所述预读上限的读请求,并判断所述内存中存储的数据大小是否大于内存管理上限;若是,则将所述读请求的返回结果覆盖所述内存中存储时间最早的数据;若否,则将所述读请求的返回结果存储至所述内存中,直到所述IO请求对应的数据全部读取完成的模块。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述分布式存储***文件读取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述分布式存储***文件读取方法的步骤。
CN201811475963.1A 2018-12-04 2018-12-04 一种分布式存储***文件读取方法、***及相关装置 Active CN109542361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811475963.1A CN109542361B (zh) 2018-12-04 2018-12-04 一种分布式存储***文件读取方法、***及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811475963.1A CN109542361B (zh) 2018-12-04 2018-12-04 一种分布式存储***文件读取方法、***及相关装置

Publications (2)

Publication Number Publication Date
CN109542361A true CN109542361A (zh) 2019-03-29
CN109542361B CN109542361B (zh) 2022-06-07

Family

ID=65852633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811475963.1A Active CN109542361B (zh) 2018-12-04 2018-12-04 一种分布式存储***文件读取方法、***及相关装置

Country Status (1)

Country Link
CN (1) CN109542361B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516817A (zh) * 2019-09-03 2019-11-29 北京华捷艾米科技有限公司 一种模型训练数据加载方法及装置
CN111309257A (zh) * 2020-02-10 2020-06-19 西安奥卡云数据科技有限公司 恒定速率读文件的预读方法、装置及计算机可读存储介质
CN112199618A (zh) * 2020-10-22 2021-01-08 Oppo广东移动通信有限公司 文件页面预读方法、装置、终端及存储介质
CN112328185A (zh) * 2020-12-28 2021-02-05 烽火通信科技股份有限公司 一种基于分布式存储的智能预读方法
CN112558866A (zh) * 2020-12-03 2021-03-26 Oppo(重庆)智能科技有限公司 数据的预读方法、移动终端及计算机可读存储介质
CN113031873A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 一种io请求处理方法、装置、设备及可读存储介质
CN113672176A (zh) * 2021-08-13 2021-11-19 济南浪潮数据技术有限公司 一种数据读取方法、***、设备及计算机可读存储介质
CN114168272A (zh) * 2022-02-14 2022-03-11 麒麟软件有限公司 一种缓存读文件时随机读的内核io优化方法
CN114327299A (zh) * 2022-03-01 2022-04-12 苏州浪潮智能科技有限公司 一种顺序读预读的方法、装置、设备及介质
CN114489469A (zh) * 2021-07-20 2022-05-13 荣耀终端有限公司 一种数据读取方法、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174294A1 (en) * 1999-03-30 2002-11-21 Mitsubishi Denki Kabushiki Kaisha Information processing system and recording medium recording a program to cause a computer to execute steps
CN101382955A (zh) * 2008-09-28 2009-03-11 中国科学院计算技术研究所 一种机群文件***中文件读取的方法及***
CN102904923A (zh) * 2012-06-21 2013-01-30 华数传媒网络有限公司 一种缓解磁盘读取瓶颈的数据读取的方法及***
CN103716413A (zh) * 2014-01-13 2014-04-09 浪潮(北京)电子信息产业有限公司 一种分布式文件***中海量小文件io操作传输提速方法
CN104765575A (zh) * 2015-04-23 2015-07-08 成都博元时代软件有限公司 信息存储处理方法
CN105549905A (zh) * 2015-12-09 2016-05-04 上海理工大学 一种多虚拟机访问分布式对象存储***的方法
CN105677754A (zh) * 2015-12-30 2016-06-15 华为技术有限公司 获取文件***中子项元数据的方法、装置和***
CN107480150A (zh) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 一种文件加载方法和装置
CN107992271A (zh) * 2017-12-21 2018-05-04 郑州云海信息技术有限公司 数据预读方法、装置、设备及计算机可读存储介质
US20190181887A1 (en) * 2017-12-11 2019-06-13 Rubrik, Inc. Techniques for fast io and low memory consumption while using erasure codes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174294A1 (en) * 1999-03-30 2002-11-21 Mitsubishi Denki Kabushiki Kaisha Information processing system and recording medium recording a program to cause a computer to execute steps
CN101382955A (zh) * 2008-09-28 2009-03-11 中国科学院计算技术研究所 一种机群文件***中文件读取的方法及***
CN102904923A (zh) * 2012-06-21 2013-01-30 华数传媒网络有限公司 一种缓解磁盘读取瓶颈的数据读取的方法及***
CN103716413A (zh) * 2014-01-13 2014-04-09 浪潮(北京)电子信息产业有限公司 一种分布式文件***中海量小文件io操作传输提速方法
CN104765575A (zh) * 2015-04-23 2015-07-08 成都博元时代软件有限公司 信息存储处理方法
CN105549905A (zh) * 2015-12-09 2016-05-04 上海理工大学 一种多虚拟机访问分布式对象存储***的方法
CN105677754A (zh) * 2015-12-30 2016-06-15 华为技术有限公司 获取文件***中子项元数据的方法、装置和***
CN107480150A (zh) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 一种文件加载方法和装置
US20190181887A1 (en) * 2017-12-11 2019-06-13 Rubrik, Inc. Techniques for fast io and low memory consumption while using erasure codes
CN107992271A (zh) * 2017-12-21 2018-05-04 郑州云海信息技术有限公司 数据预读方法、装置、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董晓明等: "分布式文件***的写性能优化", 《微型电脑应用》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516817A (zh) * 2019-09-03 2019-11-29 北京华捷艾米科技有限公司 一种模型训练数据加载方法及装置
CN111309257A (zh) * 2020-02-10 2020-06-19 西安奥卡云数据科技有限公司 恒定速率读文件的预读方法、装置及计算机可读存储介质
CN112199618A (zh) * 2020-10-22 2021-01-08 Oppo广东移动通信有限公司 文件页面预读方法、装置、终端及存储介质
CN112558866A (zh) * 2020-12-03 2021-03-26 Oppo(重庆)智能科技有限公司 数据的预读方法、移动终端及计算机可读存储介质
CN112558866B (zh) * 2020-12-03 2022-12-09 Oppo(重庆)智能科技有限公司 数据的预读方法、移动终端及计算机可读存储介质
CN112328185B (zh) * 2020-12-28 2021-03-23 烽火通信科技股份有限公司 一种基于分布式存储的智能预读方法
CN112328185A (zh) * 2020-12-28 2021-02-05 烽火通信科技股份有限公司 一种基于分布式存储的智能预读方法
CN113031873A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 一种io请求处理方法、装置、设备及可读存储介质
CN113031873B (zh) * 2021-03-26 2023-02-28 山东英信计算机技术有限公司 一种io请求处理方法、装置、设备及可读存储介质
CN114489469A (zh) * 2021-07-20 2022-05-13 荣耀终端有限公司 一种数据读取方法、电子设备及存储介质
CN114489469B (zh) * 2021-07-20 2022-12-23 荣耀终端有限公司 一种数据读取方法、电子设备及存储介质
CN113672176A (zh) * 2021-08-13 2021-11-19 济南浪潮数据技术有限公司 一种数据读取方法、***、设备及计算机可读存储介质
CN113672176B (zh) * 2021-08-13 2023-12-29 济南浪潮数据技术有限公司 一种数据读取方法、***、设备及计算机可读存储介质
CN114168272A (zh) * 2022-02-14 2022-03-11 麒麟软件有限公司 一种缓存读文件时随机读的内核io优化方法
CN114168272B (zh) * 2022-02-14 2022-04-19 麒麟软件有限公司 一种缓存读文件时随机读的内核io优化方法
CN114327299A (zh) * 2022-03-01 2022-04-12 苏州浪潮智能科技有限公司 一种顺序读预读的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN109542361B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN109542361A (zh) 一种分布式存储***文件读取方法、***及相关装置
CN111240837B (zh) 资源配置方法、装置、终端及存储介质
CN107750466B (zh) 使用经同步的提示信号配对附近设备
CN107832100B (zh) 一种apk插件的加载方法及其终端
JP6990772B2 (ja) 情報のプッシュ方法、記憶媒体、端末機器及びサーバ
CN109542614B (zh) 资源配置方法、装置、终端及存储介质
WO2017005085A1 (zh) 一种数据压缩方法、装置及终端
WO2014205903A1 (zh) 文件显示方法及装置
CN111382123B (zh) 文件存储方法、装置、设备及存储介质
CN110019024B (zh) 一种目录查询方法、***及电子设备和存储介质
CN111666497A (zh) 应用程序的加载方法、装置、电子设备及可读存储介质
WO2020020202A1 (zh) 应用程序的账号管理方法、装置、设备和介质
CN104899039A (zh) 用于在终端设备上提供截屏服务的方法和装置
KR20180111981A (ko) 제한된 상호 작용을 갖는 실시간 콘텐츠 편집
WO2019071618A1 (zh) 一种图像处理方法及设备
CN107835986A (zh) 一种电子设备的数据操作方法及电子设备
CN111901695A (zh) 视频内容截取方法、装置和设备及计算机存储介质
CN109302639B (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
WO2017219872A1 (zh) 机顶盒的升级、换台方法及***
CN110998524B (zh) 处理配置文件的方法、处理单元、触摸芯片、装置及介质
JP2008129678A (ja) ファイル圧縮自動判定方式および方法、並びに、プログラム
WO2020077681A1 (zh) 一种延迟加载js脚本的方法和装置
CN108205559B (zh) 一种数据管理方法及其设备
US20150264113A1 (en) Dynamic Batching
CN110445874B (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
GR01 Patent grant
GR01 Patent grant