基于透明适配方法的互联网协同软件毕业论文(编辑修改稿)内容摘要:
作和多用户自由交互的要求。 为了解决这种集中式结构带来的问题,一些早期研究原型,如 VConf, Dialogo 等采用复制的体系结构( Replicated Architecture) [5] [6], 即在整个协同系统中, 单用户应用程序 在每个客户端均有实例存在。 该结构有助于实现好的响应性、不严格的 WYSIWIS 和有效的网络使用,并且支持并发协作。 但与此同时 ,这类系统面临一致性维护、外部资源管理和新加入者协调等方面的问题。 这些技术障碍多年来阻滞了这一体系架构的发展,甚至有些研究人员开始认为复制结构是一个错误的方法 [9]。 随着软件行业的规范和设计思路的拓展, 组件化 思想逐渐深入人心。 有 研究者提出了一种新的复制式体系结构: 松散 式 JAMM( Java Applets Made Multiuser)。 这种结构的 精髓在于组件替换的思想 , 即 利用应用程序级别的语义信息, 在 运行时将单用户应用程序的接口自动地替换成多用户协同应用的接口。 这种方案能有效地提高本地程序的响应速度, 提 高网络利用效率,于此同时还能维持松散的 WYSIWSI。 但这种方案的局限性也是巨大的: 为了实现上述目标, 松散式 JAMM要求底层平台对于运行时模块替换,动态绑定,以及截获和重现用户输入功能的支持。 但是遗憾的是, 能满足松散式 JAMM 要求的单用户应用程序数目不多而且不够流行。 新的方法和技术 近年来,一种新的透明适配方法 [1]出现,这种方法宣称可以将未经定制的商业性的单用户软件转换到多用户的实时协同应用 ,同时不改变现有软件的源代码 [11] [12]。 研究者将这种方法应用在文字编辑软件( MS Word)和幻灯片制作软件( MS PowerPoint) 上,并取得了一定的成功。 这种方法为我们研究和开发基于互联网的协同软件系统提供了新的思路。 因此,这一方法既不是在操作系统级别上对所有应用程序进行协同(例如 NetMeeting),也不是专门针对一个接口库进行的组件替换(例如 JAMM),它是在单用户应用程序与协同控制之间加入了一个恰当的适配层,使单用户应用程序能透明地转化为多用户协同应用程序。 由于 这一 方法对单用户应用程序完全透明, 基于 透明适配 的协 同 应用 程序 支持并发工作、具有好的响应能力和 松散 的 WYSIWIS,同时可以避免复制共享系统所面临的大多数问题 [1] [13] [14]。 透明适配 方法的主要基础在于单用户应用程序的应用程序编程接口( API)。 它 的思路是 使用这些 API 来截获用户输入, 并对多个用户的操作 进行并发控制,同时将其他用户对应用程序的操作回显到本地。 但这一方法仍 面临一些问题和局限, 需要进一步检验和完善。 尤其是针对具有复杂数据结构和多种对象类型的大型应用程序, 如何扩展和修改 透明适配 方法 使之适应更多,更复杂应用程序的 需要, 仍需要进一步深入的研究, 而这 也正是本文的目的所在。 研究 和设计 目标 本文选择主流应用软件 Microsoft Excel 为研究载体,采用 透明适配 方法将其转化为一个基于互联网的多用户实时共享协同系统原型,并使其支持多用户并发工作,具有较好的响应能力和理想的用户体验,同时对这一原型系统进行测试和评价。 本文深入分析 透明适配 方法中的技术关键,讨论实现对单用户软件“透明地”转化为多用户实时协同软件的一般化的技术、一般化的构建步骤,在上一个目标完成的基础上,进行归纳和总结,提出一套标准规范,尝试提出实现一个低侵入性架构的方案,并分析其得到推广的可行 基于透明适配方法的互联网协同软件 第 8 页 共 62 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 性。 研究价值与应用价值 CSCW 的研究具有重大现实意义:通过建立计算机支持的协同工作环境,改善人们进行信息交流和共享的方式,消除或减少人们在时间和空间上的分隔和障碍,提高群体工作质量和效率,从而提高企业、机关、团体乃至整个社会的整体效益和人们的生活质量。 而信息资源共享正在成为一种趋势,正在逐渐融入社会生活的方方面面。 信息资源的共享,特别是科学数据和资源的共享,正得到政府有关部门的广泛关注和大力支持。 当前,我国在 CSCW 与信息共享的研究方面仍存在着严重分离的现象,缺乏 CSCW 和信息共享的结合研究。 尤其是在基 于信息共享的复杂 CSCW 应用领域,相关理论、模型和关键技术等还几乎是一片空白。 而有效发挥单用户交互式应用软件在多用户实时协同环境中的推动作用,既是一种机遇,更是一项挑战。 此项技术一旦成熟,无数的单用户应用软件可以透明化地转变为协同工具,能够极大地增加可用的协同应用软件的数量。 对于软件的供应商来说,这意味着可以增加产品的价值,延长现有产品的生命周期,以增加利润。 对于软件的消费方,这意味着他们不仅能够进行合作,而且可以使用他们所熟悉的应用软件。 而作为研究者,我们可以提出一套标准,将一般单用户软件和操作系统的接口 进行规范化,甚至能够实现一种无侵入性或低侵入性的架构( Framework),将主流单用户软件纳入其中,完美地实现对多用户实时协同工作的支持,而这些都具有巨大的应用前景和市场价值。 特别地,在图形图像和多媒体设计领域,这种多人协同共作的方式更有实际意义和现实价值。 相对于单纯的办公软件而言,这类主流开发环境更加复杂和多元化,同时所开发项目的规模也更加巨大,这就意味着多人同时展开工作能有效地提高生产率,多人协作这样一个思维碰撞的环境也更能激发创作的灵感。 基于透明适配方法的互联网协同软件 第 9 页 共 62 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 2 数据 层面的适配 技术 基本的操作转换技术 在任何一种多用户协同系统的实现中, 数据一致性控制都是 一项 核心的技术。 经过多年的发展 , 针对数据一致性控制的解决方案也层出不穷, 而操作 转换 技术则是 其中比较 合理 的解决方案。 操作转换技术本身是为文本编辑器 而设计的, 那么为了将其应用到数据结构更加复杂的应用程序中, 势必 要对其进行 扩展。 操作转换技术高度的可扩展性就成为我们选择它作为数据一致性控制解决方案的重要原因。 操作转换技术可以用以下例子来解释 : 在一个复制结构的协同应用程序中,两个用户 (用户 1 和用户 2) 同时操作 一份 文本文件,该文本文件中只有“ abc”这样一个字符串。 用户 1 向文件起始位置插入一个新字符“ x”,那么该操作可以被描述成用户 1 在“ 0”这个位置插入了字符“ x”。 那么在此之后文档应变成“ xabc”。 但在这一操作未被发送到用户 2 之前, 用户 2 仍然认为文件内容为“ abc”并希望删除“ c”这个字符, 该操作可以被描述为 用户 2 在 “ 2”这个位置删除了字符“ c”。 在此我们假设用户 1 的操作先于用户 2 的操作 ,那么当用户 2 的操作被传送到用户 1 处的时候,倘若我们仍简单地认为用户 2 在“ 2”这个位置删除了字符“ c”,那么由于文件内容已经 变为“ xabc”,我们就会错误地把字符“ b”删除,这就造成了数据的不一致性。 那么,为了保证数据一致性, 我们必须将传递过来的用户 2 的操作转换为在“ 3”这个位置删除字符“ c”,才能保证两用户共享数据的一致性。 总的说来, 基本的操作转换技术的核心就在于将传递过来操作信息的参数根据各个不同协同用户的操作进行规整 和转换, 以使别处传递过来的用户操作信息能够正确地作用到当前状态下的文档中, 进而达到保证协同用户间数据一致性的目的。 为了有效地实现数据一致性,操作转换技术 实现了 两个基本模型 :数据模型和操作模型。 数据模 型定义了协同系统中共享数据的寻址方式, 即数据是如何被排列和组织起来的;操作模型则定义了一系列基本的操作, 这些操作是一切复杂操作的基础 ,因此也被称为元操作。 在上述基本操作转换技术中, 数据模型即为一个线性的地址空间,所有的对象都按照顺序排列在这个地址空间中供用户操作; 而操作模型则由两个元操作组成:插入操作和删除操作。 树状线性结构 定义和性质 基本的操作转换技术能够有效地实现在一个线性地址空间内的数据一致性, 对于更为复杂的文件结构,如多个地址空间或 地址空间之间 具有层次结构或继承 关系的 文件结构则无能为力。 为了应对这种情况, 研究者对操作转换技术进行扩展,将它的应用范围从普通文本文件扩展到基于XML 规范的文件 上去。 经扩展后的操作转换技术, 原本的一维线性地址空间被扩展成了一组具有相互关联的线性地址空间。 这些地址空间的相互关联类似于 XML 文件中的节点间的关系, 即构成一个树型结构 (见图 )。 基于透明适配方法的互联网协同软件 第 10 页 共 62 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ . . .. . .线 性 空 间 :线 性 空 间 :. . .. . .. . .线 性 空 间 :线 性 空 间 :. . .. . .. . .线 性 空 间 :线 性 空 间 :. . .. . .. . .线 性 空 间 :线 性 空 间 :. . .. . .. . .线 性 空 间 :线 性 空 间 :. . .. . .. . .线 性 空 间 :线 性 空 间 :. . .. . .. . .......... 图 扩展后的 地址空间 :树状线性 结构 由图 我们可以看出, 扩展后的 操作转换 技术 拥有一个树形的地址空间,树的每一个节点都是一个域,域中有多个一维 线性空间。 父节点中线性地址空间的每一个元素都对应了子节点中的一个域。 这样类似于 XML文件的结构让我们能方便有效地找到 整个数据模型中的 任何一个对象。 特别需要提出的是,当一个对象没有子节点,即对象中不具有下一级结构时, 我们 认为 其为 终结对象 ,反之我们认为它为中间对象,即对象中仍有指向下一级对象的链接。 值得注意的是 ,这种扩展之后的数据模型仅仅表示了被操作对象地址之间的关系,而不是对象之间的关系。 在一个复杂的应用程序中,对象之间的关系可能会更加复杂,但对于操作转换技术而言, 我们只需要关注 对象地址间的关系就足以满足需求。 更进一步说, 两个对象被认为是临近的,并不 一定 意味着这两个对象实际的位置关系临近或是在内存中的位置临近 ,而是仅仅说明对于操作而言,这两者的地址是接近的。 寻址方式 在扩展后的 树形 地址空间中, 每个节点中的任何一个对象都可以用一个唯一的地址 对 (, )np来描述。 其中 n 表示该节点中的某个一维线性空间的地址, 而 p 则表示该对象在这个一维线性地址中的位置。 那么,为了 描述树形地址空间中的 任意一个 对象 ,我们需要一组这样的地址对来 描述对象的地址 ,在这里,我们用一个 vector 来盛放这样一组地址: 0 0 1 1[ ( , ) , ( , ) , ... , ( , ) , ... , ( , ) ]i i k kv p n p n p n p n p 其中 [ ] ( , ) , ( 0 )iivp i n p i k 表示了第 i 层的地址。 依照这样的方式,自根节点开始寻址,遍历整个 vector, 总 能找到目标对象。 扩展后的操作转换技术 为了 使操作转换技术能应用于 复杂的 文件数据, 我们需要将操作操作转换技术扩展到具有树状线性结构特征的文件数据上。 前文提到, 操作转换技术 有 两个重要模型 ,数 据模型和操作模型 ,而由上文所述,我们可以将数据模型由一。基于透明适配方法的互联网协同软件毕业论文(编辑修改稿)
相关推荐
是未来 35 年的总发电收入都将小于它目前的成本价格。 通过 Excel计算相关数据得到 下表 :: 表 2:北面墙安装各型号电池的利润表 型号 价格(元) 面积(m2) 单位价格(元 / 2m ) 北面单位收益(元 / 2m ) 北面单位利润(元 / 2m ) A1 A2 A3 A4 A5 A6 B1 B2 B3 B4 B5 B6 B7 C1 C2 C3 C4 C5 C6 C7 C8 C9
因素。 ( 6)节能 现代电梯应该合理的选择拖动方式,以达到节能的目的 : 1)额定载重量( kg):制造和设计规定的电梯载重量。 2)轿厢尺寸( mm) :宽深高。 3)轿厢形式:有单或双面开门及其它特殊要求等,以及对轿顶、轿底、轿壁的处理,颜色的选择,对电风扇、电话的要求等。 4)轿门形式:有栅栏门、封闭式中分门、封闭式双拆门、封闭式双拆中分门等。 5)开门宽度( mm)
26 软解调模块程序优化 26 基本 SSE 指令语句优化 26 MaxlogMAP 算法 27 QPSK 的饱和处理 29 16QAM 的 SSE 指令调序 30 MakeFile 自带优化指令 33 软解调各阶段优化效率比较 33 解扰模块程序优化 35 基本 SSE 指令优化 35 扰码函数异或指令优化 36 解扰判断 SSE 指令优化 37 合并循环的 SSE 指令优化 38 Make
idean距离,本文后面仅简要阐述了一下 Euclieadn距离度量。 刚体 (Rigid body)。 在任何力的作用下,体积和形状都不发生改变的物体叫做刚体。 以上是物理学上对刚体所下的定义,那顾名思义刚体配准就是刚性图像间的配准,它主要包括旋转和平移变换。 所以本文中所涉及的变换 T 仅限于旋转和平移,而不包括其他变换,如相似变换、伸缩变换、仿射变换、投影变换和弹性变换等。
n(开放的)、Online(在线的)、Course(课程)四个词的缩写,指大规模的网络开放课程,即把以视频为主且具有交互功能的网络课程免费发布到互联网上,供全球众多学员学习。 MOOC发起于20xx年,拥有以小段视频为主的名校教师教学资源、基于社会化媒体的互动授课机制和完善的课下作业评估体系。 MOOC在全世界掀起了一场在线教育风暴。 关于微视频教学研究的实验
晶体管开关,可由主机进行控制。 主机可以利用模块的数字量输入来检测行程开关、安全开关或远程数字量信号。 本设计使用它输出开关量来控制报警器, 当程序计算值超出 设定报警限时,模块将输出低电平,触发报警。 其他硬件 系统选用输出标准电流信号的压力计作为测量变送器,且选用接受标准信号的电动阀作为执行器。 系统出报警器直接由 220V/AC 供电以外,其他模块和仪表均由输出 24V/DC开关电源供电。