2008-07-03 08:41:02 来源:计算机与信息技术
装备仓库存储的物资种类繁杂、数量庞大,传统数据库已逐渐不能满足装备仓库管理的需要。主动数据库的特点使可以装备仓库的日常管理变得更简便,减少了工作量。本文论述了如何在装备仓库中运用主动数据库。
1 装备仓库管理现状
用仓库是军事物流顺利开展的基础,是军队物资保障的重要环节之一。装备仓库负责存储、保管、发放各种装备、器材和零部件等,在军队装备建设中起着重要作用。大部分装备仓库存储的物资种类繁杂、数量庞大,仓库的管理不仅仅是收与发,还包括保管、保养等许多工作,管理工作也很繁琐。传统的人工管理耗时、耗力且容易出错。计算机的普及和数据库技术的应用使得装备仓库的管理日趋简便。
传统的关系数据库系统数据的创建、检索、修改以及删除操作只有在用户或应用程序显式地提交命令后才被执行,要求仓库管理人员要具有一定的数据库管理和维护的知识。而军队人员流动性大,熟练的管理人员往往因各种原因而离开工作岗位,给装备仓库的管理工作造成很大的不便,而且管理人员所学的专业也各不相同,熟悉管理的人员可能不熟悉数据库系统,造成数据系统的使用和维护困难。因此需要一种操作简便,具有一定自我维护功能的数据库系统。
2 主动数据库系统的定义及特点
传统数据库管理系统是被动的,数据的创建、检索、修改和删除只根据用户的命令进行。现实应用中存在着各种各样的主动性需求,例如主动地提出警告、主动检索、主动实现某些动态修改等一些应用,它们要求数据库不仅存储数据,还要存储控制知识或者规则以及过程。系统要能自动地监视数据库的状态及其变迁,当相关事件发生且条件满足时自动而实时地执行相应的动作。这种能够主动监视数据库状态,并能在满足特定条件时执行预先定义的动作的数据库系统称为主动数据库。
主动数据库的特点是数据库具有各种主动服务功能,并以一种统一且方便的机制来实现各种主动需求。在主动数据库中,基于状态定义的条件、相应响应的活动和时间性都作为数据库的一部分被定义,系统的“监视器”随时监视和自动评价有关的状态;一旦评价为真(即条件成立),即触发相应的活动。而这些都无需用户或应用程序干预。
3 主动数据库在装备仓库物资管理中的应用
主动数据库要求把主动性功能用统一的方法与原有数据库集成在同一数据库系统中。它除了强调“主动服务”之外,更强调用“统一机制”来实现,这种“统一机制”就是规则机制。
3.1 规则库
主动数据库常采用事件驱动的ECA规则模型,即事件- 条件 - 动作(Event - Condition - Action)规则。事件驱动的“事件 - 条件 - 动作”的一般形式为:
WHEN < 事件表达式>
IF <条 件 1>THEN
<动 作 1 >
END IF
ECA规则由事件、条件、动作三部分组成。其中事件、条件、动作的描述如下:
(1)事件 ( Event)一引发规则执行的原因。
(2)条件( Condition)一规则被执行后要检查的内容。
(3)动作 (Action)一规则被触发且条件为“真”时要执行的动作。
上述事件驱动的“事件一条件一动作”规则的语义是:当ECA规则规定的事件发生时,计算机就主动触发执行IF一THEN规则,即当条件满足时执行相应的动作,约束项规定执行规则动作的约束条件,并且接着逐个检查下一个IF -THEN规则,直到执行完为止。
下面以装备仓库中一些对主动数据库的需求和应用的例子说明规则库的定义:
装备仓库存储的物资不但包括成品装备,还包括各种装备的零部件、维修器材等,其中很多装备和器材都有存储期限,超过存储期限被将列为待报废物品,如橡胶制品、塑料制品等,如不及时对其进行处理,将造成极大浪费;为延长物资的存储时间和保持其良好的状态,应定期对其进行保养,如车辆季节性开启、封存、试运转,在装备器材种类数量繁多,管理人员无法兼顾时,如不及时提示管理人员进行保养,会造成一定的损失;为保证一些常用装备和器材的及时供应,其库存数据不应低于一定限度,低于一定数量时应及时采购。
将上述需求定义成“事件—条件—动作”规则如表1所示。
本文提出的规则的外部表现形式为图表的形式,而在装备数据库系统中,需先将规则的图表转化成统一的表格形式,将每一条规则都视为一条记录存入装备数据库中对应的规则表中。
3.2 规则执行流程
以上列出装备仓库管理中应用主动数据库的几个简单规则,下面给出如图1所示的主动数据库系统的规则执行流程图。
事件检测:确定规则所关心的事件是否发生,事件检测可以在用户进行操作时进行,可以通过触发器,设定事件发生的条件,自动执行。
事件分析:分析与发生的事件有关的规则,确定规则是否被触发。
动作执行:执行被触发规则中的动作部分。如规则(1)中,如用户同意将过期装备器材列为待报废,动作执行将对数据库进行修改。
结果显示:是动作执行的后续部分,显示出动作执行的结果,如上述三个规则中向用户发生提示信息。
3.3 实现的途径
1) 原有数据库管理系统之上增建一个经常有机会运行的事件监测器
由于仓库管理已广泛应用了数据库管理系统,为避免重复开发和浪费,最简单实现方案就是在原有数据库管理系统的基础上进行改造。在原有数据库管理系统之上增建一个经常有机会运行的事件监测器。此时,事件规则库是统一的一个库,由用户预先设置好,在应用程序运行的同时,由事件监视器来监视事件的发生。
2) 使用触发器
在标准SQL3和商用数据库系统中,引进了“触发器”概念,从某种意义上引入了主动数据库的主动处理功能。SQL触发器遵循主动数据库“事件—条件—动力(ECA)”的规则。因此使用触发器也是实现主动数据库的一种途径。
根据触发器触发事件的级别可分为数据库级触发器和表级触发器,表级触发器又可分为行级触发器和语句级触发器,行级触发器对处理中每一行都执行一次。语句级触发器对每个处理执行一次,可以同时执行多行语句。
4 结束语
本文论述了主动数据库在装备仓库管理中的应用的构想和简单的示例,要将主动数据库完全应用于装备仓库的管理中,还需做大量的调查和研究工作。近年来,随着军队对人员和机构的不断精减调整,装备仓库的管理和维护人员也逐渐减少,但工作量并没有减少,甚至较以前有所增加。减少装备仓库的管理工作量、尽量避免在日常工作中出现失误成为当前急需解决的问题。主动数据库系统的应用可以使得装备仓库的日常管理变得方便而简便,对管理人员的进行管理的应用程序操作培训和数据库基础知识的简单学习就可胜任管理工作,保证了装备仓库在人员减少、工作量不变甚至增加的情况下依然可以较好的完成日常工作。
参考文献
[1] Date,C. J. 数据库系统概念.机械工业出版社,2000,10
[2] 姜跃平,汪卫,施伯乐.ECA规则的模型和行为特定理论 软件学报. 1997.(3):191—196
[3] 杨泽雪,韩中元,魏兴,郭红微. 主动数据库系统的研究.哈尔滨师范大学自然科学学报 Vol. 21, No. 2 2005
[4] 陈芬 Oracle主动数据库机制的应用.应用技术 2001.12
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。