用于修改源数据的数据对象的覆盖的制作方法_2

文档序号:9829970阅读:来源:国知局
出了单个属性,但各 示例可包括任意数量的属性或除具体说明的那些之外的其他特征。
[0024] 覆盖220可用作传达从外部源找出并修改(例如,改写和/或添加)数据的意图的工 具。可基于精确和/或基于模式的(表达式)匹配(例如,表达式/字符串的模糊匹配)来匹配 和/或修改属性。覆盖220可基于特定的指定属性实施匹配,且还可基于可用于实施/指定覆 盖220的自然语言创建/规则/语法进行匹配。
[0025] 覆盖220可使能基于覆盖界面(例如,参见图7)的用户交互。交互可包括对什么参 数可被接受用于覆盖属性的限制。在示例中,限制可对什么值在与覆盖220关联的域的完整 性的可接受参数内进行设置。覆盖220可考虑给定应用/系统当前面对的具体挑战而建立。 覆盖220还可建立为具有其自己唯一的用户界面(例如,以每个覆盖为基础),包括跨多个域 的多个用户界面的使用。类似地,计算系统200的其他组件可能享用用于与这样的组件(例 如,变换器210,等)交互的用户界面的定制。用户界面可为系统200的函数,但不是指定性/ 限制性的,因为可在UI中创建任何形式以与可能相关的数据或其他组件交互。
[0026] 可使用用户界面指定覆盖220的源数据标识符228,以指定如何标识覆盖220所瞄 准的是什么源数据202。因此,在示例中,源数据标识符228可用于将其关联的覆盖220锁定 在源自特定源数据202的数据流或数据的其他源上。这样的行为/属性是可选择的,例如在 UI/系统应用中可选择,以将覆盖220瞄准特定信息流,甚至是在源数据202内。该源数据标 识符228属性可被扩展为瞄准期望的任何数据流,包括同时和/或由相同的覆盖220瞄准多 个数据流。
[0027] 优先级226使得能够使用可被迭代和/或递归应用的多个覆盖220。覆盖220可成组 (例如,合并)使用,且优先级226属性使得一个覆盖220能够改写另一个覆盖220 (例如,较低 优先级226的覆盖)。因此,系统200使得覆盖220能够像它们是待处理和/或待应用于源数据 202和数据对象230的规则引擎等那样进行交互。例如,一个覆盖220可用于匹配期望类型的 数据,而另一个覆盖220可用于匹配略微不同/类似的数据。第三个覆盖220可用于接收前两 个覆盖220的结果,并实施另一个修改,迭代在之前的覆盖上。覆盖220可对整个数据集操 作,且可对子集(例如,根据另一个覆盖)操作,且这些交互可受优先级226的影响。
[0028]优先级226可如示出的那样存储,即作为覆盖220本身的可在管理员UI(参见例如 图5的管理员UI 506)中管理的特性。在替代示例中,优先级226可在覆盖220外部进行管理, 例如作为存储在覆盖220本身中的优先级226的替代或附加。系统200(例如,覆盖引擎500) 可包括基于一个或多个覆盖220正尝试匹配和/或修改什么来评估一个或多个覆盖220并确 定与那些覆盖220中的每一个关联的优先级226的智能。系统200可解决可能的问题,并解决 已经出现的导致一个覆盖220改变另一个覆盖220正查找的信息的问题,使得这种覆盖220 之间的优先级/智能可防止这样的问题。系统200可检测到较低优先级覆盖220会影响较高 优先级覆盖220的特性,并补偿这样的问题,以防止由于与覆盖220关联的修改的无序应用 而导致的非故意的修改。
[0029] 此外,独立于可能由于优先级而产生的问题和/或除了由于优先级而产生的问题 之外,系统200或用于应用覆盖220的任何引擎可检测覆盖220本身的某些问题。例如,系统 200可确定应用覆盖220会提供超过可接受阈值数目的结果的结果,或提供对于提供有意义 的最终数据204来说不够窄的结果。系统200还可对相等优先级226的覆盖220应用无优先级 的控制,在这种情况下可能期望进一步的控制以避免不期望的交互。
[0030] 变换器210用于应用覆盖220,且可以是通常定义的界面和/或一种策略模式。变换 器210可用于从应用覆盖220的过程解耦(例如,拆分)源数据结构204。因此,可包括结构203 (例如,对象图)的源数据202可被变换器210平面化为无结构形式,以表示数据对象230。因 此,覆盖220免于需要解决源数据202中的各种类型的结构203的约束,因为这样的特征可由 变换器210处理。因此,由实现方式定义的对象图解构的语义以及对应的改变后内容到该对 象图的向回重整(例如,连接)可以是在变换器210处独立于覆盖220可管理的。
[0031] 变换器210可实施拆分操作,这使实现器具有推荐应向覆盖220的应用转发初始源 数据202的什么元素的能力(例如,使用匹配/扩展循环等应用覆盖220)。变换器210可实施 连接操作,以提供允许实现器决定如何重整形成最终数据204的修改/改变的便利,以包括 作为源数据202的初始对象图/结构203。在替代示例中,变换器210可用与源数据202不同的 结构,或根本没有结构,重整最终数据204。
[0032]系统200可基于覆盖220的应用而匹配、扩展、和/或添加数据对象230,这将尝试基 于匹配属性222进行匹配,并基于修改属性224进行改变、扩展、和/或添加。变换器210通过 解构源数据202的对象图203以提供最终的平面化数据而促进覆盖220的普遍适用,最终平 面化数据可包括将由覆盖引擎根据匹配属性222进行搜索的数据对象230。覆盖220的应用 可根据覆盖220被设计为基于其属性做什么而扩展、增加、或修改数据对象230的任何属性。 变换器210随后可实施连接操作,其中平面化的数据对象230可被重整回例如具有源数据 202的结构的期望的模型/结构。因此,变换器210可一般化源数据202,而不管其初始结构 203,以提供可被覆盖220修改的一般模型,从而使能数据添加/数据多态性。
[0033]变换器210可实现为一般的界面类型,从而使能在指定调用连接操作/方法的返回 结果时的灵活性以及类型安全性。作为替代,一种实现方式可使用java'对象'类,其可允许 设计的灵活性,但具有减少的类型安全性。因此,变换器210基于适合于给定结构203的定 制,使能与范围从网页服务、文件、和数据库到更模糊的数据(例如,电子邮件和自由文本) 的不同的源数据进行的交互。
[0034]变换器210根据数据解构技术使能覆盖技术的解耦,且使能变换器210的定制以对 付合适的数据源。例如,变换器210可定制为对通用可扩展标记语言(XML)源数据202进行操 作,以解构和/或重构XML。系统200(例如,引擎)可调用变换器210实施拆分操作,应用覆盖 220,并调用变换器210实施连接操作。因此,基于变换器210被定制为源数据202的各种实现 方式,源数据202的格式可被提供为使覆盖220可理解且容易地匹配/连接它。这可使得覆盖 220能够在所有服务中通用,且覆盖220可被提供为(例如,经由库229)为预先制作的,以供 用户将覆盖库229插入到系统/引擎220中。覆盖库229可随时间增加,使得用户/数据消费者 能够内建多个存储的覆盖220,以供对各种源数据202使用。可由很好地熟悉源数据202及其 结构203的端用户(例如,对用于消费或解构来自数据服务提供者的源数据202的代码进行 负责的开发者团队)创建或定制变换器210。
[0035]最终数据204可基于连接操作被重构,但可基于各种选项被提供。在示例中,变换 器210可重构是源数据202的子集(包括已相对于源数据202被改变为单独的调试流等的那 些)的最终数据204。最终数据204可重整回与源数据202完全相同或类似的构造,包括相同 的数据结构203,但具有被覆盖220修改的改变。源变换器210可被定制为基于覆盖引擎从源 数据结构203的解耦,管理产生最终数据204的这些方面。
[0036]系统200可包括闭环反馈机制,用于使得最终数据204能够被馈送回源数据202,或 用于更新源数据202。系统200可馈送回已被覆盖改变的元素,或发送完全被更新的结构化 数据集置换。在示例中,源数据服务提供者可提供接收已被覆盖220修改的'净化的'信息的 协议,使得源提供者能够在源数据202处应用这些改变。但是,这样的系统可以对付可能正 在消费源数据202的其他服务的需要,以避免改变其值被该服务的另一个消费者依赖的属 性,从而避免中断其他服务。
[0037]覆盖220的使用可使能对数据的改变,例如作为最终数据204,以用于不同目的,而 没有在所有可能依赖该源数据202的服务之间产生破坏。这样的好处可能在面向服务的架 构环境中特别有用,从而允许不中断其他服务的数据源服务的消费。即使最终更新了源数 据202,覆盖220也可通过例如无害的非匹配情况和/或通过使他们自身停用等,智能地辨别 和/或适应这样的改变。覆盖220可为时间受限的(基于时间信息227),且可通过其他方式被 失效(例如,通过覆盖UI手动失效)。时间彳目息227可用于时间盒本身,从而提供覆盖220保持 激活的时间窗。因此,覆盖220使得数据消费者能够检测正被消费的源数据202存在问题,创 建覆盖220,对覆盖应用时间盒(例如,接下来的三个星期保持激活),并应用覆盖,以解决问 题。同时,数据消费者可联系源数据202的提供者,并请求通过提供者可使用的任何机制解 决该问题。随着时间盒过期,覆盖将不再匹配。此外,问题解决时,匹配属性222将不再匹配。 因此,覆盖220的应用可在需要时提供有效的方案,并在不再需要/可用时,保持无害。
[0038]系统200使得超过一个变换器210能够在给定的时间运行。在示例中,系统可实现 调试输出或其他类型的反馈环路,以整理改变。第一变换器210可为了完全重构源数据202 的目的而对源数据202进行
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1