CN116127148B - 一种数据可信存储方法、装置、存储介质及电子设备 - Google Patents
一种数据可信存储方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116127148B CN116127148B CN202310391572.6A CN202310391572A CN116127148B CN 116127148 B CN116127148 B CN 116127148B CN 202310391572 A CN202310391572 A CN 202310391572A CN 116127148 B CN116127148 B CN 116127148B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- stored
- relay
- chain 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书公开了一种数据可信存储方法、装置、存储介质及电子设备,本说明书实施例第一区块链节点和第二区块链节点属于不同的区块链网络,第一区块链节点确定各待存储数据和执行针对各待存储数据的传输任务的任务并发数。基于任务并发数,对各待存储数据进行分组,得到每个数据组。将每个数据组包含的待存储数据并行发送给执行针对每个数据组的传输任务所需的中继链节点。每个中继链节点将接收到的每个待存储数据发送给第二区块链节点。第二区块链节点在对每个待存储数据进行共识校验后,将每个待存储数据存储在第二区块链节点对应的区块链上。此过程中,可以将第一区块链节点的批量数据并行发送给第二区块链节点,从而提高了跨链数据传输的效率。
Description
技术领域
本说明书涉及区块链技术领域,尤其涉及一种数据可信存储方法、装置、存储介质及电子设备。
背景技术
针对区块链领域,由于实际业务的需求,可能需要将一个区块链网络的区块链上的数据传输到另一区块链网络的区块链上,即,跨链传输。
而现有技术中所采用的跨链传输技术会降低跨链数据传输的效率。
发明内容
本说明书实施例提供一种数据可信存储方法、装置、存储介质及电子设备,以部分解决上述现有技术存在的问题。
本说明书实施例采用下述技术方案:
本说明书提供的一种数据可信存储方法,所述数据可信存储方法应用于第一区块链节点,所述数据可信存储方法包括:
接收业务系统发送的数据存储请求;
根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数;
基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组;
针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,以使所述中继链节点基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点,以在每个待存储数据通过所述第二区块链节点所处的区块链网络的共识校验后,通过所述第二区块链节点将每个待存储数据存储在所述第二区块链节点所对应的区块链上;所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的。
可选地,根据所述数据存储请求,确定出各待存储数据,具体包括:
根据所述数据存储请求中携带的查询条件,从第一区块链节点所对应的区块链上查找出满足所述查询条件的各数据,作为各待存储数据。
可选地,基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组,具体包括:
基于所述任务并发数,对所述各待存储数据进行平均分组,得到每个数据组,并确定出针对每个数据组的传输任务;针对每个数据组的传输任务,该数据组的传输任务记录有任务标识、预先统计出的各待存储数据的数据总量、该数据组包含的数据量。
可选地,将该数据组中包含的每个待存储数据发送给所述中继链节点,具体包括:
将该数据组中包含的每个待存储数据进行封装,得到该数据组对应的数据包,并将该数据组对应的数据包发送给所述中继链节点。
本说明书提供的一种数据可信存储方法,所述数据可信存储方法应用于第二区块链节点,所述数据可信存储方法包括:
针对每个中继链节点,接收该中继链节点发送的每个待存储数据,该中继链节点发送的每个待存储数据是第一区块链节点通过该中继链节点执行传输任务所传输的数据组中包含的每个待存储数据,所述数据组是所述第一区块链节点基于任务并发数,对各待存储数据进行分组后得到的一个数据组,所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,每个中继链节点与所述第二区块链节点之间传输的待存储数据是并行传输的;
对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
可选地,在对从该中继链节点接收到的每个待存储数据进行共识校验之前,所述数据可信存储方法还包括:
针对每个中继链节点,统计从该中继链节点接收到的待存储数据的数据量;
若统计出的数据量与通过该中继链节点执行的传输任务所记录的数据量相同,则确定通过该中继链节点传输的待存储数据通过数据验证;
若数据验证通过,向该中继链节点发送针对该中继链节点传输数据成功的传输成功信息,以使该中继链节点将针对该中继链节点传输数据成功的传输成功信息发送给所述第一区块链节点。
可选地,在对从该中继链节点接收到的每个待存储数据进行共识校验之前,所述数据可信存储方法还包括:
统计从所有中继链节点接收到的待存储数据的数据总量;
若统计出的数据总量与预先记录的所述第一区块链节点发送的各待存储数据的数据总量相同,则确定通过所有中继链节点传输的待存储数据通过数据验证;
若数据验证通过,向每个中继链节点发送针对全部待存储数据的传输成功信息,以使每个中继链节点将针对全部待存储数据的传输成功信息发送给所述第一区块链节点。
可选地,针对每个中继链节点,接收该中继链节点发送的每个待存储数据,具体包括:
针对每个中继链节点,接收该中继链节点发送的数据包,该中继链节点发送的数据包是所述第一区块链节点将通过该中继链节点执行的传输任务所需传输的数据组中包含的每个待存储数据进行封装后发送给该中继链节点的数据包;
对该中继链节点发送的数据包进行解析,得到该中继链节点发送的每个待存储数据。
本说明书提供一种数据可信存储系统,所述数据可信存储系统包括:第一区块链节点、第二区块链节点、所述第一区块链节点和所述第二区块链节点之间设置的多个中继链节点,所述第一区块链节点和所述第二区块链节点属于不同的区块链网络;
所述第一区块链节点,用于接收业务系统发送的数据存储请求,根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数,并基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组,针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的;
任意一个中继链节点,用于基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点;
所述第二区块链节点,用于针对每个中继链节点,接收该中继链节点发送的每个待存储数据,对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
可选地,所述第一区块链节点,具体用于基于所述任务并发数,对所述各待存储数据进行平均分组,得到每个数据组,并确定出针对每个数据组的传输任务;针对每个数据组的传输任务,该数据组的传输任务记录有任务标识、预先统计出的各待存储数据的数据总量、该数据组包含的数据量。
可选地,所述第一区块链节点,具体用于将该数据组中包含的每个待存储数据进行封装,得到该数据组对应的数据包,并将该数据组对应的数据包发送给所述中继链节点。
可选地,所述第二区块链节点,还用于针对每个中继链节点,统计从该中继链节点接收到的待存储数据的数据量;若统计出的数据量与通过该中继链节点执行的传输任务所记录的数据量相同,则确定通过该中继链节点传输的待存储数据通过数据验证;若数据验证通过,向该中继链节点发送针对该中继链节点传输数据成功的传输成功信息,以使该中继链节点将针对该中继链节点传输数据成功的传输成功信息发送给所述第一区块链节点。
本说明书提供的一种数据可信存储装置,包括:
接收模块,用于接收业务系统发送的数据存储请求;
确定模块,用于根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数;
分组模块,用于基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组;
发送模块,用于针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,以使所述中继链节点基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点,以在每个待存储数据通过所述第二区块链节点所处的区块链网络的共识校验后,通过所述第二区块链节点将每个待存储数据存储在所述第二区块链节点所对应的区块链上;所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的。
本说明书提供的一种数据可信存储装置,包括:
接收模块,用于针对每个中继链节点,接收该中继链节点发送的每个待存储数据,该中继链节点发送的每个待存储数据是第一区块链节点通过该中继链节点执行传输任务所传输的数据组中包含的每个待存储数据,所述数据组是所述第一区块链节点基于任务并发数,对各待存储数据进行分组后得到的一个数据组,所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,每个中继链节点与所述第二区块链节点之间传输的待存储数据是并行传输的;
共识校验模块,用于对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据可信存储方法。
本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据可信存储方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书实施例中第一区块链节点和第二区块链节点属于不同的区块链网络,第一区块链节点根据业务系统发送的数据存储请求,确定各待存储数据和执行针对各待存储数据的传输任务的任务并发数。基于任务并发数,对各待存储数据进行分组,得到每个数据组。将每个数据组包含的待存储数据并行发送给执行针对每个数据组的传输任务所需的中继链节点。每个中继链节点将接收到的每个待存储数据发送给第二区块链节点。第二区块链节点在对每个待存储数据进行共识校验后,将每个待存储数据存储在第二区块链节点对应的区块链上。在此过程中,可以将第一区块链节点的批量数据并行发送给第二区块链节点,从而提高了跨链数据传输的效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书实施例提供的一种第一区块链节点、多个中继链节点和第二区块链节点之间的通信连接示意图;
图2为本说明书实施例提供的针对第一区块链节点、任意一个中继链节点和第二区块链节点之间的数据传输的交互示意图;
图3为本说明书实施例提供的一种应用于第一区块链节点的数据可信存储方法的流程示意图;
图4为本说明书实施例提供的一种应用于第二区块链节点的数据可信存储方法的流程示意图;
图5为本说明书实施例提供的一种数据可信存储装置结构示意图;
图6为本说明书实施例提供的另一种数据可信存储装置结构示意图;
图7为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
现有技术中,一个区块链网络中的区块链与另一个区块链网络中的区块链可以通过公证人或直连的方式进行数据传输,这种数据传输方式,跨链的两个区块链之间只有一条数据传输链路,在面对批量数据传输需求时,在一条数据传输链路上依次传输批量数据,这样的数据传输效率比较低。
而本说明书提供的数据可信存储方法旨在在第一区块链节点和第二区块链节点之间设置多条数据传输链路,一条数据传输链路是由第一区块链节点、一个中继链节点和第二区块链节点构成。第一区块链节点保存的批量数据可以分批同时通过多条数据传输链路发送给第二区块链节点,以此提高跨链的数据传输效率。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
本说明书实施例提供一种数据可信存储系统,该数据可信存储系统包括:第一区块链节点、第二区块链节点、第一区块链节点和第二区块链节点之间设置的多个中继链节点,一个中继链节点与第一区块链节点、第二区块链节点构成一条数据传输链路。其中,第一区块链节点和第二区块链节点属于不同的区块链网络。第一区块链节点可以是指运行第一区块链的节点设备,第一区块链可以是指保存有需要传输给第二区块链节点的批量数据的区块链,即,数据来源链。第二区块链节点可以是指运行第二区块链的节点设备,第二区块链可以是指需要接收批量数据的区块链,即,目的链。第一区块链和第二区块链位于不同的区块链网络中。中继链节点可以是指运行中继链的节点设备,中继链节点用于对接收到的待存储数据进行数据验证以及通过中继链节点所处的区块链网络对待存储数据进行共识校验。数据验证的信息至少包括:数据格式、数据内容、数据来源链的签名和证书。针对数据格式,验证接收到的待存储数据的数据格式是否为指定数据格式;针对数据内容,验证接收到的待存储数据的数据内容是否被篡改;针对数据来源链的签名和证书,验证接收到的待存储数据对应的数据来源链的证书是否合法,数据来源链的签名是否真实。
图1为本说明书实施例提供的一种第一区块链节点、多个中继链节点和第二区块链节点之间的通信连接示意图,在图1中,第一区块链节点与第二区块链节点之间存在多条数据传输链路,一条数据传输链路是由一个中继链节点、第一区块链节点、第二区块链节点构成的。在第一区块链节点和第二区块链节点之间传输数据时,可以通过多个中继链节点实现并行传输数据。
图2为本说明书实施例提供的针对第一区块链节点、任意一个中继链节点和第二区块链节点之间的数据传输的交互示意图。
在图2中,第一区块链节点可以接收业务系统发送的数据存储请求,根据数据存储请求,确定出第一区块链节点中各待存储数据以及执行针对各待存储数据的传输任务所需的任务并发数。然后,基于任务并发数,对各待存储数据进行分组,得到每个数据组。一个数据组对应一个传输任务。最后,确定针对每个数据组的传输任务所需的中继链节点,并将每个数据组并行发送给每个数据组的传输任务所需的中继链节点。其中,一个数据组的传输任务对应一个中继链节点。
在将每个数据组传输到各自对应的中继链节点时,针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给该中继链节点。其中,第一区块链节点与每个中继链节点之间传输的数据组是并行传输的。
针对任意一个中继链节点,该中继链节点可以接收与该中继链节点对应的传输任务所传输的数据组,并基于接收到的数据组中包含的每个待存储数据对应的目的链地址,将接收到的每个待存储数据发送给目的链地址对应的第二区块链节点。
第二区块链节点可以接收每个中继链节点并行发送的数据组,并通过第二区块链节点所在的区块链网络,对接收到的所有数据组中包含的每个待存储数据进行共识校验,在共识校验通过之后,将接收到的每个待存储数据存储在第二区块链节点所对应的区块链(即,第二区块链)上。
具体的,针对每个中继链节点,接收该中继链节点发送的每个待存储数据,并对从该中继链节点接收到的每个待存储数据进行共识校验,若共识校验通过,将从该中继链节点接收到的每个待存储数据存储在第二区块链节点所对应的区块链上。
另外,第二区块链节点在接收到各待存储数据之后,在对各待存储数据进行共识校验之前,针对每个中继链节点,可以对从该中继链节点接收到的每个待存储数据进行数据验证。在数据验证通过之后,对从该中继链节点接收到的每个待存储数据进行共识校验。
在从该中继链节点接收到的每个待存储数据通过数据验证之后,第二区块链节点可以向该中继链节点返回传输成功信息,以使该中继链节点将传输成功信息发送给第一区块链节点。
第一区块链节点在接收到传输成功信息之后,可以将传输成功信息发送给业务系统,以使业务系统确定数据存储请求所涉及的各待存储数据传输完成。
图3为本说明书实施例提供的数据可信存储方法的流程示意图,该数据可信存储方法可以应用于第一区块链节点,包括:
S300:接收业务系统发送的数据存储请求。
在本说明书实施例中,针对任意两个不同的区块链网络,可以将一个区块链网络中的区块链节点作为第一区块链节点,第一区块链节点中保存有需要传输的批量数据,即,可以将第一区块链节点运行的第一区块链作为数据来源链。可以另一个区块链网络中的区块链节点作为第二区块链节点,第二区块链节点运行的第二区块链接收批量数据,即,可以将第二区块链作为目的链。
在实际业务执行过程中,第一区块链可能需要向第二区块链传输大批量的数据,数据传输之后,第二区块链将大批量的数据存储在第二区块链的区块中,比如:批量资产同步、批量配置更新、批量账户信息同步等。因此,需要业务系统触发第一区块链执行数据传输任务。
在本说明书实施例中,业务系统可以是指执行业务的系统,比如:借款系统、还款系统、工业控制系统等。业务系统可以向运行第一区块链的第一区块链节点发送数据存储请求。其中,数据存储请求中携带有查询条件、任务并发数、目的链地址等。查询条件可以指用于查找出待存储数据的条件,比如:某个用户的每条借款的借款金额、某个用户的每条还款的还款金额、工业控制系统中某个设备的多个配置参数等。查询条件可以是一个或多个。任务并发数可以是指并行传输数据的传输任务的数量,传输任务可以是指传输数据的任务,每个传输任务可以并行执行。比如:当任务并发数为2时,则采用两个传输任务对需要传输的数据进行并发传输。
S302:根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数。
在本说明书实施例中,第一区块链节点接收到业务系统发送的数据存储请求之后,可以根据数据存储请求中携带的查询条件,从第一区块链中查找出满足查询条件的各数据,作为各待存储数据。同时,可以根据数据存储请求中携带的任务并发数,确定出执行针对各待存储数据的传输任务所需的任务并发数。其中,各待存储数据可以是指针对数据存储请求所涉及的需要传输和存储的所有数据。
另外,从第一区块链中查找各待存储数据时,还可以统计出查找到的各待存储数据的数据总量,以及记录每个待存储数据对应的区块编号。
S304:基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组。
在本说明书实施例中,在确定出任务并发数之后,可以基于任务并发数,对各待存储数据进行分组,得到每个数据组,一个数据组对应一个传输任务。其中,每个数据组可以包含各待存储数据中的部分数据。当任务并发数为一个时,这一个数据组包含所有待存储数据。
具体的,可以基于任务并发数,对各待存储数据进行平均分组,得到每个数据组,并确定针对每个数据组的传输任务。其中,针对每个数据组的传输任务,该数据组的传输任务记录有任务标识、各待存储数据的数据总量、该数据组包含的数据量、该数据组包含的每个待存储数据对应的区块编号、该数据组中每个待存储数据对应的目的链地址。任务标识可以是任务编号。基于每个数据组的传输任务记录的信息,目的链可以这些信息,对接收到的待存储数据的数据量进行验证,判断是否全部接收完。
需要说明的是,在第一区块链节点与第二区块链节点之间传输批量的数据时,每个待存储数据对应的目的链地址是相同的,即,都是第二区块链节点的地址。
在对各待存储数据进行平均分组时,可以基于任务并发数以及各待存储数据的数据总量,确定针对数据总量的平均值。然后,将平均值向下取整,得到目标整数。之后,针对除最后一个数据组之外的每个数据组,可以将目标整数数量的待存储数据作为该数据组包含的待存储数据。在确定出除最后一个数据组之外的每个数据组包含的待存储数据之后,可以将各待存储数据中剩余的待存储数据作为最后一个数据组所包含的待存储数据。
例如:若任务并发数为3,各待存储数据的数据总量为100,则对平均值下向取整后的目标整数为33,那么,第一个数据组和第二个数据组包含的待存储数据的数据量均为33,第三个数据组包含的待存储数据的数据量为34。
S306:针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,以使所述中继链节点基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点,以在每个待存储数据通过所述第二区块链节点所处的区块链网络的共识校验后,通过所述第二区块链节点将每个待存储数据存储在所述第二区块链节点所对应的区块链上;所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的。
在本说明书实施例中,在确定每个数据组和针对每个数据组的传输任务之后,可以执行每个数据组的传输任务,将每个数据组并行发送给针对每个数据组的传输任务所需的中继链节点。其中,一个数据组的传输任务对应一个中继链节点。若中继链节点的数量不小于任务并发数,针对数据组的传输任务与中继链节点一一对应。若中继链节点的数量小于任务并发数,针对每个中继链节点,该中继链节点可以对应多个数据组的传输任务。
在将每个数据组并行发送给针对每个数据组的传输任务所需的中继链节点时,针对每个数据组,可以确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给该中继链节点。
进一步,针对每个数据组,可以基于第一区块链节点与执行针对该数据组的传输任务所需的中继链节点之间的传输协议,可以将该数据组所包含的每个待存储数据进行封装,得到该数据组对应的数据包,并将该数据组对应的数据包发送给该中继链节点。
在第一区块链节点将每个数据组包含的每个待存储数据发送给执行针对每个数据组的传输任务各自所需的中继链节点之后,中继链节点可以通过验证引擎对接收到的待存储数据的真实性和合法性进行验证,对接收到的以及对接收到的待存储数据进行共识校验。
针对每个中继链节点,该中继链节点可以接收传输到该中继链节点的数据组,对数据组中的每个待存储数据进行验证。其中,验证的信息至少包括:数据格式、数据内容、数据来源链的签名和证书。若验证通过,针对每个待存储数据,可以通过该中继链节点所在的区块链网络,对该待存储数据进行共识校验,若共识校验通过,可以将该待存储数据存储在该中继链节点所对应的区块链上。在共识校验通过后,可以根据每个待存储数据对应的目的链地址,将接收到的每个待存储数据发送给目的链地址对应的目的链节点,即,第二区块链节点。
在该中继链节点接收传输到该中继链节点的数据组时,针对每个中继链节点,该中继链节点接收传输到该中继链节点的数据包,对接收到的数据包进行解析,得到数据包内的每个待存储数据。之后,对接收到的数据包内的每个待存储数据进行验证。若验证通过,对每个存储数据进行共识校验,若共识校验通过,可以基于该中继链节点与第二区块链节点之间的传输协议,对每个待存储数据重新封装,重新得到数据包,并将重新得到的数据包发送给第二区块链节点。
在中继链节点将从第一区块链节点接收到的数据组内的每个待存储数据发送给第二区块链节点之后,第二区块链节点可以接收每个中继链节点并行发送的数据组。然后,针对每个中继链节点,第二区块链节点可以对从该中继链节点接收到的数据组中的每个待存储数据进行数据验证。若数据验证通过,可以向每个中继链节点发送传输成功信息,以使每个中继链节点将传输成功信息发送给第一区块链节点。在数据验证通过之后,可以对从该中继链节点接收到的每个待存储数据进行共识校验,若共识校验通过,将从该中继链节点接收到的每个待存储数据存储在第二区块链节点所对应的区块链上。其中,数据验证可以验证第二区块链节点接收到数据量是否完整。
当然,在数据验证之前,可以对接收到的每个待存储数据的真实性和合法性进行验证。即,第二区块链节点可以对从该中继链节点接收到的数据组中的每个待存储数据进行验证,若验证通过,可以对每个待存储数据进行数据验证。
在接收每个中继链节点并行发送的数据组时,针对每个中继链节点,第二区块链节点可以接收该中继链节点发送的数据包,然后,对该中继链节点发送的数据包进行解析,得到该中继链节点发送的每个待存储数据。
在第二区块链节点对每个待存储数据进行数据验证时,针对每个中继链节点,第二区块链节点可以统计从该中继链节点接收到的待存储数据的数据量。若统计出的数据量与通过该中继链节点执行的传输任务所记录的数据量相同,则确定通过该中继链节点传输的待存储数据通过数据验证。在这种情况下,第二区块链节点可以向该中继链节点返回针对该中继链节点传输数据成功的传输成功信息,以使该中继链节点将针对该中继链节点传输数据成功的传输成功信息发送给第一区块链节点。
在确定每个中继链节点传输的待存储数据通过数据验证的情况下,第一区块链节点可以根据接收到的针对每个中继链节点传输数据成功的传输成功信息,确定针对数据存储请求涉及的全部待存储数据传输成功,可以向业务系统发送针对全部待存储数据的传输成功信息。
除了上述统计从每个中继链节点接收到的待存储数据的数据量之外,第二区块链节点还可以统计从所有中继链节点接收到的待存储数据的数据总量。若统计出的数据总量与预先记录的各待存储数据的数据总量相同,则确定所有中继链节点传输的待存储数据通过数据验证。在这种情况下,第二区块链节点可以向每个中继链节点发送针对全部待存储数据的传输成功信息,以使每个中继链节点将针对全部待存储数据的传输成功信息发送给第一区块链节点。第一区块链节点可以将接收到的针对全部待存储数据的传输成功信息发送给业务系统,以使业务系统确定数据存储请求涉及的全部待存储数据传输成功。
需要说明的是,也可以同时统计从每个中继链节点接收到的待存储数据的数据量和从所有中继节点接收到的待存储数据的数据总量,来判断第二区块链节点是否接收完全。
上述步骤S302~步骤S304的执行逻辑可以通过第一区块链节点中运行的第一智能合约实现,即,通过执行第一智能合约可以确定出待存储的数据以及对待存储的数据进行分组。上述步骤S306的执行逻辑可以通过第一区块链节点中运行的第二智能合约实现,即,通过执行第二智能合约可以将分组后的每组待存储的数据发送给对应的中继链。
需要说明的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
此外,在步骤S302中,数据存储请求中可能携带多个不同的目的链地址的情况,这时,可以基于每个不同的目的链地址,对第一区块链中的数据进行查找。
具体的,在数据存储请求中携带多个不同的目的链地址时,可以针对每个目的链地址,确定传输到该目的链地址的区块链的数据所对应的查询条件,作为该目的链地址对应的查询条件。然后,根据该目的链地址对应的查询条件,从第一区块链中查找出满足该目的链地址对应的查询条件的各数据,作为该目的链地址下各待存储数据。同时,可以根据数据存储请求中携带的针对该目的链地址的任务并发数,确定出传输该目的链地址下各待存储数据时的任务并发数量。之后,可以基于任务并发数,对所述各待存储数据进行分组,得到每个数据组。最后,针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给中继链节点,以使中继链节点基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给目的链地址对应的第二区块链节点,以在每个待存储数据通过第二区块链节点所处的区块链网络的共识校验后,通过第二区块链节点将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
基于上述针对图3中的数据可信存储方法的描述,图4为本说明书实施例提供的应用于第二区块链节点的数据可信存储方法的流程示意图,该数据可信存储方法包括:
S400:针对每个中继链节点,接收该中继链节点发送的每个待存储数据,该中继链节点发送的每个待存储数据是第一区块链节点通过该中继链节点执行传输任务所传输的数据组中包含的每个待存储数据,所述数据组是所述第一区块链节点基于任务并发数,对各待存储数据进行分组后得到的一个数据组,所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,每个中继链节点与所述第二区块链节点之间传输的待存储数据是并行传输的。
S402:对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
在本说明书实施例中,第二区块链节点可以针对每个中继链节点,接收该中继链节点发送的每个待存储数据。其中,该中继链节点发送的每个待存储数据是第一区块链节点通过该中继链节点执行传输任务所传输的数据组中包含的每个待存储数据,数据组是第一区块链节点基于任务并发数,对各待存储数据进行分组后得到的一个数据组。第一区块链节点与第二区块链节点属于不同的区块链网络。每个中继链节点与第二区块链节点之间传输的待存储数据是并行传输的。然后,对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在第二区块链节点所对应的区块链上。
通过上述图3、图4所示的方法可见,本说明书第一区块链节点和第二区块链节点属于不同的区块链网络,第一区块链节点根据业务系统发送的数据存储请求,确定各待存储数据和执行针对各待存储数据的传输任务的任务并发数。基于任务并发数,对各待存储数据进行分组,得到每个数据组。将每个数据组包含的待存储数据并行发送给执行针对每个数据组的传输任务所需的中继链节点。每个中继链节点将接收到的每个待存储数据发送给第二区块链节点。第二区块链节点在对每个待存储数据进行共识校验后,将每个待存储数据存储在第二区块链节点对应的区块链上。在此过程中,可以将第一区块链节点的批量数据并行发送给第二区块链节点,从而提高了跨链数据传输的效率。
以上为本说明书实施例提供的数据可信存储方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
图5为本说明书实施例提供的一种数据可信存储装置的结构示意图,所述装置包括:
接收模块501,用于接收业务系统发送的数据存储请求;
确定模块502,用于根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数;
分组模块503,用于基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组;
发送模块504,用于针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,以使所述中继链节点基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点,以在每个待存储数据通过所述第二区块链节点所处的区块链网络的共识校验后,通过所述第二区块链节点将每个待存储数据存储在所述第二区块链节点所对应的区块链上;所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的。
可选地,所述确定模块502具体用于,根据所述数据存储请求中携带的查询条件,从第一区块链节点所对应的区块链上查找出满足所述查询条件的各数据,作为各待存储数据。
可选地,所述分组模块503具体用于,基于所述任务并发数,对所述各待存储数据进行平均分组,得到每个数据组,并确定出针对每个数据组的传输任务;针对每个数据组的传输任务,该数据组的传输任务记录有任务标识、预先统计出的各待存储数据的数据总量、该数据组包含的数据量。
可选地,所述发送模块504具体用于,将该数据组中包含的每个待存储数据进行封装,得到该数据组对应的数据包,并将该数据组对应的数据包发送给所述中继链节点。
图6为本说明书实施例提供的另一种数据可信存储装置的结构示意图,所述装置包括:
接收模块601,用于针对每个中继链节点,接收该中继链节点发送的每个待存储数据,该中继链节点发送的每个待存储数据是第一区块链节点通过该中继链节点执行传输任务所传输的数据组中包含的每个待存储数据,所述数据组是所述第一区块链节点基于任务并发数,对各待存储数据进行分组后得到的一个数据组,所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,每个中继链节点与所述第二区块链节点之间传输的待存储数据是并行传输的;
共识校验模块602,用于对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
可选地,所述装置还包括:验证模块603;
验证模块603,用于针对每个中继链节点,统计从该中继链节点接收到的待存储数据的数据量;若统计出的数据量与通过该中继链节点执行的传输任务所记录的数据量相同,则确定通过该中继链节点传输的待存储数据通过数据验证;若数据验证通过,向该中继链节点发送针对该中继链节点传输数据成功的传输成功信息,以使该中继链节点将针对该中继链节点传输数据成功的传输成功信息发送给所述第一区块链节点。
验证模块603,用于统计从所有中继链节点接收到的待存储数据的数据总量;若统计出的数据总量与预先记录的所述第一区块链节点发送的各待存储数据的数据总量相同,则确定通过所有中继链节点传输的待存储数据通过数据验证;若数据验证通过,向每个中继链节点发送针对全部待存储数据的传输成功信息,以使每个中继链节点将针对全部待存储数据的传输成功信息发送给所述第一区块链节点。
可选地,所述接收模块601具体用于,针对每个中继链节点,接收该中继链节点发送的数据包,该中继链节点发送的数据包是所述第一区块链节点将通过该中继链节点执行的传输任务所需传输的数据组中包含的每个待存储数据进行封装后发送给该中继链节点的数据包;对该中继链节点发送的数据包进行解析,得到该中继链节点发送的每个待存储数据。
本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图3、图4提供的数据可信存储方法。
基于图3、图4所示的数据可信存储方法,本说明书实施例还提供了图7所示的电子设备的结构示意图。如图7,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图3、图4所述的数据可信存储方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在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 (16)
1.一种数据可信存储方法,其特征在于,所述数据可信存储方法应用于第一区块链节点,所述数据可信存储方法包括:
接收业务系统发送的数据存储请求;
根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数;
基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组;
针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,以使所述中继链节点基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点,以在每个待存储数据通过所述第二区块链节点所处的区块链网络的共识校验后,通过所述第二区块链节点将每个待存储数据存储在所述第二区块链节点所对应的区块链上;所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的,一个中继链节点与第一区块链节点、第二区块链节点构成一条数据传输链路,一个数据组对应一个传输任务,一个数据组的传输任务对应一个中继链节点。
2.如权利要求1所述的方法,其特征在于,根据所述数据存储请求,确定出各待存储数据,具体包括:
根据所述数据存储请求中携带的查询条件,从第一区块链节点所对应的区块链上查找出满足所述查询条件的各数据,作为各待存储数据。
3.如权利要求1所述的方法,其特征在于,基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组,具体包括:
基于所述任务并发数,对所述各待存储数据进行平均分组,得到每个数据组,并确定出针对每个数据组的传输任务;针对每个数据组的传输任务,该数据组的传输任务记录有任务标识、预先统计出的各待存储数据的数据总量、该数据组包含的数据量。
4.如权利要求1所述的方法,其特征在于,将该数据组中包含的每个待存储数据发送给所述中继链节点,具体包括:
将该数据组中包含的每个待存储数据进行封装,得到该数据组对应的数据包,并将该数据组对应的数据包发送给所述中继链节点。
5.一种数据可信存储方法,其特征在于,所述数据可信存储方法应用于第二区块链节点,所述数据可信存储方法包括:
针对每个中继链节点,接收该中继链节点发送的每个待存储数据,该中继链节点发送的每个待存储数据是第一区块链节点通过该中继链节点执行传输任务所传输的数据组中包含的每个待存储数据,所述数据组是所述第一区块链节点基于任务并发数,对各待存储数据进行分组后得到的一个数据组,所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,每个中继链节点与所述第二区块链节点之间传输的待存储数据是并行传输的,一个中继链节点与第一区块链节点、第二区块链节点构成一条数据传输链路,一个数据组对应一个传输任务,一个数据组的传输任务对应一个中继链节点;
对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
6.如权利要求5所述的方法,其特征在于,在对从该中继链节点接收到的每个待存储数据进行共识校验之前,所述数据可信存储方法还包括:
针对每个中继链节点,统计从该中继链节点接收到的待存储数据的数据量;
若统计出的数据量与通过该中继链节点执行的传输任务所记录的数据量相同,则确定通过该中继链节点传输的待存储数据通过数据验证;
若数据验证通过,向该中继链节点发送针对该中继链节点传输数据成功的传输成功信息,以使该中继链节点将针对该中继链节点传输数据成功的传输成功信息发送给所述第一区块链节点。
7.如权利要求5所述的方法,其特征在于,在对从该中继链节点接收到的每个待存储数据进行共识校验之前,所述数据可信存储方法还包括:
统计从所有中继链节点接收到的待存储数据的数据总量;
若统计出的数据总量与预先记录的所述第一区块链节点发送的各待存储数据的数据总量相同,则确定通过所有中继链节点传输的待存储数据通过数据验证;
若数据验证通过,向每个中继链节点发送针对全部待存储数据的传输成功信息,以使每个中继链节点将针对全部待存储数据的传输成功信息发送给所述第一区块链节点。
8.如权利要求5所述的方法,其特征在于,针对每个中继链节点,接收该中继链节点发送的每个待存储数据,具体包括:
针对每个中继链节点,接收该中继链节点发送的数据包,该中继链节点发送的数据包是所述第一区块链节点将通过该中继链节点执行的传输任务所需传输的数据组中包含的每个待存储数据进行封装后发送给该中继链节点的数据包;
对该中继链节点发送的数据包进行解析,得到该中继链节点发送的每个待存储数据。
9.一种数据可信存储系统,其特征在于,所述数据可信存储系统包括:第一区块链节点、第二区块链节点、所述第一区块链节点和所述第二区块链节点之间设置的多个中继链节点,所述第一区块链节点和所述第二区块链节点属于不同的区块链网络;
所述第一区块链节点,用于接收业务系统发送的数据存储请求,根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数,并基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组,针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的,一个中继链节点与第一区块链节点、第二区块链节点构成一条数据传输链路,一个数据组对应一个传输任务,一个数据组的传输任务对应一个中继链节点;
任意一个中继链节点,用于基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点;
所述第二区块链节点,用于针对每个中继链节点,接收该中继链节点发送的每个待存储数据,对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
10.如权利要求9所述的系统,其特征在于,所述第一区块链节点,具体用于基于所述任务并发数,对所述各待存储数据进行平均分组,得到每个数据组,并确定出针对每个数据组的传输任务;针对每个数据组的传输任务,该数据组的传输任务记录有任务标识、预先统计出的各待存储数据的数据总量、该数据组包含的数据量。
11.如权利要求9所述的系统,其特征在于,所述第一区块链节点,具体用于将该数据组中包含的每个待存储数据进行封装,得到该数据组对应的数据包,并将该数据组对应的数据包发送给所述中继链节点。
12.如权利要求9所述的系统,其特征在于,所述第二区块链节点,还用于针对每个中继链节点,统计从该中继链节点接收到的待存储数据的数据量;若统计出的数据量与通过该中继链节点执行的传输任务所记录的数据量相同,则确定通过该中继链节点传输的待存储数据通过数据验证;若数据验证通过,向该中继链节点发送针对该中继链节点传输数据成功的传输成功信息,以使该中继链节点将针对该中继链节点传输数据成功的传输成功信息发送给所述第一区块链节点。
13.一种数据可信存储装置,其特征在于,包括:
接收模块,用于第一区块链节点接收业务系统发送的数据存储请求;
确定模块,用于根据所述数据存储请求,确定出各待存储数据以及执行针对所述各待存储数据的传输任务所需的任务并发数;
分组模块,用于基于所述任务并发数,对所述各待存储数据进行分组,得到每个数据组;
发送模块,用于针对每个数据组,确定执行针对该数据组的传输任务所需的中继链节点,并将该数据组中包含的每个待存储数据发送给所述中继链节点,以使所述中继链节点基于接收到的每个待存储数据对应的目的链地址,将每个待存储数据发送给所述目的链地址对应的第二区块链节点,以在每个待存储数据通过所述第二区块链节点所处的区块链网络的共识校验后,通过所述第二区块链节点将每个待存储数据存储在所述第二区块链节点所对应的区块链上;所述第一区块链节点与所述第二区块链节点属于不同的区块链网络,所述第一区块链节点和所述第二区块链节点之间传输的每个数据组是并行传输的,一个中继链节点与第一区块链节点、第二区块链节点构成一条数据传输链路,一个数据组对应一个传输任务,一个数据组的传输任务对应一个中继链节点。
14.一种数据可信存储装置,其特征在于,包括:
接收模块,用于针对每个中继链节点,接收该中继链节点发送的每个待存储数据,该中继链节点发送的每个待存储数据是第一区块链节点通过该中继链节点执行传输任务所传输的数据组中包含的每个待存储数据,所述数据组是所述第一区块链节点基于任务并发数,对各待存储数据进行分组后得到的一个数据组,所述第一区块链节点与第二区块链节点属于不同的区块链网络,每个中继链节点与所述第二区块链节点之间传输的待存储数据是并行传输的,一个中继链节点与第一区块链节点、第二区块链节点构成一条数据传输链路,一个数据组对应一个传输任务,一个数据组的传输任务对应一个中继链节点;
共识校验模块,用于对从该中继链节点接收到的每个待存储数据进行共识校验,若校验通过,将每个待存储数据存储在所述第二区块链节点所对应的区块链上。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-8任一项所述的方法。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310391572.6A CN116127148B (zh) | 2023-04-04 | 2023-04-04 | 一种数据可信存储方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310391572.6A CN116127148B (zh) | 2023-04-04 | 2023-04-04 | 一种数据可信存储方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116127148A CN116127148A (zh) | 2023-05-16 |
CN116127148B true CN116127148B (zh) | 2023-07-21 |
Family
ID=86297681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310391572.6A Active CN116127148B (zh) | 2023-04-04 | 2023-04-04 | 一种数据可信存储方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127148B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447290A (zh) * | 2020-06-12 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 区块链网络中的通信方法、业务数据传输方法 |
CN113194141A (zh) * | 2021-04-29 | 2021-07-30 | 杭州链网科技有限公司 | 一种基于异构区块链的跨链网桥构建方法 |
JP2022075522A (ja) * | 2020-11-04 | 2022-05-18 | 富士通株式会社 | コンピュータが実行する方法、情報処理装置及び記憶媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10911240B2 (en) * | 2018-07-23 | 2021-02-02 | Hitachi, Ltd. | Off-chain blockchain storage with validation |
CN111984733A (zh) * | 2020-09-03 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 基于区块链的数据传输方法、装置及存储介质 |
CN111935315B (zh) * | 2020-09-25 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 区块同步方法及装置 |
CN114338770B (zh) * | 2021-12-27 | 2024-05-24 | 杭州趣链科技有限公司 | 跨区块链的数据处理方法、装置、存储介质及终端设备 |
-
2023
- 2023-04-04 CN CN202310391572.6A patent/CN116127148B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447290A (zh) * | 2020-06-12 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 区块链网络中的通信方法、业务数据传输方法 |
JP2022075522A (ja) * | 2020-11-04 | 2022-05-18 | 富士通株式会社 | コンピュータが実行する方法、情報処理装置及び記憶媒体 |
CN113194141A (zh) * | 2021-04-29 | 2021-07-30 | 杭州链网科技有限公司 | 一种基于异构区块链的跨链网桥构建方法 |
Non-Patent Citations (2)
Title |
---|
Blockchain based secure relay scheme for space-terrestrial integrated networks;Zhen Gao等;《China Communications》;170-181 * |
区块链跨链技术进展研究;李芳;李卓然;赵赫;;软件学报(06);79-90 * |
Also Published As
Publication number | Publication date |
---|---|
CN116127148A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107450979B (zh) | 一种区块链共识方法及装置 | |
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN110189121B (zh) | 数据处理方法、装置、区块链客户端和区块链节点 | |
KR20190083652A (ko) | 서비스 요청 처리 방법 및 장치 | |
CN108550038A (zh) | 一种应用于区块链的数据传播系统及方法 | |
CN113743940B (zh) | 在区块链中执行交易的方法、区块链、主节点和从节点 | |
CN112529694B (zh) | 授信处理方法、装置、设备及系统 | |
CN111651467B (zh) | 一种区块链节点接口发布调用方法和装置 | |
CN110659905B (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN109191287A (zh) | 一种区块链智能合约的分片方法、装置及电子设备 | |
CN115098594A (zh) | 在区块链系统中执行交易的方法、区块链系统和节点 | |
CN111355816A (zh) | 服务器选取方法、装置、设备及分布式服务系统 | |
CN108334340A (zh) | 一种跨环境数据通信方法、装置和系统 | |
CN108062235A (zh) | 数据处理方法及装置 | |
CN108616361A (zh) | 一种识别设备唯一性的方法及装置 | |
CN113254163B (zh) | 区块链数据的处理方法及装置 | |
CN109376988B (zh) | 一种业务数据的处理方法和装置 | |
CN116933702B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN116933886B (zh) | 一种量子计算执行方法、系统、电子设备及存储介质 | |
CN116127148B (zh) | 一种数据可信存储方法、装置、存储介质及电子设备 | |
CN115129728A (zh) | 一种文件校验的方法及装置 | |
CN113452735B (zh) | 一种基于区块链的窄带传输方法以及设备 | |
CN112351085A (zh) | 一种网络资源安全共享方法 | |
CN117555697B (zh) | 一种面向分布式训练的缓存加载系统、方法、装置及设备 | |
CN111405000B (zh) | 一种p2p网络资源共享方法和系统 |
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 |