当前位置:首页 > 演讲稿 > 双机热备 KJ215煤炭产量监测系统双机热备设计
 

双机热备 KJ215煤炭产量监测系统双机热备设计

发布时间:2019-06-26 04:03:03 影响了:

  摘 要:矿用系统对可靠性要求比较高,国家标准里面明文要求有双机热备功能,为此开发了该套软件。该软件的开发工具VC++6.0、SQL Server2005,使用Socket建立通讯,及时了解对方电脑上的数据采集软件运行的状态,并决定是否进行切换操作,使用触发器,同步数据库的记录。实验表明,该软件运行状况良好,基本达到预期目的。
  关键词:双机热备;Socket;触发器
  1 引言
  图1是双机热备软件主界面,具有通讯功能、代理启动第三方程序、数据库同步功能。为实现自动切换,采用Socket通讯,每隔10s交换一次数据,以了解数据采集软件在对方电脑上的运行状态,并据此决定启动或者关闭数据采集程序。数据库的同步可以采用订阅发布方式,这里不适合,主要是因为订阅发布方式会添加其他键到数据库,应用程序跑不起来,加上该系统插入记录、修改数据比较频繁,采用触发器方式合适。
  2 基本通讯的建立与自动切换
  这里只讨论代理启动一个第三方软件,多个代理启动软件处理方法类似,编程思想:
  (1)通讯正常情况下,第一次连接成功后,主机启动数据采集软件,同时启动定时器1,定时器1将定时检查数据采集软件在主机上的运行状况,并把运行状况发给备机。如果该软件正在主机运行,则不操作;否则备机启动数据采集软件。备机切换后,也启动一个定时器,定时检查数据采集软件在备机上的运行状况,并把运行状况发给主机。如果备机的数据采集软件不运行,主机启动数据采集软件。
  (2)不正常情况下,主备机不能交换数据,网线连接断开、其中一台电脑死机、人为关掉一方软件都属于这种情况。这种情况下,主机检查数据采集软件,没有则启动,同时启动定时器2,定时检查数据采集软件在主机上的运行状态,如果关掉,自动打开;备机检查数据采集软件,没有则启动,同时启动定时器1,定时时间到,发一条信息给主机,如果没有回音,检查数据采集软件,关闭的话启动,如果有回音,转为通讯正常情况,做相应处理。
  3 触发器同步数据库
  编程思想:
  (1)通讯正常情况下,如果主机运行数据采集软件,把触发器加到主机的数据库,同时删掉备机的触发器;如果备机运行数据采集软件,把触发器加到备机的数据库,同时删除主机的触发器;
  (2)如果通信不正常或者软件退出运行,删除触发器。
  使用触发器同步数据库,需要相应设置MSDTC;MSDTC依赖于RPC,RPC使用的端口是135,要打开135端口;启动DTC服务;启动1433端口;关闭防火墙;链接服务器。
  数据采集软件对数据库操作包括插入新记录、修改原记录,假设对方计算机名PC-201004191511,数据库pubs,表employee,列名job_lvl,则
  (1)针对插入新纪录操作,相应触发器
  Create trigger [dbo].[tr_insert_employee] on [dbo].[employee]
  for insert
  as
  set xact_abort on
  insert [PC-201004191511].pubs.dbo. employee (emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date)
  select emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date from inserted
  go
  (2)针对修改列job_lvl,相应触发器
  Create trigger [dbo].[tr_update_employee_job_lvl] on [dbo].[employee]
  for update
  as
  set xact_abort on
  if update(job_lvl)
  update [PC-201004191511].pubs.dbo.employee
  set [job_lvl] =i.[job_lvl] from [PC-201004191511].pubs.dbo.employee b, inserted i
  where b.emp_id=i.emp_id
  go
  参考文献
  [1] 毛应爽,赵慧玲,孟宪颖,SQL Server 2005 程序设计与管理基础同步实训教程[M],北京:清华大学出版社,2009. 12.
  [2] BL DataMirror双机热备软件,南京北路科技.
  [3] KJ90瓦斯安全监控双机热备软件,煤炭研究总院重庆研究院(田兵).
  [4] 包建军,霍振龙,樊菁,可靠实现煤矿双机热备系统的方法[J],工矿自动化,2010.10.
  [5] SOCKET API通讯程序源代码.WWW.VCKBASE.COM.
  作者简介
  汤其三,男,1986年生,江苏科技大学09级硕士研究生,主要研究方向:单片机、DSP、FPGA软硬件设计开发,波形数据采集与大屏幕液晶显示,VC++可视化编程,SQL Server数据库操作,串口通信等。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3