(计算机应用技术专业论文)任务执行器软件构架及优化方法研究.pdf_第1页
(计算机应用技术专业论文)任务执行器软件构架及优化方法研究.pdf_第2页
(计算机应用技术专业论文)任务执行器软件构架及优化方法研究.pdf_第3页
(计算机应用技术专业论文)任务执行器软件构架及优化方法研究.pdf_第4页
(计算机应用技术专业论文)任务执行器软件构架及优化方法研究.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(计算机应用技术专业论文)任务执行器软件构架及优化方法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

n a n j i n gu n i v e r s i t yo f a e r o n a u t i c sa n d a s t r o n a u t i c s t h eg r a d u a t es c h o o l c o l l e g eo f i n f o r m a t i o ns c i e n c ea n d t e c h n o l o g y r e s e a r c ho nt a s ke x e c u t e rs o f t w a r e a r c h i t e c t u r ea n d o p t i m i z a t i o nm e t h o d s a t h e s i si n c o m p u t e rs c i e n c ea n dt e c h n o l o g y b y f e n gh u a q i a n g a d v i s e db y a s s o p r o f 纬纫l i n r u i s u b m i t t e di np a r t i a lf u l f i l l m e n t o ft h er e q u i r e m e n t s f o rt h ed e g r e eo f m a s t e ro f e n g i n e e r i n g d e c e m b e r , 2 0 0 9 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进 行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外, 本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所 涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标 明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允许 论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的学位论文在解密后适用本承诺书) 作者签名:雩盈兰童隧 日期:2 叟乜墨。f 南京航空航天大学硕士学位论文 摘要 本文以嵌入式数据库软件的研发为背景,探讨了任务执行器的软件构架,旨在建立一个既 满足实时性要求义能节省内存空间的任务执行模型。以面向对象构件的方法为指导,借助统一 建模语言,对任务执行器进行领域分析、设计和实现,并运用设计模式等软件体系结构方法和 技术,对系统模型进行了优化设计。 首先,课题对任务执行技术进行了分析和研究,并借助协同方法论的观点,对任务执行器 中的协同方法和协作方式进行阐述,辅以建模表示方法的分析,同时对v x w o r k s 进程间通信技 术和t o r n a d o 交义开发技术进行了探讨。 然后,在分析了嵌入式数据库的功能需求框架的基础上,对任务执行器的需求进行了抽象 和描述,给出了任务执行器的功能划分并阐述了各个组成模块的功能,并用b p e l 对任务执行过 程进行了形式化描述。进而针对任务分配,对查询优化的优化算法进行了研究并给出了算法模 型的规范描述。综合以上分析结果,建立了任务执行器的用例模型和活动模型。 接着,在领域设计阶段,建立了基于对象体系结构的任务执行器软件构架模型,使用初始 类模型、细化类模型来描述对象的结构关系,并使用交互模型和状态模型来描述对象的行为, 同时设计了任务执行器的数据结构。 最后,给出了软件开发环境及其配置,并结合a c m e 表示法给出了任务执行器软件构架的 典型描述,以及系统中典型应用的程序实现。 文中分析得到的任务执行器的模型框架、建模原则、实现方法等都被运用于嵌入式数据库 系统的研究和实现中,优化了任务执行的过程,提高了嵌入式数据库的可实现性,具有一般的 理论意义和丁程实用价值。 关键词:任务执行器,接口函数调用,查询优化算法,遗传算法,设计模式,b p e l 描述,a c m e 语义模板 任务执行器软件构架及优化方法研究 a b s t r a c t t h es o f t w a r ea r c h i t e c t u r eo f t a s ke x e c u t e ri se x p l o r e db a s e do i lt h er e s e a r c ha n dd e v e l o p m e n to f e d bs y s t e mi nt h i sp a p e r , w h i c ha i m e dt oe s t a b l i s h e dat a s ke x e c u t i o nm o d e lc a ns a v em e m o r ys p a c e a n dm e e tt h er e q u i r e m e n to fr e a l - t i m e w i t ht h eg u i d a n c eo fo b j e c t o r i e n t e do rc o m p o n e n t - o r i e n t e d m e t h o d o l o g ya n dt h eh e l po fu m l ,t h i sp a p e rp r e s e n t sd o m a i na n a l y s i s ,d e s i g na n di m p l e m e n t a t i o no f t a s ke x e c u t e r , a n du s es o f t w a r ea r c h i t e c t u r em e t h o d sa n dt e c h n o l o g i e ss u c ha sd e s i g np a t t e r nt o o p t i m i z ei t ss o f t w a r ea r c h i t e c t u r e f i r s to fa l l ,t h et e c h n o l o g yo ft a s ke x e c u t i o ni sa n a l y z e da n dr e s e a r c h e di nt h i st o p i c w i t ht h e v i e wo fc o l l a b o r a t i o nm e t h o d o l o g y , t h ec o l l a b o r a t i o nm e t h o d sa n dc o l l a b o r a t i v ea p p r o a c h so ft a s k e x e c u t e ra r ed e s c r i b e d a n dt h e m o d e l i n g m e t h o d si s a n a l y z e d a f t e r t h a t i n t e r - p r o c e s s c o m m u n i c a t i o nt e c h n o l o g yo nv x w o r k sa n dt o r n a d oc r o s sd e v e l o p m e n tt e c h n i q u ea r er e s e a r c h e d t h e n ,t h er e q u i r e m e n t so ft a s ke x e c u t e ra r ea b s t r a c t e da n dd e s c r i b e db a s e do nt h ea n a l y s i so f t h ef u n c t i o n a lr e q u i r e m e n tf r a m e w o r ko fe d b t h es o f t w a r ei sd i v i d e da n dt h ef u n c t i o no fe v e r yu n i t i se x p o u n d e d ,a n dt h ef o r m a ld e s c r i p t i o no ft h ee x e c u t i n gp r o c e s si sg i v e nb yu s i n gb p e l a l s o , a l g o r i t h mo fq u e r yo p t i m i z a t i o na n d i t sf o r m a ld e s c r i p t i o na r ep r o p o s e df o rt a s ka s s i g n b a s e do nt h e a b o v ea n a l y s i s ,t h eu s e - 9 3 a s em o d e la n dt h ea c t i v i t ym o d e lo f t a s ke x e c u t e ra r ee s t a b l i s h e d a f t e rt h a t ,i nt h ep h a s eo fd o m a i nd e s i g n ,t h es o f t w a r ea r c h i t e c t u r em o d e lo ft a s ke x e c u t e ri s e s t a b l i s h e db a s e do no b i e 吐a r c h i t e c t u r e ,i tb ei n i t i a lc l a s sm o d e la n dd e t a i l e dc l a s sm o d e lt od e s c r i b e t h es t r u c t u r er e l a t i o n s h i po fo b j e c t sa n du s et h ei n t e r a c t i v em o d e la n ds t a t em o d e lt od e s c r i b et h e o b j e c tb e h a v i o r , a n dt h e nt h e d a t as t r u c t u r eo ft a s ke x e c u t e ri sd e s i g n e d f i n a l l y , t h es o f t w a r ed e v e l o p m e n te n v i r o n m e n ta n dt h es y s t e mc o n f i g u r a t i o na r eg i v e n b a s e do n a c m e r e s p r e s e n t a t i o n ,t h et y p i c a ld e s c r i p t i o no ft a s ke x e c u t e rs o f t w a r ea r c h i t e c t u r ei sg i v e n ,a n dt h e t y p i c a li m p l e m e n t a t i o no f t a s ke x e c u t e ri sa l s op u tf o r w a r d t h ea n a l y s i sa n di m p l e m e n t a t i o no ft h es o f t w a r em o d e li nt h i sp a p e r , w h i c ho p t i m i z et h e e x e c u t i n gp r o c e s sa n di m p r o v et h ep e r f o r m a n c eo fe d b ,h a v eg e n e r a l l yt h e o r e t i c a lm e a n i n ga n d e n g i n e e r i n gp r a c t i c a lv a l u e k e y w o r d s :t a s ke x e c u t e r , i n t e r f a c ef u n c t i o nc a l l ,q u e r yo p t i m i z a t i o na l g o r i t h m ,g e n e t i ca l g o r i t h m , d e s i g np a t t e r n ,b p e ld e s c r i p t i o n ,a c m es e m a n t i ct e m p l a t e 南京航空航天大学硕士学位论文 目录 第一章绪论l 1 1 嵌入式数据库的应用与发展概况1 1 2 课题研究意义和研究内容3 1 2 1 研究意义3 1 2 2 研究内容与方法4 1 3 课题研究的主要t 作5 第二章任务执行器开发与建模的关键技术6 2 1 接口处理与任务执行技术6 2 1 1 接口处理技术6 2 1 2 任务执行技术6 2 2 协同表示方法7 2 2 1 协同- t 作概述7 2 2 2 协同应用建模的关键方法9 2 2 3 任务执行器中的协同方法。1 1 2 3 建模表示方法1 1 7 2 3 1 工作流描述语言b p e l 1 l 2 3 2 软件体系结构描述语言1 4 2 4v x w o r k s 进程间通信技术与t o r n a d o 交叉开发技术1 7 2 4 1v x w o r k s 体系结构1 7 2 4 2v x w o r k s 进程间通信技术1 9 2 4 3t o r n a d o 交叉开发技术2 0 2 4 4 交叉调试方法2 l 2 5 本章小结2 3 第三章任务执行器领域分析及关键算法2 4 3 1 嵌入式数据库功能需求框架2 4 3 2 任务执行器领域需求2 5 3 3 查询优化关键算法。2 7 3 4 任务执行器领域模型3 0 3 4 1 任务执行器用例模型3 0 3 4 2 任务执行器活动模犁3 3 3 5 任务执行器的工作流语言描述3 4 3 6 本章小结3 7 第四章任务执行器领域设计3 8 4 1 对象结构模型设计3 8 4 1 1 初始类模型设计3 8 4 1 2 细化类模型设计4 0 任务执行器软件构架及优化方法研究 4 2 对象行为模型设计4 l 4 2 1 任务执行器交互模型4 2 4 2 2 任务执行器状态模型4 4 4 3 主要数据结构设计4 8 4 4 本章小结5 l 第五章任务执行器的典型应用实现5 2 5 1 开发环境选择与配置5 2 5 2 任务执行器的a c m e 描述5 3 5 3 查询优化算法实现5 6 5 4 本章小结6 1 第六章总结与展望6 2 参考文献6 4 致 射6 8 在学期间的研究成果及发表的学术论文6 9 南京航空航天大学硕士学位论文 图表清单 图2 1协同软件的三要素8 图2 2一个a c m e 描述的元素1 6 图2 3基于v x w o r k s 操作系统的嵌入式系统体系结构1 8 图2 4t o r n a d o 开发环境2 0 图2 5插桩法的工作原理2 2 图3 1嵌入式数据库系统功能框图2 4 图3 2任务执行器用例图3 1 图3 3任务执行控制器用例图3 2 图3 4任务执行控制用例活动图3 4 图4 1任务执行器初始类图3 9 图4 2任务执行控制顺序图4 3 图4 3任务执行控制状态图4 6 图5 1任务执行器构件图5 4 表4 1对象属性表4 1 表4 2对象操作表j 4 1 表4 3嵌入式数据库任务执行器数据结构清单4 8 表4 4基本表( t a b l e ) 数据结构详细设计表4 8 表4 5记录( r e c o r d ) 数据结构详细设计表。4 9 表4 6字段( f i e l d ) 数据结构详细设计表4 9 表4 7字典表项( d i c t i o n a r y i t e m ) 数据结构详细设计表5 0 表4 8索引( i n d e x ) 数据结构详细设计表5 0 任务执行器软件构架及优化方法研究 注释表 le d be m b e d d e dd a t a b a s e 2d r d bd i s kr e s i d e n t d a t a b a s e 3 m c em o b i l ec o m p u t i n ge n v i r o n m e n t 4p c ep e r v a s i v ec o m p u ti n ge n v i r o n m e n t 5b p e lb u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e 6a d la r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e 7i p ci n t e r p r o c e s sc o m m u n i c a t i o n 8u m lu n i f o r mm o d e li n gl a n g u a g e 9a p i a p p li c a t i o np r o g r a m m i n gi n t e r f a c e 1 0g ag e n e t i ca l g o r i t h m 1 1 q o a q u e r yo p ti m iz a ti o na l g o r it h m 1 2c s c w c o m p u t e rs u p p o r t e dc o o p e r a ti v ew o r k 1 3r p cr e m o t ep r o c e d u r ec a l1 1 4p o s i xp o r t a b l eo p e r a t i n gs y s t e mi n t e r f a c eo fu n i x 1 5b s pb o a r ds u p p o r t p a c k a g e 一 南京航空航天大学硕士学位论文 第一章绪论 1 1 嵌入式数据库的应用与发展概况 数据库技术总是与计算环境的发展阶段相适应,新的计算环境和需求促成数据库技术的形 成和发展。计算环境从集中式、分布式、网络环境到目前深受瞩目的移动计算环境m c e ( m o b i l e c o m p u t i n ge n v i r o n m e n t ) 和普适计算环境p c e ( p e r v a s i v ec o m p u t i n ge n v i r o n m e n t ) 等多种 计算环境。在分布计算的基础上,计算环境进一步扩展为包含各种移动设备、具有无线通信 能力的服务网络,构成了移动计算环境。随着移动计算环境发展,数据库系统也从集中式、分 布式数据库系统发展到今天的嵌入式数据库系统担引。 嵌入式数据库管理系统是近几年才兴起的一项新的数据管理技术。它以目前成熟的数据库 技术为基础,针对嵌入式设备的具体特点,实现对移动设备和嵌入式设备上数据的存储、组织 和管理。嵌入式数据库系统是指可在嵌入式设备中独立运行的一种数据库系统,用以处理大量 的、时效性强且有严格时序的数据,它以可靠性、高实时性和高信息吞吐量为目标,其数据的 正确性不仅依赖于逻辑结果,而且依赖于逻辑结果产生的时间h 1 。 嵌入式应用系统一般只要求完成简单的数据查询和更新,但是对处理速度要求高,且要求 存储在设备上的数据具有高度可靠性。除此之外,还要求易于维护、小巧。嵌入式数据库主要 管理存放在s r a m 、r o m 或f l a s hr o m 中的系统数据和用户数据忙引。由于系统内存小、c p u 速度 慢,因此,在嵌入式数据库系统中数据的结构和算法以及数据查询处理算法就显得十分关键, 必须采用特殊的数据结构、算法及相关的数据库精简技术盯引。 嵌入式数据库系统可以支持移动用户在多种网络条件下有效地访问所需数据,完成数据查 询和事务处理:通过嵌入式数据库的同步技术或数据广播技术,即使在连接中断的情况下用户 也可以继续访问所需数据,这使得嵌入式数据库系统具有高度的可用性;它还可以充分利用无 线网络固有的广播能力,以较低的代价同时支持多移动用户对后台主数据源的访问,从而实现 高度的可伸缩性。 嵌入式数据库指事务和数据都可具备显式定时限制的数据库管理系统。系统的正确执行既 要满足逻辑约束又要满足时间约束,因此,事务处理中有众多不可预测的因素存在,即时间约 束与逻辑约束的并存导致实时事务的模型、调度策略和并发控制技术成为研究热点。从前面对 嵌入式数据库的概述中可以看出,与大型企业数据库系统相比,嵌入式数据库系统具有以下几 个主要特点姻1 。 1 占用存储空间小 嵌入式系统资源有限,有些甚至没有磁盘,系统的数据不象硬盘数据库系统( d i s kr e s i d e n t l 任务执行器软件构架及优化方法研究 d a t a b a s es y s t e m ,d r d b ) 的数据可以驻留在磁盘中。在一个d r d b 中,系统的开销主要花费在 i o 操作上,而在嵌入式系统中,数据人部分存储在内存中,因而在这种情况下嵌入式系统数 据处理有着其自身适合嵌入式应用的特点。 2 可靠性、可管理性和安全性 嵌入式系统通常在移动、相对封闭的环境下使用,信息技术支持人员无法对其提供现场技 术支持。因此,嵌入式数据库系统必须可靠,而且能在无需人工管理的情况下运行,鉴于这一 特点,对于嵌入式系统中使用的数据库来说,其自身的可靠性、可管理性和安全性显得特别重 要。 3 互操作性和可移植性 嵌入式数据库系统都是针对具体的开发平台和操作系统设计和实现的,但为了保证与其它 的嵌入式数据库或者大型企业数据库进行信息共享,数据库开发人员在开发系统的过程中应该 能提供一定的机制,实现与其他数据处理程序的互操作,以及相应的数据同步功能。同时嵌入 式系统的应用领域非常广泛,所采用的操作系统等软件和硬件环境也千差万别,为了适应这种 差异性,嵌入式数据库系统的移植性必须得到充分考虑。 4 可裁剪性 嵌入式应用对嵌入式数据库系统的要求常常差别很大。一个嵌入式应用一般不会使用嵌入 式数据库系统所提供的所有功能,因此,为了节省磁盘空间和提高效率,嵌入式数据库必须支 持可裁剪性,这样开发人员才能够根据特定的应用定制嵌入式数据库的功能。 传统的数据库系统一般都运行在大型的计算机设备上,包括主机系统和各种各样的服务器, 随着计算设备的日益小型化,数据库的小型化也日益迫切。与人型计算机设备相比,这些小型 的计算设备内存较少,硬盘也较小( 甚至完全没有硬盘,如许多手持设备和智能家电) ,因此简 单地将原来的大型数据库移植到小型设备上效果并不好,必须依据这些设备的特点专门设计数 据库系统n0 。嵌入式数据库管理系统除了要求零维护以外,还要求:小巧性、代码量小;为了 避免s q l 和o d b c 界面的时间和空间的开销n ,提供可编程的界面,能和应用进行紧密耦合; 还要求高的可配置性和可适应性;支持全驻内存的操作;支持多线程。 在国外,s y b a s e 为移动和嵌入式计算提供了业界领先的完整解决方案s y b a s es q la n y w h e r e s t u d i o7 0 :o r a c l e 公司针对移动和嵌入式计算推出了o r a c l el i t e ;i b m 的移动式解决方案 是两个独立的产品d b 2s a t e llit e 和d b 2e v e r y p l a c e 。 在国内,嵌入式数据库也从研究阶段发展到应用阶段,如人大金仓研发的“小精灵”系统、 东北大学推出的o p e nb a s em i n i 以及北京大学的e c o b a s e 等嵌入式数据库系统,这些嵌入式数 据库系统一般对资源要求较低,占用内存空间较小,从几十l ( b 到几百k b 不等;支持c 语言a p i 函数和标准s q l 子集的开发接口,并提供了数据同步的功能旧1 。 2 南京航空航天大学硕十学位论文 现在嵌入式数据库已经较为成熟,成为嵌入式系统不可缺少的部分,但是也存在着理论研 究原型设计与产品商业化分离的不足。不过随着计算终端的小型化,应用领域的不断扩展,可 以预见,不久的将来嵌入式数据库将无所不在n 引。执行引擎作为e d b 的核心,对e d b 的性能高 低有决定性的影响,本文基于对执行引擎的研究,提出了任务执行器的概念,在e d b 中起全局 控制的作用,总控e d b 中其他模块来保证e d b 系统高效协调的工作。 目前国内外的一些研究论文或软件产品都有关于嵌入式数据库任务执行器及其相关知识的 研究。文献 1 3 提出了一种基于构件技术构建嵌入式数据库执行引擎的技术,采用构件技术将 e d b 划分为查询执行模块、数据管理模块、存储分配模块和操作算子模块以及一些辅助模块, 支持辅助模块的动态添加和移除。查询执行模块是整个e d b 的核心,可以调用和管理其他模块, 并且需要管理所有查询,支持类s q l 语言,查询执行模块设计成事件驱动执行的形式,与其他 模块协同工作,共同完成执行任务。文献 1 4 在分析了传统数据库的关系查询处理不适合e d b 的基础上,提出了一个针对嵌入式实时数据库的查询处理模型,查询优化的重点放在基于内存 代价的遗传算法上,更好的满足e d b 系统的资源需求,缺点是虽然节省了内存资源,但是遗传 算法的结果评价规则是静态的,不能适应动态的改变。文献 1 5 1 6 3 详细分析了b e r k e l e yd b 的系统结构、技术特点以及基本的函数调用,重点研究了b d b 使用简单的函数调用接口完成所 有的数据库操作的方式,接口简明实用,避免了对结构化查询语言进行解析所需的开销,提高 了执行速度,可靠性高。 1 2 课题研究意义和研究内容 本课题以某飞机显控系统对嵌入式数据库应用需求的预研项目为背景,嵌入式数据库包括 请求处理器、任务执行器、事务管理器、文件管理器、状态监控器和存储管理器等多个组成部 分,本人主要负责任务执行器以及任务执行器和请求处理器相连的接口部分的设计与实现。 1 2 1 研究意义 传统的数据库系统支持s q l 查询和o d b c 界面,但这样明显增加了空间上的开销,另一方面 需要对每个操作增加多个上下文或多线程的切换,这又增加了时间上的开销,当然就更不用说 若存在进程间通信而增加的开销了。嵌入式应用一般很少需要处理s q l 那样的复杂查询。本课 题设计的嵌入式数据库任务执行器在接口处理上没有采用解析s o l 语句的方式,而是采用了直 接接口函数调用的方式n7 1 。这样减少了s q l 语句查询处理的开销,提高了系统运行的效率。 任务执行器是该嵌入式数据库系统的关键模块,实现了e d b 中提供的大多数a p i 函数,e d b 中的其他模块都和任务执行器之间进行直接或间接地函数调用。通过控制内部函数库来实现全 局控制,采用基于内存代价的遗传算法作为查询优化算法节省内存资源,优化执行过程。任务 执行器可进行安全控制和存取权限控制,同时还将对数据库操作的结果集和输出进行管理和调 3 任务执行器软件构架及优化方法研究 配,通过外部接口提交给外部应用。 本课题将根据嵌入式数据库任务执行器的领域需求,设计任务执行器软件模型,并将面向 对象和设计模式构件优化的思想融入其中,采用协同方法和工作流技术来优化任务执行的流程, 使任务执行更加平稳、顺畅。采用了接口函数调用的方式实现对数据库的各种操作,并用此方 式实现任务执行器的核心功能,减少了系统的开销,提高了系统的实时性,最大限度利用了系 统的资源,大大提高了运行效率。对于此问题的研究不仅具有理论意义,也同样具有重要的实 际意义。 1 2 2 研究内容与方法 本文首先从探讨嵌入式数据库的功能需求框架和任务执行器的领域需求出发,提出任务执 行器领域模型,并给出了它的b p e l 描述。然后借助统一建模语言,对任务执行器进行领域分析 和设计。最后给出了任务执行器的典型应用实现。论文在结构上分为六章,具体章节内容如下。 第一章:绪论。系统阐述嵌入式数据库中与本文相关的研究内容的发展概况,说明论文研 究的主要内容、意义和章:i 了安排。 第二章:任务执行器开发与建模的关键技术。首先探讨e d b 的接口处理和任务执行技术, 在分析传统数据库接口处理的基础上,重点提出适合e d b 的接口处理和任务执行技术,然后借 助协同方法论的观点,对任务执行器中的协同方法和协作方式进行说明。接着对工作流描述语 言b p e l 和体系结构描述语言a c 姬的特点进行分析,并针对任务执行器重点给出b p e l 描述模板 和a c m e 语义模板。最后重点对v x w o r k s 进程问通信技术和t o r n a d o 交叉开发技术进行分析和研 究。 第三章:任务执行器领域分析及关键算法。首先给出一个功能划分有自主见解的嵌入式数 据库功能框架,通过对任务执行器的需求描述,重点对任务执行器进行领域分析,并对其中的 关键算法进行了研究,最后根据对领域模型的分析,给出了任务执行器的用例模型和活动模型, 并对任务执行器给出b p e l 描述。 第四章:任务执行器领域设计。使用统一建模语言u m l ,在建立用例模型和活动模型来说 明任务执行器的功能需求的基础上,建立初始类模型、细化类模型来描述对象的结构关系,并 运用多种设计模式来优化模型,提高软件构架性能。并使用交互模型和状态模型来描述对象的 行为。最后给出了任务执行器中设计的关键数据结构。 第五章:任务执行器的领域实现。为软件开发建立适宜的开发环境。对软件构架使用a c m e 进行形式化描述。最后给出典型应用的实现代码。 第六章:总结与展望。阐述本研究工作带来的学术价值和应用价值,总结工作收效与创新 之处,并对未来可能的应用与发展提出了新的研究方向。 4 南京航空航天大学硕十学位论文 1 3 课题研究的主要工作 从资料的收集与学习和选题的确定,到论文开题和功能需求分析,再到模型设计和软件系 统的典型实现,并最终完成文章的撰写工作,本毕业论文前后历时一年多。 在这一年多的时间里,通过此次研究工作,笔者收集和阅读了大量的专业文章和书籍。首 先了解了嵌入式数据库的领域发展概况。在软件设计方面,阅读了面向对象和软件体系结构方 面的书籍和文献,深入学习了设计模式,并将其应用到软件体系结构优化中。阅读了国内外关 于嵌入式数据库方面的论文,通过不同材料的对比分析,理解了嵌入式数据库的运行过程和执 行引擎的执行原理,找出了与传统数据库之间的不同点,在此基础上提出了一个嵌入式数据库 功能框架并探讨了一个全新的任务执行器执行技术,进而提出了基于内存代价的遗传算法作为 查询优化算法。此外,还研究了大量的嵌入式数据库产品,如b e r k e l e yd b ,s q l i t e 等,细细 研读了它们的实现代码,有很大的收获,对本论文的完成和程序最后的实现有很大的帮助。 通过本课题研究,使得我对理论知识的理解得以加深,动手能力也得到了很大的提高, 并且使我对数据库技术产生了浓厚的兴趣。 5 任务执行器软件构架及优化方法研究 第二章任务执行器开发与建模的关键技术 在分析传统数据库接口处理的基础上,针对嵌入式数据库的特点,提出了新的接口处理及 任务执行技术,并引入了协同方法来优化执行过程。对建模表示方法b p e l 和a c 胍的特性和模 板进行了阐述,同时研究了v x w o r k s 进程间通信技术和t o r n a d o 交叉开发技术,为软件的实现 提供了技术铺垫。 2 1 接口处理与任务执行技术 2 1 1 接口处理技术 传统数据库的接口处理采用对结构化查询语言进行解析和处理的方式,以流模式来编译, 整个编译过程贯穿词法分析、语法分析、语义分析和代码生成等四大处理环节。这种方式应用 到嵌入式数据库中存在一些明显缺点引。 首先,各个功能部件是紧密相连的,上层功能依赖下层功能,甚至下层功能作为上层功能 的子功能,因此整个系统的耦合度比较高;其次,编译器的各个部件是顺序执行的,上层部件 等待下层部件任务完成后再执行,部件之间联系紧密,不利于支持并发操作,同时,对于多个 编译过程也不能做到并发执行;最后,执行过程中对查询语言进行解析优化本身的开销非常大, 不适合嵌入式环境下的实时性和系统运行的效率要求。 嵌入式系统一般只要求完成简单的数据查询和更新功能,不同于传统数据库大而全的设计 要求,e d b 需要更为精简、高效、可靠和独立的结构和性能,在接口处理的设计上没有采用解 析s o l 语句的方式,而是提供了一组数据库a p i 接口,使用简单的a p i 接口函数调用来完成所 有的数据库操作。针对用户的a p i 接口请求,e d b 会根据接口函数及其参数判断出要执行的操 作以及需要的数据结构等信息,进而将其转变为e d b 内部能够识别的结构以进行操作。 这种对e d b 的所有操作都采用a p i 接口函数调用的方式,提供了直接快速存取的处理能力, 避免了对某种查询语言进行解析优化,减少了系统的开销,大大提高了运行效率。 2 1 2 任务执行技术 在传统数据库系统中,用户采用s q l 语句对数据库进行访问,s q l 语句经过解析被翻译成 内部形式,然后由执行引擎根据解析后的指令进行数据库操作。简单的说,执行引擎就是数据 库管理系统中执行程序的核心部分,当用户提交查询请求后,请求的内容便被转换为执行引擎 可以执行的信息,然后执行n 射。 每种数据库的数据格式和内部实现机制都是不同的,要利用一种开发工具访问一种数据库, 6 南京航空航天大学硕士学位论文 就必须通过一种中介程序,这种开发工具与数据库之间的中介程序的核心就是执行引擎幢0 1 幢。 执行引擎是针对传统数据库提出的概念,对于访问数据库只需要调用数据库提供的a p i 接口函 数即可实现的e d b ,相对应地提出了任务执行器的概念,其作用和地位与执行引擎相同,在任 务执行器的主控下,e d 8 将用户请求转化为对数据库的具体操作。 采用构件化技术把任务执行器设计成独立的功能模块幢2 h 2 引,对e d b 的其他部分提供了标准 化、规范化的接口进行通信,本研究中e d b 的其他部分划分为事务管理器、文件管理器、状态 监控器和存储管理器等模块,任务执行器作为e d b 内部核心组件,通过接口与其他模块进行通 信,可以调用和管理其他模块,并且处理所有的查询请求,任务执行器设计成事件驱动执行的 形式,与其他模块协同工作,共同完成执行任务。由于采用了构件化设计,e d b 的几个组成模 块相对独立,任务执行器可以对其他模块进行动态添加和移谢2 4 1 。在任务执行时,任务执行器 可以根据不同应用程序的要求指定哪些模块将被使用。可以全部使用,也可以只用其中的一部 分,有很好的可裁剪性,例如有些应用程序可能需要快速的、单用户、没有事务管理功能的操 作,那么任务执行器可以使事务管理器失效,这样会减少开销。 任务执行器在e d b 中处于承上启下的核心地位,起到全局控制的作用,任务执行器内部提 供了控制机制并采用了协同方法,控制机制通过控制e d b 内部函数库来控制其他模块,进而控 制整个系统的运行,通过控制机制可以把操作引导到相应的处理模块并协调各个模块之间的交 互,如调用状态监控器监视数据库运行过程中所有的操作及状态的变化,调用事务管理器对数 据更新进行事务保护,调用文件管理器进行数据存取等。在任务执行器内部,通过控制机制可 以完成输入信息与内部数据结构的绑定,形成操作信息与地址空间进行关联的功能,还可以完 成任务权限检查以及为节省空间而进行的查询优化功能等,使用流程协同优化任务执行器执行 过程的工作流,使用角色协同解决了任务权限控制的问题。 任务执行器控制、分配和管理数据库资源,e d b 中的所有模块都和该模块之间存在直接或 间接的关系,控制机制和协同方法的引入加强了两个或多个相关但独立的模块之间的通信,使 各个模块协同工作,并且有利于多任务并发执行,保证系统的协调运行。而且任务执行通过使 用数据库提供的内部函数库调用其他模块来完成,这种通过函数调用进行控制和管理的方式并 不复杂且有快速存取的特点,适合e d b 的小巧性和灵活性。 2 2 协同表示方法 2 2 1 协同工作概述 计算机技术的发展把人类社会带入了信息化时代,计算机支持的协同工作( c o m p u t e r s u p p o r t e dc o o p e r a t i v ew o r k ,c s c w ) 的形成和发展则是信息化进程发展的必然产物。计算机 系统结构沿着“单机单用户一单机多用户一多机系统一计算机网络计算机互联、互操作和协 7 任务执行器软件构架及优化方法研究 同工作”的方向发展。计算机支持的协同工作是以人们群体协作为背景、以计算机和通信技术 的发展与融合为基础、以应用领域广泛为前提条件而发展形成的。 c s c w 经过多年的发展,现已形成一个多学科交叉的新兴领域。其主要目的在于从理论和具 体应用的角度出发,解释和研究人们的协作和交流行为,以及使用了计算机后这种协作与交流 受到哪些影响。c s c w 可以定义为:一个利用计算机技术、网络与通信技术、多媒体技术以及人 机接口技术将时间上分离、空间上分布而工作上义相互依赖的多个协作成员及其活动有机地组 织起来,以共同完成某一项任务的分布式计算机环境堙副。 c s c w 有三个要素:通信、合作和协调。其中,通信是c s c w 的基础;合作是c s c w 的形式, 是对象和内容;协调是c s c w 的关键,是支持协同工作的技术手段。类似地,将协同工作平台中 的“协同”也归纳为三个基本要素:协同对象、协同应用和网络平台。协同软件的三要素如图 2 1 所示| 2 6 。 图2 1 协同软件的三要素 角色也称协同对象,是协同软件的“主人”,协同软件是为协同对象服务的,没有协同对象, 协同软件没有任何价值。 协同软件( 应用) 是协同工作平台的核心,是支持和实现协同工作的技术。协同应用软件 包括两个方面的内容:实现协同的软件技术、支持协同的软件应用。开发者可以应用协同工具、 平台开发协同应用。用户关注的是协同应用的功能,开发者关注的是协同应用软件技术。协同 应用软件主要技术可以分为:角色协同、过程协同、信息协同和计算协同等。 网络平台是协同软件的基础。计算机网络,尤其是i n t e r n e t 是协同软件应得到的基础。协 同对象通过协同应用,在网络环境进行协同工作。与协同软件关联的网络技术主要包括组播技 术、服务质量管理、负载均衡等技术。 三要素之间的关系,类似于交通系统中的司机、车辆和高速公路一协同对象是司机,协 8 南京航空航天大学硕士学位论文 同应用是车辆,而网络则是高速公路。 。 c s c w 的基础是通信,自然的组通信发生在地理上是分布的用户之间,因此网络通信是至关 重要的。并且,在合作环境中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论