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

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

2022-04-16 13:10:17 来源:中国专利 TAG:

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


背景技术:

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


技术实现要素:

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

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

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

相关文献