首页> 中国专利> 一种数据处理方法、路由器及NDN系统

一种数据处理方法、路由器及NDN系统

摘要

本发明实施例公开了数据处理方法、路由器及NDN系统。其中,所述方法可包括:在接收到数据时,获取所述数据的优先级属性;根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性;在本地缓存中存储设有生命周期属性的所述数据。本发明根据数据的优先级属性设置该数据的生命周期属性,可以实现差异化的缓存策略,提高NDN系统的数据多样性,同时提高NDN系统的数据命中率。

著录项

  • 公开/公告号CN103581052A

    专利类型发明专利

  • 公开/公告日2014-02-12

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201210273202.4

  • 发明设计人 龙有水;

    申请日2012-08-02

  • 分类号H04L12/861(20130101);H04L12/775(20130101);

  • 代理机构44202 广州三环专利代理有限公司;

  • 代理人郝传鑫;熊永强

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2024-02-19 23:15:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-03

    专利权的转移 IPC(主分类):H04L12/861 登记生效日:20191217 变更前: 变更后: 申请日:20120802

    专利申请权、专利权的转移

  • 2017-07-21

    授权

    授权

  • 2014-03-12

    实质审查的生效 IPC(主分类):H04L12/861 申请日:20120802

    实质审查的生效

  • 2014-02-12

    公开

    公开

说明书

技术领域

本发明涉及一种通信技术领域,具体涉及数据处理技术领域,尤其涉及一种数据处理方法、路由器及NDN(Named Data Networking,命名数据网络)系统。

背景技术

NDN提供一种基于数据的架构,以数据作为网络中的实体,采用“名字”作为数据的唯一标识。NDN定义了两种格式的数据,一种是用于发送请求的数据,可称为“兴趣包(Interest packet)”;另一种是包含内容的数据,可称为“数据包(data packet)”。每种格式的数据都采用名字作为唯一标识,例如:兴趣包的名字用于唯一标识该兴趣包获取内容的请求,数据包的名字用于唯一标识该数据包负载的内容。

NDN系统中包括数据源和至少一个路由器。其中,数据源可以是提供原始数据的数据库或服务器;路由器可以为用户提供数据传输服务,并在数据传输过程中实现数据缓存。NDN系统由请求方(例如:用户终端)发送的请求消息启动数据通信过程,该请求消息中携带请求获取的数据的标识,即该数据的“名字”;该数据通信过程的操作均基于“名字”进行,与地址(例如:IP(InternetProtocol,网络之间互连的协议)地址或数据的存储地址等)无关。

现有的NDN系统中,各个路由器的缓存策略一般都基于数据被请求的时间和/或频率确定,例如:路由器的本地缓存中某数据被请求的频率较高,或最近刚被请求获取,路由器的本地缓存则认为该数据为热门数据,则为该数据设置较长的生命周期,使该数据在本地缓存中存储的时间较长,以保证数据的命中率。但是,由于各个路由器的缓存策略的影响因素相同,均为数据被请求的时间和/或频率;如果相同的数据在各个路由器中被请求的频率或时间相同,则该数据在各个路由器的本地缓存中的生命周期也相同,这可能导致各个路由器中相同的数据被同时删除,从而影响NDN系统的数据多样性,影响NDN系统的数据命中率。

发明内容

本发明实施例提供一种数据处理方法、路由器及NDN系统,根据数据的优先级属性设置该数据的生命周期属性,可以实现差异化的缓存策略,提高NDN系统的数据多样性,同时提高NDN系统的数据命中率。

本发明第一方面提供了一种数据处理方法,应用于NDN系统中,可包括:

在接收到数据时,获取所述数据的优先级属性;

根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性;

在本地缓存中存储设有生命周期属性的所述数据。

在第一种可能的实施方式中,所述获取所述数据的优先级属性之后,还包括:

根据优先级设定规则,对所述数据重新设置优先级属性;

将重新设置优先级属性的所述数据返回给所述数据的请求方。

结合第一方面或第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期。

结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述在本地缓存中存储设有生命周期属性的所述数据,包括:

根据所述数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间;

如果判断结果为否,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间;

在本地缓存中存储设有生命周期属性的所述数据。

结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,所述根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间,包括:

根据本地缓存中已有数据的生命周期属性,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据;

若待缓存的所述数据的大小小于或等于第一替换队列中所有数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据;

若待缓存的所述数据的大小大于第一替换队列中所有数据的大小总和,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列中所有数据的大小总和的差值,删除所述第二替换队列中的已有数据。

结合第一方面的第二种可能的实施方式,在第五种可能的实施方式中,在接收数据之前,还包括:

接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识;

根据所述标识,在本地缓存中查找所述数据;

如果在本地缓存中未查找到所述数据,按照路由信息向下一节点转发所述请求消息,并接收下一节点根据所述请求消息返回的数据;

如果在本地缓存中查找到所述数据,根据优先级设定规则,对查找到的所述请求获取的数据设置优先级属性,并将设有优先级属性的所述数据返回给所述请求方。

结合第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式、第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式,在第六种可能的实施方式中,所述优先级属性包括:第一优先级和第二优先级;所述第二优先级的级别高于第一优先级的级别。

结合第一方面的第六种可能的实施方式,在第七种可能的实施方式中,所述优先级属性与生命周期属性的对应关系包括:

如果接收到优先级属性为第一优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为第一生命周期;

如果接收到优先级属性为第二优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为第二生命周期。

结合第一方面的第七种可能的实施方式,在第八种可能的实施方式中,所述优先级属性还包括:第三优先级;所述第三优先级的级别高于所述第一优先级的级别,且低于所述第二优先级的级别;

则所述优先级属性与生命周期属性的对应关系还包括:

如果接收到优先级属性为第三优先级的数据,则在本地缓存中存储所述数据时,根据随机概率将所述数据的生命周期属性设置为第一生命周期或第二生命周期。

结合第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式、第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式、第一方面的第六种可能的实施方式、第一方面的第七种可能的实施方式或第一方面的第八种可能的实施方式,在第九种可能的实施方式中,所述优先级设定规则包括:

如果数据存在于本地缓存中,则将所述数据的优先级属性设置为第一优先级;

如果数据存在于数据源中,则将所述数据的优先级属性设置为第三优先级;

如果接收到优先级属性为第一优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为第三优先级;

如果接收到优先级属性为第三优先级的数据,则在转发所述数据时,根据随机概率将所述数据的优先级属性重新设置为第一优先级或第二优先级;

如果接收到优先级属性为第二优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为第一优先级。

本发明第二方面提供了一种路由器,应用于NDN系统中,可包括:

优先级获取模块,用于在接收到数据时,获取所述数据的优先级属性;

生命周期设置模块,用于根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性

存储模块,用于在本地缓存中存储设有生命周期属性的所述数据。

在第一种可能的实施方式中,所述路由器还包括:

优先级设置模块,用于根据优先级设定规则,对所述数据重新设置优先级属性;

响应模块,用于将重新设置优先级属性的所述数据返回给所述数据的请求方。

结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期。

结合第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述存储模块包括:

空间判断单元,用于根据所述数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间;

释放单元,用于如果判断结果为否,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间;

存储单元,用于在本地缓存中存储设有生命周期属性的所述数据。

结合第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述释放单元包括:

队列生成单元,用于如果判断结果为否,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据;

释放子单元,用于若待缓存的所述数据的大小小于或等于第一替换队列中所有数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据;或者,

若待缓存的所述数据的大小大于第一替换队列中所述数据的大小总和,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列中所有数据的大小总和的差值,删除所述第二替换队列中的已有数据。

结合第二方面的第二种可能的实施方式,在第五种可能的实施方式中,所述路由器还包括:

请求接收模块,用于接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识;

本地查找模块,用于根据所述标识,在本地缓存中查找所述数据;

处理模块,用于如果在本地缓存中未查找到所述数据,按照路由信息向下一节点转发所述请求消息,并接收下一节点根据所述请求消息返回的数据;或者,

用于如果在本地缓存中查找到所述数据,通知所述优先级设置模块根据优先级设定规则,对查找到的所述请求获取的数据设置优先级属性,并将设有优先级属性的所述数据返回给所述请求方。

本发明第三方面提供了一种NDN系统,包括:数据源和至少一个路由器,其特征在于,所述路由器为上述的路由器;其中,

所述数据源,与所述至少一个路由器相连接,用于根据所述路由器发送的请求消息,向所述路由器返回请求获取的数据。

实施本发明实施例,具有如下有益效果:

由上述可知,在本发明一些可行的实施方式中,数据包含优先级属性,根据数据的优先级属性设置数据的生命周期属性,并在本地缓存中存储所述设有生命周期属性的数据;由于各个路由器接收到相同数据时,其数据的优先级属性可能存在差异,因此依据此优先级属性获得的数据的生命周期属性也可能存在差异,从而可以在各个路由器之间形成差异化的缓存策略,使得相同的数据在各个路由器的缓存中的生命周期有所不同,从而可保证NDN系统的数据多样性,同时提高NDN系统的数据命中率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据处理方法的流程图;

图2为图1所示步骤S103的实施例的流程图;

图3为本发明实施例提供的另一种数据处理方法的流程图;

图4为本发明实施例提供的一种路由器的结构示意图;

图5为图4所示存储模块的实施例的结构示意图;

图6为图5所示释放单元的实施例的结构示意图;

图7为本发明实施例提供的另一种路由器的结构示意图;

图8为本发明实施例提供的一种NDN系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中,数据的优先级属性用于指示数据的优先级,数据的优先级可以用于表示该数据的获取过程的复杂程度,数据的优先级越高,则表示该数据的获取过程越复杂;数据的优先级越低,表示该数据的获取过程越简单。例如:数据存在于某个路由器的缓存中,请求方向该路由器发起获取该数据的请求消息,则该路由器可直接从本地缓存中获得该数据返回给请求方,因此,该数据的获取过程简单,该路由器在向请求方返回数据时,为该数据设置较低的优先级属性;再如:数据存在于数据源中,请求方向路由器发起获取该数据的请求消息时,路由器需要根据路由信息对该请求消息进行转发,直至数据源接收到该请求消息并返回数据,此时,数据的获取过程较复杂,可由数据源在返回该数据时,为该数据设置较高的优先级属性。

数据的生命周期属性用于指示数据存在于缓存中的生命周期,数据的生命周期越长,表示数据在缓存中的存续时间越长;数据的生命周期越短,表示数据在缓存中的存续时间越短。

本发明实施例中,可以利用数据的优先级属性,影响数据的生命周期属性,从而实现NDN系统中各个路由器差异化的缓存策略,保证NDN系统的数据多样性,同时提高NDN系统的数据命中率。

下面将结合附图1-3,对本发明实施例提供的数据处理方法进行详细介绍。下述的数据处理方法可以应用于NDN系统中。

请参见图1,为本发明实施例提供的一种数据处理方法的流程图;该方法可包括如下步骤S101-步骤S103。

S101,在接收到数据时,获取所述数据的优先级属性。

本步骤中,可以从除本端路由器以外的其他路由器接收数据,其他路由器在发送所述数据时,为该数据设置优先级属性,本端路由器在接收到所述数据时,获取所述数据的优先级属性。本步骤中,也可以从数据源接收数据,数据源发送所述数据时,可以向本端路由器返回未设有优先级属性的所述数据,本端路由器在接收到所述数据后,按照优先级设定规则为该数据设置优先级属性;数据源发送所述数据时,也可以为该数据设置优先级属性,本端路由器在接收到所述数据时,获取所述数据的优先级属性。

本发明实施例的优先级属性,可以存在以下两种可行的实施方式:

在第一种可行的实施方式中,数据的优先级可以分为两个等级,即数据的所述优先级属性可以包括:第一优先级和第二优先级;所述第二优先级的级别高于第一优先级的级别;即在本实施方式中,每个数据均对应一个优先级属性,该优先级属性所指示的数据的优先级可以为低优先级(即第一优先级)或高优先级(即第二优先级)。

在第二种可行的实施方式中,数据的优先级可以分为三个等级,即数据的所述优先级属性可以包括:第一优先级、第三优先级和第二优先级;所述第二优先级的级别高于第三优先级的级别,第三优先级高于第一优先级的级别;即在本实施方式中,每个数据均对应一个优先级属性,该优先级属性所指示的数据的优先级可以为低优先级(即第一优先级)、中优先级(即第三优先级)或高优先级(即第二优先级)。

需要说明的是,除特别说明外,本发明实施例的后续描述中,低优先级指代所述第一优先级,中优先级指代所述第三优先级,高优先级指代所述第二优先级。

在上述两种可行的实施方式中,每个优先级可以包括至少一个等级,例如:低优先级可以包括等级1-1、等级1-2、等级1-3;中优先级可以包括等级2-1、等级2-2;高优先级可以包括等级3-1、等级3-2;具体实现中,优先级所包括的等级的数量可以根据实际需要进行设定。

S102,根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性。

所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期;即在本实施方式中,每个数据均对应一个生命周期属性,该生命周期属性所指示的数据的生命周期可以为短生命周期(即第一生命周期)、或长生命周期(即第二生命周期)。

需要说明的是,除特别说明外,本发明实施例的后续描述中,短生命周期指代所述第一生命周期,长生命周期指代所述第二生命周期。

本发明实施例中,可以预先设定优先级属性与生命周期属性的对应关系,对应于优先级属性的两种可行的实施方式,本发明的优先级属性与生命周期属性的对应关系也存在以下两种可行的实施方式:

在第一种可行的实施方式中,所述优先级属性包括低优先级或高优先级;则优先级属性与生命周期属性的对应关系可以如下述表一所示:

表一:优先级属性与生命周期属性的对应关系表(1)

  优先级属性  生命周期属性  低优先级  短生命周期  高优先级  长生命周期

根据上述表一所示,本实施方式中,优先级属性与生命周期属性的对应关系可以包括:

如果接收到优先级属性为低优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为短生命周期;

如果接收到优先级属性为高优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为长生命周期。

在第二种可行的实施方式中,所述优先级属性包括低优先级、中优先级或高优先级;则优先级属性与生命周期属性的对应关系可以如下述表二所示:

表二:优先级属性与生命周期属性的对应关系表(2)

  优先级属性  生命周期属性  低优先级  短生命周期  中优先级  短生命周期  中优先级  长生命周期  高优先级  长生命周期

根据上述表二所示,本实施方式中,优先级属性与生命周期属性的对应关系可以包括:

如果接收到优先级属性为低优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为短生命周期;

如果接收到优先级属性为高优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为长生命周期;

如果接收到优先级属性为中优先级的数据,则在本地缓存中存储所述数据时,根据随机概率将所述数据的生命周期属性设置为短生命周期或长生命周期。

本实施方式中,根据随机概率为中优先级的数据设置生命周期的方式,可通过动态调整随机概率,调整本地缓存中短生命周期的数据与长生命周期的数据的数量比;例如:如果需要保证本地缓存中短生命周期的数据与长生命周期的数据的数量比为1,即保证本地缓存中短生命周期的数据量与长生命周期的数据量相等,则可以根据本地缓存中短生命周期的数据与长生命周期的数据的当前数量,设置随机概率并将中优先级的数据设置为短生命周期或长生命周期,通过动态调整随机概率,使本地缓存中短生命周期的数据量与长生命周期的数据量趋于相等。采用随机概率为中优先级的数据设置生命周期的方式,可保证NDN系统中各个路由器的缓存中短生命周期的数据量与长生命周期的数据量趋于平衡,保证优先级属性对各个路由器的缓存策略的影响的持续性和有效性。

S103,在本地缓存中存储设有生命周期属性的所述数据。

其中,本地缓存根据其存储的数据的生命周期属性进行存储更新,此更新的操作可以包括:删除已有数据或替换已有数据。

请参见图2,为图1所示步骤S103的一个实施例的流程图;该步骤S103可以包括如下步骤s1301-步骤s1303。

s1301,根据所述数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间,如果判断结果为否,转入步骤s1302。

本地缓存在对数据进行缓存之前,首先根据数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间,如果本地缓存的存储空间不足,例如:本地缓存的存储空间已满,或本地缓存的存储空间未满但不足以存储所述数据,则触发本地缓存的更新以释放足够的存储空间。即当本步骤的判断结果为否时,转入执行步骤s1302。

s1302,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间。

在本发明的一种可行的实施方式中,本步骤s1302可以包括如下步骤:

A、根据本地缓存中已有数据的生命周期属性,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据。

预设的替换算法可以为LRU(Least Recently Used,最近最少使用)算法、LFU(Least Frequently Used,最不经常使用)算法、FIFO(First Input First Output,先入先出)算法等等。本步骤中,采用预设的替换算法将本地缓存中的短生命周期的数据加入第一替换队列,将长生命周期的数据加入第二替换队列。可以理解的是,第一替换队列中可以包括本地缓存中的全部或部分的短生命周期的数据,第二替换队列中可以包括本地缓存中的全部或部分的长生命周期的数据。可以理解的是,所述第一替换队列中包含的数据和第二替换队列中包含的数据为本地缓存中优先被删除或替换的数据。

B、若待缓存的所述数据的大小小于或等于第一替换队列中所有数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据。例如:待缓存的所述数据大小为300K,第一替换队列中第一数据的大小为300K,则本步骤中,删除第一替换队列中的第一数据;再如:待缓存的所述数据的大小为300K,第一替换队列中第一数据的大小为200K,第一替换队列中第二数据的大小为200K,则本步骤中,删除第一替换队列中的第一数据和第二数据。需要说明的是,第一替换队列按照先进先出的规则进行数据的替换;第一替换队列中的第一数据为最先进入第一替换队列中的数据,该第一数据也应当是最先被替换的数据;第一替换队列中的第二数据为在第一数据进入第一替换队列之后,最先进入第一替换队列中的数据,该第二数据应当是在第一数据被替换后,最先被替换的数据。

C、若待缓存的所述数据的大小大于第一替换队列的长度,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列的长度的差值,删除所述第二替换队列中的已有数据。例如:待缓存的所述数据大小为1000K,第一替换队列为700K,第二替换队列中第一数据的大小为100K,第二替换队列中的第二数据的大小为300K,则本步骤中,首先删除第一替换队列中的全部数据,再删除第二替换队列中的第一数据和第二数据。需要说明的是,第一替换队列和第二替换队列均按照先进先出的规则进行数据的替换;第二替换队列中的第一数据为最先进入第二替换队列中的数据,该第一数据也应当是最先被替换的数据;第二替换队列中的第二数据为在第一数据进入第二替换队列之后,最先进入第二替换队列中的数据,该第二数据应当是在第一数据被替换后,最先被替换的数据。

上述B、C步骤表明,本地缓存在进行更新的过程中,首先删除或替换第一替换队列中的数据,即短生命周期的数据;然后再删除或替换第二替换队列中的数据,即长生命周期的数据。执行完上述步骤A-C后,转入步骤s1303。

可以理解的是,若待缓存的所述数据的大小大于第一替换队列和第二替换队列中所有数据的大小总和,则本发明实施例中,如果第一替换队列和/或第二替换队列中所有数据的大小总和小于本地缓存的总存储空间的大小,即第一替换队列和第二替换队列仅包含了本地缓存中的部分已有数据,则删除第一替换队列和第二替换队列的全部数据,重新采用预设的替换算法,生成新的第一替换队列和第二替换队列,以释放足够的存储空间,之后执行步骤s1303。如果第一替换队列和/或第二替换队列中所有数据的大小总和等于本地缓存的总存储空间的大小,即第一替换队列和第二替换队列包含了本地缓存中的全部已有数据,则本发明实施例可以不再执行步骤s1303,可输出错误信息,提示数据的大小已超出本地缓存的总存储空间,无法缓存所述数据。

s1303,在本地缓存中存储设有生命周期属性的所述数据。

请参见图3,为本发明实施例提供的另一种数据处理方法的流程图。该方法可以包括如下步骤S201-步骤S212。

S201,接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识。

所述请求方可以为用户终端,所述请求消息可以采用兴趣包的形式进行发送,该兴趣包以“名字”作为唯一标识,且该兴趣包中包含请求获取的数据的标识,该标识可以为所述数据的“名字”。

S202,根据所述标识,在本地缓存中查找所述数据。

本步骤中,可以将所述标识与本地缓存中的数据的标识进行比对,如果本地缓存中存在与所述标识相同的标识对应的数据,则在本地缓存中可以查找到所述数据,否则,则在本地缓存中无法查找到所述数据。

S203,判断是否在本地缓存中查找到所述数据,如果判断结果为是,转入步骤S211;如果判断结果为否,转入步骤S204。

S204,按照路由信息向下一节点转发所述请求消息。

本步骤中,在向下一节点转发所述请求消息之前,可以先记录所述请求消息及接收所述请求消息的接口信息,优选地,可以采用列表的形式记录所述请求消息及接收所述请求消息的接口信息,该列表可以为PIT(Pending InterestTable,待定兴趣表)。NDN系统中,数据的请求路径与响应路径是一致的,因此,记录接收所述请求消息的接口信息,方便通过所述记录的接口信息向请求方返回请求的数据。

路由信息可以预先存储于FIB(Forward Information Base,转发信息库)中,本步骤中,可以通过查询FIB,获得路由信息,根据所述路由信息所记载的下一节点的信息,将所述请求消息转发至下一节点。该下一节点可以为除本端路由器以外的其他路由器,也可以为数据源。可以理解的是,当本端路由器向下一节点转发所述请求消息时,则本端路由器即为下一节点的数据请求方。

S205,接收下一节点根据所述请求消息返回的数据。

S206,在接收到数据时,获取所述数据的优先级属性。

S207,根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性。

S208,在本地缓存中存储设有生命周期属性的所述数据,其中,本地缓存根据其存储的数据的生命周期属性进行存储更新,此更新的操作可以包括:删除已有数据或替换已有数据。

本实施例中,步骤S206-步骤S208可以参见图1所示实施例中的步骤S101-步骤S103,在此不赘述。

S209,根据优先级设定规则,对所述数据重新设置优先级属性。

在本发明的一种可行的实施方式中,所述优先级设定规则可以如以下表三所示:

表三:优先级设定规则表(1)

  接收时的优先级属性  转发时的优先级属性  低优先级  中优先级  中优先级  高优先级  中优先级  低优先级  高优先级  低优先级

上述表三示出了优先级之间,转发数据时对数据的优先级属性设定规则。根据上述表三所示,本实施方式中,所述优先级设定规则可以包括:

如果接收到优先级属性为低优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为中优先级;

如果接收到优先级属性为中优先级的数据,则在转发所述数据时,根据随机概率将所述数据的优先级属性重新设置为低优先级或高优先级;此处的随机概率可以参见上述图1所示实施例中的相关描述,在此不赘述。

如果接收到优先级属性为高优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为低优先级。

进一步,根据数据的存储位置,所述优先级设定规则还可以如下述表四所示,

表四:优先级设定规则表(2)

  请求过程中数据存在的位置  优先级属性  本地缓存  低优先级  数据源  中优先级

根据上述表四所示,本实施方式中,所述优级设定规则可以进一步包括:

如果数据存在于本地缓存中,则将所述数据的优先级属性设置为低优先级;

如果数据存在于数据源中,则将所述数据的优先级属性设置为中优先级。

在本发明的另一种可行的实施方式中,如果每个优先级包括一个以上的等级,例如:低优先级可以包括等级1-1、等级1-2、等级1-3;中优先级可以包括等级2-1、等级2-2;高优先级可以包括等级3-1、等级3-2,则优先级设定规则可以如以下表四所示:

表五:优先级设定规则表(3)

  接收时的优先级属性  转发时的优先级属性  低优先级-等级1-1  低优先级-等级1-2  低优先级-等级1-2  低优先级-等级1-3  低优先级-等级1-3  中优先级-等级2-1

  中优先级-等级2-1  中优先级-等级2-2  中优先级-等级2-2  低优先级-等级1-1  中优先级-等级2-2  高优先级-等级3-1  高优先级-等级3-1  高优先级-等级3-2  高优先级-等级3-2  低优先级-等级1-1

可以理解的是,上述表五表明,在每个优先级之间,转发数据时优先级属性设定规则采用表三所示规则,同时表明,在每个优先级包括的各个等级之间,转发数据时优先级属性设置采用递增原则。上述表五仅为举例,当每个优先级包括的等级变化时,上述表五的各项也会相应发生变化。

S210,将重新设置优先级属性的所述数据返回给所述请求方;之后,转入结束。

需要说明的是,本发明实施例中,可以先执行步骤S207-S208,再执行步骤S209-S210,即先在本地缓存中存储所述数据,再重新设置所述数据的优先级属性并向请求方转发所述数据;也可以先执行步骤S209-S210,再执行步骤S207-S208,即先重新设置所述数据的优先级属性并向请求方转发所述数据,再在本地缓存中存储所述数据;还可以同时执行步骤S207-S208及步骤S209-S210,同时对接收到的数据进行缓存和转发。

S211,如果在本地缓存中查找到所述数据,根据优先级设定规则,对查找到的所述请求获取的数据设置优先级属性。

依据上述实施方式中的优先级设定规则,本步骤中,如果在本地缓存中查找到所述数据,则将所述数据的优先级属性设置为低优先级。

S212,将设有优先级属性的所述数据返回给所述请求方。

由上述可知,在本发明一些可行的实施方式中,数据包含优先级属性,根据数据的优先级属性设置数据的生命周期属性,并在本地缓存中存储所述设有生命周期属性的数据;由于各个路由器接收到相同数据时,其数据的优先级属性可能存在差异,因此依据此优先级属性获得的数据的生命周期属性也可能存在差异,从而可以在各个路由器之间形成差异化的缓存策略,使得相同的数据在各个路由器的缓存中的生命周期有所不同,从而可保证NDN系统的数据多样性,同时提高NDN系统的数据命中率。

下面将结合附图4-7,对本发明实施例提供的路由器进行详细介绍。下述的路由器可以应用于NDN系统中,且可以应用于上述图1-图3所示实施例的方法中。

请参见图4,为本发明实施例提供的一种路由器的结构示意图;该路由器可以包括:优先级获取模块101、生命周期设置模块102和存储模块103。

优先级获取模块101,用于在接收到数据时,获取所述数据的优先级属性。

其中,所述优先级属性可以包括低优先级和高优先级,或者包括低优先级、中优先级和高优先级。

生命周期设置模块102,用于根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性。

所述生命周期设置模块102可以按照上述表一或表二所示的优先级属性与生命周期属性的对应关系,设置数据的生命周期属性。

存储模块103,用于在本地缓存中存储设有生命周期属性的所述数据,其中,本地缓存根据生命周期属性对其存储的已有数据进行更新。

请参见图5,为图4所示的存储模块的实施例的结构示意图;所述存储模块103可以包括:空间判断单元1301、释放单元1302和存储单元1303。

空间判断单元1301,用于根据所述数据的大小,判断本地缓存是否存在足够的存储空间。

释放单元1302,用于如果判断结果为否,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间。

所述释放单元1302采用预设的替换算法对本地缓存中的已有数据进行更新,以释放本地缓存的存储空间。

请一并参见图6,为图5所示的释放单元的实施例的结构示意图;所述释放单元1302可以包括:队列生成单元1321和释放子单元1322。

队列生成单元1321,用于如果判断结果为否,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据。

释放子单元1322,用于若待缓存的所述数据的大小小于或等于第一替换队列中所述数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据;或者,

若待缓存的所述数据的大小大于第一替换队列中所有数据的大小总和,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列中所有数据的大小总和的差值,删除所述第二替换队列中的已有数据。

存储单元1303,用于在本地缓存中存储设有生命周期属性的所述数据。

请参见图7,为本发明实施例提供的另一种路由器的结构示意图;所述路由器可以包括:优先级获取模块101、生命周期设置模块102、存储模块103、优先级设置模块104、响应模块105、请求接收模块106、本地查找模块107和处理模块108。其中,优先级获取模块101、生命周期设置模块102和存储模块103的结构和功能实现可以参见图4所示实施例的相关描述,在此不赘述。

优先级设置模块104,用于根据优先级设定规则,对所述数据重新设置优先级属性。

所述优先级设置模块104可以按照上述表三或表五所示的优先级设定规则,对所述数据的优先级属性进行重新设置。

响应模块105,用于将重新设置优先级属性的所述数据返回给所述数据的请求方。

请求接收模块106,用于接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识。

所述请求方可以为用户终端,所述请求消息可以采用兴趣包的形式进行发送,该兴趣包以“名字”作为唯一标识,且该兴趣包中包含请求获取的数据的标识,该标识可以为所述数据的“名字”。

本地查找模块107,用于根据所述标识,在本地缓存中查找所述数据。

处理模块108,用于如果在本地缓存中未查找到所述数据,按照路由信息向下一节点转发所述请求消息,并接收下一节点根据所述请求消息返回的数据。

实际应用中,所述处理模块108可以通过查询FIB获得路由信息,在向下一节点转发所述请求消息之前,还可以列表的形式记录所述请求消息及接收所述请求消息的接口信息,该列表可以为PIT。NDN系统中,数据的请求路径与响应路径是一致的,因此,记录接收所述请求消息的接口信息,方便通过所述记录的接口信息向请求方返回请求的数据。该下一节点可以为除本端路由器以外的其他路由器,也可以为数据源。可以理解的是,当本端路由器向下一节点转发所述请求消息时,则本端路由器即为下一节点的数据请求方。

具体实现中,所述处理模块108还用于如果在本地缓存中查找到所述数据,通知所述优先级设置模块104根据优先级设定规则,对查找到的所述请求获取的数据设置优先级属性,并将设有优先级属性的所述数据返回给所述请求方。此处,优先级设置模块104可以按照上述表四所示的优先级设定规则,对查找到的数据的优先级属性进行设置。

可以理解的是,上述图4-图7所示实施例的路由器的功能实现可以根据上述图1-图3所示的方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例中的相关描述,在此不再赘述。

由上述可知,在本发明一些可行的实施方式中,数据包含优先级属性,根据数据的优先级属性设置数据的生命周期属性,并在本地缓存中存储所述设有生命周期属性的数据;由于各个路由器接收到相同数据时,其数据的优先级属性可能存在差异,因此依据此优先级属性获得的数据的生命周期属性也可能存在差异,从而可以在各个路由器之间形成差异化的缓存策略,使得相同的数据在各个路由器的缓存中的生命周期有所不同,从而可保证NDN系统的数据多样性,同时提高NDN系统的数据命中率。

下面将结合附图8,对上述路由器所应用的NDN系统进行详细介绍;需要说明的是,下述NDN系统可以应用于上述图1-图3所示实施例的方法中。

请参见图8,为本发明实施例提供的一种NDN系统的结构示意图;该NDN系统可以包括:数据源和至少一个路由器(图8中示出两个,分别标示为路由器1和路由器2),其中,所述路由器可以为图4-图7任一实施例所示的路由器

所述数据源,与所述至少一个路由器相连接,用于根据所述路由器发送的请求消息,向所述路由器返回请求获取的数据。

数据源接收路由器发送的请求消息,该请求消息中携带请求获取的数据的标识,数据源根据所述标识获得所述数据。在本发明的可行的实施方式中,数据源可以向所述路由器返回未设有优先级属性的所述数据,所述路由器在接收到所述数据后,按照优先级设定规则为该数据设置优先级属性;数据源也可以按照优先级设定规则为所述数据设置优先级属性,并向所述路由器返回设有优先级属性的所述数据。

需要说明的是,上述实施方式中,所述优先级设定规则主要根据数据的存储位置确定,该优先级设定规则可以包括:如果数据存在于数据源中,则将所述数据的优先级属性设置为中优先级。

下面对图8所示的NDN系统所执行的数据处理流程进行详细介绍。

用户终端1向路由器1发送请求消息,启动数据通信流程;其中,该请求消息中携带请求获取的数据的“名字”。

路由器1根据该请求消息中的数据的“名字”,在本地缓存中查找该数据;如果查找到,则设定数据的优先级属性为低优先级,然后将该低优先级的数据返回给用户终端1。如果未查找到,则查询FIB获取路由信息,假设路由信息指示下一节点为路由器2,则路由器1在本地记录请求消息和接收该请求消息的接口信息,并将请求消息转发至路由器2。

路由器2根据请求该请求消息中的数据的“名字”,在本地缓存中查找该数据;如果查找到,则设定数据的优先级属性为低优先级,然后将该低优先级的数据返回给路由器1。路由器1接收到数据后,解析数据的优先级属性为低优先级,则设定该数据的生命周期属性为短生命周期,将该短生命周期的数据存储至本地缓存;路由器1再重新设置该数据的优先级属性为高优先级,并根据本地记录的接收请求消息的接口信息,将重设为高优先级的数据返回给用户终端1。

如果路由器2在本地缓存中未查找到所述数据,则查询FIB获取路由信息,假设路由信息指示下一节点为数据源,则路由器2在本地记录请求消息和接收该请求消息的接口信息,并将请求消息转发至数据源。数据源根据请求该请求消息中的数据的“名字”,在本地查找到数据,将数据的优先级属性设置为中优先级,并将中优先级的数据返回给路由器2。路由器2接收到数据后,解析数据的优先级属性为中优先级,则根据随机概率设定该数据的生命周期属性为长生命周期,将该长生命周期的数据存储至本地缓存;路由器2再根据所述随机概率重新设置该数据的优先级属性为高优先级,并根据本地记录的接收请求消息的接口信息,将重设为高优先级的数据返回给路由器1。路由器1接收到数据后,解析数据的优先级属性为高优先级,则设定该数据的生命周期属性为长生命周期,将该长生命周期的数据存储至本地缓存;路由器1再重新设置该数据的优先级属性为低优先级,并根据本地记录的接收请求消息的接口信息,将重设为低优先级的数据返回给用户终端1。

上述数据传输的过程中,路由器1和路由器2在缓存数据的过程中,均会根据数据的生命周期属性,采用预设的替换算法更新本地缓存中的数据。该更新的过程可以参见上述方法实施例中的相关描述,在此不赘述。另外,路由器1、路由器2及数据源对数据的优先级属性的设置均可以按照上述表三或表四所示的优先级设定规则执行;路由器1和路由器2对数据在本地缓存中进行存储时,均可以按照上述表一或表二所示优先级属性与生命周期属性的对应关系设定数据的生命周期属性。

由上述可知,在本发明一些可行的实施方式中,数据包含优先级属性,根据数据的优先级属性设置数据的生命周期属性,并在本地缓存中存储所述设有生命周期属性的数据;由于各个路由器接收到相同数据时,其数据的优先级属性可能存在差异,因此依据此优先级属性获得的数据的生命周期属性也可能存在差异,从而可以在各个路由器之间形成差异化的缓存策略,使得相同的数据在各个路由器的缓存中的生命周期有所不同,从而可保证NDN系统的数据多样性,同时提高NDN系统的数据命中率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号