资源描述
OPEN3000 SVG-WEB浏览系统
使用手册
国电南瑞科技股份有限公司
二零零九年十二月
前言
OPEN3000 SVG-WEB软件主要是为了满足用户的方便,提供给用户以浏览器的方式查看OPEN3000,该软件不仅提供了浏览查看OPEN3000画面,而且还能使用告警浏览、曲线浏览功能以及报表浏览功能
该软件前端采用SVG、javascript、ajax、DOM技术,中间层采用java servlet技术(servlet容器采用流行的tomcat软件),后台服务使用C++,做到了层次分明,很好地适应了各平台的需求,目前基本支持各个主流的平台。
目录
第一章 系统概述-------------------------------------------------------------(4)
1、 客户端软件配置说明--------------------------------------------------------------------------(4)
1.1、客户端配置文件说明-------------------------------------------------------------------------(4)
1.1.1、tomcat目录/conf/----------------------------------------------------------------------------(4)
1.1.2、tomcat目录/webapps/svg/js----------------------------------------------------------------(4)
1.2、下载安装SVG-Viewer------------------------------------------------------------------------ (4)
1.3 tomcat的监管-----------------------------------------------------------------------------------(4)
2、服务端软件配置说明----------------------------------------------------------------------------(4)
2.1、三个系统进程说明-----------------------------------------------------------------------------(5)
2.2、对三个系统进程的监管-----------------------------------------------------------------------(5)
第二章 系统界面功能使用说明--------------------------------------------(6)
1.权限控制------------------------------------------------------------------------------------------(6)
1.1、成员登录----------------------------------------------------------------------------------------(6)
2.画面浏览------------------------------------------------------------------------------------------(6)
2.1、入口及工具栏按钮介绍----------------------------------------------------------------------(7)
2.2画面浏览中的主要功能-------------------------------------------------------------------------(8)
3.曲线浏览------------------------------------------------------------------------------------------(19)
3.1、入口及工具栏按钮介绍----------------------------------------------------------------------(19)
4.告警浏览------------------------------------------------------------------------------------------(24)
5.报表浏览------------------------------------------------------------------------------------------(24)
6.辅助功能------------------------------------------------------------------------------------------(24)
第一章 系统概述
OPEN3000 SVG-WEB系统主要是提供给用户以浏览器方式方便浏览OPEN3000的一些功能。主要功能有OPEN3000画面浏览,告警浏览,曲线浏览,报表浏览功能。还提供了一些辅助功能:如权限控制等
该软件包主要分客户端软件和服务器端软件组成。
下面就对客户端软件和服务器端软件配置进行详细说明:
1、客户端软件配置说明
客户端软件由tomcat软件支撑,具体配置目录在~/tomcat/conf中
1.1、 客户端配置文件说明
1.1.1、~tomcat/conf/
文 件 名
内容
备注
server.xml
此文件中可以配置服务端口号、可以设置允许登录、限制登陆ip、可以设置不活动用户超时时间
1.1.2、~tomcat/webapps/svg/js/
文 件 名
内容
备注
Common.js
此文件可以用来设置浏览器显示时的一些初始参数
1.2、下载安装SVG-Viewer
由于软件前端实现是基于svg技术的,svg图形的渲染需要svg-viewer插件的支持,所以客户端浏览器必须安装svg-viewer插件,才可以正常使用。
1)用户打开IE浏览器,在地址栏内输入http://IP:端口号(一般是8000)/svg/,即可进入系统登陆界面,这时按照浏览器提示安装svg-viewer插件即可,下载和安装过程是一键自动进行的,安装完毕即可点击登录
1.3、tomcat的监管
Web_monitor进程监管tomcat,它每三分钟telnet一次tomcat的8000端口,如果没有收到响应,则重启tomcat服务
2、服务器端软件配置说明
2.1、三个系统进程说明
进程名
功能简述
备注
svg_exp_server
该进程实时监测系统是否有图形更新操作,一旦图形更新,就将图形导成svg格式文件存本地
该进程的启动需要DISPLAY环境变量的支持,无法在字符终端上启动
svg_priv_server
该进程实时监测客户端浏览图形的请求,判断该请求是否合法,是否对其响应别名图形
svg_color_server
该进程实时监测客户端浏览的图形,对其进行着色处理
该进程的启动需要DISPLAY环境变量的支持,无法在字符终端上启动
2.2、系统监管进程
三个后台服务进程均由系统管理模块提供监管第二章 系统界面功能使用说明
系统界面主要功能有:图形浏览,曲线浏览,告警浏览、报表浏览。除了这些主要功能外,还提供了权限控制功能,权限控制功能主要包括成员登录、客户端IP允许及限制、图形别名机制。
下面从权限控制开始介绍。这里认为第一章的相关进程全部正常运行。
1.权限控制
1.1、成员登录
当用户打开IE浏览器时,在浏览器地址栏内输入http://IP:端口号/svg/(端口号一般指定为8000),即出现了登录的主界面。
用户输入用户名和密码后,点击登录按钮,若用户名和密码均有效,则用户可正常登录到OPEN3000功能主界面网页。否则,会提示“用户登录失败,请重新登录”。
图 1 用户登录
如果勾选“记住我的用户名和密码,下次自动登录”,则只需在第一次访问web时需要输入用户名密码,以后再访问web时,则会自动切换进入浏览主画面
现SVG-WEB已经支持中文用户名登录
2.画面浏览
2.1、入口及工具栏按钮介绍
界面入口:在OPEN3000登录界面正常登陆之后,即可自动进入OPEN3000画面浏览界面,如下图所示。
界面功能:画面浏览界面上主要提供了:返回登录页面、返回主页、后退、前进、刷新、切换到电压等级色、切换到接线图模式、显示全图、保持纵横比例、放大、缩小、区域放大、保存区域、取消拖放、图形拖放、改变层面、隐藏有功、隐藏无功、隐藏电流、曲线历史状态、前一天曲线、后一天曲线、设置功能。
另外,右端还提供了设为主页、加入收藏和联系我们三个功能按钮
界面功能的按钮图如下图所示:
下面就这些功能详细介绍:
1)返回登录页面:直接切换至WEB系统登陆页面;
2)返回主页:直接切换至WEB系统主画面;
3)后退:切换至至上一幅浏览画面;
4)前进:切换至下一幅浏览画面;
5)刷新:刷新当前浏览画面;
6)切换到电压等级着色:前端使用电压等级颜色对图元进行着色(默认使用拓扑着色);
7)切换到接线图模式:前端使用接线图模式显示图形(默认使用潮流图模式);
8)显示全图:如使用放大或者缩小功能之后,可使用显示全图来浏览整个画面;
9)放大:对当前图形放大,每次幅度约30%
10)缩小:对当前图形缩小,每次幅度约30%;
11)区域放大: 仅对画面上某一指定区域做放大处理。
12)保存区域:如果某一画面过大,而用户只对该画面的某一区域感兴趣,可以对该区域做区域放大之后再保存区域,这样下一次切换到该图时就直接展示该区域的放大图形;
13)取消拖放:在使用鼠标拖放功能之后,可以取消该功能;
14)图形拖放:如果一幅画面较大,可以放大该图,然后使用图形拖放功能浏览该图形的各个部分;
15)改变层面:一幅画面可能有多个层面,可以使用该功能按钮浏览某些指定层面
16)隐藏有功:不显示画面上的有功值
17)隐藏无功:不显示画面上的无功值
18)隐藏电流:不显示画面上的电流值
19)曲线历史状态、前一天曲线、后一天曲线:这三个按钮都是针对图形上的曲线图元设置的,可以查看任意一天的曲线历史值,也可以查看该日期之前一天、后一天的曲线历史值
20)设置:设置按钮提供里一个友好的界面,让用户根据自己的浏览习惯选择配置,如 下图所示
2.2、画面浏览中的主要功能
SVG-WEB支持除历史列表、仪表盘、实时曲线等少数图元以外的所有图元,也提供了一部分设备右键菜单功能,整体图形浏览如下
1、 交流线段的右键菜单提供了参数检索和切换到对端厂站功能,如下图
其中参数检索功能显示如下
切换到对端厂站功能顾名思义,点击之后画面会切换到对端的厂站
如下图
2、 变压器的右键菜单提供了参数检索功能,如下图
其中参数检索功能显示如下
3、 母线的右键菜单提供了参数检索功能,如下图
参数检索功能显示如下
4、 开关的右键菜单提供了参数检索、前置信息功能,如下图
其中参数检索功能显示如下
其中前置信息功能显示如下
5、 遥测的右键菜单提供了参数检索、前置信息、今日曲线功能,如下图
其中参数检索功能显示如下:
其中前置信息功能显示如下
今日曲线功能详见曲线浏览部分
7、 支持饼图的展示,如下图
8、 支持棒图的展示,如下图
9、 支持日曲线图元的展示、如下图
A 提供了横向虚线网格,使浏览曲线更加明了
B 坐标值自适应,溢出量程之后自行计算坐标,无需人工调整
C 可同时显示多条曲线
D 可突出显示曲线中的“极值”信息
10、支持列表图元的展示,如下面
A、SVG-WEB中列表图元现已支持域名的多级引用
B、 SVG-WEB中列表图元现已支持“大于”、“大于等于”、“小于”、“小于等于”、“LIKE”
等高级检索条件
C、SVG-WEB中列表图元现已支持只显示用户指定个数的记录数
D、SVG-WEB中列表图元支持滚动条
11、部分支持仪表盘图元的展示,如下图
A 仪表盘图元的完全实现还有赖于进一步开发
12、支持设备、间隔置牌的展示,如下图
13、支持wams应用的展示,如下图
14、为照顾2000系统用户的使用习惯,提供了整体的图形浏览、报表浏览、告警浏览的入口界面, 如下图
15、为方便与MIS系统的互连,WEB模块现已提供了对单点登陆的支持
3.曲线浏览
3.1、入口及工具栏按钮介绍
界面入口:本系统提供了两种曲线浏览的入口,可以直接浏览在画面里面定义的曲线图元,也可以右键点击动态数据,在右键菜单里面点击“今日曲线”浏览该动态数据的历史值。下面分别作介绍
一、 在浏览曲线画面时,点击工具栏上的历史曲线状态,弹出如下对话框,选择
历史日期,就可以浏览当天的历史曲线,点击工具栏上的“前一天”、“后一天”,就可以浏览对应时间段的曲线值,如下图
二、 在动态数据上点击右键,弹出右键菜单,选择今日曲线,就可以浏览今天的曲线,
如下图
在该曲线控件的上方也是一排工具栏按钮,分别是“刷新”、“时曲线”、“日曲线”、“周曲线”、“月曲线”、“年曲线”、“向后”、“向前”、“选择日期”、“表格显示”、“管理工具”、
点击“时曲线”,显示当前一小时内的历史数据,如下图所示
点击“周曲线”,显示当前一周内的历史数据,如下图所示
点击“月曲线”,显示当前一个月内的历史数据,如下图所示
点击“年曲线”,显示今年内的历史数据,如下图所示
在日曲线的状态下,点击“选择日期”,可以浏览指定日期的当日历史曲线,如下图所示
这时,还可以选择“向前”、“向后”浏览前一天或者后一天的曲线
选择“表格显示”,将以表格的方式展示曲线的历史值,如下图所示
另外曲线浏览还通过“管理工具”提供了一个历史数据查询界面,通过选择厂站和设备表,能查询所有的采样数据,如下图所示
4.告警浏览
5. 报表浏览
6.辅助功能
1、成员登录 支持免输入用户名和密码登陆、支持中文用户名登录 ,如下图
2、客户端IP允许及限制机制
可以应客户要求只允许某指定IP、某指定IP段的地址才能访问web,其余的 IP段地址不允许访问。也可以禁止某一指定IP、某一指定IP段的地址不能访 问web,其余的IP段地址都允许访问,也可以把这两种规则结合起来使用
3、图形别名机制
对于某些图形,可以指定不开放给某些特定用户浏览,当这部分用户请求这些 图形时,系统将返回给他指定的别名图
附录资料:
Ehcache缓存配置
简介
Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。
你可以将Cache的配置从代码中剥离出来,也可以在使用运行时配置,所谓的运行时配置无非也就是在代码中配置。以下是运行时配置的好处:
· 在同一个地方配置所有的Cache,这样很容易管理Cache的内存和磁盘消耗。
· 发布时可更改Cache配置。
· 可再安装阶段就检查出配置错误信息,而避免了运行时错误。
本文将会对ehcache.xml配置文件进行详细的阐述。在配置的时可以拷贝一个现有的ehcache.xml,如果没有请点击这里去下载。
ehcache-failsafe.xml
如果你调用了CacheManager默认构造方法去创建CacheManager的实例,此方法会到classpath中找ehcache.xml文件,否则它会到类路径下找ehcache-failsafe.xml文件。而ehcache-failsafe.xml被包含在jar包中,所有它肯定能找的到。
ehcache-failsafe.xml提供了一个非常简单的默认配置,这样可以使用户在没有创建ehcache.xml的情况下使用Ehcache。
不过这样做Ehcache会提醒用户创建一个正确的Ehcache配置。
ehcache.xml片段:
<ehcache>
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
</ehcache>
ehcache.xml和其他配置文件
在Ehcache-1.6之前的版本,只支持ASCII编码的ehcache.xml配置文件。在Ehcach-1.6之后版本中,支持UTF8编码的ehcache.xml配置文件。因为向后兼容,所有采用ASCII编码的配置文件完全没有必要转换为UTF8。
一个CacheManager必须要有一个XML配置。由于磁盘路径或是监听端口,多个CacheManager使用同一个配置文件时会出现错误。
下面是ehcache.xml具体实例以及配置指南
<ehcache xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
· CacheManager配置
DmulticastGroupPort=4446,这样可以配置监听端口。
· DiskStore配置
如果你使用的DiskStore(磁盘缓存),你必须要配置DiskStore配置项。如果不配置,Ehcache将会使用java.io.tmpdir。
diskStroe的“path”属性是用来配置磁盘缓存使用的物理路径的,Ehcache磁盘缓存使用的文件后缀名是.data和.index。
<disStore path=”java.io.tmpdir”/>
· CacheManagerEventListener配置
我们通过CacheManagerEventListenerFactory可以实例化一个CacheManagerPeerProvider,当我们从CacheManager中added和removed Cache时,将通知CacheManagerPeerProvider,这样一来,我们就可以很方面的对CacheManager中的Cache做一些统计。
注册到CacheManager的事件监听类名有: adding a Cache和removing a Cache
<cacheManagerEventListenerFacotory class=”” properties=””/>
· CacheManagerPeerProvider配置
在集群中CacheManager配置CacheManagerPeerProviderFactory创建CacheManagerPeerProvider。具体的实例如下:
<cacheManagerPeerProviderFactoryclass="net.sf.ehcache.distribution.
RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual, rmiUrls=//server1:40000/sampleCache1|//server2:40000/sampleCache1| //server1:40000/sampleCache2|//server2:40000/sampleCache2"
propertySeparator="," />
· CacheManagerPeerListener配置
CacheManagerPeerListener配置是用来监听集群中缓存消息的分发的。
<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=fully_qualified_hostname_or_ip,
port=40001,
socketTimeoutMillis=120000"
propertySeparator="," />
· Cache配置
· name:Cache的唯一标识
· maxElementsInMemory:内存中最大缓存对象数。
· maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大。
· eternal:Element是否永久有效,一但设置了,timeout将不起作用。
· overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中。
· timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
· timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大。
· diskPersistent:是否缓存虚拟机重启期数据。(这个虚拟机是指什么虚拟机一直没看明白是什么,有高人还希望能指点一二)。
· diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
· diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
· memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。这里比较遗憾,Ehcache并没有提供一个用户定制策略的接口,仅仅支持三种指定策略,感觉做的不够理想。
· Cache Exception Handling配置
<cacheExceptionHandlerFactory class="com.example.ExampleExceptionHandlerFactory" properties="logLevel=FINE"/>
总结
这里只对通用缓存的配置做了详细的阐述,至于RMI缓存和集群缓存可以参考这里。
下面给出几个配置示例:
· Ehcache默认Cache配置
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
· SampleCache1配置
简单配置,在ehcache.xml文件中有此配置,在使用Ehcache前最好将其删除掉,自己配置。
缓存名sampleCache1,内存中最多可缓存10000个Element,其中的element会在闲置5分钟或是存活10分钟之后失效。
超过10000element时,element将会输出到磁盘中,输出路径是java.io.tmpdir。
<cache name="sampleCache1"
maxElementsInMemory="10000"
maxElementsOnDisk="1000"
eternal="false"
overflowToDisk="true"
diskSpoolBufferSizeMB="20"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU"
/>
· SampleCache2配置
Cache名为SampleCache2,内存中最多可以缓存1000个element,超出1000不能输出到磁盘中。缓存是永久有效的。
<cache name="sampleCache2"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
memoryStoreEvictionPolicy="FIFO"
/>
· SampleCache3配置
Cache名为SampleCache3。可缓存到磁盘。磁盘缓存将会缓存虚拟机重启期的数据。磁盘缓存失效线程运行间隔时间是10分钟。
<cache name="sampleCache3"
maxElementsInMemory="500"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
diskPersistent="true"
diskExpiryThreadIntervalSeconds="1"
memoryStoreEvictionPolicy="LFU"
/>
· sampleDistributedCache1配置
Cache名为sampleDistributedCache1。
<cache name="sampleDistributedCache1"
maxElementsInMemory="10"
eternal="false"
timeToIdleSeconds="100"
timeToLiveSeconds="100"
overflowToDisk="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
<bootstrapCacheLoaderFactory
class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"/>
</cache>
· sampleDistributedCache2配置
<cache name="sampleDistributedCache2"
maxElementsInMemory="10"
eternal="false"
timeToIdleSeconds="100"
timeToLiveSeconds="100"
overflowToDisk="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicateAsynchronously=false, replicatePuts=false,
replicateUpdates=true, replicateUpdatesViaCopy=true,
replicateRemovals=false"/>
</cache>
· sampleDistributedCache3配置
<!--
Sample distributed cache named sampleDistributedCache3.
This cache replicates using defaults except that the asynchronous replication
interval is set to 200ms.
-->
<cache name="sampleDistributedCache3"
maxElementsInMemory="10"
eternal="false"
timeToIdleSeconds="100"
timeToLiveSeconds="100"
overflowToDisk="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="asynchronousReplicationIntervalMillis=200"/>
</cache>
37
展开阅读全文