CN110190949B - 用于大数据量资源上链的方法和系统、设备及存储介质 - Google Patents

用于大数据量资源上链的方法和系统、设备及存储介质 Download PDF

Info

Publication number
CN110190949B
CN110190949B CN201910470050.9A CN201910470050A CN110190949B CN 110190949 B CN110190949 B CN 110190949B CN 201910470050 A CN201910470050 A CN 201910470050A CN 110190949 B CN110190949 B CN 110190949B
Authority
CN
China
Prior art keywords
uplink data
transaction
hash value
block
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910470050.9A
Other languages
English (en)
Other versions
CN110190949A (zh
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.)
Nanjing Benchain Information Technology Co ltd
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Nanjing Benchain Information Technology Co ltd
Hangzhou Fuzamei 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 Nanjing Benchain Information Technology Co ltd, Hangzhou Fuzamei Technology Co Ltd filed Critical Nanjing Benchain Information Technology Co ltd
Priority to CN201910470050.9A priority Critical patent/CN110190949B/zh
Publication of CN110190949A publication Critical patent/CN110190949A/zh
Application granted granted Critical
Publication of CN110190949B publication Critical patent/CN110190949B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了用于大数据量资源上链的方法和系统、设备及存储介质,属于区块链技术领域。将待上链数据的哈希值,与待上链数据主键Key放入交易内,交易经验证和广播、区块打包、验证、广播和共识后通过区块链节点的第一I/O通道保存在区块链上,与此同时,待上链数据通过区块链节点的第二I/O通道保存在区块链上。针对大数据量资源上链的技术问题,本发明将待上链数据的主键Key放入到交易里面最后被打包进区块,可以优先同步交易和区块数据,确保区块链尽快可以运行;而待上链数据可以相对空闲的时候通过不同于交易和区块同步的独立的IO通道并发进行同步,在大数据上链的时候,提高了区块链运行速度,也实现了大数据的上链。

Description

用于大数据量资源上链的方法和系统、设备及存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及用于大数据量资源上链的方法和系统、设备及存储介质。
背景技术
随着区块链的发展,数据上链已经是区块链的一种重要的应用模式。现有已经有相对成熟的模式,把数据作为交易的payload,跟交易一同上链。
因为现有的方案是把上链数据作为交易体的一部分,由于交易体大小有限制,导致现有的方案只能上传相对较小的文本类数据资源,对于类似图片以及视频的大数据量资源,只能通过外部组件保存,并把资源的HASH作为payload上传到区块链;这样对于这些大数据资源,一方面需要依赖外部组件,另一方面无法与区块链形成强相关,无法利用区块链的P2P网络进行传播与备份。
分布式网络是区块链的基础,而连接于分布式网络中的每个节点都存储有相同的数据交易记录,也就是每个节点记录相同的″一本账″则是区块链的最主要特征,要保证全网″一本账″,就必须将数据随时同步到各个节点,并能够保证数据的一致性。但在实际的应用系统中,业务数据可能非常庞大,尤其包括视频、音频的数据,动辄几十兆,有的甚至上百兆,如此庞大的数据再网络中传输,对带宽 要求非常高,而且全网中如此大的数据汇聚称″一本账″,则这个账本会非常庞大,单个节点很难保证有足够的存储容量来存储。
与数据存储相应的是数据检索,再庞大″一本账″数据中如何快速检索,再区块链分布式网络中也面临着严峻的挑战。
中国发明专利申请,申请公开号:CN109617964A;申请公布日: 2019.04.12;涉及一种基于区块链的大数据存储方法及装置,该方法能够根据区块的存储容量将待存储大数据″拆分″为第一上链数据和第一非上链数据,当第一上链数据的第一数据容量满足存储容量要求时,对第一上链数据和第一非上链数据进行加密,并将第一上链数据存储至区块,如此,能够实现大数据在区块链中的存储,改善了大数据上链存储的限制。其不足之处在于:该方案其实并没有详细说明怎么提取第一摘要数据,仅将第一摘要数据上传到了区块链,其他数据仍是保存非区块链以外的地方,仍然可能被篡改导致数据失效,并没有实现大数据真正意义上的上链。
发明内容
1.发明要解决的技术问题
为了克服上述技术问题,本发明提供了用于大数据量资源上链的方法和系统、设备及存储介质。本发明将待上链数据的主键Key放入到交易里面最后被打包进区块,可以优先同步交易和区块数据,确保区块链尽快可以运行;而待上链数据可以相对空闲的时候通过不同于交易和区块同步的独立的IO通道并发进行同步,在大数据上链的时候,提高了区块链运行速度,也实现了大数据的上链。
2.技术方案
为解决上述问题,本发明提供的技术方案为:
第一方面,本发明提供了用于大数据量资源上链的方法,将待上链数据的哈希值,与待上链数据主键Key放入交易内,交易经验证和广播、区块打包、验证、广播和共识后通过区块链节点的第一I/O通道保存在区块链上,与此同时,待上链数据通过区块链节点的第二I/O 通道保存在区块链上。
可选地,所述的交易还包括交易输入地址、交易输出地址、交易金额和备注;
可选地,所述的交易还包括待上链数据名称和时间戳。
可选地,所述上链数据通过P2P网络进行广播,保存在每个区块链节点的本地数据库中。
可选地,所述上链数据包括主键Key和值Value,所述的值Value 包括上链数据名称、类型、保存位置和上链数据的哈希值。
第二方面,本发明提供了用于大数据量资源上链的系统,包括:交易构建模块,用于将待上链数据的哈希值,与待上链数据主键Key 放入交易内,构建交易;区块打包模块,用于将交易打包到区块内;共识模块,用于共识区块;验证模块,用于验证交易和区块;P2P网络模块,用于在区块链节点之间广播交易、区块和上链数据;第一I/O 通道模块,用于接收和通过P2P网络模块输出保存共识后的区块;第二I/O通道模块,用于接收和通过P2P网络模块输出上链数据。
可选地,所述的交易还包括待上链数据名称和时间戳。
可选地,所述的交易还包括交易输入地址、交易输出地址、交易金额和备注。
可选地,还包括数据库,用于保存共识后的区块和上链数据。
可选地,所述上链数据包括主键Key和值Value,所述的值Value 包括上链数据名称、类型、保存位置和上链数据的哈希值。
第三方面,本发明提供了一种查询方法,通过区块高度查找交易哈希,根据交易哈希查找交易内容,从交易内容中获取到待查询上链数据哈希值和主键Key,根据主键Key从第一区块链节点本地数据库查询对应的上链数据,若未查询到,则提示警告;若查询到,则验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则正常使用上链数据;否,则提示警告。
可选地,所述的交易内容还包括交易输入地址、交易输出地址、交易金额和备注。
可选地,所述上链数据包括主键Key和值Value,所述的值Value 包括上链数据名称、类型、保存位置和上链数据的哈希值。
可选地,根据主键Key从第一区块链节点本地数据库未查询对应的上链数据,或所述查询到的上链数据哈希值与交易内容中获取的上链数据哈希值不一致时,向第二区块链节点发送上链数据哈希值和主键Key,以供第二区块链节点在本地数据库查询对应的上链数据,第二区块链节点将是否查询到的消息,是否一致的消息,以及若一致的情况下查询到的上链数据发送给第一区块链节点。
可选地,所述向第二区块链节点发送上链数据哈希值和主键Key,以供第二区块链节点在本地数据库查询对应的上链数据,第二区块链节点将是否查询到的消息,是否一致的消息,以及若一致的情况下查询到的上链数据发送给第一区块链节点;包括:第二区块链节点接收第一区块链节点发送的上链数据哈希值和主键Key,根据主键Key在第二区块链节点的本地数据库中查询对应的上链数据,若未查询到,则提示警告,向第三区块链节点发送上链数据哈希值和主键Key,重复以上步骤,至查询到为止;若查询到,则验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则将上链数据发送到第一区块链节点供正常使用;否,向第三区块链节点发送上链数据哈希值和主键Key,重复以上内容,至查询到且验证一致为止。
第四方面,本发明提供了一种查询系统,包括:交易查询模块,用于通过区块高度查找交易哈希,根据交易哈希查找交易内容,从交易内容中获取到待查询上链数据哈希值和主键Key;上链数据查询模块,用于根据主键Key从第一区块链节点本地数据库查询对应的上链数据;验证模块,用于验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则正常使用上链数据;否,则提示警告。
可选地,所述的交易内容还包括交易输入地址、交易输出地址、交易金额和备注。
可选地,所述上链数据包括主键Key和值Value,所述的值Value 包括上链数据名称、类型、保存位置和上链数据的哈希值。
可选地,所述上链数据查询模块未查询到对应的上链数据,或验证模块验证不一致时,还包括:第二I/O通道模块和P2P网络模块,其中,根据主键Key从第一区块链节点本地数据库未查询对应的上链数据,或所述查询到的上链数据哈希值与交易内容中获取的上链数据哈希值不一致时,第一区块链节点的P2P网络模块通过第二I/O通道模块发送上链数据的主键Key给第二区块链节点;以及通过第二I/O 通道模块接收所述第二区块链节点的P2P网络模块发来的消息或上链数据。
可选地,还包括:所述第二区块链节点的P2P网络模块通过第二 I/O通道模块接收第一区块链节点发送的上链数据哈希值和主键Key,通过上链数据查询模块查询对应的上链数据,若未查询到,则提示警告;若查询到,则通过验证模块验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则P2P网络模块通过第二I/O 通道模块将上链数据发送到第一区块链节点供正常使用;否,则向第三区块链节点发送上链数据哈希值和主键Key,重复以上内容,查询至一致为止。
第五方面,本发明提供了一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。
第六方面,本发明提供了一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上任一项所述的方法。
3.有益效果
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
将待上链数据的哈希值,以及主键Key放入到交易里面最后被打包进区块,经验证和共识,同步到区块链上,需实现强一致性,只有所有交易块同步完成,区块链才能正常处理交易(CAP里的CP);待上链数据自身跟交易的处理方式不同,无需参与区块链数据验证和共识,只需实现最终一致性(CAP里的AP);同步的时候,可以优先同步交易和区块数据,确保区块链尽快可以运行;而待上链数据可以相对空闲的时候通过不同于交易和区块同步的独立的IO通道并发进行同步,在大数据上链的时候,提高了区块链运行速度,也实现了大数据的上链。
附图说明
图1为本发明实施例1提供的用于大数据量资源上链的方法的流程图。
图2为本发明实施例2提供的用于大数据量资源上链的系统的结构示意图。
图3为本发明实施例3提供的用于上链大数据量资源的查询方法的流程图。
图4为本发明一优选实施例提供的用于上链大数据量资源的查询方法的流程图。
图5为本发明实施例4提供的用于上链大数据量资源的查询系统的结构示意图。
图6为本发明一优选实施例提供的用于上链大数据量资源的查询系统的结构示意图。
图7为本发明实施例5提供的用于大数据量资源上Chain33链的方法的流程图。
图8为Chain33链上大数据量资源存储的示意图。
图9为本发明实施例5提供的用于上Chain33链大数据量资源的查询方法的流程图。
图10为本发明一优选实施例提供的用于上Chain33链大数据量资源的查询方法的流程图。
图11为本发明另一优选实施例提供的用于上Chain33链大数据量资源的查询方法的流程图。
图12为本发明的一种设备结构示意图。
具体实施方式
为进一步了解本发明的内容,结合附图及实施例对本发明作详细描述。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
本发明中所述的第一、第二等词语,是为了描述本发明的技术方案方便而设置,并没有特定的限定作用,均为泛指,对本发明的技术方案不构成限定作用。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例1
用于大数据量资源上链的方法,如图1所示,方法步骤包括:
S101、将待上链数据的哈希值与待上链数据主键Key放入交易内;S103、交易经验证和广播、区块打包、验证、广播和共识后通过区块链节点的第一I/O通道保存在区块链上;
与此同时,待上链数据通过区块链节点的第二I/O通道保存在区块链上。
不与占用交易验证和区块验证同步的通道,加快了区块上传速度,通过将大数据上传到区块链上,确保大数据的不可篡改,确保数据安全性在交易中放入上链数据的哈希值与待上链数据主键Key,确保上链数据的一致性,实现了大数据真正意义的上链。
所述的交易除包含本申请的必要特征——上链数据的哈希值与待上链数据主键Key以外,还包括构成交易所需要的基本内容——交易输入地址、交易输出地址、交易金额和备注;还包括待上链数据名称和时间戳。
所述上链数据自身为缩短上链时间,不进行验证和共识,通过区块链节点的P2P网络进行广播,保存在每个区块链节点的本地数据库中。
所述上链数据包括主键Key和值Value,所述的值Value包括上链数据名称、类型、保存位置和上链数据的哈希值。当上链数据保存在不同的区块链节点上时,仅改变值Value中的保存位置。
实施例2
本实施例提出了用于大数据量资源上链的系统,与实施例1相对应,如图2所示,包括:
交易构建模块,用于将待上链数据的哈希值,与待上链数据主键 Key放入交易内,构建交易;
区块打包模块,用于将交易打包到区块内;
共识模块,用于共识区块;
验证模块,用于验证交易和区块;
P2P网络模块,用于在区块链节点20之间广播交易、区块和上链数据;
第一I/O通道模块,用于接收和通过P2P网络模块输出保存共识后的区块;
第二I/O通道模块,用于接收和通过P2P网络模块输出上链数据。
所述的交易还包括待上链数据名称和时间戳、交易输入地址、交易输出地址、交易金额和备注。
还包括数据库,用于保存共识后的区块和上链数据。
所述上链数据包括主键Key和值Value,所述的值Value包括上链数据名称、类型、保存位置和上链数据的哈希值。
实施例3
本实施例提出一种查询方法,与实施例1或2相对应,如图3所示,方法步骤包括:
S201、通过区块高度查找交易哈希;
S203、根据交易哈希查找交易内容;
S205、从交易内容中获取到待查询上链数据哈希值和主键Key;
S207、根据主键Key从第一区块链节点本地数据库查询对应的上链数据,若未查询到,则提示警告;
S209、若查询到,则验证所述上链数据哈希值与交易内容中查询的上链数据哈希值是否一致,是,则正常使用上链数据;否,则提示警告。
其中,所述的交易内容还包括交易输入地址、交易输出地址、交易金额和备注;所述上链数据包括主键Key和值Value,所述的值Value 包括上链数据名称、类型、保存位置和上链数据的哈希值。
为确保大数据安全性,进一步的改进方案是,在步骤S209之后,如图4所示,所述查询到的上链数据哈希值与交易内容中获取的上链数据哈希值不一致时,S2091、根据主键Key向第二区块链节点本地数据库获取待查询的上链数据,验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则正常使用上链数据;否,则重复以上内容,查询至一致为止。
根据主键Key从第一区块链节点本地数据库未查询对应的上链数据,或所述查询到的上链数据哈希值与交易内容中获取的上链数据哈希值不一致时,向第二区块链节点发送上链数据哈希值和主键Key,以供第二区块链节点在本地数据库查询对应的上链数据,第二区块链节点将是否查询到的消息,是否一致的消息,以及若一致的情况下查询到的上链数据发送给第一区块链节点。
所述向第二区块链节点发送上链数据哈希值和主键Key,以供第二区块链节点在本地数据库查询对应的上链数据,第二区块链节点将是否查询到的消息,是否一致的消息,以及若一致的情况下查询到的上链数据发送给第一区块链节点;包括:第二区块链节点接收第一区块链节点发送的上链数据哈希值和主键Key,根据主键Key在第二区块链节点的本地数据库中查询对应的上链数据,若未查询到,则提示警告,向第三区块链节点发送上链数据哈希值和主键Key,重复以上步骤,至查询到为止;若查询到,则验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则将上链数据发送到第一区块链节点供正常使用;否,向第三区块链节点发送上链数据哈希值和主键Key,重复以上内容,至查询到且验证一致为止。
实施例4
本实施例的一种查询系统,与实施例3相对应,如图5所示,包括:
交易查询模块,用于通过区块高度查找交易哈希,根据交易哈希查找交易内容,从交易内容中获取到待查询上链数据哈希值和主键 Key;
上链数据查询模块,用于根据主键Key从第一区块链节点本地数据库获取待查询的上链数据;
验证模块,用于验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则正常使用上链数据;否,则提示警告。
其中,所述的交易内容还包括交易输入地址、交易输出地址、交易金额和备注;所述上链数据包括主键Key和值Value,所述的值Value 包括上链数据名称、类型、保存位置和上链数据的哈希值。
进一步的改进是,如图6所示,所述上链数据查询模块未查询到对应的上链数据,或验证模块验证不一致时,还包括:
第二I/O通道模块和P2P网络模块,其中,
根据主键Key从第一区块链节点本地数据库未查询对应的上链数据,或所述查询到的上链数据哈希值与交易内容中获取的上链数据哈希值不一致时,第一区块链节点的P2P网络模块通过第二I/O通道模块发送上链数据的主键Key给第二区块链节点;
以及通过第二I/O通道模块接收所述第二区块链节点的P2P网络模块发来的消息或上链数据。
进一步地,还包括:所述第二区块链节点的P2P网络模块通过第二I/O通道模块接收第一区块链节点发送的上链数据哈希值和主键 Key,通过上链数据查询模块查询对应的上链数据,若未查询到,则提示警告;若查询到,则通过验证模块验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则P2P网络模块通过第二I/O通道模块将上链数据发送到第一区块链节点供正常使用;否,则向第三区块链节点发送上链数据哈希值和主键Key,重复以上内容,查询至一致为止。所述第二区块链节点或第三区块链节点等区块链节点可以是第一区块链节点相邻的节点,方便加快数据传送。
实施例5
本专利申请提出的技术方案可在各种现行的链上推广使用。
杭州复杂美33公链——Chain33(简称BTY),具有低延时、高并发的核心技术特点,本实施例结合BTY说明本专利申请的技术方案内容。为进一步发挥BTY的功能,扩展其应用,提出了一种用于大数量上链的方法,BTY-Stark、BTY-Lannister、BTY-Targaryen分别为BTY上的任意三个节点,这三个节点的类型相同,功能相似。
假设用户Jon Snow欲在BTY节点BTY-Stark处,上链一个证据文件,文件格式为JPG,大小520G,假设该文件简称为P,对文件P进行哈希运算,得到文件哈希值Hash-P,文件P的元数据包括主键Key-P 和值Value-P,主键Key是文件P的唯一标识符,值Value包括文件P名称、文件类型、保存位置以及文件哈希值Hash-P。如图7所示,方法步骤包括:
S601、将Hash-P、主键Key-P、交易输入地址、交易输出地址、交易金额、备注、文件P名称和时间戳放入交易内,用于构建交易Iron Throne;
S603、交易Iron Throne经广播和验证、区块打包、验证、广播和共识后通过BTY-Stark的第一I/O通道保存在Chain33上;
与此同时,放在交易里面的上链数据大小有限制,为了更好地支持数据上链,文件P不进行验证和共识,从Chain33节点BTY-Stark 出发,通过Chain33的P2P网络进行广播,通过每个Chain33节点对应的第二I/O通道,保存在每个Chain33节点的本地数据库中,如图8所示。
之所以采用独立的I/O通道,主要是考虑文件P数据太大,如果跟区块同步占用同一个I/O通道,会拖慢整个区块同步效率。本申请的技术方案创造性的实现以下技术效果:1)将文件P从对应的交易Iron Throne里移出,不占用交易Iron Throne的大小。2)文件P的数据与交易Iron Throne的数据独立传播,且应用弱一致性方案,确保交易广播与区块同步效率。3)自动为文件P与对应交易Iron Throne之间建立关联关系,交易Iron Throne保存与文件相关的文件P名称、文件哈希值 Hash-P和主键Key-P。
对应地,本实施例还提出了用于大数据量资源上链的系统,如图 2所示,包括:
交易构建模块,用于将文件哈希值Hash-P,与主键Key-P,文件 P名称、时间戳、交易输入地址、交易输出地址、交易金额和备注,用于构建交易Iron Throne;
区块打包模块,用于将交易Iron Throne打包到区块Game of Power 内;
共识模块,用于共识区块Game of Power;
验证模块,用于验证交易Iron Throne和区块Game of Power;
P2P网络模块,用于在Chain33节点之间广播交易Iron Throne、区块Game ofPower和文件P;
第一I/O通道模块,用于接收和通过P2P网络模块输出保存共识后的区块GameofPower;
第二I/O通道模块,用于接收和通过P2P网络模块输出文件P。
还包括数据库,用于保存共识后的区块Game of Power和文件P。
大数据文件P存储在Chain33上的区块高度H339966的区块上之后,为便于检索查询,本实施例还提出了用于上链大数据量资源的查询方法,如图9所示,方法步骤包括:
S701、通过区块高度H339966查找交易哈希;
S703、根据交易哈希查找交易内容;
S705、从交易内容中获取到文件哈希值Hash-P和主键Key-P;
S707、根据主键Key-P在第一区块链节点本地数据库中查询对应的文件P′,若未查询到,则提示警告;
S709、若查询到,计算所述文件P′的哈希值Hash-P′;
S7011、验证所述Hash-P′与Hash-P是否一致,是,则正常使用文件P′;否,则提示警告。
为确保大数据有效性和安全性,进一步的改进方案是,在步骤 S707未查询到,或步骤S709不一致之后,也就是:根据主键Key-P 从Chain33节点BTY-Stark本地数据库未查询到对应的文件P′,或所述查询到的文件P′的哈希值Hash-P′与文件哈希值Hash-P不一致时,如图10所示:
S7013、向Chain33节点BTY-Lannister、BTY-Targaryen或其他任一节点(假设本实施例为Chain33节点BTY-Lannister)发送文件哈希值 Hash-P和主键Key-P;
S7015、Chain33节点BTY-Lannister在本地数据库查询对应的文件P′;
S7017、Chain33节点BTY-Lannister将是否查询到的消息,是否一致的消息,以及若一致的情况下查询到的文件P′发送给Chain33节点 BTY-Stark。
S7019、若未查询到,或不一致时,重复步骤S7013、S7015和S7017,至查询到且验证一致时为止。
所述步骤S7015、S7017和S7019详细内容包括,如图11所示:
S801、Chain33节点BTY-Lannister接收Chain33节点BTY-Stark 发送的文件哈希值Hash-P和主键Key-P;
S803、Chain33节点BTY-Lannister根据主键Key-P从本地数据库查询对应的文件P′;若未查询到,则提示警告,向Chain33节点 BTY-Targaryen或其他任一节点(假设本实施例为Chain33节点 BTY-Targaryen)发送文件哈希值Hash-P和主键Key-P,重复步骤S801,至查询到为止;
S805、若查询到,则计算所述文件P′的哈希值Hash-P′;
S807、验证所述文件P′的哈希值Hash-P′与文件哈希值Hash-P 是否一致;
S809、是,则将文件P′发送到Chain33节点BTY-Stark供正常使用;
S8011、否,向Chain33节点BTY-Targaryen或其他任一节点(假设本实施例为Chain33节点BTY-Targaryen)发送文件哈希值Hash-P和主键Key-P;
重复步骤S801、S803、S805、S807、S809和S8011,至查询到且验证一致为止。
在上述方法执行的过程中,步骤S801、S803、S805、S807、S809、 S8011结果消息发送给Chain33节点BTY-Stark。
对应地,本实施例还提出了一种查询系统,与实施例3相对应,如图5所示,包括:
交易查询模块,通过区块高度H339966查找交易哈希;根据交易哈希查找交易内容;从交易内容中获取到文件哈希值Hash-P和主键 Key-P;
上链数据查询模块,用于根据主键Key-P从Chain33节点本地数据库获取文件P′;
验证模块,验证所述文件P′的哈希值Hash-P′与文件哈希值Hash-P是否一致,是,则正常使用文件P′;否,则提示警告。
所述上链数据查询模块未查询到对应的上链数据——文件P′,或验证模块验证不一致时,还包括:第二I/O通道模块和P2P网络模块,如图6所示,其中,
根据主键Key-P从Chain33节点BTY-Stark本地数据库未查询到对应的上链数据,或所述查询到的文件P′的哈希值Hash-P′与文件哈希值Hash-P不一致时,Chain33节点BTY-Stark的P2P网络模块通过第二I/O通道模块发送主键Key-P给Chain33节点BTY-Lannister;
以及通过第二I/O通道模块接收所述Chain33节点BTY-Lannister 的P2P网络模块发来的消息或文件P′。
进一步地,还包括:所述第二区块链节点的P2P网络模块通过第二I/O通道模块接收Chain33节点BTY-Stark发送的文件哈希值Hash-P 和主键Key-P,通过上链数据查询模块查询对应的文件P′,若未查询到,则提示警告;向Chain33节点BTY-Targaryen或其他任一节点(假设本实施例为Chain33节点BTY-Targaryen)发送文件哈希值Hash-P和主键Key-P,重复步骤S801,至查询到为止;若查询到,则通过验证模块验证所述文件P′的哈希值Hash-P′与文件哈希值Hash-P是否一致,是,则P2P网络模块通过第二I/O通道模块将文件P′发送到Chain33节点BTY-Stark供正常使用;否,则向Chain33节点 BTY-Targaryen发送文件哈希值Hash-P和主键Key-P,重复以上内容,至查询到且验证一致为止。
实施例6
一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。
一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上实施例1、3或5所述的方法。
图12为本发明一实施例提供的一种设备的结构示意图。
如图12所示,作为另一方面,本申请还提供了一种设备,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器 (RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本申请公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一实施例描述的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种查询方法,其特征在于,通过区块高度查找交易哈希,根据交易哈希查找交易内容,从交易内容中获取到待查询上链数据哈希值和主键Key,根据主键Key从第一区块链节点本地数据库查询对应的上链数据,若未查询到,则提示警告;若查询到,则验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则正常使用上链数据;否,则提示警告;
其中,所述交易内容通过区块链节点的第一I/O通道保存在区块链上,所述上链数据通过区块链节点的第二I/O通道保存在区块链上。
2.根据权利要求1所述的方法,其特征在于,所述的交易内容还包括交易输入地址、交易输出地址、交易金额和备注。
3.根据权利要求1所述的方法,其特征在于,所述上链数据包括主键Key和值Value,所述的值Value包括上链数据名称、类型、保存位置和上链数据的哈希值。
4.根据权利要求1所述的方法,其特征在于,根据主键Key从第一区块链节点本地数据库未查询对应的上链数据,或所述查询到的上链数据哈希值与交易内容中获取的上链数据哈希值不一致时,向第二区块链节点发送上链数据哈希值和主键Key,以供第二区块链节点在本地数据库查询对应的上链数据,第二区块链节点将是否查询到的消息,是否一致的消息,以及若一致的情况下查询到的上链数据发送给第一区块链节点。
5.根据权利要求4所述的方法,其特征在于,所述向第二区块链节点发送上链数据哈希值和主键Key,以供第二区块链节点在本地数据库查询对应的上链数据,第二区块链节点将是否查询到的消息,是否一致的消息,以及若一致的情况下查询到的上链数据发送给第一区块链节点;包括:第二区块链节点接收第一区块链节点发送的上链数据哈希值和主键Key,根据主键Key在第二区块链节点的本地数据库中查询对应的上链数据,若未查询到,则提示警告,向第三区块链节点发送上链数据哈希值和主键Key,重复以上步骤,至查询到为止;若查询到,则验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则将上链数据发送到第一区块链节点供正常使用;否,向第三区块链节点发送上链数据哈希值和主键Key,重复以上内容,至查询到且验证一致为止。
6.一种查询系统,其特征在于,包括:
交易查询模块,用于通过区块高度查找交易哈希,根据交易哈希查找交易内容,从交易内容中获取到待查询上链数据哈希值和主键Key;
上链数据查询模块,用于根据主键Key从第一区块链节点本地数据库查询对应的上链数据;
验证模块,用于验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则正常使用上链数据;否,则提示警告;其中,所述交易内容通过区块链节点的第一I/O通道保存在区块链上,所述上链数据通过区块链节点的第二I/O通道保存在区块链上。
7.根据权利要求6所述的系统,其特征在于,所述的交易内容还包括交易输入地址、交易输出地址、交易金额和备注。
8.根据权利要求6所述的系统,其特征在于,所述上链数据包括主键Key和值Value,所述的值Value包括上链数据名称、类型、保存位置和上链数据的哈希值。
9.根据权利要求6所述的系统,其特征在于,所述上链数据查询模块未查询到对应的上链数据,或验证模块验证不一致时,还包括:
第二I/O通道模块和P2P网络模块,其中,
根据主键Key从第一区块链节点本地数据库未查询对应的上链数据,或所述查询到的上链数据哈希值与交易内容中获取的上链数据哈希值不一致时,第一区块链节点的P2P网络模块通过第二I/O通道模块发送上链数据的主键Key给第二区块链节点;
以及通过第二I/O通道模块接收所述第二区块链节点的P2P网络模块发来的消息或上链数据。
10.根据权利要求9所述的系统,其特征在于,还包括:所述第二区块链节点的P2P网络模块通过第二I/O通道模块接收第一区块链节点发送的上链数据哈希值和主键Key,通过上链数据查询模块查询对应的上链数据,若未查询到,则提示警告;若查询到,则通过验证模块验证所述上链数据哈希值与交易内容中获取的上链数据哈希值是否一致,是,则P2P网络模块通过第二I/O通道模块将上链数据发送到第一区块链节点供正常使用;否,则向第三区块链节点发送上链数据哈希值和主键Key,重复以上内容,查询至一致为止。
11.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-5中任一项所述的方法。
12.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
CN201910470050.9A 2019-05-31 2019-05-31 用于大数据量资源上链的方法和系统、设备及存储介质 Active CN110190949B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910470050.9A CN110190949B (zh) 2019-05-31 2019-05-31 用于大数据量资源上链的方法和系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910470050.9A CN110190949B (zh) 2019-05-31 2019-05-31 用于大数据量资源上链的方法和系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110190949A CN110190949A (zh) 2019-08-30
CN110190949B true CN110190949B (zh) 2023-04-14

Family

ID=67719483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910470050.9A Active CN110190949B (zh) 2019-05-31 2019-05-31 用于大数据量资源上链的方法和系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110190949B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031041A (zh) * 2019-12-13 2020-04-17 山东众阳健康科技集团有限公司 一种基于区块链的数据上链存储方法、系统、介质及设备
CN111524011B (zh) * 2020-05-06 2023-05-30 杭州复杂美科技有限公司 平行链共识确认方法、设备和存储介质
CN111583041B (zh) * 2020-05-13 2023-04-28 中国银行股份有限公司 基于区块链的债券发行数据存储、核验处理方法及装置
CN112488714A (zh) * 2020-12-16 2021-03-12 福州凌云数据科技有限公司 一种基于区块链交易过程的备注字段上链的方法
CN113343292A (zh) * 2021-05-28 2021-09-03 网易(杭州)网络有限公司 交易编号处理方法、装置、存储介质及计算机设备
CN113434909B (zh) * 2021-06-25 2023-12-29 湖北央中巨石信息技术有限公司 一种基于区块链的数据按需存证方法
CN113568980B (zh) * 2021-08-09 2023-10-31 北京恒安嘉新安全技术有限公司 区块链信息监测方法、装置、设备及存储介质
CN114244523B (zh) * 2021-12-09 2024-07-12 东软集团股份有限公司 数据处理方法、装置和适配器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805570A (zh) * 2018-06-01 2018-11-13 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3376452A1 (en) * 2017-03-15 2018-09-19 Nokia Technologies Oy Blockchain-based electronic transfer method and network
CN108563771B (zh) * 2018-04-20 2020-06-09 中国科学院合肥物质科学研究院 基于区块链的大文件管理系统及方法
CN109033475B (zh) * 2018-09-10 2020-10-23 湖南智慧政务区块链科技有限公司 一种文件存储方法、装置、设备及存储介质
CN109151526A (zh) * 2018-09-30 2019-01-04 深圳市元征科技股份有限公司 一种视频传播方法、系统、设备及计算机可读存储介质
CN109543065B (zh) * 2018-11-14 2023-04-28 成都皓图智能科技有限责任公司 一种结合区块链的视频主动识别方法
CN109617964B (zh) * 2018-12-12 2021-11-09 成都四方伟业软件股份有限公司 基于区块链的大数据存储方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805570A (zh) * 2018-06-01 2018-11-13 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN110190949A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110190949B (zh) 用于大数据量资源上链的方法和系统、设备及存储介质
US10949447B2 (en) Blockchain-based data synchronizing and data block parsing method and device
US11350139B2 (en) Video live broadcast method and apparatus
CN110442579B (zh) 一种状态树数据存储方法、同步方法及设备和存储介质
WO2019144761A1 (zh) 一种数据同步方法和分布式系统、设备
US20170031948A1 (en) File synchronization method, server, and terminal
CN102054035B (zh) 一种基于数据范围的数据库数据同步方法
CN110175213A (zh) 一种基于SCN方式的Oracle数据库同步系统及方法
CN102882974B (zh) 一种通过网站识别版本号节省网站访问资源的方法
CN109145060B (zh) 数据处理方法及装置
CN104348859B (zh) 文件同步方法、装置、服务器、终端及系统
CN103795765A (zh) 一种文件上传校验方法及系统
CN114647698A (zh) 数据同步方法、装置及计算机存储介质
CN115587114A (zh) 系统以及查询方法
CN113300875B (zh) 回源数据校验方法、服务器、系统及存储介质
CN109657000B (zh) 一种轨道交通综合监控系统的实时数据同步方法及装置
CN111241044B (zh) 搭建异构数据库的方法、装置、设备及可读存储介质
CN116775712A (zh) 联表查询方法、装置、电子设备、分布式系统和存储介质
CN116186082A (zh) 基于分布式的数据汇总方法、第一服务器和电子设备
CN113449042B (zh) 数据自动分库方法及装置
CN115082038A (zh) 系统集成方法、装置及电子设备
CN112187916B (zh) 一种跨系统的数据同步方法与装置
CN113760519B (zh) 分布式事务处理方法、装置、系统和电子设备
CN113641761A (zh) 数据同步方法及装置
CN111859068B (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