一种高效的大数据网络数据通信实现方法与流程

文档序号:17693858发布日期:2019-05-17 21:17阅读:210来源:国知局
一种高效的大数据网络数据通信实现方法与流程

本发明涉及一种通信实现方法,尤其涉及的是一种高效的大数据网络数据通信实现方法。



背景技术:

大数据网络作为一种新型通信网络,能够实现节点与节点之间的多跳无线通信。随着网络技术的不断发展以及各种新应用的不断涌现,迫切需要实现大数据网络通信以满足用户急剧增长的应用需求。

大数据网络以数据为中心,而传统网络以地址为中心,因此并不利于数据的获取。例如,在ip网络中,由目的ip地址确定的目的节点来提供数据,如果该目的节点失效,那么就无法提供数据。而大数据网络以数据为中心,任何节点都可以提供数据,从而缩短了数据获取的延迟和代价。

但是,如何实现大数据网络还需要进一步研究和探讨。



技术实现要素:

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

技术方案:本发明公开了一种高效的大数据网络数据通信实现方法,所述大数据网络包括一组节点;一种类型的数据由名称定义,一种类型的数据包含n个数据块,n为大于1的整数,每个数据块由数据块ids唯一标识,1≤s≤n,一个数据块只能由一个节点提供,该节点称为该数据块的提供者;

一个节点配置两个以上的接口,每个接口与另一个节点相连,一个接口由一个接口id唯一标识;有权限访问一种类型数据的节点称为该数据的消费者;一种类型数据的消费者由硬件id唯一标识,硬件id可以为mac地址;节点通过消息进行通信,消息由消息名称和消息类型定义,如下表所示:

消费者发布消息包含消息类型、硬件id和名称;每个节点保存一个消费者表,每个消费者表项包含硬件id、名称、接口id以及生命周期;数据da1由名称na1定义,消费者c1有权限访问数据da1,消费者c1定期执行下述操作以维护消费者表:

步骤101:开始;

步骤102:消费者c1从每个接口发送一个消费者发布消息,该消费者发布消息的消息类型值为1,名称为na1,硬件id等于消费者c1的硬件id;

步骤103:节点从接口f1接收到消费者发布消息,如果该节点存在一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id且生命周期大于阈值th1,则执行步骤108,否则执行步骤104;阈值th1的取值范围为最大生命周期的90%-95%。

步骤104:从接口f1接收到消费者发布消息的节点查看消费者表,如果存在一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id,则执行步骤105,否则执行步骤106;

步骤105:从接口f1接收到消费者发布消息的节点选择一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id,将该消费者表项的接口更新为f1,将生命周期设置为最大值,执行步骤107;

步骤106:从接口f1接收到消费者发布消息的节点创建一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id,将该消费者表项的接口设置为f1,将生命周期设置为最大值;

步骤107:从接口f1接收到消费者发布消息的节点从除了接口f1以外的每个接口转发该消费者发布消息,执行步骤103;

步骤108:结束;

消费者通过上述过程建立所有提供者到达自己的最优路由路径,上述过程通过硬件id来唯一标识一个消费者,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

本发明所述方法中,每个节点保存一个转发表,一个转发表项包含名称、数据块id、接口id和生命周期;提供者消息包含消息类型、名称和数据块id;数据da1由名称na1唯一标识,提供者p1能提供数据da1的数据块id为1的数据块;提供者p1建立消费者表后,定期执行下述过程维护转发表:

步骤201:开始;

步骤202:提供者p1选择所有名称等于na1的消费者表项,针对每个选择的消费者表项,提供者p1从该消费者表项的接口id所标识的接口发送一个提供者发布消息,该提供者发布消息的消息类型值为2,名称等于na1,数据块id等于1;

步骤203:节点从接口f2接收到提供者发布消息,如果该节点存在一个转发消息,该转发消息的名称和数据块id分别等于该提供者发布消息的名称和数据块id且生命周期大于阈值th1,则执行步骤208,否则执行步骤204;

步骤204:从接口f2接收到提供者发布消息的节点查看转发表,如果存在一个转发表项,该转发表项的名称和硬件id分别等于该提供者发布消息的名称和硬件id,则执行步骤205,否则执行步骤206;

步骤205:从接口f2接收到提供者发布消息的节点选择一个转发表项,该转发表项的名称和硬件id分别等于该提供者发布消息的名称和硬件id,将该转发表项的接口更新为f2,将生命周期设置为最大值,执行步骤207;

步骤206:从接口f2接收到提供者发布消息的节点创建一个转发表项,该转发表项的名称和硬件id分别等于该提供者发布消息的名称和硬件id,将该转发表项的接口设置为f2,将生命周期设置为最大值;

步骤207:从接口f2接收到提供者发布消息的节点从除了接口f2以外的每个接口转发该提供者发布消息,执行步骤203;

步骤208:结束。

提供者通过上述过程建立所有消费者到达自己的最优路由路径,上述过程通过名称和数据块id唯一标识一个提供者,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

本发明所述方法中,每个节点保存一个临时表,一个临时表项包含名称、数据块id、接口id和生命周期;每个节点保存一个确认表,一个确认表项包含名称、数据块id和生命周期;

发现消息包含消息类型,名称和数据块id;

确认消息包含消息类型,名称和数据块id;

在数据da1由名称na1定义,包含n1个数据块,提供者pe能提供数据da1的数据块id为e的数据块,1≤e<n1,提供者pe+1能提供数据da1的数据块id为e+1的数据块的条件下,提供者pe执行下述过程建立到达提供者pe+1的路由路径:

步骤301:开始;

步骤302:提供者pe从每个接口发送一个发现消息,该发现消息中,消息类型值为3,名称为na1,数据块id为e+1;

步骤303:其他节点从接口x1接收到该发现消息,如果该节点为提供者pe+1,则执行步骤306,否则执行步骤304;

步骤304:从接口x1接收到该发现消息的节点查看临时表,如果存在一个临时表项,该临时表项的名称和数据块id分别等于该发现消息中的名称和数据块id,则执行步骤311,否则执行步骤305;

步骤305:从接口x1接收到该发现消息的节点创建一个临时表项,该临时表项的名称和数据块id分别等于该发现消息中的名称和数据块id,接口id等于x1,生命周期设置为最大值,该节点从除了接口x1以外的每个接口转发该发现消息,执行步骤303;

步骤306:从接口x1接收到该发现消息的节点查看确认表,如果存在一个确认表项,该确认表项的名称和数据块id分别等于该发现消息的名称和数据块id,则执行步骤311,否则执行步骤307;

步骤307:从接口x1接收到该发现消息的节点创建一个确认表项,该确认表项的名称和数据块id分别等于该发现消息的名称和数据块id,生命周期设置为最大值;该节点从接口x1发送一个确认消息,该确认消息的消息类型值为4,名称和数据块id分别等于该发现消息的名称和数据块id;

步骤308:节点从接口x2接收到该确认消息后查看转发表,如果存在一个转发表项,该转发表项的名称和数据块id分别等于该确认消息中的名称和数据块id,则执行步骤311,否则执行步骤309;

步骤309:从接口x2接收到该确认消息的节点创建一个转发表项,该转发表项的名称和数据块id分别等于该确认消息中的名称和数据块id,接口id等于x2,生命周期设置为最大值,如果该节点为提供者pe,则执行步骤311,否则执行步骤310;

步骤310:从接口x2接收到该确认消息的节点选择一个临时表项,该临时表项的名称和数据块id分别等于该确认消息的名称和数据块id,从该临时表项的接口id所标识的接口转发该确认消息,执行步骤308;

步骤311:结束。

提供者pe通过上述过程建立到达提供者pe+1的最优路由路径,从而能够从提供者pe+1获取数据块id为e+1的数据块,最终获取整个数据,上述过程通过名称和数据块id唯一标识一个提供者,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

本发明所述方法中,刷新消息包含消息类型、名称和数据块id;提供者pe建立到达提供者pe+1的路由路径后定期执行下述操作:

步骤401:开始;

步骤402:提供者pe选择一个转发表项,该转发表项的名称为na1,数据块id等于e+1,从该转发表项的接口id所标识的接口发送一个刷新消息,该刷新消息中,消息类型值为5,名称为na1,数据块id等于e+1;

步骤403:如果提供者pe+1接收到该刷新消息,则执行步骤405,否则执行步骤404;

步骤404:接收到该刷新消息的节点选择一个转发表项,该转发表项的名称和数据块id分别等于该刷新消息的名称和数据块id,从该转发表项的接口id所标识的接口发送一个刷新消息,执行步骤403;

步骤405:结束。

提供者pe通过上述过程定期建立到达提供者pe+1的最优路由路径,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

本发明所述方法中,请求消息包含消息类型、硬件id、名称和数据块id;

响应消息包含消息类型、硬件id、名称、数据块id和负载;

数据da1由名称na1标识,数据da1由n1个数据块构成;消费者c1有权限访问数据da1,消费者c1通过下述过程获取数据da1:

步骤501:开始;

步骤502:消费者c1选择一个转发表项,该转发表项的名称为na1,数据块id为1,从该转发表项接口id所标识的接口发送请求消息,该请求消息的消息类型值为6,硬件id等于消费者c1的硬件id,名称等于na1,数据块id等于1;

步骤503:其他节点接收到请求消息,如果该节点能提供该请求消息名称和数据块id所标识的数据块,则执行步骤505,否则执行步骤504;

步骤504:接收到请求消息的节点选择一个转发表项,该转发表项的名称和数据块id分别等于该请求消息的名称和数据块id,从该转发表项接口id所标识的接口发送该请求消息,执行步骤503;

步骤505:接收到请求消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该请求消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送一个响应消息,该响应消息的消息类型值为7,硬件id,名称和数据块id分别等于该请求消息的硬件id,名称和数据块id,负载等于该请求消息的名称和数据块id所标识的数据块;如果该请求消息的数据块id等于n1,则执行步骤507,否则执行步骤506;

步骤506:接收到请求消息的节点将该请求消息的数据块id递增1,选择一个转发表项,该转发表项的名称和数据块id分别等于该请求消息的名称和数据块id,从该转发表项接口id所标识的接口发送该请求消息,执行步骤503;

步骤507:如果消费者c1接收到响应消息,则执行步骤509,否则执行步骤508;

步骤508:接收到响应消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该响应消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送该响应消息,执行步骤507;

步骤509:消费者c1保存该响应消息中的数据块,如果消费者c1接收到数据da1的所有n1个数据块,则执行步骤510,否则执行步骤507;

步骤510:结束。

消费者通过上述过程能够获取完整的数据da1,由于数据da1比较大,因此数据da1由n1个数据块构成,这些数据块由不同的提供者进行提供,从而实现了分布式数据块存储和数据块获取,提高了大数据通信的性能。

本发明所述方法中,请求数据快消息包含消息类型、硬件id、名称、数据块id和负载;数据da1由名称na1标识,数据da1由n1个数据块构成;消费者c1有权限访问数据da1,消费者c1通过下述过程获取数据块id为n2的数据块:

步骤601:开始;

步骤602:消费者c1选择一个转发表项,该转发表项的名称为na1,数据块id为1,从该转发表项接口id所标识的接口发送请求数据块消息,该请求数据块消息的消息类型值为8,硬件id等于消费者c1的硬件id,名称等于na1,数据块id等于n2,负载为参数x,参数x的初始值为1;

步骤603:其他节点接收到请求数据块消息,如果该节点能提供该请求数据块消息名称所标识的数据的任一个数据块,则执行步骤605,否则执行步骤604;

步骤604:接收到请求数据块消息的节点选择一个转发表项,该转发表项的名称等于该请求数据块消息的名称且数据块id等于该请求数据块消息负载中的参数x,从该转发表项接口id所标识的接口发送该请求数据块消息,执行步骤603;

步骤605:如果接收到请求数据块消息的节点能够提供该请求数据块消息的名称和数据块id所标识的数据块,则执行步骤607,否则执行步骤606;

步骤606:接收到请求数据块消息的节点将该请求数据块消息负载中的参数x递增1,选择一个转发表项,该转发表项的名称等于该请求数据块消息的名称且数据块id等于该请求数据块消息负载中的参数x,从该转发表项接口id所标识的接口发送该请求数据块消息,执行步骤603;

步骤607:接收到请求数据块消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该请求数据块消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送一个响应消息,该响应消息的消息类型值为7,硬件id,名称和数据块id分别等于该请求数据块消息的硬件id,名称和数据块id,负载等于该请求数据块消息的名称和数据块id所标识的数据块;

步骤608:如果消费者c1接收到响应消息,则执行步骤610,否则执行步骤609;

步骤609:接收到响应消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该响应消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送该响应消息,执行步骤608;

步骤610:消费者c1保存该响应消息中的数据块;

步骤611:结束。

消费者通过上述过程能够获取数据da1的任一个数据块,上述过程采用消费者表和转发表实现了数据块的获取,从而提高了数据通信性能。有益效果:本发明提供了一种高效的大数据网络数据通信实现方法,所述消费者通过本发明所提供的实现方法可以快速可靠地获取网络提供的数据服务,并缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

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

图1为本发明所述的维护消费者表流程示意图。

图2为本发明所述的维护转发表流程示意图。

图3为本发明所述的建立路由流程示意图。

图4为本发明所述的刷新流程示意图。

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

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

具体实施方式:

本发明提供了一种高效的大数据网络数据通信实现方法,所述消费者通过本发明所提供的实现方法可以快速可靠地获取网络提供的数据服务,并缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。

图1为本发明所述的维护消费者表流程示意图。所述大数据网络包括一组节点;一种类型的数据由名称定义,一种类型的数据包含n个数据块,n为大于1的整数,每个数据块由数据块ids唯一标识,1≤s≤n,一个数据块只能由一个节点提供,该节点称为该数据块的提供者;

一个节点配置两个以上的接口,每个接口与另一个节点相连,一个接口由一个接口id唯一标识;有权限访问一种类型数据的节点称为该数据的消费者;一种类型数据的消费者由硬件id唯一标识,硬件id可以为mac地址;节点通过消息进行通信,消息由消息名称和消息类型定义,如下表所示:

消费者发布消息包含消息类型、硬件id和名称;每个节点保存一个消费者表,每个消费者表项包含硬件id、名称、接口id以及生命周期;数据da1由名称na1定义,消费者c1有权限访问数据da1,消费者c1定期执行下述操作以维护消费者表:

步骤101:开始;

步骤102:消费者c1从每个接口发送一个消费者发布消息,该消费者发布消息的消息类型值为1,名称为na1,硬件id等于消费者c1的硬件id;

步骤103:节点从接口f1接收到消费者发布消息,如果该节点存在一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id且生命周期大于阈值th1,则执行步骤108,否则执行步骤104;阈值th1的取值范围为最大生命周期的90%-95%。

步骤104:从接口f1接收到消费者发布消息的节点查看消费者表,如果存在一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id,则执行步骤105,否则执行步骤106;

步骤105:从接口f1接收到消费者发布消息的节点选择一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id,将该消费者表项的接口更新为f1,将生命周期设置为最大值,执行步骤107;

步骤106:从接口f1接收到消费者发布消息的节点创建一个消费者表项,该消费者表项的名称和硬件id分别等于该消费者发布消息的名称和硬件id,将该消费者表项的接口设置为f1,将生命周期设置为最大值;

步骤107:从接口f1接收到消费者发布消息的节点从除了接口f1以外的每个接口转发该消费者发布消息,执行步骤103;

步骤108:结束。

消费者通过上述过程建立所有提供者到达自己的最优路由路径,上述过程通过硬件id来唯一标识一个消费者,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

图2为本发明所述的维护转发表流程示意图。每个节点保存一个转发表,一个转发表项包含名称、数据块id、接口id和生命周期;提供者消息包含消息类型、名称和数据块id;数据da1由名称na1唯一标识,提供者p1能提供数据da1的数据块id为1的数据块;提供者p1建立消费者表后,定期执行下述过程维护转发表:

步骤201:开始;

步骤202:提供者p1选择所有名称等于na1的消费者表项,针对每个选择的消费者表项,提供者p1从该消费者表项的接口id所标识的接口发送一个提供者发布消息,该提供者发布消息的消息类型值为2,名称等于na1,数据块id等于1;

步骤203:节点从接口f2接收到提供者发布消息,如果该节点存在一个转发消息,该转发消息的名称和数据块id分别等于该提供者发布消息的名称和数据块id且生命周期大于阈值th1,则执行步骤208,否则执行步骤204;

步骤204:从接口f2接收到提供者发布消息的节点查看转发表,如果存在一个转发表项,该转发表项的名称和硬件id分别等于该提供者发布消息的名称和硬件id,则执行步骤205,否则执行步骤206;

步骤205:从接口f2接收到提供者发布消息的节点选择一个转发表项,该转发表项的名称和硬件id分别等于该提供者发布消息的名称和硬件id,将该转发表项的接口更新为f2,将生命周期设置为最大值,执行步骤207;

步骤206:从接口f2接收到提供者发布消息的节点创建一个转发表项,该转发表项的名称和硬件id分别等于该提供者发布消息的名称和硬件id,将该转发表项的接口设置为f2,将生命周期设置为最大值;

步骤207:从接口f2接收到提供者发布消息的节点从除了接口f2以外的每个接口转发该提供者发布消息,执行步骤203;

步骤208:结束。

提供者通过上述过程建立所有消费者到达自己的最优路由路径,上述过程通过名称和数据块id唯一标识一个提供者,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

图3为本发明所述的建立路由流程示意图。每个节点保存一个临时表,一个临时表项包含名称、数据块id、接口id和生命周期;每个节点保存一个确认表,一个确认表项包含名称、数据块id和生命周期;

发现消息包含消息类型,名称和数据块id;

确认消息包含消息类型,名称和数据块id;

在数据da1由名称na1定义,包含n1个数据块,提供者pe能提供数据da1的数据块id为e的数据块,1≤e<n1,提供者pe+1能提供数据da1的数据块id为e+1的数据块的条件下,提供者pe执行下述过程建立到达提供者pe+1的路由路径:

步骤301:开始;

步骤302:提供者pe从每个接口发送一个发现消息,该发现消息中,消息类型值为3,名称为na1,数据块id为e+1;

步骤303:其他节点从接口x1接收到该发现消息,如果该节点为提供者pe+1,则执行步骤306,否则执行步骤304;

步骤304:从接口x1接收到该发现消息的节点查看临时表,如果存在一个临时表项,该临时表项的名称和数据块id分别等于该发现消息中的名称和数据块id,则执行步骤311,否则执行步骤305;

步骤305:从接口x1接收到该发现消息的节点创建一个临时表项,该临时表项的名称和数据块id分别等于该发现消息中的名称和数据块id,接口id等于x1,生命周期设置为最大值,该节点从除了接口x1以外的每个接口转发该发现消息,执行步骤303;

步骤306:从接口x1接收到该发现消息的节点查看确认表,如果存在一个确认表项,该确认表项的名称和数据块id分别等于该发现消息的名称和数据块id,则执行步骤311,否则执行步骤307;

步骤307:从接口x1接收到该发现消息的节点创建一个确认表项,该确认表项的名称和数据块id分别等于该发现消息的名称和数据块id,生命周期设置为最大值;该节点从接口x1发送一个确认消息,该确认消息的消息类型值为4,名称和数据块id分别等于该发现消息的名称和数据块id;

步骤308:节点从接口x2接收到该确认消息后查看转发表,如果存在一个转发表项,该转发表项的名称和数据块id分别等于该确认消息中的名称和数据块id,则执行步骤311,否则执行步骤309;

步骤309:从接口x2接收到该确认消息的节点创建一个转发表项,该转发表项的名称和数据块id分别等于该确认消息中的名称和数据块id,接口id等于x2,生命周期设置为最大值,如果该节点为提供者pe,则执行步骤311,否则执行步骤310;

步骤310:从接口x2接收到该确认消息的节点选择一个临时表项,该临时表项的名称和数据块id分别等于该确认消息的名称和数据块id,从该临时表项的接口id所标识的接口转发该确认消息,执行步骤308;

步骤311:结束。

提供者pe通过上述过程建立到达提供者pe+1的最优路由路径,从而能够从提供者pe+1获取数据块id为e+1的数据块,最终获取整个数据,上述过程通过名称和数据块id唯一标识一个提供者,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

图4为本发明所述的刷新流程示意图。刷新消息包含消息类型、名称和数据块id;提供者pe建立到达提供者pe+1的路由路径后定期执行下述操作:

步骤401:开始;

步骤402:提供者pe选择一个转发表项,该转发表项的名称为na1,数据块id等于e+1,从该转发表项的接口id所标识的接口发送一个刷新消息,该刷新消息中,消息类型值为5,名称为na1,数据块id等于e+1;

步骤403:如果提供者pe+1接收到该刷新消息,则执行步骤405,否则执行步骤404;

步骤404:接收到该刷新消息的节点选择一个转发表项,该转发表项的名称和数据块id分别等于该刷新消息的名称和数据块id,从该转发表项的接口id所标识的接口发送一个刷新消息,执行步骤403;

步骤405:结束。

提供者pe通过上述过程定期建立到达提供者pe+1的最优路由路径,从而确保路由路径的正确性,上述过程通过生命周期来控制每个路由路径的实时性,从而确保路由路径的有效性和正确性。

图5为本发明所述的数据获取流程示意图。请求消息包含消息类型、硬件id、名称和数据块id;

响应消息包含消息类型、硬件id、名称、数据块id和负载;

数据da1由名称na1标识,数据da1由n1个数据块构成;消费者c1有权限访问数据da1,消费者c1通过下述过程获取数据da1:

步骤501:开始;

步骤502:消费者c1选择一个转发表项,该转发表项的名称为na1,数据块id为1,从该转发表项接口id所标识的接口发送请求消息,该请求消息的消息类型值为6,硬件id等于消费者c1的硬件id,名称等于na1,数据块id等于1;

步骤503:其他节点接收到请求消息,如果该节点能提供该请求消息名称和数据块id所标识的数据块,则执行步骤505,否则执行步骤504;

步骤504:接收到请求消息的节点选择一个转发表项,该转发表项的名称和数据块id分别等于该请求消息的名称和数据块id,从该转发表项接口id所标识的接口发送该请求消息,执行步骤503;

步骤505:接收到请求消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该请求消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送一个响应消息,该响应消息的消息类型值为7,硬件id,名称和数据块id分别等于该请求消息的硬件id,名称和数据块id,负载等于该请求消息的名称和数据块id所标识的数据块;如果该请求消息的数据块id等于n1,则执行步骤507,否则执行步骤506;

步骤506:接收到请求消息的节点将该请求消息的数据块id递增1,选择一个转发表项,该转发表项的名称和数据块id分别等于该请求消息的名称和数据块id,从该转发表项接口id所标识的接口发送该请求消息,执行步骤503;

步骤507:如果消费者c1接收到响应消息,则执行步骤509,否则执行步骤508;

步骤508:接收到响应消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该响应消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送该响应消息,执行步骤507;

步骤509:消费者c1保存该响应消息中的数据块,如果消费者c1接收到数据da1的所有n1个数据块,则执行步骤510,否则执行步骤507;

步骤510:结束。

消费者通过上述过程能够获取完整的数据da1,由于数据da1比较大,因此数据da1由n1个数据块构成,这些数据块由不同的提供者进行提供,从而实现了分布式数据块存储和数据块获取,提高了大数据通信的性能。

图6为本发明所述的数据块获取流程示意图。请求数据快消息包含消息类型、硬件id、名称、数据块id和负载;数据da1由名称na1标识,数据da1由n1个数据块构成;消费者c1有权限访问数据da1,消费者c1通过下述过程获取数据块id为n2的数据块:

步骤601:开始;

步骤602:消费者c1选择一个转发表项,该转发表项的名称为na1,数据块id为1,从该转发表项接口id所标识的接口发送请求数据块消息,该请求数据块消息的消息类型值为8,硬件id等于消费者c1的硬件id,名称等于na1,数据块id等于n2,负载为参数x,参数x的初始值为1;

步骤603:其他节点接收到请求数据块消息,如果该节点能提供该请求数据块消息名称所标识的数据的任一个数据块,则执行步骤605,否则执行步骤604;

步骤604:接收到请求数据块消息的节点选择一个转发表项,该转发表项的名称等于该请求数据块消息的名称且数据块id等于该请求数据块消息负载中的参数x,从该转发表项接口id所标识的接口发送该请求数据块消息,执行步骤603;

步骤605:如果接收到请求数据块消息的节点能够提供该请求数据块消息的名称和数据块id所标识的数据块,则执行步骤607,否则执行步骤606;

步骤606:接收到请求数据块消息的节点将该请求数据块消息负载中的参数x递增1,选择一个转发表项,该转发表项的名称等于该请求数据块消息的名称且数据块id等于该请求数据块消息负载中的参数x,从该转发表项接口id所标识的接口发送该请求数据块消息,执行步骤603;

步骤607:接收到请求数据块消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该请求数据块消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送一个响应消息,该响应消息的消息类型值为7,硬件id,名称和数据块id分别等于该请求数据块消息的硬件id,名称和数据块id,负载等于该请求数据块消息的名称和数据块id所标识的数据块;

步骤608:如果消费者c1接收到响应消息,则执行步骤610,否则执行步骤609;

步骤609:接收到响应消息的节点选择一个消费者表项,该消费者表项的硬件id和名称分别等于该响应消息的硬件id和名称,从该消费者表项的接口id所标识的接口发送该响应消息,执行步骤608;

步骤610:消费者c1保存该响应消息中的数据块;

步骤611:结束。

消费者通过上述过程能够获取数据da1的任一个数据块,上述过程采用消费者表和转发表实现了数据块的获取,从而提高了数据通信性能。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中的一种高效的大数据网络数据通信实现方法,性能分析如下:当提供者数量增加时,消费者获取数据块的延迟随之降低,消费者获取一个数据块的平均延迟为127ms。

表1仿真参数

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

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