CN102929220B - 分布式监控系统及其数据库服务器和故障处理装置及方法 - Google Patents
分布式监控系统及其数据库服务器和故障处理装置及方法 Download PDFInfo
- Publication number
- CN102929220B CN102929220B CN201210367590.2A CN201210367590A CN102929220B CN 102929220 B CN102929220 B CN 102929220B CN 201210367590 A CN201210367590 A CN 201210367590A CN 102929220 B CN102929220 B CN 102929220B
- Authority
- CN
- China
- Prior art keywords
- data
- database server
- membership
- subscription
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式监控系统及其数据库服务器和故障处理装置及方法,所述方法包括:若数据库服务器探测到监控系统中其它数据库服务器出现故障,则根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;并将新确定的隶属关系向各数据采集装置发送;各数据采集装置接收到隶属关系后更新本地存储的隶属关系,根据更新后的隶属关系向对应的数据库服务器发送其采集的监控数据。由于数据库服务器可以自动探测本监控系统中的其它数据库服务器是否正常工作,在探测出其它数据库服务器出现故障时,依据预先制定的规则重新进行任务分配,将隶属于出现故障的数据库服务器的监控数据分配到其它数据库服务器,从而大大提高了监控系统的可靠性。
Description
技术领域
本发明涉及监控技术,尤其涉及分布式监控系统及其数据库服务器和故障处理装置及方法。
背景技术
随着电子技术、计算机技术和网络通信技术的发展,智能化的监控技术被广泛应用于各种领域,便于人们进行环境控制、安全管理、监视报警,并有利于提高工作效率。人们可以方便地通过监控系统,远程控制分布于各处的各种设备,如空调、照明、噪音检测设备、温度检测仪、风机等,或者监测各种设备的数据和状态。
目前,具有多节点监控数据采集、访问需求的监控系统,通常采用分层分布式架构。例如,一种应用于轨道交通系统中的监控系统,如图1所示,在一条线路的车站和中心分别设置了数据库服务器,所有车站的数据库服务器负责收集本站点的监控数据,并对收集的监控数据进行存储、处理,负责处理中心数据库服务对存储的监控数据的访问需求,或者本站点的客户端对存储的监控数据的访问需求。
如果某个车站的数据库服务器因为某种意外的原因而出现故障,导致无法继续收集本站点的监控数据、无法处理访问需求,就会造成对该站点的监控的失效;这样,可能会带来重大的事故隐患。为了避免站点监控失效的现象出现,现有技术中通常采用双机冗余的方案来解决:即在每个站点配备两台数据库服务器,当其中正在提供服务的数据库服务器出现故障后,将启用备用数据库服务器继续提供服务,进行本站点的监控数据的收集、存储和处理。
然而,由于该方案需要在每个站点都备有冗余数据库服务器,造成整个监控系统的成本非常高,而且,当站点中的配备的冗余的数据库服务器也出现故障后,仍然会出现站点监控失效的现象;因此,现有技术中需要一种成本更低、更可靠的监控系统故障处理方案,来防止出现站点监控失效现象。
发明内容
本发明的实施例提供了一种分布式监控系统及其数据库服务器和故障处理装置及方法,以较低成本实现监控系统的故障处理,防止出现站点监控失效现象。
根据本发明的一个方面,提供了一种分布式监控系统的故障处理方法,所述监控系统包括:分布于各节点的数据库服务器,以及分布于各节点的数据采集装置;所述方法包括:
若所述数据库服务器探测到所述监控系统中其它数据库服务器出现故障,则根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
所述数据库服务器将新确定的隶属关系向所述监控系统中的各数据采集装置发送;
各数据采集装置接收到所述数据库服务器发送的隶属关系后更新本地存储的隶属关系,并根据更新后的隶属关系向对应的数据库服务器发送其采集的监控数据。
其中,所述预先制订的原则具体为监控数据拥有权级别配置表,以及所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系具体包括:
对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据所述监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
进一步,所述监控系统还包括:客户端;以及在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,所述方法还包括:
所述数据库服务器将新确定的隶属关系向所述监控系统中的客户端发送;
所述客户端在接收到数据库服务器发送的隶属关系后,更新本地存储的隶属关系;
所述客户端接收用户输入的监控数据访问请求信息后,根据更新后的隶属关系,确定出所述监控数据访问请求信息中所请求的数据所属数据库服务器;并
所述客户端对于每个确定出的数据库服务器,根据所述监控数据访问请求信息中所请求的数据,分别生成相应的数据请求信息向该数据库服务器发送;
各接收到所述客户端发送的数据请求信息的数据库服务器,分别根据接收的数据请求信息向所述客户端返回相应的监控数据;
所述客户端将各数据库服务器返回的监控数据进行显示。
进一步,在所述数据库服务器探测到所述监控系统中其它数据库服务器出现故障之前,还包括:
所述客户端接收用户输入的监控数据的订阅信息后,根据其存储的隶属关系,确定出所述订阅信息中所请求订阅的数据所属数据库服务器;并对于每个确定出的数据库服务器,根据所述订阅信息中所请求订阅的数据,分别生成相应的数据订阅请求信息向该数据库服务器发送;
所述数据库服务器接收到所述客户端发送的数据订阅请求信息后,对应记录下所述客户端的标识,以及该数据订阅请求信息所请求订阅的数据;在监测到该数据订阅请求信息所请求订阅的数据发生变化时,根据该数据所对应的客户端的标识,将该数据作为订阅数据向该客户端返回;
所述客户端接收到所述数据库服务器发送的订阅数据后对相应的监控数据进行更新、显示。
进一步,在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,还包括:
所述数据库服务器根据重新确定的隶属关系,从其记录的所请求订阅的数据中查找出隶属于其它数据库服务器的数据;并将查找出的数据、及其对应的客户端的标识向其隶属的数据库服务器发送后,删除查找出的数据;或者,
所述客户端在接收到数据库服务器发送的隶属关系并更新本地存储的隶属关系后,根据之前保存的所述订阅信息以及更新后的隶属关系,重新生成相应的数据订阅请求信息向相应的数据库服务器发送。
较佳地,所述数据库服务器与监控系统中其它数据库服务器之间的通信采用SSL安全通信通道;以及
所述监控系统中的客户端与所述数据库服务器之间的通信采用SSL安全通信通道;以及
所述监控系统中的数据采集装置与所述数据库服务器之间的通信采用SSL安全通信通道。
根据本发明的一个方面,提供了一种分布式监控系统的故障处理装置,所述监控系统包括:分布在各节点的数据库服务器,以及分布于各节点的数据采集装置;以及所述故障处理装置包括:
故障探测模块,用于若探测到所述监控系统中其它数据库服务器出现故障,则发送任务重新分配通知;
隶属关系确定模块,用于在接收到所述故障探测模块发送的任务重新分配通知后,根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
隶属关系发送模块,用于将所述隶属关系确定模块确定出的隶属关系向所述监控系统中的数据采集装置发送。
其中,所述隶属关系确定模块根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系具体为:
所述隶属关系确定模块对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
较佳地,所述隶属关系发送模块具体用于将所述隶属关系确定模块确定出的隶属关系中监控数据与本数据库服务器的隶属关系向所述监控系统中的数据采集装置发送。
根据本发明的另一个方面,还提供了一种分布式监控系统中的数据库服务器,包括:
故障处理装置,用于若探测到所述监控系统中其它数据库服务器出现故障,则根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;并将新确定的隶属关系向所述监控系统中的各数据采集装置发送。
其中,所述故障处理装置包括:
故障探测模块,用于若探测到所述监控系统中其它数据库服务器出现故障,则发送任务重新分配通知;
隶属关系确定模块,用于在接收到所述故障探测模块发送的任务重新分配通知后,根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
隶属关系发送模块,用于将所述隶属关系确定模块确定出的隶属关系向所述监控系统中的数据采集装置发送。
较佳地,所述隶属关系确定模块根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系具体为:
所述隶属关系确定模块对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
进一步,所述服务器还包括:
订阅需求发布模块,用于接收到客户端发送的数据订阅请求信息后,对应记录下所述客户端的标识,以及该数据订阅请求信息所请求订阅的数据;在监测到所述监控数据存储处理模块中存储的该数据订阅请求信息所请求订阅的数据发生变化时,根据该数据所对应的客户端的标识,将该数据作为订阅数据向该客户端返回。
进一步,所述隶属关系发送模块还用于在所述隶属关系确定模块确定出隶属关系后,向所述订阅需求发布模块发送订阅信息调整通知;以及
所述订阅需求发布模块还用于在接收到订阅信息调整通知后,从其记录的所请求订阅的数据中查找出隶属于其它数据库服务器的数据;并将查找出的数据、及其对应的客户端的标识向其隶属的数据库服务器发送后,删除查找出的数据。
进一步,所述服务器还包括:
监控数据存储处理模块,用于存储、处理监控数据;
监控数据接收模块,用于接收所述监控系统中的数据采集装置发送的监控数据,并将接收的监控数据发送给所述监控数据存储处理模块进行存储、处理。
进一步,所述服务器还包括:
访问需求处理模块,用于接收到所述监控系统中的客户端发送的数据请求信息后,根据所述数据请求信息从所述监控数据存储处理模块中查找到相应的监控数据向所述客户端返回。
根据本发明的另一个方面,还提供了一种分布式监控系统,包括:分布于各节点的数据库服务器,以及分布于各节点的数据采集装置;
其中,所述数据库服务器若探测到所述监控系统中其它数据库服务器出现故障,则根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
所述数据库服务器将新确定的隶属关系向所述监控系统中的各数据采集装置发送;
各数据采集装置接收到所述数据库服务器发送的隶属关系后更新本地存储的隶属关系,并根据更新后的隶属关系向对应的数据库服务器发送其采集的监控数据。
较佳地,所述预先制订的原则具体为监控数据拥有权级别配置表,以及所述数据库服务器根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系具体为:
所述数据库服务器对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
进一步,所述系统还包括:客户端;以及
所述数据库服务器还用于在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,将新确定的隶属关系向所述监控系统中的客户端发送;
所述客户端用于在接收到数据库服务器发送的隶属关系后,更新本地存储的隶属关系;
若所述客户端接收用户输入的监控数据访问请求信息,则根据更新后的隶属关系,确定出所述监控数据访问请求信息中所请求的数据所属数据库服务器;并
所述客户端对于每个确定出的数据库服务器,根据所述监控数据访问请求信息中所请求的数据,分别生成相应的数据请求信息向该数据库服务器发送;
各接收到所述客户端发送的数据请求信息的数据库服务器,分别根据接收的数据请求信息向所述客户端返回相应的监控数据;
所述客户端将各数据库服务器返回的监控数据进行显示。
进一步,所述客户端还用于若接收到用户输入的监控数据的订阅信息后,根据其存储的隶属关系,确定出所述订阅信息中所请求订阅的数据所属数据库服务器;并对于每个确定出的数据库服务器,根据所述订阅信息中所请求订阅的数据,分别生成相应的数据订阅请求信息向该数据库服务器发送;
所述数据库服务器还用于接收到所述客户端发送的数据订阅请求信息后,对应记录下所述客户端的标识,以及该数据订阅请求信息所请求订阅的数据;在监测到该数据订阅请求信息所请求订阅的数据发生变化时,根据该数据所对应的客户端的标识,将该数据作为订阅数据向该客户端返回;
所述客户端接收到所述数据库服务器发送的订阅数据后对相应的监控数据进行更新、显示。
进一步,所述数据库服务器还用于在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,根据重新确定的隶属关系,从其记录的所请求订阅的数据中查找出隶属于其它数据库服务器的数据;并将查找出的数据、及其对应的客户端的标识向其隶属的数据库服务器发送后,删除查找出的数据。
本发明实施例的技术方案中,监控系统的每个数据库服务器可以自动探测本监控系统中的其它数据库服务器是否正常工作,在探测出其它数据库服务器出现故障时,依据预先制定的规则重新进行任务分配,将隶属于出现故障的数据库服务器的监控数据分配到其它数据库服务器,避免了有数据库服务器出现故障时造成监控数据的丢失,防止了站点监控失效的现象,从而大大提高了监控系统的可靠性,并且由于不必对于每个站点配备冗余数据库服务器,还大大降低了监控系统的故障处理,防止出现站点监控失效的现象的成本。
附图说明
图1为现有技术的监控系统示意图;
图2为本发明实施例的监控系统示意图;
图3为本发明实施例的数据库服务器进行任务分配的流程图;
图4为本发明实施例的客户端分布式访问的方法流程图;
图5为本发明实施例的客户端的内部结构框图;
图6为本发明实施例的客户端向数据库服务器订阅信息的方法流程图;
图7为本发明实施例的数据采集装置的内部结构框图;
图8为本发明实施例的数据库服务器的内部结构框图;
图9为本发明实施例的故障处理装置的内部结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
本发明的主要思路为,监控系统的每个数据库服务器可以自动探测本监控系统中的其它数据库服务器是否正常工作,在探测出其它数据库服务器出现故障时,依据预先制定的规则重新进行任务分配,将隶属于出现故障的数据库服务器的监控数据分配到其它数据库服务器,避免了有数据库服务器出现故障时造成监控数据的丢失。
下面结合附图详细说明本发明实施例的技术方案。本发明实施例提供的监控系统,如图2所示,包括:分布在各节点的数据库服务器201、分布在各节点的数据采集装置202,以及用于访问数据库服务器的客户端203。
用户可以通过客户端203访问各节点的数据库服务器201,获取监控数据,具体的访问方法将在后续进行介绍。较佳地,客户端203与数据库服务器201之间的通信可采用SSL(Secure Sockets Layer,安全套接层)安全通信通道,实现数据加密传输和双向身份认证,从而保证数据传输的安全性。
数据库服务器201中存储的监控数据是从数据采集装置202获取的。具体地,在数据库服务器根据接收的数据请求信息向所述客户端返回相应的监控数据之前,或者在数据库服务器将订阅数据向该客户端返回之前,数据库服务器201从数据采集装置202获取监控数据可以进行处理、存储等操作。当然,数据库服务器201在接收到用户发送的修改的监控数据也可以发送给相应的数据采集装置202。
数据库服务器201可采取如图2所示的方式来获取监控数据,该方式中,数据采集装置202可以将数据发送给本节点的数据库服务器201,也可以将监控数据发送给其它节点的数据库服务器201。具体地,数据采集装置202中存储有监控数据与数据库服务器的隶属关系,对于每个采集的监控数据,数据采集装置202根据存储的隶属关系可以确定出该监控数据所属数据库服务器,并将该监控数据向其所属数据库服务器发送。这种方式,可以使得在本节点数据库服务器201出现故障时,数据采集装置202能够向其它数据库服务器201发送监控数据,防止本站点的监控数据的丢失,造成站点监控失效的现象,从而提高系统的可靠性。
较佳地,上述数据采集装置202与数据库服务器201之间的通信可采用SSL安全通信通道,实现数据加密传输和双向身份认证,从而保证数据传输的安全性。
事实上,监控系统中的每个数据库服务器201中安装有任务分配程序。在数据库服务器201首次开机运行,或者探测到监控系统中其它数据库服务器出现了故障不再工作时,数据库服务器201运行该任务分配程序,根据预定的任务分配原则进行任务分配,确定出隶属于本数据库服务器的监控数据,并将监控数据与数据库服务器的隶属关系发送给各数据采集装置202以及客户端203。数据库服务器进行任务分配的具体流程如图3所示,包括如下步骤:
S301:数据库服务器在首次开机运行,或者探测到监控系统中其它数据库服务器出现了故障不再工作时,运行任务分配程序。
具体地,数据库服务器通过周期性的心跳检测监控系统中其它数据库服务器的工作状态;如何通过心跳检测来判断其它服务器的工作状态,为本领域技术人员所熟知的技术,此处不再赘述。
S302:任务分配程序根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系。
事实上,监控系统中的所有监控数据被分配到监控系统中的各数据库服务器进行存储和处理,由此,监控系统中保存了监控数据与数据库服务器的隶属关系。具体地,各客户端203以及数据采集装置202中可以保存监控数据与数据库服务器的隶属关系:客户端203可以根据该隶属关系访问数据库服务器获取所需监控数据;数据采集装置202可以根据该隶属关系将本装置所采集的监控数据发送到相应的数据库服务器。
此外,数据库服务器中也可保存该隶属关系,根据该隶属关系,数据库服务器可以确定本服务器负责获取、存储、处理的监控数据。
表1示出了一种用以存储监控数据与数据库服务器的隶属关系的关系表,其中表明了监控数据的ID号与数据库服务器ID号的对应关系。
表1
任务分配程序根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系。例如,预先制订的原则为均分原则,则任务分配程序将所有的监控数据平均分配到各可以工作、未出故障的数据库服务器上。显然,本领域技术人员可以根据实际情况,采用各种不同的策略来实现故障后的,任务重新自动分配。
一种较佳的任务重新分配方法是,将一个预先存储的监控数据拥有权级别配置表作为预先制订的原则,根据该监控数据拥有权级别配置表重新进行任务分配,确定出隶属于本数据库服务器的监控数据。
具体地,为便于操作可以将监控系统中所有的监控数据进行逻辑区域的划分。例如,可以将节点A的数据采集装置202所采集的监控数据A10001-A30000,D10001-D30000划分到上表1所示的a1、a2逻辑数据区域中。也就是说,可以把监控系统中的所有监控数据划分为若干个(至少N个)逻辑数据区域。N为监控系统中的节点总数,即数据库服务器的总数。
较佳地,对于每个逻辑数据区域,监控数据拥有权级别配置表中记录了各数据库服务器对该逻辑数据区域的拥有权级别。例如,下表2中所示的监控数据拥有权级别配置表记录了各节点的数据库服务器nA、nB、nC、nD,分别对逻辑数据区域a1-a12的拥有权级别。
表2
编号 | 逻辑数据区 | 数据库服务器 | 拥有权级别 |
1 | a1 | nA | 1 |
2 | a1 | nB | 2 |
a1 | nC | 3 | |
4 | a1 | nD | 4 |
5 | a2 | nA | 1 |
6 | a2 | nB | 3 |
7 | a2 | nC | 2 |
8 | a2 | nD | 4 |
9 | a3 | nA | 1 |
10 | a3 | nB | 3 |
11 | a3 | nC | 4 |
12 | a3 | nD | 2 |
13 | a4 | nA | 2 |
14 | a4 | nB | 1 |
15 | a4 | nC | 4 |
16 | a4 | nD | 3 |
17 | a5 | nA | 3 |
18 | a5 | nB | 1 |
19 | a5 | nC | 2 |
20 | a5 | nD | 4 |
21 | a6 | nA | 3 |
22 | a6 | nB | 1 |
23 | a6 | nC | 4 |
24 | a6 | nD | 2 |
25 | a7 | nA | 2 |
26 | a7 | nB | 4 |
27 | a7 | nC | 1 |
28 | a7 | nD | 3 |
29 | a8 | nA | 4 |
30 | a8 | nB | 2 |
31 | a8 | nC | 1 |
32 | a8 | nD | 3 |
33 | a9 | nA | 3 |
34 | a9 | nB | 4 |
35 | a9 | nC | 1 |
36 | a9 | nD | 2 |
37 | a10 | nA | 2 |
38 | a10 | nB | 4 |
39 | a10 | nC | 3 |
40 | a10 | nD | 1 |
41 | a11 | nA | 4 |
42 | a11 | nB | 2 |
43 | a11 | nC | 3 |
44 | a11 | nD | 1 |
45 | a12 | nA | 4 |
46 | a12 | nB | 3 |
47 | a12 | nC | 2 |
48 | a12 | nD | 1 |
对于每个逻辑数据区域,任务分配程序根据监控数据拥有权级别配置表中记录的各数据库服务器对该逻辑数据区域的拥有权级别,以及各数据库服务器的工作状态,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器;将该逻辑数据区域隶属于选择出的数据库服务器;即确定该逻辑数据区域与选择出的数据库服务器的隶属关系。这样,在选择出每个逻辑数据区域其隶属的数据库服务器后,即确定出了新的监控数据与数据库服务器的隶属关系。下表3示出了在有节点的数据库服务器出现不能正常工作的各种状态下,进行任务重新分配后的监控数据与数据库服务器的隶属关系。
表3
从表3可以看出,情况1为数据库服务器nA、nB、nC、nD均正常工作的情况下任务分配的结果;
情况2为nA不工作、nB、nC、nD均正常工作的情况下任务分配的结果;可以看出原隶属于nA的逻辑数据区域a1、a2、a3,分别被重新分配到了nB、nC、nD。这样,即使nA出现故障,nB、nC、nD分别探测到nA不能正常工作后,都根据上述的方法进行任务的重新分配,并确定出隶属于本数据库服务器的逻辑数据区域。
任务分配程序在分别确定出各逻辑数据区域所隶属的数据库服务器后,也就确定出了隶属于本数据库服务器的逻辑数据区域,也就确定出了隶属于本数据库服务器的监控数据。也就是说,通过上述的步骤,任务分配程序确定出了监控数据与数据库服务器的隶属关系。
一种用于存储监控数据与数据库服务器的隶属关系的表的数据结构可以如下表4所示:
表4
从上表4可以看出,其中对应存储了逻辑数据区域与数据库服务器的隶属关系。
一种监控数据拥有权级别配置表的数据结构可以如下表5所示:
表5
S303:数据库服务器根据新确定的隶属关系进行运行,并且任务分配程序将确定出的监控数据与本数据库服务器的隶属关系向数据采集装置202以及客户端203发送。
任务分配程序在确定出了隶属于本数据库服务器的监控数据后,也就确定出了监控数据与本数据库服务器的隶属关系,具体可以是逻辑数据区域与本数据库服务器的隶属关系。数据库服务器根据新确定的隶属关系进行运行,即根据新确定的隶属于本数据库服务器的逻辑数据区域进行监控数据的处理和管理。
数据库服务器还将新确定的隶属关系向监控系统中的各数据采集装置202或客户端203发送。较佳地,为了避免冲突,数据库服务器可以将监控数据与本数据库服务器的隶属关系向数据采集装置202或客户端203发送,即将新确定的逻辑数据区域与本数据库服务器的隶属关系向数据采集装置202或客户端203发送,使得数据采集装置202或客户端203可以同步获取当前更新的隶属关系。
数据采集装置202或客户端203在接收到数据库服务器发送的隶属关系后,更新本地存储的该数据库服务器的隶属关系。具体地,上述数据采集装置202或客户端203中存储的监控数据与数据库服务器的隶属关系,可以是逻辑数据区域与数据库服务器的隶属关系。当数据采集装置202或客户端203接收到其中一个数据库服务器发送的隶属关系后,将本地存储的该数据库服务器的隶属关系进行更新,即更改了隶属于该数据库服务器的逻辑数据区域,亦即更改了隶属于该数据库服务器的监控数据。
事实上,当监控系统中的某个数据库服务器发生故障后,监控系统中其它数据库服务器在探测到该数据库服务器不能正常工作后,先后都会执行上述图3所示的步骤进行任务重新分配,并生成新的监控数据与本数据库服务器的隶属关系向数据采集装置202或客户端203发送,从而将隶属于不能正常工作的数据库服务器的监控数据分配到其它数据库服务器上,保证系统继续正常运行,而不会受到损坏的数据库服务器影响,大大提高了系统的可靠性。
例如,上述表3所示的情况2中,nA不工作、nB、nC、nD均正常工作的情况下任务分配的结果;可以看出原隶属于nA的逻辑数据区域a1、a2、a3,分别被重新分配到了nB、nC、nD。这样,即使nA出现故障,nB、nC、nD分别探测到nA不能正常工作后,都根据上述的方法进行任务的重新分配,并确定出隶属于本数据库服务器的逻辑数据区域。nB、nC、nD将更新后的逻辑数据区域与本数据库服务器的隶属关系向数据采集装置202或客户端203发送。
这样,数据采集装置202在接收到nB、nC、nD发送的隶属关系后,使用更新后的隶属关系向数据库服务器发送监控数据;也就是说,原本发送到nA的监控数据,根据更新后的隶属关系,数据采集装置202会将其发送到nB、或nC、或nD,由nB、或nC、或nD处理这些监控数据。
同样地,客户端203在接收到nB、nC、nD发送的隶属关系,并更新了本地存储的隶属关系后,就可以根据更新后的隶属关系向对应的数据库服务器发送数据请求信息,或数据订阅请求信息。比如,客户端203若需要请求a1中的监控数据,则可向nB发送数据请求信息,或数据订阅请求信息;若需要请求a2中的监控数据,则可向nC发送数据请求信息,或数据订阅请求信息;若需要请求a3中的监控数据,则可向nD发送数据请求信息,或数据订阅请求信息。
也就是说,数据采集装置202在接收到数据库服务器发送的隶属关系,并更新了本地存储的监控数据与数据库服务器的隶属关系后,就可以根据更新后的隶属关系向对应的数据库服务器发送其采集的监控数据。具体地,数据采集装置202的分布式访问处理模块在接收到数据库服务器发送的隶属关系后,更新本地存储的监控数据与数据库服务器的隶属关系。
客户端203在接收到数据库服务器发送的隶属关系,并更新了本地存储的监控数据与数据库服务器的隶属关系后,就可以根据更新后的隶属关系向对应的数据库服务器发送数据请求信息,或数据订阅请求信息。
较佳地,客户端203还保存了用户输入的监控数据的订阅信息;并且客户端203在接收到数据库服务器发送的隶属关系,并更新了本地存储的该数据库服务器的隶属关系后,还可以根据之前保存的监控数据的订阅信息,向数据库服务器重新发送订阅信息:客户端203的分布式访问处理模块在接收到数据库服务器发送的隶属关系,并更新了本地存储的隶属关系后,对于保存的监控数据的订阅信息,根据更新后的隶属关系确定出订阅信息中所请求订阅的数据所属数据库服务器,并对于每个确定出的数据库服务器,根据所述订阅信息中所请求订阅的数据,分别生成相应的数据订阅请求信息向该数据库服务器发送。
客户端203通过其存储的隶属关系实现分布式访问的监控方法流程,如图4所示,包括如下步骤:
S401:客户端203接收用户输入的监控数据访问请求信息。
具体地,如图5所示,客户端203中包括:监控数据管理界面模块501、分布式访问处理模块502。
监控数据管理界面模块501用于进行监控数据的显示,并接收用户输入的监控数据访问请求信息,比如用户输入的修改监控数据的请求信息或需要获取某个监控数据的请求信息。监控数据管理界面模块501将监控数据访问请求信息发送给分布式访问处理模块502。
S402:客户端203确定出监控数据访问请求信息中所请求的数据所属数据库服务器201。
具体地,客户端203的分布式访问处理模块502接收到监控数据管理界面模块501发送的监控数据访问请求信息后,对该监控数据访问请求信息进行分析,确定该监控数据访问请求信息中所请求的数据所属数据库服务器。
由于监控数据管理界面模块501可以展示全系统的监控数据,用户或调度人员可以通过监控数据管理界面模块501浏览或访问系统中的监控数据,也可通过监控数据管理界面模块501修改监控数据,例如,用户可以通过监控数据管理界面模块501修改某个节点的风机状态,或修改某个节点风机开启的温度阈值等。
监控数据管理界面模块501在接收到用户对监控数据的访问需求后,生成监控数据访问请求信息发送到分布式访问处理模块502,该监控数据访问请求信息中所请求的数据可能包括多个节点的监控数据,换言之,该监控数据访问请求信息中所请求的数据可能包括不同数据库服务器201中所存储、处理的监控数据。
由此,分布式访问处理模块502需要确定出其接收的监控数据访问请求信息中所请求的数据所属数据库服务器201。
在分布式访问处理模块502中预先存储有监控数据与数据库服务器201的隶属关系;根据存储的隶属关系,分布式访问处理模块502可以确定出哪些监控数据隶属于哪个数据库服务器201。例如,分布式访问处理模块502可以存储如表1所示的隶属关系。
分布式访问处理模块502根据监控数据与数据库服务器的隶属关系,确定出监控数据访问请求信息中所请求的数据所属数据库服务器。例如,监控数据访问请求信息中所请求的数据包括:A30151、D20820、D120501;根据上表1的隶属关系,可以确定出A30151隶属于S2、D20820隶属于S1、D120501隶属于S7。分布式访问处理模块502可以确定出监控数据访问请求信息中所请求的数据所属数据库服务器包括:S1、S2和S7。
S403:客户端203对于每个确定出的数据库服务器,根据所述监控数据访问请求信息中所请求的数据,分别生成相应的数据请求信息向该数据库服务器发送。
具体地,客户端203的分布式访问处理模块502在确定出数据请求信息中所请求的数据所属数据库服务器后,对于每个确定出的数据库服务器,根据所述监控数据访问请求信息中所请求的数据,分别生成相应的数据请求信息向该数据库服务器发送。例如,对于上述确定出的数据库服务器S1,根据所述监控数据访问请求信息中所请求的数据D20820,生成监控数据D20820的请求信息向S1发送;对于上述确定出的数据库服务器S2,根据所述监控数据访问请求信息中所请求的数据A30151,生成监控数据A30151的请求信息向S2发送;对于上述确定出的数据库服务器S7,根据所述监控数据访问请求信息中所请求的数据D120501,生成监控数据D120501的请求信息向S7发送。
S404:各接收到数据请求信息的数据库服务器201,根据接收的数据请求信息返回相应的监控数据。
例如,上述的数据库服务器S1、S2、S7分别在接收到各自的数据请求信息后,分别向客户端203返回相应的数据。比如,S1根据其接收的数据请求信息返回D20820的数据;S2根据其接收的数据请求信息返回A30151的数据;S7根据其接收的数据请求信息返回D120501的数据。
S405:客户端203在接收到数据库服务器201返回的数据后,将接收的数据进行存储、显示。
具体地,客户端203的分布式访问处理模块502在接收到各数据库服务器201返回的数据后,进行数据汇总,将汇总后的数据统一返回给监控数据管理界面模块501进行显示,呈现给用户。
如果监控系统中的某个数据库服务器出现故障,监控系统中的其它数据库服务器采用上述图3所示的方法进行任务重新分配后,确定出新的逻辑数据区域与本数据库服务器的隶属关系,即确定出新的监控数据与本数据库服务器的隶属关系后,向客户端203发送,客户端203的分布式访问处理模块502在接收到监控系统中各数据库服务器发送的隶属关系后,对本地存储的隶属关系进行更新;并在之后,根据更新后的隶属关系进行监控数据的访问。更新隶属关系后,客户端203访问监控数据的方法与上述图4所示的方法相同,此处不再赘述。
监控系统中,可以包括多个客户端203,这些客户端203可以设置在各节点中,也就是说,每个节点可以设置至少一个客户端203。用户可以通过这些客户端203同时访问自己感兴趣的监控数据;而不是像现有技术,局限于使用中心数据库服务器进行监控数据的访问。并且,客户端203访问的数据可以分布式存储于各节点的数据库服务器201中,从而避免掉将所有数据存储于中心数据库服务器造成访问服务的瓶颈。
此外,客户端203还可通过其存储的隶属关系向数据库服务器201订阅信息,具体方法流程,如图6所示,包括如下步骤:
S601:客户端203接收用户输入的监控数据的订阅信息。
具体地,用户通过监控数据管理界面模块501输入监控数据的订阅信息,监控数据管理界面模块501将监控数据的订阅信息发送给分布式访问处理模块502。
S602:客户端203确定出订阅信息中所请求订阅的数据所属数据库服务器201。
具体地,客户端203的分布式访问处理模块502接收到监控数据管理界面模块501发送的订阅信息后,对该订阅信息进行分析,确定该订阅信息中所请求订阅的数据所属数据库服务器:分布式访问处理模块502根据监控数据与数据库服务器201的隶属关系,确定出订阅信息中所请求的数据所属数据库服务器。
S603:客户端203对于每个确定出的数据库服务器,根据所述订阅信息中所请求订阅的数据,分别生成相应的数据订阅请求信息向该数据库服务器发送。
具体地,分布式访问处理模块502在确定出订阅信息中所请求的数据所属数据库服务器后,对于每个确定出的数据库服务器,根据所述订阅信息中所请求订阅的数据,分别生成相应的数据订阅请求信息向该数据库服务器发送。
S604:各数据库服务器在接收到客户端203发送的数据订阅请求信息后,对应记录下发送该数据订阅请求信息的客户端203的标识,以及该数据订阅请求信息所请求订阅的数据。
S605:数据库服务器在监测到所请求订阅的数据发生变化时,数据库服务器根据该数据所对应的客户端203的标识,将该数据作为订阅数据向该客户端203返回。
S606:客户端203在接收到数据库服务器发送的订阅数据后,将对应的监控数据进行更新、显示。
具体地,客户端203的分布式访问处理模块502在接收到数据库服务器发送的订阅数据后,将订阅数据发送给监控数据管理界面模块501。监控数据管理界面模块501将对应的监控数据进行更新后显示。或者,客户端203的监控数据管理界面模块501直接接收数据库服务器发送的订阅数据后,进行相关数据的更新、显示。
如果监控系统中的某个数据库服务器出现故障,监控系统中的其它数据库服务器采用上述图3所示的方法进行任务重新分配,客户端203的分布式访问处理模块502在接收到监控系统中各数据库服务器发送的隶属关系后,对本地存储的隶属关系进行更新;在此之后,客户端203可以根据更新后的隶属关系进行之后的监控数据的订阅。更新隶属关系后,客户端203订阅信息的方法与上述图6所示的方法相同,此处不再赘述。
然而,对于客户端203在更新隶属关系之前已经订阅了的监控数据,由于订阅的监控数据所在的数据库服务器有可能出现变更,因此,需要重新订阅,或者数据库服务器之间自行进行订阅信息的调整:
在隶属关系更新后,客户端203可以通过如下方法对之前发送的订阅信息重新进行订阅:对于客户端203之前通过监控数据管理界面模块501已经订阅了的监控数据,也就是说,已经保存到客户端203的分布式访问处理模块502的订阅信息,则不需要用户通过客户端203的监控数据管理界面模块501重新生成该订阅信息,客户端203的分布式访问处理模块502在隶属关系更新后,根据之前保存的监控数据的订阅信息以及更新后的隶属关系,重新生成相应的数据订阅请求信息向相应的数据库服务器发送,其方法与上述步骤S602-S605中的一样。数据库服务器在接收到客户端203发送的数据订阅请求信息后,对应记录下发送该数据订阅请求信息的客户端203的标识,以及该数据订阅请求信息所请求订阅的数据,从而完成订阅信息的重新订阅。
或者,在隶属关系更新后,不需要客户端203对之前发送的订阅信息重新进行订阅,而是数据库服务器之间自行进行订阅信息的调整:以监控系统中的某个数据库服务器为例,在该数据库服务器检测到其它数据库服务器出现故障后,采用上述图3所示的方法进行任务重新分配,从而可以如上述步骤S302中所述,在确定出隶属于本数据库服务器的监控数据的过程中,重新确定出监控数据与数据库服务器的隶属关系;该数据库服务器根据新确定的隶属关系,查找记录的所请求订阅的数据中隶属于其它数据库服务器的数据;根据更新的隶属关系,该数据库服务器将这些数据以及该数据所对应的客户端的标识向其隶属的数据库服务器发送;并从本数据库服务器中删除这些所请求订阅的数据及其对应的客户端的标识。
这样,监控系统中的每个可以正常工作的数据库服务器在通过上述的调整之后,可以根据更新后的所请求订阅的数据,为请求该数据的客户端发送其订阅的监控数据。数据库服务器201与数据库服务器201之间的通信可采用SSL安全通信通道,实现数据加密传输和双向身份认证,从而保证数据传输的安全性。
数据库服务器201中存储的监控数据是从数据采集装置202获取的。具体地,在数据库服务器根据接收的数据请求信息向所述客户端返回相应的监控数据之前,或者在数据库服务器将订阅数据向该客户端返回之前,数据库服务器201从数据采集装置202获取监控数据可以进行处理、存储等操作。当然,数据库服务器201在接收到用户发送的修改的监控数据也可以发送给相应的数据采集装置202。用户修改的监控数据通常是对设备的状态进行控制,例如风机的开关等。
具体地,数据采集装置202的一种内部结构如图7所示,包括:数据采集设置模块701、分布式访问处理模块702。
数据采集设置模块701用于采集本节点的监控数据,并且还可以向设备发送设置数据用于设置设备的状态或参数。
分布式访问处理模块702用于将数据采集设置模块701采集的监控数据根据存储的隶属关系可以确定出该监控数据所属数据库服务器,并将该监控数据向其所属数据库服务器发送。分布式访问处理模块702还可接收数据库服务器发送的数据,并将之发送给数据采集设置模块701。
数据采集设置模块701根据从分布式访问处理模块702接收的数据设置相应设备的状态或参数。
上述的数据库服务器的一种内部结构,如图8所示,包括:监控数据存储处理模块801、访问需求处理模块802。
监控数据存储处理模块801用于存储、处理监控数据;
访问需求处理模块802用于接收到客户端发送的数据请求信息后,根据所述数据请求信息从所述监控数据存储处理模块中查找到相应的监控数据向所述客户端返回。
进一步,数据库服务器还包括:订阅需求发布模块803。
订阅需求发布模块803用于接收到客户端发送的数据订阅请求信息后,对应记录下所述客户端的标识,以及该数据订阅请求信息所请求订阅的数据;在监测到所述监控数据存储处理模块中存储的该数据订阅请求信息所请求订阅的数据发生变化时,根据该数据所对应的客户端的标识,将该数据作为订阅数据向该客户端返回。
进一步,数据库服务器还包括:监控数据接收模块804。
监控数据接收模块804用于接收数据采集装置发送的监控数据,并将接收的监控数据发送给所述监控数据存储处理模块进行存储、处理。
此外,在各节点的数据库服务器中还可设置、安装故障处理装置。
故障处理装置用于若探测到所述监控系统中其它数据库服务器出现故障,则:对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别;故障处理装置将新确定出的隶属关系向所述监控系统中的数据采集装置或客户端发送。
故障处理装置的一种内部结构如图9所示,包括:故障探测模块901、隶属关系确定模块902、隶属关系发送模块903。
故障探测模块901用于若探测到所述监控系统中其它数据库服务器出现故障,则发送任务重新分配通知;
隶属关系确定模块902用于在接收到所述故障探测模块发送的任务重新分配通知后,根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系。具体地,隶属关系确定模块902在接收到任务重新分配通知后,对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别;这样,在隶属关系确定模块902选择出每个逻辑数据区域其隶属的数据库服务器后,即确定出新的监控数据与数据库服务器的隶属关系。
隶属关系发送模块903用于将隶属关系确定模块902确定出的隶属关系向所述监控系统中的数据采集装置发送。较佳地,隶属关系发送模块903将隶属关系确定模块902确定出的隶属关系中的逻辑数据区域与本数据库服务器的隶属关系向所述监控系统中的数据采集装置发送。
此外,隶属关系发送模块903还在隶属关系确定模块902确定出隶属关系后,向订阅需求发布模块803发送订阅信息调整通知。
订阅需求发布模块803还用于在接收到订阅信息调整通知后,根据隶属关系确定模块902新确定出的隶属关系,从其记录的所请求订阅的数据中查找出隶属于其它数据库服务器的数据;并将查找出的数据、及其对应的客户端的标识向其隶属的数据库服务器发送后,删除查找出的数据。查找记录的所请求订阅的数据中隶属于其它数据库服务器的数据隶属关系确定模块902新确定出的隶属关系,订阅需求发布模块803将这些数据及其所对应的客户端的标识向其隶属的数据库服务器发送;并删除掉这些所请求订阅的数据及其对应的客户端的标识。
上述的监控系统和监控方法具体可以应用在轨道交通系统中,文中所述各节点具体为轨道交通系统中的各车站的站点;也就是说,各节点所设置的数据库服务器201,即为轨道交通系统中各站点所设置的数据库服务器201;各节点所设置的数据采集装置202,即为轨道交通系统中各站点所设置的数据采集装置202,用于对各站点的设备进行监控:获取设备的监控数据,或向设备发送控制参数。
本发明实施例的技术方案中,监控系统的每个数据库服务器可以自动探测本监控系统中的其它数据库服务器是否正常工作,在探测出其它数据库服务器出现故障时,依据预先制定的规则重新进行任务分配,将隶属于出现故障的数据库服务器的监控数据分配到其它数据库服务器,避免了有数据库服务器出现故障时造成监控数据的丢失,防止了站点监控失效的现象,从而大大提高了监控系统的可靠性,并且由于不必对于每个站点配备冗余数据库服务器,还大大降低了监控系统的故障处理,防止出现站点监控失效现象的成本。
进一步,数据库服务器将更新后的隶属关系发送给客户端,客户端可以根据更新后的隶属关系进行分布式访问各数据库服务器中存储的监控数据,或者将之前保存的订阅信息进行重新订阅。
进一步,数据库服务器还可根据更新后的隶属关系,对订阅信息进行自行调整,不必客户端重新发送相关的订阅信息,更加方便了用户。
进一步,数据采集装置与数据库服务器之间、客户端与数据库服务器之间,以及数据库服务器与数据库服务器之间可采用SSL安全通信通道,实现数据加密传输和双向身份认证,从而保证数据传输的安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (18)
1.一种分布式监控系统的故障处理方法,所述监控系统包括:分布于各节点的数据库服务器,以及分布于各节点的数据采集装置;所述方法包括:
若所述数据库服务器探测到所述监控系统中其它数据库服务器出现故障,则根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
所述数据库服务器将新确定的隶属关系向所述监控系统中的各数据采集装置发送;
各数据采集装置接收到所述数据库服务器发送的隶属关系后更新本地存储的隶属关系,并根据更新后的隶属关系向对应的数据库服务器发送其采集的监控数据;
其中,所述预先制订的原则具体为监控数据拥有权级别配置表,以及所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系,具体包括:
对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据所述监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
2.如权利要求1所述的方法,其特征在于,所述监控系统还包括:客户端;以及在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,所述方法还包括:
所述数据库服务器将新确定的隶属关系向所述监控系统中的客户端发送;
所述客户端在接收到数据库服务器发送的隶属关系后,更新本地存储的隶属关系;
所述客户端接收用户输入的监控数据访问请求信息后,根据更新后的隶属关系,确定出所述监控数据访问请求信息中所请求的数据所属数据库服务器;并
所述客户端对于每个确定出的数据库服务器,根据所述监控数据访问请求信息中所请求的数据,分别生成相应的数据请求信息向该数据库服务器发送;
各接收到所述客户端发送的数据请求信息的数据库服务器,分别根据接收的数据请求信息向所述客户端返回相应的监控数据;
所述客户端将各数据库服务器返回的监控数据进行显示。
3.如权利要求1所述的方法,其特征在于,在所述数据库服务器探测到所述监控系统中其它数据库服务器出现故障之前,还包括:
所述客户端接收用户输入的监控数据的订阅信息后,根据其存储的隶属关系,确定出所述订阅信息中所请求订阅的数据所属数据库服务器;并对于每个确定出的数据库服务器,根据所述订阅信息中所请求订阅的数据,分别生成相应的数据订阅请求信息向该数据库服务器发送;
所述数据库服务器接收到所述客户端发送的数据订阅请求信息后,对应记录下所述客户端的标识,以及该数据订阅请求信息所请求订阅的数据;在监测到该数据订阅请求信息所请求订阅的数据发生变化时,根据该数据所对应的客户端的标识,将该数据作为订阅数据向该客户端返回;
所述客户端接收到所述数据库服务器发送的订阅数据后对相应的监控数据进行更新、显示。
4.如权利要求4所述的方法,其特征在于,在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,还包括:
所述数据库服务器根据重新确定的隶属关系,从其记录的所请求订阅的数据中查找出隶属于其它数据库服务器的数据;并将查找出的数据、及其对应的客户端的标识向其隶属的数据库服务器发送后,删除查找出的数据;或者,
所述客户端在接收到数据库服务器发送的隶属关系并更新本地存储的隶属关系后,根据之前保存的所述订阅信息以及更新后的隶属关系,重新生成相应的数据订阅请求信息向相应的数据库服务器发送。
5.如权利要求2-4任一所述的方法,其特征在于,
所述数据库服务器与监控系统中其它数据库服务器之间的通信采用SSL安全通信通道;以及
所述监控系统中的客户端与所述数据库服务器之间的通信采用SSL安全通信通道;以及
所述监控系统中的数据采集装置与所述数据库服务器之间的通信采用SSL安全通信通道。
6.一种分布式监控系统的故障处理装置,所述监控系统包括:分布在各节点的数据库服务器,以及分布于各节点的数据采集装置;以及所述故障处理装置包括:
故障探测模块,用于若探测到所述监控系统中其它数据库服务器出现故障,则发送任务重新分配通知;
隶属关系确定模块,用于在接收到所述故障探测模块发送的任务重新分配通知后,根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
隶属关系发送模块,用于将所述隶属关系确定模块确定出的隶属关系向所述监控系统中的数据采集装置发送。
7.如权利要求6所述的装置,其特征在于,所述隶属关系确定模块根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系具体为:
所述隶属关系确定模块对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
8.如权利要求6所述的装置,其特征在于,
所述隶属关系发送模块具体用于将所述隶属关系确定模块确定出的隶属关系中监控数据与本数据库服务器的隶属关系向所述监控系统中的数据采集装置发送。
9.一种分布式监控系统中的数据库服务器,包括:
故障处理装置,用于若探测到所述监控系统中其它数据库服务器出现故障,则根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;并将新确定的隶属关系向所述监控系统中的各数据采集装置发送;
故障探测模块,用于若探测到所述监控系统中其它数据库服务器出现故障,则发送任务重新分配通知;
隶属关系确定模块,用于在接收到所述故障探测模块发送的任务重新分配通知后,根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
隶属关系发送模块,用于将所述隶属关系确定模块确定出的隶属关系向所述监控系统中的数据采集装置发送。
10.如权利要求9所述的服务器,其特征在于,所述隶属关系确定模块根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系具体为:
所述隶属关系确定模块对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
11.如权利要求10所述的服务器,其特征在于,还包括:
订阅需求发布模块,用于接收到客户端发送的数据订阅请求信息后,对应记录下所述客户端的标识,以及该数据订阅请求信息所请求订阅的数据;在监测到所述监控数据存储处理模块中存储的该数据订阅请求信息所请求订阅的数据发生变化时,根据该数据所对应的客户端的标识,将该数据作为订阅数据向该客户端返回。
12.如权利要求11所述的服务器,其特征在于,
所述隶属关系发送模块还用于在所述隶属关系确定模块确定出隶属关系后,向所述订阅需求发布模块发送订阅信息调整通知;以及
所述订阅需求发布模块还用于在接收到订阅信息调整通知后,从其记录的所请求订阅的数据中查找出隶属于其它数据库服务器的数据;并将查找出的数据、及其对应的客户端的标识向其隶属的数据库服务器发送后,删除查找出的数据。
13.如权利要求9-12任一所述的服务器,其特征在于,还包括:
监控数据存储处理模块,用于存储、处理监控数据;
监控数据接收模块,用于接收所述监控系统中的数据采集装置发送的监控数据,并将接收的监控数据发送给所述监控数据存储处理模块进行存储、处理。
14.如权利要求13所述的服务器,其特征在于,还包括:
访问需求处理模块,用于接收到所述监控系统中的客户端发送的数据请求信息后,根据所述数据请求信息从所述监控数据存储处理模块中查找到相应的监控数据向所述客户端返回。
15.一种分布式监控系统,包括:分布于各节点的数据库服务器,以及分布于各节点的数据采集装置;
其中,所述数据库服务器若探测到所述监控系统中其它数据库服务器出现故障,则根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系;
所述数据库服务器将新确定的隶属关系向所述监控系统中的各数据采集装置发送;
各数据采集装置接收到所述数据库服务器发送的隶属关系后更新本地存储的隶属关系,并根据更新后的隶属关系向对应的数据库服务器发送其采集的监控数据;
所述预先制订的原则具体为监控数据拥有权级别配置表,以及所述数据库服务器根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系具体为:
所述数据库服务器对于根据所述监控系统中的所有监控数据所划分的至少N个逻辑数据区域,分别针对每个逻辑数据区域,根据监控数据拥有权级别配置表,选择出工作状态为正常、对该逻辑数据区域拥有权级别最高的数据库服务器,确定该逻辑数据区域与选择出的数据库服务器的隶属关系;其中,所述N为所述监控系统中的节点总数;所述监控数据拥有权级别配置表中针对每个逻辑数据区域,记录了各数据库服务器对该逻辑数据区域的拥有权级别。
16.如权利要求15所述的系统,其特征在于,还包括:客户端;以及
所述数据库服务器还用于在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,将新确定的隶属关系向所述监控系统中的客户端发送;
所述客户端用于在接收到数据库服务器发送的隶属关系后,更新本地存储的隶属关系;
若所述客户端接收用户输入的监控数据访问请求信息,则根据更新后的隶属关系,确定出所述监控数据访问请求信息中所请求的数据所属数据库服务器;并
所述客户端对于每个确定出的数据库服务器,根据所述监控数据访问请求信息中所请求的数据,分别生成相应的数据请求信息向该数据库服务器发送;
各接收到所述客户端发送的数据请求信息的数据库服务器,分别根据接收的数据请求信息向所述客户端返回相应的监控数据;
所述客户端将各数据库服务器返回的监控数据进行显示。
17.如权利要求15所述的系统,其特征在于,
所述客户端还用于若接收到用户输入的监控数据的订阅信息后,根据其存储的隶属关系,确定出所述订阅信息中所请求订阅的数据所属数据库服务器;并对于每个确定出的数据库服务器,根据所述订阅信息中所请求订阅的数据,分别生成相应的数据订阅请求信息向该数据库服务器发送;
所述数据库服务器还用于接收到所述客户端发送的数据订阅请求信息后,对应记录下所述客户端的标识,以及该数据订阅请求信息所请求订阅的数据;在监测到该数据订阅请求信息所请求订阅的数据发生变化时,根据该数据所对应的客户端的标识,将该数据作为订阅数据向该客户端返回;
所述客户端接收到所述数据库服务器发送的订阅数据后对相应的监控数据进行更新、显示。
18.如权利要求17所述的系统,其特征在于,
所述数据库服务器还用于在所述根据预先制订的原则,重新确定监控数据与数据库服务器的隶属关系后,根据重新确定的隶属关系,从其记录的所请求订阅的数据中查找出隶属于其它数据库服务器的数据;并将查找出的数据、及其对应的客户端的标识向其隶属的数据库服务器发送后,删除查找出的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210367590.2A CN102929220B (zh) | 2012-09-27 | 2012-09-27 | 分布式监控系统及其数据库服务器和故障处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210367590.2A CN102929220B (zh) | 2012-09-27 | 2012-09-27 | 分布式监控系统及其数据库服务器和故障处理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929220A CN102929220A (zh) | 2013-02-13 |
CN102929220B true CN102929220B (zh) | 2014-07-16 |
Family
ID=47644048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210367590.2A Active CN102929220B (zh) | 2012-09-27 | 2012-09-27 | 分布式监控系统及其数据库服务器和故障处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929220B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991029A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种sequence数据的获取方法及装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699111B (zh) * | 2013-09-26 | 2016-04-06 | 青岛海信网络科技股份有限公司 | 分布式监控系统的故障检测方法和装置 |
CN103944780A (zh) * | 2014-04-02 | 2014-07-23 | 云南电网公司 | 一种分布链式流水it监控数据中心数据处理的方法 |
CN104348683A (zh) * | 2014-10-28 | 2015-02-11 | 北京奇虎科技有限公司 | 一种信息提供方法及装置 |
CN104331505B (zh) * | 2014-11-20 | 2016-09-21 | 合一网络技术(北京)有限公司 | 一种基于分布式采集及存储的监控系统 |
CN104539583B (zh) * | 2014-12-05 | 2018-01-30 | 浙江浙大中控信息技术有限公司 | 一种实时数据库订阅系统及方法 |
CN105656724A (zh) * | 2016-01-29 | 2016-06-08 | 佛山中科芯蔚科技有限公司 | 一种服务器的监控方法及系统 |
CN105656700B (zh) * | 2016-03-29 | 2019-02-01 | 江苏大学 | 一种分散式机房综合监控及自动应急决策处理方法及装置 |
CN106341474B (zh) * | 2016-09-06 | 2019-11-05 | 上海海事大学 | 一种基于icn与sdn网络的资料管控中心及其内容管理方法 |
CN107040421A (zh) * | 2017-04-19 | 2017-08-11 | 济南浪潮高新科技投资发展有限公司 | 一种基于ipmi协议采集并处理硬件信息的方法及系统 |
CN107942888B (zh) * | 2017-12-26 | 2020-02-07 | 北京科来数据分析有限公司 | 一种数据采集器故障恢复后的工作控制方法 |
CN111367202B (zh) * | 2018-12-26 | 2022-12-13 | 华为云计算技术有限公司 | 监控实例的方法、监控节点和监控集群 |
CN109754179A (zh) * | 2018-12-29 | 2019-05-14 | 国网北京市电力公司 | 一种集中分布式低压监控部署系统及方法 |
CN111459208A (zh) * | 2020-04-17 | 2020-07-28 | 南京铁道职业技术学院 | 针对地铁供电系统电能的操纵系统及其方法 |
CN112527897A (zh) * | 2020-12-01 | 2021-03-19 | 深圳市鹰硕技术有限公司 | 一种数据处理方法及系统 |
CN115933565B (zh) * | 2022-12-23 | 2023-10-20 | 广东职业技术学院 | 一种agv任务交换方法、装置、系统和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098260A (zh) * | 2006-06-29 | 2008-01-02 | 国际商业机器公司 | 一种分布式设备监视管理方法、设备和系统 |
CN102647309A (zh) * | 2012-04-19 | 2012-08-22 | 重庆网力视界科技有限公司 | 一种分布式监控方法和系统 |
CN202870563U (zh) * | 2012-04-06 | 2013-04-10 | 北京国际系统控制有限公司 | 分布式综合监控系统 |
-
2012
- 2012-09-27 CN CN201210367590.2A patent/CN102929220B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098260A (zh) * | 2006-06-29 | 2008-01-02 | 国际商业机器公司 | 一种分布式设备监视管理方法、设备和系统 |
CN202870563U (zh) * | 2012-04-06 | 2013-04-10 | 北京国际系统控制有限公司 | 分布式综合监控系统 |
CN102647309A (zh) * | 2012-04-19 | 2012-08-22 | 重庆网力视界科技有限公司 | 一种分布式监控方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991029A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种sequence数据的获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102929220A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929220B (zh) | 分布式监控系统及其数据库服务器和故障处理装置及方法 | |
CN106789362A (zh) | 一种设备管理方法及网管系统 | |
CN100412802C (zh) | 有计划的计算机问题诊断和解决及其自动报告和更新 | |
CN110807064B (zh) | Rac分布式数据库集群系统中的数据恢复装置 | |
US7480644B2 (en) | Systems methods, and software for distributed loading of databases | |
CN102640108A (zh) | 已复制数据的监控 | |
CN103605722A (zh) | 数据库监控方法及装置、设备 | |
CN103607310A (zh) | 一种异地容灾的仲裁方法 | |
CN112948064B (zh) | 一种数据读取方法、装置及数据读取系统 | |
CN101567807A (zh) | 基于知识的故障恢复支持系统 | |
CN113704052B (zh) | 一种微服务架构的运维系统、方法、设备及介质 | |
CN101467132B (zh) | 用于在通信网络中分配数据处理单元的方法和系统 | |
CN104486438A (zh) | 分布式存储系统的容灾方法及装置 | |
US9092396B2 (en) | Standby system device, a control method, and a program thereof | |
US10055317B2 (en) | Deferred, bulk maintenance in a distributed storage system | |
CN102045203B (zh) | 网络管理的方法、装置及网络管理系统 | |
EP3427157A1 (en) | Cross-regional data transmission | |
CN113411209A (zh) | 一种分布式的密码服务全链路检测系统及方法 | |
CN102769495B (zh) | 一种光纤接入网设备通信方法、装置及系统 | |
CN112417050A (zh) | 数据同步方法和装置、系统、存储介质及电子装置 | |
CN110019536B (zh) | 一种基于医疗区块链技术的数据库系统 | |
CN116149954A (zh) | 一种服务器智能运维系统及其方法 | |
CN111064618B (zh) | 一种服务器高可用的实现方法、装置、设备和存储介质 | |
CN113923100A (zh) | 告警采集方法、告警采集系统、存储介质与电子设备 | |
KR101639713B1 (ko) | 정전 관리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |