CN110808874B - 一种跨机房服务监控方法、装置、存储介质及服务器 - Google Patents
一种跨机房服务监控方法、装置、存储介质及服务器 Download PDFInfo
- Publication number
- CN110808874B CN110808874B CN201911024696.0A CN201911024696A CN110808874B CN 110808874 B CN110808874 B CN 110808874B CN 201911024696 A CN201911024696 A CN 201911024696A CN 110808874 B CN110808874 B CN 110808874B
- Authority
- CN
- China
- Prior art keywords
- message
- server
- sending
- heartbeat
- 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.)
- Expired - Fee Related
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 163
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000004044 response Effects 0.000 claims description 31
- 238000001514 detection method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 abstract description 9
- 238000012806 monitoring device Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种跨机房服务监控方法、装置、存储介质及服务器,其中,方法包括:向跨机房的消息服务器发送第一信息拉取请求,以使消息服务器基于第一信息拉取请求反馈消息队列中的第一心跳消息,所述消息队列包括业务服务器集群周期性发送的至少一个心跳消息,当在预设时长内未接收到第一心跳消息时,向消息服务器发送第二信息拉取请求,当在所述预设时长内接收到消息服务器基于第二信息拉取请求反馈的第一心跳消息时,确定业务服务器集群中第一心跳消息对应的业务服务器的服务状态为正常状态。采用本申请实施例,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种跨机房服务监控方法、装置、存储介质及服务器。
背景技术
为满足服务需要,在一些业务节点会采用服务器集群的方式进行部署,例如:在不同地点部署一个或多个机房,每个机房由至少一台业务服务器构成。当业务服务器在不同城市或不同站点进行部署以后,就需要考虑跨机房的服务监控,以便在监测到跨机房的业务服务器发生故障时,采取措施以保障用户服务。
在跨机房的服务监控中,通常由发送端(某一机房业务服务器)定时向接收端(跨机房的业务服务器)发送心跳消息,接收端接收到心跳消息之后会反馈响应消息,当发送端在响应时长内接收到该响应消息,即确认与接收端间的服务状态正常。
目前,在发送端发送心跳消息或接收响应消息的过程中,可能会遇到网络抖动而丢失心跳消息或响应消息,进而导致发送端在响应时长内接收不到响应消息,此时,发送端会再次发送心跳消息,以等待接收端反馈的响应消息。然而,发送端发送心跳消息的次数通常是固定的,当在固定的次数内均出现网络抖动,就会造成发送端在每次发送心跳消息之后无法在响应时长内接收到响应消息,从而误判接收端出现故障,导致跨机房监控结果的准确率较低。
发明内容
本申请实施例提供了一种跨机房服务监控方法、装置、存储介质及服务器,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。所述技术方案如下:
第一方面,本申请实施例提供了一种跨机房服务监控方法,所述方法包括:
向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息,所述消息队列包括业务服务器集群周期性发送的至少一个心跳消息;
当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送第二信息拉取请求;
当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。
第二方面,本申请实施例提供了一种跨机房服务监控装置,所述装置包括:
第一请求发送模块,用于向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息,所述消息队列包括业务服务器集群周期性发送的至少一个心跳消息;
第二请求发送模块,用于当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送第二信息拉取请求;
服务状态确定模块,用于当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,监控服务器在预设时长内拉取跨机房的消息服务器上消息队列中的第一心跳消息失败时,监控服务器发送第二信息拉取请求,当在所述预设时长内接收到消息服务器基于第二信息拉取请求反馈的第一心跳消息即确定第一心跳消息对应的业务服务器的服务状态为正常状态,可以避免网络抖动造成监控服务器的误判,同时,跨机房的消息服务器将同一机房的业务服务器发送的心跳消息存储在消息队列中,可以避免在固定重发次数内因为网络抖动造成心跳消息丢失的情况,监控服务器在发送第二信息拉取请求之后,网络抖动恢复即可消费到跨机房的消息服务器上消息队列中的至少一个心跳消息,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种跨机房服务监控的场景架构示意图;
图2是本申请实施例提供的一种跨机房服务监控方法的流程示意图;
图3是本申请实施例提供的另一种跨机房服务监控方法的流程示意图;
图4是本申请实施例提供的一种跨机房服务监控装置的结构示意图;
图5是本申请实施例提供的一种第二请求发送模块的结构示意图;
图6是本申请实施例提供的另一种跨机房服务监控装置的结构示意图;
图7是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合具体的实施例对本申请进行详细说明。
请参见图1,为本申请实施例提供的一种跨机房服务监控系统的场景示意图。如图1所示,所述跨机房服务监控系统可以包括A机房中的消息服务器100、监控服务器110和业务服务器集群、B机房中的消息服务器200、监控服务器210和业务服务器集群。所述业务服务器集群可以包括多个业务服务器,如图1所示,具体包括业务服务器1、业务服务器2、…、业务服务器n,n为大于0的整数;需要说明的是,本申请实施例中提及的跨机房服务监控系统可以适用于多个机房的场景,为便于理解,本发明实施例以图1中的A机房中的消息服务器100、A机房中的业务服务器集群以及B机房中的监控服务器210为例进行描述。
所述消息服务器100、监控服务器210、和业务服务器集群可以是单独的服务器设备,例如:机架式、刀片、塔式、或者机柜式的服务器设备,或采用工作站、大型计算机等具备较强计算能力硬件设备;也可以是采用多个服务器组成的服务器集群,所述服务集群中的各服务器可以是以对称方式组成的,其中每台服务器在业务链路中功能等价、地位等价,各服务器均可单独对外提供服务,所述单独提供服务可以理解为无需另外的服务器的辅助。
上述各服务器之间通过网络进行通信,网络可以是无线网络,也可以是有线网络,无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是其它任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan AreaNetwork,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure SocketLayer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(VirtualPrivate Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
消息服务器100接收处于同一机房-A机房的业务服务器集群周期性发送的至少一个心跳消息,将所述至少一个心跳消息保存至消息队列中。
所述心跳消息是指业务服务器和跨机房的监测服务器间通知对方设备状态的探测数据,所述探测数据可以是自定义的结构体(代码、字符串、命令字等),发送心跳消息可以确定当前通信连接服务是否正常,业务服务器通常需要基于预设心跳消息发送规则按照一定时间间隔发送心跳包,而接收心跳消息的一方则检测是否按时收到心跳消息,并以此判断连接是否正常。心跳消息通常为很小的探测数据包,通常是在逻辑层发送一个只包含包头的空包来实现。
所述消息服务器100搭载有消息队列服务,所述消息队列是一种应用程序对应应用程序之间传输消息的通道,搭载消息队列服务的消息服务器100将与所述消息服务器100处于同一机房的业务服务器集群周期性发送的至少一个心跳消息写入消息队列中,监控服务器210搭载有消息队列服务对应的消息监测服务,监控服务器210可以通过消息监测服务拉取消息服务器100上消息队列中的心跳消息,消息服务器100上的消息队列服务通过写入和检索出入列队上针对监控服务器210的对应的数据(消息)来通信。常见消息队列服务有rabbitmq,rocketmq,kafka等。
监控服务器210向跨机房-A机房的消息服务器100发送第一信息拉取请求,所述第一信息拉取请求用于获取消息服务器100上消息队列中的目标心跳消息。消息服务器100基于所述第一信息拉取请求反馈消息队列中的第一心跳消息至监控服务器210。
当在预设时长内监控服务器210未接收到所述第一心跳消息时,监控服务器210向消息服务器100发送网络抖动检测请求。
所述预设时长是指预设的监控服务器210接收第一心跳消息的时长,通过监测在该时长内是否接收到所述第一心跳消息,以此判断跨机房的业务服务器的服务状态是否为正常状态。
其中,在消息服务器100基于所述第一信息拉取请求反馈消息队列中的第一心跳消息的过程中,监控服务器210在接收并消费该第一心跳消息之后,会向消息服务器100发送一个确认消费消息,消息服务器100接收到该确认消费消息之后,会在消息队列中将该第一心跳消息进行移除;当消息服务器100在发送第一心跳消息至监控服务器210的过程中,出现网络抖动,就会导致监控服务器210无法接收并消费该第一心跳消息,即消息服务器100在预设接收周期内无法接收到该确认消费消息,此时消息服务器100不会将该第一心跳消息进行移除,待下次接收到监控服务器210的消息拉取请求时,将该第一心跳消息发送至监控服务器210。
当接收到所述消息服务器100基于所述网络抖动检测请求反馈的响应消息时,监控服务器210确定所述网络抖动恢复正常。
监控服务器210获取所述消息服务器100的消息发送周期,并获取所述第一信息拉取请求对应的第一发送时间,监控服务器210基于所述消息发送周期以及所述第一发送时间,向所述消息服务器100发送至少包括所述第一心跳消息的第二信息拉取请求。
消息服务器100接收并获取所述第二信息拉取请求的第二发送时间并在所述消息发送周期小于所述第一发送时间以及所述第二发送时间之间的时间差时反馈所述第一心跳消息以及所述消息队列中的第二心跳消息至监控服务器210,所述第一心跳消息与所述第二心跳消息不同。
当在所述预设时长内监控服务器210接收到所述消息服务器100基于所述第二信息拉取请求发送的所述第一心跳消息以及所述第二心跳消息时,监控服务器210确定与A机房中的所述业务服务器集群中所述第一心跳消息指示的业务服务器的服务状态以及所述第二心跳消息指示的业务服务器的服务状态均为正常状态。
在本申请实施例中,监控服务器在预设时长内拉取跨机房的消息服务器上消息队列中的第一心跳消息失败时,监控服务器发送第二信息拉取请求,当在所述预设时长内接收到消息服务器基于第二信息拉取请求反馈的第一心跳消息即确定第一心跳消息对应的业务服务器的服务状态为正常状态,可以避免网络抖动造成监控服务器的误判,同时,跨机房的消息服务器将同一机房的业务服务器发送的心跳消息存储在消息队列中,可以避免在固定重发次数内因为网络抖动造成心跳消息丢失的情况,监控服务器在发送第二信息拉取请求之后,网络抖动恢复即可消费到跨机房的消息服务器上消息队列中的至少一个心跳消息,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。
在一个实施例中,如图2所示,特提出了一种跨机房服务监控方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的跨机房服务监控装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
具体的,该跨机房服务监控方法包括:
步骤101:向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息。
所述消息队列包括与所述消息服务器处于同一机房的业务服务器集群周期性发送的至少一个心跳消息。
所述心跳消息是指业务服务器和跨机房的监测服务器间通知对方设备状态的探测数据,所述探测数据可以是自定义的结构体(代码、字符串、命令字等),发送心跳消息可以确定当前通信连接服务是否正常,业务服务器通常需要基于预设心跳消息发送规则按照一定时间间隔发送心跳包,而接收心跳消息的一方则检测是否按时收到心跳消息,并以此判断连接是否正常。心跳消息通常为很小的探测数据包,通常是在逻辑层发送一个只包含包头的空包来实现。
所述第一心跳消息可以理解为消息服务器当前时刻向跨机房的监控服务器发送的心跳消息。
所述第一信息拉取请求用于获取消息服务器上消息队列中的目标心跳消息。
具体的,消息服务器预先在接收到处于同一机房的业务服务器集群中各业务服务器周期性发送的至少一个心跳消息时,将所述至少一个心跳消息存储在消息队列中。通常消息队列具有多个消息分区或消息子队列,同一主题的业务消息或存储在同一消息分区或消息子队列中,所述同一主题可以理解为同一类型的业务消息,例如预警类型的业务消息、通讯类型的业务消息、心跳类型的业务消息等,在本实施例中所述第一信息拉取请求拉取的为心跳类型的业务消息。
在一种跨机房的服务器集群的场景中,第一机房的服务器集群中各业务服务器相隔一定周期(例如5分钟)将心跳消息发送至同一机房的消息服务器上,消息服务器将各业务服务器发送的心跳消息储存至第一消息队列中,第一机房的消息服务器可以定时将包含第一消息队列中各心跳消息的消息标识的消息标识列表推送至第二机房的监控服务器上。所述消息标识可以是id、特定的字符串、字母组合、数字等形式,第一机房的消息服务器在接收到各业务服务器发送的新心跳信息之后,可以向第二机房的监控服务器推送包含所述新心跳信息的消息标识的消息更新列表以对第二机房的监控服务器上的消息标识列表进行更新。
监控服务器基于所述消息标识列表,消费跨机房的消息服务器消息队列中的心跳消息,在实际应用中,监控服务器可以对当前的消息处理状态进行记录,所述消息处理状态可以是指当前监控服务器对跨机房的消息服务器上消息队列中心跳消息的处理完成状况。所述记录形式可以是通过设置消息偏移量(offset),监控服务器每消费一条来自跨机房的消息服务器消息队列中的心跳消息,即对消息偏移量(offset)进行一次更新,监控服务器在向跨机房的消息服务器发送第一信息拉取请求之前,查询所述消息偏移量(offset)中记录的信息,例如查询到消息偏移量(offset)记录显示已消费到跨机机房的消息服务器消息队列中的第4条心跳消息,此时监控服务器可以向跨机房的消息服务器发送第一信息拉取请求以拉取下一条心跳消息-第5条心跳消息,消息服务器在接收到第一信息拉取请求之后,对所述第一信息拉取请求进行解析,基于解析结果将消息队列中当前时刻待反馈的心跳消息,即第一心跳消息反馈至跨机房的监控服务器。
步骤102:当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送第二信息拉取请求。
所述预设时长是指预设的接收第一心跳消息的时长,通过监测在该时长内是否接收到所述第一心跳消息,以此判断跨机房的业务服务器的服务状态是否为正常状态。
所述第二信息拉取请求可以理解为重新发送的信息拉取请求,通过再次发送信息拉取请求重新拉取跨机房服务器上的消息队列中的心跳信息。
所述在预设时长内未接收到所述第一心跳消息可以理解为网络状态异常导致消息服务器没有在预设时长内反馈响应信息,所述状态异常可以是所述消息服务器的负载过大、消息传输通道堵塞、网络抖动等因数导致的。
具体的,监控服务器向跨机房的消息服务器发送第一信息拉取请求之后,监控服务器开启计时功能,所述计时功能可以是监控服务器基于计时任务分配的线程,通过该线程可以在发送第一信息拉取请求之后开始计时,监控服务器对接收到所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息对应的时间进行监测,当在预设时长内接收到所述第一心跳消息时,即确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。当在预设时长内未接收到所述第一心跳消息时,监控服务器向跨机房的消息服务器发送第二信息拉取请求。
可选的,在监控服务器与跨机房的消息服务器间进行通信时,可以是基于预设的通信架构预先建立监控服务器与跨机房的消息服务器间的通信连接,所述通信连接包含长连接类型、短连接类型等,同一连接类型连接包含有多种连接协议的连接,例如基于http1.0/1.1协议的长连接、基于Jetty Continuation实现的长连接、基于Servlet3实现的长连接、基于Websocket协议的长连接等,在本实施例中所述监控服务器与跨机房的消息服务器间的通信连接方式可以是上述中的一种或多种的拟合,此处不作具体限定。
步骤103:当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。
所述服务状态可以理解为通信服务状态,两两跨机房的服务器通过心跳消息来彼此监测跨机房的服务器的通信状态,当所述服务状态为正常状态时,两两跨机房的服务器可以正常通信。
具体的,监控服务器向跨机房的消息服务器发送第二信息拉取请求之后,监控服务器开启计时功能,所述计时功能可以是监控服务器基于计时任务分配的线程,通过该线程可以在发送第二信息拉取请求之后开始计时,监控服务器对接收到所述消息服务器基于所述第二信息拉取请求反馈消息队列中的第一心跳消息对应的时间进行监测,当在预设时长内接收到所述第一心跳消息时,即确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。
在一种跨机房的服务器集群的场景中,第一机房的服务器集群中各业务服务器相隔一定周期(例如3分钟)将心跳消息发送至同一机房的消息服务器上,消息服务器将各业务服务器发送的心跳消息储存至第一消息队列中,第一机房的消息服务器可以定时将包含第一消息队列中各心跳消息的消息标识的消息标识列表推送至第二机房的监控服务器上。通常在实际应用中,消息服务器可以对存放在消息队列中的各心跳消息进行全局化,分配一个全局id,该全局id可以用心跳消息在消息队列上的顺序标号来表示,能够表征各心跳消息在消息队列中的位置,例如,消息队列中的心跳消息所对应的队列序号按照从前往后可以是1、2、3...n,n为正整数。在跨机房的监控服务器可以对历史消费过的心跳消息的id进行记录,在发送第二心跳拉取请求之前,先获取历史记录,以发送包含下一心跳消息的id的第二心跳拉取请求,预设响应时间可以是动态的,例如根据当前通信质量(丢包率、数据延迟等)确定预设响应时间,例如:根据当前通信质量(丢包率、数据延迟等)确定预设响应时间为1s,当在1s内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。
在一种可行的实施方式中,消息服务器可以对存放在消息队列中的各心跳消息进行全局化,分配一个全局id,该全局id可以用心跳消息在消息队列上的顺序标号来表示,能够表征各心跳消息在消息队列中的位置,例如,消息队列中的心跳消息所对应的队列序号按照从前往后可以是1、2、3...n,n为正整数。在跨机房的监控服务器可以对历史消费过的心跳消息的id进行记录,监控服务器可以预先获取消息服务器的消息发送周期、第一信息拉取请求对应的发送时间,计算当前系统时间与所述第一信息拉取请求对应的发送时间的时间差值,基于所述时间差值以及消息发送周期,确定跨机房的消息服务器上消息队列中下次获取的心跳消息的id,例如消息发送周期为2分钟,经计算所述时间差值为5分钟,历史消费过的心跳消息的id为1,此时确定下次获取的心跳消息的id为2和3,监控服务器向跨机房的消息服务器发送针对心跳消息的id为2和3的第二信息拉取请求,当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述id为2心跳消息和id为2心跳消息时,确定所述业务服务器集群中所述id为2心跳消息对应的业务服务器的服务状态以及id为3心跳消息对应的业务服务器的服务状态为正常状态。
在本申请实施例中,监控服务器在预设时长内拉取跨机房的消息服务器上消息队列中的第一心跳消息失败时,监控服务器发送第二信息拉取请求,当在所述预设时长内接收到消息服务器基于第二信息拉取请求反馈的第一心跳消息即确定第一心跳消息对应的业务服务器的服务状态为正常状态,可以避免网络抖动造成监控服务器的误判,同时,跨机房的消息服务器将同一机房的业务服务器发送的心跳消息存储在消息队列中,可以避免在固定重发次数内因为网络抖动造成心跳消息丢失的情况,监控服务器在发送第二信息拉取请求之后,网络抖动恢复即可消费到跨机房的消息服务器上消息队列中的至少一个心跳消息,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。
请参见图3,图3是本申请提出的一种跨机房服务监控方法的另一种实施例的流程示意图。具体的:
步骤201:向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息。
具体可参见步骤101,此处不再赘述。
步骤202:当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送网络抖动检测请求。
所述预设时长是指预设的监控服务器接收第一心跳消息的时长,通过监测在该时长内是否接收到所述第一心跳消息,以此判断跨机房的业务服务器的服务状态是否为正常状态。
所述网络抖动是指端到端的两个设备间的通信网络发送拥堵或故障,会导致通过同一连接传输的网络延迟不相同,在实际应用中通常用网络抖动来表征网络延迟的变化程度,在本实施例中,可以理解为监控服务器与跨机房的消息服务器间的连接网络的网络不稳定,用网络抖动来标识网络的稳定性,通常抖动越小,网络越稳定。
其中,网路抖动通常是由于网络多路径衰落造成网络信号衰减、网络通道堵塞、电磁干扰等,当网络抖动大时,可能会造成一个或多个消息(数据包),无法通过网络从跨机房的消息服务器到对端设备-监控服务器。
具体的,监控服务器向跨机房的消息服务器发送第一信息拉取请求,以拉取消息服务器上的第一心跳消息,当监控服务器向跨机房的消息服务器发送第一信息拉取请求的请求传输过程中,由于当前网络抖动,导致跨机房的消息服务器无法或超时接受到所述第一信息拉取请求,或,跨机房的消息服务器在接收到监控服务器的第一信息拉取请求之后,响应于第一信息拉取请求向监控服务器发送第一心跳消息,在发送第一心跳消息对应的消息传输过程中,由于当前网络抖动,导致监控服务器无法或超时接受到所述第一心跳消息。即监控服务器在预设时长内未接收到所述第一心跳消息。
具体的,当监控服务器在预设时长内未接收到所述第一心跳消息,确定所述跨机房的消息服务器与监控服务器之间的通信连接服务为连接异常状态,触发所述监控服务器上的网络抖动检测机制,通过读取并执行“网络抖动检测”的控制逻辑对应的机器可执行指令,向所述消息服务器发送网络抖动检测请求。
可选的,当跨机房的消息服务器接收到所述网络抖动检测请求之后,可以检测当前于监控服务器的网络通信质量(丢包率、数据包差错率、误码率数据延迟等),调整与监控服务器的网络连接的配置参数,所述配置参数包含消息分发接口、端口号、消息处理线程、消息传输信道、发射功率等参数。以降低跨机房的消息服务器与消息服务器的网络抖动。
步骤203:当接收到所述消息服务器基于所述网络抖动检测请求反馈的响应消息时,确定所述网络抖动恢复正常。
所述响应信息是指跨机房的消息服务器在接收到所述网络抖动检测请求之后,向监控服务器反馈的应答消息,所述响应信息可以是自定义的结构体(代码、字符串、命令字等),反馈响应信息可以确定当前通信连接服务是否恢复正常,跨机房的消息服务器需要基于网络抖动检测请求反馈响应消息,而接收反馈响应消息的一方-监控服务器则检测是否按时收到响应消息,并以此判断网络连接是否正常。响应消息通常为很小的探测数据包,通常可以是在设备的逻辑层发送一个只包含包头的空包来实现。
具体的,监控服务器向跨机房的消息服务器发送网络抖动检测请求,跨机房的消息服务器接收到所述网络抖动检测请求之后,可以检测当前于监控服务器的网络通信质量(丢包率、数据包差错率、误码率数据延迟等),调整与监控服务器的网络连接的配置参数,并对所述网络抖动检测请求进行响应,向监控服务器反馈响应消息,监控服务器在接收到所述响应消息时,确定与跨机房的消息服务器之间通信状态恢复正常,即确定所述网络抖动恢复正常。
步骤204:获取所述消息服务器的消息发送周期,并获取所述第一信息拉取请求对应的第一发送时间。
所述消息发送周期是指跨机房的消息服务器向监控服务器发送心跳信息的时间间隔,例如跨机房的消息服务器每隔5分钟向监控服务器发送心跳信息,此时消息发送周期即为5分钟。
具体的,监控服务器获取跨机房消息服务器的消息发送周期,可以是预先向跨机房消息服务器发送针对消息发送周期的周期获取请求,消息服务器基于所述周期获取请求向服务器发送包含消息发送周期的消息,即监控服务器获取到所述消息服务器的消息发送周期;可以是监控服务器与跨机房消息服务器通信时预先制定好的消息发送规则,监控服务器基于所述消息发送规则定时向跨机房的消息服务器发送消息拉取请求,消息服务器基于所述消息发送规则在接受到消息拉取请求之后,根据消息发送周期向监控服务器发送心跳消息。
具体的,监控服务器在获取到消息服务器的消息发送周期,并获取第一信息拉取请求对应第一发送时间,在实际应用中,监控服务器可以对与跨机房的消息服务器的交互进行记录,例如可以对发送消息拉取请求与接收心跳消息的时间进行记录,并将记录保存至监控服务器的本地存储日志中,监控在获取第一信息拉取请求对应第一发送时间时,可以基于本地存储日志查找第一信息拉取请求对应的时间戳,对所述时间戳进行解析即可获取第一信息拉取请求对应的第一发送时间。
步骤205:基于所述消息发送周期以及所述第一发送时间,向所述消息服务器发送至少包括所述第一心跳消息的第二信息拉取请求,以使所述消息服务器获取所述第二信息拉取请求的第二发送时间并在所述消息发送周期小于所述第一发送时间以及所述第二发送时间之间的时间差时反馈所述第一心跳消息以及所述消息队列中的第二心跳消息,所述第一心跳消息与所述第二心跳消息不同。
所述第二信息拉取请求可以理解为重新发送的信息拉取请求,通过在确定跨机房的消息服务器与监控服务器间所述网络抖动恢复正常时,再次发送信息拉取请求以重新拉取跨机房服务器上的消息队列中的心跳信息。
所述第一心跳消息与所述第二心跳消息不同,所述第二心跳消息为第一心跳消息下一次待发送的心跳消息,以时间先后确定消息优先级,所述第一心跳消息高于第二心跳信息的优先级,所述第二心跳消息可以是多个。
具体的,基于所述消息发送周期以及所述第一发送时间,监控服务器可以向消息服务器发送包含第一发送时间的第二信息拉取请求,跨机房的消息服务器在接收到第二信息拉取请求之后,对所述第二信息拉取请求进行解析,获取第二信息拉取请求携带的第一发送时间,并获取第二信息拉取请求对应的监控服务器发送时的第二发送时间,计算第一发送时间与第二发送时间的时间差值。
具体的,跨机房的消息服务器判断所述时间差值与时间周期的大小,当所述时间周期大于所述时间差值时,跨机房的消息服务器从消息队列中确定第一心跳消息为待反馈的心跳消息,将所述第一心跳消息反馈至跨机房的消息服务器。此时,监控服务器即可接受到跨机房服务器反馈的第一心跳消息。
具体的,当所述消息发送周期大于所述时间差值时,监控服务器从消息队列中确定该时间差值内的第一心跳消息与第二心跳消息,所述第二心跳消息可以是多个,例如,消息队列中的心跳消息所对应的队列序号按照从前往后可以是1、2、3...n,n为正整数。第一心跳消息为消息1,消息发送周期为2分钟,经计算所述时间差值为5分钟,此时对应的第二心跳为消息2、消息3。跨机房的消息服务器从消息队列中确定第一心跳消息以及第二心跳消息为待反馈的心跳消息,将所述第一心跳消息以及第二心跳消息反馈至跨机房的消息服务器。此时,监控服务器即可接受到跨机房服务器反馈的第一心跳消息以及第二心跳消息。
步骤206:当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求发送的所述第一心跳消息以及所述第二心跳消息时,确定与所述业务服务器集群中所述第一心跳消息指示的业务服务器的服务状态以及所述第二心跳消息指示的业务服务器的服务状态均为正常状态。
所述服务状态可以理解为通信服务状态,两两跨机房的服务器通过心跳消息来彼此监测跨机房的服务器的通信状态,当所述服务状态为正常状态时,两两跨机房的服务器可以正常通信。
所述预设时长可以理解为接收跨机房的消息服务器反馈心跳消息的预设的时间。以预设时长为服务评判标准,当在预设时长内接收到消息服务器反馈的心跳消息时,确定与该心跳消息指示的跨机房的业务服务器之间的服务状态为正常状态。
具体的,监控服务器向跨机房的消息服务器发送第二信息拉取请求之后,监控服务器开启计时功能,所述计时功能可以是监控服务器基于计时任务分配的线程,通过该线程可以在发送第二信息拉取请求之后开始计时,监控服务器对接收到所述消息服务器基于所述第二信息拉取请求反馈消息队列中的第一心跳消息以及第二心跳消息对应的接收时间进行监测,当在预设时长内接收到所述第一心跳消息以及第二心跳消息时,即确定与所述业务服务器集群中所述第一心跳消息指示的业务服务器的服务状态以及所述第二心跳消息指示的业务服务器的服务状态均为正常状态。
在本申请实施例中,监控服务器在预设时长内拉取跨机房的消息服务器上消息队列中的第一心跳消息失败时,监控服务器发送第二信息拉取请求,当在所述预设时长内接收到消息服务器基于第二信息拉取请求反馈的第一心跳消息即确定第一心跳消息对应的业务服务器的服务状态为正常状态,可以避免网络抖动造成监控服务器的误判,同时,跨机房的消息服务器将同一机房的业务服务器发送的心跳消息存储在消息队列中,可以避免在固定重发次数内因为网络抖动造成心跳消息丢失的情况,监控服务器在发送第二信息拉取请求之后,网络抖动恢复即可消费到跨机房的消息服务器上消息队列中的至少一个心跳消息,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图4,其示出了本申请一个示例性实施例提供的跨机房服务监控装置的结构示意图。该跨机房服务监控装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括第一请求发送模块11、第二请求发送模块12和配对服务状态确定模块13。
第一请求发送模块11,用于向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息,所述消息队列包括业务服务器集群周期性发送的至少一个心跳消息;
第二请求发送模块12,用于当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送第二信息拉取请求;
服务状态确定模块13,用于当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。
可选的,如图6所示,所述装置1,还包括:
网络抖动检测模块14,用于向所述消息服务器发送网络抖动检测请求;
网络状态监测模块15,用于当接收到所述消息服务器基于所述网络抖动检测请求反馈的响应消息时,确定所述网络抖动恢复正常。
可选的,所述第二请求发送模块12,具体用于:
向所述消息服务器发送第二信息拉取请求,以使所述消息服务器基于所述信息拉取请求至少反馈所述第一心跳消息。
可选的,如图5所示,所述第二请求发送模块12,包括:
周期时间获取单元121,用于获取所述消息服务器的消息发送周期,并获取所述第一信息拉取请求对应的第一发送时间;
拉取请求发送单元122,用于基于所述消息发送周期以及所述第一发送时间,向所述消息服务器发送至少包括所述第一心跳消息的第二信息拉取请求,以使所述消息服务器获取所述第二信息拉取请求的第二发送时间并在所述消息发送周期小于所述第一发送时间以及所述第二发送时间之间的时间差时反馈所述第一心跳消息以及所述消息队列中的第二心跳消息,所述第一心跳消息与所述第二心跳消息不同。
可选的,所述服务状态确定模块13,具体用于:
当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求发送的所述第一心跳消息以及所述第二心跳消息时,确定与所述业务服务器集群中所述第一心跳消息指示的业务服务器的服务状态以及所述第二心跳消息指示的业务服务器的服务状态均为正常状态。
需要说明的是,上述实施例提供的跨机房服务监控装置在执行跨机房服务监控方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的跨机房服务监控装置与跨机房服务监控方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本实施例中,监控服务器在预设时长内拉取跨机房的消息服务器上消息队列中的第一心跳消息失败时,监控服务器发送第二信息拉取请求,当在所述预设时长内接收到消息服务器基于第二信息拉取请求反馈的第一心跳消息即确定第一心跳消息对应的业务服务器的服务状态为正常状态,可以避免网络抖动造成监控服务器的误判,同时,跨机房的消息服务器将同一机房的业务服务器发送的心跳消息存储在消息队列中,可以避免在固定重发次数内因为网络抖动造成心跳消息丢失的情况,监控服务器在发送第二信息拉取请求之后,网络抖动恢复即可消费到跨机房的消息服务器上消息队列中的至少一个心跳消息,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图3所示实施例的所述跨机房服务监控方法,具体执行过程可以参见图1-图3所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图3所示实施例的所述跨机房服务监控方法,具体执行过程可以参见图1-图3所示实施例的具体说明,在此不进行赘述。
请参见图7,为本申请实施例提供了一种服务器的结构示意图。如图7所示,所述服务器1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个服务器1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行服务器1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及跨机房服务监控应用程序。
在图7所示的服务器1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的跨机房服务监控应用程序,并具体执行以下操作:
向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息,所述消息队列包括业务服务器集群周期性发送的至少一个心跳消息;
当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送第二信息拉取请求;
当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态。
在一个实施例中,所述处理器1001在执行所述向所述消息服务器发送第二信息拉取请求之前,还执行以下操作:
向所述消息服务器发送网络抖动检测请求;
当接收到所述消息服务器基于所述网络抖动检测请求反馈的响应消息时,确定所述网络抖动恢复正常。
在一个实施例中,所述处理器1001在执行所述向消息服务器发送第二信息拉取请求,包括:
向所述消息服务器发送第二信息拉取请求,以使所述消息服务器基于所述信息拉取请求至少反馈所述第一心跳消息。
在一个实施例中,所述处理器1001在执行所述向所述消息服务器发送第二信息拉取请求,以使所述消息服务器基于所述信息拉取请求至少反馈所述第一心跳消息时,具体执行以下操作:
获取所述消息服务器的消息发送周期,并获取所述第一信息拉取请求对应的第一发送时间;
基于所述消息发送周期以及所述第一发送时间,向所述消息服务器发送至少包括所述第一心跳消息的第二信息拉取请求,以使所述消息服务器获取所述第二信息拉取请求的第二发送时间并在所述消息发送周期小于所述第一发送时间以及所述第二发送时间之间的时间差时反馈所述第一心跳消息以及所述消息队列中的第二心跳消息,所述第一心跳消息与所述第二心跳消息不同。
在一个实施例中,所述处理器1001在执行所述当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态时,具体执行以下操作:
当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求发送的所述第一心跳消息以及所述第二心跳消息时,确定与所述业务服务器集群中所述第一心跳消息指示的业务服务器的服务状态以及所述第二心跳消息指示的业务服务器的服务状态均为正常状态。
在本实施例中,监控服务器在预设时长内拉取跨机房的消息服务器上消息队列中的第一心跳消息失败时,监控服务器发送第二信息拉取请求,当在所述预设时长内接收到消息服务器基于第二信息拉取请求反馈的第一心跳消息即确定第一心跳消息对应的业务服务器的服务状态为正常状态,可以避免网络抖动造成监控服务器的误判,同时,跨机房的消息服务器将同一机房的业务服务器发送的心跳消息存储在消息队列中,可以避免在固定重发次数内因为网络抖动造成心跳消息丢失的情况,监控服务器在发送第二信息拉取请求之后,网络抖动恢复即可消费到跨机房的消息服务器上消息队列中的至少一个心跳消息,可以准确监控跨机房服务是否异常,提高了网络抖动导致监控数据投递的可靠性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (7)
1.一种跨机房服务监控方法,其特征在于,所述方法包括:
向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息,所述消息队列包括业务服务器集群周期性发送的至少一个心跳消息;
当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送第二信息拉取请求;
当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态;
其中,所述向所述消息服务器发送第二信息拉取请求,包括:
获取所述消息服务器的消息发送周期,并获取所述第一信息拉取请求对应的第一发送时间;
基于所述消息发送周期以及所述第一发送时间,向所述消息服务器发送至少包括所述第一心跳消息的第二信息拉取请求,以使所述消息服务器获取所述第二信息拉取请求的第二发送时间并在所述消息发送周期小于所述第一发送时间以及所述第二发送时间之间的时间差时反馈所述第一心跳消息以及所述消息队列中的第二心跳消息,所述第一心跳消息与所述第二心跳消息不同。
2.根据权利要求1所述的方法,其特征在于,所述向所述消息服务器发送第二信息拉取请求之前,还包括:
向所述消息服务器发送网络抖动检测请求;
当接收到所述消息服务器基于所述网络抖动检测请求反馈的响应消息时,确定所述网络抖动恢复正常。
3.根据权利要求1所述的方法,其特征在于,所述当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态,包括:
当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求发送的所述第一心跳消息以及所述第二心跳消息时,确定与所述业务服务器集群中所述第一心跳消息指示的业务服务器的服务状态以及所述第二心跳消息指示的业务服务器的服务状态均为正常状态。
4.一种跨机房服务监控装置,其特征在于,所述装置包括:
第一请求发送模块,用于向跨机房的消息服务器发送第一信息拉取请求,以使所述消息服务器基于所述第一信息拉取请求反馈消息队列中的第一心跳消息,所述消息队列包括业务服务器集群周期性发送的至少一个心跳消息;
第二请求发送模块,用于当在预设时长内未接收到所述第一心跳消息时,向所述消息服务器发送第二信息拉取请求;
服务状态确定模块,用于当在所述预设时长内接收到所述消息服务器基于所述第二信息拉取请求反馈的所述第一心跳消息时,确定所述业务服务器集群中所述第一心跳消息对应的业务服务器的服务状态为正常状态;
其中,所述向所述消息服务器发送第二信息拉取请求,包括:
获取所述消息服务器的消息发送周期,并获取所述第一信息拉取请求对应的第一发送时间;
基于所述消息发送周期以及所述第一发送时间,向所述消息服务器发送至少包括所述第一心跳消息的第二信息拉取请求,以使所述消息服务器获取所述第二信息拉取请求的第二发送时间并在所述消息发送周期小于所述第一发送时间以及所述第二发送时间之间的时间差时反馈所述第一心跳消息以及所述消息队列中的第二心跳消息,所述第一心跳消息与所述第二心跳消息不同。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
请求发送模块,用于向所述消息服务器发送网络抖动检测请求;
网络监测模块,用于当接收到所述消息服务器基于所述网络抖动检测请求反馈的响应消息时,确定所述网络抖动恢复正常。
6.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~3任意一项的方法步骤。
7.一种服务器,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~3任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911024696.0A CN110808874B (zh) | 2019-10-25 | 2019-10-25 | 一种跨机房服务监控方法、装置、存储介质及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911024696.0A CN110808874B (zh) | 2019-10-25 | 2019-10-25 | 一种跨机房服务监控方法、装置、存储介质及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110808874A CN110808874A (zh) | 2020-02-18 |
CN110808874B true CN110808874B (zh) | 2021-09-17 |
Family
ID=69489190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911024696.0A Expired - Fee Related CN110808874B (zh) | 2019-10-25 | 2019-10-25 | 一种跨机房服务监控方法、装置、存储介质及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110808874B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111405008B (zh) * | 2020-03-06 | 2021-04-06 | 精英数智科技股份有限公司 | 一种煤矿数据传输方法、装置及系统 |
CN111858260A (zh) * | 2020-07-31 | 2020-10-30 | 中国工商银行股份有限公司 | 信息显示方法、装置、设备及介质 |
CN112350921A (zh) * | 2020-09-30 | 2021-02-09 | 北京大米科技有限公司 | 消息处理方法、终端及存储介质 |
CN112653753B (zh) * | 2020-12-18 | 2023-04-07 | 平安银行股份有限公司 | 基于rpc的多机房独立多活方法、系统及电子设备 |
CN112689012A (zh) * | 2020-12-24 | 2021-04-20 | 南京三眼精灵信息技术有限公司 | 跨网络的代理通讯方法及装置 |
CN113810456B (zh) * | 2021-02-09 | 2024-08-20 | 京东科技信息技术有限公司 | 数据获取方法、装置、系统、计算机设备及存储介质 |
CN113238879B (zh) * | 2021-05-18 | 2024-07-02 | 挂号网(杭州)科技有限公司 | 消息传输方法、装置及系统 |
CN116112545A (zh) * | 2021-11-09 | 2023-05-12 | 北京金山云网络技术有限公司 | 设备在线状态的监测方法、装置、系统和电子设备 |
CN114885219B (zh) * | 2022-05-05 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 任务执行状态监测方法、装置、电子设备及存储介质 |
CN115086203B (zh) * | 2022-06-15 | 2024-03-08 | 中国工商银行股份有限公司 | 数据发送方法、装置、电子设备及计算机可读存储介质 |
CN115494753A (zh) * | 2022-07-05 | 2022-12-20 | 港珠澳大桥管理局 | 基础设施机器人集控方法、装置、设备、介质和程序产品 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101234018B (zh) * | 2008-02-26 | 2010-07-14 | 中兴通讯股份有限公司 | 心跳检测方法、系统和中央处理单元 |
CN102571933A (zh) * | 2011-12-22 | 2012-07-11 | 中国电子科技集团公司第十五研究所 | 可靠消息传输方法 |
CN103107953B (zh) * | 2013-03-11 | 2016-03-02 | 华为技术有限公司 | M2m的通信方法、装置和系统 |
CN104166589A (zh) * | 2013-05-17 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种心跳包的处理方法和装置 |
US10542049B2 (en) * | 2014-05-09 | 2020-01-21 | Nutanix, Inc. | Mechanism for providing external access to a secured networked virtualization environment |
US10747630B2 (en) * | 2016-09-30 | 2020-08-18 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node |
CN108270634B (zh) * | 2016-12-30 | 2021-08-24 | 中移(苏州)软件技术有限公司 | 一种心跳探测的方法及系统 |
CN107087232B (zh) * | 2017-04-07 | 2020-03-27 | 优地网络有限公司 | 用户的实时状态检测方法及系统 |
CN108092853B (zh) * | 2017-12-27 | 2021-09-21 | 珠海市君天电子科技有限公司 | 监控服务器链路状态的方法、装置、系统、电子设备及存储介质 |
CN109218141A (zh) * | 2018-11-20 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种故障节点检测方法及相关装置 |
CN109561159B (zh) * | 2018-12-28 | 2021-08-31 | 厦门熵基生物识别信息技术有限公司 | 一种基于Websocket长连接的数据处理方法及系统 |
-
2019
- 2019-10-25 CN CN201911024696.0A patent/CN110808874B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN110808874A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110808874B (zh) | 一种跨机房服务监控方法、装置、存储介质及服务器 | |
US10069642B2 (en) | Method of autonomic representative selection in local area networks | |
US8433760B2 (en) | Inter-node communication scheme for node status sharing | |
CN101035037B (zh) | 检测网络通信质量的方法、系统及相关装置 | |
JP7234402B2 (ja) | 車両通信のためのセカンダリリンクモニタリング方法、車両通信端末、電子機器及びコンピュータプログラム | |
EP4239974A1 (en) | Data transmission method and apparatus, and computer-readable medium and electronic device | |
JP2009265959A (ja) | ストリーム配信システム及び障害検知方法 | |
CN104065526B (zh) | 一种服务器故障报警的方法和装置 | |
US20160119181A1 (en) | Network state monitoring system | |
CN103416022B (zh) | 分布式路由器/交换机架构中的服务中吞吐量测试方法和系统 | |
CN108234171A (zh) | 一种数据处理方法、系统以及装置 | |
CN109962827B (zh) | 设备链路检测方法、装置、设备及可读存储介质 | |
CN106301840B (zh) | 双向转发检测bfd报文的发送方法及装置 | |
US20130073718A1 (en) | Test analysis system of network and analysis method thereof | |
CN117997802B (zh) | 一种网络抖动检测方法、装置、设备及介质 | |
EP2882216B1 (en) | Device and method for controlling, supervising and giving an alarming from a power supply of base station | |
CN110572315A (zh) | 一种信息交互的方法及装置、机器人、存储介质 | |
EP4064589A1 (en) | Ethernet time synchronization method and apparatus | |
CN115801925A (zh) | 基于列车自动监控ats系统的数据处理方法及装置 | |
CN114006853B (zh) | 一种tte网络交换机时钟同步测试方法 | |
CN116260747A (zh) | 终端测试设备的监测方法、装置及电子设备 | |
CN111107166B (zh) | 会话同步方法、装置、电子设备和介质 | |
WO2016065752A1 (zh) | 一种链路状态的检测方法、设备和存储介质 | |
US9743037B2 (en) | Method for transmitting device indicator data in network-based AV system | |
WO2016188499A1 (zh) | 网络管理方法、装置、网络设备及数据同步系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210917 |