CN106649869B - 数据库大数据的统计方法及装置 - Google Patents
数据库大数据的统计方法及装置 Download PDFInfo
- Publication number
- CN106649869B CN106649869B CN201710000876.XA CN201710000876A CN106649869B CN 106649869 B CN106649869 B CN 106649869B CN 201710000876 A CN201710000876 A CN 201710000876A CN 106649869 B CN106649869 B CN 106649869B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- service
- statistical
- splitting
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
Abstract
本发明公开了一种数据库大数据的统计方法及装置,方法包括:查询数据库中的日志表中是否存在指定日期的日志记录,如是,退出;否则,根据业务需求编写SQL格式的业务统计脚本,并将其保存到数据库或代码的配置文件中,执行下一步骤;调用所述业务统计脚本对所述指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到所述数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据;将所述指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中;将所述指定日期的执行结果保存到所述数据库中的日志记录中。本发明能极大减少用户查询花费的时间、提高统计查询的效率、减少硬件资源和成本的浪费。
Description
技术领域
本发明涉及大数据统计领域,特别涉及一种数据库大数据的统计方法及装置。
背景技术
一般企业业务数据都会保存在数据库中,以保证数据的完整性和可用性。随着业务的增长,单个数据表的数据会越来越庞大,当单个数据表的数据达到千万级或者上亿级时,用户统计查询的速度会越来越慢,长则数分钟,其统计效率较低,这样就无法满足用户的需求。目前普遍的做法是升级服务器硬件配置来满足业务的需求,随着数据量的增大,硬件资源的消耗也会越来越大。这样在业务没有环比增长的情况下,需要不断升级硬件资源来满足不断堆积的数据要求,这样会造成硬件资源和成本的浪费。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种能极大减少用户查询花费的时间、提高统计查询的效率、减少硬件资源和成本的浪费的数据库大数据的统计方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种数据库大数据的统计方法,包括如下步骤:
A)查询数据库中的日志表中是否存在指定日期的日志记录,如是,退出;否则,根据业务需求编写SQL格式的业务统计脚本,并将其保存到数据库或代码的配置文件中,执行步骤B);
B)调用所述业务统计脚本对所述指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到所述数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据;
C)将所述指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中;
D)将所述指定日期的执行结果保存到所述数据库中的日志记录中。
在本发明所述的数据库大数据的统计方法中,所述业务需求为从原始明细数据中汇总统计出各种指标数据,所述指标数据包括激活用户数、计费金额和次日留存。
在本发明所述的数据库大数据的统计方法中,所述拆分规则为按照月份或日期来进行拆分。
在本发明所述的数据库大数据的统计方法中,所述原始明细数据包括用户激活、来访、订购记录和用户浏览器信息。
在本发明所述的数据库大数据的统计方法中,所述用户通过Web业务管理系统中的各个报表页面来浏览所述指定日期的业务汇总数据。
本发明还涉及一种实现上述数据库大数据的统计方法的装置,包括:
日志记录查询单元:用于查询数据库中的日志表中是否存在指定日期的日志记录,如是,退出;否则,根据业务需求编写SQL格式的业务统计脚本,并将其保存到数据库或代码的配置文件中;
脚本调用单元:用于调用所述业务统计脚本对所述指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到所述数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据;
数据拆分单元:用于将所述指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中;
结果保存单元:用于将所述指定日期的执行结果保存到所述数据库中的日志记录中。
在本发明所述的装置中,所述业务需求为从原始明细数据中汇总统计出各种指标数据,所述指标数据包括激活用户数、计费金额和次日留存。
在本发明所述的数据库大数据的统计方法中,所述拆分规则为按照月份或日期来进行拆分。
在本发明所述的数据库大数据的统计方法中,所述原始明细数据包括用户激活、来访、订购记录和用户浏览器信息。
在本发明所述的数据库大数据的统计方法中,所述用户通过Web业务管理系统中的各个报表页面来浏览所述指定日期的业务汇总数据。
实施本发明的数据库大数据的统计方法及装置,具有以下有益效果:由于根据业务需求编写SQL格式的业务统计脚本;调用业务统计脚本对指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到数据库中的汇总数据表中;将指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中;也就是根据用户希望看到的结果预设SQL格式的业务统计脚本,提前将结果汇总统计出来保存到汇总数据表中,汇总数据表一般在万条以内,极大减少用户查询花费的时间以及执行查询带来的系统压力;同时在每次汇总完后,将汇总范围内的原始明细数据拆分到对应的数据拆分子表中,用户查询原始数据明细时,就可以直接在数据拆分子表中进行查询统计,极大减少用户查询花费的时间以及执行查询带来的系统压力,同时极大减少原始明细数据表的量级,提高涉及原始数据表的操作效率,所以其能极大减少用户查询花费的时间、提高统计查询的效率、减少硬件资源和成本的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据库大数据的统计方法及装置一个实施例中的方法的流程图;
图2为所述实施例中装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明数据库大数据的统计方法及装置实施例中,其数据库大数据的统计方法的流程图如图1所示。图1中,该数据库大数据的统计方法包括如下步骤:
步骤S01 查询数据库中的日志表中是否存在指定日期的日志记录:本步骤中,查询数据库中的日志表中是否存在指定日期的日志记录,如果存在,则执行步骤S02;否则,执行步骤S03。值得一提的是,这里的指定日期一般为一个日期范围,在一些情况下也可以为某一天或某一天中指定的时间段。
步骤S02 退出:如果上述步骤S01中查询的结果是已经存在指定日期的日志记录,则执行本步骤。本步骤中,退出。
步骤S03 根据业务需求编写SQL格式的业务统计脚本,并将其保存到数据库或代码的配置文件中:如果上述步骤S01中查询的结果是不存在指定日期的日志记录,则执行本步骤。本步骤中,根据业务需求编写SQL格式的业务统计脚本,也就是业务需求不同,编写的SQL格式的业务统计脚本的内容也不同,编写好SQL格式的业务统计脚本后,就开始进入存储过程,本实施例中,将编写SQL格式的业务统计脚本保存到数据库或代码的配置文件中。值得一提的是,业务需求主要是从原始明细数据中去汇总统计各种指标数据,例如:指标数据可以是汇总某段时间的激活用户数、计费金额和次日留存等等。执行完本步骤,执行步骤S04。
步骤S04调用业务统计脚本对指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据:本步骤中,调用预先配置好的业务统计脚本(也就是上述步骤S03中编写的SQL格式的业务统计脚本)对指定日期的业务报表数据进行汇总及统计,并将汇总后得到的业务汇总数据保存到数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据。当用户查询指定日期的业务汇总数据时,可以有多种查询方式,本实施例中采用的查询方式是:用户通过Web业务管理系统中的各个报表页面来浏览指定日期的业务汇总数据。
步骤S05将指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中:本步骤中,将指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中,以供用户查询指定日期的原始数据明细,具体的,原始明细数据主要是指用户行为产生的明细数据,原始明细数据可以包括用户激活、来访、订购记录和用户浏览器信息等。拆分规则可以根据实际情况来设计,本实施例中,拆分规则一般是按照月份或日期来进行拆分。
值得一提的是,数据拆分子表的命名与原始表的命名是相关联且有规律可行的,例如:如果用户来访信息表的命名为user_visit_log,则其对应的数据拆分子表的命名为user_visit_log20161201、user_visit_log20161202,以此类推。
步骤S06 将指定日期的执行结果保存到数据库中的日志记录中:本步骤中,将指定日期的执行结果保存到数据库中的日志记录中。
对比传统的对千万级和近亿级的数据库数据进行数据统计查询,本发明的方法根据用户希望看到的结果预设SQL格式的业务统计脚本,提前将结果汇总统计出来保存到汇总数据表中,汇总数据表一般在万条以内,极大减少用户查询花费的时间以及执行查询带来的系统压力。同时本发明的方法在每次汇总完后,将汇总范围内的原始明细数据拆分到数据拆分子表中,用户查询原始数据明细时就可以直接在数据拆分子表中进行查询统计,极大减少用户查询花费的时间以及执行查询带来的系统压力,同时极大减少原始数据表的量级,提高涉及原始数据表的操作效率。所以其能极大减少用户查询花费的时间、提高统计查询的效率、减少硬件资源和成本的浪费。
本实施例还涉及一种实现上述数据库大数据的统计方法的装置,其结构示意图如图2所示。图2中,该装置包括日志记录查询单元1、脚本调用单元2、数据拆分单元3和结果保存单元4;其中,日志记录查询单元1用于查询数据库中的日志表中是否存在指定日期的日志记录,如是,退出;否则,根据业务需求编写SQL格式的业务统计脚本,并将其保存到数据库或代码的配置文件中;值得一提的是,这里的指定日期一般为一个日期范围,在一些情况下也可以为某一天或某一天中指定的时间段。值得一提的是,业务需求不同,编写的SQL格式的业务统计脚本的内容也不同,编写好SQL格式的业务统计脚本后,就开始进入存储过程,本实施例中,将编写SQL格式的业务统计脚本保存到数据库或代码的配置文件中。业务需求主要是从原始明细数据中去汇总统计各种指标数据,例如:指标数据可以是汇总某段时间的激活用户数、计费金额和次日留存等等。
脚本调用单元2用于调用业务统计脚本对指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据。当用户查询指定日期的业务汇总数据时,可以有多种查询方式,本实施例中采用的查询方式是:用户通过Web业务管理系统中的各个报表页面来浏览指定日期的业务汇总数据。
数据拆分单元3用于将指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中;原始明细数据主要是指用户行为产生的明细数据,原始明细数据可以包括用户激活、来访、订购记录和用户浏览器信息等。拆分规则可以根据实际情况来设计,本实施例中,拆分规则一般是按照月份或日期来进行拆分。结果保存单元4用于将指定日期的执行结果保存到数据库中的日志记录中。
对比传统的对千万级和近亿级的数据库数据进行数据统计查询,本发明的装置根据用户希望看到的结果预设SQL格式的业务统计脚本,提前将结果汇总统计出来保存到汇总数据表中,汇总数据表一般在万条以内,极大减少用户查询花费的时间以及执行查询带来的系统压力。同时本发明的装置在每次汇总完后,将汇总范围内的原始明细数据拆分到数据拆分子表中,用户查询原始数据明细时就可以直接在数据拆分子表中进行查询统计,极大减少用户查询花费的时间以及执行查询带来的系统压力,同时极大减少原始数据表的量级,提高涉及原始数据表的操作效率。所以其能极大减少用户查询花费的时间、提高统计查询的效率、减少硬件资源和成本的浪费。
在本实施例的另外一些情况下,例如:在不考虑硬件资源消耗的情况下,可以购买商业数据库来统计和计算数据,例如Oracle,但其会消耗极大的硬件资源。
总之,本发明能克服传统技术中存在的数据库中的数据表不断变长的硬件瓶颈,能解决在现有硬件资源下数据库大数据统计效率较慢的问题。其能极大减少用户查询花费的时间、提高统计查询的效率、减少硬件资源和成本的浪费。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据库大数据的统计方法,其特征在于,包括如下步骤:
A)查询数据库中的日志表中是否存在指定日期的日志记录,如是,退出;否则,根据业务需求编写SQL格式的业务统计脚本,并将其保存到数据库或代码的配置文件中,执行步骤B);
B)调用所述业务统计脚本对所述指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到所述数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据;
C)将所述指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中;
D)将所述指定日期的执行结果保存到所述数据库中的日志记录中。
2.根据权利要求1所述的数据库大数据的统计方法,其特征在于,所述业务需求为从原始明细数据中汇总统计出各种指标数据,所述指标数据包括激活用户数、计费金额和次日留存。
3.根据权利要求1所述的数据库大数据的统计方法,其特征在于,所述拆分规则为按照月份或日期来进行拆分。
4.根据权利要求1至3任意一项所述的数据库大数据的统计方法,其特征在于,所述原始明细数据包括用户激活、来访、订购记录和用户浏览器信息。
5.根据权利要求1至3任意一项所述的数据库大数据的统计方法,其特征在于,所述用户通过Web业务管理系统中的各个报表页面来浏览所述指定日期的业务汇总数据。
6.一种实现如权利要求1所述的数据库大数据的统计方法的装置,其特征在于,包括:
日志记录查询单元:用于查询数据库中的日志表中是否存在指定日期的日志记录,如是,退出;否则,根据业务需求编写SQL格式的业务统计脚本,并将其保存到数据库或代码的配置文件中;
脚本调用单元:用于调用所述业务统计脚本对所述指定日期的业务报表数据进行汇总及统计,并将得到的业务汇总数据保存到所述数据库中的汇总数据表中,以供用户直接查询指定日期的业务汇总数据;
数据拆分单元:用于将所述指定日期的原始明细数据按照拆分规则拆分到相应的数据拆分子表中;
结果保存单元:用于将所述指定日期的执行结果保存到所述数据库中的日志记录中。
7.根据权利要求6所述的实现如权利要求1所述的数据库大数据的统计方法的装置,其特征在于,所述业务需求为从原始明细数据中汇总统计出各种指标数据,所述指标数据包括激活用户数、计费金额和次日留存。
8.根据权利要求6所述的实现如权利要求1所述的数据库大数据的统计方法的装置,其特征在于,所述拆分规则为按照月份或日期来进行拆分。
9.根据权利要求6至8任意一项所述的实现如权利要求1所述的数据库大数据的统计方法的装置,其特征在于,所述原始明细数据包括用户激活、来访、订购记录和用户浏览器信息。
10.根据权利要求6至8任意一项所述的实现如权利要求1所述的数据库大数据的统计方法的装置,其特征在于,所述用户通过Web业务管理系统中的各个报表页面来浏览所述指定日期的业务汇总数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710000876.XA CN106649869B (zh) | 2017-01-03 | 2017-01-03 | 数据库大数据的统计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710000876.XA CN106649869B (zh) | 2017-01-03 | 2017-01-03 | 数据库大数据的统计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649869A CN106649869A (zh) | 2017-05-10 |
CN106649869B true CN106649869B (zh) | 2022-12-02 |
Family
ID=58838631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710000876.XA Active CN106649869B (zh) | 2017-01-03 | 2017-01-03 | 数据库大数据的统计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649869B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908697B (zh) * | 2017-11-03 | 2022-01-14 | 中国银行股份有限公司 | 主机批处理作业结果的自动采集方法及装置 |
CN108345646B (zh) * | 2018-01-16 | 2022-02-22 | 广东电网有限责任公司信息中心 | 一种运用拦截技术快速自动构建多维度报表的方法 |
CN109471889B (zh) * | 2018-09-19 | 2023-06-02 | 平安科技(深圳)有限公司 | 报表加速方法、系统、计算机设备和存储介质 |
CN111221883B (zh) * | 2018-11-27 | 2024-04-26 | 浙江宇视科技有限公司 | 数据统计方法及系统 |
CN110532434A (zh) * | 2019-09-03 | 2019-12-03 | 上海新炬网络技术有限公司 | 一种xml文件批量自动统计数据的方法 |
CN115168400A (zh) * | 2022-09-08 | 2022-10-11 | 天津金城银行股份有限公司 | 外部数据管理系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003732A (ja) * | 2006-06-21 | 2008-01-10 | Hitachi Ltd | 操作ログによる業務シナリオ通知機能 |
CN101924638A (zh) * | 2010-08-31 | 2010-12-22 | 北京云快线软件服务有限公司 | 一种实时计费系统 |
JP2014038479A (ja) * | 2012-08-16 | 2014-02-27 | Hitachi Systems Ltd | 証跡情報監査システム、証跡情報監査方法及び証跡情報監査プログラム |
CN103678648A (zh) * | 2013-12-23 | 2014-03-26 | 泰富重工制造有限公司 | 一种bom表分类汇总系统及其方法 |
-
2017
- 2017-01-03 CN CN201710000876.XA patent/CN106649869B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003732A (ja) * | 2006-06-21 | 2008-01-10 | Hitachi Ltd | 操作ログによる業務シナリオ通知機能 |
CN101924638A (zh) * | 2010-08-31 | 2010-12-22 | 北京云快线软件服务有限公司 | 一种实时计费系统 |
JP2014038479A (ja) * | 2012-08-16 | 2014-02-27 | Hitachi Systems Ltd | 証跡情報監査システム、証跡情報監査方法及び証跡情報監査プログラム |
CN103678648A (zh) * | 2013-12-23 | 2014-03-26 | 泰富重工制造有限公司 | 一种bom表分类汇总系统及其方法 |
Non-Patent Citations (2)
Title |
---|
复杂报表的高效查询;陈建辉等;《宜宾学院学报》;20080625(第06期);全文 * |
面向决策的各类查询功能的设计与实现;钱慎一等;《郑州轻工业学院学报(自然科学版)》;20071215(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106649869A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649869B (zh) | 数据库大数据的统计方法及装置 | |
US11809408B2 (en) | Incremental refresh of a materialized view | |
US11422853B2 (en) | Dynamic tree determination for data processing | |
CN101493826B (zh) | 基于web应用的数据库系统及其数据管理方法 | |
US20200026695A1 (en) | Incremental Clustering Of Database Tables | |
CN110647512B (zh) | 一种数据存储和分析方法、装置、设备和可读介质 | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
US20160140205A1 (en) | Queries involving multiple databases and execution engines | |
US10191930B2 (en) | Priority queuing for updates in a database system | |
CN105095365A (zh) | 一种信息流数据的处理方法和装置 | |
CN109271435A (zh) | 一种支持断点续传的数据抽取方法及系统 | |
CN109783512A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
US20210081358A1 (en) | Background dataset maintenance | |
CN111506559A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN101866350A (zh) | 报表生成方法、装置及web服务器 | |
CN113268500B (zh) | 业务处理方法、装置及电子设备 | |
CN101027670B (zh) | 用于更快速数据访问的具有用户定义优先权的方法和信息数据库结构 | |
CN102867282A (zh) | 一种基于移动互联网的客户服务质量分析系统的实现方法 | |
WO2018214936A1 (zh) | 数据热度统计 | |
CN110633302B (zh) | 一种海量结构化数据的处理方法及装置 | |
CN107590199B (zh) | 一种面向内存的多线程数据库设计方法 | |
CN106874327B (zh) | 一种针对业务数据的计数方法及装置 | |
CN114090686A (zh) | 一种出账加速方法及装置 | |
CN107995301B (zh) | 一种快速的基于互联网的数据收发方法 | |
CN111741080A (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 |