CN107656701A - 小文件读加速方法、系统、装置及计算机可读存储介质 - Google Patents

小文件读加速方法、系统、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN107656701A
CN107656701A CN201710881442.5A CN201710881442A CN107656701A CN 107656701 A CN107656701 A CN 107656701A CN 201710881442 A CN201710881442 A CN 201710881442A CN 107656701 A CN107656701 A CN 107656701A
Authority
CN
China
Prior art keywords
caching
operated
read
object data
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.)
Pending
Application number
CN201710881442.5A
Other languages
English (en)
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 CN201710881442.5A priority Critical patent/CN107656701A/zh
Publication of CN107656701A publication Critical patent/CN107656701A/zh
Pending legal-status Critical Current

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/0604Improving or facilitating administration, e.g. storage management
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/064Management of blocks
    • 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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种小文件读加速方法,应用于分布式文件系统,包括:在接收到客户端发送的操作请求时,判断操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;如果操作是读操作且缓存中存在完整的待操作的对象数据,则直接从缓存中读取待操作的对象数据;如果操作是读操作且缓存中不存在完整的待操作的对象数据,则从硬盘中读取待操作的对象数据;如果操作是编辑操作,则根据操作请求更新缓存。本发明加速了小文件的读取速度,提高了分布式文件系统的读性能,保证了缓存中存储的数据是最新的数据。本发明还提供了一种小文件读加速系统、装置和计算机可读存储介质,具有如上述方法相同的有益效果。

Description

小文件读加速方法、系统、装置及计算机可读存储介质
技术领域
本发明涉及分布式文件系统技术领域,特别是涉及一种小文件读加速方法。本发明还涉及一种小文件读加速系统、装置及计算机可读存储介质。
背景技术
云计算时代,用户对分布式文件系统的性能要求越来越高,不仅要求快速存储还要求快速读取。考虑到存储容量有效利用率,分布式文件系统在存储数据时通常采用纠删码的冗余规则。具体地,存储数据时根据K+M纠删码冗余规则将对象文件分成K份源数据块,再通过纠删算法计算出M份冗余数据块,然后将这K+M份数据块分别存储到K+M个硬盘上,每份数据块与其所在的硬盘一一对应。读取数据时只需读取K+M份数据块中的任意K份数据块就可以计算出存储的对象文件。
可见,在小文件应用场景中,读取一个小文件的数据时,分布式文件系统后端需要从至少K个硬盘上读取数据,所有的K个硬盘读取完成后再组装成对象数据,从对象数据中获取所需的小文件的数据,降低了小文件的读取速度,影响了分布式文件系统的读性能,使得小文件的读取成为了分布式文件系统的性能瓶颈。
因此如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种小文件读加速方法,加速了小文件的读取速度;本发明的另一目的是提供一种小文件读加速系统、装置及计算机可读存储介质,提高了分布式文件系统的读性能。
为解决上述技术问题,本发明提供了一种小文件读加速方法,应用于分布式文件系统,包括:
在接收到客户端发送的操作请求时,判断所述操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;
如果所述操作是所述读操作且所述缓存中存在完整的所述待操作的对象数据,则直接从所述缓存中读取所述待操作的对象数据;
如果所述操作是所述读操作且所述缓存中不存在完整的所述待操作的对象数据,则从硬盘中读取所述待操作的对象数据;
如果所述操作是所述编辑操作,则根据所述操作请求更新所述缓存。
优选地,所述从硬盘中读取所述待操作的对象数据之后,该方法还包括:
判断所述缓存中是否存在待操作的对象;
当所述缓存中不存在所述待操作的对象时,判断所述缓存是否满足缓存所述待操作的对象的条件;
如果所述缓存满足缓存所述待操作的对象的条件,则将读取到的所述待操作的对象数据保存至所述缓存。
优选地,所述根据所述操作请求更新所述缓存的过程具体为:
判断所述缓存中是否存在待操作的对象;
当所述缓存中存在所述待操作的对象时,判断所述缓存中是否存在部分或者完整的所述待操作的对象数据;
如果所述缓存中存在部分或者完整的所述待操作的对象数据,则根据所述操作请求更新所述缓存中存在的部分或者完整的所述待操作的对象数据;
当所述缓存中不存在所述待操作的对象时,判断所述缓存是否满足缓存所述待操作的对象的条件;
如果所述缓存满足缓存所述待操作的对象的条件,则将所述待操作的对象数据保存至所述缓存,并对所述缓存中保存的所述待操作的对象数据执行所述编辑操作。
优选地,如果所述操作是所述编辑操作,在接收到所述操作请求之后,所述根据所述操作请求更新所述缓存之前或者之后,该方法还包括:
对硬盘中的完整的所述待操作的对象数据执行所述编辑操作。
优选地,所述对硬盘中的完整的所述待操作的对象数据执行所述编辑操作之后,该方法还包括:
将执行完所述编辑操作的完整的所述待操作的对象数据发送至所述客户端。
优选地,如果所述操作是所述读操作,所述读取所述待操作的对象数据之后,该方法还包括:
将读取的所述待操作的对象数据发送至所述客户端。
优选地,当所述缓存中存在完整的所述待操作的对象数据时,所述待操作的对象数据保存在所述缓存中的主放置组。
为解决上述技术问题,本发明还提供了一种小文件读加速系统,应用于分布式文件系统,包括:
判断单元,用于在接收到客户端发送的操作请求时,判断所述操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;如果所述操作是所述读操作且所述缓存中存在完整的所述待操作的对象数据,则触发第一处理单元,如果所述操作是所述读操作且所述缓存中不存在完整的所述待操作的对象数据,则触发第二处理单元,如果所述操作是所述编辑操作,则触发第三处理单元;
所述第一处理单元,用于直接从所述缓存中读取所述待操作的对象数据;
所述第二处理单元,用于从硬盘中读取所述待操作的对象数据;
所述第三处理单元,用于根据所述操作请求更新所述缓存。
为解决上述技术问题,本发明还提供了一种小文件读加速装置,应用于分布式文件系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述小文件读加速方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,应用于分布式文件系统,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述小文件读加速方法的步骤。
本发明提供了一种小文件读加速方法,应用于分布式文件系统,包括:在接收到客户端发送的操作请求时,判断操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;如果操作是读操作且缓存中存在完整的待操作的对象数据,则直接从缓存中读取待操作的对象数据;如果操作是读操作且缓存中不存在完整的待操作的对象数据,则从硬盘中读取待操作的对象数据;如果操作是编辑操作,则根据操作请求更新缓存。
可见,本发明提供的小文件读加速方法,对分布式文件系统进行读操作时,如果缓存中存在完整的待操作的对象数据,直接从缓存中读取所需的数据,不再需要从硬盘中读取数据,从而以缓存的方式加速了小文件的读取速度,提高了分布式文件系统的读性能,提升了产品的竞争力。同时,对分布式文件系统进行编辑操作时,如果缓存中存在完整的待操作的对象数据,则及时更新缓存中的数据,保证了缓存中存储的数据是分布式文件系统最新的数据。
本发明还提供了一种小文件读加速系统、装置和计算机可读存储介质,具有如上述方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种小文件读加速方法的过程流程图;
图2为本发明提供的一种小文件读加速系统的结构示意图。
具体实施方式
本发明的核心是提供一种小文件读加速方法,加速了小文件的读取速度;本发明的另一核心是提供一种小文件读加速系统、装置及计算机可读存储介质,提高了分布式文件系统的读性能。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种小文件读加速方法的过程流程图,该方法应用于分布式文件系统,包括:
步骤S11:在接收到客户端发送的操作请求时,判断操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;
具体地,考虑到分布式文件系统后端从缓存中读取数据的速度明显高于从至少K个硬盘上读取数据的速度,为了提高在小文件应用场景中读取小文件数据的速度,本申请在缓存中预先保存对象的数据。当分布式文件系统接收到客户端发送的操作请求时,首先需要确定接收的操作请求对应的操作是否是读操作。如果不是读操作,则需要将接收的操作请求对应的操作进一步确定是否为编辑操作,由于编辑操作可能会改变分布式文件系统中的数据,也即可能会改变接下来进行读操作时待读取的小文件数据,所以需要将其与对小文件数据的读取不存在影响的其他操作区分开来,从而为客户端对分布式文件系统执行编辑操作时保证缓存中保存的数据与硬盘上保存的数据的一致性提供了有效保障。同时,当想要在缓存中读取待操作的对象数据时,需要缓存中存在完整的待操作的对象数据,所以本申请还需要判断缓存中是否存在完整的待操作的对象数据,从而为能否直接从缓存中读取所需的数据提供了有效的依据。
步骤S12:如果操作是读操作且缓存中存在完整的待操作的对象数据,则直接从缓存中读取待操作的对象数据;如果操作是读操作且缓存中不存在完整的待操作的对象数据,则从硬盘中读取待操作的对象数据;如果操作是编辑操作,则根据操作请求更新缓存。
具体地,如果缓存中存在完整的待操作的对象数据,那么读取小文件数据时则直接从缓存中读取所需的数据,避免了从至少K个硬盘上读取数据,从而避免了硬盘读取速度较慢的瓶颈,极大的提高了读取速度,进而提高了分布式文件系统的读性能。
具体地,当客户端发送的操作请求是读操作请求,但是缓存中不存在完整的所需读取的数据时,也即缓存中可能存在部分所需读取的数据或者不存在所需读取的数据时,无法直接从缓存中读取所需的数据,因此,本申请从硬盘上读取数据,从而使得客户端读取到的数据是完整准确的待读取的数据。
具体地,当客户端发送的操作请求是编辑操作请求时,为了保证对分布式文件系统执行完编辑操作之后,分布式文件系统中硬盘上保存的数据与缓存中保存的数据是完全相同的,分布式文件系统在接收到编辑操作请求时,如果缓存中存在待编辑的部分或者全部数据,需要对硬盘上保存的数据和缓存中保存的相应数据都执行编辑操作,从而使得缓存中保存的相应数据也根据接收到的编辑操作请求更新为最新的数据,进而使得分布式文件系在接收到读操作请求且缓存中存在完整的待读取的数据时,直接从缓存中读取的数据是分布式文件系统最新的数据,保证了读取的数据的准确性。
本发明提供了一种小文件读加速方法,应用于分布式文件系统,包括:在接收到客户端发送的操作请求时,判断操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;如果操作是读操作且缓存中存在完整的待操作的对象数据,则直接从缓存中读取待操作的对象数据;如果操作是读操作且缓存中不存在完整的待操作的对象数据,则从硬盘中读取待操作的对象数据;如果操作是编辑操作,则根据操作请求更新缓存。
可见,本发明提供的小文件读加速方法,对分布式文件系统进行读操作时,如果缓存中存在完整的待操作的对象数据,直接从缓存中读取所需的数据,不再需要从硬盘中读取数据,从而以缓存的方式加速了小文件的读取速度,提高了分布式文件系统的读性能,提升了产品的竞争力。同时,对分布式文件系统进行编辑操作时,如果缓存中存在完整的待操作的对象数据,则及时更新缓存中的数据,保证了缓存中存储的数据是分布式文件系统最新的数据。
在上述实施例的基础上:
作为一种优选地实施例,从硬盘中读取待操作的对象数据之后,该方法还包括:
判断缓存中是否存在待操作的对象;
当缓存中不存在待操作的对象时,判断缓存是否满足缓存待操作的对象的条件;
如果缓存满足缓存待操作的对象的条件,则将读取到的待操作的对象数据保存至缓存。
具体地,当操作是读操作且缓存中不存在完整的待操作的对象数据时,本申请需要从硬盘上读取所需的数据。具体地,缓存中不存在完整的待操作的对象数据是包括两种情况的,其中一种为缓存中存在待读取的对象,存在部分待读取的对象数据或者不存在待读取的对象数据,这种情况下,由于缓存中已经存在了待读取的对象,从硬盘中读取了所需的数据之后可以不更新缓存,也可以根据读取的数据更新缓存中存在的部分待读取的数据,本发明在此不做特别的限定,根据实际情况来定。另一种则为缓存中不存在待读取的对象,这种情况下,从硬盘中读取了所需的数据之后,如果缓存满足保存待操作的对象的条件,那么将读取到的待操作的对象数据保存至缓存,从而在不超过缓存的大小上限的条件下,增加了缓存中保存的数据,提高了分布式文件系统接收到读操作时的缓存命中率,从而提高了分布式文件系统的读性能。
作为一种优选地实施例,根据操作请求更新缓存的过程具体为:
判断缓存中是否存在待操作的对象;
当缓存中存在待操作的对象时,判断缓存中是否存在部分或者完整的待操作的对象数据;
如果缓存中存在部分或者完整的待操作的对象数据,则根据操作请求更新缓存中存在的部分或者完整的待操作的对象数据;
当缓存中不存在待操作的对象时,判断缓存是否满足缓存待操作的对象的条件;
如果缓存满足缓存待操作的对象的条件,则将待操作的对象数据保存至缓存,并对缓存中保存的待操作的对象数据执行编辑操作。
具体地,当客户端发送的操作请求是编辑操作请求时,为了保证缓存中的数据为最新的数据,需要根据接收的编辑操作请求更新缓存。具体地,当缓存中存在部分或者完整的待编辑的数据时,则直接对缓存中存在的部分或者完整的数据执行编辑操作即可,保证了缓存中保存的数据的准确性。当缓存中完全不存在待编辑的数据时,需要确定缓存中是否存在待编辑的对象,如果存在,则不需要对缓存做其他操作,如果不存在,则需要确定缓存能否满足保存待编辑的对象的条件,如果缓存满足保存待编辑的对象的条件,则将待编辑的对象数据保存至缓存,并及时更新,从而提高了分布式文件系统接收到读操作时的缓存命中率,同时保证了缓存中保存的数据与硬盘上保存的数据的一致性。
作为一种优选地实施例,如果操作是编辑操作,在接收到操作请求之后,根据操作请求更新缓存之前或者之后,该方法还包括:
对硬盘中的完整的待操作的对象数据执行编辑操作。
具体地,当接收到的操作请求是编辑操作请求时,无论缓存中存在完整的待编辑的数据还是不存在完整的待编辑的数据,本申请都对硬盘中的完整的待编辑的对象数据执行编辑操作。具体地,根据接收的编辑操作请求,将添加、删除和修复等编辑操作根据数据分布情况生成对应的信息,再将生成的信息发送到分布式文件系统的后端,分布式文件系统的后端对硬盘上的数据执行编辑操作,从而保证了硬盘上的数据为最新的数据,提高了分布式文件系统的数据准确性。当然,对硬盘中的完整的待操作的对象数据执行编辑操作,可以在根据操作请求更新缓存之前,也可以在据操作请求更新缓存之后,本发明在此不做特别的限定,根据实际情况来定。
作为一种优选地实施例,对硬盘中的完整的待操作的对象数据执行编辑操作之后,该方法还包括:
将执行完编辑操作的完整的待操作的对象数据发送至客户端。
具体地,考虑到本申请对小文件的数据进行编辑操作,是由于接收到了客户端的编辑操作请求,因此,在对硬盘中的完整的待操作的对象数据执行编辑操作之后,本申请还将执行完编辑操作的完整的编辑后的对象数据返回给客户端,从而使得客户端可以直观的查看编辑结果,了解分布式文件系统中存储的小文件的内容。
作为一种优选地实施例,如果操作是读操作,读取待操作的对象数据之后,该方法还包括:
将读取的待操作的对象数据发送至客户端。
具体地,考虑到本申请对小文件的数据进行读取操作,是由于接收到了客户端的读取操作请求,因此,无论是在缓存中读取到所需的数据之后,还是在硬盘中读取到所需的数据之后,本申请还将读取的数据返回给客户端,使得客户端可以接收到读取操作请求的返回信息,提升了用户体验。
作为一种优选地实施例,当缓存中存在完整的待操作的对象数据时,待操作的对象数据保存在缓存中的主放置组。
具体地,本申请为了提高小文件的读取速度,在缓存中保存小文件的对象的数据,具体地,本申请可以在缓存中的主放置组上缓存对象的数据,将放置组作为对象存储的最小单位,可以对放置组进行正确有效地管理,从而可以对放置组中缓存的对象的数据进行有效的管理。
请参照图2,图2为本发明提供的一种小文件读加速系统的结构示意图,该系统应用于分布式文件系统,包括:
判断单元1,用于在接收到客户端发送的操作请求时,判断操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;如果操作是读操作且缓存中存在完整的待操作的对象数据,则触发第一处理单元2,如果操作是读操作且缓存中不存在完整的待操作的对象数据,则触发第二处理单元3,如果操作是编辑操作,则触发第三处理单元4;
第一处理单元2,用于直接从缓存中读取待操作的对象数据;
第二处理单元3,用于从硬盘中读取待操作的对象数据;
第三处理单元4,用于根据操作请求更新缓存。
对于本发明提供的系统的介绍请参照上述方法实施例,本发明在此不再赘述。
本发明还提供一种小文件读加速装置,应用于分布式文件系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述任一项小文件读加速方法的步骤。
对于本发明提供的装置的介绍请参照上述方法实施例,本发明在此不再赘述。
本发明还提供一种计算机可读存储介质,应用于分布式文件系统,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一项小文件读加速方法的步骤。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统、装置和计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种小文件读加速方法,应用于分布式文件系统,其特征在于,包括:
在接收到客户端发送的操作请求时,判断所述操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;
如果所述操作是所述读操作且所述缓存中存在完整的所述待操作的对象数据,则直接从所述缓存中读取所述待操作的对象数据;
如果所述操作是所述读操作且所述缓存中不存在完整的所述待操作的对象数据,则从硬盘中读取所述待操作的对象数据;
如果所述操作是所述编辑操作,则根据所述操作请求更新所述缓存。
2.根据权利要求1所述的小文件读加速方法,其特征在于,所述从硬盘中读取所述待操作的对象数据之后,该方法还包括:
判断所述缓存中是否存在待操作的对象;
当所述缓存中不存在所述待操作的对象时,判断所述缓存是否满足缓存所述待操作的对象的条件;
如果所述缓存满足缓存所述待操作的对象的条件,则将读取到的所述待操作的对象数据保存至所述缓存。
3.根据权利要求1所述的小文件读加速方法,其特征在于,所述根据所述操作请求更新所述缓存的过程具体为:
判断所述缓存中是否存在待操作的对象;
当所述缓存中存在所述待操作的对象时,判断所述缓存中是否存在部分或者完整的所述待操作的对象数据;
如果所述缓存中存在部分或者完整的所述待操作的对象数据,则根据所述操作请求更新所述缓存中存在的部分或者完整的所述待操作的对象数据;
当所述缓存中不存在所述待操作的对象时,判断所述缓存是否满足缓存所述待操作的对象的条件;
如果所述缓存满足缓存所述待操作的对象的条件,则将所述待操作的对象数据保存至所述缓存,并对所述缓存中保存的所述待操作的对象数据执行所述编辑操作。
4.根据权利要求1所述的小文件读加速方法,其特征在于,如果所述操作是所述编辑操作,在接收到所述操作请求之后,所述根据所述操作请求更新所述缓存之前或者之后,该方法还包括:
对硬盘中的完整的所述待操作的对象数据执行所述编辑操作。
5.根据权利要求4所述的小文件读加速方法,其特征在于,所述对硬盘中的完整的所述待操作的对象数据执行所述编辑操作之后,该方法还包括:
将执行完所述编辑操作的完整的所述待操作的对象数据发送至所述客户端。
6.根据权利要求1所述的小文件读加速方法,其特征在于,如果所述操作是所述读操作,所述读取所述待操作的对象数据之后,该方法还包括:
将读取的所述待操作的对象数据发送至所述客户端。
7.根据权利要求6所述的小文件读加速方法,其特征在于,当所述缓存中存在完整的所述待操作的对象数据时,所述待操作的对象数据保存在所述缓存中的主放置组。
8.一种小文件读加速系统,应用于分布式文件系统,其特征在于,包括:
判断单元,用于在接收到客户端发送的操作请求时,判断所述操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;如果所述操作是所述读操作且所述缓存中存在完整的所述待操作的对象数据,则触发第一处理单元,如果所述操作是所述读操作且所述缓存中不存在完整的所述待操作的对象数据,则触发第二处理单元,如果所述操作是所述编辑操作,则触发第三处理单元;
所述第一处理单元,用于直接从所述缓存中读取所述待操作的对象数据;
所述第二处理单元,用于从硬盘中读取所述待操作的对象数据;
所述第三处理单元,用于根据所述操作请求更新所述缓存。
9.一种小文件读加速装置,应用于分布式文件系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述小文件读加速方法的步骤。
10.一种计算机可读存储介质,应用于分布式文件系统,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述小文件读加速方法的步骤。
CN201710881442.5A 2017-09-26 2017-09-26 小文件读加速方法、系统、装置及计算机可读存储介质 Pending CN107656701A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710881442.5A CN107656701A (zh) 2017-09-26 2017-09-26 小文件读加速方法、系统、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710881442.5A CN107656701A (zh) 2017-09-26 2017-09-26 小文件读加速方法、系统、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN107656701A true CN107656701A (zh) 2018-02-02

Family

ID=61129998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710881442.5A Pending CN107656701A (zh) 2017-09-26 2017-09-26 小文件读加速方法、系统、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107656701A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920300A (zh) * 2018-08-02 2018-11-30 郑州云海信息技术有限公司 一种数据操作方法及相关装置
CN108959405A (zh) * 2018-06-06 2018-12-07 深圳市远行科技股份有限公司 数据的强一致性读取方法及终端设备
CN108958667A (zh) * 2018-08-15 2018-12-07 郑州云海信息技术有限公司 一种基于分布式存储系统的数据读取方法、系统及装置
CN109034982A (zh) * 2018-09-05 2018-12-18 满金坝(深圳)科技有限公司 千万级订单表中订单信息加速处理方法及装置
CN109254879A (zh) * 2018-09-27 2019-01-22 南方电网科学研究院有限责任公司 一种数据处理方法、系统、装置及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103608785A (zh) * 2013-06-21 2014-02-26 华为技术有限公司 一种文件读取方法、存储设备及读取系统
US20170004086A1 (en) * 2015-06-30 2017-01-05 Korea Electronics Technology Institute Cache management method for optimizing read performance of distributed file system
CN106570108A (zh) * 2016-11-01 2017-04-19 中国科学院计算机网络信息中心 一种云存储环境下海量数据自适应读取优化方法及系统
CN106776759A (zh) * 2016-11-17 2017-05-31 郑州云海信息技术有限公司 分布式文件系统的小文件预读方法及系统
CN106775498A (zh) * 2017-01-23 2017-05-31 深圳国泰安教育技术股份有限公司 一种缓存数据同步方法及系统
CN106843770A (zh) * 2017-01-23 2017-06-13 北京思特奇信息技术股份有限公司 一种分布式文件系统中小文件数据存储、读取方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103608785A (zh) * 2013-06-21 2014-02-26 华为技术有限公司 一种文件读取方法、存储设备及读取系统
US20170004086A1 (en) * 2015-06-30 2017-01-05 Korea Electronics Technology Institute Cache management method for optimizing read performance of distributed file system
CN106570108A (zh) * 2016-11-01 2017-04-19 中国科学院计算机网络信息中心 一种云存储环境下海量数据自适应读取优化方法及系统
CN106776759A (zh) * 2016-11-17 2017-05-31 郑州云海信息技术有限公司 分布式文件系统的小文件预读方法及系统
CN106775498A (zh) * 2017-01-23 2017-05-31 深圳国泰安教育技术股份有限公司 一种缓存数据同步方法及系统
CN106843770A (zh) * 2017-01-23 2017-06-13 北京思特奇信息技术股份有限公司 一种分布式文件系统中小文件数据存储、读取方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959405A (zh) * 2018-06-06 2018-12-07 深圳市远行科技股份有限公司 数据的强一致性读取方法及终端设备
CN108959405B (zh) * 2018-06-06 2021-08-17 深圳市远行科技股份有限公司 数据的强一致性读取方法及终端设备
CN108920300A (zh) * 2018-08-02 2018-11-30 郑州云海信息技术有限公司 一种数据操作方法及相关装置
CN108958667A (zh) * 2018-08-15 2018-12-07 郑州云海信息技术有限公司 一种基于分布式存储系统的数据读取方法、系统及装置
CN109034982A (zh) * 2018-09-05 2018-12-18 满金坝(深圳)科技有限公司 千万级订单表中订单信息加速处理方法及装置
CN109034982B (zh) * 2018-09-05 2022-06-17 满金坝(深圳)科技有限公司 千万级订单表中订单信息加速处理方法及装置
CN109254879A (zh) * 2018-09-27 2019-01-22 南方电网科学研究院有限责任公司 一种数据处理方法、系统、装置及可读存储介质

Similar Documents

Publication Publication Date Title
CN107656701A (zh) 小文件读加速方法、系统、装置及计算机可读存储介质
Dautrich et al. Burst {ORAM}: Minimizing {ORAM} response times for bursty access patterns
CN103136243B (zh) 基于云存储的文件系统去重方法及装置
US8412690B2 (en) In-memory processing for a data warehouse
KR102564170B1 (ko) 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체
US8719237B2 (en) Method and apparatus for deleting duplicate data
US9336152B1 (en) Method and system for determining FIFO cache size
US8495166B2 (en) Optimized caching for large data requests
US8291186B2 (en) Volume record data set optimization apparatus and method
EP3316150B1 (en) Method and apparatus for file compaction in key-value storage system
CN102694828B (zh) 一种分布式缓存系统数据存取的方法及装置
EP2478442A1 (en) Caching data between a database server and a storage system
CN107562915A (zh) 读取小文件的方法、装置和设备及计算机可读存储介质
CN111506604B (zh) 访问数据的方法、装置和计算机程序产品
CN109144406A (zh) 分布式存储系统中元数据存储方法、系统及存储介质
CN109471843A (zh) 一种元数据缓存方法、系统及相关装置
US10846015B2 (en) Early IO control techniques for a remote data facility
CN107506466A (zh) 一种小文件存储方法及系统
US7058766B2 (en) Method and system of adaptive replacement cache with temporal filtering
CN107066505A (zh) 一种性能优化的小文件存储访问的系统及方法
US20200320002A1 (en) Intelligently managing data facility caches
US20190114082A1 (en) Coordination Of Compaction In A Distributed Storage System
US20170262485A1 (en) Non-transitory computer-readable recording medium, data management device, and data management method
US11853229B2 (en) Method and apparatus for updating cached information, device, and medium
CN113742131B (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

Application publication date: 20180202

RJ01 Rejection of invention patent application after publication