CN100552665C - 信息的再现独立持久性 - Google Patents

信息的再现独立持久性 Download PDF

Info

Publication number
CN100552665C
CN100552665C CNB2004100352473A CN200410035247A CN100552665C CN 100552665 C CN100552665 C CN 100552665C CN B2004100352473 A CNB2004100352473 A CN B2004100352473A CN 200410035247 A CN200410035247 A CN 200410035247A CN 100552665 C CN100552665 C CN 100552665C
Authority
CN
China
Prior art keywords
data
report
information
definition
reproduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100352473A
Other languages
English (en)
Other versions
CN1624682A (zh
Inventor
F·王
Y·M·比尔格斯特罗姆
J·卡尔森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1624682A publication Critical patent/CN1624682A/zh
Application granted granted Critical
Publication of CN100552665C publication Critical patent/CN100552665C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

提供信息的再现独立持久性的系统和方法被提供。在说明性的实施例中,具有一些预定义结构的数据被提供。在操作中,所述数据被处理以便数据和它的关联的结构被用一种持久的数据格式所表示。在操作中,数据根据一个或多个约束来解析并转换成持久数据格式。

Description

信息的再现独立持久性
发明的技术领域
本发明一般涉及数据再现领域,特别是,涉及用与再现独立的(independent)持久数据格式来新颖地表示数据,该格式更容易被各种协同计算应用程序和计算环境所使用。
发明的背景技术
数据存储和格式普遍存在于数据管理和数据处理中。在计算应用程序环境中,数据是重要的通信联络线。从基于简单内容的数据到复杂的嵌入式指令集合,数据作为大多数计算应用程序的输入也作为这些计算应用程序的结果输出。毫无意外的,计算应用程序的设计者和开发者已经开发了庞大数量的计算应用程序来创建、管理、存储和处理数据,该数据涉及到我们中每一个人,几乎在我们生活中的每一方面。从简单的文字处理应用程序到复杂的用于交换敏感数据的加密技术,数据处理计算应用程序已经被结合到每天的日常事务和习惯性行为中。数不清的数据操作计算应用程序的开发已经呈现出了预期的副产品-简单的许多变化的和互不相同的数据格式和类型。
由于具有互不相同的数据格式,在协同计算应用程序和在计算环境间共享数据变得日益困难,该计算应用程序和计算环境拥有他们自己的本地数据格式和定义。致力于解决这些利害关系,计算应用程序开发者已经开发并实现了不同的数据过滤器和变换器,其允许他们接受非本地的数据格式。然而,整合和实现这些数据转换机制得到了一定代价,也就是,增加了处理的需求和数据完整性的丧失。此外,数据转换可能并不是对每一个试图处理非本地数据的计算应用程序都可用。同样的,提供在协同计算应用程序间共享期望的数据很困难。
数据可以由再现扩展名来描述,该再现扩展名是下层的格式和/或布局的表示。该再现扩展名提示协同应用程序该数据格式和/或布局并且,如果适当的话,通过本地格式的协同计算应用程序本地化到请求的协同计算应用程序来触发数据的转换。通常,再现扩展名也提供一种暗示,暗示哪一个计算应用程序或计算环境生成了一块或一组数据。例如如果一个特定的文字处理计算应用程序生成了数据(例如一篇文档),所述再现扩展名可能是属于“.doc”类。相对而言,如果一个电子表格计算应用程序生成了一些数据(例如电子表格、图表等),那么再现扩展名可能是“.xls”。
当前,计算应用程序通常生成具有单一再现扩展名(比如.html,.doc,.xls,.xml)定义的数据(例如报告),该定义通常对于正在生成该数据的应用程序来说是本地的。同样的,协同应用程序,当处理报告时,首先被要求来执行外部再现扩展名到本地再现扩展名的变换。这个变换步骤,在某种情况下,可能引入错误,也就是数据布局/格式错误和,更重要的,数据错误。此外,由于生成的报告不能方便的查询,这种形式的数据已经限制了协同应用程序的效用。在大多数情况下,参与的用户将使用计算应用程序来生成具有新的报告定义的新数据,而不是试图重用已经生成的报告。
现有习惯做法的另一个缺点是没有能力执行对已经生成的数据的时间驱动的分析。正如所述的,计算应用程序可以操作一个或多个协同操作的数据存储。这些数据存储拥有具有各种字段定义的各种表格。随着时间的过去,在组织和/或企业操作数据存储过程中,这些字段的值将改变来反映一个或多个变化。例如,一个汽车特许经销商可以使用一个计算应用程序与数据存储一起操作来记录销售额。当更多的车被卖出时销售额数据将会发生变化。在同样的例子中,计算应用程序可以操作来生成一个报告,以通过汽车特许经销商的每一个销售职员来展示销售总额。再一次随着增加的销售额,报告值改变。当前数据(例如报告)生成计算应用程序这样的操作来根据定义收集必要的数据,并且根据报告定义生成数据操作结果。然而,数据操作结果作为在数据操作结果产生时,协同操作数据存储中建立的数据字段值的一个快照。
而且,当前计算应用程序将生成的数据操作结果作为数据结构暴露出来,该数据结构可能没有被系统化、没有以非持久数据格式存储因而不便于查询。同样的,这些应用程序将不能支持时间尺度上对历史数据操作结果的查询,来提供一个或更多数据值的时间驱动分析。通过以非持久的再现从属的格式存储数据,当前的应用程序没有能力执行时间驱动的分析,该分析可以用来确定趋势。
再现独立的持久数据格式在报告产生和管理环境之外有许多的应用。例如,再现独立的持久数据格式可以被组合用来在整个不同的计算应用程序之间传递各种不同的数据,例如网页内容,这些应用程序具有他们自己的本地再现需求和标准。
如前所述本发明意识到存在一种对系统和方法的需求,该需求提供以再现独立的持久格式的数据来用于各种不同的处理,该数据通过当前技术无法实现。有了这些系统和方法,现有技术的缺点将被克服。
发明概述
本发明提供一种把数据描述成信息的再现独立持久性的系统和方法。在说明性的实施中,具有预定义结构的数据被提供。数据被处理以便数据的描述被创建,其中所述描述包括关于数据和数据的结构的信息。操作中,数据被解析并变换为预定义的持久格式。
在一个预期的实现中,计算应用程序以再现独立的持久数据格式提供一个已生成的数据集。所述再现独立持久数据格式,特别的,允许应用程序执行在以系统化的可查询数据源陈述的报告上的时延和时间驱动查询,更重要的是,允许报告被其他协同计算应用程序理解为任何其他数据源。
这里所述的系统和方法的其他特征和方面在下面被更详细的描述。
附图的简要说明
图1和2是适合于本发明的示范性的计算环境的系统化说明,图2描述了一个示范性的网络计算环境;
图3是一个方框图,根据这里所描述的系统和方法示出了作为数据源的一个报告的示范性的实施例;
图4是一个方框图,根据这里所描述的系统和方法描述了报告处理的流程;
图5是一个方框图,根据这里所描述的系统和方法描述了报告利用的流程;
图6是一个根据这里所描述的系统和方法的示例性的组件的详细的方框图,该组件用来处理系统化的数据结构;
图7是根据这里所描述的系统和方法所执行的处理的流程图,该处理用来将一个报告陈述为系统化可查询数据源;
图8A是一个所执行的处理的流程图,该处理用来将所述数据源陈述为信息的再现独立持久性;
图8B是一个当把信息的再现独立的持久性转换为一个陈述为系统化的可查询的数据源的报告时所执行的处理的流程图持久;并且
图9是一个当处理被陈述为系统化可查询数据源的数据以生成期望的快照时所执行的处理的流程图。
说明性的实施例的详细描述
概述
数据的持久性等价于有效的数据仓存和数据处理。当前,计算应用程序和计算环境对数据进行操作来生成一个或多个数据操作结果,该结果可由一个或多个再现扩展名所描述。再现扩展名,通常的,可以被用来描绘在数据操作结果中所建立的数据的格式和定义。典型的,一个计算应用程序将在数据处理模式中对一组数据进行操作来产生具有特殊再现扩展名的数据操作结果。例如,一个文字处理计算应用程序可以对于文本类型数据进行操作来生成格式化了的文档。然后这种格式化了的文档可以作为具有“.doc”再现类型的数据被存储再现。
然而当协同计算应用程序和计算环境竞争具有非本地化数据格式或定义(即存储的和陈述的具有不同的和多样的再现扩展名)的数据时就会产生问题。典型的,计算应用程序如果被装配了的话,将调用一个或多个数据转换操作以将期望的数据操作结果转换成本地再现扩展名。然而,这种变换可能被处理的很密集并可能将重大的错误引入到最终数据操作结果中。
本发明旨在通过提供陈述具有再现独立持久数据格式的数据的系统和方法,改进现有做法的缺点。特别的,提供一个示例性的计算应用程序,该应用程序根据预定的定义来操作数据。所述数据定义包括,尤其是,与将被提供的期望的数据有关的信息,数据布局信息,和数据格式化信息。示例性的计算应用程序从协同操作的数据存储中检索期望的数据和数据定义。一旦收集完,所述示例性的计算应用程序就为数据定义一种模式并以中间数据格式存储数据。中间数据格式是一个再现独立的持久数据格式。同样的,具有相关模式的所检索的数据被陈述为数据源并具有数据源提供给协同应用程序的全部利益。而且,被存储为再现独立的持久数据格式,当前的复用性(即在互不相同的计算应用程序间和计算环境间的可用性,该环境具有不同的数据再现扩展名需求)问题被解决了,以及,用当前的系统和方法,对一组已生成的报告的时间驱动查询更易于执行。
应当正确认识到尽管这里描述的系统和方法在一个或多个数据操作结果的产生的环境中进行了描述,信息的再现独立持久性可能以各种超出所提供的例子的范围的方式利用。
A.示例性的计算环境
图1说明了适当的计算系统环境100的例子,在其中本发明可以被实现。计算系统环境100仅仅是适当的计算环境的一个例子,并没有打算对于本发明功能性或使用范围上加以任何的限制。计算环境100也不应该被解释为具有任何相关于任何图示在示例操作环境100中单一组件或组件的组合的依赖或需求。
本发明操作许多其他常规目的或特殊目的的计算系统环境或配置。可以适合于本发明使用的众所周知的计算系统、环境、和/或配置的例子包括,但不局限于,个人计算机、服务器计算机、手持或膝上设备、多处理器系统、基于微处理器系统、机顶盒、可编程消费电子产品、网络个人计算机、小型机、大型机、包括任何上述的系统或设备,等等的分布式计算环境。
本发明可用通常的计算机执行指令环境描述,例如程序模块,该计算机指令可以由计算机执行。通常,程序模块包括例程、程序、对象、组件、数据结构等等,该模块执行特定任务或实现特定抽象数据类型。本发明也可以在分布式计算环境中实行,其中任务通过远程处理设备被执行,该设备通过通信网络或其他数据传输媒介相连接。在分布式计算环境中,程序模块和其他数据既可以位于本地又可以位于远程计算机存储介质介质中,该计算机存储介质包括存储器存储设备。
参考图1,用于实现本发明的一个示例性的系统包括一个通用计算装置,该计算装置呈现计算机110的形式。计算机110的组件可以包括,但不限于,一个处理单元120,一个系统存储器130,和一个系统总线121,它将包括系统存储器的不同的系统组件连接到处理单元120上。系统总线121可以是许多总线结构类型中的任意一种,包括使用任何多种总线体系结构的存储总线或存储控制器,外围总线,和局域总线。作为例子,但不是限定,这种体系结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强工业标准结构(EISA)总线、视频电子标准委员会(VESA)本地总线和外设组件互联(PCI)总线(也被称为Mezzanine总线)。
计算机110一般包括多种计算机可读介质。计算机可读介质可以是任何能由计算机110访问的可利用的介质,包括易失的和非易失的介质,可移动的和不可移动的介质。作为示例的方法,但不限于此,计算机可读介质可以包含计算机存储介质和传播介质。计算机存储介质包括易失的和非易失的可移动的和不可移动的介质,该介质可以用任何信息存储的方法和技术实现,例如计算机可读指令、数据结构、程序模块或其他数据。计算机存储介质包括,但是不局限于,RAM,ROM,EEPROM,闪存或其他内存技术,CD-ROM,数字多功能光盘(DVD)或其他光盘存储,磁带盒,磁带,磁盘存储或其他磁性存储设备,或任何其他介质,该介质可以被用来存储期望的信息并且可以由计算机110来访问。传播介质一般包括计算机可读指令、数据结构、程序模块或其他在被调制的数据信号中的诸如载波或其他传输机制之类的数据,并且包括任何信息传送介质。术语“被调制的数据信号”指的是一个信号,该信号具有一个或多个它的特征集或者以这样一种方式变化以用来编码信号中的信息。作为例子,但不限于此,传播介质包括有线介质例如有线网络或直接有线连接,和无线介质例如声波、射频、红外和其他无线介质。以上任意项的组合也都应该包括在计算机可读介质的范围内。
系统存储器130包括以易失的和/或非易失的存储器形式存在的计算机存储介质,例如ROM 131和RAM 132。基本的输入输出系统(BIOS)133一般存储ROM131中,其中该基本的输入输出系统(BIOS)133包含基本例程,该例程帮助在计算机110内的元素之间传输信息,例如在启动期间。RAM 132一般包含可立即访问的和/或不久由处理单元120对其操作的数据和/或程序模块。作为例子,但不局限于此,图1说明了操作系统134,应用程序135,其他程序模块136,和程序数据137。
计算机110也可以包括其他可移动的/不可移动的,易失的/非易失的计算机存储介质。仅仅作为例子,图1说明了硬盘驱动器140,其从不可移动的、非易失的磁性介质中读取或向其中写入,磁盘驱动器151,其从可移动的、非易失的磁盘152中读取或向其中写入,以及光盘驱动器155,其从可移动的、非易失的诸如CD-ROM或其它的光盘介质之类的光盘156中读取或向其中写入。其他可以被用在示范性的操作环境中的可移动/不可移动,易失的/非易失的计算机存储介质,包括,但是不局限于,磁带盒,闪存卡,数字多功能光盘,数字视频磁带,固态RAM,固态ROM,等等。硬盘驱动器141一般通过不可移动的存储接口例如接口140连接到系统总线121上,磁盘驱动器151和光盘驱动器155一般通过可移动的存储接口比如接口150连接到系统总线121上。
上面讨论的并在图1中说明的,驱动器和与之相关的计算机存储介质,提供了计算机可读指令、数据结构、程序模块、和用于计算机110的其他数据的存储。例如,图1中硬盘驱动器141被说明用来存储操作系统144,应用程序145,其他程序模块146,和程序数据147。注意这些组件既可以相同于也可以不同于操作系统134,应用程序135,其他程序模块136和程序数据137。操作系统144,应用程序145,其他程序模块146,和程序数据147在这儿被标为不同的数字来说明,至少,他们是不同的副本。用户可以通过输入设备比如键盘162和指示设备161向计算机110中输入命令和信息,指示设备161通常指的是鼠标、轨迹球或触摸板。其他输入设备(未示出)可能包括话筒、操纵杆、游戏手柄、卫星天线、扫描仪、等等。这些和其他输入设备通常通过用户输入接口160连接到处理单元120,该用户输入接口连接到系统总线,但是可以通过其他接口和总线结构连接,例如并行端口,游戏关口或通用串行总线(USB)。监视器191或其他类型显示设备也通过一个诸如视频接口190之类的接口被连接到系统总线121上。除监视器之外,计算机可能还包括其他外设输出设备例如扬声器197和打印机196,他们可能通过输出外设接口190被连接。
计算机110可以在网络环境下使用逻辑连接到一个或多个诸如远程计算机180之类的远程的计算机上进行操作。远程计算机180可以是个人计算机、服务器、路由器、网络个人计算机、对等设备或其他公共网络节点,一般包括许多或所有上面所说的与计算机110相关的元件,虽然只有存储器存储设备181在图1中被说明。所描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但可能也包括其他网络。这种网络环境在办公室、企业范围内计算机网络、内部网和互联网中是很普通的。
当在局域网网络环境中使用时,计算机110通过网络接口或适配器170连接到局域网171。当在广域网网络环境中使用时,计算机110一般包括调制解调器172或其他用于通过广域网173建立通信的装置,例如互联网。调制解调器172,其可以是内部的或外部的,可以通过用户输入接口160或其他合适的机制连接到系统总线121上。在网络环境中,所描述的和计算机110相关的程序模块,或其中的一部分,可以被存储在远程存储器存储设备中。作为示例,但不限于此,图1说明了作为驻留于存储器设备181中的远程应用程序185。应当理解所示出的网络连接是示范性的,并且其他在计算机间建立通信连接的装置也可以被使用。
B.示范性的网络计算环境
上面所述的计算机20a可以作为计算机网络的一部分被部署。通常,上述对计算机的描述应用于部署在网络环境中的服务器计算机和客户计算机中。图1A图示了一个示范性的网络环境,该环境具有一台服务器通过网络连接客户计算机,在其中本发明可以被部署。如图1A所示,许多服务器10a,10b,等等,通过通信网络160(可以是局域网、广域网、内部网、互联网或其他计算机网络)与许多客户计算机20a,20b,20c或计算设备如移动电话15,陆上线路电话16和个人数字助理17互相连接。在网络环境中通信网络160是互联网,例如,服务器10可能是网页服务器,通过大量已知协议如超文本传输协议(HTTP)或无线应用协议(WAP)中的任何一个与客户机20通信。每个客户计算机20可以被装配有浏览器180a来获取对服务器10的访问。类似的,个人数字助理17可以被装配有浏览器180b,以及移动电话15可以装配有浏览器180c来显示和接收各种数据。
操作中,用户(未示出)可以与运行于客户计算设备上的计算应用程序结合来陈述一个作为系统化的可查询的数据源的报告。该报告可以被存储在服务器计算机上并通过在通信网络160上的客户计算设备与协同的用户通信。用户可以通过客户计算设备上的计算应用程序的接口来生成、管理、和与该报告交互。这些事务可以被客户计算设备传输到服务器计算机来处理和存储。服务器计算机可能容纳服务应用程序来陈述报告为可查询系统化数据源。
因此,本发明可以被利用在计算机网络环境中,该环境具有用于访问和与网络交互的客户计算设备和用于与客户机交互的服务器。然而,这里所述的系统和方法可以以不同的基于网络的体系结构实现,因此不应限制到例子所示出的。这里所说的系统和方法不久将参考示例实施例被更详细的叙述。
C.作为数据源的报告
图3示出了一个示例的说明性体系结构框图,该体系结构是一个陈述出一个报告的示例性的的报告生成和管理系统。正如所见,示例的体系结构300包含报告服务器320。报告服务器320进一步包含报告处理引擎325、分析服务引擎330、和报告中间格式335。报告中间格式335进一步包含了数据345和模式340。最后,示例体系结构400包含报告阅读器/浏览器305和OLEDB(对象嵌入链接数据库)/ADO(活动数据对象)310。操作时,报告服务器320生成操作报告数据345的模式340。报告服务器320生成报告中间格式,该格式是具有再现独立的持久数据格式的系统化的可查询数据源。然后中间数据格式可以被报告服务器320使用,以通过305来显示生成的报告。在这种情况下,中间格式335被报告服务器320的报告处理引擎325处理,用来在报告阅览器/浏览器305上显示报告。中间格式也可以被报告服务器320使用,通过使用OLEDB模块310的分析服务引擎330来将生成的报告传输到协同环境中。
有了系统化的中间格式的报告,对于协同环境和协同计算应用程序来说,报告不仅看似并扮演数据源的角色。
D.陈述作为系统化数据源的数据操作结果
图4示出了在数据操作结果(例如报告)产生和管理系统的示例组件间的示例数据流程,该组件陈述报告为系统化可查询数据源。如图所示,报告生成和管理系统400包含各种组件,该组件用来陈述报告作为系统化可查询数据源。特别的,报告生成和管理系统400包含报告处理模块420。如图所示,报告处理模块420与报告定义415协作,并从外部数据源405和410处接收数据来生成以中间格式425存储的报告。
操作中,生成的报告可以被一个或多个协同环境请求。在这种情况下,以中间数据格式存储的报告被传送到一个事件处理模块430,该模块全部或部分的协调被生成的报告到所请求环境的传送。事件处理模块430决定请求环境的再现,并将全部或部分的报告提供给用对请求环境是本地的再现扩展名的所请求的环境。例如,如果html再现被请求,那么html再现扩展名435被使用。相比较的,如果XML再现被请求,XML再现扩展名440被使用。等等,这种其他的再现类型将会被其他的再现扩展名445所表示。
图5示出报告生成和管理系统500的一个高层次的部署示例。如图所述,报告生成和管理系统500包含报告处理模块525。报告处理模块525包含数据扩展名525和再现扩展名530。此外,报告处理模块与报告定义510和数据源505协同操作。操作中,报告的一个请求被提供给报告处理模块525。对于在数据源505中建立的数据,报告处理模块525从应用程序的报告定义字段510中得到正确的报告定义。然后数据被数据处理模块525处理,使用数据扩展名535来从数据源505中识别数据元素。然后报告处理模块525根据适当的报告定义处理数据来生成作为系统化可查询数据源陈述的报告。然后报告被报告处理模块525以一种中间数据格式520来存储,以备将来使用。
除了生成报告之外,报告生成和管理系统500能够将生成的报告传输到协同环境中而不管由请求环境所请求的再现请求。例如,报告生成和管理系统500可以被用来将一个生成的报告传输到协同环境中。在这种情况下,以中间格式520存储的被生成的报告由报告处理模块525进行检索,并用再现扩展名530处理来以请求环境所能接受的再现格式生成一个报告。
图6示出了示例性的部署的更多细节,该部署属于一个示例报告产生和管理系统,该系统能够陈述一个报告作为系统化可查询数据源,该数据源具有一再现独立的持久数据格式。如图所示,报告生成和管理系统600包含报告服务器605。报告服务器605依次包含映射模块610,报告处理模块615和查询处理优化/执行引擎625。报告服务器605与各种协同组件合作,包括但是不限于报告用户接口(UI)630,报告定义650,第二报告服务器635,分析服务(AS)数据提供者640,和中枢控制组件645。
在生成一个报告时,报告服务器605与报告定义650合作来为期望的报告获取恰当的报告定义。报告定义然后被报告服务器605的报告处理模块615处理。报告服务器605使用恰当的报告定义收集恰当的数据,并生成期望报告的典型的系统化的可查询数据源。该报告然后被报告服务器605显示在报告UI630上。在这种预期的操作中,报告服务器605的报告处理模块615与映射模块610合作来映射期望阅览的报告并显示在报告UI630上。
在操作中,报告生成和管理系统600可以支持许多操作和功能。例如一报告可以运行在一组已经生成的报告上。如图6中箭头所示,报告上的报告请求被提交给报告服务器635。报告服务器635处理报告请求上的报告,并与AS数据提供者模块合作来满足该请求。依次的,AS数据提供者640与查询处理优化/执行引擎625合作。该引擎与报告处理模块615合作来获取/产生必要的数据来满足报告请求上的限告。类似的,基于报告的OWC请求可以被提交给中枢控制模块645,该模块依次与AS数据提供者640合作来满足基于报告的OWC请求。
报告生成和管理系统600的另一种用处是允许参与的用户在报告UI630上阅读从远程协同环境中产生的报告。这种情况下,报告UI630与报告处理模块615合作。报告处理模块615与映射模块610合作。映射模块610操作从一种数据格式到另一种的转换。同样的,它可以被用来将数据从再现独立数据格式转换到再现从属数据格式来用于在请求环境中再现。映射模块610然后与查询处理优化/执行引擎625合作来进行到一个或多个协作模块的通信。
应当注意预期实现中的报告服务器605可以包含任何计算硬件、计算软件、和计算硬件与计算软件的组合。
图7示出了一个示例性的处理的流程图,该处理执行来陈述一报告作为系统化可查询数据源,和随后的处理执行利用这个被陈述的报告。如图所示,处理在块700处开始,进入到块705,在此处获得了报告的定义。在块710处根据获取的报告定义,创建了报告模式。然后在块715处获得了报告数据,并且在块710处创建模式,将所创建的模式应用于块720处的报告数据。系统化的报告然后在块725处以中间格式被存储(根据在图8A和8B中描述的处理)。从那开始,处理进入到块730,在那里执行一个检查来确定报告是否被请求(例如被本地环境或被协同环境请求)。在所提供例子的情况下,一个环境包含任意的计算环境或计算环境的一部分。如果报告已经被请求,处理进入到块735,在那里数据扩展名被应用到报告上并且数据扩展名在块740被提供。在预期的示例性的实现中,数据扩展名被应用到报告的数据上来辅助识别数据字段的定义。如前所述的再现扩展名被用来解释所述报告以使用所述报告的环境的再现格式使用。然后报告在块745被再现,用来显示在请求该报告的环境中。然后处理在块750终止。然而,如果在块730报告并没被请求,处理直接进入块750并终止。
E.信息的再现独立持久性
图8A示出了一示例性的处理的流程图,该处理执行来以再现独立的持久数据格式提供一陈述的报告。如图所示,处理开始于块800并进入到块805,在那里所陈述的系统化的可查询报告的报告模式被获得。然后处理进入到块810,在那里再现独立的持久数据格式被识别。在示例的实现中,再现独立的持久数据格式包含一个二进制数据格式。在块810的环境中,这里根据所提供的例子描述的方法的处理企图识别模式的二进制表示。进一步根据提供的例子,处理进行到块815,在那里被识别的二进制模式被应用于期望的报告来将系统化的报告转换成二进制数据格式。包括在转换步骤中的就是数据分解处理的执行,该处理由至少一个分解规则定义,该规则用来分开用于处理的报告数据。处理然后进行到块820,其中所生成的二进制表示被提供为中间数据格式,所陈述的报告可以以这种格式存在。处理然后在块825终止。
应当理解虽然示例的实现打算使用再现独立的持久数据格式的二进制表示,在这里所公开的发明的概念扩展到所提供的说明性的实施例之外包括但不限于十六进制表示、汇编语言表示、和高级编程语言表示。
图8B示出了一个被执行的实例处理的流程图,该处理当处理协同环境要求检索部分或全部已经陈述的报告时被执行。如图所示,处理开始于块830并进行到块835,在那里期望的报告(全部或部分)被请求,并且被以它的中间格式提供(比如再现独立持久数据格式)。从那开始,处理进行到块840,在那里中间格式,即再现独立的格式,变换到再现从属格式,也就是,请求环境的再现格式。在示例实现中,转换步骤打算将报告模式二进制转换到请求环境的特定扩展名格式。在块845,系统化的报告和附随的数据被提取出来,用于以请求环境的再现扩展名来表示。然后在块850提供最终的报告。然后处理在块850终止。
图9示出了一个被执行的实例处理的流程图,该处理当根据一组生成的报告执行一个基于时间的查询时被执行。如图所示,处理开始于块900并进行到块905,在那里提供期望的快照视图的参数。从那起,处理进行到块910,在那里系统化的可查询报告被作为数据源处理。在块915,数据然后被根据提供的参数(例如从所有年份1到年份2的销售报告中收集出中西的区的从年份1到年份2的所有销售额)从那组所生成的报告中聚集起来。被聚集的数据然后在块920中被收集并处理,来提供一个新的具有期望的快照数据的系统化可查询报告。然后处理进行到925,在那里处理终止。
图9A中描述的处理使用一个或多个这里描述的系统和的方法的特征。特别的,这里讲述的系统和方法试图一种机制,该机制陈述一个报告作为具有再现独立的持久数据格式的系统化的可查询的数据源。在这样一组报告上,当数据按时间值收集起来并且该时间值根据报告的模式来识别时,报告被系统化、查询、持久化、基于时间的查询(例如趋势快照)都很容易处理。当报告以持久数据格式存储时,该值是可靠的。
F.结论
如前所述,虽然本发明的示例实施例已经连同各种计算设备和网络体系结构一起被描述,基本概念可以被应用到任何计算设备或系统中,其中它被期望来遍历和/或执行其它与之相关的功能。因而,上述该处理和系统可以应用于各种应用程序和设备。尽管这里选择的示例的数据结构、编程语言、名字和例子表示各种不同的选择,它们不打算被限制。
这里描述的各种技术可以与相关的硬件,软件,如果适当地话也可以使用两者的组合来实现。因而,本发明的方法和设备,或者其中的某些方面或部分,可以采用在有形的介质上包含的程序代码的形式(例如指令),所述有形的介质例如有软盘、CD-ROM,硬盘驱动器,或任何其它机器可读存储介质,其中,当程序代码被加载进来并被诸如计算机之类的机器执行时,该机器成为实现本发明的装置。在程序代码执行在可编程计算机的情况下,计算设备通常将包括一个处理器,一个由处理器可读的存储介质(包括易失性的和非易失性的存储器和/或存储元件),至少一个输入设备,和至少一个输出设备。一个或多个本发明的程序方面,该程序可以利用调试接口,例如通过数据处理API或诸如此类的使用,更可取的以更高级的程序或面向对象的编程语言来实现与计算机系统的通讯。然而,如果必要时,该程序也能用汇编语言或机器语言实现。任何情况下,语言可以是编译的或解释的语言,并且与硬件结合实现的。
本发明的方法和设备也可以以程序代码的形式通过所实施的通信来实践,该程序代码通过一些传输媒介传输,例如通过电线或电缆,通过光纤,或通过任何其它传输形式,其中,当程序代码被机器接收并加载并执行,例如EPROM,门阵列,可编程逻辑设备(PLD),客户计算机,视频录像机等等,或具有如前示范性实施例中所述的调试能力的接收机器,变成实施本发明的装置。当在一个通用处理器上实现时,程序代码结合处理器来提供一独特的装置,该装置运行来调用本发明的功能。另外,任何与本发明结合使用的存储技术都可能总是硬件与软件的组合。
尽管本发明已经连同当前最佳实施例一起被详细描述,应当理解,对所述实施例来说,其他相似的实施例可能被使用,修改或添加可能被进行,来实现不偏离与此的与本发明相同的功能。例如,一个本领域中的技术人员将意识到本申请中描述的本发明可以应用于任何计算设备或环境中,无论有线或无线,和可以被应用到任何数目的这种通过通信网络连接的计算设备,并通过网络交互。而且,应该着重强调的是各种计算机平台,包括手持设备操作系统和其他应用专有操作系统都是可行的,尤其伴随着无线网络设备的数量持续增长的。更进一步,本发明可以被实现在或跨越大多数处理芯片或设备,存储也可能同样在大多数设备中有效。因此,本发明不应该限定为任何单一实施例,而是更应该根据附属的权利要求被宽泛和有余地的解释。

Claims (14)

1.一种用于提供信息的再现的独立持久性的方法,所述方法包括:
提供数据,所述数据具有预定的定义,所述预定的定义包括与将被提供的期望的数据有关的信息;
根据所述预定的定义为所述数据创建一模式;和
将创建的模式应用到所述数据以转换所述数据得到一个独立持久的数据格式,其中转换所述数据进一步包括所述数据的二进制转换。
2.如权利要求1中所述的方法,进一步包括提供一个再现模块,所述再现模块对持久数据格式进行操作来生成再现的特殊数据。
3.如权利要求1中所述的方法,进一步包括在转换所述数据之前,根据一些预定义的解析步骤解析数据。
4.如权利要求1中所述的方法,所述与将被提供的期望的数据有关的信息进一步包括数据布局信息,和数据格式化信息。
5.如权利要求1中所述的方法,进一步包括在所述持久数据格式上执行查询。
6.一种用于提供信息的再现的独立持久性的方法,所述方法包括:
提供一数据源,所述数据源具有数据,其中所述数据具有一种关联的数据结构,并且所述数据具有预定的定义,所述预定的定义包括与将被提供的期望的数据有关的信息;
提供一处理模块,所述处理模块对所述数据源进行操作以根据所述预定的定义对所述数据创建一模式,来产生一独立持久的数据格式,其中所述处理模块执行所述数据到所述持久数据格式的转换,并且所述数据的转换包括所述数据的二进制转换,其中所述独立持久的数据格式运行在各种再现的特殊环境中
7.如权利要求6中所述的方法,其中所述与将被提供的期望的数据有关的信息进一步包括数据布局信息,和数据格式化信息。
8.如权利要求7中所述的方法,其中所述独立持久数据格式包括二进制数据格式,十六进制数据格式,汇编语言数据格式和高级编程语言数据格式中的任何一种。
9.如权利要求6中所述的方法,进一步包括提供一再现模块,所述再现模块对信息的再现独立持久性进行操作用于与再现的特殊环境进行通信。
10.如权利要求6中所述的方法,其中所述数据包括报告数据。
11.如权利要求10中所述的方法,其中所述报告数据包括一系统化的可查询的数据源。
12.如权利要求11中所述的方法,其中所述报告数据根据至少一个报告定义被聚集。
13.一种在计算环境中提供持久数据格式的方法,所述方法包括:
接收数据,其中所述数据包括一模式定义,其中所述模式定义是根据所述数据的一预定的定义创建的,所述预定的定义包括与将被提供的期望的数据有关的信息;
根据至少一个预定义解析规则解析所述数据;
将所述模式定义应用到解析的数据上以将所述解析的数据转换成一独立持久的数据格式,其中转换所述解析的数据包括所解析的数据的二进制转换。
14.如权利要求13中所述的方法,其中所述与将被提供的期望的数据有关的信息进一步包括数据布局信息,和数据格式化信息。
CNB2004100352473A 2003-03-31 2004-03-31 信息的再现独立持久性 Expired - Fee Related CN100552665C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/404,746 US7512713B2 (en) 2003-03-31 2003-03-31 System and method for rendering independent persistence of information by performing a time driven query on an aggregated schematized queryable report
US10/404,746 2003-03-31

Publications (2)

Publication Number Publication Date
CN1624682A CN1624682A (zh) 2005-06-08
CN100552665C true CN100552665C (zh) 2009-10-21

Family

ID=32962384

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100352473A Expired - Fee Related CN100552665C (zh) 2003-03-31 2004-03-31 信息的再现独立持久性

Country Status (11)

Country Link
US (1) US7512713B2 (zh)
EP (1) EP1471446B1 (zh)
JP (1) JP4489481B2 (zh)
KR (1) KR20040088357A (zh)
CN (1) CN100552665C (zh)
AT (1) ATE555446T1 (zh)
AU (1) AU2004201343B2 (zh)
BR (1) BRPI0401006A (zh)
CA (1) CA2462313C (zh)
MX (1) MXPA04003070A (zh)
RU (1) RU2348068C2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745486B2 (en) * 2007-01-25 2014-06-03 Microsoft Corporation Streamable interactive rendering-independent page layout
US7676524B2 (en) * 2007-01-31 2010-03-09 Microsoft Corporation Hierarchical cursor-based object model
US9134930B2 (en) 2011-03-30 2015-09-15 Hewlett-Packard Development Company, L.P. Delayed content production
US9323483B2 (en) 2011-10-28 2016-04-26 Hewlett-Packard Development Company, L.P. Location-based print notifications
US9378437B2 (en) 2013-02-27 2016-06-28 Hewlett-Packard Development Company, L.P. Sending print jobs using trigger distances
US10275505B2 (en) * 2014-06-24 2019-04-30 Adobe Inc. In-application conversion of file versions using cloud services

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809266A (en) * 1994-07-29 1998-09-15 Oracle Corporation Method and apparatus for generating reports using declarative tools
US6091897A (en) * 1996-01-29 2000-07-18 Digital Equipment Corporation Fast translation and execution of a computer program on a non-native architecture by use of background translator
US5864870A (en) * 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US6571140B1 (en) * 1998-01-15 2003-05-27 Eutech Cybernetics Pte Ltd. Service-oriented community agent
US6779154B1 (en) * 2000-02-01 2004-08-17 Cisco Technology, Inc. Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents
US6810429B1 (en) 2000-02-03 2004-10-26 Mitsubishi Electric Research Laboratories, Inc. Enterprise integration system
US6725426B1 (en) * 2000-03-17 2004-04-20 Broadvision, Inc. Mechanism for translating between word processing documents and XML documents
JP2002108632A (ja) * 2000-09-28 2002-04-12 Dainippon Printing Co Ltd 既存システム連携制御装置
US6604104B1 (en) 2000-10-02 2003-08-05 Sbi Scient Inc. System and process for managing data within an operational data store
US6912538B2 (en) 2000-10-20 2005-06-28 Kevin Stapel System and method for dynamic generation of structured documents
WO2002059773A1 (en) 2000-12-04 2002-08-01 Thinkshare Corp. Modular distributed mobile data applications
US20020156756A1 (en) * 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application in heterogeneous data environments with high data density and dynamic application needs
US7178100B2 (en) * 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US7373600B2 (en) 2001-03-27 2008-05-13 Koninklijke Philips Electronics N.V. DICOM to XML generator
US7500017B2 (en) * 2001-04-19 2009-03-03 Microsoft Corporation Method and system for providing an XML binary format
JP5215511B2 (ja) * 2001-05-02 2013-06-19 ケープレックス・インク オブジェクト指向技術を用いたユーザ操作履歴保存装置
US20030046670A1 (en) * 2001-06-15 2003-03-06 Marlow Mark J. Binary object system for automated data translation
US6996568B1 (en) * 2001-06-20 2006-02-07 Microstrategy Incorporated System and method for extension of data schema
US6922725B2 (en) * 2001-09-07 2005-07-26 Xerox Corporation Method and apparatus for processing document service requests originating from a mobile computing device
US20030066084A1 (en) * 2001-09-28 2003-04-03 Koninklijke Philips Electronics N. V. Apparatus and method for transcoding data received by a recording device
US7107584B2 (en) * 2001-10-23 2006-09-12 Microsoft Corporation Data alignment between native and non-native shared data structures
GB2384879A (en) * 2002-02-01 2003-08-06 Sony Uk Ltd Method for providing binary digital TV data from a structured ata format
US7370032B2 (en) * 2002-04-30 2008-05-06 Sap Ag Data gathering
US20030208460A1 (en) * 2002-05-06 2003-11-06 Ncr Corporation Methods, systems and data structures to generate and link reports
US6990656B2 (en) * 2002-06-27 2006-01-24 Microsoft Corporation Dynamic metabase store
US20040002884A1 (en) * 2002-06-28 2004-01-01 Lenio Allan J. Method for facilitating product launches through an integrated communication process
US20040103084A1 (en) * 2002-11-21 2004-05-27 International Business Machines Corporation Data management system that provides flexible time-based query capability
US20040168115A1 (en) * 2003-02-21 2004-08-26 Bauernschmidt Bill G. Method and system for visualizing data from multiple, cached data sources with user defined treemap reports
US7331015B2 (en) * 2003-03-27 2008-02-12 Microsoft Corporation Defining a report based on data regions and including custom data in a report definition

Also Published As

Publication number Publication date
KR20040088357A (ko) 2004-10-16
EP1471446B1 (en) 2012-04-25
EP1471446A2 (en) 2004-10-27
RU2004109569A (ru) 2005-10-20
US20050278615A1 (en) 2005-12-15
CA2462313C (en) 2011-05-24
CA2462313A1 (en) 2004-09-30
ATE555446T1 (de) 2012-05-15
MXPA04003070A (es) 2005-12-12
BRPI0401006A (pt) 2005-01-11
AU2004201343A1 (en) 2004-10-14
AU2004201343B2 (en) 2009-10-01
EP1471446A3 (en) 2006-03-29
CN1624682A (zh) 2005-06-08
JP4489481B2 (ja) 2010-06-23
RU2348068C2 (ru) 2009-02-27
US7512713B2 (en) 2009-03-31
JP2004303245A (ja) 2004-10-28

Similar Documents

Publication Publication Date Title
US10803394B2 (en) Integrated monitoring and communications system using knowledge graph based explanatory equipment management
CN1534514B (zh) 适用于位置感知的架构和系统
CN100504873C (zh) 管理归档文件系统的方法和装置
CN1713179B (zh) 在对象模型中的影响分析
US20060116981A1 (en) Method and system for automated data collection and analysis of a computer system
US20050114448A1 (en) System and method for delegation of data processing tasks based on device physical attributes and spatial behavior
CN101221568A (zh) 用于存取数据的方法和系统
CN101213544B (zh) 基于查询的同步
CN102945248A (zh) 用于对电子表格数据进行报告的自动关系检测
CN102971707A (zh) 为软件包安装配置计算机系统
CN101589427A (zh) 语音应用程序装备和记入
CN108848276A (zh) 电话号码可用性检测方法、系统、设备及存储介质
CN101266617A (zh) 用于存储平台中的锁定和隔离的系统和方法
KR101024808B1 (ko) 도식화된 질문가능한 데이터 소스로서의 리포트 노출
CN100552665C (zh) 信息的再现独立持久性
US11068496B2 (en) System and method for data management
US20100146347A1 (en) System and method for fault mapping of exceptions across programming models
CN100534084C (zh) 远程xml数据更新方法以及系统
CN102541542A (zh) 存储和发布内容存储设备的内容
KR100752351B1 (ko) 쌍방향 데이터 및 음성 송수신이 가능한 통신매체를 이용한실시간 답변 시스템 및 제공 방법
CN111026796B (zh) 多源异构数据采集方法、装置、系统、介质和设备
JP2000010939A (ja) 情報処理装置、情報処理システム、および、記録媒体
CN115455059A (zh) 一种基于底层数据解析用户行为的方法、装置及相关介质
JPWO2009025039A1 (ja) システム分析プログラム、システム分析方法およびシステム分析装置
CN114528041A (zh) 一种可配置的自动化解析方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091021

Termination date: 20200331