变换生成系统的制作方法_2

文档序号:9204239阅读:来源:国知局
件全部满足时将生成的输出的规范。所述方法还可以包括:生成包括对应于规则集中一个或多个执行案例的行序列的控制结构,每一行包括一个或多个触发条件和指定相应执行案例的输出的信息,其中生成的控制结构被配置为,在未来变换输入数据的处理期间,当触发条件中的一个不通过时,引导处理过程到不同的行继续,以及其中所生成的控制结构被配置为,对于控制结构中触发条件中的至少一个,当触发条件中的至少一个不通过时,控制结构将引导处理过程跳过行序列中的至少一行。该方法可以还包括存储或发送控制结构。
[0054]一般地,在本说明书中描述的主题的一个方面可以实施在包括数据处理设备以及耦合到该数据处理设备的存储器的系统中。存储器具有指令存储于其上,当数据处理设备执行指令时使得数据处理设备执行操作,包括:接收包括执行案例序列的规则集,执行案例序列中的至少一个执行案例包括一个或多个触发条件,以及对在一个或多个触发条件全部满足时将生成的输出的规范。操作还可以包括:生成控制结构,其包括对应于规则集中一个或多个执行案例的行序列,每一行包括一个或多个触发条件以及指定相应执行案例的输出的信息,其中生成的控制结构被配置为,在未来变换输入数据的处理期间,当触发条件中的一个不通过时,引导处理过程到不同的行继续,以及其中所生成的控制结构被配置为,对于控制结构中触发条件中的至少一个,当触发条件中的至少一个不通过时,控制结构将引导处理过程跳过行序列中的至少一行。所述操作还可以包括存储或发送控制结构。
[0055]一般地,本说明书中描述的主题的一个方面可以实施在存储包括可由处理设备执行的指令的软件的计算机可读存储介质中,当数据处理设备执行指令时使得数据处理设备执行操作,包括:接收包括执行案例序列的规则集,执行案例序列中的至少一个执行案例包括一个或多个触发条件,以及对在一个或多个触发条件全部满足时将生成的输出的规范。所述操作还可以包括:生成包括对应于规则集中一个或多个执行案例的行序列的控制结构,每一行包括一个或多个触发条件和指定用于相应执行案例下的输出的信息,其中生成的控制结构被配置为,在未来变换输入数据的处理期间,当触发条件中的一个不通过时,引导处理过程到不同的行继续,其中所生成的控制结构被配置为,对于控制结构中所述触发条件中的至少一个,当触发条件中的至少一个不通过时,控制结构将引导处理过程跳过行序列中的至少一行。所述操作还可以包括存储或发送控制结构。
[0056]一般地,本说明书中描述的主题的一个方面可以实施在包括被配置为接收包括执行案例序列的规则集的输入设备或端口的系统中,执行案例序列中的至少一个执行案例包括一个或多个触发条件,以及对在一个或多个触发条件全部满足时将生成的输出的规范。该系统可以包括用于生成包括对应于规则集中一个或多个执行案例的行序列的控制结构的装置,每一行包括:一个或多个触发条件序列以及指定相应执行案例的输出的信息,其中生成的控制结构被配置为,在未来变换输入数据的处理期间,当触发条件中的一个不通过时,引导处理过程到不同的行继续,以及其中所生成的控制结构被配置为,对于控制结构中的触发条件中的至少一个,当触发条件中的至少一个不通过时,控制结构将引导处理过程跳过行序列中的至少一行。该系统可以包括被配置为存储控制结构的数据存储系统。
[0057]一般地,本说明书中描述的主题的一个方面可以实施在包括配置成接收包括执行案例序列的规则集的输入设备或端口的系统中,执行案例序列中的至少一个执行案例包括一个或多个触发条件,以及对在一个或多个触发条件全部满足时将生成的输出的规范。该系统可以包括执行操作的至少一个处理器,操作包括生成控制结构,其包括对应于规则集中一个或多个执行案例的行序列,每一行包括一个或多个触发条件和指定相应执行案例的输出的信息,其中生成的控制结构被配置为,在未来变换输入数据的处理期间,当触发条件中的一个不通过时,引导处理过程到不同的行继续,以及其中生成的控制结构被配置为,对于控制结构中触发条件中的至少一个,当触发条件中的至少一个不通过时,控制结构将引导处理过程跳过行序列中的至少一行。该系统可包括被配置为发送控制结构的输出设备或端口。
[0058]方面可以包括以下特征中的一个或多个。可以接收输入数据,以及可以以使用控制结构确定的顺序,针对输入数据检查触发条件。可以存储或传输基于控制结构指定的输出的数据。行中的至少一个可以省略对应的执行案例的触发条件,其中所省略的触发条件在执行案例序列中相应执行案例之前的执行案例中出现。行中的触发条件序列可以是代码部分序列,所述代码部分各自将引导处理过程到规则集的唯一触发条件的列表中的触发条件。指定行中的输出的信息是将处理引导到规则集中的唯一输出的列表的输出表达式的代码部分。基于在数据的处理期间,序列中的触发条件不通过时处理将被引导到的不同的行,对行的触发条件序列排序。基于触发条件的执行时间,对行中的触发条件序列排序。可以基于在输入数据下执行触发条件使用的时间,对在唯一触发条件的列表中的触发条件的执行时间进行更新。可以基于更新后的执行时间,对控制结构中的行的触发条件的指针进行排序。可以基于触发条件的不通过率,对控制结构中的行的触发条件序列进行排序。可以基于输入数据中的记录是否满足触发条件,对唯一触发条件的列表中的触发条件的不通过率进行更新。可以基于更新后的不通过率,对控制结构的行的触发条件的指针进行排序。控制结构的行可以包括代码部分,当满足所有的触发条件时,其将处理引导到接下来处理的控制结构的不同行。该规则集可以通过图形用户界面指定。规则集中的执行案例的至少两个触发条件可以被合并,并通过控制结构中的单个触发条件表示。规则集中的不同的执行案例的至少两个输出可以被合并,并通过控制结构的行中的单个输出表达式表示。控制结构是节点对应于控制结构中触发条件和输出表达式的有向无环图。
[0059]方面可以包括以下优点中的一个或多个。
[0060]一些实现可以缩减基于规则集的变换的记录平均的处理时间。一些实现可以缩减基于规则集的变换的编译和启动时间。一些实现可以降低基于规则集的变换在编译过程中的内存使用。一些实现可以提供对表示物理实体一一如飞机、汽车、计算机、建筑或其他基础设施一一的数据的更有效的处理。一些实现可以降低用户处理海量数据时的认知负担,如:用户更容易地指定对海量数据(例如,数百万甚至数十亿的记录)的处理,从而使用户更容易地理解数据的处理,并因此施加用户的特定应用的领域知识,而无需担心寻找用于规则集规范的有效结构。
[0061]本发明的其它特征和优点将从下面的描述以及权利要求书中变得明显。
【附图说明】
[0062]图1是示例数据流图的原理图。
[0063]图2A-2B是用于基于电子表格的规则条目的示例图形用户界面的图示。
[0064]图3A示出了规则集的唯一触发条件的列表的示例。
[0065]图3B示出了规则集的唯一输出的列表的示例。
[0066]图4A-4B示出了基于表示为有向无环图的规则集的变换的示例控制结构。
[0067]图5示出了基于表示为显示表的规则集的变换的示例控制结构。
[0068]图6是用于执行基于图的计算的系统的框图。
[0069]图7是用于生成和执行基于规则集的变换的示例过程的流程图。
[0070]图8是用于执行基于规则集的变换的示例过程的流程图。
【具体实施方式】
[0071]基于图的计算可以用于处理大型数据集。例如,信用卡发行商可以使用基于图的计算处理以百万计的信用卡的交易数据,以发行奖励点数并选择分支机构的产品用于奖励点数赎回的供应的展示。在另一个例子中,航空公司可以使用基于图的计算更新以百万计的航空公司乘客的飞行常客的里程账户。在另一个例子中,银行可以使用基于图的计算处理各种来源的消费者数据,并为特定消费者生成达到依赖于可用数据的最大限额贷款的贷款批准。在另一个例子中,航空公司可以使用基于图的计算跟踪和控制飞机机队的维护。在另一个例子中,汽车租赁公司可以使用基于图的计算跟踪和控制汽车车队的维护。在另一个例子中,在线服务提供商可以使用基于图的计算,以跟踪和控制的一个或多个网络服务器集群的维护和/或负载均衡。在另一个例子中,城市可以使用基于图的计算来基于道路交通数据控制道路交通信号灯。在另一个例子中,无线网络运营商可以使用基于图的计算控制个人无线通信装置(例如,智能电话或平板电脑设备)的无线网络接入和带宽分配。这些只是基于图的计算的应用的几个说明性的例子,并且许多其它应用是可能的。
[0072]基于图的计算可以包括一个或多个对应于施加到输入数据中的集合中的记录(或其他数据元素)的变换的组件。一般地,变换处理输入记录以生成(例如,创建或更新)一个或多个输出记录。例如,信用卡发行商可以处理与信用卡账户记录相关的交易记录,对拟议的信用卡交易生成交易的批准或拒绝记录。变换如何处理输入记录以生成输出数据记录的细节可能是复杂的,并且关于特定的应用可能依赖于大量的领域知识。使得几乎没有软件开发或编码知识的用户(例如,操作员或开发者)能够基于其特定应用的知识容易地配置变换可能是有用的。基于通过易于理解的界面指定的规则生成高效变换的系统可能有助于降低此类用户的认知负担。
[0073]在一些实现中,可以使得用户能够通过基于电子表格的图形用户界面(⑶I)配置可能复杂的变换。例如,用户可以通过为每一个执行案例在基于电子表格的图形用户界面(GUI)中创建行,来指定包括执行案例的规则集。每一个执行案例可以包括称为触发条件的一个或多个条件,可以针对输入数据和一个或多个输出对其进行测试。当输入数据满足执行案例的所有触发条件时,可以生成该执行案例的一个或多个输出。例如,触发条件和输出可以对应于基于电子表格的GUI的列,该GUI使缺乏软件编码技能但具有领域知识并且擅长电子表格的用户能够指定规则集。在某些实现中,可以使用除基于电子表格的GUI之外的格式指定一个规则集(例如,以数据操纵语言(DML)格式)。
[0074]—旦用户已经指定规则集,就可以基于规则集生成一个或多个能够处理输入数据记录的变换。该规则集可以包括在多个执行案例中出现的触发条件以及和/或输出。可以用这样方式生成变换:它利用规则集的冗余来减少编译变换并将其施加到输入数据记录时所需的内存和处理时间。例如,当一个触发条件在多个执行案例中出现时,如果输入数据不符合该触发条件,则变换可以跳过检查剩余的具有该触发条件的执行案例。利用规则集中的冗余可以使得能够对大型输入数据集合执行变换同时使用更少的内存和处理器周期。变换可以部分编码为控制变换的执行流的控制结构。控制结构可以包括称为行的触发条件的逻辑分组,以及分别对应于来自规则集的执行案例的输出。在变换的执行期间,当触发条件的评估通过时,评估行中的触发条件序列中的下一个触发条件。如果当用输入数据进行评估时行的最后一个触发条件通过,则生成至少部分是由行指定的相应的输出。如果用输入数据评估时触发条件不通过(例如,触发条件不满足),则控制结构可以引导处理过程到对应于不同的执行案例的不同的行。例如,在触发条件不通过时,通过跳转到对不在控制结构中的行序列的下一行的触发条件开始评估,执行流可以跳过若干执行案例。在一些实现中,控制结构引用唯一触发条件和唯一输出的列表,因此即使它们在整个规则集中多次出现,这些触发条件和输出也仅需在变换的编码中存储一次。
[0075]在一些实现中,可以从针对相应的(多个)变换的控制结构中省略在规则集的规范中出现的触发条件和对触发条件的引用。例如,当相同的触发条件在规则集的别处出现且其将必然在对当前触发条件的实例进行评估之前被评估时,可以从控制结构的行中省略该触发条件。从行中省略触发条件可以降低用于相应变换的内存消耗和处理时间。
[0076]在一些实现中,可以基于触发条件的参数对控制结构中的、或由控制结构的行引用的触发条件排序。可以执行排序以降低(多个)变换施加到的记录的平均处理时间。例如,可以基于触发条件的执行时间、评估时如果触发条件不通过则将被跳过的行数(例如,跳转的大小)、或先前已使用(多个)变换处理过的输入数据的不通过频率,对触发条件的序列进行排序。在一些实现中,可以对控制结构中的行的序列进行排序,以增加触发条件的跳转大小(例如,通过将具有共同触发条件的执行案例分组在一起)。在一些实现中,改变行中的触发条件序列和/或行的序列可以减少对具有类似于先前处理的数据的统计数据的大型数据集执行相应的变换所需的处理时间。
[0077]在本说明书中,术语“规则集”是指一条或多条规则的集合,其中每一条规则由一个或多个执行案例构成。规则中的执行案例可能有一个排序,其可以确定在处理输入数据期间执行案例的评估顺序。“执行案例”是与一个或多个输出相关联的一个或多个触发条件的集合。“触发条件”是连同执行案例的任何其它的触发条件一起用于确定执行案例是否将引发的条件。当确定输入数据满足执行案例的所有触发条件时,则生成执行案例“引发”,意为执行案例的一个或多个输出。从它是基于指定为规则集的一部分的恒定参数而生成的意义上说,输出可以是静态的;或者从它是部分基于输
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1