管理和自动链接数据对象的制作方法

文档序号:6596144阅读:165来源:国知局

专利名称::管理和自动链接数据对象的制作方法
技术领域
:本说明书涉及在可升级的面向对象的数据库系统中管理和自动链接数据对象。
背景技术
:传统数据录入(entry)系统已经被实现为Web应用,以便允许用户通过点击某一链接生成新的对象。这样的链接可以将用户引导到列出能够生成的对象类型的网页。然后,用户将选择对于某个对象类型的链接并且被带到用于新生成的空对象的编辑器。然后,用户将填写关于该新对象的必要信息,包括到现有对象的链接。将这些链接设置到现有对象经常需要大范围导航以找出链接目标或者从头到尾查阅现有对象的长列表。在LotusNotes内建立的定制应用至少在定义定制接口方面是类似的,在该定制接口中新对象(“文档”)被生成,并且有时被连接到其它文档。讨论论坛接口将是另一个例子其中从已存在(previouslyexisting)的对象、先前消息生成新对象或响应,或者新对象或响应被链接到已存在的对象、先前消息。
发明内容在一个方面,一般说来,本说明书描述了用于管理存储在数据储存库中的数据对象以及在图形用户接口上显示与数据对象关联的元素的方法的特征。所述方法包括使用可重用逻辑提供与存储在所述数据储存库中的第一数据对象关联的至少一个所显示的输入元素;响应于与所显示的输入元素关联的用户输入,生成存储在所述数据储存库中的第二数据对象;以及基于与所显示的元素关联的数据对象,将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接。多个方面可以包括下列特征中的一个或多个。基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接包括将第二数据对象与第一数据对象链接。基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接包括将第二数据对象与通过一个或多个相关的链接与第一数据对象相关的至少一个数据对象链接。所述方法还包括在所述图形用户接口上显示与存储在所述数据储存库中的、通过一个或多个相关的链接与第二对象相关的一个或多个数据对象关联的一个或多个元素。与所述一个或多个数据对象关联的一个或多个元素包括显示关于哪些数据对象与第一数据对象有关的信息的元素。所述信息包括关于第二数据对象的信息。与所述一个或多个数据对象关联的一个或多个元素包括用于从用户接收信息的输入元素。所述输入元素提供选择集合,用户从该选择集合进行选择以提供所述信息。所述选择集合基于存储在所述数据储存库中的、通过一个或多个相关的链接与第二对象相关的一个或多个数据对象。所述图形用户接口提供包括与所述一个或多个数据对象关联的一个或多个元素的浏览器页。重新使用可重用逻辑以提供与存储在数据储存库中的第三数据对象关联的至少一个所显示的输入元素。所述可重用逻辑由绘制器使用以提供将绘制在浏览器页上的与第一数据对象关联的所显示的输入元素以及与第一数据对象关联的所显示的输入元素。所述与所显示的输入元素关联的用户输入包括与所显示的输入元素的用户交互。所述方法还可以包括响应于与所显示的输入元素关联的用户输入,生成第三数据对象以存储在所述数据储存库中。一系列屏幕可以用于收集用户输入以生成第二数据对象。第一数据对象可以与专用编辑器关联。在另一方面,一般说来,一种计算机可读介质存储用于管理存储在数据储存库中的数据对象以及在图形用户接口上显示与数据对象关联的元素的计算机程序,该计算机程序包括用于导致计算机系统执行以下步骤的指令使用可重用逻辑提供与存储在所述数据储存库中的第一数据对象关联的至少一个所显示的输入元素;响应于与所显示的输入元素关联的用户输入,生成存储在所述数据储存库中的第二数据对象;以及基于与所显示的元素关联的数据对象,将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接。在另一方面,一般说来,提供一种用于管理存储在数据储存库中的数据对象及在图形用户接口上显示与数据对象关联的元素的系统。该系统包括数据存储系统,提供存储数据对象的数据储存库;至少一个输出设备或者端口,用于提供图形用户接口;以及耦接到所述数据存储系统以及所述至少一个输出设备或者端口的计算机系统,该计算机系统包括用于执行以下步骤的电路使用可重用逻辑提供与存储在数据储存库中的第一数据对象关联的至少一个所显示的输入元素;响应于与所显示的输入元素关联的用户输入,生成存储在所述数据储存库中的第二数据对象;以及基于与所显示的元素关联的数据对象,将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接。在另一方面,一般说来,提供一种用于管理存储在数据储存库中的数据对象并且在图形用户接口上显示与数据对象关联的元素的系统。该系统包括用于使用可重用逻辑提供与存储在数据储存库中的第一数据对象关联的至少一个所显示的输入元素的装置;用于响应于与所显示的输入元素关联的用户输入生成存储在所述数据储存库中的第二数据对象的装置;以及用于基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接的装置。多个方面可以具有下列优点中的一个或多个。自动生成并且链接数据储存库中丰富互连的元数据以及支持使用该数据储存库作为它们的后备数据存储器的定制工作流是有益的。而且,可以在数据储存库本身以外建立元数据应用。本说明书的其他特征和优点将从下面的描述以及从权利要求中变得明显。图1是用于执行基于图的计算的系统的框图。图2示出计算图。图3是屏幕截图。图4A示出在基于图形的计算环境中将输入数据转换为输出数据。图4B示出基于图的计算的例子。图5示出生成、显示及链接存储在业务规则环境中的数据对象的屏幕截图。图6和图7示出一系列向导(wizard)屏幕。图8和图9示出与一系列与对象编辑器关联的屏幕。图10是生成、显示及链接存储在数据储存库中的数据对象的示范性操作的流程图。具体实施例方式1.系统总览图1是示出开发、运行和管理基于图的计算的计算系统100的各部分的相互关系的示意框图。使用由有向图表示的“数据流图”实现基于图的计算,该有向图的顶点表示组件(例如,数据文件、处理等等),有向图中的有向链接或者“边”表示组件之间数据的流。在一些例子中,图形开发环境(⑶E)102提供用于指定可运行图(executablegraph)和定义图组件的参数的用户接口。⑶E102与储存库(r印ository)104和并行操作环境106通信。同样耦接到储存库104和并行操作环境106的是用户接口模块108和外部数据存储器(datastore)112ο优选地,储存库104是可升级的面向对象的数据库系统,其被设计为支持基于图的应用的开发和执行以及在基于图的应用与其它系统(例如,其它操作系统)之间元数据的交换。在该布置中,储存库104称为企业元环境(EnterpriseMetaEnvironment,EME)并且能够存储一个或多个类型的元数据,包括文档、记录格式(例如,表格中的记录的域(field)和数据类型)、转换函数、图、作业(job)、监视信息等等。具体来说,EME104可以存储与基于图的计算关联的元数据。在此场景中,每个计算机程序可以视为使用计算图——也称作数据流图,或者简称为图——来实现。图包含一个或多个组件(或者顶点),它们可以通信(例如,通过流或边)以允许数据流动。在一些布置中,图可以在并行操作环境106中运行。实现为数据存储器的EME104可以跟踪图的开发中的变化,执行统计和依赖性分析,管理关于图的开发的元数据,并且提供其它类似功能。一般说来,与图有关的元数据的存储允许数据影响分析,由此给用户提供了对数据正在图中如何改变以及那些变化对一个或多个其它图的影响的视觉感知。另外,EME104可以准许存储多个版本的图,例如,用于跟踪在开发期间的代码变化和调整。EME104还存储表示将由计算系统100处理的实际数据的数据对象、包括存储在外部数据存储器112中的数据。并行操作环境接受⑶E102中生成的数据流图的规范并且生成与由所述图定义的处理逻辑和资源相对应的可执行指令(例如,计算机指令)。然后一般来说,并行操作环境106在多个处理器(它们不必是同类的)上运行那些指令。用户接口模块108提供EME104的内容的基于浏览器的视图。使用用户接口模块108,用户可以浏览对象,生成新对象,更改现有对象等等。举例来说,用户接口模块108可以生成浏览器屏幕,以便用户搜索和查看关于存储在EME104中的对象和关于对象的信肩、ο存储在EME104中的元数据可以包括用于基于图的应用的数据对象,包括用于建立计算图的图组件和其它功能性对象。一个或多个类型的元数据也可以存储在EME104中,举例来说,可以存储“技术”元数据(例如,与应用相关的业务规则、记录格式和运行统计情况)以及“企业”和“业务(business)”元数据(例如,作业功能、角色和责任的用户定义的文档)以及其它类似的类型。以数据对象格式存储在EME104中的信息使得能够对应用以及由那些应用处理的数据进行各种分析。举例来说,用户可以得到有关数据世系(lineage)的问题的答案,比如,给定值来自何处、输出值是如何计算的以及哪些应用产生该数据以及依赖于该数据。开发者可以理解建议修改的结果(例如,如果该组件改变,那么还有什么将受到影响?如果该源格式改变,那么将影响哪些应用?)。用户或者开发者还可以得到涉及技术元数据和业务元数据二者的问题的回答,比如,哪些用户或者开发者组负责生产和使用特定数据集,或者什么是特定应用的最近更新。EME104还可以跟踪所存储的数据的状态。举例来说,可以跟踪和存储一个或多个数据对象的多个版本,由此使得可以调查一定时间段内(例如,一周、一月或一年内)的对象的状态以及将其与对象的当前状态相比较。举例来说,EME104可以收集作业跟踪或执行信息,该作业跟踪或执行信息使得能够进行趋势分析(例如,我们的数据增长的多快?)以及容量规划(例如,该应用要用多长时间来运行?它处理了多少数据,以及是以什么速度处理的?该应用消费了什么资源?我们何时需要添加另一台服务器?)。用户可以通过用户接口模块108查看(以及可选地,编辑)包含在所存储的数据对象中以及与所存储的数据对象关联的信息。在一个实施方式中,用户可以定义一个或多个“视图(view)”,其在浏览器页中提供关于数据对象的相关子集的信息。“视图”是使用用于基于那些对象之间的关系选择一个或多个数据对象的句法来定义的。如图2中所示,可以由EME104中的用户接口模块108生成EME浏览器接口202。为了显示关于EME104中的特定对象的细节,EME浏览器接口202可以使用包含在对象中的信息生成浏览器页206的至少一部分(例如,包括超文本标记语言(HTML)形式)。举例来说,在图3中示出的屏幕截图中,显示了关于名为“example1(例1)”的文件对象的细节。返回到图2,作为浏览器页206的生成的部分,对元素绘制器(elementrenderer)204进行调用,该元素绘制器使用来自对象(例如,对象A)的信息以及返回待绘制的页或页的部分。该页可以包括各种浏览器表单元素(browserformelement),包括显示元素,该显示元素显示与对象A关联的信息并且包括用于接收用户交互的输入元素。在该特定布置中,提供按钮208作为能够接收用户交互的元素,然而,可以使用其它输入元素来接收各种各样的用户交互中的任何一个。举例来说,可以利用菜单(例如,下拉菜单)、复选框以及其它类似的类型的元素。一般说来,元素绘制器204是指由通常针对可以对特定类型的任意对象执行的特定活动而定义的一个或多个软件程序或者例程实现的可重用逻辑。像这样,元素绘制器204可以确定对对象执行什么动作,以及随后确定哪个输入元素(例如,按钮208)应当被绘制在浏览器页206上(显示在浏览器接口202中)。用户动作与对应元素(例如,按钮)之间的关系通常由元素绘制器204内指定的逻辑提供。如果元素绘制器已经被配置为支持多个动作或者不同选项,那么用户当在“视图”中指定其包含物时就可以将参数传递给绘制器。在一个布置中,元素绘制器(被称为“file_upl0ad.py”)可以添加新文档到EME104或者替换现有文档。参考图3中示出的屏幕截图,已经由元素绘制器204生成文本"replacedocument(替换文档)”右边的元素。然而,可以在配置元素绘制器204时指定采取哪些动作(action)作为“视图”的部分。在一个例子中,函数调用元素绘制器(例如,file_upload.py)可以默认添加新文档到EME104。函数调用元素绘制器(例如,file_upload,py,其中“action=r印lace”)也可以替换当前文档。在另一例子中,可以为这些函数调用指定多个参数(例如,file_update.py,其中“action=add&rule_name=my_doc_oid”)。为了确定将由元素绘制器显示的特定元素(例如,按钮208),与绘制器关联的逻辑可以使用所提供的(并且与“视图”的部分关联的)参数。元素绘制器204及其关联的程序一般也存储在EME104中。因为所述程序并非专用于单个对象,所以这些程序可以适用于EME104中存在的多个对象。除了显示在浏览器(例如,文件“browse(浏览)”控制按钮302和“submit(提交)”按钮304)中的HTML表单的可见部分之外,在文件提交(或者其它类似操作)期间也可以使用HTML表单内的隐藏信息。一般说来,当按钮208被按压(经由用户交互)时,不管情景或者关联功能(例如,图3中的“提交”按钮304)为何,都调用脚本210。脚本210可以对各种类型的用户请求(例如,HTTP专用服务)做出响应并且进而在EME104中提供服务器侧处理。可以基于特定对象或者对象集合绘出对于EME104中的对象的浏览器页(例如,浏览器页206)。举例来说,响应于用户选择存储在EME104中的一个或多个对象而显示的浏览器页可以是与所选择的对象关联的信息或者各种特征的绘制。脚本(例如,脚本210)可以生成其内容和/或布局依赖于所述对象的页或者页的元素的定制绘制。在一些布置中,元素绘制器204可以绘制浏览器页的基于特定对象的一个或多个元素,并且浏览器页的其它部分可以包括基于不同对象的元素的一个或多个绘制。可以由脚本210使用各种类型的输入,举例来说,与对象(例如,对象A)关联的信息、用户提供的信息(例如,通过浏览器页206输入的)以及其它类型的信息。在运行期间,脚本210可以在EME104内生成一个或多个其它对象。举例来说,可以在EME104内产生第二对象B212,然而,可以产生多个对象。除了产生一个或多个对象之外,脚本210还可以建立对象之间的链接(称作“关系”)。举例来说,可以在对象B212和对象A之间建立链接214。为了建立这些链接,可以使用一项或多项技术,举例来说,可以调用命令(例如,使用与EME104关联的命令行接口)。随着被链接到与其产生关联的对象(例如,对象A),对象B212也可以被链接到脚本210所确定的、与为对象A绘制的元素(例如,按钮304)相关联的其它对象。在该布置中,EME104是一个面向对象的储存库,并且包括对象和关联的关系。在一些例子中,新生成的对象可以被链接到与正被显示的浏览器页相对应的对象(或者多个对象)。在其它情况下,可以从提供给HTML表单的信息确定到对象(例如,现有对象)的链接。在一些例子中,对象A和B可以在EME104中被链接(例如,链接214),并且该链接可以在浏览器页206上显示为链接以供导航。这些技术提供一个或多个优点,举例来说,关于在EME104中将链接哪些对象的信息(knowledge)可以被认为是以自动方式确定的。EME104内的每个对象都可以存储在“域(domain)”中,所述域(domain)包含关于对象与EME104中的其它对象关联的关系的信息。当生成链接(例如,链接214)中的一个时,信息可以添加到域(domain)中该域指示对象所关联(例如,指向)的域(domain)0脚本210也可以更新目标对象的域(domain),例如,用以记录反向关系(例如,其它对象指向它)。对于存储在EME104中的、涉及特定对象(例如,对象A或者B)的文档的部分或者全部,可以示出诸如链接214这样的链接。在一些例子中,脚本210可以检查与用户的输入关联的许可,以确定是否准许一个新对象的生成,并且如果不准许的话则可以通知用户。在一些布置中,用户还可以被引导至新的浏览器页或者当前页的刷新版本(例如,页206)以示出已经执行的动作的结果(例如,脚本210执行的动作的效果)。在一些例子中,多个用户可以近乎同时地对EME104进行修改,从而导致刷新以显示变化。在其它例子中,由于脚本210的运行,可以生成新对象(或者多个新对象),可能已经设置了一些属性(例如,经由直接的用户编辑),并且新对象(或者多个新对象)可能已经链接到一些现有对象。基于该刷新,可以显示新生成对象的详细视图。该视图可以向用户呈现已经由用户在编辑属性时提供的信息。举例来说,对象的视图可以利用对象之间的链接来导航到EME104中的其它对象并且收集附加信息。导航可以包括执行从开始对象到链接至开始对象的其它对象的“前进(walk)”动作(例如,基于链接的方向“向上游”或“向下游”)。可以通过连续的链接执行多个前进动作以导航到一个或多个相关对象。作为该前进的结果,在刷新之后可以将附加信息呈现给用户。也可以将用户引导至一个新的浏览器页或者当前页206的刷新版本以提示用户将附加信息存储在EME104中。举例来说,可以提示用户提供与新生成的对象(例如,对象B)或者由于通过相关链接导航而相关的一个不同对象或者多个不同对象关联的信息。新生成的对象的自动链接的一个好处是,对象的场景可以帮助改善和增强与用户的后续交互。举例来说,用户可以提供输入,以与组织的多个部门其中之一关联的浏览器页上生成表示雇员的数据对象(例如,基于该部门的数据对象)。当刷新该页时,可以提供选择菜单(例如,下拉菜单)以选择数据对象,例如表示所添加雇员的管理者的数据对象。如果脚本210自动链接雇员数据对象到部门数据对象,那么菜单中的选择列表可以被限制为作为该部门的成员的那些现有雇员——他们的数据对象被链接到部门数据对象。举例来说,元素绘制器204可以使用高级计算机编程语言来实现,诸如存储在EME104中的python脚本或者Kornshell脚本。其运行的结果是浏览器页206的片段——其依赖于视图设计并且可以插入到由EME浏览器接口202生成的其余内容中。元素绘制器204可以产生针对“视图”的一个元素的HTML。在一些例子中,使用命令行接口(未示出)按顺序配置视图元素。由元素绘制器204返回的浏览器页片段在一些情况下可以看起来像单个按钮208那样简单,但是在其它情况下,页部分可以包含用于数据录入的其它表单元素。图3中示出的例子具有文件“浏览”输入元素302。如上所述,当用户点击以提交文件时,一般来说调用脚本210。脚本210可以实现为python脚本或者其它类似形式。在一些例子中,由脚本210执行的动作可以通过下列步骤执行。脚本210可以首先使用到EME104的命令行接口在EME104数据存储器内生成新对象(例如,对象B212)。参考图3中示出的例子,与文件上传关联,该新对象可以是用户已经从他们的台式计算机上传的文件。在其它情况下,新对象可以一开始是完全空的,但是被生成为一个占位符——其它元数据或者属性可以附于其上。接下来,脚本210可以链接新对象到EME104内的现有对象(例如,对象A)。最后,脚本210可以将用户引导至新的页或者为用户刷新初始页。如果用户被引导至新的页,那么该页一般来说是用于该新链接和生成的对象的、基于web的编辑器。2.例子例1用户反馈在一个实施方式中,按钮(例如,按钮208)可以显示在用于EME104中的任意对象的浏览器页上(例如,浏览器页206)。当用户点击按钮时,脚本(例如,脚本210)可以被配置为运行以生成新的注释(note)对象。脚本还可以生成指向新注释对象的、初始对象(例如,对象A)的链接。生成的新注释对象被假定为是关于初始对象的。在一些例子中,可以不将新注释存储为初始对象的部分。为此,为了稍后找出并显示该注释,可以生成初始对象和新注释对象之间的链接或者关系。从而,可以设计浏览器页或者报告以显示与该对象或者一些较大的对象集合相关的全部注释。举例来说,该实施方式可以提供用户已经输入的对项目(project)中的对象的反馈。而且,用户可以重新被引导至用于输入新注释对象的文本内容的编辑器。例2文件上传在该例子中,元素绘制器204用来在EME对象的浏览器页上显示包含文件浏览控件(例如,计算机系统上用于向服务器上传的用户可选文件)和按钮(例如,按钮208)的表单。在一些例子中,元素绘制器204生成与唯一标识符关联的浏览器页元素,以及允许多个文件上传表单显示在同一浏览器页上。在用户浏览以选择与作为驻留在EME104中的项目的部分的对象相关的文件(例如,Excel电子表格)之后,调用脚本210以将该文件载入到EME104作为新的文档对象。与脚本210关联的操作可以生成从与初始浏览器页相应的对象到新文档对象的链接。随后,用户可以被重新引导至用于初始对象的浏览器页,其示出对象被出于导航和报告的目的而链接到的文档的列表。例3业务规则环境(BRE)中的规则集的水平(horizontal)版本在一个实施方式中,业务规则(例如,采用元数据子集的形式)可以存储在EME104中。举例来说,业务规则的各种类型和方面可以实现为名称为“EditingandCompilingBusinessRules”并且于2007年4月10日提交的美国申请No.11/733,434中描述的规则,通过引用的方式将其全部并入这里。每个业务规则都能够存储在单独的EME对象中。业务规则能够被表达为用于将数据从一种格式变换到另一种格式、进行有关数据的判定或者基于一组输入数据生成新数据的一组准则。举例来说,在图4A中,飞行预订系统中的记录402包括指示乘客的姓名404、该乘客今年已经飞行了多少英里406、该乘客的票的等级408以及该乘客所就坐的排410的域(field)的值。业务规则可以指示这样的乘客应当分配到特定登机组(例如,登机组1)。尽管业务规则通常可以为用户所理解,例如,“头等舱乘客在组1中”,但是这样的信息可能需要被翻译成一个或多个其它形式,以便由计算装置(例如,计算机系统)识别和处理。在一个特定布置中,为了在基于图的计算环境中实现业务规则,可以产生变换(transform)412,其从一个或多个数据源(例如,输入数据集400)接收输入记录,诸如记录402。变换可以将该信息插入到输出记录中,例如记录414,其指示乘客的姓名404以及该乘客已经分配到哪个组(例如,组418)。记录414可以被对应地插入到输出数据集420中。在该例子中,图示的数据集(例如,数据集420)示出示范性记录,但是一般说来,数据集可以包括任意数目和类型的记录。在一些布置中,举例来说,输入和输出数据集也可以称为数据流,因为数据(来自数据集)可以流入图中或从图中流出。变换可以并入具有数据处理组件并且可以通过链接表示数据流的元素来连接的、基于图的计算中。举例来说,图4B中示出的计算图430包括为一个或多个计算提供输入的两个数据集432、434(举例来说,经常飞行数据和飞行预订数据)。格式组件436、438将输入数据格式化,举例来说,使用类似或者不同类型的调整以产生共同格式化的数据集,该数据集被组合(例如,通过联合(join)组件440)以产生输出数据集442(其可以与额外的处理操作一起使用)。变换本身可以是基于图的计算,诸如图430中,或者可以在图的组件内实现,诸如组成图430的独立组件436、438和440。在一些布置中,一个或多个技术可以用于简化变换的生成(例如,为非技术用户)。举例来说,可以为用户提供工具以便以熟悉格式输入一组业务规则(称作规则集),其向计算机系统提供待执行的一个或多个变换。举例来说,规则集可以被视为产生单个变换的一组规则。一个规则可以由一个或多个规则用例组成,这些规则用例根据输入计算规则的输出的不同值。一个规则还可以包括多个规则,它们产生针对额外输出或者替换输出的值。规则集还可以包含其它规则集,这称为“内含的(included)”规则集。对于EME104中的项目来说,浏览器页可以列出包含在该项目中的规则集的部分或者全部。在这种情况下,浏览器页可以显示与特定对象——例如,特定项目——有关的细节。EME104中的项目通常包含各种技术元数据。在该例子中,浏览器页可以列出包含在该项目中的全部规则集。对于列表中的每个规则集来说,举例来说,通过使用相同的元素绘制器204,可以显示按钮或者其它类型元素的数目。参考图5,一系列行包括在示范性列表中,并且列表中的每一行包括四个按钮(例如,按钮502、504、506和508)。所显示的按钮中的每一个通过调用元素绘制器(例如,元素绘制器204)被提供为具有不同的选项。更具体地说,按钮502、504、506、508分别表示可以基于规则集执行的不同动作^PromoteRuleset(使规则集升级)”、“DemoteRuleset(使规则集降级)”、“NewMinorVersion(新的次版本)”和“NewMajorVersion(新的主版本)”。广义上来说,使规则集升级可以与将特定规则集从开发阶段过渡到测试阶段并且最后到产出阶段(例如,在该阶段规则集可以由用户运行以供数据处理)关联。这四个动作可以用于在开发生命周期期间使规则升级或者降级以及可能用于生成不同版本的规则(例如,新的主版本、次版本等等)。这样的能力允许规则集的先前版本(那些可能相对旧的版本)被访问(以及被使用),同时允许规则集一定时间段内演进。举例来说,不是改变现有规则或者规则集,而是可以生成、调整所述规则或者规则集的新副本以及分配给其一个新版本号。在一些布置中,元素绘制器(例如,元素绘制器204)可以被配置为确定是否应当基于与规则集关联的一个或多个许可显示特定按钮。举例来说,许可可以与修改规则集及其当前开发生命周期关联。参考开发生命周期作为例子,该生命周期中的不同阶段可以是开发(“Dev”)、测试(“Test”)以及产出(“Prod”)。因此,元素绘制器(例如,元素绘制器204)的逻辑可以按顺序走过这三个阶段(以该特定次序)。一旦到达“Prod”阶段,规则集就可以不再被升级。类似地,在“Dev”阶段,用户可以不再使规则集降级。元素绘制器204也可以预计算确认文本,如果用户点击按钮,则该确认文本可以被显示。也就是说,当用户点击按钮中的一个时,包括文本的弹出图形可以被显示并且确认该动作。举例来说,点击第一行中的按钮502可以弹出一个带有指示“AreyousurethatyouwanttoPromoteRuleset-I-DevtoTest?(你确定想要将Ruleset-l-Dev升级到Test?)”文本的对话框。通过提供这样的显示,用户可以确认该动作,从而降低意外改变(来自意外点击)的概率。此外,当用户点击按钮中的一个时,脚本210被调用并且做出对应规则集的副本。规则集已经被填充了内容,其被复制并且可以被用作随后改变的起始点。可替换地,副本可以用作备份,以使得可以对初始规则集进行改变。可以基于规则和动作的初始名称确定规则集的新副本的名称。也可以使用不同名称以使得用户可以稍后区分它们。举例来说,如果规则名称一开始以“Dev”结尾并且它正在被升级,那么新规则名称可能以“Test”结尾。如所述,在不同阶段对规则进行不同的活动。当在“Dev”阶段时,其可以被认为是正在由开发者修改。当在“Test”阶段时,通常是正在针对适当的行为检查规则或者规则集并且它们一般保持不变。在“Prod”阶段中,举例来说,正在出于预定目的使用规则集并且一般不发生改变。不同阶段和版本可能是必要的,因为规则集一从“Dev”升级到“Test”,开发者可能就开始做出新改变了。基于新名称,脚本210可能需要更新存储在规则集内的一些信息。在一些例子中,规则集包含关于代码文件的名称的信息(例如,用于图4中的图的变换412)。在一些例子中,该代码文件按照规则集来命名。像这样,如果产生一个具有新名称的规则集,则所生成的文件的名称也将更新。随后,用户可以被重新引导至到已经被更新为包含新规则的项目中的规则集的列表(并且被允许查看所执行的动作的结果)。举例来说,如果对规则集执行这些动作中的任意一个,则用户就被带到针对新规则或者经修改的规则的浏览器页。例4用于对象创建的向导。参考图6,举例来说,基于用户交互,可以实现另外的操作以产生一个或多个对象。在一个布置中,可以通过一系列步骤从用户采集信息以便产生一个或多个对象。举例来说,用户交互(例如,用户点击按钮的图形表示)可以启动通过一系列步骤指导用户的向导或者其它类型UI屏幕序列的运行。尽管通过所述序列来前进,但是信息是例如从用户收集的,用于产生一个或多个对象。收集的信息也可以用于其它操作,举例来说,收集的信息可以表示与一个或多个对象关联的特性并且可以用于修改一个对象或者多个对象。如图中所示,为了说明性目的,屏幕600的一部分包括数据集(例如,表格)中的域(filed)(例如,栏(column))。在该例子中,数据屏蔽规则(例如,模糊化(obfuscation)、去标识化(de-identification)等等)被定义并且可以作用于与所述域关联的数据。为了启动该过程,由用户选择(通过利用诸如鼠标之类的指向设备的交互)按钮602的图形表示(标以“AddMaskingRule(添加屏蔽规则)”)。当被选择时,运行包括一系列屏幕的向导。举例来说,可以首先呈现第一向导屏幕604的一部分以收集用户提供的信息。在该特定例子中,向导屏幕604呈现两个单选按钮并且提示用户选择将产生的屏蔽规则的类型。一旦做出了选择,用户就可以选择按钮606(标以“Next(下一步)”)以过渡到下一向导屏幕。为了终止该向导,可以由用户选择其它按钮608(标以“Cancel(取消)”)。接下来,在该情景中,呈现另一个向导屏幕(如屏幕610的一部分提供的)。对于该特定屏幕610,为用户呈现两个单选按钮以选择是创建新规则还是添加现有规则。基于用户提供的选择,该向导可以确定跟随哪条特定路径(例如,一系列屏幕)。像这样,该向导可以包括用于各种用户引导的情景的多个分支路径(例如,树结构)。类似于屏幕604,用户可以选择通过选择按钮612(标以“Next(下一步)”)来使该向导继续前进,通过选择按钮614(标以“Back(返回)”)来移回一个屏幕,或者通过选择按钮616(标以“Cancel(取消)”)来中断该向导。当作出选择时,该向导执行适当的动作。参考图7,由向导提供的屏幕700的另一部分提示用户从对象列表中进行选择以定义屏蔽规则。对于选择来说,在该例子中,在菜单(例如,下拉菜单)中提供函数列表。所选择的函数中的每一个都可以与可以存储(例如,存储在储存库104中)的一个或多个对象关联。在该例子中,一个或多个屏蔽函数(例如,HashCensus1)与存储的对象关联。除了使用用于屏蔽选择的菜单之外,用户还可以使用按钮(类似于按钮612、614和616)控制通过该向导行进的方向。在该例子中,选择按钮702(标以“Next(下一步)”)以移动至提供用户选择的概要的屏幕704。对于该例子来说,命名为“preferrecK优选的)”的域(如屏幕600中所示)与函数“HashCensus1”关联。当查看该信息以及选择按钮706(标以“Finish(完成)”)时,产生一个新对象(或者多个新对象)并且可以产生一个或多个图形表示,以便例如导航到该对象(或者多个对象)。举例来说,暂时返回到图6的屏幕600,到新产生的对象的链接可以取代图形按钮602并且当被选择时,该链接可以将用户引导至该新对象。在一个布置中,可以将屏幕708呈现给用户以便查看与所产生的对象关联的信息和参数。尽管该向导例子展示了对象(或者多个对象)的产生,但是可以由类似的向导提供其它操作。举例来说,可以执行对象调整(例如,函数分配等等)、对象删除以及其它类似操作。例5编辑绘制器参考图8,当正在创建一个或多个对象时,可以执行诸如与交换数据关联的操作之类的其它操作。在一个布置中,所呈现的元素的功能可以被扩展到包括编辑能力。举例来说,可以运行脚本、程序或者其它类型的指令集合以产生可以与其它程序(例如,专用编辑器)关联的对象。引入与对象关联的编辑器使编辑能力能够得以扩展(例如,利用约束条件来编辑元数据、启动外部编辑控件,等等)。除了增强编辑能力之外,与该对象关联的编辑器还可以提高编辑灵活性。如图中所示,屏幕800包括编辑屏幕的一部分。包括在屏幕中的域802(标以“Key(键)”)具有控件——其是一个编辑绘制器。在该例子中,不能直接输入或者编辑值(例如,数字值、文本、函数等等)。而是,可以由用户选择图形按钮804以启动与键域(Keyfield)的对象关联的编辑器。在该布置中,屏幕806呈现与键域关联的示范性编辑器808并且使用户选择的信息能够与该域关联。在该特定布置中,编辑器808通过软件开发产品实现,该软件开发产品产生用于多个平台的丰富的因特网应用(例如,用户接口),诸如Flex(来自加利福尼亚的SanJose的Adobe系统)。在该特定例子中,编辑器808向用户提供可选记录集合810以及用于识别键域802的数据的选择工具812。一旦选定,就可以选择图形按钮814以返回(以及提供所选择的数据)到前一屏幕800。参考图9,屏幕900表示屏幕800的更新版本,其键域被填充以来自编辑器808(屏幕806中所示)的信息。具体来说,更新的键域902包括来自编辑器808的所选择的两个域。像这样,两个数据集合与屏幕900关联,然而,在一些例子中,可以呈现其它的数据集合。可以从与屏幕900关联的对象提供数据集合中的一个,举例来说,通过下拉菜单904选择以及输入到屏幕900中绘制的对话框906中的数据。由包括在屏幕806中(并且与键域802关联)的编辑器808提供第二数据集合。举例来说,可以通过使用一项或多项技术将该数据传递到另一屏幕。举例来说,可以将数据集合放入相似表单中。在一个布置中,可以以预定的形式或者格式将数据捆在一起以便在一个查询串中(例如,HTTP查询串)中提交。举例来说,用户可以选择图形按钮908(标以“SaveChanges(保存改变)”),其启动将数据捆绑到查询串中。当被捆绑到查询串中时,可以将该串提供给一个或多个屏幕、对象或者其它位置,用于另外的处理和呈现。还可以实现各种类型的编辑器,举例来说,可以使用与时间和日期关联的编辑器、图形编辑器(例如,用于查看三维对象的各个方面)以及其它类型的编辑器。3.实现方法参考图10,流程图1000表示由元素绘制器(例如,元素绘制器204)以及脚本(例如,脚本210)实现的一些操作,用于管理存储在数据储存库(即,EME104)中的数据对象并且将与数据对象关联的元素显示在图形用户接口(即,用户接口模块108)上。如前所述,EME104中丰富互连(richlyinterconnected)的元数据对象可以由相关的链接(rationallink)来引用。除了实施以及维护多个数据对象之间的逻辑关系之外,EME104还使用基于web浏览器的图形用户接口(例如,接口202)以显示特定数据对象的细节。具体来说,对象内的信息被自动用于生成(1002)可以调用有关一个或多个数据对象的对应操作的表单(例如,web表单)。这一般由元素绘制器实现,元素绘制器适用于驻留在EME104中的几乎全部数据对象。当接收(1004)由各个用户接口交互表示的关于数据对象的用户输入时,脚本210可以翻译web表单中的用户输入数据以便在数据储存库内生成(1006)新的数据对象。不是仅仅复制输入数据或者表示在中间计算期间得到的临时变量,而是该新的数据对象包括可以存留在EME104中的内容。随后,可以基于调用用户操作的位置来自动实现将新的数据对象与EME104中的一个或多个相关数据对象链接(1008)。作为上述的对象生成和链接的结果,浏览器接口202管理内容以便显示在图形用户接口上并且使用户能够通过该接口看到EME104中的改变。可以使用在计算机系统上运行的软件实现上述的对象生成和链接方法。例如,所述软件形成在运行在经编程或可编程计算机系统(可以具有各种架构,诸如分布式、客户机/服务器或者网格式)上的一个或多个计算机程序中的过程,所述计算机系统每个包括至少一个处理器、至少一个数据存储系统(包括易失和非易失性存储器和/或存储元件)、至少一个输入设备或端口以及至少一个输出装置或端口。软件可以形成大程序的一个或多个模块,例如,其提供与计算图的设计和配置有关的其它服务。图的节点和元素可以实现为存储在计算机可读介质中的数据结构或者符合存储在数据库中的数据模型的其它结构化数据。所述软件可以提供在存储介质上,比如CD-ROM,该存储介质可以由通用可编程计算机或者专用可编程计算机读取,或者可以通过网络被传递到(在传播信号中被编码)运行其的计算机。可以在专用计算机上或者使用诸如协处理器这样的专用硬件执行全部的功能。可以以分布式方式实现所述软件,其中由软件规定的不同部分的计算由不同的计算机执行。每个这样的计算机程序都优选地存储在存储介质或者设备上或者下载到存储介质或者设备中(例如,固态存储器或介质,或者磁介质或光介质),这些存储介质或者设备可由通用可编程计算机或者专用可编程计算机读取,以便当由计算机系统读取存储介质或者设备时配置和操作计算机以执行这里所描述的过程。也可以考虑将本发明的系统实现为计算机可读存储介质,被配置为具有计算机程序,其中存储介质被配置为使得计算机系统以特定并且预定义的方式操作,以执行这里所描述的功能。已经描述了本说明书的许多实施例。然而,应当理解,可以进行各种修改而不脱离本说明书的精神和范围。例如,上面描述的一些步骤可以是与次序无关的,由此可以以不同于所描述的次序执行。将理解的是,前述说明书意图是示出而非限制说明书的范围,该范围由所附权利要求的范围来限定。其它实施例在后附权利要求的范围内。1权利要求1.一种用于管理存储在数据储存库中的数据对象并且在图形用户接口上显示与数据对象关联的元素的方法,该方法包括使用可重用逻辑提供与存储在数据储存库中的第一数据对象关联的至少一个所显示的输入元素;响应于与所显示的输入元素关联的用户输入,生成存储在所述数据储存库中的第二数据对象;以及基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接。2.如权利要求1所述的方法,其中,基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接包括将第二数据对象与第一数据对象链接。3.如权利要求1所述的方法,其中,基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接包括将第二数据对象与通过一个或多个相关的链接与第一数据对象相关的至少一个数据对象链接。4.如权利要求1所述的方法,还包括在所述图形用户接口上显示与一个或多个数据对象关联的一个或多个元素,所述一个或多个数据对象存储在所述数据储存库中并且通过一个或多个相关的链接与第二对象相关。5.如权利要求4所述的方法,其中,所述与所述一个或多个数据对象关联的一个或多个元素包括显示关于哪些数据对象与第一数据对象有关的信息的元素。6.如权利要求5所述的方法,其中,所述信息包括关于第二数据对象的信息。7.如权利要求4所述的方法,其中,所述与所述一个或多个数据对象关联的一个或多个元素包括用于从用户接收信息的输入元素。8.如权利要求7所述的方法,其中,所述输入元素提供选择集合,用户从该选择集合进行选择以提供所述信息。9.如权利要求8所述的方法,其中,所述选择集合基于所述存储在所述数据储存库中并且通过一个或多个相关的链接与第二对象相关的一个或多个数据对象。10.如权利要求4所述的方法,其中,所述图形用户接口提供包括与所述一个或多个数据对象关联的一个或多个元素的浏览器页。11.如权利要求1所述的方法,其中,重新使用所述可重用逻辑以提供与存储在所述数据储存库中的第三数据对象关联的至少一个所显示的输入元素。12.如权利要求11所述的方法,其中,所述可重用逻辑由绘制器使用以提供将绘制在浏览器页上的与第一数据对象关联的所显示的输入元素以及与第一数据对象关联的所显示的输入元素。13.如权利要求1所述的方法,其中,所述与所显示的输入元素关联的用户输入包括与所显示的输入元素的用户交互。14.如权利要求1所述的方法,还包括响应于与所显示的输入元素关联的用户输入,生成第三数据对象以存储在所述数据储存库中。15.如权利要求1所述的方法,其中,一系列屏幕用于收集所述用户输入以生成第二数据对象。16.如权利要求1所述的方法,其中,第一数据对象与专用编辑器关联。17.一种存储用于管理存储在数据储存库中的数据对象以及在图形用户接口上显示与数据对象关联的元素的计算机程序的计算机可读介质,该计算机程序包括导致计算机系统执行以下步骤的指令使用可重用逻辑提供与存储在数据储存库中的第一数据对象关联的至少一个所显示的输入元素;响应于与所显示的输入元素关联的用户输入,生成存储在所述数据储存库中的第二数据对象;以及基于与所显示的元素关联的数据对象,将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接。18.一种用于管理存储在数据储存库中的数据对象并且在图形用户接口上显示与数据对象关联的元素的系统,该系统包括数据存储系统,提供存储数据对象的数据储存库;至少一个输出设备或者端口,用于提供图形用户接口;以及计算机系统,耦接到所述数据存储系统以及所述至少一个输出设备或者端口,其包括用于执行以下步骤的电路使用可重用逻辑提供与存储在数据储存库中的第一数据对象关联的至少一个所显示的输入元素;响应于与所显示的输入元素关联的用户输入,生成存储在所述数据储存库中的第二数据对象;以及基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接。19.一种用于管理存储在数据储存库中的数据对象并且在图形用户接口上显示与数据对象关联的元素的系统,该系统包括用于使用可重用逻辑提供与存储在数据储存库中的第一数据对象关联的至少一个所显示的输入元素的装置;用于响应于与所显示的输入元素关联的用户输入生成存储在所述数据储存库中的第二数据对象的装置;以及用于基于与所显示的元素关联的数据对象将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接的装置。全文摘要本申请提出了一种用于管理存储在数据储存库中的数据对象并且在图形用户接口上显示与数据对象关联的元素的计算机实现方法。该方法包括使用可重用逻辑提供与存储在数据储存库中的第一数据对象关联的至少一个所显示的输入元素。响应于与所显示的输入元素关联的用户输入,该方法包括生成存储在所述数据储存库中的第二数据对象,以及基于与所显示的元素关联的数据对象,将第二数据对象与所述数据储存库中的一个或多个相关数据对象自动链接。文档编号G06F17/00GK102272752SQ200980154306公开日2011年12月7日申请日期2009年11月12日优先权日2008年11月12日发明者蒂莫西.珀金斯,阿兰.莫斯申请人:起元技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1