动态数据驱动应用系统
动态数据驱动应用系统(精选12篇)
动态数据驱动应用系统 第1篇
关键词:动态数据驱动应用系统,在线仿真,数据同化,动态建模
0 引言
随着各个领域研究的深入以及发展, 对于其研究所需要的系统也提出了更高的要求。系统从小型、单变量、线性向着大型、多变量、非线性的方向发展, 同时这些系统往往具有不确定性、时变性等特点[1]。由于仿真方法本身具有安全性、快捷性、无破坏性以及不受时空条件的约束等特点, 已成为研究系统不可替代的方法。目前, 仿真方法广泛应用于系统开发、系统可行性分析、系统测试与评估等方面。
随着仿真研究的深入, 各种仿真方法得到了发展和改进。分布式仿真、在线仿真、并行仿真等先进仿真方法的出现使得仿真方法变为了研究复杂系统的重要方法。但是这些仿真方法有着自己的局限性。例如分布式仿真方法虽然在系统的互操作性以及人机交互性方面取得了很大的提升, 但仍然缺乏对大型系统在动态条件下精确预测的能力[2]。在线仿真具有连续提供仿真结果并在一定的时间内给出支持、优化的效果, 但在线仿真不具备动态的自适应能力[3]。针对以上产生的问题, 需要研究新的仿真方法。
理论研究、实验测试和仿真计算已成为人们探索世界和改造世界的三种基本的方法[4]。目前, 这三种方法中, 实验测试与仿真计算之间的关系在时间维度上是静态的, 在空间维度上是分离的。它们三者之间的关系如图1 (a) 所示。由于实验测试以及仿真计算的变化不能及时直接地影响到另一方, 使得另一方做出相应的调整, 如果能加强两者之间的联系, 即在仿真过程中能加入实验现场的动态数据, 则对复杂系统就有了更好的预测, 评估以及优化如图1 (b) 所示。根据这一思路, 美国国家自然科学基金会 (NSF) 提出了动态数据驱动的应用系统 (Dynamic Data Driven Application System, DDDAS) 概念[5], 为解决复杂系统的仿真问题提供了一条新的路径。
1 DDDAS的概念
1.1 DDDAS的历史以及发展现状
20世纪80年代, Frederica Darema博士通过仿真以及测量技术在石油开采的辐射计算中最早产生了DDDAS思想[6]。随着计算机技术的发展, DDDAS思想逐步得到了实现。DDDAS概念最初提出的原因是为了解决气象以及火灾预测不准确的问题[7]。由于这些模型的参数都是早期输入, 而现实条件下这些参数都随着时间变化而变化, 两者的误差会导致预测结果与现实结果的误差。为了解决这类问题, 产生了DDDAS的概念。DDDAS术语在2000年3月被NSF组织正式确定, 在2006年的WSC冬季仿真大会上成立了DDDAS讨论组。NSF在2000-2009年期间资助了多个相关项目。除了美国的NSF, 其他各个国家的科研基金, 包括欧盟信息社会技术计划和英国科研委员会也展开了相关的研究[8], 已经在各个领域都有了广泛的应用[9]。
DDDAS在我国起步较晚, 目前这一技术在军事仿真分析领域得到了较好的研究与应用[10]。很多高校将该技术运用在复杂系统的仿真中, 取得了一定的成果。
1.2 DDDAS的基本概念
对于DDDAS, 不同的文献有着不同的定义。NSF对于DDDAS的定义是“一种新的协作应用和测量系统模式的研究, 在这种模式下, 仿真运行能够接受相应注入到应用的新数据。同时, 这些应用系统也具有动态控制测量过程的能力”[11]。其中DDDAS仿真则是应用DDDAS模式的仿真系统。
1.3 DDDAS仿真系统的优势
DDDAS仿真相对于传统仿真具有多方面的优势, 具体体现以下几个方面:
1) DDDAS仿真可以提高仿真的精度[12]。这是DDDAS仿真相对于传统仿真最大的优势。对于一些复杂、多参数、非线性系统, DDDAS仿真可以很好地提高仿真精度, 进而提升仿真的分析与预测能力。
2) DDDAS仿真的范围更为宽广。一是涉及学科的多样性, 对于多学科的研究有着很重要的意义;二是仿真的时间范围, 由于DDDAS可以用于实时控制、决策以及支持领域, 因而提高了系统的时效性。
3) DDDAS仿真的结构不同[13]。传统仿真本身不会接受动态的数据, 属于一个开环系统。而DDDAS系统将仿真系统与实际系统连接成为了一个闭环的系统:实际系统的数据会动态地注入到仿真系统中对仿真动作做出反映, 同时仿真结果会影响实际系统, 达到动态地控制实际系统的效果。
4) DDDAS仿真的效果不同[14]。由于传统的仿真效果只是仿真系统推导出结果来影响实际系统, 效果是单方向的, 而DDDAS仿真实际系统以及仿真系统的数据是互相产生影响, 在效果上属于双向的, 即仿真系统受益于实际系统的数据完成验证;实际系统通过仿真系统完善实验结果。
2 DDDAS仿真研究内容以及关键技术
DDDAS仿真系统的体系结构如图2[15]所示。
根据图2, DDDAS的关键技术包括:数据同化、动态建模、数据驱动决策、动态适应算法等。
2.1 数据同化
为了实现DDDAS仿真效果, 整个仿真系统应该具有读取不同设备的动态数据, 并将这些数据转化为同一类数据的能力。这就需要对数据同化算法进行进一步地探索。数据同化是指通过数学模型拟合观测数据的一种渐进方式, 通常用于复杂系统的建模和动态预报[16]。现在主流的数据同化算法包括四维变分同化和集合卡尔曼滤波。
1) 四维变分算法[17]。四维变分算法是从三维变分算法改进而来。前面的三维是指在某个时刻的某个时间段内物体的运动轨迹。而第四维是指加上时间这个维度。当前四维变分算法领域的研究热点包括:增量四维变分算法及其并行化计算;弱约束四维变分算法;四维变分算法和集合卡尔曼滤波算法相结合。
2) 集合卡尔曼滤波[18]。集合卡尔曼滤波算法是20世纪90年代中期集合预报与卡尔曼滤波方法的结合。它通过蒙特卡洛法计算状态的预报误差协方差, 用集合的思想解决了实际应用中背景误差协方差矩阵的估计和预报困难的问题, 可以用于非线性系统的数据同化, 同时有效降低了数据同化计算量。
2.2 仿真环境下的动态建模
在使用DDDAS方法开始仿真时, 需要对相关领域构建仿真环境, 即对仿真系统中设备进行动态建模[19]。为了使模型具有良好的结构和维护性, 建模步骤如下:
1) 研究这些仿真环境自己的特定结构;
2) 设计各个分系统以及所遵行的公共框架, 使各个分系统之间有良好的操作性以及可重用性;
3) 设计分系统之间的接口, 保证这些接口可以互相操作;
4) 根据现场的数据对系统进行调整, 找到该系统相关参数的最优值, 以建立最优方案。
2.3 数据驱动决策
数据驱动决策[20]是在决策支持系统 (DSS) 的基础上集成数据驱动的模块, 主要包含数据仓库技术、数据挖掘技术和相关的人工智能技术等。
数据仓库技术[21] (Data Warehousing) 是基于信息系统业务发展的需要, 基于数据库系统技术发展而来, 并逐步独立的一系列新的应用技术。数据仓库技术用于支持高层决策分析, 而事务处理数据库在企业的信息环境中承担的是日常操作性的任务。数据仓库技术具有为面向主题、集成化特性等特点, 侧重于数据的存储和查询分析, 为决策分析提供面向主题的集成的高质量数据, 从多视角途径获取分析数据。
数据挖掘[22]是从存放在数据库、数据仓库和其他信息库中的大量数据中挖掘用户需要的数据。其中包括人工智能、机器学习、模式识别、统计学、数据库、知识库及数据可视化等。知识发现的整个过程包括在指定的数据库中用数据挖掘算法提取模型, 以及围绕数据挖掘进行的预处理和结果表达等一系列计算步骤。数据挖掘侧重于知识的发现, 识别和抽取数据仓库中隐含的、潜在的有用信息;人工智能技术则表现为机器知识的学习、表示和管理。
3 DDDAS的应用
DDDAS概念的提出最早是为了解决工程领域的大型、复杂、非线性系统的仿真问题而产生的。从各个领域系统仿真的发展来看, DDDAS技术在仿真技术中起了相当重要的推动作用。
3.1 DDDAS在环境仿真领域的应用
DDDAS的环境仿真方面的应用处于初级阶段, 将DDDAS应用于该领域有着相当重要的意义。
刘鹏举等[23]在研究分布式水文模型过程中, 以流域水文学理论、DDDAS技术、尺度理论为指导, 提出多尺度分布式水文过程模拟研究框架, 来解决基于GIS的多尺度地表径流模型模拟关键技术问题, 为森林植被对区域农业水土资源调控范围和强度问题提供理论与方法。
Andíes Cencerrado等[24]在预测火灾演化过程, 采用DDDAS技术运用仿真模型, 改进了两层相连的预测模型, 从而提高预测火灾蔓延模拟的精度, 减少火灾造成的损失。
3.2 DDDAS在军事仿真领域的应用
DDDAS仿真方法能够实现在信息化条件下的作战仿真。基于动态数据驱动仿真的嵌入式辅助决策系统研究, 将战前准备与战中实施结合、方法制定与分析评估于一体, 如美军国防部展开了“深绿”计划[25]。这一计划涉及到开放的体系结构、多模式人机交互、混合仿真、在线评估、数据标准、互操作接口的内容。
在国内, 朱林等[26]为了能够在实时动态的条件下更加准确地仿真电子战系统的行为, 提出了基于动态数据驱动的思想, 结合电子对抗作战的特点, 采用多智能体技术建立了电子战仿真系统模型。
4 总结与展望
动态数据驱动应用系统 第2篇
(一)含义
任务驱动教学法(TaskBasedLearning)是以建构主义教学理论为指导,学生紧紧围绕一个共同的任务,在强烈的解决动机的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作的学习,并完成既定任务的一种学习实践活动。
(二)特征
该教学法的基本特征是“以任务为主线,以教师为主导,以学生为主体”。其核心是任务的设计,任务应贯穿于整个教学的过程。该教学法要求教师要改变角色,从传统的向学生传递知识的权威角色转变为学生学习的导师。任务驱动教学法有助于学生主体地位的落实。
(三)步骤
任务驱动教学是教师、学生、任务三者的积极互动过程。
1.设计任务
设计任务是实施任务驱动教学法的前提和基础,也是该教学法实施的关键环节。教师应根据教学进度和教学要求设计任务,把所要学习的知识巧妙地隐含在个个任务当中,使学生在完成任务的过程中掌握知识和技能。任务的设计应遵循典型性、实践性、针对性和系统性原则。
2.实施任务
实施任务的关键在于要做好启发引导工作,鼓励学生运用所学的知识积极思考,大胆探索。
3.效果评价
效果评价是指教师与学生共同反思任务的解决过程,通过相互评价或自我评价,以改进实施策略,提高对任务驱动法的应用能力。
二、任务驱动教学法在数据库课程教学中的应用
(一)设计任务
应在对SqlServer数据库课程教学大纲和教材进行分析的基础上,确立总体任务目标。在任务的选择上可根据学生已有的`知识结构并遵循相应的任务设计原则,以学生较容易理解的“图书借阅管理系统”为教学实例,以“学生成绩管理系统”为实训实例。
对于“图书借阅管理系统”的设计,教师要善于引导学生不断提出问题,并组织学生进行分组讨论,将任务分解为以下八个具体任务,使每个学生对所要完成的任务做到心中有数。
1.图书借阅管理系统一系统启动一系统登录
应用界面的设计应实现对登录用户的有效管理,体现系统的保密性与安全性,增强学生对系统的安全管理意识。
2.基础信息管理
对基础信息的管理包括图书类别管理、图书存放位置、读者类别管理和读者信息管理等。通过分析数据模型、创建数据库、找出不同数据库管理的差异等方式,促进学生分析数据和存储数据的能力的提高。
3.图书管理
包括入库管理、入库查询、库存查询、库存上下限设置、库存报警和统计报表等。通过创建数据库和数据表、进行简单的查询统计管理以及进行简单的触发器应用等,培养学生的数据库操作能力。
4.学生管理
包括新生管理、老生管理、查询管理和统计报表等。通过创建数据库和数据表、进行较复杂的查询统计管理以及存储过程的使用等,提高学生对数据库的操作能力。
5.借阅管理
包括借书管理、借书查询、还书管理、还书查询和到期提醒等。让学生掌握视图与索引、数据完整性、存储过程与触发器的高级应用等,培养他们对数据库的综合应用能力。
6.系统维护
包括系统初始化、数据备份和数据恢复等。要让学生掌握有关数据库系统管理的内容,强化他们的信息安全意识,提高他们对数据库中数据安全性的认识,形成数据保护意识。
7.系统管理
包括操作员设置、密码设置、操作员级别设置和操作员权限设置等。要让学生了解数据库的认证模式与访问权限,提高学生对数据库管理系统的控制能力。
8.帮助
增强应用系统的可读性和应用性,培养学生的软件开发能力。对每个任务进行讨论分析,使学生对SqlServer数据库形成一个整体的概念。了解任务的主要功能,知道程序中要做些什么,要用到哪些知识,增强学习的目的性,为学生今后的学习打下良好的基础。
(二)实施任务
1.创设情境
创设情境是激发学习兴趣的关键。在教学过程中,课程的安排应在多媒体网络教室(服务器l台、教师机1台、投影仪1台、学生用机90台组成局域网、通过服务器控制连接到Internet)中进行。
(1)问题情境
在教学过程中,教师要有目的、有计划、分层次地提出与教学内容有关的问题,激发学生的求知欲望,把学生引入到与问题有关的情境中。
(2)形象情境
根据教学的需要,抓住事物的主要特征,利用动画、图画、幻灯、挂图、模型以及实物等激发学生的情感,把学生引入知识的殿堂。
(3)实验情境
根据教学内容设置鲜明、有趣的演示实验,把学生的好奇心转化为求知欲,使学生在实验情境中,满怀激情地展开形象思维和逻辑思维,深化对概念和基本观点的认识。
2.任务实施
任务实施是整个教学过程中的重点。把任务呈现给学生后,教师不要急于讲解和示范,应让学生讨论并分析任务,提出问题,总结出完成任务所需要的步骤,并找出还存在哪些困难。教师要做适当的启发和引导,对于已学知识教师应以提示为主,对于新的知识点教师应及时给予讲授,这样才能提高学生对知识的综合应用能力。
首先,创建数据库。引导学生思考在数据库中应保存哪些数据。其次,是对数据库中数据的调用与分析,以实现各任务。教师可以对各任务在设计中要用到的相关知识进行简要的回顾,特别是对具体的界面设计要进行相关演示和介绍,对窗体上各个控件的使用,可以让学生自己去尝试。对于任务具体功能的实现,应引导学生自己去分析和设计,充分发挥学生的想像力和创造性,培养学生的自主探究能力。
(1)自主性学习
学生应根据教师提出的任务开展自主性学习。在学习过程中要充分发挥主动性,在不同的情境下应用所学的知识,利用反馈信息找到解决实际问题的方法,并独立完成任务。
(2)协作性学习
在自主性学习的基础上,通过协作和沟通,让学生了解问题的不同侧面和解决途径,从而拓宽学生的思路。尤其是针对综合性和难度较大的任务,选择协作性学习会更有效。
(3)研究性学习
让学生从感兴趣的管理信息系统中选择研究任务,以个人或小组合作的方式进行研究,是综合应用知识创造性地解决问题的探索性学习活动。开展研究性学习有利于培养学生运用所学知识解决实际问题的能力。
(4)示范性教学
利用CAI课件进行操作演示,使学生通过直观、具体、形象、生动的观察,在感性认识的基础上掌握概念、程序和要领。一个任务完成后,选取一些类似的任务,并提出相应的要求,让学生进行模仿并完成任务。
(三)效果评价
主要是评价学生运用所学知识解决问题的能力和实际开发设计能力。教师主要应从设计任务、实施任务以及运用教学艺术等方面对学生进行评价。在综合分析各种因素的基础上,不断调整任务驱动教学的方法和手段,不断改进实施策略,提高教师对任务驱动教学法的应用能力。
1.学生互评
学生互评不应仅局限于对任务结果的评价上,还要对学生在整个学习过程中的表现进行综合评价。在任务实施的过程中,学生的学习能力、分析问题的能力、解决问题的能力、探究能力等都会得到不同程度的展示。学生互评应以小组为单位进行,并由教师做出点评,指出存在的问题以及应如何加以改正。
2.学生自评
学生自评意义重大。SqlServer数据库教学中的任务是开放性的,对任务实施效果的评价没有绝对的标准,但与每个人的文化背景、审美角度等有密切的关系。因此,教师应要求学生实事求是地进行自评。同时,要引导学生对学习过程进行反思和总结,目的是获得探究的方法。
三、教学中应注意的问题
(一)不应忽视教师的指导作用
任务驱动教学以学生的积极参与为前提,以教师的有效组织为保证,对教师提出了更高的要求。该教学法要取得较理想的学习效果,离不开教师的认真组织和精心指导。在教学过程中,教师的角色由传统的教学主导者转变为教学活动的引导者,在任务实施过程中,教师要及时为学生提供帮助和指导。
(二)不应忽视学生的自主学习
实施任务驱动教学应以学生为中心,即学习者是认知的主体,学习环境只是促进学生主动学习的外部条件,是外因。因此,不应忽视学生的自主学习,应要求学生独立完成学习任务。
动态数据驱动应用系统 第3篇
摘要:根据我院计算机专业学生的特点及定位,结合自身的教学实践经验,对数据库系统原理课程教学进行了分析,探索一种基于“任务驱动”模式,以培养学生的应用能力和创新能力、注重其个性发展为目标的教学模式——“双主模式”。采用以任务为主线、教师为主导、学生为主体的“任务驱动”教学法,对培养学生的创新精神、独立分析和解决问题的能力具有较好的效果。
关键词:教学模式;任务驱动;双主模式;数据库系统
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)32-0109-02
随着计算机科学技术的发展,数据库技术的应用领域得到了飞速发展,已从传统的数据处理、信息管理、事务处理扩大到了计算机辅助设计、人工智能、办公信息系统等新的应用领域。目前,全国各大高校计算机专业都将数据库系统原理课程列为核心专业课。但大部分本科院校的课程都是以数据库原理为基础,特点是以理论教学为主、实践教学为辅。根据成都大学的办学目标——培养高素质应用型人才的要求,非常重视培养学生的学习能力、动手能力和创新能力。但由于课时有限与学生自身学习情况等原因,大部分教师沿袭以教师为中心的传统教学模式,导致学生不能吃透、用活所学知识,在开发信息系统应用软件时设计能力差。因此,传统的以原理为主线、“填鸭式”的教学模式已不能适应新形势的要求,必须采取新的教学模式。据于此,结合“任务驱动”模式[1],提出适用于应用型本科院校计算机专业数据库系统原理课程的“双主模式”教学方法。
一、“任务驱动”教学法
1.内涵与教学流程
“任务驱动”教学法是教师通过任务引导学生去学习,通过教与学双方的共同参与,让学生在学中做和做中学的过程中形成教与学的互动,最终实现学生自主完成学习任务。在数据库系统原理课程的教学过程中,课程组对“任务驱动”教学模式进行了有益的探索,首先,将该课程涉及的所有知识点看成是一个完整的系统,然后再将系统分解为不同的子模块,每个子模块对应一个“子任务”,让学生逐个完成所有“子任务”后,整个系统的任务就完成了,实现了学生在完成所有“子任务”的同时,深刻理解了“系统”的概念。[2]整个“系统”教学流程如图1所示。
2.“任务驱动”教学法在教学中的主要作用
(1)激发学生的学习激情。通过“任务驱动”教学方法开展教学,将所有知识分解为具体的“子任务”,让学生主动对“子任务”进行分析、讨论,在教师的指导帮助下,经过对新知识的学习和课堂练习、上机实践,最后成功完成。这种教学模式使得学生不再是知识的被动接受者,而是知识的主动参与者,激发了学生的学习热情。[3,4]
(2)提高学生自主学习、协作学习的能力。“任务驱动”模式下的数据库系统原理课程教学始终以问题为先导,如何解决问题为目标,进而引出相应的概念和理论。学生紧紧围绕教师给出的“子任务”进行自主学习,当遇到困难时可以随时向老师、同学、移动互联网寻求帮助,运用所学新知识,通过上机实践进行验证,从中体验成功与失败,加深对知识的理解,探求问题的最终解决。最后归纳总结出系统的知识结构以及学习方法,培养了学生自主学习、勇于钻研和协作学习的能力。
(3)培养学生动手能力和开发应用程序的能力。教师通过给出一些实用性较强的开放性“任务”,给学生一定独立思考、探索和自我开拓、自由发挥的空间和时间,让学生结合生活中的实际,充分利用图书馆和网络上的信息资源设计并开发出一个实用的数据库应用系统,这样既培养了学生的实际动手能力,又培养了他们充分利用所学知识开发一个能解决实际问题的信息系统的能力。
二、基于“任务驱动”的数据库系统原理教学
在数据库系统原理教学过程中,“任务驱动”教学法的具体实施主要包括如下几个方面:
1.制定总体目标
针对数据库系统原理课程和学院计算机专业学生的具体情况制订一个总的教学目标,即学生学习完该门课程后应该达到什么水平,能够解决什么实际问题等。并据此目标设计出一个实际总任务,并在第一次上课的时候告诉学生。例如,利用数据库原理的知识和方法完成一个实际的项目,如设计一个网上书店数据库系统、学生信息管理系统或图书管理系统。
2.设计有梯度的、有层次的单元任务
根据总目标,再结合教学内容、系统软件的功能、课时安排应尽可能设计科学的、有梯度的、有层次的单元教学“子任务”。每个“子任务”的设计要围绕总目标任务的完成进行构思,以确保教学效果和最终目標的完成。
3.对教学内容分类,根据单元任务引导学生学习
教师首先要带领学生学完最基本的内容,如最基本的概念,学生只有熟练掌握了这些概念才能进一步理解更难的内容,比如,关系代数里的基本运算和SQL标准语言的对应关系、数据模型、关系模型、概念模型、逻辑模型之间的关系,另外,模式求精涉及到的关系规范化理论等内容。然后,针对每个“子任务”,采取讲解或演示等方式,给出完成该“子任务”的思路、方法、操作和结果。最后,引导学生边学边做并分配权成相应的学习任务。教师在带领学生完成“子任务”的过程中,学生会逐步建立起对数据库系统的兴趣并不断深入地去学习新的知识和技能,这些新知识和技能不是教师直接告诉学生,而是将它们隐藏在任务的背后,让学生通过在完成任务的过程中逐步去探索、去消化,最终掌握它们。
4.具体应用举例
例如,在第一堂时,先给学生演示几个数据库信息系统的案例,通过对数据的增加、删除、查找、修改,让学生产生对该门课程的浓厚兴趣。演示完之后,教师就要引导学生思考,去发现规律。首先,从系统组成来看,每个系统都由两大模块构成,即前台运行的UI和后台数据库。UI可以用很多语言去实现,由于之前学生已学过某种语言,如Java,因此实现起来非常容易;而后台数据库如何去实现呢?这时就要引导学生下来去自学完成数据库设计章节知识点的内容,并对学生进行分组,让他们去讨论,最后每组派代表到讲台上给大家讲解。另外,还要告诉学生怎么才能设计出一个好的数据库,要遵循哪些原则,带着这一序列问题,教师就可以对整门课程进行任务的分解,带领学生完成每个“子任务”。比如,在完成数据库逻辑设计这个“子任务”时,为了实现数据的增加、删除、改修、查找就要进一步完成SQL语句“子任务”;SQL语句又是如何被数据库管理系统执行的呢?这时,进一步完成“子任务”——关系代数理论。
三、“任务驱动”教学模式注意事项
1.“任务”设计要有明确的目标
教师应依据数据库系统原理课程和学生自身特点,先要制订总的教学目标,即学生在学习该门课程之后应该达到什么水平,能够解决什么實际问题等。根据教学总体目标,结合软件功能和课时安排,力求设计出科学、合理且具有一定梯度感的教学任务。此外,在教学过程中,还要多注重引导学生整合讨论结果。因此,在任务设计过程中要把握好整体任务和每一堂课“子任务”之间的关系,不能让“子任务”与整体任务脱节。“子任务”的设计要围绕总目标整体任务的完成进行构思,以保证教学效果和最终目标的完成。[5]
2.“任务”设计要科学
(1)“任务”设计时要注意学生接受能力的差异,对新内容或一些有难度的“任务”,教师最好能事先给予学生一些提示,便于学生自主学习。
(2)“任务”设计要注意分散重点、难点。既要让学生掌握数据库系统原理的基本知识点,又要让他们具备数据库设计与实现的实际应用能力。总的来说,每个“任务”中所涉及的重点、难点不应超过2个。另外,“任务”的规模应尽可能小,上下“任务”之间最好有一定的关系。
(3)以“布置任务→介绍完成任务的方法→归纳结论”的顺序引入有关概念,展开教学内容。
3.“任务”设计要能够激发学生探究问题的兴趣
如果还是按照传统的教学方式——教师提出任务,学生得出答案,学生的思维会受到限制,逃脱不了教师的思维框架,学生总是处于被动的学习活动之中,他们的思维发展会受到严重的影响。因此,教师应本着学生自己去发现任务中的问题的思路去设计“任务”,如果学生能够提出的问题越多、越深入,说明他们的思维越活跃。教师通过学生所提的问题能及时了解学生的思维动态,并且通过讨论或交流引导学生在群体思考过程中进行思维碰撞,互相启发,互相补充,达到相互学习的目的。
4.“任务”设计要具有可操作、可考核性
任务明确后,最好的教学方法是让学生在教师的引导下,或讨论或自学或探索来完成“任务”。教师在带领学生突破每节课的教学难点后,应该尽快将任务交给学生单独或共同完成。任务设置要有可操作性,基本任务设置要有可考核性,老师要进行及时地跟踪和检查,了解和掌握学生的学习效果。学生是否完成了基本任务,老师要能够一眼就能看出,以便及时进行记录。总之,教师设计“任务”时,要对每个知识点认真、仔细地推敲,才能构造出一系列具有代表性的可操作性“任务”,学生通过完成“任务”能够实实在在掌握所学知识、技能和方法,真正实现教师主导作用和学生主体地位的一致性,充分发挥学生的主观能动性,既训练了他们的创造性思维又提高了他们的整体综合素质。
四、结束语
总之,基于“任务驱动”的教学模式不仅能改变传统的数据库系统原理教学模式,还能培养学生的创新能力、独立分析和解决问题的能力,使学生真正成为学习的主体,教师除了具有辅导者、引导者的身份外,不具备其他任何权威。这种模式的教学方式让因材施教真正落到了实处,使每位学生在学习过程中充满激性,把学习当做一种享受。
参考文献:
[1]杨照华.计算机专业课程与教学改革初探[J].煤炭技术,2012,
31(3):259-260.
[2]刘林涛.“任务驱动”教学模式的研究与实践[J].现代教育科学,
2004,(6):12-14.
[3]晏湧,蓝波.“任务驱动”教学法在电工电子技术课程中的应用[J].实验技术与管理,2012,29(9):169-172.
[4]刘婧.问题式教学在《数据库系统原理》教学中的应用探讨[J].中国成人教育,2011,(6):134-135.
[5]倪宝童.浅析“任务驱动”教学法在计算机教学中的运用[J].辽宁师专学报,2004,6(2):39-40.
动态数据驱动应用系统 第4篇
路径规划是智能交通系统(ITS)实施过程中的基本功能之一,同时也是智能交通系统建设的一项核心内容。所谓路径规划是指根据出行的起始点和目标点向出行者提供最佳的路线,来对出行者的出行行为进行有效的指引以及提供其他丰富的实时交通路况信息,通过指引出行者的出行行为来改善路面交通系统的交通状况,防止交通阻塞的发生,减少出行者在道路上的行程时间,并且最终实现交通流在路网中各个路段上的合理分配。
数据驱动(Data-driven)概念的出现源自计算机科学领域,近些年其理论、应用等的研究都引起控制领域及及仿真应用领域等的重点关注。数据驱动最初被视为一种适应性的仿真开发方法。在数据驱动的仿真模式中,数据驱动指任何应用需求都能够由系统数据及相关模型所描述,而无需进行再编程[1]。以数据驱动思想为指导的应用涵盖控制、决策、调度和故障诊断等关键领域,包括制造过程控制、气候预报、交通管理、地理开采、生物传感等诸多具体应用,例如文献[2,3]所述。
在仿真应用领域,数据驱动的仿真开发方式备受关注。美国国家自然科学基金会(National Science Foundation,NSF)提出了动态数据驱动应用系统(Dynamic Data Driven Application Systems,DDDAS)的概念[4],为具有非线性、时变性、多变量和不确定性等特点的复杂大系统研究及仿真开辟了新途径。
随着城市路网规模的不断扩大和交通流量的显著增加,原有的路径规划算法己经不能满足路网实时性的要求。针对数据驱动的动态路径规划方法进行仿真研究和探讨。
2 应用
城市交通系统是一种典型的复杂系统,系统各要素之间的相互作用随机性较大,利用以往的数学分析或经验分析模型不可能准确地将真实环境模拟出来。为了找出更有效的方法,从60年代开始,研究人员着手研究交通仿真。尤其在近些年,随着计算机技术和软件工程控制理论以及人工智能的快速发展,仿真技术在各个领域得到广泛的应用。交通环境的仿真就是计算机仿真技术在交通领域内的重要应用,是利用计算机数字模型来模拟复杂的交通环境并实施有效分析和评估的方法。
基于微软的Microsoft NET平台,具体利用C#语言做为开发工具,结合Map Info公司绘制的地理信息系统开发组件Map Xtreme2008,然后建立城市道路仿真软件。系统中用到的模拟电子地图是利用Maplnfo Professional制作的。
3 系统功能结构
该系统是基于数据驱动的动态路径规划,在界面上提供可供用户直接操作的地图,包括道路信息浏览、查询、图层变换和自由选择节点,这里的自由选择节点功能可以根据用户的需要利用鼠标的方式任意选择起点和终点。在综合分析和提取界面选择数据的基础上,系统根据时间自动规划出最优路径。
路径规划系统应该包括以下主要功能:
(1)实景地图操作。包括对地图的缩放、漫游、起点和终点之间距离测量、地图上标示的建筑物及道路的属性信息显示等。
(2)图层变换。通过选择不同的图层,方便地查看用户所要得到的各种信息,既能随时查看独立的图层,也可以根据不同的信息需求,随时加载其他图层。
(3)两点间最短路径规划。根据用户设定的具体地点,智能的规划最优路径,并且在屏幕上实时动态显示当前车辆状态,以及最优路径并根据在图中实时动态更新车辆所处位置信息。
数据驱动的路径规划仿真系统具体功能结构如图1所示。
4 实现步骤
针对数据驱动的动态路径规划方法仿真的实现过程,本研究和实践中将其分为两步来完成。
第一步:将城市交通道路网络以抽象的方式进行预处理,这样可以得到数字化的矢量网络地图,也就是说需要将具体的城市交通地图以及相关建筑物以数字化矢量的形式存储在计算机中,即对城市道路中现实的道路位置、交叉路口等具有空间特征的实体信息进行分析和提取,以计算机可以识别的形式在计算机所绘制的地图中进行表示。另外,还需要将以弧、节点等表征的关系抽象为图的结构,然后利用这些信息建立起与城市道路交通的真实环境相对应的拓扑结构。对两点间最优路径的选择上,从地图选择的角度出发应采用结点图层和路段图层。
第二步:在第一步建立好的电子地图的基础上,利用改进的算法进行两点间的最优路径规划。根据地图及其实用的概念,利用地理信息系统软件Map Info,以办公自动化方式进行操作,集成比较流行的多种数据库数据,充分融合计算机地图方法,在地理数据库技术的基础上进一步加入地理信息系统的分析功能,从而形成极具实用价值小型地理信息系统。
5 数据驱动的动态路径规划方法仿真流程
综合考虑仿真的实际需求,采用Map Info生成支持仿真的基础数据。具体操作中,Map Info可以对地图对象和属性分别设置。结合Map Info生成的仿真基础数据,数据驱动的动态路径规划方法仿真流程如图2所示。
6 结语
数据驱动的智能交通系统对解决交通拥堵和尾气排放导致的环境污染等问题,是一种有益的尝试。如何更高效地利用全过程交通数据,完成对交通过程的智能控制将是系统开发的核心所在。针对数据驱动的动态路径规划方法进行仿真研究和探讨,为建立实用的路径规划方法提供了参考。
摘要:在简要描述数据驱动的路径规划方法的基础上,对数据驱动的动态路径规划仿真系统功能结构、动态路径规划方法步骤,以及仿真流程进行研究,为建立实用可行的路径规划方法提供参考。
关键词:数据驱动,路径规划,智能交通系统,仿真
参考文献
[1]Pidd M.Guidelines for the Design of Data Driven Generic Simulators for Specific Domains[J].Simulation(S0037-5497),1992,59(4):237-243.
[2]李晗,萧德云.基于数据驱动的故障诊断方法综述[J].控制与决策,2011,26(1):1-9.
[3]孙博,康锐,谢劲松.故障预测与健康管理系统研究和应用现状综述[J].系统工程与电子技术,2007,29(10):1762-1767.
动态数据驱动应用系统 第5篇
CBERS-02B星高分辨率数据在土地利用动态遥感监测中的应用评价
CBERS-02B星于2007年成功发射,星上首次搭载了一台自主研制的高分辨率HR相机,其分辨率高达2.36米,是目前国内最高分辨率的`民用卫星.HR是全色单波段相机,其光谱范围是0.5-0.8微米,影像空间分辨率高,易于判读,在土地利用动态遥感监测等应用方面有重要的应用潜力.本文以嘉善县为试验区,通过与SPOT5数据的对比,对CBERS-02B星高分辨率HR数据在土地利用动态遥感监测中的应用进行分析评价.
作 者:王善华 作者单位:浙江省土地勘测规划院刊 名:浙江国土资源英文刊名:ZHEJINAG LAND & RESOURCES年,卷(期):2009“”(11)分类号:P2关键词:
动态数据驱动应用系统 第6篇
关键词:实现 动态查询 PowerBuilder
中图分类号:TP311.132 文献标识码:A
0 引言
PowerBuilder是现今最为流行的数据库前端开发工具。掌握PowerBuilder开发工具固然重要,但运用开发工具开发一个有效的、易维护的、易升级的、功能强大的管理系统尤为重要。本文利用PowerBuilder开发工具应用在汽配管理系统为例,探讨了汽配管理系统的制作方法,着重研究了动态查询在汽配管理系统中的实现方式,延伸了Powerbuilder开发工具实用性。
1 汽配管理系统的系统分析
本系统是面向汽车配件销售管理的管理信息系统。该系统能对汽车配件行业进行进货、销售、存储的有效管理,且能集中管理汽车配件的应收应付帐,并能实现查询分析统计等功能,及时响应企业汽车配件进销的快速查询和分析,使企业经营运作物流清晰,经营状况一目了然。汽配管理系统数据表结构及表间关系详见图1。
2 动态查询的实现
在PowerBuilder中,动态查询的实现归根结底就是在应用程序中完成一个Datawindow的制作,而可通过SQL语句的转换得来[1]。因此,如何生成SQL语句就成了问题的关键。
分析SQL的SELECT语句:
Select’数据表’.’字段名’from’数据表’
……………第一部分
Where’表间关联条件’and’查询条件’
………………第二部分
从上述分析可以看出:SQL语句是有数据表及其字段、Where子句与表间关联等几部分组成的。寻找和利用其特点,就有可能实现动态查询。
2.1 数据表及字段的选择 数据表及字段的选择是指选择数据库中具体的数据表及所需查询的表字段,完成SQL语句的第一部分制作。在汽配管理系统中,供用户查询的数据表有8个,其中每个数据表拥有多个字段。为方便用户的选择,采用列表选择的方法,分别用两个列表显示数据表及其字段。当用户通过第一个列表选择数据表时,在第二个列表中显示出第一个列表所选择的数据表的所有字段。在第二个列表中,双击所需的字段名。这样的操作就选定了数据表及字段。实现上述选择的关键是:在汽配管理系统中的动态查询模块里,定义了两个字符型实例变量:LS-database[ ]及LS-field,分别容纳所选定的数据表名及字段名字符串[2]。在字段列表框双击事件中,又定义了两个字符型局部变量:Se-database及Se-field分别容纳双击后选定的数据表名和字段名。其实现流程图详见图2。
从图2可知,数组LS-database[ ]及LS-field中存储的内容,便是选定的数据表和字段名。
2.2 WHERE子句的生成 SQL语句的第二部分是Where子句。该子句是SQL语句的一个关键部分,用户正是通过它来满足检索的要求。Where子句是有逻辑关系符、检索字段名、检索操作符及检索值组成。其中逻辑关系符是指在Where子句间的“或者”和“并且”的关系。检索字段名是指用户提出检索要求的字段名。检索值是指对检索字段提出的要求。检索操作符是指检索字段与检索值之间的关系。Where子句的四个组成部分分别由三个下拉列表和一个单行编辑构成,其中检索字段下拉列表项由数据表及字段选择中选择出来的字段名组成。Where子句实现思路:通过循环算法,把多个Where子句的四个组成部分组合起来,形成条件查询子句。
2.3 数据表间的关联 在前两节的基础上即可顺利地选择出与字段,并生成Where子句及SQL语句。这时,制作并未完成。因为数据表间关联这个关键部分还没有解决。在Datawindow的人机交互制作过程中,表间关联可自动生成。但在应用程序里,生成Datawindow的过程必须通过应用程序设计编制才能实现[3]。表间关联的基本思路是:在PowerBuilder的数据库中,表间的关联是固定的,表与表之间的关联情况可以看成为一个二维表的关系。因此,在系统中设计了关系表查询方案,以解决数据表间的关联问题。所谓关系表,是指一个能反映任意两个表相联关系的二维表格。若两个表相关联,则在二维表格交叉栏内填入关联字段。若两个表不关联,则在二维表格交叉栏内填入空格。建立好关系表后,根据在数据表与表字段选择中所选择的数据表名(存储在数组LS-database[ ]中),在关系表中,两两查询关系。若两表关联,根据交叉项中所得的关系在Where子句中填入相应的语句即可完成。
2.4 Datawindow的生成 在表间关联子句生成后,SQL语句的制作便完成了。但如何将SQL语句转换成Datawindow呢?这里需要引进两个函数:SyntaxfromSQL()和Create():
函数SyntaxfromSQL()用于产生一个Datawindow,它拥有三个参数:第一个参数是用于传递SQL语句(即在2.2中所生成的SQL语句);第二个参数用来表示Datawindow的风格;第三个参数是在Datawindow生成过程中出错时保存错误信息。
函数Create(),使用从函数SyntaxfromSQL()中返回的属性信息,在运行状态下建立一个Datawindow。它有两个参数:第一个参数即是从SyntaxfromSQL()函数中返回的字符串变量。第二个参数用在出错时存储出错信息。
在系统中的具体实现代码如下:
String sq1-statement,present,error,answer
SQL-statement=……
//SQL-statement中存储着SQL描述语句
Present =”Style(type=grid)”
// Present 中存储着Datawindow风格等属性
answer=sqlca. SyntaxfromSQL()(SQL- statement, present,error)//产生Datawindow
Dw-1. Create(answer, error)//建立Datawindow
至此完成了动态查询的全部制作,实现了在PowerBuilder中动态查询。
3 结束语
通过以上建立的对数据表及字段的选择,把多个Where子句的四个组成部分组合起来表与表之间的关联看成了一个二维表的关系,运用函数SyntaxfromSQL()和函数Create()生成Datawindow,实现了在PowerBuilder中动态查询。
参考文献:
[1]崔巍.PowerBuilder8.0数据库应用系统开发教程[M].北京:清华大学出版社.2003.1:105-109.
[2]何军.PowerScript语言·事件·函数[M].北京:电子工业出版社.2003.6:255-258.
动态数据驱动应用系统 第7篇
电机驱动系统在运行过程中由于外部环境变化、运行时间过长器件老化或温度升高等原因会导致系统中的RLC等元件的参数发生变化,这会大大影响其输出性能。现有的基于数学模型的建模方法大多只能描述系统中开关元件的开路或者短路等结构性变化,而对RLC参数的变化却无能为力,例如状态空间模型和开关函数模型。而混合逻辑动态(简称MLD)模型的最大优点是其所建立的混合逻辑不等式既可以描述电感电流断续时的电路特性,又可把电路的参数变量和状态变量都包含在混杂模型里[1]。本文使用MLD模型建立电机驱动系统的MLD模型,然后在MATLAB中建立基于MLD模型的电机驱动系统仿真模型,通过修改MLD模型中参数仿真系统的R、L、C等参数的变化,以此研究系统输出状态的变化,仿真结果表明MLD模型能很好地描述系统中因参数变化而引起的系统输出状态的改变。
2逆变器和电机的MLD模型
图1是一个典型的三相电压型逆变器和电机的等效电路,当系统正常运行时,逆变器中的功率开关元件能够产生离散电压脉冲信号,这些离散的电压脉冲信号输入到带有电感的电机中产生连续的状态电流[2],
根据基尔霍夫定律得电机三相绕组电压为:
假设T1-T6都为理想开关,并规定电路中电流流入电机三相绕组为正,电流流出为负。用S1=0表示T1断开,S1=1表示T1导通,依次类推,S6=0表示T6断开,S6=1表示T6导通。以电路中a相绕组为例,设在a点和g点之间的电压为uag,那么有
对于采用三相对称星型绕组,有ia+ib+ic=0,又由于电机的三相反电势是处于平衡状态的,即有ea+eb+ec=0,结合式(1)得:
进而得电机三相电压方程是:
定义辅助逻辑变量 δa、δb、δc,令
结合式(4)可得电机驱动系统电压的混合逻辑动态模型为
代入式(4)得
设δ=[δ1δ2δ3]T,令
同理代入式(1)可得以电流为状态变量的电机驱动系统混合逻辑动态模型为
3仿真模型的建立
根据以上的数学模型在Matlab / Simulink仿真环境下搭建永磁同步电机系统及其MLD模型闭环控制系统的仿真框图,电机驱动系统仿真模型框图如图2所示,逆变器和电机框图如图3所示,MLD模型框图如图4所示,PID控制框图如图5所示。
其中MLD模型根据式(9)编写M函数,得到图4的MLD模型框图。MLD模型的优点在于可以修改电机参数,仿真不同的R、L、Vdc等参数下的输出状态。
4仿真和结果分析
利用建好的电机驱动系统仿真模型对逆变器电机中的参数变化进行仿真,其中滤波电感、 电阻、电容分别为100μH、20mΩ、0.01F,母线电压为280V, 开关频率为12k Hz, 给定转速为2400r / min,负载转矩为4N*m。在MLD模型中, 对R、L、Vdc参数变化进行仿真,采样时间为Ts= 1* e-6s,参数变化表如表1所示,仿真波形图如图6所示。
从图中可以看出,在不同的参数下,MLD模型输出的三相状态电流都不相同,这表明MLD模型能很好地表述电路中参数的变化。
5结束语
本文建立了逆变器和电机系统的MLD模型,利用Matlab / Simulink对系统中R、L、Vdc等参数的变化进行了仿真,仿真结果表明,MLD模型能够准确描述实际系统中参数的变化,为电机驱动系统参数故障检测和诊断提供了一种行之有效的建模方法。
摘要:电机驱动系统是一个由离散的控制信号驱动连续状态变量随时间演化的典型的混杂系统。针对传统的基于数学模型的建模方法都是研究逆变器中的开关元件开路等结构性变化,不能用于描述系统中的参数变化,本文建立逆变器和电机的混合逻辑动态模型,并运用Matlab/Simulink对系统中的R、L、Vdc等参数变化进行仿真分析,仿真结果表明该模型能很好地描述电机驱动系统参数的变化。
动态数据驱动应用系统 第8篇
数控机床正在向精密、高速、复合、智能、环保的方向发展。精密和高速加工对传动及其控制提出了更高的要求,更高的动态特性和控制精度,更高的进给速度和加速度,更低的振动噪声和更小的磨损。而传统的传动链从电动机到工作部件要通过齿轮、蜗轮副、皮带、丝杠副、联轴器、离合器等中间传动环节,在这些环节中产生了较大的转动惯量、弹性变形、反向间隙、运动滞后、摩擦、振动、噪声及磨损。虽然在这些方面通过不断的改进使传动性能有所提高,但问题很难从根本上解决,于是出现了“直接传动”的概念,即取消从电动机到工作部件之间的各种中间环节。随着电机及其驱动控制技术的发展,电主轴、直线电机、力矩电机的出现和技术的日益成熟,使主轴、直线和旋转坐标运动的“直接传动”概念变为现实,并日益显示其巨大的优越性。直线电机进给系统是高速机床的主要功能部件,它彻底改变了传统的滚珠丝杠传动方式存在的弹性变形大、响应速度慢、存在反向间隙、易磨损等先天性的缺点,并具有速度、加速度大、定位精度高、行程长度不受限制等优点,令其在数控机床高速进给系统领域逐渐发展为主导方向。
2 直线电机进给驱动系统的确定
直线电机进给驱动系统的外形如图1所示。磁性滑轨作为定子,绕组实体为动子,利用动子脉冲电流产生的磁场和定子永磁场相互作用而产生高效强大的推力。与传统进给系统相比,直线电机驱动系统具有进给速度快、加速度大、响应速度快、定位精度高、无行程限制和效率高等优点。但也同时存在发热、隔磁防护、负载干扰以及垂直进给中的自重等问题,同时由于直线电机直接溶合于机床进给系统的结构中,工作台的惯性、工件质量的变化、切削力等对系统都是外界干扰,对系统动态性能均会产生很大的影响。因此在为高速进给系统选择直线电机时应视具体问题作具体分析。
在选用直线电机时,一般的原则是:(1)在低速直线电机中,希望品质因数大些;(2)在短时运行的工况下,直线电机的电密、磁密可取大些,电机体积可小些;(3)在考虑边端效应的影响时,电机的极数应尽量取多些(一般6个以上);(4)平板电机次级宽度大于初级铁芯宽度;(5)多台电机则采用相位互换方法[7,8]。
在设计过程中,首先要解决的问题是要保证在一定功率储备的前提下,使直线电机的推力、进给速度和加速度满足高速机床的要求,其次要解决防磁、散热和安全问题。
直线电机的进给系统所需的最大推力为:
式中:FL-进给系统所要求的推力,N;FC-切削力,N;FR-摩擦力,N;FACC-惯性力,N;
所选直线电机在所要求速度范围内的额定推力Fe必须满足:Fe≥FFFeff(2)式中:KF-推力储备系数;Feff-在一个加工周期内进给系统所要求的平均有效推力,N;
为保证直线电机长时间正常工作,其额定输出功率Pe必须满足:Pe≥KPPL(3)
式中,PL-负载功率,kW;KP-功率储备系数;KL-在一个周期内,运动所占的时间比例;Km-电机常数;
最大加速度am和最大减速度dm分别为:
式中:vm-最大加速度,ta、td-加、减速时间。
3 直线电机直接驱动进给系统动态性能分析
3.1 直线电机驱动的执行部件数学模型的建立
直线电机运动部件在加工过程中受到负载力、滚动支承摩擦力、粘滞阻尼力及各种不可测因素引起的干扰力的作用。其中,粘滞阻尼力与直线电机进给系统的运动部件的速度成正比。直线电机驱动的机械执行部件在运动方向的受力情况如图2所示。其他干扰力与运动部件位移无关,为了便于分析,将直线电机所受的干扰合成一个干扰力,即:Fl=Fw+Fd+△F+f(7)
3.2 直接驱动进给系统的动态刚度计算
对于直接驱动进给系统,外力是系统的直接干扰,系统对外力的干扰反映敏感,这种反映可通过动态刚度值来衡量。数控机床进给系统所受到的外力主要是切削力,动态刚度值Kd可定义为:负载干扰力与系统的最大响应位移之比。即:直线导轨
式中:Fl-负载干扰力,N;△Xmax-最大响应位移,μm。
系统动态刚性不足时,在外力作用下,系统的执行部件就会产生较大的退让,在切削过程中表现为让刀,这样会直接影响加工精度和表面质量。
图3为用于数控机床的直线电机直接驱动进给系统的控制模型,为便于计算该系统在负载干扰力作用下的动态刚度,推导出系统动态刚度表达式如下:
式中:Kp-位置环增益,1/s;Kv-速度环增益,As/m;TN-速度环积分响应时间常数,s;m-工作台、工件和直线电机移动部件的质量,kg;KF-力常数,N/A。
从式(8)可见,直接驱动系统的动态刚度与位置环增益Kp、速度环增益Kv、速度环积分响应时间常数TN以及负载质量(包括工作台、工件和直线电机初级的质量)m有直接联系。
3.3 提高直接驱动进给系统动态性能的主要措施
影响直接驱动动态刚度的因素很多,较明显的因素包括系统速度调节器和位置调节器的参数以及执行件的运动质量(也称为负载质量)的变化。提高系统动态刚度的可围绕对这些扰动的实时补偿和系统参数优化来进行。目前广泛采用自适应控制技术,能很好解决负载质量及输入力的扰动问题。但自适应控制要处理大量的数据,以及动态修改控制器的参数,这对实时性要求较高的伺服进给系统,难度较大。带有运动质量在线辨识与补偿的直接驱动进给系统如图4所示。
4 直线电机伺服进给系统的关键技术问题
直线电机伺服进给系统由于具有结构简单、动态响应快、传动刚度高、进给速度与加速度大、精度高、行程长度不受限制、振动与噪声小等一系列优点,因而在机床上具有广泛的应用前景。可以说,直线电机的发展与应用促进了现代机床技术的发展,有可能使机床结构和性能发生革命性的变化。但也必须注意到直线电机本身还有一些问题没有得到很好的解决,在机床进给系统中使用直线电机时,要扬长避短、综合分析、充分发挥直线电机的优越性。在其设计、制造、控制、装配过程中要特别注意解决好以下几个方面的关键技术问题。
4.1 效率和功率因数问题
与同容量旋转电机相比,直线电机的效率和功率因数要低,尤其在低速时更加明显。这主要是由两方面原因引起的:(1)直线电机的初、次级之间的气隙比旋转电机的气隙大(2~3倍),因此所需的磁化电流较大,使损耗增加;(2)由于直线电机初级铁芯两端开断,产生了直线电机所特有的边端效应,从而引起波形畸变等问题,其结果也导致损耗增加。主要原因是由于直线电机伺服进给系统省去了中间机械传动环节,减少了机械摩擦和系统的弹性变形,其运动质量、运动惯量也减少,从而使能量损耗大大减少,有可能使系统的总效率比采用旋转电机的系统效率还要高。因此,在直线电机的设计、制造过程中,要采取各种措施来提高直线电机的性能,特别要注意降低端部效应的影响。
4.2 冷却措施
直线电机本身由于结构简单,其散热效果较好。但是,当直线电机用于机床时,由于其通常只能安装在机床内部,散热比较困难,而且直线电机的绕组、铁芯就处在机床导轨附近,将严重引起机床导轨热变形。这与旋转电机传动方式相比有很大的不同,一方面旋转电机利用电机轴上的风扇即能较好地散热,另一方面旋转电机经丝杠等传动后,到机床导轨的空间距离已较远,也就不存在由此引起的热变形问题。所以机床进给系统采用直线电机驱动后,有时需要采取风冷(自然风或压缩空气)或循环水冷等冷却措施。
4.3 法向磁吸力
直线电机除了产生平行于运动方向的电磁推力外,还会在初级与次级之间产生一个垂直于进给运动方向的法向磁吸力,其数值大约为推力的10倍左右。这个法向磁吸力通常是不希望存在的,而且由于在机床上所使用的直线电机大都无法做成双边型,这就对机床结构刚度提出了更高的要求,因此在进行机床结构设计时,必须要考虑到这个法向磁吸力。为了保证推力平稳,直线电机的布局应尽量做成对称结构。也可以将直线电机的初、次级与机床导轨副结合起来设计,利用初级与次级之间的法向磁吸力来实现无机械接触的磁悬浮导轨。
4.4 伺服控制
直线电机进给系统虽然消除了中间传动机构的弹性变形、间隙、摩擦等因素对系统精度的影响,但传动控制只能采用全闭环控制,这就使得各种干扰(如工件重量、切削力等的变化)不经过任何中间环节的衰减而直接传到直线电机上,加大了伺服控制的难度。而对于旋转电机传动,通常是采用半闭环控制来隔离这些干扰,即使采用全闭环控制,由于滚珠丝杆等弹性中间环节能吸收和抑制这些干扰,因而其伺服控制的难度相对较小。因此,对于直线电机伺服进给系统来讲,必须采用比旋转电机传动时更为有效的控制技术。目前通常采用矢量控制技术、变频调速器、PID控制器等成熟的控制技术。
4.5 隔磁与防护
由于旋转电机磁场是封闭式的,不会对外界造成任何影响,而直线电机的磁场是敞开式的,特别是同步式直线电机要在机床床身上安装一排排强磁的永久磁铁,而工件、床身和工具等均为磁性材料,很容易被直线电机的磁场吸住,使装配工作很难进行。特别是磁性切屑和空气中的磁性尘埃一旦被吸入直线电机的初级与次级之间不大的气隙中,就会造成堵塞,电机就无法工作。为此,采用感应式要比同步式好一点,其装配难度也相对较小,但工作时仍有磁场,防护工作仍不能忽视。因此,在机床进给系统中,不管采用的是同步式还是感应式直线电机,都应采取有效的隔磁防护措施。例如:可以加套盖;或者采用三维折叠式密封罩将直线电机的磁场封闭起来;或者在机床内部装喷管,从内部向外喷出空气,使灰尘、切屑粉末不被吸入。
4.6 重力加速度
当直线电机应用于垂直进给机构时,必须要解决好直线电机断电时的自锁问题和通电工作时重力加速度对其的影响问题。这个问题不是简单地加平衡配重块就能解决的,必须在电机和伺服驱动控制模块上采取相应的措施。
4.7 电源电压
直线电机(特别是直线感应电机)的起动推力受电源电压的影响较大,因此,必须采取措施来保证电源的稳定或者通过改变电机的有关特性来减少或消除这种影响。
5 结语
高速加工技术和直线电机驱动技术与数控机床制造的结合大大促进了世界制造业的向前发展,大大提高了加工精度和加工效率。直线电机进给系统是一种能把电能直接转换成直线运动的机械能,而不需要任何中间传动环节的驱动装置。它的应用将传统的回转运动转变为直接的直线运动,因此机床的速度、加速度、刚度、动态性能得到完全改观,通过采用数字控制技术,直线电机可以利用大增益提高控制效果,使得高速移动的伺服滞后量减小,从而获得高的定位精度。在设计及选用直线电机驱动时,合理优化调节器参数,采用在线辨识与补偿的直接驱动进给系统是提高系统动态伺服刚度的有效措施。因此,高速加工和高刚度的直线电机驱动技术将是高速机床未来发展的方向。
参考文献
[1]张伯霖,等.高速切削技术及其应用[M].北京:机械工业出版社,2003.
[2]艾兴,等.高速切削加工技术[M].北京:国防工业出版社,2004.
[3]虞付进.电主轴技术的应用及发展趋势[J].机电工程,2003(6):71-73.
[4]赵兴玉,张大卫.龙门铣床的动、静特性研究[J].组合机床与自动化加工技术,2005(10):84-88.
[5]杨康,韩涛.ANSYS在模态分析中的应用[J].佳木斯大学学报,2005(1):81-84.
[6]张波,陈天宁,虎恩典,等.数控车床分体式床身结合面参数优化识别及其动特性分析[J].现代制造工程,2004(6):91-93.
[7]彭文,倪向阳.五坐标龙门加工中心动特性分析与振动控制[J].制造技术与机床,2006(2):61-63.
[8]张日升,李尚政.高精度直线电机驱动机构的设计与控制[J].新技术新工艺,2003(10):2-4.
[9]叶云岳,等.直线电机技术手册[M].北京:机械工业出版社,2003.
[10]郭洪澈,郭庆鼎.双直线电机同步运动的自适应解耦控制器设计[J].沈阳工业大学学报,2001,23(6):508-511.
动态数据驱动应用系统 第9篇
为了摆脱这种局面,大量人员付出辛勤的劳动,元数据的思想[1]和模型驱动理论[2]的提出,为问题的解决带来了曙光。目前在管理信息系统中取得了一定成就,尤其是在数据查询、报表生成[3,4]方面技术比较成熟。人们通过元数据库的信息,自由拼接字段,可以形成各式各样的报表,大大提高了程序的通用性;在数据编辑方面,元数据的思想和模型驱动理论同样大有可为,并且繁衍出一些相关的理论概念,如柔性数据[5]等概念。但目前大都停留在理论层面,真正用于实际生产的具有可行性的方案[6]比较少,而且这些为数不多的方案其适用范围比较狭窄、其灵活性和效率仍有待加强。
1 系统的理论基础
元数据:按照传统的定义,元数据(Metadata)是关于数据的数据。元数据在不同的环境下代表的数据种类有所不同。当数据在程序中不是被加工的对象,而是被用来对程序的运行起控制作用,并且可以通过值的改变而改变程序的行为,这样的数据称为元数据。
模型驱动:模型是元数据的集合,是对所构建系统的功能、结构和行为的形式化描述。模型驱动就是把数据跟处理分开,把处理类完全孤立成一个框架,用这个模型作为灵魂在驱动整个骨架。现提出的基于元数据的数据编辑,是通过读取模式元数据自动生成相应的功能脚本,实现对数据的各种操作。
2 数据访问模型及实现机制
2.1 总体设计思想
开发一套编辑系统最终的目的就是能够在可视化的界面中实现数据的增删改等功能,本质上就是对应用数据库中数据表进行操作。关系数据库学的最重要的一个理论就是:不要给关键字赋予任何业务意义。在实际工作中,人们无法对没有任何业务意义的数据进行良好的识别及妥善处理,因此需要系统对关键字进行翻译,转换成人们可识别的具有实际业务意义的数据,以便用户进行操作。
当用户选定数据表时,系统根据元数据信息分析数据表结构、字段,建立数据表与外键引用表之间的关联关系,以此为基础生成用户可识别的界面。用户在前台对界面中的数据进行操作时,系统根据表间关系,依次解析,并结合元数据信息在后台把相应的操作转化为对具体数据表的SQL命令,并对各种操作做出实时响应返回给用户。
现提供一个与业务无关的、通用的编辑功能实现框架,与传统的、直接编写编辑页面的方法不同,对于遵循此框架开发的编辑工具,人们仅需引入完善的描述应用数据库的元数据信息即可完成系统的编辑功能。
2.2 系统的构架结构图
通用编辑系统的构架结构是判断此系统是否具有可行性的关键所在,也是本文的重点。如图1所示:分为用户接口层、数据处理层和数据存储层。
用户接口层主要组成部分是各种客户端组件,客户端组件包括数据查询组件,数据录入组件、数据删除组件、数据修改组件等,以实现对数据表的各种操作。
数据处理层主要组成部分包括数据表解析组件、关联关系表、构件库、数据封装组件、动态数据访问组件、合法性验证组件和数据转换组件。其中,数据表解析组件负责分析选定的数据表,根据元数据库中记录的引用字段的信息,解析出选定的数据表与其它数据表的关联关系并存储在关联关系表中;关联关系表存放数据表的关联引用关系;构件库存放数据表中关于字段处理的编辑控件以及对应方案,客户端操作时实现的各种效果都必须以它为基础来实现;数据封装组件的工作是把动态数据访问组件传输的数据表信息和数据表中字段所需的构件的信息封装成用户界面;动态数据访问组件负责各个组件之间的信息数据的传递,并做出相应的处理,是整个数据构架的中心;合法性验证组件要结合元数据库和应用数据库的信息对录入及更新的数据的合法性进行验证,包括实体完整性、参照完整性和自定义完整性的验证;数据转化组件根据元数据库中所记录的各个字段的数据存储类型对进入应用数据库中的数据进行相应的数据类型转化。
数据存储层主要组成部分包括应用数据库和元数据库:应用数据库包括各种数据表、表间关系等信息,是用户实际的业务生产的数据;元数据库存放着描述应用数据库的所有元数据,包括数据表信息,表间关系等信息。
2.3 数据编辑的过程
传统数据编辑方式与通用的数据编辑方式的最大区别在于前者是直接访问,后者是间接访问,大量运用元数据库里的信息。数据编辑的过程大体有下列三种。
(1)客户端选定数据表时,动态数据访问组件提取元数据库里的相关信息交给数据表解析组件,后者通过这些信息分析数据表结构,进行多表关联,并将关联关系存储在关联关系表中,动态数据访问组件根据关联关系拼接SQL语句提交数据库引擎,由数据库引擎到用户数据库中访问数据库得到访问结果集,返回给客户端选定数据表对应的界面。
(2)客户端对界面进行各种操作,尤其是对报表字段的各种操作时,动态数据访问组件采集关联关系表、构件库、元数据库和应用数据库的相关信息,数据封装组件把这些信息封装成界面并返回给客户端。这不仅要求数据的准确性还要考虑效果的人性化。
(3)客户端确定对界面的操作时,根据关联关系把界面中报表里的数据转化为对数据库中具体数据表的数据。对进入应用数据库的数据要通过合法性验证组件进行验证,必要的字段要由数据转换组件进行数据类型转换。
3 具体实现
3.1 元数据库的设计
元数据库中的信息主要包括以下几类。
(1)存储用户配置和权限的信息,用于数据表权限的分配。
(2)存储专业信息,专业是指业务逻辑紧密相关的多个数据库表的集合,用于划分数据表。
(3)存储数据表的基本信息,记录隶属专业并标识是否为自关联表。
(4)存储字段信息,是对数据表中各个字段的详细描述,包括对数据类型、数据格式、数据域的具体说明、数据元素的映射规则、相关的数据完整性规则、一致性检查规则以及业务和界面样式的相关信息。用于查找关系、选择构件,合法性检验。
(5)相关的一些代码表。
3.2 关联关系表
对界面的操作最终要转换成对数据表的SQL命令,而界面中的报表内容是多个数据表的联合,所以通过建立一个模型,动态记录数据表与数据表之间的关联关系、层次关系。对于选中的数据表与其外键引用表关系分为两种方式,单向继承,多向继承,所以关联关系表不同于常见的记录当前ID和父ID的自关联表,而是记录当前ID和子ID的逆向自关联,具体包含四个字段,ID、tableCode、tableID、childrenID。由于根节点大于1的情况属于多向继承,所以对根节点进行特殊标识,便于核心运算组件按照从上到下的顺序逐层解析。
3.2.1 单向继承和多向继承
单向继承
A0A1A2A3An。
多向继承
3.2.2 生成关联关系表
BEGIN
查找并记录选中数据表的所有的外键引用表
把选中数据表的信息放入关系表
3.3 构件库
在数据编辑时,尤其是录入、修改是对界面中报表里的具体单元格里的数据进行操作,或录入、或选择、或上传、或下载,需要区别对待。系统需要按照一定的规则提取构件,基本规则如下:默认的字段为文本输入框,对于非主键的引用字段,根据外键引用表的关系分为数据列表、树状菜单等状态;对于作为主键的引用字段,文本输入框为只读;对于日期类型的字段,系统根据元数据库中信息自动提示输入格式(如:YYYY-MM-DD);对于BLOB、CLOB等字段,系统提供上传下载等功能,等等。
构件库包括文本输入框、数据列表、树状控件等编辑控件以及对应方案,在具体的字段操作过程中,系统首先根据字段的具体信息到构件库查找匹配的控件,需要装载数据的,经过相关的运算,把装载数据后返回给客户端。使得界面的操作更具人性化、智能化。
4 应用案例
大庆油田采用的PCEDM数据库(勘探开发综合数据库)模型[7],是中石油十一五重点推行的一个大型的数据库模型。模型涉及的用户多,信息量大且敏感度高,以往针对该模型进行的数据编辑采用的是兰德马克研发的OpenWells软件。除了软件本身运行慢,操作繁琐,更重要的是,石油行业的发展和业务的扩大必然导致数据模型的变动,这是注定要面临的问题。基于本文构架开发的数据编辑工具,功能上满足大庆油田公司日常要求,性能上高于之前兰德马克的OpenWells,并且具有良好的可维护性和可扩展性。
通过项目实例,说明通用编辑工具具有较好的可行性,工具的功能在应用中能够很好的实现,具有很高地实用价值。
5 结论
提出一个基于元模型的数据编辑工具框架结构,构建了元数据模型,用元数据驱动实现对关系数据模型的通用编辑。基于元数据驱动的数据编辑工具有良好的灵活性、通用性,能够对应用数据库的新需求做出快速的反应,很大程度上减轻了用户的负担,工具在油田企业信息集成中得到应用,但要此框架真正在关系数据模型中完全实现通用,还有很多实际的工作要做。
摘要:针对传统模式开发管理信息系统中的数据编辑部分所产生的工作量大,成本高,耦合度高的问题,提出了一套元数据驱动的数据编辑的框架模型。以描述应用数据库的元数据模型作为系统建立的基础,由此动态建立数据表的关联关系,实现数据表与用户界面的数据转换;编辑具体字段时,根据元数据信息调用诸如树形列表等构件。在大庆油田的实践表明,基于该框架模型的数据编辑工具的实现能够减少工作量、节约成本,降低耦合度。
关键词:元数据,模型驱动,关系数据
参考文献
[1]林毅,宁洪,王挺,等.基于元数据的数据整合平台.计算机应用,2008;28(14):209—211
[2]文必龙,王志宝,王琳琳.基于模型驱动的软件集成平台研究与实现.计算机工程与设计,2007;28(23):5733—5738
[3]文峰.一种基于元数据的MIS三层设计模型.软件导刊,2008;7(5):21—22
[4]张宇,蒋东兴,刘启新.基于元数据的异构数据集整合方案.清华大学学报(自然科学版),2008;49(7):1021—1024
[5]申利民,穆运峰.基于元数据的柔性信息系统建模与实现.计算机工程,2008;34(16):37—40
[6]周芳.基于元模型的信息资源管理技术研究.大庆:大庆石油学院,2006
动态数据驱动应用系统 第10篇
1 动态数据仓库的概念及特点
动态数据仓库是一个集中的、全面的、集成的、逻辑一致的、易访问的企业级的数据的集合, 它不仅能像传统数据仓库那样支持OLAP和数据挖掘等应用分析技术, 还增加了能实时监测、实时进行数据分析帮助企业决策的功能。动态数据仓库战术性的决策支持与企业事件的自动检测、处理功能, 是异于传统数据仓库之处, 更明确的说, 是对传统数据仓库的补充与扩展。动态数据仓库不同于一项技术, 它是一个处理过程, 数据仓库中的加载方式也有多种, 常见的为传统ETL批量加载、实时加载技术等。
动态数据仓库与传统数据仓库相比, 具有数据实时加载、混合工作量、事件检测和处理的特点。
动态数据仓库的信息并不是在企业用户发出请求后才能使用。动态数据仓库可以在事件发生同时, 根据最新的数据, 同步及时的检测到事务, 对数据进行企业战术性的分析与事件的检测处理, 将结果自动反馈于用户系统。为了确保决策的有效性与及时性, 要求数据必须实时或接近于实时的加载到动态数据仓库中。在满足业务需要的前提下, 对“实时”的要求也就应具体情况而定了, 所以, 此处的“实时”, 也并非绝对的“实时”。
混合的工作量数据仓库, 与传统数据仓库工作量相比, 除了能进行复杂的查询和批量的数据加载外, 快速并且高效的, 满足企业要求的战术性查询、事件检测、处理以及实时加载也是混合工作量数据仓库数据处理的特点。
事件的处理可以分作同步事件处理与异步事件处理。从字面上可以理解, 同步处理则为按一定的顺序, 依次完成数据处理的任务, 其中必须等待上一步完成后, 之后的事件才可以被提出处理, 强调按顺序执行。异步处理则不一样, 其处理过程中每一步都是独立的, 不依赖于其他步的调用, 所以其基于事件的各应用程序在设计上是松耦合的。
2 动态数据仓库的体系架构
动态数据仓库的数据集成方式有多种, 周期性的ETL方式、直接点滴导入、点滴翻转导入、导入实时数据缓存为常见的数据集成方式。所有数据集成方式都需满足不影响业务系统的事务处理, 实时查询, 接近零延时的基本准则。
若通过EAI, 还可以将企业内的其他系统与动态数据仓库集成一体使用, 不仅可以优化企业的业务流程, 在实时传递战术性决策时, 还能帮助企业的决策与业务流程完整结合, 以实现并提高企业的运营自动化。
3 动态数据仓库的应用
动态数据仓库已用于多种工作领域, 在帮助企业全面快速的掌握重要信息, 提高竞争环境下企业的分析能力方面, 动态数据仓库从中发挥着重要作用。
3.1 物流调度
动态数据仓库系统, 可以将配送货车的最新请求在最短时间内呈现于车辆调度人员, 调度人员根据货车行驶终点站、货物数量等等配送或安排货车送货。这就要求动态数据仓库将最新的数据于几秒内反映给总站, 以用于驱动业务决策。同时, 为保证货运的正常运行, 动态数据仓库系统必须365天, 每天24小时实时运作, 该动态数据仓库必须100%可用。
3.2 商品库存管理
商品库存决定商家是否需要进存货物。商家可以从前端得到销售的详细数据, 根据商品的销售趋势, 库存情况, 结合同比销售情况, 判断是否需要进存货物, 货物需要保证在销售完毕前库存得到补充的同时, 不能多进货以造成库存积压, 达到销售完毕时正好有货物进库的最佳零界状态, 保证了资金的灵活性, 实现销售商的利益最大化。因此, 动态数据仓库必须实时获取最新销售情况的数据并做出及时的处理决策。
3.3 信息通信安全
越来越多的信息欺诈的出现, 是目前信息通信安全面临的最大危机。不法分子通过电信行业中的后付费业务, 实施欺诈。为了减少此类欺诈行为给用户带来的损失, 建立反欺诈安全机制便成了重要任务。动态数据仓库可以根据用户的通话数据, 通过实时查看用户产生话费是否大幅增涨, 若有该情况发生, 通信运营商将对比该用户平均通信时长、信用度、历史话费情况, 综合判断是否有欺诈行为发生, 以采取对应措施, 减少用户损失。
3.4 银行客户管理
在银行业中可以根据用户的存款行为制定个性化的客户关系管理。客户关系管理部门可以寻找有规律的大量存款的客户, 基于这些客户的存款级别和近期消费行为, 为客户提供免费或打折的服务, 来加深、扩展与客户的关系。通过客户的近期的消费行为来拓展同客户的关系, 有利于保留客户, 扩大市场份额。
参考文献
[1]Inmon WH, 王志海译.数据仓库 (译2版) [M].北京:机械工业出版社, 2000.
[2]姜智远.动态数据仓库的研究与应用[J].科技情报开发与经济, 2008 (09) :130-132.
[3]谭光玮, 武彤.基于生产线质量控制系统的动态数据仓库解决方案[J].微型机与应用, 2014 (07) :7-8.
[4]Jiawei Han, Micheline Kamber, 范明, 孟小峰译.数据挖掘概念与技术[M].北京:机械工业出版社, 2001.
[5]陈京民.数据仓库与数据挖掘技术[M].北京:电子工业出版社, 2002.
动态数据驱动应用系统 第11篇
网格化城市管理数据普查采用的传统方法是将所有城市部件、地址兴趣点参照物、区界、街道范围线、监督员责任区范围线、社区线、万米单元网格等数据套印在比例为1∶500地形图中,监督员手拿地图到现场审核,将变化的数据在地图上标注和在表格中进行登记。
能否将这些数据同样装在多普达D600“城管通”手机中,监督员利用多普达D600“城管通”手机在平时工作中随时发现情况随时上报呢?
(一) 多普达D600“城管通”手机端数据容量及工作效率的可行性分析
北京市东城区共有574幅比例为1∶500地形图,一幅图(已由专业公司保密处理)容量大约在0.5M-1M,574幅地形图矢量数据大约有280M,处理压缩后也有近220M,加上比例为1∶500地形图是保密资料也不允许安装在“城管通”手机中。显然依照目前手机的配置,一是无法将这么巨大的数据装入手机使用;二是不符合保密要求。
我们通过对这些资料进行认真细致研究,从现有的资料中抽取需要的要素,有效地解决了上述问题,具体方法如下:
一是依照传统基础数据普查资料制作了如下专题图层,在“城管通”手机端再现了“普查用的地图”。(1)依据最新的地形图资料,制作了东城区现状道路分布图;(2)依据最新的地形图资料,制作了东城区平房院落范围线和楼房范围线分布图;(3)东城区界范围线分布图;(4)东城区10个街道分布图;(5)东城区115个社区分布图;(6)91个监督员责任区分布图;(7)东城区1577个万米单元网格图;(8)东城区近30万个城市部件分布图、3.3万多个地址兴趣点参照物数据分布图。以上八类原始矢量数据共有194.7M。
同时采取以下处理手段:(1)利用ArcGIS的数据简化工具对线、面数据进行抽稀简化;(2)是利用数据转换工具,采用压缩技术将Shape格式的原始数据转换为手机端专用的数据格式,在不影响数据质量的情况下,减少冗余数据,进而减少数据的容量。经专业技术人员的处理,目前手机中八层数据容量大约只有18M。
二是更换“城管通”手机安装数据的方式。按照监督员所属分队(街道)只安装本街道的地图,只显示本责任区内的所有城市部件、地址兴趣点参照物。目前10个街道中“城管通”手机端最大数据量是和平里分队,有6.25M, 最小的是朝阳门分队,有5.09M,完全满足工作使用要求,不会影响“城管通”手机的正常使用。
三是在开发“城管通”手机端程序中通过优化的显示控件、分图库和视野的逐级显示方式,提高了地图操作的响应速度,减少了内存的占用和等待时间,保障了“城管通”手机的工作效率。
四是多普达D600“城管通”手机在Windows Mobile5.0操作系统中增加了Flash的容量,减少RAM的容量,增加了微硬盘,解决了系统存储空间小的问题,为开发数据动态更新功能提供了基础保障。
(二)“城管通”手机端采集数据精度可行性分析
依据中华人民共和国城镇建设行业标准《城市市政监管信息系统管理部件和事件分类、编码及数据要求》(CJ/T214—2007)中的部件空间数据定位精度要求:
(1)空间位置或边界明确的部件,如井盖、灯等,中误差≤±0.5m,在比例为1∶500地形图中误差≤±0.1mm;
(2)空间位置或边界较明确的部件,如亭、广告牌、果皮箱等,中误差≤±1.0m,在比例为1∶500地形图中误差≤±0.2mm;
(3)空间位置概略表达的部件,如桥梁、停车场等,中误差≤±10.0m,在比例为1∶500地形图中误差≤±2.0mm。
目前东城区使用的多普达D600“城管通”手机,配置一块2.8英寸65K色的TFT屏幕,有效显示尺寸是4.5cm×6cm,分辨率为QVGA240×320。
在数据动态更新系统的程序设计中,要求监督员使用“城管通”手机采集数据时的视野控制在30〜50m之内进行。对城市部件、地址兴趣点参照物密集地区可放大到30m视野采集,稀疏地区可放大到50m视野内进行采集。此时“城管通”手机端屏幕显示的比例尺大致为1∶700〜1∶1100;以“城管通”手机中的“再现的普查图”作为基础,以显示的城市部件、地址兴趣点参照物作为依据,采集相应的变更信息,从理论上讲基本可以满足数据采集精度要求。
(三)监督员日常巡视发现变化的城市部件、地址兴趣点参照物,及时上报的可行性分析
一是由于目前在岗的监督员大多已从事过数据普查工作,对城市部(事)件分类较为清楚,加上每年例行的业务培训、业务练兵,监督员业务能力应该有了很大提高。
二是从2008年开始,每次大规模数据更新完成后,基于监督员责任区建立了城市部件、地址兴趣点参照物的数据档案。
两者完美结合,为监督员最终能够正确使用动态数据更新系统更新城市部件等数据提供了前提和条件。
(四)维护公司技术实力雄厚,技术力量能够满足用户提出的各项功能要求
自2008年底,东城区采用了无线多媒体信息采集系统(“城管通”)和信息化城市管理系统一体化的搭建方式对原有系统进行升级改造。目前东城区的“城管通”与信息化城市管理系统均由北京数字政通公司开发和维护。该公司拥有将基于无线技术的移动应用系统与政务管理系统有机结合的开发与实践经验,技术力量能够满足用户提出的各项功能要求。
综上所述,基于信息化城市管理系统和多普达D600“城管通”手机端开发基础数据动态更新系统的基础条件、技术力量均已具备。
二、信息化城市管理基础数据动态更新系统
(一)基础数据动态更新系统的架构
基础数据“动态更新”系统是基于多普达D600“城管通”手机中Windows Mobile5.0操作系统开发的功能模块,通过中国移动通信网上传到“城管通”系统服务器,再通过政务专网上传到信息化城管系统服务器中,系统管理员定期导出监督员通过动态更新系统上报的数据,转交专业测绘公司进行后期的数据制作。见图1。
运用动态数据更新系统上报更新信息是不需要信息化城市管理系统人工干预,也不会影响信息化城市管理系统的正常业务办理。
(二)基础数据动态更新系统采用的技术
1.采用适应网络发展的三层体系结构
数据层、业务逻辑层和表现层。
采用DNA体系三层结构,具有如下优点:
(1)实现了分布式数据处理,能完全利用平台的灵活性、Internet的优势和通讯能力;(2)在一个共享的中间层封装了商业规则;(3)使用标准的数据访问接口,跟所使用的数据库无关;(4)中间层的业务逻辑采用组件技术开发,灵活性大,易于移植,可以快速开发、部署应用程序,不需要对开发者进行重新培训,降低开发者必须写的代码;(5)各模块皆具有互操作能力,可以方便地向现有系统增加功能,符合开放的协议与标准,可以集成其他厂商的产品。
2.采用技术领先的J2EE框架
Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)是一种利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、到处运行”的特性,方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise Java Beans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。
3.采用面向对象的C#
C#作为微软自主开发的语言,除了继承了C与C++的所有优点特性,更具有在 Windows 操作系统下的高效性,它不但适用于各种操作系统,并且能与 Windows 紧密的结合在一起。
(三)系统使用方式、在多普达D600手机中实现方法及数据更新成果展示
1.监督员使用动态数据系统方式
监督员在平时巡视过程中,发现新增、删除、变更的城市部件、地址兴趣点参照物等情况,通过“城管通”中的“动态数据”更新系统将变更信息及时上报信息化城管系统即可。
2.动态更新系统在多普达D600手机中实现方法
在“城管通”手机开发动态更新系统时,充分考虑了监督员的工作习惯,数据更新系统上报模式与正常工作时的问题上报基本类似,操作简单、通俗易懂。
具体操作步骤:点击“动态更新”→选择类别(城市部件、地址兴趣点参照物)→选择操作内容(新增、变更、删除)→地图(位置)选择、照片选择、录音选择、问题描述→点击“发送”即可。
3.信息化城市管理系统中导出的数据更新成果展示
系统管理员定期从信息化城市管理系统中导出监督员上报的数据更新成果,主要内容有:
(1)动态更新成果明细(以城市部件为例),含:任务号、类别、变更类型、监督员、大类、小类、部件编码、X(Y)轴坐标、街道、社区、万米单元网格号、问题描述、上报时间。
(2)多媒体信息目录,内含全部监督员上报的任务号,每个任务号内含:上报问题的照片、一个录音文件、一张含有上报问题定位的地图。
三、基础数据动态更新系统测试情况分析
2009年7月底、11月底,我们先后两次组织监督员进行了基础数据动态更新系统现场测试,主要存在如下问题:一是监督员上报问题时的视野过大,影响定位的精度和数据的准确性;二是建议增加院落范围线和楼房范围线,为监督员上报问题定位时提供参照依据,进一步确保监督员上报问题时定位的精确性。
2009年12月底,针对两次测试情况,系统开发组从动态数据更新程序和基础数据制作两个方面对系统进行了优化和补充,改进了测试发现的问题。
2010年1月中旬,又组织监督员进行以上报新增、删除“监控电子眼”的测试,从测试结果来看,基本符合要求,达到了预期的效果。
四、基础数据动态更新系统前景分析
研发基础数据动态更新系统,这是东城区进行基础数据更新机制新的探索,是对传统数据更新方式有益的补充,对比常态的基础数据更新有明显的优点:
一是方便快捷;二是周期短,方式灵活,可以根据需要随时进行更新;三是省时省力,减轻了监督员的工作强度;四是克服了部分监督员由于业务不熟练,导致普查时城市部件分类错误问题的发生;五是可以用此功能对信息化城市管理系统拓展的项目(如:酒类经营场所、污染源等数据)进行实时的动态数据更新。
总之,动态数据更新系统有良好的发展前景。
五、基础数据动态更新系统存在的不足
由于基础数据动态更新系统是刚研发并正式投入运用的,其存在一些问题待今后加以改进。比如:
一是目前开发的动态数据更新系统对点状城市部件、地址兴趣点参照物定位毫无问题,但对线状、面状信息采集就有一定的局限性,待今后版本加以改进。
二是基础数据动态更新系统,对地形变化大(拆迁等)的地区有一定的局限性,需要用常规方法进行测量和外业调绘。
动态数据驱动应用系统 第12篇
SilkTest 是美国Segue 公司开发的一种软件GUI 的自动测试工具。在自动化测试领域, Silktest 作为近年来的主流回归测试工具, 得到了越来越多的关注和使用。 SilkTest 是业界领先、对企业级应用进行回归测试的产品, 可用于测试Web, Java 或是传统的C/S 结构。SilkTest 提供了许多功能, 能使用户高效率地进行软件自动化测试[1]。
1 SilkTest的主要特点及工作原理
1.1 SilkTest主要特点
SilkTest的主要特点为:
(1) 整合开发环境 (IDE) 。用户可以用它来开发、编辑、运行、分析和调试 4Test文件。
(2) 真正的对象识别。
(3) 内置的全年全天候 (247365) 无需人为干预测试时的恢复系统 (Recovery System) 。
(4) 完全分布式测试。可以针对C/S应用进行测试, 可使硬件资源有效使用。
(5) 可扩展、高便携性、可编辑、易于维护的脚本语言 (4Test Language) 。
(6) 用于重用性更好、更易于测试及脚本维护的GUI提取层 (GUI abs Traction Layer) 。
1.2 SilkTest的工作原理
在SilkTest看来, 被测试软件 (AUT) 由许多GUI对象组成[2]。用户在进行测试时通过键盘/鼠标与这些对象交互。具体应用时, SilkTest通过面向对象的概念, (类/属性/方法) 识别这些GUI对象;测试时模拟用户的操作, 与这些GUI对象交互, 通过SilkTestrepository自动记录用户操作过程中对各个GUI对象的操作, 然后将这些操作转换成4Test 的脚本, 写入脚本程序中。当对软件做了修改并重新运行这个测试时, SilkTest就可以利用测试回放功能把测试前所做的输入操作重新应用到本次测试中, 并自动比较软件对本次测试和以前测试的响应是否相同, 如果不同, 就表明对软件的修改产生了新的错误, 实现自动测试的目的。
2 SilkTest在数据驱动测试中的应用
数据驱动技术[3,4]实行的就是测试脚本和数据的分离技术, 使得测试脚本成为可以驱动所有类似测试用例组的通用脚本, 使测试用例的修改和维护更加容易, 简化了回归测试。
2.1 测试环境
使用SilkTest的集成开发环境IDE, 在开发基于应用服务器的分布式应用软件过程中, 往往需要对服务器和IDE 工具之间的协同工作能力进行测试, 以保证开发出的应用程序最终可以正确地安装到应用服务器上并正常工作[5], 其典型步骤如图1所示。
如图1所示, 首先, 在IDE 中将服务器端组件部署到应用服务器上①。这需要在IDE 中进行一系列的手工操作;然后, 需要在IDE 中生成或配置与服务器端组件相对应的客户端组件③;最后, 从IDE中运行客户端组件, 进行客户端与服务器端交互操作测试, 并产生测试结果②。
2.2 SilkTest在数据驱动中的具体应用
考虑到上述测试的部署、配置和运行的操作主要在集成开发环境中进行, 因此可以通过使用SilkTest 录制操作来实现测试的自动化。SilkTest 将所记录的图形用户界面对象转换成4Test 语言对象。由于4Test语言是面向对象的, 所以可以对4Test语言脚本进行各种修改, 也可以用变量代替录制测试步骤过程中使用的实际值, 从而实现数据驱动的自动测试[6]。在测试IDE工具软件时, 不同测试用例组的操作之间具有极大的相似性, 因此存在采用数据驱动的方式来进一步优化用SilkTest 录制测试操作的可能性。也就是说, 录制一个典型的测试流程, 然后通过对SilkTest 录制的脚本进行编程修改, 将其改造成可以驱动全部测试用例的通用驱动程序。
(1) 用SilkTest 实现数据驱动的回归测试的流程[7], 如图2所示。
(2) 具体的录制修改过程。
根据SilkTest的要求, 在用SilkTest 录制测试步骤之前, 应当首先录制与测试过程中的鼠标或键盘事件相关AUT的各个GUI 控件。用SilkTest记录这些控件时, 只需要将鼠标依次在GUI 控件上划过即可。SilkTest 会将这些控件转换成相应的4Test 语言对象。SilkTest在记录控件的同时, 也记录了它们与父控件之间的隶属关系。所记录的GUI 控件对象及其隶属关系称为测试框架 (Frame) 。SilkTest 还会自动为所记录GUI控件命名, 但是这些名称通常是由控件名和序号组成的, 不易于理解, 因此需要将所记录的控件用易于理解和记忆的名称重新命名, 以便于今后的开发和维护。
在测试框架录制完成之后, 需要录制手工执行的典型测试步骤。SilkTest 会将记录下来的手工操作步骤转换成4Test 语言的脚本。下面的代码是记录配置服务器连接操作的一段4Test 语言代码示例:
在上述代码中, 用4Test 语言记录了在部署配置对话框中输入服务器名、端口号、登录用户名和密码等内容, 并点击“连接”按钮与服务器进行连接。应当注意的是, 代码中使用录制时输入的具体值作为各个方法的参数, SilkTest 运行测试时会自动将这些值填充在部署配置对话框的相应位置上。
为了实现数据驱动, 让测试具有更大的灵活性, 需要对录制好的4Test 语言脚本进行修改, 用参数替代录制过程中使用的实际值, 然后通过某种方式为这些参数赋值。对于上面的例子, 可以定义一个包含各个输入项的数据类型:
然后把这个数据类型传递给ConfigureHost 方法[8]:
在测试时, 使用有关服务器配置的实际值可以存放在某个数据文件中, 并在程序的适当部分将其读入。
对于不同的测试用例组, 它们之间的差别可能还包括组件名称和文件存储位置等内容的不同, 那么只需要用上面所说的方法将这些存在差异的地方的具体值用参数代替, 并在运行特定的测试用例组时, 从相应的数据文件中读取相应的值, 就可以把专用的测试步骤变成通用的测试步骤。因此, 仅需要用SilkTest 录制一个典型测试用例的运行步骤, 再经过一些相应的修改后, 就可以采用SilkTest 自动运行这类回归测试中的所有测试用例[9]。另外, 由于实现了数据驱动的测试, 因此对测试项目的增加和修改也非常容易。
(3) 使用SilkTest 来验证AUT 的GUI 的正确性。
在这种情况下, SilkTest 依次执行4Test 语言脚本中的各个操作, 并判断每步操作是否会导致预期的显示结果。如果每一步的显示结果都与所预期的一致, SilkTest认为测试通过, 否则, 就认为测试失败, 并在自动生成的测试结果文件中显示运行结果与预期结果之间的差异。
但是, 所述方法使用了SilkTest, 实现了涉及软件之间协同工作能力的数据驱动回归测试, 其中SilkTest 自动执行的是运行测试用例组的步骤。也就是说, SilkTest 只是实现了测试用例组的执行过程, 而不涉及测试用例组和测试用例本身的逻辑, 所以即使所有的测试步骤都顺利执行, 并不代表测试也已经顺利地通过。
为了利用SilkTest 自动对测试结果进行判断, 可以在测试用例中加入输出语句, 这样在运行测试时, 所有测试用例的运行结果都会输出到指定的日志文件中。当SilkTest 运行完一个或一组测试用例, 将包含测试结果的日志文件与一个基准文件 (Benchmark File) 进行比较。一般来说, 基准文件是在一个或一组测试用例全部正确运行的情况下得到的测试输出日志, 它通常是在测试用例设计完成时就确定的。如果包含测试结果的日志文件与基准文件完全匹配, 可以认为测试通过。如果它们之间存在差别, 那么就认为测试没有通过, 并在SilkTest的测试结果文件中打印两个文件之间的差别。
3 结 语
阐述了自动化回归测试工具SilkTest的主要特点及工作原理;介绍了SilkTest在数据驱动技术中的应用;简化了测试人员的测试复杂度;提高了测试效率和保证测试的可靠性;降低了测试费用。
参考文献
[1]费娟.基于Silktest的软件测试自动化[J].广东通信技术, 2006 (2) :69-72.
[2]古乐, 史九林.软件测试技术概论[M].北京:清华大学出版社, 2004.
[3]丁玉伟.基于GUI的自动化测试工具[J].软件世界, 2004 (10) :87.
[4]Anon.软件测试及管理工具[EB/OL].http://www.segue.com, 2006.
[5]阎茂德, 许化龙.软件测试技术及其支持工具介绍[J].集美大学学报:自然科学版, 2003, 8 (2) :154-159.
[6]Mark Fewster, Dorothy Graham.软件测试自动化技术与实例详解[M].舒志勇, 包晓露, 焦跃, 等译.北京:电子工业出版社, 2000.
[7]方菲, 孙家骕, 王立福, 等.面向对象软件回归测试技术研究[J].软件学报, 2001, 12 (3) :58-62.
[8]Robert V Binder.Use-cases Threads and Relations:TheFREE Approach to System Testing[J].Object Magazine, 1996 (2) :3-4.
[9]Automated Testing:A Silver Bullet.Cem Kane′s WebSite, 2001.
动态数据驱动应用系统
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


