CN109522285A - 一种日志数据统计方法及系统 - Google Patents
一种日志数据统计方法及系统 Download PDFInfo
- Publication number
- CN109522285A CN109522285A CN201811354069.9A CN201811354069A CN109522285A CN 109522285 A CN109522285 A CN 109522285A CN 201811354069 A CN201811354069 A CN 201811354069A CN 109522285 A CN109522285 A CN 109522285A
- Authority
- CN
- China
- Prior art keywords
- period
- data
- log statistic
- log
- statistic 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
Links
- 238000007619 statistical method Methods 0.000 title claims abstract description 34
- 230000015654 memory Effects 0.000 claims abstract description 82
- 238000000034 method Methods 0.000 claims description 40
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 claims description 34
- 230000008569 process Effects 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种日志数据统计方法和系统,日志数据统计方法包括:获取日志文件中的增量数据;根据增量数据,计算第一周期的日志统计数据;以及根据第一周期的日志统计数据,计算至少一个第二周期的日志统计数据。本发明减轻了数据库的内存压力,解决了数据库内存溢出,从而导致计算遗漏、执行效率低的问题。
Description
技术领域
本发明涉及日志数据统计领域,具体涉及一种日志数据统计方法及系统。
背景技术
现有的日志数据统计系统通常以传统数据库为载体,数据统计过程在传统数据库中的内存中执行,以及数据统计结果存储在数据库的内存中,然而,随着日志数据量日益庞大,数据统计过程消耗越来越多的数据库缓存,以及数据统计结果的存储占用大量数据库内存,给数据库造成非常大的压力,导致数据库出现内存溢出,从而导致计算遗漏及执行效率低的问题。
发明内容
有鉴于此,本发明实施例提供了一种日志数据统计方法及系统,解决了数据库内存压力大,出现内存溢出,从而导致计算遗漏及执行效率低的问题。
根据本发明实施例的第一方面,提供一种日志数据统计方法,该日志数据统计方法在虚拟机的内存中执行,该日志数据统计方法包括:获取日志文件中的增量数据;根据增量数据,计算第一周期的日志统计数据;以及根据第一周期的日志统计数据,计算至少一个第二周期的日志统计数据。
在本发明的一个实施例中,在根据第一周期的日志统计数据,计算至少一个第二周期的日志统计数据之前,该日志数据统计方法还包括:将第一周期的日志统计数据存储到虚拟机之外的应用服务器中;以及获取应用服务器中存储的第一周期的日志统计数据。
在本发明的一个实施例中,所述获取应用服务器中存储的第一周期的日志统计数据,包括:监控应用服务器中存储的第一周期的日志统计数据;以及通过订阅的方式获取应用服务器中存储的第一周期的日志统计数据,其中在将第一周期的日志统计数据存储到虚拟机之外的应用服务器中之前,该日志数据统计方法还包括:根据第一周期的日志统计数据更新关系型数据库中的相应的周期统计表,其中在将第一周期的日志统计数据存储到虚拟机之外的应用服务器中之后,该日志数据统计方法还包括:删除虚拟机的内存中的第一周期的日志统计数据。
在本发明的一个实施例中,上述应用服务器包括消息中间件。
在本发明的一个实施例中,该日志数据统计方法还包括:将第一周期的日志统计数据存储到虚拟机的内存中;根据第一周期的日志统计数据更新关系型数据库中的相应的周期统计表,并删除第一周期的日志统计数据。
在本发明的一个实施例中,该日志数据统计方法还包括:将至少一个第二周期的日志统计数据保存在虚拟机内存中;根据至少一个第二周期的日志统计数据更新关系型数据库中的相应的周期统计表,并删除至少一个第二周期的日志统计数据。
在本发明的一个实施例中,上述获取日志文件中的增量数据,包括:定时获取日志文件中的增量数据。
在本发明的一个实施例中,上述虚拟机包括Java虚拟机,上述日志文件为话单日志文件,上述日志统计数据为话单时长流量数据,上述第一周期为分钟周期、上述至少一个第二周期包括小时周期、天周期、周周期和/或月周期。
根据本发明实施例的第二方面,提供一种日志数据统计系统,包括:获取模块,用于获取日志文件中的增量数据;计算模块,用于根据增量数据,计算第一周期的日志统计数据,并根据第一周期的日志统计数据计算至少一个第二周期的日志统计数据。
根据本发明实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,该可执行指令被处理器执行时实现如上所述的日志数据统计方法。
根据本发明实施例提供的技术方案,获取日志文件中的增量数据;根据增量数据,计算第一周期的日志统计数据;以及根据第一周期的日志统计数据,计算第二周期的日志统计数据,由于在数据库的内存中执行的数据统计过程转换为在虚拟机的内存中执行,减轻了数据库的内存压力,解决了数据库内存溢出,从而导致计算遗漏、执行效率低的问题。
附图说明
图1所示为本发明一实施例提供的日志数据统计方法的流程示意图。
图2所示为本发明另一实施例提供的日志数据统计方法的流程示意图。
图3所示为本发明又一实施例提供的日志数据统计方法的流程示意图。
图4所示为本发明一实施例提供的日志数据统计系统的框图。
图5所示为本发明另一实施例提供的日志数据统计系统的框图。
图6所示为本发明又一实施例提供的日志数据统计的系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示为本发明一实施例提供的日志数据统计方法的流程示意图。图1的日志数据统计方法在虚拟机的内存中执行,如图1所示,该日志数据统计方法包括:
110:获取日志文件中的增量数据。
在本发明实施例中,虚拟机可以从硬盘中读取日志文件,然后通过扫描日志文件中每行记录的方式获取日志文件中的增量数据,其中,日志文件可以是认证日志,开销户日志或话单日志等日志,本发明对日志的来源以及日志的种类不作限制。根据认证日志,可以统计出认证成功数、失败数、成功率、失败率等;根据认证日志中的IP地址或者接入基站可以换算出用户上网地址;根据开销户日志可以统计开销数、销户数等;根据话单日志可以统计用户上下线次数、在线状态以及时长流量值等。另外,虚拟机可同时读取多个日志文件中的增量数据,分别进行计算和统计,本发明对此不作限定。
增量数据是上次读取之后新产生的数据。由于日志文件中的数据是持续产生的,通过获取日志文件中的增量的日志数据,对增量的日志数据进行计算和统计,可以避免对已经计算过的数据进行重复计算和统计,有助于提高处理效率。
120:根据增量数据,计算第一周期的日志统计数据。
在本发明实施例中,第一周期可以是30秒周期,也可以是分钟周期等,即第一周期的时长小于第二周期的时长,本发明对第一周期的时长不作限定。比如在获取增量数据之后,可以根据增量数据中的信息,计算统计出每分钟的日志统计数据。例如,读取话单日志文件中的增量数据后,可以根据话单日志文件中的增量数据,统计出某个用户每分钟的时长流量值。通过统计第一周期的日志统计数据,可以为第二周期的日志统计数据提供统计基础,减少第二周期日志统计数据的计算量,减轻虚拟机的工作压力。
130:根据第一周期的日志统计数据,计算至少一个第二周期的日志统计数据。
在本发明实施例中,第二周期可以是小时周期、天周期、周周期、月周期等,即第二周期的时长大于第一周期的时长,本发明对第二周期的时长不作限制。比如第一周期的日志统计数据为分钟周期的日志统计数据,可以基于分钟周期的日志统计数据分别计算小时周期的日志统计数据、天周期的日志统计数据、周周期的日志统计数据和/或月周期的日志统计数据等,本发明对此不作限制。根据分钟周期的日志统计数据计算小时周期的日志统计数据,即将60个分钟周期的日志统计数据相加,同理,可计算天周期的日志统计数据、周周期的日志统计数据和/或月周期的日志统计数据等。
根据本发明实施例提供的技术方案,通过获取日志文件中的增量数据;根据增量数据,计算第一周期的日志统计数据;以及根据第一周期的日志统计数据,计算第二周期的日志统计数据,将在数据库中执行的数据统计过程转换为在虚拟机的内存中执行,减轻了数据库的内存压力,解决了数据库内存溢出,从而导致计算遗漏、执行效率低的问题。
在本发明的另一个实施例中,在根据所述第一周期的日志统计数据,计算至少一个第二周期的日志统计数据之前,该日志数据统计方法还包括:将所述第一周期的日志统计数据存储到所述虚拟机之外的应用服务器中;以及获取所述应用服务器中存储的第一周期的日志统计数据。
在传统数据库内存中保存的统计结果是不持久的,当定时任务或者内存计算程序意外终止时,统计结果便会丢失,只有完成完整的统计过程时,才能够将统计结果持久化地更新到周期统计表中。因此,当数据库内存溢出时,也会导致计算遗漏的问题。为防止定时任务或者内存计算程序意外终止后,再次启动时不能连续之前的计算记录,因此将中间计算结果进行存储,避免下次重复读取以及保证系统的连贯性。由于数据统计过程以及数据统计结果的存储均占用大量内存,将第一周期的日志统计数据存储到虚拟机之外的应用服务器中,可以节省虚拟机的大量内存,防止虚拟机的内存出现内存溢出,提高执行效率。
应当理解,获取所述应用服务器中存储的第一周期的日志统计数据的过程可以是应用服务器主动推送给虚拟机,也可以是虚拟机通过指令调取应用服务器中的第一周期的日志统计数据,本发明对此不作限定。
在本发明实施例中,将第一周期的日志统计数据存储到虚拟机之外的应用服务器中之前,根据第一周期的日志统计数据更新关系型数据库中的第一周期统计表,在第一周期的日志统计数据存储到虚拟机之外的应用服务器中之后,将虚拟机内存中的第一周期的日志统计数据删除,从而将占用的虚拟机的内存释放掉,提高执行效率。
在本发明实施例中,可以根据第一周期的日志统计数据批量更新关系型数据库中的第一周期统计表,本发明对此不作限定。
在本发明的另一个实施例中,虚拟机监控应用服务器中存储的第一周期的日志统计数据;以及通过订阅的方式获取应用服务器中存储的第一周期的日志统计数据。比如,应用服务器中存储的第一周期的日志统计数据为分钟周期的日志统计数据,当虚拟机监控到分钟周期的日志统计数据中有增量数据时,虚拟机会发送订阅指令,调取应用服务器中的分钟周期的日志统计数据的增量数据。
在本发明的另一个实施例中,虚拟机可批量调取应用服务器中的第一周期的日志统计数据的增量数据。
在本发明的另一个实施例中,应用服务器可以为消息中间件,比如Kafka消息中间件、ActiveMQ消息中间件等,本发明对此不作限定。比如,将分钟周期的日志统计数据存储到Kafka消息中间件中,可以是将日志统计数据拆分成多行日志统计数据,然后将多行日志统计数据依次传送至消息中间件的消息队列中。其中,消息中间件可以记录获取数据记录的偏移量,保证了数据的完整性。
在本发明的另一个实施例中,将第一周期的日志统计数据存储到虚拟机中,根据第一周期的日志统计数据更新关系型数据库中的第一周期的周期统计表,并删除第一周期的日志统计数据。将多个第一周期的日志统计数据的结果,比如多个分钟周期的日志统计数据,存储在虚拟机中,可以为第二周期的日志统计数据提供统计基础,也可以防止定时任务或者内存计算程序意外终止后,再次启动时不能连续之前的计算记录,避免了计算遗漏的问题,同时避免了下次重复读取以及保证了系统的连贯性。在根据虚拟机的内存中的第一周期的日志统计数据更新关系型数据库中的第一周期的周期统计表后,将虚拟机内存中的第一周期的日志统计数据删除,从而将占用的虚拟机的内存释放掉,提高执行效率。
在本发明的另一个实施例中,将第二周期的日志统计数据保存在虚拟机内存中;以及根据第二周期的日志统计数据更新关系型数据库中的相应的周期统计表,并删除第二周期的日志统计数据。比如,根据天周期的日志统计数据更新关系数据库中的天周期统计表,根据周周期的日志统计数据更新关系数据库中的周周期统计表,根据月周期的日志统计数据更新关系数据库中的月周期统计表等,本发明对此不作限定。例如,根据月周期的日志统计数据更新关系型数据库中的月周期统计表,可以将虚拟机内存中的月周期的日志统计数据与数据库内存中月周期统计表的当月的数据进行对比,如果数据库内存中的月周期统计表中存在当月的数据,则将虚拟机内存中月周期的日志统计数据和数据库中月周期统计表的当月的数据进行结合更新到数据库中的月周期统计表中;如果数据库中的月周期统计表中没有当月的数据,则将虚拟机内存中月周期的日志统计数据直接插入数据库表中,从而达到更新数据库中的月周期统计表的效果。在根据虚拟机的内存中的月周期的日志统计数据更新关系型数据库中的月周期统计表后,将虚拟机内存中的月周期的日志统计数据删除,从而将占用的虚拟机的内存释放掉,提高执行效率。应当理解,以上根据月周期的日志统计数据更新关系型数据库中的月周期统计表仅为示例性举例,本发明对此不作限定。同时,本发明对更新方式不作限定。
在本发明的另一个实施例中,可以根据虚拟机中的多个增量数据的日志统计数据一次性批量更新关系型数据库中的周期统计表,本发明对此不作限定。例如,虚拟机中相继存储了多个月周期的日志统计数据后,再对关系型数据库中的月周期统计表进行更新。批量更新关系型数据库中的周期统计表可以减缓对关系型数据库的冲击。其中,关系型数据库中的周期统计表中记录了全部日志统计数据的结果,将周期统计表在关系数据库中永久存放,可用于报表趋势图的展示,也方便以后随时进行查看。应当理解,关系型数据库可以是oracle数据库或mysql数据库等,本发明对此不作限定。
在本发明的另一个实施例中,获取日志文件中的增量数据,并将增量数据存储在数据库中。比如,虚拟机读取日志文件后,扫描日志文件中的每行记录,然后将其存储在数据库中。其中,数据库可以是关系型数据库,比如oracle数据库或mysql数据库等,本发明对此不作限定。将增量数据读取后存储到数据库中,可以方便以后对原始数据进行查看。存储增量数据的数据库与存储周期统计表的数据库可以相同,也可以不相同,本发明对此不作限定。
在本发明的另一个实施例中,获取日志文件中的增量数据,包括:定时获取日志文件中的增量数据。因为日志文件是持续产生的,可根据实际需要定时获取日志中的增量数据,本发明对定时方式、具体定时设定不作限定。
在本发明的另一个实施例中,虚拟机包括Java虚拟机。
在本发明的另一个实施例中,日志文件为话单日志文件,日志统计数据为话单时长流量数据,第一周期为分钟周期、至少一个第二周期包括小时周期、天周期、周周期和/或月周期。
图2所示为本发明另一实施例提供的日志数据统计方法的流程示意图。图2的方法为图1的方法的例子,如图2所示,该日志数据统计方法包括:
210:Java虚拟机定时获取话单日志文件中的增量数据,并将其存储在数据库中。
220:在Java虚拟机的内存中根据增量数据,计算分钟周期的时长流量值;根据分钟周期的时长流量值更新数据库中的分钟周期统计表,并将其存储到消息中间件中;删除Java虚拟机的内存中的分钟周期的时长流量值。
230:Java虚拟机监控消息中间件中存储的分钟周期的时长流量值;以及通过订阅的方式获取消息中间件中存储的分钟周期的时长流量值。
240:在Java虚拟机的内存中根据分钟周期的时长流量值,分别计算天周期、周周期、月周期的时长流量值,并将其存储在Java虚拟机的内存中。
250:在Java虚拟机的内存中根据天周期、周周期、月周期的时长流量值更新关系型数据库中的相应的周期统计表,并将Java内存中的天周期、周周期、月周期的时长流量值删除。
根据本发明实施例提供的技术方案,将数据计算过程在数据库之外运行,节省了数据库大量的内存空间,缓解了数据库的内存压力,避免了数据库出现内存溢出,从而导致计算遗漏的情况。同时,将分钟周期的时长流量值存储在Java虚拟机以外的消息中间件中,节省了Java虚拟机大量的内存空间,防止Java虚拟机的内存出现内存溢出的情况,提高了执行效率。此外,将分钟周期、天周期、周周期、月周期的时长流量值计算结果均进行存储,可以避免定时任务或内存计算程序意外终止后,再次启动时不能连续之前的计算记录,避免了下次重复读取以及保证了系统的连贯性。在更新数据库中的周期统计表后,将各周期的时长流量值删除,可以将占用的Java虚拟机的内存释放掉,提高执行效率。该日志数据统计方法可以实现快速统计话单中各周期的时长流量值,同时,该方法部署、实施方便,可以确保用户能正常使用业务,保证了业务的连续性,提高了用户体验。
图3所示为本发明又一实施例提供的日志数据统计方法的流程示意图。图3的方法为图1的方法的例子,如图3所示,该日志数据统计方法包括:
310:Java虚拟机定时获取话单日志文件中的增量数据,并将其存储在数据库中。
320:在Java虚拟机的内存中根据增量数据,计算分钟周期的时长流量值,并将其存储到Java虚拟机的内存中。
330:在Java虚拟机的内存中根据分钟周期的时长流量值,分别计算天周期、周周期、月周期的时长流量值,并将其存储在Java虚拟机的内存中。
340:在Java虚拟机的内存中根据分钟周期、天周期、周周期、月周期的时长流量值更新关系型数据库中的相应的周期统计表,并将Java虚拟机的内存中的分钟周期、天周期、周周期、月周期的时长流量值删除。
根据本发明实施例提供的技术方案,将数据计算过程在数据库之外运行,节省了数据库大量的内存空间,缓解了数据库的内存压力,避免了数据库出现内存溢出,从而导致计算遗漏的情况。此外,将分钟周期、天周期、周周期、月周期的时长流量值计算结果均进行存储,可以避免定时任务或内存计算程序意外终止后,再次启动时不能连续之前的计算记录,避免了下次重复读取以及保证了系统的连贯性。在更新关系型数据库中的周期统计表后,将各周期的时长流量值删除,可以将占用的Java虚拟机的内存释放掉,提高执行效率。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图4所示为本发明一实施例提供的日志数据统计系统400的框图。图4的日志数据统计系统400在虚拟机的内存中运行,如图4所示,该日志数据统计系统400包括:
获取模块410,用于获取日志文件中的增量数据。
计算模块420,用于根据所述增量数据,计算第一周期的日志统计数据,并根据所述第一周期的日志统计数据计算至少一个第二周期的日志统计数据。
根据本发明实施例提供的技术方案,通过获取日志文件中的增量数据;根据增量数据,计算第一周期的日志统计数据;以及根据第一周期的日志统计数据,计算第二周期的日志统计数据,可以将数据计算过程在数据库之外的虚拟机中运行,节省了数据库大量的内存空间,缓解了数据库的内存压力,避免了数据库出现内存溢出,从而导致计算遗漏的情况,提高了执行效率。
图5所示为本发明另一实施例提供的日志数据统计系统500的框图。如图5所示,该日志数据统计系统500包括:
获取模块410,用于获取日志文件中的增量数据。
计算模块420,用于根据所述增量数据,计算第一周期的日志统计数据,并根据所述第一周期的日志统计数据计算至少一个第二周期的日志统计数据。
中间模块430,位于虚拟机之外,用于存储第一周期的日志统计数据。
订阅模块440,用于监控中间模块中存储的第一周期的日志统计数据;以及通过订阅的方式获取中间模块中存储的第一周期的日志统计数据。
存储模块450,用于存储第二周期的日志统计数据。
更新模块460,用于根据第一周期和第二周期的日志统计数据更新数据库中的相应的周期统计表。
根据本发明实施例提供的技术方案,通过获取日志文件中的增量数据;根据所述增量数据,计算第一周期的日志统计数据;根据第一周期的日志统计数据更新数据库中的第一周期的周期统计表,并将第一周期的日志统计数据存储到虚拟机之外的中间模块中,同时将虚拟机的内存中的第一周期的日志统计数据删除;虚拟机监控中间模块中存储的第一周期的日志统计数据,以及通过订阅的方式获取中间模块中存储的第一周期的日志统计数据;根据第一周期的日志统计数据,计算第二周期的日志统计数据,并将其存储在虚拟机中;以及根据第二周期的日志统计数据更新关系型数据库中的周期统计表,并将虚拟机的内存中的第二周期的日志统计数据删除,可以将数据计算过程在数据库之外运行,节省了数据库大量的内存空间,缓解了数据库的内存压力,避免了数据库出现内存溢出,从而导致计算遗漏的情况。此外,将中间计算结果均进行存储,可以避免定时任务或内存计算程序意外终止后,再次启动时不能连续之前的计算记录,避免了下次重复读取以及保证了系统的连贯性。在更新关系型数据库中的相应的周期统计表之后,将虚拟机的内存中日志统计数据删除,可以将占用的虚拟机的内存释放掉,提高执行效率。
在本发明的另一个实施例中,图5的获取模块410定时获取日志文件中的增量数据。因为日志文件是持续产生的,可根据实际需要定时获取日志中的增量数据,本发明对定时方式、具体定时设定不作限定。
在本发明的另一个实施例中,中间模块包括消息中间件,比如Kafka消息中间件、ActiveMQ消息中间件等,本发明对此不作限定。比如,将分钟周期的日志统计数据存储到Kafka消息中间件中,可以是将日志统计数据拆分成多行日志统计数据,然后将多行日志统计数据依次传送至消息中间件的消息队列中。消息中间件可以记录获取数据记录的偏移量,保证了数据的完整性。
在本发明的另一个实施例中,虚拟机包括Java虚拟机。
在本发明的另一个实施例中,日志文件为话单日志文件,所述日志统计数据为话单时长流量数据,所述第一周期为分钟周期、所述至少一个第二周期包括小时周期、天周期、周周期和/或月周期。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
图6是根据本发明又一实施例提供的日志数据统计系统600的框图。
参照图6,系统600包括处理组件610,其进一步包括一个或多个处理器,以及由存储器620所代表的存储器资源,用于存储可由处理组件610的执行的指令,例如应用程序。存储器620中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件610被配置为执行指令,以执行上述日志数据统计方法。
系统600还可以包括一个电源组件被配置为执行系统600的电源管理,一个有线或无线网络接口被配置为将系统600连接到网络,和一个输入输出(I/O)接口。系统600可以操作基于存储在存储器620的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当存储介质中的指令由上述系统600的处理器执行时,使得上述系统600能够执行一种日志数据统计方法,该日志数据统计方法包括:获取日志文件中的增量数据;根据增量数据,计算第一周期的日志统计数据;以及根据第一周期的日志统计数据,计算至少一个第二周期的日志统计数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序校验码的介质。
另外,还需要说明的是,本案中各技术特征的组合方式并不限本案权利要求中所记载的组合方式或是具体实施例所记载的组合方式,本案所记载的所有技术特征可以以任何方式进行自由组合或结合,除非相互之间产生矛盾。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。
应当理解,本发明实施例中提到的第一、第二等限定词,仅仅为了更清楚地描述本发明实施例的技术方案使用,并不能用以限制本发明的保护范围。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种日志数据统计方法,其特征在于,所述日志数据统计方法在虚拟机的内存中执行,包括:
获取日志文件中的增量数据;
根据所述增量数据,计算第一周期的日志统计数据;以及
根据所述第一周期的日志统计数据,计算至少一个第二周期的日志统计数据。
2.如权利要求1所述的日志数据统计方法,其特征在于,在所述根据所述第一周期的日志统计数据,计算至少一个第二周期的日志统计数据之前,还包括:
将所述第一周期的日志统计数据存储到所述虚拟机之外的应用服务器中;以及
获取所述应用服务器中存储的第一周期的日志统计数据。
3.如权利要求2所述的日志数据统计方法,其特征在于,所述获取所述应用服务器中存储的第一周期的日志统计数据,包括:
监控所述应用服务器中存储的第一周期的日志统计数据;
通过订阅的方式获取所述应用服务器中存储的第一周期的日志统计数据,
其中在所述将所述第一周期的日志统计数据存储到所述虚拟机之外的应用服务器中之前,所述方法还包括:
根据所述第一周期的日志统计数据更新关系型数据库中的相应的周期统计表,
其中在所述将所述第一周期的日志统计数据存储到所述虚拟机之外的应用服务器中之后,所述方法还包括:
删除虚拟机的内存中的所述第一周期的日志统计数据。
4.如权利要求2所述的日志数据统计方法,其特征在于,所述应用服务器包括消息中间件。
5.如权利要求1所述的日志数据统计方法,其特征在于,还包括:
将所述第一周期的日志统计数据存储到所述虚拟机的内存中;
根据所述第一周期的日志统计数据更新关系型数据库中的相应的周期统计表,并删除所述第一周期的日志统计数据。
6.如权利要求1至5中的任一项所述的日志数据统计方法,其特征在于,还包括:
将所述至少一个第二周期的日志统计数据保存在所述虚拟机内存中;
根据所述至少一个第二周期的日志统计数据更新关系型数据库中的相应的周期统计表,并删除所述至少一个第二周期的日志统计数据。
7.如权利要求1至5中的任一项所述的日志数据统计方法,其特征在于,所述获取日志文件中的增量数据,包括:
定时获取所述日志文件中的增量数据。
8.如权利要求1至5中的任一项所述的日志数据统计方法,其特征在于,所述虚拟机包括Java虚拟机,所述日志文件为话单日志文件,所述日志统计数据为话单时长流量数据,所述第一周期为分钟周期、所述至少一个第二周期包括小时周期、天周期、周周期和/或月周期。
9.一种日志数据统计系统,其特征在于,包括:
获取模块,用于获取日志文件中的增量数据;
计算模块,用于根据所述增量数据,计算第一周期的日志统计数据,并根据所述第一周期的日志统计数据计算至少一个第二周期的日志统计数据。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1至8中的任一项所述的日志数据统计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811354069.9A CN109522285A (zh) | 2018-11-14 | 2018-11-14 | 一种日志数据统计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811354069.9A CN109522285A (zh) | 2018-11-14 | 2018-11-14 | 一种日志数据统计方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109522285A true CN109522285A (zh) | 2019-03-26 |
Family
ID=65777546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811354069.9A Pending CN109522285A (zh) | 2018-11-14 | 2018-11-14 | 一种日志数据统计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522285A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722194A (zh) * | 2021-08-02 | 2021-11-30 | 中移(杭州)信息技术有限公司 | 日志统计方法、装置、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101040A (ja) * | 1999-09-29 | 2001-04-13 | Toshiba Corp | ファイル管理装置、ファイル管理方法、および記録媒体 |
CN101557316A (zh) * | 2009-05-14 | 2009-10-14 | 阿里巴巴集团控股有限公司 | 一种更新统计数据的方法和系统 |
CN101815277A (zh) * | 2010-04-29 | 2010-08-25 | 中兴通讯股份有限公司 | 话单数据的统计处理方法及装置 |
CN102479211A (zh) * | 2010-11-26 | 2012-05-30 | 中国银联股份有限公司 | 基于数据库的海量数据处理系统及方法 |
CN102509174A (zh) * | 2011-11-01 | 2012-06-20 | 冶金自动化研究设计院 | 一种基于工业过程数据的报警限自学习系统的方法 |
CN103001796A (zh) * | 2012-11-13 | 2013-03-27 | 北界创想(北京)软件有限公司 | 服务端处理网络日志数据的方法及装置 |
CN103425568A (zh) * | 2013-08-23 | 2013-12-04 | 新浪网技术(中国)有限公司 | 日志信息处理方法及装置 |
CN103729254A (zh) * | 2013-12-31 | 2014-04-16 | 国网山东省电力公司 | 一种虚拟服务器Virtual CPU资源监测及动态分配方法 |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
CN105933736A (zh) * | 2016-04-18 | 2016-09-07 | 天脉聚源(北京)传媒科技有限公司 | 一种日志处理方法及装置 |
CN108039974A (zh) * | 2017-12-19 | 2018-05-15 | 国云科技股份有限公司 | 一种云平台虚拟机逃逸监测告警方法 |
CN108804237A (zh) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据实时统计方法、装置、存储介质和电子设备 |
-
2018
- 2018-11-14 CN CN201811354069.9A patent/CN109522285A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101040A (ja) * | 1999-09-29 | 2001-04-13 | Toshiba Corp | ファイル管理装置、ファイル管理方法、および記録媒体 |
CN101557316A (zh) * | 2009-05-14 | 2009-10-14 | 阿里巴巴集团控股有限公司 | 一种更新统计数据的方法和系统 |
CN101815277A (zh) * | 2010-04-29 | 2010-08-25 | 中兴通讯股份有限公司 | 话单数据的统计处理方法及装置 |
CN102479211A (zh) * | 2010-11-26 | 2012-05-30 | 中国银联股份有限公司 | 基于数据库的海量数据处理系统及方法 |
CN102509174A (zh) * | 2011-11-01 | 2012-06-20 | 冶金自动化研究设计院 | 一种基于工业过程数据的报警限自学习系统的方法 |
CN103001796A (zh) * | 2012-11-13 | 2013-03-27 | 北界创想(北京)软件有限公司 | 服务端处理网络日志数据的方法及装置 |
CN103425568A (zh) * | 2013-08-23 | 2013-12-04 | 新浪网技术(中国)有限公司 | 日志信息处理方法及装置 |
CN103729254A (zh) * | 2013-12-31 | 2014-04-16 | 国网山东省电力公司 | 一种虚拟服务器Virtual CPU资源监测及动态分配方法 |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
CN105933736A (zh) * | 2016-04-18 | 2016-09-07 | 天脉聚源(北京)传媒科技有限公司 | 一种日志处理方法及装置 |
CN108804237A (zh) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据实时统计方法、装置、存储介质和电子设备 |
CN108039974A (zh) * | 2017-12-19 | 2018-05-15 | 国云科技股份有限公司 | 一种云平台虚拟机逃逸监测告警方法 |
Non-Patent Citations (2)
Title |
---|
D.L. MASKELL ET AL.: "The estimation of subsample time delay of arrival in the discrete-time measurement of phase delay" * |
马志亨: "基于Spark的日志分析工具的设计与实现" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722194A (zh) * | 2021-08-02 | 2021-11-30 | 中移(杭州)信息技术有限公司 | 日志统计方法、装置、设备及存储介质 |
CN113722194B (zh) * | 2021-08-02 | 2024-05-24 | 中移(杭州)信息技术有限公司 | 日志统计方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Verma et al. | Play it again, simmr! | |
US8019863B2 (en) | Synchronizing events between mobile devices and servers | |
US11321139B2 (en) | Streaming traffic pattern for public cloud auto scaling | |
Boloor et al. | Dynamic request allocation and scheduling for context aware applications subject to a percentile response time SLA in a distributed cloud | |
US10249070B2 (en) | Dynamic interaction graphs with probabilistic edge decay | |
CN105740376A (zh) | 一种微服务中api调用统计和监控的方法 | |
CN107748696A (zh) | 一种任务调度的方法及终端设备 | |
CN108243264A (zh) | 一种序列号生成方法及系统 | |
CN112685499B (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
Bohez et al. | Discrete-event simulation for efficient and stable resource allocation in collaborative mobile cloudlets | |
WO2008102204A2 (en) | Systems and methods for session records correlation | |
Hirsch et al. | DewSim: A trace‐driven toolkit for simulating mobile device clusters in Dew computing environments | |
CN111400356B (zh) | 数据查询方法、装置及设备 | |
CN111507608B (zh) | 工单预警方法、装置和存储介质 | |
CN107590015A (zh) | 监测主线程的阻塞的方法和装置 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN109947568A (zh) | 定时任务处理方法、系统、计算机设备及存储介质 | |
US11334535B2 (en) | Storage and analysis of data records associated with managed devices in a device management platform | |
CN109165194A (zh) | 一种数据转存方法、装置、电子设备及存储介质 | |
CN112115039B (zh) | 测试用例生成方法、装置及设备 | |
WO2016107102A1 (zh) | 短信并发业务处理方法及装置 | |
CN109522285A (zh) | 一种日志数据统计方法及系统 | |
US20220261297A1 (en) | Near-real-time data processing with partition files | |
CN112069190B (zh) | 一种分批数据获取方法、装置、设备及介质 | |
CN110399095A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190326 |