CN106446246B - 通信系统、缓存服务器、缓存内容推送、查找方法及系统 - Google Patents

通信系统、缓存服务器、缓存内容推送、查找方法及系统 Download PDF

Info

Publication number
CN106446246B
CN106446246B CN201610891253.1A CN201610891253A CN106446246B CN 106446246 B CN106446246 B CN 106446246B CN 201610891253 A CN201610891253 A CN 201610891253A CN 106446246 B CN106446246 B CN 106446246B
Authority
CN
China
Prior art keywords
push
cache
tree
caching
request
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.)
Active
Application number
CN201610891253.1A
Other languages
English (en)
Other versions
CN106446246A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201610891253.1A priority Critical patent/CN106446246B/zh
Publication of CN106446246A publication Critical patent/CN106446246A/zh
Application granted granted Critical
Publication of CN106446246B publication Critical patent/CN106446246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种通信系统、缓存服务器、缓存内容推送、查找方法及系统,其中缓存服务器根据缓存推送请求的类型分别建立平衡树和字典树,且对接收的缓存推送请求的类型进行判断,当类型为正则表达式时,根据平衡树查找相匹配的树节点,当类型为相对路径时,根据字典树查找相匹配的树节点,且查找到相匹配的节点后,对节点对应的缓存内容进行更新。本发明灵活的根据缓存推送请求的推送规则的类型对缓存内容分别进行不同方式的存储和查找,查找的时间复杂度低且准确性高。

Description

通信系统、缓存服务器、缓存内容推送、查找方法及系统
技术领域
本发明涉及缓存代理服务器中缓存内容的推送技术,特别是涉及一种通信系统、缓存服务器、缓存内容推送、查找方法及系统。
背景技术
对于已经在缓存服务器上缓存的内容,有些是存在一定相同规则的,如具有相同的相对URI,或者是满足某类正则表达式。即缓存内容的部分路径是相同的或者满足一定规则。如果要及时更新这些缓存内容,我们需要使用内容推送的功能,使缓存服务器上的缓存内容得到更新。通过内容推送功能推送这一类有相同规则的缓存内容,则匹配该规则的缓存内容都可以得到刷新,到源站及时更新。这类内容推送相当于是针对一类目录的方式进行推送。
传统目录推送方式采用正则表达式的方式,通过对比缓存内容与推送规则,判断缓存内容是否匹配规则。但存在以下弊端:
1)使用正则表达式进行匹配字符串,使用的正则引擎主要有两大类:DFA和NFA。DFA又称确定有限状态自动机,在可识别的语言上有严格的限制。因为它不构造显示扩展,所以它不可以捕获子表达式。NFA引擎运行所谓的“贪婪的”匹配回溯算法。但是,因为传统的NFA回溯,所以它可以访问完全相同的状态多次(如果通过不同的路径到达该状态)。因此,在最坏情况下,它的执行速度可能非常慢。常用的PCRE(Perl Compatible RegularExpressions,兼容perl的正则表达式库)是一个NFA正则引擎,所以它在提供强大的匹配功能时,却是效率低下的。
2)如果是存在大量的内容推送,由于事先无法知道某个缓存内容是否匹配其中一条确定的正则表达式,所以只能采用循环遍历查找的方式逐条匹配。对于遍历所有正则表达式的时间复杂度达到O(n)。再加上上面描述的单条匹配效率低下的问题,整个遍历的性能消耗相当大。对于性能敏感的服务器,这种消耗对于服务的影响是较大的。
3)如果是推送相同的推送规则,则需要更新原有的推送时间,保证缓存需要刷新的时间点是正确的。但是要找到原先的推送规则,也是需要循环遍历原有的推送规则,找到相同的推送规则进行更新,这样的时间复杂度也是O(n)。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种通信系统、缓存服务器、缓存内容推送、查找方法及系统,用于解决现有技术中推送方式单一且推送效率低下的问题。
为实现上述目的及其他相关目的,本发明提供一种缓存内容推送方法,包括:接收到一缓存推送请求时,判断所述缓存推送请求的推送规则的类型;若所述缓存推送请求的推送规则的类型为正则表达式,则判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树,若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建平衡树;若所述缓存推送请求的推送规则的类型为相对路径,则判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树,若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建字典树。
于本发明一具体实施例中,所述在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;若没查找到,则根据所述缓存推送请求在所述平衡树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。
于本发明一具体实施例中,所述在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;若没查找到,则根据所述缓存推送请求在所述字典树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。
于本发明一具体实施例中,在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤包括:将所述缓存推送请求的推送规则逐级进行分解以获得多层级的目录,且根据预设的所述目录的层级优先级,在所述字典树中依次查找与所述缓存推送请求的推送规则的各层级的目录匹配的树节点,且当优先级最低的层级对应的所述目录在所述字典树中查找到对应的树节点时,判断查找到与当前缓存推送请求的推送规则匹配的树节点。
于本发明一具体实施例中,根据所述缓存推送请求对相匹配的树节点的缓存内容进行更新的步骤包括:根据所述缓存推送请求从对应的源站中获取相应的缓存内容对相匹配的树节点对应的缓存内容进行更新。
于本发明一具体实施例中,根据所述缓存推送请求的推送规则构建平衡树的步骤包括:在所述平衡树的每个树节点缓存一种正则表达式类型的推送规则;根据所述缓存推送请求的推送规则构建字典树的步骤包括:将相对路径类型的所述推送规则分解为多各层级的目录,所述字典树的每个树节点缓存其中一级所述目录。
为实现上述目的及其他相关目的,本发明还提供一种缓存内容推送系统,包括:推送规则类型判断模块,用以接收到一缓存推送请求时,判断所述缓存推送请求的推送规则的类型,若所述缓存推送请求的推送规则的类型为正则表达式则执行第一推送模块,若所述缓存推送请求的推送规则的类型为相对路径则执行第二推送模块;所述第一推送模块用以在所述缓存推送请求的推送规则的类型为正则表达式时,判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树,若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建平衡树;第二推送模块用以在所述缓存推送请求的推送规则的类型为相对路径时,判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树,若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建字典树。
为实现上述目的及其他相关目的,本发明还提供一种缓存内容查找方法,应用于根据如上任一项所述的缓存内容推送方法对缓存内容进行存储和更新的缓存服务器,所述方法包括:接收到一缓存查找请求时,分别在所述平衡树和字典树查找是否存在与所述缓存查找请求匹配的树节点;若存在,则从相应的源站中获取相应的缓存内容以响应所述缓存查找请求;若不存在,则直接以所述缓存服务器中的缓存内容响应所述缓存查找请求。
于本发明一具体实施例中,当查找到与所述缓存查找请求匹配的树节点时,还包括:判断当前树节点对应的缓存内容是否可用,且当不可用时,从相应的源站中获取相应的缓存内容以响应所述缓存查找请求。
为实现上述目的及其他相关目的,本发明还提供一种缓存内容查找系统,应用于根据如上所述的缓存内容推送系统对缓存内容进行存储和更新的缓存服务器,所述系统包括:匹配模块,用以接收到一缓存查找请求时,分别在所述平衡树和字典树查找是否存在与所述缓存查找请求匹配的树节点;响应模块,用以在所述匹配模块判断存在与所述缓存查找请求匹配的树节点时,则从相应的源站中获取相应的缓存内容以响应所述缓存查找请求;且用以在所述匹配模块判断不存在与所述缓存查找请求匹配的树节点时,则直接以所述缓存服务器中的缓存内容响应所述缓存查找请求。
为实现上述目的及其他相关目的,本发明还提供一种缓存服务器,包括如上所述的缓存内容推送系统以及如上所述的缓存内容查找系统。
为实现上述目的及其他相关目的,本发明还提供一种通信系统,包括客户端、如上所述的缓存服务器、以及源站,所述客户端用于发送所述缓存推送请求或所述缓存查找请求。
如上所述,本发明提出一种通信系统、缓存服务器、缓存内容推送、查找方法及系统,其中缓存服务器根据缓存推送请求的类型分别建立平衡树和字典树,且对接收的缓存推送请求的类型进行判断,当类型为正则表达式时,根据平衡树查找相匹配的树节点,当类型为相对路径时,根据字典树查找相匹配的树节点,且查找到相匹配的节点后,对节点对应的缓存内容进行更新。本发明灵活的根据缓存推送请求的推送规则的类型对缓存内容分别进行不同方式的存储和查找,查找的时间复杂度低且准确性高。
附图说明
图1显示为本发明的通信系统在一具体实施例中的流程示意图。
图2显示为本发明的缓存内容推送方法在一具体实施例中的流程示意图。
图3显示为发明一具体实施例中的平衡树的结构示意图。
图4显示为发明一具体实施例中的字典树的结构示意图。
图5显示为本发明的缓存内容推送系统在一具体实施例中的模块示意图。
图6显示为本发明的缓存内容查找方法在一具体实施例中的流程示意图。
图7显示为本发明缓存内容查找方法在一具体实施例中的应用示意图。
图8显示为本发明的缓存内容查找系统在一具体实施例中的模块示意图。
元件标号说明
10 通信系统
11 客户端
12 缓存服务器
13 源站
20 缓存内容推送方法
21~24 方法步骤
50 缓存内容推送系统
51 推送规则类型判断模块
52 第一推送模块
53 第二推送模块
60 缓存内容查找方法
61~64 方法步骤
80 缓存内容查找系统
81 匹配模块
82 响应模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明通过将内容推送规则分为使用正则表达式和使用相对路径,分别使用不同的存储方式,同时改进推送规则的查找方式,具体改进点如下:
1)采用正则表达式存储的推送规则,不再使用循环遍历的方式,而是采用构建成一颗平衡树,每个树节点缓存一条推送规则。查找推送规则,则只需要查找该平衡树。这样,查找的时间复杂度即为树高,由于是构建为平衡树,所以整体的复杂度从O(n)降为O(logn)。
2)采用相对路径存储的推送规则,对其缓存方式进行改进,存储缓存推送规则不再像存储链表的方式存储,而是采用数据结构中的字典树进行存储,每个节点存储相对路径的某一级目录。这样从根节点到某一节点,路径上经过的字符串连接起来,为从根节点开始对应的字符串,即一条完整的相对路径。
3)对查找缓存规则的方法的改进,缓存推送规则的匹配过程,不再使用循环遍历的方式匹配规则,而是采用查找树的方式,如果对应的缓存文件有存在一条完整的推送规则,则认为是匹配该规则的。这样可以把匹配的时间复杂度从O(n)降到O(log n)。
本发明应用于如图1所示的通信系统10中,所述通信系统10包括客户端11、缓存服务器12、以及源站13,所述客户端11用于发送所述缓存推送请求或所述缓存查找请求至所述缓存服务器12。于具体应用中,所述客户端11例如为智能手机或电脑等智能处理终端。
具体,请参阅图2,显示为本发明的缓存内容推送方法在一具体实施例中的流程示意图。所述缓存内容推送方法20应用于所述缓存服务器12中,所述方法20包括:
21:接收一缓存推送请求;所述缓存推送请求由所述客户端11发出。
22:判断所述缓存推送请求的推送规则的类型;
23:若所述缓存推送请求的推送规则的类型为正则表达式,则判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树;
231:若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;于本发明的具体实施例中,所述在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;若没查找到,则根据所述缓存推送请求在所述平衡树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。
232:若不存在,则根据所述缓存推送请求的推送规则构建平衡树;于本发明一具体实施例中,根据所述缓存推送请求的推送规则构建平衡树的步骤包括:在所述平衡树的每个树节点缓存一种正则表达式类型的推送规则。
参阅图3,显示为发明一具体实施例中的平衡树的结构示意图。图3所示的平衡树包括6个树节点,且每个树节点分别对应一条推送规则,分别为推送规则1、推送规则2、推送规则3、推送规则4、推送规则5、以及推送规则6。
即内容推送中像正则表达式这类无明显特性的推送规则,优化其存储的数据结构,采用平衡树的方式存储。其中每个树节点,即一条缓存推送规则。推送规则的存储结构通过压缩整个链表的长度,将其转化为树高。同时保证树的平衡性,使其不会退化为一条链表。这样对于该类的推送规则查找的时间复杂度降为O(log n)。对于需要频繁使用查找的服务器来说,大大缩短了其查找时间,从而提供更加快速高效的服务。
24:若所述缓存推送请求的推送规则的类型为相对路径,则判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树;
241:若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;于本发明的具体实施例中,所述在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;若没查找到,则根据所述缓存推送请求在所述字典树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。
进一步的,在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤包括:将所述缓存推送请求的推送规则逐级进行分解以获得多层级的目录,且根据预设的所述目录的层级优先级,在所述字典树中依次查找与所述缓存推送请求的推送规则的各层级的目录匹配的树节点,且当优先级最低的层级对应的所述目录在所述字典树中查找到对应的树节点时,判断查找到与当前缓存推送请求的推送规则匹配的树节点。
242:若不存在,则根据所述缓存推送请求的推送规则构建字典树。根据所述缓存推送请求的推送规则构建字典树的步骤包括:将相对路径类型的所述推送规则分解为多各层级的目录,所述字典树的每个树节点缓存其中一级所述目录。
参阅图4,显示为发明一具体实施例中的字典树的结构示意图。图4所示的字典树包括6个树节点,且每个树节点分别对应一个目录层级,且树节点“目录b”对应的推送规则为“/a/b”,则6,且树节点“目录e”对应的推送规则为“/d/e”,且树节点“目录a”对应的推送规则为“/a”,其他以此类推。
即内容推送中以相对路径URI推送的规则,不再使用链表的方式进行存储,采用字典树进行缓存推送规则。每个树节点存储相对路径的某一级目录。从根节点到某个节点的完整路径,即对应一条缓存推送规则。匹配缓存的过程,减少了规则匹配的遍历时间。同时不使用正则表达式,免去了编译正则表达式以及正则表达式复杂的匹配过程。极大的减少了性能的消耗。对时间成本以及系统资源两方面都进行了优化。
于本发明一具体实施例中,根据所述缓存推送请求对相匹配的树节点的缓存内容进行更新的步骤包括:根据所述缓存推送请求从对应的源站13中获取相应的缓存内容对相匹配的树节点对应的缓存内容进行更新。
所述缓存内容推送方法使用树进行推送规则的匹配,而非循环遍历链表的方式。提升了匹配规则的速度。对于平衡树,整体的查找时间降为O(log n)。对于使用的字典树,其时间复杂度由目录的层级决定,由于相对路径的目录层级并不会很多,所以时间复杂度接近为O(1)。这样整体对每个缓存进行规则的匹配时间上做了较多优化。不管是以何种方式进行推送,都能提高效率。
请参阅图5,显示为本发明的缓存内容推送系统在一具体实施例中的模块示意图。所述缓存内容推送系统50包括:
推送规则类型判断模块51用以接收到一缓存推送请求时,判断所述缓存推送请求的推送规则的类型,若所述缓存推送请求的推送规则的类型为正则表达式则执行第一推送模块52,若所述缓存推送请求的推送规则的类型为相对路径则执行第二推送模块53;
所述第一推送模块52用以在所述缓存推送请求的推送规则的类型为正则表达式时,判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树,若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建平衡树;
所述第二推送模块53用以在所述缓存推送请求的推送规则的类型为相对路径时,判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树,若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建字典树。
所述缓存内容推送系统50为与所述缓存内容推送方法20对应的系统项,两者技术方案一一对应,所有关于所述缓存内容推送方法20的描述均可应用于本实施例中,在此不加赘述。
进一步参阅图6,显示为本发明的缓存内容查找方法在一具体实施例中的流程示意图。所述缓存内容查找方法60应用于根据如上所述的缓存服务器12中,所述方法60包括:
61:接收一缓存查找请求;
62分别在所述平衡树和字典树查找是否存在与所述缓存查找请求匹配的树节点;若存在,则执行步骤63;若不存在,则执行步骤64;
63:从相应的源站中获取相应的缓存内容以响应所述缓存查找请求;
64:直接以所述缓存服务器中的缓存内容响应所述缓存查找请求。
于本发明一具体实施例中,当查找到与所述缓存查找请求匹配的树节点时,还包括:判断当前树节点对应的缓存内容是否可用,且当不可用时,从相应的源站中获取相应的缓存内容以响应所述缓存查找请求。
进一步结合图7,显示为本发明缓存内容查找方法在一具体实施例中的应用示意图。且本实施例中以字典树为例进行查找说明,具体为:
1)从客户端11的请求URL中获取到缓存内容的相对URI,从域名后的根目录开始,逐级分解,将每个目录分解出来。
2)对缓存内容的URI从根目录开始的每个目录,查找字典树,如果从字典树的根部开始存在该目录,则继续查找下一级目录,同时字典树也从查找到的该目录节点继续往下匹配。如果不存在匹配该目录的节点,则说明不存在匹配该缓存内容的规则,所以缓存内容不需要刷新,直接返回给客户端。如果存在一条完整的推送规则,获取推送规则的相关信息,判断该推送规则是否可以使用。
3)如果推送规则不可以继续使用,则继续分解目录且继续查找字典树,直到找不到树节点匹配。
4)如果推送规则可用,且根据该推送规则判断出缓存过期,则到后端(源站13)重新更新缓存内容,然后返回给客户端11。
进一步参阅图8,显示为本发明的缓存内容查找系统在一具体实施例中的模块示意图。应用于根据如上所述的缓存内容推送系统50对缓存内容进行存储和更新的缓存服务器12,所述缓存内容查找系统80包括:
匹配模块81,用以接收到一缓存查找请求时,分别在所述平衡树和字典树查找是否存在与所述缓存查找请求匹配的树节点;
响应模块82,用以在所述匹配模块81判断存在与所述缓存查找请求匹配的树节点时,则从相应的源站中获取相应的缓存内容以响应所述缓存查找请求;且用以在所述匹配模块81判断不存在与所述缓存查找请求匹配的树节点时,则直接以所述缓存服务器中的缓存内容响应所述缓存查找请求。
所述缓存内容查找系统80为与所述缓存内容查找方法60对应的系统项,两者技术方案一一对应,所有关于所述缓存内容查找方法60的描述均可应用于本实施例中,在此不加赘述。
综上所述,本发明提出一种通信系统、缓存服务器、缓存内容推送、查找方法及系统,其中缓存服务器根据缓存推送请求的类型分别建立平衡树和字典树,且对接收的缓存推送请求的类型进行判断,当类型为正则表达式时,根据平衡树查找相匹配的树节点,当类型为相对路径时,根据字典树查找相匹配的树节点,且查找到相匹配的节点后,对节点对应的缓存内容进行更新。本发明灵活的根据缓存推送请求的类型对缓存内容分别进行不同方式的存储和查找,查找的时间复杂度低且准确性高。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (12)

1.一种缓存内容推送方法,其特征在于,包括:
接收到一缓存推送请求时,判断所述缓存推送请求的推送规则的类型;
若所述缓存推送请求的推送规则的类型为正则表达式,则判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树,若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建平衡树;
若所述缓存推送请求的推送规则的类型为相对路径,则判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树,若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建字典树。
2.根据权利要求1所述的缓存内容推送方法,其特征在于:所述在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:
若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;
若没查找到,则根据所述缓存推送请求在所述平衡树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。
3.根据权利要求1所述的缓存内容推送方法,其特征在于:所述在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:
若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;
若没查找到,则根据所述缓存推送请求在所述字典树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。
4.根据权利要求3所述的缓存内容推送方法,其特征在于:在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤包括:将所述缓存推送请求的推送规则逐级进行分解以获得多层级的目录,且根据预设的所述目录的层级优先级,在所述字典树中依次查找与所述缓存推送请求的推送规则的各层级的目录匹配的树节点,且当优先级最低的层级对应的所述目录在所述字典树中查找到对应的树节点时,判断查找到与当前缓存推送请求的推送规则匹配的树节点。
5.根据权利要求2或3所述的缓存内容推送方法,其特征在于:根据所述缓存推送请求对相匹配的树节点的缓存内容进行更新的步骤包括:根据所述缓存推送请求从对应的源站中获取相应的缓存内容对相匹配的树节点对应的缓存内容进行更新。
6.根据权利要求1所述的缓存内容推送方法,其特征在于:
根据所述缓存推送请求的推送规则构建平衡树的步骤包括:在所述平衡树的每个树节点缓存一种正则表达式类型的推送规则;
根据所述缓存推送请求的推送规则构建字典树的步骤包括:将相对路径类型的所述推送规则分解为多各层级的目录,所述字典树的每个树节点缓存其中一级所述目录。
7.一种缓存内容推送系统,其特征在于,包括:
推送规则类型判断模块,用以接收到一缓存推送请求时,判断所述缓存推送请求的推送规则的类型,若所述缓存推送请求的推送规则的类型为正则表达式则执行第一推送模块,若所述缓存推送请求的推送规则的类型为相对路径则执行第二推送模块;
所述第一推送模块用以在所述缓存推送请求的推送规则的类型为正则表达式时,判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树,若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建平衡树;
所述第二推送模块用以在所述缓存推送请求的推送规则的类型为相对路径时,判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树,若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建字典树。
8.一种缓存内容查找方法,其特征在于,应用于根据如权利要求1~6中任一项所述的缓存内容推送方法对缓存内容进行存储和更新的缓存服务器,所述缓存内容查找方法包括:
接收到一缓存查找请求时,分别在所述平衡树和字典树查找是否存在与所述缓存查找请求匹配的树节点;
若存在,则从相应的源站中获取相应的缓存内容以响应所述缓存查找请求;
若不存在,则直接以所述缓存服务器中的缓存内容响应所述缓存查找请求。
9.根据权利要求8所述的缓存内容查找方法,其特征在于:当查找到与所述缓存查找请求匹配的树节点时,还包括:判断当前树节点对应的缓存内容是否可用,且当不可用时,从相应的源站中获取相应的缓存内容以响应所述缓存查找请求。
10.一种缓存内容查找系统,其特征在于,应用于根据如权利要求7所述的缓存内容推送系统对缓存内容进行存储和更新的缓存服务器,所述缓存内容查找系统包括:
匹配模块,用以接收到一缓存查找请求时,分别在所述平衡树和字典树查找是否存在与所述缓存查找请求匹配的树节点;
响应模块,用以在所述匹配模块判断存在与所述缓存查找请求匹配的树节点时,则从相应的源站中获取相应的缓存内容以响应所述缓存查找请求;且用以在所述匹配模块判断不存在与所述缓存查找请求匹配的树节点时,则直接以所述缓存服务器中的缓存内容响应所述缓存查找请求。
11.一种缓存服务器,其特征在于:包括如权利要求7所述的缓存内容推送系统以及如权利要求10所述的缓存内容查找系统。
12.一种通信系统,其特征在于:包括客户端、如权利要求11所述的缓存服务器以及源站,所述客户端用于发送所述缓存推送请求或所述缓存查找请求。
CN201610891253.1A 2016-10-12 2016-10-12 通信系统、缓存服务器、缓存内容推送、查找方法及系统 Active CN106446246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610891253.1A CN106446246B (zh) 2016-10-12 2016-10-12 通信系统、缓存服务器、缓存内容推送、查找方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610891253.1A CN106446246B (zh) 2016-10-12 2016-10-12 通信系统、缓存服务器、缓存内容推送、查找方法及系统

Publications (2)

Publication Number Publication Date
CN106446246A CN106446246A (zh) 2017-02-22
CN106446246B true CN106446246B (zh) 2019-10-11

Family

ID=58174935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610891253.1A Active CN106446246B (zh) 2016-10-12 2016-10-12 通信系统、缓存服务器、缓存内容推送、查找方法及系统

Country Status (1)

Country Link
CN (1) CN106446246B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388613B (zh) * 2018-02-08 2020-09-11 竞技世界(北京)网络技术有限公司 一种缓存数据的更新方法
CN111049746B (zh) * 2018-10-12 2022-04-22 华为技术有限公司 一种路由表项生成方法、字典树生成方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200278A (zh) * 2013-04-25 2013-07-10 网宿科技股份有限公司 源站文件更新发布方法及缓存文件更新方法
CN105868251A (zh) * 2015-12-22 2016-08-17 乐视云计算有限公司 一种缓存数据更新方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265314A1 (en) * 2008-04-18 2009-10-22 Sap Agdietmar-Hopp-Allee Secure file searching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200278A (zh) * 2013-04-25 2013-07-10 网宿科技股份有限公司 源站文件更新发布方法及缓存文件更新方法
CN105868251A (zh) * 2015-12-22 2016-08-17 乐视云计算有限公司 一种缓存数据更新方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Resource Information Cache Update Control for Scalable Access Control Management Systems;Kumiko Tadano;《2010 IEEE 3rd International Conference on Cloud Computing》;20100710;第538-539页 *
基于缓存的复合数据服务更新优化方法;王家尧;《微电子学与计算机》;20130331;第30卷(第3期);第80-84页 *

Also Published As

Publication number Publication date
CN106446246A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN104052661B (zh) 容器名服务器和容器名解析方法
CN104009920B (zh) 数据源移动的处理方法、转发报文的方法及其装置
CN107291807B (zh) 一种基于图遍历的sparql查询优化方法
CN102184227B (zh) 一种面向web服务的通用爬虫引擎系统及其工作方法
CN104714965B (zh) 静态资源去重方法、静态资源管理方法及装置
CN105550228B (zh) 智能储物装置及基于智能储物装置的存取识别方法、系统
CN102663007B (zh) 一种支持敏捷开发和横向扩展的数据存储与查询方法
KR20140144570A (ko) 컨텐츠 중심 네트워크에서 컨텐츠의 이동성을 지원하기 위한 노드의 통신 방법 및 노드
CN104820717A (zh) 一种海量小文件存储及管理方法和系统
CN103761102B (zh) 一种统一数据服务平台及其实现方法
CN103312725A (zh) 一种基于节点重要程度的内容中心网络缓存判决方法
Scherb et al. Resolution strategies for networking the IoT at the edge via named functions
CN109450795B (zh) 一种面向服务网络的服务路由器及服务网络系统
CN109643305A (zh) 数据查询方法、应用和数据库服务器、中间件及系统
CN103905538A (zh) 内容中心网络中邻居协作缓存替换方法
CN108282525A (zh) 基于对等网络的视频资源管理系统和方法
CN106446246B (zh) 通信系统、缓存服务器、缓存内容推送、查找方法及系统
Saxena et al. N-FIB: Scalable, memory efficient name-based forwarding
CN108241709A (zh) 一种数据集成方法、装置和系统
CN110086721A (zh) 一种回源关系管理系统、方法、装置、服务器及存储介质
KR101097660B1 (ko) 무선 방송 스트림에서 xml 질의 처리 방법
CN105025042B (zh) 一种确定数据信息的方法及系统、代理服务器
Zagarese et al. Enabling advanced loading strategies for data intensive web services
Markey et al. A performance analysis of WS-*(SOAP) and restful web services for implementing service and resource orientated architectures
Li et al. Ontsum: A semantic query routing scheme in p2p networks based on concise ontology indexing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant