基于Java RMI的分布式数据库系统的应用与研究的论文

关键词: 网格 分布式 数据 应用

基于Java RMI的分布式数据库系统的应用与研究的论文(精选11篇)

篇1:基于Java RMI的分布式数据库系统的应用与研究的论文

Java是于1995年5月由Sun公司推出的一种跨平台的编程语言。Java具有面向对象、跨平台以及安全稳定的特点,为网络编程的发展提供保障。但由于目前社会对数据的应用程度逐渐提升,分布式数据库系统的建设已经成为必然的发展趋势,并且其实现分布式数据库主要是通过RMI、Ejb、Webservice等方式实现,保证不同节点之间的信息交换。

1 分布式数据库系统概述

1.1 分布式系统

分布式系统主要是将各自独立运行的计算机进行分组,并保证计算机之间能够实现对数据方面的资源共享,促进协同合作发展。这就需要在每一台计算机上安装分布式系统软件,保证上述内容得以实现。其中,关于分布式软件系统,是在通信网络环境下能够互联的多处理体系接口之上进行任务执行,其包含的内容主要为分布式操作系统、分布式程序设计语言、编译系统、分布式文件系统以及分布式数据库系统等内容[1]。

其中,关于分布式数据库的内容,主要是位于各个计算机节点之上的各数据库内容所构成,通过有效的控制措施实现对子数据库系统的控制。但分布式数据库在使用的过程中又可以将其看为一个整体,保证各节点之间互联。

1.2 模型结构分析

在进行基于Java RMI研究分布式数据库系统之前,需要构建数据库模型。但目前数据库模型方面主要包含两种形式,一种为双层模型,这种模型的结构较为简单,应用的普遍性较强,并且构建难度较低,在目前的商业系统体系当中应用广泛;另一种为多层模型,与双层模型相比较而言,多层模型的结构过于复杂。在多层结构当中,主要是以应用服务器以及数据库服务器作为模型的中间层,能够保证数据库服务器之间实现永久互联。由于多层模型具备可拓展性以及适应性等优势,本文通过Java RMI实现分布式数据库的处理主要应用多层模型结构,保证系统应用更加全面[2]。

篇2:基于Java RMI的分布式数据库系统的应用与研究的论文

Java RMI主要是指Java实现远程方法的调用,并且基于Java RMI的计算机能够将Java作为根本对象,为系统编程提供简单与直接的环境。Java RMI作为Java语言中的一个调用方法,属于Java,这也就随之产生了关于Java编程语言的安全性以及跨平台性的`内容,并将这两个特性应用在Java RMI的分布式数据库系统的设计当中,对系统的研究与应用具有重要的推动作用。

2.2 Java RMI特征分析

(1)Java RMI具有面对对象的基本属性,能够在Java编程的过程中对其中涉及的代码进行重用,并且这一基本属性也是现代应用领域当中的重要编程技术,在减轻系统运行负担的同时,能够提升系统灵活性。

(2)RMI能够为分布式面向对象计算机提供一个简单直接的环境,并且RMI内部的体系构架也是基于系统内容进行构建,并且在结构的应用过程中需要进行充分的扩展,保证RMI能够添加功能。

(3)RMI具有可移动属性,从而可以实现移动机与服务器之间的互联。

(4)安全机制明显提升,基于Java的RMI具备更好的安全性能,能够保证在分布式数据库系统建设的过程中下载执行模块时保证用户的安全性。

(5)基于Java的RMI,通过使用Java进行编程,能够保证编程工作更加便利,并且由于RMI程序运行过程中较为简单,使得整个程序系统维护过程更加便捷。

3 Java RMI在客户机当中的实现

对于客户端的程序开发之后,首先需要基于Java RMI建立服务器对象,在建立服务器对象之后,客户程序的相应内容可以在主机当中的客户表当中寻找对Java远程对象的调用。但保证该程序能够得到实现的前提是将应用程序转换成为远程接口的类型,在RMI的运行过程中,能够实现客户程序与接口之间的不断交换,不影响对象之间的交换关系。

同时,在客户机方面的运行,需要通过具体程序编写得到实现,在得到与远程接口交换权利的同时,在数据连接池方面实现与数据库的连接,保证对数据库的操作。通过对RMI对象进行重用,能够实现对数据库的重用,利用数据库系统的连接池,提升数据库方面的访问效率。在企业方面,可以应用Java RMI的分布式数据库系统,并且随着Java的扩展而提升企业的经济效益。如企业系统程序当中的一部分程序内容实现通过Java进行编程,通过应用Java RMI可以将Java当中的特性将现有的Java转移到新的应用程序当中,通过此种应用优势,能够保证将Java的充分优势进行发挥[3]。

4 结论

篇3:基于Java RMI的分布式数据库系统的应用与研究的论文

基于Web的分布式管理系统有很多突出的优点, 但是, 随着应用的不断深入, Web技术一些严重的缺点也暴露了出来。例如, Web只适合处理静态客户, 采用非类型安全 (non-typesafe) 的交互, Web服务器容易出现性能“瓶颈”, 不适合复杂和大规模的应用等。因此, 下一代的Web必须能够处理business-to-business交易和consumerto-business多步骤交易过程中的复杂需求。而目前建立Object Web的可行性比较高的一种方法, 是使用CORBRA和Java。

1 CORBA概述

CORBA (Common Object Request Broker Architecture公共对象请求代理体系结构) 标准主要分为3个部分:接口定义语言 (IDL) 、对象请求代理 (ORB) 以及ORB之间的互操作协议IIOP。

ORB能识别的协议是OMG的接口定义语言IDL。它可完整地确定部件的接口--即客户所需使用接口的全部信息。

IDL定义的接口经IDL编译器编译后能产生客户的桩 (stub) 及执行对象的骨架 (skeleton) 这类能与ORB通信的接口:

(1) 接口桩stub。在编译时确定的静态接口。它位于客户对象的本地, 接受客户的请求, 对客户来说相当于远程的执行对象。接口桩向ORB提交请求。

(2) 动态调用接口 (DII) 。用于编译时不能确定的请求。与接口桩作用相同。

(3) 骨架Skeleton。分动态骨架与静态骨架。它针对执行对象来说代表了远程客户的作用, 可在本地调用执行对象服务, 并与ORB通信。

(4) 对象适配器。提供执行对象可以访问ORB服务的基本接口, 其作用是产生及解释对象引用、安全交互、登记和执行等等。

对于CORBA标准具有如下的一些优点:

(1) CORBA是多个公司共同制定的标准。

(2) CORBA是完全语言中性的。

(3) CORBA提供了许多可选的增值服务。

2 Java RMI

Java RMI (Remote Method Invocation, 远程方法调用) 是在用Java编写的程序之间交换可串行化对象的基本方法, 它的出现增强了Java开发分布式应用程序的能力。

Java RMI具有Java的“Write Once, Run Anywhere”的优点, 用Java RMI开发的应用系统可以部署在任何支持JRE (Java Run Environment, Java运行环境) 的平台上。但由于JRMP是专为Java对象制定的, 因此, RMI对于用非Java语言开发的应用系统的支持不足, 不能与用非Java语言书写的对象进行通信。

RMI编程的主要步骤:

(1) 定义远程接口。

(2) 生成和编译远程接口的实现类。

(3) 用rmic生成远程对象在客户端的存根与服务器端的骨架。

(4) 生成并编译服务器程序。

(5) 注册远程对象。

(6) 生成和编译客户程序。

3 CORBA与Java的结合

3.1 CORBA与Java结合的优点

CORBA与Jav a的基础结构具有互补性, CORBA与Java结合的好处是:

(1) Java提供了一个概念清晰、结构紧凑的分布计算模型和构件互操作的方法, 为构件应用开发提供了相当的灵活性。CORBA是一种集成技术, 也是一个非常完整的分布式对象平台, 而不是编程技术。CORBA可以扩展Java在网络、语言、组件边界、操作系统中的各种应用。

(2) Java不仅是与CORBA捆绑的语言, 还是一个跨平台的对象系统。Java还简化了大型CORBA系统中的代码分配其中内置的多线程和垃圾收集机制使编写可靠的网络对象更为方便。采用CORBA可以将网络对象连接在一起, 并与计算环境中的数据库、遗留系统、其它语言编写的对象和应用相互集成。

3.2 基于CORBA/Java开发应用程序模型

CORBA/Java的开发客户端和服务器端的流程如1图所示。

首先利用OMG IDL语言对即将开发的服务器程序接口加以描述, 然后选择客户方的策略, 如果采用静态调用, 则利用CORBA IDL编译器对接口文件进行编译, 生成相对应的Stub和Skeleton文件;如果采用动态调用, 则只需将IDL文件载入接口库中, 然后用Java语言分别开发服务器应用程序和客户应用程序, 最后通过Java编译器生成客户端字节码和服务器端字节码 (见图1) 。

4 JAVA RMI-IIOP技术

虽然RMI只允许创建Java同构环境下的分布式应用程序, 但是由于RMI比CORBA简单, 开发者不需要熟悉IDL。另一方面, Java语言本身所具有的结构中立、多线程、安全以及平台无关等特点又为分布式的开发提供了一个良好的环境, 而且RMI是自动垃圾收集, 如果只使用Java开发的应用系统, 那么RMI是最好选择。但假如已经有许多用其他语言编写的代码, 则RMI可能无法满足人们的要求。

CORBA的不足之处是CORBA对象不能垃圾收集, 像C++不支持垃圾收集那样。一旦创建CORBA对象, 它将一直存在, 直到你亲自去处理它, 而RMI是自动收集。它的优点就是CORBA设计与语言无关, 是不同语言开发系统的桥梁。所以, 如果有一种可以将两者集成的技术, 将是一种非常理想的选择。

4.1 RMI-IIOP简介

RMI和CORBA作为分布式编程, 彼此的发展是独立的。它们分别用JRMP协议和IIOP (Internet Inter-ORB Protocol) 协议进行通信。

IIOP是一个用于CORBA及兼容平台上的协议, 由于IIOP是基于TCP/IP传输协议, 它比JRMP应用广泛, 而且IIOP源自CORBA, 获得了众多软件供应商的支持, 所以采用一种方法将JRMP映射到IIOP, 这样便可以实现CORBA与RMI的集成。CORBA提供了这种在RMI和CORBA间提供交互的机制——RMI-IIOP。

R MI-I IO P允许C O RB A客户、R MI客户、CORBA对象、RMI对象在系统中进行整合和调用匹配, 它提供了一个在RMI和CORBA之间的桥接机制。RMI-IIOP是RMI可移植的扩展, 它可以应用Internet InterORB协议, 并能够用来与COBRA集成。因为RMI-IIOP服务器与客户之间使用IIOP协议, CORBA服务器与客户也使用同样的协议, 那么彼此的互操作成为可能。

4.2 RMI-IIOP的优势

借助于RMI-IIOP, 可以编写简单易懂的Java代码, 同时使用CORBA提供的丰富的企业功能套件的代码可以在纯Java环境中运行 (当小的资源占用量和灵活性很关键时) , 或者对代码作少量修改后集成到现有的CORBA基础架构中。RMI-IIOP很强大的功能之一是, 它让编写纯Java客户机/服务器实现而不丧失RMI类序列化的灵活性。通过RMI-IIOP, C OR BA对象可以与E JB对象协同工作。RMI-IIOP综合了RMI的简单性和CORBA的多语言性, 克服了RMI只能用于Java的缺点和CORBA的复杂性。

RMI-IIOP通过覆盖Java序列化并在导线上将Java类转换成IIOP。在另一端, Java类被作为IIOP从导线上读下来, 接着创建这个类的一个新实例 (使用反射) , 类的所有成员的值都完整无缺。

5 结语

对于分布式计算技术的架构, 不能绝对地说哪一个最好, 只能说哪一个更合适。针对不同的软件项目需求, 具体分析才是明智的选择。

对于必须服务于大量用户的应用, CORBA与Java技术的结合可以提供比较完备的解决办法, 因为这种方案具有可扩展性和业界广泛的支持。由于CORBA的强健性可以提高Java编程语言的性能, 利用已有的基于标准的技术, Java开发者可以编写出功能强大的Web应用程序。因此, 将CORBA与Java RMI结合的RMI IIOP技术, 可以发挥各自的优势弥补各自的不足, 使分布式应用系统具有更高的柔韧性、可伸缩性、可移植性、灵活性等能适应新的环境需求。

参考文献

[1] (美) M.L.Liu[著], 顾铁成, 等[译].分布式计算原理与应用[M].清华大学出版社, 2004, 8.

[2]周颖, 赵岳松.基于CORBA的多层分布式系统研究[J].计算机与现代化, 2002, 10.

[3]杨晓梅, 于长云, 张冬梅.Java RMI与CORBA在分布式系统开发中的研究[J].天津理工大学学报, 2005, 8.

[4]蔡超, 童红.Java与CORBA技术结合在分布式系统中的应用[J].武汉工业学院学报, 1.

篇4:基于Java RMI的分布式数据库系统的应用与研究的论文

关键词:分布式;数据库;医院信息管理

中图分类号:TP315 文献标识码:A文章编号:1007-9599 (2011) 03-0000-01

The Research of Distributed Database in Hospital Information Management System

Sun Xiyi

(Kunshan City,Jiangsu Province, the First People's Hospital Information Branch,Kunshan215300,China)

Abstract:Hospital information management systems are distributed and complicated. The data cannot be dealt with and analyzed synthetically after it is gathered. The coordination and cooperation among every node is quite difficult; and therefore influences efficiency.This paper combines the characteristic of the distributed multi-database system, designs the database systematic model, develops the hospital system based on the distributed multi-database systems.

Keywords:Distributed;Database;Hospital Management

一、分布式数据库

分布式数据库系统是计算机网络系统与数据库系统与协作与融合的产物,具有数据独立性、事务管理的分布性、集中与自治相结合的系统控制方法、存在适当的数据冗余等主要特点。在分布式数据库系统的运行过程中,数据独立性除了数据的物理独立性与逻辑独立性以外,还有关于数据的分布透明性,即用户不必去关注数据是如何被逻辑分片的;不必关注数据及其分片是否被复制,若被复制的话,副本的个数是多少;也不必去关注数据及其分片的物理位置分布的细节问题;最后,也不必关注某个局部的数据库系统究竟支持哪种数据模型。所以,我们可以把分布式数据库系统看成是数据库系统和计算机网络的有机结合。在分布式数据库系统中,被计算机网络连接的逻辑单位称为站点或节点。

(一)分布式数据库系统的实现方案

1.使用分布式数据库系统,将物理上分布在各地,但是在逻辑上相关联的数据库进行统一管理。分布式数据库系统具有透明性和独立性等特点,如前所述,用户对数据库的任何操作都形同在本地进行,不必关注其数据模型、物理位置等细节问题。2.建立用户交互接口来联合分布在各个节点上的数据库,而数据库之间则不进行任何模式的集成。各个成员数据库采用区域分段管理策略,对本区域以外的数据操作,全部通过远程登录的方式来进行,从而隔离了区域间的影响。3.采用联邦数据库系统模型,在维持局部成员数据库自治管理的前提下,对其他异构的成员数据库进行部分的集成,提供数据的共享,并且采用数据转储技术来解决多节点的分布数据处理及数据一致性维护等问题。

(二)分布式数据库体系结构

分布式数据库体系结构由下述几部分组成:1.多台计算机及其配套设备,并由计算机网络进行连接。2.计算机网络设备及其相关的软硬件和配套通信协议。3.分布式数据库管理系统,它包括全局数据库管理系统、局部数据库管理系统、通讯管理程序,除了具有由GDBMS链接的全局用户接口外,还具有由节点LDBMS链接的自治节点用户接口。4.分布式数据库包括全局数据库和局部数据库。5.分布式数据库管理者可分为二级,一级为全局数据库管理者,另一级为局部或自治节点数据库管理者,称为局部数据库管理者。

二、系统总体设计方案

(一)医院分布式数据库系统的设计目标:1.实现跨地域型企业的资源共享、统一管理和局部控制。2.满足具有分布式存取需求的企事业机构并且为其提供一种经济、可靠、实用的分布式数据管理系统。3.充分利用先进成熟的计算机网络、通信技术和原有的设备,确保医院收费系统的网络先进性,实现医院管理规范化、网络化、智能化。

(二)总体结构本系统设计时使用C/S和B/S混合模式,实现了医院系统的综合管理。

1.门诊挂号:分配门诊号记录病人的自然情况。2.药库管理:登记进库药品,根据药房的提药申请向药房发药。3.药房管理:领药等级,并按领药单划价发药。

4.住院管理:(1)入院登记:记录患者详细情况,并为其分配住院号和病区。(2)病区管理:在病区内分配患者病室以及床位,录入相关医嘱和医嘱确认,生成请药单,以及办理同意出院。(3)取药管理:根据请药单取药、收费。(4)出院管理:显示出院病人的相关信息和各项费用,核对并结清费用,打印出单据。

5.院长查询:医院领导有权随时对医院的财务收支、药品库存及病人的入住院情况等信息进行查询,这可以帮助领导层及时地了解医院的整体情况,从而做出准确的判断。

三、数据库设计

(一)医院系统功能非常繁多,由于篇幅所限,这里仅列举出最为复杂的收费系统功能框架。医院计费系统的主要功能如下:

1.信息显示、查询、检索;2.输出各种收费、管理报表;3.系统智能识别功能;4.身份识别

(二)数据库系统事件或用户事件:系统事件包括系统启动或退出、异常错误等,用户事件包括用户登录或注销。触发约束为一布尔表达式,只有当该表达式的值为TRUE时,触发事件才能够激活触发器使其执行触发动作;否则,当触发事件发生时,触发器并不执行其动作。触发器动作作为触发器要执行的程序块,其中包含SQL语句和其他代码。

创建表触发器的语法格式为:

CREATE [OR REPLACE]TRIGGER trigger_name

{BEFORE|AFTER}tirgger_event ON table_reference

[FOR EACH ROW [WHEN trigger_condition]]

trigger body ;

其中BEFORE和AFTER指出触发器的触发时序分别为前触发和后触发方式,前触发是在执行触发事件之前触发当前所创建的触发器,而后触发则是在执行触发事件之后触发触发器。FOR EACH ROW选项说明触发器为行触发器,行触发器要求当一个DML语句操作影响数据库表中的多行数据时,对于其中符合触发约束条件的每个数据行均激活一次触发器;而语句触发器将整个语句操作作为触发时间,当它符合触发约束时,激活一次触发器。

四、结束语

本文以分布式数据库技术为基础,开发了一套具有使用价值的医院信息管理系统,可较为有效的提高医院业务的处理速度,对促进医疗机构的自动化、信息化具有一定的参考价值。

参考文献

[1]张震.异构数据库同步系统的研究与实现[J].计算机应用,2002,10

[2]邵佩英.分布式數据库系统及其应用[M].北京:科学出版社,2005.

篇5:基于Java RMI的分布式数据库系统的应用与研究的论文

2 嵌入式Linux的内核下数据挖掘系统设计描述

在上述进行了算法设计的基础上,进行数据挖掘系统的软件开发设计,基于云计算的分布式数据挖掘系统总体模型中,采用ST 超低功耗 ARM CortexTM-M0 微控制器,系统建立在嵌入式Linux 的内核平台上,系统包括程序加载模块、数据存储模块、数据缓存调度模块和数据通信传输模块等,通过配置CAN_IMASK 寄存器,采用LabWindows/CVI 进行数据远程控制和信息通信,基于云计算的分布式数据挖掘系统给用户提供一个简单、统一的系统调用接口,系统可配置4 路组联合Cache,基于云计算的分布式数据挖掘系统的寄存器系统时钟120 MHz。嵌入式Linux 的内核下数据挖掘系统通过VISA 软件接口发送Flash 设备上的文件系统内核到HP E1562D/ESCSI 数据硬盘进行数据存储,调用s3c2440_adc_read 函数,进行程序加载和基于云计算的分布式数据挖掘系统的嵌入式控制,使用Qt/Embedded 作为GUI,利用开源Linux 操作系统的.丰富网络资源,实现数据挖掘系统的远程通信信息传输和控制。

3 仿真实验

为了测试本文设计的基于云计算的分布式数据挖掘系统在实现数据挖掘中的优越性能,进行仿真实验,分布式数据信息采样的时宽为10 ms, 分布式数据的随机采样率为KHz,调控因子λ=0.25。根据上述仿真环境和参数设定,进行基于云计算的分布式数据挖掘系统的数据挖掘和处理性能分析,首先进行数据挖掘的输出时域波形采样,结果可见,采用本文算法进行数据挖掘的准确度较高,为了对比性能,采用本文方法和传统方法,以数据挖掘的准确配准性为测试指标,得到对比结果。实验结果表明,采用该方法进行基于云计算的分布式数据挖掘,数据挖掘的准确配准性能较好,系统的可靠性较好。

4 结束语

篇6:基于Java RMI的分布式数据库系统的应用与研究的论文

摘要:分析了基于结构化覆盖网的分布式查询处理模型,支持大量数据流的分布式存储,连续查询间、查询内的并行处理操作,能够在很大程度上消除资源约束问题(主要是内存),提高了查询性能、服务质量,并且该查询模型具有很好的扩展性。

关键词:分布式数据流管理系统; 结构化覆盖网; 分布式散列表; 滑动窗口

近年来,数据流查询处理是数据库研究领域的一个热点方向。数据流的特征可概括为无限性、瞬时性、流速不定性、语义不定性(数据模式随时可能改变)等。针对数据流的以上特征,不考虑将数据流存储在传统的关系数据库中,数据流上的查询是近似查询、连续查询(continuous query)。 目前,数据流管理系统中所采用的近似查询的方法主要有以下几种:随机抽样(random sampling)、数据写生(sketching)、直方图(histograms)、小波变换(wavelets)、窗口(windows)等。如何保证查询的服务质量成为上述各种近似查询方法必须考虑的问题。数据流上的查询处理给人们提出了一个很大的难题——对处理器、内存等系统资源非常苛刻的需求。到目前已经出现了许多数据流的原型系统:单节点(单CPU)上的数据流管理系统,如Stanford 大学的Stream[1] 系统、布朗大学的Aurora[2,3] 系统等;有分布式数据流处理系统,如MIT的Medusa[4,5] 项目,Brandeis、Brown、MIT 的合作项目Borealis[6,7]等。这些项目在数据流处理的查询语言、近似查询算法、保证服务质量的策略,以及系统的负载均衡等方面做了大量的工作,但同时也揭示出在分布式数据流处理系统中更多值得研究的问题。本文将对基于structured overlay network的分布式数据流系统的近似、自适应查询处理进行研究,给出查询处理模型。

集中式数据流查询处理及分布式散列表、Chord路由协议的相关说明

数据流查询处理相关的概念定义以及假设说明

集中式数据流查询处理的体系结构由两部分构成,即查询计划生成子系统(FRONT-end)以及查询执行子系统(BACK)。其中两部分与关系数据库系统相比均有较大的区别。查询执行子系统如图1所示。

通过这种散列,将系统当前的所有查询映射到节点空间,然后由该节点上的查询处理器完成到达的查询。

b)查询内并行处理方式。在系统的范围内,由操作符、输入均输出记录队列、维持操作符状态的大纲信息构成网状结构。

c)命名发现机制。参与查询处理的节点有全局惟一命名participant(如IP地址等)。当在一个节点上面定义一个新的流模式、数据流、操作符,这些实体均隶属于其命名空间。该实体可以采用下面的命名方式:(participant,entity-name) 。为了了解系统中数据流模式的定义、系统中的数据流、数据流的到达(存放)位置、系统中哪一部分查询执行,就要考虑在?catalog中存放必要的数据。其中catalog信息是通过在DHT下分布式存储的,前面已经分析了catalog信息的存储问题。

系统中对每一个数据流、每一个查询、查询中的算子、算子大纲、节点间输出队列均有惟一的命名。查询处理器位于DHT之上。同查询相关的数据粒度限定为数据流、输入数据源(记录集)、节点间传输数据队列、算子大纲,而不是针对单个记录而言。对于这些粒度的数据可以通过在DHT中通过put(namespace,object)、get(namespace)、multicast(namespace)消息得到。

篇7:基于Java RMI的分布式数据库系统的应用与研究的论文

目前,市场上有几百种 USB 设备,包括 USB 集线器、打印机、扫描仪器、存储器、数码相机和调制解调设备等。在数据采集系统中应用 USB2.0 接口总线,首先计算机系统要支持 USB2.0 协议。目前计算机几乎都支持 USB1.1 协议,如果支持 USB2.0 协议,那么系统的 USB 主机就必须包含USB2.0 根集线器,用于给系统提供一个或多个设备端口;同时,系统还必须安装相应的驱动程序。

USB总线的物理连接和电气特性

USB数据传输采用四根电缆,其中两根(D+、D-)是用来传送数据的串行通道,另两根(VBUS、GND)是符合标准的电源线,为下游的USB设备提供电源。其中,D+、D-是串行数据通信线,它支持两种数据传输速率,对于高速外设,USB以全速 12Mbps或高速 480Mbps传输数据;对于低速外设,USB则以 1.5Mbps的传输速率传输数据。USB总线会根据外设情况在不同的传输模式中自动地转换。VBUS通常是+5V电源,GND是地线。

USB 的电源

USB 的电源主要包括两方面:

电源分配:即 USB 的设备如何通过 USB 总线获得主机提供的电源; 电源管理:即通过电源管理系统,USB 的系统软件和设备如何与主机协调工作。

(1)电源分配

每段 USB 都在电缆上提供了数量有限的电源。主机向与它直接相连的 USB 设备提供电源,并且每个 USB 设备都有自己的电源。那些完全依靠电缆提供能源的设备称作“总线功能”设备。相反,那些有

另外电源的设备称作“自供电”设备。而且,集线器也可为连接在它上面的 USB 设备提供电源。

(2)电源管理

USB 主机与 USB 系统有相互独立的电源管理系统。USB 的系统软件和主机的电源管理系统相互作用,处理系统的电源事件,如挂起和恢复等。另外,USB 设备还有额外的功耗管理特性,允许软件对他们进行功耗管理。USB 总线拓扑结构

USB将USB设备和USB主机连接在一起。USB的物理互连是一个分层的星形拓扑结构,集线器在每个星形的中心。每段线路都是主机与集线器或功能设备之间,或者集线器与另一个集线器或功能设备之间的点对点连接 USB通信流

USB 在主机的软件和 USB 功能设备之间提供了通信服务。功能设备根据不同的客户软件与功能设备的相互作用对通信流有不同的要求。通过将 USB 功能设备的各种通信流分离,USB 能更好地全面利用总线。通信流利用总线访问来完成主机和功能设备之间的通信。通信流在设备的端点中止,设备的端点可以

识别所有通信流。

USB 逻辑设备对 USB 系统来说是一个端点的集合。接口是端点聚集而成的端点集,是功能设备的体现。USB 系统软件用默认的控制管道管理设备。客户软件用管道束(与端点集相关)来管理接口。客户软件要求数据通过USB在主机上的缓冲区和USB设备上的端点之间移动。而在 USB 上移动之前,由主机控制器(或者 USB 设备,由传输方向决定)将数据进行封装。当总线访问是在 USB 上移动数据包时,主机控制器也协同操作。

设备端点(Device Endpoint)

端点是 USB 设备唯一可识别的部分,是主机和设备间通信流的终点,每个 USB 逻辑设备都由独立端点集(这个集合就是接口)组成。当设备连接时,系统为每个逻辑设备分配了唯一的地址,设备的每个端点在设计时就给定了一个由设备决定的唯一的标识符—端点号。每个端点都有由设备决定的数据流方向。设备地址、端点号和方向的组合允许唯一指定一个端点,每个端点都单一的连接,支持一个方向的数据流输入(从设备到主机)或输出(从主机到设备)。

管道

USB管道是设备端点和主机软件之间的联系。管道可以通过存储器的缓冲区在主机软件与设备端点

之间传输数据。有两种相互独立的管道通信模式:

1.流:在管道中传输的数据没有 USB 定义的结构。

2.消息:在管道中传输的数据有某些 USB 定义的结构,只能用于控制传输。

帧和微帧(Frames and Microframes)

USB 工作在全速/低速状态时,主机控制器每隔 1 毫秒发送一帧数据;而工作在高速状态时,主机控制器每隔 125 微秒就发送一帧数据。一帧(或微帧)数据可包含几种事务。USB 数据传输类型是从 USB 系统软件的管理角度来描述的。传输(Transfer)是指在客户软件和它的功能模块之间的一个或多个信息传输的总线事务。传输类型决定于客户软件和它的功能模块之间的数据流特性。USB 定义了 4 种传输类型,以满足在总线上进行不同类型的数据的传输需要。

USB数据传输类型

批量传输用于传输突发的大量的数据,全速模式时以 8,16,32 或 64 字节(高速模式时是 512 字节)的信息包传送。由于对出错的数据自动的进行重发,批量数据可确保无误发送。

控制传输至少有两个阶段:建立阶段和状态阶段。控制传输也可以根据不同的情况选择是否需要在建立阶段和状态阶段包含一个数据阶段。

中断传输主要用于定时查询设备是否有中断数据要传输,是一种主机定时侦听设备。设备的端点

模式器的结构决定了它的查询频率,在 1-255ms 之间。中断传输在高速时的数据载荷可达 1023 字节,在全速时的载荷量小于 64 字节。中断传输主要应用于键盘、操纵杆和鼠。

同步传输用于保证时间优先的数据流,如音频和视频数据流,传输的时间对于数据来说是非常必要的条件,在全速模式时,一个同步包包含 1023 字节;在高速模式时,一个同步包包含 1024 字节。

数据采集系统的硬件

数据采集系统在总体上分为硬件和软件两大部分。数据采集系统的硬件部分

主要包括芯片的选择、数据采集和传输电路以及电源转换电路等。数据采集系统的软件部分主要由三部分组成:USB 固件程序(Firmware)、USB 设备驱动程序以及应用程序;三部分程序之间相互协作来完成整个采集系统的功能。

USB芯片选择

目前 USB 芯片大致分为 5 大类型:

1)单独运作的 USB 接口芯片;

2)内含 USB 单元的微处理器(MPU);

3)特定的接口转芯片,如 USB 转 RS-232 或 USB 转 ATA/ATAPI 等;

4)PC 端或主机端的 USB 控制器;

模数转换芯片的选择

目前,随着数据采集应用的日益普遍,为了满足不同场合和分辨率的要求,模数转换芯片也是种类繁多。选择 A/D 转换芯片需要考虑器件本身的性能和具体的应用要求。选择 A/D 转换芯片要考虑一些参数指标,如芯片精度、芯片的转换速度和芯片的转换量程等。

1)精度:与系统测量的信号范围有关,但估算时要考虑到其他因素,转换器位数应该比总精度要求的最低分辩率高一位。常见的 AD 器件有 8 位,10 位,12 位,14 位,16 位等。

2)速度:应根据输入信号的最高频率来确定,保证转换器的转换速率要高于系统要求的采样频率。

3)模拟信号类型:通常 AD 器件的模拟输入信号都是电压信号,而 DA 器件输出的模拟信号有电压和电流两种。

为了匹配 USB2.0 的高速传输特性,满足广泛的实际需要,本设计选用的是采样速度快、分辨率高的 A/D 转换器 MAX125。

数据采集系统的固件程序设计

固件程序主要负责完成两项任务:一是作为驻留在设备中的内部应用程序,响应主机的列举请求,实现配置设备并将设备的配置信息(如支持哪些传输类型和端点)告知主机,进而为主机和设备之间进行数据通信做好准备工作:二是作为整个设备的控制中心,根据用户应用系统的特定要求,实现对外围设备的具体控制。USB控制器芯片借助CPU执行固件程序来控制芯片的活动,以实现数据传输功能。固件的设计就是使在USB总线上的传输能获得快速的、有效的数据传输速度。它的操作方式与硬件联系紧密,包括USB设备的连接、列举、重列举、USB协议和中断处理等。

列举和重列举

列举和重列举是 USB 设备的一个非常重要的机制。是在初始阶段必须经历的阶段,只有这两个过程成功的完成,USB 设备才可能实现系统中设计的功能,否则,设备只能是一个主机不能识别的最原始的设备,或者是功能不完全的设备。

设备端点的配置

端点配置是在TD_Init()函数中实现的。USB数据通过端点缓冲区进入FX2 和从FX2 中取出。为了保证 480Mb/s高速的传输速率,外部逻辑经常在没有FX2 内嵌的CPU参与的情况下,直接与端点FIFO交换数据。USB设备启动时,要配置端点使它获得足够的带宽和FIFO深度,使数据传输更加平稳和高速。

当应用程序要求CPU处理外部逻辑和USB之间的数据流时(或者根本就没有连接外部逻辑时),固件可以将端点缓冲区作为RAM块或(使用特定的自动增量指针)FIFO访问。

设备驱动程序的组成驱动程序是一些例程的集合,它们被动的存在,等待主机系统软件(PnP管理器、I/O管理器、电源管理器等)来调用或激活它们。WDM驱动程序的功能模块基本由五个部分组成:入口例程,即插即用例程,分发例程,电源管理例程和卸载例程。

1.入口例程:处理驱动程序的初始化;

2.即插即用例程:处理 PnP 设备的添加,删除和停止;

3.分发例程:处理用户应用程序发出的各种 I/O 请求;

4.电源管理例程:处理电源管理请求;

5.卸载例程:处理驱动程序的卸载。

USB 设备驱动程序的开发

目前,用于开发设备驱动程序的工具大概有以下几种:

1.直接使用Windows DDK:这种方法开发难度大,而且有很多烦琐的工作要作,大部分都是通用的基础性的工作,但是,使用这种方法,需要对WDM驱动程序的整体结构有一个很好的认识和把握。

2.使用Driver studio:工具难度会低一些,工具软件己经作了很多基础性的工作。也封装了一些细节,使用者只需要专心去执行需要的操作。但由于封装的问题,可能会带来一些bug,有可能导致项目的失败。

篇8:基于Java RMI的分布式数据库系统的应用与研究的论文

在分布式数据源访问与集成中间件(OGSA-DAI)的基础上,OGSA-DQP能对分布式数据资源进行查询和多重数据资源的集成访问支持的中间件,并进一步提高了对数据查询功能的优化和评估。

1 OGSA-DQP功能和体系结构

1.1 功能

OGSA-DQP是一个基于OGSA-DAI[3]服务的高吞吐量的分布式数据流引擎,或者说是在OGSA-DAI数据源上,实现基于服务的查询处理器,并进行分布式查询的中间件。网格环境下,它能够在OGSA-DAI数据服务和其它Web服务上执行并行查询。其功能如下:

1)通过优化查询来对专门、繁重、复杂的资源和配置利用来实现决策的自动化。

2)对数据库中元数据的网格数据库和与一致性访问的交互是使用已形成的标准网格数据库服务来提供的。

3)对于较复杂的密集型数据请求,吸取并行数据库的技术来为其提供潜在的并行机制,因此,可以在不同的主机上执行高效地并行查询的各个组成部分。

4)可以进行公开的查询在对支持网格上可用的Web服务和网格数据库服务,并对合成数据的访问进行高效率的分析。

5)为达到有效评估分布式查询的目的,可使用OGSA(开放网格服务体系结构研究)的工具来动态获得必要的资源。

1.2 层次化体系结构

开放网格服务架构分布式处理器使用分布式数据源访问与集成中间件体系结构提供的服务来访问异种数据资源,它有一个层次化的结构,采用分布式数据源访问与集成中间件框架提供网格数据库服务来统一访问异种数据源。如图1所示。

在分布式数据源访问与集成中间件的基础上,OGSA-DQP扩展了其两个重要服务来实现它的功能:

1)网格查询评估服务(Grid Query Evaluation Service,简称为GQES):也称为查询评估服务,该组件被协调器服务使用以执行由计划制定器,编译器和优化器生成的查询计划。对协调器分配的查询计划通过每个评估服务来执行评估。一组参与查询的评估服务形成一棵树,树的每个叶子都是一个评估服务,它们与网格数据服务交互。数据就从这些叶子通过树流向它们的目的地。

2)网格分布式查询服务(Grid Distributed Query Services,简称为GDQS):也称为DQP协调器,它是一个接口,主要功能是与客户端进行交互。DQP协调器获得了元数据和计算的资源信息是在创建一个新的协调器时,通过协调器来分割、编译、优化计算的资源信息和元数据,并在网格内的多个执行节点上制定分布式查询的执行计划。

2 OGSA-DQP查询执行过程

查询流程如图2所示。

1)一个DQP Coordinator包含两种类型的OGSA-DAI数据源:DQP Factory数据源和DQP数据源。起初,一个已安装的协调器服务只显示一个Factory数据源,然后,这个数据源被用来创建DQP数据源,DQP数据源被客户用来执行查询。

在初始的第一步中,是在用户与OGSA-DQP交互,通过使用一个配置好的DQP Factory数据源,用户来创建一个设定的DQP数据源。通过发送OGSA-DAI请求,用户使用DQPFactory数据源与调用DQPFactory行为进行交互。为了动态的配置一个DQP数据源,DQPFactory行为与DQP Factory数据源进行交互。在一个XML文档中记录着参数的形式来表示DQPFactory行为。并在这个文档精确地指明了如何设定已配置的DQP数据源。数据库和查询评估服务是两个配置参数,已创建的数据源可利用这些查询评估服务。一个DQP数据源被创建和初始化就是交互的结果,同时,其动态配置的DQP数据源在DQP协调器显示,OGSA-DAI自动为DQP数据源指派一个资源ID。

2)在DQP数据源初始化的过程中,通过DQP联系封装数据库的OGSA-DAI数据源引入数据库。

3)用户接收在步骤1中所提交的请求的包含资源ID结果,在接下来的交互过程是,用户与被创建的DQP数据源交互,并用这个资源ID来识别该数据源。

4)用户提交一个包含用SQL或者SQL的子集来描述查询请求,DQP查询活动执行查询请求。解析、优化查询、并制定查询计划由DQP数据源完成。许多个部分被包含在一个被创建的查询计划中。其中,每个部分指定一个单独的查询评估服务的角色。

5)查询的各个部分被发送到相应的查询评估服务中。

6)通过与OGSA-DAI数据源交互一些查询评估服务可以直接获取数据。

7)在查询的执行过程中,其余的查询评估服务可以彼此交互以实现它们的角色。

8-9)所得到结果从查询评估服务传送回DQP协调器上,并最终将结果反馈给用户。

3 数据资源查询结果

3.1 创建DQP数据服务资源

在不同位置的服务器上,分别创建IP:192.168.120.60数据库服务器和IP:192.168.120.198服务器数据库,并在IP:192.168.120.2的客户端创建以上两个数据库服务器的DQP数据服务资源,如图3所示:

3.2 查询结果

把两个来自服务器端的IP:192.168.120.198数据库和IP:192.168.120.60数据库的数据资源,通过采用并行的查询方式,在IP:192.168.120.2的客户端实现与查询语句相同的实验结果全部显示出来,其生成查询结果如图4所示。

4 结论

OGSA-DQP主要通过查询评估服务和DQP协调器两个服务来实现其在不同地理位置上的查询数据资源的功能,当然用户也可以编写自己的端口来实现。随着网格技术的发展,通过与OGSA-DAI系统的相互整合,OGSA-DQP系统的功能将更加强大,必然能适应网格技术的高速发展。

参考文献

[1]战晓苏,张少华.网格计算[M].北京:清华大学出版社,2005

[2]Lynden S J,Mukherjee A,Hume A C,et al.The Design and Implementation of OGSA-DQP:A Service-Based Distributed Query Processor[J].Future Generation Comp.Syst,2009,25(3):224-236.

篇9:基于Java RMI的分布式数据库系统的应用与研究的论文

关键词:企业;应用系统;数据集成技术;技术研究

中图分类号:TP274.1 文献标识码:A 文章编号:1006-8937(2016)08-0086-02

根据当今社会经济发展的趋势,企业越来越关注自身信息系统的建设。据国际数据中心统计,在过去的5年间,全球各大企业在信息系统方面的投资超过了9万亿美元,而巨大的投资也为企业建立了众多高质量的信息系统,这在很大程度上帮助企业处理内外部事务,做好企业的管理工作,使企业内部的工作有条不紊地进行。经过大量的调查报告显示,企业用在建设信息系统的投入中,有35%的预算是用于研究应用系统数据集成技术上的。因为单独的应用系统或许只适用于单个部门工作的开展,一旦需要多个部门协同工作,进展起来就比较困难。也就是说孤立的应用系统无法高效地提供跨系统、跨部门的信息;无法实现对企业业务的全面掌控,导致工作效率低下;也无法实现信息的及时更新和存取,导致数据的不一致,造成部门与部门间的矛盾。以上种种原因均会导致不同部门之间信息传递的困难,甚至会提供给客户错误的信息,对企业的形象和声誉造成极其恶劣的影响。因此,基于企业应用系统数据集成技术的研究十分重要,也是众多企业关注的问题。

1 企业应用系统数据集成的分类

要想掌握良好的应用系统数据集成的技术,就要对集成技术有一定的了解。关于企业应用系用集成技术的分类,可以从两个方面展开,不同的方面集成技术的实现目标不同,系统内部、系统间以及企业间的集成难度和效益也不同。

1.1 从广度上分类

①单位内部的信息集成;②单位之间的信息集成;③企业级的信息集成。

1.2 从深度上分类

①数据的抽取;②数据的迁移与转换。

2 应用系统数据集成技术的必要性

传统应用系统之间的数据集成技术是一种点对点的单方向体系结构,当两个应用系统之间有合作关系时,就需要为这两个系统研究相应的连接组件,但这种连接组件仅仅只是适用于这两个系统之间的业务往来,随着业务的增加和交易伙伴的变更,就需要添加新的连接组件,长期下去就会导致连接组件数量迅速增加,给应用系统的维护工作带来了很大的复杂性。另一方面,因为传统的应用系统数据集成技术是一种点对点的连接关系,因此,任何一个系统损坏需要升级或维修时,就要对其相应的应用系统进行修改,工作量比较大,而且当有新的应用系统纳入时,就要编写新的语言,影响整个系统的工作。总而言之,点对点的应用系统连接接口复杂,信息交流比较紊乱,维护系统的成本较大,而且也不利于整个应用系统的扩充和发展。高质量的企业应用系统数据集成技术应该能够将企业内部各种不同的应用系统整合起来,并且在这个过程中不应影响系统本身。保持各个系统协作性与独立性的统一,只有这样才能保证企业的工作有序进行。

3 常用的集成方法

3.1 传统的电子数据交换技术

电子数据交换交换技术是将商业或行政事务处理按照一个公认的标准,形成结构化的事物处理或文档数据格式,从计算机到计算机的电子传输方法。换言之,就是按照商定的协议,将商业文件标准化和格式化,并通过计算机网络,在贸易伙伴的计算机的网络系统之间进行数据交换和自动处理。而这种传统的集成方法的缺点在于:企业与企业之间进行交易所使用的格式信息是固定的,一旦有新的贸易伙伴加入,就必须要设计新的格式信息,而且一旦自身企业或合作企业的业务规则发生变化时,也要重新编写新的接口。因此这种传统的电子数据交换技术会耗费大量的人力物力,且不适应当今复杂多变的贸易合作关系,运用范围比较狭窄。

3.2 公共对象请求代理体系结构

公共对象请求代理体系结构,是由OMG组织制定的一种标准的面向对象应用程序体系规范。这种结构集成方法在解决企业的异构性或者在其基础已有系统的集成上具有显著的优势。公共对象请求代理体系结构利用IDL语言来进一步描述合作对象的接口,所谓的LDL,即交互式数据语言,是一种数据分析和图像化应用程序及编程语言,具有快速分析超大规模数据的能力,可以灵活方便地分析任何数据,也可以读取和输出任何有无格式的数据类型。不过这种集成方法的缺点在于对编写人员技术水平要求高,对变化的适应性差,实施耗费时间长,对计算机病毒的阻拦功能差。

3.3 关于XML集成技术

XML,即可扩展标记语言。其可以对文档和数据进行结构化处理,从而可以在各部门,单位或者企业之间进行信息交换,进一步实现企业数据集成。XML技术因此先进的技术而具有跨部门、跨企业工作的优点,对信息的整合能力强,能够及时反映信息的变化,为企业客户提供准确无误的信息,同时,XML技术具有对工作人员的技术水平要求比较低,适用范围广等特点,因此在企业应用系统数据集成方面使用广泛。

4 XML技术的特点介绍

4.1 可扩展性

XML技术的可扩展性表现在两个方面,一是它允许设计者研究自身的模式和文档类型定义,还能够设计应用性强的扩展标志物;二是XML技术的设计者还可以通过增加附加标准,实现对XML技术的扩展,从而进一步达到增加XML技术功能的目的。

4.2 跨平台性

传统的点对点之间的集成技术连接的局限性阻碍了企业的发展,而XML集成技术的一大优点就在于它能够跨平台,跨系统工作,也可以在多个平台同时工作,而且可以解释多种编写语言,因为编写语言的文档结构是相通的,因此在分析这些应用系统的语法时所需要耗费的费用比较低,一定程度上较少了企业的费用,也可以在不同的网络环境下使用。

4.3 灵活的开放性

XML集成技术在网络上是开放使用的,任何人都可以对XML技术进行分析,这也为客户了解企业的情况提供了一种渠道,增加了贸易伙伴的信任感。另外,XML技术可以使用户数据与结构化数据分离,便于工作的开展。

4.4 自描述性

XML技术较其他集成技术简单、实用性强、易学,而且支持多种语言混合使用,因此可以在不同的国家和文化差异下使用,并且能够对任何集成数据进行分析和处理。

5 结 语

由于企业结构庞大、业务复杂的特点,使企业内部的信息交流与传递比较困难,各部门都有符合所在部门特点的应用系统,但企业是一个整体性强的工作场所,因此,对企业应用系统的集成数据研究就十分重要,其目的在于方便企业内部各部门的信息交流,保持信息的及时更新,为客户提供最优质的服务,增强企业的竞争力,促进企业的长足发展。而XML语言技术因其自描述性、跨平台性、可扩展性等众多优点适合当今企业对应用系统的要求,值得在企业之间推广。

参考文献:

[1] 范玉顺.网络化制造的内涵与关键技术问题[J].计算机集成制造系统 -CIMS,2003,(7).

[2] 蔡铭,林兰芬,陈刚,等.网络化制造环境中制造资源的智能发现技术研 究[J].计算机集成制造系统-CIMS,2003,(7).

[3] 苏越良,徐禾芳,王爱虎.网络化制造环境中技术创新的基本特点及其 不确定性研究[J].科学管理研究,2005,(3).

[4] 林兰芬,高鹏,蔡铭,等.集成环境下产品建模技术的研究[J].浙江大学学 报(工学版).2005,(8).

篇10:基于Java RMI的分布式数据库系统的应用与研究的论文

作 者:宣建光 刘波 陈超 雷友锋 XUAN Jian-guang LIU Bo CHEN Chao LEI You-feng 作者单位:宣建光,XUAN Jian-guang(南京航空航天大学,江苏,南京,210016)

刘波,LIU Bo(驻420厂军事代表室,四川,成都,610066)

陈超,雷友锋,CHEN Chao,LEI You-feng(空军装备研究院总体所,北京,100076)

篇11:基于Java RMI的分布式数据库系统的应用与研究的论文

一、背景概述

随着政府上网、电子政务的不断普及和深入,IBM公司的Lotus Domino系统在国内得到广泛的应用。其中不乏大型的、跨地域的企事业单位或集团公司应用案例。这些案例一般采用分布式系统结构,即分布在全国各地的分支机构分别设有独立的数据库服务器,各地数据库服务器采用数据库同步复制的方式更新本地数据库复本内容。从而使得各地终端用户及时、快捷、可靠地访问到最新公告、新闻等。

本文结合呼和浩特铁路局客运公司办公自动化系统案例讨论基于IBM公司的Lotus Domino技术构建的分布式OA系统中数据库之间的同步复制技术。

二、几个概念

IBM公司的Lotus产品包含Lotus Domino Server,Lotus Notes,Lotus Domino Administrator和Lotus Domino Designer。Lotus Domino Server为后台数据库平台,Lotus Notes为客户端,Lotus Domino Administrator为系统管理平台,Lotus Domino Designer设计开发工具。先介绍几个Domino中和同步复制有关的概念。

1、复制

Notes允许在多个服务器或工作站上保存数据库的多个拷贝,这些拷贝称做“复本”。它们使各个地方的不同网络上的用户共享相同的信息。复本与文件的拷贝不同之处在于在复制时源文件与其复本具有相同的复本标识符。

复制是在复本之间共享更改信息的过程。复制时,Notes通过把更改信息从一个复本拷贝到另一个复本来更新复本。最终,Notes 使所有复本保持一致。可以选择在复本拷贝之间进行复制,这时两个复本都发送并接收更新信息,或者选择仅从一个复本复制到另一个复本。

也可以定期安排复制,或者根据需要手动进行复制。复制可以在两台服务器之间或者在服务器和工作站之间进行。如果设定为定期进行完整复制,那么 Notes会根据时间使所有复本保持同步。

2、复本标识符

复本与源文件或数据库有相同的复本标识符。这是数据库的复本与拷贝的区别所在,因为有共同的标识符才能使复本与源数据库之间可以复制更改信息。如果数据库的两个拷贝具有不同的复本标识符,则不能在它们之间进行复制。

3、复制冲突和保存冲突

在复制之间,如果有两个或多个用户对相同文档的不同复本进行了编辑,就会导致复制冲突。而保存冲突则是在两个或多个用户同时编辑服务器上同一个数据库的同一个文档时发生。当发生复制冲突或保存冲突时,Notes 将在视图页面左边把发生冲突的文档标注出来。

Notes对复制冲突的处理是这样的,在两个或多个用户编辑并保存同一个文档之后,下次进行复制时,Notes 将编辑和保存最频繁的文档指定为主文档,而将其他文档显示为主文档的答复文档,并在视图页面左边用一个菱形符号标注出来。如果用户在一个复本中编辑并保存了某文档,然后另一个用户将该文档删除,则认为该文档是被删除的。然而,如果文档被编辑和保存了多次,或者在该文档被删除之后又被另一个用户编辑和保存过,则把编辑过的文档作为主文档。

Note对保存冲突的处理如下,当多个用户同时打开相同的文档进行编辑时,Notes指定最先保存的文档为主文档。当另一个用户试图保存同一文档时,Notes 就会提示该用户把它作为“保存冲突”文档来保存。如果用户这样做了,那么 Notes 将它显示为主文档的答复文档,并在视图页面左边用一个菱形符号标注出来。

根据笔者的经验,在实际开发过程中,我们应该通过设计控制保存冲突,避免文档产生“保存冲突”的答复文档。对于复制冲突可以设置数据库合并复制冲突,这样如果产生增量改动,服务器在复制过程中会自动合并冲突。需要说明的是,Notes在进行复制时,并不是传统意义上的完全拷贝,而是一系列的规则进行增量的合并。

4、复制类型

Domino中支持四种不同的复制方式

拉入推出:是一个双向过程。此过程进行时,呼叫服务器从响应服务器拉入更新,然后向响应服务器推出自己的更新。使用“拉入推出”时,呼叫服务器上的 Replicator 任务执行所有的工作。拉入推出是系统缺省的复制方式。

分别拉入:是两个服务器交换更新的双向过程。使用“分别拉入”时,两个复制器(一个在呼叫服务器上,另一个在响应服务器上)共同进行复制工作。

只推出:是呼叫服务器向响应服务器推出更新的单向过程。单向复制总是比双向复制耗时少。只拉入:是呼叫服务器从响应服务器拉入更新的单向过程。单向复制总是比双向复制耗时少。

三、案例

笔者曾经参与呼和浩特铁路局客运公司办公自动化系统的设计、开发和实施工作。呼和浩特铁路局客运公司包括三个信息中心,分别在呼和浩特市、包头市和东河区三个地方,三地之间通过64K的DDN专线连接。因为带宽的限制,用户远程访问速度成为本系统的瓶颈,经过再三论证,我们决定构建分布式数据库存储架构,采用后台数据库实时同步复制技术使三个异地服务器内容一致,将远程访问转化为本地访问,从而提高终端用户访问速度。

详细步骤如下。

1、安装服务器

在三地信息中心分别安装Domino服务器,服务器的详细配置并不复杂,读者可以参阅相关资料,一般情况下按照安装配置向导四步就可以快捷配置完毕。注意三台Domino服务器不要同名,其简单拓扑结构如下:

图中呼市处于相对中心的位置,所以呼市和包头之间,呼市和东河之间分别建立了互推复制机制,为了降低网络负担和流通环节,没有建立包头和东河之间的复制,各地直接通过与呼市同步来保持三地数据的一致。一般而言,如果各分支机构处于平等位置,互相之间的数据流量相当,也可以两两之间建立复制机制。

2、建立服务器之间的连接

对于两个服务器之间进行的复制,应创建一个“连接”文档来指定进行信息交换的方式和时间。“连接”文档存储在“Domino 目录”中。一次仅使用一个“连接”文档来处理每对服务器之间的所有复制。创建不必要的“连接”文档会增加网络传输量和阻塞。

缺省情况下,邮件路由和复制都已被启用,但是可以更改此设置并使用单独的“连接”文档来安排每项任务。这样,就可以分别控制复制和邮件路由的特定时间、时间范围或重复间隔,并根据需要增加或减小这些设置。

怎么保证服务器之间的连接能顺利的连通?实际上对于物理连接形式Domino并不关心,也就是说物理上无论通过什么连接方式,专线、光纤、X.25、电话拨号等,只要TCP/IP通,简单说只要能Ping通,就能够保证服务器之间顺利连接。

下面给出了建立服务器之间连接的操作步骤和主要参数的设置说明:

A)在 Domino Administrator 中单击“配置”附签。

B)在“使用目录”域中选择连接服务器的“Domino 目录”。

C)单击“服务器”,然后单击“连接”。

D)单击“添加连接”。

F)关键域配置描述:

域输入

源服务器连接服务器的名称

使用以下端口连接服务器或源服务器使用的网络端口(或协议)名称

使用优先级选择一个:“一般”(缺省)“低”

目标服务器响应服务器的名称

可选网络地址与所选协议相适应的目标服务器的地址。对于 TCP/IP,应使用完全有效的网络域名称(首选)或 IP 地址(例如:HR-E.Acme.com 或者 192.22.256.36)。

对 TCP/IP 或其他需要特定网络地址的协议,建议填写此域。

复制类型缺省情况下,Domino 的复制方向为“拉入推出”。但根据实际情况,为了平衡服务器之间的负载,充分发挥每个服务器的性能,我们可以设定双方互推或者互拉,本例中我们采用服务器双方互推的方式,即每个服务器上的连接复制类型都是由源服务器向目标服务器推出。

复制文件/目录如果为空,则服务器将DATA目录下的所有存在复本的数据库全部进行复制,否则填写哪个库系统就复制哪个库。

安排在安排中可以设置连接时间、重复间隔、每周复制日期等参数。可根据实际情况设定,本例设置为每日8:00到晚上10:00连接,连接期间每一小时进行同步复制或服务器依据增量自动复制,非连接时间服务器处理其他性能调优动作,如更新数据库索引等。

H)保存文档。

3、建立数据库复本

连接建立成功以后,保证服务器之间可以进行通讯了,下一步就是对要进行同步的数据库建立复本,当建立了复本以后,通过连接设定就能保证异地各个复本之间的数据完全一致。

这里需要说明的是,我们在第一台服务器上建立了一套数据库系统,对于需要同步复制的所有数据库,在其他服务器上只需要产生他们的复本,而不能再在每台服务器上分别创建相同的数据库。在本例中我们在呼市客运公司信息中心安装配置好第一台服务器后,在包头信息中心和东河信息中心的Domino服务器上则通过呼市信息中心服务器建立各自本地所有需要的数据库复本。

如果要在本地Domino服务器上创建源Domino服务器的复本数据库,需要本地服务器的系统管理员具有对源服务器访问和创建复本的权限,因为Domino对权限控制很严格,尤其是多域用户之间的访问,其目的就是为了充分保证系统的安全性。那么怎样才能具有这样的创建复本的权限呢?需要具有两个基本的存取权限就可以在本服务器上创建源服务器的数据库复本,一是源服务器配置中允许本地服务器的系统管理员访问,二是允许本地服务器的系统管理员创建数据库复本,这两个权限由源数据库的系统管理员设置给目标数据库的系统管理员。结合本例,需要在包头信息中心的服务器上建立呼市信息中心的数据库复本,则首先在呼市信息中心的服务器上配置“当前服务器”文档。

A)在 Domino Administrator 中单击“当前服务器”文档。

B)单击“编辑服务器”

C)选择“安全”标签页,填写以下两项:

域输入

访问服务器本例为包头信息中心系统服务器名称及管理员的用户名称

创建数据库复本同样是包头信息中心系统管理员的用户名称

D保存后退出。

接下来就可以在包头信息中心的服务器上创建源数据库的复本了,这步动作比较简单,选择源数据库,从菜单中执行创建复本功能即可,这里不在详细描述。

同样的处理在东河的服务器上如法炮制一遍,则所有数据库复本成功建立完毕。

4、复制测试

完成以上三步,配置就全部完成,接下来就要测试一下配置是否完全成功以及配置是否生效。我们测试主要包括两个内容:一是测试连接是否成功,能否进行复制动作。二是测试设置的复制安排是否按照预定生效。

A)进行第一项测试的办法是在Domino的控制台上,使用Domino的系统命令,进行数据库的推、拉测试,检查复制是否能成功进行,命令格式如下:

拉入复制

语法:Pull servername [databasename]

描述:强制从指定服务器到本地服务器进行单向复制。通过在命令行中包括单个数据库名称,将其从特定服务器单向复制到本地服务器。发起复制的服务器从指定的服务器接受数据,但不能申请将自己的数据复制到其他服务器上。该命令重设在“Domino 目录”中预定的任何复制,而强制一台服务器与发起复制的服务器立即进行复制。如果可能,请输入服务器完整的层次结构名称。

推出复制

语法:Push servername [databasename]

描述:强制进行从本地服务器到指定服务器的单向复制。也可以通过在命令行中包括要复制的单个数据库名称,来将其从本地服务器单向复制到特定服务器。发起复制的服务器将数据发送到指定的服务器,但不申请获得数据。该命令可以重设在“Domino 目录”中预定的任何复制,而强制一台服务器立即与发起复制的服务器进行复制。如果可能的话,请指定服务器完整的层次结构名称。

B)第二项测试通过将连接文档的安排时间设置为两分钟进行一次,同时观察Domino的系统控制台,查看服务器的动作,以确保安排设定生效。正确的结果是从控制台上能看到系统报告复制过程。

按照以上实例说明进行,没有任何问题。

四、结束语

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:云计算在大数据中心建设的研究与应用 下一篇:计算机软件技术在大数据中的应用研究