CN110020272B - 缓存方法、装置以及计算机存储介质 - Google Patents

缓存方法、装置以及计算机存储介质 Download PDF

Info

Publication number
CN110020272B
CN110020272B CN201710689714.1A CN201710689714A CN110020272B CN 110020272 B CN110020272 B CN 110020272B CN 201710689714 A CN201710689714 A CN 201710689714A CN 110020272 B CN110020272 B CN 110020272B
Authority
CN
China
Prior art keywords
node
character
url
current
refreshed
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
CN201710689714.1A
Other languages
English (en)
Other versions
CN110020272A (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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201710689714.1A priority Critical patent/CN110020272B/zh
Publication of CN110020272A publication Critical patent/CN110020272A/zh
Application granted granted Critical
Publication of CN110020272B publication Critical patent/CN110020272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种缓存方法、装置以及计算机存储介质,涉及计算机技术领域。本发明中将各个缓存文件的URL存储于URL树中,URL树中各个节点存储有字符,字符的数量不定,同一层的各个节点的首字符不同,并且从根节点到各个叶子节点或中间节点的字符可以组成一个完整的URL或域名,缓存文件的缓存信息则存储于URL最后一个字符对应的节点中。URL树的存储结构便于查找和管理,当有文件刷新请求时,可以根据对应的URL或域名简单快速的查找到对应的缓存信息,进而对文件进行刷新。此外,URL树的存储结构能够节省存储空间。

Description

缓存方法、装置以及计算机存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种缓存方法、装置以及计算机存储介质。
背景技术
缓存服务器是CDN(Content Delivery Network,内容分发网络)的边缘服务器。缓存内容存储在本地硬盘,为提高海量缓存内容并发存取速度,一般会提供多个硬盘分布式存储。一个URL(Uniform Resource Locator,统一资源定位符)对应的页面的内容缓存为一个文件,缓存文件存储目录和文件名都经过加密。缓存服务器按URL计算的散列算法把缓存文件分散到不同硬盘中,即使同一域名目录下的URL也不一定会存储在一个硬盘下。
对于单个URL的刷新,缓存服务器接收到刷新请求后,会按缓存时相同的算法计算该URL存储的硬盘和路径位置以及加密后的文件名,然后删除该文件。但对于一个目录的整体刷新,缓存服务器处理效果就很复杂了,因为文件名是加密处理过的,所以遍历硬盘方式是找不出来的;由于同一目录下的URL存储位置是分布式的,所以不能按该目录名找到该目录下的所有URL存储位置;一个目录下本地存储了哪些URL也是不知道的,故按照URL一个一个计算缓存文件位置然后删除的方法也是行不通的。目前对于同一目录下的URL进行刷新有以下方法:
方法一:缓存服务器收到目录刷新请求时不删除该目录下的所有URL的缓存文件,只是记录下此目录有刷新要求及刷新任务时刻,在有互联网用户请求时会查询此请求的URL是否在有刷新请求的目录下,若是且当前缓存文件更新时间在刷新任务时刻之前,则去源站抓取最新内容并更新缓存。
方法二:缓存服务器收到目录刷新请求时,把当前所有缓存文件名导入数据库进行排序,找到要刷新目录下的所有文件,然后删除这些文件。
发明内容
发明人发现,由于上述方法中,在文件进行缓存后没有对文件的缓存信息进行很好的管理,当有刷新任务时无法迅速查找到对应的文件,导致刷新URL或目录对应的文件的方法复杂,效率低。
本发明所要解决的一个技术问题是:提出一种文件缓存信息的管理方法,能够迅速查找到文件缓存信息,便于简单高效的对缓存文件进行刷新。
根据本发明的一个实施例,提供的一种缓存方法,包括:将缓存文件对应的统一资源定位符URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待***的URL;从待***的URL的第一个字符和URL树的根节点开始进行匹配:如果当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点;如果当前字符与当前节点对应的未匹配过的字符中的首字符不同,且与当前字符匹配不同的字符为当前节点对应的首字符,则将当前字符以及当前字节之后的所有字符作为当前节点的父节点的子节点***;如果当前字符与当前节点对应的未匹配过的字符中的首字符不同,且与当前字符匹配不同的字符不是当前节点对应的首字符,则提取当前节点中与当前字符匹配不同的字符之前的字符作为新节点取代当前节点,提取与当前字符匹配不同的字符以及之后的字符作为新节点的第一子节点***,将当前字符以及当前字符之后的所有字符作为新节点的第二子节点***,当前节点的各子节点至各叶子节点的各条路径***第一子节点之后;将待***的URL对应的缓存文件的缓存信息存储至待***的URL的最后一个字符对应的节点中。
在一个实施例中,该方法还包括:将待刷新文件对应的URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待刷新的URL;将待刷新的URL的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的URL的最后一个字符对应的节点;根据待刷新的URL的最后一个字符对应的节点中存储的文件的缓存信息,查找到的对应的文件,并对文件进行刷新。
在一个实施例中,该方法还包括:将待刷新文件对应的域名的各字段进行反序排列,各字段内各个字符的顺序不变,得到待刷新的域名;将待刷新的域名的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的域名的最后一个字符对应的节点;根据待刷新的域名的最后一个字符对应的节点以及该节点的各个子节点中存储的文件的缓存信息,查找到对应的各个文件,并对各个文件进行刷新。
在一个实施例中,将待刷新的URL的字符与URL树中各个节点对应的字符进行匹配包括:从待刷新的URL的第一个字符和URL树的根节点开始进行匹配:如果待刷新的URL当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将待刷新的URL的全部字符匹配完。
在一个实施例中,将待刷新的域名的字符与URL树中各个节点对应的字符进行匹配包括:从待刷新的域名的第一个字符和URL树的根节点开始进行匹配:如果待刷新的域名的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将待刷新的域名的全部字符匹配完。
在一个实施例中,URL树中各节点中存储该节点的子节点的起始值和该节点的子节点索引数组,子节点的起始值为各个子节点的对应的首字符的最小值,子节点索引数组中分别存储各个子节点在内存中的地址;选取当前节点的子节点更新为当前节点包括:利用当前字符减去当前节点对应的子节点的起始值,得到当前节点的子节点索引数组值;根据子节点索引数组值查找到对应的子节点索引数组;根据子节点索引数组中的内存地址查找到对应的子节点,并将该子节点更新为当前节点。
在一个实施例中,字符中除去分隔符之外的其他字符采用美国信息交换标准代码ASCII码表示,分隔符中点和斜线分别采用不同的预设数值表示。
根据本发明的另一个实施例,提供的一种缓存装置,包括:URL转换模块,用于将缓存文件对应的统一资源定位符URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待***的URL;
URL***模块,用于从待***的URL的第一个字符和URL树的根节点开始进行匹配:如果当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点;如果当前字符与当前节点对应的未匹配过的字符中的首字符不同,且与当前字符匹配不同的字符为当前节点对应的首字符,则将当前字符以及当前字节之后的所有字符作为当前节点的父节点的子节点***;如果当前字符与当前节点对应的未匹配过的字符中的首字符不同,且与当前字符匹配不同的字符不是当前节点对应的首字符,则提取当前节点中与当前字符匹配不同的字符之前的字符作为新节点取代当前节点,提取与当前字符匹配不同的字符以及之后的字符作为新节点的第一子节点***,将当前字符以及当前字符之后的所有字符作为新节点的第二子节点***,当前节点的各子节点至各叶子节点的各条路径***第一子节点之后;缓存信息存储模块,用于将待***的URL对应的缓存文件的缓存信息存储至待***的URL的最后一个字符对应的节点中。
在一个实施例中,该装置还包括:URL刷新模块,用于将待刷新文件对应的URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待刷新的URL,将待刷新的URL的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的URL的最后一个字符对应的节点,根据待刷新的URL的最后一个字符对应的节点中存储的文件的缓存信息,查找到的对应的文件,并对文件进行刷新。
在一个实施例中,该装置还包括:目录刷新模块,用于将待刷新文件对应的域名的各字段进行反序排列,各字段内各个字符的顺序不变,得到待刷新的域名,将待刷新的域名的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的域名的最后一个字符对应的节点,根据待刷新的域名的最后一个字符对应的节点以及该节点的各个子节点中存储的文件的缓存信息,查找到对应的各个文件,并对各个文件进行刷新。
在一个实施例中,URL刷新模块用于从待刷新的URL的第一个字符和URL树的根节点开始进行匹配:如果待刷新的URL当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将待刷新的URL的全部字符匹配完。
在一个实施例中,目录刷新模块用于从待刷新的域名的第一个字符和URL树的根节点开始进行匹配:如果待刷新的域名的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将待刷新的域名的全部字符匹配完。
在一个实施例中,URL树中各节点中存储该节点的子节点的起始值和该节点的子节点索引数组,子节点的起始值为各个子节点的对应的首字符的最小值,子节点索引数组中分别存储各个子节点在内存中的地址;URL***模块用于利用当前字符减去当前节点对应的子节点的起始值,得到当前节点的子节点索引数组值,根据子节点索引数组值查找到对应的子节点索引数组,根据子节点索引数组中的内存地址查找到对应的子节点,并将该子节点更新为当前节点。
在一个实施例中,字符中除去分隔符之外的其他字符采用美国信息交换标准代码ASCII码表示,分隔符中点和斜线分别采用不同的预设数值表示。
根据本发明的又一个实施例,提供的一种缓存装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器设备中的指令,执行如前述任一个实施例的缓存方法。
根据本发明的再一个实施例,提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例的缓存方法。
本发明中将各个缓存文件的URL存储于URL树中,URL树中各个节点存储有字符,字符的数量不定,同一层的各个节点的首字符不同,并且从根节点到各个叶子节点或中间节点的字符可以组成一个完整的URL或域名,缓存文件的缓存信息则存储于URL最后一个字符对应的节点中。URL树的存储结构便于查找和管理,当有文件刷新请求时,可以根据对应的URL或域名简单快速的查找到对应的缓存信息,进而对文件进行刷新。此外,URL树的存储结构能够节省存储空间。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明的一个实施例的缓存装置的结构示意图。
图2示出本发明的另一个实施例的缓存装置的结构示意图。
图3示出本发明的一个实施例的缓存方法的流程示意图。
图4示出本发明的一个实施例的URL树的结构示意图。
图5示出本发明的另一个实施例的缓存方法的流程示意图。
图6示出本发明的一个实施例的缓存装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中文件缓存方式导致文件刷新的方法复杂、效率低的问题,提出本方案。
本发明的实施例中的缓存装置可各由各种计算设备或计算机***来实现,下面结合图1以及图2进行描述。
图1为本发明缓存装置的一个实施例的结构图。如图1所示,该实施例的装置10包括:存储器110以及耦接至该存储器110的处理器120,处理器120被配置为基于存储在存储器110中的指令,执行本发明中任意一个实施例中的缓存方法。
其中,存储器110例如可以包括***存储器、固定非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图2为本发明缓存装置的另一个实施例的结构图。如图2所示,该实施例的装置20包括:存储器210以及处理器220,存储器210以及处理器220分别与图1中存储器110以及处理器120类似。还可以包括输入输出接口230、网络接口240、存储接口250等。这些接口230,240,250以及存储器210和处理器220之间例如可以通过总线260连接。其中,输入输出接口230为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口240为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口250为SD卡、U盘等外置存储设备提供连接接口。
本发明提出一种缓存方法,下面结合图3和图4进行描述。
图3为本发明缓存方法一个实施例的流程图。如图3所示,该实施例的方法包括:
步骤S302,将缓存文件对应的URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待***的URL。
例如,www.test.cn/2014/07/12,域名部分为www.test.cn,域名各个字段进行反序排列为cn.test.www,除域名部分之外的字段以及各字段内各个字符的顺序不变,则转换为cn.test.www/2014/07/12。
为了便于存储和匹配,可以将URL转换为长整数。具体的,字符中除去分隔符之外的其他字符采用ASCII码(美国信息交换标准代码)表示,分隔符中点和斜线分别采用不同的预设数值表示。例如点(.)用0表示,斜线(/)用1表示。分隔符不采用ASCII码表示便于区分URL中不用于表示分隔符的点或斜线。实际匹配时,匹配字符对应的数值。
例如,cn.test.www/2014/07/12转换为长整数(16进制)为63 6e 0 74 65 73 740 77 77 77 1 32 30 31 34 1 30 37 1 31 32。63为c的ASCII码,依次类推。
步骤S304,选取待***的URL的第一个字符作为当前字符,选取URL树的根节点作为当前节点。
通常情况下URL树中的根节点为入口,不存储具体字符,而存储子节点的内存位置。
步骤S306,判断当前节点对应的字符是否全部匹配完,如果匹配完,则执行步骤S308,否则执行步骤S310。
步骤S308,选取当前节点的子节点更新为当前节点。回到步骤S306重新开始执行。
如图4中所示,为利用URL www.test.cn,www.test.cn/news,www.test.cn/2016/08,video.uv.cn/study.mp4,www.test.com,mp3.test.com/10.mp3,mp3.test.com/13.mp3构建的URL树。
假设待***的URL为cn.test.www/2014/07,首先匹配URL的第一个字符c,从根节点入口进入,根节点中没有字符则将根节点的子节点更新为当前节点。
可以按照预设顺序例如从左至右的顺序选取当前节点的子节点更新为当前节点。
步骤S310,判断当前字符与当前节点对应的未匹配过的字符中的首字符是否相同,如果相同,则执行步骤S312,否则,执行步骤S314。
步骤S312,将待***的URL的下一字符更新为当前字符。回到步骤S306重新开始执行。
如图4中所示,将URL的第一个字符c,与根节点的子节点匹配,匹配相同,则将n更新为当前字符。
步骤S314,判断与当前字符匹配不同的字符是否为当前节点对应的首字符。如果是,则执行步骤S316,否则,执行步骤S318。
步骤S316,将待***的URL的当前字符以及当前字节之后的所有字符作为当前节点的父节点的子节点***。
如图4中所示,假设www.test.cn/2016/08和www.test.cn/news也没有***URL树中,待***的URL为cn.test.www/2014/07,则不存在test.www/的节点。当前字符为t时,与uv对应的节点进行匹配,两者不同,且t与首字符v不同,则将t和t之后的全部字符作为n.的子节点***。至此,一个待***的URL***URL树中。
步骤S318,提取当前节点中与当前字符匹配不同的字符之前的字符作为新节点取代当前节点,提取与当前字符匹配不同的字符以及之后的字符作为新节点的第一子节点***,将待***的URL中当前字符以及当前字符之后的所有字符作为新节点的第二子节点***,当前节点的各子节点至各叶子节点的各条路径***第一子节点之后。
本发明中,第一子节点和第二子节点中的“第一”、“第二”仅用于区分不同的子节点,不起任何其他限制作用。
如图4,假设待***的URL为cn.test.www/2014/07,当前字符为4,当前节点为2016对应的节点,将4与6进行匹配,两者不同,且6不是2016的首字符,则提取6之前的字符201构建新节点,将6和之后的字符作为201的第一子节点***,将当前字符4和之后的字符/07作为201的第二子节点***,当前节点2016的各子节点至各叶子节点的各条路径***第一子节点6之后。
需要说明的是,如果当前字符及其之后的字符过长时,也可以根据分隔符进行拆分作为多个节点,例如,cn.test.www/2014/07作为第一个节点***URL树中时,由于没有其他URL,则可以直接作为根节点的子节点***,也可以按照顺序拆分为多个节点,如cn.为一个节点,test.为一个节点,www/为一个节点,2014/为一个节点,07为一个节点,并按照URL由上到下的层级安排各个节点的父子关系。
步骤S320,将待***的URL对应的缓存文件的缓存信息存储至待***的URL的最后一个字符对应的节点中。
如果待***的URL通过上述匹配过程发现URL树中已存在相同的URL,则只需将缓存文件的缓存信息存储至待***的URL的最后一个字符对应的节点中即可。
URL树的一个节点对应一段内存地址,存储有字符以及缓存文件的缓存信息,缓存信息例如包括:在磁盘中的缓存地址以及加密的文件名称。文件名称经过加密,安全系数高,不容易被篡改。
上述实施例的方法,将各个缓存文件的URL存储于URL树中,URL树中各个节点存储有字符,字符的数量不定,同一层的各个节点的首字符不同,并且从根节点到各个叶子节点或中间节点的字符可以组成一个完整的URL或域名,缓存文件的缓存信息则存储于URL最后一个字符对应的节点中。URL树的存储结构便于查找和管理,当有文件刷新请求时,可以根据对应的URL或域名简单快速的查找到对应的缓存信息,进而对文件进行刷新。此外,URL树的存储结构能够节省存储空间。
本发明还提供基于上述URL进行文件刷新的方法,下面结合图5进行描述。
图5为本发明缓存方法另一个实施例的流程图。如图5所示,在步骤S320之后还可以包括:
步骤S502,将待刷新文件对应的URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待刷新的URL。
该步骤可参考步骤S302中的方法。
步骤S504,将待刷新的URL的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的URL的最后一个字符对应的节点。
具体匹配过程例如为:
(1)将待刷新的URL的第一个字符作为当前字符,选取URL树的根节点作为当前节点。
(2)判断当前节点对应的字符全部匹配完,如果匹配完,则执行步骤(3),否则执行步骤(4)。
(3)选取当前节点的子节点更新为当前节点,回到步骤(2)重新开始执行。
(4)判断当前字符与当前节点对应的未匹配过的字符中的首字符是否相同,如果相同,则执行步骤(5)。
(5)判断待刷新的URL是否还有未匹配的字符,如果有则回到步骤(2)重新开始执行,否则,匹配结束。
步骤S506,根据待刷新的URL的最后一个字符对应的节点中存储的文件的缓存信息,查找到的对应的文件,并对文件进行刷新。
刷新操作可以是将对应的文件进行删除。根据缓存信息中的在磁盘中的缓存地址即可查找到对应的文件。
在步骤S320之后还可以包括:
步骤S508,将待刷新文件对应的域名的各字段进行反序排列,各字段内各个字符的顺序不变,得到待刷新的域名。
对目录下的文件进行刷新即对同一域名下各个URL对应的文件进行刷新。该步骤可参考步骤S302中的方法。
步骤S510,将待刷新的域名的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的域名的最后一个字符对应的节点。
具体匹配过程例如为:
(1)将待刷新的域名的第一个字符作为当前字符,选取URL树的根节点作为当前节点。
(2)判断当前节点对应的字符全部匹配完,如果匹配完,则执行步骤(3),否则执行步骤(4)。
(3)选取当前节点的子节点更新为当前节点,回到步骤(2)重新开始执行。
(4)判断当前字符与当前节点对应的未匹配过的字符中的首字符是否相同,如果相同,则执行步骤(5)。
(5)判断待刷新的域名是否还有未匹配的字符,如果有则回到步骤(2)重新开始执行,否则,匹配结束。
步骤S512,根据待刷新的域名的最后一个字符对应的节点以及该节点的各个子节点中存储的文件的缓存信息,查找到对应的各个文件,并对各个文件进行刷新。
如图4所示,如果待刷新的域名为cn.test.www,查找到该域名最后一个字符对应的节点为test.www/,则根据test.www/及其各个子节点即news、201、4/07、6/08中存储的文件的缓存信息,查找到对应的各个文件,并对各个文件进行刷新。
上述实施例的方法,通过将待刷新的文件对应URL和域名与URL树的各个节点进行匹配即可快速查找到待刷新的文件的缓存信息,进而快速对文件进行刷新。
上述各个实施例中,待匹配的URL或域名匹配完URL树中的一层的节点后,会向该层节点的子节点继续进行匹配,可以按照一定的顺序例如从左至右的顺序依次匹配各个子节点,但是可能速度较慢。本发明在上述实施例的URL的基础上进一步提出一种节点的存储方式,可以加快匹配速度,下面结合图4进行描述。
URL树中一个节点对应一段内存地址,其中存储本节点的属性。节点属性可以包括:本节点key,即本节点对应的字符如步骤S302中的转换方式转换的数值;子节点的起始值,为各个子节点的对应的首字符的最小值;子节点索引数组,子节点索引数组中分别存储各个子节点在内存中的地址;本节点对应的缓存信息。叶子节点肯定有对应的缓存信息,非叶子结点有的也有对应缓存信息。缓存信息包括缓存文件名、缓存文件在磁盘中的位置。
子节点对应的子节点索引数组中=子节点key的首字节-子节点起始值。由于各个子节点的key首字节不一定连续,所以子节点索引数组里有为空的索引值。
例如图4中,201的节点的子节点为4和6,201的节点属性包括:本节点key即201的ASCII码,子节点的起始值即4的ASCII码,子节点索引数组即索引数组[0]:4/的存储位置,索引数组[1]:null,索引数组[2]:6/的存储位置。子节点6/的所在的索引数组即6-4=2。
进一步上述实施例中步骤S308中选取当前节点的子节点更新为当前节点包括:利用当前字符减去当前节点对应的子节点的起始值,得到当前节点的子节点索引数组值;根据子节点索引数组值查找到对应的子节点索引数组;根据子节点索引数组中的内存地址查找到对应的子节点,并将该子节点更新为当前节点。
同理,步骤S504中第(3)步和步骤S510第(3)步,也可以采用同样的方式将子节点更新为当前节点。
如图4所示,假设cn.test.www/2015/08为待***节点,当前字符为5,当前节点为201已经匹配完,需要更新当前节点,则用5减去子节点起始值4得到1为索引数组值,找到索引数组1发现存储为空,则匹配不成功,且与5匹配不成功的字符为该节点首字符,则将5作为201的子节点***,将5的内存地址存入索引数组1中。
进一步,上述图3中的实施例,在***URL树中原来没有的节点时,可以将节点的内存地址存储至相应的索引数组,即***的节点的首字符减去***节点的父节点的子节点的起始值得到相应的索引数组值。如果***的节点的首字符小于子节点的起始值,则需要新建索引数组,并更新子节点的起始值为***的节点的首字符的值。
上述实施例的方法能够加快URL或域名在URL树中的匹配速度,进一步提高效率,从而根据简便高效的实现文件的刷新。
本发明还提供一种缓存装置,下面结合图6进行描述。
图6为本发明缓存装置一个实施例的结构图。如图6所示,该装置60包括:
URL转换模块602,用于将缓存文件对应的统一资源定位符URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待***的URL。
URL***模块604,用于从待***的URL的第一个字符和URL树的根节点开始进行匹配:
如果当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点;
如果当前字符与当前节点对应的未匹配过的字符中的首字符不同,且与当前字符匹配不同的字符为当前节点对应的首字符,则将当前字符以及当前字节之后的所有字符作为当前节点的父节点的子节点***;
如果当前字符与当前节点对应的未匹配过的字符中的首字符不同,且与当前字符匹配不同的字符不是当前节点对应的首字符,则提取当前节点中与当前字符匹配不同的字符之前的字符作为新节点取代当前节点,提取与当前字符匹配不同的字符以及之后的字符作为新节点的第一子节点***,将当前字符以及当前字符之后的所有字符作为新节点的第二子节点***,当前节点的各子节点至各叶子节点的各条路径***第一子节点之后。
在一个实施例中,URL树中各节点中存储该节点的子节点的起始值和该节点的子节点索引数组,子节点的起始值为各个子节点的对应的首字符的最小值,子节点索引数组中分别存储各个子节点在内存中的地址。
URL***模块604用于利用当前字符减去当前节点对应的子节点的起始值,得到当前节点的子节点索引数组值,根据子节点索引数组值查找到对应的子节点索引数组,根据子节点索引数组中的内存地址查找到对应的子节点,并将该子节点更新为当前节点。
缓存信息存储模块606,用于将待***的URL对应的缓存文件的缓存信息存储至待***的URL的最后一个字符对应的节点中。
在一个实施例中,缓存装置60还可以包括:
URL刷新模块608,用于将待刷新文件对应的URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待刷新的URL,将待刷新的URL的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的URL的最后一个字符对应的节点,根据待刷新的URL的最后一个字符对应的节点中存储的文件的缓存信息,查找到的对应的文件,并对文件进行刷新。
URL刷新模块608用于从待刷新的URL的第一个字符和URL树的根节点开始进行匹配:如果待刷新的URL当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将待刷新的URL的全部字符匹配完。
在一个实施例中,缓存装置60还可以包括:
目录刷新模块610,用于将待刷新文件对应的域名的各字段进行反序排列,各字段内各个字符的顺序不变,得到待刷新的域名,将待刷新的域名的字符与URL树中各个节点对应的字符进行匹配,得到待刷新的域名的最后一个字符对应的节点,根据待刷新的域名的最后一个字符对应的节点以及该节点的各个子节点中存储的文件的缓存信息,查找到对应的各个文件,并对各个文件进行刷新。
目录刷新模块610用于从待刷新的域名的第一个字符和URL树的根节点开始进行匹配:如果待刷新的域名的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将下一字符更新为当前字符,如果当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将待刷新的域名的全部字符匹配完。
上述各个实施例中,字符中除去分隔符之外的其他字符采用美国信息交换标准代码ASCII码表示,分隔符中点和斜线分别采用不同的预设数值表示。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例的方法的步骤。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种缓存方法,其特征在于,包括:
将缓存文件对应的统一资源定位符URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待***的URL;
从所述待***的URL的第一个字符和URL树的根节点开始进行匹配:
如果所述待***的URL的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将所述待***的URL的下一字符更新为所述待***的URL的当前字符,如果所述当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点;
如果所述待***的URL的当前字符与所述当前节点对应的未匹配过的字符中的首字符不同,且与所述待***的URL的当前字符匹配不同的字符为所述当前节点对应的首字符,则将所述待***的URL的当前字符以及所述当前字节之后的所有字符作为所述当前节点的父节点的子节点***;
如果所述待***的URL的当前字符与所述当前节点对应的未匹配过的字符中的首字符不同,且与所述待***的URL的当前字符匹配不同的字符不是所述当前节点对应的首字符,则提取所述当前节点中与所述待***的URL的当前字符匹配不同的字符之前的字符作为新节点取代所述当前节点,提取与所述待***的URL的当前字符匹配不同的字符以及之后的字符作为所述新节点的第一子节点***,将所述待***的URL的当前字符以及所述待***的URL的当前字符之后的所有字符作为所述新节点的第二子节点***,所述当前节点的各子节点至各叶子节点的各条路径***所述第一子节点之后;
将所述待***的URL对应的缓存文件的缓存信息存储至所述待***的URL的最后一个字符对应的节点中。
2.根据权利要求1所述的方法,其特征在于,还包括:
将待刷新文件对应的URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待刷新的URL;
将所述待刷新的URL的字符与所述URL树中各个节点对应的字符进行匹配,得到所述待刷新的URL的最后一个字符对应的节点;
根据所述待刷新的URL的最后一个字符对应的节点中存储的文件的缓存信息,查找到的对应的文件,并对所述文件进行刷新。
3.根据权利要求1所述的方法,其特征在于,还包括:
将待刷新文件对应的域名的各字段进行反序排列,各字段内各个字符的顺序不变,得到待刷新的域名;
将所述待刷新的域名的字符与所述URL树中各个节点对应的字符进行匹配,得到所述待刷新的域名的最后一个字符对应的节点;
根据所述待刷新的域名的最后一个字符对应的节点以及该节点的各个子节点中存储的文件的缓存信息,查找到对应的各个文件,并对各个文件进行刷新。
4.根据权利要求2所述的方法,其特征在于,
所述将待刷新的URL的字符与所述URL树中各个节点对应的字符进行匹配包括:
从所述待刷新的URL的第一个字符和URL树的根节点开始进行匹配:
如果所述待刷新的URL的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将所述待刷新的URL的下一字符更新为所述待刷新的URL的当前字符,如果所述当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将所述待刷新的URL的全部字符匹配完。
5.根据权利要求3所述的方法,其特征在于,
所述将待刷新的域名的字符与所述URL树中各个节点对应的字符进行匹配包括:
从所述待刷新的域名的第一个字符和URL树的根节点开始进行匹配:
如果所述待刷新的域名的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将所述待刷新的域名的下一字符更新为所述待刷新的URL的当前字符,如果所述当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将所述待刷新的域名的全部字符匹配完。
6.根据权利要求1所述的方法,其特征在于,
所述URL树中各节点中存储该节点的子节点的起始值和该节点的子节点索引数组,所述子节点的起始值为各个子节点的对应的首字符的最小值,所述子节点索引数组中分别存储各个子节点在内存中的地址;
所述选取当前节点的子节点更新为当前节点包括:
利用所述待***的URL的当前字符减去所述当前节点对应的子节点的起始值,得到所述当前节点的子节点索引数组值;
根据所述子节点索引数组值查找到对应的子节点索引数组;
根据所述子节点索引数组中的内存地址查找到对应的子节点,并将该子节点更新为当前节点。
7.根据权利要求1-6任一项所述的方法,其特征在于,
所述字符中除去分隔符之外的其他字符采用美国信息交换标准代码ASCII码表示,所述分隔符中点和斜线分别采用不同的预设数值表示。
8.一种缓存装置,其特征在于,包括:
URL转换模块,用于将缓存文件对应的统一资源定位符URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待***的URL;
URL***模块,用于从所述待***的URL的第一个字符和URL树的根节点开始进行匹配:
如果所述待***的URL的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将所述待***的URL的下一字符更新为所述待***的URL的当前字符,如果所述当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点;
如果所述待***的URL的当前字符与所述当前节点对应的未匹配过的字符中的首字符不同,且与所述待***的URL的当前字符匹配不同的字符为所述当前节点对应的首字符,则将所述待***的URL的当前字符以及所述当前字节之后的所有字符作为所述当前节点的父节点的子节点***;
如果所述待***的URL的当前字符与所述当前节点对应的未匹配过的字符中的首字符不同,且与所述待***的URL的当前字符匹配不同的字符不是所述当前节点对应的首字符,则提取所述当前节点中与所述待***的URL的当前字符匹配不同的字符之前的字符作为新节点取代所述当前节点,提取与所述待***的URL的当前字符匹配不同的字符以及之后的字符作为所述新节点的第一子节点***,将所述待***的URL的当前字符以及所述待***的URL的当前字符之后的所有字符作为所述新节点的第二子节点***,所述当前节点的各子节点至各叶子节点的各条路径***所述第一子节点之后;
缓存信息存储模块,用于将所述待***的URL对应的缓存文件的缓存信息存储至所述待***的URL的最后一个字符对应的节点中。
9.根据权利要求8所述的装置,其特征在于,还包括:
URL刷新模块,用于将待刷新文件对应的URL的域名部分的各字段进行反序排列,除域名部分之外的字段以及各字段内各个字符的顺序不变,得到待刷新的URL,将所述待刷新的URL的字符与所述URL树中各个节点对应的字符进行匹配,得到所述待刷新的URL的最后一个字符对应的节点,根据所述待刷新的URL的最后一个字符对应的节点中存储的文件的缓存信息,查找到的对应的文件,并对所述文件进行刷新。
10.根据权利要求8所述的装置,其特征在于,还包括:
目录刷新模块,用于将待刷新文件对应的域名的各字段进行反序排列,各字段内各个字符的顺序不变,得到待刷新的域名,将所述待刷新的域名的字符与所述URL树中各个节点对应的字符进行匹配,得到所述待刷新的域名的最后一个字符对应的节点,根据所述待刷新的域名的最后一个字符对应的节点以及该节点的各个子节点中存储的文件的缓存信息,查找到对应的各个文件,并对各个文件进行刷新。
11.根据权利要求9所述的装置,其特征在于,
所述URL刷新模块用于从所述待刷新的URL的第一个字符和URL树的根节点开始进行匹配:如果所述待刷新的URL的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将所述待刷新的URL的下一字符更新为所述待刷新的URL的当前字符,如果所述当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将所述待刷新的URL的全部字符匹配完。
12.根据权利要求10所述的装置,其特征在于,
所述目录刷新模块用于从所述待刷新的域名的第一个字符和URL树的根节点开始进行匹配:如果所述待刷新的域名的当前字符与当前节点对应的未匹配过的字符中的首字符相同,则将所述待刷新的域名的下一字符更新为所述待刷新的域名的当前字符,如果所述当前节点对应的字符全部匹配完,则选取当前节点的子节点更新为当前节点,直至将所述待刷新的域名的全部字符匹配完。
13.根据权利要求8所述的装置,其特征在于,
所述URL树中各节点中存储该节点的子节点的起始值和该节点的子节点索引数组,所述子节点的起始值为各个子节点的对应的首字符的最小值,所述子节点索引数组中分别存储各个子节点在内存中的地址;
所述URL***模块用于利用所述待***的URL的当前字符减去所述当前节点对应的子节点的起始值,得到所述当前节点的子节点索引数组值,根据所述子节点索引数组值查找到对应的子节点索引数组,根据所述子节点索引数组中的内存地址查找到对应的子节点,并将该子节点更新为当前节点。
14.根据权利要求8-13任一项所述的装置,其特征在于,
所述字符中除去分隔符之外的其他字符采用美国信息交换标准代码ASCII码表示,所述分隔符中点和斜线分别采用不同的预设数值表示。
15.一种缓存装置,其特征在于,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器设备中的指令,执行如权利要求1-7任一项所述的缓存方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
CN201710689714.1A 2017-08-14 2017-08-14 缓存方法、装置以及计算机存储介质 Active CN110020272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710689714.1A CN110020272B (zh) 2017-08-14 2017-08-14 缓存方法、装置以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710689714.1A CN110020272B (zh) 2017-08-14 2017-08-14 缓存方法、装置以及计算机存储介质

Publications (2)

Publication Number Publication Date
CN110020272A CN110020272A (zh) 2019-07-16
CN110020272B true CN110020272B (zh) 2021-11-05

Family

ID=67186064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710689714.1A Active CN110020272B (zh) 2017-08-14 2017-08-14 缓存方法、装置以及计算机存储介质

Country Status (1)

Country Link
CN (1) CN110020272B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861030B (zh) * 2019-11-27 2024-04-05 北京金山云网络技术有限公司 Cdn的刷新方法和装置、缓存服务器以及存储介质
CN112861031B (zh) * 2019-11-27 2024-04-02 北京金山云网络技术有限公司 Cdn中url刷新方法、装置、设备以及cdn节点
CN113271359A (zh) * 2021-05-19 2021-08-17 北京百度网讯科技有限公司 刷新缓存数据的方法、装置、电子设备和存储介质
CN113836138A (zh) * 2021-09-07 2021-12-24 海南太美航空股份有限公司 一种航班数据缓存方法及***

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431539B (zh) * 2008-12-11 2011-04-20 华为技术有限公司 一种域名解析方法、***及装置
US20120005185A1 (en) * 2010-06-30 2012-01-05 Cbs Interactive Inc. System and method for locating data feeds
CN101917494B (zh) * 2010-09-09 2013-05-15 刁永平 自治互联网的实现
US9361395B2 (en) * 2011-01-13 2016-06-07 Google Inc. System and method for providing offline access in a hosted document service
CN102663022B (zh) * 2012-03-21 2015-02-11 浙江盘石信息技术有限公司 一种基于url的分类识别方法
CN102819586B (zh) * 2012-07-31 2015-10-07 北京网康科技有限公司 一种基于高速缓存的url分类方法和设备
KR102017526B1 (ko) * 2012-09-25 2019-09-03 삼성전자주식회사 Url 리스트에서 url 주소 검색 방법 및 장치
US9754046B2 (en) * 2012-11-09 2017-09-05 Microsoft Technology Licensing, Llc Taxonomy driven commerce site
CN103870495B (zh) * 2012-12-14 2017-04-12 阿里巴巴集团控股有限公司 用于从网站中提取信息的方法和装置
CN103077208B (zh) * 2012-12-28 2016-01-27 华为技术有限公司 统一资源定位符匹配处理方法及装置
CN105930405B (zh) * 2013-07-12 2019-09-24 北京鑫富天恒科技有限公司 适于url数据抓取中对数据缓存的方法及装置
WO2015036817A1 (en) * 2013-09-15 2015-03-19 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections
CN104767835B (zh) * 2014-01-03 2019-05-31 上海携程商务有限公司 Url地址的配置***及方法
WO2015115952A1 (en) * 2014-01-31 2015-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for obtaining content from a media server
CN103927325B (zh) * 2014-03-13 2017-06-27 中国联合网络通信集团有限公司 一种对url进行分类的方法及装置
CN104219327B (zh) * 2014-09-27 2017-05-10 上海瀚之友信息技术服务有限公司 一种分布式缓存***
CN106686033A (zh) * 2015-11-10 2017-05-17 中兴通讯股份有限公司 一种缓存和服务内容的方法、装置和***
CN105868251A (zh) * 2015-12-22 2016-08-17 乐视云计算有限公司 一种缓存数据更新方法及装置
CN107026758B (zh) * 2017-04-14 2021-05-04 深信服科技股份有限公司 用于cdn业务更新的信息处理方法、信息处理***及服务器

Also Published As

Publication number Publication date
CN110020272A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN109254733B (zh) 用于存储数据的方法、装置和***
CN106970936B (zh) 数据处理方法及装置、数据查询方法及装置
CN108628942B (zh) 区块链节点设备、分布式数据库的数据读取及写入方法
CN110020272B (zh) 缓存方法、装置以及计算机存储介质
US20200201822A1 (en) Lockless synchronization of lsm tree metadata in a distributed system
CN107704202B (zh) 一种数据快速读写的方法和装置
CN111046034A (zh) 管理内存数据及在内存中维护数据的方法和***
CN110795499A (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN105373541A (zh) 数据库的数据操作请求的处理方法和***
CN110704194A (zh) 管理内存数据及在内存中维护数据的方法和***
CN107844488B (zh) 数据查询方法和装置
CN105095425A (zh) 一种数据库的跨库结转方法及装置
EP3107010B1 (en) Data integration pipeline
CN111046106A (zh) 缓存数据同步方法、装置、设备及介质
CN114706894A (zh) 信息处理方法、装置、设备、存储介质及程序产品
CN105843809B (zh) 数据处理方法和装置
CN112559913B (zh) 一种数据处理方法、装置、计算设备及可读存储介质
CN105930104B (zh) 数据存储方法和装置
CN103077174A (zh) 一种并发的资源更新方法与设备
CN107844483B (zh) 文件管理方法及装置
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN115454971A (zh) 数据迁移方法、装置、电子设备及存储介质
CN113411364B (zh) 资源获取方法、装置及服务器
US10114864B1 (en) List element query support and processing
CN110222105B (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
TR01 Transfer of patent right

Effective date of registration: 20220127

Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing

Patentee after: Tianyiyun Technology Co.,Ltd.

Address before: No.31, Financial Street, Xicheng District, Beijing, 100033

Patentee before: CHINA TELECOM Corp.,Ltd.

TR01 Transfer of patent right