CN112613976A - 逻辑条件判定方法、装置、介质及电子设备 - Google Patents
逻辑条件判定方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN112613976A CN112613976A CN202011496385.7A CN202011496385A CN112613976A CN 112613976 A CN112613976 A CN 112613976A CN 202011496385 A CN202011496385 A CN 202011496385A CN 112613976 A CN112613976 A CN 112613976A
- Authority
- CN
- China
- Prior art keywords
- logic condition
- module
- target
- attribute
- logic
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/313—Logic programming, e.g. PROLOG programming language
Abstract
本公开涉及过程优化领域,揭示了一种逻辑条件判定方法、装置、介质及电子设备。该方法用于对应用程序中逻辑条件进行判断,该方法包括:将至少一对象与逻辑条件中目标模块对应的模块运算结果和/或与逻辑条件中目标属性对应的属性值计算出来,其中,逻辑条件包括模块和/或属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与逻辑条件中目标模块对应的模块运算结果以及与逻辑条件中目标属性对应的属性值不会改变;当执行对逻辑条件的判断步骤时,利用已计算出的至少一对象与目标模块对应的模块运算结果和/或与目标属性对应的属性值进行判断。此方法可以减少进行逻辑条件的判断时的计算量,提高应用程序的响应速度,满足用户的时效性要求。
Description
技术领域
本公开涉及过程优化技术领域,特别涉及一种逻辑条件判定方法、装置、介质及电子设备。
背景技术
随着互联网特别是移动互联网时代的到来,网络活动的诉求越来越多,为了满足多样化的应用场景的需要,应用程序越来越复杂,其中常常涉及到对基于属性的复杂逻辑条件进行逻辑判断,对这些复杂逻辑条件进行逻辑判断需要消耗巨大的计算时间,难以根据用户的请求快速做出响应,这就导致应用程序不能快速响应,无法满足用户的时效性要求,用户体验较差。
发明内容
在过程优化技术领域,为了解决上述技术问题,本公开的目的在于提供一种逻辑条件判定方法、装置、介质及电子设备。
根据本公开的一方面,提供了一种逻辑条件判定方法,所述方法用于对应用程序中逻辑条件进行判断,所述方法包括:
将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,其中,所述逻辑条件包括至少一个模块和/或至少一个属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与所述逻辑条件中目标模块对应的模块运算结果以及与所述逻辑条件中目标属性对应的属性值不会改变;
当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
根据本公开的另一方面,提供了一种逻辑条件判定装置,所述装置用于对应用程序中逻辑条件进行判断,所述装置包括:
计算模块,被配置为将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,其中,所述逻辑条件包括至少一个模块和/或至少一个属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与所述逻辑条件中目标模块对应的模块运算结果以及与所述逻辑条件中目标属性对应的属性值不会改变;
判断模块,被配置为当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
根据本公开的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行如前所述的方法。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开所提供的逻辑条件判定方法用于对应用程序中逻辑条件进行判断,包括如下步骤:将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,其中,所述逻辑条件包括至少一个模块和/或至少一个属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与所述逻辑条件中目标模块对应的模块运算结果以及与所述逻辑条件中目标属性对应的属性值不会改变;当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
此方法下,通过在执行对逻辑条件的判断步骤之前,将至执行判断步骤时不会改变的至少一部分模块运算结果和目标属性对应的属性值计算出来,这部分模块运算结果和属性值在进行逻辑条件的判断时无需再次计算,因此,减少了进行逻辑条件的判断时的计算量,可以提高应用程序的响应速度,从而满足用户的时效性要求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种逻辑条件判定方法的系统架构示意图;
图2是根据一示例性实施例示出的一种逻辑条件判定方法的流程图;
图3是根据图2实施例示出的一实施例的步骤240之前步骤以及步骤240的细节的流程图;
图4是根据一示例性实施例示出的一种逻辑条件判定装置的框图;
图5是根据一示例性实施例示出的一种实现上述逻辑条件判定方法的电子设备示例框图;
图6是根据一示例性实施例示出的一种实现上述逻辑条件判定方法的计算机可读存储介质。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
本公开首先提供了一种逻辑条件判定方法。逻辑条件是软件工程开发时常常需要建立的,通过逻辑条件可以进行对象是否具有相应条件的判断,从而可以进行对象的筛选。现有场景下常常需要对大量对象进行复杂逻辑条件的判断,这样需要消耗大量的计算量,导致应用程序响应的时效性较差。而本公开提供的逻辑条件判定方法则可以逻辑条件的判定效率,从而提高应用程序响应的时效性。本公开提供的逻辑条件判定方法可以应用于各种场景下,比如,可以应用于在网络监控或网络安全领域中对不法分子或非法设备的监控,也可以应用于开展网络营销活动时,对活动参与者是否具备相应活动获奖资格的判定。
本公开的实施终端可以是任何具有运算、处理以及通信功能的设备,该设备可以与外部设备相连,用于接收或者发送数据,具体可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施或者服务器集群。
可选地,本公开的实施终端可以为服务器或者云计算的物理基础设施。
图1是根据一示例性实施例示出的一种逻辑条件判定方法的系统架构示意图。如图1所示,该系统架构包括服务器110及智能手机120-150。智能手机120-150均通过有线或者无线通信链路与服务器110相连,因此,智能手机120-150可以向服务器110发送数据,也可以接收来自服务器110的数据。智能手机120-150均安装并运行有消费金融程序的客户端,而服务器110运行与各客户端对应的服务端。服务器110为本实施例中的实施终端。智能手机120-150的用户通过其客户端与服务器110上服务端之间的交互接受服务器110提供的消费金融服务,借助该消费金融服务,用户可以先消费后付款;假如服务提供方,即服务器110上服务端的运营方开展了一次使用消费金融服务消费满一定额度返红包活动,智能手机120-150的用户便可以申请参加活动;服务器110上服务端要设定逻辑条件,判断是否要向各用户返红包,该逻辑条件除了包括判断用户是否使用消费金融服务消费的、是否消费满额度之外,还可能要包含其他条件,比如判断用户历史上逾期金额是否小于阈值、用户信用积分是否达标等,这样复杂的逻辑条件判断起来十分消耗计算资源,特别是当要针对大量用户进行逻辑条件的判断时,要消耗大量的计算资源,在开展活动时会出现客户端响应慢的情况。而当采用本公开提供的逻辑条件判定方法时,逻辑条件中一些模块对应的模块运算结果和/或属性对应的属性值会在执行逻辑条件之前计算出来,比如活动开展时间为每月10号至15号,活动参加者有一万人,如果逻辑条件中包括判断用户历史上逾期金额是否小于阈值,而那么计算历史上逾期金额便是一个模块,如果用户逾期数据在每月5号更新,那么可以在每月5号至10号之间,提前针对这一万用户计算出历史上逾期金额,而在10号至15号开展活动期间,直接利用计算出的各用户的历史上逾期金额进行逻辑条件的判断即可,因此,可以减少进行逻辑条件的判断时的计算量,从而可以提高应用程序的响应速度。
值得一提的是,图1仅为本公开的一个实施例,虽然图1实施例中实施终端为服务器,但实际上可以为如前所述的各种终端或设备;虽然在图1实施例中,逻辑条件判定方法应用于商业营销场景之中,但在具体应用时,还可以应用于网络安全等其他场景之下。本公开对此不作任何限定,本公开的保护范围也不应因此而受到任何限制。
图2是根据一示例性实施例示出的一种逻辑条件判定方法的流程图。本实施例可以由服务器执行,该方法用于对应用程序中逻辑条件进行判断,如图2所示,包括以下步骤:
步骤210,将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来。
其中,所述逻辑条件包括至少一个模块和/或至少一个属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与所述逻辑条件中目标模块对应的模块运算结果以及与所述逻辑条件中目标属性对应的属性值不会改变。
本步骤是在执行对逻辑条件的判断步骤之前执行的。
对象是一切事物的虚拟映射,这些事物可以包括人,也可以包括物体甚至抽象的事物。模块是能够独立进行逻辑条件的判断所需的值的计算的功能单元。
比如,对象可以为客户端设备,一个对客户端设备进行判断的逻辑条件可以是判断客户端设备是否为产生异常流量的设备,该逻辑条件具体为:当前连接的IP地址不为目标非法IP地址并且截止至上一周该客户端设备连接的WI-FI个数小于预定数目阈值并且截止至上一周该客户端设备登录的账号个数小于预定数目阈值,满足该逻辑条件可以认为是产生异常流量的设备,那么当前连接的IP地址可以为一个属性对应的属性值,计算截止至上一周该客户端设备连接的WI-FI个数以及计算截止至上一周该客户端设备登录的账号个数可以分别为一个模块,具体WI-FI个数以及账号个数的统计可以在上一周结束后的凌晨,即本周一的凌晨执行。
一个逻辑条件是为用于实现一个特定的逻辑判断的目标而设立的,逻辑条件包括至少一个条件元,各条件元以逻辑符号连接,每一条件元与至少一个模块或属性对应。一个逻辑判断的目标比如可以是用于判断一个人是否可以开车,对象即为这个人,逻辑条件中一个条件元比如可以为判断一个人的手指是否至少有三根手指,该条件元对应的属性值则为这个人的实际手指数量;逻辑条件中另一个条件元比如可以为判断一个人的视力是否达标,那么获取一个人的视力即为该条件元对应的模块所实现的功能,获取得到的这个人的实际视力值为模块运算结果,因此,该条件元对应的模块为一个功能模块,可以称为眼睛模块。
比如,年龄>18&手指数量>3可以为用于判断一个人是否可以开车的一个逻辑条件,那么年龄>18和手指>3分别为一个条件元,年龄>18这一条件元对应着年龄这一属性,而手指数量>3这一条件元对应着手指数量这一属性。
在一个实施例中,各模块的功能相互独立且不可分割。
假如M1代表贷款逾期天数在1-29之间,M2代表贷款逾期天数在30-59之间,M3代表贷款逾期天数在60-89之间,那么,根据一笔贷款逾期天数,可以计算出对应的M值,完成这一计算过程的功能可以由一个第一模块来实现,这个第一模块的输入参数为贷款逾期天数,输出为M值。同理,可以根据某人员的编号,基于预先与编号关联的贷款数据,统计得到该人员对应的本月末和上月末的各类型的贷款本金,然后利用下列公式计算对应的M0-M1、M1-M2、M2-M3值,完成这一计算过程的功能也可以由一个第二模块来实现:
其中,上月末C剩余本金为截止上月末未逾期的本金。
实现上述两个计算过程的第一模块和第二模块的功能便是相互独立且不可分割的。
在一个实施例中,所述将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,包括:
在执行对逻辑条件的判断步骤之前,在所述逻辑条件中确定预先指定的模块和/或属性作为目标模块和/或目标属性;
将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来。
在本实施例中,目标模块和/或目标属性是预先指定的,保证了在当前时间至执行对逻辑条件的判断步骤的时刻之间,目标模块对应的模块运算结果以及所述目标属性对应的属性值不会改变和更新。当然,目标模块和/或目标属性可以是在程序架构设计时就确定好的。
在一个实施例中,在将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来之前,所述方法还包括:
将所述逻辑条件划分为条件元,并根据所述条件元对所述逻辑条件进行模块和/或属性的划分。
有的逻辑条件可以只包括模块,有的逻辑条件也可以只包括属性。比如,逻辑条件中条件元可以以逻辑符号连接,可以先识别出逻辑符号,然后依据逻辑符号划分条件元。
在一个实施例中,对所述逻辑条件的判断步骤在每天的繁忙时间段执行,所述将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,包括:
在执行对逻辑条件的判断步骤之前的最后一个空闲时间段,将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来。
比如每天的繁忙时间段为白天的8:00-17:00,通常在这个时间段执行对逻辑条件的判断步骤,而每天的空闲时间段为夜间的17:00-8:00,那么,将在执行对逻辑条件的判断步骤的前一天的17:00至当天的8:00,进行目标模块对应的模块运算结果和/或目标属性对应的属性值的计算。
在本实施例中,通过在执行对逻辑条件的判断步骤之前的最后一个空闲时间段进行模块运算结果和/或属性值的计算,因此,在保证了模块运算结果和/或属性值的准确性的同时,由于利用了空闲时间段的计算资源,因此实现了对计算资源的充分利用。
步骤240,当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
在一个实施例中,当执行对所述逻辑条件的判断步骤时,利用Redis数据库查询和获取数据。
通过利用Redis数据库查询和获取数据来对逻辑条件进行判断,可以进一步提高对逻辑条件的判断效率。
在一个实施例中,在当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断之后,所述方法还包括:
根据判断结果返回相应的内容以进行显示。
比如,在活动营销领域,当逻辑条件为基于用户的属性建立的条件时,判断结果即为该逻辑条件是否成立,返回及要显示的内容可以为用户可参加的活动或者用户获得的奖品信息。
在一个实施例中,所述逻辑条件包括多个模块,在当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断之前,所述方法还包括:
确定所述逻辑条件中相互依赖的模块;
统计各组相互依赖的模块在所述逻辑条件中被判断的频次;
将所述频次大于预定频次阈值的至少一组相互依赖的模块组成模块组;
在执行对逻辑条件的判断步骤之前,将至少一对象与所述模块组对应的模块组运算结果计算出来,生成与所述模块组对应的标签,并将所述标签和所述模块组运算结果绑定,其中,在当执行对所述逻辑条件的判断步骤时,还利用与所述标签绑定的所述模块组运算结果进行判断。
比如,前述实施例中的计算M值对应的模块以及计算M0-M1、M1-M2、M2-M3值的模块便是相互依赖的模块,当被判断的频次足够高时,这两个模块可以组成模块组。
在本实施例中,通过将经常组合在一起使用的模块组成模块组,并对应计算出模块组运算结果,执行对逻辑条件的判断步骤时,调用模块组运算结果即可,无需再次进行计算,从而提高了判断效率。
在一个实施例中,在当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断之后,所述方法还包括:
再次将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,并将计算结果用于下次执行对所述逻辑条件的判断步骤。
目标模块对应的模块运算结果和/或目标属性对应的属性值通常不是始终不变的,本实施例中,对逻辑条件的判断步骤是重复执行的,同时实现了对目标模块对应的模块运算结果和/或与逻辑条件中目标属性对应的属性值的更新,使得在下次执行对逻辑条件的判断步骤时,可以基于正确的模块运算结果和属性值进行计算。
图3是根据图2实施例示出的一实施例的步骤240之前步骤以及步骤240的细节的流程图。请参见图3,包括以下步骤:
步骤220,确定所述逻辑条件包括的模块和/或属性的对象数据筛选范围大小。
所述对象数据筛选范围为经过对该模块或属性的判断后,不再需要对相应对象执行逻辑条件的判断步骤的对象的数量或比例。
对象数据筛选范围可以是在一个周期内对对象数据进行统计而得到的,对象数据筛选范围也可以是预先指定的经验数据。
比如,要判断的逻辑条件用于判断一个人是否可以开车,对象为人,一共10个人,年龄和手指根数为逻辑条件包括的属性,假如在10个人中,年龄达到18岁的人为9个,手指根数达到3的人为6个,那么若先判断年龄会将1个人筛选掉,而先判断手指根数会将4个人筛选掉,经过对手指根数的判断后,不再需要对这4个人执行逻辑条件的判断步骤,因此,若先判断手指根数会更快地减少要判断的次数,那么,手指根数这一属性的对象数据筛选范围更大。
步骤230,根据所述对象数据筛选范围大小对所述逻辑条件包括的模块和/或属性的判断顺序进行排序。
比如,可以按照对象数据筛选范围大小从大到小的顺序对逻辑条件包括的模块和/或属性的判断顺序进行排序,这样可以迅速提高对逻辑条件的判断效率。
在一个实施例中,在根据所述对象数据筛选范围大小对所述逻辑条件包括的模块和/或属性的判断顺序进行排序之前,所述方法还包括:
获取预先定义的所述逻辑条件包括的模块和/或属性的重要程度值;
所述根据所述对象数据筛选范围大小对所述逻辑条件包括的模块和/或属性的判断顺序进行排序,包括:
根据所述对象数据筛选范围大小和所述重要程度值对所述逻辑条件包括的模块和/或属性的判断顺序进行排序。
在本实施例中,对模块和/或属性的判断顺序不仅根据对象数据筛选范围大小来确定,还基于重要程度值确定,使得在提高响应效率的同时,保证重要的模块和/或属性可以得到判断。
在一个实施例中,所述根据所述对象数据筛选范围大小和所述重要程度值对所述逻辑条件包括的模块和/或属性的判断顺序进行排序,包括:
根据所述逻辑条件包括的模块和/或属性的对象数据筛选范围大小,确定所述逻辑条件包括的模块和/或属性的对象数据筛选范围优先级;
根据所述逻辑条件包括的模块和/或属性的重要程度值,确定所述逻辑条件包括的模块和/或属性的重要程度优先级;
根据所述逻辑条件包括的模块和/或属性的所述对象数据筛选范围优先级和所述重要程度优先级的组合关系,对所述逻辑条件包括的模块和/或属性的判断顺序进行排序。
比如,逻辑条件包括的模块和/或属性的判断顺序对应的对象数据筛选范围优先级和重要程度优先级的组合关系从前至后可以依次为“范围大,重要程度高”、“范围大,重要程度中”、“范围中,重要程度高”、“范围大,重要程度低”、“范围中,重要程度中”、“范围小,重要程度高”、“范围中,重要程度低”、“范围小,重要程度中”、“范围小,重要程度低”。
步骤240',当执行对所述逻辑条件的判断步骤时,按照所述排序并利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
在本实施例中,还按照基于对象数据筛选范围大小建立的对模块和/或属性的判断顺序的排序进行逻辑条件的判断,从而可以大大降低进行逻辑条件的判断时的实际判断次数,从而可以提高响应效率。
在一个实施例中,所述当执行对所述逻辑条件的判断步骤时,按照所述排序并利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断,包括:
当执行对所述逻辑条件的判断步骤时,利用预先训练的机器学习模型按照所述排序并利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值对所述逻辑条件的至少一部分进行判断。
此处的机器学习模型可以利用监督学习或者非监督学习的方式进行训练,可以是决策树等常规机器学习模型,也可以是神经网络模型、深度学习模型等。
在本实施例中,通常利用预先训练的机器学习模型对逻辑条件的一部分进行判断即可得出判断结果,因此减少了进行逻辑条件的判断时的计算次数,在一定程度上进一步提高了逻辑条件的判断的效率,从而提高了响应效率。
综上所述,根据图2实施例提供的逻辑条件判定方法,通过在执行对逻辑条件的判断步骤之前,将至执行判断步骤时不会改变的至少一部分模块运算结果和目标属性对应的属性值计算出来,这部分模块运算结果和属性值在进行逻辑条件的判断时无需再次计算,因此,减少了进行逻辑条件的判断时的计算量,可以提高应用程序的响应速度,从而满足用户的时效性要求。
本公开还提供了一种逻辑条件判定装置,所述装置用于对应用程序中逻辑条件进行判断,以下是本公开的装置实施例。
图4是根据一示例性实施例示出的一种逻辑条件判定装置的框图。如图4所示,该装置400包括:
计算模块410,被配置为将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,其中,所述逻辑条件包括至少一个模块和/或至少一个属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与所述逻辑条件中目标模块对应的模块运算结果以及与所述逻辑条件中目标属性对应的属性值不会改变;
判断模块420,被配置为当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
根据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本发明的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(ROM)523。存储单元520还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备500也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行,比如与显示单元540通信。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
根据本公开的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行本说明书上述的方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种逻辑条件判定方法,其特征在于,所述方法用于对应用程序中逻辑条件进行判断,所述方法包括:
将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,其中,所述逻辑条件包括至少一个模块和/或至少一个属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与所述逻辑条件中目标模块对应的模块运算结果以及与所述逻辑条件中目标属性对应的属性值不会改变;
当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
2.根据权利要求1所述的方法,其特征在于,在将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来之前,所述方法还包括:
将所述逻辑条件划分为条件元,并根据所述条件元对所述逻辑条件进行模块和/或属性的划分。
3.根据权利要求1所述的方法,其特征在于,在当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断之后,所述方法还包括:
再次将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,并将计算结果用于下次执行对所述逻辑条件的判断步骤。
4.根据权利要求1所述的方法,其特征在于,在当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断之前,所述方法还包括:
确定所述逻辑条件包括的模块和/或属性的对象数据筛选范围大小,所述对象数据筛选范围为经过对该模块或属性的判断后,不再需要对相应对象执行逻辑条件的判断步骤的对象的数量或比例;
根据所述对象数据筛选范围大小对所述逻辑条件包括的模块和/或属性的判断顺序进行排序;
所述当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断,包括:
当执行对所述逻辑条件的判断步骤时,按照所述排序并利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
5.根据权利要求4所述的方法,其特征在于,在根据所述对象数据筛选范围大小对所述逻辑条件包括的模块和/或属性的判断顺序进行排序之前,所述方法还包括:
获取预先定义的所述逻辑条件包括的模块和/或属性的重要程度值;
所述根据所述对象数据筛选范围大小对所述逻辑条件包括的模块和/或属性的判断顺序进行排序,包括:
根据所述对象数据筛选范围大小和所述重要程度值对所述逻辑条件包括的模块和/或属性的判断顺序进行排序。
6.根据权利要求5所述的方法,其特征在于,所述当执行对所述逻辑条件的判断步骤时,按照所述排序并利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断,包括:
当执行对所述逻辑条件的判断步骤时,利用预先训练的机器学习模型按照所述排序并利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值对所述逻辑条件的至少一部分进行判断。
7.根据权利要求1-6任一项所述的方法,其特征在于,对所述逻辑条件的判断步骤在每天的繁忙时间段执行,所述将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,包括:
在执行对逻辑条件的判断步骤之前的最后一个空闲时间段,将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来。
8.一种逻辑条件判定装置,其特征在于,所述装置用于对应用程序中逻辑条件进行判断,所述装置包括:
计算模块,被配置为将至少一对象与所述逻辑条件中目标模块对应的模块运算结果和/或与所述逻辑条件中目标属性对应的属性值计算出来,其中,所述逻辑条件包括至少一个模块和/或至少一个属性,在执行对逻辑条件的判断步骤之前,所述至少一对象与所述逻辑条件中目标模块对应的模块运算结果以及与所述逻辑条件中目标属性对应的属性值不会改变;
判断模块,被配置为当执行对所述逻辑条件的判断步骤时,利用已计算出的至少一对象与所述目标模块对应的模块运算结果和/或与所述目标属性对应的属性值进行判断。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行根据权利要求1至7中任一项所述的方法。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496385.7A CN112613976A (zh) | 2020-12-17 | 2020-12-17 | 逻辑条件判定方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496385.7A CN112613976A (zh) | 2020-12-17 | 2020-12-17 | 逻辑条件判定方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112613976A true CN112613976A (zh) | 2021-04-06 |
Family
ID=75240181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011496385.7A Pending CN112613976A (zh) | 2020-12-17 | 2020-12-17 | 逻辑条件判定方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112613976A (zh) |
-
2020
- 2020-12-17 CN CN202011496385.7A patent/CN112613976A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110349009B (zh) | 一种多头借贷违约预测方法、装置和电子设备 | |
WO2015055067A1 (en) | Method and apparatus for pushing messages | |
CN110807649A (zh) | 一种金融产品的邀请奖励方法和系统 | |
CN110807650A (zh) | 一种金融产品新用户邀请方法和系统 | |
CN111340240A (zh) | 实现自动机器学习的方法及装置 | |
US11551120B2 (en) | Systems and methods for predicting performance | |
CN113688923A (zh) | 订单异常智能检测方法、装置、电子设备及存储介质 | |
CN114140947A (zh) | 界面展示方法、装置、电子设备、存储介质和程序产品 | |
CN112988727A (zh) | 数据标注方法、装置、设备、存储介质及计算机程序产品 | |
CN109543940A (zh) | 活动评估方法、装置、电子设备及存储介质 | |
CN111598360A (zh) | 服务策略确定方法、装置及电子设备 | |
CN114860742A (zh) | 基于人工智能的ai客服交互方法、装置、设备及介质 | |
CN112966756A (zh) | 一种可视化的准入规则的生成方法、装置、机器可读介质及设备 | |
CN116795818A (zh) | 数据仓库提炼优化方法、装置、设备及其存储介质 | |
CN112613976A (zh) | 逻辑条件判定方法、装置、介质及电子设备 | |
CN111951011B (zh) | 监控系统阈值确定方法及装置 | |
CN114723455A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN108428174A (zh) | 交易资金预警方法、服务器及存储介质 | |
US20210271925A1 (en) | Contact Center Call Volume Prediction | |
CN113590243A (zh) | 能源企业项目创建方法、装置、计算机设备及介质 | |
CN108510071B (zh) | 数据的特征提取方法、装置及计算机可读存储介质 | |
CN112613955A (zh) | 订单处理方法、装置、电子设备及存储介质 | |
CN111143328A (zh) | 一种敏捷商业智能数据构建方法、系统、设备、存储介质 | |
EP4089592A1 (en) | Method for determining annotation capability information, related apparatus and computer program product | |
US20240004711A1 (en) | Dynamically adjusting resource allocation |
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 |