利索能及
我要发布
收藏
专利号: 2017112743189
申请人: 常熟理工学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种可靠的大数据网络实现方法,其特征在于,大数据网络中的一种大数据C有一个名称N唯一标识,将大数据C划分为S个数据分片,每个数据分片为Ej,j=1,…,S,j称为数据分片Ej的分片编号,数据分片Ej满足公式(1)和公式(2),第三方认证数据中心为大数据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)        j=1...S  公式(5)

其中,H为哈希函数,Encrypt为加密算法;

有权限获取大数据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

步骤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.根据权利要求1所述的一种可靠的大数据网络实现方法,其特征在于,将大数据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.根据权利要求2所述的一种可靠的大数据网络实现方法,其特征在于,一个节点维护以一个聚合表,一个聚合表项包含三个域:保密名称域、保密分片集合域和接口域;

大数据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.根据权利要求3所述的一种可靠的大数据网络实现方法,其特征在于,如果消费节点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:结束。