一种数据共享方法及系统与流程

文档序号:16333272发布日期:2018-12-19 06:20阅读:223来源:国知局
一种数据共享方法及系统与流程

本发明属于大数据流通与交易技术领域,尤其涉及一种数据共享方法及系统。

背景技术

随着大数据时代的到来,大数据在人类生活中扮演着越来越重要的角色。于此同时,数据流通也日益重要,其中,清晰的数据产权归属是数据流通的前提与基础。随着数据流与价值流的深度融合,明晰数据所有权、保障数据流通过程中的一致性等是有效利用数据的重要前提。

现有的数据流通方式,主要是利用数据交易平台来推动数据的流通,但是目前不同数据交易平台间的数据并未打通,数据所有权、数据流通过程中的一致性等问题难以依靠数据交易平台进行保障。也就是说,现有技术的数据流通方式至少存在以下技术问题:

1)缺少对数据所有权的保护;

2)对于传输过程中数据的一致性没有保障,难以防备数据在流通过程中因被篡改等而造成的损失。



技术实现要素:

有鉴于此,本发明的目的在于提供一种数据共享方法及系统,旨在至少解决现有的数据流通方式存在的以上技术问题,实现对数据流通过程中数据所有权的保护,并保障数据流通过程中数据的一致性。

为此,本发明公开如下技术方案:

一种数据共享方法,包括:

数据发布者在本地为待发布的每个数据维护一棵可信树;每个数据包括多于一个的数据块,数据的可信树包括基于数据的各个数据块所确定出的分层验证信息,其中,可信树中的每个非叶子节点所对应的验证信息为对该节点的子节点信息进行预定计算后所得的结果,可信树的各叶子节点与各数据块一一对应,且各叶子节点处的验证信息为对数据的各数据块分别进行预定计算后所得的结果;

数据发布者生成并向数据共享平台上传至少一个数据的标签信息;数据的标签信息至少包括数据的简介信息、地址信息及基准验证信息,所述基准验证信息为数据可信树中的根节点所对应的根验证信息;

数据共享平台存储数据发布者上传的至少一个数据的标签信息,以完成所述至少一个数据在数据共享平台的注册;

数据使用者通过查询数据共享平台中的标签信息确定需使用的目标数据,并基于目标数据的标签信息中的地址信息,向目标数据所属的数据发布者发送数据获取请求;所述目标数据为一完整数据或完整数据中的数据块;

数据发布者向数据使用者发送与所述数据获取请求相匹配的目标数据,以及与所述目标数据相匹配的根验证信息计算路径上的验证信息;

数据使用者基于所接收的目标数据以及与目标数目相匹配的根验证信息计算路径上的验证信息,计算所接收的目标数据所对应的可信树上根节点的根验证信息;

比对所计算出的所述根验证信息与数据共享平台中所登记的目标数据的基准验证信息是否一致;若一致,则数据使用者获得的目标数据无误,若不一致,则数据使用者获得的目标数据有误,请求重新传输数据。

上述方法,优选的,所述数据发布者在本地为待发布的每个数据维护一棵可信树,包括:

数据发布者在本地为待发布的每个数据维护一棵merkle树;

其中,merkle树中的每个节点对应一哈希值,每个非叶子节点所对应的哈希值为对该节点的子节点信息进行预定哈希计算后所得的结果,merkle树的各叶子节点与各数据块一一对应,且各叶子节点处的哈希值为对数据的各数据块分别进行预定哈希计算后所得的哈希结果。

上述方法,优选的,所述数据发布者生成并向数据共享平台上传至少一个数据的标签信息,包括:

数据发布者生成并向数据共享平台上传至少一个数据中每个数据所对应的统一内容标签ucl;

其中,数据的ucl包括:数据的名称、简介信息、用于作为基准验证信息的根哈希值、时间戳和地址信息;所述时间戳用于表示将数据发布至数据共享平台的发布时间。

上述方法,优选的,所述数据共享平台包括多个数据节点,各数据节点由相对应的运营商维护;

所述数据共享平台存储数据发布者上传的至少一个数据的标签信息,包括:

当数据发布者向某一数据节点上传数据的ucl时,数据共享平台采用区块链技术,将数据发布者上传的ucl同步至数据共享平台所包括的其他各个数据节点中,使得在数据共享平台的全网数据节点中存储ucl。

上述方法,优选的,还包括:

基于预定的区块链积分规则,实现数据流通过程中的价值交换和对系统维护者的奖励;

所述基于预定的区块链积分规则,实现数据流通过程中的价值交换和对系统维护者的奖励,包括:

数据发布者在向数据节点上传ucl时支付积分给相对应运营商;

运营商获得新上传的ucl所对应的新增区块的挖矿奖励;

数据使用者从运营商购买积分;

数据使用者利用积分从数据发布者处购买所需的目标数据。

一种数据共享系统,包括:数据发布者、数据共享平台及数据使用者,其中:

所述数据发布者,用于:在本地为待发布的每个数据维护一棵可信树,生成并向数据共享平台上传至少一个数据的标签信息,以及向数据使用者发送与数据使用者的数据获取请求相匹配的目标数据,及与所述目标数据相匹配的根验证信息计算路径上的验证信息;其中,每个数据包括多于一个的数据块,数据的可信树包括基于数据的各个数据块所确定出的分层验证信息,可信树中的每个非叶子节点所对应的验证信息为对该节点的子节点信息进行预定计算后所得的结果,可信树的各叶子节点与各数据块一一对应,且各叶子节点处的验证信息为对数据的各数据块分别进行预定计算后所得的结果;数据的标签信息至少包括数据的简介信息、地址信息及基准验证信息,所述基准验证信息为数据可信树中的根节点所对应的根验证信息;

所述数据共享平台,用于:存储数据发布者上传的至少一个数据的标签信息,以完成所述至少一个数据在数据共享平台的注册,并向数据使用者提供数据标签的查询服务;

所述数据使用者,用于:通过查询数据共享平台中的标签信息确定需使用的目标数据,并基于目标数据的标签信息中的地址信息,向目标数据所属的数据发布者发送数据获取请求;所述目标数据为一完整数据或完整数据中的数据块;并基于所接收的与所述数据获取请求相匹配的目标数据以及与目标数据相匹配的根验证信息计算路径上的验证信息,计算所接收的目标数据所对应的可信树上根节点的根验证信息;比对所计算出的所述根验证信息与数据共享平台中所登记的目标数据的基准验证信息是否一致;若一致,则数据使用者获得的目标数据无误,若不一致,则数据使用者获得的目标数据有误,请求重新传输数据。

上述系统,优选的,所述数据发布者在本地为待发布的每个数据维护一棵可信树,包括:

数据发布者在本地为待发布的每个数据维护一棵merkle树;

其中,merkle树中的每个节点对应一哈希值,每个非叶子节点所对应的哈希值为对该节点的子节点信息进行预定哈希计算后所得的结果,merkle树的各叶子节点与各数据块一一对应,且各叶子节点处的哈希值为对数据的各数据块分别进行预定哈希计算后所得的哈希结果。

上述系统,优选的,所述数据发布者生成并向数据共享平台上传至少一个数据的标签信息,包括:

数据发布者生成并向数据共享平台上传至少一个数据中每个数据所对应的ucl;

其中,数据的ucl包括:数据的名称、简介信息、用于作为基准验证信息的根哈希值、时间戳和地址信息;所述时间戳用于表示将数据发布至数据共享平台的发布时间。

上述系统,优选的,所述数据共享平台包括多个数据节点,各数据节点由相对应的运营商维护;

所述数据共享平台存储数据发布者上传的至少一个数据的标签信息,包括:

当数据发布者向某一数据节点上传数据的ucl时,数据共享平台采用区块链技术,将数据发布者上传的ucl同步至数据共享平台所包括的其他各个数据节点中,使得在数据共享平台的全网数据节点中存储ucl。

上述系统,优选的,所述数据发布者、所述数据共享平台及所述数据使用者,还用于基于预定的区块链积分规则,实现数据流通过程中的价值交换和对系统维护者的奖励;

其中,所述数据发布者、所述数据共享平台及所述数据使用者,基于预定的区块链积分规则,实现数据流通过程中的价值交换和对系统维护者的奖励,具体包括:

数据发布者在向数据节点上传ucl时支付积分给相对应运营商;

运营商获得新上传的ucl所对应的新增区块的挖矿奖励;

数据使用者从运营商购买积分;

数据使用者利用积分从数据发布者处购买所需的目标数据。

由以上方案可知,本申请提供的数据共享方法及系统,利用数据共享平台实现了对数据发布者的数据进行统一的注册登记,并基于该统一的注册登记机制实现了数据流通过程中对数据所有权的保护;且本申请的方法及系统,通过将数据可信树中的根节点所对应的根验证信息作为基准验证信息注册登记至数据共享平台,使得数据使用者可从数据共享平台获得数据的基准验证信息,再通过点对点通信从数据提供者处获取所需的目标数据以及与目标数据相匹配的根验证信息计算路径上的各验证信息,并通过计算根验证信息判断其与获得的基准验证信息是否一致,来验证所获得的数据与原数据的一致性,并在不一致时请求重传数据,从而本申请保障了流通过程中数据的一致性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请实施例一提供的分布式数据共享系统的架构示意图;

图2是本申请实施例一提供的数据共享方法的流程图;

图3是本申请实施例一提供的数据所对应的merkle树的树形结构示意图;

图4是本申请实施例一提供的包括多个数据块的数据的结构示意图;

图5是本申请实施例一提供的数据分层保护机制的逻辑示意图;

图6是本申请实施例二提供的数据共享方法的流程图;

图7是本申请实施例三提供的数据共享系统的结构示意图。

具体实施方式

为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:

merkle树,即merkle可信树,是为了解决多重一次签名中的认证问题而产生的,merkle可信树结构具有一次签名大量认证的优点,在认证方面具有显著的优势。如今,merkle可信树的树形结构已经被广泛应用到了信息安全的各个领域,比如证书撤销、源组播认证、群密钥协商等等。并且基于merkle可信树的数字签名方案在安全性上仅仅依赖于哈希函数的安全性,且不需要太多的理论假设,这使得基于merkle可信树的数字签名更加安全、实用。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有的数据流通方式存在的以上技术问题,至少实现对数据流通过程中数据所有权的保护,并保障数据流通过程中数据的一致性,本申请提供了一种数据共享方法及系统,以下将通过多个实施例对本申请的方法及系统进行说明。

具体地,现有技术的数据流通方式对于传输过程中数据的一致性没有保障,难以防备数据在流通过程中因被篡改等而造成的损失,更加难以实现对数据进行分层保护,为了保障数据在传输过程中的一致性,且考虑到实际应用中数据使用者有时可能需要使用整个数据(所述数据可以是各类型数据文件),有时也可能仅需要使用整个数据中的部分数据,本申请在解决数据传输过程中的一致性问题时,进一步提出了对数据进行分层保护的技术构思,该技术构思不仅能够验证整个数据在传输过程中的一致性,还能够在仅需要传输部分数据时,验证部分数据在传输过程中的一致性,实现了对数据的分层保护。以下将通过具体实施例对本申请的方法及系统进行详述。

首先,对本申请方法所基于的应用架构进行说明,参考图1,该应用架构包括数据发布者、数据共享平台(即图1中由各运营商维护的区块链网络)及数据使用者。

参考图2,是本申请实施例一基于上述应用架构所提供的一种数据共享方法的流程图,本实施例中,所述数据共享方法包括如下步骤:

步骤201、数据发布者在本地为待发布的每个数据维护一棵可信树。

每个数据包括多于一个的数据块,数据的可信树包括基于数据的各个数据块所确定出的分层验证信息,其中,可信树中的每个非叶子节点所对应的验证信息为对该节点的子节点信息进行预定计算后所得的结果,可信树的各叶子节点与各数据块一一对应,且各叶子节点处的验证信息为对数据的各数据块分别进行预定计算后所得的结果。

为解决对数据的分层保护问题,本申请将数据划分为了多个数据块,并同时为每个数据维护一棵可信树,如前文所述,数据的可信树包括基于数据的各个数据块所确定出的分层验证信息,用于为数据传输过程中数据块的一致性验证提供计算基础。

具体实施中,可根据实际需求对数据进行数据块的划分,例如将数据按业务逻辑划分为多个数据块,或者按预定的数据块大小将数据划分为多个数据块等,本实施例对此不作限定。

所述可信树可以是merkle可信树,本文将其简称为merkle树,如图3所示,merkle树中的每个节点对应一哈希值,每个非叶子节点所对应的哈希值为对该节点的子节点信息进行预定哈希计算后所得的结果,merkle树的各叶子节点与各数据块一一对应,且各叶子节点处的哈希值为对数据的各数据块分别进行预定哈希计算后所得的哈希结果。也就是说,本实施例具体将merkle树中的各哈希值作为数据块的分层验证信息,后续用于参与数据传输过程中的一致性验证处理以验证数据在传输过程中的一致性,该部分内容将在下文进行介绍。

步骤202、数据发布者生成并向数据共享平台上传至少一个数据的标签信息;数据的标签信息至少包括数据的简介信息、地址信息及基准验证信息,所述基准验证信息为数据可信树中的根节点所对应的根验证信息。

数据发布者向数据共享平台上传数据的标签信息,目的在于将数据共享平台作为一个统一的注册登记平台,实现数据在该平台的注册登记。

现有技术中,面对不同形式的数据类型(如json、可扩展标记语言xml等组织类型),用户处理过程中面临难度大,效率低等问题;为克服该问题,本申请利用统一内容标签(ucl,unifiedcontentlabel)作为数据的载体,来提高数据的处理效率,以较低的成本实现更好的服务。

鉴于此,数据发布者向数据共享平台上传至少一个数据的标签信息,具体可以是数据发布者向数据共享平台上传至少一个数据中每个数据所对应的ucl,其中,数据的ucl包括:数据的名称、简介信息、作为基准验证信息的根哈希值、时间戳和地址信息;所述时间戳用于表示将数据发布至数据共享平台的发布时间。

步骤203、数据共享平台存储数据发布者上传的至少一个数据的标签信息,以完成所述至少一个数据在数据共享平台的注册。

数据共享平台在接收到数据发布者所上传的ucl后,可存储所接收的ucl,通过存储数据发布者所上传的ucl,实现对数据发布者的数据在数据共享平台进行注册登记。

本实施例中,参考图1示出的分布式数据共享系统的架构示意图,所述数据共享平台包括多个数据节点,各数据节点由相对应的运营商维护;其中,当数据发布者向某一数据节点上传数据的ucl时,数据共享平台采用区块链技术,将数据发布者上传的ucl同步至数据共享平台所包括的其他各个数据节点中,使得在数据共享平台的全网数据节点中存储ucl。各运营商维护的多个数据节点基于区块链技术形式了一区块链网络,也即,该区块链网络的运行由各个运营商维护。

该区块链网络即作为本申请的数据共享平台,用于为数据发布者提供数据发布服务支持数据发布者的数据的ucl在该平台的注册登记,同时为数据使用者提供ucl的查询功能,以支持数据使用者通过查询数据的ucl并阅读其中的数据名称、数据简介等信息确定其所需使用的目标数据,进而基于ucl中的地址信息定位所需的目标数据的位置,进行数据获取。

本实施例利用区块链技术保障了各个数据节点信息的同步,保障了注册的公平性。

步骤204、数据使用者通过查询数据共享平台中的标签信息确定需使用的目标数据,并基于目标数据的标签信息中的地址信息,向目标数据所属的数据发布者发送数据获取请求;所述目标数据为一完整数据或完整数据中的数据块。

所述数据使用者具体可以是数据用户。

在数据发布者通过将数据的ucl注册登记至所述数据共享平台从而完成数据的发布后,数据共享平台通过其所对应的区块链网络分布式存储了大量数据的ucl,且数据共享平台利用区块链技术保障了各个数据节点信息的同步,从而,当数据使用者具备使用数据的需求时,可基于数据共享平台提供的ucl查询服务从就近的数据节点处/就近的运营商处进行ucl查询,并基于ucl中包括的数据名称、数据简介等信息确定其所需使用的目标数据。

需要说明的是,数据使用者所需使用的目标数据可能是一完整数据,也可能是一完整数据中所包括的某一个或多个数据块,以图4示出的数据为例,该数据d共包括4个数据块d1、d2、d3、d4,则实际应用中,数据使用者所需使用的数据可能是d的整体数据即d1+d2+d3+d4,也可能是其中的部分数据,如d2+d3等。

当数据使用者基于查询ucl确定出其所需使用的目标数据后,可进一步基于该目标数据的ucl中提供的地址信息向目标数据所属的数据发布者发送数据获取请求,以请求目标数据所属的数据发布者传输数据。

步骤205、数据发布者向数据使用者发送与所述数据获取请求相匹配的目标数据,以及与所述目标数据相匹配的根验证信息计算路径上的验证信息。

当数据发布者接收到数据使用者的数据获取请求后,响应于该请求,向数据使用者传输与该请求相匹配的目标数据(可能是一完整数据,也可能是完整数据中的一个或多个数据块),同时为了能够对传输过程中该目标数据的一致性进行验证,还传输该目标数据在其merkle树上所对应的根哈希计算路径上的各哈希值至数据使用者。

示例性地,参考图5示出的数据分层保护机制的逻辑示意图,在该图中,数据d包括四个数据块d1-d4,其对应的merkle树及树中各节点的hash值具体请参见该图中左半部分的树形结构,在该图中,以d开头的各标记用于标示相应数据(或数据块),以x开头的各标记用于标示节点所对应的哈希值,而h则标示所采用的哈希函数。其中,xtop为数据d的merkle树中的根节点所对应的根哈希值,数据发布者会在需要发布该数据d时,将该根哈希值xtop包含在数据d的ucl中并将该ucl注册登记至数据共享平台。

当数据使用者请求获取该数据d或该数据d中的部分数据块时,例如,假设数据使用者具体请求获取该数据d中的数据块d2及d3,则如图5所示,数据发布者会将数据块d2及d3的数据内容传输给数据使用者,并同时向数据使用者传输d2在该merkle树上所对应的根哈希计算路径上的各哈希值,以及d3在该merkle树上所对应的根哈希计算路径上的各哈希值,具体地,参考图5,针对d2,会在传输d2数据内容的同时将其对应的计算根哈希路径上的一级哈希x1以及二级哈希x34传输给数据使用者,针对d3,会在传输d3数据内容的同时将其对应的计算根哈希路径上的一级哈希x4以及二级哈希x12传输给数据使用者,以使得为后续d2及d3的一致性验证提供计算基础。

步骤206、数据使用者基于所接收的目标数据以及与目标数据相匹配的根验证信息计算路径上的验证信息,计算所接收的目标数据所对应的可信树上根节点的根验证信息。

步骤207、比对所计算出的所述根验证信息与数据共享平台中所登记的目标数据的基准验证信息是否一致;若一致,则进入步骤208;否则,若不一致,则进入步骤209。

数据使用者在接收到数据发布者传输的目标数据以及目标数据在其merkle树上所对应的根哈希计算路径上的各哈希值后,为了验证所接收的目标数据在传输过程中是否一致(如是否发生篡改等),需根据所接收的目标数据并结合目标数据在其merkle树上所对应的根哈希计算路径上的各哈希值,计算当前所接收的目标数据所对应的merkle树根节点哈希值,并进而将计算所得的根哈希值与数据共享平台中注册的作为基准验证信息的根哈希值进行比对,以此验证目标数据在其传输过程中是否一致。

其中,仍以上文中数据使用者需获取数据块d2、d3为例,可分别针对数据使用者所接收的d2’、d3’,计算其对应的根哈希值,具体以d2’为例,可首先对接收的d2’进行哈希运算h(d2’)得到其对应的哈希值x2’,进而对x2’与传输过来的x1进行哈希运算h(x1丨x2’),得到x12’,并继续对x12’与传输过来的x34进行哈希运算h(x12’丨x34),得到xtop’,最终将该计算出的xtop’与注册登记的xtop进行比对,以此验证所接收的d2’与原数据d2是否一致,对数据块d3的一致性验证过程与d2类似,这里,不再详述。

需要说明的是,若数据使用者需要使用的是数据d的整个数据,则向数据使用者传输d1-d4的四个数据块即可,不必再传输其merkle树上的任何哈希值,后续数据使用者通过对所接收的d1’-d4’的四个数据块进行与其merkle树的哈希路径相对应的哈希运算,即可计算出其所对应的根哈希值,最终通过将计算出的根哈希值与注册的根哈希值进行比对,即可对该数据d在传输过程中的一致性进行验证。

还需要说明的是,具体实施中,数据使用者与数据发布者之间可采用智能合约进行数据交易,该智能合约中可以携带进行一致性验证时所需的哈希运算规则以及其他的一些必要信息,且为了简化用户操作,无论是数据发布方还是数据使用方其在进行数据交易时所需的一些复杂处理过程,如数据发布者根据数据所对应的merkle树确定需同时传输哪些哈希值给数据使用者,数据使用者在获得数据时,通过哈希运算、比对进行数据的一致性验证等,均可由各自所对应的设备自动完成,而不需由实际用户执行。

步骤208、数据使用者获得的目标数据无误,结束本次的数据获取事件。

其中,若所计算出的根哈希值与向数据共享平台注册时登记的根哈希值一致,则表示数据使用者所接收的目标数据在传输过程中具有一致性,未发生被篡改等事件,进而表明数据使用者获得的目标数据无误,从而可结束此次的数据获取事件。

步骤209、数据使用者获得的目标数据有误,请求重新传输数据。

相反,若所计算出的根哈希值与向数据共享平台注册时登记的根哈希值不一致,则表示数据使用者所接收的目标数据在传输过程中不具有一致性,数据使用者获得的目标数据有误,针对此种情况,数据使用者可请求数据发布者重发数据,直至获得无误的目标数据为止。

由以上方案可知,本申请提供的数据共享方法,利用数据共享平台实现了对数据发布者的数据进行统一的注册登记,并基于该统一的注册登记机制实现了数据流通过程中对数据所有权的保护;且本申请的方法,通过将数据可信树中的根节点所对应的根验证信息作为基准验证信息注册登记至数据共享平台,使得数据使用者可从数据共享平台获得数据的基准验证信息,再通过点对点通信从数据提供者处获取所需的目标数据以及与目标数据相匹配的根验证信息计算路径上的各验证信息,并通过计算根验证信息判断其与获得的基准验证信息是否一致,来验证所获得的数据与原数据的一致性,并在不一致时请求重传数据,从而本申请保障了流通过程中数据的一致性。

现有技术的方案,在数据流通过程中缺乏自发的奖励机制,为解决该问题,本申请在接下来的另一实施例中通过区块链的积分实现了数据流通过程中的价值交换和对于系统维护者的奖励。

具体地,参考图6,是本申请实施例二提供的数据共享方法的流程图,在本实施例二中,所述方法还可以包括以下步骤:

步骤210、基于预定的区块链积分规则,实现数据流通过程中的价值交换和对系统维护者的奖励。

具体地,结合参考图1,本实施例可通过以下的处理过程实现数据的价值流通:

1)数据发布者在向数据节点上传ucl时支付积分给相对应运营商,以此避免无意义数据发布在网络中;

2)运营商获得新上传的ucl所对应的新增区块的挖矿奖励;

3)数据使用者从运营商购买积分;

4)数据使用者利用积分从数据发布者处购买所需的目标数据。

本实施例通过区块链的积分实现了数据流通过程中的价值交换和对于系统维护者的奖励,实现了数据流与价值流的深度融合,自发支持了数据的价值流通。

参考图7,是本申请实施例三提供的一种数据共享系统的结构示意图,如图7所示,所述数据共享系统包括:数据发布者701、数据共享平台702及数据使用者703,其中:

所述数据发布者701,用于:在本地为待发布的每个数据维护一棵可信树,并向数据共享平台702上传至少一个数据的标签信息,以及向数据使用者703发送与数据使用者703的数据获取请求相匹配的目标数据,及与所述目标数据相匹配的根验证信息计算路径上的验证信息;其中,每个数据包括多于一个的数据块,数据的可信树包括基于数据的各个数据块所确定出的分层验证信息,可信树中的每个非叶子节点所对应的验证信息为对该节点的子节点信息进行预定计算后所得的结果,可信树的各叶子节点与各数据块一一对应,且各叶子节点处的验证信息为对数据的各数据块分别进行预定计算后所得的结果;数据的标签信息至少包括数据的简介信息、地址信息及基准验证信息,所述基准验证信息为数据可信树中的根节点所对应的根验证信息;

所述数据共享平台702,用于:存储数据发布者701上传的至少一个数据的标签信息,以完成所述至少一个数据在数据共享平台702的注册,并向数据使用者703提供数据标签查询服务;

所述数据使用者803,用于:通过查询数据共享平台702中的标签信息确定需使用的目标数据,并基于目标数据的标签信息中的地址信息,向目标数据所属的数据发布者701发送数据获取请求;所述目标数据为一完整数据或完整数据中的数据块;并基于所接收的与所述数据获取请求相匹配的目标数据以及与目标数据相匹配的根验证信息计算路径上的验证信息,计算所接收的目标数据所对应的可信树上根节点的根验证信息;比对所计算出的所述根验证信息与数据共享平台702中所登记的目标数据的基准验证信息是否一致;若一致,则数据使用者703获得的目标数据无误,若不一致,则数据使用者703获得的目标数据有误,请求重新传输数据。

在本申请实施例的一实施方式中,所述数据发布者701在本地为待发布的每个数据维护一棵可信树,包括:

数据发布者701在本地为待发布的每个数据维护一棵merkle树;

其中,merkle树中的每个节点对应一哈希值,每个非叶子节点所对应的哈希值为对该节点的子节点信息进行预定哈希计算后所得的结果,merkle树的各叶子节点与各数据块一一对应,且各叶子节点处的哈希值为对数据的各数据块分别进行预定哈希计算后所得的哈希结果。

在本申请实施例的一实施方式中,所述数据发布者701向数据共享平台702上传至少一个数据的标签信息,包括:

数据发布者701生成并向数据共享平台702上传至少一个数据中每个数据所对应的ucl;

其中,数据的ucl包括:数据的名称、简介信息、用于作为基准验证信息的根哈希值、时间戳和地址信息;所述时间戳用于表示将数据发布至数据共享平台的发布时间。

在本申请实施例的一实施方式中,所述数据共享平台802包括多个数据节点,各数据节点由相对应的运营商维护;

所述数据共享平台702存储数据发布者701上传的至少一个数据的标签信息,包括:

当数据发布者701向某一数据节点上传数据的ucl时,数据共享平台702采用区块链技术,将数据发布者701上传的ucl同步至数据共享平台702所包括的其他各个数据节点中,使得在数据共享平台702的全网数据节点中存储ucl。

在本申请实施例的一实施方式中,所述数据发布者701、所述数据共享平台702及所述数据使用者703,还用于基于预定的区块链积分规则,实现数据流通过程中的价值交换和对系统维护者的奖励;

其中,所述数据发布者701、所述数据共享平台702及所述数据使用者703,基于预定的区块链积分规则,实现数据流通过程中的价值交换和对系统维护者的奖励,具体包括:

数据发布者701在向数据节点上传ucl时支付积分给相对应运营商;

运营商获得新上传的ucl所对应的新增区块的挖矿奖励;

数据使用者701从运营商购买积分;

数据使用者703利用积分从数据发布者处购买所需的目标数据。

对于本发明实施例三公开的数据共享系统而言,由于其与实施例一至实施例二公开的数据共享方法相对应,所以描述的比较简单,相关相似之处请参见实施例一至实施例二中数据共享方法部分的说明即可,此处不再详述。

综上所述,本申请的数据共享方法及系统相比于现有技术的数据流通方式,具有以下技术效果:

1)可以保障数据流通过程中数据的所有权;

2)可保障数据流通过程中数据的一致性,且实现了对数据的分层保护;

3)系统内存在自发的激励机制;

4)利用统一内容标签ucl提升了针对不同类型的数据的处理效率,以更低的处理代价提供了更好的处理结果。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1