CN116560665B - 数据生成和处理的方法和装置、***营销规则引擎*** - Google Patents
数据生成和处理的方法和装置、***营销规则引擎*** Download PDFInfo
- Publication number
- CN116560665B CN116560665B CN202310814052.1A CN202310814052A CN116560665B CN 116560665 B CN116560665 B CN 116560665B CN 202310814052 A CN202310814052 A CN 202310814052A CN 116560665 B CN116560665 B CN 116560665B
- Authority
- CN
- China
- Prior art keywords
- expression
- rule
- target
- data
- condition
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 title claims abstract description 50
- 230000014509 gene expression Effects 0.000 claims abstract description 306
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000001514 detection method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000003672 processing method Methods 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 230000006399 behavior Effects 0.000 description 50
- 238000011161 development Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241000282414 Homo sapiens Species 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
- 230000000694 effects Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- 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/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本公开的实施例公开了数据生成和处理的方法和装置、***营销规则引擎***。该数据生成方法的一具体实施方式包括:从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据;对候选规则条件、候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据;根据目标规则条件生成条件表达式,根据目标对象行为数据生成对象表达式,以及对条件表达式、对象表达式分别进行检测;响应于条件表达式和对象表达式检测通过,根据条件表达式和对象表达式,生成任务数据。该实施方式与应用优化技术有关,采用简单配置的方式可以实现规则条件的配置设置,从而减少或避免重复编码,提升规则数据的生成效率和可扩展性。
Description
技术领域
本公开的实施例涉及应用优化技术领域,具体涉及数据生成和处理的方法和装置、***营销规则引擎***。
背景技术
在实际业务经营期间,往往时常需要在某一个特定时间内,针对某一个特定客群进行营销业务,促进该特定客群的用户完成特定的动作。例如,银行开展***推广。然而,发明人发现,每一次活动,开发人员一般都要重新编写营销业务的特定客群的筛选条件代码,以及特定客群的用户完成特定的动作的判断条件代码。这些筛选条件代码和判断条件代码通常具有很多相同或相似处。这就导致开发人员重复编码,浪费开发资源和开发时长。
该背景技术部分中所公开的以上信息仅用于增强对本发明构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了数据生成方法、数据生成装置、数据处理方法、数据处理装置、用于***营销的规则引擎***(任务对象筛选***)、电子设备、计算机可读介质和计算机程序产品,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种数据生成方法,包括:从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据;对候选规则条件、候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据;根据目标规则条件生成条件表达式,根据目标对象行为数据生成对象表达式,以及对条件表达式、对象表达式分别进行检测;响应于条件表达式和对象表达式检测通过,根据条件表达式和对象表达式,生成任务数据。
在一些实施例中,对条件表达式进行检测,包括:对条件表达式进行语法检查。
在一些实施例中,对条件表达式进行语法检查,包括:对条件表达式进行截断处理,得到条件标识集合;确定条件标识集合中的各条件标识的类型,其中,条件标识的类型包括以下至少一种:操作符,操作数和括号;根据各条件标识的类型,对截断后的条件表达式进行语法校验。
在一些实施例中,对条件表达式进行语法检查,还包括:确定在规则条件集中,是否存在条件标识集合中的各条件标识。
在一些实施例中,根据目标规则条件生成条件表达式,包括:响应于存在多条目标规则条件,根据表达式配置,生成表征各目标规则条件之间关系的中缀条件表达式,其中,关系包括以下至少一项:或,与和非。
第二方面,本公开的一些实施例提供了一种数据生成装置,包括:选取单元,被配置成从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据;参数配置单元,被配置成对候选规则条件、候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据;表达式检测单元,被配置成根据目标规则条件生成条件表达式,根据目标对象行为数据生成对象表达式,以及对条件表达式、对象表达式分别进行检测;生成单元,被配置成响应于条件表达式和对象表达式检测通过,根据条件表达式和对象表达式,生成任务数据。
在一些实施例中,表达式检测单元进一步被配置成对条件表达式进行语法检查。
在一些实施例中,表达式检测单元还进一步被配置成对条件表达式进行截断处理,得到条件标识集合;确定条件标识集合中的各条件标识的类型,其中,条件标识的类型包括以下至少一种:操作符,操作数和括号;根据各条件标识的类型,对截断后的条件表达式进行语法校验。
在一些实施例中,表达式检测单元还进一步被配置成确定在规则条件集中,是否存在条件标识集合中的各条件标识。
在一些实施例中,表达式检测单元进一步被配置成响应于存在多条目标规则条件,根据表达式配置,生成表征各目标规则条件之间关系的中缀条件表达式,其中,关系包括以下至少一项:或,与和非。
第三方面,本公开的一些实施例提供了一种数据处理方法,包括:响应于检测到对象行为符合目标对象表达式,获取对象的属性信息,以及确定目标对象表达式对应的目标任务数据,其中,目标任务数据采用上述第一方面中,任一实现方式所描述的数据生成方法生成;获取目标任务数据中的目标条件表达式;根据属性信息和目标条件表达式,确定对象是否为目标任务数据所指示的目标对象。
在一些实施例中,确定对象是否为目标任务数据所指示的目标对象,包括:响应于目标条件表达式为中缀表达式,将目标条件表达式转换为后缀表达式;通过规则处理类,将属性信息和后缀表达式转换为表达式语言MVEL表达式,并进行数据比较;根据两者的比较结果确定对象是否为目标对象。
在一些实施例中,将目标条件表达式转换为后缀表达式,包括:对目标条件表达式进行截断处理,得到中缀表达式元素集合;顺序遍历中缀表达式元素集合中的元素,根据元素的类型进行转换处理,得到后缀表达式元素集合;将后缀表达式元素集合,封装成规则条件元素集合。
在一些实施例中,通过规则处理类,将属性信息和后缀表达式转换为表达式语言MVEL表达式,并进行数据比较,包括:对于规则条件元素集合中的元素,响应于该元素为操作数,从规则条件事实集合中查找到该元素对应的规则条件事实实体,放入预先创建的规则事实栈中;响应于该元素为操作符,从规则事实栈中出栈两个规则条件事实实体,基于操作符所指示的关系,将两个规则条件事实实体中的至少一个规则条件事实实体,与属性信息通过规则处理类进行转换和数据比较,将比较结果封装成预设规则条件事实实体,及放入规则事实栈中。
在一些实施例中,该方法还包括:响应于确定对象为目标对象,向对象推送目标任务数据所指示的任务信息。
第四方面,本公开的一些实施例提供了一种数据处理装置,包括:对象信息获取单元,被配置成响应于检测到对象行为符合目标对象表达式,获取对象的属性信息,以及确定目标对象表达式对应的目标任务数据,其中,目标任务数据采用上述第一方面中,任一实现方式所描述的数据生成方法生成;表达式获取单元,被配置成获取目标任务数据中的目标条件表达式;对象确定单元,被配置成根据属性信息和目标条件表达式,确定对象是否为目标任务数据所指示的目标对象。
在一些实施例中,对象确定单元包括:转换子单元,被配置成响应于目标条件表达式为中缀表达式,将目标条件表达式转换为后缀表达式;比较子单元,被配置成通过规则处理类,将属性信息和后缀表达式转换为表达式语言MVEL表达式,并进行数据比较;确定子单元,被配置成根据两者的比较结果确定对象是否为目标对象。
在一些实施例中,转换子单元进一步被配置成对目标条件表达式进行截断处理,得到中缀表达式元素集合;顺序遍历中缀表达式元素集合中的元素,根据元素的类型进行转换处理,得到后缀表达式元素集合;将后缀表达式元素集合,封装成规则条件元素集合。
在一些实施例中,比较子单元进一步被配置成对于规则条件元素集合中的元素,响应于该元素为操作数,从规则条件事实集合中查找到该元素对应的规则条件事实实体,放入预先创建的规则事实栈中;响应于该元素为操作符,从规则事实栈中出栈两个规则条件事实实体,基于操作符所指示的关系,将两个规则条件事实实体中的至少一个规则条件事实实体,与属性信息通过规则处理类进行转换和数据比较,将比较结果封装成预设规则条件事实实体,及放入规则事实栈中。
在一些实施例中,该数据处理装置还包括推送单元,被配置成响应于确定对象为目标对象,向对象推送目标任务数据所指示的任务信息。
第五方面,本公开的一些实施例提供了一种用于***营销的规则引擎***,包括:第一设备,被配置成采用上述第一方面中任一实现方式所描述的数据生成方法,生成任务数据,以及将任务数据发送给第二设备;第二设备,被配置成响应于接收到任务数据,采用上述第三方面中任一实现方式所描述的数据处理方法,筛选符合任务数据的对象。
第六方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面或第三方面中任一实现方式所描述的方法。
第七方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述第一方面或第三方面中任一实现方式所描述的方法。
第八方面,本公开的一些实施例提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述第一方面或第三方面中任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:本公开的一些实施例的数据生成方法有助于提高规则数据的生成效率。具体来说,相关规则引擎使用文件配置或代码配置的方式,通常需要开发人员熟悉相关程序语言表达。然而,条件表达式配置往往复杂不易理解,且无功能配置页面。另外,由于营销业务的灵活、多变、及时响应等因素影响,造成业务极难抽象。这些会导致开发人员重复编码,影响开发效率,浪费开发资源。
基于此,本公开的数据生成方法使用高内聚低耦合的思想,抽象普遍的营销规则配置逻辑,使用模板方法的设计模式,采用简单配置的方式实现营销规则配置功能。这样,开发人员可以从规则条件集和对象行为数据集中,来选取候选数据并进行配置,从而得到所需的条件表达式和对象表达式。这样可以减少或避免重复编码的情况,有助于缩短开发时长,保证任务数据生成的时效性。另外,采用规则选取和配置修改的方式,可以提升规则数据的扩展性,进而提高数据利用率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是本公开的数据生成方法的一些实施例的流程图;
图2是本公开的数据生成装置的一些实施例的结构示意图;
图3是本公开的数据处理方法的一些实施例的流程图;
图4是本公开的数据处理方法的一些应用场景示意图;
图5是本公开的数据处理装置的一些实施例的结构示意图;
图6是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
图1示出了根据本公开的数据生成方法的一些实施例的流程100。该方法包括以下步骤:
步骤101,从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据。
在一些实施例中,数据生成方法的执行主体(例如图4中所示的服务器),可以通过有线连接方式或无线连接方式,来接收各种信息,如开发人员对活动任务的规则配置操作。在一些实施例中,执行主体可以向开发人员提供配置页面。这样,通过配置页面可以进行筛选条件配置和行为条件配置。
在这里,执行主体可以根据开发人员的操作,来从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据。作为示例,上述配置页面中可以设置有规则条件集和对象行为数据集的显示区域,以供开发人员选取。这样,执行主体可以将选取操作所指示的规则条件确定为候选规则条件,以及可以将选取操作所指示的对象行为数据确定为候选对象行为数据。
可以理解的是,选取操作的方式在这里并不限制,如可以是直接拖拽或选中,也可以是通过输入相应的标识(如编号或名称)来选取。
在一些实施例中,执行主体可以通过数据库规则条件字典服务类(如Rule LabelService),来获取可用规则条件字典树。实现上可以使用启用状态和规则大类两个参数,来查询数据库,从而得到可用规则条件字典树。可选地,上述配置页面也可以使用json(JavaScript Object Notation,一种轻量级的数据交换格式)文件格式,自定义自己的语法格式。
步骤102,对候选规则条件、候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据。
在一些实施例中,执行主体可以根据研发人员的操作,对候选规则条件进行参数配置,从而得到目标规则条件;以及可以对候选对象行为数据进行参数配置,得到目标对象行为数据。作为示例,上述配置页面中还可以设置有参数配置区域。这样,开发人员可以在该区域输入相应的参数值,来实现目标规则条件和目标对象行为数据的配置设置。
需要说明的是,这里的输入方式同样不限制,如可以手动输入、语音输入、候选参数选取等任意一种。另外,上述参数配置可以包括但不限于参数类型和/或参数属性值的配置。其中,参数类型包括以下至少一种:数值类型、日期类型、字符类型等等。
可以理解的是,通过配置页面可以提供简单易操作的配置菜单,使用模板方法的设计模式,这样通过简单配置方式便可以实现规则配置。从而能够减少或避免开发人员重复编码,提升规则数据的扩展性,也有助于提高开发效率。
步骤103,根据目标规则条件生成条件表达式,根据目标对象行为数据生成对象表达式,以及对条件表达式、对象表达式分别进行检测。
在一些实施例中,执行主体可以根据目标规则条件生成条件表达式,以及根据目标对象行为数据生成对象表达式。并且可以对生成的条件表达式、对象表达式分别进行检测。也就是说,执行主体可以将开发人员配置好的目标规则条件、目标对象行为数据,分别生成预设格式的条件表达式和对象表达式。这样,后续执行主体可以读取条件表达式和对象表达式,以进行对象筛选和对象行为判断。这里的预设格式同样可以根据实际情况进行设置,如表达语言、表达方式语法等。例如可以采用自定义中缀表达式语法,如ruleCondition的表达式。
在一些实施例中,通常情况下,目标规则条件会存在多条,而目标对象行为数据也可能会存在多条。此时,若存在多条目标规则条件,执行主体可以根据表达式配置,来生成表征各目标规则条件之间关系的中缀条件表达式。其中,关系可以包括以下至少一项:或,与和非。同样的,若存在多条目标对象行为数据,执行主体同样可以根据表达式配置,来生成表征各目标对象行为数据之间关系的中缀对象表达式。
可以理解的是,目前常用的条件代码处理使用的是如Drools(用 Java 语言编写的开放源码规则引擎)、OpenLTablets(基于Excel文档中显示的表的业务规则管理***)等规则引擎。其规则配置往往需要有一定的开发知识背景。一般条件表达式配置复杂不易理解,且无功能配置页面,通常需要使用文件配置或代码配置。然而,这些方式通常会使得开发人员消耗过多的时间,去修改规则配置或编写规则代码。因为想要修改配置规则文件,必须要熟悉MVEL(一个功能强大的基于Java应用程序的表达式语言)表达式。条件表达式配置复杂不易理解,对操作人员有较高的学习成本。如果使用编码配置的方式,则付出的开发成本更高。
而在本公开的实施例中,中缀表达式更加接近人类自然语言的表达方式,可以便于开发人员理解,尤其对于无开发知识的人员。与常用方法相比较,可以有助于缩短修改配置时长,从而有利于提高开发效率。
在一些实施例中,执行主体可以按照预设方法,来对上述表达式进行检测。在这里,检测方法和检测内容并不限制。如可以采用现有的程序语言检测工具,对表达式格式、语法等进行检测。
可选地,执行主体也可以按照以下方法,对条件表达式、对象表达式进行语法检查。具体地,首先,执行主体可以对条件表达式进行截断处理,得到条件标识集合。接着,可以确定条件标识集合中的各条件标识的类型。其中,条件标识的类型可以包括以下至少一种:操作符,操作数和括号。之后,根据各条件标识的类型,执行主体可以对截断后的条件表达式进行语法校验。
在一些实施例中,在确定条件标识类型之前,执行主体还可以确定在规则条件集中,是否存在条件标识集合中的各条件标识。
作为示例,执行主体可以通过定义规则语法处理工具类(如Rule Formula Util)来实现上述检测过程。其中:
1.1利用String check Expression,来确定分割后的中缀表达式是否符合语法校验。在实现上:逻辑符号不能单独存在,逻辑符号左右要有操作数;括号要成对出现,左括号在前,右括号在后。
1.2利用booleanisOperator判断元素对象(字符串)是否为操作符。在实现上:判断“与”,“或”,“非”是操作符。
1.3利用booleanisCondition判断元素对象是否为规则条件。在实现上:判断不是括号和“与”,“或”,“非”,就是规则条件。
1.4利用String paramCheck进行规则参数检查。在实现上:取营销活动任务的规则条件集合调用1.5接口。
1.5利用String checkConditions进行规则条件集合检查。在实现上:规则条件集合对象(conditions)不空则遍历规则条件key。规则条件key在规则条件集合对象中不可重复。取规则条件事实勾选的值集合遍历,单勾选值调用1.6接口。
1.6利用String checkOptionValue,根据勾选规则和类型进行勾选参数检查。在实现上:规则条件事实判断,数值类型、日期类型、字符类型,正则判断;特殊值类型走自定义判断;文件类型校验附件存在。
1.7利用String grammarCheck(RuleInfodto)进行新增语法检查,其中,dto表示规则参数。在实现上:取规则参数的条件表达式和规则条件集合调用1.8接口。
1.8利用String grammarCheck(String executeFormula, List<RuleConditionInfo> conditions) 进行语法检查。其中,executeFormula是条件表达式(MVEL的一个表达式执行方法),conditions是规则条件集合。在实现上:第一步,使用executeFormula做入参调用1.12接口。第二步,使用第一步的结果和conditions做入参调用1.9接口。第三步,使用第一步的结果做入参调用1.10接口。第四步,使用第三步的结果调用1.1接口。
1.9利用 String checkFormulaStr检查表达式字符。在实现上:遍历formula StrList(规则条件标识集合,即操作集合),判断规则条件标识是否在conditions中存在。
1.10利用List<FormulaVo>getFormulaVoList (List<String>formulaStrList)进行规则转换。在实现上:遍历formulaStrList,条件规则标识做入参调用1.11接口,封装成元素对象。
1.11利用ExpressionElementTypeEnumgetFormulaType(String formula) 获取操作符类型,其中,formula是操作(条件标识)符号。在实现上:判断formula是操作符、操作数、括号中一种。
1.12利用List<String>getFormulaStrList(String executeFormula) 表达式截断。在实现上:条件表达式间隔符号,分割executeFormula变成规则条件标识集合。
1.13List<String>getJavaFormulaExpression(List<String>formulaStrList)中缀转后缀表达式,其中,formulaStrList是中缀表达式。在实现上:顺序遍历formulaStrList元素,当前元素是操作数入“结果栈”;当前元素是左括号入“符号栈”;当前元素是右括号判断“符号栈”顶元素是否是左括号,不是则将“符号栈”顶元素出栈后入栈到“结果栈”,再判断“符号栈”顶元素是否是左括号,是则将“符号栈”顶元素出栈,继续遍历下个元素;当前元素是操作符,判断“符号栈”元素是否存在(即是否为空),存在(即不为空)则将“符号栈”元素都出栈后入栈到“结果栈”,当前元素入栈到“结果栈”。
步骤104,响应于条件表达式和对象表达式检测通过,根据条件表达式和对象表达式,生成任务数据。
在一些实施例中,基于步骤103的检测结果,若条件表达式和对象表达式检测通过,则执行主体可以根据条件表达式和对象表达式,生成任务数据。例如,任务数据可以包括任务标识和任务规则。其中,任务规则可以包括条件表达式和对象表达式。
在一些应用场景中,对于银行***的营销活动,开发人员可以采用上述数据生成方法进行营销规则配置,投放营销活动任务。其中:
第一,使用数据库规则条件字典服务类接口获取可用规则条件,然后营销客群“规则条件”选定。如条件1,条件2。
第二,规则判定值配置,可能是数值类型、日期类型、字符类型等。
第三,配置“规则条件”事实。若为数值类型,则可以补充规则事实x值,表示当用户是x值时,则规则通过。例如条件1补充规则事实x值,条件2补充规则事实y值。
第四,“规则条件”表达式配置。如配置表达式:条件1 与条件2。即得到条件表达式。
第五,使用1.7接口条件表达式语法合规判断。
第六,营销客群动作规则配置,重复第一至第五补动作。入得到动作1的规则事实w值与动作2的规则事实z值。即得到对象表达式。
第七,投放营销活动,营销规则生效。
通过以上描述可知,本公开的一些实施例的数据生成方法使用高内聚低耦合的思想,抽象普遍的营销规则配置逻辑,使用模板方法的设计模式,采用简单配置的方式实现营销规则配置功能。这样,开发人员可以从规则条件集和对象行为数据集中,来选取候选数据并进行配置,从而得到所需的条件表达式和对象表达式。这样可以减少或避免重复编码的情况,有助于缩短开发时长。另外,采用规则选取和配置修改的方式,可以提升规则数据的扩展性,进而提高数据利用率。
另外,通过本公开实施例的数据生成方法所生成的任务数据,可以快速、准确地筛选出符合对象。从而可以向这些对象(用户终端)推送相应的任务信息。即实现任务信息推送的控制,减少不必要的资源占用。
继续参考图2,作为对上述图1所示的数据生成方法的实现,本公开提供了一种数据生成装置的一些实施例。这些数据生成装置实施例与图1所示的那些方法实施例相对应。该数据生成装置具体可以应用于各种电子设备中。
如图2所示,一些实施例的数据生成装置200可以包括:选取单元201,被配置成从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据;参数配置单元202,被配置成对候选规则条件、候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据;表达式检测单元203,被配置成根据目标规则条件生成条件表达式,根据目标对象行为数据生成对象表达式,以及对条件表达式、对象表达式分别进行检测;生成单元204,被配置成响应于条件表达式和对象表达式检测通过,根据条件表达式和对象表达式,生成任务数据。
在一些实施例中,表达式检测单元203可以进一步被配置成对条件表达式进行语法检查。
在一些实施例中,表达式检测单元203还可以进一步被配置成对条件表达式进行截断处理,得到条件标识集合;确定条件标识集合中的各条件标识的类型,其中,条件标识的类型包括以下至少一种:操作符,操作数和括号;根据各条件标识的类型,对截断后的条件表达式进行语法校验。
在一些实施例中,表达式检测单元203还可以进一步被配置成确定在规则条件集中,是否存在条件标识集合中的各条件标识。
在一些实施例中,表达式检测单元203可以进一步被配置成响应于存在多条目标规则条件,根据表达式配置,生成表征各目标规则条件之间关系的中缀条件表达式,其中,关系包括以下至少一项:或,与和非。
可以理解的是,该数据生成装置200中记载的诸单元与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于数据生成装置200及其中包含的单元,在此不再赘述。
下面参考图3,其示出了根据本公开的数据处理方法的一些实施例的流程300。该方法包括以下步骤:
步骤301,响应于检测到对象行为符合目标对象表达式,获取对象的属性信息,以及确定目标对象表达式对应的目标任务数据。
在一些实施例中,数据处理方法的执行主体(例如图4中所示的服务器),可以通过有线连接方式或无线连接方式,来获取用户对象的行为数据。在这里,若检测到对象行为符合目标对象表达式,则执行主体可以获取该对象的属性信息。这里的属性信息可以是表征对象(用户)属性的信息,账号、性别、年龄等。
另外,执行主体可以确定目标对象表达式对应的目标任务数据。也就是说,执行主体可以将包含目标对象表达式的任务数据,确定为目标任务数据。其中,目标任务数据可以采用上述图1实施例中,任一实现方式所描述的数据生成方法而生成。
步骤302,获取目标任务数据中的目标条件表达式。
在一些实施例中,执行主体可以获取目标任务数据中的目标条件表达式。例如,执行主体可以根据目标任务数据的任务标识,从而查找获取到该目标任务数据的具体数据,进而将其中的条件表达式确定为目标条件表达式。
步骤303,根据属性信息和目标条件表达式,确定对象是否为目标任务数据所指示的目标对象。
在一些实施例中,执行主体可以根据步骤301中的对象的属性信息、步骤302中的目标条件表达式,来确定该对象是否为目标任务数据所指示的目标对象。也就是说,执行主体可以确定属性信息与目标条件表达式是否相匹配。如果匹配,则可以说明该对象为目标对象。即符合目标条件表达式,说明该对象是目标任务数据所要找的对象。
在一些实施例中,若目标条件表达式为中缀表达式,则首先执行主体可以将目标条件表达式转换为后缀表达式。接着,通过规则处理类,可以将属性信息和后缀表达式转换为表达式语言MVEL表达式,并进行数据比较。进而,根据两者的比较结果,可以确定对象是否为目标对象。
需要说明的是,中缀表达式对于研发人员来说更易理解,可读性好。但是对于电子设备来说,后缀表达式的可读性更高。因此,在研发人员进行配置时,可以采用中缀表达。之后,在进行数据处理过程中,执行主体可以将中缀表达转换为后缀表达。另外,与一般的函数计算公式相比较,采用MVEL表达的处理兼容性更强,更接近人类语言的自然表达。这样有助于提高比较结果的准确度。
可选地,首先,执行主体可以对目标条件表达式进行截断处理,从而得到中缀表达式元素集合。接着,可以顺序遍历中缀表达式元素集合中的元素,根据元素的类型进行转换处理,得到后缀表达式元素集合。之后,可以将后缀表达式元素集合,封装成规则条件元素集合。
进一步地,执行主体可以按照以下方法进行数据比较:对于规则条件元素集合中的元素,若该元素为操作数,则可以从规则条件事实集合中查找到该元素对应的规则条件事实实体,放入预先创建的规则事实栈中;若该元素为操作符,则可以从规则事实栈中出栈两个规则条件事实实体,基于操作符所指示的关系,将两个规则条件事实实体中的至少一个规则条件事实实体,与属性信息通过规则处理类进行转换和数据比较,将比较结果封装成预设规则条件事实实体,及放入规则事实栈中。
作为示例,可以通过定义引擎的共性操作行为接口类(JccaRulesEngine),来实现上述数据处理过程。其中:
2.1利用void loadRule()加载所欲实现的规则处理类。在实现上:可以使用spring的@Autowired和@Qualifier注解加载规则实现类,变成map放入静态规则池中。
2.2利用RuleConditionloadRuleConditions加载营销任务规则。在实现上:依据营销任务标识和规则大类,查询任务下的规则条件表达式和规则事实配置。
2.3利用booleanexpressionCalculate进行规则表达式计算。在实现上:
第一步,使用任务规则的ruleCondition的条件表达式做入参,调用图1实施例中1.12接口得到截断表达式。
第二步,使用第一步的结果做入参,调用图1实施例中1.13接口得到后缀表达式。
第三步,使用第二步的结果做入参调用图1实施例中1.10接口得后缀表达式转换对象集合。
第四步,创建“规则事实栈”,然后遍历第三步结果。当前元素是操作数,使用key到规则事实集合中查询到当前操作数对应的规则事实实体,放入“规则事实栈”;当前元素是操作符,“规则事实栈”出栈两个规则事实实体A和B;若当前操作符是“与”时,可以将B规则事实实体和用户事实实体传入规则处理类进行数据比较和转换,向用户事实中增加用户规则事实,使用规则处理类获取该规则的MVEL表达式与用户事实一起使用org.mvel2.MVEL的executeExpression方法进行表达式运行,得到B的结果(是或否);若否可以不执行A规则,若是可以重复上述操作得到A的结果,将A结果B结果做逻辑“与”判断,得到最终结果,封装成默认规则事实实体放入“规则事实栈”,继续遍历下个后缀表达式元素。
可以理解的是,若操作符是“或”,且B的结果为是时,可以不执行A规则;若B的结果为否时,可以继续判断A规则与用户事实的比较结果。
第五步,返回表达式整体结果(是或否)。
2.4利用boolean fire进行营销任务规则处理启动方法。在实现上:第一步,将任务标识和规则大类做为入参,调用2.2接口加载营销任务的规则。第二步,使用第一步的结果和用户事实(属性信息)做入参调用2.3接口。
进一步地,若执行主体确定该对象为目标对象,则可以向该对象推送目标任务数据所指示的任务信息。这里的任务信息可以根据实际任务需求进行设置,如可以为***办理信息。
在一些应用场景中,如图4所示,若用户通过终端完成了特定的动作触发规则校验。则首先,服务器可以得到营销任务标识和规则大类;接着,可以准备用户信息,得到用户事实;之后,可以使用营销任务标识、规则大类、用户事实调用上述2.4接口,得到用户是否通过规则的判断结果;若通过则可以向用户发送任务活动信息。
通过以上描述可知,本公开一些实施例中的方数据处理法,提供了简易操作配置菜单和简单易理解的自定义中缀表达式语法。并且使用规则解析类将中缀表达式通过间隔符号分离元素,以进行规则判断。具体地,先是建立“符号栈”和“结果栈”。使用元素解析类将元素分别标识为操作符、括号、操作数,得到中缀表达式元素集合。接着,顺序遍历中缀表达式元素进行转换,得到后缀表达式元素集合。以及顺序遍历后缀表达式元素集合,封装成规则条件元素对象集合。之后,创建“规则事实栈”,遍历规则条件元素对象集合,使用规则处理类进行数据转换和比较。最后可以得到表达式整体判断结果。
进一步参考图5,作为对上述图3、4所示数据处理方法的实现,本公开提供了一种数据处理装置的一些实施例。这些数据处理装置实施例与图3、4所示的那些方法实施例相对应。该数据处理装置具体可以应用于各种电子设备中。
如图5所示,一些实施例的数据处理装置500可以包括:对象信息获取单元501,被配置成响应于检测到对象行为符合目标对象表达式,获取对象的属性信息,以及确定目标对象表达式对应的目标任务数据,其中,目标任务数据采用上述图1实施例中,任一实现方式所描述的数据生成方法生成;表达式获取单元502,被配置成获取目标任务数据中的目标条件表达式;对象确定单元503,被配置成根据属性信息和目标条件表达式,确定对象是否为目标任务数据所指示的目标对象。
在一些实施例中,对象确定单元503可以包括:转换子单元(图中未示出),被配置成响应于目标条件表达式为中缀表达式,将目标条件表达式转换为后缀表达式;比较子单元(图中未示出),被配置成通过规则处理类,将属性信息和后缀表达式转换为表达式语言MVEL表达式,并进行数据比较;确定子单元(图中未示出),被配置成根据两者的比较结果确定对象是否为目标对象。
在一些实施例中,转换子单元可以进一步被配置成对目标条件表达式进行截断处理,得到中缀表达式元素集合;顺序遍历中缀表达式元素集合中的元素,根据元素的类型进行转换处理,得到后缀表达式元素集合;将后缀表达式元素集合,封装成规则条件元素集合。
在一些实施例中,比较子单元可以进一步被配置成对于规则条件元素集合中的元素,响应于该元素为操作数,从规则条件事实集合中查找到该元素对应的规则条件事实实体,放入预先创建的规则事实栈中;响应于该元素为操作符,从规则事实栈中出栈两个规则条件事实实体,基于操作符所指示的关系,将两个规则条件事实实体中的至少一个规则条件事实实体,与属性信息通过规则处理类进行转换和数据比较,将比较结果封装成预设规则条件事实实体,及放入规则事实栈中。
在一些实施例中,该数据处理装置500还可以包括推送单元(图中未示出),被配置成响应于确定对象为目标对象,向对象推送目标任务数据所指示的任务信息。
可以理解的是,该数据处理装置500中记载的诸单元与参考图3、4描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于数据处理装置500及其中包含的单元,在此不再赘述。
本公开的一些实施例还提供了一种用于***营销的规则引擎***,包括:第一设备,被配置成采用上述图1实施例中任一实现方式所描述的数据生成方法,生成任务数据,以及将任务数据发送给第二设备;第二设备,被配置成响应于接收到任务数据,采用上述图3实施例中任一实现方式所描述的数据处理方法,筛选符合任务数据的对象。
在这里,第一设备和第二设备可以是相互独立的实体设备,也可以是位于同一实体设备(或不同实体设备)中的虚拟服务器等。可以理解的是,通过本公开实施例的用于***营销的规则引擎***,可以准确、有效地筛选出符合的客群,实现***的精准营销。这样有利于增加办理***的人数。
下面参考图6,其示出了适于用来实现本公开的一些实施例的电子设备600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,终端设备600可以包括处理装置601(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有终端设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如扬声器、振动器等的输出装置607;包括例如磁盘、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据;对候选规则条件、候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据;根据目标规则条件生成条件表达式,根据目标对象行为数据生成对象表达式,以及对条件表达式、对象表达式分别进行检测;响应于条件表达式和对象表达式检测通过,根据条件表达式和对象表达式,生成任务数据。
或者,使得该电子设备:响应于检测到对象行为符合目标对象表达式,获取对象的属性信息,以及确定目标对象表达式对应的目标任务数据,其中,目标任务数据采用上述第一方面中,任一实现方式所描述的数据生成方法生成;获取目标任务数据中的目标条件表达式;根据属性信息和目标条件表达式,确定对象是否为目标任务数据所指示的目标对象。
此外,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括选取单元、参数配置单元、表达式检测单元和生成单元;或者包括对象信息获取单元、表达式获取单元和对象确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,选取单元还可以被描述为“从规则条件集中选取候选规则条件的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
本公开的一些实施例还提供一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时,实现上述的任一种数据生成方法,或者数据处理方法。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (13)
1.一种数据生成方法,包括:
从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据;
对所述候选规则条件、所述候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据;
根据所述目标规则条件生成条件表达式,根据所述目标对象行为数据生成对象表达式,以及对所述条件表达式、所述对象表达式分别进行检测;
响应于所述条件表达式和所述对象表达式检测通过,根据所述条件表达式和所述对象表达式,生成任务数据,以用于筛选符合所述任务数据的对象;
其中,筛选过程包括:响应于所述条件表达式为中缀表达式,对所述条件表达式进行截断处理,得到中缀表达式元素集合,顺序遍历所述中缀表达式元素集合中的元素,根据元素的类型进行转换处理,得到后缀表达式元素集合,将所述后缀表达式元素集合,封装成规则条件元素集合;
对于所述规则条件元素集合中的元素,响应于该元素为操作数,从规则条件事实集合中查找到该元素对应的规则条件事实实体,放入预先创建的规则事实栈中;
响应于该元素为操作符,从所述规则事实栈中出栈两个规则条件事实实体,基于操作符所指示的关系,将所述两个规则条件事实实体中的至少一个规则条件事实实体,与符合所述对象表达式的对象的属性信息,通过规则处理类进行转换和数据比较,将比较结果封装成预设规则条件事实实体,及放入所述规则事实栈中;
根据所述条件表达式与所述属性信息的比较结果,确定所述对象是否符合所述任务数据。
2.根据权利要求1所述的数据生成方法,其中,所述对所述条件表达式进行检测,包括:
对所述条件表达式进行语法检查。
3.根据权利要求2所述的数据生成方法,其中,所述对所述条件表达式进行语法检查,包括:
对所述条件表达式进行截断处理,得到条件标识集合;
确定所述条件标识集合中的各条件标识的类型,其中,所述条件标识的类型包括以下至少一种:操作符,操作数和括号;
根据各条件标识的类型,对截断后的所述条件表达式进行语法校验。
4.根据权利要求3所述的数据生成方法,其中,所述对所述条件表达式进行语法检查,还包括:
确定在所述规则条件集中,是否存在所述条件标识集合中的各条件标识。
5.根据权利要求1-4之一所述的数据生成方法,其中,所述根据所述目标规则条件生成条件表达式,包括:
响应于存在多条目标规则条件,根据表达式配置,生成表征各目标规则条件之间关系的中缀条件表达式,其中,所述关系包括以下至少一项:或,与和非。
6.一种数据生成装置,包括:
选取单元,被配置成从规则条件集中选取候选规则条件,以及从对象行为数据集中选取候选对象行为数据;
参数配置单元,被配置成对所述候选规则条件、所述候选对象行为数据分别进行参数配置,得到目标规则条件和目标对象行为数据;
表达式检测单元,被配置成根据所述目标规则条件生成条件表达式,根据所述目标对象行为数据生成对象表达式,以及对所述条件表达式、所述对象表达式分别进行检测;
生成单元,被配置成响应于所述条件表达式和所述对象表达式检测通过,根据所述条件表达式和所述对象表达式,生成任务数据,以用于筛选符合所述任务数据的对象;
其中,筛选过程包括:响应于所述条件表达式为中缀表达式,对所述条件表达式进行截断处理,得到中缀表达式元素集合,顺序遍历所述中缀表达式元素集合中的元素,根据元素的类型进行转换处理,得到后缀表达式元素集合,将所述后缀表达式元素集合,封装成规则条件元素集合;
对于所述规则条件元素集合中的元素,响应于该元素为操作数,从规则条件事实集合中查找到该元素对应的规则条件事实实体,放入预先创建的规则事实栈中;
响应于该元素为操作符,从所述规则事实栈中出栈两个规则条件事实实体,基于操作符所指示的关系,将所述两个规则条件事实实体中的至少一个规则条件事实实体,与符合所述对象表达式的对象的属性信息,通过规则处理类进行转换和数据比较,将比较结果封装成预设规则条件事实实体,及放入所述规则事实栈中;
根据所述条件表达式与所述属性信息的比较结果,确定所述对象是否符合所述任务数据。
7.一种数据处理方法,包括:
响应于检测到对象行为符合目标对象表达式,获取所述对象的属性信息,以及确定所述目标对象表达式对应的目标任务数据,其中,所述目标任务数据采用权利要求1-5之一所述的数据生成方法生成;
获取所述目标任务数据中的目标条件表达式;
根据所述属性信息和所述目标条件表达式,确定所述对象是否为所述目标任务数据所指示的目标对象。
8.根据权利要求7所述的数据处理方法,其中,所述根据所述属性信息和所述目标条件表达式,确定所述对象是否为所述目标任务数据所指示的目标对象,包括:
响应于所述目标条件表达式为中缀表达式,对所述目标条件表达式进行截断处理,得到中缀表达式元素集合,顺序遍历所述中缀表达式元素集合中的元素,根据元素的类型进行转换处理,得到后缀表达式元素集合,将所述后缀表达式元素集合,封装成规则条件元素集合;
对于所述规则条件元素集合中的元素,响应于该元素为操作数,从规则条件事实集合中查找到该元素对应的规则条件事实实体,放入预先创建的规则事实栈中;
响应于该元素为操作符,从所述规则事实栈中出栈两个规则条件事实实体,基于操作符所指示的关系,将所述两个规则条件事实实体中的至少一个规则条件事实实体,与所述属性信息通过规则处理类进行转换和数据比较,将比较结果封装成预设规则条件事实实体,及放入所述规则事实栈中;
根据所述目标条件表达式与所述属性信息的比较结果,确定所述对象是否为目标对象。
9.根据权利要求7或8所述的数据处理方法,其中,所述方法还包括:
响应于确定所述对象为目标对象,向所述对象推送所述目标任务数据所指示的任务信息。
10.一种数据处理装置,包括:
对象信息获取单元,被配置成响应于检测到对象行为符合目标对象表达式,获取所述对象的属性信息,以及确定所述目标对象表达式对应的目标任务数据,其中,所述目标任务数据采用权利要求1-5之一所述的数据生成方法生成;
表达式获取单元,被配置成获取所述目标任务数据中的目标条件表达式;
对象确定单元,被配置成根据所述属性信息和所述目标条件表达式,确定所述对象是否为所述目标任务数据所指示的目标对象。
11.一种用于***营销的规则引擎***,包括:
第一设备,被配置成采用如权利要求1-5之一所述的数据生成方法,生成任务数据,以及将所述任务数据发送给第二设备;
第二设备,被配置成响应于接收到所述任务数据,采用如权利要求7-9之一所述的数据处理方法,筛选符合所述任务数据的对象。
12.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5或7-9中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时,实现如权利要求1-5或7-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310814052.1A CN116560665B (zh) | 2023-07-05 | 2023-07-05 | 数据生成和处理的方法和装置、***营销规则引擎*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310814052.1A CN116560665B (zh) | 2023-07-05 | 2023-07-05 | 数据生成和处理的方法和装置、***营销规则引擎*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116560665A CN116560665A (zh) | 2023-08-08 |
CN116560665B true CN116560665B (zh) | 2023-11-03 |
Family
ID=87496815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310814052.1A Active CN116560665B (zh) | 2023-07-05 | 2023-07-05 | 数据生成和处理的方法和装置、***营销规则引擎*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560665B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107256217A (zh) * | 2017-04-19 | 2017-10-17 | 江苏师范大学 | 一种xml数据的快速查询方法 |
CN107633016A (zh) * | 2017-08-23 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置和电子设备 |
CN107742239A (zh) * | 2017-09-30 | 2018-02-27 | 华为技术有限公司 | 一种条件表达式的配置方法及装置 |
CN116167882A (zh) * | 2023-03-01 | 2023-05-26 | 广州品唯软件有限公司 | 条件表达式动态配置方法、会计条件计算方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094022A1 (en) * | 2005-10-20 | 2007-04-26 | Hahn Koo | Method and device for recognizing human intent |
-
2023
- 2023-07-05 CN CN202310814052.1A patent/CN116560665B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107256217A (zh) * | 2017-04-19 | 2017-10-17 | 江苏师范大学 | 一种xml数据的快速查询方法 |
CN107633016A (zh) * | 2017-08-23 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置和电子设备 |
CN107742239A (zh) * | 2017-09-30 | 2018-02-27 | 华为技术有限公司 | 一种条件表达式的配置方法及装置 |
CN116167882A (zh) * | 2023-03-01 | 2023-05-26 | 广州品唯软件有限公司 | 条件表达式动态配置方法、会计条件计算方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于条件随机场方法的汉语专利文本介词短语识别;李洪政;晋耀红;;现代语文(语言研究版)(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116560665A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842724B2 (en) | Expandable dialogue system | |
CN109710739B (zh) | 一种信息处理方法及装置、存储介质 | |
CN107958059B (zh) | 智能问答方法、装置、终端和计算机可读存储介质 | |
CN111708753A (zh) | 数据库迁移的评估方法、装置、设备及计算机存储介质 | |
CN109992957B (zh) | 模板化计算的方法、装置和*** | |
CN114445047B (zh) | 工作流生成方法、装置、电子设备及存储介质 | |
CN114553784A (zh) | 限流处理方法及装置 | |
CN111079408A (zh) | 一种语种识别方法、装置、设备及存储介质 | |
JP2023036681A (ja) | タスク処理方法、処理装置、電子機器、記憶媒体及びコンピュータプログラム | |
CN113778864A (zh) | 一种测试用例的生成方法和装置、电子设备和存储介质 | |
WO2023216857A1 (en) | Multi-agent chatbot with multi-intent recognition | |
CN116560665B (zh) | 数据生成和处理的方法和装置、***营销规则引擎*** | |
CN110489124B (zh) | 源代码执行方法、装置、存储介质及计算机设备 | |
CN116149632A (zh) | 业务逻辑定制方法和装置、计算机设备、存储介质 | |
CN111752644A (zh) | 接口模拟方法、装置、设备及存储介质 | |
CN109376220B (zh) | 用于获取信息的方法和装置 | |
CN110865818B (zh) | 应用关联域名的检测方法、装置及电子设备 | |
CN112765022B (zh) | 一种基于数据流的Webshell静态检测方法及电子设备 | |
US11966562B2 (en) | Generating natural languages interface from graphic user interfaces | |
CN111151008B (zh) | 游戏运营数据的校验方法、装置、配置后台及介质 | |
CN115168393A (zh) | 一种表格问答方法及装置 | |
CN114065197A (zh) | 调用序列生成方法、装置、电子设备、存储介质及产品 | |
CN111753548A (zh) | 信息获取方法及装置、计算机存储介质、电子设备 | |
CN112230895A (zh) | 一种el表达式解析方法、装置、设备及存储介质 | |
CN111131354A (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 |