一种实现跨网段实时采集的方法

文档序号:7766881阅读:252来源:国知局
专利名称:一种实现跨网段实时采集的方法
技术领域
本发明属于电力和通信技术领域,尤其涉及一种实现跨网段实时采集电能量信息 的方法。
背景技术
随着电力系统的改造,电力数据的采集将逐渐摒弃传统的人工抄表模式而采用远 程终端控制抄表方式,并将抄表数据通过GPRS/CDMA、以太网、电话线路、串口通道、230M等 方式传送到主站系统进行分析和应用,电力需求侧管理系统运营而生。为了方便的在主站 侧进行实时监测、控制用电情况,就必须确保主站侧的控制命令、数据请求能正常的发送到 终端。但是由于各地供电局对其服务器的安全防护的需要,将服务器机房和员工工作环境 分别配置在不同的网段,这导致了很多情况下员工工作站同后台前置机服务器之间不能直 接访问,因此需要一种方法来实现采集信息跨网段进行传递。

发明内容
本发明的目的在于提供一种实现跨网段实时采集电能量信息的方法,旨在解决电 力需求侧管理系统中实时采集模块和前置机之间的跨网段传输问题。解决上述技术问题的技术方案是一种实现跨网段实时采集电能量信息的方法, 包括以下步骤(1)以指定IP和端口的方式打开TCP服务和UDP通讯服务;(2启动实时采集模块,向打开的服务发起TCP连接;(3)实时采集模块组织采集终端命令请求帧并通过已建立的TCP通道发送;(4)通讯转发服务接收到实时采集模块发送的采集终端请求,并将该请求帧和接 收该帧数据的Socket通道一起存入解析缓冲区中等待解析;(5)通讯转发服务解析采集终端请求,获取主站模块编号,并记录下该主站模块编 号和Socket通道之间的对应关系;(6)通讯转发服务解析请求报文中包含的目标地址和端口,抽取出完整的主站通 讯协议帧数据,并将主站协议帧通过UDP通道发送到前置机;(7)前置机接收到终端应答数据帧,并通过UDP通道发送到通讯转发服务;(8)通讯转发服务接收到前置机转发的终端应答;(9)通讯转发服务解析终端应答得到目标主站编号,并获取该主站编号对应的 Socket 通道;(10)通讯转发服务将数据帧通过Socket通道发送给相应的实时采集模块。作为具体化,IP地址和端口通过XML文件实现配置;TCP服务用来接收外网实时采 集模块的信息,UDP服务和内网前置机服务进行通讯。作为具体化,实时采集模块运行在外网,位于各工作人员的PC机上;实时采集模 块启动顺序为
A、首先连接中间件,并通过EJB服务下载上述步骤(1)中配置的TCP服务IP地址 和端口,如果连接中间件失败或下载服务地址失败,则程序退出;B、向获取的TCP服务IP地址和端口发起连接,如果连接成功则,表示实时采集模 块启动成功,否则表示启动失败,该程序退出。作为具体化,实时采集模块组织采集终端命令请求帧包括以下步骤a、组织终端协议帧,按照《电力负荷管理系统数据传输规约》协议组织终端数据的 请求命令;b、组织主站协议帧,将步骤a中组织的终端协议帧作为数据区,封装到主站通讯 协议的数据区中;C、组织转发协议帧,将步骤b中组织的主站协议帧作为数据区,封装到转发通讯 协议的数据区中。作为具体化,获取主站模块编号的步骤为1)抽取请求帧的数据区,因为通讯转发服务收到的请求帧最外层是转发协议格式,由上述步骤( 可知其数据区是完整的主站协议帧;2)获取源主站模块编号,根据主站协议帧格式定义获取其源主站地址和目标主站 地址字段,其中源主站地址字段就是源主站编号。作为改进,通讯转发服务每接收到一个请求,都会执行上步骤1)和幻,每次都将 最新解析结果存储到一个Map映射表中,如果该Map中已经存在某个主站编号和某Socket 的对应关系,则直接用新的Socket替换原来的Socket。作为具体化,前置机在接收到终端的应答帧后的处理流程为i、根据《电力负荷管理系统数据传输规约》解析出终端地址和主站地址;ii、根据主站地址找到数据库中配置的对应工作站,如果工作站类型是定时采集 模块,则将终端应答组织成主站协议帧发送给对应的定时采集模块进行处理,如果是实时 采集模块则将终端应答组织成主站协议帧发送给通讯转发服务,前置机以UDP方式向目标 发送终端响应数据。作为具体化,获取Socket通道的步骤包括如下①、根据主站协议格式解析应答帧,得到目标主站地址,实际上就是请求帧中对应 的源主站地址;②、从存储主站地址与Socket对应关系的Map中根据步骤①所得目标主站地址检 索出对应的Socket通道。作为改进,所述主站通讯协议格式为起始字符(E8H) 1字节、源主站地址1字节、 目标主站地址1字节、起始字符(E8H) 1字节、控制域(C) 1字节、长度(L)2字节、帧序列域 (FIR, FIN, Pseq) 1字节、数据区(DATA)、结束字符(16H) 1字节。作为改进,通讯转发服务的转发协议格式为起始字符(0X38)1字节、转发目标 IP地址4字节、转发目标端口 2字节、保留字节2字节、转发数据长度2字节、转发数据内 容、结束字符(0X16)1字节。本发明的有益效果是充分利用了《电力负荷管理系统数据传输规约》中每帧报文 均包含有效完整信息的特性,巧妙地使用每帧报文中包含的主站地址来区分该命令应该转 发给哪个实时采集模块。本发明采用NIO技术实现底层数据的异步通讯,采用多线程技术协调各种任务并发有序进行,能接受多个不同的实时采集模块同时和终端进行通讯转发, 有效的解决了电力需求侧管理系统跨网段通讯的难题,降低了系统的建设成本。


图1是本发明实施例提供的电能量信息采集系统结构示意图;图2是本发明实施例提供的通讯转发服务的跨网段工作流程示意图;图3是本发明实施例提供的电能量采集系统实时采集系统结构示意图;图4是本发明实施例提供的通讯转发服务协议结构示意具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。本发明实施例是这样实现的,如图2所示,一种实现跨网段实时采集电能量信息 的方法,所述方法包括以下步骤(1)以指定IP和端口的方式打开TCP/UDP服务;IP地址和端口通过XML文件实现 配置,其中TCP服务所配置的IP地址和UDP服务所配置的IP地址相同或不同。所述的TCP 服务是用来接收外网实时采集模块的信息,UDP服务和内网前置机服务进行通讯的,因此, TCP服务对应的IP地址是通讯转发服务所在机器的外网段IP,UDP服务是通讯转发服务所 在机器的内网段IP。如果通讯转发服务安装在单网卡的机器上,则上述两个IP地址配置相 同,如果通讯转发服务安装在多网卡机器上,且其中一个网卡的IP地址和内网处于相同网 段,另一个和外网处于相同网段,则TCP服务对应的IP应配置成外网段的IP,UDP服务应配 置成内网段的IP。(2)启动实时采集模块,向打开的服务发起TCP连接;实时采集模块运行在外网, 位于各工作人员的PC机上。实时采集模块启动顺序为A、连接中间件,并通过EJB服务下载步骤(1)中配置的TCP服务IP地址和端口, 如果连接中间件失败或下载服务地址失败,则程序退出;B、然后向获取的TCP服务IP地址和端口发起连接,如果连接成功则,表示实时采 集模块启动成功,否则表示启动失败,该程序退出。所述的实时采集模块负责终端和/或电能表实时数据的召测查看、各种终端参数 的设置、终端的负荷控制、电量控制等功能。该模块为客户端程序,安装于各用户的工作PC 上,可能和前置机等服务程序安装在同一网段,也可能不在同一网段。所述的中间件服务负责屏蔽程序模块对数据库的操作,以及作为EJB或TOB服务 的容器,用于部署各种EJB服务,本发明的通讯转发服务将会以EJB的方式发布并部署到该 中间件容器中。(3)实时采集模块组织采集终端命令请求帧并通过已建立的TCP通道发送;实时 采集模块组织采集终端命令请求帧包括以下步骤a、组织终端协议帧,按照《电力负荷管理系统数据传输规约》协议组织终端数据的 请求命令;
b、组织主站协议帧,将步骤a中组织的终端协议帧作为数据区,封装到主站通讯 协议的数据区中;C、组织转发协议帧,将步骤b中组织的主站协议帧作为数据区,封装到转发通讯 协议的数据区中。(4)通讯转发服务接收到实时采集模块发送的采集终端请求,并将该请求帧和接 收该帧数据的Socket通道一起存入解析缓冲区中等待解析;(5)通讯转发服务解析采集终端请求,获取主站模块编号,并记录下该主站模块编 号和Socket通道之间的对应关系;获取主站模块编号的步骤为1)、抽取请求帧的数据区,因为通讯转发服务收到的请求帧最外层是转发协议格 式,由步骤( 可知其数据区是完整的主站协议帧;2)、获取源主站模块编号,根据主站协议帧格式定义可获取其源主站地址和目标 主站地址字段,其中源主站地址字段就是源主站编号。通讯转发服务每接收到一个请求,都会执行上述步骤1)和2、,每次都会将最新解 析结果存储到一个Map映射表中,如果该Map中已经存在某个主站编号和某Socket的对应 关系,则直接用新的Socket替换原来的Socket,但是并不关闭原来的Socket,因为很可能 新的Socket和旧的Socket实际上是同一个通道。(6)通讯转发服务解析请求报文中包含的目标地址和端口,抽取出完整的主站通 讯协议帧数据,并将主站协议帧通过UDP通道发送前置机;根据转发协议的格式,能轻易的 获取目标地址和端口,这个目标地址实际上是该终端所对应前置机的IP地址和端口,因此 通讯转发服务能够直接将其数据区的主站协议帧通过UDP发送到该目标前置机。所述的前置机负责终端与主站其他模块之间的数据转发,使用多路复用器异步监 听维护各终端的连接,实现并发处理。(7)前置机接收到终端应答数据帧,并通过UDP通道发送到通讯转发服务;前置机 负责管理所有终端的通道,因此所有终端的应答都会首先到达前置机,前置机在接收到终 端的应答帧后的处理流程为i、首先根据《电力负荷管理系统数据传输规约》解析出终端地址和主站地址;ii、根据主站地址,即主站编号,找到数据库中配置的对应工作站,如果工作站类 型是定时采集模块,则将终端应答组织成主站协议帧发送给对应的定时采集模块进行处 理,如果是实时采集模块则将终端应答组织成主站协议帧发送给通讯转发服务,前置机以 UDP方式向目标发送终端响应数据。在将终端应答组织成主站协议帧时,步骤i中所述的主站地址实际上就是将要组 织的主站协议帧的目标主站地址。(8)通讯转发服务接收到前置机转发的终端应答,接收到应答后放入应答帧解析 缓冲区等待解析;(9)通讯转发服务解析终端应答得到目标主站编号,并获取该主站编号对应的 Socket通道;获取Socket通道的步骤包括如下①、根据主站协议格式解析应答帧,得到目标主站地址,实际上就是请求帧中对应 的源主站地址;②、从存储主站地址与Socket对应关系的Map中根据步骤①所得目标主站地址检索出对应的Socket通道。(10)通讯转发服务将所接收的数据帧通过Socket通道发送给相应的实时采集模 块;实时采集模块接收到终端的响应数据后就可以进行后续的数据分析处理了。

在本发明中,所述主站通讯协议格式为起始字符(E8H) 1字节、源主站地址1字 节、目标主站地址1字节、起始字符(E8H) 1字节、控制域(C) 1字节、长度(L) 2字节、帧序列 域(FIR, FIN, Pseq) 1字节、数据区(DATA)、结束字符(16H) 1字节。通讯转发服务的转发协议格式为起始字符(0X38)1字节、转发目标IP地址4字 节、转发目标端口 2字节、保留字节2字节、转发数据长度2字节、转发数据内容、结束字符 (0X16)1 字节。如图1所示,采集设备包括采集终端、集中器、采集器、网络表、电能表,在电能量 信息采集系统中称为采集对象。通信信道包括各网络运营商提供的无线通道,如GPRS/CDMA,还有光钎专网、230M 无线信道、电话线通道、串口通道。主站包括前置机、定时采集模块、实时采集模块、中间件、web应用模块,其中本发 明的方法主要用于主站对终端系统时间的查询。图3是本发明实施例提供的电能量采集系统实时采集系统结构示意图;从图中可 以看出,前置机有多个,可以称之为前置机服务群,该前置服务主要用来接受大量终端的连 接,避免主站的其他程序模块直接同终端进行通讯;同时也可以发现实时采集模块也有多 个,一般来讲,有多少工作人员使用就可能有多少个实时采集模块,也称为用户工作站;通 讯转发服务部署于前置服务群和用户工作站群两个网段之间的节点服务器上,保证该节点 服务器能同时和两个网段进行网络通讯;前置服务群和用户工作站群之间通过唯一的通讯 转发服务来进行两个不同网段之间的信息交互。图4是本发明实施例提供的通讯转发服务协议结构示意图,图中从左到右依次为 转发协议数据帧格式、主站通讯协议数据帧格式、终端通讯协议数据帧格式。本发明中终端 通讯协议采用的是国家标准《电力负荷管理系统数据传输规约》。综上所述,本发明采用NIO技术实现底层数据的异步通讯,采用多线程技术协调 各种任务并发有序进行,能同时接受多个不同的实时采集模块和终端进行通讯转发,有效 的解决了电能量信息采集系统跨网段通讯的难题,降低了系统的建设成本。借助通讯转发 服务,用户可以通过工作站对终端进行各种实时控制、采集、设置、召测等操作,进而实现错 避峰用电,保证居民用电的平稳,并使电网系统更加安全、可靠。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现跨网段实时采集电能量信息的方法,其特征在于,所述方法包括以下步骤(1)以指定IP和端口的方式打开TCP服务和UDP通讯服务;(2启动实时采集模块,向打开的服务发起TCP连接;(3)实时采集模块组织采集终端命令请求帧并通过已建立的TCP通道发送;(4)通讯转发服务接收到实时采集模块发送的采集终端请求,并将该请求帧和接收该 帧数据的Socket通道一起存入解析缓冲区中等待解析;(5)通讯转发服务解析采集终端请求,获取主站模块编号,并记录下该主站模块编号和 Socket通道之间的对应关系;(6)通讯转发服务解析请求报文中包含的目标地址和端口,抽取出完整的主站通讯协 议帧数据,并将主站协议帧通过UDP通道发送到前置机;(7)前置机接收到终端应答数据帧,并通过UDP通道发送到通讯转发服务;(8)通讯转发服务接收到前置机转发的终端应答;(9)通讯转发服务解析终端应答得到目标主站编号,并获取该主站编号对应的Socket 通道;(10)通讯转发服务将数据帧通过Socket通道发送给相应的实时采集模块。
2.根据权利要求1所述的一种实现跨网段实时采集电能量信息的方法,其特征在于 IP地址和端口通过XML文件实现配置;TCP服务用来接收外网实时采集模块的信息,UDP服 务和内网前置机服务进行通讯。
3.根据权利要求1所述的一种实现跨网段实时采集电能量信息的方法,其特征在于 实时采集模块运行在外网,位于各工作人员的PC机上;实时采集模块启动顺序为A、首先连接中间件,并通过EJB服务下载上述步骤(1)中配置的TCP服务IP地址和端 口,如果连接中间件失败或下载服务地址失败,则程序退出;B、向获取的TCP服务IP地址和端口发起连接,如果连接成功则,表示实时采集模块启 动成功,否则表示启动失败,该程序退出。
4.根据权利要求1所述的一种实现跨网段实时采集电能量信息的方法,其特征在于 实时采集模块组织采集终端命令请求帧包括以下步骤a、组织终端协议帧,按照《电力负荷管理系统数据传输规约》协议组织终端数据的请求 命令;b、组织主站协议帧,将步骤a中组织的终端协议帧作为数据区,封装到主站通讯协议 的数据区中;c、组织转发协议帧,将步骤b中组织的主站协议帧作为数据区,封装到转发通讯协议 的数据区中。
5.根据权利要求1所述的一种实现跨网段采集电能量的方法,其特征在于获取主站 模块编号的步骤为1)抽取请求帧的数据区,因为通讯转发服务收到的请求帧最外层是转发协议格式,由 上述步骤( 可知其数据区是完整的主站协议帧;2)获取源主站模块编号,根据主站协议帧格式定义获取其源主站地址和目标主站地址 字段,其中源主站地址字段就是源主站编号。
6.根据权利要求5所述的一种实现跨网段实时采集电能量信息的方法,其特征在于 通讯转发服务每接收到一个请求,都会执行上步骤1)和幻,每次都将最新解析结果存储到 一个Map映射表中,如果该Map中已经存在某个主站编号和某Socket的对应关系,则直接 用新的Socket替换原来的Socket。
7.根据权利要求1所述的一种实现跨网段实时采集电能量信息的方法,其特征在于 前置机在接收到终端的应答帧后的处理流程为i、根据《电力负荷管理系统数据传输规约》解析出终端地址和主站地址;ii、根据主站地址找到数据库中配置的对应工作站,如果工作站类型是定时采集模块, 则将终端应答组织成主站协议帧发送给对应的定时采集模块进行处理,如果是实时采集模 块则将终端应答组织成主站协议帧发送给通讯转发服务,前置机以UDP方式向目标发送终 端响应数据。
8.根据权利要求1所述的一种实现跨网实时采集电能量信息的方法,其特征在于获 取Socket通道的步骤包括如下①、根据主站协议格式解析应答帧,得到目标主站地址,实际上就是请求帧中对应的源 主站地址;②、从存储主站地址与Socket对应关系的Map中根据步骤①所得目标主站地址检索出 对应的Socket通道。
9.根据权利要求1所述的一种实现跨网实时采集电能量信息的方法,其特征在于所 述主站通讯协议格式为起始字符(E8H) 1字节、源主站地址1字节、目标主站地址1字节、 起始字符(E8H) 1字节、控制域(C) 1字节、长度(L) 2字节、帧序列域(FIR, FIN, Pseq) 1字 节、数据区(DATA)、结束字符(16H) 1字节。
10.根据权利要求1所述的一种实现跨网段实时采集电能量信息的方法,其特征在于 通讯转发服务的转发协议格式为起始字符(0X38)1字节、转发目标IP地址4字节、转发 目标端口 2字节、保留字节2字节、转发数据长度2字节、转发数据内容、结束字符(0X 16) 1 字节。
全文摘要
一种实现跨网段实时采集电能量信息的方法,包括以下步骤(1)打开TCP和UDP服务(2)启动实时采集模块,(3)实时采集模块组织采集终端命令请求帧;(4)通讯转发服务接收到采集终端请求;(5)通讯转发服务解析采集终端请求,获取主站模块编号;(6)通讯转发服务解析请求报文中包含的目标地址和端口;(7)前置机接收到终端应答数据帧,并通过UDP通道发送到通讯转发服务;(8)通讯转发服务接收到终端应答;(9)通讯转发服务解析终端应答得到目标主站编号;(10)通讯转发服务将数据帧通过Socket通道发送给相应的实时采集模块。本发明有效的解决了电力需求侧管理系统跨网段通讯的难题,降低了系统的建设成本。
文档编号H04L29/08GK102055814SQ20101056529
公开日2011年5月11日 申请日期2010年11月25日 优先权日2010年11月25日
发明者沈祥 申请人:深圳市科陆电子科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1