专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
一种基于云的数据获取方法

一种基于云的数据获取方法

IPC分类号 : H04L12/24,H04L29/08

申请号
CN201610403666.0
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日:
  • 公开号:
  • 公开日: 2018-11-09
  • 主分类号: H04L12/24
  • 专利权人: 常熟理工学院

专利摘要

本发明提供了一种基于云的数据获取方法,包括一个由移动节点构成的网络,网络中一个数据ID定义一种类型的数据,网络中能够提供同一种类型数据的移动节点构建成一个k‑anycast组,该k‑anycast组由定义该种类型数据的数据ID唯一标识,一个k‑anycast组里的移动节点称为骨干节点。移动节点通过本发明所提供的数据获取方法能够从同时从多个节点获取数据,从而有效降低了获取数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

权利要求

1.一种基于云的数据获取方法,其特征在于,包括一个由移动节点构成的网络,网络中一个数据ID定义一种类型的数据,网络中能够提供同一种类型数据的移动节点构建成一个k-anycast组,该k-anycast组由定义该种类型数据的数据ID唯一标识,一个k-anycast组里的移动节点称为骨干节点;

在一个包含X个骨干节点且能提供数据C的k-anycast组中,X≥2,骨干节点Bx由唯一网络前缀Mx标识,X≥x≥1;k-anycast组由网络前缀集合G定义,如公式(1)所示;

骨干节点或者移动节点的地址包括两个部分:i比特的网络前缀和j比特的节点ID;网络前缀包括k比特的数据ID和(i-k)比特的骨干ID,节点ID包括k比特的数据ID和(j-k)比特的内部ID,i,j和k为小于64的正整数;

骨干节点Bx启动后,创建一个临时地址,该临时地址的网络前缀为i比特的随机数,节点ID为j比特的随机数;骨干节点Bx广播一个地址创建消息,消息源地址为临时地址,负载为一个随机数和数据ID c;骨干节点Bx等待一定时间,在接收到同一个k-anycast组里的其他X-1个骨干节点广播的地址创建消息后,通过下述算法判断骨干节点By1和骨干节点By2的优先级,y1≠y2:

步骤101:开始;

步骤102:骨干节点Bx判断骨干节点By1的网络前缀是否等于骨干节点By2的网路前缀,如果是,则执行步骤104,否则执行步骤103;

步骤103:如果骨干节点By1的网络前缀大于骨干节点By2的网络前缀,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1的网络前缀小于骨干节点By2的网络前缀,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2,执行步骤107;

步骤104:骨干节点Bx判断骨干节点By1的节点ID是否等于骨干节点By2的节点ID,如果是,则执行步骤106,否则执行步骤105;

步骤105:如果骨干节点By1的节点ID大于骨干节点By2的节点ID,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1的节点ID小于骨干节点By2的节点ID,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2,执行步骤107;

步骤106:如果骨干节点By1广播的地址创建消息中的随机数大于骨干节点By2广播的地址创建消息中的随机数,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1广播的地址创建消息中的随机数小于骨干节点By2广播的地址创建消息中的随机数,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2;

步骤107:结束;

骨干节点Bx将同一个k-anycast组中的X个骨干节点按照优先级递增排序,如果骨干节点Bx的优先级在X骨干节点中的排序值为px,X≥px≥1,骨干节点Bx则将自己的骨干ID设置为px,同时构建一个地址,该地址的网络前缀中的数据ID为c,节点ID为零,同时根据公式(1)构建网络前缀集合G;

网络前缀为y的骨干节点根据公式(2-3)获取内部ID空间[L(y),U(y)],X≥y≥1:

2.根据权利要求1所述的一种基于云的数据获取方法,其特征在于,移动节点和骨干节点配置地址后在一跳范围内广播信标消息,没有配置地址的移动节点M收到一个信标消息后,如果该信标消息的源地址的网络前缀与骨干节点Bx的网络前缀相同,那么移动节点M根据下述过程从骨干节点Bx获取节点ID:

步骤201:开始;

步骤202:移动节点M构建一个临时地址,该临时地址的网络前缀为i比特的随机数,节点ID为j比特的随机数,移动节点M发送一个地址请求消息,该消息的源地址为临时地址,目的地址为骨干节点Bx的地址;

步骤203:骨干节点Bx收到地址请求消息后,从内部ID空间中选择一个未分配的内部ID,然后向移动节点M返回一个地址响应消息,地址响应消息负载为骨干节点Bx所在k-anycast组的网络前缀集合G和分配的内部ID,同时将分配的内部ID标记为已分配状态;

步骤204:移动节点M将地址响应消息中的内部ID与骨干节点Bx的网络前缀中的数据IDc相结合构建成具有唯一性的节点ID,同时保存网络前缀集合G;移动节点M将节点ID与骨干节点Bx的网络前缀相结合构建成一个地址,并开始在一跳范围内广播信标消息,消息的源地址为新获取的地址;

步骤205:结束。

3.根据权利要求2所述的一种基于云的数据获取方法,其特征在于,由数据ID c标识的k-anycast组由X个骨干节点构成,X个骨干节点的网络前缀集合为G,X个骨干节点能够提供数据ID c定义的数据C;数据C被划分为Z个部分,每个数据部分cz由数据部分ID dz唯一标识,Z≥z≥1,如公式(4)所示;

移动节点通过数据地址获取数据,一个数据地址的长度为(i+j)比特,由四个部分构成,第一个部分为k比特的数据ID,第二部分为(i-k)比特的保留域,其值为0,第三部分为k比特的数据部分ID集合域,第四部分为(i-k)比特的保留域,其值为0;其中第一部分的数据ID表明移动节点请求数据的数据ID,第三部分的数据部分ID集合域表明该数据的部分数据;i,j和k为小于64的正整数;

移动节点M通过下述过程获取数据C:

步骤301:开始;

步骤302:移动节点M利用网络前缀集合G构建X个骨干节点的地址,并通过定位功能获取所有X个骨干节点的地理信息,然后选取g个距离最近的骨干节点,2≤g≤|G|,g≤Z,并利用这g个骨干节点的网络前缀和自己的节点ID构建g个地址,记做Sx,1≤x≤g,然后构建g个数据地址,记做Dx.在数据地址Dx中,数据ID为c,数据部分ID集合为Px,其中数据部分ID集合Px定义了数据部分Cx,如公式(5)所示,其中数据部分ID集合Px中任一个元素dx-e定义了数据部分cx-e,1≤e≤|Px|,数据部分Cx满足公式(5)~(7);

步骤303:移动节点M发送g个数据请求消息Qx,在数据请求消息Qx中,目的地址为数据地址Dx,源地址为地址Sx;

步骤304:根据地址Sx中的网络前缀,数据请求消息Qx向网络前缀与地址Sx的网络前缀相同的骨干节点Bx进行路由;

步骤305:骨干节点Bx收到数据请求消息Qx后判断自己是否能提供数据部分Cx,如果能,执行步骤307,否则执行步骤306;

步骤306:骨干节点Bx执行步骤401~414创建Cx;

步骤307:骨干节点Bx向移动节点M返回数据响应消息Rx,数据响应消息Rx中的负载为数据部分Cx,目的地址为地址Sx,源地址为数据地址Dx,

步骤308:数据响应消息Rx向移动节点M进行路由,如果在路由过程中,中间节点也需要数据部分Cx,则保存数据响应消息Rx从而获取数据部分Cx;

步骤309:移动节点M在收到g个数据响应消息后,获取了数据C;

步骤310:结束;

骨干节点Bx如果不能提供数据部分Cx,则根据下述过程创建数据部分Cx,其中,参数h初始值设置为0,网络直径最大值为H:

步骤401:开始;

步骤402:骨干节点Bx在h跳范围内广播一个资源请求消息,该消息的负载为参数h和以及能够创建数据部分Cx的资源列表;

步骤403:判断收到资源请求消息的节点是否能提供资源请求消息中资源列表中的资源,如果能提供,则进行步骤404,否则进行步骤405;

步骤404:收到资源请求消息的节点向骨干节点Bx发送一个资源响应消息,该消息的负载为自己能提供的资源列表;

步骤405:收到资源请求消息的节点将h递减1,判断h是否大于0,如果是,进行步骤406,否则进行步骤407;

步骤406:收到资源请求消息的节点转发资源请求消息,执行步骤403;

步骤407:骨干节点Bx判断所有返回的资源响应消息中的资源是否能构建数据部分Cx,如果能,进行步骤410,否则进行步骤408;

步骤408:骨干节点Bx判断参数h是否等于H,如果是,进行步骤414,否则执行步骤409;

步骤409:骨干节点Bx将h递增1,执行步骤402;

步骤410:骨干节点Bx向每个返回资源响应消息的节点发送一个数据创建消息,该消息的负载为创建数据部分Cx的子任务列表;

步骤411:骨干节点Bx收到数据创建消息后,执行消息中的子任务以获取数据,然后向骨干节点Bx返回一个数据创建响应消息,消息负载为执行子任务获取的数据;

步骤412:骨干节点Bx收到所有的数据创建响应消息后,构建数据部分Cx,同时向同一个k-anycast组中的其他骨干节点发送一条数据分享消息,消息负载为数据部分Cx;

步骤413:其他骨干节点收到骨干节点Bx发送的数据分享消息后,保存数据部分Cx;

步骤414:结束;

通过上述过程,与骨干节点Bx同一个k-anycast组的骨干成员在收到所有的数据分享消息后,根据公式(6)创建数据C并保存数据C。

说明书

技术领域

本发明涉及一种数据获取方法,尤其涉及的是一种基于云的数据获取方法。

背景技术

云是能够提供本地服务的一种服务模式。近年来,很多研究工作者致力于云的研究,以便使用户能够快速获取网络服务。随着网络技术的发展,云会成为未来提供服务的一种模式。

目前,云的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低云提供服务的延迟和代价成为近年来研究的热点问题。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于云的数据获取方法。

本发明通过单播取代广播的方式来实现云,从而降低云提供服务的延迟和代价,从而有效提高网络服务性能。

技术方案:本发明公开了一种基于云的数据获取方法,包括一个由移动节点构成的网络,网络中一个数据ID定义一种类型的数据,网络中能够提供同一种类型数据的移动节点构建成一个k-anycast组,例如提供某部电视剧,该k-anycast组由定义该种类型数据的数据ID唯一标识,一个k-anycast组里的移动节点称为骨干节点;anycast是任播通信,k-anycast通信允许一个k-anycast组中的多个成员进行任播通信;

在一个包含X个骨干节点且能提供数据C的k-anycast组中,X≥2,骨干节点Bx由唯一网络前缀Mx标识,X≥x≥1;k-anycast组由网络前缀集合G定义,如公式(1)所示;数据C指的是电视剧的内容,数据ID c指电视剧的名称或者代号;

骨干节点或者移动节点的地址包括两个部分:i比特的网络前缀和j比特的节点ID;网络前缀包括k比特的数据ID和(i-k)比特的骨干ID,节点ID包括k比特的数据ID和(j-k)比特的内部ID,i,j和k为小于64的正整数;

骨干节点Bx启动后,创建一个临时地址,该临时地址的网络前缀为i比特的随机数,节点ID为j比特的随机数;骨干节点Bx广播一个地址创建消息,消息源地址为临时地址,负载为一个随机数和数据ID c;骨干节点Bx等待一定时间,例如1分钟,在接收到同一个k-anycast组里的其他X-1个骨干节点广播的地址创建消息后,通过下述算法判断骨干节点By1和骨干节点By2的优先级,y1≠y2:

步骤101:开始;

步骤102:骨干节点Bx判断骨干节点By1的网络前缀是否等于骨干节点By2的网路前缀,如果是,则执行步骤104,否则执行步骤103;

步骤103:如果骨干节点By1的网络前缀大于骨干节点By2的网络前缀,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1的网络前缀小于骨干节点By2的网络前缀,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2,执行步骤107;

步骤104:骨干节点Bx判断骨干节点By1的节点ID是否等于骨干节点By2的节点ID,如果是,则执行步骤106,否则执行步骤105;

步骤105:如果骨干节点By1的节点ID大于骨干节点By2的节点ID,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1的节点ID小于骨干节点By2的节点ID,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2,执行步骤107;

步骤106:如果骨干节点By1广播的地址创建消息中的随机数大于骨干节点By2广播的地址创建消息中的随机数,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1广播的地址创建消息中的随机数小于骨干节点By2广播的地址创建消息中的随机数,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2;

步骤107:结束;

骨干节点Bx将同一个k-anycast组中的X个骨干节点按照优先级递增排序,如果骨干节点Bx的优先级在X骨干节点中的排序值为px,X≥px≥1,骨干节点Bx则将自己的骨干ID设置为px,同时构建一个地址,该地址的网络前缀中的数据ID为c,节点ID为零,同时根据公式(2)构建网络前缀集合G;

网络前缀为y的骨干节点根据公式(3-4)获取内部ID空间[L(y),U(y)],X≥y≥1:

通过上述过程,骨干节点获取了具有唯一性的地址,从而确保了通信的正确性。

本发明所述方法中,移动节点和骨干节点配置地址后在一跳范围内广播信标消息,没有配置地址的移动节点M收到一个信标消息后,如果该信标消息的源地址的网络前缀与骨干节点Bx的网络前缀相同,那么移动节点M根据下述过程从骨干节点Bx获取节点ID:

步骤201:开始;

步骤202:移动节点M构建一个临时地址,该临时地址的网络前缀为i比特的随机数,节点ID为j比特的随机数,移动节点M发送一个地址请求消息,该消息的源地址为临时地址,目的地址为骨干节点Bx的地址;

步骤203:骨干节点Bx收到地址请求消息后,从内部ID空间中选择一个未分配的内部ID,然后向移动节点M返回一个地址响应消息,地址响应消息负载为骨干节点Bx所在k-anycast组的网络前缀集合G和分配的内部ID,同时将分配的内部ID标记为已分配状态;

步骤204:移动节点M将地址响应消息中的内部ID与骨干节点Bx的网络前缀中的数据ID c相结合构建成具有唯一性的节点ID,同时保存网络前缀集合G;移动节点M将节点ID与骨干节点Bx的网络前缀相结合构建成一个地址,并开始在一跳范围内广播信标消息,消息的源地址为新获取的地址;

步骤205:结束。

通过上述过程,移动节点获取了具有唯一性的地址,从而确保了通信的正确性。

本发明所述方法中,由数据ID c标识的k-anycast组由X个骨干节点构成,X个骨干节点的网络前缀集合为G,X个骨干节点能够提供数据ID c定义的数据C;数据C被划分为Z个部分,每个数据部分cz由数据部分ID dz唯一标识,Z≥z≥1,如公式(4)所示;

移动节点通过数据地址获取数据,一个数据地址的长度为(i+j)比特,由四个部分构成,第一个部分为k比特的数据ID,第二部分为(i-k)比特的保留域,其值为0,第三部分为k比特的数据部分ID集合域,第四部分为(i-k)比特的保留域,其值为0;其中第一部分的数据ID表明移动节点请求数据的数据ID,第三部分的数据部分ID集合域表明该数据的部分数据;i,j和k为小于64的正整数;

移动节点M通过下述过程获取数据C:

步骤301:开始;

步骤302:移动节点M利用网络前缀集合G构建X个骨干节点的地址,并通过定位功能获取所有X个骨干节点的地理信息,例如手机的定位功能,然后选取g个距离最近的骨干节点,2≤g≤|G|,g≤Z,并利用这g个骨干节点的网络前缀和自己的节点ID构建g个地址,记做Sx,1≤x≤g,然后构建g个数据地址,记做Dx.在数据地址Dx中,数据ID为c,数据部分ID集合为Px,其中数据部分ID集合Px定义了数据部分Cx,如公式(5)所示,其中数据部分ID集合Px中任一个元素dx-e定义了数据部分cx-e,1≤e≤|Px|,数据部分Cx满足公式(5)~(7);

步骤303:移动节点M发送g个数据请求消息Qx,在数据请求消息Qx中,目的地址为数据地址Dx,源地址为地址Sx;

步骤304:根据地址Sx中的网络前缀,数据请求消息Qx向网络前缀与地址Sx的网络前缀相同的骨干节点Bx进行路由;

步骤305:骨干节点Bx收到数据请求消息Qx后判断自己是否能提供数据部分Cx,如果能,执行步骤307,否则执行步骤306;

步骤306:骨干节点Bx执行步骤401~414创建Cx;

步骤307:骨干节点Bx向移动节点M返回数据响应消息Rx,数据响应消息Rx中的负载为数据部分Cx,目的地址为地址Sx,源地址为数据地址Dx,

步骤308:数据响应消息Rx向移动节点M进行路由,如果在路由过程中,中间节点也需要数据部分Cx,则保存数据响应消息Rx从而获取数据部分Cx;

步骤309:移动节点M在收到g个数据响应消息后,获取了数据C;

步骤310:结束;

移动节点通过上述过程能够快速获取数据C;

骨干节点Bx如果不能提供数据部分Cx,则根据下述过程创建数据部分Cx,其中,参数h初始值设置为0,网络直径最大值为H:

步骤401:开始;

步骤402:骨干节点Bx在h跳范围内广播一个资源请求消息,该消息的负载为参数h和以及能够创建数据部分Cx的资源列表,例如处理器,传感器等等;

步骤403:判断收到资源请求消息的节点是否能提供资源请求消息中资源列表中的资源,如果能提供,则进行步骤404,否则进行步骤405;

步骤404:收到资源请求消息的节点向骨干节点Bx发送一个资源响应消息,该消息的负载为自己能提供的资源列表;

步骤405:收到资源请求消息的节点将h递减1,判断h是否大于0,如果是,进行步骤406,否则进行步骤407;

步骤406:收到资源请求消息的节点转发资源请求消息,执行步骤403;

步骤407:骨干节点Bx判断所有返回的资源响应消息中的资源是否能构建数据部分Cx,如果能,进行步骤410,否则进行步骤408;

步骤408:骨干节点Bx判断参数h是否等于H,如果是,进行步骤414,否则执行步骤409;

步骤409:骨干节点Bx将h递增1,执行步骤402;

步骤410:骨干节点Bx向每个返回资源响应消息的节点发送一个数据创建消息,该消息的负载为创建数据部分Cx的子任务列表;

步骤411:骨干节点Bx收到数据创建消息后,执行消息中的子任务以获取数据,然后向骨干节点Bx返回一个数据创建响应消息,消息负载为执行子任务获取的数据;

步骤412:骨干节点Bx收到所有的数据创建响应消息后,构建数据部分Cx,同时向同一个k-anycast组中的其他骨干节点发送一条数据分享消息,消息负载为数据部分Cx;

步骤413:其他骨干节点收到骨干节点Bx发送的数据分享消息后,保存数据部分Cx;

步骤414:结束;

通过上述过程,与骨干节点Bx同一个k-anycast组的骨干成员在收到所有的数据分享消息后,根据公式(6)创建数据C并保存数据C。

通过上述过程,骨干节点能够快速创建数据C并保存数据C。

有益效果:本发明提供了一种基于云的数据获取方法,移动节点通过本发明所提供的数据获取方法能够从同时从多个节点获取数据,从而有效降低了获取数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的网络体系结构示意图。

图2为本发明所述的优先级判断流程示意图。

图3为本发明所述的移动节点地址配置流程示意图。

图4为本发明所述的获取数据流程示意图。

图5为本发明所述的创建数据流程示意图。

具体实施方式:

本发明提供了一种基于云的数据获取方法,移动节点通过本发明所提供的数据获取方法能够从同时从多个节点获取数据,从而有效降低了获取数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

图1为本发明所述的网络体系结构示意图。包括一个由多个移动节点2构成的网络1,网络1中一个数据ID定义一种类型的数据,网络1中能够提供同一种类型数据的移动节点构建成一个k-anycast组,例如某部电视剧,该k-anycast组由定义该种类型数据的数据ID唯一标识,一个k-anycast组里的移动节点称为骨干节点3,anycast是任播通信,k-anycast通信允许一个k-anycast组中的多个成员进行任播通信。

图2为本发明所述的优先级判断流程示意图。在一个包含X个骨干节点且能提供数据C的k-anycast组中,X≥2,骨干节点Bx由唯一网络前缀Mx标识,X≥x≥1;k-anycast组由网络前缀集合G定义,如公式(1)所示;

骨干节点或者移动节点的地址包括两个部分:i比特的网络前缀和j比特的节点ID;网络前缀包括k比特的数据ID和(i-k)比特的骨干ID,节点ID包括k比特的数据ID和(j-k)比特的内部ID,i,j和k为小于64的正整数;

骨干节点Bx启动后,创建一个临时地址,该临时地址的网络前缀为i比特的随机数,节点ID为j比特的随机数;骨干节点Bx广播一个地址创建消息,消息源地址为临时地址,负载为一个随机数和数据ID c;骨干节点Bx等待一定时间,在接收到同一个k-anycast组里的其他X-1个骨干节点广播的地址创建消息后,通过下述算法判断骨干节点By1和骨干节点By2的优先级,y1≠y2:

步骤101:开始;

步骤102:骨干节点Bx判断骨干节点By1的网络前缀是否等于骨干节点By2的网路前缀,如果是,则执行步骤104,否则执行步骤103;

步骤103:如果骨干节点By1的网络前缀大于骨干节点By2的网络前缀,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1的网络前缀小于骨干节点By2的网络前缀,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2,执行步骤107;

步骤104:骨干节点Bx判断骨干节点By1的节点ID是否等于骨干节点By2的节点ID,如果是,则执行步骤106,否则执行步骤105;

步骤105:如果骨干节点By1的节点ID大于骨干节点By2的节点ID,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1的节点ID小于骨干节点By2的节点ID,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2,执行步骤107;

步骤106:如果骨干节点By1广播的地址创建消息中的随机数大于骨干节点By2广播的地址创建消息中的随机数,骨干节点Bx则判断骨干节点By1的优先级大于骨干节点By2,如果骨干节点By1广播的地址创建消息中的随机数小于骨干节点By2广播的地址创建消息中的随机数,骨干节点Bx则判断骨干节点By1的优先级小于骨干节点By2;

步骤107:结束;

骨干节点Bx将同一个k-anycast组中的X个骨干节点按照优先级递增排序,如果骨干节点Bx的优先级在X骨干节点中的排序值为px,X≥px≥1,骨干节点Bx则将自己的骨干ID设置为px,同时构建一个地址,该地址的网络前缀中的数据ID为c,节点ID为零,同时根据公式(2)构建网络前缀集合G;

网络前缀为y的骨干节点根据公式(3-4)获取内部ID空间[L(y),U(y)],X≥y≥1:

图3为本发明所述的移动节点地址配置流程示意图。移动节点和骨干节点配置地址后在一跳范围内广播信标消息,没有配置地址的移动节点M收到一个信标消息后,如果该信标消息的源地址的网络前缀与骨干节点Bx的网络前缀相同,那么移动节点M根据下述过程从骨干节点Bx获取节点ID:

步骤201:开始;

步骤202:移动节点M构建一个临时地址,该临时地址的网络前缀为i比特的随机数,节点ID为j比特的随机数,移动节点M发送一个地址请求消息,该消息的源地址为临时地址,目的地址为骨干节点Bx的地址;

步骤203:骨干节点Bx收到地址请求消息后,从内部ID空间中选择一个未分配的内部ID,然后向移动节点M返回一个地址响应消息,地址响应消息负载为骨干节点Bx所在k-anycast组的网络前缀集合G和分配的内部ID,同时将分配的内部ID标记为已分配状态;

步骤204:移动节点M将地址响应消息中的内部ID与骨干节点Bx的网络前缀中的数据ID c相结合构建成具有唯一性的节点ID,同时保存网络前缀集合G;移动节点M将节点ID与骨干节点Bx的网络前缀相结合构建成一个地址,并开始在一跳范围内广播信标消息,消息的源地址为新获取的地址;

步骤205:结束。

图4为本发明所述的获取数据流程示意图。由数据ID c标识的k-anycast组由X个骨干节点构成,X个骨干节点的网络前缀集合为G,X个骨干节点能够提供数据ID c定义的数据C;数据C被划分为Z个部分,每个数据部分cz由数据部分ID dz唯一标识,Z≥z≥1,如公式(4)所示;

移动节点通过数据地址获取数据,一个数据地址的长度为(i+j)比特,由四个部分构成,第一个部分为k比特的数据ID,第二部分为(i-k)比特的保留域,其值为0,第三部分为k比特的数据部分ID集合域,第四部分为(i-k)比特的保留域,其值为0;其中第一部分的数据ID表明移动节点请求数据的数据ID,第三部分的数据部分ID集合域表明该数据的部分数据;i,j和k为小于64的正整数;

移动节点M通过下述过程获取数据C:

步骤301:开始;

步骤302:移动节点M利用网络前缀集合G构建X个骨干节点的地址,并通过定位功能获取所有X个骨干节点的地理信息,然后选取g个距离最近的骨干节点,2≤g≤|G|,g≤Z,并利用这g个骨干节点的网络前缀和自己的节点ID构建g个地址,记做Sx,1≤x≤g,然后构建g个数据地址,记做Dx.在数据地址Dx中,数据ID为c,数据部分ID集合为Px,其中数据部分ID集合Px定义了数据部分Cx,如公式(5)所示,其中数据部分ID集合Px中任一个元素dx-e定义了数据部分cx-e,1≤e≤|Px|,数据部分Cx满足公式(5)~(7);

步骤303:移动节点M发送g个数据请求消息Qx,在数据请求消息Qx中,目的地址为数据地址Dx,源地址为地址Sx;

步骤304:根据地址Sx中的网络前缀,数据请求消息Qx向网络前缀与地址Sx的网络前缀相同的骨干节点Bx进行路由;

步骤305:骨干节点Bx收到数据请求消息Qx后判断自己是否能提供数据部分Cx,如果能,执行步骤307,否则执行步骤306;

步骤306:骨干节点Bx执行步骤401~414创建Cx;然后执行步骤307;

步骤307:骨干节点Bx向移动节点M返回数据响应消息Rx,数据响应消息Rx中的负载为数据部分Cx,目的地址为地址Sx,源地址为数据地址Dx,

步骤308:数据响应消息Rx向移动节点M进行路由,如果在路由过程中,中间节点也需要数据部分Cx,则保存数据响应消息Rx从而获取数据部分Cx;

步骤309:移动节点M在收到g个数据响应消息后,获取了数据C;

步骤310:结束。

图5为本发明所述的创建数据流程示意图。骨干节点Bx如果不能提供数据部分Cx,则根据下述过程创建数据部分Cx,其中,参数h初始值设置为0,网络直径最大值为H:

步骤401:开始;

步骤402:骨干节点Bx在h跳范围内广播一个资源请求消息,该消息的负载为参数h和以及能够创建数据部分Cx的资源列表,例如处理器,传感器等等;

步骤403:判断收到资源请求消息的节点是否能提供资源请求消息中资源列表中的资源,如果能提供,则进行步骤404,否则进行步骤405;

步骤404:收到资源请求消息的节点向骨干节点Bx发送一个资源响应消息,该消息的负载为自己能提供的资源列表;

步骤405:收到资源请求消息的节点将h递减1,判断h是否大于0,如果是,进行步骤406,否则进行步骤407;

步骤406:收到资源请求消息的节点转发资源请求消息,执行步骤403;

步骤407:骨干节点Bx判断所有返回的资源响应消息中的资源是否能构建数据部分Cx,如果能,进行步骤410,否则进行步骤408;

步骤408:骨干节点Bx判断参数h是否等于H,如果是,进行步骤414,否则执行步骤409;

步骤409:骨干节点Bx将h递增1,执行步骤402;

步骤410:骨干节点Bx向每个返回资源响应消息的节点发送一个数据创建消息,该消息的负载为创建数据部分Cx的子任务列表,例如处理器某个数据,感知某个参数等等;

步骤411:骨干节点Bx收到数据创建消息后,执行消息中的子任务以获取数据,然后向骨干节点Bx返回一个数据创建响应消息,消息负载为执行子任务获取的数据;

步骤412:骨干节点Bx收到所有的数据创建响应消息后,构建数据部分Cx,同时向同一个k-anycast组中的其他骨干节点发送一条数据分享消息,消息负载为数据部分Cx;

步骤413:其他骨干节点收到骨干节点Bx发送的数据分享消息后,保存数据部分Cx;

步骤414:结束;

通过上述过程,与骨干节点Bx同一个k-anycast组的骨干成员在收到所有的数据分享消息后,根据公式(6)创建数据C并保存数据C。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中的基于云的数据获取方法,性能分析如下:随着骨干节点的增加,获取服务数据的延迟随之下降,同时移动节点的地址配置代价也随之降低;移动节点获取服务数据的平均延迟为300ms,移动节点地址配置的延迟为10ms。

表1 仿真参数

本发明提供了一种基于云的数据获取方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

一种基于云的数据获取方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部