一种可靠的大数据网络实现方法与流程

文档序号:14424628阅读:125来源:国知局
本发明涉及一种网络实现方法,尤其涉及的是一种可靠的大数据网络实现方法。
背景技术
:基于数据的网络作为一种新型通信网络,能够实现节点与节点之间的多跳无线通信。随着网络技术的不断发展以及各种新应用的不断涌现,迫切需要实现基于数据的网络通信以满足用户急剧增长的应用需求。基于数据的网络作为一种特殊类型,它与数据为中心,而传统网络以地址为中心,因此并不利于数据的获取。例如,在ip网络中,由目的ip地址确定的目的节点来提供数据,如果该目的节点失效,那么就无法提供数据。而基于数据的网络以数据为中心,任何节点都可以提供数据,从而缩短了数据获取的延迟和代价。但是,如何实现以数据为中心的网络还需要进一步研究和探讨。技术实现要素:发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种可靠的大数据网络实现方法。技术方案:本发明公开了一种可靠的大数据网络实现方法,大数据网络中的一种大数据c由一个名称n唯一标识,将大数据c划分为s个数据分片,每个数据分片为ej,j=1,…,s,j称为数据分片ej的分片编号,数据分片ej满足公式(1)和公式(2),第三方认证数据中心(例如netscape)为大数据c分配s+1个秘钥,记作kx,x=0,1…,s,大数据c的名称n通过公式(3)获取保密名称pn,大数据c的每个数据分片编号j通过公式(4)获取保密分片编号psj,每个数据分片ej通过公式(5)获取保密数据分片pej;pn=h(n,k0)公式(3)psj=h(j,kj),j=1...s公式(4)pej=encrypt(ej,kj)公式(5)其中,h为哈希函数,encrypt为加密算法,例如aes,x的取值范围是0到s,j的取值范围为1到s;有权限获取大数据c的授权节点称为大数据c的消费节点;从第三方认证数据中心获取大数据c的全部保密数据分片的节点称为注册提供节点,从该注册提供节点获取大数据c的部分保密数据分片的节点称为普通提供节点;既无权获取大数据c也无法保存和提供大数据c的保密数据分片的节点称为普通节点;普通节点向第三方认证数据中心进行注册成为大数据c的消费节点时,第三方认证数据中心向该消费节点提供大数据c的名称n和秘钥kx,x=0,1…,s;普通节点向第三方认证数据中心进行注册成为大数据c的注册提供节点时,第三方认证数据中心向该注册提供节点提供大数据c的保密名称pn以及s个二元组<保密分片编号psj,保密数据分片pej>;消费节点、注册提供节点、普通提供节点和普通节点统称为节点;大数据通过消息进行传输,一个消息由消息格式、消息类型、分片编号集合、数据名称以及负载构成;其中,分片编号集合为可选项,如果消息格式为0,则消息中不包括分片编号集合,如果消息格式为1,则消息中包含分片编号集合,消息类型如下表所示:消息类型值分配分片消息1建立路由表项消息2请求消息3响应消息4一个节点保存一个路由表,一个路由表项包含三个域:保密名称域、保密分片编号集合域和接口域;一个注册提供节点以及普通提供节点各自保存一个数据表,每个数据表项包括保密名称域、保密分片编号域和保密分片域;在注册提供节点p是大数据c的注册提供节点,第三方认证数据中心向注册提供节点p提供大数据c的保密名称pn以及s个二元组<保密分片编号psj,保密数据分片pej>的条件下,注册提供节点p执行下述过程分配保密数据分片:步骤101:开始;步骤102:注册提供节点p构建一个二元组集合g1,该二元组集合g1包括s个二元组,即<保密分片编号psj,保密数据分片pej>,设置一个参数h1,其初始值为z,0<z<s,注册提供节点p随机从构建的二元组集合g1中选取h个二元组,对于每个选取的二元组执行下述操作:注册提供节点p创建一个数据表项,该数据表项的保密名称域值为保密名称pn,保密分片编号域值设置为二元组的第一个元素,保密分片域值设置为二元组的第二个元素,将该二元组从构建的二元组集合g1中删除;步骤103:注册提供节点p构建一个分配分片消息,该分配分片消息的消息格式为0,消息类型为1,数据名称域值为保密名称pn,消息负载为参数h1和二元组集合g1,注册提供节点p从每个节点发送该分配分片消息;步骤104:一个节点从接口f1接收到该分配分片消息后,如果该节点不是大数据c的普通提供节点或者注册提供节点,即数据表中没有保存保密名称域值为该分配分片消息的数据名称的数据表项,则执行步骤106,否则执行步骤105;步骤105:从接口f1接收到分配分片消息的节点从除了接口f1以外的每个接口转发该分配分片消息,执行步骤104;步骤106:从接口f1接收到分配分片消息的节点查看分配分片消息负载的参数h1和二元组集合g2,如果该二元组集合的元素个数不小于参数h1,则该节点从该二元组集合中随机选取h1个二元组,否则选取该二元组集合中的所有二元组;然后对于每个选取的二元组,该节点进行如下操作:该节点创建一个数据表项,该数据表项的保密名称域值为接收到的分配分片消息的数据名称,保密分片编号域值设置为该二元组的第一个元素,保密分片域值设置为该二元组的第二个元素,将该二元组从二元组集合g2中删除;步骤107:将该节点称为大数据c的普通提供节点,如果二元组集合g2为空,则执行步骤109,否则执行步骤108;步骤108:从接口f1接收到分配分片消息的节点从除了接口f1以外的每个接口转发该分配分片消息,该分配分片消息的负载为二元组集合g2,执行步骤104;步骤109:结束。本发明所述方法中,将大数据c的注册提供节点或者普通提供节点统称为大数据c的提供节点;在大数据c的提供节点p1保存了大数据c的部分保密数据分片后,执行下述操作以建立路由表项:步骤201:开始;步骤202:提供节点p1从数据表中选取数据名称域值为保密名称pn的所有数据表项,构建一个集合g3,集合g3由选取的所有数据表项的保密分片编号域值构成;提供节点p1构建一个建立路由表项消息,消息格式为1,消息类型为2,分片编号集合为集合g3,数据名称为保密名称pn,消息负载为空;提供节点p1从每个接口转发构建的建立路由表项消息;步骤203:每个节点从自己的接口f2收到该建立路由表项消息后,查看路由表,判断是否存在保密名称域值为该建立路由表项消息的数据名称,且保密分片编号集合域值等于该建立路由表项消息的分片编号集合的路由表项,如果存在,则执行步骤205,否则执行步骤204;步骤204:从接口f2收到该建立路由表项消息的节点建立一个路由表项,该路由表项的接口域值为f2,保密名称域值为该建立路由表项消息的数据名称,保密分片编号集合域值等于该建立路由表项消息的分片编号集合;该节点从除了接口f2以外的所有接口转发该建立路由消息,执行步骤203;步骤205:从接口f2收到建立路由表项消息的节点丢弃该建立路由表项消息;步骤206:结束。上述过程能够快速建立路由表项从而实现正确可靠的数据通信。本发明所述方法中,一个节点维护以一个聚合表,一个聚合表项包含三个域:保密名称域、保密分片集合域和接口域;大数据c的消费节点u通过下述过程获取大数据c:步骤301:开始;步骤302:消费节点u通过公式(3)和公式(4)获取保密名称pn和保密分片编号psj,构建一个集合g4,集合g4包含s个元素,s个元素即由保密分片编号psj构成;消费节点u构建一个请求消息,该请求消息的消息格式为1,消息类型为3,分片编号集合为集合g4,数据名称为保密名称pn,负载为空;消费节点u查看路由表,选择保密名称为pn且保密分片编号集合的元素个数最多的路由表项,从该路由表项的接口域发送该请求消息;步骤303:每个节点从自己的接口f3接收到该请求消息,如果该节点的数据表中存在保密名称域值为请求消息的数据名称的数据表项,该节点则针对请求消息中的编号分片集合的每个元素执行下述操作:如果该节点存在保密名称域值为请求消息的数据名称且保密分片编号域值等于该元素的数据表项,该节点则从接口f3发送一个响应消息,该响应消息的消息格式为1,消息类型为4,分片编号集合为{该数据表项的保密分片编号域值},数据名称为接收到的请求消息的数据名称,负载为该数据表项的保密分片域值,该节点从请求消息的分片编号集合中删除该元素;步骤304:如果请求消息的分片编号集合为空,则执行步骤312,否则执行步骤305;步骤305:从接口f3接收到该请求消息的节点查看聚合表,如果存在接口域值为f3,保密名称域值等于请求消息的数据名称且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤312,否则执行步骤306;步骤306:从接口f3接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤307,否者执行步骤308;步骤307:从接口f3接收到该请求消息的节点创建一个聚合表项,该聚合表项的接口域值等于接口f3,保密名称域值等于该请求消息的数据名称,保密分片编号集合等于该请求消息的分片编号集合,执行步骤312;步骤308:从接口f3接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称且保密分片编号集合与请求消息的分片编号集合的交集不等于空的聚合表项,则执行步骤309,否则执行步骤310;步骤309:从接口f3接收到该请求消息的节点选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集g5不等于空的聚合表项,如果该聚合表项的接口域值不等于f3,则该节点创建一个聚合表项,该聚合表项的保密名称域值等于请求消息的数据名称且保密分片编号集合等于集合g5,接口域值等于f3,然后该节点从请求消息的分片编号集合中删除集合g5,执行步骤308;步骤310:从接口f3接收到该请求消息的节点判断请求消息的分片编号集合是否为空,如果是,则执行步骤312,否则执行步骤311;步骤311:从接口f3接收到该请求消息的节点查看路由表,选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集元素个数最大的路由表项,然后从该路由表项的接口域转发该请求消息,执行步骤303;步骤312:节点从接口f4接收到步骤303的响应消息,如果该节点是消费节点u,则执行步骤314,否则执行步骤313;步骤313:从接口f4接收到响应消息的节点查看聚合表,选择所有保密名称域值等于响应消息的数据名称,且保密分片编号集合为响应消息分片编号集合的超集的聚合表项,对于每个选择的聚合表项,该节点执行下述操作:该节点从该聚合表项的接口域值转发接收到的响应消息,然后从该聚合表项的保密分片编号集合中删除该响应消息分片编号集合中的元素,如果该聚合表项的保密分片编号集合为空,则删除该聚合表项;执行步骤312;步骤314:消费节点u收到响应消息后,将该响应消息分片编号集合中的元素与每一个保密分片编号psj进行比较,如果该元素等于保密分片编号psq,q=1…s,该节点则使用秘钥kq解密响应消息中的负载得到数据分片eq;步骤315:判断消费节点u是否收到了大数据c的所有s个数据分片,如果是,则执行步骤316,否则执行步骤312;步骤316:消费节点u将s个数据分片构建成大数据c;步骤317:结束。消费节点通过上述过程能够快速获取数据。本发明所述方法中,如果消费节点u想获取大数据c的一些数据分片,则执行下述过程:步骤401:开始;步骤402:消费节点u通过公式(3)获取保密名称pn,通过公式(4)得到需要获取的每个数据分片的保密分片编号,例如,第一数据分片和第三数据分片,构建一个集合g6,集合g6由所有需要获取的数据分片的保密分片编号构成;消费节点u构建一个请求消息,该请求消息的消息格式为1,消息类型为3,分片编号集合为集合g6,数据名称为保密名称pn,负载为空;消费节点u查看路由表,选择保密名称为pn且保密分片编号集合与集合g6的交集元素个数最多的路由表项,然后从该路由表项的接口域发送该请求消息;步骤403:节点从接口f5接收到该请求消息,如果该节点的数据表中存在保密名称域值为请求消息的数据名称的数据表项,该节点则针对请求消息中编号分片集合的每个元素执行下述操作:如果该节点存在保密名称域值为请求消息的数据名称,且保密分片编号域值等于该元素的数据表项,该节点则从接口f5发送一个响应消息,该响应消息的消息格式为1,消息类型为4,分片编号集合由一个元素构成,该元素为该数据表项的保密分片编号域值,数据名称为接收到的请求消息的数据名称,负载为该数据表项的保密分片域值,然后该节点从请求消息的分片编号集合中删除该元素;步骤404:如果请求消息的分片编号集合为空,则执行步骤412,否则执行步骤405;步骤405:从接口f5接收到该请求消息的节点查看聚合表,如果存在接口域值为f5,保密名称域值等于请求消息的数据名称且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤412,否则执行步骤406;步骤406:从接口f5接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称,且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤407,否者执行步骤408;步骤407:从接口f5接收到该请求消息的节点创建一个聚合表项,该聚合表项的接口域值等于接口f5,保密名称域值等于该请求消息的数据名称,保密分片编号集合等于该请求消息的分片编号集合,执行步骤412;步骤408:从接口f5接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集不等于空的聚合表项,则执行步骤409,否则执行步骤410;步骤409:从接口f5接收到该请求消息的节点选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集g7不等于空的聚合表项,如果该聚合表项的接口域值不等于f5,则该节点创建一个聚合表项,该聚合表项的保密名称域值等于请求消息的数据名称,保密分片编号集合等于集合g7,接口域值等于f5,然后该节点从请求消息的分片编号集合中删除集合g7,执行步骤408;步骤410:从接口f5接收到该请求消息的节点判断请求消息的分片编号集合是否为空,如果是,则执行步骤412,否则执行步骤411;步骤411:从接口f5接收到该请求消息的节点查看路由表,选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集元素个数最大的路由表项,然后从该路由表项的接口域转发该请求消息,执行步骤403;步骤412:节点从接口f6接收到响应消息,如果该节点是消费节点u,则执行步骤414,否则执行步骤413;步骤413:从接口f6接收到响应消息的节点查看聚合表,选择所有保密名称域值等于响应消息的数据名称,且保密分片编号集合为响应消息分片编号集合的超集的聚合表项,对于每个选中的聚合表项,该节点执行下述操作:该节点从该聚合表项的接口域值转发接收到的响应消息,然后从该聚合表项的保密分片编号集合中删除该响应消息分片编号集合中的元素,如果该聚合表项的保密分片编号集合为空,则删除该聚合表项;执行步骤412;步骤414:消费节点u收到响应消息后,将该响应消息分片编号集合中的元素与每一个保密分片编号psj进行比较,如果该元素等于保密分片编号psw,w=1…s,该节点则使用秘钥kw解密响应消息中的负载得到数据分片ew;消费节点u从集合g6中删除该响应消息分片编号集合中的元素;步骤415:如果集合g6为空,则执行步骤416,否则执行步骤412;步骤416:结束。消费节点通过上述过程能够快速获取部分数据分片从而降低数据通信延迟。有益效果:本发明提供了一种可靠的大数据网络实现方法,消费节点通过本发明所提供的大数据网络实现方法可安全获取网络提供的数据服务,确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。附图说明下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。图1为本发明所述的分配保密数据分片流程示意图。图2为本发明所述的建立路由流程示意图。图3为本发明所述的获取大数据流程示意图。图4为本发明所述的获取数据分片流程示意图。具体实施方式:本发明提供了一种可靠的大数据网络实现方法,消费节点通过本发明所提供的大数据网络实现方法可安全获取网络提供的数据服务,确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。图1为本发明所述的分配保密数据分片流程示意图。大数据网络中的一种大数据c由一个名称n唯一标识,将大数据c划分为s个数据分片,每个数据分片为ej,j=1,…,s,j称为数据分片ej的分片编号,数据分片ej满足公式(1)和公式(2),第三方认证数据中心为大数据c分配s+1个秘钥,例如netscape,记作kx,x=0,1…,s,大数据c的名称n通过公式(3)获取保密名称pn,大数据c的每个数据分片编号j通过公式(4)获取保密分片编号psj,每个数据分片ej通过公式(5)获取保密数据分片pej;pn=h(n,k0)公式(3)psj=h(j,kj),j=1...s公式(4)pej=encrypt(ej,kj)公式(5)其中,h为哈希函数,encrypt为加密算法,例如aes加密算法;有权限获取大数据c的授权节点称为大数据c的消费节点;从第三方认证数据中心获取大数据c的全部保密数据分片的节点称为注册提供节点,从该注册提供节点获取大数据c的部分保密数据分片的节点称为普通提供节点;既无权获取大数据c也无法保存和提供大数据c的保密数据分片的节点称为普通节点;普通节点向第三方认证数据中心进行注册成为大数据c的消费节点时,第三方认证数据中心向该消费节点提供大数据c的名称n和秘钥kx,x=0,1…,s;普通节点向第三方认证数据中心进行注册成为大数据c的注册提供节点时,第三方认证数据中心向该注册提供节点提供大数据c的保密名称pn以及s个二元组<保密分片编号psj,保密数据分片pej>;消费节点、注册提供节点、普通提供节点和普通节点统称为节点;大数据通过消息进行传输,一个消息由消息格式、消息类型、分片编号集合、数据名称以及负载构成;其中,分片编号集合为可选项,如果消息格式为0,则消息中不包括分片编号集合,如果消息格式为1,则消息中包含分片编号集合,消息类型如下表所示:消息类型值分配分片消息1建立路由表项消息2请求消息3响应消息4一个节点保存一个路由表,一个路由表项包含三个域:保密名称域、保密分片编号集合域和接口域;一个注册提供节点以及普通提供节点各自保存一个数据表,每个数据表项包括保密名称域、保密分片编号域和保密分片域;在注册提供节点p是大数据c的注册提供节点,第三方认证数据中心向注册提供节点p提供大数据c的保密名称pn以及s个二元组<保密分片编号psj,保密数据分片pej>的条件下,注册提供节点p执行下述过程分配保密数据分片:步骤101:开始;步骤102:注册提供节点p构建一个二元组集合g1,该二元组集合g1包括s个二元组,即<保密分片编号psj,保密数据分片pej>,设置一个参数h1,其初始值为z,0<z<s,注册提供节点p随机从构建的二元组集合g1中选取h个二元组,对于每个选取的二元组执行下述操作:注册提供节点p创建一个数据表项,该数据表项的保密名称域值为保密名称pn,保密分片编号域值设置为二元组的第一个元素,保密分片域值设置为二元组的第二个元素,将该二元组从构建的二元组集合g1中删除;步骤103:注册提供节点p构建一个分配分片消息,该分配分片消息的消息格式为0,消息类型为1,数据名称域值为保密名称pn,消息负载为参数h1和二元组集合g1,注册提供节点p从每个节点发送该分配分片消息;步骤104:一个节点从接口f1接收到该分配分片消息后,如果该节点不是大数据c的普通提供节点或者注册提供节点,即数据表中没有保存保密名称域值为该分配分片消息的数据名称的数据表项,则执行步骤106,否则执行步骤105;步骤105:从接口f1接收到分配分片消息的节点从除了接口f1以外的每个接口转发该分配分片消息,执行步骤104;步骤106:从接口f1接收到分配分片消息的节点查看分配分片消息负载的参数h1和二元组集合g2,如果该二元组集合的元素个数不小于参数h1,则该节点从该二元组集合中随机选取h1个二元组,否则选取该二元组集合中的所有二元组;然后对于每个选取的二元组,该节点进行如下操作:该节点创建一个数据表项,该数据表项的保密名称域值为接收到的分配分片消息的数据名称,保密分片编号域值设置为该二元组的第一个元素,保密分片域值设置为该二元组的第二个元素,将该二元组从二元组集合g2中删除;步骤107:将该节点称为大数据c的普通提供节点,如果二元组集合g2为空,则执行步骤109,否则执行步骤108;步骤108:从接口f1接收到分配分片消息的节点从除了接口f1以外的每个接口转发该分配分片消息,该分配分片消息的负载为二元组集合g2,执行步骤104;步骤109:结束。图2为本发明所述的建立路由流程示意图。将大数据c的注册提供节点或者普通提供节点统称为大数据c的提供节点;在大数据c的提供节点p1保存了大数据c的部分保密数据分片后,执行下述操作以建立路由表项:步骤201:开始;步骤202:提供节点p1从数据表中选取数据名称域值为保密名称pn的所有数据表项,构建一个集合g3,集合g3由选取的所有数据表项的保密分片编号域值构成;提供节点p1构建一个建立路由表项消息,消息格式为1,消息类型为2,分片编号集合为集合g3,数据名称为保密名称pn,消息负载为空;提供节点p1从每个接口转发构建的建立路由表项消息;步骤203:每个节点从自己的接口f2收到该建立路由表项消息后,查看路由表,判断是否存在保密名称域值为该建立路由表项消息的数据名称,且保密分片编号集合域值等于该建立路由表项消息的分片编号集合的路由表项,如果存在,则执行步骤205,否则执行步骤204;步骤204:从接口f2收到该建立路由表项消息的节点建立一个路由表项,该路由表项的接口域值为f2,保密名称域值为该建立路由表项消息的数据名称,保密分片编号集合域值等于该建立路由表项消息的分片编号集合;该节点从除了接口f2以外的所有接口转发该建立路由消息,执行步骤203;步骤205:从接口f2收到建立路由表项消息的节点丢弃该建立路由表项消息;步骤206:结束。图3为本发明所述的获取大数据流程示意图。一个节点维护以一个聚合表,一个聚合表项包含三个域:保密名称域、保密分片集合域和接口域;大数据c的消费节点u通过下述过程获取大数据c:步骤301:开始;步骤302:消费节点u通过公式(3)和公式(4)获取保密名称pn和保密分片编号psj,构建一个集合g4,集合g4包含s个元素,s个元素即由保密分片编号psj构成;消费节点u构建一个请求消息,该请求消息的消息格式为1,消息类型为3,分片编号集合为集合g4,数据名称为保密名称pn,负载为空;消费节点u查看路由表,选择保密名称为pn且保密分片编号集合的元素个数最多的路由表项,从该路由表项的接口域发送该请求消息;步骤303:每个节点从自己的接口f3接收到该请求消息,如果该节点的数据表中存在保密名称域值为请求消息的数据名称的数据表项,该节点则针对请求消息中的编号分片集合的每个元素执行下述操作:如果该节点存在保密名称域值为请求消息的数据名称且保密分片编号域值等于该元素的数据表项,该节点则从接口f3发送一个响应消息,该响应消息的消息格式为1,消息类型为4,分片编号集合为{该数据表项的保密分片编号域值},数据名称为接收到的请求消息的数据名称,负载为该数据表项的保密分片域值,该节点从请求消息的分片编号集合中删除该元素;步骤304:如果请求消息的分片编号集合为空,则执行步骤312,否则执行步骤305;步骤305:从接口f3接收到该请求消息的节点查看聚合表,如果存在接口域值为f3,保密名称域值等于请求消息的数据名称且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤312,否则执行步骤306;步骤306:从接口f3接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤307,否者执行步骤308;步骤307:从接口f3接收到该请求消息的节点创建一个聚合表项,该聚合表项的接口域值等于接口f3,保密名称域值等于该请求消息的数据名称,保密分片编号集合等于该请求消息的分片编号集合,执行步骤312;步骤308:从接口f3接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称且保密分片编号集合与请求消息的分片编号集合的交集不等于空的聚合表项,则执行步骤309,否则执行步骤310;步骤309:从接口f3接收到该请求消息的节点选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集g5不等于空的聚合表项,如果该聚合表项的接口域值不等于f3,则该节点创建一个聚合表项,该聚合表项的保密名称域值等于请求消息的数据名称且保密分片编号集合等于集合g5,接口域值等于f3,然后该节点从请求消息的分片编号集合中删除集合g5,执行步骤308;步骤310:从接口f3接收到该请求消息的节点判断请求消息的分片编号集合是否为空,如果是,则执行步骤312,否则执行步骤311;步骤311:从接口f3接收到该请求消息的节点查看路由表,选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集元素个数最大的路由表项,然后从该路由表项的接口域转发该请求消息,执行步骤303;步骤312:节点从接口f4接收到步骤303的响应消息,如果该节点是消费节点u,则执行步骤314,否则执行步骤313;步骤313:从接口f4接收到响应消息的节点查看聚合表,选择所有保密名称域值等于响应消息的数据名称,且保密分片编号集合为响应消息分片编号集合的超集的聚合表项,对于每个选择的聚合表项,该节点执行下述操作:该节点从该聚合表项的接口域值转发接收到的响应消息,然后从该聚合表项的保密分片编号集合中删除该响应消息分片编号集合中的元素,如果该聚合表项的保密分片编号集合为空,则删除该聚合表项;执行步骤312;步骤314:消费节点u收到响应消息后,将该响应消息分片编号集合中的元素与每一个保密分片编号psj进行比较,如果该元素等于保密分片编号psq,q=1…s,该节点则使用秘钥kq解密响应消息中的负载得到数据分片eq;步骤315:判断消费节点u是否收到了大数据c的所有s个数据分片,如果是,则执行步骤316,否则执行步骤312;步骤316:消费节点u将s个数据分片构建成大数据c;步骤317:结束。图4为本发明所述的获取数据分片流程示意图。如果消费节点u想获取大数据c的一些数据分片,则执行下述过程:步骤401:开始;步骤402:消费节点u通过公式(3)获取保密名称pn,通过公式(4)得到需要获取的每个数据分片的保密分片编号,构建一个集合g6,例如,第一数据分片和第三数据分片,集合g6由所有需要获取的数据分片的保密分片编号构成;消费节点u构建一个请求消息,该请求消息的消息格式为1,消息类型为3,分片编号集合为集合g6,数据名称为保密名称pn,负载为空;消费节点u查看路由表,选择保密名称为pn且保密分片编号集合与集合g6的交集元素个数最多的路由表项,然后从该路由表项的接口域发送该请求消息;步骤403:节点从接口f5接收到该请求消息,如果该节点的数据表中存在保密名称域值为请求消息的数据名称的数据表项,该节点则针对请求消息中编号分片集合的每个元素执行下述操作:如果该节点存在保密名称域值为请求消息的数据名称,且保密分片编号域值等于该元素的数据表项,该节点则从接口f5发送一个响应消息,该响应消息的消息格式为1,消息类型为4,分片编号集合由一个元素构成,该元素为该数据表项的保密分片编号域值,数据名称为接收到的请求消息的数据名称,负载为该数据表项的保密分片域值,然后该节点从请求消息的分片编号集合中删除该元素;步骤404:如果请求消息的分片编号集合为空,则执行步骤412,否则执行步骤405;步骤405:从接口f5接收到该请求消息的节点查看聚合表,如果存在接口域值为f5,保密名称域值等于请求消息的数据名称且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤412,否则执行步骤406;步骤406:从接口f5接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称,且保密分片编号集合为请求消息的分片编号集合的超集的聚合表项,则执行步骤407,否者执行步骤408;步骤407:从接口f5接收到该请求消息的节点创建一个聚合表项,该聚合表项的接口域值等于接口f5,保密名称域值等于该请求消息的数据名称,保密分片编号集合等于该请求消息的分片编号集合,执行步骤412;步骤408:从接口f5接收到该请求消息的节点查看聚合表,如果存在保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集不等于空的聚合表项,则执行步骤409,否则执行步骤410;步骤409:从接口f5接收到该请求消息的节点选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集g7不等于空的聚合表项,如果该聚合表项的接口域值不等于f5,则该节点创建一个聚合表项,该聚合表项的保密名称域值等于请求消息的数据名称,保密分片编号集合等于集合g7,接口域值等于f5,然后该节点从请求消息的分片编号集合中删除集合g7,执行步骤408;步骤410:从接口f5接收到该请求消息的节点判断请求消息的分片编号集合是否为空,如果是,则执行步骤412,否则执行步骤411;步骤411:从接口f5接收到该请求消息的节点查看路由表,选择保密名称域值等于请求消息的数据名称,且保密分片编号集合与请求消息的分片编号集合的交集元素个数最大的路由表项,然后从该路由表项的接口域转发该请求消息,执行步骤403;步骤412:节点从接口f6接收到响应消息,如果该节点是消费节点u,则执行步骤414,否则执行步骤413;步骤413:从接口f6接收到响应消息的节点查看聚合表,选择所有保密名称域值等于响应消息的数据名称,且保密分片编号集合为响应消息分片编号集合的超集的聚合表项,对于每个选中的聚合表项,该节点执行下述操作:该节点从该聚合表项的接口域值转发接收到的响应消息,然后从该聚合表项的保密分片编号集合中删除该响应消息分片编号集合中的元素,如果该聚合表项的保密分片编号集合为空,则删除该聚合表项;执行步骤412;步骤414:消费节点u收到响应消息后,将该响应消息分片编号集合中的元素与每一个保密分片编号psj进行比较,如果该元素等于保密分片编号psw,w=1…s,该节点则使用秘钥kw解密响应消息中的负载得到数据分片ew;消费节点u从集合g6中删除该响应消息分片编号集合中的元素;步骤415:如果集合g6为空,则执行步骤416,否则执行步骤412;步骤416:结束。实施例1基于表1的仿真参数,本实施例模拟了本发明中的一种可靠的大数据网络实现方法,性能分析如下:当传输数据量增加时,数据延迟和代价随之增加,当传输数据量降低时,数据通信延迟和代价也随之降低,数据通信平均延迟为1.2s,平均代价为10.5。表1仿真参数本发明提供了一种可靠的大数据网络实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1