CN109120691B - 业务系统的状态检测方法、系统、装置及计算机可读介质 - Google Patents

业务系统的状态检测方法、系统、装置及计算机可读介质 Download PDF

Info

Publication number
CN109120691B
CN109120691B CN201810927565.2A CN201810927565A CN109120691B CN 109120691 B CN109120691 B CN 109120691B CN 201810927565 A CN201810927565 A CN 201810927565A CN 109120691 B CN109120691 B CN 109120691B
Authority
CN
China
Prior art keywords
detection
service
request
processing
database
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
Application number
CN201810927565.2A
Other languages
English (en)
Other versions
CN109120691A (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN201810927565.2A priority Critical patent/CN109120691B/zh
Publication of CN109120691A publication Critical patent/CN109120691A/zh
Application granted granted Critical
Publication of CN109120691B publication Critical patent/CN109120691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及运维管理领域,尤其涉及业务系统的状态检测方法、系统、装置及计算机可读介质,所述状态检测方法包括:服务状态检测系统发送探测请求至业务系统;业务系统根据探测标识识别出探测请求;业务系统根据处理队列个数复制探测请求;业务系统将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;业务系统通过处理队列处理探测请求,并得到每个处理队列的探测应答,实现了最大限度覆盖业务逻辑处理流程的同时得到业务处理的真实状态。

Description

业务系统的状态检测方法、系统、装置及计算机可读介质
技术领域
本发明涉及运维管理领域,尤其涉及业务系统的状态检测方法、系统、装置及计算机可读介质。
技术背景
目前运维监控系统对于业务系统的状态监测主要的方法有以下几种:
1.心跳包模式
最基本的就是心跳包模式,即客户端定时向服务端发送一个事先约定好的大多数情况下无实际意义的报文请求,当服务端收到该请求后,返回一个应答,若客户端在一定时间内没有收到任何心跳应答,即可认为服务已出现问题,处于不可用状态,需要查明服务不可用原因并采集措施。本方法主要的不足之处在于对于被探测的服务而言,对心跳包的处理都是简单的直接返回应答,所以这样的探测结果正常时,只能证明该服务对心跳请求依旧正常,但服务的内部真实运行状态无从得知。
2.健康数据采集模式
这种模式需要服务本身支持或者在服务所在机器上安装其他与程序无关的独立服务/脚本不断收集宿主机状态数据例如CPU、Memory利用率以及服务本身运行数据例如QPS(Query per second每秒查询率),队列个数等健康指标,再将这些健康数据存入数据库或者提供相关服务接口供采集程序采集汇总并经过简单对比得到当前系统的运行情况。目前大多数监控技术都采用这种方式,本质上都是靠在服务程序所在机器上安装采集程序采集健康数据然后统一处理的方式。这种方式已经可以比较全面的了解服务的当前健康情况,不足之处在于采集到的数据都是总体健康数据,是一种相对业务而言黑盒的方式来获取的数据,对于业务层面的可用性难以有一个很好的反馈,例如当某个业务已经异常时,如果这个业务对总体指标的贡献度较小,那么采集的总体数据将比较难反映出情况。此外,当系统内部有多个队列时,每个队列的情况也比较难反映。
3.数据包探测模式
探测数据包队列,跟踪该队列在每一段链路上的内部数据包传输间隔捕获探测数据包队列在每一个链路上的平均传输间隔,确认拥塞链路。这种方式可以一定程度获取系统节点的拥塞情况,但是同样只能得知系统的总体运行状态,无法得知具体业务的可用情况,当节点存在处理队列时,也同样难以得知每个队列内部的真正状态,例如当某个业务请求处理超时时,其它队列有可能还是正常,此时如果探测数据包队列从正常的通道过去,探测监控端便会认为该节点处于正常状态,只有当该业务请求请求量足够大将所有队列都堵死后,才会被探测监控端发现,然而这时候已经处于比较严重的地步了。
综上,目前主要的几种业务系统的状态检测方案都无法真实、全面的反映业务系统内部真实的运行状态。
发明内容
针对现有技术存在的技术问题,根据本发明实施例提出了业务系统的状态检测方法,包括:服务状态检测系统发送探测请求至业务系统;业务系统根据探测标识识别出探测请求;业务系统根据处理队列个数复制探测请求;业务系统将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;业务系统通过处理队列处理探测请求,并得到每个处理队列的探测应答。
可选的,所述探测请求包括实际业务请求字段和探测标识,所述探测请求对应设置唯一的探测标识。
可选的,所述状态检测方法还包括:当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存。
可选的,代理数据库存储模拟账户数据,模拟账户数据的字段包括服务状态检测系统编号、模拟账户编号、账号及随机数。
可选的,当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存包括:业务系统的处理线程从处理队列获取探测请求;业务系统的处理线程根据探测请求进行业务逻辑处理;当业务逻辑处理需要访问数据库或者缓存时,调用访问数据库或者缓存的接口;访问数据库或者缓存的接口通过根据探测标识识别出探测请求;调用代理数据库或者代理缓存。
可选的,所述状态检测方法还包括:业务系统反馈探测应答至服务状态检测系统;服务状态检测系统根据探测应答识别出队列堵塞异常;服务状态检测系统输出异常告警。
为解决现有技术存在的问题,根据本发明实施例还提出了业务系统的状态检测系统,包括:服务状态检测系统及业务系统;服务状态检测系统发送探测请求至业务系统;业务系统根据探测标识识别出探测请求;业务系统根据处理队列个数复制探测请求;业务系统将复制的探测请求送入处理队列;业务系统将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;业务系统通过处理队列处理探测请求,并得到每个处理队列的探测应答。
为解决现有技术存在的问题,根据本发明实施例还提出了业务系统的状态检测方法,应用于业务系统,包括:获取业务请求;根据探测标识在业务请求中识别出探测请求;根据处理队列个数复制探测请求;将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;通过处理队列处理探测请求,并得到每个处理队列的探测应答。
可选的,所述探测请求包括实际业务请求字段和探测标识,所述探测请求对应设置唯一的探测标识。
可选的,所述状态检测方法还包括:当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存。
可选的,代理数据库存储模拟账户数据,模拟账户数据的字段包括服务状态检测系统编号、模拟账户编号、账号及随机数。
可选的,当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存包括:处理线程从处理队列获取探测请求;业务系统的处理线程根据探测请求进行业务逻辑处理;当业务逻辑处理需要访问数据库或者缓存时,调用访问数据库或者缓存的接口;访问数据库或者缓存的接口通过根据探测标识识别出探测请求;调用代理数据库或者代理缓存。
可选的,反馈探测应答至服务状态检测系统,探测应答用于服务状态检测系统进行队列堵塞异常识别及告警。
可选的,探测标识包括时间戳、业务系统名称、业务系统编号及业务名称。
另一方面,根据本发明实施例还提出了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的方法。
另一方面,根据本发明实施例还提出了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述任一所述的方法。
为解决现有技术存在的问题,根据本发明实施例还提出了业务系统的状态检测装置,应用于业务系统,包括:业务请求接收模块,用于获取业务请求;探测请求识别模块,用于根据探测标识在业务请求中识别出探测请求;探测请求复制模块,用于根据处理队列个数复制探测请求;探测请求送入模块,用于将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;探测请求处理模块,用于通过处理队列处理探测请求,并得到每个处理队列的探测应答。
本发明实施例主要通过服务状态检测系统发送包含实际业务数据及探测标识的探测请求结合根据处理队列数量复制探测请求,实现最大限度覆盖业务逻辑处理流程的同时得到业务处理的真实状态;进一步当业务逻辑处理需要访问数据库或者缓存时,识别探测请求并采用调用代理数据库或者代理缓存的方式,进一步实现了探测请求业务流与实际业务流的隔离,避免了探测请求业务流对业务系统造成脏数据,进而在统计系统运行和运营数据时产生干扰。
附图说明
附图1为本发明实施例一的业务系统的状态检测方法的流程示意图。
附图2为本发明实施例一的业务系统的状态检测方法的具体流程图。
附图3为本发明实施例二的业务系统的状态检测系统的框架示意图。
附图4为本发明实施例六的业务系统的状态检测装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
根据附图1所示:本发明实施例一的业务系统的状态检测方法,包括以下步骤:
S01,服务状态检测系统发送探测请求至业务系统;
具体的,探测请求采用实际业务请求为基础,探测请求报文包括实际业务请求字段,如探测请求是登录业务的探测请求,其业务请求字段可以包括登录名、登录密码等等。每个探测请求对应设置唯一的探测标识,探测标识可以采用数字、字母等多种字符,内容可以是时间戳、业务名称等。进一步的,所述探测标识可以通过“时间戳+业务系统名称+业务系统编号+业务名称”组成。
可选的,可以直接在探测请求的报文头里增加一个探测标识,通过探测标识来识别是正常业务请求还是以实际业务请求为基础的探测请求。此时,探测请求报文包括实际业务请求字段和探测标识字段。
S03,业务系统根据检测探测标识识别出探测请求;
可选的,业务系统收到请求时,会先通过报文头里面的标识判断该请求是正常业务请求还是由服务状态探测系统过来的探测请求。
S05,业务系统根据处理队列个数复制探测请求;
根据处理队列个数复制所述探测请求,并将复制的探测请求送入处理队列,
具体的,如果是正常业务请求,那么将请求数据按原先分发算法放入对应的处理队列处理即可;如果是以实际业务请求为基础的探测请求,那么根据处理队列个数复制探测请求,复制探测请求的数量可以与处理队列个数相同,也可以多于处理队列个数。
S07,业务系统将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;
具体的,针对复制出的探测请求,打上队列标识,送入每一个处理队列中,每个处理队列至少送入一个探测请求,以保证队列状态检测能全覆盖所有队列。
S09,业务系统通过处理队列处理探测请求,并得到每个处理队列的探测应答。
具体的,针对本发明实施例一而言,对正常业务请求数据流和以实际业务请求为基础的探测请求数据流来说,仅通过探测标识进行区分,其它无任何区别,这样可以最大限度覆盖业务逻辑处理流程,从而得到业务处理的真实状态。此外,现在的业务系统服务模块一般采用多队列、多线程设计,探测请求进入系统后,由框架的队列分发接口支持对探测请求与实际业务数据流的识别以及统一将探测请求CLONE复制,分别放入每一个待处理队列,从而达到最大限度覆盖检验业务系统实际处理中各个队列的效果。
本发明实施例一中探测请求的逻辑处理一般会存在对业务系统的数据库数据访问和缓存访问,会导致对业务数据库的修改或对缓存数据的修改,同时也会在数据库和缓存中落入脏数据,所述脏数据指无效且可能对原有系统数据统计造成干扰的数据。为了克服所述问题,进一步的,本发明实施例一的状态检测方法还包括步骤S11:当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存。
进一步的,步骤S11包括以下:
S1101,业务系统的处理线程从处理队列获取探测请求;
S1103,业务系统的处理线程根据探测请求进行业务逻辑处理;
S1105,当业务逻辑处理需要访问数据库或者缓存时,调用访问数据库或者缓存的接口;
S1107,访问数据库或者缓存的接口通过根据探测标识识别出探测请求;
S1109,调用代理数据库或者代理缓存。
具体的代理数据库或者代理缓存可以单独设置于业务系统中,也可以单独设置于状态检测系统中。
进一步的,为了提高安全性,涉及到用户账号的内容,本发明实施例一使用代理数据库中的模拟账户数据进行,且模拟账户的账户数据采用“服务状态检测系统编号+模拟账户编号+账号+随机数”的格式进行区分,从而避免与真实数据库中的账户数据产生可能的混淆。
进一步的,为了进一步检测业务系统中的队列堵塞情况,本发明实施例一的状态检测方法还包括:业务系统反馈探测应答至服务状态检测系统;服务状态检测系统根据探测应答识别出队列堵塞异常;服务状态检测系统输出异常告警。具体的,当探测请求收到探测应答后,会对同一请求的应答进行多维度汇总对比,包括对同一请求不同处理队列耗时对比,如果有处理队列的应答耗时明显高于其它处理队列,说明业务系统可能开始出现了一定程度的处理队列堵塞,此外,如果通过相同处理队列前后耗时的对比,如果连续出现明显高耗时的情况,说明业务系统的处理队列出现了一定程度的堵塞当检测到以上两种情况时,服务状态检测系统输出异常告警。
为解决本发明技术问题,根据附图3所示:本发明实施例二提出了一种业务系统的状态检测系统,包括:服务状态检测系统及业务系统;服务状态检测系统发送探测请求至业务系统;业务系统根据探测标识识别出探测请求;业务系统根据处理队列个数复制探测请求;业务系统将复制的探测请求送入处理队列;业务系统通过处理队列处理探测请求;业务系统反馈探测应答至服务状态检测系统。
进一步的,探测请求包括实际业务请求字段及检测标识字段。
进一步的,业务系统包括代理调用模块,用于当探测请求处理需要访问数据库或者缓存时调用代理数据库或者代理缓存。
进一步的,代理调用模块包括:探测请求获取子单元,用于处理线程从处理队列获取探测请求;业务逻辑处理子单元,用于业务系统的处理线程根据探测请求进行业务逻辑处理;接口调用子单元,用于当业务逻辑处理需要访问数据库或者缓存时调用访问数据库或者缓存的接口;探测请求识别单元,用于访问数据库或者缓存的接口通过根据探测标识识别出探测请求;代理调用子单元,用于调用代理数据库或者代理缓存。
进一步的,代理数据库存储模拟账户数据,模拟账户数据的字段包括服务状态检测系统编号、模拟账户编号、账号及随机数。
进一步的,业务系统反馈探测应答至服务状态检测系统;服务状态检测系统根据探测应答识别出队列堵塞异常;服务状态检测系统输出异常告警。
进一步的,探测标识包括时间戳、业务系统名称、业务系统编号及业务名称。
本发明实施例二的具体实现与技术效果与实施例一一一对应,具体不在赘述。
下面,结合附图2、附图3,详细示例性的阐述本发明的具体实现:
如附图3所示,探测请求由服务状态检测系统主动发起,通过线上服务模块的业务逻辑处理后,返回应答到服务状态检测系统。每个探测请求对应设置唯一的探测标识,通过“时间戳+业务系统名称+业务系统编号+业务名称”组成,,用于业务系统进行识别,对于正常业务请求数据流和基于实际业务请求的探测数据流来说,可通过数据流报文头里面这个探测标识来区分,该标识仅用来判定是否需要clone复制数据,是否需要调用代理数据库或缓存务以及处理完成后是流向下一节点还是返回服务状态检测系统,除此之外探测请求的具体处理过程与正常业务请求处理过程一模一样,这样以达到最大限度模拟实际业务的目的,从而可以获取到实际业务处理最真实的状态。
同时,为了提高安全性,涉及到用户账号的内容,均使用探测系统数据库代理中的模拟账户数据进行,且模拟账户的账户数据采用“服务状态检测系统编号+模拟账户编号+账号+随机数”的格式进行区分,从而避免与真实数据库中的账户数据产生可能的混淆。线上服务模块如果存在多队列,探测请求将被 clone,放入每个队列执行业务逻辑,从而可以较为完整的检测服务的实际业务处理状态。
服务状态检测系统通过定时发送探测请求,匹配应答,从而能精确的探测出服务模块的实际业务逻辑的运行状态。具体流程如附图2所示,在业务系统框架层面增加了对正常业务请求和探测请求的处理。具体如下,首先,当业务系统收到请求时,会先通过报文头里面的标识判断该请求是正常业务请求还是由服务状态探测系统过来的探测请求,如果只是正常业务请求,那么将正常业务请求数据按原先分发算法放入对应的处理队列处理即可,如果是探测请求,那么会先复制出同等处理队列数量个数的请求,打上队列标识,送入每一个处理队列中。
处理线程从各自的队列中获取请求开始处理业务逻辑,当需要访问数据库或者缓存时,会调用框架的访问数据库和缓存的接口,该接口同样会通过报文头标志判断该请求是正常业务请求还是状态探测请求,如果只是正常业务请求,那么正常访问数据库继续下一步业务逻辑处理,如果是探测请求,那么,访问的将会是数据库代理或者缓存代理。这种做法的好处在于,探测请求不会在数据库和缓存中留下任何数据,也就是所谓的“脏数据”,不会对原有业务系统的业务统计造成干扰。
最后,当业务插件业务逻辑处理完成后,调用框架的报文流转接口,此时,报文流转接口同样会根据请求/应答头中的探测标识判断是正常业务请求还是探测请求,从而得到需要流转的下一节点。如果探测标识表明是探测请求,则直接返回给探测检测系统,如果只是正常业务请求,根据业务需要返回给前端或路由到下一处理节点。
当服务状态检测系统收到探测应答后,会对同一探测请求的应答进行多维度汇总对比,包括对同一请求不同队列耗时对比,如果有处理队列的应答耗时明显高于其它处理队列(例如相差超过500ms,该参数可设置),说明业务系统可能开始出现了一定程度的堵塞,此外,如果通过相同处理队列前后耗时的对比,如果连续出现明显高耗时的情况,说明业务系统的处理线程队列出现了一定程度的堵塞。
例如,某业务节点有4个处理线程,每个线程均对应有处理队列,假定某业务请求A在正常情况下,每次A业务的探测请求都应当返回4个耗时相差接近的应答,当某一时刻,假设监控告警某一个请求突然耗时比同一处理队列A 服务平均耗时多了200ms或同一次返回中某一个队列耗时比其它三个处理队列耗时多了200ms,此时服务状态探测检测系统发出异常告警。
目前我们的业务系统大多是在一个基础框架上面实现业务逻辑插件,业务插件的请求队列调度,对数据库资源的访问,以及请求的流转都是通过框架的接口进行,因此,我们对基础框架的这几个接口进行了适当改造,从而达到不修改业务插件,不涉及业务处理逻辑修改就支持服务状态监测功能的目的。经过一次修改后,所有使用该框架的业务系统只要升级基础框架即可支持该功能。主要的改造有如下:
对于请求调度分发接口,需要改造成能够支持识别报文头里面的探测标识,如果只是实际业务请求,按照原有逻辑处理即可,如果是探测请求,将请求clone复制,同时加入请求接受时间戳,请求分派进入队列的时间戳和对应的队列ID,然后分别放入每个队列。
对于数据库/缓存访问接口,需要改造成能够识别报文头里面的探测标识,如果只是正常业务请求,按照原有逻辑访问真实数据库/缓存服务即可,如果是探测请求,将访问服务状态检测系统的数据库/缓存代理服务
对于路由接口,需要改造成能够识别报文头里面的探测标识,如果仅仅是业务请求处理结果,按照原有逻辑流转到目标节点,如果是探测应答,将应答返回到服务状态检测系统,并记录下流转出去的时间。
为解决本发明技术问题,本发明实施例三提出了一种业务系统的状态检测方法,应用于业务系统,包括以下步骤:
S31,获取业务请求;
具体的,业务系统收到业务请求时,所述业务请求包括正常业务请求或由服务状态探测系统过来的探测请求,探测请求采用实际业务请求为基础。可选的,可以在探测请求的报文头里增加一个探测标识,通过探测标识来识别是正常业务请求还是探测请求。所述探测请求包括实际业务请求字段和探测标识,如探测请求是登录的探测请求,其实际业务请求字段可以包括登录名、登录密码等等。每个探测请求对应设置唯一的探测标识,探测标识可以采用数字、字母等多种字符,内容可以是时间戳、业务名称等。进一步的,所述探测标识可以通过“时间戳+业务系统名称+业务系统编号+业务名称”组成。
S33,根据探测标识在业务请求中识别出探测请求;
具体的,业务系统收到业务请求时,通过探测标识来识别是正常业务请求还是探测请求。可选的,业务系统收到业务请求时,会先通过报文头里面的探测标识判断该请求是正常业务请求还是由服务状态探测系统过来的探测请求。
S35,根据处理队列个数复制探测请求;
具体的,如果是正常业务请求,那么将请求数据按原先分发算法放入对应的处理队列处理即可;如果是探测请求,那么根据处理队列个数复制探测请求,复制探测请求的数量可以与处理队列个数相同,也可以多于处理队列个数。
S37,将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;
具体的,针对复制出的探测请求,打上队列标识,送入每一个处理队列中,以保证队列状态检测能全覆盖所有队列
S39,通过处理队列处理探测请求,并得到每个处理队列的探测应答。
具体的,针对本发明实施例三而言,同一正常业务请求的数据流和探测请求数据流来说,仅在报文头里面用字段标识进行区分,其它无任何区别,这样可以最大限度覆盖业务逻辑处理流程,从而得到业务处理的真实状态。现在的业务系统服务模块一般采用多队列、多线程设计,探测请求进入系统后,由框架的队列分发接口支持对探测请求与实际业务数据流的识别以及统一将探测请求CLONE复制,分别放入每一个待处理队列,从而达到最大限度覆盖检验业务系统实际处理中各个队列的效果。
本发明实施例三中探测请求的逻辑处理一般会存在对业务系统的数据库数据访问和缓存访问,会导致对业务数据库的修改或对缓存数据的修改,同时也会在数据库和缓存中落入脏数据,所述脏数据指无效且可能对原有系统数据统计造成干扰的数据。为了克服所述问题,进一步的本发明实施例一的状态检测方法还包括步骤S41,当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存。
进一步的,步骤S41包括以下:
S4101,处理线程从处理队列获取探测请求;业务系统的处理线程根据探测请求进行业务逻辑处理;
S4103,当业务逻辑处理需要访问数据库或者缓存时,调用访问数据库或者缓存的接口;
S4105,访问数据库或者缓存的接口通过根据探测标识识别出探测请求;
S4107,调用代理数据库或者代理缓存。
具体的代理数据库或者代理缓存可以单独设置于业务系统中,也可以单独设置于服务状态检测系统中。
进一步的,为了提高安全性,涉及到用户账号的内容,本发明实施例三使用代理数据库中的模拟账户数据进行,且模拟账户的账户数据采用“服务状态检测系统编号+模拟账户编号+账号+随机数”的格式进行区分,从而避免与真实数据库中的账户数据产生可能的混淆。
进一步的,为了进一步检测业务系统中的队列堵塞情况,本发明实施例三还包括以下步骤:业务系统反馈探测应答至服务状态检测系统,所述探测应答用于服务状态检测系统进行队列堵塞异常识别及告警。
具体的,当服务状态检测系统收到探测应答后,会对同一请求的应答进行多维度汇总对比,包括对同一探测请求不同处理队列耗时对比,如果有处理队列的应答耗时明显高于其它处理队列(例如相差超过500ms,该参数可设置),说明业务系统可能开始出现了一定程度的处理队列堵塞,此外,如果通过相同处理队列前后耗时的对比,如果连续出现明显高耗时的情况,说明业务系统的处理队列出现了一定程度的堵塞。
另一方面,本发明实施例四提出了一种电子设备,包括:处理器;存储装置,用于存储计算机程序;计算机程序用于处理器执行实现上述实施例三中的任一状态检测方法。具体实现与技术效果与实施例一一一对应,具体不在赘述。
另一方面,本发明实施例五提出了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例三中的任一状态检测方法。具体实现与技术效果与实施例一一一对应,具体不在赘述。
另一方面,如附图4所示,本发明实施例六提出了一种业务系统的状态检测装置,应用于业务系统,包括:业务请求接收模块,用于获取业务请求;探测请求识别模块,用于根据探测标识在业务请求中识别出探测请求;探测请求复制模块,用于根据处理队列个数复制探测请求;探测请求送入模块,用于将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;探测请求处理模块,用于通过处理队列处理探测请求,并得到每个处理队列的探测应答。
进一步的,还包括:代理调用模块,用于当探测请求处理需要访问数据库或者缓存时调用代理数据库或者代理缓存。
进一步的,代理数据库存储模拟账户数据,模拟账户数据的字段包括服务状态检测系统编号、模拟账户编号、账号及随机数。
进一步的,代理调用模块包括:探测请求获取子单元,用于处理线程从处理队列获取探测请求;业务逻辑处理子单元,用于业务系统的处理线程根据探测请求进行业务逻辑处理;接口调用子单元,用于当业务逻辑处理需要访问数据库或者缓存时调用访问数据库或者缓存的接口;探测请求识别单元,用于访问数据库或者缓存的接口通过根据探测标识识别出探测请求;代理调用子单元,用于调用代理数据库或者代理缓存。
进一步的,还包括探测应答反馈模块,用于反馈探测应答至服务状态检测系统,探测应答用于服务状态检测系统进行队列堵塞异常识别及告警。
进一步的,探测标识包括时间戳、业务系统名称、业务系统编号及业务名称
具体的,本发明实施例六技术实现及效果与本发明实施例三一一对应,具体不在赘述。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (17)

1.业务系统的状态检测方法,其特征在于,包括:
服务状态检测系统发送探测请求至业务系统;
业务系统根据探测标识识别出探测请求;
业务系统根据处理队列个数复制探测请求;
业务系统将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;
业务系统通过处理队列处理探测请求,并得到每个处理队列的探测应答。
2.根据权利要求1所述的业务系统的状态检测方法,其特征在于,所述探测请求包括实际业务请求字段和探测标识字段,所述探测请求对应设置唯一的探测标识。
3.根据权利要求1所述的业务系统的状态检测方法,其特征在于,还包括:当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存。
4.根据权利要求3所述的业务系统的状态检测方法,其特征在于:代理数据库存储模拟账户数据,模拟账户数据的字段包括服务状态检测系统编号、模拟账户编号、账号及随机数。
5.根据权利要求3所述的业务系统的状态检测方法,其特征在于,当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存包括:
业务系统的处理线程从处理队列获取探测请求;
业务系统的处理线程根据探测请求进行业务逻辑处理;
当业务逻辑处理需要访问数据库或者缓存时,调用访问数据库或者缓存的接口;
访问数据库或者缓存的接口通过探测标识识别出探测请求;
调用代理数据库或者代理缓存。
6.根据权利要求1-5所述的任一业务系统的状态检测方法,其特征在于,还包括:
业务系统反馈所述探测应答至服务状态检测系统;
服务状态检测系统根据探测应答识别处理队列的堵塞异常,并输出异常告警。
7.业务系统的状态检测系统,其特征在于,包括:服务状态检测系统及业务系统;
服务状态检测系统发送探测请求至业务系统;
业务系统根据探测标识识别出探测请求;
业务系统根据处理队列个数复制探测请求;
业务系统将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;
业务系统通过处理队列处理探测请求,并得到每个处理队列的探测应答。
8.业务系统的状态检测方法,应用于业务系统,其特征在于,包括:
获取业务请求;
根据探测标识在业务请求中识别出探测请求;
根据处理队列个数复制探测请求;
将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;
通过处理队列处理探测请求,并得到每个处理队列的探测应答。
9.根据权利要求8所述的业务系统的状态检测方法,应用于业务系统,其特征在于:所述探测请求包括实际业务请求字段和探测标识字段,所述探测请求对应设置唯一的探测标识。
10.根据权利要求9所述的业务系统的状态检测方法,应用于业务系统,其特征在于,还包括:当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存。
11.根据权利要求10所述的业务系统的状态检测方法,应用于业务系统,其特征在于:代理数据库存储模拟账户数据,模拟账户数据的字段包括服务状态检测系统编号、模拟账户编号、账号及随机数。
12.根据权利要求10所述的业务系统的状态检测方法,应用于业务系统,其特征在于,当探测请求处理需要访问数据库或者缓存时,调用代理数据库或者代理缓存包括:
处理线程从处理队列获取探测请求;
业务系统的处理线程根据探测请求进行业务逻辑处理;
当业务逻辑处理需要访问数据库或者缓存时,调用访问数据库或者缓存的接口;
访问数据库或者缓存的接口通过根据探测标识识别出探测请求;
调用代理数据库或者代理缓存。
13.根据权利要求9-12任一所述的业务系统的状态检测方法,其特征在于,还包括:反馈探测应答至服务状态检测系统,探测应答用于服务状态检测系统进行队列堵塞异常识别及告警。
14.根据权利要求9-12任一所述的业务系统的状态检测方法,其特征在于,所述探测标识包括时间戳、业务系统名称、业务系统编号及业务名称。
15.一种业务系统的状态检测装置,应用于业务系统,其特征在于,包括:
业务请求接收模块,用于获取业务请求;
探测请求识别模块,用于根据探测标识在业务请求中识别出探测请求;
探测请求复制模块,用于根据处理队列个数复制探测请求;
探测请求送入模块,用于将复制的探测请求送入处理队列,每个处理队列至少送入一个探测请求;
探测请求处理模块,用于通过处理队列处理探测请求,并得到每个处理队列的探测应答。
16.一种电子设备,其特征在于,包括:
处理器;
存储装置,用于存储计算机程序;
计算机程序用于处理器执行实现如权利要求9-13任一所述的状态检测方法。
17.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求9-13任一所述的状态检测方法。
CN201810927565.2A 2018-08-15 2018-08-15 业务系统的状态检测方法、系统、装置及计算机可读介质 Active CN109120691B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810927565.2A CN109120691B (zh) 2018-08-15 2018-08-15 业务系统的状态检测方法、系统、装置及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810927565.2A CN109120691B (zh) 2018-08-15 2018-08-15 业务系统的状态检测方法、系统、装置及计算机可读介质

Publications (2)

Publication Number Publication Date
CN109120691A CN109120691A (zh) 2019-01-01
CN109120691B true CN109120691B (zh) 2021-05-14

Family

ID=64852293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810927565.2A Active CN109120691B (zh) 2018-08-15 2018-08-15 业务系统的状态检测方法、系统、装置及计算机可读介质

Country Status (1)

Country Link
CN (1) CN109120691B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839828B (zh) * 2020-06-24 2023-06-27 北京字节跳动网络技术有限公司 一种网络质量探测方法、装置、终端设备及介质
CN113672464B (zh) * 2021-08-20 2024-03-26 中国电信股份有限公司 业务可用性的监测方法、装置和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079896A (zh) * 2007-06-22 2007-11-28 西安交通大学 一种并行存储系统的多可用性机制共存架构
CN103138995A (zh) * 2011-11-24 2013-06-05 中兴通讯股份有限公司 服务器性能测试的方法和装置
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统
CN106886492A (zh) * 2017-02-13 2017-06-23 北京趣拿软件科技有限公司 基于数据回放的测试方法和测试装置
CN107451046A (zh) * 2016-05-30 2017-12-08 腾讯科技(深圳)有限公司 一种检测线程的方法及终端
CN107783881A (zh) * 2017-09-13 2018-03-09 杭州天翼智慧城市科技有限公司 基于内存队列的网站动态性能监控方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079896A (zh) * 2007-06-22 2007-11-28 西安交通大学 一种并行存储系统的多可用性机制共存架构
CN103138995A (zh) * 2011-11-24 2013-06-05 中兴通讯股份有限公司 服务器性能测试的方法和装置
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统
CN107451046A (zh) * 2016-05-30 2017-12-08 腾讯科技(深圳)有限公司 一种检测线程的方法及终端
CN106886492A (zh) * 2017-02-13 2017-06-23 北京趣拿软件科技有限公司 基于数据回放的测试方法和测试装置
CN107783881A (zh) * 2017-09-13 2018-03-09 杭州天翼智慧城市科技有限公司 基于内存队列的网站动态性能监控方法及系统

Also Published As

Publication number Publication date
CN109120691A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
CN108039964B (zh) 基于网络功能虚拟化的故障处理方法及装置、系统
US8935395B2 (en) Correlation of distributed business transactions
US8650567B2 (en) Virtual machine monitoring method, system and computer readable storage medium
US20150120914A1 (en) Service monitoring system and service monitoring method
CN109471845A (zh) 日志管理方法、服务器及计算机可读存储介质
CN107015872A (zh) 监控数据的处理方法及装置
US9027025B2 (en) Real-time database exception monitoring tool using instance eviction data
CN104038466B (zh) 用于云计算环境的入侵检测系统、方法及设备
KR100926075B1 (ko) 웹어플리케이션 서버를 통한 데이터베이스 접근 감시 장치 및 방법
CN109787827B (zh) 一种cdn网络监控的方法及装置
CN109120691B (zh) 业务系统的状态检测方法、系统、装置及计算机可读介质
CN110555019B (zh) 一种基于业务端的数据清洗方法
CN110430070B (zh) 一种服务状态分析方法、装置、服务器、数据分析设备及介质
CN106375102A (zh) 一种服务注册方法、使用方法及相关装置
CN104461847B (zh) 数据处理程序检测方法及装置
US6925483B1 (en) System for characterizing information from an information producer
CN109726151B (zh) 用于管理输入输出栈的方法、设备和介质
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
CN110569178B (zh) 基于大数据平台的接口预警方法和系统
CN107357698A (zh) 一种获取bmc串口信息的方法及装置
JP2017199250A (ja) 計算機システム、データの分析方法、及び計算機
CN110569238A (zh) 一种基于大数据的数据治理方法、系统、存储介质和服务端
CN115686746A (zh) 访问方法、任务处理方法、计算设备及计算机存储介质
CN108880920A (zh) 云服务管理方法、装置以及电子设备
CN113778709A (zh) 接口调用方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200911

Address after: 310000 Hangsheng Building, 3588 Jiangnan Avenue, Binjiang District, Hangzhou City, Zhejiang Province, 11th Floor

Applicant after: HUNDSUN TECHNOLOGIES Inc.

Address before: 310000 Room 323, 3rd floor, Hang Seng Building, 3588 Jiangnan Avenue, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: ZHEJIANG JINGTENG NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant