CN113609215A - 数据处理方法、装置、设备与计算机可读存储介质 - Google Patents

数据处理方法、装置、设备与计算机可读存储介质 Download PDF

Info

Publication number
CN113609215A
CN113609215A CN202110771561.1A CN202110771561A CN113609215A CN 113609215 A CN113609215 A CN 113609215A CN 202110771561 A CN202110771561 A CN 202110771561A CN 113609215 A CN113609215 A CN 113609215A
Authority
CN
China
Prior art keywords
chain
data
hash value
data processing
data set
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.)
Pending
Application number
CN202110771561.1A
Other languages
English (en)
Inventor
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yunke Energy Technology Co ltd
Original Assignee
Shenzhen Yunke Energy Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Yunke Energy Technology Co ltd filed Critical Shenzhen Yunke Energy Technology Co ltd
Priority to CN202110771561.1A priority Critical patent/CN113609215A/zh
Publication of CN113609215A publication Critical patent/CN113609215A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据处理方法、装置、设备和计算机可读存储介质,包括:接收客户端发送的分片数据集合,对分片数据集合进行验证操作,并将经过验证操作的分片数据集合发送到子链;通过子链对分片数据集合进行第一共识操作,以将分片数据集合持久化到子链的储存节点中和得到哈希值集合;接收子链发送的哈希值集合,并将哈希值集合发送到主链,并通过主链对哈希值集合进行第二共识操作,以将哈希值集合持久化到主链的储存节点中。本发明将分片数据集合发送到子链进行第一共识操作,得到哈希值集合,并将哈希值集合发送到主链进行第二共识操作,使哈希值集合持久化到主链,提高了区块链处理大容量数据的效率。

Description

数据处理方法、装置、设备与计算机可读存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及数据处理方法、装置、设备与计算机可读存储介质。
背景技术
随着区块链技术的发展,越来越多的行业都运用了区块链技术,由于区块链的主链储存空间有限,因此在利用区块链对大容量数据进行处理,往往效率不高,进而限制了区块链技术的应用场景,因此,如何提高区块链处理大容量数据的效率,以扩大区块链技术的应用场景,是急需解决的问题。
发明内容
本发明的主要目的在于提出一种数据处理方法、装置、设备与计算机可读存储介质,旨在解决如何提高区块链处理大容量数据的效率,以扩大区块链技术的应用场景的问题。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括如下步骤:
接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链;
通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合;
接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
优选地,接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链的步骤之前,所述数据处理方法还包括:
在接收到目标数据时,获取所述目标数据的容量,并将所述目标数据的容量与预设容量阈值进行对比,得到对比结果;
若所述对比结果为所述目标数据的容量大于所述预设容量阈值,则根据预设分片容量,通过所述客户端将所述目标数据进行分片操作,以得到所述分片数据集合。
优选地,对所述分片数据进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链的步骤包括:
验证所述分片数据集合中是否存在相同的分片数据和所述分片数据集合格式是否正确,并得到验证结果;
若所述验证结果为所述分片数据集合中不存在相同的分片数据和所述分片数据集合格式正确,则执行步骤:将通过所述验证操作的所述分片数据集合发送到所述子链。
优选地,通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合的步骤包括:
通过所述子链将所述分片数据集合打包成第一交易集合,并通过所述子链中的议长节点将所述第一交易集合打包成第一区块集合;
通过所述子链中的所述议长节点、议员节点和共识节点对所述第一区块集合进行所述第一共识操作,以将所述第一区块集合中的所述分片数据集合持久化到所述子链的所述储存节点中和得到所述哈希值集合。
优选地,接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链的步骤包括:
接收所述子链发送的所述哈希值集合,并将所述哈希值集合打包成第二交易集合,将所述第二交易集合发送到所述主链。
优选地,通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中的步骤包括:
通过所述主链中的议长节点将所述第二交易集合打包成第二区块集合;
通过所述主链中的所述议长节点、议员节点和共识节点对所述第二区块集合进行所述第二共识操作,以将所述第二区块集合中的所述哈希值集合持久化到所述主链的储存节点中。
优选地,接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中的步骤之后,所述数据处理方法还包括:
将所述哈希值集合中的哈希值与所述分片数据集合中对应的分片数据进行关联操作,以使所述客户端可通过所述主链中的哈希值查询到所述子链中对应的分片数据。
此外,为实现上述目的,本发明还提供一种数据处理装置,所述数据处理装置包括:
验证模块,用于接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链;
第一共识模块,用于通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合;
第二共识模块,用于接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
优选地,所述验证模块还包括分片模块,所述分片模块用于:
在接收到目标数据时,获取所述目标数据的容量,并将所述目标数据的容量与预设容量阈值进行对比,得到对比结果;
若所述对比结果为所述目标数据的容量大于所述预设容量阈值,则根据预设分片容量,通过所述客户端将所述目标数据进行分片操作,以得到所述分片数据集合。
优选地,所述验证模块还用于:
验证所述分片数据集合中是否存在相同的分片数据和所述分片数据集合格式是否正确,并得到验证结果;
若所述验证结果为所述分片数据集合中不存在相同的分片数据和所述分片数据集合格式正确,则执行步骤:将通过所述验证操作的所述分片数据集合发送到所述子链。
优选地,所述第一共识模块还用于:
通过所述子链将所述分片数据集合打包成第一交易集合,并通过所述子链中的议长节点将所述第一交易集合打包成第一区块集合;
通过所述子链中的所述议长节点、议员节点和共识节点对所述第一区块集合进行所述第一共识操作,以将所述第一区块集合中的所述分片数据集合持久化到所述子链的所述储存节点中和得到所述哈希值集合。
优选地,所述第二共识模块还包括打包模块,所述打包模块用于:
接收所述子链发送的所述哈希值集合,并将所述哈希值集合打包成第二交易集合,将所述第二交易集合发送到所述主链。
优选地,所述第二共识模块还用于:
通过所述主链中的议长节点将所述第二交易集合打包成第二区块集合;
通过所述主链中的所述议长节点、议员节点和共识节点对所述第二区块集合进行所述第二共识操作,以将所述第二区块集合中的所述哈希值集合持久化到所述主链的储存节点中。
优选地,所述第二共识模块还包括关联模块,所述关联模块用于:
将所述哈希值集合中的哈希值与所述分片数据集合中对应的分片数据进行关联操作,以使所述客户端可通过所述主链中的哈希值查询到所述子链中对应的分片数据。
此外,为实现上述目的,本发明还提供一种数据处理设备,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
本发明提出的数据处理方法,接收客户端发送的分片数据集合,对分片数据集合进行验证操作,并将通过验证操作的分片数据集合发送到子链;通过子链对分片数据集合进行第一共识操作,以将分片数据集合持久化到子链的储存节点中和得到哈希值集合;接收子链发送的哈希值集合,并将哈希值集合发送到主链,并通过主链对哈希值集合进行第二共识操作,以将哈希值集合持久化到主链的储存节点中。本发明将分片数据集合发送到子链进行第一共识操作,得到哈希值集合,并将哈希值集合发送到主链进行第二共识操作,使哈希值集合持久化到主链,提高了区块链处理数据的效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
本发明目的的实现、功能特点及优点将集合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是PC机或服务器设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
其中,操作系统是管理和控制便携数据处理设备与软件资源的程序,支持网络通信模块、用户接口模块、数据处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的数据处理设备中,所述数据处理设备通过处理器1001调用存储器1005中存储的数据处理程序,并执行下述数据处理方法各个实施例中的操作。
基于上述硬件结构,提出本发明数据处理方法实施例。
参照图2,图2为本发明数据处理方法第一实施例的流程示意图,所述方法包括:
步骤S10,接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链;
步骤S20,通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合;
步骤S30,接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
本实施例数据处理方法运用于基于区块链处理数据的机构的数据处理设备中,数据处理设备可以是终端或者PC设备,为描述方便,以数据处理设备为例进行描述;数据处理设备中包括但不限于:客户端、网关、子链和主链。数据处理设备中的网关接收到客户端发送的分片数据集合后,通过网关对分片数据集合进行验证操作,并将通过验证操作的分片数据集合发送到子链;数据处理设备通过子链对进行打包,得到第一区块数据,并对第一区块数据进行第一共识操作,以将分片数据集合持久化到子链的储存节点中和得到哈希值集合,再将哈希值集合发送到网关;数据处理设备通过网关接收到哈希值集合后,将哈希值集合打包成第二区块数据,并将第二区块数据发送到主链,再通过主链对第二区块数据进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
本实施例的数据处理方法,通过网关接收客户端发送的分片数据集合,对分片数据集合进行验证操作,并将通过验证操作的分片数据集合发送到子链;通过子链对分片数据集合进行第一共识操作,以将分片数据集合持久化到子链的储存节点中和得到哈希值集合;通过网关接收子链发送的哈希值集合,并将哈希值集合发送到主链,并通过主链对哈希值集合进行第二共识操作,以将哈希值集合持久化到主链的储存节点中。本发明将分片数据集合发送到子链进行第一共识操作,得到哈希值集合,并将哈希值集合发送到主链进行第二共识操作,使哈希值集合持久化到主链,提高了区块链处理数据的效率。
以下将对各个步骤进行详细说明:
步骤S10,接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链;
在本实施例中,数据处理设备通过网关接收客户端发送的分片数据集合,对分片数据集合进行验证操作,并将通过验证操作的分片数据集合发送到子链,若分片数据集合不通过验证操作,则将分片数据集合发送到客户端,并通过客户端对分片数据集合对应的目标数据进行重新分片,得到新的分片数据集合,并将新的分片数据集合发送到网关中。
具体的,步骤S10之前包括:
步骤a,在接收到目标数据时,获取所述目标数据的容量,并将所述目标数据的容量与预设容量阈值进行对比,得到对比结果;
在该步骤中,数据处理设备接收到相关用户上传的目标数据时,获取目标数据的容量,并将目标数据的容量与预设容量阈值进行对比,得到对比结果;需要说明的是,数据处理设备中的预设容量阈值是由相关研发人员根据区块链的主链的最大存储容量进行设定的,当目标数据的容量小于预设容量阈值时,通过通用的方法对该目标数据进行管理储存,当目标数据的容量大于预设容量阈值时,则通过本发明的方法对该目标数据进行管理储存。
步骤b,若所述对比结果为所述目标数据的容量大于所述预设容量阈值,则根据预设分片容量,通过所述客户端将所述目标数据进行分片操作,以得到所述分片数据集合。
在该步骤中,数据处理设备若得到对比结果为目标数据的容量大于预设容量阈值,则根据预设分片容量,通过客户端将目标数据进行分片操作,以得到分片数据集合,如:目标数据的容量为30M,预设容量阈值为20M,预设分片容量为1M;数据处理设备将目标数据的容量与预设容量阈值进行对比后,若得到对比结果为目标数据的容量大于预设容量阈值,则根据预设分片容量,将目标数据进行分片操作,得到30个容量为1M的分片数据,以得到分片数据集合。需要说明的是,对目标数据进行分片操作时,客户端会根据目标数据的起始位置和结束位置,对分片数据进行排序,以用户需要对目标数据进行查询时,客户端可按照分片顺序重新组合,还原成原来的目标数据。
具体的,步骤S10还包括:
步骤c,验证所述分片数据集合中是否存在相同的分片数据和所述分片数据集合格式是否正确,并得到验证结果;
在该步骤中,数据处理设备通过网关验证客户端发送的分片数据集合中是否存在相同的分片数据和所述分片数据集合格式是否正确,并得到验证结果,若分片数据集合中存在相同的分片数据,将相同的分片数据删除,只留下相同的分片数据中的一个,若分片数据集合格式不正确,则需要将分片数据集合返回客户端重新进行分片操作。
步骤d,若所述验证结果为所述分片数据集合中不存在相同的分片数据和所述分片数据集合格式正确,则执行步骤:将通过所述验证操作的所述分片数据集合发送到所述子链。
在该步骤中,数据处理设备得到的验证结果为分片数据集合中不存在相同的分片数据和所述分片数据集合格式正确,则执行步骤:将通过验证操作的分片数据集合发送到子链。需要说明的是,网关接收到的分片数据集合在发送的过程中可能会出现重复发送和格式错乱的情况,因此需要网关对分片数据集合进行验证,以确保分片数据集合的准确性,避免后续步骤出现错误。
步骤S20,通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合;
在本实施例中,数据处理设备通过子链对分片数据集合进行第一共识操作,以将分片数据集合持久化到子链的储存节点中和得到哈希值集合,需要说明的是,分片数据集合经过子链的第一共识操作后,分片数据集合中的每个分片数据都会生成唯一对应的哈希值。
具体地,步骤S20还包括:
步骤e,通过所述子链将所述分片数据集合打包成第一交易集合,并通过所述子链中的议长节点将所述第一交易集合打包成第一区块集合;
在该步骤中,数据处理设备通过子链将分片数据集合中的每个分片集合转换为对应的交易,并将所有交易打包成第一交易集合,并通过子链中的议长节点将第一交易集合中的每个交易装换成对应的区块,并将所有的区块打包成第一区块集合;需要说明的是,子链中的议长节点是在议员节点中选举出来的,每个议员节点根据预设选举规则轮流作为议长节点,第一共识操作的每一轮对第一区块集合中的一个区块进行共识,当编号最大的议员节点作为议长节点进行一轮第一共识操作后,下一轮将由编号最小的议员节点作为议长节点,一直重复到将第一区块集合中所有区块都完成共识为止。
步骤f,通过所述子链中的所述议长节点、议员节点和共识节点对所述第一区块集合进行所述第一共识操作,以将所述第一区块集合中的所述分片数据集合持久化到所述子链的所述储存节点中和得到所述哈希值集合。
在该步骤中,数据处理设备通过子链中的议长节将生成的第一区块集合中的每个区块,按照区块排列顺序,将排列在第一位的区块进行封装并签名,并发送到所有的议员节点中,议员节点接收到带有封装和签名的区块后,验证区块中的签名和交易是否正确,当区块中的签名和交易都正确时,所有的议员节点将区块进行封装并签名,并发送到所有的第一共识节点中,第一共识节点检测接收议员节点发送的区块是否超时,若不超时,则对议员节点发送的所有区块进行校验,若校验得到所有的区块中的对应的交易数大于预设个数,则对所有的区块进行封装并签名,并将封装后的区块发送到所有的第二共识节点中,第二共识节点检测接收第一共识节点发送的区块是否超时,若不超时,则对议员节点发送的所有区块进行校验,若校验得到所有的区块中的对应的交易数大于预设个数,则将对应的区块中的交易中对应的分片数据持久化到子链的储存节点中和得到对应的哈希值,将第一区块集合的所有区块都进行共识操作后,所有的分片数据都储存到子链的储存节点,得到的所有的分片数据对应的哈希值,组合成哈希值集合。需要说明的是,议员节点校验议长节点发送的区块中的签名和交易不正确时,以及第一共识节点接收议员节点发送的区块超时,以及第二共识节点接收第二共识节点发送的区块超时,都需要对议长节点进行更换,由新的议长节点重新产生区块;预设个数的计算公式为:f=n–ceil(n/3),其中,f为预设个数,n为子链中所有共识节点的总数,Ceil用于计算大于或者等于指定表达式的最小整数。
步骤S30,接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
在本实施例中,数据处理设备通过网关接收子链发送的哈希值集合,并将哈希值集合发送到主链,并通过主链对哈希值集合进行第二共识操作,以将哈希值集合持久化到主链的储存节点中;需要说明的是,子链储存的是分片数据的具体内容,主链储存的是每个分片数据对应的哈希值,这样可以充分利用主链下的子链的储存容量,进而减轻主链的储存数据的压力。
具体地,步骤S30还包括:
步骤g,接收所述子链发送的所述哈希值集合,并将所述哈希值集合打包成第二交易集合,将所述第二交易集合发送到所述主链。
在该步骤中,数据处理设备通过网关接收子链发送的哈希值集合,将哈希值集合中的每个哈希值转换成交易,并将所有交易组合成第二交易集合,将第二交易集合发送到主链上。
步骤h,通过所述主链中的议长节点将所述第二交易集合打包成第二区块集合;
在该步骤中,数据处理设备通过主链中的议长节点将所述第二交易集合中的每个交易转换成区块,并将所有的区块打包成第二区块集合。需要说明的是,主链中的议长节点的选举规则与子链中议长节点的选举规则相同,在此便不做详细说明。
步骤i,通过所述主链中的所述议长节点、议员节点和共识节点对所述第二区块集合进行所述第二共识操作,以将所述第二区块集合中的所述哈希值集合持久化到所述主链的储存节点中。
在该步骤中,数据处理设备通过议长节点将生成的第二区块集合中的每个区块,按照区块排列顺序,将排列在第一位的区块进行封装并签名,并发送到所有的议员节点中,议员节点接收到带有封装和签名的区块后,验证区块中的签名和交易是否正确,当区块中的签名和交易都正确时,所有的议员节点将区块进行封装并签名,并发送到所有的第一共识节点中,第一共识节点检测接收议员节点发送的区块是否超时,若不超时,则对议员节点发送的所有区块进行校验,若校验得到所有的区块中的对应的交易数大于预设个数,则对所有的区块进行封装并签名,并将封装后的区块发送到所有的第二共识节点中,第二共识节点检测接收第一共识节点发送的区块是否超时,若不超时,则对议员节点发送的所有区块进行校验,若校验得到所有的区块中的对应的交易数大于预设个数,则将对应的区块中的交易中对应的哈希值持久化到主链的储存节点中,将第二区块集合的所有区块都进行共识操作后,所有的哈希值都储存到主链的储存节点。需要说明的是,议员节点校验议长节点发送的区块中的签名和交易不正确时,以及第一共识节点接收议员节点发送的区块超时,以及第二共识节点接收第二共识节点发送的区块超时,都需要对议长节点进行更换,由新的议长节点重新产生区块;预设个数的计算公式为:f=n–ceil(n/3),其中,f为预设个数,n为所有主链中所有的共识节点的总数,Ceil用于计算大于或者等于指定表达式的最小整数。
本实施例的数据处理设备中的网关接收到客户端发送的分片数据集合后,通过网关对分片数据集合进行验证操作,并将通过验证操作的分片数据集合发送到子链;数据处理设备通过子链对进行打包,得到第一区块数据,并对第一区块数据进行第一共识操作,以将分片数据集合持久化到子链的储存节点中和得到哈希值集合,再将哈希值集合发送到网关;数据处理设备通过网关接收到哈希值集合后,将哈希值集合打包成第二区块数据,并将第二区块数据发送到主链,再通过主链对第二区块数据进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。本发明通过将大容量数据进行分片操作,得到分片数据,并通过第一共识操作和第二共识操作,将大容量数据对应的每个分片数据储存在子链中,将每个分片数据对应的每个哈希值储存在主链中,使得主链不需要直接处理大容量数据,只需要处理小容量的哈希值,进而不会使得大容量数据影响主链的性能,进而提高区块链处理大容量数据的效率。
进一步地,基于本发明数据处理方法第一实施例,提出本发明数据处理方法第二实施例。
数据处理方法的第二实施例与数据处理方法的第一实施例的区别在于,步骤S30之后还包括:
步骤j,将所述哈希值集合中的哈希值与所述分片数据集合中对应的分片数据进行关联操作,以使所述客户端可通过所述主链中的哈希值查询到所述子链中对应的分片数据。
本实施例中,数据处理设备将分片数据集合和哈希值集合分别储存到子链和主链中后,通过网关将哈希值集合中的哈希值与分片数据集合中对应的分片数据进行关联操作,每一个哈希值对应一个分片数据,最终形成分片数据的索引表,相关用户可以通过客户端查询网关暴露的接口,进而得到主链上储存的哈希值对应的分片数据具体内容,再把分片数据按照分片顺序重新组合,还原成原来的数据格式,从而实现对区块链上的大容量数据的查询。
本实施例的数据处理设备通过网关将哈希值集合中的哈希值与分片数据集合中对应的分片数据进行关联操作,以使客户端可通过主链中的哈希值查询到子链中对应的分片数据,进而提高数据查询的效率,有助于扩大区块链技术的应用场景。
本发明还提供一种数据处理装置。本发明数据处理装置包括:
验证模块,用于接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链;
第一共识模块,用于通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合;
第二共识模块,用于接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
优选地,所述验证模块还包括分片模块,所述分片模块用于:
在接收到目标数据时,获取所述目标数据的容量,并将所述目标数据的容量与预设容量阈值进行对比,得到对比结果;
若所述对比结果为所述目标数据的容量大于所述预设容量阈值,则根据预设分片容量,通过所述客户端将所述目标数据进行分片操作,以得到所述分片数据集合。
优选地,所述验证模块还用于:
验证所述分片数据集合中是否存在相同的分片数据和所述分片数据集合格式是否正确,并得到验证结果;
若所述验证结果为所述分片数据集合中不存在相同的分片数据和所述分片数据集合格式正确,则执行步骤:将通过所述验证操作的所述分片数据集合发送到所述子链。
优选地,所述第一共识模块还用于:
通过所述子链将所述分片数据集合打包成第一交易集合,并通过所述子链中的议长节点将所述第一交易集合打包成第一区块集合;
通过所述子链中的所述议长节点、议员节点和共识节点对所述第一区块集合进行所述第一共识操作,以将所述第一区块集合中的所述分片数据集合持久化到所述子链的所述储存节点中和得到所述哈希值集合。
优选地,所述第二共识模块还包括打包模块,所述打包模块用于:
接收所述子链发送的所述哈希值集合,并将所述哈希值集合打包成第二交易集合,将所述第二交易集合发送到所述主链。
优选地,所述第二共识模块还用于:
通过所述主链中的议长节点将所述第二交易集合打包成第二区块集合;
通过所述主链中的所述议长节点、议员节点和共识节点对所述第二区块集合进行所述第二共识操作,以将所述第二区块集合中的所述哈希值集合持久化到所述主链的储存节点中。
优选地,所述第二共识模块还包括关联模块,所述关联模块用于:
将所述哈希值集合中的哈希值与所述分片数据集合中对应的分片数据进行关联操作,以使所述客户端可通过所述主链中的哈希值查询到所述子链中对应的分片数据。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
其中,在所述处理器上运行的数据处理程序被执行时所实现的方法可参照本发明数据处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据处理方法,其特征在于,所述数据处理方法包括如下步骤:
接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链;
通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合;
接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
2.如权利要求1所述的数据处理方法,其特征在于,所述接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链的步骤之前,所述数据处理方法还包括:
在接收到目标数据时,获取所述目标数据的容量,并将所述目标数据的容量与预设容量阈值进行对比,得到对比结果;
若所述对比结果为所述目标数据的容量大于所述预设容量阈值,则根据预设分片容量,通过所述客户端将所述目标数据进行分片操作,以得到所述分片数据集合。
3.如权利要求1所述的数据处理方法,其特征在于,所述对所述分片数据进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链的步骤包括:
验证所述分片数据集合中是否存在相同的分片数据和所述分片数据集合格式是否正确,并得到验证结果;
若所述验证结果为所述分片数据集合中不存在相同的分片数据和所述分片数据集合格式正确,则执行步骤:将通过所述验证操作的所述分片数据集合发送到所述子链。
4.如权利要求1所述的数据处理方法,其特征在于,所述通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合的步骤包括:
通过所述子链将所述分片数据集合打包成第一交易集合,并通过所述子链中的议长节点将所述第一交易集合打包成第一区块集合;
通过所述子链中的所述议长节点、议员节点和共识节点对所述第一区块集合进行所述第一共识操作,以将所述第一区块集合中的所述分片数据集合持久化到所述子链的所述储存节点中和得到所述哈希值集合。
5.如权利要求1中所述的数据处理方法,其特征在于,所述接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链的步骤包括:
接收所述子链发送的所述哈希值集合,并将所述哈希值集合打包成第二交易集合,将所述第二交易集合发送到所述主链。
6.如权利要求5所述的数据处理方法,其特征在于,所述通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中的步骤包括:
通过所述主链中的议长节点将所述第二交易集合打包成第二区块集合;
通过所述主链中的所述议长节点、议员节点和共识节点对所述第二区块集合进行所述第二共识操作,以将所述第二区块集合中的所述哈希值集合持久化到所述主链的储存节点中。
7.如权利要求1所述的数据处理方法,其特征在于,所述接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中的步骤之后,所述数据处理方法还包括:
将所述哈希值集合中的哈希值与所述分片数据集合中对应的分片数据进行关联操作,以使所述客户端可通过所述主链中的哈希值查询到所述子链中对应的分片数据。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:
验证模块,用于接收客户端发送的分片数据集合,对所述分片数据集合进行验证操作,并将通过所述验证操作的所述分片数据集合发送到子链;
第一共识模块,用于通过所述子链对所述分片数据集合进行第一共识操作,以将所述分片数据集合持久化到所述子链的储存节点中和得到哈希值集合;
第二共识模块,用于接收所述子链发送的所述哈希值集合,并将所述哈希值集合发送到主链,并通过所述主链对所述哈希值集合进行第二共识操作,以将所述哈希值集合持久化到所述主链的储存节点中。
9.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
CN202110771561.1A 2021-07-07 2021-07-07 数据处理方法、装置、设备与计算机可读存储介质 Pending CN113609215A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110771561.1A CN113609215A (zh) 2021-07-07 2021-07-07 数据处理方法、装置、设备与计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110771561.1A CN113609215A (zh) 2021-07-07 2021-07-07 数据处理方法、装置、设备与计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN113609215A true CN113609215A (zh) 2021-11-05

Family

ID=78304188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110771561.1A Pending CN113609215A (zh) 2021-07-07 2021-07-07 数据处理方法、装置、设备与计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113609215A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760632A (zh) * 2023-08-10 2023-09-15 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760632A (zh) * 2023-08-10 2023-09-15 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及可读存储介质
CN116760632B (zh) * 2023-08-10 2023-11-03 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN109660356B (zh) 数据上链方法、装置、设备及计算机可读存储介质
CN107911222B (zh) 数字签名生成、验证方法及其设备和存储介质
CN107797854B (zh) 交易文件处理方法、装置、存储介质和计算机设备
CN113055188B (zh) 一种数据处理方法、装置、设备及存储介质
CN105389177A (zh) 一种软件版本确认方法、装置及系统
CN109922049B (zh) 基于区块链的验证装置及方法
CN111242784A (zh) 区块预打包方法、区块节点、装置及存储介质
CN111290998A (zh) 迁移数据的校对方法、装置、设备及存储介质
CN112286565B (zh) 一种基于存储容器的嵌入式系统差分升级方法
CN111796853A (zh) 固件升级方法、系统、设备及计算机存储介质
CN113391845A (zh) 一种数据交互方法、装置及相关组件
CN113609215A (zh) 数据处理方法、装置、设备与计算机可读存储介质
CN115964684A (zh) 检测电子档案元数据真实性的方法、系统、设备及介质
CN109033818B (zh) 终端、验证方法和计算机可读存储介质
CN114553429A (zh) 基于变色龙哈希的区块链跨链交易方法及装置、存储介质
CN111176685A (zh) 一种升级方法及装置
CN113535226B (zh) 应用下载方法、终端、服务器、计算机设备以及存储介质
CN112132574A (zh) 区块链数据校验方法、数据处理方法、装置及设备
CN108196975B (zh) 基于多校验和的数据验证方法、装置及存储介质
CN113706131B (zh) 一种基于加密卡的区块链交易方法、装置和设备
CN115801279A (zh) 文件安全传输方法及装置
CN114968822A (zh) 接口测试方法、装置、计算机设备及存储介质
CN106326310B (zh) 一种手机客户端软件的资源加密更新方法
CN114710297A (zh) 基于聚合签名的区块链存证方法、装置、设备及存储介质
CN114371863A (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