用于访问物理数据存储器中的文件的系统和方法技术方案

技术编号:2824040 阅读:177 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种用于访问物理数据存储器中的文件(70)的系统,该系统包括应用编程接口(API)层(10),API层(10)包括对类Java.io.file(12,50)进行扩展以包括用于文件访问请求的方法的API(11,60)。所述系统还包括至少一个内部层(20),该内部层(20)将文件访问请求转换为数据库调用。最后,所述系统包括具有数据库(100)的存储层(40),该数据库(100)适用于响应于数据库调用来访问物理存储器。

【技术实现步骤摘要】

本专利技术涉及一种用于访问数据库的物理数据存储器中的文件的系统和 方法。
技术介绍
通常,数据库的文件存储在物理数据存储器,例如RAID系统中,其 中使用某种文件一文件夹结构安排文件。如果要执行对期望文件的搜索, 需要打开并检查物理存储器中包含的每个文件夹和文件。这是由操作系统 执行的标准过程。需要访问文件的在客户端上运行的应用程序必须提供适当的机制,来 发起这种过程。在本领域中,可经由众所周知的编程语言Java使用工作空 间版本和配置管理应用编程接口 (WVCMAPI)存储和获取XML数据库 的文件。WVCM API的描述例如可在A印:〃www.wek/av.org/Je/tov/wvcm 找到。在内部,WVCMAPI在使用WebDAV协议,该协议是HTTP协议 的扩展。然而,WVCM API的抽象级别是相当低的并且用于简单的文件存储、 读取和查找所花费的努力是非常大的。特别地,开发者必须知道WebDAV 协议和WVCM API的略显复杂的原理。此外,仅仅可能通过在文件一文 件夹结构中进行递归式移动并读取每个文件夹和文件来搜索数据库中的文 件和文件内容。换言之,为了查找特定文件,每个文件夹和文件内容必须 在通信线路上发送到客户端,以便由在客户端上实现的逻辑在本地进行分 析。很明显,该方法是缓慢且效率低的,因为在获得所请求的文件之前, 它需要客户端和数据库服务器之间通信线路的大量带宽。因此,本专利技术下的技术问题是提供一种系统和方法,其方便了对数据 库的物理存储器中文件的访问且由此克服现有技术的上面概述的缺点中的至少一些。
技术实现思路
在本专利技术的一个方面中,由用于访问物理数据存储器中的文件的系统 解决该问题,所述系统包括应用编程接口 (API)层,该API层包括扩展类Java.io.file以包括用于文件访问请求的至少一个方法的API。所述系统 还包括至少一个内部层,该内部层将文件访问请求转换为数据库调用。最 后,所述系统包括具有数据库的存储层,该数据库适于响应于数据库调用 来访问物理存储器。通过本专利技术获得的优点之一是通过利用用于文件访问请求的方法对类 Java.io.file进行扩展而为数据库应用程序的开发者赢得了编程效率。 Java.io.file对所有有经验的Java开发者来说是众所周知的。它对于定位、 读取和查找文件提供了简单且有效的接口。学习基于Java.io.file的、用于 文件访问的新接口仅需要很少的努力。在一个实施例中,扩展了类Java.io.file的API包括用于查找文件、获 取文件、搜索文件内容且获得文件版本的方法。优选地,扩展的方法不直 接访问数据库的文件系统,而是访问内部层。然而,取决于特定实施方 式,在扩展的API中可能存在更多的或仅一部分的所述方法。在一个实施例中,所述至少一个内部层优选地适用于将文件访问请求 转换为XQuery调用,其中扩展了类Java.io.file的API可包括用于通过内 部层发起执行XQuery调用的方法。XQuery是用于例如使用通常在XML 数据库中提供的索引来查询该数据库的高效率语言。根据本专利技术的另一方面,内部层可根据HTTP协议的WebDAV扩展 将文件访问请求转换为调用。将内部层用于这种转换有效地对客户端屏蔽 了 WebDAV协议的细节,该客户端仅仅关心扩展后的基于JAVA的API。 WebDAV协议扩展了 HTTP的功能,以便通过提供用于创建可交互操作 的、协作性的应用程序的网络协议来使得分布式创作(authoring)变得方 便。在本专利技术的一个实施例中,在数据库服务器上提供内部层和存储层两者。结果,可减少客户端逻辑并且仅仅在从数据库到客户端的通信线路上发送必要的内容。在进一步的从属权利要求中定义了所述系统的另外可能的改进。 根据另一方面,本专利技术涉及一种用于使用任一上述实施例的系统来访问物理数据存储器中的文件的方法。附图说明在随后的详细描述中,参考下面的附图进一步描述本专利技术的当前优选 图1:本专利技术的示例性实施例中的系统的各层的示意性表示;图2:本专利技术的示例性实施例中的类Java.io.file的扩展的示例。图3:利用根据本专利技术的系统的实施例在数据库中存储文件的过程的 示意性表示;图4:利用根据本专利技术的系统的实施例获取数据库中的文件的过程的 示意性表示。具体实施例方式在下面,参考访问XML数据库的文件来描述本专利技术的当前优选实施 例。然而将会理解,本专利技术不限于访问这种数据库的XML文件。相反, 本专利技术的原理可应用于访问数据库的任何物理存储器中的任何类型的文 件。但是, 一个重要的示例是面向服务的(软件)架构SOA的注册表 (registry) /储存库的例子。在SOA中,对于网络中的用户来说,各种处 理对象作为可以用标准化方式访问的独立服务而可用。SOA的对象基于独 立于底层硬件和软件平台以及编程语言的形式化定义而交互操作。管理SOA是复杂且困难的任务。管理诸如web服务之类的处理对象 的整个全景的概观对于保证使用各个处理对象的应用程序正确操作来说是 重要的,所述web服务中的一些可随时间推移而动态改变。因此,本专利技术 的申请人开发了在商标CentraS iteTM下可得到的集中式注册表/储存库。CentraSite实际上是XML数据库,其包括对处理对象特别是SOA的web 服务的描述,等等。Web服务可由web服务描述语言(WSDL)文件来描 述。WSDL文件包含关于各个web服务的功能、数据、数据类型和交换协 议的典型信息。想要向某个web服务发送请求的客户端可从CentraSite获 得WSDL文件,以得知如何访问该web服务。因此,对CentraSite中存储 的WSDL文件的有效访问对于SOA的设计时和运行时都是重要的。可用本专利技术有效访问的数据库的另一示例,可由申请人的Tamino XML服务器提供,该服务器是使用因特网技术进行数据管理的通用XML 服务器。图1给出了根据本专利技术实施例的系统各层的概观。如所看到的,存在 包括客户端2的应用程序层1。客户端例如可以是需要访问CentmSite数据 库中的某些WSDL文件的SOA开发者或者应用程序,该应用程序在运行 时期间动态选择某个web服务,并且该应用程序还需要访问WSDL文 件,以便得知如何寻址web服务。为了发送文件访问请求,客户端2使用另一层即所谓的API层10中 的API 11。如下面参考图2进一步描述的,通过用于访问文件的方法, API 11扩展了 Javaio.file 12。在一个实施例中,该扩展称为 WebdavFile。取决于客户端2所调用的方法,图1系统中的下一层即 内部层20将调用转换为适当的数据库请求。为此,内部层20根据 WebDAV协议(HTTP协议的WebDAV扩展),例如通过使用工作空间 版本和配置管理API (WVCMAPI) 23在一个实施例中生成数据库请求。因此,本专利技术使用数据库中存储的文件和文件夹的基于Java.io.file的 视图,而无需直接访问WVCM API。这使得开发者易于上手,因为所有的 Java程序设计员都熟悉Java.io.file类。在图1中还示出的另一实施例中,API11的方法调用被査询API21转 换为XQue本文档来自技高网...

【技术保护点】
用于访问在物理数据存储器中的文件(70)的系统,该系统包括:    a.应用编程接口(API)层,该应用编程接口层(10)包括应用编程接口(11,60),该应用编程接口(11,60)扩展了类Java.io.file(12;50)以包括至少一种用于文件访问请求的方法;    b.至少一个内部层(20),该内部层将文件访问请求转换为数据库调用;和    c.包括数据库(100)的存储层(40),该数据库(100)适用于响应于所述数据库调用来访问所述物理存储器。

【技术特征摘要】
EP 2007-4-11 07007391.11.用于访问在物理数据存储器中的文件(70)的系统,该系统包括a.应用编程接口(API)层,该应用编程接口层(10)包括应用编程接口(11,60),该应用编程接口(11,60)扩展了类Java.io.file(12;50)以包括至少一种用于文件访问请求的方法;b.至少一个内部层(20),该内部层将文件访问请求转换为数据库调用;和c.包括数据库(100)的存储层(40),该数据库(100)适用于响应于所述数据库调用来访问所述物理存储器。2. 如权利要求1所述的系统,其中扩展了所述类Java.io.file (12, 50)的所述应用编程接口 (11, 60)包括用于查找文件(70)、获取文件(70)、搜索文件(70)内容和获得文件(70)版本的方法。3. 如权利要求1或2所述的系统,其中扩展了所述类Java.io.file (12, 50)的所述应用编程接口 (11, 60)包括用于在数据库(100)处进行验证的方法。...

【专利技术属性】
技术研发人员:拉尔夫温克尔杰拉尔德里斯托
申请(专利权)人:软件股份公司
类型:发明
国别省市:DE[德国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1