CN105429791B - 一种分布式服务状态检测器及方法 - Google Patents

一种分布式服务状态检测器及方法 Download PDF

Info

Publication number
CN105429791B
CN105429791B CN201510741748.1A CN201510741748A CN105429791B CN 105429791 B CN105429791 B CN 105429791B CN 201510741748 A CN201510741748 A CN 201510741748A CN 105429791 B CN105429791 B CN 105429791B
Authority
CN
China
Prior art keywords
service
distributed
node
information
services
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.)
Expired - Fee Related
Application number
CN201510741748.1A
Other languages
English (en)
Other versions
CN105429791A (zh
Inventor
甘言礼
李宏伟
任玉保
刘晓
苏宏勋
苏振华
吴六
吴六一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Zhuhai XJ Electric Co Ltd
State Grid of China Technology College
Zhuhai Xujizhi Power System Automation Co Ltd
Original Assignee
State Grid Corp of China SGCC
Zhuhai XJ Electric Co Ltd
State Grid of China Technology College
Zhuhai Xujizhi Power System Automation Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Zhuhai XJ Electric Co Ltd, State Grid of China Technology College, Zhuhai Xujizhi Power System Automation Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201510741748.1A priority Critical patent/CN105429791B/zh
Publication of CN105429791A publication Critical patent/CN105429791A/zh
Application granted granted Critical
Publication of CN105429791B publication Critical patent/CN105429791B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种分布式服务状态检测器和方法,包括主服务和端服务两部分;主服务部分主要用于当前节点及其所有子节点的服务状态信息管理和服务树模型管理,端服务部分主要用于采集服务器基本信息和获取应用服务自定义接口信息;本产品和方法使用树形结构的多级监视方式,将服务监视过程分散到各个分布式服务节点上,可以对分布在不同网络环境中的分布式服务实现统一监视,运用分布式监视和分布式存储提高了服务监视的效率、有效的减小了监视服务器的负载。

Description

一种分布式服务状态检测器及方法
技术领域
本发明涉电力行业分布式系统服务监视领域,具体涉及一种分布式服务状态检测器及方法。
背景技术
随着电力行业中分布式部署的系统越来越多,以及各个系统之间信息交互、数据集成的应用越来越广泛,如何保证各个系统服务的稳定运行,需要从系统层面对分布式部署的服务做统一的服务状态监视及管理。
目前电力行业中分布式部署的系统要实现各个系统的服务状态监视,采用的是由一台监视服务器分别与其它应用系统做接口获取应用服务运行状态的方法,这种一对多的监视方式过多的依赖于监视服务器,主要存在以下三方面的问题:
1、性能问题:当分布式服务过多的时候,监视服务器获取其它系统的状态的效率明显降低,特别是其中任何一个服务通信出问题都会影响整体的效率,即使采用并发处理的方式也会造成监视服务器负载过重同时也会造成网络拥堵的情况;
2、服务监视接口复杂:监视接口与应用系统之间的耦合度高,接口的实现和集成方式复杂,扩展性较差;
3、网络环境适应性差:一台监视服务器直接监视其它分布式服务,要求监视服务器与其它分布式服务都要在同一个网络内,无法对分布在不同网络环境中的分布式服务进行统一监视。
发明内容
本发明的目的是为了解决上述问题,提供了一种分布式服务状态检测器及方法,该检测器及方法使用树形结构的多级监视方式,将服务监视过程分散到各个分布式服务节点上,可以对分布在不同网络环境中的分布式服务实现统一监视。
为实现上述目的,本发明采用下述技术方案:
一种分布式服务状态检测器,包括:主服务部分和端服务部分;所述主服务部分和端服务部分通信;所述主服务部分用于当前节点及其所有子节点的服务状态信息管理和服务树模型管理,所述端服务部分用于采集当前节点所在服务器的基本信息,获取应用服务自定义接口信息。
进一步地,分布式服务状态检测器独立安装运行到各分布式服务器上,监视分布式服务器的运行状态;或者通过接口实现的方式与分布式应用服务集成,获取更详细的服务状态信息。
进一步地,所述主服务部分包括:服务信息注册组件、服务状态数据管理组件、服务树模型管理组件和通信组件;
其中:
所述服务信息注册组件,用来存储当前节点服务及所有子节点服务的基本信息;
所述服务状态数据管理组件,用来管理服务树模型中当前节点和所有子节点的服务状态信息;
所述服务树模型管理组件,用来构建服务树模型和解析服务树模型并对服务模型的拓扑进行搜索;
所述通信组件,用于各个分布式服务节点中的服务状态检测器之间的数据传输。
所述服务信息注册组件采用手工注册和模型树注册两种方式,其中,手工注册用于根节点服务信息注册,模型树注册用于根节点发布注册信息后子节点根据接收的服务信息模型自动注册。
进一步地,所述端服务部分包括:服务状态信息采集组件和自定义接口组件;
其中,所述服务状态信息采集组件用于采集当前节点所在服务器的基本信息,所述自定义接口组件用于与分布式应用服务集成,通过自定义接口,实现对分布式应用服务的状态监视。
所述当前节点所在服务器的基本信息包括:CPU使用率、硬盘使用率、网络使用率和内存利用率。
进一步地,分布式服务状态检测器采用树形数据结构,对分布式应用服务状态进行逐级监视,树形数据结构中每个节点监视其所有子节点的状态信息,通过获取各子节点的状态信息,得到分布式系统的所有服务状态信息。
一种分布式服务状态检测方法,包括以下步骤:
(1)为每个需要监视的分布式服务安装权利要求1-6所述的任一分布式服务状态检测器;
(2)选取任意一个安装有分布式服务状态检测器的分布式服务为根节点服务,并在该根节点服务注册其它分布式服务的信息;
(3)根节点服务根据注册的其它分布式服务的信息,生成服务树模型;
(4)根节点服务发布服务树模型给子节点服务;
(5)子节点服务接收到上级节点发布的服务树模型,解析模型并更新服务注册信息,如果还有子节点,则发布服务树模型给子节点,如果没有子节点,则执行下一步骤;
(6)各分布式服务节点定期采集当前服务器的基本信息并向子节点获取服务状态信息,如果获取成功则更新服务状态数据,如果获取失败,则解析模型判断是否有下级节点,如果有则再向下一级获取孙节点的服务状态信息,直到获取状态成功或者已无下级节点。
进一步地,所述步骤(6)中所述各节点定期采集当前服务器的基本信息包括CPU使用率、硬盘使用率、网络使用率和内存利用率。
进一步地,所述步骤(6)中如果分布式应用服务有自定义接口,则各节点定期调用接口并获取应用服务详细信息。
本发明的有益效果是:
本发明的分布式服务状态检测器使用树形结构的多级监视方式,将服务监视过程分散到各个分布式服务节点上,可以对分布在不同网络环境中的分布式服务实现统一监视,运用分布式监视和分布式存储提高了服务监视的效率、有效的减小了监视服务器的负载;此外,该检测器易于安装和部署,既可以独立安装运行到服务器上,监视服务器的运行状态,也可以通过接口实现的方式与应用服务集成,获取更详细的服务状态信息。
本发明的分布式服务状态检测方法具有如下优点:
1.状态分布式监视,把状态监视过程分担到各个服务节点中,通过任何一个正常运行的节点,都能获取到所有子节点的信息,提高了服务监视的效率、有效的减小了监视服务器的负载;
2.数据分布式存储,以往的分布式系统服务运行状态,只存储在监控服务器中,数据的管理和展示都是在监控服务器中进行。而采用数据分布式存储,将监控数据存储在各个分布式节点中,监控服务器可以向任何一个节点获取到整个分布式节点内所有服务的状态,便于状态信息获取和展示;
3.把服务检测程序与应用服务程序有效的解耦,易于安装和部署,易于与应用服务集成;
4.采用树服务模型分级检测的实现方法,可以检测不同网络段的服务状态,有效解决了以往用一台监控服务器统一监控所有分布式系统状态要求所有服务必须在同一网络环境的问题。
附图说明
图1为本发明服务状态检测器结构示意图;
图2为本发明服务状态检测方法流程图。
具体实施方式:
下面结合附图与实例对本发明做进一步说明:
参照图1,本发明的一种分布式服务状态检测器,包括主服务部分和端服务部分,他们统一部署和安装到应用服务器上;所述主服务部分主要用于当前节点及其所有子节点的服务状态信息管理和服务树模型管理,所述端服务部分主要用于采集服务器基本信息和获取应用服务自定义接口信息。
其中,所述主服务部分主要由服务信息注册组件、服务状态数据管理组件、服务树模型管理组件、通信组件四个组件组成:
所述服务信息注册组件,用来存储当前节点服务及所有子节点服务的基本信息,如IP地址、监视端口号等,可采用手工注册和模型树注册两种方式,手工注册多在根节点服务信息注册时候使用,模型树注册是在根节点发布注册信息后子节点根据接收的服务信息模型自动注册;
所述服务状态数据管理组件,用来管理服务树模型中当前节点和所有子节点的服务状态信息,包括服务状态存储、服务状态获取和更新、服务状态查询读取;
所述服务树模型管理组件,用来构建服务树模型和解析服务树模型并对服务模型的拓扑进行搜索;
所述通信组件,用于各个节点中的服务状态检测器之间的数据传输。
其中,所述端服务部分主要由服务状态信息采集组件和自定义接口组件组成,所述服务状态信息采集组件,主要用于采集当前节点所在服务器的基本信息,包括CPU使用率、硬盘使用率、网络使用率、内存利用率,实现对服务器软硬件层面的状态监视;自定义接口组件,用于与分布式应用服务集成,当人们需要看到应用服务层面的状态信息、异常信息、启动停止等事件记录,可以通过实现状态检测器提供的接口,实现对应用服务层面的状态监视。
分布式服务状态检测器采用树形数据结构,对服务状态进行逐级监视,树中每个节点监视它所有子节点的状态信息,对于一般的有N个节点服务的二叉树来说,最优的情况只需要获取两次,就能得到所有分布式系统的服务状态信息,最坏情况下,需要调用N次来获取服务状态信息。
进一步参照图2,分布式服务状态检测方法的工作流程如下:
1)为每个需要监视的分布式服务安装分布式服务状态检测器;此处分布式服务指的是我们要检测它的状态的服务,它们是分布式部署的,所以此处称为分布式服务,实际指的就是服务器。
2)选取任意一个安装有分布式服务状态检测器的分布式服务为根节点服务,并在该根节点服务注册其它分布式服务的信息;此处其他分布式服务指的是部署在其他地方,但是也需要统一监测和管理的服务器;只要选取了一个根结点服务,其他的分布式服务信息以普通列表方式添加,它们就会生成服务树模型。
3)根节点服务根据注册的其它分布式服务信息,生成服务树模型;
4)根节点服务发布服务树模型给子节点服务;
5)子节点服务接收到上级节点发布的服务树模型,解析模型并更新服务注册信息,如果还有子节点,则发布服务树模型给子节点,如果没有子节点,则执行下一步骤;
子节点收到上级节点的树模型后,解析模型就是把模型的内容读取出来,更新服务注册信息就是把模型读出的来内容写到数据文件中也就是注册表中,以后会根据数据文件中的信息去获取服务的状态并保存这些状态。
比如我们选取了A服务作为根节点,然后在上面人工注册了B、C、D服务,然后A服务生成树模型,此处以每个服务只有一个子节点为列,生成模型A->B->C->D,A是B的父节点,B是C的父节点,C是D的父节点,然后A根据注册时候的地址信息发布模型给子节点B,模型中包含了B、C、D的所有注册的信息,B收到后解析模型,然后把B、C、D的注册信息更新到注册表中,根据解析模型B知道子节点是C,然后将C及它的所有子节点既C、D的注册信息再以模型的方式发布给C,C接收到信息后按B的方式类推,直到所有的子节点都发布更新完;
发布完后每个节点定期获取服务状态信息,同时获取子节点信息,D定期更新信息并存入信息表中,C向D获取信息,并把C、D信息存入信息表中、B向C获取C、D的信息,并将B、C、D信息存入信息表,A向B获取B、C、D的信息,并将A、B、C、D信息存入信息表。
6)各节点定期采集当前服务器的基本信息,包括CPU使用率、硬盘使用率、网络使用率、内存利用率,如果应用服务有实现自定义接口,则调用接口获取应用服务详细信息;各节点同时向子节点获取服务状态信息,包括:CPU使用率、硬盘使用率、网络使用率、内存利用率;如果获取成功则更新服务状态数据,如果获取失败,则解析模型判断是否有下级节点,如果有则再向下一级获取孙节点的服务状态信息,直到获取状态成功或者已无下级节点。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (7)

1.一种分布式服务状态检测器,其特征是,包括:主服务部分和端服务部分;所述主服务部分和端服务部分通信;所述主服务部分用于当前节点及其所有子节点的服务状态信息管理和服务树模型管理,所述端服务部分用于采集当前节点所在服务器的基本信息,获取应用服务自定义接口信息;
所述主服务部分包括:服务信息注册组件、服务状态数据管理组件、服务树模型管理组件和通信组件;
其中:
所述服务信息注册组件,用来存储当前节点服务及所有子节点服务的基本信息;
所述服务状态数据管理组件,用来管理服务树模型中当前节点和所有子节点的服务状态信息;
所述服务树模型管理组件,用来构建服务树模型和解析服务树模型并对服务模型的拓扑进行搜索;
所述通信组件,用于各个分布式服务节点中的服务状态检测器之间的数据传输;
分布式服务状态检测器独立安装运行到各分布式服务器上,监视分布式服务器的运行状态;或者通过接口实现的方式与分布式应用服务集成,获取更详细的服务状态信息;
分布式服务状态检测器采用树形数据结构,对服务状态进行逐级监视,树中每个节点监视它所有子节点的状态信息;
将监控数据存储在各个分布式节点中,分布式服务器能够向任何一个节点获取到整个分布式节点内所有服务的状态,便于状态信息获取和展示。
2.如权利要求1所述的一种分布式服务状态检测器,其特征是,所述服务信息注册组件采用手工注册和模型树注册两种方式,其中,手工注册用于根节点服务信息注册,模型树注册用于根节点发布注册信息后子节点根据接收的服务信息模型自动注册。
3.如权利要求1所述的一种分布式服务状态检测器,其特征是,所述端服务部分包括:服务状态信息采集组件和自定义接口组件;
其中,所述服务状态信息采集组件用于采集当前节点所在服务器的基本信息,所述自定义接口组件用于与分布式应用服务集成,通过自定义接口,实现对分布式应用服务的状态监视。
4.如权利要求3所述的一种分布式服务状态检测器,其特征是,所述当前节点所在服务器的基本信息包括:CPU使用率、硬盘使用率、网络使用率和内存利用率。
5.一种分布式服务状态检测方法,其特征是,包括以下步骤:
(1)为每个需要监视的分布式服务安装权利要求1-4所述的任一分布式服务状态检测器;
(2)选取任意一个安装有分布式服务状态检测器的分布式服务为根节点服务,并在该根节点服务注册其它分布式服务的信息作为子节点服务;
(3)根节点服务根据注册的其它分布式服务的信息,生成服务树模型;
(4)根节点服务发布服务树模型给子节点服务;
(5)子节点服务接收到上级节点发布的服务树模型,解析模型并更新服务注册信息,如果还有子节点,则发布服务树模型给子节点,如果没有子节点,则执行下一步骤;
子节点收到上级节点的树模型后,解析模型就是把模型的内容读取出来,更新服务注册信息就是把模型读出的来内容写到数据文件中也就是注册表中,以后会根据数据文件中的信息去获取服务的状态并保存这些状态;
(6)各分布式服务节点定期采集当前服务器的基本信息并向子节点获取服务状态信息,如果获取成功则更新服务状态数据,如果获取失败,则解析模型判断是否有下级节点,如果有则再向下一级获取孙节点的服务状态信息,直到获取状态成功或者已无下级节点。
6.如权利要求5所述的一种分布式服务状态检测方法,其特征是,所述步骤(6)中所述各节点定期采集当前服务器的基本信息包括CPU使用率、硬盘使用率、网络使用率和内存利用率。
7.如权利要求5所述的一种分布式服务状态检测方法,其特征是,所述步骤(6)中如果分布式应用服务有自定义接口,则各节点定期调用接口并获取应用服务详细信息。
CN201510741748.1A 2015-11-03 2015-11-03 一种分布式服务状态检测器及方法 Expired - Fee Related CN105429791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510741748.1A CN105429791B (zh) 2015-11-03 2015-11-03 一种分布式服务状态检测器及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510741748.1A CN105429791B (zh) 2015-11-03 2015-11-03 一种分布式服务状态检测器及方法

Publications (2)

Publication Number Publication Date
CN105429791A CN105429791A (zh) 2016-03-23
CN105429791B true CN105429791B (zh) 2016-12-28

Family

ID=55507742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510741748.1A Expired - Fee Related CN105429791B (zh) 2015-11-03 2015-11-03 一种分布式服务状态检测器及方法

Country Status (1)

Country Link
CN (1) CN105429791B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107769949B (zh) * 2016-08-19 2021-02-12 华为技术有限公司 一种应用组件部署方法及部署节点
CN107294766B (zh) * 2017-05-03 2020-09-22 上海上讯信息技术股份有限公司 一种集中管控的方法及系统
CN107277005A (zh) * 2017-06-13 2017-10-20 深圳市永达电子信息股份有限公司 一种分布式的业务流程检测方法
CN107888444A (zh) * 2017-09-29 2018-04-06 深圳市牛鼎丰科技有限公司 服务监控方法、服务监控装置、计算机设备和存储介质
CN109842637B (zh) * 2017-11-24 2021-09-07 武汉斗鱼网络科技有限公司 一种分布式服务注册方法及装置
CN110413403A (zh) * 2018-04-28 2019-11-05 武汉斗鱼网络科技有限公司 一种应用服务自主检控方法、存储介质、设备及系统
CN109117152B (zh) * 2018-07-26 2022-02-25 新华三大数据技术有限公司 服务生成系统及方法
CN109412886B (zh) * 2018-09-26 2020-05-05 北京文香信息技术有限公司 一种分布式录播系统及其通信检测方法、录播控制方法
CN109299178B (zh) * 2018-09-30 2020-01-14 北京九章云极科技有限公司 一种模型应用方法和数据分析系统
CN110365520B (zh) * 2019-06-14 2021-12-14 创新先进技术有限公司 分布式系统中节点的巡检方法、装置及设备
CN111010421A (zh) * 2019-11-14 2020-04-14 珠海许继芝电网自动化有限公司 泛在电力物联网分布式服务状态检测方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217354A (zh) * 2008-01-21 2008-07-09 中兴通讯股份有限公司 一种分布式系统中处理单元的选择方法
CN102710554A (zh) * 2012-06-25 2012-10-03 深圳中兴网信科技有限公司 分布式消息系统和分布式消息系统的服务状态检测方法
CN104539479A (zh) * 2014-12-16 2015-04-22 北京中交兴路车联网科技有限公司 一种分布式服务监控系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219232B (zh) * 2014-08-26 2017-05-10 浙江大学 一种块式分布式文件系统的文件安全控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217354A (zh) * 2008-01-21 2008-07-09 中兴通讯股份有限公司 一种分布式系统中处理单元的选择方法
CN102710554A (zh) * 2012-06-25 2012-10-03 深圳中兴网信科技有限公司 分布式消息系统和分布式消息系统的服务状态检测方法
CN104539479A (zh) * 2014-12-16 2015-04-22 北京中交兴路车联网科技有限公司 一种分布式服务监控系统及方法

Also Published As

Publication number Publication date
CN105429791A (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
CN105429791B (zh) 一种分布式服务状态检测器及方法
CN106412113B (zh) 一种能源云服务系统及其通信方法
US8935612B2 (en) Data replication tracing
CN109086894A (zh) 一种面向区域发电公司的报警消息中心系统
CN104834582B (zh) 一种监控事件展示方法
EP1361761A1 (en) Telecommunications network management system and method for service monitoring
CN103856392A (zh) 消息推送方法及其外发服务器和外发服务器系统
US10810095B2 (en) Assigning network device subnets to perform network activities using network device information
CN102571417A (zh) 动态拓扑的实现方法
CN106789157B (zh) 堆叠系统及堆叠交换机的硬件资源管理方法
JP2014528126A (ja) 複数のターゲットへのマルチソースプッシュ通知の分配
US8566437B2 (en) Systems and methods for improved multisite management of converged communication systems and computer systems
CN106385334B (zh) 呼叫中心系统及其异常检测及自恢复方法
US8346905B2 (en) Systems and methods for improved multisite management and reporting of converged communication systems and computer systems
CN102354296A (zh) 一种可扩展监控资源的监控系统和方法
US10122602B1 (en) Distributed system infrastructure testing
CN109495528A (zh) 分布式锁所有权调度方法和装置
US20190207805A1 (en) Node fault isolation
Rathore et al. Maintaining SmartX multi‐view visibility for OF@ TEIN+ distributed cloud‐native edge boxes
US9270735B2 (en) Systems and methods for improved multisite management and reporting of converged communication systems and computer systems
CN108089968A (zh) 一种宿主机监控虚拟机数据库状态的方法
CN111861384A (zh) 多种工作流引擎设计方法、装置及介质
CN105871659A (zh) 新增服务器的监控方法及装置
WO2016091141A1 (zh) 信息采集方法及装置
CN108154343B (zh) 一种企业级信息系统的应急处理方法及系统

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161228

Termination date: 20171103

CF01 Termination of patent right due to non-payment of annual fee