CN109886689A - 基于区块链的数据存证、取证方法及装置 - Google Patents

基于区块链的数据存证、取证方法及装置 Download PDF

Info

Publication number
CN109886689A
CN109886689A CN201910165410.4A CN201910165410A CN109886689A CN 109886689 A CN109886689 A CN 109886689A CN 201910165410 A CN201910165410 A CN 201910165410A CN 109886689 A CN109886689 A CN 109886689A
Authority
CN
China
Prior art keywords
service
business datum
block chain
service node
note
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910165410.4A
Other languages
English (en)
Other versions
CN109886689B (zh
Inventor
李艳鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202110621066.2A priority Critical patent/CN113421086A/zh
Priority to CN201910165410.4A priority patent/CN109886689B/zh
Publication of CN109886689A publication Critical patent/CN109886689A/zh
Application granted granted Critical
Publication of CN109886689B publication Critical patent/CN109886689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供了一种基于区块链的数据存证、取证方法及装置,该存证方法包括:接收针对目标业务的业务请求;在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据;将各服务节点所对应的业务数据存储至区块链中;其中,上述调用链路中包括多个服务节点;上述注解用于指示获取标注有注解的业务数据。

Description

基于区块链的数据存证、取证方法及装置
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据存证、取证方法及装置。
背景技术
微服务架构体系是一种新型的、流行的软件架构模式,其目的是将一个大型的单个应用程序或者服务的功能分散到多个离散的微服务中,每个微服务保持独立,且功能单一,各个微服务中间以调用的形式联系在一起,多个微服务组合在一起就可以实现其原有单一架构的功能,从而提供复杂的服务支持。由于微服务架构提下可以降低***的耦合性,并且可以提供更加灵活的服务支持,因此,得到了广泛的应用。
相应的,在使用微服务架构体系进行业务处理的过程中,微服务架构体系中的每个微服务都会产生相应的业务数据。在实际应用中,为了便于在后续发生纠纷等情况时,可以提供有力的证据,一般会将业务数据中的某些关键数据或者全部数据写入区块链中进行存证。
但是,对于微服务架构体系而言,由于业务所对应的业务数据是分布在微服务架构体系的多个微服务中的,业务数据分布比较离散,因此会导致业务数据上链过程比较复杂。
因此,有必要提出一种技术方案,以便降低微服务架构体系中业务数据上链流程的复杂度。
发明内容
本说明书实施例的目的是提供一种基于区块链的数据存证、取证方法及装置,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行上链的业务数据,这样,在目标业务的处理过程中,在相应的服务节点,可以自动的获取通过注解的方式声明的业务数据,并上传至区块链进行存储;避免了通过人工方式从调用链路的各个服务节点收集需要上链的数据,数据的收集简单方便,在数据上链过程中不需要人工参与,同时简化了业务数据上链的操作流程,使得业务数据上链存证的操作简单方便。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供了一种基于区块链的数据存证方法,包括:
接收针对目标业务的业务请求;
在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
本说明书实施例还提供了一种基于区块链的数据取证方法,包括:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
根据所述ID确定需要取证的业务参数所对应的哈希值;
基于所述哈希值从所述区块链中读取所述业务参数所对应的业务数据。
本说明书实施例还提供了一种基于区块链的数据存证装置,包括:
接收模块,用于接收针对目标业务的业务请求;
获取模块,用于在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
第一存储模块,用于将各服务节点所对应的业务数据存储至区块链中。
本说明书实施例还提供了一种基于区块链的数据取证装置,包括:
第一确定模块,用于在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
第二确定模块,用于根据所述ID确定需要取证的业务参数所对应的哈希值;
读取模块,用于基于所述哈希值从所述区块链中读取所述业务参数所对应的业务数据。
本说明书实施还提供了一种基于区块链的数据存证设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
接收针对目标业务的业务请求;
在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
本说明书实施例还提供了一种基于区块链的数据取证设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
根据所述ID确定需要取证的业务参数所对应的哈希值;
基于所述哈希值从所述区块链中读取所述业务参数所对应的业务数据。
本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
接收针对目标业务的业务请求;
在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
根据所述ID确定需要取证的业务参数所对应的哈希值;
基于所述哈希值从区块链中读取所述业务参数所对应的业务数据。
本实施例中的技术方案,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行上链的业务数据,这样,在目标业务的处理过程中,在相应的服务节点,可以自动的获取通过注解的方式声明的业务数据,并上传至区块链进行存储;避免了通过人工方式从调用链路的各个服务节点收集需要上链的数据,数据的收集简单方便,在数据上链过程中不需要人工参与,同时简化了业务数据上链的操作流程,使得业务数据上链存证的操作简单方便。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之一;
图2为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之二;
图3为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之三;
图4为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之四;
图5为本说明书实施例提供的基于区块链的数据存证方法的流程示意图;
图6为本说明书实施例提供的基于区块链的数据取证方法的方法流程图之一;
图7为本说明书实施例提供的基于区块链的数据取证方法的方法流程图之二;
图8为本说明书实施例提供的基于区块链的数据取证方法的流程示意图;
图9为本说明书实施例提供的基于区块链的数据存证装置的模块组成示意图;
图10为本说明书实施例提供的基于区块链的数据取证装置的模块组成示意图;
图11为本说明书实施例提供的基于区块链的数据存证设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本说明书实施例所提供的方法可以应用于微服务架构体系的业务***,所谓微服务架构体系则是将业务***按照功能划分为多个服务节点,每个服务节点用于处理该项业务的其中一部分业务内容,各服务节点之间以调用的形式联系在一起,共同完成目标业务。因此,可以将微服务架构体系称为调用链路。
例如,针对某微服务架构体系,可以包括服务节点1、服务节点2和服务节点2,在进行某项业务处理时,由服务节点1、服务节点2和服务节点3共同完成该项业务。具体的,可以是由服务节点1接收用户发送的业务请求,服务节点1在完成其对应的业务处理后,向服务节点2发送处理请求,由服务节点2完成对应的业务处理,并由服务节点2向服务节点3发送处理请求,由服务节点3完成对应的业务处理,从而完成该项业务的处理。
为便于理解,以单向的支付流程为例介绍该支付***所对应的调用链路。
当商家发起支付请求时,首先调用链路中的第三方支付***的网关接收到商家发起的支付请求,第三方支付***的网关对该支付请求执行校验、鉴权、转换等处理操作,并在操作处理后将该支付请求发送给交易***,交易***在接收到该支付请求后,会通过第三方支付***的网关向第三方支付***发起支付请求,第三方支付***确定所访问的银行通道,并向该银行通道发送支付请求,该银行通过向选定的银行发起支付请求。在该支付流程中,第三方支付***的网关、第三方支付***、交易***、银行通道以及银行共同完成该项支付业务,因此,第三方支付***的网关、第三方支付***、交易***、银行通道以及银行共同构成该支付流程所对应的调用链路。
本说明书实施例的思想在于,在业务服务节点所对应的调用链路的各服务节点的程序代码中通过注解的方式声明该服务节点需要上传至区块链的业务数据。这样,在该服务节点进行目标业务的处理时,当产生了标注有上述注解的业务数据后,业务服务节点会自动获取并暂存该业务数据,不需要再通过人为的方式获取该业务数据,并在调用链路的最后一个服务节点执行完目标业务时,将该项业务所对应的所有需要上链的业务数据(包括调用链路中各个服务节点中需要上链的业务数据)写入区块链中。
需要说明的是,上述各服务节点的程序代码可以为通过Java语言编写的代码,也可以是通过其他语言编写的代码,本说明书实施例并不对此进行限定。
其中,本说明书实施例提供的基于区块链的数据存证方法可以应用于业务***,即该方法的执行主体为业务***,具体的,可以为安装在业务***上的基于区块链的数据存证装置。
图1为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之一,图1所示的方法,至少包括如下步骤:
步骤102,接到针对目标业务的业务请求。
另外,本说明书实施例所提及到的目标业务可以为任意需要处理的业务,例如,可以为支付业务、商品购买业务等。
步骤104,在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,该调用链路包括多个服务节点,上述注解用于指示获取标注有上述注解的业务数据。
需要说明的是,上述注解可以是在业务开发阶段进行标定的,在业务开发阶段对各个服务节点需要上链的业务数据进行标定,对需要上链的业务数据进行标定实际上就是声明该业务数据需要上传至区块链,在生成该业务数据后,则需要获取并保存该业务数据。
目标业务在被处理的过程中,需要经过上述调用链路中的各个服务节点进行对目标业务进行相应的处理,因此,上述步骤104在具体实施时,目标业务在经过每个服务节点进行处理的过程中,都需要根据该服务节点上预先标定的注解获取该服务节点所对应的业务数据。
为便于理解,下述将举例进行说明。
例如,在某个具体实现方式中,目标业务所对应的调用链路包括服务节点1、服务节点2和服务节点3共三个服务节点,首先由服务节点1接收用户触发的业务请求,依次由服务节点1、服务节点2和服务节点3进行该项业务的处理。当服务节点1在处理目标业务中相应的业务内容时,则根据服务节点1所对应的编程代码中预先标定的注解获取目标业务在服务节点1所产生的业务数据,当服务节点2在处理目标业务中相应的业务内容时,则根据服务节点2所对应的编程代码中预先标定的注解获取目标业务在服务节点2所产生的业务数据,当服务节点3在处理目标业务中相应的业务内容时,则根据服务节点3所对应的编程代码中预先标定的注解获取目标业务在服务节点3所产生的业务数据。
步骤106,将各服务节点所对应的业务数据存储至区块链中。
本说明书实施例提供的基于区块链的数据存证方法,在业务开发阶段,通过注解的方式直接在各服务节点所对应的程序代码中对各服务节点中需要上传至区块链的业务数据进行标定,这样,在进行目标业务的处理过程中,在各个服务节点可以自动获取该服务节点需要上传至区块链的业务数据,使得业务数据的收集简单方便,并且避免了业务人员的参与,减少了工作量。
另外,本说明书实施例提供的方法还包括:
接收到针对目标业务的业务请求时,生成该目标业务所对应的ID。
其中,上述唯一编码(identification,ID)为该目标业务所对应的唯一标识。在具体实施时,当业务***接收到目标业务的业务请求时,可以触发发号器产生针对该目标业务的ID。具体的,该发号器可以为分布式的可扩展的发号器。
相应的,本说明书实施例提供的方法还包括:
将目标业务的ID与各服务节点所对应的业务数据关联的存储至区块链。
具体的,在本说明书实施例中,将目标业务的ID一起存储在区块链中,这样在对数据进行校验时,从区块链中读取数据后,可以将从区块链中读取的ID与查询ID进行校验,即出了进行数据的校验外,还可以进行ID的校验,通过上述双重校验,可以进一步提高数据校验的准确性。
上述ID则为可以表征该项目标业务的唯一标识,在具体实施时,可以将各服务节点所对应的业务数据与上述ID打包在一起,然后上传至区块链中。
图2为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之二,图2所示的方法,至少包括如下步骤:
步骤202,接收到针对目标业务的业务请求后,生成针对目标业务的ID。
步骤204,在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,该调用链路包括多个服务节点,上述注解用于指示获取标注有上述注解的业务数据。
步骤206,将各服务节点所对应的业务数据及目标业务的ID关联的存储至区块链。
具体的,在本说明书实施例中,在将各服务节点所对应的业务数据存储至区块链中后,本说明书实施例所提供的方法还包括如下步骤:
接收区块链返回的哈希值;其中,上述哈希值用于从区块链中读取目标业务所对应的数据;
建立并存储上述ID与哈希值的映射关系。
在本说明书实施例中,在将目标业务所对应的所有业务数据存储至区块链中时,在区块链中会生成针对该目标业务的哈希值,在区块链中将哈希值和业务数据对应的进行存储。在区块链中生成该哈希值后,区块链会将该哈希值返回给业务***,以使业务***存储目标业务的ID与该哈希值的映射关系,这样,便于业务***后续从区块链中读取数据。
图3为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之三,图3所示的方法至少包括如下步骤:
步骤302,接收到针对目标业务的业务请求时,生成目标业务所对应的ID。
步骤304,在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据。
步骤306,将各服务节点所对应的业务数据及其关联的ID存储至区块链中。
步骤308,接收区块链返回的哈希值。
步骤310,建立并存储目标业务的ID与上述哈希值的映射关系。
在具体实施时,上述步骤104中,在目标业务的处理过程中,根据预先标定的注解获取目标业务的调用链路中每个服务节点所对应的目标数据,具体包括如下步骤一和步骤二;
步骤一、在通过每个服务节点处理上述目标业务时,获取上述服务节点中用注解标定的业务参数和该业务参数的参数值;
步骤二、将获取的用上述注解标定的业务参数和对应的参数值确定为上述服务节点所对应的业务数据。
例如,上述目标业务为支付业务,则上述业务参数可以为支付时间、支付金额等字段,相应的业务参数的参数值则为各业务参数所对应的具体取值。例如,支付金额50元,则“支付金额”则为业务参数,“50元”则为业务参数对应的参数值。
在具体实施时,在通过调用链路中的某个服务节点处理上述目标业务时,当该服务节点产生了针对目标业务的业务数据时,则从该业务数据中查找标定有注解的业务参数,获取标定有注解的业务参数和对应的参数值,并将该业务参数和对应的参数值确定为该服务节点中需要上传至区块链的业务数据。
另外,在具体实施时,一般是在目标业务处理完成时,才将目标业务所对应的所有业务数据(包括各服务节点所对应的业务数据)上链,因此,各个服务节点中获取到该服务节点所对应的业务数据后,需要将该服务节点所对应的业务数据进行暂存,因此,在根据预先标定的注解获取到目标业务的调用链路中每个服务节点所对应的业务数据之后,本说明书实施例所提供的方法还包括:
针对每个服务节点所对应的业务数据,将上述业务数据存储在该服务节点所对应的业务处理线程的线程局部变量ThreadLocal中。
例如,在具体实施时,在通过调用链路中的服务节点1对目标业务进行处理时,在获取到服务节点1所对应的业务数据后,则将服务节点1所对应的业务数据存储在服务节点1所对应的业务处理线程的ThreadLocal中;在通过调用链路中的服务节点2对目标业务进行处理时,在获取到服务节点2所对应的业务数据后,则将服务节点2所对应的而业务数据存储在服务节点2所对应的业务处理线程的ThreadLocal中。
在具体实施时,在上述步骤106中,将各服务节点所对应的业务数据及其关联的ID写入区块链中,具体包括如下步骤(1)、步骤(2)和步骤(3);
步骤(1)、确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;其中,该数据聚合方式包括将业务数据在各服务节点之间通过网络通信协议进行传递的聚合方式,或者,将各服务节点所对应的业务数据存储至中心代理节点的聚合方式;
步骤(2)、按照上述聚合方式将各服务节点所对应的业务数据进行聚合,得到上述目标业务所对应的业务数据集合;
步骤(3)、将上述业务数据集合及其关联的ID存储至区块链中。
具体的,在本说明书实施例中,可以预先声明对目标业务所对应的数据聚合方式。具体的,可以在业务***的配置文件中声明,也可以通过注解的方式在目标服务节点的程序代码中声明。
因此,在上述步骤(1)中,确定对各服务节点所对应的业务数据进行聚合的聚合方式,具体包括:
根据业务***的程序代码中的注解确定对各***所对应的业务数据进行聚合的数据聚合方式;
或者,根据业务***的配置文件中的声明信息确定对各***所对应的业务数据进行聚合的数据聚合方式。
需要说明的是,在本说明书实施例中,上述用于声明聚合方式的注解可以标注在业务***的全局程序代码中,也可以标注在调用链路的某个服务节点的程序代码中。
另外,在本说明书实施例中,在声明数据聚合方式时,可以针对某类型的业务声明其对应的数据聚合方式,例如,可以声明针对支付类业务,所对应的数据聚合方式为XX,针对娱乐类业务,所对应的数据聚合方式为XX等;或者,还可以针对时间段声明对应的数据聚合方式,例如,可以声明在每天的白天所对应的数据聚合方式为XX,在每天的晚上所对应的数据聚合方式为XX。当然,此处只是示例性说明两种数据聚合方式的具体声明方式,除此之外,还可以按照实际业务需求声明数据聚合方式,本说明书实施例并不对此进行限定。
下述将详细介绍上述两种聚合方式的具体实现过程。
第一种聚合方式:将业务数据在各服务节点之间通过网络通信协议进行传递的聚合方式。
其中,上述数据通信协议可以为各服务节点之间的HTTP协议,具体的,在将业务数据在各服务节点之间进行传递时可以将业务数据携带在HTTP协议的Http header中进行传递。
为便于理解,下述将通过具体实施例进行说明。
例如,目标业务所对应的调用链路包括服务节点1、服务节点2和服务节点3共三个服务节点,目标业务依次通过服务节点1、服务节点2和服务节点3进行相应的处理,目标业务在通过服务节点1处理相应的业务内容时,将服务节点1中标定有注解的业务数据作为服务节点1的业务数据,并将该业务数据保存在服务节点1所对应的业务处理线程的ThreadLocal中,在服务节点1处理完相应的业务内容后,向服务节点2发送处理请求,具体的,该处理请求可以通过HTTP的方式发送,并且将存储在ThreadLocal中的业务数据携带在该HTTP请求的Http header中发送给服务节点2,服务节点2将接收到的服务节点1的业务数据保存在服务节点2所对应的业务处理线程的ThreadLocal中,服务节点2在处理相应的业务内容时,将服务节点2中标定有注解的业务数据作为服务节点2的业务数据,并将该业务数据保存在服务节点2所对应的业务处理线程的ThreadLocal中,在服务节点2处理完相应的业务内容后,向服务节点3发送处理请求,具体的,该处理请求可以通过HTTP的方式发送,并且将存储在ThreadLocal中的目标节点1的业务数据和目标节点2的业务数据携带在该HTTP请求的Http header中发送给服务节点3,这样,服务节点1、服务节点2和服务节点3所对应的业务数据均聚合在服务节点3所对应的业务处理线程的ThreadLocal中,最终,可以通过服务节点3将目标业务所对应的所有的业务数据存储至区块链中。
需要说明的是,在该种数据聚合方式中,可以将目标业务的ID携带在Http header中跟随业务数据一起进行传递,这样,存储在每个服务节点所对应业务处理线程的ThreadLocal中的则为业务数据及目标业务的ID的对应关系。
另外,在本说明书实施例中,将各服务节点所对应的业务数据携带在Http header中传递给下一个服务节点,这样,可以避免通过各服务节点之间的业务接口进行业务数据的传递,从而可以与业务处理区分开,缓解业务处理接口的数据压力。
第二种聚合方式:将各服务节点所对应的业务数据存储至中心代理节点的聚合方式。
在该种聚合方式中,则是各服务节点将其所对应的业务数据存储至中心代理节点,当然,每个服务节点发送给中心代理服务节点的业务数据均需要携带目标业务的ID,在中心代理节点存储有个服务节点所对应的业务数据及目标业务的ID的对应关系。
当目标业务处理完成后,则将存储在中心代理节点的目标业务所对应的业务数据集合存储至区块链中。
另外,需要说明的是,在本说明书实施例中,由于目标业务需要经过多个服务节点进行处理,因此,为了便于各服务节点可以区分其所处理的为哪个业务,目标业务在调用链路中传递的过程中,该目标业务所对应的ID需要跟随目标业务在调用链路的各服务节点中进行传递。
因此,本说明书实施例所提供的方法,还包括如下步骤:
在目标业务的处理过程中,将目标业务的ID通过各服务节点所对应的业务处理线程的线程局部变量和各服务节点之间的网路通信协议在调用链路中传输。
需要说明的是,在各服务节点内目标业务的ID通过ThreadLocal进行传递,在服务节点之间则通过网络通信协议传输,具体的,可以携带在Http header中在各服务节点之间进行传输。
为便于理解本说明书实施例所提供的基于区块链的数据存证方法,下述将通过具体实施例进行说明。
图4为本说明书实施例提供的基于区块链的数据存证方法的方法流程图之四,图4所示的方法至少包括如下步骤:
步骤402,接收到针对目标业务的业务请求时,生成目标业务所对应的ID。
步骤404,在通过目标业务所对应的调用链路中的每个服务节点处理目标业务时,获取该服务节点中用注解标定的业务参数及其对应的参数值。
步骤406,将获取的用注解标定的业务参数和对应的参数值确定为该服务节点所对应的业务数据。
步骤408,确定目标业务所对应的数据聚合方式。
步骤410,按照上述所确定的数据聚合方式对各服务节点所对应的业务数据进行聚合,得到目标业务所对应的业务数据集合。
步骤412,将上述业务数据集合及目标业务关联的写入区块链中。
步骤414,接收区块链返回的目标业务所对应的哈希值;其中,该哈希值用于从区块链中读取目标业务所对应的数据。
步骤416,建立并存储目标业务的ID与上述哈希值的映射关系。
针对图4所示的基于区块链的数据存证方法,图5示出了该数据存证方法的流程示意图,如图5所示。
接收到目标业务请求后,生成目标业务所对应的ID,记为Trace ID,基于预先标定的注解获取目标业务所对应的业务数据集合,记为Content Collection,将ContentCollection和对应的Trace ID打包写入区块链中,接收区块链返回的哈希值,记为hashTrace ID,记录Trace ID和hash Trace ID的映射关系。
另外,在本说明书实施例中在将业务数据上传至区块链中时所涉及到的部分代码如下所示:
public@Perpetuation Result
doTrade(@Perpetuation String testimony){
//Business logic}
本说明书实施例提供的基于区块链的数据存证方法,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行上链的业务数据,这样,在目标业务的处理过程中,在相应的服务节点,可以自动的获取通过注解的方式声明的业务数据,并上传至区块链进行存储;避免了通过人工方式从调用链路的各个服务节点收集需要上链的数据,数据的收集简单方便,在数据上链过程中不需要人工参与,同时简化了业务数据上链的操作流程,使得业务数据上链存证的操作简单方便。
对应于本说明书实施例提供的基于区块链的数据存证方法,基于相同的思路,本说明书实施例还提供了一种基于区块链的数据取证方法,该数据取证方法应用于业务***,用于从区块链中读取数据,图6为本说明书实施例提供的基于区块链的数据取证方法的方法流程图之一,图6所示的方法至少包括如下步骤:
步骤602,在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和该业务参数所对应的目标业务的ID;其中,上述注解用于指示获取需要取证的业务数据和对应的ID。
步骤604,根据上述ID确定需要取证的业务参数所对应的哈希值。
步骤606,基于上述哈希值从区块链中读取上述业务参数所对应的业务数据。
其中,上述注解可以为业务开发阶段进行标定的,在业务开发阶段对需要进行取证的业务参数进行标定,对需要取证的业务参数进行标定实际上是声明自动获取该业务参数以及该业务参数所属的目标业务的ID。
在具体实施时,当用户通过业务***进行业务数据取证时,业务***在接收到用户触发的取证请求后,会调用业务***所对应的调用链路的各服务节点的程序代码,从而根据该程序代码中预先标定的注解确定需要获取的业务参数以及该业务参数所属的目标业务的ID。
需要说明的是,根据程序代码中预先标定的注解确定目标业务的ID实际上则是从该程序代码运行的环境中得到目标业务的ID等,具体的,可以从程序代码的参数中提取目标业务的ID。
由于在将目标业务的业务数据写入区块链中时,在业务***中存储有各目标业务的ID和区块链返回的哈希值的映射关系,因此,在确定出目标业务的ID后,则根据目标业务的ID和预先存储的上述各ID和哈希值的映射关系,确定目标业务的ID所对应的哈希值,并从区块链中读取该哈希值所对应的业务数据。
具体的,在本说明书实施例中,用户在对业务数据进行取证时,针对不同的应用场景,用户输入取证请求的界面存在区别。在一种具体实施方式中,用户可以直接在发送取证请求的界面上输入目标业务的ID。当然,在其他实施方式中,在发送取证请求的界面上可以不带有目标业务的输入接口,例如,司法***等。本说明书实施例并不对展示给用户的取证请求的发送界面的具体形式进行限定,在具体应用时,可以根据实际应用场景进行设置。
另外,在本说明书实施例中,进行取证时所涉及到的部分程序代码如下所示:
@Validate(content="testimony",hash="txHash")
public String validTrade(Stringtestimony,String txHash){
//get from DB
}
另外,在本说明书实施例中,在基于哈希值从区块链中读取目标业务所对应的业务数据之前,本说明书实施例提供的方法还包括如下步骤:
判断区块链中是否存在该哈希值所对应的业务数据。
即在该步骤中则是基于上述哈希值查找区块链中是否存在该哈希值所对应的业务数据,若是在区块链中未查找到该哈希值所对应的业务数据,则判断出该业务参数所对应的业务数据的取证异常(可能是未在区块链存储该业务数据或者其他导致的),从而抛出业务取证异常的提示。
另外,在本说明书实施例中,在某些情况下,在从区块链中读取了业务数据后,还需要对业务数据进行校验,具体的,可以通过将从区块链中读取的数据与从业务***中读取的数据进行比对的方式进行校验,因此,本说明书实施例提供的方法,还包括:
从业务***获取上述业务参数所对应的业务数据;基于从区块链中读取的业务数据和从业务***获取的上述业务数据对业务参数所对应的数据进行校验。
在本说明书实施例中,在基于预先标定的注解确定需要取证的业务参数后,在从区块链读取相应的业务数据的同时,还需要从业务***获取该业务参数所对应的业务数据,并将从业务***获取的业务数据以及从区块链中读取的业务数据进行比对,若是两者一致,则校验通过。
图7为本说明书实施例提供的基于区块链的数据取证方法的方法流程图之二,图7所示的方法至少包括如下步骤:
步骤702,在对业务数据进行取证时,调用业务***的调用链路的各服务节点所对应的程序代码。
步骤704,根据在上述程序代码中预先标定的注解确定需要取证的业务参数和该业务参数所对应的目标业务的ID。
步骤706,根据目标业务的ID和预先存储的各ID和哈希值的映射关系,确定上述目标业务的ID所对应的哈希值。
步骤708,从区块链中查找并读取上述哈希值所对应的业务数据。
步骤710,从业务***获取上述业务参数所对应的业务数据。
步骤712,校验从业务***获取的业务数据和从区块链中读取的业务数据是否一致;若一致,则执行步骤714;否则执行步骤716。
步骤714,确定校验通过。
步骤716,确定校验异常。
针对图7所示的基于区块链的数据取证方法,图8示出了该数据取证方法的流程示意图,如图8所示。
接收到业务数据取证请求后,调用业务***的调用链路的各服务节点所对应的程序代码,根据该程序代码中预先标注的注解确定需要取证的业务参数和目标业务的ID,记为Trace ID,确定该Trace ID所对应的哈希值,记为hash Trace ID,基于hash Trace ID从区块链中读取业务数据,记为Content Collection1,从业务***读取上述业务参数所对应的业务数据,记为Content Collection2,将Content Collection1和Content Collection2进行比对,校验两者是否一致,若一致则校验通过,否则校验不通过。
其中,本说明书实施例提供的基于区块链的数据取证方法中与基于区块链的数据存证方法中相同的部分可参考本说明书实施例提供的基于区块链的数据存证方法,此处不再赘述。
本说明书实施例提供的基于区块链的数据取证方法,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行取证的业务参数,这样,在进行业务数据的取证时,可以自动的确定需要取证的业务参数以及相应的业务ID,从而可以基于该业务参数和ID进行业务数据的取证以及校验;避免了通过人工方式从输入需要取证的业务参数,简化了业务数据下链的操作流程,方便用户从区块链进行业务数据的取证。
对应于本说明书实施例提供的基于区块链的数据存证方法,基于相同的思路,本说明书实施例还提供了一种基于区块链的数据存证装置,用于执行本说明书实施例提供的基于区块链的数据存证方法,图9为本说明书实施例提供的基于区块链的数据存证装置的模块组成示意图,图9所示的装置,包括:
接收模块902,用于接收针对目标业务的业务请求;
获取模块904,用于在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,调用链路中包括多个服务节点;注解用于指示获取标注有注解的业务数据;
第一存储模块906,用于将各服务节点所对应的业务数据存储至区块链中。
可选的,上述获取模块904,包括:
获取单元,用于在通过每个服务节点处理目标业务时,获取服务节点中用注解标定的业务参数和该业务参数的参数值;
第一确定单元,用于将获取的用注解标定的业务参数和对应的参数值确定为服务节点所对应的业务数据。
可选的,本说明书实施例提供的装置,还包括:
第二存储模块,用于针对每个服务节点所对应的业务数据,将业务数据存储在服务节点所对应的业务处理线程的线程局部变量中。
可选的,上述第一存储模块906,包括:
第二确定单元,用于确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;其中,数据聚合方式包括将业务数据在各服务节点之间通过网络通信协议进行传递的聚合方式,或者,将各服务节点所对应的业务数据存储至中心代理节点的聚合方式;
聚合单元,用于按照数据聚合方式将各服务节点所对应的业务数据进行聚合,得到目标业务所对应的业务数据集合;
存储单元,用于将业务数据集合存储至区块链中。
可选的,上述第二确定单元,具体用于:
根据业务***的程序代码中的注解确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;
或者,根据业务***的配置文件中的声明信息确定对各服务节点所对应的业务数据进行聚合的数据聚合方式。
可选的,本说明书实施例提供的装置还包括:
生成模块,用于接收到针对目标业务的业务请求时,生成目标业务所对应的唯一编码ID。
可选的,本说明书实施例提供的装置还包括:
传递模块,用于在目标业务的处理过程中,将目标业务的ID通过各服务节点所对应的业务处理线程的线程局部变量和各服务节点之间的网路通信协议在调用链路中传递。
可选的,本说明书实施例提供的装置还包括:
接收模块,用于接收区块链返回的哈希值;其中,哈希值用于从区块链中读取目标业务所对应的数据;
建立模块,用于建立并存储ID与哈希值的映射关系。
可选的,本说明书实施例提供的装置还包括:
第三存储模块,用于将目标业务的ID与各服务节点所对应的业务数据关联的存储至区块链。
本说明书实施例的基于区块链的数据存证装置还可执行图1-图5中基于区块链的数据存证装置执行的方法,并实现基于区块链的数据存证装置在图1-图5所示实施例的功能,在此不再赘述。
本说明书实施例提供的基于区块链的数据存证装置,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行上链的业务数据,这样,在目标业务的处理过程中,在相应的服务节点,可以自动的获取通过注解的方式声明的业务数据,并上传至区块链进行存储;避免了通过人工方式从调用链路的各个服务节点收集需要上链的数据,数据的收集简单方便,在数据上链过程中不需要人工参与,同时简化了业务数据上链的操作流程,使得业务数据上链存证的操作简单方便。
对应于本说明书实施例提供的基于区块链的数据取证方法,基于相同的思路,本说明书实施例提供了一种基于区块链的数据取证装置,用于执行本说明书实施例提供的基于区块链的数据取证方法,图10为本说明书实施例提供的基于区块链的数据取证装置的模块组成示意图,图10所示的装置,至少包括:
第一确定模块1002,用于在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和业务参数所对应的目标业务的ID;其中,注解用于指示获取需要取证的业务参数和对应的ID;
第二确定模块1004,用于根据ID确定需要取证的业务参数所对应的哈希值;
读取模块1006,用于基于哈希值从区块链中读取业务参数所对应的业务数据。
可选的,本说明书实施例提供的装置,还包括:
获取模块,用于从业务***获取业务参数所对应的业务数据;
校验模块,用于基于从区块链中读取的业务数据和从业务***获取的业务数据对业务参数所对应的数据进行校验。
可选的,本说明书实施例提供的装置,还包括:
判断模块,用于判断区块链中是否存在上述哈希值所对应的业务数据。
本说明书实施例的基于区块链的数据取证装置还可执行图6-图8中基于区块链的数据取证装置执行的方法,并实现基于区块链的数据取证装置在图6-图8所示实施例的功能,在此不再赘述。
本说明书实施例提供的基于区块链的数据取证装置,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行取证的业务参数,这样,在进行业务数据的取证时,可以自动的确定需要取证的业务参数以及相应的业务ID,从而可以基于该业务参数和ID进行业务数据的取证以及校验;避免了通过人工方式从输入需要取证的业务参数,简化了业务数据下链的操作流程,方便用户从区块链进行业务数据的取证。
进一步地,基于上述图1至图5所示的方法,本说明书实施例还提供了一种基于区块链的数据存证设备,如图11所示。
基于区块链的数据存证设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1101和存储器1102,存储器1102中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1102可以是短暂存储或持久存储。存储在存储器1102的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对基于区块链的数据存证设备中的一系列计算机可执行指令信息。更进一步地,处理器1101可以设置为与存储器1102通信,在基于区块链的数据存证设备上执行存储器1102中的一系列计算机可执行指令信息。基于区块链的数据存证设备还可以包括一个或一个以上电源1103,一个或一个以上有线或无线网络接口1104,一个或一个以上输入输出接口1105,一个或一个以上键盘906等。
在一个具体的实施例中,基于区块链的数据存证设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于区块链的数据存证设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
接收针对目标业务的业务请求;
在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,调用链路中包括多个服务节点;注解用于指示获取标注有注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
可选的,计算机可执行指令信息在被执行时,在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的目标数据,包括:
在通过每个服务节点处理目标业务时,获取服务节点中用注解标定的业务参数和该业务参数的参数值;
将获取的用注解标定的业务参数和对应的参数值确定为服务节点所对应的业务数据。
可选的,计算机可执行指令信息在被执行时,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据之后,方法还包括:
针对每个服务节点所对应的业务数据,将业务数据存储在服务节点所对应的业务处理线程的线程局部变量中。
可选的,计算机可执行指令信息在被执行时,将各服务节点所对应的业务数据存储至区块链中,包括:
确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;其中,数据聚合方式包括将业务数据在各服务节点之间通过网络通信协议进行传递的聚合方式,或者,将各服务节点所对应的业务数据存储至中心代理节点的聚合方式;
按照数据聚合方式将各服务节点所对应的业务数据进行聚合,得到目标业务所对应的业务数据集合;
将业务数据集合存储至区块链中。
可选的,计算机可执行指令信息在被执行时,确定对各服务节点所对应的业务数据进行聚合的数据聚合方式,包括:
根据业务***的程序代码中的注解确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;
或者,根据业务***的配置文件中的声明信息确定对各服务节点所对应的业务数据进行聚合的数据聚合方式。
可选的,计算机可执行指令信息在被执行时,还可以执行如下步骤:
接收到针对目标业务的业务请求时,生成目标业务所对应的唯一编码ID。
可选的,计算机可执行指令信息在被执行时,还可以执行如下步骤:
在目标业务的处理过程中,将目标业务的ID通过各服务节点所对应的业务处理线程的线程局部变量和各服务节点之间的网路通信协议在调用链路中传递。
可选的,计算机可执行指令信息在被执行时,将各服务节点所对应的业务数据存储至区块链中之后,方法还包括:
接收区块链返回的哈希值;其中,哈希值用于从区块链中读取目标业务所对应的数据;
建立并存储ID与哈希值的映射关系。
可选的,计算机可执行指令信息在被执行时,还可执行如下步骤:
将目标业务的ID与各服务节点所对应的业务数据关联的存储至区块链。
本说明书实施例提供的基于区块链的数据存证设备,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行上链的业务数据,这样,在目标业务的处理过程中,在相应的服务节点,可以自动的获取通过注解的方式声明的业务数据,并上传至区块链进行存储;避免了通过人工方式从调用链路的各个服务节点收集需要上链的数据,数据的收集简单方便,在数据上链过程中不需要人工参与,同时简化了业务数据上链的操作流程,使得业务数据上链存证的操作简单方便。
进一步地,基于上述图6至图8所示的方法,本说明书实施例还提供了一种基于区块链的数据取证设备,基于区块链的数据取证设备的结构示意图与基于区块链的数据存证设备的结构示意图一致,如图11所示。
在一个具体的实施例中,基于区块链的数据取证设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于区块链的数据存证设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和业务参数所对应的目标业务的ID;其中,注解用于指示获取需要取证的业务参数和对应的ID;
根据ID确定需要取证的业务参数所对应的哈希值;
基于哈希值从区块链中读取业务参数所对应的业务数据。
可选的,计算机可执行指令信息在被执行时,还可以执行如下步骤:
从业务***获取业务参数所对应的业务数据;
基于从区块链中读取的业务数据和从业务***获取的业务数据对业务参数所对应的数据进行校验。
可选的,计算机可执行指令信息在被执行时,基于哈希值从区块链中读取目标业务所对应的业务数据之前,还可以执行如下步骤:
判断区块链中是否存在哈希值所对应的业务数据。
本说明书实施例提供的基于区块链的数据取证设备,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行取证的业务参数,这样,在进行业务数据的取证时,可以自动的确定需要取证的业务参数以及相应的业务ID,从而可以基于该业务参数和ID进行业务数据的取证以及校验;避免了通过人工方式从输入需要取证的业务参数,简化了业务数据下链的操作流程,方便用户从区块链进行业务数据的取证。
进一步地,基于上述图1至图5所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
接收针对目标业务的业务请求;
在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,调用链路中包括多个服务节点;注解用于指示获取标注有注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,在目标业务的处理过程中,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的目标数据,包括:
在通过每个服务节点处理目标业务时,获取服务节点中用注解标定的业务参数和该业务参数的参数值;
将获取的用注解标定的业务参数和对应的参数值确定为服务节点所对应的业务数据。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,根据预先标定的注解获取目标业务所对应的调用链路中每个服务节点所对应的业务数据之后,方法还包括:
针对每个服务节点所对应的业务数据,将业务数据存储在服务节点所对应的业务处理线程的线程局部变量中。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,将各服务节点所对应的业务数据存储至区块链中,包括:
确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;其中,数据聚合方式包括将业务数据在各服务节点之间通过网络通信协议进行传递的聚合方式,或者,将各服务节点所对应的业务数据存储至中心代理节点的聚合方式;
按照数据聚合方式将各服务节点所对应的业务数据进行聚合,得到目标业务所对应的业务数据集合;
将业务数据集合存储至区块链中。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,确定对各服务节点所对应的业务数据进行聚合的数据聚合方式,包括:
根据业务***的程序代码中的注解确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;
或者,根据业务***的配置文件中的声明信息确定对各服务节点所对应的业务数据进行聚合的数据聚合方式。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,还可以执行如下步骤:
接收到针对目标业务的业务请求时,生成目标业务所对应的唯一编码ID。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,还可以执行如下步骤:
在目标业务的处理过程中,将目标业务的ID通过各服务节点所对应的业务处理线程的线程局部变量和各服务节点之间的网路通信协议在调用链路中传递。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,将各服务节点所对应的业务数据存储至区块链中之后,方法还包括:
接收区块链返回的哈希值;其中,哈希值用于从区块链中读取目标业务所对应的数据;
建立并存储ID与哈希值的映射关系。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,还可执行如下步骤:
将目标业务的ID与各服务节点所对应的业务数据关联的存储至区块链。
本说明书实施例提供的该存储介质存储的计算机可执行指令信息在被处理器执行时,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行上链的业务数据,这样,在目标业务的处理过程中,在相应的服务节点,可以自动的获取通过注解的方式声明的业务数据,并上传至区块链进行存储;避免了通过人工方式从调用链路的各个服务节点收集需要上链的数据,数据的收集简单方便,在数据上链过程中不需要人工参与,同时简化了业务数据上链的操作流程,使得业务数据上链存证的操作简单方便。
一步地,基于上述图6至图8所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和业务参数所对应的目标业务的ID;其中,注解用于指示获取需要取证的业务参数和对应的ID;
根据ID确定需要取证的业务参数所对应的哈希值;
基于哈希值从区块链中读取业务参数所对应的业务数据。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,还可以执行如下步骤:
从业务***获取业务参数所对应的业务数据;
基于从区块链中读取的业务数据和从业务***获取的业务数据对业务参数所对应的数据进行校验。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,基于哈希值从区块链中读取目标业务所对应的业务数据之前,还可以执行如下步骤:
判断区块链中是否存在哈希值所对应的业务数据。
本说明书实施例提供的该存储介质存储的计算机可执行指令信息在被处理器执行时,预先通过注解的方式在调用链路的各服务节点声明目标业务在该服务节点需要进行取证的业务参数,这样,在进行业务数据的取证时,可以自动的确定需要取证的业务参数以及相应的业务ID,从而可以基于该业务参数和ID进行业务数据的取证以及校验;避免了通过人工方式从输入需要取证的业务参数,简化了业务数据下链的操作流程,方便用户从区块链进行业务数据的取证。
在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)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、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、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令信息的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于服务节点实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (21)

1.一种基于区块链的数据存证方法,包括:
接收针对目标业务的业务请求;
在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
2.如权利要求1所述的方法,所述在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的目标数据,包括:
在通过每个所述服务节点处理所述目标业务时,获取所述服务节点中用所述注解标定的业务参数和所述业务参数的参数值;
将获取的用所述注解标定的业务参数和对应的参数值确定为所述服务节点所对应的业务数据。
3.如权利要求1或2所述的方法,所述根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据之后,所述方法还包括:
针对每个服务节点所对应的业务数据,将所述业务数据存储在所述服务节点所对应的业务处理线程的线程局部变量中。
4.如权利要求1所述的方法,所述将各服务节点所对应的业务数据存储至区块链中,包括:
确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;其中,所述数据聚合方式包括将所述业务数据在各服务节点之间通过网络通信协议进行传递的聚合方式,或者,将各服务节点所对应的业务数据存储至中心代理节点的聚合方式;
按照所述数据聚合方式将各服务节点所对应的业务数据进行聚合,得到所述目标业务所对应的业务数据集合;
将所述业务数据集合存储至所述区块链中。
5.如权利要求4所述的方法,所述确定对各服务节点所对应的业务数据进行聚合的数据聚合方式,包括:
根据业务***的程序代码中的注解确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;
或者,根据业务***的配置文件中的声明信息确定对各服务节点所对应的业务数据进行聚合的数据聚合方式。
6.如权利要求1所述的方法,所述方法还包括:
接收到针对所述目标业务的业务请求时,生成所述目标业务所对应的唯一编码ID。
7.如权利要求6所述的方法,所述方法还包括:
在所述目标业务的处理过程中,将所述目标业务的ID通过各服务节点所对应的业务处理线程的线程局部变量和各服务节点之间的网路通信协议在所述调用链路中传递。
8.如权利要求6所述的方法,所述将各服务节点所对应的业务数据存储至区块链中之后,所述方法还包括:
接收所述区块链返回的哈希值;其中,所述哈希值用于从所述区块链中读取所述目标业务所对应的业务数据;
建立并存储所述ID与所述哈希值的映射关系。
9.如权利要求6所述的方法,所述方法还包括:
将所述目标业务的ID与各服务节点所对应的所述业务数据关联的存储至所述区块链中。
10.一种基于区块链的数据取证方法,包括:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
根据所述ID确定需要取证的业务参数所对应的哈希值;
基于所述哈希值从所述区块链中读取所述业务参数所对应的业务数据。
11.如权利要求10所述的方法,所述方法还包括:
从业务***获取所述业务参数所对应的业务数据;
基于从所述区块链中读取的业务数据和从所述业务***获取的所述业务数据对所述业务参数所对应的数据进行校验。
12.如权利要求10或11所述的方法,所述基于所述哈希值从所述区块链中读取所述目标业务所对应的业务数据之前,所述方法还包括:
判断所述区块链中是否存在所述哈希值所对应的业务数据。
13.一种基于区块链的数据存证装置,包括:
接收模块,用于接收针对目标业务的业务请求;
获取模块,用于在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
第一存储模块,用于将各服务节点所对应的业务数据存储至区块链中。
14.如权利要求13所述的装置,所述获取模块,包括:
获取单元,用于在通过每个所述服务节点处理所述目标业务时,获取所述服务节点中用所述注解标定的业务参数和所述业务参数的参数值;
第一确定单元,用于将获取的用所述注解标定的业务参数和对应的参数值确定为所述服务节点所对应的业务数据。
15.如权利要求13或14所述的装置,所述装置还包括:
第二存储模块,用于针对每个服务节点所对应的业务数据,将所述业务数据存储在所述服务节点所对应的业务处理线程的线程局部变量中。
16.如权利要求13所述的装置,所述第一存储模块,包括:
第二确定单元,用于确定对各服务节点所对应的业务数据进行聚合的数据聚合方式;其中,所述数据聚合方式包括将所述业务数据在各服务节点之间通过网络通信协议进行传递的聚合方式,或者,将各服务节点所对应的业务数据存储至中心代理节点的聚合方式;
聚合单元,用于按照所述数据聚合方式将各服务节点所对应的业务数据进行聚合,得到所述目标业务所对应的业务数据集合;
存储单元,用于将所述业务数据集合存储至所述区块链中。
17.一种基于区块链的数据取证装置,包括:
第一确定模块,用于在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
第二确定模块,用于根据所述ID确定需要取证的业务参数所对应的哈希值;
读取模块,用于基于所述哈希值从所述区块链中读取所述业务参数所对应的业务数据。
18.一种基于区块链的数据存证设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
接收针对目标业务的业务请求;
在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
19.一种基于区块链的数据取证设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
根据所述ID确定需要取证的业务参数所对应的哈希值;
基于所述哈希值从所述区块链中读取所述业务参数所对应的业务数据。
20.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
接收针对目标业务的业务请求;
在所述目标业务的处理过程中,根据预先标定的注解获取所述目标业务所对应的调用链路中每个服务节点所对应的业务数据;其中,所述调用链路中包括多个服务节点;所述注解用于指示获取标注有所述注解的业务数据;
将各服务节点所对应的业务数据存储至区块链中。
21.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
在对业务数据进行取证时,根据预先标定的注解确定需要取证的业务参数和所述业务参数所对应的目标业务的ID;其中,所述注解用于指示获取需要取证的业务参数和对应的ID;
根据所述ID确定需要取证的业务参数所对应的哈希值;
基于所述哈希值从区块链中读取所述业务参数所对应的业务数据。
CN201910165410.4A 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置 Active CN109886689B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110621066.2A CN113421086A (zh) 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置
CN201910165410.4A CN109886689B (zh) 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910165410.4A CN109886689B (zh) 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110621066.2A Division CN113421086A (zh) 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置

Publications (2)

Publication Number Publication Date
CN109886689A true CN109886689A (zh) 2019-06-14
CN109886689B CN109886689B (zh) 2021-04-16

Family

ID=66930774

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910165410.4A Active CN109886689B (zh) 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置
CN202110621066.2A Pending CN113421086A (zh) 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110621066.2A Pending CN113421086A (zh) 2019-03-05 2019-03-05 基于区块链的数据存证、取证方法及装置

Country Status (1)

Country Link
CN (2) CN109886689B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365766A (zh) * 2019-07-12 2019-10-22 全链通有限公司 基于区块链的云存储方法、设备及计算机可读存储介质
CN110503385A (zh) * 2019-07-15 2019-11-26 招联消费金融有限公司 业务处理方法、装置、计算机设备和存储介质
CN110555036A (zh) * 2019-08-21 2019-12-10 上海易点时空网络有限公司 基于异步处理的数据排重方法及装置
CN111522822A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
CN111756737A (zh) * 2020-06-24 2020-10-09 中国平安财产保险股份有限公司 数据传输方法、装置、***、计算机设备及可读存储介质
CN113421086A (zh) * 2019-03-05 2021-09-21 创新先进技术有限公司 基于区块链的数据存证、取证方法及装置
CN114157581A (zh) * 2020-09-07 2022-03-08 北京金山云网络技术有限公司 提供区块链服务的方法、装置、存储介质和电子设备
CN114640686A (zh) * 2022-03-15 2022-06-17 金蝶软件(中国)有限公司 业务数据上链方法、上链引擎装置及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109064120A (zh) * 2018-07-10 2018-12-21 马上游科技股份有限公司 基于区域链的旅游电子合同数字存证***及存证方法
CN109255661A (zh) * 2018-09-27 2019-01-22 王国俊 一种基于区块链的业务数据认证方法及***
CN109327314A (zh) * 2018-11-08 2019-02-12 阿里巴巴集团控股有限公司 业务数据的访问方法、装置、电子设备和***
CN109379418A (zh) * 2018-10-09 2019-02-22 上海点融信息科技有限责任公司 基于区块链处理业务***的文件的方法、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608901B2 (en) * 2012-07-24 2017-03-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for enabling services chaining in a provider network
US10270672B2 (en) * 2016-12-08 2019-04-23 Sap Se Collecting information for tracing in a complex computing system
CN107391527B (zh) * 2017-03-28 2020-03-27 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107257340B (zh) * 2017-06-19 2019-10-01 阿里巴巴集团控股有限公司 一种认证方法、基于区块链的认证数据处理方法及设备
CN109302448B (zh) * 2018-08-27 2020-10-09 华为技术有限公司 一种数据处理方法及装置
CN109190402A (zh) * 2018-09-13 2019-01-11 北京京东尚科信息技术有限公司 一种事故数据写入方法及装置、设备、存储介质
CN109886689B (zh) * 2019-03-05 2021-04-16 创新先进技术有限公司 基于区块链的数据存证、取证方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109064120A (zh) * 2018-07-10 2018-12-21 马上游科技股份有限公司 基于区域链的旅游电子合同数字存证***及存证方法
CN109255661A (zh) * 2018-09-27 2019-01-22 王国俊 一种基于区块链的业务数据认证方法及***
CN109379418A (zh) * 2018-10-09 2019-02-22 上海点融信息科技有限责任公司 基于区块链处理业务***的文件的方法、设备及存储介质
CN109327314A (zh) * 2018-11-08 2019-02-12 阿里巴巴集团控股有限公司 业务数据的访问方法、装置、电子设备和***

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113421086A (zh) * 2019-03-05 2021-09-21 创新先进技术有限公司 基于区块链的数据存证、取证方法及装置
CN110365766A (zh) * 2019-07-12 2019-10-22 全链通有限公司 基于区块链的云存储方法、设备及计算机可读存储介质
CN110503385A (zh) * 2019-07-15 2019-11-26 招联消费金融有限公司 业务处理方法、装置、计算机设备和存储介质
CN110503385B (zh) * 2019-07-15 2022-08-12 招联消费金融有限公司 业务处理方法、装置、计算机设备和存储介质
CN110555036A (zh) * 2019-08-21 2019-12-10 上海易点时空网络有限公司 基于异步处理的数据排重方法及装置
CN111756737A (zh) * 2020-06-24 2020-10-09 中国平安财产保险股份有限公司 数据传输方法、装置、***、计算机设备及可读存储介质
CN111756737B (zh) * 2020-06-24 2023-10-13 中国平安财产保险股份有限公司 数据传输方法、装置、***、计算机设备及可读存储介质
CN111522822A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
US11410171B2 (en) 2020-07-03 2022-08-09 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain consensus method and device and electronic equipment
CN114157581A (zh) * 2020-09-07 2022-03-08 北京金山云网络技术有限公司 提供区块链服务的方法、装置、存储介质和电子设备
CN114640686A (zh) * 2022-03-15 2022-06-17 金蝶软件(中国)有限公司 业务数据上链方法、上链引擎装置及计算机存储介质

Also Published As

Publication number Publication date
CN109886689B (zh) 2021-04-16
CN113421086A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
CN109886689A (zh) 基于区块链的数据存证、取证方法及装置
CN107592292B (zh) 一种区块链节点间通信方法及装置
CN107015882B (zh) 一种区块数据校验方法和装置
CN107196900A (zh) 一种共识校验的方法及装置
CN105068818B (zh) 生成渠道包的方法、装置与批量生成渠道包的方法、***
CN108881170A (zh) 一种授权引导的数据处理方法、装置、处理设备及***
CN106201850B (zh) 一种兼容性测试方法及装置
CN107665427A (zh) 一种离线支付、业务处理、支付处理的方法及装置
CN109615366A (zh) 设备支付方法及装置
CN109344208A (zh) 路径查询方法、装置及电子设备
CN107229559A (zh) 针对业务***的测试完整度的检测方法和装置
CN110503435A (zh) 基于区块链的交易预警方法、装置及设备
CN109299222A (zh) 数据核对方法及装置
CN106484603B (zh) 一种业务测试方法及装置
CN109725989A (zh) 一种任务执行的方法及装置
CN110046187A (zh) 数据处理***、方法及装置
CN108960790A (zh) 一种账单业务的处理方法、装置、服务器及***
CN110134735A (zh) 分布式事务日志的存储方法及装置
CN109002357A (zh) 资源分配方法、装置及物联网***
CN109241026A (zh) 数据管理的方法、装置及***
CN109743231A (zh) 一种acl功能测试方法和装置
CN109428900A (zh) 一种数据处理的方法及装置
CN109003090A (zh) 风险控制方法和装置
CN113191817B (zh) 服务费用的计算方法及装置
CN110245973A (zh) 数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant