首页 / 专利库 / 资料储存系统 / 数据集市 / 基于区块链的数字数据交换

基于链的数字数据交换

阅读:412发布:2020-05-12

专利汇可以提供基于链的数字数据交换专利检索,专利查询,专利分析的服务。并且本文公开了包括示例数据发布者端点设备和示例数据订阅者端点系统的示例基于 区 块 链 的数字数据交换。本文所公开的示例数据发布者端点设备包括 数据集市 发布者客户端,用于:将消息发送到数据交换,以发布要从与数据发布者端点设备相关联的数据存储 访问 的数据的可用性;以及响应于来自数据订阅者端点系统的 请求 ,发起事务以向数据订阅者端点系统提供对数据的访问。所公开的示例数据发布者端点设备还包括区块链客户端,用于:当由数据集市发布者客户端验证事务时,将事务的记录发布到区块链网络,该记录将被包括在由区块链网络实现的区块链中。,下面是基于链的数字数据交换专利的具体信息内容。

1.一种数据发布者端点设备,包括:
数据集市发布者客户端,用于:
将消息发送到数据交换,以发布要从与所述数据发布者端点设备相关联的数据存储访问的数据的可用性;以及
响应于来自数据订阅者端点系统的请求,发起事务以向所述数据订阅者端点系统提供对所述数据的访问;以及
链客户端,用于当所述事务被所述数据集市发布者客户端验证时,将所述事务的记录发布到区块链网络,所述记录用于被包括在由所述区块链网络实现的区块链中。
2.如权利要求1所述的数据发布者端点设备,其特征在于,所述数据集市发布者客户端进一步用于:
确定所述数据的标签;
确定用于访问所述数据的价格;以及
将所述标签和所述价格包括在所述消息中以发送到所述数据交换来发布所述数据的所述可用性。
3.如权利要求2所述的数据发布者端点设备,其特征在于,所述消息是第一消息,所述请求包括与所述数据订阅者端点系统相关联的公共加密密钥,并且所述数据集市发布者客户端用于:
利用所述公共加密密钥对所述数据进行加密以生成经加密的数据;
将第二消息发送到所述数据订阅者端点系统以发起所述事务,所述第二消息用于指定位置,在所述位置处,能够由所述数据订阅者端点系统访问所述经加密的数据;以及从所述数据订阅者端点系统接收对所述第二消息的响应,所述响应用于指示所述事务是否被所述数据订阅者端点系统接受。
4.如权利要求3所述的数据发布者端点设备,进一步包括智能合约应用,用于当对所述第二消息的响应指示所述事务已被所述数据订阅者端点系统接受时,验证所述事务,所述智能合约应用用于确认所述数据订阅者端点系统对所述价格的支付以验证所述事务。
5.如权利要求4所述的数据发布者端点设备,其特征在于,所述记录是第一记录,并且:
所述数据集市发布者客户端进一步用于确定用于访问所述数据的条件,并用于将所述条件包括在所述消息中以发送到所述数据交换来发布所述数据的所述可用性;
所述智能合约应用用于监测所述数据订阅者端点系统对所述数据的访问,以在所述事务已被验证之后实施所述条件;并且
所述区块链客户端用于当所述智能合约应用判定了已由所述数据订阅者端点系统违反了所述条件时,将第二记录发布到所述区块链网络以更新所述事务。
6.如权利要求2至5中任一项所述的数据发布者端点设备,其特征在于,所述记录包括事务标识符、所述标签、所述价格、与所述数据发布者端点设备相关联的标识符以及与所述数据订阅者端点系统相关联的标识符,并且所述区块链客户端用于将所述记录发送到所述区块链网络中包括的计算节点,以将所述记录发布到所述区块链网络。
7.如权利要求6所述的数据发布者端点设备,其特征在于,所述标签是第一标签,所述记录是第一记录,并且所述区块链客户端进一步用于:
对所述区块链监测除所述第一记录以外的、包括与所述第一标签匹配的对应标签的记录;以及
当除所述第一记录以外的记录中的至少一个记录包括与所述第一标签匹配的对应标签时,通知所述数据集市发布者客户端。
8.一种数据交换方法,包括:
通过利用数据发布者端点设备的处理器执行指令来将消息发送到数据交换,以发布要从与所述数据发布者端点设备相关联的数据存储访问的数据的可用性;
通过利用所述处理器执行指令,响应于来自数据订阅者端点系统的请求而发起事务以向所述数据订阅者端点系统提供对所述数据的访问;以及
通过利用所述处理器执行指令,当所述事务被验证时,将所述事务的记录发布至区块链网络,所述记录用于被包括在由所述区块链网络实现的区块链中。
9.如权利要求8所述的方法,其特征在于,进一步包括:
确定所述数据的标签;
确定用于访问所述数据的价格;以及
将所述标签和所述价格包括在所述消息中以发送到所述数据交换来发布所述数据的所述可用性。
10.如权利要求9所述的方法,其特征在于,所述消息是第一消息,所述请求包括与所述数据订阅者端点系统相关联的公共加密密钥,并且所述方法进一步包括:
利用所述公共加密密钥对所述数据进行加密以生成经加密的数据;
将第二消息发送到所述数据订阅者端点系统以发起所述事务,所述第二消息用于指定位置,在所述位置处,能够由所述数据订阅者端点系统访问所述经加密的数据;以及从所述数据订阅者端点系统接收对所述第二消息的响应,所述响应用于指示所述事务是否被所述数据订阅者端点系统接受。
11.如权利要求10所述的方法,进一步包括:当对所述第二消息的响应指示所述事务已被所述数据订阅者端点系统接受时,执行智能合约应用以验证所述事务,所述智能合约应用用于确认所述数据订阅者端点系统对所述价格的支付以验证所述事务。
12.如权利要求11所述的方法,其特征在于,所述记录是第一记录,并且所述方法进一步包括:
确定用于访问所述数据的条件,并将所述条件包括在所述消息中以发送到所述数据交换来发布所述数据的所述可用性;
执行所述智能合约应用以监测所述数据订阅者端点系统对所述数据的访问,以在所述事务已被验证之后实施所述条件;以及
当所述智能合约应用判定了已由所述数据订阅者端点系统违反了所述条件时,将第二记录发布到所述区块链网络以更新所述事务。
13.如权利要求9至12中任一项所述的方法,其特征在于,所述记录包括事务标识符、所述标签、所述价格、与所述数据发布者端点设备相关联的标识符以及与所述数据订阅者端点系统相关联的标识符,并且所述方法进一步包括:将所述记录发送到所述区块链网络中包括的计算节点,以将所述记录发布到所述区块链网络。
14.一种计算机可读介质,包括计算机可读指令,所述计算机可读指令当由至少一个处理器执行时,使得所述至少一个处理器用于执行权利要求8至13中任一项所述的方法。
15.一种数据订阅者端点系统,包括:
数据集市订阅者客户端,用于:
访问来自数据交换的通知,所述通知用于指示数据发布者端点设备已发布与所述数据发布者端点设备相关联的数据的可用性;以及
向所述数据发布者端点设备发送发起事务以向所述数据订阅者端点系统提供对所述数据的访问的请求;以及
区块链客户端,用于当所述事务被所述数据集市订阅者客户端验证时,将所述事务的记录发布到区块链网络,所述记录用于被包括在由所述区块链网络实现的区块链中。
16.如权利要求15所述的数据订阅者端点系统,其特征在于,所述通知是第一通知,并且所述数据集市订阅者客户端进一步用于:
将消息发送到所述数据交换以订阅数据可用性通知;以及
将所述第一通知与一个或多个标准进行比较,以判定是否请求发起所述事务以向所述数据订阅者端点系统提供对所述数据的访问。
17.如权利要求16所述的数据订阅者端点系统,其特征在于,所述数据集市订阅者客户端进一步用于:
响应于所述请求,访问从所述数据发布者端点设备接收的消息,所述消息用于指定位置,在所述位置处,能够由所述数据订阅者端点系统访问所述数据;以及从在所述消息中指定的所述位置访问所述数据。
18.如权利要求17所述的数据订阅者端点系统,进一步包括智能合约应用,用于评估从在所述消息中指定的所述位置访问的所述数据以判定是否验证所述事务,所述智能合约应用用于基于在所述第一通知中为所述数据指定的条件来评估所述数据。
19.如权利要求18所述的数据订阅者端点系统,其特征在于,所述记录是第一记录,并且:
所述智能合约应用进一步用于监测从所述位置访问的所述数据以在所述事务已被验证之后实施所述条件;并且
所述区块链客户端用于当所述智能合约应用判定了所述数据不满足所述条件时,将第二记录发布到所述区块链网络以更新所述事务。
20.一种数据交换方法,包括:
通过利用数据订阅者端点系统的处理器执行指令来访问来自数据交换的通知,所述通知用于指示数据发布者端点设备已发布与所述数据发布者端点设备相关联的数据的可用性;
通过利用所述处理器执行指令来向所述数据发布者端点设备发送发起事务以向所述数据订阅者端点系统提供对所述数据的访问的请求;以及
通过利用所述处理器执行指令,当所述事务被验证时,将所述事务的记录发布到区块链网络,所述记录用于被包括在由所述区块链网络实现的区块链中。
21.如权利要求20所述的方法,其特征在于,所述通知是第一通知,并且所述方法进一步包括:
将消息发送到所述数据交换以订阅数据可用性通知;以及
将所述第一通知与一个或多个标准进行比较,以判定是否请求发起所述事务以向所述数据订阅者端点系统提供对所述数据的访问。
22.如权利要求21所述的方法,进一步包括:
响应于所述请求,访问从所述数据发布者端点设备接收的消息,所述消息用于指定位置,在所述位置处,能够由所述数据订阅者端点系统访问所述数据;以及从在所述消息中指定的所述位置访问所述数据。
23.如权利要求22所述的方法,进一步包括:执行智能合约应用以评估从在所述消息中指定的所述位置访问的所述数据以判定是否验证所述事务,所述智能合约应用用于基于在所述第一通知中为所述数据指定的条件来评估所述数据。
24.如权利要求23所述的方法,其特征在于,所述记录是第一记录,并且所述方法进一步包括:
执行所述智能合约应用以进一步监测从所述位置访问的所述数据以在所述事务已被验证之后实施所述条件;以及
当所述智能合约应用判定了所述数据不满足所述条件时,将第二记录发布到所述区块链网络以更新所述事务。
25.一种计算机可读介质,包括计算机可读指令,所述计算机可读指令当由至少一个处理器执行时,使得所述至少一个处理器用于执行权利要求20至24中任一项所述的方法。

说明书全文

基于链的数字数据交换

技术领域

[0001] 本公开总体涉及在计算机网络中共享数据,并且更具体地涉及基于区块链的数字数据交换。

背景技术

[0002] 大数据分析的深度学习解决方案取决于大量的数据的可用性,以使能够构建机器学习模型以及从数据提取模式和/或其他信息。因此,缺乏足够的数据可能会阻止深度学习解决方案或其他机器学习技术在某些数据分析应用中的使用。此外,使数据可用于此类深度学习解决方案或其他机器学习技术的数据聚合系统可能容易受到数据隐私侵害的影响。在过去,通过此类侵害被不适当地释放的数据和/或不适当地获取和使用被侵害的数据的一个或多个实体可能是不可检测和/或不可追溯的。
附图说明
[0003] 图1是根据本公开的教导实现的示例基于区块链的数字数据交换系统的框图
[0004] 图2是被包括在图1的基于区块链的数字数据交换系统的示例数据发布者端点中的示例数据集市(datamart)发布者客户端的框图。
[0005] 图3是被包括在图1的基于区块链的数字数据交换系统的示例数据订阅者端点中的示例数据集市订阅者客户端的框图。
[0006] 图4是可用于实现图1的基于区块链的数字数据交换系统的数据发布者端点和/或数据订阅者端点的示例区块链客户端的框图。
[0007] 图5是示出图1的基于区块链的数字数据交换系统的示例操作的示例消息序列图。
[0008] 图6是表示可以被执行以实现图1的示例数据发布者端点的示例计算机可读指令的流程图
[0009] 图7是表示可以被执行以实现图1的示例数据订阅者端点的示例计算机可读指令的流程图。
[0010] 图8是被构造成用于执行图6的示例计算机可读指令以实现图1的示例数据发布者端点的示例处理器平台的框图。
[0011] 图9是被构造成用于执行图7的示例计算机可读指令以实现图1的示例数据订阅者端点的示例处理器平台的框图。
[0012] 这些图并未按比例绘制。通常,贯穿(多个)附图和所附书面说明书,相同的附图标记将用于表示相同或相似的部分、要素等。

具体实施方式

[0013] 本文公开了用于实现基于区块链的数字数据交换的示例方法、装置、系统和制品(例如,物理存储介质)。根据本公开的教导实现的示例基于区块链的数字数据交换系统使得数据发布者(例如,数据销售者、数据出租者、数据共享者等)能够通过强健的数据事务向数据订阅者(例如,数据购买者、数据承租者、数据接收者等)提供(例如,出售、租赁、共享等)数据。由此类基于区块链的数字数据交换系统实现的数据事务可以使事务条件能够由数据发布者和/或数据订阅者指定和实施。此外,能以可靠的分布式方式跟踪由此类基于区块链的数字数据交换系统实现的数据事务,使得可以回溯被不适当地访问的数据(例如,通过数据隐私侵害而获得)以标识不适当地访问了数据的一个或多个实体。
[0014] 根据本公开的教导实现的一些示例基于区块链的数字数据交换系统包括与在该系统中操作的数据提供者相关联的数据发布者端点设备以及与在该系统中操作的数据订阅者相关联的数据订阅者端点系统。本文所公开的示例数据发布者端点设备包括示例数据集市发布者客户端,用于:将消息发送到数据交换以发布要从与数据发布者端点设备相关联的数据存储访问的数据的可用性。此类示例中的数据集市发布者客户端还用于:响应于来自数据订阅者端点系统的请求,发起事务以向数据订阅者端点系统提供对数据的访问。所公开的示例发布者端点设备还包括示例区块链客户端,用于:当由数据集市发布者客户端验证事务时,将事务的记录发布到示例区块链网络。在一些示例中,记录用于被包括在由区块链网络实现的区块链中。一些所公开的示例发布者端点设备进一步包括数据产生应用,用于将数据提供给与端点设备相关联的数据存储。
[0015] 在一些所公开的示例中,数据集市发布者客户端进一步用于:确定数据的标签(例如,基于数据的散列);确定用于访问数据的价格;以及将标签和价格包括在消息中以发送到数据交换来发布数据的可用性。
[0016] 在一些此类所公开的示例中,来自数据订阅者端点系统的请求包括与数据订阅者端点系统相关联的公共加密密钥。在一些此类示例中,数据集市发布者客户端用于:利用公共加密密钥对数据进行加密以生成经加密的数据,并将第二消息发送到数据订阅者端点系统以发起事务。在一些示例中,第二消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问经加密的数据。而且,在一些所公开的示例中,数据集市发布者客户端用于从数据订阅者端点系统接收对第二消息的响应,其中该响应用于指示该事务是否被数据订阅者端点系统接受。
[0017] 一些所公开的示例数据发布者端点设备进一步包括智能合约应用,用于当对第二消息的响应指示事务已被数据订阅者端点系统接受时验证事务。例如,智能合约应用可以确认数据订阅者端点系统对价格的支付以验证事务。附加地或替代地,在一些所公开的示例中,数据集市发布者客户端进一步用于确定用于访问数据的条件,并用于将该条件包括在消息中以发送到数据交换来发布数据的可用性。在一些此类示例中,智能合约应用用于监测数据订阅者端点系统对数据的访问,以在事务已被验证之后实施该条件。在一些此类示例中,区块链客户端用于将另一记录发布到区块链网络,以便当智能合约应用判定了条件已被数据订阅者端点系统违反时更新(例如,终止)该事务。例如,条件可以在其间准许访问数据允许的持续时间、数据准许被访问的频率,等等。
[0018] 在一些所公开的示例中,将被发布到区块链网络的记录将包括事务标识符、数据的标签(例如,基于数据的散列)、用于访问数据的价格、与提供数据的特定数据发布者端点设备相关联的标识符、以及与接收数据的特定数据订阅者端点系统相关联的标识符。在一些此类所公开的示例中,区块链客户端用于将记录发送到区块链网络中包括的计算节点,以将记录发布到区块链网络。在一些此类所公开的示例中,区块链客户端还用于对区块链监测包括与所发布的记录中所包括的特定数据标签匹配的对应标签的其他记录,并且当区块链中的至少一个其他记录包括与所发布的记录中所包括的特定数据标签匹配的对应标签时(这可指示该数据是另一个潜在未经授权的事务的一部分),区块链客户端将通知数据集市发布者客户端。
[0019] 本文公开的示例数据订阅者端点系统包括用于访问来自数据交换的通知的数据集市订阅者客户端。该通知用于指示数据发布者端点设备已发布与该数据发布者端点设备相关联的数据的可用性。此类示例中的数据集市订阅者还用于向数据发布者端点设备发送发起事务以向数据订阅者端点系统提供对数据的访问的请求。所公开的示例数据订阅者端点系统还包括区块链客户端,用于当事务被数据集市订阅者客户端验证时将事务的记录发布到区块链网络。在一些示例中,记录用于被包括在由区块链网络实现的区块链中。一些所公开的示例订阅者端点系统进一步包括用于处理被访问数据的数据处理应用。
[0020] 在一些所公开的示例中,数据集市订阅者客户端用于向数据交换发送消息以订阅数据可用性通知。在一些所公开的示例中,数据集市订阅者客户端将来自数据交换的通知与一个或多个标准进行比较,以判定是否请求发起事务以向数据订阅者端点系统提供对数据的访问。
[0021] 在一些所公开的示例中,数据集市订阅者客户端用于响应于发送到数据发布者端点设备的请求来访问从数据发布者端点设备接收的消息。在一些示例中,该消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问数据。在一些此类的示例中,数据集市订阅者客户端用于从消息中所指定的位置访问数据。此外,在一些此类所公开的示例中,发送到数据发布者端点设备的请求包括与数据订阅者端点系统相关联的公共加密密钥。在一些此类示例中,数据集市订阅者客户端进一步用于对从来自数据发布者端点设备的消息中所指定的位置访问的数据进行解密,其中数据集市订阅者客户端用于基于与公共加密密钥相关联的私有加密密钥来对数据进行解密。
[0022] 一些所公开的示例数据订阅者端点系统进一步包括智能合约应用,用于评估从来自数据发布者端点设备的消息中所指定的位置访问的数据以判定是否验证事务。在一些此类示例中,智能合约应用用于基于为来自数据交换的通知中的数据指定的条件来评估数据。例如,条件可以指定数据量、由数据覆盖的持续时间等。附加地或替代地,在一些所公开的示例中,智能合约应用进一步用于监测从来自数据发布者端点设备的消息中所指定的位置访问的数据,以在验证事务之后实施该条件。在一些此类示例中,区块链客户端用于将另一记录发布到区块链网络,以便当智能合约应用判定了数据不满足条件时更新(例如,终止)该事务。
[0023] 以下更详细地公开了用于实现基于区块链的数字数据交换的这些和其他示例方法、装置、系统和制品(例如,物理存储介质)。
[0024] 如上所述,用于大数据分析的深度学习解决方案取决于大量的数据的可用性,以使能够构建机器学习模型并从数据提取模式和其他信息。为了支持在给定的数据分析应用中使用深度学习解决方案和/或其他机器学习技术,可以采用数据聚合系统来尝试获得(例如,聚合)必要的基础数据。然而,先前的数据聚合系统通常是用于获得数据的有限的资源密集型、反复试验方法。例如,此类先前数据聚合系统可以依赖于用户试验以获得必要的数据,其中用户试验涉及:联系用户群以标识愿意参与用户试验的用户组,从该用户组获得签名的授权协议书和/或其他协议,并且然后一旦满足试验条件,就(例如,在指定的时间)从该用户组中收集数据。此类方法会花费大量的计算资源来标识和联系用户群,协调从用户组获取授权协议书/协议,调度从用户组收集数据等。此外,如果没有收集到足够的数据,则将花费附加的计算资源来试图找到附加的用户来填补所收集的数据中的空缺。
[0025] 同样如上所述,使数据可用于深度学习或其他机器学习解决方案的数据聚合系统可能易受数据隐私侵害和/或对所收集数据的其他不适当访问的影响。过去的数据聚合系统提供很少(如果有的话)的机制来检测对此类侵害负责的实体。过去的数据聚合系统也提供很少的(如果有的话)机制来追溯此类实体对不适当地获得的数据的使用。
[0026] 与此类现有数据聚合系统形成对照,根据本公开的教导实现的示例基于区块链的数字数据交换系统允许用户(例如,个人、公司等)(本文中称为数据提供者)积极要求将(例如,利用其各自的数据提供者端点生成的或以其他方式与其各自的数据提供者端点相关联的)他们的数据提供(例如,出售、租赁、共享等)给接收者(例如,个人、公司等)(本文中称为数据订阅者),该接收者有兴趣获得(例如,购买、租赁、借用等)数据以用于一个或多个应用,这一个或多个应用诸如用于大数据分析的深度学习解决方案。所公开的示例基于区块链的数字数据交换系统使得数据提供者能够为提供对利用其各自的数据提供者端点生成或以其他方式与其各自的数据提供者端点相关联的数据的访问获得补偿(例如,支付、奖励等),和/或设置为了获得和/或保持对利用其相应的数据提供者端点生成的或以其他方式与其相应的数据提供者端点相关联的数据的访问而要满足的一个或多个其他条件。所公开的示例基于区块链的数字数据交换系统使得数据订阅者端点能够订阅标识由数据提供者提供的数据的数据可用性通知、以及数据的一个或多个特性和/或为了获得和/或保持对数据的访问而要满足的一个或多个条件。本文公开的示例基于区块链的数字数据交换系统的此类特征减轻了对采用资源密集型、反复试验方法来标识用户,与用户达成协议并获得其数据的需要。这是因为提供用于访问的数据和用于访问的条件由数据提供者端点主动宣布,并且在所公开的示例基于区块链的数字数据交换系统中是可搜索/可过滤的。
[0027] 此外,根据本公开的教导实现的示例基于区块链的数字数据交换系统植根于区块链中,该区块链记录系统中的每个数据事务。区块链中维持的记录标识作为每个已发布事务的主题的特定数据、以及参与事务的数据提供者和数据订阅者。记录以抗篡改、损坏等的分布式方式被维持在区块链中。由于记录识别作为每个已发布的事务的主题的特定数据以及参与每个事务的数据提供者和数据订阅者,因此可以监测区块链记录以检测被不适当地访问的数据是否成为系统中的事务的主题,并且如果是,则检测不适当的事务中的参与者。因此,与先前的数据聚合系统不同,本文中公开的示例基于区块链的数字数据交换系统提供了机制以对数据侵害负责的实体并追溯对由此类实体不适当地获取的数据的使用。
[0028] 现转到附图,图1中示出了根据本公开的教导实现的示例基于区块链的数字数据交换系统100的框图。图1的基于区块链的数字数据交换系统100包括经由示例通信网络125进行通信的示例数据发布者端点设备105、示例数据订阅者端点系统110、示例数据交换115和示例区块链网络120。如下面进一步详细地所公开,所示的示例的数据发布者端点设备105与数据交换115通信,以发布可从与数据发布者端点设备105相关联的示例数据存储130访问的数据的可用性、以及数据的特性和/或支配对数据的访问的任何(多个)条件。所示示例的数据订阅者端点系统110从数据交换115接收数据可用性通知,诸如,指示数据可从数据发布者端点设备105获得的通知。如果通知中包括的(多个)数据特性和/或(多个)条件指示从数据发布者端点设备105的可获得(由数据发布者端点设备105提供)的数据满足一个或多个标准,数据订阅者端点系统110联系数据发布者端点设备105以发起事务来向数据订阅者端点系统110提供对该数据的访问。在所示示例中,如果事务由数据发布者端点设备
105和/或数据订阅者端点系统110验证,则将事务的记录提供给区块链网络120以便被包括在由区块链网络120实现的区块链中。以下提供了关于图1的基于区块链的数字数据交换系统100的进一步操作细节。
[0029] 图1的示例数据发布者端点设备105可以通过任何适当地配置、适配或以其他方式构造的计算设备(例如,智能电话、平板计算机、笔记本计算机、台式计算机、智能设备等)、服务器数据中心服务等来实现。例如,图1的数据发布者端点设备105可以由图8的示例处理器平台800来实现,这在下面进一步详细地描述。在图1所示出的示例中,数据发布者端点设备105被配置、适配或以其他方式构造成用于包括示例数据集市发布者客户端135、示例区块链客户端140A、示例智能合约应用145、一个或多个示例数据产生应用150和示例数据存储130。
[0030] 在图1的所示的示例中,(多个)数据产生应用150与产生通过数据发布者端点设备105而变得可用(由数据发布者端点设备105提供的)的数据的任何应用相对应。(多个)数据产生应用150可以是利用数据发布者端点设备105来执行或以其他方式与数据发布者端点设备105相关联的任何应用。例如,(多个)数据产生应用150可以包括但不限于创建和存储生物计量和/或其他用户性能数据的健康应用、日志数据的应用等。在图1的所示出的示例中,(多个)数据产生应用150将它们各自的数据存储在存储设备130中。所示示例的存储设备130可以由任何数量和/或类型的存储设备、存储器等实现。例如,存储设备130可以由示例易失性存储器814和/或图8的(多个)示例大容量存储设备828(下面会更详细地描述)实现。
[0031] 在图1的所示的示例中,数据集市发布者客户端135负责:标识将通过数据发布者端点设备105而变得可访问的数据,指定支配对数据访问的条件;将数据的可用性发布到数据交换115;发起事务以允许数据订阅者端点(诸如,数据订阅者端点系统110)访问数据,等等。下面将结合图2更详细地描述所示示例的数据集市发布者客户端135的实现和操作。
[0032] 在图1的所示的示例中,数字数据交换系统100被建立在实现区块链的示例区块链网络120上。所示示例的区块链网络120包括任何数量的示例计算节点155A-E,这些计算节点可以由任何类型和/或数量的计算设备、服务器、数据中心、云服务等实现。区块链网络120可以实现公共区块链、私有区块链或任何数量或组合的公共区块链和私有区块链。区块链是分布式计算架构,其中每个计算节点155A-E记录相同的事务,这些事务被分组为区块,这些区块一次一个地被添加到区块链。区块链的每个区块都包含数学证明,以验证它遵循区块链中的前一个区块。将区块一次一个地添加到区块链并且将数据包括在区块中以验证它们在区块链中的位置的这一特征使区块链能够维持可以保持一致的记录的分布式数据库。此外,由于数字数据交换系统100中的数据事务被发布到区块链网络120以便被包含在区块链中,因此给定数据的所有者或其他数据提供器可以追溯该区块链的区块以标识哪个实体或哪些实体已访问系统100中的给定数据以及何时访问了系统100中的给定数据。
[0033] 这样,区块链客户端140A被包括在所示示例的数据发布者端点设备105中,以将数据事务记录发布到由区块链网络120实现的区块链,其中数据事务记录与由数据发布者端点设备105提供的数据相关联。在一些示例中,区块链客户端140A还监测由区块链网络120实现的区块链,以标识区块链中与由数据发布者端点设备105拥有和/或正由数据发布者端点设备105提供的数据相对应的其他记录。如果找到此类记录,则区块链客户端140A可以通知数据集市发布者客户端135,该数据集市发布者客户端135采取适当的动作来向数据发布者端点设备105的用户通知对该数据的潜在的不当访问(例如,通过经由用户界面呈现消息、向用户设备发送消息等)。下面将结合图4更详细地描述所示示例的区块链客户端140A的实现和操作。
[0034] 在图1的所示的示例中,数据发布者端点设备105包括智能合约应用145,该智能合约应用145使用任何适当的智能合约技术实现,智能合约应用145用于验证事务以向访问存储在数据存储器130中的数据的数据订阅者端点提供,数据订阅者端点诸如数据订阅者端点系统110。例如,数据集市发布者客户端135可以利用支配对数据的访问的一个或多个条件对智能合约应用145进行编程,这一个或多个条件诸如,访问数据的价格、准许被访问的数据量、在其间准许数据被访问的持续时间等。在此类示例中,在已由数据集市发布者客户端135发起并且已由数据订阅者端点系统110接受数据事务之后,该智能合约应用145验证是否已经满足支配对数据的访问的(多个)相关条件。例如,智能合约应用145可以被编程为查询支付服务以确认访问数据的价格已由数据订阅者端点系统110支付。如果智能合约应用145确认已满足(多个)相关条件,则智能合约应用145验证事务并使区块链客户端140A将事务的记录发布到区块链网络120。否则,智能合约应用145使事务被终止。此外,在一些示例中,如果尚未满足(多个)相关条件中的一个或多个,则智能合约应用145被编程为将此类事件视为合约违反并实施惩罚条件。例如,智能合约应用145可以被编程为与支付服务对接,以使得进行适当的支付或信贷以补偿合约违反。
[0035] 在一些示例中,智能合约应用145由数据集市发布者客户端135编程,以在事务已被验证以实施支配由数据订阅者端点系统110对数据的访问的(多个)相关条件之后继续监测对作为经验证事务的主题的数据的访问。例如,智能合约应用145可以用支配以下各项的条件来编程:准许访问数据的频率、准许访问的数据量、在其间准许数据被访问的持续时间等。例如,如果数据订阅者端点系统110已经同意租赁通过数据发布者端点设备105而变得可用(例如,存储在数据存储器130中)的数据,则智能合约应用145可以被编程为监测租赁的到期时间是否已经过去。当到期时间已经过去时,智能合约应用145可以(例如,通过利用数据订阅者端点系统110未知的加密密钥对数据进行加密、通过阻止源自数据订阅者端点系统110的消息(例如,数据请求)等)来阻止数据订阅者端点系统110对数据的访问。在一些示例中,如果智能合约应用145确定在事务被验证之后相关条件中的一个或多个被违反,则智能合约应用145可以实施惩罚条件,如上所述。
[0036] 在一些示例中,智能合约应用145被编程为监测作为被发起的或经验证的事务的主题的数据,以实施用于由数据发布者端点设备105满足的(多个)相关条件。此类(多个)条件可以在发布数据的可用性时由数据集市发布者客户端135指定,和/或可以由数据订阅者端点系统110在经发送以请求事务的发起和/或事务的接受的消息中指定。例如,如果从数据产生应用150实时收集和/或生成作为事务的主题的数据,则智能合约应用145可以被编程为与如图所示的数据产生应用150对接并监测如图所示的数据产生应用150。例如,智能合约应用145可以监测数据收集和/或生成过程、数据收集和/或生成的频率、数据收集和/或生成的时间和/或持续时间等,以确保正由数据产生应用150根据支配事务的(多个)相关条件收集和/或生成数据,从而实施(多个)相关条件。例如,如果不满足(多个)相关条件中的一个或多个,诸如,数据生成应用150未按约定的时间、频率或以其他方式根据约定的程序被激活,则智能合约应用145可以检测到(多个)相关条件的这种违反并实施惩罚条件,如上所述。
[0037] 图1的示例数据订阅者端点系统110可以通过任何适当地配置、适配或以其他方式构造的计算设备(例如,智能电话、平板计算机、笔记本计算机、台式计算机、智能设备等)、服务器、数据中心、云服务等来实现。例如,图1的数据订阅者端点系统110可以由图9的示例处理器平台900来实现,这在下面进一步详细地描述。在图1的所示出的示例中,数据订阅者端点系统110被配置、适配或以其他方式被构造成用于包括示例数据集市订阅者客户端160、示例区块链客户端140B、示例智能合约应用165、一个或多个示例数据产生应用175和示例数据存储170。
[0038] 在图1的所示的示例中,(多个)数据消费者应用175与利用由数据订阅者端点系统110从数据发布者端点(诸如,数据发布者端点设备105)访问的数据的任何应用相对应。(多个)数据消费者应用175可以是利用数据订阅者端点系统100来执行或以其他方式与数据订阅者端点设备110相关联的任何应用。例如,(多个)数据消费者应用175可以包括但不限于一个或多个深度学习应用、一个或多个机器学习应用等。在图1的所示的示例中,由数据订阅者端点系统110从数据发布者端点(诸如,数据发布者端点设备105)访问的数据被存储在存储设备170中。所示示例的存储设备170可以由任何数量和/或类型的存储设备、存储器等实现。例如,存储设备170可以由示例易失性存储器914和/或图9的(多个)示例大容量存储设备928(下面会更详细地描述)实现。
[0039] 在图1的所示的示例中,数据集市订阅者客户端160负责:标识要从数据发布者端点(诸如,数据发布者端点设备105)访问的数据的特性,指定支配要被访问的数据的条件,订阅从数据交换115接收数据可用性通知,请求事务以获得对由数据发布者端点(诸如,数据发布者端点设备105等)提供的数据的访问,等等。下面结合图3更详细地描述所示示例的数据集市订阅者客户端160的实现和操作。
[0040] 如上所述,数字数据交换系统100建立在实现区块链的示例区块链网络120上。这样,区块链客户端140B被包括在所示示例的数据订阅者端点设备110中,以将数据事务记录发布到由区块链网络120实现的区块链,其中数据事务记录与由数据订阅者端点设备110访问的数据相关联。下面将结合图4更详细地描述所示示例的区块链客户端140B的实现和操作。
[0041] 在图1的所示的示例中,数据订阅者端点系统110还包括智能合约应用165,以验证事务来获得对来自数据发布者端点(诸如,数据发布者端点设备105)的数据的访问。例如,数据集市订阅者客户端160可以利用支配要被访问的数据的一个或多个条件(诸如,要被访问的数据量、数据所覆盖的持续时间等)对智能合约应用165进行编程。在此类示例中,在已由数据发布者端点设备105响应于来自数据集市订阅者客户端160的请求而发起数据事务后,智能合约应用165验证支配数据的(多个)相关条件是否已被满足。例如,智能合约应用165可以被编程为执行对存储在数据发布者端点设备105的存储设备中的数据的初始访问,以确定数据满足(多个)相关条件。如果智能合约应用165确认已满足(多个)相关条件,则智能合约应用165验证事务,使数据集市订阅者客户端160(例如,通过向数据发布者端点设备
105发送消息)接受事务,并且使区块链客户端140B将事务的记录发布到区块链网络120。否则,智能合约应用165使事务被终止。此外,在一些示例中,如果尚未满足(多个)相关条件中的一个或多个,则智能合约应用165被编程为将此类事件视为合约违反并实施惩罚条件。例如,智能合约应用165可以被编程为与支付服务对接,以使得进行适当的支付或信贷以补偿合约违反。
[0042] 在一些示例中,智能合约应用145由数据集市订阅者客户端160编程,以便在事务已被验证以实施支配由数据订阅者端点系统110的数据消费者应用175对数据的访问的(多个)相关条件之后,与由数据消费者应用175对接并继续监测由数据消费者应用175进行的对数据的访问,该数据是经验证的事务的主题。例如,智能合约应用165可以用管理支配以下各项的条件来编程:准许访问数据的频率、准许访问的数据量、在其间准许数据被访问的持续时间等。例如,如果数据订阅者端点系统110已经同意租赁通过数据发布者端点设备105而变得可用(例如,存储在数据存储器130中)的数据,则智能合约应用165可以被编程为监测租赁的到期时间是否已经过去。当过期时间已经过去时,智能合约应用165使相关联的数据从数据订阅者端点系统110的数据存储170中删除。在一些示例中,如果智能合约应用
165确定在事务已被验证之后相关条件中的一个或多个被违反,则智能合约应用165可以实施惩罚条件,如上所述。
[0043] 在一些示例中,智能合约应用165被编程为监测作为被发起的或经验证的事务的主题的数据,以实施用于由数据发布者端点设备105满足的(多个)相关条件。此类(多个)条件可以在发布数据的可用性时由数据发布者端点设备105指定,和/或可以在请求事务的发起或接受事务时由数据订阅者端点系统110指定。例如,如果作为事务的主题的数据由数据发布者端点设备105实时收集,则智能合约应用165可以被编程为用于监测该数据以确保其与支配数据收集的(多个)相关条件一致。例如,如果不满足(多个)相关条件中的一个或多个,诸如,数据不与约定的生成时间相关联,不呈现出约定的更新频率或以其他方式未按照约定的程序,则智能合约应用165可以检测到(多个)相关条件的这种违反并实施惩罚条件,如上所述。
[0044] 在图1的所示的示例中,数据交换115实现数据发布、订阅和通知服务,以使数据发布者(诸如,数据发布者端点设备105)能够发布数据的可用性,并使数据订阅者(诸如,数据订阅者端点系统110)能够订阅和接收数据可用性通知,该数据可用性通知指示数据可从数据发布者(诸如,数据发布者端点设备105)获得。例如,数据交换115可以实现公告板服务、流(torrent)服务、目录服务等,以提供此类数据发布、订阅和通知。因此,数据交换115可以通过任何适当地配置、适配或以其他方式构造的计算设备(例如,智能电话、平板计算机、笔记本计算机、台式计算机、智能设备等)、服务器、数据中心、云服务等来实现。
[0045] 所示示例的通信网络125可以由任何数量和/或类型的通信网络实现。例如,通信网络125可以由一个或多个有线/线缆网络、一个或多个无线网络(例如,移动蜂窝网络、卫星网络等)、一个或多个专有网络、一个或多个公共网络(例如,诸如,因特网)等,或其任何组合来实现。
[0046] 尽管图1的示例基于区块链的数字数据交换系统100被示为包括一个示例数据发布者端点设备105、一个示例数据订阅者端点系统110、一个示例数据交换115、一个示例区块链网络120和一个示例通信网络125,但是根据本公开的教导实现的基于区块链的数字数据交换不限于此。相反,示例基于区块链的数字数据交换系统100可包括任何数量的示例数据发布者端点设备105、示例数据订阅者端点系统110、示例数据交换115、示例区块链网络120和/或示例通信网络125。
[0047] 在图2中示出了被包括在图1的示例数据发布者端点设备105中的数据集市发布者客户端135的示例实现的框图。示例数据集市发布者客户端135包括示例数据标注器205、示例数据可用性发布器210、示例数据验证器215、示例事务授权器220和示例数据提供器225。图2的数据集市发布者客户端135包括示例数据标注器205,用于标识和标注由数据发布者端点设备105使其变得可由数据订阅者(诸如,数据订阅者端点系统110)访问的数据。在一些示例中,数据标注器205实现图形用户界面(GUI)以准许标识数据。例如,数据标注器205可以提供界面以将(多个)数据产生应用150中的一个或多个选为将通过数据发布者端点设备105而变得可访问的数据的源。附加地或替代地,数据标注器205可以提供界面,以(例如,通过驱动器、目录、文件名等)将数据存储130中的数据选为通过数据发布者端点设备105而变得可访问。所示示例的数据标注器205还生成用于标识将通过数据发布者端点设备105而变得可访问的数据的标签。例如,数据标注器205可以利用散列函数处理经标识的数据的部分或全部,以生成经标识的数据的散列,这可形成用于标识数据的标签的基础。在一些示例中,由数据标注器205为经标识的数据生成的标签包括多个字段,诸如,标识符字段和用于描述数据的一个或多个字段。例如,数据标注器205可以包括包含数据的标识符的字段(例如,诸如,数据的散列)、包含数据的一个或多个属性的一个或多个字段(例如,诸如,数据的类型,例如,心率数据、日志数据等),包含与数据相关联的元数据的一个或多个字段(例如,诸如与心率数据相关联的性别、与心率数据相关联的人的年龄等)等。在一些示例中,数据标注器205从负责生成和/或收集数据的(多个)数据产生应用150中的一个或多个获得数据的属性、与数据相关联的元数据等。
[0048] 图2的数据集市发布者客户端135包括示例数据可用性发布器210,以发布由数据标注器205标识的数据的可用性。在一些示例中,数据可用性发布器210向数据交换115发送消息以向数据交换115通知:数据发布者端点设备105具有将对于数据订阅者(诸如,数据订阅者端点系统110)变得可用的数据。该消息可包括由数据标注器205为数据生成的标签(例如,散列)、以及用于支配对数据的访问的任何(多个)条件。在一些示例中,数据可用性发布器210实现GUI以准许指定此类(多个)条件。例如,数据可用性发布器210的GUI可以准许指定:用于访问数据的价格,数据是否正被提供用于销售或租赁;在数据正被提供用于销售的情况下的租赁持续时间;准许的访问频率;准许被访问的数据量等。在一些示例中,消息可以包括支配数据的特性的一个或多个条件。在一些此类示例中,数据可用性发布器210实现GUI以准许指定此类(多个)条件。例如,数据可用性发布器210的GUI可以准许指定与数据相关联的更新频率、所保证的最小数据量、数据所覆盖的持续时间等。
[0049] 图2的数据集市发布者客户端135包括示例事务授权器220,用于授权事务以准许数据订阅者(诸如,数据订阅者端点系统110)访问正通过数据发布者端点设备105而变得可用的数据。在一些示例中,事务授权器220接收来自数据订阅者(诸如,数据订阅者端点系统110)的请求,以发起事务以准许对由数据可用性发布器210发布的标签所标识的数据的访问。在一些示例中,响应于该请求,数据集市发布者客户端135的数据提供器225向数据订阅者端点系统110提供对由标签所标识的数据的初始访问。对数据的这种初始访问使数据订阅者端点系统110能够(例如,通过将数据与一个或多个标准进行比较)验证数据的适合性。
随后,在一些此类示例中,事务授权器220可以从接受该事务的数据订阅者端点系统110接收消息。如果未接收到接受消息,则事务授权器220使数据提供器225阻止数据订阅者端点系统110具有对该数据的进一步的访问权。然而,如果接收到接受消息,则事务授权器220与数据发布者端点设备105的智能合约应用145对接,以验证已经满足用于访问数据的(多个)相关条件(例如,诸如验证已经支付了访问数据的指定价格)。如果尚未满足(多个)相关条件,则事务授权器220取消事务。然而,如果已满足(多个)相关条件,则事务授权器220使数据提供器225准许数据订阅者端点系统110继续访问数据,并使数据发布者端点设备105的区块链客户端140A将该事务的记录发布到区块链网络120,该记录将被添加到由区块链网络120实现的区块链。
[0050] 在一些示例中,由事务授权器220发布的记录包括标识数据的标签(例如,散列)、用于访问数据的价格、与数据发布者端点设备105相关联的标识符以及与数据订阅者端点系统110相关联的标识符。在一些示例中,记录还包括指定由事务准许的数据访问的(多种)所准许类型的事务类型。事务类型的示例包括但不限于数据读访问、数据写访问、数据处理访问(例如,读和写)等。
[0051] 在一些示例中,数据提供器225实现数据加密以向特定数据订阅者(诸如,数据订阅者端点系统110)提供对特定数据的访问。例如,来自数据订阅者端点系统110的事务发起请求可以包括与数据订阅者端点系统110相关联的公共加密密钥。在此类示例中,数据提供器225可以利用由数据订阅者端点系统110提供的公共加密密钥对将变得可由数据订阅者端点系统110访问的特定数据进行加密。然后,数据订阅者端点系统110可以利用与其公共加密密钥相关联的私有加密密钥对数据进行解密。在一些此类示例中,如果数据提供器225稍后要阻止数据订阅者端点系统110对数据的访问,则数据提供器225可以使用不同的密钥来对数据进行加密,该不同的密钥不与数据订阅者端点系统110的私有加密密钥配对。通过以这种方式使用加密,数据发布者端点设备105可以通过创建用与(多个)预期接收者相关联的(多个)相应的公共加密密钥进行加密的不同版本(例如,副本)的数据来将数据访问限于仅(多个)预期接收者。
[0052] 在一些示例中,事务授权器220与数据集市发布者客户端135的数据验证器215一起操作,以在事务被验证之后实施支配数据特性和/或对数据的访问的(多个)相关条件。例如,数据验证器215可以在用于给定的经标识的数据的事务处于活动时利用要被监测的(多个)条件对智能合约应用145进行编程。例如,数据验证器215可以利用支配以下各项的条件来对智能合约应用145进行编程:经标识的数据要被访问的频率、要被访问的经标识的数据量、在其间经标识的数据准许被访问的持续时间等。如果数据验证器215确定尚未满足(多个)所指定条件中的一个或多个,则事务授权器220可以相应地更新事务。例如,事务授权器220可以终止事务,将事务置于保持状态等。在一些此类示例中,事务授权器220将更新事务的记录发布到区块链网络120,该记录将被添加到由区块链网络120实现的区块链中。例如,记录可以包括标识数据的标签(例如,散列)、用于访问数据的价格、与数据发布者端点设备
105相关联的标识符、与数据订阅者端点系统110相关联的标识符以及设置为终止、保持的事务类型,等等。
[0053] 图3中示出了被包括在图1的示例数据订阅者端点设备110中的数据集市订阅者客户端160的示例实现的框图。图3的示例数据集市订阅者客户端160包括示例数据检取器305、示例数据可用性订阅器310、示例事务授权器315、示例数据验证器320和示例访问验证器325。图3的数据集市订阅者客户端160包括用于订阅和接收来自数据交换115的数据可用性通知的示例数据可用性订阅器310。在一些示例中,数据可用性订阅器310向数据交换115发送订阅请求以订阅当数据提供器(诸如,数据发布者端点设备105)利用数据交换115发布数据的可用性时生成的通知。在一些此类示例中,订阅请求包括要由数据交换115使用以过滤数据可用性通知的一个或多个标准(例如,经由由数据可用性订阅器310实现的GUI指定)。可由数据交换115使用此类过滤来将发送到数据订阅者端点系统110的数据可用性通知限定/限制为与订阅请求中所指定的标准匹配的那些通知。在一些示例中,由数据可用性订阅器310从数据交换115接收的数据可用性通知包括标识正变得可用的数据的标签(例如,散列)、以及支配数据的特征和/或对数据的访问(例如,用于访问数据的价格,无论数据正被提供用于出售还是租赁;在数据正被提供用于出售的情况下的租赁持续时间;被准许的访问频率;被准许访问的数据量等)的任何(多个)条件。
[0054] 图3的数据集市订阅者客户端160包括事务授权器315,用于授权事务以准许数据订阅者端点系统110访问在从数据交换115接收的通知标识的数据。在一些示例中,事务授权器315将来自通知的描述正被提供的数据的信息与数据订阅者端点系统110希望访问的数据的目标特性进行比较,以判定在通知中标识的数据是否与特性匹配。例如,目标特性可以指定数据的类型(例如,健康数据、日志数据等)、数据覆盖的持续时间、以及数据量、数据格式、支配对数据的访问的可接受条件等。在一些示例中,事务授权器315实现GUI以准许指定数据订阅者端点系统110希望访问的数据的目标特性。
[0055] 如果为数据订阅者端点系统110希望访问的数据指定的目标特性与来自数据交换115的通知中包括的信息匹配,则事务授权器315将包括通知中所包含的数据标签的请求发送到在通知中标识的数据发布者(诸如,数据发布者端点设备105),以发起事务以允许数据订阅者端点系统110获得对所提供的数据的访问权。在一些示例中,该请求包括与数据订阅者端点系统110相关联的公钥,将由数据发布者端点设备105使用该公钥对要被提供给数据订阅者端点系统110的数据进行加密。在一些示例中,由事务授权器315发送的事务发起请求包括由数据订阅者端点系统110指定且由于由数据发布者端点设备105提供的数据满足的一个或多个条件。例如,此类条件可以支配数据的收集,并且可以指定所需的数据生成时间、所需的更新频率等。在一些示例中,事务授权器315实现GUI以准许指定用于由通过数据发布者端点设备105提供的数据满足的条件。
[0056] 在一些示例中,事务授权器315与数据集市订阅者客户端160的数据检取器305一起操作,以在接受数据事务之前执行对由数据发布者端点设备105提供的数据的初始验证。例如,响应于发起数据事务的请求,数据发布者端点设备105可以通过向数据订阅者端点系统110提供对所提供的数据的初始访问来发起事务。在此类示例中,数据检取器305从数据发布者端点设备105检取所提供的数据,并且利用与由事务授权器315发送的请求中所包括的公共加密密钥相关联的私有加密密钥对数据进行解密,以请求发起数据事务。然后,事务授权器315与数据订阅者端点系统110的智能合约应用165对接,以验证为数据指定的(多个)相关条件(例如,如在从数据交换115接收的通知中所指定和/或在由事务授权器315发送的事务发起请求中所指定)被满足。如果不满足条件中的一个或多个,则事务授权器315取消事务。然而,如果已经满足(多个)相关条件,则事务授权器315将消息发送到数据发布者端点设备105以接受该事务,并且在一些示例中,使得数据订阅者端点系统110的区块链客户端140B将事务的记录发布到区块链网络120,该事务的记录将被添加到由区块链网络
120实现的区块链。以上结合图2描述了由区块链客户端140B发布的记录的特征。假设事务也由数据发布者端点设备105授权,则数据检取器305然后可以继续访问通过数据发布者端点设备105而变得可用的数据。
[0057] 在一些示例中,事务授权器315与数据集市订阅者客户端160的数据验证器320和/或访问验证器325一起操作,以在事务已被验证之后实施支配数据和/或对数据的访问的(多个)相关条件。例如,数据验证器320可以利用在针对给定的数据的事务处于活动时要被监测的(多个)数据特性条件对智能合约应用165进行编程。例如,如上所述,数据验证器320可以利用支配由数据发布者端点设备105对数据进行收集的条件对智能合约应用165进行编程。在一些示例中,访问验证器325可以利用在针对给定的经标识的数据的事务是活动时要被监测的(多个)数据访问条件对智能合约应用165进行编程。例如,访问验证器325可以利用支配以下各项的条件来对智能合约应用165进行编程:管理数据检取器305被准许访问通过数据发布者端点设备105而变得可用的数据的频率、数据检取器305被准许访问的数据量、在其间数据检取器305被准许访问数据的持续时间等。如果数据验证器320和/或访问验证器325确定尚未满足所指定的(多个)条件中的一个或多个,则事务授权器315可以相应地更新事务。例如,事务授权器315可以终止事务,将事务置于保持状态等。在一些此类示例中,事务授权器315将更新事务的记录发布到区块链网络120,该记录将被添加到由区块链网络120实现的区块链中。例如,记录可以包括标识数据的标签(例如,散列)、用于访问数据的价格、与数据发布者端点设备105相关联的标识符、与数据订阅者端点系统110相关联的标识符以及设置为终止、保持事务类型,等等。
[0058] 图4中示出了可用于实现示例数据发布者端点设备105中包括的区块链客户端140A和/或图1的示例数据订阅者端点系统110中包括的区块链客户端140B的示例区块链客户端140的框图。图4的示例区块链客户端140包括示例事务发布器405和示例事务审计器
410。区块链客户端140包括事务发布器405,用于将数据事务的记录发布到区块链网络120,该事务的记录将被添加到由区块链网络120实现的区块链。例如,为了发布记录,该事务发布器405可以将包含该记录的请求发送到实现区块链网络120的计算节点155A-E中的一个或多个。响应于该请求,计算节点155A–E中的一个或多个将会将记录包括在记录的区块中并尝试根据由区块链网络120实现的区块链技术将该区块添加到区块链。在一些示例中,将由事务发布器405发布的给定记录包括:标识作为事务的主题的数据的标签(例如,散列)、用于访问数据的价格、与用于提供数据的数据发布者端点设备105相关联的标识符、以及与用于访问数据的数据订阅者端点系统110相关联的标识符。在一些示例中,记录还包括指定事务所准许的数据访问的(多个)所准许类型的事务类型。事务类型的示例包括但不限于数据读访问、数据写访问、数据处理访问(例如,读和写)等。
[0059] 区块链客户端140包括事务审计器410,用于审计由区块链网络120实现的区块链中包含的记录。由于区块链中包含的记录包括标识作为每个记录的主题的数据的标签(例如,散列),因此事务审计器410可以检查区块链以标识与特定感兴趣的数据相关联的记录。如果找到与特定感兴趣的数据相关联的记录,则事务审计器410可以进一步检查记录的内容(诸如,记录中包括的数据发布者端点设备105的标识符、数据订阅者端点系统110的标识符等)以判定与记录相关联的数据事务是适当的还是不适当的。如果数据事务是不适当的,则事务审计器410可以向其关联的数据集市客户端(例如,数据集市发布者客户端135或数据集市订阅者客户端160)通知不适当的数据事务,以使数据集市客户端能够采取适当的补救措施(例如,诸如在相关联的端点处呈现消息,向用户设备发送消息,对与不适当事务相关联的端点中的一个或多个实施罚款,等等)。
[0060] 例如,考虑这样的场景:第一数据订阅者端点系统110不适当地复制了从数据发布者端点设备105访问的数据,并(例如,通过出售复制的数据、租赁复制的数据等)使复制的数据对于数字数据交换系统100中的第二数据订阅者端点系统110可用。该不适当事务的记录将以上述方式被添加到由区块链网络120实现的区块链中。该记录将包括标识数据的标签(例如,散列),并且还将会将第一数据订阅者端点系统110标识为该事务中的数据提供者,并且将会将第二数据订阅者端点系统110标识为该事务的数据订阅者。在此类示例中,事务审计者410可以基于记录中包括的标签(例如,散列)来标识作为该事务的主题的特定数据,并且可以确定事务是不适当的,因为该记录将第一数据订阅者端点系统110标识为事务中的数据提供者,但是第一数据订阅者端点系统110未被授权复制数据并与另一数据订阅者共享数据。
[0061] 图5中示出图示了图1的基于区块链的数字数据交换系统100的示例操作的示例消息序列图500。所示示例的消息序列图500开始于:数据订阅者端点系统110将示例订阅请求505发送到数据交换115以订阅当数据提供者(诸如,数据发布者端点设备105)利用数据交换115发布数据的可用性时生成的通知。在所示示例中,数据发布者端点设备105将示例发布数据可用性消息510发送到数据交换115,以通知数据交换115数据发布者端点设备105具有将变得对于数据订阅者(诸如,数据订阅者端点系统110)可用的数据。在所示示例中,发布数据可用性消息510包括标识数据的标签(例如,散列)、数据的一个或多个特性、以及用于访问数据的一个或多个条件。响应于发布数据可用性消息510,数据交换115将示例数据可用性通知515发送到数据订阅者端点系统110,该示例数据可用性通知515标识正由数据发布者端点设备105提供的数据。在所示示例中,数据可用性通知515包括标识数据的标签(例如,散列)、数据的一个或多个特性以及用于访问发布数据可用性消息510中指定的数据的一个或多个条件、以及数据发布者端点设备105的标识符。
[0062] 假设数据可用性通知515中标识的数据是数据订阅者端点系统110感兴趣的,则数据订阅者端点系统110将示例数据事务请求520发送到在数据可用性通知515中标识的数据发布者端点设备105。在所示示例中,数据事务请求520包括标识数据可用性通知515中指定的数据的标签(例如,散列)、以及与数据订阅者端点系统110相关联的公共加密密钥。在所示示例中,响应于数据事务请求520,数据发布者端点设备105将示例数据事务发起消息525发送到数据订阅者端点系统110。在所示示例中,数据事务发起消息525指定数据订阅者端点系统110能够访问由在数据事务请求520中所包括的标签(例如,散列)标识的数据所在的位置(例如,网络地址、统一资源定位符(URL)等)。在所示示例中,数据订阅者端点系统110访问数据,使用与数据事务请求520中包括的公共加密密钥相关联的私有加密密钥来对数据进行解密,并且验证数据,如上所述(由图5中的框530表示)。假设数据被验证,则数据订阅者端点系统110将示例接受事务消息535发送到数据发布者端点设备105。
[0063] 在所示示例中,响应于接受事务消息535,数据发布者端点设备105还(例如,通过确认已经支付了用于访问数据的指定的付款)验证事务,如上所述(由图5中的框530表示)。在所示示例中,假设事务被授权,数据发布者端点设备105将包含事务的记录的示例发布事务消息545发送到区块链网络120。在一些示例中,在验证了与事务相关联的数据之后,数据订阅者端点系统110还将包含事务的记录的示例发布事务消息550发送到区块链网络120。
以上描述了此类记录的示例内容。
[0064] 在所示示例中,如上所述,数据发布者端点设备105和数据订阅者端点系统110继续监视正由数据发布者端点设备105提供的数据和/或正由数据订阅者端点系统110执行的数据访问操作,以为实施为事务指定的(多个)条件(由图5中的框555和框560表示)。如果不满足条件中的一个或多个条件,则数据发布者端点设备105将示例发布事务消息565发送到区块链网络120,和/或数据订阅者端点系统110将示例发布事务消息570发送到区块链网络120以更新事务(例如,取消事务、将事务置于保持状态等)。
[0065] 尽管图1-图5中示出了实现示例数据发布者端点设备105和示例数据订阅者端点系统110的示例方式,但是图1-图5中所示出的元件、过程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何其他方式实现。此外,示例数据存储130和/或示例数据存储170、示例数据集市发布者客户端135、示例区块链客户端140、示例区块链客户端140A和/或示例区块链客户端140B、示例智能合约应用145和/或示例智能合约应用165、示例数据集市订阅者客户端160、示例数据标注器205、示例数据可用性发布器210、示例数据验证器215、示例事务授权器220、示例数据提供器225、示例数据检取器305、示例数据可用性订阅器310、示例事务授权器315、示例数据验证器320、示例访问验证器325、示例事务发布器405、示例事务审计器410和/或更一般地,示例数据发布者端点设备105和/或示例数据订阅者端点系统110可以通过硬件软件固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例数据存储130和/或示例数据存储170、示例数据集市发布者客户端135、示例区块链客户端140、示例区块链客户端140A和/或示例区块链客户端140B、示例智能合约应用145和/或智能合约应用165、示例数据集市订阅者客户端160、示例数据标注器205、示例数据可用性发布器210、示例数据验证器215、示例事务授权器220、示例数据提供器225、示例数据检取器305、示例数据可用性订阅器310、示例事务授权器315、示例数据验证器320、示例访问验证器325、示例事务发布器405、示例事务审计器410和/或更一般地,示例数据发布者端点设备105和/或示例数据订阅者端点系统110的任何一个可以由一个或多个模拟或数字电路逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)、现场可编程阵列(FPGA)和/或(多个)现场可编程逻辑器件(FPLD)来实现。当阅读到本专利的设备或系统权利要求中的任一项涵盖纯软件和/或固件实现时,示例数据发布者端点设备105、示例数据订阅者端点系统110、示例数据存储130和/或示例数据存储170,示例数据集市发布者客户端135、示例区块链客户端140、示例区块链客户端140A和/或示例区块链客户端140B、示例智能合约应用145和/或示例智能合约应用145165、示例数据集市订阅者客户端160、示例数据标注器205、示例数据可用性发布器210、示例数据验证器215、示例事务授权器220、示例数据提供器225、示例数据检取器305、示例数据可用性订阅器310、示例事务授权器315、示例数据验证器320、示例访问验证器325、示例事务发布器405和/或示例事务审计器410中的至少一个在此明确定义为包括包含该软件和/或固件的非瞬态计算机可读存储设备或存储盘,诸如,存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等。此外,示例数据发布者端点设备105和/或示例数据订阅者端点系统110可以包括附加于或替代于图1-图5中所图示的那些元件、过程和/或设备的一个或多个元件、过程和/或设备,和/或可包括所图示的元件、过程和/或设备中的任何元件、过程和/或设备或全部元件、过程和/或设备中的多于一个的元件、过程和/或设备。如本文中所使用,短语“通信”(包括其各种变体)涵盖直接通信和/或通过一个或多个中间组件的间接通信,并且不要求直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。
[0066] 图6至图7中示出了表示用于实现示例数据发布者端点设备105和示例数据订阅者端点系统110的示例硬件逻辑、机器可读指令、硬件实现的状态机、和/或其任何组合的流程图。在这些示例中,机器可读指令可以是供由计算机处理器执行的一个或多个可执行程序或其(多个)部分,计算机处理器诸如以下结合图8和图9所讨论的示例处理器平台800和示例处理器平台900中示出的处理器812和/或处理器912。一个或多个程序或其(多个)部分可以被具体化在存储于诸如CD-ROM、软盘、硬驱动器、DVD、蓝光盘TM或与处理器812和/或处理器912相关联的存储器之类的非瞬态计算机可读存储介质上的软件中,但是完整的一个或多个程序和/或其部分可替代地由除处理器812和/或处理器912之外的设备执行,和/或具体化在固件或专用硬件中。进一步,尽管参考图6-图7中所示的流程图描述(多个)示例程序,但可以替代地使用实现示例数据发布者端点设备105和示例数据订阅者端点系统110的许多其他方法。例如,参考图6-图7中所示的流程图,可以改变框的执行次序,并且/或者所描述框中的一些框可以被改变、被消除、被组合和/或被细分成多个框。附加地或替代地,框中的任何或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。
[0067] 如上文所提及,可使用存储于非瞬态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)实现图6-图7的示例过程,非瞬态计算机和/或机器可读介质诸如,硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在其中存储信息达任何时长(例如,达扩展的时间段内、永久地、达简短的实例、用于临时缓冲和/或用于对信息进行高速缓存)的任何其他存储设备或存储盘。如本文中所使用,术语“非瞬态计算机可读介质”被明确地限定为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。同样,本文中所使用,术语“计算机可读”和“机器可读”被认为是等效的,除非另外指出。
[0068] “包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”或“包括”(例如,包括(comprises,comprising)、包含(includes,including)、具有(having)等)用作前序部分或用于任何种类的权利要求记载内时,要理解的是,附加的要素、项等可以存在而不超出对应权利要求或记载的范围。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它以与术语“包含”和“包括”是开放式的相同的方式是开放式的。当例如以诸如A、B和/或C之类的形式使用术语“和/或”时,该术语指的是A、B、C的任何组合或子集,诸如(1)单独的A、(2)单独的B、(3)单独的C、(4)A与B、(5)A与C、(6)B与C、以及(7)A与B与C。如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A和B中的至少一个”旨在是指包括(1)至少一个A、(2)至少一个B和(3)至少一个A和至少一个B中的任何一个的实现。类似地,如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A或B中的至少一个”旨在是指包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一个的实现。如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语“A和B中的至少一个”旨在是指包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一个的实现。类似地,如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语"A或B中的至少一个"旨在是指包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一个的实现。
[0069] 由图6中示出的流程图表示可以被执行以实现图1-图5的示例数据发布者端点设备105的示例程序600。参考前面的附图和相关的书面描述,图6的示例程序600在框605处开始执行,在框605处,数据发布者端点设备105标识将变得可用的数据,如上所述。在框610处,数据发布者端点设备105确定数据的标签,该标签可以基于数据的散列,如上所述。在框615处,数据发布者端点设备105将数据的可用性发布到数据交换115,如上所述。在框620处,数据发布者端点设备105监测来自数据订阅者(诸如,数据订阅者端点系统110)的发起事务以访问所发布数据的请求。
[0070] 如果接收到发起数据事务的请求(框620),则在框625处,数据发布者端点设备105利用事务发起请求中包括的公共加密密钥来对事务发起请求中所标识的数据进行加密,如上所述。在框625处,数据发布者端点设备105还通过向作出请求的数据订阅者端点系统110提供对所标识的数据的初始访问来发起数据事务,如上所述。在框630处,数据发布者端点设备105监测来自作出请求的数据订阅者端点系统110的指示接受事务的消息。
[0071] 如果数据事务被接受(框630),则在框635处,数据发布者端点设备105(例如,通过确认已由作出请求的数据订阅者端点系统110进行了用于访问数据的所指定的支付)验证对事务的接受,如上所述。如果事务被验证(框640),则在框645处,数据发布者端点设备105将事务的记录发布到区块链网络120,如上所述。在框650处,数据发布者端点设备105继续验证为事务指定的任何(多个)相关数据收集条件、(多个)数据访问条件等,如上所述。如果不满足条件中的一个或多个(框655),则数据发布者端点设备105将更新事务的记录发布到区块链网络120,如上所述。在框665处,数据发布者端点设备105停止作出请求的数据订阅者端点系统110使其不能够访问数据,如上所述。
[0072] 由中中示出的流程图表示可以被执行以实现图1-图5的示例数据订阅者端点系统110的示例程序700。参考前面的附图和相关的书面描述,图7的示例程序700在框705处开始执行,在框705处,数据订阅者端点系统110向数据交换115订阅数据可用性通知,如上所述。
在框710处,数据订阅者端点系统110从数据交换115接收数据可用性通知,该数据可用性通知包括标识通过在通知中所标识的数据发布者(诸如,数据发布者端点设备105)而变得可用(由其提供)的数据的标签(例如,散列),如上所述。如果数据可用性通知中标识的数据满足一个或多个标准(框715),则在框720处,数据订阅者端点系统110向数据发布者端点设备
105发送发起对经标识的数据的数据事务的请求,如上所述。在所示示例中,事务发起请求包括标识数据的标签(例如,散列)和与数据订阅者端点系统110相关联的公共加密密钥。
[0073] 如果响应于事务发起请求而接收到发起数据事务的响应消息(框725),则在框730处,数据订阅者端点系统110验证数据,如上所述。例如,在框730处,数据订阅者端点系统110可以访问在所接收的事务发起消息中指定的位置处的数据,使用与事务发起请求中包括的公共加密密钥相关联的私有加密密钥来对数据进行解密,并且针对一个或多个条件验证该数据,如上所述。
[0074] 如果数据被验证(框735),则在框740出,数据订阅者端点系统110向数据发布者端点设备105发送消息以接受该事务,如上所述。在框745处,数据订阅者端点系统110将事务的记录发布到区块链网络120,如上所述。在框750处,数据订阅者端点系统110继续验证为事务指定的任何(多个)相关数据收集条件、(多个)数据访问条件等,如上所述。如果不满足条件中的一个或多个(框755),则数据订阅者端点系统110将更新事务的记录发布到区块链网络120,如上所述。在框765处,数据订阅者端点系统110停止访问来自数据发布者端点设备105的数据,如上所述。
[0075] 图8是被构造用于执行图6的指令以实现图1-图5中的示例数据发布者端点设备105的示例处理器平台800的框图。处理器平台800可以是例如服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(PDA)、互联网设备、游戏控制台、机顶盒或任何其他类型的计算设备。
[0076] 所图示示例的处理器平台800包括处理器812。所图示示例的处理器812是硬件。例如,处理器812可以由来自任何所需要的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器812可以是基于半导体的(例如,基于的)器件。在该示例中,处理器812实现示例数据集市发布者客户端135、示例区块链客户端140A、示例智能合约应用145、示例数据标注器205、示例数据可用性发布器210、示例数据验证器215、示例事务授权器220、示例数据提供器225、示例事务发布器405和/或示例事务审计器
410。
[0077] 所图示示例的处理器812包括本地存储器813(例如,高速缓存)。所图示示例的处理器812经由链路818与包括易失性存储器814和非易失性存储器816的主存储器进行通信。链路818可以通过总线、一个或多个点对点连接等,或其组合来实现。易失性存储器814可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、 动态随机存取存储器 和/或任何其他类型的随机存取存储器设备实现。非易失性存储器
816可由闪存和/或任何其他所期望类型的存储器设备实现。由存储器控制器控制对主存储器814、816的访问。
[0078] 所图示示例的处理器平台800还包括接口电路820。接口电路820可由任何类型的接口标准实现,诸如以太网接口、通用串行总线(USB)、 接口、近场通信(NFC)接口和/或PCI快速接口。
[0079] 在所图示的示例中,一个或多个输入设备822被连接至接口电路820。(多个)输入设备822准许用户将数据和/或命令输入至处理器812中。(多个)输入设备可以由例如音频传感器、麦克、相机(静止的或视频)、键盘、按钮、鼠标、触屏、轨迹板、轨迹球、轨迹杆(诸如,等点鼠标)、语音识别系统和/或任何其他人机界面实现。而且,许多系统(诸如,处理器平台800)可以允许用户控制计算机系统并使用物理手势(诸如但不限于,手或身体运动、面部表情、和面部识别)向计算机提供数据。
[0080] 一个或多个输出设备824也被连接至所图示示例的接口电路820。输出设备824可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、面内切换(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或(多个)扬声器实现。因此,所图示示例的接口电路820典型地包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
[0081] 所图示示例的接口电路820还包括诸如发射机、接收机、收发机、调制解调器、住宅网关、无线接入点、和/或网络接口之类的通信设备,以促进经由网络826与外部机器(例如,任何种类的计算设备)交换数据。通信可经由例如以太网连接、数字订户线路(DSL)连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等。
[0082] 所图示示例的处理器平台800还包括用于存储软件和/或数据的一个或多个大容量存储设备828。此类大容量存储设备828的示例包括软盘驱动器、硬盘驱动器、紧凑盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(RAID)系统和数字多功能盘(DVD)驱动器。在一些示例中,(多个)大容量存储设备828可以实现数据存储130。附加地或替代地,在一些示例中,易失性存储器814可以实现数据存储130。
[0083] 与图6的指令相对应的机器可执行指令832可被存储在大容量存储设备828中,存储在易失性存储器814中,存储在非易失性存储器816中,存储在本地存储器813中,和/或存储在诸如CD或DVD 836之类的可移除非瞬态计算机可读存储介质中。
[0084] 图9是被构造用于执行图7的指令以实现图1-图5中的示例数据订阅者端点设备110的示例处理器平台900的框图。处理器平台900可以是例如服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、PDA、互联网设备、游戏控制台、机顶盒或任何其他类型的计算设备。
[0085] 所图示示例的处理器平台900包括处理器912。所图示示例的处理器912是硬件。例如,处理器912可以由来自任何所需要的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器912可以是基于半导体的(例如,基于硅的)器件。在该示例中,处理器912实现示例区块链客户端140B、示例数据集市订阅者客户端160、示例智能合约应用165、示例数据检取器305、示例数据可用性订阅器310、示例事务授权器315、示例数据验证器320、示例访问验证器325、示例事务发布器405和/或示例事务审计器
410。
[0086] 所图示示例的处理器912包括本地存储器913(例如,高速缓存)。所图示示例的处理器912经由链路918与包括易失性存储器914和非易失性存储器916的主存储器进行通信。链路918可以通过总线、一个或多个点对点连接等,或其组合来实现。易失性存储器914可以由SDRAM、DRAM、 和/或任何其他类型的随机存取存储器设备实现。
非易失性存储器916可由闪存和/或任何其他所期望类型的存储器设备实现。由存储器控制器控制对主存储器914、主存储器916的访问。
[0087] 所图示示例的处理器平台900还包括接口电路920。接口电路920可由任何类型的接口标准实现,诸如以太网接口、USB、 接口、NFC接口和/或PCI快速接口。
[0088] 在所图示的示例中,一个或多个输入设备922被连接至接口电路920。(多个)输入设备922准许用户将数据和/或命令输入至处理器912中。(多个)输入设备可以由例如音频传感器、麦克风、相机(静止的或视频)、键盘、按钮、鼠标、触屏、轨迹板、轨迹球、轨迹杆(诸如,等点鼠标)、语音识别系统和/或任何其他人机界面实现。而且,许多系统(诸如,处理器平台900)可以允许用户控制计算机系统并使用物理手势(诸如但不限于,手或身体运动、面部表情、和面部识别)向计算机提供数据。
[0089] 一个或多个输出设备924也被连接至所图示示例的接口电路920。输出设备924可以例如通过显示设备(例如,LED、OLED、LCD、CRT显示器、IPS显示器、触摸屏等)、触觉输出设备、打印机和/(多个)扬声器来实现。因此,所图示示例的接口电路920典型地包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
[0090] 所图示示例的接口电路920还包括诸如发射机、接收机、收发机、调制解调器、住宅网关、无线接入点、和/或网络接口之类的通信设备,以促进经由网络926与外部机器(例如,任何种类的计算设备)交换数据。通信可经由例如以太网连接、DSL连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等
[0091] 所图示示例的处理器平台900还包括用于存储软件和/或数据的一个或多个大容量存储设备928。此类大容量存储设备928的示例包括软盘驱动器、硬盘驱动器、紧凑盘驱动器、蓝光盘驱动器、RAID系统和DVD驱动器。在一些示例中,(多个)大容量存储设备928可以实现示例数据存储170。附加地或替代地,在一些示例中,易失性存储器914可以实现示例数据存储170。
[0092] 与图7的指令相对应的机器可执行指令932可被存储在大容量存储设备928中,存储在易失性存储器914中,存储在非易失性存储器916中,存储在本地存储器913中,和/或存储在诸如CD或DVD 936之类的可移除非瞬态计算机可读存储介质中。
[0093] 从前述内容将理解,已经公开了示例方法,装置和制品用于实现基于区块链的数字数据交换,以使数据的聚合能够支持用于大数据分析的深度学习解决方案。如本文中所公开,基于区块链的数字数据交换可以提供优于现有的数据聚合系统的许多益处。例如,如本文中所公开,基于区块链的数字数据交换使数据所有者能够确定是出售还是租赁他们的数据,指定对数据的接收者的条件,并且获得金钱回报。此外,数据访问在本文中公开的基于区块链的数字数据交换中是可追溯的。例如,由不同接收者作出的每个数据访问涉及另一个数据事务,并且此类事务被广播到整个区块链网络。区块链中的事务由标识数据的标签(例如,散列)标识,使得数据所有者可以追溯每个数据访问。数据访问在本文中公开的基于区块链的数字数据交换中也是可控制的。例如,数据所有者可以指定对于访问正被出售、租赁等的数据的一个或多个条件(例如,约束)(例如,诸如准许访问数据多久)。智能合约代码可用于自动实施此类条件。数据访问在本文中公开的基于区块链的数字数据交换中是可验证的。例如,智能合约代码可用于实施对于如何收集数据的一个或多个条件,从而满足数据接收者(例如,数据购买者)的要求。如本文中所公开,基于区块链的数字数据交换利用区块链来确保受保护的数据事务,从而消除了对单独的、受信任的第三方执行此类功能的需要。
[0094] 前述公开提供了示例基于区块链的数字数据交换系统。以下进一步的示例在本文中公开,这些示例包括诸如以下主题:用于基于区块链的数字数据交换系统的数据发布者端点设备;至少一种计算机可读存储介质,包括指令,当该指令由至少一个处理器执行时,使得该至少一个处理器实现用于基于区块链的数字数据交换系统的数据发布者端点设备;用于实现用于基于区块链的数字数据交换系统的数据发布者端点设备的装置;用于基于区块链的数字数据交换系统中的数据发布者端点设备的方法;用于基于区块链的数字数据交换系统的数据订阅者端点系统;至少一种计算机可读存储介质,包括指令,当指令由至少一个处理器执行时,使该至少一个处理器实现用于基于区块链的数字数据交换系统的数据订阅者端点系统;用于实现用于基于区块链的数字数据交换系统的数据订阅者端点系统的装置;以及用于基于区块链的数字数据交换系统中的数据订阅者端点系统的方法。所公开的示例可以单独地和/或以一种或多种组合来实现。
[0095] 示例1是一种数据发布者端点设备,包括数据集市发布者客户端,用于:将消息发送到数据交换,以发布要从与数据发布者端点设备相关联的数据存储访问的数据的可用性;以及响应于来自数据订阅者端点系统的请求,发起事务以向数据订阅者端点系统提供对数据的访问。示例1的数据发布者端点设备还包括区块链客户端,用于:当事务被数据集市发布者客户端验证时,将事务的记录发布到区块链网络,该记录用于被包括在由区块链网络实现的区块链中。
[0096] 示例2包括示例1的主题,其中数据集市发布者客户端进一步用于:确定数据的标签;确定用于访问数据的价格;以及将标签和价格包括在消息中以发送到数据交换来发布数据的可用性。
[0097] 示例3包括示例2的主题,其中该消息是第一消息,该请求包括与数据订阅者端点系统相关联的公共加密密钥,并且数据集市发布者客户端用于:利用公共加密密钥对数据进行加密以生成经加密的数据;将第二消息发送到数据订阅者端点系统以发起事务,第二消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问经加密的数据;以及从数据订阅者端点系统接收对第二消息的响应,该响应用于指示该事务是否被数据订阅者端点系统接受。
[0098] 示例4包括示例3的主题,并且进一步包括智能合约应用,用于:当对第二消息的响应指示事务已被数据订阅者端点系统接受时,验证事务,智能合约应用用于确认数据订阅者端点系统对价格的支付以验证事务。
[0099] 示例5包括示例4的主题,其中该记录是第一记录,并且:(1)数据集市发布者客户端进一步用于确定用于访问数据的条件,并用于将条件包括在消息中以发送到数据交换来发布数据的可用性;(2)智能合约应用用于监测数据订阅者端点系统对数据的访问,以在事务已被验证之后实施条件;并且(3)区块链客户端用于:当智能合约应用判定了已由数据订阅者端点系统违反了条件时,将第二记录发布到区块链网络以更新事务。
[0100] 示例6包括示例5的主题,其中该条件指定以下至少一项:在其间数据准许被访问的持续时间;或数据准许被访问的频率。
[0101] 示例7包括示例3的主题,其中智能合约应用进一步用于:监测数据发布者端点设备的数据产生应用,以实施针对生成数据或收集数据中的至少一者的条件。
[0102] 示例8包括示例2至示例7中任一项的主题,其中记录包括事务标识符、标签、价格、与数据发布者端点设备相关联的标识符以及与数据订阅者端点系统相关联的标识符,并且区块链客户端用于将记录发送到区块链网络中包括的计算节点,以将记录发布到区块链网络。
[0103] 示例9包括示例8的主题,其中该标签是第一标签,该记录是第一记录,并且区块链客户端进一步用于:对区块链除第一记录以外的、包括与第一标签匹配的对应标签的记录;以及当除第一记录以外的记录中的至少一个记录包括与第一标签匹配的对应标签时,通知数据集市发布者客户端。
[0104] 示例10包括示例1至示例9中任一项的主题,并且进一步包括数据产生应用,用于将数据提供给与数据发布者端点设备相关联的数据存储。
[0105] 示例11包括至少一种非瞬态计算机可读存储介质,包括计算机可读指令,当该计算机可读指令被执行时使得数据发布者端点设备的至少一个处理器至少用于:(1)将消息发送到数据交换以发布要从与数据发布者端点设备相关联的数据存储访问的数据的可用性;(2)响应于来自数据订阅者端点系统的请求,发起事务以向数据订阅者端点系统提供对数据的访问;以及(3)当事务被验证时,将事务的记录发布到区块链网络,该记录用于被包括在由区块链网络实现的区块链中。
[0106] 示例12包括示例11的主题,其中计算机可读指令当被执行时进一步使得至少一个处理器用于:确定数据的标签;确定用于访问数据的价格;以及将标签和价格包括在消息中以发送到数据交换来发布数据的可用性。
[0107] 示例13包括示例12的主题,其中该消息是第一消息,该请求包括与数据订阅者端点系统相关联的公共加密密钥,并且计算机可读指令当被执行时使得至少一个处理器用于:利用公共加密密钥对数据进行加密以生成经加密的数据;将第二消息发送到数据订阅者端点系统以发起事务,第二消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问经加密的数据;以及从数据订阅者端点系统接收对第二消息的响应,该响应用于指示该事务是否被数据订阅者端点系统接受。
[0108] 示例14包括示例13的主题,并且计算机可读指令当被执行时进一步使得至少一个处理器用于:执行智能合约应用,以便当对第二消息的响应指示事务已被数据订阅者端点系统接受时验证该事务,智能合约应用用于确认数据订阅者端点系统对价格的支付以验证事务。
[0109] 示例15包括示例14的主题,其中,该记录是第一记录,并且计算机可读指令当被执行时进一步使得至少一个处理器用于:确定用于访问数据的条件并且将条件包括在消息中以传输到数据交换来发布数据的可用性;执行智能合约应用以监测数据订阅者端点系统对数据的访问,以在事务被验证之后实施该条件;以及当智能合约应用判定了已由数据订阅者端点系统违反了条件时,将第二记录发布到区块链网络以更新事务。
[0110] 示例16包括示例15的主题,其中该条件指定以下至少一项:在其间数据准许被访问的持续时间;或数据准许被访问的频率。
[0111] 示例17包括示例14的主题,其中智能合约应用进一步用于监测数据发布者端点设备的数据产生应用,以实施针对生成数据或收集数据中的至少一者的条件。
[0112] 示例18包括示例12至示例17中任一项的主题,其中记录包括事务标识符、标签、价格、与数据发布者端点设备相关联的标识符以及与数据订阅者端点系统相关联的标识符,并且计算机可读指令当被执行时,使得至少一个处理器用于将记录发送到区块链网络中包括的计算节点,以将记录发布到区块链网络。
[0113] 示例19包括示例18的主题,其中该标签是第一标签,该记录是第一记录,并且计算机可读指令当被执行时进一步使得至少一个处理器用于:对区块链监测除第一记录以外的、包括与第一标签匹配的对应标签的记录;以及当除第一条记录以外的记录中的至少一个记录包括与第一标签匹配的对应标签时,呈现通知。
[0114] 示例20包括示例11至示例19中任一项的主题,其中计算机可读指令被当执行时进一步使得至少一个处理器用于执行数据产生应用以将数据提供给与数据发布者端点设备相关联的数据存储。
[0115] 示例21是一种数据订阅者端点系统,包括:数据集市订阅者客户端,用于:访问来自数据交换的通知,该通知用于指示数据发布者端点设备已发布与数据发布者端点设备相关联的数据的可用性;以及向数据发布者端点设备发送发起事务以向数据订阅者端点系统提供对数据的访问的请求。示例21的数据订阅者端点设备还包括区块链客户端,用于:当事务由数据集市订阅者客户端验证时,将事务的记录发布到区块链网络,该记录用于被包括在由区块链网络实现的区块链中。
[0116] 示例22包括示例21的主题,其中,该通知是第一通知,并且数据集市订阅者客户端进一步用于:将消息发送到数据交换以订阅数据可用性通知;以及将第一通知与一个或多个标准进行比较,以判定是否请求发起事务以向数据订阅者端点系统提供对数据的访问。
[0117] 示例23包括示例22的主题,其中数据集市订阅者客户端进一步用于:响应于该请求,访问从数据发布者端点设备接收的消息,该消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问数据;以及从消息中指定的位置访问数据。
[0118] 示例24包括示例23的主题,其中该请求包括与数据订阅者端点系统相关联的公共加密密钥,并且数据集市订阅者客户端进一步用于对从在消息中指定的位置访问的数据进行解密,数据集市订阅者客户端用于基于与公共加密密钥相关联的私有加密密钥来对数据进行解密。
[0119] 示例25包括示例23或示例24的主题,并且进一步包括智能合约应用,用于评估从在消息中指定的位置访问的数据以判定是否验证事务,智能合约应用用于基于在第一通知中为数据指定的条件来评估数据。
[0120] 示例26包括示例25的主题,其中该条件指定数据量或由数据覆盖的持续时间中的至少一者。
[0121] 示例27包括示例25或示例26的主题,其中该记录是第一记录,智能合约应用进一步用于监测从位置访问的数据以在事务已被验证之后实施条件,并且区块链客户端用于:当智能合约应用判定了数据不满足条件时,将第二记录发布到区块链网络以更新事务。
[0122] 示例28包括示例21至示例27中任一项的主题,并且进一步包括用于处理数据的应用。
[0123] 示例29包括至少一种非瞬态计算机可读存储介质,包括计算机可读指令,该计算机可读指令当被执行时使得数据订阅者端点系统的至少一个处理器至少用于:(1)访问来自数据交换的通知,该通知用于指示数据发布者端点设备已发布与数据发布者端点设备相关联的数据的可用性;(2)向数据发布者端点设备发送发起事务以向数据订阅者端点系统提供对数据的访问的请求;以及(3)当事务被验证时,将事务的记录发布到区块链网络,该记录用于被包括在由区块链网络实现的区块链中。
[0124] 示例30包括示例29的主题,其中,该通知是第一通知,并且计算机可读指令当被执行时,进一步使得至少一个处理器用于:将消息发送到数据交换以订阅数据可用性通知;以及将第一通知与一个或多个标准进行比较,以判定是否请求发起事务以向数据订阅者端点系统提供对数据的访问。
[0125] 示例31包括示例30的主题,其中计算机可读指令当被执行时,进一步使得至少一个处理器用于:响应于该请求,访问从数据发布者端点设备接收的消息,该消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问数据;以及从消息中指定的位置访问数据。
[0126] 示例32包括示例31的主题,其中该请求包括与数据订阅者端点系统相关联的公共加密密钥,并且计算机可读指令当被执行时,进一步使得至少一个处理器用于对从在消息中指定的位置访问的数据进行解密,该数据用于基于与公共加密密钥相关联的私有加密密钥来来解密。
[0127] 示例33包括示例31或示例32的主题,其中计算机可读指令当被执行时,进一步使得至少一个处理器用于执行智能合约应用以评估从在消息中指定的位置访问的数据以判定是否验证事务,智能合约应用用于基于在第一通知中为数据指定的条件来评估数据。
[0128] 示例34包括示例33的主题,其中该条件指定数据量或由数据覆盖的持续时间中的至少一者。
[0129] 示例35包括示例33或示例34的主题,其中该记录是第一记录,并且计算机可读指令当被执行时进一步使得至少一个处理器用于:执行智能合约应用以进一步监测从位置访问的数据以在事务已被验证之后实施条件;以及当智能合约应用判定了数据不满足条件时,将第二记录发布到区块链网络以更新事务。
[0130] 示例36包括示例29至示例35中任一项的主题,其中计算机可读指令当被执行时进一步使得至少一个处理器执行用于处理数据的应用。
[0131] 示例37是一种方法,该方法包括:通过利用数据发布者端点设备的处理器执行指令来将消息发送到数据交换,以发布要从与数据发布者端点设备相关联的数据存储访问的数据的可用性。示例37的方法还包括:通过利用处理器执行指令来,响应于来自数据订阅者端点系统的请求而发起事务以向数据订阅者端点系统提供对数据的访问。示例37的方法进一步包括:通过利用处理器执行指令,当事务被验证时,将事务的记录发布至区块链网络,该记录用于被包括在由区块链网络实现的区块链中。
[0132] 示例38包括示例37的主题,其中该方法进一步包括:确定数据的标签;确定用于访问数据的价格;以及将标签和价格包括在消息中以发送到数据交换来发布数据的可用性。
[0133] 示例39包括示例38的主题,其中该消息是第一消息,该请求包括与数据订阅者端点系统相关联的公共加密密钥,并且该方法进一步包括:利用公共加密密钥对数据进行加密以生成经加密的数据;将第二消息发送到数据订阅者端点系统以发起事务,第二消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问经加密的数据;以及从数据订阅者端点系统接收对第二消息的响应,该响应用于指示该事务是否被数据订阅者端点系统接受。
[0134] 示例40包括示例39的主题,并且该方法进一步包括:当对第二消息的响应指示事务已被数据订阅者端点系统接受时,执行智能合约应用以验证事务,智能合约应用用于确认数据订阅者端点系统对价格的支付以验证事务。
[0135] 示例41包括示例40的主题,其中,该记录是第一记录,并且该方法进一步包括:确定用于访问数据的条件并且将条件包括在消息中以传输到数据交换来发布数据的可用性;执行智能合约应用以监测数据订阅者端点系统对数据的访问,以在事务已被验证之后实施该条件;以及当智能合约应用判定了已由数据订阅者端点系统违反了条件时,将第二记录发布到区块链网络以更新事务。
[0136] 示例42包括示例41的主题,其中该条件指定以下至少一项:在其间数据准许被访问的持续时间;或数据准许被访问的频率。
[0137] 示例43包括示例40的主题,其中智能合约应用进一步用于监测数据发布者端点设备的数据产生应用,以实施针对生成数据或收集数据中的至少一者的条件。
[0138] 示例44包括示例38至示例43中任一项的主题,其中记录包括事务标识符、标签、价格、与数据发布者端点设备相关联的标识符以及与数据订阅者端点系统相关联的标识符,并且该方法进一步包括:将记录发送到区块链网络中包括的计算节点,以将记录发布到区块链网络。
[0139] 示例45包括示例44的主题,其中该标签是第一标签,该记录是第一记录,并且该方法进一步包括:对区块链监测除了第一记录以外的、包括与第一标签匹配的对应标签的记录;以及当除了第一记录以外的记录中的至少一个记录包括与第一条标签匹配的对应标签时,呈现通知。
[0140] 示例46包括示例37至示例45中任一项的主题,并且该方法进一步包括:执行数据产生应用以将数据提供给与数据发布者端点设备相关联的数据存储。
[0141] 示例47是一种方法,该方法包括:通过利用数据订阅者端点系统的处理器执行指令来访问来自数据交换的通知,该通知用于指示数据发布者端点设备已发布与数据发布者端点设备相关联的数据的可用性。示例47的方法还包括:向数据发布者端点设备发送发起事务以向数据订阅者端点系统提供对数据的访问的请求。示例47的方法进一步包括:当事务被验证时,将事务的记录发布到区块链网络,该记录用于被包括在由区块链网络实现的区块链中。
[0142] 示例48包括示例47的主题,其中,该通知是第一通知,并且该方法进一步包括:将消息发送到数据交换以订阅数据可用性通知;以及将第一通知与一个或多个标准进行比较,以判定是否请求发起事务以向数据订阅者端点系统提供对数据的访问。
[0143] 示例49包括示例48的主题,其中该方法进一步包括:响应于该请求,访问从数据发布者端点设备接收的消息,该消息用于指定位置,在该位置处,能够由数据订阅者端点系统访问数据;以及从在消息中指定的位置访问数据。
[0144] 示例50包括示例49的主题,其中该请求包括与数据订阅者端点系统相关联的公共加密密钥,并且该方法进一步包括:对从在消息中指定的位置访问的数据进行解密,该数据用于基于与公共加密密钥相关联的私有加密密钥来来解密。
[0145] 示例51包括示例49或示例50的主题,并且该方法进一步包括执行智能合约应用以评估从消息中指定的位置访问的数据以确定是否验证事务,智能合约应用用于基于在第一通知中为数据指定的条件来评估数据。
[0146] 示例52包括示例51的主题,其中该条件指定数据量或由数据覆盖的持续时间中的至少一者。
[0147] 示例53包括示例51或示例52的主题,其中该记录是第一记录,并且智能合约应用进一步用于监测从该位置访问的数据以在事务已被验证之后实施条件,并且当智能合约应用判定了数据不满足条件时,将第二记录发布到区块链网络以更新事务。
[0148] 示例54包括示例47至示例53中任一项的主题,并且该方法进一步包括:执行用于处理数据的应用。
[0149] 尽管本文中已公开了某些示例方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利权利要求范围内的全部方法、装置和制品。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈