一种数据库及系统应用心跳统一管理的实现方法与流程

文档序号:12493141阅读:563来源:国知局
一种数据库及系统应用心跳统一管理的实现方法与流程

本发明涉及了一种数据库及系统应用心跳统一管理的实现方法,属于分布式监控系统领域。



背景技术:

随着工业自动化的快速蓬勃的发展,监控系统的应用越来越广泛。对于大型的分布式监控系统,如何管理不同地域的应用节点、数据库节点,并实时监控其状态,同步其管理数据显得越来越突出及重要。

对于分布式系统的应用节点及数据库节点的管理,通常采用心跳监测的方式。应用节点的心跳监测,我们这里统称为应用系统管理;数据库节点的心跳监测,我们统称为数据库管理,涉及到数据库的多种状态的切换等等。

在监控系统中,应用系统管理和数据库管理的对象,方式不同,通用的做法是采用不同的服务对其心跳分开独立管理,心跳通讯方式一般采用tcp\udp报文方式,需要对不同的服务分配不同的端口号、不同的网络资源,这给原来有限的网络资源变得紧张;另外由于涉及到两种心跳,本身在网络传输上增加了复杂性,会大大地降低其可靠性;另外由于系统管理及数据库管理本身存在依赖关系的,但是其底层是通过两种不同心跳来源做判断的,这时候会造成系统管理的错误会影响到数据库管理,并且随着数据库管理机制,向其他别的数据库节点同步,使这种错误进一步扩大。这种灾难性的后果是开发者及使用者最不希望见到的。



技术实现要素:

本发明所要解决的技术问题是提供一种数据库及系统应用心跳统一管理的实现方法,实现两种心跳的存储格式是一致的,向其他应用主机同步的方法也是一致的,并且由统一的服务进行管理调度。

为了解决上述技术问题,本发明所采用的技术方案是:

一种数据库及系统应用心跳统一管理的实现方法,包括如下步骤:

(一)按照系统中的节点类型,把节点分为应用节点及数据库节点:

把运行业务应用的节点称为应用节点,把只运行数据库服务的节点称为数据库节点,如果某节点上既运行业务应用,又运行数据库服务我们仍称其为应用节点;并且在系统中把应用节点和数据库节点的节点名和ip地址存储到某配置文档中,并且保证系统中此文档内容的一致性;

(二)监测数据库心跳及维护本地信息:

(1)根据配置文档中的信息,判断当前节点是否应用节点;

(2)如果是应用节点,通过配置文档,找到某数据库节点,通过ip地址的方式,使用数据库接口对数据库进行访问;

(3)如果能连接上此节点,在本地共享存储中数据库节点信息处增加此节点的信息,并给此节点置上备用库状态,并在此节点相应位置写入当前时间;

(4)如果连接不上此节点,在本地共享存储中数据库节点信息处增加此节点的信息,并给此节点置上退出状态,并在此节点相应位置写入当前时间;

(5)对配置文档中的所有的数据库节点进行(2)-(4)的步骤,直到文档中所有节点全部被遍历;

(6)心跳管理服务每隔1秒钟,对本地共享存储中的数据库节点进行(2)的步骤,然后更新本地共享存储中此数据库节点的状态及时间;

(三)监测系统应用心跳及维护本地信息:

(1)根据配置文档中的信息,判断当前节点是否应用节点;

(2)如果是应用节点,通过配置文档,找到其他应用节点,通过UDP组播给其他所有应用节点发送本节点各应用状态;

(3)其他节点收到此心跳后,把此节点的各应用状态及当前时间存入本地共享存储相应位置;

(4)心跳管理服务每隔1秒钟,对本地共享存储中的所有应用节点进行(2)的步骤;

(四)心跳管理服务运算所有节点状态及往其他节点同步:

(1)心跳管理程序对本地共享存储中所有数据库节点及应用节点进行时间判断,把共享存储中的时间与当前时间做对比,如果超过预设值的时间,给所有节点置上不可用状态,即不参与以下步骤中的节点运算;

(2)心跳管理程序根据本地共享内存中所有数据库状态,通过优先级及预配置算法算出所有数据库主用库,备用库,并存储到本地共享存储中相应位置;

(3)心跳管理程序根据本地共享内存中所有应用节点中应用状态状态,通过优先级及预配置算法算出给每个应用算出主机、备用等状态,并存储到本地共享存储中相应位置;

(五)心跳管理程序通过统一的报文格式,把数据库主用、备用等信息,各应用主机状态信息,通过UDP方式往所有的应用节点同步。

前述的一种数据库及系统应用心跳统一管理的实现方法,其特征在于:所述数据库节点状态,包括启动、主用库、备用库、强制主用库、强制备用库、网络异常、单网故障、登录故障、退出九种。

前述的一种数据库及系统应用心跳统一管理的实现方法,其特征在于:所述应用节点状态,包括离线、主机、备机、强制主机、强制备机、网络异常、进程异常、启动、故障九种。

前述的一种数据库及系统应用心跳统一管理的实现方法,其特征在于:所述数据库,包括ORACLE、MYSQL、PostgreSQL。

前述的一种数据库及系统应用心跳统一管理的实现方法,其特征在于:所述应用节点状态和数据库节点状态,由应用节点上的同一服务进行本地存储。

前述的一种数据库及系统应用心跳统一管理的实现方法,其特征在于:所述应用节点状态和数据库节点状态,由应用节点上的同一服务进行网络发送、传输及接收。

前述的一种数据库及系统应用心跳统一管理的实现方法,其特征在于:所述应用节点状态和数据库节点状态的存储结构及网络传输结构保持一致。

本发明的有益效果是:通过将系统中的所有节点分为数据库节点及应用节点两类,所有对这两类节点的心跳判断来源于统一的心跳管理服务;心跳管理服务通过对数据库状态及应用状态归一化处理,采用同样的格式进行本地存储,并通过同样的端口,同样的tcp链路向其他节点同步;网络传输中的报文中包含着数据库信息及应用系统系统两部分,实现两种心跳的存储格式是一致的,向其他应用主机同步的方法也是一致的,并且由统一的服务进行管理调度。

附图说明

图1是本发明一种数据库及系统应用心跳统一管理的实现方法的数据库节点与应用节点逻辑关系图;

图2 是本发明一种数据库及系统应用心跳统一管理的实现方法的统一的存储结构;

图3 是本发明一种数据库及系统应用心跳统一管理的实现方法的心跳报文监测及同步的过程。

具体实施方式

下面是本发明的一个实际案例的实施方式,本发明的目的和特点也可以从案例的说明中看出。应当理解此处描述的实例仅仅用于说明和解释本发明,并不限定本发明。

如图1-图3所示,本发明提出了一种数据库及系统应用心跳统一管理的实现方法, 通过将系统中的所有节点分为数据库节点及应用节点两类;所述数据库节点的状态由所述应用节点通过商用数据库接口判断,并且把所述数据库节点状态通过所述应用节点向其他应用节点同步;所述应用节点的状态由本节点服务自获取,并把本节点状态通过所述应用节点向其他节点同步;同步的方法与所述数据库节点状态同步的方法一致,并且由统一的服务进行管理调度。具体实现方法包括如下步骤:

(一)按照系统中的节点类型,把节点分为应用节点及数据库节点:

(1)把运行业务应用的节点称为应用节点,把只运行数据库服务的节点称为数据库节点,如果某节点上既运行业务应用,又运行数据库服务我们仍称其为应用节点;心跳管理服务属于业务应用的范畴,即数据库节点上不运行心跳管理服务,在系统中把应用节点和数据库节点的节点名和ip地址存储到某配置文档中,并且保证系统中此文档内容的一致性。

(二)监测数据库心跳及维护本地信息:

(1)根据配置文档中的信息,判断当前节点是否应用节点;

(2)如果是应用节点,通过配置文档,找到某数据库节点,通过ip地址的方式,使用数据库接口对数据库进行访问;

(3)如果能连接上此节点,在本地共享存储中数据库节点信息处增加此节点的信息,并给此节点置上备用库状态,并在此节点相应位置写入当前时间;

(4)如果连接不上此节点,在本地共享存储中数据库节点信息处增加此节点的信息,并给此节点置上退出状态,并在此节点相应位置写入当前时间;

(5)对配置文档中的所有的数据库节点进行(2)-(4)的步骤,直到文档中所有节点全部被遍历;

(6)心跳管理服务每隔1秒钟,对本地共享存储中的数据库节点进行(2)的步骤,然后更新本地共享存储中此数据库节点的状态及时间;

数据库节点状态,由应用节点通过轮询的方式获取、更新本地内存中相应数据库节点的状态,并定期通过网络向其他节点同步此数据库节点的状态,其中,所述数据库节点状态,包括启动、主用库、备用库、强制主用库、强制备用库、网络异常、单网故障、登录故障、退出九种。

(三)监测系统应用心跳及维护本地信息:

(1)根据配置文档中的信息,判断当前节点是否应用节点;

(2)如果是应用节点,通过配置文档,找到其他应用节点,通过UDP组播给其他所有应用节点发送本节点各应用状态;

(3)其他节点收到此心跳后,把此节点的各应用状态及当前时间存入本地共享存储相应位置;

(4)心跳管理服务每隔1秒钟,对本地共享存储中的所有应用节点进行(2)的步骤;

应用节点状态,由当前应用节点自获取,进行本地存储、并定期通过网络向其他节点同步当前节点的状态,所述应用节点状态,包括离线、主机、备机、强制主机、强制备机、网络异常、进程异常、启动、故障九种。

(四)心跳管理服务运算所有节点状态及往其他节点同步:

(1)心跳管理程序对本地共享存储中所有数据库节点及应用节点进行时间判断,把共享存储中的时间与当前时间做对比,如果超过预设值的时间,给所有节点置上不可用状态,即不参与以下步骤中的节点运算;

(2)心跳管理程序根据本地共享内存中所有数据库状态,通过优先级及预配置算法算出所有数据库主用库,备用库,并存储到本地共享存储中相应位置;

(3)心跳管理程序根据本地共享内存中所有应用节点中应用状态状态,通过优先级及预配置算法算出给每个应用算出主机、备用等状态,并存储到本地共享存储中相应位置。

(五)心跳管理程序通过统一的报文格式,把数据库主用、备用等信息,各应用主机状态信息,通过UDP方式往所有的应用节点同步。

应用节点状态和数据库节点状态,由应用节点上的同一服务进行本地存储,也可以进行网络发送、传输及接收,且应用节点状态和数据库节点状态的存储结构及网络传输结构保持一致。

本实施例中,所采用的数据库包括ORACLE、MYSQL、PostgreSQL。

通过将系统中的所有节点分为数据库节点及应用节点两类,所有对这两类节点的心跳判断来源于统一的心跳管理服务;心跳管理服务通过对数据库状态及应用状态归一化处理,采用同样的格式进行本地存储,并通过同样的端口,同样的tcp链路向其他节点同步;网络传输中的报文中包含着数据库信息及应用系统系统两部分,实现两种心跳的存储格式是一致的,向其他应用主机同步的方法也是一致的,并且由统一的服务进行管理调度。

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界。

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