CN111897807A - 一种数据处理方法以及策略引擎系统 - Google Patents
一种数据处理方法以及策略引擎系统 Download PDFInfo
- Publication number
- CN111897807A CN111897807A CN202010627111.0A CN202010627111A CN111897807A CN 111897807 A CN111897807 A CN 111897807A CN 202010627111 A CN202010627111 A CN 202010627111A CN 111897807 A CN111897807 A CN 111897807A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- strategy
- policy
- index
- 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
- 238000003672 processing method Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims abstract description 125
- 238000012545 processing Methods 0.000 claims description 14
- 239000000126 substance Substances 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 70
- 238000013461 design Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法以及策略引擎系统,通过使用该方法,在策略调用过程中,策略引擎首先基于来自策略调用方的策略调用信息,获取目标策略数据,然后获得该目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,最后输出该目标结果数据。在该过程中,策略调用方在调用策略引擎时,由策略引擎获得欲执行目标策略数据所需的缺失数据对象,并基于该缺失数据对象执行目标策略数据,该过程无需策略调用方提供策略数据所依赖的基础数据,使得策略引擎调用过程具有易用性和通用性,并且使得策略调用过程更加便捷高效。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种数据处理方法。本申请同时涉及一种策略引擎系统、一种数据处理装置、一种电子设备以及一种计算机可读取存储介质。
背景技术
在网络平台的应用实现过程中,数据部门需向应用部门提供数据,应用部门除了需要具有应用逻辑、且满足预定应用规则的策略数据外,还需要基础数据(例如,统计数据),应用部门可基于上述基础数据和策略数据实现相关应用。在网络购物领域,常见的应用类型为:针对满足预设条件的用户发放电子券、在准实时场景或离线场景下对系统中满足预定规则的用户进行提醒、促销等应用处理。例如,用户点击按钮“参加某项活动”,通过预先定义的策略数据对该用户的背景信息进行验证,以确定该用户是否具备活动参与资格。
上述应用处理过程可通过调用策略引擎实现,例如,网络平台预先定义一套策略定义语言以及负责执行该语言的策略引擎,策略调用方(应用部门)通过如下方式进行策略调用,以获取其所需的结果数据:通过策略定义语言定义策略数据(例如,策略表达式),获取欲执行上述策略数据所依赖的基础数据,基于上述策略数据和基础数据调用策略引擎,获得结果数据。
然而,由于预设活动及其对应的策略数据的变化频率较高,为了高效便捷地支撑应用部门的需求,上述方式存在以下问题:
策略调用方在进行策略调用时,需提供策略数据所依赖的基础数据,使得策略调用过程具有一定门槛,增加了策略调用过程的复杂度,影响策略调用过程的易用性和通用性。
发明内容
本申请实施例提供一种数据处理方法、装置、电子设备、计算机可读存储介质、以及一种策略引擎系统,以解决现有的策略调用过程中因提供策略数据所依赖的基础数据而增加策略调用过程的复杂度、影响策略调用过程的易用性和通用性的问题。
本申请实施例提供一种数据处理方法,包括:基于策略调用信息,获取目标策略数据;获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据;输出目标结果数据。
可选的,所述目标策略数据包括多个策略因子;所述获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据。
可选的,所述获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据,包括:获得所述多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于所述第一子缺失数据对象执行所述第一待执行策略因子,获得第一结果数据;判断所述第一结果数据是否为目标结果数据;如果所述第一结果数据不是目标结果数据,则获得所述多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于所述第二子缺失数据对象执行所述第二待执行策略因子,获得第二结果数据;以此类推,直至获得所述目标结果数据。
可选的,所述获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,包括:根据所述待执行策略因子,确定所述待执行策略因子对应的目标数据指标;获得所述目标数据指标对应的目标数据对象,并将所述目标数据对象确定为所述待执行策略因子对应的子缺失数据对象。
可选的,还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;所述获得所述目标数据指标对应的目标数据对象,包括:根据所述目标数据指标,读取预先加载至内存的所述目标数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得所述目标数据指标对应的目标数据对象。
可选的,还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;所述获得所述目标数据指标对应的目标数据对象,包括:根据所述目标数据指标,读取预先加载至内存的所述目标数据指标对应的目标数据对象。
可选的,所述目标策略数据包括多个策略因子;所述获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:获得所述多个策略因子对应的全量缺失数据对象;基于所述全量缺失数据对象对所述多个策略因子进行迭代执行,获得所述目标结果数据。
可选的,所述获得所述多个策略因子对应的全量缺失数据对象,包括:根据所述多个策略因子,确定所述多个策略因子对应的全量数据指标;获得所述全量数据指标对应的全量数据对象,并将所述全量数据对象确定为所述多个策略因子对应的全量缺失数据对象。
可选的,还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;所述获得所述全量数据指标对应的全量数据对象,包括:根据所述全量数据指标,读取预先加载至内存的所述全量数据指标的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象。
可选的,还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;所述获得所述全量数据指标对应的全量数据对象,包括:根据所述数据指标,读取预先加载至内存的所述全量数据指标对应的全量数据对象。
可选的,所述指标配置信息包括如下中的至少一种:所述数据指标所对应数据对象的网络地址信息;所述数据指标所对应数据对象的获取策略信息;所述数据指标所对应数据对象的内容标识信息。
可选的,还包括:从策略仓库中获取原始策略数据;对所述原始策略数据进行预编译,获得目标策略数据;将所述目标策略数据加载至内存;所述基于策略调用信息,获取目标策略数据,包括:基于策略调用信息,读取预先加载至内存的所述目标策略数据。
可选的,在对所述原始策略数据进行预编译,获得目标策略数据之后,还包括:针对所述目标策略数据构建策略迭代执行器,所述策略迭代执行器寄存有所述目标策略数据;对应的,所述将所述目标策略数据加载至内存,包括:将寄存有所述目标策略数据的所述策略迭代执行器加载至内存;所述基于策略调用信息,读取预先加载至内存的所述目标策略数据,包括:基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器;所述获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:所述策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
可选的,所述对所述原始策略数据进行预编译,获得目标策略数据,包括:获得所述原始策略数据中所包含策略数据的依赖与被依赖关系,并基于所述策略数据的依赖与被依赖关系,将所述原始策略数据解析为包含多个策略因子的策略因子树;所述针对所述目标策略数据构建策略迭代执行器,包括:针对所述包含多个策略因子的策略因子树构建策略迭代执行器;所述将寄存有所述目标策略数据的所述策略迭代执行器加载至内存,包括:将寄存有所述策略因子树的所述策略迭代执行器加载至内存;所述基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器,包括:基于策略调用信息,读取预先加载至内存的寄存有所述策略因子树的所述策略迭代执行器;所述策略迭代执行器获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:策略迭代执行器获得所述多个策略因子对应的缺失数据对象,并基于所述缺失数据对象和所述策略因子树、以递归调用的方式对所述多个策略因子进行迭代执行,获得目标结果数据。
可选的,所述基于策略调用信息,读取预先加载至内存的所述目标策略数据,包括:根据所述策略调用信息中的策略标识信息,读取预先加载至内存的与所述策略标识信息相对应的目标策略数据。
可选的,所述策略标识信息包括如下中的至少一种:目标策略数据对应的策略编码信息;目标策略数据对应的策略名称信息;目标策略数据对应的策略描述信息;目标策略数据对应的版本信息。
可选的,所述策略调用信息包括预设数据对象范围;在所述读取预先加载至内存的所述目标策略数据之后,还包括:检测所述目标策略数据是否与所述预设数据对象范围相匹配;所述获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:在确定所述目标策略数据与所述预设数据对象范围相匹配之后,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据。
可选的,所述策略调用信息中包含所述目标策略数据;所述基于策略调用信息,获取目标策略数据,包括:对所述策略调用信息中的目标策略数据进行加载以及读取。
可选的,所述基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:将所述缺失数据对象和所述目标策略数据输入执行引擎,在所述执行引擎基于所述缺失数据对象和所述目标策略数据进行策略执行后,获得所述目标结果数据。
本申请实施例还提供一种策略引擎系统,包括:策略仓库、指标仓库、策略引擎;所述策略仓库用于,存储预先构建的原始策略数据;所述指标仓库用于,存储预先构建的数据指标及其对应的指标配置信息;和/或,存储预先构建的数据指标及其对应的数据对象;所述策略引擎用于,从所述策略仓库中获取所述原始策略数据,对所述原始策略数据进行预编译,获得目标策略数据,并将所述目标策略数据加载至内存;从所述指标仓库中将所述数据指标及其对应的指标配置信息加载至内存,和/或,从所述指标仓库中将所述数据指标及其对应的数据对象加载至内存;基于策略调用信息,读取加载至内存的所述目标策略数据;根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据;输出目标结果数据。
可选的,所述目标策略数据包括多个策略因子,所述根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据。
可选的,所述根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据,包括:根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于所述第一子缺失数据对象执行所述第一待执行策略因子,获得第一结果数据;判断所述第一结果数据是否为目标结果数据;如果所述第一结果数据不是目标结果数据,则根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于所述第二子缺失数据对象执行所述第二待执行策略因子,获得第二结果数据;以此类推,直至获得所述目标结果数据。
可选的,所述根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,包括:根据所述待执行策略因子,确定所述待执行策略因子对应的目标数据指标;根据所述目标数据指标、以及加载至内存的所述数据指标及其对应的指标配置信息,读取加载至内存的所述目标数据指标对应的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得所述目标数据指标对应的目标数据对象;和/或,根据所述目标数据指标、以及加载至内存的所述数据指标及其对应的数据对象,读取预先加载至内存的所述目标数据指标对应的目标数据对象;将所述目标数据对象确定为所述待执行策略因子对应的子缺失数据对象。
可选的,所述目标策略数据包括多个策略因子,所述根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子对应的全量缺失数据对象;基于所述全量缺失数据对象对所述多个策略因子进行迭代执行,获得所述目标结果数据。
可选的,所述根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子对应的全量缺失数据对象,包括:根据所述多个策略因子,确定所述多个策略因子对应的全量数据指标;根据所述全量数据指标、以及所述数据指标及其对应的指标配置信息,读取加载至内存的所述全量数据指标的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象;和/或,根据所述全量数据指标、以及所述数据指标及其对应的数据对象,读取加载至内存的所述全量数据指标对应的全量数据对象;将所述全量数据对象确定为所述多个策略因子对应的全量缺失数据对象。
可选的,所述指标配置信息包括如下中的至少一种:所述数据指标所对应数据对象的网络地址信息;所述数据指标所对应数据对象的获取策略信息;所述数据指标所对应数据对象的内容标识信息。
可选的,所述在对所述原始策略数据进行预编译,获得目标策略数据之后,还包括:针对所述目标策略数据构建策略迭代执行器,所述策略迭代执行器寄存有所述目标策略数据;所述将所述目标策略数据加载至内存,包括:将寄存有所述目标策略数据的所述策略迭代执行器加载至内存;所述基于策略调用信息,读取加载至内存的所述目标策略数据,包括:基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器;根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:所述策略迭代执行器根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据。
可选的,所述对所述原始策略数据进行预编译,获得目标策略数据,包括:获得所述原始策略数据中所包含策略数据的依赖与被依赖关系,并基于所述策略数据的依赖与被依赖关系,将所述原始策略数据解析为包含多个策略因子的策略因子树;所述针对所述目标策略数据构建策略迭代执行器,包括:针对所述包含多个策略因子的策略因子树构建策略迭代执行器;所述将寄存有所述目标策略数据的所述策略迭代执行器加载至内存,包括:将寄存有所述策略因子树的所述策略迭代执行器加载至内存;所述基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器,包括:基于策略调用信息,读取预先加载至内存的寄存有所述策略因子树的所述策略迭代执行器;所述策略迭代执行器根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:所述策略迭代执行器根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述多个策略因子对应的缺失数据对象,并基于所述缺失数据对象和所述策略因子树、以递归调用的方式对所述多个策略因子进行迭代执行,获得目标结果数据。
可选的,所述基于策略调用信息,读取加载至内存的所述目标策略数据,包括:根据所述策略调用信息中的策略标识信息,读取预先加载至内存的与所述策略标识信息相对应的目标策略数据。
可选的,所述策略标识信息包括如下中的至少一种:目标策略数据对应的策略编码信息;目标策略数据对应的策略名称信息;目标策略数据对应的策略描述信息;目标策略数据对应的版本信息。
可选的,所述策略调用信息包括预设数据对象范围;在所述读取加载至内存的所述目标策略数据之后,还包括:检测所述目标策略数据是否与所述预设数据对象范围相匹配;所述根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:在确定所述目标策略数据与所述预设数据对象范围相匹配之后,根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据。
本申请实施例还提供一种数据处理装置,包括:
目标策略数据获取单元,用于基于策略调用信息,获取目标策略数据;
目标结果数据获得单元,用于获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据;
目标结果数据输出单元,用于输出所述目标结果数据。
可选的,所述目标策略数据包括多个策略因子;所述获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据。
可选的,所述获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据,包括:获得所述多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于所述第一子缺失数据对象执行所述第一待执行策略因子,获得第一结果数据;判断所述第一结果数据是否为目标结果数据;如果所述第一结果数据不是目标结果数据,则获得所述多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于所述第二子缺失数据对象执行所述第二待执行策略因子,获得第二结果数据;以此类推,直至获得所述目标结果数据。
可选的,所述获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,包括:根据所述待执行策略因子,确定所述待执行策略因子对应的目标数据指标;获得所述目标数据指标对应的目标数据对象,并将所述目标数据对象确定为所述待执行策略因子对应的子缺失数据对象。
可选的,还包括:数据指标及指标配置信息加载单元,用于将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;所述获得所述目标数据指标对应的目标数据对象,包括:根据所述目标数据指标,读取预先加载至内存的所述目标数据指标的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得所述目标数据指标对应的目标数据对象。
可选的,还包括:数据指标及数据对象加载单元,用于将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;所述获得所述目标数据指标对应的目标数据对象,包括:根据所述目标数据指标,读取预先加载至内存的所述目标数据指标对应的目标数据对象。
可选的,目标策略数据包括多个策略因子;所述获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:根据所述多个策略因子,确定所述多个策略因子对应的全量数据指标;获得所述全量数据指标对应的全量数据对象,并将所述全量数据对象确定为所述多个策略因子对应的全量缺失数据对象。
可选的,还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;获得所述全量数据指标对应的全量数据对象,包括:根据所述全量数据指标,读取预先加载至内存的所述全量数据指标的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象。
可选的,还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;所述获得所述全量数据指标对应的全量数据对象,包括:根据所述数据指标,读取预先加载至内存的所述全量数据指标对应的全量数据对象。
可选的,所述指标配置信息包括如下中的至少一种:所述数据指标所对应数据对象的网络地址信息;所述数据指标所对应数据对象的获取策略信息;所述数据指标所对应数据对象的内容标识信息。
可选的,还包括:原始策略数据获取单元,用于从策略仓库中获取原始策略数据;预编译单元,用于对所述原始策略数据进行预编译,获得目标策略数据;目标策略数据加载单元,用于将所述目标策略数据加载至内存;所述基于策略调用信息,获取目标策略数据,包括:基于策略调用信息,读取预先加载至内存的所述目标策略数据。
可选的,还包括:策略迭代执行器构建单元,用于在对所述原始策略数据进行预编译,获得目标策略数据之后,针对所述目标策略数据构建策略迭代执行器,所述策略迭代执行器寄存有所述目标策略数据;对应的,所述将所述目标策略数据加载至内存,包括:将寄存有所述目标策略数据的所述策略迭代执行器加载至内存;所述基于策略调用信息,读取预先加载至内存的所述目标策略数据,包括:基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器;所述获得所述目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:所述策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
可选的,所述对所述原始策略数据进行预编译,获得目标策略数据,包括:获得所述原始策略数据中所包含策略数据的依赖与被依赖关系,并基于所述策略数据的依赖与被依赖关系,将所述原始策略数据解析为包含多个策略因子的策略因子树;所述针对所述目标策略数据构建策略迭代执行器,包括:针对所述包含多个策略因子的策略因子树构建策略迭代执行器;所述将寄存有所述目标策略数据的所述策略迭代执行器加载至内存,包括:将寄存有所述策略因子树的所述策略迭代执行器加载至内存;所述基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器,包括:基于策略调用信息,读取预先加载至内存的寄存有所述策略因子树的所述策略迭代执行器;所述策略迭代执行器获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:所述策略迭代执行器获得多个策略因子对应的缺失数据对象,并基于所述缺失数据对象和所述策略因子树、以递归调用的方式对所述多个策略因子进行迭代执行,获得目标结果数据。
可选的,所述基于策略调用信息,读取预先加载至内存的所述目标策略数据,包括:根据所述策略调用信息中的策略标识信息,读取预先加载至内存的与所述策略标识信息相对应的目标策略数据。
可选的,所述策略标识信息包括如下中的至少一种:目标策略数据对应的策略编码信息;目标策略数据对应的策略名称信息;目标策略数据对应的策略描述信息;目标策略数据对应的版本信息。
可选的,所述策略调用信息包括预设数据对象范围;所述装置还包括:数据对象范围检测单元,用于在所述读取预先加载至内存的所述目标策略数据之后,检测所述目标策略数据是否与所述预设数据对象范围相匹配;所述获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:在确定所述目标策略数据与所述预设数据对象范围相匹配之后,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据。
可选的,所述策略调用信息中包含所述目标策略数据;所述基于策略调用信息,获取目标策略数据,包括:对所述策略调用信息中的目标策略数据进行加载以及读取。
可选的,所述基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:将所述缺失数据对象和所述目标策略数据输入执行引擎,在所述执行引擎基于所述缺失数据对象和所述目标策略数据进行策略执行后,获得所述目标结果数据。
本申请实施例还提供一种电子设备,包括处理器和存储器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上所述的方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有一条或多条计算机指令,该指令被处理器执行以实现如上所述的方法。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供的数据处理方法,在策略调用过程中,策略引擎首先基于来自策略调用方的策略调用信息,获取目标策略数据,然后获得该目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,最后输出该目标结果数据。在该过程中,策略调用方在调用策略引擎时,由策略引擎获得欲执行目标策略数据所需的缺失数据对象,并基于该缺失数据对象执行目标策略数据,该过程无需策略调用方提供策略数据所依赖的基础数据,使得策略引擎调用过程具有易用性和通用性,并且使得策略调用过程更加便捷高效。
附图说明
图1是本申请第一实施例提供的数据处理方法流程图;
图2是本申请第二实施例提供的策略引擎系统示意图;
图3是本申请第三实施例提供的数据处理装置的单元框图;
图4是本申请第四实施例提供的电子设备的逻辑结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
针对策略引擎的使用场景,为了增加策略引擎使用过程的易用性和通用性、提升策略引擎的策略执行效率,本申请提供了一种数据处理方法、与该方法相对应的数据处理装置、电子设备以及计算机可读存储介质,本申请还提供一种策略引擎系统。以下提供实施例对所述方法、装置、电子设备以及计算机可读存储介质进行详细说明。
本申请第一实施例提供一种数据处理方法,该方法的应用主体可以为策略引擎,策略引擎也称规则引擎,其可按照独立服务模式运行于网络平台的策略引擎服务器中,例如,以Restful服务的形式或以策略引擎包(策略引擎SDK工具包)的形式对应用系统提供规则调用,客户端只需把JSON格式的输入数据提交给策略引擎服务器,策略引擎服务器调用策略数据计算完成后以JSON格式作为响应数据返回给客户端;该策略引擎也可按照嵌入式模式运行,即,策略引擎作为嵌入于应用程序中的组件(可嵌入于应用程序的任意位置,不同位置的策略引擎使用不同的策略数据,用于处理不同类型的数据对象),作为该应用程序的一部分运行。策略引擎可将复杂的应用逻辑从应用代码中剥离出来,并使用预先定义的策略定义语言实现该应用逻辑,降低应用逻辑的实现难度,使得更新频率较高的应用逻辑便于维护;基于策略引擎提供的策略设计功能,应用方能够简单高效地定义复杂的应用逻辑,并基于使用需求对应用逻辑进行适应性修改。
在现有的策略引擎实现方式中,策略引擎可针对策略调用方输入的应用数据(数据对象)进行应用规则的评估,并做出应用决策,在该过程中,策略调用方需针对策略执行时所依赖的数据对象进行“数据预处理”,即,策略调用方需首先获取该数据对象,然后基于该数据对象进行策略调用,然而,数据对象可能从不同的数据源进行获取,并且需对获取失败的重试逻辑进行预先定义,该过程增加了策略调用方的使用难度。本申请实施例对策略引擎的执行逻辑进行了更新,即,通过对应用数据(数据对象)进行集中管理,策略调用方在进行策略调用时无需提供应用数据,策略引擎可按照其策略执行需求适应性获取策略执行过程中所需的应用数据,该方法适用于应用系统针对其应用数据提供统一管理的场景构架中。
图1为本申请第一实施例提供的数据处理方法流程图,以下结合图1对本实施例提供的方法进行详细描述。以下描述所涉及的实施例是用来解释说明方法原理,不是实际使用的限定。
如图1所示,本实施例提供的数据处理方法包括如下步骤:
S101,基于策略调用信息,获取目标策略数据。
策略数据为应用逻辑的表现形式,其可以为策略表达式(也称规则表达式)、规则集、决策树(规则树)、规则流等多种数据形式。
使用策略定义语言实现应用逻辑,其实质为通过策略定义语言定义与应用逻辑相对应的策略数据的语法结构,策略定义语言可为策略数据的构建过程提供如下功能支持:支持算术表达式,例如,加(+)、减(-)、乘(*)、除(/)、余(%);支持关系运算符,例如,大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(=)、不等于(!=);支持逻辑表达式,例如,或(||)、且(&&)、非(!);支持if语句以及if..else..语句的嵌套;支持常量与变量,变量可以为参数级变量($)与规则级变量(#);支持自定义函数,例如,day()、month()等。
在策略数据的构建过程中,策略引擎所提供的策略设计功能包括向导式策略设计和脚本式策略设计,在向导式策略设计中为使用者提供可视化设计界面,使用者通过鼠标点击即可实现策略数据的定义,脚本式策略设计可供使用者采用脚本代码的方式定义策略数据。所构建的原始策略数据被存储至规则仓库中,该规则仓库可以为文件系统中的文件目录,也可以为数据库。
策略引擎在接收到策略调用方(策略引擎所嵌入的应用程序或客户端)的策略调用信息后,本步骤用于基于该策略调用信息获取目标策略数据。在本实施例中,在上述原始策略数据被存储至规则仓库中之后,策略引擎可基于该原始策略数据进行策略加载,该过程具体为:策略引擎从策略仓库中获取原始策略数据,将该原始策略数据预编译为目标策略数据,并将该目标策略数据加载至内存。上述基于策略调用信息,获取目标策略数据,可以是指:基于策略调用信息,读取预先加载至内存的目标策略数据,例如,根据所述策略调用信息中的策略标识信息,读取预先加载至内存的与所述策略标识信息相对应的目标策略数据,策略标识信息可以为目标策略数据对应的策略编码信息、目标策略数据对应的策略名称信息、目标策略数据对应的策略描述信息、以及目标策略数据对应的版本信息等信息中的一种或多种。
在本实施例中,在上述将该原始策略数据预编译为目标策略数据之后,还可针对目标策略数据构建用于执行该目标策略数据的策略迭代执行器,所构建的策略迭代执行器寄存有上述目标策略数据;对应的,上述将目标策略数据加载至内存,可以是指:将寄存有目标策略数据的策略迭代执行器加载至内存;上述基于策略调用信息,读取预先加载至内存的目标策略数据,可以是指:基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器。
在本实施例中,上述将该原始策略数据预编译为目标策略数据,具体可以是指:确定出该原始策略数据中所包含策略数据的依赖与被依赖关系,并基于策略数据的依赖与被依赖关系,将原始策略数据解析为包含多个策略因子的策略因子树,该策略因子树即为目标策略数据,即,通过语法树对原始策略数据进行树形分解,将原始策略数据分解为多个独立的策略因子,每个策略因子对应策略因子树的一个树节点,策略因子树定义了各树节点的执行顺序;与之对应的,上述针对目标策略数据构建用于执行该目标策略数据的策略迭代执行器,具体可以是指:针对上述包含多个策略因子的策略因子树构建策略迭代执行器;上述将寄存有目标策略数据的策略迭代执行器加载至内存,具体可以是指:将寄存有上述策略因子树的策略迭代执行器加载至内存;上述基于策略调用信息,读取预先加载至内存的寄存有所述目标策略数据的策略迭代执行器,具体可以是指:基于策略调用信息,读取预先加载至内存的寄存有上述策略因子树的策略迭代执行器。
需要说明的是,上述策略调用信息中还可包含目标策略数据,即,策略调用方在定义策略数据后实时进行策略调用,在该种情况下,上述基于策略调用信息获取目标策略数据的方式为:对策略调用信息中的目标策略数据进行加载以及读取。
S102,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
在上述步骤获取目标策略数据之后,本步骤用于针对该目标策略数据进行策略执行,即,获得该目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
缺失数据对象是指执行目标策略数据时所依赖的数据对象,在本实施例中,该缺失数据对象并非由策略调用方提供,而是策略引擎在策略执行过程中基于执行需求进行实时获取。
需要说明的是,上述步骤S101中,策略调用信息中还可以包含预设数据对象范围,在上述读取预先加载至内存的目标策略数据之后,还需检测该目标策略数据是否与预设数据对象范围相匹配,即,检测执行目标策略数据时所依赖的数据对象是否处于该预设数据对象范围内,在确定目标策略数据与预设数据对象范围相匹配之后,执行本步骤中的获得目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据的操作。
在本实施例中,目标策略数据包括多个策略因子,上述获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,可以是指:获得上述多个策略因子对应的缺失数据对象,并基于该缺失数据对象执行所述多个策略因子,获得目标结果数据。与上述步骤S101相对应,本步骤中,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据的过程可通过上述策略迭代执行器实现,例如,策略迭代执行器获得多个策略因子对应的缺失数据对象,并基于该缺失数据对象和策略因子树、以递归调用的方式对多个策略因子进行迭代执行,获得目标结果数据,递归调用是一种特殊的嵌套调用,对多个策略因子进行迭代执行的过程即为策略迭代执行器反复调用其自身的过程。
在本实施例中,基于获取缺失数据对象以及策略执行过程的逻辑差异,上述获得多个策略因子对应的缺失数据对象,并基于该缺失数据对象执行多个策略因子,获得目标结果数据的过程具体包括如下两种实现方式:
方式一:获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据。即,获得缺失数据对象的过程与策略因子的执行过程相适配,单次获取的子缺失数据对象仅为待执行策略因子所依赖的数据对象,对于当前未处于待执行状态的策略因子,则无需获取其对应的子缺失数据对象。该过程具体可以为:获得多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于第一子缺失数据对象执行第一待执行策略因子,获得第一结果数据;判断该第一结果数据是否为目标结果数据,例如,基于策略调用方的实际需求判断当前获得的第一结果数据是否为最终所需的目标结果数据;如果该第一结果数据不是目标结果数据,则基于策略因子树中所定义的策略因子执行序列获得多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于第二子缺失数据对象执行第二待执行策略因子,获得第二结果数据;以此类推,直至获得目标结果数据。
上述获得多个策略因子中的待执行策略因子对应的子缺失数据对象(包含获得多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象、以及获得多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象等),具体可通过如下方式实现:首先,根据待执行策略因子,确定该待执行策略因子对应的目标数据指标,数据指标可以为预先设定的应用指标,其包含指标名称、指标类型、指标对应的版本等信息,例如,年龄、性别、地址、消费频次等指标;其次,获得该目标数据指标对应的目标数据对象,并将目标数据对象确定为待执行策略因子对应的子缺失数据对象,目标数据对象即为目标数据指标所对应的具体数据内容。在该种情况下,还需将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;上述获得目标数据指标对应的目标数据对象,具体可以是指:根据目标数据指标,读取预先加载至内存的目标数据指标的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得所述目标数据指标对应的目标数据对象。指标配置信息用于定义数据指标所对应数据对象的获取方法,其可以为数据指标所对应数据对象的网络地址信息(URL)、数据指标所对应数据对象的获取策略信息(例如,通过数据读取的方式读取由主机名、端口号、用户名、密码、数据库、数据表等信息构成的数据源)、以及数据指标所对应数据对象的内容标识信息(例如,用户表中的年龄、性别、地址等内容)等信息中的一种或多种。在本实施例中,可通过备份机制提升数据对象获取过程的鲁棒性,即,同一数据指标可对应多个指标配置信息,该多个指标配置信息可定义针对该数据指标所对应数据对象的不同类型的数据获取方法,例如,同一数据指标可对应第一指标配置信息(定义从文件系统中获取数据对象的方法)和第二指标配置信息(定义从数据库中获取数据对象的方法),在上述根据指标配置信息执行数据获取操作中,如果通过第一指标配置信息无法获取数据对象,则通过使用第二指标配置信息执行数据获取操作,以此增加数据对象的获取成功率。通过在指标仓库中预先构建数据指标及其指标配置信息,可实现数据对象的统一管理,例如,在指标仓库中预先定义不同应用部门所对应的数据使用权限,可实现应用系统对数据使用权限的精细化管理。
需要说明的是,指标仓库中除了构建有上述数据指标及其指标配置信息之外,还可构建数据指标及该数据指标对应的数据对象,即,指标仓库中直接存储有数据指标及其对应的具体数据内容,对应的,上述除了预先将指标仓库中预先构建的数据指标及其指标配置信息加载至内存,还可将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存,在该种情况下,上述获得所述目标数据指标对应的目标数据对象,还可以是指:根据所述目标数据指标,读取预先加载至内存的所述目标数据指标对应的目标数据对象。
在具体加载过程中,可基于指标仓库所存储的数据内容进行适应性加载,例如,优先加载指标仓库中存储的数据指标及其对应的数据对象,对于其它指标仓库中未存储其对应数据对象的数据指标,则加载该数据指标及其指标配置信息,在此不作限定。
对应的,上述数据读取过程同样可基于已加载数据进行适应性读取,例如,当内存中加载有目标数据指标对应的目标数据对象时,直接对该目标数据对象进行读取;当内存中未加载有目标数据指标对应的目标数据对象时,对该目标数据指标的指标配置信息进行读取,并根据该指标配置信息执行数据获取操作,获得该目标数据指标对应的目标数据对象。
通过该种方式,可基于实际策略执行需求适应性获取对应的缺失数据对象、并依此进行策略执行,使得策略执行过程与真实应用需求相适配,例如,目标策略数据包含10个策略因子,如果执行至第3个策略因子时已获得策略调用方所需的结果数据,则无需获取后续7个策略因子对应的缺失数据对象,也无需基于该缺失数据对象进行后续策略执行,可节省计算资源,提升策略引擎的执行效率。
方式二:获得多个策略因子对应的全量缺失数据对象;基于该全量缺失数据对象对多个策略因子进行迭代执行,获得目标结果数据。即,在读取目标策略数据之后,单次获取该目标策略数据中的所有策略因子所依赖的数据对象。在本实施例中,上述获得多个策略因子对应的全量缺失数据对象的过程具体可以是指:首先,根据上述多个策略因子,确定该多个策略因子对应的全量数据指标;其次,获得该全量数据指标对应的全量数据对象,并将所述全量数据对象确定为所述多个策略因子对应的全量缺失数据对象。在该种情况下,同样需要预先将指标仓库中预先构建的数据指标及其指标配置信息加载至内存,或者预先将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;与方式一中相似,上述获得全量数据指标对应的全量数据对象,可以是指:根据所述全量数据指标,读取预先加载至内存的所述全量数据指标的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象;也可以是指:根据所述全量数据指标,读取预先加载至内存的所述全量数据指标对应的全量数据对象。
需要说明的是,上述基于缺失数据对象执行目标策略数据,获得目标结果数据的过程还可通过如下方式实现:将上述缺失数据对象和目标策略数据输入执行引擎,即,将缺失数据对象和目标策略数据组成的策略执行实例输入策略引擎的执行引擎中,该执行引擎为策略引擎的通用执行模块,为输入的策略数据提供策略执行服务,在该执行引擎基于缺失数据对象和目标策略数据进行策略执行后,即可获得上述目标结果数据。
S103,输出目标结果数据。
在上述步骤执行目标策略数据、并获得目标结果数据之后,本步骤用于输出目标结果数据,以将该目标结果数据提供给策略调用方。
本实施例提供的数据处理方法,在策略调用过程中,策略引擎首先基于来自策略调用方的策略调用信息,获取目标策略数据,然后根据该目标策略数据获得其对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,最后输出该目标结果数据。在该过程中,由策略引擎获得欲执行目标策略数据所需的缺失数据对象,并基于该缺失数据对象执行目标策略数据,该过程无需策略调用方提供执行策略数据时所依赖的数据对象,对于策略调用方来说,策略调用过程具有易用性和通用性,使得策略调用过程更加便捷高效。例如,现有的策略调用场景中,策略调用方需针对策略执行时所依赖的数据对象进行“数据预处理”,即,策略调用方需首先获取该数据对象,然后基于该数据对象进行策略调用,在该过程中,数据对象可能从不同的数据源进行获取,并且需对获取失败的重试逻辑进行预先定义,该过程增加了策略调用方的使用难度;通过使用本实施例提供的数据处理方法,可通过策略引擎对策略执行时所依赖的缺失数据对象进行自动完善,策略调用方无需进行上述“数据预处理”操作,使其能够更专注于应用/策略本身,减小策略调用方的使用难度,使得策略调用过程更加便捷高效。
本申请第二实施例提供一种策略引擎系统,如图2所示,该策略引擎系统包括:策略仓库201、指标仓库202、策略引擎203;
策略仓库201用于,存储预先构建的原始策略数据;
指标仓库202用于,存储预先构建的数据指标及其对应的指标配置信息;和/或,存储预先构建的数据指标及其对应的数据对象;
策略引擎203用于,从策略仓库201中获取原始策略数据,对该原始策略数据进行预编译,获得目标策略数据,并将目标策略数据加载至内存;从指标仓库202中将数据指标及其对应的指标配置信息加载至内存,和/或,从指标仓库202中将数据指标及其对应的数据对象加载至内存;基于策略调用信息,读取加载至内存的目标策略数据;根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于该缺失数据对象执行目标策略数据,获得目标结果数据;输出目标结果数据。
上述目标策略数据包括多个策略因子,上述根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,可以是指:根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据。
上述根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据,该过程具体可以包括如下内容:根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于第一子缺失数据对象执行第一待执行策略因子,获得第一结果数据;判断第一结果数据是否为目标结果数据;如果第一结果数据不是目标结果数据,则根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于第二子缺失数据对象执行第二待执行策略因子,获得第二结果数据;以此类推,直至获得目标结果数据。通过该种方式,可基于实际策略执行需求适应性获取对应的缺失数据对象、并依此进行策略执行,使得策略执行过程与真实应用需求相适配,例如,目标策略数据包含10个策略因子,如果执行至第3个策略因子时已获得策略调用方所需的结果数据,则无需获取后续7个策略因子对应的缺失数据对象,也无需基于该缺失数据对象进行后续策略执行,可节省计算资源,提升策略引擎的执行效率。
上述根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子中的待执行策略因子对应的子缺失数据对象,具体可以是指:根据待执行策略因子,确定待执行策略因子对应的目标数据指标;根据目标数据指标、以及加载至内存的数据指标及其对应的指标配置信息,读取加载至内存的目标数据指标对应的指标配置信息,并根据指标配置信息执行数据获取操作,获得目标数据指标对应的目标数据对象;和/或,根据目标数据指标、以及加载至内存的数据指标及其对应的数据对象,读取预先加载至内存的目标数据指标对应的目标数据对象;将目标数据对象确定为待执行策略因子对应的子缺失数据对象。
指标配置信息用于定义数据指标所对应数据对象的获取方法,其可以为数据指标所对应数据对象的网络地址信息(URL)、数据指标所对应数据对象的获取策略信息(例如,读取由主机名、端口号、用户名、密码、数据库、数据表等信息构成的数据源以及对应的读取范围)、以及数据指标所对应数据对象的内容标识信息(例如,用户表中的年龄、性别、地址等内容)等信息中的一种或多种。在本实施例中,可通过备份机制提升数据对象获取过程的鲁棒性,即,同一数据指标可对应多个指标配置信息,该多个指标配置信息可定义针对该数据指标所对应数据对象的不同类型的数据获取方法,例如,同一数据指标可对应第一指标配置信息(定义从文件系统中获取数据对象的方法)和第二指标配置信息(定义从数据库中获取数据对象的方法),在上述根据指标配置信息执行数据获取操作中,如果通过第一指标配置信息无法获取数据对象,则通过使用第二指标配置信息执行数据获取操作,以此增加数据对象的获取成功率。通过在指标仓库中预先构建数据指标及其指标配置信息,可实现数据对象的统一管理,例如,在指标仓库中预先定义不同应用部门所对应的数据使用权限,可实现应用系统对数据使用权限的精细化管理。
上述根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,还可以是指:根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子对应的全量缺失数据对象;基于全量缺失数据对象对多个策略因子进行迭代执行,获得目标结果数据。
上述根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子对应的全量缺失数据对象,具体可以是指:根据多个策略因子,确定多个策略因子对应的全量数据指标;根据该全量数据指标、以及数据指标及其对应的指标配置信息,读取加载至内存的全量数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象;和/或,根据全量数据指标、以及数据指标及其对应的数据对象,读取加载至内存的全量数据指标对应的全量数据对象;将全量数据对象确定为多个策略因子对应的全量缺失数据对象。
在本实施例中,在上述对原始策略数据进行预编译,并获得目标策略数据之后,还需针对目标策略数据构建策略迭代执行器,策略迭代执行器寄存有目标策略数据,其仅用于对目标策略数据进行策略执行;与之对应的,上述将目标策略数据加载至内存,具体是指:将寄存有目标策略数据的策略迭代执行器加载至内存;上述基于策略调用信息,读取加载至内存的目标策略数据,具体是指:基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器;上述根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,具体是指:策略迭代执行器根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
在本实施例中,上述对原始策略数据进行预编译,获得目标策略数据,具体是指:获得原始策略数据中所包含策略数据的依赖与被依赖关系,并基于策略数据的依赖与被依赖关系,将原始策略数据解析为包含多个策略因子的策略因子树,该策略因子树即为目标策略数据即,通过语法树对原始策略数据进行树形分解,将原始策略数据分解为多个独立的策略因子,每个策略因子对应策略因子树的一个树节点,策略因子树定义了各树节点的执行顺序;与之对应的,上述针对目标策略数据构建策略迭代执行器,具体是指:针对包含多个策略因子的策略因子树构建策略迭代执行器;上述将寄存有目标策略数据的策略迭代执行器加载至内存,具体是指:将寄存有策略因子树的策略迭代执行器加载至内存;上述基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器,包括:基于策略调用信息,读取预先加载至内存的寄存有策略因子树的策略迭代执行器;上述策略迭代执行器根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,具体可以是指:策略迭代执行器根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得多个策略因子对应的缺失数据对象,并基于缺失数据对象和策略因子树、以递归调用的方式对多个策略因子进行迭代执行,获得目标结果数据。
上述基于策略调用信息,读取加载至内存的目标策略数据,具体可以是指:根据策略调用信息中的策略标识信息,读取预先加载至内存的与策略标识信息相对应的目标策略数据。该策略标识信息可以为目标策略数据对应的策略编码信息、目标策略数据对应的策略名称信息、目标策略数据对应的策略描述信息、以及目标策略数据对应的版本信息等信息中的一种或多种。
在本实施例中,策略调用信息中还可包含预设数据对象范围,在上述读取预先加载至内存的目标策略数据之后,还需检测该目标策略数据是否与预设数据对象范围相匹配,即,检测执行目标策略数据时所依赖的数据对象是否处于该预设数据对象范围内,在确定目标策略数据与预设数据对象范围相匹配之后,根据加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
在策略引擎203针对数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象的具体加载过程中,可基于指标仓库所存储的数据内容进行适应性加载,例如,优先加载指标仓库中存储的数据指标及其对应的数据对象,对于其它指标仓库中未存储其对应数据对象的数据指标,则加载该数据指标及其指标配置信息,在此不作限定。对应的,上述数据读取过程同样可基于已加载数据进行适应性读取,例如,当内存中加载有目标数据指标对应的目标数据对象时,直接对该目标数据对象进行读取;当内存中未加载有目标数据指标对应的目标数据对象时,对该目标数据指标的指标配置信息进行读取,并根据该指标配置信息执行数据获取操作,获得该目标数据指标对应的目标数据对象。
本实施例提供的策略引擎系统包括策略仓库、指标仓库、以及策略引擎,在策略调用过程中,策略引擎首先基于来自策略调用方的策略调用信息,读取从策略仓库中预先加载至内存的目标策略数据,然后根据从指标仓库中预先加载至内存的数据指标及其对应的指标配置信息和/或数据指标及其对应的数据对象,获得目标策略数据对应的缺失数据对象,并基于该缺失数据对象执行目标策略数据,获得目标结果数据,最后输出该目标结果数据。在该过程中,获得欲执行目标策略数据所需的缺失数据对象的过程无需策略调用方参与,对于策略调用方来说,策略调用过程具有易用性和通用性,使得策略调用过程更加便捷高效。并且,该系统通过在指标仓库中预先构建数据指标及其指标配置信息和/或数据指标及其对应的数据对象,可实现数据对象的统一管理,例如,在指标仓库中预先定义不同应用部门所对应的数据使用权限,可实现应用系统对数据使用权限的精细化管理。
上述第一实施例提供了一种数据处理方法,与之相对应的,本申请第三实施例还提供了一种数据处理装置,由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的技术特征的细节部分请参见上述提供的方法实施例的对应说明即可,下述对装置实施例的描述仅仅是示意性的。请参考图3理解该实施例,图3为本实施例提供的数据处理装置的单元框图,如图3所示,本实施例提供的数据处理装置包括:目标策略数据获取单元301,用于基于策略调用信息,获取目标策略数据;目标结果数据获得单元302,用于获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据;目标结果数据输出单元303,用于输出所述目标结果数据。目标策略数据包括多个策略因子;上述获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据。
获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据,包括:获得多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于第一子缺失数据对象执行第一待执行策略因子,获得第一结果数据;判断第一结果数据是否为目标结果数据;如果第一结果数据不是目标结果数据,则获得多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于第二子缺失数据对象执行第二待执行策略因子,获得第二结果数据;以此类推,直至获得目标结果数据。获得多个策略因子中的待执行策略因子对应的子缺失数据对象,包括:根据待执行策略因子,确定待执行策略因子对应的目标数据指标;获得目标数据指标对应的目标数据对象,并将目标数据对象确定为待执行策略因子对应的子缺失数据对象。还包括:数据指标及指标配置信息加载单元,用于将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;获得目标数据指标对应的目标数据对象,包括:根据目标数据指标,读取预先加载至内存的目标数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得目标数据指标对应的目标数据对象。
还包括:数据指标及数据对象加载单元,用于将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;获得目标数据指标对应的目标数据对象,包括:根据目标数据指标,读取预先加载至内存的目标数据指标对应的目标数据对象。目标策略数据包括多个策略因子;上述获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,还可以包括:获得多个策略因子对应的全量缺失数据对象;基于全量缺失数据对象对多个策略因子进行迭代执行,获得目标结果数据。获得多个策略因子对应的全量缺失数据对象,包括:根据多个策略因子,确定多个策略因子对应的全量数据指标;获得全量数据指标对应的全量数据对象,并将全量数据对象确定为多个策略因子对应的全量缺失数据对象。
还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;获得全量数据指标对应的全量数据对象,包括:根据全量数据指标,读取预先加载至内存的全量数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象。还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;获得全量数据指标对应的全量数据对象,包括:根据数据指标,读取预先加载至内存的全量数据指标对应的全量数据对象。指标配置信息包括如下中的至少一种:数据指标所对应数据对象的网络地址信息;数据指标所对应数据对象的获取策略信息;数据指标所对应数据对象的内容标识信息。还包括:原始策略数据获取单元,用于从策略仓库中获取原始策略数据;预编译单元,用于对原始策略数据进行预编译,获得目标策略数据;目标策略数据加载单元,用于将目标策略数据加载至内存;基于策略调用信息,获取目标策略数据,包括:基于策略调用信息,读取预先加载至内存的目标策略数据。
还包括:策略迭代执行器构建单元,用于在对原始策略数据进行预编译,获得目标策略数据之后,针对目标策略数据构建策略迭代执行器,策略迭代执行器寄存有目标策略数据;对应的,将目标策略数据加载至内存,包括:将寄存有目标策略数据的策略迭代执行器加载至内存;基于策略调用信息,读取预先加载至内存的目标策略数据,包括:基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
对原始策略数据进行预编译,获得目标策略数据,包括:获得原始策略数据中所包含策略数据的依赖与被依赖关系,并基于策略数据的依赖与被依赖关系,将原始策略数据解析为包含多个策略因子的策略因子树;针对目标策略数据构建策略迭代执行器,包括:针对包含多个策略因子的策略因子树构建策略迭代执行器;将寄存有目标策略数据的策略迭代执行器加载至内存,包括:将寄存有策略因子树的策略迭代执行器加载至内存;基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器,包括:基于策略调用信息,读取预先加载至内存的寄存有策略因子树的策略迭代执行器;策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:策略迭代执行器获得多个策略因子对应的缺失数据对象,并基于缺失数据对象和策略因子树、以递归调用的方式对多个策略因子进行迭代执行,获得目标结果数据。基于策略调用信息读取预先加载至内存的目标策略数据,包括:根据策略调用信息中的策略标识信息,读取预先加载至内存的与策略标识信息相对应的目标策略数据。策略标识信息包括如下中的至少一种:目标策略数据对应的策略编码信息;目标策略数据对应的策略名称信息;目标策略数据对应的策略描述信息;目标策略数据对应的版本信息。策略调用信息包括预设数据对象范围;该装置还包括:数据对象范围检测单元,用于在读取预先加载至内存的目标策略数据之后,检测目标策略数据是否与预设数据对象范围相匹配;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:在确定目标策略数据与预设数据对象范围相匹配之后,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。策略调用信息中包含目标策略数据;基于策略调用信息,获取目标策略数据,包括:对策略调用信息中的目标策略数据进行加载以及读取。基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:将缺失数据对象和目标策略数据输入执行引擎,在执行引擎基于缺失数据对象和目标策略数据进行策略执行后,获得目标结果数据。
通过使用本实施例提供的数据处理装置,在策略调用过程中,策略引擎首先基于来自策略调用方的策略调用信息,获取目标策略数据,然后根据该目标策略数据获得其对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,最后输出该目标结果数据。在该过程中,由策略引擎获得欲执行目标策略数据所需的缺失数据对象,并基于该缺失数据对象执行目标策略数据,该过程无需策略调用方提供执行策略数据时所依赖的数据对象,对于策略调用方来说,策略调用过程具有易用性和通用性,使得策略调用过程更加便捷高效。
在上述的实施例中,提供了一种数据处理方法以及一种数据处理装置,此外,本申请第四实施例还提供一种电子设备,由于电子设备实施例基本相似于方法实施例,所以描述得比较简单,相关的技术特征的细节部分请参见上述提供的方法实施例的对应说明即可,下述对电子设备实施例的描述仅仅是示意性的。该电子设备实施例如下:请参考图4理解本实施例,图4为本实施例提供的电子设备的示意图。如图4所示,本实施例提供的电子设备包括:处理器401和存储器402;该存储器402用于存储实现上述数据处理方法的计算机指令,该计算机指令在被处理器401读取执行时,执行如下操作:基于策略调用信息,获取目标策略数据;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据;输出目标结果数据。
目标策略数据包括多个策略因子;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:获得多个策略因子对应的缺失数据对象,并基于缺失数据对象执行多个策略因子,获得目标结果数据。获得多个策略因子对应的缺失数据对象,并基于缺失数据对象执行多个策略因子,获得目标结果数据,包括:获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据。获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据,包括:获得多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于第一子缺失数据对象执行第一待执行策略因子,获得第一结果数据;判断第一结果数据是否为目标结果数据;如果第一结果数据不是目标结果数据,则获得多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于第二子缺失数据对象执行第二待执行策略因子,获得第二结果数据;以此类推,直至获得目标结果数据。获得多个策略因子中的待执行策略因子对应的子缺失数据对象包括:根据待执行策略因子,确定待执行策略因子对应的目标数据指标;获得目标数据指标对应的目标数据对象,并将目标数据对象确定为待执行策略因子对应的子缺失数据对象。还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;获得目标数据指标对应的目标数据对象,包括:根据目标数据指标,读取预先加载至内存的目标数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得目标数据指标对应的目标数据对象。
还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;获得目标数据指标对应的目标数据对象,包括:根据目标数据指标,读取预先加载至内存的目标数据指标对应的目标数据对象。获得多个策略因子对应的缺失数据对象,并基于缺失数据对象执行多个策略因子,获得目标结果数据,包括:获得多个策略因子对应的全量缺失数据对象;基于全量缺失数据对象对多个策略因子进行迭代执行,获得目标结果数据。获得多个策略因子对应的全量缺失数据对象,包括:根据多个策略因子,确定多个策略因子对应的全量数据指标;获得全量数据指标对应的全量数据对象,并将全量数据对象确定为多个策略因子对应的全量缺失数据对象。
还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;获得全量数据指标对应的全量数据对象,包括:根据全量数据指标,读取预先加载至内存的全量数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象。还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;获得全量数据指标对应的全量数据对象,包括:根据数据指标,读取预先加载至内存的全量数据指标对应的全量数据对象。指标配置信息包括如下中的至少一种:数据指标所对应数据对象的网络地址信息;数据指标所对应数据对象的获取策略信息;数据指标所对应数据对象的内容标识信息。还包括:从策略仓库中获取原始策略数据;对原始策略数据进行预编译,获得目标策略数据;将目标策略数据加载至内存;基于策略调用信息,获取目标策略数据,包括:基于策略调用信息,读取预先加载至内存的目标策略数据。还包括:针对目标策略数据构建策略迭代执行器,策略迭代执行器寄存有目标策略数据;对应的,将目标策略数据加载至内存,包括:将寄存有目标策略数据的策略迭代执行器加载至内存;基于策略调用信息,读取预先加载至内存的目标策略数据,包括:基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。
对原始策略数据进行预编译,获得目标策略数据,包括:获得原始策略数据中所包含策略数据的依赖与被依赖关系,并基于策略数据的依赖与被依赖关系,将原始策略数据解析为包含多个策略因子的策略因子树;针对目标策略数据构建策略迭代执行器,包括:针对包含多个策略因子的策略因子树构建策略迭代执行器;将寄存有目标策略数据的策略迭代执行器加载至内存,包括:将寄存有策略因子树的策略迭代执行器加载至内存;基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器,包括:基于策略调用信息,读取预先加载至内存的寄存有策略因子树的策略迭代执行器;策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:策略迭代执行器获得多个策略因子对应的缺失数据对象,并基于缺失数据对象和策略因子树、以递归调用的方式对多个策略因子进行迭代执行,获得目标结果数据。基于策略调用信息,读取预先加载至内存的目标策略数据,包括:根据策略调用信息中的策略标识信息,读取预先加载至内存的与策略标识信息相对应的目标策略数据。策略标识信息包括如下中的至少一种:目标策略数据对应的策略编码信息;目标策略数据对应的策略名称信息;目标策略数据对应的策略描述信息;目标策略数据对应的版本信息。策略调用信息包括预设数据对象范围;在读取预先加载至内存的目标策略数据之后,还包括:检测目标策略数据是否与预设数据对象范围相匹配;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:在确定目标策略数据与预设数据对象范围相匹配之后,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。策略调用信息中包含目标策略数据;基于策略调用信息,获取目标策略数据,包括:对策略调用信息中的目标策略数据进行加载以及读取。基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:将缺失数据对象和目标策略数据输入执行引擎,在执行引擎基于缺失数据对象和目标策略数据进行策略执行后,获得目标结果数据。
通过使用上述电子设备,在策略调用过程中,策略引擎首先基于来自策略调用方的策略调用信息,获取目标策略数据,然后根据该目标策略数据获得其对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,最后输出该目标结果数据。在该过程中,由策略引擎获得欲执行目标策略数据所需的缺失数据对象,并基于该缺失数据对象执行目标策略数据,该过程无需策略调用方提供执行策略数据时所依赖的数据对象,对于策略调用方来说,策略调用过程具有易用性和通用性,使得策略调用过程更加便捷高效。
在上述的实施例中,提供了一种数据处理方法、一种数据处理装置以及一种电子设备,此外,本申请第五实施例还提供了一种用于实现数据处理方法的计算机可读存储介质。本申请提供的计算机可读存储介质实施例描述得比较简单,相关部分请参见上述方法实施例的对应说明即可,下述描述的实施例仅仅是示意性的。本实施例提供的计算机可读存储介质上存储有计算机指令,该指令被处理器执行时实现以下步骤:基于策略调用信息,获取目标策略数据;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据;输出目标结果数据。目标策略数据包括多个策略因子;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:获得多个策略因子对应的缺失数据对象,并基于缺失数据对象执行多个策略因子,获得目标结果数据。获得多个策略因子对应的缺失数据对象,并基于缺失数据对象执行多个策略因子,获得目标结果数据,包括:获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据。
获得多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于子缺失数据对象对待执行策略因子进行迭代执行,获得目标结果数据,包括:获得多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于第一子缺失数据对象执行第一待执行策略因子,获得第一结果数据;判断第一结果数据是否为目标结果数据;如果第一结果数据不是目标结果数据,则获得多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于第二子缺失数据对象执行第二待执行策略因子,获得第二结果数据;以此类推,直至获得目标结果数据。获得多个策略因子中的待执行策略因子对应的子缺失数据对象包括:根据待执行策略因子,确定待执行策略因子对应的目标数据指标;获得目标数据指标对应的目标数据对象,并将目标数据对象确定为待执行策略因子对应的子缺失数据对象。还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;获得目标数据指标对应的目标数据对象,包括:根据目标数据指标,读取预先加载至内存的目标数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得目标数据指标对应的目标数据对象。
还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;获得目标数据指标对应的目标数据对象,包括:根据目标数据指标,读取预先加载至内存的目标数据指标对应的目标数据对象。获得多个策略因子对应的缺失数据对象,并基于缺失数据对象执行多个策略因子,获得目标结果数据,包括:获得多个策略因子对应的全量缺失数据对象;基于全量缺失数据对象对多个策略因子进行迭代执行,获得目标结果数据。获得多个策略因子对应的全量缺失数据对象,包括:根据多个策略因子,确定多个策略因子对应的全量数据指标;获得全量数据指标对应的全量数据对象,并将全量数据对象确定为多个策略因子对应的全量缺失数据对象。还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;获得全量数据指标对应的全量数据对象,包括:根据全量数据指标,读取预先加载至内存的全量数据指标的指标配置信息,并根据指标配置信息执行数据获取操作,获得全量数据指标对应的全量数据对象。还包括:将指标仓库中预先存储的数据指标及其对应的数据对象加载至内存;获得全量数据指标对应的全量数据对象,包括:根据数据指标,读取预先加载至内存的全量数据指标对应的全量数据对象。指标配置信息包括如下中的至少一种:数据指标所对应数据对象的网络地址信息;数据指标所对应数据对象的获取策略信息;数据指标所对应数据对象的内容标识信息。还包括:从策略仓库中获取原始策略数据;对原始策略数据进行预编译,获得目标策略数据;将目标策略数据加载至内存;基于策略调用信息,获取目标策略数据,包括基于策略调用信息,读取预先加载至内存的目标策略数据。
在对原始策略数据进行预编译,获得目标策略数据之后,还包括:针对目标策略数据构建策略迭代执行器,策略迭代执行器寄存有目标策略数据;对应的,将目标策略数据加载至内存,包括将寄存有目标策略数据的策略迭代执行器加载至内存;基于策略调用信息,读取预先加载至内存的目标策略数据,包括:基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。对原始策略数据进行预编译,获得目标策略数据,包括:获得原始策略数据中所包含策略数据的依赖与被依赖关系,并基于策略数据的依赖与被依赖关系,将原始策略数据解析为包含多个策略因子的策略因子树;针对目标策略数据构建策略迭代执行器,包括:针对包含多个策略因子的策略因子树构建策略迭代执行器;将寄存有目标策略数据的策略迭代执行器加载至内存,包括:将寄存有策略因子树的策略迭代执行器加载至内存;基于策略调用信息,读取预先加载至内存的寄存有目标策略数据的策略迭代执行器,包括:基于策略调用信息,读取预先加载至内存的寄存有策略因子树的策略迭代执行器;策略迭代执行器获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:策略迭代执行器获得多个策略因子对应的缺失数据对象,并基于缺失数据对象和策略因子树、以递归调用的方式对多个策略因子进行迭代执行,获得目标结果数据。
基于策略调用信息读取预先加载至内存的目标策略数据,包括:根据策略调用信息中的策略标识信息,读取预先加载至内存的与策略标识信息相对应的目标策略数据。策略标识信息包括如下中的至少一种:目标策略数据对应的策略编码信息;目标策略数据对应的策略名称信息;目标策略数据对应的策略描述信息;目标策略数据对应的版本信息。策略调用信息包括预设数据对象范围;还包括:检测目标策略数据是否与预设数据对象范围相匹配;获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:在确定目标策略数据与预设数据对象范围相匹配之后,获得目标策略数据对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据。策略调用信息中包含目标策略数据;基于策略调用信息,获取目标策略数据,包括:对策略调用信息中的目标策略数据进行加载以及读取。基于缺失数据对象执行目标策略数据,获得目标结果数据,包括:将缺失数据对象和目标策略数据输入执行引擎,在执行引擎基于缺失数据对象和目标策略数据进行策略执行后,获得目标结果数据。
通过执行本实施例提供的计算机可读存储介质上存储的计算机指令,在策略调用过程中,策略引擎首先基于来自策略调用方的策略调用信息,获取目标策略数据,然后根据该目标策略数据获得其对应的缺失数据对象,并基于缺失数据对象执行目标策略数据,获得目标结果数据,最后输出该目标结果数据。在该过程中,由策略引擎获得欲执行目标策略数据所需的缺失数据对象,并基于该缺失数据对象执行目标策略数据,该过程无需策略调用方提供执行策略数据时所依赖的数据对象,对于策略调用方来说,策略调用过程具有易用性和通用性,使得策略调用过程更加便捷高效。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
基于策略调用信息,获取目标策略数据;
获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据;
输出所述目标结果数据。
2.根据权利要求1所述的方法,其特征在于,所述目标策略数据包括多个策略因子;所述获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:
获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据。
3.根据权利要求2所述的方法,其特征在于,所述获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,并基于所述子缺失数据对象对所述待执行策略因子进行迭代执行,获得所述目标结果数据,包括:
获得所述多个策略因子中的第一待执行策略因子对应的第一子缺失数据对象,并基于所述第一子缺失数据对象执行所述第一待执行策略因子,获得第一结果数据;
判断所述第一结果数据是否为目标结果数据;
如果所述第一结果数据不是目标结果数据,则获得所述多个策略因子中的第二待执行策略因子对应的第二子缺失数据对象,并基于所述第二子缺失数据对象执行所述第二待执行策略因子,获得第二结果数据;
以此类推,直至获得所述目标结果数据。
4.根据权利要求2所述的方法,其特征在于,所述获得所述多个策略因子中的待执行策略因子对应的子缺失数据对象,包括:
根据所述待执行策略因子,确定所述待执行策略因子对应的目标数据指标;
获得所述目标数据指标对应的目标数据对象,并将所述目标数据对象确定为所述待执行策略因子对应的子缺失数据对象。
5.根据权利要求4所述的方法,其特征在于,还包括:将指标仓库中预先构建的数据指标及其指标配置信息加载至内存;
所述获得所述目标数据指标对应的目标数据对象,包括:根据所述目标数据指标,读取预先加载至内存的所述目标数据指标的指标配置信息,并根据所述指标配置信息执行数据获取操作,获得所述目标数据指标对应的目标数据对象。
6.根据权利要求1所述的方法,其特征在于,所述目标策略数据包括多个策略因子;所述获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据,包括:
获得所述多个策略因子对应的全量缺失数据对象;
基于所述全量缺失数据对象对所述多个策略因子进行迭代执行,获得所述目标结果数据。
7.一种策略引擎系统,其特征在于,包括:策略仓库、指标仓库、策略引擎;
所述策略仓库用于,存储预先构建的原始策略数据;
所述指标仓库用于,存储预先构建的数据指标及其对应的指标配置信息;和/或,存储预先构建的数据指标及其对应的数据对象;
所述策略引擎用于,从所述策略仓库中获取所述原始策略数据,对所述原始策略数据进行预编译,获得目标策略数据,并将所述目标策略数据加载至内存;从所述指标仓库中将所述数据指标及其对应的指标配置信息加载至内存,和/或,从所述指标仓库中将所述数据指标及其对应的数据对象加载至内存;基于策略调用信息,读取加载至内存的所述目标策略数据;根据加载至内存的所述数据指标及其对应的指标配置信息和/或所述数据指标及其对应的数据对象,获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据;输出所述目标结果数据。
8.一种数据处理装置,其特征在于,包括:
目标策略数据获取单元,用于基于策略调用信息,获取目标策略数据;
目标结果数据获得单元,用于获得所述目标策略数据对应的缺失数据对象,并基于所述缺失数据对象执行所述目标策略数据,获得目标结果数据;
目标结果数据输出单元,用于输出所述目标结果数据。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-6所述的方法。
10.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现如权利要求1-6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627111.0A CN111897807A (zh) | 2020-07-01 | 2020-07-01 | 一种数据处理方法以及策略引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627111.0A CN111897807A (zh) | 2020-07-01 | 2020-07-01 | 一种数据处理方法以及策略引擎系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111897807A true CN111897807A (zh) | 2020-11-06 |
Family
ID=73192874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010627111.0A Pending CN111897807A (zh) | 2020-07-01 | 2020-07-01 | 一种数据处理方法以及策略引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897807A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473851B1 (en) * | 1999-03-11 | 2002-10-29 | Mark E Plutowski | System for combining plurality of input control policies to provide a compositional output control policy |
CN101409885A (zh) * | 2008-11-18 | 2009-04-15 | 中国移动通信集团福建有限公司 | 基于规则引擎的异常指标分析方法 |
CN105468529A (zh) * | 2015-12-15 | 2016-04-06 | 北京奇虎科技有限公司 | 一种安卓应用ui控件精准遍历方法和装置 |
US20170171246A1 (en) * | 2015-12-10 | 2017-06-15 | BlueTalon, Inc. | Policy enforcement for compute nodes |
CN107395418A (zh) * | 2017-07-21 | 2017-11-24 | 暴风集团股份有限公司 | 网络行为数据的统计处理方法、系统及服务器 |
CN107590186A (zh) * | 2017-08-07 | 2018-01-16 | 北京京东尚科信息技术有限公司 | 管理和执行数据处理策略的方法和策略引擎系统 |
CN108648060A (zh) * | 2018-05-16 | 2018-10-12 | 北京安云世纪科技有限公司 | 应用数据处理方法、装置和计算机可读存储介质 |
CN109961129A (zh) * | 2017-12-25 | 2019-07-02 | 中国科学院沈阳自动化研究所 | 一种基于改进粒子群的海上静止目标搜寻方案生成方法 |
CN110309269A (zh) * | 2018-02-28 | 2019-10-08 | 北京京东尚科信息技术有限公司 | 应答处理方法及其系统、计算机系统及计算机可读介质 |
CN110443512A (zh) * | 2019-08-09 | 2019-11-12 | 北京思维造物信息科技股份有限公司 | 一种规则引擎及规则引擎实现方法 |
US20200110778A1 (en) * | 2017-03-31 | 2020-04-09 | Beijing Sankuai Online Technology Co., Ltd | Search method and apparatus and non-temporary computer-readable storage medium |
CN110995846A (zh) * | 2019-12-10 | 2020-04-10 | 北京数知科技股份有限公司 | 物联网采集数据处理装置、方法及系统 |
CN111273891A (zh) * | 2020-01-19 | 2020-06-12 | 中国平安人寿保险股份有限公司 | 基于规则引擎的业务决策方法、装置及终端设备 |
-
2020
- 2020-07-01 CN CN202010627111.0A patent/CN111897807A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473851B1 (en) * | 1999-03-11 | 2002-10-29 | Mark E Plutowski | System for combining plurality of input control policies to provide a compositional output control policy |
CN101409885A (zh) * | 2008-11-18 | 2009-04-15 | 中国移动通信集团福建有限公司 | 基于规则引擎的异常指标分析方法 |
US20170171246A1 (en) * | 2015-12-10 | 2017-06-15 | BlueTalon, Inc. | Policy enforcement for compute nodes |
CN105468529A (zh) * | 2015-12-15 | 2016-04-06 | 北京奇虎科技有限公司 | 一种安卓应用ui控件精准遍历方法和装置 |
US20200110778A1 (en) * | 2017-03-31 | 2020-04-09 | Beijing Sankuai Online Technology Co., Ltd | Search method and apparatus and non-temporary computer-readable storage medium |
CN107395418A (zh) * | 2017-07-21 | 2017-11-24 | 暴风集团股份有限公司 | 网络行为数据的统计处理方法、系统及服务器 |
CN107590186A (zh) * | 2017-08-07 | 2018-01-16 | 北京京东尚科信息技术有限公司 | 管理和执行数据处理策略的方法和策略引擎系统 |
CN109961129A (zh) * | 2017-12-25 | 2019-07-02 | 中国科学院沈阳自动化研究所 | 一种基于改进粒子群的海上静止目标搜寻方案生成方法 |
CN110309269A (zh) * | 2018-02-28 | 2019-10-08 | 北京京东尚科信息技术有限公司 | 应答处理方法及其系统、计算机系统及计算机可读介质 |
CN108648060A (zh) * | 2018-05-16 | 2018-10-12 | 北京安云世纪科技有限公司 | 应用数据处理方法、装置和计算机可读存储介质 |
CN110443512A (zh) * | 2019-08-09 | 2019-11-12 | 北京思维造物信息科技股份有限公司 | 一种规则引擎及规则引擎实现方法 |
CN110995846A (zh) * | 2019-12-10 | 2020-04-10 | 北京数知科技股份有限公司 | 物联网采集数据处理装置、方法及系统 |
CN111273891A (zh) * | 2020-01-19 | 2020-06-12 | 中国平安人寿保险股份有限公司 | 基于规则引擎的业务决策方法、装置及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230057335A1 (en) | Deployment of self-contained decision logic | |
US9959311B2 (en) | Natural language interface to databases | |
JP5154002B2 (ja) | リモートファンクションコールによるワークブックモデルへのアクセスを提供する方法、システム、および装置 | |
US8468391B2 (en) | Utilizing log event ontology to deliver user role specific solutions for problem determination | |
US10282197B2 (en) | Open application lifecycle management framework | |
US10042921B2 (en) | Robust and readily domain-adaptable natural language interface to databases | |
CN109492053B (zh) | 用于访问数据的方法和装置 | |
US8380680B2 (en) | Piecemeal list prefetch | |
JP2020522790A (ja) | 異種にプログラムされたデータ処理システムの自動依存性アナライザ | |
US11481412B2 (en) | Data integration and curation | |
CN111400061A (zh) | 一种数据处理方法和系统 | |
CN110249312B (zh) | 用于将数据集成作业从源框架转换到目标框架的方法和系统 | |
CN113268500B (zh) | 业务处理方法、装置及电子设备 | |
CN110795315A (zh) | 监控业务的方法和装置 | |
CN113835692A (zh) | 字典的数据处理方法、装置、电子设备及计算机存储介质 | |
US20140372488A1 (en) | Generating database processes from process models | |
CN111897807A (zh) | 一种数据处理方法以及策略引擎系统 | |
CN115907400A (zh) | 一种工单处理方法及装置 | |
CN115310127A (zh) | 一种数据脱敏方法及装置 | |
CN113760406A (zh) | 数据处理的方法、装置、设备、存储介质及程序产品 | |
CN112445499A (zh) | 衍生变量确定方法、装置、设备和存储介质 | |
US8321844B2 (en) | Providing registration of a communication | |
US11645056B2 (en) | Capturing variable dependencies using a variable agnostic object | |
CN113778501B (zh) | 一种代码任务处理方法和装置 | |
CN114969194A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201106 |