掌桥专利:专业的专利平台
掌桥专利
首页

图片流接入方法、装置、图片处理系统及电子设备

文献发布时间:2023-06-19 10:02:03


图片流接入方法、装置、图片处理系统及电子设备

技术领域

本申请属于数据处理领域,具体涉及一种图片流接入方法、装置、图片处理系统及电子设备。

背景技术

图片处理系统在实际应用场景中,其网关层有可能在一段时间内接收到大量的图片同步请求,即网关层可能存在高并发请求的情况,也有可能在一段时间内接收到少量的图片同步请求。然而传统的图片处理系统对于网关层所接入的图片的处理能力是相对恒定的,对于网关层存在高并发请求的情况,可能使得整个系统的图片处理压力较大,进一步导致系统不能正常运转,对于网关层在长时间内接收到的图片同步请求较少的情况,可能导致整个系统的图片处理压力过低,进一步导致系统不能充分利用其图片处理能力,使得系统不能运行在最佳状态。

发明内容

有鉴于此,本申请的目的在于提供一种图片流接入方法、装置、图片处理系统、电子设备及计算机可读存储介质,根据图片处理系统当前的图处理能力来动态调节网关层对图片流的接入数量,从而保证图片处理系统在能够正常运转的前提下保持在最佳运行状态。

本申请的实施例是这样实现的:

第一方面,本申请实施例提供一种图片流接入方法,应用于图片处理系统的服务层,所述图片处理系统还包括与所述服务层通信连接的网关层,所述网关层用于接入图片流,所述方法包括:实时获取用于表征所述图片处理系统的图片处理压力的指标;根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

在此过程中,服务层可以实时根据图片处理系统的图片处理压力来控制网关层对图片流的接入策略,从而控制对图片流的接入数量,从而保证图片处理系统在能够正常运转的前提下,尽可能地保持在最佳运行状态。

结合第一方面实施例,在一种可能的实施方式中,所述图片处理系统还包括与所述服务层通信连接的算法层,所述指标包括用于表征所述算法层的图片特征提取能力的第一指标,与所述第一指标对应的预设指标包括用于表征所述算法层的常规图片特征提取能力的第一指标常规阈值,及用于表征所述算法层的最大图片特征提取能力的第一指标最大阈值,所述第一指标常规阈值小于所述第一指标最大阈值;所述根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略,包括:根据所述第一指标、所述第一指标常规阈值及所述第一指标最大阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

可以通过与算法层对应的图片特征提取能力来衡量图片处理系统的压力情况。

结合第一方面实施例,在一种可能的实施方式中,所述网关层包括多个用于接入所述图片流的接收线程,所述图片流所包括的图片预先设置有优先级,所述根据所述第一指标、所述第一指标常规阈值及所述第一指标最大阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略,包括:在确定所述第一指标大于所述第一指标常规阈值且小于所述第一指标最大阈值时,控制所述网关层关闭部分第一目标接收线程;在确定所述第一指标大于或等于所述第一指标最大阈值时,控制所述网关层关闭全部第一目标接收线程;其中,所述第一目标接收线程所接入的图片的优先级低于其他接收线程所接入的图片的优先级。

当图片处理系统的图片处理压力较大时,通过关闭部分或全部用于接入低优先级图片的接收线程,从而可以减少网关层对图片流的接入数量,以减少图片处理系统的图片处理压力,从而保证图片处理系统能够正常运转。

结合第一方面实施例,在一种可能的实施方式中,在所述控制所述网关层关闭全部目标接收线程之后,或者在所述控制所述网关层关闭部分第一目标接收线程之后,所述方法还包括:在确定所述第一指标小于所述第一指标常规阈值时,控制所述网关层部分重启/完全重启已关闭的所述第一目标接收线程。

在关闭部分或全部用于接入低优先级图片的接收线程后,图片处理系统的图片处理压力得到缓解,可以恢复到压力较小的状态,此时,可以逐渐恢复先前关闭的接收线程,从而增大网关层对图片流的接入数量,以充分利用图片处理系统的图片处理资源。

结合第一方面实施例,在一种可能的实施方式中,所述指标包括用于表征所述网关层当前所处理并发请求数量的第二指标,与所述第二指标对应的预设指标包括用于表征所述网关层当前的常规可处理并发请求数量的第二指标常规阈值;所述根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略,包括:根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

可以通过与网关层对应的当前所处理并发请求数量来衡量图片处理系统的压力情况。

结合第一方面实施例,在一种可能的实施方式中,所述指标还包括用于表征所述网关层当前所处理并发请求数量的第二指标,与所述第二指标对应的预设指标包括用于表征所述网关层当前的常规可处理并发请求数量的第二指标常规阈值;所述根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略,还包括:在确定所述第一指标小于或等于所述第一指标常规阈值时,根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

可以通过与算法层对应的图片特征提取能力以及与网关层对应的当前所处理并发请求数量,共同来衡量图片处理系统的压力情况。

结合第一方面实施例,在一种可能的实施方式中,所述图片流所包括的图片预先设置有优先级,所述接收线程包括第一目标接收线程及第二目标接收线程,所述第一目标接收线程所接入的图片的优先级低于所述第二目标接收线程所接入的图片的优先级;所述第二指标包括与所述第一目标接收线程对应的第三指标,及与所述第二目标接收线程对应的第四指标;所述第二指标常规阈值包括与所述第三指标对应的常规阈值,及与所述第四指标对应的常规阈值;所述根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略,包括:在确定所述第三指标、所述第四指标中的其中一个指标小于或等于对应的常规阈值,且另一个指标大于对应的常规阈值时,确定是否增加与所述另一个指标对应的接收线程的数量。结合第一方面实施例,在一种可能的实施方式中,与所述第二指标对应的预设指标还包括用于表征所述网关层当前的最大可处理并发请求数量的第二指标最大阈值,所述第二指标最大阈值包括与所述第四指标对应的最大阈值;所述确定是否增加与所述另一个指标对应的接收线程的数量,包括:判断在所述网关层内是否存在未分配的空闲接收线程;在为是时,将所述空闲接收线程设置为与所述另一个指标对应的接收线程;在为否时,若所述另一个指标为所述第四指标,且所述第四指标大于与所述第四指标对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

在存在空闲接收线程时,优先将空闲接收线程设置为压力最大的接收线程所对应的类型,在不存在空闲接收线程,且压力最大的接收线程为用于接入高优先级图片的第二目标接收线程时,调度用于接入低优先级图片的第一目标接收线程作为第二目标接收线程,从而增大当前的与第四指标对应的最大阈值的数值,同时增大第二目标接收线程的处理能力,减小第二目标接收线程的处理压力,保证高优先级图片的处理进度。

结合第一方面实施例,在一种可能的实施方式中,所述根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略,还包括:在确定所述第三指标、所述第四指标均大于对应的常规阈值时,增加所述第一目标接收线程及所述第二目标接收线程中的至少一种接收线程的数量。

结合第一方面实施例,在一种可能的实施方式中,与所述第二指标对应的预设指标还包括用于表征所述网关层当前的最大可处理并发请求数量的第二指标最大阈值,所述第二指标最大阈值包括与所述第三指标对应的最大阈值,及与所述第四指标对应的最大阈值;所述在确定所述第三指标、所述第四指标均大于对应的常规阈值时,增加所述第一目标接收线程及所述第二目标接收线程中的至少一种接收线程的数量,包括:判断在所述网关层内是否存在未分配的空闲接收线程;在为是时,根据所述第三指标、与所述第三指标对应的常规阈值、与所述第三指标对应的最大阈值以及所述第四指标、与所述第四指标对应的常规阈值、与所述第四指标对应的最大阈值,确定所述空闲接收线程的分配策略。

在第一目标接收线程与第二目标接收线程均存在压力,且存在未分配的空闲接收线程时,根据第一目标接收线程与第二目标接收线程的压力实际情况来分配空闲接收线程。

结合第一方面实施例,在一种可能的实施方式中,所述确定所述空闲接收线程的分配策略,包括:若所述第三指标大于对应的最大阈值,且所述第四指标大于对应的最大阈值,将所述空闲接收线程设置为所述第二目标接收线程;若所述第三指标大于对应的常规阈值且小于对应的最大阈值,且所述第四指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程中的其中一部分设置为所述第二目标接收线程,将所述空闲接收线程中的另一部分设置为所述第一目标接收线程;若所述第四指标大于对应的最大阈值,且所述第三指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程设置为所述第二目标接收线程;若所述第三指标大于对应的最大阈值,且所述第四指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程设置为所述第一目标接收线程。

即优先保证处理高优先级图片的第二目标接收线程的处理进度。

结合第一方面实施例,在一种可能的实施方式中,在所述将所述空闲接收线程设置为所述第二目标接收线程之后,所述方法还包括:确定所述第四指标大于对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

在处理高优先级图片的第二目标接收线程的压力很大时,若优先把空闲接收线程设置为第二目标接收线程依旧没有使得第二目标接收线程的压力降低到合适的范围内,可以把处理低优先级图片的第一目标接收线程调度为第二目标接收线程。

结合第一方面实施例,在一种可能的实施方式中,在所述将所述空闲接收线程设置为所述第一目标接收线程之后,所述方法还包括:确定所述第三指标大于对应的常规阈值小于对应的最大阈值且还存在剩余的空闲接收线程,将所述剩余的空闲接收线程设置为所述第二目标接收线程。

在处理低优先级图片的第一目标接收线程的压力很大时,若优先把空闲接收线程设置为第一目标接收线程后,使得第一目标接收线程的压力降低到合适的范围内且还存在剩余的空闲接收线程,则把剩余的空闲接收线程设置为第二目标接收线程,以减小第二目标接收线程的压力。

结合第一方面实施例,在一种可能的实施方式中,在所述判断在所述网关层内是否存在未分配的空闲接收线程之后,所述方法还包括:在为否时,若所述第四指标大于对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

在不存在多余的空闲接收线程时,只要第二目标接收线程的压力大到一定程度,即可把处理低优先级图片的第一目标接收线程调度为第二目标接收线程,从而保证高优先级图片的处理进度。

第二方面,本申请实施例提供一种图片流接入装置,应用于图片处理系统的服务层,所述图片处理系统还包括与所述服务层通信连接的网关层,所述网关层用于接入图片流,所述装置包括:获取模块以及调整模块。获取模块,用于实时获取用于表征所述图片处理系统的图片处理压力的指标;调整模块,用于根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

结合第二方面实施例,在一种可能的实施方式中,所述图片处理系统还包括与所述服务层通信连接的算法层,所述指标包括用于表征所述算法层的图片特征提取能力的第一指标,与所述第一指标对应的预设指标包括用于表征所述算法层的常规图片特征提取能力的第一指标常规阈值,及用于表征所述算法层的最大图片特征提取能力的第一指标最大阈值,所述第一指标常规阈值小于所述第一指标最大阈值;所述调整模块,用于根据所述第一指标、所述第一指标常规阈值及所述第一指标最大阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

结合第二方面实施例,在一种可能的实施方式中,所述网关层包括多个用于接入所述图片流的接收线程,所述图片流所包括的图片预先设置有优先级,所述调整模块,用于在确定所述第一指标大于所述第一指标常规阈值且小于所述第一指标最大阈值时,控制所述网关层关闭部分第一目标接收线程;在确定所述第一指标大于或等于所述第一指标最大阈值时,控制所述网关层关闭全部第一目标接收线程;其中,所述第一目标接收线程所接入的图片的优先级低于其他接收线程所接入的图片的优先级。

结合第二方面实施例,在一种可能的实施方式中,所述装置还包括重启模块,用于在确定所述第一指标小于所述第一指标常规阈值时,控制所述网关层部分重启/完全重启已关闭的所述第一目标接收线程。

结合第二方面实施例,在一种可能的实施方式中,所述指标包括用于表征所述网关层当前所处理并发请求数量的第二指标,与所述第二指标对应的预设指标包括用于表征所述网关层当前的常规可处理并发请求数量的第二指标常规阈值;所述调整模块,用于根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

结合第二方面实施例,在一种可能的实施方式中,所述指标还包括用于表征所述网关层当前所处理并发请求数量的第二指标,与所述第二指标对应的预设指标包括用于表征所述网关层当前的常规可处理并发请求数量的第二指标常规阈值;所述调整模块,用于在确定所述第一指标小于或等于所述第一指标常规阈值时,根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

结合第二方面实施例,在一种可能的实施方式中,所述图片流所包括的图片预先设置有优先级,所述接收线程包括第一目标接收线程及第二目标接收线程,所述第一目标接收线程所接入的图片的优先级低于所述第二目标接收线程所接入的图片的优先级;所述第二指标包括与所述第一目标接收线程对应的第三指标,及与所述第二目标接收线程对应的第四指标;所述第二指标常规阈值包括与所述第三指标对应的常规阈值,及与所述第四指标对应的常规阈值;所述调整模块,用于在确定所述第三指标、所述第四指标中的其中一个指标小于或等于对应的常规阈值,且另一个指标大于对应的常规阈值时,确定是否增加与所述另一个指标对应的接收线程的数量。

结合第二方面实施例,在一种可能的实施方式中,与所述第二指标对应的预设指标还包括用于表征所述网关层当前的最大可处理并发请求数量的第二指标最大阈值,所述第二指标最大阈值包括与所述第四指标对应的最大阈值;所述调整模块,用于判断在所述网关层内是否存在未分配的空闲接收线程;在为是时,将所述空闲接收线程设置为与所述另一个指标对应的接收线程;在为否时,若所述另一个指标为所述第四指标,且所述第四指标大于与所述第四指标对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

结合第二方面实施例,在一种可能的实施方式中,所述调整模块,还用于在确定所述第三指标、所述第四指标均大于对应的常规阈值时,增加所述第一目标接收线程及所述第二目标接收线程中的至少一种接收线程的数量。

结合第二方面实施例,在一种可能的实施方式中,与所述第二指标对应的预设指标还包括用于表征所述网关层当前的最大可处理并发请求数量的第二指标最大阈值,所述第二指标最大阈值包括与所述第三指标对应的最大阈值,及与所述第四指标对应的最大阈值;所述调整模块,用于判断在所述网关层内是否存在未分配的空闲接收线程;在为是时,根据所述第三指标、与所述第三指标对应的常规阈值、与所述第三指标对应的最大阈值以及所述第四指标、与所述第四指标对应的常规阈值、与所述第四指标对应的最大阈值,确定所述空闲接收线程的分配策略。

结合第二方面实施例,在一种可能的实施方式中,所述调整模块,用于若所述第三指标大于对应的最大阈值,且所述第四指标大于对应的最大阈值,将所述空闲接收线程设置为所述第二目标接收线程;若所述第三指标大于对应的常规阈值且小于对应的最大阈值,且所述第四指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程中的其中一部分设置为所述第二目标接收线程,将所述空闲接收线程中的另一部分设置为所述第一目标接收线程;若所述第四指标大于对应的最大阈值,且所述第三指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程设置为所述第二目标接收线程;若所述第三指标大于对应的最大阈值,且所述第四指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程设置为所述第一目标接收线程。

结合第二方面实施例,在一种可能的实施方式中,所述调整模块,用于确定所述第四指标大于对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

结合第二方面实施例,在一种可能的实施方式中,所述调整模块,用于确定所述第三指标大于对应的常规阈值且小于对应的最大阈值且还存在剩余的空闲接收线程,将所述剩余的空闲接收线程设置为所述第二目标接收线程。

结合第二方面实施例,在一种可能的实施方式中,所述调整模块,用于在确定在所述网关层内不存在未分配的空闲接收线程时,若所述第四指标大于对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

第三方面,本申请实施例还提供一种电子设备包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

第四方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机可读存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

第五方面,本申请实施例还提供一种图片处理系统,包括服务层及与所述服务层通信连接的网关层及算法层,所述网关层,用于接入图片流;所述算法层,用于对接入的图片流进行特征提取;所述服务层,用于获取所述网关层和/或所述算法层的用于表征所述图片处理系统的图片处理压力的指标,并根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。

图1示出本申请实施例提供的一种图片处理系统的结构示意图。

图2示出本申请实施例提供的一种图片流接入方法的流程图。

图3示出本申请实施例提供的一种图片流接入装置的结构框图。

图4示出本申请实施例提供的一种电子设备的结构示意图。

图标:10-图片处理系统;11-网关层;12-服务层;13-算法层;14-基础层;100-电子设备;110-处理器;120-存储器;400-图片流接入装置;410-获取模块;420-调整模块。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

此外,针对现有技术中出现的图片处理系统所存在的缺陷(导致系统不能正常运转或者导致系统不能运行在最佳状态)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该被认作是申请人对本申请做出的贡献。

为了解决上述问题,本申请实施例提供一种图片流接入方法、装置、图片处理系统、电子设备及计算机可读存储介质,有利于图片处理系统在能够正常运转的前提下保持在最佳运行状态。

该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。

首先,参照图1来描述用于实现本申请实施例的图片流接入方法、装置的图片处理系统10的系统构架。图片处理系统10可以包括网关层11、服务层12、算法层13以及基础层14。

其中,服务层12分别与网关层11以及算法层13建立通信连接,基础层分别与网关层11、服务层12以及算法层13建立通信连接。

在一些实施方式中,网关层11、服务层12以及算法层13可以分别为不同的服务器或者服务器集群,在另一些实施方式中,网关层11与服务层12可以隶属于同一服务器或者服务器集群,算法层属于另一个服务器或者服务器集群。

基础层14以数据库的形式保存在图片处理系统10内。可选的,在基础层14内可以部署有用于缓存图片的Kafka(分布式发布-订阅消息传递系统)、用于进行数据传输的消息中间件等。

在网关层11内部署有接收线程,用于处理外部图片接入设备(例如摄像头、外部图片接入系统等)发起的图片同步请求,以接入图片同步请求中包含的图片,并将接入的图片放入Kafka内。

在一些实施方式中,网关层11可以接入不同类别的图片,例如接入路人图片以及底库图片(较为重要的图片)。此时,可以将接收线程中的其中一部分用于接入路人图片,将接收线程中的另一部分用于接入底库图片,当然,除此之外,还可以预留一部分处于空闲状态的接收线程进行备用。

在算法层13内部署有图片特征提取组件。算法层13可以按照预设的速度订阅Kafka,以获取Kafka内的图片,并通过图片特征提取组件对获取到的图片进行特征提取。此外,算法层13对图片进行特征提取后,将提取后的特征再次保存在Kafka内。

在服务层12内部署有入库线程、服务调度组件以及服务监控组件。

其中,服务层12可以订阅Kafka,以获取提取后的特征,并将提取后的特征和/或对应的图片通过入库线程进行入库保存。

值得指出的是,在本申请一些实施例中,入库线程的数量与接收线程的数量呈等比关系。

此外,服务层12可以通过服务监控组件获知网关层11以及算法层13的负载情况。其中,对于网关层11而言,其负载情况即与网关层11在单位时间内接入的图像同步并发请求数量(qps)存在正相关关系;对于算法层13而言,其负载情况与算法层13正在进行特征提取的图片数量存在正相关关系。

在本申请实施例中,服务层12在获取到网关层11以及算法层13的负载情况后,可以基于网关层11以及算法层13的负载情况来判断图片处理系统10的图片处理压力,并根据当前的图片处理压力,通过服务调度组件动态调整网关层11对图片流的接入策略,从而保证图片处理系统10在能够正常运转的前提下保持在最佳运行状态。

下面将结合图2所示出的图片流接入方法,对服务层12通过服务调度组件动态调整网关层11对图片流的接入策略的过程进行介绍。

请参看图2,本申请实施例提供一种应用于上述图片处理系统10的服务层12的图片流接入方法。该方法包括以下步骤。

步骤S110:实时获取用于表征所述图片处理系统的图片处理压力的指标。

步骤S120:根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

上文提及,图片处理系统10可以包括网关层11、服务层12、算法层13。其中,对于图片处理系统10而言,可以包括多种用于表征其图片处理压力的指标,例如在一种可选的实施方式中,可以根据算法层13的图片特征提取能力确定图片处理系统10的图片处理压力,在另一种可选的实施方式中,可以根据网关层11的当前所处理并发请求数量确定图片处理系统10的图片处理压力,在又一种可选的实施方式中,可以同时结合算法层13的图片特征提取能力以及网关层11的当前所处理并发请求数量确定图片处理系统10的图片处理压力。

也就是说,对于图片处理系统10而言,用于表征其图片处理压力的指标包括多种情况,相应的,针对每种情况的指标所包括的参数不同,可以预先设置与该种情况对应的预设指标,从而形成一一对应关系。

服务层12在获取到每种情况下的指标后,可以将当前获取到的指标与对应的预设指标之间进行大小比较,从而确定图片处理系统10当前的图片处理压力的大小,以便根据当前的图片处理压力的大小,动态调整网关层11对图片流的接入策略。

可选的,服务层12动态调整网关层11对图片流的接入策略的过程,可以是服务层12在确定图片处理系统10的图片处理压力较大时,控制网关层11减少对图片流的接入,以减少图片处理系统10的图片处理压力;也可以是服务层12在确定图片处理系统10的图片处理压力较小时,控制网关层11增大对图片流的接入,以充分利用图片处理系统10的图片处理资源;还可以是服务层12在确定图片处理系统10的图片处理压力较大时,控制网关层11减少对图片流的接入,且服务层12在确定图片处理系统10的图片处理压力较小时,控制网关层11增大对图片流的接入。

其中,作为一种可选的实施方式,在确定用算法层13的图片特征提取能力(假设用第一指标A表示)来表征图片处理系统10的图片处理压力时,上述指标包括第一指标A。相应的,在这种实施方式下,与第一指标A对应的预设指标包括第一指标常规阈值Amed,以及包括第一指标最大阈值Amax。

在这种实施方式下,可以通过A、Amed以及Amax之间的大小关系,动态调整网关层11对图片流的接入策略。

其中,第一指标常规阈值Amed用于表征算法层13在一般情况下的常规图片特征提取能力,第一指标最大阈值Amax用于表征算法层13在极限情况下的最大图片特征提取能力,且Amed<Amax。值得指出的是,Amed以及Amax的大小由工作人员预先根据算法层13的算力进行配置。

上文提及,网关层11包括多个用于接入图片流的接收线程。基于限流算法(例如漏桶算法、令牌桶算法等)的原则,可以通过关闭部分接收线程的方式,实现减小用于接入图片流的接口的接收速度上限的效果,以便接口在检测到图片接入速度超过接收速度上限时,将超过接收速度上限后的图片丢弃。

在一些实施方式中,当服务层12在确定第一指标A大于第一指标常规阈值Amed时,即可确定图片处理系统10的图片处理压力大。此时,可以通过关闭部分接收线程的方式来实现对接入图片速度的限流,从而减少接入的图片的数量,以便可以减轻算法层13的图片特征提取压力。

此外,在另一些实施方式中,当接收线程用于接入不同类别的图片时,可以为图片流所包括的不同类别的图片预先设置优先级。如上文中的举例,网关层11可以接入路人图片以及底库图片(较为重要的图片),且底库图片的优先级高于路人图片的优先级。可以理解的是,低优先级的图片相对于高优先级的图片较为不重要,必要时可以丢弃。此时,为了便于区分,将网关层11所包括的接收线程中用于接入低优先级图片的接收线程称之为第一目标接收线程,将用于接入高优先级图片接收线程称之为第二目标接收线程。

在这种实施方式下,第一指标A大于第一指标常规阈值Amed可以分为以下两种情况:(1)第一指标A位于第一指标常规阈值Amed与第一指标最大阈值Amax之间(Amed<A<Amax);(2)第一指标A大于或等于第一指标最大阈值Amax(A≥Amax)。且上述两种情况均表征图片处理系统10存在图片处理压力。此时,服务层12可以采取不同的措施来控制网关层11减少对图片流的接入,以缓解压力。

例如,针对Amed<A<Amax的情况,说明算法层13有图片特征提取的压力。基于上述限流算法,可通过适当减少网关层11的接收线程的数量,以适当减少网关层11对图片流的接入数量。此时,由于第一目标接收线程所接入的图片的优先级低于第二目标接收线程所接入的图片的优先级,应该优先保证高优先级图片的处理进度,因此,可以控制网关层11关闭部分第一目标接收线程。对应于上文的举例,即可以关闭部分用于接入路人图片的接收线程。

例如,针对A≥Amax的情况,说明算法层13的图片特征提取的压力较大。基于上述限流算法,可以大量关闭网关层11的接收线程的数量,以大量减少网关层11对图片流的接入数量。此时,由于第一目标接收线程所接入的图片的优先级低于第二目标接收线程所接入的图片的优先级,应该优先保证高优先级图片的处理进度,因此,可以控制网关层11关闭全部第一目标接收线程。对应于上文的举例,即可以关闭全部用于接入路人图片的接收线程。

通过上述记载可知,当根据A的值确定算法层13存在压力时,优先考虑关闭用于接入低优先级图片的第一目标接收线程,保证高优先级图片的接入进度,对应于上文的举例,即优先关闭用于接入路人图片的接收线程,已保证底库图片的接入进度。

针对上文中所需要关闭的第一目标接收线程的数量,可以通过公式N=[(A-Amed)/Amed]×[(最大接收线程数-当前接收线程数)]来进行确定。其中,最大接收线程数用于表征网关层11最多可以部署的接收线程的数量,当前接收线程数用于表征网关层11当前已经部署的接收线程的数量。

当网关层11通过关闭接收线程(可能关闭的是部分第一目标接收线程,还可能关闭的是全部第一目标接收线程)后,即可以减少后续图片的接入,因此,当持续一段时间后,服务层12所获取到的A的值会慢慢变小,直至A<Amed。当A<Amed时,说明算法层13有余力对更多的图片进行特征提取。此时,作为一种可选的实施方式,服务层12可以控制网关层11重启上述所关闭的部分第一目标接收线程或者重启上述所关闭的全部第一目标接收线程,以使先前所关闭的部分或全部接收线程重新开始接入新的图片,以增加图片的接入数量,从而充分运用算法层13的空闲算力,提高图片处理系统10的整体效率。

需要重启的第一目标接收线程的数量,可以通过公式N=[(Amed-A)/Amed]×[(最大接收线程数-当前接收线程数)]来进行确定。其中,最大接收线程数用于表征网关层11最多可以部署的接收线程的数量,当前接收线程数用于表征网关层11当前已经部署的接收线程的数量。

在一些实施方式中,可以如上述所介绍的,根据与第一指标A以及与第一指标A对应的预设指标来确定网关层11对图片流的接入策略。

当然,在一些实施方式中,可以第二指标B以及与第二指标B对应的预设指标来确定网关层11对图片流的接入策略。与第二指标B对应的预设指标包括第二指标常规阈值Bmed以及第二指标最大阈值Bmax。

其中,第二指标B用于表征网关层11当前所处理并发请求数量;第二指标常规阈值Bmed用于表征网关层11在当前已经部署的接收线程数量的基础上,所能够提供的常规可处理并发请求数量;第二指标最大阈值Bmax用于表征网关层11在当前已经部署的接收线程数量的基础上,所能够提供的最大可处理并发请求数量。

值得指出的是,随着网关层11在当前已经部署的接收线程数量的改变,Bmed以及Bmax的值相应会产生变化。工作人员可以预先根据网关层11内所部署的接收线程的实际数量对Bmed以及Bmax的值进行配置并进行存储,也可根据网关层11内当前所部署的接收线程的实际数量自动计算Bmed以及Bmax的值。服务层12在获取到网关层11当前所部署的接收线程的数量后,可以查阅预先存储的数据,获取到与当前已经部署的接收线程的数量相匹配的Bmed以及Bmax。

在这种实施方式下,可以忽略算法层13的压力情况,直接根据第二指标B、第二指标常规阈值Bmed以及第二指标最大阈值Bmax之间的大小关系,动态调整网关层11对图片流的接入策略。

当然,在一些实施方式中,还可以结合第一指标A、与第一指标A对应的预设指标、第二指标B以及与第二指标B对应的预设指标来确定网关层11对图片流的接入策略。

在这种实施方式下,当确定A>Amed时,可以依旧按照上文所介绍的方式,动态调整网关层11对图片流的接入策略,此处不再赘述;当确定A≤Amed时,说明算法层13有余力对更多的图片进行特征提取,对图片处理系统10的图片处理压力的影响较小,此时,可以根据第二指标B、第二指标常规阈值Bmed以及第二指标最大阈值Bmax之间的大小关系,动态调整网关层11对图片流的接入策略,提高图片处理系统10的整体图片处理效率。

下面将针对根据第二指标B、第二指标常规阈值Bmed以及第二指标最大阈值Bmax之间的大小关系,动态调整网关层11对图片流的接入策略的过程进行介绍。

当然,值得指出的是,该过程可以应用到上述所介绍的,直接根据第二指标B、第二指标常规阈值Bmed以及第二指标最大阈值Bmax之间的大小关系,动态调整网关层11对图片流的接入策略的实施方式中;也可以应用到上述所介绍的,结合第一指标A、与第一指标A对应的预设指标、第二指标B以及与第二指标B对应的预设指标来确定网关层11对图片流的接入策略的实施方式中。

上文提及,图片流所包括的图片预先设置有优先级,网关层11所部署的接收线程包括第一目标接收线程及第二目标接收线程,且第一目标接收线程所接入的图片的优先级低于第二目标接收线程所接入的图片的优先级。下面以第一目标接收线程用于接入路人图片,第二目标接收线程用于接入底库图片为例进行介绍。

在这种前提下,第二指标B包括与第一目标接收线程对应的第三指标B3,以及与第二目标接收线程对应的第四指标B4。

其中,第三指标B3表征当前用于接入路人图片的所有第一目标接收线程所处理并发请求数量;第四指标B4表征当前用于接入底库图片的所有第二目标接收线程所处理并发请求数量。

相应的,第二指标常规阈值Bmed包括与第三指标对应的常规阈值Bmed3,及与第四指标对应的常规阈值Bmed4;第二指标最大阈值Bmax包括与第三指标对应的最大阈值Bmax3,及与第四指标对应的最大阈值Bmax4。

其中,与第三指标对应的常规阈值Bmed3用于表征网关层11在当前已经部署的所有第一目标接收线程数量的基础上,所能够提供的常规可处理并发请求数量;与第四指标对应的常规阈值Bmed4用于表征网关层11在当前已经部署的所有第二目标接收线程数量的基础上,所能够提供的常规可处理并发请求数量。

其中,与第三指标对应的最大阈值Bmax3用于表征网关层11在当前已经部署的所有第一目标接收线程数量的基础上,所能够提供的最大可处理并发请求数量;与第四指标对应的常规阈值Bmax4用于表征网关层11在当前已经部署的所有第二目标接收线程数量的基础上,所能够提供的最大可处理并发请求数量。

当然,Bmax3大于Bmed3,且Bmax4大于Bmed4。

值得指出的是,随着网关层11在当前已经部署的第一目标接收线程数量与第二目标接收线程数量的改变,Bmed3、Bmed4、Bmax3以及Bmax4的值会相应地产生变化,且第一目标接收线程的数量与Bmed3与Bmax3的数值大小呈正相关关系,第二目标接收线程的数量与Bmed4与Bmax4的数值大小呈正相关关系。

在根据第二指标B、第二指标常规阈值Bmed以及第二指标最大阈值Bmax之间的大小关系,动态调整网关层11对图片流的接入策略,可以包括以下几种实施方式:

实施方式一:当服务层12在确定第三指标B3与第四指标B4中的其中一个指标小于对应的常规阈值,且另一个指标大于对应的常规阈值时,说明小于对应的常规阈值的指标对应的接收线程不存在压力,大于对应的常规阈值的指标对应的接收线程存在压力。

例如,当第三指标B3小于对应的常规阈值Bmed3(B3<Bmed3),且第四指标大于对应的常规阈值Bmed4(B4>Bmed4)时,说明用于接入底库图片的第二目标接收线程当前存在一定的压力,而用于接入路人图片的第一目标接收线程当前不存在压力。

例如,当第四指标B4小于对应的常规阈值Bmed4(B4<Bmed4),且第三指标大于对应的常规阈值Bmed3(B3>Bmed3)时,说明用于接入路人图片的第一目标接收线程当前存在一定的压力,而用于接入底库图片的第二目标接收线程当前不存在压力。

值得指出的是,针对B4>Bmed4,可以包括Bmed4<B4<Bmax4以及B4≥Bmax4两种情况;针对B3>Bmed3,可以包括Bmed3<B3<Bmax3以及B3≥Bmax3两种情况。

当服务层12确定第三指标B3与第四指标B4中的其中一个指标小于对应的常规阈值,且另一个指标大于对应的常规阈值,此时,可以确定是否增加与另一个指标对应的接收线程的数量。

增加与另一个指标对应的接收线程的数量,也就是把其他接收线程作为补充接收线程,并将补充接收线程设置为与另一个指标对应的接收线程。

可选的,可以先判断在网关层11内是否存在未分配的空闲接收线程。

此处的未分配的空闲接收线程指的是网关层11内既不作为第一目标接收线程,又不作为第二目标接收线程的接收线程。

在一些实施方式中,当存在未分配的空闲接收线程时,可以确定需要增加与另一个指标对应的接收线程的数量,即可以将空闲接收线程设置为与另一个指标对应的接收线程。

此时可以忽略另一指标具体所指代的指标,例如当网关层11内存在空闲接收线,且需要增加第二目标接收线程时,将网关层11内的空闲接收线程设置为第二目标接收线程,以增加第二目标接收线程的数量;当网关层11内存在空闲接收线,且需要增加第一目标接收线程时,将网关层11内的空闲接收线程设置为第一目标接收线程,以增加第一目标接收线程的数量。

此外,针对上文中需要增加的接收线程的数量,可以通过公式N=[(Amed-A)/Amed]×[(最大接收线程数-当前接收线程数)]来进行确定。其中,最大接收线程数用于表征网关层11最多可以部署的接收线程的数量,当前接收线程数用于表征网关层11当前已经部署的接收线程的数量。

随着收线程的数量的改变,与之对应的Bmed的值以及Bmax的值会相应会产生变化。

当增加第二目标接收线程的数量时,Bmed4的值以及Bmax4的值会相应增大,此时,若在增加第二目标接收线程的数量之前,B4>Bmax4,在Bmax4发生变化后,可能会使得B4<当前的Bmax4;若在增加第二目标接收线程的数量之前,Bmed4<B4<Bmax4,在Bmed4以及Bmax4发生变化后,可能会使得B4<当前的Bmed4,从而可以使得网关层11中用于接入底库图片的接收线程的压力被均摊变得更小,从而保证底库图片的正常接入。

同理,当增加第一目标接收线程的数量时,也可以保证路人图片的正常接入。

在一些实施方式中,当不存在未分配的空闲接收线程时。若另一个指标为第三指标B3,由于与第三指标B3对应的第一目标接收线程用于接入不太重要的路人图片,由于没有可用于补充第一目标接收线程数量的接收线程,因此,可以不用对当前的第一目标接收线程的数据进行调整,即确定不增加与所述另一个指标对应的接收线程的数量。若另一个指标为第四指标B4,且B4大于与B4对应的最大阈值Bmax4(B4>Bmax4),由于与B4对应的第二目标接收线程用于接入底库图片,且底库图片的优先级高于路人图片,因此,此时可以将用于接入路人图片的第一目标接收线程中的部分或全部接收线程调度为第二目标接收线程,从而增加第二目标接收线程的数量。

实施方式二:当服务层12在确定第三指标B3与第四指标B4均大于对应的常规阈值时(即B3>Bmed3且B4>Bmed4),说明第一目标接收线程与第二目标接收线程均存在压力,此时,可以控制网关层11增加与第一目标接收线程与第二目标接收线程中的至少一种接收线程的数量。

在一些实施方式中,可以先判断在网关层11内是否存在未分配的空闲接收线程。

当确定不存在未分配的空闲接收线程时,若第四指标B4大于Bmax4,则说明第二目标接收线程的压力很大。由于第二目标接收线程用于接入的底库图片的优先级高于第一目标接收线程用于接入的路人图片的优先级,因此,为了优先保证底库图片的正常接入,可以将第一目标接收线程陆续调度为第二目标接收线程,以增加第二目标接收线程的数量,直至B4<当前的Bmax4,或者直至第一目标接收线程全部被调度为第二目标接收线程也未使得B4<当前的Bmax4。

值得指出的是,当第二目标接收线程的数量增加后,Bmax4相应增大。可选的,当检测到B4<当前的Bmax4时,说明第二目标接收线程的接入压力达到可接收的范围内,此时,可以停止将第一目标接收线程调度为第二目标接收线程。

当确定存在未分配的空闲接收线程时,再根据第三指标B3、与第三指标对应的常规阈值Bmed3、与第三指标对应的最大阈值Bmax3以及第四指标B4、与第四指标对应的常规阈值Bmed4、与第四指标对应的最大阈值Bmax4,确定空闲接收线程的分配策略。

其中,若第三指标B3大于对应的最大阈值Bmax3,且第四指标B4大于对应的最大阈值Bmax4,说明第一目标接收线程与第二目标接收线程的接入压力均很大,但是,由于第二目标接收线程接入图片的优先级高于第一目标接收线程接入图片的优先级,因此,可以优先将空闲接收线程陆续设置为第二目标接收线程,即优先保证高优先级图片的接入。

可选的,当将空闲接收线程陆续设置为第二目标接收线程之后,Bmax4增大,若检测到B4小于当前的Bmax4,且此时还存在剩余的空闲接收线程,那么可以将剩余的空闲接收线程设置为第一目标接收线程。

可选的,若将全部的空闲接收线程陆续设置为第二目标接收线程之后,均未使得B4小于当前的Bmax4,即B4始终大于当前的Bmax4,那么可以将第一目标接收线程陆续调度为第二目标接收线程,以增加第二目标接收线程的数量,直至B4<当前的Bmax4;或者直至第一目标接收线程全部被调度为第二目标接收线程也未使得B4<当前的Bmax4。

其中,若第三指标B3大于对应的常规阈值Bmed3且小于对应的最大阈值Bmax3,且第四指标B4大于对应的常规阈值Bmed4且小于对应的最大阈值Bmax4,说明第一目标接收线程与第二目标接收线程均存在可接受的接入压力。此时,可以将空闲接收线程中的其中一部分设置为第二目标接收线程,将空闲接收线程中的另一部分设置为第一目标接收线程。

当然,由于第二目标接收线程的重要程度大于第一目标接收线程,因此,可以将空闲接收线程中的大部分接收线程设置为第二目标接收线程。

其中,若第四指标B4大于对应的最大阈值Bmax4,且第三指标B3大于对应的常规阈值Bmed3且小于对应的最大阈值Bmax3,说明第一目标接收线程存在可接受的接入压力,第二目标接收线程存在较大压力。此时,可以将空闲接收线程陆续设置为第二目标接收线程,以增加第二目标接收线程的数量,直至B4<当前的Bmax4。

可选的,若将全部的空闲接收线程陆续设置为第二目标接收线程之后,均未使得B4<当前的Bmax4,即B4始终大于当前的Bmax4,那么可以将第一目标接收线程陆续调度为第二目标接收线程,以增加第二目标接收线程的数量,直至B4<当前的Bmax4;或者直至第一目标接收线程全部被调度为第二目标接收线程也未使得B4<当前的Bmax4。

其中,若第三指标B3大于对应的最大阈值Bmax3,且第四指标B4大于对应的常规阈值Bmed4且小于对应的最大阈值Bmax4,说明第二目标接收线程存在可接受的接入压力,第一目标接收线程存在较大压力。此时,可以将空闲接收线程陆续设置为第一目标接收线程,以增加第一目标接收线程的数量,直至B3<当前的Bmax3。

当然,若将空闲接收线程均设置为第一目标接收线程后,也没有使得B3<当前的Bmax3,则放弃对第一目标接收线程的数量进行调整。

可选的,在将空闲接收线程设置为第一目标接收线程后,若检测到当前的Bmed3<B3<当前的Bmax3,且还存在剩余的空闲接收线程,此时,可以将剩余的空闲接收线程设置为第二目标接收线程。

在算法层13内部署有数据缓冲池,在算法层13执行缓冲机制时,算法层13的图片特征提取组件在获取到图片后,不会立刻执行特征操作,而先将获取到的图片存入数据缓冲池内。当算法层13的图片特征提取组件在获取图片进行特征提取时,可以忽略存入数据缓冲池内的图片的数量以及存入数据缓冲池内的图片存入速度,始终按照自身能够处理的速度从数据缓冲池中获取图片进行特征提取,从而保证自身的正常运转。

在一些实施方式中,图片处理系统10的算法层13可以一直执行缓冲机制,或者在服务层12确定图片处理系统10的图片处理压力较大时执行缓冲机制。

本申请实施例所提供的一种图片流接入方法,该方法通过实时获取用于表征图片处理系统的图片处理压力的指标;然后根据指标与对应的预设指标之间的大小关系,动态调整网关层对所述图片流的接入策略。在此过程中,当图片处理系统的图片处理压力较大时,可以减少网关层对图片流的接入数量,以减少图片处理系统的图片处理压力,从而保证图片处理系统能够正常运转;当图片处理系统的图片处理压力较小时,可以增大网关层对图片流的接入数量,以充分利用图片处理系统的图片处理资源,保持图片处理系统运行在最佳状态,提高图片处理系统的工作效率。

如图3所示,本申请实施例还提供一种图片流接入装置400,应用于图片处理系统的服务层,图片处理系统还包括与服务层通信连接的网关层,网关层用于接入图片流。

图片流接入装置400可以包括:获取模块410以及调整模块420。

获取模块410,用于实时获取用于表征所述图片处理系统的图片处理压力的指标;

调整模块420,用于根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

在一种可能的实施方式中,所述图片处理系统还包括与所述服务层通信连接的算法层,所述指标包括用于表征所述算法层的图片特征提取能力的第一指标,与所述第一指标对应的预设指标包括用于表征所述算法层的常规图片特征提取能力的第一指标常规阈值,及用于表征所述算法层的最大图片特征提取能力的第一指标最大阈值,所述第一指标常规阈值小于所述第一指标最大阈值;

所述调整模块420,用于根据所述第一指标、所述第一指标常规阈值及所述第一指标最大阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

在一种可能的实施方式中,所述网关层包括多个用于接入所述图片流的接收线程,所述图片流所包括的图片预先设置有优先级,所述调整模块420,用于在确定所述第一指标大于所述第一指标常规阈值且小于所述第一指标最大阈值时,控制所述网关层关闭部分第一目标接收线程;在确定所述第一指标大于或等于所述第一指标最大阈值时,控制所述网关层关闭全部第一目标接收线程;其中,所述第一目标接收线程所接入的图片的优先级低于其他接收线程所接入的图片的优先级。

在一种可能的实施方式中,所述装置还包括重启模块,用于在确定所述第一指标小于所述第一指标常规阈值时,控制所述网关层部分重启/完全重启已关闭的所述第一目标接收线程。

在一种可能的实施方式中,所述指标包括用于表征所述网关层当前所处理并发请求数量的第二指标,与所述第二指标对应的预设指标包括用于表征所述网关层当前的常规可处理并发请求数量的第二指标常规阈值;所述调整模块420,用于根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

在一种可能的实施方式中,所述指标还包括用于表征所述网关层当前所处理并发请求数量的第二指标,与所述第二指标对应的预设指标包括用于表征所述网关层当前的常规可处理并发请求数量的第二指标常规阈值;所述调整模块420,用于在确定所述第一指标小于或等于所述第一指标常规阈值时,根据所述第二指标、所述第二指标常规阈值之间的大小关系,动态调整所述网关层对所述图片流的接入策略。

在一种可能的实施方式中,所述图片流所包括的图片预先设置有优先级,所述接收线程包括第一目标接收线程及第二目标接收线程,所述第一目标接收线程所接入的图片的优先级低于所述第二目标接收线程所接入的图片的优先级;所述第二指标包括与所述第一目标接收线程对应的第三指标,及与所述第二目标接收线程对应的第四指标;所述第二指标常规阈值包括与所述第三指标对应的常规阈值,及与所述第四指标对应的常规阈值;所述调整模块420,用于在确定所述第三指标、所述第四指标中的其中一个指标小于或等于对应的常规阈值,且另一个指标大于对应的常规阈值时,确定是否增加与所述另一个指标对应的接收线程的数量。

在一种可能的实施方式中,与所述第二指标对应的预设指标还包括用于表征所述网关层当前的最大可处理并发请求数量的第二指标最大阈值,所述第二指标最大阈值包括与所述第四指标对应的最大阈值;所述调整模块420,用于判断在所述网关层内是否存在未分配的空闲接收线程;在为是时,将所述空闲接收线程设置为与所述另一个指标对应的接收线程;在为否时,若所述另一个指标为所述第四指标,且所述第四指标大于与所述第四指标对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

在一种可能的实施方式中,所述调整模块420,还用于在确定所述第三指标、所述第四指标均大于对应的常规阈值时,增加所述第一目标接收线程及所述第二目标接收线程中的至少一种接收线程的数量。

在一种可能的实施方式中,与所述第二指标对应的预设指标还包括用于表征所述网关层当前的最大可处理并发请求数量的第二指标最大阈值,所述第二指标最大阈值包括与所述第三指标对应的最大阈值,及与所述第四指标对应的最大阈值;所述调整模块420,用于判断在所述网关层内是否存在未分配的空闲接收线程;在为是时,根据所述第三指标、与所述第三指标对应的常规阈值、与所述第三指标对应的最大阈值以及所述第四指标、与所述第四指标对应的常规阈值、与所述第四指标对应的最大阈值,确定所述空闲接收线程的分配策略。

在一种可能的实施方式中,所述调整模块420,用于若所述第三指标大于对应的最大阈值,且所述第四指标大于对应的最大阈值,将所述空闲接收线程设置为所述第二目标接收线程;若所述第三指标大于对应的常规阈值且小于对应的最大阈值,且所述第四指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程中的其中一部分设置为所述第二目标接收线程,将所述空闲接收线程中的另一部分设置为所述第一目标接收线程;若所述第四指标大于对应的最大阈值,且所述第三指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程设置为所述第二目标接收线程;若所述第三指标大于对应的最大阈值,且所述第四指标大于对应的常规阈值且小于对应的最大阈值,将所述空闲接收线程设置为所述第一目标接收线程。

在一种可能的实施方式中,所述调整模块420,用于确定所述第四指标大于对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

在一种可能的实施方式中,所述调整模块420,用于确定所述第三指标大于对应的常规阈值且小于对应的最大阈值且还存在剩余的空闲接收线程,将所述剩余的空闲接收线程设置为所述第二目标接收线程。

在一种可能的实施方式中,所述调整模块420,用于在确定在所述网关层内不存在未分配的空闲接收线程时,若所述第四指标大于对应的最大阈值,将所述第一目标接收线程中的部分或全部接收线程调度为所述第二目标接收线程。

本申请实施例所提供的图片流接入装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的图片流接入方法。

此外,请参看图4,本申请实施例还提供一种电子设备100。电子设备100可以包括处理器110以及存储器120。应当注意,图4所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。

处理器110、存储器120以及其他可能出现于电子设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,上文中的网关层11、服务层12或者算法层13所隶属的服务器的结构均可以如图4所示。

当电子设备100为上文中的服务层12时,存储器120用于存储程序,例如存储有上文出现的图片流接入方法对应的程序或者上文出现的图片流接入装置。可选的,当存储器120内存储有图片流接入装置时,图片流接入装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。

可选的,图片流接入装置所包括软件功能模块也可以固化在电子设备100的操作系统(operating system,OS)中。

处理器110用于执行存储器120中存储的可执行模块,例如图片流接入装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:实时获取用于表征所述图片处理系统的图片处理压力的指标;根据所述指标与对应的预设指标之间的大小关系,动态调整所述网关层11对所述图片流的接入策略。

当然,本申请任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。

综上所述,本发明实施例提出的图片流接入方法、装置、图片处理系统、电子设备及计算机可读存储介质,该方法通过实时获取用于表征图片处理系统的图片处理压力的指标;然后根据指标与对应的预设指标之间的大小关系,动态调整网关层对所述图片流的接入策略。在此过程中,当图片处理系统的图片处理压力较大时,可以减少网关层对图片流的接入数量,以减少图片处理系统的图片处理压力,从而保证图片处理系统能够正常运转;当图片处理系统的图片处理压力较小时,可以增大网关层对图片流的接入数量,以充分利用图片处理系统的图片处理资源,保持图片处理系统运行在最佳状态,提高图片处理系统的工作效率。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

相关技术
  • 图片流接入方法、装置、图片处理系统及电子设备
  • 视频流和/或图片流数据的共享方法、装置及电子设备
技术分类

06120112389870