CN114579582A - 一种基于区块链的资源处理方法和装置 - Google Patents
一种基于区块链的资源处理方法和装置 Download PDFInfo
- Publication number
- CN114579582A CN114579582A CN202210479511.0A CN202210479511A CN114579582A CN 114579582 A CN114579582 A CN 114579582A CN 202210479511 A CN202210479511 A CN 202210479511A CN 114579582 A CN114579582 A CN 114579582A
- Authority
- CN
- China
- Prior art keywords
- block chain
- node
- judicial evidence
- target
- value pair
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000004422 calculation algorithm Methods 0.000 claims description 51
- 230000011218 segmentation Effects 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 6
- 238000010187 selection method Methods 0.000 claims description 4
- 238000001308 synthesis method Methods 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 15
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000012550 audit Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000003999 initiator Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/2246—Trees, e.g. B+trees
-
- 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/2453—Query optimisation
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Human Resources & Organizations (AREA)
- Computational Linguistics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于区块链的资源处理方法和装置,包括:通过生成虚拟节点,并将司法证据分割成多个司法证据分块存储在不同的目标区块链节点中,使每个区块链节点只需要保存对应的键值对,从而在后续的过程中只需要根据用户查询的索引就可以得到对应的目标区块链节点,实现司法证据的获取。本发明的有益效果:实现了将司法证据的分块存储,不需要占据单个区块链节点的大量存储空间,节约了存储资源。
Description
技术领域
本发明涉及区块链领域,特别涉及一种基于区块链的资源处理方法和装置。
背景技术
目前,信息化技术飞速发展,在司法程序中为了保存各种卷宗,积累了大量的司法证据数据,传统的中心化管理模式会导致主节点负荷比较严重。区块链技术具有去中心化,防篡改等特性,其可以很好的对司法证据进行存储,然而现有的技术中是在每个区块链节点都存储所有的司法证据,这对于单个区块链节点而言,需要大量的存储空间,同时也是存储资源的一种浪费。
发明内容
本发明的主要目的为提供一种基于区块链的资源处理方法、装置以及计算机设备,旨在解决同过区块链存储司法证据需要大量的存储空间的问题。
本发明提供了一种基于区块链的资源处理方法,所述区块链包括多个区块链节点,当所述区块链节点上传司法证据至所述区块链中,所述区块链生成虚拟节点,所述资源处理方法应用于所述区块链,所述资源处理方法包括:
基于待处理的司法证据生成虚拟节点;
在所述虚拟节点中通过数据分割方法对所述司法证据进行分割,得到多个司法证据分块;
通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表;
根据所述司法证据分块的数量选取对应数量且ID连续的多个目标区块链节点,其中,所述目标区块链节点为所述多个区块链节点中的一个区块链节点,司法证据分块对应的区块链节点的ID列表存储在所述虚拟节点中;
将司法证据分块与所述目标区块链节点一一对应,并将所述司法证据分块存储至对应的目标区块链节点中;
将每个所述司法证据分块的第一哈希值与对应目标区块链节点的ID组成键值对,从而得到键值对列表;
获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到目标键值对列表,并将所述目标键值对列表;
将所述目标键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根;其中,所述目标默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的目标区块链节点,以获取所述司法证据。
在一个实施例中,所述在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根的步骤之后,还包括:
查询区块链节点接收用户查询所述司法证据的检索数据;其中,查询区块链节点为所述区块链中任意一个区块链节点;
在所述查询区块链节点中根据所述检索数据通过预设的算法与对应的所述目标默克尔树根进行对比计算,得到对应的键值对和对应的所述司法证据分块得到对应的所述虚拟节点的ID,从而得到所述ID列表;
查找所述键值对对应的第一目标区块链节点,并向所述第一目标区块链节点发起数据获取请求;
基于所述第一目标区块链节点以及对应的ID列表,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令;
所述查询区块链节点接收所述ID列表所对应目标区块链节点传输的司法证据分块;
将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据。
在一个实施例中,所述基于待处理的司法证据生成虚拟节点的步骤之前,还包括:
根据预设的选取方法在所述区块链节点中选取多个审核节点;
基于第三预设哈希算法对所述司法证据进行计算,得到第二哈希值,将所述第二哈希值保存在每个所述审核节点中。
在一个实施例中,所述将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据的步骤之后,还包括:
基于所述第三预设哈希算法对得到的司法证据进行计算,得到第三哈希值;
将所述第三哈希值发送给每个审核节点,所述审核节点基于所述第二哈希值对所述第三哈希值进行审核,并将审核结果发送给所述查询区块链节点。
在一个实施例中,所述基于待处理的司法证据生成虚拟节点的步骤之前,还包括:
利用Go语言创建区块链类,并赋予所述区块链类指定参数,从而获得创世区块,并在所述创世区块中将前一区块链节点的哈希值设为0;
基于所述创世区块,生成所述区块链节点,其中所述区块链节点记载有前一区块链节点的哈希值;
以预设终端作为所述区块链的所述区块链节点,从而搭建所述区块链。
在一个实施例中,所述通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表的步骤之后,还包括:
获取与所述目标区块链节点都不同且与所述目标区块链节点数量相同的ID连续的多个备份区块链节点;其中,所述备份区块链节点为所述区块链节点中的一个节点;
将司法证据分块与所述备份区块链节点一一对应,并将所述司法证据分块存储至对应的备份区块链节点中;
将每个所述司法证据分块的第一哈希值与对应备份区块链节点得到ID组成键值对,从而得到键值对列表;
获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到备份键值对列表,并将所述备份键值对列表;
将所述备份键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到备份默克尔树根;其中,所述备份默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的备份区块链节点,以获取所述司法证据。
本发明还提供了一种基于区块链的资源处理装置,所述区块链包括多个区块链节点,当所述区块链节点上传司法证据至所述区块链中,所述区块链生成虚拟节点,所述资源处理装置包括:
第一生成模块,用于基于待处理的司法证据生成虚拟节点;
分割模块,用于在所述虚拟节点中通过数据分割方法对所述司法证据进行分割,得到多个司法证据分块;
第一计算模块,用于通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表;
第一选取模块,用于根据所述司法证据分块的数量选取对应数量且ID连续的多个目标区块链节点,其中,所述目标区块链节点为所述多个区块链节点中的一个区块链节点,司法证据分块对应的区块链节点的ID列表存储在所述虚拟节点中;
存储模块,用于将司法证据分块与所述目标区块链节点一一对应,并将所述司法证据分块存储至对应的目标区块链节点中;
第一键值对模块,用于将每个所述司法证据分块的第一哈希值与对应目标区块链节点的ID组成键值对,从而得到键值对列表;
第一获取模块,用于获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到目标键值对列表,并将所述目标键值对列表;
第一分布存储模块,用于将所述目标键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
第一更新模块,用于在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根;其中,所述目标默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的目标区块链节点,以获取所述司法证据。
在一实施例中,所述资源处理装置,还包括:
查询模块,用于查询区块链节点接收用户查询所述司法证据的检索数据;其中,查询区块链节点为所述区块链中任意一个区块链节点;
第二计算模块,用于在所述查询区块链节点中根据所述检索数据通过预设的算法与对应的所述目标默克尔树根进行对比计算,得到对应的键值对和对应的所述司法证据分块得到对应的所述虚拟节点的ID,从而得到所述ID列表;
查找模块,用于查找所述键值对对应的第一目标区块链节点,并向所述第一目标区块链节点发起数据获取请求;
第一发送模块,用于基于所述第一目标区块链节点以及对应的ID列表,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令;
传输模块,用于所述查询区块链节点接收所述ID列表所对应目标区块链节点传输的司法证据分块;
综合模块,用于将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据。
在一实施例中,所述资源处理装置,还包括:
第二选取模块,用于根据预设的投票方法在所述区块链节点中选取多个审核节点;
第三计算模块,用于基于第三预设哈希算法对所述司法证据进行计算,得到第二哈希值,将所述第二哈希值保存在每个所述审核节点中。
在一实施例中,所述资源处理装置还包括:
第四计算模块,用于基于所述第三预设哈希算法对得到的司法证据进行计算,得到第三哈希值;
第二发送模块,用于将所述第三哈希值发送给每个审核节点,所述审核节点基于所述第二哈希值对所述第三哈希值进行审核,并将审核结果发送给所述查询区块链节点。
在一实施例中,所述资源处理装置还包括:
赋予模块,用于利用Go语言创建区块链类,并赋予所述区块链类指定参数,从而获得创世区块,并在所述创世区块中将前一区块的哈希值设为0;
第二生成模块,用于基于所述创世区块,生成所述区块链节点,其中所述区块链节点记载有前一区块的哈希值;
搭建模块,用于以预设终端作为所述区块链的所述区块链节点,从而搭建所述区块链。
在一实施例中,所述资源处理装置还包括:
第二获取模块,用于获取与所述目标区块链节点都不同且与所述目标区块链节点数量相同的ID连续的多个备份区块链节点;其中,所述备份区块链节点为所述区块链节点中的一个节点;
对应模块,用于将司法证据分块与所述备份区块链节点一一对应,并将所述司法证据分块存储至对应的备份区块链节点中;
第二键值对模块,用于将每个所述司法证据分块的第一哈希值与对应备份区块链节点的ID组成键值对,从而得到键值对列表;
第三获取模块,用于获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到备份键值对列表,并将所述备份键值对列表;
第二分布存储模块,用于将所述备份键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
第二更新模块,用于在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到备份默克尔树根;其中,所述备份默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的备份区块链节点,以获取所述司法证据。
本发明的有益效果:通过生成虚拟节点,并将司法证据分割成多个司法证据分块存储在不同的目标区块链节点中,使每个区块链节点只需要保存对应的键值对,从而在后续的过程中只需要根据用户查询的索引就可以得到对应的目标区块链节点,实现司法证据的获取。从而实现了将司法证据的分块存储,不需要占据单个区块链节点的大量存储空间,节约了存储资源。
附图说明
图1 是本发明一实施例的一种基于区块链的资源处理方法的流程示意图;
图2 是本发明一实施例的一种基于区块链的资源处理装置的结构示意框图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,本发明提出一种基于区块链的资源处理方法,所述区块链包括多个区块链节点,当所述区块链节点上传司法证据至所述区块链中,所述区块链生成虚拟节点,所述资源处理方法应用于所述区块链,所述资源处理方法包括:
S1:基于待处理的司法证据生成虚拟节点;
S2:在所述虚拟节点中通过数据分割方法对所述司法证据进行分割,得到多个司法证据分块;
S3:通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表;
S4:根据所述司法证据分块的数量选取对应数量且ID连续的多个目标区块链节点,其中,所述目标区块链节点为所述多个区块链节点中的一个区块链节点,司法证据分块对应的区块链节点的ID列表存储在所述虚拟节点中;
S5:将司法证据分块与所述目标区块链节点一一对应,并将所述司法证据分块存储至对应的目标区块链节点中;
S6:将每个所述司法证据分块的第一哈希值与对应目标区块链节点的ID组成键值对,从而得到键值对列表;
S7:获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到目标键值对列表,并将所述目标键值对列表;
S8:将所述目标键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
S9:在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根;其中,所述目标默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的目标区块链节点,以获取所述司法证据。
如上述步骤S1-S2所述,基于待处理的司法证据生成虚拟节点,在所述虚拟节点中通过数据分割方法对所述司法证据进行分割,得到多个司法证据分块。其中,生成虚拟节点的方式为在接收到司法证据后直接生成一个虚拟的节点,然后以司法证据的名称或者日期等唯一标志性信息生成虚拟的节点的ID,从而得到虚拟节点,当然在一些实施例中,也可以不需要基于唯一标志性信息生成对应的ID,也可以是基于虚拟节点的生成时间来得到对应的ID,还可以是根据在区块链中生成节点的顺序生成对应的ID,本申请对此不作限定,需要说明的是,该虚拟节点的存储位置可以是占用区块链中的任意一个节点的存储位置,也可以是在服务器的存储位置进行存储。预设的数据分割方法可以是语义分割方法进行分割,例如以分页符,或者标点符号,或者以文件数量等方式进行分割,本申请对此不作限定,具体可以根据司法证据的类型,选择一种分割方式,从而得到多个司法证据分块。
如上述步骤S3-S5所述,通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表,根据所述司法证据分块的数量选取对应数量且ID连续的多个目标区块链节点,其中,所述目标区块链节点为所述多个区块链节点中的一个区块链节点,司法证据分块对应的区块链节点的ID列表存储在所述虚拟节点中,将司法证据分块与所述目标区块链节点一一对应,并将所述司法证据分块存储至对应的目标区块链节点中。其中,选取对应数量的目标区块链节点,是为了将数据分散存储,避免其中某一个目标区块链节点存储的数据过多,导致存储数量不均匀,而选取ID连续的目标区块链节点,由于ID连续的目标区块链节点可以便于数据的统计,并且在传输数据的过程中,只需要少量的变动ID即可,另外在具体的实施例中,各个区块链节点分别是各地的法院,在生成对应的区块链节点时,可以基于地理位置依次生成区块链节点,从而可以便于虚拟节点传输数据,可以提高数据的传输性能,从而将司法证据可以一一存储在不同的目标区块链节点中,可以实现每个目标区块链节点存储数据的存储量的相对均衡,其中,ID列表需要存储在虚拟节点中进行记录,以便于后续调取该司法证据时可以及时的调出。其中,第一哈希算法可以是任意的哈希算法,可以对司法证据进行加密,防止其他区块链节点可以直接获取到对应的信息即可,保证司法证据的安全性。
如上述步骤S6-S7所述,将每个所述司法证据分块的第一哈希值与对应目标区块链节点的ID组成键值对,从而得到键值对列表,获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到目标键值对列表,并将所述目标键值对列表。其中,每个第一哈希值与对应目标区块链节点组成键值对,是指每个第一哈希值与目标区块链节点进行一一对应,由于在后续的数据搜索过程中需要对应的索引,因此,此处需要将索引一并加入至对应的键值对中,其中,索引是司法证据的唯一标志性信息,例如司法证据的名称,司法证据的序号等唯一标志性信息,当然若为关键字,则在后续的检索过程中,可能会出现多条相关的信息,此时需要相关人员进行人为的选取,本申请对此不作限定。
如上述步骤S8-S9所述,将所述目标键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中,在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根;其中,所述目标默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的目标区块链节点,以获取所述司法证据。本申请中,只需要将每个键值对分布存储至区块链所有的区块链节点中,即每个区块链节点只需要保存目标键值对列表中的一个键值对,换言之,每个区块链节点只需要维护键值对这一小小的数据,无需都对司法证据进行保存,每个区块链节点将的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根,其中默克尔树根是默克尔树是一种二叉树,包含了一组节点,它们的基础信息的树根有大量的叶子节点,一组中间节点,每一个节点都是它的2个子节点的哈希,然后,最终的一个根节点,也是由它的2个子节点的哈希形成,代表着这树的“顶端”,即默克尔树根。然后将其与对应的键值对进行计算,得到对应的目标默克尔树根。后续检索过程中只需要比对目标默克尔树根就可以找到对应的键值对,以及对应得到虚拟节点ID,从而可以获取到对应的键值对列表,进而获取到存储有司法证据分块的目标区块链节点,从而实现司法证据的获取,具体的获取方式后续有详细说明,此处不再赘述。
在一个实施例中,所述在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根的步骤S9之后,还包括:
S101:查询区块链节点接收用户查询所述司法证据的检索数据;其中,查询区块链节点为所述区块链中任意一个区块链节点;
S102:在所述查询区块链节点中根据所述检索数据通过预设的算法与对应的所述目标默克尔树根进行对比计算,得到对应的键值对和对应的所述司法证据分块得到对应的所述虚拟节点的ID,从而得到所述ID列表;
S103:查找所述键值对对应的第一目标区块链节点,并向所述第一目标区块链节点发起数据获取请求;
S104:基于所述第一目标区块链节点以及对应的ID列表,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令;
S105:所述查询区块链节点接收所述ID列表所对应目标区块链节点传输的司法证据分块;
S106:将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据。
如上述步骤S101-S102所述,查询区块链节点接收用户查询所述司法证据的检索数据;其中,查询区块链节点为所述区块链中任意一个区块链节点。在所述查询区块链节点中根据所述检索数据通过预设的算法与对应的所述目标默克尔树根进行对比计算,得到对应的键值对和对应的所述司法证据分块得到对应的所述虚拟节点的ID,从而得到所述ID列表。其中,检索发起方可以是任意的区块链节点,当然,其发起方需要进行身份认定,具体的认定方式不作限定,在接收到司法证据的检索数据,该检索数据可以是关键词,也可以是司法证据的唯一标志性信息,若为关键词,且关键词还对应有多个司法证据,则可以将对应的多个司法证据的信息罗列给对应的人员,根据对应的人员选取的司法证据通过对应的算法与对应的目标默克尔树根进行对比计算,得到对应的虚拟节点ID,根据虚拟节点的ID,由于虚拟节点中存储有对应的ID列表,根据得到的键值对可以获取到对应的ID列表。
如上述步骤S103-S104所述,查找所述键值对对应的第一目标区块链节点,并向所述第一目标区块链节点发起数据获取请求,基于所述第一目标区块链节点以及对应的ID列表,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令。其中,由于获取的键值对中具有第一目标区块链节点的信息,其中,第一目标区块链节点是目标区块链节点中的一个节点,因此,可以向其发送数据获取指令,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令,当然,也可以是由查询区块链节点直接向各个目标区块链节点发起数据获取请求,还可以通过虚拟节点进行转发,本申请对此不作限定,本申请通过第一目标区块链节点进行转发,是因此,第一目标区块链节点的ID与其他区块链节点的ID接近,若区块链节点是根据地理位置进行编排的,则可以实现数据传输指令的快速传输,可以更快的获取到对应的司法证据。
如上述步骤S1005-S1006所述,所述查询区块链节点接收所述ID列表所对应目标区块链节点传输的司法证据分块,将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据。其中综合方法相对于数据分割方法,即数据分割方法是一种可逆的分割方法,其分割方法的逆向方法为综合方法,本申请对此不做限定,可以实现对数据的综合,以形成最终的司法证据即可。
在一个实施例中,所述基于待处理的司法证据生成虚拟节点的步骤S1之前,还包括:
S001:根据预设的选取方法在所述区块链节点中选取多个审核节点;
S002:基于第三预设哈希算法对所述司法证据进行计算,得到第二哈希值,将所述第二哈希值保存在每个所述审核节点中。
如上述步骤S001-S002所述,实现了对司法证据的记录,防止其他区块链节点进行更改,即选取多个审核节点,预设的选取方法可以是基于各个区块链节点的ID随机选取一些审核节点,本申请对此不作限定,还可以是基于各个区块链节点进行选取,具体的选取方式不作限定,可以选取出一部分区块链节点作为审核节点即可,改审核节点的数量不宜过多,否则容易造成数据的计算量过多,造成资源的浪费,也不宜过少,否则审核的标准过低,一般以5-20个为宜。
在一个实施例中,所述将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据的步骤S106之后,还包括:
S1071:基于所述第三预设哈希算法对得到的司法证据进行计算,得到第三哈希值;
S1072:将所述第三哈希值发送给每个审核节点,所述审核节点基于所述第二哈希值对所述第三哈希值进行审核,并将审核结果发送给所述查询区块链节点。
如上述步骤S1071-S1072所述,实现了对司法证据的验证。基于第三预设哈希算法对得到的司法证据进行计算,得到第三哈希值,其中第三哈希值,然后每个审核节点会将其与预设的第二哈希值进行比较,若第二哈希值与第三哈希值相同,则可以认为得到的司法证据是之前存储的司法证据;否则,认为得到的司法证据不是之前存储的司法证据。
在一个实施例中,所述基于待处理的司法证据生成虚拟节点的步骤S1之前,还包括:
S011:利用Go语言创建区块链类,并赋予所述区块链类指定参数,从而获得创世区块,并在所述创世区块中将前一区块链节点的哈希值设为0;
S012:基于所述创世区块,生成所述区块链节点,其中所述区块链节点记载有前一区块链节点的哈希值;
S013:以预设终端作为所述区块链的所述区块链节点,从而搭建所述区块链。
如上所述,实现了搭建所述区块链网络。其中创建区块链类的语言可以为任意可行语言,例如JAVA、C++、Go语言等,本实施方式优选C++、Go语言,从而优化区块链类。其中区块链类(class)是对区块链的定义,将所述区块链类实例化即是确定区块链的具体参数,从而获得第一个区块(创世区块),从而作为其他区块的生成依据。由于创世区块是第一个区块链节点,实际上没有之前的区块链节点,因此在创世区块中将前一区块链节点的哈希值设置为0。并基于所述创世区块,生成其他区块,其中所述其他区块记载有前一区块链节点的哈希值,从而所有区块紧密相连,防止数据被篡改。所述第二区块链网络的预设共识机制可为任意共识机制,例如为工作量证明机制、权益证明机制、拜占庭容错机制、股份授权证明机制等,本实施方式优选股份授权证明机制。
在一个实施例中,所述通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表的步骤S3之后,还包括:
S401:获取与所述目标区块链节点都不同且与所述目标区块链节点数量相同的ID连续的多个备份区块链节点;其中,所述备份区块链节点为所述区块链节点中的一个节点;
S402:将司法证据分块与所述备份区块链节点一一对应,并将所述司法证据分块存储至对应的备份区块链节点中;
S403:将每个所述司法证据分块的第一哈希值与对应备份区块链节点得到ID组成键值对,从而得到键值对列表;
S404:获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到备份键值对列表,并将所述备份键值对列表;
S405:将所述备份键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
S406:在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到备份默克尔树根;其中,所述备份默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的备份区块链节点,以获取所述司法证据。
如上述步骤S401-S406所述,实现了对司法证据的备份,若从对应的目标区块链节点获取不到对应的司法证据区块时,可以从何对应的备份区块链节点获取,从而实现了对司法证据的备份,其中,司法证据的备份具体为将每个所述司法证据分块的第一哈希值与对应备份区块链节点的ID组成键值对,从而得到键值对列表,获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到备份键值对列表,并将所述备份键值对列表。其中,每个第一哈希值与对应备份区块链节点组成键值对,是指每个第一哈希值与备份区块链节点进行一一对应,由于在后续的数据搜索过程中需要对应的索引,因此,此处需要将索引一并加入至对应的键值对中,其中,索引是司法证据的唯一标志性信息,例如司法证据的名称,司法证据的序号等唯一标志性信息,当然若为关键字,则在后续的检索过程中,可能会出现多条相关的信息,此时需要相关人员进行人为的选取,本申请对此不作限定。将所述备份键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中,在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到备份默克尔树根;其中,所述备份默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的备份区块链节点,以获取所述司法证据。本申请中,只需要将每个键值对分布存储至区块链所有的区块链节点中,即每个区块链节点只需要保存备份键值对列表中的一个键值对,换言之,每个区块链节点只需要维护键值对这一小小的数据,无需都对司法证据进行保存,每个区块链节点将的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到备份默克尔树根,其中默克尔树根是默克尔树是一种二叉树,包含了一组节点,它们的基础信息的树根有大量的叶子节点,一组中间节点,每一个节点都是它的2个子节点的哈希,然后,最终的一个根节点,也是由它的2个子节点的哈希形成,代表着这树的“顶端”,即默克尔树根。然后将其与对应的键值对进行计算,得到对应的备份默克尔树根。后续检索过程中只需要比对备份默克尔树根就可以找到对应的键值对,以及对应得到虚拟节点ID,从而可以获取到对应的键值对列表,进而获取到存储有司法证据分块的备份区块链节点。
本发明的有益效果:通过生成虚拟节点,并将司法证据分割成多个司法证据分块存储在不同的目标区块链节点中,使每个区块链节点只需要保存对应的键值对,从而在后续的过程中只需要根据用户查询的索引就可以得到对应的目标区块链节点,实现司法证据的获取。从而实现了将司法证据的分块存储,不需要占据单个区块链节点的大量存储空间,节约了存储资源。
参见图2,本申请一实施例提供了一种基于区块链的资源处理装置,所述区块链包括多个区块链节点,当所述区块链节点上传司法证据至所述区块链中,所述区块链生成虚拟节点,所述资源处理装置包括:
第一生成模块10,用于基于待处理的司法证据生成虚拟节点;
分割模块20,用于在所述虚拟节点中通过数据分割方法对所述司法证据进行分割,得到多个司法证据分块;
第一计算模块30,用于通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表;
第一选取模块40,用于根据所述司法证据分块的数量选取对应数量且ID连续的多个目标区块链节点,其中,所述目标区块链节点为所述多个区块链节点中的一个区块链节点,司法证据分块对应的区块链节点的ID列表存储在所述虚拟节点中;
存储模块50,用于将司法证据分块与所述目标区块链节点一一对应,并将所述司法证据分块存储至对应的目标区块链节点中;
第一键值对模块60,用于将每个所述司法证据分块的第一哈希值与对应目标区块链节点的ID组成键值对,从而得到键值对列表;
第一获取模块70,用于获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到目标键值对列表,并将所述目标键值对列表;
第一分布存储模块80,用于将所述目标键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
第一更新模块90,用于在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根;其中,所述目标默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的目标区块链节点,以获取所述司法证据。
在一实施例中,所述资源处理装置,还包括:
查询模块,用于查询区块链节点接收用户查询所述司法证据的检索数据;其中,查询区块链节点为所述区块链中任意一个区块链节点;
第二计算模块,用于在所述查询区块链节点中根据所述检索数据通过预设的算法与对应的所述目标默克尔树根进行对比计算,得到对应的键值对和对应的所述司法证据分块得到对应的所述虚拟节点的ID,从而得到所述ID列表;
查找模块,用于查找所述键值对对应的第一目标区块链节点,并向所述第一目标区块链节点发起数据获取请求;
第一发送模块,用于基于所述第一目标区块链节点以及对应的ID列表,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令;
传输模块,用于所述查询区块链节点接收所述ID列表所对应目标区块链节点传输的司法证据分块;
综合模块,用于将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据。
在一实施例中,所述资源处理装置,还包括:
第二选取模块,用于根据预设的投票方法在所述区块链节点中选取多个审核节点;
第三计算模块,用于基于第三预设哈希算法对所述司法证据进行计算,得到第二哈希值,将所述第二哈希值保存在每个所述审核节点中。
在一实施例中,所述资源处理装置还包括:
第四计算模块,用于基于所述第三预设哈希算法对得到的司法证据进行计算,得到第三哈希值;
第二发送模块,用于将所述第三哈希值发送给每个审核节点,所述审核节点基于所述第二哈希值对所述第三哈希值进行审核,并将审核结果发送给所述查询区块链节点。
在一实施例中,所述资源处理装置还包括:
赋予模块,用于利用Go语言创建区块链类,并赋予所述区块链类指定参数,从而获得创世区块,并在所述创世区块中将前一区块的哈希值设为0;
第二生成模块,用于基于所述创世区块,生成所述区块链节点,其中所述区块链节点记载有前一区块的哈希值;
搭建模块,用于以预设终端作为所述区块链的所述区块链节点,从而搭建所述区块链。
在一实施例中,所述资源处理装置还包括:
第二获取模块,用于获取与所述目标区块链节点都不同且与所述目标区块链节点数量相同的ID连续的多个备份区块链节点;其中,所述备份区块链节点为所述区块链节点中的一个节点;
对应模块,用于将司法证据分块与所述备份区块链节点一一对应,并将所述司法证据分块存储至对应的备份区块链节点中;
第二键值对模块,用于将每个所述司法证据分块的第一哈希值与对应备份区块链节点的ID组成键值对,从而得到键值对列表;
第三获取模块,用于获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到备份键值对列表,并将所述备份键值对列表;
第二分布存储模块,用于将所述备份键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
第二更新模块,用于在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到备份默克尔树根;其中,所述备份默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的备份区块链节点,以获取所述司法证据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM一多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (8)
1.一种基于区块链的资源处理方法,其特征在于,所述区块链包括多个区块链节点,当所述区块链节点上传司法证据至所述区块链中,所述区块链生成虚拟节点,所述资源处理方法应用于所述区块链,所述资源处理方法包括:
基于待处理的司法证据生成虚拟节点;
在所述虚拟节点中通过数据分割方法对所述司法证据进行分割,得到多个司法证据分块;
通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表;
根据所述司法证据分块的数量选取对应数量且ID连续的多个目标区块链节点,其中,所述目标区块链节点为所述多个区块链节点中的一个区块链节点,司法证据分块对应的区块链节点的ID列表存储在所述虚拟节点中;
将司法证据分块与所述目标区块链节点一一对应,并将所述司法证据分块存储至对应的目标区块链节点中;
将每个所述司法证据分块的第一哈希值与对应目标区块链节点的ID组成键值对,从而得到键值对列表;
获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到目标键值对列表,并将所述目标键值对列表;
将所述目标键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根;其中,所述目标默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的目标区块链节点,以获取所述司法证据。
2.如权利要求1所述的基于区块链的资源处理方法,其特征在于,所述在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根的步骤之后,还包括:
查询区块链节点接收用户查询所述司法证据的检索数据;其中,查询区块链节点为所述区块链中任意一个区块链节点;
在所述查询区块链节点中根据所述检索数据通过预设的算法与对应的所述目标默克尔树根进行对比计算,得到对应的键值对和对应的所述司法证据分块得到对应的所述虚拟节点的ID,从而得到所述ID列表;
查找所述键值对对应的第一目标区块链节点,并向所述第一目标区块链节点发起数据获取请求;
基于所述第一目标区块链节点以及对应的ID列表,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令;
所述查询区块链节点接收所述ID列表所对应目标区块链节点传输的司法证据分块;
将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据。
3.如权利要求2所述的基于区块链的资源处理方法,其特征在于,所述基于待处理的司法证据生成虚拟节点的步骤之前,还包括:
根据预设的选取方法在所述区块链节点中选取多个审核节点;
基于第三预设哈希算法对所述司法证据进行计算,得到第二哈希值,将所述第二哈希值保存在每个所述审核节点中。
4.如权利要求3所述的基于区块链的资源处理方法,其特征在于,所述将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据的步骤之后,还包括:
基于所述第三预设哈希算法对得到的司法证据进行计算,得到第三哈希值;
将所述第三哈希值发送给每个审核节点,所述审核节点基于所述第二哈希值对所述第三哈希值进行审核,并将审核结果发送给所述查询区块链节点。
5.如权利要求1所述的基于区块链的资源处理方法,其特征在于,所述基于待处理的司法证据生成虚拟节点的步骤之前,还包括:
利用Go语言创建区块链类,并赋予所述区块链类指定参数,从而获得创世区块,并在所述创世区块中将前一区块链节点的哈希值设为0;
基于所述创世区块,生成所述区块链节点,其中所述区块链节点记载有前一区块链节点的哈希值;
以预设终端作为所述区块链的所述区块链节点,从而搭建所述区块链。
6.如权利要求1所述的基于区块链的资源处理方法,其特征在于,所述通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表的步骤之后,还包括:
获取与所述目标区块链节点都不同且与所述目标区块链节点数量相同的ID连续的多个备份区块链节点;其中,所述备份区块链节点为所述区块链节点中的一个节点;
将司法证据分块与所述备份区块链节点一一对应,并将所述司法证据分块存储至对应的备份区块链节点中;
将每个所述司法证据分块的第一哈希值与对应备份区块链节点得到ID组成键值对,从而得到键值对列表;
获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到备份键值对列表,并将所述备份键值对列表;
将所述备份键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到备份默克尔树根;其中,所述备份默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的备份区块链节点,以获取所述司法证据。
7.一种基于区块链的资源处理装置,其特征在于,所述区块链包括多个区块链节点,当所述区块链节点上传司法证据至所述区块链中,所述区块链生成虚拟节点,所述资源处理装置包括:
第一生成模块,用于基于待处理的司法证据生成虚拟节点;
分割模块,用于在所述虚拟节点中通过数据分割方法对所述司法证据进行分割,得到多个司法证据分块;
第一计算模块,用于通过第一预设哈希算法对每个所述司法证据分块进行哈希计算,得到每个所述司法证据分块的第一哈希值,从而得到第一哈希列表;
第一选取模块,用于根据所述司法证据分块的数量选取对应数量且ID连续的多个目标区块链节点,其中,所述目标区块链节点为所述多个区块链节点中的一个区块链节点,司法证据分块对应的区块链节点的ID列表存储在所述虚拟节点中;
存储模块,用于将司法证据分块与所述目标区块链节点一一对应,并将所述司法证据分块存储至对应的目标区块链节点中;
第一键值对模块,用于将每个所述司法证据分块的第一哈希值与对应目标区块链节点的ID组成键值对,从而得到键值对列表;
第一获取模块,用于获取所述司法证据的索引,并将所述索引与所述虚拟节点的ID赋予给每个键值对,得到目标键值对列表,并将所述目标键值对列表;
第一分布存储模块,用于将所述目标键值对列表中的每个键值对分布存储至所述区块链所有的区块链节点中;
第一更新模块,用于在每个所述区块链节点中将得到的键值对与预存在每个区块链节点处的默克尔树根通过第二预设哈希算法进行更新,得到目标默克尔树根;其中,所述目标默克尔树根用于根据用户查询的索引查询得到对应的存储有所述司法证据分块的目标区块链节点,以获取所述司法证据。
8.如权利要求7所述的基于区块链的资源处理装置,其特征在于,所述资源处理装置,还包括:
查询模块,用于查询区块链节点接收用户查询所述司法证据的检索数据;其中,查询区块链节点为所述区块链中任意一个区块链节点;
第二计算模块,用于在所述查询区块链节点中根据所述检索数据通过预设的算法与对应的所述目标默克尔树根进行对比计算,得到对应的键值对和对应的所述司法证据分块得到对应的所述虚拟节点的ID,从而得到所述ID列表;
查找模块,用于查找所述键值对对应的第一目标区块链节点,并向所述第一目标区块链节点发起数据获取请求;
发送模块,用于基于所述第一目标区块链节点以及对应的ID列表,通过所述第一目标区块链节点向其余目标区块链节点发送数据传输指令;
传输模块,用于所述查询区块链节点接收所述ID列表所对应目标区块链节点传输的司法证据分块;
综合模块,用于将每个所述司法证据分块按照所述数据分割方法所对应的综合方法进行综合,得到所述司法证据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210479511.0A CN114579582B (zh) | 2022-04-29 | 2022-04-29 | 一种基于区块链的资源处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210479511.0A CN114579582B (zh) | 2022-04-29 | 2022-04-29 | 一种基于区块链的资源处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579582A true CN114579582A (zh) | 2022-06-03 |
CN114579582B CN114579582B (zh) | 2022-08-23 |
Family
ID=81779127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210479511.0A Active CN114579582B (zh) | 2022-04-29 | 2022-04-29 | 一种基于区块链的资源处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579582B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844654A (zh) * | 2022-07-06 | 2022-08-02 | 湖南密码工程研究中心有限公司 | 车联网可信状态数据证明方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018100999A4 (en) * | 2018-07-17 | 2018-09-06 | Cherkas, Ruslan Mr | Integration of Cryptocurrency Splitting Technology, Highly Scalable Blockchain Network and Mirror Advertising Technology for transparency of Business Operations and Taxation |
CN108932348A (zh) * | 2018-08-16 | 2018-12-04 | 北京京东尚科信息技术有限公司 | 区块链的合并处理方法、装置、区块链节点及存储介质 |
CN109165221A (zh) * | 2018-08-16 | 2019-01-08 | 北京京东尚科信息技术有限公司 | 区块链的数据存储方法、装置、区块链节点及存储介质 |
CN110399338A (zh) * | 2019-04-13 | 2019-11-01 | 西安电子科技大学 | 基于区块链的分布式文件索引系统及方法、云存储服务器 |
US20200151708A1 (en) * | 2018-11-09 | 2020-05-14 | International Business Machines Corporation | Protection of data trading |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111935306A (zh) * | 2020-09-11 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 节点调度方法及装置 |
-
2022
- 2022-04-29 CN CN202210479511.0A patent/CN114579582B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018100999A4 (en) * | 2018-07-17 | 2018-09-06 | Cherkas, Ruslan Mr | Integration of Cryptocurrency Splitting Technology, Highly Scalable Blockchain Network and Mirror Advertising Technology for transparency of Business Operations and Taxation |
CN108932348A (zh) * | 2018-08-16 | 2018-12-04 | 北京京东尚科信息技术有限公司 | 区块链的合并处理方法、装置、区块链节点及存储介质 |
CN109165221A (zh) * | 2018-08-16 | 2019-01-08 | 北京京东尚科信息技术有限公司 | 区块链的数据存储方法、装置、区块链节点及存储介质 |
US20200151708A1 (en) * | 2018-11-09 | 2020-05-14 | International Business Machines Corporation | Protection of data trading |
CN110399338A (zh) * | 2019-04-13 | 2019-11-01 | 西安电子科技大学 | 基于区块链的分布式文件索引系统及方法、云存储服务器 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111935306A (zh) * | 2020-09-11 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 节点调度方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844654A (zh) * | 2022-07-06 | 2022-08-02 | 湖南密码工程研究中心有限公司 | 车联网可信状态数据证明方法 |
CN114844654B (zh) * | 2022-07-06 | 2022-09-06 | 湖南密码工程研究中心有限公司 | 车联网可信状态数据证明方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114579582B (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933163B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
CN110602116B (zh) | 基于区块链的数据验证方法、装置和计算机可读存储介质 | |
CN110597541B (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
CN112003942A (zh) | 链下数据请求响应方法、系统、节点设备与存储介质 | |
CN112380286B (zh) | 数据库的数据对象关系图谱生成方法、装置、设备及介质 | |
CN112364059B (zh) | 多规则场景下关联匹配方法、装置、设备和存储介质 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN114579582B (zh) | 一种基于区块链的资源处理方法和装置 | |
CN113435517B (zh) | 异常数据点输出方法、装置、计算机设备和存储介质 | |
CN110866265A (zh) | 一种基于区块链的数据存储方法、设备及存储介质 | |
CN111865691A (zh) | 基于人工智能的报警文件分发方法、装置、设备和介质 | |
CN112003941A (zh) | 分发链下数据请求的方法、系统、节点设备与存储介质 | |
CN113742776A (zh) | 基于生物识别技术的数据校验方法、装置和计算机设备 | |
CN111651170B (zh) | 一种实例动态调整方法、装置及相关设备 | |
CN112862455A (zh) | 试验执行工单生成方法、装置、计算机设备和存储介质 | |
CN110598475A (zh) | 基于区块链的作品属性信息获取方法、装置和计算机设备 | |
CN111130991A (zh) | 即时通讯信息处理方法、装置、计算机设备及存储介质 | |
CN110704511A (zh) | 数据处理方法、设备、装置、介质 | |
CN114579581B (zh) | 一种基于区块链的数据监管方法和装置 | |
CN112328285A (zh) | 系统新功能生产更新方法、装置、设备及介质 | |
WO2019191579A1 (en) | System and methods for recording codes in a distributed environment | |
CN112685012A (zh) | 基于区块链的微服务架构实现方法、装置、设备及介质 | |
CN110598374A (zh) | 基于区块链的作品登记方法、装置和计算机可读存储介质 | |
CN113420307B (zh) | 密文数据的评估方法、装置、计算机设备和存储介质 | |
CN113535260B (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 |