一种数据库服务器性能检测和预警方法

文档序号:6526909阅读:183来源:国知局
一种数据库服务器性能检测和预警方法
【专利摘要】一种数据库服务器性能检测和预警方法,本发明涉及一种基于ARM端的运行在WinCE系统上的数据库服务器性能检测以及预警方法。以解决现有技术大多只能够检测到服务器的性能信息,并不能达到对崩溃进行自动预警的问题。它基于GPRS模块和ARM端控制器实现;它的步骤为:性能检测程序间隔性获取硬件资源的占用情况、硬件的温度、硬件是否正常工作;间隔性的将检测到的信息写入日志,将日志发送给运行于ARM端控制器的状况处理程序,状况处理程序遍历整个日志的每个字段,抓取关键字,同预设的不同等级的处理方法相比对,找到相对应的处理命令。紧急情况时,GPRS模块发送预警信息给指定的信息接受者。
【专利说明】一种数据库服务器性能检测和预警方法
【技术领域】
[0001]本发明涉及一种基于ARM端的运行在WinCE系统上的数据库服务器性能检测以及
预警方法。
【背景技术】
[0002]服务器承载着处理来自客户端的操作申请并应用申请的任务,由于客户端的数目大于服务器的数目,所以一般情况下,约束整个系统能力的主要因素是服务器的性能。所以这也就是服务器成为大家主要关心的一个重要方面。
[0003]数据库服务器在运行的过程中会有很多的资源占用,如果资源占用过度,会导致很多程序无法正常运行,甚至会导致服务器崩溃;服务器在执行过程中,必然会处理来自多方的请求,如果服务器处理负载的能力很差,会发生在服务器运行过程中被负载击垮,造成不可挽回的损失。
[0004]于是数据库服务器的性能检测就非常必要。利用软件系统进行服务器性能及负载能力测试,将测试不合格的服务器做正确的处理,将能够大大降低服务器在运行期间崩溃的可能性。
[0005]目前业内存在很多服务器性能检测程序,可以检测服务器的性能信息,但是它们大多只能够检测到服务器的性能信息,并不能达到对崩溃进行自动预警的作用。

【发明内容】

[0006]本发明的目的是提供一种数据库服务器性能检测和预警方法,以解决现有技术大多只能够检测到服务器的性能信息,并不能达到对崩溃进行自动预警的问题。
[0007]本发明的方法基于GPRS模块7和能够通过USB与数据库服务器6进行通信的ARM端控制器5实现;本方法通过下述步骤实现:
[0008]一、运行于数据库服务器6中的性能检测程序间隔性的在服务器上获取包括内存、CPU、GPU、10、硬盘和网络在内的服务器硬件资源的占用情况;
[0009]性能检测程序间隔性的检测服务器中主要硬件的温度;
[0010]性能检测程序定时性的检测服务器各硬件是否正常工作;
[0011]二、性能检测程序间隔性的将检测到的信息写入日志;
[0012]性能检测程序在生成日志时会生成两个不同的日志文件,其中一个日志记录完整的每次的性能检测结果,即详细的资源占用情况和温度,另外一个日志记录本次性能检测结果中超出预设值的资源占用信息;
[0013]三、交互程序在性能检测程序每次将检测信息写入日志后,自动将日志发送给运行于ARM端控制器5的状况处理程序;
[0014]四、状况处理程序遍历整个日志的每个字段,抓取日志文件中的关键字;
[0015]读取关键字后面的占用比率到“记录结构体数组”的相应的字段;
[0016]用保存了从日志文件中读取到的记录的“记录结构体数组”,同保存了预设的各字段域值的性能标准结构体数组相比较,形成本条记录的性能等级,并将相应的等级写入对应的记录结构体数组的对应记录的对应字段;
[0017]五、用形成的包含资源占用及性能等级的记录结构体数组同预设的不同等级的处理方法相比对,找到相对应的处理命令;
[0018]处理命令会调用位于服务器端的预设的处理文件,进行状况处理;
[0019]六、当数据库服务器6端出现严重的资源占用情况或者其他紧急情况时,ARM端控制器5的信息发送程序借助GPRS模块7发送预警信息给指定的信息接受者;请求尽快处理。
[0020]本发明的方法不仅能够精确的检测服务器的各硬件的资源占用信息、温度信息、硬件状况信息,而且能够对不同的情况按照预设方法通过ARM端控制器5进行自动化处理;并按照预设方法通过ARM端控制器5发送信息给指定用户,以实现实时性能预警。
【专利附图】

【附图说明】
[0021]图1是本发明方法的流程图,图2是实现本发明的系统设备连接关系示意图;图3是ARM端控制器内部结构示意图;图4是本发明所涉及设备工作过程示意图;图5是显示本发明的实现写入、读取、分析日志及处理状况的时序图;图6是显示本发明的异常警报状态时发送预警信息的时序图。
【具体实施方式】
[0022]【具体实施方式】一:下面结合图1至6说明本实施方式。本方法基于GPRS模块7和能够通过USB与数据库服务器6进行通信的ARM端控制器5实现;本方法通过下述步骤实现:
[0023]步骤一、运行于数据库服务器端的性能检测程序能间隔性的检测数据库服务器的性能,其数据库服务器性能包括资源占用情况(即资源占用多少)、资源利用率(通过资源占用情况以及资源分配情况计算的)、主要硬件温度(包括CPU、主板、硬盘、电池)、状态参数(包括服务器已连续运行时间,硬盘总的使用时间)。
[0024]其中资源占用情况包括内存、CPU、GPU、10、硬盘、网络在内的各种服务器硬件资源的占用情况;并且性能检测程序通过预设值为I分钟的间隔时间(也可以自定义间隔时间)在服务器上执行获取系统资源占用状态的指令,并对取得的原始数据进行分析,以获取资源占用情况。主要硬件温度为CPU、主板、硬盘、GPU等硬件的温度;性能检测程序能够在检测硬件资源占用的同时检测主要硬件温度(即定时检测时间间隔也是I分钟),并对检测到的数据进行分析,以进行相应的处理。性能检测程序间隔性的检测服务器各硬件是否正常工作;其中性能检测程序检测硬件是否正常工作的时间间隔为3天(用户可以自定义设置)。
[0025]步骤二、运行在数据库服务器端的性能检测程序能够间隔性的自动将检测数据库服务器端的性能及状态参数的信息保存在用户设置好的目录下,其中设置好的目录为指定的性能检测程序与用户通信的目录,在此目录下放置有记录着性能检测程序检测信息的日志,能找到所有性能检测程序检测的信息。性能检测程序能够在此目录下,按照检测到信息的时间顺序写入日志文件,其中会根据检测的信息的不同种类有多个日志文件,包括资源占用量日志文件、资源占用率日志文件、硬件温度日志文件、系统状态参数日志文件,每行的信息代表一次检测的结果,包括多个字段(如:资源占用量日志文件有CPU、内存、10、硬盘等几个字段)。
[0026]步骤三、性能检测程序检测完成服务器性能并计入日志之后,会自动调用数据库服务器性能检测及预警设备中运行于服务器端的交互程序,交互程序能够间隔性的通过USB线从服务器端指定的日志记录位置读取性能检测程序记录的性能检测信息的日志,并通过USB线定时性的把记录性能检测信息的日志文件发送到运行于ARM端控制器5的状况处理程序中;其中间隔时间预设为性能检测程序检测硬件资源占用量的间隔时间(预设为I分钟)的5倍(即预设为5分钟)。
[0027]步骤四、根据ARM端控制器5的状况处理程序处理的日志的记录分析资源占用情况,得出性能表现,并根据预设的性能规则确定性能等级;同时用户也可根据性能表现自定义性能等级。
[0028]步骤五、ARM端控制器5能够根据预设的不同性能等级对应的处理方法自行通过处理命令调用服务器端的处理文件来自动处理目前的资源占用情况,同时用户可以根据预设的不同性能等级自定义对应的处理方法,通过处理命令调用数据库服务器6的处理文件来处理目前的资源占用情况。
[0029]步骤六、如果出现数据库服务器6硬件资源占用持续很长时间高于预设值,或硬件温度持续高于预设值,或服务器硬件工作异常等紧急情况,ARM端控制器5的信息发送程序能利用GPRS模块7发送紧急信息给指定的接收者。
[0030]图2所示的数据库服务器性能检测及预警设备包括;作为状况处理的主题ARM端控制器5 ;作为性能检测的对象数据库服务器6 ;作为ARM端控制器5的信息发送程序与信息接收者交互的媒介GPRS网络10 ;作为ARM端控制器5与数据库服务器6端通信媒介的USB线8,其中ARM端控制器5经由GPRS网络10同预警信息接收者X进行通信;ARM端控制器5通过USB线8与数据库服务器6进行连接。
[0031]图3是图2所示的ARM端控制器5的示意图,在图3的示意图中,包括处理所有状况和任务的处理器16、和外部进行通信的GPRS模块7 ;存储程序和文件的存储器14 ;用于显示给用户的显示模块15 ;用于用户控制程序变现的输入模块17 ;用于同数据库服务器进行交互的输出模块18。
[0032]图4显示了数据库服务器性能检测及预警设备包括:进行状况处理的主设备ARM端控制器5、被检测的主体数据库服务器6、ARM端和服务器进行连接的USB线8、移动网络
10、WAP网关11、互联网14、WAP服务器13、信息接收者X。其中ARM端控制器5经由移动网络10、WAP网关11、互联网14、WAP服务器13将预警信息推送给信息接收者X。ARM端5经由USB线8连接到数据库服务器7。
[0033]图5显示了状况处理程序和性能检测程序的工作过程的时序图:状况处理程序设置间隔检测性能的时间与记录日志的位置,性能检测程序按照设置的间隔时间检测性能并写入日志;状况处理程序发送读取日志请求。性能检测程序返回请求读取的日志。程序对日志分析,找到对应的处理方法;给服务器端发送命令,执行处理文件。
[0034]图5显示了出现紧急状况时,ARM端的信息发送程序发送警报信息给指定信息接收者的时序图。出现紧急情况时,状况处理程序自动调用信息发送程序,信息发送程序会整理警报信息,通过GPRS模块,经由移动网络等发送到信息接收者。
[0035]ARM端控制器5首先通过USB线连接到数据库服务器6,之后进行以下步骤:
[0036]ARM端通过用户设置或者是默认设置,设置好写日志的资源占用阈值;
[0037]数据库服务器中运行的性能检测程序,间隔一定时间自动调用相关指令查看服务器主机的资源占用情况(包括CPU,Mem, GPU, HDD等);
[0038]检测完成后,以添加的方式写入日志文件A。
[0039]将本次检测结果的每个字段与ARM端设置的资源占用阈值比对,如果在阈值之内,则将改字段记录到日志文件B ;
[0040]性能检测程序每次记录完日志之后会调用交互程序。交互程序会将日志通过USB发送给状况处理程序。发送日志文件之前,交互程序会自动查看此日志在上一次发送之后是否写过,如果写过,则发送,否则发送未写信号给状况处理程序。除非状况处理程序主动发送读取日志(A)的请求,否则默认发送日志(B)。
[0041]ARM端的状况处理程序收到日志,开始依次读取日志文件的每一个字段,并将读到的本条记录按照对应的字段记录到记录结构体数组(a)中;
[0042]将记录结构体数组(a)的最新一条记录同标准结构体数组(b)中的对应字段进行比较,得出本条记录的性能等级。并把性能等级记录到本条记录的最后一个字段“性能等级”字段。
[0043]按照本条记录的性能等级,在ARM端控制器(5)中找到对应的处理方法。
[0044]ARM端的状况处理程序执行对应的处理命令,命令会通过USB线发送执行某个处理文件的请求。
[0045]ARM端的交互程序会接收请求,并执行命令指定的处理文件。
[0046]其中处理文件包含一系列相关的处理命令,处理现在的性能状况
[0047]执行一段时间之后,性能检测程序(I)会再次检测性能,并返回日志。
[0048]经过状况处理程序分析,如果性能正常,则不处理,否则继续处理
[0049]如果出现服务器状态异常,如资源占用十分严重的情况,则执行以下预警信息发送步骤:
[0050]如图5所示,当经过状况处理程序处理确认为紧急情况时,状况处理程序会调用信息发送程序,并把现在的警报状态的信息传递给信息发送程序。
[0051]信息发送程序会结合收到的警报状态信息整理成预警通知信息,信息发送程序利用GPRS模块,通过移动网络(10)、WAP网关(11)、互联网(12)、WAP服务器(13)发送到指定信息接收者(X)的接收设备上。
[0052]信息发送程序会等待信息接收者的“收到回复”信息,如果预设间隔时间内并没有收到,信息发送程序会在一次发送预警通知信息。直到收到“收到回复”信息,或者发送次数到达3次,自动取消继续发送。
[0053]【具体实施方式】二:本实施方式相对于【具体实施方式】一具体明确了:步骤一中运行于数据库服务器2端的性能检测程序自动加入开机启动任务,并作为常驻服务运行,以实现及时检测性能信息并在适当时机给出状况处理。
[0054]【具体实施方式】三:本实施方式相对于【具体实施方式】一具体明确了:步骤一中运行在数据库服务器2端的性能检测程序检测数据库服务器2端的性能及状态参数的信息间隔时间的预设值为5分钟,并且用户能自行调整间隔时间。
[0055]【具体实施方式】四:本实施方式相对于【具体实施方式】一具体明确了:步骤二中性能检测程序在生成日志时会生成两个不同的日志文件,其中一个日志文件(A)记录完成的每次的性能检测结果为详细的资源占用情况和硬件温度;另外一个日志文件(B)记录本次性能检测结果中超出资源占用预设值的资源占用信息;其中写日志的位置会与运行在ARM端控制器5的状况处理程序的读取日志的位置设置自动同步;即写入位置存在默认值,同时也支持用户自定义写入日志的位置;日志文件(A)采用添加方式写入,日志文件(B)采用覆盖方式写入。
[0056]【具体实施方式】五:本实施方式相对于【具体实施方式】四具体明确了:步骤三中发送日志文件之前,交互程序会自动判断此日志在上一次发送之后是否写过,如果写过,则发送,否则发送未写信号给状况处理程序;除非状况处理程序主动发送读取日志(A)的请求,否则默认发送日志(B)。
[0057]【具体实施方式】六:本实施方式相对于【具体实施方式】五具体明确了:步骤四中根据预设的性能规则确定性能等级的过程为:遍历整个日志(B)的每个字段,抓取日志文件中的关键字,读取关键字后面的占用比率到记录结构体数组(a)的相应的字段;
[0058]用保存了从日志文件(B)中读取到的记录的结构体数组(a)的相应的字段,同保存了预设的各字段域值的性能标准结构体数组(b)相比较,形成本条记录的性能等级,并将相应的等级写入对应的记录结构体数组(a)的对应记录的对应字段。
[0059]【具体实施方式】七:本实施方式相对于【具体实施方式】六具体明确了:步骤五中ARM端控制器5能够根据预设的不同性能等级对应的处理方法自行通过处理命令,调用数据库服务器6端的处理文件来自动处理目前的资源占用情况的主要过程为:
[0060](一)用形成的包含资源占用及性能等级的记录结构体数组(a),同预设的不同等级的处理方法相比对,找到相对应性能等级的处理方法;
[0061](二)相对应性能等级的处理方法中,包含一条或多条命令,ARM端控制器5的状况处理程序会执行对应的命令;
[0062](三)命令利用特定方式调用位于服务器端的处理文件。
[0063]【具体实施方式】八:本实施方式相对于【具体实施方式】一具体明确了:步骤六中出现的紧急情况包括:数据库服务器6端出现等级性能高于一定预设值的状况或者数据库服务器6端出现严重的以至于状况处理程序无法解决的问题。
[0064]【具体实施方式】九:本实施方式相对于【具体实施方式】一具体明确了:步骤六如果出现紧急情况,ARM端控制器5的信息发送程序能利用GPRS模块7发送紧急信息给指定的接收者的主要过程为:
[0065]当数据库服务器6端出现等级性能高于一定预设值的状况时,ARM端控制器5自动按照预设定的等级生成信息,ARM端控制器5的状况处理程序调用ARM端控制器5的信息发送程序,信息发送程序会利用ARM端控制器5的GPRS模块7发送信息给指定的信息接受者;
[0066]当数据库服务器6端出现严重的以至于状况处理程序无法解决的问题时,ARM端控制器5的状况处理程序会生成具有警报的信息,信息发送程序会利用ARM端控制器5的GPRS模块7间隔性的发送警报信息给指定的信息接受者,以提示用户及时处理异常情况;[0067]其中数据库服务器6端出现严重的以至于状况处理程序无法解决的问题包括:性能紧急等级很高、服务器资源严重不足、服务器断电或者被强制关闭、服务器硬件故障或无法处理的僵尸进程;
[0068]以上所述的信息的内容包括:醒目的警告通知、当前大致的资源占用情况或简单的建议;
[0069]以上所述的发送信息的模式为按照预设置的时间间隔发送信息,以提醒用户尽快处理异常状况。
【权利要求】
1.一种数据库服务器性能检测和预警方法,其特征在于本方法基于GPRS模块(7)和能够通过USB与数据库服务器(6)进行通信的ARM端控制器(5)实现;本方法通过下述步骤实现: 一、运行于数据库服务器(6)中的性能检测程序间隔性的在服务器上获取包括内存、CPU、GPU、10、硬盘和网络在内的服务器硬件资源的占用情况; 性能检测程序间隔性的检测服务器中主要硬件的温度; 性能检测程序定时性的检测服务器各硬件是否正常工作; 二、性能检测程序间隔性的将检测到的信息写入日志; 性能检测程序在生成日志时会生成两个不同的日志文件,其中一个日志记录完整的每次的性能检测结果,即详细的资源占用情况和温度,另外一个日志记录本次性能检测结果中超出预设值的资源占用信息; 三、交互程序在性能检测程序每次将检测信息写入日志后,自动将日志发送给运行于ARM端控制器5的状况处理程序; 四、状况处理程序遍历整个日志的每个字段,抓取日志文件中的关键字; 读取关键字后面的占用比率到“记录结构体数组”的相应的字段; 用保存了从日志文件中读取到的记录的“记录结构体数组”,同保存了预设的各字段域值的性能标准结构体数组相比较,形成本条记录的性能等级,并将相应的等级写入对应的记录结构体数组的对应记录的对应字段;` 五、用形成的包含资源占用及性能等级的记录结构体数组同预设的不同等级的处理方法相比对,找到相对应的处理命令; 处理命令会调用位于服务器端的预设的处理文件,进行状况处理; 六、当数据库服务器(6)端出现严重的资源占用情况或者其他紧急情况时,ARM端控制器(5)的信息发送程序借助GPRS模块(7)发送预警信息给指定的信息接受者;请求尽快处理。
2.根据权利要求1所述的一种数据库服务器性能检测和预警方法,其特征在于步骤一中运行于数据库服务器(2)端的性能检测程序自动加入开机启动任务,并作为常驻服务运行,以实现及时检测性能信息并在适当时机给出状况处理。
3.根据权利要求1所述的一种数据库服务器性能检测和预警方法,其特征在于步骤一中运行在数据库服务器(2)端的性能检测程序检测数据库服务器(2)端的性能及状态参数的信息间隔时间的预设值为5分钟,并且用户能自行调整间隔时间。
4.根据权利要求1所述的一种数据库服务器性能检测和预警方法,其特征在于步骤二中性能检测程序在生成日志时会生成两个不同的日志文件,其中一个日志文件(A )记录完成的每次的性能检测结果为资源占用情况和硬件温度;另外一个日志文件(B)记录本次性能检测结果中超出资源占用预设值的资源占用信息;其中写日志的位置会与运行在ARM端控制器(5)的状况处理程序的读取日志的位置设置自动同步;即写入位置存在默认值,同时也支持用户自定义写入日志的位置;日志文件(A)采用添加方式写入,日志文件(B)采用覆盖方式写入。
5.根据权利要求4所述的一种数据库服务器性能检测和预警方法,其特征在于步骤三中发送日志文件之前,交互程序会自动判断此日志在上一次发送之后是否写过,如果写过,则发送,否则发送未写信号给状况处理程序;除非状况处理程序主动发送读取日志(A)的请求,否则默认发送日志(B)。
6.根据权利要求5所述的一种数据库服务器性能检测和预警方法,其特征在于步骤四中根据预设的性能规则确定性能等级的过程为:遍历整个日志(B)的每个字段,抓取日志文件中的关键字,读取关键字后面的占用比率到记录结构体数组(a)的相应的字段; 用保存了从日志文件(B)中读取到的记录的结构体数组(a)的相应的字段,同保存了预设的各字段域值的性能标准结构体数组(b)相比较,形成本条记录的性能等级,并将相应的等级写入对应的记录结构体数组(a)的对应记录的对应字段。
7.根据权利要求6所述的一种数据库服务器性能检测和预警方法,其特征在于步骤五中ARM端控制器(5)能够根据预设的不同性能等级对应的处理方法自行通过处理命令,调用数据库服务器(6)端的处理文件来自动处理目前的资源占用情况的主要过程为: (一)用形成的包含资源占用及性能等级的记录结构体数组(a),同预设的不同等级的处理方法相比对,找到相对应性能等级的处理方法; (二)相对应性能等级的处理方法中,包含一条或多条命令,ARM端控制器(5)的状况处理程序会执行对应的命令; (三)命令利用特定方式调用位于服务器端的处理文件。
8.根据权利要求1所述的一种数据库服务器性能检测和预警方法,其特征在于步骤六中出现的紧急情况包括:数据库服务器(6)端出现等级性能高于一定预设值的状况或者数据库服务器(6 )端出现严重的以至于状况处理程序无法解决的问题。
9.根据权利要求1所·述的一种数据库服务器性能检测和预警方法,其特征在于步骤六如果出现紧急情况,ARM端控制器(5)的信息发送程序能利用GPRS模块(7)发送紧急信息给指定的接收者的主要过程为: 当数据库服务器(6)端出现等级性能高于一定预设值的状况时,ARM端控制器(5)自动按照预设定的等级生成信息,ARM端控制器(5)的状况处理程序调用ARM端控制器(5)的信息发送程序,信息发送程序会利用ARM端控制器(5)的GPRS模块(7)发送信息给指定的信息接受者; 当数据库服务器(6)端出现严重的以至于状况处理程序无法解决的问题时,ARM端控制器(5)的状况处理程序会生成具有警报的信息,信息发送程序会利用ARM端控制器(5)的GPRS模块(7)间隔性的发送警报信息给指定的信息接受者,以提示用户及时处理异常情况; 其中数据库服务器(6)端出现严重的以至于状况处理程序无法解决的问题包括:性能紧急等级很高、服务器资源严重不足、服务器断电或者被强制关闭、服务器硬件故障或无法处理的僵尸进程; 以上所述的信息的内容包括:醒目的警告通知、当前大致的资源占用情况或简单的建议; 以上所述的发送信息的模式为按照预设置的时间间隔发送信息,以提醒用户尽快处理异常状况。
【文档编号】G06F11/30GK103713981SQ201310750927
【公开日】2014年4月9日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】王相伟, 朱伟义, 宋振伟, 麻常存, 范先凯, 朱宇宸, 张明, 朱东杰 申请人:国网山东省电力公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1