基于区块链的数据处理方法及装置、电子设备
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法及装置、电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
本说明书提出一种基于区块链的数据处理方法,所述区块链中存储了与目标业务相关的多种业务数据;其中,所述业务数据至少包括数据内容;以及,所述业务数据所引用的源数据,所述方法包括:
获取与目标业务相关的认证根数据;其中,所述认证根数据预先完成了数据认证,并携带指示数据认证通过的数据证明;
确定所述多种业务数据中引用所述认证根数据的第一数据;以及,引用所述第一数据的第二数据,以此类推,直到得出所述多种业务数据之间的数据引用关系;
基于所述数据引用关系将所述认证根数据和所述多种业务数据组织成以所述认证根数据为根节点的业务数据链。
本说明书还提出一种基于区块链的数据处理装置,所述区块链中存储了与目标业务相关的多种业务数据;其中,所述业务数据至少包括数据内容;以及,所述业务数据所引用的源数据,所述装置包括:
获取模块,获取与目标业务相关的认证根数据;其中,所述认证根数据预先完成了数据认证,并携带指示数据认证通过的数据证明;
确定模块,确定所述多种业务数据中引用所述认证根数据的第一数据;以及,引用所述第一数据的第二数据,以此类推,直到得出所述多种业务数据之间的数据引用关系;
组织模块,基于所述数据引用关系将所述认证根数据和所述多种业务数据组织成以所述认证根数据为根节点的业务数据链。
本说明书还提出一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的基于区块链的数据处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
获取与目标业务相关的认证根数据;其中,所述区块链中存储了与目标业务相关的多种业务数据;所述业务数据至少包括数据内容;以及,所述业务数据所引用的源数据;所述认证根数据预先完成了数据认证,并携带指示数据认证通过的数据证明;
确定所述多种业务数据中引用所述认证根数据的第一数据;以及,引用所述第一数据的第二数据,以此类推,直到得出所述多种业务数据之间的数据引用关系;
基于所述数据引用关系将所述认证根数据和所述多种业务数据组织成以所述认证根数据为根节点的业务数据链。
通过以上实施例,由于上述业务数据链是基于与上述目标业务相关的多种业务数据之间的数据引用关系组织而成,并且作为根节点的认证根数据携带数据证明,可以在不依赖外部数据的前提下进行独立验证;因此,对于上述业务数据链上任一业务数据而言,只需要基于数据引用关系在上述业务数据链中进行数据追溯,就可以完成数据验证,从而可以基于上述业务数据链来灵活的搭建可信业务模型,为用户提供真实可信的验证服务。
附图说明
图1是一示例性实施例提供的一种基于区块链的数据处理方法的流程图。
图2是一示例性实施例提供的一种在区块链中存证的业务数据引用数据的示意图。
图3是一示例性实施例提供的一种联盟链的架构图。
图4是一示例性实施例提供的一种为在线租房业务组织可追溯验证的数据链的示意图。
图5是一示例性实施例提供的一种电子设备的结构示意图。
图6是一示例性实施例提供的一种基于区块链的数据处理装置的框图。
具体实施方式
在本说明书中,旨在提出一种基于数据引用关系,将区块链中存储的与目标业务相关的多种业务数据,组织成为可追溯验证的业务数据链的技术方案。
在实现时,与目标业务相关的多种业务数据,可以以交易的形式预先在区块链的分布式数据库中进行存储;其中,每种业务数据的数据结构至少可以由数据内容,以及该业务数据所引用的源数据两部分组成;
例如,在实现时,可以对区块链支持的交易的标准格式进行扩展,在交易的标准格式中扩展出一个引用字段;区块链中的各个业务节点在构建承载该业务数据的交易时,可以将该业务数据所引用的源数据也填充至引用字段,然后可以将构建完成的交易在区块链中进行发布和存储。
而在组织业务数据链时,上层应用首先可以获取区块链中存储的与目标业务相关的认证根数据;
其中,认证根数据预先完成了数据认证,并且携带指示数据认证通过的数据证明,使得该认证根数据可以在不依赖外部数据的前提下进行独立验证;
进一步,上述应用在获取到上述认证根数据后,可以确定在区块链中已经存储的多种业务数据中,引用所述认证根数据的第一数据;以及,引用第一数据的第二数据,并以此类推,直到得出上述多种业务数据之间全部的数据引用关系。
当确定出上述多种业务数据之间全部的数据引用关系之后,上层应用可以基于该数据引用关系,将上述认证根数据和上述多种业务数据,组织成以上述认证根数据为根节点的业务数据链。
在以上实施例中,由于上述业务数据链是基于与上述目标业务相关的多种业务数据之间的数据引用关系组织而成,并且作为根节点的认证根数据携带数据证明,可以在不依赖外部数据的前提下进行独立验证;因此,对于上述业务数据链上任一业务数据而言,只需要基于数据引用关系在上述业务数据链中进行数据追溯,就可以完成数据验证,从而可以基于上述业务数据链来灵活的搭建可信业务模型,为用户提供真实可信的验证服务。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图1,图1是本说明书一实施例提供的一种基于区块链的数据处理方法,应用于应用客户端;其中,区块链中存储了与目标业务相关的多种业务数据;所述业务数据至少包括数据内容;以及,所述业务数据所引用的源数据;上述方法执行以下步骤:
步骤102,获取区块链中存储的与目标业务相关的认证根数据;其中,所述认证根数据预先完成了数据认证,并携带指示数据认证通过的数据证明;
步骤104,确定所述多种业务数据中引用所述认证根数据的第一数据;以及,引用所述第一数据的第二数据,以此类推,直到得出所述多种业务数据之间的数据引用关系;
步骤106,基于所述数据引用关系将所述认证根数据和所述多种业务数据组织成以所述认证根数据为根节点的业务数据链。
在本说明书所描述的区块链,具体可以包括私有链、共有链以及联盟链等,在本说明书中不进行特别限定。
例如,在一个场景中,上述区块链具体可以是由房产认证机构的服务设备、房产租赁机构的服务设备、租客的终端设备、安装于待出租房房源中的智能设备作为成员节点设备组成的一个联盟链;该联盟链的运营方可以依托于该联盟链,来在线部署在线租房业务。而以上所描述的各个成员节点设备都可以作为上述在线租房业务的一个业务节点。各个业务节点可以将自身所产生的业务数据以交易的形式在联盟链中进行发布,当所发布的交易经过共识节点的共识处理之后,在联盟链中的分布式数据库进行存储,完成自身所产生的业务数据的“上链”存证。
其中,需要说明的是,在本说明书中所描述的交易(Transaction),是指用户通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。
区块链中的交易,通常存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的在线业务(比如,租房业务、车辆调度业务、保险理赔业务、信用服务、医疗服务等),而在这类联盟链中,交易可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求。
上述目标业务,可以包括任意类型的能够在区块链中进行部署的在线业务;例如,在线租房业务;相应的,上述业务数据,则可以包括任意类型的与在区块链中部署的在线业务相关的数据;其中,上述业务数据的数据类型,通常可以取决于在区块链所部署的目标业务的具体业务类型;
例如,仍以上述目标业务为在线租房业务为例,在线租房业务所涉及的业务数据,通常可以包括租赁房源的产权数据、租赁房源的房源数据、租赁房源的租赁合同数据、租赁房源中安装的智能硬件数据等。
上述应用客户端,可以包括任意类型的以区块链中存储的底层业务数据作为数据支撑,来实现特定的业务功能的上层应用;
例如,仍以在区块链中部署在线租房业务为例,上述应用客户端具体可以是,以区块链中存储的与在线租房业务相关的业务数据作为数据支撑,来实现诸如验证租客承租的房源是否为可信房源、承租的租客是否可信租客等业务功能的APP客户端。
在本说明书中,区块链的运营方在依托于区块链来部署上述目标业务时,与目标业务相关的多种业务数据,可以以交易的形式预先在区块链的分布式数据库中进行存储。
其中,需要说明的是,在传统的区块链中,将数据以交易的形式在区块链中进行数据存证时,在交易中通常仅会涵盖该需要存证的数据的数据内容,并不会在交易中携带所存证的数据的数据引用关系。
在实际应用中,在区块链中部署一些需要多个业务节点共同参与的在线业务时,该在线业务通常会与多种业务数据相关;而且,与该在线业务相关的多种业务数据之间通常可能还会存在一定的数据引用关系;在这种情况下,区块链中的各个业务节点以交易的形式在区块链中进行业务数据存证时,由于交易中并不携带数据引用关系,因此会造成各个业务节点在区块链中存证的业务数据之间数据引用关系不明确,形成“数据孤岛”,导致上述在线业务的业务数据的完整性无法得到保证。
基于此,在本说明书中,可以预先对区块链支持的交易的标准格式进行扩展,在交易原有的数据格式的基础上,进一步扩展出至少一个引用字段;该引用字段具体用于填充业务数据所引用的源数据。
区块链中的各个业务节点在构建承载业务数据的交易时,除了可以将需要存证的业务数据的数据内容填充在交易中,还可以将该业务数据所引用的源数据也填充至引用字段,以在存证的业务数据中写入数据引用关系。
也即,在本说明书中,各业务节点向区块链存证的业务数据,可以遵循相同的标准数据结构。在该标准数据结构中,至少可以由数据内容,以及该业务数据所引用的源数据两部分组成。
其中,需要说明的是,在交易的标准格式中扩展出的引用字段,可以为多个;也即,交易所承载的业务数据,可以通过应用多个源数据、
在示出的一种实施方式中,为了降低所存证的业务数据的数据量,各业务节点在交易中的引用字段填充业务数据所引用的源数据时,可以预先计算该源数据的数据摘要(比如hash值),然后将该源数据的数据摘要填充至交易中的引用字段。当然,在实际应用中,也可以直接将业务数据所引用的源数据的原始数据内容,填充至交易中的引用字段。在以下的实施例中,将以在交易中的引用字段中填充业务数据所引用的源数据的数据摘要为例进行说明。
当各业务节点在构建完成用于承载业务数据的交易之后,可以将该交易在区块链上进行发布,由区块链中的共识节点进行共识处理;当该交易共识通过后,可以存储至区块链中的特定区块,完成该业务数据在区块链中的存证操作。
其中,对交易进行共识处理的具体过程,通常取决于区块链所支持的共识算法,在本说明书中不再进行详述,本领域技术人员在将本说明书披露的技术方案付诸实现时,可以参考相关技术中的记载。
在本说明书中,各业务节点在区块链中存证的业务数据所能引用的源数据,可以比较灵活;可以是已经在区块链上存证的数据,也可以是已经存储在与区块链对接的第三方存储***中的持久化数据。
例如,请参见图2,图2为本说明书示出的一种在区块链中存证的业务数据引用数据的示意图。
如图2所示,在区块链中存证的业务数据,可以引用在同一条区块链的区块中已经存证的业务数据,也可以跨链引用在其它区块链的区块中存证的业务数据;比如,上述区块链具体可以是一个由多条子链构成的联盟链,各个业务节点可以将自身产生的业务数据分别在不同的子链上进行存证,并跨链引用其它子链上已经存证的业务数据;甚至,还可以引用存储在与区块链对接的第三方存储***中的认证根数据。例如,上述第三方存储***具体可以包括面向区块链提供可靠的数据存储服务的CAS(content-addressable-storage,内容可寻址存储)存储平台。
在本说明书中,与上述目标业务相关的多种业务数据中,还可以包括至少一认证根数据;所谓认证根数据,是指预先完成了数据认证,并携带指示数据认证通过的数据证明(proof),能够在不依赖外部数据的前提下进行独立验证的数据。
其中,上述认证根数据也可以预先在区块链上进行存证,也可以独立存储于与区块链对接的第三方存储***,在本说明书中不进行特别限定;例如,请参见图2,图2中示出的为将认证根数据独立存储于与区块链对接的第三方存储***中。
区块链的运营方可以依托于在区块链中存证的业务数据,来开发上层应用,由上层应用可以基于数据引用关系,将区块链中存证的与目标业务相关的多种业务数据,组织成为可追溯验证的业务数据链。
在实现时,上层应用首先可以获取与目标业务相关的认证根数据,再进一步确定已经在区块链上存证的多种业务数据中引用该认证根数据的第一数据;当确定出引用该认证根数据的第一数据之后,再按照相同的方式,进一步确定上述多种业务数据中引用该第一数据的第二数据,以此类推,直到确定出上述多种业务数据之间所有的数据引用关系时停止。
例如,在示出的一种实施方式中,上层应用确定上述多种业务数据中引用上述认证根数据的第一数据时,首先可以计算该认证数据根的数据摘要;然后可以将该认证根数据的数据摘要作为查询索引,在区块链的区块中发起查询;而区块链中的节点设备可以响应上层应用发起的查询,将该认证根数据的数据摘要与在区块链中存证的上述多种业务数据中的所引用的源数据的数据摘要进行匹配;如果上述多种业务数据中的任一目标业务数据中所引用的源数据的数据摘要与该认证根数据的数据摘要匹配,节点设备可以将该目标业务数据或者该目标业务数据的数据摘要作为查询结果,返回给上层应用。上层应用在收到查询结果后,可以将该目标业务数据确定为引用上述认证根数据的第一数据。上层应用确定上述多种业务数据中引用该第一数据的第二数据的具体实施过程,与以上描述的实施过程相同,不再赘述。
其中,需要说明的是,在区块链中存证的上述多种业务数据之间的数据引用关系,可以由区块链的运营方基于在区块链上部署的在线业务的业务特性,来进行自定义设计,在本说明书中不进行特别限定。
当上层应用确定出上述多种业务数据之间的数据引用关系之后,可以基于该数据引用关系,将所述认证根数据和上述多种业务数据组织成以该认证根数据为根节点的业务数据链。
由于上述业务数据链是基于与上述目标业务相关的多种业务数据之间的数据引用关系组织而成,并且作为根节点的认证根数据携带数据证明,可以在不依赖外部数据的前提下进行独立验证;因此,对于上述业务数据链上任一业务数据而言,只需要基于数据引用关系在上述业务数据链中进行数据追溯,就可以完成数据验证,从而上层应用可以基于上述业务数据链,来灵活的搭建可信业务模型,为用户提供真实可信的验证服务。
而对于用户而言,可以通过上层应用发起针对上述目标业务的业务验证请求,而上述上层应用在接收到用户发起的业务验证请求之后,可以响应该业务验证请求,基于上述业务数据链,来执行由用户发起的针对上述目标业务的业务验证,然后向用户返回相应的业务验证结果。
以下以上述区块链为联盟链,上述目标业务为在线租房业务为例进行说明。
其中,需要强调的是,以上述目标业务为在线租房业务仅为示例性的;显然,在实际应用中,上述目标业务也可以是在线租房业务以外的其它类型的在线业务,在本说明书中不再进行一一列举。
请参见图3,图3为本说明书示出的一种联盟链的架构图。
如图3所示,在示出的一种实施方式中,在联盟链中部署在线租房业务时,房产认证机构、房产租赁机构、租客、安装于待出租房房源中的智能设备,均可以作为联盟成员加入联盟链,并作为在线租房业务中的业务节点,共同参与在线租房业务的业务流程。
其中,在示出的一种实现方式中,上述联盟链具体可以包括多条子链。如图3所示,可以针对房产认证机构、房产租赁机构、租客、智能设备等联盟成员,分别部署一条独立的子链;比如,可以针对房产认证机构部署产权证明数据子链,针对房产租赁机构部署房源编号子链,针对租客部署租赁合同子链,针对智能设备部署智能设备数据子链和智能设备运行数据子链;从而。使得房产认证机构、房产租赁机构、租客、智能设备等联盟成员,可以将自身所产生的业务数据,在各自的子链中进行存证。
房产认证机构,可以对房源的产权数据进行数据认证,并在认证通过后生成该房源的产权证明数据;其中,生成的产权证明数据可以由房源的产权数据,和指示该产权数据已经通过了数据认证的数据证明两部分组成,通过验证产权证明数据所携带的数据证明,可以确定该产权证明数据所锚定的房产是否为具有产权的真实房产。
例如,在实际应用中,房产认证机构对房源的产权数据进行数据认证通过后,可以基于持有的私钥对该产权数据进行签名,将签名后的产权数据作为产权证明数据;在这种情况下,上述数据证明即为该产权证明数据所携带的签名。
对于房产认证机构生成的产权证明数据,可以在房产认证机构的服务设备上进行持久化存储;或者,房产认证机构也可以将生成的产权证明数据来以交易的形式发布至联盟链,在产权证明数据子链的区块中进行存证。
其中,由于产权证明数据携带数据证明,可以在不依赖外部数据的前提下进行独立验证,因此在基于产权证明数据构建交易时,该交易中的引用字段可以为空值。
房产租赁机构(或者房租租赁个人),可以将拥有产权证明数据的房产切分为至少一个可出租的房源,并为每一个房源编码生成一个房源编号;在房源编号的编码信息中,可以包括房源面积、装修信息、安装在该房源中的智能硬件等基础信息。
其中,房源编号引用在区块链上存证的产权证明数据,表示归属于该房产下的房源。当房产租赁机构在为切分出的房源生成了房源编码之后,可以基于每一个房源的房源编号来构建交易,并在交易的引用字段中填充上述产权证明数据的数据摘要,然后将该交易发布至联盟链,在房源编号子链的区块中进行存证。其中,在实际应用中,一份产权证明数据可以切分为多个可出租的房源。
租客,在承租上述多个房源中的某一房源时,可以基于该房源的房源编号与房产租赁机构在线签署租赁合同;例如,租客和房产租赁机构可以分别使用持有的私钥对租赁合同进行签名,完成租赁合同的签署。
其中,租赁合同引用在区块链上存证的房源编号,进而通过房源编号可以查询区块链中存证的历史租赁合同以及当前正在生效的租赁合同。
当租赁合同签署完成后,租客可以基于签署完毕的租赁合同,来构建交易,并在交易的引用字段中填充所承租的房源的房源编号的数据摘要,然后将该交易发布至联盟链,在租赁合同子链的区块中进行存证。
其中,一个房源可以对应区块链上存证的多份历史租赁合同,和一份当前正在生效的租赁合同。
当然,在实际应用中,签署完成的租赁合同在区块链的存证操作,也可以由房产租赁机构来完成;
例如,由房产租赁机构基于签署完毕的租赁合同,来构建交易,并在交易的引用字段中填充所承租的房源的房源编号的数据摘要,然后将该交易发布至区块链,在区块链的区块中进行存证。
智能设备,一方面,可以采集与智能设备相关的,需要在区块链上进行存证的基础数据作为智能设备数据;
其中,上述智能设备数据可以引用在区块链上存证的房源编号,使得该智能设备而可以与安装该智能设备的房源的房源编号进行绑定。
而智能设备可以基于采集到的智能设备数据来构建交易,并在该交易的引用字段中填充该智能设备所在房源的房源编号的数据摘要,然后将该交易发布至联盟链,在智能设备数据子链的区块中进行存证。
另一方面,智能设备还可以采集智能设备在运行过程中所产生的智能设备运行数据;其中,上述智能设备运行数据可以引用在区块链上存证的智能设备数据,表示该智能设备运行数据为该智能设备产生的运行数据;上述智能设备运行数据还可以同时引用在区块链上存证的租赁合同,表示该智能设备运行数据,是在该租赁合同对应的承租周期内产生的运行数据。
而智能设备可以基于采集到的智能设备运行数据,来构建交易,并在交易的引用字段中填充该智能设备所在房源的房源编号的数据摘要,以及该智能设备所在房源当前正在生效的租赁合同的数据摘要,然后将该交易发布至联盟链,在智能设备运行数据子链的区块中进行存证。
其中,上述智能设备运行数据具体用于确定租客在承租房源中的活跃时间;例如,在实际应用中,上述智能运行设备,可以是安装在承租房源中的智能设备在运行过程中所产生的日志数据;通过这些日志数据,可以反映出该房源中的智能设备是否被租客使用,并间接的反映承租该房源的租客是否为真实入住的可信租客。
进一步的,在一种场景下,上述上层应用可以基于联盟链中存证的智能设备运行数据,来统计租客在所承租的房源中的活跃时间,并在租客的活跃时间达到一定时长后,向租客发放一定数量的租赁积分;
例如,可以将统计出的活跃时间与预设阈值(比如两周)进行比较,如果该活跃时间达到了该预设阈值,可以向租客发放一定数量的租赁积分。
请参见图4,图4为本说明书示出的一种为在线租房业务组织可追溯验证的数据链的示意图。
如图4所示,上层应用可以获取一房产的产权证明数据作为认证根数据,并依次确定出引用该产权证明数据的房源编号,引用该房源编号的租赁合同和智能设备数据、以及引用该租赁合同和智能设备数据的智能设备运行数据,然后基于确定出的数据引用关系,将区块链中存证的引用上述产权证明数据的房源编号、引用上述房源编号的租赁合同、引用上述房源编号的智能设备数据、引用上述智能设备数据和上述租赁合同的智能设备运行数据,组织成以产权证明数据为根节点的数据链。
其中,需要说明的是,在实际应用中,以上描述的产权证明数据、房源编号数据、租赁合同数据、智能设备数据、智能设备运行数据之间的数据引用关系,可以基于实际的业务需求进行调整和互换,在本说明书中不进行特别限定。
进一步的,上层应用可以基于上述数据链,来灵活的搭建可信业务模型,面向用户(用户可以是租客、房东或者房产租赁机构)提供真实可信的验证服务。
用户可以通过向上述上层应用发起验证请求的方式,发起对上述在线租房业务的业务验证;而上层应用可以响应用户发起的业务验证请求,基于上述数据链来完成用户发起的业务验证,然后向用户返回验证结果。
其中,需要说明的是,上层应用通过搭建的可信业务模型,面向用户提供的验证服务,具体可以是针对上述数据链中任一数据节点发起的验证,在本说明书中不进行特别限定;
在示出的一种实施方式中,上述应用通过搭建的可信业务模型,面向用户提供的验证服务,具体可以是针对上述在线租房业务的可信房源验证服务。
在这种情况下,租客可以通过上述上层应用发起可信房源验证请求;而上述上层应用可以响应租客发起的可信房源验证请求,基于上述数据链来验证租客承租的房源是否为可信房源。
其中,验证房源是否为可信房源,通常可以包括验证房源是否锚定了具有产权的真实房源;以及,该房源是否为有效房源(即验证该房源当前是否可组)。
在一种情况下,在上述可信房源验证请求中,可以包括租客所承租的房源的房源编号;上层应用在收到该可信房源验证请求后,首先可以验证该用户所承租的房源的房源编号,是否已经在区块链上完成存证;比如,将该房源编号的数据摘要作为查询索引,在区块链的区块中发起查询,以确定该房源编号是否已经在区块链中完成存证;
如果是,表明该房源的房源编号,已经经过租赁平台的审核;此时,上层应用可以进一步在上述数据链上进行数据追溯,获取已经在区块链上存证的该房源编号所引用的产权证明数据,并验证引用该产权证明数据的多个房源编号在逻辑上是否存在冲突;比如,如果该多个房源编号对应的房源面积之和,大于该房源的产权数据中记录的总面积,就认为该多个房源编号在逻辑上存在冲突;
如果引用该产权证明数据的多个房源编号在逻辑上并不存在冲突,表明该房源编号为有效房源,此时上层应用可以进一步验证该产权证明数据所携带的数据证明;如果该数据证明验证通过,表明该房源编号所引用的产权证明数据,所锚定的房产为具有产权的真实房产,该租客承租的房源为可信房源。
在另一种情况下,在上述可信房源验证请求中,还可以包括租客与房产租赁机构签署的租赁合同;由于租赁合同引用房源编号,因此上层应用在收到该可信房源验证请求后,还可以基于该租赁合同所引用的房源编号,查询区块链中存证的引用该房源编号的所有租赁合同,并进一步验证查询到的租赁合同是否均为历史租赁合同;如果查询到的租赁合同均为历史租赁合同,表明在该租赁合同的租赁周期内,不存在其它的生效合同,该房源编号对应的房源处于可出租的状态,此时该租客承租的房源为有效房源。也即,对于一个有效房源来说,可以匹配在区块链上存证的多份历史租赁合同,和至多一份生效的租赁合同。
在示出的一种实施方式中,上述应用通过搭建的可信业务模型,面向用户提供的验证服务,也可以是针对上述在线租房业务的可信租客验证服务。
在这种情况下,房产租赁机构的管理用户可以通过上述上层应用发起可信租客验证请求;而上述上层应用可以响应房产租赁机构的管理用户发起的可信房源验证请求,基于上述数据链来验证租客是否为可信租客。
其中,验证租客是否为可信租客,通常可以包括验证该租客是否真实入住了所承租的房源。
在这种情况下,在上述可信房源验证请求中,可以包括租客承租的房源的房源编号,上层应用在收到该可信房源验证请求后,可以在上述数据链上进行数据追溯,获取引用该房源编号的智能设备数据;当获取到引用该房源编号的智能设备数据,还可以进一步获取引用该智能设备数据的智能设备运行数据;
由于智能设备运行数据,可以反映出所引用的智能设备是否被租客使用,并间接的反映安装了该智能设备的房源的租客是否为真实入住的可信租客;因此,上层应用在获取到引用该房源编号的智能设备数据之后,可以通过进一步验证是否获取到引用该智能设备数据的智能设备运行数据,来确定该房源编号对应的租客,是否为真实入住的可信租客;如果获取到引用该智能设备数据的智能设备运行数据,表明该房源编号对应的房源中安装的智能设备存在运行记录,表明承租该房源的租客为真实入住的可信租客。
在示出的一种实施方式中,上述应用通过搭建的可信业务模型,面向用户提供的验证服务,还可以是针对上述在线租房业务的可信租赁积分验证服务。
其中,如前所述,上述租赁积分,具体可以是上层应用在基于区块链中存证的智能设备运行数据,统计出的租客在所承租的房源中的活跃时间达到预设阈值后,向租客发放的一定数量的租赁积分。也即,租赁积分的数量,实际上指示租客在其承租的房源中的活跃时间。
在这种情况下,租赁管理机构的管理用户可以通过上述上层应用发起可信租赁积分验证请求;而上述上层应用可以响应租赁管理机构的管理用户发起的可信租赁积分验证请求,基于上述数据链来验证向租客发放的租赁积分是否为可信租赁积分。
其中,验证向租客发放的租赁积分是否为可信租赁积分,通常可以包括验证该该租客在所承租的房源中的活跃时间,是否达到了与该租赁积分所能指示的活跃时间。
在这种情况下,在上述可信房源验证请求中,可以包括租客承租的房源的房源编号,上层应用在收到该可信房源验证请求后,可以在上述数据链上进行数据追溯,获取引用该房源编号的智能设备数据;当获取到引用该房源编号的智能设备数据,还可以进一步获取引用该智能设备数据的智能设备运行数据;
由于智能设备运行数据,可以用于统计租客在所承租的该房源中的活跃时间,并且发放给租客的租赁积分,是该活跃时间达到预设阈值时发送;因此,上述上层应用可以基于获取到的智能设备运行数据,重新来统计租客在所承租的房源中的活跃时间,并验证重新统计出的租客在所承租的房源中的活跃时间,是否与向该租客发放的租赁积分所指示的活跃时间匹配;如果二者匹配,表明向该租客发放的租赁积分数量合理,向该租客发放的租赁积分为可信租赁积分。
例如,假设租客在所承租的房源中的活跃时间达到两周,上层应用会向该租客发放10个租赁积分,那么上层应用在针对这10个租赁积分进行可信租赁积分验证时,可以通过验证重新统计出的租客在该房源中的活跃时间,是否为两周;如果是,表明向该租客发放的租赁积分数量合理,这10个租赁积分为可信的租赁积分。
需要强调的是,上层应用通过图4示出的数据链搭建可信业务模型,面向用户提供的验证服务,除了可以是针对上述在线租房业务的可信房源验证、可信租客验证、可信租赁积分验证等验证服务以外,在实际应用中,也可以是基于图4示出的数据链能够完成验证的其它形式的验证服务;比如,验证租赁合同是否有效的验证服务、验证租客承租的房源中的智能设备在退租后是否缺失的验证服务等等,在本说明书中不再进行一一列举。
与上述方法实施例相对应,本说明书还提供了一种基于区块链的数据处理装置的实施例。本说明书的基于区块链的数据处理装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书的基于区块链的数据处理装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图6是本说明书一示例性实施例示出的一种基于区块链的数据处理装置的框图。
请参考图6,所述基于区块链的数据处理装置60可以应用在前述图5所示的电子设备中;其中,所述区块链中存储了与目标业务相关的多种业务数据;其中,所述业务数据至少包括数据内容;以及,所述业务数据所引用的源数据,所述装置60包括有:获取模块601、确定模块602和组织模块603。
获取模块601,获取与目标业务相关的认证根数据;其中,所述认证根数据预先完成了数据认证,并携带指示数据认证通过的数据证明;
确定模块602,确定所述多种业务数据中引用所述认证根数据的第一数据;以及,引用所述第一数据的第二数据,以此类推,直到得出所述多种业务数据之间的数据引用关系;
组织模块603,基于所述数据引用关系将所述认证根数据和所述多种业务数据组织成以所述认证根数据为根节点的业务数据链。
在本实施例中,所述装置60还包括:
接收模块604(图6中未示出),接收针对所述目标业务相关的业务验证请求;
验证模块605(图6中未示出),响应于所述业务验证请求,基于所述业务数据链执行针对所述目标业务的业务验证,并返回业务验证结果。
在本实施例中,所述业务数据包括数据内容;以及,所述业务数据所引用的源数据的数据摘要;
所述确定模块602:
将所述认证根数据的数据摘要作为查询索引向所述区块链发起查询;
当查询到所述多种业务数据中的任一目标业务数据中所引用的源数据的数据摘要与所述认证根数据的数据摘要匹配时,确定所述目标业务数据为引用所述认证根数据的第一数据。
在本实施例中,所述认证根数据存储在所述区块链;或者,存储在与所述区块链对接的第三方存储***。
在本实施例中,所述多种业务数据分别存储在所述区块链中的不同子链。
在本实施例中,所述目标业务包括:租房业务;
所述认证根数据包括:由产权认证机构预先完成数据认证的产权证明数据;
所述多种业务数据包括:引用所述产权证明数据的房源编号数据、引用所述房源编号数据的租赁合同数据、引用所述房源编号数据的智能设备数据、以及引用所述智能设备数据和所述租赁合同数据的智能设备运行数据;其中,所述智能设备运行数据用于确定租客在承租房源中的活跃时间。
在本实施例中,针对所述目标业务的业务验证包括以下中的任一:
针对所述租房业务的可信房源验证;
针对所述租房业务的可信租客验证;
针对所述租房业务的可信租赁积分验证;其中,所述租赁积分为租客在承租房源中的活跃时间达到阈值时向租客发放。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的***、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的数据处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
获取与目标业务相关的认证根数据;其中,所述认证根数据预先完成了数据认证,并携带指示数据认证通过的数据证明;
确定所述多种业务数据中引用所述认证根数据的第一数据;以及,引用所述第一数据的第二数据,以此类推,直到得出所述多种业务数据之间的数据引用关系;
基于所述数据引用关系将所述认证根数据和所述多种业务数据组织成以所述认证根数据为根节点的业务数据链。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的数据处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收针对所述目标业务相关的业务验证请求;
响应于所述业务验证请求,基于所述业务数据链执行针对所述目标业务的业务验证,并返回业务验证结果。
在本实施例中,所述业务数据包括数据内容;以及,所述业务数据所引用的源数据的数据摘要;通过读取并执行所述存储器存储的与基于区块链的数据处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
将所述认证根数据的数据摘要作为查询索引向所述区块链发起查询;
当查询到所述多种业务数据中的任一目标业务数据中所引用的源数据的数据摘要与所述认证根数据的数据摘要匹配时,确定所述目标业务数据为引用所述认证根数据的第一数据。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。