当前位置:文档之家› 分布式认知视角下的智能授导系统的设计与开发

分布式认知视角下的智能授导系统的设计与开发

分布式认知视角下的智能授导系统的设计与开发
分布式认知视角下的智能授导系统的设计与开发

分布式认知视角下的智能授导系统的设计与开发

李欣

(浙江师范大学教师教育学院,浙江金华321004)

[摘要]分布式认知理论为认知交互和知识共享提供了一个综合模型。将分布式认知理论和分布式虚拟现实技术引入智能授导系统中,对创设逼真的认知情境、实现资源共享、促进个性化学习、提高教育效率等具有重要作用。本文探讨了分布式认知学习理论及其对系统设计的指导作用,提出了一种基于Agent技术和分布式虚拟环境的智能授导系统建构方法,重点研究了系统的体系结构、学习服务功能以及用户化身在虚拟环境中的交互模式,给出了利用Virtools技术实现系统的环境设计、网络通信和多用户交互行为的开发方法。

[关键词]分布式智能授导系统;分布式认知;虚拟学习环境;Agent;Virtools

[中图分类号]G434[文献标识码]A

分布式虚拟环境(DistributedVirtualEnviron-ment,简称DVE)就是把虚拟现实和网络技术结合在一起,在一组以网络互联的计算机上同时运行VE系统的技术,[1]它代表着未来的计算机交互界面。[2]智能代理技术提供了一种全新的、分布的计算模式和问题求解途径,将是下一代复杂分布的工程系统模型。分布式虚拟环境技术、智能代理技术的深入发展及其与现代教育技术的有机融合,引发了教育领域的又一次革命。同时,学习领域的理论发展也正经历着一次科学的革命,那种将学习视为知识获得,知识由教师传输给学生的学习客观主义观正在被建构性的学习过程观所代替。这些理论包括情境学习、活动理论、分布式认知、生态心理学、日常认知和日常推理、社会共享认知等等。[3]其中,分布式认知以一种新的视角来重新审视教育理念与技术手段的多重要素对于认知成效的作用,它与基于网络的学习环境中的各要素可以轻松地建立一种映射关系,恰当地表达了数字化教育的主题。因此,分布式认知被用来作为计算机支持的在线学习环境架构的理论框架。分布式认知的思想强调学习者为中心、关注学习活动、注意学习情境脉络,并在某种程度上依靠制品与技术的应用。在智能授导系统设计与研究中引入分布式认知的观点,势必会对当前的DITS模式与方法有一个革新。

本文旨在分布式认知理论框架下,借用分布式认知的一些规律与特征,对传统ITS的体系结构及其运行模式重新审视与分析。在此基础上,设计开发一个基于分布式认知框架的分布式智能授导系统,以期探索一种在新的理念指导下DITS的设计与开发方法。

一、分布式认知视角下的DITS

(一)智能授导系统的研究现状

ITS系统主要包括四个组成部分,即学生模块、专家模块、课程与诊断模块、通讯模块。[4]Hartley和Seeman最早提出了一个ITS的框架,[5]他们认为ITS应该包括专门知识(专家模型)、学生的知识(学生模型)和教学策略知识(导师)。此后近30年,ITS的组成框架基本没有太大的改变。近10年来,许多国家和地区,如美国、英国、加拿大、欧洲和日本都十分重视ITS的研究、开发与应用,先后投入大量的人力和财力,为ITS的研究与发展起到巨大的推动作用。比较有代表性的有Peng-KiatPek和Kim-LengPohl应用贝叶斯网络建立的学生模型,[6]可以很好地估计出学生的学习兴趣,对学生的学习行为进行预测;DietrichAlbert和CordHockemeyer通过对知识空间理论的分析,得出超文本与知识空间在结构上的相似性,对知识进行建模,使之适用于Web;[7]JoelMartin和KurtVanLehn使用贝叶斯网络对学生的学习结果进行评价,分析学生学习过程中的不足与缺陷;[8]DeclanKelly和Bren-danTangney提出了一种采用MAS技术对个性化学习进行动态建模的智能框架,[9]以适配学习者的不同需

[文章编号]1003-1553(2008)01-0052-07网络教育与远程教育

求。与此同时,还开发出了一系列智能化程度较高、教学针对性较强的授导系统,比较著名的有Learn-ingspace(http://www.learningspace.org.uk)、WebCT(http://www.webct.com/)、Virtual-U(http://www.virtual-u.org/)、ClassFronter(http://www.fronter.com/osloskoler/)。

近年来,国内部分高校开发了支持自主学习、异步协作、适时学习、课程发布及学习管理ITS网络教学平台,部分产品还具有集成的课程内容与编创工具,为使用者提供了灵活丰富的学习体验。但总体上,由于我国在ITS领域的研究起步较晚,而且仅有少数大学和部分研究机构在开展相关研究工作,理论研究方面突破较少,研究成果真正投入到教学实践、能为用户提供有效学习服务并为用户接受的智能授导系统还不多。

(二)需要解决的问题

基于分布式环境的智能授导系统由于资源、人员和管理分布等特点,教学模式、教学方法及教学资源表现形式与传统的智能教学系统相比发生了很大变化。从分布式认知视角审视当前ITS的设计与应用实践,作为一种应用于教学目的的人工系统,在系统开发过程中主要对如下一些问题进行解决:

1.既定的“推理智慧”难以适应灵活的授导需求

ITS作为智能化软件教学应用的集成体现,比一般的程序系统有更强的适应性。但这种适应性(即机器的智能水平)在设计阶段就已基本定型。智慧能力比较单纯,且依赖推理机的设计与知识的表示。由于系统对学生知识状态的判断不充分(太多或者太少),当系统响应学习者的请求或学习者在学习过程中出现错误时,系统所形成的辅助性教学材料通常难以满足学习者的需求。由于系统缺乏与环境的交互能力,无法超越既定“经验”去有效地应对灵活的授导需求,导致的结果是:对不同认知水平的学生和不同的教学内容采用相同的教学策略,难以实现因材施教。

2.监控与激励机制缺失

一个有效的ITS必须方便学员在其中建构自主学习环境,而自主化学习的成败,在绝大部分程度上决定于学习者的学习动机、自我管理等元认知策略。尽管元认知技能是内化于个体之中的,但是ITS系统依然有为强化元认知技能而提供认知监控与激励的义务,当前的ITS系统较少考虑此问题,导致用户在学习过程中容易出现认知倦乏与动机消退现象。

3.过多关注技术层面导致系统终极目标模糊

过多关注技术层面的设计与实现,特别是强调信息与功能方面的集成与共享,忽视了系统最本质、最具价值的“授导”服务功能。智能授导系统的本质内涵与统终极目标,是根据实际的教学需求,解决“学习与认知”方面的问题。围绕这一终极目标,再来进行知识的组织与表示、学生建模分析、教学方法与策略设计。过分强调计算机技术的作用,就会本末倒置。因为,需求的主体是“学习者”,系统的终极目标是为服务于“学习和认知”这一授导功能提供技术支撑。

4.人机交互不够和谐

学习者与系统以及学习者之间的交互仍然受到较大的约束。系统不能实现小组学习者的动态适应性组合,无法实现最佳的合作伙伴寻找;各教学子系统缺乏互通共享,课件学习系统、考试系统、作业系统、虚拟实验系统自成体系,缺乏信息的共享与交互;缺乏有效的学习引导,导致学习过程中出现迷航现象;系统的测试和评价功能不强,不能根据学生的要求和学习情况自动选题组卷、变换题目,灵活性较差,评价不够准确。此外,当前的ITS系统大部分都是二维的,不具有沉浸式功能,用户无法亲身体验在网络中交互的感觉。虽然有些系统(如虚拟实验)也涉及到3D环境下的用户交互,但这种交互仅仅是个体的行为,很少涉及到在多用户分布式虚拟环境下具有物理性质的用户化身之间的交互。

二、分布式智能授导系统架构的理论基础

(一)分布式认知理论

“分布式”一词最初出现于计算机领域,用于描述计算机基于网络的分布式数据存储和处理两大功能。分布式被引入到教育领域后,产生了“分布式认知”、“分布式学习”、“分布式智力”等名称不同、意义相近的诸多名词,目前尚未完全统一。本文采用“分布式认知”,与相关研究领域学者所指称的“分布式学习”、“分布式智力”具有相同的本质和含义。

美国Syllabus杂志在1995把“分布式学习”定义为:分布式学习不只是替代“远程学习”的一个新术语,更确切地说,它来自于分布式资源这一概念。分布式学习是一种学习模式,它允许指导者、学生和学习内容分布于不同的、非中心的位置,使教和学可以不受时空限制而发生。分布式学习模式可以结合传统的课室授课的课程使用,也可以结合传统的远程学习课程使用,或者用来创建完全的虚拟教室。美国研究分布式学习的权威机构ADL(AdvancedDistributedLearning)对分布式学习的解释是:分布式学习要实现的目标是让人们可以在任何时间、任何地点进行学习。其关键要素包括基于Web的模块化内容、智能导师、互操作与重用、更大范围的协作。[10]

根据有关研究机构和PhilipBell、WilliamWinn、[11]李克东、[12]傅小兰[13]等中外学者的观点,分布式认知的主要特征可以概括为:交流与共享是分布式认知的必要条件,分布式认知强调对观点的表征,分布式系统中的制品主要用于拓展人的能力,分布式学习环境取决于个体和小组学习的特征以及认知方式。

(二)分布式认知对系统设计的指导作用

分布式认知的个体、制品、文化、策略等,可以与DITS系统中的学习者、网络环境、学习氛围、教学策略等形成一种映射关系,因此,分布式认知可在理论与功能框架层次对DITS系统设计以新的启迪。

1.以功能系统为分析单元。分布式认知以个体、制品和他们在特定情境中相互关系组成的功能系统作为分析单元,提供了一种从全局把握认知活动全貌的全新观点。借鉴分布式认知的观点,在系统设计时不能将DITS仅仅作为基于网络的教学支持系统的来考虑,而应该包括参与系统活动的所有个体(学习者、教师、管理员)、用于DITS活动的软硬件配置,以及包括教学策略、学习内容组织、资源给养、个性化服务等在内的软环境。

2.肯定认知分布存在。强调认知的分布性是分布式认知最明显的特征。分布式认知重视表达学习的群体性、社会性,突出个体的主体地位,恰当地表达了信息时代强调学习活动的主动性、交互性与社会性的观点。“分布”的概念强调主题及资源的“非中心化”,以及主体间的平等与互助,而又有别于无原则的“分散”与“无中心”,提倡共同与协作的团队理念。就DITS系统所处的分布式网络环境而言,认知的分布性为DITS软件平台和多种形式的网络资源库的认知作用给予了明确的肯定。此外,由于分布式认知强调认知现象在个体参与者、制品和内外部表征之间的分布性,因而不同个体之间的相互作用受到了特别关注。

3.重视认知情境创设。分布式认知框架强调将功能系统作为分析单元,即由单纯考虑在头脑中参与认知活动的个体转变为考虑在社会和物质情境脉络中参与认知活动的个体。[11]这实际上也肯定了社会和物质的情境脉络以重要的交互性方式融入了个体参与其中的认知工作。分布式认知从系统的角度关注个人和情境脉络中的交互方式,因而对于DITS系统的设计,有必要考虑创设一个拟生态的、社会化的、真实感强并提供自然交互的三维虚拟学习环境,对基于网络的情境化学习提供创设情境、促进交互等方面的技术支持。

分布式认知提供了一个对于认知交互和知识共享的综合模型,为DITS系统进行学习环境、交互与共享的设计提供了一个全面的范式。

三、系统体系结构

目前针对ITS存在的不足,学者们采用数据仓库、数据挖掘、项目反应原理、计算机支持的协同工作、分布式人工智能、网格、可扩展标记语言、自然语言处理等技术对ITS进行系统的改进与应用设计。在诸多新技术中,分布式人工智能中的多Agent技术(Multi-AgentSystem,MAS)特别适合应用于DITS系统中。作为一个具有自适应性的智能体,Agent技术提供了一种分布式智能程序设计的方法,能代表用户或其他程序以主动服务方式完成一组工作;多Agent技术则放松了对集中式规划、顺序控制的限制,提供了分散控制和并行处理。正是由于MAS具有更大的灵活性,更能体现人类社会的智能,更适应开放和动态的世界环境,因而使用MAS技术可弥补ITS中存在的一些不足,增加了教学内容的趣味性和个性化色彩,从而达到让学习者主动建构知识、自我更新甚至创新知识的目标。

(一)系统设计目标

以分布式认知理论和教育教学理论为指导,应用多Agent技术,根据学生的模型数据和知识类型确定教学过程中采用的基本教学策略,对系统及数据库、服务器群进行协同管理,在具体的学习过程中,通过监视人机交互进行动态的学习行为追踪记录和教学策略的适时调整;应用网络及分布式虚拟现实(DVR)技术创建一个拟生态的社会化的三维虚拟认知情境,从而实现适应性学习、非正式学习和智能化授导,解决ITS的智能化水平低、真实感和沉浸感不强、交互性弱等问题。

图1系统体系结构

(二)系统体系结构

分布式智能授导系统采用C/S结构,如图1所示。整个结构分为五层:用户层、交互层、教学多Agent引擎层、服务器层以及分布式数据库层。整个环境由客户端和服务器端构成,客户端与服务器端通过In-ternet进行通讯。客户端预先下载并安装支持IE的3D浏览器插件,将场景文件下载到客户端进行绘制。服务器端主要包括教学多Agent引擎组件、3D对象服务器、WWW服务器、数据库服务器和文件服务器。

四、系统核心模块——

—学习服务Agent群

学习服务Agent群是DITS中的核心模块,分为教学组织管理、协作交流、学习、教学专家四大子模块。其功能结构如图2所示。各Agent的主要功能及相互关系分述如下:

图2学习服务Agent群功能结构

(一)教学组织管理Agent群

教学组织管理Agent群由课程生成Agent群、答疑Agent群、考试评价Agent组成,主要负责教学内容的组织、教学环节的安排。它是以学生Agent群和教学专家Agent群提供的信息为依据,针对学生的个性特点的不同而进行教学单元的组织以及学习内容的生成,进而完成个性化服务。

鉴于学习对象的不固定,课程生成内容因人而异。在课程生成Agent群中,我们采用以学习者为中心的学习内容组织方式,即“元知识点Agent—学习单元Agent—课程设计Agent”三层结构来组织针对不同学习者的教学内容。[14][15][16]“元知识点”是指一个最小的、独立的、具有意义的教学单元,包括示例、内容、多媒体表现形式、知识点练习、虚拟实验等。“学习单元”是指由多个“元知识点”构成,用于完成某个教学目标的有序集合。

(二)学习Agent群

学习Agent群主要完成三项功能;一是通过用户信息Agent获取用户界面的动作信息,并从这些数据中提取有用的信息进行分类,根据用户的情况,分解、制定与分配任务;二是通过个性分析Agent估算用户认知程度、兴趣爱好、知识域,系统通过学习和推理、挖掘用户数据的潜在信息,获得全面描述用户的学习情况和个性特征的信息,为个性化服务和学习内容的组织提供依据;三是通过状态追踪Agent定时轮询Web日志,获取用户的学习状态信息,完成对用户行为的监视和采集,并将获取的信息进行分类,为学习诊断提供信息依据。

(三)教学专家Agent群

用户在自主学习时,由于知识水平、所选的学习科目以及学习目标的差异,需采取不同的教学策略来组织授导。教学专家Agent群内部含有大量的教学领域专家的知识与经验,能根据学习Agent群提供的学生个性和学习状态信息来完成教学策略的制定和适时调整,具有启发性、透明性、灵活性。

教学专家Agent群主要由学习诊断Agent和策略制定Agent组成。学习诊断Agent主要根据用户自主学习的特点、知识掌握水平制定有针对性的授导方案,主要采用模型法和策略重构法;[17]策略制定Agent主要针对一个学生的学习情况安排具体教学策略,主要包括教学计划和教学策略制定两块内容,其知识表示与推理采用产生式系统(productionsystem)实现。[18](四)协作交流Agent群

协作交流子模块主要由合作协商、会话、活动组织三部分组成。合作协商Agent是合作交流子模块的核心,系统通过对用户的了解,智能化地推导出他们的共同兴趣、相似特征、共同目标以及互信度等,为活动组织Agent提供组织信息的依据;活动组织Agent根据协商Agent的信息提示,根据合作协商Agent产生的信息,按照一定的策略来组织合作对象、合作内容以及合作方式;会话Agent负责对用户之间可能发生的通信进行管理,如用户间寻找合作伙伴、开展主题讨论等。此外,协作交流Agent群还可根据用户的学习情况及知识水平产生虚拟班级、推荐合作伙伴,以此促进相互间的交流、学习和协作。

整个学习服务Agent群采用分层管理,属于同一层的Agent可互传信息,各Agent群之间采用消息传递机制进行通信。每个Agent群中都有协调管理Agent,避免了在网络集中式多Agent结构中,各

Agent之间的合作都由MAS协同管理来负担而可能导致的通信拥塞。这种结构比联盟式多Agent结构更便捷,Agent间的信息传输更灵活、合作更紧密。

五、虚拟学习环境的开发方法

DITS运行在分布式三维虚拟学习环境中,三维虚拟学习环境作为用户学习和交互的平台,对整个系统的运行提供底层支撑。创设一个沉浸感强、界面友好、导航清晰、交互流畅的分布式三维虚拟学习环境,对提升DITS的整体品质及执行效率至关重要。

(一)开发工具的选择

本文采用3DSMAX与VirtoolsDEV工具相结合的形式,[19]符合采用“大众化技术”来实现系统设计的原则。理由有四:①Virtools的三维引擎已经成为微软XBox认可系统,已有赛伯丽亚(Syberia)[20]和国际象棋在线(OnlineChessKingdoms)[21]等成功的开发案例;②除了主开发程序VirtoolsDEV以外,还有五个可选模块提供选择:多用户网络服务模块(Multi-userServerPack)、物理属性模块(PhysicsPack)、人工智能模块(AIPack)、虚拟展示模块(VRPack)和游戏开发模块(XBoxKit);③Virtools在3D互动展示方面技术强大、组成完善;④界面直观、使用方便。Virtools包含有500多个行为模块(BuildingBlocks,简称BBs),避免了繁复冗长的动态交互设定与程序代码的撰写。如在选定角色对象并为之建立实现各种功能的脚本后,在脚本编辑区(Schematic)只需对BBS通过简单的“拖、拉、放”并完成逻辑连接,就能实现角色物理属性Agent、通信Agent等的功能设定。

(二)开发方法

分布式虚拟环境中的Agent所指的就是用户的虚拟化身,在DITS环境中,每个用户都以各自指定的以三维图形显示的Agent(又称物理Agent或用户化身avatar)形式表现。采用Virtools开发平台、DITS的虚拟学习环境开发主要解决三方面的问题:

1.基于Agent设计的虚拟环境

基于Agent设计的虚拟环境就是指能够显示这个虚拟学习环境以及环境中用户化身的Web浏览器。我们通过以下步骤实现:首先,在3DStudioMax中完成虚拟场景、虚拟角色(化身)的建模以及虚拟角色的动作设定,并将场景、角色模型及动作文件导出为*.NMO格式,在VirtoolsDEV中,建立资源库文件(如DITSResources),并将*.NMO文件导入到相应的分类文件夹中。第二,在VirtoolsDEV中完成物理Agent的设计,主要有:化身与虚拟环境之间以及化身相互之间的碰撞检测;设定整个虚拟环境的地面属性,以便化身能始终保持在地面上行走,而不是飘浮在半空中。第三,将在VirtoolsDEV中完成的物理Agent和其他3D对象Agent,用“SaveForWeb”命令保存为*.VMO格式。这样,只要在客户端安装Virtools的浏览器播放插件3DLifePlay,就可将*.VMO下载到客户端绘制,从而实现虚拟学习环境的浏览。

在用户选定虚拟化身后,可以通过鼠标、键盘,控制化身在场景中完成前进、后退、左转右转、奔跑等动作。化身的初始状态为“等待”,可设计多种化身供用户选择。

2.基于网络的分布式虚拟学习环境

首先,完成网络服务的软硬件环境搭建,如主机(工作站)、服务器、网卡、集线器(Hub)、交换机(Switch)等的连接,以及网络系统软件的安装等,接下来的工作在VirtoolsDEV软件环境中完成。

(1)完成服务器链接的相关设定:在VirtoolsDEV中,利用CheckConnectionBBS检查服务器和使用者电脑之间的连线;通过GetLocalHostBBS获得本机IP,设置端口、连接超时报错、线程数;通过StartEm-beddedServerBBS创建主机服务器;通过LookForLANServerBBS获取主机服务器;添加ConnectToEmbeddedServerBBS,连接到主机服务器,获得Con-nectionID、ClientID。

(2)利用多用户网络服务器模块(Multi-userServer)下的媒体数据上传下载模块实现用户信息、学习资源以及系统状态信息的上传与下载;利用多用户网络服务器模块下的SQL数据库模块实现系统的场景数据、用户信息、知识、答疑信息、教学资源、控制策略等数据库的管理。限于篇幅,不再展开讨论。

3.人机交互行为设计

智能授导系统的关键技术之一就是如何解决虚拟环境中的智能人机和人人交互问题。人机交互主要是指用户与虚拟环境中化身的交互或与虚拟环境直接交互,人人交互主要是指虚拟环境中化身之间的交互,分述如下。

(1)人机交互。用户与化身的交互或与场景中对象的直接交互,由3D对象Agent负责,它将虚拟环境中用户或其他对象的状态信息及用户化身的管理,以及将状态变化信息回传至MAS协同管理。在ITS环境中,每个用户都有相对应的化身,用户可以通过键盘或者鼠标控制化身在场景中的运动。

(2)人人交互。即化身相互之间的交互。对每个化身而言,和它嵌合在一起的Agent通过信息交换实现

[参考文献]

[1]SnowdonS,GreenhalghCetal.AReviewofDistributedArchitectureforNetworkedVR[J].VR:Research,DevelopmentandApplica-tion,1996,2(1):155 ̄157.

[2]StytzM.DistributedVirtualEnvironment[J].IEEEComputerGraphicsandApplication,1996,16(3):19 ̄31.[3][11]乔纳森.学习环境的理论基础[M].郑太年,任友群译.上海:华东师范大学出版社,2002.3 ̄4,118 ̄122.[4]H.Mandl.A.Lesgold.LearningIssuesforIntelligentTutoringSystems[C].NewYork:Springer-Verlag,1988.307.

[5]J.R.Hartley,D.H.Sleeman.TowardSmoreIntelligentTeachingSystem[J].InternationalJounalofMan-MachinesStudies,1973,(2):215 ̄236.

[6]Peng-KiatPek,Kim-LengPoh.ABayesianTutoringSystemforNewtonianMechanics:CanItAdapttoDifferentLearners[J].Educa-tionalComputingResearch,2004,(3):281 ̄307.

[7]DietrichAlbert,CordHockemeyer.AdaptiveandDynamicHypertextTutoringSystemsDasedonKnowledgeSpaceTheory[A].BenedictduBoulaygRiichiroMizoguchi,Eds.ArtificialIntelligenceinEducation:KnowledgeandMediainLearningSystems,volume39ofFrontiersinArtificialIntelligenceandApplications,[C].Amsterdam.553 ̄555.

[8]J.Martin,K.VanLehn.ABayesianApproachtoCognitiveAssessment[J].CognitivelyDiagnosticAssessment,1995:141 ̄165.

[9]DeclanKelly,BrendanTangney,AdaptingtoIntelligenceProfileinanAdaptiveEducationalSystem[J].InteractingwithComputers,

通讯。多用户网络服务器模块(Multi-userServer)下的多用户在线交互子模块(Multi-userServerStan-

dalone)使用基于TCP/IP标准网络协议的C/S架构,

可以容纳众多人数进行多人互动连线的应用,可以方便实现分布式多Agent之间的相互通信。这里介绍如何用该模块设计会话Agent和活动组织Agent。

会话Agent:利用NetworkSendMessageBBs可以设定某个Agent发送消息。分三种情况:若将消息发送给某一指定的在线Agent,只需把该Agent的ID号做个快捷方式赋给NetworkSendMessageBBs引脚中的Dest(UserID)项;若将消息发送给所有在线的

Agent,则Dest(UserID)不填任何内容;若将消息发送

给网络上部分指定的Agent,则可设定一个列表,将指定Agent的ID添加进列表中,只有表中的Agent可以接收到该Agent发送的消息。

活动组织Agent:通过创建Session实现活动组织

Agent设计。Session定义了一个虚拟的空间,只要某

项活动在其中举行,多个分布式用户Agent则运行其中。Session的原意是讨论、会话,这里可以将Session理解成某项专题讨论或主题活动。Session通常由活动组织者创建,组织者就成为SessionMaster,可执行普通用户不能执行的操作。组织者根据组织策略,通过密码告知的方式实现对拟加入用户的取舍,并对参与活动的用户信息、网络消息及其分布式化身进行管理。其他客户端用户欲加入一项活动,必须得到该活动的SessionID。客户端用户可随时离开一个Session,但活动组织者若离开,则该Session将被立刻删除。

启动Multi-userServerStandalone,添加Create

SessionBBs到Schematic的Script编辑区,运行Ses-

sion参数自动生成器,将生成的参数复制并粘贴到参数设置面板的SessionType中,输入Session(即活动

主题)的名称、设置最多在线人数和密码,其他用户就可申请加入该项活动,成为一个个分布式对象。可用

CreateDistributedObjectBBS创建诸多分布式对象,

并将其绑定到选定的角色,供用户选择作为化身。通过GetIncomingUserBBS,已加入活动的用户可以得到新加入用户的用户ID和用户名,以及在场景中的朝向、位置等信息。同时,该BBS将已参与活动的所有用户信息回送并刷新场景,使新加入的用户也能感知到场景中其他用户的信息。需要注意的是:Multi-

userServerStandalone最多只能允许四人在线,而且

通常仅限于在活动组织Agent的功能设计和连线测试阶段使用,若要部署大规模的连线内容,则必须使用Multi-userPublishingServer模块。

结束语

目前,有关DITS的研究工作在我国刚刚起步,有很多关键技术尚需进一步研究。另外,现有从事

DITS研究的人员大部分来自于人工智能和知识工程

领域,只有把教育技术学、应用心理学、教与学等领域的研究力量结合进来,才能够在这一领域取得新的突破。可以预料的是,随着对DITS技术研究的深入,开发的途径会更加富有成效,将会出现越来越多的集成多种Agent技术、具有高度行为真实感、能切实解决学习与认知问题的具有智能虚拟世界特征的智能授导系统。

(上接第44页)

本案例相近的环境,作者也无意进行过于大胆的推论。利用社会网络分析研究在线虚拟空间,许多问题还没有定论,本文所作的研究也只是一种探索性的尝试,研究过程也存在着许多不足。例如,整体网社会网络分析需要确定一个边界,本研究并没有完全满足这一前提。一方面,选取前50名用户未必十分

科学,而问卷的回收率也并不高,这影响了本研究的效度。当然,我们在调查中也发现,近期“东行记”较活跃的成员都填写了有效的问卷,这在一定程度上弥补了上述不足。

总之,如何拓宽研究手段,有效地利用社会网络数据,发掘Blog群的社会网络结构,促进在线虚拟社区的发展,还需要作进一步深入的研究。

[参考文献]

[1][11]陈向东,高丹丹,张际平.Blog在跨学科知识共享中的应用[J].中国电化教育,2004,(8):17 ̄20.[2]GumbrechtM.Blogsas“protectedspace”[DB/OL].http://www.blogpulse.com/papers/www2004gumbrecht.pdf

[3]NardiBA,SchianoDJ,GumbrechtM,&SwartzL.WhyWeBlog[J].CommunicationsoftheACM,2004,47(12):41 ̄46.[4][6][9]罗家德.社会网络分析讲义[M].北京:社会科学文献出版社,2005.133,150,78 ̄89.

[5]PalonenT,&HakkarainenK.PatternsofInteractioninComputer-SupportedLearning:ASocialNetworkAnalysis[A].B.Fishman&S.O'Connor-Divelbiss(Eds.),FourthInternationalConferenceoftheLearningSciences[C].Mahwah,NJ:Erlbaum,2000.334 ̄339.[7][8]刘军.社会网络分析导论[M].北京:社会科学文献出版社,2004.112 ̄116,225 ̄229.[10]陈向东.网络学习环境中交互问题的跨学科研究[J].中国电化教育,2006,(4):24 ̄27.

2006,(3):385 ̄409.

[10]AboutADL[DB/OL].http://www.adlnet.gov/about/index.aspx.2007-10-02.

[11]乔纳森.学习环境的理论基础[M].郑太年,任友群译.上海:华东师范大学出版社,2002.118 ̄122.[12]任剑锋,李克东.分布式认知理论及其在CSCL系统设计中的应用[J].电化教育研究,2004(8):3 ̄6.

[13]周国梅,傅小兰.分布式认知——

—一种新的认知观点[J].心理科学进展,2002,(2):149.[14]WooldrigeM.J,JenningsN.R,KinnyD.TheGaiaMethodologyforAgentOrientedAnalysisandDesign,AutonomousAgentsandMulti-AgentSystems,2000,(3):285 ̄312.

[15]ToshiharuSugawara,Ken-ichiroMurakami,ShigekiCoto.AMulti-AgentMonitoringandDiagnosticSystemforTCP/IP-basedNetworkanditsCoordination[J].Knowledge-BasedSystems,2001,(11):367 ̄383.

[16]LiChunlin,LuZhengding,liLayuan.AMobileAgentPlatformbasedonTupleSpaceCoordination[DB/OL].EngineeringSoftware,2002,

(33):215 ̄225.

[17]MarkUrban-Lurain.IntelligentTutoringSystems:AnHistoricReviewintheContextoftheDevelopmentofArtificialIntelligenceand

EducationalPsychology[DB/OL].http://www.cse.msu.edu/rgroups/cse101/ITS/its.htm,2007-10-10.

[18]MihaiBarbuceanu,MarkS.Fox,TheArchitectureofanAgentBuildingShell[J].CanadianArtificialIntelligent,1996,(40):9 ̄11.

[19]刘明昆.三维游戏设计师宝典——

—Virtools开发工具篇[M].成都:四川出版集团四川电子音像出版中心,2005.120 ̄137.[20]爱迪斯通.塞伯利亚之谜2[DB/OL].http://www.virtools.com.cn/web/seeUse.aspID=133,2007-08-10.

[21]爱迪斯通.运用Virtools开发的第一款PSP游戏“

OnlineChessKingdoms”[DB/OL].http://www.virtools.com.cn/web/seecnews.asp?ID=133,2007-08-10.

分布式数据库管理系统简介

分布式数据库管理系统简介 一、什么是分布式数据库: 分布式数据库系统是在集中式数据库系统的基础上发展来的。是数据库技术与网络技术结合的产物。 分布式数据库系统有两种:一种是物理上分布的,但逻辑上却是集中的。这种分布式数据库只适宜用途比较单一的、不大的单位或部门。另一种分布式数据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。由于组成联邦的各个子数据库系统是相对“自治”的,这种系统可以容纳多种不同用途的、差异较大的数据库,比较适宜于大范围内数据库的集成。 分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS和分布式数据库(DDB)。 在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的 操作系统支持、被不同的通信网络连接在一起。 一个分布式数据库在逻辑上是一个统一的整体:即在用户面前为单个逻辑数据库,在物理上则是分别存储在不同的物理节点上。一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库。它的分布性表现在数据库中的数据不是存储在同一场地。更确切地讲,不存储在同一计算机的存储设备上。这就是与集中式数据库的区别。从用户的角度看,一个分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好那些数据是存储在同一台计算机上,有单个数据库管理系统(DBMS)管理一样,用 户并没有什么感觉不一样。 分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性。 分布式数据库系统是一个客户/ 服务器体系结构。 在系统中的每一台计算机称为结点。如果一结点具有管理数据库软件,该结点称为数据库服务器。如果一个结点为请求服务器的信息的一应用,该结点称为客户。在ORACL客户, 执行数据库应用,可存取数据信息和与用户交互。在服务器,执行ORACL软件,处理对ORACLE 数据库并发、共享数据存取。ORACL允许上述两部分在同一台计算机上,但当客户部分和 服务器部分是由网连接的不同计算机上时,更有效。 分布处理是由多台处理机分担单个任务的处理。在ORACL数据库系统中分布处理的例 子如: 客户和服务器是位于网络连接的不同计算机上。 单台计算机上有多个处理器,不同处理器分别执行客户应用。 参与分布式数据库的每一服务器是分别地独立地管理数据库,好像每一数据库不是网络化的数据库。每一个数据库独立地被管理,称为场地自治性。场地自治性有下列好处: ?系统的结点可反映公司的逻辑组织。

分布式文件系统Hadoop HDFS与传统文件系统Linux FS的比较与分析

6苏州大学学报(工科版)第30卷 图1I-IDFS架构 2HDFS与LinuxFS比较 HDFS的节点不管是DataNode还是NameNode都运行在Linux上,HDFS的每次读/写操作都要通过LinuxFS的读/写操作来完成,从这个角度来看,LinuxPS是HDFS的底层文件系统。 2.1目录树(DirectoryTree) 两种文件系统都选择“树”来组织文件,我们称之为目录树。文件存储在“树叶”,其余的节点都是目录。但两者细节结构存在区别,如图2与图3所示。 一二 Root \ 图2ItDFS目录树围3LinuxFS目录树 2.2数据块(Block) Block是LinuxFS读/写操作的最小单元,大小相等。典型的LinuxFSBlock大小为4MB,Block与DataN-ode之间的对应关系是固定的、天然存在的,不需要系统定义。 HDFS读/写操作的最小单元也称为Block,大小可以由用户定义,默认值是64MB。Block与DataNode的对应关系是动态的,需要系统进行描述、管理。整个集群来看,每个Block存在至少三个内容一样的备份,且一定存放在不同的计算机上。 2.3索引节点(INode) LinuxFS中的每个文件及目录都由一个INode代表,INode中定义一组外存上的Block。 HDPS中INode是目录树的单元,HDFS的目录树正是在INode的集合之上生成的。INode分为两类,一类INode代表文件,指向一组Block,没有子INode,是目录树的叶节点;另一类INode代表目录,没有Block,指向一组子INode,作为索引节点。在Hadoop0.16.0之前,只有一类INode,每个INode都指向Block和子IN-ode,比现有的INode占用更多的内存空间。 2.4目录项(Dentry) Dentry是LinuxFS的核心数据结构,通过指向父Den姆和子Dentry生成目录树,同时也记录了文件名并 指向INode,事实上是建立了<FileName,INode>,目录树中同一个INode可以有多个这样的映射,这正是连

分布式系统概念与设计(第三版)课后习题与答案Chapter5

Chapter 5Exercise Solutions 5.1The Election interface provides two remote methods: vote: with two parameters through which the client supplies the name of a candidate (a string) and the ‘voter’s number’ (an integer used to ensure each user votes once only). The voter’s numbers are allocated sparsely from the range of integers to make them hard to guess. result: with two parameters through which the server supplies the client with the name of a candidate and the number of votes for that candidate. Which of the parameters of these two procedures are input and which are output parameters? 5.1 Ans. vote: input parameters: name of candidate, voter’s number; result: output parameters: name of candidate, number of votes 5.2Discuss the invocation semantics that can be achieved when the request-reply protocol is implemented over a TCP/IP connection, which guarantees that data is delivered in the order sent, without loss or duplication. Take into account all of the conditions causing a connection to be broken. 5.2 Ans. A process is informed that a connection is broken: ?when one of the processes exits or closes the connection. ?when the network is congested or fails altogether Therefore a client process cannot distinguish between network failure and failure of the server. Provided that the connection continues to exist, no messages are lost, therefore, every request will receive a corresponding reply, in which case the client knows that the method was executed exactly once. However, if the server process crashes, the client will be informed that the connection is broken and the client will know that the method was executed either once (if the server crashed after executing it) or not at all (if the server crashed before executing it). But, if the network fails the client will also be informed that the connection is broken. This may have happened either during the transmission of the request message or during the transmission of the reply message. As before the method was executed either once or not at all. Therefore we have at-most-once call semantics. 5.3Define the interface to the Election service in CORBA IDL and Java RMI. Note that CORBA IDL provides the type long for 32 bit integers. Compare the methods in the two languages for specifying input and output arguments. 5.3 Ans. CORBA IDL:

分布式数据库系统的设计与优化

近年来,计算机技术的发展日新月异,借助于计算机网络而崛起的数据库技术已不断渗透到了社会生活的各个领域.分布式数据库系统是数据库技术的一种,它的产生,使在地理上、组织上分散的单位得以实现信息、数据共享,使系统的可靠性、可用性等得到了明显的改善和提高.因此,如何优化分布式数据库系统,如何更高效地实施数据库查询等问题便显得尤为重要,它关系着整个系统性能和系统效率等诸多关键因素的完善和提高.1分布式数据库的定义 分布式数据库系统的基础是集中式数据库,但是比集中式数据库具有更大的可扩展性,它适用于单位和企业的各下属、分散部门,允许将分工后的针对性较强的各部门数据存储在本地存储设备上,从而提高用户操作应用程序的反馈速度,在一定程度上降低网络通信费用. 分布式数据库系统可以分为两种:一是物理分布逻辑集中,即在物理上是分布的,在逻辑上是一个统一整体,这类数据库系统比较适用于用途单一、专业性强的中小企业或部门;二是无论在物理上或是逻辑上都是分布的,这种分布式数据库系统类型称为联邦式,此类型主要用于集成大 范围数据库,因为该系统主要由用途迥异、 差别明显的数据库组成. 分布式数据库的物理分布性主要表现在数据库中的数据分别存储在不同的地域内或主机上,而逻辑集中性主要表现在无论用户处于哪个位置或使用本局域网中的哪台主机,都可以通过应用程序对数据库进行操作,但这些数据库具体的分布位置用户并不需要知道,就如同数据库存储在本机,并且由本机的数据库管理系统进行管理.2分布式数据库系统的特点 2.1数据的独立性和分布的透明性 数据的独立性可以说是分布式数据库系统的核心和目标,而分布的透明性表现在用户在操作带有数据库的应用程序时,不必了解数据存储的具体物理位置,不必关心数据逻辑集中的区域,也不必验证本地系统支持哪些数据模型.分布透明的特点,在很大程度上增加了应用程序的可移植性. 2.2集中和自治相结合 对于分布式数据库系统来说,数据共享分为两层:局部共享和全局共享.局部共享是相对于局部数据库而言的,存储在局部数据库中的一般是专门针对本地用户的常用数据;全局共享就是说在各个分布的数据库区域,也能够支持 系统在全局上的应用,可以存储可供本网中其他位置的用户共享的数据.那么对于这两层数据共享的分类,就有相应的两种控制方式,即集中和自治,各个局部的数据库管理系统可以对本区域的数据库实施独立管理,称为自治;与此同时,为了协调各个局部数据库管理系统,为了宏观、整体地把握各局部数据库的运行情况等,系统还设置了集中控制的工作方式. 2.3易于扩展性 由于单位、 企业等的数据量越来越庞大,对于数据库服务器的需求也越来越多.如果服务器的应用程序支持水平方向的扩展,那么就可以通过多增加服务器来分担数据的处理任务. 3分布式数据库系统的设计3.1设计的原则 3.1.1分布式数据库系统的主要设计原则是本地和近地.所以,在设计的过程中,应当尽量实现数据的本地化,这样可以有效减少数据节点之间的相互通信,从而提高整个系统的效率. 3.1.2为了改善和提高数据库数据的可用性和可靠性,有时候在分布式数据库系统中可以将数据保存为副本,如果数据的其中一个副本被损坏或者不能使用,那么在网络环境中的另一个节点中可以对损坏的副本进行恢复.不过,在恢复的同时有可能增加冗余的数据,所以在设计分布式数据库系统时应当全面考虑最优的数据冗余程序,从而减少数据库更新的成本. 3.1.3在用户通过应用程序对数据库进行操作的时候,分布式数据库系统应当将总的工作量分流到网络环境中的各局域节点,从而提高了应用程序的执行效率、扩大了数据传输的并行度、充分利用了各局域节点计算机的资源.因此在设计分布式数据库系统的同时,要将负荷合理地分流. 3.1.4在设计分布式数据库系统时,要对网络各局域节点进行存储能力的统筹,对有限的存储控件进行合理的规划.3.2设计的内容 与集中式数据库的设计相类似,分布式数据库系统也包括了数据库和应用.其中,数据库的设计又包括全局的模式设计和局部的模式设计.分布式数据库系统设计的关键是 Vol.28No.10 Oct.2012 赤峰学院学报(自然科学版)JournalofChifengUniversity(NaturalScienceEdition)第28卷第10期(下) 2012年10月分布式数据库系统的设计与优化 左 翔,姜文彪 (安徽医科大学计算机系,安徽 合肥 230032) 摘要:分布式数据库是数据库技术和网络技术相结合的产物,本文从分布式数据库系统的定义和特点入手,介绍了其设计、优化的目标以及优化的方法. 关键词:分布式数据库系统;设计;优化中图分类号:TP310 文献标识码:A 文章编号:1673-260X(2012)10-0020-02 20--

分布式数据库系统复习题

一、何为分布式数据库系统?一个分布式数据库系统有哪些特点? 答案:分布式数据库系统通俗地说,是物理上分散而逻辑上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位连接起来,共同组成一个统一的数据库系统。因此,分布式数据库系统可以看成是计算机网络与数据库系统的有机结合。一个分布式数据库系统具有如下特点: 物理分布性,即分布式数据库系统中的数据不是存储在一个站点上,而是分散存储在由计算机网络连接起来的多个站点上,而且这种分散存储对用户来说是感觉不到的。 逻辑整体性,分布式数据库系统中的数据物理上是分散在各个站点中,但这些分散的数据逻辑上却构成一个整体,它们被分布式数据库系统的所有用户共享,并由一个分布式数据库管理系统统一管理,它使得“分布”对用户来说是透明的。 站点自治性,也称为场地自治性,各站点上的数据由本地的DBMS管理,具有自治处理能力,完成本站点的应用,这是分布式数据库系统与多处理机系统的区别。 另外,由以上三个分布式数据库系统的基本特点还可以导出它的其它特点,即:数据分布透明性、集中与自治相结合的控制机制、存在适当的数据冗余度、事务管理的分布性。 二、简述分布式数据库的模式结构和各层模式的概念。 分布式数据库是多层的,国内分为四层: 全局外层:全局外模式,是全局应用的用户视图,所以也称全局试图。它为全局概念模式的子集,表示全局应用所涉及的数据库部分。 全局概念层:全局概念模式、分片模式和分配模式 全局概念模式描述分布式数据库中全局数据的逻辑结构和数据特性,与集中式数据库中的概念模式是集中式数据库的概念视图一样,全局概念模式是分布式数据库的全局概念视图。分片模式用于说明如何放置数据库的分片部分。分布式数据库可划分为许多逻辑片,定义片段、片段与概念模式之间的映射关系。分配模式是根据选定的数据分布策略,定义各片段的物理存放站点。 局部概念层:局部概念模式是全局概念模式的子集。局部内层:局部内模式 局部内模式是分布式数据库中关于物理数据库的描述,类同集中式数据库中的内模式,但其描述的内容不仅包含只局部于本站点的数据的存储描述,还包括全局数据在本站点的存储描述。 三、简述分布式数据库系统中的分布透明性,举例说明分布式数据库简单查询的 各级分布透明性问题。 分布式数据库中的分布透明性即分布独立性,指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段的站点位置分配情况,以及各站点上数据库的数据模型等。即全局数据的逻辑分片、片段的物理位置分配,各站点数据库的数据模型等情况对用户和用户程序透明。

Hadoop分布式文件系统:架构和设计

Hadoop分布式文件系统:架构和设计 引言 (2) 一前提和设计目标 (2) 1 hadoop和云计算的关系 (2) 2 流式数据访问 (2) 3 大规模数据集 (2) 4 简单的一致性模型 (3) 5 异构软硬件平台间的可移植性 (3) 6 硬件错误 (3) 二HDFS重要名词解释 (3) 1 Namenode (4) 2 secondary Namenode (5) 3 Datanode (6) 4 jobTracker (6) 5 TaskTracker (6) 三HDFS数据存储 (7) 1 HDFS数据存储特点 (7) 2 心跳机制 (7) 3 副本存放 (7) 4 副本选择 (7) 5 安全模式 (8) 四HDFS数据健壮性 (8) 1 磁盘数据错误,心跳检测和重新复制 (8) 2 集群均衡 (8) 3 数据完整性 (8) 4 元数据磁盘错误 (8) 5 快照 (9)

引言 云计算(cloud computing),由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。在此过程中被服务者只是提供需求并获取服务结果,对于需求被服务的过程并不知情。同时服务者以最优利用的方式动态地把资源分配给众多的服务请求者,以求达到最大效益。 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS 能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。 一前提和设计目标 1 hadoop和云计算的关系 云计算由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。针对海量文本数据处理,为实现快速文本处理响应,缩短海量数据为辅助决策提供服务的时间,基于Hadoop云计算平台,建立HDFS分布式文件系统存储海量文本数据集,通过文本词频利用MapReduce原理建立分布式索引,以分布式数据库HBase 存储关键词索引,并提供实时检索,实现对海量文本数据的分布式并行处理.实验结果表 明,Hadoop框架为大规模数据的分布式并行处理提供了很好的解决方案。 2 流式数据访问 运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。 3 大规模数据集 运行在HDFS上的应用具有很大的数据集。HDFS上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑数以千万计的文件。

分布式系统架构设计

本文作者Kate Matsudaira是一位美丽的女工程副总裁,曾在Sun Microsystems、微软、亚马逊这些一流的IT公司任职。她有着非常丰富的工作经验和团队管理经验,当过程序员、项目经理、产品经理以及人事经理。专注于构建和操作大型Web应用程序/网站,目前她的主要研究方向是SaaS(软件即服务)应用程序和云计算(如大家所说的大数据)。 本文是作者在AOSA一书介绍如何构建可扩展的分布式系统里的内容,在此翻译并分享给大家。 开源软件已经成为许多大型网站的基本组成部分,随着这些网站的逐步壮大,他们的网站架构和一些指导原则也开放在开发者们的面前,给予大家切实有用的指导和帮助。 这篇文章主要侧重于Web系统,并且也适用于其他分布式系统。 Web分布式系统设计的原则 构建并运营一个可伸缩的Web站点或应用程序到底是指什么?在最初,仅是通过互联网连接用户和访问远程资源。 和大多数事情一样,当构建一个Web服务时,需要提前抽出时间进行规划。了解大型网站创建背后的注意事项以及学会权衡,会给你带来更加明智的决策。下面是设计大型Web系统时,需要注意的一些核心原则: ?可用性 ?性能 ?可靠性 ?可扩展 ?易管理 ?成本 上面的这些原则给设计分布式Web架构提供了一定的基础和理论指导。然而,它们也可能彼此相左,例如实现这个目标的代价是牺牲成本。一个简单的例子:选择地址容量,仅通过添加更多的服务器(可伸缩性),这个可能以易管理(你不得不操作额外的服务器)和成本作为代价(服务器价格)。 无论你想设计哪种类型的Web应用程序,这些原则都是非常重要的,甚至这些原则之间也会互相羁绊,做好它们之间的权衡也非常重要。 基础

分布式数据库设计报告

分布式数据库设计报告

目录 1案例背景 (1) 需求分析 (1) 2 分布式数据库设计 (2) 设计目标 (2) 总体设计目标 (2) (4)可靠性: (3) 完成方式及周期 (3) 分布式数据库架构图 (4) 物理设计施工 (5) 3 总结 (5) 4所用设备汇总 (7) 5所使用软件 (7)

成品车间分布式数据库设计 1案例背景 随着成品车间信息化程度越来越高,我们的传统集中式数据库系统的缺点逐渐体现出来主要有: 1、所有数据处理、存储集中在一台计算机上完成,一旦机器损坏或系统崩 溃数据数据很难恢复。 2、单台机器写入/查询处理能力不足,一台机器既要读取数据,又要写入数 据,遇到大批量超过单台数据库的处理能力,就会出现卡顿,在生产时 间不敢批量制造/查询数据。 3、硬件性能瓶颈,包括(硬盘、CPU、内存),使用升级硬件的方法效果有限。 4、出现故障没有备用服务器可以替代。 5、当前成品车间存在2种数据库,oracle,sql sever,交叉使用不方便管 理维护,出现问题排查困难。 6、由于数据库初期创建数据库/表比较混乱,现在对数据的统计管理需要在 两台服务器之间交叉进行,统计难度高,效率低。 需求分析 成品车间信息化程度越来越高,各个节点产生的数据量越来越大,对数据系统要求越来越高,我们所使用的传统集中式数据库已经无法从容应对越来越大的数据。 成品车间生产线数据库主要有oracle和sql server两种,分别分布在2台计算机中,柔性线、自动线、三相线交叉使用两种类型数据库,主要出现的问题有; 1、一旦其中一个数据库出现问题,那么就有很大的几率导致三条线体 的某个节点或全部节点失去数据服务,导致停线。 2、数据库出现故障,必须停线,故障修复之后才可以上线使用。

分布式系统和集中式系统

分布式系统和集中式系统 Prepared on 22 November 2020

分布式系统与集中式系统 根据管理信息系统的硬件、软件、数据等信息资源在空间的分布情况,系统的结构又可分为集中式和分布式两大类型。 一、分布式系统 利用计算机网络把分布在不同地点的计算机硬件、软件、数据等信息资源联系在一起服务于一个共同的目标而实现相互通信和资源共享,就形成了管理信息系统的分布式结构。具有分布结构的系统称为分布式系统。 实现不同地点的硬、软件和数据等信息资源共享,是分布式系统的一个主要特征。分布式系统的另一个主要特征是各地与计算机网络系统相联的计算机系统既可以在计算机网络系统的统一管理下工作,又可脱离网络环境利用本地信息资源独立开展工 作。 下图是分布式的图例: a)硬件环境 原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与 软件。 b)网络环境 多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。分布式操作系统的设计思想和网络操作系统是不同的,这决定了他们在结构、工作方式和功能上也不同。网络操作系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个共享文件 时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。当用户提交一个作业时,分布式操作系统能够根据需要在系统中选择最合适的处理器,将用户的作业提交到该处理程序,在处理器完成作业后,将结果传给用户。在这

分布式文件系统架构设计(20201126073806)

分布式文件系统架构设计 1. 前言...................................................... 3.

2. HDFS1 (3) 3. HDFS2 (5) 4. HDFS3 ............................................................................................. 1 1 5. 结语..................................................... 1.5

1. 刖言 Hadoop 是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System ),简称HDFS,解 决了海量数据存储的问题;实现了一个分布式计算引擎MapReduce ,解决了海量数据如何计 算的问题;实现了一个分布式资源调度框架YARN,解决了资源调度,任务管理的问题。而我 们今天重点给大家介绍的是Hadoop 里享誉世界的优秀的分布式文件系统-HDFS。 Hadoop 重要的比较大的版本有:Hadoop1 ,Hadoop2 , hadoop3 。同时也相对应的有HDFS1 ,HDFS2,HDFS3三个大版本。后面的HDFS的版本,都是对前一个版本的架构进行了调整优 化,而在这个调整优化的过程当中都是解决上一个版本的架构缺陷,然而这些低版本的架构缺陷也是我们在平时工作当中会经常遇到的问题,所以这篇文章一个重要的目的就是通过给大家介绍HDFS不同版本的架构演进,通过学习高版本是如何解决低版本的架构问题从而来提升我 们的系统架构能力。 2. HDFS1

分布式汽车电气-电子系统设计和实现架构

分布式汽车电气-电子系统设计和实现架构

————————————————————————————————作者:————————————————————————————————日期:

分布式汽车电气/电子系统设计和实现架构 在过去的十几年里,汽车的电气和电子系统已经变得非常的复杂。今天汽车电子/电气系统开发工程师广泛使用基于模型的功能设计与仿真来迎接这一复杂性挑战。新兴标准定义了与低层软件的标准化接口,最重要的是,它还为功能实现工程师引入了一个全新的抽象级。 这提高了软件组件的可重用性,但不幸的是,关于如何将基于模型的功能设计的结果转换成高度环境中的可靠和高效系统实现方面的指导却几乎没有。 此外,论述设计流程物理端的文章也非常少。本文概述了一种推荐的系统级设计方法学,包括、分布在多个ECU中的网络和任务调度、线束设计和规格生成。 为什么需要AUTOSAR? 即使在同一家公司,“架构设计”对不同的人也有不同的含义,这取决于他们站在哪个角度上。物理架构处理系统的有形一面,如布线和连接器,逻辑架构定义无形系统的结构和分配,如软件和通信协议。目前设计物理架构和逻辑架构的语言是独立的,这导致相同一个词的意思可以完全不同,

设计团队和流程也是独立的,这也导致了一个非常复杂的设计流程(如图1所示)。 图1:物理和逻辑设计流程。 这种复杂性导致了次优设计结果,整个系统的正确功能是如此的难于实现,以致于几乎没有时间去寻求一种替代方法,它可导致更坚固的、可扩展性更好的和更具成本效益的解决方案。为了实现这样一种解决方案,设计师需要新的方法,它可以将物理和逻辑设计流程紧密相连,并仍然允许不同的设计团队做他们的工作。 新兴的AUTOSAR标准为系统级汽车电子/电气设计方法学提供了一个技术上和经济上都可行的选择,尽管它主要针对软件层面,即逻辑系统的设计。不过,大量广泛的AUTOSAR元模型及其丰富的接口定义允许系统级电子/电气架构师以标准的格式表达他的设计思想。从经济上看,

分布式数据库设计方案

1.大型分布式数据库解决方案 企业数据库的数据量很大时候,即使服务器在没有任何压力的情况下,某些复杂的查询操作都会非常缓慢,影响最终用户的体验;当数据量很大的时候,对数据库的装载与导出,备份与恢复,结构的调整,索引的调整等都会让数据库停止服务或者高负荷运转很长时间,影响数据库的可用性和易管理性。 分区表技术 让用户能够把数据分散存放到不同的物理磁盘中,提高这些磁盘的并行处理能力,达到优化查询性能的目的。但是分区表只能把数据分散到同一机器的不同磁盘中,也就是还是依赖于一个机器的硬件资源,不能从根本上解决问题。 分布式分区视图 分布式分区视图允许用户将大型表中的数据分散到不同机器的数据库上,用户不需要知道直接访问哪个基础表而是通过视图访问数据,在开发上有一定的透明性。但是并没有简化分区数据集的管理、设计。用户使用分区视图时,必须单独创建、管理每个基础表(在其中定义视图的表),而且必须单独为每个表管理数

据完整性约束,管理工作变得非常复杂。而且还有一些限制,比如不能使用自增列,不能有大数据对象。对于全局查询并不是并行计算,有时还不如不分区的响应快。 库表散列 在开发基于库表散列的数据库架构,经过数次数据库升级,最终采用按照用户进行的库表散列,但是这些都是基于自己业务逻辑进行的,没有一个通用的实现。客户在实际应用中要投入很大的研发成本,面临很大的风险。 面对海量数据库在高并发的应用环境下,仅仅靠提升服务器的硬件配置是不能从根本上解决问题的,分布式网格集群通过数据分区把数据拆分成更小的部分,分配到不同的服务器中。查询可以由多个服务器上的CPU、I/O来共同负载,通过各节点并行处理数据来提高性能;写入时,可以在多个分区数据库中并行写入,显著提升数据库的写入速度。

分布式个人文件系统的设计与实现

第34卷第4期2005年8月 电子科技大学学报 Jo啪alofUESTofChina V01.34No.4 Aug.2005分布式个人文件系统的设计与实现 何兴高,张凤荔,黄远军,秦志光,周明天 (电子科技大学计算机科学与工程学院成都610054) 【摘要】提出了一种基于E-mail系统的分布式文件系统一EⅧFS,给出了扩展的S删*议(E㈣的状态转换方式和定义,在此基础上研究了利用ESMrP来构建分布式个人文件系统的方法和模型,设计了哪S的模型、内外存的结构、I,o操作、用户接口以及EMDFS的各种功能. 关键词简单邮件传输协议;互联网消息存取协议4;个人网络存储;分布式文件系统 中图分类号TP393文献标识码A DesignandImplementationofDistributedPersonalFileSystem眦Xin唱a0,蕊ANGFeng-li,mIANGYuall.jun,QNzhi倒锄g,盟oUM吨-ti锄 (School0fC伽pu魄Sci∞∞锄dEng.m∞血g,UESTofa血aa姗窖du6100154) Abstract。I'hispaperpresentSadis仃ibmedfilesystemb嬲edonE-mail n锄edE-nlaildis仃ibutedfuesyStem.Thisp印ergives曲state强ddefmi廿onofextension S咖巾鹤ed0nmiswedes蜘也emodel锄dmemodof也eEMDFS,锄dproposemestoreSpa鸭ttlemI锄。巧龃ddisk咖叽鹏ofEMDFS,tlleI/Ooperators,useriIlterfiace,龇ldotherfllnctions. KeywordssiIIlplemail仃趾sfer protocol;intemetmessageaccessprotocol-verSion4;person netwarestorage;dig廿ibutedfilesystem 本文提出了一种基于分布式环境的个人数据的网络存储方式,对现有的网络协议进行扩充,利用E.mail,解决个人数据文件在分布式网络环境下的实时存储、共享。 1E.mail协议及其扩展 E.mail协议包括简单邮件传输协议(SimpleMailTransferProtocol,SMrP)‘1】,简单邮件传输协议服务扩展①xtendedsMrP:EsMrP尸,邮局协议3口ostOmceProtoc01.VerSion3,POP3),互联网消息存取协议4(IrltemetMessageAccessProtocol-V.ersion4,Ⅱ儿心4)【3】’多用途网际邮件扩展(MuhipurposehltemetM2LilExtensions,Mmm)【4】。SMrP本身没有存储空间的概念,对SM冲进行存储扩展,就要引入个人存储空间扩展的概念(storagee)(tendedSMIP,SSMrP)。默认的个人存储空间是SMAILBOx;引入SM俎BOX,可避免普通邮件同个人网络存储的数据相混淆。SSMIP连接后,进入普通的SMIP状态似0n.SSMI.P状态),进行邮件操作。用户可以使用特殊命令SHLO,切换到SSMrP个人存储空间。为了保护用户个人空间,必须对用户进行身份验证,验证成功后,选择个人空间进入;消息发送和个人数据的就以消息格式存储在一条消息中,包含个人数据的所有的消息,都存储在该个人存储空间中。SSMlP协议包括N0n.SSMrP状态、 收稿日期:2004—06一∞ 基金项目:四川省科技攻关项目(IO町Y02舢00l-3) 作者简介:何兴高(1964一),男,硕士,工程师,主要从事计算机控制、智能交通系统方面的研究.

分布式文件系统架构设计

分布式文件系统架构设计

目录 1.前言 (3) 2.HDFS1 (3) 3.HDFS2 (5) 4.HDFS3 (11) 5.结语 (15)

1.前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,解决了海量数据存储的问题;实现了一个分布式计算引擎MapReduce,解决了海量数据如何计算的问题;实现了一个分布式资源调度框架YARN,解决了资源调度,任务管理的问题。而我们今天重点给大家介绍的是Hadoop里享誉世界的优秀的分布式文件系统-HDFS。 Hadoop重要的比较大的版本有:Hadoop1,Hadoop2,hadoop3。同时也相对应的有HDFS1,HDFS2,HDFS3三个大版本。后面的HDFS的版本,都是对前一个版本的架构进行了调整优化,而在这个调整优化的过程当中都是解决上一个版本的架构缺陷,然而这些低版本的架构缺陷也是我们在平时工作当中会经常遇到的问题,所以这篇文章一个重要的目的就是通过给大家介绍HDFS不同版本的架构演进,通过学习高版本是如何解决低版本的架构问题从而来提升我们的系统架构能力。 2.HDFS1

最早出来投入商业使用的的Hadoop的版本,我们称为Hadoop1,里面的HDFS就是HDFS1,当时刚出来HDFS1,大家都很兴奋,因为它解决了一个海量数据如何存储的问题。HDFS1用的是主从式架构,主节点只有一个叫:Namenode,从节点有多个叫:DataNode。 我们往HDFS上上传一个大文件,HDFS会自动把文件划分成为大小固定的数据块(HDFS1的时候,默认块的大小是64M,可以配置),然后这些数据块会分散到存储的不同的服务器上面,为了保证数据安全,HDFS1里默认每个数据块都有3个副本。Namenode是HDFS的主节点,里面维护了文件系统的目录树,存储了文件系统的元数据信息,用户上传文件,下载文件等操作都必须跟NameNode进行交互,因为它存储了元数据信息,Namenode为了能快速响应用户的操作,启动的时候就把元数据信息加载到了内存里面。DataNode是HDFS的从节点,干的活就很简单,就是存储block文件块。

分布式人事管理系统设计与实现

分布式人事管理系统设计与实现 摘要:随着信息技术的日益发展和计算机及网络的技术的普遍应用,随着管理改革的深入,各部门之间的工作量也随之加重,旧的管理方式的方法已无法满足现代的科学管理飞速的需要。因此有必要利用现代PC技术和分布式数据库开发技术,在网络环境下建立基于分布式数据库的信息管理系统。 关键词:计算机;分步式;人事管理;数据库 中图分类号:TP311文献标识码:A 文章编号: 1009-3044(2008)32-1114-02 Distributed Personnel Management System Design and Implementation SONG Jun-rong (Huaibei City of Anhui Province, Mountain-building,Huaibei 235000,China) Abstract: With the increasing development of information technology and computer and network technology widely used, with the depth of management reform, among the various departments and also increase the workload, the old management methods have been unable to meet the modern scientific management of rapid . It is therefore necessary to use

分布式数据库系统(DDBS)概述.

分布式数据库系统(DDBS概述 一个远程事务为一个事务,包含一人或多个远程语句,它所引用的全部是在同一个远程结点上.一个分布式事务中一个事务,包含一个或多个语句修改分布式数据库的两个或多个不同结点的数据. 在分布式数据库中,事务控制必须在网络上直辖市,保证数据一致性.两阶段提交机制保证参与分布式事务的全部数据库服务器是全部提交或全部回滚事务中的语句. ORACLE分布式数据库系统结构可由ORACLE数据库管理员为终端用户和应用提供位置透明性,利用视图、同义词、过程可提供ORACLE分布式数据库系统中的位置透明性. ORACLE提供两种机制实现分布式数据库中表重复的透明性:表快照提供异步的表重复;触发器实现同步的表的重复。在两种情况下,都实现了对表重复的透明性。 在单场地或分布式数据库中,所有事务都是用COMMIT或ROLLBACK语句中止。 二、分布式数据库系统的分类: (1 同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型,并且是同一型号的DBMS。 (2同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQL Server等。 (3异构型DDBS:各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。 三、分布式数据库系统主要特点: DDBS的基本特点: (1物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。 逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户共享,并由一个DDBMS统一管理。 (2场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用。 (3场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。 DDBS的其他特点 (1数据独立性 (2集中与自治相结合的控制机制 (3适当增加数据冗余度

我终于深入参与了一个分布式系统了,好多想法不一样了!

我终于深入参与了一个分布式系统了,好多想法不一样了! 原文出处:Turbo Zhang 的博客前言 过去两个月深入的参与了一个分布式系统的开发,记得之前有人说过“想成为架构师之前,都是从微观架构开始的”。尽 管我从没想过将来的某一天要成为一个架构师,或者领域专家,我只是想萌萌哒的编码,写着自己喜欢的Code,和一 群志同道合的朋友做出大家喜欢的商品和产品。但是工作久了慢慢的搭架子的事情还是会来到你的面前,因为时间总会把一部分人慢慢推向海边,使得他们成为最早见到阳光的人。不扯淡了,为什么要说阳光呢,还是因为过去的两(三)个月可能过的太充实也太痛苦了,完成之后,曙光来临的时候整个人是会发光的哦。“深度”参与是因为我终于有机会在搭 架子的过程中有了话语权和选择权,同时也会承担70%以上的编码工作。 之前我的自我认知是我可能在软件方面的积累还可以,比如设计模式,架构分层,程序解耦,API入手等方面,但是总觉得我在硬件网络方面积累的太少,太薄了。 比如: 不同操纵系统之间的特点;

网络端口管理与分发; 哪些网络协议可以帮助我们更好的完成工作,监控虚拟机的时候是在虚机上加代理好还是用协议去控制; 硬件是否支持分布式,在扩展过程中对于.net C#的兼容怎么样; 什么时候使用多线程,在把线程交给程序调度的时候我们怎么控制和捕捉线程的异常; 日志系统对于整个分散的系统是多么的重要; 何时使用关系数据库,什么时候使用Nosql; 消息队列用擅长的MSMQ还是RabbitMQ. 怎样有效的和其他部门的同事沟通; 用什么样的方式去有效调度不同语言开发的系统; 测试用例对于大系统从零散到完整是多么的重要; 系统标准,代码原则对于后期的维护余扩展是多么的重要;等; 项目简介 首先项目详细内容不便多说,简答的说,就是为国内某大型厂商建立一套协调其自身搭建的私有云以及其购买的公有 云的一套系统。说牛X一点就是:一套混合云系统。 使用Restful

相关主题
文本预览
相关文档 最新文档