CN113010903A - 一种基于区块链的饮食业油烟在线监控方法及*** - Google Patents
一种基于区块链的饮食业油烟在线监控方法及*** Download PDFInfo
- Publication number
- CN113010903A CN113010903A CN202110198532.0A CN202110198532A CN113010903A CN 113010903 A CN113010903 A CN 113010903A CN 202110198532 A CN202110198532 A CN 202110198532A CN 113010903 A CN113010903 A CN 113010903A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- module
- oil smoke
- group
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 113
- 239000000779 smoke Substances 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000008439 repair process Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 239000003517 fume Substances 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000006233 lamp black Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Images
Classifications
-
- 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/602—Providing cryptographic facilities or services
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- Primary Health Care (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链的饮食业油烟在线监控方法及***,包括:油烟在线监测终端,所述油烟在线监测终端用于对饮食业门店内油烟浓度数值进行监测。该一种基于区块链的饮食业油烟在线监控方法及***,当新采集到一组饮食业油烟监测数据时,该方法将该组监测数据存储到业务数据库,并以非对称加密的方式计算此组监测数据的hash值,同时,各个区块链节点都参与共识,共识通过后,各节点更新各自链上数据。当需要读取一组监测数据时,智能合约可从中心化数据库中获取数据并计算数据的hash值是否与链上的hash值一致,若一致,则说明数据没有被篡改过,若不一致,则说明数据被篡改过,本设计保证了读取到的监测数据始终为真实数据。
Description
技术领域
本发明涉及一种区块链领域,具体是一种基于区块链的饮食业油烟在线监控方法及***。
背景技术
区块链技术,也称为分布式账本技术。在区块链里面,由于每个节点都有一模一样的账本,并且每个节点都有着完全相等的权利,因此不会由于单个节点失去联系或宕机,而导致整个***崩溃。既然有一模一样的账本,就意味着所有的数据都是公开透明的,每个节点都可以看到每一个账户上数字的变化。区块链的这些特性决定了区块链上的数据无法被篡改。
因此,利用区块链技术,防止饮食业油烟在线监测数据被篡改是一种很好的方法,特提出一种基于区块链的饮食业油烟在线监控方法及***。
发明内容
本发明的目的在于提供一种基于区块链的饮食业油烟在线监控方法及***,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于区块链的饮食业油烟在线监控方法及***,包括:
油烟在线监测终端,所述油烟在线监测终端用于对饮食业门店内油烟浓度数值进行监测;
监测***,所述监测***用与对油烟在线监测终端的数值进行加密保护,以防止采集到的数值被篡改;
所述油烟在线监测模块包括数据采集模块、数据发送模块、处理器一、通信模块一与存储模块一,所述数据采集模块用于采集饮食业门店内油烟浓度数值,所述数据发送模块用于向监测***发送采集到的油烟浓度数值;
所述监测***包括多个区块链节点模块、数据接收模块、Hash值计算模块、处理器二、通信模块二、监测数据读取模块、业务数据库、存储模块二、数据自动修复模块与对比模块,所述数据接收模块用于接收油烟在线监测终端发送的油烟浓度数值,所述Hash值计算模块用于对油烟浓度数值进行加密计算,所述监测数据读取模块用于从业务数据中读取原始数据,所述业务数据库用于存储数据接收模块接收到的原始油烟浓度数值,所述数据自动修复模块用于定时对篡改的数值进行自动修复,所述对比模块用于判断数据是否被篡改。
作为本发明进一步的方案:所述区块链节点模块由共识单元、数据更新单元、数据丢弃单元与数据存储单元组成,所述数据更新单元用于各节点更新各自链上数据,同时,将该组监测数据存入到业务数据库中,所述数据丢弃单元用于丢弃数据,所述数据存储单元用于存储数据。
作为本发明再进一步的方案:所述共识单元的共识算法采用的是实用拜占庭容错算法。
作为本发明再进一步的方案:所述对比模块由数据返回单元与篡改修复单元一组成,所述数据返回单元用于直接返回Hash数值,所述篡改修复单元一用于自动修复被篡改的数据。
作为本发明再进一步的方案:所述数据自动修复模块由定时单元、巡查单元、Hash值计算单元、Hash值获取单元、判断单元与篡改修复单元二组成,所述定时单元用于预设启动的时间间隔,所述巡查单元用于定时巡查业务数据库中的数据,所述Hash值计算单元用于对巡查单元巡查到某一组数据的 Hash值进行计算,所述Hash用于从区块链中获取对应此组数据的Hash值,所述判断单元用于判断两个Hash值是否相等,所述篡改修复单元二用于自动修复被篡改的数据。
作为本发明再进一步的方案:所述数据自动修复模块的自动修复步骤如下:
步骤一:定时单元会按照预设的时间间隔,定时启动巡查单元定时巡查业务数据库中的数据;
步骤二:当定时器巡查到某一组数据时,通过Hash值计算单元会计算此组数据的Hash值;
步骤三:并通过Hash值获取单元从区块链中获取对应此组数据的Hash值;
步骤四:通过判断单元判断两个Hash值是否相等,若相等,则说明数据没有被篡改过,若不相等,则说明业务数据库中的数据被篡改过
步骤五:若业务数据库中的数据被篡改过,则通过篡改修复单元二获取对应区块链上的数据,并对业务数据库中的数据进行恢复。
作为本发明再进一步的方案:使用方法步骤如下:
S1:将油烟在线监测终端安装在饮食业门店内,并对其油烟浓度数值进行监测;
S2:当数据采集模块采集到一组数据S时,通过数据发送模块将此组监测数据S上报监测***;
S3:Hash值计算模块计算该组数据的Hash值,记作Hash1;
S4:然后每个区块链节点模块都参与共识,若共识通过,将此组监测数据 S及Hash1上链存储至区块链中,区块链中各节点更新各自链上数据,并将该组监测数据S存入到业务数据库中,若共识不通过,则通过数据丢弃单元丢弃此组数据;
S5:当***需要读取此组监测数据S时,则从业务数据库中获取此组数据 S,并通过Hash值计算模块计算该组数据的Hash值,记作Hash2;
S6:***从区块链中获取此组监测数据S的Hash1值,并通过对比模块比较Hash1值是否等于Hash2值,若相等,则把此组数据S直接返回,若不相等,则说明数据被篡改过,然后,通过篡改修复单元一获取区块链中Hash1 对应的数据,并将数据返回,同时,利用该数据对业务数据库中对应的数据进行恢复。
与现有技术相比,本发明的有益效果是:
1、本发明当新采集到一组饮食业油烟监测数据时,该方法将该组监测数据存储到业务数据库,并以非对称加密的方式计算此组监测数据的hash值,同时,各个区块链节点都参与共识,共识通过后,各节点更新各自链上数据。当需要读取一组监测数据时,智能合约可从中心化数据库中获取数据并计算数据的hash值是否与链上的hash值一致,若一致,则说明数据没有被篡改过,若不一致,则说明数据被篡改过,本设计保证了读取到的监测数据始终为真实数据,防止了外来攻击及内部监管人员对数据的篡改,对监测数据防篡改效果很好。
2、本发明定时单元会按照预设的时间间隔,定时启动巡查单元定时巡查业务数据库中的数据,当定时器巡查到某一组数据时,通过Hash值计算单元会计算此组数据的Hash值,并通过Hash值获取单元从区块链中获取对应此组数据的Hash值,通过判断单元判断两个Hash值是否相等,若相等,则说明数据没有被篡改过,若不相等,则说明业务数据库中的数据被篡改过,若业务数据库中的数据被篡改过,则通过篡改修复单元二获取对应区块链上的数据,并对业务数据库中的数据进行恢复,实现定时对异常的数据进行修复,以保证数据的正确性。
附图说明
图1为一种基于区块链的饮食业油烟在线监控方法及***的模块示意图;
图2为一种基于区块链的饮食业油烟在线监控方法及***中油烟在线终端的模块示意图;
图3为一种基于区块链的饮食业油烟在线监控方法及***中监测***的模块示意图;
图4为一种基于区块链的饮食业油烟在线监控方法及***中区块链节点模块的结构示意图;
图5为一种基于区块链的饮食业油烟在线监控方法及***中对比模块的模块示意图;
图6为一种基于区块链的饮食业油烟在线监控方法及***中数据自动修复模块的模块示意图;
图7为一种基于区块链的饮食业油烟在线监控方法及***的拜占庭容错算法的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1~7,本发明实施例中,一种基于区块链的饮食业油烟在线监控方法及***,包括:
油烟在线监测终端,油烟在线监测终端用于对饮食业门店内油烟浓度数值进行监测;
监测***,监测***用与对油烟在线监测终端的数值进行加密保护,以防止采集到的数值被篡改;
油烟在线监测模块包括数据采集模块、数据发送模块、处理器一、通信模块一与存储模块一,数据采集模块用于采集饮食业门店内油烟浓度数值,数据发送模块用于向监测***发送采集到的油烟浓度数值;
监测***包括多个区块链节点模块、数据接收模块、Hash值计算模块、处理器二、通信模块二、监测数据读取模块、业务数据库、存储模块二、数据自动修复模块与对比模块,数据接收模块用于接收油烟在线监测终端发送的油烟浓度数值,Hash值计算模块用于对油烟浓度数值进行加密计算,监测数据读取模块用于从业务数据中读取原始数据,业务数据库用于存储数据接收模块接收到的原始油烟浓度数值,数据自动修复模块用于定时对篡改的数值进行自动修复,对比模块用于判断数据是否被篡改。
区块链节点模块由共识单元、数据更新单元、数据丢弃单元与数据存储单元组成,数据更新单元用于各节点更新各自链上数据,同时,将该组监测数据存入到业务数据库中,数据丢弃单元用于丢弃数据,数据存储单元用于存储数据。
共识单元的共识算法采用的是实用拜占庭容错算法。
实用拜占庭容错算法,因为此算法很适合私有链和联盟链,国际上有名的Hyperledger fabric联盟链也是采用的实用拜占庭容错算法。在现实中,饮食业油烟在线监测***基本上是部署在政府监管内网中,此***中的节点数量和身份都是提前确定好的,且每一个节点的进出都需要进行初始化,故无法像POW共识机制那样任何节点都可以随时自由加入或退出。而且,实用拜占庭容错算法有很多优点,比如,节能、吞吐量高、分叉几率很低、节点数适当时交易延时极低、主节点不具备很大权限,与副节点地位相对平等,如果主节点出现问题,副节点可以拒绝其请求并可以容易地将其替换等等。
下面对实用拜占庭容错算法做一个详细的介绍。
节点类型:
在此算法中,存在两种节点类型:主节点、副节点。
每个主节点的工作过程称为一个视图(view),用v表示视图编号,主节点由副节点轮流当选,具体计算过程为主节点p=v mod|R|(|R|为节点个数)。
主节点的作用:
(1)主节点正常工作时,接收客户端的事务请求,验证request身份后,为该请求设置编号,广播pre-prepare消息。
(2)新主节点当选时,根据自己收集的view-change消息,发送view-new 信息,让其它节点同步数据。
(3)主节点与所有的其它节点保持心跳。
(4)如果主节点宕机,会因为心跳超时,而触发重新选举,保证***运行稳定。
(5)如果主节点恶意发送错误编号的消息,那么会在后续的操作中,被副节点察觉,因为prepare和commit阶段都是会进行广播的,一旦不一致,触发view-change。
(6)如果主节点不发送接收到的request,客户端在超时未回复时,会重发request到所有的副节点,并触发view-change。
(7)如果主节点节点篡改消息,因为有request里面有数据和客户端的签名,所以主节点无法篡改消息,其它副节点会先验证消息的合法性,否则丢弃,并触发view-change。
综上所述,限制了权限的主节点,如果宕机、或者不发生消息、或者发送错误编号的消息、或者篡改消息,都会被其它节点感知,并触发view-change。 view-change流程:
当副节点感知到主节点出现异常的时候,会触发view-change,重新选举必须要有2f+1个节点都确定了,发起重选才生效,一旦超过2f节点都发起 view-change消息,则选举结束,p=v+1mod|R|节点当选为新的主节点。并且新的主节点会根据自己统计的view-change的内容,生成并广播 view-change消息,其它节点验证之后,开始新的view消息<view-change, v+1,n,C,P,i>。其中,
v+1:表示新的view编号。
n:表示最新的stable checkpoint的编号。
C:表示2f+1验证过的checkpoint消息集合。
P:表示当前副本节点未完成的请求的pre-prepare和prepare消息集合。
新的主节点new Primary=v+1mod|R|。当new Primary收到2f个有效的view-change消息后,向其他节点广播new-view消息<new-view,v+1, V,O>。其中,
V:表示有效的view-change消息集合。
O:表示主节点重新发起的未经完成的pre-prepare消息集合。
未完成的pre-prepare消息集合的生成逻辑如下:
选取V中最小的stable checkpoint编号min-s,选取V中prepare消息的最大编号max-s。
在min-s和max-s之间,如果存在P消息集合,则创建<<pre-prepare,v+1, n,d>,m>消息。否则创建一个空的pre-prepare消息,即:<<pre-prepare, v+1,n,d(null)>,m(null)>,m(null)空消息,d(null)空消息摘要。
副节点收到主节点的new-view消息,验证有效性(各个节点都统计 view-change的个数),如果有效,则进入v+1状态,并且开始O中的 pre-prepare消息处理流程。
算法流程:
(1)request
客户端C向主节点p发送<REQUEST,o,t,c>。
o:请求的具体操作
t:请求时客户端追加的时间戳
c:客户端标识。
REQUEST:包含消息内容m,以及消息摘要d(m)。
客户端对请求进行签名。
(2)pre-prepare
主节点收到客户端的请求,需要对客户端请求消息签名是否正确进行校验。非法请求则丢弃。正确请求则分配一个编号n,编号n主要用于对客户端的请求进行排序。然后广播一条<<PRE-PREPARE,v,n,d>,m>消息给其它副节点。
v:视图编号
d:客户端消息摘要
m:消息内容
主节点对<PRE-PREPARE,v,n,d>进行签名。
(3)prepare
副节点i收到主节点的pre-prepare消息,需要满足以下条件方可接受消息:
a、请求和预准备消息的签名正确,并且d与m的摘要一致。
b、当前视图编号是v。
c、该副节点从未在视图v中接受过序号为n但是摘要d不同的消息m。
d、预准备消息的序号n在区间[h,H]内。
非法请求则丢弃。正确请求则副节点i进入准备状态并向所有其它节点 (包括主节点)发送一条<PREPARE,v,n,d,i>消息,v,n,d,m 与上述pre-prepare消息内容相同,i是当前副本节点编号。
副节点i对<PREPARE,v,n,d,i>签名。记录pre-prepare和prepare 消息到日志中,用于view-change过程中恢复未完成的请求操作。
prepare阶段如果发生view-change会导致丢弃prepare阶段的请求。
(4)commit
主节点和副节点收到prepare消息,需要满足以下条件方可接受消息:
a、副节点对prepare消息的签名正确。
b、消息的视图编号v与节点的当前视图编号一致。
c、n是否在区间[h,H]内。
非法请求则丢弃。如果节点i收到了2f+1个(包括自身在内)验证通过的prepare消息,表明网络中的大多数节点已经收到同意信息,则向其它节点包括主节点发送一条<COMMIT,v,n,d,i>消息,v,n,d,i与上述prepare消息内容相同。
节点i对<COMMIT,v,n,d,i>签名。记录commit消息到日志中,用于视图轮换过程中恢复未完成的请求操作。记录其它副本节点发送的 prepare消息到日志中。commit阶段用来确保网络中大多数节点都已经收到足够多的信息来达成共识,如果commit阶段发生视图轮换,会保存原来commit 阶段的请求,不会达不成共识,也不会丢失请求编号。
(5)reply
主节点和副节点收到commit消息,需要满足以下条件方可接受消息:
a、节点对commit消息的签名正确。
b、消息的视图编号v与节点的当前视图编号一致。
c、n是否在区间[h,H]内。
非法请求则丢弃。如果副本节点i收到了2f+1个(包括自身在内)验证通过的commit消息,说明当前网络中的大部分节点已经达成共识,运行客户端的请求操作o,并返回<REPLY,v,t,c,i,r>给客户端。
r:是请求操作结果,客户端如果收到f+1个相同的reply消息,说明客户端发起的请求已经达成全网共识,否则客户端需要判断是否重新发送请求给主节点。记录其它副本节点发送的commit消息到日志中。
举例说明(如图7):如下图表示了4个节点,0为主节点,节点1和节点2为副节点,节点3为失效节点,该节点不响应,也不发出任何消息,C为客户端,最终节点状态达到commit时,表示该轮共识成功达成。
对比模块由数据返回单元与篡改修复单元一组成,数据返回单元用于直接返回Hash数值,篡改修复单元一用于自动修复被篡改的数据。
数据自动修复模块由定时单元、巡查单元、Hash值计算单元、Hash值获取单元、判断单元与篡改修复单元二组成,定时单元用于预设启动的时间间隔,巡查单元用于定时巡查业务数据库中的数据,Hash值计算单元用于对巡查单元巡查到某一组数据的Hash值进行计算,Hash用于从区块链中获取对应此组数据的Hash值,判断单元用于判断两个Hash值是否相等,篡改修复单元二用于自动修复被篡改的数据。
数据自动修复模块的自动修复步骤如下:
步骤一:定时单元会按照预设的时间间隔,定时启动巡查单元定时巡查业务数据库中的数据;
步骤二:当定时器巡查到某一组数据时,通过Hash值计算单元会计算此组数据的Hash值;
步骤三:并通过Hash值获取单元从区块链中获取对应此组数据的Hash值;
步骤四:通过判断单元判断两个Hash值是否相等,若相等,则说明数据没有被篡改过,若不相等,则说明业务数据库中的数据被篡改过
步骤五:若业务数据库中的数据被篡改过,则通过篡改修复单元二获取对应区块链上的数据,并对业务数据库中的数据进行恢复。
一种基于区块链的饮食业油烟在线监控***,使用方法步骤如下:
S1:将油烟在线监测终端安装在饮食业门店内,并对其油烟浓度数值进行监测;
S2:当数据采集模块采集到一组数据S时,通过数据发送模块将此组监测数据S上报监测***;
S3:Hash值计算模块计算该组数据的Hash值,记作Hash1;
S4:然后每个区块链节点模块都参与共识,若共识通过,将此组监测数据 S及Hash1上链存储至区块链中,区块链中各节点更新各自链上数据,并将该组监测数据S存入到业务数据库中,若共识不通过,则通过数据丢弃单元丢弃此组数据;
S5:当***需要读取此组监测数据S时,则从业务数据库中获取此组数据 S,并通过Hash值计算模块计算该组数据的Hash值,记作Hash2;
S6:***从区块链中获取此组监测数据S的Hash1值,并通过对比模块比较Hash1值是否等于Hash2值,若相等,则把此组数据S直接返回,若不相等,则说明数据被篡改过,然后,通过篡改修复单元一获取区块链中Hash1 对应的数据,并将数据返回,同时,利用该数据对业务数据库中对应的数据进行恢复。
SHA256的又称作“安全哈希算法”。所谓的“哈希”是Hash的音译,通常来说,Hash函数的运算有一个共同特点。就是不论原始数据有多少位,只要通过Hash运算后,得到结果的长度都是固定的。这个256代表的意思是,数据经过函数运算后得到的结果必须是一个256位的2进制数字。也就是类似这样的结果:“001100……11011”,这其中一共有256位。这个Hash值相当于长度为32个字节的数组,通常用一个长度为64的十六进制字符串表示。
在本文中选择SHA256,是为了验证两组数据是否相等。本文中利用哈希算法计算Hash值时,哈希算法统一采用双重SHA256算法,即, SHA256(SHA256(S)),其中S是待哈希的一组数据。
本文选择的哈希算法是双重SHA256算法,本文选择的共识算法是实用拜占庭容错算法,实用拜占庭容错算法有很多优点,比如,节能,吞吐量高,分叉几率很低,节点数适当时交易延时极低,主节点不具备很大权限,与副节点地位相对平等,如果主节点出现问题,副节点可以拒绝其请求并可以容易地将其替换等等。
本发明的工作原理是:
使用时,将油烟在线监测终端安装在饮食业门店内,并对其油烟浓度数值进行监测,当数据采集模块采集到一组数据S时,通过数据发送模块将此组监测数据S上报监测***,Hash值计算模块计算该组数据的Hash值,记作 Hash1,然后每个区块链节点模块都参与共识,若共识通过,将此组监测数据 S及Hash1上链存储至区块链中,区块链中各节点更新各自链上数据,并将该组监测数据S存入到业务数据库中,若共识不通过,则通过数据丢弃单元丢弃此组数据,当***需要读取此组监测数据S时,则从业务数据库中获取此组数据S,并通过Hash值计算模块计算该组数据的Hash值,记作Hash2,***从区块链中获取此组监测数据S的Hash1值,并通过对比模块比较Hash1 值是否等于Hash2值,若相等,则把此组数据S直接返回,若不相等,则说明数据被篡改过,然后,通过篡改修复单元一获取区块链中Hash1对应的数据,并将数据返回,同时,利用该数据对业务数据库中对应的数据进行恢复,当新采集到一组饮食业油烟监测数据时,该方法将该组监测数据存储到业务数据库,并以非对称加密的方式计算此组监测数据的hash值,同时,各个区块链节点都参与共识,共识通过后,各节点更新各自链上数据。当需要读取一组监测数据时,智能合约可从中心化数据库中获取数据并计算数据的hash 值是否与链上的hash值一致,若一致,则说明数据没有被篡改过,若不一致,则说明数据被篡改过,本设计保证了读取到的监测数据始终为真实数据,防止了外来攻击及内部监管人员对数据的篡改,对监测数据防篡改效果很好,定时单元会按照预设的时间间隔,定时启动巡查单元定时巡查业务数据库中的数据,当定时器巡查到某一组数据时,通过Hash值计算单元会计算此组数据的Hash值,并通过Hash值获取单元从区块链中获取对应此组数据的Hash 值,通过判断单元判断两个Hash值是否相等,若相等,则说明数据没有被篡改过,若不相等,则说明业务数据库中的数据被篡改过,若业务数据库中的数据被篡改过,则通过篡改修复单元二获取对应区块链上的数据,并对业务数据库中的数据进行恢复。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于区块链的饮食业油烟在线监控***,其特征在于:包括:
油烟在线监测终端,所述油烟在线监测终端用于对饮食业门店内油烟浓度数值进行监测;
监测***,所述监测***用与对油烟在线监测终端的数值进行加密保护,以防止采集到的数值被篡改;
所述油烟在线监测模块包括数据采集模块、数据发送模块、处理器一、通信模块一与存储模块一,所述数据采集模块用于采集饮食业门店内油烟浓度数值,所述数据发送模块用于向监测***发送采集到的油烟浓度数值;
所述监测***包括多个区块链节点模块、数据接收模块、Hash值计算模块、处理器二、通信模块二、监测数据读取模块、业务数据库、存储模块二、数据自动修复模块与对比模块,所述数据接收模块用于接收油烟在线监测终端发送的油烟浓度数值,所述Hash值计算模块用于对油烟浓度数值进行加密计算,所述监测数据读取模块用于从业务数据中读取原始数据,所述业务数据库用于存储数据接收模块接收到的原始油烟浓度数值,所述数据自动修复模块用于定时对篡改的数值进行自动修复,所述对比模块用于判断数据是否被篡改。
2.根据权利要求1所述的一种基于区块链的饮食业油烟在线监控***,其特征在于:所述区块链节点模块由共识单元、数据更新单元、数据丢弃单元与数据存储单元组成,所述数据更新单元用于各节点更新各自链上数据,同时,将该组监测数据存入到业务数据库中,所述数据丢弃单元用于丢弃数据,所述数据存储单元用于存储数据。
3.根据权利要求2所述的一种基于区块链的饮食业油烟在线监控***,其特征在于:所述共识单元的共识算法采用的是实用拜占庭容错算法。
4.根据权利要求1所述的一种基于区块链的饮食业油烟在线监控***,其特征在于:所述对比模块由数据返回单元与篡改修复单元一组成,所述数据返回单元用于直接返回Hash数值,所述篡改修复单元一用于自动修复被篡改的数据。
5.根据权利要求1所述的一种基于区块链的饮食业油烟在线监控***,其特征在于:所述数据自动修复模块由定时单元、巡查单元、Hash值计算单元、Hash值获取单元、判断单元与篡改修复单元二组成,所述定时单元用于预设启动的时间间隔,所述巡查单元用于定时巡查业务数据库中的数据,所述Hash值计算单元用于对巡查单元巡查到某一组数据的Hash值进行计算,所述Hash用于从区块链中获取对应此组数据的Hash值,所述判断单元用于判断两个Hash值是否相等,所述篡改修复单元二用于自动修复被篡改的数据。
6.根据权利要求1所述的一种基于区块链的饮食业油烟在线监控***,其特征在于:所述数据自动修复模块的自动修复步骤如下:
步骤一:定时单元会按照预设的时间间隔,定时启动巡查单元定时巡查业务数据库中的数据;
步骤二:当定时器巡查到某一组数据时,通过Hash值计算单元会计算此组数据的Hash值;
步骤三:并通过Hash值获取单元从区块链中获取对应此组数据的Hash值;
步骤四:通过判断单元判断两个Hash值是否相等,若相等,则说明数据没有被篡改过,若不相等,则说明业务数据库中的数据被篡改过
步骤五:若业务数据库中的数据被篡改过,则通过篡改修复单元二获取对应区块链上的数据,并对业务数据库中的数据进行恢复。
7.根据权利要求1所述的一种基于区块链的饮食业油烟在线监控***,其特征在于:使用方法步骤如下:
S1:将油烟在线监测终端安装在饮食业门店内,并对其油烟浓度数值进行监测;
S2:当数据采集模块采集到一组数据S时,通过数据发送模块将此组监测数据S上报监测***;
S3:Hash值计算模块计算该组数据的Hash值,记作Hash1;
S4:然后每个区块链节点模块都参与共识,若共识通过,将此组监测数据S及Hash1上链存储至区块链中,区块链中各节点更新各自链上数据,并将该组监测数据S存入到业务数据库中,若共识不通过,则通过数据丢弃单元丢弃此组数据;
S5:当***需要读取此组监测数据S时,则从业务数据库中获取此组数据S,并通过Hash值计算模块计算该组数据的Hash值,记作Hash2;
S6:***从区块链中获取此组监测数据S的Hash1值,并通过对比模块比较Hash1值是否等于Hash2值,若相等,则把此组数据S直接返回,若不相等,则说明数据被篡改过,然后,通过篡改修复单元一获取区块链中Hash1对应的数据,并将数据返回,同时,利用该数据对业务数据库中对应的数据进行恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110198532.0A CN113010903A (zh) | 2021-02-22 | 2021-02-22 | 一种基于区块链的饮食业油烟在线监控方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110198532.0A CN113010903A (zh) | 2021-02-22 | 2021-02-22 | 一种基于区块链的饮食业油烟在线监控方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113010903A true CN113010903A (zh) | 2021-06-22 |
Family
ID=76406443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110198532.0A Pending CN113010903A (zh) | 2021-02-22 | 2021-02-22 | 一种基于区块链的饮食业油烟在线监控方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010903A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237987A (zh) * | 2022-02-22 | 2022-03-25 | 南京金宁汇科技有限公司 | 一种基于区块链的非结构化数据自修复方法 |
CN115208779A (zh) * | 2022-09-14 | 2022-10-18 | 图林科技(深圳)有限公司 | 基于区块链和大数据的数据流监测方法及云计算服务平台 |
CN117251698A (zh) * | 2023-11-17 | 2023-12-19 | 北京德众国良环保科技有限公司 | 一种基于区块链的饮食业油烟净化在线监控方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493061A (zh) * | 2018-12-28 | 2019-03-19 | 合肥达朴汇联科技有限公司 | 一种区块链的数据的验证方法、装置、电子设备及存储介质 |
CN109815746A (zh) * | 2019-01-11 | 2019-05-28 | 西安企业资本服务中心有限公司 | 一种基于区块链技术的数据防篡改方法及*** |
CN110620777A (zh) * | 2019-09-24 | 2019-12-27 | 北京艾摩瑞策科技有限公司 | 在区块链上的物联网的烟雾监测数据上链方法及*** |
CN111125787A (zh) * | 2019-12-27 | 2020-05-08 | 上海共链信息科技有限公司 | 一种基于区块链的燃气巡检数据上链***及其使用方法 |
-
2021
- 2021-02-22 CN CN202110198532.0A patent/CN113010903A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493061A (zh) * | 2018-12-28 | 2019-03-19 | 合肥达朴汇联科技有限公司 | 一种区块链的数据的验证方法、装置、电子设备及存储介质 |
CN109815746A (zh) * | 2019-01-11 | 2019-05-28 | 西安企业资本服务中心有限公司 | 一种基于区块链技术的数据防篡改方法及*** |
CN110620777A (zh) * | 2019-09-24 | 2019-12-27 | 北京艾摩瑞策科技有限公司 | 在区块链上的物联网的烟雾监测数据上链方法及*** |
CN111125787A (zh) * | 2019-12-27 | 2020-05-08 | 上海共链信息科技有限公司 | 一种基于区块链的燃气巡检数据上链***及其使用方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237987A (zh) * | 2022-02-22 | 2022-03-25 | 南京金宁汇科技有限公司 | 一种基于区块链的非结构化数据自修复方法 |
CN115208779A (zh) * | 2022-09-14 | 2022-10-18 | 图林科技(深圳)有限公司 | 基于区块链和大数据的数据流监测方法及云计算服务平台 |
CN115208779B (zh) * | 2022-09-14 | 2022-12-02 | 图林科技(深圳)有限公司 | 基于区块链和大数据的数据流监测方法及云计算服务平台 |
CN117251698A (zh) * | 2023-11-17 | 2023-12-19 | 北京德众国良环保科技有限公司 | 一种基于区块链的饮食业油烟净化在线监控方法及*** |
CN117251698B (zh) * | 2023-11-17 | 2024-01-19 | 北京德众国良环保科技有限公司 | 一种基于区块链的饮食业油烟净化在线监控方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113010903A (zh) | 一种基于区块链的饮食业油烟在线监控方法及*** | |
CN110784346B (zh) | 一种基于信誉值的pbft共识***及方法 | |
US11930113B2 (en) | Blockchain hybrid consensus-based system for maintaining domain name information | |
CN111355810B (zh) | 一种基于信誉与投票机制的改进pbft共识方法 | |
CN114079660B (zh) | 一种高性能分布式存储区块数据、时间戳、跨链通信与数据协同方法 | |
US11443042B2 (en) | Blockchain-based software version data management system and establishing method thereof | |
CN109756589B (zh) | 一种基于区块链多方共治的域名信息维护*** | |
CN110650321B (zh) | 基于区块链技术的视频内容防篡改、防丢失及恢复的方法 | |
CN112235379B (zh) | 一种区块链底层共享存储方法 | |
CN111865469B (zh) | 一种基于区块链的工业物联网容错时间同步方法和*** | |
Stewart et al. | Grandpa: a byzantine finality gadget | |
CN110784495B (zh) | 基于区块链的大数据集群***的发现与配置信息管理方法 | |
CN113141414B (zh) | 一种cnfs协议中区块链节点的分组多链异步共识方法 | |
CN113312005B (zh) | 基于区块链的物联网数据扩容存储方法、***及计算设备 | |
CN112395113A (zh) | 实用拜占庭容错共识方法及装置、可读存储介质 | |
CN113377869B (zh) | 一种区块链共享信息均衡存储方法 | |
CN115473908A (zh) | 一种区块链节点故障恢复方法及区块链*** | |
Rong et al. | ERBFT: efficient and robust byzantine fault tolerance | |
CN116260826A (zh) | 一种供应链溯源中拜占庭容错共识方法及*** | |
CN112465516B (zh) | 基于区块链网络的设备管理方法,相关设备及存储介质 | |
KR102315226B1 (ko) | 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법 | |
CN102263791A (zh) | 资源文件校验方法及*** | |
CN111917826A (zh) | 一种基于区块链知识产权保护的pbft共识算法 | |
CN115632800B (zh) | 基于区块链共识的物联网源端数据存储方法及装置 | |
CN111209599B (zh) | 一种基于区块链的数据处理*** |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210622 |
|
RJ01 | Rejection of invention patent application after publication |