CN111522868A - 数据规则的处理方法、装置、电子设备及存储介质 - Google Patents
数据规则的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111522868A CN111522868A CN202010214828.2A CN202010214828A CN111522868A CN 111522868 A CN111522868 A CN 111522868A CN 202010214828 A CN202010214828 A CN 202010214828A CN 111522868 A CN111522868 A CN 111522868A
- Authority
- CN
- China
- Prior art keywords
- index
- rule
- target
- upstream
- indexes
- 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.)
- Withdrawn
Links
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据规则的处理方法、装置、电子设备及存储介质,该方法包括:获取待处理的目标指标规则和目标指标规则依赖的多个中间指标规则,并获取目标指标规则对应的实体数据;根据目标指标规则和多个中间指标规则,确定目标指标规则中的目标指标和多个中间指标,并确定目标指标和多个中间指标的上下游依赖关系;根据上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图;根据实体数据、多个中间指标规则和目标指标规则,对有向无环图中的多个中间指标和目标指标进行计算,得到目标指标规则的计算结果。本申请实施例提高了规则处理的效率,降低了成本。
Description
技术领域
本申请实施例涉及数据处理技术领域,特别是涉及一种数据规则的处理方法、装置、电子设备及存储介质。
背景技术
随着大数据技术的发展,经常需要使用一些规则来对数据进行汇总计算,例如,绩效考核业务需要使用相应的规则来实现绩效考核。在差异化的绩效考核中,所应有的规则表现为规则多样和规则多变,规则多样是使用不同的规则对不同的对象考核不同的内容,规则多变是指同一个规则会随着时间的变化不断的更新调整。因此需要将多变、多样的规则业务需求快速的转化为数据计算能力,以支撑不同的业务场景。
现有的规则处理实现方案是基于Spark SQL编写ETL(抽取、转换、加载,Extract-Transform-Load)。开发人员需要理解具体的规则需求,将一个复杂的规则按照实现的复杂度拆分成多个ETL,每个ETL实现一部分规则逻辑,所有ETL逐个执行,完成整体规则的计算。
通过ETL来实现规则计算处理存在着如下缺陷:由于规则多样以及多变,对数据开发人员编写ETL的能力要求较高,面对大量的差异化的规则,则需要大量的ETL开发人员,导致ETL开发成本较高,而且效率较低;而且ETL需要专业的数据开发人员编写,ETL中计算规则的理解翻译、问题排查、BUG修复等工作都需要专业人员承担,其他人往往难以应对;一个完整的规则由多个不同的ETL完成,每个ETL完成该规则中特定的一部分规则,其中会有很多类似的计算逻辑因为绑定了特定的业务场景或者业务数据,而不能复用;随着业务的发展,ETL的数量将会越来越多,由于底层计算框架版本变更、ETL语法升级、函数变更等原因造成的运维成本将会很高。
发明内容
本申请实施例提供一种数据规则的处理方法、装置、电子设备及存储介质,有助于提高规则处理的效率、可复用性、通用性,并降低成本。
为了解决上述问题,第一方面,本申请实施例提供了一种数据规则的处理方法,包括:
获取待处理的目标指标规则和所述目标指标规则依赖的多个中间指标规则,并获取所述目标指标规则对应的实体数据,其中,所述中间指标规则是与中间指标对应的处理规则,是对其他中间指标的计算结果以及实体数据进行计算的公式或汇总函数,所述中间指标是中间指标规则计算结果的标识;
根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的目标指标和多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系;
根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图;
根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果。
第二方面,本申请实施例提供了一种数据规则的处理装置,包括:
获取模块,用于获取待处理的目标指标规则和所述目标指标规则依赖的多个中间指标规则,并获取所述目标指标规则对应的实体数据,其中,所述中间指标规则是与中间指标对应的处理规则,是对其他中间指标的计算结果以及实体数据进行计算的公式或汇总函数,所述中间指标是中间指标规则计算结果的标识;
指标及关系确定模块,用于根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的目标指标和多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系;
有向无环图构建模块,用于根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图;
计算模块,用于根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果。
第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的数据规则的处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例提供的数据规则的处理方法的步骤。
本申请实施例提供的数据规则的处理方法、装置、电子设备及存储介质,通过获取待处理的目标指标规则和目标指标规则依赖的多个中间指标规则,确定目标指标规则对应的目标指标、多个中间指标以及目标指标与多个中间指标的上下游依赖关系,构建目标指标与多个中间指标之间的有向无环图,根据实体数据、多个中间指标规则和目标指标规则,对有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到目标指标规则的计算结果,在对一个目标指标规则进行处理时,只需要获取到目标指标规则和与目标指标规则对应的多个中间指标规则就可以得到该目标指标规则的计算结果,而不用对每个中间指标规则单独编写ETL,打破了实现目标指标规则编写ETL的技术壁垒,提高了规则处理的效率,通过该方式可以处理不同的规则,从而提高了规则处理的可复用性以及通用性,降低了开发成本和维护成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一的数据规则的处理方法的流程图;
图2是本申请实施例中的一个有向无环图的示意图;
图3是本申请实施例中的另一个有向无环图的示意图;
图4是本申请实施例中的一个当前指标对应的指标规则的示意图;
图5是本申请实施例二的数据规则的处理装置的结构示意图;
图6是本申请实施例三的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本实施例提供的一种数据规则的处理方法,如图1所示,该方法包括:步骤110至步骤140。
步骤110,获取待处理的目标指标规则和所述目标指标规则依赖的多个中间指标规则,并获取所述目标指标规则对应的实体数据。
其中,所述中间指标规则是与中间指标对应的处理规则,是对其他中间指标的计算结果以及实体数据进行计算的公式或汇总函数,所述中间指标是中间指标规则计算结果的标识,例如一个中间指标可以是达标率。所述目标指标规则是对中间指标的计算结果以及实体数据进行计算的公式或汇总函数,目标指标是目标指标规则计算结果的标识。所述目标指标规则依赖的多个中间指标规则包括所述目标指标规则直接依赖的中间指标对应的中间指标规则和所述目标指标规则间接依赖的中间指标对应的中间指标规则。所述目标指标规则和中间指标规则的表达形式不限,例如可以是JSON(JavaScript ObjectNotation,JS对象简谱)数据结构,还可以是其他类型的表达形式,只要能够表达这个规则即可。JSON是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互,采用完全独立于编程语言的文本格式来存储和表示数据。
在需要对一个数据汇总规则进行处理时,可以由用户将一个完整的复杂的数据汇总规则拆分为目标指标规则和多个中间指标规则,并用预设的表达形式表示目标指标规则和多个中间指标规则,从而计算机可以根据用户对目标指标规则和多个中间指标规则的指定路径获取到目标指标规则和多个中间指标规则,或者是计算机获取用户输入的目标指标规则和多个中间指标规则。可以根据用户对实体数据的指定存储位置获取到所述目标指标规则对应的实体数据。对目标指标规则、多个中间指标规则和实体数据的获取方式不限于上述方式,只要可以获取到目标指标规则、多个中间指标规则和实体数据即可。其中,数据汇总规则例如可以是word形式的文档,如可以是文字描述的规则。
步骤120,根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的目标指标和多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系。
在目标指标规则和中间指标规则中可以用一个特定的标识表示不同的中间指标,例如用该中间指标的中文名称或英文名称来表示,从而通过识别目标指标规则中的中间指标的标识,可以确定目标指标规则对应的目标指标所依赖的上游中间指标。同样,识别中间指标规则中的各个标识,可以确定中间指标规则对应的中间指标以及该中间指标所依赖的上游中间指标,对每个中间指标规则进行这样的处理,可以确定目标指标规则对应的多个中间指标以及多个中间指标的上下游依赖关系。其中,目标指标是目标指标规则所要得到的最终结果的标识。
在本申请的一个实施例中,所述根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系,包括:
解析所述目标指标规则,确定所述目标指标规则对应的目标指标,并确定所述目标指标所依赖的上游中间指标;
将所述上游中间指标作为当前中间指标,解析当前中间指标对应的中间指标规则,确定当前中间指标所依赖的上游中间指标;
循环执行上述将确定的上游中间指标作为当前中间指标并确定当前中间指标的上游中间指标的操作,直至当前中间指标不再依赖上游中间指标,得到目标指标规则对应的目标指标、多个中间指标以及目标指标与多个中间多个指标的上下游依赖关系。
从一个完整的目标指标规则开始进行解析,从而确定目标指标规则对应的目标指标、多个中间指标以及目标指标与多个中间指标的上下游依赖关系。首先,因为目标指标规则是要得到的目标指标与该目标指标所依赖的上游中间指标的规则关系,从而通过解析目标指标规则,可以确定目标指标规则对应的目标指标以及目标指标所依赖的上游中间指标;之后,将得到的上游中间指标作为当前中间指标,从多个中间指标规则中确定当前中间指标对应的中间指标规则,当前中间指标对应的中间指标规则是当前中间指标与当前中间指标所依赖的上游中间指标以及实体的规则关系,解析当前中间指标对应的中间指标规则,确定当前中间指标所依赖的上游中间指标以及实体;再次将得到的上游中间指标作为当前中间指标,执行上述的解析及确定当前中间指标所依赖的上游中间指标以及实体的操作,直至当前中间指标不再依赖上游中间指标,从而得到目标指标规则对应的目标指标、多个中间指标以及目标指标与多个中间指标的上下游依赖关系。
例如,一个目标指标规则为A=B+C*D,多个中间指标规则为B=E+F、C=G/H、D=I+J+K;解析目标指标规则,确定目标指标为A,而目标指标A所依赖的上游中间指标为B、C、D;分别将上游中间指标B、C、D作为当前中间指标,进行解析,解析中间指标B对应的中间指标规则B=E+F,确定中间指标B所依赖的上游中间指标为E和F,解析中间指标C对应的中间指标规则C=G/H,确定中间指标C所依赖的上游中间指标为G和H,解析中间指标D对应的中间指标规则D=I+J+K,确定中间指标D所依赖的上游中间指标为I、J和K;从而得到目标指标规则对应的目标指标A、多个中间指标B、C、D、E、F、G、H、I、J、K,而A依赖B、C和D,B依赖E和F,C依赖G和H,D依赖I、J和K。其中,中间指标E、F、G、H、I、J和K为最上游中间指标,不再依赖其他中间指标,这些中间指标的数据可以通过外部系统、数据存储、文件上传等方式直接获取到,并且为符合指标数据结构的数据。
通过从目标指标规则开始逐层进行解析,可以准确有序的得到目标指标规则对应的目标指标、多个中间指标以及目标指标与多个中间指标之间的上下游依赖关系。
步骤130,根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图。
其中,有向无环图(Directed Acyclic Graph,DAG)是一个无回路的有向图。
根据目标指标和多个中间指标的上下游依赖关系,从目标指标开始,构建目标指标和多个中间指标之间的有向无环图。
在本申请的一个实施例中,所述根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图,包括:
确定所述目标指标规则对应的目标指标为有向无环图的根节点;
根据所述上下游依赖关系,将所述根节点所依赖的上游中间指标,作为所述根节点的子节点;
根据所述上下游依赖关系,将所述子节点作为当前节点,并将当前节点所依赖的上游中间指标,作为当前节点的子节点;
循环执行上述将得到的子节点作为当前节点,确定当前节点的子节点的操作,直至当前节点没有所依赖的上游中间指标,得到目标指标和多个中间指标之间的有向无环图。
首先,将目标指标规则对应的目标指标作为有向无环图的根节点,并以根节点为准,确定根节点所依赖的上游中间指标为根节点的子节点;将确定的子节点作为当前节点,将当前节点所依赖的上游中间指标作为当前节点的子节点;循环执行将确定的子节点作为当前节点并确定当前节点的子节点的操作,直至当前节点不再有依赖的上游中间指标,得到目标指标和多个中间指标之间的有向无环图。通过构建目标指标和多个中间指标之间的有向无环图,将一个复杂的目标指标规则转换为比较清楚的指标之间的相互依赖关系。
仍以上述目标指标规则和多个指标规则为例,即一个目标指标规则为A=B+C*D,多个指标规则为B=E+F、C=G/H、D=I+J+K,确定的目标指标和多个中间指标之间的依赖关系为A依赖B、C和D,B依赖E和F,C依赖G和H,D依赖I、J和K,在构建有向无环图时,将目标指标A作为根节点,将中间指标B、C和D作为根节点A的子节点,将中间指标E和F作为节点B的子节点,将中间指标G和H作为节点C的子节点,将中间指标I、J和K作为节点D的子节点,得到的有向无环图如图2所示。
步骤140,根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果。
根据所述实体数据、多个中间指标规则和目标指标规则,对有向无环图中的目标指标和多个中间指标从最底层往上层逐层进行计算,获取最终计算节点,作为目标指标规则的计算结果。
在本申请的一个实施例中,所述根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果,包括:
根据所述实体数据和所述有向无环图中最底层中间指标对应的中间指标规则,对所述最底层中间指标进行并行计算;
若所述有向无环图中的当前指标所依赖的上游中间指标计算完成,则根据所述上游中间指标的计算结果和所述当前指标对应的指标规则,对所述当前指标进行计算,直至所述有向无环图的目标指标计算完成,得到所述目标指标规则对应的计算结果。
首先,根据有向无环图中最底层中间指标对应的中间指标规则,获取各个最底层中间指标对应的实体数据,并对最底层中间指标进行并行计算;在最底层中间指标进行计算的过程中,有向无环图中其它层的指标(包括其他中间指标和目标指标)检测所依赖的上游中间指标是否计算完成,若当前指标所依赖的上游中间指标未计算完成则进行等待,若当前指标所依赖的上游中间指标均计算完成,则根据上游中间指标的计算结果、当前指标对应的指标规则以及当前指标对应的实体数据,对当前指标进行计算;这样从最底层向上层逐层进行计算,直至有向无环图的最顶层指标计算完成,得到目标指标规则对应的计算结果。
以图3所示的有向无环图为例,如图3所示,首先确定有向无环图的最底层指标为指标1和指标2,则对指标1和指标2进行并行计算;指标3会检测指标1和指标2是否都计算完成,如果指标1计算完成后,而指标2未计算完成,则指标3继续等待,直到指标2计算完成后,指标3开始计算;指标4会检测指标2和指标3是否都计算完成,在指标2和指标3都计算完成后,指标4开始计算,指标4计算完成后,得到有向无环图对应的目标指标规则的计算结果。
在本申请的一个实施例中,所述方法还可以包括:在一个中间指标计算完成后,保存该中间指标对应的计算结果。
在对有向无环图中中间指标的计算过程中,如果当前指标计算完成,则保存当前指标的计算结果,将一个中间指标的计算结果作为指标数据,按照指标数据的数据结构进行保存。
其中,所述指标数据包括:实体列、度量列和维度列。一个度量(即数据)都有一个唯一的属主,该属主即实体,也就是某个度量属于某个人、或者某个商家等,例如张三的得分数据是90,则度量90属于张三这个人。一个度量都有一个唯一的统计维度,这个统计维度可以是一维也可以是多维,例如张三在2019年12月1日的得分是90,其中2019年12月1日属于一个日期维度;商家A在2019年12月鲜花类商家中的排名是10,则2019年12月是一个月维度,鲜花类属于一个品类维度,10这个度量是属于月、品类这个二维的统计维度下。
例如,商家月维度的指标在12月份的数据如表1所示,商家日维度的指标在12月份1日的数据如表2所示,从表1和表2可知,将指标的计算结果保存为实体、度量和维度的形式。
表1商家月维度的指标数据
商家(实体) | 交易额(度量) | 月(维度) |
100001 | 11万 | 2019年12月 |
100002 | 18万 | 2019年12月 |
100003 | 9万 | 2019年12月 |
表2商家日维度的指标数据
商家(实体) | 交易额(度量) | 日(维度) |
100001 | 1万 | 2019年12月1日 |
100002 | 1.8万 | 2019年12月1日 |
100003 | 0.9万 | 2019年12月1日 |
通过对指标计算过程中的中间指标计算结果进行存储,便于对计算结果进行排查追溯或者展示中间计算结果,解决了现有技术中通过ETL进行规则处理时无法将中间数据落库的问题。
在本申请的一个实施例中,所述根据所述上游中间指标的计算结果和所述当前指标对应的指标规则,对所述当前指标进行计算,包括:将所述上游中间指标的计算结果和当前指标对应的实体数据代入当前指标对应的指标规则,得到当前指标的计算结果。
在当前指标所依赖的上游中间指标均计算完成后,可以对当前指标进行计算,将当前指标所依赖的上游中间指标和当前指标对应的实体数据代入当前指标对应的指标规则,并进行计算,得到当前指标的计算结果。
图4是本申请实施例中的一个当前指标对应的指标规则的示意图,以图4所示的指标规则为例,如图4所示,当前指标所依赖的上游中间指标有指标1、指标2、指标3和指标4,当前指标的计算过程可以包括如下步骤:
S1、读取当前指标对应的所有实体数据,即当前指标对应的全量实体集。
S2、根据同实体类型的指标1对当前所有实体数据进行条件过滤,最终将当前的全量实体集分成实体子集1和实体子集2。
S3、针对每一种实体子集,使用不同的计算公式对当前实体子集进行计算。
首先,对图4中的实体子集1使用的计算公式:f1=(0.2*C1+0.8C2)。在计算C1时,读取指标2在时间窗口内的数据,并使用最大值函数max计算出实体子集1中每个实体对应的最大值C1;在计算C2时,读取指标3在时间窗口内的数据,并使用平均值函数avg计算出实体子集1中每个实体对应的平均值C2;在计算公式f1时,将C1和C2的计算结果代入计算公式f1进行计算,即对实体子集1使用公式f1后的计算结果为结果集1。时间窗口是一个设定时间段,如一个月或一天等,如果时间窗口为一个月,则指标2是一个日维度的指标,在计算C1时需要读取指标2在1、2、3….31号这些日维度下的数据。
再次,对图4中是实体子集2使用的计算公式:f2=1.2*C3。读取指标4在时间窗口内的数据,并使用最小值函数min计算实体子集2中每个实体对应的最小值C3,再通过公式f2进行计算,得到对实体子集2使用公式f2后的计算结果为结果集2。
S4、将每一种公式的计算结果集合并成为一个全量结果集,全量结果集就是当前指标的计算结果。即将结果集1和结果集2合并,得到当前指标的计算结果。
S5、将当前指标的计算结果进行持久化存储。
按照当前指标的指标规则对当前指标进行计算,并将计算结果进行存储,实现了对中间计算结果的存储,便于对结果的追溯。
本申请实施例提供的数据规则的处理方法,通过获取待处理的目标指标规则和目标指标规则依赖的多个中间指标规则,确定目标指标规则对应的目标指标、多个中间指标以及目标指标与多个指标的上下游依赖关系,构建目标指标与多个中间指标之间的有向无环图,根据实体数据、多个中间指标规则和目标指标规则,对有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到目标指标规则的计算结果,在对一个目标指标规则进行处理时,只需要获取到目标指标规则和与目标指标规则对应的多个中间指标规则就可以得到该目标指标规则的计算结果,而不用对每个中间指标规则单独编写ETL,打破了实现目标指标规则编写ETL的技术壁垒,提高了规则处理的效率,通过该方式可以处理不同的规则,从而提高了规则处理的可复用性以及通用性,降低了开发成本和维护成本。
实施例二
本实施例提供的一种数据规则的处理装置,如图5所示,所述数据规则的处理装置500包括:
获取模块510,用于获取待处理的目标指标规则和所述目标指标规则依赖的多个中间指标规则,并获取所述目标指标规则对应的实体数据,其中,所述中间指标规则是与中间指标对应的处理规则,是对其他中间指标的计算结果以及实体数据进行计算的公式或汇总函数,所述中间指标是中间指标规则计算结果的标识;
指标及关系确定模块520,用于根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的目标指标和多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系;
有向无环图构建模块530,用于根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图;
计算模块540,用于根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果。
可选的,所述指标及关系确定模块包括:
目标指标解析单元,用于解析所述目标指标规则,确定所述目标指标规则对应的目标指标,并确定所述目标指标所依赖的上游中间指标;
当前指标解析单元,用于将所述上游中间指标作为当前中间指标,解析当前中间指标对应的中间指标规则,确定当前中间指标所依赖的上游中间指标;
第一循环控制单元,用于循环执行上述将确定的上游中间指标作为当前中间指标并确定当前中间指标所依赖的上游中间指标的操作,直至当前中间指标不再依赖上游中间指标,得到目标指标规则中的目标指标、多个中间指标以及目标指标与多个中间指标的上下游依赖关系。
可选的,所述有向无环图构建模块包括:
根节点确定单元,用于确定所述目标指标规则对应的目标指标为有向无环图的根节点;
根节点的子节点确定单元,用于根据所述上下游依赖关系,将所述根节点所依赖的上游中间指标,作为所述根节点的子节点;
当前节点的子节点确定单元,用于根据所述上下游依赖关系,将所述子节点作为当前节点,并将当前节点所依赖的上游中间指标,作为当前节点的子节点;
第二循环控制单元,用于循环执行上述将得到的子节点作为当前节点,确定当前节点的子节点的操作,直至当前节点没有所依赖的上游中间指标,得到目标指标和多个中间指标之间的有向无环图。
可选的,所述计算模块包括:
并行计算单元,用于根据所述实体数据和所述有向无环图中最底层中间指标对应的中间指标规则,对所述最底层中间指标进行并行计算;
逐层计算单元,用于若所述有向无环图中的当前指标所依赖的上游中间指标计算完成,则根据所述上游中间指标的计算结果和所述当前指标对应的指标规则,对所述当前指标进行计算,直至所述有向无环图的目标指标计算完成,得到所述目标指标规则对应的计算结果。
可选的,所述装置还包括:
指标数据保存模块,用于在一个中间指标计算完成后,保存该中间指标对应的计算结果。
可选的,所述逐层计算单元包括:
当前指标计算子单元,用于将所述上游中间指标的计算结果和当前指标对应的实体数据代入当前指标对应的指标规则,得到当前指标的计算结果。
本申请实施例提供的数据规则的处理装置,用于实现本申请实施例一中所述的数据规则的处理方法的各步骤,装置的各模块的具体实施方式参见相应步骤,此处不再赘述。
本申请实施例提供的数据规则的处理装置,通过获取模块获取待处理的目标指标规则和目标指标规则依赖的多个中间指标规则,指标及关系确定模块确定目标指标规则对应的目标指标和多个中间指标以及多个中间指标的上下游依赖关系,有向无环图根据上下游依赖关系,构建目标指标和多个中间指标之间的有向无环图,计算模块根据实体数据、多个中间指标规则和目标指标规则,对有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到目标指标规则的计算结果,在对一个目标指标规则进行处理时,只需要获取到目标指标规则和目标指标规则对应的多个中间指标规则就可以得到该目标指标规则的计算结果,而不用对每个中间指标规则单独编写ETL,打破了实现目标指标规则编写ETL的技术壁垒,提高了规则处理的效率,通过该方式可以处理不同的规则,从而提高了规则处理的可复用性以及通用性,降低了开发成本和维护成本。
实施例三
本申请实施例还提供了一种电子设备,如图6所示,该电子设备600可以包括一个或多个处理器610以及与处理器610连接的一个或多个存储器620。电子设备600还可以包括输入接口630和输出接口640,用于与另一装置或系统进行通信。被处理器610执行的程序代码可存储在存储器620中。
电子设备600中的处理器610调用存储在存储器620的程序代码,以执行上述实施例中的数据规则的处理方法。
上述电子设备中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
相应的,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例一所述的数据规则的处理方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请实施例提供的一种数据规则的处理方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
Claims (10)
1.一种数据规则的处理方法,其特征在于,包括:
获取待处理的目标指标规则和所述目标指标规则依赖的多个中间指标规则,并获取所述目标指标规则对应的实体数据,其中,所述中间指标规则是与中间指标对应的处理规则,是对其他中间指标的计算结果以及实体数据进行计算的公式或汇总函数,所述中间指标是中间指标规则计算结果的标识;
根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的目标指标和多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系;
根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图;
根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的目标指标和多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系,包括:
解析所述目标指标规则,确定所述目标指标规则对应的目标指标,并确定所述目标指标所依赖的上游中间指标;
将所述上游中间指标作为当前中间指标,解析当前中间指标对应的中间指标规则,确定当前中间指标所依赖的上游中间指标;
循环执行上述将确定的上游中间指标作为当前中间指标并确定当前中间指标所依赖的上游中间指标的操作,直至当前中间指标不再依赖上游中间指标,得到目标指标规则对应的目标指标、多个中间指标以及目标指标与多个中间指标的上下游依赖关系。
3.根据权利要求1所述的方法,其特征在于,所述根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图,包括:
确定所述目标指标规则对应的目标指标为有向无环图的根节点;
根据所述上下游依赖关系,将所述根节点所依赖的上游中间指标,作为所述根节点的子节点;
根据所述上下游依赖关系,将所述子节点作为当前节点,并将当前节点所依赖的上游中间指标,作为当前节点的子节点;
循环执行上述将得到的子节点作为当前节点,确定当前节点的子节点的操作,直至当前节点没有所依赖的上游中间指标,得到目标指标和多个中间指标之间的有向无环图。
4.根据权利要求1所述的方法,其特征在于,所述根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果,包括:
根据所述实体数据和所述有向无环图中最底层中间指标对应的中间指标规则,对所述最底层中间指标进行并行计算;
若所述有向无环图中的当前指标所依赖的上游中间指标计算完成,则根据所述上游中间指标的计算结果和所述当前指标对应的指标规则,对所述当前指标进行计算,直至所述有向无环图的目标指标计算完成,得到所述目标指标规则对应的计算结果。
5.根据权利要求4所述的方法,其特征在于,还包括:
在一个中间指标计算完成后,保存该中间指标对应的计算结果。
6.根据权利要求4所述的方法,其特征在于,所述根据所述上游中间指标的计算结果和所述当前指标对应的指标规则,对所述当前指标进行计算,包括:
将所述上游中间指标的计算结果和当前指标对应的实体数据代入当前指标对应的指标规则,得到当前指标的计算结果。
7.一种数据规则的处理装置,其特征在于,包括:
获取模块,用于获取待处理的目标指标规则和所述目标指标规则依赖的多个中间指标规则,并获取所述目标指标规则对应的实体数据,其中,所述中间指标规则是与中间指标对应的处理规则,是对其他中间指标的计算结果以及实体数据进行计算的公式或汇总函数,所述中间指标是中间指标规则计算结果的标识;
指标及关系确定模块,用于根据所述目标指标规则和所述多个中间指标规则,确定所述目标指标规则对应的目标指标和多个中间指标,并确定所述目标指标和多个中间指标的上下游依赖关系;
有向无环图构建模块,用于根据所述上下游依赖关系,构建所述目标指标和多个中间指标之间的有向无环图;
计算模块,用于根据所述实体数据、所述多个中间指标规则和所述目标指标规则,对所述有向无环图中的多个中间指标和目标指标进行计算,获取最终计算结果,得到所述目标指标规则的计算结果。
8.根据权利要求7所述的装置,其特征在于,所述指标及关系确定模块包括:
目标指标解析单元,用于解析所述目标指标规则,确定所述目标指标规则对应的目标指标,并确定所述目标指标所依赖的上游中间指标;
当前指标解析单元,用于将所述上游中间指标作为当前中间指标,解析当前中间指标对应的中间指标规则,确定当前中间指标所依赖的上游中间指标;
第一循环控制单元,用于循环执行上述将确定的上游中间指标作为当前中间指标并确定当前中间指标所依赖的上游中间指标的操作,直至当前中间指标不再依赖上游中间指标,得到目标指标规则中的目标指标、多个中间指标以及目标指标与多个中间指标的上下游依赖关系。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任意一项所述的数据规则的处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任意一项所述的数据规则的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010214828.2A CN111522868A (zh) | 2020-03-24 | 2020-03-24 | 数据规则的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010214828.2A CN111522868A (zh) | 2020-03-24 | 2020-03-24 | 数据规则的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111522868A true CN111522868A (zh) | 2020-08-11 |
Family
ID=71901218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010214828.2A Withdrawn CN111522868A (zh) | 2020-03-24 | 2020-03-24 | 数据规则的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522868A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344442A (zh) * | 2021-06-30 | 2021-09-03 | 平安资产管理有限责任公司 | 指标数据计算方法、装置、计算机设备和存储介质 |
CN114090018A (zh) * | 2022-01-25 | 2022-02-25 | 树根互联股份有限公司 | 工业互联网设备的指标计算方法、装置和电子设备 |
CN114564253A (zh) * | 2022-03-02 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | 任务创建方法、系统、电子设备及可读存储介质 |
CN115934702A (zh) * | 2023-03-14 | 2023-04-07 | 青岛安工数联信息科技有限公司 | 流程工业中数据处理方法、装置、存储介质及处理器 |
CN117149896A (zh) * | 2023-10-31 | 2023-12-01 | 宁德时代新能源科技股份有限公司 | 数据展示方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156782A (zh) * | 2011-04-14 | 2011-08-17 | 国电南瑞科技股份有限公司 | 基于图论的电力系统公式并行运算管理方法 |
CN104933299A (zh) * | 2015-06-03 | 2015-09-23 | 浪潮软件集团有限公司 | 一种数据处理的方法及装置 |
CN106875110A (zh) * | 2017-02-06 | 2017-06-20 | 泰康保险集团股份有限公司 | 业务指标分层计算方法及装置、分布式计算方法及系统 |
CN107122369A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 一种业务数据处理方法、装置和系统 |
CN108629592A (zh) * | 2018-04-28 | 2018-10-09 | 北京三快在线科技有限公司 | 一种结算配置方法及装置和电子设备 |
CN109933617A (zh) * | 2019-03-08 | 2019-06-25 | 恒生电子股份有限公司 | 一种数据处理方法、装置以及相关设备和介质 |
-
2020
- 2020-03-24 CN CN202010214828.2A patent/CN111522868A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156782A (zh) * | 2011-04-14 | 2011-08-17 | 国电南瑞科技股份有限公司 | 基于图论的电力系统公式并行运算管理方法 |
CN104933299A (zh) * | 2015-06-03 | 2015-09-23 | 浪潮软件集团有限公司 | 一种数据处理的方法及装置 |
CN107122369A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 一种业务数据处理方法、装置和系统 |
CN106875110A (zh) * | 2017-02-06 | 2017-06-20 | 泰康保险集团股份有限公司 | 业务指标分层计算方法及装置、分布式计算方法及系统 |
CN108629592A (zh) * | 2018-04-28 | 2018-10-09 | 北京三快在线科技有限公司 | 一种结算配置方法及装置和电子设备 |
CN109933617A (zh) * | 2019-03-08 | 2019-06-25 | 恒生电子股份有限公司 | 一种数据处理方法、装置以及相关设备和介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344442A (zh) * | 2021-06-30 | 2021-09-03 | 平安资产管理有限责任公司 | 指标数据计算方法、装置、计算机设备和存储介质 |
CN114090018A (zh) * | 2022-01-25 | 2022-02-25 | 树根互联股份有限公司 | 工业互联网设备的指标计算方法、装置和电子设备 |
CN114090018B (zh) * | 2022-01-25 | 2022-05-24 | 树根互联股份有限公司 | 工业互联网设备的指标计算方法、装置和电子设备 |
CN114564253A (zh) * | 2022-03-02 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | 任务创建方法、系统、电子设备及可读存储介质 |
CN114564253B (zh) * | 2022-03-02 | 2023-06-09 | 重庆紫光华山智安科技有限公司 | 任务创建方法、系统、电子设备及可读存储介质 |
CN115934702A (zh) * | 2023-03-14 | 2023-04-07 | 青岛安工数联信息科技有限公司 | 流程工业中数据处理方法、装置、存储介质及处理器 |
CN117149896A (zh) * | 2023-10-31 | 2023-12-01 | 宁德时代新能源科技股份有限公司 | 数据展示方法、装置、设备及存储介质 |
CN117149896B (zh) * | 2023-10-31 | 2024-03-26 | 宁德时代新能源科技股份有限公司 | 数据展示方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522868A (zh) | 数据规则的处理方法、装置、电子设备及存储介质 | |
JP7469406B2 (ja) | データ要素間の関係を決定するためのシステム及び方法 | |
US9031895B2 (en) | Matching metadata sources using rules for characterizing matches | |
Génova et al. | A framework to measure and improve the quality of textual requirements | |
JP2020522790A (ja) | 異種にプログラムされたデータ処理システムの自動依存性アナライザ | |
US20130318062A1 (en) | Mapping dataset elements | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
US10282360B2 (en) | Uniform chart formatting based on semantics in data models | |
EP3176706B1 (en) | Automated analysis of data reports to determine data structure and to perform automated data processing | |
CN113018870B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN106484699B (zh) | 数据库查询字段的生成方法及装置 | |
CN114365095A (zh) | 用于评估软件开发者的代码贡献的系统和方法 | |
CN111552690A (zh) | 数据生成方法、装置、终端及存储介质 | |
US10586169B2 (en) | Common feature protocol for collaborative machine learning | |
Prater-Bennette et al. | The proximity operator of the log-sum penalty | |
US20200372019A1 (en) | System and method for automatic completion of queries using natural language processing and an organizational memory | |
CN111639161A (zh) | 制度信息处理方法、装置、计算机系统和介质 | |
Carvalho et al. | DMOSS: Open source software documentation assessment | |
CN115809294A (zh) | 一种基于Spark SQL临时视图的快速ETL方法 | |
Marcheta et al. | Effort estimation modeling of e-government application development using function points based on TOR and SRS document | |
JP2021047833A (ja) | ピボットテーブルを使用する表計算用テンプレート | |
CN111325008A (zh) | 一种基于分布式的公式计算方法 | |
CN109829143B (zh) | 一种在线表格汇总方法及装置 | |
Rohit | Julia Cookbook | |
CN117891458A (zh) | 一种sql语句生成方法、装置、设备及存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200811 |
|
WW01 | Invention patent application withdrawn after publication |