关键字 |
活跃的对象-关系数据库管理系统,eca规则、触发器、调度规则,规则冲突 |
介绍 |
活跃的ORDBMS ORDBMS的正常功能,支持扩展到监控数据库状态的变化和反应具体情况(事件)自动无需用户干预。的反应性行为活跃ORDBMS的形式是由触发器Event-Condition-Action (ECA)规则范式[1]。为了支持活动功能监测和应对特定的事件发生,每个活跃的对象-关系数据库系统都有一个规则定义的语言,用于定义规范的ECA规则描述反应行为通常被称为知识模型,还拥有一个执行模型,决定了在运行时规则处理[2]。知识模型描述等结构特点的规则类型的事件,环境条件和操作,执行模型捕获的运行时特征规则处理。的反应性行为活跃ORDBMS取决于规则执行模型,因此规则执行语义是活跃的ORDBMS的一个重要方面。在活跃的ORDBMS规则处理发生在数据库状态发生改变时执行的是更新、插入和删除操作用户请求的应用程序。 |
活跃的ORDBMS反应自动预定义事件的发生ECA规则的定义。在一个通用的主动规则系统,一个事件发生原因同时多个规则被触发,因此它们的执行需要一致,是一个重要的活动ORDBMS的规则执行模型所面临的问题,这个问题被称为触发规则冲突。为了解决触发规则冲突问题,活跃ORDBMS的规则执行模型提供了一种机制被称为规则调度支持多个触发规则的执行是基于两个方面:(i)下的排序规则被解雇是基于动态和静态优先级等冲突解决策略计划和(2)被执行的规则数量的使用顺序或并发执行的规则[2]。保持活跃的确定性属性规则处理,数据库管理系统必须提供规则调度[3]。 |
在本研究工作中,第二节介绍了审查规则调度的相关工作。第三节指定的规则调度机制。第四节描述的发展规则调度程序处理触发规则的冲突规则积极ORDBMS的处理。第五节显示了发达的性能结果规则调度程序执行多个触发规则。本研究的关键是减少所有规则的执行时间,支持并发和顺序规则执行改善触发处理活跃ORDBMS的性能。 |
相关工作 |
管理多个触发规则是一个主要的主动数据库系统中的调度问题(adb)。Kerdprasop et al .,[3]提出的规则调度根据从数据库知识诱导状态修改。在[4]规则调度引入了基于使用学习自动机规则执行概率的估计。金et al .,[5]介绍了并发调度规则使用生成的优先级的逻辑图。这项研究工作在亚行与关系数据库系统集成支持基于静态优先级调度规则使用数字或相对方案顺序执行的规则(2、4)。在活跃的ORDBMS标准(SQL3),已经完成了多个规则触发规则调度程序根据系统定义的优先级顺序执行的规则[6 2]。然而,现代大型应用程序需求支持复杂的数据处理,检测事件不同来源和不同的评估条件和可以执行的执行操作在不同的情况下,一个增强的规则调度程序需要提高多个触发规则的命令和执行在活跃的ORDBMS [7 8 9]。因此在存在多个触发规则,规则调度程序应该支持基于用户定义的优先级顺序和并发规则执行计划是一个活跃的ORDBMS的重要研究工作。 |
规则调度机制 |
ORDBMS的活跃,一个应用程序定义了规则和指定所需的每个规则的形式ECA的行为。一旦定义的一组规则,主动数据库系统监控事件的发生预先确定的ECA规则。每当一个指定的触发事件发生可能导致多个规则同时,规则的规则发生冲突和调度程序决定了秩序和规则执行的执行语义。当多个规则被触发,之间的执行顺序规则可以由分配优先级和规则的执行是基于他们的耦合模式。 |
规则调度机制被设计来处理触发规则冲突活跃对象-关系数据库系统[10]。在这部作品中,两个重要的因素,如优先级和耦合模式被认为是设计规则调度程序。调度器使用用户定义的规则优先级方案排序规则。规则可以被放置在订单使用数值方案每个规则的绝对价值。用户定义的优先配屋计划提供了更好的机会秩序规则基于优先级定义的应用程序比系统的要求。自定义的优先级是动态的,可以添加规则,随时改变,放弃了在规则集的存在。 |
耦合模式指定的时间执行触发事务时触发事务或事件。如果规则是直接耦合模式,然后触发事务可以立即执行,触发事务必须等待,直到完成了交易。然而如果延迟模式的规则,然后触发(主要)事务可以继续触发规则不得不等待触发的完成交易。规则调度程序设计并发执行多个触发规则和相同的优先级顺序具有不同优先级的基础上,耦合模式。本工作使用的综合建筑设计需要积极行为到ORDBMS和主要组件扩展整合提供活动能力包括规则管理器和规则调度程序相关的事务管理器与底层数据库管理系统。 |
发展的规则调度程序 |
规则调度程序负责处理触发规则冲突当多个规则同时触发了一个事件。规则调度程序通过引入了设计规则调度机制[10]。规则调度原型开发两个阶段,比如规则维护和规则处理。规则维护阶段是用来定义和维护规范的ECA规则的应用程序需要自动监测和反应。基于应用程序的需求系统,用户指定与事件相关的规则定义,条件和行动,优先级和耦合模式,如图1所示。规则处理阶段是用来显示规则调度程序的功能,包括基于用户定义的优先级的排序规则和规则的执行顺序和并发基于直接和延迟耦合模式,如图2所示。发达规则调度程序支持并发执行的规则与平等的重点和与不同的优先级顺序执行的规则,只要原始事件发生原因同时触发多个规则。 |
c#开发规则调度程序实现了多线程并发系统规则执行。调度程序所需的重要特性是能够启动和停止线程(规则),这个特性可以通过使用线程功能。每个规则触发应用程序执行期间是一个单独的线程。线程的执行控制的调度器根据其优先级和耦合模式。每当一个事件触发多个规则具有不同优先级和耦合模式的同时,各个步骤的考虑是:调度器隔离规则基于他们的耦合模式,因为直接规则必须首先执行即使延期规则有一个更高的优先级。隔离后,调度器必须暂停主(触发)事务。调度器可以使用线程功能暂停和继续规则处理。线程执行后可以控制线程的创建和各种参数已知时形成一个线程来执行规则是父母规则id,优先级和耦合模式。 |
数据结构称为process-rule-list用于存储的信息包括父规则id、优先级和耦合模式,当创建一个线程获得规则。规则的规则id是线程id创建线程时,得到的规则。系统分配一个惟一的id创建每个线程。规则触发的顶级交易父id为1。优先级和耦合模式可以从规则获得规则创建期间提供。应用收益通常直到研究一个检测到一个事件和过程调用线程实现的概述图3所示。表示一个事件时,事件检测器检测到的原始事件发生。一旦检测到一个事件,一组规则触发的规则处理阶段所示图3。每一个事件在应用程序中发现用电话通知,为每个规则创建一个线程。对于每个符合条件的规则,一个单独的线程是创建和插入规则列表。 Then the Notify calls the function Process_imm-rules. |
函数Process_imm-rules激活调度程序和规则执行基于优先级和耦合模式。函数然后看着process-rule-list发现触发规则的直接耦合模式基于当前线程id。当调度程序激活一个规则,它醒来process-rule-list线程与线程id相关联。然后线程检查规则的条件,并执行相关的行动基于优先规则如果条件的求值结果为true。调度程序被激活和函数Process_imm-rules等待直到所有触发规则的直接耦合模式完成其执行。 |
为了过程延迟规则,使用原始事件Notify_def-rules这立即触发一个预定义的规则,这个规则调用函数的操作部分标明调度程序处理延迟Process_def-rules规则。Notify_def-rules事件等待完成所有递延规则和一个标志变量用于阻止父事务提交之前所有的规则产生完成其执行。当一个规则执行线程完成其相应的规则从process-rule-list删除最后的顶级交易,规则process-rule-list是空的。时的事务提交应用程序继续进一步process-rule-list没有更多的规则执行。 |
的psuedocode规则调度和执行使用线程和线程函数包装图4所示。正如上面详细的,当一个原始事件标志着事件检测器通知原始事件的发生并确定触发规则执行。每当触发规则直接耦合模式,创建一个线程的线程id和转换函数检查条件和执行适当的行动,一个线程优先级。一旦所有的直接形式的规则是线程,主应用程序暂停和规则调度程序被激活。所有触发规则的执行后,触发事务恢复执行。因为延期执行规则只有当Notify_def-rules原始事件是暗示,因此延迟规则相同的方式立即治疗法则。 |
|
性能和结果分析 |
在高级应用系统中,一个事件发生原因触发多个规则的同时,规则调度程序需要支持顺序、并发和执行规则基于用户定义的优先级方案是一个需要研究的工作。evlauate发达的表现规则调度程序支持并发和顺序规则执行的线程执行时间顺序、并发和规则执行都比较如表1所示。表1所示的值绘制条形图(图5),结果表明,开发的调度器花费更少的并发执行规则的执行时间从3 - 7比执行规则所花费的时间从3 - 7顺序和规则执行。也从表1,发现发达调度器花费更少的执行规则的执行时间从3 - 7在规则执行顺序执行规则所花费的时间。 |
图5显示,发达调度程序提高了系统性能,减少规则的所有执行时间比传统的通过支持并发和规则执行规则调度程序只支持顺序规则执行触发器处理ORDBMS的活跃。发达的规则调度原型系统提供了定义和维护规则的设施系统,支持并发和顺序执行基于用户定义的规则prioity方案处理触发规则冲突,每当一个原始事件发生原因引发的多规则同时在先进的应用程序。 |
结论 |
活跃ORDBMS监控事件的出现,定义在数据库状态和反应自动预先确定的ECA规则的定义,当数据库更改的状态相关的应用系统。只要指定事件发生导致触发多个规则的同时,规则调度程序负责处理触发规则冲突,决定了秩序和规则的执行语义。在活跃的ORDBMS标准,规则调度程序执行了多个触发规则根据系统定义的优先级顺序。这项研究工作发展一个有效的规则调度机制活跃ORDBMS支持多个触发规则的执行顺序和并发基于用户定义的优先级方案。发达规则调度程序在本研究工作中,提高了触发器的性能处理通过减少对所有规则的执行时间,支持并发和顺序规则执行的规则调度程序只支持顺序规则执行处理引发活性ordbms规则冲突。 |
|
表乍一看 |
|
表1 |
|
|
数据乍一看 |
|
|
引用 |
- a·艾森伯格j·梅尔顿,“SQL: 1999年,原名SQL3”, SIGMOD记录,28卷,第一,131 - 138年,1999页。
- 西北佩顿,o·迪亚兹,“主动数据库系统”,ACM计算调查,问题1,卷31日pp.63 - 103, 1999。
- n . Kerdprasop s Pilabutr k . Kerdprasop“改善医疗数据库一致性与感应触发规则”,新的进步inIntelligent决定技术,研究计算智能,199卷,265页。¢274,斯普林格出版社,2009年版。
- 一个。Rasoolzadegan,核磁共振Meybodi,“使用学习自动机主动数据库规则调度”,国际期刊的计算机,数学科学和应用程序,4卷,1 - 2号,第262 - 239页,ISSN: 0973 - 6786系列出版物,2010年1月至6月亚太地区。
- y,城市,时任S.W.迪特里希”,并发规则调度算法对主动规则”,数据与知识工程、爱思唯尔,卷。60,问题3,pp.530 - 546, 2007。
- Kulkarni:马托斯r·科克伦sql-3“主动数据库特性”,在n·佩顿(主编),活动规则在数据库系统中,pp.197 - 219,斯普林格出版社,1999年版。
- k·杜布,b .吴”,一个通用的基于计算机的临床实践指南管理方法使用ECA规则范式andactive数据库”,国际技术管理杂志》上(IJTM) Vol.47 1/2/3号,页。75 - 95年,2009年。
- m . Schaff a . Koschel密度Grivas, Astrova,“一个活跃的DBMS风格为云环境”活动服务,InternationalConference在云计算、网格、和虚拟化,pp.80 - 85, IARIA, ISBN: 978-1-61208-106-9, 2010。
- C.D. Allport围阴Mok,严峻·海克曼,“实现业务流程:数据库触发器的方法”,国际期刊ofKnowledge-Based组织,3卷,第二,pp.36-55 Apr-June 2013。
- s .米纳克希诉Thiagarasu”设计规则调度程序触发规则冲突活跃的对象-关系数据库系统”,国际期刊的新兴技术在计算和应用科学,7卷,第二,pp.185 - 189, ISSN 2279 - 0055, 2014年2月。
- f . Najafabadi h . Reza A.H.纳文,“规则调度方法在主动数据库系统:一个简短的调查”,在《6 thinternational会议信息和通信技术的应用,IEEE, pp.1-5, 2012年。
- s . Wasserkrug a .加o . Etzion y Turchin认为,“有效的基于规则的不确定事件处理系统”,IEEE onKnowledge和数据工程,24卷,第一,pp.45-58, 2012年。
|
|