CN115080515A - 基于区块链的系统文件共享方法及系统 - Google Patents
基于区块链的系统文件共享方法及系统 Download PDFInfo
- Publication number
- CN115080515A CN115080515A CN202210660366.6A CN202210660366A CN115080515A CN 115080515 A CN115080515 A CN 115080515A CN 202210660366 A CN202210660366 A CN 202210660366A CN 115080515 A CN115080515 A CN 115080515A
- Authority
- CN
- China
- Prior art keywords
- code
- data
- contract
- index information
- source code
- 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
Images
Classifications
-
- 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/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- 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/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于区块链的系统文件共享方法及系统,涉及区块链应用领域,可应用于金融领域和其他领域,所述方法包含:获取合同创建请求,根据所述合同创建请求生成合同数据和合同账户,将所述合同账户共识至区块链;根据所述合同数据中的源码数据生成索引信息,将所述索引信息共识至区块链;通过所述索引信息替换所述合同数据存储在本地的源码数据,并将所述源码数据存储在于当前节点关联的链外存储设备。
Description
技术领域
本申请涉及区块链应用领域,可应用于金融领域和其他领域,尤指一种基于区块链的系统文件共享方法及系统。
背景技术
近年来,随着网络技术的快速发展,区块链受到了业界和学术界的广泛关注,体现出其无可比拟的价值。其中,区块链技术与分布式文件系统的融合是一种很有前景的技术解决方案,并有望为系统中存储的文件提供激励和安全性。目前主流的基于区块链的分布式文件系统包括IPFS和Swarm。在这些文件系统中,IPFS是一个点对点分布式文件系统,用于存储和访问文件、网站、应用程序和数据;Swarm是一个基于以太坊的分布式存储平台和内容分发服务。从与区块链的结合方面,IPFS、Swarm文件系统分别采用Filecoin和Ethereum作为其激励机制。
分布式文件系统可大致分为7层,即身份层、数据层、数据交换层、网络层、路由层、共识层和激励层,每一层都是分布式文件系统的关键模块。作为下一代互联网高效的去中心化存储层,IPFS和Swarm都采用了相似的技术。它们提供低延迟数据检索、容错保证和分散/分布式存储解决方案。在身份层,IPFS使用多哈希技术,它可以存储哈希函数和摘要信息。Swarm直接使用以太坊的账户地址。在网络层,Swarm适配了以太坊安全稳定的网络,IPFS则使用一种更通用的解决方案libP2P。Swarm的激励层依赖于以太坊的智能合约,支持自动审计和延迟支付。这节省了Swarm的交易成本并保持安全。其中,Swarm直接继承了以太坊的技术设计,而IPFS是高度模块化的,可以用最先进的技术替换现有组件。即就是Swarm的技术更稳定,而IPFS的技术更先进。
星际文件系统(IPFS)和Swarm作为与区块链技术相结合的代表性全局分布式文件系统(DFS),通过利用区块链的优势成功提供了足够的激励和安全保障,但某些当前版本的DFS(例如IPFS)不能容忍拜占庭式攻击,使得隐私和安全问题成为IPFS系统的弱点。此外,分布式文件系统的可扩展问题,包括文件解析和下载的瓶颈与数据复制等系统性能问题也在制约着新一代DFS的发展。
发明内容
本申请目的在于提供一种基于区块链的系统文件共享方法及系统,将以太坊合约创建交易的字节码移出链外,通过在链下存储数据的机制来提升文件系统的可扩展性,在一定条件下减少了网络流量。
为达上述目的,本申请所提供的基于区块链的系统文件共享方法,所述方法包含:获取合同创建请求,根据所述合同创建请求生成合同数据和合同账户,将所述合同账户共识至区块链;根据所述合同数据中的源码数据生成索引信息,将所述索引信息共识至区块链;通过所述索引信息替换所述合同数据存储在本地的源码数据,并将所述源码数据存储在于当前节点关联的链外存储设备。
在上述基于区块链的系统文件共享方法中,可选的,根据所述合同数据中的源码数据生成索引信息之前还包含:通过scraper组件于区块链中采集预设数量区块的源码数据。
在上述基于区块链的系统文件共享方法中,可选的,根据所述合同数据中的源码数据生成索引信息包含:解析所述源码数据获得初始化代码和运行时代码;根据所述初始化代码和所述运行时代码通过格式转换生成等效的第一操作码和第二操作码;根据所述第一操作码和所述第二操作码获得所述索引信息。
在上述基于区块链的系统文件共享方法中,可选的,解析所述源码数据获得初始化代码和运行时代码包含:通过查找STOP操作码的第一个实例获得初始化代码;根据所述初始化代码和所述源码数据比较获得运行时代码。
在上述基于区块链的系统文件共享方法中,可选的,根据所述第一操作码和所述第二操作码获得所述索引信息包含:分别计算所述第一操作码和所述第二操作码的哈希值获得第一哈希值和第二哈希值;根据所述第一操作码、第一哈希值、所述第二操作码和第二哈希值通过multihash格式构建所述索引信息。
在上述基于区块链的系统文件共享方法中,可选的,所述方法还包含:获取数据查询请求,根据所述数据查询请求解析获得第一操作码和第二操作码;根据所述第一操作码和所述第二操作码构建索引信息,通过所述索引信息于所述区块链中索引定位对应节点并提取关联的链外存储设备中存储的目标源码数据。
本申请还提供一种基于区块链的系统文件共享系统,所述系统包含区块链网络和多个链外存储设备;所述区块链网络包含多个区块链节点,所述区块链节点与所述链外存储设备一对一或一对多连接;所述区块链节点用于获取合同创建请求,根据所述合同创建请求生成合同数据和合同账户,将所述合同账户共识至区块链;根据所述合同数据中的源码数据生成索引信息,将所述索引信息共识至区块链;通过所述索引信息替换所述合同数据存储在本地的源码数据,并将所述源码数据存储在于当前节点关联的链外存储设备。
在上述基于区块链的系统文件共享系统中,可选的,所述区块链节点还包含提取模块,所述提取模块用于通过scraper组件于区块链中采集预设数量区块的源码数据。
在上述基于区块链的系统文件共享系统中,可选的,所述区块链节点包含编码模块,所述编码模块用于解析所述源码数据获得初始化代码和运行时代码;根据所述初始化代码和所述运行时代码通过格式转换生成等效的第一操作码和第二操作码;根据所述第一操作码和所述第二操作码获得所述索引信息。
在上述基于区块链的系统文件共享系统中,可选的,所述编码模块包含解析单元,所述解析单元用于通过查找STOP操作码的第一个实例获得初始化代码;根据所述初始化代码和所述源码数据比较获得运行时代码。
在上述基于区块链的系统文件共享系统中,可选的,所述编码模块包含转换单元,所述转换单元用于分别计算所述第一操作码和所述第二操作码的哈希值获得第一哈希值和第二哈希值;根据所述第一操作码、第一哈希值、所述第二操作码和第二哈希值通过multihash格式构建所述索引信息。
在上述基于区块链的系统文件共享系统中,可选的,所述区块链节点还用于获取数据查询请求,根据所述数据查询请求解析获得第一操作码和第二操作码;根据所述第一操作码和所述第二操作码构建索引信息,通过所述索引信息于所述区块链中索引定位对应节点并提取关联的链外存储设备中存储的目标源码数据。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
本申请的有益技术效果在于:使用了链下存储数据技术,包括帮助以太坊减少链的大小和降低常规节点增长率;将存储在合同创建交易中的源码移出链外并替换为一个更小的哈希值,以便检索代码。这在对系统性能影响最小的情况下实现,并确保节点保持完全验证事务的能力。此外,文件系统中快速同步节点需要下载更少的数据。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1为本申请一实施例所提供的基于区块链的系统文件共享方法的流程示意图;
图2为本申请一实施例所提供的索引信息的获取流程示意图;
图3为本申请一实施例所提供的初始化代码和运行时代码的获取流程示意图;
图4为本申请一实施例所提供的索引信息构建流程示意图;
图5为本申请一实施例所提供的源码数据的查询流程示意图;
图6为本申请一实施例所提供的源码数据的查询逻辑示意图;
图7为本申请一实施例所提供的基于区块链的系统文件共享系统的结构示意图;
图8为本申请一实施例所提供的电子设备的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本申请中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本申请的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,本申请所提供的基于区块链的系统文件共享方法,所述方法包含:
S101获取合同创建请求,根据所述合同创建请求生成合同数据和合同账户,将所述合同账户共识至区块链;
S102根据所述合同数据中的源码数据生成索引信息,将所述索引信息共识至区块链;
S103通过所述索引信息替换所述合同数据存储在本地的源码数据,并将所述源码数据存储在于当前节点关联的链外存储设备。
其中,根据所述合同数据中的源码数据生成索引信息之前还包含:通过scraper组件于区块链中采集预设数量区块的源码数据。在实际工作中,星际文件系统在收到合同请求后,对通过预设的智能合约对其进行解析处理生成对应的合同账户和合同数据,将合同账户共识至区块链中;针对本地端存储的合同数据生成对应的索引信息,通过所述索引信息替代本地端的合同数据并共识至区块链中其他节点,相关的合同数据的源码部分存放至链外存储设备中以降低对本地端的存储空间占用。
请参考图2所示,在本申请一实施例中,根据所述合同数据中的源码数据生成索引信息包含:
S201解析所述源码数据获得初始化代码和运行时代码;
S202根据所述初始化代码和所述运行时代码通过格式转换生成等效的第一操作码和第二操作码;
S203根据所述第一操作码和所述第二操作码获得所述索引信息。
进一步的,请参考图3所示,在上述实施例中解析所述源码数据获得初始化代码和运行时代码包含:
S301通过查找STOP操作码的第一个实例获得初始化代码;
S302根据所述初始化代码和所述源码数据比较获得运行时代码。
再请参考图4所示,上述步骤S203根据所述第一操作码和所述第二操作码获得所述索引信息还包含:
S401分别计算所述第一操作码和所述第二操作码的哈希值获得第一哈希值和第二哈希值;
S402根据所述第一操作码、第一哈希值、所述第二操作码和第二哈希值通过multihash格式构建所述索引信息。
具体的,在实际工作中,在将合同数据添加到IPFS中,在IPFS存储空间有限的情况下,在交易验证和合同帐户创建后,区块创建数据将迅速从节点本地存储中删除。IPFS作为CCTX数据的缓存,这对于链的一般操作来说是不需要的,因为以太坊持有当前状态下它需要快速访问的数据。在必要时,可以通过IPFS从归档节点检索链外数据。如果代码在链外存储,CCTX的数据字段将保存两个操作码,这两个操作码指示EVM通过读取操作码后面的32个字节作为哈希值从IPFS检索代码。在该实施例中,操作码通过scraper从etherscan.io中收集以太坊主链中给定数量的区块的CCTXs,然后将原始字节码被转换为其等效的操作码格式的方式获取。每个合约都分为初始化代码和运行时代码,初始化代码是通过查找STOP操作码的第一个实例来完成的,包括STOP在内的所有内容都是初始化代码,之后的所有内容都是运行时代码;然后去计算每个智能合约的两个部分代码的长度,形成了每个合同的每个部分的总大小也就是对应的两个哈希值。
请参考图5所示,在本申请一实施例中,所述方法还包含:
S501获取数据查询请求,根据所述数据查询请求解析获得第一操作码和第二操作码;
S502根据所述第一操作码和所述第二操作码构建索引信息,通过所述索引信息于所述区块链中索引定位对应节点并提取关联的链外存储设备中存储的目标源码数据。
在实际工作中,目标源码数据的查询逻辑具体请参考图6所示,EVM(EthereumVirtual Machine)为“以太坊虚拟机”,作用在于处理智能合约的相关逻辑,INITHASH和RTHASH分别为第一操作码和第二操作码,H(x)是对应操作码的哈希值。其流程如下:
1.EVM读取一个操作码,并将后32个字节作为文件哈希收集;
2.EVM通过IPFS请求文件;
3.IPFS返回文件匹配请求的散列;
4.EVM验证文件的哈希值,并以编撰方式创建一个新契约/担保。
其中,IPFS以自己的multihash格式记录文件的哈希值。由于在链上存储了32字节的SHA256哈希,EVM必须在从CCTX获得哈希后在第1步中构建多哈希格式。IPFS multihash的格式如以下表1所示。
表1
EVM必须通过向SHA256哈希附加两个byes来构建多哈希。第一个字段(fn代码)表示哈希的类型,第二个字段(长度)指定要作为哈希的后续字节数。IPFS处理base58编码的哈希值。EVM必须用base58对构造的哈希进行编码。一旦构造并编码了多哈希,就可以从IPFS请求它。其中,表3所限定内容即为上述的索引信息,具体包含:IPFS multihash格式IPFS multihash fn code(1字节)长度(1字节)哈希摘要(变量len)。其逻辑在于:INITHASH和RTHASH作为指令,创建合同时将该代码部分直接放在链上。通过这两个新的操作码,使得方案能够在以太坊中保持与旧合约的向后兼容性。如果遇到其中一个新的操作码,EVM将通过IPFS获取代码,检查哈希匹配,然后继续执行检索到的字节码。如果没有遇到操作码,EVM将继续正常执行。因此,带哈希的新CCTX和不带哈希的新CCTX都将能够正常工作。
请参考图7所示,本申请还提供一种基于区块链的系统文件共享系统,所述系统包含区块链网络和多个链外存储设备;所述区块链网络包含多个区块链节点,所述区块链节点与所述链外存储设备一对一或一对多连接;所述区块链节点用于获取合同创建请求,根据所述合同创建请求生成合同数据和合同账户,将所述合同账户共识至区块链;根据所述合同数据中的源码数据生成索引信息,将所述索引信息共识至区块链;通过所述索引信息替换所述合同数据存储在本地的源码数据,并将所述源码数据存储在于当前节点关联的链外存储设备。
在上述实施例中,所述区块链节点还包含提取模块和编码模块,所述提取模块用于通过scraper组件于区块链中采集预设数量区块的源码数据;所述编码模块用于解析所述源码数据获得初始化代码和运行时代码;根据所述初始化代码和所述运行时代码通过格式转换生成等效的第一操作码和第二操作码;根据所述第一操作码和所述第二操作码获得所述索引信息。进一步的,所述编码模块包含解析单元和转换单元,所述解析单元用于通过查找STOP操作码的第一个实例获得初始化代码;根据所述初始化代码和所述源码数据比较获得运行时代码。所述转换单元用于分别计算所述第一操作码和所述第二操作码的哈希值获得第一哈希值和第二哈希值;根据所述第一操作码、第一哈希值、所述第二操作码和第二哈希值通过multihash格式构建所述索引信息。以此,星际文件系统在收到合同请求后,对通过预设的智能合约对其进行解析处理生成对应的合同账户和合同数据,将合同账户共识至区块链中;针对本地端存储的合同数据生成对应的索引信息,通过所述索引信息替代本地端的合同数据并共识至区块链中其他节点,相关的合同数据的源码部分存放至链外存储设备中以降低对本地端的存储空间占用。
在本申请另一实施例中,所述区块链节点还用于获取数据查询请求,根据所述数据查询请求解析获得第一操作码和第二操作码;根据所述第一操作码和所述第二操作码构建索引信息,通过所述索引信息于所述区块链中索引定位对应节点并提取关联的链外存储设备中存储的目标源码数据,具体实现逻辑已在前述实施例中详细说明,在此就不再一一详述。
本申请的有益技术效果在于:使用了链下存储数据技术,包括帮助以太坊减少链的大小和降低常规节点增长率;将存储在合同创建交易中的源码移出链外并替换为一个更小的哈希值,以便检索代码。这在对系统性能影响最小的情况下实现,并确保节点保持完全验证事务的能力。此外,文件系统中快速同步节点需要下载更少的数据。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
如图8所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图8中所示的所有部件;此外,电子设备600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器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 (15)
1.一种基于区块链的系统文件共享方法,其特征在于,所述方法包含:
获取合同创建请求,根据所述合同创建请求生成合同数据和合同账户,将所述合同账户共识至区块链;
根据所述合同数据中的源码数据生成索引信息,将所述索引信息共识至区块链;
通过所述索引信息替换所述合同数据存储在本地的源码数据,并将所述源码数据存储在于当前节点关联的链外存储设备。
2.根据权利要求1所述的基于区块链的系统文件共享方法,其特征在于,根据所述合同数据中的源码数据生成索引信息之前还包含:通过scraper组件于区块链中采集预设数量区块的源码数据。
3.根据权利要求1所述的基于区块链的系统文件共享方法,其特征在于,根据所述合同数据中的源码数据生成索引信息包含:
解析所述源码数据获得初始化代码和运行时代码;
根据所述初始化代码和所述运行时代码通过格式转换生成等效的第一操作码和第二操作码;
根据所述第一操作码和所述第二操作码获得所述索引信息。
4.根据权利要求3所述的基于区块链的系统文件共享方法,其特征在于,解析所述源码数据获得初始化代码和运行时代码包含:
通过查找STOP操作码的第一个实例获得初始化代码;
根据所述初始化代码和所述源码数据比较获得运行时代码。
5.根据权利要求3所述的基于区块链的系统文件共享方法,其特征在于,根据所述第一操作码和所述第二操作码获得所述索引信息包含:
分别计算所述第一操作码和所述第二操作码的哈希值获得第一哈希值和第二哈希值;
根据所述第一操作码、第一哈希值、所述第二操作码和第二哈希值通过multihash格式构建所述索引信息。
6.根据权利要求1所述的基于区块链的系统文件共享方法,其特征在于,所述方法还包含:
获取数据查询请求,根据所述数据查询请求解析获得第一操作码和第二操作码;
根据所述第一操作码和所述第二操作码构建索引信息,通过所述索引信息于所述区块链中索引定位对应节点并提取关联的链外存储设备中存储的目标源码数据。
7.一种基于区块链的系统文件共享系统,其特征在于,所述系统包含区块链网络和多个链外存储设备;
所述区块链网络包含多个区块链节点,所述区块链节点与所述链外存储设备一对一或一对多连接;
所述区块链节点用于获取合同创建请求,根据所述合同创建请求生成合同数据和合同账户,将所述合同账户共识至区块链;根据所述合同数据中的源码数据生成索引信息,将所述索引信息共识至区块链;通过所述索引信息替换所述合同数据存储在本地的源码数据,并将所述源码数据存储在于当前节点关联的链外存储设备。
8.根据权利要求7所述的基于区块链的系统文件共享系统,其特征在于,所述区块链节点还包含提取模块,所述提取模块用于通过scraper组件于区块链中采集预设数量区块的源码数据。
9.根据权利要求7所述的基于区块链的系统文件共享系统,其特征在于,所述区块链节点包含编码模块,所述编码模块用于解析所述源码数据获得初始化代码和运行时代码;根据所述初始化代码和所述运行时代码通过格式转换生成等效的第一操作码和第二操作码;根据所述第一操作码和所述第二操作码获得所述索引信息。
10.根据权利要求9所述的基于区块链的系统文件共享系统,其特征在于,所述编码模块包含解析单元,所述解析单元用于通过查找STOP操作码的第一个实例获得初始化代码;根据所述初始化代码和所述源码数据比较获得运行时代码。
11.根据权利要求9所述的基于区块链的系统文件共享方法,其特征在于,所述编码模块包含转换单元,所述转换单元用于分别计算所述第一操作码和所述第二操作码的哈希值获得第一哈希值和第二哈希值;根据所述第一操作码、第一哈希值、所述第二操作码和第二哈希值通过multihash格式构建所述索引信息。
12.根据权利要求1所述的基于区块链的系统文件共享系统,其特征在于,所述区块链节点还用于获取数据查询请求,根据所述数据查询请求解析获得第一操作码和第二操作码;根据所述第一操作码和所述第二操作码构建索引信息,通过所述索引信息于所述区块链中索引定位对应节点并提取关联的链外存储设备中存储的目标源码数据。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有由计算机执行权利要求1至6任一所述方法的计算机程序。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210660366.6A CN115080515A (zh) | 2022-06-13 | 2022-06-13 | 基于区块链的系统文件共享方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210660366.6A CN115080515A (zh) | 2022-06-13 | 2022-06-13 | 基于区块链的系统文件共享方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080515A true CN115080515A (zh) | 2022-09-20 |
Family
ID=83251462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210660366.6A Pending CN115080515A (zh) | 2022-06-13 | 2022-06-13 | 基于区块链的系统文件共享方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080515A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662622A (zh) * | 2023-07-25 | 2023-08-29 | 北京国科恒通科技股份有限公司 | 电网数据一致性比对方法及装置、介质及电子设备 |
CN116976898A (zh) * | 2023-09-25 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 一种数据获取方法、数据可视化方法、装置及相关产品 |
-
2022
- 2022-06-13 CN CN202210660366.6A patent/CN115080515A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662622A (zh) * | 2023-07-25 | 2023-08-29 | 北京国科恒通科技股份有限公司 | 电网数据一致性比对方法及装置、介质及电子设备 |
CN116662622B (zh) * | 2023-07-25 | 2023-10-31 | 北京国科恒通科技股份有限公司 | 电网数据一致性比对方法及装置、介质及电子设备 |
CN116976898A (zh) * | 2023-09-25 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 一种数据获取方法、数据可视化方法、装置及相关产品 |
CN116976898B (zh) * | 2023-09-25 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 一种数据获取方法、数据可视化方法、装置及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115080515A (zh) | 基于区块链的系统文件共享方法及系统 | |
EP3624398B1 (en) | Storage capacity evaluation method and apparatus based on cdn application | |
US11232070B2 (en) | Metadata compaction in a distributed storage system | |
WO2019201039A1 (zh) | 一种更新应用程序的方法、系统及应用服务器 | |
CN110795499B (zh) | 基于大数据的集群数据同步方法、装置、设备及存储介质 | |
CN102307210A (zh) | 一种数据下载系统及其数据管理和下载方法 | |
CN104123149B (zh) | 软件升级方法、装置、客户端及系统 | |
CN111273863B (zh) | 高速缓存管理 | |
CN111291023A (zh) | 一种数据迁移的方法、系统、设备以及介质 | |
US20140359066A1 (en) | System, method and device for offline downloading resource and computer storage medium | |
CN104160397A (zh) | 位置独立文件 | |
CN104657401A (zh) | 一种web缓存的更新方法 | |
KR20130012929A (ko) | 데이터 패키지의 효율적인 다운로드 방법 및 시스템 | |
CN112767110A (zh) | 大数据分散上链方法及系统 | |
CN106445643A (zh) | 克隆、升级虚拟机的方法及设备 | |
CN112785408A (zh) | 基于哈希的对账方法及装置 | |
CN111522574B (zh) | 差分包生成方法及相关设备 | |
CN102282545B (zh) | 存储系统 | |
CN110989934B (zh) | 区块链节点数据存储方法、区块链系统及区块链节点 | |
CN103369002A (zh) | 一种资源下载的方法及系统 | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
CN110442601A (zh) | 一种Openstack镜像数据并行加速的方法和装置 | |
CN113791735A (zh) | 视频数据存储方法、装置、计算机设备及存储介质 | |
CN104123952A (zh) | 一种无缓存光盘刻录方法及装置 | |
CN111045604A (zh) | 一种基于nvram的小文件读写加速方法和设备 |
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 |