CN111930316A - 一种内容分发网络的缓存读写***和方法 - Google Patents

一种内容分发网络的缓存读写***和方法 Download PDF

Info

Publication number
CN111930316A
CN111930316A CN202010937835.5A CN202010937835A CN111930316A CN 111930316 A CN111930316 A CN 111930316A CN 202010937835 A CN202010937835 A CN 202010937835A CN 111930316 A CN111930316 A CN 111930316A
Authority
CN
China
Prior art keywords
cache
data
hard disk
storage
memory
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
CN202010937835.5A
Other languages
English (en)
Other versions
CN111930316B (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.)
Shanghai Qiniu Information Technology Co ltd
Original Assignee
Shanghai Qiniu 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 Shanghai Qiniu Information Technology Co ltd filed Critical Shanghai Qiniu Information Technology Co ltd
Priority to CN202010937835.5A priority Critical patent/CN111930316B/zh
Publication of CN111930316A publication Critical patent/CN111930316A/zh
Application granted granted Critical
Publication of CN111930316B publication Critical patent/CN111930316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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/0656Data buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种内容分发网络的缓存读写***,应用在CDN网络的边缘节点上,包括存储单元、缓存读写单元、内存存储处理单元、硬盘存储处理单元、abc文件缓存***、数据迁移单元,本发明还公开一种内容分发网络的缓存读写方法,利用本发明公开的***和方法,实现了缓存的分片存储和快速读写,充分利用磁盘空间同时降低了运营负载,节约了磁盘空间和运营成本,提高了***的可扩展性,故有明显的技术优势和有益效果。

Description

一种内容分发网络的缓存读写***和方法
技术领域
本发明涉及内容分发领域,尤其涉及一种内容分发网络的缓存***和方法。
背景技术
在现有的内容分发技术中,大多数是将缓存数据写入到当前linux文件***下的某一个目录,这种方式存在的问题有:
1. 依赖当前的linux的文件***(如ext2、ext3、ext4)存储文件的格式,这类文件***的树状目录结构,不利于缓存的存储与管理;
2. 文件存储在磁盘的单一分区,如逻辑分区,无法使用完整的磁盘空间,后期将导致磁盘空间成本大大增加;
3. 大文件写入效率过慢,因为是往单一磁盘写入数据,无法做到单文件,多点存储;
4. 高并发时读取时,磁盘IO压力巨大,导致磁盘的读写速度变慢。
发明内容
本发明的目的是提供一种内容分发网络的多级缓存解决方案,从而解决上述现有技术存在的问题。
为了实现上述目的,本发明采用的技术方案如下:
一种内容分发网络的缓存读写***,应用在CDN网络的边缘节点上,其特征在于,包括:存储单元、缓存读写单元、内存存储处理单元、硬盘存储处理单元、abc文件缓存***、数据迁移单元,其中:存储单元:包括内存、硬盘组;缓存读写单元:接受来自外部的读写请求;内存存储处理单元:利用LRU算法处理存储资源,确定资源删除的优先级;硬盘存储处理单元:用于将硬盘映射为HASH环,使用一致性HASH算法处理存储资源,使得每个HASH值映射为HASH环中的硬盘上,实现对硬盘内容的读写;abc文件缓存***:所述abc文件缓存***通过将大对象数据拆分成多个小分片数据进行缓存,其中为每个所述小分片数据分配一个HASH键值;数据迁移单元:用于根据迁移策略,处理存储单元间的数据迁移。
优选的,所述硬盘组包括固态硬盘组、机械硬盘组。
优选的,所述的迁移策略包括确定资源的价值和存储单元的优先级,所述资源的价值的确定因素包括资源的访问频率,资源大小,存储介质大小,所述存储单元的优先级的确定因素包括存储单元的读写速度和存储空间。
本发明还公开一种内容分发网络的缓存读写方法,包括:
S1:接收内容请求端发送的HTTP资源请求;
S2:读取本地节点上是否存在所述HTTP资源的缓存;
S3:如果不存在所述HTTP资源的缓存,则转发所述HTTP资源请求到其他网络节点,等待从其他网络节点返回HTTP资源数据;
S4:接收来自其他网络节点的响应数据,将所述响应数据写入本地缓存,并同时将所述响应数据返回给内容请求端。
优选的,所述的步骤S2中,读取本地节点缓存的方法包括:
S21:使用所述HTTP资源的URL地址作为缓存键值,获取缓存的元数据,所述HTTP资源存储为多个数据片段,所述元数据包括所有所述数据片段的缓存键值;
S22:根据元数据中的获取的数据片段的缓存键值,获得各个数据片段的缓存内容;
S23:根据获得的各个数据片段的内容进行组装,获得HTTP资源,完成读取。
优选的,所述步骤S22中,根据元数据中的获取的数据片段的缓存键值,获得各个数据片段的缓存内容包括:
S221:从内存中读取缓存数据:若读取成功,则修改缓存的更新时间,退出;
S222:从固态硬盘组中读取缓存数据:具体包括以下步骤:
S2221:根据一致性HASH算法,从所述固态硬盘组中找到所述缓存健值所在的固态硬盘,并根据所述缓存健值在所述abc文件缓存***中的索引表找到具体的索引数据;
S2222:根据具体的索引数据找到缓存数据存储的偏移位置,并获取缓存;
S2223:若在固态硬盘组中获取缓存成功,则根据预定的迁移策略 ,将缓存数据迁移到内存中,删除更新时间最晚的缓存数据,并对内存容量进行检查,所述内存容量包括内存的最大容量;
S2224:若在固态硬盘组中获取缓存失败,则从机械硬盘组中获取缓存数据;
S223:从机械硬盘组中获取缓存数据:具体包括以下步骤:
S2231:同样根据一致性HASH算法,从一组机械硬盘组中找到所述键值所在的机械硬盘,并根据所述键值在所述abc文件缓存***中的索引表找到具体的索引数据;
S2232:根据具体的索引数据找到缓存数据存储的偏移位置,并获取缓存;
S2233:若在机械硬盘组中获取缓存成功,则根据预定的迁移策略,将缓存数据迁移到固态硬盘中。
优选的,所述的步骤S4中,缓存的写入方法包括:
S41:将HTTP资源请求的响应数据分为多个数据片段,为每个数据片段产生一个缓存键值,根据所述的缓存键值将数据片段写入缓存;
S42:写完所有分片后,写入元数据,元数据中包含了所有缓存键值。
优选的,所述的S41中,所述根据缓存键值写入缓存的方法包括:
判断写入的缓存大小,确定写入的目标缓存模块;
根据一致性HASH算法,从所述存储单元中找到该键值需要写入的缓存模块,从所述abc文件缓存***的头部中找到目前缓存模块已写入的偏移位置,并从该位置写入缓存数据;
根据写入的缓存数据所在的偏移位,生成索引数据,并将该索引数据写入索引表。
优选的,所述写入的缓存大小,确定写入的目标缓存模块具体为:如果写入的缓存小于1M,则写入到固态硬盘组,否则写入到机械硬盘组。
本发明还公开一种电子设备,所述电子设备中包括处理器及存储器,所述存储器中存储有可执行程序,当所述可执行程序在计算机上运行时,所述计算机执行上述任一实施例所述的方法和***。
本发明的有益效果是:本发明采用三级缓存技术,有效得利用了单机最大存储空间;使用多个硬盘组组成HASH环,从而解决了单硬盘带来的性能瓶颈;使用了一致性HASH算法技术,让数据能够被均匀的分配到各个硬盘,让各个硬盘的压力得到了平均,同时支持动态扩容,在磁盘压力增加的情况下,可以通过增加硬盘的方式来解决。这种方式,可以有效的减轻运维成本。
并且,本发明利用分片缓存技术,缓存大对象时直接使用磁盘,无需对硬盘进行分区,无需安装传统文件***,可以充分利用磁盘空间,避免磁盘因为分区和安装文件***带来的空间浪费,如此可以节约运营成本。
为了对本发明有更清楚全面的了解,下面结合附图,对本发明的具体实施方式进行详细描述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种实施例中内容分发网络的缓存读写***的组成框图。
图2示出了一种实施例中内容分发网络的缓存读写流程示意图。
图3示出了一种实施例中读取本地节点缓存的流程示意图。
图4示出了一种实施例中获取各个数据片段的缓存内容的流程示意图。
具体实施方式
请参阅图1,图1示出了一种实施例中内容分发网络的缓存读写***的组成框图,***包括存储单元10、缓存读写单元11、内存存储处理单元12、硬盘存储处理单元13、abc文件缓存***14、数据迁移单元15,其中:
存储单元10包括内存101、硬盘组102;硬盘组102包括固态硬盘组和机械硬盘组。
缓存读写单元11:接受来自外部的读写请求。
内存存储处理单元12:利用LRU算法处理存储资源,确定资源删除的优先级。内存由于其存储介质的特殊性,其存储空间无法进行扩容,因此我们将限制内存空间的存储大小,既然我们会将其他存储介质中的资源迁移至内存,而内存又有大小限制,当内存空间超过极限时,我们就必须对一些资源进行淘汰(删除),而哪些资源需要被优先删除,我们采用了LRU算法,LRU是Least Recently Used的缩写,即最近最少使用,于是我们需要找出最近最少访问的资源,并将其删除。
硬盘存储处理单元13:用于将硬盘映射为HASH环,使用一致性HASH算法处理存储资源,使得每个HASH值映射为HASH环中的硬盘上,实现对硬盘内容的读写。
传统的HASH表的主要问题是会因为添加或删除一个槽位,需要对所有的关键字进行重新映射,而一致性HASH算法只需要对K/n个关键字重新映射,其中K是关键字的数量,n是槽位数量。
举例说明,在一种实施例中一共有10块固态硬盘,则将这10块固态硬盘编为一组,将其映射到虚拟的圆环的不同位置,此处虚拟的圆环被称之为HASH环,每块固态硬盘在环中的位置称为槽位,于是***对固态硬盘组进行读取的步骤如下:
1) 首先通过对缓存键值进行HASH,每个HASH值映射为HASH环中的固定位置;
2) 沿着HASH环边上一个方向查找直到遇到某个固态硬盘的槽位;
3) 则这个固态硬盘即为该缓存应该访问的位置;
当某个固态硬盘出现故障,宕机时,该固态硬盘会被平均分配到其他几台固态硬盘节点,不会因为这个固态硬盘宕机,导致HASH重排,从引起缓存雪崩效应。
当需要新增一个固态硬盘时,相当于往HASH环中增加一个槽位,每个固态硬盘在环中的位置通过细微的调整,使得资源可以被平均分配到各个固态硬盘中,而不会出现HASH重排。
abc文件缓存***14:所述abc文件缓存***通过将大对象数据拆分成多个小分片数据进行缓存,其中为每个所述小分片数据分配一个HASH键值。abc文件缓存***14针对各个缓存分片进行读写,而不是针对大对象数据进行缓存,因此,该***可以同时对各个缓存分片进行并行读写,大大提高一个大文件读取与写入速度,而且无需对硬盘进行分区,无需安装传统文件***,可以充分利用磁盘空间,避免磁盘因为分区和安装文件***带来的空间浪费,如此可以节约运营成本。
数据迁移单元15:用于根据迁移策略,处理存储单元间的数据迁移。
在该实施例中,存在不同的存储单元(即存储介质),不同存储介质的读写速度各不相同,比如内存的读写速度要远大于固态硬盘,而固态硬盘的读写速度又远大于机械硬盘,而内存的存储空间是有限的,固态硬盘又不如机械硬盘廉价,因此,需要将更有价值的数据放在更快速读写的存储介质上,将低价值的数据放入略慢速读写的存储介质上。于是这里就涉及到了不同的数据在各个存储介质之间进行迁移。
决定资源价值的因素有很多,比如资源的用户访问频率,资源大小,存储介质大小等,比如用户访问较为频繁的资源,将其迁移至更高优先级的存储介质之上,则其在将来被访问到的概率就越大,而缓存越小的文件其会频繁进行磁盘寻道,故建议放在寻道时间较快的固态硬盘之上,存储介质空间越大,能存放的缓存就越多,能而也能提高资源的命中率。
迁移策略与资源的价值和存储单元的优先级有关,其中资源的价值的确定因素包括资源的访问频率,资源大小,存储介质大小,存储单元的优先级的确定因素包括存储单元的读写速度和存储空间。
不同资源根据其需要迁移的存储介质,以及资源大小,将命中不同的迁移策略,比如往内存迁移的策略有两条,一条是小于512k的策略,另一条是512k到2M的策略。每条策略中配有不同的访问频率,只有达到了该访问频率后,才允许将资源迁移至目标介质。
在该实施例中,具体的迁移方法是:
1) 当资源命中缓存时,获取命中缓存所在的存储介质;
2) 如果在固态硬盘中,根据其资源大小,获取是否有迁移至内存的迁移策略;
3) 如果迁移策略存在,判断资源的访问频率是否达到了迁移策略预设的访问频率;
4) 如果达到的迁移策略预设的访问频率,则迁移资源至内存;
5) 如果资源在机械硬盘中,则根据其大小,获取是否有迁移至内存或者固态硬盘的迁移策略;
6) 如果迁移策略存在,判断资源的访问频率是否达到了迁移至目标存储介质的迁移策略预设的访问频率;
7) 如果达到的迁移策略预设的访问频率,则迁移资源至相应的存储介质(如果迁移至内存的策略和迁移至固态硬盘的策略都符合,则优先选择迁移至内存的策略)。
请参阅图2,图2示出了一种实施例中内容分发网络的缓存读写流程示意图,具体包括:
S1:接收内容请求端发送的HTTP资源请求;
S2:读取本地节点上是否存在所述HTTP资源的缓存;
S3:如果不存在所述HTTP资源的缓存,则转发所述HTTP资源到其他网络节点;
S4:接收来自其他网络节点的响应数据,将所述响应数据写入本地缓存,并同时将所述响应数据返回给内容请求端。
请参阅图3,一种实施例中读取本地节点缓存的流程示意图,具体包括:
S21:使用所述HTTP资源的URL地址作为缓存键值,获取缓存的元数据,所述HTTP资源存储为多个数据片段,所述元数据包括所有所述数据片段的缓存键值;
S22:根据元数据中的获取的数据片段的缓存键值,获得各个数据片段的缓存内容;
S23:根据获得的各个数据片段的内容进行组装,获得HTTP资源,完成读取。
请参阅图4,一种实施例中获取各个数据片段的缓存内容的流程示意图,具体包括:
S221:从内存中读取缓存数据:若读取成功,则修改缓存的更新时间,退出;
S222:从固态硬盘组中读取缓存数据;
S223:从机械硬盘组中获取缓存数据。
在该实施例中,从固态硬盘组中读取缓存数据的步骤包括:
S2221:根据一致性HASH算法,从所述固态硬盘组中找到所述缓存健值所在的固态硬盘,并根据所述缓存健值在所述abc文件缓存***中的索引表找到具体的索引数据;
S2222:根据具体的索引数据找到缓存数据存储的偏移位置,并获取缓存;
S2223:若在固态硬盘组中获取缓存成功,则根据预定的迁移策略,将缓存数据迁移到内存中,删除更新时间最晚的缓存数据,并对内存容量进行检查,所述内存容量包括内存的最大容量;
S2224:若在固态硬盘组中获取缓存失败,则从机械硬盘组中获取缓存数据。
在该实施例中,从机械硬盘组中获取缓存数据的步骤包括:
S2231:同样根据一致性HASH算法,从一组机械硬盘组中找到所述键值所在的机械硬盘,并根据所述键值在所述abc文件缓存***中的索引表找到具体的索引数据;
S2232:根据具体的索引数据找到缓存数据存储的偏移位置,并获取缓存;
S2233:若在机械硬盘组中获取缓存成功,则根据预定的迁移策略,将缓存数据迁移到固态硬盘中。
本申请实施例还提供一种电子设备,所述电子设备中包括处理器及存储器,所述存储器中存储有可执行程序,当所述可执行程序在计算机上运行时,所述计算机执行上述任一实施例所述的方法和***。
需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(ROM,Read OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种内容分发网络的缓存读写***,应用在CDN网络的边缘节点上,其特征在于,包括:存储单元、缓存读写单元、内存存储处理单元、硬盘存储处理单元、abc文件缓存***、数据迁移单元,其中:
存储单元:包括内存、硬盘组;
缓存读写单元:接受来自外部的读写请求;
内存存储处理单元:利用LRU算法处理存储资源,确定资源删除的优先级;
硬盘存储处理单元:用于将硬盘映射为HASH环,使用一致性HASH算法处理存储资源,使得每个HASH值映射为HASH环中的硬盘上,实现对硬盘内容的读写;
abc文件缓存***:所述abc文件缓存***通过将大对象数据拆分成多个小分片数据进行缓存,其中为每个所述小分片数据分配一个HASH键值;
数据迁移单元:用于根据迁移策略,处理存储单元间的数据迁移。
2.如权利要求1所述的***,其特征在于,所述硬盘组包括固态硬盘组、机械硬盘组。
3.如权利要求1所述的***,其特征在于,所述硬盘组包括固态硬盘组、机械硬盘组,所述的迁移策略包括确定资源的价值和存储单元的优先级,所述资源的价值的确定因素包括资源的访问频率,资源大小,存储介质大小,所述存储单元的优先级的确定因素包括存储单元的读写速度和存储空间。
4.一种内容分发网络的缓存读写方法,用于权利要求1-3所述的内容分发网络的缓存读写单元中,其特征在于,所述方法包括:
S1:接收内容请求端发送的HTTP资源请求;
S2:读取本地节点上是否存在所述HTTP资源的缓存;
S3:如果不存在所述HTTP资源的缓存,则转发所述HTTP资源请求到其他网络节点,等待从其他网络节点返回HTTP资源数据;
S4:接收来自其他网络节点的响应数据,将所述响应数据写入本地缓存,并同时将所述响应数据返回给内容请求端。
5.如权利要求4所述的方法,其特征在于,所述的步骤S2中,读取本地节点缓存的方法包括:
S21:使用所述HTTP资源的URL地址作为缓存键值,获取缓存的元数据,其中,所述HTTP资源存储为多个数据片段,所述的每一个数据片段分配有缓存键值,所述元数据包括所有所述数据片段的缓存键值;
S22:根据元数据中的获取的数据片段的缓存键值,获得各个数据片段的缓存内容;
S23:根据获得的各个数据片段的内容进行组装,获得HTTP资源,完成读取。
6.如权利要求5所述的方法,用于权利要求2-3所述的内容分发网络的缓存读写单元中,其特征在于,所述步骤S22根据元数据中的获取的数据片段的缓存键值,获取各个数据片段的缓存内容的方法包括:
S221:从内存中读取缓存数据:若读取成功,则修改缓存的更新时间,退出;
S222:从固态硬盘组中读取缓存数据:具体包括以下步骤:
S2221:根据一致性HASH算法,从所述固态硬盘组中找到所述缓存健值所在的固态硬盘,并根据所述缓存健值在所述abc文件缓存***中的索引表找到具体的索引数据;
S2222:根据具体的索引数据找到缓存数据存储的偏移位置,并获取缓存;
S2223:若在固态硬盘组中获取缓存成功,则根据预定的迁移策略,将缓存数据迁移到内存中,删除更新时间最晚的缓存数据,并对内存容量进行检查,所述内存容量包括内存的最大容量;
S2224:若在固态硬盘组中获取缓存失败,则从机械硬盘组中获取缓存数据;
S223:从机械硬盘组中获取缓存数据:具体包括以下步骤:
S2231:同样根据一致性HASH算法,从一组机械硬盘组中找到所述键值所在的机械硬盘,并根据所述键值在所述abc文件缓存***中的索引表找到具体的索引数据;
S2232:根据具体的索引数据找到缓存数据存储的偏移位置,并获取缓存;
S2233:若在机械硬盘组中获取缓存成功,则根据预定的迁移策略,将缓存数据迁移到固态硬盘中。
7.如权利要求4所述的方法,其特征在于,所述的步骤S4中,缓存的写入方法包括:
S41:将HTTP资源请求的响应数据分为多个数据片段,为每个数据片段产生一个缓存键值,根据所述的缓存键值将数据片段写入缓存;
S42:写完所有分片后,写入元数据,元数据中包含了所有缓存键值。
8.如权利要求7所述的方法,其特征在于,所述的S41中,所述根据缓存键值写入缓存的方法包括:
判断写入的缓存大小,确定写入的目标缓存模块;
根据一致性HASH算法,从所述存储单元中找到该键值需要写入的缓存模块,从所述abc文件缓存***的头部中找到目前缓存模块已写入的偏移位置,并从该位置写入缓存数据;
根据写入的缓存数据所在的偏移位,生成索引数据,并将该索引数据写入索引表。
9.如权利要求8所述的方法,其特征在于,所述写入的缓存大小,确定写入的目标缓存模块具体为:如果写入的缓存小于1M,则写入到固态硬盘组,否则写入到机械硬盘组。
10.一种电子设备,所述电子设备中包括处理器及存储器,所述存储器中存储有可执行程序,当所述可执行程序在计算机上运行时,所述计算机执行上述权利要求4-9所述的方法。
CN202010937835.5A 2020-09-09 2020-09-09 一种内容分发网络的缓存读写***和方法 Active CN111930316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010937835.5A CN111930316B (zh) 2020-09-09 2020-09-09 一种内容分发网络的缓存读写***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010937835.5A CN111930316B (zh) 2020-09-09 2020-09-09 一种内容分发网络的缓存读写***和方法

Publications (2)

Publication Number Publication Date
CN111930316A true CN111930316A (zh) 2020-11-13
CN111930316B CN111930316B (zh) 2021-04-20

Family

ID=73310113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010937835.5A Active CN111930316B (zh) 2020-09-09 2020-09-09 一种内容分发网络的缓存读写***和方法

Country Status (1)

Country Link
CN (1) CN111930316B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468583A (zh) * 2020-11-26 2021-03-09 福建天泉教育科技有限公司 一种api网关的信息处理方法与终端
CN112506434A (zh) * 2020-12-11 2021-03-16 杭州安恒信息技术股份有限公司 一种web微服务集群中数据的读写方法及相关装置
CN112650720A (zh) * 2020-12-18 2021-04-13 深圳市佳创视讯技术股份有限公司 一种缓存***管理方法、装置及计算机可读存储介质
CN112699154A (zh) * 2021-03-25 2021-04-23 上海洋漪信息技术有限公司 应对大流量数据的多级缓存方法
CN112764681A (zh) * 2021-01-21 2021-05-07 上海七牛信息技术有限公司 一种带权重判断的缓存淘汰方法、装置和计算机设备
CN113220233A (zh) * 2021-05-14 2021-08-06 北京百度网讯科技有限公司 数据读取方法、装置及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230971A (zh) * 2016-08-29 2016-12-14 无锡华云数据技术服务有限公司 基于cdn的大文件分发方法
CN106293490A (zh) * 2015-05-12 2017-01-04 中兴通讯股份有限公司 数据存储、读取的方法、装置及***
CN106790324A (zh) * 2015-11-20 2017-05-31 华为技术有限公司 内容分发方法、虚拟服务器管理方法、云平台和***
CN107463342A (zh) * 2017-08-28 2017-12-12 北京奇艺世纪科技有限公司 一种cdn边缘节点文件的存储方法及装置
CN110096227A (zh) * 2019-03-28 2019-08-06 北京奇艺世纪科技有限公司 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293490A (zh) * 2015-05-12 2017-01-04 中兴通讯股份有限公司 数据存储、读取的方法、装置及***
CN106790324A (zh) * 2015-11-20 2017-05-31 华为技术有限公司 内容分发方法、虚拟服务器管理方法、云平台和***
CN106230971A (zh) * 2016-08-29 2016-12-14 无锡华云数据技术服务有限公司 基于cdn的大文件分发方法
CN107463342A (zh) * 2017-08-28 2017-12-12 北京奇艺世纪科技有限公司 一种cdn边缘节点文件的存储方法及装置
CN110096227A (zh) * 2019-03-28 2019-08-06 北京奇艺世纪科技有限公司 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468583A (zh) * 2020-11-26 2021-03-09 福建天泉教育科技有限公司 一种api网关的信息处理方法与终端
CN112468583B (zh) * 2020-11-26 2023-09-15 福建天泉教育科技有限公司 一种api网关的信息处理方法与终端
CN112506434A (zh) * 2020-12-11 2021-03-16 杭州安恒信息技术股份有限公司 一种web微服务集群中数据的读写方法及相关装置
CN112650720A (zh) * 2020-12-18 2021-04-13 深圳市佳创视讯技术股份有限公司 一种缓存***管理方法、装置及计算机可读存储介质
CN112650720B (zh) * 2020-12-18 2024-07-12 深圳市佳创视讯技术股份有限公司 一种缓存***管理方法、装置及计算机可读存储介质
CN112764681A (zh) * 2021-01-21 2021-05-07 上海七牛信息技术有限公司 一种带权重判断的缓存淘汰方法、装置和计算机设备
CN112764681B (zh) * 2021-01-21 2024-02-13 上海七牛信息技术有限公司 一种带权重判断的缓存淘汰方法、装置和计算机设备
CN112699154A (zh) * 2021-03-25 2021-04-23 上海洋漪信息技术有限公司 应对大流量数据的多级缓存方法
CN112699154B (zh) * 2021-03-25 2021-06-18 上海洋漪信息技术有限公司 应对大流量数据的多级缓存方法
CN113220233A (zh) * 2021-05-14 2021-08-06 北京百度网讯科技有限公司 数据读取方法、装置及***

Also Published As

Publication number Publication date
CN111930316B (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
CN111930316B (zh) 一种内容分发网络的缓存读写***和方法
US11010300B2 (en) Optimized record lookups
US11093454B2 (en) Speeding deduplication using a most wanted digest cache
CN108459826B (zh) 一种处理io请求的方法及装置
US5991847A (en) Data pattern caching for speeding up write operations
US9934231B2 (en) System and methods for prioritizing data in a cache
EP1569085B1 (en) Method and apparatus for increasing data storage capacity
US9805048B2 (en) System and method for managing a deduplication table
US9501421B1 (en) Memory sharing and page deduplication using indirect lines
CN103399823B (zh) 业务数据的存储方法、设备和***
CN107888687B (zh) 一种基于分布式存储***的代理客户端存储加速方法及***
US20190272258A1 (en) Region-integrated data deduplication implementing a multi-lifetime duplicate finder
CN115794669A (zh) 一种扩展内存的方法、装置及相关设备
Guo et al. HP-mapper: A high performance storage driver for docker containers
CN109002400B (zh) 一种内容感知型计算机缓存管理***及方法
CN114546898A (zh) 一种tlb管理方法、装置、设备及存储介质
KR102321346B1 (ko) 대용량 ssd 장치를 위한 데이터 저널링 방법
CN111443874B (zh) 基于内容感知的固态盘内存缓存管理方法、设备及固态盘
US11520818B2 (en) Method, apparatus and computer program product for managing metadata of storage object
CN111611223A (zh) 非易失性数据的访问方法、***、电子设备和介质
CN107967306B (zh) 一种存储***中关联块的快速挖掘方法
CN102508790A (zh) 一种应用于内容解析存储的基于内容的缓存方法
US11132128B2 (en) Systems and methods for data placement in container-based storage systems
US10795596B1 (en) Delayed deduplication using precalculated hashes
CN110658999B (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