CN109104336B - 服务请求处理方法、装置、计算机设备及存储介质 - Google Patents

服务请求处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109104336B
CN109104336B CN201811129480.6A CN201811129480A CN109104336B CN 109104336 B CN109104336 B CN 109104336B CN 201811129480 A CN201811129480 A CN 201811129480A CN 109104336 B CN109104336 B CN 109104336B
Authority
CN
China
Prior art keywords
request
service
service request
application server
preset
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
CN201811129480.6A
Other languages
English (en)
Other versions
CN109104336A (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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201811129480.6A priority Critical patent/CN109104336B/zh
Publication of CN109104336A publication Critical patent/CN109104336A/zh
Application granted granted Critical
Publication of CN109104336B publication Critical patent/CN109104336B/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
    • 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
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Abstract

本发明实施例提供了一种服务请求处理方法、装置、计算机设备及存储介质。该方法包括:对多个服务请求进行预处理以生成请求队列;获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态;若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。实施本发明实施例,有利于提升服务请求的处理效率以及准确度。

Description

服务请求处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机数据处理领域,尤其涉及一种服务请求处理方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着互联网应用的种类越来越多,面对不断增长的互联网用户,也带来了不同的不断增长的海量数据。如何提高存储和处理这些海量数据的能力,对于互联网企业是一个巨大的技术挑战。为了解决海量数据存储问题,分布式文件系统应运而生。基于分布式文件系统架构提供存储服务能够充分利用现有的低端硬件设备的处理能力,并提高了用户访问存储的效率和存储服务的可靠性。但分布式文件系统通常需要处理海量的服务请求,如何高效且准确地处理服务请求,有利于充分发挥分布式文件系统的作用。
发明内容
本发明实施例提供了一种服务请求处理方法、装置、计算机设备及存储介质,旨在解决服务请求处理效率低等问题。
第一方面,本发明实施例提供了一种服务请求处理方法,其包括:对多个服务请求进行预处理以生成请求队列;获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态;若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。
第二方面,本发明实施例提供了一种服务请求处理装置,其包括:
第一生成单元,用于对多个服务请求进行预处理以生成请求队列;
第一获取单元,用于获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态;
第二生成单元,用于若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;
第一判断单元,用于对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;
第一处理单元,用于若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述服务请求处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述服务请求处理方法。
本发明实施例提供一种服务请求处理方法、装置、计算机设备及计算机可读存储介质。该方法包括:对多个服务请求进行预处理以生成请求队列;获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态;若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。实施本发明实施例,有利于提升服务请求的处理效率以及准确度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种服务请求处理方法的流程示意图;
图2为本发明一实施例提供的一种服务请求处理方法的应用场景示意图;
图3为本发明一实施例提供的一种服务请求处理方法的流程示意图;
图4为本发明一实施例提供的一种服务请求处理方法的流程示意图;
图5为本发明一实施例提供的一种服务请求处理方法的流程示意图;
图6为本发明一实施例提供的一种服务请求处理方法的流程示意图;
图7为本发明一实施例提供的一种服务请求处理装置的示意性框图;
图8为本发明一实施例提供的一种服务请求处理装置的另一示意性框图;
图9为本发明一实施例提供的一种服务请求处理装置的另一示意性框图;
图10为本发明一实施例提供的一种服务请求处理装置的另一示意性框图;
图11为本发明一实施例提供的一种服务请求处理装置的另一示意性框图;
图12为本发明一实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参照图1以及图2,其为本发明一实施例提供的一种服务请求处理方法的流程示意图以及应用场景示意图。
本发明实施例所提供的服务请求处理方法可应用于管理服务器20,管理服务器20建立于终端10与应用服务器30之间,用于管理终端10发送的服务请求并将处理后的服务请求转发至应用服务器30。其中,终端10与应用服务器30的数量可以为多个。
应用服务器30根据所接收到的服务请求可以为终端提供一项或者多项服务。例如,应用服务器30提供的服务包括但不限于:查询通讯消息、传输通讯消息、查询指定通讯账号的公开信息、传输文件等等。
终端20可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
应用服务器30可以预先针对每项服务,向终端10提供用于获取该项服务的服务接口。对应地,终端10可根据该服务接口生成与该服务接口对应的服务请求,并通过该服务接口发送给应用服务器30,应用服务器30通过该服务接口对应的接口实现单元,对该服务请求进行处理,进而向终端10返回该项服务。
具体请参照图1,所述服务请求处理方法包括但不限于步骤S110-S150。
S110,对多个服务请求进行预处理以生成请求队列。
其中,管理服务器20通过接收各类终端10发送的服务请求,并对所述服务请求进行预处理,以生成请求队列。
在一实施例中,如图3所示,所述步骤S110可包括步骤S111-S112。
S111,根据所述服务请求对应的请求标识信息以及预设的优先级映射关系确定所述服务请求的优先等级。
具体地,服务请求对应的请求标识信息可以为用户标识符、服务类别等。预设的优先级映射关系可以通过配置文件的形式预先配置以及存储,预设的优先级映射关系用于记录请求标识信息与优先等级的映射关系。其中,请求标识信息与优先等级为一一对应关系。
具体地,假设所述请求标识信息为用户标识码,若用户标识符包括“8185”、“8899”、“1138”、“1503”等等。通过预先设定,可将用户标识符的首位字符用于区分用户级别,如用户标识符的首位字符为“8”的用户为付费用户,用户标识符的首位字符为“1”的用户为非付费用户。假设优先等级包括第一优先等级以及第二优先等级。则预设的优先级映射关系的设定可具体为:将首位字符为数字“8”的用户标识符映射于第一优先等级;将首位字符为数字“1”的用户标识符映射于第二优先等级,第一优先等级高于第二优先等级。本发明实施例并不对优先等级的数量以及设置方式作出限定。
S112,根据所述优先等级对所述服务请求进行排序以生成请求队列。
具体地,可根据优先等级越高排序顺位越靠前的排序规则对所述服务请求进行排序,以生成请求队列。例如,若第一优先等级高于第二优先等级,则第一优先等级的排序顺位比第二优先等级的排序顺位靠前。特别地,若存在两个或者两个以上的服务请求属于同一个优先等级,则获取服务请求的请求发起时间;并根据所述服务请求的请求发起时间进行排序。其中,根据所述服务请求的请求发起时间进行排序的排序规则可以为:请求发起时间越早,排序顺位越靠前。应用服务器在处理服务请求时将根据服务请求的排序顺位进行处理,即排序顺位越靠前的服务请求将得到优先处理。
例如,若所接收到的服务请求对应的请求标识信息为用户标识符,该用户标识符包括“8185”、“8899”、“1138”、“1503”等。根据所述服务请求对应的请求标识信息以及预设的优先级映射关系可确定所接收到的服务请求的优先等级为:“8185”、“8899”为第一优先等级;“1138”、“1503”为第二优先等级。若用户标识符为“8185”的服务请求发起时间早于用户标识符为“8899”的服务请求,以及用户标识符为“1503”的服务请求发起时间早于用户标识符为“1138”的服务请求,则最终生成的请求队列的排列顺序为“8185”、“8899”、“1503”、“1138”。
S120,获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态。
具体地,依次获取所述请求队列中的服务请求对应的应用服务器状态具体为:根据服务请求的排序顺位按照由前至后的顺序依次获取所述请求队列中的服务请求对应的应用服务器状态。
其中,所述获取所述服务请求对应的应用服务器状态可通过可达性分析算法(Reachability Analysis)实现。可达性分析算法(Reachability Analysis)通过GC ROOTS(GarbageCollection Roots,垃圾回收根对象集合)的对象作为起始点,从起始点开始向下搜索,搜索所经过的路径称为引用链(Reference Chain),若一个对象到GC Roots没有任何引用链相连,则确定此对象不可达。
在Java语言中,GC Roots的对象包括:虚拟机栈(栈帧中的本地变量表)中引用的对象、方法区中类静态属性引用的对象。方法区中常量引用的对象。本地方法栈中JNI(即一般说的Native方法)引用的对象。本发明实施例中,通过将应用服务器对应的虚拟机栈(栈帧中的本地变量表)中引用的对象,并通过可达性分析算法进行获取所述应用服务器状态。若应用服务器对应的虚拟机栈到GC Roots没有任何引用链相连,确定该应用服务器不可达,即确定该应用服务器状态为异常状态。反之,则确定该应用服务器可达,确定该应用服务器状态为正常状态。
S130,若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录。
具体地,若所述应用服务器状态为异常状态,即表明该应用服务器当前不可达,无法实现服务请求。
若所述服务请求对应的应用服务器状态为正常状态,直接调用所述应用服务器。
S140,对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值。
其中,预设的次数阈值可根据实际需求进行设定。例如可将预设的次数阈值设为5次。
S150,若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。
具体实现中,假设预设的次数阈值为5次,若所述失败次数大于5次,表明该应用服务器一直处于异常状态,无法实现服务请求,为防止因重复调用不可用的应用服务器,而导致后续的服务请求无法得到及时处理,则停止调用所述服务请求对应的应用服务器。
在一实施例中,如图4所示,步骤S110之前还可以包括步骤S210-S220。
S210,获取在第一预设时间段内所接收到的服务请求数量。
其中,第一预设时间段可根据实际需求进行设定,例如第一预设时间段可以为1秒。
S220,判断在第一预设时间段内所接收到的服务请求数量是否大于第一预设数量阈值。
在本实施例中,不同的终端可以同时发送服务请求,管理服务器在同时接收到多个服务请求时,通过对服务请求进行数量统计处理,进而得到某一时间段内所接收到的服务请求数量。
若在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,执行所述对多个服务请求进行预处理以生成请求队列的步骤。
其中,第一预设数量阈值可根据实际需求进行设定,例如第一预设数量阈值可以为1000个。若在1秒内所接收到的服务请求数量大于1000个,则确定在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,表明当前服务请求的数量过大,进而执行所述对多个服务请求进行预处理以生成请求队列的步骤。
实施本发明实施例,当管理服务器在接收到大量服务请求时,根据所接收到的服务请求进行预处理,以生成请求队列。可实现对服务请求的有序化处理,有利于提升管理服务器对服务请求的处理效率,降低管理服务器的处理压力。
在一实施例中,如图5所示,步骤S110之后还可以包括步骤S310-S330。
S310,根据所述服务请求对应的请求发起时间以及当前时间计算所述服务请求的等待时间。
具体地,服务请求的等待时间当前时间与所述服务请求对应的请求发起时间之间的时间差值。
S320,判断所述等待时间是否大于预设的等待时长。
其中,该预设的等待时长可根据实际需求进行设定,例如该预设的等待时长可设定为2秒。
S330,若所述述等待时间大于预设的等待时长,在所述请求队列中删除所述服务请求。
具体地,为降低服务器的处理压力,若所述等待时间大于预设的等待时长,在所述请求队列中删除所述服务请求,并返回提示信息以提示用户服务器正在处于忙碌状态。
在本实施例中,通过根据计算所得出服务请求的等待时间,若所述等待时间大于预设的等待时长,则在所述请求队列中删除所述服务请求,以在请求队列中删除不必要的重复请求,实现了对所述请求队列的自动调整,有利于降低管理服务器处理压力。
在一实施例中,如图6所示,步骤S110之后还可以包括步骤S410-S420。
S410,判断在第二预设时间段内所述请求队列中是否存在相同的服务请求。
具体地,第二预设时间段可根据实际需求进行设定,例如该第二预设时间段可以设定为200毫秒。若在200毫秒内,所述请求队列中存在至少两个相同的服务请求,则确定在第二预设时间段内所述请求队列中存在相同的服务请求。
S420,若在第二预设时间段内所述请求队列中存在相同的服务请求,根据所述相同的服务请求的请求发起时间,在所述请求队列中保留所述相同的服务请求中的一个服务请求。
具体地,若在第二预设时间段内所述请求队列中存在相同的服务请求,表明可能出现了重复请求的情况,为降低服务器处理压力,可根据服务请求对应的请求发起时间,在这些相同的服务请求中保留请求发起时间最早的一个服务请求,并将其余的相同的服务请求在所述请求队列中删除。
图7是本发明实施例提供的一种服务请求处理装置100的示意性框图。如图7所示,对应于以上服务请求处理方法,本发明还提供一种服务请求处理装置100。该服务请求处理装置100包括用于执行上述服务请求处理方法的单元,该装置可以被配置于服务器中。
具体地,请参阅图7,该服务请求处理装置100包括第一生成单元110、第一获取单元120、第二生成单元130、第一判断单元140以及第一处理单元150。
第一生成单元110,用于对多个服务请求进行预处理以生成请求队列。
其中,管理服务器20通过接收各类终端10发送的服务请求,并对所述服务请求进行预处理,以生成请求队列。
在一实施例中,如图8所示,所述第一生成单元110包括确定单元111以及第二处理单元112。
确定单元111,用于根据所述服务请求对应的请求标识信息以及预设的优先级映射关系确定所述服务请求的优先等级。
具体地,服务请求对应的请求标识信息可以为用户标识符、服务类别等。预设的优先级映射关系可以通过配置文件的形式预先配置以及存储,预设的优先级映射关系用于记录请求标识信息与优先等级的映射关系。其中,请求标识信息与优先等级为一一对应关系。
具体地,假设所述请求标识信息为用户标识码,若用户标识符包括“8185”、“8899”、“1138”、“1503”等等。通过预先设定,可将用户标识符的首位字符用于区分用户级别,如用户标识符的首位字符为“8”的用户为付费用户,用户标识符的首位字符为“1”的用户为非付费用户。假设优先等级包括第一优先等级以及第二优先等级。则预设的优先级映射关系的设定可具体为:将首位字符为数字“8”的用户标识符映射于第一优先等级;将首位字符为数字“1”的用户标识符映射于第二优先等级,第一优先等级高于第二优先等级。本发明实施例并不对优先等级的数量以及设置方式作出限定。
第二处理单元112,用于根据所述优先等级对所述服务请求进行排序以生成请求队列。
具体地,可根据优先等级越高排序顺位越靠前的排序规则对所述服务请求进行排序,以生成请求队列。例如,若第一优先等级高于第二优先等级,则第一优先等级的排序顺位比第二优先等级的排序顺位靠前。特别地,若存在两个或者两个以上的服务请求属于同一个优先等级,则获取服务请求的请求发起时间;并根据所述服务请求的请求发起时间进行排序。其中,根据所述服务请求的请求发起时间进行排序的排序规则可以为:请求发起时间越早,排序顺位越靠前。应用服务器在处理服务请求时将根据服务请求的排序顺位进行处理,即排序顺位越靠前的服务请求将得到优先处理。
例如,若所接收到的服务请求对应的请求标识信息为用户标识符,该用户标识符包括“8185”、“8899”、“1138”、“1503”等。根据所述服务请求对应的请求标识信息以及预设的优先级映射关系可确定所接收到的服务请求的优先等级为:“8185”、“8899”为第一优先等级;“1138”、“1503”为第二优先等级。若用户标识符为“8185”的服务请求发起时间早于用户标识符为“8899”的服务请求,以及用户标识符为“1503”的服务请求发起时间早于用户标识符为“1138”的服务请求,则最终生成的请求队列的排列顺序为“8185”、“8899”、“1503”、“1138”。
第一获取单元120,用于获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态。
具体地,依次获取所述请求队列中的服务请求对应的应用服务器状态具体为:根据服务请求的排序顺位按照由前至后的顺序依次获取所述请求队列中的服务请求对应的应用服务器状态。
其中,所述获取所述服务请求对应的应用服务器状态可通过可达性分析算法(Reachability Analysis)实现。可达性分析算法(Reachability Analysis)通过GC ROOTS(GarbageCollection Roots,垃圾回收根对象集合)的对象作为起始点,从起始点开始向下搜索,搜索所经过的路径称为引用链(Reference Chain),若一个对象到GC Roots没有任何引用链相连,则确定此对象不可达。
在Java语言中,GC Roots的对象包括:虚拟机栈(栈帧中的本地变量表)中引用的对象、方法区中类静态属性引用的对象。方法区中常量引用的对象。本地方法栈中JNI(即一般说的Native方法)引用的对象。本发明实施例中,通过将应用服务器对应的虚拟机栈(栈帧中的本地变量表)中引用的对象,并通过可达性分析算法进行获取所述应用服务器状态。若应用服务器对应的虚拟机栈到GC Roots没有任何引用链相连,确定该应用服务器不可达,即确定该应用服务器状态为异常状态。反之,则确定该应用服务器可达,确定该应用服务器状态为正常状态。
第二生成单元130,用于若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录。
具体地,若所述应用服务器状态为异常状态,即表明该应用服务器当前不可达,无法实现服务请求。
若所述服务请求对应的应用服务器状态为正常状态,直接调用所述应用服务器。
第一判断单元140,用于对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值。
其中,预设的次数阈值可根据实际需求进行设定。例如可将预设的次数阈值设为5次。
第一处理单元150,用于若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。
具体实现中,假设预设的次数阈值为5次,若所述失败次数大于5次,表明该应用服务器一直处于异常状态,无法实现服务请求,为防止因重复调用不可用的应用服务器,而导致后续的服务请求无法得到及时处理,则停止调用所述服务请求对应的应用服务器。
在一实施例中,如图9所示,所述服务请求处理装置100还包括第二获取单元210以及第二判断单元220。
第二获取单元210,用于获取在第一预设时间段内所接收到的服务请求数量。
其中,第一预设时间段可根据实际需求进行设定,例如第一预设时间段可以为1秒。
第二判断单元220,用于判断在第一预设时间段内所接收到的服务请求数量是否大于第一预设数量阈值。
在本实施例中,不同的终端可以同时发送服务请求,管理服务器在同时接收到多个服务请求时,通过对服务请求进行数量统计处理,进而得到某一时间段内所接收到的服务请求数量。
若在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,执行所述对多个服务请求进行预处理以生成请求队列的步骤。
其中,第一预设数量阈值可根据实际需求进行设定,例如第一预设数量阈值可以为1000个。若在1秒内所接收到的服务请求数量大于1000个,则确定在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,表明当前服务请求的数量过大,进而执行所述对多个服务请求进行预处理以生成请求队列的步骤。
实施本发明实施例,当管理服务器在接收到大量服务请求时,根据所接收到的服务请求进行预处理,以生成请求队列。可实现对服务请求的有序化处理,有利于提升管理服务器对服务请求的处理效率,降低管理服务器的处理压力。在一实施例中,如图10所示,所述服务请求处理装置100还包括计算单元310、第三判断单元320以及第三处理单元330。
计算单元310,用于根据所述服务请求对应的请求发起时间以及当前时间计算所述服务请求的等待时间。
具体地,服务请求的等待时间当前时间与所述服务请求对应的请求发起时间之间的时间差值。
第三判断单元320,用于判断所述等待时间是否大于预设的等待时长。
其中,该预设的等待时长可根据实际需求进行设定,例如该预设的等待时长可设定为2秒。
第三处理单元330,用于若所述述等待时间大于预设的等待时长,在所述请求队列中删除所述服务请求。
具体地,为降低服务器的处理压力,若所述等待时间大于预设的等待时长,在所述请求队列中删除所述服务请求,并返回提示信息以提示用户服务器正在处于忙碌状态。
在本实施例中,通过根据计算所得出服务请求的等待时间,若所述等待时间大于预设的等待时长,则在所述请求队列中删除所述服务请求,以在请求队列中删除不必要的重复请求,实现了对所述请求队列的自动调整,有利于降低管理服务器处理压力。
在一实施例中,如图11所示,所述服务请求处理装置100还包括第四判断单元410以及第四处理单元420。
第四判断单元410,用于判断在第二预设时间段内所述请求队列中是否存在相同的服务请求。
具体地,第二预设时间段可根据实际需求进行设定,例如该第二预设时间段可以设定为200毫秒。若在200毫秒内,所述请求队列中存在至少两个相同的服务请求,则确定在第二预设时间段内所述请求队列中存在相同的服务请求。
第四处理单元420,用于若在第二预设时间段内所述请求队列中存在相同的服务请求,根据所述相同的服务请求的请求发起时间,在所述请求队列中保留所述相同的服务请求中的一个服务请求。
具体地,若在第二预设时间段内所述请求队列中存在相同的服务请求,表明可能出现了重复请求的情况,为降低服务器处理压力,可根据服务请求对应的请求发起时间,在这些相同的服务请求中保留请求发起时间最早的一个服务请求,并将其余的相同的服务请求在所述请求队列中删除。
上述装置100可以实现为一种计算机程序的形式,计算机程序可以在如图12所示的计算机设备上运行。
请参阅图12,图12是本发明实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是管理服务器。管理服务器可以是独立的管理服务器,也可以是多个管理服务器组成的管理服务器集群。
该计算机设备500包括通过系统总线510连接的处理器520、存储器和网络接口550,其中,存储器可以包括非易失性存储介质530和内存储器540。
该非易失性存储介质530可存储操作系统531和计算机程序532。该计算机程序532被执行时,可使得处理器520执行一种服务请求处理方法。
该处理器520用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器540为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器520执行时,可使得处理器520执行一种服务请求处理方法。
该网络接口550用于与其它设备进行网络通信。本领域技术人员可以理解,该计算机设备的示意性框图仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器520用于运行存储在存储器中的程序代码,以实现如下功能:对多个服务请求进行预处理以生成请求队列;获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态;若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。
在一实施例中,处理器520在执行所述对多个服务请求进行预处理以生成请求队列的步骤之前,具体执行如下步骤:获取在第一预设时间段内所接收到的服务请求数量;判断在第一预设时间段内所接收到的服务请求数量是否大于第一预设数量阈值;若在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,执行所述对多个服务请求进行预处理以生成请求队列的步骤。
在一实施例中,处理器520在执行所述对多个服务请求进行预处理以生成请求队列的步骤时,具体执行如下步骤:根据所述服务请求对应的请求标识信息以及预设的优先级映射关系确定所述服务请求的优先等级;根据所述优先等级对所述服务请求进行排序以生成请求队列。
在一实施例中,处理器520在执行所述对多个服务请求进行预处理以生成请求队列的步骤之后,具体执行如下步骤:根据所述服务请求对应的请求发起时间以及当前时间计算所述服务请求的等待时间;判断所述等待时间是否大于预设的等待时长;若所述述等待时间大于预设的等待时长,在所述请求队列中删除所述服务请求。
在一实施例中,处理器520在执行所述对多个服务请求进行预处理以生成请求队列的步骤之后,具体执行如下步骤:判断在第二预设时间段内所述请求队列中是否存在相同的服务请求;若在第二预设时间段内所述请求队列中存在相同的服务请求,根据所述相同的服务请求的请求发起时间,在所述请求队列中保留所述相同的服务请求中的一个服务请求。
应当理解,在本发明实施例中,处理器520可以是中央处理单元(CentralProcessing Unit,CPU),该处理器520还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,该计算机设备500的示意性框图并不构成对计算机设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在本发明的另一实施例中提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,其中计算机程序包括程序指令。所述程序指令被处理器执行时实现如下步骤:对多个服务请求进行预处理以生成请求队列;获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态;若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器。
在一实施例中,所述程序指令被处理器执行以实现所述对多个服务请求进行预处理以生成请求队列的步骤之前,具体实现如下步骤:获取在第一预设时间段内所接收到的服务请求数量;判断在第一预设时间段内所接收到的服务请求数量是否大于第一预设数量阈值;若在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,执行所述对多个服务请求进行预处理以生成请求队列的步骤。
在一实施例中,所述程序指令被处理器执行以实现所述对多个服务请求进行预处理以生成请求队列的步骤时,具体实现如下步骤根据所述服务请求对应的请求标识信息以及预设的优先级映射关系确定所述服务请求的优先等级;根据所述优先等级对所述服务请求进行排序以生成请求队列。
在一实施例中,所述程序指令被处理器执行以实现所述对多个服务请求进行预处理以生成请求队列的步骤之后,具体实现如下步骤:根据所述服务请求对应的请求发起时间以及当前时间计算所述服务请求的等待时间;判断所述等待时间是否大于预设的等待时长;若所述述等待时间大于预设的等待时长,在所述请求队列中删除所述服务请求。
在一实施例中,所述程序指令被处理器执行以实现所述对多个服务请求进行预处理以生成请求队列的步骤之后,具体实现如下步骤:判断在第二预设时间段内所述请求队列中是否存在相同的服务请求;若在第二预设时间段内所述请求队列中存在相同的服务请求,根据所述相同的服务请求的请求发起时间,在所述请求队列中保留所述相同的服务请求中的一个服务请求。
该计算机可读存储介质可以是U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如一个以上单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种服务请求处理方法,其特征在于,包括:
对多个服务请求进行预处理以生成请求队列;
获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态,其中,通过可达性分析算法对所述应用服务器对应的虚拟机栈中引用的对象进行分析,以获取所述应用服务器状态;若所述应用服务器对应的虚拟机栈到垃圾回收根对象集合没有存在任何引用链相连,则确定所述应用服务器状态为所述异常状态;若所述应用服务器对应的虚拟机栈到垃圾回收根对象集合存在引用链相连,则确定所述应用服务器状态为所述正常状态;
若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;
对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;
若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器;
所述对多个服务请求进行预处理以生成请求队列,包括:
根据所述服务请求对应的请求标识信息以及预设的优先级映射关系确定所述服务请求的优先等级,其中,所述服务请求对应的请求标识信息为用户标识符或服务类别,预设的所述优先级映射关系通过配置文件的形式预先配置以及存储,预设的所述优先级映射关系用于记录所述请求标识信息与所述优先等级的映射关系,所述请求标识信息与所述优先等级为一一对应关系;
根据所述优先等级对所述服务请求进行排序以生成请求队列;
所述对多个服务请求进行预处理以生成请求队列之后,还包括:
判断在第二预设时间段内所述请求队列中是否存在相同的服务请求;
若在第二预设时间段内所述请求队列中存在相同的服务请求,根据所述相同的服务请求的请求发起时间,在所述请求队列中保留所述相同的服务请求中的一个服务请求。
2.如权利要求1所述的方法,其特征在于,所述对多个服务请求进行预处理以生成请求队列之前,还包括:
获取在第一预设时间段内所接收到的服务请求数量;
判断在第一预设时间段内所接收到的服务请求数量是否大于第一预设数量阈值;
若在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,执行所述对多个服务请求进行预处理以生成请求队列的步骤。
3.如权利要求1所述的方法,其特征在于,所述对多个服务请求进行预处理以生成请求队列之后,还包括:
根据所述服务请求对应的请求发起时间以及当前时间计算所述服务请求的等待时间;
判断所述等待时间是否大于预设的等待时长;
若所述等待时间大于预设的等待时长,在所述请求队列中删除所述服务请求。
4.一种服务请求处理装置,其特征在于,所述装置包括:
第一生成单元,用于对多个服务请求进行预处理以生成请求队列;
第一获取单元,用于获取所述请求队列中每个服务请求对应的应用服务器状态,所述应用服务器状态包括正常状态以及异常状态,其中,通过可达性分析算法对所述应用服务器对应的虚拟机栈中引用的对象进行分析,以获取所述应用服务器状态;若所述应用服务器对应的虚拟机栈到垃圾回收根对象集合没有存在任何引用链相连,则确定所述应用服务器状态为所述异常状态;若所述应用服务器对应的虚拟机栈到垃圾回收根对象集合存在引用链相连,则确定所述应用服务器状态为所述正常状态;
第二生成单元,用于若所述服务请求对应的应用服务器状态为异常状态,生成请求失败纪录;
第一判断单元,用于对所述请求失败纪录进行计数以生成失败次数,并判断所述失败次数是否大于预设的次数阈值;
第一处理单元,用于若所述失败次数大于预设的次数阈值,停止调用所述服务请求对应的应用服务器;
所述第一生成单元包括:
确定单元,用于根据所述服务请求对应的请求标识信息以及预设的优先级映射关系确定所述服务请求的优先等级,其中,所述服务请求对应的请求标识信息为用户标识符或服务类别,预设的所述优先级映射关系通过配置文件的形式预先配置以及存储,预设的所述优先级映射关系用于记录所述请求标识信息与所述优先等级的映射关系,所述请求标识信息与所述优先等级为一一对应关系;
第二处理单元,用于根据所述优先等级对所述服务请求进行排序以生成请求队列;
第四判断单元,用于判断在第二预设时间段内所述请求队列中是否存在相同的服务请求;
第四处理单元,用于若在第二预设时间段内所述请求队列中存在相同的服务请求,根据所述相同的服务请求的请求发起时间,在所述请求队列中保留所述相同的服务请求中的一个服务请求。
5.如权利要求4所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于获取在第一预设时间段内所接收到的服务请求数量;
第二判断单元,用于判断在第一预设时间段内所接收到的服务请求数量是否大于第一预设数量阈值;
若在第一预设时间段内所接收到的服务请求数量大于第一预设数量阈值,所述第一生成单元,用于对多个服务请求进行预处理以生成请求队列。
6.一种计算机设备,包括存储器和处理器,所述存储器储存有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3中任一项所述的服务请求处理方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如权利要求1-3任一项所述的服务请求处理方法。
CN201811129480.6A 2018-09-27 2018-09-27 服务请求处理方法、装置、计算机设备及存储介质 Active CN109104336B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811129480.6A CN109104336B (zh) 2018-09-27 2018-09-27 服务请求处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811129480.6A CN109104336B (zh) 2018-09-27 2018-09-27 服务请求处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109104336A CN109104336A (zh) 2018-12-28
CN109104336B true CN109104336B (zh) 2022-08-05

Family

ID=64867138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811129480.6A Active CN109104336B (zh) 2018-09-27 2018-09-27 服务请求处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109104336B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766210B (zh) * 2019-01-17 2022-04-22 多点生活(成都)科技有限公司 服务熔断控制方法、服务熔断控制装置和服务器集群
CN109842627B (zh) * 2019-02-20 2021-07-20 北京奇艺世纪科技有限公司 一种确定服务请求频率的方法及装置
CN110297648A (zh) * 2019-06-12 2019-10-01 阿里巴巴集团控股有限公司 应用自动降级和恢复方法和系统
CN110955563A (zh) * 2019-11-26 2020-04-03 上海易点时空网络有限公司 数据备份方法及装置
CN110933467B (zh) * 2019-12-02 2021-07-27 腾讯科技(深圳)有限公司 直播数据处理方法、装置和计算机可读存储介质
CN111526181B (zh) * 2020-04-01 2022-11-11 北京皮尔布莱尼软件有限公司 数据请求的处理方法、系统及计算设备
CN113765864B (zh) * 2020-06-11 2023-06-23 北京京东振世信息技术有限公司 一种业务请求的处理方法和装置
CN111949424A (zh) * 2020-09-18 2020-11-17 成都精灵云科技有限公司 一种处理声明式事件的队列的实现方法
CN112650695B (zh) * 2020-12-30 2023-09-05 北京奇艺世纪科技有限公司 一种应用服务器的缓存管理方法及装置
CN113742109B (zh) * 2021-09-09 2023-09-15 平安科技(深圳)有限公司 第三方服务对接方法、装置、设备及存储介质
CN114290329B (zh) * 2021-12-13 2023-09-05 库卡机器人制造(上海)有限公司 机器人的校准控制方法及系统、存储介质和机器人组件
CN115981811B (zh) * 2022-12-19 2024-03-15 上海新迪数字技术有限公司 一种任务调度方法、系统、电子设备及存储介质
CN117076091B (zh) * 2023-10-12 2024-01-26 宁波银行股份有限公司 一种多引擎接口调度方法及装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609218A (zh) * 2012-01-18 2012-07-25 清华大学 并行闪存转换层方法与系统
CN106407021A (zh) * 2016-07-01 2017-02-15 厦门易名科技股份有限公司 一种基于队列的业务请求处理方法
CN107172171A (zh) * 2017-05-27 2017-09-15 腾讯科技(深圳)有限公司 一种服务请求处理方法、装置及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305431B2 (en) * 2002-09-30 2007-12-04 International Business Machines Corporation Automatic enforcement of service-level agreements for providing services over a network
CN106254331A (zh) * 2016-07-28 2016-12-21 努比亚技术有限公司 一种终端应用请求管理装置及方法、通信系统
CN106973093B (zh) * 2017-03-23 2019-11-19 北京奇艺世纪科技有限公司 一种服务切换方法和装置
CN107544849A (zh) * 2017-09-30 2018-01-05 北京天元创新科技有限公司 一种web服务器并发管理方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609218A (zh) * 2012-01-18 2012-07-25 清华大学 并行闪存转换层方法与系统
CN106407021A (zh) * 2016-07-01 2017-02-15 厦门易名科技股份有限公司 一种基于队列的业务请求处理方法
CN107172171A (zh) * 2017-05-27 2017-09-15 腾讯科技(深圳)有限公司 一种服务请求处理方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN109104336A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
CN109104336B (zh) 服务请求处理方法、装置、计算机设备及存储介质
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN107819797B (zh) 访问请求处理方法和装置
CN111555963A (zh) 消息推送方法、装置、电子设备及存储介质
CN111212391B (zh) 短信推送方法、装置、设备及可读介质
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
CN111722918A (zh) 业务标识码生成方法、装置、存储介质及电子设备
CN110933136A (zh) 一种服务节点选择方法、装置、设备及可读存储介质
CN110708212A (zh) 分布式系统中调用链路的追踪方法及装置
WO2020258102A1 (zh) 内容推送方法、装置、移动终端及存储介质
CN110704170A (zh) 批量任务处理方法、装置、计算机设备和存储介质
CN111177513B (zh) 异常访问地址的确定方法、装置、电子设备及存储介质
CN111538572A (zh) 任务处理方法、装置、调度服务器及介质
CN110311963B (zh) 消息推送方法、装置、计算机设备及计算机可读存储介质
CN111737027A (zh) 分布式存储系统的Lookup处理方法、系统、终端及存储介质
EP3945420A1 (en) Method and apparatus for data processing, server and storage medium
CN113360210A (zh) 数据对账方法、装置、计算机设备和存储介质
CN115190083B (zh) 应用于智能设备的数据传输方法及装置
CN109298928B (zh) 业务的处理方法及装置
US11216352B2 (en) Method for automatically analyzing bottleneck in real time and an apparatus for performing the method
CN113746920B (zh) 一种数据转发方法、装置、电子设备及计算机可读存储介质
CN110134547B (zh) 一种基于中间件的重复数据删除方法和相关装置
CN111259045B (zh) 一种数据处理方法、装置、服务器及介质
CN111625375A (zh) 帐号预约方法和装置、存储介质及电子设备
CN113055459B (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