CN107948283A - 一种联盟链大文件存储及校验的方法及*** - Google Patents

一种联盟链大文件存储及校验的方法及*** Download PDF

Info

Publication number
CN107948283A
CN107948283A CN201711192274.5A CN201711192274A CN107948283A CN 107948283 A CN107948283 A CN 107948283A CN 201711192274 A CN201711192274 A CN 201711192274A CN 107948283 A CN107948283 A CN 107948283A
Authority
CN
China
Prior art keywords
file
cochain
middleware layer
characteristic information
document
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.)
Pending
Application number
CN201711192274.5A
Other languages
English (en)
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.)
Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
Original Assignee
Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
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 Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute filed Critical Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
Priority to CN201711192274.5A priority Critical patent/CN107948283A/zh
Publication of CN107948283A publication Critical patent/CN107948283A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种联盟链大文件存储及校验的方法,包括:业务***提取文件的特征信息,并将文件和特征信息发送给中间件层;中间件层校验特征信息,当校验通过后,将文件发送给BT节点进行同步操作;当同步操作完成后,中间件层将特征信息写入联盟链节点;当写入完成后,中间件层对同步至BT节点的文件附加已上链标记。该方法能够在文件不保存在联盟链的前提下,帮助需要保存大量文件信息的企业级业务方,借助区块链技术的不可篡改性进行数据文件的存储,降低使用和运行成本、提高存储文件的效率和恢复能力。本申请还公开了一种联盟链大文件存储及校验***,具有上述有益效果。

Description

一种联盟链大文件存储及校验的方法及***
技术领域
本申请涉及区块链技术领域,特别涉及一种联盟链大文件存储及校验的方法及***。
背景技术
随着经济的发展,各式各样的金融产品渐渐出现,其中,比特币作为出现时间较早、影响范围最广的虚拟货币逐渐进入了大众的视野。而作为支撑比特币的最关键技术,即对区块链技术也展开了研究和拓展应用范围。
区块链技术,也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。而其中包括一种对特定的组织团体开放的联盟链,联盟链拥有准入机制,更偏向私有链的范畴,可视为“部分去中心化”,公众可以查阅和交易,但不能验证交易,或不能发布智能合约,需获得联盟许可。
最初人们主要用它来记录账本一类较关键的敏感数据,以防止丢失。逐渐的,因区块链的高可靠性、去信任的能力使得人们想要用它来存储数据,以防止异常事件导致的数据丢失。尤其是拥有准入机制的联盟链,使得企业级用户尤为看中,且在企业中大量大体积的数据文件可能会根据需求进行多倍的冗余存储,这样一来会使同一数据文件占用更大的存储空间,而区块链技术的设计初衷决定了它并不适合存储大体积文件,其实际保存的无逻辑数据容量只有每秒若干MB,远不能满足实际存储中要求的每秒上百MB,若强行进行存储,会耗费大量的时间和经济成本,且存储的大体积数据没有必要达成区块链技术最重要的彼此共识。
所以,如何在文件不保存在联盟链的前提下,帮助需要保存大量文件信息的业务方,借助区块链技术的不可篡改性,提供一种使用成本更低、效果更好的联盟链大文件存储及校验机制是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种联盟链大文件存储及校验的方法及***,能够在文件不保存在联盟链的前提下,帮助需要保存大量文件信息的企业级业务方,借助区块链技术的不可篡改性进行数据文件的存储,降低使用和运行成本、提高存储文件的效率和恢复能力。
为解决上述技术问题,本申请提供一种联盟链大文件存储及校验的方法,该方法包括:
业务***提取文件的特征信息,并将所述文件和所述特征信息发送给中间件层;其中,所述中间件层设置在业务***的后端,并同时连接于联盟链节点和BT节点;
所述中间件层校验所述特征信息,当校验通过后,将所述文件发送给所述BT节点进行同步操作;
当所述同步操作完成后,所述中间件层将所述特征信息写入所述联盟链节点;
当写入完成后,所述中间件层对同步至所述BT节点的所述文件附加已上链标记。
可选的,业务***提取文件的特征信息,并将所述文件和所述特征信息发送给中间件层,包括:
根据所述文件生成上链请求,并执行摘要计算得到文件摘要;
利用所述文件摘要、所述上链请求以及本地私钥执行签名计算,得到文件签名;
利用所述文件签名、所述文件摘要以及所述上链请求生成所述特征信息;
将所述文件和所述特征信息发送给所述中间件层。
可选的,所述中间件层校验所述特征信息,当校验通过后,将所述文件发送给所述BT节点进行同步操作,包括:
对所述文件执行上链文件摘要计算得到上链文件摘要;
将所述上链文件摘要与所述文件摘要做比对;
当对比结果一致时,将所述文件发送至所述BT节点进行所述同步操作;
当所述同步操作完成后,为同步至所述BT节点的所述文件附加上链中未确认标记。
可选的,所述中间件层对同步至所述BT节点的所述文件附加已上链标记,包括:
当写入完成后,所述联盟链节点返回成功上链结果给所述中间件层;
所述中间件层根据所述成功上链结果修改所述上链中未确认标记为已上链标记。
本申请还提供了一种联盟链大文件存储及校验的***,该***包括:
提取单元,用于业务***提取文件的特征信息,并将所述文件和所述特征信息发送给中间件层;其中,所述中间件层设置在业务***的后端,并同时连接于联盟链节点和BT节点;
校验同步单元,用于所述中间件层校验所述特征信息,当校验通过后,将所述文件发送给所述BT节点进行同步操作;
写入单元,用于当所述同步操作完成后,所述中间件层将所述特征信息写入所述联盟链节点;
上链标记单元,用于当写入完成后,所述中间件层对同步至所述BT节点的所述文件附加已上链标记。
可选的,所述提取单元包括:
生成计算子单元,用于根据所述文件生成上链请求,并执行摘要计算得到文件摘要;
签名计算子单元,用于利用所述文件摘要、所述上链请求以及本地私钥执行签名计算,得到文件签名;
特征信息生成子单元,用于利用所述文件签名、所述文件摘要以及所述上链请求生成所述特征信息;
发送子单元,用于将所述文件和所述特征信息发送给所述中间件层。
可选的,所述校验单元包括:
计算对比子单元,用于对所述文件执行上链文件摘要计算得到上链文件摘要;
对比子单元,用于将所述上链文件摘要与所述文件摘要做比对;
同步子单元,用于当对比结果一致时,将所述文件发送至所述BT节点进行所述同步操作;
第一标记子单元,用于当所述同步操作完成后,为同步至所述BT节点的所述文件附加上链中未确认标记。
可选的,所述上链标记单元包括:
结果反馈子单元,用于当写入完成后,所述联盟链节点返回成功上链结果给所述中间件层;
第二标记子单元,用于所述中间件层根据所述成功上链结果修改所述上链中未确认标记为已上链标记。
本申请所提供的一种联盟链大文件存储及校验的方法,通过业务***提取文件的特征信息,并将所述文件和所述特征信息发送给中间件层;所述中间件层校验所述特征信息,当校验通过后,将所述文件发送给所述BT节点进行同步操作;当所述同步操作完成后,所述中间件层将所述特征信息写入所述联盟链节点;当写入完成后,所述中间件层对同步至所述BT节点的所述文件附加已上链标记。
显然,本申请所提供的技术方案,通过将被存储文件提取出的特征信息进行校验,在校验通过后只将特征信息保存在联盟链节点中,将完整文件同步至BT节点中。能够在文件不保存在联盟链的前提下,帮助需要保存大量文件信息的企业级业务方,借助区块链技术的不可篡改性进行数据文件的存储,并利用BT节点的特性实现冗余存储,进一步防止了文件信息的因异常情况出现的丢失现象,降低了使用和运行成本、提高了存储文件的效率和恢复能力。本申请同时还提供了一种联盟链大文件存储及校验的***,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种联盟链大文件存储及校验的方法的流程图;
图2为本申请实施例所提供的另一种联盟链大文件存储及校验的方法的流程图;
图3为本申请实施例所提供的又一种联盟链大文件存储及校验的方法的流程图;
图4为本申请实施例所提供的再一种联盟链大文件存储及校验的方法的流程图;
图5为本申请实施例所提供的一种联盟链大文件存储及校验的***的结构框图;
图6为本申请实施例所提供的一种联盟链大文件存储及校验的***实际组成的结构框图。
具体实施方式
本申请的核心是提供一种联盟链大文件存储及校验的方法及***,能够在文件不保存在联盟链的前提下,帮助需要保存大量文件信息的业务方,借助区块链技术的不可篡改性进行数据文件的存储,降低了使用和运行成本、提高了存储文件的效率和恢复能力。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合图1,图1为本申请实施例所提供的一种联盟链大文件存储及校验的方法的流程图。
其具体包括以下步骤:
S101:业务***提取文件的特征信息,并将文件和特征信息发送给中间件层;其中,中间件层设置在业务***的后端,并同时连接于联盟链节点和BT节点;
本步骤旨在提取到被存储文件的特征信息,并将提取到的特征信息发送至中间件层。其中,中间件层是独立存在于现有技术中的业务***,并设置在业务***的后端,并在该中间件层的后端同时连接着联盟链节点和BT节点。此处的联盟链节点即是通过一系列操作将被存储文件的特征信息保存在联盟链中,并将通过一系列验证后的完整被存储文件同步至BT网络中,以结合后续步骤达成本申请的目的,即在不将大体积文件保存在联盟链的情况下,帮助需要保存大量文件信息的业务方,借助联盟链的不可篡改性来存储大体积文件。
其中,特征信息是拥有该被存储文件特征的各式各样种类文件的总称,可以包括:被存储文件的摘要信息、被存储文件的特征值、根据被存储文件生成的上链信息、结合本地私钥生成的签名信息等等,应视实际情况中结合流程步骤的需要、设置的方式等各种因素综合考虑进行差异化的选择,此处并不做具体限定。
其中,BT节点由于BT网络点对点的特性,决定了可以根据实际需求设置多个BT节点,以便于实现数据文件的冗余存储,进一步防止了数据文件因异常情况出现的丢失现象。
S102:中间件层校验特征信息,当校验通过后,将文件发送给BT节点进行同步操作;
本步骤旨在由中间件层根据接收到的被存储文件进行提取特征信息并与接收到的特征信息二次校验,通过二次校验的步骤,验证该被存储文件是否在业务***发送至中间件层这一传输过程中,发生异常状况导致被存储文件发生篡改,因为一旦篡改,必定会导致被存储文件的特征信息发生改变。一旦校验通过,就表示该被存储文件在业务***端时和发送与接收的过程中并没有被篡改,保持了被存储文件的同一性,就可以由该中间件层发送完整的被存储文件给BT节点进行同步。其中,同步操作是由BT网络点对点的性质决定的,需要一个过程才能完成,这个过程主要由文件的体积大小决定。
其中,通常情况下会根据应用场景来具体设置多个BT节点来实现被存储文件的冗余存储,因本申请主要面对于企业级用户,企业级用户需要存储的文件一般都富有价值和分散,结合企业规模和员工数量,为防止修饰被存储文件,可以在同步时,将一份被存储文件同时同步至所有BT节点,已达到万一那个节点出现故障,也不至于出现被存储文件丢失而无法找到的情况发生。
之所以文件被篡改就会导致特征信息的改变,是因为数据文件的特征值,是指同一数据文件按照同一算法可以得到由唯一的数据文件所对应的唯一值,一旦数据文件被篡改或经过处理,其唯一对应的值也会变化,从而突出了数据文件的唯一性,在实际使用中,一般使用特征值来验校数据文件的完整性,以避免用户得不到发布者发布的第一手数据文件。
特征值的选取有很多种算法,本实施例并不对此进行限定,用户可以根据实际硬件计算能力和需求进行选择。一般可以选用哈希算法来计算特征值,当然不止哈希算法一种可以用来计算特征值。其算法原理是通过对数据文件进行一种散列运算,得到数据文件唯一对应的一个值,而只要改变了数据文件,它所对应的这个值也会随之改变,而MD5算法作为哈希算法中最为常用的一种算法,广泛使用MD5特征值来验校数据文件的完整性和有没有经过二次修改。
当然,不仅仅存在使用特征值来进行校验的方式,也可以通过其它能代表被存储文件唯一性的方式来进行校验,此处并不做具体限定。
S103:判断同步操作是否完成;
本步骤旨在判断S102中的同步操作是否完成,而如何能进行正确的判断方式多种多样,例如,可以通过进度条的方式实时显示;也可以通过发送同步完整通知来提醒完成同步操作;还可以将动态标志置于已完成处来显示同步操作完成等等方式,此处并不做具体限定,只需要能够根据一定反馈信息判断同步操作是否完成即可。
S104:中间件层将特征信息写入联盟链节点;
本步骤建立于S103判断已经完成了BT节点对该被存储文件的同步操作,此时中间件层将之前得到的被存储文件的特征信息发送至联盟链节点执行写入操作,当然,写入的方式多种多样,此处并不做具体限定,应视实际情况做出最符合自身利益的选择。
进一步的,在完成同步操作后,特征信息写入联盟链节点之前,被存储文件处于已经同步至BT节点,但是其特征信息还未被写入联盟链的状态,即,处于即将上链、却未收到上链确认的状态,所以即使已经完成了BT节点的同步,依然会在BT网络中被设置为不可见的状态,需要在后续步骤中确确实实收到了上链完成的反馈信息后,再使同步至BT节点的被存储文件被设置为已上链可被读取的状态。所以,可以在本步骤中进行写入特征信息之前,为同步至BT节点的被存储文件附加被识别为上链中未确认的标记。
当然,标记不应仅仅只代表传统意义上的标记,应是能够识别文件状态的一类标识信息的总称,用来识别文件的状态,具体体现方式可以多种多样,此处并不做具体限定。
S105:判断写入是否完成;
本步骤与S103大体相同,只不过是将判断的对象更换为了写入操作是否完成,具体判断方式可以参见S103中相关部分,在此不再赘述。
S106:中间件层对同步至BT节点的文件附加已上链标记。
本步骤基于S105已经判断完成了写入操作,此时BT节点完成同步、联盟链节点完成特征信息的写入,只需中间件层将同步至BT节点的被存储文件附加已完成上链操作的标记即可。
进一步的,根据S104中附加上链中未确认的标记,可以再次附加一个已上链标记,使得两个标记同时存在,并将后续的识别算法设置为只有监测到两个标记同时存在才识别为完成了上链操作;也可以在本步骤将上链中未确认的标记修改为已上链标记,使得总是只存在一个代表文件状态的标记,相应的需要更改识别算法,或者其它方式,方式多种多样,此处并不做具体限定。
基于上述技术方案,本申请实施例提供的一种联盟链大文件存储及校验的方法,通过将被存储文件提取出的特征信息进行校验,在校验通过后只将特征信息保存在联盟链节点中,将完整文件同步至BT节点中。能够在文件不保存在联盟链的前提下,帮助需要保存大量文件信息的企业级业务方,借助区块链技术的不可篡改性进行数据文件的存储,并利用BT节点的特性实现冗余存储,进一步防止了文件信息的因异常情况出现的丢失现象,降低了使用和运行成本、提高了存储文件的效率和恢复能力。
以下结合图2,图2为本申请实施例所提供的另一种联盟链大文件存储及校验的方法的流程图。
本实施例是针对上一实施例中S101中如何提取特征信息并得到特征信息所做出的一个具体限定,其它步骤与上一实施例大体相同,相同部分可参见上一实施例相关部分,在此不再赘述。
其具体包括以下步骤:
S201:根据文件生成上链请求,并执行摘要计算得到文件摘要;
本步骤首先根据被存储的文件在业务***中生成相应的上链请求,该上链请求是本申请要对被存储文件进行的所有上链流程的一个起始请求,也可以看做为一个“信号”,并对该被存储文件执行摘要计算以得到文件摘要。其中,摘要计算得到文件摘要,可以理解为类似于进行特征值的计算得到特征值,因为其两者的目的一致,都是根据同一被存储文件通过一定的计算方式得到可进行唯一性识别的信息。
如何选择算法并得到相应的文件可以参见S102中提及的特征值相关部分,在此不再赘述。
S202:利用文件摘要、上链请求以及本地私钥执行签名计算,得到文件签名;
本步骤利用S201得到的文件摘要、上链请求以及使用者或者负责被存储文件进行存储流程的网络管理员使用的个人本地密钥进行签名计算,以得到由这三者唯一确定的文件签名,相当于在后续的校验过程中又多了一道保险。
当然,现存有很多根据一定数据文件可计算得到文件签名的算法,此处并不限定具体使用哪种算法,只需要能够利用算法得到文件签名即可,以便于后续步骤的使用接口。
S203:利用文件签名、文件摘要以及上链请求生成特征信息;
本步骤旨在利用上面步骤得到的文件签名、文件摘要以及生成的上链请求生成得到被存储文件的特征信息,即本实施例中的特征信息由文件签名、文件摘要以及上链请求组合得到。当然,如S101中说的那样,特征信息是一类拥有被存储文件特征的各式各样种类文件的总称,还可以包括其它文件、由其它种类文件组成,在此不做具体限定,应视实际情况中网络管理员的习惯、算法选择、校验流程以及各种其它因素综合考虑进行差异化的选择。
S204:将文件和特征信息发送给中间件层。
本步骤将S203得到的特征信息以及本身存在于业务***的被存储文件一并发送中间件层。
以下结合图3,图3为本申请实施例所提供的又一种联盟链大文件存储及校验的方法的流程图。
本实施例是针对实施一例S102中具体如何在中间件层进行校验所做出的一个限定,其它步骤与其它实施例大体相同,相同部分可参见其它实施例中相关部分,在此不再赘述。
其具体包括以下步骤:
S301:对文件执行上链文件摘要计算得到上链文件摘要;
本步骤旨在由中间件层根据接收到的被存储文件进行上链文件摘要计算,以得到上链文件摘要,需要使用与S201中一致的摘要计算算法,目的在于校验该被存储文件是否在传输过程中遭遇异常情况被他人进行篡改,以免上链了一个危险的文件。
出于校验效率的考虑,本实施仅在本步骤进行了摘要的计算,相应的在后续步骤中也只对文件摘要进行对比校验,当然,也可以像实施例二中的一样,结合上链请求、本地私钥再次计算文件签名、生成特征信息,进行完整的特征信息的校验,这样会多上几道保险,充分保证了被存储文件的同一性,在存储极其重要的数据文件时可以选择性的使用,而在存储一般的数据文件时只进行本步骤采用的文件摘要校验即可。
S302:将上链文件摘要与文件摘要做比对;
本步骤旨在根据S301计算得到的上链文件摘要与S201步骤得到的文件摘要进行对比,目的在于通过两次使用同样摘要计算算法,看能否得到同样的文件摘要,通过这一方式来校验被存储文件是否在传输过程中遭遇篡改。
S303:判断对比结果是否一致;
本步骤与S103大体一致,只不过是将判断对象更改为了对比结果而已,原理相同,方式只需进行相应的修改即可,相关部分可参见S103,在此不再赘述。
S304:将文件发送至BT节点进行同步操作;
本步骤基于S303判断对比结果表现为一致,即通过了校验,表示该被存储文件并没有在传输过程中被篡改,保持了文件的同一性,所以可以放心的发送至BT节点来进行同步操作。
S305:判断同步操作是否完成;
S306:为同步至BT节点的文件附加上链中未确认标记。
本步骤建立在S305判断BT节点对于该被存储文件的同步操作已经完成的基础上,中间件层为同步至BT节点的文件附加上链中未确认标记。其中,标记的含义在S104中进行过详细的说明,可参见相关部分,在此不再赘述。
进一步的,在BT节点完成同步操作时,可以向中间件层发送一个同步操作完成的反馈信息来告知中间件层,反馈信息的表现形式多种多样,此处并不做具体限定,可视实际情况中有选择性的进行制定。
以下结合图4,图4为本申请实施例所提供的再一种联盟链大文件存储及校验的方法的流程图。
本实施例是针对实施一例S105、S106中具体如何判断写入完成并怎样附加已上链标记所做出的一个限定,其它步骤与其它实施例大体相同,相同部分可参见其它实施例中相关部分,在此不再赘述。
S401:中间件层将特征信息写入联盟链节点;
S402:判断写入是否完成;
S403:联盟链节点返回成功上链结果给中间件层;
本步骤基于S402判断写入完成,这时完成了写入操作的联盟链节点发送一个成功上链结果的反馈信息返回给中间件层,以告知中间件层联盟链节点已经完成了写入操作。
S404:中间件层根据成功上链结果修改上链中未确认标记为已上链标记。
本步骤为根据S403所发回的成功上链结果将在S306中附加的上链中未确认标记修改为已上链标记,使同步至BT节点的被存储文件上始终只存在一个标记,以便于识别文件状态。
基于上述技术方案,本申请实施例提供的一种联盟链大文件存储及校验的方法,通过提取出被存储文件的特征信息,其中,特征信息由文件摘要、上链请求以及文件签名组成,并在经过传输过程到达中间件层后再次进行文件文件摘要的校验,在校验通过后只将特征信息保存在联盟链节点中,将完整文件同步至BT节点中,达成最终的存储操作。能够在文件不保存在联盟链的前提下,帮助需要保存大量文件信息的企业级业务方,借助区块链技术的不可篡改性进行数据文件的存储,并利用BT节点的特性实现冗余存储,进一步防止了文件信息的因异常情况出现的丢失现象,降低了使用和运行成本、提高了存储文件的效率和恢复能力。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到更具本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图5,图5为本申请实施例所提供的一种联盟链大文件存储及校验的***的结构框图。
该***可以包括:
提取单元100,用于业务***提取文件的特征信息,并将文件和特征信息发送给中间件层;其中,中间件层设置在业务***的后端,并同时连接于联盟链节点和BT节点;
校验同步单元200,用于中间件层校验特征信息,当校验通过后,将文件发送给BT节点进行同步操作;
写入单元300,用于当同步操作完成后,中间件层将特征信息写入联盟链节点;
上链标记单元400,用于当写入完成后,中间件层对同步至BT节点的文件附加已上链标记。
其中,该提取单元包括:
生成计算子单元,用于根据文件生成上链请求,并执行摘要计算得到文件摘要;
签名计算子单元,用于利用文件摘要、上链请求以及本地私钥执行签名计算,得到文件签名;
特征信息生成子单元,用于利用文件签名、文件摘要以及上链请求生成特征信息;
发送子单元,用于将文件和特征信息发送给中间件层。
其中,该校验单元包括:
计算对比子单元,用于对文件执行上链文件摘要计算得到上链文件摘要;
对比子单元,用于将上链文件摘要与文件摘要做比对;
同步子单元,用于当对比结果一致时,将文件发送至BT节点进行同步操作;
第一标记子单元,用于当同步操作完成后,为同步至BT节点的文件附加上链中未确认标记。
其中,该上链标记单元包括:
结果反馈子单元,用于当写入完成后,联盟链节点返回成功上链结果给中间件层;
第二标记子单元,用于中间件层根据成功上链结果修改上链中未确认标记为已上链标记。
其中,在进行本申请所提供的联盟链大文件存储及校验的***时,需要满足如下前提条件:
本地部署联盟链网络节点,确保能连上多个外部节点;
本地部署BT节点,并能够找到其他外部节点,形成可靠的BT网络;
本地服务器配置中间件层,中间件层能够同时连接到BT节点和本地联盟链节点。本地服务器代表的业务***能够通过加密机或其他形式使用私钥对数据进行签名。
根据上面提到的前提条件可以得到图6,图6为本申请实施例所提供的一种联盟链大文件存储及校验的***实际组成的结构框图,并在满足上述的前提条件后,进行如下的操作步骤:
本地服务器代表的业务***组织上链数据和文件,为文件计算摘要;
根据摘要和上链请求计算签名,签名过程中需要用到本地私钥,可以通过加密机完成;
本地服务器代表的业务***将待上链文件发送给中间件层;
中间件层计算上链文件摘要,确认符合请求中的摘要信息后,发送给BT节点,并记录为“上链中未确认”状态。这时BT网络开始同步这个文件,需要一定时间完成;
中间件层将文件摘要、上链请求、签名信息一次性发送到联盟链上,等待联盟链登记结果;
中间件层在接收联盟链上链结果时,收到了之前发送到联盟链上的上链文件结果,则表示上链成功,然后中间件向BT节点发起操作,将文件标记为已“上链成功”;
所有的业务***都可以从联盟链中读取最新的文件信息,并验证BT网络中的新文件是否用户发出的原始文件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种联盟链大文件存储及校验的方法,其特征在于,包括:
业务***提取文件的特征信息,并将所述文件和所述特征信息发送给中间件层;其中,所述中间件层设置在业务***的后端,并同时连接于联盟链节点和BT节点;
所述中间件层校验所述特征信息,当校验通过后,将所述文件发送给所述BT节点进行同步操作;
当所述同步操作完成后,所述中间件层将所述特征信息写入所述联盟链节点;
当写入完成后,所述中间件层对同步至所述BT节点的所述文件附加已上链标记。
2.根据权利要求1所述的方法,其特征在于,业务***提取文件的特征信息,并将所述文件和所述特征信息发送给中间件层,包括:
根据所述文件生成上链请求,并执行摘要计算得到文件摘要;
利用所述文件摘要、所述上链请求以及本地私钥执行签名计算,得到文件签名;
利用所述文件签名、所述文件摘要以及所述上链请求生成所述特征信息;
将所述文件和所述特征信息发送给所述中间件层。
3.根据权利要求2所述的方法,其特征在于,所述中间件层校验所述特征信息,当校验通过后,将所述文件发送给所述BT节点进行同步操作,包括:
对所述文件执行上链文件摘要计算得到上链文件摘要;
将所述上链文件摘要与所述文件摘要做比对;
当对比结果一致时,将所述文件发送至所述BT节点进行所述同步操作;
当所述同步操作完成后,为同步至所述BT节点的所述文件附加上链中未确认标记。
4.根据权利要求3所述的方法,其特征在于,当写入完成后,所述中间件层对同步至所述BT节点的所述文件附加已上链标记,包括:
当写入完成后,所述联盟链节点返回成功上链结果给所述中间件层;
所述中间件层根据所述成功上链结果修改所述上链中未确认标记为已上链标记。
5.一种联盟链大文件存储及校验的***,其特征在于,还包括:
提取单元,用于业务***提取文件的特征信息,并将所述文件和所述特征信息发送给中间件层;其中,所述中间件层设置在业务***的后端,并同时连接于联盟链节点和BT节点;
校验同步单元,用于所述中间件层校验所述特征信息,当校验通过后,将所述文件发送给所述BT节点进行同步操作;
写入单元,用于当所述同步操作完成后,所述中间件层将所述特征信息写入所述联盟链节点;
上链标记单元,用于当写入完成后,所述中间件层对同步至所述BT节点的所述文件附加已上链标记。
6.根据权利要求5所述的***,其特征在于,所述提取单元包括:
生成计算子单元,用于根据所述文件生成上链请求,并执行摘要计算得到文件摘要;
签名计算子单元,用于利用所述文件摘要、所述上链请求以及本地私钥执行签名计算,得到文件签名;
特征信息生成子单元,用于利用所述文件签名、所述文件摘要以及所述上链请求生成所述特征信息;
发送子单元,用于将所述文件和所述特征信息发送给所述中间件层。
7.根据权利要求5所述的***,其特征在于,所述校验单元包括:
计算对比子单元,用于对所述文件执行上链文件摘要计算得到上链文件摘要;
对比子单元,用于将所述上链文件摘要与所述文件摘要做比对;
同步子单元,用于当对比结果一致时,将所述文件发送至所述BT节点进行所述同步操作;
第一标记子单元,用于当所述同步操作完成后,为同步至所述BT节点的所述文件附加上链中未确认标记。
8.根据权利要求5所述的***,其特征在于,所述上链标记单元包括:
结果反馈子单元,用于当写入完成后,所述联盟链节点返回成功上链结果给所述中间件层;
第二标记子单元,用于所述中间件层根据所述成功上链结果修改所述上链中未确认标记为已上链标记。
CN201711192274.5A 2017-11-24 2017-11-24 一种联盟链大文件存储及校验的方法及*** Pending CN107948283A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711192274.5A CN107948283A (zh) 2017-11-24 2017-11-24 一种联盟链大文件存储及校验的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711192274.5A CN107948283A (zh) 2017-11-24 2017-11-24 一种联盟链大文件存储及校验的方法及***

Publications (1)

Publication Number Publication Date
CN107948283A true CN107948283A (zh) 2018-04-20

Family

ID=61948696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711192274.5A Pending CN107948283A (zh) 2017-11-24 2017-11-24 一种联盟链大文件存储及校验的方法及***

Country Status (1)

Country Link
CN (1) CN107948283A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833111A (zh) * 2018-05-29 2018-11-16 浪潮软件集团有限公司 一种基于区块链的文件存证及鉴定的实现方法
CN109033475A (zh) * 2018-09-10 2018-12-18 湖南智慧政务区块链科技有限公司 一种文件存储方法、装置、设备及存储介质
CN109067810A (zh) * 2018-10-22 2018-12-21 中链科技有限公司 一种基于区块链的分布式消息保护方法和保护装置
CN109308287A (zh) * 2018-09-26 2019-02-05 南京荣链科技有限公司 一种基于区块链的文件分区存储方法、终端及介质
CN109361647A (zh) * 2018-08-29 2019-02-19 上海常仁信息科技有限公司 一种区块链防护***和方法
CN109379418A (zh) * 2018-10-09 2019-02-22 上海点融信息科技有限责任公司 基于区块链处理业务***的文件的方法、设备及存储介质
CN109544354A (zh) * 2018-10-19 2019-03-29 中国平安人寿保险股份有限公司 基于区块链的再保结算方法、电子装置及可读存储介质
CN109617964A (zh) * 2018-12-12 2019-04-12 成都四方伟业软件股份有限公司 基于区块链的大数据存储方法及装置
CN110543448A (zh) * 2019-07-22 2019-12-06 深圳壹账通智能科技有限公司 数据同步方法、装置、设备及计算机可读存储介质
CN111090386A (zh) * 2018-10-23 2020-05-01 北京白山耘科技有限公司 一种云存储方法、装置、***和计算机设备
EP3817333A4 (en) * 2018-12-28 2021-09-08 Advanced New Technologies Co., Ltd. PROCEDURE, SYSTEM, EQUIPMENT AND DEVICE FOR PROCESSING INQUIRIES IN AN ALLIANCE CHAIN
CN113709122A (zh) * 2019-09-24 2021-11-26 支付宝(杭州)信息技术有限公司 一种联盟链的业务校验方法及联盟链***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372533A (zh) * 2016-09-14 2017-02-01 ***股份有限公司 基于区块链技术的内容存储方法
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems
CN107135661A (zh) * 2016-12-26 2017-09-05 深圳前海达闼云端智能科技有限公司 数据处理方法、装置、***及信息采集设备
CN107360156A (zh) * 2017-07-10 2017-11-17 广东工业大学 一种大数据环境下基于区块链的p2p网络云端存储方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems
CN106372533A (zh) * 2016-09-14 2017-02-01 ***股份有限公司 基于区块链技术的内容存储方法
CN107135661A (zh) * 2016-12-26 2017-09-05 深圳前海达闼云端智能科技有限公司 数据处理方法、装置、***及信息采集设备
CN107360156A (zh) * 2017-07-10 2017-11-17 广东工业大学 一种大数据环境下基于区块链的p2p网络云端存储方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833111A (zh) * 2018-05-29 2018-11-16 浪潮软件集团有限公司 一种基于区块链的文件存证及鉴定的实现方法
CN109361647A (zh) * 2018-08-29 2019-02-19 上海常仁信息科技有限公司 一种区块链防护***和方法
CN109033475A (zh) * 2018-09-10 2018-12-18 湖南智慧政务区块链科技有限公司 一种文件存储方法、装置、设备及存储介质
CN109033475B (zh) * 2018-09-10 2020-10-23 湖南智慧政务区块链科技有限公司 一种文件存储方法、装置、设备及存储介质
CN109308287A (zh) * 2018-09-26 2019-02-05 南京荣链科技有限公司 一种基于区块链的文件分区存储方法、终端及介质
CN109379418A (zh) * 2018-10-09 2019-02-22 上海点融信息科技有限责任公司 基于区块链处理业务***的文件的方法、设备及存储介质
CN109544354A (zh) * 2018-10-19 2019-03-29 中国平安人寿保险股份有限公司 基于区块链的再保结算方法、电子装置及可读存储介质
CN109544354B (zh) * 2018-10-19 2024-06-11 中国平安人寿保险股份有限公司 基于区块链的再保结算方法、电子装置及可读存储介质
CN109067810A (zh) * 2018-10-22 2018-12-21 中链科技有限公司 一种基于区块链的分布式消息保护方法和保护装置
CN111090386B (zh) * 2018-10-23 2023-12-19 北京白山耘科技有限公司 一种云存储方法、装置、***和计算机设备
CN111090386A (zh) * 2018-10-23 2020-05-01 北京白山耘科技有限公司 一种云存储方法、装置、***和计算机设备
CN109617964A (zh) * 2018-12-12 2019-04-12 成都四方伟业软件股份有限公司 基于区块链的大数据存储方法及装置
EP3817333A4 (en) * 2018-12-28 2021-09-08 Advanced New Technologies Co., Ltd. PROCEDURE, SYSTEM, EQUIPMENT AND DEVICE FOR PROCESSING INQUIRIES IN AN ALLIANCE CHAIN
CN110543448A (zh) * 2019-07-22 2019-12-06 深圳壹账通智能科技有限公司 数据同步方法、装置、设备及计算机可读存储介质
CN113709122B (zh) * 2019-09-24 2023-08-22 支付宝(杭州)信息技术有限公司 一种联盟链的业务校验方法及联盟链***
CN113709122A (zh) * 2019-09-24 2021-11-26 支付宝(杭州)信息技术有限公司 一种联盟链的业务校验方法及联盟链***

Similar Documents

Publication Publication Date Title
CN107948283A (zh) 一种联盟链大文件存储及校验的方法及***
CN107360156B (zh) 一种大数据环境下基于区块链的p2p网络云端存储方法
JP5989183B2 (ja) データの署名生成方法、データの署名検証方法及び管理計算機
CN106372533B (zh) 基于区块链技术的内容存储方法
CN108492108A (zh) 区块链跨链通信方法、***和计算机可读存储介质
CN105302738B (zh) 一种内存分配方法及装置
CN106452785A (zh) 区块链网络、分支节点及区块链网络应用方法
CN103530362B (zh) 一种用于多副本分布式***的计算机数据读写方法
CN105993043A (zh) 安全装置、其方法以及程序
EP3779760B1 (en) Blockchain-based data processing method and apparatus, and electronic device
JP2017200196A (ja) プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム
CN109327512A (zh) 基于区块链hash寻址和重加密的游戏数据分区储存方法
CN109831487A (zh) 分片文件验证方法及终端设备
CN104361119B (zh) 一种数据清理的方法及***
CN109460405A (zh) 用于区块链网络的区块生成方法、同步方法、存储介质、计算设备
CN109543455A (zh) 一种区块链的数据归档方法及装置
CN108696356A (zh) 一种基于区块链的数字证书删除方法、装置及***
CN102045356A (zh) 一种面向云存储的可信存储验证方法和***
CN107908979A (zh) 用于在区块链中进行配置和背书的方法和电子设备
CN109508987A (zh) 一种区块链的构建方法、***及相关组件
CN111651525A (zh) 区块链数据存储方法和装置
CN110190963A (zh) 一种针对授时证书生成请求的监控方法、装置及设备
CN108228618A (zh) 单证数据核对的方法和装置
CN112035350B (zh) 针对区块链***的测试方法、装置及计算机设备
CN110460445A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180420