计算机系统的构建智能规则模型的方法及系统与流程

文档序号:13703742阅读:200来源:国知局
技术领域本申请涉及计算机的规则模型,尤其涉及一种构建智能规则模型的方法及系统。

背景技术:
安装于计算机内的软件通常会预先设定一定的规则或规则组合,供该软件在执行时被调用,当软件在需要调用相应的规则或规则组合进行计算时,软件会调用已经配置好的由规则或规则组合构成的规则模型进行运算,并得到由上述规则模型的执行结果,再根据上述执行结果继续进行后续的执行。就上述规则模型而言,目前的规则模型的运算符一般包括比较符、左右比较条件及条件值等,其中,比较值可以由表达式或条件脚本计算得到,表达式或条件脚本具有可动态修改的属性,并及时生效。但是,现有的规则模型中的规则一般会设定优先级、执行耗时等静态属性,上述静态属性在规则被建立时就被植入于规则模型中。上述静态属性决定了每个规则在整个规则模型中运算时的优先级。规则模型中的规则的上述静态属性被设定后,其在规则模型中的优先级别就确定了。无法根据规则模型的动态数据进行自适应的调整,即使规则模型的应用环境改变了,规则模型中的规则的优先级别也无法自动调整,导致规则模型的运算效率低下。另,目前单一的规则模型被同步调用执行时,都按照单线程的方式执行,当规则模型包含的规则较多时,需要将规则依次执行,规则模型的执行耗时较长,导致软件的运行耗时的体验效果不佳。故,本发明将提供一种智能规则模型,以整体提高规则模型的执行效率。

技术实现要素:
本申请实施例提供一种智能规则模型,用以动态构建规则模型,以有效提高规则模型的执行效率。为解决上述问题,本申请实施例提供一种构建智能规则模型的方法及系统。一种构建智能规则模型的方法,包括:接收触发指令;根据触发指令自规则容器中调用相应的规则;根据上述各规则的属性值,动态确定各规则被执行的优先级和逻辑运算关系,并动态构建相应的规则模型;其中,上述规则的属性包括动态属性,该动态属性随着该规则被调用和/或被执行的状况的变化而动态变化。一种智能规则模型系统,包括:接受单元,用于接受触发指令;调取单元,用于自规则容器调取相应的规则;分析单元,用于分析所述调取的规则的属性,以确定各规则的被执行优先级和逻辑运算关系;配置单元,用于根据上述分析单元的结果,动态配置相应的规则模型;执行单元,用于执行上述配置好的规则模型,并获得执行结果;输出单元,用于将上述规则的执行过程以及执行结果以报表形式输出。由以上本申请实施例提供的技术方案可见,本申请实施例中,对于智能规则模型的规则的执行优先级和逻辑运算关系由其规则的属性值决定,处理设备根据各规则的属性值构建智能的规则模型,以提高规则模型的执行效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的规则的属性示意图;图2为本申请实施例提供的规则模型的树杈示意图;图3为本申请实施例提供的规则模型的双线程执行的示意图;图4为本申请实施例提供的规则模型的执行状况示意图;图5为本申请实施例提供的流程图;图6为本申请实施例提供的系统结构图;图7为本申请实施例提供的规则模型构建的示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。如图1所示,本申请的的智能规则模型中的规则的属性包括静态属性和动态属性,静态属性为被静态固定而设定的属性,包括例如业务优先级、预估耗时等静态属性,上述静态属性属于固定的属性,不能变动。而动态属性为随着规则模型的执行情况而变动的动态属性,包括例如规则的每日调用量、运行结果分布属性、动态阀值属性、运行耗时、平均运行耗时等动态属性。而规则动态属性值由各动态属性值之间相应的比例确定,当各个动态属性值变动时,规则动态属性值根据相应的跟随变动。相应的,规则的属性值也由静态属性值和动态属性值之间的比例确定,当规则的动态属性值变动时,规则的属性值也随之变动。通过上述方式,规则模型中的各个规则的属性值会随着相应的动态属性值的变动而变动。在本申请中,智能规则模型是根据各规则被执行的优先级和逻辑运算关系而构建的,各规则被执行的优先级和逻辑运算关系是根据规则的属性值确定的。在每次智能规则模型被构建时,对于规则模型中各规则来说,各规则被执行的优先级和逻辑运算关系也会被动态调整,这种动态调整是根据各规则的属性值的变化而进行的。如图2所示,为本申请的智能规则模型的一种实施例(AandD)or(CandD)的二叉树结构的表达式,其包括位于树的树枝节点的一个逻辑运算符or和两个逻辑运算符and,以及位于树的叶子节点的规则A、规则B、规则C、规则D,上述规则模型(AandD)or(CandD)中,因括号的优先级别最高,故,优先执行括号内的规则A和规则B之间的and的逻辑运算关系,和括号内的规则C和规则D之间的and的逻辑运算关系,再将上述两执行结果执行or的逻辑运算关系。规则A、规则B、规则C、规则D均可以被单独执行,不以其他规则的执行为前提。本申请的智能规则模型被设定成双线程或多线程的方式执行,如图3所示,为本申请的智能规则模型的双线程的实施例,在执行规则模型(AandB)or(CandD)时,假设规则A、规则B、规则C、规则D被执行的优先级从高到低的顺序依次为:规则A、规则D、规则B、规则C,根据上述各规则之间的逻辑关系判断,可将该规则模型构建成两个队列,即,队列1和队列2进行执行。按照上述规则的优先级从高到低的顺序,轮循的将这4个规则添加到队列1和队列2中,即,队列1中包含规则A和规则B,队列2中包含规则D和规则C,再由线程1和线程2按照各自队列中包含的规则的优先级从高到低的顺序,分别同时执行队列1和队列2中包含的规则,即,线程1依次执行队列1中包含的规则A和规则B,线程2依次执行队列2中包含的规则D和规则C。如图3所示,在上述双队列的场景下,如果将这两个队列的尾部相接,即可得到一个两端优先级高、中间优先级低的“双向队列”,两个线程可分别从该双向队列的两端向中间依次执行规则。在上述双队列和双线程的执行方式下,可快速执行完规则模型(AandB)or(CandD)中的所有的规则,可以提高智能规则模型的执行效率。在执行其他复杂的规则模型中,也可以将规则模型拆分成两个以上的队列,按各队列的被执行次序的优先级别在两个或两个以上的线程中执行相应的规则。本申请的智能规则模型的规则的执行过程和执行结果以报表的形式输出,可以直观的显示相应规则在执行中相应的例如左右比较值、执行结果、触发原因、结果分布、调用量等的情况。当遇到需要分析规则运行及触发原因时,可以快速通过报表呈现及还原规则执行时的情况,同时也可以分析出规则的动态属性以及发现规则存在的问题等。本申请的智能规则模型在执行时,能实现边执行边短路的功能,所述规则被短路即规则在满足一定条件时不被执行,如:假设第一规则与第二规则作逻辑“与”运算,如果第一规则执行结果为false,则第二规则满足不执行的条件,第二规则不执行;又如:假设第一规则与第二规则作逻辑“或”运算,如果第一规则执行结果为ture,则第二规则满足不执行的条件,第二规则不执行。如图4所示,例如执行规则模型(AandB)or(CandD)时,该规则模型被构建成队列1和队列2进行执行。,分别位于队列1和队列2的执行起始端的规则A和规则D在线程1和线程2中同时被最先执行,位于队列1和队列2的执行起始端的位置的规则的优先级别在各自的队列中最高。当规则A的执行结果false时,规则B会被短路,规则B不被执行,规则A的执行结果false直接复制给规则B,规则组合(AandB)的执行结果为false,并以此执行结果进行后续运算。而同时,当规则D的运算结果为true时,规则C不短路,规则C继续被执行,最后将规则组合(CandD)即队列2的执行结果与前述规则组合(AandB)即队列1的执行结果false执行Or的逻辑运算后,得到规则模型(AandB)or(CandD)的最终执行结果。通过上述方式边执行边短路的方式,可以将不必要执行的规则短路,缩短规则模型的执行耗时和执行负担,有效提高执行效率。如图5-6所示,为本申请的实施例提供的智能规则模型的构建和执行的方法,具体包括如下步骤:S101:处理设备接受构建规则模型的触发请求。本申请的实施例中,所述的处理设备可以使终端,可以是服务器,其中,所述终端包括但不限于:个人计算机(PersonalComputer,PC)、手机、平板电脑等。处理设备接受触发请求,准备构建规则模型。S102:处理设备构建规则模型配置平台。所述处理设备从规则模型容器中调取相应的规则。供配置相应的规则模型使用。S103:处理设备构建规则模型平台。所述处理设备分析所调取的各个规则的属性值,包括其静态属性值和动态属性值,处理设备根据各规则的静态属性值和动态属性值确定各规则的属性值,再根据各规则的属性值确定其被执行的优先级和逻辑运算关系,动态构建相应的规则模型。S104:处理设备调用和执行规则模型。处理设备执行上述配置好的规则模型,构建成至少一个以上的队列,并以各队列的被执行次序的优先级别的高低,在双线程或多线程中被依次或同时执行,在执行构成中以边执行边短路的方式进行。获得执行结果后,处理设备进行后续运算。S105:处理设备分析规则模型的执行过程和执行结果。处理设备根据规则模型的执行结果中的各规则的动态属性的变动,重新设定各规则的动态属性值和相应的规则的属性值。规则模型的规则的执行过程和执行结果以报表的形式输出,显示出相应规则在执行中的例如左右比较值、执行结果、触发原因、结果分布、调用量等的情况。通过上述过程,处理设备根据规则的属性值的变动的情况,动态调整各规则之间的执行优先级和逻辑运算关系,并动态构建相应的规则模型,以提高规则模型的执行效率。以下介绍本申请的一种智能规则模型系统的实施例接受单元201,用于接受触发指令;调取单元201,用于自规则容器调取相应的规则;分析单元202,用于分析所述调取的规则的属性,以确定各规则的被执行优先级和逻辑运算关系;配置单元203,用于根据上述分析单元的结果,动态配置相应的规则模型;执行单元204,用于执行上述配置好的规则模型,并获得执行结果;输出单元205,用于将上述规则的执行过程以及执行结果以报表形式输出。以下结合实施例介绍一种具体的应用场景。例如,当用户通过手机执行其在线支付账户进行支付操作时,支付平台需要对帐户的操作者进行身份认证,以控制帐户被盗用的风险。在认证过程中,支付平台的处理设备通过构建一个智能规则模型对操作者的身份执行认证,例如对帐户的密码认证,帐户操作地点的认证,操作帐户的手机的国际移动设备国际身份码(InternationalMobileEquipmentIdentity,IMEI)的认证,短信认证码的认证。并且设定帐户的密码认证为规则A,帐户操作地点的认证为规则B,操作帐户的手机的国际移动设备国际身份码(InternationalMobileEquipmentIdentity,IMEI)的认证为规则C,短信认证码的认证为规则D。如图7所示,处理设备在收到请求对帐户进行支付操作时,从规则容器中调取上述的规则,规则A会被放入规则模型的表达式的第一端第一位置11,规则D被放入规则模型的表达式的第二端第一位置21,规则B被放入第一端第二位置12,规则C被放入第二端第二位置22,以此构建成一个新的智能规则模型(AandB)or(CandD),处理设备执行该规则模型(AandB)or(CandD),对帐户的操作者进行身份认证。在帐户的密码和操作地点符合要求,或操作帐户的手机的IMEI和短信认证码符合要求时,处理设备认证操作者的身份合法。请参阅图4所示,处理设备在执行上述智能规则模型(AandB)or(CandD)时,首先构建成队列1和队列2,分别位于队列1和队列2的执行起始端的位置的规则A和规则D在线程1和线程2中同时被最先执行,即密码认证和短信认证同时在处理设备中被执行。当规则A的执行结果false时,即密码认证报错时,规则B被短路而不执行,规则A的执行结果直接复制给规则B,即账户的操作地点不做认证,直接以false作为结果,(AandB)的执行结果为false,此阶段,账户的操作者的身份认证失败。同时,当规则D的运算结果为true时,即短信认证成功,规则C不短路,规则C继续被执行,即继续认证手机的IMEI,例如规则C的执行结果也为true,也即手机的IMEI的认证成功,则(CandD)的执行结果为true,最后与前述(AandB)的执行结果false执行Or的逻辑运算后,得到规则模型(AandB)or(CandD)的最终执行结果为true,处理设备认证账户的操作者身份合法,执行支付操作。反之,在(AandB)的执行结果为false时,若(CandD)的执行结果也为false,则处理设备认证账户的操作者身份为非法,(AandB)和(CandD)的执行过程中遵循边执行边短路的方式。在支付平台执行一段时间后,规则容器中的规则A、规则B、规则C和规则D的动态属性发生变化,例如规则B的运行耗时较短,适合优先执行,在上述规则B的动态属性变动达到一定触发的值,规则B的属性随之变动。处理设备接受请求构建相应的规则模型时,经过对各规则的属性的分析后重新确定各规则的执行次序,规则B会被放入规则模型的表达式的第一端第一位置11,规则D被放入规则模型的表达式的第二端第一位置21,规则A被放入第一端第二位置12,规则C被放入第二端第二位置22,构建成一个新的智能规则模型(BandA)or(CandD)。当帐户被操作时,规则模型也会被先构建成队列1和队列2,此时,规则B和规则D位于队列1和队列2的执行起始端的位置,上对队列构建好后,处理设备会在线程1和线程2中同时优先执行规则B和规则D,例如,当规则B的执行结果为false时,即账户的操作地点错误,规则A被短路,即不再认证账户的密码,而是直接以规则A的执行结果false作为执行结果,则(BandA)的执行结果为false。这样,处理设备在执行(BandA)时,所耗费的时间为执行规则B所耗费的时间,因规则B的执行时间较短,执行(BandA)所耗费的时间就被缩短了。上述实施例说明本申请的智能规则模型根据各规则的属性,处理设备动态调整各规则之间的执行次序的优先级,以提高规则模型的执行效率。在其他实施例中,本申请的智能规则模型中的各规则之间的逻辑运算关系也可以被动态调整,例如上述智能规则模型(AandB)or(CandD)在各规则的动态属性变动后,处理设备也可以动态调整规则模型间的各规则的逻辑运算关系,比如(AorD)or(BandC),或(AandD)and(CorD)等其他智能规则模型,调整的目的是以提高规则模型的执行效率为前提,同时确保规则模型的执行结果符合需求。通过上述方式,本申请的智能规则模型的规则执行顺序能被处理设备根据各规则的属性的变动而动态调整,并且以双线程,边执行边短路的方式执行智能规则模型的表达式,有效的提升了本申请的智能规则模型的执行效率。尤其在多个用户同时执行操作时,可以有效减轻处理设备的负担,提升处理设备的处理效率。规则的执行结果本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1