CN111565154B - 图像识别请求处理方法、装置、计算机设备和存储介质 - Google Patents
图像识别请求处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111565154B CN111565154B CN202010677830.3A CN202010677830A CN111565154B CN 111565154 B CN111565154 B CN 111565154B CN 202010677830 A CN202010677830 A CN 202010677830A CN 111565154 B CN111565154 B CN 111565154B
- Authority
- CN
- China
- Prior art keywords
- queue
- image identification
- request
- requests
- image
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Facsimiles In General (AREA)
Abstract
本申请涉及计算机技术领域,特别是涉及一种图像识别请求处理方法、装置、计算机设备和存储介质。所述方法包括:接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识;将图像识别请求存储至各终端标识对应的缓存队列中;当检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中;当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端。采用本方法能够解决服务器的拥堵问题。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种图像识别请求处理方法、装置、计算机设备和存储介质。
背景技术
随着智能影像识别的功能日益完善,对光学字符识别(Optical CharacterRecognition,OCR)功能的需求越来越高。
但是,由于识别请求的数量可能远远大于OCR集群的识别能力,因此,过多的识别请求会在应用服务器造成堵塞,导致应用服务器的处理能力突破上限,进而造成应用服务器卡顿,无法将内存中的识别请求尽快传输给OCR集群进行处理,影响服务器的正常运行。
如何降低服务器拥堵现象成为亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低服务器拥堵问题的图像识别请求处理方法、装置、计算机设备和存储介质。
一种图像识别请求处理方法,所述方法包括:
接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识;
将图像识别请求存储至各终端标识对应的缓存队列中;
当检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中;
当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端。
在其中一个实施例中,将图像识别请求存储至各终端标识对应的缓存队列中,包括:
将接收的各图像识别请求存储至各终端标识对应的临时存储队列中;
判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值;
当判断缓存队列中已有图像识别请求的请求数量小于预设阈值时,则获取终端标识对应的临时存储队列中的图像识别请求,并存储至缓存队列中。
在其中一个实施例中,判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值之后,还包括:
当终端标识对应的缓存队列中已有图像识别请求的数量等于预设阈值时,则停止获取终端标识对应的临时存储队列中的图像识别请求,并停止继续存储至缓存队列中。
在其中一个实施例中,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,包括:
获取各缓存队列中的图像识别请求,并装载至第一数据处理队列中;
当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端,包括:
当接收到第一数据处理队列装载完成的完成指令时,则将第一数据处理队列中的图像识别请求发送至处理终端;
触发第二数据处理队列,并检测是否接收到第二数据处理队列的装载请求。
在其中一个实施例中,接收各用户终端发送的图像识别请求之后,还包括:
判断顺序队列中是否存储有终端标识;
当判断顺序队列中未存储有终端标识时,则将终端标识存储至顺序队列中;
获取各缓存队列中的图像识别请求,并装载至数据处理队列中,包括:
按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,包括:
按照顺序队列中终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,上述方法还包括:
当在预设时长内未检测到数据处理队列装载完成的完成指令时,则继续将数据处理队列中的图像识别请求发送至处理终端。
一种图像识别请求处理装置,所述装置包括:
图像识别请求获取模块,用于接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识;
存储模块,用于将图像识别请求存储至各终端标识对应的缓存队列中;
装载模块,用于当检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中;
第一发送模块,用于当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任一项所述的方法的步骤。
上述图像识别请求处理方法、装置、计算机设备和存储介质,通过接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识,将图像识别请求存储至各终端标识对应的缓存队列中,然后当检测数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中,当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端,以通过处理终端进行识别处理。从而,可以通过缓存队列以及数据处理队列对用户终端发送的图像识别请求进行有序的排序等待,避免了大量的图像识别请求直接发送至处理终端造成处理流程拥堵,解决了服务器的拥堵问题。
附图说明
图1为一个实施例中图像识别请求处理方法的应用场景图;
图2为一个实施例中执行图像识别请求处理方法的系统架构图;
图3为一个实施例中图像识别请求处理方法的流程示意图;
图4为另一个实施例中图像识别请求处理方法的流程示意图;
图5为一个实施例中图像识别请求处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的图像识别请求处理方法,可以应用于如图1所示的应用环境中。其中,用户终端102与处理终端106均通过网络分别与服务器104进行通信。具体地,用户通过用户终端102获取图像识别请求,并发送至服务器104。其中,图像识别请求携带有各用户终端102的终端标识。服务器104接收到各用户终端102发送的图像识别请求后,将图像识别请求存储至各终端标识对应的缓存队列中。然后,当服务器104检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中。进一步,当服务器104接收到数据处理队列装载完成的完成指令时,可以将数据处理队列中的图像识别请求发送至处理终端106,以通过处理终端106对图像识别请求对应的数据进行处理。其中,用户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104以及处理终端106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2示出了一个实施例中执行图像识别请求处理方法的系统架构图,包括服务接口(Application Programming Interface,API)模块、仓库模块、胶囊模块以及多线程调度器模块。
其中,服务API模块用于接收服务请求,并将请求信息放入各用户终端对应的缓存队列中。
仓库模块用于实现对各缓存队列的生成和删除,并作为主线连接胶囊模块和服务API模块。
胶囊模块用于实现保护OCR服务器,使得请求不会全部到达OCR服务器,而是通过胶囊小批量按比例的从仓库模块的各缓存队列中获取请求。具体地,当胶囊A开始通过多线程调度器模块消耗各请求时,再启动胶囊B进行预装载,同理,只有当胶囊B开始通过多线程调度器模块消耗请求时,再启动胶囊A进行预装载,以将各用户终端的请求存储至仓库模块中的各缓存队列中。
同时,在每个胶囊进行装载时,会对存储有图像识别请求的缓存队列中图像识别请求的请求数量进行判断,从而,对于每一用户终端,不管是大批量请求还是时间优先请求,可以根据胶囊分配的比例从各缓存队列中获取图像识别请求并进行胶囊的装载以及通过多线程调度器模块进行消耗时,使得先来者不会因为数据量大而影响后来者的消耗,后来者也可以按比例进行装载与消耗,而不用长时间的等待,更好的实现请求管控。
多线程调度器模块用于将装载至胶囊中的图像识别请求以多线程的方式送到OCR服务器集群,基于OCR服务器集群中各OCR服务器的负载均衡,以最优的方式将图像识别请求分配至OCR服务器集群的不同OCR服务器处理,提升处理效率。
继续参考图2,具体地,用户终端可以包括多个用户终端,例如,用户终端A、用户终端B以及用户终端C等。用户通过用户终端上传的图像识别请求可以按照负载均衡的方式,给到请求仓库中各用户对应的缓存队列中,例如,用户终端A的图像识别请求存储至用户A缓存队列中,用户终端B的图像识别请求存储至用户B缓存队列中,用户终端C的图像识别请求存储至用户C缓存队列中。进一步,当请求仓库中至少一个缓存队列存在图像识别请求时,则服务器可以获取缓存队列中存储的图像识别请求,并装载至胶囊模块的胶囊中,然后并行发送至OCR服务器集群进行识别处理。在本实施例中,OCR服务器可以有多个,例如,OCR服务器1和OCR服务器2。服务器在将胶囊中的图像识别请求并行发送至OCR服务器进行识别的时候,可以根据负载均衡的方式分配图像识别请求至OCR服务器1和OCR服务器2,以使得OCR服务器1和OCR服务器2的资源得到有效的应用。
在一个实施例中,如图3所示,提供了一种图像识别请求处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S302,接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识。
其中,图像识别请求是指请求对图像数据进行OCR图像识别的请求,图像识别请求中携带有对应的终端标识,例如,终端A、终端B或者终端C。
在本实施例中,用户终端也可以是指图像识别请求的发送渠道,如渠道A、渠道B或者渠道C,终端标识也可以是指渠道标识。
在本实施例中,图像识别请求还可以携带有请求进行处理的图像数据,同一图像识别请求中可以包括单张图像的单个图像数据或者多张图像的多个图像数据。图像数据可以包括图像的图像标识、图像信息(如64base编码)等。
在本实施例中,参考图4,服务器可以通过对应用户终端的服务API模块进行请求的接收,并获取到图像识别请求对应的请求ID、图像ID、请求类型、识别类型以及图像base64等数据。
在本实施例中,服务API模块可以包括对应不同用户终端的接口,如参考图2,对应用户终端A的接口,对应用户终端B的接口,以及对应用户终端C的接口等。
具体地,接口可以是http类型的接口,服务器与用户终端之间可以通过http协议进行通信,以使得服务器可以接收各用户终端发送的图像识别请求。
步骤S304,将图像识别请求存储至各终端标识对应的缓存队列中。
其中,缓存队列是指用于存储图像识别请求的队列,缓存队列与各终端标识一一对应,一个用户终端对应一个缓存队列,或者一个用户对应一个缓存队列。
在本实施例中,服务器接收到用户终端发送的图像识别请求后,可以根据图像识别请求中携带的终端标识,将图像识别请求存储至对应的缓存队列中。
在本实施例中,同一用户终端上传的图像识别请求可以有多个,如300个图像识别请求,或者10000个图像识别请求等。服务器可以按照接收的顺序,将接收的图像识别请求存储至对应的缓存队列中。
可选地,继续参考图4,服务器在接收到图像识别请求后,可以将图像识别请求中携带的图像数据解码为图像保存在图像库中,并获取对应的保存地址。然后服务器可以替换掉原图像识别请求中对应的数据,例如,将原图像识别请求中对应图像数据的“data”字段删除,替换为“image”字段,并将解码得到的图像的保存地址存入替换后的图像识别请求中,以得到修改后的图像识别请求。进一步,服务器将修改后的图像识别请求存储至对应的缓存队列中,即将新的请求放入渠道对应的总队列中。从而,使得存储至缓存队列中的图像识别请求可以不包括图像数据,在面对大量图像识别请求时,可以减少对服务器内存的占用,减少因为内存占用所带来的卡顿现象,进而可以提升服务器的处理效率。
在本实施例中,服务器将图像识别请求存储至各终端标识对应的缓存队列中之后,可以激活数据处理队列进行装载,并在激活数据处理队列进行装载处理后,生成请求正在处理中的反馈信息,并反馈至用户终端。例如,参考图4,服务器在将新的图像识别请求放入渠道对应的总队列中之后,可以激活线程A,装载胶囊A,并生成反馈信息反馈用户终端。
步骤S306,当检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中。
其中,数据处理队列是指对图像识别请求进行处理的队列。装载请求是指请求装载图像识别请求的请求。
装载是指将图像识别请求从缓存队列中存储至数据处理队列中的过程。
在本实施例中,服务器在激活数据处理队列后,数据处理队列可以定时对服务器的各缓存队列进行查询,以查询各缓存队列中是否存储有图像识别请求。
进一步,当数据处理队列查询到各缓存队列中至少有一个缓存队列存储有图像识别请求的时候,则可以发送装载请求至服务器,以请求进行图像识别请求的装载。
在本实施例中,服务器在检测到数据处理队列的装载请求时,可以获取缓存队列中的图像识别请求,并装载至装载请求对应的数据处理队列中。
可选地,数据处理队列的装载请求可以携带有查询到存储有图像识别请求的缓存队列对应的队列标识,例如,数据处理队列查询到用户A缓存队列中存储有图像识别请求,则数据处理队列可以将用户A缓存队列对应的队列标识写入装载请求中,并发送至服务器。
进一步,服务器可以根据装载请求中携带的队列标识,从对应的缓存队列中获取图像识别请求,以提升图像识别请求的获取效率。
步骤S308,当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端。
其中,完成指令是指数据处理队列已装载完成的指令,或者数据处理队列已装载满的指令。
在本实施例中,当数据处理队列装载完成或者装载满时,可以生成装载完成的完成指令。服务器在接收到完成指令时,可以启动多线程,将数据处理队列中的图像识别请求通过多线程并发发送至处理终端,以通过处理终端进行相应的处理。
在本实施例中,处理终端可以是指OCR服务器,OCR服务器可以对图像识别请求进行相应的图像识别处理。
在本实施例中,处理终端可以有多个,继续参考图2,可以包括OCR服务器1和OCR服务器2。服务器通过多线程并发发送图像识别请求至处理终端时,可以通过F5负载均衡等方式将数据处理队列中的图像识别请求发送至处理终端,以使得多个处理终端的资源得到有效合理的应用。
在本实施例中,处理终端可以根据服务器发送的图像识别请求,从图像数据库中获取对应的图像,并进行处理。
在本实施例中,服务器将数据处理队列中的图像识别请求发送至处理终端可以通过前文所述的多线程调度器模块执行。
具体地,多线程调度器模块可以包括多线程调度器和统一资源定位符(UniformResource Locator,URL)路由模块。多线程调度器主要针对集群中每一台服务器启动指定数量的线程,并控制线程按照需要进行相应的启动和暂停。具体地,服务器可以通过多线程调度器的执行函数维持线程的启动和暂停。
在本实施例中,多线程调度器的执行函数在现有threading Thread类的基础上,通过wait功能实现线程的启动和暂停。并且,通过修改set和clear实现了关闭线程的功能。通过job类可实现线程的控制,改变了以往子线程启动之后,执行完对应的函数就关闭的情况。并且,服务器也可以控制子线程执函数的频率。
在本实施例中,URL路由模块主要实现不同图像对不同功能调用,例如,当图像识别请求发生时,图像识别请求会被识别模块中的一个线程获取并解析其中的classes属性信息,由于线程是按照每台OCR服务器启动的,所以获取到识别信息的线程会到对应的服务器下面搜索对应的服务功能,并执行对应的服务。
在本实施例中,URL路由模块可以解决不同类型的图像混合调用情况,通过URL路由模块实现在高效调度的同时,不增加线程以及内存,可以使得OCR服务器的调用更加灵活。
上述图像识别请求处理方法中,通过接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识,将图像识别请求存储至各终端标识对应的缓存队列中,然后当检测数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中,当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端,以通过处理终端进行识别处理。从而,可以通过缓存队列以及数据处理队列对用户终端发送的图像识别请求进行有序的排序等待,避免了大量的图像识别请求直接发送至处理终端造成处理流程拥堵,解决了服务器的拥堵问题。
在其中一个实施例中,将图像识别请求存储至各终端标识对应的缓存队列中,可以包括:将接收的各图像识别请求存储至各终端标识对应的临时存储队列中;判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值;当判断缓存队列中已有图像识别请求的请求数量小于预设阈值时,则获取终端标识对应的临时存储队列中的图像识别请求,并存储至缓存队列中。
其中,临时存储队列是指用于临时存储用户终端上传的图像识别请求的队列。临时存储队列与终端标识一一对应,即与用户终端一一对应,一个临时存储队列中对应存储一个用户终端的图像识别请求。
在本实施例中,服务器接收到用户终端上传的图像识别请求后,首先将图像识别请求存储至对应的临时存储队列中。然后,服务器对终端标识对应的缓存队列中图像识别请求的请求数量进行统计,并进行判断,判断缓存队列中已有图像识别请求的请求数量是否小于预设阈值时,即判断缓存队列是否已存满。
进一步,当服务器判断缓存队列中已有图像识别请求的请求数量小于预设阈值时,则从该终端标识对应的临时存储队列中获取图像识别请求,并存储至对应的缓存队列中,即从终端A对应的临时存储队列中获取图像识别请求,并存储至终端A对应的缓存队列中。
在其中一个实施例中,判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值之后,还可以包括:当终端标识对应的缓存队列中已有图像识别请求的数量等于预设阈值时,则停止获取终端标识对应的临时存储队列中的图像识别请求,并停止继续存储至缓存队列中。
具体地,当服务器判断缓存队列中已有图像识别请求的请求数量等于预设阈值时,即服务器确定缓存队列已存满时,则服务器可以停止从终端标识对应的临时存储队列中获取图像识别请求,并停止继续存储至缓存队列中。
上述实施例中,通过将接收到的图像识别请求存储至各终端标识对应的临时存储队列中,并当终端标识对应的缓存队列中已有图像识别请求的请求数量小于预设阈值时,才获取终端标识对应的临时存储队列中的图像识别请求,并存储至缓存队列中,从而,可以防止大批量的请求全部存储至缓存队列中造成缓存队列拥堵卡顿现象的发生,可以提升系统的运行稳定性。
在其中一个实施例中,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:获取各缓存队列中的图像识别请求,并装载至第一数据处理队列中。
在本实施例中,数据处理队列可以有多个,可以包括第一数据处理队列和第二数据处理队列,继续参考图2,即分别对应胶囊A和胶囊B。
如前所述,服务器将新的图像识别请求放入渠道对应的总队列中之后,可以激活装载线程A,装载胶囊A,即服务器可以先将图像识别请求装载至第一数据处理队列中。
在本实施例中,当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端,可以包括:当接收到第一数据处理队列装载完成的完成指令时,则将第一数据处理队列中的图像识别请求发送至处理终端;触发第二数据处理队列,并检测是否接收到第二数据处理队列的装载请求。
在本实施例中,第一数据处理队列与第二数据处理队列的容量可以相等,即胶囊A与胶囊B的容量相等。胶囊A与胶囊B的容量可以通过公式(1)进行计算,具体如下:
其中,L A 表示胶囊A的容量,L B 表示胶囊B的容量,n表示单位时间,m表示OCR服务器集群的数量,v表示OCR服务器集群中每台OCR服务器的处理效率。
在本实施例中,单位时间n是指胶囊从各个用户终端对应的缓存队列中获取图像识别请求的间隔时间。具体地,若对服务器实时性较强,则可以设置单位时间n较小,例如0.01h-0.03h等。
具体地,当服务器接收到第一数据处理队列装载完成的完成指令时,即第一数据处理队列装载完成或者装载满时,则服务器可以激活消耗线程,将第一数据处理队列中的图像识别请求发送至处理终端,以使处理终端进行相应的处理。
在本实施例中,当服务器接收到第一数据处理队列装载完成的完成指令时,服务器还可以触发第二数据处理队列,以使得第二数据处理队列开始进行装载。
具体地,服务器在触发第二数据处理队列,并在检测到第二数据处理队列的装载请求时,获取缓存队列中存储的图像识别请求,并装载至第二数据处理队列中。
以此类推,当服务器将第一数据处理队列的图像识别请求发送至处理终端,并在第二数据处理队列装载完成后,服务器可以触发第一数据处理队列,并使第一数据处理队列开始装载。
具体地,参考图4,服务器在将图像识别请求装载至数据处理队列,即胶囊模块中的胶囊后,服务器首先初始化识别模块中所有的线程,包括初始化控制每台OCR服务器的父线程以及对应的子线程群,然后服务器判断第一数据处理队列(即胶囊A)是否有数据(图像识别请求),并判定识别模块中图像识别队列all_queue是否为空。
在本实施例中,当服务器确定胶囊A存在数据且all_queue为空时,则将胶囊A中的数据放入all_queue中。然后服务器激活线程B,即激活第二数据处理队列,然后第二数据处理队列开始进行装载。
在本实施例中,服务器在激活线程B后,可以从all_queue中获取各图像识别请求,并调用URL路由模块翻译各图像识别请求,并调用服务指定的功能进行识别,即发送至对应的处理终端,以通过对应的处理终端进行处理,如,通过OCR服务器进行处理等。
进一步,服务器可以继续判定all_queue中是否存在数据,即判定all_queue中的图像识别请求是否均处理完,当服务器判定all_queue中的图像识别请求均处理完成时,即all_queue中不存在数据后,判断胶囊B是否有数据(即第二数据处理队列中是否存在图像识别请求)且all_queue是否为空。当服务器确定胶囊B中有数据且all_queue为空时,则将胶囊B中的数据放入all_queue中。然后服务器激活线程A,即激活第一数据处理队列,然后第一数据处理队列继续进行装载。
在本实施例中,当服务器确定胶囊A、胶囊B以及all_queue均为空时,则服务器可以停止所有线程,即停止线程A、线程B以及识别模块中各线程,等待下次识别。
上述实施例中,在接收到第一数据处理队列装载完成的完成指令时,将第一数据处理队列中的图像识别请求发送至处理终端,并触发第二数据处理队列,并检测是否接收到第二数据处理队列的装载请求,从而可以对第一数据处理队列以及第二数据处理队列进行图像识别请求的轮番装载,可以提升数据处理效率。
在其中一个实施例中,接收各用户终端发送的图像识别请求之后,还可以包括:判断顺序队列中是否存储有终端标识;当判断顺序队列中未存储有终端标识时,则将终端标识存储至顺序队列中。
其中,顺序队列是指用于存储用户终端首次发送图像识别请求的先后顺序的队列,顺序队列中存储有用户终端的终端标识。
在本实施例中,当服务器接收到户终端发送的图像识别请求之后,可以根据图像识别请求中携带的终端标识,对顺序队列进行查询,查询顺序队列中是否存在有对应的终端标识。
进一步,当服务器未查询到对应的终端标识时,则可以确定该用户终端首次发送图像识别请求,则服务器可以将该用户终端对应的终端标识存储至顺序队列中。
可选地,当服务器在顺序队列中查询到对应的终端标识时,则可以确定该用户终端并非首次发送图像识别请求,则服务器可以确定不再存储对应的终端标识。
在本实施例中,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中。
具体地,服务器可以根据顺序队列中终端标识的存储顺序,按照终端标识的存储顺序,依次从各终端标识对应的缓存队列中获取图像识别请求,并装载至数据处理队列中。例如,顺序队列中终端标识的存储先后顺序为“终端A、终端B、终端C”,则服务器可以先获取终端A对应的缓存队列中的图像识别请求,然后获取终端B对应的缓存队列中的图像识别请求,最后获取终端C对应的缓存队列中的图像识别请求等。
可选地,当某一用户终端对应的缓存队列中图像识别请求获取完毕后,即用户终端对应的缓存队列中不再存储有图像识别请求时,则服务器可以从顺序队列中删除该用户终端对应的终端标识,并在下次接收到该用户终端的图像识别请求时,再次将终端标识存入顺序队列中,以使得在后续进行装载的时候,按照顺序队列中终端标识的存储顺序,进行图像识别请求的获取。
上述实施例中,通过将各终端标识存储至顺序队列中,并按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,从而可以按照服务器接收到的图像识别请求的先后顺序,对图像识别请求进行装载,并进行处理,使得处理过程按照请求的顺序进行,降低出错的可能性,保障了数据处理的准确性。
在其中一个实施例中,按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:按照顺序队列中终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中。
在本实施例中,当服务器确定有多个用户终端对应的缓存队列中存在图像识别请求时,则服务器可以按照顺序队列中终端标识的存储先后顺序,以及预先设置的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中。
具体地,预先设置的获取比例可以如下表所示。
其中,纵坐标序号1~5代表在顺序队列中不同的用户终端首次发送请求的顺序,如“1”表示顺序队列中第一个发送请求的用户终端,“2” 表示顺序队列中第二个发送请求的用户终端。横坐标代表不同的请求情况,如“1”表示仅只有一个用户终端发送图像识别请求,即仅只有一个用户终端对应的缓存队列中存在图像识别请求,“2”表示有两个用户终端发送图像识别请求,即有两个用户终端对应的缓存队列中存在图像识别请求,以此类推,“6”表示有六个用户终端发送图像识别请求,即有六个用户终端对应的缓存队列中存在图像识别请求。
在本实施例中,当服务器确定仅只有一个用户终端对应的缓存队列中存在图像识别请求时,则以权重1从该缓存队列中获取图像识别请求,并装载至数据处理队列中。当服务器确定存在两个用户终端对应的缓存队列中存在图像识别请求时,则分别以权重0.7和0.3从顺序队列中对应“1”和“2”的用户终端对应的缓存队列中获取图像识别请求,并装载至数据处理队列中。以此类推,当存在图像识别请求的缓存队列超过5个时,则按照1~5的顺序,依次获取权重为0.5、0.2、0.1、0.1、0.05的图像识别请求,并从其他用户终端对应的缓存队列中获取0.05权重的图像识别请求。
上述实施例中,按照顺序队列中终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中,使得请求再后的用户终端的图像识别请求可以得到实时响应,并按比例进行处理,避免了同一用户终端的大量图像识别请求对数据处理队列的长期占用,有效协调了对多个用户终端的图像识别请求的处理。并且,通过按照顺序和权重进行图像识别请求的获取,在新增用户终端的时候,可以按照顺序和权重继续获取图像识别请求,而不用更改配置重新配置对应各用户终端的权重,可扩展性较好,可以提升数据处理效率。
在另一个实施例中,可以预先设置好从各个用户终端对应的缓存队列中获取图像识别请求的权重和取值顺序,从而在检测到对应缓存队列中存在图像识别请求的时候,可以按照预先设置好的权重以及取值顺序获取。
例如,预先设置了终端A的顺序为1,权重为0.5,终端B的顺序为2,权重为0.3,终端C的顺序为3,权重为0.2,则当服务器检测到终端A对应的缓存队列中存在图像识别请求时,则按照0.5的权重从终端A对应的缓存队列中获取图像识别请求,则当服务器检测到终端B对应的缓存队列中存在图像识别请求时,则按照0.3的权重从终端B对应的缓存队列中获取图像识别请求, 则当服务器检测到终端C对应的缓存队列中存在图像识别请求时,则按照0.2的权重从终端C对应的缓存队列中获取图像识别请求。
在本实施例中,当仅只有终端A对应的缓存队列中存在图像识别请求,而终端B和终端C中对应的缓存队列中不存在图像识别请求时,服务器从终端A对应的缓存队列中获取图像识别请求的时候,也仅按照0.5的权重获取,而不会改变预设权重获取图像识别请求。
在本实施例中,当终端A对应的缓存队列中存在图像识别请求,而终端B和终端C中对应的缓存队列中不存在图像识别请求时,服务器按照0.5的权重获取的图像识别请求必然不能装载满数据处理队列,此时,服务器可以通过循环获取机制,继续按照0.5的权重从终端A对应的缓存队列中获取图像识别请求,并继续装载至数据处理队列中,直至数据处理队列装载完成。
上述实施例中,通过设置对应各用户终端的权重,并按照权重从各用户终端对应的缓存队列中获取图像识别请求,从而,使得各用户终端有与其唯一对应的权重参数,可以更好的控制从各个用户终端对应的缓存队列中获取图像识别请求的数量,提升数据获取的可操控性。
继续参考图4,在本实施例中,当服务器激活线程A,装载胶囊A时,首先初始化胶囊A,然后从各个渠道中按比例获取图像识别请求,即从各用户终端对应的缓存队列中获取图像识别请求,并装载至胶囊A中。
进一步,服务器在装载过程中,同时判断装载的图像识别请求是否达到胶囊A的大小,或者判断胶囊A是否装载完成,并在装载完成时,将线程A的执行信息改为false,并激活消耗线程进行消耗。
同理,对于线程B的处理过程同上,此处不再赘述。
在其中一个实施例中,上述方法还可以包括:当在预设时长内未检测到数据处理队列装载完成的完成指令时,则继续将数据处理队列中的图像识别请求发送至处理终端。
其中,预设时长是指预先设置的等待时长。
在本实施例中,服务器从缓存队列中获取图像识别请求,并装载至数据处理队列中的时候,当缓存队列中的图像识别请求不足以装满数据处理队列时,服务器可以等待预设时长。
当在该预设时长内,服务器有接收到图像识别请求,则服务器可以将接收到的图像识别请求存储至终端标识对应的缓存队列中,然后从缓存队列中获取该图像识别请求,并装载至数据处理队列中。
或者,在该预设时长内,服务器有接收到图像识别请求时,可以直接将该图像识别请求装载至数据处理队列中。
进一步,服务器在等待该预设时长后,仍未检测到数据处理队列装载完成的完成指令时,即数据处理队列仍未装满时,则服务器可以确定不再继续等待,并将数据处理队列中的图像识别请求发送至处理终端,以通过处理终端进行相应的处理。
即继续参考图4,当服务器装载胶囊A时,当各个用户终端的图像识别请求不足以装载满胶囊A时,则服务器可以确定等待时长,并判断是否达到等待时长。具体地,若服务器判断达到等待时长,则可以将线程A的执行信息改为false,并激活消耗线程进行消耗,若未达到等待时长时,则继续等待,并在有新的图像识别请求产生时,获取并装载至胶囊A中,直至胶囊A装载完成或者达到等待时长。
上述实施例中,当缓存队列中的图像识别请求不足以装满数据处理队列时,在等待预设时长后,继续将数据处理队列中的图像识别请求发送至处理终端,从而可以避免长期等待数据处理队列装载完成而造成的时间浪费,提升数据处理的效率。
应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种图像识别请求处理装置,包括:图像识别请求获取模块100、存储模块200、装载模块300和第一发送模块400,其中:
图像识别请求获取模块100,用于接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识。
存储模块200,用于将图像识别请求存储至各终端标识对应的缓存队列中。
装载模块300,用于当检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中。
第一发送模块400,用于当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端。
在其中一个实施例中,存储模块200可以包括:
第一存储子模块,用于将接收的各图像识别请求存储至各终端标识对应的临时存储队列中。
判断子模块,用于判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值。
第二存储子模块,用于当判断缓存队列中已有图像识别请求的请求数量小于预设阈值时,则获取终端标识对应的临时存储队列中的图像识别请求,并存储至缓存队列中。
在其中一个实施例中,存储模块200还可以包括:
限流模块,用于当判断子模块判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值之后,并当终端标识对应的缓存队列中已有图像识别请求的数量等于预设阈值时,则停止获取终端标识对应的临时存储队列中的图像识别请求,并停止继续存储至缓存队列中。
在其中一个实施例中,装载模块300用于获取各缓存队列中的图像识别请求,并装载至第一数据处理队列中。
在本实施例中,第一发送模块400可以包括:
发送子模块,用于当接收到第一数据处理队列装载完成的完成指令时,则将第一数据处理队列中的图像识别请求发送至处理终端。
触发子模块,用于触发第二数据处理队列,并检测是否接收到第二数据处理队列的装载请求。
在其中一个实施例中,上述装置还可以包括:
判断模块,用于当图像识别请求获取模块100接收各用户终端发送的图像识别请求之后,判断顺序队列中是否存储有终端标识。
终端标识存储模块,用于当判断顺序队列中未存储有终端标识时,则将终端标识存储至顺序队列中。
在本实施例中,装载模块300用于按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,装载模块300用于按照顺序队列中终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,上述装置还可以包括:
第二发送模块,用于当在预设时长内未检测到数据处理队列装载完成的完成指令时,则继续将数据处理队列中的图像识别请求发送至处理终端。
关于图像识别请求处理装置的具体限定可以参见上文中对于图像识别请求处理方法的限定,在此不再赘述。上述图像识别请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像识别请求数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像识别请求处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识;将图像识别请求存储至各终端标识对应的缓存队列中;当检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中;当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端。
在其中一个实施例中,处理器执行计算机程序时实现将图像识别请求存储至各终端标识对应的缓存队列中,可以包括:将接收的各图像识别请求存储至各终端标识对应的临时存储队列中;判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值;当判断缓存队列中已有图像识别请求的请求数量小于预设阈值时,则获取终端标识对应的临时存储队列中的图像识别请求,并存储至缓存队列中。
在其中一个实施例中,处理器执行计算机程序时实现判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值之后,还可以实现如下步骤:当终端标识对应的缓存队列中已有图像识别请求的数量等于预设阈值时,则停止获取终端标识对应的临时存储队列中的图像识别请求,并停止继续存储至缓存队列中。
在其中一个实施例中,处理器执行计算机程序时实现获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:获取各缓存队列中的图像识别请求,并装载至第一数据处理队列中。处理器执行计算机程序时实现当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端,可以包括:当接收到第一数据处理队列装载完成的完成指令时,则将第一数据处理队列中的图像识别请求发送至处理终端;触发第二数据处理队列,并检测是否接收到第二数据处理队列的装载请求。
在其中一个实施例中,处理器执行计算机程序时实现接收各用户终端发送的图像识别请求之后,还可以实现如下步骤:判断顺序队列中是否存储有终端标识;当判断顺序队列中未存储有终端标识时,则将终端标识存储至顺序队列中。处理器执行计算机程序时实现获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,处理器执行计算机程序时实现按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:按照顺序队列中终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,处理器执行计算机程序时还实现如下步骤:当在预设时长内未检测到数据处理队列装载完成的完成指令时,则继续将数据处理队列中的图像识别请求发送至处理终端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收各用户终端发送的图像识别请求,图像识别请求携带有各用户终端的终端标识;将图像识别请求存储至各终端标识对应的缓存队列中;当检测到数据处理队列的装载请求时,则获取各缓存队列中的图像识别请求,并装载至数据处理队列中;当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端。
在其中一个实施例中,计算机程序被处理器执行时实现将图像识别请求存储至各终端标识对应的缓存队列中,可以包括:将接收的各图像识别请求存储至各终端标识对应的临时存储队列中;判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值;当判断缓存队列中已有图像识别请求的请求数量小于预设阈值时,则获取终端标识对应的临时存储队列中的图像识别请求,并存储至缓存队列中。
在其中一个实施例中,计算机程序被处理器执行时实现判断终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值之后,还可以实现如下步骤:当终端标识对应的缓存队列中已有图像识别请求的数量等于预设阈值时,则停止获取终端标识对应的临时存储队列中的图像识别请求,并停止继续存储至缓存队列中。
在其中一个实施例中,计算机程序被处理器执行时实现获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:获取各缓存队列中的图像识别请求,并装载至第一数据处理队列中。计算机程序被处理器执行时实现当接收到数据处理队列装载完成的完成指令时,将数据处理队列中的图像识别请求发送至处理终端,可以包括:当接收到第一数据处理队列装载完成的完成指令时,则将第一数据处理队列中的图像识别请求发送至处理终端;触发第二数据处理队列,并检测是否接收到第二数据处理队列的装载请求。
在其中一个实施例中,计算机程序被处理器执行时实现接收各用户终端发送的图像识别请求之后,还可以实现如下步骤:判断顺序队列中是否存储有终端标识;当判断顺序队列中未存储有终端标识时,则将终端标识存储至顺序队列中。计算机程序被处理器执行时实现获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,计算机程序被处理器执行时实现按照顺序队列中终端标识的存储先后顺序,获取各缓存队列中的图像识别请求,并装载至数据处理队列中,可以包括:按照顺序队列中终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中。
在其中一个实施例中,计算机程序被处理器执行时还实现如下步骤:当在预设时长内未检测到数据处理队列装载完成的完成指令时,则继续将数据处理队列中的图像识别请求发送至处理终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种图像识别请求处理方法,其特征在于,所述方法包括:
接收各用户终端发送的图像识别请求,所述图像识别请求携带有各所述用户终端的终端标识;
将所述图像识别请求存储至各所述终端标识对应的缓存队列中,包括:将所述图像识别请求中携带的图像数据解码为图像保存至图像库中,并获取对应的保存地址;将图像识别请求中对应图像数据的字段进行替换,并将解码得到的图像的保存地址存入替换后的图像识别请求,得到修改后的图像识别请求;将修改后的图像识别请求存储至各所述终端标识对应的缓存队列中;
当检测到数据处理队列的装载请求时,则获取各所述缓存队列中的图像识别请求,并装载至所述数据处理队列中,包括:按照顺序队列中各终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中,所述顺序队列用于根据各用户终端首次发送图像识别请求的先后顺序存储对应的终端标识;
当接收到所述数据处理队列装载完成的完成指令时,将所述数据处理队列中的所述图像识别请求发送至处理终端。
2.根据权利要求1所述的方法,其特征在于,所述将所述图像识别请求存储至各所述终端标识对应的缓存队列中,包括:
将接收的各所述图像识别请求存储至各所述终端标识对应的临时存储队列中;
判断所述终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值;
当判断所述缓存队列中已有图像识别请求的请求数量小于预设阈值时,则获取所述终端标识对应的所述临时存储队列中的所述图像识别请求,并存储至所述缓存队列中。
3.根据权利要求2所述的方法,其特征在于,所述判断所述终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值之后,还包括:
当所述终端标识对应的缓存队列中已有图像识别请求的数量等于预设阈值时,则停止获取所述终端标识对应的所述临时存储队列中的所述图像识别请求,并停止继续存储至所述缓存队列中。
4.根据权利要求1所述的方法,其特征在于,所述获取各所述缓存队列中的图像识别请求,并装载至数据处理队列中,包括:
获取各所述缓存队列中的图像识别请求,并装载至第一数据处理队列中;
所述当接收到所述数据处理队列装载完成的完成指令时,将所述数据处理队列中的所述图像识别请求发送至处理终端,包括:
当接收到所述第一数据处理队列装载完成的完成指令时,则将所述第一数据处理队列中的所述图像识别请求发送至处理终端;
触发第二数据处理队列,并检测是否接收到所述第二数据处理队列的装载请求。
5.根据权利要求1所述的方法,其特征在于,所述接收各用户终端发送的图像识别请求之后,还包括:
判断顺序队列中是否存储有所述终端标识;
当判断所述顺序队列中未存储有所述终端标识时,则将所述终端标识存储至所述顺序队列中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当在预设时长内未检测到所述数据处理队列装载完成的完成指令时,则继续将所述数据处理队列中的所述图像识别请求发送至处理终端。
7.一种图像识别请求处理装置,其特征在于,所述装置包括:
图像识别请求获取模块,用于接收各用户终端发送的图像识别请求,所述图像识别请求携带有各所述用户终端的终端标识;
存储模块,用于将所述图像识别请求存储至各所述终端标识对应的缓存队列中,包括:将所述图像识别请求中携带的图像数据解码为图像保存至图像库中,并获取对应的保存地址;将图像识别请求中对应图像数据的字段进行替换,并将解码得到的图像的保存地址存入替换后的图像识别请求,得到修改后的图像识别请求;将修改后的图像识别请求存储至各所述终端标识对应的缓存队列中;
装载模块,用于当检测到数据处理队列的装载请求时,则获取各所述缓存队列中的图像识别请求,并装载至所述数据处理队列中,包括:按照顺序队列中各终端标识的存储先后顺序,并按照预设的获取比例,分别从各缓存队列中获取对应比例的图像识别请求,并装载至数据处理队列中,所述顺序队列用于根据各用户终端首次发送图像识别请求的先后顺序存储对应的终端标识;
第一发送模块,用于当接收到所述数据处理队列装载完成的完成指令时,将所述数据处理队列中的所述图像识别请求发送至处理终端。
8.根据权利要求7所述的装置,其特征在于,所述存储模块,包括:
第一存储子模块,用于将接收的各所述图像识别请求存储至各所述终端标识对应的临时存储队列中;
判断子模块,用于判断所述终端标识对应的缓存队列中已有图像识别请求的请求数量是否小于预设阈值;
第二存储子模块,用于当判断所述缓存队列中已有图像识别请求的请求数量小于预设阈值时,则获取所述终端标识对应的所述临时存储队列中的所述图像识别请求,并存储至所述缓存队列中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677830.3A CN111565154B (zh) | 2020-07-15 | 2020-07-15 | 图像识别请求处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677830.3A CN111565154B (zh) | 2020-07-15 | 2020-07-15 | 图像识别请求处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111565154A CN111565154A (zh) | 2020-08-21 |
CN111565154B true CN111565154B (zh) | 2020-11-03 |
Family
ID=72070218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010677830.3A Active CN111565154B (zh) | 2020-07-15 | 2020-07-15 | 图像识别请求处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111565154B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112533004B (zh) * | 2020-11-09 | 2022-12-06 | 卡莱特云科技股份有限公司 | 一种节目信息发布方法、系统、计算机设备及存储介质 |
US11470012B2 (en) | 2021-02-25 | 2022-10-11 | Capital One Services, Llc | System and method for queue management |
CN113298446A (zh) * | 2021-07-23 | 2021-08-24 | 太平财产保险有限公司 | 一种财险业务流程自动化管理控制系统及应用 |
CN116756444A (zh) * | 2023-06-14 | 2023-09-15 | 北京百度网讯科技有限公司 | 图像处理方法、装置、设备以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327428A (zh) * | 2020-02-08 | 2020-06-23 | 朱明华 | 图像信息处理方法、系统及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080049617A1 (en) * | 2006-08-23 | 2008-02-28 | International Business Machines Corporation | System for fine grained flow-control concurrency to prevent excessive packet loss |
CN101102281B (zh) * | 2007-08-16 | 2010-04-07 | 中兴通讯股份有限公司 | 移动通信系统中大量数据上报时的数据处理方法 |
CN108200134B (zh) * | 2017-12-25 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
CN109191233B (zh) * | 2018-07-31 | 2022-09-02 | 上海幻电信息科技有限公司 | 一种秒杀下单请求处理方法、装置和存储介质 |
CN110830472B (zh) * | 2019-11-07 | 2021-09-24 | 西北工业大学 | 基于tcp/ip协议的灵活数据传输协议的灵活数据传输方法 |
-
2020
- 2020-07-15 CN CN202010677830.3A patent/CN111565154B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327428A (zh) * | 2020-02-08 | 2020-06-23 | 朱明华 | 图像信息处理方法、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111565154A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111565154B (zh) | 图像识别请求处理方法、装置、计算机设备和存储介质 | |
JP7197612B2 (ja) | オンデマンドネットワークコード実行システム上での補助機能の実行 | |
US10445140B1 (en) | Serializing duration-limited task executions in an on demand code execution system | |
CN107766101B (zh) | App启动事件的处理方法、装置和设备 | |
WO2005069155A2 (en) | Method and apparatus for task schedulin in a multi-processor system based on memory requirements | |
CN107797848B (zh) | 进程调度方法、装置和主机设备 | |
CN110971591B (zh) | 一种多进程访问可信应用的方法和系统 | |
WO2019096046A1 (zh) | 数据处理系统、方法及令牌管理方法 | |
WO2022179486A1 (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN112256417A (zh) | 一种数据请求处理方法、装置及计算机可读存储介质 | |
US10037225B2 (en) | Method and system for scheduling computing | |
US20230275976A1 (en) | Data processing method and apparatus, and computer-readable storage medium | |
CN112685148A (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
CN115167996A (zh) | 调度方法及装置、芯片、电子设备及存储介质 | |
CN110554912A (zh) | 调度设备执行任务的方法和装置 | |
CN111343252A (zh) | 基于http2协议的高并发数据传输方法及相关设备 | |
CN110990136A (zh) | 一种任务处理方法和任务调度器 | |
Kalkov et al. | Predictable broadcasting of parallel intents in real-time android | |
CN110750365A (zh) | 一种远程过程调用方法、系统、终端及存储介质 | |
CN106547566A (zh) | 通讯服务进程池管理方法及系统 | |
CN110245027B (zh) | 一种进程间通信的方法和设备 | |
CN109005465B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
US9659041B2 (en) | Model for capturing audit trail data with reduced probability of loss of critical data | |
CN114756356A (zh) | 任务处理方法、工作节点设备、主节点设备及存储介质 | |
CN109144639B (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 |