一种基于ICN命名的数据开放服务系统及方法与流程

文档序号:18357821发布日期:2019-08-06 23:23阅读:287来源:国知局
一种基于ICN命名的数据开放服务系统及方法与流程

本发明属于互联网、物联网、智能家居的技术领域,具体涉及一种基于icn命名的数据开放服务系统及方法。



背景技术:

随着互联网、物联网、智能家居等现代技术的快速发展,网络正在不断发生转变,现有网络很难应对如今的大流量、以视频等内容为主的信息网络的发展要求。现在使用的互联网架构是在上世纪60-70年代设计的,最初的互联网设计,是为了用于连接不同地理位置的资源,于是采用了细腰结构的tcp/ip协议栈作为中间部分连接上层与下层,通过在主机之间建立通信链路来进行通信。这种架构对于原来的http、ftp等基于主机间的通信是非常合适的,互联网也在这种架构的基础上蓬勃发展。但是,随着现代互联网的发展,这种架构逐渐显露出各种弊端,例如,对主机的移动支持不佳。近年来的数据表明,互联网正在由主机间通信变为以内容为导向的通信。

为了应对互联网发展带来的新需求,互联网在原有基础上进行了很多增加。这种进行增加而不是从头开始的方法,使得互联网功能不断扩展,适应了各类新的需求。这种增加中间件或者补丁方法的好处:可以不对原有已部署的网络做过多改动,就能实现新的功能和需求;但是,也存在一项明显的弊端:无法达到从零部署那样的底层高性能。

为了应对现有网络对内容的需求,信息中心网络(informationcentricnetwork,简写icn)应运而生。信息中心网络icn的主要目标是将现有的面向主机间的通信模式转换为以内容为中心的通信模式。其中,以内容为中心的通信模式,需要一种与地理位置、网络地址无关的命名,从而实现脱离当前这种tcp/ip要求的基于主机的模式,以便有效地通过网络分发内容。

随着无线通信技术的不断发展,在将来5g网络中,视频等内容的传输更加成为了网络的主要需求,急需一种可以实现低时延、可以很好支持移动性的解决方案。5g网络的典型场景包括连续广域覆盖、低功耗大连接、热点高容量、低时延高可靠这些方面,5g的技术指标中也很看重端到端的时延和移动性的需求。在低时延高可靠这方面,5g的场景指标中提出空口时延要降低到1ms以下,端到端的时延要降低到ms量级,这就需要命名解析与路由时间控制在一个更低的数量级内。

信息中心网络icn是目前多种未来网络中非常被看好的一种,目前,关于信息中心网络icn的相关研究也很多,比如结合广播与基于内容的网络(combinedbroadcastandcontentbasednetwork,简称cbcb)、面向数据的网络架构(dataorientednetworkarchitecture,简称dona)、命名数据网络(nameddatanetworking,简称ndn)、信息网络(networkofinformation,简称netinf)、发布订阅互联网技术(publishsubscribeinternettechnology,简称pursuit)等。其中,cbcb通过广播层实现推送与拉取兴趣包,从而实现内容的发布与获取;dona通过其特殊的p:l命名方式,从而实现因特网的安全性需求,并通过特殊的rh系统来实现命名与路由解析;ndn通过特殊的分层结构,从而实现很好的聚合;netinf通过rex系统和dht网络,能实现内容的命名与路由;pursuit则提出了sid、rid的特殊命名方式与发布订阅式的模式。信息中心网络icn可以很好的满足5g网络未来的需求,其具有简化的移动架构、无缝的多宿主支持、高效的网内缓存等特性,与5g网络的需求高度契合,可以实现5g网络的移动业务连续、高速率、低时延。

restful架构是目前十分流行的一种互联网软件架构,具有结构清晰、符合标准、易于理解和扩展方便等优势;因此,获得了广泛的应用。rest(representationalstatetransfer,简称rest)首次于2000年出现在royfielding的论文中,指出:“长期以来,软件研究主要关注软件设计的分类、设计方法的演化,很少客观地评估不同的设计选择对系统行为的影响。而相反地,网络研究主要关注系统之间通信行为的细节、如何改进特定通信机制的表现,常常忽视了一个事实,那就是改变应用程序的互动风格比改变互动协议,对整体表现有更大的影响。这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。”在目前主流的服务交互方案中,rest相比于soap以及xml-rpc,更加简单明了,获得了广泛的欢迎。

虽然关于上述信息中心网络icn研究,比如cbcb、dona、ndn、netinf、pursuit等方法都具有各自的优点,但是,目前仍然缺乏一种基于icn命名的数据开放服务系统及方法,特别是缺乏一种面向5g的能兼容现有ip网络的icn数据开放的命名具体实施方法和命名及内容解析传输的具体数据开放服务系统,命名方面尚无一个综合各种命名优势的通用方法,传输与解析方案更缺乏能够有效实施的具体实现,相关的研究更多停留在理论阶段,可实现性仍有一定问题,数据开放的接口方面更是没有具体的方法与系统方案。同时5g网络还会基于现有的ip网络基础设施之上,运营商建立一个庞大的纯icn成本高昂,于是急需一种可以兼容现有ip网络从而实现面向5g的通过增加中间层来实现的icn命名的数据开放服务方法和完整的系统实现。



技术实现要素:

本发明的目的在于,为解决现有技术存在上述缺陷,本发明提供出了一种基于icn命名的数据开放服务系统,克服现有扁平化命名在聚合方面存在天然的劣势,并克服层次化命名方案不能保证命名的安全自认证特性、全局唯一性、持久化命名、位置无关等需求,通过icn命名来实现数据开放服务,以解决垂直化应用之间的数据共享问题。

为了实现上述目的,本发明提供了一种基于icn命名的数据开放服务系统,该系统是结合了层次化人类可读名字(hrn)、本地定长短名字(lid)和包含前缀、中间、后缀的全局唯一实体名字(eid)的基于icn的命名方式;采用了restful的架构,提供了用户或上层应用的用户接口将所述原始数据传递给用户或高层应用,来实现内容数据源中的原始数据的开放服务。其中,该数据开放服务系统包括:

网关子系统,用于采集和存储内容数据源的原始数据;将所述原始数据注册为hrn名字数据,存储至内容与名称绑定数据库;再将其进行域内名称交换,将所述hrn名字数据通过数据包转发子系统发送至全局命名子系统;还用于发送eid名字数据与网络地址na的映射关系至全局解析子系统;还用于发送网络地址na对应的原始数据至用户交互子系统;

数据包转发子系统,用于分别与网关子系统、全局命名子系统、全局解析子系统和用户交互子系统进行数据转发和通信;可以实现直接搭建在现有ip网络之上,从而做到与现有网络和5g网络的完全兼容;

全局命名子系统,用于接收所述hrn名字数据,采用sha-1的hash函数,将hrn名字数据命名为包含前缀、中间和后缀的eid名字数据,并进行安全认证,实现icn命名;

全局解析子系统,用于将所述eid名字数据与网络地址na之间的映射关系进行注册与存储,以供查询;还用于解析用户或上层应用所输入的hrn名字数据对应的eid名字数据,检索并查询其对应的网络地址na;

用户交互子系统,用于与用户或上层应用进行交互;用于获取所输入的hrn名字数据对应的eid名字数据及其对应的网络地址na;还用于获取由网关子系统发送的网络地址na对应的原始数据,并提供restful的用户接口将所述原始数据传递给用户或高层应用,以实现内容数据源中的原始数据的开放服务。

在上述技术方案中,所述网关子系统进一步包括:

数据采集模块,用于采集内容数据源的各类原始数据,并将其发送至内容存储模块;

内容存储模块,用于接收所述各类原始数据,再根据用途的不同,选择直接存储或经过预处理后再存储的存储方式进行存储;

内容注册模块,用于将所述各类原始数据注册为hrn名字数据;其中,所述hrn名字数据是带有hrn名字的原始数据;

内容与名称绑定数据库,用于存储所述hrn名字数据、由全局命名子系统发送的eid名字数据与网络地址na的映射关系和网络地址na对应的原始数据;

内容发送模块,用于将所述hrn名字数据发送至第一icn通信模块;还用于将最新的网络地址na对应的原始数据发送至第一icn通信模块;

域内名字转换模块,用于全局唯一实体名字(简写eid,一般为160bit)与本地定长短名字(简写lid,一般为16bit)之间的转换。优选地,可以通过提取全局唯一实体名字eid的一部分作为本地定长短名字lid的方法来实现域内名字转换;

第一icn网络通信模块,用于与数据包转发子系统进行所述hrn名字数据和最新的网络地址na对应的原始数据的转发和通信。按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中。

在上述技术方案中,所述全局命名子系统进一步包括:

内容命名模块,用于接收hrn名字数据的命名请求后,接收hrn名字数据,采用sha-1的hash函数和lid的扁平化定长,将hrn名字数据命名为包含前缀、中间和后缀的eid名字数据;其中,所述eid名字数据与hrn名字数据一一对应;

内容认证模块,用于对eid名字数据进行安全认证;具体地,根据公钥信息和私钥信息,判断认证请求是否为合法请求;如果该认证请求的公钥与私钥是配对的,则判断为合法请求,安全认证成功,通过数据包转发子系统向网关子系统发送eid名字数据;如果该认证请求的公钥与私钥不是配对的,则判断为不合法请求,返回不合法错误,并返回安全认证失败;

第二icn网络通信模块,用于与数据包转发子系统进行eid名字数据的转发和通信。按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中。

所述内容命名模块具体包括:首先,通过hash函数和lid的扁平化定长,将hrn名字数据转换为eid名字数据;然后,在eid名字数据的前缀增加用于聚合的定长聚合类名;在eid名字数据的中间设为包含hrn的hash的定长;并在eid名字数据的后缀增加版本与片段信息,从而综合利用扁平化命名与层次化命名的优势。具体地,将hrn名字数据转换到eid名字数据,可以采用sha-1的hash函数,由于hrn名字数据是不定长且人类可读的,eid名字数据唯一定长的160bit;在hrn名字数据前后增加前缀和后缀,转换为eid名字数据;其中,前缀为视频类前缀,代表第一类内容资源;中间是hrn的hash的hrn名字数据,后缀为版本号和片段信息。

在上述技术方案中,所述全局解析子系统进一步包括:

第三icn网络通信模块,用于与数据包转发子系统进行所述eid名字数据与网络地址na之间的映射关系、所输入的hrn名字数据对应的eid名字数据及其对应的网络地址na的转发和通信;按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中;

请求处理模块,用于将所述eid名字数据与网络地址na之间的映射关系进行注册;还用于解析用户或上层应用所输入的hrn名字数据对应的eid名字数据,检索并查询其对应的网络地址na;

全局解析数据库,用于存储所述eid名字数据与网络地址na之间的映射关系,eid名字数据及其网络地址na,供查询操作。

所述全局解析数据库还包括:当已存在的eid名字数据进行存储时,覆盖已存在的eid名字数据所对应的网络地址na,获得最新网络地址na,以满足网络附着点改变带来的移动性需求。

所述请求处理模块还包括:当所处理的解析和查询请求不合法时,则返回错误信息。

在上述技术方案中,所述用户交互子系统进一步包括:

用户接口模块,用于提供所需输入的任一hrn名字数据;还用于获取网络地址na对应的原始数据,并按照restful架构传递所述网络地址na对应的原始数据给用户或上层应用,以实现内容数据源中的原始数据的开放服务;

名称转换代理模块,用于获取所述所需输入的hrn名字数据,并向全局命名子系统发送所需输入的hrn名字数据,查询并获取其对应的eid名字数据,再向全局解析子系统发送该eid名字数据,解析所述eid名字数据,查询并获取对应的网络地址na;还用于向网关子系统发送网络地址na,查询其对应的原始数据;

内容存储模块,用于接收所述网络地址na,并完整封装,再将其进行存储;

第四icn通信模块,用于与数据包转发子系统进行所需输入的hrn名字数据对应的eid名字数据及其对应的网络地址na、网络地址na对应的原始数据的转发和通信。按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中。

在上述技术方案中,所述数据包转发子系统,用于分别与网关子系统、全局命名子系统、全局解析子系统和用户交互子系统进行数据转发和通信;从而实现兼容未来作为5g基础设施的ip网络。具体地,是部署在网络中的包括pof在内的可编程网络设备,上面运行程序用于解析各类icn包数据,并做路由与转发操作。

其中,所述icn包数据是本系统的信令与数据包封装格式,可以在现有ip网络中实现,从而实现兼容5g网络。其中,所述icn包数据是指作为信令的icn包头与封装后的icn载荷。

本发明还提供了一种基于icn命名的数据开放服务方法,其包括:内容注册与发布、内容网络地址na变化检测及重新注册和内容获取。

上述技术方案中,所述内容注册与发布具体包括:

步骤101)网关子系统的数据采集模块采集原始数据源的各类最新原始数据,将所述各类最新原始数据注册并存储为hrn名字数据;

步骤102)网关子系统通过数据包转发子系统向全局命名子系统发送hrn名字数据及其命名请求;

步骤103)全局命名子系统接收步骤102)的命名请求后,接收hrn名字数据,将其命名为eid名字数据,并进行安全认证,在通过安全认证后,通过数据包转发子系统向网关子系统返回eid名字数据;

步骤104)网关子系统接收步骤103)的eid名字数据,通过第一icn网络通信模块和数据包转发子系统,向全局解析子系统发送所述eid名字数据及其对应的网络地址na;

步骤105)全局解析子系统接收所述eid名字数据及其对应的网络地址na,并将所述eid名字数据及其对应的网络地址na,和eid名字数据及其对应的网络地址na之间的映射关系存储至全局解析数据库;随后通过数据包转发子系统返回第一成功消息至网关子系统,网关子系统存储所述eid名字数据;其中,所述第一成功消息为eid名字数据及其对应的网络地址na之间的映射关系。

上述技术方案中,所述内容网络地址na变化检测及重新注册具体包括:

网关子系统不断检测网络地址na是否发生网络变化,如果网络地址na发生网络变化,则检索出全部eid名字数据,再通过第一icn通信模块和数据包转发子系统,向全局解析子系统发送全部eid名字数据与网络地址na之间的映射关系的更新请求;然后全局解析子系统接收更新请求,根据新的网络地址na,更新eid名字数据,存储新的eid名字数据与新的网络地址na之间的映射关系至全局解析数据库,以更新全局解析数据库,通过第三icn通信模块与数据包转发子系统发送第二成功消息至网关子系统;其中,所述第二成功消息具体是指更新后的eid名字数据与新的网络地址na之间的映射关系。

上述技术方案中,所述内容获取具体包括:

步骤301)用户或上层应用输入任一hrn名字数据,并将其发送至用户交互子系统;

步骤302)用户交互子系统获取该hrn名字数据,并通过数据包转发子系统向全局命名子系统发送所述hrn名字数据及其命名查询请求;

步骤303)全局命名子系统接收该命名查询请求后,检索并查询所述hrn名字数据对应的eid名字数据,通过第二icn网络通信模块和数据包转发子系统返回该eid名字数据至用户交互子系统;

步骤304)用户交互子系统接收所述eid名字数据,通过第四icn网络通信模块和数据包转发子系统向全局解析子系统发送该eid名字数据及其解析请求;

步骤305)全局解析子系统接收解析请求后,检索并查询全局解析数据库,获取所述eid名字数据对应的网络地址na,并通过第三icn网络通信模块和数据包转发子系统返回所述eid名字数据对应的网络地址na至用户交互子系统;

步骤306)用户交互子系统通过数据包转发子系统向网关子系统发送所述eid名字数据对应的网络地址na;

步骤307)网关子系统接收所述eid名字数据对应的网络地址na,并获取该网络地址na对应的原始数据,通过第一icn网络通信模块和数据包转发子系统向用户交互子系统发送该网络地址na对应的原始数据,按照restful架构传递所述网络地址na对应的原始数据至用户或上层应用,以实现内容数据源中的原始数据的开放服务。

本发明的优点在于:

本发明通过结合restful来实现内容数据源中的原始数据的开放服务,具有结构清晰、符合标准、易于理解、扩展方便的特点,解决了垂直化应用之间的数据共享问题;通过增加中间层的方式,实现了在基于ip网络的5g网络环境下从命名解析到内容传输的整套icn命名的数据开放服务方法与系统实现,具有可实施性、通用性。本发明通过提供一种在面向5g的icn内容命名方式,来实现名字的安全自认证、持久化命名、位置无关、具有聚合能力等特点;通过在ip上传输icn数据包的方法实现在未来5g与icn的融合,并通过本地定长短名字lid的扁平化定长来减少本地传输开销。

附图说明

图1是本发明的一种基于icn命名的数据开放服务系统的架构图;

图2是本发明的一种基于icn命名的数据开放服务系统的icn包头格式的示意图;

图3是本发明的一种基于icn命名的数据开放服务系统的几种不同icn包格式的示意图;

图4是本发明的一种基于icn命名的数据开放服务方法的内容注册与发布的流程图;

图5是本发明的一种基于icn命名的数据开放服务方法的内容网络地址na变化检测及重新注册的流程图;

图6是本发明的一种基于icn命名的数据开放服务方法的内容获取的流程图。

具体实施方式

本发明的一种基于icn命名的数据开放服务系统及方法具有广泛的用途,如在5g的ip网络环境下视频或音频直播与点播系统中对音视频内容进行命名、传输音视频内容数据,在物联网领域命名传感器数据并传输传感器的原始数据到远端,其中远端用户接口采用restful架构,具有结构清晰、符合标准、易于理解、扩展方便等优势。在下面的实施例中,以向一在现有ip网络下使用icn的视频内容命名与内容传输系统为例,对本系统的构成、功能、工作流程等做详细说明。当该系统用于其他场合时,其构成、功能、工作流程总体上没有本质区别,只要将其中发布与获取的内容做相应修改即可。

本发明提供了一种基于icn命名的数据开放服务系统,该系统是结合了层次化人类可读名字(hrn)、本地定长短名字(lid)和包含前缀、中间、后缀的全局唯一实体名字(eid)的基于icn的命名方式;采用了restful的架构,提供了用户接口将所述原始数据传递给用户或高层应用,来实现内容数据源中的原始数据的开放服务。其中,如图1所示,该数据开放服务系统包括:

网关子系统,用于采集和存储内容数据源的原始数据;将所述原始数据注册为hrn名字数据,存储至内容与名称绑定数据库;再将其进行域内名称交换,将所述hrn名字数据通过数据包转发子系统发送至全局命名子系统;还用于发送eid名字数据与网络地址na的映射关系至全局解析子系统;还用于发送网络地址na对应的原始数据至用户交互子系统;

数据包转发子系统,用于分别与网关子系统、全局命名子系统、全局解析子系统和用户交互子系统进行数据转发和通信;可以实现直接搭建在现有ip网络之上,从而做到与现有网络和5g网络的完全兼容;

全局命名子系统,用于接收所述hrn名字数据,采用sha-1的hash函数,将hrn名字数据命名为包含前缀、中间和后缀的eid名字数据,并进行安全认证,实现icn命名;

全局解析子系统,用于将所述eid名字数据与网络地址na之间的映射关系进行注册与存储,以供查询;还用于解析用户或上层应用所输入的hrn名字数据对应的eid名字数据,检索并查询其对应的网络地址na;

用户交互子系统,用于与用户或上层应用进行交互;用于获取所输入的hrn名字数据对应的eid名字数据及其对应的网络地址na;还用于获取由网关子系统发送的网络地址na对应的原始数据,并提供restful的用户接口将所述原始数据传递给用户或高层应用,以实现内容数据源中的原始数据的开放服务。

在上述技术方案中,所述网关子系统进一步包括:

数据采集模块,用于采集内容数据源的各类原始数据,并将其发送至内容存储模块;

内容存储模块,用于接收所述各类原始数据,再根据用途的不同,选择直接存储或经过预处理后再存储的存储方式进行存储;

内容注册模块,用于将所述各类原始数据注册为hrn名字数据;其中,所述hrn名字数据是带有hrn名字的原始数据;

内容与名称绑定数据库,用于存储所述hrn名字数据、由全局命名子系统发送的eid名字数据与网络地址na的映射关系和网络地址na对应的原始数据;

内容发送模块,用于将所述hrn名字数据发送至第一icn通信模块;还用于将网络地址na对应的原始数据发送至第一icn通信模块;

域内名字转换模块,用于全局唯一实体名字(简写eid,一般为160bit)与本地定长短名字(简写lid,一般为16bit)之间的转换。优选地,可以通过提取全局唯一实体名字eid的一部分作为本地定长短名字lid的方法来实现域内名字转换;

第一icn网络通信模块,用于与数据包转发子系统进行所述hrn名字数据和网络地址na对应的原始数据的转发和通信。按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中。

所述网关子系统具体为:所述数据采集模块采集内容数据源的各类原始数据,如视频原始帧、各类传感器的原始数据流等,本身不具备存储功能。通过数据采集模块采集的各类原始数据,根据用途的不同,选择可以直接存储所述各类原始数据或将所述各类原始数据进行预处理再存储的存储方式存储到内容存储模块;其中,所述各类原始数据被注册为hrn名字数据,并进行存储。所述hrn名字数据、eid名字数据与网络地址na的映射关系和网络地址na对应的原始数据可以通过调用内容注册模块、内容发送模块,与所述数据包转发子系统、全局命名子系统、全局解析子系统、用户交互子系统进行命名、注册、查询、获取等一系列操作,从而被其他设备的用户或上层应用获取到。其中,所述网络地址na对应的原始数据可以供远端的处理程序通过用户交互子系统获取并直接经过所述网关子系统被应用层程序提供给用户使用。同时,所述网关子系统还将在设备位置变化导致网络地址na变化时,重新注册所述网关子系统中存储的全部hrn名字数据内容,实现5g移动性需求。

具体地,所述网关子系统可以是一个具有数据处理功能的计算机或单片机等设备,例如,树莓派。通过数据包转发子系统向全局命名子系统发送hrn名字数据,取回经过全局命名子系统命名的eid名字数据,并存储到内容与名称绑定数据库,提取eid名字数据的一部分作为本地定长短名字lid,可以通过提取全局唯一实体名字(eid,一般为160bit)的一部分作为本地定长短名字(lid,一般为16bit)的方法来实现域内名字转换。随后,向全局解析子系统发送eid名字数据与网络地址na之间的映射关系并进行注册的注册请求。

在上述技术方案中,所述全局命名子系统进一步包括:

内容命名模块,用于接收hrn名字数据的命名请求后,接收hrn名字数据,采用sha-1的hash函数和lid的扁平化定长,将hrn名字数据命名为包含前缀、中间和后缀的eid名字数据;其中,所述eid名字数据与hrn名字数据一一对应;

内容认证模块,用于对eid名字数据进行安全认证;具体地,根据公钥信息和私钥信息,判断认证请求是否为合法请求;如果该认证请求的公钥与私钥是配对的,则判断为合法请求,安全认证成功,通过数据包转发子系统向网关子系统发送eid名字数据;如果该认证请求的公钥与私钥不是配对的,则判断为不合法请求,返回不合法错误,并返回安全认证失败;

第二icn网络通信模块,用于与数据包转发子系统进行eid名字数据的转发和通信。按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中。

所述内容命名模块具体包括:首先,通过hash函数和lid的扁平化定长,将hrn名字数据转换为eid名字数据;然后,在eid名字数据的前缀增加用于聚合的定长聚合类名;在eid名字数据的中间设为包含hrn的hash的定长;并在eid名字数据的后缀增加版本与片段信息,从而综合利用扁平化命名与层次化命名的优势。具体地,将hrn名字数据转换到eid名字数据,可以采用sha-1的hash函数,由于hrn名字数据是不定长且人类可读的,eid名字数据唯一定长的160bit;在hrn名字数据前后增加前缀和后缀,转换为eid名字数据;其中,前缀为视频类前缀,代表第一类内容资源;中间是hrn的hash的hrn名字数据,后缀为版本号和片段信息。

其中,所述内容命名模块的具体命名过程如下:人类可读名称(hrn)表示内容的属性,所述hrn名字数据包含语义信息,其长度不定长;采用层次化命名,用于对内容的属性进行标识,例如,“中科院声学所/国家网络新媒体工程技术研究中心/5g-icn小组/视频会议”,此例中从中科院声学所到视频会议的易于聚合的分层结构。本地唯一名字(lid)采用定长扁平化的短名字,比如16bit,以减少本地传输开销,例如“1994”,此例中lid为本地命名,是根据eid名字数据的内容存放位置决定的,当内容过多时可以循环利用,存储在网关子系统的域内名字转换模块中。

采用lid的扁平化定长的长名字(如160bit)对eid名字数据进行命名;其中,lid与eid名字数据的长度不同,lid没有前后缀,eid名字数据包含前缀和后缀,lid用的是短名字,eid名字数据用的是长名字。eid名字数据包括:前缀、中间和后缀;其中,所述前缀设为定长16bit,所述中间为来自hrn部分定长(如128bit),所述后缀为来自片段和版本信息部分定长16bit;例如,eid名字数据为“00016876c2c368b7e287ac865232799131530101”;其中,eid名字数据的长度为160bit,其中:前缀16bit为聚合用前缀0001,代表第一类内容资源;中间128bit为内容的扁平化hash,即6876c2c368b7e287ac86523279913153,具有全局唯一、安全自认证、名字与位置无关的特点,可满足5g移动性需求;后缀16bit为0101,代表版本和片段信息,即v1版本v1片段。

在上述技术方案中,所述全局解析子系统进一步包括:

第三icn网络通信模块,用于与数据包转发子系统进行所述eid名字数据与网络地址na之间的映射关系、所输入的hrn名字数据对应的eid名字数据及其对应的网络地址na的转发和通信;按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中;

请求处理模块,用于将所述eid名字数据与网络地址na之间的映射关系进行注册;还用于解析用户或上层应用所输入的hrn名字数据对应的eid名字数据,检索并查询其对应的网络地址na;

全局解析数据库,用于存储所述eid名字数据与网络地址na之间的映射关系,eid名字数据及其网络地址na,供查询操作。

所述全局解析数据库还包括:当已存在的eid名字数据进行存储时,覆盖已存在的eid名字数据所对应的网络地址na,获得最新网络地址na,以满足网络附着点改变带来的移动性需求。

所述请求处理模块还包括:当所处理的解析和查询请求不合法时,则返回错误信息。

在上述技术方案中,所述用户交互子系统进一步包括:

用户接口模块,用于提供所需输入的任一hrn名字数据;还用于获取网络地址na对应的原始数据,并按照restful架构传递所述网络地址na对应的原始数据给用户或上层应用,以实现内容数据源中的原始数据的开放服务;

名称转换代理模块,用于获取所述所需输入的hrn名字数据,并向全局命名子系统发送所需输入的hrn名字数据,查询并获取其对应的eid名字数据,再向全局解析子系统发送该eid名字数据,解析所述eid名字数据,查询并获取对应的网络地址na;还用于向网关子系统发送网络地址na,查询其对应的原始数据;

内容存储模块,用于接收所述网络地址na,并完整封装,再将其进行存储;

第四icn通信模块,用于与数据包转发子系统进行所需输入的hrn名字数据对应的eid名字数据及其对应的网络地址na、网络地址na对应的原始数据的转发和通信。按照定义的数据包格式发送、接收和处理icn包数据;其中,所述icn包数据进一步包括:icn包头与icn载荷。icn包数据中的icn载荷部分包括原始数据,也就是说把原始数据封装到icn包数据的icn载荷中。

在上述技术方案中,所述数据包转发子系统,用于分别与网关子系统、全局命名子系统、全局解析子系统和用户交互子系统进行数据转发和通信;从而实现兼容未来作为5g基础设施的ip网络。具体地,是部署在网络中的包括pof在内的可编程网络设备,上面运行程序用于解析各类icn包数据,并做路由与转发操作。

其中,所述icn数据包是本系统的信令与数据包封装格式,可以在现有ip网络中实现,从而实现兼容5g网络。其中,icn包数据是指作为信令的icn包头与封装后的icn载荷。

具体地,如图2所示,icn分组是指6种不同类型的icn包头格式,其包括:解析注册分组、解析注册应答分组、解析请求分组、解析请求应答分组、数据请求分组、数据请求应答分组。icn包数据的首部部分是icn包头的控制信息格式,其中,源eid是发送方的eid,目的eid是接收方的eid,源na是发送方的na,目的na是接收方的na;icn分组的所述6种不同类型可用于保证服务质量,以提高用户体验;icn首部长度用于表示该icn分组的首部字节数、icn首部校验;还用于校验icn包数据的首部部分的完整性和正确性。tlv是其他可变信息,可用于日后的扩展需求;图2的icn包头封装在ip包或者传输层包中作为ip包或者传输层包的负荷,从而实现在现有ip网络下传输icn包数据,从而可直接用于5g网络环境下。

如图3所示,icn包数据的头8bit是分组类型;根据不同的分组类型,设计以下不同种类型的icn包头:解析注册分组,注册应答分组,解析请求分组,解析请求应答分组,数据请求分组和数据请求应答分组;其中,

所述解析注册分组中,ip头部为20byte二进制编码;tcp头部为20byte二进制编码,也可以用8byte的udp编码代替;icn头部为44byte二进制编码;类型为8bit二进制编码,用于注册eid和na的映射关系;eid为160bit二进制编码;na为32bit二进制编码;时间戳为32bit二进制编码;移动参数为8bit二进制编码,用于移动性扩展,如向2级容器注册则填写2;

所述注册应答分组中,ip头部为20byte二进制编码;tcp头部为20byte二进制编码,也可以用8byte的udp编码代替;icn头部为44byte二进制编码;类型为8bit二进制编码,用于注册eid和na的映射关系;eid为160bit二进制编码;ackflag:01注册成功,10注册失败;

所述解析请求分组中,ip头部为20byte二进制编码;tcp头部为20byte二进制编码,也可以用8byte的udp编码代替;icn头部为44byte二进制编码;类型为8bit二进制编码,用于注册eid和na的映射关系;eid为160bit二进制编码;跟踪标记、同级跟踪标记、初始容器标记、跟踪级数均用于后续的移动性扩展和设置传输级别;

所述解析请求应答分组中,ip头部为20byte二进制编码;tcp头部为20byte二进制编码,也可以用8byte的udp编码代替;icn头部为44byte二进制编码;类型为8bit二进制编码,用于注册eid和na的映射关系;eid为160bit二进制编码;na为返回的网络地址,当na地址为全0时,表示解析失败;时间戳为32bit二进制编码;

所述数据请求分组中,ip头部为20byte二进制编码;tcp头部为20byte二进制编码,也可以用8byte的udp编码代替;icn头部为44byte二进制编码;类型为8bit二进制编码,用于注册eid和na的映射关系;eid为160bit二进制编码;

所述数据请求应答分组中,ip头部为20byte二进制编码;tcp头部为20byte二进制编码,也可以用8byte的udp编码代替;icn头部为44byte二进制编码;类型为8bit二进制编码,用于返回请求的数据内容;数据内容为可变长度,即icn载荷。

本发明还提供了一种基于icn命名的数据开放服务方法,其包括:内容注册与发布、内容网络地址na变化检测及重新注册和内容获取。

如图4所示,上述技术方案中,所述内容注册与发布具体包括:

步骤101)网关子系统的数据采集模块采集原始数据源的各类原始数据,将所述各类原始数据注册为hrn名字数据,并将其进行存储;

步骤102)网关子系统通过数据包转发子系统向全局命名子系统发送hrn名字数据及其命名请求;

步骤103)全局命名子系统接收步骤102)的命名请求后,接收hrn名字数据,将其命名为eid名字数据,并进行安全认证,在通过安全认证后,通过数据包转发子系统向网关子系统返回eid名字数据;

步骤104)网关子系统接收步骤103)的eid名字数据,通过第一icn网络通信模块和数据包转发子系统,向全局解析子系统发送所述eid名字数据与网络地址na的映射关系;

步骤105)全局解析子系统接收eid名字数据与网络地址na之间的映射关系,并存储至全局解析数据库;随后通过数据包转发子系统返回第一成功消息至网关子系统;其中,所述第一成功消息为eid名字数据与网络地址na之间的映射关系。

如图5所示,上述技术方案中,所述内容网络地址na变化检测及重新注册具体包括:

网关子系统不断检测网络地址na是否发生网络变化,如果网络地址na发生网络变化,则检索出全部eid名字数据,再通过第一icn通信模块和数据包转发子系统,向全局解析子系统发送全部eid名字数据与网络地址na之间的映射关系的更新请求;然后全局解析子系统接收更新请求,根据新的网络地址na,更新eid名字数据,存储新的eid名字数据与新的网络地址na之间的映射关系至全局解析数据库,以更新全局解析数据库,通过第三icn通信模块与数据包转发子系统发送第二成功消息至网关子系统;其中,所述第二成功消息具体是指更新后的eid名字数据与新的网络地址na之间的映射关系。

如图6所示,上述技术方案中,所述内容获取具体包括:

步骤301)用户或上层应用输入任一hrn名字数据,并将其发送至用户交互子系统;

步骤302)用户交互子系统获取该hrn名字数据,并通过数据包转发子系统向全局命名子系统发送所述hrn名字数据及其命名查询请求;

步骤303)全局命名子系统接收该命名查询请求后,检索并查询所述hrn名字数据对应的eid名字数据,通过第二icn网络通信模块和数据包转发子系统返回该eid名字数据至用户交互子系统;

步骤304)用户交互子系统接收所述eid名字数据,通过第四icn网络通信模块和数据包转发子系统向全局解析子系统发送该eid名字数据及其解析请求;

步骤305)全局解析子系统接收解析请求后,检索并查询全局解析数据库,获取所述eid名字数据对应的网络地址na,并通过第三icn网络通信模块和数据包转发子系统返回所述eid名字数据对应的网络地址na至用户交互子系统;

步骤306)用户交互子系统通过数据包转发子系统向网关子系统发送所述eid名字数据对应的网络地址na;

步骤307)网关子系统接收所述eid名字数据对应的网络地址na,并获取该网络地址na对应的原始数据,通过第一icn网络通信模块和数据包转发子系统向用户交互子系统发送该网络地址na对应的原始数据,按照restful架构传递所述网络地址na对应的原始数据至用户或上层应用,以实现内容数据源中的原始数据的开放服务。

在其他具体实施例中,内容数据源中的原始数据为某个650mb电影视频;hrn名字数据为该视频的人类可读名字叫做“星球大战6”;eid名字数据为“c368b7e...”是一个计算机可读的全球唯一160bit编码;网络地址na为“210.75.225.3”是一个网络地址,允许使用ip作为na。

用户交互子系统将用户或应用输入的任一hrn名字数据向全局命名子系统查询该hrn名字数据对应的eid名字数据,随后用该eid名字数据向全局解析子系统查询网络地址na,然后将该网络地址na发送至网关子系统,网关子系统查询并获取该网络地址na对应的原始数据,即某个650mb电影视频;最后将该网络地址na对应的原始数据通过用户交互子系统传递并完整封装,并通过restful架构的用户接口提供给用户或者上层应用,以实现内容数据源的原始数据的开放服务。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1