CN109144700B - 超时时长的确定方法、装置、服务器和数据处理方法 - Google Patents

超时时长的确定方法、装置、服务器和数据处理方法 Download PDF

Info

Publication number
CN109144700B
CN109144700B CN201811019117.9A CN201811019117A CN109144700B CN 109144700 B CN109144700 B CN 109144700B CN 201811019117 A CN201811019117 A CN 201811019117A CN 109144700 B CN109144700 B CN 109144700B
Authority
CN
China
Prior art keywords
time
calling
target
duration
server
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
CN201811019117.9A
Other languages
English (en)
Other versions
CN109144700A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201811019117.9A priority Critical patent/CN109144700B/zh
Publication of CN109144700A publication Critical patent/CN109144700A/zh
Application granted granted Critical
Publication of CN109144700B publication Critical patent/CN109144700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本说明书提供了一种超时时长的确定方法、装置、服务器和数据处理方法。其中,超时时长的确定方法包括:获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;根据所述目标耗时时长,确定目标系统中服务器的超时时长。在本说明书实施例中,通过预先利用预设时间段内服务器调用线程的调用耗时时长拟合得到调用耗时的概率分布,再根据上述概率分布和容忍失败率来确定超时时长,以进行线程调用,从而提高了确定超时时长的精确度和效率。

Description

超时时长的确定方法、装置、服务器和数据处理方法
技术领域
本说明书属于互联网技术领域,尤其涉及一种超时时长的确定方法、装置、服务器和数据处理方法。
背景技术
随着互联网技术的发展,通过分布式系统来处理较为复杂、庞大的业务数据,逐渐开始普及、推广。
通常的分布式系统中会存在有多个服务器(或处理器)。不同的服务器往往负责不同的任务数据处理,而服务器在进行自身所负责的任务数据处理时,又可能会需要使用到基于其他任务数据处理得到的结果数据。这时服务器就需要调用其他服务器中的线程(例如通过远程过程调用)来执行对应的任务数据处理,以获取所需要的结果数据;进而可以根据上述结果数据,继续进行自身所负责的任务数据处理。
例如,分布式系统中的上游服务器A服务器在执行a任务数据处理时,需要使用到基于b任务数据处理得到的结果数据。这时,A服务器可以向负责b任务数据处理的下游服务器B服务器发送调用线程请求。B服务器在接收到A服务器的调用线程请求后,会安排空闲线程为A服务器进行b任务数据处理,以得到对应的结果数据,并将该结果数据反馈给A服务器。A服务器在得到上述结果数据后,可以继续进行并完成a任务数据处理。
但是,在大多数情况下,B服务器在接收到A服务器的调用线程请求时,往往没有空闲、可调用的线程来响应A服务器所请求的b任务数据处理。这时B服务器会将A服务器的调用线程请求所请求的任务数据处理添加到任务队列中,按照优先级顺序或先后顺序,等候空闲线程处理。因此,A服务器在向B服务器发出调用线程请求后,往往需要等候一段时间,才能得到B服务器反馈的结果数据。
具体实施时,为了保证分布式系统整体的数据处理效率,通常会预设一个超时时长。当A服务器等候B服务器反馈的结果数据的等候时间大于上述超时时长时,会判定调用失败,这时A服务器将不再继续等候B服务器反馈的结果数据,而会触发其他相应的处理逻辑。例如,停止a任务数据处理,生成并反馈任务数据处理失败的提示信息。
其中,上述超时时长的设置或修改通常会对系统的处理效率、稳定性产生影响。具体的,例如,如果超时时长设置的过长,容易使得系统中的服务器等候的时间过长,导致系统的处理效率相对较低、资源利用率也相对较差。如果超时时长设置的过短,容易使得服务器等候的时间过短,导致系统中调用线程的调用失败率会相对较高、系统稳定性也会相对较差。
目前,现有的超时时长的确定方法大多是采用倍增法来设置、调整服务器的超时时长的。例如,为了满足稳定性要求,会直接按照预设的倍数值,将当前超时时长的两倍时长作为新的超时时长。上述方法在实现时相对较为粗狂,在确定超时时长时存在一定的盲目性,导致所确定的超时时长往往不够准确;而且可能会需要多次的测试、调整,确定的过程相对较为繁琐。因此,亟需一种超时时长的确定方法,以提高确定超时时长的精确度和效率,使得基于所确定的超时时长,系统中的线程调用稳定、高效。
发明内容
本说明书目的在于提供一种超时时长的确定方法、装置、服务器和数据处理方法,以提高确定超时时长的精确度和效率,使得基于所确定的超时时长,系统中的线程调用稳定、高效。
本说明书提供的一种超时时长的确定方法、装置、服务器和数据处理方法是这样实现的:
一种超时时长的确定方法,包括:获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;根据所述目标耗时时长,确定目标系统中服务器的超时时长。
一种调用耗时的概率分布的确定方法,包括:获取预设时间段内目标系统中服务器调用线程的调用耗时时长;根据所述预设时间段内目标系统中服务器调用线程的调用耗时时长,统计得到各种耗时时长的调用耗时的数量;根据所述各种耗时时长的调用耗时的数量,确定出调用耗时的平均时长和调用耗时的标准差;根据调用耗时的平均时长和调用耗时的标准差确定调用耗时的概率分布。
一种数据处理方法,包括:向目标服务器发送调用线程请求;确定是否在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据,其中,所述目标耗时时长是根据容忍失败率,和调用耗时的概率分布确定的,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;在确定在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据的情况下,根据所述结果数据,进行任务数据处理。
一种超时时长的确定装置,包括:获取模块,用于获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;第一确定模块,用于根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;第二确定模块,用于根据所述目标耗时时长,确定目标系统中服务器的超时时长。
一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;根据所述目标耗时时长,确定目标系统中服务器的超时时长。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;根据所述目标耗时时长,确定目标系统中服务器的超时时长。
本说明书提供的一种超时时长的确定方法、装置、服务器和数据处理方法,通过预先利用预设时间段内服务器调用线程的调用耗时时长进行拟合得到调用耗时的概率分布,再根据上述概率分布和容忍失败率来确定超时时长,以进行线程调用,从而提高了确定超时时长的精确度和效率,使得基于所确定的超时时长,系统中的线程调用稳定、高效。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是在一个场景示例中,应用本说明书实施例提供的超时时长的确定方法的一种实施例示意图;
图2是在一个场景示例中,应用本说明书实施例提供的超时时长的确定方法通过调用耗时的概率分布确定目标耗时时长的一种实施示意图;
图3是在一个场景示例中,应用本说明书实施例提供的超时时长的确定方法所确定的目标耗时时长作为超时时长进行线程调用的一种实施例示意图;
图4是在一个场景示例中,应用本说明书实施例提供的超时时长的确定方法的另一种实施例示意图;
图5是本说明书实施例提供的超时时长的确定方法的流程的一种实施例示意图;
图6是本说明书实施例提供的数据处理方法的流程的一种实施例示意图;
图7是本说明书实施例提供的服务器的结构的一种实施例示意图;
图8是本说明书实施例提供的超时时长的确定装置的结构的一种实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到现有的超时时长的确定方法在设置或调整超时时长时往往较为粗犷,不够精细,只是简单地根据要求或者系统性能情况,粗略地通过倍增法对已有的或历史上的超时时长进行修改。导致所确定的超时时长往往不够精确,应用时得到的效果也往往不够理想。此外,基于上述方法所得到的超时时长由于不够精确,往往还需要再经过多次的测试调整,才能最终得到符合要求的超时时长。因此,确定的过程也相对较为繁琐,效率相对较低。
针对上述情况,本说明书考虑可以收集过去预设时间段内系统中服务器所记录的调用线程的调用耗时,并通过对上述调用耗时进行数据拟合得到调用耗时的概率分布;进而可以利用上述概率分布,依据调用耗时的统计分布规律来有针对性地寻找到满足容忍失败率的耗时时长作为超时时长,从而提高了确定超时时长的精确度和效率。
本说明书实施方式提供了一种超时时长的确定方法,所述超时时长的确定方法具体可以应用于包含有多个服务器(或者处理器)的目标系统中。
其中,上述目标系统具体可以是一种分布式系统(Distributed System)。该系统中具体可以包含有多个不同的服务器。服务器在业务功能上相互独立,即各个服务器分别负责处理自身所对应的任务数据处理。同时,不同服务器之间又通过网络等方式相互耦合,以便进行数据的传输、线程的调用等交互。例如,服务器可以通过远程过程调用(RPC,Remote Procedure Call)等方式调用其他服务器的线程在指定的时间内(即超时时长内)完成所需要的数据处理,并反馈对应的结果数据。
具体的,上述目标系统中的一个服务器会预先获取预设时间段内目标系统中各个服务器所记录的调用线程的调用耗时,并根据上述调用耗时进行数据拟合得到能够反映目标系统中调用耗时时长分布规律的调用耗时的概率分布。从而可以根据所获取的容忍失败率,利用上述调用耗时的概率分布,确定出上述容忍失败率所对应的耗时时长作为目标耗时时长,并将目标系统中服务器所应用的超时时长修改为上述目标耗时时长。
这样目标系统中的各个服务器可以基于上述目标耗时时长进行线程的调用。具体的,服务器由于任务数据处理的需要,向目标服务器(即被调用服务器)发送线程调用请求,在向目标服务器发出调用线程请求后,服务器应用目标耗时时长作为超时时长,确定是否是在目标耗时时长内接收到目标服务器基于调用线程请求所反馈的结果数据。如果在目标耗时时长内接收到了结果数据,判定调用成功,根据所接收的结果数据继续任务数据处理。如果超过目标耗时时长,还没有接收到结果数据,判定调用失败,这时服务器不再等候目标服务器的结果数据,不再继续原来的任务数据处理,而是触发其他的数据处理,例如,停止原来的任务数据处理,生成并反馈任务数据处理失败的提示信息。
上述过程中,获取预设时间段内的调用耗时,通过数据拟合得到调用耗时的概率分布,以及根据容忍失败率和调用耗时的概率分布确定目标耗时作为超时时长等具体的数据处理,可以是由目标系统中的专门设置的用于确定超时时长、修改超时时长的服务器专门负责,也可以是由目标系统中的任意一个负责其他任务数据处理的服务器,同时负责。
其中,上述服务器可以是能够实现数据处理、数据交互等功能的业务服务器。所述服务器具体可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件。在本实施方式中并不具体限定所述服务器的数量。所述服务器可以为一个服务器,还可以为几个服务器,或者,若干服务器形成的服务器集群。
在一个场景示例中,可以参阅图1所示,应用本说明书实施例提供的超时时长的确定方法为XX网站后台进行数据处理的系统确定出符合要求的超时时长,并应用所确定的超时时长进行服务器间线程的调用,以完成订单数据的处理。
在本场景示例中,XX网站后台进行数据处理的系统具体可以为分布式系统。该系统中具体可以包括多个负责不同任务数据处理的服务器。其中,J服务器为该系统中用于监控网站线上流量、确定超时时长、修改系统中服务器所应用的超时时长的服务器。K服务器为该系统中用于响应用户的订单申请,为用户完成订单数据处理的服务器。L服务器为该系统中用于向对应商户发送用户的订单信息,确定商户是否确定订单的服务器。其中,K服务器、L服务器在业务功能上相互独立,分别负责不同的任务数据处理。但相互之间又存在一定的联系。例如,K服务器(相当于上游服务器或上游系统)在响应用户的订单申请,为用户建立订单的过程中,需要通过调用L服务器(相当于下游服务器或下游系统)的线程来确定商户是否确认接受用户订单,在超时时长内得到由L服务器反馈的确单结果后,K服务器才能根据反馈的确单结果完成用户的订单数据处理,并向用户反馈:订单数据处理完成的提示信息。如果K服务器没有在超时时长内接收到L服务器反馈的确单结果,调用线程失败,则K服务器会停止对该用户的订单数据处理,并向用户反馈:信息忙,订单数据处理失败的提示信息。
在本场景示例中,由于XX网站近期开展促销活动,网站的线上流量明显增多。J服务器通过实时采集监控近期该网站的线上流量、用户的订单申请数量,以及系统中K服务向L服务器发送的调用线程请求的请求数量等信息,判定:基于当前系统中服务器所使用的超时时长,系统整体的订单数据处理效率较低,无法很好地满足当前大量的用户订单申请。这时,J服务器基于预设的策略模型,触发通过降低容忍失败率,修改超时时长来提高系统对用户订单数据处理的效率。
其中,上述容忍失败率用于表征系统所能容忍或接受的调用线程失败数量占总的调用线程数量的比例的最大值。通常容忍失败率与超时时长存在一定的关联性:如果所要求的容忍失败率越小,则超时时长则会越长,服务器可以等候基于调用线程请求所反馈的结果数据的时间也就越长,相应的系统整体的处理效率则会有所降低;如果所要求的容忍失败率越大,则超时时长则会越短,服务器可以等候基于调用线程请求所反馈的结果数据的时间也就越短,相应的系统整体的处理效率则会有所提高。因此,在本实施例中,可以根据上述关联性,利用所要求达到的容忍失败率,准确地确定出合适的超时时长。
具体的,J服务器为了提高系统整体的订单数据处理效率,可以根据所获取的当前系统中调用线程请求的请求数量,和当前系统的性能参数(例如CPU的占有情况、硬盘的剩余流量等)等,将容忍失败率(记为Ps)确定为5%。
进一步,为了能够确定出能达到上述容忍失败率的超时时长,J服务器可以通过系统中的各个服务器的日志记录等获取预设时间段(例如最近一天)内该系统中各个服务器的调用耗时(记为t)。其中,上述调用耗时具体可以理解为从服务器向目标服务器(或者被调用服务器)发送调用线程请求,到接收到目标服务器基于调用线程请求所反馈的结果数据所经历的时间。
J服务器在得到了预设时间段内该系统中各个服务器的调用耗时后,通过统计分析发现上述调用耗时的数量分布符合一定的分布规律,进而可以结合该分布规律的具体特征,对上述调用耗时进行数据拟合,以得到调用耗时的概率分布(或者称调用耗时的概率分布模型)。其中,上述调用耗时的概率分布是一种能够反映出预设时间段内不同调用耗时时长出现概率的分布规律的数学模型。具体的,上述调用耗时的概率分布可以是一种函数表达式,也可以是一种概率分布图等。对于上述调用耗时的概率分布的具体形式,本说明书不作限定。
在本场景示例中,上述调用耗时的数量分布满足正态分布规律,通过对预设时间内的服务器调用耗时的数据拟合,具体的,可以根据所述预设时间段内目标系统中服务器调用线程的调用耗时时长,统计得到各种耗时时长的调用耗时的数量;再根据所述各种耗时时长的调用耗时的数量,分别确定出模型中的调用耗时的平均时长(记为
Figure BDA0001786877240000076
)和调用耗时的标准差(记为σ),进而可以根据上述调用耗时的平均时长和调用耗时的标准差,建立得到以下满足正态分布规律的函数表达式,确定对应的调用耗时的概率分布:
Figure BDA0001786877240000071
Figure BDA0001786877240000072
其中,
Figure BDA0001786877240000073
具体可以表示为调用耗时t对应的概率密度函数,σ具体可以表示为调用耗时的标准差,
Figure BDA0001786877240000074
具体可以表示调用耗时的平均时长,t具体可以表示调用耗时时长,p(t>T)具体可以表示调用耗时时长大于比较值T的调用耗时t的出现概率。
在得到了上述容忍失败率和调用耗时的概率分布后,进一步,J服务器可以根据上述容忍失败率和调用耗时的概率分布,计算出可以与上述容忍失败率对应的调用耗时时长作为对应的目标耗时时长。
具体的,可以将上述所确定的容忍失败率代入上述调用耗时的概率分布中,得到以下的方程:
Figure BDA0001786877240000075
其中,Ps具体可以表示为容忍失败率,Tlimit具体可以表示为目标耗时时长,即与容忍失败率对应的调用耗时时长。
具体可以参阅图2所示,图中的图像即为基于上述调用耗时的概率分布所得到的不同耗时时长的概率密度分布图。其中,右侧填充有圆点的区域的图像面积为容忍失败率,与该图像面积对应的耗时时长即为目标耗时时长。
在确定出上述目标耗时时长后,J服务器可以将该目标耗时时长作为满足预设要求的,能够满足容忍失败率的新的超时时长,进而J服务器可以将系统中各个服务器(包括K服务器和L服务器)的超时时长统一修改为上述的目标耗时时长,以便系统中的服务器可以以上述目标耗时时长作为修改后的超时时长,进行线程调用,以达到提高系统整体的订单数据处理效率的目的。
以K服务器为例,在J服务器修改K服务器的超时时长为目标耗时时长以后,K服务器可以根据目标耗时时长(即修改后的超时时长)进行线程调用。具体的,参阅图3所示,K服务器在收到用户z的订单申请后,可以根据用户获取并根据用户z输入的数据,建立待商户确定的订单数据。并向L服务器发送调用线程请求,等候L服务器基于上述调用线程请求所反馈的表征商户确单的数据,以便可以根据上述结果数据完成用户z的订单。其中,上述调用线程请求携带有与用户z的订单数据相关的调用参数。
L服务器在接收到调用线程请求后,发现当前没有空余的线程响应上述调用线程请求,会将上述调用线程请求所请求的任务数据处理添加至任务队列,等候有空余的线程响应该调用线程请求,完成对应的任务数据处理。具体的,在有空闲线程的情况下,L服务器可以根据调用线程请求中的调用参数,生成供商户确认的订单信息;接收商户对该订单信息的确单信息(包括:确认接受该订单或确认拒绝该订单),并将上述确单信息作为针对K服务器的调用线程请求的结果数据,反馈给K服务器。
而K服务器会在发送出调用线程请求后开始计时,确定是否在修改后的超时时长内接收到L服务器反馈的结果数据。具体的,如果在超时时长内,接收到L服务器反馈的商户确认接受该订单的确单信息(一种结果数据),则判定调用成功,K服务器会根据上述结果数据,生成商户确认接受了的用户a的订单请求的订单数据,生成并向用户a展示“商户已经确认接单,下单成功”的提示信息。如果在超时时长内,接收到L服务器反馈的商户拒绝该订单的确单信息(另一种结果数据),则判定调用成功,K服务器会根据上述结果数据,生成商户确认拒绝了的用户a的订单请求的订单数据,生成并向用户a展示“商户已经拒绝接受订单,下单失败”的提示信息。如果自计时起,K服务器等候了超时时长的时间,一直为接收到L服务器反馈的上述任一一种结果数据,则判定调用失败,K服务器不再继续等待L服务器的结果数据,而是跳出订单数据处理的逻辑,即停止继续进行用户a的订单数据的处理,生成并向用户a展示“系统忙,请刷新后重新下单”的提示信息。这样可以缩短系统中K服务器整体的等候时间,提高了系统内的数据处理效率;同时,在用户一侧,也减少了用户下单后等候订单结果的等候时间,提高了用户体验。
在另一个场景示例中,考虑到在确定了目标耗时时长后,如果直接利用目标耗时时长对系统内所有的服务器所应用的原有超时时长进行修改,即立刻将系统中所有服务器的超时时长修改为目标耗时时长,由于所确定的目标耗时时长可能不准确、不合适,会导致系统中大量服务器的线程调用出现异常或者错误,使得系统整体不稳定。基于上述考虑,为了保障系统的整体稳定性,在确定了目标耗时时长后,可以先从系统中的多个服务器中选出一个或多个服务器测试服务器,即将该服务器的超时时长修改为目标耗时时长;再对该服务器的线程调用情况进行监控,根据监控结果确定上述目标耗时时长是否符合稳定性等预设要求;在确定上述目标耗时时长符合预设要求的情况下,再将系统中的各个服务器所应用的超时时长修改为上述目标耗时时长。
在本场景示例中,可以参阅图4所示,J服务器从系统中的多个服务器中选中M服务器作为测试服务器,并将M服务器的超时时长修改为目标耗时时长。这时,对于M服务器,是以目标耗时时长作为超时时长;对于系统中其他的服务器,超时时长还是原来的超时时长。对M服务器的线程调用进行监控,具体的,收集测试时间段(例如一小时)内M服务器调用被调用服务器的线程时的监控参数,例如,被调用服务器的线程池中空闲线程的比例、内存占用率、硬盘剩余容量。
进而可以将上述监控参数分别与对应预设的稳定性阈值进行比较,根据比较结果确定是否满足预设的要求。如果空闲线程的比例大于等于预设的线程稳定性阈值,硬盘剩余容量大于等于预设的硬盘稳定性阈值,内存占用率小于等于预设的内存稳定性阈值,则可以判定基于上述目标耗时时长,M服务器的线程调用较为安全,稳定性较好;因而可以确定目标耗时时长符合预设要求。这时,J服务器可以将系统中的其他服务器的,例如K服务器、L服务器等所应用的原来的超时时长统一修改为目标耗时时长。
如果空闲线程的比例小于预设的线程稳定性阈值,硬盘剩余容量小于预设的硬盘稳定性阈值,内存占用率大于预设的内存稳定性阈值,则可以判定基于上述目标耗时时长,M服务器的线程调用存在风险,稳定性较差;因而可以确定目标耗时时长不符合预设要求。在确定目标耗时时长不符合预设要求的情况,具体的,J服务器可以将M服务器的超时时长还原为原来的超时时长。同时还可以根据当前的监控参数,以及系统的性能参数等,调整容忍失败率;再根据调整后的容忍失败率和调用耗时的概率分布,重新确定目标耗时时长。这样通过预先的测试监控,可以有效地减少所确定的目标耗时时长对系统整体的调用运行可能存在的风险,从而保证系统整体的线程调用稳定、安全。
由上述场景示例可见,本说明书提供的超时时长的确定方法,通过预先利用预设时间段内服务器调用线程的调用耗时时长进行拟合得到调用耗时的概率分布,再根据上述概率分布和容忍失败率来确定超时时长,以进行线程调用,从而提高了确定超时时长的精确度和效率,使得基于所确定的超时时长,系统中的线程调用稳定、高效。
参阅图5所示,本说明书实施例提供了一种超时时长的确定方法,其中,该方法具体可以应用于系统中的服务器。具体实施时,该方法可以包括以下内容:
S51:获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的。
在本实施方式中,上述目标系统具体可以是包含有多个服务器(或者处理器)的数据处理系统。具体的,上述目标系统可以是分布式系统,其中,该系统具体可以包括多个负责不同任务数据处理的服务器。不同服务器之间在业务功能上相互独立,但又相互耦合。具体的服务器可以通过发送携带有调用参数的调用线程请求,来调用其他的服务器(即目标服务器)中的空闲线程完成相应任务数据处理,以得到目标服务器基于调用线程请求所反馈的结果数据,进而服务器可以根据结果数据继续执行所负责的任务数据处理。
在本实施方式中,上述调用耗时具体可以理解为服务器向目标服务器发送调用线程请求起到接收到目标服务器基于上述调用线程请求所反馈的结果数据所经历的时间间隔,也可以理解为是服务器等候目标服务器的结果数据的等候时间。
在本实施方式中,上述超时时长(或称超时时间)具体可以理解为系统中服务器等候目标服务器的结果数据的最大等候时间或者等候时间的阈值。通常考虑到系统中数据处理的效率,不会让服务器一直处于等候目标服务器结果数据的状态,会预先给服务器设置一个超时时长。当服务器向目标服务器发出了调用线程请求后,等候目标服务器的结果数据的等候时间超过上述超时时长后,服务器将不再继续等候目标服务器的反馈的结果数据,将停止或者变更原来的任务数据处理,而触发其他的任务数据处理逻辑。例如,停止原有的任务数据处理,生成并反馈调用失败或者任务数据处理失败的提示信息。
在本实施方式中,上述容忍失败率具体可以理解为用于表征目标系统所能容忍或接受的调用线程失败数量占总的调用线程数量的比例的最大值。需要说明的是,通常容忍失败率与超时时长存在一定的关联性:如果所要求的容忍失败率越小,则超时时长则会相对越长,服务器可以等候目标服务器基于调用线程请求所反馈的结果数据的所允许的最大等候时间也就相对越长,相应的系统整体的处理效率则会有所降低;如果所要求的容忍失败率越大,则超时时长则会相对越短,服务器可以等候目标服务器基于调用线程请求所反馈的结果数据的所允许的最大等候时间也就相对越短,相应的系统整体的处理效率则会有所提高。
在本实施方式中,上述获取目标系统的容忍失败率,具体实施时,可以包括以下内容:获取目标系统中调用线程请求的请求数量,和目标系统的性能参数;根据所述当前目标系统中调用线程请求的请求数量,和所述目标系统的性能参数,确定所述目标系统的容忍失败率。具体的,例如,如果目标系统中调用线程请求的请求数量较大,相应的目标系统待处理的数据量也相对较大,这时为了能够及时地响应调用线程请求,完成目标系统中的数据处理,通常会结合目标系统的性能参数,考虑可以通过增大所要求的容忍失败率,以缩短服务器的等候时间,进而提高系统整体的处理效率。相对的,如果目标系统中调用线程请求的请求数量较小时,系统整体的处理效率不再是考虑的首要因素,这时结合目标系统的性能参数,考虑为了降低调用失败比例,提高数据处理成功率,提高用户体验,可以降低所要求的容忍失败率,以正常服务器的等候时间,从而可以达到提高调用成功的比例的目的。当然,需要说明的是,上述所列举的确定容忍失败率的方式只是一种示意性说明。不应构成对本说明书的不当限定。
在本实施方式中,上述调用耗时的概率分布是一种能够反映出预设时间段内不同调用耗时时长出现概率的分布规律的数学模型。具体的,上述调用耗时的概率分布可以是一种函数表达式,也可以是一种概率分布图等。对于上述调用耗时的概率分布的具体形式,本说明书不作限定。
在本实施方式中,上述调用耗时的概率分布具体可以通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的。
其中,上述预设时间段具体可以根据具体的应用场景和处理目的确定。例如,处理目的是为了确定能够有效应对目标系统中数据处理量较大(例如调用线程请求的请求数量较多)的情况的超时时长,则可以选择历史上最近的一次目标系统中数据处理量较大的一个时间段作为上述预设时间段。对于上述预设时间段的时间长度,以及预设时间段的选择,可以根据具体情况确定。对此,本说明书不作限定。
在本实施方式中,上述预设时间段内目标系统中服务器调用线程的调用耗时时长可以按照以下方式获取:采集预设时间段内目标系统中服务器的日志记录,从日志记录中提取得到预设时间段内服务器调用线程的调用耗时时长。
在本实施方式中,具体实施时,可以按照以下方式对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合,以得到调用耗时的概率分布:统计分析预设时间段内目标系统中服务器调用线程的调用耗时时长的出现概率的分布规律;根据上述调用耗时时长的数量的分布规律,有真对性地进行数据拟合,以建立对应的调用耗时的概率分布。
其中,上述调用耗时时长的数量的分布规律具体可以是满足正态分布,也可以是满足平均分布,还可以是其他的分布类型。实施时,可以通过对预设时间段内目标系统中服务器调用线程的不同调用耗时时长的数量进行统计确定。
在本实施方式中,以调用耗时时长的数量的分布规律满足正态分布为例,说明如何通过数据拟合来建立对应的满足正态分布的概率分布模型作为上述调用耗时的概率分布。具体的,可以通过对预设时间段内目标系统中服务器调用线程的不同调用耗时时长的数量进行统计,得到统计结果;根据统计结果确定出调用耗时的平均时长和调用耗时的标准差;进而可以根据调用耗时的平均时长和调用耗时的标准差确定具体的调用耗时的概率分布。其中,上述调用耗时的概率分布具体可以表示为以下形式:
Figure BDA0001786877240000121
Figure BDA0001786877240000122
其中,
Figure BDA0001786877240000123
具体可以表示为调用耗时t对应的概率密度函数,σ具体可以表示为调用耗时的标准差,
Figure BDA0001786877240000124
具体可以表示调用耗时的平均时长,t具体可以表示调用耗时时长,p(t>T)具体可以表示调用耗时时长大于比较值T的调用耗时t的出现概率。
当然,需要说明的是,上述所列举的建立调用耗时时长的概率分布模型只是一种示意性说明。具体实施时,根据具体情况还可以采用其他合理的方式来根据预设时间段内的目标系统中服务器调用线程的不同调用耗时时长来建立调用耗时时长的概率分布模型。对此,本说明书不作限定。
S52:根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长。
在本实施方式中,上述目标耗时时长具体可以理解为能够满足容忍失败率的超时时长,即用来更新替换原来的超时时长的新的超时时长。
在本实施方式中,具体实施时,可以将上述容忍失败率代入所确定的调用耗时的概率分布来确定得到与容忍失败率对应的耗时时长,并将该耗时时长作为目标耗时时长。
在本实施方式中,具体实施时,可以按照以下方式确定目标耗时时长:
Figure BDA0001786877240000125
其中,Ps具体可以表示为容忍失败率,Tlimit具体可以表示为目标耗时时长,即与容忍失败率对应的调用耗时时长。
在本实施方式中,可以参阅图2所示,上述与容忍失败率对应的耗时时长具体可以理解为是一种阈值耗时时长。具体的,所获取的预设时间段内的目标系统中服务器调用线程的不同调用耗时中调用耗时大于等于上述阈值耗时时长的调用耗时的概率和等于上述容忍失败率。因此,后续可以将上述目标耗时时长作为超时时长,这样可以保证调用耗时时长小于上述阈值耗时时长的调用线程能够被成功调用,从而可以有效地将调用线程的调用失败率控制在上述容忍失败率以内。
S53:根据所述目标耗时时长,确定目标系统中服务器的超时时长。
在本实施方式中,在确定出目标耗时时长后,可以将目标耗时时长确定为目标系统中服务器的超时时长,进而可以将目标系统中的服务器所应用的超时时长修改为上述目标耗时时长。这样,目标系统中的服务器可以根据目标耗时时长最为等候时间的阈值进行具体的线程调用。
由此可见,本说明书提供的超时时长的确定方法,通过预先利用预设时间段内服务器调用线程的调用耗时时长进行拟合得到调用耗时的概率分布,再根据上述概率分布和容忍失败率来确定超时时长,以进行线程调用,从而提高了确定超时时长的精确度和效率,使得基于所确定的超时时长,系统中的线程调用稳定、高效。
在一个实施方式中,上述获取目标系统的容忍失败率,具体实施时,可以包括以下内容:获取目标系统中调用线程请求的请求数量,和目标系统的性能参数;根据所述当前目标系统中调用线程请求的请求数量,和所述目标系统的性能参数,确定所述目标系统的容忍失败率。
在本实施方式中,上述目标系统的性能参数具体可以理解为目标系统中服务器的硬盘剩余量、内存占用率、总的线程数量等用于表征性能的指标参数。当然,需要说明的是,上述所列举的性能参数只是为了更好地说明本说明书实施方式。具体实施时,还可以根据具体情况引入系统中的其他类型的指标参数作为上述目标系统的性能参数。对此,本说明书不作限定。
在一个实施方式中,所述调用耗时的概率分布具体可以为满足正态分布的概率分布。
在本实施方式中,需要说明的是,通过对所获取的预设时间段内目标系统中服务器调用线程的调用耗时时长进行统计分析,发现预设时间段内不同的调用耗时时长的数量的满足正态分布,因此所对应的调用耗时的概率分布为满足正态分布的概率分布。如果通过具体的统计分析,发现预设时间段内不同的调用耗时时长的数量的满足其他分布类型,对应的调用耗时的概率分布也可以为满足其他分布类型的概率分布模型。例如,预设时间段内不同的调用耗时时长的数量的满足泊松分布,则对应的调用耗时的概率分布也可以为满足泊松分布的概率分布模型。
在一个实施方式中,考虑到如果直接将所确定的目标耗时时长作为超时时长应用到目标系统中的所有服务器,一旦所确定的目标耗时时长不合适,可能会对目标系统中的多个服务器的运行,例如调用线程等产生影响,导致调用异常,影响目标系统整体的稳定性。为了降低上述风险,保证目标系整体的稳定性,具体实施时,可以先仅将对目标系统中少量服务器的超时时长修改为目标耗时时长进行测试监控,根据测试监控的结果再确定是所得到的目标耗时时长是否准确合适,是否满足要求,是否能应用到目标系统中的所有服务器。具体的,可以按照以下步骤执行:
S1:从所述目标系统中的服务器中选取预设个数的服务器作为测试服务器;
S2:将所述测试服务器的超时时长设置为所述目标耗时时长;
S3:采集测试时间段内,所述测试服务器根据所述目标耗时时长进行线程调用时的监控参数;
S4:根据所述监控参数,确定所述目标耗时时长是否符合预设要求;
S5:在确定所述目标耗时时长符合所述预设要求的情况下,将所述目标耗时时长确定为目标系统中服务器的超时时长。
在本实施方式中,上述预设个数具体可以是1个,也可以是多个。具体实施时,可以根据目标系统中服务器的总数和具体的精度要求设置上述预设个数的具体数值。对此,本说明书不作限定。
在本实施方式中,在将所述测试服务器的超时时长设置为所述目标耗时时长,测试服务器将按照目标耗时时长进行具体的线程调用。即测试服务器在向目标服务器发送调用线程请求后,如果在目标耗时时长内没有接收到目标服务器反馈的结果数据,则判定调用失败,不再等候结果数据,而停止任务数据处理,触发其他的数据处理。
在本实施方式中,所述监控参数具体可以包括以下至少之一:线程池中空闲线程的比例、内存占用率、硬盘剩余容量等。当然,需要说明的是,上述所列举的监控参数只是一种示意性说明。具体实施时,根据具体的应用场景和精度要求还可以引入其他类型的参数作为上述监控参数。对此,本说明书不作限定。
在本实施方式中,上述预设要求具体可以理解为一种稳定性要求,即应用目标耗时时长作为超时时长后,线程调用、数据处理整体上是安全的,目标系统整体运行是正常的,具体表现为各种监控参数是满足对应的预设的稳定性阈值的。
在本实施方式中,根据所述监控参数,确定所述目标耗时时长是否符合预设要求,具体实施时,可以包括:将监控参数分别与对应的预设的稳定性阈值进行比较,根据比较结果确定是否满足预设的要求。例如,如果空闲线程的比例大于等于预设的线程稳定性阈值,硬盘剩余容量大于等于预设的硬盘稳定性阈值,内存占用率小于等于预设的内存稳定性阈值,则可以判定基于上述目标耗时时长,测试服务器的线程调用较为安全,稳定性较好;因而可以确定目标耗时时长符合预设要求。
在本实施方式中,在确定所述目标耗时时长符合所述预设要求的情况下,可以认为所确定的目标耗时时长较为准确、效果相对较好,适合用作与容忍失败率对应的超时时长,在目标系统中的各个服务器应用该目标耗时时长对系统稳定性威胁风险相对较小。这时可以将上述目标耗时时长,确定为目标系统中服务器的超时时长,将目标系统中各个服务器的超时时长修改为目标耗时时长,以便目标系统中的服务器可以根据上述目标耗时时长进行线程调用。
在一个实施方式中,在根据所述监控参数,确定所述目标耗时时长是否符合预设要求后,所述方法还具体实施时还可以包括以下内容:在确定所述目标耗时时长不符合所述预设要求的情况下,调整容忍失败率;根据调整后的容忍失败率,和所述调用耗时的概率分布,重新确定目标耗时时长。
在本实施方式中,在确定目标耗时时长不符合预设要求时,可以认为所确定的目标耗时时长不够准确、效果相对较差,不适合用作与容忍失败率对应的超时时长,在目标系统中的各个服务器应用该目标耗时时长对系统稳定性威胁风险相对较大。这时可以先对容忍失败率率进行相应的调整你,再根据调整后的容忍失败率和调用耗时的概率分布,重新确定目标耗时时长。
在本实施方式中,上述调整容忍失败率,具体实施时,可以包括以下内容:根据当前的监控参数,以及系统的性能参数等,有针对性地调整容忍失败率。具体的,例如,监控参数中的空闲线程的比例小于预设的线程稳定性阈值,可以增大容忍失败率的数值。当然,上述所列举的对容忍失败率的调整只是一种示意性说明。具体实施时,可以根据具体情况采用其他合适方式对容忍失败进行相应调整。对此,本说明书不作限定。
在一个实施方式中,为了能够根据目标系统的具体情况,及时有针对性地对目标系统中服务器所应用的超时时长进行修改、调整,上述获取目标系统的容忍失败率,和调用耗时的概率分布具体实施时,可以包括以下内容:监控目标系统中调用线程请求的请求数量;在确定目标系统中调用线程请求的请求数量大于预设的数量阈值的情况下,获取目标系统的容忍失败率,和调用耗时的概率分布。
在本实施方式中,可以每隔一段时间(例如十分钟)采集目标系统中调用线程请求,统计该段时间内的调用线程请求的请求数量来对目标系统进行监控。如果目标系统中调用请求的请求数量大于预设的数量阈值,则可以判断目标系统中待处理的数据量较大。例如,某网站进行优惠活动,导致用户的订单数量暴涨,目标系统中待处理的订单数据量剧增。这时如果超时时长设置的过长,容易使得服务器等候的时间过长,导致系统的处理效率较低、资源(线程)利用率较差,无法及时地对大量的用户订单进行数据处理,用户等候时间较长,用户体验较差;如果超时时长设置的过短,容易使得服务器等候的时间过短,导致系统的调用失败率较高、稳定性较差,容易频繁出现用户订单数据处理失败,用户体验也相对较差。综合上述的情形分析,考虑兼顾处理效率和处理的稳定性,可以触发先通过调整确定一个适合于上述订单数量暴涨情形的、合理的容忍失败率和调用耗时的概率分布;进而可以利用能够较为准确地反映不同调用耗时时长出现概率的分布规律的调用耗时的概率分布,有方向性地找到与容忍失败率对应的耗时时长作为目标耗时时长,进而利用上述目标耗时时长作为新的超时时长,以对系统中的数据处理进行调整,来应对应对当前订单数量暴涨的情形。
由此可见,本说明书提供的超时时长的确定方法,通过预先利用预设时间段内服务器调用线程的调用耗时时长进行拟合得到调用耗时的概率分布,再根据上述概率分布和容忍失败率来确定超时时长,以进行线程调用,从而提高了确定超时时长的精确度和效率,使得基于所确定的超时时长,系统中的线程调用稳定、高效;还通过在确定了目标耗时时长后,先应用于目标系统中的测试服务器,并对测试服务器基于上述目标耗时时长进行线程调用进行监控,根据监控结果在确定目标耗时时长符合预设要求的情况下,再将目标耗时时长应用于目标系统中的各个服务器,降低了目标系统整体出现数据处理异常的风险,提高了目标系统的稳定性。
本说明书实施例还提供了一种调用耗时的概率分布的确定方法,该方法具体实施时,可以包括以下内容:
S1:获取预设时间段内目标系统中服务器调用线程的调用耗时时长;
S2:根据所述预设时间段内目标系统中服务器调用线程的调用耗时时长,统计得到各种耗时时长的调用耗时的数量;
S3:根据所述各种耗时时长的调用耗时的数量,确定出调用耗时的平均时长和调用耗时的标准差;
S4:根据调用耗时的平均时长和调用耗时的标准差确定调用耗时的概率分布。
在一个实施方式中,上述调用耗时的概率分布具体可以是满足正态分布的概率分布,也可以是满足平均分布的概率分布,还可以是其他类型的概率分布。具体实施时,可以根据所获取的预设时间内目标系统中服务器调用线程的调用耗时时长的整体数据情况确定出调用耗时的概率分布的类型。
参阅图6所示,本说明书实施例还提供了一种数据处理方法,其中,该方法具体应用于目标系统中的服务器上。具体实施时,该方法可以包括以下内容:
S61:向目标服务器发送调用线程请求;
S62:确定是否在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据,其中,所述目标耗时时长是根据容忍失败率,和调用耗时的概率分布确定的,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;
S63:在确定在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据的情况下,根据所述结果数据,进行任务数据处理。
在本实施方式中,上述目标服务器具体可以理解为目标系统中,响应调用线程请求,提供线程调用服务,反馈基于调用线程请求所获得的结果数据的被调用服务器。
在本实施方式中,具体实施时,利用上述目标耗时时长作为超时时长可以保证目标系统中的各个服务器在一个准确、合理的等候时间阈值内等候反馈结果,以进行任务数据处理。这样既可以兼顾系统中服务器线程调用具有较好的调用成功率,以得到的较高的稳定性,也可以保证服务器能够较为高效地进行任务数据的处理。
在本实施方式中,上述调用线程请求携带有发出与发送该请求的服务器正在处理的任务数据处理相关的调用参数。目标服务器可以响应上述调用线程请求,调用线程池中的空闲线程,根据调用参数完成相应的任务数据处理,得到并反馈对应的结果数据。
在本实施方式中,需要说明的是,目标服务器往往没有空余的线程响应服务器的调用线程请求,这时目标服务器会将线程调用请求所请求的任务数据处理添加至任务队列中,按照优先和先后顺序,等候空闲线程处理。因此,服务器在向目标服务器发出调用线程请求后,往往需要等候一段时间才有可能接收到目标服务器反馈的结果数据。
在一个实施方式中,在确定是否在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据后,所述方法具体实施时,还可以包括:在确定在目标耗时时长内未获取目标服务器基于所述调用线程请求反馈的结果数据的情况下,停止任务数据处理,并生成任务数据处理失败的反馈信息。
在本实施方式中,考虑到目标系统整体的处理效率,不可能允许服务器一直等待目标服务器的结果数据,因此,在服务器等候的时间超过新的超时时长,即目标耗时时长后还没有接收到目标服务器的结果数据时,服务器将不再继续等候结果数据,而是停止或者结束当前正在进行的任务数据处理,以释放服务器的数据处理资源,以进行其他的数据处理。此外,服务器还可以生成并展示任务数据处理失败的提示信息,以提醒该任务数据处理无法继续进行。
由上可见,本说明书实施例提供的数据处理方法,通过使用基于容忍失败率,和调用耗时的概率分布所确定的目标耗时时长作为超时时长进行线程调用,从而达到了高效、稳定地进行线程调用的效果。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;根据所述目标耗时时长,确定目标系统中服务器的超时时长。
为了能够更加准确地完成上述指令,参阅图7,本说明书还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口701、处理器702以及存储器703,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口701,具体可以用于预设时间段内目标系统中服务器调用线程的调用耗时时长。
所述处理器702,具体可以用于确定目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;根据所述目标耗时时长,确定目标系统中服务器的超时时长。
所述存储器703,具体可以用于存储预设时间段内目标系统中服务器调用线程的调用耗时时长、处理器702生成的中间数据,以及存储相应的指令程序。
在本实施方式中,所述网络通信端口701可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施方式中,所述处理器702可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施方式中,所述存储器703可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述支付方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;根据所述目标耗时时长,确定目标系统中服务器的超时时长。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图8所示,在软件层面上,本说明书实施例还提供了一种超时时长的确定装置,该装置具体可以包括以下的结构模块:
获取模块801,具体可以用于获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布是通过对预设时间段内目标系统中服务器调用线程的调用耗时时长进行数据拟合得到的;
第一确定模块802,具体可以用于根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;
第二确定模块803,具体可以用于根据所述目标耗时时长,确定目标系统中服务器的超时时长。
在一个实施方式中,所述获取模块801具体可以包括:
获取单元,具体可以用于获取目标系统中调用线程请求的请求数量,和目标系统的性能参数;
第一确定单元,具体可以用于根据所述当前目标系统中调用线程请求的请求数量,和所述目标系统的性能参数,确定所述目标系统的容忍失败率。
在一个实施方式中,所述调用耗时的概率分布具体可以为满足正态分布的概率分布模型等。当然,需要说明的是,上述所列举的满足正态分布的概率分布模型只是一种示意性说明。具体实施时,根据对预设段内目标系统中服务器调用线程的调用耗时时长的统计分析结果,上述调用耗时的概率分布还可以是满足其他概率类型的概率分布。对此,本说明书不作限定。
在一个实施方式中,所述第二确定模块803具体可以包括:
选取单元,具体可以用于从所述目标系统中的服务器中选取预设个数的服务器作为测试服务器;
设置单元,具体可以用于将所述测试服务器的超时时长设置为所述目标耗时时长;
采集单元,具体可以用于采集测试时间段内,所述测试服务器根据所述目标耗时时长进行线程调用时的监控参数;
第二确定单元,具体可以用于根据所述监控参数,确定所述目标耗时时长是否符合预设要求;
第三确定单元,具体可以用于在确定所述目标耗时时长符合所述预设要求的情况下,将所述目标耗时时长确定为目标系统中服务器的超时时长。
在一个实施方式中,所述监控参数具体可以包括以下至少之一:线程池中空闲线程的比例、内存占用率、硬盘剩余容量等。当然,需要说明的是,上述所列举的监控参数只是一种示意性说明,不应构成对本说明书的不当限定。
在一个实施方式中,所述第一确定模块802具体可以包括:
调整单元,具体可以用于在确定所述目标耗时时长不符合所述预设要求的情况下,调整容忍失败率;
第四确定单元,具体可以用于根据调整后的容忍失败率,和所述调用耗时的概率分布,重新确定目标耗时时长。
在一个实施方式中,所述装置具体还可以包括监控模块,具体可以用于监控目标系统中调用线程请求的请求数量;在确定目标系统中调用线程请求的请求数量大于预设的数量阈值的情况下,触发获取模块801获取目标系统的容忍失败率,和调用耗时的概率分布。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的超时时长的确定装置,通过获取模块预先利用预设时间段内服务器调用线程的调用耗时时长进行拟合得到调用耗时的概率分布,再通过第一确定模块根据上述概率分布和容忍失败率来确定超时时长,以进行线程调用,从而提高了确定超时时长的精确度和效率,使得基于所确定的超时时长,系统中的线程调用稳定、高效。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (16)

1.一种超时时长的确定方法,包括:
获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布按照以下方式得到:获取预设时间段内目标系统中服务器调用线程的调用耗时时长;根据所述预设时间段内目标系统中服务器调用线程的调用耗时时长,统计得到各种耗时时长的调用耗时的数量;根据所述各种耗时时长的调用耗时的数量,确定出调用耗时的平均时长和调用耗时的标准差;根据所述调用耗时的平均时长和所述调用耗时的标准差确定调用耗时的概率分布;
根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;
根据所述目标耗时时长,确定目标系统中服务器的超时时长;
其中,根据所述目标耗时时长,确定目标系统中服务器的超时时长,包括:从所述目标系统中的服务器中选取预设个数的服务器作为测试服务器;将所述测试服务器的超时时长设置为所述目标耗时时长;采集测试时间段内,所述测试服务器根据所述目标耗时时长进行线程调用时的监控参数;根据所述监控参数,确定所述目标耗时时长是否符合预设要求;在确定所述目标耗时时长符合所述预设要求的情况下,将所述目标耗时时长确定为目标系统中服务器的超时时长;其中,根据所述监控参数,确定所述目标耗时时长是否符合预设要求,包括:将所述监控参数分别与对应预设的稳定性阈值进行比较;根据比较结果确定是否满足预设的要求。
2.根据权利要求1所述的方法,获取目标系统的容忍失败率,包括:
获取目标系统中调用线程请求的请求数量,和目标系统的性能参数;
根据所述目标系统中调用线程请求的请求数量,和所述目标系统的性能参数,确定所述目标系统的容忍失败率。
3.根据权利要求1所述的方法,所述调用耗时的概率分布为满足正态分布的概率分布。
4.根据权利要求1所述的方法,所述监控参数包括以下至少之一:线程池中空闲线程的比例、内存占用率、硬盘剩余容量。
5.根据权利要求1所述的方法,在根据所述监控参数,确定所述目标耗时时长是否符合预设要求后,所述方法还包括:
在确定所述目标耗时时长不符合所述预设要求的情况下,调整容忍失败率;
根据调整后的容忍失败率,和所述调用耗时的概率分布,重新确定目标耗时时长。
6.根据权利要求1所述的方法,获取目标系统的容忍失败率,和调用耗时的概率分布包括:
监控目标系统中调用线程请求的请求数量;
在确定目标系统中调用线程请求的请求数量大于预设的数量阈值的情况下,获取目标系统的容忍失败率,和调用耗时的概率分布。
7.一种数据处理方法,包括:
向目标服务器发送调用线程请求;
确定是否在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据,其中,所述目标耗时时长是根据容忍失败率,和调用耗时的概率分布确定的,所述调用耗时的概率分布按照以下方式得到:获取预设时间段内目标系统中服务器调用线程的调用耗时时长;根据所述预设时间段内目标系统中服务器调用线程的调用耗时时长,统计得到各种耗时时长的调用耗时的数量;根据所述各种耗时时长的调用耗时的数量,确定出调用耗时的平均时长和调用耗时的标准差;根据所述调用耗时的平均时长和所述调用耗时的标准差确定调用耗时的概率分布;其中,根据所述目标耗时时长,确定目标系统中服务器的超时时长,包括:从所述目标系统中的服务器中选取预设个数的服务器作为测试服务器;将所述测试服务器的超时时长设置为所述目标耗时时长;采集测试时间段内,所述测试服务器根据所述目标耗时时长进行线程调用时的监控参数;根据所述监控参数,确定所述目标耗时时长是否符合预设要求;在确定所述目标耗时时长符合所述预设要求的情况下,将所述目标耗时时长确定为目标系统中服务器的超时时长;其中,根据所述监控参数,确定所述目标耗时时长是否符合预设要求,包括:将所述监控参数分别与对应预设的稳定性阈值进行比较;根据比较结果确定是否满足预设的要求;
在确定在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据的情况下,根据所述结果数据,进行任务数据处理。
8.根据权利要求7所述的方法,在确定是否在目标耗时时长内获取目标服务器基于所述调用线程请求反馈的结果数据后,所述方法还包括:
在确定在目标耗时时长内未获取目标服务器基于所述调用线程请求反馈的结果数据的情况下,停止任务数据处理,并生成任务数据处理失败的提示信息。
9.一种超时时长的确定装置,包括:
获取模块,用于获取目标系统的容忍失败率,和调用耗时的概率分布,其中,所述调用耗时的概率分布按照以下方式得到:获取预设时间段内目标系统中服务器调用线程的调用耗时时长;根据所述预设时间段内目标系统中服务器调用线程的调用耗时时长,统计得到各种耗时时长的调用耗时的数量;根据所述各种耗时时长的调用耗时的数量,确定出调用耗时的平均时长和调用耗时的标准差;根据所述调用耗时的平均时长和所述调用耗时的标准差确定调用耗时的概率分布;
第一确定模块,用于根据所述容忍失败率,和所述调用耗时的概率分布,确定目标耗时时长;
第二确定模块,用于根据所述目标耗时时长,确定目标系统中服务器的超时时长;
其中,所述第二确定模块包括:选取单元,用于从所述目标系统中的服务器中选取预设个数的服务器作为测试服务器;设置单元,用于将所述测试服务器的超时时长设置为所述目标耗时时长;采集单元,用于采集测试时间段内,所述测试服务器根据所述目标耗时时长进行线程调用时的监控参数;第二确定单元,用于根据所述监控参数,确定所述目标耗时时长是否符合预设要求;第三确定单元,用于在确定所述目标耗时时长符合所述预设要求的情况下,将所述目标耗时时长确定为目标系统中服务器的超时时长;其中,所述第二确定单元具体用于将所述监控参数分别与对应预设的稳定性阈值进行比较;根据比较结果确定是否满足预设的要求。
10.根据权利要求9所述的装置,所述获取模块包括:
获取单元,用于获取目标系统中调用线程请求的请求数量,和目标系统的性能参数;
第一确定单元,用于根据所述目标系统中调用线程请求的请求数量,和所述目标系统的性能参数,确定所述目标系统的容忍失败率。
11.根据权利要求9所述的装置,所述调用耗时的概率分布为满足正态分布的概率分布。
12.根据权利要求9所述的装置,所述监控参数包括以下至少之一:线程池中空闲线程的比例、内存占用率、硬盘剩余容量。
13.根据权利要求9所述的装置,所述第一确定模块包括:
调整单元,用于在确定所述目标耗时时长不符合所述预设要求的情况下,调整容忍失败率;
第四确定单元,用于根据调整后的容忍失败率,和所述调用耗时的概率分布,重新确定目标耗时时长。
14.根据权利要求9所述的装置,所述装置还包括监控模块,用于监控目标系统中调用线程请求的请求数量;在确定目标系统中调用线程请求的请求数量大于预设的数量阈值的情况下,触发所述获取模块获取目标系统的容忍失败率,和调用耗时的概率分布。
15.一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至6中任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至6中任一项所述方法的步骤。
CN201811019117.9A 2018-09-03 2018-09-03 超时时长的确定方法、装置、服务器和数据处理方法 Active CN109144700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811019117.9A CN109144700B (zh) 2018-09-03 2018-09-03 超时时长的确定方法、装置、服务器和数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811019117.9A CN109144700B (zh) 2018-09-03 2018-09-03 超时时长的确定方法、装置、服务器和数据处理方法

Publications (2)

Publication Number Publication Date
CN109144700A CN109144700A (zh) 2019-01-04
CN109144700B true CN109144700B (zh) 2022-09-23

Family

ID=64826290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811019117.9A Active CN109144700B (zh) 2018-09-03 2018-09-03 超时时长的确定方法、装置、服务器和数据处理方法

Country Status (1)

Country Link
CN (1) CN109144700B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162384B (zh) * 2019-04-19 2023-04-28 深圳壹账通智能科技有限公司 基于Redis分布式锁的超时时间动态调整方法及系统
CN110275764B (zh) * 2019-05-15 2024-03-19 创新先进技术有限公司 调用超时处理方法、装置及系统
CN110166572A (zh) * 2019-06-06 2019-08-23 北京达佳互联信息技术有限公司 网络处理方法、装置、电子设备及存储介质
CN110784478B (zh) * 2019-10-31 2024-04-30 深圳前海微众银行股份有限公司 超时时长的调整方法、装置、设备及计算机可读存储介质
CN111309485A (zh) * 2020-02-25 2020-06-19 北京奇艺世纪科技有限公司 服务调用方法、装置、电子设备和计算机可读存储介质
CN112543152A (zh) * 2020-12-08 2021-03-23 贝壳技术有限公司 自适应调整服务超时时间的方法和装置
CN113783767B (zh) * 2021-01-04 2023-04-07 北京沃东天骏信息技术有限公司 通信处理方法、装置、设备及存储介质
CN113778702A (zh) * 2021-01-12 2021-12-10 北京沃东天骏信息技术有限公司 超时时间的确定方法、装置、电子设备和存储介质
CN113760509B (zh) * 2021-08-25 2023-11-10 北京百度网讯科技有限公司 一种超时管理方法、装置及电子设备
CN114995996A (zh) * 2022-04-26 2022-09-02 支付宝(杭州)信息技术有限公司 用于生成线程池的配置信息的方法、任务处理方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103391549B (zh) * 2012-05-10 2018-04-06 中兴通讯股份有限公司 一种不连续接收的动态配置方法、终端和基站
CN105471701B (zh) * 2014-08-15 2018-12-14 中国电信股份有限公司 设置消息超时时长的方法和代理系统
CN104506392B (zh) * 2015-01-04 2018-10-30 华为技术有限公司 一种宕机检测方法及设备
CN106528301B (zh) * 2015-09-11 2020-06-30 中兴通讯股份有限公司 超时等待时长更新方法及装置
CN108243032B (zh) * 2016-12-26 2021-06-22 阿里巴巴集团控股有限公司 一种服务等级信息的获取方法、装置及设备
CN107257363B (zh) * 2017-05-27 2020-02-04 北京思特奇信息技术股份有限公司 一种响应请求端请求的方法及系统
CN108509325B (zh) * 2018-03-07 2021-01-15 北京三快在线科技有限公司 系统超时时间的动态确定方法与装置

Also Published As

Publication number Publication date
CN109144700A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109144700B (zh) 超时时长的确定方法、装置、服务器和数据处理方法
CN112162865B (zh) 服务器的调度方法、装置和服务器
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN109936511B (zh) 一种令牌获取方法、装置、服务器、终端设备及介质
CN107592345B (zh) 交易限流装置、方法及交易系统
CN105656810B (zh) 一种更新应用程序的方法及装置
EP2363998B1 (en) Method, system and apparatus for managing push data transfers
CN115277566B (zh) 数据访问的负载均衡方法、装置、计算机设备及介质
CN109120548B (zh) 一种流量控制方法及装置
CN109117280A (zh) 电子装置及其限制进程间通信的方法、存储介质
CN112527600A (zh) 监控日志处理方法、装置、设备及存储介质
CN109800085B (zh) 资源配置的检测方法、装置、存储介质和电子设备
CN111538572A (zh) 任务处理方法、装置、调度服务器及介质
CN109670932B (zh) 信贷数据核算方法、装置、系统和计算机存储介质
CN112596985A (zh) 一种it资产探测方法、装置、设备和介质
CN112565391A (zh) 调整工业互联网平台中实例的方法、装置、设备和介质
CN108804152B (zh) 配置参数的调节方法及装置
KR102464688B1 (ko) 모니터링 결과의 이벤트 등급 결정 방법 및 장치
CN107689979B (zh) 一种下载请求处理方法和处理设备
CN116226178A (zh) 一种数据查询方法、装置、存储介质及电子装置
CN109815067A (zh) 压力测试方法、装置、计算机设备及计算机可读存储介质
CN113138772B (zh) 数据处理平台的构建方法、装置、电子设备和存储介质
CN114598705B (zh) 消息负载均衡方法、装置、设备和介质
CN109062707A (zh) 电子装置及其限制进程间通信的方法、存储介质
US20230125503A1 (en) Coordinated microservices

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: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant