CN110795030A - 小文件读取方法及装置 - Google Patents
小文件读取方法及装置 Download PDFInfo
- Publication number
- CN110795030A CN110795030A CN201910965269.6A CN201910965269A CN110795030A CN 110795030 A CN110795030 A CN 110795030A CN 201910965269 A CN201910965269 A CN 201910965269A CN 110795030 A CN110795030 A CN 110795030A
- Authority
- CN
- China
- Prior art keywords
- read
- small file
- memory module
- reading
- file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000009877 rendering Methods 0.000 claims description 24
- 230000005055 memory storage Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006855 networking Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种小文件读取方法及装置,应用于分布式存储系统包括的网关服务器,所述分布式存储系统还包括存储服务器和内存模块,所述内存模块用于缓存预先从所述存储服务器加载的小文件,所述方法包括:接收客户端设备发送的读请求,所述读请求包括待读取小文件的标识;根据所述待读取小文件的标识,从所述内存模块中读取所述待读取小文件;向所述客户端设备发送读响应,所述读响应包括所述待读取小文件。本发明中,存储服务器无需采用全闪存存储介质,可有效降低分布式存储系统成本,同时,提升分布式存储系统并发处理能力。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种小文件读取方法及装置。
背景技术
在基于海量小文件的纯读应用场景(比如,视频渲染)下,对分布式存储系统的并发读取性能要求非常高。为了满足超高并发访问需求,分布式存储系统通常采用对象存储服务,且系统中的存储服务器均采用全闪存存储介质,以尽量满足用户的超高并发需求。但是,全闪存存储介质价格昂贵,且并不能极大提升分布式存储系统的并发读取性能。
发明内容
本发明为了解决现有小文件读取过程中分布式存储系统的并发读取性能不高的问题,提出一种小文件读取方法及装置,用以提升小文件读取过程中分布式存储系统的并发读取性能。
为实现上述发明目的,本发明提供了如下技术方案:
第一方面,本发明提供一种小文件读取方法,应用于分布式存储系统包括的网关服务器,所述分布式存储系统还包括存储服务器和内存模块,所述内存模块用于缓存预先从所述存储服务器加载的小文件,所述方法包括:
接收客户端设备发送的读请求,所述读请求包括待读取小文件的标识;
根据所述待读取小文件的标识,从所述内存模块中读取所述待读取小文件;
向所述客户端设备发送读响应,所述读响应包括所述待读取小文件。
可选的,所述接收客户端设备发送的读请求之前,所述方法还包括:
接收所述客户端设备发送的缓存指令,所述缓存指令包括待渲染对象的标识;
基于所述待渲染对象的标识,确定渲染所述待渲染对象需要用到的待缓存小文件;
将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中。
可选的,所述将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中,包括:
确定所述待缓存小文件对应的至少一个对象在所述存储服务器中的存储位置;
基于确定出的各存储位置,从存储服务器中读取所述待缓存小文件对应的至少一个对象;
将所述待缓存小文件对应的至少一个对象存储到所述内存模块中。
可选的,所述接收客户端设备发送的读请求之前,所述方法还包括:
接收多个客户端设备的连接请求,与所述多个客户端设备建立连接;
从已建立的多个连接中,确定活跃连接;
所述接收客户端设备发送的读请求,包括:
接收客户端设备通过所述活跃连接传输的读请求。
可选的,所述从已建立的多个连接中,确定活跃连接,包括:
利用epoll IO模型,从已建立的多个连接中,确定活跃连接。
第二方面,本发明提供一种小文件读取装置,应用于分布式存储系统包括的网关服务器,所述分布式存储系统还包括存储服务器和内存模块,所述内存模块用于缓存预先从所述存储服务器加载的小文件,所述装置包括:
请求接收单元,用于接收客户端设备发送的读请求,所述读请求包括待读取小文件的标识;
文件读取单元,用于根据所述待读取小文件的标识,从所述内存模块中读取所述待读取小文件;
响应发送单元,用于向所述客户端设备发送读响应,所述读响应包括所述待读取小文件。
可选的,所述装置还包括:
指令接收单元,用于接收所述客户端设备发送的缓存指令,所述缓存指令包括待渲染对象的标识;
文件确定单元,用于基于所述待渲染对象的标识,确定渲染所述待渲染对象需要用到的待缓存小文件;
文件加载单元,用于将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中。
可选的,所述文件加载单元将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中,包括:
确定所述待缓存小文件对应的至少一个对象在所述存储服务器中的存储位置;
基于确定出的各存储位置,从存储服务器中读取所述待缓存小文件对应的至少一个对象;
将所述待缓存小文件对应的至少一个对象存储到所述内存模块中。
可选的,所述装置还包括:
连接建立单元,用于接收多个客户端设备的连接请求,与所述多个客户端设备建立连接;
连接确定单元,用于从已建立的多个连接中,确定活跃连接;
所述请求接收单元接收客户端设备发送的读请求,包括:
接收客户端设备通过所述活跃连接传输的读请求。
可选的,所述连接确定单元从已建立的多个连接中,确定活跃连接,包括:
利用epoll IO模型,从已建立的多个连接中,确定活跃连接。
第三方面,本发明提供一种网关服务器,所述网关服务器包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述小文件读取方法。
第四方面,本发明提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上述小文件读取方法。
由以上描述可以看出,本发明中,存储服务器无需采用全闪存存储介质,只需在分布式存储系统中增加内存模块,利用内存模块缓存存储服务器中的海量小文件,即可达到降低分布式存储系统成本,提升分布式存储系统并发处理能力的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例示出的一种分布式存储系统的组网示意图;
图2是本发明实施例示出的一种小文件读取方法流程图;
图3是本发明实施例示出的一种缓存小文件的实现流程;
图4是本发明实施例示出的一种步骤303的实现流程;
图5是本发明实施例示出的一种建立连接的实现流程;
图6是本发明实施例示出的一种网关服务器维护的连接链表;
图7是本发明实施例示出的一种小文件读取装置的结构示意图;
图8是本发明实施例示出的一种网关服务器的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例提供一种小文件读取方法,该方法中,存储服务器无需采用全闪存存储介质,只需在分布式存储系统中增加内存模块。利用内存模块缓存存储服务器中的海量小文件,达到降低分布式存储系统成本,提升分布式存储系统并发处理能力的目的。
为了使本发明实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明实施例执行详细描述:
参见图1,为本发明实施例示出的一种分布式存储系统的组网示意图。该分布式存储系统包括域名系统(Domain Name System,缩写:DNS)服务器110、网关服务器121、网关服务器122、存储服务器131~存储服务器133。
该分布式存储系统提供对象存储服务。客户端设备可通过域名访问分布式存储系统。DNS服务器对客户端设备的访问请求进行域名解析,并基于预设的负载均衡算法,将客户端设备的访问请求分发给各网关服务器。网关服务器与客户端设备建立连接后,根据客户端设备的读写请求对存储服务器执行读写操作。
需要说明的是,本发明实施例中,存储服务器的存储介质可采用机械硬盘(HardDisk Drive,缩写:HDD),或者,机械硬盘加固态硬盘(Solid State Drive,缩写:SSD)。
在一些高并发读取小文件(比如,小于100K的文件)的应用场景中,比如,视频渲染,存储服务器存储有海量用于视频渲染的小文件。当从存储服务器中读取小文件时,其读取速度直接影响渲染效率。
为此,本发明实施例在分布式存储系统中,部署内存模块(图1中未示出),用于缓存分布式存储系统中的海量小文件。
该内存模块可为独立的内存服务器,也可由部署于各服务器(比如,网关服务器)中的分布式内存组成。
各网关服务器均可访问该内存模块。该内存模块的容量可根据实际应用场景预先定制。
参见图2,为本发明实施例示出的一种小文件读取方法的流程图。该流程应用于分布式存储系统包括的网关服务器。
步骤201,网关服务器接收客户端设备发送的读请求。
网关服务器与客户端设备通信之前,需要与客户端设备建立连接。
网关服务器与客户端设备建立连接的过程,在下文中描述,这里暂不赘述。
当客户端设备需要读取小文件时,通过已建立的连接发送读请求,该读请求包括待读取小文件的标识。
网关服务器接收客户端设备发送的读请求,获取该读请求包括的待读取小文件的标识。
步骤202,网关服务器根据待读取小文件的标识,从内存模块中读取待读取小文件。
本发明实施例中,内存模块预先缓存有分布式存储系统中的小文件。
利用内存模块缓存小文件的过程,在下文中描述,这里暂不赘述。
本步骤中,网关服务器可直接根据步骤201获取到的待读取小文件的标识,从内存模块中读取该待读取小文件。
由于内存读取速度明显高于HDD硬盘(或SSD硬盘)的读取速度,因此,可有效提升分布式存储系统针对小文件的并发读取能力,满足海量小文件渲染场景的小文件读取速度。
步骤203,网关服务器向客户端设备发送读响应。
网关服务器通过步骤202获取到待读取小文件后,向客户端设备发送读响应。可以理解的是,该读响应包括通过步骤202获取到的待读取小文件。
客户端设备接收读响应,获取该读响应包括的小文件,即客户端设备请求的小文件。
至此,完成图2所示流程。
通过图2所示流程可以看出,本发明实施例中,存储服务器无需采用全闪存存储介质,只需在分布式存储系统中增加内存模块。利用内存模块缓存存储服务器中的海量小文件,达到降低分布式存储系统成本,提升分布式存储系统并发处理能力的目的。
作为一个实施例,在执行步骤201之前,网关服务器可执行如下缓存小文件的过程。参见图3,为本发明实施例示出的一种缓存小文件的实现流程。
如图3所示,该流程可包括以下步骤:
步骤301,网关服务器接收客户端设备发送的缓存指令。
客户端设备执行渲染任务之前,需要向网关服务器发送缓存指令。该缓存指令包括待渲染对象的标识。
作为一个例子,该待渲染对象为视频1,该视频1包括若干图片(如,图片1-图片N)和若干其它数据文件(如,数据文件1-数据文件M)。该若干图片和若干其它数据文件预先存储至分布式存储系统中的存储服务器上。客户端设备在渲染视频1之前,向网关服务器发送缓存指令,该缓存指令包括视频1的标识。
当然,在存储视频1包括的若干图片和若干其它数据文件至存储服务器时,网关服务器本地会维护视频1的标识与其包括的若干图片和若干其它数据文件的标识的对应关系。
网关服务器接收缓存指令,获取缓存指令包括的待渲染对象的标识。
步骤302,网关服务器基于待渲染对象的标识,确定渲染该待渲染对象需要用到的待缓存小文件。
网关服务器本地记录有渲染对象的标识与渲染该渲染对象所需小文件的标识的对应关系。比如,视频1的标识与图片1-图片N和数据文件1-数据文件M的标识的对应关系。
当网关服务器通过步骤301获取到待渲染对象的标识时,查询本地记录的对应关系。找到与该待渲染对象的标识匹配的对应关系,获取该匹配到的对应关系中的小文件标识。该小文件标识对应的小文件即为渲染该待渲染对象所需的待缓存小文件。比如,网关服务器根据视频1的标识,可查找到与视频1的标识对应的图片1-图片N和数据文件1-数据文件M的标识,从而确定图片1-图片N和数据文件1-数据文件M为待缓存的小文件。
步骤303,网关服务器将存储于存储服务器中的待缓存小文件加载到内存模块中。
网关服务器通过步骤302确定出待缓存的小文件后,从存储服务器中读取待缓存小文件加载到内存模块中。比如,将数据文件1-数据文件M从存储服务器中加载到内存模块中。以便网关服务器通过执行前述步骤201~步骤203,向客户端设备提供渲染所需的小文件。
网关服务器将存储于存储服务器中的待缓存小文件加载到内存模块中的过程,在下文中描述,这里暂不赘述。
至此,完成图3所示流程。
通过图3所示流程,实现对小文件的缓存。
作为一个实施例,下面对步骤303中网关服务器将存储于存储服务器中的待缓存小文件加载到内存模块中的过程进行描述。参见图4,为本发明实施例示出的一种步骤303的实现流程。
如图4所示,该流程可包括以下步骤:
步骤401,网关服务器确定待缓存小文件对应的至少一个对象在存储服务器中的存储位置。
如前所述,本发明实施例中,分布式存储系统提供基于对象的存储服务。每一个文件可被拆分成一个或多个对象存储于分布式存储系统中的各存储服务器上。
当网关服务器通过步骤302确定出待缓存的小文件后,可获取在写入该待缓存小文件时记录的该待缓存小文件的存储信息。该存储信息至少包括该待缓存小文件对应的对象的名称、对象的存储路径信息等。网关服务器可根据对象信息(名称、路径等)确定对象存储在哪一个存储服务器上,以及在存储服务器上的具体位置。
比如,数据文件1对应对象1-对象5。以对象1为例,网关服务器可根据记录的对象1的名称、路径,计算出对象1的存储位置(如,存储服务器1中的位置1)。以此类推,分别计算出对象2-对象5的存储位置。
步骤402,网关服务器基于确定出的各存储位置,从存储服务器中读取待缓存小文件对应的至少一个对象。
比如,基于前述步骤确定的对象1-对象5的存储位置,从相应存储服务器读取对象1-对象5。
步骤403,网关服务器将待缓存小文件对应的至少一个对象存储到内存模块中。
比如,网关服务器将对象1-对象5加载到内存模块中,从而完成对数据文件1的缓存。其它数据文件的缓存过程相同,不再赘述。
至此,完成图4所示流程。
通过图4所示流程,完成小文件从存储服务器到内存模块的加载。
作为一个实施例,在执行步骤201之前,网关服务器还可执行如下连接建立过程。参见图5,为本发明实施例示出的一种建立连接的实现流程。
如图5所示,该流程可包括以下步骤:
步骤501,网关服务器接收多个客户端设备的连接请求,与多个客户端设备建立连接。
客户端设备在访问分布式存储系统之前,需要向分布式存储系统发送连接请求,比如,Socket请求。该连接请求由DNS服务器分发至网关服务器。
网关服务器接收客户端设备的连接请求,与客户端设备建立连接。
步骤502,网关服务器从已建立的多个连接中,确定活跃连接。
由于网络延时的存在,虽然网关服务器与多个客户端设备建立了连接,但同一时间点不可能所有连接都处于活跃状态。为此,本发明实施例中,网关服务器从已建立的多个连接中,筛选活跃连接。
作为一种实施方式,网关服务器可利用epoll IO模型,从已建立的多个连接中,筛选活跃连接。具体的,该epoll IO模型维护有用于记录活跃连接的链表,当某一连接上有数据时,该连接被记录到链表中。
网关服务器仅针对链表中的活跃连接执行步骤201,即,接收通过活跃连接传输的读请求。从而大大提升分布式存储系统的并发处理能力。
至此,完成图5所示流程。
通过图5所示流程,网关服务器可与大量客户端设备建立连接,提升整个分布式存储系统的并发处理能力。
下面通过具体实施例对本发明实施例提供的方法进行描述:
在某一渲染应用场景下,采用图1所示分布式存储系统存储用于渲染的海量小文件。该海量小文件预先存储于存储服务器131~存储服务器133的非易失性存储介质中,比如,HDD硬盘中。
分布式存储系统的网关服务器中部署有内存。比如,网关服务器121中部署有内存121,网关服务器122中部署有内存122。网关服务器121和网关服务器122均可访问内存121和内存122。
以用户需要渲染视频1为例。在渲染视频1之前,用户可通过客户端设备(图1中未示出)向分布式存储系统下发缓存指令,该缓存指令包括视频1的标识。该缓存指令由DNS服务器分发给某一网关服务器(比如,网关服务器121)执行。
网关服务器121接收到缓存指令后,获取该缓存指令包括的视频1的标识。根据视频1的标识,查询本地记录的与视频1的标识对应的小文件的标识(比如,小文件1-小文件P的标识)。即,确定出渲染视频1所需的小文件包括小文件1-小文件P。
以小文件1为例,网关服务器121获取存储小文件1时记录的小文件1对应的对象(比如,对象1-对象5)的信息。以对象1为例,网关服务器根据对象1的对象信息(名称、路径等)计算对象1的存储位置,比如,位于存储服务器131的位置1。以此类推,可计算出对象2-对象5的存储位置。网关服务器121从计算出的对象1-对象5的存储位置,分别读取对象1-对象5。即,获取到小文件1对应的对象1-对象5。网关服务器121将对象1-对象5加载到内存121中,即,完成小文件1的缓存。以此类推,可完成对小文件2-小文件P的缓存。
在实际应用中,会有大量客户端设备访问分布式存储系统(比如,域名为www.object.com),以获取其所需要的小文件。客户端设备发送的访问请求(Socket请求)首先到达分布式存储系统的DNS服务器110。DNS服务器110进行域名解析,并基于负载分担算法,将Socket请求分发给各网关服务器。
以网关服务器121为例。网关服务器121接收到20003个Socket请求,对应建立20003个Socket连接。网关服务器121利用epoll IO模型,从该20003个连接中不断确定活跃连接,维护活跃连接链表,如图6所示。其中,链表1用于记录网络服务器121建立的所有连接(连接1~连接20003)。链表2用于记录经epoll IO模型处理后的活跃连接。
当开始执行视频1的渲染时,客户端设备通过与网关服务器121建立的连接发送读请求,该读请求包括当前渲染所需小文件的标识,比如,小文件1的标识。网关服务器121基于epoll IO模型将该客户端设备与网关服务器121的连接添加到链表2中。通过轮询链表2中的活跃连接,接收到客户端设备发送的读请求。获取该读请求包括的小文件1的标识。
网关服务器121基于小文件1的标识,从内存121中读取小文件1,再通过与该客户端设备之间的连接发送给客户端设备。
客户端设备基于小文件1渲染视频1。以此类推,可获取小文件2-小文件P渲染视频1。
至此,完成对本实施例的描述。
以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述:
参见图7,为本发明实施例提供的装置的结构示意图。该小文件读取装置包括:请求接收单元701、文件读取单元702以及响应发送单元703,其中:
请求接收单元701,用于接收客户端设备发送的读请求,所述读请求包括待读取小文件的标识;
文件读取单元702,用于根据所述待读取小文件的标识,从所述内存模块中读取所述待读取小文件;
响应发送单元703,用于向所述客户端设备发送读响应,所述读响应包括所述待读取小文件。
作为一个实施例,所述装置还包括:
指令接收单元,用于接收所述客户端设备发送的缓存指令,所述缓存指令包括待渲染对象的标识;
文件确定单元,用于基于所述待渲染对象的标识,确定渲染所述待渲染对象需要用到的待缓存小文件;
文件加载单元,用于将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中。
作为一个实施例,所述文件加载单元将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中,包括:
确定所述待缓存小文件对应的至少一个对象在所述存储服务器中的存储位置;
基于确定出的各存储位置,从存储服务器中读取所述待缓存小文件对应的至少一个对象;
将所述待缓存小文件对应的至少一个对象存储到所述内存模块中。
作为一个实施例,所述装置还包括:
连接建立单元,用于接收多个客户端设备的连接请求,与所述多个客户端设备建立连接;
连接确定单元,用于从已建立的多个连接中,确定活跃连接;
所述请求接收单元701接收客户端设备发送的读请求,包括:
接收客户端设备通过所述活跃连接传输的读请求。
作为一个实施例,所述连接确定单元从已建立的多个连接中,确定活跃连接,包括:
利用epoll IO模型,从已建立的多个连接中,确定活跃连接。
至此,完成图7所示装置的描述。
下面对本发明实施例提供的网关服务器进行描述:
参见图8,为本发明实施例提供的一种网关服务器的硬件结构示意图。该服务器可包括处理器801、存储有机器可执行指令的机器可读存储介质802。处理器801与机器可读存储介质802可经由系统总线803通信。并且,通过读取并执行机器可读存储介质802中与小文件读取逻辑对应的机器可执行指令,处理器801可执行上文描述的小文件读取方法。
本文提到的机器可读存储介质802可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质802可以包括如下至少一个种存储介质:易失存储器、非易失性存储器、其它类型存储介质。其中,易失性存储器可为RAM(Random Access Memory,随机存取存储器),非易失性存储器可为闪存、存储驱动器(如硬盘驱动器)、固态硬盘、存储盘(如光盘、DVD等)。
本发明实施例还提供一种包括机器可执行指令的机器可读存储介质,例如图8中的机器可读存储介质802,所述机器可执行指令可由网关服务器中的处理器801执行,以实现以上描述的小文件读取方法。
至此,完成图8所示服务器的描述。
以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种小文件读取方法,应用于分布式存储系统包括的网关服务器,其特征在于,所述分布式存储系统还包括存储服务器和内存模块,所述内存模块用于缓存预先从所述存储服务器加载的小文件,所述方法包括:
接收客户端设备发送的读请求,所述读请求包括待读取小文件的标识;
根据所述待读取小文件的标识,从所述内存模块中读取所述待读取小文件;
向所述客户端设备发送读响应,所述读响应包括所述待读取小文件。
2.如权利要求1所述的方法,其特征在于,所述接收客户端设备发送的读请求之前,所述方法还包括:
接收所述客户端设备发送的缓存指令,所述缓存指令包括待渲染对象的标识;
基于所述待渲染对象的标识,确定渲染所述待渲染对象需要用到的待缓存小文件;
将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中。
3.如权利要求2所述的方法,其特征在于,所述将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中,包括:
确定所述待缓存小文件对应的至少一个对象在所述存储服务器中的存储位置;
基于确定出的各存储位置,从存储服务器中读取所述待缓存小文件对应的至少一个对象;
将所述待缓存小文件对应的至少一个对象存储到所述内存模块中。
4.如权利要求1所述的方法,其特征在于,所述接收客户端设备发送的读请求之前,所述方法还包括:
接收多个客户端设备的连接请求,与所述多个客户端设备建立连接;
从已建立的多个连接中,确定活跃连接;
所述接收客户端设备发送的读请求,包括:
接收客户端设备通过所述活跃连接传输的读请求。
5.如权利要求4所述的方法,其特征在于,所述从已建立的多个连接中,确定活跃连接,包括:
利用epoll IO模型,从已建立的多个连接中,确定活跃连接。
6.一种小文件读取装置,应用于分布式存储系统包括的网关服务器,其特征在于,所述分布式存储系统还包括存储服务器和内存模块,所述内存模块用于缓存预先从所述存储服务器加载的小文件,所述装置包括:
请求接收单元,用于接收客户端设备发送的读请求,所述读请求包括待读取小文件的标识;
文件读取单元,用于根据所述待读取小文件的标识,从所述内存模块中读取所述待读取小文件;
响应发送单元,用于向所述客户端设备发送读响应,所述读响应包括所述待读取小文件。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
指令接收单元,用于接收所述客户端设备发送的缓存指令,所述缓存指令包括待渲染对象的标识;
文件确定单元,用于基于所述待渲染对象的标识,确定渲染所述待渲染对象需要用到的待缓存小文件;
文件加载单元,用于将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中。
8.如权利要求7所述的装置,其特征在于,所述文件加载单元将存储于所述存储服务器中的所述待缓存小文件加载到所述内存模块中,包括:
确定所述待缓存小文件对应的至少一个对象在所述存储服务器中的存储位置;
基于确定出的各存储位置,从存储服务器中读取所述待缓存小文件对应的至少一个对象;
将所述待缓存小文件对应的至少一个对象存储到所述内存模块中。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
连接建立单元,用于接收多个客户端设备的连接请求,与所述多个客户端设备建立连接;
连接确定单元,用于从已建立的多个连接中,确定活跃连接;
所述请求接收单元接收客户端设备发送的读请求,包括:
接收客户端设备通过所述活跃连接传输的读请求。
10.如权利要求9所述的装置,其特征在于,所述连接确定单元从已建立的多个连接中,确定活跃连接,包括:
利用epoll IO模型,从已建立的多个连接中,确定活跃连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965269.6A CN110795030A (zh) | 2019-10-11 | 2019-10-11 | 小文件读取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965269.6A CN110795030A (zh) | 2019-10-11 | 2019-10-11 | 小文件读取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110795030A true CN110795030A (zh) | 2020-02-14 |
Family
ID=69439001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910965269.6A Pending CN110795030A (zh) | 2019-10-11 | 2019-10-11 | 小文件读取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795030A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033173A (zh) * | 2021-04-26 | 2021-06-25 | 广州文石信息科技有限公司 | 一种流式文档图片加载方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
CN106407341A (zh) * | 2016-09-05 | 2017-02-15 | 努比亚技术有限公司 | 页面处理的方法、装置及系统 |
-
2019
- 2019-10-11 CN CN201910965269.6A patent/CN110795030A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
CN106407341A (zh) * | 2016-09-05 | 2017-02-15 | 努比亚技术有限公司 | 页面处理的方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
李东阳等: "基于SSD的云存储主服务器元数据管理研究", 《计算机技术与发展》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033173A (zh) * | 2021-04-26 | 2021-06-25 | 广州文石信息科技有限公司 | 一种流式文档图片加载方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844399B (zh) | 自动监控数据库服务的方法、存储介质、电子设备及系统 | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
JP6388339B2 (ja) | 分散キャッシングおよびキャッシュ分析 | |
CN107547623B (zh) | 应用数据传输方法、装置、应用服务器和应用代理服务器 | |
CN105573667A (zh) | 一种数据读取方法和存储服务器 | |
CN109783462B (zh) | 一种基于分布式文件系统的数据访问方法和装置 | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
CN111064804A (zh) | 网络访问方法和装置 | |
CN114051056A (zh) | 数据缓存及读取方法、数据存取系统 | |
CN110018879B (zh) | 应用于分布式系统的延迟加载方法及装置 | |
US10545667B1 (en) | Dynamic data partitioning for stateless request routing | |
CN108230487A (zh) | 共享摄像头资源的方法及设备 | |
CN109889561A (zh) | 一种数据处理方法及装置 | |
CN111796772B (zh) | 缓存的管理方法、缓存节点及分布式存储系统 | |
CN110795030A (zh) | 小文件读取方法及装置 | |
CN112532763A (zh) | 一种容器运行数据同步方法及装置 | |
CN105426125B (zh) | 一种数据存储方法及装置 | |
CN112800123B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111600943A (zh) | 一种用于获取目标数据的方法与设备 | |
CN113961529A (zh) | 分布式文件系统和文件缓存方法 | |
CN110688057A (zh) | 一种分布式存储方法及装置 | |
KR101664188B1 (ko) | P2p 네트워크 기반 데이터 관리 장치 및 데이터 관리 방법 | |
EP3879789A1 (en) | Data processing method and apparatus | |
JP7104819B1 (ja) | 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 | |
CN111984461B (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: 20200214 |
|
RJ01 | Rejection of invention patent application after publication |