动态振动信号数据跨网闸传输系统及其方法
技术领域
本发明涉及通信领域,具体涉及一种动态振动信号数据跨网闸传输方法方法。
背景技术
2015年12月23日,乌克兰至少三个区域的电力系统遭到网络攻击,伊万诺-弗兰科夫斯克地区部分变电站的控制系统遭到破坏,造成大面积停电,电力中断3~6小时,约140万人受到影响。曾几何时,黑客还只是潜伏在网络世界窃取信息的影子。而步入“互联网+”时代,技术与产业融合激发创新活力的同时,也给信息安全带来更大挑战。
根据电力二次系统的特点,为了防范黑客及恶意代码等对电力二次系统的攻击侵害及由此引发电力系统事故,建立了电力二次系统安全防护体系,以保障电力系统的安全稳定运行。将电力安全区划分为生产控制大区和管理信息大区,生产控制大区又分为控制区(Ⅰ安全区)和非控制区(Ⅱ安全区),信息管理大区分为生产管理区(Ⅲ安全区)和管理信息区(Ⅳ安全区)。各种防护与隔离措施也被广泛使用,如防火墙技术、多重安全网关、网闸、交换网络等。这些防护措施在保护了电力系统的同时,又给数据传输和共享带来了阻碍。
上述的网闸又叫安全隔离与信息交换系统,是位于内部网络与外部网络之间的一个安全防护装置,它可以识别非法请求并阻止超越权限的数据访问和操作,从而有效地抵御病毒、黑客等的恶意破坏和攻击活动,保护网络的安全。网闸技术在物理隔离技术基础上,实现了网络间物理层和网络协议断开的同时进行数据交换。
网闸是由软件和硬件组成,其硬件设备由三部分组成:外部处理单元、内部处理单元、专用隔离与交换控制单元,如图1所示。内网和外网通过网闸连接起来,其中,内部处理单元连接内网,外部处理单元连接外网。专用隔离与交换控制单元由硬件开关和数据交换区组成,硬件开关从硬件层面上实现了数据交换区在任一时刻只与内部处理单元或外部处理单元相连,这样便能保证在任一时刻内网与外网没有物理上的直接连通,从而实现了物理隔离。
当有数据需要从内网传输到外网时,硬件开关S首先与内部处理单元的A点连接,进行第一次数据摆渡。此时,专用隔离交换单元的数据交换区与内网连通,与外网断开,内网中需要交换的数据被通过命令写入到数据交换区。之后,硬件开关S断开与A点的连接,转而与外部处理单元的B点连接,外部就可以从数据交换区中读取数据,从而实现由内网向外网的数据传输。反之,由外网向内网的数据传输,过程刚好相反。内外网之间所有的TCP/IP连接在经过网闸时都要进行协议剥离,即在网闸的一端将数据剥离至原始数据,然后根据用户制订的规则对原始数据进行强制检查,再以格式化数据块的形式摆渡至网闸的另一端,另一端的主机系统在发送前需完成逆向的数据封装工作,即实现“协议落地、内容检查”,这样能够实现最高级别的安全。
网闸传输数据的常用形式是文件摆渡,即将数据保存在文件中,传输到网闸一侧,由网闸搬运到另一侧,如图2所示。
上述文件搬运存在明显不足:(1)如果有大量文件需要搬运(例如实时振动监测采集系统,7×24小时不间断产生波形频谱数据文件),则存在频繁读写内外网主机磁盘的问题,时间久了容易导致磁盘损坏。(2)文件搬运通常是在成功搬运后才删除源文件,一旦网闸或网络出现故障,则可能导致内网主机磁盘被写满系统崩溃而影响正常运行。(3)对于振动信号需传输频谱和波形这种大容量数据,搬运程序经常在网闸两侧出现数据文件读写速度不一致的情况,例如,数据文件没有写完,搬运程序就要读取拷贝,因此出现读写冲突错误,搬运程序停止运行。因此有必要改进传统的文件搬运方式,采用内存缓存数据(无文件)、收发双方直接通信的方式(经网闸隔离)跨网闸传输动态振动信号数据。
发明内容
本发明实施例的目的是提一种不产生任何磁盘文件动态振动信号数据跨网闸传输系统及其方法。
为达上述目的,本发明提供一种动态振动信号数据跨网闸传输系统,所述系统包括通过内网相互连接的网闸、网闸客户端、网闸服务端,所述网闸客户端包括前端服务器和若干采集装置;网闸服务端包括镜像服务器;
所述前端服务器,用于接收和存储若干采集装置和实时数据库发送数据,所述数据包括动态振动信号数据和生产过程量数据;
所述网闸,用于接收采集装置和前端服务器发送的数据并将所述数据通过网闸摆渡至镜像服务器;
所述镜像服务器,用于连接外网并且存储由网闸摆渡出的前端服务器的数据和采集装置的数据。
优选的,上述采集装置,用于采集原始振动信号数据,所述动态振动信号数据由原始数据通过预设的算法分析得出。
优选的,上述采集装置具有采集分析缓冲区,通过内网分别与前端服务器、及网闸连接,用于存储所述原始振动信号数据并且进行振动信号阶比跟踪分析形成所述动态振动信号数据,将所述动态振动信号数据发送至前端服务器和网闸。
优选的,上述采集分析缓冲区,还用于将动态振动信号数据分成第一路动态振动信号数据形成分析库队列通过网闸客户端程序写入前端服务器,和第二路动态振动信号数据形成分析网闸队列,通过网闸客户端程序按照自定义协议写入所述网闸的内网端口并由网闸内部机制传输到网闸外网端口。
优选的,上述系统还包括通过内网分别与镜像服务器和网闸连接的数据缓冲区;镜像服务器包括监听端口和线程,所述监听端口用于接收所述网闸外网端口数据并写入数据缓冲区,线程读取数据缓冲区的数据并通过服务端程序按照自定义协议写入所述镜像服务器的数据库。
优选的,上述动态振动信号数据包括波形、频谱、振动向量其中至少其中之一。
优选的,上述自定义协议为基于UDP的自定义传输协议。
优选的,上述生产过程量数据包括生产过程量温度、负荷、压力至少其中之一。
优选的,上述网闸客户端和网闸服务端分别包括心跳端口,用于通过网闸接收或者发送心跳数据包,根据发送或者接收的心跳数据包感知对方的状态。
优选的,上述动态振动信号数据包括波形、频谱、振动向量其中至少其中之一。
为达上述目的,本发明还提供一种动态振动信号数据跨网闸传输方法,其特征在于,所述方法包括:
前端服务器连接内网并且接收若干采集装置和实时数据库发送的数据,所述数据包括动态振动信号数据和生产过程量数据;
网闸连接内网并且接收若干采集装置和前端服务器发送的数据并将所述数据通过网闸摆渡至镜像服务器;
镜像服务器连接外网并且存储由网闸摆渡出的采集装置和前端服务器数据。
为达上述目的,本发明提供方法之前还包括:所述采集装置采集原始振动信号数据;
采集装置分析缓冲区,存储所述原始振动信号数据并且进行振动信号阶比跟踪分析形成所述动态振动信号数据,将所述动态振动信号数据发送至前端服务器和网闸。
优选的,上述将所述动态振动信号数据发送至前端服务器和网闸,包括:将动态振动信号数据分成第一路动态振动信号数据形成分析库队列通过网闸客户端程序写入前端服务器,和第二路动态振动信号数据形成分析网闸队列,通过网闸客户端程序按照自定义协议写入所述网闸的内网端口并由网闸内部机制传输到外网端口。
优选的,上述镜像服务器存储由网闸摆渡出的采集装置和前端服务器数据,包括:
镜像服务器监听端口接收所述网闸外网端口数据并写入数据缓冲区;
线程读取数据缓冲区的数据并通过服务端程序按照自定义协议写入所述镜像服务器的数据库。
优选的,上述方法还包括:网闸客户端(采集装置、前端服务器)心跳端口接收网闸服务端(镜像服务器)心跳端口发送的心跳数据包,根据所述心跳数据包判断收发双方的的当前状态。
优选的,上述自定义协议为基于UDP的自定义传输协议。
优选的,上述网闸客户端心跳端口接收网闸服务端心跳端口发送的心跳数据包,根据所述心跳数据包判断网闸服务端的当前状态;和/或网闸服务端心跳端口接收网闸客户端心跳端口发送的心跳数据包,根据所述心跳数据包判断网闸客户端的当前状态。
本发明实施例的有益效果是:本方面在电力系统常用的网闸设备基础上,设计并实现了一个基于网闸的动态振动信号数据传输系统,采用自定义传输协议,可以将任意结构性数据进行序列化传输,整个过程中不产生任何磁盘文件。
附图说明
图1为传统网闸内部原理图;
图2为传统网闸文件搬运图;
图3为振动在线监测系统数据流图;
图4为振动量跨网闸设计结构图;
图5网闸心跳设计图;
图6系统测试网络拓扑结构图
图7网闸配置图;
图8网闸客户端和服务端运行状态图。
具体实施方式
为了便于本领域技术人员的理解,下面结合实施例对本发明作进一步的描述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例中的各种方式可以相互组合。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图3所示,本发明第一实施例揭示了一种动态振动信号数据跨网闸传输系统,包括:通过内网相互连接的网闸、网闸客户端(网闸client)、网闸服务端(网闸sever);网闸客户端包括前端服务器和若干采集装置;网闸服务端包括镜像服务器;前端服务器,用于接收和存储采集装置和实时数据库发送数据,所述数据包括动态振动信号数据和生产过程量数据;网闸,用于接收采集装置和前端服务器发送的数据并将所述数据通过网闸摆渡至镜像服务器;镜像服务器,用于存储由网闸摆渡出的前端服务器的数据和采集装置的数据。本实施例中的前端服务器和镜像服务器都可以为MySQL服务器或者Tomcat服务器;动态振动信号数据包括波形、频谱、振动向量等等。本实施例中前端服务器还用于连接内网实时数据库(PI、EDNA)接收过程量数据,其中,过程量数据包括生产过程量温度、负荷、压力等等。若干采集装置,用于采集原始振动信号数据,其中动态振动信号数据由原始数据通过预设的算法分析得出。本实施例中采集装置包括1号采集装置、2号采集装置、及3号采集装置;网闸客户端程序为GapClient程序,如图所示显示了多个客户端GapClient,本发明实施例程序设计支持多个前端服务器同时向网闸端口发送数据,按照自定义的协议写入网闸的内网端口。本实施例中自定义协议为基于UDP的自定义传输协议,将结构化数据序列化后传输,能够保障通信的实时性,整个过程中不产生任何磁盘文件。
本实施例动态振动信号数据跨网闸传输系统,将网闸客户端与网闸之间基于UDP的自定义传输协议建立连接,将结构化数据序列化后通过网闸客户端程序将网闸客户端读取的数据按照自定义的协议写入网闸的内网端口并发送至前端服务器,写入网闸内网端口的数据经网闸内部数据摆渡到网闸外网端口,整个过程中不产生任何磁盘文件,避免传统搬运方式造成的主机写满系统崩溃问题,拷贝文件读写冲突程序停止运行,以及磁盘损坏的问题。
根据电力二次系统的特点,为了防范黑客及恶意代码等对电力二次系统的攻击侵害及由此引发电力系统事故,通过上述系统建立了电力二次系统安全防护体系,以保障电力系统的安全稳定运行。本发明动态振动信号数据跨网闸传输系统将电力安全区划分为生产控制大区和管理信息大区,生产控制大区又分为控制区(Ⅰ安全区)和非控制区(Ⅱ安全区),信息管理大区分为生产管理区(Ⅲ安全区)和管理信息区(Ⅳ安全区);其中,采集装置与前端服务器之间形成Ⅰ安全区;前端服务器与网闸内网端口之间形成Ⅱ安全区;网闸外网端口与镜像服务器之间形成Ⅲ安全区;镜像服务器与外网用户之间形成Ⅳ安全区。
如图4所示,本实施例中若干采集装置具有采集分析缓冲区通过内网分别与前端服务器、及网闸连接,用于存储所述原始振动信号数据并且进行振动信号阶比跟踪分析形成所述动态振动信号数据,将所述动态振动信号数据发送至前端服务器和网闸。采集分析缓冲区,还用于将动态振动信号数据分成第一路动态振动信号数据形成分析库队列通过网闸客户端程序写入前端服务器,和第二路动态振动信号数据形成分析网闸队列,通过网闸客户端程序按照协议写入所述网闸的内网端口并由网闸内部机制传输到网闸外网端口。动态振动信号数据跨网闸传输系统还包括通过内网分别与镜像服务器和网闸连接的数据缓冲区;镜像服务器包括监听端口和线程,监听端口用于接收所述网闸服务器端口数据并写入数据缓冲区,线程读取数据缓冲区的数据并通过服务端程序按照协议写入所述镜像服务器的数据库。
优选的,网闸客户端和网闸服务端分别包括心跳端口,用于相互接收对方发送的心跳数据包,根据接收到的心跳数据包判断对方的当前状态。
具体的,本实施例给出了振动量跨网闸的设计结构图,网闸两端的服务器上分别运行了跨网闸传输客户端程序(图4中的saPro Client)和服务端程序(图4中的saProServer)。客户端程序将要传输的数据通过基于UDP的自定义协议直接发送到网闸内网端口,网闸摆渡数据到外网,由服务端程序接收并写入前端服务器MySQL数据库。
本实施例的系统还包括通过内网分别与镜像服务器和网闸连接的数据缓冲区;镜像服务器包括监听端口和线程,监听端口用于接收所述网闸服务器端口数据并写入数据缓冲区,线程读取数据缓冲区的数据并通过服务端程序按照协议写入所述镜像服务器的数据库。
具体的,采集装置为采集卡,采集装置的采集程序Cardlet,从采集卡读取原始振动信号数据,采集的原始振动信号数据存入采集分析缓冲区,然后由signal Process程序进行振动信号阶比分析,信号分析后形成的动态振动信号数据,包括波形、频谱、振动向量等,这些大数据分两路:
第一路形成分析库队列通过DBThread线程写入前端服务器的MySQL数据库,以上程序流程为客户端采集程序saPro(client)。
第二路动态振动信号数据形成分析网闸队列,通过网闸客户端程序GapClient(图中显示了多个客户端GapClient,也就是程序设计支持多个前端服务器同时向网闸内网端口发送数据)按照自定义UDP协议写入网闸内网端口。写入网闸内网端口的数据经网闸内部数据摆渡到网闸外网端口。镜像服务器的上的线程GapServer监听网闸内网端口,接受内网端口数据并写入数据缓冲区Gap2DB,然后由线程DBThread读取并写入镜像服务器的数据库(MySQL数据库)。以上程序流程为服务器端采集程序saPro(Server)。
客户端程序处理流程:
(1)从交换缓冲区(与信号分析线程共享的)中读一组数据,无数据可读则阻塞;
(2)序列化,将结构数据转换为一维数组;
(3)构造开始报文,发送;
(4)循环构造若干数据报文(根据具体的数据量),发送;
(5)构造结束报文,发送;
(6)转(1)。
服务端程序处理流程:
(1)监听指定的若干个端口,每个端口对应一个客户端(Gap Client);
(2)收到开始报文,暂存,无数据则阻塞;
(3)循环收到若干个数据报文,暂存;
(4)收到结束报文,触发解析,重组数据报文,保存到一维数组中;
(5)反序列化,将一维数组转换为结构数据,并保存到交换缓冲区中(供数据库线程来读取);
(6)转(2)。
需要说明的,过程量跨网闸结构相似,区别仅在于数据结构不同,数据来源不同(过程量直接读实时数据库PI和eDNA)。
优选的,所述网闸客户端和网闸服务端分别包括心跳端口,用于通过网闸接收或者发送心跳数据包,根据发送或者接收的心跳数据包收发双方都可以感知对方的状态。
本发明第二实施例揭示了一种动态振动信号数据跨网闸传输方法,所述方法包括:
S102:前端服务器连接内网并且接收存储若干采集装置和实时数据库发送的数据,所述数据包括动态振动信号数据和生产过程量数据;其中,动态振动信号数据包括波形、频谱、振动向量等等;生产过程量数据包括生产过程量温度、负荷、压力等等。
S103:网闸连接内网并且接收若干采集装置和前端服务器发送的数据并将所述数据通过网闸摆渡至镜像服务器;
S104:镜像服务器连接外网并且存储由网闸摆渡出的采集装置和前端服务器数据。
其中步骤S102之前还包括步骤S101:采集装置采集原始振动信号数据;采集装置分析缓冲区,存储所述原始振动信号数据并且进行振动信号阶比跟踪分析形成所述动态振动信号数据,将所述动态振动信号数据发送至前端服务器和网闸。
进一步的,步骤S101中,将所述动态振动信号数据发送至前端服务器和网闸,具体包括:将动态振动信号数据分成第一路动态振动信号数据形成分析库队列通过网闸客户端程序写入前端服务器,和第二路动态振动信号数据形成分析网闸队列,通过网闸客户端程序按照自定义协议写入所述网闸的内网端口并由网闸内部机制传输到外网端口。
进一步的,步骤S104中所述镜像服务器存储由网闸摆渡出的采集装置和前端服务器数据,具体包括:镜像服务器监听端口接收所述网闸外网端口数据并写入数据缓冲区;线程读取数据缓冲区的数据并通过服务端程序按照自定义协议写入所述镜像服务器的数据库。
优选的,上述方法还包括网闸客户端心跳端口接收网闸服务端心跳端口发送的心跳数据包,根据所述心跳数据包判断网闸服务端的当前状态;和/或网闸服务端心跳端口接收网闸客户端心跳端口发送的心跳数据包,根据所述心跳数据包判断网闸客户端的当前状态。
优选的,上述方法还包括方法还包括前端服务器连接内网实时数据库接收过程量数据,所述数据包括生产过程量温度、负荷、压力至少其中之一。
上述第一和第二实施例可以相互支持,在此不再赘述。
本发明实施例中,主要数据结构如://振动量数据结构typedef struct {longlong timestamp;//时间戳int millisecond;//毫秒float speed;//转速//PARAM段floatgap;//间隙电压float direct;//通频值float amplitude_1X;//1倍频幅值float phase_1X;//1倍频相位float amplitude_2X;//可选倍频幅值float phase_2X;//可选倍频相位float amplitude_3X;//可选倍频幅值float phase_3X;//可选倍频相位//WAVE段intwaveLength;//压缩后的波形长度byte*pWave;//压缩后的波形动态值//SPECTRUM段intspectLength;//压缩后的频谱长度byte*pSpect;//压缩后的频谱动态值//采集参数intsampleRateOrder;//阶比数float deltaOrder;//阶比分辨率}VibraData;
本发明实施例中的,自定义通信协议如下表所示:
表1开始报文
Tab.1 Start Package
表2数据报文
Tab.2 Data Package
表3终止报文
Tab.3 Stop Package
如图5所示,本发明实施例中的心跳端口设计,客户端1、客户端2、客户端3与服务器都设有心跳端口。传统文件搬运方式解决的是正向数据传输,即数据都是从内网发往外网,客户端只发送数据而不接收服务器的反馈,因此无法判断服务器是否在运行中。本发明动态振动信号跨网闸传输系统增加了心跳数据包,如图5所示,收发双方都可以感知对方的状态。
本发明实施例中,网闸设备可以采用了南瑞信息的SysKeeper-2000网络安全隔离设备,网络拓扑结构如图6所示,三台振动信号在线监测采集器1、2、3,采集到的数据经信号分析后,写入前端服务器(MySQL),同时将数据发送到网闸内网端口,网闸转发数据到外网。
如图7所示,描述了本发明实施例中网闸配置,客户端与服务端的通信,是通过虚拟IP地址来进行的,在图7的配置中,客户端网卡的IP地址是10.144.1.1,目标(镜像)服务器的地址是10.144.1.4(虚拟IP地址),镜像服务端网卡的真实IP地址是202.102.1.4,端口设置为0,表示允许所有端口数据通过,协议类型为UDP。
如图8所示,描述了本发明实施例中网闸客户端和服务端运行状态。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。