一种基于电力信息采集的终端在线状态侦测方法及系统与流程

文档序号:24178874发布日期:2021-03-09 11:16阅读:199来源:国知局
一种基于电力信息采集的终端在线状态侦测方法及系统与流程

1.本发明涉及电力物联网技术领域,具体涉及一种基于电力信息采集的终端在线状态侦测方法及系统。


背景技术:

2.根据国家电网公司《国网安质部关于乌克兰电网遭网络黑客攻击引发大面积停电情况通报》中的“加强电网工控的日常巡检、运行监测、安全审计、漏洞挖掘和整改加固,强化风险辨识,做好安全风险和漏洞预警;加强网络信息安全检测系统部署,持续做好网络安全监测;开展网络信息安全隐患排查;加强电网工控系统安全防护研究”等要求。公司营销部要求国网计量中心重新梳理采集系统业务流程和安全防护框架,开展采集系统安全优化方案设计。
3.请参阅图1,基于以上背景,国网对采集系统部署环境进行了系统的安全架构改造,针对采集前置部分增加主站接入安全认证网关及准入控制功能、安全加密隔离网关,在采集主站横向域边界部署统一接口平台,并采用vpn方式进行加密,采用签名验签方式进行信源签别。另外按要求,需要将之前的前置机拆分为通信前置+采集前置,分别部署于安全加密隔离网关两侧。其中,通信前置集群位于安全接入区,采集前置位于三级域采集系统区内。两部分前置模块通过ssal协议与安全加密隔离网关实现通讯。
4.同时新增营销生产域部署在管理信息大区,独立成域/专网,通过正反向隔离装置与信息内网用电信息采集系统和营销安全接入区交互数据。新增营销安全接入区作为采集终端接入采集系统主站之间的dmz区。将其他业务系统与采集系统数据采集与参数设置类业务间的接口服务取消,全部改为通过统一接口服务平台接入。对重新分区产生的边界,通过部署隔离装置、防火墙、ips等安全设备加强边界安全防护能力。
5.在新的国网安防体系下,原有的旧采集系统在使用过程中,陆续暴露出了一些先天不足的问题,其中,在对终端在线状态的判断上,原有的业务逻辑设计已不能适配新的安防体系,终端在线状态的判断、状态的更新周期等,均已无法满足其他业务的使用需求,存在明显的延时、不准确的情况,甚至出现在线终端数大于接入的tcp连接数的情况。终端在线状态统计的误差直接影响采集任务的下发,且由于无法准确判断终端在线状态,运维人员无法针对性的对采集成功率低的终端进行问题确认或者报文下发处理。


技术实现要素:

6.本发明的目的是为了提升采集系统对终端在线状态的监测,并能够在国网安全架构下准确稳定的运行,保障状态识别的准确性和实时性。
7.为了达到上述目的,本发明提供了一种基于电力信息采集的终端在线状态侦测系统,所述的在线状态侦测系统用于采集2.0系统;所述采集2.0系统至少与终端和终端负载均衡器形成系统组网;所述终端负责采集各个电力数据;所述终端负载均衡器连接各个终端,并把各个终端的数据进行编码;所述采集2.0系统包括:互相连接的采集2.0通信部件和
采集2.0业务系统;所述的采集2.0业务系统包括:采集前置集群;所述终端在线状态侦测系统包括:网关连接管理模块、终端状态管理模块、终端状态读取模块;所述的网关连接管理模块位于所述的采集2.0通信部件,负责与所述终端建立长连接,并对长连接状态进行被动监听;所述的终端状态管理模块位于所述的采集前置集群,用于主动维护终端在线状态,并将该状态推送到消息队列;所述的终端状态读取模块位于所述的采集前置集群,用于处理终端状态的更新消息,根据不同的业务类型采取不同的状态同步方式。
8.其中,所述的网关连接管理模块的作用具体包括:
9.a)与终端建立tcp连接,然后对终端连接进行标识,并将网关连接管理模块所在的服务器信息,连同连接信息一起上报给所述的终端状态管理模块;
10.b)终端断开与网关的连接后,所述的网关连接管理模块回收连接资源,同时将该事件上报给所述的终端状态管理模块;
11.c)接收所述的终端状态管理模块的断开连接通知,断开与终端的连接;
12.d)智能诊断连接的通信状态,对连接链路的通信情况进行判定,并周期性上报至所述的终端状态管理模块。
13.其中,所述的终端状态管理模块的作用具体包括:
14.a)终端登陆报文发送到采集前置集群后,如被判定为有效登陆,则所述的终端状态管理模块以该终端地址为主键,建立并维护一个key,在分布式架构下,以此为核心标定终端实际的在线状态;
15.b)终端状态发生变更以后,将变更事件同时推送到消息队列,供所述的终端状态读取模块提取;
16.c)主动维护终端在线状态。
17.其中,所述的主动维护终端在线状态包括:
18.i.终端在线状态当前标识为在线:(1)收到终端的心跳报文后,维护终端在线状态key值中的终端的最近一次登陆或心跳报文时间;(2)通过定时器,主动轮询各终端在线状态的最近一次登陆或心跳报文时间,如时间差超过设置值,则认为该终端已离线,此时向网关推送断开连接的通知,由网关连接管理模块断开该路连接,并回收资源;(3)收到终端登陆报文后,维护该终端在线状态key值中的最后报文时间、接入节点,同时向原接入节点的网关发送消息,告知网关连接管理模块断开并回收旧的连接;
19.ii.终端状态当前标识为离线:接收到登陆或者心跳报文后,即认为该终端重新登陆,更新该终端在线状态key值的全部内容;
20.iii.对网关连接管理模块推送的通信状态进行复审,确认是否无误,并将复审结果推送给网关连接管理模块。
21.其中,所述的终端状态读取模块的具体作用包括:
22.a)对终端在线状态实时性要求一般的业务:终端状态读取模块通过对终端在线状态的消息队列进行实时监听,读取消息队列的消息,更新终端在线状态的数据表;
23.b)需要终端实时响应的业务,指令触发时,终端在线状态读取立刻主动查询终端在线状态key值,确认当前实时的终端在线状态,并反馈给业务程序。
24.本发明还提供了一种基于电力信息采集的终端在线状态侦测方法,其采用上述的基于电力采集的终端在线状态侦测系统对终端进行在线状态侦测;所述的在线状态侦测系
统包括:网关连接管理模块、终端状态管理模块、终端状态读取模块;所述的方法包括:将所述的网关连接管理模块设于所述的采集2.0通信部件,负责与所述终端建立长连接,并对长连接状态进行被动监听;将所述的终端状态管理模块设于所述的采集前置集群,用于主动维护终端在线状态,并将该状态推送到消息队列;将所述的终端状态读取模块设于所述的采集前置集群,用于处理终端状态的更新消息,根据不同的业务类型采取不同的状态同步方式。
25.相对于现有技术,本发明的有益效果是:
26.本发明通过多点、多种方式,被动确认加主动巡查,可以在最大程度上保障终端在线状态识别的准确性和实时性。
附图说明
27.图1为电力采集系统整体组网示意图。
28.图2为采集2.0系统概要拓扑图。
具体实施方式
29.以下结合附图和实施例对本发明的技术方案做进一步的说明。
30.传统的物联网项目中,对终端在线状态的确认大部分都是被动的、单点的,在复杂组网下经过多层次的网络过滤、正反向拦截、代理转发等,终端在线状态的判断往往无法做到实时、准确,甚至会出现误报的情况。本发明通过多点、多种方式,被动确认加主动巡查,可以在最大程度上保障状态识别的准确性和实时性。
31.本发明的基于电力信息采集的终端在线动测侦测系统用于新一代电力用户用电信息采集系统(以下简称采集2.0系统)。如图1所示,电力采集系统在生产环境下系统组网包括:采集1.0系统(非必须)、采集2.0系统、终端、终端负载均衡器、通信负载均衡器、采集1.0通信部件(非必须)、采集2.0通信部件和通信网关(非必须)。采集1.0系统为老系统,采集2.0系统为新系统。改用新系统时,要保证采集1.0、采集2.0系统切换对系统现有业务不会造成影响。双轨运行期间,新老两套采集系统同时运行。
32.所述采集1.0系统和采集2.0系统分别包括通信部件和业务系统;所述终端负责采集各个电力数据,所述终端负载均衡器连接各个终端,并把各个终端的数据进行编码;所述采集1.0系统通信部件、采集2.0系统通信部件分别连接采集1.0系统的业务系统和采集2.0系统的业务系统;所述通信前置负载均衡器连接采集1.0系统的通信部件。
33.所述终端在线状态侦测包括网关连接管理模块、终端状态管理模块、终端状态读取模块三个模块。所述网关连接管理模块负责与终端建立tcp连接;所述终端状态管理模块用于主动维护终端在线状态,并将该状态推送到消息队列;所述终端状态读取模块,用于处理终端状态的更新消息,实时维护终端在线状态。
34.如图2所示,为采集2.0系统概要拓扑图,其中,第一层10的信息内网第三方边界1,用于实现内外网安全隔离;终端负载均衡装置2,位于第二层20的安全接入区;采集2.0通信部件3,位于第二层20安全接入区,网关连接管理模块在此工作;zookeeper,服务调度,位于第三层30的三级域4(采集域);采集前置5,位于第三层30的三级域(采集域),终端状态管理、终端状态读取模块在此工作。
35.终端在线状态侦测各部分具体作用如下。
36.1、网关连接管理模块位于“采集2.0系统通信部件”,位于第二层的安全接入区,负责与终端建立长连接,并对长连接状态进行被动监听;
37.a)与终端建立tcp连接后,网关连接管理模块对终端连接进行标识,为避免集群情况下可能会出现的重复连接,在建立连接的同时,还需要将网关连接管理模块所在的服务器信息,连同连接信息一起上报给终端状态管理模块;
38.b)终端断开与网关的连接后,网关连接管理模块回收连接资源,同时将该事件上报给终端状态管理模块;
39.c)接收终端状态管理模块的断开连接通知,断开与终端的连接。如果在网关连接管理模块的上层还有负载均衡类的模块,该功能与连接状态上报功能一起,可以避免因为负载均衡而出现终端在其他节点上重复登陆的情况;
40.d)智能诊断连接的通信状态,对连接链路的通信情况进行判定,并周期性上报至终端状态管理模块,所上报的状态包括如下:
41.i.链路无通信:一段时间内,链路通道无任何上行报文;
42.ii.疑似恶意攻击链路:一段时间内收到大量重复、无效报文;
43.iii.链路正常:链路报文上下行正常,无上述异常情况;
44.2、终端状态管理模块属于“采集2.0采集前置集群”,位于三级域(采集域),用于主动维护终端在线状态,并将该状态推送到消息队列。
45.a)终端登陆报文发送到采集前置后,如被判定为有效登陆,则终端状态管理模块以该终端地址为主键,建立并维护一个key,在分布式架构下,以此为核心标定终端实际的在线状态,可以解决传统终端在线状态判断时的混乱、重复、高延时问题;
46.i.关于key的建立与维护:按照格式“类型标识$冗余位$终端地址1$终端地址2$$”建立,例如某3761终端地址是3198047179,其在线状态的key则为“s$10002$3198$47179$$”,该值存放于redis,确保一个终端只对应一个在线状态的key。
47.ii.这个key对应的value包含信息有:终端在采集系统中的唯一标识、终端规约类型、终端所连接的端口、终端的ip和端口、终端的最近一次登陆或心跳报文时间、终端连接的采集2.0通信部件信息、终端在线状态标识。其中记录的终端所连接的端口、终端的ip和端口、终端连接的采集2.0通信部件信息用于判断终端是否发生重复连接、是否有潜在的异常连接可能;终端的最近一次登陆或心跳报文时间、终端在线状态标识用于综合判断终端在线状态;
48.b)终端状态发生变更以后(包括登陆、离线、剔除),将变更事件同时推送到消息队列,供终端状态读取模块提取;
49.c)主动维护终端在线状态:
50.i.终端在线状态当前标识为在线:
51.(1)收到终端的心跳报文后,维护终端在线状态key值中的终端的最近一次登陆或心跳报文时间;
52.(2)通过定时器,主动轮询各终端在线状态的最近一次登陆或心跳报文时间,如时间差超过设置值,则认为该终端已离线,此时向网关推送断开连接的通知,由网关连接管理模块断开该路连接,并回收资源;
53.(3)收到终端登陆报文后,维护该终端在线状态key值中的最后报文时间、接入节点,同时向原接入节点的网关发送消息,告知网关连接管理模块断开并回收旧的连接;
54.ii.终端状态当前标识为离线:接收到登陆或者心跳报文后,即认为该终端重新登陆,更新该终端在线状态key值的全部内容;
55.iii.对网关连接管理模块推送的通信状态进行复审,确认是否无误,并将复审结果(保持连接、关闭连接)推送给网关连接管理模块。
56.3、终端状态读取模块位于“采集2.0采集前置集群”,位于三级域(采集域),用于处理终端状态的更新消息,根据不同的业务类型采取不同的状态同步方式;
57.a)对终端在线状态实时性要求一般的业务:终端状态读取模块通过对终端在线状态的消息队列进行实时监听,读取模块根据消息队列的消息,更新终端在线状态的数据表;
58.b)对于用电采集系统前台召测等业务,这类业务需要终端实时响应,对终端在线状态实时性要求较高,这类业务指令触发时,终端在线状态读取立刻主动查询redis中的终端在线状态key值,确认当前实时的终端在线状态,并反馈给业务程序;
59.实施方式:
60.基于电力信息采集前置的终端在线状态动态侦测服务依托于采集前置集群服务,基于javaspring boot框架开发,基于linux的centos7系统进行部署,基础部署环境为centos7+oraclejdk1.8,使用java

jar的方式指定jvm参数后启动,不同节点间的通信通过zookeeper进行组织。(局部网络拓扑见图2):
61.1、确定服务所在服务器,与外部组件通信的端口均已打开;
62.2、在网关服务上,为当前网关设置名称,并在采集前置的配置文件中,指定该网关服务的名称;
63.3、修改采集前置、网关服务的配置,确保与各服务能够正常通信。
64.4、使用java

jar命令启动采集前置和网关的微服务jar包即可。
65.综上所述,本发明的通过多点、多种方式,被动确认加主动巡查,可以在最大程度上保障终端在线状态识别的准确性和实时性。
66.尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1