CN112364020B - 数据存储方法和联盟链系统 - Google Patents
数据存储方法和联盟链系统 Download PDFInfo
- Publication number
- CN112364020B CN112364020B CN202011218092.2A CN202011218092A CN112364020B CN 112364020 B CN112364020 B CN 112364020B CN 202011218092 A CN202011218092 A CN 202011218092A CN 112364020 B CN112364020 B CN 112364020B
- Authority
- CN
- China
- Prior art keywords
- target
- resource transfer
- transfer service
- transaction
- node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000013500 data storage Methods 0.000 title claims abstract description 22
- 238000012546 transfer Methods 0.000 claims abstract description 350
- 238000012795 verification Methods 0.000 claims abstract description 44
- 238000012856 packing Methods 0.000 claims abstract description 7
- 238000012544 monitoring process Methods 0.000 claims description 55
- 238000012790 confirmation Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 7
- 238000013524 data verification Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000001960 triggered effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000003999 initiator Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003542 behavioural effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Fuzzy Systems (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Probability & Statistics with Applications (AREA)
- Strategic Management (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种数据存储方法和联盟链系统。该方法应用于联盟链,包括:联盟链中与目标资源转移服务相关方关联的第一目标节点广播目标交易数据;对于每个共识节点,共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的目标交易数据进行行为验证;对于每个共识节点,在共识节点确定对目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,共识节点将目标交易数据的状态确定为待上链状态;在记账节点对目标区块验证通过的情况下将目标区块增加至区块链,目标区块包括目标共识节点将目标交易数据打包后得到的数据;目标共识节点是获得记账权的共识节点。能够提高数据的安全性。
Description
技术领域
本申请涉及数据业务领域,尤其涉及一种数据存储方法和联盟链系统。
背景技术
随着移动互联网的发展以及产业互联网的开始,越来越多的资源转移服务相关方通过互联网开放平台接入各种资源转移服务。
目前,资源转移服务使用方在使用开放平台的服务能力时,可以根据资源转移服务提供方的要求填写相关参数进行资源转移服务的调用,并根据资源转移服务的闭包关系完成相关的业务流程。但是,资源转移服务使用方和资源转移服务提供方之间在交互时,会出现交互数据被篡改以及资源转移服务相关方(例如资源转移服务使用方或资源转移服务提供方)进行不合理的资源转移服务,进而降低资源转移服务中数据的安全性。
因此,急需提供一种数据存储方法,以提高资源转移服务中数据的安全性。
发明内容
本申请实施例提供一种数据存储方法和联盟链,能够解决资源转移服务中数据的安全性较低的问题。
一方面,本申请提供一种数据存储方法,该方法应用于联盟链,包括:
联盟链中与目标资源转移服务相关方关联的第一目标节点广播目标交易数据,目标交易数据包括目标资源转移服务相关方进行资源转移服务的相关数据;
对于每个共识节点,共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的目标交易数据进行行为验证;
对于每个共识节点,在共识节点确定对目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,共识节点将目标交易数据的状态确定为待上链状态;
在联盟链中的记账节点对目标区块验证通过的情况下,将目标区块增加至区块链,目标区块包括目标共识节点将目标交易数据打包后得到的数据;目标共识节点是获得记账权的共识节点。
另一方面,本申请提供一种联盟链系统,该联盟链系统包括:多个资源转移服务相关方关联的节点、多个共识节点和多个记账节点;
多个资源转移服务相关方中的目标资源转移服务相关方关联的第一目标节点广播目标交易数据,目标交易数据包括目标资源转移服务相关方进行资源转移服务的相关数据;
对于每个共识节点,共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的目标交易数据进行行为验证;
对于每个共识节点,在共识节点确定对目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,共识节点将目标交易数据的状态确定为待上链状态;
在联盟链中的记账节点对目标区块验证通过的情况下,将目标区块增加至区块链,目标区块包括目标共识节点将目标交易数据打包后得到的数据;目标共识节点获得记账权的共识节点。
本申请实施例的数据存储方法和联盟链系统,通过在联盟链中为每个资源转移服务相关方预先关联一个节点,则当目标资源转移服务相关方进行资源转移业务时,与目标资源转移服务相关方关联的节点可以向每个共识节点广播与资源转移服务相关的目标交易数据。每个共识节点通过基于预先存储的每个资源转移服务方关联的节点对应的交易行为信息,对接收的目标交易数据进行行为验证,可以对目标资源转移服务相关方进行的交易的行为合理性进行验证,从而提高数据的安全性。在共识节点对目标交易数据行为验证通过后,且记账节点对将目标交易数据打包的目标区块验证通过后,则记账节点可以将目标区块添加至区块链,即将目标交易数据进行上链。由于存储于区块链中的数据具有不可伪造、全程留痕、可以追溯等优势,因此可以进一步提高资源转移服务中的数据安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请提供的数据存储方法的一个实施例的流程示意图;
图2是根据本申请提供的资源转移服务调用的流程示意图;
图3是根据本申请提供的交易时序图;
图4是根据本申请提供的交易行为信息的示意图;
图5是根据本申请提供的交易数据的状态变化示意图;
图6是根据本申请提供的交易列表的示意图;
图7是根据本申请提供的检查点的示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了更好的理解本申请,下面将结合附图,详细描述根据本申请实施例的数据存储方法和联盟链系统,应注意,这些实施例并不是用来限制本申请公开的范围。
基于上述技术问题,本申请提供一种数据存储方法,通过利用与资源转移服务相关方关联的节点,将资源转移服务使用方与资源转移服务提供方之间的交易数据经行为验证后再存储与区块链,从而提高了资源转移服务中数据的安全性。
图1是根据本申请提供的数据存储方法的流程示意图。如图1所示,本申请提供的数据存储方法应用于联盟链,该方法包括:
步骤110,联盟链中与目标资源转移服务相关方关联的第一目标节点广播目标交易数据,目标交易数据包括目标资源转移服务相关方进行资源转移服务的相关数据;
步骤120,对于每个共识节点,共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的目标交易数据进行行为验证;
步骤130,对于每个共识节点,在共识节点确定对目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,共识节点将目标交易数据的状态确定为待上链状态;
步骤140,在联盟链中的记账节点对目标区块验证通过的情况下,将目标区块增加至区块链,目标区块包括目标共识节点将目标交易数据打包后得到的数据;目标共识节点是获得记账权的共识节点。
下面对步骤110~步骤140中的每个步骤的具体实现方式进行详细介绍。
本申请中涉及的联盟链,包括共识节点、记账节点以及与资源转移服务相关方关联的节点(即功能节点)。其中,共识节点是相当重要的节点,它负责对资源转移服务相关方关联的节点之间进行业务协同所产生的交易数据进行集体背书,之后共识节点经过共识算法确认过的交易才会被认可为合法的交易并完成后续的上链过程。记账节点负责记账。功能节点负责提供特定的业务功能。
在本申请的实施例中,若目标资源转移服务相关方需要进行资源转移服务,则目标资源转移服务相关方在联盟链中关联的第一目标节点则会广播目标交易数据。
在本申请的实施例中,目标交易数据是第一目标节点基于目标资源转移服务相关方发送的目标数据请求生成的。
在本申请的一些实施例中,在步骤110之前,本申请提供的数据存储方法还包括:联盟链中与目标资源转移服务相关方关联的第一目标节点接收目标资源转移服务相关方发送的目标数据请求;第一目标节点基于目标数据请求,生成目标交易数据。
在本申请的一些实施例中,在目标资源转移服务相关方为目标资源转移服务提供方的情况下,目标数据请求为:目标资源转移服务的发布请求、接收到针对目标资源转移服务的调用请求的第一确认请求或对调用请求处理后的反馈结果。
在本申请的另一些实施例中,在目标资源转移服务相关方为目标资源转移服务使用方的情况下,目标数据请求为:目标资源转移服务的调用请求、接收到反馈结果的第二确认请求。
在资源转移服务提供方和资源转移服务使用方共同参与的联盟链中,根据资源转移服务提供方与资源转移服务使用方之间的数据交互类型,可以约定如下交易类型:
(一)资源转移服务提供方发布资源转移服务:
TX_SVR_PUBLISH。资源转移服务提供方通过该交易发布资源转移服务。
(二)资源转移服务使用方调用资源转移服务提供方发布的资源转移服务:TX_SVR_REQ_REQ。资源转移服务使用方根据服务接口的约定,提供资源转移服务所需的调用参数并调用资源转移服务时触发该交易。
(三)资源转移服务提供方接收到资源转移服务使用方发送的资源转移服务调用请求时发送第一确认请求:TX_SVR_RSP_REQ_ACK。资源转移服务提供方收到调用资源转移服务请求时,发送请求确认报文时触发该交易。
(四)资源转移服务提供方处理资源转移服务使用方发送的资源转移服务调用请求后发送反馈结果:TX_SVR_RSP_RSP。资源转移服务提供方处理调用资源转移服务请求报文后,发送返回结果报文时触发该交易。
(五)资源转移服务使用方接收到资源转移服务提供方发送的反馈结果后发送第二确认请求:TX_SVR_REQ_RSP_ACK。资源转移服务使用方收到资源转移服务提供方的结果响应报文时,发送响应报文确认时触发该交易。
在本申请的一些实施例中,在资源转移服务相关方关联的节点基于目标数据请求生成目标交易数据时,可以按照预设的交易约定生成交易数据。作为一个示例,目标交易数据一般包括表1中示出的交易要素。
表1
其中,交易类型是指上述介绍的5种交易类型;实体方标识是指资源转移服务提供方或资源转移服务使用方在联盟链内的唯一性标识;发起方:交易发起方的地址;交易日期和时间是指提交交易时的时间和日期;服务标识是指本次交易所涉及的资源转移服务的标识。例如服务标识可以是服务名称或服务代码;报文哈希值是指调用资源转移服务所涉及参数的十六进制的值,按照参数的自然顺序进行排列并计算得出的哈希值。备注是指交易发起方自定义的信息。
在本申请的实施例中,交易触发时,交易的关键要素包括触发该交易的报文的哈希值、服务标识、交易的标识、交易触发时间及日期。
当目标资源转移服务相关方关联的第一目标节点接收到的目标数据请求不同时,则会触发不同的交易类型,以生成不同的目标交易数据。
在本申请的一些实施例中,若目标资源转移服务提供方具有资源转移服务发布的需求,则目标资源转移服务提供方向其自身在联盟链中关联的节点发送目标资源转移服务的发布请求。其中,目标资源转移服务的发布请求中包括目标资源转移服务提供方提供的目标资源转移服务的实际服务调用接口。目标资源转移服务提供方关联的节点接收到目标资源转移服务的发布请求之后,响应于该发布请求,将目标资源转移服务的实际服务调用接口映射成一个交易调用接口,并保存实际服务调用接口与交易调用接口的映射关系。此次交易类型为交易类型TX_SVR_PUBLISH。然后,目标资源转移服务提供方关联的节点基于映射后的交易调用接口以及表1中需要的交易要素等信息生成目标交易数据。接着,目标资源转移服务提供方关联的节点广播该目标交易数据。则每个共识节点以及每个资源转移服务使用方关联的节点将会接收并保存该目标交易数据。
在本申请的一些实施例中,在目标资源转移服务相关方为目标资源转移服务提供方,且目标数据请求为目标资源转移服务的发布请求的情况下,第一目标节点基于目标数据请求以及接收的资源转移服务发布操作,生成目标交易数据。
在一些实施例中,资源转移服务发布操作包括以下操作的至少一种:资源转移服务的类型选择操作、资源转移服务对应的业务类型的选择操作、资源转移服务的使用范围设置操作以及资源转移服务的计费规则设置操作。
图2示出了本申请提供的资源转移服务发布的流程示意图。如图2所示,操作员可以登录目标资源转移服务提供方关联的节点的管理界面。接着,操作员可以选择发布服务功能,以进行服务发布设置界面。然后操作员选择待发布的目标资源转移服务,即操作员进行了资源转移服务的类型选择操作。接着,操作员配置目标资源转移服务的业务类型和可视范围,即操作员进行了资源转移服务对应的业务类型的选择操作和资源转移服务的使用范围设置操作。再接着,可以配置目标资源转移服务的计费规则,即操作员进行了资源转移服务的计费规则设置操作。当操作员确认关于目标资源转移服务的配置完成之后,则可以完成服务发布。目标资源转移服务提供方关联的节点基于接收的资源转移服务的类型选择操作、资源转移服务对应的业务类型的选择操作、资源转移服务的使用范围设置操作以及资源转移服务的计费规则设置操作,生成目标资源转移服务的发布的交易,即交易类型为TX_SVR_PUBLISH的交易。当目标资源转移服务提供方关联的节点生成对应的待确认的目标交易数据之后,则广播该目标交易数据,即提高交易。
在本申请的实施例中,可以利用不同的资源转移服务发布操作,进行不同的资源转移服务发布请求,以实现根据不同的需求进行资源转移服务的发布,灵活性更高。
需要说明的是,配置资源转移服务的业务类型意味着该服务被赋予了联盟链管理方设定的缺省业务参数,资源转移服务发布方不能修改这些业务参数。资源转移服务发布方可以配置该服务的使用范围,即哪些节点可以使用该服务。
在本申请的一些实施例中,若目标资源转移服务使用方具有资源转移服务调用需求,则目标资源转移服务使用方向其自身在联盟链中关联的节点发送目标资源转移服务的查询请求,以查询目标资源转移服务使用方关联的节点中是否存储了需要调用的目标资源转移服务的交易调用接口。若目标资源转移服务使用方从目标资源转移服务使用方关联的节点中查询到了需要调用的资源转移服务的交易调用接口,则向该节点发送目标资源转移服务的服务调用请求。则目标资源转移服务使用方关联的节点接收到目标资源转移服务的服务调用请求之后,则会触发交易类型为TX_SVR_REQ_REQ的交易。目标资源转移服务使用方关联的节点基于该服务调用请求生成目标交易数据,并广播该目标交易数据。其中,目标资源转移服务的服务调用请求中包括目标资源转移服务的交易调用接口。
在本申请的一些实施例中,目标资源转移服务提供方关联的节点接收到目标资源转移服务使用方关联的节点广播的目标交易数据之后,基于预先存储的交易调用接口与实际服务调用接口的映射关系,确定目标资源转移服务的实际服务调用接口。然后目标资源转移服务提供方关联的节点向目标资源转移服务提供方提供的目标资源转移服务的实际调用接口发送目标资源转移服务的调用请求,以调用该目标资源转移服务。当目标资源转移服务提供方接收到目标资源转移服务提供方关联的节点发送的目标资源转移服务的调用请求之后,则会向该节点发送第一确认请求。目标资源转移服务提供方关联的节点接收到第一确认请求之后,则会触发交易类型为TX_SVR_RSP_REQ_ACK的交易。则目标资源转移服务提供方关联的节点可以基于接收的第一确认请求生成目标交易数据,并广播该目标交易数据。则目标资源转移服务使用方关联的节点接收到基于第一确认请求生成的目标交易数据之后,向目标资源转移服务使用方转发该第一确认请求,以使目标资源转移服务使用方知晓目标资源转移服务的调用请求已成功发送至目标资源转移服务提供方。
在本申请的一些实施例中,当目标资源转移服务提供方接收到目标资源转移服务提供方关联的节点发送的目标资源转移服务的调用请求之后,会处理该调用请求,即进行该目标资源转移服务的调用。当目标资源转移服务提供方处理该调用请求之后,则向该目标资源转移服务提供方关联的节点发送对调用请求处理后的反馈结果。目标资源转移服务提供方关联的节点接收到该反馈结果后,则会触发交易类型为TX_SVR_RSP_RSP的交易。目标资源转移服务提供方关联的节点基于该反馈结果生成目标交易数据,并广播该目标交易数据。目标资源转移服务使用方关联的节点接收到该目标交易数据后,将该目标交易数据中的反馈结果转发至目标资源转移服务使用方。
在本申请的一些实施例中,当目标资源转移服务使用方接收到反馈结果之后,则向目标资源转移服务使用方关联的节点发送第二确认请求。目标资源转移服务使用方关联的节点接收到第二确认请求之后触发交易类型为TX_SVR_REQ_RSP_ACK的交易。则目标资源转移服务使用方关联的节点基于第二确认请求生成目标交易数据,并广播该目标交易数据。目标资源转移服务提供方关联的节点接收到该目标交易数据之后,转发至目标资源转移服务提供方。
通过以上介绍,可以得出资源转移服务提供方和资源转移服务使用方之间完成一次资源转移服务的调用的过程中的交易时序图。图3示出本申请提供的交易时序图。
参见图3,在资源转移服务提供方和资源转移服务使用方之间完成一次资源转移服务的调用的过程中,首先在t0时刻,资源转移服务提供方发布资源转移服务,即触发了交易类型为TX_SVR_PUBLISH的交易。在t1时刻,资源转移服务使用方调用资源转移服务提供方发布的资源转移服务,即触发了交易类型为TX_SVR_REQ_REQ的交易。在t3时刻,资源转移服务提供方接收到资源转移服务使用方发送的资源转移服务调用请求时发送第一确认请求,即触发了交易类型为TX_SVR_RSP_REQ_ACK的交易。在t4时刻,资源转移服务提供方处理资源转移服务使用方发送的资源转移服务调用请求后发送反馈结果,即触发了交易类型为TX_SVR_RSP_RSP的交易。在t5时刻,以及资源转移服务使用方接收到资源转移服务提供方发送的反馈结果后发送第二确认请求,即触发了交易类型为TX_SVR_REQ_RSP_ACK的交易。
通过以上交互流程,通过利用目标资源转移服务方在联盟链中关联的节点和目标资源转移使用方在联盟链中关联的节点,可以将目标资源转移服务方和目标资源转移使用方之间进行交互时,每次涉及的目标交易数据都广播至区块链中的其他节点,以完成后续对该目标交易数据的上链,进而提高资源转移服务中每个交易数据的安全性。
在步骤110中,联盟链中与目标资源转移服务相关方关联的第一目标节点广播目标交易数据,则联盟链中的其他资源转移服务相关方关联的节点以及每个共识节点都可以接收并存储该目标交易数据。
下面介绍步骤120的具体实现方式。
在本申请的实施例中,对于每个资源转移服务相关方,该资源转移服务相关方可以进行的合理资源转移服务是有规定的。例如,对于一个小型商户,该商户可以进行的合理资源转移服务可以是消费服务、转账服务等业务,若该商户进行了放款服务,则是不合理的。
因此,为了提高资源转移服务中数据的安全性,可以对目标交易数据进行行为验证。
在本申请的一些实施例中,步骤120包括:共识节点基于预先存储的每个第一标识对应的角色信息、每个第一标识对应的服务标识以及每个第一标识对应的交易类型,对目标交易数据进行行为验证。其中,第一标识是资源转移服务相关方关联的节点的标识。即第一标识是资源转移服务相关方关联的节点在联盟链中的唯一标识。
在本申请的一些实施例中,第一标识对应的角色信息包括以下角色中的至少一种:资源转移服务提供方、资源转移服务使用方以及监控方。
联盟链管理方可以按照一定的机制,例如管理方指定或者节点申请管理方审核等多种方式,把联盟链中的节点配置成相应的角色。每个联盟链中的节点在成为相应的角色时,尽管其继续了角色赋予的缺省权限,但是,联盟链管理方可以在审核或通过时调整这些权限以及对应的业务参数。也就是说,相同的角色由于所对应的节点不同,其获得的权限可能是不同的。
对于具有资源转移服务提供方的角色的节点,该节点缺省的权限可以是:允许申请业务类型、允许发布资源转移服务、允许查阅共享数据库等。
对于具有资源转移服务使用方的角色的节点,该节点缺省的权限可以是:允许申请业务类型、允许使用资源转移服务、允许查阅共享数据库等。
对于具有监控方的角色的节点,该节点缺省的权限可以是:允许查阅共享数据库。
在本申请的实施例中,在对每个角色设置权限时,均可对已申请的业务类型所涉及的业务参数进行调整和个性化设置。例如已申请的业务为转账业务,则可以设置日累计转出限额、月累计转出限额、月累计转入限额等参数。
在对每个节点的角色信息设置完成之后,可以得到每个资源转移服务相关方关联的节点的第一标识对应的角色信息。然后,将每个第一标识对应的角色信息分别同步到每个共识节点,以使每个共识节点解析并保存每个第一标识对应的角色信息。需要说明的是,每个第一标识对应的角色信息还包括该角色对应的权限信息。
在本申请的实施例中,对于每个资源转移服务相关方,可以为该资源转移服务相关方配置可进行的合理的资源转移服务。然后将资源转移服务相关方对应的每个合理的资源转移服务的服务标识作为该资源转移服务相关方关联的节点的第一标识对应的服务标识。例如,服务标识可以为资源转移服务的服务名称或者服务代码。
在对每个节点的服务标识设置完成之后,可以得到每个资源转移服务相关方关联的节点的第一标识对应的服务标识。然后,将每个第一标识对应的服务标识分别同步到每个共识节点,以使每个共识节点解析并保存每个第一标识对应的服务标识。
在本申请的实施例中,对于每个资源转移服务相关方,可以为该资源转移服务相关方关联的节点预先设置被许可的交易类型。关于交易类型可详见上述的五种交易类型,在此不再赘述。在对每个节点的交易类型设置完成之后,可以得到每个资源转移服务相关方关联的节点的第一标识对应的交易类型。然后,将每个第一标识对应的交易类型分别同步到每个共识节点,以使每个共识节点解析并保存每个第一标识对应的交易类型。
也就是说,每个共识节点将会保存每个第一标识对应的角色信息、每个第一标识对应的服务标识以及每个第一标识对应的交易类型。
作为一个示例,每个第一标识对应的角色信息可以角色权限表的形式进行记录。即角色权限表用于记录每个节点对应的角色以及该角色对应的权限信息。每个第一标识对应的交易类型可以交易权限表的形式进行记录。其中,交易权限表则记录了每个节点被许可的交易类型以及相关的参数。每个第一标识对应的服务标识可以服务权限表的形式进行记录。服务权限表则记录了每个节点被允许使用的资源转移服务的服务标识。
在本申请的实施例中,参见图4,每个共识节点中可以设置行为管理模块,该行为管理模块可以记录角色权限表、交易权限表和服务权限表。
在本申请的一些实施例中,根据表1中交易数据包括的交易要素可知,目标交易数据可以包括目标交易类型、目标资源转移服务相关方的节点的目标标识以及目标服务标识。在此基础上,步骤120包括:基于目标交易类型,确定目标资源转移服务相关方关联的节点的目标角色信息;根据预先存储的每个第一标识对应的角色信息、每个第一标识对应的服务标识以及每个第一标识对应的交易类型,分别确定目标标识对应的第一角色信息、目标标识对应的第一交易类型以及目标标识对应的第一服务标识;判断目标角色信息与第一角色信息是否匹配、目标交易类型与第一交易类型是否匹配以及目标服务标识与第一服务标识是否匹配,以对目标交易数据进行行为验证。
其中,对目标交易数据行为验证通过,包括:确定目标角色信息与第一角色信息匹配、目标交易类型与第一交易类型匹配且目标服务标识与第一服务标识相匹配。
在本申请的实施例中,由于不同的交易类型需要不同角色进行执行,因此基于目标交易数据中的交易类型可以确定交易的发起方的角色以及该角色的权限信息,即目标资源转移服务相关方的角色信息。
在本申请的实施例中,基于预先存储的每个第一标识对应的角色信息、每个第一标识对应的服务标识以及每个第一标识对应的交易类型,可以查询目标标识对应的第一角色信息、目标标识对应的第一交易类型以及目标标识对应的第一服务标识。
在确定目标角色信息与第一角色信息匹配、目标交易类型与第一交易类型匹配且目标服务标识与第一服务标识相匹配的情况下,则可以确定对目标交易数据的行为验证通过。
作为一个示例,目标角色信息与第一角色信息匹配可以包括目标角色信息与第一角色信息相同。目标交易类型与第一交易类型匹配可以包括目标交易类型与第一交易类型相同。目标服务标识与第一服务标识相匹配可以包括目标服务标识与第一服务标识相相同。
在本申请的实施例中,对于每个共识节点,该共识节点均对接收到的目标交易数据进行行为验证,即进行行为共识。
下面介绍步骤130的具体实现方式。
在本申请的实施例中,对于每个共识节点,当该共识节点确定对目标交易数据行为验证通过之后,则投票统一该目标交易数据进入待上链状态,则会发送投票结果与其相邻的每个共识节点。因此,对于每个共识节点,该共识节点可以得到其他每个共识节点对目标交易数据的投票结果。若对于每个共识节点,在共识节点确定对目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,即该目标交易数据获得的投票大于第一预设阈值的情况下,则投票成功,该目标交易数据的状态进入待上链状态。
在本申请的实施例中,通过对目标交易数据进行行为共识,可以验证资源转移服务相关方所进行的资源转移服务是否合理,可以提高资源转移服务中数据的安全性。
下面介绍步骤140的具体实现方式。
在本申请的实施例中,当共识节点对目标交易数据进行行为共识之后,若共识节点确定目标交易数据通过行为共识,则可以多个共识节点需要争夺记账权。作为一个示例,多个共识节点可以基于预设的记账权规则争夺记账权,即从多个共识节点中确定获取记账权的目标节点。
其中,预设的记账权规则可以为共识节点轮流获取记账权或者计算预设任务所用时间最短的共识节点获取记账权等等。
在本申请的实施例中,获取记账权的目标节点将目标交易数据打包进新的区块,得到目标区块。
接着,目标节点广播该目标区块。当每个记账节点接收到目标区块之后,对目标区块进行投票。例如,记账节点可以根据目标区块的编号是否与自身存储的最新区块的编号连续,以对该目标区块进行投票。若记账节点确定目标区块的编号与自身存储的最新区块的编号连续,则对该目标区块投票。对于每个记账节点,该记账节点将对目标区块的投票结果发送至与其相邻的每个记账节点。则每个记账节点均会得到其他记账节点的投票结果。若记账节点确定对目标区块投票的其他记账节点的个数大于第二预设阈值,则确定记账节点对目标区块验证通过,则该笔交易可以成功上链,即将目标区块存入区块链。
在本申请的实施例中,联盟链内的每一笔交易数据的生命周期可以参见图5。
对于资源转移服务相关方关联的节点构造的每一笔交易数据,在该交易数据构造完成后均处于状态1,即待确认状态。当资源转移服务相关方关联的节点向共识节点和其他节点广播该交易数据后,每个收到该笔交易数据的节点仍然标识该交易数据的状态为状态1。当该笔交易数据通过共识节点的行为验证后,该笔交易的状态更新到状态2,即待上链状态。
当交易数据通过获得记账权的节点打包进新的区块后,能按照共识算法在记账节点之间达成一致,即记账节点对该区块验证通过,则该笔交易的状态更新到状态3,即已上链状态,若记账节点对该区块未验证通过,则更新到状态4,即差错状态。如果交易数据在状态3的情况下,被另外一笔已上链的交易声明为需要终止,则该笔交易的状态需要更新到状态5,即已终止状态。
对于每个节点,该节点可以对每个状态的交易数据进行分类管理。如图6所示,每个节点中可以保存待确认交易数据列表、待上链交易数据列表、已上链交易数据列表以及差错/终止交易列表。
在本申请的实施例中,在资源转移服务提供方和资源转移服务使用方之间进行资源转移服务的过程中,资源转移服务提供返关联的节点或者资源转移服务使用方关联的节点均可以广播待确认的交易数据。
然后,每个共识节点均可以收到广播的待确认交易数据。每个共识节点的行为管理模块均单独对该交易发起方的角色信息、交易类型和服务标识相关的参数进行验证,如果所有条件满足,则对该交易数据的行为验证通过,即对该交易数据投票。如果该笔交易数据获得的投票大于第一预设阈值,则该交易数据进入“待上链”状态。成功进入待上链状态的交易数据会被获得记账权的节点进行打包进新的区块,如果该区块被记账节点验证通过,则该笔交易就成功上链,否则进入差错状态。
在本申请的实施例中,在共识节点对目标交易数据行为验证通过后,且记账节点对将目标交易数据打包的目标区块验证通过后,则记账节点可以将目标区块添加至区块链,即将目标交易数据进行上链。由于存储于区块链中的数据具有不可伪造、全程留痕、可以追溯等优势,因此可以进一步提高资源转移服务中的数据安全性。
在本申请的一些实施例中,在步骤140之前,本申请提供的数据存储方法还包括:共识节点将目标交易数据存入自身的共享数据库,并将目标交易数据发送至共识节点的邻居节点,以使邻居节点将目标交易数据存入对应的共享数据库。
在本申请的实施例中,通过将目标交易输入存入共享数据库,并将目标交易数据发送至共识节点的邻居节点,则可以使联盟链中的每个节点均存储该目标交易数据,可以提高目标交易数据的真实性,防止目标交易数据被篡改。
在本申请的一些实施例中,在共识节点确定对目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,在共识节点将目标交易数据的状态确定为待上链状态之前,本申请提供的数据存储方法还包括:共识节点确定对目标交易数据进行数据验证通过的共识节点满足第一预设条件。
在本申请的一些实施例中,第一预设条件包括对目标交易数据进行数据验证通过的共识节点的个数大于第三预设阈值。
作为一个示例,对目标交易数据进行数据验证通过包括目标交易数据中的调用参数、调用方的地址等参数是正确的。
在本申请的实施例中,通过对目标交易数据进行数据验证,可以进一步提高数据的安全性。
在本申请的实施例中,通过对交易数据先进行行为共识再进行数据共识,从不同的角度对交易数据的安全性进行验证,大大提高了资源转移服务中数据的安全性。
在本申请的实施例中,为了进一步提高数据的安全性,可以检测资源转移服务提供方与资源转移服务使用方在进行资源转移服务中的交易数据是否被中途篡改。因此,本申请提供的数据存储方法还包括:
步骤150,联盟链中与监控方关联的第二目标节点接收监控方发送的第一查询请求,第一查询请求包括第一交易标识;
步骤160,第二目标节点从自身的共享数据库中查询与第一交易标识对应的第一交易数据;
步骤170,第二目标节点向监控方发送第一交易数据,以使监控方判断预先存储的与第一交易标识对应的第二交易数据是否与第一交易数据匹配;
步骤180,第二目标节点接收监控方发送的第二查询请求,第二查询请求包括第一交易标识;第二查询请求是监控方确定第一交易数据与第二交易数据匹配的情况下发送的;
步骤190,第二目标节点从区块链中查询与第一交易标识对应的第一哈希值,并向监控方发送第一哈希值,以使监控方在确定第一哈希值与第二交易数据的第二哈希值不同的情况下,输出第一报警信息;
其中,第一报警信息用于提示第一交易数据是被篡改后的数据。
在步骤150中,监控方可以是资源转移服务提供方、资源转移服务使用方或者预先授权的链外的监控服务器。其中,监控方在联盟链中也具有与其关联的一个节点。
在本申请的实施例中,若想查询资源转移服务提供方与资源转移服务使用方在进行资源转移服务中的交易数据是否被篡改,则监控方可以查询第一交易标识对应的交易数据是否被篡改。其中,第一交易标识可以是任意一次资源转移服务被使用的全程中涉及的任意一个交易数据所对应的交易标识。也就是说,可以对任意一次交易数据是否被篡改进行检测。作为一个示例,第一交易标识可以为资源转移服务使用方调用资源转移服务提供方发布的资源转移服务时对应的交易标识。
接着,监控方可以向与其关联的第二目标节点发送第一查询请求,该查询请求中包括第一交易标识。
需要说明的是,监控方可以按照预设查询机制向第二目标节点发送第一查询请求。作为一个示例,预设查询机制可以为按照预设时间间隔进行查询,或者在预设时刻进行查询。
在步骤160中,由于第二目标节点的共享数据库中存储着每一次交易的交易明细,所以第二目标节点可以根据第一查询请求中的第一交易标识,查询与第一交易标识对应的第一交易数据。
在步骤170中,当第二目标节点查询到与第一交易标识对应的第一交易数据之后,将该第一交易数据发送至监控方。由于监控方存储了未被篡改的第一交易标识对应的正确的交易数据,即第二交易数据,因此监控方接收到第一交易数据之后,可以将第一交易数据与第二交易数据进行比对,判断第一交易数据与第二交易数据是否匹配。若监控方确定第一交易数据与第二交易数据匹配,则确定交易正确。
作为一个示例,第一交易数据和第二交易数据相匹配可以是两个交易数据中的关键交易要素相同。若确定第一交易数据与第二交易数据匹配,则监控方向第二目标节点发送第二查询请求。其中第二查询请求是为了进一步验证交易数据是否被篡改。
为了进一步确定第一交易数据未被篡改,在步骤190中,当第二目标节点接收到监控方的第二查询请求之后,则第二目标节点从区块链中查询与第一交易标识对应的第一哈希值,并向监控方发送第一哈希值。
监控方接收到第一哈希值之后,将第一哈希值与第二交易数据的第二哈希值进行比对。其中,第二交易数据是监控方根据预设哈希算法对第二交易数据进行哈希后得到的数据。
若监控方确定第一哈希值与第二哈希值相同,则可以确定第一交易标识对应的交易数据没有被篡改。若监控方确定第一哈希值与第二哈希值不同,则监控方确定第一交易数据被篡改了,则输出第一报警信息,用于提示第一交易数据被篡改。
在本申请的实施例中,为了进一步提高判断交易参数是否被篡改,第二目标节点接收监控方发送的第二查询请求之前,本申请提供的数据存储方法还包括:第二目标节点从至少一个其他节点的共享数据库中查询与第一交易标识对应的第一交易数据;在此基础上,步骤170包括:第二目标节点向监控方发送每个第一交易数据,以使监控方法判断每个第一交易数据是否与第二交易数据匹配。
其中,第二查询请求是监控方确定每个第一交易数据均与第二交易数据匹配的情况下发送的。
在本申请的实施例中,至少一个其他节点可以包括与第二目标节点直接通信的邻居节点或者与第二目标节点进行间接通信的节点。
当第二目标节点接收到第一查询请求之后,第二目标节点可以基于第一交易标识从每个其他节点的共享数据库中查询与第一交易标识对应的第一交易数据。在监控方确定每个第一交易数据与第二交易数据均相同的情况下,才确定交易正确,再向第二目标节点发送第二查询请求。
在本申请的实施例中,通过将第二交易数据与从每个其他节点读取的第一交易数据进行比对,可以进一步提高对第一交易数据是否被篡改的准确性。
在本申请的一些实施例中,步骤190包括:第二目标节点从区块链中查询与第一交易标识对应的第一区块编号;第二目标节点从第一区块编号对应的区块中读取第一交易标识对应的第一哈希值。
在本申请的一些实施例中,区块链中保存着交易标识与区块编号的对应关系,因此第二目标节点可以从区块链中查询到与第一交易标识对应的第一区块编号。接着,第二目标节点可以从第一区块编号对应的区块中读取第一交易标识对应的第一哈希值。
在本申请的实施例中,通过将从区块链中读取的与第一交易标识对应的哈希值与第二交易数据的第二哈希值进行比对,可以进一步判断第一交易数据是否被篡改,提高了判断交易数据是否被篡改的准确性。
在本申请的一些实施例中,本申请提供的数据存储方法还包括:
步骤210,联盟链中与监控方关联的第二目标节点接收监控方发送的第三查询请求,第三查询请求包括第二交易标识和第三交易标识;
步骤220,第二目标节点从自身的共享数据库中查询与第二交易标识对应的第三交易数据和第三交易标识对应的第四交易数据;
步骤230,第二目标节点向监控方发送第三交易数据和第四交易数据,以使监控方在确定预先存储的与第二交易标识对应的第五交易数据与第三交易数据匹配以及且确定预先存储的与第三交易标识对应的第六交易数据与第四交易数据匹配的情况下,以及第一交易时刻与第二交易时刻之间的时长大于预设时长的情况下,输出第二报警信息;
其中,第一交易时刻是第三交易数据中的交易时刻,第二交易时刻是第四交易数据中的交易时刻。
在本申请的实施例中,若调用请求报文发送超时、第一确认请求报文发送超时、资源转移服务处理超时或者资源转移服务响应超时,则代表在资源转移服务中出现了问题,则需要进行预警。
作为一个示例,第二交易标识和第三交易标识可以是图7中所示出的4个检查点(Check Point)中每个检查点分别对应的两个交易对应的交易标识。
其中,检查点1用于检测调用请求报文发送是否超时,检查点2用于检测第一确认请求报文发送是否超时、检测点3用于检测资源转移服务处理是否超时,检查点4用于检测资源转移服务响应是否超时。
在本申请的一些实施例中,第二目标节点可以从自身的共享数据库中查询与第二交易标识对应的第三交易数据以及与第三交易标识对应的第四交易数据。然后第二目标节点向监控方发送第三交易数据和第四交易数据。监控方判断第三交易数据与预先存储的未被篡改的与第二交易标识对应的第五交易数据是否匹配,以及判断第四交易数据与预先存储的未被篡改的与第三交易标识对应的第六交易数据是否匹配。
若监控方确定第三交易数据与第五交易数据匹配,且确定第四交易数据与第六交易数据匹配,则可以确定交易正确,则监控方从第三交易数据中读取第一交易时刻,从第四交易数据中读取第二交易时刻。
接着,监控方判断第一交易时刻与第二交易时刻之间的时长是否大于预设时长。若第一交易时刻与第二交易时刻之间的时长大于预设时长,则说明与第二交易标识和第三交易标识对应的检查点出现超时的情况,监控方可以输出第二报警信息,用于预警。
在本申请的实施例中,通过判断预设检查点对应的两个交易之间的时长是否超时,可以对整个联盟链的安全性进行监测。
在本申请的实施例中,监控方为资源转移服务相关方或预先授权的非资源转移服务相关方。因此可以实现资源转移服务提供方、资源转移服务使用方以及预先授权的非资源转移服务相关方中的任意一方均可以从资源转移服务被使用的全程进行透明监控,可以监控资源转移服务被使用的全程中的任意一次交易数据是否被篡改,实现全域监控以及预警共享。
作为一个示例,银行可以建设资源转移服务开放平台,将自身的资源转移服务接口开放给第三方。第三方的系统一般较弱,在正常提供服务的同时,银行可以通过本申请提供的数据存储方法对资源转移服务接口的使用情况进行监控,则可提升整个系统的安全性。
本申请还提供一种联盟链,该联盟链包括:多个资源转移服务相关方关联的节点、多个共识节点和多个记账节点。
多个资源转移服务相关方中的目标资源转移服务相关方关联的第一目标节点广播目标交易数据,目标交易数据包括目标资源转移服务相关方进行资源转移服务的相关数据。
对于每个共识节点,共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的目标交易数据进行行为验证。
对于每个共识节点,在共识节点确定对目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,共识节点将目标交易数据的状态确定为待上链状态。
在联盟链中的记账节点对目标区块验证通过的情况下,将目标区块增加至区块链,目标区块包括目标共识节点将目标交易数据打包后得到的数据;目标共识节点获得记账权的共识节点。
在本申请的实施例中,关于联盟链系统的具体实现方式可参照上述应用于联盟链的数据存储方法的具体实现方式,在此不再赘述。
在本申请的实施例中,通过在联盟链中为每个资源转移服务相关方预先关联一个节点,则当目标资源转移服务相关方进行资源转移业务,与目标资源转移服务相关方关联的节点可以向每个共识节点广播与资源转移服务相关的交易数据。每个共识节点通过基于预先存储的每个资源转移服务方关联的节点对应的交易行为信息,对接收的目标交易数据进行行为验证,可以对目标资源转移服务相关方进行的交易的行为合理性进行验证,从而提高数据的安全性。在共识节点对目标交易数据行为验证通过后,且记账节点对将目标交易数据打包的目标区块验证通过后,则记账节点可以将目标区块添加至区块链,即将目标交易数据进行上链。由于存储于区块链中的数据具有不可伪造、全程留痕、可以追溯等优势,因此可以进一步提高资源转移服务中的数据安全性。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (17)
1.一种数据存储方法,其特征在于,所述方法应用于联盟链,所述方法包括:
所述联盟链中与目标资源转移服务相关方关联的第一目标节点广播目标交易数据,所述目标交易数据包括所述目标资源转移服务相关方进行资源转移服务的相关数据;
对于所述联盟链中的每个共识节点,所述共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的所述目标交易数据进行行为验证;
对于每个所述共识节点,在所述共识节点确定对所述目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,所述共识节点将所述目标交易数据的状态确定为待上链状态;
在所述联盟链中的记账节点对目标区块验证通过的情况下,将所述目标区块增加至区块链,所述目标区块包括目标共识节点将所述目标交易数据打包后得到的数据;所述目标共识节点是获得记账权的共识节点。
2.根据权利要求1所述的方法,其特征在于,所述共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的所述目标交易数据进行行为验证,包括:
所述共识节点基于预先存储的每个第一标识对应的角色信息、每个所述第一标识对应的服务标识以及每个所述第一标识对应的交易类型,对所述目标交易数据进行行为验证;所述第一标识是联盟链中每个节点的标识。
3.根据权利要求2所述的方法,其特征在于,所述目标交易数据包括目标交易类型、所述目标资源转移服务相关方关联的节点的目标标识以及目标服务标识;
其中,所述共识节点基于预先存储的每个第一标识对应的角色信息、每个所述第一标识对应的服务标识以及每个所述第一标识对应的交易类型,对所述目标交易数据进行行为验证,包括:
基于所述目标交易类型,确定所述目标资源转移服务相关方关联的节点的目标角色信息;
根据预先存储的每个第一标识对应的角色信息、每个所述第一标识对应的服务标识以及每个所述第一标识对应的交易类型,分别确定所述目标标识对应的第一角色信息、所述目标标识对应的第一交易类型以及所述目标标识对应的第一服务标识;
判断所述目标角色信息与所述第一角色信息是否匹配、所述目标交易类型与所述第一交易类型是否匹配以及所述目标服务标识与所述第一服务标识是否匹配,以对所述目标交易数据进行行为验证;
其中,对所述目标交易数据行为验证通过,包括:
确定所述目标角色信息与所述第一角色信息匹配、所述目标交易类型与所述第一交易类型匹配且所述目标服务标识与所述第一服务标识相匹配。
4.根据权利要求2所述的方法,其特征在于,所述第一标识对应的角色信息包括以下角色中的至少一种:
资源转移服务提供方、资源转移服务使用方以及监控方。
5.根据权利要求2所述的方法,其特征在于,交易类型为以下类型中的任意一种:
资源转移服务提供方发布资源转移服务、资源转移服务使用方调用资源转移服务提供方发布的资源转移服务、资源转移服务提供方接收到资源转移服务使用方发送的资源转移服务调用请求时发送第一确认请求、资源转移服务提供方处理资源转移服务使用方发送的资源转移服务调用请求后发送反馈结果以及资源转移服务使用方接收到资源转移服务提供方发送的反馈结果后发送第二确认请求。
6.根据权利要求1所述的方法,其特征在于,所述联盟链中与目标资源转移服务相关方关联的第一目标节点广播目标交易数据之前,所述方法还包括:
所述联盟链中与所述目标资源转移服务相关方关联的第一目标节点接收所述目标资源转移服务相关方发送的目标数据请求;
所述第一目标节点基于所述目标数据请求,生成所述目标交易数据。
7.根据权利要求6所述的方法,其特征在于,在所述目标资源转移服务相关方为目标资源转移服务提供方的情况下,所述目标数据请求为:
目标资源转移服务的发布请求、接收到针对所述目标资源转移服务的调用请求的第一确认请求或对所述调用请求处理后的反馈结果;
在所述目标资源转移服务相关方为目标资源转移服务使用方的情况下,所述目标数据请求为:
所述目标资源转移服务的调用请求、接收到所述反馈结果的第二确认请求。
8.根据权利要求6所述的方法,其特征在于,在所述目标资源转移服务相关方为目标资源转移服务提供方,且所述目标数据请求为目标资源转移服务的发布请求的情况下,
所述第一目标节点基于所述目标数据请求,生成所述目标交易数据,包括:
所述第一目标节点基于所述目标数据请求以及接收的资源转移服务发布操作,生成所述目标交易数据。
9.根据权利要求8所述的方法,其特征在于,所述资源转移服务发布操作包括以下操作的至少一种:
资源转移服务的类型选择操作、资源转移服务对应的业务类型的选择操作、资源转移服务的使用范围设置操作以及资源转移服务的计费规则设置操作。
10.根据权利要求1所述的方法,其特征在于,所述在所述联盟链中的记账节点对目标区块验证通过的情况下,将所述目标区块增加至区块链之前,所述方法还包括:
所述共识节点将所述目标交易数据存入自身的共享数据库,并将所述目标交易数据发送至所述共识节点的邻居节点,以使所述邻居节点将所述目标交易数据存入对应的共享数据库。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述联盟链中与监控方关联的第二目标节点接收所述监控方发送的第一查询请求,所述第一查询请求包括第一交易标识;
所述第二目标节点从自身的共享数据库中查询与所述第一交易标识对应的第一交易数据;
所述第二目标节点向所述监控方发送所述第一交易数据,以使所述监控方判断预先存储的与所述第一交易标识对应的第二交易数据是否与所述第一交易数据匹配;
所述第二目标节点接收所述监控方发送的第二查询请求,所述第二查询请求包括所述第一交易标识;所述第二查询请求是所述监控方确定所述第一交易数据与所述第二交易数据匹配的情况下发送的;
所述第二目标节点从区块链中查询与所述第一交易标识对应的第一哈希值,并向所述监控方发送所述第一哈希值,以使所述监控方在确定所述第一哈希值与所述第二交易数据的第二哈希值不同的情况下,输出第一报警信息;
其中,所述第一报警信息用于提示所述第一交易数据是被篡改后的数据。
12.根据权利要求11所述的方法,其特征在于,所述第二目标节点接收所述监控方发送的第二查询请求之前,所述方法还包括:
所述第二目标节点从至少一个其他节点的共享数据库中查询与所述第一交易标识对应的第一交易数据;
其中,所述第二目标节点向所述监控方发送所述第一交易数据,以使所述监控方判断预先存储的与所述第一交易标识对应的第二交易数据是否与所述第一交易数据匹配,包括:
所述第二目标节点向所述监控方发送每个所述第一交易数据,以使所述监控方法判断每个所述第一交易数据是否与所述第二交易数据匹配;
其中,所述第二查询请求是所述监控方确定每个所述第一交易数据均与所述第二交易数据匹配的情况下发送的。
13.根据权利要求11所述的方法,其特征在于,所述第二目标节点从区块链中查询与所述第一交易标识对应的第一哈希值,包括:
所述第二目标节点从区块链中查询与所述第一交易标识对应的第一区块编号;
所述第二目标节点从所述第一区块编号对应的区块中读取所述第一交易标识对应的第一哈希值。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述联盟链中与监控方关联的第二目标节点接收所述监控方发送的第三查询请求,所述第三查询请求包括第二交易标识和第三交易标识;
所述第二目标节点从自身的共享数据库中查询与所述第二交易标识对应的第三交易数据和所述第三交易标识对应的第四交易数据;
所述第二目标节点向所述监控方发送所述第三交易数据和所述第四交易数据,以使所述监控方在确定预先存储的与所述第二交易标识对应的第五交易数据与所述第三交易数据匹配以及且确定预先存储的与所述第三交易标识对应的第六交易数据与所述第四交易数据匹配的情况下,以及第一交易时刻与第二交易时刻之间的时长大于预设时长的情况下,输出第二报警信息;
其中,所述第一交易时刻是所述第三交易数据中的交易时刻,所述第二交易时刻是所述第四交易数据中的交易时刻。
15.根据权利要求11或14所述的方法,其特征在于,所述监控方为资源转移服务相关方或预先授权的非资源转移服务相关方。
16.根据权利要求1所述的方法,其特征在于,在所述共识节点确定对所述目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,
在所述共识节点将所述目标交易数据的状态确定为待上链状态之前,所述方法还包括:
所述共识节点确定对所述目标交易数据进行数据验证通过的共识节点满足第一预设条件。
17.一种联盟链系统,其特征在于,所述联盟链系统包括:多个资源转移服务相关方关联的节点、多个共识节点和多个记账节点;
所述多个资源转移服务相关方中的目标资源转移服务相关方关联的第一目标节点广播目标交易数据,所述目标交易数据包括所述目标资源转移服务相关方进行资源转移服务的相关数据;
对于每个所述共识节点,所述共识节点基于预先存储的每个资源转移服务相关方关联的节点对应的交易行为信息,对接收的所述目标交易数据进行行为验证;
对于每个所述共识节点,在所述共识节点确定对所述目标交易数据行为验证通过的共识节点的个数大于第一预设阈值的情况下,所述共识节点将所述目标交易数据的状态确定为待上链状态;
在所述联盟链中的记账节点对目标区块验证通过的情况下,将所述目标区块增加至区块链,所述目标区块包括目标共识节点将所述目标交易数据打包后得到的数据;所述目标共识节点获得记账权的共识节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011218092.2A CN112364020B (zh) | 2020-11-04 | 2020-11-04 | 数据存储方法和联盟链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011218092.2A CN112364020B (zh) | 2020-11-04 | 2020-11-04 | 数据存储方法和联盟链系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364020A CN112364020A (zh) | 2021-02-12 |
CN112364020B true CN112364020B (zh) | 2024-03-22 |
Family
ID=74512817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011218092.2A Active CN112364020B (zh) | 2020-11-04 | 2020-11-04 | 数据存储方法和联盟链系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364020B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN110222529A (zh) * | 2019-05-21 | 2019-09-10 | 平安普惠企业管理有限公司 | 基于联盟链的资产管理方法、电子设备及计算机存储介质 |
CN110569643A (zh) * | 2019-09-10 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的交通管理方法及装置 |
CN110602096A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
CN111311409A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯云计算(北京)有限责任公司 | 目标对象确定方法、装置、电子设备及存储介质 |
CN111343179A (zh) * | 2020-02-25 | 2020-06-26 | 中国工商银行股份有限公司 | 一种链上数据真实性的实时共识方法及装置 |
-
2020
- 2020-11-04 CN CN202011218092.2A patent/CN112364020B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN110222529A (zh) * | 2019-05-21 | 2019-09-10 | 平安普惠企业管理有限公司 | 基于联盟链的资产管理方法、电子设备及计算机存储介质 |
CN110569643A (zh) * | 2019-09-10 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的交通管理方法及装置 |
CN110602096A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
CN111311409A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯云计算(北京)有限责任公司 | 目标对象确定方法、装置、电子设备及存储介质 |
CN111343179A (zh) * | 2020-02-25 | 2020-06-26 | 中国工商银行股份有限公司 | 一种链上数据真实性的实时共识方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112364020A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
US11509486B2 (en) | Identity attestation system and method | |
CN109034833B (zh) | 一种基于区块链的产品追溯信息管理系统及方法 | |
US10686799B2 (en) | Blockchain-based method and system for providing tenant security and compliance in a cloud computing environment | |
CN110971656B (zh) | 区块链中的数据的安全存储 | |
US12032716B2 (en) | Accessing information based on privileges | |
CN112632575A (zh) | 业务系统的权限管理方法、装置、计算机设备及存储介质 | |
CN111327564B (zh) | 一种联盟链的准入方法及装置 | |
CN111200589A (zh) | 一种联盟链的数据保护方法及系统 | |
CN110598434B (zh) | 基于区块链网络的房屋信息处理方法、装置、电子设备及存储介质 | |
CN110135194B (zh) | 一种基于区块链的工业互联网数字对象的管理方法 | |
CN110633963A (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
CN109522988B (zh) | 产品防伪电子标签信息更新方法和系统 | |
CN113261253A (zh) | 用于控制资源的释放的方法和系统 | |
CN115796871A (zh) | 基于区块链的资源数据处理方法、装置和服务器 | |
CN110049051B (zh) | 请求的验证方法、装置、存储介质及联盟链验证系统 | |
CN111683060A (zh) | 通信消息验证方法、装置及计算机存储介质 | |
CN112364020B (zh) | 数据存储方法和联盟链系统 | |
CN111222989B (zh) | 多通道区块链的交易方法、电子设备和存储介质 | |
CN112037062B (zh) | 交易共识方法、装置、电子设备及可读存储介质 | |
CN112037055A (zh) | 交易处理方法、装置、电子设备及可读存储介质 | |
CN115456619B (zh) | 一种基于区块链技术的虚拟预付卡发行系统和方法 | |
CN116596551A (zh) | 基于区块链的供应链产品溯源方法、存储介质和电子设备 | |
CN111489252B (zh) | 一种基于联盟链的存款证明开立方法及装置 | |
CN115001718B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |