D0I:10.13374/i.issm1001053x.2003.01.005 第25卷第1期 北京科技大学学报 Vol.25 No.1 2003年2月 Journal of University of Science and Technology Beijing Feb.2003 矿山管理信息系统的通用报警系统 侯运炳》 张东站) 冯述虎 1)中国矿业大学(北京校区),北京1000832)北京理工大学,北京100081 摘要提出一种矿山管理信息系统的通用报警方法,以此方法为基础设计了通用报警系 统.该报警系统独立于应用系统,通过对报警信息表(由应用系统的报警事件自动产生)的轮 流查询和在应用系统中显示报警提示的方法实现应用系统的报警功能,并能够对应用系统 的报警信息统筹处理,避免报警冲突,以适应应用系统的变化. 关键词报警;管理信息系统;矿山 分类号TD76;TP31I 报警是管理信息系统的重要组成部分,在矿 多进程方式运行,因此对客户机的其他操作基本 业管理信息系统的信息交换和人机协作过程中 上没有影响. 起着很重要的作用.当出现诸如瓦斯超限、库存 12以报警信息表为联系纽带 超高低限,设备到期维护等情况时,通过报警提 通用报警系统的通用性主要通过报警信息 示用户做一些操作,辅助用户完成决策,提高管 表为纽带来实现.报警信息表为所有用户均可 理人员的工作质量和效率,在大型分布式系统 访问的公共信息表.当某个业务子系统需报警 里,报警部门和项目比较复杂,报警时间随机,容 时,业务子系统只需将报警信息按照既定的格式 易出现报警混乱、重复报警等现象. 插人到报警信息表中,以后通过报警进程进行相 针对矿山管理信息系统特点,在分析各种 应的处理来实现报警操作.报警系统与应用系 报警操作的基础上,本文研究开发了一个通用的 统的关系如图1所示. 报警系统,该系统用于完成管理信息系统中不同 部门所有业务子系统的报警操作.根据需要,可 交互信息 用户 报警结果 将通用报警系统软件封装为软件组件,应用于各 种管理信息系统之中 应用系统 报警信息 报警信息 报警系统 1实现通用性的设计思想 报警信息表 通常情况下,在开发管理信息系统时可将报 图1报警系统与应用系统的关系 Fig.I Relationship between the alarming system and the 警功能考虑在系统的整体功能之内进行软件开 work system 发.但为了使报警系统能够具有通用性,适应 于所有业务子系统,同时能够适应应用系统的变 2报警方法及解决方案 化,就应该使报警系统独立于各业务系统 11以后台小进程为运作模式 2.1报警实现原理 报警系统由一个报警小进程以后台方式运 报警的实现可有两种解决方案:一是轮询, 行于每个客户机上.由于是小进程且以后台方式 二是中断,轮询就是按照一定的时间周期定期地 运行,占用资源很少,客户端Windows操作是以 检查报警数据库表的内容,根据报警数据库表的 内容生成报警提示.中断就是当报警数据库表中 收稿日期2002-06-04侯运炳男,40岁,博士,教授 有新的报警内容插人时,自动生成报警提示.采 *国家白然科学基金资助项目(No.50074031) 用C/S模式的管理信息系统,客户机端读取、更
第 卷 第 期 年 月 北 京 科 技 大 学 学 报 】 矿 山 管理 信 息 系 统 的通 用 报警 系 统 侯 运 炳 ’ 张 东站 ” 冯 述 虎 ‘, 中国矿业 大学 北 京 校 区 , 北 京 北 京理工 大 学 , 北 京 摘 要 提 出一 种 矿 山 管理信息 系统 的通 用 报 警 方 法 以 此 方法 为基础设计 了通 用 报警系 统 该报 警系统 独立 于 应 用 系 统 , 通 过对报警信息表 由应 用 系统 的报警事件 自动产生 的轮 流查 询 和 在应用 系统 中显 示 报警提示 的方 法 实现应 用 系统 的报警 功能 , 并 能 够对应 用 系统 的报警信息 统筹处 理 , 避 免报 警 冲突 , 以适 应 应 用 系统 的变化 关键词 报警 管理信息 系统 矿 山 分类 号 报警 是 管理 信息 系统 的重 要 组 成 部分 , 在 矿 业 管理 信息 系统 的信 息 交 换 和 人 机 协 作过 程 中 起 着很 重 要 的作 用 当出现诸如 瓦 斯超 限 、 库存 超 高低 限 , 设备 到期 维 护 等情 况 时 , 通 过 报警 提 示 用 户 做一 些 操作 , 辅 助 用 户 完 成 决 策 , 提 高 管 理 人员 的 工 作 质 量 和 效 率 在 大 型 分 布式 系 统 里 , 报警部 门和项 目比较 复杂 , 报警 时 间 随机 , 容 易 出现 报 警混 乱 、 重 复报 警 等现 象 针 对 矿 山管理 信息 系统 特 点 , 在 分析 各种 报警操作 的基础 上 , 本 文研究 开 发 了一 个通 用 的 报警 系统 , 该 系统用 于完成 管理信息 系统 中不 同 部 门所 有业 务 子 系统 的报警操 作 根 据需 要 , 可 将通 用 报警 系统 软件封装为软件组 件 , 应用 于各 种 管 理 信息 系统 之 中 多进 程 方式 运行 , 因此对 客户 机 的其他操作基本 上 没 有 影 响 以 报 替信 息 表 为联 系纽 带 通 用 报 警 系 统 的 通 用 性 主 要 通 过 报 警 信息 表 为纽 带 来 实 现 报 警 信息 表 为所 有 用 户 均 可 访 问 的公共信息 表 当某个 业 务 子 系统需 报警 时 , 业 务子 系统 只需将报警信息 按 照 既定 的格 式 插入 到报警信息表 中 , 以 后 通 过报警进程进行相 应 的处 理来 实 现 报警操作 报 警系统 与应 用 系 统 的关系 如 图 所示 交互信息 报警结果 用户 白孙森兄严鄂势 黔乒誓布 实 现通 用 性 的设 计 思 想 通 常情 况 下 , 在 开 发 管理 信息 系统 时 可将报 警 功 能 考 虑 在 系统 的整 体 功 能 之 内进 行 软件 开 发 ’一 但 为 了使报警 系统 能够 具 有 通 用 性 , 适 应 于所 有业 务子 系统 , 同时 能够适 应 应用 系统 的变 化 , 就应 该 使报警系统 独 立 于各业 务 系统 以后 台小 进 程 为 运 作 模 式 报警 系 统 由一 个 报 警 小 进 程 以 后 台方 式 运 行 于 每个 客户 机上 由于是 小 进 程且 以 后 台方式 运 行 , 占用 资源很 少 , 客 户 端 操作 是 以 收稿 日期 一 戒 侯运 炳 男 , 岁 , 博士 , 教 授 国 家 自然科学基金 资助项 目 众 报警信息表 图 报苦 系 统 与应 用 系统 的关 系 报 警方 法 及 解 决 方 案 报 替 实现 原 理 报 警 的实 现 可 有 两 种 解 决方 案 一 是 轮 询 , 二 是 中断 轮 询就是按 照 一 定 的时 间周 期定期 地 检查 报警 数据库表 的 内容 , 根 据报警 数据库表 的 内容生 成报警提示 中断就是 当报警数据 库表 中 有新 的报 警 内容插 人 时 , 自动 生 成 报警提示 采 用 模 式 的管理 信息 系统 , 客 户 机 端读 取 、 更 DOI :10.13374/j .issn1001-053x.2003.01.005
·16 北京科技大学学报 2003年第1期 新服务器数据信息,服务器只是被动地接受客户 过发起报警的系统删除报警信息,例如看到“仓 机的请求并根据请求作出响应,而不能主动向客 库库存不足”报警信息的业务子系统不能主动删 户机发送信息,因此不能采用中断方式. 除此报警信息,而只能等到库存满足要求后由仓 为使报警系统具有更好的通用性,采用轮询 库系统删除此报警信息, 方式,即系统启动后按照-一定的时间周期定期地 报警消除只是暂时解除报警提示.对于当前 检测报警信息,发现报警信息调用报警处理系统 业务子系统的用户,如果认为报警信息已没有报 生成报警提示.系统流程如图2所示: 警的必要,可以在当前业务系统中消除此报警信 开始 息,此后此信息将不再报警,但仍然存在报警信 ”设置报警参数 息表中,并能够通过报警查询功能进行查看 启动报警系统 生成报警 3报警信息表设计 搜索报警数据库表 记时增加 业务系统的报警信息是通过各种事件触发 而产生的,而事件可以由数据库中量的特征引 是否有报警 是 是否到搜索 内容? 时间? 否 起,即报警源达到所规定的条件时就产生了事 否 是 件.所有业务子系统的报警信息都存在一公共 的数据库里,即每个业务子系统可根据自己的要 图2报警过程 求向此信息表中插入报警信息.报警信息表的数 Fig.2 Alarming Process 据结构为: 2.2报警对象调度 报警编号每个报警的惟一标识.为了便于 由于通用报警系统要处理所有业务子系统 维护和减少复杂性,此编号对各个业务子系统是 的报警,因此必须根据每条报警记录在相应的子 不可见的,各个业务子系统只需插入报警的内容 系统实现报警,此即报警对象的调度问题.解决 和相关的报警方式,报警编号将通过一个触发器 的方案是:业务子系统在安装时在本地的注册表 自动生成、 中存储本子系统的标识信息,报警系统根据此标 报警名称每个报警的名称。 识信息查找该子系统相应的报警信息生成报警 报警信息报警需提示的内容信息. 结果,这样所有报警信息将在既定的子系统实现 报警显示方式共有三种显示方式.0一首先 报警提示而不会出现冲突和混乱. 模态窗体显示提示,用户处理后在工具栏中闪烁 2.3报警提示方式 提示(缺省值);1一只出现模态窗体提示;2一只 为了满足不同系统的需求,设计三种报警提 在工具栏中闪烁提示. 示方式:第一种是通过模态窗体显示提示;第二 报警时间间隔对于显示方式为0,1的报警, 种是将报警提示闪烁地显示在工具栏中;第三种 按照此间隔弹出模态提示窗体.未设置则将在报 也是最常用的方式,就是首先将提示信息通过模 警启动(开机)时出现模态提示窗体,以后只在T 态窗体显示提示,用户干预后闪烁显示在工具栏 具栏中闪烁提示. 中.第三种作为缺省的显示提示方式. 报警对象报警将显示的业务子系统.当某 2.4报警消除与删除 条报警信息需在多个子系统系统中显示时,中间 别除和消除是对报警信息两种不同的操作. 用“&”连接不同的业务子系统 报警删除就是将报警信息从报警信息表中永久 报警显示标志确定当前报警信息是否显 地删除。本系统在设计中提供两种报警信息删 示.对报警的消除与否将通过改变此标志位的状 除方式:一种是显示报警信息后可通过本报警系 态来实现 统删除报警信息,例如假若计划定额发生了变 化,可将此消息通知需注意的业务子系统,该系 4程序实现 统看到此报警信息后便可直接将其删除;另一种 本系统主要由Visual Basic编程实现,采用 方式是报警系统不能主动删除报警信息,只能通 ODBC作为数据库引擎,通过ADO对象调用
北 京 科 技 新服 务器数据信息 , 服务器 只是被动地接受 客户 机 的请求并 根 据请求作 出响应 , 而不能 主动 向客 户机 发送 信息 , 因此 不 能采 用 中断方式 为使报警 系统 具有更好 的通 用 性 , 采 用 轮 询 方式 , 即系统启动后 按照 一定 的 时间周期定期地 检测 报警信息 , 发 现报警信息调 用 报警处 理 系统 生 成报 警提示 系统 流程 如 图 所示 开始 启动报警系统 生成报警 搜索报警数据库表 记时增加 大 学 学 报 年 第 期 过 发起 报警 的系统 删 除报 警信息 , 例如看 到 “ 仓 库库存不 足 ” 报警信息 的业 务子 系统 不 能 主动 删 除此报警信息 , 而 只能 等到库存满 足 要求后 由仓 库 系统 删 除此报 警信息 报警消除 只是暂 时解除报警提示 对 于 当前 业 务子 系统 的用 户 , 如果认 为报警信息 已 没 有 报 警 的必要 , 可 以 在 当前业 务 系统 中消除此报 警信 息 , 此 后 此 信息将不 再报警 , 但仍然 存在 报警信 息表 中 , 并 能够通 过 报警查 询功 能进 行 查 看 图 报,过程 报 普对 象调 度 由于 通 用 报 警 系 统 要 处 理 所 有 业 务 子 系 统 的报警 , 因此 必须根据每条报警记 录在相应 的子 系统实现 报 警 , 此 即报警对象 的调 度问题 解决 的方 案是 业 务子 系统 在安装时在本地 的注册 表 中存储本 子 系统 的标识信息 , 报警系统根 据此标 识 信息查 找该 子 系 统 相 应 的报警信息 生 成 报警 结果 , 这样 所 有报警信息将在 既定 的子 系统实现 报警提示 而不会 出现 冲突和混 乱 报 价提 示 方 式 为 了满 足 不 同系统 的需 求 , 设计三 种报警提 示 方式 第 一 种 是通 过模 态 窗体显示 提示 第二 种 是将报警提示 闪烁地 显 示 在 工 具栏 中 第三种 也 是最 常用 的方式 , 就是首先将提示 信息通 过模 态窗体显示 提示 , 用 户干 预后 闪烁显示 在工具栏 中 第三 种作为 缺省 的显 示 提示 方式 报 替 消 除 与 删 除 删除和 消除是对报警信息两 种不 同的操作 报 警 删 除 就 是将 报 警信息从报警信 息 表 中永 久 地删 除 本 系统 在 设计 中提供两 种 报警信息 删 除方式 一 种是显 示 报警信息后 可通 过本报警系 统删 除报警 信息 , 例如假 若计 划定 额 发 生 了变 化 , 可将此 消息通 知 需 注 意 的业 务子 系统 , 该 系 统看 到此报警信息后 便可 直接将其删 除 另 一 种 方式 是报警 系统不 能 主动删 除报警信息 , 只能通 报警信 息 表设 计 业 务 系 统 的 报 警 信息 是 通 过 各 种 事 件 触 发 而 产 生 的 , 而 事 件 可 以 由数 据 库 中量 的特 征 引 起 , 即报 警源 达 到所 规定 的条件 时 就 产 生 了事 件 所 有业 务子 系统 的报警信 息都存 在 一 公 共 的数据 库里 , 即每个业 务子 系统可 根 据 自己 的要 求 向此 信息表 中插人 报警信息 报警信息表 的数 据 结 构 为 报警编 号 每个 报警 的惟一 标 识 为 了便 于 维 护 和减 少 复杂性 , 此 编号对 各个业 务子 系统是 不 可 见 的 , 各个业 务子 系统 只需 插 人报警 的 内容 和相关 的报警方式 , 报警编号将通 过 一 个触发 器 自动 生 成 报 警名称 每个报 警的名 称 报警信息 报警需 提示 的 内容 信息 报警显 示 方式 共有 三 种 显 示 方 式 《 首 先 模态 窗体显示 提示 , 用 户处理后 在 工具栏 中闪烁 提示 缺省值 一只 出现模 态 窗体提示 一只 在 工 具栏 中闪烁 提示 报警 时 间 间隔 对 于显示 方 式 为 , 的报警 , 按 照此 间隔 弹 出模态 提示 窗体 未 设置则 将 在报 警启动 开 机 时 出现模态 提示 窗体 , 以后 只 在 工 具栏 中闪烁提示 报警对象 报警将显 示 的业 务 子 系统 当某 条报警信息需 在 多个 子 系统 系统 中显 示 时 , 中间 用 ‘, ” 连 接不 同的业 务子 系 统 报 警 显 示 标 志 确 定 当前 报 警 信息 是 否 显 示 对报警的消除与否将通 过 改 变此标 志位 的状 态 来实现 程序 实 现 本 系统 主 要 由 编 程 实 现 , 采 用 作 为 数 据库 引 擎 , 通 过 对 象 调 用
Vol.25 No.1 侯运炳等:矿山管理信息系统的通用报警系统 ·17 ODBC API函数访问数据库 用这种方式在开机时自动启动报警系统,这样即 4,1报警提示的实现 使业务子系统不启动仍然可以完成报警功能.但 报警提示要求将报警情况闪烁在工具栏上, 采用这种方式当用户误删启动快捷方式中的内 VB本身不能实现这项功能,因此通过调用相应 容时将无法启动报警系统. 的API函数来实现.下面列出了相关的API函数 (3)通过修改注册表启动报警系统.这种方式 及其说明, 是在报警系统初始化时将报警调用通过Win~ Public Type NOTIFYICONDATA dows API函数加到Windows注册表中,具体位置 cbSize As Long 如下: hWnd As Long HKEY LOCAL MACHINE\Software\Microso- uld As Long ftWindows\Current Version RunServices uFlags As Long 这样在开机时将自动启动报警系统,且不会 ucallbackMessage As Long 因为用户误操作而导致报警系统不能启动. hIcon As Long sZTip As String *64 5结论 End Type 本文开发的报警系统已成功应用于某矿山 Public Declare Function Shell_NotifyIcon Lib 管理信息系统,它具有独立、通用的特点,能够 "shell32"Alias "Shell NotifyIconA" 对应用系统的报警信息统筹处理,避免报警冲 (By Val dwMessage As Long,pnid 突.同时,报警系统能够应用于多种应用系统,当 As NOTIFYICONDATA)As Boolean 应用系统发生变化时也无需修改报警系统.将报 通过Shell_NotifyIcon函数可以将一个图标和 警系统封装为软件组件,可作为矿业信息系统的 提示信息显示到工具栏上,为了实现闪烁功能需 基本可复用组件 增加一个Timer控件和多幅变化的图片,在特定 的间隔不断变换图片即可实现闪烁报警提示. 参考文献 4.2自动启动的实现 」崔丽华.SD-6000系统报警功能的实现.广西电 报警系统是一个后台小进程,必须具备自动 力工程,2000.(2):113 启动的功能,为此设计以下三种实现方案: 2汪国进,陈志芳,大亚湾核电站主控室报警处理计 (1)启动业务子系统时启动报警系统.采用这 算机辅助系统的研究和开发[U.核科学与工程, 2001,21(12):737 种方式如不启动业务子系统则报警系统不启动, 3葛维春.东北电网调度自动化EMS支撑系统).东 这样减少资源的占用.但当业务子系统不启动 北电力技术,1997(4):324 时,报警信息将无法提示,使报警提示受到限制. 4侯运炳,王炳文,任勇.基于T作流和面向对象的 (2)通过快捷方式启动报警系统.这种方式类 矿山物资管理信息系统[]北京科技大学学报, 似Office将报警系统调用后放在快捷方式下.采 2001,23(6):554 General Alarming System for Mine Management Information Systems HOU Yunbing".ZHANG Dongzhan,FENG Shuhu 1)China University of Mining Engineering and Technology,Beijing 100083,China 2)Beijing Institute of Technolgy,Beijing 100081,China ABSTRACT A general method of alarming for mine management information systems was designed.The alar- ming system is independent of the work system,and provides alarming functions to the work system by visiting in turn the alarm information data table which is produced by alarm events in the work system and by producing the alarm display in the work system.Also it can process alarm information as a whole and refrain from the alarming conflict. KEY WORDS alarm;management information system;mine
侯 运 炳 等 矿 管 理 信 息 系统 的通用 报 警 系 统 , 函 数访 问数 据 库 报移提 示 的 实现 报警 提示 要 求将报警情 况 闪烁 在 工 具栏上 本 身不 能 实 现 这 项 功 能 , 因此 通 过 调 用 相 应 的 函 数来 实 现 下 面 列 出 了相 关 的 函数 及 其说 明 一 ,, ” ” 少 ,, 吧 , 】人 通 过 一 函数 可 以将一 个 图标 和 提示 信息显 示 到工具栏 上 为 了实现 闪烁 功 能需 增 加 一 个 控 件 和 多 幅 变 化 的 图 片 , 在 特定 的 间 隔 不 断 变换 图 片 即可 实 现 闪 烁报警 提 示 自动 启 动 的 实 现 报警 系统是 一个后 台小 进 程 , 必 须具备 自动 启 动 的功 能 , 为此设计 以 下 三 种 实 现方 案 启 动业 务子 系统 时启 动报警 系统 采用 这 种 方式 如 不启动业 务子 系统 则报警 系统不 启动 , 这 样 减 少 资源 的 占用 但 当业 务 子 系 统 不 启 动 时 , 报警信息将无法 提示 , 使报警提示 受到 限制 通 过 快捷 方式 启 动 报 警 系统 这 种 方 式类 似 。 将报 警 系统 调 用 后 放 在 快捷方 式 下 采 用 这 种方式 在 开 机 时 自动 启动报警 系统 , 这样 即 使业 务 子 系统不 启 动仍 然 可 以完成报警功 能 但 采 用 这 种 方 式 当用 户 误 删 启 动 快捷 方式 中的 内 容 时将 无 法 启 动 报 警 系统 通 过 修改 注 册表 启 动报警 系统 这 种 方 式 是 在 报 警 系 统 初 始 化 时 将 报 警 调 用 通 过 函数加 到 注 册 表 中 , 具体位 置 如 下 、 、飞 、 这 样 在 开 机 时将 自动 启动 报 警 系统 , 且 不 会 因 为用 户误 操作 而 导致 报警系统 不 能启动 结 论 本 文 开 发 的 报 警 系 统 已 成 功 应 用 于 某 矿 山 管 理 信息 系统 阵,, 它 具 有独 立 、 通 用 的特点 , 能够 对 应用 系 统 的报 警 信息 统 筹 处 理 , 避 免 报 警 冲 突 同时 , 报警 系统 能够应用 于 多种应 用 系统 , 当 应 用 系统发 生 变化 时 也无需 修改 报警 系统 将报 警 系统 封装 为软件组件 , 可作为 矿业 信息 系统 的 基 本 可 复用 组 件 参 考 文 献 崔 丽 华 一 系统报警功 能的实 现 广 西 电 力 工 程 , , 一 汪 国进 , 陈志 芳 大亚 湾核 电站 主控室 报警处 理计 算 机 辅 助 系 统 的研 究 和 开 发 核 科 学 与工 程 , , 葛维 春 东北 电 网调度 自动化 支撑 系统 东 北 电力 技 术 , 侯 运 炳 , 王 炳文 , 任 勇 基 于 工 作流 和 面 向对 象的 矿 山 物 资 管 理 信息 系 统 北 京 科 技 大学 学 报 , , 刀 万口 馆 ,, 例刀 月 忆 ,,, 尸 刀 ,’ 面 , , , , 盯 , 皿 勿 旧