CN1382278A - 执行数据库查询的模块化方法和系统 - Google Patents
执行数据库查询的模块化方法和系统 Download PDFInfo
- Publication number
- CN1382278A CN1382278A CN00812612A CN00812612A CN1382278A CN 1382278 A CN1382278 A CN 1382278A CN 00812612 A CN00812612 A CN 00812612A CN 00812612 A CN00812612 A CN 00812612A CN 1382278 A CN1382278 A CN 1382278A
- Authority
- CN
- China
- Prior art keywords
- data
- driver
- data driver
- carry out
- query
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种驻留在计算机可读介质上的查询引擎,该查询引擎包括数据驱动器程序库和智能数据集。程序库中的每一个数据驱动器能够执行预定义的数据库操作。智能数据集能够响应查询请求以从程序库中识别执行该请求的必要的数据驱动器程序,智能数据集还能够确定执行该请求的必需的数据驱动器的必需顺序,以必需顺序生成包括必需的数据的驱动器的驱动器链,以及按顺序执行驱动器链中的数据驱动器。
Description
技术领域
本发明一般涉及分析数据处理领域,特别是执行数据库查询的模块化方法和系统。
背景技术
商业智能系统主要是作为决策支持系统(DSS)和执行信息系统(EIS)开始的。决策支持系统(DSS)和执行信息系统(EIS)是从现有的联机交易处理(OLTP)系统提供附加信息的增值系统。
随着商业智能系统的发展,它们将决策支持系统(DSS)的功能性与执行信息系统(EIS)的功能性集成在一起,并增加了联机分析处理(OLAP)工具和管理报告工具。这些混合商业智能系统逐渐地从大型机环境转移到分布式服务器/桌面环境,以允许更多的用户访问。
近些年来,中央式数据仓库(data warehouses)和数据中心(datamarts)的出现已经造成在机构内等待分析、利用和分配的有效数据急剧增加。然而,这种数据仓库和数据中心通常是为信息传递而不是为交易处理而最佳化的。结果,数据仓库和数据中心仅提供将存储的数据转换成有用的和关键的策略信息的有限的方案。同时,通过提供用于分析大量存储信息的复杂分析工具以支持机构内的有效规划和决策,商业智能系统取得了主导地位。
在商业智能系统和其它分析处理工具中,通常提供数据集以执行所请求的数据库查询。该数据集必须能够执行全部必须的数据库操作,诸如提取、分类、索引和搜索操作。而且数据集必须能够以指定的次序执行操作。结果,必须将数据库操作的全部可能的组合在数据集中识别和编程。这种数据集的定制实现起来是耗时耗财的。而且为增强现存系统而提供附加性能需要进一步定制数据集。
发明内容
本发明提供一种用于执行数据库查询的模块化方法和系统,该方法和系统基本消除或减少了与以前的系统和方法相关的缺点和问题。具体地,该方法和系统使用动态选择和排序模块数据驱动器的智能数据集以执行请求的查询所需要的数据库操作。
根据本发明的一个实施例,一种驻留在计算机可读介质上的查询引擎包括数据驱动器程序库和智能数据集。程序库中的每一个数据驱动器能够执行预定义的数据库操作。智能数据集能够响应查询请求以从程序库中识别执行该请求的必要的数据驱动器程序,智能数据集还能够确定执行该请求的必需的数据驱动器的必需顺序,以必需顺序生成包括必需的数据的驱动器的驱动器链,以及按顺序执行驱动器链中的数据驱动器。
更具体地,根据本发明的特定实施例,每一个数据驱动器还包括基本界面方法。在该实施例中,该基本界面方法能够在执行所对应的数据驱动器的特定数据库操作时,调用驱动器链中下一个数据驱动器。数据驱动器程序库可以包括能够执行提取、分类、索引、搜索和其它数据库操作的一个或多个数据驱动器。
本发明的技术优势包括提供一种改进的有效执行数据库查询的商业智能入口。具体地,商业智能入口使用标准访问方法执行数据库查询。结果,不需要为特定的数据库查询定制入口,并且降低了提供和维护商业智能入口的费用。
本发明的另一个技术优势包括提供模块化查询引擎。该模块化查询引擎包括智能数据集和执行数据库查询的模块化数据驱动器程序库。智能数据集动态选择和排序执行请求的查询所需的数据驱动器。结果,数据集是独立使用并且能够被容易地修改以支持新功能。
对本领域技术人员来说,本发明的其它技术优势可从后面的附图、说明书和权利要求书中容易地得出。
附图说明
为了更完整地理解本发明和其优点,下面结合附图进行如下的说明,其中相同的参考标记代表相同的部件,其中:
图1是说明根据本发明的一个实施例的商业智能入口的方框图;
图2是说明用于初始化根据本发明的一个实施例的图1的商业智能入口的方法的流程图;
图3是说明用于生成根据本发明一个实施例的图1的商业智能入口中的预定义查询模型的方法的流程图;
图4是说明用于配置和维护根据本发明的一个实施例的图1的商业智能入口中的客户机应用程序的流程图;
图5是说明用于基于根据本发明的一个实施例的预定义查询模型生成和执行一个查询模型的方法的流程图;
图6是说明根据本发明的一个实施例的图1的模块化查询引擎的操作的流程图;
图7是说明根据本发明的一个实施例的图6的模块化查询引擎的操作的流程图;
图8是说明根据本发明的一个实施例的多维存储模型的方框图;
图9是说明图8的多维存储模型的示例性数据的方框图;
图10是说明用于生成根据本发明的一个实施例的图8的多维存储模型的方法的流程图;
图11是说明在根据本发明的一个实施例的图1的公文夹中显示相关视图的屏幕图;和
图12是说明用于在根据本发明的一个实施例的相关视图之间进行导航(navigating)的窗口标签的屏幕图。
具体实施方式
图1说明了根据本发明一个实施例的商业智能入口(portal)10。一般地说,商业智能入口10提供跨越企业的综合数据访问和信息共享,以及复杂的多维分析工具。该分析工具是高度自动化的和直观的,以允许宽范围的用户在进行战略决策时利用存储的信息。这样,商业智能入口10最大化用户从他们的数据中接收的决策支持利益,同时最小化实施和管理系统的成本。
在图1所示的实施例中,商业智能入口10实现了三层级分布式结构,包括由一个或多个网络18连接的一个数据库层级12、一个服务器层级级14和一个客户机层级16。服务器和客户机层级14和16是基于Java的,以支持网际通信协议(TCP/IP)、多客户机和服务器平台、对多种数据源的组合连接、和跨越企业的入口10的完全可移植性。另外,基于Java的服务器和客户机层级14和16提供开放式API结构,该结构可适用于处理数据库中的结构化数据和非结构化数据。客户机/服务器网络18包括公司的企业网,而服务器/数据库网络18包括部分公共和私有网络。可以理解,商业智能入口10可以用其它合适的结构、编程语言、和链接来实现。
参照图1,数据库层级12包括一个或多个数据库20。如下面更详细所述,每个数据库20以包含所有连接到该数据库20的必要信息的别名而显露,包括数据库登录。数据库别名的使用防止了对本地数据库的直接用户访问,以便维护数据库20的完整性。对此示例性实施例,数据库20的每个可以是任何Java数据库连接(JDBC)或目标数据库连接(ODBC)适应的数据库,以及适当的数据仓库或数据中心。
服务器层级14包括一个或多个服务器30。服务器30每一个包括一组可以在不同平台上操作的基于Java的应用程序。如下面更详细所述,服务器30为商业智能入口10提供分层安全、中央管理、快速多线程组合数据访问、和多维数据分析。
服务器30包括目录32、目录管理器34、安全管理器36、查询生成器38、数据库访问系统40、高速缓存管理器42、多维模型管理器44、和客户机管理员46。目录32存储所有由商业智能入口10的管理员和用户创建的配置、文件和工作成果。这集中了文件的管理,消除了客户机系统上的冗余和过时副本,允许文件在企业间共享,并为文件提供连续的安全性。目录管理器34管理服务器30内的全部共享信息。可以理解,这些配置、文件和工作成果也可以另外在商业智能入口10中适当地存储并管理。
目录32包括一个或多个由系统管理员配置的数据库别名50、用户简档52、安全组54、和预定义查询模型56。目录32还包括一个或多个存储由系统用户创建的相关视图60的公文夹58。如上所述,数据库别名50包含所有连接到数据库20必要的信息。数据库别名50的使用防止了直接用户数据库访问,以维持本地数据库20中的数据完整性,并使非技术用户可能安全地访问公司数据,而不用担心被毁坏。另外,数据库别名50还用作对物理数据库20的组合连接,并且因此减小了支持大量客户机所必需的数据库连接的数量。
用户简档52每一个都为用户定义了优先权的指定范围和一个或多个用户对其具有访问权的安全组54。用户简档52由系统管理员生成并维护。安全组54用由系统管理员分配给每个组54的安全权和优先权实现分层安全模型。提供管理员安全组以允许管理员对系统的充分的访问权,包括增加、修改、和删除系统中的安全组54和用户简档52的许可。用户继承的最终的安全权和优先权是如用户简档52中定义的他或她的个人的权力和他或她所属于的每个安全组54的权力的统一。这样,暴露给用户的系统特性通过从安全组54分配或个人用户简档52持有的许可或优先权的扩展使用被控制。因此,管理员可以具有连接到数据库20并增加或删除用户的能力,而有能力的用户可能不具有这个许可。作为替代,有能力的用户可以具有对全范围的数据分析和协作特征的访问权,而信息消费者仅仅能够运行并修改预先由管理员或有能力的用户定义的报告或图表。
预定义查询模型56自身含有特定数据库的逻辑模型,该特定数据库的逻辑模型是为了使较少技术背景的用户容易地和直观地作出查询创建而建立的。预定义查询模型56还从数据库20中抽取数据,仅暴露数据库20中的与将使用特定查询模型56的用户的组或各组相关的那些部分。预定义查询模型56包括来自数据库的相关表、数据库表内的字段和共同定义查询的各数据库表之间的链接。预定义查询模型56形成由用户创建的所有查询的基础。这样,预定义查询模型56控制任何特定用户组将具有访问权的任何数据库20中的元素。此外,预定义查询模型56建立可以限制任何用户组进行查询的类型的机制。具体地,该机制定义最大计算机资源,或控制器,它们可以被用来执行查询和允许在各表之间结合,以防止可能冲击商业智能入口10的完整性的失控或恶意查询。
公文夹58提供了一种存储用户创建或获得的视图60的文件系统。此外,为了在内部生成视图60,公文夹58可以包括,例如,字处理文件、电子数据表文件和网页的视图60。公文夹58的每一个都是一个复合文件,它能够恢复视图60或其它有关数据集的收集。视图60可以直接被存储在公文夹58中,或者在公文夹58中相互链接。
对公文夹58的访问由为用户建立的安全参数确定,并且还由公文夹58中的视图60的生成器确定。在一个实施例中,用户永远不会看见他们不具有访问优先权的公文夹58。另外,可以定制公文夹58,以当公文夹58中的视图60已经被更新或另外修改时向相关的用户提供通知。这样,系统操作的安全性被维护得完整,有利于企业内的协作和信息共享。
视图60提供用于显示诸如表格、图形、报告、数据透视表(pivot)和网页的多种格式。视图60既可以是代表当前数据的现场(live)视图,也可以是在特定时间点的数据的瞬像视图。另外,如下更详细所述,现场视图60可以被安排为以规则的间隔自动更新、当第一次打开时更新等等。瞬像视图60可以被设置为覆盖在先的瞬像或为历史分析创建瞬像或翻转视图60的序列。视图60和公文夹58可以由用户进行私人保存或可以在一个或多个安全组54中共享,以有助于协作和进行决策。
安全管理器36管理商业智能入口10中的安全。具体地,安全管理器36包括用于生成和维护用户简档52和安全组54的预定义安全任务。安全管理器36还提供允许用户简档52和安全组54从父级继承优先权的安全层次。这样,系统管理员可以容易地建立并维护商业智能入口10的安全。
查询生成器38提供数据库元素的图形视图,以在定义查询模型中帮助系统管理员和有能力的用户。预定义的每个查询模型56定义数据库连接、从数据库显露的表格和栏目的集合(family)、允许的结合类型和联合、元数据、执行控制器、和查询的别名。预定义查询模型56可以在以后由大量的用户进行修改和使用,以执行安全的查询。
数据库访问系统40包括功能性和软件,用于访问和查询数据库20,并且用于将查询结果返回给服务器30,由用户进行处理、分析和报告。对于示例的实施例,数据库访问系统40包括查询调度程序72、SQL生成器74、连接管理器76、和Java数据库连接(JDBC)78。
查询调度程序72初始化被调度的查询。如上所述,任何视图60,包括包含于视图60中的数据和计算,都可以根据几个选项被设置为从数据库20刷新,该几个选项包括指定的时间调度程序。这允许视图60被轻易地刷新以反映数据的当前状态,并允许用户总是用最新的信息进行工作。另外,可以自动地调度瞬像视图60根据同样的查询创建瞬像视图60的历史库。因此,例如,可以调度视图60在每个星期一、星期三和星期五的的下午10点钟进行更新,并经由共享的公文夹58自动地分配给一组用户。
SQL生成器74从用户接收用户修改或更新的查询模型,并生成用于由连接管理器76执行的原文的SQL查询。这样,由用户以图形显示和编辑的查询模型被自动地转换为可执行的数据库指令,并在其后执行。这允许初学者用户和其他信息消费者用很少的或根本不用编程的知识就可以充分地使用商业智能入口10并从中获益。
在一个实施例中,SQL生成器74包括对话指定生成器和生成原文SQL的SQL语法分析树。对话指定生成器对应于由商业智能入口10访问或与其连接使用的数据库20的不同类型。对话指定生成器可以包括,例如Oracle、Sybase、DB2、和SQL生成器。
连接管理器76从SQL生成器74接收原文SQL查询请求,并与数据库20通信,以通过Java数据库连接(JDBC)78执行被请求的查询。在示例的实施例中,连接管理器包括模块化查询引擎80,该引擎包括智能数据组82和数据驱动器84的程序库。如下更详细所述,每个数据驱动器84执行预定义的数据库操作。智能数据组82在必要时从程序库中选择并排序数据驱动器,以执行查询请求。结果,标准化了数据库访问方法并且不需要为每个应用程序定制数据组。
高速缓存管理器42包括具有多个页92的高速缓存90和处理线程94。高速缓存42响应于查询请求接收从数据库20提取的数据,并将它们馈送给页92。高速缓存管理器42与驱动高速缓存90的处理线程94异步运行,以将数据馈送给页92。可以理解,数据可以另外由服务器30进行适当地接收、存储、和初始处理。
多维模型管理器44生成并处理多维存储模型100。如下更详细所述,多维存储模型100利用非稀疏(non-sparse)结构以最小化模型100的尺寸。模型100的减小的尺寸改善了处理次数,并在数据分析期间允许有效的数据透视(pivot)和展示(drill)操作。另外,模型100使用开放式结构以允许在已经构建了该模型后动态地执行计算。结果,用户可以创建新的计算以分析在模型100的原始定义期间的不期望的数据交叉。这减少了支持数据透视(pivot)和展示(drill)操作必需的时间和资源。
客户机管理员46提供入口10从其管理客户机的中心点。客户机管理员46提供自动管理客户机应用程序的零管理结构,以最大化用户的执行和最小化网络流量,同时保证客户机总是使用最新的应用程序。
客户机层级16包括多个客户机110。客户机110可以在其它客户机和服务器30的本地,或与其远离。在一个实施例中,客户机110提供对服务器30的全部访问权,包括系统管理。如上所述,所有客户机110的功能由存储在服务器30上的健壮(robust)的许可组控制。许可被授权给单个用户和用户的安全组。这样,商业智能入口10的健壮的功能性被适当地控制,并定量地供给企业的所有用户,对较少技术的用户也不会看起来过于复杂。
客户机110包括客户机API 112和图形用户界面(GUI)114。在示例的实施例中,客户机110被设计为具有其为Java片或Java豆(bean)的所有构件。在这个实施例中,如下面更详细所述,当与服务器30建立连接时,客户机110识别它的构件。这允许有效管理客户机110和将附加的功能性集成进客户机110。
客户机API 112包括一组定义客户机110如何与服务器30通信的Java级(classes)。因为客户机API 112允许任何Java程序与服务器30通信,所以企业可以有效地为它的客户机110增加附加的、定制的能力。
图形用户界面114包括一组管理面板116、一组用户面板118、一组向导120、查询编译器122、一组阅读器124、和属性检查器126。管理和用户面板116和118提供用于指导管理员和用户进行他们各自操作的图形显示。
向导120将创建过程分为一个或多个逻辑步骤,并指导管理员和用户进行创建过程。这有助于初学者用户和其他信息消费者在执行查询和分析结果时不用详细的编程知识。这样,企业内的所有用户能够有效地使用商业智能入口10以提取有意义的数据,并因此提高了他们在企业内的操作区域。
查询编译器122指定数据从哪里来、显示什么实质性的数据、和它如何被存储。查询编译器122提供预定义查询模型56的图形视图,以允许用户直观地理解和修改模型56,以适合特定的需求。在一个实施例中,查询编译器122只允许用户查看那些他们有优先权的模型56的数据元素。查询编译器122将预定义查询模型56的用户编辑作为可以上载到服务器30并被服务器30执行的用户修改的查询模型128而存储。
阅读器124创建了对表格、图形、报告、数据透视表、网页等等的查看的结合。阅读器124允许用户容易地从数据的任何视图60转换到任何其它视图,并对数据进行分类和筛选。视图60也可以输出给HTML,用于在网络服务器上发布或在目录32中共享。如上所述,数据视图60可以是现场的或瞬像的。视图60或视图60的公文夹58可以在单个用户自己的目录区域内私人保存,也可以在一个或多个安全组54中分配和共享,以帮助协作和进行决策。
在阅读器124内,表格阅读器130将信息显示为一系列的列或行。因为表格视图提供了如何组织信息的整体概念,所以它典型地用作开发概念的开始点。在表格视图中,用户可以增加筛选器,增加计算的字段,并增加概要和次总信息。可以重新排列、隐藏和另外修改各列。可以在不同的层次上分类和查看内容。
报告阅读器132以报告的格式显示数据。报告视图提供了健壮的、联合的报告格式并且有助于自动的报告生成和分配。用户可以在报告的交互图形设计视图中自由地安排各字段和各列,同时增加计算、次总和、分组、标题、页脚、题目和图形。
图形阅读器134以宽范围的2维或3维格式显示数据的图形视图。这些格式可以包括:例如杆形、饼形、线形、分散形和放射形的图形。在用图形工作时,用户可以通过筛选数据、使用原始数据的子集改变图形类型或内容,并提取多维数据。也可以在空闲时,通过按不同的次序将记录分类以及改变图形属性来改变图形视图。
数据透视表阅读器136提供沿着多个方向显示多维或立体数据的数据透视表视图。这允许用户沿着不同的方向将信息分割成片或方块,以获得对企业的活动或成绩的不同的观点。数据透视表视图支持在多个方向上的分层,并允许用户执行向下展示、向上展示或贯通性展示分析。如下面更详细所述,多维视图生成于多维存储模型100。
浏览器阅读器138提供嵌入式、交叉平台网络浏览器。这允许用户访问工作成果和基于web(网络)的互联网或互联网环境。在其它视图中创建的报告或对象可以输出给HTML,用于粘贴到网站上,或通过浏览器界面显示。
属性检查器1 26允许用户改变特定视图的显示属性。在一个实施例中,属性检查器126是无模式的。在这个实施例中,属性检查器126在屏上时应用这些变化,以允许用户在关闭属性检查器122之前用不同的配置和属性进行试验。
商业智能入口10的客户机110和服务器30一起向企业信息结构增加了战略层,并向对宽范围的用户是固有地可扩展的集成查询、报告、和分析提供单个的入口(entry)点。由于商业智能入口10可以在企业内充分地集成,因此入口10有助于日常企业范围的分析传递和信息共享。结果,企业内更多的人将能够更经常地和生产性地使用已经为企业存在的数据。
图2是说明用于初始化按照本发明的一个实施例的商业智能入口10的方法的流程图。参照图2,该方法开始于步骤200,其中系统管理员定义了用户简档52。如上所述,用户简档52为用户利用系统内的特征提供许可。接下来,在步骤202,系统管理员定义安全组54。如上所述,用户继承的最终的安全权和优先权是如用户简档52中定义的他或她的个人的权力和他或她所属于的每个安全组54的权力的统一。
接着在步骤204,系统管理员为每个数据库20生成数据库别名50。数据库别名50防止了对数据库的直接用户访问,以维持数据整体性,并使非技术用户可能安全地访问公司数据,而不用担心毁坏。数据库别名还用来组合连接物理数据库20,并因此减少支持大量客户机110所必需的数据库连接的数量。
接下来在步骤206,系统管理员使用查询生成器38生成预定义查询模型56。预定义查询模型56控制任何特定的用户组将拥有访问权的数据库20的元素。另外,预定义查询模型56约束可以被执行的查询类型,并限定可以用来执行该查询的最大计算机资源和各表格之间的可允许的结合,以防止失控或恶意查询。
步骤206通向该过程的结束,其中系统管理员建立了企业内使用的商业智能入口10。为了控制系统内的数据的访问和分配,作为建立过程的一部分,已经为用户定义了许可和查询。
图3是说明用于生成按照本发明的一个实施例的预定义查询模型56的方法的流程图。在这个实施例中,模型内的指定数据被链接到可能的程度。另外,将数据库元素以图形的形式显示给系统管理员,以有助于查询模型56的生成。
参照图3,该方法开始于步骤220,其中查询生成器38将自动地识别并向系统管理员显示为其生成查询的数据库20的各表格和各列。接下来,在步骤222,系统管理员为预定义查询模型56选择各表格和各列的子集。
在接下来的决定步骤224,查询生成器38确定数据库20是否具有完全的外部密钥(FK)/主密钥(PK)信息。完全的外部密钥/主密钥信息允许不同表格中的数据自动地链接。因此,如果数据库20包括完全的外部密钥/主密钥信息,则决定步骤224的肯定分支通向步骤226,其中在预定义查询模型56中,子表格使用外部密钥/主密钥信息自动地链接到父表格上。步骤226通向该过程的结束。在此,可以保存预定义查询模型56或可以由系统管理员进行进一步的编辑。
现在返回到决定步骤224,如果完全的外部密钥/主密钥信息不可用,则决定步骤224的否定分支通向决定步骤228。在决定步骤228,查询生成器38确定完全的主密钥信息是否可从数据库20获得。完全的主密钥信息的供应允许通过数据库表格搜索确定父表格和子表格。因此,如果完全的主密钥信息可用,则决定步骤228的肯定分支通向步骤226,在那里执行数据库表格搜索以确定父表格和子表格。在父表格和子表格被确定之后,他们被自动链接以生成预定义查询模型56。然后可以保存或由系统管理员进一步修改该预定义查询模型。
现在返回到决定步骤228,如果完全的主密钥信息不可用,则决定步骤228的否定分支通向决定步骤230。在决定步骤230,查询生成器确定否可从数据库20获得能够识别父表格和子表格和唯一索引信息。如果唯一索引信息可获得,则决定步骤230的肯定分支通向步骤226。在步骤226,唯一索引信息用来在数据库中搜索父表格和子表格。然后查询生成器38自动地链接父表格和子表格以生成预定义查询模型56。然后可以保存或由系统管理员进一步修改该预定义查询模型。
现在返回到决定步骤230,如果唯一索引信息不能从数据库20中获得,则决定步骤230的否定分支通向步骤232。在步骤232,系统管理员手动地识别和链接父表格和子表格以生成预定义查询模型56。这样,用最小的管理员干预,最大程度地自动地生成了预定义查询模型56。可以理解,数据库表格和其它元素可以另外进行适当地链接。
图4是说明用于配置和维护按照本发明的一个实施例的客户机应用程序的方法的流程图。在这个实施例中,使用薄引导程序(thin boot strap applet)从服务器30进行中央式配置和维护客户机应用程序,该引导程序最初用于将形成客户机应用程序的Java级别下载到客户机110。此后,当客户机110初始化新的会话时,客户机软件的全部升级由服务器30自动地完成。安装/更新过程的部分包括下载将所有模块和资源的所有名称和版本列表在客户机110上的显示文件。
参照图4,该方法开始于步骤250,其中由客户机110进行对服务器30的新的连接。在步骤252,客户机110上的引导程序代理将用户的显示文件传送给服务器30。
在接下来的步骤254,服务器30将列表在显示文件中的所有模块和资源的版本与服务器30中的对应文件的当前版本进行比较。在决定步骤256,服务器30根据该比较确定是否各模块或资源中的一些或全部已经过时。如果各模块或资源中的一些或全部已经过时,则决定步骤256的肯定分支通向步骤258。在步骤258,服务器30为客户机110生成递增的更新。该递增的更新仅包括需要更新的模块。
接下来,在步骤260,服务器将递增的更新传送给客户机110。在步骤262,客户机110根据该递增的更新更新客户机侧的应用程序。然后在步骤264,为最新更新的客户机110建立新的会话。返回到决定步骤256,如果没有客户机应用程序过时,则决定步骤256的否定分支也通向步骤264,其中建立了新的会话。这样,如果有的话,服务器30确定什么模块(或Java级别)已经过时、失踪、或陈旧,然后选择性地将正确的模块与更新的显示文件一起推给用户的机器。结果,用户永远不必手动地更新客户机软件,并能够容易地漫游在各工作站之间,以进行登录,而不需要请求在每个工作站上重新安装的他们的应用程序和数据文件。另外,客户机110运行迅速并总是最新的,同时中央式地维护管理并最小化网络流量。
图5是说明用于根据按照本发明的一个实施例的预定义查询模型56修改和执行查询模型的方法的流程图。在这个实施例中,由管理员在服务器30上生成并维护预定义查询模型56,并基于请求和访问优先权的校验将其提供给用户。
参照图5,该方法开始于步骤280,其中服务器30从用户接收对预定义查询模型56的请求。接下来,在步骤282,服务器根据用户的优先权确定预定义查询模型56的可访问部分。可访问部分是用户可以观看到的查询模型56的部分。在特定的实施例中,可访问部分也可以是可由用户编辑的查询模型的部分。可以通过确定用户对查询模型的优先权来完成预定义查询模型56的可访问部分的确定,然后根据用户的优先权确定可访问部分。
在确定预定义查询模型56的可访问部分时,服务器30也可以确定预定义查询模型56的受保护的部分。该保护部分是预定义查询模型56的剩余或其它适当的部分。如下面更详细所述,查询编译器122可以隐藏预定义查询模型的保护部分或禁止对预定义查询模型的受保护部分进行编辑。
接下来,在步骤284,服务器30将预定义查询模型56下载到客户机110。在步骤286,查询编译器122向用户显示预定义查询模型56的可访问部分。在一个实施例中,查询编译器122显示定义预定义查询模型56的可访问数据元素的图形视图。在显示可访问部分时,查询编译器122可以隐藏预定义查询模型56的受保护的部分,以阻止编辑和/或观看那部分。
前进到步骤288,查询编译器122接收用户对预定义查询模型56的编辑。用户编辑可以包括数据库表格、数据库表格中的各列、和数据库表格之间的结合的选择和去选择(deselection)。接下来,在步骤290,查询编译器122根据用户对预定义查询模型56的可访问部分的编辑生成用户修改的查询模型128。在步骤292,为了执行,将用户修改的查询模型128上载到服务器30。
在步骤294,SQL生成器74根据用户修改的查询模型128自动地生成数据库。数据库查询包括可以由连接管理器76执行以执行查询的原文SQL。在步骤296,服务器30接收查询的结果。如上所述,查询结果最初由高速缓存管理器42存储在服务器30中。
前进到决定步骤298,如果该查询包括多维分析,则决定步骤298的肯定分支通向步骤300,在其中根据结果生成多维存储模型100。在步骤302,多维存储模型100被用于生成数据透视表、透穿性展示和其它用户请求的视图。
返回到决定步骤298,如果未指示多维分析,则决定步骤298的否定分支通向步骤304,在其中根据查询结果生成请求的单维视图。步骤302和304每个都通向决定步骤306。在决定步骤306,服务器30确定是否为以后的再使用而存储用户修改的查询模型128。如果用户期望保存查询模型128,则决定步骤306的肯定分支通向步骤308,其中将查询模型保存到用户的选择的公文夹58或用户具有访问权的安全组58。步骤308和决定步骤306的否定分支每个都通向决定步骤310。
在决定步骤310,服务器30确定是否作为历史瞬像保存查询结果。如果用户选择将结果保存为瞬像,则决定步骤310的肯定分支通向步骤312,其中将查询结果保存到选择的公文夹58。步骤312通向该过程的结束,在此将预定义查询模型56提供给用户进行修改和定制。使用数据元素的图形视图显示和修改预定义查询模型56。这有助于由所有用户进行健壮的数据分析,并允许初学者用户有效地使用可用的信息,以改善他们的机构内的操作。
图6是说明按照本发明的一个实施例的查询引擎80的细节的方框图。在这个实施例中,查询引擎80包括数据驱动器84的程序库和智能数据组82,该智能数据组响应于查询请求可操作,以从程序库识别必要的数据驱动器84而执行该请求。智能数据组82进一步可操作,以确定执行该请求的数据驱动器84的必要的次序,以必要的次序生成包括必要的数据驱动器84的驱动器链,并按次序执行驱动器链中的数据驱动器84。
参照图6,智能数据组82响应于查询请求生成驱动器链320。驱动器链320包括执行所请求的查询所需要的数据驱动器322。根据查询请求,从可用的数据驱动器84的程序库中自动地选择数据驱动器322并由智能数据组82进行排序。在一个实施例中,程序库中的数据驱动器84从基础级(base class)中得出,为此,所有界面方法调用该链中的下一个驱动器。在这个实施例中,每个驱动器具有用于布置在链320内的同样相对位置的链优先级。如这里所用,术语“每个”意味着至少一个子集的经识别的项目的每一个。
对于示例的实施例,驱动器链320包括数据驱动器D1、D2、D3和D4。数据驱动器D1执行取回数据库操作,该操作返回所请求的记录。接下来,返回的记录由数据驱动器D2分类,并由数据驱动器D3编索引。然后,数据驱动器D4在存储和编索引的数据记录上执行所请求的搜索。这样,模块化查询引擎80使用标准化的访问方法执行数据库查询。结果,不需要为特定的数据库查询定制入口10,并减少了提供和维护商业智能入口10的费用。
图7是说明按照本发明的一个实施例的模块化查询引擎80的操作的流程图。参照图7,该方法开始于步骤340,其中由智能数据组82接收查询请求。接下来,在步骤342,智能数据组82从程序库动态地选择执行查询请求所必需的数据驱动器84。
前进到步骤344,智能数据组82确定执行该请求所必需的数据驱动器84的次序。在步骤346,智能数据组82以执行该查询请求的必要次序动态地构建包括必要的数据驱动器的驱动器链。
接下来在步骤348,智能数据组执行该驱动器链以执行该查询请求。在驱动器链内按次序执行数据组82,当完成它自己的执行时,每个数据组调用该链中的下一个驱动器84。结果,查询引擎80是应用程序独立的,并可以通过将数据驱动器84增加到程序库和关于它们的功能性编程智能数据组82而容易地进行修改,以支持新的功能性。
图8是说明按照本发明的一个实施例的多维存储模型100的细节的方框图。在这个实施例中,存储模型100利用非稀疏结构以最小化模型100的尺寸。另外,存储模型100使用开放式结构,以允许在构建模型100后动态地执行计算。
参照图8,多维存储模型100包括每维的存储槽360和经计算的维的存储槽362。维存储槽360包含各入口(entry)和从数据库中提取的相关数据值,而经计算的维存储槽362包含根据该提取的数据计算的数据。
对于示例的实施例,每个维存储槽360包括入口存储器370和维存储器372。入口存储器370包括一组对应维的非稀疏入口374。最好是仅包括非稀疏入口。入口374代表联合维值,并且每个识别相关的数据值376。在一个实施例中,每个入口374包括到相关数据值376的指针。另外,数据值376可以与各入口374一起存储在入口存储器370中。可是,指针的使用和数据值376的分离存储改善了多维存储模型100的效率和处理速度。
维存储器372包括与入口存储器370中的各入口374相关的数据值376。数据值376代表每维的唯一的维值。
为每个非稀疏入口374提供一组维际链接380。每个维际链接识别不同维存储槽360中的非稀疏入口374之间的交叉。该组维际链接380包括一个或多个维际链接。在一个实施例中,维际链接380是双向的,以允许在从入口点的任一方向的各维存储槽360之间的有效遍历(traversals)。
维际链接380共同地识别维存储槽360中的非稀疏入口374之间的所有交叉。因此,包括非存储空交叉的所有交叉都可以从非稀疏入口374和维际链接380的遍历得到确定。具体地,第一和第二维中的各数据库入口之间的空交叉由模型中没有数据库入口或没有将第一维中的入口374连接到第二维中的入口的维际链接380来确定。第一和第二维中的各入口374之间的非稀疏交叉是通过将维际链接380从第一维中的指定入口遍历到第二维中的指定入口、然后获得与第二维中的入口374相关的数据值376来确定的。通过维际存储模型100的遍历获得的数据和信息是为如下更详细所述的进一步的处理输出的。
经计算的维362包括一组经计算的值382。经计算的值382是从由用户用多维存储模型100同期请求的预定义计算导出来的。因此,当多维存储模型100提供开放式结构以允许在它的创建后进行计算时,预计算并存储用户用该模型请求的同期计算,以最小化模型100创建后的处理和改善多维分析的速度。
图9是说明示例性数据400和示例性数据400的多维存储模型402的方框图。参照图9,示例性数据400包括维C1和C2和经计算的维C3。维C1包括唯一的入口值A、B和C,而维C2包括唯一的入口值D、E、F、G和H。经计算的维C3包括经计算的对应于不同的预定义计算的数据值1、2、3、4、5和6。
示例性存储模型402包括维C1和C2的维存储槽404和经计算的维C3的经计算的维存储槽406。在C1维存储槽404中,维存储器410包括唯一的维值A、B和C。入口存储器412包括数据值与其相关的各入口和到各数据值的各指针。类似地,C2维存储槽404在维存储器414中包括唯一的数据值D、E、F、G和H。入口存储器416包括与数据值相关的各入口和到各数据值的指针。维际链接420识别C1和C2维中的各入口之间的交叉,并因此识别数据之间的交叉。经计算的维406包括与C1和C2维中的数据的预定义交叉相关的经计算的数据值1、2、3、4、5和6。
可以从示例性存储模型402确定,例如C1和C2维中的入口值A和D交叉,因为它们通过维际链接420连接。还可以确定入口值C和D未交叉,因为它们未通过维际链接420进行连接。如果任何一个或一系列维际链接连接各入口,则各入口通过维际链接进行连接。
图10是说明用于生成和使用按照本发明的一个实施例的多维存储模型100的方法的流程图。参照图10,该方法开始于步骤440,其中响应于查询请求,由多维模型管理器44生成多维存储模型100,并且该模型是基于查询请求的结果的。该查询请求为多维存储模型100指定了各维和数据维。
在一个实施例中,多维模型管理器44通过首先从源取回数据记录来生成多维存储模型100。然后再为每个数据记录取回各维值和数据值。此后,多维模型管理器44为数据记录的每个维值确定该维值是否出现在入口存储器370中,这种情况下它可能被使用。如果该维值未出现在入口存储器370中,则为入口存储器370中的维值和存储在维存储器372中的对应的数据值376创建入口374。在任何一种情况下,接下来从左到右遍历各维,以为入口存储器370中的各入口374创建维际链接380。在创建正消失的连接时,再使用现存的连接。另外,对于最靠右的维,由多维模型管理器44增加为记录取回的数据值。可以理解,可以另外适当地生成多维存储模型100。
在生成多维存储模型100后,步骤440进行到步骤442。在步骤442,多维模型管理器44接收对指定的各维和/或数据维的子集的查看请求。接下来在步骤444,多维模型管理器44确定从存储模型100生成视图所必需的遍历和每个遍历的开始点。通过指定的各维和根据如何组织模型100确定的入口上的开始点来定义各遍历。
在一个实施例中,多维模型管理器44使用从下到上、从右到左的递归移动从多维存储模型100接收第一个和下一个记录。在这个实施例中,为了检索第一个记录,多维模型管理器将为显示选择的第一维定位到第一入口存储值。接下来,将第一入口左侧的所有父入口定位到它们的第一入口存储值。所选择的维的右侧的子入口也被定位到它们的第一入口存储值。然后,多维模型管理器44在这些位置处为第一记录检索各维入口的值。为了检索下一个记录,多维管理器44试图移动视图最右侧的子入口。如果最右侧的子入口可移动,则它被重新定位并在多维存储模型100内的当前位置取回数据值。如果最右侧的子入口不可移动,则多维模型管理器44试图移动该子入口的父入口,该父入口是该子入口左侧紧邻的入口。如果该父入口可移动,则它被重新定位并在多维存储模型100内的当前位置取回数据值。如果该父入口不可移动,则试图移动该父入口的父入口,这个父入口是第一个父入口左侧紧邻的入口,并重复这个过程直到没有父入口遗留下来。此时,过程结束。可以理解,可以另外适当地确定多维存储模型100内的遍历和开始点。
前进到步骤446,多维模型管理器44经连接多维链接380从入口点遍历多维存储模型100,以确定指定交叉点的存在和/或值。在步骤448,多维存储模型100确定指定交叉点的任何值。接下来,在步骤450,多维模型管理器44确定是否对模型100存在附加的遍历。如果附加的遍历存在,则决定步骤450的肯定分支返回到步骤446,并执行遗留的遍历和计算交叉值,直到完成所有的遍历。决定步骤的否定分支则通向步骤452。
在步骤452,从多维存储模型100输出的数据和信息被总结和分类。可以理解,可以另外配置多维存储模型100以预分类和总结数据。可是,通过将遍历操作与总结和分类操作分离,改善了处理的效率。
接下来在步骤454,从多维存储模型100输出的信息在由客户机110的阅读器124请求的视图中以图形显示给用户。前进到决定步骤456,如果请求附加的视图,则肯定分支返回到步骤442,在其中接收视图请求和指定的各维并重复该过程,直到完成所有请求的视图并将它们显示给用户。此时,决定步骤456的否定分支通向过程的结束。这样,商业智能入口10提供了减小尺寸和改善了处理速度的多维存储模型100,该模型在数据分析期间支持有效的数据透视和展示操作。另外,用户可以创建新的计算以分析在模型的原始定义期间不期望的数据交叉。这减小了支持数据透视和展示操作所必需的时间和资源。附加的视图包括为高层和低层分析展示的数据透视表视图和数据。
图11是说明按照本发明的一个实施例的相关窗口480的显示的屏幕图形。参照图11,显示窗口480包括沿着显示窗口480的上沿布置的带有多个下拉式菜单488的菜单栏486。工具栏490被布置在紧临菜单栏486的下面。
显示窗口480还包括目录窗口492和与目录窗口492相临的公文夹窗口494。目录窗口492显示目录32内的文件分层。公文夹窗口494显示由活动公文夹链接的视图。
在公文夹窗口494内,每个视图分散地显示在离散的视图窗口496中。由公文夹链接的离散文件中视图的存储和公文夹窗口494内的相关视图的显示允许相关文件容易地组织到一起并有效地显示给用户。具体地,公文夹窗口494用单数据界面(SDI)提供公共窗口。在多数据界面(MDI)中的公共窗口内显示离散的视图窗口496。可以理解,相关部件的其它类型可以离散地存储并通过复合文件为显示而被链接在一起。
图12是说明包括用于在按照本发明的一个实施例的公文夹中的相关视图之间进行导航的视图按钮的显示窗口500的屏幕图形。参照图12,显示窗口500包括沿着显示窗口500的上沿布置的带有多个下拉式菜单504的菜单栏502。工具栏506被布置在紧临菜单栏502的下面。显示窗口500包括如前结合目录窗口492和公文夹窗口494所述的目录窗口508和公文夹窗口510。
在示例的实施例中,用公文夹窗口510最大化视图窗口512以提供优化的查看。为了允许在最大化的窗口之间进行导航,响应于窗口512的最大化提供有视图按钮514,并显示为沿着公文夹窗口510的上沿的标签。视图按钮514每个都是可操作的,以响应于激活而将相关的窗口512显示为活动窗口。这允许用户快速且容易地在各窗口之间进行导航。结果,用户需要经常地移动、关闭、打开和调整窗口的大小,以观看存储在离散文件中的相关数据。可以响应于其它合适的事件而另外显示和生成视图按钮。例如,可以在第一个窗口通过叠加窗口而从显示变成至少基本上隐藏的任何时间生成视图按钮。因此,用户一指示应该最大化、定位或显示窗口,就可以为将要被覆盖的窗口生成视图按钮。视图按钮514可以独立于对应的窗口而定位。因此它们可以相临于对应的窗口或远离对应的窗口被显示。
尽管已经用几个实施例描述了本发明,但可以向本领域的技术人员建议各种变化和修改。本发明意欲包含这些落在后附的权利要求的范围中的变化和修改。
Claims (14)
1.一种驻留在计算机可读介质上的查询引擎,该查询引擎包括:
数据驱动器程序库,每一个数据驱动器能够执行预定义的数据库操作;以及
智能数据集,能够响应查询请求从该程序库中识别执行该请求的必要的数据驱动器程序,能够确定执行该请求的必需的数据驱动器的必需顺序,以必需的顺序生成包括必需的数据驱动器的驱动器链,以及按顺序执行驱动器链中的数据驱动器。
2.根据权利要求1所述的查询引擎,每一个数据驱动器还包括在执行数据驱动器的特定数据库操作时,能够调用驱动器链中下一个驱动器的基本界面方法。
3.根据权利要求1所述的查询引擎,数据驱动器程序库包括能够执行提取数据库操作的至少一个数据驱动器。
4.根据权利要求1所述的查询引擎,数据驱动器程序库包括能够执行分类数据库操作的至少一个数据驱动器。
5.根据权利要求1所述的查询引擎,数据驱动器程序库包括能够执行索引数据库操作的至少一个数据驱动器。
6.根据权利要求1所述的查询引擎,数据驱动器程序库包括能够执行搜索数据库操作的至少一个数据驱动器。
7.一种用于分析机构信息的商业智能入口,该商业智能入口包括:
通过网络连接到远程客户机的服务器;
驻留在客户机上的查询编译器,查询编译器能够响应于用户输入生成查询模型;
驻留在服务器上的查询引擎,该查询引擎包括:
数据驱动器程序库,每一个数据驱动器能够执行特定的数据库操作;以及
智能数据集,能够响应基于查询模型的查询请求,从该程序库中识别执行该请求的必要的数据驱动器,能够确定执行该请求的必需的数据驱动器的必需顺序,以必需的顺序生成包括必需的数据驱动器的驱动器链,以及按顺序执行驱动器链中的数据驱动器。
8.根据权利要求7所述的商业智能入口,每一个数据驱动器还包括在执行数据驱动器的特定数据库操作时,能够调用驱动器链中下一个驱动器的基本界面方法。
9.根据权利要求7所述的商业智能入口,数据驱动器程序库包括能够执行提取(fetch)数据库操作的至少一个数据驱动器。
10.根据权利要求7所述的商业智能入口,数据驱动器程序库包括能够执行分类数据库操作的至少一个数据驱动器。
11.根据权利要求7所述的商业智能入口,数据驱动器程序库包括能够执行索引数据库操作的至少一个数据驱动器。
12.根据权利要求7所述的商业智能入口,数据驱动器程序库包括能够执行搜索数据库操作的至少一个数据驱动器。
13.一种用于执行数据库查询的方法,包括:
提供数据驱动器程序库,每一个数据驱动器能够执行特定的数据库操作;
接收数据库查询请求;
从程序库中识别执行该请求的必要的数据驱动器程序,
确定执行该请求的必需的数据驱动器的必需顺序,
以必需的顺序生成包括必需的数据的驱动器的驱动器链;以及
通过按顺序执行驱动器链中的数据驱动器,执行该请求。
14.根据权利要求13的方法,其中每一个数据驱动器在执行它的数据库操作时,调用驱动器链中下一个驱动器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/364,808 | 1999-07-30 | ||
US09/364,808 US6842758B1 (en) | 1999-07-30 | 1999-07-30 | Modular method and system for performing database queries |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1382278A true CN1382278A (zh) | 2002-11-27 |
CN1179290C CN1179290C (zh) | 2004-12-08 |
Family
ID=23436174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008126127A Expired - Fee Related CN1179290C (zh) | 1999-07-30 | 2000-07-28 | 执行数据库查询的模块化方法和系统 |
Country Status (12)
Country | Link |
---|---|
US (1) | US6842758B1 (zh) |
EP (1) | EP1212701A2 (zh) |
JP (1) | JP2003506780A (zh) |
KR (1) | KR20020039328A (zh) |
CN (1) | CN1179290C (zh) |
AU (1) | AU777696B2 (zh) |
BR (1) | BR0012828A (zh) |
CA (1) | CA2376581A1 (zh) |
HK (1) | HK1048526A1 (zh) |
IL (2) | IL147824A0 (zh) |
WO (1) | WO2001009754A2 (zh) |
ZA (1) | ZA200200534B (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069407B1 (en) * | 1998-12-08 | 2011-11-29 | Yodlee.Com, Inc. | Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes |
US6385604B1 (en) | 1999-08-04 | 2002-05-07 | Hyperroll, Israel Limited | Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements |
US6408292B1 (en) | 1999-08-04 | 2002-06-18 | Hyperroll, Israel, Ltd. | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions |
US6832379B1 (en) * | 1999-08-17 | 2004-12-14 | Emc Corporation | Computer architecture utilizing layered device drivers |
US7024465B1 (en) * | 1999-10-18 | 2006-04-04 | Rose Blush Software Llc | Method for queued overlap transfer of files |
US20100185614A1 (en) * | 1999-11-04 | 2010-07-22 | O'brien Brett | Shared Internet storage resource, user interface system, and method |
US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
US6877006B1 (en) | 2000-07-19 | 2005-04-05 | Vasudevan Software, Inc. | Multimedia inspection database system (MIDaS) for dynamic run-time data evaluation |
US7882555B2 (en) * | 2001-03-16 | 2011-02-01 | Kavado, Inc. | Application layer security method and system |
US6978278B2 (en) * | 2002-01-18 | 2005-12-20 | Bea Systems, Inc. | System and method for heterogeneous caching |
US8204930B1 (en) * | 2002-02-15 | 2012-06-19 | F5 Networks, Inc. | Method and system for controlling and accessing content servers |
IL149583A0 (en) * | 2002-05-09 | 2003-07-06 | Kavado Israel Ltd | Method for automatic setting and updating of a security policy |
US7447687B2 (en) | 2002-05-10 | 2008-11-04 | International Business Machines Corporation | Methods to browse database query information |
US7716167B2 (en) * | 2002-12-18 | 2010-05-11 | International Business Machines Corporation | System and method for automatically building an OLAP model in a relational database |
US7953694B2 (en) | 2003-01-13 | 2011-05-31 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
US7895191B2 (en) | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
DE10320419A1 (de) * | 2003-05-07 | 2004-12-09 | Siemens Ag | Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank |
US7328217B2 (en) * | 2003-11-26 | 2008-02-05 | Symantec Operating Corporation | System and method for detecting and storing file identity change information within a file system |
US7415480B2 (en) * | 2003-12-10 | 2008-08-19 | Symantec Operating Corporation | System and method for providing programming-language-independent access to file system content |
WO2005092032A2 (en) * | 2004-03-22 | 2005-10-06 | Sliccware Corporation | Secure virtual data warehousing system and method |
US8306991B2 (en) * | 2004-06-07 | 2012-11-06 | Symantec Operating Corporation | System and method for providing a programming-language-independent interface for querying file system content |
US7831552B2 (en) * | 2004-06-07 | 2010-11-09 | Symantec Operating Corporation | System and method for querying file system content |
US7707143B2 (en) * | 2004-06-14 | 2010-04-27 | International Business Machines Corporation | Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models |
US20050283494A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Visualizing and manipulating multidimensional OLAP models graphically |
US7480663B2 (en) * | 2004-06-22 | 2009-01-20 | International Business Machines Corporation | Model based optimization with focus regions |
US20060064401A1 (en) * | 2004-09-23 | 2006-03-23 | Duncan John W | Targeted Web Browser |
US20080133573A1 (en) * | 2004-12-24 | 2008-06-05 | Michael Haft | Relational Compressed Database Images (for Accelerated Querying of Databases) |
US8069153B2 (en) * | 2005-12-02 | 2011-11-29 | Salesforce.Com, Inc. | Systems and methods for securing customer data in a multi-tenant environment |
JP2008112934A (ja) * | 2006-10-31 | 2008-05-15 | Oki Electric Ind Co Ltd | 半導体記憶装置及びその製造方法 |
US20080140696A1 (en) * | 2006-12-07 | 2008-06-12 | Pantheon Systems, Inc. | System and method for analyzing data sources to generate metadata |
US20080201291A1 (en) * | 2007-02-16 | 2008-08-21 | Fussner John W | Personnel accounting system |
KR100872287B1 (ko) * | 2007-06-26 | 2008-12-05 | 주식회사 케이티프리텔 | 실행 파일 실행 방법 및 장치와 이 방법을 실행하는프로그램 기록매체 |
US7958105B2 (en) * | 2008-03-07 | 2011-06-07 | International Business Machines Corporation | System and method for filtering database results using dynamic composite queries |
US20120173478A1 (en) * | 2010-12-30 | 2012-07-05 | Cerner Innovation, Inc. | Custom data mart creation |
US8983954B2 (en) * | 2012-04-10 | 2015-03-17 | Microsoft Technology Licensing, Llc | Finding data in connected corpuses using examples |
US9767173B2 (en) * | 2012-10-22 | 2017-09-19 | Workday, Inc. | Systems and methods for interest-driven data sharing in interest-driven business intelligence systems |
US9824127B2 (en) * | 2012-10-22 | 2017-11-21 | Workday, Inc. | Systems and methods for interest-driven data visualization systems utilized in interest-driven business intelligence systems |
US9405812B2 (en) | 2012-10-22 | 2016-08-02 | Platfora, Inc. | Systems and methods for providing performance metadata in interest-driven business intelligence systems |
US10268721B2 (en) * | 2013-11-07 | 2019-04-23 | Salesforce.Com, Inc | Protected handling of database queries |
US9846723B1 (en) * | 2014-10-27 | 2017-12-19 | Amdocs Software Systems Limited | System, method, and computer program for automatically accessing data in a database based on query information |
US11151131B2 (en) | 2019-07-19 | 2021-10-19 | Bank Of America Corporation | Query generation from a natural language input |
CN111611022B (zh) * | 2020-04-26 | 2023-12-15 | 支付宝(中国)网络技术有限公司 | 小程序应用的数据处理方法、装置、设备及系统 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210870A (en) | 1990-03-27 | 1993-05-11 | International Business Machines | Database sort and merge apparatus with multiple memory arrays having alternating access |
US5212639A (en) | 1990-04-05 | 1993-05-18 | Sampson Wesley C | Method and electronic apparatus for the classification of combinatorial data for the summarization and/or tabulation thereof |
JPH06502734A (ja) | 1990-10-31 | 1994-03-24 | ジーオー コーポレイション | ノートブック型複合文書としてのコンピュータ文書 |
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
US5481700A (en) | 1991-09-27 | 1996-01-02 | The Mitre Corporation | Apparatus for design of a multilevel secure database management system based on a multilevel logic programming system |
US5359724A (en) | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
WO1994014115A2 (en) | 1992-12-01 | 1994-06-23 | Microsoft Corporation | A method and system for in-place interaction with embedded objects |
US5671379A (en) | 1993-01-29 | 1997-09-23 | International Business Machines Corporation | System and method for managing windows |
US5701453A (en) | 1993-07-01 | 1997-12-23 | Informix Software, Inc. | Logical schema to allow access to a relational database without using knowledge of the database structure |
US5410693A (en) | 1994-01-26 | 1995-04-25 | Wall Data Incorporated | Method and apparatus for accessing a database |
US5809266A (en) | 1994-07-29 | 1998-09-15 | Oracle Corporation | Method and apparatus for generating reports using declarative tools |
EP0717344B1 (en) | 1994-12-13 | 2001-10-31 | Microsoft Corporation | Taskbar with start menu |
US5682468A (en) | 1995-01-23 | 1997-10-28 | Intergraph Corporation | OLE for design and modeling |
US5588109A (en) | 1995-01-23 | 1996-12-24 | Hewlett-Packard Company | User interface for a remote diagnostic device |
US5812394A (en) | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
US5917483A (en) | 1995-09-18 | 1999-06-29 | Oracle Corporation | Advanced windows management for a computer system |
US5721903A (en) | 1995-10-12 | 1998-02-24 | Ncr Corporation | System and method for generating reports from a computer database |
US5831617A (en) | 1995-11-27 | 1998-11-03 | Bhukhanwala; Saumil A. | Browsing and manipulating objects using movie like icons |
US5937415A (en) * | 1995-12-13 | 1999-08-10 | Sybase, Inc. | Data base development system with methods facilitating copying of data from one data source to another |
US5802511A (en) | 1996-01-02 | 1998-09-01 | Timeline, Inc. | Data retrieval method and apparatus with multiple source capability |
US6023694A (en) * | 1996-01-02 | 2000-02-08 | Timeline, Inc. | Data retrieval method and apparatus with multiple source capability |
JP3952518B2 (ja) | 1996-03-29 | 2007-08-01 | 株式会社日立製作所 | 多次元データ処理方法 |
US5870756A (en) * | 1996-04-26 | 1999-02-09 | Fujitsu Limited | Interchangeable storage medium containing program for processing data files thereupon to match a data file format to a computer system |
US5734380A (en) | 1996-09-27 | 1998-03-31 | Adams; James S. | Method for controlling the presentation of displays in a multi-window computer environment |
US5842199A (en) * | 1996-10-18 | 1998-11-24 | Regents Of The University Of Minnesota | System, method and article of manufacture for using receiver operating curves to evaluate predictive utility |
US6047280A (en) * | 1996-10-25 | 2000-04-04 | Navigation Technologies Corporation | Interface layer for navigation system |
US5852818A (en) * | 1996-12-23 | 1998-12-22 | Oracle Corporation | Non-recursive method for parameter evaluation within an information management system |
US5875446A (en) * | 1997-02-24 | 1999-02-23 | International Business Machines Corporation | System and method for hierarchically grouping and ranking a set of objects in a query context based on one or more relationships |
US6026399A (en) * | 1997-05-30 | 2000-02-15 | Silicon Graphics, Inc. | System and method for selection of important attributes |
US5987454A (en) * | 1997-06-09 | 1999-11-16 | Hobbs; Allen | Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource |
US6012053A (en) * | 1997-06-23 | 2000-01-04 | Lycos, Inc. | Computer system with user-controlled relevance ranking of search results |
US5978796A (en) | 1997-06-30 | 1999-11-02 | International Business Machines Corporation | Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database |
US6205447B1 (en) | 1997-06-30 | 2001-03-20 | International Business Machines Corporation | Relational database management of multi-dimensional data |
US6076092A (en) * | 1997-08-19 | 2000-06-13 | Sun Microsystems, Inc. | System and process for providing improved database interfacing using query objects |
US6125373A (en) * | 1997-09-19 | 2000-09-26 | Microsoft Corporation | Identifying a driver that is an owner of an active mount point |
US6122628A (en) | 1997-10-31 | 2000-09-19 | International Business Machines Corporation | Multidimensional data clustering and dimension reduction for indexing and searching |
US5943677A (en) | 1997-10-31 | 1999-08-24 | Oracle Corporation | Sparsity management system for multi-dimensional databases |
US6134541A (en) | 1997-10-31 | 2000-10-17 | International Business Machines Corporation | Searching multidimensional indexes using associated clustering and dimension reduction information |
US6151601A (en) | 1997-11-12 | 2000-11-21 | Ncr Corporation | Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area |
US5918232A (en) * | 1997-11-26 | 1999-06-29 | Whitelight Systems, Inc. | Multidimensional domain modeling method and system |
US6380954B1 (en) | 1998-02-09 | 2002-04-30 | Reuters, Ltd. | Method and system for layout of objects within a perimeter using constrained interactive search |
-
1999
- 1999-07-30 US US09/364,808 patent/US6842758B1/en not_active Expired - Lifetime
-
2000
- 2000-07-28 IL IL14782400A patent/IL147824A0/xx active IP Right Grant
- 2000-07-28 CN CNB008126127A patent/CN1179290C/zh not_active Expired - Fee Related
- 2000-07-28 BR BR0012828-7A patent/BR0012828A/pt not_active IP Right Cessation
- 2000-07-28 JP JP2001514692A patent/JP2003506780A/ja active Pending
- 2000-07-28 WO PCT/US2000/020708 patent/WO2001009754A2/en active IP Right Grant
- 2000-07-28 KR KR1020027001294A patent/KR20020039328A/ko active IP Right Grant
- 2000-07-28 CA CA002376581A patent/CA2376581A1/en not_active Abandoned
- 2000-07-28 AU AU63908/00A patent/AU777696B2/en not_active Ceased
- 2000-07-28 EP EP00950874A patent/EP1212701A2/en not_active Withdrawn
-
2002
- 2002-01-22 ZA ZA200200534A patent/ZA200200534B/xx unknown
- 2002-01-24 IL IL147824A patent/IL147824A/en not_active IP Right Cessation
- 2002-11-25 HK HK02108519.3A patent/HK1048526A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
ZA200200534B (en) | 2002-10-30 |
KR20020039328A (ko) | 2002-05-25 |
CA2376581A1 (en) | 2001-02-08 |
EP1212701A2 (en) | 2002-06-12 |
HK1048526A1 (zh) | 2003-04-04 |
AU777696B2 (en) | 2004-10-28 |
JP2003506780A (ja) | 2003-02-18 |
BR0012828A (pt) | 2002-12-03 |
CN1179290C (zh) | 2004-12-08 |
AU6390800A (en) | 2001-02-19 |
IL147824A (en) | 2008-06-05 |
IL147824A0 (en) | 2002-08-14 |
WO2001009754A2 (en) | 2001-02-08 |
WO2001009754A3 (en) | 2002-03-28 |
US6842758B1 (en) | 2005-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1179290C (zh) | 执行数据库查询的模块化方法和系统 | |
CN1165861C (zh) | 多维存储模型和方法 | |
CN1399746A (zh) | 动态查询模型和方法 | |
CN1373877A (zh) | 显示复合文件中的多个离散文件的方法和系统 | |
EP1585036A2 (en) | Management of parameterized database queries | |
EP1489810A2 (en) | System and method for providing security mechanisms for data warehousing and analysis | |
RU91453U1 (ru) | Информационно-аналитическая система для комплексного анализа бюджета и государственного заказа | |
Chouvarine | Autonomous consolidation of heterogeneous record-structured HTML data in Chameleon |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |