掌桥专利:专业的专利平台
掌桥专利
首页

一种数据网关数据过滤的方法和系统

文献发布时间:2024-04-18 20:01:23


一种数据网关数据过滤的方法和系统

技术领域

本申请涉及电力系统的信息安全领域,具体涉及一种数据网关数据过滤的方法和系统,能够提高数据网关的安全性。

背景技术

电力系统是国家运行的基础,是现代生活无法缺失的一部分;一旦电力系统由任何问题,都会对整个社会的生产生活造成巨大的影响。一旦电力系统发生任何故障,人类社会将会彻底进入黑暗状态,所以保持电力通常是政府最应该首先解决的问题。近年来,随着我国智能电网高速建设,对整个电力系统的自动化要求也越来越高。随着电力系统网络规模的不断发展,电力系统网络的安全使用越来越受到重视。

在电力系统网络中,前置网关是在网络通信过程中用于转发数据的设备;前置网关一般位于本地网络与WAN之间,用于将内部网络的数据转发到网络上。前置网关是网络连接的第一道门户,主要负责网络地址转换(NAT)、端口映射、数据包过滤等功能,提高网络安全性和保密性,并优化网络带宽使用效率。前置网关的优势在于能有效地保护企业内部网络不受来自外部网络的攻击,同时可以减轻内部网络的负担,提高内外部网络传输数据的速度和稳定性。

传统的前置数据网关系统,数据协议驱动应用c++语言进行编码开发。采用c++语言编写协议驱动,具有协议驱动体积小巧、实时性高、稳定性强、支持跨平台运行的优势;但协议驱动封装、发布后不可动态更改协议驱动等缺点,降低了数据处理灵活性。在工程实施过程中,无法对协议层数据进行数据动态研判,不可避免的采集到垃圾数据、抖动数据和异常数据,数据质量得不到有效的保障,数据分析系统易产生误判,为系统运行带来不可靠因素。

发明内容

本申请提供了一种数据网关数据过滤的方法和系统,能够基于c++、javaScript等编程语言实现前置数据网关的数据过滤,提高系统稳定性。

为了达到上述目的,本申请实施例提出了一种数据网关数据过滤系统,包括:终端设备、业务系统、前置数据网关;

其中该终端设备通过前置数据网关连接业务系统,该前置数据网关包括模型库、协议库、媒介库、JavaScript脚本过滤库、转发库、计算库、实时库、SDK库;其中JavaScript脚本过滤库包括:主体运行脚本,还包括以下至少一种数据类型的脚本:状态量脚本、单精度脚本、整形量脚本、双精度脚本;

其中所述JavaScript脚本过滤库是在C++语言开发的前置数据网关协议层开发过程中通过JavaScript语言开发的;

其中所述JavaScript脚本过滤库的主体运行脚本用于对JavaScript脚本过滤库的数据类型的混合计算和数据过滤分析。

其中,所述前置数据网关用于执行以下步骤:

步骤201、接收终端设备发送的设备数据流;

步骤202、设备数据流经过网关协议层进行协议转换;网关协议层先解析状态量、模拟量定义的脚本程序,并对采集数据进行预期加工计算,产生缓存中间数据,存储到数据缓存区;

步骤203、判断数据包是否完整,如果否则返回步骤202,重新对设备数据流进行协议转换;

步骤204、如果数据包完整,则进行数据包,并将解析到的数据存储到数据缓存区;

步骤205、使能JavaScript脚本过滤库,并对口令进行验证,如果验证成功则跳转到步骤206,如果否则跳转到步骤208;

步骤206、加载JavaScript脚本过滤库,并加载状态量脚本程序、单精度脚本程序、多精度脚本程序、整形脚本程序;然后加载主体脚本程序;其中主体运行脚本用于对各类数据类型的混合计算和数据过滤分析;

步骤207、将分析后的协议数据回写到协议数据缓存区;并将数据写入到实时内存库。

其中,所述JavaScript脚本过滤库的口令通过以下方式进行验证:

脚本口令管理:通过网关管理工具配置脚本运行口令,然后将口令加盐进行加密存储;

脚本口令应用生成包括:启动脚本口令应用生成器,验证管理员口令;如果验证通过在额输入脚本运行口令,并将口令加盐进行加密后输出,步骤结束;如果验证失败则步骤结束。

其中,所述方法还包括:加载JavaScript脚本过滤库,对脚本运行口令进行验证,如果验证通过则运行脚本,步骤结束;如果验证失败则直接结束。

本申请实施例还提出一种应用如前任一项所述的数据网关数据过滤系统进行过滤的方法,由JavaScript脚本过滤库执行;其特征在于,所述包括:

步骤201、接收终端设备发送的设备数据流;

步骤202、设备数据流经过网关协议层进行协议转换;网关协议层先解析状态量、模拟量定义的脚本程序,并对采集数据进行预期加工计算,产生缓存中间数据,存储到数据缓存区;

步骤203、判断数据包是否完整,如果否则返回步骤202,重新对设备数据流进行协议转换;

步骤204、如果数据包完整,则进行数据包,并将解析到的数据存储到数据缓存区;

步骤205、使能JavaScript脚本过滤库,并对口令进行验证,如果验证成功则跳转到步骤206,如果否则跳转到步骤208;

步骤206、加载JavaScript脚本过滤库,并加载状态量脚本程序、单精度脚本程序、多精度脚本程序、整形脚本程序;然后加载主体脚本程序;其中主体运行脚本用于对各类数据类型的混合计算和数据过滤分析;

步骤207、将分析后的协议数据回写到协议数据缓存区;并将数据写入到实时内存库。

其中,所述JavaScript脚本过滤库的口令通过以下方式进行验证:

脚本口令管理:通过网关管理工具配置脚本运行口令,然后将口令加盐进行加密存储;

脚本口令应用生成包括:启动脚本口令应用生成器,验证管理员口令;如果验证通过在额输入脚本运行口令,并将口令加盐进行加密后输出,步骤结束;如果验证失败则步骤结束。

其中,所述方法还包括:加载JavaScript脚本过滤库,对脚本运行口令进行验证,如果验证通过则运行脚本,步骤结束;如果验证失败则直接结束。

本申请的上述技术方案的有益效果如下:本申请提供了一种数据网关数据过滤的方法和系统,本申请实施例的技术方案改变传统前置数据网关采集终端数据协议层开发过程,在协议解析层增加预定义的javaScript脚本执行,对协议层采集原始数据进行javaScript脚本分析、计算和存储。

附图说明

图1为本申请实施例的系统结构图;

图2是本申请实施例的数据脚本处理流程图;

图3是本申请实施例的JavaScirpt脚本口令过程图。

具体实施方式

为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

传统的前置数据网关系统,数据协议驱动应用c++语言进行编码开发。采用c++语言编写协议驱动,具有协议驱动体积小巧、实时性高、稳定性强、支持跨平台运行的优势;但协议驱动封装、发布后不可动态更改协议驱动等缺点,降低了数据处理灵活性。在工程实施过程中,无法对协议层数据进行数据动态研判,不可避免的采集到垃圾数据、抖动数据和异常数据,数据质量得不到有效的保障,数据分析系统易产生误判,为系统运行带来不可靠因素。

前置数据网关协议层通常使用c++语言进行开发,c++语言支撑多种系统平台,并对各类终端设备都提供系统底层的读写访问,保障执行的高效性、实时性和稳定性,编写协议驱动需专业开发人员。本申请实施例提供的技术方方案中,在前置数据网关协议驱动开发过程中,加入javaScript脚本语言的支持,动态编写数据脚本指令,可对协议层数据进行分析和研判,过滤异常数据、死区数据和自定义数据,提高数据质量。本申请实施例的技术方案改变传统前置数据网关采集终端数据协议层开发过程,在协议解析层增加预定义的javaScript脚本执行,对协议层采集原始数据进行javaScript脚本分析、计算和存储。

在前置数据网关协议层,对JavaScirpt脚本过滤库支撑的各种接口封装、定义和开发。实现JavaScript脚本过滤库基本操作函数,如测点ID读取函数、测点实时值读/写函数、日志输出函数、时间函数、脚本运行口令验证函数等。

如图1所示的,本申请实施例技术方案的系统如图1所示的,包括终端设备、业务系统、前置数据网关,其中该终端设备通过前置数据网关连接业务系统,该前置数据网关包括模型库、协议库、媒介库、JavaScript脚本过滤库、转发库、计算库、实时库、SDK库;其中JavaScript脚本过滤库包括:主体运行脚本,还包括以下至少一种数据类型的脚本:状态量脚本、单精度脚本、整形量脚本、双精度脚本。其中本申请实施例技术方案的JavaScript脚本过滤库,其工作原理如图2所示的,包括:

步骤201、接收终端设备发送的设备数据流;

步骤202、设备数据流经过网关协议层进行协议转换;网关协议层先解析状态量、模拟量定义的脚本程序,并对采集数据进行预期加工计算,产生缓存中间数据,存储到数据缓存区;

步骤203、判断数据包是否完整,如果否则返回步骤202,重新对设备数据流进行协议转换;

步骤204、如果数据包完整,则进行数据包,并将解析到的数据存储到数据缓存区;

步骤205、使能JavaScript脚本过滤库,并对口令进行验证,如果验证成功则跳转到步骤206,如果否则跳转到步骤208;

步骤206、加载JavaScript脚本过滤库,并加载状态量脚本程序、单精度脚本程序、多精度脚本程序、整形脚本程序;然后加载主体脚本程序;其中主体运行脚本用于对各类数据类型的混合计算和数据过滤分析;

步骤207、将分析后的协议数据回写到协议数据缓存区;并将数据写入到实时内存库。

从图2的步骤中可以看出,在本申请实施例的技术方案中,在前置数据网关中设计了主体运行脚本和各种数据类型的脚本。各种数据类型脚本,如:状态量脚本、单精度脚本、整形量脚本、双精度脚本。数据协议解析脚本调用顺序为:状态量脚本、模拟量脚本、主体运行脚本。管理工具可配置脚本运行口令、脚本使能等参数。网关协议层先解析状态量、模拟量定义的脚本程序,并对采集数据进行预期加工计算,产生缓存中间数据。在主体运行脚本中,进行各类数据类型的混合计算和数据过滤分析,分析后的协议数据,回写协议数据缓存区,进行数据的存储和输出。

为保障数据的安全性,在前置数据网关增加了对JavaScript脚本运行口令的配置和管理。如图3所示的,JavaScript脚本过滤库的口令可以通过以下方式生成:脚本口令管理、脚本口令应用生成、脚本库运行;其中脚本口令管理包括:通过网关管理工具配置脚本运行口令,然后将口令加盐进行加密存储;其中脚本口令应用生成包括:启动脚本口令应用生成器,验证管理员口令;如果验证通过在额输入脚本运行口令,并将口令加盐进行加密后输出,步骤结束;如果验证失败则步骤结束。其中脚本库运行包括:加载JavaScript脚本过滤库,对脚本运行口令进行验证,如果验证通过则运行脚本,步骤结束;如果验证失败则直接结束。

如图3所示的,在前置数据网关管理工具中,进行脚本的口令配置、加密存储,并对脚本代码文件进行md5签名存储。在工程人员编写脚本完成后,进行md5计算,存储到前置网关系统内。也就是说在前述的步骤205中,在运行脚本时,可以进行口令和md5的双方验证,保障脚本对数据操作的安全性。JavaScript脚本执行口令,定义为多位字符密钥标识,加强了口令的安全性。前置数据网关协议层,验证脚本口令错误,则不运行脚本。前置数据网关管理工具,进行脚本口令的预定义,前置数据网关系统对口令进行加盐、加密处理。管理人员利用脚本口令生成工具,进行运行密码分发和管理,提供给工程人员进行脚本编写。

本发明通过前置数据网关的管理配置工具,对采集终端进行数据协议层的脚本灵活定义,脚本语言对协议层原始数据进行比较、累加、分析、过滤等运算,实现数据过滤脚本库。

在前置数据网关,使用c++语言进行协议开发驱动,在底层封装各类脚本调用函数,支持javaScirpt脚本语言进行协议层数据处理。工程人员可自编写数据过滤脚本程序,过滤异常数据、死区数据和自定义数据。实现脚本程序的协议数据的处理,提高了业务数据处理的灵活性,提高采集终端数据质量,保障上层业务数据可靠性,减少应用系统的错误研判,为系统运行提供可靠的数据支撑。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序。在计算机上加载和执行所述计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储介质。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。

本申请中的至少一个还可以描述为一个或多个,多个可以是两个、三个、四个或者更多个,本申请不做限制。在本申请实施例中,对于一种技术特征,通过“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”等区分该种技术特征中的技术特征,该“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”描述的技术特征间无先后顺序或者大小顺序。

本申请中各表所示的对应关系可以被配置,也可以是预定义的。各表中的信息的取值仅仅是举例,可以配置为其他值,本申请并不限定。在配置信息与各参数的对应关系时,并不一定要求必须配置各表中示意出的所有对应关系。例如,本申请中的表格中,某些行示出的对应关系也可以不配置。又例如,可以基于上述表格做适当的变形调整,例如,拆分,合并等等。上述各表中标题示出参数的名称也可以采用通信装置可理解的其他名称,其参数的取值或表示方式也可以通信装置可理解的其他取值或表示方式。上述各表在实现时,也可以采用其他的数据结构,例如可以采用数组、队列、容器、栈、线性表、指针、链表、树、图、结构体、类、堆、散列表或哈希表等。

本申请中的预定义可以理解为定义、预先定义、存储、预存储、预协商、预配置、固化、或预烧制。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种高强度稀土-镁合金材料及其制备方法
  • 一种高强耐热铸造镁稀土合金及其制备方法
  • 一种耐热夹层玻璃用耐热夹胶材料及其制备方法
  • 含镍高强韧可控降解镁合金材料及其制备方法和应用
  • 一种含稀土耐热高强镁合金材料及其制备方法
  • 一种耐热高强稀土镁合金材料及制备方法
技术分类

06120116548758