一种数据查询的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据查询的方法及装置。
背景技术
随着移动通信用户的迅猛增长,终端用户对网络通信质量的要求越来越高,用以提高用户感知度为目标的网络优化工作越来越受到重视。在网络优先(简称网优)系统中,通常需进行LTE(Long Term Evolution,长期演进)小区的数据的查询导出,进而根据此数据进行相应的优化处理。而在网优系统进行LTE小区的数据查询导出时,就是导出了LTE小区一个月内每个小时的数据,导致网优平台的数据库服务器上出现了30*24=720个SQL语句在同时执行,这么多语句给数据库以造成了非常大的负荷,致使网优平台几乎瘫痪,数据库不能承接任何的其他数据请求,导出时间更长,影响优化分析人员的工作效率。
发明内容
本发明的实施例提供一种数据查询的方法及装置,用以降低数据库的工作负荷,缩短导出时间,提高优化分析人员的工作效率。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例提供了一种数据查询的方法,包括:获取数据查询请求消息;所述数据查询请求消息中携带待查询时间段;根据所述数据查询请求消息中携带待查询时间段,及预设查询时间间隔,将所述数据查询请求消息划分为至少一个数据查询请求子消息;所述数据查询请求子消息中携带有时间切片;所述时间切片的时间间隔为所述预设时间间隔;所述至少一个数据查询请求子消息携带的时间切片各不相同;确定所述至少一个数据查询请求子消息的个数是否大于n;所述n为预设的数据查询请求消息的查询个数的查询阀值;在所述至少一个数据查询请求子消息的个数大于n时,将n个数据查询请求子消息发送至数据库进行数据查询,将剩余的数据查询请求子消息存储至缓存队列中,并在n个数据查询请求子消息中的至少一个数据查询请求子消息在所述数据库中获取到对应的响应数据后,将所述缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,直至所述缓存队列为空;将所述至少一个数据查询请求子消息对应的响应数据,合并为数据文件,将所述数据文件导出。
可选地,还包括:在所述至少一个数据查询请求子消息的个数不大于n时,将所述至少一个数据查询请求子消息均发送至数据库进行数据查询。
可选地,所述从所述缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询包括:按照先进先出的规则,从所述缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询。
可选地,所述预设时间间隔为1小时。
进一步的,本发明实施例提供了一种数据查询的装置,包括:获取单元,用于获取数据查询请求消息;所述数据查询请求消息中携带待查询时间段;处理单元,用于根据所述获取单元获取的所述数据查询请求消息中携带待查询时间段,及预设查询时间间隔,将所述数据查询请求消息划分为至少一个数据查询请求子消息;所述数据查询请求子消息中携带有时间切片;所述时间切片的时间间隔为所述预设时间间隔;所述至少一个数据查询请求子消息携带的时间切片各不相同;确定单元,用于确定所述处理单元划分的所述至少一个数据查询请求子消息的个数是否大于n;所述n为预设的数据查询请求消息的查询个数的查询阀值;所述处理单元,还用于在所述确定单元确定所述至少一个数据查询请求子消息的个数大于n时,将n个数据查询请求子消息发送至数据库进行数据查询,将剩余的数据查询请求子消息存储至缓存队列中,并在n个数据查询请求子消息中的至少一个数据查询请求子消息在所述数据库中获取到对应的响应数据后,将所述缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,直至所述缓存队列为空;所述处理单元,还用于将所述至少一个数据查询请求子消息对应的响应数据,合并为数据文件,将所述数据文件导出。
可选地,所述处理单元,还用于在所述确定单元确定所述至少一个数据查询请求子消息的个数不大于n时,将所述至少一个数据查询请求子消息均发送至数据库进行数据查询。
可选地,所述处理单元,具体用于按照先进先出的规则,从所述缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询。
可选地,所述预设时间间隔为1小时。
本发明实施例提供了一种数据查询的方法及装置,包括:获取数据查询请求消息;数据查询请求消息中携带待查询时间段;根据数据查询请求消息中携带待查询时间段,及预设查询时间间隔,将数据查询请求消息划分为至少一个数据查询请求子消息;数据查询请求子消息中携带有时间切片;时间切片的时间间隔为预设时间间隔;至少一个数据查询请求子消息携带的时间切片各不相同;确定至少一个数据查询请求子消息的个数是否大于n;在至少一个数据查询请求子消息的个数大于n时,将n个数据查询请求子消息发送至数据库进行数据查询,将剩余的数据查询请求子消息存储至缓存队列中,并在n个数据查询请求子消息中的至少一个数据查询请求子消息在数据库中获取到对应的响应数据后,将缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,直至缓存队列为空;将至少一个数据查询请求子消息对应的响应数据,合并为数据文件,将数据文件导出。这样,数据查询的装置可以在接收到数据查询请求消息后,根据此数据查询请求消息中携带的带产线时间段,将此查询请求消息划分为至少一个数据查询请求子消息,进而可以检测划分的数据查询请求子消息的个数是否大于查询阀值n。在其大于查询阀值n时,则说明数据查询的装置划分的数据查询请求子消息过多,此时,可以将n个数据查询请求子消息发送至数据库进行数据查询,而其他的数据查询请求子消息存储至缓存队列中,这样一来,可以在n个数据查询请求子消息中的至少一个数据查询请求子消息获取到对应的响应数据时,数据查询的装置将缓存队列存储的,与获取到响应数据相同数量的至少一个数据查询请求子消息发送至数据库。从而可以限制发送至数据库的数据查询请求子消息的数量,进而可以降低数据库的工作负荷,缩短导出时间,提高优化分析人员的工作效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据查询的方法的流程示意图;
图2为本发明实施例提供的另一种数据查询的方法的流程示意图;
图3为本发明实施例提供的一种数据查询的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据查询的方法,如图1所示,包括:
步骤101、获取数据查询请求消息。
其中,数据查询请求消息中携带待查询时间段。
具体的,用户在需要进行数据优化,而需要导出数据库的数据时,可以向数据查询的装置发送数据查询请求消息。并且,可以将其需要查询的时间段添加到数据查询请求消息中,即为,在数据查询请求消息携带有待查询时间段。
需要说明的是,在数据查询请求消息中还可以携带其他查询条件,例如,网元条件,指标等。用户可以根据自己的实际需要,将查询条件添加至数据查询请求消息中。本发明对此不作限制。
步骤102、根据数据查询请求消息中携带待查询时间段,及预设查询时间间隔,将数据查询请求消息划分为至少一个数据查询请求子消息。
其中,数据查询请求子消息中携带有时间切片。时间切片的时间间隔为预设时间间隔。至少一个数据查询请求子消息携带的时间切片各不相同。
需要说明的是,预设查询时间间隔是预先设置的,用于将数据查询请求拆分为多个数据查询请求子消息。
具体的,数据查询的装置在接收到用户发送的数据查询请求消息后,可以解析出此数据查询请求消息中携带的待查询时间段,进而可以将待查询时间段根据预设查询时间间隔划分为多个时间切片,针对每个时间切片重新构建一个数据查询请求子消息,即为将数据查询请求消息,划分为至少一个数据查询请求子消息,每个数据查询请求子消息中携带有一个时间切片,这样一来,可以将一个携带的待查询时间段较大的数据查询请求消息划分为携带了时间段较小的数据查询请求子消息。
可选地,预设时间间隔为1小时。这样一来,可以将待查询时间段根据预设时间间隔,拆分为每个时间间隔为1小时的时间切片,从而针对每个时间切片构建一个数据查询子消息。
示例性的,数据查询请求消息携带的待查询时间段为24小时,预设时间间隔为1小时,此时,数据查询的装置可以将待查询时间段24小时拆分为时间连续的24个时间切片,即为,将0点-1点拆分为一个时间片,将1点-2点拆分为一个时间片,依次拆分,一直将23点-0点拆分为一个时间片。在将待查询时间段24小时拆分为时间连续的24个时间切片后,数据查询的装置针对每个时间片构建一个数据查询请求子消息,也就是说,将数据查询请求消息划分为24个数据查询请求子消息,每个数据查询请求子消息携带有一个时间间隔为1小时的时间切片。24个数据查询请求子消息携带的时间切片每个所对应的时间均不同。
步骤103、确定至少一个数据查询请求子消息的个数是否大于n。
其中,n为预设的数据查询请求消息的查询个数的查询阀值。
具体的,数据查询的装置在将数据查询请求消息拆分为至少一个数据查询请求子消息后,可以根据数据查询请求子消息的个数,确定划分的数据查询请求子消息是否超过了查询阀值。此时,数据查询的装置可以将数据查询请求子消息的个数与n进行比较,若数据查询请求子消息的个数大于n,则说明数据查询的装置划分的数据查询请求子消息超过了查询阀值,此时数据查询的装置不能将划分的至少一个数据查询子消息均发送至数据库。若数据查询请求子消息的个数不大于n,则说明数据查询的装置划分的数据查询请求子消息没有超过了查询阀值,此时数据查询的装置可以将划分的至少一个数据查询子消息均发送至数据库。
如上述所述,假设n为12,此时,数据查询的装置在将数据查询请求消息划分为24个数据查询子消息后,可以将数据查询子消息的个数24与12进行比较,确定出数据查询子消息的个数大于查询阀值n。
步骤104、在至少一个数据查询请求子消息的个数大于n时,将n个数据查询请求子消息发送至数据库进行数据查询,将剩余的数据查询请求子消息存储至缓存队列中,并在n个数据查询请求子消息中的至少一个数据查询请求子消息在数据库中获取到对应的响应数据后,将缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,直至缓存队列为空。
具体的,数据查询的装置在确定出数据查询子消息的个数大于n时,说明数据查询请求子消息较多,为了降低数据库的查询负担,不能将数据查询子消息一次性发送至数据库中。此时,数据查询的装置可以将至少一个数据查询请求子消息中的n个数据查询请求子消息发送至数据库中进行数据查询。而将剩余的数据查询请求子消息存储至缓存队列中。这样在数据查询的装置获取了n个数据查询请求子消息中的至少一个数据查询请求子消息对应的相应数据后,即为,数据查询的装置在n个数据查询请求子消息中的至少一个数据查询请求子消息在数据库中获取到响应数据后,可以将缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,也就是说,数据查询的装置可以在缓存队列中存储的数据查询请求子消息中,将与发送了数据库中的n个数据查询请求子消息的获取了响应数据的数据查询请求子消息个数相同的数据查询请求子消息发送至数据库中。
即为,若在n个数据查询请求子消息中有m个数据查询请求子消息获取了响应数据,则数据查询的装置可以其存储的数据查询请求子消息中的m个数据查询请求子消息发送至数据库中进行查询。一直到缓存队列中存储的数据查询请求子消息全部发送至数据库中,即为直到缓存队列为空。
需要说明的是,在缓存队列中,将其内存储的数据查询请求子消息发送至数据库中,数据查询的装置可以将发送至数据库的数据查询子消息从缓存队列中删除。
进一步的,从缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询包括:按照先进先出的规则,从缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询。
如上例所述,数据查询的装置在确定出数据查询子消息的个数24大于查询阀值n12后,可以将12个数据查询子消息发送至数据库中进行查询,将剩余的12个数据查询请求子消息存储至缓存队列中。并在12个数据查询请求子消息中有6个数据查询子消息获取到了响应数据,即为,数据查询的装置获取了6个数据查询子消息的响应数据后,可以将缓存队列中缓存的12个数据查询子消息按照先进先出的原则,将先存储的6个数据查询请求子消息发送至数据库中,并缓存队列中存储的已发送至数据库的数据查询请求子消息删除,直至缓存队列为空。
步骤105、将至少一个数据查询请求子消息对应的响应数据,合并为数据文件,将数据文件导出。
具体的,数据查询的装置在获取了全部的数据查询请求子消息对应的响应数据后,将这些响应数据进行合并处理,进而合并为数据文件,将此数据文件导出给用户。
如上例所述,在数据查询的装置获取24个数据查询请求子消息对应的响应数据后,可以将此24个数据查询请求子消息对应的响应数据进行合并,合并为数据文件,进而将数据文件导出。
本发明实施例提供了一种数据查询的方法,包括:获取数据查询请求消息;数据查询请求消息中携带待查询时间段;根据数据查询请求消息中携带待查询时间段,及预设查询时间间隔,将数据查询请求消息划分为至少一个数据查询请求子消息;数据查询请求子消息中携带有时间切片;时间切片的时间间隔为预设时间间隔;至少一个数据查询请求子消息携带的时间切片各不相同;确定至少一个数据查询请求子消息的个数是否大于n;在至少一个数据查询请求子消息的个数大于n时,将n个数据查询请求子消息发送至数据库进行数据查询,将剩余的数据查询请求子消息存储至缓存队列中,并在n个数据查询请求子消息中的至少一个数据查询请求子消息在数据库中获取到对应的响应数据后,将缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,直至缓存队列为空;将至少一个数据查询请求子消息对应的响应数据,合并为数据文件,将数据文件导出。这样,数据查询的装置可以在接收到数据查询请求消息后,根据此数据查询请求消息中携带的带产线时间段,将此查询请求消息划分为至少一个数据查询请求子消息,进而可以检测划分的数据查询请求子消息的个数是否大于查询阀值n。在其大于查询阀值n时,则说明数据查询的装置划分的数据查询请求子消息过多,此时,可以将n个数据查询请求子消息发送至数据库进行数据查询,而其他的数据查询请求子消息存储至缓存队列中,这样一来,可以在n个数据查询请求子消息中的至少一个数据查询请求子消息获取到对应的响应数据时,数据查询的装置将缓存队列存储的,与获取到响应数据相同数量的至少一个数据查询请求子消息发送至数据库。从而可以限制发送至数据库的数据查询请求子消息的数量,进而可以降低数据库的工作负荷,缩短导出时间,提高优化分析人员的工作效率。
进一步的,在步骤103中确定至少一个数据查询请求子消息的个数是否大于n的确定结果有两种情况。一种是至少一个数据查询请求子消息的个数大于n,另一种是至少一个数据查询请求子消息的个数不大于n。数据查询的装置根据确定的结果,执行的步骤不同。在确定至少一个数据查询请求子消息的个数大于n时,则数据查询的装置可以执行步骤104。在确定至少一个数据查询请求子消息的个数不大于n时,则数据查询的装置可以执行步骤106,如图2所示。其中,步骤106具体如下所示:
步骤106、在至少一个数据查询请求子消息的个数不大于n时,将至少一个数据查询请求子消息均发送至数据库进行数据查询。
具体的,数据查询的装置在确定至少一个数据查询请求子消息的个数不大于n时,说明至少一个数据查询请求子消息可以均发送至数据库,此时数据查询的装置可以将划分出的至少一个数据查询请求子消息均发送至数据库进行数据查询。
这样一来,数据查询的装置可以将一个时间段较大的数据查询请求消息划分为多个时间段较小的数据查询请求子消息,并将至少一个数据查询请求子消息的个数未达到查询阀值时,将至少一个数据查询请求子消息均发送至数据库中进行数据查询。数据库可以在接收到时间段较小的数据查询请求子消息,进行数据查询时,可以更快捷,更迅速。从而实现了可以降低数据库的工作负荷,缩短导出时间,提高优化分析人员的工作效率的目的。
本发明实施例提供了一种数据查询的装置,如图3所示,包括:
获取单元301,用于获取数据查询请求消息。
其中,数据查询请求消息中携带待查询时间段。
处理单元302,用于根据获取单元301获取的数据查询请求消息中携带待查询时间段,及预设查询时间间隔,将数据查询请求消息划分为至少一个数据查询请求子消息。
其中,数据查询请求子消息中携带有时间切片。时间切片的时间间隔为预设时间间隔。至少一个数据查询请求子消息携带的时间切片各不相同。
可选地,预设时间间隔为1小时。
确定单元303,用于确定处理单元302划分的至少一个数据查询请求子消息的个数是否大于n。
其中,n为预设的数据查询请求消息的查询个数的查询阀值。
处理单元302,还用于在确定单元303确定至少一个数据查询请求子消息的个数大于n时,将n个数据查询请求子消息发送至数据库进行数据查询,将剩余的数据查询请求子消息存储至缓存队列中,并在n个数据查询请求子消息中的至少一个数据查询请求子消息在数据库中获取到对应的响应数据后,将缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,直至所述缓存队列为空。
具体的,处理单元302,具体用于按照先进先出的规则,从缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询。
处理单元302,还用于将至少一个数据查询请求子消息对应的响应数据,合并为数据文件,将数据文件导出。
进一步的,处理单元302,还用于在确定单元303确定至少一个数据查询请求子消息的个数不大于n时,将至少一个数据查询请求子消息均发送至数据库进行数据查询。
本发明实施例提供了一种数据查询的装置,包括:获取数据查询请求消息;数据查询请求消息中携带待查询时间段;根据数据查询请求消息中携带待查询时间段,及预设查询时间间隔,将数据查询请求消息划分为至少一个数据查询请求子消息;数据查询请求子消息中携带有时间切片;时间切片的时间间隔为预设时间间隔;至少一个数据查询请求子消息携带的时间切片各不相同;确定至少一个数据查询请求子消息的个数是否大于n;在至少一个数据查询请求子消息的个数大于n时,将n个数据查询请求子消息发送至数据库进行数据查询,将剩余的数据查询请求子消息存储至缓存队列中,并在n个数据查询请求子消息中的至少一个数据查询请求子消息在数据库中获取到对应的响应数据后,将缓存队列中存储的至少一个数据查询请求子消息发送至数据库进行数据查询,直至缓存队列为空;将至少一个数据查询请求子消息对应的响应数据,合并为数据文件,将数据文件导出。这样,数据查询的装置可以在接收到数据查询请求消息后,根据此数据查询请求消息中携带的带产线时间段,将此查询请求消息划分为至少一个数据查询请求子消息,进而可以检测划分的数据查询请求子消息的个数是否大于查询阀值n。在其大于查询阀值n时,则说明数据查询的装置划分的数据查询请求子消息过多,此时,可以将n个数据查询请求子消息发送至数据库进行数据查询,而其他的数据查询请求子消息存储至缓存队列中,这样一来,可以在n个数据查询请求子消息中的至少一个数据查询请求子消息获取到对应的响应数据时,数据查询的装置将缓存队列存储的,与获取到响应数据相同数量的至少一个数据查询请求子消息发送至数据库。从而可以限制发送至数据库的数据查询请求子消息的数量,进而可以降低数据库的工作负荷,缩短导出时间,提高优化分析人员的工作效率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。