提供对远程资源数据的访问的方法和数据处理系统的制作方法

文档序号:6462339阅读:143来源:国知局
专利名称:提供对远程资源数据的访问的方法和数据处理系统的制作方法
技术领域
本发明涉及网络计算领域。本发明尤其涉及用于经远程服务为应 用程序提供对远程资源的访问的方法和系统。
背景技术
图l给出了现有技术中系统架构的概况图。
整个系统1包括具有经网络服务4的网络连接的远程计算机3 和本地计算机2。
本地计算机2是执行应用程序21并主机访问文件系统25上的文 件2511。应用程序21可被理解为需要通过环境变量定义访问文件的 本地计算机2上的可执行文件。因此,其调用所谓的环境变量访问服 务211。
借助这样的现有技术,可以由运行在本地计算机上的应用程序访 问本地文件系统的数据。也可以通过安装在其上的本地文件系统管理 甚至透明地访问远程计算机的数据。因此,本发明涉及不关心如今的 网络访问、而从它们的角度来看仅依赖于本地数据访问的所有应用程 序或系统。
随着越来越多地使用因特网,出现了对于透明地访问超出所安装 的文件系统的作用域的数据的需求.如果数据驻存在因特网上或甚至 内联网上,则数据由于一些原因而通常不能通过文件共享机构而可 用,且经常只能利用URL位置经由基于浏览器的服务被访问。然而, 这是不利的,因为许多应用程序并不具有浏览器功能。

发明内容
本发明的目的是提供一种用于本地运行应用程序的机制,其使得应用程序在不对它们的程序源代码进行任何改变的情况下也能够动
态地使用因特网或内联网上URL寻址的数据。
本发明的目的是通过所附的独立权利要求中所给出的特征实现 的。本发明的其他有利结构和实施例在各从属权利要求中给出。下面 应该参考所附权利要求书。
本发明使用这样的思想,即程序员可通过某些环境变量定义要搜 索的URL位置,且操作系统在碰到对环境变量的读取时提供用于本 地访问的相关数据,从而引用环境变量搜索路径的应用程序不知道数 据是在URL位置上还是通过传统的文件系统层被找到。
本领域熟练的程序员能够将所要求的URL定义放入环境变量 中。URL定义遵从包括文件、HTTP、 FTP或其他访问机制的官方 URL标准。如按照现有技术操作环境变量所暗示的那样,操作系统具 有提供对位置的访问的任务,操作系统为使用本发明形式的环境变量 的应用程序提供相应服务。进一步,在下文中,这些服务在本地和远 程计算机系统上分别被称为"远程数据访问服务,,和"远程数据提供者 服务"。
对于应用程序透明的这类服务的一种优选实现包括创建可被定 义为"动态变量"的新型环境变量的思想.这样的新变量的处理可以在 可特定于所使用的操作系统地实现的系统提供配置字段中被定义,或 者可创建仅列出动态环境变量的新的保留的系统环境变量,诸如"dyn vars"。 一个例子可以是
Dyn vars = x_path (1 min), y_j>ath (10 min), z__path (6 h); 时 间指示是欢认的刷新时间,其中在该默认的刷新时间之后,URL被再 次检查并最终被更新。
一个可替换的方法揭示了为变量定义保留的提出的或前缀的指 示符,以便将变量标记为动态的.例子可以如下
x_path (1 min)=
http:〃svn,anache.or2/viewvc/ant/core/trunk/src/resources/ 或<formula>formula see original document page 7</formula> 其中 刷新时间是默认设定。
定义为"动态的,,的变量触发操作系统来为包含URL的数据引用 的每个URL创建所谓的映像区(shadow area)。 因此,可创建将以 被称为"刷新"时间的预定时间间隔被同步的 一 种映像池存储区 (shadow pool storage area )。如上面所看到的那样,同步参数也可 被实现为定义的一部分,变量是动态变量。映〗象存储池的位置在某些 地方被定义在操作系统配置中。此外,可激活文件系统收听站(file system listener),其检测对这样的映像池存储区中文件的访问。如果 是,则其可触发被请求文件或来自远程位置文件的更新,而非以规则 间隔更新。这会允许对远程资源的一致的本地高速緩存。
其优点在于,当应用程序读取环境变量时,URL可以被文件系 统上的映像(shadow)位置替代,这因此对于应用程序是透明的。因 此,如本领域技术人员可理解的那样,在要实现本发明的特征时,应 用程序的源代码不需要被改变。
本发明方法的另一实现包括提供用于访问由这样的环境变量编 码的信息的新服务,这允许操作系统在搜索路径中搜索文件,其中如 果找到路径,则还使文件可用于读取访问。通过该方法,于是使应用 程序能够及时地按请求查询URL资源,发现、即定位例如目录位置 所指示的文件,且如果请求,甚至使文件可本地访问。如果URL是 有效URL,且如果在这样的定义后找到实际资源,则被请求资源的位 置仅是^ii,对远程数据的实际访问然后涉及从URL位置下栽到本 地区域(如上所述的映像区),用于使能通过现在被重定向指向下载 路径的现有技术访问方法访问程序.因此,应用程序仅定义包含要访 问的成员和URL的环境变量,并且然后将找回文件系统中成员的实 际位置。URL的验证及下栽本身然后是对于应用程序隐藏的底层操作 系统所执行的服务。
按照下面将进一步声称的本发明的最基本的方面,公开了一种用于为由可网络连接的计算机的操作系统的一部分所执行的、优选地由 "扩展环境变量管理器"所执行的应用程序提供对远程资源的访问的
方法,该方法的特征为包括以下步骤
a) 扫描所述应用程序的环境变量的值,以确定URL记号的出
现,
b) 调用远程功能以访问在所述扫描过程中所发现的URL,以 便请求与所述URL相关的远程资源,
c )在预分配的高速緩存存储器部件中存储所述远程资源, d) 侦听(listen)对预分配的高速緩存存储器的访问,以在不
将启动更新的情况下确保最近(most current)的数据被存储在高速
緩存存储器中。
优选地,从包括以下内容的组中选择远程资源
a) 存储在远程文件系统中的 一个或多个文件,
b) 包含远程系统中文件的一个或多个目录,
c) 保持可被存储为本地文件实例的信息的数据仓库 (repository)或数据库。
优选地,基本方法可通过以下步骤序列扩展
a) 如果在上述扫描步骤中找到URL位置,则检查是否存在被 分配给与所述URL记号相关的远程资源的本地高速緩存存储器部件,
b) 如果不存在存储器部件,则分配相应部件,并在本地高速 緩存存储器部件中存储所述远程资源,
c) 如果存在分配的存储器部件,则在所述本地高速緩存存储 器部件存储所述远程资源.
进一步,笫二组件、例如环境变量值提供器执行用于经环境变量 为应用程序提供对远程资源的访问的方法,该方法的特征在于包括以 下步骤
a) 响应于来自应用程序的请求,请求环境变量的值, b ) 扫描环境变量值以寻找URL记号,
c)如果发现URL记号,则利用指向高速緩存存储器部件的引用代替所述URL记号,
d) 启动用于高速緩存存储器的文件系统收听站,以验证与远 程数据位置的一致性。
上述环境变量管理器和环境变量值提供器通过使用适当的操作 编程接口密切配合。控制器优选地与应用程序的运行时间异步地工 作,并提供相应的URL数据。在编译后的可执行应用程序的运行时 间中,环境变量被提供器组件读取,该提供器组件至少转发控制器程 序所生成的数据在文件高速緩存中的高速緩存副本,而如果其不可 用,则发出相应的错误消息。


本发明以示例的方式被说明,但不限于附图所示的形式,其中 图1示出了用于现有技术方法的现有技术硬件和软件环境的最 基本结构组件,
图2示出用于本发明方法一个优选实施例的本发明硬件和软件 环境的最基本结构组件,
图3A和3B示出本发明方法一个优选实施例的最重要步骤的控 制流程,
图4、 5、和6示出本发明所使用的某些方面的示例性实现。
具体实施例方式
参考附图、尤其参考图2说明本发明一个优选实施例中所使用的 结构和功能組件。其中一些组件如现有技术中所存在的那样被使用, 而其他組件则被修改以便符合典型的本发明功能和结构的要求。
图2给出系统说明。
整个系统1包括具有经网络服务4的网络连接的远程计算机3 和本地计算机2。
本地计算机2是执行应用程序21并主机访问(host access)文 件系统25上的文件2511的系统。应用程序21应被理解为需要通过环境变量定义访问文件的本地 计算机2上的可执行文件。因此,其调用所谓的环境变量访问服务211。 在这方面,这对应于图1,
参考环境变量访问服务211,下面进一步给出允许检索环境变量 的内容以由应用程序进一步处理的不同编程语言中的几种示例性访 问方法。对于指向文件位置信息的环境变量,可调用数据访问服务, 以从指定的位置路径检索文件。
现有技术应用程序的主要元素是所谓的数据访问服务212。
应用程序的这个部件将获得位置路径信息作为可能通常来自环 境变量、或可替换地来自应用调用参数的一系列数据位置规范 (specification),基于该输入,应用程序将试图获得对可能位于给定 位置搜索路径上的一个或多个文件的内容。因此,对于每个路径,服 务将试图访问文件,且如果找到了,则将引用文件的内容,或者如果 是输出位置,则文件可被写到那里。如果文件系统25收听站被激活, 则在给予该配置和访问权限的情况下甚至可触发将所创建的文件更 新到远程系统。
命令解释程序(command shell) 22是本地计算机2的操作系统 的另一组件,其表示到其用户的接口,用于通过关键字和相关值242 定义和改变环境变量定义22a。为了内部表示,所输入的格式被传递 到所谓的环境变量管理器24。
而且,请求显示所存储的环境变量的请求将经命令解释程序22 到达,其中其将请求环境变量的信息并将它们显示在其表达空间 (presentation space)中。
命令解释程序22的实现取决于操作系统;甚至可能存在不同版 本可用于相同操作系统。
WINDOWS和UNIX处理环境变量的方式相似,而例如IBM z/OS工作方式不同。然而,对于通过关键字引用的文件规范方面,存 在高度相似性,在IBMz/OS上,人们可通过命令解释程序分时选项 (TSO)或通过经JCL的批处理提交系统(Batch submission system )JES指定允许定义调用应用程序已知的关键字和一 系列数据集名称 (对应于WINDOWS或UNIX中的文件路径)的DDNAME。
环境变量定义命令22a通过命令解释程序环境向由底层操作系 统所提供的应用程序环境示出命令及其用于定义环境变量的语法。可 通过多种方式进行定义。用户可在命令解释程序中键入命令。命令可 通过解释程序脚本(shell script)执行。可以提供GUI接口以输入环 境变量定义。
环境变量关键字22b表示在应用程序中被用于引用相关值的环 境变量的名称。
文件系统路径22c可被定向到本地位置;图中给出了一个指示可 映射到本地系统2的目录位置251a的目录路径的例子。
文件系统路径22d可被定向到远程位置;图中给出了 一个通过经 由远程数据访问服务23和远程计算机3的远程数据提供器服务31的 文件共享访问指定可映射到作为本地文件系统2 —部分的远程目录位 置351a的目录路径的例子。
文件系统路径22e可被定向到本地位置;图中给出了指定可映射 到目录位置251b的目录路径的例子。
图中给出的环境变量值22f包括元素22c、 22d、和22e。通过关 鍵字从应用程序引用环境变量关鍵字的内容。值的格式不被严格地限 定。其可以是任何字符串。然而,为了指定路径和文件位置,已经建 立了应用程序可依赖的特定语法,并且该特定语法允许将路径限定为 路径列表,其中在WINDOWS中每个路径以";,,分隔,而在UNIX 中使用""。系统定义的变量是用于当在命令行窗口中被调用用于执 行时保持要被检索的可执行程序文件的位置的路径变量.
其他普通变量是Java虚拟机的类路径或者包含动态调用的库 (lib).而且,帮助文件的定义包括编译器的文件,并且存在其他文 件相关变量。在IBMz/OS上,DDNAME概念被用于将要搜索的数 据集的路径定位到一名称。通过该方式,DDNAME可被看作是具有 鍵/值对(key/value pair)的环境变量。定义变量的机制不同,但思路相同。
环境变量用户服务221是作为操作系统命令解释程序一部分的 服务,其具有定义和检索环境的功能。
远程文件访问服务23实现允许通过文件月良务器向远程数据提供 器请求数据以便将远程文件存储安装到本地文件系统25的方法。文 件收听站可被相关联,以使能由应用程序21所访问或创建的文件的 寿命更新(life date)。环境变量管理器24将管理通过服务211或服 务221所输入或修改的被定义环境变量的列表。
环境变量表240包含预先定义的环境变量的键值对(key-value pair),实际上,对于多用户系统可能存在具有不同作用域的多个表 格,或一个表格用于所有用户,而其他表格是对于各个用户专用的。 然后,如果需要,则管理器24通过用于相同环境变量的表格创建搜 索路径。
环境变量键(environment variable key) 242将表示列表中用于 表示位于表格240列242中的相关值的环境变量关鍵字。
环境变量活动值(active value ) 242将表示应用程序21通过服 务211所使用的与列241相关联的实际环境变量值。
文件系统25提供用于本地计算机系统2中文件的永久存储位置 和用于对映像池区域的改变和访问的文件系统收听站。
路径位置251提供要被存储在文件系统25内的文件的位置.
文件2511包含要在限定的路径位置251a或251b被存储在文件 系统25中的永久数据。
远程计算机3通过网络连接4连接到本地计算机2,其中网络连 接4允许在两个文件系统35和25之间传送文件数据。
远程数据提供器31是远程计算机3上的Ji艮务,其允许以远程数 据被虚拟地看作本地数据的方式通过本地文件系统25访问层从本地 计算机2访问文件。这样的服务的例子是LAN共享、AFS、 NFS或 SAMBA。
远程文件系统35在远程系统3上的功能与文件系统25在本地计算机2上的功能相同。
远程路径位置351a和351b在远程系统3上的功能与路径位置 251a、 b在本地计算机2上的功能相同。这同样适用于远程文件3511a -d。
网络服务4是允许远程数据提供器31和远程数据访问服务23 之间通信和数据传送的现有技术方法。
根据本发明,通过用于不仅检索传统格式、而且还检索环境变量 定义命令22a的输入值的附加服务对命令解释程序22进行扩展。还 通过用于允许进一步配置扩展表格240以定义用于各个远程引用的高 速緩存间隔和高速緩存位置的服务对其进行扩展。
注意,对于本发明,传统的命令解释程序是相关的,然而对于用 于定义、修改和显示环境变量的用户交互,可以提供可替换的用户接 口、诸如图形用户接口 (GUI)作为对命令解释程序的替换。然而, 它们将以与如现有技术中命令解释程序对表格24相似的方式对表格 24进行交互。
对于在IBM z/OS操作系统中实现的本发明一个优选实施例, DDNAME的现有技术概念和功用将被如下地扩展。
环境变量用户服务221是作为操作系统的命令解释程序一部分 的具有定义和检索环境的功能的服务。
远程文件访问服务23实现允许通过文件服务器向远程数据提供 器请求数据、以将远程文件存储安装到本地文件系统25的方法。
环境变量管理器24将管理通过服务211或服务221所输入和修 改的被定义环境变量的列表。
环境变量表格240包含预先定义的环境变量的键值对。实际上, 对于多用户系统可能存在具有不同作用域的多个表格,或一个表格用 于所有用户,而其他表格对于各个用户是专用的。然后,如果需要, 管理器24将通过用于相同环境变量的表格创建搜索路径。
环境变量鍵242将表示列表中用于表示位于表格240列242中的 相关值的环境变量关鍵字。环境变量活动值242表示由应用程序21通过服务211使用的与 列241相关的实际环境变量值。
文件系统25提供用于本地计算机系统2中文件的永久存储位置 和用于对映像池区域的改变和访问的文件系统收听站。
路径位置251提供要被存储在文件系统25内的文件的位置。
文件2511包含要在定义的路径位置251a或251b被存储在文件 系统25中的永久数据。
远程计算机3通过网络连接4连接到本地计算机2,其中网络连 接4允许在两个文件系统35和25之间传送文件数据。
远程数据提供器31是远程计算机3上允许以远程数据被虚拟地 看作本地数据的方式通过本地文件系统25访问层从本地计算机2访 问文件的服务。这样的服务的例子是LAN共享、AFS 、 NFS或SAMBA 。
远程文件系统35在远程系统3上的功能与文件系统25在本地计 算机2上的功能相同。
远程路径位置351a和351b在远程系统3上的功能与路径位置 251a、 b在本地计算机2上的功能相同。这同样适用于远程文件3511a 一d。
网络服务4是现有技术方法,其允许远程数据提供器31和远程 数据访问服务23之间的通信和数据传送。 远程数据访问服务23:
该实现是本发明方法的一部分,并且允许通过URL记号和相关 网络服务向远程数据提供器服务31请求数据(细节参看下面描迷), 并将其写到本地高速緩存26.这通常是从远程的只读过程和到本地髙 速緩存26的写。然而,根据提供给管理器24的指定协议,其还可以 触发从高速緩存回到指定URL的数据的更新。
文件高速緩存26:
文件髙速緩存26是本地文件系统的一部分,且其位置在以某种 方式通过管理器24预先定义或配置的本地文件系统中。还可以通过 2.4限定高速緩存的属性,诸如文件系统收听站为了利用来自远程文件系统35的文件更新高速緩存或将所创建的文件写到远程文件系统 35 (在这样限定的情况下)而采取的动作或高速緩存的间隔。
文件高速緩存路径261和被高速緩存的文件2611a、 b、 c、 d如 现有技术中那样定义。
远程数据提供器31:
这是远程计算机3上的服务,其等待通过URL请求的远程请求, 以提供服务器的文件系统的被请求数据。 经URL的网络访问机制4:
其提供通过给定URL定义并由本地计算机上的服务23n和远程 计算机上的服务31协调的通信和数据传送机制。
URL格式2.2d.n是路径规范的一部分,其表明URL格式现在取 代前面的路径规范以经不同协议、诸如http://、 https://、 ftp://、以及 甚至file:〃访问数据。
URL方案或协议22dl定义要用于访问经元素22d2和22d3所指 定的数据的方法,其中URL服务器22d2定义用于保持数据的服务器 位置,和URL数据位置信息22d3提供访问远程数据的信息。
数据实际存在的位置对于用户而言是透明的。
在服务器侧,服务23n和31负责将字符串映射到服务器上实际 数据位置中,以将其引到本地文件系统。
本发明的具有URL的环境变量定义命令22a与现有技术中的命 令22a的不同之处在于现在URL的规范以特殊方式被处理,如果出 现URL,则不同实现可以选择各自不同的方式来触发环境变量定义的 处理。命令22a可在关鍵字中创建特殊指示符以标识处理,诸如"$ path =..."。还可以存在单独的配置过程来明确标识要以特殊方式处 理的环境变量或甚至要特殊处理的值中的字符串或任何组合.
按照本实施例,环境变量管理器24以某种方式如下所述地被扩

扩展的管理器24将通过环境用户服务221采取预先定义的环境变量定义命令22a,并将其分析(parse)为环境变量关键字22b、文 件系统路径22c、和22d。那些元素将被输入到尤其扩展的表格240 的新创建条目243abc中。
如果发现远程数据访问格式看起来类似于命令22a中的,则下面 将研究这些条目243中的每一个。如果是,则请求将被传递到远程数 据访问服务的本发明版本23n,以便将该文件位置规范中被引用的文 件高速緩存到本地高速緩存26。
本地高速緩存26的条目位置然后被输入到表格条目242a、 b、 c中。
假定本发明的命令22a是现有技术命令的一部分,则条目241a、 b、 c被存储在条目243a、 b、 c中。
然而,本发明的环境变量管理器24将用相应的文件高速緩存位 置262代替条目241a、 b、 c。如果所有远程引用在命令22a中被替代, 则仅包含对本地文件系统路径的引用的新命令22a将被存储到条目 242a、 b、 c中,用于供应用程序21和命令解释程序22实际使用。
除了该基本映射之外,本发明的管理器24可以保持附加的配置 值,诸如默认的高速緩存间隔和高速緩存位置。其还可以为特殊远程 访问规范、诸如命令22a保持特殊的高速緩存位置和高速緩存间隔以 及用于优化管理的其他需要的属性。
通常,指定的URL指向只读位置,从而对于远程数据访问服务 23的本发明版本,仅启动从远程到本地的高速緩存。
然而,如果URL还允许写功能,则用于鉴权的附加信息可供本 发明的管理器24使用,以然后启动对本发明的服务234的更新请求, 从而将高速緩存同步到远程位置。
扩展的环境变量表格240:
该表格240的结构和功能与上面对于元素240所描述的基本相 同。唯一的差别是添加笫三列243以区分新的列243中的被输入值与 已经存在的列242中的被使用值。在现有技术中,所使用的列总是与 预先限定的列相同。环境变量的扩展定义243:
按照该实施例,这表示外部定义值,其然后^L管理器24分析用 于诸如附图标记22dl、 22d2、或22d3所给定的格式的远程引用。根 据用于标识特殊处理的给定管理方案(administrative solution ),其 然后也将环境关键字分析和格式化为要在条目241a、 b、 c下被存储 和找到的传统预期的关键字。
然后,管理器24将启动远程文件的高速緩存,并将被高速緩存 的文件的本地文件位置添加到条目242a、 b、 c中,从而应用程序21 可以以传统的本地访问方法透明地访问被定义为远程数据的数据。
基于上述功能,除了前面的说明之外,还将通过下面的控制流程 描述并结合图3说明本发明方法
对于上述背景技术结尾处所指出的目的,不是使用通过本地文件 系统指向远程服务器的位置信息,而是如下地实现经URL的访问
在应用开始之前,环境变量必须在步骤310中通过向命令解释程 序22发出命令22a而被设定以适当值。 一个具体例子中的命令可以 是"SET $ path = c:\appll\lib; protocol:〃server/path; c:\tools"。
在下一步骤315中,命令解释程序将值22f传递到环境变量用户 服务221。
在下一步骤320中,环境变量用户服务221将环境变量定义22b 和22f提供给管理器24 (参看图2);在我们的例子中,"$path = c:\appll\lib; protocol:〃server/path; c:\tools"。
在步骤325,管理器24将定义语句存储到表格240的列243中。
在步骤330,管理器24然后分析出键(key)和值,并在步骤335 中将它们存储到环境变量表格240中,对于鍵,其将取"Spath",并 且对于值,其将取"c:、applhlib; protocol:〃server/path; c:\tools"。
在步骤335,键进入列241。其可以包括某种重新格式化为传统 格式中的预期鍵值.在示例性情形中,"$"被剥离,且被存储到条目 241a中的值是"path"。
如果判断240确定键值指示没有URL记号的特殊处理,则在步骤345中,分析值被存储到条目242中且工作完成。
如果具有处理标记在我们的情形中,键开始于"$" 则值字符 串在步骤350被分析以标识路径元素,在示例情形中路径元素被";,, 分隔。因此,文件系统路径22c、 22dn和22e被标识。它们中的每一 个被检查,以确定其是否包含导致多个判断355的URL定义,诸如 在示例情形中的URL定义22dn。
对于被检测的URL中的每一个,将在判断355的"是"分支中执 行下面的步骤
在步骤360中,将URL传递到处理远程数据的访问的远程数据 访问服务23n。
该服务23n将请求转发到位于远程系统3的远程数据提供器服务 31,以便在步骤360中从其文件系统35获得URL位置内的文件。 下面示出这样的过程的一个例子
经http访问来自CVS库的数据的例子_
参看位于h加〃cvsgrab.sourceforge.net/的工具文档
数据访问的例子
cvsgrab - url
h加〃cvs.aDache.org/viewcvs.cgi/aiit/ onlv with tag=ANT 16 BRANCH_
在本例中,URL httD:〃server.com/path将指向目录位置351a。
在步骤365,服务23n获得所有来自31的文件,诸如在该例子 中是文件3511a和3511b,并在步稞370中在位置261a将它们存储到 本地高速緩存26中,从而存储到文件2611a和2611b中。可通过发 现文件仍在sync中或识别改变的那些文件而优化该下栽过程,
在步骤375中,返回的高速緩存路径261a被用于代替环境变量 值22f中的URL定义。在该例子中,"http:〃server.com/path,,被 "d:kache、snApathx"取代。
根据实现,环境变量管理器24现在可以以预定时间间隔通过服 务23n触发高速緩存的更新380。这是也开始于每次启动本地计算机的无限循环。
如果判断385确定所有检测到的URL被处理,则被分析的环境 变量的值22f将不具有URL,但将包括相应的本地文件路径。因此, 字符串"c:\appll\lib; http:〃server.com/path; c:\tools"被变换为 "c:\appll\lib; d:\cache\srv\pathx; c:\tools"。该字符串现在变成环境变 量供使用,并因此将被存储到条目242b中,参看步骤395。
pathc:\appll\lib; d:\cache\srv\ pathx^ c:\tools$ path=c:\appU\lib; httu:〃server.com/Dath: c:\tools

如果URL被重新定义,即被修改或被从值部件22f中删除,则 旧的URL将被"清除",这意味着上面步骤380中的更新请求被停止, 且相关的高速緩存被删除。
在判断385的"否,,分支中,控制被反馈到步骤360,以便重新进 入循环体以处理下一 URL。
本发明方法中所使用的用于通过应用程序21检索环境变量内容 的控制流程遵从图3A和3B中所给出的方案,因为应用程序21具有 相同的接口到管理器24,并仅获得指向本地文件系统的路径位置。
特别地,在本地计算机系统上运行的应用程序可以以参数被调 用,以每次调用时定义其行为。然而,便利地是,有时通过环境变量 提供标准调用参数,从而系统可在调用后读出它们,为此,每个应用 程序具有限定的一组要在调用之前设定的环境变量,其将被用于获取 它们的内容用于进一步处理。
应用程序发布上述方法中之一。因此,对于本例,应用程序需要 "path"的值.
现在,找回环境变量的值。在示例情形中,值为c:\appll\lib; d:\program2\includes; c:\tools。
这同样适用于应用程序21在访问文件数据时所执行的控制流程,因为应用程序21仅从管理器24获得本地文件系统位置格式,且 不要求数据的实际位置,本质上仅可通过URL请求到达。
应该注意,这在某些意义上与环境变量的实际使用无关。应用程 序由于某种原因只必须获得具有要搜索的文件路径的字符串。并且, 这可以是通过环境变量或参数传递或其他方法或甚至任何组合,以获 得这样的搜索路径。应用程序21通常被编写,其不知道数据实际驻 存在哪里。仅假定其需要访问本地文件系统组件,而且不必由其自身 提供网络服务。
通过给定的搜索路径,应用程序现在查找文件以使用,并由其自 身或某种现有服务发出服务从而以搜索路径中所给定的顺序访问每 个路径并测试文件是否存在。注意,对于应用程序,文件是否在远程 服务器上是透明的,因为这通过本地文件系统处理。
如果找到文件,则路径被发现,且文件的内容可被读取或文件可 以应用程序希望的方式被处理。
最后,为了公开的完整性,给出某些示例性实现
图4中给出了从http资料库(http r印ository )到本地高速緩存 访问文件的一个例子。
图5示出了对于环境变量访问服务211的Java代码例子。
图6示出了用于访问环境变量的标准API。
对于Windows命令解释程序,通过以下代码示例给出环境变量 用户服务221:
Create environment variable entries (仓J建环境变量条目)
SET INCLUDE=C:\Program Files\ObjREXX\API
SET TEMID=wuclientde
SET LIB=C:\Program Files\ObjREXX\API
用于侦听命令解释程序中环境变量的一个例子是
SET INCLUDE
本发明可采取完全硬件实施例形式、完全软件实施例形式或既包 含硬件也包含软件元素的实施例形式。在一个优选实施例中,本发明以软件实现,包括但不限于固件、驻存软件、微代码等。
而且,本发明可采取可从用于提供由计算机或任何指令执行系统
使用或与其结合使用的程序代码的计算机可用或计算机可读介质访
问的计算机程序产品的形式。
为了本说明书的目的,计算机可用或计算机可读介质可以是能够
包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设
备^^用或与其结合使用的任何装置。
介质可以是电子的、磁性的、光学的、电磁的、红外的、或半导
体的系统(或装置或设备)或传播介质。计算机可读介质的例子包括
半导体的或固态的存储器、磁带、或可移动计算机磁盘、随机存取存
储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前 例子包括压缩光盘只读存储器(CD-ROM )、压缩光盘读/写(CD-R/W) 和DVD。
适于存储和/或执行程序代码的数据处理系统包括至少 一个直接 地或通过系统总线间接地耦接到存储元件的处理器。存储元件可包括 在实际执行程序代码过程中所采用的本地存储器、大容量存储器、和 提供至少 一些程序代码的临时存储以便减少在执行过程中必须从大 容量存储器检索代码的次数的高速緩存存储器。
输入/输出或I/O设备(包括但不限于鍵盘、显示器、点击设备 等)可直接或通过中间1/0控制器耦接到系统。
网络适配器也可被耦接到系统,以使数据处理系统能够通过中间 的专有或公共网络耦接到其他数据处理系统或远程打印机或存储设 备。调制解调器、电缆调制解调器和以太网卡仅是当前可用类型的网 络适配器中的一些。
权利要求
1.一种由计算机操作系统的一部分执行的用于为应用程序(21)提供对位于电子计算机网络中的远程资源的数据的访问的方法,其中所述应用程序(21)在驻留在所述网络中的计算机上执行,其特征为包括以下步骤a)扫描(330)所述应用程序的环境变量的值,以确定URL记号的出现b)调用(360)远程功能以访问在所述扫描过程(330)中所发现的URL,以便请求与所述URL相关联的远程资源(351a,351b),c)在预先分配的高速缓存存储器部件(261a,261b)中存储(370)所述远程资源,以提供对所述资源的访问,d)以规则间隔或通过文件系统事件收听站验证预先分配的高速缓存存储器部件(261a,261b)的内容,以启动从或到远程文件系统(35)的更新。
2. 如权利要求l所述的方法,其中如果请求再次访问所存储的 远程资源,则访问所存储的资源而非所述远程资源。
3. 如权利要求l所述的方法,其中所述远程资源选自a) 存储在远程文件系统中的一个或多个文件,b) 包含远程系统中文件的一个或多个目录,或c) 用于保存能够被存储为本地文件实例的信息的数据仓库或数据库。
4. 如权利要求l所述的方法,还包括以下步骤a )如果在权利要求1的步骤a )中发现URL位置(335 ),则 检查是否存在被分配给与所述URL记号相关联的远程资源的本地高 速緩存存储器部件(261a, 261b),b) 如果不存在存储器部件,则分配相应部件,并通过预定的更 新或通过文件系统事件收听站保持其更新,c) 如果存在分配的存储器部件,则在所述本地高速緩存存储器部件(261a, 261b)存储(370)所述远程资源。
5. —种由环境变量值提供程序组件执行的方法,用于经环境变 量为应用程序提供对远程资源的访问,其特征为包括以下步骤a) 响应于来自应用程序(21)的请求,请求环境变量的值,b) 扫描环境变量值以寻找URL记号,c) 如果发现URL记号,则用指向高速緩存存储器部件(261a, 261b)的引用代替所述URL记号,d) 如果文件系统事件收听站检测到应用程序对高速緩存存储器 部件(261a, 261b)的请求,则其最终将高速緩存存储器部件与远程 文件系统(35)同步。
6. —种用于为应用程序(21)提供对位于电子计算机网络中的 远程资源的访问的电子数据处理系统,其中所述应用程序(21)在驻 留在所述网络中的计算机执行,所述系统具有a) 扫描装置,用于扫描(330)所述应用程序的环境变量的值, 以确定URL记号的出现,b) 调用装置,用于调用(360)远程功能以访问在所述扫描过程 (330)中所发现的URL,以便请求与所述URL相关联的远程资源 (351a, 351b), )存储装置,用于在预先分配的高速緩存存储器部件(261a, 261b)中存储(370)所述远程资源,以提供对所述资源的访问,并 通过预定的更新或通过文件系统事件收听站将其保持最新,d)更新装置,用于从预先分配的高速緩存存储器部件(261a, 261b)更新所述远程资源,以提供对所述资源的访问。
7. —种计算机程序产品,用于为应用程序(21)提供对位于电 子计算机网络中的远程资源的访问,其中所迷应用程序(21)在驻留 在所述网络中的计算机上执行,所述计算机程序产品包括具有计算机 可读程序的计算机可用介质,其中所迷计算机可读程序包括当在计算 机上执行时使计算机执行以下步骤的功能组件a)扫描(330)所述应用程序的环境变量的值以确定URL记号的出现,b)调用(360)远程功能以访问在所述扫描过程(330)中所发 现的URL,以便请求与所述URL相关联的远程资源(351a, 351b ),c )在预先分配的高速緩存存储器部件(261a, 261b )中存储(370 ) 所述远程资源,以提供对所述资源的访问,并通过预定的更新或通过 文件系统事件收听站将其保持更新,d)在预先分配给所述远程资源的高速緩存存储器部件(261a, 261b)中存储所创建的资源。全文摘要
本发明涉及网络计算领域,尤其涉及为应用程序(21)提供对位于电子计算机网络中的远程资源的访问的方法和系统,其中应用程序(21)在驻留在网络中的计算机上执行。为了提供使本地运行的应用程序能够动态地使用因特网或内联网上URL寻址的数据而不对其程序源代码进行任何改变的用于本地运行的应用程序的机制,提出以下方法步骤a)扫描(330)应用程序的环境变量值以确定URL标记的出现,b)调用(360)远程功能以访问在扫描过程(330)中所发现的URL,以便请求与URL关联的远程资源(351a,351b),c)在预先分配的高速缓存存储器部件(261a,261b)中存储(370)远程资源,以提供对资源的访问。
文档编号G06F17/30GK101308505SQ20081009302
公开日2008年11月19日 申请日期2008年4月15日 优先权日2007年5月16日
发明者J·帕拉姆伯格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1