水电监控系统跨平台技术

       水电站按规模,可以分为小型水电,中型水电和大型水电。小型水电,又称小水电,通常投资不高,由于其维护和运行人员的素质约束,一般采用windows平台搭建监控系统;中型和大型水电,考虑安全因素,一般采用unix/linux平台搭建监控系统。为了节约监控系统软件的维护成本,监控系统厂家需要建设一套监控系统软件同时支持windows/unix/linux平台,这就是所谓的跨平台技术。

     从软件开发的角度上,跨平台技术可以采用下面的几种方式实现:

  1. 虚拟机技术:假设已经存在一套能够在linux下运行的监控系统,在windows上运行linux虚拟机,通过虚拟机中运行linux版本监控系统软件来实现windows平台上的监控系统功能。这种做法没有额外开发工作量,但是使用时由于引入虚拟机环境,启动过程变得相对复杂和缓慢,同时由于监控系统实际运行的环境仍然是linux,对维护运行的要求比较高。
  2. 高级编程语言的跨平台技术:利用某些高级编程语言的跨平台特性实现监控系统的跨平台技术。比较典型的包括Java、C#,这些编程语言实现代码后,代码需要在对应语言的运行环境中运行。如Java,需要在对应的平台安装Java虚拟机,然后程序在Java虚拟机中运行,通过在不同平台安装对应的Java虚拟机,做到一套代码在不同平台上的运行。如果只是满足小水电或者实时性要求不高的业务系统跨平台特性,代码不需要大幅度的变化就可以实现监控系统的跨平台;但由于高级语言不受人工控制的内存回收机制(会在无法预计的时间下暂停整个虚拟机的运行,处理内存回收任务,然后再继续虚拟机运行),在数据压力大、实时性要求高(响应速度100ms以下)的环境下,会导致应用的响应速度下降。
  3. C/C++代码的条件编译:采用C/C++实现监控系统软件,并通过条件编译对windows和Unix/Linux平台特殊性编写单独的代码段。这种做法相对而言工作量比较大,毕竟对部分代码段做了windows/unix/linux的单独编码,但大部分业务代码都不需要改动,同时实时性得到最大程度的保障。同一份代码,在不同平台上编译,得到不同的可执行程序。windows上可以通过miniGW实现与unix/linux相同的编译环境,可执行代码可以在windows/Unix/Linux上本地化运行。

    考虑监控系统在超大型水电中的业务需求,采用方案3实现监控系统的跨平台技术最为合理,可以在实现跨平台技术的同时不影响监控系统的高实时性。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值