CN111245725B - 一种基于分布式的未来网络实现方法 - Google Patents
一种基于分布式的未来网络实现方法 Download PDFInfo
- Publication number
- CN111245725B CN111245725B CN202010190891.7A CN202010190891A CN111245725B CN 111245725 B CN111245725 B CN 111245725B CN 202010190891 A CN202010190891 A CN 202010190891A CN 111245725 B CN111245725 B CN 111245725B
- Authority
- CN
- China
- Prior art keywords
- message
- coordinate
- router
- table entry
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Abstract
本发明提供了一种基于分布式的未来网络实现方法,其特征在于,所述网络包含路由器和设备,路由器包括接入路由器和核心路由器,设备包括服务器和节点;核心路由器配置两个以上的接口,每个接口连接一个路由器构成路由骨干网;接入路由器配置一个上游接口和两个以上的下游接口,上游接口连接核心路由器,下游接口连接设备;每个设备配置一个接口,该接口用于连接接入路由器;接口由接口ID唯一标识,接口ID为y的接口简写成接口y;每个节点具有一个唯一性的地址;每个路由器具有唯一性的坐标;用户通过本发明所提供的未来网络实现方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
Description
技术领域
本发明涉及一种实现方法,尤其涉及的是一种基于分布式的未来网络实现方法。
背景技术
近年来,很多研究工作致力于未来网络,以便通过未来网络能够快速获取网络服务。随着未来网络的发展,未来网络会成为未来提供服务的一种模式。
目前,未来网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低未来网络提供数据的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于分布式的未来网络实现方法。
技术方案:本发明公开了一种基于分布式的未来网络实现方法,其特征在于,所述网络包含路由器和设备,路由器包括接入路由器和核心路由器,设备包括服务器和节点;核心路由器配置两个以上的接口,每个接口连接一个路由器构成路由骨干网;接入路由器配置一个上游接口和两个以上的下游接口,上游接口连接核心路由器,下游接口连接设备;每个设备配置一个接口,该接口用于连接接入路由器;接口由接口ID唯一标识,接口ID为y的接口简写成接口y;每个节点具有一个唯一性的地址,例如MAC地址;每个路由器具有唯一性的坐标;
一种类型的数据由名称唯一定义,包含两个以上的分片,每个分片由分片ID唯一标识;一个服务器能够保存一种类型数据的一个以上的分片;一种类型的数据有一个主服务器,用于保存该种数据分片的服务器信息,该主服务器预先设定;
消息由消息类型唯一标识,如下表所示:
消息类型的值 | 消息名称 |
1 | 设备消息 |
2 | 邻居消息 |
3 | 路径消息 |
4 | 确认消息 |
5 | 发布消息 |
6 | 服务器消息 |
7 | 请求消息 |
8 | 响应消息 |
9 | 查询消息 |
10 | 数据消息 |
接入路由器保存一个设备表,每个设备表项包含角色、名称、分片ID、接口ID、地址和生命周期,如果一个设备表项的角色值为0,表明该设备为节点,角色值为1,表明该设备为该设备表项的名称域值所标识的数据的主服务器,角色值为2,表明该设备为保存该名称所标识的数据的分片的服务器;
一个设备消息包含消息类型、角色值、名称、分片ID集合和地址;
节点ND1与接入路由器AR1相连,定期执行下述操作:
步骤101:开始;
步骤102:节点ND1发送一个设备消息,该设备消息的消息类型的值为1,角色域值为0,名称和分片ID集合为空,地址为节点ND1的地址;
步骤103:从接口f1接收到该设备消息的接入路由器AR1查看设备表,如果存在一个设备表项,该设备表项的地址等于该设备消息的地址,接入路由器AR1则将该设备表项的角色域更新为该设备消息的角色域,将接口ID设置为f1,将生命周期设置为最大值,例如500ms;否则接入路由器AR1创建一个设备表项,该设备表项的地址等于该设备消息的地址,角色域值等于该设备消息的角色域值,接口ID设置为f1,将生命周期设置为最大值;
步骤104:结束。
节点通过上述过程在连接的接入路由器建立自己的设备表项,接入路由器由此获取该节点的接口信息从而实现消息的正确转发,此外,上述过程通过生命周期来确保节点信息的实时性和有效性,从而进一步确保了数据通信的正确性;
本发明中,在服务器SV1与接入路由器AR1连接,数据DA1由名称NA1定义,服务器SV1能提供数据DA1中的部分分片,所述部分分片的分片ID构成分片ID集合SS1的条件下,服务器SV1定期执行下述操作:
步骤201:开始;
步骤202:服务器SV1发送一个设备消息,该设备消息的消息类型的值为1,名称为NA1,分片ID集合为SS1,地址为服务器SV1的地址;判断服务器SV1是否为数据DA1的主服务器,是则角色域值为1,否则角色值为2;
步骤203:从接口f2接收到设备消息的接入路由器AR1查看设备表,对于该设备消息中分片ID集合中的每个元素SID1,接入路由器AR1执行下述操作:如果存在一个设备表项,该设备表项的地址和名称分别等于该设备消息的地址和名称,且分片ID等于SID1,接入路由器AR1则将该设备表项的角色域更新为该设备消息的角色域,将接口ID设置为f2,将生命周期设置为最大值;否则接入路由器AR1创建一个设备表项,该设备表项的地址和名称分别等于该设备消息的地址和名称,分片ID等于SID1,角色域等于该设备消息的角色域,接口ID设置为f2,将生命周期设置为最大值;
步骤204结束;
服务器通过上述过程在连接的接入路由器建立自己的设备表项,接入路由器能够获取该服务器的接口信息从而实现消息的正确转发。由于上述过程通过生命周期来确保服务器信息的实时性和有效性,从而进一步确保了数据通信的正确性
本发明所述方法中,路由器保存一个邻居表,一个邻居表项包含坐标域、接口ID和生命周期;邻居消息包含消息类型和坐标;路由器R1定期执行下述操作:
步骤301:开始;
步骤302:路由器R1构建一个邻居消息,该邻居消息的消息类型的值为2,坐标为路由器R1的坐标;判断路由器R1是否为核心路由器,是则从每个接口发送该邻居消息,否则路由器R1从上游接口发送该了邻居消息;
步骤303:从接口f3接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则将该邻居表项的接口ID更新为f3,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,接口ID等于f3,将生命周期设置为最大值;
步骤304:结束;
路由器通过上述过程在邻居路由器上建立自己的邻居表项,路由器通过邻居表保存邻居路由器的坐标以及连接的接口,由此选择最优的邻居路由器作为到达目的路由器的下一跳从而构建最优路由路径。此外,路由器通过接口信息可以实现消息的正确转发,从而确保了数据通信的正确性。
本发明所述方法中,每个接入路由器保存一个路由器表,每个路由器表项包含坐标域和坐标集合;
接入路由器通过电子地图获取每个接入路由器的坐标;接入路由器对于除了自己以外的每个接入路由器创建一个路由器表项,该路由器表项的坐标等于该接入路由器的坐标,坐标集合为空;电子地图预先设置,该地图包含每个接入路由器的坐标;
从一个接入路由器到达另一个接入路由器的路径由坐标集合表示,该坐标集合包含了该路径所包含的路由器的坐标;
一个路径消息包含消息类型、坐标集合、源坐标以及目的坐标;
一个确认消息包含消息类型、坐标集合和负载;
接入路由器AR1创建路由器表后,针对每个路由器表项T1,接入路由器AR1执行下述操作:
步骤401:开始;
步骤402:接入路由器AR1创建一个路径消息,该路径消息的消息类型的值为3,坐标集合为空,源坐标为接入路由器AR1的坐标,目的坐标为路由器表项T1的坐标;接入路由器AR1选择一个邻居表项,该邻居表项的坐标与该路径消息目的坐标之间的距离最近,将该邻居表项的坐标加入到该路径消息的坐标集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口发送该路径消息;
步骤403:路由器接收到路径消息,判断该路由器的坐标是否等于该路径消息的目的坐标,是则执行步骤405,否则执行步骤404;
步骤404:接收到路径消息的路由器选择一个邻居表项,该邻居表项的坐标与该路径消息目的坐标之间的距离最近,将该邻居表项的坐标加入到该路径消息的坐标集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口发送该路径消息,执行步骤403;
步骤405:接收到路径消息的路由器设置一个坐标集合参数p1,参数p1的值等于该路径消息的坐标集合;接收到路径消息的路由器从参数p1从删除最后一个元素,将路径消息的源坐标加入到参数p1中并作为第一个元素;接收到路径消息的路由器选择一个路由器表项,该路由器表项的坐标等于等路径消息的源坐标,将该路由器表项的坐标集合设置为参数p1;接收到路径消息的路由器设置一个坐标集合参数p2,参数p2为空,将该路径消息的目的坐标加入到参数p2中并作为最后一个元素,构建一个确认消息,该确认消息的消息类型的值为4,坐标集合等于参数p1,负载为参数p2;接收到路径消息的路由器选择一个邻居表项,该邻居表项的坐标等于该确认消息坐标集合的最后一个元素,将确认消息坐标集合中的最后一个元素加入到确认消息负载中的参数p2并作为最后一个元素,从该确认消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该确认消息;
步骤406:路由器接收到确认消息,判断该确认消息的坐标集合是否为空,是则执行步骤408,否则执行步骤407;
步骤407:接收到确认消息的路由器选择一个邻居表项,该邻居表项的坐标等于该确认消息坐标集合的最后一个元素,将确认消息坐标集合中的最后一个元素加入到确认消息负载中的参数p2中并作为最后一个元素,从该确认消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该确认消息,执行步骤406;
步骤408:接入路由器AR1接收到该确认消息后,设置一个坐标集合参数p3,参数p3的值等于该确认消息负载中的参数p2的值,接入路由器AR1从参数p3中删除最后一个元素,将路由器表项T1的坐标集合域值设置为参数p3;
步骤409:结束;
接入路由器通过上述过程建立到达其他接入路由器的路由路径。,由于上述过程通过邻居表项来实现路由路径的建立,从而确保了路由路径的最优性和实时性,此外,节点无需建立路由即可实现数据通信,从而提高了数据通信的性能和效率。
本发明所述方法中,每个接入路由器保存一个主服务器表,一个主服务器表项包含名称、坐标域和生命周期;每个与主服务器连接的接入路由器维护一个索引表,一个索引表项包含分片ID、名称、坐标和生命周期;
一个发布消息包含消息类型、坐标集合、源坐标和名称;
一个服务器消息包含消息类型、坐标集合、名称和负载;
服务器SV1与接入路由器AR1连接,服务器SV1是数据DA1的主服务器,数据DA1由名称NA1定义;服务器SV1定期执行下述操作:
步骤501:开始;
步骤502:服务器SV1发送发布消息,该发布消息的消息类型的值为5,坐标集合为空,源坐标为空,名称为NA1;接入路由器AR1从下游接口接收到该发布消息后,将该发布消息的源坐标设置为自己的坐标,然后查看路由器表,针对每个路由器表项,接入路由器AR1执行下述操作:接入路由器AR1将该发布消息的坐标集合设置为该路由器表项的坐标集合,选择一个邻居表项,该邻居表项的坐标等于该发布消息坐标集合的最后一个元素,从该发布消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该发布消息;
步骤503:路由器接收到发布消息,判断该发布消息的坐标集合是否为空,是则执行步骤505,否则执行步骤504;
步骤504:接收到发布消息的路由器选择一个邻居表项,该邻居表项的坐标等于该发布消息坐标集合的最后一个元素,从该发布消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该发布消息,执行步骤503;
步骤505:接收到发布消息的路由器查看主服务器表,如果存在一个主服务器表项,该表项的名称等于该发布消息的名称,该路由器则将该主服务器表项的坐标域值更新为该发布消息的源坐标,将生命周期设置为最大值;否则,该路由器创建一个主服务器表项,该表项的名称等于该发布消息的名称,坐标域值等于该发布消息的源坐标,将生命周期设置为最大值;
步骤506:接收到发布消息的路由器查看设备表,如果存在一个设备表项,该设备表项的名称等于该发布消息的名称,则执行步骤507,否则执行步骤512;
步骤507:接收到发布消息的路由器选择所有名称等于该发布消息的名称的设备表项,针对每个选中的设备表项,该路由器创建一个索引表项,该索引表项的名称和分片ID分别等于该设备表项的名称和分片ID,坐标等于该路由器的坐标,生命周期设置为最大值;
步骤508:接收到发布消息的路由器选择一个路由器表项,该路由器表项的坐标等于该发布消息的源坐标,该路由器构建一个服务器消息,该服务器消息的消息类型的值为6,坐标集合等于该路由器表项的坐标集合,名称等于该发布消息的名称,负载为所有创建的索引表项;该路由器选择一个邻居表项,该邻居表项的坐标等于该服务器消息坐标集合的最后一个元素,从该服务器消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该服务器消息;
步骤509:路由器接收到服务器消息,判断该服务器消息的坐标集合是否为空,是则执行步骤511,否则执行步骤510;
步骤510:接收到服务器消息的路由器选择一个邻居表项,该邻居表项的坐标等于该服务器消息坐标集合的最后一个元素,从该服务器消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该服务器消息,执行步骤509;
步骤511:接收到服务器消息的路由器查看该服务器消息的负载,针对该服务器消息负载中的每个索引表项E1,接收到服务器消息路由器执行下述操作:如果该路由器在自己的索引表中存在一个索引表项E2,索引表项E2的名称、分片ID和坐标分别等于索引表项E1的名称、分片ID和坐标,路由器则将索引表项E2的生命周期设置为最大值,否则,该路由器创建一个索引表项,该索引表项的名称、分片ID和坐标分别等于索引表项E1的名称,分片ID和坐标,生命周期设置为最大值;
步骤512:结束;
主服务器通过上述过程建立主服务器表,由此接入路由器通过主服务器表获取保存数据分片的服务器信息,从而获取该数据分片;主服务器通过上述过程建立索引表从而保存保存数据分片的服务器信息。这样,节点通过这些索引表项可以从相应的服务器获取数据从而确保了数据通信的正确性。
本发明所述方法中,请求消息包含消息类型、地址、分片ID集合、名称、坐标集合和源坐标;
响应消息包含消息类型、地址、分片ID集合、名称、坐标集合和负载;
查询消息包含消息类型、地址、分片ID、名称、坐标集合、源坐标和目的坐标;
数据消息包含消息类型、地址、分片ID、名称、坐标集合、目的坐标和负载;
节点ND2与接入路由器AR2相连,节点ND2需要获取数据DA1中的部分分片,所述部分分片的分片ID集合为SS2,数据DA1由名称NA1标识;节点ND2执行下述过程获取所需分片:
步骤601:开始;
步骤602:节点ND2发送一个请求消息,该请求消息的消息类型的值为7,地址为节点ND2的地址,分片ID集合等于SS2,名称为NA1,坐标集合为空,源坐标为空;接入路由器AR2接收到请求消息,将该请求消息的源坐标设置为自己的坐标,选择一个主服务器表项,该主服务器表项的名称等于该请求消息的名称,选择一个路由器表项,该路由器表项的坐标等于该主服务器的坐标,将该请求消息的坐标集合设置为该路由器表项的坐标集合;接入路由器AR2选择一个邻居表项,该邻居表项的坐标等于该请求消息坐标集合的最后一个元素,从该请求消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤603:路由器接收到请求消息,判断该请求消息的坐标集合是否为空,是则执行步骤605,否则执行步骤604;
步骤604:接收到请求消息的路由器选择一个邻居表项,该邻居表项的坐标等于该请求消息坐标集合的最后一个元素,从该请求消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤603;
步骤605:接收到请求消息的路由器查看索引表,针对该请求消息分片ID集合中的每个元素SID2,该路由器选择一个索引表项,该索引表项的名称等于该请求消息的名称,分片ID等于SID2;
步骤606:接收到请求消息的路由器选择一个路由器表项,该路由器表项的坐标等于该请求消息的源坐标,构建一个响应消息,该响应消息的消息类型的值为8,分片ID集合、地址和名称分别等于该请求消息的分片ID集合、地址和名称,坐标集合等于该路由器表项的坐标集合,负载为选中的所有索引表项;接收到请求消息的路由器选择一个邻居表项,该邻居表项的坐标等于该响应消息坐标集合的最后一个元素,从该响应消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该响应消息;
步骤607:路由器接收到该响应消息,判断该响应消息的坐标集合是否为空,则执行步骤609,否则执行步骤608;
步骤608:接收到响应消息的路由器选择一个邻居表项,该邻居表项的坐标等于该响应消息坐标集合的最后一个元素,从该响应消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该响应消息,执行步骤607;
步骤609:接收到响应消息的路由器选择一个设备表项,设备表项的地址等于该响应消息的地址,从该设备表项的接口ID所标识的接口发送该响应消息;
步骤610:节点ND2接收到响应消息,针对响应消息负载中的每个检索表项E3,节点ND2发送一个查询消息,该查询消息的消息类型的值为9,地址等于节点ND2的地址,分片ID和名称分别等于索引表项E3的分片ID和名称,坐标集合为空,源坐标为空,目的坐标等于索引表项E3的坐标;接入路由器AR2接收到该查询消息后,将该查询消息的源坐标设置为自己的坐标,选择一个路由器表项,该路由器表项的坐标等于该查询消息的目的坐标,将该查询消息的坐标集合设置为该路由器表项的坐标集合;接入路由器AR2选择一个邻居表项,该邻居表项的坐标等于该查询消息坐标集合的最后一个元素,从该查询消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该查询消息;
步骤611:路由器接收到查询消息,判断该查询消息的坐标集合是否为空,是则执行步骤613,否则执行步骤612;
步骤612:接收到查询消息的路由器选择一个邻居表项,该邻居表项的坐标等于该查询消息坐标集合的最后一个元素,从该查询消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该查询消息,执行步骤611;
步骤613:接收到查询消息的路由器选择一个设备表项,该设备表项的名称和分片ID分别等于该查询消息的名称和分片ID,从该设备表项的接口ID所标识的接口转发该查询消息;服务器接收到该查询消息后,发送一个数据消息,该数据消息的消息类型的值为10,地址、分片ID和名称分别等于该查询消息的地址、分片ID和名称,目的坐标等于该查询消息的源坐标,坐标集合为空,负载为该查询消息的名称和分片ID所标识的分片;与该服务器相连的路由器接收到该数据消息后,选择一个路由器表项,该路由器表项的坐标等于该数据消息的目的坐标,将该数据消息的坐标集合设置为该路由器表项的坐标集合;该路由器选择一个邻居表项,该邻居表项的坐标等于该数据消息坐标集合的最后一个元素,从该数据消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该数据消息,
步骤614:路由器接收到该数据消息,判断该数据消息的坐标集合是否为空,是则执行步骤616,否则执行步骤615;
步骤615:接收到数据消息的路由器选择一个邻居表项,该邻居表项的坐标等于该数据消息坐标集合的最后一个元素,从该数据消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤614;
步骤616:接收到数据消息的路由器选择一个设备表项,该设备表项的地址等于该数据消息的地址,从该设备表项的接口ID所标识的接口转发该数据消息;节点ND2接收到该数据消息后,保存该数据消息负载中的分片;如果节点ND2接收到分片ID集合SS2和名称NA1所定义的所有分片,则执行步骤617,否则执行步骤614;
步骤617:结束;
节点通过上述过程首先从主服务器获取保存数据分片的服务器信息,然后通过这些服务器信息分别从每个服务器获取所需分片。,由于上述过程的通信过程无需建立路由,从而大幅度增加了数据通信性能,由于数据分片分布在多个服务器,因此也实现了分布式的数据通信。上述工程中,节点从多个服务器同时获取数据分片,因此大幅度降低了数据的延迟。
有益效果:本发明提供了一种基于分布式的未来网络实现方法,用户通过本发明所提供的未来网络实现方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的节点建立设备表流程示意图。
图2为本发明所述的服务器建立设备表流程示意图。
图3为本发明所述的建立邻居表流程示意图。
图4为本发明所述的建立路由器表流程示意图。
图5为本发明所述的建立主服务器表流程示意图。
图6为本发明所述的数据通信流程示意图。
具体实施方式:
本发明提供了一种基于分布式的未来网络实现方法,用户通过本发明所提供的未来网络实现方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
图1为本发明所述的节点建立设备表流程示意图。所述网络包含路由器和设备,路由器包括接入路由器和核心路由器,设备包括服务器和节点;核心路由器配置两个以上的接口,每个接口连接一个路由器构成路由骨干网;接入路由器配置一个上游接口和两个以上的下游接口,上游接口连接核心路由器,下游接口连接设备;每个设备配置一个接口,该接口用于连接接入路由器;接口由接口ID唯一标识,接口ID为y的接口简写成接口y;每个节点具有一个唯一性的地址,例如MAC地址;每个路由器具有唯一性的坐标;
一种类型的数据由名称唯一定义,包含两个以上的分片,每个分片由分片ID唯一标识;一个服务器能够保存一种类型数据的一个以上的分片;一种类型的数据有一个主服务器,用于保存该种数据分片的服务器信息,该主服务器预先设定;
消息由消息类型唯一标识,如下表所示:
消息类型的值 | 消息名称 |
1 | 设备消息 |
2 | 邻居消息 |
3 | 路径消息 |
4 | 确认消息 |
5 | 发布消息 |
6 | 服务器消息 |
7 | 请求消息 |
8 | 响应消息 |
9 | 查询消息 |
10 | 数据消息 |
接入路由器保存一个设备表,每个设备表项包含角色、名称、分片ID、接口ID、地址和生命周期,如果一个设备表项的角色值为0,表明该设备为节点,角色值为1,表明该设备为该设备表项的名称域值所标识的数据的主服务器,角色值为2,表明该设备为保存该名称所标识的数据的分片的服务器;
一个设备消息包含消息类型、角色值、名称、分片ID集合和地址;
节点ND1与接入路由器AR1相连,定期执行下述操作:
步骤101:开始;
步骤102:节点ND1发送一个设备消息,该设备消息的消息类型的值为1,角色域值为0,名称和分片ID集合为空,地址为节点ND1的地址;
步骤103:从接口f1接收到该设备消息的接入路由器AR1查看设备表,如果存在一个设备表项,该设备表项的地址等于该设备消息的地址,接入路由器AR1则将该设备表项的角色域更新为该设备消息的角色域,将接口ID设置为f1,将生命周期设置为最大值,例如500ms;否则接入路由器AR1创建一个设备表项,该设备表项的地址等于该设备消息的地址,角色域值等于该设备消息的角色域值,接口ID设置为f1,将生命周期设置为最大值;
步骤104结束;
节点通过上述过程在连接的接入路由器建立自己的设备表项,接入路由器由此获取该节点的接口信息从而实现消息的正确转发,此外,上述过程通过生命周期来确保节点信息的实时性和有效性,从而进一步确保了数据通信的正确性。
图2为本发明所述的服务器建立设备表流程示意图。在服务器SV1与接入路由器AR1连接,数据DA1由名称NA1定义,服务器SV1能提供数据DA1中的部分分片,所述部分分片的分片ID构成分片ID集合SS1的条件下,服务器SV1定期执行下述操作:
步骤201:开始;
步骤202:服务器SV1发送一个设备消息,该设备消息的消息类型的值为1,名称为NA1,分片ID集合为SS1,地址为服务器SV1的地址;判断服务器SV1是否为数据DA1的主服务器,是则角色域值为1,否则角色值为2;
步骤203:从接口f2接收到设备消息的接入路由器AR1查看设备表,对于该设备消息中分片ID集合中的每个元素SID1,接入路由器AR1执行下述操作:如果存在一个设备表项,该设备表项的地址和名称分别等于该设备消息的地址和名称,且分片ID等于SID1,接入路由器AR1则将该设备表项的角色域更新为该设备消息的角色域,将接口ID设置为f2,将生命周期设置为最大值;否则接入路由器AR1创建一个设备表项,该设备表项的地址和名称分别等于该设备消息的地址和名称,分片ID等于SID1,角色域等于该设备消息的角色域,接口ID设置为f2,将生命周期设置为最大值;
步骤204结束;
服务器通过上述过程在连接的接入路由器建立自己的设备表项,接入路由器能够获取该服务器的接口信息从而实现消息的正确转发。由于上述过程通过生命周期来确保服务器信息的实时性和有效性,从而进一步确保了数据通信的正确性。
图3为本发明所述的建立邻居表流程示意图。路由器保存一个邻居表,一个邻居表项包含坐标域、接口ID和生命周期;邻居消息包含消息类型和坐标;路由器R1定期执行下述操作:
步骤301:开始;
步骤302:路由器R1构建一个邻居消息,该邻居消息的消息类型的值为2,坐标为路由器R1的坐标;判断路由器R1是否为核心路由器,是则从每个接口发送该邻居消息,否则路由器R1从上游接口发送该了邻居消息;
步骤303:从接口f3接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则将该邻居表项的接口ID更新为f3,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,接口ID等于f3,将生命周期设置为最大值;
步骤304:结束;
路由器通过上述过程在邻居路由器上建立自己的邻居表项,路由器通过邻居表保存邻居路由器的坐标以及连接的接口,由此选择最优的邻居路由器作为到达目的路由器的下一跳从而构建最优路由路径。此外,路由器通过接口信息可以实现消息的正确转发,从而确保了数据通信的正确性。
图4为本发明所述的建立路由器表流程示意图。每个接入路由器保存一个路由器表,每个路由器表项包含坐标域和坐标集合;
接入路由器通过电子地图获取每个接入路由器的坐标;接入路由器对于除了自己以外的每个接入路由器创建一个路由器表项,该路由器表项的坐标等于该接入路由器的坐标,坐标集合为空;电子地图预先设置,该地图包含每个接入路由器的坐标;
从一个接入路由器到达另一个接入路由器的路径由坐标集合表示,该坐标集合包含了该路径所包含的路由器的坐标;
一个路径消息包含消息类型、坐标集合、源坐标以及目的坐标;
一个确认消息包含消息类型、坐标集合和负载;
接入路由器AR1创建路由器表后,针对每个路由器表项T1,接入路由器AR1执行下述操作:
步骤401:开始;
步骤402:接入路由器AR1创建一个路径消息,该路径消息的消息类型的值为3,坐标集合为空,源坐标为接入路由器AR1的坐标,目的坐标为路由器表项T1的坐标;接入路由器AR1选择一个邻居表项,该邻居表项的坐标与该路径消息目的坐标之间的距离最近,将该邻居表项的坐标加入到该路径消息的坐标集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口发送该路径消息;
步骤403:路由器接收到路径消息,判断该路由器的坐标是否等于该路径消息的目的坐标,是则执行步骤405,否则执行步骤404;
步骤404:接收到路径消息的路由器选择一个邻居表项,该邻居表项的坐标与该路径消息目的坐标之间的距离最近,将该邻居表项的坐标加入到该路径消息的坐标集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口发送该路径消息,执行步骤403;
步骤405:接收到路径消息的路由器设置一个坐标集合参数p1,参数p1的值等于该路径消息的坐标集合;接收到路径消息的路由器从参数p1从删除最后一个元素,将路径消息的源坐标加入到参数p1中并作为第一个元素;接收到路径消息的路由器选择一个路由器表项,该路由器表项的坐标等于等路径消息的源坐标,将该路由器表项的坐标集合设置为参数p1;接收到路径消息的路由器设置一个坐标集合参数p2,参数p2为空,将该路径消息的目的坐标加入到参数p2中并作为最后一个元素,构建一个确认消息,该确认消息的消息类型的值为4,坐标集合等于参数p1,负载为参数p2;接收到路径消息的路由器选择一个邻居表项,该邻居表项的坐标等于该确认消息坐标集合的最后一个元素,将确认消息坐标集合中的最后一个元素加入到确认消息负载中的参数p2并作为最后一个元素,从该确认消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该确认消息;
步骤406:路由器接收到确认消息,判断该确认消息的坐标集合是否为空,是则执行步骤408,否则执行步骤407;
步骤407:接收到确认消息的路由器选择一个邻居表项,该邻居表项的坐标等于该确认消息坐标集合的最后一个元素,将确认消息坐标集合中的最后一个元素加入到确认消息负载中的参数p2中并作为最后一个元素,从该确认消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该确认消息,执行步骤406;
步骤408:接入路由器AR1接收到该确认消息后,设置一个坐标集合参数p3,参数p3的值等于该确认消息负载中的参数p2的值,接入路由器AR1从参数p3中删除最后一个元素,将路由器表项T1的坐标集合域值设置为参数p3;
步骤409:结束;
接入路由器通过上述过程建立到达其他接入路由器的路由路径,由于上述过程通过邻居表项来实现路由路径的建立,从而确保了路由路径的最优性和实时性,此外,节点无需建立路由即可实现数据通信,从而提高了数据通信的性能和效率。
图5为本发明所述的建立主服务器表流程示意图。每个接入路由器保存一个主服务器表,一个主服务器表项包含名称、坐标域和生命周期;每个与主服务器连接的接入路由器维护一个索引表,一个索引表项包含分片ID、名称、坐标和生命周期;
一个发布消息包含消息类型、坐标集合、源坐标和名称;
一个服务器消息包含消息类型、坐标集合、名称和负载;
服务器SV1与接入路由器AR1连接,服务器SV1是数据DA1的主服务器,数据DA1由名称NA1定义;服务器SV1定期执行下述操作:
步骤501:开始;
步骤502:服务器SV1发送发布消息,该发布消息的消息类型的值为5,坐标集合为空,源坐标为空,名称为NA1;接入路由器AR1从下游接口接收到该发布消息后,将该发布消息的源坐标设置为自己的坐标,然后查看路由器表,针对每个路由器表项,接入路由器AR1执行下述操作:接入路由器AR1将该发布消息的坐标集合设置为该路由器表项的坐标集合,选择一个邻居表项,该邻居表项的坐标等于该发布消息坐标集合的最后一个元素,从该发布消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该发布消息;
步骤503:路由器接收到发布消息,判断该发布消息的坐标集合是否为空,是则执行步骤505,否则执行步骤504;
步骤504:接收到发布消息的路由器选择一个邻居表项,该邻居表项的坐标等于该发布消息坐标集合的最后一个元素,从该发布消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该发布消息,执行步骤503;
步骤505:接收到发布消息的路由器查看主服务器表,如果存在一个主服务器表项,该表项的名称等于该发布消息的名称,该路由器则将该主服务器表项的坐标域值更新为该发布消息的源坐标,将生命周期设置为最大值;否则,该路由器创建一个主服务器表项,该表项的名称等于该发布消息的名称,坐标域值等于该发布消息的源坐标,将生命周期设置为最大值;
步骤506:接收到发布消息的路由器查看设备表,如果存在一个设备表项,该设备表项的名称等于该发布消息的名称,则执行步骤507,否则执行步骤512;
步骤507:接收到发布消息的路由器选择所有名称等于该发布消息的名称的设备表项,针对每个选中的设备表项,该路由器创建一个索引表项,该索引表项的名称和分片ID分别等于该设备表项的名称和分片ID,坐标等于该路由器的坐标,生命周期设置为最大值;
步骤508:接收到发布消息的路由器选择一个路由器表项,该路由器表项的坐标等于该发布消息的源坐标,该路由器构建一个服务器消息,该服务器消息的消息类型的值为6,坐标集合等于该路由器表项的坐标集合,名称等于该发布消息的名称,负载为所有创建的索引表项;该路由器选择一个邻居表项,该邻居表项的坐标等于该服务器消息坐标集合的最后一个元素,从该服务器消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该服务器消息;
步骤509:路由器接收到服务器消息,判断该服务器消息的坐标集合是否为空,是则执行步骤511,否则执行步骤510;
步骤510:接收到服务器消息的路由器选择一个邻居表项,该邻居表项的坐标等于该服务器消息坐标集合的最后一个元素,从该服务器消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该服务器消息,执行步骤509;
步骤511:接收到服务器消息的路由器查看该服务器消息的负载,针对该服务器消息负载中的每个索引表项E1,接收到服务器消息路由器执行下述操作:如果该路由器在自己的索引表中存在一个索引表项E2,索引表项E2的名称、分片ID和坐标分别等于索引表项E1的名称、分片ID和坐标,路由器则将索引表项E2的生命周期设置为最大值,否则,该路由器创建一个索引表项,该索引表项的名称、分片ID和坐标分别等于索引表项E1的名称,分片ID和坐标,生命周期设置为最大值;
步骤512:结束;
主服务器通过上述过程建立主服务器表,由此接入路由器通过主服务器表获取保存数据分片的服务器信息,从而获取该数据分片;主服务器通过上述过程建立索引表从而保存保存数据分片的服务器信息。这样,节点通过这些索引表项可以从相应的服务器获取数据从而确保了数据通信的正确性。
图6为本发明所述的数据通信流程示意图。请求消息包含消息类型、地址、分片ID集合、名称、坐标集合和源坐标;
响应消息包含消息类型、地址、分片ID集合、名称、坐标集合和负载;
查询消息包含消息类型、地址、分片ID、名称、坐标集合、源坐标和目的坐标;
数据消息包含消息类型、地址、分片ID、名称、坐标集合、目的坐标和负载;
节点ND2与接入路由器AR2相连,节点ND2需要获取数据DA1中的部分分片,所述部分分片的分片ID集合为SS2,数据DA1由名称NA1标识;节点ND2执行下述过程获取所需分片:
步骤601:开始;
步骤602:节点ND2发送一个请求消息,该请求消息的消息类型的值为7,地址为节点ND2的地址,分片ID集合等于SS2,名称为NA1,坐标集合为空,源坐标为空;接入路由器AR2接收到请求消息,将该请求消息的源坐标设置为自己的坐标,选择一个主服务器表项,该主服务器表项的名称等于该请求消息的名称,选择一个路由器表项,该路由器表项的坐标等于该主服务器的坐标,将该请求消息的坐标集合设置为该路由器表项的坐标集合;接入路由器AR2选择一个邻居表项,该邻居表项的坐标等于该请求消息坐标集合的最后一个元素,从该请求消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤603:路由器接收到请求消息,判断该请求消息的坐标集合是否为空,是则执行步骤605,否则执行步骤604;
步骤604:接收到请求消息的路由器选择一个邻居表项,该邻居表项的坐标等于该请求消息坐标集合的最后一个元素,从该请求消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤603;
步骤605:接收到请求消息的路由器查看索引表,针对该请求消息分片ID集合中的每个元素SID2,该路由器选择一个索引表项,该索引表项的名称等于该请求消息的名称,分片ID等于SID2;
步骤606:接收到请求消息的路由器选择一个路由器表项,该路由器表项的坐标等于该请求消息的源坐标,构建一个响应消息,该响应消息的消息类型的值为8,分片ID集合、地址和名称分别等于该请求消息的分片ID集合、地址和名称,坐标集合等于该路由器表项的坐标集合,负载为选中的所有索引表项;接收到请求消息的路由器选择一个邻居表项,该邻居表项的坐标等于该响应消息坐标集合的最后一个元素,从该响应消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该响应消息;
步骤607:路由器接收到该响应消息,判断该响应消息的坐标集合是否为空,则执行步骤609,否则执行步骤608;
步骤608:接收到响应消息的路由器选择一个邻居表项,该邻居表项的坐标等于该响应消息坐标集合的最后一个元素,从该响应消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该响应消息,执行步骤607;
步骤609:接收到响应消息的路由器选择一个设备表项,设备表项的地址等于该响应消息的地址,从该设备表项的接口ID所标识的接口发送该响应消息;
步骤610:节点ND2接收到响应消息,针对响应消息负载中的每个检索表项E3,节点ND2发送一个查询消息,该查询消息的消息类型的值为9,地址等于节点ND2的地址,分片ID和名称分别等于索引表项E3的分片ID和名称,坐标集合为空,源坐标为空,目的坐标等于索引表项E3的坐标;接入路由器AR2接收到该查询消息后,将该查询消息的源坐标设置为自己的坐标,选择一个路由器表项,该路由器表项的坐标等于该查询消息的目的坐标,将该查询消息的坐标集合设置为该路由器表项的坐标集合;接入路由器AR2选择一个邻居表项,该邻居表项的坐标等于该查询消息坐标集合的最后一个元素,从该查询消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该查询消息;
步骤611:路由器接收到查询消息,判断该查询消息的坐标集合是否为空,是则执行步骤613,否则执行步骤612;
步骤612:接收到查询消息的路由器选择一个邻居表项,该邻居表项的坐标等于该查询消息坐标集合的最后一个元素,从该查询消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该查询消息,执行步骤611;
步骤613:接收到查询消息的路由器选择一个设备表项,该设备表项的名称和分片ID分别等于该查询消息的名称和分片ID,从该设备表项的接口ID所标识的接口转发该查询消息;服务器接收到该查询消息后,发送一个数据消息,该数据消息的消息类型的值为10,地址、分片ID和名称分别等于该查询消息的地址、分片ID和名称,目的坐标等于该查询消息的源坐标,坐标集合为空,负载为该查询消息的名称和分片ID所标识的分片;与该服务器相连的路由器接收到该数据消息后,选择一个路由器表项,该路由器表项的坐标等于该数据消息的目的坐标,将该数据消息的坐标集合设置为该路由器表项的坐标集合;该路由器选择一个邻居表项,该邻居表项的坐标等于该数据消息坐标集合的最后一个元素,从该数据消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该数据消息,
步骤614:路由器接收到该数据消息,判断该数据消息的坐标集合是否为空,是则执行步骤616,否则执行步骤615;
步骤615:接收到数据消息的路由器选择一个邻居表项,该邻居表项的坐标等于该数据消息坐标集合的最后一个元素,从该数据消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤614;
步骤616:接收到数据消息的路由器选择一个设备表项,该设备表项的地址等于该数据消息的地址,从该设备表项的接口ID所标识的接口转发该数据消息;节点ND2接收到该数据消息后,保存该数据消息负载中的分片;如果节点ND2接收到分片ID集合SS2和名称NA1所定义的所有分片,则执行步骤617,否则执行步骤614;
步骤617:结束;
节点通过上述过程首先从主服务器获取保存数据分片的服务器信息,然后通过这些服务器信息分别从每个服务器获取所需分片。,由于上述过程的通信过程无需建立路由,从而大幅度增加了数据通信性能,由于数据分片分布在多个服务器,因此也实现了分布式的数据通信。上述工程中,节点从多个服务器同时获取数据分片,因此大幅度降低了数据的延迟。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的一种基于分布式的未来网络实现方法。节点ND1启动后,执行步骤101-104定期向连接的接入路由器AR1发送一个设备消息,从接口1接收到该设备消息的接入路由器AR1创建节点ND1的设备表项,例如该设备表项的角色值为0,名称和分片ID为空,接口ID为1,地址为节点ND1的地址ab23:ef43:ff11,生命周期等于500ms。服务器SV1启动后,执行步骤201-204定期向连接的接入路由器AR1发送一个设备消息,从接口2接收到该设备消息的接入路由器AR1创建服务器SV1的设备表项,例如该设备表项的角色值为1,名称为play1,分片ID为slice1,接口ID为2,地址为服务器SV1的地址6712:abcd:8934,生命周期等于500ms。路由器R1启动后,执行步骤301-304定期发送邻居消息,从接口3接收到邻居消息的邻居路由器创建一个邻居表项,该邻居表项的坐标域为路由器AR1的坐标(29,40)、接口ID为3和生命周期为500ms。接入路由器AR1启动后,执行步骤401-409建立到达其他接入路由器的路由表项,例如接入路由器AR1到达接入路由器AR2的路由表项为:坐标为(20,30),坐标集合为{(20,30),(21,30),(22,30)}。服务器SV1建立设备表后,定期执行步骤501-512向连接的接入路由器AR1发送发布消息,接入路由器AR1利用路由器表将该发布消息发送到每个接入路由器,该接入路由器建立主服务器表项,例如名称等于play1、坐标域为(29,40)和生命周期为500ms,同时,如果接收到发布消息的路由器存在一个设备表项,该设备表项的名称等于该发布消息的名称,则创建索引表项,例如,该索引表项的名称为play1,分片为slice1,坐标等于(21,30),生命周期等于500ms。最后节点ND2执行步骤601-617向连接的接入路由器AR2发送请求消息获取数据数据分片ID集合,例如获取名称为play1的分片ID集合为{slice1,slice2,slice3}。当数据分片较多的情况下,数据通信延迟随之稍微增加,当传输的数据量减少的情况下,数据通信延迟随之稍微下降。数据获取的平均延迟为623ms。
表1仿真参数
本发明提供了一种基于分布式的未来网络实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (6)
1.一种基于分布式的未来网络实现方法,其特征在于,所述网络包含路由器和设备,路由器包括接入路由器和核心路由器,设备包括服务器和节点;核心路由器配置两个以上的接口,每个接口连接一个路由器构成路由骨干网;接入路由器配置一个上游接口和两个以上的下游接口,上游接口连接核心路由器,下游接口连接设备;每个设备配置一个接口,该接口用于连接接入路由器;接口由接口ID唯一标识,接口ID为y的接口简写成接口y;每个节点具有一个唯一性的地址;每个路由器具有唯一性的坐标;
一种类型的数据由名称唯一定义,包含两个以上的分片,每个分片由分片ID唯一标识;一个服务器能够保存一种类型数据的一个以上的分片;一种类型的数据有一个主服务器,用于保存该种数据分片的服务器信息,该主服务器预先设定;
消息由消息类型唯一标识,如下表所示:
接入路由器保存一个设备表,每个设备表项包含角色、名称、分片ID、接口ID、地址和生命周期,如果一个设备表项的角色值为0,表明该设备为节点,角色值为1,表明该设备为该设备表项的名称域值所标识的数据的主服务器,角色值为2,表明该设备为保存该名称所标识的数据的分片的服务器;
一个设备消息包含消息类型、角色值、名称、分片ID集合和地址;
节点ND1与接入路由器AR1相连,定期执行下述操作:
步骤101:开始;
步骤102:节点ND1发送一个设备消息,该设备消息的消息类型的值为1,角色域值为0,名称和分片ID集合为空,地址为节点ND1的地址;
步骤103:从接口f1接收到该设备消息的接入路由器AR1查看设备表,如果存在一个设备表项,该设备表项的地址等于该设备消息的地址,接入路由器AR1则将该设备表项的角色域更新为该设备消息的角色域,将接口ID设置为f1,将生命周期设置为最大值;否则接入路由器AR1创建一个设备表项,该设备表项的地址、名称和分片ID分别等于该设备消息的地址、名称和分片ID,角色域值等于该设备消息的角色域值,接口ID设置为f1,将生命周期设置为最大值;
步骤104:结束。
2.根据权利要求1所述的一种基于分布式的未来网络实现方法,其特征在于,
在服务器SV1与接入路由器AR1连接,数据DA1由名称NA1定义,服务器SV1能提供数据DA1中的部分分片,所述部分分片的分片ID构成分片ID集合SS1的条件下,服务器SV1定期执行下述操作:
步骤201:开始;
步骤202:服务器SV1发送一个设备消息,该设备消息的消息类型的值为1,名称为NA1,分片ID集合为SS1,地址为服务器SV1的地址;判断服务器SV1是否为数据DA1的主服务器,是则角色域值为1,否则角色值为2;
步骤203:从接口f2接收到设备消息的接入路由器AR1查看设备表,对于该设备消息中分片ID集合中的每个元素SID1,接入路由器AR1执行下述操作:如果存在一个设备表项,该设备表项的地址和名称分别等于该设备消息的地址和名称,且分片ID等于SID1,接入路由器AR1则将该设备表项的角色域更新为该设备消息的角色域,将接口ID设置为f2,将生命周期设置为最大值;否则接入路由器AR1创建一个设备表项,该设备表项的地址和名称分别等于该设备消息的地址和名称,分片ID等于SID1,角色域等于该设备消息的角色域,接口ID设置为f2,将生命周期设置为最大值;
步骤204结束。
3.根据权利要求2所述的一种基于分布式的未来网络实现方法,其特征在于,路由器保存一个邻居表,一个邻居表项包含坐标域、接口ID和生命周期;邻居消息包含消息类型和坐标;路由器R1定期执行下述操作:
步骤301:开始;
步骤302:路由器R1构建一个邻居消息,该邻居消息的消息类型的值为2,坐标为路由器R1的坐标;判断路由器R1是否为核心路由器,是则从每个接口发送该邻居消息,否则路由器R1从上游接口发送该邻居消息;
步骤303:从接口f3接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则将该邻居表项的接口ID更新为f3,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,接口ID等于f3,将生命周期设置为最大值;
步骤304:结束。
4.根据权利要求3所述的一种基于分布式的未来网络实现方法,其特征在于,每个接入路由器保存一个路由器表,每个路由器表项包含坐标域和坐标集合;
接入路由器通过电子地图获取每个接入路由器的坐标;接入路由器对于除了自己以外的每个接入路由器创建一个路由器表项,该路由器表项的坐标等于该接入路由器的坐标,坐标集合为空;
从一个接入路由器到达另一个接入路由器的路径由坐标集合表示,该坐标集合包含了该路径所包含的路由器的坐标;
一个路径消息包含消息类型、坐标集合、源坐标以及目的坐标;
一个确认消息包含消息类型、坐标集合和负载;
接入路由器AR1创建路由器表后,针对每个路由器表项T1,接入路由器AR1执行下述操作:
步骤401:开始;
步骤402:接入路由器AR1创建一个路径消息,该路径消息的消息类型的值为3,坐标集合为空,源坐标为接入路由器AR1的坐标,目的坐标为路由器表项T1的坐标;接入路由器AR1选择一个邻居表项,该邻居表项的坐标与该路径消息目的坐标之间的距离最近,将该邻居表项的坐标加入到该路径消息的坐标集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口发送该路径消息;
步骤403:路由器接收到路径消息,判断该路由器的坐标是否等于该路径消息的目的坐标,是则执行步骤405,否则执行步骤404;
步骤404:接收到路径消息的路由器选择一个邻居表项,该邻居表项的坐标与该路径消息目的坐标之间的距离最近,将该邻居表项的坐标加入到该路径消息的坐标集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口发送该路径消息,执行步骤403;
步骤405:接收到路径消息的路由器设置一个坐标集合参数p1,参数p1的值等于该路径消息的坐标集合;接收到路径消息的路由器从参数p1中删除最后一个元素,将路径消息的源坐标加入到参数p1中并作为第一个元素;接收到路径消息的路由器选择一个路由器表项,该路由器表项的坐标等于该路径消息的源坐标,将该路由器表项的坐标集合设置为参数p1;接收到路径消息的路由器设置一个坐标集合参数p2,参数p2为空,将该路径消息的目的坐标加入到参数p2中并作为最后一个元素,构建一个确认消息,该确认消息的消息类型的值为4,坐标集合等于参数p1,负载为参数p2;接收到路径消息的路由器选择一个邻居表项,该邻居表项的坐标等于该确认消息坐标集合的最后一个元素,将确认消息坐标集合中的最后一个元素加入到确认消息负载中的参数p2并作为最后一个元素,从该确认消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该确认消息;
步骤406:路由器接收到确认消息,判断该确认消息的坐标集合是否为空,是则执行步骤408,否则执行步骤407;
步骤407:接收到确认消息的路由器选择一个邻居表项,该邻居表项的坐标等于该确认消息坐标集合的最后一个元素,将确认消息坐标集合中的最后一个元素加入到确认消息负载中的参数p2中并作为最后一个元素,从该确认消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该确认消息,执行步骤406;
步骤408:接入路由器AR1接收到该确认消息后,设置一个坐标集合参数p3,参数p3的值等于该确认消息负载中的参数p2的值,接入路由器AR1从参数p3中删除最后一个元素,将路由器表项T1的坐标集合域值设置为参数p3;
步骤409:结束。
5.根据权利要求4所述的一种基于分布式的未来网络实现方法,其特征在于,每个接入路由器保存一个主服务器表,一个主服务器表项包含名称、坐标域和生命周期;每个与主服务器连接的接入路由器维护一个索引表,一个索引表项包含分片ID、名称、坐标和生命周期;
一个发布消息包含消息类型、坐标集合、源坐标和名称;
一个服务器消息包含消息类型、坐标集合、名称和负载;
服务器SV1与接入路由器AR1连接,服务器SV1是数据DA1的主服务器,数据DA1由名称NA1定义;服务器SV1定期执行下述操作:
步骤501:开始;
步骤502:服务器SV1发送发布消息,该发布消息的消息类型的值为5,坐标集合为空,源坐标为空,名称为NA1;接入路由器AR1从下游接口接收到该发布消息后,将该发布消息的源坐标设置为自己的坐标,然后查看路由器表,针对每个路由器表项,接入路由器AR1执行下述操作:接入路由器AR1将该发布消息的坐标集合设置为该路由器表项的坐标集合,选择一个邻居表项,该邻居表项的坐标等于该发布消息坐标集合的最后一个元素,从该发布消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该发布消息;
步骤503:路由器接收到发布消息,判断该发布消息的坐标集合是否为空,是则执行步骤505,否则执行步骤504;
步骤504:接收到发布消息的路由器选择一个邻居表项,该邻居表项的坐标等于该发布消息坐标集合的最后一个元素,从该发布消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该发布消息,执行步骤503;
步骤505:接收到发布消息的路由器查看主服务器表,如果存在一个主服务器表项,该表项的名称等于该发布消息的名称,该路由器则将该主服务器表项的坐标域值更新为该发布消息的源坐标,将生命周期设置为最大值;否则,该路由器创建一个主服务器表项,该表项的名称等于该发布消息的名称,坐标域值等于该发布消息的源坐标,将生命周期设置为最大值;
步骤506:接收到发布消息的路由器查看设备表,如果存在一个设备表项,该设备表项的名称等于该发布消息的名称,则执行步骤507,否则执行步骤512;
步骤507:接收到发布消息的路由器选择所有名称等于该发布消息的名称的设备表项,针对每个选中的设备表项,该路由器创建一个索引表项,该索引表项的名称和分片ID分别等于该设备表项的名称和分片ID,坐标等于该路由器的坐标,生命周期设置为最大值;
步骤508:接收到发布消息的路由器选择一个路由器表项,该路由器表项的坐标等于该发布消息的源坐标,该路由器构建一个服务器消息,该服务器消息的消息类型的值为6,坐标集合等于该路由器表项的坐标集合,名称等于该发布消息的名称,负载为所有创建的索引表项;该路由器选择一个邻居表项,该邻居表项的坐标等于该服务器消息坐标集合的最后一个元素,从该服务器消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该服务器消息;
步骤509:路由器接收到服务器消息,判断该服务器消息的坐标集合是否为空,是则执行步骤511,否则执行步骤510;
步骤510:接收到服务器消息的路由器选择一个邻居表项,该邻居表项的坐标等于该服务器消息坐标集合的最后一个元素,从该服务器消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该服务器消息,执行步骤509;
步骤511:接收到服务器消息的路由器查看该服务器消息的负载,针对该服务器消息负载中的每个索引表项E1,接收到服务器消息的路由器执行下述操作:如果该路由器在自己的索引表中存在一个索引表项E2,索引表项E2的名称、分片ID和坐标分别等于索引表项E1的名称、分片ID和坐标,路由器则将索引表项E2的生命周期设置为最大值,否则,该路由器创建一个索引表项,该索引表项的名称、分片ID和坐标分别等于索引表项E1的名称,分片ID和坐标,生命周期设置为最大值;
步骤512:结束。
6.根据权利要求5所述的一种基于分布式的未来网络实现方法,其特征在于,
请求消息包含消息类型、地址、分片ID集合、名称、坐标集合和源坐标;
响应消息包含消息类型、地址、分片ID集合、名称、坐标集合和负载;
查询消息包含消息类型、地址、分片ID、名称、坐标集合、源坐标和目的坐标;
数据消息包含消息类型、地址、分片ID、名称、坐标集合、目的坐标和负载;
节点ND2与接入路由器AR2相连,节点ND2需要获取数据DA1中的部分分片,所述部分分片的分片ID集合为SS2,数据DA1由名称NA1标识;节点ND2执行下述过程获取所需分片:
步骤601:开始;
步骤602:节点ND2发送一个请求消息,该请求消息的消息类型的值为7,地址为节点ND2的地址,分片ID集合等于SS2,名称为NA1,坐标集合为空,源坐标为空;接入路由器AR2接收到请求消息,将该请求消息的源坐标设置为自己的坐标,选择一个主服务器表项,该主服务器表项的名称等于该请求消息的名称,选择一个路由器表项,该路由器表项的坐标等于该主服务器的坐标,将该请求消息的坐标集合设置为该路由器表项的坐标集合;接入路由器AR2选择一个邻居表项,该邻居表项的坐标等于该请求消息坐标集合的最后一个元素,从该请求消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤603:路由器接收到请求消息,判断该请求消息的坐标集合是否为空,是则执行步骤605,否则执行步骤604;
步骤604:接收到请求消息的路由器选择一个邻居表项,该邻居表项的坐标等于该请求消息坐标集合的最后一个元素,从该请求消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤603;
步骤605:接收到请求消息的路由器查看索引表,针对该请求消息分片ID集合中的每个元素SID2,该路由器选择一个索引表项,该索引表项的名称等于该请求消息的名称,分片ID等于SID2;
步骤606:接收到请求消息的路由器选择一个路由器表项,该路由器表项的坐标等于该请求消息的源坐标,构建一个响应消息,该响应消息的消息类型的值为8,分片ID集合、地址和名称分别等于该请求消息的分片ID集合、地址和名称,坐标集合等于该路由器表项的坐标集合,负载为选中的所有索引表项;接收到请求消息的路由器选择一个邻居表项,该邻居表项的坐标等于该响应消息坐标集合的最后一个元素,从该响应消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该响应消息;
步骤607:路由器接收到该响应消息,判断该响应消息的坐标集合是否为空,是则执行步骤609,否则执行步骤608;
步骤608:接收到响应消息的路由器选择一个邻居表项,该邻居表项的坐标等于该响应消息坐标集合的最后一个元素,从该响应消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该响应消息,执行步骤607;
步骤609:接收到响应消息的路由器选择一个设备表项,设备表项的地址等于该响应消息的地址,从该设备表项的接口ID所标识的接口发送该响应消息;
步骤610:节点ND2接收到响应消息,针对响应消息负载中的每个检索表项E3,节点ND2发送一个查询消息,该查询消息的消息类型的值为9,地址等于节点ND2的地址,分片ID和名称分别等于索引表项E3的分片ID和名称,坐标集合为空,源坐标为空,目的坐标等于索引表项E3的坐标;接入路由器AR2接收到该查询消息后,将该查询消息的源坐标设置为自己的坐标,选择一个路由器表项,该路由器表项的坐标等于该查询消息的目的坐标,将该查询消息的坐标集合设置为该路由器表项的坐标集合;接入路由器AR2选择一个邻居表项,该邻居表项的坐标等于该查询消息坐标集合的最后一个元素,从该查询消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该查询消息;
步骤611:路由器接收到查询消息,判断该查询消息的坐标集合是否为空,是则执行步骤613,否则执行步骤612;
步骤612:接收到查询消息的路由器选择一个邻居表项,该邻居表项的坐标等于该查询消息坐标集合的最后一个元素,从该查询消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该查询消息,执行步骤611;
步骤613:接收到查询消息的路由器选择一个设备表项,该设备表项的名称和分片ID分别等于该查询消息的名称和分片ID,从该设备表项的接口ID所标识的接口转发该查询消息;服务器接收到该查询消息后,发送一个数据消息,该数据消息的消息类型的值为10,地址、分片ID和名称分别等于该查询消息的地址、分片ID和名称,目的坐标等于该查询消息的源坐标,坐标集合为空,负载为该查询消息的名称和分片ID所标识的分片;与该服务器相连的路由器接收到该数据消息后,选择一个路由器表项,该路由器表项的坐标等于该数据消息的目的坐标,将该数据消息的坐标集合设置为该路由器表项的坐标集合;该路由器选择一个邻居表项,该邻居表项的坐标等于该数据消息坐标集合的最后一个元素,从该数据消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该数据消息,
步骤614:路由器接收到该数据消息,判断该数据消息的坐标集合是否为空,是则执行步骤616,否则执行步骤615;
步骤615:接收到数据消息的路由器选择一个邻居表项,该邻居表项的坐标等于该数据消息坐标集合的最后一个元素,从该数据消息坐标集合中删除最后一个元素,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤614;
步骤616:接收到数据消息的路由器选择一个设备表项,该设备表项的地址等于该数据消息的地址,从该设备表项的接口ID所标识的接口转发该数据消息;节点ND2接收到该数据消息后,保存该数据消息负载中的分片;如果节点ND2接收到分片ID集合SS2和名称NA1所定义的所有分片,则执行步骤617,否则执行步骤614;
步骤617:结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010190891.7A CN111245725B (zh) | 2020-03-18 | 2020-03-18 | 一种基于分布式的未来网络实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010190891.7A CN111245725B (zh) | 2020-03-18 | 2020-03-18 | 一种基于分布式的未来网络实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245725A CN111245725A (zh) | 2020-06-05 |
CN111245725B true CN111245725B (zh) | 2021-09-03 |
Family
ID=70878711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010190891.7A Active CN111245725B (zh) | 2020-03-18 | 2020-03-18 | 一种基于分布式的未来网络实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245725B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073530B (zh) * | 2020-09-15 | 2021-10-15 | 常熟理工学院 | 一种基于物联网的智能医疗监测和报警系统的实现方法 |
CN112073528B (zh) * | 2020-09-15 | 2021-09-28 | 常熟理工学院 | 一种基于物联网的医疗监测预警系统的实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106507428A (zh) * | 2016-10-19 | 2017-03-15 | 常熟理工学院 | 一种未来移动网络的数据通信方法 |
CN108055204A (zh) * | 2017-12-06 | 2018-05-18 | 常熟理工学院 | 一种大数据网络通信实现方法 |
CN108494688A (zh) * | 2018-03-21 | 2018-09-04 | 常熟理工学院 | 一种低代价的未来数据网络实现方法 |
CN109246785A (zh) * | 2018-08-13 | 2019-01-18 | 常熟理工学院 | 一种未来移动网络的实现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232438B (zh) * | 2007-01-26 | 2012-10-03 | 华为技术有限公司 | 实现突发包延迟的方法及核心节点 |
US20090052444A1 (en) * | 2007-08-24 | 2009-02-26 | At&T Bls Intellectual Property, Inc. | Methods, systems, and computer program products for providing multi-service communication networks and related core networks |
-
2020
- 2020-03-18 CN CN202010190891.7A patent/CN111245725B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106507428A (zh) * | 2016-10-19 | 2017-03-15 | 常熟理工学院 | 一种未来移动网络的数据通信方法 |
CN108055204A (zh) * | 2017-12-06 | 2018-05-18 | 常熟理工学院 | 一种大数据网络通信实现方法 |
CN108494688A (zh) * | 2018-03-21 | 2018-09-04 | 常熟理工学院 | 一种低代价的未来数据网络实现方法 |
CN109246785A (zh) * | 2018-08-13 | 2019-01-18 | 常熟理工学院 | 一种未来移动网络的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111245725A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113264B (zh) | 一种命名数据网络的缓存和路由实现方法 | |
CN109257789B (zh) | 一种基于多跳簇的车载网数据通信方法 | |
CN110138663B (zh) | 一种以数据为中心的新一代网络实现方法 | |
CN109150723B (zh) | 一种物联网的路由通信实现方法 | |
CN109246785B (zh) | 一种未来移动网络的实现方法 | |
CN111245725B (zh) | 一种基于分布式的未来网络实现方法 | |
CN109088778B (zh) | 一种未来移动网络的数据通信实现方法 | |
CN109167728B (zh) | 一种基于命名数据网络的大数据通信实现方法 | |
EP3021533B1 (en) | Switching device, controller, and method and system for switching device configuration and packet processing | |
WO2015151184A1 (ja) | 通信システム、通信方法、中継装置、および、通信プログラム | |
CN108989220B (zh) | 路由方法和路由系统 | |
CN107979645B (zh) | 一种物联网实现方法 | |
CN111277497B (zh) | 一种基于分布式的网络服务部署和发现的实现方法 | |
CN110401911B (zh) | 一种基于命名数据网络的车载云实现方法 | |
CN111416773B (zh) | 一种快速的大数据网络实现方法 | |
CN110769479B (zh) | 一种高效的新一代无线网络通信方法 | |
CN109089293B (zh) | 一种未来移动网络的路由通信实现方法 | |
CN110233889B (zh) | 一种基于缓存机制的网络数据通信实现方法 | |
CN108494595B (zh) | 一种高效的新一代大数据网络实现方法 | |
CN110719208B (zh) | 一种基于最短路径的新一代网络实现方法 | |
CN108462623B (zh) | 一种高效的数据中心网络实现方法 | |
CN110380971B (zh) | 一种基于缓冲机制的网络数据通信方法 | |
CN108965138B (zh) | 一种新一代多媒体传感网的实现方法 | |
CN110087277B (zh) | 一种高效的车辆智能网络实现方法 | |
CN109039901B (zh) | 一种高效的数据网络路由实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |