产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集制造技术

技术编号:15397048 阅读:48 留言:0更新日期:2017-05-19 11:33
本公开的一个方面产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集。在一个实施例中,对被设计为更新对象的规则进行处理以形成(规则的)桶集以使每个桶包含在执行次序上不具有相互依赖性的规则。然后,对于每个桶,确定被设计为更新公共对象的规则子集,并且为每个确定的规则子集产生对应的单个指令集。然后并行地执行为每个桶中所包含的规则子集产生的指令集。

Produces an instruction set that is designed to update the rules of objects specified according to the application data model

One aspect of the present disclosure yields an instruction set that is designed to update the rules of the object specified according to the application data model. In one embodiment, rules that are designed to update objects are processed to form (regular) buckets so that each bucket contains rules that do not have dependencies on the execution order. Then, for each bucket, a set of rules designed to update the common object is determined, and a single instruction set is generated for each of the defined rule subsets. Then, in parallel, the behavior is executed by the set of instructions generated by the subset of rules contained in each bucket.

【技术实现步骤摘要】
【国外来华专利技术】产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集优先权声明本专利申请涉及以下共同未决申请,并且要求这些申请的优先权,这些申请全文并入本文:A.以与本专利申请同一申请人的名义于2014年9月9日提交的印度专利申请No.4421/CHE/2014,标题为“GeneratingInstructionSetsImplementingBusinessRulesDesignedToUpdateBusinessObjectsOfFinancialApplications”;以及B.以与本专利申请同一申请人的名义于2015年1月13日提交的美国非临时专利申请No.14/595,223,标题为“GeneratingInstructionSetsImplementingBusinessRulesDesignedToUpdateBusinessObjectsOfFinancialApplications”。
本公开涉及企业应用服务器,并且更具体地涉及产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集。
技术介绍
应用被用来处理数据并且提供对应的期望功能。金融应用是与金融工具(诸如信用卡、贷款、银行账户等)的管理有关的一类应用。如相关领域中众所周知的,金融应用在各种商业企业(诸如银行、保险公司、证券经纪业等)中得到使用。应用经常是基于数据模型(“应用数据模型”)开发的,这些数据模型可以不同于根据其存储数据的数据模型。例如,数据可以根据关系数据库模型以表格的形式存储,而应用可以基于根据应用数据模型指定的对象(以下“数据对象”)而被开发。数据对象被定义为包含各种属性,数据对象的实例(“对象实例”)具有各个属性的对应值。规则被用在应用中以更新根据应用数据模型指定的数据对象。规则处于概念层次,是可能对更接近于机器能够进行操作的层次(例如,编程语言、SQL查询等)的对应实现不熟悉的用户(例如,管理员、管理者、分析员、高级管理人员等)可理解的。更新数据对象意味着改变数据对象的各个对象实例的一个或多个属性的对应值。作为简单的情况,银行可能具有如下规则:该规则根据客户的信用评级的不同水平(高风险、中等风险和低风险)以及贷款的类型(例如,住房、汽车、个人等)来更新利率。可以容易地理解,规则的执行引起多个对象实例的改变。复杂的规则典型地涉及几个更多的变量/维度、对多个属性的更新和/或对于被更新属性的值的复杂计算。规则被转换为更适合于在机器上执行的等效指令集。例如,假定数据对象存储在管理数据库系统中,指令集包括指向关系数据库系统的表格的SQL(结构化查询语言)查询。本公开的各方面针对的是产生这样的指令集:该指令集实现被设计为更新根据应用数据模型指定的对象的规则。附图说明参照下面简要描述的附图来描述本公开的示例实施例。图1是例示了在其中可以实现本公开的几个方面的示例环境的框图。图2是例示了根据本公开的一方面的产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集的方式的流程图。图3A例示了在一个实施例中为执行而指定规则的方式。图3B例示了在一个实施例中根据本公开的几个方面对规则进行处理的方式。图4A例示了在一个实施例中向用户显示被确定为适合合并的规则子集的方式。图4B例示了在一个实施例中向用户显示合并规则子集的结果的方式。图5是例示了在其中本公开的几个方面可通过执行适当的软件指令而操作的数字处理系统的细节的框图。在附图中,相似的附图标记一般指示相同的、功能上类似的和/或结构上类似的要素。要素首次出现的附图由对应附图标记中的最左边的数字指示。具体实施方式1.概述本公开的一个方面产生这样的指令集:该指令集实现被设计为更新根据应用数据模型指定的对象的规则。在一个实施例中,对被设计为更新对象的规则进行处理以形成(规则的)桶集以使每个桶包含在执行次序上不具有相互依赖性的规则。然后,对于每个桶,确定被设计为更新公共(数据)对象的规则子集,并且为每个确定的规则子集产生对应的单个指令集。然后,并行地执行为每个桶中包含的规则子集产生的指令集。通过为更新公共对象的每个规则子集产生单个指令集(例如,最终被转译为单个SQL查询),可以减少这种公共对象为处理桶中的规则而需要的总持续时间。假定在此类更新期间将为对象提供排他性访问(例如,使用数据库中的表格/列的锁定),排他性访问的持续时间也相应地减少,由此降低与需要对对象进行排他性访问的其他应用对于同一对象的争用冲突的概率。另外,通过并行地执行与桶内的规则对应的指令集,至少当底层环境提供足够的多重处理能力时可以获得类似的效率。根据本公开的另一个方面,发送桶中经确定的规则子集以供显示,同时指示这些规则子集中的每个规则子集可以被合并(也就是说,可以产生单个指令集)。如此,只有当从用户接收到指示每个规则子集要被合并的输入数据时,才执行与规则子集相对应的指令集的产生。因此,(应用的)用户便于指示要被合并的特定子集(以及所产生的单个指令集)以及哪些子集将不被合并(也就是说,将产生用于每个规则的单独的指令集)。因此,如果(从用户接收的)输入数据指示规则子集中的特定规则将被排除合并,则为排除该特定规则的规则子集(也就是说,仅为该子集中的其他规则)产生对应的单个指令集。结果,可以向用户提供对规则合并的增强控制。根据本公开的另一个方面,接收优先数据,该优先数据指示在每个规则的执行之前要被执行的对应规则集。因此,桶被形成为使得对应规则集不被包括在包含所述规则的同一个桶中(因为所述规则关于执行对所述对应规则集具有依赖性)。根据本公开的又一个方面,根据应用数据模型指定的对象被存储在关系数据库服务器中。如此,每个规则如果被独立地执行,则将被实现为指向关系数据库服务器的对应SQL(结构化查询语言)命令。此外,对应的单个指令集是以指向关系数据库服务器的单个SQL命令的形式实现的。因此,与子集中的规则对应的待执行的不同SQL命令被单个SQL命令取代。下面参照用于例示的例子来描述本公开的几个方面。然而,本领域技术人员将认识到,可以在没有一个或多个特定细节的情况下或者可以用其他方法、部件、材料等来实施本公开。在其他情况下,众所周知的结构、材料或操作未被详细展示,以免混淆本公开的特征。此外,所描述的特征/方面可以以各种组合实施,但是为简洁起见,在本文中仅描述这些组合中的一些组合。2.示例环境图1是例示了在其中可以实现本公开的几个方面的示例环境的框图。该框图被示为包含终端用户系统110A-110Z、互联网120、内联网130、服务器系统140A-140C、管理员系统150以及数据存储器180A-180B。仅作例示,在该图中仅示出了代表性数量/类型的系统。许多环境经常根据该环境被设计的目的而包含数量和类型都更多的系统。下面更详细地描述图1的每个系统/装置。内联网130表示在全都设于企业(用点线边界示出)内的服务器系统140A-140C、管理员系统150和数据存储器180A-180B之间提供连接的网络。互联网120扩展这些系统(以及企业的其他系统)与外部系统(诸如终端用户系统110A-110Z)的连接。内联网130和互联网120均可以使用相关领域中众所周知的协议(诸如传输控制协议(TCP)和/或互联网协议(IP))来实现。一本文档来自技高网...
产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集

【技术保护点】
一种计算机实现的方法,包括:接收多个规则,每个规则被设计为更新根据应用数据模型指定的对应的对象集;形成桶集,每个桶包含所述多个规则中的在执行次序上不具有相互依赖性的规则;对于所述桶集的每个桶:确定所述桶中包含的多个规则子集,其中,每个规则子集被设计为更新根据所述应用数据模型的公共对象;为所述多个规则子集中的每个子集产生对应的单个指令集;以及并行地执行为所述桶中包含的所述多个规则子集产生的指令集。

【技术特征摘要】
【国外来华专利技术】2014.09.09 IN 4421/CHE/2014;2015.01.13 US 14/595,21.一种计算机实现的方法,包括:接收多个规则,每个规则被设计为更新根据应用数据模型指定的对应的对象集;形成桶集,每个桶包含所述多个规则中的在执行次序上不具有相互依赖性的规则;对于所述桶集的每个桶:确定所述桶中包含的多个规则子集,其中,每个规则子集被设计为更新根据所述应用数据模型的公共对象;为所述多个规则子集中的每个子集产生对应的单个指令集;以及并行地执行为所述桶中包含的所述多个规则子集产生的指令集。2.根据权利要求1所述的方法,其中,所述确定操作确定所述桶集的第一桶中的第一多个规则子集,其中,所述第一多个规则子集包括第一规则子集,所述方法进一步包括:发送包括所述第一规则子集的所述第一多个规则子集以供显示,同时指示所述第一多个规则子集中的每个规则子集能被合并,其中,只有当从用户接收到指示所述第一规则子集要被合并的输入数据时,才对所述第一规则子集执行所述产生操作。3.根据权利要求2所述的方法,其中,所述第一多个规则子集还包括第二规则子集,其中,所述输入数据指示所述第二规则子集的第一规则要被排除合并,其中,所述产生操作为排除所述第一规则的所述第二规则子集产生所述对应的单个指令集。4.根据权利要求2或3所述的方法,其中,所述第一多个规则子集包括被设计为更新第三对象的第三规则子集,其中,基于也在所述第一桶中的第三规则不更新所述第三对象,所述第三规则不被包括在所述第三规则子集中,所述方法进一步包括:接收所述第三规则的经修改的规则,其中,所述经修改的规则被设计为更新所述第三对象,其中,再次执行所述确定操作和所述产生操作,以使得将所述经修改的规则包括在所述第三规则子集中并且使得产生用于所述第三规则子集的所述对应的单个指令集以包括所述经修改的规则。5.根据任何前述权利要求所述的方法,其中,如果根据所述执行次序,第二规则的执行被要求仅在第一规则的执行结束之后开始,则所述第一规则和所述第二规则被视为具有相互依赖性,其中,所述第一规则和所述第二规则被包含在所述多个规则中,其中,所述形成操作将所述第一规则包括在第一桶中并且将所述第二规则包括在不同于所述第一桶的第二桶中,其中,所述第一桶和所述第二桶被包含在所述桶集中。6.根据权利要求5所述的方法,其中,所述接收操作还接收优先数据,所述优先数据指示被要求在执行所述多个规则中的每个规则之前执行的对应的规则集,其中,所述优先数据指示所述第一规则被要求在所述第二规则之前执行。7.根据任何前述权利要求所述的方法,其中,根据所述应用数据模型指定的对象被存储在关系数据库服务器中,其中,所述多个规则中的每个规则如果被独立地执行,将被实现为指向所述关系数据库服务器的对应的结构化查询语言SQL命令,其中,所述对应的单个指令集在所述执行时以指向所述关系数据库服务器的单个SQL命令的形式被实现。8.一种非暂时性机器可读介质,存储用于使得系统能够支持对规则的管理的一个或多个指令序列,其中,所述系统中包含的一个或多个处理器执行所述一个或多个指令使得所述系统能够执行以下操作:接收多个规则,每个规则被设计为更新根据应用数据模型指定的对应的对象集;形成桶集,每个桶包含所述多个规则中的在执行次序上不具有相互依赖性的规则;对于所述桶集的每个桶:确定所述桶中包含的多个规则子集,其中,每个规则子集被设计为更新根据所述应用数据模型的公共对象;为所述多个规则子集中的每个子集产生对应的单个指令集;以及并行地执行为所述桶中包含的所述多个规则子集产生的指令集。9.根据权利要求8所述的非暂时性机器可读介质,其中,所述确定操作确定所述桶集的第一桶中的第一多个规则子集,其中,所述第一多个规则子集包括第一规则子集,所述非暂时性机器可读介质进一步包括用于执行以下操作的一个或多个指令:发送包括所述第一规则子集的所述第一多个规则子集以供显示,同时指示所述第一多个规则子集中的每个规则子集能被合并,其中,只有当从用户接收到指示所述第一规则子集要被合并的输入数据时,才对所述第一规则子集执行所述产生操作。10.根据权利要求9所述的非暂时性机器可读介质,其中,所述第一多个规则子集还包括第二规则子集,其中,所述输入数据指示所述第二规则子集的第一规则要被排除合并,其中,所述产生操作为排除所述第一规则的所述第二规则子集产生所述对应的单个指令集。11.根据权利要求9或10所述的非暂时性机器可读介质,其中,所述第一多个规则子集包括被设计为更新第三对象的第三规则子集,其中,鉴于也在所述第一桶中的第三规则不更新所述第三对象,所述...

【专利技术属性】
技术研发人员:G·纳古拉空达R·N·瓦达潘德施瓦拉
申请(专利权)人:甲骨文金融服务软件有限公司
类型:发明
国别省市:印度,IN

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1