一种在区块链中实现可信数据交换的节点、装置及系统的制作方法

文档序号:23347522发布日期:2020-12-18 16:49阅读:216来源:国知局
一种在区块链中实现可信数据交换的节点、装置及系统的制作方法

本发明涉及可信业务数据处理技术领域,尤其是涉及一种在区块链中实现可信数据交换的节点、装置及系统。



背景技术:

当今已进入大数据时代,通常,各领域及部门都建立了各自详实的数据库,但由于社会各行各业、甚至同一行业不同单位的数据库往往都是针对自身的业务需求进行定制的,导致数据库间存在很大的差异,如系统环境、数据平台、数据格式及内容等千差万别,各自维护各自的数据库,各领域及部门之间形成若干数据孤岛。

为了促进数据共享与顺应大数据时代需求,数据之间的交换必须可少,现有的数据交换体系中,通常采用中心化系统来协调各方进行数据交换。图1为采用中心化系统协调数据交换的场景图,一种数据交换的方式可以为,数据提供方将数据1传输给数据申请方,具体为,数据提供方将数据1传输至中心化系统,中心化系统负责接收数据1,在中心化系统进行转存、整合后,中心化系统再将数据1传输给数据申请方;另一种数据交换的方式可以为,数据申请方将数据2传输给数据提供方(在此场景图中,数据提供方同时也可以作为数据申请方,数据申请方同时也可以作为数据提供方),具体为,数据申请方将数据2传输至中心化系统,中心化系统负责接收数据2,在中心化系统进行转存、整合后,中心化系统再将数据2传输给数据提供方,其中,数据交换可以为单方的数据传输,如数据提供方将数据传输给了数据申请方,或数据申请方将数据传输给了数据提供方,也可以为双方的数据传输,如在某一时段内双方互传数据,具体交换方式依据实际情况而定。

但现有的中心化系统数据交换中,中心化系统需要整合多方数据交换的内容以及格式,仍以图1为例,数据在交换过程中,数据1和数据2都会转存并整合到中心化系统,如果有多个数据提供方与接收方,那么中心化系统需要处理更多的数据。一旦中心化系统受到侵入或损坏,转存到中心化系统的数据也将受损,甚至出现数据泄露、数据错误或数据被篡改的现象,则数据在传输给数据申请方时可能会接收到受损的数据,此时就出现了数据不可信的问题。



技术实现要素:

本申请提供一种在区块链中实现可信数据交换的节点、装置及系统,以解决现有数据交换体系中存在不可信的问题。

第一方面,本申请提供一种在区块链中实现可信数据交换的节点,所述节点被赋予多个角色,包括数据提供角色、数据申请角色、审批角色以及交换角色:

数据提供角色被配置为,开放本地数据访问请求权限,提供要交换的数据;

数据申请角色被配置为,发出数据交换请求,接收所述交换的数据;

审批角色被配置为,审批数据申请角色发出的数据交换请求,产生审核结果;

交换角色被配置为,按照预设规则将数据提供角色的数据发送给数据申请角色,或与数据申请角色互传数据。

第二方面,本申请提供一种在区块链中实现可信数据交换的装置,所述装置为一个节点,所述节点包括数据提供单元、数据申请单元、审批单元以及点对点数据交换单元:

所述数据提供单元将需要交换的数据文件进行分类概括,得到对应的分类概括信息;

所述数据提供单元将所述分类概括信息进行编录,得到交换目录信息;

所述数据提供单元将交换目录信息上链;

所述数据申请单元获取所述上链的目录信息,根据所述上链目录信息提出交换申请,将交换申请上链;

所述审批单元对所述交换申请进行审批,将所述审批结果传递至所述点对点数据交换单元;

所述点对点数据交换单元接收所述审批单元传递的审批结果,如果所述审批结果为不通过,驳回所述交换申请,拒绝数据交换;如果审批结果为通过,生成交换契约;

所述点对点数据交换单元根据所述交换契约执行数据交换,生成数据交换结果,将所述数据交换结果上链。

第三方面,本申请提供一种在区块链中实现可信数据交换的系统,包括多个节点,每个节点被赋予不同的角色,分别为数据提供单元、数据申请单元、审批单元以及点对点数据交换单元:

所述数据提供单元被配置为,开放本地数据访问请求权限,将需要交换的数据文件进行分类概括,得到对应的分类概括信息;将所述分类概括信息进行编录,得到交换目录信息;将所述交换目录信息上链;

所述数据申请单元被配置为,获取所述上链的交换目录信息,根据所述交换目录信息提出交换申请,将交换申请上链;

所述审批单元被配置为,对上链的所述交换申请进行审批,将所述审批结果传递至所述点对点数据交换单元;

所述点对点数据交换单元被配置为,接收所述审批单元传递的审批结果,如果所述审批结果为不通过,驳回所述交换申请,拒绝数据交换;如果审批结果为通过,生成交换契约,根据所述交换契约执行数据交换,生成数据交换结果,将所述数据交换结果上链。

由以上技术方案可知,本申请提供一种在区块链中实现可信数据交换的节点、装置及系统,数据提供单元通过将需要交换的数据进行编录与上链,数据申请单元根据数据提供单元的历史评价信息判断数据提供单元的上链目录信息是否可信,如果可信,搜索需要的信息提出交换申请,审批单元根据数据申请单元的历史评价信息判断交换申请是否通过,若审批结果为通过,生成交换契约,根据交换契约内容,通过点对点数据交换组件执行数据交换,数据交换完成后数据申请单元评价数据提供单元交换数据的可信性,本申请在保证数据交换的基础上实现了无中心化干涉的点对点数据交换,在数据交换过程中,通过对上链目录信息与交换申请的可信性评价,确保了数据交换的可信性,解决了现有数据交换体系中存在不可信的问题。

附图说明

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

图1为本申请提供的一种采用中心化系统协调数据交换的场景图;

图2为本申请实施例提供的一种在区块链中实现可信数据交换的系统流程示意图。

具体实施方式

为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

现有的数据交换体系中,需要就多方的数据进行交换与汇总,既有体系中,数据交换通常是采用中心化软件来协调各方进行数据交换的方式,参见图1,图1为本申请提供的一种采用中心化系统协调数据交换的场景图,数据提供方与数据申请单元进行数据交换时,需要将交换数据中转至中心化系统,在中心化系统转存、整合后再进行交换,但现有的中心化系统数据交换中存在诸多问题,例如现有数据交换体系中,参与数据交换的多方交换参与者需要承担数据泄露给中心化系统的风险;交换参与者将数据传输至中心化系统后,中心化系统需要对数据进行统一收集与交换,中心化系统需要整合多方数据交换的内容以及格式;又如,数据传输到中心化系统后,中心化系统需要承担数据泄露或者数据错误的风险与责任,可见,基于中心化的数据交换存在一定的可信性的问题。

本申请提出了不需要中心化数据交换系统来协调数据交换的方式,提供一种在区块链中实现可信数据交换的节点、装置及系统,借助区块链这一去中心化信任体系,利用链上数据不可篡改性、可追溯性和安全性等特性,避免了中心化系统数据交换过程中固有的不可信的问题。

为了便于进一步对本方案的理解,现对本申请实施例的使用场景及相关词汇进行解释。本申请实施例中的数据交换并不是传统意义上同一时刻的、一对一的互传,即,数据交换不是指发生在同一个时刻的数据一换一,而是在约定的一个时间段内,交换双方(数据提供方和数据申请方)可以在该时间段的任一时刻从对方处请求数据,就某一个时刻而言,数据交换的数据流转方向都是单向的。

一个典型的例子是政务数据的交换,例如教育局在分配学位的时候需要查询某个人的户口,而户口是由公安局来记录存储,此时,教育局作为数据申请方要查看数据,而公安局是作为数据提供方提供数据,因此,在符合某些前提条件下,在某一时间段内,教育局能够申请从公安局处获取到指定范围内的户口数据。实际工作过程中,每一个节点都可以从其他节点处申请获取数据,同时也可以授权其他节点从本地获取数据,因此,一个节点既可以作为数据提供方,也可以作为数据申请方,数据交换过程中,具体的交换形式都遵循一个原则:一个节点可以申请从其他节点处获取数据,但是同时必须开放本地数据访问请求权限,换句话而言就是节点通过将本地数据的访问权出让,从而获取从其他节点处访问数据的权利。实际工作中,针对某一特定环境下的数据交换大部分情况都是单向流转,但是本申请不作限制,因为双向流转也可以看作是两个单向流转。

第一方面,本申请实施例提供一种在区块链中实现可信数据交换的节点,该节点被赋予多个角色,包括数据提供角色、数据申请角色、审批角色以及交换角色,在区块链中,一个节点可以被赋予执行不同功能的多个角色,例如,一个节点可以是存储节点也可以是审批节点,当它为存储节点角色时,执行的是存储功能,当它为审批节点角色时,执行的是审批功能。本申请中的节点同样也被赋予多个角色,各个功能角色的功能为:

数据提供角色被配置为,开放本地数据访问请求权限,为数据申请角色提供要交换的数据;

数据申请角色被配置为,向数据提供角色发出数据交换请求,接收交换的数据,根据前文描述,这里交换的数据即是指数据提供角色向数据申请角色传输数据的过程;

审批角色被配置为,审批数据申请角色发出的数据交换请求,产生审核结果;

交换角色被配置为,按照预设规则将数据提供角色的数据发送给数据申请角色,或与数据申请角色互传数据。预设规则是指,数据提供角色和数据申请角色可预先定制数据交换规则,例如,如果根据对方历史交易信息判断对方以往交易可信,则同意进行下一步操作,如果判断结果为不可信,拒绝交换操作,具体规则及判定标准可自行设定。

第二方面,本申请实施例还提供一种在区块链中实现可信数据交换的装置,该装置为一个节点,该节点包括数据提供单元、数据申请单元、审批单元以及点对点数据交换单元,其中:

数据提供单元将需要交换的数据文件进行分类概括,得到对应的分类概括信息;

数据提供单元将分类概括信息进行编录,得到交换目录信息;

数据提供单元将交换目录信息上链;

数据申请单元获取上链的目录信息,根据上链目录信息提出交换申请,将交换申请上链;

审批单元对交换申请进行审批,将审批结果传递至点对点数据交换单元;

点对点数据交换单元接收审批单元传递的审批结果,如果审批结果为不通过,驳回交换申请,拒绝数据交换;如果审批结果为通过,生成交换契约;

点对点数据交换单元根据交换契约执行数据交换,生成数据交换结果,将数据交换结果上链。

第三方面,本申请还提供一种在区块链中实现可信数据交换的系统,包括多个节点,每个节点被赋予不同的角色,也可以为,一个节点被赋予不同角色,多个节点被赋予的角色分别为数据提供单元、数据申请单元、审批单元以及点对点数据交换单元:

参见图2,图2为本申请实施例提供的一种在区块链中实现可信数据交换的系统流程示意图,由图2可知,系统中各个单元被配置为执行如下流程:

数据提供单元被配置为,开放本地数据访问请求权限,将需要交换的数据文件进行分类概括,得到对应的分类概括信息;将分类概括信息进行编录,得到交换目录信息;将交换目录信息上链。一个节点既可以是数据提供方,也可以是数据申请单元,相当于给节点赋予了某种角色,对应的,当需要对交换的数据进行审批时,也可以有节点作为审批方,从这个角度讲,数据交换双方在进行数据交换时也相当于点对点的数据交换。

为了便于理解,此处进行实际举例说明,对图2中各个流程进行详细说明,本申请实施例设定的数据交换场景为,设定数据提供单元为a0,需要交换的数据为data1、data2,即数据提供单元a0提供两份需要进行交换的数据,相应的,可以有两个数据申请单元,分别为a1、a2。实际工作中,结合图2所示的流程图,实际各流程具体内容如下:

数据提供单元执行开放本地数据访问请求权限:数据交换过程中,一个节点可以申请从其他节点处获取数据,但是同时必须开放本地数据访问请求权限,节点通过将本地数据的访问权出让,从而获取从其他节点处访问数据的权利。

数据提供单元执行分类概括交换数据:数据提供单元a0首先将交换数据data1、data2进行分类概括,分类概括的目的是从诸多原始数据中提炼出具有概括性和总结性的信息,因为数据交换时出于安全考虑不可能把所有的数据全部展现出来,所以要对具体数据内容进行提炼,提炼的侧重点和具体内容可按照实际需求决定。数据data1、data2进行分类概括后得到对应的分类概括信息,即,得到的分来概括信息就是对data1、data2的归纳总结。

数据提供单元执行交换目录上链:将分类概括信息进行编录,得到交换目录信息,交换目录信息的格式与内容由用户自定义设置。分类概括信息可以是离散的,也可以是概括、总结性的,对分类概括的信息内容进行编录,即进行摘录与编辑,例如,当分类概括信息是离散形式时,通过编录可以把离散的数据按照实际需求的格式进行汇总,最终形成各自的目录信息。在这个例子中,data1、data2的的分类概括信息经过编录后,分别得到交换目录信息x1,x2,即,需要交换的数据data1对应的交换目录信息为x1,需要交换的数据data2对应的交换目录信息为x2,此处的交换目录可以理解为一篇文章的摘要,通过读取摘要即可了解到整篇文章的大致信息,本申请的数据交换环节中,通过读取目录信息即可了解到整体交换数据的大致内容,如数据类别、数据概括、数据的用途等。

提供方a0将交换目录信息x1,x2上链存储,得到上链目录信息。数据提供方a0作为一个节点可以是一台计算机终端设备,数据提供方a0将x1,x2发布到了区块链上,上链过程中,x1,x2的内容没有发生变化,只不过是存储到了区块链中,记为上链目录信息,即上链目录信息同样为x1,x2。

数据申请单元提出交换申请:数据申请单元通过读取x1,x2的内容就可以基本判定是不是自己想要的数据。在实际工作过程中,会涉及到很多节点,会有多个数据提供方和数据交换方,当区块链上公开的交换目录信息x1,x2数据很少时,可以直接读取,如果交换目录信息x1,x2很多时,直接读取的方法不可取,可以对想要的内容进行查询搜索,即,可对上链目录信息进行筛选,生成筛选目录信息,由用户自定义按条件选取筛选目录信息,选定一个或多个筛选目录信息作为最终确认目录信息作为最终确认目录信息,进而提出交换申请。

例如,计算机节点上可以部署有平台或系统,数据申请单元a1想要获得有关银行业务方面指导的数据内容,通过输入框输入查询的关键字“银行”即可显示出查询结果,当数据申请单元a1、a2确认某条交换目录信息正是自己想要的,则提出交换申请,表示想获取数据提供单元a0的数据,此处假设数据申请单元a1搜索到交换目录信息x1正是想要的数据,则发出交换请求e1;数据申请单元a2搜索到交换目录信息x2正是想要的数据,则发出交换请求e2,同时将交换请求e1、e2上链,每一步操作都会上链保存,以确保数据不可篡改,保证数据交换过程中的可信性。

需要说明的是,在提出交换申请之前,数据申请单元还被配置为根据数据提供单元的历史评价信息判断交换目录信息的可信性,数据申请单元根据数据提供单元的历史评价信息判断数据提供单元上链目录信息x1,x2的可信性,如果目录信息可信,数据申请单元提出交换申请,如果目录信息不可信,例如数据申请单元通过数据提供单元的历史评价信息查看以往交换记录中数据提供单元是否开放了足够的访问权限,是否存在恶意只开了部分权限的记录,是否存在无法正常访问数据的记录等,如果出现这种情况评价结果为数据提供单元不可信,则数据申请单元可根据实际情况不提出数据交换申请,如果没有上述不可信的情况,则可提出数据交换申请。

数据提供单元的历史评价信息数量初始值为0,在进行数据交换过程中,如果数据提供单元的历史评价信息数量为0,则上链目录信息的可信性将缺乏判断依据,此时可由用户自定义链上或链下进行数据交换,即在数据申请单元想要判断数据提供单元的上链目录信息是否可信时,发现并没有历史评价信息,也就是作为数据提供单元,之前并没有与其他数据申请单元进行交换数据,或者即使交换了数据并没有对数据交换进行评价,这种情况下,数据交换双方可自行拟定交换规则,如可在链下进行沟通,遵从互信、守信等原则进行数据交换,可简单口述数据内容之后再决定是否交换等,如果经商榷决定交换数据,则交换数据(本申请实施例中所谓的交换数据都是指某一时刻的单向数据传输,即,数据提供单元给数据申请单元传输数据,并不是同一时刻的数据提供单元与数据申请单元互传数据),交换完成后数据申请单元对数据提供单元进行评价,则数据提供单元将新增一条评价信息,随着数据交换次数的增加,历史评价信息数量累加,即数据申请单元在数据交换完成后,对数据提供单元的可信性进行评价,累加评价信息,得到数据提供单元的历史评价信息。

数据申请单元对数据提供单元的交换目录信息可信性判断方式可预先制定判断规则,例如,一种判断交换目录信息可信性的方式可以为,首先获取数据提供单元的历史评价信息,假设对数据提供单元的评价方式是好评、中评、差评模式的,数据申请单元制定的判断规则可以为,首先设置第一阈值,第一阈值是指对数据提供单元交换目录信息好评率判断的基准,假设第一阈值设定为80%,如果历史评价信息的好评率不低于第一阈值,目录信息可信,如果历史评价信息的好评率低于第一阈值,目录信息不可信,相应的,应用到具体场景,情况为,假如数据提供单元共有10条好评、中评、差评的评论数,如果好评的数量不小于8,则数据提供单元的历史评价信息可信。再如,如果数据提供单元的历史评价信息为按分数评价的,则可以根据分数取均值或按权重计算,判断数据提供单元的历史评价信息可信性时同样可以设置一个阈值,不低于阈值即视为历史评价信息可信,低于阈值即视为历史评价信息不可信,阈值可由用户根据实际需求自行设定,本申请对判断历史评价信息可信性的具体方式不作限定。

以上即是数据申请单元根据数据提供单元的历史评价信息对数据提供单元上链的交换目录信息进行可信性评价流程,如果数据提供单元上链的交换目录信息可信,数据申请单元提出交换申请,如果数据提供单元上链的交换目录信息不可信,数据申请单元可不提出交换申请。同样的,数据提供单元为了保证数据被有效传输,而不是恶意传输,也要根据根据数据申请单元的历史评价信息确定数据申请单元访问目录信息的权限,如果数据申请单元的历史评价信息可信,则允许数据申请单元访问目录信息,如果数据申请单元的历史评价信息不可信,则不允许数据申请单元访问目录信息,具体可信性判断规则本申请不做具体限定。

数据申请单元被配置为,获取上链的交换目录信息,根据交换目录信息提出交换申请,将交换申请上链,前提条件可以为,当数据提供单元对数据申请单元可信性进行初步评估后,认为其具有可信性,则数据申请单元将交换申请上链。

审批单元被配置为,对上链的交换申请进行审批,将审批结果传递至点对点数据交换单元。如果数据申请单元的历史评价信息可信,则审批结果为通过;如果数据申请单元的历史评价信息不可信,则认为数据申请单元的历史评价信息不可信,拒绝交换申请,审批结果为不通过。如果审批单元s0对数据申请单元的交换请求e1、e2判断结果为不通过,则说明数据申请单元在以往数据交换过程中可能存在不可信行为,则驳回数据申请单元的交换请求e1、e2,拒绝数据交换,结束相关操作。审批完成后,将审批结果传递至点对点数据交换单元。

具体地,数据提供单元a0提供上链目录信息x1,x2后,数据申请单元a1、a2判断上链目录信息x1,x2的可信性,如果可信,提出交换请求e1、e2并上链,如果不可信,不提出交换请求。当数据申请单元a1、a2提出交换请求e1、e2并上链后,区块链上将有一个节点作为审批单元对e1、e2进行审批,即某一节点被赋予审批单元的角色,为了便于描述,此处将审批单元记为s0,至于哪个节点作为审批单元s0可由区块链内部机制投票产生,或按照实际需求指定某节点等,本申请不作具体限定。同样,审批单元s0根据数据申请单元的历史评价信息判断数据申请单元的交换请求e1、e2的可信性,判断方式可以为,审批单元获取数据申请单元的历史评价信息,根据历史评价信息对交换申请进行审批,设置历史评价信息好评率的第二阈值,如果历史评价信息好评率不低于第二阈值,交换申请的审批结果为审批通过,如果历史评价信息好评率低于第二阈值,交换申请的审批结果为审批未通过。对数据申请单元交换申请进行审批可进一步保证数据提供单元提供的数据被有效流通,防止数据恶意被流转等。

点对点数据交换单元被配置为,接收审批单元传递的审批结果,如果审批结果为不通过,驳回交换申请,拒绝数据交换;如果审批结果为通过,生成交换契约,根据交换契约执行数据交换,生成数据交换结果,将数据交换结果上链。

具体地,如果审批单元s0对数据申请单元的交换请求e1、e2判断结果为通过,则说明数据申请单元在以往数据交换过程中行为可信,则根据实际需求提出交换请求,并生成交换契约,此处的交换契约可以包括数据交换过程中拟定的一些规则或流程、交换时间等,如交换契约可以是一次交换,短期交换,或者是长期的交换。生成交换契约后,按照交换契约开始执行数据交换,可以通过调用链下的点对点数据交换组件来完成数据交换的过程。即,审批单元s0对数据申请单元的交换请求e1、e2通过审批后,可以通过平台调用或其他方式调用点对点数据交换组件来执行数据交换。

数据提供单元与数据申请单元数据交换成功后,将数据交换的结果上链,数据交换结果中可以包括数据交换的类别、数据概括、交换契约、交换模式等,同时也可以将数据交换的结果根据实际需求附加到历史评价信息中,可供以后数据交换作参考。数据交换完成后,数据申请单元对此次数据交换进行评价,即在区块链上评价数据提供单元的可信性,提交评价信息,生成历史评价信息,以供以后的上链目录信息和审批交换申请提供判断依据。

在数据交换过程中,预先设定的交换规则可以为,一个节点申请从其他节点获取数据的前提是开放本地数据访问权限,即,数据申请单元作为一个节点如果想要其他数据提供单元节点传输数据,需将数据申请单元本地的数据访问权限也开放,这也可以作为双方数据交换的前提。

由以上技术方案可知,本申请提供一种在区块链中实现可信数据交换的节点、装置及系统,数据提供单元通过将需要交换的数据进行编录与上链,数据申请单元根据数据提供单元的历史评价信息判断数据提供单元的上链目录信息是否可信,如果可信,搜索需要的信息提出交换申请,审批单元根据数据申请单元的历史评价信息判断交换申请是否通过,若审批结果为通过,生成交换契约,根据交换契约内容,通过点对点数据交换组件执行数据交换,数据交换完成后数据申请单元评价数据提供单元交换数据的可信性,本申请在保证数据交换的基础上实现了无中心化干涉的点对点数据交换,在数据交换过程中,通过对上链目录信息与交换申请的可信性评价,确保了数据交换的可信性,解决了现有数据交换体系中存在不可信的问题。

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