CN101296237B - 资源批量处理***和方法 - Google Patents
资源批量处理***和方法 Download PDFInfo
- Publication number
- CN101296237B CN101296237B CN2008101149910A CN200810114991A CN101296237B CN 101296237 B CN101296237 B CN 101296237B CN 2008101149910 A CN2008101149910 A CN 2008101149910A CN 200810114991 A CN200810114991 A CN 200810114991A CN 101296237 B CN101296237 B CN 101296237B
- Authority
- CN
- China
- Prior art keywords
- uri
- resource
- request
- module
- uri address
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种能够对URI资源进行批量处理的资源批量处理***,其特征在于,包括:资源服务器,其存放URI资源并能对所述URI资源进行单个处理;用于存放URI地址的URI地址表;捕捉模块,根据所述资源拥有情况,同步所述URI地址表;请求解析模块,其接收请求,判断所述请求的类型,提取所述请求中的URI地址条件,从所述URI地址表中查找出符合所述URI地址条件的所有URI地址,交给执行模块处理;执行模块,当所述请求解析模块的判断结果是删除请求时,针对所述请求解析模块查找出的每一个所述URI地址,请求资源服务器删除与该URI地址对应的URI资源。能够达到对URI资源进行批量处理、即时更新的效果。
Description
技术领域
本发明涉及计算机网络技术,尤其涉及计算机***中对统一资源识别符(下称URI或URI地址)所标识的资源进行批量处理的资源批量处理***和方法。
背景技术
随着互联网的广泛普及,互联网上存在许多可以通过HTTP协议请求进行访问的资源,这些资源是通过URI(Uniform ResourceIdentifier,关于URI更详细的信息参见RFC 2396文档)来定位和标识的。每一个URI标别唯一的资源。下文中把URI所标别的资源简称为URI资源。网络上的资源一般用URL定位,是URI的一个子集。
目前,URI资源的删除可以通过HTTP协议(详见RFC 2616文档)中的“DELETE”方法来实现的。但是,由于每一个URI标别唯一的资源,采用这种方法每次只能删除一个URI资源。当指定一个表示多个URI的表达式,例如,以正则表达式表示的^http:\/\/ab c.com:80\/home.*$时,删除方法会把这个表达式当做一个URI对待,因此会找不到这个URI,而返回不成功。基于同样的原因,从在内容分发网络(Content Delivery Network,下称CDN)中的CACHE节点(下称缓存节点)上删除用户访问过的资源的操作,也是每次只能删除一个具体的URI而不能进行批量删除的操作,这种情况导致用户在执行大量删除时,不仅费时费力,而且存在漏删的风险。在CDN的情况下,还会影响内容的即时更新,不能给用户提供最新的信息。
发明内容
为了克服上述问题,本发明提供一种能够对URI资源进行批量处理的资源批量处理***,其特征在于,包括:资源服务器,其存放URI资源并能对所述URI资源进行单个处理;用于存放URI地址的URI地址表;捕捉模块,根据所述资源拥有情况,同步所述URI地址表;请求解析模块,其接收请求,判断所述请求的类型,提取所述请求中的URI地址条件,从所述URI地址表中查找出符合所述URI地址条件的所有URI地址,交给执行模块处理;执行模块,当所述请求解析模块的判断结果是删除请求时,针对所述请求解析模块查找出的每一个所述URI地址,请求资源服务器删除与该URI地址对应的URI资源。
在本发明的资源批量处理***中,所述捕捉模块可以包括:初始化模块,在所述资源批量处理***启动时,当所述URI地址表不存在或者为空时,将所述资源服务器上存放的资源所对应的URI地址写入URI地址表,事件通知模块,对所述资源服务器上发生的事件进行监视,当有事件发生时,将该事件的类型和所涉及的URI地址通知更新模块;和更新模块,根据所述事件的类型和所涉及的URI地址,更新所述URI地址表。
在本发明的资源批量处理***中,所述资源服务器可以是CDN网络中的缓存节点,所述事件通知模块对所述资源服务器上发生的应用进程事件进行监视。
在本发明的资源批量处理***中,所述初始化模块通过读取缓存目录中的每个缓存对象的内容头部,获得该缓存对象的URI地址。在本发明的资源批量处理***中,所述资源服务器可以是基于URI进行访问的资源服务器,所述事件通知模块对所述资源服务器上发生的操作***事件进行监视。这里,基于URI进行访问的资源服务器包括但不限于HTTP服务器、流服务器和FTP服务器。
本发明还提供一种对URI资源进行批量处理的资源批量处理方法,其特征在于,包括:资源服务器,其存放URI资源并能对所述URI资源进行单个处理;用于存放URI地址的URI地址表;捕捉步骤,根据资源服务器的资源拥有情况,同步所述URI地址表;请求解析步骤,接收请求,判断所述请求的类型,提取所述请求中的URI地址条件,从所述URI地址表中查找出符合所述URI地址条件的所有URI地址;执行步骤,当所述请求解析步骤的判断结果是删除请求时,针对所述请求解析步骤查找出的每一个所述URI地址,请求资源服务器删除与该URI地址对应的URI资源。
本发明的资源批量处理方法中,所述捕捉步骤可以包括:初始化步骤,在所述捕捉步骤启动时,当所述URI地址表不存在或者为空时,将所述资源服务器上存放的资源所对应的UR I地址写入URI地址表,事件通知步骤,对所述资源服务器上发生的事件进行监视,当有事件发生时,将该事件的类型和所涉及的URI地址通知更新步骤;和更新步骤,根据所述事件的类型和所涉及的URI地址,更新所述URI地址表。
本发明的资源批量处理方法中,所述资源服务器可以是CDN网络中的缓存节点,在所述事件通知步骤中,对所述资源服务器上发生的应用进程事件进行监视。
本发明的资源批量处理方法中,在所述初始化步骤中,通过读取缓存目录中的每个缓存对象的内容头部,获得该缓存对象的URI地址。
本发明的资源批量处理方法中,所述资源服务器可以是基于URI进行访问的资源服务器,在所述事件通知步骤中,对所述资源服务器上发生的操作***事件进行监视。这里,基于URI进行访问的资源服务器包括但不限于HTTP服务器、流服务器和FTP服务器。
根据本发明的对URI资源进行批量处理的资源批量处理***和方法,能够达到对URI资源进行批量处理的效果,能够提高用户工作效率,减少工作失误,在CDN的情况下,还可以达到即时更新的效果。
附图说明
图1是表示本发明的一种实施方式的结构示意图。
图2是在事件通知模块和捕捉模块之间进行通信的消息格式的一个例子。
图3是事件通知模块的处理流程图。
图4是捕捉模块的处理流程图。
图5是请求解析模块的处理流程图。
图6是执行模块的处理流程图。
具体实施方式
下面,参照说明书附图,对本发明的一种实施方式进行详细说明。
图1是表示本发明的一种实施方式的结构示意图。图1中,对URI资源进行批量处理的***(下面称为资源批量处理***)中包括资源服务器11、URI地址表12、事件通知模块13、捕捉模块14、请求解析模块15、执行模块16以及与其它设备进行通信的通信端口和输入输出端口等。
在本实施方式中,资源服务器11是现有的CDN***中的无资源批量处理功能的缓存节点。在CDN***中,用户访问因特网时,资源所在的源通过CDN网络把资源分发到整个CDN网络中的缓存节点上,用户在访问源时候实际访问了靠近用户的一个缓存节点,这样在资源服务器11上保存了许多的缓存对象(一个缓存对象对应于一个URI),并且资源服务器11能够应答用户访问,为请求响应资源,对资源进行如创建、删除、修改等的管理操作。资源服务器11可以对缓存的文件进行删除,但是每次只能删除一个具体的URI所对应的URI资源。
URI地址表12中存放有与资源服务器11中存放的URI资源相对应的URI地址,该URI地址表12由捕捉模块14在最初运行本***时创建,其中的URI地址由捕捉模块14来管理。在本***首次运行时,由于URI地址表12未被创建,而资源服务器11中有可能已经存在缓存对象了,因此捕捉模块14要对URI地址表12进行创 建并进行初始化。具体实现方法是,通过对缓存目录进行扫描,获得每个缓存对象的URI地址。由于CDN***中的缓存节点中保存的缓存对象的内容头部都记录有本对象的URI地址,因此通过读取缓存对象的部分内容可以得到URI地址,从而可以将其添加到URI地址表12中。
在初始化之后,事件通知模块13在资源服务器11有事件发生时,会通过调用或者通信等方式至少将所发生事件的类型和该事件所涉及的URI地址通知给捕捉模块14。
下面,对资源服务器11中的事件进行说明。首先,资源服务器11中的事件分为两类。一类是操作***事件,通过***调用引起的事件称为操作***事件;另一类是应用进程事件,此类事件可以是任何自定义的事件,比如用户的访问、邮件接收发送等任何应用程序所引起的事件。资源服务器11中存在的应用进程事件包括:资源的访问、创建、删除、修改以及移动和服务的开启、关闭等。
在CDN***中,为了提高访问缓存对象的速度,资源服务器11对缓存对象的保存并没有采取基于URI的定位技术,而是根据资源获取的顺序对资源进行编号存放,为方便索引也对URI进行了特殊编码,这种编码是不可逆的,因此除资源服务器11之外无法对这些保存的对象做到见名知义。这种情况下,如果只对操作***事件进行监视,由于不能通过资源在文件***中的名字来获得URI地址,因此有可能带来差错或者根本得不到资源的URI。比如,当资源服务器11删除了某一资源,事件通知模块13通过监视操作***事件捕捉到这一事件,但是由于通过操作***事件无法获得该资源所对应的URI,所以无法从URI地址表12中删除该URI。为了避免这样的问题,在本实施方式中,事件通知模块13不是监视操作***事件,而是监视应用进程事件,也就是说,资源服务器11在应用进程事件发生时,调用事件通知模块13。
图2是在事件通知模块13和捕捉模块14之间进行通信的消息格式的一个例子。如图2所示,规定事件类型为4个字节,后面跟 URI地址字符串,并以换行符“\n”结束。捕捉模块14按此格式进行解析。
捕捉模块14接收事件通知模块13发来的消息,只对所关心的事件进行处理,而忽略不关心的事件。捕捉模块14所关心的事件有资源创建、删除和服务的开启和关闭,对其他事件可以做忽略处理。比如说,当资源服务器11响应一个请求的时候它会把这个事件通过事件通知模块13告诉捕捉模块14,但因为并没有新资源的产生和旧资源的删除,因此捕捉模块14会忽略这一事件,当资源服务器11因为某资源不存在而获取并创建该资源时,这一事件被通知给捕捉模块14,捕捉模块14就会把与新资源对应的URI地址加入URI地址表12中,而当资源服务器11关闭事件时,捕捉模块14也因此而退出。
请求解析模块15接收来自客户端的请求,判断该请求的类型,提取该请求中的URI地址条件,从URI地址表12中查找出符合URI地址条件的所有URI地址,交给执行模块16处理;
执行模块16在请求解析模块15的判断结果是删除请求时,针对请求解析模块15查找出的每一个URI地址,请求资源服务器11删除与该URI地址对应的URI资源。
图3是事件通知模块13的处理流程图。在资源批量处理***启动时,创建事件通知模块13,每当有事件发生时,资源批量处理***就调用事件通知模块13。具体来说,在步骤31,开始调用;在步骤32中,根据资源批量处理***传送的事件的类型和URI地址,构造消息;在步骤33中,向捕捉模块14发送该消息,在步骤34,退出该流程。
图4表示捕捉模块14的处理流程图,该处理流程是在资源批量处理***被启动时开始的,在步骤S41中,初始化URI地址表,对缓存路径下的文件***进行扫描,获得资源服务器11中所有资源所对应的URI地址,添加到URI地址表12中,在步骤S42中,等待来自事件通知模块13的消息,在接收到消息时,转到步骤S43。在步骤S43中,解析接收到的消息的内容,根据事件类型执行相关 操作,如果事件为资源的删除消息,则转到步骤S44,从URI地址表中删除相应的URI地址项;如果事件为资源存储消息,则转到步骤S45,向URI地址表中添加相应的URI地址项,如果为退出消息,则转到步骤S46,结束该流程。
图5表示请求解析模块15的处理流程图,该处理流程在批量处理功能被启动时开始的,在步骤S51中,接收来自请求解析模块15外部的请求;在步骤S52中,对该请求进行判断,根据判断结果,设置判断结果标志位,只要能区分各种请求的标志位都可以作为该判断结果标志位;在步骤S53中,根据请求类型操作执行相应操作;当请求是结束请求时,结束本流程;当请求是删除请求时,执行步骤S54,提取请求内容中的URI表达式,这里的URI表达式不是指一个具体的URI地址,而是一个有关URI的描述。例如http:\\abc.com是一个具体的URI,而^http:\/\/abc.com:80\/home.*$是表示一组URI的表达式,因此表达式为一个具体的URI地址被看作为只匹配一次URI地址的表达式;然后,在步骤55中,对URI地址表12进行搜索,查找URI地址表12中与URI表达式匹配的所有URI地址,产生URI地址结果集;之后,在步骤S56中,将该URI地址结果集作为参数,传送给执行模块16,然后,返回步骤S51,等待请求。
图6表示执行模块16的处理流程图,在步骤S61中,判断请求类型标志位是否是删除;如果请求类型标志位表示是删除操作,则进入步骤S62,否则转到步骤S65,结束该流程。在步骤S62中,依次取出请求解析模块15传送的URI地址结果集中的一个URI地址作为当前URI地址,在步骤S63中,将当前URI地址作为参数传送给资源服务器11,由资源服务器11删除当前URI地址所对应的URI资源,在步骤S64中,判断URI地址结果集是否还有下一个URI地址,如果没有,则转入步骤S65,结束该流程;否则转入步骤S62,继续进行处理。
本发明不限于上述的实施方式,在不脱离其主要内容的范围内,可以进行各种变更。
例如,在上面的实施方式中,以资源服务器11是CDN***中的缓存节点的情况为例进行了说明,但是,资源服务器11也可以是其他提供基于URI进行访问的资源服务器,例如,HTTP服务器、流服务器或FTP服务器。在这些服务器的情况下,只要监视操作***事件就可以获知资源服务器拥有的资源的变化情况,所以不必对应用进程事件进行监视,因此,事件通知模块13可以省去,而直接由捕捉模块捕捉来自***的消息。具体是由捕捉模块监视操作***中文件***的指定路径下文件的变化实现的。此外,在上面实施方式中,通过事件通知模块和捕捉模块来同步URI地址表,而且,在捕捉模块中初始化URI地址表。作为其变形实施方式,可以将捕捉模块进一步拆分为初次启动时对URI地址表进行初始化的初始化模块和在接收到事件的消息时更新URI地址表的更新模块来实现。
另外,在上面实施方式中,事件通知模块13发送给捕捉模块14的消息中仅包含事件类型和引发事件的URI地址,但是,该消息中也可以包括其它信息,该消息中也可以采用其他格式。
总之,本发明不局限于上述的实施方式,在本领域普通技术人员不需要创造性劳动的范围内,进行包括但不限于上述模块的拆分、组合等各种变更也属于本发明的保护范围。本发明的保护范围以权利要求书为准。
Claims (8)
1.一种能够对URI资源进行批量处理的资源批量处理***,其特征在于,包括:
资源服务器,其存放URI资源并能对所述URI资源进行单个处理;
用于存放URI地址的URI地址表;
捕捉模块,根据所述资源拥有情况,同步所述URI地址表;
请求解析模块,其接收请求,判断所述请求的类型,提取所述请求中的URI地址条件,从所述URI地址表中查找出符合所述URI地址条件的所有URI地址,交给执行模块处理;
执行模块,当所述请求解析模块的判断结果是删除请求时,针对所述请求解析模块查找出的每一个所述URI地址,请求资源服务器删除与该URI地址对应的URI资源;
其中,所述捕捉模块包括:
初始化模块,在所述资源批量处理***启动时,当所述URI地址表不存在或者为空时,将所述资源服务器上存放的资源所对应的URI地址写入URI地址表,
事件通知模块,对所述资源服务器上发生的事件进行监视,当有事件发生时,将该事件的类型和所涉及的URI地址通知更新模块;和
更新模块,根据所述事件的类型和所涉及的URI地址,更新所述URI地址表。
2.如权利要求1所述的资源批量处理***,其特征在于,所述资源服务器是CDN网络中的缓存节点,所述事件通知模块对所述资源服务器上发生的应用进程事件进行监视。
3.如权利要求2所述的资源批量处理***,其特征在于,所述初始化模块通过读取缓存目录中的每个缓存对象的内容头部,获得该缓存对象的URI地址。
4.如权利要求1所述的资源批量处理***,其特征在于,所述资源服务器是基于URI进行访问的资源服务器,所述事件通知模块对所述资源服务器上发生的操作***事件进行监视。
5.一种对URI资源进行批量处理的资源批量处理方法,其特征在于,包括:
资源服务器,其存放URI资源并能对所述URI资源进行单个处理;
用于存放URI地址的URI地址表;
捕捉步骤,根据资源服务器的资源拥有情况,同步所述URI地址表;
请求解析步骤,接收请求,判断所述请求的类型,提取所述请求中的URI地址条件,从所述URI地址表中查找出符合所述URI地址条件的所有URI地址;
执行步骤,当所述请求解析步骤的判断结果是删除请求时,针对所述请求解析步骤查找出的每一个所述URI地址,请求资源服务器删除与该URI地址对应的URI资源。
其中,所述捕捉步骤包括:
初始化步骤,在所述捕捉步骤启动时,当所述URI地址表不存在或者为空时,将所述资源服务器上存放的资源所对应的URI地址写入URI地址表,
事件通知步骤,对所述资源服务器上发生的事件进行监视,当有事件发生时,将该事件的类型和所涉及的URI地址通知更新步骤;和
更新步骤,根据所述事件的类型和所涉及的URI地址,更新所述URI地址表。
6.如权利要求5所述的资源批量处理方法,其特征在于,所述资源服务器是CDN网络中的缓存节点,在所述事件通知步骤中,对所述资源服务器上发生的应用进程事件进行监视。
7.如权利要求6所述的资源批量处理***,其特征在于,在所述初始化步骤中,通过读取缓存目录中的每个缓存对象的内容头部,获得该缓存对象的URI地址。
8.如权利要求5所述的资源批量处理方法,其特征在于,所述资源服务器是基于URI进行访问的资源服务器,在所述事件通知步骤中,对所述资源服务器上发生的操作***事件进行监视。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101149910A CN101296237B (zh) | 2008-06-16 | 2008-06-16 | 资源批量处理***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101149910A CN101296237B (zh) | 2008-06-16 | 2008-06-16 | 资源批量处理***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101296237A CN101296237A (zh) | 2008-10-29 |
CN101296237B true CN101296237B (zh) | 2011-11-09 |
Family
ID=40066249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101149910A Expired - Fee Related CN101296237B (zh) | 2008-06-16 | 2008-06-16 | 资源批量处理***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101296237B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010118573A1 (zh) * | 2009-04-15 | 2010-10-21 | 华为技术有限公司 | 基于条件的统一资源标识选择方法与*** |
CN103200278B (zh) * | 2013-04-25 | 2016-08-31 | 网宿科技股份有限公司 | 源站文件更新发布方法及缓存文件更新方法 |
CN104580267A (zh) * | 2013-10-09 | 2015-04-29 | 北京奇虎科技有限公司 | 一种资源下载方法、装置、服务器和相应的*** |
CN105681461A (zh) * | 2016-03-08 | 2016-06-15 | 沈文策 | 一种网络数据删除方法及装置 |
CN105847395A (zh) * | 2016-04-25 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种缓存文件处理方法及设备 |
CN107483637B (zh) * | 2017-09-22 | 2020-08-21 | 苏州浪潮智能科技有限公司 | 一种基于nfs的客户端链接管理方法及装置 |
CN108574722B (zh) * | 2017-10-12 | 2021-12-10 | 视联动力信息技术股份有限公司 | 资源同步方法、装置及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006053167A1 (en) * | 2004-11-11 | 2006-05-18 | Yahoo! Inc. | Search system presenting active abstracts including linked terms |
CN101179474A (zh) * | 2007-12-21 | 2008-05-14 | 深圳市迅雷网络技术有限公司 | 一种下载方法、***及装置 |
CN101183946A (zh) * | 2006-12-26 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 一种获取下载文件资源列表的方法及*** |
-
2008
- 2008-06-16 CN CN2008101149910A patent/CN101296237B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006053167A1 (en) * | 2004-11-11 | 2006-05-18 | Yahoo! Inc. | Search system presenting active abstracts including linked terms |
CN101183946A (zh) * | 2006-12-26 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 一种获取下载文件资源列表的方法及*** |
CN101179474A (zh) * | 2007-12-21 | 2008-05-14 | 深圳市迅雷网络技术有限公司 | 一种下载方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101296237A (zh) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101296237B (zh) | 资源批量处理***和方法 | |
CN110324177B (zh) | 一种微服务架构下的服务请求处理方法、***及介质 | |
US9210235B2 (en) | Client side cache management | |
CN102752288B (zh) | 网络访问行为识别方法和装置 | |
CN104717314B (zh) | 一种ip管理方法及***、客户端、服务器 | |
CN102685259B (zh) | 对dns解析请求进行解析的方法、***和智能dns | |
CN102833262A (zh) | 基于whois信息的钓鱼网站收集、鉴定方法和*** | |
CN109167840B (zh) | 一种任务推送方法、节点自治服务器及边缘缓存服务器 | |
CN102932391A (zh) | P2sp***中处理数据的方法、装置和*** | |
US9055113B2 (en) | Method and system for monitoring flows in network traffic | |
CN101651718B (zh) | 一种改变ip流量所用协议栈的方法和*** | |
CN110519212B (zh) | 一种基于匿名推断的通信转发*** | |
CN112231055A (zh) | 一种镜像管理方法和装置 | |
CN102090039B (zh) | 执行数据中间处理的方法、数据中间处理设备和信息*** | |
CN105099735A (zh) | 一种获取海量详细日志的方法及*** | |
US8375089B2 (en) | Methods and systems for protecting E-mail addresses in publicly available network content | |
US11057470B2 (en) | Communication device and communication method for processing meta data | |
CN114745146B (zh) | 跳转拦截方法、装置、可读存储介质及设备 | |
CN109542913A (zh) | 一种复杂环境下的网络资产安全管理方法 | |
CN101605032A (zh) | 一种控制网站访问的方法及*** | |
CN110581883B (zh) | 内容分发方法、内容发布装置、内容请求装置及路由节点 | |
CN103685367A (zh) | 离线下载***和方法 | |
CN101674311B (zh) | 地址查询方法、网关或用户设备及服务器 | |
CN103377339B (zh) | 消息处理的方法及用户设备 | |
CN107124293B (zh) | 一种分布式网络***的协议管理方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111109 Termination date: 20200616 |
|
CF01 | Termination of patent right due to non-payment of annual fee |