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

基于区块链的水质环保数据管理系统和方法与流程

2022-11-16 07:10:29 来源:中国专利 TAG:


1.本发明涉及一种基于区块链的水质环保数据管理系统和方法。


背景技术:

2.全球的环境问题不断加剧,日益引起国际社会的重视。为了全人类的绿色美好生活,新型“绿色区块链”生态系统势在必行。区块链 节能环保是发展顺其自然的选择。
3.目前许多机构提供的数据质量低下,有时甚至存在逻辑缺失的问题,浪费科研经费的投入,严重影响治理环境效果。以环境监测为例,如果数据只由某个机构管理,第三方很难追踪监测全链条环节中是否存在造假行为。
4.传统的河道水环境管理信息系统需要维护大量的数据信息,通常会针对性地建立专题数据库进行数据存储。专题数据库往往采用中心化程度很高的关系型数据库服务,这类中心化数据库存储的数据始终存在着安全隐患。一旦中心数据库被攻破,大量数据的可信性就无法得到保证。然而,河道信息管理系统往往会有部分数据需要面向公众,并且需要保证信息的透明公开和可追溯,同时为了数据存储的安全性,需要对重点水质信息的存储做冗余备份。当中心化的信息管理系统数据库遭受外部攻击,或是人为操作失误导致核心数据丢失时,系统需要将原先数据核验还原,从而保证整个系统的稳定运行。
5.区块链作为一种新兴的互联网技术,其底层采用的是分布式数据存储、点对点传输、共识机制、加密算法等核心技术。区块链上的数据具有不可篡改、公开透明、永久保存的特性, 它们分布在各个节点中,不会因为中心节点出现故障而导致整体崩溃,可以实现安全可靠的数据备份。


技术实现要素:

6.为克服上述缺陷,本发明的目的在于提供了一种数据安全性好,数据可溯源的基于区块链的水质环保数据管理系统和方法。
7.为达到上述目的,本发明提供的基于区块链的水质环保数据管理系统,其中主要角色包括:水质数据提供者,水环境数据管理者,数据访问者,水环境数据验证者;其中:
8.水环境数据提供者,可以是泵站,水厂,河道以及纳入生态环保局监管水质排放情况的单位。其拥有对自身水环境数据的管理权限,并且拥有对数据访问权限的管理权。
9.水环境数据管理者,是综合管理所有水环境数据提供者提供的数据,搜集区块链网络上的各种交易,验证,并且负责生成区块。根据区块标识提供给对应同一个链上的节点。整个系统可以有一个或者多个水环境数据管理者角色。
10.数据访问者,通过客户端可以对水质数据进行访问的角色,根据被赋予的访问权限和系统进行数据交互。
11.水环境数据验证者,对水环境数据者提供的数据进行签名,背书。只有通过水环境数据者验证的数据才能成功上链。同一个链上的水环境数据验证者可以有多个。这个角色可以是生态环保局的负责人,也可以是三方管理机构的人。
12.为达到上述目的,本发明的基于区块链的水质环保数据管理方法,包括下述步骤:
13.s1、水环境数据提供者搜集到的水环境源数据,并将相关数据进行发布。
14.s2、水环境数据验证者对水环境数据提供者发布的数据进行验证。如果验证该数据有效,水环境数据验证者就对该数据进行签名,背书。如果验证不通过,则抛弃不用,同时不进行签名,背书。
15.s3、应用程序接收到系统网络中所有的水环境数据验证者提供的签名后,并且验证该交易是否经过背书,签名。如果所有水环境数据验证者的背书结果一致,并且都经过签名,则根据背书签名把数据打包成生成交易,同时广播通知水环境数据管理者。
16.s4、水环境数据管理者接收网络中所有通道上的交易信息,通过读取交易中的通道名称,对一段时间内接收到的交易信息进行排序,然后把排序后的批量交易打包成区块,分通道把区块分发给各通道成员。
17.进一步的,还包括:
18.s5、其他数据访问者想要访问某个企业或者河道的水环境数据,则需要首先发送身份认证申请,并且获取访问权限。当数据环境提供者收到了对应的访问申请,需要核实该数据访问者身份是否可以访问系统,同时需要赋予该访问者数据访问权限。通过身份认证的数据访问者只能对获取访问权限的数据进行访问。如果没有通过身份认证,数据提供者可以返回拒绝访问的消息。
19.本发明有效解决了当前水环境数据管理系统存在中心化程度过高,数据容易被篡改,系统容易被攻击导致数据丢失,过程数据无法保存甚至溯源,数据无法做到公开透明,以及数据正确性和合法性等一系列问题。本发明能够在实现数据去中心化管理、防篡改、公开透明的前提下使系统的性能和效率方面基本达到实际的应用需求。与传统的水环境数据管理系统相比,首次将水环境数据与区块链技术相结合,利用区块链为系统中的重要信息提供数据存证,进而扩展系统中的数据信息可追溯、模糊数据的链上核验还原等功能。
附图说明
20.图1为系统架构图
21.图2为数据上链流程图
22.图3为数据访问流程图
具体实施方式
23.下面结合附图对本发明实施例进行详细描述。
24.在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
25.术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
26.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
27.本发明的一实施例,如图1所示,本系统分为四层,第一层应用层,主要包括前端界面可视化显示,可以是web端页面也可以是app端,以及对应的后端处理程序,前后端交互的接口。第二层是业务层,主要包括数据上链,数据访问,数据签名、权限管理。其中数据上链和数据访问都需要与区块链层的智能合约交互。数据签名和权限管理主要是对用户身份,以及访问的数据权限管理。第三层是区块链层,这一层主要是区块链相关组件的功能,包括多通道部署,通道下面组织的分布,区块链结构的定义:交易,节点,区块,账本;共识机制,智能合约的定义,容器的状态同步。第四层是数据、网络层,主要功能是对数据进行加密,加密后的数据才能上链存储,对数据进行解密,解密后的数据才能被访问者所识别,还涉及到数据签名和背书。
28.如图2所示为水环境数据提供者发布一次数据的完整过程(数据上链):
29.2、水环境数据提供者(客户端)生成交易请求
30.系统可以通过物联网技术,传感器,机器学习,视频学习技术等相关手段搜集到水环境源数据,其中可以附加水质分类等级数据。还可以通过系统手动录入水知识库,处理措施知识图谱等在系统上把相关数据进行发布请求。
31.2、提交交易提案
32.后台应用程序将各种请求构造交易提案,其中交易提案包含本次交易要调用的合约标识、合约方法和参数信息以及客户端用户签名等。然后根据区块链背书策略选择背书节点(即水环境数据验证者)执行交易提案并进行背书签名。背书节点是链代码中背书策略指定的节点。背书策略是提前既定的策略,比如,哪些水环境数据提供者的哪些操作由哪几个水环境数据验证者的背书。正常情况下背书节点执行后的结果是一致的,只有背书节点对结果的签名不一样。
33.7、模拟执行提案并进行背书
34.水环境数据验证者(背书节点)在收到交易提案后会进行一些验证,验证通过后,会根据当前账本数据模拟执行链码中的业务逻辑并生成读写集。模拟执行时不会更新账本数据。然后背书节点对这些读写集进行签名生成提案响应,然后返回给应用程序。
35.8、构造交易请求并发送给水环境数据管理者(排序服务节点)
36.应用程序接收到所有背书节点的签名后,根据背书签名调用sdk生成交易,并广播给排序服务节点。其中生成交易的过程很简单,只需要确认所有背书节点的执行结果完全一致,再将交易提案、提案响应和背书签名打包生成交易即可。
37.9、排序服务节点对交易进行排序并生成区块
38.排序服务节点接收到网络中所有通道发出的交易信息,读取交易信封获取通道名称,按各个通道上交易的接收时间顺序对交易信息进行排序(多通道隔离),生成区块。(在这个过程中,排序服务节点不会关心交易是否正确,只是负责排序和打包。
39.10、排序服务节点广播区块给主节点
40.排序服务节点生成区块后会广播给通道上不同组织的主节点。
41.11、记账节点验证区块内容并写入到账本
42.所有的peer节点都是记账节点,记录的是节点已加入通道的账本数据。记账节点接收到的排序服务节点生成的区块后,会验证区块交易的有效性,然后提交到本地账本并产生一个生成区块的事件,监听区块事件的应用程序会进行后续的处理。(如果接收的是配置区块,则会更新缓存的配置信息)
43.12、主节点在组织内部同步最新的区块
44.如果交易是无效的,也会更新区块,但不会更新世界状态。(区块存储的是操作语句,而世界状态存储的是被处理的数据)。本发明中的组织可以是一个单位,一个河道系统,可以是任何一个环境监测点。
45.进一步的,在整个数据上链的过程中,其中的背书,校验,排序涉及到系统的共识机制,下面就详细的共识过程做介绍:
46.1)背书
47.当背书节点即本文中的水环境数据验证者对客户端发来的交易提案进行合法性校验,然后模拟执行链码得到交易结果,最后根据设定的背书逻辑判断是否支持该交易提案。如果背书逻辑决定支持交易提案,会把交易提案签名后发回给客户端。
48.客户端通常需要根据链码的背书策略,向一个或者多个成员的背书节点发出背书请求,即多个水环境数据验证者角色将收到背书请求。其中背书策略会定义需要哪些节点背书交易才有效,比如需要指定的5个成员的背书节点中至少3个同意;或者某个特殊身份的成员支持等。客户端只有在收集足够多的背书节点的交易提案签名,交易才能被视为有效。
49.2)排序
50.排序阶段就是由排序服务节点即本发明中的水环境数据管理者角色对交易进行排序,确定交易之间的时序关系。排序服务把一段时间内收到的交易进行排序,然后把排序后的批量交易打包成区块,再把区块广播给通道中的成员。采用排序共识方式,各个成员收到的是一组发生顺序相同的交易,从而保证了所有节点的数据一致性。
51.3)校验
52.校验阶段是节点对排序后的交易进行一系列的检验,包括交易数据的完整性检查、是否重复交易、背书签名是否符合背书策略的要求、交易的读写集是否符合多版本并发控制等。当交易通过了所有校验后,将被标注为合法并写入账本中。因为所有的确认节点都按照相同的顺序检验交易,并且把合法的交易依次写入账本中,因此不同确认节点的状态能够始终保持一致。
53.如图3所示为数据访问者访问数据的完整流程(数据查询):
54.1、访问者用户输入用户身份和需要访问的数据请求
55.2、权限管理模块判断访问者的身份是否有效,如果有效,执行步骤3,如果无效,直接拒绝访问请求。
56.3、判断该访问者是否拥有对该数据的访问权限,如果有,执行步骤4,如果没有,直接拒绝访问请求。
57.4、校验该被访问数据背书字段,签名是否有效。如果有效,执行步骤5,如果没有,直接拒绝访问请求。
58.5、对被访问数据进行解密。
59.6、输出被访问数据。
60.本技术是参照根据本技术实施例的方法、单元(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理单元的处理器以产生一个机器,使得通过计算机或其他可编程数据处理单元的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
61.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理单元以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
62.这些计算机程序指令也可装载到计算机或其他可编程数据处理单元上,使得在计算机或其他可编程单元上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程单元上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
63.在本说明书的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
64.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献