CN116401640B - 一种基于区块链的电力数据不一致的网络对齐系统及方法 - Google Patents
一种基于区块链的电力数据不一致的网络对齐系统及方法 Download PDFInfo
- Publication number
- CN116401640B CN116401640B CN202310669779.5A CN202310669779A CN116401640B CN 116401640 B CN116401640 B CN 116401640B CN 202310669779 A CN202310669779 A CN 202310669779A CN 116401640 B CN116401640 B CN 116401640B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- tree
- authority
- user
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013475 authorization Methods 0.000 claims description 50
- 238000013144 data compression Methods 0.000 claims description 15
- 150000001875 compounds Chemical class 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 6
- 238000013523 data management Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于区块链的电力数据不一致的网络对齐系统及方法,其中系统包括:区块链,用于存储电力系统中若干独立的数据源的设备数据;访问控制模块,用于响应对指定数据源中的设备数据进行更新的请求,基于请求者的用户ID,在预创建的HAC层次化树中搜索是否有相应的具有更新权限的树节点,并在搜索到相应的树节点时将用户ID和更新后的设备数据传输至系统中的其它模块;相似设备数据检索模块,用于根据更新后的设备数据以及预训练的检索模型,在区块链中检索若干与更新后的设备数据相似的数据记录并展示;设备数据同步模块,用于在请求者确认更新后,对更新后的设备数据进行压缩,并将压缩后的数据同步至区块链中。
Description
技术领域
本发明涉及一种基于区块链的电力数据不一致的网络对齐系统及方法,属于区块链和电力数据管理技术领域。
背景技术
国家电网部署了大量硬件和软件电力设备来维护基础设施。多个部门通常管理这些设备项,每个部门使用一个独立的数据源来存储设备描述,又称为设备数据。设备数据管理的效率和可靠性至关重要。数据不一致一直是管理电力设备数据的一大挑战。研究表明,来自不同来源的设备数据重叠且差异很大,超过40%的设备项在每个数据源具有不同的值,这种不一致阻碍了国家电网公司的设备维护和统计分析。就目前的电力设备管理系统而言,造成数据不一致的主要原因如下:
一、缺乏数据匹配能力,当员工添加或修改设备数据时,当前系统无法从多个独立的数据源中检索到相似的记录,导致同一设备的数据冗余条目。
二、松散的访问控制和权限检查。当员工请求更新设备数据时,当前系统并没有对其进行严格的权限认证。因此,每个人都可以更改数据,导致设备数据输入不准确的可能性更高。
三、缺乏更新记录的可追溯性。当员工错误添加或修改设备数据时,现有的系统无法追溯更新相关记录,难以识别错误来源并追究对方责任。
作为一个去中心化和分布式系统,区块链以其不可篡改和可追溯的特性来存储数据。它已经广泛应用到各种场景,例如供应链、版权保护和物联网。目前的研究表明,由于区块链去中心化和不可篡改等特性,基于区块链技术的访问控制方案比传统方案更安全。对于上述数据不一致问题,还存在一些挑战:首先,字段的正确和错误是设备数据记录中的普遍现象,传统的文本匹配算法可能不适用于此类数据。因此,需要一个有效的匹配方案,其次,由于领域广阔,内容广泛,将设备数据传输到区块链的同步过程可能非常耗时,这可能会造成巨大的存储负担。第三,现有系统在员工更新设备数据时缺乏严格的访问控制和细粒度的权限授权,导致管理困难。
发明内容
为了解决上述现有技术中存在的问题,本发明提出了一种基于区块链的电力数据不一致的网络对齐方法及系统。
本发明的技术方案如下:
一方面,本发明提供一种基于区块链的电力数据不一致的网络对齐系统,包括:
区块链,用于存储电力系统中若干独立的数据源的设备数据;
访问控制模块,用于响应对指定数据源中的设备数据进行更新的请求,基于请求者的用户ID,在预创建的HAC层次化树中搜索是否有相应的具有更新权限的树节点,并在搜索到相应的树节点时将用户ID和更新后的设备数据传输至系统中的其它模块;
相似设备数据检索模块,用于根据更新后的设备数据以及预训练的检索模型,在区块链中检索若干与更新后的设备数据相似的数据记录并展示;
设备数据同步模块,用于在请求者确认更新后,对更新后的设备数据进行压缩,并将压缩后的数据同步至区块链中。
作为优选实施方式,所述HAC层次化树包括若干树节点和有向边,其中,树节点表示参与授权的用户,有向边表示参与授权的双方的父子关系;
每个树节点包括节点ID和节点数据,其中节点ID与用户ID具有映射关系,节点数据包括授权信息和元数据,其中授权信息包含该树节点是否有更新权限的信息;
每个树节点以节点ID为键索引存储于区块链的键值存储中。
作为优选实施方式,所述HAC层次化树中的树节点包括创始节点、委托节点和授权节点三种节点类型;
其中,创始节点在HAC层次化树创建时自动生成,创始节点具有更新权限并且能不受限制地将更新权限直接授予其它节点,以及将授权权限委托给其它节点;
委托节点在接收到创始节点发出的委托权限时生成,委托节点具有更新权限并且能够基于委托权限有限制的将更新权限授予其它节点;
授权节点在接收到创始节点或委托节点授予的更新权限时生成。
作为优选实施方式,所述访问控制模块还包括一身份验证单元,用于:
在每次用户对HAC层次化树进行操作时,对用户进行身份验证,并根据验证结果确定是否允许当前用户继续对HAC层次化树进行操作。
作为优选实施方式,在创建树节点时,对应生成一个公私钥对,私钥存储于对应树节点相关联的用户处,公钥存储于对应树节点中;
所述身份验证单元根据用户提供的私钥生成身份令牌,并通过存储于对应树节点中的公钥对身份令牌完成验证。
作为优选实施方式,在所述相似设备数据检索模块中:
所述预训练的检索模型为离线模型,且基于表征学习的方式进行预训练。
作为优选实施方式,所述设备数据同步模块基于复合哈希的数据压缩算法对更新后的设备数据进行压缩,具体为:
将设备数据分为A类字段和B类字段,其中A类字段为用户永远不会更新的字段,B类字段为用户将要更新的字段;
对于A类字段,应用SHA安全散列算法将A类字段内容映射为位的哈希值,再将位的哈希值截断为/>位的哈希值,其中/></>;
对于B类字段,应用SimHash相似哈希算法将B类字段内容映射为位的哈希值;
以位的哈希值和/>位的哈希值的组合作为最终压缩数据。
另一方面,本发明还提供一种基于区块链的电力数据不一致的网络对齐方法,包括以下步骤:
将电力系统中若干独立的数据源的设备数据存储于建设的区块链中;
响应对指定数据源中的设备数据进行更新的请求,基于请求者的用户ID,在预创建的HAC层次化树中搜索是否有相应的具有更新权限的树节点,并在搜索到相应的树节点时记录当前的用户ID和更新后的设备数据;
根据更新后的设备数据以及预训练的检索模型,在区块链中检索若干与更新后的设备数据相似的数据记录并展示;
请求者查看相似的数据记录后确认是否更新数据,在确认更新后对更新后的设备数据进行压缩,并将压缩后的数据同步至区块链中。
再一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任一实施例所述的基于区块链的电力数据不一致的网络对齐方法。
再一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明任一实施例所述的基于区块链的电力数据不一致的网络对齐方法。
本发明具有如下有益效果:
1、本发明一种基于区块链的电力数据不一致的网络对齐系统,利用区块链连接多个设备数据源,并通过使用层次化访问控树,更好地解决了权限控制的粒度问题,使得数据的访问控制更加安全可靠;在数据同步更新之前对复杂数据进行压缩,提高了数据同步速度并降低区块链的存储负担。
2、本发明一种基于区块链的电力数据不一致的网络对齐系统,提供了使用授权令牌的方式对用户进行身份验证,并根据验证结果确定是否允许当前用户继续对HAC层次化树进行操作,以防止恶意攻击。
3、本发明一种基于区块链的电力数据不一致的网络对齐系统,采用表征学习技术来匹配相似的设备数据,解决了数据字段缺失的问题。
4、本发明一种基于区块链的电力数据不一致的网络对齐系统,采用了基于复合哈希的数据压缩算法对设备数据进行压缩,减少了需要同步的数据量,降低了压缩的时间成本,并保留了字段的可辩别性。
附图说明
图1为本发明实施例一提供的系统示意图;
图2为本发明实施例中HAC层次化树的结构示意图;
图3为本发明实施例中授权令牌的创建和检查过程示意图;
图4a为本发明实施例中HAC层次化树的授权流程T1和T2阶段示意图;
图4b为本发明实施例中HAC层次化树的授权流程T3阶段示意图;
图4c为本发明实施例中HAC层次化树的授权流程T4阶段示意图;
图5为本发明实施例中基于复合哈希的数据压缩算法框架示意图;
图6为本发明实施例中提供的数据集的统计信息示意图;
图7为本发明实施例中待同步数据大小比较结果示意图;
图8为本发明实施例中面向记录数量的同步时间成本实验结果示意图;
图9为本发明实施例中面向区块高度的同步时间成本实验结果示意图;
图10为本发明实施例中不同节点数同步时间代价实验结果示意图;
图11为本发明实施例二的方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
实施例一:
参见图1,为了解决电力系统现有设备管理系统中数据不一致和冗余的问题,本实施例提出了基于区块链的电力数据不一致的网络对齐系统(BNAS,Blockchain-basedNetworkAlignmentSystem),通过细粒度的访问控制、高效的设备数据同步和相似设备数据的检索,提高数据管理和数据更新的准确性,该BNAS系统具体包括:
区块链、访问控制模块、相似设备数据检索模块和设备数据同步模块。
其中,区块链用于存储来自于电力系统的多个独立的数据源的设备数据,并基于智能合约进行设备数据的共识。本实施例建立了一个基于以太坊的私有区块链网络,利用区块链去中心化不可篡改,可追溯等特性,存储和管理设备数据,提高安全性。本实施例主要使用区块链作为连接多个数据源的安全可信平台,将多个独立的数据源的设备数据存储到区块链上,通过共识机制达成一致,让不同设备的数据同步到区块链上,所有参与者共同验证和维护数据的一致性,提高了网络对齐系统的可信度。区块链中的数据是公开可见的,所有参与者都可以查看和验证数据的历史记录。这使得数据的来源和变更可以被追溯,增加了透明度和可追溯性。设备数据存储到区块链上以后,在区块链上开展后续的访问控制,数据压缩,设备数据同步等工作。不同数据源的数据可以通过区块链进行互操作,提高了数据的整合和利用效率。
访问控制模块用于在用户请求更新特定数据源中的设备数据时,响应对指定数据源中的设备数据进行更新的请求,基于该请求者的用户ID,在预创建的HAC层次化树(HACTree)中进行相关搜索,搜索HACTree中是否存在相应的具有更新权限的树节点(HAC节点),若搜索到相应的具有更新权限的树节点,则将用户ID和更新后的设备数据发送给相似设备数据检索模块;反之若未搜索到相应的具有更新权限的树节点,或搜索到相应的树节点但该树节点不具备更新权限,则拒绝当前用户更新特定数据源中的设备数据的请求。
具体地,在本实施例中,上述的HAC层次化树包括若干树节点和有向边,其中,一个树节点表示一个参与授权的用户,有向边表示参与授权的双方的父子关系,具体地,授权事件对应于从父节点到子节点的有向边;发出访问权限的节点是父节点,接收权限的节点是子节点。
相似设备数据检索模块用于根据更新后的设备数据以及预训练的检索模型,在区块链中检索与更新后的设备数据相似的前K条数据记录并展示,上述预训练的检索模型随设备数据一起更新;员工根据展示出的相似的数据记录确认自己的更新请求。
设备数据同步模块用于在请求者确认更新后,对更新后的设备数据同步至区块链中,并在同步之前将更新后的设备数据由复杂数据映射到固定长度的位序列,并保留设备数据记录字段的判别特征。
基于上述实施例,本发明利用区块链连接多个设备数据源,并通过使用层次化访问控树,更好地解决了权限控制的粒度问题,使得数据的访问控制更加安全可靠;在数据同步更新之前对复杂数据进行压缩,提高了数据同步速度并降低区块链的存储负担。
参见图2,图2为本实施例提供的一种HAC层次化树的结构示意图。具体地,在本实施例提供的预创建的HAC层次化树中,树节点分为创始节点、委托节点和授权节点三种类型,分别代表参与设备数据访问控制过程的三种不同角色。只有符合这三种类型才能访问,否则拒绝访问。
其中,创始节点是HAC层次化树的唯一根。它与BNAS系统管理器绑定,并在系统部署成功后自动创建。创始节点可以不受限制地进行两种授权:一是将更新权限授予特定的成员(即直接授权),二是将授权权限委托给子部门(即委托授权)。
委托节点在接收到创始节点发出的委托权限时生成,委托节点具有更新权限并且能够基于委托权限有限制的将更新权限授予其它节点。需要注意的是,不仅创始节点可以创建新的委托节点,现有的委托节点也可以创建新的委托节点。它们之间的主要区别是创始节点可以发起无限制的授权,没有次数限制。相比之下,现有的委托节点只能发布由其父节点确定的有限数量的授权,并且不超过其父节点可以发布的可用授权数量。
授权节点在接收到创始节点或委托节点授予的更新权限时生成,代表HAC树中的叶节点。虽然不能生成子节点,但是对应的员工现在可以更新设备数据了。
每个树节点包括节点ID和节点数据,其中节点ID与用户ID具有映射关系,节点ID具体由两部分组成,分别为固定ID前缀和用户ID(staffID)。每个树节点以节点ID为键索引存储于区块链的键值存储中。
每个树节点的节点数据通常由三部分数据组成。首先第一部分数据是它的授权能力信息,比如可以执行的授权次数。第二部分数据是授权细节信息,如授权成员的公钥、授权时间、当前有效状态等。第一部分数据和第二部分数据共同组成了授权信息。第三部分数据是元数据,比如操作计数器,它的父节点,当前节点,它的子节点的ID。
在一种实施例中,所述访问控制模块还包括一身份验证单元,用于:在每次用户对HAC层次化树进行操作时,使用授权令牌的方式对用户进行身份验证,并根据验证结果确定是否允许当前用户继续对HAC层次化树进行操作,以防止恶意攻击。
具体参见图3,本实施例还提供了一种授权令牌创建和检查的方案,具体步骤如下:
A101、在创建树节点时,对应生成一个公私钥对,私钥存储于对应树节点相关联的用户处,公钥存储于对应树节点中。
A102、当某个员工想要操作关联的树节点时,需要用自己的私钥在节点ID和操作计数器上签名,并生成签名(授权令牌),然后将令牌提交给系统。
A103、系统使用树节点预先存储的公钥进行验证,若验证通过,则允许员工继续对树节点进行操作。相应地,该树节点的操作计数器递增,当操作计数器达到一定次数后,授权令牌到期,需要重新授权。
本实施例中所述HAC层次化树的授权流程示例如图4a、4b、4c所示,本实施例中HAC层次化树模拟了国家电网公司部门的层次结构,其中创始节点链接到BNAS系统管理器。系统管理员为二级部门创建委托节点,类似地,二级部门管理员可以为其成员创建授权节点,为三级部门创建委托节点。
为方便本领域技术人员更好的理解本实施例的技术方案,提供一具体的授权示例,其具体步骤如下:
在T1阶段,部署BNAS系统,使用M的公钥自动创建绑定到系统管理器M的创始节点/>。M的私钥/>用于生成/>的授权令牌/>,的操作计数器设置为0,创始节点可以发出的授权次数不受限制。
在T2阶段,M将授权委托给部门A和B,每个部门的授权上限为10次。M首先将授权令牌安全地发送给A,然后A可以操纵/>使用它的公私密钥对和创建一个新的委托节点/>。完成后,/>的操作计数器增加,到期。接着,M生成一个新的授权令牌/>并传递给B,然后B可以按照上述步骤使用/>创建一个新的委托节点/>。
在T3阶段,部门A想要授予其员工A1更新权限。A首先生成授权令牌发送给A1,A1可以使用/>和它的密钥对生成授权节点/>。授权完成后,将部门A可以颁发的授权数量递减。
在T4阶段,部门B想授予其子部门C更新权限,并设置C可以下发的授权数为7。B生成一个授权令牌,C使用它生成另一个委托节点/>。此后,B可以发出的授权数量减少7。
至此,员工A1已获得设备数据更新权限,A、B、C部门可根据剩余授权次数继续授予更新权限。
作为本实施例的优选实施方式,在所述相似设备数据检索模块中:
所述预训练的检索模型为离线模型,且基于表征学习的方式进行预训练,生成对齐异构网络。网络对齐是整合来自不同来源的数据的重要方法,对齐异构网络的一种流行方法是使用表征学习技术来提取表征并构建数据匹配策略。即使在设备数据缺失字段的情况下,表征学习仍然有效。所提出的数据压缩算法保留了设备数据记录中各个字段的差异,从而可以从压缩的设备数据中训练离线表征模型。在本实施例提出的BNAS系统中,新的设备数据记录首先将被压缩,然后离线模型将压缩后的数据作为输入来生成前K 个相似的设备数据记录,从而实现相似数据的检索,解决了数据字段缺失的问题。
在一种实施例中,所述设备数据同步模块基于复合哈希的数据压缩算法对更新后的设备数据进行压缩,具体参见图5,图5为本实施例提供的一种基于复合哈希的数据压缩算法的框架示意图,该基于复合哈希的数据压缩算法的具体方案如下:
数据压缩算法将设备数据分为A类字段和B类字段,其中A类字段为用户永远不会更新的字段,例如设备ID、设备名称、设备地址等不会变更的数据;B类字段为用户将要更新的字段,例如参数数值、记录日期等等。
对于A类字段,应用SHA安全散列算法将A类字段内容映射为位的哈希值,再将位的哈希值截断为/>位的哈希值,其中/></>,具体地,本实施例采用SHA-256算法将A类字段内容映射为256位的哈希值,再将其截断为64位,这种截断减少了需要同步的数据量,降低了压缩的时间成本。
对于B类字段,应用SimHash相似哈希算法将B类字段内容直接映射为位的哈希值,在本实施例中/>=64,SimHash算法会为相似的文本生成相似的哈希值,保留了字段的可辩别性。
A类字段和B类字段是针对属性划分的,他们各自采用不同的压缩算法,最后他们的压缩结果都会上传到区块链上。
比如新的设备数据记录R有A类字段:A1、A2、A3,有B类字段: B1、B2、B3,各字段之间是独立的,只是压缩时采用的算法不同。记录R根据对应的字段属性使用不同算法,不同字段压缩结果组合在一起最终得到R的压缩结果。即上述位的哈希值和/>位的哈希值的组合作为对应设备数据的最终压缩数据。
为评估和验证本实施例提供的数据压缩算法的有效性和优越性,以下提供一具体的性能评估实验过程,具体如下:
为了评估数据压缩算法对存储性能和同步效率的影响,我们在国家电网公司提供的真实数据集上进行了实验。如图6所示,该数据集包含5848条记录,每条记录有216个属性,涉及数据库、中间件、网络交换机、虚拟机、Web服务器等各类设备。
评估指标(数据大小的减少率)和/>(存储利用率的增加率)定义为公式1和公式2,其中Xa表示压缩后的数据大小,Xb表示压缩前的数据大小。
(1)
(2)
本实施例中所述待同步数据大小比较结果如图7所述,表明,本实施例提供的基于复合哈希的数据压缩算法可以帮助减少大约43%的同步数据量。此外,区块链存储空间的利用率增加了约55%。也就是说,使用基于复合哈希的数据压缩算法有效地减少了同步数据量,并减轻了区块链的存储负担。
我们使用PoA(权威证明)共识算法在以太坊上建立了一个私有区块链网络,以评估本实施例提出的基于复合哈希的数据压缩算法如何影响同步效率。
首先在区块链网络中设置三个节点。然后基于full-sync(基线法,同步完整的原始数据)和lite-sync(同步压缩后的数据)两种模式进行了性能测试,测量了不同记录量下的同步时间成本。结构如图8所示,两种模式的同步时间都随着记录数量的增加而增加。此外,lite-sync模式需要的时间成本更少,增长率更低,比full-sync模式更高效。
区块高度是影响区块链效率的重要因素。随着区块高度的增加,区块链网络中的节点需要更多的时间来对新数据达成共识。为了评估区块高度的影响,我们对记录数量为2000的两种同步模式进行了测试。随着区块高度的变化,系统的运行时间被测量。如图9所示的结果表明,精简同步模式需要更少的时间来达到相同的区块高度,这意味着区块链可以更快地就压缩数据达成共识。
为了说明区块链网络中的节点数量也会影响同步效率,我们将记录的数量固定为500,并记录与不同数量的区块链节点完成数据同步所需的时间,图10显示了这一实验结果,表明区块链需要更多的时间来达成共识,更多的节点参与,相对于full-sync模式,lite-sync模式对新数据达成共识的速度更快,增长速度也更稳定,这能为基于区块链的电力数据不一致的网络对齐系统带来更高的可扩展性。
实施例二:
具体参见图11,本实施例提供一种基于区块链的电力数据不一致的网络对齐方法,包括以下步骤:
S100、将电力系统中若干独立的数据源的设备数据存储于建设的区块链中;
S200、响应对指定数据源中的设备数据进行更新的请求,基于请求者的用户ID,在预创建的HAC层次化树中搜索是否有相应的具有更新权限的树节点,并在搜索到相应的树节点时记录当前的用户ID和更新后的设备数据;
S300、根据更新后的设备数据以及预训练的检索模型,在区块链中检索若干与更新后的设备数据相似的数据记录并展示;
S400、请求者查看相似的数据记录后确认是否更新数据,在确认更新后对更新后的设备数据进行压缩,并将压缩后的数据同步至区块链中。
实施例三:
本实施例提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任一实施例所述的基于区块链的电力数据不一致的网络对齐方法。
实施例四:
本实施例提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的基于区块链的电力数据不一致的网络对齐方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory;以下简称:ROM)、随机存取存储器(RandomAccessMemory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种基于区块链的电力数据不一致的网络对齐系统,其特征在于,包括:
区块链,用于存储电力系统中若干独立的数据源的设备数据;
访问控制模块,用于响应对指定数据源中的设备数据进行更新的请求,基于请求者的用户ID,在预创建的HAC层次化树中搜索是否有相应的具有更新权限的树节点,并在搜索到相应的具有更新权限的树节点时将用户ID和更新后的设备数据传输至相似设备数据检索模块;
相似设备数据检索模块,用于根据更新后的设备数据以及预训练的检索模型,在区块链中检索若干与更新后的设备数据相似的数据记录并展示;
设备数据同步模块,用于在请求者确认更新后,对更新后的设备数据进行压缩,并将压缩后的数据同步至区块链中;
所述HAC层次化树包括若干树节点和有向边,其中,树节点表示参与授权的用户,有向边表示参与授权的双方的父子关系;
每个树节点包括节点ID和节点数据,其中节点ID与用户ID具有映射关系,节点数据包括授权信息和元数据,其中授权信息包含该树节点是否有更新权限的信息;
每个树节点以节点ID为键索引存储于区块链的键值存储中;
所述HAC层次化树中的树节点包括创始节点、委托节点和授权节点三种节点类型;
其中,创始节点在HAC层次化树创建时自动生成,创始节点具有更新权限并且能不受限制地将更新权限直接授予其它节点,以及将授权权限委托给其它节点;
委托节点在接收到创始节点发出的委托权限时生成,委托节点具有更新权限并且能够基于委托权限有限制地将更新权限授予其它节点;
授权节点在接收到创始节点或委托节点授予的更新权限时生成;
所述访问控制模块还包括一身份验证单元,用于:
在每次用户对HAC层次化树进行操作时,对用户进行身份验证,并根据验证结果确定是否允许当前用户继续对HAC层次化树进行操作。
2.根据权利要求1所述的一种基于区块链的电力数据不一致的网络对齐系统,其特征在于:
在创建树节点时,对应生成一个公私钥对,私钥存储于对应树节点相关联的用户处,公钥存储于对应树节点中;
所述身份验证单元根据用户提供的私钥生成身份令牌,并通过存储于对应树节点中的公钥对身份令牌完成验证。
3.根据权利要求1所述的一种基于区块链的电力数据不一致的网络对齐系统,其特征在于,在所述相似设备数据检索模块中:
所述预训练的检索模型为离线模型,且基于表征学习的方式进行预训练。
4.根据权利要求1所述的一种基于区块链的电力数据不一致的网络对齐系统,其特征在于,所述设备数据同步模块基于复合哈希的数据压缩算法对更新后的设备数据进行压缩,具体为:
将更新后的设备数据分为A类字段和B类字段,其中A类字段为用户永远不会更新的字段,B类字段为用户将要更新的字段;
对于A类字段,应用SHA安全散列算法将A类字段内容映射为位的哈希值,再将/>位的哈希值截断为/>位的哈希值,其中/></>;
对于B类字段,应用SimHash相似哈希算法将B类字段内容映射为位的哈希值;
以位的哈希值和/>位的哈希值的组合作为最终压缩数据。
5.一种基于区块链的电力数据不一致的网络对齐方法,其特征在于,包括以下步骤:
将电力系统中若干独立的数据源的设备数据存储于建设的区块链中;
响应对指定数据源中的设备数据进行更新的请求,基于请求者的用户ID,在预创建的HAC层次化树中搜索是否有相应的具有更新权限的树节点,并在搜索到相应的具有更新权限的树节点时记录当前的用户ID和更新后的设备数据;
根据更新后的设备数据以及预训练的检索模型,在区块链中检索若干与更新后的设备数据相似的数据记录并展示;
请求者查看相似的数据记录后确认是否更新数据,在确认更新后对更新后的设备数据进行压缩,并将压缩后的数据同步至区块链中;
所述HAC层次化树包括若干树节点和有向边,其中,树节点表示参与授权的用户,有向边表示参与授权的双方的父子关系;
每个树节点包括节点ID和节点数据,其中节点ID与用户ID具有映射关系,节点数据包括授权信息和元数据,其中授权信息包含该树节点是否有更新权限的信息;
每个树节点以节点ID为键索引存储于区块链的键值存储中;
所述HAC层次化树中的树节点包括创始节点、委托节点和授权节点三种节点类型;
其中,创始节点在HAC层次化树创建时自动生成,创始节点具有更新权限并且能不受限制地将更新权限直接授予其它节点,以及将授权权限委托给其它节点;
委托节点在接收到创始节点发出的委托权限时生成,委托节点具有更新权限并且能够基于委托权限有限制地将更新权限授予其它节点;
授权节点在接收到创始节点或委托节点授予的更新权限时生成;
在每次用户对HAC层次化树进行操作时,对用户进行身份验证,并根据验证结果确定是否允许当前用户继续对HAC层次化树进行操作。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求5所述的基于区块链的电力数据不一致的网络对齐方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求5所述的基于区块链的电力数据不一致的网络对齐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310669779.5A CN116401640B (zh) | 2023-06-07 | 2023-06-07 | 一种基于区块链的电力数据不一致的网络对齐系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310669779.5A CN116401640B (zh) | 2023-06-07 | 2023-06-07 | 一种基于区块链的电力数据不一致的网络对齐系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116401640A CN116401640A (zh) | 2023-07-07 |
CN116401640B true CN116401640B (zh) | 2023-09-22 |
Family
ID=87010865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310669779.5A Active CN116401640B (zh) | 2023-06-07 | 2023-06-07 | 一种基于区块链的电力数据不一致的网络对齐系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401640B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488431A (zh) * | 2015-11-30 | 2016-04-13 | 布比(北京)网络技术有限公司 | 区块链系统权限管理方法和装置 |
CN112100665A (zh) * | 2020-09-23 | 2020-12-18 | 江苏四象软件有限公司 | 一种基于区块链的数据共享系统 |
CN114036539A (zh) * | 2021-10-14 | 2022-02-11 | 国家电网有限公司 | 基于区块链的安全可审计物联网数据共享系统及方法 |
CN116109372A (zh) * | 2022-12-05 | 2023-05-12 | 淮阴工学院 | 基于多层次区块链的冷链物流产品联邦推荐方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020109908A1 (en) * | 2018-11-27 | 2020-06-04 | nChain Holdings Limited | Systems and methods for efficient and secure processing, accessing and transmission of data via a blockchain network |
-
2023
- 2023-06-07 CN CN202310669779.5A patent/CN116401640B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488431A (zh) * | 2015-11-30 | 2016-04-13 | 布比(北京)网络技术有限公司 | 区块链系统权限管理方法和装置 |
CN112100665A (zh) * | 2020-09-23 | 2020-12-18 | 江苏四象软件有限公司 | 一种基于区块链的数据共享系统 |
CN114036539A (zh) * | 2021-10-14 | 2022-02-11 | 国家电网有限公司 | 基于区块链的安全可审计物联网数据共享系统及方法 |
CN116109372A (zh) * | 2022-12-05 | 2023-05-12 | 淮阴工学院 | 基于多层次区块链的冷链物流产品联邦推荐方法及装置 |
Non-Patent Citations (1)
Title |
---|
应用区块链的数据访问控制与共享模型;王秀利;江晓舟;李洋;;软件学报(第06期);91-99 * |
Also Published As
Publication number | Publication date |
---|---|
CN116401640A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107292181B (zh) | 基于区块链的数据库系统及使用该系统的使用方法 | |
CN114514732B (zh) | 用于区块链dag结构的共识协议的方法、计算系统和可读介质 | |
US9876779B2 (en) | Document verification with distributed calendar infrastructure | |
Fill et al. | Knowledge blockchains: Applying blockchain technologies to enterprise modeling | |
CN115210741B (zh) | 部分有序的区块链 | |
CN109729168A (zh) | 一种基于区块链的数据共享交换系统及方法 | |
CN111831740B (zh) | 对等体的同步 | |
Fernando et al. | SciBlock: A blockchain-based tamper-proof non-repudiable storage for scientific workflow provenance | |
Xu et al. | Efficient public blockchain client for lightweight users | |
Heitzmann et al. | Efficient integrity checking of untrusted network storage | |
Zichichi et al. | Are distributed ledger technologies ready for intelligent transportation systems? | |
Demichev et al. | Business process engineering for data storing and processing in a collaborative distributed environment based on provenance metadata, smart contracts and blockchain technology | |
CN109918451A (zh) | 基于区块链的数据库管理方法及系统 | |
KR102294569B1 (ko) | 블록체인 네트워크를 구축할 수 있는 블록체인 관리시스템 | |
CN116401640B (zh) | 一种基于区块链的电力数据不一致的网络对齐系统及方法 | |
CN116561228A (zh) | 基于工程档案单套制归档系统及方法 | |
JP7443558B2 (ja) | ブロックチェーンの設定可能なオフチェーンストレージに関するコンピューティングシステム | |
Truong et al. | Authenticating operation-based history in collaborative systems | |
Canciani et al. | Auditable data structures: theory and applications | |
Dinh et al. | The Synchronic Web | |
Tschuchnig et al. | Immutable and Democratic Data in Permissionless Peer-to-Peer Systems | |
Tian et al. | An arbitrable multi‐replica data auditing scheme based on smart contracts | |
CN115499131B (zh) | 基于令牌的政务材料链上链下数据协同访问方法及系统 | |
Hu et al. | A master-slave chain model for multiple blockchains | |
CN114328544B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |