基于区块链和IPFS的异构数据处理系统、方法及设备与流程

文档序号:32388832发布日期:2022-11-30 07:22阅读:28来源:国知局
基于区块链和IPFS的异构数据处理系统、方法及设备与流程
基于区块链和ipfs的异构数据处理系统、方法及设备
技术领域
1.本发明属于计算机技术领域,具体涉及一种基于区块链和ipfs的异构数据处理系统、方法及设备。


背景技术:

2.随着互联网的发展,用户将文件上传至互联网上进行存储和管理越来越来重要。数据存储和安全一直是当代互联网的一个工作重点,如何可靠地存储数据以及保护数据的安全性和隐私性也是一个难关。
3.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

4.本发明旨在提升异构数据存储的安全性,提供一种基于区块链和ipfs的异构数据处理系统、方法及设备。
5.第一方面,本发明实施例提供一种基于区块链和ipfs的异构数据处理系统,包括服务子系统、星际文件子系统和区块链子系统:其中,
6.所述服务子系统响应于终端设备发送的数据提交请求后,所述服务子系统获取所述终端设备采集的异构数据,并对所述异构数据进行预处理后打包生成至少一个数据块;
7.所述服务子系统还基于多个数据块生成数据指纹;
8.所述服务子系统将多个数据块发送到星际文件子系统进行存储,所述星际文件子系统基于一个数据块生成一个ipfs文件哈希地址,并将至少一个ipfs文件哈希地址返回给所述服务子系统;
9.所述服务子系统调用所述区块链子系统上的数据上链合约后,将至少一个ipfs文件哈希地址和所述数据指纹保存至所述区块链系统的新建区块中;
10.所述区块链子系统计算并返回所述新建区块的哈希值给所述服务子系统进行保存。
11.可选地,所述异构数据包括语音数据、视频数据、图片数据、文本数据中的至少一种或几种。
12.可选地,所述数据块中包括数据类型标识、数据日期、终端设备id中的一种或几种。
13.可选地,所述服务子系统基于终端设备发送的数据查询请求,生成查询范围参数,所述范围参考包括数据日期和终端设备id;
14.所述服务子系统将所述查询范围参数发送给所述区块链子系统;
15.所述区块链子系统基于接收到的查询范围参数和链上数据查询合约,查询到目标区块,并将所述目标区块中的ipfs文件哈希地址和数据指纹发送给所述服务子系统;
16.所述服务子系统将所述ipfs文件哈希地址发送给所述星际文件子系统;
17.所述星际文件子系统根据所述ipfs文件哈希地址查询与其一一对应的数据块;
18.所述星际文件子系统将所述数据块和发送给所述服务子系统;
19.所述服务子系统基于所述数据指纹对接收到的所述数据块进行数据指纹验证。
20.可选地,若验证通过,则所述服务子系统对所述数据块进行可视化处理,并将可视化处理后的数据返回给所述终端设备以进行显示。
21.第二方面,本发明实施例提供一种基于区块链和ipfs的异构数据处理方法,包括:
22.响应于终端设备发送的数据提交请求后,获取所述终端设备采集的异构数据,并对所述异构数据进行预处理后打包生成多个数据块;
23.基于所述终端设备采集的异构数据生成数据指纹;
24.将多个数据块发送到星际文件子系统进行存储,并接收所述星际文件子系统发送ipfs文件哈希地址,其中所述ipfs文件哈希地址是由所述星际文件子系统基于所述数据块生成的;
25.调用所述区块链子系统上的数据上链合约后,将所述ipfs文件哈希地址和所述数据指纹保存至所述区块链系统的新建区块中。
26.可选地,基于区块链和ipfs的异构数据处理方法,还包括:
27.基于终端设备发送的数据查询请求,生成查询范围参数,所述范围参考包括数据日期和终端设备id;
28.将所述查询范围参数发送给所述区块链子系统;
29.接收所述区块链子系统发送的所述目标区块中的ipfs文件哈希地址和数据指纹;
30.将所述ipfs文件哈希地址发送给所述星际文件子系统;
31.接收所述星际文件子系统发送的基于所述ipfs文件哈希地址获得的数据块;
32.基于所述数据指纹对接收到的所述数据块进行数据指纹验证。
33.第三方面,本发明实施例提供一种电子设备,包括:
34.至少一个处理器;以及
35.与所述至少一个处理器通信连接的存储器;其中,
36.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
37.第四方面,本发明实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述方法。
38.第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述方法。
附图说明
39.图1示出了本发明实施例提供的一种基于区块链和ipfs的异构数据处理系统的结构及数据处理示意图;
40.图2示出了图1所示基于区块链和ipfs的异构数据处理系统的另一种数据处理示意图;
41.图3示出了可以用来实施本发明的实施例的示例电子设备300的示意性框图。
具体实施方式
42.为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
43.除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
44.需要说明的是,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,区块链也等于区块加链,区块可以大体分为块头(header)和块身(body)两部分。块头一般包括前一个区块的哈希值(父哈希)、时间戳以及其他信息,块身包含区块本身相应的信息,整个区块链系统可以包含如下技术特点:
45.(1)点对点传输:在区块链中的所有节点都通过点对点网络连接在一起,不同于中心化网络模式,在点对点网络中所有节点地位对等,通过特定的软件协议共享部分计算资源和传递信息。
46.(2)分布式数据存储:作为一个分布式账本,在区块链系统中的所有参与节点会包含区块链完整的账本信息副本,一个账本的信息是否被篡改可以通过与其他节点的账本副本信息进行对照比较。
47.(3)共识机制:所有的区块链节点都会维护自身的区块账本,并能够收集在一段时间内在区块链中新产生的交易信息存储在自己的区块账本中,如果保持整个网络中所有节点在这段时间内添加的区块信息是一致的、被所有节点共同验证认可的,这个确定存储的区块信息的区块通过所有节点验证和认可的过程被称为共识机制,它是通过分布式一致性的共识算法达成的。
48.图1为本发明实施例提高的一种基于区块链和ipfs的异构数据处理系统的结构及数据处理示意图,如图1所示,基于区块链和ipfs的异构数据处理系统包括服务子系统100、星际文件子系统200和区块链子系统300。
49.具体的,服务子系统100响应于终端设备发送的数据提交请求后,服务子系统100获取终端设备采集的异构数据,并对异构数据进行预处理后打包生成至少一个数据块。服务子系统100还基于多个数据块生成数据指纹。
50.继续参考图1,服务子系统100将多个数据块发送到星际文件子系统200进行存储,星际文件子系统200基于一个数据块生成一个ipfs文件哈希地址,并将至少一个ipfs文件哈希地址返回给服务子系统100。然后,服务子系统100调用区块链子系统300上的数据上链合约后,将至少一个ipfs文件哈希地址和数据指纹保存至区块链系统300的新建区块中。最后,区块链子系统300计算并返回新建区块的哈希值给服务子系统100进行保存。
51.其中,终端设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设
备、传感器等硬件设备。
52.区块链子系统300中的区块构成如图1所示,区块头主要由时间戳,前序区块hash、数据类型标识(视频、语音、文本等具体类别)构成,区块体存储ipfs中数据映射信息,具体数据则存在ipfs中,区块体主要由终端设备id、数据日期、ipfs文件hash地址、数据指纹构成。由于数据指纹存储在区块链上,数据指纹无法篡改。在后续查询数据使用时,可根据链上的数据指纹与实际查询到的数据的指纹进行对比,判断数据是否被篡改。
53.可选地,异构数据包括语音数据、视频数据、图片数据、文本数据中的至少一种或几种。
54.可选地,数据块中包括数据类型标识、数据日期、终端设备id中的一种或几种。
55.在本实施例中,由于将数据块相对应的ipfs文件哈希地址存储于区块链子系统300中,从而实现基于区块链的智能合约的去中心化文件存储,管理和共享,进而提高了异构数据存储的安全性。另外,考虑到区块链的事务延迟和吞吐量瓶颈问题,需要在区块链中存储尽可能少的信息,本发明采用星际文件系统(interplanetary file system,ipfs)这种分布式文件系统实现链外存储,ipfs中存储的数据稳定而且安全,很难被恶意篡改。
56.图2为图1所示基于区块链和ipfs的异构数据处理系统的另一种数据处理示意图,如图2所示,首先,服务子系统100基于终端设备发送的数据查询请求,生成查询范围参数,范围参考包括数据日期和终端设备id。然后,服务子系统100将查询范围参数发送给区块链子系统300,区块链子系统300基于接收到的查询范围参数和链上数据查询合约,查询到目标区块,并将目标区块中的ipfs文件哈希地址和数据指纹发送给服务子系统100。进一步地,服务子系统100将ipfs文件哈希地址发送给星际文件子系统200,星际文件子系统200根据ipfs文件哈希地址查询与其一一对应的数据块。星际文件子系统200将数据块和发送给服务子系统100。最后,服务子系统100基于数据指纹对接收到的数据块进行数据指纹验证。
57.在本实施例中,通过区块链子系统300基于接收到的查询范围参数和链上数据查询合约,查询到目标区块,并将目标区块中的ipfs文件哈希地址和数据指纹发送给服务子系统100,星际文件子系统200将数据块和发送给服务子系统100,服务子系统100基于数据指纹对接收到的数据块进行数据指纹验证,从而可以检验存储的异构数据是否被篡改。
58.在一些实施例中,如图2所示,若验证通过,则服务子系统100对数据块进行可视化处理,并将可视化处理后的数据返回给终端设备以进行显示。
59.本发明还提供一种基于区块链和ipfs的异构数据处理方法,包括:
60.1、响应于终端设备发送的数据提交请求后,获取终端设备采集的异构数据,并对异构数据进行预处理后打包生成多个数据块;
61.2、基于终端设备采集的异构数据生成数据指纹;
62.3、将多个数据块发送到星际文件子系统进行存储,并接收星际文件子系统发送ipfs文件哈希地址,其中ipfs文件哈希地址是由星际文件子系统基于数据块生成的;
63.4、调用区块链子系统300上的数据上链合约后,将ipfs文件哈希地址和所述数据指纹保存至区块链系统的新建区块中。
64.在本实施例的执行主体是服务子系统,在本实施例中,由于将数据块相对应的ipfs文件哈希地址存储于区块链子系统300中,从而实现基于区块链的智能合约的去中心化文件存储,管理和共享,进而提高了异构数据存储的安全性。另外,考虑到区块链的事务
延迟和吞吐量瓶颈问题,需要在区块链中存储尽可能少的信息,本发明采用星际文件系统(interplanetary file system,ipfs)这种分布式文件系统实现链外存储,ipfs中存储的数据稳定而且安全,很难被恶意篡改。
65.在一些实施例中,基于区块链和ipfs的异构数据处理方法,还包括:
66.1、基于终端设备发送的数据查询请求,生成查询范围参数,范围参考包括数据日期和终端设备id;
67.2、将查询范围参数发送给区块链子系统300;
68.3、接收区块链子系统300发送的所述目标区块中的ipfs文件哈希地址和数据指纹;
69.4、将ipfs文件哈希地址发送给所述星际文件子系统;
70.5、接收星际文件子系统发送的基于ipfs文件哈希地址获得的数据块;
71.6、基于数据指纹对接收到的数据块进行数据指纹验证。
72.在本实施例的执行主体是服务子系统,在本实施例中,通过区块链子系统300基于接收到的查询范围参数和链上数据查询合约,查询到目标区块,并将目标区块中的ipfs文件哈希地址和数据指纹发送给服务子系统100,星际文件子系统200将数据块和发送给服务子系统100,服务子系统100基于数据指纹对接收到的数据块进行数据指纹验证,从而可以检验存储的异构数据是否被篡改。
73.根据本发明的实施例,本技术还提供了一种电子设备、一种非瞬时计算机可读存储介质和一种计算机程序产品。
74.图3示出了可以用来实施本发明的实施例的示例电子设备300的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
75.如图3所示,设备300包括计算单元301,其可以根据存储在只读存储器(rom)302中的计算机程序或者从存储单元308加载到随机访问存储器(ram)303中的计算机程序,来执行各种适当的动作和处理。在ram 303中,还可存储设备300操作所需的各种程序和数据。计算单元301、rom 302以及ram 303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
76.设备300中的多个部件连接至i/o接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
77.计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理,例如用于基于区块链和ipfs的异构数据处理方法。例如,在一些实施例中,用于基于区块链
和ipfs的异构数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由rom 302和/或通信单元309而被载入和/或安装到设备300上。当计算机程序加载到ram 303并由计算单元301执行时,可以执行上文描述的用于基于区块链和ipfs的异构数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于基于区块链和ipfs的异构数据处理方法。
78.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
79.用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
80.在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
81.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
82.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网
(lan)、广域网(wan)和互联网。
83.云计算(cloud computer),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用或存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
84.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
85.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
86.可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1