具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一个或多个一部分实施例,而不是全部的实施例。基于本说明书一个或多个中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
需要说明的是,在不冲突的情况下,本说明书中的一个或多个实施例以及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本说明书一个或多个实施例。
本说明书一个或多个实施例提供了一种业务数据上链方法及装置,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
图1为本说明书一个或多个实施例提供的业务数据上链系统的应用场景示意图,如图1所示,该系统包括:用户终端、业务处理服务器和区块链中至少一个区块链节点,其中,该用户终端可以是智能手机、平板电脑等移动终端,该用户终端还可以是个人计算机等终端设备,该业务处理服务器可以是用于对用户终端的业务请求进行处理的业务服务端,其中,该业务请求可以是业务处理请求,还可以是业务数据查询请求,对应的,用户终端为业务数据查询终端,该业务处理服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。
其中,业务处理服务器可以是接入区块链中作为区块链中的一个区块链节点,业务处理服务器也可以是与接入区块链的至少一个区块链节点进行通信,以业务处理服务器接入区块链为例,具体的,上述业务数据上链的具体过程为:
用户终端,基于用户的第一触发操作向业务处理服务器发送目标业务的业务处理请求,其中,该业务处理请求携带有目标业务的标识信息;
业务处理服务器,响应于上述业务处理请求,针对目标业务中的每个业务处理节点生成相应的业务数据,并将该业务数据发送至区块链中至少一个区块链节点;
至少一个区块链节点,获取针对目标业务中的每个业务处理节点所生成的待上链业务数据;其中,该待上链业务数据包括:多个业务数据字段对应的特征值;
至少一个区块链节点,调用区块链中部署的智能合约,基于待上链业务数据中的多个业务数据字段对应的特征值和预设的摘要信息字段,生成各业务处理节点对应的业务数据摘要信息;其中,该预设的摘要信息字段包括:针对多个业务处理节点所构建的统一摘要数据结构中涉及的指定数据字段;
至少一个区块链节点,将各业务处理节点对应的业务数据摘要信息和待上链业务数据存储至区块链中;
用户终端,基于用户的第二触发操作向业务处理服务器发送目标业务的业务数据查询请求,其中,该业务数据查询请求携带有目标业务的业务处理订单标识;
业务处理服务器,向区块链中至少一个区块链节点发送上述业务数据查询请求;
至少一个区块链节点,在接收到业务数据查询请求后,从区块链中获取与上述业务处理订单标识对应的多个业务处理节点的业务数据摘要信息和已上链业务数据;
至少一个区块链节点,将上述业务数据摘要信息和已上链业务数据发送至业务处理服务器;
业务处理服务器,基于上述业务数据摘要信息和已上链业务数据生成目标页面数据,并将该目标页面数据发送至相应的业务数据查询终端;
业务数据查询终端,基于接收到的目标页面数据进行页面渲染,以按照上述统一摘要数据结构展示该业务数据摘要信息,以及按照原区块链存储数据结构展示相应的业务数据。
在上述应用场景中,在基于区块链进行目标业务处理并将生成的业务数据存储至区块链的过程中,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
图2为本说明书一个或多个实施例提供的业务数据上链方法的第一种流程示意图,图2中的方法能够由图1中的区块链中至少一个区块链节点执行,如图2所示,该方法至少包括以下步骤:
S202,获取针对目标业务中的每个业务处理节点所生成的待上链业务数据;其中,该待上链业务数据包括:多个业务数据字段对应的特征值;
其中,针对基于区块链进行业务处理的某一目标业务,在对该目标业务进行业务处理过程中通常涉及多个业务处理阶段,为了确保数据安全性和可追溯性,需要将针对部分或全部的业务处理阶段进行业务处理过程中所产生的业务数据进行上链处理,若每个业务处理阶段对应于至少一个业务处理节点,针对每个业务处理阶段进行相应的业务处理所产生的业务数据,即为针对该业务处理阶段对应的至少一个业务处理节点所生成的待上链业务数据。
以目标业务为数字物权服务业务为例,其中,该数字物权服务业务主要为将某一实物转换为数字资产的业务服务,针对数字物权服务业务进行业务处理的过程中通常涉及的多个业务处理阶段可以包括:注册仓单、库存转仓单、仓单质押、仓单解质押、仓单注销等;对应的,获取针对数字物权服务业务中的每个业务处理节点所产生的业务数据作为待上链业务数据,例如,在仓单注册完成后,获取针对注册仓单阶段所产生的业务数据作为待上链业务数据1,又如,在库存转仓单完成后,获取针对库存转仓单阶段所产生的业务数据作为待上链业务数据2,类似地,针对每个当前执行完成的业务处理阶段所涉及的任一业务处理节点,获取针对该业务处理节点所生成的业务数据作为待上链业务数据。
S204,调用区块链中部署的智能合约,基于待上链业务数据中的多个业务数据字段对应的特征值和预设的摘要信息字段,生成各业务处理节点对应的业务数据摘要信息;其中,该预设的摘要信息字段包括:针对多个业务处理节点所构建的统一摘要数据结构中涉及的指定数据字段;
其中,可以预先生成包含统一摘要数据结构的智能合约,该智能合约用于针对每个待上链业务数据自动生成相应的业务数据摘要信息,并且在区块链中部署的该智能合约,以便在针对每个业务处理节点所产生的业务数据进行数据上链处理时,通过调用该智能合约自动针对该业务处理节点生成相应的业务数据摘要信息。
S206,将各业务处理节点对应的业务数据摘要信息和待上链业务数据存储至区块链中;
具体的,在针对当前执行完成的业务处理节点所产生的业务数据生成相应的业务数据摘要后,将该业务数据摘要信息和相应的业务数据实时进行上链处理,其中,业务数据仍以原始的密文形式的区块链存储数据结构存储于区块链中,而业务数据摘要信息将以新增的明文形式的统一摘要数据结构存储于区块链中,这样在确保业务数据的安全性的前提下,还实现区块链中存储的业务数据的易读性。
本说明书一个或多个实施例中,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
其中,如图3所示,上述S204,调用区块链中部署的智能合约,基于待上链业务数据中的多个业务数据字段对应的特征值和预设的摘要信息字段,生成各业务处理节点对应的业务数据摘要信息,具体包括:
S2042,调用区块链中部署的智能合约,在待上链业务数据中的多个业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值;其中,该预设的摘要信息字段包括:针对多个所述业务处理节点所构建的统一摘要数据结构中涉及的指定数据字段;
具体的,上述指定数据字段可以包括:业务处理标识、业务操作内容说明和业务操作附加信息中至少一项,该业务操作内容说明包括:业务执行主体、业务处理动作类型和业务操作对象;
对应的,在获取到待上链业务数据后,调用区块链中部署的智能合约,在待上链业务数据中的多个业务数据字段对应的特征值中,确定与统一摘要数据结构中涉及的指定数据字段匹配的目标数据字段对应的特征值;
在具体实施时,调用区块链中部署的智能合约,基于待上链业务数据,分别确定业务处理标识、业务执行主体、业务处理动作类型、业务操作对象和业务操作附加信息;
例如,仍以目标业务为数字物权服务业务为例,针对仓单注册的业务处理阶段,业务处理标识可以是注册仓单,业务执行主体可以是XX系统,业务处理动作类型可以是生成,业务操作对象可以是区块链仓单,业务操作附加信息可以是仓单ID:ff148b4502202007081114243245。
S2044,根据确定出的目标数据字段的特征值,生成业务处理节点对应的业务数据摘要信息。
具体的,在确定出与统一摘要数据结构中涉及的指定数据字段匹配的目标数据字段对应的特征值后,基于该特征值生成相应的业务数据摘要信息,具体的,上述S2044,根据确定出的目标数据字段的特征值,生成业务处理节点对应的业务数据摘要信息,具体包括:
步骤一,基于确定出的目标数据字段的特征值,对智能合约包含的统一摘要数据结构中涉及的各指定数据字段进行赋值,得到赋值后的统一摘要数据结构;
步骤二,将赋值后的统一摘要数据结构确定为业务处理节点对应的业务数据摘要信息。
具体的,以数字物权服务业务中的仓单注册的业务处理阶段为例,若确定出的目标数据字段的特征值分别为:业务处理标识对应的特征值为注册仓单,业务执行主体对应的特征值为XX系统,业务处理动作类型对应的特征值为生成,业务操作对象对应的特征值为区块链仓单,业务操作附加信息对应的特征值为仓单ID:ff148b4502202007081114243245,则将统一摘要数据结构中涉及的业务处理标识字段赋值为注册仓单,将统一摘要数据结构中涉及的业务执行主体字段赋值为XX系统,将统一摘要数据结构中涉及的业务处理动作类型字段赋值为生成,将统一摘要数据结构中涉及的业务操作对象字段赋值为区块链仓单,以及,将统一摘要数据结构中涉及的业务操作附加信息字段赋值为仓单ID:ff148b4502202007081114243245。
具体的,针对每个业务处理节点,在该业务处理节点对应的业务数据中,提取业务处理标识信息,以及提取业务执行主体信息、业务处理动作类型信息、业务操作对象信息,以及提取业务操作附加信息,其中,基于业务执行主体信息、业务处理动作类型信息、业务操作对象信息生成业务操作内容说明。
其中,需要预先在区块链中部署用于生成各业务处理节点对应的业务数据摘要信息的智能合约,以便后续能够自动调用相应的智能合约,以触发自动生成业务数据摘要信息和业务数据上链存储,确保针对不同业务处理节点所生成的业务数据摘要信息的规范性和标准化,进一步的,针对目标业务需要新增业务处理节点的情况,也可以通过调用预先部署的智能合约生成相应的包含字段赋值后的统一摘要数据结构的业务数据摘要信息,提高了业务数据摘要信息的生成过程的普适性、自适应性,能够适应针对目标业务中涉及的业务处理节点的变更操作,基于此,如图4所示,在S202,获取针对目标业务中的每个业务处理节点所生成的待上链业务数据之前,还包括:
S208,将业务执行主体、业务处理动作类型和业务操作对象的组合,确定为表征业务处理节点的业务操作内容说明的指定数据字段;
其中,上述业务执行主体可以是业务处理节点的执行主体,上述业务处理动作类型可以是针对当前业务处理节点所执行的操作动作,上述业务操作对象可以是针对当前业务处理节点所操作的对象;对应的,在针对业务处理节点生成业务数据摘要信息的过程中,基于业务数据中包含的多个业务数据字段对应的特征值,对业务执行主体、业务处理动作类型和业务操作对象进行赋值;
例如,仍以目标业务为数字物权服务业务为例,在针对业务处理节点生成业务数据摘要信息的过程中,上述业务执行主体对应的特征值包括:存货人、仓储方、资金方、XX系统等;上述业务处理动作类型对应的特征值包括:提交、同意/拒绝、上传、更新、确认、生成等;上述业务操作对象对应的特征值包括:入库申请、入库视频、仓单信息、质押申请、解质押申请、注销申请、区块链仓单等。
S210,基于业务处理标识和上述业务操作内容说明,构建统一摘要数据结构;
其中,统一摘要数据结构中涉及的指定数据字段还包括业务处理标识,具体的,基于表征业务处理标识的第一指定数据字段和表征上述业务操作内容说明的第二指定数据字段,构建统一摘要数据结构;
其中,上述业务处理标识可以是业务处理阶段名称,也可以是业务处理阶段的唯一性标识码,为了进一步提高上链数据的易读性,优选地,将业务处理阶段名称作为统一摘要数据结构中表征业务处理标识的第一指定数据字段,例如,针对数字物权服务业务,在针对业务处理节点生成业务数据摘要信息的过程中,业务处理标识对应的特征值包括:注册仓单、库存转仓单、仓单质押、仓单解质押、仓单注销等。
S212,生成包含上述统一摘要数据结构的智能合约,并将该智能合约部署于区块链中。
进一步的,为了满足用户基于业务数据摘要信息获知更多关键信息的需求,可以在业务数据摘要信息中增加可公开的业务操作附加信息,基于此,如图5所示,上述S210,基于业务处理标识和上述业务操作内容说明,构建统一摘要数据结构,具体包括:
S2102,基于业务操作附加信息、业务处理标识和上述业务操作内容说明,构建统一摘要数据结构。
具体的,基于表征业务操作附加信息的第三指定数据字段、表征业务处理标识的第一指定数据字段和表征业务操作内容说明的第二指定数据字段,构建统一摘要数据结构;其中,该第二指定数据字段为基于表征业务执行主体的字段、表征业务处理动作类型的字段和表征业务操作对象的字段所确定;
其中,上述业务操作附加信息可以是针对当前业务处理节点在执行业务处理的过程中所产生的可在区块链节点之间公开的关键信息,用来对当前业务处理节点的业务处理过程进行附加补充说明;
例如,仍以目标业务为数字物权服务业务为例,表征业务操作附加信息的第三指定数据字段包括:仓单ID字段、实物品类字段、实物数量字段、实物种类字段等。
进一步的,考虑到不同业务处理节点的业务属性不同,因此,针对不同业务处理节点所需增加的业务操作附加信息可能不同,基于此,上述S212,生成包含上述统一摘要数据结构的智能合约,并将该智能合约部署于区块链中,具体包括:
步骤一,确定目标业务所涉及的业务处理节点与针对该业务处理节点所增加的业务操作附加信息所需包含的附加信息字段之间的映射关系;
步骤二,生成包含上述统一摘要数据结构和上述映射关系的智能合约,并将该智能合约部署于区块链中。
对应的,针对目标数据字段对应的特征值的确定过程,上述S2042,调用区块链中部署的智能合约,在待上链业务数据中的多个业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值,具体包括:
步骤一,调用区块链中部署的智能合约,基于预先确定的映射关系,确定与生成待上链业务数据的业务处理节点对应的附加信息字段;
步骤二,在待上链业务数据中的多个业务数据字段对应的特征值中,确定与业务处理节点对应的附加信息字段匹配的目标数据字段对应的特征值;以及,
步骤三,在待上链业务数据中的多个业务数据字段对应的特征值中,确定与统一摘要数据结构中其他指定数据字段匹配的目标数据字段对应的特征值。
例如,针对仓单注册阶段中的存货方提交入库申请的业务处理节点,所需增加的表征业务操作附加信息的第三指定数据字段可以包括:实物品类字段、实物数量字段、实物种类字段;又如,针对仓单质押阶段中的存货方提交质押申请的业务处理节点,所需增加的表征业务操作附加信息的第三指定数据字段可以包括:仓单ID字段。
进一步的,考虑到在业务数据查询追溯的过程中,为用户展示易读性强的业务数据摘要信息,是为了在保证业务数据的安全性的前提下,使得用户能够快速、清晰地获得任一业务处理节点的处理过程简要说明,因此,业务数据摘要信息所包含的信息为可对外公开的,基于此,为了进一步提高业务数据摘要信息的生成效率,上述S2042,调用区块链中部署的智能合约,在待上链业务数据中的多个业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值,具体包括:
调用区块链中部署的智能合约,根据待上链业务数据中的各业务数据字段对应的用于表征数据隐私属性的字段标注信息,确定公开业务数据字段和隐私业务数据字段;
在确定出的公开业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值。
具体的,业务处理服务器可以在针对目标业务中的每个业务处理节点进行业务处理并生成相应的业务数据时,根据该业务数据中的多个业务数据字段的隐私属性进行字段标记,这样区块链节点在针对各业务处理节点生成相应的业务数据摘要信息的过程中,根据各业务数据字段的隐私属性标注信息,初步筛选出公开业务数据字段的特征值中,再在公开业务数据字段中查找统一摘要数据结构中涉及的指定数据字段对应的特征值。
其中,为了进一步提高在业务数据查询追溯的过程中的用户使用体验,上述S206,将各业务处理节点对应的业务数据摘要信息和待上链业务数据存储至区块链中,具体包括:
将业务处理时间戳、上述业务数据摘要信息和上述待上链业务数据上传至区块链中;
按照业务处理时间戳由大到小的顺序,将目标业务中的各业务处理节点对应的业务数据摘要信息进行关联存储。
具体的,在针对各业务处理节点将对应的业务数据存储至区块链的过程中,按照业务处理时间戳由大到小的顺序对业务数据摘要信息进行关联存储,这样在业务数据查询追溯的过程中可以以倒序方式为用户展示目标业务中的包含的多个业务处理节点分别对应的业务数据摘要信息。
进一步的,针对用户终端的业务数据查询请求,如图6所示,在上述S206,将各业务处理节点对应的业务数据摘要信息和待上链业务数据存储至区块链中之后,还包括:
S214,接收业务数据查询终端的数据查询请求;其中,该数据查询请求携带有目标业务的业务处理订单标识;
S216,从区块链中获取与上述业务处理订单标识对应的多个业务处理节点的业务数据摘要信息和已上链业务数据;
S218,将上述业务数据摘要信息和已上链业务数据发送至相应的业务数据查询终端,以使该业务数据查询终端按照上述统一摘要数据结构展示该业务数据摘要信息。
具体的,为了进一步提高业务数据的易读性,从而提升用户使用体验,基于此,上述S218,将上述业务数据摘要信息和已上链业务数据发送至相应的业务数据查询终端,具体包括:
按照业务处理时间戳由大到小的顺序,对上述业务处理订单标识对应的多个业务处理节点的业务数据摘要信息进行排序;
将排序后的业务数据摘要信息和对应的已上链业务数据发送至相应的业务数据查询终端。
在具体实施时,仍以目标业务为数字物权服务业务为例,用户终端基于用户针对提供数字物权服务业务的应用程序的触发操作,向业务处理服务器发送目标业务的业务数据查询请求,其中,该业务数据查询请求携带有目标业务的业务处理订单标识;业务处理服务器向区块链中至少一个区块链节点发送该业务数据查询请求;该至少一个区块链节点,在接收到业务数据查询请求后,从区块链中获取与业务数据查询请求携带的业务处理订单标识对应的多个业务处理节点的业务数据摘要信息和已上链业务数据;至少一个区块链节点,按照业务处理时间戳由大到小的顺序,对获取到的多个业务处理节点的业务数据摘要信息进行排序;将排序后的业务数据摘要信息和对应的已上链业务数据发送至业务处理服务器;业务处理服务器基于排序后的业务数据摘要信息和已上链业务数据生成第一目标页面数据,并将该第一目标页面数据发送至相应的业务数据查询终端;业务数据查询终端基于接收到的第一目标页面数据进行页面渲染,得到第一目标展示页面,如图7a所示,在该第一目标展示页面中所展示的仓单追溯信息包括:按照业务处理时间戳以倒序方式依次展示的各业务处理节点的业务数据摘要信息的关键说明(如操作主体、动作、操作对象)和已上链业务数据的关键说明(如已上链业务数据的哈希值),其中,业务处理节点的可以包括:注册仓单、仓单质押、仓单解质押、仓单注销。
进一步的,用户终端基于用户针对第一目标展示页面的触发操作,向业务处理服务器发送某一业务处理节点的详情查看请求,其中,该详情查看请求携带有目标业务的业务处理订单标识和业务处理节点标识;业务处理服务器基于业务处理订单标识和业务处理节点标识获取对应的业务数据摘要信息和已上链业务数据,基于该业务处理节点标识对应的业务数据摘要信息和已上链业务数据生成第二目标页面数据,并将该第二目标页面数据发送至相应的业务数据查询终端;业务数据查询终端基于接收到的第二目标页面数据进行页面渲染,得到第二目标展示页面,即第二目标展示页面为第一目标展示页面的二级页面;如图7b所述,以用户请求查看详情的业务处理节点标识为注册仓单为例,在该第二目标展示页面中所展示的区块链查证信息概览包括:产品数据部分和区块链数据部分,注册仓单业务节点的产品数据部分即为按照上述统一摘要数据结构展示的用户请求查看的针对注册仓单节点所上链的业务数据摘要信息,例如,业务处理标识为仓单注册,注册仓单节点对应的操作内容为XX系统生成区块链仓单,仓单ID为ff148b4502202007081114243245;其中,注册仓单业务节点的区块链数据部分即为按照原区块链存储数据结构展示的用户请求查看的针对注册仓单节点所上链的已上链业务数据,例如,交易hash为a1f5a6d38e86f1ee55c1f69720db7dcac1047b954abef90586819fe2e0721ccc,交易类型为CALL CONTRACT,交易时间戳为2020-07-08 11:14:24。
本说明书一个或多个实施例中的业务数据上链方法,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
对应上述图2至图7b描述的业务数据上链方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种业务数据上链装置,图8为本说明书一个或多个实施例提供的业务数据上链装置的模块组成示意图,该装置用于执行图2至图7b描述的业务数据上链方法,如图8所示,该装置包括:
业务数据获取模块802,其获取针对目标业务中的每个业务处理节点所生成的待上链业务数据;其中,所述待上链业务数据包括:多个业务数据字段对应的特征值;
摘要信息生成模块804,其调用区块链中部署的智能合约,基于所述多个业务数据字段对应的特征值和预设的摘要信息字段,生成所述业务处理节点对应的业务数据摘要信息;其中,所述预设的摘要信息字段包括:针对多个所述业务处理节点所构建的统一摘要数据结构中涉及的指定数据字段;
业务数据上链模块806,其将所述业务数据摘要信息和所述待上链业务数据存储至区块链中。
本说明书一个或多个实施例中,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
可选地,所述摘要信息生成模块804,其:
在所述多个业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值;
根据所述目标数据字段的所述特征值,生成所述业务处理节点对应的业务数据摘要信息。
可选地,所述摘要信息生成模块804,其:
基于所述目标数据字段的所述特征值,对所述统一摘要数据结构中涉及的各所述指定数据字段进行赋值,得到赋值后的统一摘要数据结构;
将所述赋值后的统一摘要数据结构确定为所述业务处理节点对应的业务数据摘要信息。
可选地,上述装置还包括:智能合约部署模块,其:
将业务执行主体、业务处理动作类型和业务操作对象的组合,确定为表征业务处理节点的业务操作内容说明的指定数据字段;
基于业务处理标识和所述业务操作内容说明,构建统一摘要数据结构;
生成包含所述统一摘要数据结构的智能合约,并将所述智能合约部署于区块链中。
可选地,所述智能合约部署模块,其:
基于业务操作附加信息、业务处理标识和所述业务操作内容说明,构建统一摘要数据结构。
可选地,所述智能合约部署模块,其:
确定目标业务所涉及的业务处理节点与针对该业务处理节点所增加的所述业务操作附加信息所需包含的附加信息字段之间的映射关系;
生成包含所述统一摘要数据结构和所述映射关系的智能合约。
可选地,所述摘要信息生成模块804,其:
基于所述映射关系,确定与生成所述待上链业务数据的业务处理节点对应的附加信息字段;
在所述多个业务数据字段对应的特征值中,确定与所述附加信息字段匹配的目标数据字段对应的特征值。
可选地,所述摘要信息生成模块804,其:
根据各所述业务数据字段对应的用于表征数据隐私属性的字段标注信息,确定公开业务数据字段和隐私业务数据字段;
在所述公开业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值。
可选地,所述业务数据上链模块806,其:
将业务处理时间戳、所述业务数据摘要信息和所述待上链业务数据上传至区块链中;
按照所述业务处理时间戳由大到小的顺序,将所述目标业务中的各所述业务处理节点对应的所述业务数据摘要信息进行关联存储。
可选地,上述装置还包括:查询请求响应模块,其:
接收业务数据查询终端的数据查询请求;其中,所述数据查询请求携带有目标业务的业务处理订单标识;
从所述区块链中获取与所述业务处理订单标识对应的多个业务处理节点的所述业务数据摘要信息和已上链业务数据;
将所述业务数据摘要信息和所述已上链业务数据发送至所述业务数据查询终端,以使所述业务数据查询终端按照所述统一摘要数据结构展示所述业务数据摘要信息。
可选地,所述查询请求响应模块,其:
按照业务处理时间戳由大到小的顺序,对所述业务处理订单标识对应的多个业务处理节点的所述业务数据摘要信息进行排序;
将排序后的所述业务数据摘要信息和对应的所述待已上链业务数据发送至所述业务数据查询终端。
本说明书一个或多个实施例中的业务数据上链装置,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
需要说明的是,本说明书中关于业务数据上链装置的实施例与本说明书中关于业务数据上链方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的业务数据上链方法的实施,重复之处不再赘述。
进一步地,对应上述图2至图7b所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种业务数据上链设备,该设备用于执行上述的业务数据上链方法,如图9所示。
业务数据上链设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对业务数据上链设备中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在业务数据上链设备上执行存储器902中的一系列计算机可执行指令。业务数据上链设备还可以包括一个或一个以上电源903,一个或一个以上有线或无线网络接口904,一个或一个以上输入输出接口905,一个或一个以上键盘906等。
在一个具体的实施例中,业务数据上链设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对业务数据上链设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取针对目标业务中的每个业务处理节点所生成的待上链业务数据;其中,所述待上链业务数据包括:多个业务数据字段对应的特征值;
调用区块链中部署的智能合约,基于所述多个业务数据字段对应的特征值和预设的摘要信息字段,生成所述业务处理节点对应的业务数据摘要信息;其中,所述预设的摘要信息字段包括:针对多个所述业务处理节点所构建的统一摘要数据结构中涉及的指定数据字段;
将所述业务数据摘要信息和所述待上链业务数据存储至区块链中。
可选地,计算机可执行指令在被执行时,所述基于所述多个业务数据字段对应的特征值和预设的摘要信息字段,生成所述业务处理节点对应的业务数据摘要信息,包括:
在所述多个业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值;
根据所述目标数据字段的所述特征值,生成所述业务处理节点对应的业务数据摘要信息。
可选地,计算机可执行指令在被执行时,所述根据所述目标数据字段的所述特征值,生成所述业务处理节点对应的业务数据摘要信息,包括:
基于所述目标数据字段的所述特征值,对所述统一摘要数据结构中涉及的各所述指定数据字段进行赋值,得到赋值后的统一摘要数据结构;
将所述赋值后的统一摘要数据结构确定为所述业务处理节点对应的业务数据摘要信息。
可选地,计算机可执行指令在被执行时,在获取针对目标业务中的每个业务处理节点所生成的待上链业务数据之前,还包括:
将业务执行主体、业务处理动作类型和业务操作对象的组合,确定为表征业务处理节点的业务操作内容说明的指定数据字段;
基于业务处理标识和所述业务操作内容说明,构建统一摘要数据结构;
生成包含所述统一摘要数据结构的智能合约,并将所述智能合约部署于区块链中。
可选地,计算机可执行指令在被执行时,所述基于业务处理标识和所述业务操作内容说明,构建统一摘要数据结构,包括:
基于业务操作附加信息、业务处理标识和所述业务操作内容说明,构建统一摘要数据结构。
可选地,计算机可执行指令在被执行时,所述生成包含所述统一摘要数据结构的智能合约,包括:
确定目标业务所涉及的业务处理节点与针对该业务处理节点所增加的所述业务操作附加信息所需包含的附加信息字段之间的映射关系;
生成包含所述统一摘要数据结构和所述映射关系的智能合约。
可选地,计算机可执行指令在被执行时,所述在所述多个业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值,包括:
基于所述映射关系,确定与生成所述待上链业务数据的业务处理节点对应的附加信息字段;
在所述多个业务数据字段对应的特征值中,确定与所述附加信息字段匹配的目标数据字段对应的特征值。
可选地,计算机可执行指令在被执行时,所述在所述多个业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值,包括:
根据各所述业务数据字段对应的用于表征数据隐私属性的字段标注信息,确定公开业务数据字段和隐私业务数据字段;
在所述公开业务数据字段对应的特征值中,确定与预设的摘要信息字段匹配的目标数据字段对应的特征值。
可选地,计算机可执行指令在被执行时,所述将所述业务数据摘要信息和所述待上链业务数据存储至区块链中,包括:
将业务处理时间戳、所述业务数据摘要信息和所述待上链业务数据上传至区块链中;
按照所述业务处理时间戳由大到小的顺序,将所述目标业务中的各所述业务处理节点对应的所述业务数据摘要信息进行关联存储。
可选地,计算机可执行指令在被执行时,在将所述业务数据摘要信息和所述待上链业务数据存储至区块链中之后,还包括:
接收业务数据查询终端的数据查询请求;其中,所述数据查询请求携带有目标业务的业务处理订单标识;
从所述区块链中获取与所述业务处理订单标识对应的多个业务处理节点的所述业务数据摘要信息和已上链业务数据;
将所述业务数据摘要信息和所述已上链业务数据发送至所述业务数据查询终端,以使所述业务数据查询终端按照所述统一摘要数据结构展示所述业务数据摘要信息。
可选地,计算机可执行指令在被执行时,所述将所述业务数据摘要信息和所述已上链业务数据发送至所述业务数据查询终端,包括:
按照业务处理时间戳由大到小的顺序,对所述业务处理订单标识对应的多个业务处理节点的所述业务数据摘要信息进行排序;
将排序后的所述业务数据摘要信息和对应的所述已上链业务数据发送至所述业务数据查询终端。
本说明书一个或多个实施例中的业务数据上链设备,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
需要说明的是,本说明书中关于业务数据上链设备的实施例与本说明书中关于业务数据上链方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的业务数据上链方法的实施,重复之处不再赘述。
进一步地,对应上述图2至图7b所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取针对目标业务中的每个业务处理节点所生成的待上链业务数据;其中,所述待上链业务数据包括:多个业务数据字段对应的特征值;
调用区块链中部署的智能合约,基于所述多个业务数据字段对应的特征值和预设的摘要信息字段,生成所述业务处理节点对应的业务数据摘要信息;其中,所述预设的摘要信息字段包括:针对多个所述业务处理节点所构建的统一摘要数据结构中涉及的指定数据字段;
将所述业务数据摘要信息和所述待上链业务数据存储至区块链中。
本说明书一个或多个实施例中的存储介质存储的计算机可执行指令在被处理器执行时,通过预先部署于区块链中的智能合约,针对在执行目标业务过程中的每个业务处理节点所生成的待上链业务数据,生成相应的业务数据摘要信息,其中,该业务数据摘要信息是基于智能合约中包含的统一摘要数据结构所生成的,再将各业务处理节点对应的业务数据摘要信息分别存储至区块链中,这样能够实现区块链中存储的业务数据的易读性,便于后续为用户提供目标业务中任一业务处理节点的业务数据追溯服务,以使用户通过客户端能够快速、清晰地获得任一业务处理节点的处理过程简要说明。
需要说明的是,本说明书中关于存储介质的实施例与本说明书中关于业务数据上链方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的业务数据上链方法的实施,重复之处不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HD Cal、JHDL(Java Hardware Description Language)、Lava、Lola、My HDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个的实施例而已,并不用于限制本说明书一个或多个。对于本领域技术人员来说,本说明书一个或多个可以有各种更改和变化。凡在本说明书一个或多个的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个的权利要求范围之内。