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

基于HK-Means和安全性检测的可信数据传输方法与流程

2022-04-27 07:51:17 来源:中国专利 TAG:

基于hk-means和安全性检测的可信数据传输方法
技术领域
1.本发明涉及可信数据传输技术领域,尤其涉及一种基于hk-means和安全性检测的可信数据传输方法。


背景技术:

2.随着电网的发展,信息系统的规模和复杂程度日益增加,系统抵御网络攻击的难度也同步加大,其中,电力系统网络数据安全传输问题引起了国家、行业高度重视。近年来业内开展的继电保护信息化探索均是在原有基础上的标准化,继电保护数据传输模式没有变化,在电网数据量与维度不断激增的情况下,无法在兼顾效率的同时,实现数据的可靠传输,数据传输质量和安全也无法满足当前电网运行高可靠性和继电保护专业的高绩效运维需求。
3.综上所述,在电力通信系统中,现有数据传输技术无法保证站内或站间数据信息的可靠交换,并且通信速率较低,安全性也不高,不能满足电网运行对通信性能的要求,对保证数据传输的安全性、高效性与可靠性,尚缺乏有效的解决方案。


技术实现要素:

4.本发明提供一种基于hk-means和安全性检测的可信数据传输方法,提高了电力数据的传输效率和安全性。
5.本发明一实施例提供一种基于hk-means和安全性检测的可信数据传输方法,包括以下步骤:
6.获取第一数据集,判断所述第一数据集中的数据对象是否存在缺失值,若是则将存在缺失值的数据对象划入缺失数据子集,若否则将不存在缺失值的数据对象划入完整数据子集;所述第一数据集为电力设备运行数据集;
7.对所述完整数据子集中的第一数据对象进行预处理后,对所述完整数据子集中的第一数据对象进行聚类划分,直至所述聚类划分的结果满足预设的第一条件时结束所述聚类划分;
8.根据所述聚类划分的结果对所述缺失数据子集中的第二数据对象进行缺失值填充,得到填充数据子集,将所述填充数据子集和所述完整数据子集进行合并,得到第二数据集;
9.对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集;
10.将所述第三数据集的数据包进行加密发送后,接收所述数据包对应的密文,并对解密后的数据包进行安全性检测。
11.进一步的,将n个第一数据对象,划分为n/2个簇,并从所述n个第一数据对象中选择出各个簇的第一簇中心,计算其余第一数据对象与各个第一簇中心的第一相似度,将所述其余第一数据对象划分至与其第一相似度最大的第一簇中心所在的簇中;所述n为正整数;所述n个第一数据对象为所述完整数据子集中的第一数据对象;
12.计算各个簇的均值向量,并根据各所述均值向量更新对应簇的第一簇中心,得到各个簇的第二簇中心。
13.进一步的,直至所述聚类划分的结果满足预设的第一条件结束时所述聚类划分,具体为:
14.计算当前的各个簇的第一簇中心和第二簇中心之间的第二相似度;
15.针对所述第二相似度大于第一预设阈值的簇,将所述第二相似度大于第一预设阈值的簇中的数据对象进行合并后,再次进行聚类划分和计算第二相似度,直至各个簇的所述第二相似度小于等于第一预设阈值;
16.针对所述第二相似度小于等于第一预设阈值的簇,结束聚类划分。
17.进一步的,根据所述完整数据子集的聚类划分结果对所述缺失数据子集中的第二数据对象进行缺失值填充,得到填充后的缺失数据子集,具体为:
18.计算所述缺失数据子集的每个第二数据对象和所述完整数据子集的各个第二簇中心之间的第三相似度,取所述每个第二数据对象的最大第三相似度对应的第二簇中心所在的簇为各个第二数据对象的参照簇;
19.针对每个第二数据对象,根据所述第二数据对象的缺失值的属性和数据类型,从所述第二数据对象的参照簇中获取相应的填充值,用所述填充值对所述第二数据对象的缺失值进行填充,得到填充数据子集。
20.进一步的,根据所述第二数据对象的缺失值的属性和数据类型,从所述第二数据对象的参照簇中获取相应的填充值,具体为:
21.当所述第二数据对象的缺失值的数据类型为数值型时,取所述第二数据对象的参照簇中对应属性的平均值作为所述缺失值的填充值;当所述第二数据对象的缺失值的类型为离散型时,取所述第二数据对象的参照簇中对应属性出现次数最多的值作为所述缺失值的填充值。
22.进一步的,对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集,具体为:
23.初始化第一属性集,根据所述第二数据集的条件属性和第三属性集的依赖度的大小,选择所述第二数据集的部分条件属性添加至所述第一属性集,得到第四属性集;所述第一属性集为所述第二数据集的最小相对属性集合,所述第三属性集为所述第二数据集的决策属性的集合;
24.根据所述第四属性集中的条件属性对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集。
25.进一步地,根据所述第二数据集中条件属性和第三属性集的依赖度的大小,选择所述第二数据集的部分条件属性添加至所述第一属性集,得到第四属性集,具体为:
26.计算第二属性集相对于第三属性集的第一依赖度;所述第二属性集为所述第二数据集的全部条件属性的集合;
27.计算所述第二属性集中每个条件属性相对于第三属性集的第三依赖度,根据所述第二属性集中每个条件属性的第三依赖度的大小,将所述第二属性集的每个条件属性进行降序排列;
28.将所述第二属性集的条件属性根据所述降序排列的顺序逐个添加至所述第一属
性集,每添加一个所述第二属性集的条件属性至所述第一属性集后,计算当前的第一属性集相对于所述第三属性集的第二依赖度以及所述第一依赖度和所述第二依赖度之间的差值,直至所述差值小于第二预设阈值时,停止添加所述第二属性集的条件属性至所述第一属性集,并得到第四属性集。
29.进一步地,对所述完整数据子集中的第一数据对象进行预处理,具体为:将所述完整数据子集中的第一数据对象转化为无单位的z-score分值。
30.进一步地,将所述第三数据集的数据包进行加密发送,具体为:
31.根据md5加密算法将所述第三数据集的数据包映射成第一数字指纹,根据aes对称加密算法将所述数据包和第一数字指纹进行加密,发送所述数据包和第一数字指纹的加密密文。
32.进一步地,对所述数据包进行安全性检测,具体为:
33.接收并解密所述加密密文,得到所述数据包和第一数字指纹;根据md5加密算法计算得到所述数据包映射的第二数字指纹;
34.对所述第一数字指纹和所述第二数字指纹进行一致性检查。
35.本发明的实施例,具有如下有益效果:
36.本发明提供了一种基于hk-means和安全性检测的可信数据传输,该方法通过将第一数据集划分为完整数据子集和确实数据子集,并根据完整数据子集对缺失数据子集进行填充,提高了传输数据的质量。同时,将缺失数据子集进行填充后得到的填充数据子集和完整数据子集进行合并后得到第二数据集,通过对第二数据子集进行属性约简得到第三数据集,删除了第二数据子集中的冗余数据信息,进而提高了电力数据的传输效率。并通过将所述第三数据集的数据包进行加密发送后以提高数据传输过程的安全性,接收所述数据包对应的密文,并对解密后的数据包进行安全性检测,即检测数据包在传输过程中是否被篡改,进一步提高了数据传输过程中的安全性。
附图说明
37.图1是本发明一实施例提供的基于hk-means算法和安全性检测的可信数据传输方法的流程示意图。
具体实施方式
38.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.如图1所示,本发明一实施例提供的一种基于hk-means和安全性检测的可信数据传输方法,包括以下步骤:
40.步骤s101:获取第一数据集,判断所述第一数据集中的数据对象是否存在缺失值,若是则将存在缺失值的数据对象划入缺失数据子集,若否则将不存在缺失值的数据对象划入完整数据子集;所述第一数据集为电力设备运行数据集。
41.步骤s102:对所述完整数据子集中的第一数据对象进行预处理后,对所述完整数
据子集中的第一数据对象进行聚类划分,直至所述聚类划分的结果满足预设的第一条件时结束所述聚类划分。
42.优选地,对所述完整数据子集中的第一数据对象进行预处理,具体为:将所述完整数据子集中的第一数据对象转化为无单位的z-score分值。
43.作为其中一种实施例,对所述完整数据子集中的第一数据对象进行聚类划分,直至所述聚类划分的结果满足预设的第一条件时结束所述聚类划分,具体为:
44.将n个第一数据对象,划分为n/2个簇,并从所述n个第一数据对象中选择出各个簇的第一簇中心,计算其余第一数据对象与各个第一簇中心的第一相似度,将所述其余第一数据对象划分至与其第一相似度最大的第一簇中心所在的簇中;所述n为正整数;所述n个第一数据对象为所述完整数据子集中的第一数据对象;
45.计算各个簇的均值向量,并根据各所述均值向量更新对应簇的第一簇中心,得到各个簇的第二簇中心;
46.计算当前的各个簇的第一簇中心和第二簇中心之间的第二相似度;
47.针对所述第二相似度大于第一预设阈值的簇,将所述第二相似度大于第一预设阈值的簇中的数据对象进行合并后,再次进行聚类划分和计算第二相似度,直至各个簇的所述第二相似度小于等于第一预设阈值;
48.针对所述第二相似度小于等于第一预设阈值的簇,结束聚类划分。
49.步骤s103:根据所述聚类划分的结果对所述缺失数据子集中的第二数据对象进行缺失值填充,得到填充数据子集,将所述填充数据子集和所述完整数据子集进行合并,得到第二数据集。
50.作为其中一种实施例,根据所述完整数据子集的聚类划分结果对所述缺失数据子集中的第二数据对象进行缺失值填充,得到填充后的缺失数据子集,具体为:
51.计算所述缺失数据子集的每个第二数据对象和所述完整数据子集的各个第二簇中心之间的第三相似度,取所述每个第二数据对象的最大第三相似度对应的第二簇中心所在的簇为各个第二数据对象的参照簇;
52.针对每个第二数据对象,根据所述第二数据对象的缺失值的属性和数据类型,从所述第二数据对象的参照簇中获取相应的填充值,用所述填充值对所述第二数据对象的缺失值进行填充,得到填充数据子集。
53.作为其中一种实施例,根据所述第二数据对象的缺失值的属性和数据类型,从所述第二数据对象的参照簇中获取相应的填充值,具体为:
54.当所述第二数据对象的缺失值的数据类型为数值型时,取所述第二数据对象的参照簇中对应属性的平均值作为所述缺失值的填充值;当所述第二数据对象的缺失值的类型为离散型时,取所述第二数据对象的参照簇中对应属性出现次数最多的值作为所述缺失值的填充值。
55.步骤s104:对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集。
56.作为其中一种实施例,对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集,具体为:
57.初始化第一属性集,根据所述第二数据集的条件属性和第三属性集的依赖度的大小,选择所述第二数据集的部分条件属性添加至所述第一属性集,得到第四属性集;所述第
一属性集为所述第二数据集的最小相对属性集合,所述第三属性集为所述第二数据集的决策属性的集合;
58.根据所述第四属性集中的条件属性对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集。
59.作为其中一种实施例,根据所述第二数据集中条件属性和第三属性集的依赖度的大小,选择所述第二数据集的部分条件属性添加至所述第一属性集,得到第四属性集,具体为:
60.计算第二属性集相对于第三属性集的第一依赖度;所述第二属性集为所述第二数据集的全部条件属性的集合;
61.计算所述第二属性集中每个条件属性相对于第三属性集的第三依赖度,根据所述第二属性集中每个条件属性的第三依赖度的大小,将所述第二属性集的每个条件属性进行降序排列;
62.将所述第二属性集的条件属性根据所述降序排列的顺序逐个添加至所述第一属性集,每添加一个所述第二属性集的条件属性至所述第一属性集后,计算当前的第一属性集相对于所述第三属性集的第二依赖度以及所述第一依赖度和所述第二依赖度之间的差值,直至所述差值小于第二预设阈值时,停止添加所述第二属性集的条件属性至所述第一属性集,并得到第四属性集。
63.步骤s105:将所述第三数据集的数据包进行加密发送后,接收所述数据包对应的密文,并对解密后的数据包进行安全性检测。
64.作为其中一种实施例,步骤s105包括以下子步骤:
65.子步骤s1051:根据md5加密算法将所述第三数据集的数据包映射成第一数字指纹,根据aes对称加密算法将所述数据包和第一数字指纹进行加密,发送所述数据包和第一数字指纹的加密密文;
66.子步骤s1052:接收并解密所述加密密文,得到所述数据包和第一数字指纹;根据md5加密算法计算得到所述数据包映射的第二数字指纹;
67.子步骤s1053:对所述第一数字指纹和所述第二数字指纹进行一致性检查。
68.作为其中更为详细的一种实施例,步骤a101:采集电力设备的运行数据作为第一数据集,判断所述第一数据集中的数据对象是否存在缺失值,若是则将存在缺失值的数据对象划入缺失数据子集,若否则将不存在缺失值的数据对象划入完整数据子集;所述第一数据集为电力设备运行数据集。
69.由于所述完整数据子集中各个属性之间采用的度量单位不同,利用公式(1)对所述完整数据子集中的属性进行标准化处理,使得不同度量单位的属性数据转化为无单位的z-score分值,使数据标准统一化,提高数据可比性;
[0070][0071]
其中,x
1f
,x
2f
,

,x
nf
是第f个数值型属性的n个属性值,mf为属性f的均值,sf为平均偏差:
[0072]
[0073][0074]
步骤a102:将所述完整数据子集c中包含的n个第一数据对象,按照第一数据对象的个数n,将第一数据对象划分成n/2个簇,并按如下公式从所述n个第一数据对象中选择出各个簇的簇中心:
[0075][0076]
其中,1,3,
……
,i为第一数据对象的顺序。
[0077]
步骤a103:根据公式(5)计算其余第一数据对象与各个簇中心的第一相似度,将所述其余第一数据对象划分至与其第一相似度最大的簇中心所在的簇中。
[0078][0079]
其中,x、y是具有n个属性的数据对象,即x=(x1,x2,
……
,xn),y=(y1,y2,
……
,yn);若x,y的第i个属性为离散的,当且仅当在xi=yi的情况下否则若x,y的第i个属性为数值类型的,则
[0080]
步骤a104:根据公式(6)计算各个簇的均值向量并根据各所述均值向量更新对应簇的第一簇中心,得到各个簇的第二簇中心。
[0081][0082]
若xi为数值型属性,则为本簇中第i个属性的均值;若xi为离散型属性,为第i个属性在所属簇中出现次数最多的属性值。
[0083]
步骤a105:计算当前的各个簇的第一簇中心和第二簇中心之间的第二相似度dist(new,old);
[0084]
针对所述第二相似度大于第一预设阈值的簇,将所述第二相似度大于第一预设阈值的簇中的数据对象进行合并后,再次进行聚类划分和计算第二相似度,直至各个簇的所述第二相似度小于等于第一预设阈值;
[0085]
针对所述第二相似度小于等于第一预设阈值的簇,结束聚类划分。
[0086]
步骤a106:根据公式(7)计算所述缺失数据子集的每个第二数据对象和所述完整数据子集的各个第二簇中心之间的第三相似度,取所述每个第二数据对象的最大第三相似度对应的第二簇中心所在的簇为各个第二数据对象的参照簇;
[0087][0088]
其中,如果第i个属性值缺失,则εi为0,若第i个属性值未缺失,则εi为1;x为第二数据对象,y为第二簇中心,分别包含i个属性,x为x的某个属性的属性值,和y为y的某个属性的属性值,si(x,y)表示两属性值之间相似度的公式如下:
[0089][0090]
d(x,y)表示x和y的差异值,d(x,y)=|x-y|,d
max
为第二数据对象x和第二簇中心y之间差异最大的属性对应的最大差异值。
[0091]
根据公式(9),针对每个第二数据对象,根据所述第二数据对象的缺失值的属性和数据类型,从所述第二数据对象的参照簇中获取相应的填充值,用所述填充值对所述第二数据对象的缺失值进行填充,得到填充数据子集,将所述填充数据子集和所述完整数据子集进行合并,得到第二数据集。
[0092][0093]
具体地,当所述第二数据对象的缺失值的数据类型为数值型时,取所述第二数据对象的参照簇中对应属性的平均值作为所述缺失值的填充值;当所述第二数据对象的缺失值的类型为离散型时,取所述第二数据对象的参照簇中对应属性出现次数最多的值作为所述缺失值的填充值。
[0094]
步骤a107:对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集。
[0095]
作为步骤a107的其中一种实施例,始化第一属性集min
m1
(f),所述第一属性集为所述第二数据集的最小相对属性集合;
[0096]
基于所述第二数据集,设定数据库s=(u,q),u表示研究对象,q表示属性集合。计算集合m1={m1,m2,

,mm}相对于集合的第一依赖度q1,其中m1为所述第二数据集的全部条件属性的集合,决策属性集f为所述第二数据集的决策属性的集合;
[0097]
根据公式(10)计算集合m1中每个条件属性相对于决策属性集f的第三依赖度q3的大小,根据所述m1中每个条件属性的第三依赖度的大小,将所述m1中每个条件属性进行降序排列;
[0098][0099]
其中,card(u)表示集合u的基数,表示f的m1的正域:
[0100][0101]
x为子集,ax表示x在a下近似集。
[0102]
将所述集合m1的条件属性根据所述降序排列的顺序逐个添加至所述第一属性集min
m1
(f),每添加一个所述集合m1的条件属性至所述第一属性集min
m1
(f)后,计算当前的第一属性集min
m1
(f)相对于决策属性集f的第二依赖度q2以及所述第一依赖度q1和所述第二依赖度q2之间的差值,直至所述差值小于第二预设阈值时,停止添加所述集合m1的条件属性至所述第一属性集min
m1
(f),并得到第四属性集。
[0103]
步骤a108:根据所述第四属性集中的条件属性对所述第二数据集中的第三数据对象进行属性约简,得到第三数据集。通过该步骤对所述第二数据集中的冗余信息进行删除。
[0104]
步骤a109:根据改进的md5加密算法对所述第三数据集的数据包进行压缩映射,得到第一数字指纹r1;
[0105]
作为其中一种实施例,步骤a109包括以下子步骤:
[0106]
子步骤a1091:对所述数据包的第一明文信息进行填充,将第一明文信息对512取余等于448,得到填充后的第二明文信息b的长度为:l=n*512 448(bit)。
[0107]
子步骤a1092:用64位来记录第一明文信息的长度,并添加到第二明文信息的后面,得到第三明文信息的长度为:
[0108]
l=n*512 448 64(bit)=(n 1)*512(bit)。
[0109]
子步骤a1093:装入标准的幻数a、b、c、d(四个整数):
[0110]
a=(01234567)16;
[0111]
b=(89abcdef)16;
[0112]
c=(fedcba98)16;
[0113]
d=(76543210)16;
[0114]
子步骤a1094:在第三明文信息d的基础上,对所述第三明文信息进行分组后,再针对每组明文信息将每一个512位分成16个小组,每组32位;进行四轮循环运算,循环次数为分组个数加1,为了提高运算速度,降低非线性函数对称性,对md5的四轮循环运算的逻辑函数做了如下改进:
[0115][0116][0117][0118][0119]
设信息mj为明文信息的第j个子分组(0≤j≤15),<<s表示循环左移s位:
[0120][0121][0122][0123][0124]
其中,a、b、c、d对应幻数a、b、c、d在四轮循环运算中的运算值。
[0125]
步骤a110:根据aes对称加密算法,即根据公式(12),对所述第三数据集的数据包和第一数字指纹r1进行加密,生成相应的加密密文。
[0126]
c=e(k,p)
ꢀꢀ
(12);
[0127]
其中,p为所述数据包和第一数字指纹r1的明文信息,k为加密密钥,e为加密函数,c为加密密文。
[0128]
作为其中一种实施例,步骤a110包括以下子步骤:
[0129]
子步骤a1101:设定明文信息p和密钥k都为128位,且都被分组为16字节,具体分组
如下:
[0130]
p=p0p1…
p
15

[0131]
k=k0k1…k15

[0132]
子步骤a1102:明文信息p分组后转换成以字节为单位的16字节组成的方形矩阵,记为状态矩阵,明文信息p的方形矩阵经过10轮加密,所述状态矩阵不变,最终转化成密文矩阵,得到密文c=c0c1…c15

[0133]
步骤a111:接收并解密所述加密密文,得到所述数据包和第一数字指纹r1;根据改进后的md5加密算法计算得到所述数据包映射的第二数字指纹r2;对所述第一数字指纹r1和所述第二数字指纹r2进行一致性检查。
[0134]
作为其中一种实施例,步骤a111包括以下子步骤:
[0135]
子步骤a1111:将第一数字指纹r1拆分成32个值,用r
11
、r
12
、r
13


、r
1n
表示,n为自然数,取值1至32;
[0136]
子步骤a1112:利用改进后的md5加密算法获取解密后的数据包的第二数字指纹r2并对第二数字指纹r2进行拆分成32个值,用r
21
、r
22
、r
23


、r
2n
表示,n为自然数,取值1至32;
[0137]
子步骤a1113:根据公式(13),对r1与r2进行一致性比较;
[0138][0139]
当match(r1,r2)=0,表示数据在传输过程中未被篡改,数据安全;
[0140]
当match(r1,r2)≠0,则表示数据在传输过程中被破坏,需要重新发送对数据包的请求数据。
[0141]
本发明实施例具有如下有益效果:
[0142]
(1)本发明实施例基于归并hk-means算法,对采用不同度量单位的属性进行标准化处理,提高数据的聚类准确度,并结合二路归并的思想,每执行完一层的凝聚聚类算法,簇的个数减少一半,大幅度提高算法的执行效率,根据同类事物许多属性相似的特点,实现数据缺失值的填充,提高数据完整性,优化数据传输;
[0143]
(2)本发明实施例引入基于依赖度排序的属性约简算法,根据属性依赖度排序,实现属性约简,删除数据中的冗余信息,对高维度的电网数据进行属性降维处理,降低数据内容过滤的复杂度,提高数据传输效率;
[0144]
(3)本发明实施例基于安全性检测方法,引入md5算法并加以改进,md5算法经过压缩、加密、hash算法三个步骤,是不可逆运算。通过改进的md5算法获取每个数据包所映射的数字指纹,并利用aes对称加密技术加密数据包生成密文,密文尾部添加数字指纹,接收数据后,对数字指纹进行一致性比较,保证数据传输的唯一性、安全性与完整性。
[0145]
本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献