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

文档序号:9829970阅读:436来源:国知局
用于修改源数据的数据对象的覆盖的制作方法
【专利说明】用于修改源数据的数据对象的覆盖
【背景技术】
[0001] 应用环境可能涉及从多个外部数据源可获得的数据。由于将数据消费者与数据提 供者隔开的组织障碍或技术障碍,数据的消费者可能在解决数据源的问题时面对困难。在 数据源处使用传统的数据修正方法可能在可能依赖该数据源的其他应用之间产生不兼容。 此外,由于数据源在数据消费者的控制之外,所以数据修正可能是耗成本的且延迟的。
【附图说明】
[0002] 图1是根据示例的包括变换器和覆盖的计算系统的框图。
[0003] 图2是根据示例的包括变换器和覆盖的计算系统的框图。
[0004] 图3是根据示例的包括覆盖引擎的计算系统的框图。
[0005] 图4是根据示例的包括覆盖引擎的计算系统的框图。
[0006] 图5是根据示例的包括覆盖引擎的计算系统的框图。
[0007] 图6是根据示例的包括变换器和覆盖的系统的框图。
[0008] 图7是根据示例的覆盖界面的框图。
[0009] 图8是根据示例的基于应用覆盖的流程图。
[0010] 图9是根据示例的基于应用覆盖的流程图。
【具体实施方式】
[0011] 本文提供的示例基于覆盖,用于使与使能对消费数据(例如,来自源数据)的修改 相关联的开销能够减少。覆盖可从源数据创建信息视图,而不需要改变数据源处的源数据 本身。因此,数据服务的消费者可独立于且在不影响源数据或其他消费者及其源数据视图 的情况下(例如,在诸如数据可作为服务可用的面向服务的体系结构(S0A)之类的环境中), 在必要时根据其需要剪裁数据。因此,各示例非常适合于与对数据设置的更高水平的审查 关联的数据处理环境。示例系统对外部服务提供的不一致的或"脏"数据是有弹性的,这样 的数据例如外部数据中的错误,使得控制数据的人不知道或不能在数据消费者期望的时间 帧内针对这些错误采取修正动作。覆盖可用于以有针对性的方式作为权威引用源'介入', 以最小化风险和破坏,同时减少支持和开发成本。即使在推迟了对原始源数据的修复时,好 处也是可立即实现的。
[0012] 因此,各示例包括使得数据服务消费者/客户(例如,应用)能够:与控制外部数据 服务的外部源无关地解决外部来源的数据中的错误;以每种情况为基础,排除外部数据服 务所提供的不想要的数据;向(来自外部数据服务的)数据添加消费应用需使用的附加数 据;对添加和数据调整等施加时间限制;通过允许数据服务消费者比尝试与数据服务提供 者团队协作更快地进行响应,来确保业务连续性;并且允许使用提供更高百分比的期望/要 求的信息的服务,同时调整可能不合适的部分。
[0013] 图1是根据示例的包括变换器110和覆盖120的计算系统100的框图。计算系统100 用于基于覆盖120从源数据102获取数据对象130。变换器110用于对数据对象130应用覆盖 120,以获得最终数据104。
[0014] 覆盖120可为临时的、用户定义的、和/或有针对性的。可修改(例如,添加和/或修 正)源数据1〇2(例如,外部维护的内容)。在覆盖120可应用于甚至源自特定数据供应源的个 别内容流,以及也可应用于那些流中的个别元素的意义上,覆盖120可为有针对性的。在覆 盖120可包括待交互的修改,以代替由权威数据源提供者直接在源数据102处进行的确定性 修正动作的意义上,覆盖120可为临时性的。在业务代表(例如,源数据102的消费者)可拥有 并(例如,经由用户界面(UI)以及持久层)与覆盖修改的特征进行交互,以定义、测试、并维 护一个或多个覆盖120的意义上,覆盖120可以是用户定义的。
[0015] 示例计算系统100所示出的基于覆盖的方法通过源数据102的直接净化提供几个 优势。覆盖120可从源数据102抽取,使得可快速对数据应用修正,而不影响数据服务的其他 客户。覆盖120可一致地应用于所有引用数据源,因此业务领导可以以同样的方式(例如,经 由示例计算系统100)管理所有数据修正,而不需要与负责源数据102的外部团队进行任何 耗费成本的交互。计算系统100可提供可由引用数据团队管理的集中式数据问题库(例如, 覆盖120的存储库)。因此,覆盖120的维护可由最接近业务需求且对来自源数据102的信息 可如何添加以提供最终数据104进行控制的那些人实施。
[0016] 与计算系统100关联的覆盖过程可作为服务本身(例如,作为共享的业务服务)提 供,例如软件需求、软件即服务,等。因此,尽管图1说明了计算系统100为分立的模块,但各 示例不限于基于客户的部署。各示例包括将覆盖120及关联的好处提供为可远程调用的服 务。在一示例中,覆盖120可作为服务被调用,且可使用一般的方法应用覆盖120,该方法不 引用任何特定的源数据结构。该应用方法可为完全解耦的构造,其可应用于任何类似的情 况,且可能可应用于任意数据结构。系统100可将覆盖服务本身提供为共享业务服务,以在 面向服务的局面下甚至更容易地提供覆盖服务。
[0017] 除了能够作为服务被调用之外,可例如通过使用面向方面的编程(Α0Ρ)的拦截器 而应用覆盖120。因此,源数据102的消费者(例如用户、开发者,等)可使用被覆盖的数据(例 如,最终数据104),而不需要包含任何代码改变。例如,面向方面的编程基于识别代码中可 注入外部代码的点,使得拦截器或超级结构能够位于用户代码的外部。因此,用户可基于直 接调用(例如,'获取源数据(get soruce data)'以及'更新网页(update webpage)'),而启 用覆盖120。开发者可在外部对软件应用进行配置,使得拦截器可识别其可更新的点以注入 是覆盖系统的代码。在代码运行时,基于覆盖的系统可使用模式匹配等对方法调用进行拦 截,并提供已被覆盖120修改的最终数据104。
[0018] 变换器110用于应用覆盖120。变换器110(及其他示例组件)可被提供为代码模块 (例如,在这种情况下是java类)。变换器110可为通用的,使得能够在变换器引擎的外部指 定变换规则,或其他实现方式变形。
[0019] 因此,本文提供的示例使得覆盖120的使用能够以针对性的方式,作为权威引用源 临时'介入',以最小化服务的风险/破坏,并提供关联的支持和开发成本的降低。覆盖方法 比传统的数据净化技术更有用。覆盖120使能包括用于匹配来自给定源数据102外部服务的 数据的数据不可知服务的特征,基于消费者指定的规则添加或修改数据102的能力,对添加 规则设置时间限制的能力,根据优先级使添加成层的能力,基于各种规则(正则表达式、精 确匹配,等)进行匹配的能力,在源数据102的子集或流内进行工作的能力,以及避免对附加 持久性的需求的能力。各示例是灵活的,且可实现为各种服务,并且可实现为包括:例如用 于创建覆盖120并与覆盖120(或其他组件/特征)交互的网页UI。
[0020] 图2是根据示例的包括变换器210和覆盖220的计算系统200的框图。计算系统200 用于基于覆盖220从源数据202获取数据对象230。变换器210被系统200(或其他引擎,例如, 覆盖引擎500)委派用于抽取源数据202以及获取数据对象230,使得覆盖220可应用于数据 对象230,以获得最终数据204。变换器210可实施拆分操作,以将结构203与源数据202分开, 从而获得数据对象230。覆盖220可包括匹配属性222、修改属性224、优先级226、时间信息 227、以及源数据标识符228。计算系统220可包括用于存储多个覆盖220的覆盖库229、以及 用于检查有效运行状态的验证框架240。
[0021] 系统200(或其他引擎,例如,覆盖引擎500)可委派变换器210例如经由拆分操作来 实施源数据202到数据对象230的抽取。系统200还可委派变换器210例如经由连接操作将 (被覆盖220修改的)数据对象230重整回最终数据204。系统200可选择对数据使用什么变换 器210和/或覆盖220,且该选择可基于例如源数据202的身份的各种特征。系统200还可向验 证框架240委派任务,例如实施用于应用覆盖220的'应用'方法以及覆盖220和其交互的验 证。因此,系统220可与图2的各种组件协作,将所有特征绑在一起以获得期望的最终数据 204〇
[0022] 覆盖220可基于任何数据对象230的状态可降为无结构格式(例如,基于成对的键/ 值(或其他属性)的格式)的前提而与数据交互。因此,覆盖220可被视为数据多态性的形式, 因为覆盖220可被形成为扩展或修改数据对象230的已有实例。在内部,覆盖220可包含属性 对象集,例如匹配属性222、修改属性224等。该集合可表示将要在源数据202中匹配的匹配 属性222的名称和值。覆盖220可指定要寻找的匹配的类型,例如精确匹配和/或基于表达式 的匹配。覆盖220还包括修改属性224,其包含在匹配属性222被实现的情况下将要扩展/改 变的键/值(例如,值和名称)属性的列表。
[0023] 覆盖220可包括优先级226,其可(例如,由系统220)用于识别覆盖220相对于其他 覆盖220(可具有它们自己的优先级226)被应用的顺序。优先级226可通过多种方式表达,且 不限于像例如高/中/低或数字表达之类的表达这样的细节。覆盖220可包括时间信息227, 其可包括与何时应该应用覆盖220相关联的时间和/或时间范围(例如,开始/完成)。覆盖 220可包括源数据标识符228,其用于标识所瞄准(例如,可用的各种可能的源数据202、一个 或多个覆盖220可瞄准的一个或多个源中)的源数据202。尽管图2中示
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1