一种快速的大数据网络实现方法与流程

文档序号:21477793发布日期:2020-07-14 17:03阅读:255来源:国知局
一种快速的大数据网络实现方法与流程
本发明涉及一种实现方法,尤其涉及的是一种快速的大数据网络实现方法。
背景技术
:近年来,很多研究工作致力于大数据网络,以便通过未来移动网络能够快速获取网络服务。随着大数据网络的发展,大数据网络会成为未来提供服务的一种模式。目前,大数据网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低大数据网络提供数据的延迟和代价成为近年来研究的热点问题。技术实现要素:发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种快速的大数据网络实现方法。技术方案:本发明公开了一种快速的大数据网络实现方法,所述大数据网络包括两个以上的路由器和节点,路由器包括接入路由器和骨干路由器;骨干路由器配置一个以上的接口,每个接口连接一个其他的路由器;接入路由器配置一个上游接口和两个以上的下游接口,上游接口连接骨干路由器,下游接口连接节点;每个节点配置一个接口,连接接入路由器;路由器和节点的接口由接口id唯一标识,接口id为z的接口简写成接口z;每个路由器具有唯一性的坐标,每个节点具有一个唯一性的硬件id,例如mac地址;每个节点或者路由器由一个地址唯一标识,一个地址由坐标和硬件id构成,一个路由器的地址的硬件id为0,坐标等于自己的坐标;一个节点的地址的硬件id等于该节点的硬件id,坐标等于连接的接入路由器的坐标;一种类型的数据由名称唯一定义,其包含两个以上的数据块,每个数据块由数据块id唯一标识;一个节点能够保存一种类型数据的一个以上的数据块,该节点称为该数据的提供者;如果一个节点有权限消费一种类型的数据,则该节点称为该数据的消费者;一种类型的数据与一个接入路由器关联,该接入路由器称为该数据的关联接入路由器,用于维护保存该种数据的数据块的提供者信息,该关联接入路由器预先设定;消息由消息类型唯一标识,如下表所示:接入路由器保存一个节点表,每个节点表项包含名称、数据块id、接口id、地址、角色和生命周期,角色值为0,表明该节点为名称域值所标识的数据的消费者,角色值为1,表明该节点为该名称域值所标识的数据的提供者;一个节点消息包含消息类型、角色值、名称、数据块id集合和地址;节点通过电子地图获取每个连接的接入路由器的坐标,电子地图预先设置,包含每个接入路由器的坐标;在节点nd1与接入路由器ar1相连,能够提供数据da1的部分数据块,所述数据块的数据块id构成数据块id集合cs1,数据da1由名称na1标识的条件下,节点nd1定期执行下述操作:步骤101:开始;步骤102:节点nd1构建一个地址,该地址的坐标为接入路由器ar1的坐标,硬件id为自己的硬件id;节点nd1发送一个节点消息,该节点消息的消息类型的值为1,角色域值为1,名称为na1,数据块id集合为cs1,地址为构建的地址;步骤103:接入路由器ar1从接口x1接收到该节点消息后查看节点表,对于该节点消息的数据块id集合中的每个元素cid1,接入路由器ar1执行下述操作:如果存在一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,且数据块id等于cid1,接入路由器ar1则将该节点表项的角色域更新为该节点消息的角色域,将接口id设置为x1,将生命周期设置为最大值,生命周期取值范围为500ms-1s;否则接入路由器ar1创建一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,数据块id等于cid1,角色域等于该节点消息的角色域,接口id设置为x1,将生命周期设置为最大值,生命周期取值范围为500ms-1s;步骤104:结束。数据提供者通过上述过程在连接的接入路由器建立自己的节点表项,这样,接入路由器可以获取该数据提供者能够提供的数据名称信息以及接口信息从而实现消息的正确转发,此外,上述过程通过生命周期来确保节点信息的实时性和有效性,从而进一步确保了数据通信的正确性。本发明所述方法中,节点nd2与接入路由器ar2连接;数据da1由名称na1定义,节点nd2有权限消费数据da1,节点nd2定期执行下述操作:步骤201:开始;步骤202:节点nd2构建一个地址,该地址的坐标为接入路由器ar2的坐标,硬件id为自己的硬件id;节点nd2发送一个节点消息,该节点消息的消息类型的值为1,角色值为0,名称为na1,数据块id集合为空,地址为创建的地址;步骤203:接入路由器ar2从接口x2接收到该节点消息后查看节点表,如果存在一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,接入路由器ar2则将该节点表项的角色域更新为该节点消息的角色域,将接口id设置为x2,将生命周期设置为最大值;否则接入路由器ar2创建一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,角色域值等于该节点消息的角色域值,接口id设置为x2,将生命周期设置为最大值,数据块id集合为空;步骤204结束。数据消费者通过上述过程在连接的接入路由器建立自己的节点表项,这样,接入路由器可以获取该节点的接口信息从而实现消息的正确转发,由于上述过程通过生命周期来确保节点信息的实时性和有效性,从而进一步确保了数据通信的正确性。本发明所述方法中,路由器保存一个邻居表,一个邻居表项包含地址域、接口id和生命周期;邻居消息包含消息类型和地址;路由器r1定期执行下述操作:步骤301:开始;步骤302:路由器r1创建一个地址,该地址的坐标等于路由器r1的坐标,硬件id为0,路由器r1构建一个邻居消息,该邻居消息的消息类型的值为2,地址为构建的地址;如果路由器r1为骨干路由器,则从每个接口发送该邻居消息,否则路由器r1从上游接口发送该邻居消息;步骤303:路由器从接口x3接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的地址等于该邻居消息的地址,则将该邻居表项的接口id更新为x3,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的地址等于该邻居消息的地址,接口id等于x3,将生命周期设置为最大值;步骤304:结束。路由器通过上述过程在邻居路由器上建立自己的邻居表项,这样,路由器通过邻居表可以保存邻居路由器的地址以及连接的接口,路由器通过接口信息可以实现消息的正确转发,从而确保了数据通信的正确性,通过邻居路由器的地址可以选择最优的邻居路由器作为到达目的路由器的下一跳从而构建最优路由路径。本发明所述方法中,接入路由器通过电子地图获取每个接入路由器的坐标;每个接入路由器保存一个路径表,每个路径表项包含地址域和地址集合;接入路由器对于除了自己以外的每个接入路由器创建一个路径表项,该路径表项的地址等于该接入路由器的地址,地址集合为空;从一个接入路由器到达另一个接入路由器的路径由地址集合表示,该地址集合包含了该路径所包含的路由器的地址;一个创建消息包含消息类型、地址集合、源地址和目的地址;一个创建响应消息包含消息类型、目的地址集合和源地址集合;接入路由器ar1创建路径表后,针对每个路径表项t1,接入路由器ar1执行下述操作:步骤401:开始;步骤402:接入路由器ar1创建一个地址,该地址的坐标等于自己的坐标,硬件id为0;接入路由器ar1创建一个创建消息,该创建消息的消息类型的值为3,地址集合为空,源地址为创建的坐标,目的地址为路径表项t1的地址;接入路由器ar1选择一个邻居表项,该邻居表项地址中的坐标与该创建消息目的地址的坐标之间的距离最近,将该邻居表项的地址加入到该创建消息的地址集合中并作为最后一个元素,从该邻居表项的接口id所标识的接口发送该创建消息;步骤403:路由器接收到该创建消息,判断该路由器的地址是否等于该创建消息的目的地址,是则执行步骤405,否则执行步骤404;步骤404:接收到该创建消息的路由器选择一个邻居表项,该邻居表项地址域值的坐标与该创建消息目的地址的坐标之间的距离最近,将该邻居表项的地址加入到该创建消息的地址集合中并作为最后一个元素,从该邻居表项的接口id所标识的接口发送该创建消息,执行步骤403;步骤405:接收到创建消息的路由器设置一个地址集合参数ap1,参数ap1的值等于该创建消息的地址集合;接收到创建消息的路由器从参数ap1从删除最后一个元素,将创建消息的源地址加入到参数ap1中并作为第一个元素;路由器选择一个路径表项,该路径表项的地址等于等创建消息的源地址,将该路径表项的地址集合设置为参数ap1;该路由器设置一个地址集合参数ap2,参数ap2为空,将该创建消息的目的地址加入到参数ap2中并作为最后一个元素,构建一个创建响应消息,该创建响应消息的消息类型的值为4,目的地址集合等于参数ap1,源地址集合等于参数ap2;路由器选择一个邻居表项,该邻居表项的地址等于该创建响应消息目的地址集合的最后一个元素,将创建响应消息目的地址集合中的最后一个元素加入到创建响应消息源地址集合中并作为最后一个元素,从该创建响应消息目的地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该创建响应消息;步骤406:接收到该创建响应消息的路由器判断该创建响应消息的目的地址集合是否为空,是则执行步骤408,否则执行步骤407;步骤407:接收到创建响应消息的路由器选择一个邻居表项,该邻居表项的地址等于该创建响应消息目的地址集合的最后一个元素,将创建响应消息目的地址集合中的最后一个元素加入到创建响应消息源地址集合中并作为最后一个元素,从该创建响应消息目的地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该创建响应消息,执行步骤406;步骤408:接收到该创建响应消息的接入路由器ar1,从该创建响应消息的源地址集合中删除最后一个元素,将路径表项t1的地址集合域值设置为该创建响应消息的源地址集合;步骤409:结束。接入路由器通过上述过程建立路径表,该路径表通过地址集合来建立到达其他接入路由器的路径,由于上述过程通过邻居表项中地址的实时坐标来实现路径的建立,从而确保了路径的最优性和实时性。本发明所述方法中,每个接入路由器保存一个提供者表,一个提供者表项包含名称、数据块id、地址和生命周期;每种数据的关联接入路由器保存一个消费者表,每个消费者表项包含名称、地址和生命周期;一个发布消息包含消息类型、地址集合、源地址和名称;一个发布响应消息包含消息类型、地址集合、名称、源地址、角色集合和数据块id集合;接入路由器ar1为数据da1的关联接入路由器,数据da1由名称na1定义;接入路由器ar1定期执行下述操作:步骤501:开始;步骤502:接入路由器ar1创建一个地址,该地址的坐标为自己的坐标,硬件id为0;接入路由器ar1发送发布消息,该发布消息的消息类型的值为5,地址集合为空,源地址为创建的地址,名称为na1;接入路由器ar1查看路径表,针对每个路径表项,接入路由器ar1执行下述操作:接入路由器ar1将该发布消息的地址集合设置为该路径表项的地址集合,选择一个邻居表项,该邻居表项的地址等于该发布消息地址集合的最后一个元素,从该发布消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布消息;步骤503:路由器接收到该发布消息,判断该发布消息的地址集合是否为空,是则执行步骤505,否则执行步骤504;步骤504:接收到发布消息的路由器选择一个邻居表项,该邻居表项的地址等于该发布消息地址集合的最后一个元素,从该发布消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布消息,执行步骤503;步骤505:接收到发布消息的路由器设置一个角色集合参数rp1和一个数据块id集合参数sp1,参数rp1和参数sp1的初始值为空;该路由器查看节点表,针对每个节点表项,该路由器执行下述操作:如果存在一个节点表项,该节点表项的名称等于该发布消息的名称且角色域值为0,该路由器查看参数rp1是否包含该节点表项的角色域值,如果包含,则不做任何操作,否则将该节点表项的角色域值加入到参数rp1中;如果存在一个节点表项,该节点表项的名称等于该发布消息的名称且角色域值为1,该路由器将该节点表项的数据块id加入到参数sp1中,然后查看参数rp1是否包含该节点表项的角色域值,如果包含,则不做任何操作,否则将该节点表项的角色域值加入到参数rp1中;步骤506:接收到发布消息的路由器判断参数rp1是否为空,是则执行步骤514,否则执行步骤507;步骤507:接收到发布消息的路由器选择一个路径表项,该路径表项的地址等于该发布消息的源地址,创建一个地址,该地址的坐标等于该路由器的坐标,硬件id等于0;接收到发布消息的路由器构建一个发布响应消息,该发布响应消息的消息类型的值为6,地址集合等于该路径表项的地址集合,名称等于该发布消息的名称,源地址等于创建的地址,角色集合等于参数rp1,数据块id集合等于参数sp1;路由器一个邻居表项,该邻居表项的地址等于该发布响应消息地址集合的最后一个元素,从该发布响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布响应消息;步骤508:路由器接收到该发布响应消息,判断该发布响应消息的地址集合是否为空,是则执行步骤510,否则执行步骤509;步骤509:接收到发布响应消息的路由器选择一个邻居表项,该邻居表项的地址等于该发布响应消息地址集合的最后一个元素,从该发布响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布响应消息,执行步骤508;步骤510:接收到发布响应消息的路由器查看该发布响应消息的角色集合,判断该角色集合是否包含0,是则执行步骤511,否则执行步骤512;步骤511:接收到发布响应消息的路由器查看是否存在一个消费者表项,该消费者表项的名称等于该发布响应消息的名称且地址等于该发布响应消息的源地址,如果存在,该路由器则将该消费者表项的生命周期设置为最大值;否则,该路由器创建一个消费者表项,该消费者表项的名称等于该发布响应消息的名称,地址等于该发布响应消息的源地址,生命周期设置为最大值;步骤512:接收到发布响应消息的路由器查看该发布响应消息的角色集合,如果该角色集合包含1,则执行步骤513,否则执行步骤514;步骤513:接收到发布响应消息的路由器查看该发布响应消息中的数据块id集合,针对该数据块id集合中的每个元素cid2,接收到发布响应消息的路由器执行下述操作:判断是否存在一个提供者表项,该提供者表项的名称等于该发布响应消息的名称,地址等于该发布响应消息的源地址,且数据块id等于cid2,如果存在,该路由器则将该提供者表项的生命周期设置为最大值;否则,该路由器创建一个提供者表项,该提供者表项的名称等于该发布响应消息的名称,地址等于该发布响应消息的源地址,数据块id等于cid2,生命周期设置为最大值;步骤514:结束。接入路由器通过上述过程建立消费者表和提供者表,这样,接入路由器可以将提供者表发送给消费者所关联的接入路由器,这样消费者节点通过提供者表可以获取提供者信息,从而实现两个以上的数据块的并行获取,从而大幅度提高数据通信性能。本发明所述方法中,一个提供者消息包含消息类型、地址集合和负载;接入路由器ar1为数据da1的关联接入路由器,数据da1由名称na1定义;接入路由器ar1定期执行下述操作:步骤601:开始;步骤602:接入路由器ar1创建一个地址,该地址的坐标为自己的坐标,硬件id为0;接入路由器ar1选择所有名称域值为na1的消费者表项,同时选择所有名称域值为na1的提供者表项,针对每个选中的消费者表项,接入路由器ar1执行下述操作:接入路由器ar1选择一个路径表项,该路径表项的地址等于该消费者表项的地址,发送一个消费者消息,该消费者消息的消息类型的值为6,地址集合为该路径表项的地址集合,负载为所有选中的提供者表项;接入路由器ar1选择一个邻居表项,该邻居表项的地址等于该提供者消息地址集合的最后一个元素,从该提供者消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该提供者消息;步骤603:路由器接收到该提供者消息,判断该提供者消息的地址集合是否为空,是则执行步骤605,否则执行步骤604;步骤604:接收到提供者消息的路由器选择一个邻居表项,该邻居表项的地址等于该提供者消息地址集合的最后一个元素,从该提供者消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该提供者消息,执行步骤603;步骤605:接收到该提供者消息的路由器查看该提供者消息,针对该提供者消息负载中的每个提供者表项e1,该路由器执行下述操作:该路由器的提供者表中如果存在一个提供者表项e2,提供者表项e2的名称、地址和数据块id分别等于提供者表项e1的名称、地址和数据块id,则将提供者表项e2的生命周期设置为最大值;否则,该路由器创建一个提供者表项,该提供者表项的名称、地址和数据块id分别等于提供者表项e1的名称、地址和数据块id,生命周期设置为最大值;步骤606:结束。数据的关联接入路由器通过上述过程将提供者表发布给消费者,这样,消费者节点通过所连接的接入路由器所保存的提供者表可以获取提供者信息,从而从每个提供者并行获取两个以上的数据块,实现数据的并行传输,从而大幅度降低数据通信延迟。本发明所述方法中,提供者请求消息包含消息类型、数据块id集合和名称;提供者响应消息包含消息类型、数据块id集合、名称和负载;请求消息包含消息类型、源地址、目的地址、数据块id、名称和地址集合;响应消息包含消息类型、目的地址、数据块id、名称、地址集合和负载;节点nd2与接入路由器ar2相连,节点nd2需要获取数据da1中的部分数据块,所述部分数据块的数据块id集合为cs2,数据da1由名称na1标识;节点nd2执行下述过程获取所需数据块:步骤701:开始;步骤702:节点nd2发送一个提供者请求消息,该提供者请求消息的消息类型的值为8,数据块id集合等于cs2,名称为na1;接入路由器ar2从接口z1接收到提供者请求消息,针对该提供者请求消息的数据块id集合中的每个数据块idcid4,接入路由器ar2选择一个提供者表项,该提供者表项的名称等于该提供者请求消息的名称,数据块id等于cid4;步骤703:接入路由器ar2从接口z1发送一个提供者响应消息,该提供者响应消息的消息类型的值为9,数据块id集合和名称分别等于该提供者请求消息的数据块id集合和名称,负载为选择的所有提供者表项;步骤704:节点nd2接收到提供者响应消息,针对提供者响应消息负载中的每个提供者表项t3,节点nd2发送一个请求消息,该请求消息的消息类型的值为10,源地址等于节点nd2的地址,目的地址为提供者表项t3的地址,数据块id和名称分别等于提供者表项t3的数据块id和名称,地址集合为空;接入路由器ar2接收到该请求消息后,选择一个路径表项,该路径表项的地址等于该请求消息的目的地址,将该请求消息的地址集合设置为该路径表项的地址集合;接入路由器ar2选择一个邻居表项,该邻居表项的地址等于该请求消息地址集合的最后一个元素,从该请求消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该请求消息;步骤705:路由器接收到该请求消息,判断该请求消息的地址集合是否为空,是则执行步骤707,否则执行步骤706;步骤706:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址等于该请求消息地址集合的最后一个元素,从该请求消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该请求消息,执行步骤705;步骤707:接收到请求消息的路由器选择一个节点表项,该节点表项角色域值为1,名称和数据块id分别等于该请求消息的名称和数据块id,从该节点表项的接口id所标识的接口转发该请求消息;节点接收到该请求消息后,发送一个响应消息,该响应消息的消息类型的值为11,目的地址等于该请求消息的源地址,数据块id和名称分别等于该请求消息的数据块id和名称,地址集合为空,负载为该请求消息的名称和数据块id所标识的数据块;步骤708:路由器接收到该响应消息后,选择一个路径表项,该路径表项地址的坐标等于该响应消息目的地址的坐标,将该响应消息的地址集合设置为该路径表项的地址集合;该路由器选择一个邻居表项,该邻居表项的地址等于该响应消息地址集合的最后一个元素,从该响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该响应消息;步骤709:路由器接收到该响应消息,判断该响应消息的地址集合是否为空,是则执行步骤711,否则执行步骤710;步骤710:接收到响应消息的路由器选择一个邻居表项,该邻居表项的地址等于该响应消息地址集合的最后一个元素,从该响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该响应消息,执行步骤709;步骤711:接收到响应消息的路由器选择一个节点表项,该节点表项的地址等于该响应消息的目的地址,从该节点表项的接口id所标识的接口转发该响应消息;节点nd2接收到该响应消息后,保存该响应消息负载中的数据块;如果节点nd2接收到数据块id集合cs2和名称na1所定义的所有数据块,则执行步骤712,否则执行步骤709;步骤712:结束。节点通过上述过程首先从所连接的接入路由器获取提供者表项,然后根据提供者表项信息,从每个提供者获取数据块,从而并行获取数据,大幅度降低了数据通信延迟;此外,上述过程无需建立路由,从而进一步大幅度降低了数据通信延迟。有益效果:本发明提供了一种快速的大数据网络实现方法,用户通过本发明所提供的大数据网络实现方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。附图说明下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。图1为本发明所述的建立节点表流程示意图。图2为本发明所述的更新节点表流程示意图。图3为本发明所述的建立邻居表流程示意图。图4为本发明所述的建立路径表流程示意图。图5为本发明所述的建立消费者表流程示意图。图6为本发明所述的发布提供者流程示意图。图7为本发明所述的数据通信流程示意图。具体实施方式:本发明提供了一种快速的大数据网络实现方法,用户通过本发明所提供的大数据网络实现方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。图1为本发明所述的建立节点表流程示意图。一种快速的大数据网络实现方法,所述大数据网络包括两个以上的路由器和节点,路由器包括接入路由器和骨干路由器;骨干路由器配置一个以上的接口,每个接口连接一个其他的路由器;接入路由器配置一个上游接口和两个以上的下游接口,上游接口连接骨干路由器,下游接口连接节点;每个节点配置一个接口,连接接入路由器;路由器和节点的接口由接口id唯一标识,接口id为z的接口简写成接口z;每个路由器具有唯一性的坐标,每个节点具有一个唯一性的硬件id,例如mac地址;每个节点或者路由器由一个地址唯一标识,一个地址由坐标和硬件id构成,一个路由器的地址的硬件id为0,坐标等于自己的坐标;一个节点的地址的硬件id等于该节点的硬件id,坐标等于连接的接入路由器的坐标;一种类型的数据由名称唯一定义,其包含两个以上的数据块,每个数据块由数据块id唯一标识;一个节点能够保存一种类型数据的一个以上的数据块,该节点称为该数据的提供者;如果一个节点有权限消费一种类型的数据,则该节点称为该数据的消费者;一种类型的数据与一个接入路由器关联,该接入路由器称为该数据的关联接入路由器,用于维护保存该种数据的数据块的提供者信息,该关联接入路由器预先设定;消息由消息类型唯一标识,如下表所示:消息类型的值消息名称1节点消息2邻居消息3创建消息4创建响应消息5发布消息6发布响应消息7提供者消息8提供者请求消息9提供者响应消息10请求消息11响应消息接入路由器保存一个节点表,每个节点表项包含名称、数据块id、接口id、地址、角色和生命周期,角色值为0,表明该节点为名称域值所标识的数据的消费者,角色值为1,表明该节点为该名称域值所标识的数据的提供者;一个节点消息包含消息类型、角色值、名称、数据块id集合和地址;节点通过电子地图获取每个连接的接入路由器的坐标,电子地图预先设置,包含每个接入路由器的坐标;在节点nd1与接入路由器ar1相连,能够提供数据da1的部分数据块,所述数据块的数据块id构成数据块id集合cs1,数据da1由名称na1标识的条件下,节点nd1定期执行下述操作:步骤101:开始;步骤102:节点nd1构建一个地址,该地址的坐标为接入路由器ar1的坐标,硬件id为自己的硬件id;节点nd1发送一个节点消息,该节点消息的消息类型的值为1,角色域值为1,名称为na1,数据块id集合为cs1,地址为构建的地址;步骤103:接入路由器ar1从接口x1接收到该节点消息后查看节点表,对于该节点消息的数据块id集合中的每个元素cid1,接入路由器ar1执行下述操作:如果存在一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,且数据块id等于cid1,接入路由器ar1则将该节点表项的角色域更新为该节点消息的角色域,将接口id设置为x1,将生命周期设置为最大值,生命周期取值范围为500ms-1s;否则接入路由器ar1创建一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,数据块id等于cid1,角色域等于该节点消息的角色域,接口id设置为x1,将生命周期设置为最大值,生命周期取值范围为500ms-1s;步骤104:结束。数据提供者通过上述过程在连接的接入路由器建立自己的节点表项,这样,接入路由器可以获取该数据提供者能够提供的数据名称信息以及接口信息从而实现消息的正确转发,此外,上述过程通过生命周期来确保节点信息的实时性和有效性,从而进一步确保了数据通信的正确性。图2为本发明所述的更新节点表流程示意图。节点nd2与接入路由器ar2连接;数据da1由名称na1定义,节点nd2有权限消费数据da1,节点nd2定期执行下述操作:步骤201:开始;步骤202:节点nd2构建一个地址,该地址的坐标为接入路由器ar2的坐标,硬件id为自己的硬件id;节点nd2发送一个节点消息,该节点消息的消息类型的值为1,角色值为0,名称为na1,数据块id集合为空,地址为创建的地址;步骤203:接入路由器ar2从接口x2接收到该节点消息后查看节点表,如果存在一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,接入路由器ar2则将该节点表项的角色域更新为该节点消息的角色域,将接口id设置为x2,将生命周期设置为最大值;否则接入路由器ar2创建一个节点表项,该节点表项的地址和名称分别等于该节点消息的地址和名称,角色域值等于该节点消息的角色域值,接口id设置为x2,将生命周期设置为最大值,数据块id集合为空;步骤204结束。数据消费者通过上述过程在连接的接入路由器建立自己的节点表项,这样,接入路由器可以获取该节点的接口信息从而实现消息的正确转发,由于上述过程通过生命周期来确保节点信息的实时性和有效性,从而进一步确保了数据通信的正确性。图3为本发明所述的建立邻居表流程示意图。路由器保存一个邻居表,一个邻居表项包含地址域、接口id和生命周期;邻居消息包含消息类型和地址;路由器r1定期执行下述操作:步骤301:开始;步骤302:路由器r1创建一个地址,该地址的坐标等于路由器r1的坐标,硬件id为0,路由器r1构建一个邻居消息,该邻居消息的消息类型的值为2,地址为构建的地址;如果路由器r1为骨干路由器,则从每个接口发送该邻居消息,否则路由器r1从上游接口发送该邻居消息;步骤303:路由器从接口x3接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的地址等于该邻居消息的地址,则将该邻居表项的接口id更新为x3,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的地址等于该邻居消息的地址,接口id等于x3,将生命周期设置为最大值;步骤304:结束。路由器通过上述过程在邻居路由器上建立自己的邻居表项,这样,路由器通过邻居表可以保存邻居路由器的地址以及连接的接口,路由器通过接口信息可以实现消息的正确转发,从而确保了数据通信的正确性,通过邻居路由器的地址可以选择最优的邻居路由器作为到达目的路由器的下一跳从而构建最优路由路径。图4为本发明所述的建立路径表流程示意图。接入路由器通过电子地图获取每个接入路由器的坐标;每个接入路由器保存一个路径表,每个路径表项包含地址域和地址集合;接入路由器对于除了自己以外的每个接入路由器创建一个路径表项,该路径表项的地址等于该接入路由器的地址,地址集合为空;从一个接入路由器到达另一个接入路由器的路径由地址集合表示,该地址集合包含了该路径所包含的路由器的地址;一个创建消息包含消息类型、地址集合、源地址和目的地址;一个创建响应消息包含消息类型、目的地址集合和源地址集合;接入路由器ar1创建路径表后,针对每个路径表项t1,接入路由器ar1执行下述操作:步骤401:开始;步骤402:接入路由器ar1创建一个地址,该地址的坐标等于自己的坐标,硬件id为0;接入路由器ar1创建一个创建消息,该创建消息的消息类型的值为3,地址集合为空,源地址为创建的坐标,目的地址为路径表项t1的地址;接入路由器ar1选择一个邻居表项,该邻居表项地址中的坐标与该创建消息目的地址的坐标之间的距离最近,将该邻居表项的地址加入到该创建消息的地址集合中并作为最后一个元素,从该邻居表项的接口id所标识的接口发送该创建消息;步骤403:路由器接收到该创建消息,判断该路由器的地址是否等于该创建消息的目的地址,是则执行步骤405,否则执行步骤404;步骤404:接收到该创建消息的路由器选择一个邻居表项,该邻居表项地址域值的坐标与该创建消息目的地址的坐标之间的距离最近,将该邻居表项的地址加入到该创建消息的地址集合中并作为最后一个元素,从该邻居表项的接口id所标识的接口发送该创建消息,执行步骤403;步骤405:接收到创建消息的路由器设置一个地址集合参数ap1,参数ap1的值等于该创建消息的地址集合;接收到创建消息的路由器从参数ap1从删除最后一个元素,将创建消息的源地址加入到参数ap1中并作为第一个元素;路由器选择一个路径表项,该路径表项的地址等于等创建消息的源地址,将该路径表项的地址集合设置为参数ap1;该路由器设置一个地址集合参数ap2,参数ap2为空,将该创建消息的目的地址加入到参数ap2中并作为最后一个元素,构建一个创建响应消息,该创建响应消息的消息类型的值为4,目的地址集合等于参数ap1,源地址集合等于参数ap2;路由器选择一个邻居表项,该邻居表项的地址等于该创建响应消息目的地址集合的最后一个元素,将创建响应消息目的地址集合中的最后一个元素加入到创建响应消息源地址集合中并作为最后一个元素,从该创建响应消息目的地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该创建响应消息;步骤406:接收到该创建响应消息的路由器判断该创建响应消息的目的地址集合是否为空,是则执行步骤408,否则执行步骤407;步骤407:接收到创建响应消息的路由器选择一个邻居表项,该邻居表项的地址等于该创建响应消息目的地址集合的最后一个元素,将创建响应消息目的地址集合中的最后一个元素加入到创建响应消息源地址集合中并作为最后一个元素,从该创建响应消息目的地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该创建响应消息,执行步骤406;步骤408:接收到该创建响应消息的接入路由器ar1,从该创建响应消息的源地址集合中删除最后一个元素,将路径表项t1的地址集合域值设置为该创建响应消息的源地址集合;步骤409:结束。接入路由器通过上述过程建立路径表,该路径表通过地址集合来建立到达其他接入路由器的路径,由于上述过程通过邻居表项中地址的实时坐标来实现路径的建立,从而确保了路径的最优性和实时性。图5为本发明所述的建立消费者表流程示意图。每个接入路由器保存一个提供者表,一个提供者表项包含名称、数据块id、地址和生命周期;每种数据的关联接入路由器保存一个消费者表,每个消费者表项包含名称、地址和生命周期;一个发布消息包含消息类型、地址集合、源地址和名称;一个发布响应消息包含消息类型、地址集合、名称、源地址、角色集合和数据块id集合;接入路由器ar1为数据da1的关联接入路由器,数据da1由名称na1定义;接入路由器ar1定期执行下述操作:步骤501:开始;步骤502:接入路由器ar1创建一个地址,该地址的坐标为自己的坐标,硬件id为0;接入路由器ar1发送发布消息,该发布消息的消息类型的值为5,地址集合为空,源地址为创建的地址,名称为na1;接入路由器ar1查看路径表,针对每个路径表项,接入路由器ar1执行下述操作:接入路由器ar1将该发布消息的地址集合设置为该路径表项的地址集合,选择一个邻居表项,该邻居表项的地址等于该发布消息地址集合的最后一个元素,从该发布消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布消息;步骤503:路由器接收到该发布消息,判断该发布消息的地址集合是否为空,是则执行步骤505,否则执行步骤504;步骤504:接收到发布消息的路由器选择一个邻居表项,该邻居表项的地址等于该发布消息地址集合的最后一个元素,从该发布消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布消息,执行步骤503;步骤505:接收到发布消息的路由器设置一个角色集合参数rp1和一个数据块id集合参数sp1,参数rp1和参数sp1的初始值为空;该路由器查看节点表,针对每个节点表项,该路由器执行下述操作:如果存在一个节点表项,该节点表项的名称等于该发布消息的名称且角色域值为0,该路由器查看参数rp1是否包含该节点表项的角色域值,如果包含,则不做任何操作,否则将该节点表项的角色域值加入到参数rp1中;如果存在一个节点表项,该节点表项的名称等于该发布消息的名称且角色域值为1,该路由器将该节点表项的数据块id加入到参数sp1中,然后查看参数rp1是否包含该节点表项的角色域值,如果包含,则不做任何操作,否则将该节点表项的角色域值加入到参数rp1中;步骤506:接收到发布消息的路由器判断参数rp1是否为空,是则执行步骤514,否则执行步骤507;步骤507:接收到发布消息的路由器选择一个路径表项,该路径表项的地址等于该发布消息的源地址,创建一个地址,该地址的坐标等于该路由器的坐标,硬件id等于0;接收到发布消息的路由器构建一个发布响应消息,该发布响应消息的消息类型的值为6,地址集合等于该路径表项的地址集合,名称等于该发布消息的名称,源地址等于创建的地址,角色集合等于参数rp1,数据块id集合等于参数sp1;路由器一个邻居表项,该邻居表项的地址等于该发布响应消息地址集合的最后一个元素,从该发布响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布响应消息;步骤508:路由器接收到该发布响应消息,判断该发布响应消息的地址集合是否为空,是则执行步骤510,否则执行步骤509;步骤509:接收到发布响应消息的路由器选择一个邻居表项,该邻居表项的地址等于该发布响应消息地址集合的最后一个元素,从该发布响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该发布响应消息,执行步骤508;步骤510:接收到发布响应消息的路由器查看该发布响应消息的角色集合,判断该角色集合是否包含0,是则执行步骤511,否则执行步骤512;步骤511:接收到发布响应消息的路由器查看是否存在一个消费者表项,该消费者表项的名称等于该发布响应消息的名称且地址等于该发布响应消息的源地址,如果存在,该路由器则将该消费者表项的生命周期设置为最大值;否则,该路由器创建一个消费者表项,该消费者表项的名称等于该发布响应消息的名称,地址等于该发布响应消息的源地址,生命周期设置为最大值;步骤512:接收到发布响应消息的路由器查看该发布响应消息的角色集合,如果该角色集合包含1,则执行步骤513,否则执行步骤514;步骤513:接收到发布响应消息的路由器查看该发布响应消息中的数据块id集合,针对该数据块id集合中的每个元素cid2,接收到发布响应消息的路由器执行下述操作:判断是否存在一个提供者表项,该提供者表项的名称等于该发布响应消息的名称,地址等于该发布响应消息的源地址,且数据块id等于cid2,如果存在,该路由器则将该提供者表项的生命周期设置为最大值;否则,该路由器创建一个提供者表项,该提供者表项的名称等于该发布响应消息的名称,地址等于该发布响应消息的源地址,数据块id等于cid2,生命周期设置为最大值;步骤514:结束。接入路由器通过上述过程建立消费者表和提供者表,这样,接入路由器可以将提供者表发送给消费者所关联的接入路由器,这样消费者节点通过提供者表可以获取提供者信息,从而实现两个以上的数据块的并行获取,从而大幅度提高数据通信性能。图6为本发明所述的发布提供者流程示意图。一个提供者消息包含消息类型、地址集合和负载;接入路由器ar1为数据da1的关联接入路由器,数据da1由名称na1定义;接入路由器ar1定期执行下述操作:步骤601:开始;步骤602:接入路由器ar1创建一个地址,该地址的坐标为自己的坐标,硬件id为0;接入路由器ar1选择所有名称域值为na1的消费者表项,同时选择所有名称域值为na1的提供者表项,针对每个选中的消费者表项,接入路由器ar1执行下述操作:接入路由器ar1选择一个路径表项,该路径表项的地址等于该消费者表项的地址,发送一个消费者消息,该消费者消息的消息类型的值为6,地址集合为该路径表项的地址集合,负载为所有选中的提供者表项;接入路由器ar1选择一个邻居表项,该邻居表项的地址等于该提供者消息地址集合的最后一个元素,从该提供者消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该提供者消息;步骤603:路由器接收到该提供者消息,判断该提供者消息的地址集合是否为空,是则执行步骤605,否则执行步骤604;步骤604:接收到提供者消息的路由器选择一个邻居表项,该邻居表项的地址等于该提供者消息地址集合的最后一个元素,从该提供者消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该提供者消息,执行步骤603;步骤605:接收到该提供者消息的路由器查看该提供者消息,针对该提供者消息负载中的每个提供者表项e1,该路由器执行下述操作:该路由器的提供者表中如果存在一个提供者表项e2,提供者表项e2的名称、地址和数据块id分别等于提供者表项e1的名称、地址和数据块id,则将提供者表项e2的生命周期设置为最大值;否则,该路由器创建一个提供者表项,该提供者表项的名称、地址和数据块id分别等于提供者表项e1的名称、地址和数据块id,生命周期设置为最大值;步骤606:结束。数据的关联接入路由器通过上述过程将提供者表发布给消费者,这样,消费者节点通过所连接的接入路由器所保存的提供者表可以获取提供者信息,从而从每个提供者并行获取两个以上的数据块,实现数据的并行传输,从而大幅度降低数据通信延迟。图7为本发明所述的数据通信流程示意图。提供者请求消息包含消息类型、数据块id集合和名称;提供者响应消息包含消息类型、数据块id集合、名称和负载;请求消息包含消息类型、源地址、目的地址、数据块id、名称和地址集合;响应消息包含消息类型、目的地址、数据块id、名称、地址集合和负载;节点nd2与接入路由器ar2相连,节点nd2需要获取数据da1中的部分数据块,所述部分数据块的数据块id集合为cs2,数据da1由名称na1标识;节点nd2执行下述过程获取所需数据块:步骤701:开始;步骤702:节点nd2发送一个提供者请求消息,该提供者请求消息的消息类型的值为8,数据块id集合等于cs2,名称为na1;接入路由器ar2从接口z1接收到提供者请求消息,针对该提供者请求消息的数据块id集合中的每个数据块idcid4,接入路由器ar2选择一个提供者表项,该提供者表项的名称等于该提供者请求消息的名称,数据块id等于cid4;步骤703:接入路由器ar2从接口z1发送一个提供者响应消息,该提供者响应消息的消息类型的值为9,数据块id集合和名称分别等于该提供者请求消息的数据块id集合和名称,负载为选择的所有提供者表项;步骤704:节点nd2接收到提供者响应消息,针对提供者响应消息负载中的每个提供者表项t3,节点nd2发送一个请求消息,该请求消息的消息类型的值为10,源地址等于节点nd2的地址,目的地址为提供者表项t3的地址,数据块id和名称分别等于提供者表项t3的数据块id和名称,地址集合为空;接入路由器ar2接收到该请求消息后,选择一个路径表项,该路径表项的地址等于该请求消息的目的地址,将该请求消息的地址集合设置为该路径表项的地址集合;接入路由器ar2选择一个邻居表项,该邻居表项的地址等于该请求消息地址集合的最后一个元素,从该请求消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该请求消息;步骤705:路由器接收到该请求消息,判断该请求消息的地址集合是否为空,是则执行步骤707,否则执行步骤706;步骤706:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址等于该请求消息地址集合的最后一个元素,从该请求消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该请求消息,执行步骤705;步骤707:接收到请求消息的路由器选择一个节点表项,该节点表项角色域值为1,名称和数据块id分别等于该请求消息的名称和数据块id,从该节点表项的接口id所标识的接口转发该请求消息;节点接收到该请求消息后,发送一个响应消息,该响应消息的消息类型的值为11,目的地址等于该请求消息的源地址,数据块id和名称分别等于该请求消息的数据块id和名称,地址集合为空,负载为该请求消息的名称和数据块id所标识的数据块;步骤708:路由器接收到该响应消息后,选择一个路径表项,该路径表项地址的坐标等于该响应消息目的地址的坐标,将该响应消息的地址集合设置为该路径表项的地址集合;该路由器选择一个邻居表项,该邻居表项的地址等于该响应消息地址集合的最后一个元素,从该响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该响应消息;步骤709:路由器接收到该响应消息,判断该响应消息的地址集合是否为空,是则执行步骤711,否则执行步骤710;步骤710:接收到响应消息的路由器选择一个邻居表项,该邻居表项的地址等于该响应消息地址集合的最后一个元素,从该响应消息地址集合中删除最后一个元素,从该邻居表项的接口id所标识的接口发送该响应消息,执行步骤709;步骤711:接收到响应消息的路由器选择一个节点表项,该节点表项的地址等于该响应消息的目的地址,从该节点表项的接口id所标识的接口转发该响应消息;节点nd2接收到该响应消息后,保存该响应消息负载中的数据块;如果节点nd2接收到数据块id集合cs2和名称na1所定义的所有数据块,则执行步骤712,否则执行步骤709;步骤712:结束。节点通过上述过程首先从所连接的接入路由器获取提供者表项,然后根据提供者表项信息,从每个提供者获取数据块,从而并行获取数据,大幅度降低了数据通信延迟;此外,上述过程无需建立路由,从而进一步大幅度降低了数据通信延迟。实施例1基于表1的仿真参数,本实施例模拟了本发明中的一种快速的大数据网络实现方法。节点nd1启动后,如果节点nd1能够提供数据da1的部分数据块,且数据块的数据块id构成数据块id集合cs1,数据da1由名称na1标识,则执行步骤101-104向连接的接入路由器ar1发送节点消息,接入路由器ar1从接口1接收到该节点消息后创建节点表项,例如该节点表项的地址为(29,30)/3fed:239f:12cd,名称为play1,数据块集合为{1,3},角色域值为1,接口id为1,生命周期为500ms。节点nd2启动后,如果节点nd2是数据da1的消费者,数据da1由名称na1标识,则执行步骤201-204向连接的接入路由器ar2发送节点消息,接入路由器ar2从接口2接收到该节点消息后创建节点表项,例如该节点表项的地址为(29,28)/abcd:1234:89ab,名称为play1,数据块集合为{},角色域值为0,接口id为2,生命周期为500ms。路由器r1启动后,定期执行步骤301-304向邻居路由器发送邻居消息,如果邻居路由器从接口3接收到该邻居消息,则建立邻居表项,例如,该邻居表项的地址为(30,28)/0,接口id为3,生命周期为500ms。接入路由器ar1创建邻居表后,执行步骤401-409建立路径表项,例如接入路由器ar1到达接入路由器ar2的路径表项中的地址域为(29,28)/0,地址集合为{(29,29)/0,(29,28)/0}。如果接入路由器ar1为数据da1的关联接入路由器,则定期执行步骤501-514建立消费者表以及执行步骤601-606建立提供者表,例如,消费者表项的名称为play1,地址为(29,28)/abcd:1234:89ab,生命周期为500ms;提供者表项的名称为play1,数据块id为1,地址为(29,30)/3fed:239f:12cd,生命周期为500ms。这样,节点nd2执行步骤701-712获取名称na1定义的数据da1的数据块,例如获取play1定义的电视剧中的第一集,数据通信过程中,消费者nd2通过提供者表项信息,从每个提供者获取数据块,从而能够并行获取数据块。本发明性能分析如下:当数据长度较大的情况下,数据通信延迟随之增加,当传输的数据长度减少的情况下,数据通信延迟随之稍微下降。数据获取的平均延迟为587ms。表1仿真参数本发明提供了一种快速的大数据网络实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1