欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018110751819
申请人: 常熟理工学院
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-04-29
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于命名数据网络的大数据通信实现方法,其特征在于,所述网络由一个控制器,两个以上的路由器和两个以上的节点构成;控制器和每个路由器的坐标具有唯一性,控制器和路由器由自己的坐标唯一标识;

一种类型的数据由一个名称唯一标识并由N个数据分片构成,N为大于1的正整数,每个数据分片由分片ID n'唯一标识,n'=1...N;

一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;一个路由器配置两个以上的上游有线接口、两个以上的下游有线接口以及两个以上的下游无线接口,每个上游有线接口与一个控制器或者路由器相连,一个路由器的下游有线接口与一个路由器或者节点相连,一个路由器的下游无线接口与节点相连;一个节点配置一个有线接口或者一个无线接口,该接口与路由器的下游接口相连,该路由器称为该节点的关联路由器;

每个有线接口或者无线接口由一个接口ID唯一标识,接口ID预先配置,接口ID为正整数;接口ID为i的接口记为为接口i,i为正整数;

一个消息由名称、消息类型、分片ID集合、接口ID集合和负载构成;

消息类型值如下所示:

消息类型名称 消息类型值

路由器发布消息 1

控制器发布消息 2

节点发布消息 3

删除消息 4

路径消息 5

确认消息 6

查询消息 7

数据消息 8

控制器和每个路由器保存一个路由器表,一个路由器表项包含坐标域,接口ID集合域和生命周期域;

一个路由器R定期执行下述操作以维护路由器表:

步骤101:开始;

步骤102:路由器R从每个上游接口发送一个路由器发布消息,该路由器发布消息的名称域为空,消息类型值为1,分片ID集合和接口ID集合均为空,负载为路由器R的坐标;

步骤103:判断是控制器从接口f1还是路由器从上游接口u1接收到该路由器发布消息,如果是控制器从接口f1则执行步骤112,否则执行步骤104;

步骤104:路由器将u1加入到该路由器发布消息的接口ID集合中并作为最后一个元素,然后查看路由器表;如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标值,且接口ID集合中的元素个数小于该路由器发布消息的接口ID集合中的元素个数,则执行步骤120,否则执行步骤105;

步骤105:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,则执行步骤106,否则执行步骤107;

步骤106:从上游接口u1接收到路由器发布消息的路由器选择一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,将该路由器表项的生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;

步骤107:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数等于该路由器发布消息的接口ID集合中的元素个数,则执行步骤108,否则执行步骤109;

步骤108:从上游接口u1接收到路由器发布消息的路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;

步骤109:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果至少存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数,则执行步骤110,否则执行步骤111;

步骤110:从上游接口u1接收到路由器发布消息的路由器查看路由器表,选择所有符合条件1的路由器表项,删除选中的路由器表项,该路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;

条件1:该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数;

步骤111:从上游接口u1接收到路由器发布消息的路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;

步骤112:控制器从接口f1接收到路由器发布消息后,将f1加入到该路由器发布消息的接口ID集合中并作为最后一个元素,然后查看路由器表,如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标值,且接口ID集合中的元素个数小于该路由器发布消息的接口ID集合中的元素个数,则执行步骤120,否则执行步骤113;

步骤113:从接口f1接收到路由器发布消息的控制器查看路由器表,如果存在一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,则执行步骤

114,否则执行步骤115;

步骤114:从接口f1接收到路由器发布消息的控制器选择一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,将该路由器表项的生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;

步骤115:从接口f1接收到路由器发布消息的控制器查看路由器表;如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数等于该路由器发布消息的接口ID集合中的元素个数,则执行步骤116,否则执行步骤117;

步骤116:从接口f1接收到路由器发布消息的控制器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;

步骤117:从接口f1接收到路由器发布消息的控制器查看路由器表;如果至少存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数,则执行步骤118,否则执行步骤119;

步骤118:从接口f1接收到路由器发布消息的控制器查看路由器表;选择所有符合条件

1的路由器表项,删除选中的路由器表项;该控制器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;

步骤119:从接口f1接收到路由器发布消息的控制器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;

步骤120:结束;

如果路由器或者控制器检测到一个路由器表项的生命周期衰减为0,则删除该路由器表项。

2.根据权利要求1所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,一个路由器维护一个控制器表,每个控制器表项包含接口ID集合域以及生命周期域,控制器定期执行下述操作维护控制器表:步骤201:开始;

步骤202:控制器从每个接口发送一个控制器发布消息,该控制器发布消息的名称域为空,消息类型值为2,分片ID集合和接口ID集合均为空,负载为空;

步骤203:路由器从上游接口u2接收到控制器发布消息后,将上游接口u2加入到该控制器发布消息的接口ID集合中并作为最后一个元素,然后查看控制器表,如果存在一个控制器表项,该控制器表项的接口ID集合中的元素个数小于该控制器发布消息的接口ID集合中的元素个数,则执行步骤211,否则执行步骤204;

步骤204:从上游接口u2接收到路由器发布消息的路由器查看控制器表,如果存在一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,则执行步骤205,否则执行步骤206;

步骤205:从上游接口u2接收到控制器发布消息的控制器选择一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,将该控制器表项的生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;

步骤206:从上游接口u2接收到控制器发布消息的路由器查看控制器表,如果存在一个控制器表项,该控制器表项的接口ID集合的元素个数等于该控制器发布消息的接口ID集合中的元素个数,则执行步骤207,否则执行步骤208;

步骤207:从上游接口u2接收到控制器发布消息的路由器创建一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;

步骤208:从上游接口u2接收到控制器发布消息的路由器查看控制器表,如果至少存在一个控制器表项,该控制器表项的接口ID集合的元素个数大于该控制器发布消息的接口ID集合中的元素个数,则执行步骤209,否则执行步骤210;

步骤209:从上游接口u2接收到控制器发布消息的路由器查看控制器表,选择所有符合条件2的控制器表项,删除选中的控制器表项,该路由器创建一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;

条件2:该控制器表项接口ID集合的元素个数大于该控制器发布消息的接口ID集合中的元素个数;

步骤210:从上游接口u2接收到控制器发布消息的路由器创建一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;

步骤211:结束;

如果路由器检测到一个控制器表项的生命周期衰减为0,则删除该控制器表项。

3.根据权利要求2所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,一个路由器或者控制器维护一个检索表,一个检索表项包含坐标域、名称域、分片ID集合域和生命周期域;一个路由器保存一个节点表,一个节点表项包含名称域、分片ID集合域、接口ID域和生命周期域;

在节点N1的关联路由器为路由器R1,数据C1由名称NA1唯一标识,数据C1由M1个数据分片构成,M1为大于1的正整数的条件下,如果节点N1产生或者获取了数据C1的数据分片,所述数据分片的分片ID集合为SS1,那么节点N1执行下述操作发布这些数据分片:步骤301:开始;

步骤302:节点N1发送一个节点发布消息,该节点发布消息的名称为NA1,接口ID集合为空,分片ID集合为SS1,消息类型值为3,负载为空;

步骤303:路由器R1从下游接口x1接收到该节点发布消息后,查看节点表;如果存在一个节点表项,该节点表项的名称域值和分片ID集合分别等于该节点发布消息的名称域值和分片ID集合,且接口ID域值等于x1,路由器R1则将该节点表项的生命周期设置为最大值;否则,路由器R1创建一个节点表项,该节点表项的名称域值和分片ID集合分别等于该节点发布消息的名称域值和分片ID集合,接口ID域值等于x1,生命周期设置为最大值;

步骤304:结束。

4.根据权利要求3所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,路由器R1查看节点表,对于每个节点表项E1,路由器R1定期执行下述操作以维护检索表:步骤401:开始;

步骤402:路由器R1查看控制器表,针对每个控制器表项,路由器R1执行下述操作:路由器R1构建一个节点发布消息,该节点发布消息的名称和分片ID集合分别等于节点表项E1的名称和分片ID集合,消息类型值为3,接口ID集合等于该控制器表项的接口ID集合,负载为路由器R1的坐标;路由器R1选择节点发布消息中的接口ID集合中最后一个元素所标识的接口,从节点发布消息中的接口ID集合中删除最后一个元素,从选中的接口发送该节点发布消息;

步骤403:判断是控制器还是路由器接接收到该节点发布消息,如果是控制器则执行步骤406,否则执行步骤404;

步骤404:路由器接收到该节点发布消息后查看检索表,如果存在一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,该路由器则将该检索表项的生命周期设置为最大值,否则,该路由器创建一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,该路由器则将该检索表项的生命周期设置为最大值;

步骤405:接收到该节点发布消息的路由器选择该节点发布消息中的接口ID集合中最后一个元素所标识的接口,从该节点发布消息中的接口ID集合中删除最后一个元素,从选中的接口发送该节点发布消息,执行步骤403;

步骤406:控制器接收到该节点发布消息后查看检索表,如果存在一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,该控制器则将该检索表项的生命周期设置为最大值,否则,该控制器创建一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,生命周期设置为最大值;

步骤407:结束。

5.根据权利要求3所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,如果路由器R1检测到节点表项E2的生命周期衰减到0,则执行下述操作更新检索表:步骤501:开始;

步骤502:路由器R1查看除了节点表项E2以外是否还存在一个节点表项,该节点表项的名称域值等于节点表项E2的名称域值,且分片ID集合等于节点表项E2的分片ID集合或者为节点表项E2的分片ID集合的超集,如果是,则执行步骤503,否则执行步骤504;

步骤503:路由器R1删除节点表项E2,执行步骤508;

步骤504:路由器R1查看控制器表,针对每个控制器表项,路由器R1执行下述操作:路由器R1构建一个删除消息,该删除消息的名称和分片ID集合分别等于节点表项E2的名称和分片ID集合,消息类型值为4,接口ID集合等于该控制器表项的接口ID集合,负载为路由器R1的坐标;路由器R1选择删除消息中的接口ID集合中最后一个元素所标识的接口,从删除消息中的接口ID集合中删除最后一个元素,从选中的接口发送该删除消息;

步骤505:判断是控制器还是路由器接收到该删除消息,如果是控制器则执行步骤507,否则执行步骤506;

步骤506:路由器接收到该删除消息后查看检索表,如果存在一个检索表项,该检索表项的坐标等于该删除消息负载中的坐标,且名称与分片ID集合分别等于该删除消息的名称和分片ID集合,该路由器则删除该检索表项,该路由器选择该删除消息中的接口ID集合中最后一个元素所标识的接口,从该删除消息中的接口ID集合中删除最后一个元素,从选中的接口发送该删除消息;执行步骤505;

步骤507:控制器接收到该删除消息后查看检索表;如果存在一个检索表项,该检索表项的坐标等于该删除消息负载中的坐标,且名称与分片ID集合分别等于该删除消息的名称和分片ID集合,该控制器则删除该检索表项;

步骤508:结束。

6.根据权利要求3所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,在数据C2由名称NA2定义,数据C2由M2个数据分片构成,M2为正整数,数据C2的一些数据分片的分片ID集合为SS2的条件下,如果路由器R1的任何一个节点表项都不满足条件3,则执行下述操作获取符合条件4的检索表项:条件3:节点表项的名称等于NA2,且分片ID集合等于分片ID集合SS2或者为分片ID集合SS2的超集;

条件4:检索表项的名称等于NA2,且分片ID集合等于分片ID集合SS2或者为分片ID集合SS2的超集;

步骤601:开始;

步骤602:路由器R1随机选取一个控制器表项,构建一个路径消息,该路径消息的名称域值为NA2,分片ID集合为SS2,消息类型值为5,接口ID集合为选中的控制器表项的接口ID集合,负载为路由器R1的坐标;路由器R1选择该路径消息中的接口ID集合中最后一个元素所标识的接口,从该路径消息中的接口ID集合中删除最后一个元素,从选中的接口发送该路径消息;

步骤603:判断是控制器还是路由器接收到该路径消息,如果是是控制器则执行步骤

607,否则执行步骤604;

步骤604:路由器接收到该路径消息后查看检索表,如果至少存在一个检索表项,该检索表项的名称等于该路径消息中的名称,且分片ID集合等于该路径消息中的分片ID集合或者为该路径消息中的分片ID集合的超集,则执行步骤606,否则执行步骤605;

步骤605:接收到该路径消息的路由器选择该路径消息中的接口ID集合中最后一个元素所标识的接口,从该路径消息中的接口ID集合中删除最后一个元素,从选中的接口发送该路径消息,执行步骤603;

步骤606:接收到该路径消息的路由器选择所有符合条件5的检索表项,针对每个选中的检索表项,该路由器计算该检索表项的坐标域值与该路径消息负载中的坐标之间的距离,选择距离值最小的检索表项,如果存在两个以上的距离值最小的检索表项,该路由器则随机选取一个距离值最小的检索表项;该路由器查看路由器表,选择一个路由器表项,该路由器表项的坐标等于该路径消息负载中的坐标,构建一个确认消息,该确认消息的名称和分片ID集合分别等于该路径消息的名称和分片ID集合,消息类型值为6,接口ID集合等于选中的路由器表项的接口ID集合,负载等于选中的检索表项;该路由器选择该确认消息中的接口ID集合中最后一个元素所标识的接口,从该确认消息中的接口ID集合中删除最后一个元素,从选中的接口发送该确认消息,执行步骤608;

条件5:该检索表项的名称等于该路径消息中的名称,且分片ID集合等于该路径消息中的分片ID集合或者为该路径消息中的分片ID集合的超集;

步骤607:接收到该路径消息的控制器选择所有符合条件5的检索表项,针对每个选中的检索表项,该控制器计算该检索表项的坐标域值与该路径消息负载中的坐标之间的距离,选择距离值最小的检索表项,如果存在两个以上的距离值最小的检索表项,该控制器则随机选取一个距离值最小的检索表项;该控制器查看路由器表,选择一个路由器表项,该路由器表项的坐标等于该路径消息负载中的坐标,构建一个确认消息,该确认消息的名称和分片ID集合分别等于该路径消息的名称和分片ID集合,消息类型值为6,接口ID集合等于选中的路由器表项的接口ID集合,负载等于选中的检索表项;该控制器选择该确认消息中的接口ID集合中最后一个元素所标识的接口,从该确认消息中的接口ID集合中删除最后一个元素,从选中的接口发送该确认消息;

步骤608:如果路由器R1接收到该确认消息,则执行步骤610,否则执行步骤609;

步骤609:接收到该确认消息的路由器选择该确认消息中的接口ID集合中最后一个元素所标识的接口,从该确认消息中的接口ID集合中删除最后一个元素,从选中的接口发送该确认消息,执行步骤608;

步骤610:路由器R1接收到确认消息后,保存确认消息负载中的检索表项;

步骤611:结束。

7.根据权利要求6所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,每个路由器或者控制器维护一个查询表,一个查询表项由名称域、分片ID集合域、接口ID集合域构成;每个节点保存一个分片表,一个分片表项包含名称域、分片ID域和分片域;节点N2的关联路由器为路由器R1,需要获取数据C1的一些数据分片,数据C1由名称NA1标识,这些数据分片的分片ID集合为SS1,如果路由器R1至少存在一个节点表项,该节点表项的名称域值为NA1,且分片ID集合等于分片ID集合SS1或者分片ID集合SS1的超集,节点N2则执行下述操作获取由分片ID集合SS1定义的数据C1的数据分片:步骤701:开始;

步骤702:节点N2发送一个查询消息,该查询消息的名称为NA1,分片ID集合为SS1,消息类型值为7,接口ID集合为空,负载为空;

步骤703:路由器R1从下游接口z1接收到该查询消息后查看查询表,如果存在一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,且接口ID集合包含z1,则执行步骤710,否则执行步骤704;

步骤704:路由器R1查看查询表,如果存在一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,则执行步骤705,否则执行步骤

706;

步骤705:从下游接口z1接收到该查询消息的路由器R1创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合为{z1},执行步骤710;

步骤706:路由器R1查看查询表,如果存在一个查询表项,该查询表项的名称域等于该查询消息的名称域,且分片ID集合域为该查询表项的分片ID集合域的超集,则执行步骤

707,否则执行步骤708;

步骤707:从下游接口z1接收到该查询消息的路由器R1创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合为{z1},执行步骤710;

步骤708:从下游接口z1接收到该查询消息的路由器R1创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合为{z1};路由器R1查看节点表,选择一个节点表项,该节点表项的名称域值等于该查询消息的名称域值,分片ID集合等于该查询消息的分片ID集合或者该查询消息的分片ID集合的超集,从该节点表项的接口ID域值所标识的接口发送该查询消息;

步骤709:节点接收到该查询消息后,对于该查询消息分片ID集合中的每个元素创建一个二元组<分片ID,分片>,其中分片ID等于该元素,分片等于该元素所标识的分片;该节点发送一个数据消息,该数据消息的名称和分片ID集合分别等于该查询消息的名称和分片ID集合,消息类型值为7,接口ID集合为空,负载为所创建的所有二元组;

步骤710:路由器R1接收到数据消息后,选择所有满足条件6的查询表项,针对每个选择的查询表项E3,路由器R1执行下述操作:路由器R1查看查询表项E3中的分片ID集合,针对该分片ID集合中的每个分片ID,路由器R1从该数据消息负载中选择一个二元组,该二元组的分片ID等于该分片ID集合中的分片ID;路由器R1构建一个数据消息,该数据消息的名称和分片ID集合分别等于查询表项E3的名称域值和分片ID集合域值,消息类型值为7,接口ID集合等于查询表项E3的接口ID集合,负载为所有选取的二元组;路由器R1选择该数据消息中的接口ID集合中最后一个元素所标识的接口,从该数据消息中的接口ID集合中删除最后一个元素,从选中的接口发送该数据消息;路由器R1删除查询表项E3;

条件6:该查询表项的名称等于该数据消息的名称,且分片ID集合等于该数据消息的分片ID集合或者该数据消息的分片ID集合的子集;

步骤711:节点N2接收到数据消息后,针对数据消息负载中的每个二元组创建一个分片表项,该分片表项的名称为该数据消息的名称域值,分片ID和分片域值分别等于该二元组的分片ID和分片域值;

步骤712:节点N2执行步骤301~304创建节点表项;

步骤713:结束。

8.根据权利要求7所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,节点N2的关联路由器为路由器R1,需要获取数据C2的一些数据分片,数据C2由名称NA2标识,这些数据分片的分片ID集合为SS2;如果路由器R1的任何一个节点表项都不满足条件7,节点N2则执行下述操作获取由分片ID集合SS2定义的数据C2的数据分片:条件7:该节点表项的名称域值为NA2,且分片ID集合等于分片ID集合SS2或者分片ID集合SS2的超集;

步骤801:开始;

步骤802:节点N2发送一个查询消息,该查询消息的名称为NA2,分片ID集合为SS2,消息类型值为7,接口ID集合为空,负载为空;

步骤803:路由器R1从下游接口y1接收到该查询消息后查看查询表;如果存在一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,且接口ID集合包含y1,则执行步骤815,否则执行步骤804;

步骤804:路由器R1查看查询表;如果存在一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,则执行步骤805,否则执行步骤

806;

步骤805:从下游接口y1接收到该查询消息的路由器R1创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合为{y1},执行步骤815;

步骤806:路由器R1查看查询表;如果存在一个查询表项,该查询表项的名称域等于该查询消息的名称域,且分片ID集合域为该查询表项的分片ID集合域的超集,则执行步骤

807,否则执行步骤808;

步骤807:从下游接口y1接收到该查询消息的路由器R1创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合为{y1},执行步骤815;

步骤808:从下游接口y1接收到该查询消息的路由器R1创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合为{y1};路由器R1执行步骤601~611获取检索表项E5,检索表项E5的名称域值为NA2,且分片ID集合等于分片ID集合SS2或者分片ID集合SS2的超集;路由器R1查看路由器表,选择一个路由器表项,该路由器表项的坐标等于检索表项E5的坐标,将查询消息的接口ID集合更新为该路由器表项的接口ID集合,将接口ID集合变量P1加入到查询消息的负载中,接口ID集合变量P1的初始值为{y1};路由器R1选择该查询消息中的接口ID集合中最后一个元素所标识的接口,从该查询消息中的接口ID集合中删除最后一个元素,从选中的接口发送该查询消息;

步骤809:路由器从接口y2接收到该查询消息,将接口y2加入到该查询消息负载中分片ID集合变量P1中并作为最后一个元素;如果存在一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,且接口ID集合等于该查询消息负载中的变量P1,则执行步骤815,否则执行步骤810;

步骤810:从接口y2接收到该查询消息的路由器查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,且分片ID集合域值等于该查询消息的分片ID集合域或者为该查询消息的分片ID集合的超集,则执行步骤811,否则执行步骤812;

步骤811:从接口y2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合等于该查询消息负载中的变量P1,执行步骤815;

步骤812:从接口y2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域和分片ID集合域分别等于该查询消息的名称域和分片ID集合域,接口ID集合等于该查询消息负载中的变量P1;该路由器查看该查询消息中的接口ID集合是否为空,如果是,则执行步骤814,否则执行步骤813;

步骤813:从接口y2接收到该查询消息的路由器选择该查询消息中的接口ID集合中最后一个元素所标识的接口,从该查询消息中的接口ID集合中删除最后一个元素,从选中的接口发送该查询消息,执行步骤809;

步骤814:路由器接收到该查询消息后,查看节点表,选择一个节点表项,该节点表项的名称域值等于该查询消息的名称域值,分片ID集合等于该查询消息的分片ID集合或者该查询消息的分片ID集合的超集,从该节点表项的接口ID域值所标识的接口发送该查询消息;

节点接收到该查询消息后,对于该查询消息分片ID集合中的每个元素创建一个二元组<分片ID,分片>,其中分片ID等于该元素,分片等于该元素所标识的分片;该节点发送一个数据消息,该数据消息的名称和分片ID集合分别等于该查询消息的名称和分片ID集合,消息类型值为7,接口ID集合为空,负载为所创建的所有二元组;

步骤815:如果节点接收到该数据消息,则执行步骤817,否则执行步骤816;

步骤816:路由器接收到数据消息后,选择所有满足条件6的查询表项;针对每个选择的查询表项E6,该路由器执行下述操作:该路由器查看查询表项E6中的分片ID集合,针对该分片ID集合中的每个分片ID,该路由器从该数据消息负载中选择一个二元组,该二元组的分片ID等于该分片ID集合中的分片ID;该路由器构建一个数据消息,该数据消息的名称和分片ID集合分别等于查询表项E6的名称域值和分片ID集合域值,消息类型值为7,接口ID集合等于查询表项E6的接口ID集合,负载为所有选取的二元组;该路由器选择该数据消息中的接口ID集合中最后一个元素所标识的接口,从该数据消息中的接口ID集合中删除最后一个元素,从选中的接口发送该数据消息;该路由器删除查询表项E6;执行步骤815;

步骤817:节点N2接收到数据消息后,针对数据消息负载中的每个二元组创建一个分片表项,该分片表项的名称为该数据消息的名称域值,分片ID和分片域值分别等于该二元组的分片ID和分片域值;

步骤818:节点N2执行步骤301~304创建节点表项;

步骤819:结束。