本发明涉及电力能源,尤其涉及一种基于区块链的数据分发系统和方法。
背景技术:
1、随着新型电力系统不断发展,电力数据分发的安全性和效率正成为提高电网运行效率和可靠性的重要部分。
2、相关技术中,基于传输控制协议/网际协议(transmission control protocol/internet protocol,tcp/ip)和命名数据网络ndn的数据分发平台存在数据分发效率较低的问题。因此如何进行改进以实现高效准确地进行电力数据的分发是本领域技术人员亟需解决的技术问题。
技术实现思路
1、针对现有技术中的问题,本发明实施例提供一种基于区块链的数据分发系统和方法。
2、具体地,本发明实施例提供了以下技术方案:
3、第一方面,本发明实施例提供了一种基于区块链的数据分发系统,包括:
4、ndn网络子系统和区块链子系统;
5、其中,ndn网络子系统和区块链子系统连接;
6、区块链子系统用于存储电力数据发布者的公钥信息;
7、ndn网络子系统用于存储电力数据发布者提交的数据包并向电力数据请求者发布所请求的数据包;数据包中携带区块链信息;区块链信息用于指示公钥信息在区块链子系统中的存储位置。
8、进一步地,区块链子系统具体用于:
9、接收电力数据发布者的注册请求;注册请求中携带公钥信息;
10、响应于注册请求,存储公钥信息并将公钥信息在区块链子系统中的存储位置发送至电力数据发布者。
11、进一步地,ndn网络子系统还用于:
12、确定多个缓存数据的价值;缓存数据的价值是基于历史时段中缓存数据的查询次数、缓存数据与数据源的距离确定的;数据源包括ndn网络子系统的数据缓存节点或数据发布节点;
13、根据各个缓存数据的价值,确定各个缓存数据的抽样概率;
14、根据各个缓存数据的抽样概率,确定抽样的缓存数据,对抽样的缓存数据进行校验。
15、进一步地,历史时段中缓存数据的查询次数基于如下方式确定:
16、
17、其中,表示历史时段中缓存数据的查询次数;表示历史时段中的第k个子时段中缓存数据的查询次数;β表示预设的权重。
18、进一步地,根据各个缓存数据的价值,确定各个缓存数据的抽样概率,包括:
19、将所有缓存数据的价值相加,得到目标价值;
20、将各个缓存数据的价值分别除以目标价值,得到各个缓存数据的抽样概率。
21、进一步地,ndn网络子系统还用于:
22、基于马尔科夫链模型,确定是否将接收到的数据包与缓存中的数据包进行替换;马尔科夫链模型基于如下方式建立:
23、{s,a,m(sn+1|sn,an),r(sn,an)};
24、其中,s表示缓存中的数据包状态;a表示对缓存中的数据包执行替换的动作;m(sn+1|sn,an)表示对缓存中的数据包执行动作后的转移概率矩阵;r(sn,an)表示对缓存中的数据包执行动作后的奖励。
25、第二方面,本发明实施例还提供了一种基于区块链的数据分发方法,包括:
26、存储电力数据发布者提交的数据包并向电力数据请求者发布所请求的数据包;数据包中携带区块链信息;区块链信息用于指示电力数据发布者的公钥信息在区块链子系统中的存储位置。
27、第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面所述基于区块链的数据分发方法。
28、第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第二方面所述基于区块链的数据分发方法。
29、第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第二方面所述基于区块链的数据分发方法。
30、本发明实施例提供的基于区块链的数据分发系统和方法中,ndn子系统存储和分发的数据包中携带的区块链信息指示了电力数据发布者的公钥信息在区块链子系统中的存储位置,使得电力数据请求者获得ndn网络分发的数据包之后,就可以根据数据包中携带的区块链信息从区块链子系统中获取到公钥信息,进而根据公钥也就可以对获取到的数据包进行验证。本申请实施例通过改造原有的数据包,基于区块链进行数据校验,提高了数据校验的效率,实现了基于ndn子系统和区块链子系统的电力数据的高效、准确、安全的分发,有效地提升了电力数据分发和校验的效率。
1.一种基于区块链的数据分发系统,其特征在于,包括:
2.根据权利要求1所述的基于区块链的数据分发系统,其特征在于,所述区块链子系统具体用于:
3.根据权利要求1所述的基于区块链的数据分发系统,其特征在于,所述ndn子系统还用于:
4.根据权利要求3所述的基于区块链的数据分发系统,其特征在于,所述历史时段中缓存数据的查询次数基于如下方式确定:
5.根据权利要求4所述的基于区块链的数据分发系统,其特征在于,所述根据各个缓存数据的价值,确定各个缓存数据的抽样概率,包括:
6.根据权利要求5所述的基于区块链的数据分发系统,其特征在于,所述ndn子系统还用于:
7.一种基于区块链的数据分发方法,其特征在于,应用于如权利要求1-6任一项所述的基于区块链的数据分发系统中的ndn子系统,包括:
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求7所述的基于区块链的数据分发方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求7所述的基于区块链的数据分发方法。
10.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求7所述的基于区块链的数据分发方法。