当前位置:首页 > 读后感 > [WEB数据库的主动技术研究] 数据库主动推送
 

[WEB数据库的主动技术研究] 数据库主动推送

发布时间:2019-02-21 03:58:42 影响了:

  摘要:本文阐述了主动数据库和WEB数据库的概念,讨论了主动WEB数据库的体系结构、实现途径以及在银行CRM中的应用。   关键词:WEB数据库 触发器 CRM
  中图分类号: 文献标识码:A文章编号:1007-9416(2010)05-0000-00
  
  1引言
  主动数据库的概念出现在70年代中期,它的一个很突出的思想是使数据库系统具有主动服务功能,并以一种统一而方便的机制来实现这种要求。这一点恰恰满足了客户关系管理系统CRM的核心要求。
  目前,对主动数据库的研究主要有两个方向:一是结合面向对象数据库技术实现一种全新的主动数据库管理系统,主要的研究工作集中在主动数据库的实现模式和方法上;二是在现有的关系数据库系统中通过强化触发器机制或组件技术使其具有主动功能,例如Oracle,Sybase,DB2等都引入了主动服务功能。另外,主动性的概念也正在被引入各种与数据库相关的领域中,例如实时数据库、合作数据库、动态数据库、演绎数据库等。
  
  2主动数据库
  主动数据库(Active Data base)是相对于传统数据库的被动性而言的。主动数据库是指除具备传统数据库的全部功能外,还具备各种主动服务的功能,并以预先设置规则的机制来实现各种主动服务。主动数据库管理系统是由一个传统数据库管理系统和一个能自动检测系统事件并进行条件匹配和动作触发的主动机制组成,可以表示成下面的形式:
  ADBS=DBS + EB + EM
  即一个主动数据库系统(ADBS)是由一个传统数据库系统(DBS)、由事件驱动的规则库(EB)和事件监听器(EM)所组成。EM监听EB中的事件是否发生,一旦监听到某个事件发生,就按EB中指出的规则执行相应的动作。
  主动数据库中的所有事件都被事件监听器监听,当事件发生时,事件处理器进行条件匹配,如果条件为真,则触发相应的动作,即ECA(Event Condition Active 事件―条件―动作)机制。ECA机制通常的表示形式如下 :
  RULE [(,…)]
  WHEN
  IF THEN
  ……
  IF THEN
  实现主动数据库的关键在于实现一种有效的事件自动监视机制,使得各种事件一旦发生,就能够被发现,从而触发执行相应的规则。目前,大多数商用数据库管理系统多少都具备了主动处理企业规则的能力,问题是如何挖掘其功能,并加以扩充。
  
  3主动WEB数据库和CRM
  关系数据库的体系结构从最初的主机/终端方式迅速发展为客户/服务器方式,获得了极大的成功,曾被誉为九十年代计算机发展的潮流。但随着Internet的迅猛发展,面对信息资源的复杂性和不规范性,这种客户/服务器方式显得力不从心。同时WEB技术本身也迫切需要数据库的支持,以便实现动态页面,使用户不是被动地给什么看什么,而是主动地想看什么就可以得到什么。于是一种基于浏览器、WEB服务器、应用服务器和数据库服务器的多层体系结构的WEB数据库诞生了。这种多层体系结构已不再是简单的分布式超文本环境,而成为可以搭载各类应用的综合平台,企业数据库与Web的结合是Web建设的必然结果 。
  
  4主动WEB数据库的实现途径
  实现主动数据库的关键在于实现一种有效的事件自动监视机制,使得各种事件一旦发生,就能够被发现,从而触发执行相应的规则。对于主动WEB_DB来说,它首先需要获取从浏览器上传到服务器的SQL语句串及其参数,然后才去检查EB中的事件,同样可以采用下面的模式:
  ADBS=DBS + EB + EM
  即一个主动数据库系统(ADBS)是由一个传统数据库系统(DBS)、事件驱动的知识库系统(EB)和事件监听器(EM)所组成。对于通常的主动数据库系统来说,EM只是随时监听EB中的事件是否发生。而对于主动WEB_DB来说,它首先需要获取从浏览器上传到服务器的SQL语句串及其参数,然后才去检查EB中的事件。
  主动WEB_DB的显著特点是将事件监听器放在三层结构的中间层,由应用服务器负责事件监听器的建立和销毁,执行的动作由事件监听器调用WEB―DB应用程序或触发器来实现。
  实现主动数据库的关键是要设置一个事件监听机制,它应该有效地检测出事件的发生,并且自动的执行相应的动作。当事件监听机制检测到某个事件时,相应的规则可以立即执行,也可以是延迟执行。立即执行是使事件监听机制检测到事件发生时立即激活所需要的动作;一般可以采用中断程序,在动作执行完成后再返回到被中断的程序;延迟执行是当事件监听机制检测到事件发生时,并不立即激活所需要的动作,而是延迟到事务结束之前再激活所需要的动作,这种方法实现起来比较困难,但能够避免执行错误的动作。
  事件-条件-动作,一般描述为:
  on event
  if condition
  then action。
  在主动WEB_DB中,ECA机制可以采用下面的形式化描述:
  ON [insert|delete|update] to table_name [.field]
  Check condition
  If condition is true
  then exec trigger/listening
  而执行方式可以放在trigger/listening应用中。
  根据CRM的特点,规则库可以在数据库设计阶段定义并存储在数据库中,与应用无关,可以被数据库应用程序所共享。采用通常的关系模式来表示:
  rule(rule_name,event, condition, action,execute_mode)
  rule_name是规则名称;event是事件,这里表示的是对数据库的操作谓词;condition表示条件,包含在从浏览器传送来的SQL语句串中;action是应采取的动作,可以发送email、短信或电话通知,实现个性化服务;execute_mode是执行方式,可以立即执行,也可以延迟执行。
  对于简单的规则,可以采取立即触发;而对于相对复杂的规则,可以延迟到事务结束时触发。如果触发的动作只是简单的向用户发出信息(email,短信),则可以将这些信息先写到日志中,随后在任何时间里发送。
  主动规则的修改也非常方便,所有的应用程序不需要修改即可执行新的业务规则。
  开发人员只需保证主动规则正确的表达业务规则,由触发器/监听器负责保证每一条规则被正确的执行。而且可以集中在服务器一端被执行。
  
  5结语
  目前,信息系统的开发基本上都是基于WEB数据库平台。因此,现在主动数据库的应用,也主要是基于主动WEB数据库。将ECA机制部署在三层体系结构的WEB数据库系统中,既可以使用传统数据库的触发器,又可以使用WEB应用来实现数据库的主动服务功能;银行客户关系管理(CRM)在中国正以迅猛的速度普及。
  
  参考文献
  [1]Widom J, Ceri S. Active Database Systems [M] California: Morgan-Kaufmanns, Matco, 1995.
  [2] 毕利.主动数据库的模型及实现途径.计算机工程,2000.9.
  [3] 梁雯.主动数据库及其研究现状.信息系统,2001.2.
  [4] 李凡长,李彤,沈华芬.动态模糊主动数据库系统设计方法的初探,计算机科学,1997.24(1).
  [5] 李昭原等.数据库技术新进展.清华大学出版社,2000.
  [6] 刘云生等.ERTDBMS中主动机制的设计与实现.计算机应用,2003.8.

猜你想看
相关文章

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

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