CN106254540A - 一种适用于分布式系统的节点服务监控系统及实现方法 - Google Patents

一种适用于分布式系统的节点服务监控系统及实现方法 Download PDF

Info

Publication number
CN106254540A
CN106254540A CN201610850442.4A CN201610850442A CN106254540A CN 106254540 A CN106254540 A CN 106254540A CN 201610850442 A CN201610850442 A CN 201610850442A CN 106254540 A CN106254540 A CN 106254540A
Authority
CN
China
Prior art keywords
node
node serve
information
module
service
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.)
Granted
Application number
CN201610850442.4A
Other languages
English (en)
Other versions
CN106254540B (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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology 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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201610850442.4A priority Critical patent/CN106254540B/zh
Publication of CN106254540A publication Critical patent/CN106254540A/zh
Application granted granted Critical
Publication of CN106254540B publication Critical patent/CN106254540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

本发明涉及分布式系统和监控技术领域,特别是一种适用于分布式系统的节点服务监控系统及实现方法。本发明系统包括服务控制器和节点服务两大模块,节点服务模块分布在各个分布式节点,服务启动时读取配置文件并定时上报服务信息到所述服务控制器模块。服务控制器模块进一步包括通信子模块、定时器子模块、内存缓存和数据库子模块。通信子模块接受各节点服务的状态汇报并保存在内存缓存;定时器子模块读取并过滤内存缓存中的节点服务信息,调用数据库子模块读取数据库中节点服务状态信息;然后,同步内存缓存和数据库节点服务信息。本发明提出了一种通用的监控分布式系统中各个分布式节点服务状态的方法及系统,保证了分布式节点服务状态的实时性和准确性。

Description

一种适用于分布式系统的节点服务监控系统及实现方法
技术领域
本发明涉及分布式系统和监控技术领域,特别是一种适用于分布式系统的节点服务监控系统及实现方法。
背景技术
分布式系统实现过程中,经常需要对各个分布式节点服务进行状态监控管理,以确保系统能够实时的掌握各个节点服务的运行情况,保证服务控制器能够将请求正确的转发到各个正常的节点服务进行处理。目前通常的监控方法为:监控端定时向各个被监控端发送网络包,通过节点服务的响应情况来判断各个服务的状态信息,然后更新到数据库进行保存。这种方法可行但是存在如下弊端:
1、监控数据量大。每个定时周期内,监控端和所有被监控端之间需要至少两次数据通信才能实现状态的实时更新。
2、数据库操作频繁。没有内存缓存机制带来所有数据都必须经过数据库操作才能获取,并且需要针对每一条数据库记录进行相应的轮询判断处理。
3、监控数据信息不对称。网络通信的延迟以及数据库操作的大负载很容易引起分布式节点服务的状态更新不及时,出现信息不对称现象。
发明内容
本发明解决的技术问题之一在于提出了一种适用于分布式系统的节点服务监控系统,保证了分布式节点服务状态的实时性和准确性。
本发明解决的技术问题之二在于提出了一种适用于分布式系统的节点服务监控方法,保证了分布式节点服务状态的实时性和准确性。
本发明解决上述技术问题之一的技术方案是:
所述的系统包括服务控制器模块和节点服务两大模块;
所述节点服务模块分布在各个分布式节点,服务启动时读取配置文件并定时上报节点服务信息到所述服务控制器模块;
所述服务控制器模块进一步包括通信子模块、定时器子模块、内存缓存和数据库子模块;
所述通信子模块负责与所述节点服务模块通信,接受各节点服务的信息汇报并保存到内存缓存;
所述的内存缓存是指服务控制器在系统内存中开辟了一块内存空间,用以存放各个节点服务信息的结构化数据;
所述的定时器子模块读取并过滤内存缓存中的节点服务信息,调用数据库子模块读取数据库中节点服务状态信息;然后,同步内存缓存和数据库节点服务信息;
所述的数据库子模块负责数据库操作,包括:数据库对应表中节点服务信息的写入、读取和更新。
所述配置文件包括有服务控制器所在节点的主机名和通信服务IP地址。
所述的结构化数据是指包括节点名称和节点对象的结构数据;所述的节点对象进一步包括节点名称、节点IP、节点服务注册时间、节点服务更新时间、节点服务状态更新次数。
本发明解决上述技术问题之二的技术方案是:
所述的方法包括如下步骤:
(1)节点服务启动时读取配置文件并定时上报节点服务信息到所述服务控制器模块;
(2)通信子模块接受各节点服务的信息汇报并保存在内存缓存;
(3)控制定时器子模块读取并过滤内存缓存中的节点服务信息;
(4)控制定时器子模块调用数据库子模块读取数据库中节点服务信息;
(5)控制定时器子模块同步内存缓存和数据库节点服务信息。
所述的过滤内存缓存中的节点服务信息具体包括:
依次读取内存缓存中保存的各个节点服务信息;
判断节点服务更新时间与当前时间的差值是否满足服务更新超时时间;
移除服务更新超时的节点服务。
所述定时器子模块作为服务控制器模块中启动的一个定时线程,实现节点服务信息的读取、调用、同步。
由数据库子模块负责数据库操作,具体包括:
将节点服务信息写入数据库对应表中保存;
从数据库对应表中读取节点服务信息数据;
更新数据库对应表中的节点服务信息。
所述的同步内存缓存与数据库节点服务信息是指将过滤后的节点服务进一步与数据库中的节点服务信息进行同步,具体包括:
内存缓存有,数据库没有的,需要新增和修改为节点服务为连接状态;
数据库有,内存缓存没有的,需要修改为节点服务为失去连接状态。
本发明方案的有益效果如下:
1、本发明提供一种适用于分布式系统的节点服务监控方法,可以保证对分布式系统中分布式节点服务状态的实时性和准确性监控。
2、本发明的方法具有轻量级性和通用性,可以快速的集成到已存在的分布式系统服务中;避免了采用开源监控工具或者缓存工具所带来的复杂性。
3、本发明提供的服务监控方法架构更新颖。采用了一种逆向思维监控实现方法,被监控端主动汇报状态信息到监控端,监控端只需要定时维护本地内存缓存数据和数据库的同步即可;并且在同步的过程中采用先对缓存过滤后与数据库同步的方法来提高同步效率。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
图2为本发明的架构图。
具体实施方式
本发明提出一种逆向的思维方法,采用被监控端主动定时向监控服务端汇报节点服务状态的形式,监控服务端通过内存缓存各节点上报的服务信息,然后利用定时线程并执行先过滤内存缓存内容、后同步数据库数据的方法来实现分布式系统中节点服务监控的实时性和正确性。
请参见图1、2,为本发明实施例所提供的一种适用于分布式系统的节点服务监控方法流程图。下面分别对其各个流程具体实现进行描述。
首先节点服务模块配置文件部分如下:
[root@gcloud51108~]#cat/etc/gcloud-appdeploy-node.cfg
#gcloud日志输出配置,debug是开发模式,release是生产模式
LOG_PROPERTIES=debug
#配置应用服务控制器节点名字
CONTROLLER_HOSTNAME=gcloud5161
#RabbitMq服务端通信IP
RABBITMQ_SERVER_IP=20.251.51.61
……
节点服务模块和服务控制器模块通信过程中共同使用的节点服务信息元数据结构定义:
服务控制器模块定义节点信息管理类,采用单例模式,节点服务信息都缓存在此单例对象中:
服务控制器模块的通信子模块主要负责与各个节点的通信,并将接受到的节点信息进行注册,保存到内存缓存中,具体定义如下:
接着定义本发明最重要的服务控制器定时器子模块:
以上描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出实质性创造所获得的方案,都属于本发明保护的范围。

Claims (10)

1.一种适用于分布式系统的节点服务监控系统,其特征在于,所述的系统包括服务控制器模块和节点服务两大模块;
所述节点服务模块分布在各个分布式节点,服务启动时读取配置文件并定时上报节点服务信息到所述服务控制器模块;
所述服务控制器模块进一步包括通信子模块、定时器子模块、内存缓存和数据库子模块;
所述通信子模块负责与所述节点服务模块通信,接受各节点服务的信息汇报并保存到内存缓存;
所述的内存缓存是指服务控制器在系统内存中开辟了一块内存空间,用以存放各个节点服务信息的结构化数据;
所述的定时器子模块读取并过滤内存缓存中的节点服务信息,调用数据库子模块读取数据库中节点服务状态信息;然后,同步内存缓存和数据库节点服务信息;
所述的数据库子模块负责数据库操作,包括:数据库对应表中节点服务信息的写入、读取和更新。
2.根据权利要求1所述的系统,其特征在于,所述配置文件包括有服务控制器所在节点的主机名和通信服务IP地址。
3.根据权利要求1或2所述的系统,其特征在于,所述的结构化数据是指包括节点名称和节点对象的结构数据;所述的节点对象进一步包括节点名称、节点IP、节点服务注册时间、节点服务更新时间、节点服务状态更新次数。
4.一种权利要求1-3任一项适用于分布式系统的节点服务监控系统的实现方法,其特征在于,所述的方法包括如下步骤:
(1)节点服务启动时读取配置文件并定时上报节点服务信息到所述服务控制器模块;
(2)通信子模块接受各节点服务的信息汇报并保存在内存缓存;
(3)控制定时器子模块读取并过滤内存缓存中的节点服务信息;
(4)控制定时器子模块调用数据库子模块读取数据库中节点服务信息;
(5)控制定时器子模块同步内存缓存和数据库节点服务信息。
5.根据权利要求4所述的方法,其特征在于,所述的过滤内存缓存中的节点服务信息具体包括:
依次读取内存缓存中保存的各个节点服务信息;
判断节点服务更新时间与当前时间的差值是否满足服务更新超时时间;
移除服务更新超时的节点服务。
6.根据权利要求4所述的方法,其特征在于,所述定时器子模块作为服务控制器模块中启动的一个定时线程,实现节点服务信息的读取、调用、同步。
7.根据权利要求5所述的方法,其特征在于,所述定时器子模块作为服务控制器模块中启动的一个定时线程,实现节点服务信息的读取、调用、同步。
8.根据权利要求4-7任一项所述的方法,其特征在于,由数据库子模块负责数据库操作,具体包括:
将节点服务信息写入数据库对应表中保存;
从数据库对应表中读取节点服务信息数据;
更新数据库对应表中的节点服务信息。
9.根据权利要求4-7任一项所述的方法,其特征在于,所述的同步内存缓存与数据库节点服务信息是指将过滤后的节点服务进一步与数据库中的节点服务信息进行同步,具体包括:
内存缓存有,数据库没有的,需要新增和修改为节点服务为连接状态;
数据库有,内存缓存没有的,需要修改为节点服务为失去连接状态。
10.根据权利要求8所述的方法,其特征在于,所述的同步内存缓存与数据库节点服务信息是指将过滤后的节点服务进一步与数据库中的节点服务信息进行同步,具体包括:
内存缓存有,数据库没有的,需要新增和修改为节点服务为连接状态;
数据库有,内存缓存没有的,需要修改为节点服务为失去连接状态。
CN201610850442.4A 2016-09-26 2016-09-26 一种适用于分布式系统的节点服务监控系统及实现方法 Active CN106254540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610850442.4A CN106254540B (zh) 2016-09-26 2016-09-26 一种适用于分布式系统的节点服务监控系统及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610850442.4A CN106254540B (zh) 2016-09-26 2016-09-26 一种适用于分布式系统的节点服务监控系统及实现方法

Publications (2)

Publication Number Publication Date
CN106254540A true CN106254540A (zh) 2016-12-21
CN106254540B CN106254540B (zh) 2019-11-15

Family

ID=57611840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610850442.4A Active CN106254540B (zh) 2016-09-26 2016-09-26 一种适用于分布式系统的节点服务监控系统及实现方法

Country Status (1)

Country Link
CN (1) CN106254540B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928633A (zh) * 2018-09-19 2020-03-27 北京国双科技有限公司 一种服务器连接状态的确定方法及装置
CN107451254B (zh) * 2017-07-31 2020-08-07 广州市食蚁兽网络技术有限公司 一种生成数据库表数据唯一标识的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201462A1 (en) * 2007-02-15 2008-08-21 Tyco Telecommunications (Us) Inc. Distributed Network Management System and Method
CN101493826A (zh) * 2008-12-23 2009-07-29 中兴通讯股份有限公司 基于web应用的数据库系统及其数据管理方法
CN101511098A (zh) * 2009-02-10 2009-08-19 中兴通讯股份有限公司 一种分布式网元任务管理系统及方法
CN104657435A (zh) * 2015-01-30 2015-05-27 杭州华三通信技术有限公司 一种应用数据的存储管理方法和网络管理系统
CN105959130A (zh) * 2016-04-13 2016-09-21 乐视控股(北京)有限公司 一种基于大数据运维的监控方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201462A1 (en) * 2007-02-15 2008-08-21 Tyco Telecommunications (Us) Inc. Distributed Network Management System and Method
CN101493826A (zh) * 2008-12-23 2009-07-29 中兴通讯股份有限公司 基于web应用的数据库系统及其数据管理方法
CN101511098A (zh) * 2009-02-10 2009-08-19 中兴通讯股份有限公司 一种分布式网元任务管理系统及方法
CN104657435A (zh) * 2015-01-30 2015-05-27 杭州华三通信技术有限公司 一种应用数据的存储管理方法和网络管理系统
CN105959130A (zh) * 2016-04-13 2016-09-21 乐视控股(北京)有限公司 一种基于大数据运维的监控方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107451254B (zh) * 2017-07-31 2020-08-07 广州市食蚁兽网络技术有限公司 一种生成数据库表数据唯一标识的方法
CN110928633A (zh) * 2018-09-19 2020-03-27 北京国双科技有限公司 一种服务器连接状态的确定方法及装置

Also Published As

Publication number Publication date
CN106254540B (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN103699580B (zh) 数据库同步方法及装置
CN111277672A (zh) 一种基于非阻塞输入输出模型的能源物联网数据采集方法和软件网关
AT512528B1 (de) Verfahren und Apparat zur Vermittlung von zeitgesteuerten und ereignisgesteuerten Nachrichten
CN103617098B (zh) 基于数据变化的智能备份方法及智能备份系统
CN108173959A (zh) 一种集群存储系统
CN106933693A (zh) 一种数据库集群节点故障自动修复方法及系统
CN102508886B (zh) 一种基于xml的空间数据增量同步更新方法
CN106302596A (zh) 一种服务发现的方法和装置
CN103399888B (zh) 电网模型数据的差分同步方法及系统
CN101997714A (zh) 时间处理方法、装置和系统
CN106992886A (zh) 一种基于分布式存储的日志分析方法及装置
CN110704400A (zh) 实时数据同步方法以及装置、服务器
CN107179977B (zh) 基于mpm模型的数据库全自动监控系统
CN107368583A (zh) 一种多集群信息查询的方法及系统
CN107357681A (zh) 基于salt的Zookeeper备份管理系统及方法
CN104933495A (zh) 基于Android的移动终端上的工作任务考核系统
CN108599992A (zh) 一种数据处理系统及方法
CN104168326A (zh) 一种服务器均衡负载的方法及系统
CN106254540A (zh) 一种适用于分布式系统的节点服务监控系统及实现方法
CN110493140A (zh) 信息网络系统中链路事件的感知方法及其运行系统
CN102811152A (zh) 一种多主总线网络通讯实时交易数据交换实现方法
CN107463490A (zh) 一种应用于平台开发中的集群日志集中收集方法
CN110213359A (zh) 一种基于d2d的车联网组网数据推送系统和方法
CN113342826A (zh) 一种对不同数据采集引擎的数据操作进行统一管理的方法、存储介质及系统
CN103973466B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant after: G-Cloud Technology Co., Ltd.

Address before: 523808 Guangdong province Dongguan City Songshan Lake Science and Technology Industrial Park Building No. 14 Keyuan pine

Applicant before: G-Cloud Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant