CN109145027A - 数据统计方法、装置、设备及计算机可读存储介质 - Google Patents

数据统计方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN109145027A
CN109145027A CN201710467826.2A CN201710467826A CN109145027A CN 109145027 A CN109145027 A CN 109145027A CN 201710467826 A CN201710467826 A CN 201710467826A CN 109145027 A CN109145027 A CN 109145027A
Authority
CN
China
Prior art keywords
statistical
statistics
data stream
data
original data
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
Application number
CN201710467826.2A
Other languages
English (en)
Inventor
范晓亮
余俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201710467826.2A priority Critical patent/CN109145027A/zh
Publication of CN109145027A publication Critical patent/CN109145027A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种数据统计方法,该方法包括:获取待统计的原始数据流;根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。本发明还公开了一种数据统计装置、设备和一种计算机可读存储介质。本发明能够提高基于Spark平台进行数据统计的代码灵活性,降低代码的开发维护成本。

Description

数据统计方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及大数据处理技术领域,尤其涉及数据统计方法、装置、设备及计算机可读存储介质。
背景技术
Spark是一种专为大规模数据处理而设计的通用计算引擎,近年来,随着大数据平台Spark***的出现和逐步发展成熟,如何在Spark平台上实现各种机器学习和数据挖掘并行化算法设计成为了目前国内外关注的重点。
目前,在基于Spark平台进行数据分析的时候,每新增一类业务统计,开发人员需要重新开发统计代码,需要耗费较多的时间成本和人力成本,而且,业务及其统计规则的变更会引起代码的频繁修改,导致较高的出错几率和测试成本,随着时间的变迁和业务的频繁变化,代码也会越来越臃肿,导致代码难于维护,因而,现有的基于Spark平台进行数据统计的代码灵活性还有待提高。
发明内容
本发明的主要目的在于提出一种数据统计方法、装置及计算机可读存储介质,旨在提高基于Spark平台进行数据统计的代码灵活性,降低代码的开发维护成本。
为实现上述目的,本发明提供一种数据统计方法,所述数据统计方法包括如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
优选地,所述获取待统计的原始数据流的步骤之前,还包括:
设置待生成统计报表的类型,并为每种类型的待生成统计报表设置对应的预处理类信息和统计条件信息;
将设置结果保存至数据统计配置文件中。
优选地,所述获取待统计的原始数据流的步骤包括:
向预设的业务消息***发送消息数据请求;
接收所述业务消息***基于所述消息数据请求返回的消息数据流,将所述消息数据流作为待统计的原始数据流。
优选地,所述根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据的步骤包括:
根据所述预处理类信息中的分隔符将所述原始数据流分割为若干个预处理类;
按照预设的格式转换规则对每个预处理类下的原始数据流进行格式转换,得到对应的统计元数据。
优选地,所述根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表的步骤包括:
根据所述统计条件信息中的逻辑运算表达式对所述统计元数据进行逻辑运算;
根据所述逻辑运算结果生成对应的统计报表。
优选地,所述根据所述逻辑运算结果生成对应的统计报表的步骤之后,还包括:
将生成的所述统计报表存储至Spark平台的数据库中。
优选地,所述数据统计方法还包括:
接收用户的修改指令,根据所述修改指令对所述数据统计配置文件进行修改。
此外,为实现上述目的,本发明还提供一种数据统计装置,所述数据统计装置包括:
获取模块,用于获取待统计的原始数据流;
调用解析模块,用于根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
预处理模块,用于根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
统计模块,用于根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
此外,为实现上述目的,本发明还提供一种数据统计设备,所述数据统计设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据统计程序,所述数据统计程序被所述处理器执行时实现如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据统计程序,所述数据统计程序被处理器执行时实现如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
本发明Spark平台获取待统计的原始数据流;根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。本发明通过在Spark平台中设置数据统计配置文件,并在数据统计配置文件中写入预设类型的待生成统计报表的预处理类信息和统计条件信息,实现了基于Spark平台进行数据统计,相对于现有技术,在业务或统计规则变更时,开发人员只需修改数据统计配置文件中的配置信息,而无需重新开发新的统计代码,从而提高了基于Spark平台进行数据统计的代码灵活性,降低了代码的开发维护成本。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据统计方法第一实施例的流程示意图;
图3为本发明实施例中对原始话单进行统计分析的流程示意图;
图4为本发明数据统计方法第二实施例的流程示意图;
图5为本发明数据统计方法第三实施例的流程示意图;
图6为本发明数据统计方法第四实施例的流程示意图;
图7为本发明数据统计装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:获取待统计的原始数据流;根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
现有技术中,在基于Spark平台进行数据分析的时候,每新增一类业务统计,开发人员需要重新开发统计代码,需要耗费较多的时间成本和人力成本,而且,业务及其统计规则的变更会引起代码的频繁修改,导致较高的出错几率和测试成本,随着时间的变迁和业务的频繁变化,代码也会越来越臃肿,导致代码难于维护。
本发明通过在Spark平台中设置数据统计配置文件,并在数据统计配置文件中写入预设类型的待生成统计报表的预处理类信息和统计条件信息,实现了基于Spark平台进行数据统计,相对于现有技术,在业务或统计规则变更时,开发人员只需修改数据统计配置文件中的配置信息,而无需重新开发新的统计代码,从而提高了基于Spark平台进行数据统计的代码灵活性,降低了代码的开发维护成本。
本发明提供一种数据统计方法。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例数据统计设备可以是服务器、PC机或虚拟机设备。
如图1所示,该数据统计设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及数据统计程序。
在图1所示的数据统计设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据统计程序,并执行以下操作:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
进一步地,处理器1001可以调用存储器1005中存储的数据统计程序,还执行以下操作:
设置待生成统计报表的类型,并为每种类型的待生成统计报表设置对应的预处理类信息和统计条件信息;
将设置结果保存至数据统计配置文件中。
进一步地,处理器1001可以调用存储器1005中存储的数据统计程序,还执行以下操作:
向预设的业务消息***发送消息数据请求;
接收所述业务消息***基于所述消息数据请求返回的消息数据流,将所述消息数据流作为待统计的原始数据流。
进一步地,处理器1001可以调用存储器1005中存储的数据统计程序,还执行以下操作:
根据所述预处理类信息中的分隔符将所述原始数据流分割为若干个预处理类;
按照预设的格式转换规则对每个预处理类下的原始数据流进行格式转换,得到对应的统计元数据。
进一步地,处理器1001可以调用存储器1005中存储的数据统计程序,还执行以下操作:
根据所述统计条件信息中的逻辑运算表达式对所述统计元数据进行逻辑运算;
根据所述逻辑运算结果生成对应的统计报表。
进一步地,处理器1001可以调用存储器1005中存储的数据统计程序,还执行以下操作:
将生成的所述统计报表存储至Spark平台的数据库中。
进一步地,处理器1001可以调用存储器1005中存储的数据统计程序,还执行以下操作:
接收用户的修改指令,根据所述修改指令对所述数据统计配置文件进行修改。
基于上述硬件结构,提出本发明数据统计方法实施例。
参照图2,图2为本发明数据统计方法第一实施例的流程示意图,所述数据统计方法包括:
步骤S10,获取待统计的原始数据流;
本发明数据统计方法应用于Spark平台,Spark平台是目前流行的一种大数据计算和统计平台,通过对大数据进行计算和统计,Spark平台能够实现各种机器学习和数据挖掘。
在本实施例中,首先,Spark平台获取待统计的原始数据流,作为一种实施方式,步骤S10可以包括:
步骤S11,向预设的业务消息***发送消息数据请求;
步骤S12,接收所述业务消息***基于所述消息数据请求返回的消息数据流,将所述消息数据流作为待统计的原始数据流。
上述预设的业务消息***可以为Apache Kafka,Apache Kafka即分布式发布-订阅消息***,主要用于处理活跃的流式数据,Apache Kafka与传统消息***相比,有以下不同:1)它被设计为一个分布式***,易于向外扩展;2)它同时为发布和订阅提供高吞吐量;3)它支持多订阅者,当失败时能自动平衡消费者;4)它将消息持久化到磁盘,因此可用于批量消费。由于Apache Kafka具有上述优势,其目前被广泛应用于消息处理。
具体地,Spark平台向Kafka发送消息数据请求并接收Kafka基于所述消息数据请求返回的消息数据流,然后将该消息数据流作为待统计的原始数据流。当然,上述预设的业务消息***也可以不为Apache Kafka,比如还可以为RabbitMQ、Apache ActiveMQ等业务消息***,具体实施时可进行灵活设置。
步骤S20,根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
在具体实施中,可预先为不同的业务消息***设置不同的数据统计配置文件,然后将设置的数据统计配置文件保存在Spark平台中,其中,数据统计配置文件的格式可以包括ini、xml等,此处不作限定。
在获取到原始数据流后,Spark平台根据原始数据流调用对应的数据统计配置文件,并对数据统计配置文件进行解析,得到预设类型的待生成统计报表的预处理类信息和统计条件信息。其中,待生成统计报表的类型和数量可由管理人员根据业务需要进行灵活设置,对于每个待生成统计报表,其包括预处理类信息和统计条件信息,预处理类信息代表原始数据流的预处理配置,包括预处理类的名称和数量、预处理规则、预处理分隔符等,统计条件信息代表数据统计的运算逻辑配置,包括运算对象、运算表达式等。
步骤S30,根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
该步骤中,Spark平台根据获取到的预处理类信息对原始数据流进行预处理,得到对应的统计元数据。具体地,Spark平台可首先根据预处理类信息中的分隔符对原始数据流进行分割,然后将分割后的原始数据流进行格式转换,以得到不同类型的待生成统计报表对应的统计元数据。除此之外,对原始数据流的预处理还可以包括对数据进行逻辑检查、筛选、清理等,这些预处理可以和上述预处理方案结合使用,以使获取到的统计元数据更加简洁、准确,便于后续统计分析。
步骤S40,根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
在获取到统计元数据后,Spark平台再根据统计条件信息对获取到的统计元数据进行统计,并根据统计结果生成对应的统计报表。具体地,Spark平台可以根据统计条件信息中的逻辑运算表达式对统计元数据进行逻辑运算,从而根据逻辑运算结果生成对应的统计报表,其中,统计条件可以进行灵活设置和修改,比如,统计条件还可以包括对统计元数据执行分类和标记等。
参照图3,图3为本发明实施例中对原始话单进行统计分析的流程示意图。原始话单即从业务消息***获取到的原始数据流,Spark平台首先根据数据统计配置文件中的预处理类对原始话单进行预处理,分别生成对应的预处理报表,即统计元数据,然后再根据数据统计配置文件中的统计条件对统计元数据进行逻辑运算,以生成对应的统计报表,最后,将统计报表存储至Spark平台的数据库中。
需要说明的是,在新增一类业务统计时,管理人员无需重新开发新的统计代码,而只需要对上述预处理类信息和统计条件信息做相应的修改,比如增加或删除预处理类,修改统计条件中的逻辑运算表达式等,实施起来较为方便,且灵活性较高。
在本实施例中,Spark平台获取待统计的原始数据流;根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。本实施例通过在Spark平台中设置数据统计配置文件,并在数据统计配置文件中写入预设类型的待生成统计报表的预处理类信息和统计条件信息,实现了基于Spark平台进行数据统计,相对于现有技术,在业务或统计规则变更时,开发人员只需修改数据统计配置文件中的配置信息,而无需重新开发新的统计代码,从而提高了基于Spark平台进行数据统计的代码灵活性,降低了代码的开发维护成本。
进一步地,参照图4,图4为本发明数据统计方法第二实施例的流程示意图。基于上述图2所示的实施例,在步骤S10之前,还可以包括:
步骤S50,设置待生成统计报表的类型,并为每种类型的待生成统计报表设置对应的预处理类信息和统计条件信息;
步骤S60,将设置结果保存至数据统计配置文件中。
在本实施中,Spark平台可展示交互界面,供管理人员对数据统计配置文件进行相应设置。具体地,Spark平台可根据管理人员的设置指令设置待生成统计报表的类型,并为每种类型的待生成统计报表设置对应的预处理类信息和统计条件信息,其中,待生成统计报表的类型和数量可由管理人员根据业务需要进行灵活设置,比如对于团购业务,管理人员可针对其设置多个类型的统计报表,如团购用户性别统计报表、商品浏览量统计报表、成交量统计报表、成交时间统计报表等,对于每个待生成统计报表,需设置其对应的预处理类信息和统计条件信息,预处理类信息代表原始数据流的预处理配置,包括预处理类的名称和数量、预处理规则、预处理分隔符等,统计条件信息代表数据统计的运算逻辑配置,包括运算对象、运算表达式等。之后,Spark平台将设置结果保存至数据统计配置文件中。
本实施例根据业务类型的不同而为待生成统计报表设置不同的类型,并设置每种待生成统计报表下的预处理类信息和统计条件信息保存至数据统计配置文件中,为后续Spark平台进行数据统计提供了前提保证。
进一步地,参照图5,图5为本发明数据统计方法第三实施例的流程示意图。基于上述图2所示的实施例,步骤S30可以包括:
步骤S31,根据所述预处理类信息中的分隔符将所述原始数据流分割为若干个预处理类;
步骤S32,按照预设的格式转换规则对每个预处理类下的原始数据流进行格式转换,得到对应的统计元数据。
步骤S40可以包括:
步骤S41,根据所述统计条件信息中的逻辑运算表达式对所述统计元数据进行逻辑运算;
步骤S42,根据所述逻辑运算结果生成对应的统计报表。
在本实施例中,预处理类信息中包括由splitter(分类器)配置的分隔符,Spark平台根据该分隔符将原始数据流分割为若干预处理类,并为每个预处理类配置业务逻辑名称,然后再按照预设的格式转换规则对每个预处理类下的原始数据流进行格式转换,得到对应的统计元数据,其中,格式转换规则可以是将普通文本转换为xml格式、json格式或form格式等,以使原始数据流符合既定的数据统计接口所规定的参数格式,经过预处理后,原始数据流即作为统计元数据供后续统计分析。
进一步地,统计条件信息中包括逻辑运算表达式,在对统计元数据进行统计分析时,Spark平台根据逻辑运算表达式对统计元数据进行逻辑运算,逻辑运算包括但不限于||、&&、+、-、*、/、%、==、!=、>、>=、<、<=、()、in、if……else等语法规则,逻辑运算结果包括但不限于int、string等数据类型,之后,Spark平台根据逻辑运算结果生成对应的统计报表。
进一步地,在步骤S42之后,还可以包括:
步骤S43,将生成的所述统计报表存储至Spark平台的数据库中。
该步骤中,Spark平台将生成的统计报表存储至平台数据库,即将统计报表进行入库处理,便于管理人员进行查看和分析。
进一步地,参照图6,图6为本发明数据统计方法第四实施例的流程示意图。基于上述图2所示的实施例,在步骤S40之后,还可以包括:
步骤S70,接收用户的修改指令,根据所述修改指令对所述数据统计配置文件进行修改。
在本实施例中,在业务变更或统计规则变化时,管理人员无需开发新的统计代码,而只需对数据统计配置文件进行修改,比如,Spark平台可以根据用户的修改指令增加或删除数据统计配置文件中的预处理类,或修改统计条件中的逻辑运算表达式等,实施起来较为方便,且灵活性较高。如此,后续Spark平台即根据修改后的数据统计配置文件进行数据统计。
本发明还提供一种数据统计装置。
参照图7,图7为本发明数据统计装置一实施例的功能模块示意图。本发明数据统计装置包括:
获取模块10,用于获取待统计的原始数据流;
本发明数据统计装置应用于Spark平台,Spark平台是目前流行的一种大数据计算和统计平台,通过对大数据进行计算和统计,Spark平台能够实现各种机器学习和数据挖掘。
在本实施例中,首先,获取模块10获取待统计的原始数据流,作为一种实施方式,获取模块10可以向预设的业务消息***发送消息数据请求,然后接收业务消息***基于该消息数据请求返回的消息数据流,作为待统计的原始数据流。
上述预设的业务消息***可以为Apache Kafka,Apache Kafka即分布式发布-订阅消息***,主要用于处理活跃的流式数据,Apache Kafka与传统消息***相比,有以下不同:1)它被设计为一个分布式***,易于向外扩展;2)它同时为发布和订阅提供高吞吐量;3)它支持多订阅者,当失败时能自动平衡消费者;4)它将消息持久化到磁盘,因此可用于批量消费。由于Apache Kafka具有上述优势,其目前被广泛应用于消息处理。
具体地,获取模块10向Kafka发送消息数据请求并接收Kafka基于所述消息数据请求返回的消息数据流,然后将该消息数据流作为待统计的原始数据流。当然,上述预设的业务消息***也可以不为Apache Kafka,比如还可以为RabbitMQ、Apache ActiveMQ等业务消息***,具体实施时可进行灵活设置。
调用解析模块20,用于根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
在具体实施中,可预先为不同的业务消息***设置不同的数据统计配置文件,然后将设置的数据统计配置文件保存在Spark平台中,其中,数据统计配置文件的格式可以包括ini、xml等,此处不作限定。
在获取到原始数据流后,调用解析模块20根据原始数据流调用对应的数据统计配置文件,并对数据统计配置文件进行解析,得到预设类型的待生成统计报表的预处理类信息和统计条件信息。其中,待生成统计报表的类型和数量可由管理人员根据业务需要进行灵活设置,对于每个待生成统计报表,其包括预处理类信息和统计条件信息,预处理类信息代表原始数据流的预处理配置,包括预处理类的名称和数量、预处理规则、预处理分隔符等,统计条件信息代表数据统计的运算逻辑配置,包括运算对象、运算表达式等。
预处理模块30,用于根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
预处理模块30根据获取到的预处理类信息对原始数据流进行预处理,得到对应的统计元数据。具体地,预处理模块30可首先根据预处理类信息中的分隔符对原始数据流进行分割,然后将分割后的原始数据流进行格式转换,以得到不同类型的待生成统计报表对应的统计元数据。除此之外,对原始数据流的预处理还可以包括对数据进行逻辑检查、筛选、清理等,这些预处理可以和上述预处理方案结合使用,以使获取到的统计元数据更加简洁、准确,便于后续统计分析。
统计模块40,用于根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
在获取到统计元数据后,统计模块40再根据统计条件信息对获取到的统计元数据进行统计,并根据统计结果生成对应的统计报表。具体地,统计模块40可以根据统计条件信息中的逻辑运算表达式对统计元数据进行逻辑运算,从而根据逻辑运算结果生成对应的统计报表,其中,统计条件可以进行灵活设置和修改,比如,统计条件还可以包括对统计元数据执行分类和标记等。
参照图3,图3为本发明实施例中对原始话单进行统计分析的流程示意图。原始话单即从业务消息***获取到的原始数据流,数据统计装置首先根据数据统计配置文件中的预处理类对原始话单进行预处理,分别生成对应的预处理报表,即统计元数据,然后再根据数据统计配置文件中的统计条件对统计元数据进行逻辑运算,以生成对应的统计报表,最后,将统计报表存储至Spark平台的数据库中。
需要说明的是,在新增一类业务统计时,管理人员无需重新开发新的统计代码,而只需要对上述预处理类信息和统计条件信息做相应的修改,比如增加或删除预处理类,修改统计条件中的逻辑运算表达式等,实施起来较为方便,且灵活性较高。
在本实施例中,获取模块10获取待统计的原始数据流;调用解析模块20根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;预处理模块30根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;统计模块40根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。本实施例通过在Spark平台中设置数据统计配置文件,并在数据统计配置文件中写入预设类型的待生成统计报表的预处理类信息和统计条件信息,实现了基于Spark平台进行数据统计,相对于现有技术,在业务或统计规则变更时,开发人员只需修改数据统计配置文件中的配置信息,而无需重新开发新的统计代码,从而提高了基于Spark平台进行数据统计的代码灵活性,降低了代码的开发维护成本。
本发明还提供一种数据统计设备。
本发明数据统计设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据统计程序,所述数据统计程序被所述处理器执行时实现如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
其中,在所述处理器上运行的数据统计程序被执行时所实现的方法可参照本发明数据统计方法各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有数据统计程序,所述数据统计程序被处理器执行时实现如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
其中,在所述处理器上运行的数据统计程序被执行时所实现的方法可参照本发明数据统计方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据统计方法,其特征在于,所述数据统计方法包括如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
2.如权利要求1所述的数据统计方法,其特征在于,所述获取待统计的原始数据流的步骤之前,还包括:
设置待生成统计报表的类型,并为每种类型的待生成统计报表设置对应的预处理类信息和统计条件信息;
将设置结果保存至数据统计配置文件中。
3.如权利要求1所述的数据统计方法,其特征在于,所述获取待统计的原始数据流的步骤包括:
向预设的业务消息***发送消息数据请求;
接收所述业务消息***基于所述消息数据请求返回的消息数据流,将所述消息数据流作为待统计的原始数据流。
4.如权利要求1至3中任一项所述的数据统计方法,其特征在于,所述根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据的步骤包括:
根据所述预处理类信息中的分隔符将所述原始数据流分割为若干个预处理类;
按照预设的格式转换规则对每个预处理类下的原始数据流进行格式转换,得到对应的统计元数据。
5.如权利要求4所述的数据统计方法,其特征在于,所述根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表的步骤包括:
根据所述统计条件信息中的逻辑运算表达式对所述统计元数据进行逻辑运算;
根据所述逻辑运算结果生成对应的统计报表。
6.如权利要求5所述的数据统计方法,其特征在于,所述根据所述逻辑运算结果生成对应的统计报表的步骤之后,还包括:
将生成的所述统计报表存储至Spark平台的数据库中。
7.如权利要求1所述的数据统计方法,其特征在于,所述数据统计方法还包括:
接收用户的修改指令,根据所述修改指令对所述数据统计配置文件进行修改。
8.一种数据统计装置,其特征在于,所述数据统计装置包括:
获取模块,用于获取待统计的原始数据流;
调用解析模块,用于根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
预处理模块,用于根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
统计模块,用于根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
9.一种数据统计设备,其特征在于,所述数据统计设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据统计程序,所述数据统计程序被所述处理器执行时实现如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据统计程序,所述数据统计程序被处理器执行时实现如下步骤:
获取待统计的原始数据流;
根据所述原始数据流调用并解析预设的数据统计配置文件,得到预设类型的待生成统计报表的预处理类信息和统计条件信息;
根据所述预处理类信息对所述原始数据流进行预处理,得到对应的统计元数据;
根据所述统计条件信息对所述统计元数据进行统计,根据统计结果生成对应的统计报表。
CN201710467826.2A 2017-06-19 2017-06-19 数据统计方法、装置、设备及计算机可读存储介质 Pending CN109145027A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710467826.2A CN109145027A (zh) 2017-06-19 2017-06-19 数据统计方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710467826.2A CN109145027A (zh) 2017-06-19 2017-06-19 数据统计方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN109145027A true CN109145027A (zh) 2019-01-04

Family

ID=64804601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710467826.2A Pending CN109145027A (zh) 2017-06-19 2017-06-19 数据统计方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109145027A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107563686A (zh) * 2017-08-22 2018-01-09 中国铁道科学研究院电子计算技术研究所 一种铁路运输十八点统计数据校验方法、***和存储介质
CN110032584A (zh) * 2019-03-28 2019-07-19 莆田学院 一种数据统计方法及***
CN111068328A (zh) * 2019-11-19 2020-04-28 深圳市其乐游戏科技有限公司 游戏广告配置表格的生成方法、终端设备及介质
CN111414395A (zh) * 2020-03-27 2020-07-14 中国平安财产保险股份有限公司 数据处理方法、***和计算机设备
CN112364090A (zh) * 2020-11-03 2021-02-12 杭州数梦工场科技有限公司 数据属性展示方法、装置、电子设备
CN113158633A (zh) * 2021-04-16 2021-07-23 浙江鸿程计算机***有限公司 统计报表的处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610531A (zh) * 2009-07-15 2009-12-23 中兴通讯股份有限公司 话单信息性能统计方法及其装置
CN105207794A (zh) * 2014-06-05 2015-12-30 中兴通讯股份有限公司 统计计数设备及其实现方法、具有统计计数设备的***
CN106406858A (zh) * 2016-08-30 2017-02-15 国电南瑞科技股份有限公司 一种基于配置文件的流式统计定义及运行方法
CN106599120A (zh) * 2016-12-01 2017-04-26 中国联合网络通信集团有限公司 基于流处理框架的数据处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610531A (zh) * 2009-07-15 2009-12-23 中兴通讯股份有限公司 话单信息性能统计方法及其装置
US20120173555A1 (en) * 2009-07-15 2012-07-05 Zte Corporation Method and device for realizing the statistic operation of call record information performance
CN105207794A (zh) * 2014-06-05 2015-12-30 中兴通讯股份有限公司 统计计数设备及其实现方法、具有统计计数设备的***
CN106406858A (zh) * 2016-08-30 2017-02-15 国电南瑞科技股份有限公司 一种基于配置文件的流式统计定义及运行方法
CN106599120A (zh) * 2016-12-01 2017-04-26 中国联合网络通信集团有限公司 基于流处理框架的数据处理方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107563686A (zh) * 2017-08-22 2018-01-09 中国铁道科学研究院电子计算技术研究所 一种铁路运输十八点统计数据校验方法、***和存储介质
CN110032584A (zh) * 2019-03-28 2019-07-19 莆田学院 一种数据统计方法及***
CN110032584B (zh) * 2019-03-28 2021-07-02 莆田学院 一种数据统计方法及***
CN111068328A (zh) * 2019-11-19 2020-04-28 深圳市其乐游戏科技有限公司 游戏广告配置表格的生成方法、终端设备及介质
CN111414395A (zh) * 2020-03-27 2020-07-14 中国平安财产保险股份有限公司 数据处理方法、***和计算机设备
CN111414395B (zh) * 2020-03-27 2024-04-30 中国平安财产保险股份有限公司 数据处理方法、***和计算机设备
CN112364090A (zh) * 2020-11-03 2021-02-12 杭州数梦工场科技有限公司 数据属性展示方法、装置、电子设备
CN113158633A (zh) * 2021-04-16 2021-07-23 浙江鸿程计算机***有限公司 统计报表的处理方法及装置

Similar Documents

Publication Publication Date Title
CN109145027A (zh) 数据统计方法、装置、设备及计算机可读存储介质
US10389592B2 (en) Method, system and program product for allocation and/or prioritization of electronic resources
US11567959B2 (en) Self-contained files for generating a visualization of query results
US9110945B2 (en) Support for a parameterized query/view in complex event processing
US8498956B2 (en) Techniques for matching a certain class of regular expression-based patterns in data streams
CN109379326B (zh) Xml报文规则校验方法、设备和存储介质
US10311043B2 (en) Log query user interface
CN110196790A (zh) 异常监控的方法和装置
CN112559301B (zh) 业务处理方法、存储介质、处理器及电子装置
US11875275B1 (en) Custom time series models in computer analytics systems
CN109165053B (zh) 应用软件菜单配置方法、移动终端及计算机可读存储介质
CN107480277A (zh) 用于网站日志采集的方法及装置
CN110427188A (zh) 单测断言程序的配置方法、装置、设备及存储介质
CN106503111A (zh) 网页转码方法、装置及客户终端
CN108958826A (zh) 动态配置应用安装包的方法和装置
CN108960672A (zh) 限额限次的风控方法、装置及计算机可读存储介质
CN110020261A (zh) 文档转换分享方法、装置、设备及可读存储介质
CN110442803A (zh) 由计算设备执行的数据处理方法、装置、介质和计算设备
CN109408577B (zh) Oracle数据库json解析方法、***、装置及可存储介质
CN110297976A (zh) 基于云检索的推荐方法、装置、设备及可读存储介质
CN111159203B (zh) 一种数据关联分析的方法、平台、电子设备及存储介质
CN114297057A (zh) 一种自动化测试用例的设计及使用方法
CN108984221A (zh) 一种多平台用户行为日志的采集方法和装置
CN107544953A (zh) 基于jqGrid的XBRL数据获取与展示***
US20240020311A1 (en) Query-Time Data Sessionization and Analysis

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