买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明涉及一种基于区块链的数据共享方法,数据共享方法包含构建一个数据畅通平台;数据畅通平台包含数据标签制作模块、数据分区模块、统计辅助模块、缓冲构建模块,数据畅通平台配套一个完备链条、划分链条群;本发明利用数据的局部性以及访问的重复性,构建数据的缓冲区,缩小查找的范围,不仅能够查找到数据,还能够查找存储时的原始数据;从而根据存储的上下文看到更多的信息,在这流通流程中利用多重转换地址的转换技术以及不停淘汰缓冲区中的提取的数据。
主权项:1.一种基于区块链的数据共享方法,其特征在于,包含以下步骤:所述数据共享方法包含构建一个数据畅通平台;所述数据畅通平台包含数据标签制作模块、数据分区模块、统计辅助模块、缓冲构建模块,所述数据畅通平台配套一个完备链条、划分链条群;所述完备链条上存储所有所述数据流通流程的所需数据,所述划分链条上放置当前供用户节点提取的所有数据;所述数据畅通平台上设置一个以上的用户节点以及一个以上的维护节点以及一个管理节点,用户节点可以在所述数据畅通平台上提取需要的数据,维护节点负责维护所述数据畅通平台上的数据,管理节点负责所述数据畅通平台的管理;所述数据标签制作模块用于辅助完备链条进行工作,所述数据分区模块负责对完备链条进行区块的划分,所述统计辅助模块负责辅助数据畅通平台上的计算处理,所述缓冲构建模块负责在完备链条、划分链条群之间建立联系;所述完备链条包含一个以上的完备区块的区块链条,完备区块为所述完备链条上的区块,完备区块被所述数据分区模块划分为相等大小的容量,一个划分的容量的大小作为一个数据量度,所述数据量度作为在所述数据畅通平台上的最小容量的单位,数据量度的容量为2S个字节,S为大于2的正整数;所述数据分区模块在所述完备区块上按照一个数据量度的容量划分的单元命名为区块单元,每个区块单元都默认有一个区块地址,所述区块地址用于表示区块单元在所述完备链条上的位置,由区块地址的高位与区块地址的低位拼接而成;所述区块地址的高位为区块单元所在区块的高度,区块的高度的位数被管理节点限定,即所述完备链条的区块的数量被限定,达到管理节点限定的区块高度后不再增加,所述区块地址的低位为数据量度在所在完备区块上的偏移地址;完备区块的大小为M,M的单位由管理节点选择为KB、MB、GB、TB中的一个;当数据经过数据持有方授权后,按容量被所述数据标签制作模块打包成一个个数据量度,按照同一个数据持有方拥有的数据打包成数据量度,打包的数据量度不够一个数据量度的剩余的部分放置数据持有方的签名信息,如果打包的数据量度不够一个数据量度的剩余的部分不够单独放入数据持有方的签名信息,增加一个数据量度来存放数据持有方的签名信息;再放置进所述完备链条中,同时被分配区块地址,所述区块地址作为固定地址标签发放给一个区块单元;所述划分链条群包含一条以上的链条,所述划分链条群中所有链条的首个区块为同一个,首个区块中不再放入数据,只记录链条的编号以及对应的类型的数据的关键词,每一条链条从1开始编号,放置一种类型的数据,所述划分链条群中的区块被命名为划分区块,数据被放置进划分区块前,先被打包为2N分之一的完备区块的容量的大小,作为一个区块边,N为正整数,并且N的值大于S的值,S、N的值由管理节点确定值,以区块边为单位放置入划分链条群中的划分区块中;所述区块边由维护节点进行负责打包,打包时按照数据量度创建的顺序进行打包,维护节点依次将区块边放入划分区块,划分区块中不够放入一个区块边的部分放入构建区块内区块边的链接信息;所述统计辅助模块每隔一段T时间对每个区块边内的数据量度的提取情况进行统计,其中,T为提取数据的周期,提取数据的周期用于每隔T时间需要对划分链条群进行更新,R为提取数据的周期最后整理数据的时间,R小于四分之一的T的值,在提取数据的周期最后时间R内不允许进行提取数据,T、R的时间单位以及值由管理节点确定;所述统计辅助模块在所述划分链条群中的每个数据量度都设置一个改变位,所述改变位设置两个状态,封存状态以及激活状态,用于限制能够修改改变位的值的动作,即改变位在封存状态下不能再改变改变位的值,改变位在激活状态下能够改变改变位的值;所述改变位用于统计每个提取数据的周期的前T-R时间内数据量度的提取的次数,但设置改变位的上限,所述改变位的上限为P,为改变位的最大值,为大于1的正整数,改变位的值超过改变位的上限改变位不再增加,由管理节点每个提取数据的周期来之前提前确定P的值;在每个提取数据的周期的前T-R时间的开始,改变位的状态变为激活状态且被设置为0,当每次数据量度被提取一次,改变位增加一,当改变位的值超过P,改变位变为封存状态,改变位的值变为1,当每个提取数据的周期的前T-R时间结束,当改变位的值不超过P且为激活状态,改变位变为封存状态,改变位的值变为0;当改变位的状态为封存状态且改变位为1,改变位不再改变数值,在每个提取数据的周期的前T-R时间内所述统计辅助模块不再统计改变位对应的数据量度的提取次数;在每个提取数据的周期的最后R时间内所有改变位为1同时改变位的状态为封存状态对应的数据量度都配置一个哈希指针,哈希指针指向数据量度在同一个区块边内邻近的区边偏移地址数值高的数据量度,并且哈希指针指向的数据量度的改变位为1同时改变位为封存状态,哈希指针指向后进行合并,再接着放入划分链条群数据量度原有所在链条中,将除了改变位为1同时改变位为封存状态的数据量度淘汰出所述划分链条群,合并后如果划分链条群的区块除去所述链接信息还有空余,优先由所述维护节点进行临时调取,允许所述维护节点从所述完备链条中调取数据量度补充进所述划分链条群,再每个提取数据的周期的最后R时间内最终提取完毕,再按照区块边的容量对所述划分链条群中的数据量度进行划分成区块边;所述缓冲构建模块为每个数据量度构建一个私有地址,私有地址用于表示数据量度在划分链条群中的位置,可以选择单个数据量度直接使用私有地址作为每个数据量度的钥匙地址,所述钥匙地址用于给予用户节点,用户节点提供钥匙地址来提取需要的数据;在第二个或以上提取数据的周期内,所述缓冲构建模块可以为一个以上的数据量度构建一个公用的钥匙地址,构建可以在当前提取数据的周期内构建,有两种构建模式,所述构建模式用于说明公用的钥匙地址的构建过程:第一种构建模式,在下一个提取数据的周期中将要合并进同一个区块边内的数据量度选择公用一个钥匙地址,首先,所述缓冲构建模块查看所有改变位为1、为封存状态作为下一轮提取数据的周期会合并的数据量度进行选择,公用的钥匙地址抽取所述缓冲构建模块选择的所有、并且在同一个区块边内的数据量度的私有地址,提取所有抽取的私有地址,提取抽取的私有地址中间相同的数值的位,剩余的数值的位的位置用替换变量代替,所述替换变量为26个小写字母,用于代替除去抽取的私有地址中间相同的数值以外的位,并且管理节点限制每个公用的私有地址中间替换变量的个数;并且维护节点可以设置选择公用的钥匙地址的数据量度的宽度,规定宽度小于等于2K,K为值大于等于0的正整数,由管理节点确定K的值,2K乘以一个数据量度的容量小于等于区块边的容量;所述公用的钥匙地址的数据量度的宽度为使用同一个公用的钥匙地址的数据量度的私有地址的最大差值不能超过的数值;第二种构建模式,在当前提取数据的周期最后的R时间内合并数据量度后,所述缓冲构建模块在将要补充进同一个区块边内的数据量度中选取,选取的数据量度构建同一个公有的钥匙地址,规定第二个模式的公用钥匙地址的宽度小于等于2K2,K的值大于等于0;所有在区块边中除去改变位为1、为封存状态的改变位的数据量度以外剩余的数据量度命名为淘汰量度;所述统计辅助模块负责构建私有地址,构建的过程中对私有地址进行拆分,私有地址包含三个部分,从高位到低位依次为数据量度所在划分链条群的链条的编号、区块边的编号、区边偏移地址;区块边的编号为当前提取数据的周期内数据量度所在划分链条群的链条开始存放的位置开始计算、区块边的顺序编号,区边偏移地址为数据量度在所在区块边内的偏移地址,即数据量度在所在区块边的开始到数据量度在所在区块边的位置的绝对值之差;第一种构建模式,如果数据量度在上一个提取数据的周期就在划分链条群中,私有地址从高位到低位分别为所在划分链条群的链条的编号、区块边的编号-C,C为数据量度与上一个提取数据的周期内数据量度的位置相比合并时向前移动的区块边的数量,然后再对私有地址按照第一种构建模式进行处理成公用的钥匙地址;第二种构建模式,补充进区块边的数据量度的私有地址为高位为分别为所在划分链条群的链条的编号、区块边的编号;低位为区边偏移地址;区边偏移地址的计算为,在第一个提取数据的周期内,区边偏移地址等于为数据量度在所在区块的顺序编号乘以数据量度的大小得到的积除以区块边的容量的大小得到的余数的数值;在除了第一个提取数据的周期,区边偏移地址等于前一个提取数据的周期数据量度的区块偏移地址减去所有从数据量度所在划分链条群的链条的开始到数据量度的位置之间的淘汰量度所占的容量得到的差除以区块边的容量的大小得到的余数的数值;所述链接信息里放置一个划分区块内所述私有地址与所述固定地址标签之间的关系信息;所述缓冲构建模块将所述链接信息拆分为两级,第一级为链接目录,链接目录的行数等于所述划分链条群中链条的个数,在链接目录的每一行放置一个指针指向一个二级表格的地址,所述二级表格为区域范围缩小表格,区域范围缩小表格为放置所述链接信息的具体信息的表格,划分一个个区块格,每个区块格对应于一个区块边,区块格用于放置一个区块边的固定地址标签与所有数据量度的私有地址之间的映射信息,在表格里为错序存放,一个区块格写入对应的区块边的编号,区块格中放置区块边的一个指针数组包含的元素,区块边的一个指针数组用于指示区块边中数据量度的固定地址标签,区块格中放置的指针数组的元素的下标等于数据量度的区块偏移地址,指针数组的元素设置为多重指针变量,所述多重指针变量用于指示所述私有地址与区块边中数据量度的固定地址标签之间的关系,所述多重指针变量的值包含两层赋值,第一层赋值为所述多重指针变量能够被赋予一个二进制的整数值,位数不超过完备区块的容量的大小,完备区块的容量被表示以字节为单位,第二层赋值为所述多重指针变量指向一个私有地址的范围或者完备链条中一个区块高度的值,当指向一个区块高度的值,所述多重指针变量的第二层赋值指向的范围为区块高度对应的区块的开始到区块的结束;默认为指针数组的元素的第一层赋值为数据量度的区块地址的低位,指针数组的元素的第二层赋值为数据量度的区块地址所在完备区块的编号,从而指针数组的指向范围起始为一个相应区块高度的开始,结束为区块高度的结束;默认为划分区块的容量大于完备区块的容量,小于等于完备区块的容量加上一个区块边的容量的和;第一个提取数据的周期时,所述数据分区模块将完备区块平均分为M2N+S个组,其中M的单位化解为字节,每个组最多选择一个数据量度放置在划分链条群,并且同一个完备区块中选取的数据量度不放入同一个区块边内,一个组中的数据量度的改变位都不为1并且为封闭状态的数据量度不再安排进入划分链条群;在所述数据共享方法中,用户节点提供钥匙地址,如果为单个数据量度的钥匙地址,直接在数据量度所在划分区块内的链接信息内查找固定地址标签的信息;公用的钥匙地址设置为,一个区块边在一个提取数据的周期内有且只有一个公用的钥匙地址,所述公用的钥匙地址对应选取的所有数据量度的私有地址被存储,所述缓冲构建模块根据所述公用的钥匙地址对应选取的私有地址在所在划分区块内的链接信息内查找固定地址标签的信息,用户拥有钥匙地址即可通过钥匙地址或者固定标签的信息提取钥匙地址对应的数据,并且对钥匙地址对应的数据内含数据持有方的签名信息进行验证。
全文数据:
权利要求:
百度查询: 上海零数众合信息科技有限公司 一种基于区块链的数据共享方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。