CN101490672A - 智能服务的查询处理 - Google Patents

智能服务的查询处理 Download PDF

Info

Publication number
CN101490672A
CN101490672A CNA2006800188955A CN200680018895A CN101490672A CN 101490672 A CN101490672 A CN 101490672A CN A2006800188955 A CNA2006800188955 A CN A2006800188955A CN 200680018895 A CN200680018895 A CN 200680018895A CN 101490672 A CN101490672 A CN 101490672A
Authority
CN
China
Prior art keywords
requestor
service
result set
order
result
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.)
Pending
Application number
CNA2006800188955A
Other languages
English (en)
Inventor
内文·格普塔
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.)
Oracle International Corp
Original Assignee
BEA Systems Inc
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 BEA Systems Inc filed Critical BEA Systems Inc
Publication of CN101490672A publication Critical patent/CN101490672A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

根据本发明的实施方式,提供代表请求者访问服务的机构和方法。用于访问服务的这些机构和方法使得将来自该服务的结果以该请求者优选的形式提供给该请求者成为可能。在各种实施方式中,请求者可用的多种形式中的某一些包括但不限于根据标准过滤、以字母顺序排序、按数值排序、按类别排序、截断以及其它类型的格式化形式。

Description

智能服务的查询处理
要求的优先权
Naveen Gupta于2005年3月29日提交的、名称为“SMART SERVICES”的第60/665,944号美国临时专利申请(代理人案号:BEAS-01753US5);
Naveen Gupta于2005年3月29日提交的、名称为“ADHOC QUERIESFOR SERVICES”的第60/665,943号美国临时专利申请(代理人案号:BEAS-01753US6);
Naveen Gupta于2005年3月29日提交的、名称为"SQL INTERFACE FORSERVICES"的第60/665,964美国临时专利申请(代理人案号:BEAS-01753US7);
Naveen Gupta于2006年1月27日提交的、名称为"SMART SERVICES"的第11/341,237号美国临时专利申请(代理人案号:BEAS-01753USD);
Naveen Gupta于2006年1月27日提交的、名称为"ADHOC QUERIESFOR SERVICES"的第11/341,277号美国临时专利申请(代理人案号:BEAS-01753USE);以及
Naveen Gupta于2006年1月27日提交的、名称为"SQL INTERFACE FORSERVICES"的第11/340,950号美国临时专利申请(代理人案号:BEAS-01753USF)。
版权通告
该专利文件的一部分公开包括受版权保护的材料。当以美国专利和商标局的专利文件或记录的形式呈现该专利文件或专利公开时,版权所有人不反对任何人进行这样的复制,否则将保留任何形式的所有版权。
技术领域
本发明总的涉及代表应用的访问服务,尤其涉及通过使由服务所提供的数据与客户想要该数据具有的形式一致来处理查询的机构。
背景技术
企业正在日益迫切地寻找简化信息技术(Information Technology,IT)服务的访问和组织的方式。提供这样的IT简化的一种机构是面向服务的体系结构(Service Oriented Architecture,SOA)。SOA原理的应用针对软件组成部分允诺更快的开发周期、增强的可再用性以及更好的交换容错能力(changetolerance)。
不幸地,实现SOA的企业时常发现,如果不出意外的话,SOA的启动复杂性延迟期望的投资回报。虽然SOA简化了IT环境的复杂性,但组织机构缺乏关于快速、无故障实现所需要的SOA技术的足够经验。结合这种经验差距,实现SOA的图形工具不容易利用,因此,用于SOA环境的数据服务时常必须手动编码(hand-coded)。
例如,对于企业级入口和万维网应用,大量应用开发时间可能花在管理数据访问上。在传统数据服务中,很多因素使得数据编程困难并且耗费时间,包括缺乏灵活性。因为传统数据服务是手动编码的,因此只有当这些服务已经被定义来返回数据时,这些服务才能返回数据。相应地,这样的传统服务被称为“不透明(opaque)”服务。然而,用户想要数据服务返回的数据方面的变型。不幸地,传统方法需要服务的设计者预见到所有可能的变型并向该服务的用户提供每个可能的硬编码(hard coded)到SQL的变型的响应。
附图说明
图1A-图1C是图解可以在一种实施方式中实现访问服务的技术的示例性计算环境的功能方框图。
图2A-图2F是图解实施方式的访问服务的技术的高级概览的操作流程图。
图3A-图3C是图解在实施方式中访问服务并提供结果集的技术的高级概览的操作流程图。
图4是图解可借助于在实施方式中访问服务的技术操作的用户接口的高级概览的屏幕快照。
图5是可以用于实施实施方式的一个或多个组成部分的示例性计算机系统的硬件方框图。
具体实施方式
根据本发明的实施方式,这里提供代表请求者访问服务并使结果与请求者想要该结果具有的形式一致的机构和方法。访问服务的这些机构和方法使得以请求者优选的形式(form)向请求者提供来自服务的结果成为可能。提供这种能力的服务被称为“智能服务(smart service)”。按照请求者的标准(criteria),在各种实施方式中请求者可用的很多类型的形式中某些类型的形式包括但不限于经过滤的(filtered)、以字母顺序排序的(alphabetized)、按数值排序的(numerically ordered)、按类别排序的(sort ordered)、截断的(truncated)、以及其他类型的格式化(formatting)。
在一种实施方式中,本发明提供访问服务的方法。该方法的一种实施方式包括接收用以访问至少一个服务的请求以及指示请求者优选结果具有的形式的标准。代表请求者访问该至少一个服务。响应该访问接收来自该至少一个服务的结果集。向请求者提供以请求者优选的形式格式化的结果集。将提供给请求者的结果集的所选部分映射到与请求者相关联的视图(view)。在一种实施方式中,提供具有请求者优选的形式的结果集包括根据请求者提供的标准格式化来自服务的结果集。
代表请求者访问服务并以请求者优选的形式返回结果集的这种能力使得从计算机系统的计算资源中得到改进的用法成为可能,原因是用户可以获得具有优选形式的结果,而不需要将所有预见的优选形式硬编码到每个服务。
在另一种实施方式中,该方法包括接收用以访问至少一个服务的请求以及指示将应用到该至少一个服务所返回的结果集的查询的过滤器。代表请求者访问该至少一个服务。响应该访问接收来自该至少一个服务的结果集。通过将过滤器应用到从该至少一个服务中接收到的结果集来向请求者提供经过滤的结果集。在一种实施方式中,提供经过滤的结果集包括通过将查询应用到从服务中接收到的结果集来形成该经过滤的结果集。过滤来自该服务的结果集可以包括过滤、以字母顺序排序、按数值排序、按类别排序结果集和截断该结果集中的一个或多个。代表请求者访问服务并将查询应用到服务所返回的结果的这种能力使得从计算机系统的计算资源中得到改进的用法成为可能,原因是用户可以获得具有经过滤的形式的结果,而不需要将所有预见的经过滤的形式硬编码到每个服务。
在进一步的方法实施方式中,接收SQL查询。准备用以基于该SQL查询访问多个服务中的至少之一的请求。该请求被准备成服务能够理解的形式。在一种实施方式中,通过将SQL查询映射到访问服务的XQuery请求来准备请求。使用该请求来访问多个服务中的该至少之一,以获得结果集。准备包括响应SQL查询从结果集中选择的数据的虚拟SQL表。
提供服务的SQL接口的机构和方法使得下述操作成为可能:将来自多个服务的数据提供给请求者以便该数据像其已经组织成单一虚拟SQL表那样呈现给请求者。用以将来自多个服务的数据提供给请求者以便该数据像其已经组织成单一虚拟SQL表那样呈现给请求者的实施方式的这种能力,使得SQL应用产生SQL查询来连接多个服务的该至少之一,以使用SQL格式获得信息。
像在这里所使用的那样,术语服务确定为广义地解释为包括驻留在能够向请求者或其他接收者提供服务的一个或多个计算设备中的任何应用、程序和过程,包括但不限于基于网络的应用、基于万维网的服务器驻留应用、万维网入口、搜索引擎、相片、音频或视频信息存储应用、电子商务应用、备份或其他存储应用、销售/收益计划编制、营销、预测、结算、库存管理应用和其他商业应用,以及其他预期的计算机实现的服务。术语结果集确定为广义地解释为包括一个或多个服务提供的任何结果。结果集可以包括到单一文档、文件、通信或其他数据构造的多个条目(entry)。像在这里所使用的那样,术语标准确定为广义地解释为包括由可能是自然人或计算实体的用户通知计算实体要求、期望或请求的任何机构。像在这里所使用的那样,术语视图确定为广义地解释为包括以适合特殊应用、服务、客户或过程的格式提供数据和/或服务的呈现的任何机构。这种呈现可以是虚拟的、经过滤的、经塑造的或经成形的。例如,由服务返回到特殊应用(或表现为请求者或客户的其他服务)的数据可以被映射到与该应用(或服务)相关联的视图。实施方式可以提供可用服务的多个视图来使得组织机构划分或流线型地访问服务,增强组织机构的IT基础设施的安全性。
像在这里所使用的那样,术语虚拟SQL表确定为广义地解释为包括等效于实际SQL表的任何功能。虚拟SQL表的某些示例包括但不限于:包括关于消费者的数据的虚拟SQL表。商业环境下的应用可以使用诸如与关于消费者信息的一个或多个服务的调用"getCustomer( )"相结合的"SELECT[ALLDISTINCT]columnnamel[,columnname2]FROM tablenamel[,tablename2][WHERE condition][and|or condition...][GROUP BY column-list][HAVING"conditions][ORDER BY"column-list"[ASC|DESC]]"之类的SQL查询语句,以便关于从getCustomer函数返回的结果执行专门的选择操作。例如,在银行业应用中,银行中的请求者可以将用以操作被命名为"Customers"的虚拟SQL表中的检索信息的SQL选择语句指定给在该虚拟SQL表的"balance(结余)"栏中具有结余"WHERE balance>100,000"的消费者条目,以便限制返回的消费者getCustomer查询返回到仅有高净值(net worth)的消费者。在制造业的示例中,结算时的请求者可以从OrdeTs_table虚拟SQL表中指定SELECTOrder_amount栏WHERE"order amount<=300,000units"、以便仅仅看见属于工厂层面的(residing on thefactoryfloor)、正在工作(work in progress,WIP)中的较小定单的结果。在电讯领域,渴望观察能够操控大带宽的网络节点的请求者可以为请求网络中的节点身份的查询而从Nodes_table虚拟SQL表中指定SQL语句SELECT Node_bandwidth栏WHERE"bandwidth>1Mps",以便服务器排除不能够支持至少这种带宽的任何节点。可以由本发明提供的很多实施方式中的某些来实现这些或其他应用。值得注意,可以存在用于Select命令的不同实现。相应地,前述示例确定为说明性质的,而不是对各种实施方式实现的许多不同应用的限制。
图1A-图1C是图解可以在一种实施方式中实现用于访问服务的技术的示例性计算环境的功能方框图。如图1A所示,液态式数据框架(liquid dataframework)104用于提供用以将应用或应用入口94、96、98、100和102的集可以与多个服务相结合或以紧密连接方式的其他访问的机构。这样的服务可以包括物资需求计划(Materials Requirements and Planning,MRP)系统112、购买系统114、第三方关系数据库系统116、销售预测系统118和其他各种数据相关服务120。虽然没有在图1A中清楚地示出,但在一种实施方式中,一个或多个服务也可以与一个或多个其他的服务通过液态式数据框架104进行交互。
内部地,液态式数据框架104使用液态式数据一体化引擎(liquid dataintegration engine)110来处理从入口集到服务的请求。液态式数据一体化引擎110允许针对各种各样的服务的访问,在各个实施方式中预期这些服务包括数据存储服务、基于服务器或基于对等的应用、万维网服务或其他能够正在由一个或多个计算设备投送服务。服务模型108提供针对应用入口94、96、98、100和102的可用服务的构造视图。在一种实施方式中,服务模型108提供多个视图106,它们可以是针对专门适合每个入口应用94、96、98、100和102的格式化数据和/或服务的经过滤、塑造或成形的视图。在一种实施方式中,服务返回给特殊应用(或其他表现为请求者或客户的服务)的数据由液态式数据框架104映射到与该应用(或服务)相关联的视图106。提供可用服务的多个视图的实施方式可以使得组织机构划分或流线型地访问到(
Figure A200680018895D0011105206QIETU
 or streamline access to)服务,从而增强组织机构的IT基础设施的安全性。在一种实施方式中,服务模型108可以存储在服务模型储存库122中。提供多个服务模型的实施方式可以使得组织机构能够通过减少对服务实现的依赖性来增强改变或适应组织机构的IT基础设施的灵活性。
图1B是参考一种示例实施方式的、图1A所图解的液态式数据一体化引擎110的高级示意图。如图1B所示,液态式数据一体化引擎110包括接口处理层140、查询编译层150和查询执行层160。接口层140包括请求处理器142,其获得请求10并将该请求处理成XML查询50。接口层140还包括访问控制机构144,其基于多个策略20来确定产生请求10的客户、入口应用、服务或其他过程是否被授权访问需要来满足该请求的资源和服务。假若客户、应用、服务或其他过程被授权产生请求10,则该接口层发送XML查询50到查询编译层150。
在查询编译层150内,查询分解和分析机构152从客户应用中接收查询50,分解该查询,并将分解结果发送到查询改写优化器154。查询改写优化器154基于执行时间、资源使用、效率或其他性能标准的一个或多个确定该查询是否可以被改写来改善服务该查询的性能。如果被确定为通过这样做可以增强性能,则查询改写优化器154可以基于来自源描述40和函数描述(function description)30中的一个或多个的输入改写或重新格式化该查询。运行时间查询计划产生器156基于来自源描述40和函数描述30中的一个或多个的输入产生用于改写优化器154所提供的查询的查询计划。
查询编译层150将从运行时间查询计划产生器156输出的查询计划传递到查询执行层160中的运行时间查询引擎162。运行时间查询引擎162与可以和针对源的公式化查询和取出请求52一同使用的一个或多个函数(function)70结合,这些公式化查询和取出请求被传递到适当的服务。该服务以来自源的结果54响应于查询和取出请求52。查询执行层160中的运行时间查询引擎162将结果翻译成客户或入口应用可用(诸如无限制的XML)的格式,以便形成XML查询结果56。
在响应或结果56被传递回产生请求的客户或入口应用之前,接口层140中的查询结果过滤器170基于过滤器参数90确定该结果的什么部分将传递回客户或入口应用,形成经过滤的查询响应58。虽然没有在图1B中明确示出,但在一种实施方式中经过滤的查询响应58可以伴随服务请求10。此外,查询结果过滤器170还基于实现安全级别80的访问策略确定许可请求者访问经过滤的查询响应58的什么部分并且可以相应地编辑经过滤的查询响应。虽然没有在图1B中明确示出,但在一种实施方式中实现安全级别80的访问策略可以与策略20存储在一起。以下参考图2A-图2B更加详细地描述提供到请求者的、由查询结果过滤器170实现的、具有请求者优选的形式的结果集的技术。以下参考图2C-图2D更加详细地描述提供到请求者的,由查询结果过滤器170实现的经过滤的结果集的技术。在适当地形成的情况下,将响应返回到调用客户或入口应用。
如图1C所示,在SQL查询处理实施方式中,在将响应或结果56传递回产生请求的客户或入口应用之前,接口层140中的查询结果过滤器/SQL处理器170基于SQL查询90确定该结果的什么部分以什么形式或格式传递回客户或入口应用,形成虚拟SQL表58。虽然没有在图1C中明确示出,但在一种实施方式中SQL查询90可以伴随服务请求10。此外,查询结果过滤器/SQL处理器170还基于实现安全级别80的访问策略确定许可请求者访问虚拟SQL表58的什么部分并且可以相应地编辑该虚拟SQL表。以下参考图2E-图2F更加详细地描述提供由查询结果过滤器/SQL处理器170实现的用于服务的SQL接口的技术。在适当地形成的情况下,将响应返回到调用客户或入口应用。
在一种实施方式中,将结果集以服务数据对象(Service Data Objects,SDO)所指定的格式返回客户。SDO是由BEA和IBM共同发表的规范(作为像JSR235那样的Java规范请求提交),其定义了数据编程架构和应用编程接口(Application Programming Interface,API)。在使用SDO的实施方式中,与图1A的入口应用94、96、98、100和102相关联的Java客户通过SDO、经由液态式数据框架104访问数据服务112-120。当Java或其他客户调用数据服务读取函数时,其以数据对象的形式取回数据。数据对象是SDO模型的基本单元。
在一种实施方式中,与液态式数据框架104连接的SDO提供对客户来说无缝的数据更新——客户仅仅对经改变的数据调用更新函数。该处理的其余部分由液晶数据一体化引擎110管理,该引擎包括所配置的服务、SDO出口、传递器(mediator)、查询引擎等。在该实施方式中,将描述产生针对数据的更新的过程。当调用其读取函数之一时,图1A的数据服务112-120将SDO数据对象返回到图1A客户应用94、96、98、100和102、服务或其他过程。该应用可以是Java应用、入口、基于JSP的万维网应用、商业过程模型、服务、过程或许多其他东西。例如,图1A客户应用94、96、98、100和102可以修改数据对象的值,例如增加、删除或插入值。以变化日志即与数据对象相关联的值变化列表跟踪变化。当准备好时,图1A客户应用94、96、98、100和102、服务或其他过程提交变化回到液态式数据框架104。液态式数据框架104确定数据来自哪里。它也检查定制的更新模块;对更新过程的扩展,例如,用以应用针对更新的定制的结算逻辑单元(custom accounting logic)或用以传播该更新。然后,液态式数据框架104将变换传播回到与图1A中的服务112-120相关联的数据源。相应地,通过将客户与上述数据更新逻辑单元的复杂性隔离,一些实施方式可以节约开发入口或类似的万维网应用所需的实质性时间量。
图2A是图解访问一个实施方式的服务的技术的高级概览的操作流程图。图2A所示的访问服务的技术可用发送数据的应用(例如,图1A的物资需求计划系统(MRP)112、购买系统114、第三方关系数据库系统116、销售预测系统118或各种其他数据相关服务120)进行操作。如图2A所示,接收用以访问至少一个服务的请求和指示请求者优选结果具有的形式的标准(方框202)。代表请求者访问该至少一个服务(方框204)。响应该访问来从该至少一个服务接收结果集(方框206)。向请求者提供以请求者优选的形式格式化了的、由从该一个或多个服务接收到的结果集中的所选部分组成的结果集(方框208)。将提供给请求者的结果集的所选部分映射到与请求者相关联的视图。在一种实施方式中,以请求者优选的形式提供结果集包括根据请求者提供的标准格式化来自服务的结果集。格式化来自服务的结果集可以包括以下操作中的一个或多个:根据标准过滤、以字母顺序排序、以数字排序、类别排序和截断结果集。液态式数据框架104可以将提供给请求者的结果集的那部分映射到与请求者相关联的视图。在一种实施方式中,由方框202-208所图解的方法可以方便地配置在图1B的接口处理层140、查询编译层150和查询执行层160中。
图2B是图解可用图2A中所图解的访问服务的技术操作的客户过程的高级概览的操作流程图。图2B中所示的接收具有所指示的形式的数据的技术可用与发送数据的应用(例如,图1A客户应用94、96、98、100和102)或其他服务(例如,图1A的物资需求计划系统112、购买系统114、第三方关系数据库系统116、销售预测系统118或各种其他数据相关服务120)进行操作。如图2B所示,向服务器发送用以访问服务的请求和指示结果的优选形式的标准(方框212)。响应该请求来从服务器接收结果集(方框214)。该结果集具有优选形式。
图2C是图解用于应用查询到由一个实施方式的服务所返回的结果的技术的高级概览的操作流程图。图2C中所示的用于应用查询到服务所返回的结果的技术可用发送数据的应用(例如,图1A的物资需求计划系统112、购买系统114、第三方关系数据库系统116、销售预测系统118或各种其他数据相关服务120)进行操作。如图2C所示,接收用以访问服务的请求和指示要应用于服务所返回的结果的查询的过滤器(方框222)。代表请求者访问该服务(方框224)。响应该请求来从该服务接收结果集(方框226)。通过将该过滤器应用于从服务器接收到的结果集,来向请求者提供经过滤的结果集(方框228)。液态式数据框架104将该结果集映射到与请求者相关联的视图。在一种实施方式中,提供经过滤的结果集包括通过将查询应用于从服务器接收到的结果集,形成经过滤的结果集。过滤来自服务的结果集可以包括以下操作中的一个或多个:根据过滤器过滤、以字母顺序排序、以数字排序、类别排序和截断结果集。在一种实施方式中,由方框222-228所图解的方法可以方便地配置在图1B的接口处理层140、查询编译层150和查询执行层160中。
图2D是图解可用用于图2C所图解的访问服务的技术操作的高级概览的操作流程图。图2D中所示的用于接收经过滤的数据的技术可用发送数据的应用(例如,图1A客户应用94、96、98、100和102)或其他服务(例如,图1A的物资需求计划系统112、购买系统114、第三方关系数据库系统116、销售预测系统118或各种其他数据相关服务120)进行操作。如图2D所示,向服务器发送用以访问服务的请求和指示将应用于该服务所返回的结果的查询的过滤器(方框232)。响应该请求来从服务器接收结果集(方框234)。该结果集根据查询进行过滤,并被映射到与请求者相关联的视图。
图2E是图解用于提供关于一种实施方式的服务的SQL接口的技术的高级概览的操作流程图。图2E所示的用于提供关于服务的SQL接口的技术可用发送数据的应用(例如,图1A的物资需求计划系统(MRP)112、购买系统114、第三方关系数据库系统116、销售预测系统118或各种其他数据相关服务120)进行操作。如图2E所示,接收SQL查询(方框242)。准备用以基于SQL查询访问多个服务中至少之一的请求(方框244)。该请求被准备成服务能够理解的形式。在一种实施方式中,该请求通过将SQL查询映射到用于访问服务的XQuery请求来准备。使用该请求访问多个服务中的该至少一个以获得结果集(方框246)。准备包括响应于SQL查询而从结果集中所选择的数据的虚拟SQL表(方框248)。在一种实施方式中,由方框242-248所图解的方法可以方便地配置在图1C的接口处理层140、查询编译层150和查询执行层160中。
图2F是图解可用图2E中所图解的访问服务的技术操作的客户过程的高级概览的操作流程图。图2F所示的经由SQL接口从服务接收数据的技术可用发送数据的应用(例如,图1A客户应用94、96、98、100和102)或其他服务(例如,图1A的物资需求计划系统(MRP)112、购买系统114、第三方关系数据库系统116、销售预测系统118或各种其他数据相关服务120)进行操作。如图2F所示,向服务器发送用以访问服务的请求(方框252)。从服务器接收结果集(方框254)。该结果集包括已经由服务器从一个或多个服务中准备的部分,以便请求者将数据看作已经被组织成单一虚拟SQL表。
图3A是图解在本发明的一种实施方式中访问服务并提供具有请求者优选的形式的结果集的另一种技术的高级概览的操作流程图。图3A中所示的访问服务的技术可用发送数据的应用,诸如上述参考图2A所述的应用,进行操作。如图3A所示,从请求者接收关于来自多个服务的信息的请求与指示请求者优选结果具有的形式的标准(方框302)。访问与第一服务相关联的第一数据库(方框304)。访问与第二服务相关联的第二数据库(方框306)。从第一服务接收第一结果集(方框308)。从第二服务接收第二结果集(方框310)。向请求者提供包括从根据请求者优选的形式格式化了的第一结果集和第二结果集中选择的内容的结果集(方框312)。将提供到请求者的结果集映射到与请求者相关联的视图。在一种实施方式中,第一数据库和第二数据库中至少之一是非SQL格式数据库。
图3B是图解在一种实施方式中访问服务并根据从请求者接收到的指示将过滤应用于结果集的另一种技术的高级概览的操作流程图。图3B中所示的访问服务的技术可用发送数据的应用,诸如上述参考图2C所述的应用,进行操作。如图3B所示,从请求者接收关于来自多个服务的信息的请求与指示将要应用于从多个服务接收到结果的查询的过滤器(方框322)。访问与第一服务相关联的第一数据库(方框324)。访问与第二服务相关联的第二数据库(方框326)。从第一服务接收第一结果集(方框328)。从第二服务接收第二结果集(方框330)。向请求者提供包括按照过滤器从第一结果集和第二结果集中选择的内容的结果集(方框332)并将该结果集映射到与请求者相关联的视图。在一种实施方式中,第一数据库和第二数据库中至少之一是非SQL格式数据库。
图3C是图解在一种实施方式中采用访问服务并根据从请求者接收到的指示将SQL格式命令应用于结果集的一种技术的示例性应用型高级概览的操作流程图。图3C中所示的访问服务的技术可用发送数据的应用,诸如上述参考图2E所述的应用,进行操作。如图3C所示,从请求者接收关于来自多个服务的信息的请求与指示将要应用于从多个服务接收到结果的查询的SQL语句(方框342)。使用映射到服务理解的形式的SQL查询访问与第一服务相关联的第一数据库(方框344)。使用映射到服务理解的形式的SQL查询访问与第二服务相关联的第二数据库(方框346)。从第一服务接收第一结果集(方框348)。从第二服务接收第二结果集(方框350)。向请求者提供包括按照SQL语句从第一结果集和第二结果集中选择的内容的结果集作为虚拟SQL表(方框352)。在一种实施方式中,第一数据库和第二数据库中至少之一是非SQL格式数据库。
图4是图解可用图2A-图3C所图解的访问服务的技术进行操作的用户接口的高级概览的屏幕快照。如图4所示,屏幕400包括可以在其中显示来自一个或多个数据服务的结果的观看区402。请求者可以输入一个量(amount)来过滤结果并选择应用过滤器按钮404以便对数据服务进行过滤。图2A-图3C的处理会将这个输入应用于确保根据请求者输入的量来过滤来自一个或多个服务的结果。类似地,请求者可以选择一栏或多栏标题406以便促使图2A-图3C的处理按对应于与所选择的栏标题字段(field)分类来自服务的结果。屏幕400还包括控制服务结果的其他机制,诸如分段或截断选择按钮408以及“提交所有改变”按钮410来调用对服务返回的结果的批量更新。
将参考使用场景的示例进一步详细地描述一种实施方式的操作。在所图解的实施方式中,客户产生关于消费者的查询,每一个都具有0或多个XML格式的嵌套定单(Order)。利用这里提供的技术,客户能够以所希望的形式从服务获得结果,而不需要在准备XQuery语句时很费劲(becoming fluent)。
客户例示在表1中定义的XQueryFilter对象的实例,其可以被传递到XQuery引擎(连同在XDS中定义的函数名)。
 
表1:XQueryFilter对象
1233   public class XQueryFilterextends Java.lang.Objectimplements java.io.Serializable
XQuery引擎处理这些过滤器/定单列表(filters/orderderby list),产生并执行适当的XQuery。该方法在XML数据服务(XML Data Service,XDS)返回包含嵌套对象文档并且用户要基于确定条件查看不同视图的情况下尤其有用。例如,如果返回的文档是:(CUSTOMERS/CUSTOMER/ORDER),即,CUSTOMERS是顶层文档单元。CUSTOMER是CUSTOMERS内可以重复的序列。ORDER是CUSTOMER内可以重复的序列。表2图解用于消费者(Customer)的示例性XML数据,具有嵌套定单(Order):
 
表2:具有嵌套定单的消费者
12345 <customers><customer id="CUSTOMER_1"><name>JOHN_1</name><order id="ORDER_ID_1_0"><TOTAL_ORDER_AMOUNT>1000</TOTAL_ORDER_AMOUNT>
 
67891011121314151617181920212223242526272829    </order><order id="ORDER_ID_1_1"><TOTAL_ORDER_AMOUNT>1500</TOTAL_ORDER_AMOUNT></order></customer><customer id="CUSTOMER_10"><name>JOHN_10</name><order id="ORDER_ID_10_0"><TOTAL_ORDER_AMOUNT>1000</TOTAL_ORDER_AMOUNT></order></customer><customer id="CUSTOMER_2"><name>JOHN_2</name><order id="ORDER_ID_2_0"><TOTAL_ORDER_AMOUNT>1000</TOTAL_ORDER_AMOUNT></order><order id="ORDER_ID_2_1"><TOTAL_ORDER_AMOUNT>1500</TOTAL_ORDER_AMOUMT></order><order id="ORDER_ID_2_2"><TOTAL_ORDER_AMOUNT>2000</TOTAL_ORDER_AMOUNT></order></customer></customers>
假定的用户可能要求查看大定单(即,TOTAL_ORDER_AMOUNT>1000)。现在描述用户可以过滤具有在表2中提供的XML格式的服务数据的四个实例型情况:
1、具有至少一个大定单并且观察用于如此的CUSTOMER对象的AllORDER对象的Only CUSTOMER对象
2、除Only Large ORDER对象外的All CUSTOMER对象
3、具有至少一个大定单并且观察Only Large ORDER对象的OnlyCUSTOMER对象(基本上是1和2)
4、只具有大定单(即ORDER_AMOUNT>1000)的Only CUSTOMER对象。
例如,代替对这4种情况的写XQuery,用户在经由图1A的液态式数据框架104调用服务时仅仅需要将XqueryFilter对象作为参数进行传递。
在第一种场景下,用户想要仅通过将标准应用于低级对象(即order/TOTAL_ORDER_AMOUNT)来基于消费者(顶级对象)进行过滤。具有至少一个大定单的All Customers将返回所有定单(即,定单不过滤)。在表3中叙述在客户端添加过滤器的示例:
 
表3:用以仅仅过滤消费者的客户的AddFilter
123    XQueryFilter filter=new XQueryFilter( );filter.addFilter("CUSTOMER","CUSTOMER/ORDER/ORDER_AMOUNT",">","1000");
在表4中示出了为表3中的客户的AddFilter调用产生的对应XQuery:
 
表4:只过滤消费者的查询
123 For $c in document(Customers)/Customers/CustomerWhere some $o in $c/order satisfies$o/TOTAL_ORDER_AMOUNT>1000Return $c
该查询将产生在表5中示出的输出。注意到,在表5的输出中,表2的第11-16行的CUSTOMER_10不返回,因为不存在任何大于1000的、与CUSTOMER_10相关联的定单。还注意到,即使在服务所返回的数据存在小于或等于1000单位的定单,也不过滤任何定单。
 
表5:只过滤消费者的输出
 
123456789101112131415161718192021222324   <customers><customer id="CUSTOMER_1"><name>JOHN_1</name><orderid="ORDER_ID_1_0"><TOTAL_ORDER_AM OUNT>1000</TOTAL_ORD ER_AMOUNT></order><orderid="ORDER_ID_1_1"><TOTAL_ORDER_AMOUNT>1500</TOTAL_ORDER_AMOUNT></order></customer><customer id="CUSTOMER_2"><name>JOHN_2</name><order id="ORDER_ID_2_0"><TOTAL_ORDER_AMOUNT>1000</TOTAL_ORDER_AMOUNT></order><order id="ORDER_ID_2_1><TOTAL_ORDER_AMOUNT>1500</TOTAL_ORDER_AMOUMT></order><orderid="ORDER_ID_2_2"><TOTAL_ORDER_AMOUNT>2000</TOTAL_ORDER_AMOUNT></order></customer></customers>
在第二种场景中,用户想要仅仅查看较大的定单以及仅仅有这些定单的那些消费者。在表6中叙述了对于这种场景在客户端添加过滤器的示例:
 
表6:仅仅对较大定单客户的AddFilter以及仅仅有这些定单的那些消费者
12 XQue ryFilter fi lter=new XQueryFilter( );filter.addFilter        (           "CUSTOMER",
 
3 "CUSTOMER/ORDER/ORDER_AMOIMT",">","1000");
表7图解表6所示的为客户的AddFilter产生的对应XQuery:
 
表7:只过滤较大定单以及仅仅有这些定单的那些消费者的查询
12345678910111213   For $c in document (Customers)/Customers/CustomerWhere some $o in $c/order satisfies $o/TOTAL_ORDER_AMOUNT>1000Return<customerid={$c/@id}>{$c/name}{$c/othet customer elements except order}{For $ord in $c/orderWhere $ord/TOTAL_ORDER_AMOUNT>1000Return $ord}</customer>
该查询将产生在表8中示出的输出。注意到,在表8中,该输出已经由嵌套的对象(定单)以及第一级对象(消费者)过滤。
 
表8:只过滤较大定单以及仅仅有这些订单的那些消费者的输出
1234567 <customers><customer id="CUSTOMER_1"><name>JOHN_1</name><order id="ORDER_ID_1_1"><TOTAL_ORDER_AMOUNT>1500</TOTAL_ORDER_AMOUNT></order></customer>
 
89101112131415161718    <customerid="CUSTOMER_2"><name>JOHN_2</name><order id="ORDER_ID_2_1><TOTAL_ORDER_AMOUNT>1500</TOTAL_ORDER_AMOUMT></order><orderid="ORDER_ID_2_2"><TOTAL_ORDER_AMOUNT>2000</TOTAL_ORDER_AMOUNT></order></customer></customers>
在第三种场景中,用户想要仅仅查看所有消费者(即在顶级不过滤),然而仅仅查看大定单。换句话说,不应该存在针对不具有任何大定单的消费者显示的东西。在表9中叙述了对于这种场景在客户端添加过滤器的示例:
 
表9:仅仅过滤较大定单并显示所有消费者的客户AddFilter
123 XQueryP iltcr filter-new XQueryPilter( ):Filter.addFilter("CUSTOMER/ORDER","CUSTOMER/ORDER/ORDER_AMOUNT",">","1000");
表10图解对应于表9的、所产生的XQuery:
 
表10:仅仅过滤较大定单但显示所有消费者的查询
1234567   For $c in document(Customers)/Customers/CustomerReturn<customer id={$c/@id}>{$c/name}{$c/othet customer elements except order}{For $ord in $c/order
 
89101112          Whereo $ord/TOTAL_ORDER_AMOUNT>1000Return $ord}
该查询将产生在表11中示出的输出。注意到,在表11的第8至10行中、该输出将包括CUSTOMER_10,但没有示出关于CUSTOMER_10的定单,因为在表2的数据方案中没有任何与这个消费者相关联的大定单(即,>1000)。
 
表11:用于仅仅过滤较大定单但示出所有消费者的输出
1234567891011121314151617181920    <customers><customer id="CUSTOMER_1"><name>JOHN_1</name><order id="ORDER_ID_1_1"><TOTAL_ORDER_AMOU NT>1500</TOTAL_ORDER_AMOU NT></order></customer><customer id="CUST0MER_10″><name>JOHN_10</name></customer><customer id="CUSTOMER_2"><name>JOHN_2</name><order id="ORDER_ID_2_1"><TOTAL_ORDER_AMOUNT>1500</TOTAL_ORDER_AMOUMT></order><order id="ORDER_ID_2_2"><TOTAL_ORDER_AMOUNT>2000</TOTAL_ORDER_AMOUNT></order></customer></customers>
 
21
在第四种场景中,用户想要仅仅查看具有大定单的那些消费者。在表12中叙述了对于这种场景在客户端添加过滤器的示例:
 
表12:仅仅过滤较大定单但显示所有消费者的客户AddFilter
123 XQueryPilter filter=new XQueryPilter ( );Filter.addFilter("CUSTOMER/ORDER","CUSTOMER/ORDER/ORDER_AMOUNT",">","1000");
表13图解为表12中所示的addFilter情况所产生的XQuery:
 
表13:仅仅过滤具有较大定单的那些消费者的查询
12345        For $c in document(Customers)/Customers/CustomerWhere every $o in $c/order satisfies $o/TOTAL_ORDER_AMOUNT>1000Return $c
在该示例中,由于没有消费者在表2中的数据中仅仅具有大定单,因此上述查询将返回空集。虽然前述示例图解了在将服务返回的信息提供给用户之前过滤该信息的技术的用法,但本发明提供的技术几乎不受此限制,而且可以定制、排序(ordering)或截断由服务提供的数据的其他形式。
在其他方面,在某些实施方式中,本发明包含计算机设备、计算系统和配置来实现前述方法的机器可读介质。除了由专用集成电路或其他电子元件构成的实施方式外,本发明还可以使用根据本公开的教导进行编程的传统通用或专用数字计算机或微处理器来方便地实现,就像计算机领域的技术人员明白的那样。
熟练的程序员基于本公开的教导可以轻易地准备适当的软件代码,就像软件领域的技术人员明白的那样。本发明也可以由准备好的专用集成电路或通过互连传统元件电路的适当网络来实现,就像本领域技术人员容易明白的那样。
本发明包括计算机程序产品,其为具有存储在其上/中、可以用于编程计算机以执行本发明的任何处理的指令的存储介质。该存储介质可以包括但不限于任何类型的旋转介质(包括软盘、光盘、DVD、CD-ROM、微型驱动器和磁光盘)和磁或光卡超小型系统(nanosystem)(包括分子存储器IC)或适合存储指令和/或数据的任何类型的介质或装置。
本发明存储在任何一个计算机可读介质上的内容包括控制通用/专用计算机或微型处理器的硬件并使计算机或微型处理器与人类用户或利用本发明的结果的其他机构交互的软件。这样的软件可以包括但不限于装置驱动器、操作系统和用户应用。
通用/专用计算机或微型处理器的编程(软件)中所包括的是实现本发明的教导的软件模块,这些教程包括但不限于提供这里所述的访问服务的机制和方法。
图5图解了示例性处理系统500,其可以包括图1A-图1C的一个或多个单元。现在转到图5,图解了示例性计算系统,其可以包括1A-图1C的一个或多个单元。虽然可以使用其他替换实施方式,但为了清楚起见,假定图1A-图1C的系统组成部分以硬件、软件或由与之兼容的一个或多个计算系统的某种组合来实现,除非另有声明。
计算系统500包括经由一个或多个通信信道(例如,总线501)连接的组成部分,包括一个或多个通用或专门处理器502(诸如
Figure A200680018895D00251
Figure A200680018895D00252
Power 
Figure A200680018895D00253
数字信号处理器("DSP"))等。根据具体应用,系统500的组成部分中也包括一个或多个输入装置503(诸如鼠标、键盘、麦克风、笔等)以及一个或多个输出设备504(诸如适当的显示器、扬声器、激励器(actuator)等)。(应该理解,输入或输出装置也可以类似地包括适合智力或身体缺陷者使用的多个专门装置或硬件/软件装置增强。)
系统500也包括连接到计算机可读存储介质506(诸如外/内存储装置(storage/memory)或硬盘或可拆卸外/内存储介质)的计算机可读存储介质读取器505。这样的装置或介质还进一步单独地指示为外存储器508和内存储器509,根据具体应用的需要,它们可以包括硬盘变体、软盘/紧密盘变体、数字多功能盘("DVD")变体、智能卡、只读存储器、随机存取存储器、高速缓存器等。也可以包括一个或多个适当的通信接口507,诸如调制解调器、DSL、红外、RF或其他适当的收发器等,用于直接或经由一个或多个适当的私或公网或其他可以包括但不限于已经讨论的这些组成部分,提供装置间通信。
工作存储器510还包括操作系统("OS")511单元和其他程序512,诸如可能存储或装载在其中用来实现系统500的各组成部分的应用程序、移动代码、数据等中的一个或多个。具体操作系统可能根据具体应用随着具体装置、特征或其他方面而变化(例如,Windows、WindowsCE、Mac、Linux、Unix或Palm操作系统变体、蜂窝电话操作系统、私有操作系统、Symbian等)。按照具体应用的需要,也可以利用各种编程语言或其他工具,诸如与C语言变体(例如,C++,C#)、Java2Platform,Enterprise Edition("J2EE")或其他编程语言兼容的编程语言。例如,其他程序512还可以包括活动系统、教育管理器、教育综合器(integrator)或接口、安全性、其他同步、其他浏览器或组件代码等中的一个或多个,并包括但不限于这里和别处讨论过的那些。
当以软件(例如,作为整体或部分的应用程序、对象、代理、可下载的、小服务程序(servlet)等)实现时,学习综合系统或其他组成部分可以从本地或远程存储器过渡性或更持久性地向内存储器(SRAM、高速缓存器等)进行通信,以便执行,也可以使用另一个适当的机构,并且组成部分可以以经编译或解释形式实现。按照具体应用,输入、中间或结果数据或功能单元可以进一步更过渡性或更持久性地驻留在存储介质、高速缓存或其他易失性或非易失性存储器(例如,外存储装置508或内存储器509)。
本发明的其它特征、方面和目的可以从附图和权利要求的评论获得。可以理解,可以开发本发明的其它实施方式,而且落入本发明和权利要求的精神和范围内。已经为说明和描述目的而提供了本发明的优选实施方式的前述描述。不打算详尽或限定本发明到所公开的精确形式。本领域技术人员将明白很多改进和变型。为了更好地解释本发明原理及其实际应用,从而使本领域的其它技术人员理解本发明的各种实施方式以及适合预期的特殊用途的各种改进,选择和描述了这些实施方式。确定本发明的范围由本发明的权利要求及其等同物进行限定。

Claims (24)

1.一种访问服务的方法,该方法包括:
从请求者处接收用以访问至少一个服务的请求以及指示该请求者优选结果具有的形式的标准;
代表该请求者访问该至少一个服务;
响应该访问接收来自该至少一个服务的至少一个结果集;以及
向该请求者提供由以该请求者优选的形式格式化的该至少一个结果集的所选部分构成的结果集,其中将提供给请求者的结果集的所选部分映射到与该请求者相关联的视图。
2.根据权利要求1所述的方法,其中,向该请求者提供具有请求者优选的形式的该结果集包括:
根据所述标准格式化来自该服务的该结果集。
3.根据权利要求2所述的方法,其中,根据所述标准格式化来自该服务的该结果集还包括根据所述标准进行下列至少之一:
过滤、以字母顺序排序、按数值排序、按类别排序和截断该结果集。
4.根据权利要求1所述的方法,其中,从请求者处接收用以访问至少一个服务的请求以及指示该请求者优选结果具有的形式的标准包括:
从请求者处接收用以访问至少一个服务的请求和指示要应用于该至少一个服务所返回的结果的查询的过滤器。
5.根据权利要求4所述的方法,其中,向该请求者提供具有该请求者优选的形式的该结果集包括:
通过将该过滤器应用于从该至少一个服务接收到的该结果集来提供经过滤的结果集,其中该经过滤的结果集被映射到与该请求者相关联的视图。
6.根据权利要求5所述的方法,其中,提供经过滤的结果集包括:
通过将该过滤器应用于从该服务所接收到的结果集来形成该经过滤的结果集。
7.根据权利要求6所述的方法,其中,通过将该查询应用于从该服务所接收到的结果集来形成该经过滤的结果集包括根据所述过滤器进行下列至少之一:
过滤、以字母顺序排序、按数值排序、按类别排序和截断该结果集。
8.根据权利要求1所述的方法,其中,该服务包括能够提供服务到请求者或其它接收者的计算机驻留应用。
9.根据权利要求8所述的方法,其中,该服务包括下列至少之一:
基于网络的应用、基于万维网的服务器驻留应用、万维网入口、搜索引擎、相片、音频或视频信息存储应用、电子商务应用、备份或其他存储应用、销售/收益计划编制、营销、预测、结算、库存管理应用或其他商业应用。
10.根据权利要求1所述的方法,还包括:
向该服务器发送用以访问至少一个服务的请求以及指示结果的优选形式的标准;以及
响应该请求从该服务器接收来自该至少一个服务的结果集,其中该结果集被格式化为该优选形式,并且该结果集被映射到与请求者相关联的视图。
11.根据权利要求10所述的方法,其中,向服务器发送用以访问服务的请求以及指示结果的优选形式的标准还包括:
向服务器发送指示该结果的该优选形式是下列至少之一的标准:
过滤、以字母顺序排序、按数值排序、按类别排序和截断。
12.根据权利要求1所述的方法,还包括:
访问与第一服务相关联的第一数据库;
访问与第二服务相关联的第二数据库;
从该第一服务接收第一结果集;
从该第二服务接收第二结果集;以及
向该请求者提供包括从以该请求者优选的形式格式化的该第一结果集和该第二结果集中选择的内容的结果集,其中提供给该请求者的该结果集被映射到与请求者相关联的视图。
13.根据权利要求12所述的方法,其中,该第一数据库和该第二数据库中至少之一是非SQL格式数据库。
14.根据权利要求1所述的方法,其中,从该请求者接收用以访问至少一个服务以及指示该请求者优选结果具有的形式的标准包括:
接收SQL查询。
15.根据权利要求14所述的方法,其中,向该请求者提供具有该请求者优选的形式的该结果集包括:
响应该SQL查询准备包括从该结果集中选择的数据的虚拟SQL表。
16.根据权利要求15所述的方法,其中,响应该SQL查询准备包括从该结果集中选择的数据的虚拟SQL表包括:
向该请求者提供来自该多个服务的数据,以便将数据像已经被组织成单一虚拟SQL表那样呈现给该请求者。
17.根据权利要求14所述的方法,其中,接收SQL查询包括:
接收包括嵌套SQL命令的服务调用。
18.根据权利要求14所述的方法,其中,该多个服务之一包括XQuery接口,并且响应该SQL查询准备包括从该结果集中选择的数据的虚拟SQL表使得产生SQL查询的SQL应用与该多个服务中的该至少一个连接,以使用SQL格式获得信息。
19.根据权利要求14所述的方法,其中,代表该请求者访问该至少一个服务包括:
准备用以基于该SQL查询访问多个服务中至少之一的请求。
20.根据权利要求19所述的方法,其中准备用以基于该SQL查询访问多个服务中至少之一的请求包括:
将该SQL查询映射到用于访问多个服务中至少之一的XQuery请求。
21.根据权利要求20所述的方法,其中,将该SQL查询映射到用于访问多个服务中至少之一的XQuery请求包括:
确定该SQL查询的语法是否正确,如果该SQL查询的语法正确,则准备该XQuery请求。
22.根据权利要求20所述的方法,还包括:
如果该SQL查询的语法不正确,则确定避免准备该XQuery请求。
23.一种携带用于访问服务的一个或多个指令序列的计算机可读介质,其中,该指令在由一个或多个处理器执行时使得该一个或多个处理器实现权利要求1-22所述的步骤。
24.一种代理服务器,包括:
处理器;以及
一个或多个存储的指令序列,其在由该处理器执行时使得该处理器实现步骤:
从请求者处接收用以访问至少一个服务的请求以及指示该请求者优选结果具有的形式的标准;
代表该请求者访问该至少一个服务;
响应该访问接收来自该至少一个服务的至少一个结果集;以及
向该请求者提供由以请求者优选的形式格式化的该至少一个结果集的所选部分构成的结果集,其中将提供给该请求者的结果集的所选部分映射到与该请求者相关联的视图。
CNA2006800188955A 2005-03-29 2006-03-27 智能服务的查询处理 Pending CN101490672A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US66594405P 2005-03-29 2005-03-29
US60/665,964 2005-03-29
US60/665,943 2005-03-29
US60/665,944 2005-03-29
US11/341,237 2006-01-27
US11/340,950 2006-01-27
US11/341,277 2006-01-27

Publications (1)

Publication Number Publication Date
CN101490672A true CN101490672A (zh) 2009-07-22

Family

ID=40892121

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800188955A Pending CN101490672A (zh) 2005-03-29 2006-03-27 智能服务的查询处理

Country Status (2)

Country Link
US (1) US20060224557A1 (zh)
CN (1) CN101490672A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930006A (zh) * 2011-10-31 2013-02-13 微软公司 移植到非sql域的sql构造
CN103810219A (zh) * 2012-11-15 2014-05-21 中国移动通信集团公司 一种基于行存储数据库的数据处理方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849114B2 (en) * 2006-06-19 2010-12-07 International Business Machines Corporation Method, system, and program product for generating a virtual database
US12026267B2 (en) * 2020-12-18 2024-07-02 Palantir Technologies Inc. Approaches of enforcing data security, compliance, and governance in shared infrastructures

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544355A (en) * 1993-06-14 1996-08-06 Hewlett-Packard Company Method and apparatus for query optimization in a relational database system having foreign functions
US5764973A (en) * 1994-02-08 1998-06-09 Enterworks.Com, Inc. System for generating structured query language statements and integrating legacy systems
JP3747525B2 (ja) * 1996-08-28 2006-02-22 株式会社日立製作所 並列データベースシステム検索方法
US6175837B1 (en) * 1998-06-29 2001-01-16 Sun Microsystems, Inc. Object-relational mapping toll that processes views
JP3219386B2 (ja) * 1997-12-26 2001-10-15 松下電器産業株式会社 情報フィルタ装置及び情報フィルタ方法
US6336114B1 (en) * 1998-09-03 2002-01-01 Westcorp Software Systems, Inc. System and method for restricting access to a data table within a database
US6324537B1 (en) * 1999-09-30 2001-11-27 M-Systems Flash Disk Pioneers Ltd. Device, system and method for data access control
JP3546787B2 (ja) * 1999-12-16 2004-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス制御システム、アクセス制御方法、及び記憶媒体
US7228291B2 (en) * 2000-03-07 2007-06-05 International Business Machines Corporation Automated trust negotiation
CA2376249C (en) * 2000-04-05 2010-01-12 British Telecommunications Public Limited Company Data management system
US6862594B1 (en) * 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6505188B1 (en) * 2000-06-15 2003-01-07 Ncr Corporation Virtual join index for relational databases
US7140044B2 (en) * 2000-11-13 2006-11-21 Digital Doors, Inc. Data security system and method for separation of user communities
US20030014394A1 (en) * 2001-03-22 2003-01-16 Shinji Fujiwara Cell-level data access control using user-defined functions
US6801229B1 (en) * 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US7096367B2 (en) * 2001-05-04 2006-08-22 Microsoft Corporation System and methods for caching in connection with authorization in a computer system
US6658432B1 (en) * 2001-06-20 2003-12-02 Microstrategy, Inc. Method and system for providing business intelligence web content with reduced client-side processing
CN1647070A (zh) * 2001-06-22 2005-07-27 诺萨·欧莫贵 用于知识检索、管理、交付和表示的系统和方法
US6823362B2 (en) * 2001-10-16 2004-11-23 Hewlett-Packard Development Company, L.P. Effectively and efficiently updating content files among duplicate content servers
US7272610B2 (en) * 2001-11-02 2007-09-18 Medrecon, Ltd. Knowledge management system
US20030097443A1 (en) * 2001-11-21 2003-05-22 Richard Gillett Systems and methods for delivering content over a network
US7181513B1 (en) * 2002-02-28 2007-02-20 America Online, Inc. Restricting access to requested resources
US7216125B2 (en) * 2002-09-17 2007-05-08 International Business Machines Corporation Methods and apparatus for pre-filtered access control in computing systems
EP1567929A2 (en) * 2002-11-15 2005-08-31 Creo Inc. Methods and systems for sharing data
US20040139043A1 (en) * 2003-01-13 2004-07-15 Oracle International Corporation Attribute relevant access control policies
US8005854B2 (en) * 2003-03-14 2011-08-23 Sybase, Inc. System with methodology for executing relational operations over relational data and data retrieved from SOAP operations
JP4537022B2 (ja) * 2003-07-09 2010-09-01 株式会社日立製作所 データ配置に制限を設けるデータ処理方法、記憶領域制御方法、および、データ処理システム。
US7958150B2 (en) * 2004-04-30 2011-06-07 International Business Machines Corporation Method for implementing fine-grained access control using access restrictions
US7343369B2 (en) * 2004-11-18 2008-03-11 International Business Machines Corporation Method and apparatus for predicting selectivity of database query join conditions using hypothetical query predicates having skewed value constants
US7752272B2 (en) * 2005-01-11 2010-07-06 Research In Motion Limited System and method for filter content pushed to client device
US7337170B2 (en) * 2005-01-18 2008-02-26 International Business Machines Corporation System and method for planning and generating queries for multi-dimensional analysis using domain models and data federation
US20060200463A1 (en) * 2005-03-03 2006-09-07 International Business Machines Corporation Determining a presentation rule in response to detecting multiple users

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930006A (zh) * 2011-10-31 2013-02-13 微软公司 移植到非sql域的sql构造
CN103810219A (zh) * 2012-11-15 2014-05-21 中国移动通信集团公司 一种基于行存储数据库的数据处理方法及装置
CN103810219B (zh) * 2012-11-15 2017-03-22 中国移动通信集团公司 一种基于行存储数据库的数据处理方法及装置

Also Published As

Publication number Publication date
US20060224557A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
US20230222109A1 (en) Method and apparatus for converting heterogeneous databases into standardized homogeneous databases
US7574379B2 (en) Method and system of using artifacts to identify elements of a component business model
US9547601B2 (en) Custom caching
CN101084494B (zh) 用于管理计算机环境中的工作流的方法和设备
JP4594306B2 (ja) 自己記述型ビジネスオブジェクト
JP4571636B2 (ja) サービス指向ビジネスフレームワークのサービス管理
CN1744120B (zh) 应用程序对象与智能客户机对象之间的转换
JP4375562B2 (ja) アプリケーションサーバのクラスタへの多重企業プランニングモデルの展開
US8041760B2 (en) Service oriented architecture for a loading function in a data integration platform
US8176083B2 (en) Generic data object mapping agent
JP4965078B2 (ja) 企業プランニング環境内のデータのリアルタイム集合
CN100476823C (zh) 存储状态指定健康相关情节数据的方法和系统
US20050120021A1 (en) Metadata driven intelligent data navigation
EP1687744A1 (en) Systems and methods for retrieving data
CN110249356B (zh) 一种用户定义的erp功能的共享方法及系统
US20210103862A1 (en) Methods and apparatus for exposing workflow process definitions as business objects
Nikolaidou et al. Business process modelling and automation in the banking sector: A case study
JP4384985B2 (ja) 企業プランニング環境内のネットワーク通信のインライン圧縮
CN101490672A (zh) 智能服务的查询处理
US20040088290A1 (en) Computer system
de Raad ECBF: E-Commerce Back-office Framework
Kozynets Justification of the Customer Front Systems in the Bank-Sector with consideration of managerial implementation
Tao et al. SERVICE ORIENTED BUSINESS PROCESS DEVELOPMENT USING BPEL: A CASE STUDY
Van Rensburg An alternative to an operational system and data warehouse systems: a conceptual model
EP1872285A2 (en) Query processing for smart services

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ORACLE INT CORP

Free format text: FORMER OWNER: BEA SYSTEMS CORP.

Effective date: 20110415

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

Effective date of registration: 20110415

Address after: American California

Applicant after: Oracle Int Corp

Address before: American California

Applicant before: Bea Systems Corp.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20090722