CN113051625A - 一种基于区块链的数据存证方法及装置 - Google Patents

一种基于区块链的数据存证方法及装置 Download PDF

Info

Publication number
CN113051625A
CN113051625A CN202110313213.XA CN202110313213A CN113051625A CN 113051625 A CN113051625 A CN 113051625A CN 202110313213 A CN202110313213 A CN 202110313213A CN 113051625 A CN113051625 A CN 113051625A
Authority
CN
China
Prior art keywords
data
target data
type
target
module
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
Application number
CN202110313213.XA
Other languages
English (en)
Other versions
CN113051625B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110313213.XA priority Critical patent/CN113051625B/zh
Publication of CN113051625A publication Critical patent/CN113051625A/zh
Application granted granted Critical
Publication of CN113051625B publication Critical patent/CN113051625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof
    • 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

Abstract

本发明提供一种基于区块链的数据存证方法及装置,涉及区块链技术领域。所述方法包括:获取目标数据和目标数据的数据类型;若判断获知所述目标数据的数据类型属于第一类型,则根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括第一存证数据。所述装置用于执行上述方法。本发明实施例提供的基于区块链的数据存证方法及装置,提高了数据存储的便捷性。

Description

一种基于区块链的数据存证方法及装置
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的数据存证方法及装置。
背景技术
区块链具有去中心化、不可篡改、共识机制等技术特点,通过区块链进行数据的存储是可靠的。
目前,企业在实际业务中使用大量的去中心化应用(Dapp),产生的业务数据逐渐多样化,除了交易报文数据,还有越来越多的函件、图像凭证,版权文档,视频等数据需要存储。因此,如何通过区块链对上述多样化的数据进行存储,成为本领域需要解决的重要课题。
发明内容
针对现有技术中的问题,本发明实施例提供一种基于区块链的数据存证方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种基于区块链的数据存证方法,包括:
获取目标数据和目标数据的数据类型;
若判断获知所述目标数据的数据类型属于第一类型,则根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;
根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;
将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;
在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
另一方面,本发明提供一种基于区块链的数据存证装置,包括:
获取模块,用于获取目标数据和目标数据的数据类型;
判断模块,用于在判断获知所述目标数据的数据类型属于第一类型之后,根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;
抽取模块,用于根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;
数据处理模块,用于将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;
第一上链模块,用于在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述基于区块链的数据存证方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述基于区块链的数据存证方法的步骤。
本发明实施例提供的基于区块链的数据存证方法及装置,能够获取目标数据和目标数据的数据类型,在判断获知目标数据的数据类型属于第一类型,根据目标数据的数据类型获取对应的数据抽取规则,然后根据数据抽取规则对目标数据进行抽取,获得可编辑数据和格式化数据,将发件信息和可编辑数据作为主键,并将格式化数据作为主键对应的值,在区块链网络中广播第一上链请求以存储第一存证数据,能够将第一存证数据以键值对的形式存储到区块链中,实现不同的结构化数据的存储格式的统一,提高了数据存储的便捷性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的基于区块链的数据存证方法的流程示意图。
图2是本发明另一实施例提供的基于区块链的数据存证方法的流程示意图。
图3是本发明又一实施例提供的基于区块链的数据存证方法的流程示意图。
图4是本发明再一实施例提供的基于区块链的数据存证方法的交互流程示意图。
图5是本发明一实施例提供的基于区块链的数据存证装置的结构示意图。
图6是本发明另一实施例提供的基于区块链的数据存证装置的结构示意图。
图7是本发明又一实施例提供的基于区块链的数据存证装置的结构示意图。
图8是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。本发明实施例提供的基于区块链的数据存证方法利用区块链的去中心化、时间戳、不可篡改、智能合约、共识机制等技术特点,构建一个去中心化、点对点、可信的存储服务体系,能够提供安全、可信的区块链数据存储服务认证及管理服务,支持文档,图片,音频,视频等不同类型和规模的数据文件的存储。
下面以区块链网络中的一个机构节点作为执行主体为例,来说明本发明实施例提供的基于区块链的数据存证方法的实现过程。其中,区块链网络中有多个机构节点,区块链网络中的每个机构节点对应一个机构,所述机构包括但不限于企业。
图1是本发明一实施例提供的基于区块链的数据存证方法的流程示意图,如图1所示,本发明实施例提供的基于区块链的数据存证方法,包括:
S101、获取目标数据和目标数据的数据类型;
具体地,机构节点获取目标数据和目标数据对应的类型。其中,所述目标数据为信用证、函件等固定格式的结构化数据,所述目标数据的数据类型是预设的,根据实际需要进行设置,本发明实施例不做限定。
例如,对于银行A的付款保函,可以对银行A的付款保函的图片进行识别,获得银行A的付款保函的文本数据,设置上述文本数据的数据类型为付款保函I。将银行A的付款保函的文本数据以及对应的数据类型上传到所述机构节点,所述机构节点会获取银行A的付款保函的文本数据作为所述目标数据,并将付款保函I作为所述目标数据对应的数据类型。
S102、若判断获知所述目标数据的数据类型属于第一类型,则根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;
具体地,所述机构节点在获得所述目标数据的数据类型之后,会判断所述目标数据的数据类型是否属于第一类型,如果所述目标数据的数据类型属于第一类型,那么可以根据所述目标数据的数据类型获取对应的数据抽取规则,其中,可以预先设置所述第一类型包括哪些数据类型,如果所述第一类型包括所述目标数据的数据类型,那么所述目标数据的数据类型属于第一类型。所述第一类型对应的数据都是结构化数据,所述第一数据类型可以包括不同类型的付款保函、不同类型的信用证等,根据实际需要进行设置,本发明实施例不做限定。所述第一类型包括的每种数据类型都有对应的数据抽取规则。所述数据抽取规则是预设的,根据实际需要进行设置,本发明实施例不做限定。
S103、根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;
具体地,所述机构节点在获得所述目标数据的数据类型对应的数据抽取规则之后,根据所述述数据抽取规则从所述目标数据中抽取可编辑的字段对应的数据作为可编辑数据,并将所述目标数据按照预设格式进行存储,获得格式化数据。其中,所述数据抽取规则规定了所述目标数据中的那些字段作为可编辑的字段以及所述格式化数据的存储格式。
S104、将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;
具体地,在实际应用场景中,所述目标数据会发送给相关机构,相关机构的收件人名称、收件地址和发送日期等信息作为发件信息。所述机构节点可以获取上述发件信息与所述可编辑数据一起作为主键(key),并将所述格式化数据作为所述主键对应的值(value),从而获得key-value形式的第一存证数据。其中,所述第一存证数据包括所述主键以及所述主键对应的值。
S105、在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
具体地,所述机构节点在获得所述第一存证数据之后,在区块链网络中广播携带第一存证数据的第一上链请求,区块链网络中的其他机构节点可以接收所述第一上链请求,然后基于共识算法进行所述第一存证数据的上链确认,在确认通过之后可以将所述第一存证数据存储到区块链中。其中,共识算法可以采用实用拜占庭容错(PracticalByzantine Fault Tolerance,简称PBFT)算法。可理解的是第一存证数据可以单独打包成一个区块,也可以累积一定的数量之后打包成一个区块。可以从区块链网络中的多个机构节点推选出一个机构节点将第一存证数据打包上链,将数据打包成新区块上链的具体过程为现有技术,此处不进行赘述。
例如,银行A的付款保函的示例如下所示:
付款保函
付款保函(XXX银行)提要:如果买方未按照主合同的约定向贵方支付全部或部分货款,我行将在收到贵方书面索赔通知及买方具有上述违约事实的书面证明后
付款保函(XXX银行)
编号:
付款保函
___________(受益人):
鉴于贵方与买方__________于____年____月____日签订的编号为____的合同(下称主合同)履行需要,应买方申请,我行特开立以贵方为受益人、金额不超过____(币种)____(大写)万元的付款保函:
一、我行保证,买方将在贵方按照主合同的约定交付货物后,向贵方付款。
如果买方未按照主合同的约定向贵方支付全部或部分货款,我行将在收到贵方书面索赔通知及买方具有上述违约事实的书面证明后,以保函金额为限向贵方支付买方未付货款。
二、本保函的担保金额将随买方或我方已支付的金额递减。
三、如果贵方与买方协商变更主合同,应事先征得我行书面认可,否则本保函即行失效。
四、本保函不得转让。我行对除贵方以外的任何组织或个人不承担担保责任。
五、本保函自开立之日起生效,有效期至____(日期)止。书面索赔通知和有关证明文件必须在上述期限内送达我行,否则我行在该保函项下的责任自动解除。
买方按约履行付款义务、保函超过有效期或我行的担保义务履行完毕,保函即行失效,请将本保函退回我行注销。
XXX银行____(公章):
负责人(签字):
____年____月____日
银行A给收益人公司B开具上述格式的付款保函,在开具上述付款保函时会填写编号、受益人、买方等内容,并签字盖章。上述付款保函签字盖章之后,扫描成图片Y上传到银行A对应的机构节点a中,并设置对应的数据类型为付款保函001。机构节点a获取目标数据图片Y和图片Y对应的数据类型付款保函001。预先设置付款保函001属于第一类型,机构节点a能够判断出付款保函001属于第一类型,然后根据付款保函001查询对应的数据抽取规则。付款保函001对应的数据抽取规则包括:抽取编号、受益人、买方、合同的签订时间、合同编号、金额、币种、有效期截止日期、付款保函开具日期对应的内容作为可编辑数据,将付款保函的文本数据作为格式化数据。机构节点a基于付款保函001对应的数据抽取规则,对图片Y进行识别获得付款保函的文本数据作为格式化数据,并从付款保函的文本数据中查找编号、受益人、买方、合同的签订时间、合同编号、金额、币种、有效期截止日期、付款保函开具日期对应的内容作为可编辑数据。银行A需要将开具的付款保函提供给收益人公司B和买方公司C,并已通过邮件的方式将图片Y发送给了公司B和公司C。机构节点a可以获取到公司B的公司名称和邮箱地址,公司C的公司名称和邮箱地址以及发送时间,获取公司B的公司名称和邮箱地址,公司C的公司名称和邮箱地址以及发送时间作为发件信息,然后将上述发件信息和上述可编辑数据作为key,将上述格式化数据作为key对应的value,获得包括key和value的第一存证数据。机构节点a在区块链网络中广播第一上链请求,以使得包括上述key以及value的第一存证数据存储到区块链上。
本发明实施例提供的基于区块链的数据存证方法,能够获取目标数据和目标数据的数据类型,在判断获知目标数据的数据类型属于第一类型,根据目标数据的数据类型获取对应的数据抽取规则,然后根据数据抽取规则对目标数据进行抽取,获得可编辑数据和格式化数据,将发件信息和可编辑数据作为主键,并将格式化数据作为主键对应的值,在区块链网络中广播第一上链请求以存储第一存证数据,能够将第一存证数据以键值对的形式存储到区块链中,实现不同的结构化数据的存储格式的统一,提高了数据存储的便捷性。此外,以键值对的形式存储数据,能够通过主键方便的查询到对应的第一存证数据,提高了区块链中数据查询的效率。
图2是本发明另一实施例提供的基于区块链的数据存证方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于区块链的数据存证方法还包括:
S201、若判断获知所述目标数据的数据类型为第二类型,则获得所述目标数据对应的哈希摘要;
具体地,所述机构节点在获得所述目标数据的数据类型之后,会判断所述目标数据的数据类型是否属于第二类型,如果所述目标数据的数据类型属于第二类型,那么可以基于哈希算法获得所述目标数据对应的哈希摘要。其中,所述第二类型包括图片、视频、语音等非结构化数据。
S202、根据所述目标数据的存储地址生成所述目标数据的访问地址;
具体地,所述目标数据可以存储在所述机构节点本地,也可以存储到专用的数据存储服务器上,所述机构节点可以基于所述目标数据的存储地址生成所述目标数据的访问地址,通过所述访问地址可以下载或者在线查看所述目标数据。其中,所述访问地址可以为统一资源定位符(Uniform/Universal Resource Locator,简称URL)或者统一资源标识符(Uniform Resource Identifier,简称URI)的形式。
S203、在所述区块链网络中广播第二上链请求以存储第二存证数据,所述第二上链请求包括所述第二存证数据,所述第二存证数据包括所述目标数据对应的哈希摘要和访问地址。
具体地,所述机构节点在区块链网络中广播携带第二存证数据的第二上链请求,区块链网络中的其他机构节点可以接收所述第二上链请求,然后基于共识算法进行所述第二存证数据的上链确认,在确认通过之后可以将所述第二存证数据存储到区块链中。其中,所述第二上链数据包括所述目标数据对应的哈希摘要和访问地址。共识算法可以采用PBFT算法。可理解的是第二存证数据可以单独打包成一个区块,也可以累积一定的数量之后打包成一个区块。可以从区块链网络中的多个机构节点推选出一个机构节点将第二存证数据打包上链。将数据打包成新区块上链的具体过程为现有技术,此处不进行赘述。
在上述各实施例的基础上,进一步地,所述获得所述目标数据对应的哈希摘要包括:
对所述目标数据进行加密,计算加密后的目标数据的哈希摘要作为所述目标数据对应的哈希摘要。
具体地,为了数据保密的需要,所述机构节点可以对所述目标数据进行加密,然后通过哈希算法计算加密后的目标数据的哈希摘要,作为所述目标数据对应的哈希摘要。其中,对所述目标数据进行加密所采用的算法根据实际需要进行设置,例如可以采用对称密钥对所述目标数据进行加密,本发明实施例不做限定。
可理解的是,所述目标数据加密之后,通过所述访问地址获得的数据是加密后的所述目标数据,需要解密之后才能够查看。
图3是本发明又一实施例提供的基于区块链的数据存证方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述根据所述目标数据的存储地址生成所述目标数据的访问地址包括:
S301、若判断获知所述目标数据的数据类型为视频且所述目标数据的大小大于预设值,则将所述目标数据分成N个子文件分散存储;其中,N为大于等于2的正整数;
具体地,所述机构节点在获得所述目标数据的数据类型之后,会判断所述目标数据的数据类型是否属于第二类型,如果所述目标数据的数据类型属于第二类型并且所述目标数据的数据类型为视频,那么继续判断所述目标数据的大小是否大于预设值,如果所述目标数据的大小大于预设值,那么所述机构节点会将所述目标数据拆分为N个子文件,然后将N个子文件分散存储,每个子文件对应一个存储地址。其中,N为大于等于2的正整数。所述预设值根据是实际经验进行设置,本发明实施例不做限定。
例如,可以基于预设值对所述目标数据进行拆分,用所述目标数据的大小除以所述预设值,如果n为整数,那么N=n,如果n为小数,那么对n进行向上取整获得k,N=k+1。
例如,可以将所述目标数据平均分成N个子文件。
S302、根据所述N个子文件的存储地址生成所述目标数据的访问地址。
具体地,所述机构节点可以获取所述N个子文件的存储地址,然后根据所述N个子文件的存储地址生成所述目标数据的访问地址,即根据每个子文件的存储地址生成对应的访问地址,N个子文件对应的访问地址构成了所述目标数据的访问地址。每个子文件对应的访问地址可以为URI或者URL形式。
本发明实施例提供的基于区块链的数据存证方法,在存证图片、视频、音频等非结构化数据时,并没有将图片、视频、音频等数据本身存储到区块链上,而是存储对应的访问地址,从而能够节省区块链的存储空间。
图4是本发明再一实施例提供的基于区块链的数据存证方法的交互流程示意图,如图4所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于区块链的数据存证方法流程如下:
第一步、发送开证请求。机构节点A向机构节点B发送开证请求。所述开证请求例如申请开具信用证件。
第二步、生成证件图片。机构节点B根据预设的业务逻辑生成证件图片,并设置证件图片的数据类型为图片。
第三步、加密证件图片。机构节点B使用对称加密算法,生成对称密钥对证件图片进行加密。其中,机构节点B可以存储对称密钥与机构节点A的对应关系。
第四步、保存加密的证件图片。机构节点B将加密的证件图片保存到存储服务器C。
第五步、返回保存结果。存储服务器C在存储加密的证件图片之后,向机构节点B返回保存结果,保存结果包括加密的证件图片的存储地址。
第六步、判断数据类型。机构节点B判断加密的证件图片的数据类型是否属于第二类型,如果属于第二类型,那么进入第六步。
第七步、获得哈希摘要。机构节点B基于哈希算法计算加密的证件图片的哈希摘要。
第八步、生成访问地址。机构节点B根据加密的证件图片的存储地址生成访问地址。
第九步、广播第二上链请求。机构节点B在区块链网络中广播第二上链请求,以存储第二上链请求包括的加密的证件图片的哈希摘要和访问地址。
图5是本发明一实施例提供的基于区块链的数据存证装置的结构示意图,如图5所述,本发明实施例提供的基于区块链的数据存证装置包括获取模块501、判断模块502、抽取模块503、数据处理模块504和第一上链模块505,其中:
获取模块501用于获取目标数据和目标数据的数据类型;判断模块502用于在判断获知所述目标数据的数据类型属于第一类型之后,根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;抽取模块503用于根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;数据处理模块504用于将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;第一上链模块505用于在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
具体地,获取模块501获取目标数据和目标数据对应的类型。其中,所述目标数据为信用证、函件等固定格式的结构化数据,所述目标数据的数据类型是预设的,根据实际需要进行设置,本发明实施例不做限定。
在获得所述目标数据的数据类型之后,判断模块502会判断所述目标数据的数据类型是否属于第一类型,如果所述目标数据的数据类型属于第一类型,那么可以根据所述目标数据的数据类型获取对应的数据抽取规则,其中,可以预先设置所述第一类型包括哪些数据类型,如果所述第一类型包括所述目标数据的数据类型,那么所述目标数据的数据类型属于第一类型。所述第一类型对应的数据都是结构化数据,所述第一数据类型可以包括不同类型的付款保函、不同类型的信用证等,根据实际需要进行设置,本发明实施例不做限定。所述第一类型包括的每种数据类型都有对应的数据抽取规则。所述数据抽取规则是预设的,根据实际需要进行设置,本发明实施例不做限定。
在获得所述目标数据的数据类型对应的数据抽取规则之后,抽取模块503根据所述述数据抽取规则从所述目标数据中抽取可编辑的字段对应的数据作为可编辑数据,并将所述目标数据按照预设格式进行存储,获得格式化数据。其中,所述数据抽取规则规定了所述目标数据中的那些字段作为可编辑的字段以及所述格式化数据的存储格式。
在实际应用场景中,所述目标数据会发送给相关机构,相关机构的收件人名称、收件地址和发送日期等信息作为发件信息。数据处理模块504可以获取上述发件信息与所述可编辑数据一起作为主键(key),并将所述格式化数据作为所述主键对应的值(value),从而获得key-value形式的第一存证数据。其中,所述第一存证数据包括所述主键以及所述主键对应的值。
在获得所述第一存证数据之后,第一上链模块505在区块链网络中广播携带第一存证数据的第一上链请求,区块链网络中的其他机构节点可以接收所述第一上链请求,然后基于共识算法进行所述第一存证数据的上链确认,在确认通过之后可以将所述第一存证数据存储到区块链中。其中,共识算法可以采用实用拜占庭容错(Practical ByzantineFault Tolerance,简称PBFT)算法。可理解的是第一存证数据可以单独打包成一个区块,也可以累积一定的数量之后打包成一个区块。可以从区块链网络中的多个机构节点推选出一个机构节点将第一存证数据打包上链,将数据打包成新区块上链的具体过程为现有技术,此处不进行赘述。
本发明实施例提供的基于区块链的数据存证装置,能够获取目标数据和目标数据的数据类型,在判断获知目标数据的数据类型属于第一类型,根据目标数据的数据类型获取对应的数据抽取规则,然后根据数据抽取规则对目标数据进行抽取,获得可编辑数据和格式化数据,将发件信息和可编辑数据作为主键,并将格式化数据作为主键对应的值,在区块链网络中广播第一上链请求以存储第一存证数据,能够将第一存证数据以键值对的形式存储到区块链中,实现不同的结构化数据的存储格式的统一,提高了数据存储的便捷性。此外,以键值对的形式存储数据,能够通过主键方便的查询到对应的第一存证数据,提高了区块链中数据查询的效率。
图6是本发明另一实施例提供的基于区块链的数据存证装置的结构示意图,如图6所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于区块链的数据存证装置还包括获得模块506、生成模块507和第二上链模块508,其中:
获得模块506用于若判断获知所述目标数据的数据类型为第二类型,则获得所述目标数据对应的哈希摘要;生成模块507用于根据所述目标数据的存储地址生成所述目标数据的访问地址;第二上链模块508用于在所述区块链网络中广播第二上链请求以存储第二存证数据,所述第二上链请求包括所述第二存证数据,所述第二存证数据包括所述目标数据对应的哈希摘要和访问地址。
具体地,在获得所述目标数据的数据类型之后,获得模块506会判断所述目标数据的数据类型是否属于第二类型,如果所述目标数据的数据类型属于第二类型,那么可以基于哈希算法获得所述目标数据对应的哈希摘要。其中,所述第二类型包括图片、视频、语音等非结构化数据。
所述目标数据可以存储在所述机构节点本地,也可以存储到专用的数据存储服务器上,生成模块507可以基于所述目标数据的存储地址生成所述目标数据的访问地址,通过所述访问地址可以下载或者在线查看所述目标数据。其中,所述访问地址可以为URL或者URI的形式。
第二上链模块508在区块链网络中广播携带第二存证数据的第二上链请求,区块链网络中的其他机构节点可以接收所述第二上链请求,然后基于共识算法进行所述第二存证数据的上链确认,在确认通过之后可以将所述第二存证数据存储到区块链中。其中,所述第二上链数据包括所述目标数据对应的哈希摘要和访问地址。共识算法可以采用PBFT算法。可理解的是第二存证数据可以单独打包成一个区块,也可以累积一定的数量之后打包成一个区块。可以从区块链网络中的多个机构节点推选出一个机构节点将第二存证数据打包上链。将数据打包成新区块上链的具体过程为现有技术,此处不进行赘述。
在上述各实施例的基础上,进一步地,获得模块501具体用于:
对所述目标数据进行加密,计算加密后的目标数据的哈希摘要作为所述目标数据对应的哈希摘要。
具体地,为了数据保密的需要,获得模块501可以对所述目标数据进行加密,然后通过哈希算法计算加密后的目标数据的哈希摘要,作为所述目标数据对应的哈希摘要。其中,对所述目标数据进行加密所采用的算法根据实际需要进行设置,例如可以采用对称密钥对所述目标数据进行加密,本发明实施例不做限定。
图7是本发明又一实施例提供的基于区块链的数据存证装置的结构示意图,如图7所示,在上述各实施例的基础上,进一步地,生成模块507包括判断单元5071和生成单元5072,其中:
判断单元5071用于在判断获知所述目标数据的数据类型为视频且所述目标数据的大小大于预设值之后,将所述目标数据分成N个子文件分散存储;其中,N为大于等于2的正整数;生成单元5072用于根据所述N个子文件的存储地址生成所述目标数据的访问地址。
具体地,在获得所述目标数据的数据类型之后,判断单元5071会判断所述目标数据的数据类型是否属于第二类型,如果所述目标数据的数据类型属于第二类型并且所述目标数据的数据类型为视频,那么继续判断所述目标数据的大小是否大于预设值,如果所述目标数据的大小大于预设值,那么所述机构节点会将所述目标数据拆分为N个子文件,然后将N个子文件分散存储,每个子文件对应一个存储地址。其中,N为大于等于2的正整数。所述预设值根据是实际经验进行设置,本发明实施例不做限定。
生成单元5072可以获取所述N个子文件的存储地址,然后根据所述N个子文件的存储地址生成所述目标数据的访问地址,即根据每个子文件的存储地址生成对应的访问地址,N个子文件对应的访问地址构成了所述目标数据的访问地址。每个子文件对应的访问地址可以为URI或者URL形式。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本发明实施例提供的基于区块链的数据存证方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对基于区块链的数据存证方法及装置的应用领域不做限定。
图8是本发明一实施例提供的电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)801、通信接口(Communications Interface)802、存储器(memory)803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。处理器801可以调用存储器803中的逻辑指令,以执行如下方法:获取目标数据和目标数据的数据类型;若判断获知所述目标数据的数据类型属于第一类型,则根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
此外,上述的存储器803中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取目标数据和目标数据的数据类型;若判断获知所述目标数据的数据类型属于第一类型,则根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取目标数据和目标数据的数据类型;若判断获知所述目标数据的数据类型属于第一类型,则根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于区块链的数据存证方法,其特征在于,包括:
获取目标数据和目标数据的数据类型;
若判断获知所述目标数据的数据类型属于第一类型,则根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;
根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;
将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;
在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
2.根据权利要求1所述的方法,其特征在于,还包括:
若判断获知所述目标数据的数据类型为第二类型,则获得所述目标数据对应的哈希摘要;
根据所述目标数据的存储地址生成所述目标数据的访问地址;
在所述区块链网络中广播第二上链请求以存储第二存证数据,所述第二上链请求包括所述第二存证数据,所述第二存证数据包括所述目标数据对应的哈希摘要和访问地址。
3.根据权利要求2所述的方法,其特征在于,所述获得所述目标数据对应的哈希摘要包括:
对所述目标数据进行加密,计算加密后的目标数据的哈希摘要作为所述目标数据对应的哈希摘要。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述目标数据的存储地址生成所述目标数据的访问地址包括:
若判断获知所述目标数据的数据类型为视频且所述目标数据的大小大于预设值,则将所述目标数据分成N个子文件分散存储;其中,N为大于等于2的正整数;
根据所述N个子文件的存储地址生成所述目标数据的访问地址。
5.一种基于区块链的数据存证装置,其特征在于,包括:
获取模块,用于获取目标数据和目标数据的数据类型;
判断模块,用于在判断获知所述目标数据的数据类型属于第一类型之后,根据所述目标数据的数据类型获取对应的数据抽取规则;其中,所述数据抽取规则是预设的;
抽取模块,用于根据所述数据抽取规则对所述目标数据进行抽取,获得可编辑数据和格式化数据;
数据处理模块,用于将发件信息和所述可编辑数据作为主键,并将所述格式化数据作为所述主键对应的值;
第一上链模块,用于在区块链网络中广播第一上链请求以存储第一存证数据,所述第一上链请求包括所述第一存证数据;其中,所述第一存证数据包括所述主键和所述主键对应的值。
6.根据权利要求5所述的装置,其特征在于,还包括:
获得模块,用于若判断获知所述目标数据的数据类型为第二类型,则获得所述目标数据对应的哈希摘要;
生成模块,用于根据所述目标数据的存储地址生成所述目标数据的访问地址;
第二上链模块,用于在所述区块链网络中广播第二上链请求以存储第二存证数据,所述第二上链请求包括所述第二存证数据,所述第二存证数据包括所述目标数据对应的哈希摘要和访问地址。
7.根据权利要求6所述的装置,其特征在于,所述获得模块具体用于:
对所述目标数据进行加密,计算加密后的目标数据的哈希摘要作为所述目标数据对应的哈希摘要。
8.根据权利要求6或7所述的装置,其特征在于,所述生成模块包括:
判断单元,用于在判断获知所述目标数据的数据类型为视频且所述目标数据的大小大于预设值之后,将所述目标数据分成N个子文件分散存储;其中,N为大于等于2的正整数;
生成单元,用于根据所述N个子文件的存储地址生成所述目标数据的访问地址。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
CN202110313213.XA 2021-03-24 2021-03-24 一种基于区块链的数据存证方法及装置 Active CN113051625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110313213.XA CN113051625B (zh) 2021-03-24 2021-03-24 一种基于区块链的数据存证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110313213.XA CN113051625B (zh) 2021-03-24 2021-03-24 一种基于区块链的数据存证方法及装置

Publications (2)

Publication Number Publication Date
CN113051625A true CN113051625A (zh) 2021-06-29
CN113051625B CN113051625B (zh) 2024-02-20

Family

ID=76514800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110313213.XA Active CN113051625B (zh) 2021-03-24 2021-03-24 一种基于区块链的数据存证方法及装置

Country Status (1)

Country Link
CN (1) CN113051625B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109462483A (zh) * 2018-11-27 2019-03-12 平安科技(深圳)有限公司 基于区块链的邮件存证方法、装置、设备和存储介质
CN109525671A (zh) * 2018-11-26 2019-03-26 远光软件股份有限公司 基于区块链的数据存储方法、电子设备及存储介质
CN109815051A (zh) * 2018-12-20 2019-05-28 深圳智乾区块链科技有限公司 区块链的数据处理方法和系统
CN110336833A (zh) * 2019-07-30 2019-10-15 中国工商银行股份有限公司 基于区块链的图片内容共识方法、服务器
WO2020233616A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
CN112035897A (zh) * 2020-11-06 2020-12-04 腾讯科技(深圳)有限公司 区块链存证方法和相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525671A (zh) * 2018-11-26 2019-03-26 远光软件股份有限公司 基于区块链的数据存储方法、电子设备及存储介质
CN109462483A (zh) * 2018-11-27 2019-03-12 平安科技(深圳)有限公司 基于区块链的邮件存证方法、装置、设备和存储介质
CN109815051A (zh) * 2018-12-20 2019-05-28 深圳智乾区块链科技有限公司 区块链的数据处理方法和系统
WO2020233616A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
CN110336833A (zh) * 2019-07-30 2019-10-15 中国工商银行股份有限公司 基于区块链的图片内容共识方法、服务器
CN112035897A (zh) * 2020-11-06 2020-12-04 腾讯科技(深圳)有限公司 区块链存证方法和相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙国梓;冒小乐;陈鼎洁;雷鹏;李华康;: "基于区块链技术的电子数据存证系统", 西安邮电大学学报, no. 04, 10 July 2018 (2018-07-10) *

Also Published As

Publication number Publication date
CN113051625B (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
US20220366019A1 (en) Method and system for verifying ownership of a digital asset using a distributed hash table and a peer-to-peer distributed ledger
US20220114564A1 (en) Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
US20230410215A1 (en) Cryptographic method and system for secure extraction of data from a blockchain
US11233657B2 (en) Method and system for registering digital documents
Cucurull et al. Distributed immutabilization of secure logs
EP4369273A2 (en) A method and system for securing computer software using a distributed hash table and a blockchain
CN111292041B (zh) 一种电子合同生成方法、装置、设备及存储介质
CN106921496A (zh) 一种数字签名方法和系统
CN110598456B (zh) 一种数据存储方法、装置、电子设备以及存储介质
CN110336779B (zh) 一种区块链的构建方法、装置和电子设备
EP2272026A1 (en) Method and system to provide fine granular integrity to digital data
TW201342298A (zh) 電子郵件投遞認證方法
CN111311341A (zh) 票据处理方法、设备及介质
CN113051625B (zh) 一种基于区块链的数据存证方法及装置
Payeras-Capellà et al. Blockchain-based confidential multiparty contract signing protocol without TTP using elliptic curve cryptography

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