CN113159845A - 一种数据处理方法、装置、设备及介质 - Google Patents
一种数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113159845A CN113159845A CN202110428806.0A CN202110428806A CN113159845A CN 113159845 A CN113159845 A CN 113159845A CN 202110428806 A CN202110428806 A CN 202110428806A CN 113159845 A CN113159845 A CN 113159845A
- Authority
- CN
- China
- Prior art keywords
- dsp
- target
- preset
- target dsp
- connection number
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种数据处理方法、装置、设备及介质,用以解决现有无法保证ADX与DSP之间交互的稳定性的问题。由于预先设置有第一调整要求以及第二调整要求,后续确定目标DSP在第二时间段内处理流量请求的第一超时错误率,当确定该第一超时错误率确定是否满足预设的第一调整要求,便可以对目标DSP对应的第一连接数进行调整,当确定该第一超时错误率确定是否满足预设的第二调整要求,则可以对目标DSP对应的熔断器参数进行调整,从而实现及时且准确地对目标DSP对应的第一连接数以及熔断器参数进行调整,有利于保证ADX与DSP之间交互的稳定性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术
目前,互联网广告已成为广告传播的主要途径之一。在互联网广告中,承载广告信息的载体为流量。互联网广告的投放涉及需求方平台(DSP,Demand Side Platform)和广告交易平台(ADX,AdExchange),其中,ADX是接入供应方平台(SSP,Sell-Side Platform)汇聚的各种流量的交易平台,是DSP实现受众精准购买的交易平台。DSP通过ADX选择合适的流量进行广告投放。但随着互联网技术的发展,流量成爆炸式增长,对每个DSP处理流量请求的要求日益严格。当与ADX交互的某一DSP出现问题时,比如宕机或者无法及时所有流量请求等问题,如果不及时处理,则可能会造成与该ADX交互的其他DSP也出现一系列问题。
发明内容
本公开提供了一种数据处理方法、装置、设备及介质,用以解决现有无法保证ADX与DSP之间交互的稳定性的问题。
本公开提供了一种数据处理方法,所述方法包括:
确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率;
若确定所述第一超时错误率满足预设的第一调整要求,则对所述目标DSP对应的第一连接数进行调整;
若确定所述第一超时错误率满足预设的第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
在某些可能的实施方式中,所述确定所述第一超时错误率满足预设的第一调整要求,包括:
若所述第一超时错误率大于预设的第一阈值,且所述第一连接数小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足所述第一调整要求。
在某些可能的实施方式中,所述对所述目标DSP对应的第一连接数进行调整,包括:
根据所述第一连接数以及所述第一调整比例,确定所述目标DSP对应的第一可调连接数;
根据所述第一可调连接数以及所述第二连接数,确定所述目标DSP对应的调整后的连接数。
在某些可能的实施方式中,所述根据所述第一连接数以及所述第一调整比例,确定所述目标DSP对应的第一可调连接数通过如下公式确定:
R1=X/(1-failrate1)
其中,R1为所述第一可调连接数,X为所述第一连接数,failrate1为所述第一调整比例。
在某些可能的实施方式中,所述方法还包括:
若调整后的连接数不小于预先配置的所述目标DSP对应的第二连接数,则将所述目标DSP对应的连接池的调整状态确定为非调整状态,并将所述目标DSP对应的熔断器的调整状态确定为可调整状态。
在某些可能的实施方式中,所述方法还包括:
按照预设的第一周期,查询所述连接池的调整状态;
若确定所述连接池为非调整状态,则根据所述连接池中是否保存有数据,对所述目标DSP对应的连接数进行调整。
在某些可能的实施方式中,所述根据所述连接池中是否保存有数据,对所述目标DSP对应的连接数进行调整,包括:
若所述连接池中未保存有数据,则将所述连接数调整为预先配置的初始连接数;
若所述连接池中保存有数据,则根据所述目标DSP在第二时间段内对每个流量请求进行处理的响应时间、所述目标DSP分别在所述第二时间段包含的每个单位时长内接收到的流量请求的第一请求数量、以及所述第二连接数,对所述连接数进行调整。
在某些可能的实施方式中,所述根据所述目标DSP在第二时间段内对每个流量请求进行处理的响应时间、所述目标DSP分别在所述第二时间段包含的每个单位时长内接收到的流量请求的第一请求数量、以及所述第二连接数,对所述连接数进行调整,包括:
根据每个所述响应时间,确定目标响应时间;
根据每个所述第一请求数量,确定第一查询率;
根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数;
根据所述第二可调连接数以及所述第二连接数,确定所述目标DSP对应的调整后的连接数。
在某些可能的实施方式中,所述根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数通过如下公式确定:
R2=RT*P1/1000
其中,R2为所述目标DSP对应的第二可调连接数,RT为所述目标响应时间,P1为所述第一查询率。
在某些可能的实施方式中,所述方法还包括:
若调整后的连接数小于所述第二连接数,则将所述连接池的调整状态确定为可调整状态,并将所述熔断器的调整状态确定为非调整状态。
在某些可能的实施方式中,所述确定所述第一超时错误率满足预设的第二调整要求,包括:
若所述第一超时错误率大于预设的熔断阈值,且所述第一连接数不小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足预设的第二调整要求。
在某些可能的实施方式中,所述对所述目标DSP对应的熔断器参数进行调整,包括:
根据所述目标DSP对应的连接池在第二时间是否保存有数据,确定所述目标DSP对应的查询率下限;其中,所述第二时间与第一时间的时间差为预设第三时间段,所述第一时间为所述连接池被调整为非调整状态的时间,所述第二时间晚于所述第一时间;
确定所述目标DSP在第四时间段内处理流量请求的第二超时错误率、以及所述第四时间段包含的每个单位时长内接收到的流量请求的第二请求数量;
根据每个所述第二请求数量,确定第二查询率;
若所述第二超时错误率大于预设的第三数值,且所述第二查询率大于所述查询率下限,则对所述熔断器参数进行调整。
在某些可能的实施方式中,所述对所述熔断器参数进行调整,包括:
将所述熔断器的开关状态从关闭状态置为半开状态,并根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率。
在某些可能的实施方式中,所述根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率通过如下公式确定:
熔断P=P2/(1-failrate2)
其中,熔断P为所述熔断查询率,P2为所述第二查询率,failrate2为所述第二调整比例。
在某些可能的实施方式中,所述根据所述连接池在第二时间时是否保存有数据,确定所述目标DSP对应的查询率下限,包括:
若所述连接池在所述第二时间未保存有数据,则将预先配置的数值确定为所述查询率下限;
若所述连接池在所述第二时间保存有数据,则根据所述目标DSP在所述第三时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限。
在某些可能的实施方式中,所述根据所述目标DSP在所述第三时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限通过如下公式确定:
P下限=D*1000/平均RT
其中,P下限为所述查询率下限,D为所述第二连接数,平均RT为所述平均响应时间。
在某些可能的实施方式中,所述方法还包括:
按照预设的第二周期,确定所述目标DSP在所述第二周期内处理流量请求的第三超时错误率;
若所述第三超时错误率不小于预设的第二阈值,则对所述熔断查询率下调;
若所述第三超时错误率小于预设的第二阈值,则对所述熔断查询率上调。
在某些可能的实施方式中,所述对所述熔断查询率下调,包括:
根据所述熔断查询率以及预设的第三调整比例,确定第三查询率;
根据所述第三查询率以及所述查询率下限,对所述熔断查询率下调。
在某些可能的实施方式中,所述根据所述熔断查询率以及预设的第三调整比例,确定第三查询率通过如下公式确定:
P3=熔断P*(1-failrate3)
其中,熔断P为所述熔断查询率,P3为所述第三查询率,failrate3为所述第三调整比例。
在某些可能的实施方式中,所述对所述熔断查询率上调,包括:
根据所述熔断查询率以及预设的第四调整比例,确定第四查询率;
根据所述第四查询率、以及所述熔断器被置为可调整状态后所确定的目标查询率,对所述熔断查询率上调。
在某些可能的实施方式中,所述根据所述熔断查询率以及预设的第四调整比例,确定第四查询率通过如下公式确定:
P4=熔断P/(1-failrate4)
其中,熔断P为所述熔断查询率,P4为所述第四查询率,failrate4为所述第四调整比例。
本公开提供了一种数据处理装置,所述装置包括:
确定单元,用于确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率;
判断单元,用于确定所述第一超时错误率是否满足预设的第一调整要求;
第一处理单元,用于若确定所述第一超时错误率满足所述第一调整要求,则对所述目标DSP对应的第一连接数进行调整;
所述判断单元,还用于确定所述第一超时错误率是否满足预设的第二调整要求;
第二处理单元,用于若确定所述第一超时错误率满足所述第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
在某些可能的实施方式中,所述判断单元,具体用于若所述第一超时错误率大于预设的第一阈值,且所述第一连接数小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足所述第一调整要求。
在某些可能的实施方式中,所述第一处理单元,具体用于根据所述第一连接数以及所述第一调整比例,确定所述目标DSP对应的第一可调连接数;根据所述第一可调连接数以及所述第二连接数,确定所述目标DSP对应的调整后的连接数。
在某些可能的实施方式中,所述第一处理单元,具体用于通过如下公式根据所述第一连接数以及所述第一调整比例,确定所述目标DSP对应的第一可调连接数:
R1=X/(1-failrate1)
其中,R1为所述第一可调连接数,X为所述第一连接数,failrate1为所述第一调整比例。
在某些可能的实施方式中,所述装置还包括:调整单元;
所述调整单元,用于若调整后的连接数不小于预先配置的所述目标DSP对应的第二连接数,则将所述目标DSP对应的连接池的调整状态确定为非调整状态,并将所述目标DSP对应的熔断器的调整状态确定为可调整状态。
在某些可能的实施方式中,所述装置还包括:查询单元;
所述查询单元,用于按照预设的第一周期,查询所述连接池的调整状态;
所述调整单元,还用于若确定所述连接池为非调整状态,则根据所述连接池中是否保存有数据,对所述目标DSP对应的连接数进行调整。
在某些可能的实施方式中,所述调整单元,具体用于若所述连接池中未保存有数据,则将所述连接数调整为预先配置的初始连接数;若所述连接池中保存有数据,则根据所述目标DSP在第二时间段内对每个流量请求进行处理的响应时间、所述目标DSP分别在所述第二时间段包含的每个单位时长内接收到的流量请求的第一请求数量、以及所述第二连接数,对所述连接数进行调整。
在某些可能的实施方式中,所述调整单元,具体用于根据每个所述响应时间,确定目标响应时间;根据每个所述第一请求数量,确定第一查询率;根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数;根据所述第二可调连接数以及所述第二连接数,确定所述目标DSP对应的调整后的连接数。
在某些可能的实施方式中,所述调整单元,具体用于通过如下公式根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数:
R2=RT*P1/1000
其中,R2为所述目标DSP对应的第二可调连接数,RT为所述目标响应时间,P1为所述第一查询率。
在某些可能的实施方式中,所述调整单元,还用于若调整后的连接数小于所述第二连接数,则将所述连接池的调整状态确定为可调整状态,并将所述熔断器的调整状态确定为非调整状态。
在某些可能的实施方式中,所述判断单元,具体用于若所述第一超时错误率大于预设的熔断阈值,且所述第一连接数不小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足预设的第二调整要求。
在某些可能的实施方式中,所述第二处理单元,具体用于根据所述目标DSP对应的连接池在第二时间是否保存有数据,确定所述目标DSP对应的查询率下限;其中,所述第二时间与第一时间的时间差为预设第三时间段,所述第一时间为所述连接池被调整为非调整状态的时间,所述第二时间晚于所述第一时间;确定所述目标DSP在第四时间段内处理流量请求的第二超时错误率、以及所述第四时间段包含的每个单位时长内接收到的流量请求的第二请求数量;根据每个所述第二请求数量,确定第二查询率;若所述第二超时错误率大于预设的第三数值,且所述第二查询率大于所述查询率下限,则对所述熔断器参数进行调整。
在某些可能的实施方式中,所述第二处理单元,具体用于将所述熔断器的开关状态从关闭状态置为半开状态,并根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率。
在某些可能的实施方式中,所述第二处理单元,具体用于通过如下公式根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率:
熔断P=P2/(1-failrate2)
其中,熔断P为所述熔断查询率,P2为所述第二查询率,failrate2为所述第二调整比例。
在某些可能的实施方式中,所述第二处理单元,具体用于若所述连接池在所述第二时间未保存有数据,则将预先配置的数值确定为所述查询率下限;若所述连接池在所述第二时间保存有数据,则根据所述目标DSP在所述第三时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限。
在某些可能的实施方式中,所述第二处理单元,具体用于通过如下公式根据所述目标DSP在所述第四时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限:
P下限=D*1000/平均RT
其中,P下限为所述查询率下限,D为所述第二连接数,平均RT为所述平均响应时间。
在某些可能的实施方式中,所述确定单元,还用于按照预设的第二周期,确定所述目标DSP在所述第二周期内处理流量请求的第三超时错误率;
所述第二处理单元,还用于若所述第三超时错误率不小于预设的第二阈值,则对所述熔断查询率下调;若所述第三超时错误率小于预设的第二阈值,则对所述熔断查询率上调。
在某些可能的实施方式中,所述第二处理单元,具体用于根据所述熔断查询率以及预设的第三调整比例,确定第三查询率;根据所述第三查询率以及所述查询率下限,对所述熔断查询率下调。
在某些可能的实施方式中,所述第二处理单元,具体用于通过如下公式根据所述熔断查询率以及预设的第三调整比例,确定第三查询率:
P3=熔断P*(1-failrate3)
其中,熔断P为所述熔断查询率,P3为所述第三查询率,failrate3为所述第三调整比例。
在某些可能的实施方式中,所述第二处理单元,具体用于根据所述熔断查询率以及预设的第四调整比例,确定第四查询率;根据所述第四查询率、以及所述熔断器被置为可调整状态后所确定的目标查询率,对所述熔断查询率上调。
在某些可能的实施方式中,所述第二处理单元,具体用于通过如下公式根据所述熔断查询率以及预设的第四调整比例,确定第四查询率通过如下公式确定:
P4=熔断P/(1-failrate4)
其中,熔断P为所述熔断查询率,P4为所述第四查询率,failrate4为所述第四调整比例。
本公开提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述数据处理方法的步骤。
本公开提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述数据处理方法的步骤。
由于预先设置有第一调整要求以及第二调整要求,确定目标DSP在第二时间段内处理流量请求的第一超时错误率,当确定该第一超时错误率确定是否满足预设的第一调整要求,便可以对目标DSP对应的第一连接数进行调整,当确定该第一超时错误率确定是否满足预设的第二调整要求,则可以对目标DSP对应的熔断器参数进行调整,从而实现及时且准确地对目标DSP对应的第一连接数以及熔断器参数进行调整,有利于保证ADX与DSP之间交互的稳定性。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种数据处理过程示意图;
图2为本公开实施例提供的具体的流量请求处理的流程示意图;
图3为本公开实施例提供的具体的数据处理流程示意图;
图4为本公开实施例提供的一种数据处理装置的结构示意图;
图5为本公开实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
为了方便理解,下面对本公开实施例中涉及的部分概念进行解释:
ADX(Advertisement-Exchange,广告交易平台):用于在广告交易过程中,接收SSP(Sell-Side Platform,供应方平台)发送的竞价请求,从多个DSP(Demand-Side Platform,需求方平台)获取广告并选择目标广告发送至SSP,从而实现SSP与DSP之间的广告交易。其中,ADX从接受到SSP发送的广告曝光请求,到从多DSP中获取广告并响应的处理时效一般要求是毫秒级的。
DSP:用于根据广告主/代理商的需求,在实时竞价(RealTime Bidding,RTB)市场上进行广告流量的精准竞价采买和展示。其中,DSP从接收到ADX的竞价请求到广告出价响应的决策也一般是毫秒级的。
http协议:ADX与DSP之间的交互是采用http协议请求的,其为全双工的协议,建立连接与断开连接是要经过三次握手与四次挥手的,因此,ADX与DSP之间每次采用http协议进行交互时,都将耗费较多的资源在连接的建立与销毁上。
http连接池(为了方便描述,记为连接池):通过连接池可以管理持有连接,即在同一条TCP链路上进行连接复用,省去了大量连接建立与释放的时间从而提升性能。
熔断:在整个调用链中,只要该调用链中有一个服务出现问题,都可能会引起该调用链中在该服务上游的所有服务出现一系列的问题,甚至会引起整个调用链上的所有服务都宕机,造成雪崩效应。为了避免该种情况,可以通过熔断来进行自我保护以确保系统稳定性,即调用端暂时停止对该出现问题的服务进行调用,直到该服务正常工作为止,从而保护该调用链中除该服务之外的其他服务运行的正常。
为了实现熔断,可以设置熔断器,该熔断器有三种开关状态:关闭(close)状态,打开(open)状态和半开(half-open)状态。其中,一般在服务没有出现问题的时候,默认该熔断器的开关状态为close状态,即当熔断器处于关闭状态,说明服务没有出现问题,处于正常状态,当熔断器处于open状态时,说明服务出现问题,将该服务降级或快速返回“失败”的响应信息,当熔断器处于half-open状态时,说明正在通过将少量的请求发送给该服务,通过该服务的响应确认该服务是否恢复。
限流:用于保护服务不被大量的请求冲垮,通过限制请求的发送或接收速度来保护该服务。其中,限流策略可设置在服务端,也可设置在调用端。
由于互联网技术的发展,流量成爆炸式增长,对每个DSP处理流量请求的要求日益严格。当与ADX交互的某一DSP出现问题时,比如宕机或者无法及时所有流量请求等问题,如果不及时处理,则可能会造成与该ADX交互的其他DSP也出现一系列问题。
相关技术中,为了避免上述情况的出现,主要依赖人工预先配置或及时调整每个DSP对应的连接参数和熔断器参数,并在任一DSP出现问题时,根据该连接参数和熔断器参数,熔断ADX与该DSP的交互。对于该种方法,由于随着ADX对接的DSP越来越多,每家DSP能够承受的每秒查询率,响应时间等不尽相同,甚至同一DSP在不同的时间段所需要的流量是不同的,工作人员需要不断调整该DSP对应的连接参数和熔断器参数,增大人工的工作量,提高了人工配置每个DSP对应的连接参数和熔断器参数的复杂度以及处理时效要求。并且在调整DSP对应的连接参数和熔断器参数时,依赖于工作人员的经验,当设置的连接参数和熔断器参数不合理,或,不及时对该连接参数和熔断器参数调整时,使得流量请求无法被及时处理,进而导致该DSP出现问题,进而也会导致与该ADX交互的其他DSP也出现问题。此外,一般是通过硬编码配置DSP对应的连接参数和熔断器参数的,若修改任一DSP对应的连接参数或熔断器参数,需要重启该DSP,该重启DSP的过程中,也会造成一定的资损。
因此,为了解决该技术问题,本公开提供了一种数据处理方法、装置、设备及介质,由于预先设置有第一调整要求以及第二调整要求,确定目标DSP在第二时间段内处理流量请求的第一超时错误率,当确定该第一超时错误率确定是否满足预设的第一调整要求,便可以对目标DSP对应的第一连接数进行调整,当确定该第一超时错误率确定是否满足预设的第二调整要求,则可以对目标DSP对应的熔断器参数进行调整,从而实现及时且准确地对目标DSP对应的第一连接数以及熔断器参数进行调整,有利于保证ADX与DSP之间交互的稳定性。
图1为本公开实施例提供的一种数据处理过程示意图,该过程包括:
S101:确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率。
本公开提供的数据处理方法可应用于电子设备,该电子设备可以是服务器,也可以是智能设备等。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
当用户点开某一应用或者网页时,该目标用户的移动终端会向SSP发送曝光请求,SSP接收到曝光请求后,会向进行数据处理的电子设备转发给曝光请求,该曝光请求会携带有该目标终端的特征信息。进行数据处理的电子设备获取到该曝光请求后,对该曝光请求进行解析,获取该曝光请求中携带的目标终端的特征信息。基于该目标终端的特征信息,进行相应的处理,确定哪些DSP可以参与到该次广告竞价过程中并向这些DSP发送流量请求。由于DSP可能会出现宕机、未处理的流量请求过多等问题,导致无法对ADX发送的流量请求进行及时的处理,为了防止该DSP的问题影响到其他DSP的正常工作,可以监控DSP对每个流量请求的处理结果,从而确定该DSP是否正常运行,并在DSP出现异常时,及时对该DSP进行管理。
为了方便对每个DSP管理,预设有时间段(为了方便描述,记为第一时间段)。获取目标DSP在第一时间段内处理流量请求的处理结果,比如,http请求响应结果。根据每个处理结果,确定目标DSP的超时错误率(为了方便描述,记为第一超时错误率)。其中,目标DSP为ADX连接的所有DSP中的任一DSP。
需要说明的是,该第一时间段可以是根据两个预设的时间点确定,比如,将11点与12点之间的时间段确定为第一时间段,也可以是根据某一时间点以及预设的时长值确定,比如,12点之前的1个小时,该时间点可以为当前时间,也可以为预设的某一时间。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
在一种可能的实施方式中,进行数据处理的电子设备可以通过监视器(monitor)采集目标DSP处理每个流量请求的处理结果,比如,监视器采集该处理结果的采集时间,目标DSP处理任一流量请求的请求响应时间、目标DSP是否获取连接请求超时,目标DSP是否网络连接超时以及目标DSP是否传输数据超时。通过monitor采集目标DSP对第一时间段内接收到的流量请求的处理结果,根据该每个处理结果,确定第一超时错误率。
作为一种可能的实施方式,获取到目标DSP对第一时间段内接收到的流量请求的处理结果之后,确定目标DSP在第一时间段内接收到的流量请求的总数量,即确定总请求次数;根据每个处理结果中包含的目标DSP是否网络连接超时,确定第一时间段内该目标DSP的网络连接超时数;根据每个处理结果中包含的目标DSP是否获取连接请求超时,确定第一时间段内该目标DSP的连接请求超时数;根据每个处理结果中包含的目标DSP是否传输数据超时,确定目标DSP在第一时间段内的传输超时数。根据传输超时数、连接请求超时数、网络连接超时数以及总请求次数,确定第一超时错误率。
在一种可能的实施方式中,根据传输超时数、连接请求超时数、网络连接超时数以及总请求次数,确定第一超时错误率,包括:
M=(A+B+C)/Q
其中,M为第一超时错误率,A为目标DSP在第一时间段内的连接请求超时数,B为目标DSP在第一时间段内的网络连接超时数,C为目标DSP在第一时间段内的传输超时数,Q为目标DSP在第一时间段内接收到的总请求次数。
需要说明的是,可以按照预设的周期,获取目标DSP对应的第一超时错误率,也可以在预设的时间点,获取目标DSP对应的第一超时错误率。当然,还可以实时获取目标DSP对应的第一超时错误率。
S102:若确定所述第一超时错误率满足预设的第一调整要求,则对所述目标DSP对应的第一连接数进行调整。
连接池管理及熔断限流是保证ADX与DSP交互稳定性的关键技术,为了保证DSP的稳定运行,相关工作人员会根据预先配置的DSP可以处理流量请求的能力,设置该DSP对应的最大http连接数,最大获取连接时间、最大网络连接时间、最大数据传输时间等http连接请求相关参数以及熔断器参数,比如,熔断阈值、熔断器状态参数等。当DSP启动时,初始化该DSP对应的http连接池。后续在广告竞价过程中,定时监控该DSP对接收到的每个流量请求的处理结果,根据获取到的每个处理结果,对预先配置的http连接请求相关参数以及熔断器参数进行修改,从而尽可能保证DSP的稳定运行。当一些重要的DSP响应流量请求的速度降低,且又不希望大量http线程阻塞而导致http线程所发送的流量请求的数量减少,则可以通过调整该DSP对应的连接池的连接数来减少阻塞,即增大向该DSP发送流量请求的通道的数量。
不同的DSP在不同的时间段所需要的流量是不同的,即不同的DSP在不同的时间段所对应的http连接数(为了方便描述,记为连接数)也需要不断调整的,如果完全依靠人工进行调整的话,则需要耗费大量的人力,且增加工作人员的工作量。此外,工作人员在对连接数进行调整时,主要依靠于工作人员的人工经验。如果人工一旦调整的不对或者不及时,则很可能造成该业务高峰期时该DSP无法及时从对应的连接池中获取连接,使连接池中所有的http线程都处于堵塞(BLOCKED)状态,造成该DSP的宕机,进而逐渐拖垮连接于同一ADX的其他DSP,影响包括该DSP以及ADX的系统的稳定性。
为了能够及时调整DSP对应的连接数,避免人工带来的误差,预先配置有第一调整要求,该第一调整要求可以为第一超时错误率大于预设的阈值(为了方便描述,记为第一阈值)。当基于上述的实施例获取到目标DSP对应的第一超时错误率后,判断该第一超时错误率是否满足预设的第一调整要求,以确定是否对目标DSP对应的连接数(为了方便说明,记为第一连接数)进行调整。当确定第一超时错误率满足预设的第一调整要求时,则对目标DSP对应的第一连接数进行调整,从而实现及时调整目标DSP对应的连接数。
需要说明的是,在设置第一阈值时,可以根据场景的不同,设置不同的值。如果对目标DSP的运行有较高的要求,则可以将该第一阈值设置的小一些;如果希望避免频繁对目标DSP对应的第一连接数进行调整,则可以将该第一阈值设置的大一些。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
在一种可能的实施方式中,在对目标DSP对应的第一连接数进行调整的前提是该目标DSP对应的连接数未达到可调整到的连接数上限。基于此,预先根据该目标DSP可调整到的连接数上限,设置该目标DSP对应的第二连接数,并确定第一超时错误率满足预设的第一调整要求为第一超时错误率大于预设的第一阈值,且目标DSP当前对应的第一连接数大于预先配置的该目标DSP对应的第二连接数。当基于上述的实施例获取到目标DSP对应的第一超时错误率后,将该第一超时错误率与预设的第一阈值进行比较,并将该目标DSP对应的第一连接数与预先配置的该目标DSP对应的第二连接数进行比较。根据两个比较结果,确定该第一超时错误率是否满足预设的第一调整要求。
当确定第一超时错误率大于预设的第一阈值,且目标DSP当前对应的第一连接数大于预先配置的该目标DSP对应的第二连接数时,便确定第一超时错误率满足预设的第一调整要求,有利于实现方便且及时地对目标DSP所对应的第一连接数进行调整。
当确定第一超时错误率大于预设的第一阈值,且第一连接数小于预先配置的该目标DSP对应的第二连接数,则确定该第一超时错误率满足第一调整要求。
当确定第一超时错误率不大于预设的第一阈值,说明该目标DSP在正常运行,无需对该目标DSP对应的第一连接数进行调整,则确定该第一超时错误率不满足第一调整要求。
当确定第一超时错误率不小于预先配置的目标DSP对应的第二连接数,说明当前已将目标DSP对应的第一连接数调整到可调整的连接数上限了,无法对该目标DSP对应的第一连接数继续调整,则确定该第一超时错误率不满足第一调整要求。
当基于上述的实施例,确定第一超时错误率满足预设的第一调整要求后,即可对目标DSP所对应的第一连接数进行调整。
在一种可能的实施方式中,为了准确地对目标DSP所对应的第一连接数进行调整,预设有连接数的调整比例(为了方便说明,记为第一调整比例),该第一调整比例可以表示的是连接数调整的幅度,也可以表示的是第一连接数与调整后的连接数之间的倍数关系。根据当前第一连接数以及第一调整比例,进行相应的处理,确定目标DSP对应的可调连接数(为了方便说明,记为第一可调连接数)。
作为一种可能的实施方式,若该第一调整比例表示第一连接数与调整后的连接数之间的倍数关系,则可以确定第一连接数与第一调整比例的乘积,根据该乘积,确定目标DSP对应的第一可调连接数。
作为再一种可能的实施方式,若第一调整比例表示连接数调整的幅度,则可以确定第一连接数与第一调整比例的乘积,根据该乘积以及第一连接数,确定目标DSP对应的第一可调连接数。
在一种可能的实施方式中,所述根据所述第一连接数以及所述第一调整比例,确定所述目标DSP对应的第一可调连接数通过如下公式确定:
R1=X/(1-failrate1)
其中,R1为所述第一可调连接数,X为所述第一连接数,failrate1为所述第一调整比例。
当基于上述的实施例确定了目标DSP对应的第一可调连接数后,基于该第一可调连接数以及预设的该目标DSP对应的第二连接数,确定目标DSP对应的调整后的连接数。根据该调整后的连接数,对该目标DSP对应的第一连接数进行调整。
其中,可以将第一可调连接数与预设的第二连接数之间的任一数值,比如,最大值、最小值、中值等,确定为该目标DSP对应的调整后的连接数,也可以通过预设的数学函数,比如,求第一可调连接数与预设的第二连接数的平均值、分别对第一可调连接数与预设的第二连接数进行加权后求和等,对该第一可调连接数与预设的第二连接数进行相应的处理,将处理后获取到的数值确定为该目标DSP对应的调整后的连接数。
在一种可能的实施方式中,可以将第一可调连接数与第二连接数中的最小值确定为目标DSP对应的调整后的连接数,即通过如下方式确定目标DSP对应的调整后的连接数:
H=min(R1,D)
其中,R1为第一可调连接数,D为目标DSP对应的第二连接数,H为目标DSP对应的调整后的连接数。
由于预设有第一调整比例以及第二连接数,当确定目标DSP对应的第一超时错误率满足预设的第一调整要求后,即可基于该预设的第一调整比例以及第二连接数,实现自动且准确地对目标DSP对应的连接数进行调整,从而减少通过人工对目标DSP对应的连接数进行调整所需的工作量,避免人工对目标DSP对应的连接数进行调整避免人工调整不合理或不及时导致ADX系统的不稳定。并且,通过上述对目标DSP对应的连接数进行调整的方法,还可以尽可能的保证收益较高的DSP的流量。
由于可能会出现某一DSP对应的连接数已调整为预设的连接数上限,但该DSP仍超时严重,即被超时或错误处理的流量请求的数量大于预设的阈值,且被超时或错误处理的流量请求所占的比例大于预设的比例阈值,则会导致大量的用于传输流量请求的http线程阻塞,进行可能影响ADX连接的所有DSP,造成资损。因此,当出现某一DSP对应的连接数已调整为预设的连接数上限,且该DSP仍超时严重,则可以对该DSP进行熔断限流,来保护该DSP连接的ADX以及与该ADX连接的其他DSP,即保护ADX与DSP之间系统的稳定性。
因此,在本公开中,所述方法还包括:
若调整后的连接数不小于预先配置的所述目标DSP对应的第二连接数,则将所述目标DSP对应的连接池的调整状态确定为非调整状态,并将所述目标DSP对应的熔断器的调整状态确定为可调整状态。
当基于上述的实施例确定已经将目标DSP对应的第一连接数调整到该目标DSP对应的第二连接数了,即该目标DSP对应的调整后的连接数不小于预先配置的目标DSP对应的第二连接数,说明该目标DSP对应的连接数已经调整到连接数上限,无法继续调整了,只能对该目标DSP进行熔断限流,则将该目标DSP对应的连接池的调整状态确定为非调整状态,并将目标DSP对应的熔断器的调整状态确定为可调整状态,后续可以对该目标DSP对应的熔断器参数进行调整,从而实现对该目标DSP进行熔断限流。
当调整后的连接数不小于预先配置的目标DSP对应的第二连接数时,便控制目标DSP对应的连接池的调整状态为非调整状态,将目标DSP对应的熔断器的调整状态确定为可调整状态,从而实现准确地对目标DSP进行熔断限流,保护该目标DSP连接的ADX以及与该ADX连接的其他DSP,即保护ADX与DSP之间系统的稳定性。
为了提高对目标DSP对应的连接数进行调整的灵活性,在本公开中,还预设有周期(为了方便描述,记为第一周期)。按照预设的第一周期,查询连接池的调整状态。根据连接池的调整状态以及连接池中是否保存有数据,对目标DSP对应的连接数进行进一步地调整,以避免目标DSP对应的连接数在调整到预设的连接数上限后,无法进行下调的情况。
在一种可能的实施方式中,若确定连接池为非调整状态,说明该连接池对应的连接数已经调整到连接数上限了,则可以根据该连接池中是否保存有数据,对目标DSP对应的连接数进行进一步地调整。
作为一种可能的实施方式,根据该连接池中是否保存有数据,对目标DSP对应的连接数进行进一步地调整包括如下两种情况:
情况1、若该连接池中未保存有数据,说明该目标DSP可能出现重新启动,或者并未建立http线程等情况,该目标DSP不存在线程堵塞,则可以直接将该连接池对应的连接数进行初始化处理,即将该目标DSP对应的连接数调整为预先配置的初始连接数。
情况2、若该连接池中保存有数据,说明该目标DSP已经建立了http线程,该目标DSP可能存在线程堵塞,则获取目标DSP在预设时间段(为了方便说明,记为第二时间段)对接收到的流量请求进行处理的响应时间、目标DSP在该第二时间段包含的每个单位时长内接收到的流量请求的数量(为了方便描述,记为第一请求数量)以及预设的该目标DSP对应的第二连接数。根据获取到的每个响应时间、第一请求数量以及第二连接数,对该连接数进行调整。
其中,单位时长可以是1秒、3秒、5分钟等,具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
作为一种可能的实施方式,所述根据所述目标DSP在第二时间段内对每个流量请求进行处理的响应时间、所述目标DSP分别在所述第二时间段包含的每个单位时长内接收到的流量请求的第一请求数量、以及所述第二连接数,对所述连接数进行调整,包括:
根据每个所述响应时间,确定目标响应时间;
根据每个所述第一请求数量,确定第一查询率;
根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数;
根据所述第二可调连接数以及所述第二连接数,确定所述目标DSP对应的调整后的连接数。
基于上述的实施例获取到每个响应时间后,可以将每个响应时间中的任一响应时间确定为目标响应时间,比如,响应时间最大值确定为目标响应时间、响应时间最小值确定为目标响应时间等,也可以通过求取每个响应时间的平均响应时间,将该平均响应时间确定为目标响应时间。
当获取到每个第一请求数量后,对该第一请求数量进行处理,确定该目标DSP在第二时间段的查询率(为了方便描述,记为第一查询率)。
作为一种可能的实施方式,在根据每个第一请求数量,确定第一查询率时,可以根据任一第一请求数量,进行相应的处理,确定第一查询率,比如,第一请求数量中的最大值、最小值等,也可以对每个第一请求数量的和与第二时间段的比值,进行相应的处理,确定第一查询率。
在一种可能的实施方式中,根据任一第一请求数量,进行相应的处理,确定第一查询率可通过如下公式确定:
P1=n1*1000
其中,P1表示第一查询率,n1表示第一请求数量。
在另一种可能的实施方式中,对每个第一请求数量的和与第二时间段的比值,进行相应的处理,确定第一查询率可通过如下公式确定:
P1=N1*1000/Time2
其中,P1表示第一查询率,N1表示每个第一请求数量的和,Time2表示第二时间段。
当基于上述的实施例获取到目标响应时间以及第一查询率后,根据该目标响应时间以及第一查询率,确定目标DSP对应的可调连接数(为了方便描述,记为第二可调连接数)。
在一种可能的实施方式中,所述根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数通过如下公式确定:
R2=RT*P1/1000
其中,R2为所述目标DSP对应的第二可调连接数,RT为所述目标响应时间,P1为所述第一查询率。
当基于上述的实施例确定了目标DSP对应的第二可调连接数后,根据该第二可调连接数以及预设的该目标DSP对应的第二连接数,确定目标DSP对应的调整后的连接数。根据该调整后的连接数,对目标DSP对应的连接数进行调整。
在一种可能的实施方式中,可以将第二可调连接数与第二连接数中的最小值确定为目标DSP对应的调整后的连接数,即通过如下方式确定目标DSP对应的调整后的连接数:
H=min(R2,D)
其中,R2为第二可调连接数,D为目标DSP对应的第二连接数,H为目标DSP对应的调整后的连接数。
通过上述的方法可以实现即使是在开启对目标DSP进行熔断限流的情况下,也可以及时且自动地将目标DSP对应的连接数进行调整,提高了对目标DSP的连接数的调整的灵活性以及及时性,有利于后续及时关闭对目标DSP的熔断限流,减少熔断限流对目标DSP所带来的损失,进一步减少了工作人员对目标DSP的连接数的调整所需的工作量。
当基于上述的实施例对目标DSP对应的连接数进行调整后,若该调整后的连接数小于预设的该目标DSP对应的第二连接数,则可以将该目标DSP对应的连接池的调整状态确定为可调整状态,并将熔断器的调整状态确定为非调整状态,从而实现及时停止对目标DSP进行熔断限流,减少熔断限流对目标DSP所带来的损失,进一步减少了工作人员对目标DSP的熔断限流进行控制所需的工作量。
S103:若确定所述第一超时错误率满足预设的第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
为了实现对DSP进行熔断限流,当确定目标DSP对应的连接数未调整到预设的连接数上限,或,在第一时间段内被该目标DSP超时或错误处理的流量请求的数量不大于预设的阈值,说明该目标DSP正常运行,则设置该目标DSP的熔断器为关闭状态。当确定目标DSP对应的连接数已调整为预设的连接数上限,在第一时间段内被该目标DSP超时或错误处理的流量请求的数量大于预设的阈值,且被超时或错误处理的流量请求所占的比例大于预设的比例阈值,则设置熔断器为打开状态,不再向该目标DSP发送流量请求。当确定熔断器打开时长超过了预设的时长阈值,则设置该熔断器参数为半开状态,并将少量的流量请求发送至该目标DSP进行处理,根据该目标DSP对该少量的流量请求的处理结果,确定该目标DSP是否仍然超时。若确定该目标DSP不超时了,说明该目标DSP已经恢复正常了,则设置该熔断器为关闭状态;若确定该目标DSP超时,说明该目标DSP仍出现问题,则设置该熔断器为打开状态。
由于上述的熔断限流方法中,是否对目标DSP熔断限流仍需要依赖人工对连接数的调整,导致无法及时对目标DSP进行熔断限流。因此,为了及时对目标DSP进行熔断限流,预设有第二调整要求,该第二调整要求可以是该第一超时错误率大于预设的熔断阈值。当基于上述的实施例获取到目标DSP对应的第一超时错误率后,确定该目标DSP是否满足预设的第二调整要求,以确定是否对目标DSP对应的熔断器参数进行调整。当确定第一超时错误率满足预设的第二调整要求时,则对目标DSP对应的熔断器参数进行调整,从而实现及时对目标DSP进行熔断限流。
需要说明的是,该熔断阈值可以与第一阈值相同也可以不同。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
在设置熔断阈值时,可以根据场景的不同,设置不同的值。如果对目标DSP的运行有较高的要求,则可以将该熔断阈值设置的小一些;如果希望避免频繁对目标DSP进行熔断限流,则可以将该熔断阈值设置的大一些。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
在一种可能的实施方式中,一般是在对目标DSP对应的第一连接数无法继续调整时,才开始对该目标DSP进行熔断限流的。基于此,该第二调整要求还可以是第一超时错误率大于预设的熔断阈值,且第一连接数不小于预先配置的目标DSP对应的第二连接数。当基于上述的实施例获取到目标DSP对应的第一超时错误率之后,将该第一超时错误率与预设的熔断阈值进行比较,并将该目标DSP对应的第一连接数与预先配置的该目标DSP对应的第二连接数进行比较。根据该两个比较结果,确定第一超时错误率是否满足预设的第二调整要求。
当确定第一超时错误率大于预设的熔断阈值,且第一连接数不小于预先配置的该目标DSP对应的第二连接数,则确定该第一超时错误率满足第二调整要求。
当确定第一超时错误率大于预设的熔断阈值,且第一连接数不小于预先配置的该目标DSP对应的第二连接数时,便确定第一超时错误率满足预设的第二调整要求,有利于实现方便且及时地对目标DSP所对应的熔断器参数进行调整,提高对目标DSP进行控制的准确性。
在一种可能的实施方式中,基于上述的实施例确定目标DSP对应的第一超时错误率满足预设的第二调整要求后,即可对该目标DSP对应的熔断器参数进行调整。
在另一种可能的实施方式中,所述对所述目标DSP对应的熔断器参数进行调整,包括:
根据所述目标DSP对应的连接池在第二时间是否保存有数据,确定所述目标DSP对应的查询率下限;其中,所述第二时间与第一时间的时间差为预设第三时间段,所述第一时间为所述连接池被调整为非调整状态的时间,所述第二时间晚于所述第一时间;
确定所述目标DSP在第四时间段内处理流量请求的第二超时错误率、以及所述第四时间段包含的每个单位时长内接收到的流量请求的第二请求数量;
根据每个所述第二请求数量,确定第二查询率;
若所述第二超时错误率大于预设的第三数值,且所述第二查询率大于所述查询率下限,则对所述熔断器参数进行调整。
由于广告业务的特殊性,若直接将目标DSP对应的熔断器参数设置为打开状态,并在预设的一段时间内停止向该目标DSP发送流量请求,则可能会造成一定的资损。因此,在本公开中,可以基于目标DSP对应的查询率,比如每秒查询率(Queries-per-second,QPS),逐步对该目标DSP对应的熔断器参数进行调整,从而实现对目标DSP进行熔断限流,减少目标DSP在熔断向量过程中的资损。
为了准确地对目标DSP进行熔断限流,在本公开中,预设有时间段(为了方便描述,记为第三时间段)。当基于上述的实施例确定第一超时错误率满足预设的第二调整要求后,会将目标DSP对应的连接池的调整状态调整为非调整状态,并确定将该连接池调整为非调整状态的时间为第一时间。将晚于第一时间预设第三时间段的时间确定为第二时间,并确定该目标DSP对应的连接池在第二时间是否保存有数据,后续可以根据目标DSP对应的连接池中保存的数据,确定该目标DSP对应的查询率下限,以根据该查询率下限,对目标DSP对应的熔断器参数进行调整。
在一种可能的实施方式中,所述根据所述连接池在第二时间时是否保存有数据,确定所述目标DSP对应的查询率下限,包括:
若所述连接池在所述第二时间未保存有数据,则将预先配置的数值确定为所述查询率下限;
若所述连接池在所述第二时间保存有数据,则根据所述目标DSP在所述第三时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限。
如果目标DSP对应的连接池在第二时间保存有数据,说明该目标DSP在第二时间建立了http线程,即存在已建立的对象,则该目标DSP应可以对已建立连接的http线程所发送的流量请求进行处理,才不会因为该目标DSP无法及时且准确地处理接收到的流量请求而导致该目标DSP所在的ADX系统宕机;而如果该目标DSP对应的连接池在第二时间未保存有数据,说明该目标DSP在第二时间未建立http线程,则该目标DSP处理流量的能力对ADX系统的稳定性可能不会有太大的影响。因此,在本公开中,可以根据目标DSP对应的连接池中保存的数据的情况,确定目标DSP对应的查询率下限,即目标DSP单位时长内最少所能处理的流量请求的数量。
在一种可能的实施方式中,根据目标DSP对应的连接池中保存的数据的情况,确定目标DSP对应的查询率下限包括如下两种情况:
情况A、预先配置了查询率下限所对应的数值。当目标DSP对应的连接池未保存有数据时,可以直接将该预先配置的数值确定为该目标DSP对应的查询率下限。
其中,在设置查询率下限所对应的数值时,可以根据场景的不同,设置不同的值。如果尽可能避免该目标DSP的宕机影响ADX系统的稳定性,则可以将该查询率下限设置的低一些,如果希望减少目标DSP熔断限流所带来的资损,可以将该查询率下限设置的高一些。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
情况B、当目标DSP对应的连接池保存有数据时,说明该目标DSP已建立了http线程,该目标DSP处理流量请求的能力应保证已建立连接的http线程不会被堵塞,则可以根据该目标DSP在预设时间段(为了方便说明,记为第三时间段)内对接收到的流量请求的响应时间以及预先配置的第二连接数,确定该目标DSP对应的查询率下限。
需要说明的是,该第三时间段可以是根据某一时间点以及预设的时长值确定,比如,12点之前的1个小时,该时间点可以为当前时间,也可以为第一时间之后的任一时间点。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
在一种可能的实施方式中,根据获取到的该目标DSP在第三时间段内对接收到的流量请求的响应时间以及预先配置的第二连接数,确定该目标DSP对应的查询率下限包括如下方式:
方式一、获取该目标DSP在第三时间段内对接收到的流量请求的响应时间中的任一时间,比如,最大值,最小值,中值等。根据该时间以及第二连接数,进行相应的计算,确定该目标DSP对应的查询率下限。
方式二、可以根据目标DSP在第三时间段内对接收到的流量请求的响应时间,确定平均响应时间,根据该平均响应时间以及第二连接数,进行相应的计算,确定该目标DSP对应的查询率下限。
作为一种可能的实施方式,所述根据所述目标DSP在所述第三时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限通过如下公式确定:
P下限=D*1000/平均RT
其中,P下限为所述查询率下限,D为所述第二连接数,平均RT为所述平均响应时间。
为了准确地对熔断器参数进行调整,在本公开中,还预设有时间段(为了方便描述,记为第四时间段)。当确定目标DSP对应的熔断器的调整状态为可调整状态之后,确定目标DSP在第四时间段内接收到的流量请求,获取该目标DSP对该第四时间段内接收到的流量请求的处理结果。根据获取到的每个处理结果,确定目标DSP在第四时间段内对所接收到的流量请求的超时错误率(为了方便描述,记为第二超时错误率)。同时还获取该第四时间段包含的每个单位时长内接收到的流量请求的请求数量(为了方便描述,记为第二请求数量)。根据每个第二请求数量,进行相应的处理,确定目标DSP对应的查询率(为了方便说明,记为第二查询率)。
其中,单位时长可以是1秒、3秒、5分钟等,具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
需要说明的是,第二超时错误率的确定方法与上述确定第一超时错误率的方法相同,重复之处不做赘述。
作为一种可能的实施方式,在根据每个第二请求数量,确定第二查询率时,可以根据任一第二请求数量,进行相应的处理,确定第二查询率,比如,第二请求数量中的最大值、最小值等,也可以对每个第二请求数量的和与第四时间段的比值,进行相应的处理,确定第二查询率。
在一种可能的实施方式中,根据任一第二请求数量,进行相应的处理,确定第二查询率可通过如下公式确定:
P2=n2*1000
其中,P2表示第二查询率,n2表示第二请求数量。
在另一种可能的实施方式中,对每个第二请求数量的和与第四时间段的比值,进行相应的处理,确定第二查询率可通过如下公式确定:
P2=N2*1000/Time4
其中,P2表示第二查询率,N2表示每个第二请求数量的和,Time4表示第四时间段。
根据该第二查询率、第二超时错误率以及查询率下限,确定是否对熔断器参数进行调整。
为了准确地对目标DSP进行熔断限流,预设有数值(为了方便说明,记为第三数值)。当获取到第二超时错误率后,可以将该第二超时错误率与该第三数值进行比较,并将该第二查询率与确定的查询率下限进行比较。根据两个比较结果,确定是否对熔断器参数进行调整。
当确定第二超时错误率大于预设的第三数值,且第二查询率大于该查询率下限时,说明该目标DSP可能出现问题,需要进行熔断限流,则可以对该目标DSP对应的熔断器参数进行调整。
通过上述的方法,可以实现在对目标DSP进行熔断限流的过程中,逐步对该目标DSP对应的熔断器参数进行调整,从而减少直接对目标DSP进行熔断所带来的资损,提高了对目标DSP进行控制的准确性以及灵活性,也进一步减少了人工对熔断器参数进行调整的工作量,避免了人工调整不合理或不及时导致ADX系统的不稳定。
由于目标DSP在正常运行的情况下,是不对目标DSP进行熔断限流的,且目标DSP对应的熔断器的开关状态用于指示当前是否对目标DSP进行熔断限流的。因此,在本公开中,预先设置了不对目标DSP进行熔断限流时该目标DSP对应的熔断器的开关状态为关闭状态,以及对目标DSP对应的熔断查询率进行调整时的调整比例(为了方便描述,记为第二调整比例)。其中,该第二调整比例可以是调整熔断查询率的幅度,也可以是调整后的熔断查询率和第二查询率的比值。当基于上述的实施例确定第二超时错误率大于预设的第三数值,且第二查询率大于该查询率下限时,说明该目标DSP可能出现问题,需要进行熔断限流,则可以将该目标DSP对应的熔断器的开关状态从关闭状态置为半开状态,并根据上述实施例确定的第二查询率以及预先配置的第二调整比例,确定该目标DSP对应的熔断查询率,以便后续可以基于该熔断查询率,可以对目标DSP对应的熔断器的开关状态进行调整,从而控制对目标DSP进行熔断限流。
在一种可能的实施方式中,若第二调整比例表示调整后的熔断查询率和第二查询率的比值,则可以确定该第二查询率与第二调整比例的乘积,将该乘积确定为目标DSP对应的熔断查询率。
在另一种可能的实施方式中,若第二调整比例表示调整熔断查询率的幅度,则可以确定该第二查询率与第二调整比例的乘积,根据该乘积以及第二查询率,确定该目标DSP对应的熔断查询率。
其中,可以根据该乘积与该第二查询率的和确定该目标DSP对应的熔断查询率,也可以确定分别对该乘积与第二查询率进行加权,根据加权后的乘积与加权后的第二查询率的和,确定该目标DSP对应的熔断查询率。当然还可以直接通过预设的数学函数,对该乘积与该第二查询率的和进行处理,将处理后的值确定为该目标DSP对应的熔断查询率。
作为一种可能的实施方式,所述根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率通过如下公式确定:
熔断P=P2/(1-failrate2)
其中,熔断P为所述熔断查询率,P2为所述第二查询率,failrate2为所述第二调整比例。
由于预设有第二调整比例,当基于上述的实施例确定第二超时错误率大于预设的第三数值,且第二查询率大于该查询率下限时,即可基于该预设的第二调整比例以及目标DSP对应的第二查询率,实现自动且准确地对目标DSP的熔断器参数进行调整,从而减少通过人工对目标DSP的熔断器参数进行调整所需的工作量,避免人工对目标DSP的熔断器参数进行调整不合理或不及时导致ADX系统的不稳定。
为了进一步提高ADX与DSP之间交互的稳定,在本公开中,所述方法还包括:
按照预设的第二周期,确定所述目标DSP在所述第二周期内处理流量请求的第三超时错误率;
若所述第三超时错误率不小于预设的第二阈值,则对所述熔断查询率下调;
若所述第三超时错误率小于预设的第二阈值,则对所述熔断查询率上调。
相关技术中,在熔断ADX与DSP的交互之后,一般采用少量的流量请求测试该DSP是否可以重新恢复与ADX的交互,而由于熔断只能全量开启或者切断流量请求,若DSP是由于承受不住过多的流量请求导致异常处理的流量请求超过预设阈值导致的熔断,而非该DSP发生宕机导致的,则采用少量的流量请求测试该DSP是否可以重新恢复与ADX的交互的测试结果是不准确的。因此,在本公开中,当目标DSP对应的熔断器的开关状态为半开状态后,监控该目标DSP处理流量请求的每个处理结果,从而根据获取到的每个处理结果,对该目标DSP对应的熔断器参数进行进一步地调整。
为了避免频繁调整目标DSP对应的熔断器参数所耗费的资源,在本公开中,预设有周期(为了方便描述,记为第二周期)。获取该目标DSP对第二周期内接收到的流量请求的处理结果,根据获取到的每个处理结果,确定目标DSP在第二周期内处理流量请求的超时错误率(为了方便描述,记为第三超时错误率)。根据该第三超时错误率与预设的阈值(为了方便描述,记为第二阈值),对熔断查询率进行调整。
在一种可能的实施方式中,根据该第三超时错误率与预设的第二阈值,对熔断查询率进行调整包括如下情况:
情况一、第三超时错误率不小于预设的第二阈值,说明该目标DSP可能仍存在问题,则可以对该熔断查询率进行下调。
其中,可以根据预设的数值,确定对该熔断查询率进行下调的幅度,根据确定的熔断查询率以及下调的幅度,确定下调后的熔断查询率,也可以通过预设的下调比例以及确定的熔断查询率,确定对该熔断查询率进行下调的幅度,根据确定的熔断查询率以及下调的幅度,确定下调后的熔断查询率。
作为一种可能的实施方式,为了准确地对熔断查询率进行下调,预设有对熔断查询率进行下调的调整比例(为了方便描述,记为第三调整比例)。其中,该第三调整比例可以表示调整熔断查询率的幅度,也可以表示调整后的熔断查询率与调整前的查询率之间的比值。根据该第三调整比例以及确定的熔断查询率,确定查询率(为了方便描述,记为第三查询率)。
需要说明的是,该第三调整比例可以与上述实施例中的第二调整比例相同,也可以不同。
在一种可能的实施方式中,所述根据所述熔断查询率以及预设的第三调整比例,确定第三查询率通过如下公式确定:
P3=熔断P*(1-failrate3)
其中,熔断P为所述熔断查询率,P3为所述第三查询率,failrate3为所述第三调整比例。
后续基于该第三查询率,对熔断查询率进行下调。比如,直接将第三查询率确定为调整后的熔断查询率。
在一种可能的实施方式中,当确定了第三查询率后,可以根据该第三查询率与确定的查询率下限,对熔断查询率下调。
其中,可以确定在第三查询率与查询率下限之间的任一数值,将该数值确定为调整后的熔断查询率,也可以根据预设的数学函数,对第三查询率与查询率下限进行相应的处理,将处理后的数值确定为调整后的熔断查询率,当然,还可以将第三查询率与查询率下限进行比较,根据比较结果,确定调整后的熔断查询率,比如,将第三查询率与查询率下限中的最小值确定为调整后的熔断查询率,或,将第三查询率与查询率下限中的最大值确定为调整后的熔断查询率。
在一种可能的实施方式中,将第三查询率与查询率下限中的最大值确定为调整后的熔断查询率可通过如下公式确定:
熔断P′=max(P3,P下限)
其中,熔断P′表示调整后的熔断查询率,P3表示第三查询率,P下限表示查询率下限。
情况二、第三超时错误率小于预设的第二阈值,说明该目标DSP可能正在恢复正常,则可以对该熔断查询率进行上调。
其中,可以根据预设的数值,确定对该熔断查询率进行上调的幅度,根据确定的熔断查询率以及上调的幅度,确定上调后的熔断查询率,也可以通过预设的上调比例以及确定的熔断查询率,确定对该熔断查询率进行上调的幅度,根据确定的熔断查询率以及上调的幅度,确定上调后的熔断查询率。
需要说明的是,该第四调整比例可以与上述实施例中的第三调整比例相同,也可以不同。
作为一种可能的实施方式,为了准确地对熔断查询率进行上调,预设有对熔断查询率进行上调的调整比例(为了方便描述,记为第四调整比例)。其中,该第四调整比例可以表示上调熔断查询率的幅度,也可以表示调整后的熔断查询率与调整前的查询率之间的比值。根据该第四调整比例以及确定的熔断查询率,确定查询率(为了方便描述,记为第四查询率)。
在一种可能的实施方式中,所述根据所述熔断查询率以及预设的第四调整比例,确定第四查询率通过如下公式确定:
P4=熔断P/(1-failrate4)
其中,熔断P为所述熔断查询率,P4为所述第四查询率,failrate4为所述第四调整比例。
后续基于该第四查询率,对熔断查询率进行上调。比如,直接将第四查询率确定为调整后的熔断查询率。
在一种可能的实施方式中,当确定了第四查询率后,获取目标DSP对应的熔断器被置为可调整状态后所确定的目标查询率,根据该第四查询率以及目标查询率,对熔断查询率上调。
其中,可以确定在第四查询率与目标查询率之间的任一数值,将该数值确定为调整后的熔断查询率,也可以根据预设的数学函数,对第四查询率与目标查询率进行相应的处理,将处理后的数值确定为调整后的熔断查询率,当然,还可以将第四查询率与目标查询率进行比较,根据比较结果,确定调整后的熔断查询率,比如,将第四查询率与目标查询率中的最小值确定为调整后的熔断查询率,或,将第四查询率与目标查询率中的最大值确定为调整后的熔断查询率。
在一种可能的实施方式中,将第四查询率与目标查询率中的最小值确定为调整后的熔断查询率可通过如下公式确定:
熔断P′=min(P4,P目标)
其中,熔断P′表示调整后的熔断查询率,P4表示第四查询率,P目标表示目标查询率。
通过上述实施例中的方法,可以实现对目标DSP的熔断查询率进行灵活且准确地上调和下调,提高了对目标DSP的熔断查询率进行调整的灵活性,并且可以防止因个别DSP响应不稳定影响全局DSP对曝光请求的处理,在保证ADX系统稳定性的前提下,尽可能减少熔断限流对每个DSP的收益的影响。
为了及时停止对目标DSP进行熔断限流,当基于上述的实施例获取到的调整后的熔断查询率之后,可以将调整后的熔断查询率与目标查询率进行比较,即将调整后的熔断查询率与目标DSP对应的熔断器被置为可调整状态后所确定的目标查询率进行比较,根据比较结果,确定是否将目标DSP对应的熔断器的开关状态设置为关闭状态。
在一种可能的实施方式中,当调整后的熔断查询率与目标查询率之间的差值在预设的误差范围内时,可以将目标DSP对应的熔断器的开关状态设置为关闭状态。
在另一种可能的实施方式中,当调整后的熔断查询率等于目标查询率时,则可以将目标DSP对应的熔断器的开关状态设置为关闭状态。
在目标DSP进行熔断限流的过程中,通过将调整后的熔断查询率与目标查询率进行比较,确定是否将目标DSP对应的熔断器的开关状态设置为关闭状态,从而实现及时且准确地停止对目标DSP进行熔断限流,减少对目标DSP进行熔断限流所带来的的资损,减少人工对目标DSP进行熔断限流的控制时所需的工作量,避免人工调整不合理或不及时导致ADX系统的不稳定,提高对目标DSP进行熔断限流的准确性。
由于预先设置有第一调整要求以及第二调整要求,确定目标DSP在第二时间段内处理流量请求的第一超时错误率,当确定该第一超时错误率确定是否满足预设的第一调整要求,便可以对目标DSP对应的第一连接数进行调整,当确定该第一超时错误率确定是否满足预设的第二调整要求,则可以对目标DSP对应的熔断器参数进行调整,从而实现及时且准确地对目标DSP对应的第一连接数以及熔断器参数进行调整,有利于保证ADX与DSP之间交互的稳定性。
下面通过具体的实施方式对本公开实施例提供的数据处理方法进行详细的说明,以执行主体为ADX为例,图2为本公开实施例提供的具体的流量请求处理的流程示意图,该流程包括:
当用户点开某一应用或者网页时,该目标用户的移动终端会向SSP发送曝光请求,SSP接收到曝光请求后,会向ADX转发给曝光请求,该曝光请求会携带有该目标终端的特征信息。
ADX获取到该曝光请求后,对该曝光请求进行流量分配。
在一种可能的实施方式中,ADX对该曝光请求进行流量分配,包括:
ADX对该曝光请求进行解析,获取该曝光请求中携带的目标终端的特征信息。基于该目标终端的特征信息,进行相应的处理,确定哪些DSP可以参与到该次广告竞价过程中。
ADX向可以参与到该次广告竞价的DSP发送流量请求。由于DSP可能会出现宕机、未处理的流量请求过多等问题,导致无法对ADX发送的流量请求进行及时的处理。针对可以参与到该次广告竞价的每个DSP,为了防止该DSP的问题影响到其他DSP的正常工作,根据该DSP是否被熔断限流,确定是否将该流量请求发送至该DSP。在确定该DSP熔断限流时,不将该流量请求发送至该DSP,在确定该DSP未被熔断限流时,则直接将该流量请求通过连接池建立的http线程发送至该DSP进行处理,ADX通过monitor监控该DSP对每个流量请求的处理结果,然后基于本公开提供的数据处理方法,对每个处理结果进行相应的处理,实现先对该DSP对应的连接数进行调整,在确定该连接数已经调整到预设的连接数上限时,对该DSP对应的熔断器参数进行调整,从而保证ADX与DSP之间交互的稳定性。
图3为本公开实施例提供的具体的数据处理流程示意图,该流程包括:
工作人员预先通过DSP接入中心配置初始连接数、最大系数、第一阈值、第一调整比例等连接数配置信息以及熔断器参数配置信息,比如,熔断阈值、第二阈值、第三阈值、第二调整比例以及查询率下限对应的数值等。其中,第二连接数=初始连接数*最大系数,熔断阈值、第二阈值以及第三阈值之间可以部分或完全相同,也可以完全不同。
当某一DSP对应的ADX系统启动后,ADX初始化该DSP对应的连接池,并从DSP接入中心分别获取连接数配置信息以及熔断器参数信息并缓存到本地。根据该连接数配置信息配置连接池的连接数以及请求时间参数进行更新。
其中ADX系统包括该DSP以及该DSP连接的ADX。
ADX获取到某一曝光请求后,通过对该曝光请求进行流量分配,确定哪些DSP可以参与到该次广告竞价过程中。
ADX针对可以参与到该次广告竞价的每个DSP,根据该DSP是否被熔断限流,确定是否将该流量请求发送至该DSP。在确定该DSP熔断限流时,不将该流量请求发送至该DSP,在确定该DSP未被熔断限流时,则直接将该流量请求通过连接池建立的http线程发送至该DSP进行处理。
ADX在通过monitor监控该DSP对每个流量请求的处理结果的同时,异步的根据采集到的每个处理结果,基于本公开提供的数据处理方法,对每个处理结果进行相应的处理,从而实现先对该DSP对应的连接数的计算并进行调整,在确定该连接数已经调整到预设的连接数上限时,对该DSP对应的熔断器参数进行计算并进行调整,当确定调整后的熔断参数满足预设的熔断限流条件时,即该DSP在第四时间段内处理流量请求的第二超时错误率大于预设的第三阈值,且基于第二请求数量确定的第二查询率大于查询率下限,则对该DSP进行限流,从而保证ADX与DSP之间交互的稳定性。其中,第二请求数量为DSP在第四时间段包含的每个单位时长内接收到的流量请求的数量。
需要说明的是,具体的如何对DSP对应的连接数以及熔断器参数的计算并进行调整,已在上述实施例中进行描述,具体参见上述实施例中数据处理方法实施例,重复之处不再赘述。
本公开还提供了一种数据处理装置,图4为本公开实施例提供的一种数据处理装置的结构示意图,该装置包括:
确定单元41,用于确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率;
判断单元42,用于确定所述第一超时错误率是否满足预设的第一调整要求;
第一处理单元43,用于若确定所述第一超时错误率满足所述第一调整要求,则对所述目标DSP对应的第一连接数进行调整;
所述判断单元42,还用于确定所述第一超时错误率是否满足预设的第二调整要求;
第二处理单元44,用于若确定所述第一超时错误率满足所述第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
由于上述数据处理装置解决问题的原理与数据处理方法相似,因此上述数据处理装置的实施可以参见方法的实施,重复之处不再赘述。
在某些可能的实施方式中,所述判断单元42,具体用于若所述第一超时错误率大于预设的第一阈值,且所述第一连接数小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足所述第一调整要求。
在某些可能的实施方式中,所述第一处理单元43,具体用于根据所述第一连接数以及所述第一调整比例,确定所述目标DSP对应的第一可调连接数;根据所述第一可调连接数以及所述第二连接数,确定所述目标DSP对应的调整后的连接数。
在某些可能的实施方式中,所述第一处理单元43,具体用于通过如下公式根据所述第一连接数以及所述第一调整比例,确定所述目标DSP对应的第一可调连接数:
R1=X/(1-failrate1)
其中,R1为所述第一可调连接数,X为所述第一连接数,failrate1为所述第一调整比例。
在某些可能的实施方式中,所述装置还包括:调整单元;
所述调整单元,用于若调整后的连接数不小于预先配置的所述目标DSP对应的第二连接数,则将所述目标DSP对应的连接池的调整状态确定为非调整状态,并将所述目标DSP对应的熔断器的调整状态确定为可调整状态。
在某些可能的实施方式中,所述装置还包括:查询单元;
所述查询单元,用于按照预设的第一周期,查询所述连接池的调整状态;
所述调整单元,还用于若确定所述连接池为非调整状态,则根据所述连接池中是否保存有数据,对所述目标DSP对应的连接数进行调整。
在某些可能的实施方式中,所述调整单元,具体用于若所述连接池中未保存有数据,则将所述连接数调整为预先配置的初始连接数;若所述连接池中保存有数据,则根据所述目标DSP在第二时间段内对每个流量请求进行处理的响应时间、所述目标DSP分别在所述第二时间段包含的每个单位时长内接收到的流量请求的第一请求数量、以及所述第二连接数,对所述连接数进行调整。
在某些可能的实施方式中,所述调整单元,具体用于根据每个所述响应时间,确定目标响应时间;根据每个所述第一请求数量,确定第一查询率;根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数;根据所述第二可调连接数以及所述第二连接数,确定所述目标DSP对应的调整后的连接数。
在某些可能的实施方式中,所述调整单元,具体用于通过如下公式根据所述目标响应时间以及所述第一查询率,确定所述目标DSP对应的第二可调连接数:
R2=RT*P1/1000
其中,R2为所述目标DSP对应的第二可调连接数,RT为所述目标响应时间,P1为所述第一查询率。
在某些可能的实施方式中,所述调整单元,还用于若调整后的连接数小于所述第二连接数,则将所述连接池的调整状态确定为可调整状态,并将所述熔断器的调整状态确定为非调整状态。
在某些可能的实施方式中,所述判断单元42,具体用于若所述第一超时错误率大于预设的熔断阈值,且所述第一连接数不小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足预设的第二调整要求。
在某些可能的实施方式中,所述第二处理单元44,具体用于根据所述目标DSP对应的连接池在第二时间是否保存有数据,确定所述目标DSP对应的查询率下限;其中,所述第二时间与第一时间的时间差为预设第三时间段,所述第一时间为所述连接池被调整为非调整状态的时间,所述第二时间晚于所述第一时间;确定所述目标DSP在第四时间段内处理流量请求的第二超时错误率、以及所述第四时间段包含的每个单位时长内接收到的流量请求的第二请求数量;根据每个所述第二请求数量,确定第二查询率;若所述第二超时错误率大于预设的第三数值,且所述第二查询率大于所述查询率下限,则对所述熔断器参数进行调整。
在某些可能的实施方式中,所述第二处理单元44,具体用于将所述熔断器的开关状态从关闭状态置为半开状态,并根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率。
在某些可能的实施方式中,所述第二处理单元44,具体用于通过如下公式根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率:
熔断P=P2/(1-failrate2)
其中,熔断P为所述熔断查询率,P2为所述第二查询率,failrate2为所述第二调整比例。
在某些可能的实施方式中,所述第二处理单元44,具体用于若所述连接池在所述第二时间未保存有数据,则将预先配置的数值确定为所述查询率下限;若所述连接池在所述第二时间保存有数据,则根据所述目标DSP在所述第三时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限。
在某些可能的实施方式中,所述第二处理单元44,具体用于通过如下公式根据所述目标DSP在所述第四时间段内对所接收到的流量请求的平均响应时间、以及所述第二连接数,确定所述查询率下限:
P下限=D*1000/平均RT
其中,P下限为所述查询率下限,D为所述第二连接数,平均RT为所述平均响应时间。
在某些可能的实施方式中,所述确定单元41,还用于按照预设的第二周期,确定所述目标DSP在所述第二周期内处理流量请求的第三超时错误率;
所述第二处理单元44,还用于若所述第三超时错误率不小于预设的第二阈值,则对所述熔断查询率下调;若所述第三超时错误率小于预设的第二阈值,则对所述熔断查询率上调。
在某些可能的实施方式中,所述第二处理单元44,具体用于根据所述熔断查询率以及预设的第三调整比例,确定第三查询率;根据所述第三查询率以及所述查询率下限,对所述熔断查询率下调。
在某些可能的实施方式中,所述第二处理单元44,具体用于通过如下公式根据所述熔断查询率以及预设的第三调整比例,确定第三查询率:
P3=熔断P*(1-failrate3)
其中,熔断P为所述熔断查询率,P3为所述第三查询率,failrate3为所述第三调整比例。
在某些可能的实施方式中,所述第二处理单元44,具体用于根据所述熔断查询率以及预设的第四调整比例,确定第四查询率;根据所述第四查询率、以及所述熔断器被置为可调整状态后所确定的目标查询率,对所述熔断查询率上调。
在某些可能的实施方式中,所述第二处理单元44,具体用于通过如下公式根据所述熔断查询率以及预设的第四调整比例,确定第四查询率通过如下公式确定:
P4=熔断P/(1-failrate4)
其中,熔断P为所述熔断查询率,P4为所述第四查询率,failrate4为所述第四调整比例。
由于预先设置有第一调整要求以及第二调整要求,确定目标DSP在第二时间段内处理流量请求的第一超时错误率,当确定该第一超时错误率确定是否满足预设的第一调整要求,便可以对目标DSP对应的第一连接数进行调整,当确定该第一超时错误率确定是否满足预设的第二调整要求,则可以对目标DSP对应的熔断器参数进行调整,从而实现及时且准确地对目标DSP对应的第一连接数以及熔断器参数进行调整,有利于保证ADX与DSP之间交互的稳定性。
如图5为本公开实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本公开实施例还提供了一种电子设备,如图5所示,包括:处理器51、通信接口52、存储器53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信;
所述存储器53中存储有计算机程序,当所述程序被所述处理器51执行时,使得所述处理器51执行如下步骤:
确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率;
若确定所述第一超时错误率满足预设的第一调整要求,则对所述目标DSP对应的第一连接数进行调整;
若确定所述第一超时错误率满足预设的第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
由于上述电子设备解决问题的原理与数据处理方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口52用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在上述各实施例的基础上,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率;
若确定所述第一超时错误率满足预设的第一调整要求,则对所述目标DSP对应的第一连接数进行调整;
若确定所述第一超时错误率满足预设的第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
由于计算机可读存储介质解决问题的原理与上述数据处理方法相似,因此具体实施可以参见数据处理方法的实施,重复之处不再赘述。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率;
若确定所述第一超时错误率满足预设的第一调整要求,则对所述目标DSP对应的第一连接数进行调整;
若确定所述第一超时错误率满足预设的第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一超时错误率满足预设的第一调整要求,包括:
若所述第一超时错误率大于预设的第一阈值,且所述第一连接数小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足所述第一调整要求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若调整后的连接数不小于预先配置的所述目标DSP对应的第二连接数,则将所述目标DSP对应的连接池的调整状态确定为非调整状态,并将所述目标DSP对应的熔断器的调整状态确定为可调整状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
按照预设的第一周期,查询所述连接池的调整状态;
若确定所述连接池为非调整状态,则根据所述连接池中是否保存有数据,对所述目标DSP对应的连接数进行调整。
5.根据权利要求1所述的方法,其特征在于,所述确定所述第一超时错误率满足预设的第二调整要求,包括:
若所述第一超时错误率大于预设的熔断阈值,且所述第一连接数不小于预先配置的所述目标DSP对应的第二连接数,则确定所述第一超时错误率满足预设的第二调整要求。
6.根据权利要求5所述的方法,其特征在于,所述对所述目标DSP对应的熔断器参数进行调整,包括:
根据所述目标DSP对应的连接池在第二时间是否保存有数据,确定所述目标DSP对应的查询率下限;其中,所述第二时间与第一时间的时间差为预设第三时间段,所述第一时间为所述连接池被调整为非调整状态的时间,所述第二时间晚于所述第一时间;
确定所述目标DSP在第四时间段内处理流量请求的第二超时错误率、以及所述第四时间段包含的每个单位时长内接收到的流量请求的第二请求数量;
根据每个所述第二请求数量,确定第二查询率;
若所述第二超时错误率大于预设的第三数值,且所述第二查询率大于所述查询率下限,则对所述熔断器参数进行调整。
7.根据权利要求6所述的方法,其特征在于,所述对所述熔断器参数进行调整,包括:
将所述熔断器的开关状态从关闭状态置为半开状态,并根据所述第二查询率以及预先配置的第二调整比例,确定所述目标DSP对应的熔断查询率。
8.一种数据处理装置,其特征在于,所述装置包括:
确定单元,用于确定目标需求方平台DSP在第一时间段内处理流量请求的第一超时错误率;
判断单元,用于确定所述第一超时错误率是否满足预设的第一调整要求;
第一处理单元,用于若确定所述第一超时错误率满足所述第一调整要求,则对所述目标DSP对应的第一连接数进行调整;
所述判断单元,还用于确定所述第一超时错误率是否满足预设的第二调整要求;
第二处理单元,用于若确定所述第一超时错误率满足所述第二调整要求,则对所述目标DSP对应的熔断器参数进行调整。
9.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任一所述数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110428806.0A CN113159845B (zh) | 2021-04-21 | 2021-04-21 | 一种数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110428806.0A CN113159845B (zh) | 2021-04-21 | 2021-04-21 | 一种数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113159845A true CN113159845A (zh) | 2021-07-23 |
CN113159845B CN113159845B (zh) | 2022-09-27 |
Family
ID=76867505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110428806.0A Active CN113159845B (zh) | 2021-04-21 | 2021-04-21 | 一种数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113159845B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140129351A1 (en) * | 2013-10-18 | 2014-05-08 | Zenovia Digital Exchange Corporation | Systems and Methods for Programmatically Arbitraging Viewable Ad Space |
CN107171828A (zh) * | 2017-04-18 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种应对远程调用依赖的超时熔断方法和系统 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
CN109684105A (zh) * | 2018-12-18 | 2019-04-26 | 中国平安人寿保险股份有限公司 | 在微服务架构下对请求进行控制的方法、设备和存储介质 |
CN109919660A (zh) * | 2019-01-31 | 2019-06-21 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种实时竞价系统中广告请求的发送方法及装置 |
CN111324471A (zh) * | 2020-01-22 | 2020-06-23 | 远景智能国际私人投资有限公司 | 服务调整方法、装置、设备及存储介质 |
CN111385421A (zh) * | 2020-03-21 | 2020-07-07 | 山东泰盈科技有限公司 | 通讯服务人工智能熔断方法 |
CN111401956A (zh) * | 2020-03-17 | 2020-07-10 | 深圳市朱墨科技有限公司 | 一种广告服务降级方法、装置、服务器及存储介质 |
-
2021
- 2021-04-21 CN CN202110428806.0A patent/CN113159845B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140129351A1 (en) * | 2013-10-18 | 2014-05-08 | Zenovia Digital Exchange Corporation | Systems and Methods for Programmatically Arbitraging Viewable Ad Space |
CN107171828A (zh) * | 2017-04-18 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种应对远程调用依赖的超时熔断方法和系统 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
CN109684105A (zh) * | 2018-12-18 | 2019-04-26 | 中国平安人寿保险股份有限公司 | 在微服务架构下对请求进行控制的方法、设备和存储介质 |
CN109919660A (zh) * | 2019-01-31 | 2019-06-21 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种实时竞价系统中广告请求的发送方法及装置 |
CN111324471A (zh) * | 2020-01-22 | 2020-06-23 | 远景智能国际私人投资有限公司 | 服务调整方法、装置、设备及存储介质 |
CN111401956A (zh) * | 2020-03-17 | 2020-07-10 | 深圳市朱墨科技有限公司 | 一种广告服务降级方法、装置、服务器及存储介质 |
CN111385421A (zh) * | 2020-03-21 | 2020-07-07 | 山东泰盈科技有限公司 | 通讯服务人工智能熔断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113159845B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733670B2 (en) | System and method for dynamically managing message flow | |
US10897406B2 (en) | Scheduling method for content delivery network, and device | |
US10341496B2 (en) | Policy control method and system, and relevant apparatus | |
US11277273B2 (en) | Computer network service providing system including self adjusting volume enforcement functionality | |
US20040010592A1 (en) | Resource allocation | |
EP3264723A1 (en) | Method, related apparatus and system for processing service request | |
AU2007336336A1 (en) | System and method for adaptive information dissemination | |
CN111245739A (zh) | 超套餐流量业务实时限速方法及装置 | |
CN113159845B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN114095443A (zh) | 用于管控流量的方法、装置、电子设备及可读存储介质 | |
CN109688065B (zh) | 参数的处理方法、装置及存储介质 | |
WO2016062010A1 (zh) | 用量监控方法及装置 | |
US20190036787A1 (en) | Traffic optimization device and traffic optimization method | |
CN110336884B (zh) | 服务器集群更新方法和装置 | |
CN110809062B (zh) | 公有云语音识别资源调用控制方法和装置 | |
CN112073472A (zh) | 一种计数器软清零处理方法 | |
CN113595921B (zh) | 数据流处理方法、装置、电子设备及计算机可读存储介质 | |
CN116545926A (zh) | 一种系统限流方法、装置、电子设备及存储介质 | |
CN110865895A (zh) | 访问流量控制方法、装置、电子设备及存储介质 | |
CN117202117A (zh) | 一种短信渠道熔断降级系统及方法 | |
CN103517248A (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 |