用于区块链的数据处理方法、设备及计算机可读存储介质技术

技术编号:19011678 阅读:22 留言:0更新日期:2018-09-22 11:04
本公开内容提供了一种用于区块链的数据处理方法,所述数据处理方法包括:接收用于存储数据的请求,其中,所述用于存储数据的请求包括与待存储的所述数据相关联的信息;从所述区块链中获取存储规则,其中,所述存储规则包括链下存储判断规则和上链数据格式;基于所述信息和所述链下存储判断规则,确定是否将所述数据的至少一部分存储在所述区块链上和链下存储器中;在确定将所述数据存储在所述区块链上和所述链下存储器中时,基于所述数据和所述上链数据格式,生成所述数据的元数据;以及将所述元数据存储在所述区块链上,并且将所述数据存储在所述链下存储器中。

【技术实现步骤摘要】
用于区块链的数据处理方法、设备及计算机可读存储介质
本公开内容涉及区块链技术,更为具体地涉及用于区块链的数据处理方法、用于区块链的数据处理设备以及相应的用于实施上述方法的计算机可读存储介质。
技术介绍
区块链作为近几年兴起的新兴技术,得到了广泛的讨论和研究。区块链是一种以块结构存储数据,使用密码学保证传输和访问安全,能够实现数据一致性存储、反篡改、去中心的技术体系。智能合约是一个可以在区块链上准确运行的计算机程序。用户通过使用智能合约进行交易、共享数据、建立信任、并由区块链技术的特性保障数据的存储、读取、执行整个过程透明可跟踪、不可篡改。由于区块链属于对等网络,用户可访问区块链上任一节点或任一组织的节点获取区块及交易数据。现有技术中公开了线下存储数据本身、线上存储摘要即哈希值的方式。但是,现有技术中的该存储方案中的链上数据和链下数据不存在关联关系。
技术实现思路
基于对于以上技术问题以及技术现状的理解,本公开内容的专利技术人提出了一种标准化的区块链上和链下相结合地来对大文件进行存储的方法,以解决上述问题。本公开内容的第一方面提供了一种用于区块链的数据处理方法,所述数据处理方法包括:接收用于存储数据的请求,其中,所述用于存储数据的请求包括与待存储的所述数据相关联的信息;从所述区块链中获取存储规则,其中,所述存储规则包括链下存储判断规则和上链数据格式;基于所述信息和所述链下存储判断规则,确定是否将所述数据的至少一部分存储在所述区块链上和链下存储器中;在确定将所述数据存储在所述区块链上和所述链下存储器中时,基于所述数据和所述上链数据格式,生成所述数据的元数据;以及将所述元数据存储在所述区块链上,并且将所述数据存储在所述链下存储器中。本公开内容的第二方面提供了一种用于区块链的数据处理设备,其包括:处理器;以及存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:接收用于存储数据的请求,其中,所述用于存储数据的请求包括与待存储的所述数据相关联的信息;从所述区块链中获取存储规则,其中,所述存储规则包括链下存储判断规则和上链数据格式;基于所述信息和所述链下存储判断规则,确定是否将所述数据的至少一部分存储在所述区块链上和链下存储器中;在确定将所述数据存储在所述区块链上和所述链下存储器中时,基于所述数据和所述上链数据格式,生成所述数据的元数据;以及将所述元数据存储在所述区块链上,并且将所述数据存储在所述链下存储器中。最后,本公开内容的第三方面提供了一种有形的计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本公开内容的第一方面所述的方法。依据本公开内容的本公开内容所提出的数据处理方法,实现了大文件在区块链上及链下的系统化和标准化的存储方案。此外,本公开的一些实施例中,区块链上每个节点都会安装内置智能合约,且该合约的接口是公开的,用户能够通过访问或调用智能合约的方式获取文件存储规则并完成存储,随着区块链的推广应用,本公开中的技术方案会体现出较大技术价值和商业价值。附图说明结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:图1示出了用于区块链的数据处理方法100的流程图;图2示出了依据本公开内容的用于区块链的数据处理方法的一个实施例200的示意图;以及图3示出了用于区块链的数据处理设备300的示意图。具体实施方式以下参考附图详细描述本公开的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其它组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。此外,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。在详细介绍依据本公开内容的具体的技术方案之前,将首先介绍本公开内容所基于的技术问题,例如对于一个10kb的大文件,如果需要对其进行链上存储,则随着时间的推移,越来越多的大文件都将会被存储在区块链上,那么整个区块链的链上数据将会急剧膨胀,最终导致区块链的链上数据过多过大,从而不利于区块链网络的运行;另一方面,如果对该数据仅仅进行链下存储,则该数据存在被篡改的可能性,数据安全得不到保证。此外,区块链采用分布式存储模式,目前对数据的存储存在两方面的问题。第一方面的问题在于读写数据大小受限。具体而言,区块链对上链数据有严格的大小限制,不能很好地解决大文件存储。第二方面的问题在于存储容量难以预估。具体而言,区块链上每个节点都可获得全链提交的数据,维护全量数据备份。随着时间的推移,节点所保存的数据量将以不可控的方式增加。对于大文件存储,目前链下数据保存是一种常见方式。然而,目前并没有一种针对大文件的系统化、标准化的链上链下存储解决方案。也就是说现有技术中所提到的链下的数据存储并没有系统化的流程。对大文件的处理目前仍然以链下存储位置为主,没有进行链上信息处理,现有技术并未规定链下与链上数据如何进行关联,如何判断数据应链上还是链下存储,以及如何对这种链上链下存储的数据进行读取。为了解决上述技术问题,本公开内容的构思如下,即本公开提出一种用于区块链的链上链下数据处理方法,以解决所读取或者写入的链上数据的大小受到限制的问题。同时该用于区块链的链上链下数据处理方法能够控制上链数据量,以缓解区块链节点存储容量增长过快的压力。具体而言,该链上链下数据处理方法中会定义存储规则智能合约,以限定上链数据规则及上链数据格式;此外,在执行区块链写操作时,根据预先定义的规则判断数据是否直接存储至区块链。在数据不直接存储在区块链上的情况下,根据存储规则智能合约来确定存储至区块链上的上链数据的元数据的格式。与此同时,链下数据也可包含链上数据的相关信息,如区块链节点信息,上链时间等。链上数据可保证反篡改和数据完整性,同时链下数据的存在也可有效控制上链数据的规模。与之相对应地,在执行区块链读操作时,可支持同时读取链上和链下数据。可选地,写操作接口可进一步支持数据压缩或批量数据提交,以进一步减少上链数据量。以下将结合图1来具体描述依据本公开内容的用于区块链的数据处理方法100。图1示出了依据本公开内容的用于区块链的数据处理方法100的一个实施例的流程图。从图中可以看出,依据本公开内容的用于区块链的数据处理方法100包括以下步骤:首先,在方法步骤110中接收用于存储数据的请求,其中,所述用于存储数据的请求包括与待存储的所述数据相关联的本文档来自技高网...
用于区块链的数据处理方法、设备及计算机可读存储介质

【技术保护点】
1.一种用于区块链的数据处理方法,所述数据处理方法包括:接收用于存储数据的请求,其中,所述用于存储数据的请求包括与待存储的所述数据相关联的信息;从所述区块链中获取存储规则,其中,所述存储规则包括链下存储判断规则和上链数据格式;基于所述信息和所述链下存储判断规则确定是否将所述数据的至少一部分存储在所述区块链上和链下存储器中;在确定将所述数据存储在所述区块链上和所述链下存储器中时,基于所述数据和所述上链数据格式,生成所述数据的元数据;以及将所述元数据存储在所述区块链上,并且将所述数据存储在所述链下存储器中。

【技术特征摘要】
1.一种用于区块链的数据处理方法,所述数据处理方法包括:接收用于存储数据的请求,其中,所述用于存储数据的请求包括与待存储的所述数据相关联的信息;从所述区块链中获取存储规则,其中,所述存储规则包括链下存储判断规则和上链数据格式;基于所述信息和所述链下存储判断规则确定是否将所述数据的至少一部分存储在所述区块链上和链下存储器中;在确定将所述数据存储在所述区块链上和所述链下存储器中时,基于所述数据和所述上链数据格式,生成所述数据的元数据;以及将所述元数据存储在所述区块链上,并且将所述数据存储在所述链下存储器中。2.根据权利要求1所述的数据处理方法,其中,与待存储的所述数据相关联的信息包括待存储数据的大小信息和/或格式信息。3.根据权利要求2所述的数据处理方法,其中,基于所述信息和所述链下存储判断规则确定是否将所述数据的至少一部分存储在所述区块链上和链下存储器中进一步包括:根据所述信息所包括的待存储数据的大小信息与所述链下存储判断规则中所指定的文件大小阈值信息之间的关系确定是否将所述数据的至少一部分存储在所述区块链上和链下存储器中。4.根据权利要求1或2所述的数据处理方法,其中,所述元数据包括表示是否存在链下数据的信息、表示链下数据的大小的信息、摘要信息以及时间信息。5.根据权利要求4所述的数据处理方法,其中,所述时间信息包括所述元数据的生成时间信息和所述元数据的上链时间信息中的至少一个。6.根据权利要求4所述的数据处理方法,其中,所述元数据还包括链下存储服务的访问统一资源定位器信息。7.根据权利要求4所述的数据处理方法,所述数据处理方法还包括读取服务,所述读取服务包括:接收用于读取数据的请求;基于所述用于读取数据的请求,从所述区块链中获取所述数据的元数据;以及当所述元数据表示所述数据存储在所述区块链上时,从所述区块链上获取所述数据;或者当所述元数据表示所述数据存储在所述区块链上和所述链下存储器中时,从所述区块链上以及所述链下存储器中获取所述数据。8.根据权利要求1所述的数据处理方法,所述数据处理方法还包括将所述元数据存储在所述链下存储器中以及读取服务,并且其中存储在所述链下存储器中的所述元数据还包括与链上数据相关联的信息,所述读取服务包括:接收用于读取数据的请求;基于所述用于读取数据的请求,从所述链下存储器中获取所述数据的元数据;以及当所述元数据表示所述数据存储在所述链下存储器中时,从所述链下存储器中获取所述数据;或者当所述元数据表示所述数据存储在所述区块链上和所述链下存储器中时,从所述区块链上以及所述链下存储器中获取所述数据。9.根据权利要求1所述的数据处理方法,其中,所述存储规则还包括限定适用数据压缩或批量处理的数据信息。10.一种用于区块链的数据处理设备,其包括:处理器;以及存储器,其用于存储指令,当所述指令执行时使得所述处理器执...

【专利技术属性】
技术研发人员:陈曦谭峰
申请(专利权)人:上海点融信息科技有限责任公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1