CN103345527B - 数据智能统计*** - Google Patents
数据智能统计*** Download PDFInfo
- Publication number
- CN103345527B CN103345527B CN201310311245.1A CN201310311245A CN103345527B CN 103345527 B CN103345527 B CN 103345527B CN 201310311245 A CN201310311245 A CN 201310311245A CN 103345527 B CN103345527 B CN 103345527B
- Authority
- CN
- China
- Prior art keywords
- data
- statistics
- module
- statistical
- field
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机技术及通信领域,具体而言,涉及一种数据智能统计***。本发明将源数据按字段进行分组,通过设置适当的分组个数及设置适当的统计时间粒度及超时时间使数据统计模块对内存的占用处于适当的程度,***管理模块根据CPU的使用状况增加或减少并行处理的数据统计模块的个数,以实现对CPU的最优化利用。通过CPU及内存的优化利用降低从收到业务数据到生成最终统计结果之间的时延。
Description
技术领域
本发明涉及计算机技术及通信领域,具体而言,涉及一种数据智能统计***。
背景技术
随着移动通信技术的不断发展,GSM网络承载了越来越多种类的信令数据和业务数据。通过对GSM网络中的信令数据和业务数据进行精确分析,可以准确、有效地获取当前GSM网络的运行状态及服务质量,为GSM网络的管理、维护以及进一步提升GSM网络服务质量和用户体验提供强有力的数据支撑。
传统的GSM数据统计***实现原理通过将数据导入到数据库如db2,oracle,mysql中,再通过sql语句来分组排序查询数据将结果保存起来,这一方法在数据量比较小的时侯可以容易的实现数据统计功能。在数据量稍微大一点就会增加数据库的磁盘IO,内存,CPU的开销,降低了数据库的性能导致***其他服务响应缓慢,而且数据统计的时间存在较大的延时。综上所述,现有的GSM数据统计分析***还有一定改进空间。
发明内容
本发明所要解决的技术问题是:提出一种数据智能统计***,降低从收到业务数据到生成最终统计结果之间的时延。
本发明提供的数据智能统计***,包括:***管理模块、数据接收模块、文件管理模块、数据统计模块、规则解析模块、数据汇总模块;
其中:
所述***管理模块用于对其他各模块进行启动、停止、调度管理及运行状态监测;
所述规则解析模块包含:源数据抽取字段表、字段映射关系表、汇总定义表、数据映射表、统计文件控制表;
所述数据接收模块用于接收源数据并解析该源数据的包头ID,并检查所述数据映射表中是否包含该包头ID,如不包含,则将该源数据返回;如包含,则将该源数据及其数据格式透传到文件管理模块;
所述文件管理模块用于接收到该源数据后,根据源数据抽取字段表对该源数据进行数据抽取,并按照设定的统计时间粒度将数据抽取后的源数据按统计文件控制表分组存放到各统计文件中;同时,设定一个超时时间,在存放一次数据之后,如果在一个统计时间粒度加上设定的超时时间之后还是没有该时间粒度的数据到来,则将各组统计文件发送给数据统计模块;
所述数据统计模块用于将各统计文件根据字段映射关系表的统计规则进行统计,生成统计表各字段的统计值;
所述数据汇总模块用于根据汇总定义表将统计表各字段的统计值还原成单条记录。
进一步地,所述***管理模块还用于根据CPU的负荷情况增加或减少并行处理的数据统计模块的个数。
进一步地,所述***管理模块还用于对异常状况进行报警及生成日志信息。
进一步地,所述源数据抽取字段表中包含源数据的字段抽取规则。
进一步地,所述字段映射关系表中包含从源数据的字段到统计表的字段之间的映射关系,及统计表各字段的统计规则。
进一步地,所述汇总定义表中包含数据汇总规则。
进一步地,所述数据映射表中包含源数据包头ID与统计表的对应关系。
进一步地,所述统计文件控制表中包含源数据的包头ID与该源数据的分组个数及分组字段的对应关系。
进一步地,所述统计时间粒度为15分钟。
进一步地,所述分组个数为6个。
与现有技术相比,本发明将源数据按字段进行分组,通过设置适当的分组个数及设置适当的统计时间粒度及超时时间使数据统计模块对内存的占用处于适当的程度,***管理模块根据CPU的使用状况增加或减少并行处理的数据统计模块的个数,以实现对CPU的最优化利用。通过CPU及内存的优化利用降低从收到业务数据到生成最终统计结果之间的时延。
附图说明
图1:本发明提供的数据智能统计***模块示意图;
图2:本发明提供的数据智能统计***总体工作流程示意图;
图3:本发明提供的统计映射表;
图4:本发明提供的统计映射表配置说明;
图5:本发明提供的字段映射关系表;
图6:本发明提供的源数据抽取字段表;
图7:本发明提供的汇总定义表;
图8:本发明提供的数据映射表;
图9:本发明提供的统计文件控制表;
图10:本发明提供的数据接收模块处理流程;
图11:本发明提供的文件管理模块处理流程;
图12:本发明提供的数据抽取过程;
图13:本发明提供的比较树;
图14:本发明提供的最终数据模型。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
图1为本发明提供的数据智能统计***模块示意图,图2为该数据智能统计***的总体工作流程示意图。如图1,本发明提供的数据统计***分为:***管理模块1、规则解析模块2、数据接收模块3、文件管理模块4、数据统计模块5、数据汇总模块6。下面分别对该***中各个模块的功能和模块之间功能联动进行详细说明。
一、***管理模块:
***管理模块1主要负责对规则解析模块2、数据接收模块3、文件管理模块4、数据统计模块5、数据汇总模块6的启动、停止、调度管理,如统计文件有积压时***管理模块1调度适当个数的数据统计模块5进行并行处理,加快数据统计速度。当CPU负荷过大时,***管理模块1适当减少并行处理的数据统计模块5的个数,以加快CPU的数据统计速度。同时,***管理模块1对其他模块的运行状态进行实时监控,如果其他模块处于异常状态则产生告警并生成日志信息。在***运行过程中,***管理模块1对日志信息的数据量进行控制,使日志数据量控制在一定的范围内,减少对***磁盘空间的占用。
二、规则解析模块:
规则解析模块2在整个***中控制数据接收模块3、文件管理模块4、数据统计模块5、数据汇总模块6的工作。配置定义了数据接收模块3可以处理的数据,文件管理模块4的统计文件的内容,数据统计模块5的统计规则和数据汇总模块6的汇总内容。这些配置信息在***启动时被加载到缓存中,如图3所示的统计映射表。该统计映射表的配置说明如图4。
一般而言,要对原始数据进行统计,需要得到3个信息:数据格式描述信息、统计规则信息以及统计结果统计表信息。数据格式描述信息用于从原始数据中抽取字段值,统计规则信息用于对字段值进行统计,而统计结果统计表信息则用于辅助把统计结果保存到统计表中。图1所示的统计映射表即描述了这三者之间的关系。规则解析模块2解析统计映射表后在模块内生成了如字段映射关系表(图5),源数据抽取字段表(图6),汇总定义表(图7),数据映射表(图8)以及统计文件控制表(图9)。
三、数据接收模块:
根据图10中数据接收模块3的处理流程所示,当有数据进入数据接收模块3时,数据接收模块3接收源数据并解析该源数据的包头ID,同时,检查数据映射表中是否含有对应的包头ID映射关系。如果没有对应的包头ID映射关系,则将该源数据直接返回;如果有对应的包头ID映射关系,则将该源数据及其数据格式透传给文件管理模块4。
四、文件管理模块:
图11是文件管理模块4的处理流程示意图。文件管理模块4的出现,主要是为了避免数据统计模块5短时间内待处理的统计文件数据量过大,从而导致内存占用暴增的问题。文件管理模块4把***磁盘作为二级缓存。文件管理模块4接收到数据接收模块3透传过来的源数据后,不会直接将该源数据发送给数据统计模块5进行处理,而是检测源数据的时间信息,然后按设定的统计时间粒度对源数据进行数据抽取,数据抽取时根据源数据抽取字段表进行。文件管理模块4根据统计文件控制表将数据抽取后的源数据重新分组为若干个统计文件8作为中间数据。统计文件8的类型按源数据抽取字段表配置,数据抽取过程参见图12数据抽取过程。统计时间粒度即时间跨度,统计时间粒度及分组个数的设定会影响到每个统计文件8的大小。如果统计时间粒度过小或分组个数过多,会造成生成的统计文件8个数过多,使统计文件读写变慢;如果统计时间粒度过大或分组个数过少,则会导致每个统计文件8的数据量过大,会增加数据统计模块5对内存的占用。在本实施例中,设定统计时间粒度为15分钟,分组个数为6个。即文件管理模块4根据源数据的时间信息,将每个15分钟段内的源数据进行数据抽取,然后存放到6个统计文件8中。数据的统计文件名为如:CSourceMsg.1368448200.n.dat,其中n取值为0、1、2、3、4、5。该15分钟段内的源数据进行数据抽取后,分组字段相同的数据的存入同一个统计文件8中。创建统计文件8的同时设定一个超时时间(如10分钟),在向统计文件8存入一次数据之后,如果在一个统计时间粒度加上设定的超时时间之后还是没有相同统计时间粒度的数据到来,则将各统计文件8发送给数据统计模块5。通过调整统计文件8生成的个数来调节***性能。统计文件8数量太多会导致文件读写变慢,通过使统计文件8的大小和个数控制在合理的范围内可提升***的资源利用率。
文件管理模块4在***中处理逻辑相对简单,统计文件8分类的个数及文件超时的时间控制却至关重要。如果统计文件8的个数太小,会导致每个统计文件的数据增大,后续数据统计模块5需要缓存的物理空间也就也越大。因此,在配置时尽可能使数据均匀的数据字段作为统计文件8的分组字段,避免一部分统计文件8数据过大而另一部分统计文件8数据过小而使数据分布不均匀。各统计文件8的大小分布不均匀也会导致数据统计模块5的物理内存占用增大。如果统计时间粒度过大或者超时时间过长也会导致每个统计文件8的数据过大,与统计文件8个数太少一样会导致后续数据统计模块5的内存开销增大及导致磁盘IO爆发式的增高从而使***出现雪崩效应。
五、数据统计模块:
数据统计模块5与规则解析模块2协同工作,共同完成对统计文件8中的数据的统计。数据统计模块5负责对统计流程进行控制,同时调用规则解析模块2提供的公用接口生成各个统计字段的统计值。在本实施例中,统计文件8的统计结果记入统计表table1中,统计表table1设定统计时间粒度为15分钟,对抽取的时间m_uiEndTime(1368448314)进行15分钟取整,结果为1368448200。
数据统计模块5的核心数据结构是比较树。如图13,在比较树中,从根节点到叶子节点(不包含叶子节点),每个节点都是一个类似于标准模板库中的键值映射数据结构,其中存放了对应统计表某个字段值的集合,字段在统计树中的位置顺序(从根节点到叶子节点)和配置文件中字段的描述顺序一一对应,而比较树的高度取决于统计表分组字段的个数,宽度则取决于分组字段的取值范围。
每个统计表都和一颗比较树相关联,因此各个统计表之间是不会交叉影响的。在对一个数据进行统计时,数据统计模块5依次从该数据中获取分组字段值,查找对应比较树高度的键值映射,若字段不存在,则需要添加一个字段值,直到找到对应统计时间值为止。在确定好统计时间节点后,则可以取得对应的统计记录的指针,统计记录中包含了各个统计字段当前的统计值,找到统计记录后,数据统计模块5依次对每个统计字段调用规则解析模块2的功能接口以获取对应字段的统计值,并按照统计规则将字段统计值更新到统计记录相应位置。
根据上述理论基础,在本实施例中,数据统计模块5当收到文件管理模块4发送的统计文件8后,首先到规则解析模块2读取统计文件8相关信息如每条记录的长度、记录字段数,同时读取统计文件8的内容并解析成图12中的中间数据。接下来进入***数据的汇总功能流程。读取图5中的分组key并根据这些key和统计文件8中的数据内容建立一颗可快速查找的比较树。子节点取值于分组key的值,并且建树的顺序与分组key的顺序完全一样,叶子节点存放统计记录如Record1、Record2、Record3、Record4。最后生成的数据模型见图14所示。叶子节点的记录集则按图5记录数据。
当一个统计文件8全部被处理完时,即一个统计周期也完毕。这时将整个比较树数据送往数据汇总模块6进行数据汇总入库。模块在处理过程中一方面有多个统计表同时处理,另一方面统计文件8的比较树数据全部在内存中缓存,所以统计数据模块6工作时对CPU和内存资源占用相对较多。对内存的控制方面则通过在前端文件管理模块4划分多统计文件8的方式使统计文件数据量在一定范围内同时每个统计文件8的数据量均匀分布。而对于CPU资源的控制则根据服务器的实际情况来配置同时处理的统计表的个数。如果***CPU比较充足可以多统计表同时做统计,如果少则只能配置较少的统计表同时统计。
六、数据汇总模块:
数据汇总模块6读取汇总定义表信息对比较树数据的结果如图14还原成单条记录。首先从根节点开始的第一个子节点读取数据,然后再读取下一级节点的第一个子节点直到读取到叶子节点为止,最后将这些数据组合成一条完整的统计结果记录。完成一个叶子节点的统计信息后删除该叶子节点,直到根节点下无子节点为止,这时一个完整的数据生成流程完成。重复此过程直到根节点的子节点为空,表示所有的记录结果生成完毕。生成的记录结果按一定的格式保存到数据文件9中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据智能统计***,其特征在于,所述数据智能统计***包括:***管理模块、数据接收模块、文件管理模块、数据统计模块、规则解析模块、数据汇总模块;
其中:
所述***管理模块用于对其他各模块进行启动、停止、调度管理及运行状态监测;
所述规则解析模块包含:源数据抽取字段表、字段映射关系表、汇总定义表、数据映射表、统计文件控制表;
所述数据接收模块用于接收源数据并解析该源数据的包头ID,并检查所述数据映射表中是否包含该包头ID,如不包含,则将该源数据返回;如包含,则将该源数据及其数据格式透传到文件管理模块;
所述文件管理模块用于接收到该源数据后,根据源数据抽取字段表对该源数据进行数据抽取,并按照设定的统计时间粒度将数据抽取后的源数据按统计文件控制表分组存放到各统计文件中;同时,设定一个超时时间,在存放一次数据之后,如果在一个统计时间粒度加上设定的超时时间之后还是没有该时间粒度的数据到来,则将各组统计文件发送给数据统计模块;
所述数据统计模块用于将各统计文件根据字段映射关系表的统计规则进行统计,生成统计表各字段的统计值;
所述数据汇总模块用于根据汇总定义表将统计表各字段的统计值还原成单条记录;
所述统计文件控制表中包含源数据的包头ID与该源数据的分组个数及分组字段的对应关系;
所述字段映射关系表中包含从源数据的字段到统计表的字段之间的映射关系,及统计表各字段的统计规则。
2.如权利要求1所述的数据智能统计***,其特征在于,所述***管理模块还用于根据CPU的负荷情况增加或减少并行处理的数据统计模块的个数。
3.如权利要求1所述的数据智能统计***,其特征在于,所述***管理模块还用于对异常状况进行报警及生成日志信息。
4.如权利要求1所述的数据智能统计***,其特征在于,所述源数据抽取字段表中包含源数据的字段抽取规则。
5.如权利要求1所述的数据智能统计***,其特征在于,所述汇总定义表中包含数据汇总规则。
6.如权利要求1所述的数据智能统计***,其特征在于,所述数据映射表中包含源数据包头ID与统计表的对应关系。
7.如权利要求1所述的数据智能统计***,其特征在于,所述统计时间粒度为15分钟。
8.如权利要求1所述的数据智能统计***,其特征在于,所述分组个数为6个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310311245.1A CN103345527B (zh) | 2013-07-23 | 2013-07-23 | 数据智能统计*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310311245.1A CN103345527B (zh) | 2013-07-23 | 2013-07-23 | 数据智能统计*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103345527A CN103345527A (zh) | 2013-10-09 |
CN103345527B true CN103345527B (zh) | 2016-10-19 |
Family
ID=49280322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310311245.1A Active CN103345527B (zh) | 2013-07-23 | 2013-07-23 | 数据智能统计*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103345527B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989072B (zh) * | 2015-02-10 | 2019-09-27 | 阿里巴巴集团控股有限公司 | 去重计数方法及设备 |
CN106294427A (zh) * | 2015-05-26 | 2017-01-04 | 北大方正集团有限公司 | 稿件统计方法和稿件统计*** |
CN109063115A (zh) * | 2018-07-30 | 2018-12-21 | 淮安信息职业技术学院 | 一种基于在线大数据的智能统计***及方法 |
CN110109955A (zh) * | 2019-03-15 | 2019-08-09 | 平安科技(深圳)有限公司 | 数据调用量统计方法、***、计算机装置及可读存储介质 |
CN115439957B (zh) * | 2022-09-14 | 2023-12-08 | 上汽大众汽车有限公司 | 一种智能驾驶数据采集方法、采集装置、采集设备及一种计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533406B (zh) * | 2009-04-10 | 2010-10-13 | 北京锐安科技有限公司 | 一种海量数据查询方法 |
CN102298623A (zh) * | 2011-08-15 | 2011-12-28 | 北京神州泰岳软件股份有限公司 | 话单数据采集方法 |
CN102332026A (zh) * | 2011-10-10 | 2012-01-25 | 深圳中兴网信科技有限公司 | 一种业务数据库查询统计方法 |
-
2013
- 2013-07-23 CN CN201310311245.1A patent/CN103345527B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103345527A (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102099544B1 (ko) | 스트리밍 데이터의 분배 처리 방법 및 디바이스 | |
CN103345527B (zh) | 数据智能统计*** | |
CN102638584B (zh) | 数据分布缓存方法及*** | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN105631003A (zh) | 支持海量数据分组统计的智能索引构建、查询及维护方法 | |
CN103064933A (zh) | 数据查询方法及*** | |
CN111782718B (zh) | 插件化数据报送***及数据报送方法 | |
CN104615785A (zh) | 一种基于TYKY cNosql数据库的数据存储方法及装置 | |
US11809468B2 (en) | Phrase indexing | |
US11507555B2 (en) | Multi-layered key-value storage | |
CN107025298A (zh) | 一种大数据实时计算处理***及方法 | |
CN110414259A (zh) | 一种构建数据类目、实现数据共享的方法及设备 | |
CN110659283A (zh) | 数据标签处理方法、装置、计算机设备及存储介质 | |
CN104462095B (zh) | 一种查询语句公共部分的提取方法及装置 | |
CN114741368A (zh) | 基于人工智能的日志数据统计方法及相关设备 | |
CN116719822B (zh) | 一种海量结构化数据的存储方法及*** | |
CN105718485B (zh) | 一种将数据录入数据库的方法及装置 | |
CN113868138A (zh) | 测试数据的获取方法、***、设备及存储介质 | |
CN101799803A (zh) | 信息处理方法、模块及*** | |
CN112364189B (zh) | 一种依托es服务的电子证照应用方法 | |
McGlothlin et al. | Scalable queries for large datasets using cloud computing: a case study | |
US11657032B2 (en) | Compacted table data files validation | |
US20230334068A1 (en) | Data processing method and apparatus thereof, electronic device, and computer-readable storage medium | |
CN107958011B (zh) | 一种基于Discuz社区的快速统计方法 | |
CN115964529A (zh) | 基于特征提取的车辆循迹方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 401120 No.2, 7th floor, Fenghuang a building, No.18, Qingfeng North Road, Yubei District, Chongqing Patentee after: Broid Technology Co.,Ltd. Address before: No.1, area a, 3 / F, B1 building, Shenzhen digital technology park, No.002, Gaoxin South 7th Road, Nanshan District, Shenzhen, Guangdong 518000 Patentee before: SHENZHEN BROADTECH Co.,Ltd. |
|
CP03 | Change of name, title or address |