本申请涉及数据处理技术领域,具体涉及一种线上服务监控系统及方法。
背景技术:
通常,线上故障的清除可以有多种方式,例如远程在线操作、在线添加日志等。
然而,发明人发现,远程在线操作需要保证网络的稳定性,一旦远程操控期间出现网络中断,会导致线上故障无法被清除,需要重新进行线上故障的清除。而在线添加日志的方式需要在添加日志时重启服务器,使得线上服务被中断,不能保证线上服务的连续性。除此,如果添加一次日志未能清除线上故障,还需要进行多次日志的添加,以最终消除线上故障,但多次日志的添加会造成服务器线上服务的稳定性差。
因此,如何提供线上服务监控系统及方法,能够对线上故障清除的同时提高线上服务的稳定性,是本领域技术人员亟待解决的一大技术难题。
技术实现要素:
有鉴于此,本申请实施例提供了线上服务监控系统及方法,能够对线上故障清除的同时提高线上服务的稳定性。
为实现上述目的,本申请实施例提供如下技术方案:
一种线上服务监控系统,包括在线故障排除服务器以及至少一个后台服务器,所述后台服务器包括调试客户端以及线上服务模块,所述线上服务模块运行线上服务;
所述在线故障排除服务器发送调试指令至所述后台服务器;
所述调试客户端获取所述调试指令,加载与所述调试指令对应的调试脚本,所述调试脚本用于获取所述线上服务的目标属性信息;
所述调试客户端发送所述目标属性信息至所述在线故障排除服务器,以使所述在线故障排除服务器展示所述目标属性信息。
可选的,所述在线故障排除服务器包括调试指令控制模块、调试脚本输入模块以及调试信息展示模块;
所述调试指令控制模块发送所述调试指令至所述调试客户端,所述调试指令包括目标线上服务所在的目标后台服务器的第一特征标识以及目标调试脚本的第二特征标识;
所述调试脚本输入模块发送具有所述第二特征标识的所述目标调试脚本至具有所述第一特征标识的所述目标后台服务器,以使所述目标后台服务器中的调试客户端获取所述调试指令,加载所述目标调试脚本,以获取所述线上服务的目标属性信息;
所述调试信息展示模块展示所述目标属性信息。
可选的,所述调试客户端包括指令接收服务模块、调试信息采集模块以及监控模块;
所述调试指令控制模块发送所述调试指令至所述指令接收服务模块;
所述监控模块获取所述调试指令,获取所述调试脚本输入模块发送的所述目标调试脚本,加载所述目标调试脚本,获取所述线上服务的目标属性信息;
所述调试信息采集模块采集所述线上服务模块输出的目标属性信息,并发送所述目标属性信息至所述调试信息展示模块,所述调试信息展示模块展示所述目标属性信息。
可选的,所述监控模块包括btrace监控工具或housemd监控工具。
可选的,所述调试客户端还包括获取模块,
所述获取模块用于获取线上服务的进程列表;
相应的,所述调试指令控制模块发送所述调试指令至所述指令接收服务模块,包括:
所述调试指令控制模块用于接收所述进程列表,并发送用户基于所述进程列表下发的调试指令至所述指令接收服务模块。
可选的,所述获取模块用于获取线上服务的进程列表,包括:
基于预设请求复制工具,复制所述线上服务模块的在线数据包至所述在线故障排除服务器,确定所述在线数据包的列表为所述进程列表。
一种线上服务监控方法,应用于在线故障排除服务器,包括:
发送调试指令至所述后台服务器,所述后台服务器包括调试客户端以及线上服务模块;
发送与所述调试指令对应的调试脚本至所述调试客户端,以使所述调试客户端获取所述调试指令,加载与所述调试指令对应的调试脚本至所述线上服务模块,并执行所述调试脚本,生成目标属性信息;
展示所述目标属性信息。
一种线上服务监控方法,应用于后台服务器,所述后台服务器包括调试客户端以及线上服务模块,包括:
接收在线故障排除服务器发送的调试指令;
加载与所述调试指令对应的调试脚本至所述线上服务模块,并执行所述调试脚本,生成目标属性信息;
采集所述目标属性信息,并发送所述目标属性信息至在线故障排除服务器,以使所述在线故障排除服务器展示所述目标属性信息。
可选的,还包括:
获取线上服务的进程列表;
相应的,所述接收在线故障排除服务器发送的调试指令,包括:
发送所述进程列表至所述在线故障排除服务器,获取用户基于所述进程列表下发的调试指令。
可选的,所述获取线上服务的进程列表,包括:
基于预设请求复制工具,复制所述线上服务模块的在线数据包至所述在线故障排除服务器,确定所述在线数据包的列表为所述进程列表。
基于上述技术方案,本申请提供了一种线上服务监控系统及方法,该线上服务监控系统包括在线故障排除服务器以及至少一个后台服务器,其中,后台服务器包括调试客户端以及线上服务模块。具体的,在线故障排除服务器发送调试指令至后台服务器,调试客户端获取调试指令,加载与调试指令对应的调试脚本至线上服务模块,并执行调试脚本,生成目标属性信息。然后调试客户端采集目标属性信息,并发送目标属性信息至在线故障排除服务器。在线故障排除服务器展示目标属性信息。可见,本实施例提供的线上服务监控系统通过将后台服务器上的线上服务加载预设调试脚本,并返回线上服务执行该调试脚本后的调试结果至在线故障排除服务器,以实现对线上故障的清除,并且本方案无需重启服务器,实现了既能对线上故障清除的同时又提高线上服务的稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的线上服务监控系统的结构框图;
图2为本申请实施例提供的线上服务监控系统的信令流程图;
图3为本申请实施例提供的线上服务监控方法的流程图;
图4为本申请实施例提供的线上服务监控方法的又一流程图;
图5为本申请实施例提供的线上服务监控方法的又一流程图;
图6为本申请实施例提供的线上服务监控方法的又一流程图;
图7为本申请实施例提供的线上服务监控系统的结构示意图;
图8为本申请实施例提供的一种服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的线上服务监控系统的结构框图,该图所示的线上服务监控系统可以用于实现本申请实施例提供的线上服务监控方法。参照图1,该线上服务监控系统可以包括:在线故障排除服务器100以及至少一个后台服务器200。
其中,在线故障排除服务器100为发送调试指令、加载调试脚本以及展示目标属性信息的服务设备,其可能是多台服务器组成的服务器集群,也可能是单台服务器。
后台服务器200为移动后端服务器,其包括调试客户端201以及线上服务模块202。其中,线上服务模块202为线上服务的执行模块,线上服务可以为具有特定功能的在线数据包,例如为采集某个游戏服务器的游戏数据,或者为聊天数据的传输数据包等。调试客户端201为对线上服务模块202中的线上服务进行预设调试脚本的加载以及获取数据的客户端。
基于图1所示的线上服务监控系统,对该线上服务监控系统的工作原理进行说明。结合图2,图2为本申请实施例提供的线上服务监控系统的信令流程图,包括:
s21、所述在线故障排除服务器发送调试指令至所述后台服务器。
该调试指令用于指示调试客户端对线上服务进行调试。
s22、所述调试客户端获取所述调试指令,加载与所述调试指令对应的调试脚本,所述调试脚本用于获取所述线上服务的目标属性信息。
具体的,调试客户端基于该调试指令,加载与该调试指令对应的调试脚本,其中,调试脚本可以为预先写好的具有预设功能的调试类,而调试类是针对业务问题而编写的,如,调试类的作用可以为打印相关属性的属性值,又如获取线上服务的故障信息等。
本实施例中,加载调试脚本,以使调试脚本可以对线上服务模块中的线上服务执行预设的功能,例如,当调试脚本为打印相关属性的属性值时,那么本步骤的目的是获取线上服务的相关属性的属性值,并进行打印,然后将该打印结果确定成目标属性信息。
s23、所述调试客户端发送所述目标属性信息至所述在线故障排除服务器;
s24、所述在线故障排除服务器展示所述目标属性信息。
在上述实施例的技术上,本实施例还将上述目标属性信息进行采集并发送至在线故障排除服务器,以使在线故障排除服务器展示所述目标属性信息。
可见,开发人员可以在在线故障排除服务器上看到线上服务的相关调试结果,如某个线上服务的相关属性的属性值。此时,开发人员可以通过展示的调试结果进行诊断故障的具体原因,并对线上服务的故障进行清除。
在上述实施例的基础上,如图3所示,本实施例还提供了一种在线故障排除服务器发送调试指令至所述后台服务器的具体实现方法,包括:
s31、所述后台服务器获取线上服务的进程列表并发送所述进程列表至所述在线故障排除服务器;
s32、所述在线故障排除服务器获取用户基于所述进程列表下发的调试指令,发送所述调试指令至所述后台服务器。
其中,后台服务器可以获取至少一个线上服务模块的线上服务的数据列表,即pid列表,然后开发人员基于该pid列表下发调试指令。例如pid列表包括三个进程,开发人员可以对每个进程下发一个调试指令,还可以对其中某个进程下发调试指令。
除此,本实施例还提供了一种获取线上服务的进程列表的具体实现步骤,如图4所示,包括:
s41、基于预设请求复制工具,复制所述线上服务模块的在线数据包至所述在线故障排除服务器,确定所述在线数据包的列表为所述进程列表。
其中,预设请求复制工具可以为tcpcopy工具,其将线上服务模块的在线数据包复制至在线故障排除服务器,然后使用调试客户端对获取到的在线数据包进行数据调试,进而不会影响到真实的线上服务的运行。
可见,本实施例提供的线上服务监控系统通过对线上服务加载预设调试脚本,并返回对应的调试结果,进而实现对线上故障的清除,且本方案无需重启服务器,提高线上服务的稳定性。
在上述实施例的基础上,基于图1所示的线上服务监控系统,下面从在线故障排除服务器的角度对本申请提供的线上服务监控方法进行介绍。如图5所示,该线上服务监控方法包括:
s51、发送调试指令至所述后台服务器,所述后台服务器包括调试客户端以及线上服务模块;
s52、发送与所述调试指令对应的调试脚本至所述调试客户端,以使所述调试客户端获取所述调试指令,加载与所述调试指令对应的调试脚本至所述线上服务模块,并执行所述调试脚本,生成目标属性信息;
s53、展示所述目标属性信息。
该线上服务监控方法的工作原理请参见上述线上服务监控系统的工作原理,均为通过对线上服务加载预设调试脚本,并返回对应的调试结果,进而实现对线上故障的清除,且本方案无需重启服务器,提高线上服务的稳定性。
除此,基于图1所示的线上服务监控系统,本实施例还可以从后台服务器的角度对本申请提供的线上服务监控方法进行介绍。其中,后台服务器包括调试客户端以及线上服务模块,如图6所示,该线上服务监控方法包括:
s61、接收在线故障排除服务器发送的调试指令;
s62、加载与所述调试指令对应的调试脚本至所述线上服务模块,并执行所述调试脚本,生成目标属性信息;
s63、采集所述目标属性信息,并发送所述目标属性信息至在线故障排除服务器,以使所述在线故障排除服务器展示所述目标属性信息。
具体的,在上述实施例的基础上,本实施例提供的线上服务监控方法还可以包括步骤:
获取线上服务的进程列表;
相应的,所述接收在线故障排除服务器发送的调试指令,包括:
发送所述进程列表至所述在线故障排除服务器,获取用户基于所述进程列表下发的调试指令。
除此,本实施例提供的线上服务监控方法中所述获取线上服务的进程列表还可以具体为:
基于预设请求复制工具,复制所述线上服务模块的在线数据包至所述在线故障排除服务器,确定所述在线数据包的列表为所述进程列表。
同样,该线上服务监控方法的工作原理请参见上述线上服务监控系统的工作原理,均为通过对线上服务加载预设调试脚本,并返回对应的调试结果,进而实现对线上故障的清除,且本方案无需重启服务器,提高线上服务的稳定性。
下面对本申请实施例提供的在线故障排除服务器进行介绍,下文描述的在线故障排除服务器与上文以在线故障排除服务器角度描述的线上服务监控方法相互对应参照。如图7所示,为本申请实施例提供的在线故障排除服务器的结构框图,该在线故障排除服务器可以包括:调试指令控制模块71、调试脚本输入模块72以及调试信息展示模块73。
具体的,所述调试指令控制模块71发送所述调试指令至所述调试客户端,所述调试指令包括目标线上服务所在的目标后台服务器的第一特征标识以及目标调试脚本的第二特征标识;
所述调试脚本输入模块72发送具有所述第二特征标识的所述目标调试脚本至具有所述第一特征标识的所述目标后台服务器,以使所述目标后台服务器中的调试客户端获取所述调试指令,加载所述目标调试脚本,以获取所述线上服务的目标属性信息;
所述调试信息展示模块73展示所述目标属性信息。
该在线故障排除服务器的工作原理请参见上述系统实施例。
除此,本申请实施例还对后台服务器中调试客户端进行介绍,下文描述的调试客户端与上文以后台服务器角度描述的线上服务监控方法相互对应参照。如图7所示,为本申请实施例提供的调试客户端的结构框图,该调试客户端可以包括:指令接收服务模块81、调试信息采集模块82以及监控模块83。
其中,所述调试指令控制模块71发送所述调试指令至所述指令接收服务模块81;
所述监控模块83获取所述调试指令,获取所述调试脚本输入模块发送的所述目标调试脚本,加载所述目标调试脚本,获取所述线上服务的目标属性信息;
所述调试信息采集模块82采集所述线上服务模块输出的目标属性信息,并发送所述目标属性信息至所述调试信息展示模块73,所述调试信息展示模块73展示所述目标属性信息。
其中,监控模块可以为btrace监控工具或housemd监控工具。
除此,在本实施例中,如图7所示,调试客户端还包括获取模块84,该获取模块84用于获取线上服务的进程列表。
相应的,所述调试指令控制模块发送所述调试指令至所述指令接收服务模块,包括:
所述调试指令控制模块71用于接收所述进程列表,并发送用户基于所述进程列表下发的调试指令至所述指令接收服务模块81。
并且,本实施例还提供了一种获取模块用于获取线上服务的进程列表的具体实现方式,具体为:
基于预设请求复制工具,复制所述线上服务模块的在线数据包至所述在线故障排除服务器,确定所述在线数据包的列表为所述进程列表。
该调试客户端的工作原理请参见上述系统实施例。
上文描述的是在线故障排除服务器以及后台服务器的软件功能模块架构,在服务器的硬件结构上,服务器可通过如下方式实现资源分配方案:
图8为本申请实施例提供的服务器的硬件结构框图,参照图8,该服务器可以包括:处理器111,通信接口112,存储器113和通信总线114;
其中处理器111、通信接口112、存储器113通过通信总线114完成相互间的通信;
可选的,通信接口112可以为通信模块的接口,如gsm模块的接口;
处理器111,用于执行程序;
存储器113,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器111可能是一个中央处理器cpu,或者是特定集成电路asic
(applicationspecificintegratedcircuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器113可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
发送调试指令至所述后台服务器,所述后台服务器包括调试客户端以及线上服务模块;
发送与所述调试指令对应的调试脚本至所述调试客户端,以使所述调试客户端获取所述调试指令,加载与所述调试指令对应的调试脚本至所述线上服务模块,并执行所述调试脚本,生成目标属性信息;
展示所述目标属性信息。
或,
接收在线故障排除服务器发送的调试指令;
加载与所述调试指令对应的调试脚本至所述线上服务模块,并执行所述调试脚本,生成目标属性信息;
采集所述目标属性信息,并发送所述目标属性信息至在线故障排除服务器,以使所述在线故障排除服务器展示所述目标属性信息。
可选的,还包括:
获取线上服务的进程列表;
相应的,所述接收在线故障排除服务器发送的调试指令,包括:
发送所述进程列表至所述在线故障排除服务器,获取用户基于所述进程列表下发的调试指令。
可选的,所述获取线上服务的进程列表,包括:
基于预设请求复制工具,复制所述线上服务模块的在线数据包至所述在线故障排除服务器,确定所述在线数据包的列表为所述进程列表。
综上所述,本申请提供了一种线上服务监控系统及方法,该线上服务监控系统包括在线故障排除服务器以及至少一个后台服务器,其中,后台服务器包括调试客户端以及线上服务模块。具体的,在线故障排除服务器发送调试指令至后台服务器,调试客户端加载与调试指令对应的调试脚本至线上服务模块,并执行调试脚本,生成目标属性信息。然后调试客户端采集目标属性信息,并发送目标属性信息至在线故障排除服务器,在线故障排除服务器展示目标属性信息。可见,本实施例提供的线上服务监控系统通过对线上服务加载预设调试脚本,并返回对应的调试结果,进而实现对线上故障的清除,且本方案无需重启服务器,提高线上服务的稳定性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。