一种数据处理方法、路由器及ndn系统的制作方法

文档序号:7981626阅读:159来源:国知局
一种数据处理方法、路由器及ndn系统的制作方法
【专利摘要】本发明实施例公开了数据处理方法、路由器及NDN系统。其中,所述方法可包括:在接收到数据时,获取所述数据的优先级属性;根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性;在本地缓存中存储设有生命周期属性的所述数据。本发明根据数据的优先级属性设置该数据的生命周期属性,可以实现差异化的缓存策略,提高NDN系统的数据多样性,同时提高NDN系统的数据命中率。
【专利说明】一种数据处理方法、路由器及NDN系统
【技术领域】
[0001]本发明涉及一种通信【技术领域】,具体涉及数据处理【技术领域】,尤其涉及一种数据处理方法、路由器及NDN (Named Data Networking,命名数据网络)系统。
【背景技术】
[0002]NDN提供一种基于数据的架构,以数据作为网络中的实体,采用“名字”作为数据的唯一标识。NDN定义了两种格式的数据,一种是用于发送请求的数据,可称为“兴趣包(Interest packet)”;另一种是包含内容的数据,可称为“数据包(data packet)”。每种格式的数据都采用名字作为唯一标识,例如:兴趣包的名字用于唯一标识该兴趣包获取内容的请求,数据包的名字用于唯一标识该数据包负载的内容。
[0003]NDN系统中包括数据源和至少一个路由器。其中,数据源可以是提供原始数据的数据库或服务器;路由器可以为用户提供数据传输服务,并在数据传输过程中实现数据缓存。NDN系统由请求方(例如:用户终端)发送的请求消息启动数据通信过程,该请求消息中携带请求获取的数据的标识,即该数据的“名字”;该数据通信过程的操作均基于“名字”进行,与地址(例如:IP (InternetProtocol,网络之间互连的协议)地址或数据的存储地址等)无关。
[0004]现有的NDN系统中,各个路由器的缓存策略一般都基于数据被请求的时间和/或频率确定,例如:路由器的本地缓存中某数据被请求的频率较高,或最近刚被请求获取,路由器的本地缓存则认为该数据为热门数据,则为该数据设置较长的生命周期,使该数据在本地缓存中存储的时间较长,以保证数据的命中率。但是,由于各个路由器的缓存策略的影响因素相同,均为数据被请求的时间和/或频率;如果相同的数据在各个路由器中被请求的频率或时间相同,则该数据在各个路由器的本地缓存中的生命周期也相同,这可能导致各个路由器中相同的数据被同时删除,从而影响NDN系统的数据多样性,影响NDN系统的数据命中率。

【发明内容】

[0005]本发明实施例提供一种数据处理方法、路由器及NDN系统,根据数据的优先级属性设置该数据的生命周期属性,可以实现差异化的缓存策略,提高NDN系统的数据多样性,同时提高NDN系统的数据命中率。
[0006]本发明第一方面提供了一种数据处理方法,应用于NDN系统中,可包括:
[0007]在接收到数据时,获取所述数据的优先级属性;
[0008]根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性;
[0009]在本地缓存中存储设有生命周期属性的所述数据。
[0010]在第一种可能的实施方式中,所述获取所述数据的优先级属性之后,还包括:
[0011]根据优先级设定规则,对所述数据重新设置优先级属性;
[0012]将重新设置优先级属性的所述数据返回给所述数据的请求方。[0013]结合第一方面或第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期。
[0014]结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述在本地缓存中存储设有生命周期属性的所述数据,包括:
[0015]根据所述数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间;
[0016]如果判断结果为否,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间;
[0017]在本地缓存中存储设有生命周期属性的所述数据。
[0018]结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,所述根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间,包括:
[0019]根据本地缓存中已有数据的生命周期属性,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据;
[0020]若待缓存的所述数据的大小小于或等于第一替换队列中所有数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据;
[0021]若待缓存的所述数据的大小大于第一替换队列中所有数据的大小总和,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列中所有数据的大小总和的差值,删除所述第二替换队列中的已有数据。
[0022]结合第一方面的第二种可能的实施方式,在第五种可能的实施方式中,在接收数据之前,还包括:
[0023]接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识;
[0024]根据所述标识,在本地缓存中查找所述数据;
[0025]如果在本地缓存中未查找到所述数据,按照路由信息向下一节点转发所述请求消息,并接收下一节点根据所述请求消息返回的数据;
[0026]如果在本地缓存中查找到所述数据,根据优先级设定规则,对查找到的所述请求获取的数据设置优先级属性,并将设有优先级属性的所述数据返回给所述请求方。
[0027]结合第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式、第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式,在第六种可能的实施方式中,所述优先级属性包括:第一优先级和第二优先级;所述第二优先级的级别高于第一优先级的级别。
[0028]结合第一方面的第六种可能的实施方式,在第七种可能的实施方式中,所述优先级属性与生命周期属性的对应关系包括:
[0029]如果接收到优先级属性为第一优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为第一生命周期;
[0030]如果接收到优先级属性为第二优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为第二生命周期。
[0031]结合第一方面的第七种可能的实施方式,在第八种可能的实施方式中,所述优先级属性还包括:第三优先级;所述第三优先级的级别高于所述第一优先级的级别,且低于所述第二优先级的级别;
[0032]则所述优先级属性与生命周期属性的对应关系还包括:
[0033]如果接收到优先级属性为第三优先级的数据,则在本地缓存中存储所述数据时,根据随机概率将所述数据的生命周期属性设置为第一生命周期或第二生命周期。
[0034]结合第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式、第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式、第一方面的第六种可能的实施方式、第一方面的第七种可能的实施方式或第一方面的第八种可能的实施方式,在第九种可能的实施方式中,所述优先级设定规则包括:
[0035]如果数据存在于本地缓存中,则将所述数据的优先级属性设置为第一优先级;
[0036]如果数据存在于数据源中,则将所述数据的优先级属性设置为第三优先级;
[0037]如果接收到优先级属性为第一优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为第三优先级;
[0038]如果接收到优先级属性为第三优先级的数据,则在转发所述数据时,根据随机概率将所述数据的优先级属性重新设置为第一优先级或第二优先级;
[0039]如果接收到优先级属性为第二优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为第一优先级。
[0040]本发明第二方面提供了一种路由器,应用于NDN系统中,可包括:
[0041]优先级获取模块,用于在接收到数据时,获取所述数据的优先级属性;
[0042]生命周期设置模块,用于根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性
[0043]存储模块,用于在本地缓存中存储设有生命周期属性的所述数据。
[0044]在第一种可能的实施方式中,所述路由器还包括:
[0045]优先级设置模块,用于根据优先级设定规则,对所述数据重新设置优先级属性;
[0046]响应模块,用于将重新设置优先级属性的所述数据返回给所述数据的请求方。
[0047]结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期。
[0048]结合第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述存储模块包括:
[0049]空间判断单元,用于根据所述数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间;
[0050]释放单元,用于如果判断结果为否,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间;
[0051]存储单元,用于在本地缓存中存储设有生命周期属性的所述数据。
[0052]结合第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述释放单元包括:
[0053]队列生成单元,用于如果判断结果为否,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据;
[0054]释放子单元,用于若待缓存的所述数据的大小小于或等于第一替换队列中所有数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据;或者,
[0055]若待缓存的所述数据的大小大于第一替换队列中所述数据的大小总和,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列中所有数据的大小总和的差值,删除所述第二替换队列中的已有数据。
[0056]结合第二方面的第二种可能的实施方式,在第五种可能的实施方式中,所述路由器还包括:
[0057]请求接收模块,用于接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识;
[0058]本地查找模块,用于根据所述标识,在本地缓存中查找所述数据;
[0059]处理模块,用于如果在本地缓存中未查找到所述数据,按照路由信息向下一节点转发所述请求消息,并接收下一节点根据所述请求消息返回的数据;或者,
[0060]用于如果在本地缓存中查找到所述数据,通知所述优先级设置模块根据优先级设定规则,对查找到的所述请求获取的数据设置优先级属性,并将设有优先级属性的所述数据返回给所述请求方。
[0061]本发明第三方面提供了一种NDN系统,包括:数据源和至少一个路由器,其特征在于,所述路由器为上述的路由器;其中,
[0062]所述数据源,与所述至少一个路由器相连接,用于根据所述路由器发送的请求消息,向所述路由器返回请求获取的数据。
[0063]实施本发明实施例,具有如下有益效果:
[0064]由上述可知,在本发明一些可行的实施方式中,数据包含优先级属性,根据数据的优先级属性设置数据的生命周期属性,并在本地缓存中存储所述设有生命周期属性的数据;由于各个路由器接收到相同数据时,其数据的优先级属性可能存在差异,因此依据此优先级属性获得的数据的生命周期属性也可能存在差异,从而可以在各个路由器之间形成差异化的缓存策略,使得相同的数据在各个路由器的缓存中的生命周期有所不同,从而可保证NDN系统的数据多样性,同时提高NDN系统的数据命中率。
【专利附图】

【附图说明】
[0065]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066]图1为本发明实施例提供的一种数据处理方法的流程图;
[0067]图2为图1所示步骤S103的实施例的流程图;
[0068]图3为本发明实施例提供的另一种数据处理方法的流程图;
[0069]图4为本发明实施例提供的一种路由器的结构示意图;
[0070]图5为图4所示存储模块的实施例的结构示意图;
[0071]图6为图5所示释放单元的实施例的结构示意图;[0072]图7为本发明实施例提供的另一种路由器的结构示意图;
[0073]图8为本发明实施例提供的一种NDN系统的结构示意图。
【具体实施方式】
[0074]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0075]本发明实施例中,数据的优先级属性用于指示数据的优先级,数据的优先级可以用于表示该数据的获取过程的复杂程度,数据的优先级越高,则表示该数据的获取过程越复杂;数据的优先级越低,表示该数据的获取过程越简单。例如:数据存在于某个路由器的缓存中,请求方向该路由器发起获取该数据的请求消息,则该路由器可直接从本地缓存中获得该数据返回给请求方,因此,该数据的获取过程简单,该路由器在向请求方返回数据时,为该数据设置较低的优先级属性;再如:数据存在于数据源中,请求方向路由器发起获取该数据的请求消息时,路由器需要根据路由信息对该请求消息进行转发,直至数据源接收到该请求消息并返回数据,此时,数据的获取过程较复杂,可由数据源在返回该数据时,为该数据设置较高的优先级属性。
[0076]数据的生命周期属性用于指示数据存在于缓存中的生命周期,数据的生命周期越长,表示数据在缓存中的存续时间越长;数据的生命周期越短,表示数据在缓存中的存续时间越短。
[0077]本发明实施例中,可以利用数据的优先级属性,影响数据的生命周期属性,从而实现NDN系统中各个路由器差异化的缓存策略,保证NDN系统的数据多样性,同时提高NDN系统的数据命中率。
[0078]下面将结合附图1-3,对本发明实施例提供的数据处理方法进行详细介绍。下述的数据处理方法可以应用于NDN系统中。
[0079]请参见图1,为本发明实施例提供的一种数据处理方法的流程图;该方法可包括如下步骤SlOl-步骤S103。
[0080]S101,在接收到数据时,获取所述数据的优先级属性。
[0081]本步骤中,可以从除本端路由器以外的其他路由器接收数据,其他路由器在发送所述数据时,为该数据设置优先级属性,本端路由器在接收到所述数据时,获取所述数据的优先级属性。本步骤中,也可以从数据源接收数据,数据源发送所述数据时,可以向本端路由器返回未设有优先级属性的所述数据,本端路由器在接收到所述数据后,按照优先级设定规则为该数据设置优先级属性;数据源发送所述数据时,也可以为该数据设置优先级属性,本端路由器在接收到所述数据时,获取所述数据的优先级属性。
[0082]本发明实施例的优先级属性,可以存在以下两种可行的实施方式:
[0083]在第一种可行的实施方式中,数据的优先级可以分为两个等级,即数据的所述优先级属性可以包括:第一优先级和第二优先级;所述第二优先级的级别高于第一优先级的级别;即在本实施方式中,每个数据均对应一个优先级属性,该优先级属性所指示的数据的优先级可以为低优先级(即第一优先级)或高优先级(即第二优先级)。[0084]在第二种可行的实施方式中,数据的优先级可以分为三个等级,即数据的所述优先级属性可以包括:第一优先级、第三优先级和第二优先级;所述第二优先级的级别高于第三优先级的级别,第三优先级高于第一优先级的级别;即在本实施方式中,每个数据均对应一个优先级属性,该优先级属性所指示的数据的优先级可以为低优先级(即第一优先级)、中优先级(即第三优先级)或高优先级(即第二优先级)。
[0085]需要说明的是,除特别说明外,本发明实施例的后续描述中,低优先级指代所述第一优先级,中优先级指代所述第三优先级,高优先级指代所述第二优先级。
[0086]在上述两种可行的实施方式中,每个优先级可以包括至少一个等级,例如:低优先级可以包括等级1-1、等级1-2、等级1-3 ;中优先级可以包括等级2-1、等级2-2 ;高优先级可以包括等级3-1、等级3-2 ;具体实现中,优先级所包括的等级的数量可以根据实际需要进行设定。[0087]S102,根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性。
[0088]所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期;即在本实施方式中,每个数据均对应一个生命周期属性,该生命周期属性所指示的数据的生命周期可以为短生命周期(即第一生命周期)、或长生命周期(即第二生命周期)。
[0089]需要说明的是,除特别说明外,本发明实施例的后续描述中,短生命周期指代所述第一生命周期,长生命周期指代所述第二生命周期。
[0090]本发明实施例中,可以预先设定优先级属性与生命周期属性的对应关系,对应于优先级属性的两种可行的实施方式,本发明的优先级属性与生命周期属性的对应关系也存在以下两种可行的实施方式:
[0091]在第一种可行的实施方式中,所述优先级属性包括低优先级或高优先级;则优先级属性与生命周期属性的对应关系可以如下述表一所示:
[0092]表一:优先级属性与生命周期属性的对应关系表(I)
[0093]
【权利要求】
1.一种数据处理方法,应用于命名数据网络NDN系统中,其特征在于,包括: 在接收到数据时,获取所述数据的优先级属性; 根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性; 在本地缓存中存储设有生命周期属性的所述数据。
2.如权利要求1所述的方法,其特征在于,所述获取所述数据的优先级属性之后,还包括: 根据优先级设定规则,对所述数据重新设置优先级属性; 将重新设置优先级属性的所述数据返回给所述数据的请求方。
3.如权利要求1或2所述的方法,其特征在于,所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期。
4.如权利要求3所述的方法,其特征在于,所述在本地缓存中存储设有生命周期属性的所述数据,包括: 根据所述数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间; 如果判断结果为否,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间; 在本地缓存中存储设有生命周期属性的所述数据。
5.如权利要求4所述的方法,其特征在于,所述根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间,包括: 根据本地缓存中已有数据的生命周期属性,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据; 若待缓存的所述数据的大小小于或等于第一替换队列中所有数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据; 若待缓存的所述数据的大小大于第一替换队列中所有数据的大小总和,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列中所有数据的大小总和的差值,删除所述第二替换队列中的已有数据。
6.如权利要求2所述的方法,其特征在于,在接收数据之前,还包括: 接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识; 根据所述标识,在本地缓存中查找所述数据; 如果在本地缓存中未查找到所述数据,按照路由信息向下一节点转发所述请求消息,并接收下一节点根据所述请求消息返回的数据; 如果在本地缓存中查找到所述数据,根据优先级设定规则,对查找到的所述请求获取的数据设置优先级属性,并将设有优先级属性的所述数据返回给所述请求方。
7.如权利要求3-6任一项所述的方法,其特征在于,所述优先级属性包括:第一优先级和第二优先级;所述第二优先级的级别高于第一优先级的级别。
8.如权利要求7所述的方法,其特征在于,所述优先级属性与生命周期属性的对应关系包括: 如果接收到优先级属性为第一优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为第一生命周期;如果接收到优先级属性为第二优先级的数据,则在本地缓存中存储所述数据时,将所述数据的生命周期属性设置为第二生命周期。
9.如权利要求8所述的方法,其特征在于,所述优先级属性还包括:第三优先级;所述第三优先级的级别高于所述第一优先级的级别,且低于所述第二优先级的级别; 则所述优先级属性与生命周期属性的对应关系还包括: 如果接收到优先级属性为第三优先级的数据,则在本地缓存中存储所述数据时,根据随机概率将所述数据的生命周期属性设置为第一生命周期或第二生命周期。
10.如权利要求2-9任一项所述的方法,其特征在于,所述优先级设定规则包括: 如果数据存在于本地缓存中,则将所述数据的优先级属性设置为第一优先级; 如果数据存在于数据源中,则将所述数据的优先级属性设置为第三优先级; 如果接收到优先级属性为第一优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为第三优先级; 如果接收到优先级属性为第三优先级的数据,则在转发所述数据时,根据随机概率将所述数据的优先级属性重新设置为第一优先级或第二优先级; 如果接收到优先级属性为第二优先级的数据,则在转发所述数据时,将所述数据的优先级属性重新设置为第一优先级。
11.一种路由器,应用于 NDN系统中,其特征在于,包括: 优先级获取模块,用于在接收到数据时,获取所述数据的优先级属性; 生命周期设置模块,用于根据优先级属性与生命周期属性的对应关系,为所述数据设置生命周期属性 存储模块,用于在本地缓存中存储设有生命周期属性的所述数据。
12.如权利要求11所述的路由器,其特征在于,还包括: 优先级设置模块,用于根据优先级设定规则,对所述数据重新设置优先级属性; 响应模块,用于将重新设置优先级属性的所述数据返回给所述数据的请求方。
13.如权利要求11或12所述的路由器,其特征在于,所述生命周期属性包括:第一生命周期和第二生命周期;所述第二生命周期长于所述第一生命周期。
14.如权利要求13所述的路由器,其特征在于,所述存储模块包括: 空间判断单元,用于根据所述数据的大小,判断本地缓存是否存在用于存储所述数据的存储空间; 释放单元,用于如果判断结果为否,根据本地缓存中已有数据的生命周期属性,释放本地缓存的存储空间; 存储单元,用于在本地缓存中存储设有生命周期属性的所述数据。
15.如权利要求14所述的路由器,其特征在于,所述释放单元包括: 队列生成单元,用于如果判断结果为否,采用预设的替换算法生成第一替换队列和第二替换队列,所述第一替换队列中包括本地缓存中生命周期属性为第一生命周期的数据,所述第二替换队列中包括本地缓存中生命周期属性为第二生命周期的数据; 释放子单元,用于若待缓存的所述数据的大小小于或等于第一替换队列中所有数据的大小总和,则按照所述数据的大小删除所述第一替换队列中的已有数据;或者, 若待缓存的所述数据的大小大于第一替换队列中所述数据的大小总和,则删除所述第一替换队列中的全部数据,并按照所述数据的大小与所述第一替换队列中所有数据的大小总和的差值,删除所述第二替换队列中的已有数据。
16.如权利要求12所述的路由器,其特征在于,还包括: 请求接收模块,用于接收请求方发送的请求消息,所述请求消息中携带请求获取的数据的标识; 本地查找模块,用于根据所述标识,在本地缓存中查找所述数据; 处理模块,用于如果在本地缓存中未查找到所述数据,按照路由信息向下一节点转发所述请求消息,并接收下一节点根据所述请求消息返回的数据;或者, 用于如果在本地缓存中查找到所述数据,通知所述优先级设置模块根据优先级设定规贝U,对查找到的所述请求获取的数据设置优先级属性,并将设有优先级属性的所述数据返回给所述请求方。
17.—种NDN系统,包括:数据源和至少一个路由器,其特征在于,所述路由器为如权利要求11-16任一项所述的路由器;其中, 所述数据源,与所述至少一个路由器相连接,用于根据所述路由器发送的请求消息,向所述路由器返回请求获取的数据。
【文档编号】H04L12/775GK103581052SQ201210273202
【公开日】2014年2月12日 申请日期:2012年8月2日 优先权日:2012年8月2日
【发明者】龙有水 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1