CN111340481B - 基于多链区块链网络的数据处理方法、装置和设备 - Google Patents
基于多链区块链网络的数据处理方法、装置和设备 Download PDFInfo
- Publication number
- CN111340481B CN111340481B CN201811555820.1A CN201811555820A CN111340481B CN 111340481 B CN111340481 B CN 111340481B CN 201811555820 A CN201811555820 A CN 201811555820A CN 111340481 B CN111340481 B CN 111340481B
- Authority
- CN
- China
- Prior art keywords
- key value
- target key
- value item
- chain
- main chain
- 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
Images
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种基于多链区块链网络的数据处理方法、装置和设备,应用于多链区块链网络中,多链区块链网络包括1条主链和至少2条支链;通过路由客户端获取数据配置信息,根据数据配置信息,向主链和支链发送锁定请求,以使得主链和支链分别发起对目标键值项进行锁定的合约操作;路由客户端响应于接收主链和支链的锁定完成信息,向主链和支链发送调整请求,以使得主链和支链分别发起对已锁定的目标键值项进行调整处理的合约操作,在保证数据处理效率的同时使得支链之间的数据交互更加可靠,提高了数据处理的安全性。
Description
技术领域
本发明涉及数据处理技术,尤其涉及一种基于多链区块链网络的数据处理方法、装置和设备。
背景技术
区块链的本质是形成共识机制的分布式账本,其中存储的区块最终都以键值项(包括键值名和键值)的形式进行底层数据的存储。公有链是一种完全自由且公开的区块链,以使所有的人都参与区块链网络的维护。区块链技术由于要同时兼顾去中心化、扩展性以及吞吐量,所以在实际业务场景中其较低的吞吐量和处理速度已经成为了区块链技术的瓶颈。如何在保证数据安全和可追溯的前提下,提高区块链技术的吞吐量和处理速度成为亟需解决的问题。
现有的区块链通过构建参与者受限的联盟区块链网络,来提高区块链的数据吞吐量和处理速度。联盟区块链网络中的节点通过加入特定的智能合约而形成两个或两个以上节点之间的联盟链,仅需要加入同一智能合约的节点达成共识,就能完成联盟链内智能合约的数据验证操作,并将数据存储在该智能合约对应的节点中。
然而,在利用联盟区块链实现数据处理的过程中,发明人发现随着业界对区块链技术应用场景的普及和深入,区块链网络中需要存储和处理的数据也越来越庞大,在多个智能合约处理庞大交易数据量时可能存在数据不同步而导致数据的安全性不高的问题。
发明内容
本发明实施例提供一种基于多链区块链网络的数据处理方法、装置和设备,在保证数据处理效率的同时使得支链之间的数据交互更加可靠,提高了数据处理的安全性。
根据本发明的第一方面,提供一种基于多链区块链网络的数据处理方法,应用于多链区块链网络中的路由客户端,所述多链区块链网络包括1条主链和至少2条支链。所述方法包括:
获取数据配置信息,所述数据配置信息包含对至少2个目标键值项依据预设的调整规则进行调整处理的指示信息,所述至少2个目标键值项分别存储在不同的所述支链中;
根据所述数据配置信息,向所述主链和所述支链发送锁定请求,以使得所述主链和支链分别发起对所述目标键值项进行锁定的合约操作;
响应于接收到所述主链和支链的锁定完成信息,向所述主链和所述支链发送调整请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
根据本发明的第二方面,提供一种基于多链区块链网络的数据处理方法,应用于多链区块链网络中的主链,所述多链区块链网络包括1条主链和至少2条支链;
所述方法包括:
响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
响应于路由客户端发送的包括调整规则的调整请求,发起以所述调整规则对所述目标键值项进行调整处理的合约操作,并在调整完成时向所述路由客户端发送调整完成信息。
根据本发明的第三方面,提供一种基于多链区块链网络的数据处理方法,应用于多链区块链网络中的支链,所述多链区块链网络包括1条主链和至少2条支链;
所述方法包括:
响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
响应于路由客户端发送的包括目标键值项的调整请求,发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中调整后的目标键值项的键值一致,并在调整完成时向所述路由客户端发送调整完成信息。
根据本发明的第四方面,提供一种数据处理装置,应用于多链区块链网络中的路由客户端,所述多链区块链网络包括1条主链和至少2条支链;
所述装置包括:
配置获取模块,用于获取数据配置信息,所述数据配置信息包含对至少2个目标键值项依据预设的调整规则进行调整处理的指示信息,所述至少2个目标键值项分别存储在不同的所述支链中;
锁定触发模块,用于根据所述数据配置信息,向所述主链和所述支链发送锁定请求,以使得所述主链和支链分别发起对所述目标键值项进行锁定的合约操作;
处理触发模块,用于响应于接收到所述主链和所述支链的锁定完成信息,向所述主链和所述支链发送调整请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
根据本发明的第五方面,提供一种数据处理装置,应用于多链区块链网络中的主链,所述多链区块链网络包括1条主链和至少2条支链;
所述装置包括:
主链锁定模块,用于响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
主链处理模块,用于响应于路由客户端发送的包括调整规则的调整请求,发起以所述调整规则对所述目标键值项进行调整处理的合约操作,并在调整完成时向所述路由客户端发送调整完成信息。
根据本发明的第六方面,提供一种数据处理装置,应用于多链区块链网络中的支链,所述多链区块链网络包括1条主链和至少2条支链;
所述装置包括:
支链锁定模块,用于响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
支链处理模块,用于响应于路由客户端发送的包括目标键值项的调整请求,发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中调整后的目标键值项的键值一致,并在调整完成时向所述路由客户端发送调整完成信息。
根据本发明的第七方面,提供一种路由客户端设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行本发明第一方面及第一方面的各种可选方式中所述的数据处理方法。
根据本发明的第八方面,提供一种主链设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行本发明第二方面及第二方面的各种可选方式中所述的数据处理方法。
根据本发明的第九方面,提供一种支链设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行本发明第三方面及第三方面的各种可选方式中所述的数据处理方法。
根据本发明的第十方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面的各种可选方式中所述的数据处理方法。
根据本发明的第十一方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第二方面及第二方面的各种可选方式中所述的数据处理方法。
根据本发明的第十二方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第三方面及第三方面的各种可选方式中所述的数据处理方法。
本发明提供的一种基于多链区块链网络的数据处理方法、装置和设备,应用于多链区块链网络中,多链区块链网络包括1条主链和至少2条支链;通过路由客户端获取数据配置信息,根据数据配置信息,向主链和支链发送锁定请求,以使得主链和支链分别发起对目标键值项进行锁定的合约操作;路由客户端响应于接收主链和支链的锁定完成信息,向主链和支链发送调整请求,以使得主链和支链分别发起对已锁定的目标键值项进行调整处理的合约操作,在保证数据处理效率的同时使得支链之间的数据交互更加可靠,提高了数据处理的安全性。
附图说明
图1是本发明实施例提供的一种应用场景示意图;
图2是本发明实施例提供的一种基于多链区块链网络的数据处理方法的信令流程示意图;
图3是本发明实施例提供的另一种基于多链区块链网络的数据处理方法的信令流程示意图;
图4是本发明实施例提供的步骤S111之后可选的一种解锁过程的信令流程示意图;
图5是本发明实施例提供的一种数据处理装置结构示意图;
图6是本发明实施例提供的另一种数据处理装置结构示意图;
图7是本发明实施例提供的再一种数据处理装置结构示意图;
图8是本发明实施例提供的一种路由客户端设备的硬件结构示意图;
图9是本发明实施例提供的一种主链设备的硬件结构示意图;
图10是本发明实施例提供的一种支链设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明实施例中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明实施例中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
无论是哪一方面,例如方法方面、装置方面等,本申请中所述的数据处理可以包括基于数据或对数据进行的设置、计算、判断、传输、存储、管理等至少之一。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
应当理解,在本发明实施例中,“发起......的合约操作”,都是节点通过其加入的智能合约实现的操作。例如同属于一条主链上的节点加入同一智能合约,其中一节点发起针对某数据修改的合约操作,则该主链各节点基于智能合约对待锁定的数据是否合法、修改操作是否合法、发起的节点是否合法等进行验证,达到共识合法后在各节点的存储空间中进行修改。其中,数据是否合法的验证,例如可以是数据是否存在、是否为可修改的数据;而修改操作是否合法的验证,例如可以是数据当前是否可以被当前方式修改;发起的节点是否合法的验证,例如可以是发起的节点是否有权限对该数据进行修改等。本发明实施例中锁定、调整和解锁的操作都是通过智能合约实现的,因此都是合约操作。
参见图1,是本发明实施例提供的一种应用场景示意图。如图1所示的应用场景为一多链区块链网络。该多链区块链网络主要包括1条主链和至少2条支链。主链包括与所述路由客户端连接的主链接入节点和主链其他节点,每个所述支链包括与所述路由客户端连接的支链接入节点和支链其他节点。该多链区块链网络例如可以是电商平台与多个供应商参与的区块链网络,支链可以是按照地理区域分配的,也可以是按照供应商类型分配的。路由客户端可以是有多个,每个路由客户端可以是对应一个供应商。具体地,假设多链区块链网络是贩卖冰箱的企业构建的一个全国范围内的客户购物系统,该企业拥有大约50000个用户。那么,对于这些用户的交易数据,可以在路由客户端中预先设置分配规则,例如按照用户ID平均分配到10条支链上,或者为以用户所处的区域进行分配,从而确定将各用户分配到哪条支链中处理该用户的交易数据。贩卖冰箱的企业参与到每一条支链的交易和数据处理中,如果某些区域的冰箱库存过量,而另一些区域冰箱供不应求,则需要调整各区域的库存数据,而在多链区块链网络中也需要对两条或多条支链中的冰箱数据以预定物资流转规则进行调整。在现有的数据处理方法中,在多个智能合约处理庞大交易数据量时,尤其是跨链交互时,可能存在数据不同步而导致数据的安全性不高的问题。本发明的各种实施例将待处理数据分配到不同支链以保证数据处理效率,并通过路由客户端触发主链和支链中的目标键值项先锁定再调整,使得支链之间的数据交互更加可靠,提高了数据处理的安全性。
参见图2,是本发明实施例提供的一种基于多链区块链网络的数据处理方法的信令流程示意图,图2所示方法的各个执行主体(主链接入节点、支链接入节点和路由客户端)可以是软件和/或硬件装置,例如可以是服务器或服务器集群。与路由客户端相连的主链接入节点、支链接入节点,可以认为是在主链和支链中路由客户端信任程度最高的节点,例如与路由客户端同属于一个供应商的主链接入节点、支链接入节点。支链中的支链其他节点,可以理解为是与支链接入节点在同一条支链上,且加入同一智能合约的节点。如果支链是联盟链,那么支链接入节点发起的合约操作是限于同一智能合约下的节点参与的合约操作;如果支链是所有节点加入同一智能合约的,那么支链接入节点发起的合约操作是该条支链上所有节点都参与的合约操作。图2所示的方法主要包括步骤S101至步骤S107,具体如下:
S101,路由客户端获取数据配置信息,所述数据配置信息包含对至少2个目标键值项依据预设的调整规则进行调整处理的指示信息,所述至少2个目标键值项分别存储在不同的所述支链中。
在一实现方式中,路由客户端可以是从外部终端接收用户和/或供应商发来的数据配置信息。以冰箱供应商为例,路由客户端可以是有多个,其中一个是冰箱企业专用的路由客户端,那么冰箱企业在需要进行资源调整时,通过一台外部服务器向其对应的路由客户端发送数据配置信息。数据配置信息中包含了涉及调整的多个目标键值项,以及每个目标键值项的调整方式。例如:在需要将1区中的100台冰箱调去9区,那么需要将支链1中键值名为A1的目标键值项“A1:10”以及支链9中键值名为A9的目标键值项“A9:180”,调整为“A1:110”和“A9:80”,由此实现支链存储数据的调整。本实施例中主链上各节点用于存储所有支链中键值项的键值名,而支链则根据主链中的键值项的状态来更新自身的键值项状态。本实施例以路由客户端形成各个阶段的触发机制,降低数据调整中出现“双花”(DoubleSpending)的可能性,保证了数据调整过程中的数据安全性和可追溯性。
S102,路由客户端根据所述数据配置信息,向所述主链和所述支链发送锁定请求。
路由客户端与主链中的主链接入节点相连,可以是以信息推送的方式将数配置信息发送给主链接入节点,以使得主链接入节点在所述主链中发起对目标键值项进行锁定的合约操作。同样地,路由客户端与支链中的支链接入节点相连,可以是以信息推送的方式将数配置信息发送给支链接入节点,以使得支链接入节点在支链中发起对目标键值项进行锁定的合约操作。在一实施例中,多链区块链网络中的主链和每一条支链各自加入自己的智能合约(简称为合约),维护各自的区块链账本。以一支链为例,一条支链上的所有节点可以是加入同一合约,并向该合约进行授权,使得同一支链上的各节点能够基于该合约实现数据的广播、验证、共识和读写操作,即执行合约操作。本实施例的多链区块链网络中的主链和每一条支链可以是与公有链、联盟链相同或类似的结构。本实施例在主链和每一条支链中是采用分布式记账的形式,各个节点保存全量记账信息,而且同一条链上加入同一合约的节点通过共识算法达成一致,共同维护一个统一的区块链账本。本实施例中描述某一节点发起合约操作实时信息的读取或记录时,可理解为该节点具体是针对自身保存的全量记账信息实时信息的读取或记录。
S103,主链响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作。
在一实施例中,在发起对所述目标键值项进行锁定的合约操作之前,主链接入节点先检查锁定请求涉及的目标键值项的状态。如果目标键值项已经被锁定了,说明前一次对该目标键值项的数据处理还未结束,则无法发起对所述目标键值项进行锁定的合约操作。如果目标键值项没有被锁定,说明前一次对该目标键值项的数据处理已结束,该目标键值项当前正处于正常交易状态,那么发起对所述目标键值项进行锁定的合约操作,可以防止该目标键值项进行调整之前被交易数据所修改。例如,在将“A1:10”和“A9:180”,分别调整为“A1:110”和“A9:80”之前,需要先将主链中的“A1:10”和“A9:180”锁定,以免调整过程中9区中的冰箱被卖掉导致数据混乱。
S104,主链在锁定完成时向所述路由客户端发送锁定完成信息。
可以理解为,通过向所述路由客户端发送锁定完成信息,以使得路由客户端触发下一阶段的开始。
S105,支链响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作。
可以理解为,支链接入节点的锁定是在主链完成锁定后再进行的,因此在接收到锁定请求后,只有确定主链已锁定了,才会将自己存储的目标键值项的状态切换为锁定。例如,在将“A1:10”和“A9:180”,分别调整为“A1:110”和“A9:80”之前,需要先将支链中的“A1:10”和“A9:180”锁定,以免被交易改值。
S106,支链在锁定完成时向所述路由客户端发送锁定完成信息。
可以理解为,通过向所述路由客户端发送锁定完成信息,以使得路由客户端触发下一阶段的开始。
S107,路由客户端响应于所述主链和所述支链获取到的锁定完成信息,向所述主链和所述支链发送调整请求。
可以理解为,在从所述主链接入节点和所述支链接入节点获取到锁定完成信息时,锁定阶段结束,开始进入调整阶段。路由客户端向所述主链接入节点和所述支链接入节点发送调整请求,触发主链和支链进入调整阶段,以使得所述主链接入节点和支链接入节点分别在所述主链和所述支链中发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
S108,主链响应于路由客户端发送的包括调整规则的调整请求,发起以所述调整规则对所述目标键值项进行调整处理的合约操作。
调整规则可以理解为包含有对各目标键值项的增减信息,指示了数据调整方式。调整规则例如是“A1的键值加100,A9的键值减100”。其中,发起以所述调整规则对所述目标键值项进行调整处理的合约操作,可以理解为是主链各节点通过合约对调整规则、目标键值项的当前状态、发起节点等进行了验证,并达成验证合法的共识,然后对各自存储的目标键值项都进行调整。例如,在主链中记录原值为“A1:10”和“A9:180”,然后分别以调整规则进行调整,得到调整后的目标键值项为“A1:110”和“A9:80”。
S109,主链在调整完成时向所述路由客户端发送调整完成信息。
可以理解为,通过向所述路由客户端发送调整完成信息,以使得路由客户端触发下一阶段的开始。
S110,支链响应于路由客户端发送的包括目标键值项的调整请求,发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中调整后的目标键值项的键值一致。
可以理解为,支链的调整步骤是在主链调整步骤完成之后执行的。在发起对所述目标键值项进行调整处理的合约操作之前,还可以先调用主链的接口获取主链中调整后的目标键值项的键值,然后将支链的目标键值项的键值调整为与主链一致,由此提高了跨链数据处理的可靠性和安全性。例如在支链1中记录原值为“A1:10”,然后获取主链记录的调整后的目标键值项为“A1:110”,则将支链1中目标键值项调整为“A1:110”。
S111,支链在调整完成时向所述路由客户端发送调整完成信息。
可以理解为,通过向所述路由客户端发送调整完成信息,以使得路由客户端确定当前阶段的状态。
本实施例提供的一种数据处理方法应用于多链区块链网络中,多链区块链网络包括1条主链和至少2条支链,主链包括与路由客户端连接的主链和主链其他节点,每条支链包括与路由客户端连接的支链和支链其他节点;通过路由客户端获取数据配置信息,根据数据配置信息,向主链接入节点和支链接入节点发送锁定请求,以使得主链接入节点和支链接入节点分别在主链和支链中发起对目标键值项进行锁定的合约操作;路由客户端在从主链接入节点和支链接入节点获取到锁定完成信息时,向主链接入节点和支链接入节点发送调整请求,以使得主链接入节点和支链接入节点分别在主链和支链中发起对已锁定的目标键值项进行调整处理的合约操作,在保证数据处理效率的同时使得支链之间的数据交互更加可靠,提高了数据处理的安全性。
参见图3,是本发明实施例提供的另一种基于多链区块链网络的数据处理方法的信令流程示意图。为了更加清楚地对图2所示实施例进行说明,下面结合图3和具体实施例对图2中各个步骤可选的实现方式进行展开和举例。图3所示方法主要包括步骤S201至步骤S220,具体如下:
S201,路由客户端获取数据配置信息,所述数据配置信息包含目标键值项依据预设的调整规则进行调整处理的指示信息。
步骤S201与步骤S101的实现原理和技术效果类似,参见图2所示实施例中的描述,此处不再赘述。
S202,路由客户端根据所述数据配置信息,向所述主链发送包含所述目标键值项的锁定请求。
可以理解为,支链是需要在主链先锁定后才能执行锁定操作,因此路由客户端先向主链接入节点发锁定请求,触发主链开始锁定阶段,以使所述主链接入节点在所述主链中发起对支链中的目标键值项进行锁定的合约操作,然后再触发支链开始锁定阶段。
S203,主链在接收到路由客户端发送的包括待锁定的目标键值项的锁定请求时,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态。
可以理解为,锁定前先查询当前是否是未锁定状态,确定目标键值项之前的调整是否已结束。
S204,主链若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,以将所述目标键值项的状态切换为锁定。
若所述目标键值项的状态为未锁定,表明目标键值项当前可以进行调整,则先将其状态切换为锁定。
S205,主链在所述对所述目标键值项进行锁定的合约操作执行完成时,向所述路由客户端发送锁定完成信息。
在所述对所述目标键值项进行锁定的合约操作执行完成时,表明主链已完成对目标键值项的锁定。
S206,路由客户端响应于接收到所述主链的锁定完成信息,向所述支链发送包含各所述支链对应的目标键值项的锁定请求。
可以理解为,在确定主链已完成对目标键值项的锁定时,触发支链开始锁定阶段,向本次调整涉及到的支链上的支链接入节点发送锁定请求,以使各所述支链接入节点在所述支链中发起对所述目标键值项进行锁定的合约操作。
S207,支链响应于接收到路由客户端发送的包括待锁定的目标键值项的锁定请求时,从所述主链获取所述主链中所述目标键值项的状态。
可以理解为,主链接入节点或主链其他节点设置有主链接口,用以将主链中目标键值项的状态推送给支链。
S208,支链若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作。
S209,支链在所述对所述目标键值项进行锁定的合约操作完成时,向所述路由客户端发送锁定完成信息。
S210,路由客户端响应于接收到所述支链的锁定完成信息,向所述主链发送包括调整规则的调整请求。
可以理解为,在得到支链接入节点发来的锁定完成信息时,表明主链和相关支链都已完成了锁定阶段,路由客户端向主链接入节点发送调整请求,以使得所述主链接入节点在所述主链中发起对已锁定的所述目标键值项进行所述调整处理的合约操作,触发主链开始调整阶段。本实施例中数据的变更都是先主链再支链,由此保证了跨链数据调整过程中的一致性,提高数据处理的可靠性和安全性。
S211,主链响应于路由客户端发送的包括调整规则的调整请求,发起审核所述调整请求的合约操作,获得审核结果。
其中,审核所述调整请求的合约操作,可以理解为主链上各节点通过共同加入的合约,对该调整请求的来源时候可信、调整请求中的调整规则是否合规、以及调整规则涉及的目标键值项的状态是否为锁定等进行审核。
针对调整请求中的调整规则是否合规的审核,例如,调整规则是“A1的键值加100,A9的键值减100”,例如可以审核A1、A2的加值与减值是否一致,以保证调整后冰箱的总数不会有变化。也可以有其他审核方式,本实施例中不进行限定。
S212,主链若确定所述审核结果为合法,则从存储所述目标键值项的支链获取所述目标键值项在所述支链中的键值。
其中,合法的所述审核结果用于指示所述调整规则合法,以及所述目标键值项的状态为锁定。例如,A1、A2的加值与减值一致都是100,且A1和A9都已被锁定,那么可以确定审核结果为合法。由于主链中存储有各键值项的键值名,但是键值主要还是存储在各支链的节点中,因此在调整之前,主链先要从支链中获取到各目标键值项当前的键值。例如获取到目标键值项的键值为“A1:10”和“A9:180”。由于支链中加入同一合约的各节点,其存储的键值项是相同的,因此可以从支链接入节点或支链其他节点中任选一节点获取目标键值项的键值。在一实施例中,也可以对支链中各节点设置不同的信任等级,然后从信任等级最高的节点中获取目标键值项的键值。
S213,主链发起对所述目标键值项进行键值同步的合约操作,以使得所述目标键值项在主链中的键值与在所述支链中的键值一致。
这里的对所述目标键值项进行键值同步的合约操作,可以理解为将从支链获取到的目标键值项的键值,写入主链各节点存储的目标键值项中,以实现对主链各节点存储的目标键值项的数据更新。这里还可以理解为是产生了一个全量数据的新的主链区块,记录对目标键值项在调整前的准确键值,然后主链各节点存储该新的主链区块。例如将到目标键值项的键值“A1:10”和“A9:180”写入主链各节点中。
S214,主链发起以所述调整规则对同步后的所述目标键值项进行调整处理的合约操作。
可以理解为,主链接入节点通过合约进行目标键值项的调整,以将同步后的所述目标键值项的键值依据所述调整规则进行调整,得到调整后的目标键值项。例如将上一步存储的“A1:10”和“A9:180”,依据调整规则“A1的键值加100,A9的键值减100”,得到调整后的目标键值项“A1:110”和“A9:80”。
S215,主链在确定所述以所述调整规则对同步后的所述目标键值项进行调整处理的合约操作完成时,向所述路由客户端发送调整完成信息。
S216,路由客户端响应于接收到所述主链的调整完成信息,向所述支链发送包含各所述支链对应的目标键值项的调整请求。
可以理解为,在确定主链完成调整后,路由客户端触发支链开始调整阶段,向支链发送调整请求,以使得所述支链接入节点在所述支链中发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
S217,支链响应于路由客户端发送的包括目标键值项的调整请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态。
可以理解为,支链接入节点接收到调整请求时,先对支链中目标键值项的状态进行自查,确定是否可以开始调整阶段。
S218,支链若确定所述目标键值项的状态为锁定,则从所述主链获取所述主链中所述目标键值项的键值。
如果支链中目标键值项的状态为锁定,表明该目标键值项是可调整的状态,即不会被支链中进行的交易改值。目标键值项的调整是先主链后支链,在支链进行调整时,则是从主链拉取其存储的调整后的目标键值项的键值,作为支链自身的调整目标。各支链可以不需要对调整规则进行判断,而以主链的数据为准,实现主链对各支链数据调整的统一协调,并减少支链的计算量,提升数据处理速度。
S219,支链发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中所述目标键值项的键值一致。
可以理解为,将获取到的主链中目标键值项的键值,写入支链个节点中,以实现与主链中目标键值项的一致。具体可以理解为,将主链中目标键值项的键值写入新的支链区块中,支链各节点存储该新的支链区块。
S220,支链在所述对所述目标键值项进行调整处理的合约操作完成时,向所述路由客户端发送调整完成信息。
本实施例通过路由客户端在锁定阶段和调整阶段中先触发主链操作,再触发支链操作,且支链中的支链接入节点从主链中直接获取调整后的目标键值项,实现了主链对各支链数据处理的统一协调控制,提高了数据处理的可靠性和安全性。同时,还降低了支链计算量,提高了区块链整体的数据处理速度。
参见图4,是本发明实施例提供的步骤S111之后可选的一种解锁过程的信令流程示意图。在数据调整完成之后,还可以将本次调整涉及的键值项通过解锁恢复到未锁定的状态,以便重新利用这些键值项的数据进行各支链的交易和数据处理。下面结合图4和具体实施例对一种可选的解锁过程进行说明。图4所示的方法,主要包括步骤S301至步骤S303,具体如下:
S301,路由客户端响应于接收到支链的调整完成信息,向所述主链和所述支链发送解锁请求。
可以理解为,在调整完成后,主链和支链中还处于锁定状态的目标键值项已经没有锁定的必要了,为了在支链中可以再利用各目标键值项进行交易处理,路由客户端触发主链和支链开始解锁阶段,向主链接入节点和支链接入节点发送解锁请求,以使得所述主链接入节点和支链接入节点分别在所述主链和所述支链中发起对已锁定的所述目标键值项进行解锁处理的合约操作。
具体地,可以是在从所述支链接入节点获取调整完成信息时,向所述主链接入节点发送主链解锁请求,以使得所述主链接入节点在所述主链中发起对已锁定的所述目标键值项进行解锁处理的合约操作。在从所述主链接入节点获取到解锁完成信息时,向所述支链中的支链接入节点分别发送包含各所述支链对应的目标键值项的支链解锁请求,以使得所述支链接入节点在所述支链中发起对已锁定的所述目标键值项进行解锁处理的合约操作。
S302,主链响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息。
具体地,在接收到路由客户端发送的包括所述目标键值项的解锁请求时,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态。若所述目标键值项的状态为锁定,则从存储所述目标键值项的支链接入节点或支链其他节点,获取所述目标键值项在各支链中的键值。若所述目标键值项在各支链中的键值与所述目标键值项在主链中的键值一致,则发起对所述目标键值项进行解锁处理的合约操作,以将所述目标键值项的状态切换为未锁定。可以理解为,主链检查调整涉及的各支链是否已完成调整,并核查各支链调整后的键值项的键值是否正确,如果正确,则主链解除对目标键值项的锁定。在所述对所述目标键值项进行解锁处理的合约操作执行完成时,向所述路由客户端发送解锁完成信息。
S303,支链响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息。
具体地,在接收到路由客户端发送的包括所述目标键值项的解锁请求时,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态。若所述目标键值项的状态为锁定,则从所述主链或主链其他节点,获取所述主链中所述目标键值项的状态。若所述主链中所述目标键值项的状态为解锁,则发起对所述目标键值项进行解锁处理的合约操作,以将所述目标键值项的状态切换为未锁定。可以理解为,支链在调整阶段也是先检查主链是否已完成解锁,当检测到主链对目标键值项解锁时,支链对自己存储的目标键值项也解锁。在所述对所述目标键值项进行解锁处理的合约操作执行完成时,向所述路由客户端发送解锁完成信息。
本实施例通过在解锁阶段路由客户端对主链和支链的先后触发,以及主链对支链核查后对目标键值项解锁,支链根据主链中目标键值项的状态变化而解锁,进一步保证了目标键值项的状态变换的可靠性,提高了目标键值项调整过程中的数据安全性。
在上述各实施例的基础上,在对各支链上的数据进行锁定、调整、解锁之后或之前,还可以利用未锁定数据对新接收到的交易数据进行处理。具体地,可以是路由客户端在接收到交易数据时,根据预存储的路由规则查询所述交易数据对应的处理支链。路由客户端将所述交易数据发送至所述处理支链的支链接入节点,以使得所述支链接入节点在所述处理支链中发起处理所述交易数据的合约操作。主链接入节点接收各支链上的所述支链接入节点或所述支链其他节点发送的键值名同步信息。主链接入节点发起根据所述键值名同步信息对预存储的键值项的键值名进行键值名同步的合约操作,以使得主链中预存储的键值项的键值名包含各支链中的键值项的键值名。支链接入节接收到路由客户端发送的交易数据。支链接入节发起处理所述交易数据的合约操作。支链接入节向所述主链接入节点或主链其他节点发送键值名同步信息,以使所述主链接入节点或主链其他节点发起根据所述键值名同步信息对预存储的键值项的键值名进行键值名同步的合约操作。本实施例将键值项的键值名预先全部存储在主链的节点中,以实现在跨链数据处理中以主链为主导的多链协同控制,提高了数据同步的准确性。
参见图5,是本发明实施例提供的一种数据处理装置结构示意图。图5所示的数据处理装置50应用于多链区块链网络中的路由客户端,所述多链区块链网络包括1条主链和至少2条支链。所述主链包括与路由客户端连接的主链接入节点和主链其他节点,每个所述支链包括与路由客户端连接的支链接入节点和支链其他节点。
图5所示的数据处理装置50主要包括:
配置获取模块51,用于获取数据配置信息,所述数据配置信息包含对至少2个目标键值项依据预设的调整规则进行调整处理的指示信息,所述至少2个目标键值项分别存储在不同的所述支链中。
锁定触发模块52,用于根据所述数据配置信息,向所述主链和所述支链发送锁定请求,以使得所述主链和支链分别发起对所述目标键值项进行锁定的合约操作。
处理触发模块53,用于响应于接收到所述主链和所述支链的锁定完成信息,向所述主链和所述支链发送调整请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
在一实施例中,锁定触发模块52,用于根据所述数据配置信息,向所述主链发送包含所述至少2条支链中的目标键值项的锁定请求,以使所述主链发起对所述至少2条支链中的目标键值项进行锁定的合约操作;响应于接收到所述主链的锁定完成信息,向所述至少2条支链中的支链分别发送包含各所述支链对应的目标键值项的锁定请求,以使各所述支链在所述支链中发起对所述目标键值项进行锁定的合约操作。
在一实施例中,处理触发模块53,用于响应于接收到所述支链的锁定完成信息,向所述主链发送包括调整规则的调整请求,以使得所述主链发起对已锁定的所述目标键值项进行所述调整处理的合约操作;响应于接收到所述主链的调整完成信息,向所述支链发送包含各所述支链对应的目标键值项的调整请求,以使得所述支链发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
在一实施例中,还包括:
解锁触发模块54,用于在所述向所述主链和所述支链发送调整请求之后,响应于接收到所述支链的调整完成信息,向所述主链和所述支链发送解锁请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行解锁处理的合约操作。
在一实施例中,解锁触发模块54,用于响应于接收到所述支链的调整完成信息,向所述主链发送主链解锁请求,以使得所述主链发起对已锁定的所述目标键值项进行解锁处理的合约操作;响应于接收到所述主链的解锁完成信息,向所述至少2条支链中的支链分别发送包含各所述支链对应的目标键值项的支链解锁请求,以使得所述支链发起对已锁定的所述目标键值项进行解锁处理的合约操作。
在一实施例中,处理触发模块53,还用于在接收到交易数据时,根据预存储的路由规则查询所述交易数据对应的处理支链;将所述交易数据发送至所述处理支链,以使得所述处理支链发起处理所述交易数据的合约操作。
图5所示实施例的数据处理装置50对应地可用于执行图2至4所示方法实施例中路由客户端执行的步骤,其实现原理和技术效果类似,此处不再赘述。
参见图6,是本发明实施例提供的另一种数据处理装置结构示意图。图6所示的数据处理装置60应用于多链区块链网络中的主链,所述多链区块链网络包括1条主链和至少2条支链所述主链包括与所述路由客户端连接的所述主链接入节点和主链其他节点,每个所述支链包括与所述路由客户端连接的支链接入节点和支链其他节点。
图6所示的数据处理装置60主要包括:
主链锁定模块61,用于响应于接收到路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息。
主链处理模块62,用于响应于路由客户端发送的包括调整规则的调整请求,发起以所述调整规则对所述目标键值项进行调整处理的合约操作,并在调整完成时向所述路由客户端发送调整完成信息。
在一实施例中,主链锁定模块61,用于响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;若所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,以将所述目标键值项的状态切换为锁定;在所述对所述目标键值项进行锁定的合约操作执行完成时,向所述路由客户端发送锁定完成信息。
在一实施例中,主链处理模块62,用于响应于路由客户端发送的包括调整规则的调整请求,发起审核所述调整请求的合约操作,获得审核结果;若所述审核结果为合法,则从存储所述目标键值项的支链或支链其他节点,获取所述目标键值项在所述支链中的键值,其中,合法的所述审核结果用于指示所述调整规则合法,以及所述目标键值项的状态为锁定;发起对所述目标键值项进行键值同步的合约操作,以使得所述目标键值项在主链中的键值与在所述支链中的键值一致;发起以所述调整规则对同步后的所述目标键值项进行调整处理的合约操作,以将同步后的所述目标键值项的键值依据所述调整规则进行调整,得到调整后的目标键值项;在所述以所述调整规则对同步后的所述目标键值项进行调整处理的合约操作完成时,向所述路由客户端发送调整完成信息。
在一实施例中,还包括:主链解锁模块63,用于在所述向所述路由客户端发送调整完成信息之后,响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息。
在一实施例中,主链解锁模块63,用于响应于路由客户端发送的包括所述目标键值项的解锁请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;若所述目标键值项的状态为锁定,则从存储所述目标键值项的支链获取所述目标键值项在各支链中的键值;若所述目标键值项在各支链中的键值与所述目标键值项在主链中的键值一致,则发起对所述目标键值项进行解锁处理的合约操作,以将所述目标键值项的状态切换为未锁定;在所述对所述目标键值项进行解锁处理的合约操作执行完成时,向所述路由客户端发送解锁完成信息。
在一实施例中,主链处理模块62,还用于接收各支链上的所述支链发送的键值名同步信息;发起根据所述键值名同步信息对预存储的键值项的键值名进行键值名同步的合约操作,以使得主链中预存储的键值项的键值名包含各支链中的键值项的键值名。
图6所示实施例的数据处理装置60对应地可用于执行图2至4所示方法实施例中主链执行的步骤,其实现原理和技术效果类似,此处不再赘述。
参见图7,是本发明实施例提供的再一种数据处理装置结构示意图。图7所示的数据处理装置70应用于多链区块链网络中的支链,所述多链区块链网络包括1条主链和至少2条支链。所述主链包括与所述路由客户端连接的主链接入节点和主链其他节点,每个所述支链包括与所述路由客户端连接的所述支链接入节点和支链其他节点。
图7所示的数据处理装置70主要包括:
支链锁定模块71,用于响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息。
支链处理模块72,用于响应于路由客户端发送的包括目标键值项的调整请求,发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中调整后的目标键值项的键值一致,并在调整完成时向所述路由客户端发送调整完成信息。
在一实施例中,支链锁定模块71用于响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,从所述主链获取所述主链中所述目标键值项的状态;若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作;在所述对所述目标键值项进行锁定的合约操作完成时,向所述路由客户端发送锁定完成信息。
在一实施例中,支链处理模块72,用于响应于路由客户端发送的包括目标键值项的调整请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;若所述目标键值项的状态为锁定,则从所述主链获取所述主链中所述目标键值项的键值;发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中所述目标键值项的键值一致;在所述对所述目标键值项进行调整处理的合约操作完成时,向所述路由客户端发送调整完成信息。
在一实施例中,还包括:支链解锁模块73,用于在所述向所述路由客户端发送调整完成信息之后,响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息。
在一实施例中,支链解锁模块73,用于响应于路由客户端发送的包括所述目标键值项的解锁请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;若所述目标键值项的状态为锁定,则从所述主链获取所述主链中所述目标键值项的状态;若所述主链中所述目标键值项的状态为解锁,则发起对所述目标键值项进行解锁处理的合约操作,以将所述目标键值项的状态切换为未锁定;在所述对所述目标键值项进行解锁处理的合约操作执行完成时,向所述路由客户端发送解锁完成信息。
在一实施例中,支链处理模块72,还用于接收到路由客户端发送的交易数据;发起处理所述交易数据的合约操作;向所述主链发送键值名同步信息,以使所述主链发起根据所述键值名同步信息对预存储的键值项的键值名进行键值名同步的合约操作。
图7所示实施例的数据处理装置70对应地可用于执行图2至4所示方法实施例中支链执行的步骤,其实现原理和技术效果类似,此处不再赘述。
参见图8,是本发明实施例提供的一种路由客户端设备的硬件结构示意图,该路由客户端设备80包括:处理器81、存储器82和计算机程序;其中,存储器82,用于存储所述计算机程序,该存储器还可以是闪存(flash)。所述计算机程序例如是实现上述方法的应用程序、功能模块等。处理器81,用于执行所述存储器存储的计算机程序,以实现上述方法中路由客户端执行的各个步骤。具体可以参见前面方法实施例中的相关描述。可选地,存储器82既可以是独立的,也可以跟处理器81集成在一起。当所述存储器82是独立于处理器81之外的器件时,所述路由客户端设备还可以包括:总线83,用于连接所述存储器82和处理器81。
参见图9,是本发明实施例提供的一种主链设备的硬件结构示意图,该主链设备90包括:处理器91、存储器92和计算机程序;其中,存储器92,用于存储所述计算机程序,该存储器还可以是闪存(flash)。所述计算机程序例如是实现上述方法的应用程序、功能模块等。处理器91,用于执行所述存储器存储的计算机程序,以实现上述方法中主链执行的各个步骤。具体可以参见前面方法实施例中的相关描述。可选地,存储器92既可以是独立的,也可以跟处理器91集成在一起。当所述存储器92是独立于处理器91之外的器件时,所述主链设备还可以包括:总线93,用于连接所述存储器92和处理器91。
参见图10,是本发明实施例提供的一种支链设备的硬件结构示意图,该支链设备100包括:处理器101、存储器102和计算机程序;其中,存储器102,用于存储所述计算机程序,该存储器还可以是闪存(flash)。所述计算机程序例如是实现上述方法的应用程序、功能模块等。处理器101,用于执行所述存储器存储的计算机程序,以实现上述方法中支链执行的各个步骤。具体可以参见前面方法实施例中的相关描述。可选地,存储器102既可以是独立的,也可以跟处理器101集成在一起。当所述存储器102是独立于处理器101之外的器件时,所述支链设备还可以包括:总线103,用于连接所述存储器102和处理器101。
本发明还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的各种实施方式提供的路由客户端、主链或者支链执行的数据处理方法。
在上述各实施例中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的任一实施方式提供的数据处理方法。
在上述设备的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种基于多链区块链网络的数据处理方法,其特征在于,所述多链区块链网络包括1条主链和至少2条支链;
所述方法包括:
获取数据配置信息,所述数据配置信息包含对至少2个目标键值项依据预设的调整规则进行调整处理的指示信息,所述至少2个目标键值项分别存储在不同的所述支链中;
根据所述数据配置信息,向所述主链和所述支链发送锁定请求,以使得所述主链和支链分别发起对所述目标键值项进行锁定的合约操作;
响应于接收到所述主链和支链的锁定完成信息,向所述主链和所述支链发送调整请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据配置信息,向所述主链和所述支链发送锁定请求,以使得所述主链和支链分别发起对所述目标键值项进行锁定的合约操作,包括:
根据所述数据配置信息,向所述主链发送包含所述目标键值项的锁定请求,以使所述主链发起对所述支链中的目标键值项进行锁定的合约操作;
响应于接收到所述主链的锁定完成信息,向所述支链发送包含各所述支链对应的目标键值项的锁定请求,以使各所述支链发起对所述目标键值项进行锁定的合约操作。
3.根据权利要求1或2所述的方法,其特征在于,所述响应于接收到所述主链和支链的锁定完成信息,向所述主链和所述支链发送调整请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行所述调整处理的合约操作,包括:
响应于接收到所述支链的锁定完成信息,向所述主链发送包括调整规则的调整请求,以使得所述主链发起对已锁定的所述目标键值项进行所述调整处理的合约操作;
响应于接收到所述主链的锁定完成信息,向所述支链发送包含各所述支链对应的目标键值项的调整请求,以使得所述支链发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
4.根据权利要求1或2所述的方法,其特征在于,在所述向所述主链和所述支链发送调整请求之后,还包括:
响应于接收到所述支链的调整完成信息,向所述主链和所述支链发送解锁请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行解锁处理的合约操作。
5.根据权利要求4所述的方法,其特征在于,所述响应于接收到所述支链的调整完成信息,向所述主链和所述支链发送解锁请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行解锁处理的合约操作,包括:
响应于接收到所述支链的调整完成信息,向所述主链发送主链解锁请求,以使得所述主链发起对已锁定的所述目标键值项进行解锁处理的合约操作;
响应于接收到所述主链的解锁完成信息,向所述支链发送包含各所述支链对应的目标键值项的支链解锁请求,以使得所述支链发起对已锁定的所述目标键值项进行解锁处理的合约操作。
6.根据权利要求1或2所述的方法,其特征在于,还包括:
在接收到交易数据时,根据预存储的路由规则查询所述交易数据对应的处理支链;
将所述交易数据发送至所述处理支链,以使得所述处理支链发起处理所述交易数据的合约操作。
7.一种基于多链区块链网络的数据处理方法,其特征在于,应用于多链区块链网络中的主链,所述多链区块链网络包括1条主链和至少2条支链;
所述方法包括:
响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
响应于路由客户端发送的包括调整规则的调整请求,发起以所述调整规则对所述目标键值项进行调整处理的合约操作,并在调整完成时向所述路由客户端发送调整完成信息。
8.根据权利要求7所述的方法,其特征在于,所述响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息,包括:
响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;
若所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,以将所述目标键值项的状态切换为锁定;
在所述对所述目标键值项进行锁定的合约操作执行完成时,向所述路由客户端发送锁定完成信息。
9.根据权利要求7或8所述的方法,其特征在于,所述响应于路由客户端发送的包括调整规则的调整请求,发起以所述调整规则对所述目标键值项进行调整处理的合约操作,并在调整完成时向所述路由客户端发送调整完成信息,包括:
响应于路由客户端发送的包括调整规则的调整请求,发起审核所述调整请求的合约操作,获得审核结果;
若所述审核结果为合法,则从存储所述目标键值项的支链,获取所述目标键值项在所述支链中的键值,其中,合法的所述审核结果用于指示所述调整规则合法,以及所述目标键值项的状态为锁定;
发起对所述目标键值项进行键值同步的合约操作,以使得所述目标键值项在主链中的键值与在所述支链中的键值一致;
发起以所述调整规则对同步后的所述目标键值项进行调整处理的合约操作,以将同步后的所述目标键值项的键值依据所述调整规则进行调整,得到调整后的目标键值项;
在所述以所述调整规则对同步后的所述目标键值项进行调整处理的合约操作完成时,向所述路由客户端发送调整完成信息。
10.根据权利要求7或8所述的方法,其特征在于,在所述向所述路由客户端发送调整完成信息之后,还包括:
响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息。
11.根据权利要求10所述的方法,其特征在于,所述响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息,包括:
响应于路由客户端发送的包括所述目标键值项的解锁请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;
若所述目标键值项的状态为锁定,则从存储所述目标键值项的支链,获取所述目标键值项在各支链中的键值;
若所述目标键值项在各支链中的键值与所述目标键值项在主链中的键值一致,则发起对所述目标键值项进行解锁处理的合约操作,以将所述目标键值项的状态切换为未锁定;
在所述对所述目标键值项进行解锁处理的合约操作执行完成时,向所述路由客户端发送解锁完成信息。
12.根据权利要求7或8所述的方法,其特征在于,还包括:
接收各支链发送的键值名同步信息;
发起根据所述键值名同步信息对预存储的键值项的键值名进行键值名同步的合约操作,以使得主链中预存储的键值项的键值名包含各支链中的键值项的键值名。
13.一种基于多链区块链网络的数据处理方法,其特征在于,应用于多链区块链网络中的支链,所述多链区块链网络包括1条主链和至少2条支链;
所述方法包括:
响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
响应于路由客户端发送的包括目标键值项的调整请求,发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中调整后的目标键值项的键值一致,并在调整完成时向所述路由客户端发送调整完成信息。
14.根据权利要求13所述的方法,其特征在于,所述响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息,包括:
响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,从所述主链获取所述主链中所述目标键值项的状态;
若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作;
在所述对所述目标键值项进行锁定的合约操作完成时,向所述路由客户端发送锁定完成信息。
15.根据权利要求13或14所述的方法,其特征在于,所述响应于路由客户端发送的包括目标键值项的调整请求,发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中调整后的目标键值项的键值一致,并在调整完成时向所述路由客户端发送调整完成信息,包括:
响应于路由客户端发送的包括目标键值项的调整请求时,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;
若所述目标键值项的状态为锁定,则从所述主链获取所述主链中所述目标键值项的键值;
发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中所述目标键值项的键值一致;
在所述对所述目标键值项进行调整处理的合约操作完成时,向所述路由客户端发送调整完成信息。
16.根据权利要求13或14所述的方法,其特征在于,在所述向所述路由客户端发送调整完成信息之后,还包括:
响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息。
17.根据权利要求16所述的方法,其特征在于,所述响应于路由客户端发送的包括所述目标键值项的解锁请求,发起对已锁定的所述目标键值项进行解锁处理的合约操作,并在解锁完成时向所述路由客户端发送解锁完成信息,包括:
响应于路由客户端发送的包括所述目标键值项的解锁请求,发起查询所述目标键值项的状态的合约操作,获得所述目标键值项的状态;
若所述目标键值项的状态为锁定,则从所述主链获取所述主链中所述目标键值项的状态;
若所述主链中所述目标键值项的状态为解锁,则发起对所述目标键值项进行解锁处理的合约操作,以将所述目标键值项的状态切换为未锁定;
在所述对所述目标键值项进行解锁处理的合约操作执行完成时,向所述路由客户端发送解锁完成信息。
18.根据权利要求13或14所述的方法,其特征在于,还包括:
接收到路由客户端发送的交易数据;
发起处理所述交易数据的合约操作;
向所述主链发送键值名同步信息,以使所述主链发起根据所述键值名同步信息对预存储的键值项的键值名进行键值名同步的合约操作。
19.一种数据处理装置,其特征在于,应用于多链区块链网络中的路由客户端,所述多链区块链网络包括1条主链和至少2条支链;
所述装置包括:
配置获取模块,用于获取数据配置信息,所述数据配置信息包含对至少2个目标键值项依据预设的调整规则进行调整处理的指示信息,所述至少2个目标键值项分别存储在不同的所述支链中;
锁定触发模块,用于根据所述数据配置信息,向所述主链和所述支链发送锁定请求,以使得所述主链和支链分别发起对所述目标键值项进行锁定的合约操作;
处理触发模块,用于响应于接收到所述主链和所述支链的锁定完成信息,向所述主链和所述支链发送调整请求,以使得所述主链和支链分别发起对已锁定的所述目标键值项进行所述调整处理的合约操作。
20.一种数据处理装置,其特征在于,应用于多链区块链网络中的主链,所述多链区块链网络包括1条主链和至少2条支链;
所述装置包括:
主链锁定模块,用于响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述目标键值项的状态为未锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
主链处理模块,用于响应于路由客户端发送的包括调整规则的调整请求,发起以所述调整规则对所述目标键值项进行调整处理的合约操作,并在调整完成时向所述路由客户端发送调整完成信息。
21.一种数据处理装置,其特征在于,应用于多链区块链网络中的支链,所述多链区块链网络包括1条主链和至少2条支链;
所述装置包括:
支链锁定模块,用于响应于路由客户端发送的包括待锁定的目标键值项的锁定请求,若确定所述主链中所述目标键值项的状态为锁定,则发起对所述目标键值项进行锁定的合约操作,并在锁定完成时向所述路由客户端发送锁定完成信息;
支链处理模块,用于响应于路由客户端发送的包括目标键值项的调整请求,发起对所述目标键值项进行调整处理的合约操作,以将所述目标键值项的键值调整为与所述主链中调整后的目标键值项的键值一致,并在调整完成时向所述路由客户端发送调整完成信息。
22.一种路由客户端设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行权利要求1至6任一所述的数据处理方法。
23.一种主链设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行权利要求7至12任一所述的数据处理方法。
24.一种支链设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行权利要求13至18任一所述的数据处理方法。
25.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至6任一所述的数据处理方法。
26.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求7至12任一所述的数据处理方法。
27.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求13至18任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811555820.1A CN111340481B (zh) | 2018-12-19 | 2018-12-19 | 基于多链区块链网络的数据处理方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811555820.1A CN111340481B (zh) | 2018-12-19 | 2018-12-19 | 基于多链区块链网络的数据处理方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111340481A CN111340481A (zh) | 2020-06-26 |
CN111340481B true CN111340481B (zh) | 2023-05-12 |
Family
ID=71185001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811555820.1A Active CN111340481B (zh) | 2018-12-19 | 2018-12-19 | 基于多链区块链网络的数据处理方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111340481B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113762673A (zh) * | 2020-10-20 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 对象数量的确定方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN108197944A (zh) * | 2017-11-22 | 2018-06-22 | 远光软件股份有限公司 | 基于区块链技术的资源交易方法及装置 |
CN108280646A (zh) * | 2018-01-19 | 2018-07-13 | 中国科学院软件研究所 | 基于联盟链的区块链组链方法及区块链系统 |
AU2017223158A1 (en) * | 2016-02-23 | 2018-08-23 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
CN108537063A (zh) * | 2018-02-26 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 一种数据存储的方法、装置及设备 |
WO2018189634A1 (en) * | 2017-04-10 | 2018-10-18 | nChain Holdings Limited | Securing blockchain transaction based on undetermined data |
-
2018
- 2018-12-19 CN CN201811555820.1A patent/CN111340481B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2017223158A1 (en) * | 2016-02-23 | 2018-08-23 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
WO2018189634A1 (en) * | 2017-04-10 | 2018-10-18 | nChain Holdings Limited | Securing blockchain transaction based on undetermined data |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN108197944A (zh) * | 2017-11-22 | 2018-06-22 | 远光软件股份有限公司 | 基于区块链技术的资源交易方法及装置 |
CN108280646A (zh) * | 2018-01-19 | 2018-07-13 | 中国科学院软件研究所 | 基于联盟链的区块链组链方法及区块链系统 |
CN108537063A (zh) * | 2018-02-26 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 一种数据存储的方法、装置及设备 |
Non-Patent Citations (4)
Title |
---|
Christopher Natoli.The Balance Attack or Why Forkable Blockchains are Ill-Suited for Consortium. 2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.2017,第579-590页. * |
房卫东 ; 张武雄 ; 潘涛 ; 陈伟 ; 杨旸 ; .区块链的网络安全:威胁与对策.信息安全学报.2018,(第02期),全文. * |
李彬 ; 张洁 ; 祁兵 ; 李德智 ; 石坤 ; 崔高颖 ; .区块链:需求侧资源参与电网互动的支撑技术.电力建设.2017,(第03期),全文. * |
郭学沛 ; 杨宇光 ; .区块链技术及应用.信息安全研究.2018,(第06期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111340481A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020258848A1 (zh) | 一种跨链发送资源的方法和装置 | |
US11461773B2 (en) | Blockchain-based node management methods and apparatuses | |
CN109492380B (zh) | 一种设备认证方法、装置及区块链节点 | |
CN110910138B (zh) | 一种区块链数据监管方法、装置 | |
CN110348242B (zh) | 业务请求处理方法及装置 | |
WO2020258846A1 (zh) | 一种跨链发送可认证消息的方法和装置 | |
CN112003703B (zh) | 一种跨链发送可认证消息的方法和装置 | |
US11336451B2 (en) | Cross-blockchain resource transmission | |
CN108710681B (zh) | 文件获取方法、装置、设备及存储介质 | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN113453213B (zh) | 一种鉴权数据同步方法及装置 | |
CN110602108A (zh) | 基于区块链网络的数据通信方法、装置、设备及存储介质 | |
CN110730081B (zh) | 基于区块链网络的证书吊销方法、相关设备及介质 | |
CN114125812B (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN111340481B (zh) | 基于多链区块链网络的数据处理方法、装置和设备 | |
US20230353394A1 (en) | Cross-blockchain transaction processing method and apparatus, computer device, computer storage medium, and computer program product | |
CN114238262A (zh) | 镜像分发方法、镜像分发装置、电子设备以及存储介质 | |
CN114363162A (zh) | 区块链日志的生成方法及装置、电子设备、存储介质 | |
CN112329058B (zh) | 跨多组织用户信息的访问控制方法、装置和介质 | |
CN112615868B (zh) | 一种跨链发送可认证消息的方法和装置 | |
CN113676985B (zh) | 终端接入控制方法、装置、系统、终端和电子设备 | |
CN114386983A (zh) | 场景化支付管理方法、系统、装置及可读存储介质 | |
CN115080994A (zh) | 一种基于时间锁定和中台的区块链跨链网关数据交互方法 | |
CN116633699B (zh) | 基于区块链的产品防伪溯源信息可信处理方法及系统 | |
CN114499835B (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 |