一种前置机保持高速稳定运行的方法及系统的制作方法

文档序号:7959963阅读:278来源:国知局
专利名称:一种前置机保持高速稳定运行的方法及系统的制作方法
技术领域
本发明属于电力系统通信领域,尤其涉及一种前置机保持高速稳定运行的方法及系统。
背景技术
目前,在电力管理系统中,前置机上运行的数据处理系统大部分为运行在WIMD0WS 平台下的单个进程,与抄表终端的通信仅支持单协议,允许接入的抄表终端数量有限,当并发接入四五千个抄表终端时,已达到其可接入抄表终端的极限,在这个范围内,会出现大量丢帧、抄表终端难以接入、收发不均衡等现象。若该数据处理系统持续运行一定的时间,进程会出现假死、僵死或进程终止,造成通信终止、数据丢失的现象,使得前置机无法控制现场采集终端采集用户用电数据,进而造成整个电力管理系统瘫痪,导管电力管理系统的稳定性差、容灾能力降低。

发明内容
本发明实施例的目的在于提供一种前置机保持高速稳定运行的方法及系统,旨在解决由于现有技术稳定性差、容灾能力降低的问题。本发明实施例是这样实现的,一种前置机保持高速稳定运行的方法,所述方法包括下述步骤调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听;当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理所述内存池中缓存的数据处理请求;根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到所述主进程假死或消失时,重新启动所述主进程;控制所述主进程对所述辅进程进行监控,当监控到所述辅进程假死或消失时,重新启动所述辅进程。本发明实施例的另一目的在于提供一种前置机保持高速稳定运行的系统,其特征在于,所述系统包括端口监听单元,用于调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听;数据处理单元,用于当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理所述内存池中缓存的数据处理请求;第一重启单元,用于根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到所述主进程假死或消失时,重新启动所述主进程;以及第二重启单元,用于控制所述主进程对所述辅进程进行监控,当监控到所述辅进程假死或消失时,重新启动所述辅进程。在本发明实施例中,调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听,当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理所述内存池中缓存的数据处理请求,根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到所述主进程假死或消失时,重新启动所述主进程,控制所述主进程对所述辅进程进行监控, 当监控到所述辅进程假死或消失时,重新启动所述辅进程,从而通过采用内存池、线程池技术处理来集抄终端的高并发数据处理请求,提高了前置机的数据处理能力,使得前置机上的数据处理系统更加稳定,提高了前置机的稳定性和容灾能力。


图1是本发明实施例一提供的前置机保持高速稳定运行的方法的实现流程图;图2是本发明实施例二提供的前置机保持高速稳定运行的方法的实现流程图;图3是本发明实施例三提供的前置机保持高速稳定运行的系统的结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合具体实施例对本发明的具体实现进行详细描述实施例一在本发明实施例中,电力管理系统主要包括集抄终端、前置机以及主站(可以包括服务器、数据库等),集抄终端用于对智能电表进行抄表、校时、断电/通电、费率设置,接收报警信号等,进行预处理后通过通信模块,例如,采用通用分组无线服务技术(GPRS)、码分多址技术(CDMA)、电话线或局域网等的通信模块,将返回结果后照预设的协议将结果数据发送其所属的前置机,经前置机进行处理、分析后打包上报主站,主站将其入库并进行相应处理,最后将结果存于通过网关进行隔离的大型数据库。图1示出了本发明实施例一提供的前置机保持高速稳定运行的方法的实现流程, 详述如下在步骤SlOl中,调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听。由于集抄终端可能由不同厂家生产,其支持的通信协议也不同,因此,为提高前置机与集抄终端的通信能力,在本发明实施例中,前置机中的系统可支持多种电力通信规约, 例如,国网协议《电力负荷管理系统数据传输规约》、广东电网公司电能计量遥测数据传输通信规约(广电规约)或IEC62056规约,在具体实施过程中,通过调用主进程对与多种通信规约中使用的通信端口进行监听,从而防止集抄终端发送的数据的丢失,提高前置机的通信数据的兼容能力。在步骤S102中,当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理所述内存池中缓存的数据处理请求。
由于频繁申请内存块,会造成效率上的损失,甚者会导致内存碎片的产生,从而影响系统的效率(所有程序都可能受到影响)。在本发明实施例中,由于电力管理系统中需要对数以万计的集抄终端(例如,集中器或智能电表)的数据处理请求进行处理,因此,为了防止请求数据的丢失,提高系统的并发处理能力,在本发明具体实施过程中,当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,从而可以较好地解决高并发处理请求,把请求数据帧缓存起来,不丢失帧和数据。其中,高并发是指系统对其数据流的处理能力,即点对点连接的最大数目,当处理的连接数目达到该最大数目时,即可确定为高并发,该数目可以根据该方法应用的不同环境进行确定,在本发明实施例中,数目大于1000可以认为是高并发,也可以是10000时才确定为高并发,在此不用以限制本发明。在本发明实施例中,当采用内存池有效地将高并发数据处理请求进行缓存后,可以调用线程池中对应的线程处理所述内存池中缓存的数据处理请求,从而提高数据处理请求的处理效率。在步骤S103中,根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到主进程假死或消失时,重新启动主进程。前置机主要用于数据采集、数据传输规约解析、数据处理以及接收并处理电力管理系统的控制命令等,例如,将各个集抄终端发送过来的数据进行解析、汇总,预处理后根据与主站的通信协议进行打包发送给主站。在本发明实施例中,预先创建并启动一个主进程,主进程启动后,自动启动一个子进程,即辅进程,主进程用于处理集抄终端的接入、数据解析、数据转发等数据处理事务,辅进程用于处理来自主站或具有相应权限的远程控制终端发送过来的控制请求,例如,执行前置机中央处理器(CPU)监视、内存使用监视、设置端口运行参数、重新启动主进程等控制命令。具体地,主站或远程控制终端可以通过访问同一IP地址的前置机的不同端口来与前置机中主、辅进程进行通信,通过扫描主进程的进程状态表查看主进程的状态。优选地,辅进程通过与主进程共享内存的方式获取主进程的运行信息,例如,CPU占用率,内存使用率等,从而实现主进程的监视。在具体实施过程中,集抄终端直接可以为智能电表,优选地可以为集中器,从而可以较好地利用现有电力管理系统中的硬件。当辅进程监控到主进程假死,例如,进程长久处于Pending状态,不会进入Running状态,或主进程消失时,重新启动主进程。在步骤S104中,控制主进程对辅进程进行监控,当监控到辅进程假死或消失时, 重新启动辅进程。在本发明实施例中,在对主进程进行监控的同时,主进程也对辅进程的运行状态进行监控。当主进程监控到辅进程假死,例如,进程长久处于Pending状态,不会进入 Running状态,或主进程消失时,重新启动辅进程。优选地,主进程通过与辅进程共享内存的方式获取辅进程的运行信息,例如,CPU占用率,内存使用率等,从而实现辅进程的监视。在本发明实施例中,通过采用内存池、线程池技术处理来集抄终端的高并发数据处理请求,提高了前置机的数据处理能力和稳定性,另外,前置机系统由主辅两个进程组成,主进程负责处理集抄终端链入、数据解析、数据转发等,辅进程处理远程控制的请求 (比如CPU监视、内存使用监视、设置端口运行参数、重启动主进程等),同时,主辅进程通过共享内存的消息通信机制互相监控、守护,当一方假死或进程消失则另一方把对方重启动,
5组成一个稳定的前置机,进一提高了前置机的稳定性,并提高了前置机的容灾能力。实施例二 在本发明实施例中,具体可以通过完成端口方式或EPOLL方式调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听,从而实现监听的异步处理方式,提高数据处理请求的并发处理能力。图2示出了本发明实施例二提供的前置机保持高速稳定运行的方法的实现流程, 详述如下在步骤S201中,采用完成端口方式或EPOLL方式调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听。在本发明实施例中,由于前置机接入的集抄终端较多,因此要求前置机能够支持几千个连接甚至上万个连接,在本发明实施例中,为了避免出现进程假死、僵死或进程终止,导致通信终止,数据丢失,最终造成整个电力管理系统陷入瘫痪的出现,因此,优选地, 当前置机运行在WINDOWS平台下时,采用完成端口方式对与集抄终端协商的通信协议中使用的通信端口进行监听,当前置机运行在LINUX平台下时,采用EPOLL方式对与集抄终端协商的通信端口进行监听,当采用完成端口方式或EPOLL方式在通信端口监听到数据请求时,将数据请求添加到预先创建的线程池,控制线程池处理接收到数据请求。由于集抄终端可能由不同厂家生产,支持的通信协议也不同,因此,为提高前置机与集抄终端的通信能力,在本发明实施例中,前置机中的系统可支持多种电力通信规约,例如,国网协议《电力负荷管理系统数据传输规约》、广东电网公司电能计量遥测数据传输通信规约(广电规约)或IEC62056规约,在具体实施过程中,通过调用主进程对与多种通信规约中使用的通信端口进行监听,从而防止集抄终端发送的数据的丢失,提高前置机的通信数据的兼容能力。在步骤S202中,当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理所述内存池中缓存的数据处理请求。在本发明实施例中,当采用内存池有效地将高并发数据处理请求进行缓存后,可以调用线程池中对应的线程处理所述内存池中缓存的数据处理请求,从而提高数据处理请求的处理效率。在步骤S203中,根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到主进程假死或消失时,重新启动主进程。在本发明实施例中,预先创建并启动一个主进程,主进程启动后,自动启动一个子进程,即辅进程,主进程用于处理集抄终端的接入、数据解析、数据转发等数据处理事务,辅进程用于处理来自主站或具有相应权限的远程控制终端发送过来的控制请求,例如,执行前置机中央处理器(CPU)监视、内存使用监视、设置端口运行参数、重新启动主进程等控制命令。具体地,主站或远程控制终端可以通过访问同一IP地址的前置机的不同端口来与前置机中主、辅进程进行通信,通过扫描主进程的进程状态表查看主进程的状态。优选地,辅进程通过与主进程共享内存的方式获取主进程的运行信息,例如,CPU占用率,内存使用率等,从而实现主进程的监视。在具体实施过程中,集抄终端直接可以为智能电表,优选地可以为集中器,从而可以较好地利用现有电力管理系统中的硬件。当辅进程监控到主进程假死,例如,进程长久处于Pending状态,不会进入Running状态,或主进程消失时,重新启动主进程。在步骤S204中,控制主进程对辅进程进行监控,当监控到辅进程假死或消失时, 重新启动辅进程。在本发明实施例中,在对主进程进行监控的同时,主进程也对辅进程的运行状态进行监控。当主进程监控到辅进程假死,例如,进程长久处于Pending状态,不会进入 Running状态,或主进程消失时,重新启动辅进程。优选地,主进程通过与辅进程共享内存的方式获取辅进程的运行信息,例如,CPU占用率,内存使用率等,从而实现辅进程的监视。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质,如ROM/RAM、磁盘、光盘等。实施例三图3示出了本发明实施例三提供的前置机保持高速稳定运行的系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括端口监听单元31调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听。在本发明实施例中,端口监听单元31包括监听子单元311,具体地,该监听子单元 311用于采用完成端口方式或EPOLL方式调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听。数据处理单元32当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理所述内存池中缓存的数据处理请求。第一重启单元33根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到所述主进程假死或消失时,重新启动所述主进程。第二重启单元34控制所述主进程对所述辅进程进行监控,当监控到所述辅进程假死或消失时,重新启动所述辅进程。在本发明实施例中,通过采用内存池、线程池技术处理来集抄终端的高并发数据处理请求,提高了前置机的数据处理能力和稳定性,同进,前置机系统由主辅两个进程组成,主辅进程通过共享内存的消息通信机制互相监控、守护,当一方假死或进程消失则另一方把对方重启动,组成一个稳定的前置机,为了处理来自集抄终端大量数据请求,前置机根据运行的平台不同,采用不同的数据处理方式,例如EPOLL技术、完成端口技术等,从而提高了主进程的数据并发处理能力,防止了大量丢帧、抄表终端难以接入、收发不均衡等现象的出现,进一步提高了前置机的稳定性和容灾能力。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种前置机保持高速稳定运行的方法,其特征在于,所述方法包括下述步骤调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听;当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中, 调用线程池中对应的线程处理所述内存池中缓存的数据处理请求;根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到所述主进程假死或消失时,重新启动所述主进程;控制所述主进程对所述辅进程进行监控,当监控到所述辅进程假死或消失时,重新启动所述辅进程。
2.如权利要求1所述的方法,其特征在于,所述主进程与辅进程采用共享内存的方式进行通信。
3.如权利要求1所述的方法,其特征在于,所述通信协议为国网协议《电力负荷管理系统数据传输规约》、广电规约或IEC62056规约。
4.如权利要求1所述的方法,其特征在于,所述集抄终端为集中器或智能电能表。
5.如权利要求1所述的方法,其特征在于,采用完成端口方式或EPOLL方式对所述通信端口进行监听,其中,所述调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听的步骤具体为采用完成端口方式或EPOLL方式调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听。
6.一种前置机保持高速稳定运行的系统,其特征在于,所述系统包括端口监听单元,用于调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听;数据处理单元,用于当监听到高并发数据处理请求时,将所述数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理所述内存池中缓存的数据处理请求;第一重启单元,用于根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,所述监控请求来自集抄主站,当监控到所述主进程假死或消失时,重新启动所述主进程;以及第二重启单元,用于控制所述主进程对所述辅进程进行监控,当监控到所述辅进程假死或消失时,重新启动所述辅进程。
7.如权利要求6所述的系统,其特征在于,所述主进程与所述辅进程采用共享内存的方式进行通信。
8.如权利要求6所述的系统,其特征在于,所述通信协议为国网协议《电力负荷管理系统数据传输规约》、广电规约或IEC62056规约。
9.如权利要求6所述的系统,其特征在于,所述集抄终端为集中器或智能电能表。
10.如权利要求6所述的系统,其特征在于,所述端口监听单元包括监听子单元,用于采用完成端口方式或EPOLL方式调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听。
全文摘要
本发明适用于电力系统通信领域,提供了一种前置机保持高速稳定运行的方法及系统,包括调用主进程对与集抄终端协商的通信协议中使用的通信端口进行监听;当监听到高并发数据处理请求时,将数据处理请求缓存到预先申请的内存池中,调用线程池中对应的线程处理内存池缓存的数据处理请求;根据从预设端口接收到的监控请求,控制辅进程对主进程进行监控,当监控到主进程假死或消失时,重新启动主进程;控制主进程对辅进程进行监控,当监控到辅进程假死或消失时,重新启动辅进程。本发明通过采用内存池、线程池技术处理来集抄终端的数据处理请求,同进,负责创建的主进程和辅进程互相守护,提高了前置机的数据处理能力,使得前置机上的数据处理系统更加稳定。
文档编号H04L12/26GK102387040SQ201110341688
公开日2012年3月21日 申请日期2011年11月1日 优先权日2011年11月1日
发明者张宗继, 曾小明, 邱胜 申请人:深圳市航天泰瑞捷电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1