CN109933279A - 一种支持混合存储***的内容过滤方法 - Google Patents

一种支持混合存储***的内容过滤方法 Download PDF

Info

Publication number
CN109933279A
CN109933279A CN201711375346.XA CN201711375346A CN109933279A CN 109933279 A CN109933279 A CN 109933279A CN 201711375346 A CN201711375346 A CN 201711375346A CN 109933279 A CN109933279 A CN 109933279A
Authority
CN
China
Prior art keywords
message
storage system
mixing storage
entry
cryptographic hash
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
CN201711375346.XA
Other languages
English (en)
Other versions
CN109933279B (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.)
Beijing Zhongke Haiwang Technology Co ltd
Original Assignee
Institute of Acoustics CAS
Beijing Hili 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 Institute of Acoustics CAS, Beijing Hili Technology Co Ltd filed Critical Institute of Acoustics CAS
Priority to CN201711375346.XA priority Critical patent/CN109933279B/zh
Priority to US16/761,688 priority patent/US20210182215A1/en
Priority to PCT/CN2018/121491 priority patent/WO2019120165A1/zh
Priority to EP18892083.9A priority patent/EP3696659A4/en
Publication of CN109933279A publication Critical patent/CN109933279A/zh
Application granted granted Critical
Publication of CN109933279B publication Critical patent/CN109933279B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/124Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being minimized, e.g. non MRU
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种支持混合存储***的轻量级的内容过滤方法,该方法包括:使用LRU队列和哈希表来过滤掉访问频率低于指定阈值T的内容,时间复杂度为O(1)。本发明利用LRU队列和哈希表,支持适用于混合存储***的快速内容过滤方法将这些访问次数低于指定阈值的内容过滤出去,将稀缺的存储资源用来缓存那些会被经常访问的热点内容,提高缓存命中率。

Description

一种支持混合存储***的内容过滤方法
技术领域
本发明涉及信息中心网络技术领域,具体涉及一种支持混合存储***的轻量级的内容过滤方法。
背景技术
在信息中心网络(information centric networking,ICN)领域,单一的存储介质往往不能同时满足高速转发和太字节(terabyte,TB)级别缓存的需求,例如:当前满足O(10Gbps)的动态随机存取存储器(dynamic random access memory,DRAM)只能提供O(10GB)的存储空间,而可以提供TB级别存储空间的固态硬盘(solid state drives,SSD)却无法满足O(10Gbps)的线速要求。
此外,当前典型的负载请求特征是很长一段时间内大部分内容只会被访问一次,比如:通过分析Wikipedia 2007年9月20号的URL访问日志发现,63%的内容只被请求了一次。更进一步,尽管混合存储提供了更大的存储空间,但和网络中巨大的内容空间相比,仍然显得微不足道。将这些只会被访问一次的内容存储下来,不仅浪费宝贵的存储空间,也不能提高缓存命中率。与此同时,对这些请求次数较少的内容的处理也会增加ICN路由器的处理压力。
发明内容
本发明的目的是将这些访问次数低于指定阈值的内容过滤出去,将稀缺的存储资源用来缓存那些会被经常访问的热点内容,提高缓存命中率。
为实现上述目的,一方面,本发明提供了一种支持混合存储***的轻量级的内容过滤方法,具体包括:混合存储***确定第一报文,根据第一报文计算对应的哈希值,根据哈希值和最近最久未使用LRU队列,确定第一报文的信息。
在一种可选的实现方式中,上述“第一报文包括”可以包括:兴趣报文和内容报文。
在另一种可选的实现方式中,当第一报文为兴趣报文时,上述“混合存储***根据第一报文计算对应的哈希值”可以包括:混合存储***根据兴趣报文计算对应的第一哈希值Hinsert
在又一种可选的实现方式中,上述“混合存储***根据哈希值和最近最久未使用LRU队列,确定第一报文的信息”,包括:
当混合存储***判断LRU队列为已满状态,则将LRU队列中索引为tail的元素的第二哈希值Hreplace替换为所述Hinsert;混合存储***根据Hreplace将哈希表中记录的请求次数减一次,哈希表用于记录内容请求的次数;混合存储***根据Hinsert将哈希表记录的请求次数加一次,并根据tail的元素确定LRU队列的头部。
在再一种可选的实现方式中,上述“根据Hinsert将哈希表记录的请求次数加一次,并根据tail的元素确定LRU队列的头部”,可以包括:
混合存储***根据Hinsert遍历哈希表的桶,确定匹配的第一接入口entry。
在再一种可选的实现方式中,上述“根据Hinsert遍历所述哈希表的桶,确定匹配的第一接入口entry”,可以包括:
混合存储***读取所述第一entry中的第一字段;若第一字段为1,则比较第一entry中记录的哈希值与匹配的是否相等;若相等,则返回第一entry中记录的哈希值;若不相等,则匹配哈希表的桶的第二接入口。
在再一种可选的实现方式中,当第一报文为内容报文时,上述“混合存储***根据第一报文计算对应的哈希值”,包括:
混合存储***根据内容报文计算对应的第三哈希值Hlookup
在再一种可选的实现方式中,上述“混合存储***根据哈希值和最近最久未使用LRU队列,确定第一报文的信息”,可以包括:
混合存储***根据Hlookup遍历哈希表的桶,确定匹配的第三接入口entry;混合存储***比较第三entry中的请求次数和预设阈值,确定第一报文的信息。
在再一种可选的实现方式中,上述“混合存储***比较第三entry中的请求次数和预设阈值,确定所述第一报文的信息”,可以包括:
若第三entry中的请求次数大于等于预设阈值,则将内容报文缓存至混合存储***中,然后将内容报文从兴趣报文的进入端转发出去;若第三entry中的请求次数小于预设阈值,则将内容报文从兴趣报文的进入端转发出去。
在再一种可选的实现方式中,上述“LRU队列”中每一个元素包括:前一个元素的索引、后一个元素的索引和哈希值中的一个或多个。
另一方面,本发明提供了一种支持混合存储***,具体包括:接收模块,用于确定第一报文。处理模块,用于根据第一报文计算对应的哈希值。该处理模块还用于,根据哈希值和最近最久未使用LRU队列,确定第一报文的信息。
在一种可选的实现方式中,上述“第一报文包括”可以包括:兴趣报文和内容报文。
在另一种可选的实现方式中,当第一报文为兴趣报文时,上述“处理模块”可以具体用于,判断LRU队列为已满状态,则将LRU队列中索引为tail的元素的第二哈希值Hreplace替换为所述Hinsert;根据Hreplace将哈希表中记录的请求次数减一次,哈希表用于记录内容请求的次数;根据Hinsert将哈希表记录的请求次数加一次,并根据tail的元素确定LRU队列的头部。
在又一种可选的实现方式中,上述“处理模块”可以具体用于,根据Hinsert遍历哈希表的桶,确定匹配的第一接入口entry。
在再一种可选的实现方式中,上述“处理模块”可以具体用于,读取第一entry中的第一字段;若第一字段为1,则比较第一entry中记录的哈希值与匹配的是否相等;若相等,则返回第一entry中记录的哈希值;若不相等,则匹配哈希表的桶的第二接入口。
在再一种可选的实现方式中,当第一报文为内容报文时,上述“处理模块”可以具体用于,根据内容报文计算对应的第三哈希值Hlookup
在再一种可选的实现方式中,上述“处理模块”可以具体用于,根据Hlookup遍历哈希表的桶,确定匹配的第三接入口entry;比较第三entry中的请求次数和预设阈值,确定第一报文的信息。
在再一种可选的实现方式中,上述“处理模块”可以具体用于,若第三entry中的请求次数大于等于预设阈值,则将内容报文缓存至混合存储***中,然后将内容报文从兴趣报文的进入端转发出去;若第三entry中的请求次数小于预设阈值,则将内容报文从兴趣报文的进入端转发出去。
在再一种可选的实现方式中,上述“LRU队列”中每一个元素包括:前一个元素的索引、后一个元素的索引和哈希值中的一个或多个。
本发明提供了一种支持混合存储***的轻量级的内容过滤方法,将访问次数低于指定阈值的内容过滤掉,减少SSD的写入次数,提高混合存储***的缓存命中率。其中,混合存储***能够满足高容量、高线速的需求。SSD的物理特性决定了它的写入次数受限,所以,降低SSD的写入次数可以有效提高SSD的寿命,可以提高混合存储***的稳定性。另外,由于最近最久未使用(least recently used,LRU)队列的***删除操作时间复杂度均为O(1),使Hash表的每一个桶大小均与CPU缓存行对齐,可保证一次读取操作就能将整个桶放置在CPU缓存中,因此哈希(hash)表的遍历也只需要一次内存访问操作,从而大大减少由于内存读取而带来的延时。
附图说明
图1为本发明实施例提供的一种支持混合存储***的内容过滤方法的流程图;
图2为本发明实施例提供的一种混合存储***工作示意图;
图3为本发明实施例提供的一种ICN路由器收到兴趣报文的处理流程示意图;
图4为本发明实施例提供的一种ICN路由器收到内容报文的处理流程示意图;
图5为本发明实施例提供的一种支持混合存储***的内容过滤装置的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种支持混合存储***的内容过滤方法的流程图。如图1所示,本发明使用LRU队列和哈希表来过滤访问频率较低的内容,具体步骤可以如下所示:
S110:混合存储***确定第一报文。
具体地,第一报文包括:兴趣报文和内容报文。
S120:混合存储***根据第一报文计算对应的哈希值。
具体地,当第一报文为兴趣报文时,混合存储***根据兴趣报文计算对应的第一哈希值Hinsert
当第一报文为内容报文时,混合存储***根据内容报文计算对应的第三哈希值Hlookup
S130:混合存储***根据哈希值和最近最久未使用LRU队列,确定第一报文的信息。
具体地,当第一报文为兴趣报文时,当混合存储***判断LRU队列为已满状态,则将LRU队列中索引为tail的元素的哈希值,用Hreplace代表,替换为Hinsert,同时根据Hreplace遍历哈希表的桶,找到匹配的第一接入口entry,将该第一接入口entry中记录的请求次数减一哈希表用于记录内容请求的次数。根据Hinsert,遍历哈希表的桶,找到匹配的entry,将对应的请求次数加一,同时将该元素所在的index设置为LRU的头部。
其中,根据Hinsert遍历哈希表的桶,找到匹配的第一接入口entry,可以包括:混合存储***读取第一entry中的第一字段;若第一字段为1,则比较第一entry中记录的哈希值与匹配的是否相等;若相等,则返回第一entry中记录的哈希值;若不相等,则匹配哈希表的桶的第二接入口。
当第一报文为内容报文时,混合存储***根据Hlookup遍历哈希表的桶,确定匹配的第三接入口entry;混合存储***比较第三entry中的请求次数和预设阈值,确定第一报文的信息。
其中,混合存储***比较第三entry中的请求次数和预设阈值,确定第一报文的信息,包括:若第三entry中的请求次数大于等于所述预设阈值,则将内容报文缓存至混合存储***中,然后将内容报文从兴趣报文的进入端转发出去;若第三entry中的请求次数小于预设阈值,则将内容报文从兴趣报文的进入端转发出去。
上述LRU队列中每一个元素包括:前一个元素的索引、后一个元素的索引和所述哈希值中的一个或多个。
上述混合存储***(hybrid storage system)可以是指由DRAM和SSD组成的存储***,该LRU队列用于记录兴趣报文信息,该使用哈希表来记录内容请求次数,具体地,哈希表的每一个Entry大小为8字节,1字节标识该Entry是否被占用,1字节预留,2个字节记录内容对象的请求次数,4字节记录请求内容对象的哈希值。
图2为本发明实施例提供的一种混合存储***工作示意图,如图2所示,假定交换机采用以太网报文,在以太网报文中内容中心网络(content centric network,CCN)对应的EtherType为0x0011,EtherType后1个字节表示数据包的类型字段Type,其中类型Type字段0x01字段代表兴趣包,Type字段0x02代表内容报文。混合存储***如图2所示,由DRAM和SSD组成。当兴趣报文没有在DRAM和SSD中命中时,则向其上游端口转发,如果命中,则响应一个内容报文;当内容报文从上游路径返回时,如果该内容报文的请求次数大于指定阈值,则将该内容报文***DRAM中,当DRAM已满时则将DRAM中被替换掉的内容块缓存在SSD中。
图3为本发明实施例提供的一种ICN路由器收到兴趣报文的处理流程示意图,如图3所示,假定ICN路由器接收到EtherType为0x0011,Type为0x01的兴趣包,如图2所示,ICN路由器将该兴趣包请求的内容对象名字提取出来,计算它的Hash值,用Hinsert来表示,然后将Hinsert存储在LRU队列的头部。假设Hash的桶大小为N,根据Hinsert%N,找到对应的桶,将对应的请求次数加一。如果LRU队列已满,那么队尾的元素将被替换掉,假设被替换掉的元素的Hash值为Hreplace,根据Hreplace%N,找到对应的桶,将对应的请求次数减一。兴趣报文接着执行接下来的处理流程。
图4为本发明实施例提供的一种ICN路由器收到内容报文的处理流程示意图,如图4所示,假定一段时间后ICN路由器接收到EtherType为0x0011,Type为0x02的内容包,如图4所示,ICN路由器将该兴趣包请求的内容对象名字提取出来,计算它的Hash值,用Hlookup来表示,根据Hlookup%N,找到对应的桶,将对应的请求次数与预先设定的阈值T进行比较。如果该请求次数比T大,那么该内容报文将被缓存下来,否则该内容报文将继续执行接下来的处理流程。
图5为本发明实施例提供的一种支持混合存储***的内容过滤装置的结构示意图。如图5所示,接收模块501,用于确定第一报文。处理模块502,用于根据第一报文计算对应的哈希值。该处理模块还用于,根据哈希值和最近最久未使用LRU队列,确定第一报文的信息。
其中,第一报文包括可以包括:兴趣报文和内容报文。
当第一报文为兴趣报文时,处理模块可以具体用于,判断LRU队列为已满状态,则将LRU队列中索引为tail的元素的第二哈希值Hreplace替换为所述Hinsert;根据Hreplace将哈希表中记录的请求次数减一次,哈希表用于记录内容请求的次数;根据Hinsert将哈希表记录的请求次数加一次,并根据tail的元素确定LRU队列的头部。
处理模块可以具体用于,根据Hinsert遍历哈希表的桶,确定匹配的第一接入口entry。
处理模块可以具体用于,读取第一entry中的第一字段;若第一字段为1,则比较第一entry中记录的哈希值与匹配的是否相等;若相等,则返回第一entry中记录的哈希值;若不相等,则匹配哈希表的桶的第二接入口。
当第一报文为内容报文时,处理模块可以具体用于,根据内容报文计算对应的第三哈希值Hlookup。
处理模块可以具体用于,根据Hlookup遍历哈希表的桶,确定匹配的第三接入口entry;比较第三entry中的请求次数和预设阈值,确定第一报文的信息。
处理模块可以具体用于,若第三entry中的请求次数大于等于预设阈值,则将内容报文缓存至混合存储***中,然后将内容报文从兴趣报文的进入端转发出去;若第三entry中的请求次数小于预设阈值,则将内容报文从兴趣报文的进入端转发出去。
LRU队列中每一个元素包括:前一个元素的索引、后一个元素的索引和哈希值中的一个或多个。
本发明提供了一种支持混合存储***的轻量级的内容过滤方法,将访问次数低于指定阈值的内容过滤掉,减少SSD的写入次数,提高混合存储***的缓存命中率。其中,混合存储***能够满足高容量、高线速的需求。SSD的物理特性决定了它的写入次数受限,所以,降低SSD的写入次数可以有效提高SSD的寿命,可以提高混合存储***的稳定性。另外,由于最近最久未使用(least recently used,LRU)队列的***删除操作时间复杂度均为O(1),使Hash表的每一个桶大小均与CPU缓存行对齐,可保证一次读取操作就能将整个桶放置在CPU缓存中,因此哈希(hash)表的遍历也只需要一次内存访问操作,从而大大减少由于内存读取而带来的延时。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种内容过滤的方法,其特征在于,包括以下步骤:
混合存储***确定第一报文;
所述混合存储***根据所述第一报文计算对应的哈希值;
所述混合存储***根据所述哈希值和最近最久未使用LRU队列,确定所述第一报文的信息。
2.根据权利要求1所述的方法,其特征在于,所述第一报文包括:兴趣报文和内容报文。
3.根据权利要求2所述的方法,其特征在于,当所述第一报文为兴趣报文时,所述混合存储***根据所述第一报文计算对应的哈希值,包括:
所述混合存储***根据兴趣报文计算对应的第一哈希值Hinsert
4.根据权利要求3所述的方法,其特征在于,所述混合存储***根据所述哈希值和最近最久未使用LRU队列,确定所述第一报文的信息,包括:
当所述混合存储***判断所述LRU队列为已满状态,则将所述LRU队列中索引为tail的元素的第二哈希值Hreplace替换为所述Hinsert
所述混合存储***根据所述Hreplace将哈希表中记录的请求次数减一次,所述哈希表用于记录内容请求的次数;
所述混合存储***根据所述Hinsert将所述哈希表记录的请求次数加一次,并根据所述tail的元素确定所述LRU队列的头部。
5.根据权利要求4所述的方法,其特征在于,所述根据所述Hinsert将所述哈希表记录的请求次数加一次,并根据所述tail的元素确定所述LRU队列的头部,包括:
所述混合存储***根据所述Hinsert遍历所述哈希表的桶,确定匹配的第一接入口entry。
6.根据权利要求5所述的方法,其特征在于,所述根据所述Hinsert遍历所述哈希表的桶,确定匹配的第一接入口entry,包括:
所述混合存储***读取所述第一entry中的第一字段;
若所述第一字段为1,则比较所述第一entry中记录的哈希值与匹配的是否相等;
若相等,则返回所述第一entry中记录的哈希值;若不相等,则匹配所述哈希表的桶的第二接入口。
7.根据权利要求2所述的方法,其特征在于,当所述第一报文为内容报文时,所述混合存储***根据所述第一报文计算对应的哈希值,包括:
所述混合存储***根据内容报文计算对应的第三哈希值Hlookup
8.根据权利要求7所述的方法,其特征在于,所述混合存储***根据所述哈希值和最近最久未使用LRU队列,确定所述第一报文的信息,包括:
所述混合存储***根据所述Hlookup遍历哈希表的桶,确定匹配的第三接入口entry;
所述混合存储***比较所述第三entry中的请求次数和预设阈值,确定所述第一报文的信息。
9.根据权利要求8所述的方法,其特征在于,所述混合存储***比较所述第三entry中的请求次数和预设阈值,确定所述第一报文的信息,包括:
若所述第三entry中的请求次数大于等于所述预设阈值,则将所述内容报文缓存至所述混合存储***中,然后将所述内容报文从兴趣报文的进入端转发出去;
若所述第三entry中的请求次数小于所述预设阈值,则将所述内容报文从兴趣报文的进入端转发出去。
10.根据权利要求1-9所述的方法,其特征在于,所述LRU队列中每一个元素包括:前一个元素的索引、后一个元素的索引和所述哈希值中的一个或多个。
CN201711375346.XA 2017-12-19 2017-12-19 一种支持混合存储***的内容过滤方法 Active CN109933279B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201711375346.XA CN109933279B (zh) 2017-12-19 2017-12-19 一种支持混合存储***的内容过滤方法
US16/761,688 US20210182215A1 (en) 2017-12-19 2018-12-17 Content filtering method supporting hybrid storage system
PCT/CN2018/121491 WO2019120165A1 (zh) 2017-12-19 2018-12-17 一种支持混合存储***的内容过滤方法
EP18892083.9A EP3696659A4 (en) 2017-12-19 2018-12-17 SUPPORTED CONTENT FILTERING PROCESS FOR HYBRID STORAGE SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711375346.XA CN109933279B (zh) 2017-12-19 2017-12-19 一种支持混合存储***的内容过滤方法

Publications (2)

Publication Number Publication Date
CN109933279A true CN109933279A (zh) 2019-06-25
CN109933279B CN109933279B (zh) 2021-01-22

Family

ID=66983751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711375346.XA Active CN109933279B (zh) 2017-12-19 2017-12-19 一种支持混合存储***的内容过滤方法

Country Status (4)

Country Link
US (1) US20210182215A1 (zh)
EP (1) EP3696659A4 (zh)
CN (1) CN109933279B (zh)
WO (1) WO2019120165A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11470176B2 (en) * 2019-01-29 2022-10-11 Cisco Technology, Inc. Efficient and flexible load-balancing for clusters of caches under latency constraint

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186350A (zh) * 2011-12-31 2013-07-03 北京快网科技有限公司 混合存储***及热点数据块的迁移方法
CN103617276A (zh) * 2013-12-09 2014-03-05 南京大学 一种分布式层次化的rdf数据的存储方法
CN103902474A (zh) * 2014-04-11 2014-07-02 华中科技大学 一种支持固态盘缓存动态分配的混合存储***和方法
CN106293525A (zh) * 2016-08-05 2017-01-04 上海交通大学 一种提高缓存使用效率的方法及***
EP3115904A1 (en) * 2015-07-06 2017-01-11 Alcatel Lucent Method for managing a distributed cache
US20170104681A1 (en) * 2015-10-12 2017-04-13 Futurewei Technologies, Inc. Hash-Based Overlay Routing Architecture for Information Centric Networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002921B2 (en) * 2011-12-09 2015-04-07 Futurewei Technologies, Inc. Method for network coding packets in content-centric networking based networks
US9825860B2 (en) * 2014-05-30 2017-11-21 Futurewei Technologies, Inc. Flow-driven forwarding architecture for information centric networks
US10742596B2 (en) * 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
CN106528001B (zh) * 2016-12-05 2019-08-23 北京航空航天大学 一种基于非易失性存储器和软件raid的缓存***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186350A (zh) * 2011-12-31 2013-07-03 北京快网科技有限公司 混合存储***及热点数据块的迁移方法
CN103617276A (zh) * 2013-12-09 2014-03-05 南京大学 一种分布式层次化的rdf数据的存储方法
CN103902474A (zh) * 2014-04-11 2014-07-02 华中科技大学 一种支持固态盘缓存动态分配的混合存储***和方法
EP3115904A1 (en) * 2015-07-06 2017-01-11 Alcatel Lucent Method for managing a distributed cache
US20170104681A1 (en) * 2015-10-12 2017-04-13 Futurewei Technologies, Inc. Hash-Based Overlay Routing Architecture for Information Centric Networks
CN106293525A (zh) * 2016-08-05 2017-01-04 上海交通大学 一种提高缓存使用效率的方法及***

Also Published As

Publication number Publication date
CN109933279B (zh) 2021-01-22
WO2019120165A9 (zh) 2019-12-05
EP3696659A4 (en) 2021-07-28
WO2019120165A1 (zh) 2019-06-27
EP3696659A1 (en) 2020-08-19
US20210182215A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
US7237061B1 (en) Systems and methods for the efficient reading of data in a server system
WO2021088466A1 (zh) 提高网络芯片报文存储效率的方法、设备及存储介质
CN102971732B (zh) 键/值存储器的集成分级查询处理的***结构
CN104699416B (zh) 一种数据存储***以及一种数据存储方法
CN105677236B (zh) 一种存储设备及其存储数据的方法
JP2013507022A (ja) フローアウェアネットワークノード内でデータパケットを処理するための方法
JPH0793205A (ja) 分散ファイルシステム
CN107562915A (zh) 读取小文件的方法、装置和设备及计算机可读存储介质
US20040001492A1 (en) Method and system for maintaining a MAC address filtering table
CN105512279B (zh) 一种元数据访问方法、相关设备及***
CN103178989A (zh) 访问热度统计方法及装置
WO2017219993A1 (zh) 报文调度
JP6768964B2 (ja) DDoS攻撃検出方法およびデバイス
WO2009065309A1 (fr) Procédé et système de stockage de programme et système de demande de programme
WO2023098316A1 (zh) 一种图数据库的检索方法和装置
US8788784B2 (en) Method and device for storing and reading/writing composite document
US20140133309A1 (en) Method and Apparatus for Sending Packet
CN109933279A (zh) 一种支持混合存储***的内容过滤方法
CN107066505A (zh) 一种性能优化的小文件存储访问的***及方法
CN113687781A (zh) 一种热数据的上拉方法、装置、设备及介质
CN109002260A (zh) 一种缓存数据的处理方法和处理***
EP2523399A1 (en) Method and device for realizing flexible qinq
EP1555620A1 (en) Stream Memory manager
CN111225267B (zh) 内容缓存调度方法、装置和***、内容分发网络节点
EP2613493A1 (en) Media streaming method and media controller

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
TR01 Transfer of patent right

Effective date of registration: 20220915

Address after: Room 1601, 16th Floor, East Tower, Ximei Building, No. 6 Changchun Road, High-tech Industrial Development Zone, Zhengzhou City, Henan Province, 450000

Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd.

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

Patentee before: BEIJING ZHONGKE HAILI TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230105

Address after: No. 2180, 2nd Floor, Building D, Building 33, No. 99, Kechuang 14th Street, Economic and Technological Development Zone, Daxing District, Beijing 100176

Patentee after: Beijing Zhongke Haiwang Technology Co.,Ltd.

Address before: Room 1601, 16th Floor, East Tower, Ximei Building, No. 6 Changchun Road, High-tech Industrial Development Zone, Zhengzhou City, Henan Province, 450000

Patentee before: Zhengzhou xinrand Network Technology Co.,Ltd.

TR01 Transfer of patent right