CN111382463B - 基于流数据的区块链系统及方法 - Google Patents
基于流数据的区块链系统及方法 Download PDFInfo
- Publication number
- CN111382463B CN111382463B CN202010254515.XA CN202010254515A CN111382463B CN 111382463 B CN111382463 B CN 111382463B CN 202010254515 A CN202010254515 A CN 202010254515A CN 111382463 B CN111382463 B CN 111382463B
- Authority
- CN
- China
- Prior art keywords
- data
- hash
- chain
- block
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于流数据的区块链系统及方法,所述系统包含:身份认证节点提供数字证书;数据采集设备采集流数据,通过数字证书将流数据签名后发送至区块链节点;根据流数据生成数据文件,将数据文件上传至区块链节点;区块链节点通过数字证书对数据采集设备进行验证,当验证通过后根据流数据生成哈希链,将哈希链共识至区块链网络;根据数据文件计算获得哈希链,将数据文件计算获得的哈希链与区块链网络共识的哈希链比对,当比对通过后将数据文件交由区块链文件系统;区块链网络文件系统将数据文件存储至预定存储位置,将数据文件的存储路径交由区块链节点,由区块链节点根据数据文件与哈希链的对应关系将存储路径和哈希链关联后存储。
Description
技术领域
本发明涉及区块链领域,尤指一种基于流数据的区块链系统及方法。
背景技术
随着区块链技术日渐成熟,应用场景逐渐延伸到各个领域,其中区块链技术在物联网场景中的应用成为当前的热点。其中伴随着人工智能技术的发展,诸如智能摄像头、智能音箱一类的流媒体采集设备在生活中的应用日渐广泛,如何通过区块链技术有效的管理这类设备、存储这些设备所产生的庞大数据并且保证数据来源的可信,是当前面临的一大问题。
目前大多数针对非结构化数据上链的解决方法通常是将数据文件保存到区块链网络中的一个共享文件系统中,同时将数据文件的哈希以及文件的存储路径保存到区块链上,这样既能保证数据文件的完整性又能节省区块链账本存储开销。但这种方式存在一种隐患:数据文件是由采集设备将采集数据落地成文件之后再上传到区块链中,其中数据先落地再上传的环节容易发生数据内容的篡改,即数据文件在上链之前就已经不可信。
发明内容
本发明目的在于提供一种基于流数据的区块链系统及方法,通过将采集设备的数据流直接发送给区块链节点,节点利用流数据构建出一个哈希链,确保数据来源的可信。当采集设备将落地文件上传到区块链网络时,通过哈希链的对数据文件进行校验,解决了流数据持久化后再上链所带来的易被篡改的风险,提升区块链网络在数据来源控制方面的可靠性。
为达上述目的,本发明所提供的基于流数据的区块链系统,所述系统包含身份认证节点、数据采集设备、多个区块链节点构成的区块链网络和区块链网络文件系统;所述身份认证节点用于提供数字证书;所述数据采集设备与所述区块链节点相连,用于采集流数据,通过所述身份认证节点提供的数字证书将所述流数据签名后发送至所述区块链节点;以及,根据所述流数据生成数据文件,将所述数据文件上传至区块链节点;所述区块链节点用于通过所述身份认证节点提供的数字证书对所述数据采集设备进行验证,当验证通过后根据所述流数据生成哈希链,将所述哈希链共识至所述区块链网络;以及,根据所述数据文件计算获得哈希链,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对,当比对通过后将所述数据文件交由所述区块链文件系统;所述区块链网络文件系统与所述区块链节点相连,用于将所述数据文件存储至预定存储位置,将所述数据文件的存储路径交由所述区块链节点,由所述区块链节点根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储。
在上述基于流数据的区块链系统中,优选的,所述区块链节点包含数据接收装置、加解密装置、数据存储装置和哈希链计算装置;所述数据接收装置用于接收所述数据采集设备上传的流数据和数据文件;所述加解密装置用于对所述区块链节点和所述数据采集设备交互数据进行加解密处理及验签处理;以及,通过预设哈希算法分别计算所述流数据和所述数据文件的哈希值;所述数据存储装置用于存储所述流数据及所述数据文件,当比对通过后,将所述数据文件存入所述区块链网络文件系统;以及,根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储;所述哈希链计算装置用于根据所述哈希值获得所述哈希链;以及,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对获得比对结果。
在上述基于流数据的区块链系统中,优选的,所述加解密装置包含哈希计算模块、加解密模块和签名模块;所述哈希计算模块用于通过预设哈希算法分别计算所述流数据和所述数据文件的哈希值;所述加解密模块用于通过椭圆曲线密码算法对所述区块链节点和所述数据采集设备交互数据进行加解密处理;所述签名模块用于根据所述数字证书对所述数据采集设备进行验签处理。
在上述基于流数据的区块链系统中,优选的,所述哈希链计算装置包含哈希链生成模块和哈希链验证模块;所述哈希链生成模块用于根据所述哈希值计算获得所述哈希链;所述哈希链验证模块用于将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对获得比对结果。
在上述基于流数据的区块链系统中,优选的,所述流数据的哈希链包含区块哈希和多个区块数据;所述区块数据为通过缓冲区分段采集计算所述流数据获得的哈希值;所述区块哈希为多个区块数据的哈希值叠加后哈希计算获得的哈希值;通过所述区块数据的哈希值和所述区块哈希的哈希值生成所述流数据的哈希链。
本发明还提供一种基于流数据的区块链方法,所述方法包含:通过数据采集设备采集流数据,根据预存的数字证书将所述流数据签名后发送至区块链节点;所述区块链节点通过所述数字证书对所述数据采集设备进行验证,当验证通过后根据所述流数据生成哈希链,将所述哈希链共识至所述区块链节点所构成的区块链网络;所述数据采集设备根据所述流数据生成数据文件,将所述数据文件上传至区块链节点;所述区块链节点根据所述数据文件计算获得哈希链,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对,当比对通过后将所述数据文件交由区块链文件系统;所述区块链网络文件系统将所述数据文件存储至预定存储位置,将所述数据文件的存储路径交由所述区块链节点,由所述区块链节点根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储。
在上述基于流数据的区块链方法中,优选的,根据所述流数据生成哈希链包含:根据所述流数据创建缓冲区,通过所述缓冲区存储所述流数据;当所述缓冲区内存满所述流数据时,通过预设哈希算法计算所述缓冲区内的流数据的哈希值,生成区块数据;清空所述缓冲区内的流数据并继续载入所述数据采集设备采集的流数据计算哈希值,将当前哈希值与前次区块数据的哈希值相加后进行哈希计算获得区块哈希;根据所述区块数据和所述区块哈希生成哈希链。
在上述基于流数据的区块链方法中,优选的,所述区块链节点根据所述数据文件计算获得哈希链包含:根据所述数据文件的文件格式将所述数据文件转换为流数据;通过所述缓冲区分段存储所述数据文件转换的流数据并计算对应的区块数据和区块哈希;根据所述数据文件对应的区块数据和区块哈希生成所述数据文件的哈希链。
在上述基于流数据的区块链方法中,优选的,所述流数据还包含文件编号、数据采集设备编号、文件编码格式、文件记录时间、数据采集设备信息和数字证书签名生成的签名信息。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:一是能够数据采集设备直接与区块链节点相连,并将流数据实时上链,保证数据来源的可靠性,避免以往数据文件先落地再上链所面临的数据被篡改的风险,二是通过缓冲区分段计算哈希,降低链上存储压力,三是若文件发现被篡改,可以从区块链账本中取出该数据文件所对应的完整哈希链,通过哈希链定位到文件被篡改的位置,同时该位置之前的数据都是可信的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所提供的基于流数据的区块链系统的结构示意图;
图2为本发明一实施例所提供的基于流数据的区块链节点的结构示意图;
图3为本发明一实施例所提供的哈希链结构示意图;
图4为本发明一实施例所提供的基于流数据的区块链方法的流程示意图;
图5为本发明一实施例所提供的哈希链生成流程示意图;
图6为本发明一实施例所提供的哈希链校验流程示意图;
图7为本发明一实施例所提供的电子设备的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,本发明所提供的基于流数据的区块链系统,所述系统包含身份认证节点、数据采集设备、多个区块链节点构成的区块链网络和区块链网络文件系统;所述身份认证节点用于提供数字证书;所述数据采集设备与所述区块链节点相连,用于采集流数据,通过所述身份认证节点提供的数字证书将所述流数据签名后发送至所述区块链节点;以及,根据所述流数据生成数据文件,将所述数据文件上传至区块链节点;所述区块链节点用于通过所述身份认证节点提供的数字证书对所述数据采集设备进行验证,当验证通过后根据所述流数据生成哈希链,将所述哈希链共识至所述区块链网络;以及,根据所述数据文件计算获得哈希链,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对,当比对通过后将所述数据文件交由所述区块链文件系统;所述区块链网络文件系统与所述区块链节点相连,用于将所述数据文件存储至预定存储位置,将所述数据文件的存储路径交由所述区块链节点,由所述区块链节点根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储。
在上述实施例中,所述身份认证节点即CA节点为区块链网络中可信的中心机构,为网络中的所有可信节点及设备颁发数字证书,这些节点及设备之间通过证书信息验证彼此的合法性。所述数据采集设备包含包括且不限于音视频采集设备、物联网网关及其他流数据采集设备。数据采集设备支持从CA节点获取数字证书,利用私钥签名并将签名信息发送给其他区块链节点。数据采集设备所采集的数据支持通过流数据的形式发送给区块链节点,当发送一定量的流数据后会将所发送的流数据在本地存储模块中生成相应的数据文件,并定时将保存在本地存储模块的数据文件通过区块链节点归档到区块链网络。所述区块链网络文件系统作为区块链网络中的共享存储系统,用于存储所有上链的非结构化数据。由于区块链的去中心化以及不可篡改的特性,为限制区块链账本在存储容量上的增长规模,不会直接将整个的非结构化数据上链,而是将非结构化数据的存储路径和以及对应的哈希链保存在区块链账本中。当需要从区块链中检索非结构化数据时,只需要根据链上的存储路径到区块链网络文件系统中获取文件,并通过相应的哈希链对文件进行校验。
在本发明一实施例中,所述区块链节点可包含数据接收装置、加解密装置、数据存储装置和哈希链计算装置;所述数据接收装置用于接收所述数据采集设备上传的流数据和数据文件;所述加解密装置用于对所述区块链节点和所述数据采集设备交互数据进行加解密处理及验签处理;以及,通过预设哈希算法分别计算所述流数据和所述数据文件的哈希值;所述数据存储装置用于存储所述流数据及所述数据文件,当比对通过后,将所述数据文件存入所述区块链网络文件系统;以及,根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储;所述哈希链计算装置用于根据所述哈希值获得所述哈希链;以及,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对获得比对结果。其中,所述加解密装置可包含哈希计算模块、加解密模块和签名模块;所述哈希计算模块用于通过预设哈希算法分别计算所述流数据和所述数据文件的哈希值;所述加解密模块用于通过椭圆曲线密码算法对所述区块链节点和所述数据采集设备交互数据进行加解密处理;所述签名模块用于根据所述数字证书对所述数据采集设备进行验签处理。所述哈希链计算装置可包含哈希链生成模块和哈希链验证模块;所述哈希链生成模块用于根据所述哈希值计算获得所述哈希链;所述哈希链验证模块用于将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对获得比对结果。
具体的,请参考图2所示,实际工作中,所述区块链节点作为区块链网络的基本组成单元,包含数据接收装置、加解密装置、区块链节点共识装置、数据存储装置、哈希链计算装置。
所述数据接收装置用于从数据采集设备中接收数据,包括流数据接收模块和数据文件接收模块。其中从流数据接收模块接收到的流数据用于生成哈希链,并通过节点共识模块将哈希链在区块链网络中进行共识,最终保存到各节点的区块链账本模块中。从数据文件接收模块接收的数据文件通过哈希链计算装置转换生成哈希链,与保存在区块链账本中的哈希链对比,从而对文件进行校验,并最终保存到到区块链文件系统。数据采集装置配合CA节点为数据采集设备颁发的数字证书,通过加解密装置来验证数据采集设备的签名,以为保证设备以及数据来源的可信。
所述加解密装置用于验证设备和交易合法性以及消息数据加解密。包含哈希计算模块、加解密模块和签名验签模块。其中哈希计算模块用于计算数据的哈希值,采用且不限于MD5、SHA-1、SHA-256、SM3等哈希算法,加解密模块及签名验签模块采用椭圆曲线密码算法对数据进行公钥加密和私钥解密,对消息摘要进行私钥签名和公钥验签。
所述区块链节点共识模块用于区块链网络中节点共识,区块链网络中的节点采用pbft算法进行共识,所述pbft算法采用三阶段协商的方式使所有节点对接收到的提案达成一致,能够在一个有3f+1个节点的区块链网络中,存在不超过f个作恶节点的情况下,网络依然能够正确运行。当区块链节点计算完成一个流数据的哈希块,将该哈希块作为交易请求发送给区块链网络中广播,交由网络中的主节点对交易进行打包排序并将打包后的交易作为提案在区块链网络中进行共识。所有节点达成共识后,将打包的交易写入区块链账本。
所述数据存储装置用于区块链数据存储功能,包含区块链账本模块和文件归档模块。其中区块链账本模块包含区块链和世界状态。区块链采用链式存储模式,用于计算当前区块哈希的数据包含当前区块的数据加上前置区块的哈希,从而保证区块链数据无法篡改。世界状态作为一个KV数据库,保存区块链所有操作数据的最新状态。在本实施例中,区块链账本中的区块链用于存储数据文件的哈希链,世界状态则保存了哈希链的最后一个区块以及文件在区块链网络文件系统上的存储路径。文件归档模块用于将从数据校验通过后的文件传输到区块链网络文件系统进行归档存储。
所述哈希链计算装置用于生成哈希链以及用哈希链来校验文件,其中包含哈希链生成模块和哈希链验证模块,并通过加解密装置中的哈希散列计算模块计算哈希值。
在上述实施例中,所述流数据的哈希链包含区块哈希和多个区块数据;所述区块数据为通过缓冲区分段采集计算所述流数据获得的哈希值;所述区块哈希为多个区块数据的哈希值叠加后哈希计算获得的哈希值;通过所述区块数据的哈希值和所述区块哈希的哈希值生成所述流数据的哈希链。具体,请参考图3所示,所述哈希链是一种与区块链相似的链式结构,链上每个区块内包含区块数据和区块哈希。其中区块数据是一段流数据的哈希,可利用缓冲区分段采集并计算哈希;区块哈希是通过将当前区块的数据哈希加上前一区块的区块哈希再计算一次哈希得到的哈希值;由于流数据仅用于计算哈希链,流数据本身不会上链,最终的数据归档还是要通过数据采集设备将流数据编码后的文件归档到区块链网络。归档到区块链的文件将通过哈希链验证模块进行合法性校验,并最终保存到区块链网络文件系统中。
请参考图4所示,本发明还提供一种基于流数据的区块链方法,所述方法包含:
S401:通过数据采集设备采集流数据,根据预存的数字证书将所述流数据签名后发送至区块链节点;
S402:所述区块链节点通过所述数字证书对所述数据采集设备进行验证,当验证通过后根据所述流数据生成哈希链,将所述哈希链共识至所述区块链节点所构成的区块链网络;
S403:所述数据采集设备根据所述流数据生成数据文件,将所述数据文件上传至区块链节点;
S404:所述区块链节点根据所述数据文件计算获得哈希链,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对,当比对通过后将所述数据文件交由区块链文件系统;
S405:所述区块链网络文件系统将所述数据文件存储至预定存储位置,将所述数据文件的存储路径交由所述区块链节点,由所述区块链节点根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储。
其中,上述流数据可包含文件编号、数据采集设备编号、文件编码格式、文件记录时间、数据采集设备信息和数字证书签名生成的签名信息。
在上述实施例中,根据所述流数据生成哈希链包含:根据所述流数据创建缓冲区,通过所述缓冲区存储所述流数据;当所述缓冲区内存满所述流数据时,通过预设哈希算法计算所述缓冲区内的流数据的哈希值,生成区块数据;清空所述缓冲区内的流数据并继续载入所述数据采集设备采集的流数据计算哈希值,将当前哈希值与前次区块数据的哈希值相加后进行哈希计算获得区块哈希;根据所述区块数据和所述区块哈希生成哈希链。类似的,所述区块链节点根据所述数据文件计算获得哈希链可包含:根据所述数据文件的文件格式将所述数据文件转换为流数据;通过所述缓冲区分段存储所述数据文件转换的流数据并计算对应的区块数据和区块哈希;根据所述数据文件对应的区块数据和区块哈希生成所述数据文件的哈希链。
为更清楚的理解流数据生成哈希链的具体方法,以下请参考图5所示,实际工作中流数据生成哈希链的具体流程如下,值得说明的是,该实例仅为举例说明流数据的具体处理流程,并不对其做任何限制。
1、数据采集设备开始采集一段新的数据文件,并向区块链节点的数据接收装置发送NewRecord消息,消息至少包含数据文件唯一id、数据文件编码格式信息、文件记录开始时间、设备唯一id、设备信息、消息签名等,发送完成后开始传输流数据。
2、数据接收装置接收到NewRecord消息后,首先验证消息签名,确认设备的合法性,若验证未通过则丢弃后续的流数据。
3、验证通过后,创建临时缓冲区,开始接收数据采集设备发来的流数据。
4、与此同时,构建该数据文件的哈希链的首个区块。该区块的区块数据部分为NewRecord的消息体加上缓冲区大小,区块哈希部分为区块数据的哈希值。并以文件唯一id、设备唯一id、NewRecord标志作为key,区块数据和区块哈希作为value构建区块链交易,由区块链节点共识模块在区块链网络中进行共识并写入区块链账本。
5、当流数据写满缓冲区后,构建该数据文件哈希链的下一个区块,区块数据部分为缓冲区的内数据的哈希,区块哈希部分为区块数据部分加上前一区块的区块哈希部分之和的哈希值。哈希链的新区块构建完成后以文件唯一id、设备唯一id为key,该区块作为value构建区块链交易,在区块链网络中进行共识并写入区块链账本,同时清空缓冲区,继续接收后续流数据。
6、重复步骤5,直到当流数据传输发生中断、超时或者接收到下一个NewRecord 消息时,通过哈希链计算装置构建最后一个哈希链的区块,区块数据部分为最后缓冲区内的数据的哈希加上结束标识(即表示流数据传输中断、超时或传输完成),区块哈希部分为区块数据部分加上前一区块哈希之和的哈希值,并同步骤5一样构建区块交易进行共识并写入区块链账本,同时释放缓冲区并清理包括哈希链在内的所有临时数据。
其后,当数据文件上传至区块链时,所述区块链节点的处理流程参考图6所示;
1、数据采集设备定时将保存的数据文件发送给区块链节点的数据接收装置的数据文件接收模块,其中数据文件内还应包含文件id、设备id、文件编码格式、文件记录时间、设备信息等内容。
2、数据接收装置的数据文件接收模块接收到数据文件后,从区块链账本中读取以文件唯一id、设备唯一id、NewRecord标志作为key的数据,该数据内容包含 NewRecord消息体加缓冲区大小。
3、从区块链账本中读取以文件唯一id、设备唯一id作为key的数据,该数据内容为哈希链的最后一个区块,包含区块数据、区块哈希和结束标识。若结束标识不为传输完成,则数据文件校验不通过。
4、校验文件唯一id、数据文件编码格式信息、文件记录开始时间、设备唯一id、设备信息等内容是否与NewRecord消息体中的一致。
5、根据读取的缓冲区大小建立临时缓冲区,并将步骤2中读取的数据作为哈希链的首个区块
6、根据数据文件编码格式信息将数据文件转换为流数据写入缓冲区。
7、当缓冲区写满后,构建该数据文件哈希链的下一个区块,区块数据部分为缓冲区的内数据的哈希,区块哈希部分为区块数据部分加上前一区块的区块哈希部分之和的哈希值。
8、清空缓冲区,继续写入流数据,并按照步骤7构建哈希链,直到所有数据处理完成。
9、将最终得到的哈希链中最后一个区块中的区块哈希与步骤3中读取的区块哈希进行对比校验。
10、校验通过则将该数据文件发送至区块链网络文件系统进行归档存储。
利用本发明所提供的基于流数据的区块链系统及方法,一是能够数据采集设备直接与区块链节点相连,并将流数据实时上链,保证数据来源的可靠性,避免以往数据文件先落地再上链所面临的数据被篡改的风险,二是通过缓冲区分段计算哈希,降低链上存储压力,三是若文件发现被篡改,可以从区块链账本中取出该数据文件所对应的完整哈希链,通过哈希链定位到文件被篡改的位置,同时该位置之前的数据都是可信的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
如图7所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图7中所示的所有部件;此外,电子设备600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600 的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140 存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140 的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130 可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种基于流数据的区块链系统,其特征在于,所述系统包含身份认证节点、数据采集设备、多个区块链节点构成的区块链网络和区块链网络文件系统;
所述身份认证节点用于提供数字证书;
所述数据采集设备与所述区块链节点相连,用于采集流数据,通过所述身份认证节点提供的数字证书将所述流数据签名后发送至所述区块链节点;以及,根据所述流数据生成数据文件,将所述数据文件上传至区块链节点;
所述区块链节点用于通过所述身份认证节点提供的数字证书对所述数据采集设备进行验证,当验证通过后根据所述流数据生成哈希链,将所述哈希链共识至所述区块链网络;以及,根据所述数据文件计算获得哈希链,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对,当比对通过后将所述数据文件交由所述区块链文件系统;
所述区块链网络文件系统与所述区块链节点相连,用于将所述数据文件存储至预定存储位置,将所述数据文件的存储路径交由所述区块链节点,由所述区块链节点根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储。
2.根据权利要求1所述的基于流数据的区块链系统,其特征在于,所述区块链节点包含数据接收装置、加解密装置、数据存储装置和哈希链计算装置;
所述数据接收装置用于接收所述数据采集设备上传的流数据和数据文件;
所述加解密装置用于对所述区块链节点和所述数据采集设备交互数据进行加解密处理及验签处理;以及,通过预设哈希算法分别计算所述流数据和所述数据文件的哈希值;
所述数据存储装置用于存储所述流数据及所述数据文件,当比对通过后,将所述数据文件存入所述区块链网络文件系统;以及,根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储;
所述哈希链计算装置用于根据所述哈希值获得所述哈希链;以及,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对获得比对结果。
3.根据权利要求2所述的基于流数据的区块链系统,其特征在于,所述加解密装置包含哈希计算模块、加解密模块和签名模块;
所述哈希计算模块用于通过预设哈希算法分别计算所述流数据和所述数据文件的哈希值;
所述加解密模块用于通过椭圆曲线密码算法对所述区块链节点和所述数据采集设备交互数据进行加解密处理;
所述签名模块用于根据所述数字证书对所述数据采集设备进行验签处理。
4.根据权利要求2所述的基于流数据的区块链系统,其特征在于,所述哈希链计算装置包含哈希链生成模块和哈希链验证模块;
所述哈希链生成模块用于根据所述哈希值计算获得所述哈希链;
所述哈希链验证模块用于将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对获得比对结果。
5.根据权利要求1至4中任一项所述的基于流数据的区块链系统,其特征在于,所述流数据的哈希链包含区块哈希和多个区块数据;所述区块数据为通过缓冲区分段采集计算所述流数据获得的哈希值;所述区块哈希为多个区块数据的哈希值叠加后哈希计算获得的哈希值;通过所述区块数据的哈希值和所述区块哈希的哈希值生成所述流数据的哈希链。
6.一种基于流数据的区块链方法,其特征在于,所述方法包含:
通过数据采集设备采集流数据,根据预存的数字证书将所述流数据签名后发送至区块链节点;
所述区块链节点通过所述数字证书对所述数据采集设备进行验证,当验证通过后根据所述流数据生成哈希链,将所述哈希链共识至所述区块链节点所构成的区块链网络;
所述数据采集设备根据所述流数据生成数据文件,将所述数据文件上传至区块链节点;
所述区块链节点根据所述数据文件计算获得哈希链,将所述数据文件计算获得的哈希链与所述区块链网络共识的哈希链比对,当比对通过后将所述数据文件交由区块链文件系统;
所述区块链网络文件系统将所述数据文件存储至预定存储位置,将所述数据文件的存储路径交由所述区块链节点,由所述区块链节点根据所述数据文件与所述哈希链的对应关系将所述存储路径和所述哈希链关联后存储。
7.根据权利要求6所述的基于流数据的区块链方法,其特征在于,根据所述流数据生成哈希链包含:
根据所述流数据创建缓冲区,通过所述缓冲区存储所述流数据;
当所述缓冲区内存满所述流数据时,通过预设哈希算法计算所述缓冲区内的流数据的哈希值,生成区块数据;
清空所述缓冲区内的流数据并继续载入所述数据采集设备采集的流数据计算哈希值,将当前哈希值与前次区块数据的哈希值相加后进行哈希计算获得区块哈希;
根据所述区块数据和所述区块哈希生成哈希链。
8.根据权利要求7所述的基于流数据的区块链方法,其特征在于,所述区块链节点根据所述数据文件计算获得哈希链包含:
根据所述数据文件的文件格式将所述数据文件转换为流数据;
通过所述缓冲区分段存储所述数据文件转换的流数据并计算对应的区块数据和区块哈希;
根据所述数据文件对应的区块数据和区块哈希生成所述数据文件的哈希链。
9.根据权利要求6至8中任一项所述的基于流数据的区块链方法,其特征在于,所述流数据还包含文件编号、数据采集设备编号、文件编码格式、文件记录时间、数据采集设备信息和数字证书签名生成的签名信息。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求6至9任一所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求6至9任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254515.XA CN111382463B (zh) | 2020-04-02 | 2020-04-02 | 基于流数据的区块链系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254515.XA CN111382463B (zh) | 2020-04-02 | 2020-04-02 | 基于流数据的区块链系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382463A CN111382463A (zh) | 2020-07-07 |
CN111382463B true CN111382463B (zh) | 2022-11-29 |
Family
ID=71220141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010254515.XA Active CN111382463B (zh) | 2020-04-02 | 2020-04-02 | 基于流数据的区块链系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382463B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200533A (zh) * | 2020-09-22 | 2021-01-08 | 国网电力科学研究院有限公司 | 基于区块链的消纳凭证全生命周期管理方法及装置 |
CN114257605A (zh) * | 2020-09-24 | 2022-03-29 | 航天信息股份有限公司 | 一种数据共享系统、方法、装置、介质和设备 |
CN112231754B (zh) * | 2020-10-21 | 2022-12-06 | 南方电网科学研究院有限责任公司 | 一种电力边缘计算节点配置信息监控方法、系统及存储介质 |
CN112699081B (zh) * | 2020-10-23 | 2024-01-26 | 中国工商银行股份有限公司 | 基于区块链的文件自证方法及装置 |
CN112087530B (zh) * | 2020-11-02 | 2022-06-03 | 支付宝(杭州)信息技术有限公司 | 一种将数据上传至区块链系统的方法、装置、设备及介质 |
CN112506426A (zh) * | 2020-11-20 | 2021-03-16 | 宜鼎国际股份有限公司 | 可将数据上链的数据储存装置 |
CN112565219B (zh) * | 2020-11-26 | 2023-03-21 | 中国船舶工业系统工程研究院 | 基于区块链的海上智能系统通信方法、系统及存储介质 |
CN112506860B (zh) * | 2020-12-15 | 2024-02-27 | 中国银行股份有限公司 | 基于区块链的协同审计方法、装置及系统 |
CN112769768B (zh) * | 2020-12-23 | 2022-01-11 | 广州技象科技有限公司 | 一种物联网终端认证方法、装置、设备及存储介质 |
CN112749232A (zh) * | 2020-12-30 | 2021-05-04 | 北京佳华智联科技有限公司 | 一种生产数据监控方法、装置、区块链节点及存储介质 |
CN112800450B (zh) * | 2021-02-05 | 2022-02-18 | 北京众享比特科技有限公司 | 数据存储方法、系统、装置、设备和存储介质 |
CN113420085A (zh) * | 2021-06-07 | 2021-09-21 | 国网辽宁省电力有限公司信息通信分公司 | 基于区块链的电力网络安全存储方法及监督检查方法 |
CN113378207B (zh) * | 2021-07-14 | 2022-10-04 | 湖北央中巨石信息技术有限公司 | 基于区块链的数据文件共识方法及系统及装置及介质 |
CN113378144B (zh) * | 2021-07-14 | 2022-09-02 | 湖北央中巨石信息技术有限公司 | 基于区块链的图像文件共识方法及系统及装置及介质 |
CN113839989B (zh) * | 2021-08-28 | 2022-08-05 | 西安交通大学 | 一种多节点数据处理方法 |
CN113781229A (zh) * | 2021-09-22 | 2021-12-10 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种交易数据的存储方法、装置、设备及可读存储介质 |
CN114095228A (zh) * | 2021-11-15 | 2022-02-25 | 南京南瑞信息通信科技有限公司 | 基于区块链和边缘计算的物联网数据安全存取方法、系统、装置及存储介质 |
CN114168218B (zh) * | 2021-11-30 | 2024-03-29 | 深圳市名竹科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114500103A (zh) * | 2022-03-31 | 2022-05-13 | 泰山学院 | 一种物联网隐私数据切分加密方法及区块链系统 |
CN115733613A (zh) * | 2022-10-18 | 2023-03-03 | 超聚变数字技术有限公司 | 文件校验方法、设备和存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117402B (zh) * | 2015-07-16 | 2018-08-28 | 中国人民大学 | 日志数据分片方法及装置 |
CN106548091A (zh) * | 2016-10-14 | 2017-03-29 | 北京爱接力科技发展有限公司 | 一种数据存证、验证的方法及装置 |
CN107396360B (zh) * | 2017-08-15 | 2020-04-07 | 中国联合网络通信集团有限公司 | 区块验证方法及装置 |
CN107632781B (zh) * | 2017-08-28 | 2020-05-05 | 深圳市云舒网络技术有限公司 | 一种分布式存储多副本快速校验一致性的方法及存储结构 |
CN107888375A (zh) * | 2017-11-08 | 2018-04-06 | 深圳市携网科技有限公司 | 一种基于区块链技术的电子证据保全系统及方法 |
CN107819777B (zh) * | 2017-11-17 | 2020-07-24 | 利姆斯(北京)区块链技术有限公司 | 一种基于区块链技术的数据存证方法及系统 |
US11075744B2 (en) * | 2017-11-20 | 2021-07-27 | Acronis International Gmbh | Blockchain-based media content authentication methods and systems |
CN108764944A (zh) * | 2018-05-31 | 2018-11-06 | 北京京东尚科信息技术有限公司 | 验证方法、装置和计算机可读存储介质 |
CN109191197A (zh) * | 2018-08-24 | 2019-01-11 | 陕西优米数据技术有限公司 | 基于区块链技术的视频客流统计分析 |
JP6626228B1 (ja) * | 2019-03-19 | 2019-12-25 | 株式会社スカイコム | 管理サーバ、文書ファイル管理システム、文書ファイル管理方法、および文書ファイル管理プログラム |
CN110247757B (zh) * | 2019-04-19 | 2022-07-19 | 中国工商银行股份有限公司 | 基于国密算法的区块链处理方法、装置及系统 |
CN110413621B (zh) * | 2019-07-31 | 2021-08-06 | 中国工商银行股份有限公司 | 基于区块链的离线归档系统及方法 |
CN110716982B (zh) * | 2019-09-09 | 2024-02-02 | 深圳点链科技有限公司 | 区块链实时存储方法、装置、计算机设备和存储介质 |
-
2020
- 2020-04-02 CN CN202010254515.XA patent/CN111382463B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111382463A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111382463B (zh) | 基于流数据的区块链系统及方法 | |
US11501533B2 (en) | Media authentication using distributed ledger | |
CN110008757B (zh) | 一种物联网终端固件更新中数据保护方法及系统 | |
CN110134424B (zh) | 固件升级方法及系统、服务器、智能设备、可读存储介质 | |
US11947673B2 (en) | Over-the-air upgrade method and related apparatus | |
US9819494B2 (en) | Digital signature service system based on hash function and method thereof | |
US9276749B2 (en) | Distributed validation of digitally signed electronic documents | |
WO2019083440A2 (zh) | 一种车载设备升级方法及相关设备 | |
CN107948736A (zh) | 一种音视频证据保全方法及系统 | |
CN111931209B (zh) | 基于零知识证明的合同信息验证方法及装置 | |
CN109922047B (zh) | 一种图像传输系统及方法 | |
CN110740038B (zh) | 区块链及其通信方法、网关、通信系统和存储介质 | |
CN109936620B (zh) | 基于区块链的存储方法及装置、系统与存储介质 | |
CN114697122A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN113326525A (zh) | 一种基于智能合约的数据处理方法及装置 | |
CN111339201A (zh) | 基于区块链的测评方法及系统 | |
CN111970114A (zh) | 文件加密方法、系统、服务器和存储介质 | |
CN109391473B (zh) | 一种电子签章的方法、装置及存储介质 | |
CN105262752A (zh) | 一种虚拟钥匙的数据处理方法、装置及移动终端、服务器 | |
CN116015945A (zh) | 基于电子签名的电子档案安全传输方法、系统及介质 | |
CN112398655B (zh) | 一种文件传输方法、服务器及计算机存储介质 | |
CN114844716B (zh) | 数字签名报文处理方法、装置、设备及计算机介质 | |
CN114143098B (zh) | 数据存储方法和数据存储装置 | |
CN111832046B (zh) | 一种基于区块链技术的可信数据存证方法 | |
CN115426106A (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 |