0 引言
电力网供电长期以来依靠人力对商业用电和生活用电数据进行抄读,效率极其低下。抄表数据统计主要依靠人力,报表生成周期长,统计结果分析慢,获得结果不能及时反映系统用电量需求分布,对供应系统的网络优化没有参考价值,严重限制了供电系统的供电效率和质量的提高。
传统抄表方式依靠人力抄表,电表数据抄取周期较长,无法获得同一时刻所有用户的电表数据,使得电表数据的获取具有不精确性和时间段的模糊性,导致电网用电量的时空分布结果可信度不高,从而无法给供电管理部门提供有效的参考数据和建议。
自动抄表系统是供电系统监管部门用来对工业和生活用电进行监测、管理和控制,以及对用户用电情况进行统计、分析的重要手段。本文提出了将GPRS通讯技术与J2EE技术相结合的方案应用到自动抄表系统的设计中,构成了网络化的远程自动抄表系统。在底层硬件设计中,采用一种基于通用分组无线业务 GPRS(General Packet Ratio Service)无线上网技术的自动数据采集方案。在上层软件设计中,采用美国Sun公司推出的J2EE(Java 2 Platform,Enterprise Edition)平台。该产品已应用在实际抄表系统中,效果良好。
1 系统的整体结构及工作原理
1.1 系统的组成
图1是系统总体设计方案。系统由五部分组成:GPRS数据采集模块、通信服务器、数据库服务器、Web服务器、客户端。
GPRS数据采集模块:它是系统的硬件主要部分。GPRS模块上电后拥有一个动态的IP地址,可以与通信服务器进行Socket通信。它的功能就是将检测到的电能流量以十六进制数据格式发送给通信服务器。GPRS终端也可以接受来之通信服务器的命令。
通信服务器:它打开服务器的某一端口,监听并接受所有GPRS终端向该端口发送的UDP数据包,然后将数据包解析成流量等数据,写进数据库中。通讯服务器的另一任务是向GPRS终端发送命令的任务,即向GRPS终端发送UDP数据包。
数据库服务器:通信服务器从GPRS终端获得的数据都存储在数据库服务器上,同时数据库服务器还需对数据进行备份。
Web服务器:它连接着数据库服务器和客户端。首先它向客户端提供Web服务。响应来之客户端的请求,并根据客户端的请求向数据库服务器获取数据,然后再将数据以html格式返回给客户端,使得客户端可以浏览它所请求的数据。Web服务器还可以直接向通信服务器提出请求,通信服务器根据Web服务器的请求向GPRS终端发送命令。
客户端:它采用瘦客户端,只需要一个Internet浏览器即可。客户端的任务就是向Web服务器发出http请求,然后将Web服务器返回的ht-ml格式文件显示给用户。
1.2 系统的功能
系统的功能有:查看历史数据,读取实时或整点数据。
查看历史数据:客户端根据自己的需求,要求查看历史上某一段数据的请求,该请求经过Web服务器转送给数据库服务器,数据库服务器将数据经过Web服务器转接以html格式返回给客户端。
读取实时或整点数据:客户端要求读取实时或整点数据请求,Web服务器根据请求来通知通讯服务器,然后由通讯服务器通知GPRS数据采集模块,GPRS数据采集模块通过GPRS网络向通讯服务器发送数据包。当通讯服务器收到数据包时,将数据包解析成流量参数写到数据库服务器中,然后由数据库服务器将数据发送给Web服务器,然后由Web服务器将数据以html格式返回给客户端。
2 GPRS通信模块的设计及其功能
第2.5代通讯技术GPRS(Geneal packet Radio Service,通用分组无线业务)作为第三代通讯技术的前奏,GPRS技术是在现有GSM技术基础上发展而来的一种新的分组交换的数据承载业务,由英国 BTCellent公司在1983年提出。GSM技术主要以提供话音业务为主,而GPRS技术在移动终端与计算机通信网络的路由器之间提供了分组传递业务,这就是GPRS网络与GSM网络的最大区别。
GPRS把分组交换技术引入现有GSM系统,为移动用户和数据网络之间提供语音通信。GPRS采用分组交换技术,主要提供非语音的数据业务,特别适用于间断的、突发性的和频繁的、少量的数据传输,给移动用户提供高速无线IP和x.25服务。GSM网络采用电路交换的方式,也适用于偶尔的大数据量传输。
本系统就是利用GPRS的分组无线业务,通过无线网络连接到现场的自动抄表装置上进行数据测量。
在系统中,关键之一是网络协议的选择。目前有两种协议,即TCP协议和UDP协议。UDP协议与TCP协议相比较,有以下几个优点:适用于小数据量的传输;使用方便,不需要建立连接,是一种无连接的通讯方式;传输数据的效率高,实时性强。
考虑到UDP上述特点以及流量测量系统对实时性的高要求,本系统采用了UDP协议。
3 系统硬件设计
电能流量测量设备有两种工作方式:一是按事先设定好的时间间隔,周期性地采集用户数据,实时地传送到数据库服务器;二是实时地响应来自于通信服务器的控制命令,按照控制命令进行特定的数据采集任务。这就要求作为数据传输模块和终端设备控制模块的GPRS终端能够实时地解析、处理各种控制命令并向数据传输服务提供尽可能大的吞吐率。另外考虑到系统的可扩展性,本系统硬件设计时没有采用传统的低成本但是高开发费用且性能、功能受限制的单片机加GPRS通讯模块的方案,而是使用了以高性能嵌入式CPU芯片为核心的设计方案。GPRS数据传输终端的硬件组成和连接如图2所示。CPU采用了专为网络解决方案设计的 Samsung ARM7 4510B。GPRS模块采用目前比较流行的西门子MC35系列模块。
传输终端的软件采用了以嵌入式实时操作系统为平台、自主知识产权的网络组件为核心的体系结构。操作系统选用了μclinux。μclinux最大的特点就是没有MMU,很适合ARM嵌入式微处理器。该μclinux的内核版本是Linux 2.4,它具备完整的嵌入式TCP/IP网络协议栈,操作系统所有代码加起来编译后的镜像文件小于1 MB。
该系统以数字信号处理器DSP为核心,采用交流取样技术,可以连续地检测和统计电量的有关参数。
抄表数据终端起着管理和协调GPRS网络和仪表数据通信的作用。由于无线传输是基于GPRS的,所以抄表数据传输终端也可以称为GPRS终端,要完成硬件和软件的设计。抄表终端的硬件设计一般都会选用世界知名厂商生产的GPRS模块作为抄表终端与GPRS网络连接的中间件,实现同基站空中接口的连接,选用高速微处理器连接仪表和GPRS模块,处理两者间的数据通信问题。
4 系统软件设计
4.1 B/S结构
目前软件结构设计模式主要有两大类:一是传统的Client/Server(客户端/服务器)模式,它采用Intranet技术,适用于局域网环境可连接用户数有限,当用户数量增多时,性能会明显下降,客户端都要安装。一是正在不断发展的Browser/Server(浏览器/服务器)模式,
它采用Internet/Intranet技术,适用于广域网环境,支持更多的客户,可根据访问量动态配置Web服务器、应用服务器,以保证系统性能。客户端只需要标准的Internet浏览器。 由于运行该系统的物理平台的复杂性,例如不同设备的操作系统、数据库服务器等都具有相异性,各种专业网络都有各自不同的网络架构和实现方式,因此必须选择能够较好支持跨平台开发的运行环境进行设计。此外,考虑到使用该系统的人员具有广泛性,依据不同的权限随时可以查看该系统的详细情况,若仍完全采用传统的固定C/S模式,就必须严格对每个客户端进行参数设置,这显然是不可取的。
系统的软件设计采用以Web技术为基础,以浏览器/服务器即B/S为体系结构的方案。B/S模式与传统的C/S模式相比,优点在于:主要工作是服务器端程序的开发。服务器主要负责开发、维护网上的内容与资源,负责信息的收集、存储、发布,不存在客户端程序的开发和维护。客户端直接利用现有的局域网或 Internet连接,不需要特殊设置和安装,使用标准的Internet浏览器,直接访问专用Web服务器页面,就可观看监测和分析电能质量的实时数据,并能查询所需历史数据。
4.2 系统运行环境与工具的选择
考虑到系统的移植性和跨平台性,本系统选择了Sun公司设计开发的J2EE平台,使用JSP(Java Server Pages)作为B/S模式的开发工具。J2EE(Java 2 Platform Enterprise Edition)是一个适用于企业级计算的支持多层、分布式应用的全新概念的Java平台,它为搭建具有可伸缩性,灵活性、易维护性的企业信息系统提供了良好的机制,与传统的互联网应用程序模型相比有着不可比拟的优势。J2EE主要面向网络应用,它定义了一系列规范的标准,使得Java程序员能够共同的遵照这个标准,开发大型面向网络的项目。它同时提供了庞大的开发库,是面向电子商务开发的企业级应用平台。Java具有“编写一次,到处运行”的特性,能够通过JDBC方便连接各类数据库,调用各类API,同时在Internet应用中保护数据的安全模式等。总结该系统的平台解决方案如下:
计算模式:三层B/S模式;网络操作系统:Windows2000 Server;数据库服务器:Oracle 8i;Web服务器:Apache Tomcat 5.O;数据库驱动接口:JDBC驱动;主要的开发环境及工具:J2EE,Java,JSP,Javascript。
4.3 连接池(Connection Pool)机制
程序的效率问题在JSP编程过程中是很重要的,即要考虑如何使有限的计算机系统资源为更多的客户提供更好的服务,保证客户的响应速度和服务质量。如果有很多人访问该网站,每一次Web请求都需要与数据库建立一个连接,那么数据库就有可能要同时处理许多建立连接的请求,这对于数据库服务器和 Web Server来说是一个很严重的负担,甚至会导致资源耗尽而死机。
本系统使用连接池机制来解决这个问题。连接池最基本的思想就是预先建立一些连接放置于内存对象中以备使用。当程序中需要建立与数据库的连接时,只需到连接池中读取即可,不需新建连接。当程序不需该连接时,只要将该连接放回到连接池中,以便其他程序或用户使用。同时连接池机制对于位于池中的连接具有管理的功能,增加了与数据库连接的强壮性。
4.4 数据库的远程管理
数据库内容包括:现场流量参数的实时数据、历史数据、不合格数据、人员的管理、权限的管理等。
数据库远程管理按照如下流程来实现:
(1)客户端发出数据的查询或修改指令;
(2)服务端接收指令,向客户端返回结果;
(3)客户端接收结果,显示查询数据。
当客户端请求查看实时数据的时候,客户端向服务器发出请求,服务器每隔2 s就将实时数据发送给客户端,客户端接收并显示该数据。该过程就是一个典型的数据库远程管理过程。传统的技术是页面不断刷新,来获取新的数据,以便让用户看到不断变化的实时数据。但该方法的缺点一是当数据量较大时,占用服务器资源的消耗大;二是用户能明显感到页面的不断刷新,对用户视觉和听觉都有很大影响。本系统采用了Microsoft开发的xmlhttp技术,它是Microsoft xml解析器(MSXML)中的一个客户/服务通讯管道协议。运用xmlhttp可以简单方便地实现数据库远程管理。由于其传送的是XML格式的数据,大大减轻了对服务器的消耗,而且采用xmlhttp协议,可以实现页面无刷新更新数据,使界面更加友好。
5 结语
本系统在硬件上采用了GPRS通信模块,软件上采用B/S模式,开发工具采用了Sun公司提供的J2EE平台,完成了系统的设计。它可以对现场电能流量进行远程、实时、直观地监测和分析。较之其他系统来说,具有远程监控、客户端免维护、服务器端易维护、系统安全可靠、操作简单方便等优点。该产品已应用在实际抄表系统中,效果良好。