CN104754065A - 基于内容中心网络的动态分布Web资源管理方法及系统 - Google Patents
基于内容中心网络的动态分布Web资源管理方法及系统 Download PDFInfo
- Publication number
- CN104754065A CN104754065A CN201510208110.1A CN201510208110A CN104754065A CN 104754065 A CN104754065 A CN 104754065A CN 201510208110 A CN201510208110 A CN 201510208110A CN 104754065 A CN104754065 A CN 104754065A
- Authority
- CN
- China
- Prior art keywords
- nweb
- service request
- respond packet
- parameter
- hname
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于内容中心网络的动态分布Web资源管理方法及系统,方法包括:1)nWeb客户端发出请求;2)nWeb路由器通过转发路由表匹配的输出端口转发请求;3)nWeb服务器执行请求,选择性发出存储信息变更通告;4)nWeb路由器返回响应结果,并选择性更新转发路由表;5)nWeb客户端输出响应;系统包括服务请求发送单元、服务请求路由单元、服务请求处理单元、响应结果路由单元和响应结果输出单元。本发明能够在新兴网络架构上按层次语义有效发现、汇聚动态分布的Web资源,实现Web资源跨数据源的有序存储和网络化缓存,提高动态分布网络环境下的海量Web资源的共享和管理能力。
Description
技术领域
本发明涉及动态分布超媒体系统构建及其应用技术领域,具体涉及一种基于内容中心网络的动态分布Web资源管理方法及系统。
背景技术
当前一个网站中所有Web资源的存储、访问一般都是集中的方式,因此一旦一个站点失效,则会导致整个网站内容便不能访问。还有一种方式是通过一个集中式入口将访问请求转发到多个Web服务器以实现负载均衡,但其内容需要存储在确定的位置中,例如存储在数据中心或专用网中。网站中Web资源之间的链接关系主要是在开发时设定的,发布后用户虽能通过交互程序在有限范围内适当改变链接关系,但总体上,这种链接关系很难根据语义进行自适应变化。此外,用户获取互联网中的Web资源需要借助域名系统DNS及IP路由定位到对应的Web服务器,然后根据相对地址(包含获取网页的本地文件夹位置)获取Web资源。
随着互联网技术的发展和演进,互联网络向移动化、泛在化和动态化发展,衍生出移动互联网、无线传感网、车联网、物联网等一批新兴网络,这些网络将产生海量的内容资源、大量的自媒体和用户生成内容。现有Web架构面对新的网络生态环境,存在很多不足,如:(1)网络上的大量冗余内容(WWW网络中存在冗余内容达20%以上)只能由第三方系统判断,而不能根据名字自动识别,因此大量副本的存在占用大量存储空间,但并不能大幅度提高数据获取的速度和可靠性;(2)副本数据的不一致性问题。副本可能在各宿主主机上被修改而变得不一致,因此即使由第三方系统判断为“副本”的内容却可能不能重用;(3)现有Web架构很难根据语义对数据进行关联和汇聚,因此数据之间很难根据不同用户的需求进行自适应的语义关联、组合(mashup)或汇聚,造成海量数据不能被用户有效使用;(4)分布在网络中的内容主要是根据其地址获取,而不是根据其名字或其语义获取,因此限定了Web资源迁移后的利用能力以及网络中Web资源副本的有效利用。
面对新型网络平台的出现和用户新的需求,当前人们对Web架构也进行了一些改进,提出了一些新的技术或方法,如:实现WWW系统的负载均衡的集群技术架构Linux VirtualServer;HTML5则为移动互联网的Web应用提供更加丰富和强大的开发标准,并适应所有智能终端的使用需求,将成为开放的Web网络平台的奠基石;开放的Web化物联网技术WoT(Web of Things)期望将网络边缘大量嵌入式设备采集的信息和提供的服务无缝融入到Web信息空间,在跨平台异质环境下实现业务与数据的接入、访问与聚合;Linked Open Data(LOD)Cloud和Linked Open Ontology Cloud致力于将开放的数据集用RDF等格式重新发布在互联网上,并创建数据间的相互链接,以实现Web层面的开放数据的语义互连。但是,总体上当前的Web架构很难建构在新型的网络设施上,如物联网、移动互联网和其它Ad-hoc网络等,尤其是目前的Web技术和应用难以适用在新兴互联网中多样化、动态化、泛在化特征的Web资源查询、聚合和更新方式。
为了提高数据传输的时效性和有效性、优化数据传输路径,解除数据获取对位置的依赖性,内容中心网络CCN作为一种新型的下一代网络体系架构,提出以内容块的层次化“名字”代替IP地址的路由方案,其路由器(或解析处理器)通过向邻居节点宣告并传播内容名字可达性信息,并据此建立基于名字的路由表。内容中心网络CCN包含名字的请求直接由路由系统依据内容名字路由到内容的存储位置,实现了名字解析和路由的统一。内容中心网络CCN的内容路由层可以直接构建于数据链路层之上,也可以构建于传统的IP网络之上。但目前CCN主要考虑类似URL命名方式的单个内容块的获取和返回。而为了更好地在互联网,尤其是新兴的网络环境中,向用户提供基于语义的内容智能查询、更新和存储,则是一个亟待解决的问题。
发明内容
本发明要解决的技术问题是:针对现有技术的上述问题,提供一种能够在新兴网络架构上按层次语义有效发现、汇聚动态分布的Web资源,实现Web资源跨数据源的有序存储和网络化缓存,以及分布Web资源的正确更新与信息收集,能够提高动态分布网络环境下的海量Web资源的管理能力的基于内容中心网络的动态分布Web资源管理方法及系统。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于内容中心网络的动态分布Web资源管理方法,步骤包括:
1)nWeb客户端向内容中心网络中存储有Web资源的nWeb服务器发出包含用户身份的服务请求;所述Web资源被封装为包含原始Web资源和属性信息,所述属性信息包括语义命名Name、Web资源被存储的层次分类目录对应的层次分类目录标签Domain和关键词Keywords,所述层次分类目录标签Domain和语义命名Name一起构成Web资源的层次命名Hname;
2)内容中心网络中的每一个nWeb路由器在收到服务请求后将输入端口及服务请求中的用户身份记录在待返记录表PIT中,并根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB查找输出端口,将服务请求通过该输出端口转发出去,所述转发路由表FIB中存储有层次命名Hname或层次分类目录标签Domain和对应的输出端口;当服务请求被转发到nWeb服务器则跳转步骤3);
3)nWeb服务器对服务请求进行用户权限鉴定,如果用户未通过鉴定,则向发出服务请求的nWeb路由器返回封装有用户身份和拒绝通知的响应分组;如果用户通过鉴定,则nWeb服务器执行服务请求并向发出服务请求的nWeb路由器返回封装有用户身份和执行结果的响应分组,当执行服务请求导致Web资源的存储信息变更时,还向发出服务请求的nWeb路由器发出存储信息变更通告;
4)内容中心网络中的每一个nWeb路由器在收到返回的响应分组时,将响应分组通过用户身份在待返记录表PIT记录的输入端口原路返回,如果收到存储信息变更通告,则更新本地的转发路由表FIB并向相邻的nWeb路由器组播存储信息变更通告;当响应分组被转发到nWeb客户端时则跳转步骤5);
5)nWeb客户端将响应分组中的拒绝通知或执行结果向用户输出。
优选地,所述步骤2)的详细步骤包括:
2.1)与发出服务请求的nWeb客户端相连的nWeb路由器作为当前nWeb路由器收到服务请求;
2.2)当前nWeb路由器首先将输入端口及服务请求中的用户身份记录在待返记录表PIT中,然后判断服务请求的类型,如果服务请求的类型为查询、聚合或更新,则跳转步骤2.3);如果服务请求的类型为存储,则跳转步骤2.4);
2.3)当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的转发信息表FIBa查找输出端口,所述转发信息表FIBa中保存有Web资源的层次命名Hname和对应的输出接口,跳转步骤2.5);
2.4)当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的存储转发表FIBc查找输出端口,所述存储转发表FIBc中保存有nWeb服务器中可存储内容申明的层次化目录及对应的输出接口;如果在转发路由表FIB中的存储转发表FIBc找到匹配项,则判断服务请求中携带的用户角色是否被许可转发,如果被许可转发,则跳转步骤2.5);否则如果未被许可转发,则丢弃服务请求并退出;如果在转发路由表FIB中的存储转发表FIBc未找到匹配项,则丢弃服务请求并退出;
2.5)当前nWeb路由器将服务请求通过该输出端口转发出去;当服务请求被转发到nWeb服务器则跳转步骤3);否则,与输出端口连接的nWeb路由器成为新的当前nWeb路由器,跳转步骤2.2)。
优选地,所述步骤3)中执行服务请求的详细步骤包括:
3.1)判断服务请求的类型,如果类型为查询请求,则跳转步骤3.2);如果类型为聚合请求,则跳转步骤3.3);如果类型为更新请求,则跳转步骤3.4);如果类型为存储请求,则跳转步骤3.5);
3.2)识别服务请求的命令,所述命令为直接查询QR(X)、关键词查询QR(X,Keywords)或条件查询QR(X,Constraints),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数Keywords为用户给定的关键词集合,Web资源的属性信息还包括关键词Keywords,参数Constraints为用户给出的属性约束条件;若命令为直接查询QR(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有Web资源作为执行结果;若命令为关键词查询QR(X,Keywords),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且关键词包含参数Keywords的所有Web资源作为执行结果;若命令为条件查询QR(X,Constraints),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且属性约束条件满足参数Constraints的所有Web资源作为执行结果;跳转步骤3.6);
3.3)首先识别服务请求的命令,所述命令为媒体聚合MAg(X)、关联聚合RAg(X,R)或标记聚合LAg(L),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数R为nWeb服务器端所申明的Web资源之间的关联关系,参数L为层次化的非语义标记;若命令为媒体聚合MAg(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有不同媒体格式的Web资源作为临时执行结果;若命令为关联聚合RAg(X,R),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain和参数X之间存在关联关系为参数R的Web资源作为临时执行结果;若命令为标记聚合LAg(L),则在Web资源库中获取非语义标记为参数L的Web资源作为临时执行结果;然后,根据服务请求中携带的用户角色对应的用户权限级别对临时执行结果进行筛选,仅仅保留用户权限具有访问权限的部分临时执行结果作为最终的执行结果;跳转步骤3.6);
3.4)识别服务请求的命令,所述命令为副本统计Count(Hname)、修改操作Update(Hname,Fields,Data)或者删除操作Delete(X),其中参数Hname表示层次命名,Fields表示Web资源的属性,Data表示新的属性值,参数X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为副本统计Count(Hname),则nWeb服务器统计层次命名为参数Hname的Web资源副本数作为执行结果;若命令为修改操作Update(Hname,Fields,Data),则nWeb服务器将层次命名Hname对应Web资源中名为Fields的属性的值修改为新的属性值Data;若命令为Delete(X),则nWeb服务器删除层次命名Hname或者层次分类目录标签Domain为参数X的Web资源;跳转步骤3.6);
3.5)识别服务请求的命令,所述命令为存储操作Store(Hname,content)或者汇总操作Collect(X)时,其中参数Hname表示层次命名,content表示Web资源的内容,X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为Store(Hname,content),则nWeb服务器将层次命名为参数Hname、内容为content的Web资源进行存储;若命令为Collect(X),则nWeb服务器将层次命名Hname或者层次分类目录标签Domain为参数X的所有可存储信息输出作为执行结果;跳转步骤3.6);
3.6)将响应分组头和执行结果封装为待返回的响应分组,所述响应分组头包括响应标记、用户身份、服务请求命令及参数、执行结果的摘要和nWeb服务器的签名信息。
优选地,所述步骤4)的详细步骤包括:
4.1)与发出服务请求的nWeb服务器相连的nWeb路由器作为当前nWeb路由器接收并缓存nWeb服务器返回的响应分组;
4.2)当前nWeb路由器收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则跳转步骤4.3),否则丢弃收到的响应分组并退出;
4.3)当前nWeb路由器判断是否收到nWeb服务器发出的存储信息变更通告,如果收到存储信息变更通告,则进一步判断所述存储信息变更通告的内容,如果是已存储信息的变更内容则更新本地的转发路由表FIB中的转发信息表FIBa,如果是可存储申明信息的变更内容则更新存储转发表FIBc,然后将收到的存储信息变更通告再转发给相邻的nWeb路由器;
4.4)当前nWeb路由器根据待返记录表PIT找到响应分组中携带的用户身份所对应的输入端口,识别响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则跳转步骤4.5);如果收到的响应分组的数据类型为拒绝通知,则直接跳转步骤4.6);
4.5)当前nWeb路由器检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组进行汇总后重新封包作为待返回的响应分组,跳转步骤4.6);如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组作为待返回的响应分组,跳转步骤4.6);
4.6)当前nWeb路由器将响应分组通过找到的输入端口转发出去;当响应分组被转发到响应分组中用户身份所对应的nWeb客户端时则跳转步骤5);否则跳转步骤4.1)。
优选地,所述步骤5)的详细步骤包括:
5.1)nWeb客户端收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则跳转步骤5.2),否则丢弃收到的响应分组并退出;
5.2)识别nWeb服务器返回响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则跳转步骤5.3);如果收到的响应分组的数据类型为拒绝通知,则跳转步骤5.4);
5.3)nWeb客户端检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组中的执行结果进行汇总后作为待输出的响应数据;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组中的执行结果作为待输出的响应数据;
5.4)将待输出的响应数据向用户输出。
本发明还提供一种基于内容中心网络的动态分布Web资源管理系统,包括:
服务请求发送单元,用于通过nWeb客户端向内容中心网络中存储有Web资源的nWeb服务器发出包含用户身份的服务请求;所述Web资源被封装为包含原始Web资源和属性信息,所述属性信息包括语义命名Name、Web资源被存储的层次分类目录对应的层次分类目录标签Domain和关键词Keywords,所述层次分类目录标签Domain和语义命名Name一起构成Web资源的层次命名Hname;
服务请求路由单元,用于通过内容中心网络中的每一个nWeb路由器在收到服务请求后将输入端口及服务请求中的用户身份记录在待返记录表PIT中,并根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB查找输出端口,将服务请求通过该输出端口转发出去,所述转发路由表FIB中存储有层次命名Hname或层次分类目录标签Domain和对应的输出端口;
服务请求处理单元,用于通过nWeb服务器对服务请求进行用户权限鉴定,如果用户未通过鉴定,则向发出服务请求的nWeb路由器返回封装有用户身份和拒绝通知的响应分组;如果用户通过鉴定,则nWeb服务器执行服务请求并向发出服务请求的nWeb路由器返回封装有用户身份和执行结果的响应分组,当执行服务请求导致Web资源的存储信息变更时,还向发出服务请求的nWeb路由器发出存储信息变更通告;
响应结果路由单元,用于通过内容中心网络中的每一个nWeb路由器在收到返回的响应分组时,将响应分组通过用户身份在待返记录表PIT记录的输入端口原路返回,如果收到存储信息变更通告,则更新本地的转发路由表FIB并向相邻的nWeb路由器组播存储信息变更通告;
响应结果输出单元,用于通过nWeb客户端将响应分组中的拒绝通知或执行结果向用户输出。
优选地,所述服务请求路由单元包括:
服务请求接收模块,用于通过与发出服务请求的nWeb客户端相连的nWeb路由器作为当前nWeb路由器收到服务请求;
服务请求识别模块,用于通过当前nWeb路由器首先将输入端口及服务请求中的用户身份记录在待返记录表PIT中,然后判断服务请求的类型,如果服务请求的类型为查询、聚合或更新,则调用非存储服务请求路由模块;如果服务请求的类型为存储,则调用存储服务请求路由模块;
非存储服务请求路由模块,用于通过当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的转发信息表FIBa查找输出端口,所述转发信息表FIBa中保存有Web资源的层次命名Hname和对应的输出接口,调用服务请求转发模块;
存储服务请求路由模块,用于通过当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的存储转发表FIBc查找输出端口,所述存储转发表FIBc中保存有nWeb服务器中可存储内容申明的层次化目录及对应的输出接口;如果在转发路由表FIB中的存储转发表FIBc找到匹配项,则判断服务请求中携带的用户角色是否被许可转发,如果被许可转发,则调用服务请求转发模块;否则如果未被许可转发,则丢弃服务请求并退出;如果在转发路由表FIB中的存储转发表FIBc未找到匹配项,则丢弃服务请求并退出;
服务请求转发模块,用于通过当前nWeb路由器将服务请求通过该输出端口转发出去。
优选地,所述服务请求处理单元中用于执行服务请求的模块包括:
服务请求判断子模块,用于判断服务请求的类型,如果类型为查询请求,则调用查询子模块;如果类型为聚合请求,则调用聚合子模块;如果类型为更新请求,则调用更新子模块;如果类型为存储请求,则调用存储子模块;
查询子模块,用于识别服务请求的命令,所述命令为直接查询QR(X)、关键词查询QR(X,Keywords)或条件查询QR(X,Constraints),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数Keywords为用户给定的关键词集合,Web资源的属性信息还包括关键词Keywords,参数Constraints为用户给出的属性约束条件;若命令为直接查询QR(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有Web资源作为执行结果,若命令为关键词查询QR(X,Keywords),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且关键词包含参数Keywords的所有Web资源作为执行结果;若命令为条件查询QR(X,Constraints),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且属性约束条件满足参数Constraints的所有Web资源作为执行结果,调用响应结果封装子模块;
聚合子模块,用于首先识别服务请求的命令,所述命令为媒体聚合MAg(X)、关联聚合RAg(X,R)或标记聚合LAg(L),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数R为nWeb服务器端所申明的Web资源之间的关联关系,参数L为层次化的非语义标记;若命令为媒体聚合MAg(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有不同媒体格式的Web资源作为临时执行结果;若命令为关联聚合RAg(X,R),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain和参数之间存在关联关系为参数R的Web资源作为临时执行结果;若命令为标记聚合LAg(L),则在Web资源库中获取非语义标记为参数L的Web资源作为临时执行结果;然后,根据服务请求中携带的用户角色对应的用户权限级别对临时执行结果进行筛选,仅仅保留用户权限具有访问权限的部分临时执行结果作为最终的执行结果,调用响应结果封装子模块;
更新子模块,用于识别服务请求的命令,所述命令为副本统计Count(Hname)、修改操作Update(Hname,Fields,Data)或者删除操作Delete(X),其中参数Hname表示层次命名,Fields表示Web资源的属性,Data表示新的属性值,参数X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为副本统计Count(Hname),则nWeb服务器统计层次命名为参数Hname的Web资源副本数作为执行结果;若命令为修改操作Update(Hname,Fields,Data),则nWeb服务器将层次命名Hname对应Web资源中名为Fields的属性的值修改为新的属性值Data;若命令为Delete(X),则nWeb服务器删除层次命名Hname或者层次分类目录标签Domain为参数X的Web资源,调用响应结果封装子模块;
存储子模块,用于识别服务请求的命令,所述命令为存储操作Store(Hname,content)或者汇总操作Collect(X)时,其中参数Hname表示层次命名,content表示Web资源的内容,X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为Store(Hname,content),则nWeb服务器将层次命名为参数Hname、内容为content的Web资源进行存储;若命令为Collect(X),则nWeb服务器将层次命名Hname或者层次分类目录标签Domain为参数X的所有可存储信息输出作为执行结果,调用响应结果封装子模块;
响应结果封装子模块,用于将响应分组头和执行结果封装为待返回的响应分组,所述响应分组头包括响应标记、用户身份、服务请求命令及参数、执行结果的摘要和nWeb服务器的签名信息。
优选地,所述响应结果路由单元包括:
响应结果接收模块,用于接收并缓存nWeb服务器返回的响应分组;
响应结果校验模块,用于在当前nWeb路由器收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则调用转发路由表更新模块,否则丢弃收到的响应分组并退出;
转发路由表更新模块,用于判断是否收到nWeb服务器发出的存储信息变更通告,如果收到存储信息变更通告,则进一步判断所述存储信息变更通告的内容,如果是已存储信息的变更内容则更新本地的转发路由表FIB中的转发信息表FIBa,如果是可存储申明信息的变更内容则更新存储转发表FIBc,然后将收到的存储信息变更通告再转发给相邻的nWeb路由器;
响应结果识别模块,用于根据待返记录表PIT找到响应分组中携带的用户身份所对应的输入端口,识别响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则调用执行结果路由汇聚模块;如果收到的响应分组的数据类型为拒绝通知,则调用响应结果转发模块;
执行结果路由汇聚模块,检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组进行汇总后重新封包作为待返回的响应分组;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组作为待返回的响应分组;
响应结果转发模块,用于将响应分组通过找到的输入端口转发出去。
优选地,所述响应结果输出单元包括:
响应结果验证模块,用于收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则调用响应结果判断模块,否则丢弃收到的响应分组并退出;
响应结果判断模块,用于识别nWeb服务器返回响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则调用执行结果客户端汇聚模块;如果收到的响应数据为拒绝通知,则将拒绝通知作为待输出的响应数据,调用响应结果输出模块;
执行结果客户端汇聚模块,用于检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组中的执行结果进行汇总后作为待输出的响应数据;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组中的执行结果作为待输出的响应数据;
响应数据输出模块,用于将待输出的响应数据向用户输出。
本发明基于内容中心网络的动态分布Web资源管理方法具有下述优点:本发明将nWeb服务器中存储的Web资源进行封装,封装后包含的属性信息包括语义命名Name、层次分类目录标签Domain和关键词Keywords,层次分类目录标签Domain和语义命名Name一起构成Web资源的层次命名Hname,在此基础上,nWeb路由器基于存储有层次命名Hname或层次分类目录标签Domain和对应的输出端口的转发路由表FIB来实现服务请求的基于Web资源的语义命名Name及层次分类目录标签Domain的语义化分布式路由,nWeb服务器则基于存储有层次命名Hname或层次分类目录标签Domain来执行用户的服务请求,且基于待返记录表PIT来实现将执行结果的原路返回给nWeb客户端,能够方便地扩展对Web资源的查询、聚合、更新和存储操作的支持,能够广泛用于基于WWW架构构建动态分布的超媒体系统,一方面能够使WWW系统适用新兴网络环境,提升其部署和应用能力,另一方面能够利用WWW系统能充分利用内容中心网络的优势,使WWW系统能在新兴网络架构上有效发现、汇聚动态分布的Web资源,也能分布有序地存储和更新用户上传的Web资源,实现各种新兴网络架构上动态分布的网络环境中有效发现、汇聚动态分布的Web资源,基于层次命名Hname按序存储和保存客户端产生的Web资源,实现Web资源的跨数据源有序智能云存储和网络化缓存,并能按层次语义实现有效的Web资源查询与汇聚,实现分布式存储的Web资源的正确更新与信息收集,能有效提高动态分布网络环境下的海量Web资源的共享和管理能力。
本发明基于内容中心网络的动态分布Web资源管理系统为本发明基于内容中心网络的动态分布Web资源管理方法完全对应的系统,因此也具有本发明基于内容中心网络的动态分布Web资源管理方法的前述优点,故在此不再赘述。
附图说明
图1为现有技术的内容中心网络拓扑结构示意图。
图2为本发明实施例方法的基本流程示意图。
图3为本发明实施例方法步骤2)的详细流程示意图。
图4为本发明实施例方法步骤3)中执行服务请求的详细流程示意图。
图5为本发明实施例方法中非存储请求(查询、聚合、更新)的格式示意图。
图6为本发明实施例方法中存储请求的格式示意图。
图7为本发明实施例方法步骤4)中将拒绝通知或执行结果原路返回的流程示意图。
图8为本发明实施例方法步骤5)的详细流程示意图。
图9为本发明实施例系统的框架结构示意图。
图10为本发明实施例系统的服务请求路由单元的结构示意图。
图11为本发明实施例系统的服务请求路由单元中用于执行服务请求的模块结构示意图。
图12为本发明实施例系统的响应结果路由单元的结构示意图。
图13为本发明实施例系统的响应结果输出单元的结构示意图。
具体实施方式
本实施例中以图1所示由nWeb客户端、nWeb路由器和nWeb服务器组成的内容中心网络为例,对本实施例基于内容中心网络的动态分布Web资源管理方法进行详细说明如下。需要说明的是,nWeb服务器、nWeb路由器和nWeb客户端均为指代构成内容中心网络CCN的三种类型的结点,在能够实施本实施例下述基于内容中心网络的动态分布Web资源管理方法的基础上,也完全可以根据需要给nWeb服务器、nWeb路由器和nWeb客户端采用其他类型的命名,例如服务器、路由器和客户端等,这样仍然和本实施例也构成实质上的等同,故在本实施例中不再进行进一步展开说明。
如图2所示,本实施例基于内容中心网络的动态分布Web资源管理方法的步骤包括:
1)nWeb客户端向内容中心网络中存储有Web资源的nWeb服务器发出包含用户身份的服务请求;Web资源被封装为包含原始Web资源和属性信息,属性信息包括语义命名Name、Web资源被存储的层次分类目录对应的层次分类目录标签Domain和关键词Keywords,层次分类目录标签Domain和语义命名Name一起构成Web资源的层次命名Hname;
2)内容中心网络中的每一个nWeb路由器在收到服务请求后将输入端口及服务请求中的用户身份记录在待返记录表PIT中,并根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB查找输出端口,将服务请求通过该输出端口转发出去,转发路由表FIB中存储有层次命名Hname或层次分类目录标签Domain和对应的输出端口;当服务请求被转发到nWeb服务器则跳转步骤3);
3)nWeb服务器对服务请求进行用户权限鉴定,如果用户未通过鉴定,则向发出服务请求的nWeb路由器返回封装有用户身份和拒绝通知的响应分组;如果用户通过鉴定,则nWeb服务器执行服务请求并向发出服务请求的nWeb路由器返回封装有用户身份和执行结果的响应分组,当执行服务请求导致Web资源的存储信息变更时,还向发出服务请求的nWeb路由器发出存储信息变更通告;
4)内容中心网络中的每一个nWeb路由器在收到返回的响应分组时,将响应分组通过用户身份在待返记录表PIT记录的输入端口原路返回,如果收到存储信息变更通告,则更新本地的转发路由表FIB并向相邻的nWeb路由器组播存储信息变更通告;当响应分组被转发到nWeb客户端时则跳转步骤5);
5)nWeb客户端将响应分组中的拒绝通知或执行结果向用户输出。
参见图1,内容中心网络由nWeb客户端、nWeb路由器和nWeb服务器组成,多个nWeb路由器之间通过网络相连,其物理网络拓扑结构以及网络协议可以根据需要采用目前各类新兴网络,本实施例动态分布Web资源管理是建立在WWW服务架构上的,即nWeb服务器对用户提供WWW服务,nWeb路由器提供WWW服务请求的路由转发,nWeb客户端则基于B/S技术提供客户端请求的提交以及聚合查询的执行结果汇聚。需要说明的是,用户身份既可以是用户登录的用户名,此外也可以采用会话Session等可以将将不同用户却别的身份信息,或者还可以采用用户发出服务请求所使用的nWeb客户端在内容中心网络CCN中的全局唯一网络标识符等。
本实施例中,Web资源被封装为包含原始Web资源和属性信息,属性信息以XML语法格式进行显式标注并与原始Web资源封装在一起,从而为Web资源的查询、聚合、更新提供层次化命名和其它语义信息。本实施例中,nWeb服务器允许层次命名Hname相同的多个Web资源存在,对于任何nWeb服务器上遗留的Web资源而言,Web资源的封装由nWeb服务器完成,对于任何nWeb客户端上传的Web资源而言,Web资源的封装由上传的nWeb客户端完成。本实施例中Web资源的属性信息主要内容如表1所示。
表1:Web资源的属性信息表。
参见表1,除了包含原始Web资源的内容,Web资源的属性信息还包括以下组成部分:(1)语义命名Name:即资源的名字,主要是用户依据其语义对其命名,如果该选项值为空,则自动选用Web资源的原始名字;(2)层次分类目录标签Domain:即层次化(Hierarchical)的分类信息列表,该选项值不可为空。一个Web资源可以属于多个层次分类目录,即可以具有多种层次分类目录标签Domain。层次分类标签可根据语义分类系统统一编码,层次分类目录标签Domain加上语义命名Name组成层次命名Hname,在网络中可存在层次化命名相同的多个Web资源;(3)版本信息Version:主要包括版本号和修改者信息,该选项值不可为空。层次化命名与版本信息都相同的Web资源,其包含的内容则一致,即可认为是副本;(4)关键词Keywords:主要反映内容语义的主要关键词,或来自Web资源中文字描述内容的高频词,该选项值可为空;(5)摘要Summary:关于Web资源内容的摘要信息,概述了Web资源的主要内容,该选项值可为空。
如图3所示,本实施例步骤2)的详细步骤包括:
2.1)与发出服务请求的nWeb客户端相连的nWeb路由器作为当前nWeb路由器收到服务请求;
2.2)当前nWeb路由器首先将输入端口及服务请求中的用户身份记录在待返记录表PIT中,然后判断服务请求的类型,如果服务请求的类型为查询、聚合或更新,则跳转步骤2.3);如果服务请求的类型为存储,则跳转步骤2.4);
2.3)当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的转发信息表FIBa查找输出端口,转发信息表FIBa中保存有Web资源的层次命名Hname和对应的输出接口,跳转步骤2.5);
2.4)当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的存储转发表FIBc查找输出端口,存储转发表FIBc中保存有nWeb服务器中可存储内容申明的层次化目录及对应的输出接口;如果在转发路由表FIB中的存储转发表FIBc找到匹配项,则判断服务请求中携带的用户角色是否被许可转发,如果被许可转发,则跳转步骤2.5);否则如果未被许可转发,则丢弃服务请求并退出;如果在转发路由表FIB中的存储转发表FIBc未找到匹配项,则丢弃服务请求并退出;
2.5)当前nWeb路由器将服务请求通过该输出端口转发出去;当服务请求被转发到nWeb服务器则跳转步骤3);否则,与输出端口连接的nWeb路由器成为新的当前nWeb路由器,跳转步骤2.2)。
如图4所示,本实施例步骤3)中执行服务请求的详细步骤包括:
3.1)判断服务请求的类型,如果类型为查询请求,则跳转步骤3.2);如果类型为聚合请求,则跳转步骤3.3);如果类型为更新请求,则跳转步骤3.4);如果类型为存储请求,则跳转步骤3.5);
3.2)识别服务请求的命令,命令为直接查询QR(X)、关键词查询QR(X,Keywords)或条件查询QR(X,Constraints),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数Keywords为用户给定的关键词集合,Web资源的属性信息还包括关键词Keywords,参数Constraints为用户给出的属性约束条件;若命令为直接查询QR(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有Web资源作为执行结果;若命令为关键词查询QR(X,Keywords),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且关键词包含参数Keywords的所有Web资源作为执行结果;若命令为条件查询QR(X,Constraints),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且属性约束条件满足参数Constraints的所有Web资源作为执行结果;跳转步骤3.6);
3.3)首先识别服务请求的命令,命令为媒体聚合MAg(X)、关联聚合RAg(X,R)或标记聚合LAg(L),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数R为nWeb服务器端所申明的Web资源之间的关联关系,参数L为层次化的非语义标记;若命令为媒体聚合MAg(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有不同媒体格式的Web资源作为临时执行结果;若命令为关联聚合RAg(X,R),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain和参数X之间存在关联关系为参数R的Web资源作为临时执行结果;若命令为标记聚合LAg(L),则在Web资源库中获取非语义标记为参数L的Web资源作为临时执行结果;然后,根据服务请求中携带的用户角色对应的用户权限级别对临时执行结果进行筛选,仅仅保留用户权限具有访问权限的部分临时执行结果作为最终的执行结果;跳转步骤3.6);
3.4)识别服务请求的命令,命令为副本统计Count(Hname)、修改操作Update(Hname,Fields,Data)或者删除操作Delete(X),其中参数Hname表示层次命名,Fields表示Web资源的属性,Data表示新的属性值,参数X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为副本统计Count(Hname),则nWeb服务器统计层次命名为参数Hname的Web资源副本数作为执行结果;若命令为修改操作Update(Hname,Fields,Data),则nWeb服务器将层次命名Hname对应Web资源中名为Fields的属性的值修改为新的属性值Data;若命令为Delete(X),则nWeb服务器删除层次命名Hname或者层次分类目录标签Domain为参数X的Web资源;跳转步骤3.6);
3.5)识别服务请求的命令,命令为存储操作Store(Hname,content)或者汇总操作Collect(X)时,其中参数Hname表示层次命名,content表示Web资源的内容,X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为Store(Hname,content),则nWeb服务器将层次命名为参数Hname、内容为content的Web资源进行存储;若命令为Collect(X),则nWeb服务器将层次命名Hname或者层次分类目录标签Domain为参数X的所有可存储信息输出作为执行结果;跳转步骤3.6);
3.6)将响应分组头和执行结果封装为待返回的响应分组,响应分组头包括响应标记、用户身份、服务请求命令及参数、执行结果的摘要和nWeb服务器的签名信息。本实施例中,响应标记为字符串“Response”,如果收到的数据包中包含“Response”字符串,则表示该数据包为nWeb服务器返回的响应分组。服务请求命令及参数详见前面步骤3.2)~3.5)中识别得到的命令和参数,例如为层次命名Hname、层次分类目录标签Domain、层次化的非语义标记L等,执行结果的摘要为执行结果的哈希值。
nWeb路由器是组成内容中心网络的核心,nWeb路由器之间的互连承担了用户请求和响应结果的通信和传输。本实施例中的nWeb路由器在转发服务请求时,主要根据命令中的层次命名Hname或层次分类目录标签Domain与FIBa或FIBc进行最长前缀匹配,即只要FIBa或FIBc某表项包含了请求中的层次化命名前缀或目录,即认为匹配,根据FIBa或FIBc中匹配表项的接口字段的值对请求进行转发。为实现nWeb路由器对服务请求及执行结果的路由处理,nWeb路由器具有如下数据结构:(1)FIBa:转发信息表,主要保存接收到的Web资源层次化命名及接口。(2)FIBc:存储转发表,主要保存接收到的可存储内容申明的层次化目录及接口,以为用户上传请求提供转发信息。(3)PIT:待返记录表,主要保存未响应的请求的进入接口以便其响应结果根据其请求的转发路径原路返回。
如图5所示,本实施例中查询、聚合、更新三类服务请求实质包含的信息为一个请求分组,请求分组中包括命令(Command)、层次命名或层次分类目录标签(Hname/Domain)、安全参数(Security Parameters)、不重数(Nonce)四个固定选项和语义参数(Semantic Parameters)、搜索条件(Search Constraints)两个可选选项。其中,安全参数(Security Parameters)是用于携带用户身份、摘要签名信息等,以判断用户访问的权限、用户请求没有被篡改、伪造等。语义参数(Semantic Parameters),主要存放请求命令中携带的参数。搜索约束(SearchConstraints)如指定数据源的类型或转发跳数的限制,指定是否聚合返回结果等。不重数(Nonce)可以是随机数或时间戳,以使nWeb路由器或nWeb服务器能区别收到是新的还是重复的用户请求。命令(Command)字段有如下几类:
(I)查询Web资源命令及其在nWeb服务器中执行的处理:
(a)QR(X):指直接查询,这里参数X为层次命名Hname或层次分类目录标签Domain。当参数X为层次命名Hname时,则是根据层次命名Hname获取与参数X层次命名一致的所有Web资源。当参数X为层次分类目录标签Domain时,则是获取参数X给定的层次分类目录下的所有Web资源。
(b)QR(X,Keywords):指关键词查询,这里参数X为层次命名Hname或层次分类目录标签Domain,Keywords为用户给定的关键词集合。当参数X为层次命名Hname时,则是搜索与参数X的层次命名相同且包含关键词Keywords的所有Web资源;当参数X为层次分类目录标签Domain时,则是获取参数X给定的层次分类目录下包含关键词Keywords的所有Web资源。
(c)QR(X,Constraints):指条件查询,这里参数X为层次命名Hname或层次分类目录标签Domain,Constraints为用户给出的有关属性约束条件。当参数X为层次命名Hname时,则是搜索与参数X的层次命名相同且满足约束条件的所有Web资源;当参数X为Domain时,则是搜索属于参数X给定的层次分类目录下满足约束条件Constraints的所有Web资源。约束条件Constraints为逻辑表达式,例如形式如:“‘pubtime>2010’∨‘author=’Li Ming””的约束条件Constraints要求满足:2010年后发布的或者作者为“Li Ming”。
(II)聚合Web资源命令xAg及其在nWeb路由器和nWeb服务器的处理。
(a)MAg(X):指媒体聚合,这里参数X为层次命名Hname或层次分类目录标签Domain,当X为Hname时,则是找出层次命名Hname为参数X的所有不同媒体格式的Web资源,当X为Domain时,则是找出参数X给定层次分类目录下所有不同媒体格式的Web资源;
(b)RAg(X,R):指关联聚合,这里参数X为层次命名Hname或层次分类目录标签Domain,R是指nWeb服务器端申明资源之间的某种关联关系Relationship。当参数X为层次命名Hname时,则找出所有层次命名Hname与参数X之间有参数R对应的关联关系的Web资源;当X为层次分类目录标签Domain时,则找出参数X给定层次分类目录下所有与参数X之间有参数R对应的关联关系的Web资源;
(c)LAg(L):即标记聚合,这里参数L指某种层次化的非语义标记。如当参数L为层次化社交关系标记时,则可完成基于社交关系的汇聚,即将具有一定层次化社交关系的人员people发布的Web资源进行关联和汇聚;如当参数L为层次化设备标记时,则可完成Web化物联网(Web of Things)中Web资源的汇聚,即将所有某种层次化名称为参数L的设备所产生的Web资源进行关联和汇聚;当参数L为层次地标位置时,即可对某层次地标位置location相关的分布的Web资源进行关联和汇聚。
(III)更新Web资源命令及其在nWeb服务器中执行的处理。
(a)Count(Hname):即统计层次命名为Hname的Web资源的副本数;
(b)Update(Hname,Fields,Data):修改层次命名为Hname的Web资源,用于将层次命名为Hname的Web资源的属性Fields的值修改为参数Data的值,其中Data中可以带运算符,如“+3”即表示在原数据值基础上加3;
(c)Delete(X):即删除Web资源,这里参数X为层次命名Hname或层次分类目录标签Domain,即删除层次命名为Hname的Web资源,或删除参数X给定层次分类目录下所有的Web资源。
如图6所示,本实施例中存储类服务请求中包括请求头和Web资源(Web Content)。其中请求头包括命令(Command)、层次命名或层次分类目录标签(Hname/Domain)、存储约束条件(Store Constraints)、安全参数(Security Parameters)和不重数(Nonce)。命令(Command)包括Store(Hname,content)和Collect(X)两种,Store(Hname,content)表示将层次命名为Hname、内容为content的Web资源转发到相应的nWeb服务器中,然后存储在与层次命名Hname对应的层次目录中;Collect(X)中的参数X为层次命名Hname或层次分类目录标签Domain,汇总包含给定可存储申明的层次索引X的服务器数目、服务器中具体可存储申明的层次索引、存储要求以及机器名等。存储约束条件(Store Constraints)用于过滤存储Web资源的nWeb服务器的特征(如存储空间大小、存取性能、负载、转发距离)。安全参数(Security Parameters)是用于携带用户身份、摘要签名信息等,以判断用户访问的权限、用户请求没有被篡改、伪造等。不重数(Nonce)可以是随机数或时间戳,以使nWeb路由器或nWeb服务器能区别收到是新的还是重复的用户请求。Web资源(Web Content)为封装好的Web资源的内容,包括原始Web资源和对应的属性信息。
如图7所示,本实施例步骤4)的详细步骤包括:
4.1)与发出服务请求的nWeb服务器相连的nWeb路由器作为当前nWeb路由器接收并缓存nWeb服务器返回的响应分组;
4.2)当前nWeb路由器收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则跳转步骤4.3),否则丢弃收到的响应分组并退出;
4.3)当前nWeb路由器判断是否收到nWeb服务器发出的存储信息变更通告,如果收到存储信息变更通告,则进一步判断存储信息变更通告的内容,如果是已存储信息的变更内容则更新本地的转发路由表FIB中的转发信息表FIBa,如果是可存储申明信息的变更内容则更新存储转发表FIBc,然后将收到的存储信息变更通告再转发给相邻的nWeb路由器;
4.4)当前nWeb路由器根据待返记录表PIT找到响应分组中携带的用户身份所对应的输入端口,识别响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则跳转步骤4.5);如果收到的响应分组的数据类型为拒绝通知,则直接跳转步骤4.6);
4.5)当前nWeb路由器检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组进行汇总后重新封包作为待返回的响应分组,跳转步骤4.6);如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组作为待返回的响应分组,跳转步骤4.6);
4.6)当前nWeb路由器将响应分组通过找到的输入端口转发出去;当响应分组被转发到响应分组中用户身份所对应的nWeb客户端时则跳转步骤5);否则跳转步骤4.1)。
如图8所示,本实施例步骤5)的详细步骤包括:
5.1)nWeb客户端收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则跳转步骤5.2),否则丢弃收到的响应分组并退出;
5.2)识别nWeb服务器返回响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则跳转步骤5.3);如果收到的响应分组的数据类型为拒绝通知,则跳转步骤5.4);
5.3)nWeb客户端检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组中的执行结果进行汇总后作为待输出的响应数据;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组中的执行结果作为待输出的响应数据;例如,当执行汇总操作Collect(X)时,nWeb客户端对多个nWeb服务器发送的执行结果(可存储申明的层次索引、存储要求以及机器名等)进行汇总,从而形成一个完整的、不重复的执行结果来作为待输出的响应数据。
5.4)将待输出的响应数据向用户输出,响应数据可以根据需要按照指定的顺序和结构进行显示,本实施例具体为采用HTML进行格式化后输出。
如图9所示,本实施例基于内容中心网络的动态分布Web资源管理系统包括:
服务请求发送单元,用于通过nWeb客户端向内容中心网络中存储有Web资源的nWeb服务器发出包含用户身份的服务请求;Web资源被封装为包含原始Web资源和属性信息,属性信息包括语义命名Name、Web资源被存储的层次分类目录对应的层次分类目录标签Domain和关键词Keywords,层次分类目录标签Domain和语义命名Name一起构成Web资源的层次命名Hname;
服务请求路由单元,用于通过内容中心网络中的每一个nWeb路由器在收到服务请求后将输入端口及服务请求中的用户身份记录在待返记录表PIT中,并根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB查找输出端口,将服务请求通过该输出端口转发出去,转发路由表FIB中存储有层次命名Hname或层次分类目录标签Domain和对应的输出端口;
服务请求处理单元,用于通过nWeb服务器对服务请求进行用户权限鉴定,如果用户未通过鉴定,则向发出服务请求的nWeb路由器返回封装有用户身份和拒绝通知的响应分组;如果用户通过鉴定,则nWeb服务器执行服务请求并向发出服务请求的nWeb路由器返回封装有用户身份和执行结果的响应分组,当执行服务请求导致Web资源的存储信息变更时,还向发出服务请求的nWeb路由器发出存储信息变更通告;
响应结果路由单元,用于通过内容中心网络中的每一个nWeb路由器在收到返回的响应分组时,将响应分组通过用户身份在待返记录表PIT记录的输入端口原路返回,如果收到存储信息变更通告,则更新本地的转发路由表FIB并向相邻的nWeb路由器组播存储信息变更通告;
响应结果输出单元,用于通过nWeb客户端将响应分组中的拒绝通知或执行结果向用户输出。
参见图9,nWeb客户端是基于HTML实现的用户界面模块来实现和用户的交互,和普通的WWW客户端相似,可以根据需要在nWeb客户端采用各种技术来使得服务请求携带用户的角色信息,例如通过登录、IP地址、MAC地址、session会话等技术手段,在此不再展开说明。用户界面模块用于获取用户需求、封装用户需要上传的资源和显示返回的响应结果,显示主要有以下3种形式:(a)默认首页显示直接连接路由器中FIBa表中的层次化命名的主要分类信息,点击某分类扩展的事件可进一步查看该分类下的详细信息。通过点击具体某个层次化命名可自动生成查询请求,并自动发送,以获取网络中该层次命名所对应的所有Web资源;(b)对于返回的多个Web资源,则以列表按序显示其分类、名称等信息,主要方式有:响应时间顺序、发布时间倒序、(关注度排序---需要系统统计关注度数据)、按作者归类、按文件名字的首字母顺序等;(c)如果Web资源为网页,用户点击该网页,则可针对其Web格式进行解析,并根据可视化部分的格式说明显示可视化部分的内容。
如图10所示,本实施例中服务请求路由单元包括:
服务请求接收模块,用于通过与发出服务请求的nWeb客户端相连的nWeb路由器作为当前nWeb路由器收到服务请求;
服务请求识别模块,用于通过当前nWeb路由器首先将输入端口及服务请求中的用户身份记录在待返记录表PIT中,然后判断服务请求的类型,如果服务请求的类型为查询、聚合或更新,则调用非存储服务请求路由模块;如果服务请求的类型为存储,则调用存储服务请求路由模块;
非存储服务请求路由模块,用于通过当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的转发信息表FIBa查找输出端口,转发信息表FIBa中保存有Web资源的层次命名Hname和对应的输出接口,调用服务请求转发模块;
存储服务请求路由模块,用于通过当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的存储转发表FIBc查找输出端口,存储转发表FIBc中保存有nWeb服务器中可存储内容申明的层次化目录及对应的输出接口;如果在转发路由表FIB中的存储转发表FIBc找到匹配项,则判断服务请求中携带的用户角色是否被许可转发,如果被许可转发,则调用服务请求转发模块;否则如果未被许可转发,则丢弃服务请求并退出;如果在转发路由表FIB中的存储转发表FIBc未找到匹配项,则丢弃服务请求并退出;
服务请求转发模块,用于通过当前nWeb路由器将服务请求通过该输出端口转发出去。
如图11所示,本实施例服务请求处理单元中用于执行服务请求的模块包括:
服务请求判断子模块,用于判断服务请求的类型,如果类型为查询请求,则调用查询子模块;如果类型为聚合请求,则调用聚合子模块;如果类型为更新请求,则调用更新子模块;如果类型为存储请求,则调用存储子模块;
查询子模块,用于识别服务请求的命令,命令为直接查询QR(X)、关键词查询QR(X,Keywords)或条件查询QR(X,Constraints),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数Keywords为用户给定的关键词集合,Web资源的属性信息还包括关键词Keywords,参数Constraints为用户给出的属性约束条件;若命令为直接查询QR(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有Web资源作为执行结果,若命令为关键词查询QR(X,Keywords),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且关键词包含参数Keywords的所有Web资源作为执行结果;若命令为条件查询QR(X,Constraints),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且属性约束条件满足参数Constraints的所有Web资源作为执行结果,调用响应结果封装子模块;
聚合子模块,用于首先识别服务请求的命令,命令为媒体聚合MAg(X)、关联聚合RAg(X,R)或标记聚合LAg(L),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数R为nWeb服务器端所申明的Web资源之间的关联关系,参数L为层次化的非语义标记;若命令为媒体聚合MAg(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有不同媒体格式的Web资源作为临时执行结果;若命令为关联聚合RAg(X,R),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain和参数之间存在关联关系为参数R的Web资源作为临时执行结果;若命令为标记聚合LAg(L),则在Web资源库中获取非语义标记为参数L的Web资源作为临时执行结果;然后,根据服务请求中携带的用户角色对应的用户权限级别对临时执行结果进行筛选,仅仅保留用户权限具有访问权限的部分临时执行结果作为最终的执行结果,调用响应结果封装子模块;
更新子模块,用于识别服务请求的命令,命令为副本统计Count(Hname)、修改操作Update(Hname,Fields,Data)或者删除操作Delete(X),其中参数Hname表示层次命名,Fields表示Web资源的属性,Data表示新的属性值,参数X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为副本统计Count(Hname),则nWeb服务器统计层次命名为参数Hname的Web资源副本数作为执行结果;若命令为修改操作Update(Hname,Fields,Data),则nWeb服务器将层次命名Hname对应Web资源中名为Fields的属性的值修改为新的属性值Data;若命令为Delete(X),则nWeb服务器删除层次命名Hname或者层次分类目录标签Domain为参数X的Web资源,调用响应结果封装子模块;
存储子模块,用于识别服务请求的命令,命令为存储操作Store(Hname,content)或者汇总操作Collect(X)时,其中参数Hname表示层次命名,content表示Web资源的内容,X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为Store(Hname,content),则nWeb服务器将层次命名为参数Hname、内容为content的Web资源进行存储;若命令为Collect(X),则nWeb服务器将层次命名Hname或者层次分类目录标签Domain为参数X的所有可存储信息输出作为执行结果,调用响应结果封装子模块;
响应结果封装子模块,用于将响应分组头和执行结果封装为待返回的响应分组,所述响应分组头包括响应标记、用户身份、服务请求命令及参数、执行结果的摘要和nWeb服务器的签名信息。
如图12所示,本实施例的响应结果路由单元包括:
响应结果接收模块,用于接收并缓存nWeb服务器返回的响应分组;
响应结果校验模块,用于在当前nWeb路由器收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则调用转发路由表更新模块,否则丢弃收到的响应分组并退出;
转发路由表更新模块,用于判断是否收到nWeb服务器发出的存储信息变更通告,如果收到存储信息变更通告,则进一步判断存储信息变更通告的内容,如果是已存储信息的变更内容则更新本地的转发路由表FIB中的转发信息表FIBa,如果是可存储申明信息的变更内容则更新存储转发表FIBc,然后将收到的存储信息变更通告再转发给相邻的nWeb路由器;
响应结果识别模块,用于根据待返记录表PIT找到响应分组中携带的用户身份所对应的输入端口,识别响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则调用执行结果路由汇聚模块;如果收到的响应分组的数据类型为拒绝通知,则调用响应结果转发模块;
执行结果路由汇聚模块,检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组进行汇总后重新封包作为待返回的响应分组;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组作为待返回的响应分组;
响应结果转发模块,用于将响应分组通过找到的输入端口转发出去。
如图13所示,本实施例的响应结果输出单元包括:
响应结果验证模块,用于收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则调用响应结果判断模块,否则丢弃收到的响应分组并退出;
响应结果判断模块,用于识别nWeb服务器返回响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则调用执行结果客户端汇聚模块;如果收到的响应数据为拒绝通知,则将拒绝通知作为待输出的响应数据,调用响应结果输出模块;
执行结果客户端汇聚模块,用于检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组中的执行结果进行汇总后作为待输出的响应数据;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组中的执行结果作为待输出的响应数据;
响应数据输出模块,用于将待输出的响应数据向用户输出。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于内容中心网络的动态分布Web资源管理方法,其特征在于步骤包括:
1)nWeb客户端向内容中心网络中存储有Web资源的nWeb服务器发出包含用户身份的服务请求;所述Web资源被封装为包含原始Web资源和属性信息,所述属性信息包括语义命名Name、Web资源被存储的层次分类目录对应的层次分类目录标签Domain和关键词Keywords,所述层次分类目录标签Domain和语义命名Name一起构成Web资源的层次命名Hname;
2)内容中心网络中的每一个nWeb路由器在收到服务请求后将输入端口及服务请求中的用户身份记录在待返记录表PIT中,并根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB查找输出端口,将服务请求通过该输出端口转发出去,所述转发路由表FIB中存储有层次命名Hname或层次分类目录标签Domain和对应的输出端口;当服务请求被转发到nWeb服务器则跳转步骤3);
3)nWeb服务器对服务请求进行用户权限鉴定,如果用户未通过鉴定,则向发出服务请求的nWeb路由器返回封装有用户身份和拒绝通知的响应分组;如果用户通过鉴定,则nWeb服务器执行服务请求并向发出服务请求的nWeb路由器返回封装有用户身份和执行结果的响应分组,当执行服务请求导致Web资源的存储信息变更时,还向发出服务请求的nWeb路由器发出存储信息变更通告;
4)内容中心网络中的每一个nWeb路由器在收到返回的响应分组时,将响应分组通过用户身份在待返记录表PIT记录的输入端口原路返回,如果收到存储信息变更通告,则更新本地的转发路由表FIB并向相邻的nWeb路由器组播存储信息变更通告;当响应分组被转发到nWeb客户端时则跳转步骤5);
5)nWeb客户端将响应分组中的拒绝通知或执行结果向用户输出。
2.根据权利要求1所述的基于内容中心网络的动态分布Web资源管理方法,其特征在于,所述步骤2)的详细步骤包括:
2.1)与发出服务请求的nWeb客户端相连的nWeb路由器作为当前nWeb路由器收到服务请求;
2.2)当前nWeb路由器首先将输入端口及服务请求中的用户身份记录在待返记录表PIT中,然后判断服务请求的类型,如果服务请求的类型为查询、聚合或更新,则跳转步骤2.3);如果服务请求的类型为存储,则跳转步骤2.4);
2.3)当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的转发信息表FIBa查找输出端口,所述转发信息表FIBa中保存有Web资源的层次命名Hname和对应的输出接口,跳转步骤2.5);
2.4)当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的存储转发表FIBc查找输出端口,所述存储转发表FIBc中保存有nWeb服务器中可存储内容申明的层次化目录及对应的输出接口;如果在转发路由表FIB中的存储转发表FIBc找到匹配项,则判断服务请求中携带的用户角色是否被许可转发,如果被许可转发,则跳转步骤2.5);否则如果未被许可转发,则丢弃服务请求并退出;如果在转发路由表FIB中的存储转发表FIBc未找到匹配项,则丢弃服务请求并退出;
2.5)当前nWeb路由器将服务请求通过该输出端口转发出去;当服务请求被转发到nWeb服务器则跳转步骤3);否则,与输出端口连接的nWeb路由器成为新的当前nWeb路由器,跳转步骤2.2)。
3.根据权利要求2所述的基于内容中心网络的动态分布Web资源管理方法,其特征在于,所述步骤3)中执行服务请求的详细步骤包括:
3.1)判断服务请求的类型,如果类型为查询请求,则跳转步骤3.2);如果类型为聚合请求,则跳转步骤3.3);如果类型为更新请求,则跳转步骤3.4);如果类型为存储请求,则跳转步骤3.5);
3.2)识别服务请求的命令,所述命令为直接查询QR(X)、关键词查询QR(X,Keywords)或条件查询QR(X,Constraints),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数Keywords为用户给定的关键词集合,Web资源的属性信息还包括关键词Keywords,参数Constraints为用户给出的属性约束条件;若命令为直接查询QR(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有Web资源作为执行结果;若命令为关键词查询QR(X,Keywords),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且关键词包含参数Keywords的所有Web资源作为执行结果;若命令为条件查询QR(X,Constraints),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且属性约束条件满足参数Constraints的所有Web资源作为执行结果;跳转步骤3.6);
3.3)首先识别服务请求的命令,所述命令为媒体聚合MAg(X)、关联聚合RAg(X,R)或标记聚合LAg(L),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数R为nWeb服务器端所申明的Web资源之间的关联关系,参数L为层次化的非语义标记;若命令为媒体聚合MAg(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有不同媒体格式的Web资源作为临时执行结果;若命令为关联聚合RAg(X,R),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain和参数X之间存在关联关系为参数R的Web资源作为临时执行结果;若命令为标记聚合LAg(L),则在Web资源库中获取非语义标记为参数L的Web资源作为临时执行结果;然后,根据服务请求中携带的用户角色对应的用户权限级别对临时执行结果进行筛选,仅仅保留用户权限具有访问权限的部分临时执行结果作为最终的执行结果;跳转步骤3.6);
3.4)识别服务请求的命令,所述命令为副本统计Count(Hname)、修改操作Update(Hname,Fields,Data)或者删除操作Delete(X),其中参数Hname表示层次命名,Fields表示Web资源的属性,Data表示新的属性值,参数X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为副本统计Count(Hname),则nWeb服务器统计层次命名为参数Hname的Web资源副本数作为执行结果;若命令为修改操作Update(Hname,Fields,Data),则nWeb服务器将层次命名Hname对应Web资源中名为Fields的属性的值修改为新的属性值Data;若命令为Delete(X),则nWeb服务器删除层次命名Hname或者层次分类目录标签Domain为参数X的Web资源;跳转步骤3.6);
3.5)识别服务请求的命令,所述命令为存储操作Store(Hname,content)或者汇总操作Collect(X)时,其中参数Hname表示层次命名,content表示Web资源的内容,X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为Store(Hname,content),则nWeb服务器将层次命名为参数Hname、内容为content的Web资源进行存储;若命令为Collect(X),则nWeb服务器将层次命名Hname或者层次分类目录标签Domain为参数X的所有可存储信息输出作为执行结果;跳转步骤3.6);
3.6)将响应分组头和执行结果封装为待返回的响应分组,所述响应分组头包括响应标记、用户身份、服务请求命令及参数、执行结果的摘要和nWeb服务器的签名信息。
4.根据权利要求3所述的基于内容中心网络的动态分布Web资源管理方法,其特征在于,所述步骤4)的详细步骤包括:
4.1)与发出服务请求的nWeb服务器相连的nWeb路由器作为当前nWeb路由器接收并缓存nWeb服务器返回的响应分组;
4.2)当前nWeb路由器收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则跳转步骤4.3),否则丢弃收到的响应分组并退出;
4.3)当前nWeb路由器判断是否收到nWeb服务器发出的存储信息变更通告,如果收到存储信息变更通告,则进一步判断所述存储信息变更通告的内容,如果是已存储信息的变更内容则更新本地的转发路由表FIB中的转发信息表FIBa,如果是可存储申明信息的变更内容则更新存储转发表FIBc,然后将收到的存储信息变更通告再转发给相邻的nWeb路由器;
4.4)当前nWeb路由器根据待返记录表PIT找到响应分组中携带的用户身份所对应的输入端口,识别响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则跳转步骤4.5);如果收到的响应分组的数据类型为拒绝通知,则直接跳转步骤4.6);
4.5)当前nWeb路由器检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组进行汇总后重新封包作为待返回的响应分组,跳转步骤4.6);如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组作为待返回的响应分组,跳转步骤4.6);
4.6)当前nWeb路由器将响应分组通过找到的输入端口转发出去;当响应分组被转发到响应分组中用户身份所对应的nWeb客户端时则跳转步骤5);否则跳转步骤4.1)。
5.根据权利要求4所述的基于内容中心网络的动态分布Web资源管理方法,其特征在于,所述步骤5)的详细步骤包括:
5.1)nWeb客户端收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则跳转步骤5.2),否则丢弃收到的响应分组并退出;
5.2)识别nWeb服务器返回响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则跳转步骤5.3);如果收到的响应分组的数据类型为拒绝通知,则跳转步骤5.4);
5.3)nWeb客户端检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组中的执行结果进行汇总后作为待输出的响应数据;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组中的执行结果作为待输出的响应数据;
5.4)将待输出的响应数据向用户输出。
6.一种基于内容中心网络的动态分布Web资源管理系统,其特征在于包括:
服务请求发送单元,用于通过nWeb客户端向内容中心网络中存储有Web资源的nWeb服务器发出包含用户身份的服务请求;所述Web资源被封装为包含原始Web资源和属性信息,所述属性信息包括语义命名Name、Web资源被存储的层次分类目录对应的层次分类目录标签Domain和关键词Keywords,所述层次分类目录标签Domain和语义命名Name一起构成Web资源的层次命名Hname;
服务请求路由单元,用于通过内容中心网络中的每一个nWeb路由器在收到服务请求后将输入端口及服务请求中的用户身份记录在待返记录表PIT中,并根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB查找输出端口,将服务请求通过该输出端口转发出去,所述转发路由表FIB中存储有层次命名Hname或层次分类目录标签Domain和对应的输出端口;
服务请求处理单元,用于通过nWeb服务器对服务请求进行用户权限鉴定,如果用户未通过鉴定,则向发出服务请求的nWeb路由器返回封装有用户身份和拒绝通知的响应分组;如果用户通过鉴定,则nWeb服务器执行服务请求并向发出服务请求的nWeb路由器返回封装有用户身份和执行结果的响应分组,当执行服务请求导致Web资源的存储信息变更时,还向发出服务请求的nWeb路由器发出存储信息变更通告;
响应结果路由单元,用于通过内容中心网络中的每一个nWeb路由器在收到返回的响应分组时,将响应分组通过用户身份在待返记录表PIT记录的输入端口原路返回,如果收到存储信息变更通告,则更新本地的转发路由表FIB并向相邻的nWeb路由器组播存储信息变更通告;
响应结果输出单元,用于通过nWeb客户端将响应分组中的拒绝通知或执行结果向用户输出。
7.根据权利要求6所述的基于内容中心网络的动态分布Web资源管理系统,其特征在于,所述服务请求路由单元包括:
服务请求接收模块,用于通过与发出服务请求的nWeb客户端相连的nWeb路由器作为当前nWeb路由器收到服务请求;
服务请求识别模块,用于通过当前nWeb路由器首先将输入端口及服务请求中的用户身份记录在待返记录表PIT中,然后判断服务请求的类型,如果服务请求的类型为查询、聚合或更新,则调用非存储服务请求路由模块;如果服务请求的类型为存储,则调用存储服务请求路由模块;
非存储服务请求路由模块,用于通过当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的转发信息表FIBa查找输出端口,所述转发信息表FIBa中保存有Web资源的层次命名Hname和对应的输出接口,调用服务请求转发模块;
存储服务请求路由模块,用于通过当前nWeb路由器根据服务请求中携带的层次命名Hname或层次分类目录标签Domain匹配转发路由表FIB中的存储转发表FIBc查找输出端口,所述存储转发表FIBc中保存有nWeb服务器中可存储内容申明的层次化目录及对应的输出接口;如果在转发路由表FIB中的存储转发表FIBc找到匹配项,则判断服务请求中携带的用户角色是否被许可转发,如果被许可转发,则调用服务请求转发模块;否则如果未被许可转发,则丢弃服务请求并退出;如果在转发路由表FIB中的存储转发表FIBc未找到匹配项,则丢弃服务请求并退出;
服务请求转发模块,用于通过当前nWeb路由器将服务请求通过该输出端口转发出去。
8.根据权利要求7所述的基于内容中心网络的动态分布Web资源管理系统,其特征在于,所述服务请求处理单元中用于执行服务请求的模块包括:
服务请求判断子模块,用于判断服务请求的类型,如果类型为查询请求,则调用查询子模块;如果类型为聚合请求,则调用聚合子模块;如果类型为更新请求,则调用更新子模块;如果类型为存储请求,则调用存储子模块;
查询子模块,用于识别服务请求的命令,所述命令为直接查询QR(X)、关键词查询QR(X,Keywords)或条件查询QR(X,Constraints),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数Keywords为用户给定的关键词集合,Web资源的属性信息还包括关键词Keywords,参数Constraints为用户给出的属性约束条件;若命令为直接查询QR(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有Web资源作为执行结果,若命令为关键词查询QR(X,Keywords),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且关键词包含参数Keywords的所有Web资源作为执行结果;若命令为条件查询QR(X,Constraints),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X且属性约束条件满足参数Constraints的所有Web资源作为执行结果,调用响应结果封装子模块;
聚合子模块,用于首先识别服务请求的命令,所述命令为媒体聚合MAg(X)、关联聚合RAg(X,R)或标记聚合LAg(L),其中参数X为Web资源的层次命名Hname或层次分类目录标签Domain,参数R为nWeb服务器端所申明的Web资源之间的关联关系,参数L为层次化的非语义标记;若命令为媒体聚合MAg(X),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain为参数X的所有不同媒体格式的Web资源作为临时执行结果;若命令为关联聚合RAg(X,R),则nWeb服务器将Web资源层次命名Hname或者层次分类目录标签Domain和参数之间存在关联关系为参数R的Web资源作为临时执行结果;若命令为标记聚合LAg(L),则在Web资源库中获取非语义标记为参数L的Web资源作为临时执行结果;然后,根据服务请求中携带的用户角色对应的用户权限级别对临时执行结果进行筛选,仅仅保留用户权限具有访问权限的部分临时执行结果作为最终的执行结果,调用响应结果封装子模块;
更新子模块,用于识别服务请求的命令,所述命令为副本统计Count(Hname)、修改操作Update(Hname,Fields,Data)或者删除操作Delete(X),其中参数Hname表示层次命名,Fields表示Web资源的属性,Data表示新的属性值,参数X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为副本统计Count(Hname),则nWeb服务器统计层次命名为参数Hname的Web资源副本数作为执行结果;若命令为修改操作Update(Hname,Fields,Data),则nWeb服务器将层次命名Hname对应Web资源中名为Fields的属性的值修改为新的属性值Data;若命令为Delete(X),则nWeb服务器删除层次命名Hname或者层次分类目录标签Domain为参数X的Web资源,调用响应结果封装子模块;
存储子模块,用于识别服务请求的命令,所述命令为存储操作Store(Hname,content)或者汇总操作Collect(X)时,其中参数Hname表示层次命名,content表示Web资源的内容,X为Web资源的层次命名Hname或层次分类目录标签Domain;若命令为Store(Hname,content),则nWeb服务器将层次命名为参数Hname、内容为content的Web资源进行存储;若命令为Collect(X),则nWeb服务器将层次命名Hname或者层次分类目录标签Domain为参数X的所有可存储信息输出作为执行结果,调用响应结果封装子模块;
响应结果封装子模块,用于将响应分组头和执行结果封装为待返回的响应分组,所述响应分组头包括响应标记、用户身份、服务请求命令及参数、执行结果的摘要和nWeb服务器的签名信息。
9.根据权利要求8所述的基于内容中心网络的动态分布Web资源管理系统,其特征在于,所述响应结果路由单元包括:
响应结果接收模块,用于接收并缓存nWeb服务器返回的响应分组;
响应结果校验模块,用于在当前nWeb路由器收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则调用转发路由表更新模块,否则丢弃收到的响应分组并退出;
转发路由表更新模块,用于判断是否收到nWeb服务器发出的存储信息变更通告,如果收到存储信息变更通告,则进一步判断所述存储信息变更通告的内容,如果是已存储信息的变更内容则更新本地的转发路由表FIB中的转发信息表FIBa,如果是可存储申明信息的变更内容则更新存储转发表FIBc,然后将收到的存储信息变更通告再转发给相邻的nWeb路由器;
响应结果识别模块,用于根据待返记录表PIT找到响应分组中携带的用户身份所对应的输入端口,识别响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则调用执行结果路由汇聚模块;如果收到的响应分组的数据类型为拒绝通知,则调用响应结果转发模块;
执行结果路由汇聚模块,检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组进行汇总后重新封包作为待返回的响应分组;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组作为待返回的响应分组;
响应结果转发模块,用于将响应分组通过找到的输入端口转发出去。
10.根据权利要求9所述的基于内容中心网络的动态分布Web资源管理系统,其特征在于,所述响应结果输出单元包括:
响应结果验证模块,用于收到包含响应标记的响应分组后对收到的响应分组进行解封装,并验证nWeb服务器的签名信息以及执行结果的摘要,如果nWeb服务器的签名信息以及执行结果的摘要均验证通过,则调用响应结果判断模块,否则丢弃收到的响应分组并退出;
响应结果判断模块,用于识别nWeb服务器返回响应分组的数据类型,如果收到的响应分组的数据类型为执行结果,则调用执行结果客户端汇聚模块;如果收到的响应数据为拒绝通知,则将拒绝通知作为待输出的响应数据,调用响应结果输出模块;
执行结果客户端汇聚模块,用于检测是否收到和当前收到的响应分组的服务请求命令及参数相同且用户身份相同的其他响应分组,如果收到服务请求命令及参数相同且用户身份相同的其他响应分组,则将当前收到的响应分组、服务请求命令及参数相同且用户身份相同的其他响应分组中的执行结果进行汇总后作为待输出的响应数据;如果未收到服务请求命令及参数相同且用户身份相同的其他响应分组,则直接将收到的响应分组中的执行结果作为待输出的响应数据;
响应数据输出模块,用于将待输出的响应数据向用户输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510208110.1A CN104754065B (zh) | 2015-04-28 | 2015-04-28 | 基于内容中心网络的动态分布Web资源管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510208110.1A CN104754065B (zh) | 2015-04-28 | 2015-04-28 | 基于内容中心网络的动态分布Web资源管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104754065A true CN104754065A (zh) | 2015-07-01 |
CN104754065B CN104754065B (zh) | 2018-01-16 |
Family
ID=53593152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510208110.1A Active CN104754065B (zh) | 2015-04-28 | 2015-04-28 | 基于内容中心网络的动态分布Web资源管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104754065B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105978965A (zh) * | 2016-05-06 | 2016-09-28 | 中国科学技术大学 | 一种面向内容请求聚合与缓存决策的内容分类方法 |
CN106027395A (zh) * | 2016-04-29 | 2016-10-12 | 清华大学 | 基于路由器随机标识的路径恢复方法及装置 |
CN106255166A (zh) * | 2016-08-31 | 2016-12-21 | 邱岩 | 一种层次拓扑结构图上的基于内容中心网络的路由方法 |
CN106407011A (zh) * | 2016-09-20 | 2017-02-15 | 焦点科技股份有限公司 | 一种基于路由表的搜索系统集群服务管理的方法及系统 |
CN107026795A (zh) * | 2016-02-02 | 2017-08-08 | 上海格尔软件股份有限公司 | 一种基于iptables和策略路由的回包至来源网口的方法 |
CN107181771A (zh) * | 2016-03-09 | 2017-09-19 | 北京优朋普乐科技有限公司 | 二维码的生成方法和二维码扫描事件的响应方法 |
CN107731230A (zh) * | 2017-11-10 | 2018-02-23 | 北京联华博创科技有限公司 | 一种庭审笔录系统及方法 |
CN109005253A (zh) * | 2018-09-06 | 2018-12-14 | 中电科航空电子有限公司 | 网络负载均衡的系统 |
CN110166523A (zh) * | 2019-04-09 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 内容更新方法、装置、设备和计算机可读存储介质 |
CN110740155A (zh) * | 2018-07-18 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 分布式系统中的请求处理方法及装置 |
CN111541759A (zh) * | 2020-04-20 | 2020-08-14 | 国网甘肃省电力公司信息通信公司 | 一种云平台通信系统及其通信方法 |
CN112199082A (zh) * | 2020-10-14 | 2021-01-08 | 杭州安恒信息技术股份有限公司 | 一种http响应处理方法、装置、电子设备及存储介质 |
CN113569007A (zh) * | 2021-06-18 | 2021-10-29 | 武汉理工数字传播工程有限公司 | 一种处理知识服务资源的方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070255711A1 (en) * | 2006-04-28 | 2007-11-01 | International Business Machines Corporation | Method and system for property-based indexing and/or querying of web service resources |
CN103873602A (zh) * | 2014-02-21 | 2014-06-18 | 北京邮电大学 | 一种网络资源命名方法与生成装置 |
CN104537091A (zh) * | 2015-01-06 | 2015-04-22 | 湖南科技大学 | 一种基于层次标识路由的网络化关系数据查询方法 |
-
2015
- 2015-04-28 CN CN201510208110.1A patent/CN104754065B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070255711A1 (en) * | 2006-04-28 | 2007-11-01 | International Business Machines Corporation | Method and system for property-based indexing and/or querying of web service resources |
CN103873602A (zh) * | 2014-02-21 | 2014-06-18 | 北京邮电大学 | 一种网络资源命名方法与生成装置 |
CN104537091A (zh) * | 2015-01-06 | 2015-04-22 | 湖南科技大学 | 一种基于层次标识路由的网络化关系数据查询方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107026795A (zh) * | 2016-02-02 | 2017-08-08 | 上海格尔软件股份有限公司 | 一种基于iptables和策略路由的回包至来源网口的方法 |
CN107181771A (zh) * | 2016-03-09 | 2017-09-19 | 北京优朋普乐科技有限公司 | 二维码的生成方法和二维码扫描事件的响应方法 |
CN106027395A (zh) * | 2016-04-29 | 2016-10-12 | 清华大学 | 基于路由器随机标识的路径恢复方法及装置 |
CN106027395B (zh) * | 2016-04-29 | 2019-06-28 | 清华大学 | 基于路由器随机标识的路径恢复方法及装置 |
CN105978965B (zh) * | 2016-05-06 | 2019-04-05 | 中国科学技术大学 | 一种面向内容请求聚合与缓存决策的内容分类方法 |
CN105978965A (zh) * | 2016-05-06 | 2016-09-28 | 中国科学技术大学 | 一种面向内容请求聚合与缓存决策的内容分类方法 |
CN106255166A (zh) * | 2016-08-31 | 2016-12-21 | 邱岩 | 一种层次拓扑结构图上的基于内容中心网络的路由方法 |
CN106255166B (zh) * | 2016-08-31 | 2018-03-16 | 邱岩 | 一种层次拓扑结构图上的基于内容中心网络的路由方法 |
CN106407011B (zh) * | 2016-09-20 | 2019-05-10 | 焦点科技股份有限公司 | 一种基于路由表的搜索系统集群服务管理的方法及系统 |
CN106407011A (zh) * | 2016-09-20 | 2017-02-15 | 焦点科技股份有限公司 | 一种基于路由表的搜索系统集群服务管理的方法及系统 |
CN107731230A (zh) * | 2017-11-10 | 2018-02-23 | 北京联华博创科技有限公司 | 一种庭审笔录系统及方法 |
CN110740155A (zh) * | 2018-07-18 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 分布式系统中的请求处理方法及装置 |
CN110740155B (zh) * | 2018-07-18 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 分布式系统中的请求处理方法及装置 |
CN109005253A (zh) * | 2018-09-06 | 2018-12-14 | 中电科航空电子有限公司 | 网络负载均衡的系统 |
CN109005253B (zh) * | 2018-09-06 | 2021-08-17 | 中电科航空电子有限公司 | 网络负载均衡的系统 |
US11096090B2 (en) | 2018-09-06 | 2021-08-17 | Cetc Avionics Co., Ltd. | Method and system for network load balancing in vehicle entertainment systems |
CN110166523A (zh) * | 2019-04-09 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 内容更新方法、装置、设备和计算机可读存储介质 |
CN111541759A (zh) * | 2020-04-20 | 2020-08-14 | 国网甘肃省电力公司信息通信公司 | 一种云平台通信系统及其通信方法 |
CN112199082A (zh) * | 2020-10-14 | 2021-01-08 | 杭州安恒信息技术股份有限公司 | 一种http响应处理方法、装置、电子设备及存储介质 |
CN113569007A (zh) * | 2021-06-18 | 2021-10-29 | 武汉理工数字传播工程有限公司 | 一种处理知识服务资源的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104754065B (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104754065A (zh) | 基于内容中心网络的动态分布Web资源管理方法及系统 | |
CN110945853B (zh) | 基于联盟链投票共识算法产生及管理多模标识网络的方法 | |
Zhang et al. | Scalable name-based data synchronization for named data networking | |
CN104901997B (zh) | 用于内容中心网络中的直接存储装置存取的系统和方法 | |
US8166074B2 (en) | Index data structure for a peer-to-peer network | |
CN103078881B (zh) | 网络资源下载信息的分享控制系统和方法 | |
US7849069B2 (en) | Method and system for federated resource discovery service in distributed systems | |
CN108848032B (zh) | 一种支持多兴趣类型处理的命名对象网络实现方法 | |
CN105812351A (zh) | 实现会话共享的方法和系统 | |
CN101409706A (zh) | 一种边缘网络中的数据分发方法、数据分发系统及相关设备 | |
CN102122285A (zh) | 一种数据缓存系统和数据查询方法 | |
CN103873602A (zh) | 一种网络资源命名方法与生成装置 | |
CN104838620A (zh) | 电信网中的事件管理 | |
CN110032547A (zh) | 一种分布式环境下文件存储改进方法 | |
CN101159780A (zh) | 一种电信综合业务接入网关网间路由系统及其方法 | |
US6725218B1 (en) | Computerized database system and method | |
CN101932065B (zh) | 分布式卫星网络资源发现方法 | |
CN102378407B (zh) | 一种物联网中的对象名字解析系统及其解析方法 | |
CN104767678A (zh) | 在内容中心网络中基于命名中内容属性实现的路由方法 | |
CN113409047B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
Yu et al. | A scalable blockchain network model with transmission paths and neighbor node subareas | |
CN114448936A (zh) | 一种基于IPv6可编码可溯源的网络传输规则验证方法 | |
CN115865844B (zh) | 基于sdn与ndn的虚实结合动态流量调度方法及装置 | |
US11568014B2 (en) | Information centric network distributed search with approximate cache | |
CN113378095B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |