CN113468248B - 数据统计方法、装置、设备及存储介质 - Google Patents
数据统计方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113468248B CN113468248B CN202111035725.0A CN202111035725A CN113468248B CN 113468248 B CN113468248 B CN 113468248B CN 202111035725 A CN202111035725 A CN 202111035725A CN 113468248 B CN113468248 B CN 113468248B
- Authority
- CN
- China
- Prior art keywords
- data
- expression
- calculation
- tree
- counted
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据统计方法、装置、设备及存储介质,包括:获取待统计数据;其中,所述待统计数据携带有类型标签和计算标签,所述类型标签用于表征所述待统计数据的指标类型,所述计算标签用于确定所述待统计数据的计算方式;基于所述类型标签和所述计算标签,对所述待统计数据进行相应指标类型内的聚合计算得到聚合数据;获取所述聚合数据的第一树形表达式,基于所述第一树形表达式对所述聚合数据进行树形统计计算,得到所述聚合数据对应的统计结果。本发明通过定义计算标签,可以实现多粒度数据的统一计算,提高数据统计的效率。
Description
技术领域
本发明涉及数据统计技术领域,尤其是涉及一种数据统计方法、装置、设备及存储介质。
背景技术
物联网设备采集的设备指标数据结构简单,基本属性主要有三个,设备指标、值和采集时间,在对设备指标做统计时(分钟、小时、日、月和年等),通常需要根据业务需求分别对设备指标进行计算。例如,基于各主题域利用SQL(Structured Query Language,结构化查询语言)或存储过程对各时间粒度的设备指标进行统计,随着设备指标的增加和业务变更,这种单独计算设备指标的方式已经不能满足快速变化的计算需求,另外,当用户需要对设备指标的计算结果进行修正时,上述计算方式难以实现。
发明内容
有鉴于此,本发明的目的在于提供一种数据统计方法、装置、设备及存储介质,可以实现多粒度数据的统一计算,提高数据统计的效率。
第一方面,本发明实施例提供了一种数据统计方法,包括:获取待统计数据;其中,所述待统计数据携带有类型标签和计算标签,所述类型标签用于表征所述待统计数据的指标类型,所述计算标签用于确定所述待统计数据的计算方式;基于所述类型标签和所述计算标签,对所述待统计数据进行相应指标类型内的聚合计算得到聚合数据;获取所述聚合数据的第一树形表达式,基于所述第一树形表达式对所述聚合数据进行树形统计计算,得到所述聚合数据对应的统计结果。
在一种实施方式中,所述获取待统计数据的步骤,包括:获取原始数据,并确定所述原始数据的处理模式;其中,所述处理模式包括定时处理或实时处理;如果所述处理模式包括所述定时处理,对所述原始数据按照所述指标类型进行分组处理得到待统计数据;如果所述处理模式包括所述实时处理,获取第二树形表达式,利用所述第二树形表达式从所述原始数据中确定待统计数据。
在一种实施方式中,所述利用所述第二树形表达式从所述原始数据中确定待统计数据的步骤,包括:获取第一修正值,并基于所述第二树形表达式和所述第一修正值对应的修正指标构建有向图;其中,所述有向图包含所述原始数据对应的原始指标,所述原始指标包括表达式指标和/或非表达式指标;所述第一修正值对应的所述修正指标为起点,从所述起点沿起点指向遍历所述有向图,得到第一指标集合,其中,所述第一指标集合为所有遍历路径中包含的每个所述原始指标形成的集合;基于所述第二树形表达式,将第一指标集合中的表达式指标替换成相应的非表达式指标,得到第二指标集合;将所述第二指标集合中的非表达式指标对应的数据作为待统计数据。
在一种实施方式中,在获取所述聚合数据的第一树形表达式,基于所述第一树形表达式对所述聚合数据进行树形统计计算,得到所述统计数据对应的统计结果之前,还包括:获取第二修正值,基于所述第二修正值对所述聚合数据进行修正处理得到修正数据,将所述修正数据作为所述聚合数据。
在一种实施方式中,所述基于所述第二修正值对所述聚合数据进行修正处理得到修正数据的步骤,包括:利用所述第二修正值对所述聚合数据中相应待修正数据进行替换,得到修正数据;其中,所述第二修正值的数量与所述待修正数据的数量一致。
在一种实施方式中,在基于所述第一树形表达式对所述聚合数据进行树形统计计算步骤之前,所述方法还包括:如果所述第一树形表达式中相应节点对应的指标缺失,确定缺失节点所属的计算类型;其中,所述第一树形表达式包括多个计算节点,所述计算类型包括加减类型和/或乘除类型;
如果所述缺失节点属于所述加减类型,将所述缺失节点设置为零;如果所述缺失节点属于所述乘除类型,沿所述缺失节点向父节点进行遍历,直至遍历到属于所述加减类型的计算节点,将所述计算节点设置为零。
在一种实施方式中,所述方法还包括:如果沿所述缺失节点向父节点未遍历到属于所述加减类型的计算节点,确定当前第一树形表达式无效,并重新获取第一树形表达式,直至第一树形表达式有效。
第二方面,本发明实施例还提供一种数据统计装置,包括:获取模块,用于获取待统计数据;其中,所述待统计数据携带有类型标签和计算标签,所述类型标签用于表征所述待统计数据的指标类型,所述计算标签用于确定所述待统计数据的计算方式;计算模块,用于基于所述类型标签和所述计算标签,对所述待统计数据进行相应指标类型内的聚合计算得到聚合数据;处理模块,用于获取所述聚合数据的第一树形表达式,基于所述第一树形表达式对所述聚合数据进行树形统计计算,得到所述聚合数据对应的统计结果。
第三方面,本发明实施例还提供一种终端设备,包括存储器以及处理器;所述存储器中存储有在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面和第二方面任一项所述的方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述第一方面和第二方面任一项所述的方法。
本发明实施例提供的数据统计方法、装置、设备及存储介质,首先获取待统计数据,其中,待统计数据中携带类型标签(设备指标)和计算标签,并根据携带的类型标签和计算标签对待统计数据进行聚合计算得到聚合数据,然后获取聚合数据的第一树形表达式,利用该第一树形表达式对聚合数据进行树形统计计算。本发明通过为待统计数据携带类型标签和计算标签,可以实现各时间粒度的数据统一计算,同时还支持在线数据和离线数据的计算,能够简化计算过程、提高计算效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据统计方法的流程示意图;
图2为本发明实施例提供的另一种数据统计方法流程示意图;
图3为本发明实施例提供的一种数据统计方法的有向图;
图4为本发明实施例提供的一种数据统计方法的应用示意图;
图5为本发明实施例提供的一种数据统计的树形表达式示意图;
图6为本发明实施例提供的一种数据统计基础模型示意图;
图7为本发明实施例提供的一种数据统计修正值的树形表达式示意图;
图8为本发明实施例提供的一种数据统计修正值的树形表达式示意图;
图9为本发明实施例提供的一种缺失值处理方式;
图10为本发明实施例提供的另一种缺失值处理方式;
图11为本发明实施例提供的一种树形表达式无效的计算方式;
图12为本发明实施例提供的一种数据统计装置的结构示意图;
图13为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,利用SQL对各时间粒度的设备指标进行统计时存在一些问题:(1)随着设备指标量的增加,数据统计的复杂度大大增加。(2)只能支持简单的缺失值处理,当业务变更或增加设备指标时需要重新编码。(3)进行数据重计算时计算流程复杂、计算性能差。基于此,本发明实施例提供了一种数据统计方法、装置、设备及存储介质,可以给用户提供统一、可配置的计算方式,方便用户根据生产需要随时调整计算方式,用户还可以根据设备指标的计算结果确定是否需要修正,提升计算效率和用户体验。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据统计方法进行详细介绍,具体参见图1所示的一种数据统计方法流程示意图,该方法主要包括以下步骤:
步骤S102,获取待统计数据,其中,待统计数据携带有类型标签和计算标签,类型标签用于表征待统计数据的指标类型,计算标签用于确定待统计数据的计算方式。在实际应用中,计算标签可以定义各类设备指标(类型标签)的计算方式,为设备指标指定计算方式,可以采用通用的聚合计算(平均、求和、最值等)。例如常用的计算标签有,AVG(average,均值):时间范围(例如分钟)内设备指标当前值的平均值;MIN(Minimum,最小值):时间范围(例如分钟)内设备指标当前值的最小值;MAX(Max,最大值):时间范围(例如分钟)内设备指标当前值的最大值;SUM(Sum,求和):时间范围(例如分钟)内设备指标当前值的和;DIFF(Difference,差值):时间范围(例如分钟)内设备末值的当前值减首值的当前值的差值;FIRST(First,首值):时间范围(例如分钟)内首个设备指标的当前值;LAST(Last,末值):时间范围(例如分钟)内最后一个设备指标当前值;INTEGRAL(Integral,积分):时间范围(例如分钟)内相临设备指标以梯形面积实现的积分;EXP(Expression,表达式):四则运算表达式,例如“D=(A+B)*C”,指标D由A、B、C三个计算得到。
所有设备指标都会定义一个唯一计算标签,对于表达式标签,给出表达式定义,例如,设备指标分别为A、B、C,A的计算标签为SUM、B的计算标签为SUM,C的计算标签为EXP,表达式定义为C=A+B。
步骤S104,基于类型标签和计算标签,对待统计数据进行相应指标类型内的聚合计算得到聚合数据。在一种实施方式中,根据待统计数据的指标类型标签和计算标签进行指标类型内的聚合计算,在实际应用中,例如,待统计数据有1、2、3、4、5、6,1、2、3属于类型标签A,A的计算标签为SUM,4、5、6属于类型标签B,B的计算标签为SUM,则对待统计数据进行聚合计算的方式为:计算标签A的SUM,也就是1+2+3,计算标签B的SUM,也就是4+5+6。
步骤S106,获取聚合数据的第一树形表达式,基于第一树形表达式对聚合数据进行树形统计计算,得到聚合数据对应的统计结果。在实际应用中,用户可以根据实际需要设置第一树形表达式,根据用户设置的第一树形表达式可以对聚合数据进行树形统计计算。
另外,在上述步骤S106之前,还包括:获取第二修正值,基于第二修正值对聚合数据进行修正处理得到修正数据,将修正数据作为聚合数据。在实际应用中,用户可以根据聚合数据确定是否需要对聚合数据进行修正,如果需要修正,则利用用户设置的第二修正值替代聚合数据。
本发明实施例提供的一种数据统计方法,首先需要获取待统计数据,其中,待统计数据中携带有类型标签和计算标签,根据类型标签和计算标签对待统计数据进行相应指标类型内的聚合处理得到聚合数据,再利用第一树形表达式对聚合数据进行树形统计计算。其中,类型标签用于表征待统计数据的指标类型,计算标签用于确定待统计数据的计算方式。上述方法可以基于类型标签和计算标签对待统计数据进行相应指标类型内的聚合计算,进而基于获取第一树形表达式对聚合计算得到的聚合数据进一步统计得到所需的统计结果,本发明可以实现各个粒度的数据计算,同时还支持数据的统一计算,简化计算过程、提高计算效率。
在上述步骤S102的基础上,本发明还提供了一种获取待统计数据的实施方式,包括如下步骤1-步骤3:
步骤1,获取原始数据,并确定原始数据的处理模式,其中,处理模式包括定时处理或实时处理,可以根据实际需要选择定时处理、实时处理方式。在一种实施方式中,原始数据可以通过数据接口接入,示例性的,预先配置数据接口,通过调用该数据接口从相关数据库中获取原始数据。
步骤2,如果处理模式包括定时处理,对原始数据按照指标类型进行分组处理得到待统计数据,此时,需要将非表达式类型数据作为待统计数据,如果需要修正,需要利用修正值修正后得到待统计数据。
步骤3,如果处理模式包括实时处理,获取第二树形表达式,利用第二树形表达式从原始数据中确定待统计数据。在实时处理时,需要利用第二树形表达式确定待统计数据,具体方法如下:
获取第一修正值,并基于第二树形表达式和第一修正值对应的修正指标构建有向图;其中,有向图包含原始数据对应的原始指标,原始指标包括表达式指标和/或非表达式指标;第一修正值对应的修正指标为起点,从起点沿起点指向遍历有向图,得到第一指标集合,其中,第一指标集合为所有遍历路径中包含的每个原始指标形成的集合;基于第二树形表达式,将第一指标集合中的表达式指标替换成相应的非表达式指标,得到第二指标集合;将第二指标集合中的非表达式指标对应的数据作为待统计数据。在实际应用中,每种数据都有其对应的设备指标,其中,第一修正值和原始数据具有与其对应的设备指标,例如,温度值对应的设备指标为A,计算标签为SUM,湿度值对应的设备指标为B,计算标签为SUM,光照值对应的设备指标为C,计算标签为A+B,那么,温度修正值对应的指标为A,湿度修正值对应的设备指标为B,光照修正值对应的设备指标为C,同时,可以将A和B视为非表达式指标,C视为表达式指标。另外,在实际应用中,当指标较多时,需要利用重计算进行优化,从众多指标中选择和重计算有关的指标进行计算,具体参见图2所示的另一种数据统计方法流程示意图,包括步骤S202-步骤S214:
步骤S202,载入修正指标和表达式。
步骤S204,表达式构建有向图。
步骤S206,基于修正指标遍历有向图。
步骤S208,合并遍历结果得到集合S1。
步骤S210,确定S1中的表达式指标。
步骤S212,将S1中的表达式指标替换成相应的非表达式指标,得到集合S2。
步骤S214,S2即为重计算指标集。
假设有三个简单的表达式指标C、E和G,其对应的树形表达式为:“C=A+B,E=C+D,G=A+F”,其中,“B”被修正,则可以基于上述表达式构建有向图,如图3所示的一种数据统计方法的有向图,其中,假设“B”为起点,图3中箭头方向用于表征起点指向,示例性的,从“B”遍历有向图可以得到第一指标集合“S1={B,C,E}”,由于第一指标集合中“C”和“E”为表达式指标,则利用“C”和“E”的表达式中所包含的非表达式指标“A”、“B”、“C”和“D”,对上述第一指标集中的“C”和“E”进行替换,即可得到重计算指标集S2“{A,B,C,D }”。
为了便于理解,本发明还提供了一种统计处理方法的应用示意图,具体参见图4所示的一种数据统计方法的应用示意图,包括如下步骤S402-步骤S426:
步骤S402,载入数据和计算标签。
步骤S404,是否定时计算。若是,执行步骤S406;若否,则执行步骤S410。
步骤S406,非表达式数据分组。
步骤S408,合并细粒度修正值。
步骤S410,构建设备指标表达式树。
步骤S412,需要重计算设备指标。
步骤S414,过滤生成非表达式数据。
步骤S416,指标分组聚合计算。
步骤S418,合并粗粒度修正值。
步骤S420,构建设备指标表达式树。
步骤S422,表达式计算。
步骤S424,合并数据。
步骤S426,数据保存。
对于以上计算流程,假设有A、B、C 三个设备指标,计算标签分别为SUM、SUM、EXP(C=A+B),当需要定时计算利用日统计数据指标生成月数据指标时,首先载入A、B、C的日统计值,日、月修正值和计算标签,并根据类型标签将A和B日粒度分组,如果A或B有日修正值,则将先利用日修正值替换日统计值再基于计算标签进行聚合计算,其中,聚合计算是依据计算标签进行的,利用聚合计算得到月统计值时,如果月统计值也存在修正值,则继续用月修正值替换月统计值,最后得到非表达式指标的统计结果。与此同时,类型指标C根据表达式的定义,将A+B转换为二叉表达式树(也即,树形表达式),具体参见图5所示的一种数据统计的树形表达式示意图,在利用树形表达式计算的过程中,还可以做修正值和缺失值处理。当上述非表达式计算和表达式计算结束以后,将二者的计算结果合并将计算结果保存在数据表中。
在实际应用中,我们可以基于真实场景,定义以下设备指标的计算标签,具体参见表1。
基于上述设备标签的定义,可以基于基础数据模型并结合业务需要添加相应的维度,得到最终的数据模型。其中,基础数据模型包括三个数据表和一个计算标签定义表,具体参见图6所示的一种数据统计基础模型示意图,其中,PK(primary key)表示数据表的主键。需要说明的是,计算标签定义表定义设备指标细粒度和粗粒度数据的统计方式,分别对应明细数据到细粒度数据的统计和细粒度数据到粗粒度数据统计。例如,明细数据到分钟粒度数据统计用细粒度计算标签,分钟粒度到小时粒度数据统计、日粒度到月粒度数据统计用粗粒度计算标签。明细数据表保存原始采集的物联网设备指标数据。统计数据表保存设备指标在各时间粒度下的统计值。修正数据表保存用户对各粒度设备指标统计值所做的修正。
另外,数据计算是基于分钟、小时、日、月和年时间粒度的数据做统计(可以根据需要增加周、旬、季等),分为定时计算和实时计算。定时计算时,数据统计可迭代触发(例如按照分钟、小时、日的顺序触发),或者数据齐全时触发,触发后可以按照步骤S402-步骤S426进行计算,并将计算结果保存在设备指标统计表中。实时计算时,一般用于修正数据的应用场景,当用户做数据修正时,则在设备指标值保存到修正数据表后,以消息的方式触发数据统计,统计完数据再通过发送消息的方式逐级触发后续时间粒度的数据统计,例如,日粒度的设备指标被修正,将触发月粒度数据重计算,然后年粒度数据重计算。
本发明还提供一种基于第二修正值对聚合数据进行修正处理得到修正数据的实施方式,包括:利用第二修正值对聚合数据中相应待修正数据进行替换,得到修正数据,其中,第二修正值的数量与待修正数据的数量一致。在实际应用中,聚合数据中可能存在一个或多个待修正数据,第二修正值是与待修正数据对应的数据,因此,第二修正值的数量等于待修正数据的数量,如果需要修正,则用第二修正值替换待修正数据。在构建第一树形表达式时,当遇到需要修正的节点时,该节点不做展开,而是直接用修正后的值替代该节点原来的值,例如,有C和E两个指标,其中,C=A+B,E=C*D,如果C未被修正,则将两个指标的表达式树展开,如果C被修正,则C将不做具体展开,具体参见图7、图8所示的一种数据统计修正值的树形表达式示意图。
在基于第一树形表达式对聚合数据进行树形统计计算步骤之前,还包括:如果第一树形表达式中相应节点对应的指标缺失,确定缺失节点所属的计算类型;其中,第一树形表达式包括多个计算节点,计算类型包括加减类型和/或乘除类型;如果缺失节点属于加减类型,将缺失节点设置为零;如果缺失节点属于乘除类型,沿缺失节点向父节点进行遍历,直至遍历到属于加减类型的计算节点,将计算节点设置为零。在实际应用中,利用树形表达式进行计算时可能会存在某个节点值缺失,对于已经展开的第一树形表达式,如果某个节点值缺失,先判断该缺失节点的计算类型是加减还是乘除,如果是加减计算,则将该缺失节点设置为零,如果是乘除计算,则从缺失节点向父节点遍历直至计算类型为加减类型,并将该计算节点设置为零。如果沿缺失节点向父节点未遍历到属于加减类型的计算节点,确定第一树形表达式无效,并重新获取第一树形表达式,直至第一树形表达式有效。在实际应用中,可通过计算符表征计算类型,为了便于理解,举例说明,当计算符是加减计算时,如果B的值缺失,则直接将B的值替换为零,具体参见如图9所示的一种缺失值处理方式。表达式为A*(B+C*D/E)时,如果E的值缺失,那计算符的父节点为乘除计算,从计算符向根节点(也即,上述父节点)回溯,直到遇到首个加减计算符,该加减计算符所在的子节点即为上述属于加减类型的计算节点,将该回溯路径所包含的所有子节点(包括上述加减计算符所在的子节点)的值设置为零,具体参见图10所示的另一种缺失值的处理方式。如果遍历到根节点也无加减计算符,则该树形表达式无法计算,如果A缺失,则该树形表达式树无效,具体参见如图11所示的一种树形表达式无效的计算方式。经过修正值或缺失值处理后的树形表达式将节点按照遍历保存在栈中,节点出栈,当遇到计算符(加、减、乘、除)时,则利用已经出栈的指标或计算结果做计算。
综上所述,本发明实施例提供的数据统计方法,利用待统计数据携带的类型标签和计算标签进行聚合计算(非表达式计算),再根据修正值和树形表达式进行表达式计算,用户可以根据实际需要设置计算标签和树形表达式,能够用简单的配置方式实现设备指标在各时间粒度下的聚合计算,用户只需要设定设备指标的计算标签。其中,对于非表达式计算,只需要通过设定通用聚合函数或自定义函数分组统一计算,对于表达式计算,也只需设定树形表达式,并根据设定的树形表达式展开为表达式树的结构实现计算,便于用户根据实际需要调整计算规则。通过配置方式实现物联网设备指标的统一计算,可以适用于各时间粒度数据的统计计算,还能够解决计算过程中的缺失值和修正值问题,优化了数据重计算的流程,提升了计算性能。
基于前述实施例所提供的数据统计方法,本发明实施提供了一种数据统计装置,参见图12所示的一种数据统计装置的结构示意图,该装置包括:
获取模块1202,用于获取待统计数据;其中,待统计数据携带有类型标签和计算标签,类型标签用于表征待统计数据的指标类型,计算标签用于确定待统计数据的计算方式;
计算模块1204,用于基于类型标签和计算标签,对待统计数据进行相应指标类型内的聚合计算得到聚合数据;
处理模块1206,用于获取聚合数据的第一树形表达式,基于第一树形表达式对聚合数据进行树形统计计算,得到聚合数据对应的统计结果。
本发明实施例提供的一种数据统计装置,首先需要获取待统计数据,其中,待统计数据中携带有类型标签和计算标签,根据类型标签和计算标签对待统计数据进行相应指标类型内的聚合处理得到聚合数据,再利用聚合数据的第一树形表达式对聚合数据进行树形统计计算得到数据统计结果。上述装置中,用户可以根据类型标签的聚合数据确定是否需要进行修正,在计算过程中可以使用用户提供的修正值,还能根据计算标签实现类型标签的统一计算,支持实时计算和离线计算,能够适应各时间粒度数据的统一计算。
在一种实施方式中,获取模块1202,还用于:获取原始数据,并确定原始数据的处理模式;其中,处理模式包括定时处理或实时处理;如果处理模式包括定时处理,对原始数据按照指标类型进行分组处理得到待统计数据;如果处理模式包括实时处理,获取第二树形表达式,利用第二树形表达式从原始数据中确定待统计数据。
在一种实施方式中,还包括筛选单元,用于:获取第一修正值,并基于第二树形表达式和第一修正值对应的修正指标构建有向图;其中,有向图包含原始数据对应的原始指标,原始指标包括表达式指标和/或非表达式指标;第一修正值对应的修正指标为起点,从起点沿起点指向遍历有向图,得到第一指标集合,其中,第一指标集合为所有遍历路径中包含的每个原始指标形成的集合;基于第二树形表达式,将第一指标集合中的表达式指标替换成相应的非表达式指标,得到第二指标集合;将第二指标集合中的非表达式指标对应的数据作为待统计数据。
在一种实施方式中,还包括修正模块,用于获取第二修正值,基于第二修正值对聚合数据进行修正处理得到修正数据,将修正数据作为聚合数据。
在一种实施方式中,修正模块还用于:利用第二修正值对聚合数据中相应待修正数据进行替换,得到修正数据;其中,第二修正值的数量与待修正数据的数量一致。
在一种实施方式中,还包括缺失值处理单元,用于:如果第一树形表达式相应节点对应的指标缺失,确定缺失节点所属的计算类型;其中,第一树形表达式包括多个计算节点,计算类型包括加减类型和/或乘除类型;如果缺失节点属于加减类型,将缺失节点设置为零;如果缺失节点属于乘除类型,沿缺失节点向父节点进行遍历,直至遍历到属于加减类型的计算节点,将计算节点设置为零。
在一种实施方式中,如果沿缺失节点向父节点未遍历到属于加减类型的计算节点,确定当前第一树形表达式无效,并重新获取第一树形表达式,直至第一树形表达式有效。
本实施例所提供的系统,其实现原理及产生的技术效果和前述实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种终端设备,具体的,该终端设备包括处理器和存储器;存储器上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。
图13本发明实施例提供的一种终端设备的结构示意图,该终端设备100包括:处理器130,存储器131,总线132和通信接口133,所述处理器130、通信接口133和存储器131通过总线132连接;处理器130用于执行存储器131中存储的可执行模块,例如计算机程序。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器131用于存储程序,所述处理器130在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器130中,或者由处理器130实现。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种数据统计方法,其特征在于,包括:
获取待统计数据;其中,所述待统计数据携带有类型标签和计算标签,所述类型标签用于表征所述待统计数据的指标类型,所述计算标签用于确定所述待统计数据的计算方式;
基于所述类型标签和所述计算标签,对所述待统计数据进行相应指标类型内的聚合计算得到聚合数据;
获取所述聚合数据的第一树形表达式,基于所述第一树形表达式对所述聚合数据进行树形统计计算,得到所述聚合数据对应的统计结果;
所述获取待统计数据的步骤,包括:获取原始数据,并确定所述原始数据的处理模式;如果所述处理模式包括实时处理,获取第二树形表达式,利用所述第二树形表达式从所述原始数据中确定待统计数据;
所述利用所述第二树形表达式从所述原始数据中确定待统计数据的步骤,包括:获取第一修正值,并基于所述第二树形表达式和所述第一修正值对应的修正指标构建有向图;其中,所述有向图包含所述原始数据对应的原始指标,所述原始指标包括表达式指标和/或非表达式指标;所述第一修正值对应的所述修正指标为起点,从所述起点沿起点指向遍历所述有向图,得到第一指标集合,其中,所述第一指标集合为所有遍历路径中包含的每个所述原始指标形成的集合;基于所述第二树形表达式,将第一指标集合中的表达式指标替换成相应的非表达式指标,得到第二指标集合;将所述第二指标集合中的非表达式指标对应的数据作为待统计数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述处理模式包括定时处理,对所述原始数据按照所述指标类型进行分组处理得到待统计数据。
3.根据权利要求1所述的方法,其特征在于,在获取所述聚合数据的第一树形表达式,基于所述第一树形表达式对所述聚合数据进行树形统计计算,得到所述统计数据对应的统计结果之前,还包括:
获取第二修正值,基于所述第二修正值对所述聚合数据进行修正处理得到修正数据,将所述修正数据作为所述聚合数据。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第二修正值对所述聚合数据进行修正处理得到修正数据的步骤,包括:
利用所述第二修正值对所述聚合数据中相应待修正数据进行替换,得到修正数据;其中,所述第二修正值的数量与所述待修正数据的数量一致。
5.根据权利要求1所述的方法,其特征在于,在基于所述第一树形表达式对所述聚合数据进行树形统计计算步骤之前,所述方法还包括:
如果所述第一树形表达式中相应节点对应的指标缺失,确定缺失节点所属的计算类型;其中,所述第一树形表达式包括多个计算节点,所述计算类型包括加减类型和/或乘除类型;
如果所述缺失节点属于所述加减类型,将所述缺失节点设置为零;
如果所述缺失节点属于所述乘除类型,沿所述缺失节点向父节点进行遍历,直至遍历到属于所述加减类型的计算节点,将所述计算节点设置为零。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果沿所述缺失节点向父节点未遍历到属于所述加减类型的计算节点,确定当前第一树形表达式无效,并重新获取第一树形表达式,直至第一树形表达式有效。
7.一种数据统计装置,其特征在于,包括:
获取模块,用于获取待统计数据;其中,所述待统计数据携带有类型标签和计算标签,所述类型标签用于表征所述待统计数据的指标类型,所述计算标签用于确定所述待统计数据的计算方式;
计算模块,用于基于所述类型标签和所述计算标签,对所述待统计数据进行相应指标类型内的聚合计算得到聚合数据;
处理模块,用于获取所述聚合数据的第一树形表达式,基于所述第一树形表达式对所述聚合数据进行树形统计计算,得到所述聚合数据对应的统计结果;
所述获取模块还用于:获取原始数据,并确定所述原始数据的处理模式;如果所述处理模式包括实时处理,获取第二树形表达式,利用所述第二树形表达式从所述原始数据中确定待统计数据;
所述获取模块还用于:获取第一修正值,并基于所述第二树形表达式和所述第一修正值对应的修正指标构建有向图;其中,所述有向图包含所述原始数据对应的原始指标,所述原始指标包括表达式指标和/或非表达式指标;所述第一修正值对应的所述修正指标为起点,从所述起点沿起点指向遍历所述有向图,得到第一指标集合,其中,所述第一指标集合为所有遍历路径中包含的每个所述原始指标形成的集合;基于所述第二树形表达式,将第一指标集合中的表达式指标替换成相应的非表达式指标,得到第二指标集合;将所述第二指标集合中的非表达式指标对应的数据作为待统计数据。
8.一种终端设备,其特征在于,包括存储器以及处理器;所述存储器中存储有在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111035725.0A CN113468248B (zh) | 2021-09-06 | 2021-09-06 | 数据统计方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111035725.0A CN113468248B (zh) | 2021-09-06 | 2021-09-06 | 数据统计方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468248A CN113468248A (zh) | 2021-10-01 |
CN113468248B true CN113468248B (zh) | 2021-12-21 |
Family
ID=77867461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111035725.0A Active CN113468248B (zh) | 2021-09-06 | 2021-09-06 | 数据统计方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468248B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116911642B (zh) * | 2023-09-12 | 2023-12-26 | 中国长江电力股份有限公司 | 面向多维多态的水电机组设备指标计算系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393868A (zh) * | 2011-10-21 | 2012-03-28 | 克拉玛依红有软件有限责任公司 | 一种实现解决具有复杂计算关系的指标计算模型的方法 |
CN102571406A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团河北有限公司 | 数据业务节点质量分析方法、装置及数据业务短板分析系统 |
CN102622396A (zh) * | 2011-11-30 | 2012-08-01 | 浙江大学 | 一种基于标签的web服务聚类方法 |
CN109636304A (zh) * | 2018-10-29 | 2019-04-16 | 浙江口碑网络技术有限公司 | 业务系统的发布方法及装置、存储介质、电子装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307057A (zh) * | 2020-10-27 | 2021-02-02 | 北京健康之家科技有限公司 | 数据的处理方法及装置、电子设备、计算机存储介质 |
-
2021
- 2021-09-06 CN CN202111035725.0A patent/CN113468248B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571406A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团河北有限公司 | 数据业务节点质量分析方法、装置及数据业务短板分析系统 |
CN102393868A (zh) * | 2011-10-21 | 2012-03-28 | 克拉玛依红有软件有限责任公司 | 一种实现解决具有复杂计算关系的指标计算模型的方法 |
CN102622396A (zh) * | 2011-11-30 | 2012-08-01 | 浙江大学 | 一种基于标签的web服务聚类方法 |
CN109636304A (zh) * | 2018-10-29 | 2019-04-16 | 浙江口碑网络技术有限公司 | 业务系统的发布方法及装置、存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113468248A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471916B (zh) | 数据库的查询方法、装置、服务器及介质 | |
CN110622156B (zh) | 用于查询大图的增量图计算方法及设备 | |
CN113468248B (zh) | 数据统计方法、装置、设备及存储介质 | |
CN111144082B (zh) | 多表格迭代计算方法、装置、电子设备及存储介质 | |
US20220358119A1 (en) | Blockchain consensus method, apparatus and device | |
WO2022262446A1 (zh) | 分层裁剪区块链交易内数据的方法、装置、设备及介质 | |
CN113486008A (zh) | 数据血缘分析方法、装置、设备及存储介质 | |
CN112559524A (zh) | 一种指标数据库建立方法、装置及存储介质 | |
CN108595685B (zh) | 一种数据处理方法及装置 | |
CN107679107B (zh) | 一种基于图数据库的电网设备可达性查询方法及系统 | |
CN104462095A (zh) | 一种查询语句公共部分的提取方法及装置 | |
CN111563094A (zh) | 一种数据查询方法及装置、电子设备、计算机可读存储介质 | |
CN111190896A (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
US20230214355A1 (en) | Storage of order books with persistent data structures | |
CN112487122B (zh) | 地址归一化处理方法及装置 | |
CN112231942A (zh) | 物模型处理方法、装置和电子设备 | |
CN110990401B (zh) | 一种酒店搜索方法及系统 | |
CN110765100B (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
CN113918771A (zh) | 批流融合的信息处理方法和装置、存储介质 | |
CN111782479A (zh) | 日志处理方法、装置、电子设备及计算机可读存储介质 | |
CN109739876B (zh) | 基于Sqltoy-orm框架的数据库的数据查询方法和装置 | |
CN114579419A (zh) | 一种数据处理方法及装置、存储介质 | |
CN108052522B (zh) | 一种对olap预计算模型进行动态优化的方法及系统 | |
CN112732710A (zh) | 数据处理方法、装置以及电子设备 | |
CN112000709B (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 |