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

一种在云环境下sqlserver采集方法及系统与流程

2022-12-06 22:30:15 来源:中国专利 TAG:


1.本发明涉及云服务技术领域,具体为一种在云环境下sqlserver采集方法及系统。


背景技术:

2.随着服务器的技术提升,云服务成为主流服务,各大企业开始实现云上部署,对于服务器的资源、性能、告警及日志的数据监控和管理成为云服务的重中之重。
3.现有技术中,随着各种复杂云环境的出现,采集也需要变得更加轻便节能且适应复杂环境的数据采集。
4.但是,由于网络情况的日益复杂,以及服务器的使用量越来越多,不论是对宿主机还是虚机的资源、性能监控变得越来越重要。及时给出资源性能等指标的告警信息和阈值的设定可以精确地帮助维护人员解决应对各种故障,保证云服务的稳定。


技术实现要素:

5.本发明的目的在于提供一种在云环境下sqlserver采集方法及系统,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:一种在云环境下sqlserver采集方法,所述在云环境下sqlserver采集方法包括以下步骤:
7.解析由client总控模块下发给sqlserver的采集指令;
8.sqlserver采集插件会根据解析后的指令连接数据库,采用并发多线程进行指标数据采集;
9.资源、性能数据根据关键字段不同进行分类存储;
10.数据整合后会被client端推送给server端,并回复采集成功信息结束服务。
11.优选的,指令中包含数据库信息:数据库地址、只读账户用户名、密码、端口号、数据库类型、数据库名和数据库类型和查询语句;
12.解析过程检查指令中携带的信息是否完整以及数据库类型是否匹配,及时存储报错日志。
13.优选的,采集过程中出现采集错误会进行日志写入;
14.采集完成后,采集到的指标数据会根据分类存储到对应的位置,并被整合到一起存储在输出数据结构体中。
15.优选的,资源、性能数据与告警和日志统一存储到一个输出数据结构体中。
16.优选的,sqlserver采集插件完成采集后,将采集到的四大指标数据存储到将要推送的数据结构体中,四大指标包括资源数据、性能数据、告警和日志;完成数据推送后,sqlserver采集插件停止服务,直到server端下发指令到client端并分发任务给sqlserver采集插件唤醒其服务。
17.一种在云环境下sqlserver采集系统,所述该系统由采集指令解析模块、数据采集模块、存储模块以及数据推送模块构成;
18.采集指令解析模块,用于解析由client总控模块下发给sqlserver的采集指令;
19.数据采集模块,用于sqlserver采集插件会根据解析后的指令连接数据库,采用并发多线程进行指标数据采集;
20.存储模块,用于资源、性能数据根据关键字段不同进行分类存储;
21.数据推送模块,用于数据整合后会被client端推送给server端,并回复采集成功信息结束服务。
22.优选的,所述数据采集模块中,
23.指令中包含数据库信息:数据库地址、只读账户用户名、密码、端口号、数据库类型、数据库名和数据库类型和查询语句;
24.解析过程检查指令中携带的信息是否完整以及数据库类型是否匹配,及时存储报错日志。
25.优选的,所述存储模块中,
26.采集过程中出现采集错误会进行日志写入;
27.采集完成后,采集到的指标数据会根据分类存储到对应的位置,并被整合到一起存储在输出数据结构体中。
28.优选的,所述存储模块中,资源、性能数据与告警和日志统一存储到一个输出数据结构体中。
29.优选的,所述数据推送模块中,sqlserver采集插件完成采集后,将采集到的四大指标数据存储到将要推送的数据结构体中,四大指标包括资源数据、性能数据、告警和日志;完成数据推送后,sqlserver采集插件停止服务,直到server端下发指令到client端并分发任务给sqlserver采集插件唤醒其服务。
30.与现有技术相比,本发明的有益效果是:
31.本发明提出的在云环境下sqlserver采集方法及系统的sqlserver采集插件通过解析指令获得数据库信息而非从本地配置文件中获取;使用gengine创建引擎池,提高高并发和高qps情况下的采集效率;采集前信息校对及采集过程的监控,保证采集到的指标数据的完整性;适配多种复杂环境,多节点部署,微型且轻便,各节点互不依赖,由server端统一监管调用。
附图说明
32.图1为server、client及sqlserver采集插件交互时序图;
33.图2为sqlserver插件的工作流程图。
具体实施方式
34.为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.在本发明的描述中,需要说明的是,术语“中心”、“中”、“上”、“下”、“左”、“右”、“内”、“外”、“顶”、“底”、“侧”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“一”、“第一”、“第二”、“第三”、“第四”、“第五”、“第六”仅用于描述目的,而不能理解为指示或暗示相对重要性。
36.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
37.出于简明和说明的目的,实施例的原理主要通过参考例子来描述。在以下描述中,很多具体细节被提出用以提供对实施例的彻底理解。然而明显的是,对于本领域普通技术人员,这些实施例在实践中可以不限于这些具体细节。在一些实例中,没有详细地描述公知方法和结构,以避免无必要地使这些实施例变得难以理解。另外,所有实施例可以互相结合使用。
38.实施例一
39.本发明提供一种技术方案:一种在云环境下sqlserver采集方法,所述在云环境下sqlserver采集方法包括以下步骤:
40.解析由client总控模块下发给sqlserver的采集指令;指令中包含数据库信息:数据库地址、只读账户用户名、密码、端口号、数据库类型、数据库名和数据库类型和查询语句;解析过程检查指令中携带的信息是否完整以及数据库类型是否匹配,及时存储报错日志;
41.sqlserver采集插件会根据解析后的指令连接数据库,采用并发多线程进行指标数据采集;
42.资源、性能数据根据关键字段不同进行分类存储;采集过程中出现采集错误会进行日志写入;采集完成后,采集到的指标数据会根据分类存储到对应的位置,并被整合到一起存储在输出数据结构体中;资源、性能数据与告警和日志统一存储到一个输出数据结构体中;
43.数据整合后会被client端推送给server端,并回复采集成功信息结束服务;sqlserver采集插件完成采集后,将采集到的四大指标数据存储到将要推送的数据结构体中,四大指标包括资源数据、性能数据、告警和日志;完成数据推送后,sqlserver采集插件停止服务,直到server端下发指令到client端并分发任务给sqlserver采集插件唤醒其服务。
44.实施例二
45.一种在云环境下sqlserver采集系统,所述该系统由采集指令解析模块、数据采集模块、存储模块以及数据推送模块构成;
46.采集指令解析模块,用于解析由client总控模块下发给sqlserver的采集指令;
47.数据采集模块,用于sqlserver采集插件会根据解析后的指令连接数据库,采用并发多线程进行指标数据采集;指令中包含数据库信息:数据库地址、只读账户用户名、密码、
端口号、数据库类型、数据库名和数据库类型和查询语句;
48.解析过程检查指令中携带的信息是否完整以及数据库类型是否匹配,及时存储报错日志;
49.存储模块,用于资源、性能数据根据关键字段不同进行分类存储;采集过程中出现采集错误会进行日志写入;
50.采集完成后,采集到的指标数据会根据分类存储到对应的位置,并被整合到一起存储在输出数据结构体中;
51.数据推送模块,用于数据整合后会被client端推送给server端,并回复采集成功信息结束服务;sqlserver采集插件完成采集后,将采集到的四大指标数据存储到将要推送的数据结构体中,四大指标包括资源数据、性能数据、告警和日志;完成数据推送后,sqlserver采集插件停止服务,直到server端下发指令到client端并分发任务给sqlserver采集插件唤醒其服务。
52.实施例三
53.参照附图1所示,在接到来自server端的采集指令后,client会回复一条收到指令的信息,server端以此判断client端是否成功接收到指令并决定是否等待接收将要被推送的采集到的指标数据。client端将下发的采集指令存到队列中,并将对应的sqlserver采集任务分发给sqlserver插件,sqlserver插件进行指令并开始采集服务。这里不存在sqlserver插件与client的之间的握手,其原因是两者并不相互独立。
54.实施例四
55.sqlserver采集插件在接收到分派的任务后,会创建聚合引擎池对每个数据库进行操作:
56.a.在引擎池创建完成后,sqlserver采集插件会在各自的线程中先判断指令中是否包含objectuuid,如果此数据不存在,则直接返回并种植该线程;如果存在uuid,sqlserver插件将进一步进行数据库信息的解析。
57.b.在进行数据库信息的解析中,sqlserver采集插件会对指令中的数据库信息逐条解析,每次解析一条字段都会修改一次布尔值b。详细的工作原理是,如果数据库信息中的任何一条或多条数据缺失,布尔值b都会被修改为false,在此过程中,每解析一次指令中的数据库信息,如果发现缺失,都会将缺失写入日志中,方便排查采集失败的原因,这也是为什么会将指令中的数据库全部解析一遍的原因。
58.c.解析数据库信息完成并无缺失信息后,连接对应数据库。若连接失败,则将失败原因写入日志;若连接成功,则开始进行指标数据的采集。
59.d.进行采集的过程中,如果遇到采集失败等情况,会将报错写入日志;如果采集成功,将输出一个包含资源、性能、告警以及日志的结构体。
60.e.当采集完成后,sqlserver插件会整合所有数据,存入输出数据结构体中,推送给server端。至此,一条指令任务就此完成。
61.实施例五
62.client需要部署在需要采集的节点上并启用其服务,在总控台获得其所需要的节点id并写入配置文件中,server端作为总控方才能根据不同的节点id按照不同的需求分发不同的指令。sqlserver采集插件作为client端的一个采集插件,必须基于这样的部署环境
实现其采集功能。在sqlserver采集插件完成其采集服务后,由client推送给server采集到的数据,server会根据之前的采集任务采集到的数据做对比,判断这次采集任务是否成功,也就是说,sqlserver采集插件主要负责的是采集功能,而server端进行控制,如果数据不准确或不完整,server端将重新下发采集任务。
63.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献