一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于以太坊与IPFS的物联网溯源方法、及其相关设备与流程

2022-04-16 13:12:54 来源:中国专利 TAG:

基于以太坊与ipfs的物联网溯源方法、及其相关设备
技术领域
1.本技术涉及物联网技术领域,尤其涉及一种基于以太坊与ipfs的物联网溯源方法、系统、装置、计算机设备及存储介质。


背景技术:

2.物联网检测获取的数据量庞大,大量数据需要可靠实时地存储,并且在未来需要得到验证时,必须将数据以某种形式存入区块链,而传统区块链系统为了“安全”而牺牲“效率”,因此其数据存储的容量与速率非常低下,不能存放大规模数据。


技术实现要素:

3.本技术实施例的目的在于提出一种基于以太坊与ipfs的物联网溯源方法、系统、装置、计算机设备及存储介质,以解决传统区块链无法解决物联网获取的大量数据的技术问题。
4.为了解决上述技术问题,本技术实施例提供一种基于以太坊与ipfs的物联网溯源系统,采用了如下所述的技术方案:
5.物品管理模块,用于对物品进行智能识别以及数字化跟踪并生成物品信息,其中物品信息包括物品当前状态、物品性能参数以及物品编码;
6.数据处理模块,根据采集的物品当前状态进行整理汇总并提供相关接口以供调用;
7.ipfs存储模块,用于存储汇总的物品当前状态并生成物品hash;
8.以太坊存储模块,用于存储物品hash、物品性能参数以及物品编码。
9.为了解决上述技术问题,本技术实施例还提供一种基于以太坊与ipfs的物联网溯源方法,所述方法包括以下步骤:
10.以物品为单元创建以太坊账户;
11.将物联网中物品信息收集至json对象中;
12.创建文件,并将json对象写入文件中;
13.传递文件至ipfs中;
14.获取文件在ipfs的hash;
15.将ipfs的hash存储在以太坊合约中,将物品的以太坊账户与ipfs的hash关联。
16.为了解决上述技术问题,本技术实施例还提供一种基于以太坊与ipfs的物联网溯源装置,包括:
17.物联网模块,用于获取的所有设备采集的传感器数据;
18.ipfs处理模块,用于将传感器数据存储于ipfs中生成多个ipfs节点,将多个ipfs节点连接搭建ipfs集群,其中,每个ipfs节点内的节点内容生成对应的hash;
19.区块链模块,将hash存储在以太坊区块链中。
20.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述
的技术方案:包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上述的基于以太坊与ipfs的物联网溯源方法的步骤。
21.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的基于以太坊与ipfs的物联网溯源方法的步骤。
22.与现有技术相比,在本技术中通过引入ipfs以及以太坊区块链技术,使得物联网获取的大量数据能够的好很好的排序梳理以及存储,以物品为单元创建以太坊账户;将物联网中物品信息收集至json对象中;创建文件,并将json对象写入文件中;传递文件至ipfs中;获取文件在ipfs的hash;将ipfs的hash存储在以太坊合约中,将物品的以太坊账户与ipfs的hash关联。利用以太坊区块链 分布式存储的方式解决物联网中的大规模数据上链的问题,将原始数据存于类似ipfs等分布式系统中,并将源文件的地址存储于区块链内永久保存,用户可以通过区块链上文件的地址信息随时去获取这些数据,同时hash算法结果也一并存入以太坊区块链,这样用户可以将得到的链上数据进行验证,以确定数据的完整性与可靠性,保证ipfs上数据不被篡改。
附图说明
23.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本技术可以应用于其中的示例性系统架构图;
25.图2是基于以太坊与ipfs的物联网溯源系统的一个实施例的结构示意图;
26.图3是基于以太坊与ipfs的物联网溯源方法的一个实施例的流程图;
27.图4是基于以太坊与ipfs的物联网溯源装置的一个实施例的结构示意图;
28.图5是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
29.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
30.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
32.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。
网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
33.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
34.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture experts group audio layeriii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audiol ayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
35.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
36.需要说明的是,本技术实施例所提供的基于以太坊与ipfs的物联网溯源方法一般由服务器执行,相应地,基于以太坊与ipfs的物联网溯源装置一般设置于服务器中。
37.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
38.继续参考图2。所述的基于以太坊与ipfs的物联网溯源系统200,包括:
39.物品管理模块201,用于对物品进行智能识别以及数字化跟踪并生成物品信息,其中物品信息包括物品当前状态、物品性能参数以及物品编码;
40.物联网通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术进行实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。其中,物品信息包括物品当前状态、物品性能参数以及物品编码,还包括物品信息产生位置地址(如域名,ip地址,文件路径)。
41.数据处理模块202,根据采集的物品当前状态进行整理汇总并提供相关接口以供调用;数据处理模块202包括:拆分组,将物联网获取的数据进行拆分;关联组,以单一设备作为最小单元查询与之关联的传感器数据;排序组,以数据获取时间排序单一设备中关联的传感器数据。
42.ipfs存储模块203,用于存储汇总的物品当前状态并生成物品hash;
43.所述ipfs存储模块203包括:将处理后的数据存储于ipfs中生成多个ipfs节点,将多个ipfs节点连接搭建ipfs集群,其中,每个ipfs节点内的节点内容生成对应的hash;
44.所述存储层203包括:设置组,将处理后的数据存储于ipfs中,每个设备以及数据获取时间分别作为ipfs节点,其中,ipfs节点的节点内容为在该节点获取的传感器数据;搭建组,将多个ipfs节点进行关联连接搭建ipfs集群,ipfs集群存储由物联网获取的所有数据;获取组,获取ipfs节点内的节点内容生成对应的hash。
45.ipfs把数据如何存储、索引和传输都预先自定义好,也就是将上传好的数据转换成专门的数据格式进行存储,同时ipfs会将相同的文件进行了hash计算,确定其唯一的地址,在ipfs网络里的文件,会被赋予一个hash,这个hash类似于文件id,它是从文件内容中
被计算出来的。ipfs中会对重复的内容进行去重处理,在保证整个ipfs存储文件的冗余量以及ipfs的轻便与快捷。每个ipfs节点仅存储它感兴趣的内容,通过索引信息,可帮助确定存储内容的ipfs节点,在本技术中,设置多个ipfs节点,并对ipfs节点按之间的数据获取时间作为关联连接成ipfs集群。在查找要查看或下载的文件时,用户需要让网络找到对应内容的存储ipfs节点,最后确定所需求的文件内容。
46.需要说明的是,ipfs中存储所有源数据的数据块,数据块存储没有顺序,只是每个数据块与hash地址的关系一一对应,而hash地址与具体信息的映射关系存储于以太坊区块链中。ipfs可单节点运行。
47.ipfs是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。ipfs的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络(cdn)的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有最重要的——静态网站。
48.把文件放到ipfs节点,它会得到一个新名字qmxgtagwtt1uutfsb2sbavarmevlk4rqecqg5bv7wwdzwu(就是象比特币或以太坊的地址),是一个由文件内容计算出的加密hash值。hash值直接反映文件的内容,哪怕只修改1比特,hash值也会完全不同。当ipfs被请求一个文件hash时,它会使用一个分布式hash表找到文件所在的节点,取回文件并验证文件数据。
49.以太坊存储模块204,用于存储物品hash、物品性能参数以及物品编码。
50.以太坊协议没有提供任何连接到ipfs的本地方式,但可以回到像oraclize这样的离线解决方案来解决这个问题。oraclize允许使用各种数据提供智能合约。其中一个可用的数据源是url。我们使用公共网关从ipfs上的json文件中读取,使用的另一个数据源是ipfs,通过使用json解析器(它是查询的一部分)读取oraclize智能合约,在json文档中提取特定字段。
51.如果oraclize可以在20秒内获取文件,则可以预期获得异步请求。如果使用连接良好的节点上传文件,则不需要关注超时。通过公共网关或本地运行守护进程获取文件几乎是即时的。响应是异步的,oraclize_query调用返回查询id(bytes32)。可以将其作为来自oraclize的数据的标识符。出于安全原因,确保只允许oraclize调用callback函数。
52.在智能合约上调用addpost时仅输入ipfs的hash。我们使用ipfs和oraclize从文件中读取标题,以使用以太坊事件存储它。并不需要为其他智能合约保留标题,展示了如何优化低交易费用。ipns是ipfs的命名系统,允许可变url。hash对应于对等id而不是文件或目录内容hash。
53.本实施例通过引入ipfs以及以太坊区块链技术,使得物联网获取的大量数据能够的好很好的排序梳理以及存储,以物品为单元创建以太坊账户;将物联网中物品信息收集至json对象中;创建文件,并将json对象写入文件中;传递文件至ipfs中;获取文件在ipfs的hash;将ipfs的hash存储在以太坊合约中,将物品的以太坊账户与ipfs的hash关联。利用以太坊区块链 分布式存储的方式解决物联网中的大规模数据上链的问题,将原始数据存于类似ipfs等分布式系统中,并将源文件的地址存储于区块链内永久保存,用户可以通过区块链上文件的地址信息随时去获取这些数据,同时hash算法结果也一并存入以太坊区块
链,这样用户可以将得到的链上数据进行验证,以确定数据的完整性与可靠性,保证ipfs上数据不被篡改。
54.本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
55.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
56.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
57.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
58.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
59.进一步参考图3,作为对上述图2所示系统的实现,本技术提供了一种基于以太坊与ipfs的物联网溯源方法的一个实施例,该方法实施例与图2所示的系统实施例相对应。
60.如图3所示,本实施例所述基于以太坊与ipfs的物联网溯源方法包括以下步骤:
61.步骤s301,以物品为单元创建以太坊账户;
62.步骤s302,将物联网中物品信息收集至json对象中;
63.步骤s303,创建文件,并将json对象写入文件中;
64.步骤s304,传递文件至ipfs中;
65.步骤s305,获取文件在ipfs的hash;
66.步骤s306,将ipfs的hash存储在以太坊合约中,将物品的以太坊账户与ipfs的hash关联。
67.每个不同的客户端有唯一id,数据以id作为索引键值,故以“天”为单位进行数据块打包,即一天的数据作为一个独立数据块,这样方便管理和查询。在达到预定义区块大小(一日的数据量)时对客户端数据进行分块打包,每次打包完块后立即存入ipfs,并获取
ipfs存储块的地址。然后,将该数据块的ipfs地址以及文件指纹存入以太坊区块链进行保存。
68.客户端通过http-post方式以特定数据格式(json)向后台服务发送数据,该后端服务会记录每一个连接的客户端处发来数据数目,并更新其数据文件指纹,当达到预设值时,进行打包操作,并使用流的方式向ipfs发送数据。数据块存储在ipfs上,然后返回存储地址;后台服务将先前计算的文件指纹与ipfs文件存储地址组合且生成新的一条上链数据,然后通过调用以太坊链码将信息存储在peer节点账本上;以太坊向服务端返回本次存储交易的hash值。
69.把文件放到ipfs节点,它会得到一个新名字qmxgtagwtt1uutfsb2sbavarmevlk4rqecqg5bv7wwdzwu(就是象比特币或以太坊的地址),是一个由文件内容计算出的加密hash值。hash值直接反映文件的内容,哪怕只修改1比特,hash值也会完全不同。当ipfs被请求一个文件hash时,它会使用一个分布式hash表找到文件所在的节点,取回文件并验证文件数据。
70.以太坊协议没有提供任何连接到ipfs的本地方式,但可以回到像oraclize这样的离线解决方案来解决这个问题。oraclize允许使用各种数据提供智能合约。其中一个可用的数据源是url。我们使用公共网关从ipfs上的json文件中读取,使用的另一个数据源是ipfs,通过使用json解析器(它是查询的一部分)读取oraclize智能合约,在json文档中提取特定字段。
71.如果oraclize可以在20秒内获取文件,则可以预期获得异步请求。如果使用连接良好的节点上传文件,则不需要关注超时。通过公共网关或本地运行守护进程获取文件几乎是即时的。响应是异步的,oraclize_query调用返回查询id(bytes32)。可以将其作为来自oraclize的数据的标识符。出于安全原因,确保只允许oraclize调用callback函数。
72.在智能合约上调用addpost时仅输入ipfs的hash。我们使用ipfs和oraclize从文件中读取标题,以使用以太坊事件存储它。并不需要为其他智能合约保留标题,展示了如何优化低交易费用。ipns是ipfs的命名系统,允许可变url。hash对应于对等id而不是文件或目录内容hash.
73.步骤s306之后还包括,步骤s307,获取物联网发起请求获取原始数据,启动以太坊链码;
74.步骤s308,查询链码是否存在ipfs地址信息;
75.步骤s309,若不存在,则继续查询ipfs;
76.步骤s3010,若存在,根据ipfs上对应数据块文件的hash地址从ipfs上拿到原始数据,比对验证利用以太坊上文件指纹与ipfs上原始数据;
77.步骤s3011,若两种ipfs上原始数据一致,则确定ipfs上对应数据块文件未被篡改;
78.步骤s3012,若两种ipfs上原始数据不一致,则确定ipfs上对应数据块文件被篡改,并将以太坊上文件指纹与ipfs上原始数据覆盖ipfs上对应数据块文件的hash地址从ipfs上拿到原始数据。
79.以上为数据查询步骤,具体地,当数据查询时,客户端发起请求获取原始数据,服务启动以太坊链,然后查询链码是否存在该id、日期下的ipfs地址信息,若不存在,这说明
不存在数据,否则继续查询ipfs。根据ipfs上对应数据块文件的hash地址从ipfs上拿到原始数据,并可以利用以太坊上文件指纹与ipfs上原始数据进行比对验证,若两者一致则可以确定该数据块未被篡改。
80.客户端通过唯一id值和日期等内容查询相关信息,通过http-get方式向服务后台请求数据。例如请求url:http://localhost:60003/querydata?obdid=x7777-s6665&date=2019-4-3,是用户查询的接口,意思是id为x7777-s6665日期为2019-4-3这天的该日数据块;后台将会自动启动以太坊链码容器,执行链码中相应的查询方法;以太坊将匹配正确的数据(包含ipfs文件存储地址以及文件指纹)返回。例如如下信息:
81.{“obdid”:“x7777-s6665”,“datadate”:“2019-4-3”,“ipfsaddr”:“qmfqjujeywgx2fn15nsly7xapg7qqo3imz9s3uvxrcriti”,“filefingerprint”:“21358b2f61c5b5ddd515f7046765ba43e8b643dce26985bfd45a1bd02e9201a8”}
82.后台通过以太坊数据中的ipfs文件存储地址去查询ipfs网络,并返回匹配的整个数据块;ipfs根据hash地址返回对应的整个数据块的文件信息,随后在服务端可以进行对文件的验证,以检验存储数据是否被篡改。
83.所述物品信息包括物品参数、物品当前状态、物品内存储的用户姓名以及图片、物品内存储的用户身份id。
84.为了证明hash值的私钥是否有效,步骤s306之后还包括,步骤s3013,获取物品的以太坊账号;
85.步骤s3014,查找物品的以太坊账号对应ipfs的hash;
86.步骤s3015,根据ipfs的hash从ipfs获取文件;
87.步骤s3016,读取json对象;
88.步骤s3017,从json对象中提取物品信息。
89.所述根据ipfs的hash从ipfs获取文件的步骤之后还包括:
90.读取json对象的特定字段;根据json对象的特定字段提取物品信息。
91.所述json对象的特定字段为所述json对象的标题。
92.本实施例通过引入ipfs以及以太坊区块链技术,使得物联网获取的大量数据能够的好很好的排序梳理以及存储,以物品为单元创建以太坊账户;将物联网中物品信息收集至json对象中;创建文件,并将json对象写入文件中;传递文件至ipfs中;获取文件在ipfs的hash;将ipfs的hash存储在以太坊合约中,将物品的以太坊账户与ipfs的hash关联。利用以太坊区块链 分布式存储的方式解决物联网中的大规模数据上链的问题,将原始数据存于类似ipfs等分布式系统中,并将源文件的地址存储于区块链内永久保存,用户可以通过区块链上文件的地址信息随时去获取这些数据,同时hash算法结果也一并存入以太坊区块链,这样用户可以将得到的链上数据进行验证,以确定数据的完整性与可靠性,保证ipfs上数据不被篡改。
93.进一步参考图4,作为对上述图2所示系统的实现,本技术提供了一种基于以太坊与ipfs的物联网溯源装置的一个实施例,该装置实施例与图2所示的系统实施例相对应,该装置具体可以应用于各种电子设备中。
94.如图4所示,本实施例所述的基于以太坊与ipfs的物联网溯源装置400包括:物联网模块401、ipfs处理模块402、区块链模块403。其中:
95.物联网模块401,用于获取的所有设备采集的传感器数据;
96.ipfs处理模块402,用于将传感器数据存储于ipfs中生成多个ipfs节点,将多个ipfs节点连接搭建ipfs集群,其中,每个ipfs节点内的节点内容生成对应的hash;
97.区块链模块403,将hash存储在以太坊区块链中。
98.本技术中通过引入ipfs以及以太坊区块链技术,使得物联网获取的大量数据能够的好很好的排序梳理以及存储。利用以太坊区块链 分布式存储的方式解决物联网中的大规模数据上链的问题,将原始数据存于类似ipfs等分布式系统中,并将源文件的地址存储于区块链内永久保存,用户可以通过区块链上文件的地址信息随时去获取这些数据,同时hash算法结果也一并存入以太坊区块链,这样用户可以将得到的链上数据进行验证,以确定数据的完整性与可靠性,保证ipfs上数据不被篡改。
99.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
100.所述计算机设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图5中仅示出了具有组件51-53的计算机设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
101.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
102.所述存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器51可以是所述计算机设备5的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述计算机设备6的外部存储设备,例如该计算机设备5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器51还可以既包括所述计算机设备5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述计算机设备5的操作系统和各类应用软件,例如基于以太坊与ipfs的物联网溯源方法的计算机可读指令等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
103.所述处理器52在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制所述计算机设备5的总体操作。本实施例中,所述处理器52用于运行所述存储器51中存储的计算机可读指令或者处理数据,例如运行所述基于以太坊与ipfs的物联网溯源方法的计算机可读指令。
104.所述网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在
所述计算机设备5与其他电子设备之间建立通信连接。
105.本实施例通过引入ipfs以及以太坊区块链技术,使得物联网获取的大量数据能够的好很好的排序梳理以及存储,以物品为单元创建以太坊账户;将物联网中物品信息收集至json对象中;创建文件,并将json对象写入文件中;传递文件至ipfs中;获取文件在ipfs的hash;将ipfs的hash存储在以太坊合约中,将物品的以太坊账户与ipfs的hash关联。利用以太坊区块链 分布式存储的方式解决物联网中的大规模数据上链的问题,将原始数据存于类似ipfs等分布式系统中,并将源文件的地址存储于区块链内永久保存,用户可以通过区块链上文件的地址信息随时去获取这些数据,同时hash算法结果也一并存入以太坊区块链,这样用户可以将得到的链上数据进行验证,以确定数据的完整性与可靠性,保证ipfs上数据不被篡改。
106.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于以太坊与ipfs的物联网溯源方法的步骤。
107.本实施例通过引入ipfs以及以太坊区块链技术,使得物联网获取的大量数据能够的好很好的排序梳理以及存储,以物品为单元创建以太坊账户;将物联网中物品信息收集至json对象中;创建文件,并将json对象写入文件中;传递文件至ipfs中;获取文件在ipfs的hash;将ipfs的hash存储在以太坊合约中,将物品的以太坊账户与ipfs的hash关联。利用以太坊区块链 分布式存储的方式解决物联网中的大规模数据上链的问题,将原始数据存于类似ipfs等分布式系统中,并将源文件的地址存储于区块链内永久保存,用户可以通过区块链上文件的地址信息随时去获取这些数据,同时hash算法结果也一并存入以太坊区块链,这样用户可以将得到的链上数据进行验证,以确定数据的完整性与可靠性,保证ipfs上数据不被篡改。
108.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
109.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献