1.一种高效的数据中心网络实现方法,其特征在于,所述网络包含一个数据骨干网,两个以上的数据子网和两个以上的接入子网;一个数据骨干网包括控制器和核心路由器,每个控制器和核心路由器各自具有唯一的地理坐标;一个核心路由器具有R1个接口,R1为大于1的整数,一个控制器具有一个接口,控制器的接口与一个核心路由器的接口相连;
一个数据子网包括数据路由器和服务器,一个数据路由器包含一个上游接口和R2个下游接口,R2为大于1的整数;服务器包含一个接口,该接口与数据服务器的一个下游接口相连;数据子网中只有一个数据路由器的上游接口与核心路由器的一个接口相连,该数据路由器称为主数据路由器;每个数据路由器具有唯一的地理坐标;
一个接入子网包含接入路由器、接入节点和移动节点,一个接入路由器具有一个上游接口和R3个下游接口,R3为大于1的整数;一个移动节点具有一个无线接口;一个接入节点有一个上游接口和一个下游无线接口,该上游接口与一个接入路由器的一个下游接口相连,该下游接口与移动节点的无线接口链路相连;接入子网中只有一个接入路由器的上游接口与核心路由器的一个接口相连,该接入路由器称为主接入路由器;每个接入路由器和接入节点具有唯一的地理坐标;
核心路由器、数据路由器、接入路由器以及接入节点统称为通信设备;一个通信设备的每个上游接口或者下游接口由一个接口ID唯一标识;如果一个通信设备有R4个下游接口和一个上游接口,那么每个下游接口的接口ID为j4,j4取值1~R4,每个上游接口的接口ID为R4+1;
控制器、服务器以及移动节点的接口ID都为1;
一种数据由一个名称唯一标识;移动节点通过消息进行通信,一个消息包含名称域、地理坐标域、消息类型域、源接口ID集合、目的接口ID集合以及负载;
消息类型如下表所示
核心路由器、主数据路由器、主接入路由器和控制器共同维护一个控制器表,一个控制器表项由地理坐标、接口ID集合和生命周期域构成;
一个控制器启动后,定期执行下述操作建立或者更新控制器表:
步骤101:开始;
步骤102:控制器发送发布消息,该发布消息中,名称域值为空,地理坐标域值等于控制器的坐标,消息类型为1,源接口ID集合和目的接口ID集合均为空,负载为空;
步骤103:判断是否核心路由器接收到该发布消息,如果是核心路由器接收到该发布消息,则执行步骤104,否则执行步骤108;
步骤104:核心路由器从自己的接口f1接收到发布消息后,将接口f1加入到该发布消息源接口ID集合中,且将该接口f1作为源接口ID集合的第一个元素;核心路由器查看控制器表,如果存在一个控制器表项,该表项的地理坐标域值等于该发布消息中的地理坐标,且接口ID集合等于该发布消息的源接口ID集合,则执行步骤105,否则执行步骤106;
步骤105:从接口f1接收到发布消息的核心路由器选择一个控制器表项,该表项的地理坐标域值等于该发布消息中的地理坐标,且接口ID集合等于该发布消息的源接口ID集合,将该控制器表项的生命周期设置为最大值,执行步骤107;
步骤106:从接口f1接收到发布消息的核心路由器创建一个控制器表项,该表项的地理坐标域值等于该发布消息中的地理坐标,接口ID集合等于该发布消息的源接口ID集合,生命周期设置为最大值;
步骤107:从接口f1接收到发布消息的核心路由器从除了接口f1之外的每个接口转发该发布消息,执行步骤103;
步骤108:主数据路由器、主接入路由器或者控制器从接口e1接收到发布消息后,将接口e1加入到该发布消息源接口ID集合中且该接口e1作为源接口ID集合的第一个元素;主数据路由器、主接入路由器或者控制器查看控制器表,如果存在一个控制器表项,该表项的地理坐标域值等于该发布消息中的地理坐标,且接口ID集合等于该发布消息的源接口ID集合,则将该控制器表项的生命周期设置为最大值;否则,从接口e1接收到发布消息的主数据路由器,主接入路由器或者控制器创建一个控制器表项,该表项的地理坐标域值等于该发布消息中的地理坐标,接口ID集合等于该发布消息的源接口ID集合,生命周期设置为最大值;
步骤109:结束。
2.根据权利要求1所述的一种高效的数据中心网络实现方法,其特征在于,核心路由器、主数据路由器、主接入路由器和控制器共同维护一个主数据路由器表,一个主数据路由器表项由地理坐标、接口ID集合和生命周期域构成;
一个主数据路由器启动后,定期执行下述操作建立或者更新主数据路由器表:
步骤201:开始;
步骤202:主数据路由器发送数据路由器发布消息,该数据路由器发布消息中,名称域值为空,地理坐标域值等于主数据路由器的地理坐标,消息类型为2,源接口ID集合和目的接口ID集合均为空,负载为空;
步骤203:判断是否核心路由器接收到该数据路由器发布消息,如果是核心路由器接收到该数据路由器发布消息,则执行步骤204,否则执行步骤208;
步骤204:核心路由器从自己的接口a1接收到数据路由器发布消息后,将接口a1加入到该数据路由器发布消息源接口ID集合中,且将该接口a1作为源接口ID集合的第一个元素;
核心路由器查看主数据路由器表,如果存在一个主数据路由器表项,该表项的地理坐标域值等于该数据路由器发布消息中的地理坐标且接口ID集合等于该数据路由器发布消息的源接口ID集合,则执行步骤205,否则执行步骤206;
步骤205:从接口a1接收到数据路由器发布消息的核心路由器选择一个主数据路由器表项,该表项的地理坐标域值等于该数据路由器发布消息中的地理坐标,且接口ID集合等于该数据路由器发布消息的源接口ID集合,将该主数据路由器表项的生命周期设置为最大值,执行步骤207;
步骤206:从接口a1接收到数据路由器发布消息的核心路由器创建一个主数据路由器表项,该表项的地理坐标域值等于该数据路由器发布消息中的地理坐标,接口ID集合等于该数据路由器发布消息的源接口ID集合,生命周期设置为最大值;
步骤207:从接口a1接收到数据路由器发布消息的核心路由器从除了接口a1之外的每个接口转发该数据路由器发布消息,执行步骤203;
步骤208:主数据路由器,主接入路由器或者控制器从接口a2接收到数据路由器发布消息后,将接口a2加入到该数据路由器发布消息源接口ID集合中,且将该接口a2作为源接口ID集合的第一个元素;主数据路由器,主接入路由器或者控制器查看主数据路由器表,如果存在一个主数据路由器表项,该表项的地理坐标域值等于该数据路由器发布消息中的地理坐标,且接口ID集合等于该数据路由器发布消息的源接口ID集合,则将该主数据路由器表项的生命周期设置为最大值;否则,从接口a2接收到数据路由器发布消息的主数据路由器,主接入路由器或者控制器创建一个主数据路由器表项,该表项的地理坐标域值等于该数据路由器发布消息中的地理坐标,接口ID集合等于该数据路由器发布消息的源接口ID集合,生命周期设置为最大值;
步骤209:结束。
3.根据权利要求2所述的一种高效的数据中心网络实现方法,其特征在于,每个主数据路由器和控制器共同维护一个服务器表,一个服务器表项包含名称域、地理坐标域、接口ID集合和生命周期域;数据C1由名称NA1唯一标识,如果服务器保存了数据C1,则执行下述过程建立或者更新服务器表:步骤301:开始;
步骤302:服务器发送服务器发布消息,该服务器发布消息中,名称域值为名称NA1,地理坐标域值等于该服务器的地理坐标,消息类型为3,源接口ID集合和目的接口ID集合均为空,负载为空;
步骤303:判断是主数据路由器还是数据路由器接收到该服务器发布消息,如果是主数据路由器接收到该服务器发布消息,则执行步骤305,否则执行步骤304;
步骤304:数据路由器从自己的接口f2接收到服务器发布消息后,将接口f2加入到该服务器发布消息源接口ID集合中,且将该接口f2作为源接口ID集合的第一个元素;数据路由器从上游接口转发该服务器发布消息,执行步骤303;
步骤305:主数据路由器从自己接口f3接收到服务器发布消息后,将接口f3加入到该服务器发布消息源接口ID集合中,且将该接口f3作为源接口ID集合的第一个元素;主数据服务器查看服务器表,如果存在一个服务器表项,该表项的名称域值等于该服务器发布消息的名称,地理坐标域值等于该服务器发布消息中的地理坐标,且接口ID集合等于该服务器发布消息的源接口ID集合,则将该服务器表项的生命周期设置为最大值;否则,从接口f3接收到服务器发布消息的主数据路由器创建一个服务器表项,该服务器表项的名称域值等于该服务器发布消息中的名称,地理坐标域值等于该服务器发布消息中的地理坐标,接口ID集合等于该服务器发布消息的源接口ID集合,生命周期设置为最大值;
步骤306:从接口f3接收到服务器发布消息的主数据路由器查看控制器表,对于控制器表中的每个控制器表项执行下述操作:该主数据路由器将接收到的服务器发布消息的地理坐标更新为自己的地理坐标,将源接口ID集合设置为空,负载设置为空,将目的接口ID集合设置为该控制器表项的接口ID集合,选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该服务器发布消息;
步骤307:判断是控制器还是核心路由器接收到该服务器发布消息,如果是核心路由器接收到该服务器发布消息,则执行步骤308,否则执行步骤309;
步骤308:核心路由器从自己的接口f5接收到服务器发布消息后,将接口f5加入到该服务器发布消息源接口ID集合中,且将该接口f5作为源接口ID集合的第一个元素;该核心路由器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该服务器发布消息,执行步骤307;
步骤309:控制器从自己的接口e2接收到服务器发布消息后,将接口e2加入到该服务器发布消息源接口ID集合中,且将该接口e2作为源接口ID集合的第一个元素;该控制器查看服务器表,如果存在一个服务器表项,该表项的名称域值等于接收到的服务器发布消息的名称,地理坐标域值等于该服务器发布消息中的地理坐标,且接口ID集合等于该服务器发布消息的源接口ID集合,则将该服务器表项的生命周期设置为最大值;否则,该控制器创建一个服务器表项,该表项的名称域值等于接收到的服务器发布消息中的名称,地理坐标域值等于该服务器发布消息中的地理坐标,接口ID集合等于该服务器发布消息的源接口ID集合,生命周期设置为最大值;
步骤310:结束。
4.根据权利要求3所述的一种高效的数据中心网络实现方法,其特征在于,如果数据C1由名称NA1唯一标识,移动节点MN1通过下述过程获取距离最近的保存数据C1的服务器信息:步骤401:开始;
步骤402:移动节点MN1发送信息请求消息,该信息请求消息的名称域值为NA1、消息类型为4,地理坐标为移动节点MN1当前的地理坐标、源接口ID集合和目的接口ID集合均为空、负载为空;
步骤403:判断是主接入路由器还是接入路由器接收到该信息请求消息,如果主接入路由器接收到该信息请求消息,则执行步骤405,否则执行步骤404;
步骤404:接入路由器从自己的接口b2接收到信息请求消息后,将接口b2加入到该信息请求消息源接口ID集合中,且将该接口b2作为源接口ID集合的第一个元素;接入路由器从上游接口转发该信息请求消息,执行步骤403;
步骤405:主接入路由器从自己的接口b3接收到信息请求消息后,将接口b3加入到该信息请求消息源接口ID集合中,且将该接口b3作为源接口ID集合的第一个元素;主接入路由器查看控制器表,选择一个控制器表项,该表项的地理坐标与接收到的信息请求消息中的地理坐标距离最近,将该信息请求消息中的目的接口ID集合更新为该控制器表项的接口ID集合,该主接入路由器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该信息请求消息;
步骤406:判断是核心路由器还是控制器接收到该信息请求消息,如果核心路由器接收到该信息请求消息,则执行步骤407,否则执行步骤408;
步骤407:核心路由器从自己的接口b4接收到信息请求消息后,将接口b4加入到该信息请求消息源接口ID集合中,且将该接口b4作为源接口ID集合的第一个元素;该核心路由器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该信息请求消息,执行步骤406;
步骤408:控制器从自己的接口e3接收到信息请求消息后,将接口e3加入到该信息请求消息源接口ID集合中,且将该接口e3作为源接口ID集合的第一个元素;该控制器查看服务器表,选择一个服务器表项,该表项的名称等于该信息请求消息的名称,且地理坐标与该信息请求消息中的地理坐标距离最近;该控制器创建一个信息响应消息,该信息响应消息的名称等于接收到的信息请求消息中的名称,地理坐标等于接收到的信息请求消息中的地理坐标,消息类型为5,源接口ID集合为空,目的接口ID集合等于接收到的信息请求消息中的源接口ID集合,负载为选中的服务器表项;该控制器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该信息响应消息;
步骤409:判断是移动节点MN1还是通信设备接收到信息响应消息,如果移动节点MN1接收到信息响应消息,则执行步骤411,否则执行步骤410;
步骤410:通信设备选中一个接口,该接口的接口ID等于接收到的信息响应消息中目的接口ID集合的第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该信息响应消息,执行步骤409;
步骤411:移动节点MN1保存信息响应消息负载中的服务器表项;
步骤412:结束。
5.根据权利要求4所述的一种高效的数据中心网络实现方法,其特征在于,移动节点MN1执行步骤401~412获取距离最近且能提供数据C1的服务器表项SE1后,通过下述过程获取数据C1:步骤501:开始;
步骤502:移动节点MN1发送数据请求消息,该数据请求消息的名称域值为NA1、消息类型为6,地理坐标等于服务器表项SE1中的地理坐标、源接口ID集合和目的接口ID集合均为空,负载为空;
步骤503:判断是主接入路由器还是接入路由器接收到该数据请求消息,如果主接入路由器接收到该数据请求消息,则执行步骤505,否则执行步骤504;
步骤504:接入路由器从自己的接口g2接收到数据请求消息后,将接口g2加入到该数据请求消息源接口ID集合中,且将该接口g2作为源接口ID集合的第一个元素;接入路由器从上游接口转发该数据请求消息,执行步骤503;
步骤505:主接入路由器从自己的接口g3接收到数据请求消息后,将接口g3加入到该数据请求消息源接口ID集合中且该接口g3作为源接口ID集合的第一个元素;主接入路由器查看主数据路由器表,选择一个主数据路由器表项,该表项的地理坐标与接收到的数据请求消息中的地理坐标相同,将该数据请求消息中的目的接口ID集合更新为该主数据服务器表项的接口ID集合,该主接入路由器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该数据请求消息;
步骤506:判断主数据路由器还是核心路由器接收到该数据请求消息,如果核心路由器接收到该数据请求消息,则执行步骤507,否则执行步骤508;
步骤507:核心路由器从接口g4接收到数据请求消息后,将接口g4加入到该数据请求消息源接口ID集合中且该接口g4作为源接口ID集合的第一个元素;该核心路由器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该数据请求消息,执行步骤506;
步骤508:主数据路由器从接口g5接收到数据请求消息后,将接口g5加入到该数据请求消息源接口ID集合中,且将该接口g5作为源接口ID集合的第一个元素;该主数据路由器查看服务器表,选择一个服务器表项,该服务器表项的名称等于该数据请求消息的名称,且地理坐标与自己的地理坐标距离最近;该主数据路由器将接收到的数据请求消息的目的接口ID集合更新为该服务器表项的接口ID集合,该主数据路由器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该数据请求消息;
步骤509:判断是数据路由器还是服务器接收到该数据请求消息,如果服务器接收到该数据请求消息,则执行步骤511,否则执行步骤510;
步骤510:数据路由器从自己的接口g6接收到数据请求消息后,将接口g6加入到该数据请求消息源接口ID集合中且该接口g6作为源接口ID集合的第一个元素;该数据路由器选中一个接口,该接口的接口ID等于目的接口ID集合中第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该数据请求消息,执行步骤509;
步骤511:服务器从自己的接口g6接收到数据请求消息后,将接口g6加入到该数据请求消息源接口ID集合中,且将该接口g6作为源接口ID集合的第一个元素;该服务器创建一个数据响应消息,该数据响应消息的名称等于接收到的数据请求消息中的名称,地理坐标等于接收到的数据请求消息中的地理坐标,消息类型为7,源接口ID集合为空,目的接口ID集合等于接收到的数据请求消息中的源接口ID集合,负载为接收到的数据请求消息名称所标识的数据;该服务器选中一个接口,该接口的接口ID等于构建的数据响应消息中的目的接口ID集合中的第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该数据响应消息;
步骤512:判断是通信设备还是移动节点MN1接收到数据响应消息,如果移动节点MN1接收到数据响应消息,则执行步骤514,否则执行步骤513;
步骤513:通信设备选中一个接口,该接口的接口ID等于接收到的数据响应消息中目的接口ID集合的第一个元素,从目的接口ID集合中删除第一个元素,从选中的接口发送该数据响应消息,执行步骤512;
步骤513:移动节点MN1保存数据响应消息负载中的数据;
步骤514:结束。