CN109739827A - 一种基于双链架构的区块链存储系统 - Google Patents
一种基于双链架构的区块链存储系统 Download PDFInfo
- Publication number
- CN109739827A CN109739827A CN201811566644.1A CN201811566644A CN109739827A CN 109739827 A CN109739827 A CN 109739827A CN 201811566644 A CN201811566644 A CN 201811566644A CN 109739827 A CN109739827 A CN 109739827A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- storage
- distributed
- link
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于双链架构的区块链存储系统,其特征在于,包括:业务链与数据链的双链结构,业务链为区块链结构,用于用户之间的交易交互和存储交易索引数据,数据链为分布式结构,用于存储文件和数据,包含分布式管理节点和多个分布式存储节点;业务链中的用户通过交易生成的文件通过分布式管理节点根据交易索引数据提交到数据链中的相应的分布式存储节点进行存储;数据链中的文件数据发生变化以交易索引数据反馈到业务链中;交易索引数据为分布式管理节点依据函数进行计算得出的数据,至少包括:文件的版本号、文件的唯一标识、文件在数据链中分布式存储节点的存储位置。本发明解决了区块链共识机制下数据海量存储的问题。
Description
技术领域
本发明专利涉及数据存储领域,尤其涉及基于通过区块链建立的业务链中的大文件和数据在分布式存储模式下数据存储的领域。
背景技术
区块链的发展带给了当今数字经济时代一个新的变革,它让不同的机构、不同的人、不同的身份得以在区块链中相互信任,从根本上解决价值交易中的欺诈问题。区块链的系统可以分为这样几层:数据层、网络层、共识层、激励层、合约层和应用层。区块链的底层通过数据区块和加密算法等,形成了区块链底层的数据存储机制。由于区块链的数据共识特性和机制,在区块链中很难去存储较大的资源和数据文件,随着资源数据的增加,会增加存储的成本。
发明内容
为解决区块链共识机制下可以海量存储的问题,本发明提供一种基于双链架构的区块链存储系统,包括:业务链与数据链的双链结构。
所述业务链为区块链结构,通常为传统的区块链结构,用于用户之间的交易交互和存储交易索引数据,通常包括不少于3个创世节点和记账节点以及不少于一个待加入节点;创世节点作为我们初始自己运营平台维护的节点,最初发布Token和智能合约的服务器(物理服务器);待加入节点为可以把这个业务链(区块链)开放给其他的人加入运算的节点,在业务链上面一同共识和计算。
所述数据链为分布式结构,用于存储文件和数据,包含分布式管理节点和不少于2个分布式存储节点,所述分布式管理节点用于管理,调用存储数据,使得所述分布式存储节点共识同步数据;
如图2所示,所述分布式管理节点用于管理文件和数据,具体方式为:所述业务链中的用户通过交易生成的文件通过所述分布式管理节点根据交易索引数据提交到所述数据链中的相应的分布式存储节点进行存储;
所述交易索引数据为打包所述分布式管理节点依据函数进行计算得出的数据,至少包括:文件的版本号、文件的唯一标识、文件在所述数据链中分布式存储节点的存储位置;
所述数据链中的文件发生变化以交易索引数据反馈到所述业务链中,所述分布式管理节点用于管理文件和数据。
在上述系统中,采用双链的结构,业务链采用区块链,可以通过区块链固有的共识机制达到数据的共识,数据链采用分布式的结构,由于存在可扩展的分布式存储节点,所以业务链上因共识产生的大量文件就有了海量的存储空间;双链之间通过分布式管理节点进行对接;因数据存储在不同的分布式存储节点,若没有科学的方法,无法准确的将文件进行定位存储和定位读取,故本发明中,分布式管理节点会根据交易索引数据为文件建立和定位存储位置;当数据链中数据变化时,业务链也需要知晓,在本发明中,通过交易索引数据反馈给业务链,实现业务链与数据链双链之间形成为互通机制。
优选地,所述交易索引数据包括文件的版本号和文件的哈希值(hash),由所述分布式管理节点进行计算,分布式管理节点也可以通过文件的哈希值(hash)计算出文件的唯一标识和文件的存储地址。
进一步地,为了能解决数据在存储时能够明确其存储的位置,明确文件名称,与文件版本,所述业务链中用户产生文件需要存储时,所述分布式管理节点会根据函数进行计算,会先建立文件的版本号、定义文件的唯一标识、文件所在的数据链上的分布式存储节点位置;所述分布式管理节点根据计算出来文件所在的数据链上的分布式存储节点位置,将文件提交到相应位置进行存储,并且共识存储结果。
因为数据没有存储在业务链上,业务链可能会不知道数据在哪里,本发明中系统打包所述分布式管理节点根据函数进行计算数据形成交易索引数据,所述业务链将所述交易索引数据提交到区块链新的区块当中,数据共识以后存储在所述业务链上,从而解决业务链对数据状态也能掌控的问题。
优选地,存储机制采用HDFS文件的读取方式,具体为:
1)使用客户端打开分布式文件系统,获取文件系统实例;
2)通过文件系统创建一个新的文件地址;
3)通过权限校验和存储地址校验;
4)获取文件输出流,把文件数据切成一个一个的包(packet),并且排成队列;
5)通过管理节点获取新的区块地址,然后把数据通过度列传入到存储节点上;
6)完成以后关闭流,
7)标识存储节点的数据块为已经存储。
数据的存储是为了能够对数据进行读取,在分布式存储的模式下,如何准确定位到想要读取的数据?进一步地,本发明所述的系统中,数据文件读取的方式为:数据链中存储的文件需要读取时,所述分布式管理节点根据交易数据索引中文件在所述数据链中分布式存储节点的存储位置,定位到存储文件的分布式存储节点,读取存储文件。
优选地,读取机制采用HDFS文件的写入方式,具体为:
1)使用客户端打开分布式文件系统,获取文件系统实例;
2)通过分布式文件系统的计算从管理节点获取存储节点的地址位置;
3)通过文件流打开数据块节点的流;
4)获取完第一个节点以后再接着读取下一个节点的流;
5)读取完文件以后关闭流。
进一步地,当对已经存储的文件进行变动时,比如需要修订和删除文件,该如何形成变动文件与原文件的关系,以及分布式节点中数据共识的问题,在本发明所述的系统中,提供如下方式:
1)所述分布式管理节点根据交易数据索引中文件在所述数据链中分布式存储节点的存储位置,定位到存储文件的分布式存储节点,读取存储文件,再对文件进行变动(修改或删除),
2)所述分布式管理节点会建立变动文件的版本号,定义变动文件的唯一标识,变动文件所在的数据链上的分布式存储节点位置,变动数据上的文件,共识存储结果,打包所述分布式管理节点根据函数进行计算的新数据形成新交易索引数据
3)所述业务链将所述新交易索引数据提交到区块链新的区块当中,数据共识以后存储在所述业务链上。
通过变动文件的版本号与原文件的版本号可以得知文件具体变动的次数,根据位置信息可以定位具体的变动文件。
通过存储、读取、变动的机制,所有的数据的交易索引数据形成了全局性的数据索引,通过分布式管理节点可以定位到任何数据文件。
优选地,所述业务链上的用户访问业务链需要授权凭证。这里需要使用公证人机制,它的简单说明如下:中心化或多重签名的见证人模式,见证人是链A的合法用户,负责监听链B的事件和状态,进而操作链A。本质特点是完全不用关注所跨链的结构和共识特性等。假设A和B是不能进行互相信任的,那就引入A和B都能够共同信任的第三方充当公证人作为中介。这样的话,A和B就间接可以互相信任。具有代表性的方案是Interledger,它本身不是一个账本,不寻求任何的共识。相反它提供了一个顶层加密托管系统称之为“连接者”,在这个中介机构的帮助下,让资金在各账本间流动。
优选地,所述业务链上的用户在搭建自己在所述业务链上的节点时,默认只同步业务链上的所有数据。
优选地,所述业务链上的用户访问所述数据链上存储的数据时,不同的用户具有不同的读写权限。
优选地,所述数据链用户有权选择自行同步分布式存储节点的存储的数据,或加入分布式存储节点。
附图说明
图1为本发明系统的双链架构拓扑图
图2为本发明系统索引文件存储形态图
图3为实施例系统结构示意图
图4为实施例中移动端产品界面设计截图
具体实施方式
为更容易理解本发明的优点、特征以及达到技术效果的技术方法将参照例示性实施例进行更详细地描述,且本发明可以不同形式来实现,故不应被理解为本发明仅限于此处所陈述的实施例,相反地,对本领域的技术人员,所提供的实施例将更加透彻与全面且完整地传达本发明的范畴,且本发明将以申请专利文件的权利要求确定保护范围。
以下结合图2对本申请进行进一步的说明。
在下列系统中包括:
几个创世节点(Blocknode):作为我们初始自己运营平台维护的节点,最初发布Token和智能合约的服务器(物理服务器)。
其余节点:可以把这个区块链开放给其他的人加入运算节点,在链上面一同共识和计算。
WebGameServer:我们作为一段服务器程序,部署在各个创世节点上面,通过WebJS3和创世节点进行交互,从而实现DAPP的业务服务和BlockNode上的智能合约进行交互和处理。
DApp服务器:放置我们的前端APP,可以通过智能调度,为用户提供最适合的节点进行服务链接。
文件在该系统中的存储具体的流程为:
1.手机提交一张图片到DApp。
2.DApp服务器将这一次提交给WebgameServer。
3.WebgameServer将队列中读取图片信息向业务链发起请求。
4.业务链收到请求,通过账号的授权凭证向分布式文件管理发起这次请求。
5.分布式文件管理计算文件存储的hash(包含了存储位置数据),将信息和存储授权反馈给业务链。
6.业务链共识这次请求,然后反馈给DAPP授权和存储信息。
7.DAPP通过授权和存储信息向数据链发起存储。
8.存储完成以后,存储链反馈分布式文件管理。
9.分布式文件管理存储索引结果,并且提交存储操作的交易信息到业务链。
10.业务链共识这次存储操作结果。
11.完成一整套操作。
文件在该系统中的修改具体的流程为:
12.手机提交读取一张图片的信息。
13.DApp服务器将这一次请求提交缓存到队列当中。
14.WebgameServer定时将队列中读取图片信息向业务链发起请求。
15.业务链收到请求,通过账号的授权凭证向分布式文件管理发起这次请求。
16.分布式文件管理根据图片的hash(包含了存储位置数据),定位到图片存储的位置。
17.分布式文件管理返还给用户修改授权信息(签名授权证明这一次交易操作的有效性)
18.手机修改图片,发出存储请求。
19.DApp服务器将这一次存储请求提交缓存到队列当中。
20.WebgameServer时将队列定时将队列中读取图片信息向业务链发起请求。
21.业务链收到请求,通过账号的授权凭证向分布式文件管理发起这次请求。
22.业务链共识这次请求,然后反馈给DAPP授权和存储信息。
23.DAPP通过授权和存储信息向数据链发起存储。
24.存储完成以后,存储链反馈分布式文件管理。
25.分布式文件管理存储索引结果,并且提交存储操作的交易信息到业务链。
26.业务链共识这次存储操作结果。
27.完成一整套修订图片操作。
在实际的应用业务当中,我们开发了一个移动区块链产品YOTOKEN,一种移动端APP。YOToken为第一视频研究院自主研发的区块链产品,旨在用去中心化和安全通讯的理念打通各类数字货币玩家的连接,知识共享,理念共享,操作共享,价值共享。YOToken的用户可以一键发行自己的代币,作为自己代币的主人,用户享有经营权和使用权,所有的用户行为都会和自己代币的产生关联,有成功打造下一个超级代币的机会。在每一个Token当中,用户还可以为自己的Token设计图标,针对图片文件的存储,我们就使用了双链的海量存储方案。附图4为移动端产品界面设计截图。
Claims (8)
1.一种基于双链架构的区块链存储系统,其特征在于,包括:
业务链与数据链的双链结构,
所述业务链为区块链结构,用于用户之间的交易交互和存储交易索引数据,包括不少于3个创世节点和记账节点以及不少于一个待加入节点;
所述数据链为分布式结构,用于存储文件和数据,包含分布式管理节点和不少于2个分布式存储节点,所述分布式管理节点用于管理文件和数据,使得所述分布式存储节点共识同步数据;
所述业务链中的用户通过交易生成的文件通过所述分布式管理节点根据交易索引数据提交到所述数据链中的相应的分布式存储节点进行存储;所述数据链中的文件数据发生变化以交易索引数据反馈到所述业务链中;
所述交易索引数据为所述分布式管理节点依据函数进行计算得出的数据,至少包括:文件的版本号、文件的唯一标识、文件在所述数据链中分布式存储节点的存储位置。
2.根据权利要求1所述的基于双链架构的区块链存储系统,其特征在于:需要存储所述业务链中用户产生文件时,所述分布式管理节点根据函数进行计算,会先建立文件的版本号、定义文件的唯一标识、文件所在的数据链上的分布式存储节点位置;
然后,所述分布式管理节点根据计算出来文件所在的数据链上的分布式存储节点位置,将文件提交到相应位置进行存储,并且共识存储结果,打包所述分布式管理节点根据函数进行计算数据形成所述交易索引数据,提交到所述业务链上;
所述业务链将所述交易索引数据提交到区块链新的区块当中,数据共识以后存储在所述业务链上。
3.根据权利要求1所述的基于双链架构的区块链存储系统,其特征在于,需要读取所述数据链中存储的文件数据时,所述分布式管理节点根据交易索引数据中文件在所述数据链中分布式存储节点的存储位置,定位到存储文件数据的分布式存储节点,读取存储文件数据。
4.根据权利要求1所述的基于双链架构的区块链存储系统,其特征在于,所述数据链中存储的文件数据需要变动时。
首先,所述分布式管理节点根据交易索引数据中文件在所述数据链中分布式存储节点的存储位置,定位到存储文件的分布式存储节点,读取存储文件,再对文件进行变动。
然后,所述分布式管理节点会建立变动文件的版本号,定义变动文件的唯一标识,变动文件所在的数据链上的分布式存储节点位置,变动数据上的文件,共识存储结果,打包所述分布式管理节点根据函数进行计算的新数据形成新交易索引数据。
所述业务链将所述新交易索引数据提交到区块链新的区块当中,数据共识以后存储在所述业务链上。
5.根据权利要求1-4所述的任意一种基于双链架构的区块链存储系统,其特征在于,所述业务链上的用户在搭建自己在所述业务链上的节点时,默认只同步业务链上的所有数据。
6.根据权利要求1-4所述的任意一种基于双链架构的区块链存储系统,其特征在于,所述业务链上的用户访问业务链需要授权凭证。
7.根据权利要求1-4所述的任意一种基于双链架构的区块链存储系统,其特征在于,所述业务链上的用户访问所述数据链上存储的数据时,不同的用户具有不同的读写权限。
8.根据权利要求1-4所述的任意一种基于双链架构的区块链存储系统,其特征在于,所述数据链用户有权选择自行同步分布式存储节点的存储的数据,或加入分布式存储节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811566644.1A CN109739827A (zh) | 2018-12-19 | 2018-12-19 | 一种基于双链架构的区块链存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811566644.1A CN109739827A (zh) | 2018-12-19 | 2018-12-19 | 一种基于双链架构的区块链存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109739827A true CN109739827A (zh) | 2019-05-10 |
Family
ID=66360905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811566644.1A Pending CN109739827A (zh) | 2018-12-19 | 2018-12-19 | 一种基于双链架构的区块链存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739827A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109930A (zh) * | 2019-05-15 | 2019-08-09 | 山东省计算中心(国家超级计算济南中心) | 基于区块链双链结构的政务数据存储、查询方法及系统 |
CN110310119A (zh) * | 2019-07-06 | 2019-10-08 | 辽宁大学 | 面向跨区块链交易的可扩容存储方法 |
CN110310203A (zh) * | 2019-06-21 | 2019-10-08 | 普洛斯科技(重庆)有限公司 | 一种区块链交易方法和装置 |
CN111611315A (zh) * | 2020-05-25 | 2020-09-01 | 辽宁大学 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
CN111782615A (zh) * | 2020-07-08 | 2020-10-16 | 杭州云链趣链数字科技有限公司 | 基于区块链的大文件存储方法、系统和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503992A (zh) * | 2016-10-18 | 2017-03-15 | 北京天德科技有限公司 | 一种将交易信息和账户信息分别存储的区块链 |
CN107017992A (zh) * | 2017-03-29 | 2017-08-04 | 杭州秘猿科技有限公司 | 一种基于双链结构的高性能联盟区块链 |
CN107819770A (zh) * | 2017-11-15 | 2018-03-20 | 中国联合网络通信集团有限公司 | 基于区块链的医疗信息共享隐私保护方法及装置 |
CN108595535A (zh) * | 2018-03-30 | 2018-09-28 | 李欣宇 | 基于同根双链式区块链的知识问答系统和方法 |
CN108876363A (zh) * | 2018-04-18 | 2018-11-23 | 北京天德科技有限公司 | 一种基于双链架构区块链的跨境监管报告系统 |
CN108962343A (zh) * | 2018-07-04 | 2018-12-07 | 南京百市通数字科技有限公司 | 一种基于区块链技术的青少年视光数据追踪方法 |
-
2018
- 2018-12-19 CN CN201811566644.1A patent/CN109739827A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503992A (zh) * | 2016-10-18 | 2017-03-15 | 北京天德科技有限公司 | 一种将交易信息和账户信息分别存储的区块链 |
CN107017992A (zh) * | 2017-03-29 | 2017-08-04 | 杭州秘猿科技有限公司 | 一种基于双链结构的高性能联盟区块链 |
CN107819770A (zh) * | 2017-11-15 | 2018-03-20 | 中国联合网络通信集团有限公司 | 基于区块链的医疗信息共享隐私保护方法及装置 |
CN108595535A (zh) * | 2018-03-30 | 2018-09-28 | 李欣宇 | 基于同根双链式区块链的知识问答系统和方法 |
CN108876363A (zh) * | 2018-04-18 | 2018-11-23 | 北京天德科技有限公司 | 一种基于双链架构区块链的跨境监管报告系统 |
CN108962343A (zh) * | 2018-07-04 | 2018-12-07 | 南京百市通数字科技有限公司 | 一种基于区块链技术的青少年视光数据追踪方法 |
Non-Patent Citations (4)
Title |
---|
中关村国标节能低碳技术研究院: "《中国智慧能源产业发展报告 2017》", 31 August 2018, 中国质检出版社 * |
苏广文 等: "《移动互联网产品策划与设计》", 30 November 2018, 西安电子科技大学出版社 * |
蔡维德 等: "基于区块链的应用系统开发方法研究", 《软件学报》 * |
蔡维德 等: "面向大数据的区块链在清算系统中的应用", 《大数据》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109930A (zh) * | 2019-05-15 | 2019-08-09 | 山东省计算中心(国家超级计算济南中心) | 基于区块链双链结构的政务数据存储、查询方法及系统 |
CN110109930B (zh) * | 2019-05-15 | 2020-07-03 | 山东省计算中心(国家超级计算济南中心) | 基于区块链双链结构的政务数据存储、查询方法及系统 |
CN110310203A (zh) * | 2019-06-21 | 2019-10-08 | 普洛斯科技(重庆)有限公司 | 一种区块链交易方法和装置 |
CN110310203B (zh) * | 2019-06-21 | 2023-10-13 | 普洛斯科技(重庆)有限公司 | 一种区块链交易方法和装置 |
CN110310119A (zh) * | 2019-07-06 | 2019-10-08 | 辽宁大学 | 面向跨区块链交易的可扩容存储方法 |
CN111611315A (zh) * | 2020-05-25 | 2020-09-01 | 辽宁大学 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
CN111611315B (zh) * | 2020-05-25 | 2023-11-10 | 辽宁大学 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
CN111782615A (zh) * | 2020-07-08 | 2020-10-16 | 杭州云链趣链数字科技有限公司 | 基于区块链的大文件存储方法、系统和计算机设备 |
CN111782615B (zh) * | 2020-07-08 | 2021-05-18 | 杭州云链趣链数字科技有限公司 | 基于区块链的大文件存储方法、系统和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11418341B2 (en) | Distributed consent protecting data across systems and services | |
US11888853B2 (en) | Systems and methods for dynamic granular access permissions | |
WO2021017441A1 (zh) | 基于区块链的数据授权方法及装置 | |
WO2021017444A1 (zh) | 基于区块链的数据授权方法及装置 | |
US9749140B2 (en) | Systems and methods for managing digital identities | |
TWI814706B (zh) | 區塊鏈實施之方法及系統 | |
CN109739827A (zh) | 一种基于双链架构的区块链存储系统 | |
US11121857B2 (en) | Systems, devices, and methods for in-field authenticating of autonomous robots | |
JP2021512416A (ja) | クラウドベースのコンピューティング環境において分散台帳技術のためのインテリジェントな合意、スマートな合意、及び重み付き合意のモデルを実現するシステム、方法、及び装置 | |
CN110088793A (zh) | 区块链网络中的数据隔离 | |
US20090064303A1 (en) | Transferable restricted security tokens | |
US11902448B2 (en) | Hybrid blockchain architecture with computing pool | |
Tackmann | Secure event tickets on a blockchain | |
US20200213082A1 (en) | Blockchain Management Platform for Performing Asset Adjustment, Cross Sectional Editing, and Bonding | |
Shivers | Toward a secure and decentralized blockchain-based ride-hailing platform for autonomous vehicles | |
US11115186B2 (en) | Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding | |
CN110457629A (zh) | 权限处理、权限控制方法及装置 | |
CN106878244A (zh) | 一种真实性证明信息提供方法及装置 | |
US11012232B2 (en) | Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding | |
WO2018052783A1 (en) | Personalized search environment | |
KR20200084177A (ko) | 블록체인의 확장을 가능하게 하는 트랜잭션 처리 시스템 및 방법 | |
KR20200032778A (ko) | 모임 관리 방법 및 이를 이용한 모임 관리 시스템 | |
JP2022536450A (ja) | 同時取引を容易にするための方法、取引管理装置及びコンピュータ読み取り可能な媒体 | |
KR102601098B1 (ko) | 바우처 승인 정보를 제공하는 방법 및 디바이스 | |
WO2023069505A1 (en) | Non-transferable token |
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 |
Application publication date: 20190510 |
|
RJ01 | Rejection of invention patent application after publication |