一种集群设备性能同步统计方法及系统与流程

文档序号:12625086阅读:196来源:国知局
一种集群设备性能同步统计方法及系统与流程

本发明涉及集群技术的NAS(Network Attached Storage,网络附属存储)存储领域,特别涉及一种集群设备性能同步统计方法及系统。



背景技术:

在传统多设备环境中,性能统计一般由网络管理系统主动跟业务设备代理进行通信或者设备代理上报获得原始性能参数值,并进行处理来实现。这种实现方式主要有如下三个特点,第一是必须需要一台中心主机来运行网络管理系统;第二是网络管理系统和业务设备代理程序实现是C/S模式;第三是各个设备的统计对象都是不相关的。

集群技术是一种较新的技术,在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益。它是由一组相互独立的、通过高速网络互联的设备构成的一个整体,集群环境也是一种多设备环境,但是集群环境有其独特性,以NAS存储集群环境为例,下面三种情况不适合上述传统统计方式:1)卷统计对象运行节点的切换;2)节点加入或退出集群,3)节点上统计对象的增加或删除。传统方式的网络管理系统在上面三种情况下不能动态侦测到变化,也就无法对其进行正常性能统计。



技术实现要素:

本发明要解决的技术问题是提供一种集群设备性能同步统计方法及系统,用以解决现有的集群中在采用传统统计方式进行设备性能统计时,不能动态监测集群中每个节点的变化,造成集群性能统计的可持续性不高的问题。

为了解决上述技术问题,本发明实施例提供一种集群设备性能同步统计方法,应用于集群设备中作为主节点的第一节点,其中,所述集群设备性能同步统计方法包括:

采集集群中包括第一节点在内的所有节点上的统计对象的计数器值;

分别将每个所述节点上的统计对象的计数器值进行汇总处理,生成统计记录;

将所述统计记录同步到集群设备中的除第一节点外的其它节点。

进一步地,所述在采集集群中包括第一节点在内的所有节点上的统计对象的计数器值的步骤之前,所述集群设备性能同步统计方法还包括:

在所述第一节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

进一步地,在所述分别将每个所述节点上的统计对象的计数器值进行汇总,生成统计记录的步骤之后,所述集群设备性能同步统计方法还包括:

将所述统计记录存入所述性能统计数据库。

进一步地,所述集群设备性能同步统计方法还包括:

接收集群中作为一从节点的第二节点发送的包含有所述第二节点的内存容量的数据信息;

将所述第二节点的内存容量与所述第一节点的内存容量进行比较;

若所述第二节点的内存容量小于所述第一节点的内存容量,则删除所述性能统计数据库中的部分统计记录。

进一步地,所述集群设备性能同步统计方法还包括:

接收预设请求指令,其中,所述预设请求指令为查询请求指令或导出请求指令;

根据所述预设请求指令携带的请求参数,在所述统计记录中查找与所述请求参数相匹配的统计对象对应的第一统计记录;

返回所述第一统计记录给所述预设请求指令的发送方。

进一步地,所述集群设备性能同步统计方法还包括:

监测系统时间是否发生变更;

当监测到系统时间发生变更时,在预设采集时间到达时,获取所述第一节点的当前系统时间;

将当前系统时间、上一次统计时间和预设采集时间进行运算,得到一运算 结果;

将所述运算结果的绝对值与预设值进行比较,若所述绝对值大于所述预设值,则进一步判断所述运算结果是否小于零;

若所述运算结果小于零,则将所述统计记录的统计时间减去所述运算结果的绝对值得到第一结果,将所述第一结果作为所述统计记录的最新统计时间;否则,将所述统计记录的统计时间加上所述运算结果的绝对值得到第二结果,将所述第二结果作为所述统计记录的最新统计时间。

进一步地,所述集群设备性能同步统计方法还包括:

监测是否有对集群管理中存储的统计对象数据的预处理操作,所述预处理操作为统计对象的增加操作或删除操作;

若监测到有所述预处理操作,则获取集群管理中存储的统计对象数据以及统计对象的索引数组数据;

将所述统计对象数据与所述索引数组数据进行比对,依据比对结果对所述索引数组数据进行预处理。

本发明实施例提供一种集群设备性能同步统计系统,应用于集群设备中作为主节点的第一节点,其中,所述集群设备性能同步统计系统包括:

第一采集模块,用于采集集群中包括第一节点在内的所有节点上的统计对象的计数器值;

第一统计记录生成模块,用于分别将每个所述节点上的统计对象的计数器值进行汇总处理,生成统计记录;

第一同步模块,用于将所述统计记录同步到集群设备中的除第一节点外的其它节点。

进一步地,所述集群设备性能同步统计系统,还包括:

第一初始化模块,用于在所述第一节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

进一步地,所述第一统计记录生成模块还用于:将所述统计记录存入所述性能统计数据库。

进一步地,所述集群设备性能同步统计系统还包括:

第一接收模块,用于接收集群中作为一从节点的第二节点发送的包含有所述第二节点的内存容量的数据信息;

比较模块,用于将所述第二节点的内存容量与所述第一节点的内存容量进行比较;

删除模块,若所述第二节点的内存容量小于所述第一节点的内存容量,则用于删除所述性能统计数据库中的部分统计记录。

进一步地,所述集群设备性能同步统计系统还包括:

第二接收模块,用于接收预设请求指令,其中,所述预设请求指令为查询请求指令或导出请求指令;

查找模块,用于根据所述预设请求指令携带的请求参数,在所述统计记录中查找与所述请求参数相匹配的统计对象对应的第一统计记录;

信息反馈模块,用于返回所述第一统计记录给所述预设请求指令的发送方。

进一步地,所述集群设备性能同步统计系统还包括:

第一监测模块,用于监测系统时间是否发生变更;

时间获取模块,用于当监测到系统时间发生变更时,在预设采集时间到达时,获取所述第一节点的当前系统时间;

计算模块,用于将当前系统时间、上一次统计时间和预设采集时间进行运算,得到一运算结果;

判断模块,用于将所述运算结果的绝对值与预设值进行比较,若所述绝对值大于所述预设值,则进一步判断所述运算结果是否小于零;

计算赋值模块,若所述运算结果小于零,则将所述统计记录的统计时间减去所述运算结果的绝对值得到第一结果,将所述第一结果作为所述统计记录的最新统计时间;否则,将所述统计记录的统计时间加上所述运算结果的绝对值得到第二结果,将所述第二结果作为所述统计记录的最新统计时间。

所述集群设备性能同步统计系统还包括:

第二监测模块,用于监测是否有对集群管理中存储的统计对象数据的预处理操作,所述预处理操作为统计对象的增加操作或删除操作;

统计对象获取模块,若监测到有所述预处理操作,则用于获取集群管理中存储的统计对象数据以及统计对象的索引数组数据;

比对处理模块,用于将所述统计对象数据与所述索引数组数据进行比对,依据比对结果对所述索引数组数据进行预处理。

本发明实施例提供一种集群设备性能同步统计方法,应用于集群设备中作为从节点的第二节点,其中,所述集群设备性能同步统计方法包括:

获取第一节点上的统计记录,并将所述统计记录进行存储。

进一步地,在所述获取第一节点上的统计记录,并将所述统计记录进行存储的步骤之前,所述集群设备性能同步统计方法还包括:

在所述第二节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

进一步地,所述集群设备性能同步统计方法还包括:

检测是否生成由第二节点变为第一节点的变化信号;

若生成所述变化信号,则采集集群中上电的包括所述第二节点在内的所有节点上的统计对象的计数器值;

分别将每个所述节点上的统计对象的计数器值进行汇总处理,生成统计记录;

将所述统计记录同步到集群设备中的除所述第二节点外的其它节点。

本发明实施例提供一种集群设备性能同步统计系统,应用于集群设备中作为从节点的第二节点,其中,所述集群设备性能同步统计系统包括:

获取模块,用于获取第一节点上的统计记录,并将所述统计记录进行存储。

进一步地,所述集群设备性能同步统计系统还包括:

第二初始化模块,用于在所述第二节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

进一步地,所述集群设备性能同步统计系统还包括:

检测模块,用于检测是否生成由第二节点变为第一节点的变化信号;

第二采集模块,若生成所述变化信号,则采集集群中上电的包括所述第二节点在内的所有节点上的统计对象的计数器值;

第二统计记录生成模块,用于分别将每个所述节点上的统计对象的计数器 值进行汇总处理,生成统计记录;

第二同步模块,用于将所述统计记录同步到集群设备中的除所述第二节点外的其它节点。

本发明的有益效果是:

上述方案,通过利用集群中主节点统计集群中各个节点上的统计对象的计数器值,生成统计记录,并将该统计记录同步到集群中的每个从节点,以此保证了集群的主节点在下电或宕机时,集群中的从节点也可以根据其同步的统计记录,继续完成主节点的工作,保证了集群性能统计的高度可持续。

附图说明

图1表示本发明实施例的应用于主节点的集群设备性能同步统计方法的总体流程图;

图2表示本发明实施例的应用于主节点的集群设备性能同步统计系统的模块示意图;

图3表示本发明实施例的主节点与从节点上的集群设备性能同步统计系统的交互示意图;

图4表示本发明实施例的集群设备性能同步统计系统对异常情况一的处理流程图;

图5表示本发明实施例的集群设备性能同步统计系统对异常情况二的处理流程图;

图6表示本发明实施例的集群设备性能同步统计系统对异常情况三的处理流程图一;

图7表示本发明实施例的集群设备性能同步统计系统对异常情况三的处理流程图二;

图8表示本发明实施例的集群设备性能同步统计系统对异常情况四的处理流程图;

图9表示本发明实施例的集群设备性能同步统计系统对异常情况五的处理流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。

本发明针对现有的集群中在采用传统统计方式进行设备性能统计时,不能动态监测集群中每个节点的变化,造成集群性能统计的可持续性不高的问题,如图1所示,提供一种集群设备性能同步统计方法,应用于集群设备中作为主节点的第一节点,其中,所述集群设备性能同步统计方法包括:

步骤110,采集集群中包括第一节点在内的所有节点上的统计对象的计数器值;

步骤120,分别将每个所述节点上的统计对象的计数器值进行汇总处理,生成统计记录;

步骤130,将所述统计记录同步到集群设备中的除第一节点外的其它节点。

本发明上述方案,通过利用集群中主节点来统计集群中各个节点上的统计对象的计数器值,生成统计记录,并将该统计记录同步到集群中的每个从节点,以此保证了集群的主节点在下电或宕机时,集群中的从节点也可以根据其同步的统计记录,继续完成主节点的工作,保持了集群性能统计的高度可持续性。

应当说明的是,步骤110中,每个节点上的统计对象是集群设备管理员预先定义好,且保存在集群的节点中的,集群中的每个节点在运行时,会随着自身的运行采集针对这些统计对象生成的数据信息,然后节点对这些数据信息进行处理,将获取的结果保存在节点的计数器中,应当说明的是,所述计数器可以看作是节点上存放统计对象的数据信息的一存储区域。应当说明的是,由统计对象的数据信息到将此数据信息进行加工处理后存放在存储区域的过程为本领域技术人员所熟知的,在此不再进行详细的说明。

所述步骤120为在集群的主节点上汇总统计对象的计数器值,生成统计记录的过程,主要实现方式为:根据统计对象的计数器值,利用相应的计算方式,比如说流量统计,由公式执行流量计数器值/统计时间间隔得到;而计算缓存命中率,由公式执行命中次数/(命中次数+丢失次数)计算得到。根据不同计算方式加工计数器值为可读的数据项,统计对象的统计记录由多个这样的数据项组成。

所述步骤130实现的便是将统计记录同步到集群中的其它节点,其实现方式可以:在达到固定的时间间隔后,主节点向其它从节点发送自身保存的统计记录,以实现与从节点上数据的共享。

应当说明的是,所述统计记录应按照统计对象类型进行一一存储,而为了方便的实现对数据的查询与管理,现在通常使用数据库进行数据的保存,因此在集群主节点首次上电运行时,需要先创建一个保存统计记录的数据库,具体的实现方法为:

在步骤110之前,所述集群设备性能同步统计方法还包括:在所述第一节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

应当说明的是,根据创建的性能统计数据库,在获取得到每个对象的统计记录后,所述集群设备性能同步统计方法还包括:

将所述统计记录存入所述性能统计数据库。应当说明的是,依据统计对象类型为每个统计对象类型建立一个数据库表,在进行统计信息记录时,依据统计对象的类型将统计记录一一对应存储到性能统计数据库相应的数据库表中。例如:统计对象为端口1、端口2、虚拟盘a和卷1,在获取得到每个统计对象的统计记录时,需要将端口1和端口2的统计记录存入网络端口数据库表中,将虚拟盘a的统计记录存入虚拟盘数据库表中,将卷1的统计记录存入卷数据库表中。同时,所述统计对象类型以及统计对象可以根据集群设备在实际运行时的统计需求进行实时的增加或删除。通过按照统计对象类型存储每个统计对象的统计记录,方便了对统计信息的管理。

因本发明中的所述数据库需要实现在集群的主节点和从节点上的共享,即主节点和从节点上均保存一份相同的性能统计数据库,因此,需保证主节点和从节点均能容纳所述性能统计数据库,因此,本发明中,所述集群设备性能同步统计方法还包括:

接收集群中作为一从节点的第二节点发送的包含有所述第二节点的内存容量的数据信息;

将所述第二节点的内存容量与所述第一节点的内存容量进行比较;

若所述第二节点的内存容量小于所述第一节点的内存容量,则删除所述性能统计数据库中的部分统计记录。

应当说明的是,当从节点容量大于主节点容量时,不需对数据库进行删除操作,在进行数据库的删除时,应按照时间顺序,删除最早生成的统计记录,而保留最近最新的统计记录。

同时,因数据库占用内存,不能无限保存数据,需要确定限制方式,采用每种统计对象类型的统计对象限制一个最大统计记录数,根据保存时间多久决定最大统计记录数,例如设定的统计对象的统计记录需保存一天,且统计对象的计数器的采集时间间隔为15秒,则最大统计记录数为24*60*60/15=5760条,保存统计记录之前,判断当前的统计对象的统计记录条数是否达到最大值,如果达到最大值,需要删除该统计对象的最老的一条统计记录,这时才能将新统计记录保存到数据库中,新统计记录由数据库同步机制同步到其他从节点数据库中。

为了方便集群管理员根据统计记录能对集群进行更好的管理,本发明的所述集群设备性能同步统计方法还包括:

接收预设请求指令,其中,所述预设请求指令为查询请求指令或导出请求指令;

根据所述预设请求指令携带的请求参数(应当说明的是,所述请求参数中包含的数据可以为统计对象ID、测量类型或时间区间),在所述统计记录中查找与所述请求参数相匹配的统计对象对应的第一统计记录;

返回所述第一统计记录给所述预设请求指令的发送方。

需要说明的是,在依据统计对象ID进行统计记录查看时,根据集群管理员输入的统计对象ID,先跟某种类型统计对象数组里的元素ID进行匹配,如果没有匹配到直接返回统计对象不存在错误,否则从数据库查询出所有该统计对象的统计记录,依据时间区间,比如说1小时,过滤得到最近1小时的若干条统计记录,根据测量类型,测量类型包括流量、时延、IOPS(Input/Output Operations Per Second,即每秒进行读写操作的次数)等,然后将每条统计记录的所需字段(比如节点统计流量对象测量类型)提取出来,作为查询响应。因节点上保存数据库的空间有限,而数据库中的某些统计对象可能需要长久的进行保存,在 此时,便需要手动的将数据库中的某些对象导出,存储到其它设备中,导出统计记录请求携带参数只有统计对象ID或不带,如果带有统计对象ID,则根据统计对象ID,先与某种类型统计对象数组里的元素ID进行匹配,如果没有匹配到直接返回统计对象不存在错误,否则从数据库查询出该统计对象的所有统计记录,如果请求携带参数不带统计对象ID,则查询全部统计对象的所有统计记录,将查询到的统计记录保存到一个文件中,将文件发给请求者,同时删除该文件。

因一条统计记录对应一个唯一统计时间,如果最开始设备系统时间不正确,在进行统计时,这些错误的日期会加入到统计记录中,后面更正了设备系统时间,前面生成的统计记录的统计时间没有得到更正,会造成保存的统计记录的时间不准的问题,因此,本发明的所述集群设备性能同步统计方法还包括:

监测系统时间是否发生变更;系统时间的变更主要指集群管理员在发现系统时间不正确时,对系统时间的调整;

当监测到系统时间发生变更时,在预设采集时间到达时,获取所述第一节点的当前系统时间;

将当前系统时间、上一次统计时间和预设采集时间进行运算,得到一运算结果;

将所述运算结果的绝对值与预设值进行比较,若所述绝对值大于所述预设值,则进一步判断所述运算结果是否小于零;

若所述运算结果小于零,则将所述统计记录的统计时间减去所述运算结果的绝对值得到第一结果,将所述第一结果作为所述统计记录的最新统计时间;否则,将所述统计记录的统计时间加上所述运算结果的绝对值得到第二结果,将所述第二结果作为所述统计记录的最新统计时间。

应当说明的是,只有在系统时间调整时才进行上述步骤,通过在更正系统时间后,对统计记录的统计时间进行相应的调整,保证了一个统计对象在一个时刻只对应一条唯一的统计记录。

因集群中存储有众多的统计对象,为了方便对所述统计对象的管理,一般将所述统计对象存放在数据库中,但是,在进行统计对象的统计记录的查看时,检索数据库中的统计对象,会存在数据读取速度慢,耗时较长的问题,因此,需依据数据库中的统计对象建立统计对象的索引数组,在进行统计对象的统计 记录的查看时,依据统计对象的索引数组查找相应的统计记录,此种方式提高了数据的读取速率。无论是统计对象的删除还是增加,都先要对数据库进行修改,为了保证数据库中的统计对象与统计对象的索引数组一致,本发明的所述集群设备性能同步统计方法还包括:

监测是否有对集群管理中存储的统计对象数据的预处理操作,所述预处理操作为统计对象的增加操作或删除操作;

若监测到有所述预处理操作,则获取集群管理中存储的统计对象数据以及统计对象的索引数组数据;

将所述统计对象数据与所述索引数组数据进行比对,依据比对结果对所述索引数组数据进行预处理。

应当说明的是,当增加了统计对象时,需将数据库中存储的统计对象数据与统计对象的索引数组数据进行比对,比对得到索引数组数据中未存在的统计对象则为新增的统计对象,此时要将该统计对象增加到所述索引数组数据中;当删除了统计对象时,将数据库中存储的统计对象数据与统计对象的索引数组数据进行比对后,会发现索引数组数据中的某些统计对象在数据库中存储的统计对象数据中不存在,此时,便需将该不存的统计对象在索引数组数据中删除。

上述方案,集群中的主节点负责从集群各个节点采集节点设备统计对象的计数器信息并进行处理、存储、且同步到其它节点,同时还提供性能统计数据查询,保证了集群性能统计的高度可靠性。

如图2所示,本发明实施例提供一种集群设备性能同步统计系统,应用于集群设备中作为主节点的第一节点,其中,所述集群设备性能同步统计系统包括:

第一采集模块101,用于采集集群中包括第一节点在内的所有节点上的统计对象的计数器值;

第一统计记录生成模块102,用于分别将每个所述节点上的统计对象的计数器值进行汇总处理,生成统计记录;

第一同步模块103,用于将所述统计记录同步到集群设备中的除第一节点外的其它节点。

进一步地,所述集群设备性能同步统计系统,还包括:

第一初始化模块,用于在所述第一节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

进一步地,所述第一统计记录生成模块102还用于:将所述统计记录存入所述性能统计数据库。

进一步地,所述集群设备性能同步统计系统还包括:

第一接收模块,用于接收集群中作为一从节点的第二节点发送的包含有所述第二节点的内存容量的数据信息;

比较模块,用于将所述第二节点的内存容量与所述第一节点的内存容量进行比较;

删除模块,若所述第二节点的内存容量小于所述第一节点的内存容量,则用于删除所述性能统计数据库中的部分统计记录。

进一步地,所述集群设备性能同步统计系统还包括:

第二接收模块,用于接收预设请求指令,其中,所述预设请求指令为查询请求指令或导出请求指令;

查找模块,用于根据所述预设请求指令携带的请求参数,在所述统计记录中查找与所述请求参数相匹配的统计对象对应的第一统计记录;

信息反馈模块,用于返回所述第一统计记录给所述预设请求指令的发送方。

进一步地,所述集群设备性能同步统计系统还包括:

第一监测模块,用于监测系统时间是否发生变更;

时间获取模块,用于当监测到系统时间发生变更时,在预设采集时间到达时,获取所述第一节点的当前系统时间;

计算模块,用于将当前系统时间、上一次统计时间和预设采集时间进行运算,得到一运算结果;

判断模块,用于将所述运算结果的绝对值与预设值进行比较,若所述绝对值大于所述预设值,则进一步判断所述运算结果是否小于零;

计算赋值模块,若所述运算结果小于零,则将所述统计记录的统计时间减去所述运算结果的绝对值得到第一结果,将所述第一结果作为所述统计记录的最新统计时间;否则,将所述统计记录的统计时间加上所述运算结果的绝对值 得到第二结果,将所述第二结果作为所述统计记录的最新统计时间。

可选地,所述集群设备性能同步统计系统还包括:

第二监测模块,用于监测是否有对集群管理中存储的统计对象数据的预处理操作,所述预处理操作为统计对象的增加操作或删除操作;

统计对象获取模块,若监测到有所述预处理操作,则用于获取集群管理中存储的统计对象数据以及统计对象的索引数组数据;

比对处理模块,用于将所述统计对象数据与所述索引数组数据进行比对,依据比对结果对所述索引数组数据进行预处理。

需要说明的是,该集群设备性能同步统计系统是与上述集群设备性能同步统计方法相对应的系统,上述集群设备性能同步统计方法的所有实现方式均适用于该集群设备性能同步统计系统中,也能达到与上述集群设备性能同步统计方法相同的技术效果。

本发明实施例还提供一种集群设备性能同步统计方法,应用于集群设备中作为从节点的第二节点,其中,所述集群设备性能同步统计方法包括:

获取第一节点上的统计记录,并将所述统计记录进行存储。

可选地,在所述获取第一节点上的统计记录,并将所述统计记录进行存储的步骤之前,所述集群设备性能同步统计方法还包括:

在所述第二节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

需要说明的是,因从节点和主节点对应的统计对象可能不同,因此在从节点首次上电时,也需要针对自身的统计对象建立性能统计数据库,然后在与主节点进行交互时,在将从主节点获取的统计记录保存到自身的性能统计数据库中。

需要说明的是,集群在运行过程中,主节点可能会出现断电下机的情况,因此,为了保证集群中的统计数据不发生间断,本发明的所述集群设备性能同步统计方法还包括:

检测是否生成由第二节点变为第一节点的变化信号;

若生成所述变化信号,则采集集群中上电的包括所述第二节点在内的所有 节点上的统计对象的计数器值;

分别将每个所述节点上的统计对象的计数器值进行汇总处理,生成统计记录;

将所述统计记录同步到集群设备中的除所述第二节点外的其它节点。

应当说明的是,在主节点发生下电或宕机时,通过选用从节点中的一个节点实现主节点的功能,进行统计数据采集以及统计记录的生成,将此从节点作为主节点来使用,且此节点能实现上述主节点的所有功能,确保了集群性能统计的高度可持续。

针对于上述集群设备性能同步统计方法,本发明实施例提供一种集群设备性能同步统计系统,应用于集群设备中作为从节点的第二节点,其中,所述集群设备性能同步统计系统包括:

获取模块,用于获取第一节点上的统计记录,并将所述统计记录进行存储。

进一步地,所述集群设备性能同步统计系统还包括:

第二初始化模块,用于在所述第二节点上电运行时,创建性能统计数据库,并为预设的每种统计对象类型在数据库上创建数据库表;其中,

所述统计对象类型包括:节点、网络端口、虚拟盘、卷和逻辑单元号。

进一步地,所述集群设备性能同步统计系统还包括:

检测模块,用于检测是否生成由第二节点变为第一节点的变化信号;

第二采集模块,若生成所述变化信号,则采集集群中上电的包括所述第二节点在内的所有节点上的统计对象的计数器值;

第二统计记录生成模块,用于分别将每个所述节点上的统计对象的计数器值进行汇总处理,生成统计记录;

第二同步模块,用于将所述统计记录同步到集群设备中的除所述第二节点外的其它节点。

需要说明的是,该集群设备性能同步统计系统是与上述集群设备性能同步统计方法相对应的系统,上述集群设备性能同步统计方法的所有实现方式均适用于该集群设备性能同步统计系统中,也能达到与上述集群设备性能同步统计方法相同的技术效果。

结合上述实施例以及实际的使用情况,对上述集群设备性能同步统计系统 具体举例说明如下:

所述集群设备性能同步统计系统按照功能可以划分为:上电初始化单元11、原始计数器值采集单元12、性能统计数据生成单元13、主从节点交互单元14、接管性能统计单元15和查询和导出统计数据单元16。需要说明的是,集群的每个节点上均存在所述集群设备性能同步统计系统,但在实际应用中,主节点上的所述集群设备性能同步统计系统的工作单元为上电初始化单元11、原始计数器值采集单元12、性能统计数据生成单元13、主从节点交互单元14和查询和导出统计数据单元16,接管性能统计单元15处于不工作的状态;而主节点上的所述集群设备性能同步统计系统的工作单元为上电初始化单元11、主从节点交互单元14和接管性能统计单元15,原始计数器值采集单元12、性能统计数据生成单元13和查询和导出统计数据单元16处于不工作的状态;当主节点下电或宕机,从节点中的一个代替该主节点起作用时,此时该从节点上的原始计数器值采集单元12、性能统计数据生成单元13和查询和导出统计数据单元16由不工作状态转为工作状态,且接管性能统计单元15由工作状态转为不工作状态;主节点和从节点的工作单元如图3所示,图3中主节点和从节点上处于不工作的单元未示出。

以上单元的主要功能为:

上电初始化单元11:在集群所有节点上电时运行,负责创建性能统计数据库、为每种统计对象类型在数据库上创建数据库表、从节点同步数据库数据(从节点发起同步性能统计数据库同步请求,主节点上性能统计数据库的各个统计对象类型表的数据同步到从节点上数据库的相应表上,以后主节点上数据库的数据变化都会同步增量到从节点数据库上)、注册节点状态变化通知(一旦节点状态变化就通知到接管性能统计单元15);

原始计数器值采集单元12:在集群主节点上运行,启用数据采集定时器,采集间隔可以根据需要配置,例如配置15秒,定时器消息到达时,先通过集群管理获取集群节点列表信息,依次取得集群节点列表中的节点的地址信息,向该节点的各个业务子系统发送消息请求获取其上对应统计对象的原始计数器值和前后两次统计时间间隔,并将获得的各个统计对象的原始计数器值和前后两次统计间隔发送给性能统计数据生成单元13;这里需要说明的是业务子系统处 理请求后应将统计对象原始计数器值清零;

性能统计数据生成单元13:在集群主节点上运行,将采集到的集群各个节点的统计对象原始计数器值进行汇总加工(利用相应的计算方式,比如说流量统计,执行流量原始计数器值/统计时间间隔得到;而计算缓存命中率,执行命中次数/(命中次数+丢失次数)计算得到,根据不同计算方式加工原始计数器值为可读的数据项,统计对象统计记录由多个这样的数据项组成,统计对象统计记录需要存进数据库),生成对用户来说可读性强的统计记录,一个统计对象在一个统计时间点对应一条统计记录,将统计记录存进去数据库,再由数据库同步机制同步该统计记录到所有集群从节点作为备份;同时,内存数据库占用内存,不能无限保存数据,需要确定限制方式,采用每种统计对象类型的统计对象限制一个最大统计记录数,根据保存时间多久决定最大统计记录数,在统计记录保存之前,判断当前的统计对象的统计记录条数是否达到最大值,如果达到最大值,需要删除该统计对象的最老的一条统计记录,这时才能将新统计记录保存到数据库中,新统计记录由数据库同步机制同步到其他从节点数据库中;

主从节点交互单元14:在集群从节点上电时候运行,向集群主节点告知自身节点设备的内存大小,主节点接收到请求,根据请求参数决定数据库需要保留的数据;

接管性能统计单元15:因集群性能统计是在主节点上进行的,如果主节点出现异常,就无法正常进行性能统计;当集群主节点由于人为重启或者未知原因宕机,集群管理在集群从节点中选举出一个作为集群主节点,被新选举为集群主节点的集群从节点的该接管性能统计单元15侦测到这种变化,接管性能统计任务,从数据库读出所有的统计对象保存到各种类型统计对象索引数组中,通知业务子系统清零各个原始计数器值,启用定时器开始进行集群设备性能统计;

查询和导出统计数据单元16:接收用户发来的查询请求,根据请求携带的参数,返回所有某个统计对象相应统计记录,客户端利用这些统计记录画动态统计曲线图;接收用户发出的导出请求,根据请求参数,以文件形式返回选择统计对象的相应统计数据记录,用户选择保存文件到本地目录,实现整体查看或历史统计记录保存的目的。

应当说明的是,所述集群设备性能同步统计系统还需要对以下异常情况进行处理:

情况一:

原始计数器值是变量值,系统运行久了必然会出现溢出,并且又由于请求并不是每次都是成功的,如果出现失败,性能统计数据生成单元就不知道具体的统计时间间隔,必然导致计算不够精确。

针对情况一的处理方式为(如图4所示):

步骤401,原始计数器值采集单元12初次请求业务子系统获得统计对象原始计数器值;

步骤402,业务子系统记录该次请求统计时间,返回原始计数器值,并清零原始计数器值;

步骤403,原始计数器值采集单元12再次请求业务子系统获得原始计数器值;

步骤404,业务模块十分忙,没有及时响应请求,请求超时;

步骤405,原始计数器值采集单元12继续请求业务模块获得原始计数器值;

步骤406,响应这次请求,计算当前的系统时间,该时间减去步骤202记录的统计时间,作为两个点之间的统计时间间隔,保存该系统时间作为该次请求统计时间,返回原始计数器值、统计间隔给原始计数器值采集单元12,并清零原始计数器值。

情况二:

一条统计记录对应一个唯一统计时间,如果最开始设备系统时间不正确,在进行统计时,这些错误的日期会加入的统计记录中,后面更正了设备系统时间,前面生成的统计记录的统计时间没有得到更正。

针对情况二的处理方式为(如图5所示):

步骤501,系统时间不正常,性能统计数据生成单元13将统计记录保存到数据库中,记录系统时间为最近一次统计时间;

步骤502,用户更正系统时间;

步骤503,统计定时器到达,定时器周期为15秒,获取当前系统时间,减去(最近一次统计系统的统计时间+15),然后取绝对值,如果绝对值大于某个 数,这里配置为8秒,表明系统时间正在更正,这时判断当前系统时间减去(最近一次统计系统的统计时间+15)小于0,说明是往回修改时间,将所有统计记录的时间戳字段值减去前面计算出来的绝对值保存,否则加上该绝对值保存,最后将当前系统时间记录为最近一次统计时间。

情况三:

统计对象都会随时动态地增加和删除,如果统计对象增加,无法查询到该统计对象的统计信息显然是不应该,同理统计对象被删除,需要删除其所有统计记录。

针对情况三的处理方式为:

1、增加统计对象(如图6所示):

步骤601,用户新增了统计对象;

步骤602,性能统计数据生成单元13,获取当前集群所有统计对象;

步骤603,将上一步骤获得的统计对象,依次在统计对象索引数组查询,如果查询不到,表明是统计对象为新增,在统计对象索引数组添加新统计对象,计算得到新统计对象的统计记录保存到数据库中。

2、删除统计对象(如图7所示)

步骤701,用户删除了统计对象;

步骤702,性能统计数据生成单元13,获取当前集群统计对象;

步骤703,将统计对象索引数组保存的每个统计对象根据ID在上一步骤获得的集群统计对象中查询,如果查询不到,表明统计对象已经被删除。统计对象索引数组需要删除该统计对象,并且从数据库中删除该统计对象的所有统计记录。

情况四:

有些统计对象属于整个集群,另一些属于单个节点,对于属于单个节点上的统计对象,只要没有退出集群,仍然有可能随节点运行出现,这样就需要保证原来的统计记录不删除,在节点不运行的这段时间也需要进行统计,统计值需要以某种方式呈现。

针对情况四的处理方式为(如图8所示):

步骤801,某个节点下电;

步骤802,获取集群节点列表信息,根据节点状态得到下电的节点;

步骤803,得到该下电节点的所有统计对象,进行性能统计时,该统计对象的统计记录的数据字段值全部置为零;

步骤804,将统计对象的统计记录保存到数据库中。

情况五:

原始计数器值采集单元发起获取请求,由于业务模块比较忙,来不及处理请求,定时采集性能统计数据单元不能长时间等待,因此获取原始计数器值并不是每次都成功的,必须采取某种方式统计,让用户感觉系统没有出现问题。

针对情况五的处理方式为(如图9所示):

步骤901,原始计数器值采集单元12请求业务子系统获得原始计数器值;

步骤902,业务子系统未及时响应,请求超期;

步骤903,当前统计对象的统计记录的数据字段采用该对象上次统计的统计记录数字字段赋值,新统计记录仅修改统计时间;

步骤904,保存新统计记录到数据库中。

本发明实施例的所述集群设备性能同步统计系统主要特点为:1)集群中的主节点负责从集群各个节点采集节点设备统计对象原始计数器信息进行处理、存储、同步,并提供性能统计数据查询,实际上主节点相当于中心主机,当前主节点出现故障时,性能统计会交由新选举出来的主节点继续进行,保持性能统计的高度可持续;2)性能统计数据已经生成和保存在集群节点上,通过B/S模式和C/S模式均可以获得数据统计数据;3)集群中出现节点加入或退出、卷统计对象切换运行节点、用户增加和删除统计对象等情况,可以动态及时侦测到,并且对其进行性能统计。

以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1