1.2乙方为甲方提供机房物理环境以100兆共享带宽不限流量与连接,并保证主机与外部连接的安全性、稳定性、及时性,使甲方可以通过远程对服务器进行管理,或者乙方在甲方授权后的情况下,协助甲方对服务器进行一定的管理和硬件的添置。
2.1.1甲方利用服务器进行以www为主的信息服务,同时可以配置和使用Email、FTP、等功能和数据库,可以安装甲方需要的软件。
2.1.4如果甲方利用本合同服务进行的经营、活动需要获得国家有关部门的认可或批准的,甲方应获得该有关的认可或批准。但乙方没有义务审查甲方是否具有该认可或批准,出现问题也由甲方自行解决或者承担相关责任,与乙方无关。
2.1.6甲方对使用服务器所引起的任何经济、政治、法律等责任负完全责任。甲方同意,如发生上述事件,与乙方没有任何关系,乙方也不应对此或对第三方承担任何责任或者义务。
2.1.8甲方应向乙方提交甲方执行本合同的联系人和所有管理甲方网络、设备和服务器的人员名单和联系方式,并在上述信息发生变化时及时通知乙方。甲方在乙方需要时应提供必要的协助,因甲方以上人员(包括已经离开甲方的甲方原雇员)的行为或者不作为而产生的后果均由甲方承担。
2.1.9除非双方另有书面约定,甲方承认乙方向甲方提供的任何资料、软件、数据等的权利属于乙方,甲方无权复制、传播、转让、许可或提供他人使用这些资源,否则应承担相应的责任。
2.2.1乙方为甲方提供机房物理环境以100兆共享带宽不限流量与连接,并保证主机与外部连接的安全性、稳定性、及时性,使甲方可以通过远程对服务器进行管理,或者乙方在甲方授权后的情况下,协助甲方对服务器进行一定的管理和硬件的添置。
2.2.3乙方免费为甲方主机提供共1个独立的IP地址,如需要增加IP费用另议。供放置信息服务器的标准机房环境,包括:空调、照明、不间断电源、防静电地板等,并且不低于电信公司的同类机房环境标准。
2.2.4保留因甲方违反本合同2-1-2、2-1-3、2-1-5、2-1-8、2-1-10等条款而终止服务器运行的权利。
2.2.5除非双方另有书面约定,乙方承认甲方自己存放在服务器上的任何资料、软件、数据等的知识产权均与乙方无关,乙方无权复制、传播、转让、许可或提供他人使用这些资源,否则应承担相应的责任。
2.2.7因乙方原因,造成服务器的正常工作中断,乙方以小时为单位,以月费为基数,按平均每小时费用的二倍向甲方赔偿。但以当月的月费为赔偿的最高限。
2.2.8甲方自行安装软件或进行系统配置如导致系统无法使用,需要乙方进行恢复的,乙方有权要求甲方支付相应的服务费用。
3.1本合同所涉及的费用包括一次性费用和连续支付的月费。其涉及的金额一律以人民币元为单位。
3.5如甲方付款逾期,除补交应付金额外,其拖欠的天数每天按应付金额的0.3%另付滞纳金。
4.1本合同有效期为__12____个月。起始日从服务器开通之日起计算。在合同到期时,双方如需要继续合作并对本合同无异议,则本合同自动顺延。如双方认为某些条款需要修改,届时双方另签合同。
5.1.1如果甲乙双方无异议并且甲方在本合同结束期七日前按时付款续约,则本合同自动延续一年。
5.1.2乙方在进行维护时有时需要短时间中断服务,或因上的通路的偶然阻塞造成甲方服务器访问速度下降,甲方认同这是属于正常情况,不属于乙方违约。此情况每月不得超过2次,每次不超过1小时,且必须提前一天通知甲方,否则按2.2.7条款进行赔偿。乙方有责任在合同到期前20天通知甲方,以便甲方考虑有关续约事宜。
5.2.1乙方不得无故破坏或干扰为甲方提供的服务。乙方保证甲方服务器的正常运行,供电稳定可靠,与连接的正常,如确实必须暂时停机或与断开连接,乙方应及时通知甲方。如乙方无故停机或未及时通知甲方,将以所列罚款款项的双倍对甲方进行赔偿。
5.2.1如果乙方违约,甲方有权要求乙方在限定时间内为甲方的退出或转移服务,其违约造成的损失由乙方负责。
5.2.3本合同在下述情形下终止,双方互不负责,但终止方应书面通知另一方:一方当事人主体资格消失,如破产。但进行重组、名称变更或者与第三方合并等不在此列。一方严重违反本合同,另一方根据本合同的约定解除本合同。因不可抗力而解除本合同或者双方当事人协商一致解除本合同的。依法律、法规规定的情形而终止。5.2.4本合同到期后,如果甲方没有按时支付续约款项,则双方认同本合同执行终止,乙方届时将关闭该服务器。
5.2.5在合同执行期间,如果甲方拖延付款超过10个工作日,乙方可以关闭服务器。如甲方拖欠付款一个月之内完成付款并要求重新开启服务器,应支付元。重新开启费。如甲方拖欠付款超过一个月完成付款并要求重新开启服务器,应再次支付本合同3-3所述的一次性费用。
5.2.6由于一方不履行协议约定的义务,或严重违反本合同约定的义务,造成本合同无法履行或履行不必要时,视作违约方片面终止本合同,守约方除有权向违约方索赔外,并有权终止本合同。
6.2如果协商未成,双方同意向厦门仲裁委员会提交仲裁并接受其仲裁规则。该仲裁裁决是终局的,双方将无条件地履行该仲裁裁决。
7.1任何一方遇有不可抗力而全部或部分不能履行本合同或迟延履行本合同,应自不可抗力事件发生之日起五日内,将事件情况以书面形式通知另一方,并于事件发生之日起二十日内,向另一方提交导致其全部或部分不能履行或迟延履行的证明。
7.2遭受不可抗力的一方应采取一切必要措施减少损失,并在事件消除后立即恢复本合同的履行,除非此等履行已不可能或者不必要。
8.1任何一方对在本合同履行过程中以任何方式获知的另一方商业秘密或其他技术及经营信息均负有保密义务,不得向任何其他第三方透露或泄露,但中国现行法律、法规另有规定或经另一方书面同意的除外。
9.1任何一方没有行使其权利或没有就对方的违约行为采取任何行动,不应被视为是对权利的放弃或对追究违约责任或义务的放弃。任何一方放弃针对对方的任何权利,或放弃追究对方的任何过失,不应视为对任何其他权利或追究任何其他过失的放弃。所有放弃应书面作出。
10.1本合同要求或允许的通知或通讯,不论以何种方式传递,均自被通知一方实际收到时起生效。
10.2上款中的“实际收到”系指通知或通讯内容到达被通知人的法定地址或住所或其指定的通讯地址范围。
10.3一方变更通讯地址或通讯方式,应自变更之日起10个工作日内,将变更后的地址及联系方式通知另一方,否则变更方应对此造成的一切后果承担责任。
11.1本合同的解除、终止或者本合同有关条款的无效均不影响本合同关于合同的解释、违约责任、知识产权、法律适用、责任限制、补偿及争议解决的有关约定的效力。
11.3如果本合同任何条款根据适用的现行法律被确定为无效或无法实施,本合同的其他所有条款将继续有效。此种情况下,双方将以有效的约定替换该约定,且该有效约定应尽可能接近原约定和本合同相应的精神和宗旨。
11.4对本合同的理解与解释应依据合同目的和文本原义及业界通行的理解和惯例进行,并且应当将本合同各条款及有关附件作为一个整体来理解和解释。本合同内的标题不应影响本合同的解释。
11.5订立本合同所依据的法律、行政法规、规章发生变化,本合同应变更相关内容;订立本合同所依据的客观情况发生重大变化,致使本合同无法履行的,经甲乙双方协商同意,可以变更本合同相关内容或者终止合同的履行。
11.6在本合同有效期内,因乙方上市、被收购、与第三方合并、名称变更等事由,甲方同意乙方可以将其在本合同中的权利和/或义务转让给相应的乙方权利/义务的承受者,但乙方应保证甲方在本合同中的权益不会因此而受到不利影响。
11.7甲、乙双方应本着诚实信用的原则履行本合同。任何一方在履行中采用欺诈、胁迫或者暴力的手段,另一方均可以终止本合同并有权要求对方赔偿损失。
11.8本合同的有关条款或者约定若与双方以前签署的有关条款或者乙方的有关陈述不一致或者相抵触的,以本合同为准。
11.9未经双方协商一致,本合同项下的权利义务不可转移、许可给第三方,除非一方进行重组、合并或者名称变更,但应通知另一方。
关键词:嵌入式Web服务器;变电站自动化系统;自定义标记;数据点复用;嵌入式Java;PPP
网络技术应用于变电站自动化领域将导致该领域传统运行维护模式的一场变革:将Web服务器“植入”变电站自动化系统后接入,在世界上任何一个地方即可通过网络浏览器从获取该Web服务器的系统实时信息,进而实现远程实时控制、调节与维护;并且,这种基于HTML标准化的Web用户界面降低了为不同操作平台而定制人机界面的开发费用、通信费用、人员培训费用和系统升级维护费用。显然,变电站自动化系统这种基于Web的远程监控维护方式将克服传统本地监控维护方式[1]存在的低效率、高成本的缺陷。
但是,传统的Web技术路线方案[2,3]不能直接用于构造变电站自动化系统中的Web服务器。传统Web服务器以具有高运算处理能力和海量存储容量的工作站或PC机为硬件工作平台,以非实时操作系统为软件工作平台,其上运行的是大型复杂的服务器程序,典型的如基于WindowsNT的IIS(InformationServer)、基于Unix的ApacheWebServer等,服务器的这种高档配置方案对于大量使用8位、16位或32位单片机的变电站自动化系统而言是不现实的要求。
基于嵌入式技术[4,5]的嵌入式Web服务器的出现为解决以上问题开辟了一条崭新途径。嵌入式Web服务器以8位、16位或32位单片机为硬件工作平台,以嵌入式实时多任务操作系统(RTOS)为软件工作平台,其上运行小型精简的服务器程序。已有嵌入式Web服务器的成功开发案例主要集中于通信领域中的路由器、交换机、网络视频监控等产品,这类产品的共同特征是监控数据点较少,而变电站自动化领域中的嵌入式Web服务器需要处理的是大批量的采集监控点,目前这方面的研究报导甚为少见。
本文以开发烟台东方电子高压变电站综合自动化监控系统DF中嵌入式Web服务器的项目实践为例,阐述应用嵌入式技术开发变电站自动化系统中嵌入式Web服务器的一般性设计方法和一些关键实现技术。
实时数据包括遥测、遥信、电度、时钟信息等,历史数据包括事项信息、保护动作信息等。嵌入式Web服务器将实时数据和历史数据以网页形式到网上,且动态实时刷新,远方客户通过接入浏览该服务器的高压监控系统实时信息。
参数包括运行参数和设备状态参数,如遥测、遥信、电度的初始值、整定系数、满度值等。Web服务器接收到远方客户提交的参数设置请求后执行参数写入操作。
控制功能包括遥控、遥调、同期操作和定值切换。Web服务器接收到远方客户提交的控制操作请求后,下发控制命令驱动监控系统中相应的执行机构。
下载和上传的文件是指系统、模块和端口的配置信息参数文件。下载功能是将参数文件从Web服务器方下载到客户方,上传功能是将参数文件从客户方上传至Web服务器方。
电子邮件告警功能用于当变电站设备运行出现异常时,Web服务器通过自动发送电子邮件,及时通知管理人员进行设备维护。此外,在系统正常运行期间,还可以根据用户设置,定期向指定的E-mail信箱发送变电站自动化系统运行日志。
访问级别设置不仅提供传统的“基于页面”方式,而且提供灵活的“基于对象”方式,单个设备、数据采集点均可成为“对象”,这样同一页面不同重要等级的数据点可被设置为不同的访问级别,只有权限不低于设备要求访问级别的客户经Web服务器认证后方可进行其权限范围内的监控操作。
Web服务器通过PPP(PointtoPointProtocol)拨号方式接入提供远程访问服务。
嵌入式Web服务器的PC网关体系结构[6]作为现有变电站自动化系统网络化的手段或许可以接受,但从严格意义而言,这不是真正意义上的嵌入式Web服务器,且因此而添加购置的PC机网关提高了系统的整体造价成本。由嵌入式系统自身实现Web服务器功能是真正意义上的嵌入式Web服务器,但若使系统中每一台嵌入式设备都具备Web服务器功能,一则通信协议簇要求CPU的运算速度和存储器的存储容量较高,导致系统造价成本大幅度提高,再则每台嵌入式设备成为Web服务器接入也无必要。因此较为合理的体系结构方案是:系统中一台配置较高的嵌入式设备完成嵌入式Web服务器功能,其它配置较低的嵌入式设备完成数据采集和控制功能。
本监控系统即是基于以上思想构建而成,其分层分级分布式体系结构如图1所示,系统由一台通信处理装置(CPU为32位的IntelX86系列单片机)、若干台分布的测控保护装置(CPU为32位的M单片机)组成,各装置间以现场总线CAN、FDKBus或工业以太网互联。通信处理装置采用分层分级模块化结构,Web服务器嵌入其中,主要完成的功能包括:通过现场总线或以太网收集各测控保护装置的采集信息并向,接收上的远程客户提交的配置控制命令后下发给测控保护装置执行。
如图2所示,嵌入式Web服务器为基于三层B/S结构的瘦Web服务器。其中,HTTPServer和Client间的通信协议采用HTTP1.1,嵌入式实时多任务操作系统pSOS提供TCP/IP协议支持,编程接口为BerkerlySockets4.3,HTTPServer与DatabaseServer间的交互接口为CGI(CommonGatewayInterface)。整个嵌入式Web服务器程序采用ANSIC编写,HTML页面的制作采用MicrosoftFrontpage,系统主页面如图3所示。
网页只提供文件链接功能,欲在网页中显示变电站自动化系统中大量的实时数据,常规方法是将HTML代码直接集成到程序代码中,如,或者反之将C程序代码集成到HTML标记语言中,这两种方法均要求开发人员对HTML标记语言的语法细节非常熟悉,且网页界面或程序结构的单方面调整都将导致整个系统全盘修改,系统不具灵活性与可扩展性。
网页描述语言HTML的精髓在于该语言的“标记”性,各种不同的标记如的具体含义是由Web服务器和Web浏览器进行解析,因此,当现有即定标记不能满足新的应用需求时,不妨自行定义新的标记,只需自己的Web服务器将自定义标记解析为标准标记,然后传送给标准Web浏览器解析成的Web页面即可。
基于以上思想,本系统中定义数据点标记用于在网页中嵌入动态实时数据,再定义如图4所示的数据字典。运行时当客户端发出查看实时数据“GETMethod”请求后,嵌入式Web服务器将相应HTML文件从电子盘加载到内存进行逐项解析,辩识出标记后,从数据字典中查找该标记对应的Get_Handler指针,用Get_Handler返回的该标记对应的数据点当前值置换
HTML文件流中的标记,全部解析过程完成后,嵌入式Web服务器将解析结果通过HTTP协议发送给客户端,经客户端的Web浏览器解析后变为Web页面呈现在客户端面前。以上过程为实时数据查看的实现机制,参数设置和远程实时控制的实现机制基本类同,所不同的是,客户端发出的是“POSTMethod”请求,服务器在数据字典中查找的是“Set_Handler指针”。
以上分析表明,通过自定义数据点标记实现变电站自动化系统Web页面中实时数据点的动态显示和控制,动态数据的网页嵌入设计与动态数据的Web服务器处理程序得以分离,处于一种弱耦合关联状态,这样,网页界面的调整不会影响Web服务器的程序设计,Web服务器程序的修改也与网页界面设计无关,整个嵌入式Web服务器设计具有了灵活性和可扩展性。
本系统中测控装置和保护装置最大配置为255个,每个装置中的遥测、遥信、电度等采集点又分别最多可达96路,若每个装置对应一个页面,装置中的每一个数据点对应该Web页面中的一个,势必导致系统中所有Web页面文件个数和每个Web页面文件大小趋于无穷。对于以有限资源约束为主要特征的嵌入式系统而言,这种Web页面设计方案不具可行性。
解决方法之一是采用复用技术,提出“基于点”和“基于面”的双重复用技术。以综合测控装置的遥信点为例,系统中所有综合测控装置共用同一Web页面,该页面中的所有遥信点共用一个数据点标记
其中,为带参数的自定义标记,用于循环控制,数据点标记表示该装置中的遥信点个数。运行时当嵌入式Web服务器辩识至,该标记将被解析为二维数组变量MsYxVal[devNo][ptNo],其中:devNo为该遥信点所在DF类型装置的设备序号(可理解为页面号),devNo由URL中QueryString提交,限于HTTP协议的无状态记忆性,提交后的devNo由HTML文件中的FormHiddenElement记忆;ptNo为该遥信点在装置中的遥信点序号(可理解为点号),ptNo值表征循环标记REPEAT中当前的循环次数。此后,服务器将devNo和ptNo作为参数传给MsYxVal所在数据页面中的Get/Set_Handler函数进行处理,得到返回值置换标记。
采用以上数据点双重复用技术后,系统总Web页面文件个数为16,最大Web页面文件大小为5KB。
HTML页面技术只提供基于页面的浏览刷新机制,这一机制用于显示只需动态刷新数据点的页面时存在闪烁缺陷,解决的方法是采用Java技术[7]。Java以其平台无关性、可下载性、动态性而成为一种优秀的编程语言,但将Java直接用于嵌入式系统存在以下问题:
(1)Java虚拟机JVM脚本相对存储资源有限的嵌入式系统过于庞大;
(2)由于HTTP协议的无状态性,WebServer为响应多个JavaApplet周期性的刷新请求被迫反复的创建再删除TCP堆栈,当请求周期足够短时,根据Heisenberg原理,有限资源的嵌入式系统的CPU将很快达到其处理能力的极限。因此,从这一角度而言,嵌入式系统中允许使用的Applet个数是有限的,但这一限制这对于有大量数据点需实时动态刷新的变电站自动化系统而言是不现实的要求。
为解决以上问题,本系统放弃了常规Java虚拟机机制而采用中间机制,如图5所示,所有下载到客户端的Applet(包括图形化Applet和数据Applet)与WebServer的交互都需要通过中间AppletBroker,该Applet在Web页面上不可视,其功能有两个方面,一是将所有图形化Applet和数据Applet对嵌入式Web服务器的数据请求“整合”后送往Web服务器,另一方面则是将从嵌入式Web服务器接收到的响应分发给相应的图形化Applet和数据Applet。这样,若干Applet与嵌入式Web服务器的数据传输次数得以最小化,嵌入式Web服务器对于Applet的响应处理负载得以减轻,系统允许使用的Applet不再有个数限制。
此外,Brower方的控制应用程序采用了JavaSript配合JavaApplet完成与服务器的交互过程。JavaSript用于控制管理Brower方各客户不同的操作信息,通过QueryingString或FormHiddenElement向WebServer提交,Server解析提交信息后置值,然后下载该Applet,Applet下载至客户端开始运行,首先从中读取相应信息完成初始化过程,进而开始与服务器的LoginàGetàLogout的循环交互。
嵌入式设备上网后,安全性问题成为衡量系统性能的一项重要指标。本系统对此采用了访问权限认证机制,其中:设计阶段中的访问级别设置不仅提供传统的“基于页面”方式,而且,提供灵活的“基于对象”的方式,单个设备,数据采集点的DataMark均可成为“对象”,这样同一页面不同重要级别的数据点可被分别设置为不同的读、写操作访问级别,只有权限不低于设定要求访问级别的客户经Web服务器认证后方可进行其权限范围内的监控操作;运行阶段中权限认证采用javascript-Digest方式,相对传统Browser-based的双向可逆Base64加密算法,javascript-Digest的MD5加密算法具有不可逆性,因此用户名和密码即使被网上非法用户截获也无法破解,此外,系统权限认证中使用的Cookie驻留客户端Browser内存中而非客户端的硬盘文件中,因此非法用户也无法在客户端从Cookie中获取合法用户名和访问密码。
PPP链路一般工作于ServerMode以提供远程访问接入服务,当发送电子邮件告警信息时,PPP链路切换至ClientMode。电子邮件告警信息的发送采用SMTP(SendMailTransferProtocol)协议,发送前应设置ISP(ServiceProvider)为到达电子邮局的出口网关,例如ISP可选用163电信局,电子邮局可选用263邮局。
本文重点探讨了变电站自动化系统中嵌入式Web服务器的设计方法与实现中的一些关键问题,嵌入式Web服务器的其它一些功能(包括文件上传与下载、权限登陆与注销等)的实现类同传统Web服务器,限于篇幅,本文不再赘述。
目前DF系统已顺利通过北京电科院质检中心的入网测试,表明利用嵌入式技术在嵌入式系统中开发变电站自动化系统中的嵌入式Web服务器是切实可行的。变电站自动化系统基于嵌入式Web服务器的远程监控维护方式将有效降低监控运行维护成本、提高监控运行维护效率,因而具有很大的应用前景和推广价值。
1刘立芳(LiuLifang).远程设备实时监控管理系统的设计与实现(Thedesignandimplementationofanequipments’real-timeremotemonitoringandcontrollingsystem).计算机工程(Computerengineering),
(4),Vol.26
2汪源生(WangYuansheng).基于Web的继电保护信息管理系统的开发与应用(Web-basedmanagementinformationsystemofrelayprotection).电力系统自动化(Automationofelectricpowersystems),
(5)
3朱磊(Zhulei).基于Web的电力通信网监控系统的设计与实现(Deworkofelectricpowersystem).电力系统自动化(Automationofelectricpowersystems),
(2)
6李农(LiNong).因特网技术在嵌入式系统中的应用(technologyforembeddedsystem).测控技术(Measurement