CN113468574A - 一种区块链数据上链方法和装置 - Google Patents
一种区块链数据上链方法和装置 Download PDFInfo
- Publication number
- CN113468574A CN113468574A CN202110826421.XA CN202110826421A CN113468574A CN 113468574 A CN113468574 A CN 113468574A CN 202110826421 A CN202110826421 A CN 202110826421A CN 113468574 A CN113468574 A CN 113468574A
- Authority
- CN
- China
- Prior art keywords
- data
- uplink
- transaction
- middleware layer
- block 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012795 verification Methods 0.000 claims abstract description 20
- 238000010276 construction Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 6
- 238000004140 cleaning Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种区块链数据上链方法和装置,方法包括:中间件层接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当待上链数据为实时数据时,上链请求为用户客户端实时发送至中间件层;当待上链数据为非实时数据时,上链请求为定时任务服务定时发送至中间件层,且待上链数据为存储在区块链系统数据库中的数据源表中的批量数据;中间件层基于上链请求中的待上链数据构建交易;中间件层对交易进行签名后发送到区块链的节点进行交易签名验证和共识出块;改善了现有数据上链时存在的上链效率慢的技术问题。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链数据上链方法和装置。
背景技术
随着区块链技术的发展,向区块链写入数据(数据上链)已经成熟,并应用在各行各业。但是由于数据上链意味着要经过验证、运算和共识一系列流程,区块链系统每秒能处理和确认的交易数(TPS,Transaction Per Second)是有限的。在一些业务场景中,待上链的数据量过大、每秒并发量过大,如高速公路每日收费数据为6000万笔(仅统计通行出口收费站数据,若算上通行门架数据,则是上亿笔),业务系统直接调用上链接口进行实时上链,可能会出现上链效率慢且上链失败的问题。
发明内容
本申请提供了一种区块链数据上链方法和装置,用于改善现有数据上链时存在的上链效率慢的技术问题。
有鉴于此,本申请第一方面提供了一种区块链数据上链方法,包括:
中间件层接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当所述待上链数据为实时数据时,所述上链请求为所述用户客户端实时发送至所述中间件层;当所述待上链数据为非实时数据时,所述上链请求为所述定时任务服务定时发送至所述中间件层,且所述待上链数据为存储在区块链系统数据库中的数据源表中的批量数据;
所述中间件层基于所述上链请求中的所述待上链数据构建交易;
所述中间件层对所述交易进行签名后发送到区块链的节点进行交易签名验证和共识出块。
可选的,当所述待上链数据为大数据量数据时,所述中间件层基于所述上链请求中的所述待上链数据构建交易,具体包括:
所述中间件层基于BASE64加密算法计算所述待上链数据的编码值,并基于所述编码值和所述待上链数据的目标参数构建交易;
其中,所述待上链数据的目标参数包括所述待上链数据的文件名和/或后缀。
可选的,当所述待上链数据为小数据量数据时,所述中间件层基于所述上链请求中的所述待上链数据构建交易,具体包括:
所述中间件层基于SHA256加密算法或椭圆曲线加密算法对所述待上链数据进行加密得到加密数据,并基于所述加密数据构建交易。
可选的,所述中间件层对所述交易进行签名后发送到区块链的节点进行交易签名验证和共识出块,具体包括:
所述中间件层对所述交易进行签名后发送到区块链的节点,使得接收到所述交易的节点对该交易的签名进行验证,并将验证通过的所述交易广播到区块链的其他节点,共识节点对所述交易进行共识出块。
可选的,接收到所述交易的节点对该交易的签名进行验证,之后还包括:
接收到所述交易的节点判断验证通过后的所述交易是否重复,并将未重复的所述交易缓存在交易池中。
可选的,所述方法还包括:
所述中间件层接收所述节点返回的交易回执,将所述交易回执保存到区块链系统数据库,并定时将所述交易回执中交易失败的待上链数据再次上链。
本申请第二方面提供了一种区块链数据上链装置,包括:
接收单元,用于接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当所述待上链数据为实时数据时,所述上链请求为所述用户客户端实时发送至所述中间件层;当所述待上链数据为非实时数据时,所述上链请求为所述定时任务服务定时发送至所述中间件层,且所述待上链数据为存储在区块链系统数据库中的数据源表中的批量数据;
交易构建单元,用于基于所述上链请求中的所述待上链数据构建交易;
发送单元,用于对所述交易进行签名后发送到区块链的节点进行交易签名验证和共识出块。
可选的,当所述待上链数据为大数据量数据时,所述交易构建单元,具体用于:
基于BASE64加密算法计算所述待上链数据的编码值,并基于所述编码值和所述待上链数据的目标参数构建交易;
其中,所述待上链数据的目标参数包括所述待上链数据的文件名和/或后缀。
可选的,当所述待上链数据为小数据量数据时,所述交易构建单元,具体用于:
基于SHA256加密算法或椭圆曲线加密算法对所述待上链数据进行加密得到加密数据,并基于所述加密数据构建交易。
可选的,所述发送单元具体用于:
对所述交易进行签名后发送到区块链的节点,使得接收到所述交易的节点对该交易的签名进行验证,并将验证通过的所述交易广播到区块链的其他节点,共识节点对所述交易进行共识出块。
从以上技术方案可以看出,本申请具有以下优点:
本申请提供了一种区块链数据上链方法,包括:中间件层接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当待上链数据为实时数据时,上链请求为用户客户端实时发送至中间件层;当待上链数据为非实时数据时,上链请求为定时任务服务定时发送至中间件层,且待上链数据为存储在区块链系统数据库中的数据源表中的批量数据;中间件层基于上链请求中的待上链数据构建交易;中间件层对交易进行签名后发送到区块链的节点进行交易签名验证和共识出块。
本申请中,当待上链数据为实时数据时,通过用户客户端实时发起上链请求,进行数据上链,当待上链数据不是实时数据时,则将其存储到区块链系统数据库中的数据源表中,避免数据源头丢失,通过定时任务服务定时发送上链请求,以将数据源表中的待上链数据批量进行数据上链,从而提高数据上链效率,避免将大量的实时数据和非实时数据均实时上链,导致上链失败和上链效率慢的问题,从而改善了现有数据上链时存在的上链效率慢的技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种区块链数据上链方法的一个流程示意图;
图2为本申请实施例提供的一种离线数据的采集、清洗和迁移过程的一个示意图;
图3为本申请实施例提供的一种实时数据上链过程的一个示意图;
图4为本申请实施例提供的一种离线数据上链过程的一个示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供的一种区块链数据上链方法的一个实施例,包括:
步骤101、中间件层接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当待上链数据为实时数据时,上链请求为用户客户端实时发送至中间件层;当待上链数据为非实时数据时,上链请求为定时任务服务定时发送至中间件层,且待上链数据为存储在区块链系统数据库中的数据源表中的批量数据。
上链实时性高的数据(实时数据)主要针对区块链系统前置的,后续业务必须依赖区块链上同步下来的数据才能进行操作的系统,例如IoT设备温湿度实时监控系统,电梯自动实时监管报警系统等,后续的监管功能严重依赖保存到区块链上的数据做后续的分析和监控,这种需要需要实时上链。实时数据来自PC或APP等用户客户端的实时http请求,通过安全框架认证身份后,从依据其账户信息自动生成其身份认证的唯一凭证token,token的有效期通常为30分钟,如果这个token在30分钟内没有正常访问系统,将会过期并无法用于系统访问,后续如果需要进行数据上链,就调用暴露出来的相对应的应用上链接口实现实时数据上链。
上链实时性较低的数据(非实时数据,即离线数据)主要针对区块链系统后置和对后续业务没有影响的,如常规数据存证系统,这类系统一般只是作为业务系统的备份,不会影响业务系统的正常功能操作。请参考图2,业务应用系统触发定时数据采集任务,以获取离线数据,在获取到数据后触发数据清洗任务,以对离线数据进行数据清洗,然后通过工具将清洗后的离线数据导入到区块链系统数据库,相应的,区块链系统数据库会返回结果通知至业务应用系统。离线数据是经过数据源定时采集、数据清洗、数据迁移后保存到区块链系统数据库中的数据源表,相比于使用内存数据库存储数据,更不容易因为宕机丢失数据;对按照设计规则进行数据上链存证所需的这段规则进行缓存持久化存储,并且有专门的数据监控程序保证导入的数据源安全性问题,如果发现数据源遭到恶意篡改,系统会把这些篡改记录解析并保存起来,为出现问题追溯、追责提供相应的证据材料,为后续定时数据上链奠定安全基础。
离线数据上链时,主要通过定时任务服务触发的定时任务,定时从系统数据库中获取迁移进来不同应用的数据源,通过调用各个应用相关的智能合约上链接口实现数据上链。由于数据保留在数据库,可以保证数据源头不会丢失,定时任务执行的时间可以是每天固定时间点依据记录的创建时间定时获取前一天的所有导入数据,由系统管理员的私钥签名后将这些数据发送到区块链节点进行共识打包出块,保证数据不可篡改,并将上链成功的数据记录到数据库留档。
步骤102、中间件层基于上链请求中的待上链数据构建交易。
请参考图3,当待上链数据为实时数据时,可以由用户通过PC端或APP端发起上链请求,通过补充相关接口的上链参数完成调用上链接口,通过不同的上链接口来调用不同的区块链的智能合约来发起交易提案,上链参数可以为存证编号、存证名称、存证类型、存证路径、附件、存证时间等。通过中间件层的SDK基于待上链数据构建一笔交易。
请参考图4,当待上链数据为离线数据时,在定时触发上链任务后,通过中间件层的SDK基于待上链数据构建交易。
其中,中间件层是连接区块链节点的通信桥梁,连接区块链节点是通过SSL进行双向认证,通过中间件层连接上节点可以实现的功能主要包括:
(1)具有查看区块链节点信息、区块信息、交易信息、获取合约事件的能力。
(2)可以部署和调用智能合约将业务数据上链。
(3)可以管理区块链节点,对节点类型进行设置,实现不同的节点功能,包括共识节点(业务数据上链时本地节点参与共识打包出块)、观察节点(只负责同步数据到本地节点)、游离节点(既不参与共识,也不能将数据同步到本地节点)等。
(4)支持国密方式和非国密方式创建并使用指定外部帐号连接区块链节点。
(5)支持白名单机制,通过配置节点可以控制区块链中间件层访问响应的群组。
(6)同时支持同步和异步的方式进行业务数据上链。
进一步,还可以判断待上链数据为大数据量数据还是小数据量数据。大数据量数据主要针对的是10MB及以上的大文件,文件类型一般为.exe/.pdf/.png/.word/.mp4等,这类文件特点是上链的数据量较大和承载的数据信息较为丰富,从区块链上可以直接同步下来相关的文件解析并还原。小数据量数据主要针对的是1KB及以下的哈希数据上链或者链接上链。上链的数据量较小和承载非常有限的数据信息,因而可以获得较高的上链吞吐量,可通过运算确定链上的信息是否经过篡改,又或者打开链接的方式手动验证。
当待上链数据为大数据量数据时,中间件层基于上链请求中的待上链数据构建交易,具体包括:
中间件层基于BASE64加密算法计算待上链数据的编码值,并基于编码值和待上链数据的目标参数构建交易;
其中,待上链数据的目标参数包括待上链数据的文件名和/或后缀。
当待上链数据为小数据量数据时,中间件层基于上链请求中的待上链数据构建交易,具体包括:
中间件层基于SHA256加密算法或椭圆曲线加密算法对待上链数据进行加密得到加密数据,并基于加密数据构建交易。
当待上链数据为大数据量数据时,通过BASE64加密算法计算待加密数据的BASE64值,即编码值。BASE64加密算法的具体过程为:
步骤1、首先将待上链数据中的每个字符转化为ASCII码。
步骤2、将ASCII码转换为二进制位。
步骤3、每6个为一组划分新的二进制位。
步骤4、在新划分的每组二进制位前加两个0。
步骤5、将新得到的4组8位二进制转换为10进制的索引位。
步骤6、通过Base64对照表,对照替换得到Base64编码,即Base64值。
然后将BASE64值和该待上链数据的文件名、后缀等通过智能合约进行数据上链。后续可以利用区块链数据导出插件,将这类数据定时导出并解析出原有的BASE64值和文件信息,然后解密BASE64值还原为最初的待上链数据。
当待上链数据为小数据量数据时,可以通过SHA256加密算法或椭圆曲线加密算法对待上链数据进行加密,将加密后形成的加密数据进行数据上链。后续获取到交易回执时,需要入库留档交易回执和源数据的映射关系,后续查询先从数据库获得区块链的交易回执,然后根据交易回执在区块链中获取相关上链数据信息。
当待上链数据为报文时,SHA256计算步骤为:
步骤1、附加填充比特。对报文进行填充使报文长度n≡(448mod 512),填充比特数范围是1到512,填充比特串的最高位为1,其余位为0。
步骤2、附加长度值。将用64-bit表示初始报文(填充前)的位长度附加在步骤1的结果后(低字节位优先)。
步骤3、初始化缓存。使用一个256bit的缓存来存放该哈希函数的中间值及最终结果。缓存表示为:A=0x6A09E667,B=0xBB67AE85,C=0x3C6EF372,D=0xA54FF53A,E=0x510E527F,F=0x9B05688C,G=0x1F83D9AB,H=0x5BE0CD19。
步骤4、处理512bit(16个字)报文分组序列。该算法使用了六种基本逻辑函数,由64步迭代运算组成。每步都以256-bit缓存值ABCDEFGH为输入,然后更新缓存内容。每步使用一个32-bit常数值Kt和一个32-bit的Wt。Kt是常数值,在伪代码中有它的常数值定义。Wt是分组之后的报文,512bit=32bit*16,也就是t=1,2..16时的Wt由该组报文产生。t=17,18,..,64的Wt由前面的Wt按递推公式计算出来。
这里的大数据量数据量数据、小数据量数据量数据选择加密的方法不同,依据的是业务场景不同造成的,也就是说这类数据经过加密后是否还能还原出来其原来的数据内容,这里的大数据量数据如.pdf/.png/.word这类文件,如果希望将完整的数据内容进行上链,后续还能够从区块链下载还原,可以使用BASE64加密算法,这是一种可逆的加密算法。如果没有以上这种需求,像在司法存证领域,可将数据经过SHA256或者椭圆曲线加密算法进行数据加密,形成一个不可逆的加密结果,后续对于这种司法证据的核验,是将原来的存证数据内容按照相同的加密规则加密一遍,再和司法链上存储的加密结果对比就能知道这个证据的合法性了。
本申请实施例根据数据类型和数据量,自动选择应用不同的上链模式,当上链数据量过大、每秒并发量过大时,确保数据上链成功、数据上链效率高、区块链系统稳定运行;当上链数据量和并发量相对较小时,确保数据及时上链且不占用过多的系统资源。
步骤103、中间件层对交易进行签名后发送到区块链的节点进行交易签名验证和共识出块。
中间件层对交易进行签名后发送到区块链的节点,使得接收到交易的节点对该交易的签名进行验证,并将验证通过的交易广播到区块链的其他节点,共识节点对交易进行共识出块。
当待上链数据为实时数据时,中间件层可以通过用户相应的私钥信息构建交易签名,然后通过信道将交易和交易签名发送给区块链的节点。
当待上链数据为离线数据时,中间件层可以通过系统管理员的私钥信息构建交易签名,然后通过信道将交易和交易签名发送给区块链的节点。
通过接收到交易的节点对该交易进行签名验证,进一步,还可以通过接收到交易的节点判断验证通过后的交易是否重复,并将未重复的该交易缓存在交易池中。
接收到交易的节点会广播验证通过后的交易到区块链的其他节点上,其他节点会再次随机选择该区块链上25%的节点再次转发广播。
共识节点将交易池中的交易按照顺序取一定数量的交易,组装成共识区块再发往各个节点进行处理。节点在收到区块后,会调用区块验证器把交易从区块中逐一拿出来执行。如果是预编译合约代码,验证器中的执行引擎会直接调用相应的C++功能,否则执行引擎就会把交易交给以太坊虚拟机执行,当节点间就区块的执行结果达成一致才能出块。出块的流程为:各个节点先独立执行相同的区块,随后节点间交换各自的执行结果,如果发现超过2/3的节点都得出了相同的执行结果,那说明这个区块在大多数节点上取得了一致,节点便会开始出块,并且返回交易回执。
节点出块后将交易回执中的交易执行结果永久写入磁盘,并更新区块高度与区块哈希的映射表等内容,然后节点会从交易池中剔除已落盘的交易,以开始新一轮的出块流程;进一步,中间件层接收节点返回的交易回执,将交易回执保存到区块链系统数据库,并定时将交易回执中交易失败的待上链数据再次上链。成功上链的数据可以通过核验接口检查区块链数据和保留到数据库的数据是否一致。核验数据一致的方法是计算数据库的数据哈希值,并与区块链数据的哈希值进行对比,若两者一致则表示数据未被篡改,真实可信。
进一步,对于实时的待上链数据,通过用户客户端发起的上链请求的,中间件层还可以将交易回执返回到用户客户端进行渲染显示,以供用户查看交易结果。
本申请实施例中,当待上链数据为实时数据时,通过用户客户端实时发起上链请求,进行数据上链,当待上链数据不是实时数据时,则将其存储到区块链系统数据库中的数据源表中,避免数据源头丢失,通过定时任务服务定时发送上链请求,以将数据源表中的待上链数据批量进行数据上链,从而提高数据上链效率,避免将大量的实时数据和非实时数据均实时上链,导致上链失败和上链效率慢的问题,从而改善了现有数据上链时存在的上链效率慢的技术问题。
以上为本申请提供的一种区块链数据上链方法的一个实施例,以下为本申请实施例通过的一种区块链数据上链装置的一个实施例。
本申请实施例中的区块链上链装置,包括:
接收单元,用于接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当待上链数据为实时数据时,上链请求为用户客户端实时发送至中间件层;当待上链数据为非实时数据时,上链请求为定时任务服务定时发送至中间件层,且待上链数据为存储在区块链系统数据库中的数据源表中的批量数据;
交易构建单元,用于基于上链请求中的待上链数据构建交易;
发送单元,用于对交易进行签名后发送到区块链的节点进行交易签名验证和共识出块。
作为进一步地改进,当待上链数据为大数据量数据时,交易构建单元,具体用于:
基于BASE64加密算法计算待上链数据的编码值,并基于编码值和待上链数据的目标参数构建交易;
其中,待上链数据的目标参数包括待上链数据的文件名和/或后缀。
作为进一步地改进,当待上链数据为小数据量数据时,交易构建单元,具体用于:
基于SHA256加密算法或椭圆曲线加密算法对待上链数据进行加密得到加密数据,并基于加密数据构建交易。
作为进一步地改进,发送单元具体用于:
对交易进行签名后发送到区块链的节点,使得接收到交易的节点对该交易的签名进行验证,并将验证通过的交易广播到区块链的其他节点,共识节点对交易进行共识出块。
作为进一步地改进,装置还包括:
接收和保存单元,用于接收节点返回的交易回执,将交易回执保存到区块链系统数据库,并定时将交易回执中交易失败的待上链数据再次上链。
本申请实施例中,当待上链数据为实时数据时,通过用户客户端实时发起上链请求,进行数据上链,当待上链数据不是实时数据时,则将其存储到区块链系统数据库中的数据源表中,避免数据源头丢失,通过定时任务服务定时发送上链请求,以将数据源表中的待上链数据批量进行数据上链,从而提高数据上链效率,避免将大量的实时数据和非实时数据均实时上链,导致上链失败和上链效率慢的问题,从而改善了现有数据上链时存在的上链效率慢的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种区块链数据上链方法,其特征在于,包括:
中间件层接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当所述待上链数据为实时数据时,所述上链请求为所述用户客户端实时发送至所述中间件层;当所述待上链数据为非实时数据时,所述上链请求为所述定时任务服务定时发送至所述中间件层,且所述待上链数据为存储在区块链系统数据库中的数据源表中的批量数据;
所述中间件层基于所述上链请求中的所述待上链数据构建交易;
所述中间件层对所述交易进行签名后发送到区块链的节点进行交易签名验证和共识出块。
2.根据权利要求1所述的区块链数据上链方法,其特征在于,当所述待上链数据为大数据量数据时,所述中间件层基于所述上链请求中的所述待上链数据构建交易,具体包括:
所述中间件层基于BASE64加密算法计算所述待上链数据的编码值,并基于所述编码值和所述待上链数据的目标参数构建交易;
其中,所述待上链数据的目标参数包括所述待上链数据的文件名和/或后缀。
3.根据权利要求1所述的区块链数据上链方法,其特征在于,当所述待上链数据为小数据量数据时,所述中间件层基于所述上链请求中的所述待上链数据构建交易,具体包括:
所述中间件层基于SHA256加密算法或椭圆曲线加密算法对所述待上链数据进行加密得到加密数据,并基于所述加密数据构建交易。
4.根据权利要求1所述的区块链数据上链方法,其特征在于,所述中间件层对所述交易进行签名后发送到区块链的节点进行交易签名验证和共识出块,具体包括:
所述中间件层对所述交易进行签名后发送到区块链的节点,使得接收到所述交易的节点对该交易的签名进行验证,并将验证通过的所述交易广播到区块链的其他节点,共识节点对所述交易进行共识出块。
5.根据权利要求4所述的区块链数据上链方法,其特征在于,接收到所述交易的节点对该交易的签名进行验证,之后还包括:
接收到所述交易的节点判断验证通过后的所述交易是否重复,并将未重复的所述交易缓存在交易池中。
6.根据权利要求1所述的区块链数据上链方法,其特征在于,所述方法还包括:
所述中间件层接收所述节点返回的交易回执,将所述交易回执保存到区块链系统数据库,并定时将所述交易回执中交易失败的待上链数据再次上链。
7.一种区块链数据上链装置,其特征在于,包括:
接收单元,用于接收用户客户端或定时任务服务发送的携带有待上链数据的上链请求;其中,当所述待上链数据为实时数据时,所述上链请求为所述用户客户端实时发送至所述中间件层;当所述待上链数据为非实时数据时,所述上链请求为所述定时任务服务定时发送至所述中间件层,且所述待上链数据为存储在区块链系统数据库中的数据源表中的批量数据;
交易构建单元,用于基于所述上链请求中的所述待上链数据构建交易;
发送单元,用于对所述交易进行签名后发送到区块链的节点进行交易签名验证和共识出块。
8.根据权利要求7所述的区块链数据上链装置,其特征在于,当所述待上链数据为大数据量数据时,所述交易构建单元,具体用于:
基于BASE64加密算法计算所述待上链数据的编码值,并基于所述编码值和所述待上链数据的目标参数构建交易;
其中,所述待上链数据的目标参数包括所述待上链数据的文件名和/或后缀。
9.根据权利要求7所述的区块链数据上链装置,其特征在于,当所述待上链数据为小数据量数据时,所述交易构建单元,具体用于:
基于SHA256加密算法或椭圆曲线加密算法对所述待上链数据进行加密得到加密数据,并基于所述加密数据构建交易。
10.根据权利要求7所述的区块链数据上链装置,其特征在于,所述发送单元具体用于:
对所述交易进行签名后发送到区块链的节点,使得接收到所述交易的节点对该交易的签名进行验证,并将验证通过的所述交易广播到区块链的其他节点,共识节点对所述交易进行共识出块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826421.XA CN113468574B (zh) | 2021-07-21 | 2021-07-21 | 一种区块链数据上链方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826421.XA CN113468574B (zh) | 2021-07-21 | 2021-07-21 | 一种区块链数据上链方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468574A true CN113468574A (zh) | 2021-10-01 |
CN113468574B CN113468574B (zh) | 2024-05-24 |
Family
ID=77881603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110826421.XA Active CN113468574B (zh) | 2021-07-21 | 2021-07-21 | 一种区块链数据上链方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468574B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168218A (zh) * | 2021-11-30 | 2022-03-11 | 深圳市名竹科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274252A (zh) * | 2020-01-08 | 2020-06-12 | 平安科技(深圳)有限公司 | 一种区块链的数据上链方法、装置、存储介质和服务器 |
WO2020168937A1 (zh) * | 2019-02-20 | 2020-08-27 | 深圳前海微众银行股份有限公司 | 区块链多方见证方法、装置、设备及计算机可读存储介质 |
CN112488714A (zh) * | 2020-12-16 | 2021-03-12 | 福州凌云数据科技有限公司 | 一种基于区块链交易过程的备注字段上链的方法 |
CN112837163A (zh) * | 2021-03-22 | 2021-05-25 | 中国工商银行股份有限公司 | 基于区块链的批量交易上链方法及系统 |
CN112926983A (zh) * | 2021-04-13 | 2021-06-08 | 无锡井通网络科技有限公司 | 一种基于区块链的存证交易加密系统及方法 |
-
2021
- 2021-07-21 CN CN202110826421.XA patent/CN113468574B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020168937A1 (zh) * | 2019-02-20 | 2020-08-27 | 深圳前海微众银行股份有限公司 | 区块链多方见证方法、装置、设备及计算机可读存储介质 |
CN111274252A (zh) * | 2020-01-08 | 2020-06-12 | 平安科技(深圳)有限公司 | 一种区块链的数据上链方法、装置、存储介质和服务器 |
CN112488714A (zh) * | 2020-12-16 | 2021-03-12 | 福州凌云数据科技有限公司 | 一种基于区块链交易过程的备注字段上链的方法 |
CN112837163A (zh) * | 2021-03-22 | 2021-05-25 | 中国工商银行股份有限公司 | 基于区块链的批量交易上链方法及系统 |
CN112926983A (zh) * | 2021-04-13 | 2021-06-08 | 无锡井通网络科技有限公司 | 一种基于区块链的存证交易加密系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168218A (zh) * | 2021-11-30 | 2022-03-11 | 深圳市名竹科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114168218B (zh) * | 2021-11-30 | 2024-03-29 | 深圳市名竹科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113468574B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737724B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
CN111314067B (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
CN113282603B (zh) | 区块链共识节点校验方法、装置、设备以及存储介质 | |
CN111427957A (zh) | 区块链投票信息校验方法、装置、设备以及存储介质 | |
CN108769171A (zh) | 分布式存储的副本保持验证方法、装置、设备及存储介质 | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN112235104B (zh) | 一种数据加密传输方法、系统、终端及存储介质 | |
CN112085504A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN110599142A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN114218322A (zh) | 基于密文传输的数据展示方法、装置、设备及介质 | |
CN111612458A (zh) | 用于区块链数据处理的方法、装置及可读存储介质 | |
CN113468574A (zh) | 一种区块链数据上链方法和装置 | |
CN108846671B (zh) | 基于区块链的在线安全交易方法和系统 | |
CN112417052B (zh) | 区块链网络中的数据同步方法、装置、设备及存储介质 | |
CN113987062A (zh) | 一种数据上链存储方法、系统、装置以及存储介质 | |
CN111262837B (zh) | 一种数据加密方法、数据解密方法、系统、设备和介质 | |
CN111881218A (zh) | 一种基于区块链的公共空间数据共享方法 | |
CN115426627A (zh) | 一种基于5g网络的工业物联网数据采集箱 | |
CN112712428A (zh) | 基于区块链的电子存证方法和电子设备 | |
CN113935055A (zh) | 一种基于区块链和同态加密的隐私保护推荐方法及系统 | |
CN109558744B (zh) | 一种数据处理方法和系统 | |
CN112202453A (zh) | 对密文进行压缩的信息处理方法、装置、设备及介质 | |
CN112181308A (zh) | 基于区块链的分布式数据存储方法和电子设备 | |
CN110968442B (zh) | 一种数据处理方法以及设备 | |
CN114679466B (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 |