CN109002260A - 一种缓存数据的处理方法和处理系统 - Google Patents
一种缓存数据的处理方法和处理系统 Download PDFInfo
- Publication number
- CN109002260A CN109002260A CN201810719509.XA CN201810719509A CN109002260A CN 109002260 A CN109002260 A CN 109002260A CN 201810719509 A CN201810719509 A CN 201810719509A CN 109002260 A CN109002260 A CN 109002260A
- Authority
- CN
- China
- Prior art keywords
- data
- file destination
- file
- buffer storage
- node
- 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
Links
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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]
-
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明属于分布式系统技术领域,提供了一种缓存数据的处理方法和处理系统,应用于缓存管理节点,所述缓存管理节点和至少一个数据缓存节点通信连接,任一所述数据缓存节点中均包括至少一个硬盘,每一个所述数据存储节点中的所有硬盘的存储空间被划分为多个存储组块,每一个所述存储组块中均包括多个数据存储块,每一个所述数据存储块的存储容量相同,所述数据存储块用于存储大文件分段后的片段数据,所述大文件为超过预设值的数据,所述方法通过将硬盘进行划分得到数据存储组块,将大文件的片段数据保存在数据存储组块中,大大提高了缓存的容量及效率,将硬盘作为缓存的介质,实现了低成本的大量数据的缓存,实现了大文件的缓存处理。
Description
技术领域
本发明涉及分布式系统技术领域,特别涉及一种缓存数据的处理方法和处理系统。
背景技术
分布式存储系统,是将数据分散存储在多台独立的设备上的存储系统,通常通过一组或多组服务器或计算机构成,展现给用户的是一个整体,对用户来说好像是一个系统。
在分布式系统中,通常包括缓存服务器和数据服务器,缓存服务器用于缓存数据,缓存指的是将需要频繁访问的网络内容存放在离用户较近、访问速度更快的系统中,以提高内容访问速度的一种技术。缓存服务器就是存放频繁访问内容的服务器。
但是,现有技术中,仅提供了对小文件进行缓存的方法,对大文件进行缓存并没有成熟的技术方案。
发明内容
有鉴于此,本发明提供一种缓存数据的处理方法和处理系统,用以实现大文件的缓存处理率。
为了实现上述发明目的,本发明提供以下技术方案:
一种缓存数据的处理方法,应用于缓存管理节点,所述缓存管理节点和至少一个数据缓存节点通信连接,任一所述数据缓存节点中均包括至少一个硬盘,每一个所述数据存储节点中的所有硬盘的存储空间被划分为多个存储组块,每一个所述存储组块中均包括多个数据存储块,每一个所述数据存储块的存储容量相同,所述数据存储块用于存储大文件分段后的片段数据,所述大文件为超过预设值的数据,所述方法包括:
接收用户发送的数据访问请求,所述数据访问请求中包括目标文件的元数据;所述目标文件为大文件的片段数据;
若所述元数据存在缓存映射,则根据所述元数据确定所述片段数据在数据缓存节点的存储位置信息;
根据所述存储位置信息获取所述片段数据;
将所述片段数据返回给所述用户。
优选的,若所述元数据不存在缓存映射,所述方法还包括:
根据所述元数据在与数据缓存节点通信连接的数据服务器中确定所述片段数据;
将所述片段数据返回给所述用户。
优选的,还包括:
根据所述元数据记录所述目标文件的文件信息、文件索引信息、用户请求数据量并累加所述目标文件的权值,所述权值用于表征所述目标文件的访问热度。
优选的,还包括:
判断所述目标文件的权值是否超过第一阈值;
若是,则将所述目标文件从所述数据服务器中缓存到数据缓存节点,并将所述目标文件的标识加入最近最少访问列表LRU的一级队列中。
优选的,还包括:
判断所述目标文件的权值是否超过第二阈值;
若是,则将所述目标文件的标识从一级队列转移至二级队列的末尾,并在所述目标文件的缓存阈值达到预设标准时创建所述目标文件的副本。
优选的,所述缓存阈值达到预设标准具体包括:
判断所述目标文件的访问频率是否超过访问频率阈值,得到第一结果;
判断所述目标文件的访问量是否超过访问量阈值,得到第二结果;
判断所述目标文件所在硬盘的输出能力是否超过硬盘输出能力阈值,得到第三结果;
判断所述目标文件所在数据缓存节点的输出能力是否超过节点输出能力阈值,得到第四结果;
若所述第一结果、所述第二结果、所述第三结果以及所述第四结果中的任意一个结果为是时,则确定所述缓存阈值达到预设标准。
优选的,所述创建所述目标文件的副本包括:
复制所述目标文件并保存在于所述目标文件所在的数据缓存节点的数据存储块不同的数据存储块中或者保存在与所述目标文件所在的数据缓存节点不同的数据缓存节点中。
优选的,还包括:
若接收到降级指令,则将所述最少访问列表LRU中的所述目标文件的标识执行降级操作,并根据降级操作后所述目标文件的标识所处的所述LRU的位置对所述目标文件或所述目标文件的副本进行删除。
本发明另一方面提供了一种缓存数据的处理系统,应用于缓存管理节点,所述缓存管理节点和至少一个数据缓存节点通信连接,任一所述数据缓存节点中均包括至少一个硬盘,每一个所述数据存储节点中的所有硬盘的存储空间被划分为多个存储组块,每一个所述存储组块中均包括多个数据存储块,每一个所述数据存储块的存储容量相同,所述数据存储块用于存储大文件分段后的片段数据,所述大文件为超过预设值的数据,所述系统包括:
接收单元,用于接收用户发送的数据访问请求,所述数据访问请求中包括目标文件的元数据;所述目标文件为大文件的片段数据;
第一确定单元,用于若所述元数据存在缓存映射,则根据所述元数据确定所述片段数据在数据缓存节点的存储位置信息;
获取单元,用于根据所述存储位置信息获取所述片段数据;
第一返回单元,用于将所述片段数据返回给所述用户。
优选的,所述装置还包括:
第二确定单元,用于根据所述元数据在与数据缓存节点通信连接的数据服务器中确定所述片段数据;
第二返回单元,用于将所述片段数据返回给所述用户。
本发明实施例通过将硬盘进行划分得到数据存储组块,将大文件的片段数据保存在数据存储组块中,大大提高了缓存的容量及效率,将硬盘作为缓存的介质,实现了低成本的大量数据的缓存,实现了大文件的缓存处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种缓存数据的处理方法的流程图;
图1A为本发明实施例中对各硬盘划分的原理示意图;
图1B为本发明实施例中确定数据存储组块的原理示意图;
图2为本发明实施例提供的一种缓存数据的处理方法的另一种流程图;
图3为本发明实施例提供的一种缓存数据的处理系统的结构示意图。
具体实施方式
本发明公开了一种缓存数据的处理方法和处理系统,本领域技术人员可以借鉴本文内容,适当改进工艺参数实现。特别需要指出的是,所有类似的替换和改动对本领域技术人员来说是显而易见的,它们都被视为包括在本发明。本发明的方法及应用已经通过较佳实施例进行了描述,相关人员明显能在不脱离本发明内容、精神和范围内对本文所述的方法和应用进行改动或适当变更与组合,来实现和应用本发明技术。
下面将结合实施例对本发明所提供的一种缓存数据的处理方法进行详细说明。
本发明实施例公开了一种缓存数据的处理方法,应用于缓存管理节点,所述缓存管理节点和至少一个数据缓存节点通信连接,任一所述数据缓存节点中均包括至少一个硬盘,每一个所述数据存储节点中的所有硬盘的存储空间被划分为多个数据存储组块,每一个所述数据存储组块中均包括多个数据存储块,每一个所述数据存储块的存储容量相同,所述数据存储块用于存储大文件分段后的片段数据,所述大文件为超过预设值的数据。其中预设值可以由用户根据实际需要进行设置,在实际使用中,预设值优选为32M或64M。
本发明实施例中,缓存管理节点具体可以是缓存服务器中的一个进程,也可以是独立的一个服务器、中间设备等,只要可以实现本发明的功能即可。
本发明实施例中,优选的,预先建立两台缓存服务器,成为数据缓存节点,其中,每一个数据缓存节点上存储多个缓存硬盘。实际使用中,如果数据缓存节点的输出带宽为20gbps,一个硬盘的输出带宽为400mbps,则每一个数据缓存节点中至少需要7个硬盘的满负荷输出,通常,一台数据缓存节点中配置10个或者以上的硬盘。其中,硬盘优选为SSD(固态)硬盘。并且,通常保留1、2个硬盘作为备用盘。
需要说明的是,每一台缓存服务器中的硬盘个数、厂商提供者、磁盘型号、容量等均保持一致。以提高兼容性。
实际使用中,参见图1A、1B所示,图1A为本发明实施例中对各硬盘划分的原理示意图;图1B为本发明实施例中确定数据存储组块的原理示意图;本发明实施例中,可以将各硬盘的至少部分存储空间按照一定的标准进行划分,例如可以以1M或2M为标准进行划分得到数据存储块。
本发明实施例可以优选以1M为划分标准,如果划分得到的各所述数据存储块的容量太大,则可能会影响数据的输出效率,如果划分得到的各所述数据存储块的容量太小,则划分的数据存储块的数量过多,不易于对各所述数据存储块进行管理。
假设有0号硬盘、1号硬盘、2号硬盘……n号硬盘,对每个硬盘中划分得到的数据存储块进行块标记,例如,0、1……n,将各硬盘的块标记分别确定为一个标记组,得到n个0、1……n的标记组。
然后将各标记组中相同的块标记对应的数据存储块划分到一个存储组块中,进而得到多个存储组块。
可以理解的是,每个数据缓存单元的容量可以一致,以便后期的管理和维护。如果各数据缓存单元的容量不同,在数据输出时可能会产生输出瓶颈,影响数据输出的效率。
本发明实施例中,数据存储块用于存储大文件分段后的片段数据,所述大文件为所述大文件为超过预设值的数据,例如32M或者64M。其中,大文件分段后的片段数据是指将某一个大文件按照一定规则拆分后的数据。
可以看出,本发明实施例中,是将每一个数据存储节点中的所有硬盘按照横向编号的方式进行划分的,且编号是连续的,所有相同编号的数据存储块绑定到一起作为一个数据存储组块。大文件的片段数据根据分布式存储系统的存储方法在这些数据存储组块中进行存储和分配。
需要说明的是,本发明实施例针对的是大文件的缓存方法,至于小文件的缓存方法,并不在本发明实施例的实施范围内。
本发明实施例中的缓存管理节点用来管理每一个数据缓存节点的上下线、数据的分配、数据在数据缓存节点的查询服务等。
本发明实施例中,数据缓存节点可以随时上线、下线。优选的,本发明实施例中,在接收用户发送的数据访问请求之前,还包括:
接收数据缓存节点上线的上线指令;
确定上线指令中的数据缓存节点的缓存节点信息,其中,缓存节点信息包括:数据缓存节点中硬盘的个数,每一个硬盘的容量,IP地址,端口号,已经缓存数据的元数据。
恢复该数据缓存节点上的所有数据存储组块的管理以及数据存储组块中元数据的管理。
如果数据缓存节点下线,则该数据缓存节点不再提供服务,将对用户所请求的数据重新进行权值计算,至于权值计算的过程在后续进行详细介绍。
参见图1,本发明实施例提供的方法包括:
S100、接收用户发送的数据访问请求,所述数据访问请求中包括目标文件的元数据;所述目标文件为大文件的片段数据;
本发明实施例中,接收用户所发送的数据访问请求。其中,该访问请求包括目标文件对应的元数据。其中,元数据用于表征目标文件的大小、标识等信息。其中,目标文件是大文件的片段数据。例如,某一场足球比赛中20-40分钟的片段数据。
本发明实施例中,缓存管理节点需要对接数据服务器,数据服务器用于提供不间断的数据服务器。
S110、若所述元数据存在缓存映射,则根据所述元数据确定所述片段数据在数据缓存节点的存储位置信息;
S120、根据所述存储位置信息获取所述片段数据;
然后判断该元数据是否存在缓存映射,参见图3中的步骤S101,如果存在缓存映射,则说明已经在数据缓存节点中已经缓存了相关数据。
根据元数据确定片段数据所在的存储位置信息,确定该片段数据所存储的位置。在片段数据的存储位置获取该片段数据。
S130、将所述片段数据返回给所述用户。
最后将获取的片段数据返回给用户。
本发明实施例通过将硬盘进行划分得到数据存储组块,将大文件的片段数据保存在数据存储组块中,大大提高了缓存的容量及效率,将硬盘作为缓存的介质,实现了低成本的大量数据的缓存,实现了大文件的缓存处理。
上述实施例中,介绍了元数据存在缓存映射的技术方案,若所述元数据不存在缓存映射,所述方法还包括:
S140、根据所述元数据在与数据缓存节点通信连接的数据服务器中确定所述片段数据;
S150、将所述片段数据返回给所述用户。
本发明实施例中,如果不存在元数据的缓存映射,说明元数据对应的片段数据并未进行过缓存,则直接从数据服务器中获取相关数据返回给用户。
还包括:
根据所述元数据记录所述目标文件的文件信息、文件索引信息、用户请求数据量并累加所述目标文件的权值,所述权值用于表征所述目标文件的访问热度。
并且,会根据该用户所发送数据访问请求中的元数据记录元数据对应的目标文件的相关信息,如文件信息、文件索引信息,并记录对该目标文件的请求数据量,累加该目标文件的权值。
其中,权值用于表征所述目标文件的访问热度。
在上述实施例的基础上,还包括:
判断所述目标文件的权值是否超过第一阈值;
若是,则将所述目标文件从所述数据服务器中缓存到数据缓存节点,并将所述目标文件的标识加入最近最少访问列表LRU的一级队列中。
还包括:
判断所述目标文件的权值是否超过第二阈值;
若是,则将所述目标文件的标识从一级队列转移至二级队列的末尾,并在所述目标文件的缓存阈值达到预设标准时创建所述目标文件的副本。
本发明实施例中,会根据元数据在数据缓存节点进行命中。其中,命中是指若文件以及对应的文件块已经在数据缓存节点中进行了缓存,那么,只要根据元数据就可以对应查询到该文章信息。如果没有命中,进行权值累加,并在目标文件的权值超过第一阈值时,从数据服务器中缓存到数据缓存节点。
可以理解的是,当权值达到第一阈值,说明该目标文件的热度较高,或者说访问量较大,因此,需要将该目标文件从数据服务器缓存到数据缓存服务器中,来提高后续的访问效率。
同时,将该目标文件的标识加入LRU的一级队列中。可以将一级队列所对应的缓存称为一级缓存。其中,LRU是用来存放目标文件的标识的列表,通常根据需要有多个队列,本申请实施例用四个队列为例,一级队列、二级队列以及三级队列分别代表不同的级别,级别越高LUR的的队列所占用的缓存量就越少。例如,一级队列占用总缓存的1/2,二级队列占用总缓存的1/4,三级队列占用总缓存的1/8,四级队列占用总缓存的1/8。当然,LRU队列越多,缓存级别就可以划分的更加细致,可以根据实际业务情况进行划分,不限制与本发明的划分方式。
其中,一级缓存应用于40%的用户同时请求的输出量,二级缓存应用于60%的用户同时请求的输出量,三级以上缓存应用80%以上的用户同时请求的输出量。
可以理解的是,相同的文件或文件块访问越频繁,需要输出的带宽就越大,需要不同数据缓存节点的副本越多。因此,需要判断缓存阈值是否达到预设标准,如果达到预设标准,则建立副本。
具体的,缓存阈值达到预设标准具体包括:
判断所述目标文件的访问频率是否超过访问频率阈值,得到第一结果;
判断所述目标文件的访问量是否超过访问量阈值,得到第二结果;
判断所述目标文件所在硬盘的输出能力是否超过硬盘输出能力阈值,得到第三结果;
判断所述目标文件所在数据缓存节点的输出能力是否超过节点输出能力阈值,得到第四结果;
若所述第一结果、所述第二结果、所述第三结果以及所述第四结果中的任意一个结果为是时,则确定所述缓存阈值达到预设标准。
所述创建所述目标文件的副本包括:
复制所述目标文件并保存在于所述目标文件所在的数据缓存节点的数据存储块不同的数据存储块中或者保存在与所述目标文件所在的数据缓存节点不同的数据缓存节点中。
本发明实施例中,缓存阈值分为如下几种:
第一,用户的访问频率,第二,用户的访问量,第三,硬盘的输出能力,第四,数据缓存节点的输出能力。
当上述四种缓存阈值中的任意一个达到对应的预设标准,可以确定需要建立目标文件的副本。
实际使用中,当某一个目标文件的访问量超过访问量阈值时,则认为需要将目标文件建立副本,其中,访问量阈值是根据实际需要进行设置的,也可以利用算法进行计算得出,具体方式再此不进行具体限定。
当然,如果目标文件所在硬盘的输出能力超过硬盘输出能力阈值,则表明在该硬盘上有目标文件的访问过热,则确认该目标文件,对该目标文件建立副本。
如果数据缓存节点的输出能力超过节点输出能力阈值,则表明数据缓存节点中有目标文件所占用的网络资源过大,数据缓存节点的网络输入输出处于瓶颈,则计算数据缓存节点中访问过热的目标文件,确认该目标文件,对该目标文件建立副本。
其中,建立目标文件的副本的方式可以是将该目标文件的副本保存在与该目标文件的数据缓存节点中不同的数据存储组块中或者保存在与目标文件所在的数据缓存节点不同的数据缓存节点中。
本发明实施例中,还会判断目标文件的权值是否超过第二阈值;若是,则将所述目标文件的标识从一级队列转移至二级队列的末尾,并在所述目标文件的缓存阈值达到预设标准时创建所述目标文件的副本。
可以理解的是,若目标文件的权值超过一定条件,例如超过第二阈值,则会建立副本并提高一个队列等级,将目标文件的标识从一级队列转移至二级队列的末尾。当然,如果目标文件的权值超过第三阈值,会将目标文件的标识从二级队列移动到一级队列的末尾。
本发明实施例中,会根据目标文件的访问热度来对LRU进行管理,当目标文件的权值到达一定新的阈值,就会创建副本并提高一个缓存等级,加入到新的LRU队列中。
当然,如果热度降低,也会执行降级的操作。
在上述实施例的基础上,还包括:
若接收到降级指令,则将所述最少访问列表LRU中的所述目标文件的标识执行降级操作,并根据降级操作后所述目标文件的标识所处的所述LRU的位置对所述目标文件或所述目标文件的副本进行删除。
本发明实施例中,如果目标文件的热度降低或者最高优先级的LUR队列已满,则会生成降级指令,当接收到降级指令时,优先将高优先级尾部的目标文件的标识移动到比当前队列的优先级低一个优先级的队列中,并去掉一个副本。
如此,可以实现大文件数据的缓存以及对副本的建立、删除等操作。
通过上述实施例可以看出,本发明中,一个服务器可以作为一个数据缓存节点存在,一个数据缓存节点中的所有硬盘作为一个数据存储组块,每一个数据缓存节点中的硬盘按照最小容量划分成块,硬盘中的每一个横块绑定成一个数据存储组块,数据缓存管理节点可以实现对所有数据缓存节点、数据存储组块、数据存储块的管理。可以根据用户的数据访问请求来执行目标文件的读取以及副本的建立、删除。可以根据数据访问热度实现对LRU队列的升降级处理,可以实现数据节点的随时上下线处理。
因此,本发明实施例可以支持大文件以及大数据的缓存,根据用户访问量、缓存结点带宽、热点文件输出带宽等几个方面解决文件输出的能力,通过对LRU队列的升降级管理实现对目标文件的副本进行管理,提高了大文件、大数据的输出能力。弥补了分布式存储系统中缺少对大文件缓存以及副本的处理方法。
参见图3,本发明另一方面提供了一种缓存数据的处理系统,应用于缓存管理节点,所述缓存管理节点和至少一个数据缓存节点通信连接,任一所述数据缓存节点中均包括至少一个硬盘,每一个所述数据存储节点中的所有硬盘的存储空间被划分为多个存储组块,每一个所述存储组块中均包括多个数据存储块,每一个所述数据存储块的存储容量相同,所述数据存储块用于存储大文件分段后的片段数据,所述大文件为大于超过预设值的数据,所述系统包括:
接收单元01,用于接收用户发送的数据访问请求,所述数据访问请求中包括目标文件的元数据;所述目标文件为大文件的片段数据;
第一确定单元02,用于若所述元数据存在缓存映射,则根据所述元数据确定所述片段数据在数据缓存节点的位置信息;
获取单元03,用于根据所述位置信息获取所述片段数据;
第一返回单元04,用于将所述片段数据返回给所述用户。
所述装置还包括:
第二确定单元05,用于根据所述元数据在与数据缓存节点通信连接的数据服务器中确定所述片段数据;
第二返回单元06,用于将所述片段数据返回给所述用户。
需要说明的是,本实施例的一种缓存数据的处理系统可以采用上述方法实施例中的一种缓存数据的处理系统,用于实现上述方法实施例中的全部技术方案,其各个模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本发明实施例通过将硬盘进行划分得到数据存储组块,将大文件的片段数据保存在数据存储组块中,大大提高了缓存的容量及效率,将硬盘作为缓存的介质,实现了低成本的大量数据的缓存,实现了大文件的缓存处理。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种缓存数据的处理方法,其特征在于,应用于缓存管理节点,所述缓存管理节点和至少一个数据缓存节点通信连接,任一所述数据缓存节点中均包括至少一个硬盘,每一个所述数据存储节点中的所有硬盘的存储空间被划分为多个存储组块,每一个所述存储组块中均包括多个数据存储块,每一个所述数据存储块的存储容量相同,所述数据存储块用于存储大文件分段后的片段数据,所述大文件为超过预设值的数据,所述方法包括:
接收用户发送的数据访问请求,所述数据访问请求中包括目标文件的元数据;所述目标文件为大文件的片段数据;
若所述元数据存在缓存映射,则根据所述元数据确定所述片段数据在数据缓存节点的存储位置信息;
根据所述存储位置信息获取所述片段数据;
将所述片段数据返回给所述用户。
2.根据权利要求1所述的处理方法,其特征在于,若所述元数据不存在缓存映射,所述方法还包括:
根据所述元数据在与数据缓存节点通信连接的数据服务器中确定所述片段数据;
将所述片段数据返回给所述用户。
3.根据权利要求2所述的处理方法,其特征在于,还包括:
根据所述元数据记录所述目标文件的文件信息、文件索引信息、用户请求数据量并累加所述目标文件的权值,所述权值用于表征所述目标文件的访问热度。
4.根据权利要求3所述的处理方法,其特征在于,还包括:
判断所述目标文件的权值是否超过第一阈值;
若是,则将所述目标文件从所述数据服务器中缓存到数据缓存节点,并将所述目标文件的标识加入最近最少访问列表LRU的一级队列中。
5.根据权利要求4所述的处理方法,其特征在于,还包括:
判断所述目标文件的权值是否超过第二阈值;
若是,则将所述目标文件的标识从一级队列转移至二级队列的末尾,并在所述目标文件的缓存阈值达到预设标准时创建所述目标文件的副本。
6.根据权利要求5所述的处理方法,其特征在于,所述缓存阈值达到预设标准具体包括:
判断所述目标文件的访问频率是否超过访问频率阈值,得到第一结果;
判断所述目标文件的访问量是否超过访问量阈值,得到第二结果;
判断所述目标文件所在硬盘的输出能力是否超过硬盘输出能力阈值,得到第三结果;
判断所述目标文件所在数据缓存节点的输出能力是否超过节点输出能力阈值,得到第四结果;
若所述第一结果、所述第二结果、所述第三结果以及所述第四结果中的任意一个结果为是时,则确定所述缓存阈值达到预设标准。
7.根据权利要求5所述的处理方法,其特征在于,所述创建所述目标文件的副本包括:
复制所述目标文件并保存在于所述目标文件所在的数据缓存节点的数据存储块不同的数据存储块中或者保存在与所述目标文件所在的数据缓存节点不同的数据缓存节点中。
8.根据权利要求4或5的处理方法,其特征在于,还包括:
若接收到降级指令,则将所述最少访问列表LRU中的所述目标文件的标识执行降级操作,并根据降级操作后所述目标文件的标识所处的所述LRU的位置对所述目标文件或所述目标文件的副本进行删除。
9.一种缓存数据的处理系统,其特征在于,应用于缓存管理节点,所述缓存管理节点和至少一个数据缓存节点通信连接,任一所述数据缓存节点中均包括至少一个硬盘,每一个所述数据存储节点中的所有硬盘的存储空间被划分为多个存储组块,每一个所述存储组块中均包括多个数据存储块,每一个所述数据存储块的存储容量相同,所述数据存储块用于存储大文件分段后的片段数据,所述大文件为超过预设值的数据,所述系统包括:
接收单元,用于接收用户发送的数据访问请求,所述数据访问请求中包括目标文件的元数据;所述目标文件为大文件的片段数据;
第一确定单元,用于若所述元数据存在缓存映射,则根据所述元数据确定所述片段数据在数据缓存节点的存储位置信息;
获取单元,用于根据所述存储位置信息获取所述片段数据;
第一返回单元,用于将所述片段数据返回给所述用户。
10.根据权利要求9所述的处理装置,其特征在于,所述装置还包括:
第二确定单元,用于根据所述元数据在与数据缓存节点通信连接的数据服务器中确定所述片段数据;
第二返回单元,用于将所述片段数据返回给所述用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810719509.XA CN109002260B (zh) | 2018-07-02 | 2018-07-02 | 一种缓存数据的处理方法和处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810719509.XA CN109002260B (zh) | 2018-07-02 | 2018-07-02 | 一种缓存数据的处理方法和处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109002260A true CN109002260A (zh) | 2018-12-14 |
CN109002260B CN109002260B (zh) | 2021-08-13 |
Family
ID=64598984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810719509.XA Active CN109002260B (zh) | 2018-07-02 | 2018-07-02 | 一种缓存数据的处理方法和处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002260B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416871A (zh) * | 2019-08-23 | 2021-02-26 | 华为技术有限公司 | 一种数据访问的方法、装置及系统 |
CN112905646A (zh) * | 2021-04-07 | 2021-06-04 | 成都新希望金融信息有限公司 | 一种基于访问统计的地理数据加载方法及装置 |
CN113377690A (zh) * | 2021-06-28 | 2021-09-10 | 福建师范大学 | 一种适应不同大小的用户请求的固态硬盘处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332027A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种基于Hadoop的海量非独立小文件关联存储方法 |
CN104111804A (zh) * | 2014-06-27 | 2014-10-22 | 暨南大学 | 一种分布式文件系统 |
CN104331428A (zh) * | 2014-10-20 | 2015-02-04 | 暨南大学 | 一种小文件和大文件的存储及访问方法 |
CN105915595A (zh) * | 2016-04-11 | 2016-08-31 | 深圳市瑞驰信息技术有限公司 | 一种集群存储系统存取数据的方法以及集群存储系统 |
US20170257435A1 (en) * | 2016-01-28 | 2017-09-07 | Weka.IO LTD | Quality of Service Management in a Distributed Storage System |
-
2018
- 2018-07-02 CN CN201810719509.XA patent/CN109002260B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332027A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种基于Hadoop的海量非独立小文件关联存储方法 |
CN104111804A (zh) * | 2014-06-27 | 2014-10-22 | 暨南大学 | 一种分布式文件系统 |
CN104331428A (zh) * | 2014-10-20 | 2015-02-04 | 暨南大学 | 一种小文件和大文件的存储及访问方法 |
US20170257435A1 (en) * | 2016-01-28 | 2017-09-07 | Weka.IO LTD | Quality of Service Management in a Distributed Storage System |
CN105915595A (zh) * | 2016-04-11 | 2016-08-31 | 深圳市瑞驰信息技术有限公司 | 一种集群存储系统存取数据的方法以及集群存储系统 |
Non-Patent Citations (2)
Title |
---|
RICHA MISHRA; SANJEEV KR. SINGH; P. K. SINGH; R. K. SINGH: ""Dynamic load balancing using buffer management in distributed database environment"", 《2015 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTER ENGINEERING AND APPLICATIONS》 * |
温涛: "《计算机网络技术基础与应用》", 31 July 2013 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416871A (zh) * | 2019-08-23 | 2021-02-26 | 华为技术有限公司 | 一种数据访问的方法、装置及系统 |
WO2021036989A1 (zh) * | 2019-08-23 | 2021-03-04 | 华为技术有限公司 | 一种数据访问的方法、装置及系统 |
CN112416871B (zh) * | 2019-08-23 | 2023-10-13 | 华为技术有限公司 | 一种数据访问的方法、装置及系统 |
CN112905646A (zh) * | 2021-04-07 | 2021-06-04 | 成都新希望金融信息有限公司 | 一种基于访问统计的地理数据加载方法及装置 |
CN113377690A (zh) * | 2021-06-28 | 2021-09-10 | 福建师范大学 | 一种适应不同大小的用户请求的固态硬盘处理方法 |
CN113377690B (zh) * | 2021-06-28 | 2023-06-27 | 福建师范大学 | 一种适应不同大小的用户请求的固态硬盘处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109002260B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431791B2 (en) | Content delivery method, virtual server management method, cloud platform, and system | |
CN106066896B (zh) | 一种应用感知的大数据重复删除存储系统及方法 | |
US9692849B2 (en) | Method and node entity for enhancing content delivery network | |
US11561930B2 (en) | Independent evictions from datastore accelerator fleet nodes | |
CN102971732B (zh) | 键/值存储器的集成分级查询处理的系统结构 | |
US8046422B2 (en) | Automatic load spreading in a clustered network storage system | |
CN107844269A (zh) | 一种基于一致性哈希的分层混合存储系统及方法 | |
CN103338242B (zh) | 一种基于多级缓存的混合云存储系统和方法 | |
CN105224255B (zh) | 一种存储文件管理方法及装置 | |
CN105550371A (zh) | 一种面向大数据环境的元数据组织方法和系统 | |
US9218346B2 (en) | File system and method for delivering contents in file system | |
CN105653473B (zh) | 基于二元标识的缓存数据访问方法及装置 | |
CN103366016A (zh) | 基于hdfs的电子文件集中存储及优化方法 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN102439934A (zh) | 一种cdn中边缘服务器的多级缓存管理方法与系统 | |
CN109002260A (zh) | 一种缓存数据的处理方法和处理系统 | |
CN104811493A (zh) | 一种网络感知的虚拟机镜像存储系统及读写请求处理方法 | |
CN102438020A (zh) | 内容分发网络中内容分发的方法、设备和网络系统 | |
CN108282522A (zh) | 基于动态路由的数据存储访问方法及系统 | |
US6973536B1 (en) | Self-adaptive hybrid cache | |
CN107066505A (zh) | 一种性能优化的小文件存储访问的系统及方法 | |
CN105187565A (zh) | 一种利用网络存储数据的方法 | |
CN105306570A (zh) | 一种集群数据的存储方法 | |
US10445296B1 (en) | Reading from a site cache in a distributed file system | |
CN103294609A (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 |