初始值,即增加对目标交易请求的并发数,具体可以一次性地将该目标交易请求的当前并发数恢复至预设初始值,也可以逐渐恢复,本申请对此不作限定。当然,在对目标交易请求的当前并发数进行动态调整过程中,若其当前并发数达到预设下限值,为了不浪费系统资源等因素,将不再继续减少其当前并发数。
[0074]可选的,在恢复目标交易请求的当前并发数时,若该目标交易请求被记录了,可以删除该记录,
[0075]步骤S170:输出超时提示信息。
[0076]在本实施例中,若按照上述监控步骤,对目标交易请求的当前并发数进行调整后,其响应时间仍大于该预设警戒时间,此时,可以输出超时提示信息,已告知发送该目标交易请求的客户端,可重新发送同一交易码的交易请求。
[0077]其中,本实施并不限定该超时提示信息的具体输出方式,可以是语音方式、报警提示音方式,也可以是在发送给目标交易请求的客户端输出提示窗口的方式等等,本申请在此不再一一列举。
[0078]作为本申请另一实施例,在上述实施例的基础上,按照上述监控方法对目标交易请求的当前并发数进行动态调整后,当前服务为当前正在处理的交易请求预留出了更多的资源,通常情况下就会加快系统对这些交易请求的处理速度,那么在要恢复目标交易请求的当前并发数时,可经第二预设时间,可进一步验证目标交易请求的第三响应时间是否小于预设警戒时间,若是,可以将该目标交易请求的当前并发数恢复至预设初始值,即系统最初对该目标交易请求预设的并发数量,可以是其预设的并发流控阈值,本申请对此不作具体限定;若否,将按照上述实例的监控方式继续对其当前并发数进行动态调整或在其当前并发数达到预设下限值时输出超时提示,拒绝本次交易请求等。其中,该第二预设时间可以是交易请求的并发数恢复时间,具体可根据当前并发数以及预设初始值的具体数值确定,本申请并不限定其具体数值。
[0079]综上所述,在本实施例中,通过对当前服务上正在处理的交易请求的第一响应时间进行监测,当存在第一响应时间超过预设警戒时间的交易请求,将该交易请求记录为目标交易请求,并减小该目标交易请求的当前并发数,当经第一预设时间,验证检测到的该目标交易请求的第二响应时间仍大于预设警戒时间,返回该减小该目标交易请求的当前并发数步骤,直至该目标交易请求的当前并发数达到其预设下限值。可见,本实施这种根据交易请求的响应时间的变化,动态调整该交易请求的当前并发数的方式,无需人工干预,也能够为当前服务中的其他正常交易请求预留一定的处理资源,使得其他正常交易请求能够快速得到处理,确保整个服务不会因此而瘫痪,使得客户拥有较好的体验。
[0080]如图2所示,为本申请提供的另一种监控方法实施例的流程示意图,该方法可以包括:
[0081]步骤S210:监测当前服务中正在处理的交易请求的第一响应时间。
[0082]步骤S220:判断当前服务中正在处理的交易请求中是否存在已被记录的目标交易请求,若是,进入步骤S270 ;若否,进入步骤S230。
[0083]在本实施例实际应用,可使用独立的线程对当前服务中正在处理的交易请求进行检测,并通过定时扫描这些线程的检测结果,从而达到监测当前服务中正在处理的交易请求的第一响应时间的目的,但并不局限于这一种实现方式。
[0084]其中,结合上述分析可知,对于响应时间超过预设警戒时间的交易请求,通常会在其对应的线程中进行记录,以便后续进一步验证该交易请求的响应时间是否小于预设警戒时间,所以,在对当前正在处理的交易请求进行监测过程中,可先判断这些正在处理的交易请求是否已被记录,在此,可将被记录的交易请求作为目标交易请求进行后续处理,
[0085]可选的,对于被记录的交易请求可以通过更改其标识来与其他交易请求进行区另IJ,也可以通过将该交易请求存放在不同的其他未被记录的交易请求的存储位置的区域,等等,本申请对此不作限定。
[0086]步骤S230:验证正在处理的交易请求中是否存在第一响应时间大于预设警戒时间的交易请求,若是,进入步骤S240 ;若否,返回步骤S210。
[0087]其中,预设警戒时间可以是系统运行当前服务的交易请求的最长响应时间,一旦该交易请求的响应时间超过该预设警戒时间,系统还未完成对其的处理,将会因其占用并发资源而影响其他正常交易请求的处理,本实施例可按照下面方式对该交易请求的当前并发数进行动态调整,具体过程如下,本实施在此不再详述。
[0088]需要说明的是,对于不同交易请求可以预设对应的警戒时间,也可以设置统一的警戒时间,本身对此不作限定,且不限定该预设警戒时间的具体数值。
[0089]步骤S240:记录正在处理的交易请求中存在的第一响应时间大于预设警戒时间的交易请求,并将记录的该交易请求作为目标交易请求。
[0090]步骤S250:减小该目标交易请求的当前并发数。
[0091]可选的,对于当前的第一响应时间大于预设警戒时间的目标交易请求,可以将其当前并发数减1,但并不局限于此,可根据系统的非功能测试来调整。
[0092]作为本申请又一实施例,若该目标交易请求已被记录,通常在执行步骤S250之前,可以先验证其当前并发数是否达到预设下限值,若达到,将不再减少其当前并发数,若未达到,再执行步骤S250。而对于未被记录的第一响应时间超过预设警戒时间的交易请求,可以直接按照规则减小其当前并发数,之后再验证其当前并发数(即减小后的并发数)是否达到其预设下限值,即执行步骤S260。
[0093]步骤S260:验证该目标交易请求的当前并发数是否达到其预设下限值,若是,执行步骤S270 ;若否,返回步骤S210。
[0094]其中,本申请对该预设下限值的具体数值不作限定,其可以与不同交易请求一一对应,也可以是预设的统一数值。
[0095]步骤S270:经第三预设时间,验证检测到的该目标交易请求的第三响应时间是否小于其预设警戒时间,若是,进入步骤S280 ;若否,执行步骤S290。
[0096]在本实施例实际应用中,在对目标交易请求的当前并发数进行动态调整过程中,若其当前并发数小于其预设下限值,可以开始恢复其当前并发数,由于经过上述调整后,针对该交易再次发起的交易请求的响应时间会发生变化,这样,经该第三预设时间后,再验证该目标交易请求的响应时间可能会小于其预设警戒时间,从而保证当前服务的其他正常交易能够得到及时处理。
[0097]其中,该第三预设时间可以是交易请求的并发数恢复时间,但并不局限于此。
[0098]步骤S280:将目标交易请求的当前并发数恢复至预设初始值,并删除对该目标交易请求的记录。
[0099]在本实施例中,经上述调整后使得响应时间异常的交易请求恢复正常,此时,为了充分利用当前服务的可用资源,可以将该目标交易请求的并发数恢复至预设初始值,具体可以将该目标交易请求的当前并发数一次性增加至预设初始值;同时,为了对下一周期的监测造成干扰,可以删除对响应时间已经恢复的目标交易请求的记录。
[0100]步骤S290:输出超时提示信息。
[0101]综上,本实施例通过对当前服务上正在处理的交易请求的第一响应时间进行监测,当这些正在处理的交易请求未被记录时,将存在的第一响应时间超过预设警戒时间的交易请求作为目标交易请求,并减小该目标交易请求的当前并发数,此时验证该目标交易请求的当前并发数小于预设下限值后,将进一步验证经过该调整后目标交易请求的第三响应时间是否小于预设警戒时间,若小于,将该目标交易请求的并发数恢复至预设初始值;而监测到的被记录的目标交易请求,可直接验证其当前响应时间是否小于预设警戒时间,并在小于该预设警戒时间时,将其当前并发数恢复至预设初始值。可见,本实施采用这种根据交易请求的响应时间的变化,动态调整该交易请求的当前并发数的方式,为当前服务中的其他正常交易请求预留一定的处理资源,使得其他正常交易请求能够快速得到处理,确保整个服务不会因此而瘫痪,使得客户拥有较好的体验,且无需人工干预,大大降低了工作人员的工作量,且避免了因人工干预而造成的误检漏检等情况,大大提高了对系统各服务的交易情况的监控准确度。
[0102]如图3所示,为本申请提供的一种监控系统实施例的结构示意图,该系统可以包括:
[0103]监测模块310,用于监测当前服务中正在处理的交易请求的第一响应时间。
[0104]可选的,本实施实际应用中,可以使用独立线程每隔第一预设时间对当前服务中正在处理的交易请求进行一次检查,但并不局限于此。
[0105]具体的,该监测模块310可以包括:检测单元,用于每隔第一预设时间,检测当前服务中正在处理的对应的交易请求的第一响应时间。
[0106]其中,该检测单元可以是独立的线程,则本实施例将通过独立的线程每隔第一预设时间对当前服务中正常处理的交易请求的响应时间检测一次,此时,该第一预设时间可以是对该线程定时