1.一种基于区块链的数据共享方法,其特征在于,所述的基于区块链的数据共享方法包括按顺序进行的下列步骤:
1)搭建数据共享模型的S1阶段:在此阶段,在每个共享节点上均搭建一个数据共享模型,该数据共享模型包括数据处理模块、数据通信模块和数据共享模块,然后进入S2阶段;
2)进行数据处理的S2阶段:在此阶段,参与共享的各节点利用数据处理模块对自己管辖的数据自行采集汇总,形成一次结构化存储数据,对一次结构化存储数据进行清洗,去除一次结构化存储数据中的重复数据和无效数据,对清洗过的一次结构化存储数据进行汇总生成二次结构化存储数据,并在二次结构化数据上制订分类标记作为共享标签,共享成员针对自身数据特点给出自己的共享数据API接口,然后进入S3阶段;
3)进行数据通信的S3阶段:在此阶段,参与数据共享的各节点进行节点初始化配置,各节点通过数据通信模块签署联盟条约将各节点组织成一个区域自治联盟,并在区域自治联盟中的每个节点生成包含该节点唯一身份标识的身份标识数据区块,各节点将其身份标识数据区块按照时间顺序在区域自治联盟中进行广播,系统按时间顺序把各节点的身份标识数据区块以链式存储生成联盟的原始数据区块,并将原始数据区块存储在区域自治联盟的各个节点,然后进入S4阶段;
4)协商是否允许新节点加入的S4阶段:在此阶段,当有新的外部节点向区域自治联盟的某一节点发出加入联盟的申请时,将该加入联盟的申请在区域自治联盟中进行广播,区域自治联盟各节点协商决定是否同意该申请,若协商结果为“是”,则将该节点的参数信息进行存储并形成新的数据块添加在原始数据区块的尾部形成新的区块链,并在区域自治联盟中进行广播并在各节点进行存储,若协商结果为“否”,则将拒绝的结果在该区域自治联盟中进行广播,然后进入S5阶段;
5)判断发出数据共享请求的节点是否为区域自治联盟成员的S5阶段:在此阶段,当区域自治联盟中某一节点接收到数据共享请求时,该节点的数据共享模块对判断发出共享请求的节点是否属于区域自治联盟的成员,若判断结果为“是”,则数据共享模块对区域自治联盟的成员进行数据共享,并对访问操作加盖时间戳进行记录,定期地将加盖时间戳的访问操作记录在区域自治联盟中进行广播,同时添加到区域自治联盟区块链尾形成新的区块链,并在区域自治联盟的各节点进行存储;若匹配不成功,则说明发出共享请求的节点不属于区域自治联盟的成员,然后进入S6阶段;
6)判断是否允许非区域自治联盟节点数据共享的S6阶段:在此阶段,区域自治联盟的各节点对是否允许本次共享请求作出判定,若区域自治联盟中允许本次共享请求的节点个数小于节点总个数的一半,则驳回数据共享请求,否则,允许本次数据共享操作,并对本次数据共享操作加盖时间戳进行记录,生成数据操作块,将该数据操作块在全网进行广播,区域自治联盟的所有节点对该数据操作块的正确性和有效性进行判定,若区域自治联盟的所有节点对该数据操作块的正确性和有效性达成共识,则将数据操作块加入区域自治联盟中存储的数据区块链尾部形成新的区块链并再次在区域自治联盟中进行广播并在区域自治联盟的各节点进行存储。
2.根据权利要求1所述的基于区块链的数据共享方法,其特征在于,所述的步骤5)中对区域自治联盟的成员进行数据共享时仅提供数据使用权接口。