发明内容
本发明的主要目的在于提供一种数据库中的不可累加指标处理方法和装置,以解决在数据库中获取不可累加指标在目标时刻的总数量时,处理速度慢的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据库中的不可累加指标处理方法。根据本发明的数据库中的不可累加指标处理方法包括:获取不可累加指标存储在数据库中的开始时间和结束时间,其中,不可累加指标在数据库中多次存储,开始时间是指数据库中存储的不可累加指标进入目标系统的时间,结束时间是指数据库中存储的不可累加指标退出目标系统的时间;通过不可累加指标的多个开始时间和结束时间,得到时刻列,其中,由多个不可累加指标的开始时间得到开始时间列,由多个不可累加指标的结束时间得到结束时间列,开始时间列和结束时间列合并得到时刻列;统计不可累加指标进入和退出数据库的次数,得到计数列;根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量。
进一步地,根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量包括:根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;查询第一目标时刻在第一数据库表的中对应的计数列;通过对计数列执行计算处理,得到不可累加指标在第一目标时刻的总数量。
进一步地,根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量之后,方法还包括:获取第一目标时刻的不可累加指标的总数量;将第一目标时刻的不可累加指标的总数量存储在第二数据库表中,其中,第二数据库表存储在数据库中。
进一步地,根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量包括:获取第二数据库表;判断第二数据库表中是否已存在不可累加指标在第一目标时刻的总数量;在第二数据库表中存在第一目标时刻不可累加指标的总数量的情况下,获取不可累加指标在第一目标时刻的总数量;在第二数据库表中不存在不可累加指标在第一目标时刻的总数量的情况下,在第二数据库表中查询不可累加指标在第一目标时刻之前的第二目标时刻的总数量,其中,不可累加指标在第二目标时刻的总数量已存储在第二数据库表中;获取第二数据库表中不可累加指标在第二目标时刻的总数量;根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;通过对第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的计数列执行计算处理,得到不可累加指标在第一数据库表中第二目标时刻到第一目标时刻的总数量;通过第二数据库表中第二目标时刻的不可累加指标的总数量和第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的总数量,得到不可累加指标在第一目标时刻的总数量。
进一步地,获取不可累加指标存储在数据库中的开始时间和结束时间之前,方法还包括:检测数据库历史数据中不可累加指标在所有时刻的总数量;将数据库历史数据中不可累加指标在所有时刻的总数量存储在第三数据库表中,其中,第三数据库表存储在数据库中;其中,根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量包括:根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;判断第三数据库表中是否已存在不可累加指标在第一目标时刻的总数量;在第三数据库表中存在第一目标时刻不可累加指标的总数量的情况下,获取不可累加指标在第一目标时刻的总数量;在第三数据库表中不存在不可累加指标在第一目标时刻的总数量的情况下,在第三数据库表中查询不可累加指标在第一目标时刻之前的第三目标时刻的总数量,其中,不可累加指标在第三目标时刻的总数量已存储在第三数据库表中;获取第三数据库表中不可累加指标在第三目标时刻的总数量;通过对第一数据库表中不可累加指标在第三目标时刻到第一目标时刻的计数列执行计算处理,得到不可累加指标在第一数据库表中第三目标时刻到第一目标时刻的总数量;通过第三数据库表中第三目标时刻的不可累加指标的总数量和第一数据库表中不可累加指标在第三目标时刻到第一目标时刻的总数量,得到不可累加指标在第一目标时刻的总数量。
为了实现上述目的,根据本发明的另一方面,提供了一种数据库中的不可累加指标处理装置。根据本发明的数据库中的不可累加指标处理装置包括:第一获取单元,用于获取不可累加指标存储在数据库中的开始时间和结束时间,其中,不可累加指标在数据库中多次存储,开始时间是指数据库中存储的不可累加指标进入目标系统的时间,结束时间是指数据库中存储的不可累加指标退出目标系统的时间;第二获取单元,用于不可累加指标的多个开始时间和结束时间,得到时刻列,其中,由多个不可累加指标的开始时间得到开始时间列,由多个不可累加指标的结束时间得到结束时间列,开始时间列和结束时间列合并得到时刻列;第一统计单元,用于统计不可累加指标进入和退出数据库的次数,得到计数列;计算单元,用于根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量。
进一步地,该计算单元包括:第一创建模块,用于根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;第一查询模块,用于查询第一目标时刻在第一数据库表的中对应的计数列;第一计算模块,用于对计数列执行计算处理,得到不可累加指标在第一目标时刻的总数量。
进一步地,该装置还包括:第一获取模块,用于获取第一目标时刻的不可累加指标的总数量;第一存储模块,用于将第一目标时刻的不可累加指标的总数量存储在第二数据库表中,其中,第二数据库表存储在数据库中。
进一步地,该计算单元包括:第二获取模块,用于获取第二数据库表;第一判断模块,用于判断第二数据库表中是否已存在不可累加指标在第一目标时刻的总数量;第三获取模块,用于在第二数据库表中存在第一目标时刻不可累加指标的总数量的情况下,获取不可累加指标在第一目标时刻的总数量;第二查询模块,用于在第二数据库表中不存在不可累加指标在第一目标时刻的总数量的情况下,在第二数据库表中查询不可累加指标在第一目标时刻之前的第二目标时刻的总数量,其中,不可累加指标在第二目标时刻的总数量已存储在第二数据库表中;第四获取模块,用于获取第二数据库表中不可累加指标在第二目标时刻的总数量;第二创建模块,用于根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;第二计算模块,用于对第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的计数列执行计算处理,得到不可累加指标在第一数据库表中第二目标时刻到第一目标时刻的总数量;第五获取模块,用于第二数据库表中第二目标时刻的不可累加指标的总数量和第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的总数量,得到不可累加指标在第一目标时刻的总数量。
进一步地,该装置还包括:检测模块,用于检测数据库历史数据中不可累加指标在所有时刻的总数量;第二存储模块,用于将数据库历史数据中不可累加指标在所有时刻的总数量存储在第三数据库表中,其中,第三数据库表存储在数据库中;其中,计算单元包括:第三创建模块,用于根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;第二判断模块,用于判断第三数据库表中是否已存在不可累加指标在第一目标时刻的总数量;第六获取模块,用于在第三数据库表中存在第一目标时刻不可累加指标的总数量的情况下,获取不可累加指标在第一目标时刻的总数量;第三查询模块,用于在第三数据库表中不存在不可累加指标在第一目标时刻的总数量的情况下,在第三数据库表中查询不可累加指标在第一目标时刻之前的第三目标时刻的总数量,其中,不可累加指标在第三目标时刻的总数量已存储在第三数据库表中;第七获取模块,用于获取第三数据库表中不可累加指标在第三目标时刻的总数量;第三计算模块,用于对第一数据库表中不可累加指标在第三目标时刻到第一目标时刻的计数列执行计算处理,得到不可累加指标在第一数据库表中第三目标时刻到第一目标时刻的总数量;第八获取模块,用于第三数据库表中第三目标时刻的不可累加指标的总数量和第一数据库表中不可累加指标在第三目标时刻到第一目标时刻的总数量,得到不可累加指标在第一目标时刻的总数量。
通过本发明,采用包括以下步骤的方法:获取不可累加指标存储在数据库中的开始时间和结束时间;通过不可累加指标的多个开始时间和结束时间,得到时刻列;统计不可累加指标进入和退出数据库的次数,得到计数列;根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量,解决了在数据库中获取不可累加指标在第一目标时刻的总数量时,处理速度慢的问题,提升了获取不可累加指标在第一目标时刻的总数量的处理速度。
具体实施方式
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明的数据库中的不可累加指标处理方法的第一实施例的流程图。如图1所示,该方法包括如下的步骤S101至步骤S104:
步骤S101,获取不可累加指标存储在数据库中的开始时间和结束时间。
不可累加指标是指不能通过数据库中不同的维度成员值进行累加的指标。例如,用户数这类指标,不能通过将目标时刻内的用户相加得到用户在目标时刻的总数量。
不可累加指标在数据库中多次存储。开始时间是指数据库中存储的不可累加指标进入目标系统的时间,结束时间是指数据库中存储的不可累加指标退出目标系统的时间。例如,上午8点05分,用户第一次登入网络;上午8点30分,用户退出网络;上午8点40分,用户登入网络,……,上午10点40分,用户最后一次退出网络。在数据库中多次存储用户的登入和退出网络的时间,获取用户在存储在数据库中的开始时间和结束时间,即获取到用户在数据库中的多个开始时间:上午8点05分,上午8点40分;用户在数据库中的结束时间:上午8点30分,上午10点40分。
步骤S102,通过不可累加指标的多个开始时间和结束时间,得到时刻列。
将获取的不可累加指标的多个开始时间和结束时间分别存储在数据库中,将多个不可累加指标的开始时间存储在数据库中开始时间列,多个不可累加指标的结束时间得到结束时间列,由开始时间列和结束时间列合并得到时刻列。
步骤S103,统计不可累加指标进入和退出数据库的次数,得到计数列。
统计数据库中存储的不可累加指标进入和退出目标系统的次数,得到计数列。例如,用户进入一次目标系统,计数列对用户数执行加1操作;用户退出一次目标系统,计数列对用户数执行减1操作。通过统计数据库中存储的不可累加指标进入和退出目标系统的次数,得到计数列。
步骤S104,根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量。
在用户获取不可累加指标在第一目标时刻的总数量时,通过时刻列和计数列计算不可累加指标在第一目标时刻的总数量,获取不可累加指标在第一目标时刻的总数量。
优选地,为了更好的提升查询不可累加指标在第一目标时刻的总数量的处理速度,在本发明实施例提供的数据库中的不可累加指标处理方法中,根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量包括:根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;查询第一目标时刻在第一数据库表的中对应的计数列;通过对计数列执行计算处理,得到不可累加指标在第一目标时刻的总数量。
优选地,为了更好的提升查询不可累加指标在第一目标时刻的总数量的处理速度,在本发明实施例提供的数据库中的不可累加指标处理方法中,该方法还包括:获取第一目标时刻的不可累加指标的总数量;将第一目标时刻的不可累加指标的总数量存储在第二数据库表中,其中,第二数据库表存储在数据库中;获取不可累加指标在目标时刻的总数量的处理速度时,判断第二数据库表中是否已存在不可累加指标在目标时刻的总数量;在第二数据库表中存在第一目标时刻不可累加指标的总数量的情况下,获取不可累加指标在第一目标时刻的总数量;在第二数据库表中不存在不可累加指标在第一目标时刻的总数量的情况下,在第二数据库表中查询不可累加指标在第一目标时刻之前的第二目标时刻的总数量,其中,不可累加指标在第二目标时刻的总数量已存储在第二数据库表中;获取第二数据库表中不可累加指标在第二目标时刻的总数量;根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表;通过对第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的计数列执行计算处理,得到不可累加指标在第一数据库表中第二目标时刻到第一目标时刻的总数量;通过第二数据库表中第二目标时刻的不可累加指标的总数量和第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的总数量,得到不可累加指标在第一目标时刻的总数量。
本发明实施例提供的数据库中的不可累加指标处理方法,通过获取不可累加指标存储在数据库中的开始时间和结束时间;通过不可累加指标的多个开始时间和结束时间,得到时刻列;统计不可累加指标进入和退出数据库的次数,得到计数列;根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量,解决了在数据库中获取不可累加指标在第一目标时刻的总数量时,处理速度慢的问题,提升了获取不可累加指标在第一目标时刻的总数量的处理速度。
本发明实施例还提供了一种数据库中的不可累加指标处理装置,需要说明的是,本发明实施例的数据库中的不可累加指标处理装置可以用于执行本发明实施例所提供的数据库中的不可累加指标处理方法。以下对本发明实施例提供的数据库中的不可累加指标处理装置进行介绍:
图2是根据本发明的数据库中的不可累加指标处理装置的第一实施例的示意图。该装置包括:第一获取单元10、第二获取单元20、第一统计单元30和计算单元40。
第一获取单元10,用于获取不可累加指标存储在数据库中的开始时间和结束时间,其中,不可累加指标在数据库中多次存储,开始时间是指数据库中存储的不可累加指标进入目标系统的时间,结束时间是指数据库中存储的不可累加指标退出目标系统的时间。
第二获取单元20,用于不可累加指标的多个开始时间和结束时间,得到时刻列,其中,由多个不可累加指标的开始时间得到开始时间列,由多个不可累加指标的结束时间得到结束时间列,开始时间列和结束时间列合并得到时刻列。
第一统计单元30,用于统计不可累加指标进入和退出数据库的次数,得到计数列。
计算单元40,用于根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量。
本发明实施例提供的数据库中的不可累加指标处理装置,通过第一获取单元10获取不可累加指标存储在数据库中的开始时间和结束时间,其中,不可累加指标在数据库中多次存储,开始时间是指数据库中存储的不可累加指标进入目标系统的时间,结束时间是指数据库中存储的不可累加指标退出目标系统的时间;第二获取单元20通过不可累加指标的多个开始时间和结束时间,得到时刻列,其中,由多个不可累加指标的开始时间得到开始时间列,由多个不可累加指标的结束时间得到结束时间列,开始时间列和结束时间列合并得到时刻列;第一统计单元30统计不可累加指标进入和退出数据库的次数,得到计数列;计算单元40根据时刻列和计数列计算不可累加指标在第一目标时刻的总数量。解决了在数据库中获取不可累加指标在第一目标时刻的总数量时,处理速度慢的问题,提升了获取不可累加指标在第一目标时刻的总数量的处理速度。
图3是根据本发明的数据库中的不可累加指标处理装置的第二实施例的示意图。该实施例可以作为图2所示实施例的一种优选实施方式,如图3所示,该装置包括:第一获取单元10、第二获取单元20、第一统计单元30和计算单元40。其中,计算单元40包括:第一创建模块401、第一查询模块402和第一计算模块403。
第一获取单元10、第二获取单元20、第一统计单元30和计算单元40的作用与上述实施例中作用相同,在此不再赘述。
第一创建模块401,用于根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表。
第一查询模块402,用于查询第一目标时刻在第一数据库表的中对应的计数列。
第一计算模块403,用于对计数列执行计算处理,得到不可累加指标在第一目标时刻的总数量。
图4是根据本发明的数据库中的不可累加指标处理装置的第三实施例的示意图。该实施例可以作为图2所示实施例的一种优选实施方式,如图4所示,该装置包括:第一获取单元10、第二获取单元20、第一统计单元30、计算单元40、第一获取模块50和第一存储模块60。
第一获取单元10、第二获取单元20、第一统计单元30和计算单元40的作用与上述实施例中作用相同,在此不再赘述。
第一获取模块50,用于获取第一目标时刻的不可累加指标的总数量。
第一存储模块60,用于将第一目标时刻的不可累加指标的总数量存储在第二数据库表中,其中,第二数据库表存储在数据库中。
图5是根据本发明的数据库中的不可累加指标处理装置的第四实施例的示意图。该实施例可以作为图2所示实施例的一种优选实施方式,如图5所示,该装置包括:第一获取单元10、第二获取单元20、第一统计单元30和计算单元40。其中,计算单元40包括:第二获取模块404,第一判断模块405,第三获取模块406,第二查询模块407,第四获取模块408,第二创建模块409,第二计算模块410和第五获取模块411。
第一获取单元10、第二获取单元20、第一统计单元30和计算单元40的作用与上述实施例中作用相同,在此不再赘述。
第二获取模块404,用于获取第二数据库表。
第一判断模块405,用于判断第二数据库表中是否已存在不可累加指标在第一目标时刻的总数量。
第三获取模块406,用于在第二数据库表中存在第一目标时刻不可累加指标的总数量的情况下,获取不可累加指标在第一目标时刻的总数量。
第二查询模块407,用于在第二数据库表中不存在不可累加指标在第一目标时刻的总数量的情况下,在第二数据库表中查询不可累加指标在第一目标时刻之前的第二目标时刻的总数量,其中,不可累加指标在第二目标时刻的总数量已存储在第二数据库表中。
第四获取模块408,用于获取第二数据库表中不可累加指标在第二目标时刻的总数量。
第二创建模块409,用于根据时刻列和计数列在数据库中创建第一数据库表,其中,第一数据库表为用于存储时刻列和计数列的数据库表。
第二计算模块410,用于对第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的计数列执行计算处理,得到不可累加指标在第一数据库表中第二目标时刻到第一目标时刻的总数量。
第五获取模块411,用于第二数据库表中第二目标时刻的不可累加指标的总数量和第一数据库表中不可累加指标在第二目标时刻到第一目标时刻的总数量,得到不可累加指标在第一目标时刻的总数量。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。