【技术实现步骤摘要】
本专利技术涉及缓存代理服务器中缓存内容的推送技术,特别是涉及一种通信系统、缓存服务器、缓存内容推送、查找方法及系统。
技术介绍
对于已经在缓存服务器上缓存的内容,有些是存在一定相同规则的,如具有相同的相对URI,或者是满足某类正则表达式。即缓存内容的部分路径是相同的或者满足一定规则。如果要及时更新这些缓存内容,我们需要使用内容推送的功能,使缓存服务器上的缓存内容得到更新。通过内容推送功能推送这一类有相同规则的缓存内容,则匹配该规则的缓存内容都可以得到刷新,到源站及时更新。这类内容推送相当于是针对一类目录的方式进行推送。传统目录推送方式采用正则表达式的方式,通过对比缓存内容与推送规则,判断缓存内容是否匹配规则。但存在以下弊端:1)使用正则表达式进行匹配字符串,使用的正则引擎主要有两大类:DFA和NFA。DFA又称确定有限状态自动机,在可识别的语言上有严格的限制。因为它不构造显示扩展,所以它不可以捕获子表达式。NFA引擎运行所谓的“贪婪的”匹配回溯算法。但是,因为传统的NFA回溯,所以它可以访问完全相同的状态多次(如果通过不同的路径到达该状态)。因此,在最坏情况下,它的执行速度可能非常慢。常用的PCRE(PerlCompatibleRegularExpressions,兼容perl的正则表达式库)是一个NFA正则引擎,所以它在提供强大的匹配功能时,却是效率低下的。2)如果是存在大量的内容推送,由于事先无法知道某个缓存内容是否匹配其中一条确定的正则表达式,所以只能采用循环遍历查找的方式逐条匹配。对于遍历所有正则表达式的时间复杂度达到O(n)。再加上上面描述的单 ...
【技术保护点】
一种缓存内容推送方法,其特征在于,包括:接收到一缓存推送请求时,判断所述缓存推送请求的推送规则的类型;若所述缓存推送请求的推送规则的类型为正则表达式,则判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树,若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建平衡树;若所述缓存推送请求的推送规则的类型为相对路径,则判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树,若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建字典树。
【技术特征摘要】
1.一种缓存内容推送方法,其特征在于,包括:接收到一缓存推送请求时,判断所述缓存推送请求的推送规则的类型;若所述缓存推送请求的推送规则的类型为正则表达式,则判断是否已经存在与推送规则的类型为正则表达式的缓存推送请求对应的平衡树,若存在,则在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建平衡树;若所述缓存推送请求的推送规则的类型为相对路径,则判断是否已经存在与推送规则的类型为相对路径的缓存推送请求对应的字典树,若存在,则在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点;若不存在,则根据所述缓存推送请求的推送规则构建字典树。2.根据权利要求1所述的缓存内容推送方法,其特征在于:所述在所述平衡树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;若没查找到,则根据所述缓存推送请求在所述平衡树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。3.根据权利要求1所述的缓存内容推送方法,其特征在于:所述在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤还包括:若查找到,则根据所述缓存推送请求对相匹配的树节点对应的缓存内容进行更新;若没查找到,则根据所述缓存推送请求在所述字典树中建立新的树节点,且将所述缓存推送请求对应的推送规则存储于所述新的树节点。4.根据权利要求3所述的缓存内容推送方法,其特征在于:在所述字典树查找与所述缓存推送请求的推送规则匹配的树节点的步骤包括:将所述缓存推送请求的推送规则逐级进行分解以获得多层级的目录,且根据预设的所述目录的层级优先级,在所述字典树中依次查找与所述缓存推送请求的推送规则的各层级的目录匹配的树节点,且当优先级最低的层级对应的所述目录在所述字典树中查找到对应的树节点时,判断查找到与当前缓存推送请求的推送规则匹配的树节点。5.根据权利要求2或3所述的缓存内容推送方法,其特征在于:根据所述缓存推送请求对相匹配的树节点的缓存内容进行更新的步骤包括:根据所述缓存推送请求从对应的源站中获取相应的缓存内容对相匹配的树节点对应的缓存内容进行更新。6.根据权利要求1所述的缓存内容推送方法,其特征在于:根据所述缓存推送请求的推送规则构建平衡树的步骤包括:在所述平衡树的每个树节点缓存一种正则表达式类型的推送规则;根据所述缓存推送请求的推送规则构建字典树的步骤包括:将相对路径类型的所述推送规则分解为多各层级的目录,所述字典树的每个树节点缓存...
【专利技术属性】
技术研发人员:洪珂,张俊颖,郭延明,董曙佳,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。