一种基于能源数据的区块链控制系统的制作方法

文档序号:33417895发布日期:2023-03-10 22:59阅读:41来源:国知局
一种基于能源数据的区块链控制系统的制作方法

1.本发明涉及区块链技术领域,具体为一种基于能源数据的区块链控制系统。


背景技术:

2.能源数据是很重要的基础性战略资源,它具有数据量很大、数据的类型很多、数据所在的位置很分散等特点。能源生产、交换、传输、消耗的过程中会产生大量的数据,这些数据会存储在不同的地区、不同的企业、或者企业的不同部门,其中数据基本不会对外共享,这会使得能源数据没能发挥出其所具有的价值,也阻碍了它的进一步地利用。但是目前来说,在能源公司内部实现跨部门数据的访问控制或在不同的能源公司之间进行能源数据的共享,依然面临着数据不可信、隐私泄露、数据被篡改、数据所有权易丢失等问题,这些问题是数据共享的阻碍。因此,设计优化能源数据访问控制和安全数据共享的一种基于能源数据的区块链控制系统是很有必要的。


技术实现要素:

3.本发明的目的在于提供一种基于能源数据的区块链控制系统,以解决上述背景技术中提出的问题。
4.为了解决上述技术问题,本发明提供如下技术方案:一种基于能源数据的区块链控制系统,包括前端交互模块和数据共享交易模块,所述前端交互模块用于根据用户资源进行数据分区存储,并对用户进行分类管理,所述数据共享交易模块用于对能源数据的共享和交易过程进行安全验证,同时保存交易查询记录便于后续信息追溯,所述数据共享交易模块与前端交互模块网络连接。
5.根据上述技术方案,所述前端交互模块包括用户管理模块、资源发布模块和区块链搭建模块,所述用户管理模块用于为用户分配相应角色,并为角色分配相应权限,所述资源发布模块用于数据所有者通过系统发布新的数据资源,所述区块链搭建模块用于通过超级账本搭建区块链多链网络;
6.所述区块链搭建模块包括数据本地存储模块和数据上链模块,所述数据本地存储模块用于将获得数据哈希值且经过数据签名的数据文件存储至本地数据库,所述数据上链模块用于将经过加密的密文信息作为能源数据信息,并通过调用智能合约将数据上传到区块链。
7.根据上述技术方案,所述数据共享交易模块包括需求上传模块、访问验证模块、共识机制单元和追溯查询模块,所述需求上传模块用于当用户想要进行访问或交易时进行需求上传,所述访问验证模块用于对共享数据访问安全性进行验证,所述共识机制单元用于通过共识机制对交易请求进行验证,所述追溯查询模块用于对数据资源交易记录或共享查看记录进行溯源,所述访问验证模块和共识机制单元均与需求上传模块网络连接。
8.根据上述技术方案,所述共识机制单元包括信誉值更新模块、节点选择模块和交易验证模块,所述信誉值更新模块用于根据各节点的共识行为和网络状况计算节点的信誉
值,所述节点选择模块用于根据信誉值选择出各节点,所述交易验证模块用于对客户端发送的交易请求进行验证,所述节点选择模块与信誉值更新模块网络连接;
9.所述访问验证模块包括权限判断模块和数据验证模块,所述权限判断模块用于调用相关智能合约,对用户是否拥有访问权限进行判断,所述数据验证模块用于对数据的真实性进行验证。
10.根据上述技术方案,所述基于能源数据的区块链控制系统的运行方法主要包括以下步骤:
11.步骤s1:用户首次进入系统时,输入用户个人信息进行注册登录,系统根据用户身份的不同为其分配不同角色;
12.步骤s2:通过超级账本搭建区块链多链网络,将用户个人信息和能源数据信息进行存储;
13.步骤s3:数据所有者在注册成功后,系统为其生成密钥对,在进行资源发布或数据上传时刻存储至本地数据库,并获得数据摘要,通过注册时获得的私钥对数据文件进行签名;
14.步骤s4:对数据所有者设置访问策略,加密其身份信息,将加密后的密文信息发送到区块链网络中,通过调用智能合约将数据上传到区块链;
15.步骤s5:其他用户在需要进行能源交易或共享数据查看时,在系统中上传数据查看或交易请求;
16.步骤s6:访问验证模块对上传请求的用户身份信息进行查看,权限判断后进行数据验证并反馈给用户;
17.步骤s7:通过共识机制对经过申请的交易信息进行验证;
18.步骤s8:系统保存所有能源数据信息并为其生成溯源码,任意用户可以根据溯源码对该能源数据资源进行溯源。
19.根据上述技术方案,所述步骤s1具体为:用户注册完成后,授权中心验证用户身份并根据身份编号为其生成身份密钥,属性中心根据数据访问者提交的身份密钥和属性集合为其生成属性私钥和转换密钥。
20.根据上述技术方案,所述步骤s6进一步包括以下步骤:
21.步骤s61:访问验证模块接收用户提交的数据访问请求信息,智能合约判断数据用户身份;
22.步骤s62:对于拥有访问权限的数据用户,可获得链上存储的能源数据的相关信息,并向数据所有者访问原始数据,若没有访问权限则无法查看任何数据信息;
23.步骤s63:数据用户将获得的能源数据原始数据进行哈希获得新的哈希值,在通过数据所有者的公钥解密数字签名后,获得数据摘要;
24.步骤s64:与存储于区块链数据库中的该能源数据的数据摘要进行对比,一致则验证该数据正确。
25.根据上述技术方案,所述步骤s7进一步包括以下步骤:
26.步骤s71:监控节点根据节点信誉值,对节点进行分类,将各节点信誉值进行排序,设置信誉值阈值;
27.步骤s72:客户端向主节点发生交易请求信息;
28.步骤s73:主节点对交易请求进行排序,并将其整合成数据包发送给其他节点;
29.步骤s74:其他共识节点接收到数据包后,根据数据包内的具体信息对该消息的完整性进行验证,完成验证后,接收数据包并对认可的消息进行打包生成反馈消息,将其发送给主节点;
30.步骤s75:主节点统计公式节点返回的反馈消息,并向其他共识节点和存储节点广播数据报信息,各节点接收数据包并将其存入自己所保存的账本,向主节点返回操作结果;
31.步骤s76:上述步骤中,若节点验证失败、主节点没有接收到反馈消息或完成操作结果的节点低于阈值,则返回步骤s71开启新一轮共识。
32.根据上述技术方案,所述步骤s71中节点信誉值的计算具体为:以各节点初始值q0、历史共识行为中的节点贡献值p以及调节参数k构建信誉评估模型,得到最终各节点的信誉值q。
33.根据上述技术方案,所述步骤s8中的溯源具体为:用户可以输入能源数据资源溯源码对数据资源进行溯源。
34.与现有技术相比,本发明所达到的有益效果是:本发明通过设置有前端交互模块和数据共享交易模块,实现链上链下分类存储,将原始能源数据存储至本地数据库,加密后的密文信息存储至区块链,进一步保证数据的安全;在能源数据的共享访问中,通过身份验证以及权限设置,保证共享数据及数据所有者的信息安全;在能源数据的交易过程中,通过区块链共识过程对交易信息进行验证,保交易过程的完整和安全;同时,系统记录每一次交易和访问的操作记录,可通过溯源码对任意能源数据进行追溯,便于在产生问题时确认责任主体。
附图说明
35.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
36.图1是本发明的系统模块组成示意图。
具体实施方式
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.请参阅图1,本发明提供技术方案:一种基于能源数据的区块链控制系统,包括前端交互模块和数据共享交易模块,前端交互模块用于根据用户资源进行数据分区存储,并对用户进行分类管理,数据共享交易模块用于对能源数据的共享和交易过程进行安全验证,同时保存交易查询记录便于后续信息追溯,数据共享交易模块与前端交互模块网络连接,通过设置有前端交互模块和数据共享交易模块,实现链上链下分类存储,将原始能源数据存储至本地数据库,加密后的密文信息存储至区块链,进一步保证数据的安全;在能源数据的共享访问中,通过身份验证以及权限设置,保证共享数据及数据所有者的信息安全;在能源数据的交易过程中,通过区块链共识过程对交易信息进行验证,保交易过程的完整和
安全;同时,系统记录每一次交易和访问的操作记录,可通过溯源码对任意能源数据进行追溯,便于在产生问题时确认责任主体。
39.前端交互模块包括用户管理模块、资源发布模块和区块链搭建模块,用户管理模块用于为用户分配相应角色,并为角色分配相应权限,资源发布模块用于数据所有者通过系统发布新的数据资源,区块链搭建模块用于通过超级账本搭建区块链多链网络;
40.区块链搭建模块包括数据本地存储模块和数据上链模块,数据本地存储模块用于将获得数据哈希值且经过数据签名的数据文件存储至本地数据库,数据上链模块用于将经过加密的密文信息作为能源数据信息,并通过调用智能合约将数据上传到区块链。
41.数据共享交易模块包括需求上传模块、访问验证模块、共识机制单元和追溯查询模块,需求上传模块用于当用户想要进行访问或交易时进行需求上传,访问验证模块用于对共享数据访问安全性进行验证,共识机制单元用于通过共识机制对交易请求进行验证,追溯查询模块用于对数据资源交易记录或共享查看记录进行溯源,访问验证模块和共识机制单元均与需求上传模块网络连接。
42.共识机制单元包括信誉值更新模块、节点选择模块和交易验证模块,信誉值更新模块用于根据各节点的共识行为和网络状况计算节点的信誉值,节点选择模块用于根据信誉值选择出各节点,包括主节点、共识节点、存储节点,交易验证模块用于对客户端发送的交易请求进行验证,节点选择模块与信誉值更新模块网络连接;
43.访问验证模块包括权限判断模块和数据验证模块,权限判断模块用于调用相关智能合约,对用户是否拥有访问权限进行判断,数据验证模块用于对数据的真实性进行验证。
44.基于能源数据的区块链控制系统的运行方法主要包括以下步骤:
45.步骤s1:用户首次进入系统时,输入用户个人信息进行注册登录,系统根据用户身份的不同为其分配不同角色,具体分为管理员、数据使用者、数据所有者和监管部门;
46.步骤s2:通过超级账本搭建区块链多链网络,将用户个人信息和能源数据信息进行存储;
47.步骤s3:数据所有者在注册成功后,系统为其生成密钥对,在进行资源发布或数据上传时刻存储至本地数据库,并获得数据摘要,通过注册时获得的私钥对数据文件进行签名,保证文件的真实性和正确性;
48.步骤s4:对数据所有者设置访问策略,加密其身份信息,将加密后的密文信息发送到区块链网络中,通过调用智能合约将数据上传到区块链,密文信息包括数据摘要、数字签名、能源数据描述、时间戳、数据拥有者身份等信息;
49.步骤s5:其他用户在需要进行能源交易或共享数据查看时,在系统中上传数据查看或交易请求;
50.步骤s6:访问验证模块对上传请求的用户身份信息进行查看,权限判断后进行数据验证并反馈给用户;
51.步骤s7:通过共识机制对经过申请的交易信息进行验证;
52.步骤s8:系统保存所有能源数据信息并为其生成溯源码,任意用户可以根据溯源码对该能源数据资源进行溯源。
53.步骤s1具体为:用户注册完成后,授权中心验证用户身份并根据身份编号为其生成身份密钥,属性中心根据数据访问者提交的身份密钥和属性集合为其生成属性私钥和转
换密钥。
54.步骤s6进一步包括以下步骤:
55.步骤s61:访问验证模块接收用户提交的数据访问请求信息,智能合约判断数据用户身份,数据所有者是数据的共享者,拥有数据的绝对访问控制权;数据使用者是数据的需求方,通过向数据所有者申请共享数据获得访问权限;同时能源数据的敏感性决定了数据共享必须在管控下进行,监管部门是数据共享与交易申请的审核部门,必须是可以审核申请的最高权限机构,并且需要对数据使用者的共享申请进行审核;
56.步骤s62:对于拥有访问权限的数据用户,可获得链上存储的能源数据的相关信息,并向数据所有者访问原始数据,获得能源数据的原始文件,若没有访问权限则无法查看任何数据信息;
57.步骤s63:数据用户将获得的能源数据原始数据进行哈希获得新的哈希值,在通过数据所有者的公钥解密数字签名后,获得数据摘要;
58.步骤s64:与存储于区块链数据库中的该能源数据的数据摘要进行对比,一致则验证该数据正确,即具有真实性与正确性,数据没有被篡改。
59.步骤s7进一步包括以下步骤:
60.步骤s71:监控节点根据节点信誉值,对节点进行分类,将各节点信誉值进行排序,设置信誉值阈值,选择超过阈值的节点为共识节点,低于阈值的节点为存储节点,并在信誉值较高的共识节点中随机选择一个节点为主节点;
61.步骤s72:客户端向主节点发生交易请求信息,请求信息包含具体请求操作、请求时间和客户端用户信息;
62.步骤s73:主节点对交易请求进行排序,并将其整合成数据包发送给其他节点,数据包内容包含当前消息被编号和发送时所在的视图、客户端的请求消息、主节点分配给该消息的编号、信息摘要、时间戳和主节点编号;
63.步骤s74:其他共识节点接收到数据包后,根据数据包内的具体信息对该消息的完整性进行验证,完成验证后,接收数据包并对认可的消息进行打包生成反馈消息,将其发送给主节点;
64.步骤s75:主节点统计公式节点返回的反馈消息,并向其他共识节点和存储节点广播数据报信息,各节点接收数据包并将其存入自己所保存的账本,向主节点返回操作结果,设置完成操作结果的节点阈值,包括共识节点和存储节点,主节点如果接收到大于等于阈值的节点已成功记账的消息,则数据已成功上链;
65.步骤s76:上述步骤中,若节点验证失败、主节点没有接收到反馈消息或完成操作结果的节点低于阈值,则返回步骤s71开启新一轮共识,监控节点根据各节点在共识过程中的表现,对各节点的信誉值进行相应的更新,并根据信誉值对节点的类别进行更新。
66.步骤s71中节点信誉值的计算具体为:以各节点初始值q0、历史共识行为中的节点贡献值p以及调节参数k,调节参数可调整节点贡献值和稳定值在模型中所占的比重,构建信誉评估模型,得到最终各节点的信誉值q,q=q0+kp,其中n为参加的共识过程总次数nc为历史记录中该节点共识成功的次数,ns为历史记录中该节点共识失败的次数,α为共识失败的影响参数,nz为历史记录中该节点成为主节点的次数,β为成为主节点
的消耗参数,避免同一个节点一直为主节点,提高验证的正确性。
67.步骤s8中的溯源具体为:用户可以输入能源数据资源溯源码对数据资源进行溯源,将数据唯一溯源码及调用的智能合约方法打包作为溯源请求消息,并通过授权中心对溯源请求进行签名来获取查询方法,智能合约将请求后的数据打包并返回将数据展示给前端用户,完成数据的溯源功能。
68.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
69.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1