一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据查询方法、装置、服务器及存储介质与流程

2022-07-30 20:14:34 来源:中国专利 TAG:


1.本技术属于计算机技术领域,具体涉及一种数据查询方法、装置、服务器及存储介质。


背景技术:

2.通信和网络技术的快速发展,推动了在线应用系统呈现几何级的增长。在线应用系统的服务内容也从原来的单一静态向多元动态交互模式发展,提高了用户体验的交互性和丰富性。然而,当海量用户在体验同一个网上服务的时候,经常会遇到服务器繁忙情况,因此现在往往使用多台服务器为同一种应用提供服务,为应用进行分布式部署。分布式部署在提高在线应用系统服务能力的同时,也增加了在线应用系统服务流程的复杂性。在线应用系统的数据库处理效率是影响在线应用系统服务能力的重要环节。在相关的方式中,可以通过获取对数据库进行操作的慢查询数据并对该慢查询数据进行优化来提升数据库的处理效率,因此,如何及时获取需要优化的慢查询数据是需要解决的技术问题。


技术实现要素:

3.鉴于上述问题,本技术提出了一种数据查询方法、装置、服务器以及存储介质,以及时获取需要优化的慢查询数据。
4.第一方面,本技术实施例提供了一种数据查询方法,应用于慢查询分布式系统,所述方法包括:获取应用系统确定的第一慢查询数据,将所述第一慢查询数据存储在所述慢查询分布式系统的数据库中;根据所述应用系统对应的慢查询配置参数,从所述数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据;将所述第二慢查询数据发送给所述应用系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
5.可以看出,在本技术实施例中,慢查询分布式系统可以直接根据应用系统对应的慢查询配置参数,找到满足预设条件的慢查询数据,并将满足预设条件的慢查询数据发送给应用系统对应的目标设备,以使得慢查询分布式系统可以对应用系统产生的慢查询数据进行监控并及时的获取到预设条件的慢查询数据,并将该满足预设条件的慢查询数据发送给应用系统的运维人员所使用的目标设备,以使得运维人员可以及时的获取到需要优化的慢查询数据,进而及时优化慢查询数据,最终达到提升应用系统的数据库的处理效率的目的。
6.第二方面,本技术实施例提供了一种数据查询方法,应用于应用系统,所述方法包括:响应于对所述应用系统的数据库的操作,获取与所述操作对应的操作语句的操作参数;若基于所述操作参数以及所述应用系统对应的慢查询配置参数,确定所述操作语句为第一慢查询数据;则将所述第一慢查询数据发送给慢查询分布式系统;其中,所述第一慢查询数据用于:触发所述慢查询分布式系统将所述第一慢查询数据存储在所述慢查询分布式系统的数据库中;根据所述应用系统对应的慢查询配置参数,从所述数据库所包括的慢查询数据中,获取满足预设条件的第二慢查询数据,以及将所述第二慢查询数据发送给所述应用
系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
7.可以看出,在本技术实施例中,在应用系统将慢查询数据发送给慢查询分布式系统后,可以触发慢查询分布式系统直接根据应用系统对应的慢查询配置参数,找到满足预设条件的慢查询数据,并将满足预设条件的慢查询数据发送给应用系统对应的目标设备,以使得慢查询分布式系统可以对应用系统产生的慢查询数据进行监控并及时的获取到预设条件的慢查询数据,并将该满足预设条件的慢查询数据发送给应用系统的运维人员所使用的目标设备,以使得运维人员后续可以及时的获取到需要优化的慢查询数据,进而及时优化慢查询数据,最终达到提升应用系统的数据库的处理效率的目的。
8.第三方面,本技术实施例提供了一种数据查询装置,运行于慢查询分布式系统,所述装置包括:第一数据获取单元,用于获取应用系统确定的第一慢查询数据,将所述第一慢查询数据存储在所述慢查询分布式系统的数据库中;第二数据获取单元,用于根据所述应用系统对应的慢查询配置参数,从所述数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据;数据发送单元,用于将所述第二慢查询数据发送给所述应用系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
9.第四方面,本技术实施例提供了一种服务器,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
10.第五方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1示出了现有实例的流程示意图;
13.图2示出了本技术一实施例提出的一种数据查询方法的流程图;
14.图3示出了本技术一实施例提出的s110-s150对应的方法的应用场景的示意图;
15.图4示出了本技术一实施例提出的应用系统接入到慢查询分布式系统的时序图;
16.图5示出了本技术另一实施例提出的一种数据查询方法的流程图;
17.图6示出了本技术又一实施例提出的一种数据查询方法的流程图;
18.图7示出了本技术又一实施例提出推送修改后的慢查询配置参数的示意图;
19.图8示出了本技术又一实施例提出推送top-n慢查询数据的示意图;
20.图9示出了本技术再一实施例提出的一种数据查询方法的流程图;
21.图10示出了本技术再一实施例提出的一种数据查询方法的流程图;
22.图11示出了本技术再一实施例提出的获取慢查询配置参数的示意图;
23.图12示出了本技术再一实施例提出的s540-s570对应的方法的实施过程的示意图;
24.图13示出了本技术实施例提出的一种数据查询装置的结构框图;
25.图14示出了本技术实施例提出的一种数据查询装置的结构框图;
26.图15示出了本技术实施例提出的一种数据查询系统的结构框图;
27.图16示出了本技术用于执行根据本技术实施例的数据查询方法的服务器的结构框图;
28.图17示出了本技术用于保存或者携带实现根据本技术实施例的数据查询方法的程序代码的存储单元。
具体实施方式
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
30.示例性的,如图1所示,首先选择需要开启慢查询的关系型数据库,在该关系型数据库的配置文件中,配置慢查询相关的参数,如mysql数据库要开启慢查询,需要在配置文件my.cnf中添加慢查询相关的参数,然后再重启该关系型数据库,使得配置文件中配置的慢查询相关的参数生效。当该关系型数据库执行sql(structured query language,结构化查询语言)时,如果sql的执行时间大于配置的慢查询相关参数中的慢查询阈值,则将慢查询sql记录到慢查询日志中,从而该关系型数据库的管理员可以通过该关系型数据库对应的客户端,查询慢查询数据。通过上述方法来获取对数据库进行操作的慢查询数据,需要为每个数据库都设置慢查询相关的参数,并重启数据库,对于拥有数据库较多的中大型软件企业来说,还较为不便以及效率低下。
31.因此,为了解决上述问题,本技术提出一种数据查询方法、装置、服务器及存储介质。下面将结合附图具体描述相关内容。
32.请参阅图2,本技术实施例提供的一种数据查询方法,应用于数据查询系统,该数据查询系统包括应用系统和慢查询分布式系统,所述方法具体包括以下步骤:
33.步骤s110:所述应用系统响应于对所述应用系统的数据库的操作,获取与所述操作对应的操作语句的操作参数。
34.在本技术实施例中,应用系统可以包括单个服务器,也可以包括服务器集群。应用系统的数据库用于存储应用系统执行相关业务过程中生成的数据。
35.其中,对应用系统的数据库的操作是在使用应用系统执行相关业务过程中进行的。对应用系统的数据库的操作包括插入、更新、删除、查询、添加、修改中的至少一种。
36.其中,操作对应的操作语句包括sql语句。操作语句的操作参数包括 sql语句的执行时长、sql语句的操作语句类型中的至少一种。
37.步骤s120:若基于所述操作参数以及所述应用系统对应的慢查询配置参数,确定所述操作语句为第一慢查询数据,则所述应用系统将所述第一慢查询数据发送给慢查询分布式系统。
38.其中,应用系统对应的慢查询配置参数是预先在慢查询分布式系统中为该应用系统设置的。不同的应用系统可以根据系统自身特点,如按时段、按sql类型,分别配置不同的慢查询配置参数。
39.其中,慢查询数据为执行时长大于或等于预设时长的sql语句。
40.当应用系统在获取到sql语句对应的操作参数后,可以将该sql语句对应的操作参数与应用系统对应的慢查询配置参数进行比较,对该sql语句进行慢查询验证,确定该sql语句是否为慢查询数据。
41.若基于该sql语句对应的操作参数以及应用系统对应的慢查询配置参数,确定该sql语句的执行时长大于或等于预设时长,则将该sql语句发送给慢查询分布式系统,以使慢查询分布式系统对该sql语句进行存储。
42.步骤s130:所述慢查询分布式系统获取所述应用系统确定的第一慢查询数据,将所述第一慢查询数据存储在慢查询分布式系统的数据库中。
43.其中,慢查询分布式系统的数据库用于存储不同应用系统对应的慢查询数据。慢查询分布式系统可以包括单个服务器,也可以包括服务器集群。
44.当慢查询分布式系统获取到第一慢查询数据后,可以将第一慢查询数据存储在慢查询分布式系统的数据库中。此时,若有多个应用系统同时向慢查询分布式系统发送对应的第一慢查询数据,那么慢查询分布式系统在对第一慢查询数据进行存储时,可以将不同的应用系统确定的第一慢查询数据存储在不同的慢查询分布式系统的数据库中,以便后续在使用时,可以方便获取到指定应用系统确定的第一慢查询数据。
45.步骤s140:所述慢查询分布式系统根据所述应用系统对应的慢查询配置参数,从所述慢查询分布式系统的数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据。
46.其中,所述预设条件为预先设置的从慢查询分布式系统的数据库中获取指定数量的慢查询数据的条件。第二慢查询数据为确定的与慢查询配置参数对应的慢查询数据。
47.作为一种方式,慢查询分布式系统可以定时根据慢查询配置参数,从慢查询分布式系统的数据库所包括的慢查询数据中,获取满足预设条件的第二慢查询数据。其中,定时可以为预先设置的时间周期,每当到达该预先设置的时间周期时,慢查询分布式系统根据慢查询配置参数,从慢查询分布式系统的数据库所包括的慢查询数据中,获取一次满足预设条件的第二慢查询数据。
48.步骤s150:所述慢查询分布式系统将所述第二慢查询数据发送给所述应用系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
49.其中,当获取第二慢查询数据后,慢查询分布式系统可以将该第二慢查询数据发送给应用系统的运维人员使用的设备。
50.在本技术实施例中,步骤s110-步骤s150对应的方法的应用场景可以如图3所示。图3中,应用系统对应的用户设备为使用该应用系统提供的业务功能完成对应的业务的用户使用的设备;消息队列中间件用于实现应用系统和慢查询分布式系统解耦合,其中,消息队列中间件可以包括单个服务器,也可以包括服务器集群。消息队列中间件中有多个用于存储不同数据的消息队列,消息队列中间件的特定主题队列为用于存储应用系统的慢查询数据的消息队列,当应用系统有慢查询数据产生时,应用系统则会将该慢查询数据发送到特定主题队列中,当特定主题队列中有慢查询数据到达时,慢查询分布式系统就可以从特定主题队列中将该慢查询数据读取出来。
51.具体的,当有对应用系统的数据库的操作产生时,可以根据该应用系统对应的慢
查询配置参数来确定是否有慢查询数据产生,当确定有慢查询数据产生时,应用系统可以将慢查询数据异步发送给消息队列中间件的特定主题队列中。慢查询分布式系统订阅消息队列中间件的特定主题队列,当消息队列中间件的特定主题队列中有慢查询数据到达时,慢查询分布式系统可以从消息队列中间件的特定主题队列中获取到该慢查询数据,并将该慢查询数据存储在慢查询分布式系统的数据库中,从而慢查询分布式系统可以定时计算top-n慢查询数据,并将计算得到的top-n慢查询数据发送给应用系统的运维人员所使用的设备。其中,top-n慢查询数据为慢查询数据中排名最前的n条慢查询数据。
52.当然,在应用系统向慢查询分布式系统发送慢查询数据之前,需要先将应用系统接入到慢查询分布式系统。应用系统接入到慢查询分布式系统的时序图如图4所示。首先,应用系统在启动前需要添加慢查询分布式系统客户端jar包依赖,并进行关于慢查询的基础配置,配置完成后启动应用系统。然后应用系统运维人员登录慢查询分布式系统,填写应用系统关于慢查询的相关配置项,并提交审核。慢查询分布式系统运维人员审核应用系统的接入请求,若审核通过,应用系统关于慢查询的相关配置项生效,生成慢查询配置参数。从而慢查询分布式系统可以请求调用慢查询客户端 jar包里的接口,将应用系统的慢查询配置参数实时推送给应用系统。当应用系统接收到慢查询分布式系统推送的慢查询配置参数后,可以根据慢查询配置参数,过滤出慢查询数据,并将慢查询数据发送给消息队列中间件。
53.其中,jar包可以理解为第三方库函数,依赖jar包后就可以调用jar包里提供的方法来实现该方法对应的功能。
54.本技术实施例提供的一种数据查询方法,慢查询分布式系统可以直接根据应用系统对应的慢查询配置参数,找到满足预设条件的慢查询数据,并将满足预设条件的慢查询数据发送给应用系统对应的目标设备,以使得慢查询分布式系统可以对应用系统产生的慢查询数据进行监控并及时的获取到预设条件的慢查询数据,并将该满足预设条件的慢查询数据发送给应用系统的运维人员所使用的目标设备,以使得运维人员后续可以及时的基于慢查询分布式系统所发送的慢查询数据,运维人员能够及时的获取到需要优化的慢查询数据,进而及时优化慢查询数据,最终达到提升应用系统的数据库的处理效率的目的。
55.请参阅图5,本技术实施例提供的一种数据查询方法,应用于慢查询分布式系统,所述方法包括:
56.步骤s210:获取应用系统确定的第一慢查询数据,将所述第一慢查询数据存储在所述慢查询分布式系统的数据库中。
57.在本技术实施例中,慢查询分布式系统可以定时获取第一慢查询数据,也可以实时获取第一慢查询数据。
58.作为其中一种方式,在慢查询分布式系统定时获取第一慢查询数据的情况下,可以预先设置获取第一慢查询数据的时间,进而当到达预先设置的时间时,慢查询分布式系统开始获取第一慢查询数据。其中,预先设置的时间可以基于历史数据进行设置,比如,对历史数据分析后将时间设置为每天下午3点,那么每天在到达下午3点时,慢查询分布式系统就会开始获取第一慢查询数据。
59.作为其中另一种方式,在慢查询分布式系统实时获取第一慢查询数据的情况下,每当应用系统有确定的新的第一慢查询数据时,就会向慢查询分布式系统发送一个数据获
取信号,当慢查询分布式系统接收到该数据获取信号时,就可以实时获取应用系统确定的第一慢查询数据。
60.步骤s220:根据所述应用系统对应的慢查询配置参数,从所述数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据。
61.步骤s230:将所述第二慢查询数据发送给所述应用系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
62.本技术实施例提供的一种数据查询方法,慢查询分布式系统可以直接根据应用系统对应的慢查询配置参数,找到满足预设条件的慢查询数据,并将满足预设条件的慢查询数据发送给应用系统对应的目标设备,以使得慢查询分布式系统可以对应用系统产生的慢查询数据进行监控并及时的获取到预设条件的慢查询数据,并将该满足预设条件的慢查询数据发送给应用系统的运维人员所使用的目标设备,以使得运维人员后续可以及时的基于慢查询分布式系统所发送的慢查询数据,运维人员能够及时的获取到需要优化的慢查询数据,进而及时优化慢查询数据,最终达到提升应用系统的数据库的处理效率的目的。
63.请参阅图6,本技术实施例提供的一种数据查询方法,应用于慢查询分布式系统,所述方法包括:
64.步骤s310:获取所述慢查询配置参数。
65.步骤s320:将所述慢查询配置参数发送给所述应用系统,以使所述应用系统基于所述慢查询配置参数确定所述第一慢查询数据。
66.作为一种方式,获取修改后的所述应用系统对应的慢查询配置参数,并将修改后的所述应用系统对应的慢查询配置参数发送给所述应用系统。
67.在本技术实施例中,应用系统的运维人员可以登录慢查询分布式系统,修改该应用系统对应的慢查询配置参数,当慢查询分布式系统的运维人员审核通过后,慢查询分布式系统可以主动将修改后的应用系统对应的慢查询配置参数推送给应用系统,这样应用系统就能实现在不重启的情况下获取并使用修改后的慢查询配置参数。如图7所示,慢查询分布式系统可以获取应用系统的运维人员的接入或配置修改申请,进而慢查询分布式系统的运维人员审批该接入或配置修改申请,若审批通过,则慢查询分布式系统可以远程访问应用系统,将修改后的慢查询配置参数推送给应用系统。
68.其中,当应用系统的运维人员对慢查询配置参数设置得不合理,或者应用系统的运维人员有变动时,应用系统的运维人员可以登录慢查询分布式系统,修改该应用系统对应的慢查询配置参数。通过上述方法,可以开启、关闭或修改慢查询配置参数。每当有慢查询配置参数发生变化时,慢查询分布式系统可以将最新的慢查询配置参数推送给应用系统,无需应用系统重启。
69.步骤s330:从预先订阅的特定主题队列中,获取所述应用系统确定的第一慢查询数据,其中,所述特定主题队列为消息队列中间件中的队列。
70.步骤s340:将所述数据库中的第三慢查询数据按照执行时长降序排列,所述第三慢查询数据对应的应用系统标识为所述目标标识,所述第三慢查询数据对应的操作语句类型为所述目标操作语句类型,所述慢查询数据为执行时长大于或等于预设时长的操作语句。
71.其中,第三慢查询数据为数据库中存储的属于同一个应用系统,且对应的操作语
句类型相同的慢查询数据。
72.其中,所述慢查询配置参数可以包括所述应用系统的目标标识以及目标操作语句类型。示例性的,慢查询配置参数可以如表1所示:
73.表1
74.[0075][0076]
如上表所示,慢查询配置参数可以包括应用系统的目标标识、应用系统名称、是否开启慢查询配置、top-n配置(时间段开始时间、时间段结束时间、sql类型、top-n的值)、联系方式、配置参数(时间段开始时间、时间段结束时间、sql类型、预设时长)等。
[0077]
在本技术实施例中,不同的应用系统的慢查询配置参数不同,这里的不同体现在,不同的应用系统,同一sql类型,在不同时间段设置的预设时长不同;同一应用系统,同一sql类型,在不同时间段设置的预设时长不同;不同的应用系统,不同sql类型,在不同时间段设置的预设时长不同。
[0078]
示例性的,假设有第三方应用系统的id为“a”,中文名称为“a管理系统”,慢查询配置说明如下:
[0079]
预设时长配置:
[0080]
8点-18点:将insert类型的sql的预设时长设置为500毫秒,将update 类型的sql的预设时长设置为600毫秒,将select类型的sql的预设时长设置为400毫秒,对delete类型的sql的预设时长为100毫秒。
[0081]
其他时间范围:不分sql类型(即sql类型为all),预设时长设置为800毫秒。
[0082]
又比如,不同的应用系统,不同sql类型,在不同时间段设置的预设时长如表2所示:
[0083]
表2
[0084][0085]
可选地,慢查询分布式系统在对应用系统的慢查询数据进行存储时,可以按照上述慢查询配置参数的结构形式进行存储,示例性的,慢查询数据的数据结构可以如表3所示:
[0086]
表3
[0087][0088][0089]
通过上述所示的慢查询数据的数据结构可以知道每一个慢查询数据的执行时长、
对应的sql类型以及对应的应用系统等,从而可以根据应用系统的标识和慢查询数据的类型,从慢查询分布式系统的数据库所包括的慢查询数据中获取第三慢查询数据,进而将第三慢查询数据按照对应的执行时间降序排列,得到降序排列后的第三慢查询数据。
[0090]
步骤s350:从降序排列后的第三慢查询数据中,获取指定位置的第三慢查询数据,得到所述第二慢查询数据。
[0091]
在本技术实施例中,指定位置的第三慢查询数据为预先设置的top-n 慢查询数据。比如:top-n慢查询数据为前5的慢查询数据,即每次计算完 top-n后,会保留sql执行时长最长的5条第三慢查询数据,将这5条第三慢查询数据确定为满足预设条件的第二慢查询数据。
[0092]
在每一次确定了第二慢查询数据时,可以将每一次确定的第二慢查询数据进行存储。在对第二慢查询数据进行存储时,可以按照如表4所示的数据结构进行存储:
[0093]
表4
[0094][0095][0096]
作为一种方式,步骤s350的具体步骤可以包括:若本次获取的第二慢查询数据与前一次获取的第二慢查询数据不同,则将所述本次获取的第二慢查询数据发送给所述应用系统对应的目标设备。
[0097]
在本次获取的第二慢查询数据与前一次获取的第二慢查询数据不同的情况下,可以将本次获取的第二慢查询数据根据应用系统标识、时间段和 sql类型的形式发送给应用
系统对应的目标设备,以达到及时预警的作用。示例性的,如图8所示,慢查询分布式系统订阅消息队列中间件的特定主题队列,获取应用系统的慢查询数据,慢查询分布式系统可以定时计算各个类型的top-n慢查询数据是否有变动,若有变动,则将当前的top-n慢查询数据通过邮件或短信通知应用系统的运维人员。通过上述方法,当应用系统的top-n慢查询数据发生变动时,可以及时告警应用系统的运维人员。
[0098]
步骤s360:将所述第二慢查询数据通过邮件或短信的方式发送给所述应用系统对应的目标设备。
[0099]
在本技术实施例中,慢查询分布式系统可以通过邮件将第二慢查询数据发送到应用系统的运维人员的邮箱,也可以通过短信的方式将第二慢查询数据发送给应用系统的运维人员预留的手机上,还可以是其他方式,只要能将告警信息顺利及时的通知到应用系统的相关责任人即可。
[0100]
本技术实施例提供的一种数据查询方法,根据慢查询数据的执行时长,对慢查询数据进行降序排列后,可以直接获取到对应的满足预设条件的慢查询数据,以便后续慢查询分布式系统可以及时对慢查询数据发送给应用系统的运维人员进行维护。再者,可以将本次获取的top-n慢查询数据和前一次获取的top-n慢查询进行比较,进而在应用系统的top-n慢查询数据发生变动时,可以及时告警应用系统的运维人员,使得应用系统的运维人员可以及时对慢查询数据进行优化。
[0101]
请参阅图9,本技术实施例提供的一种数据查询方法,应用于应用系统,所述方法包括:
[0102]
步骤s410:响应于对所述应用系统的数据库的操作,获取与所述操作对应的操作语句的操作参数。
[0103]
步骤s420:若基于所述操作参数以及所述应用系统对应的慢查询配置参数,确定所述操作语句为第一慢查询数据,则将所述第一慢查询数据发送给慢查询分布式系统。
[0104]
在本技术实施例中,根据操作语句的执行时长和操作语句的类型以及应用系统的慢查询配置参数对该操作语句进行慢查询验证,若该操作语句通过慢查询验证,则确定该操作语句为第一慢查询数据。
[0105]
其中,所述第一慢查询数据用于:
[0106]
触发所述慢查询分布式系统将所述第一慢查询数据存储在所述慢查询分布式系统的数据库中;根据所述应用系统对应的慢查询配置参数,从所述数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据,以及将所述第二慢查询数据发送给所述应用系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
[0107]
在本技术实施例中,应用系统可以通过调用慢查询分布式系统提供的 http接口,将第一慢查询数据发送给慢查询分布式系统。
[0108]
本技术实施例提供的一种数据查询方法,不需要对应用系统的数据库配置慢查询日志,对应用系统的数据库无侵入。慢查询分布式系统可以直接根据应用系统对应的慢查询配置参数,找到满足预设条件的慢查询数据,并将满足预设条件的慢查询数据发送给应用系统的运维人员,使得应用系统的运维人员可以对应用系统产生的慢查询数据进行监控,同时应用系统的运维人员可以及时定位到应用系统的慢查询数据,以便后续可以基于应用系统的慢查询数据对慢查询配置参数进行修改,以提升应用系统的数据库的处理效
率。
[0109]
请参阅图10,本技术实施例提供的一种数据查询方法,应用于应用系统,所述方法包括:
[0110]
步骤s510:加载所述慢查询分布式系统的客户端jar包,以及读取基础配置。
[0111]
在本技术实施例中,基础配置可以包括消息队列中间件地址、发布/订阅的特定主题对列、慢查询分布式系统的地址等。应用系统只需要进行简单的配置,配置消息队列中间件地址、发布/订阅的特定主题对列、慢查询分布式系统的地址等。
[0112]
当检测到慢查询分布式系统的客户端jar包升级时,可以将慢查询分布式系统的客户端jar包升级的消息发送给应用系统的运维人员,由应用系统的运维人员决定是否升级以及升级的时间。慢查询分布式系统的客户端jar 包的新版本完全兼容老版本。当慢查询分布式系统的客户端jar包升级后,可以将最新的慢查询分布式系统的客户端jar包推送给maven中央库,并发邮件通知应用系统的运维人员,告知慢查询分布式系统的客户端jar包升级的版本和新版本新增和修改的内容,由应用系统的运维人员决定是否升级以及升级的时间。
[0113]
其中,如果应用系统是maven项目,则只需要在pom.xml(或 build.gradle)文件中修改慢查询分布式系统客户端jar包的版本即可(一般现在的应用系统都是maven或gradle项目),如果不是,则需要在maven 中央库中将最新版本的jar包下载下来,再手动依赖进应用系统中。最后将包含新版本客户端jar包的应用系统重新部署到生产环境就完成了应用系统关于慢查询分布式系统客户端jar包的升级。
[0114]
步骤s520:基于所述基础配置和所述客户端jar包,访问所述慢查询分布式系统,以获取所述应用系统对应的慢查询配置参数。
[0115]
在本技术实施例中,应用系统可以通过客户端jar包中提供的接口以及慢查询分布式系统的地址,远程访问慢查询分布式系统,以获取应用系统对应的慢查询配置参数。如图11所示,在应用系统启动时,应用系统可以加载慢查询分布式系统客户端jar包括,读取慢查询基础配置,获取慢查询分布式系统域名,进而可以远程请求慢查询分布式系统,获取慢查询配置参数,并将慢查询配置参数存储到应用系统本地jvm内存中。
[0116]
步骤s530:响应于对所述应用系统的数据库的操作,获取与所述操作对应的操作语句的操作参数。
[0117]
在本技术实施例中,所述操作语句的操作参数包括执行时间段、操作语句类型以及执行时长。
[0118]
步骤s540:基于所述操作语句的执行时间段以及所述每个配置参数中配置的时间段,对所述多个配置参数进行时间段验证;将所述多个配置参数中,通过时间段验证的配置参数作为第一候选配置参数。
[0119]
其中,所述慢查询配置参数包括多个配置参数,每个配置参数中均包括配置的时间段、及配置的操作语句类型和预设时长。
[0120]
其中,在所述操作语句的执行时段的开始时间晚于所述配置参数中配置的时间段的开始时间,且所述操作语句的执行时段的结束时间早于所述配置参数中配置的时间段的结束时间的情况下,表示所述配置参数通过时间段验证。
[0121]
在本技术实施例中,遍历慢查询配置参数中的配置参数集合,基于操作语句的执
行时间段以及每个配置参数中配置的时间段,对每一个配置参数进行时间段验证,如果该操作语句的执行时间段的开始时间晚于某个配置参数中配置的时间段的开始时间,且该操作语句的执行时间段的结束时间早于该配置参数中配置的时间段的结束时间,则该配置参数通过时间段验证,将该配置参数加入到第一候选配置参数中,以进行后续的操作语句类型验证。
[0122]
步骤s550:基于所述操作语句的操作语句类型以及所述第一候选配置参数中配置的操作语句类型,对所述第一候选配置参数进行操作语句类型验证;将所述第一候选配置参数中,通过操作语句类型验证的配置参数作为第二候选配置参数。
[0123]
其中,若在所述操作语句的操作语句类型与所述第一候选配置参数中配置的操作语句类型相同的情况下,表示所述第一候选配置参数通过操作语句类型验证;或者,在所述操作语句的操作语句类型与所有所述第一候选配置参数中配置的操作语句类型均不相同,且所述第一候选配置参数中配置的操作语句类型为全语句类型的情况下,表示所述第一候选配置参数通过操作语句类型验证。
[0124]
在本技术实施例中,操作语句的操作语句类型可以包括insert、update、 delete、select四种类型。遍历第一候选配置参数,确定该操作语句的操作语句类型和第一候选配置参数中各自配置的操作语句类型是否一致,如果有第一候选配置参数中配置的操作语句类型和该操作语句的操作语句类型一致,则使用该第一候选配置参数中配置的预设时长对该操作语句进行时长验证;如果没有第一候选配置参数中配置的操作语句类型和该操作语句的操作语句类型一致,而第一候选配置参数中配置的操作语句类型中有全语句类型的第一候选配置参数,则使用该第一候选配置参数中配置的预设时长对该操作语句进行时长验证。
[0125]
步骤s560:若所述操作语句的执行时长大于或等于所述第二候选配置参数中配置的预设时长,确定所述操作语句为第一慢查询数据。
[0126]
在本技术实施例中,如果该操作语句的执行时长大于或等于确定的进行时长验证的配置参数中配置的预设时长,则确定该操作语句为第一慢查询数据,则需要将该第一慢查询数据发送到消息队列的特定主题对列中。
[0127]
在本技术实施例中,步骤s540-步骤s560对应的方法的实施过程可以如图12所示。当应用系统获取到sql语句的执行时间段后,会发起异步慢查询验证,首先会进行时间段验证,时间段验证的具体实施过程可以如步骤s540,若通过时间段验证,则继续进行sql类型判断,sql类型判断的具体实施过程可以如步骤s550,当sql类型验证通过后,进行时长验证,若该sql语句通过时长验证,则确定该sql语句为第二慢查询数据,将该sql 语句发送给消息队列中间件。
[0128]
步骤s570:将所述第一慢查询数据发送给慢查询分布式系统。
[0129]
本技术实施例提供的一种数据查询方法,对应用系统只需要进行基础的配置,不需要对应用系统的数据库配置慢查询日志,对应用系统的数据库无侵害。只要检测到有对应用系统的数据库的操作,就可以获取到对应的操作语句的操作参数,从而可以根据对应的操作参数快速的确定该操作语句是否为慢查询数据。
[0130]
请参阅图13,本技术实施例提供的一种数据查询装置600,运行于慢查询分布式系统,所述数据查询装置600包括:
[0131]
第一数据获取单元610,用于获取应用系统确定的第一慢查询数据,将所述第一慢查询数据存储在所述慢查询分布式系统的数据库中。
[0132]
第二数据获取单元620,用于根据所述应用系统对应的慢查询配置参数,从所述慢查询分布式系统的数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据。
[0133]
作为一种方式,所述慢查询配置参数包括所述应用系统的目标标识以及目标操作语句类型。所述第二数据获取单元620用于将所述数据库中的第三慢查询数据按照执行时间降序排列,所述第三慢查询数据对应的应用系统标识为所述目标标识,所述第三慢查询数据对应的操作语句类型为所述目标操作语句类型,所述慢查询数据为执行时长大于或等于预设时长的操作语句;从降序排列后的第三慢查询数据中,获取指定位置的第三慢查询数据,得到所述第二慢查询数据。
[0134]
可选地,所述第二数据获取单元620用于若本次获取的第二慢查询数据与前一次获取的第二慢查询数据不同,则将所述本次获取的第二慢查询数据发送给所述应用系统对应的目标设备。
[0135]
数据发送单元630,用于将所述第二慢查询数据发送给所述应用系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
[0136]
请参阅图14,本技术实施例提供的一种数据查询装置700,运行于应用系统,所述数据查询装置700包括:
[0137]
参数获取单元710,用于响应于对所述应用系统的数据库的操作,获取与所述操作对应的操作语句的操作参数。
[0138]
确定单元720,用于若基于所述操作参数以及所述应用系统对应的慢查询配置参数,确定所述操作语句为第一慢查询数据,则将所述第一慢查询数据发送给慢查询分布式系统;其中,所述第一慢查询数据用于:触发所述慢查询分布式系统将所述第一慢查询数据存储在所述慢查询分布式系统的数据库中;根据所述应用系统对应的慢查询配置参数,从所述数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据,以及将所述第二慢查询数据发送给所述应用系统对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
[0139]
作为一种方式,所述慢查询配置参数包括多个配置参数,每个配置参数均包括配置的时间段、配置的操作语句类型和预设时长。所述确定单元 720用于基于所述操作语句的执行时间段以及所述每个配置参数中配置的时间段,对所述多个配置参数进行时间段验证;将所述多个配置参数中,通过时间段验证的配置参数作为第一候选配置参数;基于所述操作语句的操作语句类型以及所述第一候选配置参数中配置的操作语句类型,对所述第一候选配置参数进行操作语句类型验证;将所述第一候选配置参数中,通过操作语句类型验证的配置参数作为第二候选配置参数;若所述操作语句的执行时长大于或等于所述第二候选配置参数中配置的预设时长,确定所述操作语句为第一慢查询数据。
[0140]
其中,在所述操作语句的执行时段的开始时间晚于所述配置参数中配置的时间段的开始时间,且所述操作语句的执行时段的结束时间早于所述配置参数中配置的时间段的结束时间的情况下,表示所述配置参数通过时间段验证。
[0141]
在所述操作语句的操作语句类型与所述第一候选配置参数中配置的操作语句类型相同的情况下,表示所述第一候选配置参数通过操作语句类型验证;或者,在所述操作语
句的操作语句类型与所有所述第一候选配置参数中配置的操作语句类型均不相同,且所述第一候选配置参数中配置的操作语句类型为全语句类型的情况下,表示所述第一候选配置参数通过操作语句类型验证。
[0142]
请参阅图15,本技术实施例提供的一种数据查询系统800,所述数据查询系统800包括应用系统810和慢查询分布式系统820:
[0143]
所述应用系统810,用于响应于对所述应用系统810的数据库的操作,获取与所述操作对应的操作语句的操作参数。
[0144]
所述应用系统810,用于若基于所述操作参数以及所述应用系统810 对应的慢查询配置参数,确定所述操作语句为第一慢查询数据,将所述第一慢查询数据发送给慢查询分布式系统820。
[0145]
所述慢查询分布式系统820,用于获取所述应用系统810确定的第一慢查询数据,将所述第一慢查询数据存储在慢查询分布式系统820的数据库中;
[0146]
所述慢查询分布式系统820,用于根据所述应用系统810对应的慢查询配置参数,从所述慢查询分布式系统820的数据库所包括的慢查询数据中获取满足预设条件的第二慢查询数据。
[0147]
所述慢查询分布式系统820,用于将所述第二慢查询数据发送给所述应用系统810对应的目标设备,所述目标设备为所述应用系统的运维人员所使用的设备。
[0148]
需要说明的是,本技术中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
[0149]
下面将结合图16对本技术提供的一种服务器进行说明。
[0150]
请参阅图16,基于上述的数据查询方法、装置,本技术实施例还提供的另一种可以执行前述数据查询方法的服务器900。服务器900包括相互耦合的一个或多个(图中仅示出一个)处理器902、存储器904以及网络模块906。其中,该存储器904中存储有可以执行前述实施例中内容的程序,而处理器902可以执行该存储器904中存储的程序。
[0151]
其中,处理器902可以包括一个或者多个处理核。处理器902利用各种接口和线路连接整个服务器900内的各个部分,通过运行或执行存储在存储器904内的指令、程序、代码集或指令集,以及调用存储在存储器904 内的数据,执行服务器900的各种功能和处理数据。可选地,处理器902 可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列 (programmable logic array,pla)中的至少一种硬件形式来实现。处理器902可集成中央处理器(central processing unit,cpu)、图像处理器 (graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器902中,单独通过一块通信芯片进行实现。
[0152]
存储器904可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory,rom)。存储器904可用于存储指令、程序、代码、代码集或指令集。存储器904可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储服务器900在使用中
所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0153]
所述网络模块906用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述网络模块906可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。所述网络模块906可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块906可以与基站进行信息交互。
[0154]
请参考图17,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质1100中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0155]
计算机可读存储介质1100可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质1100包括非易失性计算机可读介质(non-transitorycomputer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
[0156]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献