CN110807160A - 内容获取方法及装置 - Google Patents
内容获取方法及装置 Download PDFInfo
- Publication number
- CN110807160A CN110807160A CN201810801742.2A CN201810801742A CN110807160A CN 110807160 A CN110807160 A CN 110807160A CN 201810801742 A CN201810801742 A CN 201810801742A CN 110807160 A CN110807160 A CN 110807160A
- Authority
- CN
- China
- Prior art keywords
- data packet
- content
- content server
- packet
- data
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种内容获取方法及装置。用户终端发送内容请求报文;路由节点根据所请求内容中的首个数据包的标识和/或最后一个数据包的标识,查找数据包集合;若查找到首个数据包或包括首个数据包的多个连续的数据包,发送查找到的数据包;若还存在数据包集合中的未查找到的一个或多个包数据,修改内容请求报文;发送修改后的内容请求报文。本申请通过依次在路由节点中查找数据包集合中的数据包,其网络架构与现有网络架构兼容,且能够降低内容请求的传输开销,降低内容服务器的处理开销。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种内容获取方法及装置。
背景技术
随着互联网的迅速发展,人们对网络传输性能的需求日益增加。尤其是网络直播和视频点播的出现,使得人们对高带宽、低时延的网络质量需求更加迫切。用户请求内容过程中,希望达到快速的响应速度。通过对网络传输内容的分析,可以发现网络传输内容具有相似性,因此,内容缓存机制可以实现相似内容的快速响应。
目前,内容缓存已经是网络中的一个普遍功能。在网络内引入缓存可使得大部分流量传输在网络内完成。从用户角度来说,缩短了用户网络报文的传输距离,减少了响应时延,同时降低了广域网拥塞对业务端到端性能的影响,从而提升用户体验。从运营商角度来说,在边缘完成内容传输,可大大减少核心网络的传输数据量,降低骨干网的传输带宽,节省成本。对于“个人直播”和窄带物联网(narrow band internet of things,NB-IoT)等新业务,网络内的缓存可为这些业务提供分布式缓存,对业务产生的上行消息和业务进行就近转发,不需要将所有数据上传到服务器后再进行下推,从而减少集中服务器的带宽和计算开销。
如图1所示的现有技术中的一种内容分发网络(content delivery network,CDN)的架构示意图,可以实现快速的内容分发。内容服务器根据策略将选择的内容发布到网络边缘的CDN服务器,用户请求内容时优先从就近的CDN服务器获取,当用户所需内容在CDN服务器中为缓存时,会根据策略从内容服务器中进行内容获取。除了利用服务器实现CDN的方案外,目前还有在路由器实现CDN功能的设计。通过在路由器的扩展槽插入CDN的增值业务板,在路由器本地实现CDN的功能。路由器在接收到CDN内容请求后,将请求流量导入增值业务板上进行处理,本地直接进行请求内容重定向,从而实现更快速的内容请求响应。但是,CDN方案为应用层方案,应用层方案与实际业务耦合度高,针对不同业务需要进行重新定制,对网络和终端的改动大。同时,利用服务器进行内容请求响应时,需要服务器具有更强的处理性能以及接入带宽,从而增大了成本。路由器上利用增值业务板实现CDN功能的方案,在实际应用过程中效果不好。业务板处理能力无法匹配网络设备的高速转发速度,增加业务板会消耗路由器上有限的槽位带,影响设备容量的充分利用。
如图2所示的现有技术中的一种信息中心网络(information centric network,ICN)的架构示意图。ICN架构中基于数据的内容来进行命名、路由、传输和缓存,以实现传输内容与位置的分离。ICN是一种发布订阅模型,用户请求数据过程中只需要向网络请求感兴趣的数据,即可从ICN网络中获取相应数据。如图2所示,用户向网络发送数据请求(pendinginterest),当请求到达ICN路由器后,路由器查询本地兴趣表(pending interest table,PIT),并记录路由器收到的请求信息;然后路由器根据请求查询本地内容存储库(contentstore,CS),若存在相应内容的缓存,则将内容返回给请求用户,并更新PIT表。如果路由器本地CS中不存在请求对应的内容缓存,路由器会根据策略将请求发向其他路由器,其他路由器接收到pending interest后会执行相同过程进行查找并传输数据。如果网络中不存在该内容,则请求会发送到源内容服务器,由源内容服务器进行内容回复。当路由器接收到内容后,会查询本地PIT表中请求该内容的pending interest,并将内容向所有请求的端口进行发送,同时根据策略进行内容缓存或消除PIT表项。ICN通过这种请求订阅机制将请求内容最终发回给请求主机。然而,ICN方案为一种新的网络架构,对现有网络进行了颠覆性的改变,与现有网络兼容性差。
因此,亟待提供一种内容获取方案,能够与现有网络架构兼容,实现内容请求与应用层解耦,同时降低内容请求的传输开销和端系统的处理开销。
发明内容
本申请提供一种内容获取方法及装置,以降低内容请求的传输开销和内容服务器的处理开销。
第一方面,提供了一种内容获取方法,包括:发送内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,接收所述一个或多个路由节点返回的所述部分数据包;以及接收所述内容服务器返回的所述数据包集合中的剩余数据包;或当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,接收所述一个或多个路由器返回的所述全部数据包;或当在所述一个或多个路由节点中未查找到所述首个数据包时,接收所述内容服务器返回的所述数据包集合中的全部数据包。
在该方面中,通过依次在路由节点中查找数据包集合中的数据包,其网络架构与现有网络架构兼容,且能够降低内容请求的传输开销,降低内容服务器的处理开销。
结合第一方面,在第一种可能的实现方式中,所述内容请求报文还包括报文类型参数,所述报文类型参数用于指示报文类型。
在该实现方式中,将报文分为内容请求(request)报文、内容(content)报文和服务完成报文共三种报文。其中,request报文为请求端发送的报文,即对内容的请求报文;内容报文为根据路由器本地缓存而生成的报文,即对请求进行反馈的数据内容报文;服务完成报文为路由器向源内容服务器通知request报文在网内被服务完成的通知报文。通过在各个报文中携带报文类型参数,可以区分报文类型。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的标识为内容服务器对所请求内容划分后的数据包的标识;或所述数据包的标识包括内容服务器对所请求内容划分后的数据包的标识、以及内容服务器的地址;或所述数据包的标识包括内容服务器的地址、以及内容服务器的IP序列号。
在该实现方式中,数据包的标识为内容服务器对所请求内容划分后的数据包的标识,数据包的标识全局唯一,可以唯一地标识数据包;数据包的标识包括内容服务器对所请求内容划分后的数据包的标识、以及内容服务器的地址,数据包的标识可以全局不唯一,结合内容服务器的地址,具有相同内容服务器的地址的数据包的标识具有唯一性,对数据包的标识要求较低;在例如物联网的场景下,数据包的标识虽然不具有全局唯一性,但同一个源具有连续性,而物联网终端的IP地址相对稳定,采用其IP地址和IP序列号可以唯一标识数据包,节省了数据包的标识的计算开销。
第二方面,提供了一种内容获取方法,包括:接收内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合;当查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,发送查找到的所述首个数据包或包括所述首个数据包的多个连续的数据包;当还存在所述数据包集合中未查找到的一个或多个数据包时,修改所述内容请求报文,修改后的所述内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址;以及发送所述修改后的内容请求报文。
在该方面中,通过依次在路由节点中查找数据包集合中的数据包,其网络架构与现有网络架构兼容,且能够降低内容请求的传输开销,降低内容服务器的处理开销。
结合第二方面,在第一种可能的实现方式中,所述方法还包括:向所述内容服务器发送数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或当查找到所述数据包集合的最后一个数据包时,则向所述内容服务器发送服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
在该实现方式中,路由节点向内容服务器发送数据包匹配通知或服务完成通知,内容服务器可以了解网络中各个路由节点查找数据包集合的情况,即了解数据包集合被匹配的情况或者是否查找到数据包集合的全部数据包。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的标识为内容服务器对所请求内容划分后的数据包的标识;或所述数据包的标识包括内容服务器对所请求内容划分后的数据包的标识、以及内容服务器的地址;或所述数据包的标识包括内容服务器的地址、以及内容服务器的IP序列号。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:当未查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,转发所述内容获取请求报文至下一个路由节点或内容服务器。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:接收内容服务器发送的一个或多个数据包;根据策略缓存所述一个或多个数据包;为所述一个或多个数据包分配标识,以及为所述一个或多个数据包的下一个数据包分配标识。
第三方面,提供了一种内容获取方法,包括:当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址;查找所述剩余的一个或多个数据包,并发送所述剩余的一个或多个数据包;或当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,接收最后一级路由节点发送的内容请求报文,所述内容请求报文包括所述数据包集合的首个数据包的标识和最后一个数据包的标识以及内容服务器的地址;查找所述数据包集合,并发送所述数据包集合中的全部数据包。
在该方面中,通过依次在路由节点中查找数据包集合中的数据包,其网络架构与现有网络架构兼容,且能够降低内容请求的传输开销,降低内容服务器的处理开销。
结合第三方面,在第一种可能的实现方式中,所述方法还包括:当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收所述一个或多个路由节点发送的数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或当查找到所述数据包集合的最后一个数据包时,接收查找到所述数据包集合的最后一个数据包的路由节点发送的服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
第四方面,提供了一种用户终端,该用户终端具有实现上述第一方面的方法中用户终端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,所述用户终端包括:发送单元,用于发送内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;接收单元,用于当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,接收所述一个或多个路由节点返回的所述部分数据包;以及接收所述内容服务器返回的所述数据包集合中的剩余数据包;或所述接收单元,还用于当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,接收所述一个或多个路由器返回的所述全部数据包;或所述接收单元,还用于当在所述一个或多个路由节点中未查找到所述首个数据包时,接收所述内容服务器返回的所述数据包集合中的全部数据包。
另一种可能的实现方式中,所述用户终端包括:接收器、发射器、存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行以下操作:控制所述发射器发送内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,控制所述接收器接收所述一个或多个路由节点返回的所述部分数据包;以及控制所述接收器接收所述内容服务器返回的所述数据包集合中的剩余数据包;或当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,控制所述接收器接收所述一个或多个路由器返回的所述全部数据包;或当在所述一个或多个路由节点中未查找到所述首个数据包时,控制所述接收器接收所述内容服务器返回的所述数据包集合中的全部数据包。
基于同一申请构思,由于该装置解决问题的原理以及有益效果可以参见上述各可能的用户终端的方法实施方式以及所带来的有益效果,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
第五方面,提供了一种路由节点,该路由节点具有实现上述第二方面的方法中路由节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,所述路由节点包括:接收单元,用于接收内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;查找单元,用于根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合;发送单元,用于当查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,发送查找到的所述首个数据包或包括所述首个数据包的多个连续的数据包;修改单元,用于当还存在所述数据包集合中未查找到的一个或多个数据包时,修改所述内容请求报文,修改后的所述内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址;以及所述发送单元还用于发送所述修改后的内容请求报文。
另一种可能的实现方式中,所述路由节点包括:接收器、发射器、存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行以下操作:控制所述接收器接收内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合;若查找到所述首个数据包或包括所述首个数据包的多个连续的数据包,控制所述发射器发送查找到的所述首个数据包或包括所述首个数据包的多个连续的数据包;若还存在所述数据包集合中未查找到的一个或多个数据包,修改所述内容请求报文,修改后的所述内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址;以及控制所述发射器发送所述修改后的内容请求报文。
基于同一申请构思,由于该装置解决问题的原理以及有益效果可以参见上述各可能的路由节点的方法实施方式以及所带来的有益效果,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
第六方面,提供了一种内容服务器,该内容服务器具有实现上述第三方面的方法中内容服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,所述内容服务器包括:接收单元,用于当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址;查找单元,用于查找所述剩余的一个或多个数据包;发送单元,用于发送所述剩余的一个或多个数据包;或所述接收单元,还用于当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,接收最后一级路由节点发送的内容请求报文,所述内容请求报文包括所述数据包集合的首个数据包的标识和最后一个数据包的标识以及内容服务器的地址;所述查找单元,还用于查找所述数据包集合;所述发送单元,还用于发送所述数据包集合中的全部数据包。
另一种可能的实现方式中,所述内容服务器包括:接收器、发射器、存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行以下操作:当在一个或多个路由节点中查找到数据包集合中的部分数据包时,控制所述接收器接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址;查找所述剩余的一个或多个数据包,并控制所述发射器发送所述剩余的一个或多个数据包;或当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,控制所述发射器发送所述数据包集合中的全部数据包。
基于同一申请构思,由于该装置解决问题的原理以及有益效果可以参见上述各可能的内容服务器的方法实施方式以及所带来的有益效果,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第八方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
图1为现有技术中的一种内容分发网络的架构示意图;
图2为现有技术中的一种信息中心网络的架构示意图;
图3为本申请实施例涉及的一种内容获取系统的架构示意图;
图4为本申请实施例提供的一种内容获取方法的流程示意图;
图5为本申请实施例提供的一种内容获取方法的原理示意图;
图6a为本申请实施例示例的一种匹配命中通知示意图;
图6b为本申请实施例示例的一种服务完成报文发送示意图;
图7为本申请实施例详细描述的路由器的核心方法流程示意图;
图8为本申请示例的一种网络场景中的内容获取方法的示意图;
图9为一种IP报文头的格式示意图;
图10为本申请示例的另一种网络场景中的内容获取方法的示意图;
图11为本申请实施例提供的一种用户终端的结构示意图;
图12为本申请实施例提供的一种路由节点的结构示意图;
图13为本申请实施例提供的一种内容服务器的结构示意图;
图14为本申请实施例提供的一种用户终端、路由节点或内容服务器的硬件结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
请参阅图3,图3为本申请实施例涉及的一种内容获取系统的架构示意图。当用户终端与内容服务器通信时,用户终端生成报文,报文中包含用户终端和内容服务器的端口、地址等信息,例如三元组或五元组。网络根据报文的端口、地址等相关信息,选择路由路径。报文经路由器转发,最终发送至内容服务器。如图3所示,用户终端A要发送报文至内容服务器A,则网络根据报文的端口、地址等相关信息,选择经过路由器1、2、4,将该报文发送至内容服务器A;用户终端B要发送报文至内容服务器B,则网络根据报文的端口、地址等相关信息,选择经过路由器1、3、5,将该报文发送至内容服务器A。当然,图3中的报文转发过程仅为举例,实际中,报文可能经过更多的路由器进行转发。
本申请实施例提供一种内容获取方法及装置,通过依次在路由节点中查找数据包集合中的数据包,其网络架构与现有网络架构兼容,且能够降低内容请求的传输开销,降低内容服务器的处理开销。
请参阅图4,图4为本申请实施例提供的一种内容获取方法的流程示意图,该方法包括以下步骤:
S101、用户终端发送内容请求报文,所述内容请求报文包括以下参数:数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址。
本实施例为上层应用提供应用程序接口(application interface,API),通过该API传输的需求即为基于本实施例的方案获取内容。用户终端获取上层应用数据,进行需求解析。其中,上层应用数据是上层应用对所需内容的请求。若经过需求解析,确定该上层应用需求为基于本实施例的方案获取内容,则通过内容服务器或域名系统(domain namesystem,DNS)服务器获取请求对应的所有数据包的标识。内容服务器存储有所请求内容的所有数据包,路由器根据策略缓存有全部或部分数据包。用户终端根据需求,确定所请求内容对应的数据包集合,并生成内容请求报文。该内容请求报文用于请求一个数据包集合中的内容。其中,内容请求报文中包括以下参数:所请求内容或数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址。根据首个数据包的标识和最后一个数据包的标识,可以确定一个数据包集合。具体地,可以在网络协议(internetprotocol,IP)报文头的可选项中添加以上参数,路由节点和内容服务器可以解析该报文头中的以上参数,从而确定请求的内容。后面将详细描述IP报文头的格式。若上层应用不是经过本实施例特定的API发送请求,则采用传统IP报文发送,即直接向内容服务器获取内容报文。
用户终端根据内容服务器的地址(即目的IP)发送该内容请求报文。如图4所示,网络将该请求报文路由到一个或多个路由节点,最后可能到达内容服务器。其中,这里的路由节点为接收到用户终端发送的内容请求报文的任一级节点。实际报文发送中,还可能包括更多的路由节点。本实施例以任一个路由节点的处理流程示例,其它路由节点的处理流程与该路由节点的处理流程类似。该路由节点接收用户终端发送的该内容请求报文。在本实施例中,路由节点可以是路由器,也可以是其它具有路由功能的节点。
S102、路由节点根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合。
数据包集合中的数据包的标识具有连续性和统一性。例如该数据包集合可以是一个包链。包链是指多个数据包的标识是连续的,根据当前数据包的标识,能够确定下一个数据包的标识。该路由节点可能缓存了该数据包集合的全部数据包,也可能只缓存了该数据包集合的部分数据包(其中,部分数据包的标识可能都是连续的,也可能只有一部分的标识是连续的),或者未缓存任何数据包。
路由节点根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合,即路由节点根据首个数据包的标识查找数据包集合、根据首个数据包的标识和最后一个数据包的标识查找数据包集合、或根据最后一个数据包的标识查找数据包集合。
以该数据包集合是一个包链为例描述数据包集合的查找过程:
一种情况是,路由节点接收到内容请求报文后,根据数据包集合中的首个数据包的标识,在本地缓存中从首个数据包开始查找,查找包括首个数据包在内的、连续的数据包;并根据最后一个数据包的标识,判断是否查找到数据包集合中的最后一个数据包的标识对应的数据包,若查找到最后一个数据包,则查找到数据包集合的全部数据包。
另一种情况是,当从首个数据包开始查找,查找到部分连续的数据包,但查找到的其它数据包的标识不连续,则只获取查找到的包括首个数据包在内的连续的数据包,可以无需根据最后一个数据包的标识继续查找;或者也可能根据首个数据包的标识,未查找到任何的数据包,则也无需根据最后一个数据包的标识继续查找。
又一种情况是,当数据包集合中还剩余一个数据包未查找到,则该路由节点接收到的修改后的内容请求报文包括的首个数据包的标识也是最后一个数据包的标识,路由节点根据该首个数据包的标识(或最后一个数据包的标识)查找最后一个数据包。
S103、当查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,路由节点发送所述首个数据包或包括所述首个数据包的多个连续的数据包。
如果路由节点查找到首个数据包、或包括首个数据包的多个连续的数据包、或全部数据包,则发送查找到的数据包。
其中,数据包可以以内容(content)报文的形式发送,该内容报文包括查找到的数据包。具体地,路由节点复制缓存中查找到的一个或多个数据包,将内容获取请求报文的源IP作为内容报文的目的IP,将内容获取请求报文的目的IP作为内容报文的源IP,即根据内容报文的源IP和目的IP等。
路由节点根据以上设置的内容报文的源IP和目的IP等,将内容报文返回至用户终端。
当路由节点未查找到首个数据包括或包括首个数据包的多个连续的数据包(例如,路由节点未缓存任何数据包,或未缓存自首个数据包开始的多个连续的数据包)时,则路由节点不执行上述S103,直接将内容请求报文转发至下一级路由节点。
需要说明的是,路由节点可能是中间一级节点,则上述首个数据包的标识是指接收到的上一级路由节点转发或修改后的内容请求报文中包括的首个数据包的标识。
若路由节点查找到数据包集合的全部数据包,则流程结束。
S104、当还存在所述数据包集合中未查找到的一个或多个数据包时,修改所述内容请求报文。
当还存在剩余数据包在路由节点本地缓存中没有查找到时,则修改内容请求报文,将修改后的内容请求报文根据目的IP发送给下一级路由节点或内容服务器进行请求。修改后的内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址。
若路由节点未查找到首个数据包,则不修改内容请求报文,直接转发其接收到的内容请求报文。
S105、发送所述修改后的内容请求报文。
若路由节点后面还包括下一级路由节点,则路由节点发送修改后的内容请求报文至下一级路由节点。若路由节点为最后一级路由节点,则发送修改后的内容请求报文至内容服务器。
S106、路由节点发送数据包匹配通知。
通过S101~S103的步骤,路由节点完成了数据包的查找或匹配过程,则路由节点可以发送数据包匹配通知至内容服务器。该步骤为可选的步骤。本实施例中,若任一级路由节点在本地缓存中匹配到所请求的内容或未匹配到所请求的内容,可以发送数据包匹配通知至内容服务器。通过发送匹配通知,内容服务器可以了解网络中各个路由节点查找数据包集合的情况,即了解数据包集合被匹配的情况,保证了应用层业务的完整性。当然还可以是其它的方式,例如服务完成通知,后面将详细描述。
其中,S104~S105与S106的执行顺序不作限定,可以先执行S104~S105,再执行S106;也可以先执行S106,再执行S104~S105;或者S104~S105与S106并行执行。
若该路由节点后还存在下一级路由节点,则该路由节点发送修改后的内容请求报文至下一级路由节点。下一级路由节点接收到修改后的内容请求报文后,执行上述S101~S103的同样的操作,进行数据包的查找。
S107、当在一个或多个路由节点中查找到数据包集合中的部分数据包时,内容服务器接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址。
S108、内容服务器查找所述剩余的一个或多个数据包。
S109、内容服务器发送所述剩余的一个或多个数据包。
其中,S107~S109为内容服务器的一种可能的处理方式。在该种方式中,各级路由节点分别通过查找匹配,查找到了数据包集合的部分数据包,仍未查找到数据包集合的全部数据包,则最后一级路由节点发送修改后的内容请求报文至内容服务器。内容服务器存储了所请求的全部数据包。则内容服务器根据修改后的内容请求报文,查找剩余的未查找到的一个或多个数据包,并将查找到的一个或多个数据包发送给用户终端。
作为另一种可能的实现方式,当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,内容服务器接收最后一级路由节点发送的内容请求报文,所述内容请求报文包括所述数据包集合的首个数据包的标识和最后一个数据包的标识以及内容服务器的地址。
内容服务器查找所述数据包集合。
内容服务器发送所述数据包集合中的全部数据包。
在该种方式中,各级路由节点分别通过查找匹配,未查找到数据包集合中的任一数据包,则最后一级路由节点发送内容请求报文至内容服务器。内容服务器查找整个数据包集合,并将查找到的整个数据包集合的全部数据包发送至用户终端。
由以上流程可以看出,用户终端接收数据包集合存在多种来源:
当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,接收所述一个或多个路由节点返回的所述部分数据包;以及接收所述内容服务器返回的所述数据包集合中的剩余数据包;或
当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,接收所述一个或多个路由器返回的所述全部数据包;或
当在所述一个或多个路由节点中未查找到所述首个数据包时,接收所述内容服务器返回的所述数据包集合中的全部数据包。
请参阅图5,图5为本申请实施例提供的一种内容获取方法的原理示意图。假设路由器1、2、…n缓存有用户终端所请求的所有或部分的数据包。实际中,路由器可能未缓存任一数据包,这种情况已经在图4的实施例中描述。其中:
S201a~S201d、用户终端发送内容请求报文。具体地:
S201a、用户终端向路由器1发送内容请求报文。该内容请求报文包括请求的数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址。路由器1根据请求的首个数据包的标识和最后一个数据包的标识,查找路由器1缓存的数据包。路由器1在查找到缓存的一个或多个数据包后,生成内容报文,并向用户终端返回该内容报文。该内容报文包括查找到的一个或多个数据包。用户终端接收路由器1返回的内容报文。若路由器1只查找到首个数据包,或包括首个数据包在内的部分连续的数据包,则转至S201b。
S201b、路由器1向路由器2发送修改后的内容请求报文。如前所述,路由器1修改内容请求报文,该报文包括剩余的数据包中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址。然后,路由器1向路由器2发送修改后的内容请求报文。若路由器1未查找到首个数据包,则直接转发从用户终端接收到的内容请求报文。路由器2的查找过程与S201a类似。若路由器2不能向用户终端返回剩余的所有数据包,则转至S201c。
S201c、路由器2向路由器n发送修改后的内容请求报文。若路由器2查找到部分数据包,则路由器2同样地修改内容请求报文;若路由器2未查找首个数据包,则直接转发从路由器1接收到的内容请求报文。路由器n的查找过程与S201a类似。若路由器n不能向用户终端返回所有剩余数据包,则转至S201d。
S201d、路由器n向内容服务器发送修改后的内容请求报文。若经过上述n级路由器,仍未查找到所请求的所有的数据包,则向内容服务器请求剩余的数据包或全部数据包。内容服务器存储了所请求的所有数据包。
S202a~S202d、路由器向用户终端返回根据查找到的数据包生成的内容报文;和/或内容服务器向用户终端返回根据路由器未查找到的所请求内容中的剩余的数据包生成的内容报文。用户终端接收一个或多个路由器返回的内容报文;和/或接收所述内容服务器返回的内容报文。具体地:
S202a、路由器1向用户终端返回根据查找到的数据包生成的内容报文。具体地,路由器1复制缓存中查找到包括首个数据包的一个或多个数据包,将内容请求报文的源IP作为内容报文的目的IP,将内容请求报文的目的IP作为内容报文的源IP,即根据内容报文的源IP和目的IP等,将内容报文返回至用户终端。
S202b、路由器2向用户终端返回根据查找到的剩余的数据包生成的内容报文。路由器2生成和返回内容报文的操作与S202a的操作相同。
S202c、路由器n向用户终端返回根据查找到的剩余的数据包生成的内容报文。路由器n生成和返回内容报文的操作与S202a的操作相同。
S202d、内容服务器向用户终端返回根据查找到的剩余的数据包生成的内容报文。内容服务器生成和返回内容报文的操作与S202a的操作相同。
可选地,还包括:S203a~S203c、路由器向内容服务器发送通告报文。具体地:
S203a、路由器1向内容服务器发送通告报文。若路由器1匹配数据包成功,则向内容服务器发送通告报文,通知匹配结果。具体地,该通告报文可以通知内容服务器路由器1匹配到所请求内容的哪些数据包。内容服务器根据通告报文可以感知内容获取请求过程。
S202b、路由器2向内容服务器发送通告报文。路由器2发送通告报文的操作与S203a相同。
S203c、路由器n向内容服务器发送通告报文。路由器n发送通告报文的操作与S203a相同。
上述图5中是以匹配命中通告机制为例进行原理描述的。实际上,路由器本地内容查找成功后,可以根据策略进行匹配命中或服务器完成通告机制。
具体地,请参阅图6a,图6a为本申请实施例示例的一种匹配命中通知示意图。在图6a中,当用户终端B向内容服务器发送请求时,首先根据预先获取的内容ID和所需的数据包生成内容请求报文。图6a以数据包集合是一个包链为例,所请求的包链为packet a到packet e。根据目的地址转发内容请求报文,网内路由器接收到内容请求报文后,根据报文中的包链信息进行内容返回和内容请求报文修改转发。路由器1根据内容请求报文中包链进行本地缓存查询,由于路由器1无匹配到的请求数据,因此向路由器2转发内容请求报文。路由器2接收到内容请求报文后进行同样操作,向路由器1返回本地缓存的packet a和packet b,同时由于内容请求报文中的数据仍存在未服务内容(即packet c,packet d和packet e),因此路由器2将内容请求报文的包链修改为packet c到packet e,再将内容获取报文发送给路由器3。路由器3和路由器4执行相同操作对内容请求报文进行响应。如果内容请求报文最终发送到内容服务器,则内容服务器发送相应数据进行回复。同时当网内路由器匹配到缓存报文并返回时,根据策略生成通告报文发送给内容服务器。图6a是基于包粒度的“匹配命中报文”方案,当路由器匹配到缓存报文时,立即发送“匹配命中报文”来通知内容服务器该报文被匹配。
请参阅图6b,图6b为本申请实施例示例的一种服务完成报文发送示意图。图6b是基于内容请求报文服务粒度的“服务完成报文”方案,当内容请求报文在网络中被服务完成时,网内对该内容请求报文服务的最后一个路由器向内容服务器发送服务完成报文,实现内容请求报文服务层面的通知。
请参阅图7,图7为本申请实施例详细描述的路由器的核心方法流程示意图。其详细的流程如下:
S301、路由器接收到用户终端发送的内容请求报文后,进行报文解析。
S302、路由器判断是否基于包链进行内容请求,若是,则进行至S303;若不是,则进行普通IP报文转发,即直接将内容请求报文发送至内容服务器,进行内容请求。具体地,判断是否基于包链进行内容请求,可根据内容请求报文携带的参数判断。若是基于包链进行内容请求,则内容请求报文中包括以下一个或多个参数:所请求内容中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址。内容请求报文中还可以包括报文类型。
S303、根据IP报文头判断报文类型。在本实施例中,包括三种类型的报文:内容请求报文(request报文)、内容报文和服务完成报文。路由器作为中转装置,可能接收到以上三者类型的报文。
S304、若为request报文,则获取包链First packet ID。
S305、将First packet ID设为查找Key值(Key==First packet ID)。
S306、根据Key值进行本地缓存内容查找。
S307、是否查找到First packet ID对应的数据包或包括First packet ID在内的多个连续的数据包?
S308、若Key值对应内容在本地缓存中找到,则获取内容报文,即复制查找到的数据包。
S309、根据查找到的数据包,生成内容报文。具体地,将内容请求报文的源IP作为内容报文的目的IP(重写DIP==request报文源IP),将内容请求报文的目的IP作为内容报文的源IP(重写SIP==request报文目的IP),即根据内容报文的源IP和目的IP等,将内容报文返回至用户终端。
S310、将内容报文发送至请求端口。
S311、若Key值对应内容在本地缓存中未查找到,则重写First packet ID==Key,转为普通IP报文发送。
S312、判断当前查找Key值是否为Last packet ID或缓存中content ID对应的next content ID==null是否成立?若是,则进行至S314;否则,进行至S313。
S313、若Key值不满足以上要求,则将Key设为content ID对应的next contentID,继续执行查找过程。
S314、若当前查找Key值为Last packet ID或缓存中content ID对应的nextcontent ID==null,则路由器根据request报文头生成服务完成报文,并根据目的地址进行发送。
S315、获取所请求内容的Last packet ID。
S316、判断报文类型是否为内容报文。内容服务器向路由器推送存储的内容报文,路由器根据策略缓存内容服务器推送的内容报文。
S317、若报文类型是内容报文,路由器在接收到内容服务器推送的内容报文时,先进行报文复制。
S318、路由器根据内容报文目的地址转发内容报文至下一级路由器。
S319、路由器进行缓存策略匹配。
S320、路由器根据策略判断是否缓存该推送的内容报文?
S321、若确定缓存该内容报文,则缓存至数据库,进行缓存存储或内容更新;否则,丢弃复制的内容报文。
S322、若报文类型为通告报文(即不为request报文和content报文),则根据目的IP进行报文转发。
本实施例采用现有报文方案,因此能与现有网络兼容;利用基于包级别的缓存方案,独立于应用层,能够实现与应用层解耦的网内缓存方案;采用网内缓存匹配命中或服务完成通告机制,内容服务器可以了解网络中各个路由节点查找数据包集合的情况,即了解数据包集合被匹配的情况或者是否查找到数据包集合的全部数据包;利用包链机制,可以降低内容请求的传输开销,降低内容服务器的处理开销。采用本实施例的技术方案,能够在低开销的情况下实现内容请求的快速响应,并保证应用层业务完整性。
下面进一步通过具体的示例对本申请实施例的内容获取方法进行详细描述:
请参阅图8,为本申请示例的一种网络场景中的内容获取方法的示意图。在本示例中,多个内容服务器可能拥有相同的包内容,网络中生成的packet ID可以不全局唯一,路由器缓存的content ID也可以不连续。用户终端向内容服务器A和内容服务器C分别请求packet 1到packet 10的内容。具体过程描述如下:
1、用户终端根据需求生成两个内容请求报文:request A和request C:
本申请中将报文分为内容请求(request)报文、内容(content)报文和服务完成报文共三种报文。其中,request报文为请求端发送的报文,即对内容的请求报文;内容报文为根据路由器本地缓存而生成的报文,即对请求进行反馈的数据内容报文;服务完成报文为路由器向源内容服务器通知request报文在网内被服务完成的通知报文。
以IPv4标准为例,根据RFC791对报文的格式进行报文头设计。如图9所示的IP报文头的格式示意图,利用IPv4中可选字段(Options)实现本示例中的数据包标志以及packetID内容的传递。可选字段中包括了Option-Type、Option-Length以及其他字段。根据本示例的需求并考虑RFC791中已被使用的Option类型,设计如图9所示的IP报文头。
各个字段的说明如下:
Option Type:标志匹配方案为本示例的方案。根据RFC791,该值选为0xA0;
Option Length:为从Option-Type开始到最后的长度,以Bytes为单位,值为0x24;
Packet Type:标志接收到的报文的类型。根据设计方案,request报文值设为0x00,content报文值设为0x01,“服务完成报文”值设为0x02,“匹配命中报文”值设为0x03;
Pointer:标志了从第一个packet ID(这里为First Packet ID)起始位置开始,到另一个packet ID(这里为Last Packet ID)起始位置的长度,以Bytes为单位,值为0x10;
First Packet ID和Last Packet ID:为本示例中包链(packet chain)的开始和结尾的包链ID。
在本示例的方案中,需要对每个包标志其packet ID。可以采用hash、密码散列或其他方法,对每个包计算packet ID。例如,在IPv4中可采用MD5进行16Bytes长度的packetID计算,在IPv6中可采用sha256进行32Bytes长度的packet ID计算。在实际应用场景中,利用内容服务器将内容以包粒度切分成数据包,并利用以上计算方法计算每个包的packetID,在用户终端请求时将内容的packet ID范围发送给用户终端。用户终端发起内容请求过程中,每个request报文中都包含两个packet ID,根据用户的需求为request报文赋值合适的First packet ID和Last packet ID,以实现基于包链的内容请求。
本示例中,由于packet ID不全局唯一,即来自不同源的不同内容,报文的ID可能相同,同时路由器缓存的content ID不连续。此时,每个packet在网络中的唯一标识为IP地址(提供内容的源节点IP地址)和packet ID。因此request A对应的包链为IPA+packet 1到IPA+packet 10,request C对应的包链为IPC+packet 1到IPC+packet 10,其中IPA和IPC为内容服务器A和内容服务器C的地址。
假设此时用户终端地址为srcIP=10.0.0.1,IPA=20.0.0.1,IPC=20.0.0.3,packet 1=1000,packet 10=2000。则request A中Packet Type=0x00,包链对应的Firstpacket ID=0x14000001,00000000,00000000,000003E8,Last packet ID=0x14000001,00000000,00000000,000007D0;request C中Packet Type=0x00,包链对应的Firstpacket ID=0x14000003,00000000,00000000,000003E8,Last packet ID=0x14000003,00000000,00000000,000007D0。
由于本示例提出的包链机制在包头进行标识传输,因此可利用很多网络协议的封装和格式实现。例如,在IPv6标准中,可利用IPv6扩展头进行包类型的指定以及Firstpacket ID和Last packet ID的传输;在MPLS协议中,可通过添加多级标签来实现包类型的指定以及First packet ID和Last packet ID的传输。
2、路由器4根据request A和request C报文的First packet ID开始进行缓存内容查找。
本申请方案中路由器需要进行报文缓存。路由器在缓存时,为每个报文分配两个ID:content ID和next content ID。content ID标志了当前缓存的包的ID,对应于包的packet ID;next packet ID标志了当前包对应的下一个包的packet ID。通过content ID和next content ID实现内容的链式存储,可进行满足包链范围的数据包查找。若对于一个内容,其next content ID==null,则说明该包对应的内容没有后续包,意味着该请求需要的所有数据在网络中被服务完成。路由器有策略地将接收到的某些内容报文缓存到自己的一个特定队列中,可建立一个bloom filter用于快速排他。缓存策略可以是基于源IP地址,对所有来自该IP地址的内容报文进行缓存。
本示例中,假设路由器4缓存的内容报文如表1所示(表中x表示任意,处理中不解析)。由于request A和request C对应的First packet ID在缓存中均未找到对应缓存表项(即对应的content ID表项),因此两个请求在路由器4均没有匹配,路由器4将request A和request C进行转发。
表1路由器4缓存内容
路由器4将request A和request C转发给路由器3,由于路由器3没有本地缓存内容,因此路由器3转发两个request报文给路由器2。
路由器2根据两个request报文的First packet ID开始进行缓存内容查找:
假设路由器2缓存的内容报文表如表2所示(表中x表示任意,处理中不解析)。根据路由器处理流程,request A和request C对应的First packet ID在路由器缓存中均有对应表项,因此按流程进行内容查询。
表2路由器2缓存内容
由于路由器2中,对于request A可匹配到IPA+packet 1和IPA+packet 2;对于request C可匹配到IPC+packet 1和IPC+packet 2,因此路由器2复制本地内容副本,生成对应的内容报文,并返回给用户终端。request A生成的内容报文,其srcIP=20.0.0.1,dstIP=10.0.0.1,Packet Type=0x01,报文数据为对应的IPA+packet 1和IPA+packet 2的内容;request C生成的内容报文,其srcIP=20.0.0.3,dstIP=10.0.0.1,Packet Type=0x01,报文数据为对应的IPC+packet 1和IPC+packet 2的内容。
由于request A和request C还有内容未被服务,因此路由器2修改对应request报文的First packet ID字段,并转发修改后的request报文。本示例中,路由器2将request A的First packetID修改为0x14000001,00000000,00000000,000003FA,将request C的First packet ID修改为0x14000003,00000000,00000000,000003FA。
3、网络中所有路由器都执行相同操作,最终包含剩余请求内容包链的request A和request C分别被发送到内容服务器A和内容服务器C,由内容服务器进行响应。
4、内容服务器A和内容服务器C接收到request A和request C后,可选择进行响应,返回请求的数据。
5、若用户终端超过一定时间后仍未收到全部报文(可能内容服务器会丢弃request报文),则根据目前已确认的数据,继续发送request报文进行请求,此时request A的packet ID范围为[IPA+packet 3,IPA+packet 10],request C的packet ID范围为[IPC+packet 3,IPC+packet 10]。
此时,路由器4会对新的request报文进行响应,并继续进行处理流程。
根据策略,若经过多个请求周期后仍未收到全部报文,可利用传统IP方式进行逐包请求来获取缺失数据。
请参阅图10,图10为本申请示例的另一种网络场景中的内容获取方法的示意图。在本示例中,网络中packet ID具有全局唯一性,即来自不同源的相同或不同内容,报文的ID是不同的。当packet ID唯一时,不需要使用IP地址与packet ID的绑定来唯一标识packet。例如,在IPv4中,可利用MD5根据包内容计算16Bytes的packet ID。
图10中,用户终端B首先会获取内容服务器发送的全局内容packet ID信息。当用户终端B发送request报文时,会根据先前获取的全局内容packet ID信息,对需要内容进行请求。假设packet 1到packet 5对应的packet ID如表3所示。则此时,用户终端B发送request报文的First packet ID=0x0A0036A9,93B30192,83AAE823,9078CF12,Lastpacket ID=0xEA925561,1118DC88,356A9B27,263009BB。
表3 packet ID
序号 | 报文号 | packet ID |
1 | packet 1 | 0x0A0036A9,93B30192,83AAE823,9078CF12 |
2 | packet 2 | 0x12425561,118ABC88,48109B27,263003BB |
3 | packet 3 | 0x172CD003,0000AA00,00090EF0,00011118 |
4 | packet 4 | 0x99900103,00375000,AF0000F0,000003FA |
5 | packet 5 | 0xEA925561,1118DC88,356A9B27,263009BB |
内容获取请求过程如下:
1、用户终端B从应用层获得内容packet ID的范围,并根据需求发送request报文。此时,请求的包链为[0x0A0036A9,93B30192,83AAE823,9078CF12,0xEA925561,1118DC88,356A9B27,263009BB]。并将request报文发送给路由器1。
2、路由器1根据处理流程进行查找匹配,由于路由器1没有缓存内容,因此根据目的IP将request报文转发给路由器2。
3、路由器2获取request报文中First packet ID和Last packet ID进行匹配查找,发现本地存有packet 1和packet 2,复制两个数据包,生成内容报文。内容报文的目的IP设置为request报文的源IP,内容报文的源IP则设置为request报文的目的IP。并将生成的内容报文副本发送给用户终端B。然后修改request报文的First packet ID为packet 3=0x172CD003,0000AA00,00090EF0,00011118,将request报文发送给路由器3。
4、路由器3根据处理流程进行查找匹配,由于没有匹配结果,因此根据目的IP将request报文转发给路由器4。
5、路由器4获取request报文中First packet ID和Last packet ID进行匹配查找,发现本地存有packet 3=0x172CD003,0000AA00,00090EF0,00011118,因此复制该数据包,并设置内容报文副本的源IP和目的IP,将生成的内容报文副本发送给用户终端B。由于还有报文未被服务,因此修改request报文的First packet ID为packet 4=0x99900103,00375000,AF0000F0,000003FA,将request报文发送给内容服务器。
6、内容服务器接收到request报文后,根据First packet ID和Last packet ID进行内容响应,最终将数据发送给用户终端B。
在又一个示例中,packet ID虽然不具有全局唯一性,但在同一个源具有连续性。例如,在物联网(internet of things,IoT)中,由于不同终端产生的数据可能相同,多个终端可能分享同一个数据,因此仅根据包内容进行散列计算无法进行不同终端数据包的区分。考虑到IoT终端IP地址相对稳定,因此采用“源IP地址+IP序列号”相结合的方式,无需通过如前述实施例的采用哈希、密码散列等方式计算数据包的标识,节省了数据包的标识的计算开销。此时packet ID是连续的(即下一个包的packet ID为当前包的packet ID+1)。即数据包的标识为内容服务器的地址以及内容服务器的IP序列号。这里,IoT终端是产生数据的源,即这里的内容服务器,源IP地址即IoT终端的地址。
这种情况下,对传输的数据内容进行packet ID分配,可以简化匹配查找过程。由于同一源的内容packet ID连续,所以路由器的缓存中只需为每个内容报文维护contentID,查找内容时可简单地通过next content ID=content ID+1来获取下一个内容报文的ID,以减少路由器缓存中对内容的存储开销,并增大查找效率。
根据本申请实施例提供的一种内容获取方法,通过依次在路由节点中查找数据包集合中的数据包,其网络架构与现有网络架构兼容,且能够降低内容请求的传输开销,降低内容服务器的处理开销。
上面详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
基于上述实施例中的内容获取方法的同一构思,如图11所示,本申请实施例还提供一种用户终端1000,该用户终端可应用于上述图4所示的内容获取方法中,可以是上述方法实施例中的用户终端。该用户终端1000包括发送单元11和接收单元12;其中:
发送单元11,用于发送内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;
接收单元12,用于当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,接收所述一个或多个路由节点返回的所述部分数据包;以及接收所述内容服务器返回的所述数据包集合中的剩余数据包;或
所述接收单元12,还用于当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,接收所述一个或多个路由器返回的所述全部数据包;或
所述接收单元12,还用于当在所述一个或多个路由节点中未查找到所述首个数据包时,接收所述内容服务器返回的所述数据包集合中的全部数据包。
有关上述发送单元11和接收单元12更详细的描述可以直接参考上述图4所示的方法实施例中用户终端的相关描述直接得到,这里不加赘述。
基于上述实施例中的内容获取方法的同一构思,如图12所示,本申请实施例还提供一种路由节点2000,该路由节点可应用于上述图4所示的内容获取方法中,可以是上述方法实施例中的路由节点。该路由节点2000包括接收单元21、查找单元22、发送单元23和修改单元24;其中:
接收单元21,用于接收内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;
查找单元22,用于根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合;
发送单元23,用于当查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,发送查找到的所述首个数据包或包括所述首个数据包的多个连续的数据包;
修改单元24,用于当还存在所述数据包集合中未查找到的一个或多个数据包时,修改所述内容请求报文,修改后的所述内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址;
所述发送单元23,还用于发送所述修改后的内容请求报文。
在一种实现方式中,所述发送单元23还用于向所述内容服务器发送数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
所述发送单元23还用于当查找到所述数据包集合的最后一个数据包时,则向所述内容服务器发送服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
在另一种实现方式中,所述发送单元23还用于当未查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,转发所述内容获取请求报文至下一个路由节点或内容服务器。
在又一种实现方式中,所述接收单元21还用于接收内容服务器发送的一个或多个数据包;
所述路由节点还包括:
缓存单元25,用于根据策略缓存所述一个或多个数据包;
分配单元26,用于为所述一个或多个数据包分配标识,以及为所述一个或多个数据包的下一个数据包分配标识。
有关上述接收单元21、查找单元22、发送单元23和修改单元24更详细的描述可以直接参考上述图4所示的方法实施例中路由节点的相关描述直接得到,这里不加赘述。
基于上述实施例中的内容获取方法的同一构思,如图13所示,本申请实施例还提供一种内容服务器3000,该内容服务器可应用于上述图4所示的内容获取方法中,可以是上述方法实施例中的内容服务器。该内容服务器3000包括接收单元31、查找单元32和发送单元33;其中:
接收单元31,用于当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址;
查找单元32,用于查找所述剩余的一个或多个数据包;
发送单元33,用于发送所述剩余的一个或多个数据包;或
所述接收单元31,还用于当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,接收最后一级路由节点发送的内容请求报文,所述内容请求报文包括所述数据包集合的首个数据包的标识和最后一个数据包的标识以及内容服务器的地址;
所述查找单元32,还用于查找所述数据包集合;
所述发送单元33,还用于发送所述数据包集合中的全部数据包。
在一种实现方式中,所述接收单元31还用于当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收所述一个或多个路由节点发送的数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
所述接收单元31还用于当查找到所述数据包集合的最后一个数据包时,接收查找到所述数据包集合的最后一个数据包的路由节点发送的服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
有关上述接收单元31、查找单元32和发送单元33更详细的描述可以直接参考上述图4所示的方法实施例中内容服务器的相关描述直接得到,这里不加赘述。
本申请实施例还提供一种用户终端,该用户终端可以是上述通信系统中的用户终端,该用户终端可以采用图14所示的硬件架构。该用户终端可以包括接收器、发射器、处理器和存储器,所述接收器、发射器、处理器和存储器通过总线相互连接。图11中的发送单元11所实现的相关功能可以由发射器来实现。图11中的接收单元12所实现的相关功能可以由接收器来实现。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)。存储器用于存储用户终端的程序代码和数据。
发射器用于发送数据和/或信号,以及接收器用于接收数据和/或信号。发射器和接收器可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储终端设备的程序代码和数据。
所述处理器用于调用所述存储器中存储的程序代码,执行以下操作:控制所述发射器发送内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,控制所述接收器接收所述一个或多个路由节点返回的所述部分数据包;以及控制所述接收器接收所述内容服务器返回的所述数据包集合中的剩余数据包;或当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,控制所述接收器接收所述一个或多个路由器返回的所述全部数据包;或当在所述一个或多个路由节点中未查找到所述首个数据包时,控制所述接收器接收所述内容服务器返回的所述数据包集合中的全部数据包。
具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图14仅仅示出了用户终端的简化设计。在实际应用中,其还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器、通信单元等,而所有可以实现本申请的用户终端都在本申请的保护范围之内。
本申请实施例还提供一种路由节点,该路由节点可以是上述通信系统中的路由节点,该路由节点可以采用图14所示的硬件架构。该路由节点可以包括接收器、发射器、处理器和存储器,所述接收器、发射器、处理器和存储器通过总线相互连接。图12中的接收单元21所实现的相关功能可以由接收器来实现;图12中的查找单元22和修改单元24所实现的相关功能可以由一个或多个处理器实现;图12中的发送单元23所实现的相关功能可以由发射器来实现。
存储器包括但不限于是RAM、ROM、EPROM或CD-ROM。存储器用于存储路由节点的程序代码和数据。
发射器用于发送数据和/或信号,以及接收器用于接收数据和/或信号。发射器和接收器可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个CPU,在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储终端设备的程序代码和数据。
所述处理器用于调用所述存储器中存储的程序代码,执行以下操作:控制所述接收器接收内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合;当查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,控制所述发射器发送查找到的所述首个数据包或包括所述首个数据包的多个连续的数据包;当还存在所述数据包集合中未查找到的一个或多个数据包时,修改所述内容请求报文,修改后的所述内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址;以及控制所述发射器发送所述修改后的内容请求报文。
在一种实现方式中,还用于控制所述发射器向所述内容服务器发送数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
还用于若查找到所述数据包集合的最后一个数据包,则控制所述发射器向所述内容服务器发送服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
在另一种实现方式中,还用于当未查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,控制所述发射器转发所述内容获取请求报文至下一个路由节点或内容服务器。
在又一种实现方式中,还用于控制所述接收器接收内容服务器发送的一个或多个数据包;
还用于根据策略缓存所述一个或多个数据包;
以及还用于为所述一个或多个数据包分配标识,以及为所述一个或多个数据包的下一个数据包分配标识。
具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图14仅仅示出了路由节点的简化设计。在实际应用中,其还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器、通信单元等,而所有可以实现本申请的路由节点都在本申请的保护范围之内。
本申请实施例还提供一种内容服务器,该内容服务器可以是上述通信系统中的内容服务器,该内容服务器可以采用图14所示的硬件架构。该内容服务器可以包括接收器、发射器、处理器和存储器,所述接收器、发射器、处理器和存储器通过总线相互连接。图13中的接收单元31所实现的相关功能可以由接收器来实现;图13中的查找单元32所实现的相关功能可以由一个或多个处理器实现;图13中的发送单元33所实现的相关功能可以由发射器来实现。
存储器包括但不限于是RAM、ROM、EPROM或CD-ROM。存储器用于存储内容服务器的程序代码和数据。
发射器用于发送数据和/或信号,以及接收器用于接收数据和/或信号。发射器和接收器可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个CPU,在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储终端设备的程序代码和数据。
所述处理器用于调用所述存储器中存储的程序代码,执行以下操作:当在一个或多个路由节点中查找到数据包集合中的部分数据包时,控制所述接收器接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址;查找所述剩余的一个或多个数据包,并控制所述发射器发送所述剩余的一个或多个数据包;或当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,控制所述接收器接收最后一级路由节点发送的内容请求报文,所述内容请求报文包括所述数据包集合的首个数据包的标识和最后一个数据包的标识以及内容服务器的地址;查找所述数据包集合;控制所述发射器发送所述数据包集合中的全部数据包。
在一种实现方式中,还用于当在一个或多个路由节点中查找到数据包集合中的部分数据包时,控制所述接收器接收所述一个或多个路由节点发送的数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
还用于当查找到所述数据包集合的最后一个数据包时,控制所述接收器接收查找到所述数据包集合的最后一个数据包的路由节点发送的服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图14仅仅示出了内容服务器的简化设计。在实际应用中,其还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器、通信单元等,而所有可以实现本申请的内容服务器都在本申请的保护范围之内。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
Claims (20)
1.一种内容获取方法,其特征在于,包括:
发送内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;
当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,接收所述一个或多个路由节点返回的所述部分数据包;以及接收所述内容服务器返回的所述数据包集合中的剩余数据包;或
当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,接收所述一个或多个路由器返回的所述全部数据包;或
当在所述一个或多个路由节点中未查找到所述首个数据包时,接收所述内容服务器返回的所述数据包集合中的全部数据包。
2.如权利要求1所述的方法,其特征在于,所述内容请求报文还包括报文类型参数,所述报文类型参数用于指示报文类型。
3.如权利要求1或2所述的方法,其特征在于,所述数据包的标识为内容服务器对所请求内容划分后的数据包的标识;或
所述数据包的标识包括内容服务器对所请求内容划分后的数据包的标识、以及内容服务器的地址;或
所述数据包的标识包括内容服务器的地址、以及内容服务器的IP序列号。
4.一种内容获取方法,其特征在于,包括:
接收内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;
根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合;
当查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,发送查找到的所述首个数据包或包括所述首个数据包的多个连续的数据包;
当还存在所述数据包集合中未查找到的一个或多个数据包时,修改所述内容请求报文,修改后的所述内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址;
发送所述修改后的内容请求报文。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
向所述内容服务器发送数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
当查找到所述数据包集合的最后一个数据包时,则向所述内容服务器发送服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
6.如权利要求4或5所述的方法,其特征在于,所述数据包的标识为内容服务器对所请求内容划分后的数据包的标识;或
所述数据包的标识包括内容服务器对所请求内容划分后的数据包的标识、以及内容服务器的地址;或
所述数据包的标识包括内容服务器的地址、以及内容服务器的IP序列号。
7.如权利要求4~6任一项所述的方法,其特征在于,还包括:
当未查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,转发所述内容获取请求报文至下一个路由节点或内容服务器。
8.如权利要求4~7任一项所述的方法,其特征在于,还包括:
接收内容服务器发送的一个或多个数据包;
根据策略缓存所述一个或多个数据包;
为所述一个或多个数据包分配标识,以及为所述一个或多个数据包的下一个数据包分配标识。
9.一种内容获取方法,其特征在于,包括:
当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址;查找所述剩余的一个或多个数据包,并发送所述剩余的一个或多个数据包;或
当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,接收最后一级路由节点发送的内容请求报文,所述内容请求报文包括所述数据包集合的首个数据包的标识和最后一个数据包的标识以及内容服务器的地址;查找所述数据包集合,并发送所述数据包集合中的全部数据包。
10.如权利要求9所述的方法,其特征在于,还包括:
当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收所述一个或多个路由节点发送的数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
当查找到所述数据包集合的最后一个数据包时,接收查找到所述数据包集合的最后一个数据包的路由节点发送的服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
11.一种用户终端,其特征在于,包括:
发送单元,用于发送内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;
接收单元,用于当在一个或多个路由节点中查找到所述数据包集合中的部分数据包时,接收所述一个或多个路由节点返回的所述部分数据包;以及接收所述内容服务器返回的所述数据包集合中的剩余数据包;或
所述接收单元,还用于当在一个或多个路由节点中查找到所述数据包集合中的全部数据包时,接收所述一个或多个路由器返回的所述全部数据包;或
所述接收单元,还用于当在所述一个或多个路由节点中未查找到所述首个数据包时,接收所述内容服务器返回的所述数据包集合中的全部数据包。
12.如权利要求11所述的用户终端,其特征在于,所述内容请求报文还包括报文类型参数,所述报文类型参数用于指示报文类型。
13.如权利要求11或12所述的用户终端,其特征在于,所述数据包的标识为内容服务器对所请求内容划分后的数据包的标识;或
所述数据包的标识包括内容服务器对所请求内容划分后的数据包的标识、以及内容服务器的地址;或
所述数据包的标识包括内容服务器的地址、以及内容服务器的IP序列号。
14.一种路由节点,其特征在于,包括:
接收单元,用于接收内容请求报文,所述内容请求报文用于请求一个数据包集合中的内容,所述内容请求报文包括以下参数:所述数据包集合中的首个数据包的标识和最后一个数据包的标识、以及内容服务器的地址;
查找单元,用于根据所述数据包集合中的首个数据包的标识和/或最后一个数据包的标识,查找所述数据包集合;
发送单元,用于当查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,发送查找到的所述首个数据包或包括所述首个数据包的多个连续的数据包;
修改单元,用于当还存在所述数据包集合中未查找到的一个或多个数据包时,修改所述内容请求报文,修改后的所述内容请求报文包括以下参数:所述数据包集合中未查找到的一个或多个数据包中的首个数据包的标识和所述最后一个数据包的标识、以及内容服务器的地址;
所述发送单元,还用于发送所述修改后的内容请求报文。
15.如权利要求14所述的路由节点,其特征在于:
所述发送单元,还用于向所述内容服务器发送数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
所述发送单元,还用于当查找到所述数据包集合的最后一个数据包时,则向所述内容服务器发送服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
16.如权利要求14或15所述的路由节点,其特征在于,所述数据包的标识为内容服务器对所请求内容划分后的数据包的标识;或
所述数据包的标识包括内容服务器对所请求内容划分后的数据包的标识、以及内容服务器的地址;或
所述数据包的标识包括内容服务器的地址、以及内容服务器的IP序列号。
17.如权利要求14~16任一项所述的路由节点,其特征在于:
所述发送单元,还用于当未查找到所述首个数据包或包括所述首个数据包的多个连续的数据包时,转发所述内容获取请求报文至下一个路由节点或内容服务器。
18.如权利要求14~17任一项所述的路由节点,其特征在于:
所述接收单元,还用于接收内容服务器发送的一个或多个数据包;
还包括:
缓存单元,用于根据策略缓存所述一个或多个数据包;
分配单元,用于为所述一个或多个数据包分配标识,以及为所述一个或多个数据包的下一个数据包分配标识。
19.一种内容服务器,其特征在于,包括:
接收单元,用于当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收最后一级路由节点发送的修改后的内容请求报文,所述修改后的内容请求报文包括所述数据包集合中的剩余的未查找到的一个或多个数据包中的首个数据包的标识和/或最后一个数据包的标识、以及内容服务器的地址;
查找单元,用于查找所述剩余的一个或多个数据包;
发送单元,用于发送所述剩余的一个或多个数据包;或
所述接收单元,还用于当在一个或多个路由节点中未查找到数据包集合中的首个数据包时,接收最后一级路由节点发送的内容请求报文,所述内容请求报文包括所述数据包集合的首个数据包的标识和最后一个数据包的标识以及内容服务器的地址;
所述查找单元,还用于查找所述数据包集合;
所述发送单元,还用于发送所述数据包集合中的全部数据包。
20.如权利要求19所述的内容服务器,其特征在于:
所述接收单元,还用于当在一个或多个路由节点中查找到数据包集合中的部分数据包时,接收所述一个或多个路由节点发送的数据包匹配通知,所述数据包匹配通知用于向所述内容服务器通知已查找到的一个或多个数据包;或
所述接收单元还用于当查找到所述数据包集合的最后一个数据包时,接收查找到所述数据包集合的最后一个数据包的路由节点发送的服务完成通知,所述服务完成通知用于向所述内容服务器通知查找所述数据包集合的服务已完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810801742.2A CN110807160A (zh) | 2018-07-20 | 2018-07-20 | 内容获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810801742.2A CN110807160A (zh) | 2018-07-20 | 2018-07-20 | 内容获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110807160A true CN110807160A (zh) | 2020-02-18 |
Family
ID=69486678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810801742.2A Pending CN110807160A (zh) | 2018-07-20 | 2018-07-20 | 内容获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807160A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023049A (zh) * | 2014-05-16 | 2014-09-03 | 中国科学院计算技术研究所 | 一种将http服务映射到信息中心网络的方法及系统 |
CN104756465A (zh) * | 2013-10-10 | 2015-07-01 | 华为技术有限公司 | 一种路由方法、设备及系统 |
CN106130912A (zh) * | 2016-08-26 | 2016-11-16 | 中国科学技术大学 | 一种路由节点及路由方法 |
CN106331117A (zh) * | 2016-08-26 | 2017-01-11 | 中国科学技术大学 | 一种数据传输方法 |
WO2017024542A1 (zh) * | 2015-08-12 | 2017-02-16 | 华为技术有限公司 | 一种数据传输的方法、设备及系统 |
CN107404438A (zh) * | 2016-05-20 | 2017-11-28 | 北京大学 | 网络路由方法和网络路由系统 |
CN108063717A (zh) * | 2013-05-31 | 2018-05-22 | 华为技术有限公司 | 信息为中心网络icn中转发报文的方法、装置及系统 |
-
2018
- 2018-07-20 CN CN201810801742.2A patent/CN110807160A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063717A (zh) * | 2013-05-31 | 2018-05-22 | 华为技术有限公司 | 信息为中心网络icn中转发报文的方法、装置及系统 |
CN104756465A (zh) * | 2013-10-10 | 2015-07-01 | 华为技术有限公司 | 一种路由方法、设备及系统 |
CN104023049A (zh) * | 2014-05-16 | 2014-09-03 | 中国科学院计算技术研究所 | 一种将http服务映射到信息中心网络的方法及系统 |
WO2017024542A1 (zh) * | 2015-08-12 | 2017-02-16 | 华为技术有限公司 | 一种数据传输的方法、设备及系统 |
CN107404438A (zh) * | 2016-05-20 | 2017-11-28 | 北京大学 | 网络路由方法和网络路由系统 |
CN106130912A (zh) * | 2016-08-26 | 2016-11-16 | 中国科学技术大学 | 一种路由节点及路由方法 |
CN106331117A (zh) * | 2016-08-26 | 2017-01-11 | 中国科学技术大学 | 一种数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721311B (zh) | 一种用于更新链路状态信息的方法及系统 | |
US20220070095A1 (en) | Data transmission method and apparatus, network adapter, and storage medium | |
KR101978173B1 (ko) | 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 데이터 패킷을 전송하는 방법 및 그 컨텐츠 제공자 | |
EP3151517B1 (en) | System and method for stateless information-centric networking | |
KR102033999B1 (ko) | 컨텐트 중심 네트워크에서의 통신 방법 및 장치 | |
EP3148128A1 (en) | Information-centric networking with small multi-path or single-path forwarding state | |
US10164910B2 (en) | Method and apparatus for an information-centric MAC layer | |
KR100811890B1 (ko) | 인터넷 시스템에서 서비스 플로우를 보장하는 애니캐스트라우팅 방법 및 장치 | |
US10484271B2 (en) | Data universal forwarding plane for information exchange | |
CN107580079B (zh) | 一种报文传输方法和装置 | |
KR20140144579A (ko) | 컨텐츠 중심 네트워크에서 컨텐츠를 엿듣는 노드의 통신 방법 및 그 노드 | |
US9401864B2 (en) | Express header for packets with hierarchically structured variable-length identifiers | |
US20160210366A1 (en) | Method and apparatus for providing media resource | |
WO2015180184A1 (zh) | 一种传输数据的方法、装置及系统 | |
US9350606B2 (en) | System and method for assigning server to terminal and efficiently delivering messages to the terminal | |
CN111953806A (zh) | 一种链路选择方法、装置、计算机设备及计算机存储介质 | |
EP3389240A1 (en) | Method and system for processing cache cluster service | |
US20150074234A1 (en) | Content system and method for chunk-based content delivery | |
US9781038B2 (en) | Packet routing and forwarding in information centric networking | |
US11184460B2 (en) | Server device and transfer device for content distribution system | |
KR101205387B1 (ko) | 리소스를 전달하기 위한 방법, 네트워크 엔터티 및 네트워크 시스템 | |
US20220166708A1 (en) | Method and apparatus for selecting packet path to support producer mobility in information-centric networking | |
CN110807160A (zh) | 内容获取方法及装置 | |
US20180367452A1 (en) | Information centric networking over multi-access network interfaces | |
CN113169936B (zh) | 用于数据流处理的服务链机制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |