单例模式可否在线程间hr共享服务中心模式数据

保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
单击提交则表示您同意developerWorks
的条款和条件。 .
所有提交的信息确保安全。
developerWorks 社区:
我的概要信息
选择语言:
本文介绍了在不同应用场景下如何在 Websphere Message Broker V6 上实现数据的缓存和共享。
(), 软件工程师, IBM 中国软件开发实验室 SOA设计中心
于世伟,IBM CDL SOA 设计中心软件工程师,从事SOA相关项目的设计和实施,有多年JAVA/ Webservice开发经验。
, 解决方案设计工程师, IBM 中国软件开发实验室 SOA设计中心
刘朝俊,IBM CDL SOA 设计中心解决方案设计工程师,参与多个 SOA 设计和实施项目。
(), 资深架构师, IBM 中国软件开发实验室 SOA设计中心
任静安,IBM CDL
SOA 设计中心资深架构师。他主要从事 SOA 在金融服务业的实践工作。另外,他的技术兴趣还在企业架构,应用程序设计和安全等方面。
IBM Websphere Message Broker V6( 下简称 WMB) 作为企业 ESB 在 IBM SOA(Service Oriented Architecture) 架构应用中扮演着非常重要的角色。在企业应用整合中,WMB 具有高性能,高可靠性的特点,为基于标准和非标准的应用程序及服务提供了连通性和通用的数据转换能力。
在客户的实际项目需求中,为了实现服务的请求与服务实现的解耦,通常的做法是将服务的数据放在数据库或服务注册表中,在运行时查询数据库或服务注册表来动态改变消息的运行状态。为了满足高性能的要求,对于如路由表信息,格式校验信息这样有状态的数据应当缓存在内存中而不是保存到数据库或磁盘中,并且缓存的信息在 BROKER 域之间共享。本文介绍如何利用 WMB 6 新增的功能,以及它的 CacheNode 支持包(Support Package)来实现信息的缓存和共享。并且将介绍在不同场景级别中的实现。
使用场景(一)WMB6 中的共享变量
在 WMB6 中提供了在多个消息流实例间共享同一上下文内容的能力。在 WMB 版本 6 之前,多个消息流之间共享的数据必须要存储在数据库中,由此带来的是性能问题,因为每次上下文的读取都要访问数据库。在版本 6 中引入了共享变量(shared variables), 他允许被不同的消息流实例访问,共享变量在内存中维护,因此大大的节省了数据库访问的时间。
在 WMB6 的 ESQL 语法规则中,变量的类型有三种:
常规变量,它的生存期为一个消息通过节点的时长。它们只对该消息可见,即该变量不可被多个并发消息流实例共享。 外部变量(使用 EXTERNAL 关键字定义),也称为用户定义的属性(UDP),它们在消息流的整个生存期存在,并对通过流的所有消息都可见。它们的初始值(可以通过 DECLARE 语句设置)可以在设计时由消息流编辑器修改,或在部署时由 BAR 编辑器修改。但该变量实际为数据常量,它们的值不能在运行时被 ESQL 程序修改。
共享变量(使用 SHARED 关键字定义), 用于实现消息流中的内存高速缓存。共享变量生命期较长,并且可被通过同一流的多个消息看到,即可被同一消息流的多个实例共享。在每个 Broker 启动后,共享变量会在第一条消息通过流或节点时进行初始化。它们的值可以在运行时由 ESQL 修改。 在 ESQL 中我们可以定义如下语句来声明一个共享变量:
DECLARE CACHE_TABLE SHARED ROW;
SHARED 表示声明的变量为共享类型
ROW 为 ESQL 的数据类型。在 ESQL 中 ROW 的是树结构,对应于数据库的表,用来保存表中行的数据,但不仅限于数据库中的表。
我们可以直接将数据库中返回的结果赋予所声明的 ROW 类型的数据,比如:
ESQL 语句操作共享变量 SET CACHE_TABLE.DestinationData[]
= (SELECT S.QUEUQ_NANAGER, S.QUEUE_NAME FROM Database.ROUTING_TABLE
as S WHERE S.VARIABLE1=Variable1); 其中 DestinationData[] 是自定义的数组,可通过 DestinationData[i]. QUEUE_MANAGER 或 DestinationData[i]. QUEUE_NAME 访问结果集中第 i 条记录的数据。
共享变量的不足之处在于它是在同一个消息流的多个并发实例中共享数据,做不到在同一个执行组内不同消息流之间共享数据,因此下面介绍使用 Java Compute Node 实现执行组内消息的共享。
使用场景 ( 二 ) Java Compute Node
WMB6 提供了使用 java 来开发一个计算节点的方法。Java 代码被打包部署在执行组中,由一个执行组进程来运行。在 WMB6 中每个执行组会启动一个 JVM,由于一个执行组中可以运行多个消息流的线程,所以在同一个 JVM 内部使用单例 (Singleton) 模式可以在多个消息流之间实现执行组级共享数据。结构图如图 1 图 1 Java Compute Node 实现单例模式的代码参考如下 : 单例模式的代码
public class SomeNode extends MbJavaComputeNode {
public void evaluate(MbMessageAssembly inAssembly) throws MbException {
Singleton mySingleton = Singleton.getInstance();
mySingleton.doSomething();
public class Singleton{
private static S
private Singleton () {
// initialisation
public static synchronized Singleton getInstance() {
if (instance == null)
instance = new Singleton();
public synchronized … doSomething() {
return …;
public Object clone()
throws CloneNotSupportedException {
throw new CloneNotSupportedException();
} 该应用局限性在于只能共享执行组级的数据 , 在企业实际的生产系统中为了利用多个 CPU 的处理能力 , 往往会扩展执行组到多个 , 甚至分布式部署多个 Broker, 如何在多个执行组间或者在整个 Borker 域内实现数据共享 ? 随着新问题的提出 , 因此我们下面介绍第三种使用场景 CacheNode 来解决该问题。 使用场景 ( 三 ) Cache Node 介绍 Cache Node 是以 MessageBroker 的 SupportPac 形式提供了一组 Message Broker 自定义的节点和 ESQL 的函数来实现数据的缓存与共享。该节点使用关键字索引来存取缓存中的数据。可以在不同的消息流或执行组中共享缓存中的信息,通过 Real-time 服务器的配置,还可以实现在不同的 Broker 域中共享缓存,从而达到多种级别的数据共享。Cache Node 的结构为图 2 所示。 图 2 CacheNode 结构图 CacheNode 安装与配置 CacheNode 的 SupportPac 可以从 IBM 的网站上下载,参见本文的:“”部分
针对 WMB 的不同版本,下载包有 2 个 , 本文只针对 V6 版本进行介绍。 表 1 WMB 不同版本的下载包
下载包 Broker 版本 ia91.wbimb.zipV5/V6ia91.wmqi.zipV2 跟随 zip 包还有一个对应的 PDF 文档说明,详细介绍了 CacheNode 的相关应用。
将 ia91.wbimb.zip 下载并解压到本地目录,如:C:\ia91\ ,在解压的根目录中包含了若干个 zip 包和文件,其功能对照表如下:
表 2 功能对照表
文件或目录
说明 CacheJavaFunctions.esqlCacheNode 的 ESQL 功能函数定义 CacheNodeEclipseV5.zip 用来开发 V5 流程的 CacheNode 源码 CacheNodeEclipseV6.zip 用来开发 V6 流程的 CacheNode 源码 CacheNodeInstallBrokerV5.zipMessageBroker V5 运行时用到的安装文件 CacheNodeInstallBrokerV6.zipMessageBroker V6 运行时用到的安装文件 CacheNodeInstallToolkitV5.zip 用来开发 V5 流程的 MessageBrokerToolkit 插件安装文件 CacheNodeInstallToolkitV6.zip 用来开发 V6 流程的 MessageBrokerToolkit 插件安装文件
安装 CacheNode 插件和运行环境
安装 Toolkit 插件
解压 CacheNodeInstallToolkitV6.zip 文件到 message broker toolkit 的安装目录(默认为 C:\Program
Files\IBM\MessageBrokersToolkit\6.0)。然后用 -clean 选项重启 toolkit(wmbt.exe –clean)以确保插件正确安装。安装好的插
件在打开一个新的消息流选用板时显示如图 3。
图 3 选用板中的 Cache Data
安装 broker 运行时程序 1). 解压 CacheNodeInstallBrokerV6.zip 文件到 WMB 的安装目录(默认为 install_dir = C:\Program Files\IBM\MQSI\6.0),完成:
? 安装运行时的 plugin,在 install_dir\jplugin 目录 ? 安装运行时错误消息,在 install_dir\messages 目录 ? 共享类文件,在 install_dir\shared-classes 目录 2). 拷贝类文件目录 ( install_dir\shared-classes ) 到 WMB 的工作路径(默认为 workpath= C:\Documents and Settings\All Users\Application Data\IBM\MQSI)。另外一个替代的方法是修改 WMB 的 mqsiprofile,将类文件加入到 WMB 的 CLASSPATH 中去。3). 关于 CacheNode 实现 Broker 域级数据缓存功能的安装请参考数据共享篇。 组成与工作原理 CacheNode 是自定义的 MessageBroker 节点,通过 Toolkit 的选用板可以像其他普通节点一样(或者在 ESQL 中)很方便地创建、编辑 CacheNode 节点,然后部署到 WMB 的运行环境中执行。图 4 为工作原理图: 图 4 CacheNode 的工作原理 ①消息流在初始化时通过 CacheConfig 节点访问数据库。②CacheConfig 创建索引键和值并送给 Publisher。③Publisher 将数据发布到 JMSTopic 上去。④缓存通过实现的消息监听器来订阅 CacheNode 主题 , 取数据到本地 .⑤CacheGet 根据指定的关键字从缓存中获得数据。
Toolkit 中 CacheNode 节点的开发介绍 CacheNode 提供了 CacheConfig,CacheGet,CachePut, CacheReplay, 以及为了划分 Cache,方便存取提供的 NamedCacheNode 节点:NamedCacheConfig, NamedCacheGet, NamedCachePut, NamedCacheReplay 等。本文只介绍最常用的前三个 CacheNode, 其他几种节点功能类似,不做遨述。CachePut 节点 1)Basic SectionCachePut 节点用来存放数据到缓存中。缓存的级别可以是执行组级,也可以是 Broker 域级。CachePut 使用关键字来标识在缓存中的数据,关键字和数据都需要在消息树的节点元素中有定义,消息树中的节点元素的有效开始名称只能为 Root,Environment 或 LocalEnvironment。对于关键字域,任何不是以 Root,Environment 或 LocalEnvironment 开始的字段都视为常量,这种情况,从节点的输入端进来的消息不会被改变,直接从输出端出去。 对于缓存数据的生命周期(从放入缓存到数据过期经历的时间,以毫秒计算),默认设置为 60000 毫秒或 1 分钟。如果数据过期,则不会被 CacheGet 得到并在清理时被删除,以保证缓存尽可能小。如果值为 -1 表示数据永不过期。CachePut 的 Basic 设置如图 5 表示: 图 5 CachePut Basic Section2)Advanced Section 缺省情况下,如果在消息树中无法发现指定的关键字或数据,CachePut 节点会抛出例外并由 WMB 来处理(如同其他例外一样,例外会通过节点回溯,直到 Catch 或 Failure 节点的捕获)。在高级选项中可以配置消息流的继续执行而不抛出例外,如果关键字 key 为 null,则使用 null 字符串为关键字。如果数据为 null,则使用 null 为数据的值放入到缓存中,使得消息流可以继续执行下去。高级配置如图 6 所示: 图 6 CachePut Advanced Section3)Clean Up 缺省情况下,缓存在每 60,000 毫秒或 1 分钟会进行检查,或者每发生 1000 次 CacheGet 或 CachePut 调用时被检查来清理过期的数据,以防止内存泄漏。并且必须通过 CacheGet 或 CachePut 访问的缓存才会被定期清理。任何为 -1 的域表示该域不起作用(比如 Timed frequency 为 -1 表示不基于时间而是基于调用次数进行缓存的清理)。如果设置的数值太小,则表示清理会太频繁,反而会影响系统的性能。如果设置为 0,则表示每次消息通过都会进行清理。清理的动作会在任何处理(CachePut 或 CacheGet)之前进行,这意味着即使节点发生例外也会执行清理过程。Cleanup 选项如图 7 所示: 图 7 CachePut CleanUp CacheGet 节点 1)Basic SectionCacheGet 节点用来从缓存中取数据。在图 5 的配置中,缓存的范围可以是执行组级或 Broker 域级,可以根据消息树或环境变量中的某个节点元素的值作为在缓存中唯一的键值来获取对应的数据并赋值到消息树或环境变量的某个节点元素中去。元素的有效起始名为 Root,Environment 或 LocalEnvironment。取到的数据可以是 Non destructive 的,表示在缓存中并不删除,或者是 destructive 的,表示在取得数据之后删除缓存中的数据。 从缓存中取得的数据会覆盖掉在消息树或环境变量中指定的节点元素的值,如果该节点元素(或路径)不存在,则会创建此节点。见图 8 图 8 CacheGet Basic Section2)Advanced Section 缺省情况下,如果在消息树中无法发现指定的关键字,CacheGet 节点会抛出例外并由 WMB 来处理(如同其他例外一样,例外会通过节点回溯,直到 Catch 或 Failure 节点的捕获)。在高级选项中可以配置继续消息流的执行而不抛出例外,在这种情况下,关键字 key 可以为 null。并且当在缓存中没有找到指定的关键字(比如数据过期),可以设置节点元素 data 为 null,使得消息流可以继续执行下去。高级配置如图 9 所示: 图 9 CacheGet Advanced Section3)CleanUp 同 CachePut 的 CleanUp 部分 CacheConfig 节点 CacheConfig 节点用来满足以下需求: 把数据从数据库中预先加载到缓存中
改变使用 realtime 节点的 broker 流用到的缺省主机和端口号
设定调试跟踪 CacheNode 的执行状况
下面具体介绍一下每一项的设置 1)Basic Section 该部分设置是否在 Broker 启动阶段从数据库初始化缓存的内容,如果是,数据是否在某个间隔时间内进行自动刷新。图 10 显示了一个包含 CacheConfig 消息流的样例: 图 10 CacheConfig Basic Section 如果选中了需要初始化,则需要提供以下信息来访问数据库: 表 3 访问数据库所需信息
说明 Cache Initialized 是否初始化缓存 Period 更新缓存数据的时间间隔,-1 为不刷新 Scope 缓存的级别(执行组级 / Broker 域级)JDBC Driver 使用哪种 JDBC 驱动程序(和数据库厂商有关) JDBC URL 数据库的 URLUserid 访问数据库的用户名 Password 访问数据库的密码 Table 访问数据库的表 Key 返回的关键字 Data 返回的数据项
需要注意的是:对于从数据库加载到缓存的数据没有生命周期的限制,即一旦数据被加载到缓存中就只能通过 CacheGet 节点的 destructive Get 的方式来删除数据。如果更新了数据库的数据,则会在下次缓存刷新时更新数据。如果删除了数据库的数据,则缓存中的相应数据不会被删除,并且如果更新了缓存中的数据,也不会导致数据库的数据被更新。2)Real-time Section 该部分针对于 Real-TimeOptimizedFlow 配置,如何将数据发布到 RealTime 服务器上。见图 11 图 11 Real-time 配置
以下信息用于如何连接到发布 Broker 上: 表 4 发布 Broker 的连接信息
说明 Real-time Host name 发布到 realtime 服务器的主机名或 ip 地址 Real-time PortRealtime 服务的端口号 Validate connection 检测连接是否正常的时间间隔(毫秒)Reconnect wait period 等待重新建立连接的时间间隔(毫秒)3)Cache Trace 该部分用于跟踪和 CacheNode 节点的执行状态 , 见图 12 图 12 CacheTrace 配置
表 5 Cache 配置信息
说明 DestinationTrace 输出到何处 FilePath 当 Destination 为 File 时指定输出文件的路径 CacheNode 应用场景介绍
在一个企业集成应用中,由 ESB(企业服务总线)来完成消息的动态路由和格式校验及转换。消息路由的路径信息被保存在数据库中,在 ESB 初始化阶段从数据库加载到缓存中,以此提高 ESB 访问路由表的性能。缓存中的路由表可以根据定置进行定期的更新。架构图见图 13 图 13 ESB 数据缓存架构图
为了高效地完成路由表的查询,我们将路由表从数据库中缓存到内存中。同时当数据库中的路由表更新时,保持数据库和缓存中数据一致。 首先在消息流中加入缓存配置节点,在其中定义缓存的配置信息。 数据缓存配置节点
在消息流中利用消息路由节点,查询缓存中的路由表,动态获取路由路径信息,将将要调用的服务路径放到消息头中,实现动态路由。 消息路由节点
利用以下 ESQL 语句,将从缓存中获取路由表信息赋值给输出消息。ESQL 语句
SET Status = getFromCache
(OutputLocalEnvironment.variables.key,OutputLocalEnvironment.variables.value,FALSE,TRUE);
SET OutputLocalEnvironment.Destination.MQDestinationList.DestinationData[1].queueName =
OutputLocalEnvironment.variables. 其中 OutputLocalEnvironment.variables 是消息树中本地环境变量,子元素 key 是缓存的关键字,子元素 value 是缓存的值。getFromCache 用来根据 key 取出被缓存的路由表的内容,即目的服务所使用的队列名,放在 value 中,然后赋值给 MQ 的目的地列表的队列名。这样就达到了动态路由的目的。当然你也可以不用 ESQL 的方式来访问缓存的数据 , 而是采用相关 CacheNode 节点的方式 , 具体方法参考前面章节的介绍。 数据共享篇
前面提到缓存中路由表信息可以分别在 Execution group 和 Broker domain 两个级别的层次上实现共享,这是 CacheNodes 支持包新实现的功能。为了实现该功能 , 需要进行以下步骤配置 : 将 WebsphereMQ 的 jar 文件放到 WMB 的类路径中,以保证他们可以被 WMB 找到。MQ_JAVA_LIB_PATH\com.ibm.mq.jarMQ_JAVA_LIB_PATH\com.ibm.mqjms.jarMQ_JAVA_LIB_PATH\\connector.jarMQ_JAVA_LIB_PATH\dhbcore.jarMQ_JAVA_LIB_PATH\jms.jar 创建 Real-Time Optimized Flow,Cache Nodes 是通过支持 JMS 的 pub/sub 实现跨 execution group/broker 之间的缓存信息共享的。该节点用来提高 pub/sub 性能。 更改 CacheNode 节点的设置,Cache nodes 默认是在一个 execution group 上实现的缓存共享,当需要在跨 execution group 或是跨 broker 的情况下通过缓存共享信息的时候,可以将 CacheConfigNode 中的 cache scope 属性设置成为 Broker domain,这样即可在不同的 execution group/broker 之间共享同一个缓存中的信息。 在每个执行组中设置一个的 CacheConfig Node,通过 CacheGet 或者 ESQL 中的 API 来实现消息流和缓存的信息在 Broker 域之间的交换。 关于 CacheNode 实现 Broker 域级数据缓存功能的具体安装请参考 SupportPac 提供的相关文档说明。 使用 CacheNode 需要注意的地方 CacheNode 是由 java 程序实现的,因此缓存的对象会占用 JVM 的堆内存 , 如果缓存设置不当,会造成无用的对象滞留在缓存中,从而增加内存的泄漏的可能。在设置使用 CachePut 和 CacheGet 的时候要注意以下几点 : 在使用 CachePut 时不要设置太大的 Life of Data 值 , 以便及时进行垃圾回收。 在使用 CachePut 或 CacheGet 时不要设置太大的 Timed frequency of clean-up 值,以便清理程序及时清理过期对象。 在使用 CachePut 或 CacheGet 时不要设置太大的 Clean up after number of invocations 值,以便不用对象不会长期存在于缓存中。 结束语
本文介绍了在 Websphere Message Broker v6 运行环境下三种数据共享的使用场景 , 实现了不同应用级别的数据共享功能。并着重介绍了 Cache Node 的工作原理和各节点的功能 , 以及相关的应用场景。 表 6 三种数据共享使用场景
消息流 ESQL 中变量共享 Java Compute Node 执行组 JVM 中变量共享 Cache Node SupportPacBroker 域 JMS Pub/Sub 机制实现缓存共享
本文不带有任何明示或暗含的保证。本文提供的建议或最佳实践只作为一般的经验分享,只在作者的特定环境下验证过。作者不保证这些建议或最佳实践在任何情况下都有效。本文中任何带有主观性的陈述都只代表本文作者个人的观点,不代表 IBM 公司的官方立场。本文的内容有可能不太准确或包含错误,作者对此深表歉意。
参考资料 : WebSphere Message Broker 资源中心,产品特性、学习导航、培训和认证、评论文章、技术红皮书等。:关于 WebSphere Message Broker V6 的新特性的详细介绍。:本文主要描述和分析在一个执行组中消息流的主要运行特性,来帮你决策在WebSphere Business Integration Message Broker V5 中运行的消息流副本数量。 下载
,体验强大的 DB2®,Lotus®,Rational®,Tivoli® 和
WebSphere® 软件。。 查看
的最新信息。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
IBM PureSystems(TM) 系列解决方案是一个专家集成系统
通过学习路线图系统掌握软件开发技能
软件下载、试用版及云计算
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=WebSphereArticleID=283001ArticleTitle= 在 WebSphere Message Broker V6 上实现数据缓存与共享 publish-date=数据库连接池在电子病历共享系统中的
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
数据库连接池在电子病历共享系统中的
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口基于ArcGIS数据互操作模块的空间数据共享实现研究--《西安文理学院学报(自然科学版)》2011年02期
基于ArcGIS数据互操作模块的空间数据共享实现研究
【摘要】:以某一地区的地形图为例,研究了基于ArcGIS数据互操作扩展模块(ArcGIS Data Interoper-ability)实现ArcGIS与AutoCAD之间空间数据共享的方法.结果表明:借助ArcGIS数据互操作扩展模块,可以不必购买和安装额外的软件、不用编程,就能方便地实现多种常见格式空间数据间的"无损"转换;可以将AutoCAD方便、灵活的编辑功能与ArcGIS软件强大的空间分析功能有效地结合起来,更好地满足行业GIS应用和研究的需要.
【作者单位】:
【关键词】:
【分类号】:P208【正文快照】:
数据是任何GIS系统的一个关键组成部分.然而,空间数据获取手段的发展和传统地理信息系统的缺陷[1]:传统GIS都是孤立系统,没有统一标准,各自采用不同的数据格式、数据存贮和数据处理方法,共同造成了现存GIS数据的多样化特征.如何实现在不同平台、不同格式数据之间的无损共享已
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
楼宇;;[J];地理信息世界;2006年04期
宋宜全;杨荔阳;;[J];地理与地理信息科学;2009年06期
蔡正林;韩金华;李梦琪;;[J];计算机技术与发展;2006年07期
崔健,李健;[J];山东建筑工程学院学报;2005年03期
刘昭华;施向丰;;[J];测绘标准化;2006年04期
屈春燕,叶洪,刘治;[J];地震地质;2001年03期
姚鹤岭,张久铭;[J];地域研究与开发;2005年03期
刘翔;[J];衡阳师范学院学报;2005年03期
蔡正林;韩金华;;[J];微型电脑应用;2006年04期
宋拥军;李玉琳;王峰;张伟;;[J];山东国土资源;2009年04期
中国重要会议论文全文数据库
陈品祥;朱华;陶迎春;顾娟;吴天宝;;[A];第二届“测绘科学前沿技术论坛”论文精选[C];2010年
孟丽;杨伟铭;;[A];第四届海峡两岸GIS发展研讨会暨中国GIS协会第十届年会论文集[C];2006年
区钜照;;[A];广东省测绘学会第九次会员代表大会暨学术交流会论文集[C];2010年
印青;胡长治;;[A];全国测绘科技信息网中南分网第二十一次学术信息交流会论文集[C];2007年
赵节霞;闵晓凤;;[A];中国测绘学会2010年学术年会论文集[C];2010年
李志刚;;[A];2001年东北三省测绘学术与信息交流会论文集[C];2001年
邵春丽;黄承义;李志刚;;[A];《测绘通报》测绘科学前沿技术论坛摘要集[C];2008年
曾志明;宋关福;;[A];中国地理信息系统协会第三次代表大会暨第七届年会论文集[C];2003年
洪岩;李健;;[A];中国地理信息系统协会第九届年会论文集[C];2005年
张伟;宋拥军;仲佳;韩海丰;;[A];2009全国测绘科技信息交流会暨首届测绘博客征文颁奖论文集[C];2009年
中国重要报纸全文数据库
许跃彬;[N];石家庄日报;2009年
孟丽?杨伟铭;[N];中国测绘报;2007年
方格;[N];中国计算机报;2003年
许金成;[N];中国测绘报;2007年
徐昕;[N];中国计算机报;2006年
董振宁、闫静;[N];中国计算机报;2002年
董振宁、闫静;[N];中国计算机报;2003年
董振宁 闫静;[N];计算机世界;2002年
芳芳;[N];大众科技报;2006年
李瀛寰;[N];中国计算机报;2006年
中国博士学位论文全文数据库
郑文锋;[D];成都理工大学;2008年
李一凡;[D];大连海事大学;2002年
陈建华;[D];成都理工大学;2008年
李世明;[D];中国林业科学研究院;2008年
揣媛媛;[D];吉林大学;2007年
金宝轩;[D];武汉大学;2005年
李学东;[D];中国地质大学(北京);2009年
徐勇;[D];武汉理工大学;2006年
张丰;[D];浙江大学;2007年
唐桂文;[D];首都师范大学;2008年
中国硕士学位论文全文数据库
余盼盼;[D];国防科学技术大学;2010年
严海颖;[D];重庆大学;2003年
王军;[D];哈尔滨师范大学;2010年
逯永光;[D];中国地质科学院;2011年
潘媛媛;[D];武汉理工大学;2006年
杨坤鹏;[D];同济大学;2008年
余旭;[D];武汉大学;2005年
张卓然;[D];湖南大学;2008年
邹滨;[D];东北师范大学;2006年
郑良仁;[D];兰州大学;2007年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
同方知网数字出版技术股份有限公司
订购热线:400-819-82499
在线咨询:
传真:010-
京公网安备74号}

我要回帖

更多关于 hr共享服务中心模式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信