CN106789431B - 一种超时监控方法及装置 - Google Patents

一种超时监控方法及装置 Download PDF

Info

Publication number
CN106789431B
CN106789431B CN201611219406.4A CN201611219406A CN106789431B CN 106789431 B CN106789431 B CN 106789431B CN 201611219406 A CN201611219406 A CN 201611219406A CN 106789431 B CN106789431 B CN 106789431B
Authority
CN
China
Prior art keywords
request message
message
key information
cache
request
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
CN201611219406.4A
Other languages
English (en)
Other versions
CN106789431A (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201611219406.4A priority Critical patent/CN106789431B/zh
Publication of CN106789431A publication Critical patent/CN106789431A/zh
Priority to US16/470,206 priority patent/US11611634B2/en
Priority to EP17887171.1A priority patent/EP3562096B1/en
Priority to PCT/CN2017/117733 priority patent/WO2018121404A1/zh
Application granted granted Critical
Publication of CN106789431B publication Critical patent/CN106789431B/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
    • 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
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • 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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • 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
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • 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
    • 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
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及数据处理技术领域,公开了一种超时监控方法及装置,包括:服务器确定请求消息的关键信息,所述关键信息包括请求消息的发送时间;所述服务器将所述关键信息存储至一级缓存;所述服务器按照设定频率扫描所述一级缓存,若所述一级缓存中包含第一请求消息,则将所述第一请求消息的关键信息存入二级缓存,所述第一请求消息为未收到应答消息的请求消息;所述服务器扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,若否,则所述第二请求消息超时,其中,所述第二请求消息为发送时间与当前时间之间的差值大于超时阈值的请求消息。本发明用以解决现有技术中对请求进行超时监控需要消耗较多数据库资源的问题。

Description

一种超时监控方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种超时监控方法及装置。
背景技术
在互联网中,一般是基于互联网协议发送数据请求,以请求获取数据信息。然而当前的网络环境非常复杂,并不是每一次数据请求都能及时地获取到相应的数据信息。相较于同步请求,异步请求是发送方发出数据后,不等接收方发回响应,直接发送下个数据包的通讯方式。在交易系统中,对于异步请求,发出请求后,需要对收到对方应答的返回时间进行监控,超过一定时间即认为该请求的应答超时无效。
常见的超时监控方式是发出请求后,将请求数据及相关时间戳记录在数据库内,对每一个发出的请求进行监控,当超出规定的时间间隔仍未收到对方的反馈,即当该请求的发出时间加上规定的时间间隔小于当前时间,则认为该请求的应答超时。这种实现方法将所有请求数据均存储到数据库中,且需要对所有请求挨个判断是否超时,数据库需要提供大量的资源进行存储和计算,压力较大,尤其在高并发的大量数据的情况下,对数据库的资源消耗非常严重。
发明内容
本发明实施例提供一种超时监控方法及装置,用以解决现有技术中对请求进行超时监控需要消耗较多数据库资源的问题。
本发明实施例提供的超时监控方法包括:
服务器确定请求消息的关键信息,所述关键信息包括请求消息的发送时间;
所述服务器将所述关键信息存储至一级缓存;
所述服务器按照设定频率扫描所述一级缓存,若所述一级缓存中包含第一请求消息,则将所述第一请求消息的关键信息存入二级缓存,所述第一请求消息为未收到应答消息的请求消息;
所述服务器扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,若否,则确定所述第二请求消息超时,其中,所述第二请求消息为发送时间与当前时间之间的差值大于超时阈值的请求消息。
可选的,还包括:
所述服务器若接收到应答消息,则在所述一级缓存中查找所述应答消息对应的请求消息;
若查找到所述应答消息对应的请求消息,则将所述应答消息对应的请求消息的关键信息标记为已应答。
可选的,所述服务器将所述关键信息存储至一级缓存,包括:
所述服务器确定将所述请求消息存储至一级缓存的写入时间;
所述服务器根据请求消息的写入时间对N取余数的结果,将所述请求消息的关键信息存入对应的内存区域中,所述一级缓存的内存被预先划分为N个内存区域,其中,每个内存区域的大小为单位时间内预估的交易笔数乘以关键信息的数据段大小。
可选的,所述服务器按照设定频率扫描所述一级缓存,包括:
所述服务器创建N个监控进程,每个监控进程对应一个内存区域,每个监控进程按照所述设定频率扫描对应的内存区域。
可选的,所述服务器扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,包括:
所述二级缓存采用链表方式,按照第一请求消息发送时间的先后从表头依次将第一请求消息的关键信息存入所述链表;
所述服务器从表头依次查询所述链表中第一请求消息的关键信息,判断所述第一请求消息的发送时间与当前时间之间的差值是否大于所述超时阈值;
若是,则将所述第一请求消息作为第二请求消息,根据所述第二请求消息的消息日志确定所述第二请求消息是否收到应答消息;若否,则对所述第二请求消息进行超时处理。
一种超时监控装置,包括:
写入模块,用于确定请求消息的关键信息,所述关键信息包括请求消息的发送时间;
所述写入模块,还用于将所述关键信息存储至一级缓存;
第一监控模块,用于按照设定频率扫描所述一级缓存,若所述一级缓存中包含第一请求消息,则将所述第一请求消息的关键信息存入二级缓存,所述第一请求消息为未收到应答消息的请求消息;
第二监控模块,用于扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,若否,则确定所述第二请求消息超时,其中,所述第二请求消息为发送时间与当前时间之间的差值大于超时阈值的请求消息。
可选的,所述写入模块,还用于:
若接收到应答消息,则在所述一级缓存中查找所述应答消息对应的请求消息;
若查找到所述应答消息对应的请求消息,则将所述应答消息对应的请求消息的关键信息标记为已应答。
可选的,所述写入模块,具体用于:
确定将所述请求消息存储至一级缓存的写入时间;
根据请求消息的写入时间对N取余数的结果,将所述请求消息的关键信息存入对应的内存区域中,所述一级缓存的内存被预先划分为N个内存区域,其中,每个内存区域的大小为单位时间内预估的交易笔数乘以关键信息的数据段大小。
可选的,所述第一监控模块,具体用于
所述服务器创建N个监控进程,每个监控进程对应一个内存区域,每个监控进程按照所述设定频率扫描对应的内存区域。
可选的,所述第二监控模块,具体用于:
所述二级缓存采用链表方式,按照第一请求消息发送时间的先后从表头依次将第一请求消息的关键信息存入所述链表;
从表头依次查询所述链表中第一请求消息的关键信息,判断所述第一请求消息的发送时间与当前时间之间的差值是否大于所述超时阈值;
若是,则将所述第一请求消息作为第二请求消息,根据所述第二请求消息的消息日志确定所述第二请求消息是否收到应答消息;若否,则对所述第二请求消息进行超时处理。
本发明实施例中,服务器发出请求消息后,将请求消息的关键信息存储至一级缓存,请求消息的关键信息中包括该请求消息的发送时间。服务器按照设定频率扫描一级缓存,根据关键信息确定一级缓存中的请求消息是否收到应答消息,将未收到应答消息的请求消息作为第一请求消息,并将第一请求消息的关键信息存入二级缓存。由于大多数请求消息会在很短的时间内反馈应答消息,因此,只需将一级缓存中很少数量的请求消息作为第一请求消息,存入二级缓存。此外,服务器扫描二级缓存,根据二级缓存中的关键信息,确定请求消息的发送时间与当前时间之间的差值,若该差值大于超时阈值,则将请求消息作为第二请求消息,查找该第二请求消息的消息日志,根据消息日志确定第二请求消息是否收到应答消息。如果第二请求消息仍未收到应答消息,则确定第二请求消息超时。本发明实施例将请求消息的关键信息存入缓存中,通过缓存监控请求消息的应答情况,无需数据库进行存储和计算,缓解了数据库资源的消耗,减轻了数据库的压力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种超时监控方法的流程图;
图2为本发明实施例适用的一种系统架构;
图3为本发明的具体实施例中超时监控方法的流程图;
图4为本发明实施例中一种超时监控装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种超时监控方法,其流程如图1所示,方法可以包括如下步骤:
步骤101、服务器确定请求消息的关键信息,所述关键信息包括请求消息的发送时间。
上述步骤中,请求消息的关键信息包括请求消息的发送时间,服务器将请求消息的发送时间存储在缓存中,可以根据该发送时间计算未收到应答消息的请求消息是否已超过应答时限。另外,关键信息中还包括该请求消息的主键,在分布式缓存中,可以根据请求消息的主键从服务器中快速查询到该请求消息的相关信息。
步骤102、所述服务器将所述关键信息存储至一级缓存。
步骤103、所述服务器按照设定频率扫描所述一级缓存,若所述一级缓存中包含第一请求消息,则将所述第一请求消息的关键信息存入二级缓存,所述第一请求消息为未收到应答消息的请求消息。
步骤104、所述服务器扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,若否,则确定所述第二请求消息超时,其中,所述第二请求消息为发送时间与当前时间之间的差值大于超时阈值的请求消息。
本发明实施例中,服务器发出请求消息后,将请求消息的关键信息存储至一级缓存,请求消息的关键信息中包括该请求消息的发送时间。服务器按照设定频率扫描一级缓存,根据关键信息确定一级缓存中的请求消息是否收到应答消息,将未收到应答消息的请求消息作为第一请求消息,并将第一请求消息的关键信息存入二级缓存。由于大多数请求消息会在很短的时间内反馈应答消息,因此,只需将一级缓存中很少数量的请求消息作为第一请求消息,存入二级缓存。此外,服务器扫描二级缓存,根据二级缓存中的关键信息,确定请求消息的发送时间与当前时间之间的差值,若该差值大于超时阈值,则将请求消息作为第二请求消息,查找该第二请求消息的消息日志,根据消息日志确定第二请求消息是否收到应答消息。如果第二请求消息仍未收到应答消息,则确定第二请求消息超时。本发明实施例将请求消息的关键信息存入缓存中,通过缓存监控请求消息的应答情况,无需数据库进行存储和计算,缓解了数据库资源的消耗,减轻了数据库的压力。
本发明实施例中,为了缓解数据库的压力,服务器设立了两级缓存,其中,一级缓存由于需要存储所有发出的请求消息的关键信息,相较于二级缓存,需要较大的容量,一般设计为共享内存的形式。此外,为了提高效率,若业务量较小,也可以根据交易量和业务需要,设计为进程内内存数据或者内存映射的形式,内存映射可以提供断电恢复或短暂停机恢复的能力,在内存操作的同时可以由操作系统写入文件。因此,二级缓存也可为共享内存,而业务量较小的情况下,可以将第二请求消息直接在进程内内存空间存放,这样可以进一步提高效率。
为了便于监管,一级缓存被划分为多个内存区域,上述步骤102包括:
所述服务器确定将所述请求消息存储至一级缓存的写入时间;
所述服务器根据请求消息的写入时间对N取余数的结果,将所述请求消息的关键信息存入对应的内存区域中,所述一级缓存的内存被预先划分为N个内存区域,其中,每个内存区域的大小为单位时间内预估的交易笔数乘以关键信息的数据段大小。
具体来说,一级缓存的内存预先被划分为N个内存区域,为了便于计算和归类,一般根据超时阈值确定N的取值,由于超时阈值一般为几十秒,相应的,N的取值也可为几十,本发明实施例中,将N的取值设定为60,即一级缓存的内存划分为60个内存区域。为了便于描述,将这60个内存区域编号为0~59。
请求消息发出后,服务器将请求消息的关键信息加入队列中,等待写入一级缓存。将关键信息存入一级缓存时,根据当前的写入时间,将写入时间按对N去余数,并根据计算结果将关键信息存入对应的内存区域内。例如,本发明实施例中N的取值为60,内存区域的编号为0~59。若将关键信息存入一级缓存的当前的写入时间是13时48分34秒,将该写入时间对60秒取余数,计算结果为34,因此,将该请求消息的关键信息存入编号为34的内存区域中。
为了保证内存区域的容量,并兼顾服务器的工作效率,本发明实施例中,服务器对一级缓存的内存区域进行初始化,一个内存区域的初始化大小为单位时间内预估的交易笔数乘以关键信息的数据段大小,由于每个请求消息的关键信息的数据段大小相同,因此,同一时间段内,每个内存区域的大小相同。对于不同时间段,单位时间的交易笔数越多,内存区域初始化越大。由于内存区域的大小在初始化中决定,且按照预估的单位时间交易笔数峰值确定,这样能够确保有足够的存储空间存入关键信息。此外,对于不同时间段,可通过调整参数进而重新申请并分配足够大小的内存区域。
服务器将关键信息存入内存区域的同时,也以一定频率扫描每个内存区域。为了保证效率,便于管理,服务器针对每个内存区域分别扫描。则上述步骤103,所述服务器按照设定频率扫描所述一级缓存,包括:
所述服务器创建N个监控进程,每个监控进程对应一个内存区域,每个监控进程按照所述设定频率扫描对应的内存区域。
也就是说,对应于N个内存区域,本发明实施例中的服务器设立N个监控进程,每个监控进程对应一个内存区域,每个监控进程负责从对应的内存区域的起始点开始,扫描内存区域。根据大数据统计,一般来说,95%以上的请求消息在5秒内都会收到应答消息,其中,又有近99%的请求消息是在2秒内收到应答消息,基于此,监控进程对内存区域的扫描间隔一般设置为1至2秒,即每隔2秒监控进程扫描一次相应的内存区域。服务器将收到的请求消息从内存区域的起始点存入对应的内存区域。监控进程从内存区域的起始点开始扫描该内存区域,监控进程可以在每次扫描的起始处设置一个结束标记,这样,监控进程直至扫描到内存区域内的第一个结束标记即结束本次扫描,或者也可以监控进程每次扫描均扫描到对应的内存区域的终点。
服务器将请求消息的关键信息存入一级缓存后,若接收到该请求消息的响应消息,则修改请求消息的关键信息。本发明实施例还包括:
所述服务器若接收到应答消息,则在所述一级缓存中查找所述应答消息对应的请求消息;
若查找到所述应答消息对应的请求消息,则将所述应答消息对应的请求消息的关键信息标记为已应答。
具体地,在扫描的间隙,若服务器接收到响应消息,则在一级缓存中查找对应的请求消息,若查找到对应的请求消息,则将该请求消息的关键信息标记为已应答。这样,当服务器扫描到该请求消息的关键信息,确定该请求消息已收到应答消息,则不对该请求消息进行其它处理。若该请求消息未收到应答消息,即相应的关键信息未被标记为已应答,则服务器将该请求消息作为第一请求消息,将其关键信息存入二级缓存中,同时删除一级缓存中该请求消息的关键信息。
针对二级缓存,由于请求消息的关键信息已经过一级缓存的监控和过滤,二级缓存中存储的关键信息已小于所有关键信息的总量的5%,因此,二级缓存占的内存空间很小,可以采用进程内链表实现。本发明实施例中,所述服务器扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,包括:
所述二级缓存采用链表方式,按照第一请求消息发送时间的先后从表头依次将第一请求消息的关键信息存入所述链表;
所述服务器从表头依次查询所述链表中第一请求消息的关键信息,判断所述第一请求消息的发送时间与当前时间之间的差值是否大于所述超时阈值;
若是,则将所述第一请求消息作为第二请求消息,根据所述第二请求消息的消息日志确定所述第二请求消息是否收到应答消息;若否,则对所述第二请求消息进行超时处理。
本发明实施例中,按照第一请求消息发送时间的前后顺序,从表头依次将第一请求消息的关键信息存入二级缓存中,则二级缓存的表头为发送最早的第一请求消息,表尾为发送最晚的第一请求消息。不同于N个监控进程对一级缓存进行扫描,本发明实施例中设置一个监控进程对二级缓存进行扫描,为了方便描述,将对一级缓存进行扫描的N个监控进程作为一级监控进程,将对二级缓存进行扫描的监控进程做为二级监控进程。二级监控进程循环扫描二级缓存链表,从表头开始,判定二级缓存链表中是否为空,若为空则等待下一次扫描,若不为空,则从第一个请求消息开始,根据二级缓存中存储的关键信息,判断第一请求消息的发送时间与当前时间之间的差值是否大于超时阈值,即判断第一请求消息是否超时,若否,则二级监控进程下移到二级缓存中的第二个请求消息继续研判;若是,即第一请求消息的发送时间与当前时间的差值已大于超时阈值,则将该第一请求消息作为第二请求消息,根据其关键信息查询相应的消息日志,根据第二请求消息的消息日志确定第二请求消息是否收到应答消息,若是,则该第二请求消息已收到应答消息,不对其做超时处理;若否,即该第二请求消息仍未收到应答消息,则调用外部超时处理服务对该第二请求消息进行超时处理。之后,无论该第二请求消息是否收到应答消息,二级监控进程均下移到二级缓存中的第二个请求消息继续研判,直至将二级缓存中的请求消息全部研判。
进一步,本发明实施例中,还配备异常捕捉装置,负责捕捉在服务器故障或重新启动过程中发出的请求消息,使得服务器可以重新处理这段时间内发出的请求消息。或者在人工干预下,通过该异常捕捉装置,从数据库内捕捉基于指定时间点开始的请求消息,调用服务器重新处理。
为了更清楚地理解本发明,下面以具体的实施例对上述流程进行详细描述,该具体的实施例中,包括消息写入单元、一级缓存、一级监控进程、二级缓存和二级监控进程,如图2所示,其中,消息写入单元负责获取已发出的请求消息的关键信息,并将关键信息写入一级缓存中,一级缓存中包括60个内存区域,编号为0~59,一级监控进程的数量也为60个,分别与一级缓存的60个内存区域一一对应,负责分别监控一级缓存中对应的内存区域,并将未收到应答消息的关键信息写入二级缓存中。二级监控负责监控二级缓存中的关键信息,若超出超时阈值,查阅消息日志表,确定仍未收到应答消息的请求消息,并调用外部超时处理装置对这些请求消息进行超时处理。
具体实施例的步骤如图3所示,包括:
步骤301、消息写入单元获取请求消息的关键信息,关键信息包括请求消息的发送时间。
步骤302、消息写入单元确定将请求消息存储至一级缓存的写入时间,根据写入时间对60秒取余数的结果,将请求消息的关键信息存入对应的内存区域中。
步骤303、消息写入单元接收应答消息,在一级缓存中查找该应答消息对应的请求消息,若查找到,则将该请求消息的关键信息标记为已应答。
步骤304、一级监控进程按照设定频率,扫描一级缓存内对应的内存区域,若发现没有已应答标记的关键信息,则作为第一请求消息,并将第一请求消息的关键信息存入二级缓存中。
步骤305、二级监控进程从表头扫描二级缓存的内存区域,从第一请求消息的关键信息中,确定出发送时间与当前时间之间的差值大于超时阈值的第一请求消息,作为第二请求消息。
步骤306、二级监控进程根据第二请求消息的关键信息查找消息日志,确定第二请求消息仍收到应答消息。
步骤307、二级监控进程调用外部装置对第二请求消息进行超时处理。
需要说明的是,上述步骤中,消息写入单元、一级监控进程和二级监控进程执行操作的顺序并无先后顺序,即消息写入单元将请求消息的关键信息写入一级缓存的同时,一级监控进程也在以设定频率扫描一级缓存,并且同时,二级监控也在周期性地扫描二级缓存。上述步骤编号仅是为了叙述方便。
基于相同的技术构思,本发明实施例还提供一种超时监控装置,如图4所示,包括:
写入模块401,用于确定请求消息的关键信息,所述关键信息包括请求消息的发送时间;
所述写入模块401,还用于将所述关键信息存储至一级缓存;
第一监控模块402,用于按照设定频率扫描所述一级缓存,若所述一级缓存中包含第一请求消息,则将所述第一请求消息的关键信息存入二级缓存,所述第一请求消息为未收到应答消息的请求消息;
第二监控模块403,用于扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,若否,则确定所述第二请求消息超时,其中,所述第二请求消息为发送时间与当前时间之间的差值大于超时阈值的请求消息。
所述写入模块401,还用于:
若接收到应答消息,则在所述一级缓存中查找所述应答消息对应的请求消息;
若查找到所述应答消息对应的请求消息,则将所述应答消息对应的请求消息的关键信息标记为已应答。
所述写入模块401,具体用于:
确定将所述请求消息存储至一级缓存的写入时间;
根据请求消息的写入时间对N取余数的结果,将所述请求消息的关键信息存入对应的内存区域中,所述一级缓存的内存被预先划分为N个内存区域,其中,每个内存区域的大小为单位时间内预估的交易笔数乘以关键信息的数据段大小。
所述第一监控模块402,具体用于
所述服务器创建N个监控进程,每个监控进程对应一个内存区域,每个监控进程按照所述设定频率扫描对应的内存区域。
所述第二监控模块403,具体用于:
所述二级缓存采用链表方式,按照第一请求消息发送时间的先后从表头依次将第一请求消息的关键信息存入所述链表;
从表头依次查询所述链表中第一请求消息的关键信息,判断所述第一请求消息的发送时间与当前时间之间的差值是否大于所述超时阈值;
若是,则将所述第一请求消息作为第二请求消息,根据所述第二请求消息的消息日志确定所述第二请求消息是否收到应答消息;若否,则对所述第二请求消息进行超时处理。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种超时监控方法,其特征在于,包括:
服务器确定请求消息的关键信息,所述关键信息包括请求消息的发送时间;
所述服务器将所述关键信息存储至一级缓存;
所述服务器按照设定频率扫描所述一级缓存,若所述一级缓存中包含第一请求消息,则将所述第一请求消息的关键信息存入二级缓存,所述第一请求消息为未收到应答消息的请求消息;
所述服务器扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,若否,则确定所述第二请求消息超时,其中,所述第二请求消息为发送时间与当前时间之间的差值大于超时阈值的请求消息。
2.如权利要求1所述的方法,其特征在于,还包括:
所述服务器若接收到应答消息,则在所述一级缓存中查找所述应答消息对应的请求消息;
若查找到所述应答消息对应的请求消息,则将所述应答消息对应的请求消息的关键信息标记为已应答。
3.如权利要求1所述的方法,其特征在于,所述服务器将所述关键信息存储至一级缓存,包括:
所述服务器确定将所述请求消息存储至一级缓存的写入时间;
所述服务器根据请求消息的写入时间对N取余数的结果,将所述请求消息的关键信息存入对应的内存区域中,所述一级缓存的内存被预先划分为N个内存区域,其中,每个内存区域的大小为单位时间内预估的交易笔数乘以关键信息的数据段大小。
4.如权利要求3所述的方法,其特征在于,所述服务器按照设定频率扫描所述一级缓存,包括:
所述服务器创建N个监控进程,每个监控进程对应一个内存区域,每个监控进程按照所述设定频率扫描对应的内存区域。
5.如权利要求1所述的方法,其特征在于,所述服务器扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,包括:
所述二级缓存采用链表方式,按照第一请求消息发送时间的先后从表头依次将第一请求消息的关键信息存入所述链表;
所述服务器从表头依次查询所述链表中第一请求消息的关键信息,判断所述第一请求消息的发送时间与当前时间之间的差值是否大于所述超时阈值;
若是,则将所述第一请求消息作为第二请求消息,根据所述第二请求消息的消息日志确定所述第二请求消息是否收到应答消息;若否,则对所述第二请求消息进行超时处理。
6.一种超时监控装置,其特征在于,包括:
写入模块,用于确定请求消息的关键信息,所述关键信息包括请求消息的发送时间;
所述写入模块,还用于将所述关键信息存储至一级缓存;
第一监控模块,用于按照设定频率扫描所述一级缓存,若所述一级缓存中包含第一请求消息,则将所述第一请求消息的关键信息存入二级缓存,所述第一请求消息为未收到应答消息的请求消息;
第二监控模块,用于扫描所述二级缓存,通过消息日志确定所述二级缓存中的第二请求消息是否收到应答消息,若否,则确定所述第二请求消息超时,其中,所述第二请求消息为发送时间与当前时间之间的差值大于超时阈值的请求消息。
7.如权利要求6所述的装置,其特征在于,所述写入模块,还用于:
若接收到应答消息,则在所述一级缓存中查找所述应答消息对应的请求消息;
若查找到所述应答消息对应的请求消息,则将所述应答消息对应的请求消息的关键信息标记为已应答。
8.如权利要求6所述的装置,其特征在于,所述写入模块,具体用于:
确定将所述请求消息存储至一级缓存的写入时间;
根据请求消息的写入时间对N取余数的结果,将所述请求消息的关键信息存入对应的内存区域中,所述一级缓存的内存被预先划分为N个内存区域,其中,每个内存区域的大小为单位时间内预估的交易笔数乘以关键信息的数据段大小。
9.如权利要求8所述的装置,其特征在于,所述第一监控模块,具体用于
创建N个监控进程,每个监控进程对应一个内存区域,每个监控进程按照所述设定频率扫描对应的内存区域。
10.如权利要求6所述的装置,其特征在于,所述第二监控模块,具体用于:
所述二级缓存采用链表方式,按照第一请求消息发送时间的先后从表头依次将第一请求消息的关键信息存入所述链表;
从表头依次查询所述链表中第一请求消息的关键信息,判断所述第一请求消息的发送时间与当前时间之间的差值是否大于所述超时阈值;
若是,则将所述第一请求消息作为第二请求消息,根据所述第二请求消息的消息日志确定所述第二请求消息是否收到应答消息;若否,则对所述第二请求消息进行超时处理。
CN201611219406.4A 2016-12-26 2016-12-26 一种超时监控方法及装置 Active CN106789431B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201611219406.4A CN106789431B (zh) 2016-12-26 2016-12-26 一种超时监控方法及装置
US16/470,206 US11611634B2 (en) 2016-12-26 2017-12-21 Method and device for timeout monitoring
EP17887171.1A EP3562096B1 (en) 2016-12-26 2017-12-21 Method and device for timeout monitoring
PCT/CN2017/117733 WO2018121404A1 (zh) 2016-12-26 2017-12-21 一种超时监控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611219406.4A CN106789431B (zh) 2016-12-26 2016-12-26 一种超时监控方法及装置

Publications (2)

Publication Number Publication Date
CN106789431A CN106789431A (zh) 2017-05-31
CN106789431B true CN106789431B (zh) 2019-12-06

Family

ID=58926970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611219406.4A Active CN106789431B (zh) 2016-12-26 2016-12-26 一种超时监控方法及装置

Country Status (4)

Country Link
US (1) US11611634B2 (zh)
EP (1) EP3562096B1 (zh)
CN (1) CN106789431B (zh)
WO (1) WO2018121404A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789431B (zh) 2016-12-26 2019-12-06 中国银联股份有限公司 一种超时监控方法及装置
CN109901918B (zh) * 2017-12-08 2024-04-05 北京京东尚科信息技术有限公司 一种处理超时任务的方法和装置
CN108712494A (zh) * 2018-05-18 2018-10-26 阿里巴巴集团控股有限公司 处理异步消息的方法、装置及设备
CN108418903B (zh) * 2018-05-28 2024-02-02 苏州德姆斯信息技术有限公司 嵌入式软件日志远程访问系统及访问方法
CN109543988A (zh) * 2018-11-16 2019-03-29 中国银行股份有限公司 优化交易超时阀值的方法、装置和存储介质
CN111611090B (zh) * 2020-05-13 2021-12-28 浙江创邻科技有限公司 分布式消息处理方法及系统
CN112104521A (zh) * 2020-09-08 2020-12-18 北京金山云网络技术有限公司 请求超时监控方法、装置、计算机设备和存储介质
CN112181701A (zh) * 2020-09-23 2021-01-05 中国建设银行股份有限公司 一种定位异常业务请求的方法和装置
CN112787958B (zh) * 2021-01-05 2022-09-20 北京字跳网络技术有限公司 延迟消息处理方法及设备
CN113115138B (zh) * 2021-03-24 2022-08-05 烽火通信科技股份有限公司 消息交互超时判断方法、装置、设备及存储介质

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197599B1 (en) * 1997-09-26 2015-11-24 Verizon Patent And Licensing Inc. Integrated business system for web based telecommunications management
US8176186B2 (en) * 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US8938553B2 (en) * 2003-08-12 2015-01-20 Riverbed Technology, Inc. Cooperative proxy auto-discovery and connection interception through network address translation
JP4144882B2 (ja) * 2004-05-14 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体
CN100471128C (zh) 2005-12-30 2009-03-18 华为技术有限公司 一种实现设备状态轮询的方法及装置
US7720990B2 (en) * 2007-01-10 2010-05-18 International Business Machines Corporation Method and apparatus for handling service requests in a data processing system
US8561116B2 (en) * 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
CN101702173A (zh) * 2009-11-11 2010-05-05 中兴通讯股份有限公司 一种提高移动门户网站动态页面访问速度的方法和装置
US8452888B2 (en) * 2010-07-22 2013-05-28 International Business Machines Corporation Flow control for reliable message passing
WO2013015835A1 (en) * 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
GB2497012B (en) * 2010-07-26 2013-10-30 Seven Networks Inc Mobile network traffic coordination across multiple applications
CN108156265B (zh) * 2010-11-22 2019-03-26 杭州硕文软件有限公司 一种应用程序控制方法及移动设备
EP2702500B1 (en) * 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US9996403B2 (en) * 2011-09-30 2018-06-12 Oracle International Corporation System and method for providing message queues for multinode applications in a middleware machine environment
CN103581225A (zh) * 2012-07-25 2014-02-12 中国银联股份有限公司 分布式系统中的节点处理任务的方法
US20140082129A1 (en) * 2012-09-18 2014-03-20 Netapp, Inc. System and method for managing a system of appliances that are attached to a networked file system
US9628346B2 (en) * 2012-12-13 2017-04-18 Level 3 Communications, Llc Devices and methods supporting content delivery with reducer services
WO2014107602A1 (en) * 2013-01-03 2014-07-10 Huawei Technologies Co., Ltd. An end-user carried location hint for content in information-centric networks
US9584617B2 (en) * 2013-12-31 2017-02-28 Successfactors, Inc. Allocating cache request in distributed cache system based upon cache object and marker identifying mission critical data
WO2015100653A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种数据缓存方法、装置及系统
US20150339178A1 (en) * 2014-05-21 2015-11-26 Freescale Semiconductor, Inc. Processing system and method of operating a processing system
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
JP6370993B2 (ja) * 2014-08-07 2018-08-08 インテル アイピー コーポレイション サード・パーティー・サーバが問題に直面した場合のアプリケーションからのトラフィックのコントロール
CN105471616B (zh) 2014-09-12 2019-02-12 博雅网络游戏开发(深圳)有限公司 缓存系统管理方法和系统
CN104917645B (zh) 2015-04-17 2018-04-13 浪潮电子信息产业股份有限公司 一种在线检测报文传输超时的方法与装置
US9747179B2 (en) * 2015-10-29 2017-08-29 Netapp, Inc. Data management agent for selective storage re-caching
CN105516548B (zh) 2015-11-27 2019-01-11 中央电视台 一种文件预读方法及装置
CN105847184A (zh) 2016-02-22 2016-08-10 乐视移动智能信息技术(北京)有限公司 用于android操作系统的网络请求方法、装置和系统
CN105721632A (zh) * 2016-04-12 2016-06-29 上海斐讯数据通信技术有限公司 一种基于dns机制的无线接入方法及无线接入设备
CN106210021A (zh) * 2016-07-05 2016-12-07 中国银行股份有限公司 金融应用系统联机业务的实时监控方法以及监控装置
CN108073446B (zh) * 2016-11-10 2020-11-17 华为技术有限公司 超时预判方法及装置
CN106789431B (zh) 2016-12-26 2019-12-06 中国银联股份有限公司 一种超时监控方法及装置

Also Published As

Publication number Publication date
WO2018121404A1 (zh) 2018-07-05
EP3562096A4 (en) 2020-01-01
EP3562096A1 (en) 2019-10-30
US11611634B2 (en) 2023-03-21
EP3562096B1 (en) 2023-04-19
CN106789431A (zh) 2017-05-31
US20200021665A1 (en) 2020-01-16

Similar Documents

Publication Publication Date Title
CN106789431B (zh) 一种超时监控方法及装置
CN110719332B (zh) 数据传输方法、装置、系统、计算机设备和存储介质
CN108287751B (zh) 任务执行方法及装置、分布式系统
CN111143163B (zh) 数据监控方法、装置、计算机设备和存储介质
CN110493075B (zh) 设备在线时长监测的方法、装置及系统
CN109669795A (zh) 崩溃信息处理方法及装置
CN111538563A (zh) 一种对Kubernetes的事件分析方法及装置
CN110231998B (zh) 分布式定时任务的检测方法、装置及存储介质
CN111159233B (zh) 分布式缓存方法、系统、计算机设备以及存储介质
CN106250290A (zh) 异常信息的分析方法及装置
CN111479161B (zh) 一种直播的质量数据上报方法和装置
CN110839061B (zh) 数据分发方法、装置及存储介质
CN110442439B (zh) 任务进程处理方法、装置和计算机设备
WO2017036238A1 (zh) 一种业务节点的调整方法、装置及设备
CN113630442B (zh) 数据传输方法、装置及系统
CN116107503A (zh) 数据传输方法、装置及电子设备
CN114553944A (zh) 预警消息推送方法和系统
CN115314361A (zh) 一种服务器集群管理方法及其相关组件
CN111148159B (zh) 数据传输方法、装置、设备及计算机可读存储介质
CN114584573A (zh) 一种基于长轮询机制的节点机信息同步方法
CN110493240B (zh) 网站篡改的检测方法及装置、存储介质、电子装置
CN112533246A (zh) 一种智能设备设备频繁网络请求的监控系统及方法
CN111125479B (zh) 站点访问的统计方法、装置、计算机设备和存储介质
CN112764988A (zh) 一种数据分段采集方法及装置
CN105187472A (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
GR01 Patent grant
GR01 Patent grant