CN110096255B - 规则降级处理方法、装置及系统、数据处理方法 - Google Patents
规则降级处理方法、装置及系统、数据处理方法 Download PDFInfo
- Publication number
- CN110096255B CN110096255B CN201810078977.3A CN201810078977A CN110096255B CN 110096255 B CN110096255 B CN 110096255B CN 201810078977 A CN201810078977 A CN 201810078977A CN 110096255 B CN110096255 B CN 110096255B
- Authority
- CN
- China
- Prior art keywords
- expression
- rule
- target
- determining
- execution result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000006731 degradation reaction Methods 0.000 title claims abstract description 74
- 230000015556 catabolic process Effects 0.000 title claims abstract description 70
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 230000014509 gene expression Effects 0.000 claims abstract description 417
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 15
- 238000007405 data analysis Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种规则降级处理方法、装置及系统、数据处理方法。其中,该方法包括:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。本申请解决了现有技术中规则降级处理方式为不再运行该规则,对业务产生影响的技术问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种规则降级处理方法、装置及系统、数据处理方法。
背景技术
一般的规则执行方式都是按照规则的逻辑表达式进行执行,对规则中的每个表达式的左右变量进行数据补全取值,然后调用对应的操作符识别表达式的结果(True/False),最后通过规则上设定的表达式逻辑进行与或运算得到最终规则的执行结果。比如一条规则的表达式逻辑为1&2&3,规则的执行过程中,先计算表达式1的结果,如果结果为False(错误),则整条规则的结果为False。如果表达式1的结果为True(正确),则继续执行表达式2的结果,以此类推。
在一些电商的大型促销场景下,一些规则的表达式计算耗时高,例如,表达式1计算耗时高,影响了整个系统的吞吐。通常的做法是直接对整条规则进行降级,不再运行这条规则。但是,这会使得这条规则的产出降为0,对业务产生影响。
针对现有技术中规则降级处理方式为不再运行该规则,对业务产生影响的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种规则降级处理方法、装置及系统、数据处理方法,以至少解决现有技术中规则降级处理方式为不再运行该规则,对业务产生影响的技术问题。
根据本申请实施例的一个方面,提供了一种规则降级处理方法,包括:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
根据本申请实施例的另一方面,还提供了一种规则降级处理装置,包括:获取模块,用于获取第一规则,第一规则包括至少一个表达式;确定模块,用于从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行模块,用于执行第一规则,其中,目标表达式的执行结果为未知。
根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行如下步骤:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行如下步骤:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
根据本申请实施例的另一方面,还提供了一种规则降级处理系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
根据本申请实施例的另一方面,还提供了一种数据处理方法,包括:获取待执行的逻辑运算表达式,其中,逻辑运算表达式包括第一子表达式和剩余子表达式;确定第一子表达式为未知结果表达式;执行剩余子表达式,得到中间结果;根据中间结果与未知结果表达式之间的逻辑运算,得到待执行的逻辑运算表达式的结果。
在本申请实施例中,在获取到第一规则之后,首先可以从第一规则中包含的至少一个表达式中确定目标表达式,将目标表达式的执行结果设置为未知,进一步执行第一规则,基于每个表达式的执行结果得到第一规则的执行结果。
通过本申请上述实施例所提供的方案,将需降级的目标表达式的执行结果设置为未知,实现了在进行规则降级处理时仍然可以执行第一规则的目的,从而达到了减少规则降级对业务的影响的技术效果,进而解决了现有技术中规则降级处理方式为不再运行该规则,对业务产生影响的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例一种用于实现规则降级处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一种规则降级处理方法的流程图;
图3是根据本申请实施例1的一种可选的多个需要降级的规则的执行过程的示意图;
图4是根据本申请实施例1的一种规则降级处理装置的示意图;
图5是根据本申请实施例4的一种数据处理方法的流程图;
图6是根据本申请实施例5的一种数据处理装置的示意图;以及
图7是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
规则:由一系列的表达式和一个逻辑表达式组成,例如,表达式1为用户id!=123,表达式2为买家id==123,表达式3为卖家id!=123,逻辑表达式为1&2|3,从而组成了一个规则。目前,规则中的表达式由与、或、去反三个逻辑相互连接组成。
去反:原来结果为True,去反后结果为False,反之,原来结果为False,去反后结果为True,本实施例的“去反”与“取反”所表示的内容相同。
实施例1
根据本申请实施例,还提供了一种规则降级处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现规则降级处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的规则降级处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的规则降级处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的规则降级处理方法。图2是根据本申请实施例1的一种规则降级处理方法的流程图。如图2所示,该方法包括如下步骤:
步骤S202,获取第一规则,第一规则包括至少一个表达式。
上述步骤S202中的第一规则可以是需要进行降级处理的规则,系统可以通过判断第一规则中包含的每个表达式消耗的资源来确定每个表达式是否需要降级处理,如果第一规则中包含的一个表达式需要降级处理,则确定该第一规则需要降级处理。
例如,在本申请实施例中以第一规则为!1&2|3为例进行说明,该第一规则中包含三个表达式,分别为表达式1、表达式2和表达式3。
步骤S204,从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式。
在一种可选的实施例中,在电商大型促销的应用场景中,可以分别计算每个表达式消耗的资源,如果一个表达式消耗的资源超过预先设定的阈值,则认为该表达式的成本较高,需要进行降级,从而确定该表达式为目标表达式。
例如,仍以第一规则为!1&2|3为例进行说明,在电商大型促销的应用场景中,可以分别计算表达式1、表达式2和表达式3消耗的资源,当表达式1消耗的资源超过预先设定的阈值时,确定表达式1为目标表达式,需要进行降级。
需要说明的是,在规则降级过程中,只需要对目标表达式进行降级。
步骤S206,执行第一规则,其中,目标表达式的执行结果为未知。
例如,表达式的逻辑为user ID>3,如果user ID的值已知,则可以判断出该表达式的执行结果为True或False;如果user ID的值无法获取到,或者获取user ID值的过程中发生了异常,则该表达式的执行结果为unknown。
在一种可选的实施例中,对于普通的规则表达式,其执行结果一般只有True和False,在本申请实施例中对执行结果进行扩展,引入未知unknown,对于目标表达式,由于需要对目标表达式进行降级,则可以不计算目标表达式的执行结果,直接将该目标表达式的执行结果确定为unknown,在执行第一规则的过程中,可以计算出其他不需要降级的表达式的执行结果,进一步根据所有表达式的执行结果,得到整个第一规则的执行结果。
需要说明的是,第一规则的执行结果可以包括True、False和unknown,当第一规则的执行结果为unknown时,可以确定此次规则的执行是没有产出的,当第一规则的执行结果为True或False时,可以确定此次规则的执行是有产出的。
例如,仍以第一规则为!1&2|3为例进行说明,在执行该条规则时,由于表达式1需要进行降级,表达式1的执行结果为unknown,则!1的执行结果为unknown,由于表达式1和表达式2是与的关系,所以表达式(!1&2)的执行结果一直为unknown,如果表达式3的执行结果为False,则整个第一规则的执行结果为unknown;如果表达式3的执行结果为True,则整个第一规则的执行结果为True。
下面结合图3对本申请实施例中一种多个需要降级的规则的执行过程进行说明,
如图3所示,在现有的规则降级过程中,在一次请求中,由于规则R_1,R_2和R_3均需要降级,三个规则都不会执行(如图3中上面所示的三个矩阵),产出为0;而对于本申请实施例提供的规则降级方式,规则R_1,R_2和R_3均会执行,其中,R_1的执行结果为True(如图3中的竖线矩形所示),R_2的执行结果为unknown(如图3中的斜线矩形所示),R_3的执行结果为False(如图3中的横线矩形所示),也即,规则R_1和R_3是可以得到执行结果的,此时产出不为0,从而大大降低了规则降级对业务的影响。
基于上述实施例所限定的方案可以获知,在获取到第一规则之后,首先可以从第一规则中包含的至少一个表达式中确定目标表达式,将目标表达式的执行结果设置为未知,进一步执行第一规则,基于每个表达式的执行结果得到第一规则的执行结果。
通过本申请上述实施例所提供的方案,将需降级的目标表达式的执行结果设置为未知,实现了在进行规则降级处理时仍然可以执行第一规则的目的,从而达到了减少规则降级对业务的影响的技术效果,进而解决了现有技术中规则降级处理方式为不再运行该规则,对业务产生影响的技术问题。
本申请提供的一种可选实施例中,从至少一个表达式中确定目标表达式,包括:对至少一个表达式进行数据分析,确定至少一个表达式对应的运算成本;将运算成本大于预设阈值的表达式确定为目标表达式。
上述的运算成本可以是至少一个表达式消耗的资源,上述的预设阈值可以是在电商大型促销的应用场景中,根据实际场景需要预先设定的阈值,避免运算成本过高,影响整个业务的正常运行。
在一种可选的实施例中,通过对第一规则中的所有表达式进行数据分析,可以计算出每个表达式的运算成本,如果一个表达式的运算成本超过当前应用场景中预先设定的阈值,则确定该表达式需要进行降级,也即,确定该表达式为目标表达式。
例如,仍以第一规则为!1&2|3为例进行说明,在电商大型促销的应用场景中,可以分别对表达式1、表达式2和表达式3进行数据分析,确定每个表达式对应的运算成本,当表达式1的运算成本超过预设阈值时,确定表达式1为目标表达式,需要进行降级。
本申请提供的一种可选实施例中,第一规则包括目标表达式、第一表达式以及逻辑表达式,第一表达式为无需进行降级的表达式,逻辑表达式包括以下至少之一:与、或;其中,在逻辑表达式为与的情况下,若第一表达式的执行结果为正确,则第一规则的执行结果为未知,若第一表达式的执行结果为错误,则第一规则的执行结果为错误;在逻辑表达式为或的情况下,若第一表达式的执行结果为正确,则第一规则的执行结果为正确,若第一表达式的执行结果为错误,则第一规则的执行结果为未知。
第一规则可以由需要降级的目标表达式和无需进行降级的表达式以及逻辑表达式组成,逻辑表达式可以包括与、或中的任意一种,也可以包括两种的组合。
例如,第一规则可以是1&2|3,其中,表达式1为目标表达式,表达式2和表达式3为第一表达式,逻辑表达式包括:与(&)、或(|)。
又例如,本申请实施例以表达式1的执行结果为True,表达式2的执行结果为unknown,表达式3的执行结果为False为例进行说明,在第一规则为1&2的情况下,可以确定第一规则的执行结果为unknown,在第一规则为3&2的情况下,可以确定第一规则的执行结果为False,在第一规则为1|2的情况下,可以确定第一规则的执行结果为True,在第一规则为3|2的情况下,可以确定第一规则的执行结果为unknown。
基于上述推导过程,可以得到任意一个第一规则的执行结果,并且第一规则的执行结果是可能执行得到True或False结果的。
本申请提供的一种可选实施例中,第一规则包括目标表达式以及逻辑表达式,逻辑表达式包括去反,其中,第一规则的执行结果为未知。
例如,第一规则可以是!1,其中,表达式1为目标表达式,逻辑表达式包括:去反(!)。
又例如,本申请实施例以表达式1的执行结果为unknown为例进行说明,在第一规则为!1的情况下,可以确定第一规则的执行结果为unknown。
基于上述推导过程,可以得到任意一个第一规则的执行结果。
需要说明的是,第一规则可以由需要降级的目标表达式和无需进行降级的表达式以及逻辑表达式组成,逻辑表达式可以包括与、或、去反的组合。
例如,第一规则可以是!1&2|3,其中,表达式1为目标表达式,表达式2和表达式3为第一表达式,逻辑表达式包括:去反(!)、与(&)、或(|)。
本申请提供的一种可选实施例中,从至少一个表达式中确定目标表达式之后,方法还包括:为第一表达式设置运行数据,且不为目标表达式设置运行数据;在执行第一规则的过程中,通过获取运行数据执行第一表达式。
上述的运行数据可以是计算得到第一表达式的执行结果的数据。
在一种可选的实施例中,在通过对第一规则中的所有表达式进行数据分析,确定该表达式是否为目标表达式之后,为了避免目标表达式执行消耗资源,则可以不为目标表达式设置运行结果,直接确定目标表达式的执行结果为unknown,为了能够得到第一规则的执行结果,可以为第一表达式设置运行数据,在执行第一规则的过程中,可以通过第一表达式的运行数据得到第一表达式的执行结果,进一步结合目标表达式的执行结果unknown,从而认得到第一规则的执行结果,并且第一规则的执行结果可能是unknown,也可能是有确定的值True或False。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述规则降级处理方法的规则降级处理装置,如图4所示,该装置400包括:
获取模块402,用于获取第一规则,第一规则包括至少一个表达式。
确定模块404,用于从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式。
执行模块406,用于执行第一规则,其中,目标表达式的执行结果为未知。
此处需要说明的是,上述获取模块402、确定模块404和执行模块406对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
本申请提供的一种可选实施例中,如图4所示,确定模块404包括:第一确定单元408,用于对至少一个表达式进行数据分析,确定至少一个表达式对应的运算成本;第二确定单元410,用于将运算成本大于预设阈值的表达式确定为目标表达式。
本申请提供的一种可选实施例中,第一规则包括目标表达式、第一表达式以及逻辑表达式,第一表达式为无需进行降级的表达式,逻辑表达式包括以下至少之一:与、或;其中,如图4所示,执行模块406,还用于在逻辑表达式为与的情况下,若第一表达式的执行结果为正确,则第一规则的执行结果为未知,若第一表达式的执行结果为错误,则第一规则的执行结果为错误;执行模块406,还用于在逻辑表达式为或的情况下,若第一表达式的执行结果为正确,则第一规则的执行结果为正确,若第一表达式的执行结果为错误,则第一规则的执行结果为未知。
本申请提供的一种可选实施例中,第一规则包括目标表达式以及逻辑表达式,逻辑表达式包括去反,其中,如图4所示,执行模块406,还用于第一规则的执行结果为未知。
本申请提供的一种可选实施例中,如图4所示,该装置400还包括:设置模块412,用于为第一表达式设置运行数据,且不为目标表达式设置运行数据;执行模块406,还用于在执行第一规则的过程中,通过获取运行数据执行第一表达式。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例3
根据本申请实施例,还提供了一种用于实施上述规则降级处理方法的规则降级处理系统,该系统包括:
处理器;以及
存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例4
根据本申请实施例,还提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图5是根据本申请实施例4的一种数据处理方法的流程图。如图5所示,该方法包括如下步骤:
步骤S502,获取待执行的逻辑运算表达式,其中,逻辑运算表达式包括第一子表达式和剩余子表达式。
上述步骤S502中的逻辑运算表达式可以是包含有需要降级处理的子表达式,逻辑运算表达式中包含的第一子表达式和剩余子表达式之间可以通过逻辑表达式与(&)、或(|)连接;上述的第一子表达式可以是需要降级处理的表达式,具体可以根据逻辑运算表达式中包含的每个表达式消耗的资源来确定第一子表达式。
在一种可选的实施例中,在电商大型促销的应用场景中,可以对逻辑运算表达式中的所有子表达式进行数据分析,分别计算出每个子表达式的运算成本,也即,计算出每个子表达式消耗的资源,如果一个子表达式的运算成本超过当前应用场景中预先设定的阈值,则认为该子表达式的成本较高,需要进行降级,从而确定该表达式为第一子表达式,其他表达式为剩余子表达式。
例如,在本申请实施例中以逻辑运算表达式为1&2|3为例进行说明,该逻辑运算表达式包含表达式1、表达式2和表达式3,在电商大型促销的应用场景中,可以分别对表达式1、表达式2和表达式3进行数据分析,确定每个表达式对应的运算成本,当表达式1的运算成本超过预设阈值时,确定表达式1为第一子表达式,需要进行降级,表达式(2|3)为剩余子表达式。
步骤S504,确定第一子表达式为未知结果表达式。
在一种可选的实施例中,在本申请实施例中对执行结果进行扩展,引入未知unknown,对于第一子表达式,由于需要对第一子表达式进行降级,则可以不计算第一子表达式的执行结果,直接确定第一子表达式的执行结果确定为unknown,也即确定第一子表达式为未知结果表达式。例如,表达式的逻辑为user ID>3,如果user ID的值无法获取到,或者获取user ID值的过程中发生了异常,则该表达式为未知结果表达式。
需要说明的是,在数据处理过程中,只需要对第一子表达式进行降级,确定第一子表达式的执行结果为unknown。
例如,仍以逻辑运算表达式为1&2|3为例进行说明,在执行第一子表达式,也即,执行表达式1时,由于表达式1需要进行降级,表达式1的执行结果为unknown。
步骤S506,执行剩余子表达式,得到中间结果。
在一种可选的实施例中,可以执行剩余子表达式,剩余子表达式中每个子表达式的执行结果为True或False,例如,表达式的逻辑为user ID>3,如果user ID的值已知,则可以判断出该表达式的执行结果为True或False。进一步地,根据剩余子表达式中所有子表达式的执行结果,可以得到中间结果。
例如,仍以逻辑运算表达式为1&2|3为例进行说明,在执行剩余子表达式,也即执行表达式(2|3)时,可以分别计算表达式2和执行结果和表达式3的执行结果,然后根据表达式2和表达式3的执行结果,得到表达式(2|3)的执行结果,从而得到中间结果。
步骤S508,根据中间结果与未知结果表达式之间的逻辑运算,得到待执行的逻辑运算表达式的结果。
在一种可选的实施例中,可以根据中间结果和未知结果表达式的执行结果,通过逻辑运算得到整个逻辑运算表达式的结果,当整个逻辑运算表达式中的逻辑运算符为与(&)时,如果中间结果为True,则可以确定整个逻辑运算表达式的执行结果为unknown,如果中间结果为False,则可以确定整个逻辑运算表达式的执行结果为False;当整个逻辑运算表达式中的逻辑运算符为或(|)时,如果中间结果为True,则可以确定整个逻辑运算表达式的执行结果为True,如果中间结果为False,则可以确定整个逻辑运算表达式的执行结果为unknown。
需要说明的是,逻辑运算表达式的执行结果可以包括True、False和unknown,当第一规则的执行结果为unknown时,可以确定此次规则的执行是没有产出的,当第一规则的执行结果为True或False时,可以确定此次规则的执行是有产出的。
例如,仍以逻辑运算表达式为1&2|3为例进行说明,在执行整个逻辑运算表达式时,由于表达式1和表达式(2|3)是与的关系,如果表达式(2|3)的执行结果为False,则整个逻辑运算表达式的结果为False;如果表达式(2|3)的执行结果为True,则整个逻辑运算表达式的结果为unknown。
基于上述实施例所限定的方案可以获知,在获取到待执行的逻辑运算表达式之后,首先可以确定逻辑运算表达式中第一子表达式为未知结果表达式,同时执行剩余子表达式,得到中间结果,进一步根据中间结果与未知结果表达式之间的逻辑运算,从而得到待执行的逻辑运算表达式的结果。
通过本申请上述实施例所提供的方案,将需降级的第一子表达式的执行结果设置为未知,实现了在进行数据处理时仍然可以执行逻辑运算表达式的目的,从而达到了减少规则降级对业务的影响的技术效果,进而解决了现有技术中规则降级处理方式为不再运行该规则,对业务产生影响的技术问题。
实施例5
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图6所示,该装置600包括:
获取模块602,用于获取待执行的逻辑运算表达式,其中,逻辑运算表达式包括第一子表达式和剩余子表达式。
确定模块604,用于确定第一子表达式为未知结果表达式。
第一执行模块606,用于执行剩余子表达式,得到中间结果。
第二执行模块608,用于根据中间结果与未知结果表达式之间的逻辑运算,得到待执行的逻辑运算表达式的结果。
此处需要说明的是,上述获取模块602、确定模块604、第一执行模块606第二执行模块608和对应于实施例4中的步骤S502至步骤S508,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例4所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例4中的相关描述,在此不在赘述。
实施例6
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行规则降级处理方法中以下步骤的程序代码:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
可选地,图7是根据本申请实施例的一种计算机终端的结构框图。如图7所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器702和存储器704。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的规则降级处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的规则降级处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
可选的,上述处理器还可以执行如下步骤的程序代码:对至少一个表达式进行数据分析,确定至少一个表达式对应的运算成本;将运算成本大于预设阈值的表达式确定为目标表达式。
可选的,上述处理器还可以执行如下步骤的程序代码:第一规则包括目标表达式、第一表达式以及逻辑表达式,第一表达式为无需进行降级的表达式,逻辑表达式包括以下至少之一:与、或;其中,在逻辑表达式为与的情况下,若第一表达式的执行结果为正确,则第一规则的执行结果为未知,若第一表达式的执行结果为错误,则第一规则的执行结果为错误;在逻辑表达式为或的情况下,若第一表达式的执行结果为正确,则第一规则的执行结果为正确,若第一表达式的执行结果为错误,则第一规则的执行结果为未知。
可选的,上述处理器还可以执行如下步骤的程序代码:第一规则包括目标表达式以及逻辑表达式,逻辑表达式包括去反,其中,第一规则的执行结果为未知。
可选的,上述处理器还可以执行如下步骤的程序代码:从至少一个表达式中确定目标表达式之后,为第一表达式设置运行数据,且不为目标表达式设置运行数据;在执行第一规则的过程中,通过获取运行数据执行第一表达式。
采用本申请实施例,提供了一种规则降级处理的方案。在获取到第一规则之后,首先可以从第一规则中包含的至少一个表达式中确定目标表达式,将目标表达式的执行结果设置为未知,进一步执行第一规则,基于每个表达式的执行结果得到第一规则的执行结果。
通过本申请上述实施例所提供的方案,将需降级的目标表达式的执行结果设置为未知,实现了在进行规则降级处理时仍然可以执行第一规则的目的,从而达到了减少规则降级对业务的影响的技术效果,进而解决了现有技术中规则降级处理方式为不再运行该规则,对业务产生影响的技术问题。
本领域普通技术人员可以理解,图7所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的规则降级处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一规则,第一规则包括至少一个表达式;从至少一个表达式中确定目标表达式,其中,目标表达式为需进行降级的表达式;执行第一规则,其中,目标表达式的执行结果为未知。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种规则降级处理方法,其特征在于,包括:
获取第一规则,所述第一规则包括至少一个表达式;
从所述至少一个表达式中确定目标表达式,其中,所述目标表达式为需进行降级的表达式;
执行所述第一规则,其中,所述目标表达式的执行结果为未知;
其中,所述从所述至少一个表达式中确定目标表达式,包括:对所述至少一个表达式进行数据分析,确定所述至少一个表达式对应的运算成本;将运算成本大于预设阈值的表达式确定为所述目标表达式。
2.根据权利要求1所述的方法,其特征在于,所述第一规则包括所述目标表达式、第一表达式以及逻辑表达式,所述第一表达式为无需进行降级的表达式,所述逻辑表达式包括以下至少之一:与、或;其中,
在所述逻辑表达式为与的情况下,若所述第一表达式的执行结果为正确,则所述第一规则的执行结果为未知,若所述第一表达式的执行结果为错误,则所述第一规则的执行结果为错误;
在所述逻辑表达式为或的情况下,若所述第一表达式的执行结果为正确,则所述第一规则的执行结果为正确,若所述第一表达式的执行结果为错误,则所述第一规则的执行结果为未知。
3.根据权利要求1所述的方法,其特征在于,所述第一规则包括所述目标表达式以及逻辑表达式,所述逻辑表达式包括去反,其中,所述第一规则的执行结果为未知。
4.根据权利要求2所述的方法,其特征在于,从所述至少一个表达式中确定目标表达式之后,所述方法还包括:
为所述第一表达式设置运行数据,且不为所述目标表达式设置运行数据;
在执行所述第一规则的过程中,通过获取所述运行数据执行所述第一表达式。
5.一种规则降级处理装置,其特征在于,包括:
获取模块,用于获取第一规则,所述第一规则包括至少一个表达式;
确定模块,用于从所述至少一个表达式中确定目标表达式,其中,所述目标表达式为需进行降级的表达式;
执行模块,用于执行所述第一规则,其中,所述目标表达式的执行结果为未知;
其中,所述确定模块还用于对所述至少一个表达式进行数据分析,确定所述至少一个表达式对应的运算成本;将运算成本大于预设阈值的表达式确定为所述目标表达式。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如下步骤:获取第一规则,所述第一规则包括至少一个表达式;从所述至少一个表达式中确定目标表达式,其中,所述目标表达式为需进行降级的表达式;执行所述第一规则,其中,所述目标表达式的执行结果为未知,其中,所述从所述至少一个表达式中确定目标表达式,包括:
对所述至少一个表达式进行数据分析,确定所述至少一个表达式对应的运算成本;
将运算成本大于预设阈值的表达式确定为所述目标表达式。
7.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:获取第一规则,所述第一规则包括至少一个表达式;从所述至少一个表达式中确定目标表达式,其中,所述目标表达式为需进行降级的表达式;执行所述第一规则,其中,所述目标表达式的执行结果为未知,其中,所述从所述至少一个表达式中确定目标表达式,包括:对所述至少一个表达式进行数据分析,确定所述至少一个表达式对应的运算成本;将运算成本大于预设阈值的表达式确定为所述目标表达式。
8.一种规则降级处理系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:获取第一规则,所述第一规则包括至少一个表达式;从所述至少一个表达式中确定目标表达式,其中,所述目标表达式为需进行降级的表达式;执行所述第一规则,其中,所述目标表达式的执行结果为未知,其中,所述从所述至少一个表达式中确定目标表达式,包括:对所述至少一个表达式进行数据分析,确定所述至少一个表达式对应的运算成本;将运算成本大于预设阈值的表达式确定为所述目标表达式。
9.一种数据处理方法,其特征在于,包括:
获取待执行的逻辑运算表达式,其中,所述逻辑运算表达式包括第一子表达式和剩余子表达式;
确定所述第一子表达式为未知结果表达式;
执行所述剩余子表达式,得到中间结果;
根据所述中间结果与所述未知结果表达式之间的逻辑运算,得到所述待执行的逻辑运算表达式的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810078977.3A CN110096255B (zh) | 2018-01-26 | 2018-01-26 | 规则降级处理方法、装置及系统、数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810078977.3A CN110096255B (zh) | 2018-01-26 | 2018-01-26 | 规则降级处理方法、装置及系统、数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096255A CN110096255A (zh) | 2019-08-06 |
CN110096255B true CN110096255B (zh) | 2023-05-02 |
Family
ID=67441788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810078977.3A Active CN110096255B (zh) | 2018-01-26 | 2018-01-26 | 规则降级处理方法、装置及系统、数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096255B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021405A (en) * | 1996-08-23 | 2000-02-01 | Tandem Computers, Inc. | System and method for optimizing database queries with improved performance enhancements |
CN1505880A (zh) * | 2001-04-30 | 2004-06-16 | �ƶ��Ѷ��� | 增强蜂窝系统中用于区分高可变性和低可变性的链路自适应方法 |
CN103198065A (zh) * | 2012-01-06 | 2013-07-10 | 北京奇策科技有限公司 | 一种正则表达式匹配电路的优化方法 |
CN104243619A (zh) * | 2014-10-17 | 2014-12-24 | 上海瀚银信息技术有限公司 | 一种分布式移动支付系统 |
CN106201537A (zh) * | 2016-07-18 | 2016-12-07 | 浪潮通用软件有限公司 | 一种数据处理方法及装置 |
CN106296399A (zh) * | 2015-06-11 | 2017-01-04 | 交通银行股份有限公司 | 业务规则公式化的数据处理方法和系统 |
-
2018
- 2018-01-26 CN CN201810078977.3A patent/CN110096255B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021405A (en) * | 1996-08-23 | 2000-02-01 | Tandem Computers, Inc. | System and method for optimizing database queries with improved performance enhancements |
CN1505880A (zh) * | 2001-04-30 | 2004-06-16 | �ƶ��Ѷ��� | 增强蜂窝系统中用于区分高可变性和低可变性的链路自适应方法 |
CN103198065A (zh) * | 2012-01-06 | 2013-07-10 | 北京奇策科技有限公司 | 一种正则表达式匹配电路的优化方法 |
CN104243619A (zh) * | 2014-10-17 | 2014-12-24 | 上海瀚银信息技术有限公司 | 一种分布式移动支付系统 |
CN106296399A (zh) * | 2015-06-11 | 2017-01-04 | 交通银行股份有限公司 | 业务规则公式化的数据处理方法和系统 |
CN106201537A (zh) * | 2016-07-18 | 2016-12-07 | 浪潮通用软件有限公司 | 一种数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
BPEL系统开发中异构数据处理的解决方案;尤海鹏;《电脑知识与技术》;20081205(第34期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110096255A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160210632A1 (en) | Secured payment method and relevant device and system | |
CN109918205B (zh) | 一种边缘设备调度方法、系统、装置及计算机存储介质 | |
CN105678568A (zh) | 一种确定优惠信息的方法及装置 | |
CN113595961A (zh) | 协议转换方法和系统、网关设备 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN108632211B (zh) | 一种智能设备的绑定方法及装置 | |
CN114691390A (zh) | 用户态程序的处理方法和装置、存储介质及处理器 | |
CN108965403B (zh) | 运维监控连接的建立方法及终端设备 | |
CN110762773A (zh) | 一种空调器的升级方法及空调器 | |
CN110675219A (zh) | 页面及订单生成方法、系统、计算机设备及存储介质 | |
CN110096255B (zh) | 规则降级处理方法、装置及系统、数据处理方法 | |
CN111130828A (zh) | 一种智能配网方法、装置及终端设备 | |
CN116228544B (zh) | 图像处理方法、装置及计算机设备 | |
CN109005301B (zh) | 中间号管控方法和中间号管控装置 | |
CN111026995A (zh) | 应用程序间信息关联的方法、装置以及存储介质 | |
CN114466322B (zh) | 通信方法、系统、装置、存储介质以及处理器 | |
CN110858201B (zh) | 数据处理方法及系统、处理器、存储介质 | |
CN113110982B (zh) | 数据访问层验证方法及装置、存储介质及电子装置 | |
CN114297067A (zh) | 脚本测试方法及装置 | |
CN114970761A (zh) | 模型训练方法及装置、系统 | |
CN113194045B (zh) | 数据流量分析方法、装置、存储介质及处理器 | |
CN117097789A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110609701A (zh) | 提供服务的方法、装置和存储介质 | |
CN113919511A (zh) | 联邦学习方法及装置 | |
CN113312254A (zh) | 内核代码的测试方法、装置、存储介质和处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |