一种基于区块链技术的物联网数据管理系统和方法与流程

文档序号:26734055发布日期:2021-09-22 22:02阅读:252来源:国知局
一种基于区块链技术的物联网数据管理系统和方法与流程

1.本发明属于涉及信息技术领域,尤其涉及一种基于区块链技术的物联网数据管理系统和方法。


背景技术:

2.国家电网公司的电工装备智慧物联平台(eip)已经完成接入430余家供应商,而供应商的类别非常涵盖线缆、线圈、表计、开关、二次、铁塔、抽水蓄能、配网配变、配网开关、低压线缆等10个品类,接入订单数量已超过5万单,初步实现了对供应商订单信息、计划与排产信息、工艺质量信息、出厂试验信息、产品发运信息、物流运输信息数据的贯通与共享。但是随着整体项目建设的深入推进,将会有越来越多的供应商接入,接入的数据量也将成几何式增长,从而对各环节数据质量提出了更高要求。目前在接入数据完整性、一致性、逻辑正确性方面还存在一定的不足。


技术实现要素:

3.针对现有技术中对于国家电网公司的电工装备智慧物联平台对于数据处理存在着接入数据完整性、一致性、逻辑正确性缺陷的问题,本公开实施例提出了一种基于区块链技术的物联网数据管理系统和方法。
4.为了解决上述问题,本公开实施例提出了一种基于区块链技术的物联网数据管理系统,包括以下步骤:
5.配置中心,被配置为存储系统各类设定的配置,其中所述配置采用多副本文本或xml格式存储,且所述配置包括本节点交易池定时同步时间、上一区块锻块时间和哈希值;
6.数据同步模块,被配置为分别对未锻块的交易和已锻块的交易进行数据库同步写入;其中未锻块的数据根据写入时间进行可设定时间周期的轮询增量写入;其中对已锻块的数据在完成锻块后触发,带有上一区块和当前区块的哈希值进行批量交易写入以确保数据库数据区块链路信息完整;
7.内存数据库模块,被配置为将数据存储到内存中,以供直接操作内存中保存该数据的数据库;其中所述内存数据库模块中存储的未锻块的交易池中的数据,对于非交易类型的联盟链,数据将在下一次锻块或将来一次锻块中被写入区块,以用于趋势性统计或实时度较高的统计;
8.关系型数据库,被配置为将锻块成功后存储当年节点区块或其他节点锻块成功后存储通过p2p网络广播的区块内容;
9.区块链平台,被配置为实现智能合约的执行、节点记账权投票和选举、区块记账。
10.在一些可能的实施例中,所述系统还包括:
11.权限接口模块,该模块用于同步区块链系统中的用户权限至内存数据库和关系型数据库系统。
12.为了解决上述问题,本公开实施例提出了一种利用如前任一项所述的系统进行数
据处理的方法,包括:
13.未锻块数据写入步骤:数据同步模块启动后读取配置文件中的轮询周期,时间周期可为固定时间间隔、固定时间点等,生成工作任务列表;数据同步模块在工作任务列表时间达到时,读取上一工作任务启动时间,本工作任务为列表中头一条,则上一条启动任务时间为'0000

00

00 00:00:00.000';数据同步模块调用区块链平台json api接口读取区块链平台交易池中的小于当前任务时间,大于等于上一条任务时间的所有交易数据;数据同步模块将数据批量写入内存数据库中;数据同步模块收到节点锻块结束的通知后,比对当前区块中重复交易记录,并在内存数据库中删除;
14.已锻块数据写入步骤:数据同步模块启动监听区块链平台的锻块消息;数据同步模块在监听到本节点锻块完成或平台广播其他节点锻块完成的消息后,根据区块哈希值调用区块链平台接口读取区块交易记录和链上一区块的哈希值;数据同步模块将所有数据加入写入时间、本区块哈希值和上一区块哈希值后,批量写入关系型数据库;数据同步模块监听到节点分叉等区块链变动消息,根据作废区块哈希值删除交易数据。
15.在一些可能的实施例中,所述方法还包括:
16.数据读取业务流程:权限接口模块对数据管理系统用户登录的用户名和密码向区块链平台进行验证,并创建用于访问内存数据库模块和关系型数据库的临时数据库用户名密码,返回给应用端进行程序或sql客户端进行数据库访问。
17.在一些可能的实施例中,所述方法还包括:
18.权限接口模块启动后读取配置文件中用户名同步周期,并根据周期同步区块链用户名,权限接口模块将用户的登录信息,包括用户名、私钥串发送给区块链平台以验证用户可用性,并从区块链平台获取用户数据权限,写入关系型数据库,权限粒度控制在表级;权限接口模块生成有效期为可配置时长的临时用户和密码,同步用户权限至临时用户,并返回给用户临时登录的用户名及密码;用户和应用根据临时用户、密码登录内存数据库模块和关系型数据库进行数据查询。
19.在一些可能的实施例中,所述方法还包括:
20.临时用户时限到期后,内存数据库模块和关系型数据库关闭用户连接和临时用户账号。
21.本发明的有益效果在于:本公开实施例的技术方案引入了区块链技术,通过采集数据上链确保了数据规范统一、固使正源,提升了整体建设质量。但智慧物联数据涉及产品工艺数据、物流数据和生产数据等多类型业务数据,相对于交易数据具有数据关联耦合程度高,数据实时性强等特点,区块链技术在电工装备智慧物联平台中的应用解决了对接入供应商的信任问题和数据真实性问题,但是由于区块链技术的信息检索采用专用接口遍历所有区块的方式为主,降低了物联数据的读取和应用的效率。本公开实施例的技术方案在保证数据安全性和一致性的基础上,提高区块链技术的运行效率和数据可用性。
附图说明
22.图1是本公开实施例的基于区块链技术的物联网数据管理系统的数据读写流程示意图;
23.图2是本公开实施例的基于区块链技术的物联网数据管理系统的数据读写流程示
意图。
具体实施例
24.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
25.下面结合附图及本发明的实施例对后评估的方法进一步说明。
26.如图1所示的,本公开实施例的基于区块链技术的物联网数据管理系统包括:
27.配置中心001,被配置为存储系统各类设定的配置,其中所述配置采用多副本文本或xml格式存储,且所述配置包括本节点交易池定时同步时间、上一区块锻块时间和哈希值;
28.数据同步模块002,被配置为分别对未锻块的交易和已锻块的交易进行数据库同步写入;其中未锻块的数据根据写入时间进行可设定时间周期的轮询增量写入;其中对已锻块的数据在完成锻块后触发,带有上一区块和当前区块的哈希值进行批量交易写入以确保数据库数据区块链路信息完整;
29.内存数据库模块003,被配置为将数据存储到内存中,以供直接操作内存中保存该数据的数据库;其中所述内存数据库模块003中存储的未锻块的交易池中的数据,对于非交易类型的联盟链,数据将大概率在下一次锻块或将来某次锻块中被写入区块,可用于趋势性统计或实时度较高的统计;
30.关系型数据库004,被配置为将锻块成功后存储当年节点区块或其他节点锻块成功后存储通过p2p网络广播的区块内容;
31.区块链平台005,被配置为实现智能合约的执行、节点记账权投票和选举、区块记账。
32.进一步的,该系统还可以包括:
33.权限接口模块006,该模块用于同步区块链系统中的用户权限至内存数据库和关系型数据库系统;
34.其中,未锻块数据写入内存数据库模块003的流程为:数据同步模块002启动后读取配置中心001的轮询周期;其中该轮询周期可以为固定时间间隔、固定时间点;数据同步模块002生成工作任务列表;在工作任务列表时间达到时,读取上一工作任务启动时间,本工作任务为列表中头一条,则上一条启动任务时间为'0000

00

00 00:00:00.000',即取出所有区块链交易池中的等待记账交易数据。然后数据同步模块002调用区块链平台005的json api接口,读取区块链平台交易池中的小于当前任务时间且大于等于上一条任务时间的所有交易数据,并存储到内存数据库模块003中。数据同步模块002接收到本节点锻块结束的通知后,比对当前区块中重复交易记录,并在内存数据库模块003中删除,并向配置中心001上传最新区块的锻块时间和哈希值。
35.其中,已锻块数据写入内存数据库模块003的流程为:数据同步模块002启动后开放监听端口,监听区块链平台005的锻块消息;数据同步模块002在监听到本节点锻块完成或平台广播其他节点锻块完成的消息后,根据区块哈希值调用区块链平台005接口读取区块交易记录和链上一区块的哈希值,数据同步模块002将所有数据加入写入时间、本区块哈
希值和上一区块哈希值后,批量写入关系型数据库004;数据同步模块002监听到节点分叉等区块链变动消息,根据作废区块哈希值删除关系型数据库004中交易数据和内存数据库模块003中交易数据,并按照新区块信息写入新的交易信息。
36.数据读取业务流程是:权限接口模块006对数据管理系统用户登录的用户名和密码向区块链平台进行验证,并创建用于访问内存数据库模块003和关系型数据库004的临时数据库用户名密码,返回给应用端进行程序或sql客户端进行数据库访问。具体业务流程实例如下:权限接口模块006启动后读取配置文件中用户名同步周期,并根据周期同步区块链用户名,权限接口模块006将用户的登录信息,包括用户名、私钥串发送给区块链平台005以验证用户可用性,并从区块链平台005获取用户数据权限,写入关系型数据库004,权限粒度控制在表级。权限接口模块006生成有效期为可配置时长的临时用户和密码,同步用户权限至临时用户,并返回给用户临时登录的用户名及密码。用户和应用根据临时用户、密码登录内存数据库模块003和关系型数据库004进行数据查询。临时用户时限到期后,内存数据库模块003和关系型数据库004关闭用户连接和临时用户账号。
37.具体的,本公开实施例提出的采用基于区块链技术的未锻块物联数据写入方法,包括以下步骤:
38.1)数据同步模块启动后读取配置文件中的轮询周期,时间周期可为固定时间间隔、固定时间点等,生成工作任务列表;
39.2)数据同步模块在工作任务列表时间达到时,读取上一工作任务启动时间,本工作任务为列表中头一条,则上一条启动任务时间为'0000

00

0000:00:00.000';
40.3)数据同步模块调用区块链平台json api接口读取区块链平台交易池中的小于当前任务时间,大于等于上一条任务时间的所有交易数据;
41.4)数据同步模块将数据批量写入内存数据库中;
42.5)数据同步模块收到节点锻块结束的通知后,比对当前区块中重复交易记录,并在内存数据库中删除。
43.具体的,本公开实施例提出的采用基于区块链技术的未锻块物联数据写入方法,包括以下步骤:
44.采用基于区块链技术的已锻块物联数据写入方法,包括以下步骤:
45.1)数据同步模块启动监听区块链平台的锻块消息;
46.2)数据同步模块在监听到本节点锻块完成或平台广播其他节点锻块完成的消息后;
47.3)数据同步模块根据区块哈希值调用区块链平台接口读取区块交易记录和链上一区块的哈希值;
48.4)数据同步模块将所有数据加入写入时间、本区块哈希值和上一区块哈希值后,批量写入关系型数据库;
49.5)数据同步模块监听到节点分叉等区块链变动消息,根据作废区块哈希值删除交易数据,重复2)至4)操作写入新的交易信息。
50.具体的,本公开实施例提出的一种采用基于区块链技术的物联数据的读取方法,包括以下步骤:
51.1)权限接口模块启动后读取配置文件中用户名同步周期,并根据周期同步区块链
用户名;
52.2)权限接口模块将用户的登录信息,包括用户名、私钥串发送给区块链平台验证用户可用性,并从区块链平台获取用户数据权限,写入关系型数据库,权限粒度控制在表级。
53.3)权限接口模块生成有效期为可配置时长的临时用户和密码,同步用户权限至临时用户,并返回给用户临时登录的用户名及密码。
54.4)用户和应用根据临时用户、密码登录内存数据库和关系型数据库进行数据查询。
55.5)临时用户时限到期后,关闭用户连接和临时用户账号。
56.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1