风力发电机组的数据通信方法及装置与流程

文档序号:16671452发布日期:2019-01-18 23:36阅读:323来源:国知局
风力发电机组的数据通信方法及装置与流程
本申请涉及风力发电
技术领域
,具体而言,本申请涉及一种风力发电机组的数据通信方法及装置。
背景技术
:目前在各行各业中都广泛使用计算机网络通信技术,计算机网络已成为人们生活中不可或缺的重要内容,人们对计算机网络的依赖性不断提高,计算机网络通信的安全性受到越来越多的关注。数据编码保护技术是保障计算机网络通信安全的重要技术手段和防护策略,利用数据编码保护技术不仅可以有效地确保数据的完整性和保密性,提高信息的安全系数,而且还能够确保计算机网络通信技术的健康有序发展。在风力发电机组中也涉及到各种运行数据及通信数据,基于风力发电机组的通信安全性的要求,需要对通信数据进行编码保护。目前对数据进行编码保护的方法主要是:使用单一的密码对数据加密和解密,使用校验码对数据进行校验,或是对数据进行简单的加值处理,这些编码保护方法太过简单很容易被破解,通信过程中数据的安全性较低。技术实现要素:本申请针对现有方式的缺点,提出一种风力发电机组的数据通信方法及装置,用以解决现有技术存在数据安全性较低的技术问题。第一方面,本申请实施例提供了一种风力发电机组的数据通信方法,包括:获取风力发电机组的通信数据;对通信数据进行拆分,并对拆分后的通信数据进行排列,形成线性数据结构;对线性数据结构中任意位置的数据元素进行任意次数的变换,得到加密后的通信数据进行发送第二方面,本申请实施例提供了一种风力发电机组的数据通信装置,包括:数据获取模块,用于获取风力发电机组的通信数据;数据拆分和排列模块,用于对通信数据进行拆分,并对拆分后的通信数据进行排列,形成线性数据结构;数据编码和发送模块,用于对线性数据结构中任意位置的数据元素进行任意次数的变换,得到加密后的通信数据进行发送。第三方面,本申请实施例提供了一种风力发电机组的数据通信设备,包括:存储器和处理器,存储器存储有计算机程序,计算机程序由处理器执行以实现本申请实施例第一方面提供的风力发电机组的数据通信方法。第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面提供的风力发电机组的数据通信方法。第五方面,本申请实施例提供了一种风力发电机组的数据通信方法,包括:获取风力发电机组的加密后的、排列于线性数据结构中的通信数据;对线性数据结构中的数据元素进行逆向变换;逆向变换的次数与通信数据在加密过程中被变换的次数相同;对线性数据结构中逆向变换后的数据元素进行合并,得到解密后的通信数据。第六方面,本申请实施例提供了一种风力发电机组的数据通信装置,包括:数据获取模块,用于获取风力发电机组的加密后的、排列于线性数据结构中的通信数据;数据解码模块,用于对线性数据结构中的数据元素进行逆向变换;逆向变换的次数与通信数据在加密过程中被变换的次数相同;数据合并模块,用于对线性数据结构中逆向变换后的数据元素进行合并,得到解密后的通信数据。第七方面,本申请实施例提供了一种风力发电机组的数据通信设备,包括:存储器和处理器,存储器存储有计算机程序,计算机程序由处理器执行以实现本申请实施例第五方面提供的风力发电机组的数据通信方法。第八方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第五方面提供的风力发电机组的数据通信方法。本申请实施例提供的技术方案,至少具有如下有益效果:1)本申请实施例通过对拆分后的通信数据进行排列,形成的线性数据结构,并对线性数据结构中任意位置的数据元素进行任意次数的变换,可增加数据编码和加密的复杂度,实现对通信数据的编码保护,提高通信数据的保密性和安全性;2)本申请实施例中对线性数据结构中的数据元素进行的多次变换只在处理器或运算器内部执行,即使监听到数据报文,也很难识别出数据的有效性,因此可更好地对通信数据进行编码保护且该编码保护功能不易被破解;3)本申请实施例中对任意位置的数据元素进行任意次数的变换的方式较多,在数据还原和解密过程中只有完全执行正确的还原步骤才能实现数据的还原,任意一个还原步骤有误便不能有效地还原数据,很难通过枚举法破解出正确的还原方式,因此本申请实施例有效地增加了对加密后的通信数据进行还原和解密的难度,从而提高了风力发电机组通信数据的保密性和安全性。本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本申请实施例提供的一种风力发电机组的数据通信方法的流程示意图;图2为本申请实施例中立方体及数组在立方体上的分布示意图;图3为本申请实施例中数组元素在立方体子区域上的一种分布示意图;图4为本申请实施例中数组元素在立方体子区域上的另一种分布示意图;图5为本申请实施例提供的另一种风力发电机组的数据通信方法的流程示意图;图6为本申请实施例提供的一种风力发电机组的数据通信装置的结构框架示意图;图7为本申请实施例提供的另一种风力发电机组的数据通信装置的结构框架示意图;图8为本申请实施例提供的一种风力发电机组的数据通信设备的结构框架示意图;图9为本申请实施例提供的另一种风力发电机组的数据通信设备的结构框架示意图。具体实施方式下面详细描述本申请,本申请实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的部件或具有相同或类似功能的部件。此外,如果已知技术的详细描述对于示出的本申请的特征是不必要的,则将其省略。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。本
技术领域
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。本
技术领域
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。首先对本申请涉及的几个名词进行介绍和解释:数组(array):在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式,是相同数据类型的元素按一定顺序排列的集合。数组名可以采用有限个类型相同的变量的集合来命名;组成数组的各个变量称为数组的分量,也称为数组的元素(数组元素);用于区分数组的各个元素的数字编号称为下标,因此数组元素有时也称为下标变量。数据加密(dataencryption):在网络通信过程中,通过数据的传输来进行信息的交流,通过利用一定的算法和规律来对原来明文的数据进行处理,使其形成密文的过程为数据加密;接收方可按照一定的规律和算法对其进行解密处理,这种算法和规律可以将数据在明文和密文之间进行转换,称之为密钥。对于编码保护的数据在输入密钥后才能进行正常使用或是阅读。利用密钥来对数据使用者身份进行限制,有效地确保了数据的保密性,对于数据传输过程中被截获、窃取及破坏起到了有效的防范作用,确保了信息的安全性。桨距角:风力发电机机组采用变桨距控制,通过调整叶片迎风角度,来进行功率调整的方式,桨距角是指风机叶片与叶轮平面的夹角。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。实施例一本申请实施例提供了一种风力发电机组的数据通信方法,可应用于数据的发送端,如图1所示,该风力发电机组的数据通信方法包括:s101,获取风力发电机组的通信数据。可选地,获取风力发电机组的初始通信数据,对初始通信数据进行数据转换处理,将数据转换处理后的初始通信数据作为风力发电机组的通信数据。表1为风场scada(supervisorycontrolanddataacquisition,数据采集与监视控制系统)监控系统中传输的风力发电机组的通信数据的一个示例。表1从表1的示例中可以看出,通信数据包括以下两种类型:一种是控制数据,例如“变桨控制字”、“变桨故障字”、“警告代码”、“诊断信息”、“警告标志”等,此种数据的数值范围很宽,最小数值仅个位数,最大数值可达到5位数;另一种是机组状态数据,例如“电容电压”、“变桨电机温度”、“超级电容温度”、“电机电压”、“电机电流”等,不同的机组状态数据会有不同的精度,例如,一部分机组状态灵气的精度为二位小数,另一部分机组状态数据的精度为一位小数。在其它示例中,通信数据还可包括其它类型。如上所述,通信数据通常具有多种类型且精度不同,需要将该多种类型的通信数据整理成为规则的数组,再对数组进行加密操作。可选地,对初始通信数据进行数据转换处理,包括:确定初始通信数据的数据精度,根据与数据精度相匹配的放大倍数对初始通信数据进行放大处理;将放大处理后的第一数据类型的初始通信数据转换为第二数据类型的初始通信数据。可选地,对于十进制的初始通信数据而言,数据精度可通过小数部分来确定,确定出初始通信数据的小数部分的位数后,根据与初始通信数据的小数部分的位数相匹配的放大倍数对初始通信数据进行放大处理。例如,当初始通信数据的小数部分的位数为0位,即初始通信数据没有小数部分时,放大倍数可设置为1倍,将初始通信数据放大1倍,也即保留原初始通信数据;当初始通信数据的小数部分的位数为1位时,放大倍数可设置为10倍,即将初始通信数据放大10倍;当初始通信数据的小数部分的位数为2位时,放大倍数可设置为100倍,即将初始通信数据放大100倍;当初始通信数据的小数部分的位数为其它数值时,可依次类推。经放大处理后得到初始通信数据可消除原初始通信数据中的小数点,保留原初始通信数据中相应位数的小数部分数值,以实现与初始通信数据相匹配的数据传输精度,减少数据精度的损失,增加数据的准确性。将第一数据类型(如十进制)的初始通信数据转换为第二数据类型(如十六进制)的初始通信数据,可提供统一类型的数据基础,对于第二数据类型的初始通信数据,还可按照预设的位数标准统一各第二数据类型的初始通信数据的位数,以便于后续对数据进行拆分。在一个示例中,风力发电机组的变桨系统发送数据的列表如表1所示,表1中类型一列中的“×10”和“×100”分别表示将对应的数据放大10倍和100倍,“×1”表示保留原有数据,不做放大处理。以表1中的叶片桨距角为例,若叶片桨距角的小数部分含有2位数值,则变桨系统在发送叶片桨距角数据时,将叶片桨距角数据放大100倍。s102,对通信数据进行拆分,并对拆分后的通信数据进行排列,形成线性数据结构。可选地,线性数据结构为数组或链表。可选地,对通信数据进行拆分为数据加密的预处理过程,该过程可以包括:将通信数据拆分成多个子数据;将每指定数量个子数据组成一个子数据组;将每个子数据组中的各子数据分别作为各数据元素并进行排列,形成数组或链表。本申请实施例中的数据元素可以是指任意一位字符或包含两位以上字符的字符序列,例如字符5或5a,用于形成线性数据结构;具体地,可将对通信数据进行拆分后形成的子数据作为数据元素;当线性数据结构为数组时,数组中的数组元素即为线性数据结构的数据元素。本申请实施例中的子数据可以是将通信数据拆分后形成的任意一位字符或包含两位以上字符的字符序列。可选地,本申请实施例中对通信数据进行拆分的方式可以是按字符位数进行拆分,可以采用加减乘除的方法进行拆分,也可以根据通信数据的数据类型(如高、低字节)进行拆分。若按字符位数进行拆分,则拆分后的子数据可以是n位字符,其中,n可以是大于零的自然数,n的具体取值可根据实际需求设置;若采用加减乘除法进行拆分,可将一个原始数据拆分为两个子数据,该两个子数据的和、或者该两个子数据的乘积,与原始数据相等。在按字符位数进行拆分的一个示例中,可将n设置为2,则可对表1中的各个十六进制数据按2位字符进行拆分,从而得到多个由2位字符组成的子数据;例如,将表1中的第一行最后一列的十六进制数据按2位字符进行拆分,可得到03和4f两个子数据,表1中的其它十六进制数据的拆分同理。可选地,在该示例中,对表1中的各个十六进制数据按2位字符进行拆分后得到多个由2位字符组成的子数据后,将每9个子数据组成一个子数据组;将每个子数据组中的各子数据分别作为各数据元素并进行排列,可形成具有9个数组元素的数组。该数组如表2所示:表2序号数组1数组2数组3数组4数组5数组6103145aeb001324f01c5003200302110020000143301e164e601522450047024766f00f601bc01700fe100001478ea0c01035d039018b00500121在采用加减乘除法进行拆分的一个示例中,若原始数据为8,则可将该原始数据拆分为2和6两个子数据,或3和5两个子数据;也可以拆分为2和4两个子数据。该方式的重码率较高,增加了破解难度,例如,若将8拆分为2和6,将9拆分为2和7,两个拆分结果均含有子数据2,若子数据2被监听,监听者无法判断拆分前的原始数据是8还是9。本申请实施例中的指定数量可根据实际需求设置,例如可设置与表2对应的9,也可设置为其它数值;本申请实施例中各个子数据组对应的指定数量可设置为不同数值,例如可选取9个子数据组成第一个子数据组,选取另外的10个子数据组成第二个子数据组。本申请实施例中的数组可以是一维数组,也可以是多维数组,如矩阵。本申请实施例中的表2所示的六个数组均为一维数组,六个数组中的数组元素的集合可形成矩阵。s103,对线性数据结构中任意位置的数据元素进行任意次数的变换,得到加密后的通信数据进行发送。可选地,对各个数组或链表中任意位置的数据元素进行任意次数的变换。以数组为例,在一个可选的实施方式中,对各个数组中任意位置的数据元素进行任意次数的变换,包括:对至少一个指定数组在至少一次地执行以下变换方式中的至少一种:方式一,将每个指定数组中的任意两个数组元素进行互换;方式二,将每个指定数组中的指定数组元素向指定方向循环移动;方式三,将一个指定数组中的指定数组元素与另一个指定数组中的指定数组元素进行互换。下面以一个具体示例对上述变换方式进行介绍,对链表中数据元素的变换与数组相似,在此不再赘述。在该具体示例中,对表2所示的六个数组中数据元素进行四次变换,其具体变换过程如下:第一次变换:将表2中数组1至数组6内的前三个数组元素循环右移1位,并将数组1至数组6内的最后三个元素循环左移1位。具体地,将数组6中序号1、序号2、序号3对应的数据分别移至数组1中序号1、序号2、序号3对应的位置,将数组1中序号1、序号2、序号3对应的数据分别移至数组2中序号1、序号2、序号3对应的位置,依次类推。将数组1中序号7、序号8、序号9对应的数据分别移至数组6中的序号7、序号8、序号9对应的位置,数组6中序号7、序号8、序号9对应的数据分别移至数组5中序号7、序号8、序号9对应的位置,依次类推。第一次变换后的数组1至数组6如表3所示:表3序号数组1数组2数组3数组4数组5数组611303145aeb002004f01c50032301021100200043301e164e601522450047024766f00f601bc017fe100001470080c01035d03ea98b0050012101第二次变换:将表3中数组2和数组4的所有数组元素循环向上移动3位。以数组2为例,具体地,将数组2中序号1对应的数据移至序号7对应的位置,序号2对应的数据移至序号8对应的位置,序号3对应的数据移至序号9对应的位置,依次类推;数组4与数组2同理。第二次变换后的数组1于数组6如表4所示:表4序号数组1数组2数组3数组4数组5数组6113011464eb002004501470032301001101200043310e101e60152201005d024766f00f601bc017fe03005a470080c4f03c503ea98b0250002101第三次变换:将表4中数组1内的所有数组元素循环向下移动3位,并将数组6内的所有数组元素循环向上移动3位。以数组1为例,具体地,将数组1中序号9对应的数据移至序号3对应的位置,序号1对应的数据移至序号4对应的位置,序号2对应的数据移至序号5对应的位置,依次类推;数组6中各数据循环向上移动的原理与第二次变换中循环向上移动的原理同理,在此不再赘述。第三次变换后的数组1至数组6如表5所示:表5序号数组1数组2数组3数组4数组5数组61fe011464eb0120c450147004738b001101200141310e101e60050001005d02ea60100f601bc0173303005a47008224f03c5033296f0250002100第四次变换:将表5中数组1至数组6内的前三个数组元素循环右移1位,并将数组1和数组5内的最后三个数组元素直接互换。第四次变换过程中循环右移的原理,与第一次变换中循环右移的原理同理,在此不再赘述。具体地,将数组1中序号7、序号8、序号9对应的数据与数组5中序号7、序号8、序号9对应的数据直接互换。第四次变换后的数组1至数组6如表6所示:表6序号数组1数组2数组3数组4数组5数组6101fe011464eb2470c450147003018b0011012041310e101e60050001005d02ea60100f601bc0174703005a33008034f03c522329210250006f00由表1至表6可以看出,经过四次变换后,六个数组中的数据元素已经全部被打乱,将表6中的数据元素按照原有的拆分方式直接合并,无法得到表1中的通信数据。例如,将表6中数组1对应的序号1、序号2中的数据元素01和47合并,得到的通信数据的十六进制数值为0147,对应的十进制数值是327,与表1中的序号1对应的十进制数值847不一致。由此可知,对六个数组中的各个数据元素进行的四次变换,起到了数据加密的作用,根据加密后的数据无法直接得到原始数据,只有通过解密才能恢复原始数据,从而提高了风力发电机组在数据传输中的安全性。在实际使用中,除本申请实施例上述示例所示的变换方式外,还可以按其它任意方式对各数据元素进行互换、和/或移位等操作;且互换和/或移动的方法和次数不限于本申请实施例中示例,例如,可以对数据元素进行20次或50次的互换和/或移位。在另一个可选的实施方式中,对各个数组中任意位置的数据元素进行任意次数的变换,包括:将各个数组分配至多面体的各个面;将每个数组中的各个数组元素排列于多面体对应分配的面的各个子区域中;将多面体的各个面中的任意两个以上子区域中的数组元素进行变换。可选地,可将每个数组中的各个数组元素绑定于对应的多面体中的各个子区域,使得数组元素能够随所绑定的子区域的移动而移动。可选地,将多面体的各个面的任意两个以上子区域进行变换,包括:对于至少一个指定面至少一次地执行以下变换方式中的至少一种:方式一,将每个指定面上的任意两个子区域中的数组元素进行互换;方式二,将每个指定面上的指定子区域中的数组元素向指定方向循环移动;方式三,将一个指定面上的指定子区域与另一个指定面上的指定子区域中的数组元素进行互换。本申请实施例中的多面体为虚拟多面体,本申请实施对多面体的具体形状不作限定,可以是四面体、六面体(如立方体)或八面体。在一个示例中,若将表2所示的数组1至数组排列于立方体上,其具体排列方式可以是如图2中所示的方式,即将数组1中的各数组元素排列于该立方体的上面(图2中朝上的一面),将数组2中的各数组元素排列于该立方体的背面(图2中朝向纸内的一面,未直接示出),将数组3中的各数组元素排列于该立方体的右面(图2中朝右的一面),将数组4中的各数组元素排列于该立方体的底面(图2中与上面相对的一面,未直接示出),将数组5中的各数组元素排列于该立方体的前面(图2中朝向读者的一面),将数组6中的各数组元素排列于该立方体的左面(图2中与朝左的一面,未直接示出)。如图2所示,立方体的每一面上均具有九个子区域,将各个数组中的九个数组元素排列于对应面的九个子区域中。各个数组中的九个数组元素在对应面上可按任意顺序,例如将序号从1至9对应的数组元素按序号顺序逐行或逐列地进行排列,或按序号顺序以顺时针或逆时针的方式进行排列。以数组5为例,数组5中的九个元素可按照如图3所示的序号顺序逐行排列于立方体前面的九个子区域中,也可以按照如图4所示的序号顺序顺时针排列于立方体前面的九个子区域中,其它数组中的各数组元素的排列同理。在本申请实施例中,数组元素可在对应面的子区域上任意排列,同时在变换过程中,可将任意两个或多个子区域进行互换和/或移位,绑定于子区域上的数组元素随之互换和/或移位;还可将任意两个或多个子区域中的数组元素直接互换和/或移位,例如,将立方体上面的中间区域中的数组元素,与立方体右面的中间区域中的数组元素进行互换。通过上述方式,增加了数据编码和数据加密的复杂度,在重新发数据进行解码或解密时,由于无法明确某个数据具在哪个面的哪个子区域,还增加了对数据解码和数据解密的难度,从而可达到更复杂的数据编码保护功能,提高了数据的保密性和安全性。应用本申请的实施例一,至少可以实现如下有益效果:1)本申请实施例通过对拆分后的通信数据进行排列,形成的线性数据结构,并对线性数据结构中任意位置的数据元素进行任意次数的变换,可增加数据编码和加密的复杂度,实现对通信数据的编码保护,提高通信数据的保密性和安全性;2)本申请实施例中对线性数据结构中的数据元素进行的多次变换只在处理器或运算器内部执行,即使监听到数据报文,也很难识别出数据的有效性,因此可更好地对通信数据进行编码保护且该编码保护功能不易被破解;3)本申请实施例中对通信数据进行拆分的方式较为简单、易于执行,减少了复杂的计算,从而也减少或避免了数据溢出的情况;由于拆分方式简单,因此拆分后的数据重码率较高,增加后续的数据编码和加密的复杂度,使数据编码和加密更加不易被破解;4)本申请实施例可形成任意数量个数组,当形成偶数个数组时,有利于进行数据的对称互换,实现数据的对称性;在数据互换过程中,不需要进行新数据的补位,从而可维持原始数据的正确性;5)本申请实施例的适用范围较广,可适用于对文件的编码保护,也可适用于动态数据、数字量数据的编码保护。实施例二基于同一发明构思,本申请实施例还提供了一种风力发电机组的数据通信方法,可应用于数据的接收端,如图5所示,该风力发电机组的数据通信方法包括:s501,获取风力发电机组的加密后的、排列于线性数据结构中的通信数据。可选地,线性数据结构为数组或链表。可选地,获取风力发电机组的加密后的、排列于数组或链表中的通信数据。例如,表6中所示的六个数组以及排列于该六个数组中的数组元素。s502,对线性数据结构中的数据元素进行逆向变换;逆向变换的次数与通信数据在加密过程中被变换的次数相同。可选地,对线性数据结构中的数据元素进行逆向变换,包括:对数组或链表中的数据元素进行逆向变换。逆向变换的次数与加密过程中对通信数据进行变换的次数一致。下面以对表6所示的数组进行的四次逆向变换为例,对逆向变换进行介绍:第一次逆向变换:将数组1和数组5内的最后三个数组元素直接互换,并将数组1至数组6内的前三个数组元素循环左移1位。第一次逆向变换过程中互换的方式与第四次变换中的互换方式同理,第一次逆向变换过程中循环左移的方式与第一次变换中循环左移的方式同理,在此不再赘述。第一次逆向变换后的数组1至数组6如表7所示,表7中的数组与表5中的数组一致,由此可知,通过上述第一次逆向变换,可将表6中的数组还原到表5中的数据分布,从而可完成第一次数据还原。表7序号数组1数组2数组3数组4数组5数组61fe011464eb0120c450147004738b001101200141310e101e60050001005d02ea60100f601bc0173303005a47008224f03c5033296f0250002100第二次逆向变换:将表7中数组1内的所有数组元素循环向上移动3位,并将数组6内的所有数组元素循环向下移动3位。第二次逆向变换过程中循环向上移动的原理与第二次变换、第三次变换中循环向上移动的原理同理,第二次逆向变换过程中循环向上移动的原理与第三次变换中循环向下移动的原理同理,在此不再赘述。第二次逆向变换后的数组1至数组6如表8所示,表8中的数组与表4中的数组一致,由此可知,通过上述第二次逆向变换,可将表7中的数组还原到表4中的数组,从而可完成第二次数据还原。表8序号数组1数组2数组3数组4数组5数组6113011464eb002004501470032301001101200043310e101e60152201005d024766f00f601bc017fe03005a470080c4f03c503ea98b0250002101第三逆向变换:将表8中数组2和数组4内的所有数组元素循环向下移动3位。该循环向下移动的原理与第三次变换中循环向下移动的原理同理,在此不再赘述。第三次逆向变换后的数组1至数组6如表9所示,表9中的数组与表3中的数组一致,由此可知,通过上述第三次逆向变换,可将表8中的数组还原到表3中的数组,从而可完成第三次数据还原。表9序号数组1数组2数组3数组4数组5数组611303145aeb002004f01c50032301021100200043301e164e601522450047024766f00f601bc017fe100001470080c01035d03ea98b0050012101第四次逆向变换:将表9中数组1至数组6内的前三个元素循环左移1位,并将数组1至数组6内的最后三个元素循环右移1位。该循环左移和循环右移的原理与第一次变换中循环左移和循环右移的原理同理,在此不再赘述。第四次逆向变换后的数组1至数组6如表10所示,表10中的数组与表2中的数组一致,由此可知,通过上述第四次逆向变换,可将表9中的数组还原到表2中的数组,从而可完成第四次数据还原。表10序号数组1数组2数组3数组4数组5数组6103145aeb001324f01c5003200302110020000143301e164e601522450047024766f00f601bc01700fe100001478ea0c01035d039018b00500121通过上述四次逆向变换,可将表6中的数组逐步还原至表2中的数组,在上述的四次逆向变换中,需要保证每次逆向变换的操作正确,即每次逆向变换的操作均与加密过程中对应的变换步骤互逆,才可实现得到正确的还原数据,其中任何一次逆向变换有误,即使后续的逆向变换步骤正确,也无法得到正确的还原数据。例如,若在第三次逆向变换中出现错误,将表8中数组2和数组4内的所有数组元素循环向下移动了6位,而非3位,则可得到如表11所示的数组:表11若对表11继续进行第四次逆向变换,则可得到如表12所示的数组:表12序号数组1数组2数组3数组4数组5数组61101401eb0013201015d003200300110120000143303e15ae6015224f00c5024766f02f600bc01700fe010064478ea0c450347039018b00500121表12和变换前的表2明显不同,由此可知,在数据还原的过程中,只要其中一次逆向变换发生了错误,就无法还原到加密前的数据,其它次数的变换以及逆向变换同理,从而增加了数据还原和解密的复杂度和难度,提高数据的保密性和安全性。s503,对线性数据结构中逆向变换后的数据元素进行合并,得到解密后的通信数据。可选地,对数组或链表中逆向变换后的数据元素进行合并。以表10为例,对表10所示的数组中的数组元素进行合并,可得到如表1所示的通信数据,从而可将数据正确还原,实现数据的正确解密;其中,合并的方式与本申请实施例一中拆分的方式互逆。例如,将表10数组1中序号1对应的数据03和序号2对应的数据4f合并,得到的十六进制数值为034f,与表1中序号1对应的十六进制数值一致。以表12为例,对表12所示的数组中的数组元素进行合并,无法得到如表1所示通信数据,从而无法数据正确还原,无法实现数据的正确解密。例如,将表12数组1中序号1对应的数据10和序号2对应的数据01合并,得到的十六进制数值为1001,与表1中的序号1对应的十六进制数值034f不一致;再如,将表12数组1中序号3对应的数据00和序号4对应的数据33合并,得到的十六进制数值是0033,与表1中序号2对应的十六进制数值0233不一致,即数据没有正确解密。可选地,在对线性数据结构中逆向变换后的数据元素进行合并之后,且得到解密后的通信数据之前,还包括:对合并后的数据进行数据转换处理,得到风力发电机组的初始通信数据。可选地,将合并后的第二数据类型的数据转换为原始的第一数据类型的数据;对第一数据类型的数据进行缩小处理,缩小处理的比例与通信数据在加密过程中放大处理的比例相适应。在一个示例中,通过上述步骤将加密后的表10所示的数据还原到加密前的表1所示的通信数据后,根据表1中所示的放大倍数(如10倍或100倍)进行相应的缩小,以叶片桨距角为例,当叶片桨距角数据被还原到表1中序号3对应的数据时,将该数据缩小到1/100,以实现对该数据的完全还原。应用本申请的实施例二,至少可以实现如下有益效果:1)本申请实施例中对任意位置的数据元素进行任意次数的变换的方式较多,在数据还原和解密过程中对应的逆向变换的方式也较多,只有完全执行正确的还原步骤才能实现数据的还原,任意一个还原步骤有误便不能有效地还原数据,很难通过枚举法破解出正确的还原方式,因此本申请实施例有效地增加了对加密后的通信数据进行还原和解密的难度,从而提高了风力发电机组通信数据的保密性和安全性;2)本申请实施例的适用范围较广,可适用于对文件的编码保护,也可适用于动态数据、数字量数据的编码保护。实施例三基于同一发明构思,本申请实施例提供了一种风力发电机组的数据通信装置,如图6所示,该风力发电机组的数据通信装置600包括:数据获取模块601、数据拆分和排列模块602、以及数据编码和发送模块603。数据获取模块601,用于获取风力发电机组的通信数据。数据拆分和排列模块602,用于对通信数据进行拆分,并对拆分后的通信数据进行排列,形成线性数据结构。数据编码和发送模块603,用于对线性数据结构中任意位置的数据元素进行任意次数的变换,得到加密后的通信数据进行发送。可选地,数据获取模块601具体用于:获取风力发电机组的初始通信数据,对初始通信数据进行数据转换处理,将数据转换处理后的初始通信数据作为风力发电机组的通信数据。可选地,数据拆分和排列模块602具体用于:将通信数据拆分成多个子数据;将每指定数量个子数据组成一个子数据组;将每个子数据组中的各子数据分别作为各数据元素并进行排列,形成数组或链表。可选地,数据编码和发送模块603具体用于:对各个数组或链表中任意位置的数据元素进行任意次数的变换。在一个可选的实施方式中,数据编码和发送模块603具体用于对至少一个指定数组至少一次地执行以下变换方式中的至少一种:方式一,将每个指定数组中的任意两个数组元素进行互换;方式二,将每个指定数组中的指定数组元素向指定方向循环移动;方式三,将一个指定数组中的指定数组元素与另一个指定数组中的指定数组元素进行互换。在另一个可选的实施方式中,数据编码和发送模块603具体用于:将各个数组分配至多面体的各个面;将每个数组中的各个数组元素排列于多面体对应分配的面的各个子区域中;将多面体的各个面中的任意两个以上子区域中的数组元素进行变换。可选地,数据编码和发送模块603还具体用于对于至少一个指定面,至少一次地执行以下变换方式中的至少一种:方式一,将每个指定面上的任意两个子区域中的数组元素进行互换;方式二,将每个指定面上的指定子区域中的数组元素向指定方向循环移动;方式三,将一个指定面上的指定子区域与另一个指定面上的指定子区域中的数组元素进行互换。本实施例提供的风力发电机组的数据通信装置600可执行本申请实施例一所提供的风力发电机组的数据通信方法,其实现原理和有益效果相类似,此处不再赘述。实施例四基于同一发明构思,本申请实施例提供了一种风力发电机组的数据通信装置,如图7所示,该风力发电机组的数据通信装置700包括:数据获取模块701、数据解码模块702以及数据合并模块703。数据获取模块701,用于获取风力发电机组的加密后的、排列于线性数据结构中的通信数据。数据解码模块702,用于对线性数据结构中的数据元素进行逆向变换;逆向变换的次数与通信数据在加密过程中被变换的次数相同。数据合并模块703,用于对线性数据结构中逆向变换后的数据元素进行合并,得到解密后的通信数据。可选地,数据获取模块701具体用于获取风力发电机组的加密后的、排列于数组或链表中的通信数据。可选地,数据解码模块702具体用于对数组或链表中的数据元素进行逆向变换。可选地,数据合并模块703具体用于对数组或链表中逆向变换后的数据元素进行合并。可选地,数据合并模块703具体用于对合并后的数据进行数据转换处理,得到风力发电机组的初始通信数据。本实施例提供的风力发电机组的数据通信装置700可执行本申请实施例二所提供的风力发电机组的数据通信方法,其实现原理和有益效果相类似,此处不再赘述。实施例五基于同一发明构思,本申请实施例提供了一种风力发电机组的数据通信设备,如图8所示,该风力发电机组的数据通信设备800包括:存储器801和处理器802,存储器801与处理器802电连接。本申请实施例中的存储器801上存储有计算机程序,该计算机程序由处理器802执行以实现本申请实施例一提供的风力发电机组的数据通信方法。本申请实施例中的存储器801可以是rom(read-onlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,可以是ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscread-onlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的处理器802可以是cpu(centralprocessingunit,中央处理器)、通用处理器、dsp(digitalsignalprocessor,数据信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器802也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。本
技术领域
技术人员可以理解,本申请实施例五提供的风力发电机组的数据通信设备800可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中。本申请实施例五提供的风力发电机组的数据通信设备800,与前面所述的各实施例具有相同的发明构思及相同的有益效果,在此不再赘述。实施例六基于同一发明构思,本申请实施例提供了一种风力发电机组的数据通信设备,如图9所示,该风力发电机组的数据通信设备900包括:存储器901和处理器902,存储器901与处理器902电连接。本申请实施例中的存储器901上存储有计算机程序,该计算机程序由处理器902执行以实现本申请实施例二提供的风力发电机组的数据通信方法。本申请实施例中的存储器901可以是rom(read-onlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,可以是ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscread-onlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的处理器902可以是cpu(centralprocessingunit,中央处理器)、通用处理器、dsp(digitalsignalprocessor,数据信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器902也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。本
技术领域
技术人员可以理解,本申请实施例六提供的风力发电机组的数据通信设备900可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中。本申请实施例六提供的风力发电机组的数据通信设备900,与前面所述的各实施例具有相同的发明构思及相同的有益效果,在此不再赘述。实施例七基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例一所提供的风力发电机组的数据通信方法。该计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom、ram、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。本申请实施例七提供的计算机可读存储介质,与前面所述的各实施例具有相同的发明构思及相同的有益效果,在此不再赘述。实施例八基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例二所提供的风力发电机组的数据通信方法。该计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom、ram、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。本申请实施例八提供的计算机可读存储介质,与前面所述的各实施例具有相同的发明构思及相同的有益效果,在此不再赘述。本
技术领域
技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。以上所述仅是本申请的部分实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1