CN113098973A - 包级别网内数据传输方法、系统、存储介质及终端设备 - Google Patents
包级别网内数据传输方法、系统、存储介质及终端设备 Download PDFInfo
- Publication number
- CN113098973A CN113098973A CN202110395708.1A CN202110395708A CN113098973A CN 113098973 A CN113098973 A CN 113098973A CN 202110395708 A CN202110395708 A CN 202110395708A CN 113098973 A CN113098973 A CN 113098973A
- Authority
- CN
- China
- Prior art keywords
- data
- network side
- request data
- data packet
- cache
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种包级别网内数据传输方法、系统、存储介质及终端设备,所述方法包括当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,并将所述第一数据包发送至网络侧,以使得基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。本申请当需要发送数据时,源端可以根据确定是否需要将请求数据缓存于网络侧缓存,这样可以消除网络中的冗余流量,提升网络传输效率。同时,为CDN和ISP提供了新的传输机制,能够促进CDN和ISP的合作,降低网络成本实现CDN和ISP双方共赢。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种包级别网内数据传输方法、系统、存储介质及终端设备。
背景技术
随着信息时代的高速发展,网络流量不断增加,这使得ISP(网络服务提供商)所获取的流量收入已成为其主要收入来。然而,目前网络中大部分流量都由CDN内容分发网络承载,CDN(内容分发网络)运营商为了降低自身成本而进行流量优化调度,使得使ISP所做的流量工程失效,从而造成CDN与ISP的合作性差,从而增加网络传输成本。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种包级别网内数据传输方法、系统、存储介质及终端设备。
为了解决上述技术问题,本申请实施例第一方面提供了一种包级别网内数据传输方法,所述方法包括:
当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包;
将所述第一数据包发送至网络侧,以使得网络侧基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。
所述的包级别网内数据传输方法,其中,所述预设条件包括流行度阈值;所述当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包具体包括:
获取所述请求数据对应的流行度;
当所述流行度大于预设流行度阈值时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包。
所述的包级别网内数据传输方法,其中,所述方法还包括:
当所述流行度小于或者等于预设流行度阈值时,基于所述请求数据生成第二数据包;
将所述第二数据包发送至网络侧,以使得网络侧发送所述第二数据包。
所述的包级别网内数据传输方法,其中,所述方法还包括:
当接收到用于请求所述请求数据的用户请求时,检测所述请求数据是否存储于网络侧缓存内;
当所述请求数据未存储于网络侧缓存时,检测所述请求数据是否满足所述预设条件。
所述的包级别网内数据传输方法,其中,所述方法还包括:
当所述请求数据存储于网络侧缓存时,获取所述请求数据对应的缓存信息,并基于所述缓存信息生成第三数据包;
将所述第三数据包发送至网络侧,以使得网络侧将所述缓存信息对应的请求数据添加到所述第三数据包,并发送添加后的第三数据包。
所述的包级别网内数据传输方法,其中,所述将所述第三数据包发送至网络侧,以使得网络侧将所述缓存信息对应的请求数据添加到所述第三数据包,并发送添加后的第三数据包具体包括:
将所述第三数据包发送至网络侧,使得网络侧基于所述缓存信息确定所述请求数据对应的存储地址,基于所述存储地址从网络侧缓存中读取所述请求数据,将所述请求数据添加到所述第三数据包,并发送添加后的第三数据包。
所述的包级别网内数据传输方法,其中,所述将所述第一数据包发送至网络侧,以使得网络侧基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包具体为:
将所述第一数据包发送至网络侧,使得所述网络侧基于所述缓存信息确定所述请求数据对应的存储地址,将所述请求数据存储于所述存储地址,并发送所述第一数据包。
所述的包级别网内数据传输方法,其中,所述方法还包括:
当接收到请求数据对应的用户请求时,更新所述请求数据对应的流行度。
所述的包级别网内数据传输方法,其中,所述缓存信息至少包括存储块索引,所述存储块索引用于确定所述请求数据在网络侧的存储地址。
所述的包级别网内数据传输方法,其中,所述缓存信息还包括行动标识,以使得网络侧基于所述行动标识执行该行动标识对应的操作,其中,当数据包仅包括缓存信息时,所述缓存信息中的行动标识为恢复标识,恢复标识对应的操作为将请求数据添加到数据包;当所述数据包括缓存信息以及请求数据时,所述缓存信息中的行动标识为缓存标识,缓存标识对应的操作为将请求数据缓存于网络侧缓存。
本申请实施例第二方面提供了一种包级别网内数据传输系统,其包括源端和网络侧,所述源端用于当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,并将所述第一数据包发送至网络侧;所述网络侧用于基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。
本申请实施例第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的包级别网内数据传输方法中的步骤。
本申请实施例第二方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的包级别网内数据传输方法中的步骤。
有益效果:与现有技术相比,本申请提供了一种包级别网内数据传输方法、系统、存储介质及终端设备,所述方法包括当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,并将所述第一数据包发送至网络侧,以使得基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。本申请当需要发送数据时,源端可以根据确定是否需要将请求数据缓存于网络侧缓存,这样可以消除网络中的冗余流量,提升网络传输效率。同时,为CDN和ISP提供了新的传输机制,能够促进CDN和ISP的合作,降低网络成本实现CDN和ISP双方共赢。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为源端和网络侧所构成的框架的原理图。
图2为本申请提供的包级别网内数据传输方法的流程图。
图3为本申请提供的包级别网内数据传输方法中的数据包的格式的示意图。
图4为本申请提供的包级别网内数据传输方法中的数据传输中存储块索引的状态图。
图5为本申请提供的包级别网内数据传输方法中的数据传输中数据包丢失的示意图。
图6为本申请提供的包级别网内数据传输方法中的数据传输中数据包丢失后的错误恢复数据的示意图。
图7为本申请提供的包级别网内数据传输方法中的数据传输中的恢复失败请求触发重传数据的示意图。
图8为本申请提供的包级别网内数据传输方法中的数据传输中请求数据缓存失败的示意图。
图9为本申请提供的包级别网内数据传输方法中的数据传输中源端数据包重传的示意图。
图10为本申请提供的包级别网内数据传输方法中的数据传输中恢复错误数据的示意图。
图11为本申请提供的包级别网内数据传输方法中的网络侧确定存储地址的流程示意图。
图12为源端工作过程的示意图。
图13为网络侧工作过程的示意图。
图14为本申请提供的包级别网内数据传输系统的示意图。
图15为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种包级别网内数据传输方法、系统、存储介质及终端设备,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,随着信息时代的高速发展,网络流量不断增加,这使得ISP(网络服务提供商)所获取的流量收入已成为其主要收入来。然而,目前网络中大部分流量都由CDN内容分发网络承载,CDN(内容分发网络)运营商为了降低自身成本而进行流量优化调度,使得使ISP所做的流量工程失效,从而造成CDN与ISP的合作性差,从而增加网络传输成本。
为了解决上述问题,在本申请实施例中,当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,并将所述第一数据包发送至网络侧,以使得基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。本申请当需要发送数据时,源端可以根据确定是否需要将请求数据缓存于网络侧缓存,这样可以消除网络中的冗余流量,提升网络传输效率。同时,为CDN和ISP提供了新的传输机制,能够促进CDN和ISP的合作,降低网络成本实现CDN和ISP双方共赢。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种包级别网内数据传输方法,包级别网络内数据传输方法可以应用于源端和网络侧所构成的框架,如图1所示,该框架包括若干源端和网络侧,源端CACP(Cache Aware Content Provider)为具有缓存感知能力的内容提供商服务器;网络侧可以为具有缓存能力网络节点CSP(Cache Service Provider),网络节点可以为网络服务提供商ISP(Internet Service Provider)提供。
源端向网络侧发送数据包,网络侧将源端发送的数据包转发给用户端,其中,源端向网络侧发送的数据包分为三种类型,分别为传统数据包(即第二数据包)、data数据包(即第一数据包)以及ID数据包(即第三数据包),传统数据包包括数据包首部和数据包载荷,data数据包中包括数据包首部、缓存信息以及数据包载荷,ID数据包包括数据包首部和缓存信息。所述缓存信息包括存储块索引,所述存储块索引用于确定所述请求数据在网络侧的存储地址,这样网络侧在获取到缓存信息时,可以基于存储块索引确定请求数据对应的存储地址,可以通过将请求数据存储于该存储地址,或者从该存储地址中读取请求数据。
在本实施例的一个实现方式中,所述缓存信息还包括行动标识,以使得网络侧基于所述行动标识执行该行动标识对应的操作,其中,所述行动标识包括恢复标识和缓存标识,所述操作包括将请求数据添加到数据包和将请求数据缓存于网络侧缓存,恢复标识对应的操作为请求数据添加到数据包,缓存标识对应的操作为将请求数据缓存于网络侧缓存。由此,当数据包仅包括缓存信息时,数据包为ID数据包,需要从网络侧缓存内读取请求数据,从而ID数据包中的缓存信息中的行动标识为恢复标识,以使得网络侧基于所述恢复标识将请求数据添加到数据包;当所述数据包中包括缓存信息以及待请求数据时,数据包为data数据包,需要将数据包中的请求数据缓存于网络侧缓存,从而data数据包中的所述缓存信息中的行动标识为缓存标识,以使得网络侧基于所述缓存标识将请求数据缓存于网络侧缓存。
基于此,网络侧在接收到数据包之后,可以基于数据包中是否携带缓存信息以及缓存信息中的行动标识确定数据包类型,并基于数据包类型确定相应的操作,其中,所述网络侧的操作可以包括直接转发数据包,将请求数据缓存于网络侧缓存并转发数据包,以及将请求数据添加到数据包后发送添加后的数据包。例如,网络侧包括Forward(P)操作、Cache(P)操作以及Restore(P)操作,其中,Forward(P)操作为传统网络设备功能,即按请求数据对应的目的地址转发数据包P;Cache(P)操作为读取data数据包中的<缓存信息,请求数据>,将请求数据存储到网络侧缓存中,并按请求数据对应的目的地址转发去除缓存信息的data数据包P;Restore(P)的操作为从网络侧缓存中读取请求数据,将请求数据添加至ID数据包后,并按请求数据对应的目的地址转发去除缓存信息以及添加请求数据的ID数据包。
由此可知,本实施例中的网络侧不再仅仅充当转发流量的管道,而为流量源端提供了数据包缓存与恢复能力,这样当需要发送请求数据时,源端根据自身需求决定是否缓存数据包,若需要缓存请求数据则在数据包中插入缓存信息构成Data数据包,通过Data数据包中的缓存信息指示网络侧进行缓存(Cache操作);当再次发送相同数据时,源端只需发送仅携带有缓存信息的ID数据包,控制网络侧将请求数据恢复出来(Restore操作),即由网络侧完成Data包的构建,然后发送给用户端。这样首先可以消除网络中的冗余流量,提升网络传输效率;其次,由于是网络功能下沉部署、靠近用户,可以降低公网网络抖动对用户体验造成的不良影响;并且为诸如CDN和ISP之类的厂商提供了新的传输机制,可以基于缓存成本和流量成本来调节需要缓存的请求数据,能够促进CDN和ISP的合作,降低网络成本实现CDN和ISP双方共赢。
在本实施例的一个实现方式中,如图2所示,所述方法包括:
S10、当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包;
具体地,源端与网络侧通讯,源端将需要网络侧转发的第一数据包发送给网络侧,网络侧将该第一数据包转发给用户端,其中,源端与网络侧可以通过TCP通信协议进行通讯,并且通过TCP通信协议进行通讯的数据包的格式可以如图3所示,其中,前20字节为TCP固有域,TCP选项域用于存储缓存信息,TCP选项域中的Kind域为TCP选项识别码(例如,252);len域为TCP选项所使用的长度,为8字节;Oc域用于存储行动标识,用于控制网络侧执行缓存或者恢复操作;rsv为保留域;pktnum域为执行恢复操作时网络侧所需要恢复的包数量;Blockindex域表示在网络侧所使用的块索引;offset域表示块内偏移量;其中,pktnum域、Blockindex域和offset域构成存储块索引,用于确定所述请求数据在网络侧的存储地址。
在本实施例的一个实现方式中,缓存信息基于源端对应的网络侧缓存确定,也就是说,源端基于网络侧缓存的被使用情况确定请求数据对应的存储块索引,并基于存储块索引以及控制网络侧执行的操作形成缓存信息,将存储信息以及请求数据添加到数据包内,以生存第一数据包。在一个具体实现方式中,源端可以存储有块状态记录,在确定存储块索引时,可以获取网络侧的块状态记录表,基于块状态记录表确定请求数据对应的存储块索引。例如,网络侧缓存256个存储单元,存储单元大小为1000字节,块状态记录表:<<1,[0,2]>,[1,3,4,5]>,此时对于请求数据大小为256*3*1000字节,,从块状态记录表中可用块索引中选取块索引,选取了[1,3,4],生成如下Data包可以为:
Data包1:oc=存储,blockindex=1,offset=0
Data包2:oc=存储,blockindex=1,offset=1
Data包3:oc=存储,blockindex=1,offset=2
….
Data包256:oc=存储,blockindex=1,offset=255
Data包257:oc=存储,blockindex=3,offset=0
Data包258:oc=存储,blockindex=3,offset=1
Data包259:oc=存储,blockindex=3,offset=2
…
Data包512:oc=存储,blockindex=3,offset=255
Data包513:oc=存储,blockindex=4,offset=0
Data包514:oc=存储,blockindex=4,offset=1
Data包515:oc=存储,blockindex=4,offset=2
….
Data包768:oc=存储,blockindex=4,offset=255。
在本实施例的一个实现方式中,请求数据是否需要被缓存于网络侧,源端可以根据自身信息确定是否需要将请求数据缓存于网络侧,其中,自身信息可以包括请求数据的历史信息、服务器负载以及网络侧缓存负载等。可以理解的是,源端可以预先根据自身信息确定需要被缓存的请求数据的预设条件,当接收到用于请求所述请求数据的用户请求时,可以基于所述预设条件确定该请求数据是否需要被缓存于网络侧,以便于确定该请求数据对应的第一数据包,换句话说,基于所述预设条件确定该第一数据包是否需要携带有缓存信息,当请求数据待被缓存于网络侧时,源端为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,以便于网络侧会基于所述缓存信息将第一数据包中的请求数据缓存于网络侧缓存内。
在本实施例的一个实现方式中,所述预设条件可以为请求数据的流行度阈值。相应的,所述预设条件包括流行度阈值;所述当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包具体包括:
获取所述请求数据对应的流行度;
当所述流行度大于预设流行度阈值时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包。
具体地,所述流行度用于反映请求数据的受欢迎程度,流行度越大说明请求数据的受欢迎程度越高,反之,流行度越小说明请求数据的受欢迎程度越低。所述流行度可以为请求数据的被请求次数,被请求次数越高说明请求数据的流行度越高,被请求次数越低说明请求数据的流行度越低。由此,在接收到用于请求所述请求数据的用户请求时,获取该请求数据对应的被请求次数,将该被请求次数作为请求数据对应的流行度。此外,流行度阈值可以为预先设置的,用于确定需要被缓存的请求数据,其可以基于源端的自身信息而确定,例如,10,15等。
在本实施例的一个实现方式中,所述请求数据的被请求次数可以存储在源端本地,并与所述请求数据相关联存储,并且源端在接收到用户请求时,会更新请求数据对应的被请求次数以更新请求数据对应的流行度。相应的,所述方法还包括:
当接收到请求数据对应的用户请求时,更新所述请求数据对应的流行度。
具体地,源端内存储有流行度记录表,流行度记录表内存储有若干数据组,若干数据组中的每个数据组均包括流行度以及请求数据标识,并且流行度记录表中存储有所有被请求过程的请求数据对应的流行度,当流行度记录表中未存储有请求数据对应的流行度,说明该请求数据未被请求过。由此,在接收到请求数据对应的用户请求时,会在流行度记录表中查找该请求数据对应的数据组,若未查找到数据组,则在流行度记录表中为该请求数据建立一数据组,将请求数据对应的请求数据标识添加到数据组,并将流行度设置为1;若查找到数据组,则将查找到的数据组中的流行度加1,以更新所述请求数据对应的流行度。本实施例这样通过流行度来确定是否需要将请求数据缓存于网络侧,可以使得源端对网络侧进行控制,使得网络侧缓存流行度高的请求数据,避免不常被使用的请求数据存储于网络侧,而造成网络侧的网络侧缓存资源,从而提高了网络侧缓存资源的利用率,同时通过将流行度高的请求数据缓存于网络侧,可以减少源端到网络侧的冗余流量,提供网络传输效率。
在本实施例的一个实现方式中,在将流行度与预设流行度阈值进行比较时,流行度可以小于或者等于预设流行度阈值。由此,所述方法还可以包括:
当所述流行度小于或者等于预设流行度阈值时,基于所述请求数据生成第二数据包;
将所述第二数据包发送至网络侧,以使得网络侧发送所述第二数据包。
具体地,当流行度小于或者等于预设流行度阈值时,说明不需要将请求数据缓存于网络侧缓存内,此时源库需要控制网络侧不存储该请求数据。其中,源端在控制网络侧不缓存请求数据时,控制请求数据对应的数据包中不携带缓存信息,网络侧在接收到数据包中为获取到缓存信息,则直接发送该数据包。基于此,当流行度小于或者等于预设流向度阈值时,可以基于该请求数据生成第二数据包,第二数据包中包括数据包首部和请求数据,网络侧在接收到第二数据包后,直接转发第二数据包。也就是说,在网络侧接收到第二数据包时,网络侧仅被作为一个转发装置,直接转发第二数据包,不对第二数据包进行缓存或者恢复操作。
在本实施例的一个实现方式中,由于当请求数据的流行度大于预设流行度阈值时,会控制网络侧缓存请求数据,从而网络侧的网络侧缓存中可能会存储有部分请求数据,那么在接收到请求数据对应的用户请求时,可以检测网络侧是否存储有该请求数据,或者是,在判定请求数据满足预设条件时,可以检测网络侧是否存储有该请求数据。基于此,所述方法还可以包括:
当接收到用于请求所述请求数据的用户请求时,检测所述请求数据是否存储于网络侧缓存内;
当所述请求数据未存储于网络侧缓存时,检测所述请求数据是否满足所述预设条件;
当所述请求数据存储于网络侧缓存时,获取所述请求数据对应的缓存信息,并基于所述缓存信息生成第三数据包;
将所述第三数据包发送至网络侧,以使得网络侧将所述缓存信息对应的请求数据添加到所述第三数据包,并发送添加后的第三数据包。
具体地,源端可以存储于缓存内容记录表,缓存内容记录表用于存储网络侧存储的请求数据信息,通过网络侧缓存信息可以确定网络侧已经存储的请求数据。从而,检测所述请求数据是否存储于网络侧缓存内具体可以为读取缓存内容记录表,在该缓存内容记录表中存储该请求数据,若查找到该请求数据,则所述请求数据存储于网络侧缓存,若未查找到请求数据,则请求数据未存储于网络侧缓存。
进一步,请求数据存储于网络侧缓存时,说明源端不需要将请求数据发送给网络侧,网络侧可以将网络侧缓存中的请求数据发给用户端,从而减少源端与网络侧之间的传输冗余,提高源端到网络侧的网络传输效率。此外,由于需要网络侧将网络侧缓存中的请求数据发给用户端,从而源端需要通过数据包控制网络侧查找该请求数据并将请求数据添加到数据包内,以使得用户端可以接受到携带有请求数据的数据包。
基于此,所述请求数据存储于网络侧缓存,源端会在其自身存储的缓存内容记录表中查找该请求数据对应的缓存信息,并基于缓存信息生成第三数据包,其中,第三数据包中携带有数据包首部以及缓存信息。网络侧在接收到第三数据包,会将所述缓存信息对应的请求数据添加到所述第三数据包,并发送添加后的第三数据包,其中,网络侧会基于缓存信息确定请求数据的存储地址,并从该存储地址读取所述请求数据,再将读取到的请求数据添加到第三数据包。
基于此,所述将所述第三数据包发送至网络侧,以使得网络侧将所述缓存信息对应的请求数据添加到所述第三数据包,并发送添加后的第三数据包具体包括:
将所述第三数据包发送至网络侧,使得网络侧基于所述缓存信息确定所述请求数据对应的存储地址,基于所述存储地址从网络侧缓存中读取所述请求数据,将所述请求数据添加到所述第三数据包,并发送添加后的第三数据包。
具体地,存储地址为网络侧用于存储请求数据的缓存地址,基于该存储地址可以在网络层缓存中读取请求数据。在读取到请求数据后可以将请求数据直接添加到第三数据包后,并发送添加后的第三数据包。当然,在实际应用中,在将请求数据添加到第三数据包后,可以将第三数据包中的缓存信息删除,以将第三数据包转换为第二数据包(即传统数据包),将第二数据包转发给用户端,这样可以在不改变用户端接收到的数据包格式的情况下,实现源端控制网络侧进行请求数据缓存的传输方式。
在本实施例的一个实现方式中,当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包之前,所述方法还包括:
源端向网络侧发送申请指令,以使得网络侧基于所述申请指令为所述源端分配若干存储块索引。
具体地,所述申请指令用于向网络侧申请缓存空间,网络侧基于所述申请指令确定源端对应的可用存储块索引和备用存储块索引。其中,申请指令可以包括申请空间大小,网络侧在获取到申请空间大小时,会基于申请空间大小确定源端对应的存储空间。此外,申请指令可以基于网络侧对应的存储模型确定申请指令所携带的信息,其中,当网络侧对应的存储模式为存储地址模式时,申请指令可以包括源端标识(例如,IP地址等)、申请信息(如,图3中的ins域标识申请指令)、申请空间大小(例如,按字节算);当网络侧对应的存储模式为分块模式时,申请指令可以包括源端标识(例如,IP地址等)、申请信息(如,图3中的ins域标识申请指令)、申请空间大小(例如,按字节算)、存储单元大小(例如,数据包长度)、存储块大小/存储块可存储单元数量等。
在本实施例的一个实现方式中,网络侧采用分块模式,所述申请指令可以包括源端标识(例如,IP地址等)、申请信息(如,图3中的ins域标识申请指令)、申请空间大小(例如,按字节算)、存储单元大小(例如,数据包长度)、存储块大小/存储块可存储单元数量,以便于网络侧基于申请指令确定源端对应的可用存储块索引和备用存储块索引。
基于此,所述申请指令包括申请空间大小;源端向网络侧发送申请指令,以使得网络侧基于所述申请指令为所述源端分配若干存储块索引具体包括:
源端向网络侧发送申请指令,以使得网络侧基于所述申请空间大小确定所述源端对应的若干存储块索引。
具体地,所述若干存储块索引包括部分可用存储块索引和部分备用存储块索引,其中,所述可用存储块索引和备用存储块索引均为网络侧预先为源端分配的,可用存储块索引对应有存储空间,备用存储块索引未对应有存储空间,并且可用存储块索引对应的存储空间为源端向网络侧申请的存储空间,以使得所述源端对应的网络侧缓存的存储空间为可用存储块索引对应的存储空间。由此,所述若干存储块索引所对应的存储空间大于所述源端申请的存储空间,并且在使用时仅使用源端申请的存储空间。
举例说明:源端向网络侧申请M个存储块,网络侧会向源端回复M+U个存储块索引,其中M表示可用存储块索引的数量,U表示备用存储块索引的数量,并在源端对应的源端缓存管理模块中创建用于存储M+U个存储块索引的块索引列表,并且网络侧不为备用存储块索引分配存储空间。又如,源端A向网络侧发出申请指令(携带源端识别标识,比如IP或者其他具有唯一性的标识)申请了1MB存储空间。网络侧收到申请指令后,提取源端标识,为源端A创建源端A缓存管理模块以及地址索引表(可用地址范围0x0000000000-0x0111111111,以字节为单位编址)。当源端A需要使用缓存空间时,就直接指定所使用的地址,比如0x0000000001。
在本实施例的一个实现方式中,所述网络侧可以对应若干源端,每个源端均可以向网络侧发送申请指令,网络侧基于各源端各自对应的申请指令为各源端分配存储块索引,其中,若干源端中的部分源端对应的索引号相同。这是由于各源端各自对应给的存储块索引为单独管理,当源端向网络侧发送用于申请空间的申请指令时,网络侧中的网络侧访问控制器会为源端创建一个源端缓存管理模块以及块索引列表,然后源端的请求都会由网络侧访问控制器转发给源端缓存管理模块处理,从而即使不同的源端使用相同的存储块索引也不会生冲突,从而可以避免源端之间的请求数据冲突。
举例说明:源端A向网络侧发出申请指令(携带源端识别标识,比如IP或者其他具有唯一性的标识)申请了1个存储块,即源端A只能使用一个存储块;网络侧收到申请指令后,提取源端标识,为源端A创建源端A缓存管理模块以及块索引列表,存储块索引从0开始,故块索引列表包含0、1索引,并将存储块索引范围(0-1)返回给源端A。此时两个块索引指向空,即均不指向实际存储块。当源端A需要使用缓存空间时,即可通过将指定为0或1来使用缓存空间。当源端B向同一个网络侧申请2个存储块时,同理,网络侧为源端B创建源端B缓存管理模块以及块索引列表,可用索引范围为0-3。因为网络侧通过源端标识做了区分管理,所以源端A和源端B的重叠索引是不冲突的,比如0号和1号索引。
在本实施例的一个实现方式中,当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包具体包括:
当请求数据满足预设条件时,源端检测其对应的可用存储块索引是否均被使用;
当源端对应的可用存储块索引均被使用时,源端在其对应的备用存储块索引中选取目标存储块索引;
向网络侧发送所述目标存储块索引以及所述请求数据,以使得网络侧基于所述目标存储块索引缓存所述请求数据。
具体地,源端对应的可用存储块索引均被使用指的是源端对应的可用存储块索引均对应有请求数据,换句话说,源端向网络侧申请的存储空间已被使用完毕。那么,源端再控制网络侧存储其发送的请求数据时,源端会在备用存储块索引中选取目标存储块索引,以告知网络侧该请求数据将存储对应的目标存储块索引,这样通过采用在其对应的备用存储块索引中选取目标存储块索引可以避免后续基于存储块索引读取请求数据时出现请求数据读取错误的问题。
举例说明:假设源端向网络侧申请100个存储块,网络侧向源端回复可用块索引范围为0-110,源端可使用该块索引范围内的任意100个索引;如图4所示,i号块索引对应的存储块上存储有请求数据C1,j号块索引所保存的指针为空。在某时刻,i号块索引的块指针指向一块存储块A,该存储块被请求数据C1占用,然后请求数据C2需要将请求数据C1替换掉,其中,源端发送Data包,携带释放i号存储块以及指定请求数据C2的存储块A的存储块索引为j。然而,如图5所示,在data数据包在发送给网络侧过程中发生丢包,那么在请求数据C2被再次请求时,源端由于已经发送过请求数据C2的data数据包,认为请求数据C2已被缓存,于是发送仅携带有缓存信息的ID数据包,携带恢复内容C2的指令;如图6所示,网络侧收到ID数据包之后,找到j号块索引,发现其未被实际分配存储空间,进而恢复失败,引起源端重传数据。但是,若请求数据C2是复用i号存储块,如图7所示,会将会i号存储块中的请求数据发给用户端,出现数据恢复错误现象。
此外,所述可用存储块索引可以为若干存储块索引中任意预设数量的存储块索引,其中,预设数量为源端向网络侧申请的申请存储块索引的数量。例如,源端A向网络侧发出申请指令(携带源端识别标识,比如IP或者其他具有唯一性的标识)申请了1个存储块,即源端A只能使用一个存储块;网络侧收到申请指令后,提取源端标识,为源端A创建源端A缓存管理模块以及块索引列表,存储块索引从0开始,故块索引列表包含0、1索引,并将存储块索引范围(0-1)返回给源端A。此时两个块索引指向空,即均不指向实际存储块。当源端A需要使用缓存空间时,即可通过将指定为0或1来使用缓存空间
在本实施例的一个实现方式中,当源端对应的可用存储块索引中存在未被使用的参考存储块索引时,源端在其对应的可用存储块索引中选取目标存储块索引。可以理解的是,当源端对应的可用存储块索引中存在未被使用的参考存储块索引时,说明源端被分配的具有对应存储空间的存储块索引未被使用完,此时可以直接从可用存储块索引中存在未被使用的参考存储块索引,将选取到参考存储块索引作为目标存储块索引。
所述目标存储块索引和所述请求数据可以以数据包的形式发送给网络侧,并且数据包中携带有源端的源端标识等,网络侧在接收到数据包后,会确定请求数据对应的存储空间,并将请求数据缓存于该存储空间。然而,由于源端所申请的存储空间已经使用完毕,从而在将请求数据存储于网络侧时,需要释放源端的可用存储块索引对应的存储空间,并将该目标存储块索引的指针指向该存储空间,以将所述请求数据缓存于该存储空间。
基于此,在本实施例的一个实现方式中,所述方法还包括:
当源端在其对应的备用存储块索引中选取目标存储块索引时,源端在其对应的可用存储块索引中选取候选存储块索引,并控制网络侧释放所述候选存储块索引。
具体地,所述候选存储块索引可以为源端对应的可用存储块索引中任一可用存储块索引,也可以是源端中最低流行度的请求数据对应的可用存储块索引,也可以是被使用时间距离当前时间最长的请求数据对应的可用存储块索引等。所述侧释放所述候选存储块索引指的是将所述候选存储块索引对应的存储空间的请求数据删除,并将候选存储块索引的指针指向空,这样所述目标存储块索引的指针可以执行该被释放出来的存储空间,从而可以将接收到请求数据缓存于该存储空间。在本实施例的一个具体实现方式中,用于控制网络侧释放所述候选存储块索引的释放指令可以包含于携带有目标存储块索引和所述请求数据的数据包内,以使得网络侧在接收到目标存储块索引和所述请求数据的数据包时,可以快速确定目标存储块索引对应的存储空间,并将请求数据缓存于该缓存空间,从而可以提高数据缓存的效率。
此外,在获取到释放指令和请求数据时,可以分别为释放指令和请求数据的缓存操作建立独立服务线程,通过各自独立线程独立进行释放操作和缓存操作,这样在缓存操作失败时,释放操作会由另一个独立服务线程进行异步的清空处理,保证网络侧不会因为释放操作而存在性能突降的现象。
在本实施例的一个实现方式中,所述向网络侧发送包括所述目标存储块索引以及所述请求数据的数据包,以使得网络侧基于所述目标存储块索引缓存所述请求数据之后,所述方法还包括:
源端接收网络侧发送的反馈信息,其中,所述反馈信息包括有网络侧缓存所述请求数据的缓存结果。
具体地,所述缓存结果用于反映所述请求数据是否成功,并且当携带有目标存储块索引和所述请求数据的数据包内携带有释放指令时,所述缓存结果中可以包括释放结果,以使得源端可以快速确定请求数据的缓存结果。此外,网络侧也可以在存储块索引中添加标识信息,通过标识信息来标识存储块索引中的请求数据的有效性,以使得在需要读取请求数据是可以快速确定请求数据的有效性。例如,采用0作为无效标识信息,1作为有效标识信息等。
举例说明:假设源端向网络侧申请100个存储块,网络侧向源端回复可用块索引范围为0-110,源端可使用该块索引范围内的任意100个索引;i号块索引对应的存储块上存储有请求数据C1,j号块索引所保存的指针为空。网络侧收到该Data数据包后,释放i号存储块,并为j号块索引分配存储块。但是,如图8所示,网络侧在缓存Data数据包所携带的请求数据C2时缓存失败,另外,当请求数据C2被再次请求时,源端由于已经发送过请求数据C2的data数据包,认为请求数据C2已被缓存,于是发送仅携带有缓存信息的ID数据包,携带恢复内容C2的指令,网络侧收到ID数据包之后,如图9所示,找到j号块索引的标识信息为0,说明j号块索引内无有效数据,恢复缓存失败数据包,触发源端重传数据。然而,如图10所示,如果没有该标志位,则网络侧缓存会认为j号存储块中的数据可用,导致恢复出现错误,然后将携带错误内容的数据包发送给用户。
在本实施例的一个实现方式中,所述向网络侧发送所述目标存储块索引以及所述请求数据,以使得网络侧基于所述目标存储块索引缓存所述请求数据具体包括:
向网络侧发送所述目标存储块索引以及所述请求数据,以使得网络侧基于所述存储块索引以及所述源端的源端标识确定所述请求数据对应的存储地址,并将所述请求数据缓存于所述存储地址。
具体地,所述源端标识为源端对应的唯一标识,基于源端标识以及目标存储块索引可以确定源端对应的存储空间,这样即使若干源端中的部分源端对应的索引号相同,也会避免源端之间的请求数据冲突。这是由于各源端各自对应给的存储块索引为单独管理,当源端向网络侧发送用于申请空间的申请指令时,网络侧中的网络侧访问控制器会为源端创建一个源端缓存管理模块以及块索引列表,然后源端的请求都会由网络侧访问控制器转发给源端缓存管理模块处理,从而即使不同的源端使用相同的存储块索引也不会生冲突,从而可以避免源端之间的请求数据冲突。
在本实施例的一个实现方式中,如图11所示,网络侧在接收到源端发送的携带有存储块索引的数据包后,会从数据包中缓存信息,其中,缓存信息包括源端IP(srcip)、存储块索引(blockindex)以及偏移量(offset),并通过源端IP找到为对应源端分配块索引数组,索引数组中存储指向实际内存块的指针;然后通过块索引从数组中找到指向内存块的指针,通过该指针寻址到实际的内存块;最后通过偏移量找到所需数据在内存块中的实际起始位置。然而,由于可以通过数据包数量pktnum来控制网络侧恢复多个Data包,故偏移量offset加上pktnum的值即为所需数据的结束位置。
S20、将所述第一数据包发送至网络侧,以使得网络侧基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。
具体地,所述第一数据包中包括数据包首部、缓存信息以及请求数据,其中,所述缓冲信息为源端生成,请求数据为源端存储的。网络侧接收到第一数据包后,会检测第一数据包中的缓存信息中的行动标识,当行动标识对应的操作为将请求数据缓存于网络缓存时,网络侧会基于缓存信息将请求数据存储于网络侧缓存以便于在接收到第三数据包时,可以基于缓存信息读取到请求数据。
在本实施例的一个实现方式中,所述将所述第一数据包发送至网络侧,以使得网络侧基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包具体为:
将所述第一数据包发送至网络侧,使得所述网络侧基于所述缓存信息确定所述请求数据对应的存储地址,将所述请求数据存储于所述存储地址,并发送所述第一数据包。
具体地,存储地址为网络侧用于存储请求数据的缓存地址,基于该存储地址可以确定请求数据在网络层缓存中存储空间。在确定存储空间后可以将请求数据存储至该存储空间,并发送第一数据包。当然,在实际应用中,网络侧在发送第一数据包,可以将第一数据包中的缓存信息删除,以将第一数据包转换为第二数据包(即传统数据包),将第二数据包转发给用户端,这样可以在不改变用户端接收到的数据包格式的情况下,实现源端控制网络侧进行请求数据缓存的传输方式。
此外,在实际应用中,由于请求数据的流行时间可以会发生变化,例如,请求数据A的流行度达到流行度阈值,当请求数据A在达到流行度阈值后的一段时间后开始不被使用,此时请求数据A缓存于网络侧缓存内而不被使用,会造成网络侧缓存浪费。由此,源端可以每间隔预设时间来检测其自身存储的流行度记录表中的各请求数据对应的流行度的变化情况,当一个请求数据对应的流行度的未更新时长达到设定时长,则可以控制网络侧将网络侧缓存中存储的该请求数据删除,并将该请求书交底流行度更新为0,这样可以灵活控制网络侧更新网络侧缓存中的请求数据,进一步提高网络侧缓存的利用率。
此外,为了进一步说明本实施例中缓存信息的生成过程,这里给出一个具体实施例加以说明。
假设流行度记录表中的数据组包括<文件/内容ID,流行度值>,缓存内容记录表中的数据组包括<文件/内容ID,文件/内容大小,存储块的存储单元大小,存储块的存储单元数量>,块状态记录表中的数据组包括<文件/内容ID,所使用的存储块块索引表>,可使用块索引表>,网络侧缓存256个存储单元,存储单元大小为1000字节,预设流行度阈值为10。
某一时刻下三表的状态如下:
流行度记录表:<1,20>,<2,9>
缓存内容记录表:<1,256*2*1000字节,1000B,256>
块状态记录表:<<1,[0,2]>,[1,3,4,5]>
此时对于请求数据1的请求,由于已被缓存(在缓存内容记录表中有记录),所以发送ID包,根据所使用的发送协议不同,生成的ID包数可以为:
ID包1:oc=恢复,blockindex=0,offset=0,pktn=128
ID包2:oc=恢复,blockindex=0,offset=128,pktn=128
ID包3:oc=恢复,blockindex=2,offset=0,pktn=256
某一时刻下,请求数据2的流行度上升,三表的状态如下:
流行度记录表:<1,20>,<2,11>
缓存内容记录表:<1,256*2*1000字节,1000B,256>
块状态记录表:<<1,[0,2]>,[1,3,4,5]>
此时对于请求数据2(假设大小为256*3*1000字节,所使用存储块参数也为1000字节/单元,256个单元)的请求,由于未被缓存且达到缓存要求,所以发送Data数据包,从块状态记录表中可用块索引中选取块索引,选取了[1,3,4],生成如下Data包可以为:
Data包1:oc=存储,blockindex=1,offset=0
Data包2:oc=存储,blockindex=1,offset=1
Data包3:oc=存储,blockindex=1,offset=2
….
Data包256:oc=存储,blockindex=1,offset=255
Data包257:oc=存储,blockindex=3,offset=0
Data包258:oc=存储,blockindex=3,offset=1
Data包259:oc=存储,blockindex=3,offset=2
…
Data包512:oc=存储,blockindex=3,offset=255
Data包513:oc=存储,blockindex=4,offset=0
Data包514:oc=存储,blockindex=4,offset=1
Data包515:oc=存储,blockindex=4,offset=2
…
Data包768:oc=存储,blockindex=4,offset=255。
终上所述,本实施例提供了一种包级别网内数据传输方法,所述方法包括当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,并将所述第一数据包发送至网络侧,以使得基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。本实施例当需要发送数据时,源端可以根据确定是否需要将请求数据缓存于网络侧缓存,这样可以消除网络中的冗余流量,提升网络传输效率。同时,为CDN和ISP之类提供了新的传输机制,能够促进CDN和ISP的合作,降低网络成本实现CDN和ISP双方共赢。
基于上述包级别网内数据传输方法,本实施例提供了一种包级别网内数据传输系统,如图14所示,其包括源端和网络侧,所述源端当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,并将所述第一数据包发送至网络侧;所述网络侧用于基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。其中,所述源端的具体工作过程可以如图12所示,所述网络侧的具体工作过程可以如图13所示。
基于上述包级别网内数据传输方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的包级别网内数据传输方法中的步骤。
基于上述包级别网内数据传输方法,本申请还提供了一种终端设备,如图15所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (13)
1.一种包级别网内数据传输方法,其特征在于,所述方法包括:
当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包;
将所述第一数据包发送至网络侧,以使得网络侧基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。
2.根据权利要求1所述的包级别网内数据传输方法,其特征在于,所述预设条件包括流行度阈值;所述当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包具体包括:
获取所述请求数据对应的流行度;
当所述流行度大于预设流行度阈值时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包。
3.根据权利要求2所述的包级别网内数据传输方法,其特征在于,所述方法还包括:
当所述流行度小于或者等于预设流行度阈值时,基于所述请求数据生成第二数据包;
将所述第二数据包发送至网络侧,以使得网络侧发送所述第二数据包。
4.根据权利要求1所述的包级别网内数据传输方法,其特征在于,所述方法还包括:
当接收到用于请求所述请求数据的用户请求时,检测所述请求数据是否存储于网络侧缓存内;
当所述请求数据未存储于网络侧缓存时,检测所述请求数据是否满足所述预设条件。
5.根据权利要求4所述的包级别网内数据传输方法,其特征在于,所述方法还包括:
当所述请求数据存储于网络侧缓存时,获取所述请求数据对应的缓存信息,并基于所述缓存信息生成第三数据包;
将所述第三数据包发送至网络侧,以使得网络侧将所述缓存信息对应的请求数据添加到所述第三数据包,并发送添加后的第三数据包。
6.根据权利要求5所述所述的包级别网内数据传输方法,其特征在于,所述将所述第三数据包发送至网络侧,以使得网络侧将所述缓存信息对应的请求数据添加到所述第三数据包,并发送添加后的第三数据包具体包括:
将所述第三数据包发送至网络侧,使得网络侧基于所述缓存信息确定所述请求数据对应的存储地址,基于所述存储地址从网络侧缓存中读取所述请求数据,将所述请求数据添加到所述第三数据包,并发送添加后的第三数据包。
7.根据权利要求1所述的包级别网内数据传输方法,其特征在于,所述将所述第一数据包发送至网络侧,以使得网络侧基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包具体为:
将所述第一数据包发送至网络侧,使得所述网络侧基于所述缓存信息确定所述请求数据对应的存储地址,将所述请求数据存储于所述存储地址,并发送所述第一数据包。
8.根据权利要求1-7任意一项所述的包级别网内数据传输方法,其特征在于,所述方法还包括:
当接收到请求数据对应的用户请求时,更新所述请求数据对应的流行度。
9.根据权利要求1-7任意一项所述的包级别网内数据传输方法,其特征在于,所述缓存信息至少包括存储块索引,所述存储块索引用于确定所述请求数据在网络侧的存储地址。
10.根据权利要求9所述的包级别网内数据传输方法,其特征在于,所述缓存信息还包括行动标识,以使得网络侧基于所述行动标识执行该行动标识对应的操作,其中,当数据包仅包括缓存信息时,所述缓存信息中的行动标识为恢复标识,恢复标识对应的操作为将请求数据添加到数据包;当所述数据包括缓存信息以及请求数据时,所述缓存信息中的行动标识为缓存标识,缓存标识对应的操作为将请求数据缓存于网络侧缓存。
11.一种包级别网内数据传输系统,其特征在于,其包括源端和网络侧,所述源端用于当请求数据满足预设条件时,为所述请求数据分配缓存信息,并基于所述缓存信息以及所述请求数据生成第一数据包,并将所述第一数据包发送至网络侧;所述网络侧用于基于所述缓存信息将所述请求数据存储于网络缓存内,并发送所述第一数据包。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-10任意一项所述的包级别网内数据传输方法中的步骤。
13.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-10任意一项所述的包级别网内数据传输方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395708.1A CN113098973B (zh) | 2021-04-13 | 2021-04-13 | 包级别网内数据传输方法、系统、存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395708.1A CN113098973B (zh) | 2021-04-13 | 2021-04-13 | 包级别网内数据传输方法、系统、存储介质及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098973A true CN113098973A (zh) | 2021-07-09 |
CN113098973B CN113098973B (zh) | 2022-05-20 |
Family
ID=76676826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110395708.1A Active CN113098973B (zh) | 2021-04-13 | 2021-04-13 | 包级别网内数据传输方法、系统、存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098973B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140149533A1 (en) * | 2012-11-27 | 2014-05-29 | Fastly Inc. | Data storage based on content popularity |
US20140185606A1 (en) * | 2011-07-15 | 2014-07-03 | Huawei Technologies Co., Ltd. | Method and apparatus for synchronizing popularity value of cache data and method, apparatus, and system for distributed caching |
CN104812006A (zh) * | 2014-01-24 | 2015-07-29 | 北京三星通信技术研究有限公司 | 基于缓存的数据传输方法及装置 |
WO2017091984A1 (zh) * | 2015-12-01 | 2017-06-08 | 华为技术有限公司 | 数据缓存方法、存储控制装置、及存储设备 |
US20180091619A1 (en) * | 2016-09-27 | 2018-03-29 | Level 3 Communications, Llc | System and method for improvements to a content delivery network |
WO2018127220A1 (zh) * | 2017-01-06 | 2018-07-12 | 电信科学技术研究院 | 一种数据转发方法及装置 |
US20200045588A1 (en) * | 2017-04-07 | 2020-02-06 | Huawei Technologies Co., Ltd. | Resource Obtaining Method, Apparatus, and System |
-
2021
- 2021-04-13 CN CN202110395708.1A patent/CN113098973B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140185606A1 (en) * | 2011-07-15 | 2014-07-03 | Huawei Technologies Co., Ltd. | Method and apparatus for synchronizing popularity value of cache data and method, apparatus, and system for distributed caching |
US20140149533A1 (en) * | 2012-11-27 | 2014-05-29 | Fastly Inc. | Data storage based on content popularity |
CN104812006A (zh) * | 2014-01-24 | 2015-07-29 | 北京三星通信技术研究有限公司 | 基于缓存的数据传输方法及装置 |
WO2017091984A1 (zh) * | 2015-12-01 | 2017-06-08 | 华为技术有限公司 | 数据缓存方法、存储控制装置、及存储设备 |
US20180091619A1 (en) * | 2016-09-27 | 2018-03-29 | Level 3 Communications, Llc | System and method for improvements to a content delivery network |
WO2018127220A1 (zh) * | 2017-01-06 | 2018-07-12 | 电信科学技术研究院 | 一种数据转发方法及装置 |
US20200045588A1 (en) * | 2017-04-07 | 2020-02-06 | Huawei Technologies Co., Ltd. | Resource Obtaining Method, Apparatus, and System |
Also Published As
Publication number | Publication date |
---|---|
CN113098973B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9208097B2 (en) | Cache optimization | |
CN109361526B (zh) | 策略控制的路由方法、pcrf/pcf以及dra | |
US20040210583A1 (en) | File migration device | |
US20130044754A1 (en) | Method, apparatus and system for acquiring media access control address | |
CN108139966B (zh) | 管理转址旁路缓存的方法和多核处理器 | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
CN112492063B (zh) | 一种ip地址池分配、申请方法、装置、设备及介质 | |
JP2007066161A (ja) | キャッシュシステム | |
JP2010519630A (ja) | 整合性のとれた耐障害性分散ハッシュテーブル(dht)オーバレイネットワーク | |
JPH1185710A (ja) | サーバ装置およびファイル管理方法 | |
US9344363B2 (en) | Information processing system, relay device, information processing device, and information processing method | |
CN113098973B (zh) | 包级别网内数据传输方法、系统、存储介质及终端设备 | |
CN102045234B (zh) | 路由地址映射信息的缓存及超时处理方法和隧道路由器 | |
JP2021519041A (ja) | Icnメッセージの転送方法 | |
CN115858181B (zh) | 基于可编程交换机的分布式存储倾斜工作负载平衡方法 | |
CN109951388B (zh) | 路由不间断方法和主控板 | |
CN113076458B (zh) | 一种网内缓存控制方法、系统、存储介质及终端设备 | |
CN112104729A (zh) | 一种存储系统及其缓存方法 | |
US7082128B1 (en) | Method and apparatus for non-stop forwarding with labels | |
CN115065694B (zh) | 一种云存储数据中转上传系统、方法、设备及介质 | |
JP4583433B2 (ja) | 中継システム | |
CN113791733A (zh) | 信息的存储方法、装置、设备及存储介质 | |
CN110716941B (zh) | 一种handle标识解析系统及数据查询方法 | |
JP2007233700A (ja) | キャッシュシステム、負荷監視サーバ、キャッシュ管理サーバ及びキャッシュサーバ。 | |
JP4774814B2 (ja) | サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |