一种快速的大数据通信方法与流程

文档序号:14216697阅读:351来源:国知局

本发明涉及一种通信方法,尤其涉及的是一种快速的大数据通信方法。



背景技术:

大数据网络中的节点之间通信通过中间节点的转发和路由来实现,因此,实现大数据网络需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着网络技术的发展,大数据网络会成为未来提供服务的一种模式。

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



技术实现要素:

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种快速的大数据通信方法。

技术方案:本发明公开了一种快速的大数据通信方法,所述网络包括接入路由器和节点,一个接入路由器配置一个上游接口和两个以上的下游接口,上游接口域互联网骨干网相连;一个节点配置两个以上的接口,节点的每个接口与一个接入路由器的下游接口相连,节点不同的接口与不同的接入路由器的下游接口相连;

一个接入路由器的每个接口由一个接口id唯一标识,接口id为t的接口称为接口t;

接入路由器的每个接口配置一个ipv6地址,该地址由网络前缀、接口id和节点id构成,网络前缀的比特长度与接口id的比特长度之和为80;一个接入路由器的上游接口的网络前缀长度为g比特,下游接口的网络前缀长度为g+g1比特,一般g设置为64,g1设置为16,一个接入路由器所有下游接口的地址的网络前缀都相同;接入路由器每个接口的网络前缀预先设置,例如3ef8:1:1:1::/64;一个接入路由器启动后,执行下述过程为每个接口获取地址:

步骤101:开始;

步骤102:接入路由器为每个接口i构建一个地址,该地址的网络前缀为预先配置的网络前缀,接口id为i,节点id为0,接入路由器将构建的地址设置为接口i的地址;

步骤103:接入路由器从每个下游接口发送一个信标消息,该信标消息的源地址为该下游接口的地址;

步骤104:结束;

一个节点从接口的接口id为j的接口收到来自接入路由器的信标消息后,为接口j构建一个地址,该地址的网络前缀和接口id等于该信标消息的源地址的网络前缀和接口id,节点id为接口j的媒体接入控制地址,即mac地址,然后将构建的地址设置为接口j的地址;

节点的网络协议栈由应用层、数据层、传输层和网络层构成;

一个数据块由一个数据块id唯一标识;

在节点k1具有n个接口,每个接口由接口idm唯一标识,m取值1~n,节点k1的应用层产生数据块dh1,数据块dh1的长度为l1比特,数据块id为did1,应用层将数据块dh1发送给数据层,数据层在数据块dh1后边添加(n×l-l1)比特,(n×l-l1)比特值为0,其中l为满足公式(1)的正整数的条件下,数据层将数据块dh1平均分为n个数据分片,每个数据分片记作xs,s取值1~n,每个数据分片的长度为l比特,该数据分片称为普通数据分片,普通数据分片区分于传输数据分片,每个数据分片xs由分片ids标识;

n≥l1/l>n-1(1),

数据层通过将两个以上的普通数据分片来构建传输数据分片,包括如下步骤:

步骤201:开始;

步骤202:数据分片从数据区间[1,n]中随机选取一个数y,然后随机从n个普通数据分片中选取y个不同的普通数据分片,将这y个不同普通数据分片的分片id构成分片id集合;

步骤203:如果y等于1,则执行步骤204,否则执行步骤205;

步骤204:数据层将选取的唯一一个普通数据分片与零做异或操作,执行步骤206;

步骤205:数据层将选取的y个普通数据分片进行异或操作;

步骤206:数据层将异或操作的结果作为传输数据分片,然后数据层构建一个传输分片二元组<分片id集合,传输数据分片>;

步骤207:结束。

本发明所述方法中,在数据块dh1由数据块iddid1唯一标识,节点k1有n个接口的条件下,互联网节点cn1执行下述过程从节点k1获取数据块dh1:

步骤301:开始;

步骤302:互联网节点cn1发送一个请求消息,该请求消息的源地址为它的地址,目的地址为节点k1的任一个接口的地址,负载为数据块iddid1;

步骤303:该请求消息通过互联网到达节点k1,节点k1的应用层产生数据块dh1并将该数据块dh1发送到数据层,数据层将数据块dh1平均分为n个普通数据分片,然后数据层执行n次步骤201~步骤207来产生n个传输分片二元组,将n个传输分片二元组发送给传输层;

步骤304:传输层接收到n个传输分片二元组后,用传输层头部封装每个传输分片二元组,然后将封装后的n个传输分片二元组发送给网络层,网络层接收到封装后的n个传输分片二元组后,将这n个传输分片二元组构建成一个传输分片二元组集合,然后设置一个参数e,参数e用来表明传输分片二元组集合的元素个数,参数e的初始值为n;

步骤305:网络层判断参数e是否等于0,如果是,执行步骤307,否则执行步骤306;

步骤306:网络层从传输分片二元组集合中随机选取一个元素e1,从接口e发送一个响应消息,该响应消息的负载为元素e1,目的地址为接收到的请求消息的源地址,源地址为接口e的地址;然后网络层将参数e递减1,同时从传输分片二元组集合中删除元素e1,执行步骤305;

步骤307:n个响应消息通过互联网最终到达互联网节点cn1,互联网节点cn1通过网络层接收到n个响应消息后,将这n个响应消息的负载发送给传输层,传输层接收到n个响应消息的负载后,去除n个响应消息的负载的传输头部,将得到的n个传输分片二元组递交给数据层;数据层接收到n个传输分片二元组后,创建一个传输分片二元组集合,该集合包含n个元素,即为接收到了n个传输分片二元组,同时创建一个普通分片二元组集合,该集合初始值为空集,每个元素的类型为一个二元组<分片id,普通数据分片>;

步骤308:数据层从传输分片二元组集合中选取所有分片id集合只包含一个元素的传输分片二元组,如果选取的传输分片二元组个数为0,则执行步骤302,否则执行步骤309;

步骤309:对于每个选中的分片id集合只包含一个元素的传输分片二元组<{分片idsid1},传输数据分片ts1>,数据层执行下述操作:数据层将传输数据分片ts1与零执行异或操作得到普通数据分片ns1,然后构建普通分片二元组<分片idsid1,普通数据分片ns1>;如果在普通分片二元组集合中不存在分片id为sid1的二元组,数据层将构建的普通分片二元组加入到普通分片二元组集合中,从传输分片二元组集合中删除二元组<{分片idsid1},传输数据分片ts1>;数据层选取所有分片id集合包含分片idsid1的传输分片二元组,对于每个选取的分片id集合包含分片idsid1的传输分片二元组,数据层将该二元组中的传输分片与普通数据分片ns1执行异或操作,用执行异或操作的数据来更新该二元组的传输分片,然后从该二元组的分片id集合中删除分片idsid1;

步骤310:如果普通分片二元组集合的元素为n,则执行步骤311,否则执行步骤308;

步骤311:数据层将普通分片二元组集合中的n个元素的普通数据分片根据相应的分片id构成数据块dh1,将数据块dh1传递到应用层;

步骤312:结束。

用户通过上述过程可以快速获取大数据,从而提高服务质量。

本发明所述方法中,在数据块dh1由数据块iddid1唯一标识,节点k2有n个接口的条件下,节点k2执行下述过程从互联网节点cn1获取数据块dh1:

步骤401:开始;

步骤402:节点k2从每个接口发送一个请求消息,该请求消息的源地址为发送该请求消息的接口的地址,目的地址为互联网节点cn1的地址,负载为数据块iddid1;

步骤403:n个请求消息通过互联网到达互联网节点cn1,互联网节点cn1创建一个消息集合,该集合包含n个元素,即接收到的n个请求消息;互联网节点cn1的应用层产生数据块dh1并将该数据块dh1递交到数据层,数据层将数据块dh1平均分为n个普通数据分片,然后数据层执行n次步骤201~步骤207来产生n个传输分片二元组,将n个传输分片二元组发送给传输层;

步骤404:传输层接收到n个传输分片二元组后,用传输层头部封装每个传输分片二元组,然后将封装后的n个传输分片二元组发送给网络层,网络层接收到n个封装后的传输分片二元组后,将这n个封装后的传输分片二元组构建成一个传输分片二元组集合,然后设置一个参数e1,参数e1用来表明传输分片二元组集合的元素个数,参数e1的初始值为n;

步骤405:网络层判断参数e1是否等于0,如果是,执行步骤407,否则执行步骤406;

步骤406:网络层从传输分片二元组集合中随机选取一个元素e2,从消息集合中随机选取一个请求消息m1,然后发送一个响应消息,该响应消息的负载为元素e2,目的地址为请求消息m1的源地址,源地址为互联网节点cn1的地址;然后网络层将参数e1递减1,同时从传输分片二元组集合中删除元素e2,从消息集合中删除请求消息m1,执行步骤405;

步骤407:n个响应消息通过互联网最终到达节点k2,节点k2通过不同的接口接收到n个响应消息后,将这n个响应消息的负载发送给传输层,传输层接收到n个响应消息的负载后,去除n个响应消息的负载的传输头部,将得到的n个传输分片二元组递交给数据层;数据层接收到n个传输分片二元组后,创建一个传输分片二元组集合,该集合包含n个元素,即接收到的n个传输分片二元组,同时创建一个普通分片二元组集合,该集合初始值为空集,每个元素的类型为一个二元组<分片id,普通数据分片>;

步骤408:数据层从传输分片二元组集合中选取所有分片id集合只包含一个元素的传输分片二元组,如果选取的传输分片二元组个数为0,则执行步骤402,否则执行步骤409;

步骤409:对于每个选中的分片id集合只包含一个元素的传输分片二元组<{分片idsid2},传输数据分片ts2>,数据层执行下述操作:数据层将传输数据分片ts2与零执行异或操作得到普通数据分片ns2,构建普通分片二元组<分片idsid2,普通数据分片ns2>;如果在普通分片二元组集合中不存在分片id为sid2的二元组,数据层将构建的普通分片二元组加入到普通分片二元组集合中,从传输分片二元组集合中删除二元组<{分片idsid2},传输数据分片ts2>,数据层选取所有分片id集合包含分片idsid2的传输分片二元组,对于每个选取的分片id集合包含分片idsid2的传输分片二元组,数据层将该传输分片二元组中的传输分片与普通数据分片ns2执行异或操作,用执行异或操作的数据来更新该二元组的传输分片,然后从该传输分片二元组的分片id集合中删除分片idsid2;

步骤410:如果普通分片二元组集合的元素为n,则执行步骤411,否则执行步骤408;

步骤411:数据层将普通分片二元组集合中的n个元素的普通数据分片根据相应的分片id构成数据块dh1,将数据块dh1传递到应用层;

步骤412:结束。

用户通过上述过程可以快速获取大数据,从而提高服务质量。

有益效果:本发明提供了一种快速的大数据通信方法,用户通过本发明所提供的大数据通信方法,可以快速获取数据,降低丢包率,提高网络服务。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

附图说明

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

图1为本发明所述的地址配置流程示意图。

图2为本发明所述节点地址结构示意图。

图3为本发明所述互联网用户获取数据流程示意图。

图4为本发明所述网络节点获取数据流程示意图。

具体实施方式:

本发明提供了一种快速的大数据通信方法,用户通过本发明所提供的大数据通信方法,可以快速获取数据,降低丢包率,提高网络服务。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

图1为本发明所述的地址配置流程示意图。所述网络包括接入路由器和节点,一个接入路由器配置一个上游接口和两个以上的下游接口,上游接口域互联网骨干网相连;一个节点配置两个以上的接口,节点的每个接口与一个接入路由器的下游接口相连,节点不同的接口与不同的接入路由器的下游接口相连;

一个接入路由器的每个接口由一个接口id唯一标识,接口id为t的接口称为接口t;

接入路由器的每个接口配置一个ipv6地址,该地址由网络前缀、接口id和节点id构成,网络前缀的比特长度与接口id的比特长度之和为80;一个接入路由器的上游接口的网络前缀长度为g比特,下游接口的网络前缀长度为g+g1比特,一个接入路由器所有下游接口的地址的网络前缀都相同;接入路由器每个接口的网络前缀预先设置,一个接入路由器启动后,执行下述过程为每个接口获取地址:

步骤101:开始;

步骤102:接入路由器为每个接口i构建一个地址,该地址的网络前缀为预先配置的网络前缀,接口id为i,节点id为0,接入路由器将构建的地址设置为接口i的地址;

步骤103:接入路由器从每个下游接口发送一个信标消息,该信标消息的源地址为该下游接口的地址;

步骤104:结束;

一个节点从接口的接口id为j的接口收到来自接入路由器的信标消息后,为接口j构建一个地址,该地址的网络前缀和接口id等于该信标消息的源地址的网络前缀和接口id,节点id为接口j的媒体接入控制地址,即mac地址,然后将构建的地址设置为接口j的地址。

图2为本发明所述节点地址结构示意图。节点的网络协议栈由应用层、数据层、传输层和网络层构成;

一个数据块由一个数据块id唯一标识;

在节点k1具有n个接口,每个接口由接口idm唯一标识,m取值1~n,节点k1的应用层产生数据块dh1,数据块dh1的长度为l1比特,数据块id为did1,应用层将数据块dh1发送给数据层,数据层在数据块dh1后边添加(n×l-l1)比特,(n×l-l1)比特值为0,其中l为满足公式(1)的正整数的条件下,数据层将数据块dh1平均分为n个数据分片,每个数据分片记作xs,s取值1~n,每个数据分片的长度为l比特,该数据分片成为普通数据分片,每个数据分片xs由分片ids标识;

n≥l1/l>n-1(1),

数据层通过将两个以上的普通数据分片来构建传输数据分片,包括如下步骤:

步骤201:开始;

步骤202:数据分片从数据区间[1,n]中随机选取一个数y,然后随机从n个普通数据分片中选取y个不同的普通数据分片,将这y个不同普通数据分片的分片id构成分片id集合;

步骤203:如果y等于1,则执行步骤204,否则执行步骤205;

步骤204:数据层将选取的唯一一个普通数据分片与零做异或操作,执行步骤206;

步骤205:数据层将选取的y个普通数据分片进行异或操作;

步骤206:数据层将异或操作的结果作为传输数据分片,然后数据层构建一个传输分片二元组<分片id集合,传输数据分片>;

步骤207:结束。

图3为本发明所述互联网用户获取数据流程示意图。在数据块dh1由数据块iddid1唯一标识,节点k1有n个接口的条件下,互联网节点cn1执行下述过程从节点k1获取数据块dh1:

步骤301:开始;

步骤302:互联网节点cn1发送一个请求消息,该请求消息的源地址为它的地址,目的地址为节点k1的任一个接口的地址,负载为数据块iddid1;

步骤303:该请求消息通过互联网到达节点k1,节点k1的应用层产生数据块dh1并将该数据块dh1发送到数据层,数据层将数据块dh1平均分为n个普通数据分片,然后数据层执行n次步骤201~步骤207来产生n个传输分片二元组,将n个传输分片二元组发送给传输层;

步骤304:传输层接收到n个传输分片二元组后,用传输层头部封装每个传输分片二元组,然后将封装后的n个传输分片二元组发送给网络层,网络层接收到封装后的n个传输分片二元组后,将这n个传输分片二元组构建成一个传输分片二元组集合,然后设置一个参数e,参数e用来表明传输分片二元组集合的元素个数,参数e的初始值为n;

步骤305:网络层判断参数e是否等于0,如果是,执行步骤307,否则执行步骤306;

步骤306:网络层从传输分片二元组集合中随机选取一个元素e1,从接口e发送一个响应消息,该响应消息的负载为元素e1,目的地址为接收到的请求消息的源地址,源地址为接口e的地址;然后网络层将参数e递减1,同时从传输分片二元组集合中删除元素e1,执行步骤305;

步骤307:n个响应消息通过互联网最终到达互联网节点cn1,互联网节点cn1通过网络层接收到n个响应消息后,将这n个响应消息的负载发送给传输层,传输层接收到n个响应消息的负载后,去除n个响应消息的负载的传输头部,将得到的n个传输分片二元组递交给数据层;数据层接收到n个传输分片二元组后,创建一个传输分片二元组集合,该集合包含n个元素,即为接收到了n个传输分片二元组,同时创建一个普通分片二元组集合,该集合初始值为空集,每个元素的类型为一个二元组<分片id,普通数据分片>;

步骤308:数据层从传输分片二元组集合中选取所有分片id集合只包含一个元素的传输分片二元组,如果选取的传输分片二元组个数为0,则执行步骤302,否则执行步骤309;

步骤309:对于每个选中的分片id集合只包含一个元素的传输分片二元组<{分片idsid1},传输数据分片ts1>,数据层执行下述操作:数据层将传输数据分片ts1与零执行异或操作得到普通数据分片ns1,然后构建普通分片二元组<分片idsid1,普通数据分片ns1>;如果在普通分片二元组集合中不存在分片id为sid1的二元组,数据层将构建的普通分片二元组加入到普通分片二元组集合中,从传输分片二元组集合中删除二元组<{分片idsid1},传输数据分片ts1>;数据层选取所有分片id集合包含分片idsid1的传输分片二元组,对于每个选取的分片id集合包含分片idsid1的传输分片二元组,数据层将该二元组中的传输分片与普通数据分片ns1执行异或操作,用执行异或操作的数据来更新该二元组的传输分片,然后从该二元组的分片id集合中删除分片idsid1;

步骤310:如果普通分片二元组集合的元素为n,则执行步骤311,否则执行步骤308;

步骤311:数据层将普通分片二元组集合中的n个元素的普通数据分片根据相应的分片id构成数据块dh1,将数据块dh1传递到应用层;

步骤312:结束。

图4为本发明所述网络节点获取数据流程示意图。在数据块dh1由数据块iddid1唯一标识,节点k2有n个接口的条件下,节点k2执行下述过程从互联网节点cn1获取数据块dh1:

步骤401:开始;

步骤402:节点k2从每个接口发送一个请求消息,该请求消息的源地址为发送该请求消息的接口的地址,目的地址为互联网节点cn1的地址,负载为数据块iddid1;

步骤403:n个请求消息通过互联网到达互联网节点cn1,互联网节点cn1创建一个消息集合,该集合包含n个元素,即接收到的n个请求消息;互联网节点cn1的应用层产生数据块dh1并将该数据块dh1递交到数据层,数据层将数据块dh1平均分为n个普通数据分片,然后数据层执行n次步骤201~步骤207来产生n个传输分片二元组,将n个传输分片二元组发送给传输层;

步骤404:传输层接收到n个传输分片二元组后,用传输层头部封装每个传输分片二元组,然后将封装后的n个传输分片二元组发送给网络层,网络层接收到n个封装后的传输分片二元组后,将这n个封装后的传输分片二元组构建成一个传输分片二元组集合,然后设置一个参数e1,参数e1用来表明传输分片二元组集合的元素个数,参数e1的初始值为n;

步骤405:网络层判断参数e1是否等于0,如果是,执行步骤407,否则执行步骤406;

步骤406:网络层从传输分片二元组集合中随机选取一个元素e2,从消息集合中随机选取一个请求消息m1,然后发送一个响应消息,该响应消息的负载为元素e2,目的地址为请求消息m1的源地址,源地址为互联网节点cn1的地址;然后网络层将参数e1递减1,同时从传输分片二元组集合中删除元素e2,从消息集合中删除请求消息m1,执行步骤405;

步骤407:n个响应消息通过互联网最终到达节点k2,节点k2通过不同的接口接收到n个响应消息后,将这n个响应消息的负载发送给传输层,传输层接收到n个响应消息的负载后,去除n个响应消息的负载的传输头部,将得到的n个传输分片二元组递交给数据层;数据层接收到n个传输分片二元组后,创建一个传输分片二元组集合,该集合包含n个元素,即接收到的n个传输分片二元组,同时创建一个普通分片二元组集合,该集合初始值为空集,每个元素的类型为一个二元组<分片id,普通数据分片>;

步骤408:数据层从传输分片二元组集合中选取所有分片id集合只包含一个元素的传输分片二元组,如果选取的传输分片二元组个数为0,则执行步骤402,否则执行步骤409;

步骤409:对于每个选中的分片id集合只包含一个元素的传输分片二元组<{分片idsid2},传输数据分片ts2>,数据层执行下述操作:数据层将传输数据分片ts2与零执行异或操作得到普通数据分片ns2,构建普通分片二元组<分片idsid2,普通数据分片ns2>;如果在普通分片二元组集合中不存在分片id为sid2的二元组,数据层将构建的普通分片二元组加入到普通分片二元组集合中,从传输分片二元组集合中删除二元组<{分片idsid2},传输数据分片ts2>,数据层选取所有分片id集合包含分片idsid2的传输分片二元组,对于每个选取的分片id集合包含分片idsid2的传输分片二元组,数据层将该传输分片二元组中的传输分片与普通数据分片ns2执行异或操作,用执行异或操作的数据来更新该二元组的传输分片,然后从该传输分片二元组的分片id集合中删除分片idsid2;

步骤410:如果普通分片二元组集合的元素为n,则执行步骤411,否则执行步骤408;

步骤411:数据层将普通分片二元组集合中的n个元素的普通数据分片根据相应的分片id构成数据块dh1,将数据块dh1传递到应用层;

步骤412:结束。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中的一种快速的大数据通信方法,性能分析如下:当数据量增加时,节点获取数据的延迟随之增加,当数据量降低时,节点获取数据的延迟随之下降,节点获取数据的平均延迟为1.5秒。

表1仿真参数

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

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