构成带有链接的自动创建的视图的制作方法

文档序号:6354420阅读:132来源:国知局
专利名称:构成带有链接的自动创建的视图的制作方法
技术领域
本发明涉及视图呈现技术。
背景技术
1.背景和相关技术计算机系统和相关技术影响社会的许多方面。的确,计算机系统处理信息的能力 已转变了人们生活和工作的方式。计算机系统现在通常执行在计算机系统出现以前手动执 行的许多任务(例如,文字处理、日程安排和账目管理等)。最近,计算机系统彼此耦合并耦 合到其他电子设备以形成计算机系统和其他电子设备可以在其上传输电子数据的有线和 无线计算机网络。因此,许多计算任务的执行分布在多个不同的计算机系统和/或多个不 同的计算环境上。许多应用程序包括从数据库读取数据并且将所读取的数据的视图在显示设备处 呈现给用户。例如,销售应用程序可以查询购买数据库来读取顾客购买定单并将购买定单 的内容显示给销售执行者。为了呈现更复杂和/或更细粒度的数据视图,可以将视图进行 组合从而使得一个视图依赖于另一视图中的数据。然而,配置应用程序以呈现组合的数据 视图是相对复杂的,可能需要大量的技术知识。例如,共享源耦合以及主/细节耦合需要许 多不同的查询(用查询或其他编程语言编写)以及用户界面控件来接收用户输入。对于共享源耦合,至少第一和第二查询从同一源查询数据。为了得到用户输入,诸 如例如文本框之类的用户界面控件被设计成接收用户输入。用户输入可以是这样一个值, 该值标识了用作第一查询(例如,为了得到员工的联系信息)和第二查询(例如,为了得到 员工的工资历史)的基础的、来自源的数据元素(例如,员工的名字)。由此,到用户界面控 件的输入必须被程序性地绑定到第一和第二查询中的每一个。基于用户输入,显示来自第 一和第二(以及任何其他)查询的结果。对于主/细节耦合,查询可以包括主查询和细节查询。主查询被配置成返回来自 数据库的数据元素列表(例如,人员的名字的列表)。细节查询被配置成返回和主查询所 返回的数据元素(例如,人的名字)相对应的来自数据库的附加数据(例如,电话号码和地 址)。然而,通常需要其他用户输入(例如,指定人的名字)来确定要对哪个数据元素运行 第二查询。为了获得其他用户输入,用户例如通过在第一列表中的元素上点击来从第一查 询的结果中选择项。由此,其他用户输入选择这样一个值,该值标识了用作第二查询的基础 的数据元素列表中的数据元素。因此,从第一列表的选择通常被程序性地绑定到第二查询 来执行更新。显示来自主查询的结果以及来自细节查询的结果(基于用户输入)。因此,这些和其他类型的查询和用户界面控件的设计和开发需要通常远超出计算 机用户平均水平的技术技能。在某种程度上,可以使用图形工具来减少实现组合查询所需的知识。然而,即使使用图形工具,仍需要更新用户界面控件和查询之间的绑定。实现相关 视图更新可能需要收听一个视图中的变化并在第二视图中反应这些变化的相对较复杂的 收听代码。例如,如果改变数据库中的员工记录,则该员工的细节视图可能需要反应该变 化。在缺少收听代码的情况下,通常需要手动更新。然而,一旦呈现了细节视图,查看用户 可能无法识别和/或甚至可能无法知道员工记录被改变过。

发明内容
本发明涉及用于构成带有链接的自动创建的视图的方法、系统和计算机程序产 品。检测到第一和第二数据视图要被组合到合成数据视图中。第一数据视图被配置成呈现 来自数据库的数据元素。第二数据视图被配置成呈现与从第一视图中选择的数据元素有关 的其他数据元素。响应于检测到第一和第二视图要被组合到合成数据视图中,为合成数据视图创建 配置。为合成视图创建配置包括在合成视图的控制下建立选择变量。选择变量用于存储标 识第一视图中的数据元素的值。为合成视图创建配置包括配置用户界面控件来用所接收的 值更新选择变量。为合成视图创建配置包括重新编写第二查询来将存储在选择变量中的所 接收的值用作第二查询的源位置。实例化所创建的配置来在显示设备处呈现合成数据视 图。提供本发明内容是为了以简化的形式介绍将在以下具体实施方式
中进一步描述 的一些概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨 在用于帮助确定所要求保护的主题的范围。本发明的其他特征和优点将在随后的描述中阐述,并且部分地将从本说明书中显 而易见,或可以通过本发明的实施来获知。本发明的特征和优点可通过在所附权利要求书 中特别指出的工具和组合来实现和获得。本发明的这些和其他特征将通过以下描述和所附 权利要求书变得更加显而易见,或可通过对下文中所述的本发明的实践来领会。


为了描述可以获得本发明的上文所列举的及其他优点和特征的方式,将通过参考 附图中所示的本发明的各具体实施例来呈现上文简要描述的本发明的更具体的描述。可以 理解,这些附图只描绘了本发明的各典型实施例,并且因此不被认为是对其范围的限制,将 通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中图1示出便于构成带有链接的自动创建的视图的一示例计算机体系结构。图2示出用于配置合成数据视图的一示例方法的流程图。图3示出一示例合成数据视图。
具体实施例方式本发明涉及用于构成带有链接的自动创建的视图的方法、系统和计算机程序产 品。检测到第一和第二数据视图要被组合到合成数据视图中。第一数据视图被配置成呈现 来自数据库的数据元素。第二数据视图被配置成呈现与从第一视图中选择的数据元素有关 的其他数据元素。
响应于检测到第一和第二视图要被组合到合成数据视图中,为合成数据视图创建 配置。为合成视图创建配置包括在合成视图的控制下建立选择变量。选择变量用于存储标 识第一视图中的数据元素的值。为合成视图创建配置包括配置用户界面控件来用所接收的 值更新选择变量。为合成视图创建配置包括重新编写第二查询来将存储在选择变量中的所 接收的值用作第二查询的源位置。实例化所创建的配置来在显示设备处呈现合成数据视 图。本发明的各实施例可以包括或利用诸如,一个或多个处理器和系统存储器等包括 计算机硬件的专用或通用计算机,这将在以下做出进一步讨论。本发明范围内的各实施例 还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。 这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算 机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介 质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种完全不同的计 算机可读介质计算机存储介质和传输介质。 计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他 磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由 通用或专用计算机访问的任何其他介质。“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子 数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线、或硬连线或 无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质 可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置并可由通用或 专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围 内。此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程 序代码装置可从传输介质自动转移到计算机存储介质(或者相反)。例如,通过网络或数 据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内 的RAM中,然后最终被传送到计算机系统RAM和/或计算机系统处的较不易失性的计算机 存储介质。由此,应当理解,计算机存储介质可被包括在同样(或甚至主要)利用传输介质 的计算机系统组件中。计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或 专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进 制代码、诸如汇编语言等中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专 用的语言描述了本主题,但可以理解的是,所附权利要求书中定义的主题不必限于上述特 征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络 计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息 处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型 计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可以在其中通 过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路 的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实践。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。一般而言,视图通过查询来接收数据。视图还可以具有到变量的绑定,例如,来表 示视图中什么被选择。分析这些查询可以用于确定合成是否有效、以及如何为合成的第二 视图计算新的查询。在合成视图中,利用选择变量并将其绑定到新的第一视图的选择参数。 重新编写第二新的视图的数据查询来引用合成视图中的选择变量。图1示出有助于构成带有链接的自动创建的视图的示例计算机体系结构100。参 考图1,计算机体系结构100包括视图合成模块101、数据库102、用户界面控件103、以及合 成视图配置104。如计算机体系结构100中所描绘的,视图合成模块101可以接收合成命令113、查 询111、和用户界面控件103。查询111可以被配置成在数据库102中查询指定数据,例如 员工列表(例如,在结果114中)。用户界面控件102还包括查询112。查询112可以被配 置成查询从查询111返回的指定数据的一部分(即,与结果114有关的一部分)的更详细 的数据,例如特定员工的所有任务。一般而言,查询可以使用一个或多个查询语言的组合来 编写,查询语言例如SQL、Visual Basic、微软代码名称“Μ”语言、等等。当在视图合成模块101处被接收时,查询112被配置成从用户界面控件103(例 如,文本框)接收输入来访问输入源位置,所述输入源位置定义了要得到其更详细的数据 的指定数据(结果114)的一部分。合成命令113可以包括指示查询111的数据视图要与查询112的数据视图进行组 合的指令。因此,在接收到合成命令113之后,视图合成模块101可以检测到查询111和查 询112的视图要被组合成合成视图。响应于检测到视图区域要被组合,视图合成模块101 为合成数据视图创建配置(例如,合成视图配置104)。创建合成数据视图配置包括在合成视图的控制下建立选择变量。选择变量可以存 储标识第一视图中的数据元素的值。例如,视图合成模块101可以在合成视图104的控制 下建立选择变量121。创建合成数据视图配置还可以包括配置用户界面控件来用所接收的 值更新选择变量。例如,视图合成模块101可以响应于用户输入116来配置用户界面控件 103来更新选择变量121。创建合成数据视图配置还可以包括重新编写查询来重新定向查 询,以将存储在选择变量中的值用作查询的源位置。例如,查询重新编写器106可以重新编 写查询112(如查询112R)来使用存储在选择变量121中的值。可以实例化所创建的配置来在显示设备处呈现合成数据视图。例如,可以在显示 设备处实例化合成视图104来呈现来自数据库102的数据。在合成视图104内,视图132呈 现来自查询111的结果。可以使用查询112来选择视图131中的元素的其他信息。例如, 查询112R可以在数据库102中查询与视图131中的元素有关的其他信息。该其他信息可 以在视图132中呈现。图2示出用于配置合成数据视图的一示例方法200的流程图。方法200将参考计 算机体系结构100中所描绘的组件和数据来描述。方法200包括接收第一查询的动作(动作201),所述第一查询被配置成返回来自 数据库的数据元素的第一视图。例如,视图合成模块101可以接收查询111。查询111可以 被配置成返回来自数据库102的数据元素的第一视图。方法200包括接收第二查询的动作,所述第二查询被配置成返回与从第一视图中选择的数据元素有关的数据元素的第二视图,该第二查询被配置成从用户界面控件接收对 输入源位置的指示(动作202)。例如,视图合成模块101可以接收包含查询112的用户界 面控件103。查询112可以被配置成返回与响应于查询111所返回的数据元素有关的数据 元素的第二视图。在被接收时,查询112被配置成从用户界面控件103接收该查询准则的 输入。方法200包括检测到第一和第二视图要被组合到合成数据视图中的动作,该第 二视图依赖于第一视图,从而使得第二视图与从第一视图中选择的数据元素有关(动作 203)。例如,视图合成模块101可以接收合成命令113。合成命令113可以是用户输入的命 令或基于先前输入的配置选项自动生成的命令。一般而言,推断第一视图(例如,查询111的视图)和第二视图(例如,查询112 的视图)之间的关系是可能的。例如,当满足合成的预先条件时,可以推断关系。预先条件 可以包括第一视图(例如,查询111的视图)的选择类型匹配第二视图(例如,查询112的 视图)的源类型。在推断这种关系之后,可以发出合成命令113。响应于检测到第一和第二视图要被组合到合成数据视图中,方法200包括为合成 数据视图创建配置的动作(动作204)。例如,在接收到合成命令113之后,视图合成模块 101可以为合成视图104创建配置。为合成视图创建配置包括在合成视图的控制下建立选择变量,该选择变量用于存 储标识第一视图中的数据元素的值(动作205)。例如,视图合成模块101可以在合成视图 104的控制下建立选择变量121。选择变量121可以用于存储标识视图131中的数据元素 的值。因此,选择变量121本质上扮演了用户界面103的角色。为合成视图创建配置包括配置用户界面控件来更新选择变量(动作206)。例如, 视图合成模块101可以将UI更新122发送到用户界面控件。UI更新122可以配置用户界 面控件103(例如,文本框)来将所输入的值存储到选择变量121中。例如,用户界面控件 103可以接收标识来自视图131的数据元素的用户输入116。用户界面控件103可以发送 更新117来将标识数据元素的值存储到选择变量121中。为合成视图创建配置包括重新编写第二查询来将存储在选择变量中的值用作第 二查询的源位置(动作207)。例如,查询重新编写器106可以将查询112重新编写成查询 112R。查询112R包括(指向选择变量121)的指针124,所述指针IM将存储在选择变量 121中的值标识为查询112R的源位置。方法200包括在显示设备处呈现合成数据视图(动作208)。例如,视图131和132 可以在显示设备处被呈现为合成视图104。图3示出一示例合成数据视图302。针对数据库301发出查询311以获得人员列 表。查询311的结果被呈现在子视图331中。随后发出查询312来查询George的task(任 务)(变量321的值)。查询312的结果被呈现为子视图332。因此,本发明的各实施例可以用于实现至少两种不同的视图合成。共享源合成可 以用于耦合显示与同一实体有关的信息的两个或更多视图。在视图具有选择并且耦合的视 图示出与所选实体有关的信息的情况下(例如,主/细节耦合),可以使用基于选择的合成。在某些实施例中,视图的数据由两个属性来确定源规范和导航路径。导航路径 在概念上是一个参数(Source (源))的函数。数据通过针对源对导航路径求值来获得。例如Source :People (42)Navigation path Source = > Tasks where Owner == Source这与包含 iTasks where Owner == People (42)的查询条等价。该查询通过将Navigation (导航)函数应用于Source来生成QueryBar :Navigation (Source)Navigation路径可以为空。一个不变性是导航路径函数的参数匹配源的参数。这 种不变性是在创建视图时建立的,否则操作可能被禁止。视图还可以提供指示在该视图中被选择或可以被选择的实体的类型的属性。该属 性可以用于考虑合成视图和分层合成。选择类型可以从视图模板的规范中确定
Type SelectionKind = { "None",
"Any",//例如,树、属性视图
"SameAsInputRecordType", //例如,通用列表视图 "Specific" }//见 truth 的 SelectionType (选择类型)
SelectionType: Type该模型因为至少两个原因是有利的基于选择和属性/关系非常适合开放工作台 的外壳模型。选择变成Source,而属性/关系变成导航。该模型可以被概括成多步导航,诸 如例如Source = > (Tasks where Owner == Source). Select (t = > t. DueDate)共享源合成变得更易于实现因为将Source属性与Navigation路径分开。为了用
共同的源来构成两个视图,例如
Viewl: List(Source=People(42), Navigation=’’Source=>Tasks where
Owner==S ource, S electionType=Tasks) View2: List(Source=People(42), Navigation="Source=>Bugs where
AssignedTo=二Source,SelectionType=Bugs)合成之后,这得到
权利要求
1.一种在包括一个或多个处理器和系统存储器的计算机系统处的用于配置合成数据 视图的方法,所述方法包括检测到第一和第二数据视图要被组合到合成数据视图中的动作,所述第一数据视图被 配置成响应于第一查询呈现来自数据库的数据元素,所述第二数据视图被配置成响应于第 二查询呈现与从所述第一视图中选择的数据元素有关的其他数据元素从而使得所述第二 数据视图依赖于所述第一数据视图中的数据;响应于检测到所述第一和第二视图要被组合到合成数据视图中,为所述合成数据视图 创建配置的动作,包括在所述合成视图的控制下建立选择变量的动作,所述选择变量用于存储标识所述第一 视图中的数据元素的值;所述处理器自动地配置用户界面控件来用所接收的值更新所述选择变量的动作;以及所述处理器自动地重新编写所述第二查询来重新导向所述第二查询以将所述选择变 量中的值用作所述第二查询的源位置的动作;以及实例化所创建的配置来在显示设备处呈 现所述合成数据视图的动作。
2.如权利要求1所述的方法,其特征在于,为所述合成数据视图创建配置的动作包括 为共享源合成视图创建配置的动作。
3.如权利要求1所述的方法,其特征在于,为所述合成数据视图创建配置的动作包括 为基于选择的合成视图创建配置的动作。
4.如权利要求3所述的方法,其特征在于,为所述基于选择的合成视图创建配置的动 作包括为主/细节耦合创建配置的动作。
5.如权利要求3所述的方法,其特征在于,检测到第一和第二数据视图要被组合到合 成数据视图中的动作包括推断所述第一数据视图的选择类型和所述第二数据视图的源类 型之间的关系的动作。
6.如权利要求5所述的方法,其特征在于,推断所述第一数据视图的选择类型和所述 第二数据视图的源类型之间的关系的动作包括确定所述第一数据视图的选择类型匹配所 述第二数据视图的源类型的动作。
7.如权利要求1所述的方法,其特征在于,为所述合成数据视图创建配置的动作包括 为组合的共享源和基于选择的合成视图创建配置的动作。
8.如权利要求1所述的方法,其特征在于,所述第一和第二查询用从M和VisualBasic 中选择的查询语言来编写。
9.一种供在计算机系统处使用的计算机程序产品,所述计算机程序产品用于实现一种 用于配置合成数据视图的方法,所述计算机程序产品包括其上存储有计算机可执行指令的 一个或多个计算机存储介质,所述指令在处理器处执行时使得所述计算机系统执行所述方 法,所述方法包括以下动作接收第一查询,所述第一查询被配置成返回来自数据库的数据元素的第一视图;接收第二查询,所述第二查询被配置成返回与从所述第一视图中选择的数据元素有 关的数据元素的第二视图,所述第二查询被配置成从用户界面控件接收对输入源位置的指 示;检测到所述第一和第二视图要被组合到合成数据视图中,所述第二视图依赖于所述第一视图从而使得所述第二视图与从所述第一视图中选择的数据元素有关;响应于检测到所述第一和第二视图要被组合到合成数据视图中,为所述合成数据视图 创建配置,包括在所述合成视图的控制下建立选择变量,所述选择变量用于存储标识所述第一视图中的数据元素的值;配置所述用户界面控件来更新所述选择变量;以及重新编写所述第二查询来将存储在所述选择变量中的值用作所述第二查询的源位置;以及在所述显示设备处呈现所述合成数据视图。
10.如权利要求9所述的计算机程序产品,其特征在于,在被执行时使得所述计算机系 统检测到所述第一和第二视图要被组合到合成视图中的所述计算机可执行指令包括在被 执行时使得所述计算机系统推断所述第一视图的选择类型和所述第二视图的源类型之间 的关系的计算机可执行指令。
11.如权利要求10所述的计算机程序产品,其特征在于,所述计算机可执行指令在被 执行时使得所述计算机系统推断所述第一视图的选择类型和所述第二视图的源类型之间 的关系包括所述计算机可执行指令在被执行时使得所述计算机系统确定所述第一视图的 选择类型匹配所述第二视图的源类型的动作。
12.如权利要求9所述的计算机程序产品,其特征在于,在被执行时使得所述计算机系 统为所述合成数据视图创建配置的计算机可执行指令包括在被执行时使得所述计算机系 统为共享源合成视图创建配置的计算机可执行指令。
13.如权利要求9所述的计算机程序产品,其特征在于,在被执行时使得所述计算机系 统为所述合成数据视图创建配置的计算机可执行指令包括在被执行时使得所述计算机系 统为基于选择的合成视图创建配置的计算机可执行指令。
14.如权利要求13所述的计算机程序产品,其特征在于,在被执行时使得所述计算机 系统为基于选择的合成数据视图创建配置的计算机可执行指令包括在被执行时使得所述 计算机系统为主/细节耦合创建配置的计算机可执行指令。
15.如权利要求14所述的计算机程序产品,其特征在于,在被执行时使得所述计算机 系统为主/细节耦合创建配置的所述计算机可执行指令包括在被执行时使得所述计算机 系统推断所述第一数据视图的选择类型和所述第二数据视图的源类型之间的关系的计算 机可执行指令。
16.如权利要求9所述的计算机程序产品,其特征在于,在被执行时使得所述计算机系 统为所述合成数据视图创建配置的计算机可执行指令包括在被执行时使得所述计算机系 统为组合的共享源和基于选择的合成视图创建配置的计算机可执行指令。
17.一种计算机系统,所述计算机系统包括一个或多个处理器;系统存储器;显示设备;以及一种或多种计算机存储介质,所述计算机存储介质上存储有表示视图合成模块的计算 机可执行指令,所述视图合成模块被配置为接收第一查询,所述第一查询被配置成返回来自数据库的数据元素的第一视图; 接收第二查询,所述第二查询被配置成返回与从所述第一视图中选择的数据元素有 关的数据元素的第二视图,所述第二查询被配置成从用户界面控件接收对输入源位置的指 示;检测到所述第一和第二视图要被组合到合成数据视图中,所述第二视图依赖于所述第 一视图从而使得所述第二视图与从所述第一视图中选择的数据元素有关; 响应于检测到所述第一和第二视图要被组合到合成数据视图中 在所述合成视图的控制下建立选择变量,所述选择变量用于存储标识所述第一视图中 的数据元素的值;配置所述用户界面控件来更新所述选择变量;以及重新编写所述第二查询来将存储在所述选择变量中的值用作所述第二查询的源位置;以及在所述显示设备处呈现所述合成数据视图。
18.如权利要求17所述的系统,其特征在于,所述视图合成模块被配置成检测到所述 第一和第二视图要被组合到合成数据视图中包括所述视图合成模块被配置成检测到所述 第一和第二视图要被组合到共享源合成数据视图中。
19.如权利要求17所述的系统,其特征在于,所述视图合成模块被配置成检测到所述 第一和第二视图要被组合到合成数据视图中包括所述视图合成模块被配置成检测到所述 第一和第二视图要被组合到基于选择的合成数据视图中。
20.如权利要求17所述的系统,其特征在于,所述视图合成模块被配置成检测到所述 第一和第二视图要被组合到合成数据视图中包括所述视图合成模块被配置成推断所述第 一视图的选择类型和所述第二视图的源类型之间的关系。
全文摘要
本发明涉及用于构成带有链接的自动创建的视图的方法、系统和计算机程序产品。一般而言,视图通过查询来接收数据。视图还可以具有到变量的绑定,例如,来表示视图中什么被选择。分析这些查询可以用于确定合成是否有效、以及如何为合成的第二视图计算新的查询。在合成视图中,利用选择变量并将其绑定到新的第一视图的选择参数。重新编写第二新的视图的数据查询来引用合成视图中的选择变量。
文档编号G06F17/30GK102142025SQ20111003735
公开日2011年8月3日 申请日期2011年1月28日 优先权日2010年1月29日
发明者A·S·威廉姆斯, M·C·默里, S·M·丹顿 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1