CN110413822B - 离线图像结构化分析方法、装置、系统和存储介质 - Google Patents

离线图像结构化分析方法、装置、系统和存储介质 Download PDF

Info

Publication number
CN110413822B
CN110413822B CN201910532417.5A CN201910532417A CN110413822B CN 110413822 B CN110413822 B CN 110413822B CN 201910532417 A CN201910532417 A CN 201910532417A CN 110413822 B CN110413822 B CN 110413822B
Authority
CN
China
Prior art keywords
service module
offline
subtask
task
analysis
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
CN201910532417.5A
Other languages
English (en)
Other versions
CN110413822A (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.)
Beijing Kuangshi Technology Co Ltd
Original Assignee
Beijing Kuangshi Technology 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 Beijing Kuangshi Technology Co Ltd filed Critical Beijing Kuangshi Technology Co Ltd
Priority to CN201910532417.5A priority Critical patent/CN110413822B/zh
Publication of CN110413822A publication Critical patent/CN110413822A/zh
Application granted granted Critical
Publication of CN110413822B publication Critical patent/CN110413822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

本发明提供一种离线图像结构化分析方法、装置、系统和存储介质。该方法包括:由离线任务服务模块创建对离线图像进行结构化分析的任务;由离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将多个子任务传送至算法服务模块,注册后释放CPU和内存资源;由算法服务模块对多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至输入输出复用器;由输入输出复用器在接收结构化数据后向离线任务服务模块传送结构化数据可读的通知,离线任务服务模块响应于通知从输入输出复用器读取结构化数据。本发明的离线图像结构化分析方案降低了IO阻塞时间,优化了结构化分析任务的性能。

Description

离线图像结构化分析方法、装置、系统和存储介质
技术领域
本发明涉及图像结构化技术领域,更具体地涉及一种离线图像结构化分析方法、装置、系统和存储介质。
背景技术
视频结构化是一种将视频内容中的重要信息进行结构化提取的技术,利用它对视频内容按照语义关系,采用时空分割、特征提取、对象识别、深度学习等处理手段,组织成可供计算机和人理解的文本信息或可视化图形信息。其中,离线图像结构化分析是指对离线的图片、视频进行的结构化分析处理。
现有的离线图像结构化分析方法通常采用同步超文本传输协议(Http)请求将离线任务数据传送至算法服务模块。然而,同步Http请求基于同步输入输出(IO)阻塞模型,从数据报准备到数据报拷贝,全程阻塞;有多少个IO事件,就会有多少线程进行阻塞;并且,随着请求数量的骤增,线程上下文切换的开销会越来越大,整个服务的垃圾收集(GC)时间会越来越长,处理速度愈来愈慢,此外该模型能处理的IO事件数量也非常有限;而且,使用同步Http请求时,从请求发出到数据响应到系统内核,同步IO全程处于阻塞阶段,中央处理单元(CPU)资源会被占用。
发明内容
为了解决上述问题而提出了本发明。根据本发明一方面,提供了一种离线图像结构化分析方法,所述方法包括:由离线任务服务模块创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;由所述离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;由所述算法服务模块对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及由所述输入输出复用器在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。
在本发明的一个实施例中,所述离线任务服务模块在创建任务时生成每个子任务的标识,并根据每个子任务的标识在所述输入输出复用器上针对每个子任务进行注册,并将包括标识的子任务传送至所述算法服务模块。
在本发明的一个实施例中,所述离线任务服务模块在所述输入输出复用器上针对每个子任务进行注册后获得每个子任务的标识,并将包括标识的子任务传送至所述算法服务模块。
在本发明的一个实施例中,所述方法还包括:在获取到所述结构化数据之后,所述离线任务服务模块将所述结构化数据传送至数据分析服务模块;以及由所述数据分析服务模块将所述结构化数据与底库中的数据进行比对得到比对结果,基于所述比对结果进行告警分析,并将所述比对结果进行数据持久化。
在本发明的一个实施例中,所述任务的创建、所述结构化分析、所述比对、所述告警分析以及所述数据持久化中的每一个均作为一个子流程,所述子流程之间的消息经由消息中心进行投递。
在本发明的一个实施例中,所述消息中心包括多个消息中间件,所述子流程之间的消息根据消息吞吐量的大小被路由到所述消息中心中不同的消息中间件。
在本发明的一个实施例中,所述消息中心在传递消息时实施设定次数的失败重试机制、超过设定次数后进入死信队列的机制以及对于进入死信队列的消息进行重新发起的补偿机制。
在本发明的一个实施例中,所述方法还包括:在创建对离线图像进行结构化分析的任务之后,基于Redis原子锁将所述每个子任务进行锁定,直到完成对该子任务的结构化分析。
在本发明的一个实施例中,所述离线任务服务模块和所述数据分析服务模块之间的数据交互采用Redis缓存机制。
根据本发明另一方面,提供了一种离线图像结构化分析装置,所述装置包括离线任务服务模块、输入输出复用器和算法服务模块,其中:所述离线任务服务模块用于创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;所述离线任务服务模块还用于在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;所述算法服务模块用于对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及所述输入输出复用器用于在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,以由所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。
根据本发明又一方面,提供了一种离线图像结构化分析系统,所述系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的离线图像结构化分析方法。
根据本发明再一方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行上述任一项所述的离线图像结构化分析方法。
根据本发明又一方面,提供了一种计算机程序,所述计算机程序被计算机或处理器运行时用于执行上述任一项所述的离线图像结构化分析方法,所述计算机程序还用于实现上述任一项所述的离线图像结构化分析装置中的各模块。
根据本发明实施例的离线图像结构化分析方法、装置和系统采用输入输出(IO)复用器处理IO事件,在很大程度上降低了整个工作进程的IO阻塞时间,使得CPU得以释放出来执行其他任务指令,提高了CPU的利用率,减少了垃圾产生量,有效地减少了GC时间,优化了离线图像结构化分析任务的性能。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出用于实现根据本发明实施例的离线图像结构化分析方法、装置和系统的示例电子设备的示意性框图;
图2示出根据本发明实施例的离线图像结构化分析方法的示意性流程图;
图3示出根据本发明实施例的离线图像结构化分析装置的示意性框图;以及
图4示出根据本发明实施例的离线图像结构化分析系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
首先,参照图1来描述用于实现本发明实施例的离线图像结构化分析方法、装置和系统的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108,这些组件通过总线系统110和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的离线图像结构化分析功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
示例性地,用于实现根据本发明实施例的离线图像结构化分析方法、装置和系统的示例电子设备可以被实现为诸如智能手机、平板电脑等终端,或任何具有计算能力的电子设备。
下面,将参考图2描述根据本发明一个实施例的离线图像结构化分析方法200。如图2所示,离线图像结构化分析方法200可以包括如下步骤:
在步骤S210,由离线任务服务模块创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像。
在本发明的实施例中,离线任务服务模块可以是在进行离线图像(包括离线图片和/或离线视频)结构化分析时使用的微服务。离线任务服务模块可以将离线的图片/视频(例如来自抓拍机的历史抓拍图片和视频录像等)以任务的形式进行封装,并指示任务类型(如人脸识别、车牌识别等),以创建离线图像结构化分析任务。示例性地,离线任务服务模块创建对离线图像进行结构化分析的任务可以包括多个子任务,每个子任务对应于一个离线图像,即对应于该离线图像的结构化分析。
在本发明的实施例中,离线任务服务模块可以基于Http异步客户端(HttpAsyncClient)将创建的离线图像结构化分析任务传送至算法服务模块。也即,离线任务服务模块向算法服务模块传输结构化分析请求时接入HttpAsyncClient。这样,可以基于反应(Reactor)事件响应驱动机制且基于IO多路复用模型(即输入输出复用器)来实现离线任务服务模块与算法服务模块之间的数据交互。该交互过程稍后结合下述步骤进一步描述。
在步骤S220,由所述离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源。
在本发明的实施例中,可以基于HttpAsyncClient实现离线任务服务模块与算法服务模块之间的数据交互。具体地,离线任务服务模块可以在输入输出复用器(即IO复用器)上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源。因此,在本发明的实施例中,不采用同步IO阻塞模型,而是采用IO多路复用模型来传送结构化请求,在很大程度上降低了整个工作进程的IO阻塞时间,使得CPU得以释放出来执行其他任务指令,提高了CPU的利用率,减少了垃圾产生量,有效的减少了GC时间。
在步骤S230,由所述算法服务模块对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器。
在本发明的实施例中,每个子任务的标识(ID)可以在离线任务服务模块创建任务时生成,也可以在离线任务服务模块在输入输出复用器上针对每个子任务注册时生成。基于此,在一个示例中,离线任务服务模块在步骤S210中在创建任务时生成每个子任务的标识,并在步骤S220中根据每个子任务的标识在所述输入输出复用器上针对每个子任务进行注册,并将包括标识的子任务传送至所述算法服务模块。在另一个示例中,离线任务服务模块在步骤S220中在输入输出复用器上针对每个子任务进行注册后获得每个子任务的标识,并将包括标识的子任务传送至所述算法服务模块。
算法服务模块在完成任一子任务的结构化分析之后,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器,以由离线任务服务模块获取到该子任务的结构化分析结果,如下面将描述的。
在步骤S240,由所述输入输出复用器在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。
在本发明的实施例中,输入输出复用器响应于从算法服务模块接收到结构化分析结果(即结构化数据),向离线任务服务模块传送可读通知,离线任务服务模块在接收在可读通知后,可从输入输出复用器读取结构化数据。至此,实现离线图像的结构化分析流程。
基于上面的描述,根据本发明实施例的离线图像结构化分析方法采用IO复用器处理IO事件,在很大程度上降低了整个工作进程的IO阻塞时间,使得CPU得以释放出来执行其他任务指令,提高了CPU的利用率,减少了垃圾产生量,有效地减少了GC时间,优化了离线图像结构化分析任务的性能。
在本发明进一步的实施例中,可以将HttpAsyncClient中负责请求的线程池和/或负责回调的连接池的大小进行调整,以使得满足传送离线图像结构化分析任务和/或返回结构化数据的场景需求,提升单位时间内请求的发送数目以及回调处理能力。具体地,可以将HttpAsyncClient中负责请求的线程池和负责回调的连接池的大小均初始化为高于默认值。例如,HttpAsyncClient中负责请求的线程池中默认有2个线程,可将其调整为与核心线程数一样的数目。再如,HttpAsyncClient中负责回调的连接池大小默认为20,这样http数据处理很容易超时,可将其调整为1000。总之,可以通过优化线程池和连接池配置参数,进一步提升离线图像结构化分析任务中传送请求和回调数据的工作能力。
此外,在本发明的进一步的实施例中,方法200还可以包括如下步骤:在获取到所述结构化数据之后,所述离线任务服务模块将所述结构化数据传送至数据分析服务模块;以及由所述数据分析服务模块将所述结构化数据与底库中的数据进行比对得到比对结果,基于所述比对结果进行告警分析,并将所述比对结果进行数据持久化。
在本发明的实施例中,数据分析服务模块可以是在进行离线图片、视频进行结构化分析时使用的微服务。数据分析服务模块可以将离线任务服务模块传送过来的结构化数据与底库中的数据进行比对得到比对结果(例如离线图像中的人脸/车牌数据是否与黑名单中的数据匹配等),并基于比对结果进行告警分析(例如如果比对结果是离线图像中的人脸/车牌数据与黑名单中的数据匹配,则发出告警,反之则不告警),以及将告警数据持久化到数据库等操作,从而实现对离线图像结构化分析结果的有效应用。
进一步地,在本发明的实施例中,可以将上述步骤中涉及的所述任务的创建、所述结构化分析、所述比对、所述告警分析以及所述数据持久化中的每一个均作为一个子流程,也即,将方法200的整个流程拆解为上述五个子流程,并搭建一个消息中心,使得上述五个子流程之间的消息经由该消息中心进行投递。
示例性地,该消息中心可以包括多个消息中间件(例如rabbit mq、kafka、rocketmq等),可以根据消息吞吐量的大小来将消息路由到相应的消息中间件。具体地,可以在mysql维护一张消息路由配置表(默认启用rabbit mq),同步缓存到Redis;消息发送之前,可以经由消息中心封装的应用程序编程(API)接口从缓存获取当前的路由配置信息,然后调用相应的消息中间件API将消息路由到所配置的消息中间件。其中,路由配置表可以根据离线图片/视频消息吞吐量相应地更新,从而实现更优的资源适配。例如,可以在每天零点定时启动任务,获取前一天的消息吞吐量,根据图片/视频消息吞吐量相应地更新路由配置表。或者,也可以每三天进行一次更新,因为现场正常运转的情况下,每天的业务消息数量基本相对稳定,根据三天的消息吞吐量基本可以推测后几天的业务量。当然,这仅是示例性的,还可以以任何其他合适的周期实施路由配置表的更新。更新的原则可以基于消息中心所包括的消息中间件,例如,rabbit mq、kafka、rocket mq这三类消息中间件按照消息吞吐量从小到大来排序是:Rabbit mq<Rocket mq<Kafka。示例性地,当消息吞吐量小于等于第一阈值时,可以采用消息中间件Rabbit mq;当消息吞吐量大于所述第一阈值且小于等于第二阈值时,可以采用消息中间件Rocket mq;当消息吞吐量大于所述第二阈值时,可以采用消息中间件kafka,其中所述第一阈值小于所述第二阈值。
在该实施例中,通过搭建消息中心使得离线图像结构化分析流程的上述各子流程实现解耦,可以降低业务复杂度。任意流程完结,则开始进行下一流程,失败的话其上游流程不会重新运行,节省了算法资源,减轻了服务器压力。进一步地,该消息中心在传递消息时可以实施设定次数的失败重试机制、超过设定次数后进入死信队列的机制以及对于进入死信队列的消息进行重新发起的补偿机制,这可以避免消息队列堵塞,同时针对异常状态任务进行补偿机制使其能够稍后完成。
进一步地,在本发明的实施例中,方法200还可以包括(未在图2中示出):在创建对离线图像结构化分析的任务之后,基于Redis原子锁将每个子任务进行锁定,直到完成对该子任务的结构化分析。示例性地,可以采用Redis原子锁锁住与每个子任务关联的资源文件映射的任务ID,以任务ID建立排它锁,保证对一个子任务ID的业务处理只有一个线程在执行,直到结构化分析结束之后,再释放该原子锁。在该实施例中,使用Redis原子锁将每个子任务进行锁定,可以确保并发操作情况下,临界资源只能被单一线程调度使用,避免资源操作冲突引发的不可控情况产生。
进一步地,在本发明的实施例中,方法200中采用的离线任务服务模块和数据分析服务模块之间的数据交互采用Redis缓存机制。具体地,在离线任务服务模块和数据分析服务模块之间进行数据交互时,可以先从缓存中获取,如果有数据则直接返回,如果没有数据则从数据库(DB)层获取数据后返回,然后再同步到缓存中。此外,涉及增加、删除、修改数据时,可以首先对DB层数据进行操作,成功之后失效关联的查询接口的数据缓存。示例性地,使用Redis缓存机制的情形可以包括:服务之间的接口数据交互时,离线任务的统计时,消息路由配置的读取时等。在该实施例中,通过采用Redis缓存机制可以提高离线任务服务模块和数据分析服务模块之间的交互响应时间,提升了微服务接口数据传输速率,同时绑定失效策略,在优化了数据交互时效性的前提下又保障了数据的强一致性。
进一步地,在本发明的实施例中,出于实际需求,方法200中提到的服务模块(微服务)的数量可能为多个。例如,包括多个离线任务服务模块和/或多个数据分析服务模块来实施上述方法200。在一个示例中,基于离线任务的多少,可能需要添加新的服务模块,在该情况下,可以通过Eureka注册机制,将新的服务加入到集群环境当中,增加了集群的处理能力。在另一个示例中,当前的服务模块可能下线或发生宕机,在该情况下,可以通过Eureka从集群中移除不可用的服务,从而确保用户请求不会被路由到不可用服务,导致请求失败的情况发生。在该实施例中,可以通过Eureka实现微服务的发现与注册,确保服务的高可用性。
基于上面的描述,根据本发明实施例的离线图像结构化分析方法基于Http异步客户端来传送离线任务数据,在很大程度上降低了整个工作进程的IO阻塞时间,提高了CPU的利用率,显著提升了离线图像结构化分析能力。此外,根据本发明实施例的离线图像结构化分析方法通过建立消息中心,拆解冗长的分析流程,可以降低业务复杂度。进一步地,根据本发明实施例的离线图像结构化分析方法使用Redis原子锁解决了临界资源并发竞争的问题。另外,根据本发明实施例的离线图像结构化分析方法采用的服务模块之间的接口数据交互统一使用Redis,提升了微服务接口数据传输效率。最后,根据本发明实施例的离线图像结构化分析方法通过Eureka实现微服务的发现与注册,确保服务的高可用性。
以上示例性地描述了根据本发明实施例的离线图像结构化分析方法。示例性地,根据本发明实施例的离线图像结构化分析方法可以在具有存储器和处理器的设备、装置或者系统中实现。
此外,根据本发明实施例的离线图像结构化分析方法可以方便地部署到智能手机、平板电脑、个人计算机等移动设备上。替代地,根据本发明实施例的离线图像结构化分析方法还可以部署在服务器端(或云端)。替代地,根据本发明实施例的离线图像结构化分析方法还可以分布地部署在服务器端(或云端)和个人终端处。
下面结合图3描述本发明另一方面提供的离线图像结构化分析装置。图3示出了根据本发明实施例的离线图像结构化分析装置300的示意性框图。
如图3所示,根据本发明实施例的离线图像结构化分析装置300包括离线任务服务模块310、输入输出复用器320和算法服务模块330。其中:所述离线任务服务模块310用于创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像。所述离线任务服务模块310还用于在输入输出复用器320上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块330,注册后释放所述离线任务服务模块310所占用的CPU和内存资源。所述算法服务模块330用于对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器320。所述输入输出复用器320用于在接收结构化数据后向所述离线任务服务模块310传送结构化数据可读的通知,以由所述离线任务服务模块310响应于所述通知从所述输入输出复用器320读取结构化数据。所述各个模块可分别执行上文中结合图2描述的离线图像结构化分析方法的各个步骤/功能。以下仅对离线图像结构化分析装置300的各模块的主要功能进行描述,而省略以上已经描述过的细节内容。
在本发明的实施例中,离线任务服务模块310可以是在进行离线图像(包括离线图片和/或离线视频)结构化分析时使用的微服务。离线任务服务模块310可以将离线的图片/视频(例如来自抓拍机的历史抓拍图片和视频录像等)以任务的形式进行封装,并指示任务类型(如人脸识别、车牌识别等),以创建离线图像结构化分析任务。示例性地,离线任务服务模块310创建对离线图像进行结构化分析的任务可以包括多个子任务,每个子任务对应于一个离线图像,即对应于该离线图像的结构化分析。
在本发明的实施例中,离线任务服务模块310可以基于Http异步客户端(HttpAsyncClient)将创建的离线图像结构化分析任务传送至算法服务模块。也即,离线任务服务模块310向算法服务模块330传输结构化分析请求时接入HttpAsyncClient。这样,可以基于反应(Reactor)事件响应驱动机制且基于IO多路复用模型来实现离线任务服务模块310与算法服务模块330之间的数据交互。
具体地,离线任务服务模块310可以在输入输出复用器(即IO复用器)上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源。因此,在本发明的实施例中,不采用同步IO阻塞模型,而是采用IO多路复用模型来传送结构化请求,在很大程度上降低了整个工作进程的IO阻塞时间,使得CPU得以释放出来执行其他任务指令,提高了CPU的利用率,减少了垃圾产生量,有效的减少了GC时间。
在本发明的实施例中,每个子任务的标识(ID)可以在离线任务服务模块310创建任务时生成,也可以在离线任务服务模块310在输入输出复用器320上针对每个子任务注册时生成。基于此,在一个示例中,离线任务服务模块310在创建任务时生成每个子任务的标识,并根据每个子任务的标识在所述输入输出复用器320上针对每个子任务进行注册,并将包括标识的子任务传送至所述算法服务模块330。在另一个示例中,离线任务服务模块310在输入输出复用器320上针对每个子任务进行注册后获得每个子任务的标识,并将包括标识的子任务传送至所述算法服务模块330。
算法服务模块330在完成任一子任务的结构化分析之后,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器320。输入输出复用器320响应于从算法服务模块330接收到结构化分析结果(即结构化数据),向离线任务服务模块310传送可读通知,离线任务服务模块310在接收在可读通知后,可从输入输出复用器320读取结构化数据。至此,实现离线图像的结构化分析。
基于上面的描述,根据本发明实施例的离线图像结构化分析装置采用IO复用器处理IO事件,在很大程度上降低了整个工作进程的IO阻塞时间,使得CPU得以释放出来执行其他任务指令,提高了CPU的利用率,减少了垃圾产生量,有效地减少了GC时间,优化了离线图像结构化分析任务的性能。
进一步地,在本发明的实施例中,可以将HttpAsyncClient中负责请求的线程池和/或负责回调的连接池的大小进行调整,以使得满足传送离线图像结构化分析任务和/或返回结构化数据的场景需求,提升单位时间内请求的发送数目以及回调处理能力。具体地,可以将HttpAsyncClient中负责请求的线程池和负责回调的连接池的大小均初始化为高于默认值。例如,HttpAsyncClient中负责请求的线程池中默认有2个线程,可将其调整为与核心线程数一样的数目。再如,HttpAsyncClient中负责回调的连接池大小默认为20,这样http数据处理很容易超时,可将其调整为1000。总之,可以通过优化线程池和连接池配置参数,进一步提升离线图像结构化分析任务中传送请求和回调数据的工作能力。
此外,在本发明的进一步的实施例中,装置300还可以包括数据分析服务模块(未在图3中示出),数据分析服务模块可以是在进行离线图片、视频进行结构化分析时使用的微服务。离线任务服务模块310在获取到结构化数据之后,可以将所述结构化数据传送至数据分析服务模块,数据分析服务模块可以将所述结构化数据与底库中的数据进行比对得到比对结果,基于所述比对结果进行告警分析,并将所述比对结果进行数据持久化。
在该实施例中,数据分析服务模块可以将离线任务服务模块310传送过来的结构化数据与底库中的数据进行比对得到比对结果(例如离线图像中的人脸/车牌数据是否与黑名单中的数据匹配等),并基于比对结果进行告警分析(例如如果比对结果是离线图像中的人脸/车牌数据与黑名单中的数据匹配,则发出告警,反之则不告警),以及将告警数据持久化到数据库等操作,从而实现对离线图像结构化分析结果的有效应用。
进一步地,在本发明的实施例中,装置300所包括的上述模块所分别实施的所述任务的创建、所述结构化分析、所述比对、所述告警分析以及所述数据持久化中的每一个均可以视为一个子流程,所述子流程之间的消息经由可以消息中心(未在图3中示出)进行投递。
示例性地,该消息中心可以包括多个消息中间件(例如rabbit mq、kafka、rocketmq等),可以根据消息吞吐量的大小来将消息路由到相应的消息中间件。具体地,可以在mysql维护一张消息路由配置表(默认启用rabbit mq),同步缓存到Redis;消息发送之前,可以经由消息中心封装的应用程序编程(API)接口从缓存获取当前的路由配置信息,然后调用相应的消息中间件API将消息路由到所配置的消息中间件。其中,路由配置表可以根据离线图片/视频消息吞吐量相应地更新,从而实现更优的资源适配。例如,可以在每天零点定时启动任务,获取前一天的消息吞吐量,根据图片/视频消息吞吐量相应地更新路由配置表。或者,也可以每三天进行一次更新,因为现场正常运转的情况下,每天的业务消息数量基本相对稳定,根据三天的消息吞吐量基本可以推测后几天的业务量。当然,这仅是示例性的,还可以以任何其他合适的周期实施路由配置表的更新。更新的原则可以基于消息中心所包括的消息中间件,例如,rabbit mq、kafka、rocket mq这三类消息中间件按照消息吞吐量从小到大来排序是:Rabbit mq<Rocket mq<Kafka。
在该实施例中,通过搭建消息中心使得离线图像结构化分析流程的上述各子流程实现解耦,可以降低业务复杂度。任意流程完结,则开始进行下一流程,失败的话其上游流程不会重新运行,节省了算法资源,减轻了服务器压力。进一步地,该消息中心在传递消息时可以实施设定次数的失败重试机制、超过设定次数后进入死信队列的机制以及对于进入死信队列的消息进行重新发起的补偿机制,这可以避免消息队列堵塞,同时针对异常状态任务进行补偿机制使其能够稍后完成。
进一步地,在本发明的实施例中,在创建对离线图像结构化分析的任务之后,还可以基于Redis原子锁将每个子任务进行锁定,直到完成对该子任务的结构化分析。示例性地,可以采用Redis原子锁锁住与每个子任务关联的资源文件映射的任务ID,以任务ID建立排它锁,保证对一个子任务ID的业务处理只有一个线程在执行,直到结构化分析结束之后,再释放该原子锁。在该实施例中,使用Redis原子锁将所创建的每个子任务进行锁定,可以确保并发操作情况下,临界资源只能被单一线程调度使用,避免资源操作冲突引发的不可控情况产生。
进一步地,在本发明的实施例中,离线任务服务模块310和数据分析服务模块之间的数据交互采用Redis缓存机制。具体地,在离线任务服务模块310和数据分析服务模块之间进行数据交互时,可以先从缓存中获取,如果有数据则直接返回,如果没有数据则从数据库(DB)层获取数据后返回,然后再同步到缓存中。此外,涉及增加、删除、修改数据时,可以首先对DB层数据进行操作,成功之后失效关联的查询接口的数据缓存。示例性地,使用Redis缓存机制的情形可以包括:服务之间的接口数据交互时,离线任务的统计时,消息路由配置的读取时等。在该实施例中,通过采用Redis缓存机制可以提高离线任务服务模块310和数据分析服务模块之间的交互响应时间,提升了微服务接口数据传输速率,同时绑定失效策略,在优化了数据交互时效性的前提下又保障了数据的强一致性。
进一步地,在本发明的实施例中,出于实际需求,装置300中提到的服务模块(微服务)的数量可能为多个。例如,装置300可以包括多个离线任务服务模块310和/或多个数据分析服务模块。在一个示例中,基于离线任务的多少,可能需要添加新的服务模块,在该情况下,可以通过Eureka注册机制,将新的服务加入到集群环境当中,增加了集群的处理能力。在另一个示例中,当前的服务模块可能下线或发生宕机,在该情况下,可以通过Eureka从集群中移除不可用的服务,从而确保用户请求不会被路由到不可用服务,导致请求失败的情况发生。在该实施例中,可以通过Eureka实现微服务的发现与注册,确保服务的高可用性。
基于上面的描述,根据本发明实施例的离线图像结构化分析装置基于Http异步客户端来传送离线任务数据,在很大程度上降低了整个工作进程的IO阻塞时间,提高了CPU的利用率,显著提升了离线图像结构化分析能力。此外,根据本发明实施例的离线图像结构化分析装置通过建立消息中心,拆解冗长的分析流程,可以降低业务复杂度。进一步地,根据本发明实施例的离线图像结构化分析装置使用Redis原子锁解决了临界资源并发竞争的问题。另外,根据本发明实施例的离线图像结构化分析装置采用的服务模块之间的接口数据交互统一使用Redis,提升了微服务接口数据传输效率。最后,根据本发明实施例的离线图像结构化分析装置通过Eureka实现微服务的发现与注册,确保服务的高可用性。
图4示出了根据本发明实施例的离线图像结构化分析系统400的示意性框图。离线图像结构化分析系统400包括存储装置410以及处理器420。
其中,存储装置410存储用于实现根据本发明实施例的离线图像结构化分析方法中的相应步骤的程序。处理器420用于运行存储装置410中存储的程序,以执行根据本发明实施例的离线图像结构化分析方法的相应步骤,并且用于实现根据本发明实施例的离线图像结构化分析装置中的相应模块。
在一个实施例中,在所述程序被处理器420运行时使得离线图像结构化分析系统400执行以下步骤:由离线任务服务模块创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;由所述离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;由所述算法服务模块对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及由所述输入输出复用器在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。
在本发明的一个实施例中,所述离线任务服务模块在创建任务时生成每个子任务的标识,并根据每个子任务的标识在所述输入输出复用器上针对每个子任务进行注册,并将包括标识的子任务传送至所述算法服务模块。
在本发明的一个实施例中,所述离线任务服务模块在所述输入输出复用器上针对每个子任务进行注册后获得每个子任务的标识,并将包括标识的子任务传送至所述算法服务模块。
在本发明的一个实施例中,在所述程序被处理器420运行时还使得离线图像结构化分析系统400执行以下步骤:在获取到所述结构化数据之后,所述离线任务服务模块将所述结构化数据传送至数据分析服务模块;以及由所述数据分析服务模块将所述结构化数据与底库中的数据进行比对得到比对结果,基于所述比对结果进行告警分析,并将所述比对结果进行数据持久化。
在本发明的一个实施例中,所述任务的创建、所述结构化分析、所述比对、所述告警分析以及所述数据持久化中的每一个均作为一个子流程,所述子流程之间的消息经由消息中心进行投递。
在本发明的一个实施例中,所述消息中心包括多个消息中间件,所述子流程之间的消息根据消息吞吐量的大小被路由到所述消息中心中不同的消息中间件。
在本发明的一个实施例中,所述消息中心在传递消息时实施设定次数的失败重试机制、超过设定次数后进入死信队列的机制以及对于进入死信队列的消息进行重新发起的补偿机制。
在本发明的一个实施例中,在所述程序被处理器420运行时还使得离线图像结构化分析系统400执行以下步骤:在创建对离线图像进行结构化分析的任务之后,基于Redis原子锁将所述每个子任务进行锁定,直到完成对该子任务的结构化分析。
在本发明的一个实施例中,所述离线任务服务模块和所述数据分析服务模块之间的数据交互采用Redis缓存机制。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的离线图像结构化分析方法的相应步骤,并且用于实现根据本发明实施例的离线图像结构化分析装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的离线图像结构化分析装置的各个功能模块,并且/或者可以执行根据本发明实施例的离线图像结构化分析方法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行以下步骤:由离线任务服务模块创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;由所述离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;由所述算法服务模块对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及由所述输入输出复用器在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。
在本发明的一个实施例中,所述离线任务服务模块在创建任务时生成每个子任务的标识,并根据每个子任务的标识在所述输入输出复用器上针对每个子任务进行注册,并将包括标识的子任务传送至所述算法服务模块。
在本发明的一个实施例中,所述离线任务服务模块在所述输入输出复用器上针对每个子任务进行注册后获得每个子任务的标识,并将包括标识的子任务传送至所述算法服务模块。
在本发明的一个实施例中,所述计算机程序指令在被计算机或处理器运行时还使计算机或处理器执行以下步骤:在获取到所述结构化数据之后,所述离线任务服务模块将所述结构化数据传送至数据分析服务模块;以及由所述数据分析服务模块将所述结构化数据与底库中的数据进行比对得到比对结果,基于所述比对结果进行告警分析,并将所述比对结果进行数据持久化。
在本发明的一个实施例中,所述任务的创建、所述结构化分析、所述比对、所述告警分析以及所述数据持久化中的每一个均作为一个子流程,所述子流程之间的消息经由消息中心进行投递。
在本发明的一个实施例中,所述消息中心包括多个消息中间件,所述子流程之间的消息根据消息吞吐量的大小被路由到所述消息中心中不同的消息中间件。
在本发明的一个实施例中,所述消息中心在传递消息时实施设定次数的失败重试机制、超过设定次数后进入死信队列的机制以及对于进入死信队列的消息进行重新发起的补偿机制。
在本发明的一个实施例中,所述计算机程序指令在被计算机或处理器运行时还使计算机或处理器执行以下步骤:在创建对离线图像进行结构化分析的任务之后,基于Redis原子锁将所述每个子任务进行锁定,直到完成对该子任务的结构化分析。
在本发明的一个实施例中,所述离线任务服务模块和所述数据分析服务模块之间的数据交互采用Redis缓存机制。
根据本发明实施例的离线图像结构化分析装置中的各模块可以通过根据本发明实施例的离线图像结构化分析的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
此外,根据本发明实施例,还提供了一种计算机程序,该计算机程序可以存储在云端或本地的存储介质上。在该计算机程序被计算机或处理器运行时用于执行本发明实施例的离线图像结构化分析方法的相应步骤,并且用于实现根据本发明实施例的离线图像结构化分析装置中的相应模块。
基于上面的描述,根据本发明实施例的离线图像结构化分析方法、装置和系统IO复用器处理IO事件,在很大程度上降低了整个工作进程的IO阻塞时间,使得CPU得以释放出来执行其他任务指令,提高了CPU的利用率,减少了垃圾产生量,有效地减少了GC时间,优化了离线图像结构化分析任务的性能。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种离线图像结构化分析方法,其特征在于,所述方法包括:
由离线任务服务模块创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;
由所述离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;
由所述算法服务模块对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及
由所述输入输出复用器在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。
2.根据权利要求1所述的方法,其特征在于,所述离线任务服务模块在创建任务时生成每个子任务的标识,并根据每个子任务的标识在所述输入输出复用器上针对每个子任务进行注册,并将包括标识的子任务传送至所述算法服务模块。
3.根据权利要求1所述的方法,其特征在于,所述离线任务服务模块在所述输入输出复用器上针对每个子任务进行注册后获得每个子任务的标识,并将包括标识的子任务传送至所述算法服务模块。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获取到所述结构化数据之后,所述离线任务服务模块将所述结构化数据传送至数据分析服务模块;以及
由所述数据分析服务模块将所述结构化数据与底库中的数据进行比对得到比对结果,基于所述比对结果进行告警分析,并将所述比对结果进行数据持久化。
5.根据权利要求4所述的方法,其特征在于,所述任务的创建、所述结构化分析、所述比对、所述告警分析以及所述数据持久化中的每一个均作为一个子流程,所述子流程之间的消息经由消息中心进行投递。
6.根据权利要求5所述的方法,其特征在于,所述消息中心包括多个消息中间件,所述子流程之间的消息根据消息吞吐量的大小被路由到所述消息中心中不同的消息中间件。
7.根据权利要求5所述的方法,其特征在于,所述消息中心在传递消息时实施设定次数的失败重试机制、超过设定次数后进入死信队列的机制以及对于进入死信队列的消息进行重新发起的补偿机制。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在创建对离线图像进行结构化分析的任务之后,基于Redis原子锁将所述每个子任务进行锁定,直到完成对该子任务的结构化分析。
9.根据权利要求4所述的方法,其特征在于,所述离线任务服务模块和所述数据分析服务模块之间的数据交互采用Redis缓存机制。
10.一种离线图像结构化分析装置,其特征在于,所述装置包括离线任务服务模块、输入输出复用器和算法服务模块,其中:
所述离线任务服务模块用于创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;
所述离线任务服务模块还用于在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;
所述算法服务模块用于对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及
所述输入输出复用器用于在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,以由所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。
11.一种离线图像结构化分析系统,其特征在于,所述系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1-9中的任一项所述的离线图像结构化分析方法。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行如权利要求1-9中的任一项所述的离线图像结构化分析方法。
CN201910532417.5A 2019-06-19 2019-06-19 离线图像结构化分析方法、装置、系统和存储介质 Active CN110413822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910532417.5A CN110413822B (zh) 2019-06-19 2019-06-19 离线图像结构化分析方法、装置、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910532417.5A CN110413822B (zh) 2019-06-19 2019-06-19 离线图像结构化分析方法、装置、系统和存储介质

Publications (2)

Publication Number Publication Date
CN110413822A CN110413822A (zh) 2019-11-05
CN110413822B true CN110413822B (zh) 2021-11-19

Family

ID=68359307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910532417.5A Active CN110413822B (zh) 2019-06-19 2019-06-19 离线图像结构化分析方法、装置、系统和存储介质

Country Status (1)

Country Link
CN (1) CN110413822B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581932A (zh) * 2020-03-16 2020-08-25 北京掌行通信息技术有限公司 一种数据驱动的大数据分析方法、系统、装置、存储介质及终端
CN112463419B (zh) * 2021-01-26 2021-05-07 北京轻松筹信息技术有限公司 基于中间件的主备节点工作方法及装置、电子设备
CN113641482B (zh) * 2021-08-31 2024-03-22 联通(广东)产业互联网有限公司 Ai算法离线调度方法、系统、计算机设备及存储介质
CN114500255B (zh) * 2022-03-01 2024-03-15 北京百度网讯科技有限公司 一种日志数据上报方法、装置、设备及存储介质
CN115222567B (zh) * 2022-09-20 2023-04-25 北京润尼尔网络科技有限公司 一种vr资源和设备管理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004194222A (ja) * 2002-12-13 2004-07-08 Canon Inc 情報処理装置、情報処理方法、番組放送システム、記憶媒体、及びプログラム
CN101257588A (zh) * 2008-03-20 2008-09-03 凌阳科技股份有限公司 用于处理电视分割画面的影像处理系统与方法
CN101411627A (zh) * 2007-10-16 2009-04-22 深圳迈瑞生物医疗电子股份有限公司 帧复合及帧相关处理的方法及其复用装置
CN101448152A (zh) * 2007-11-28 2009-06-03 深圳华为通信技术有限公司 多路视频处理方法及系统、终端和媒体服务器
CN106303527A (zh) * 2016-08-16 2017-01-04 广东中星电子有限公司 时分复用神经网络处理器的视频分级码流编码方法和架构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4520788B2 (ja) * 2004-07-29 2010-08-11 富士通株式会社 マルチスレッドプロセッサ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004194222A (ja) * 2002-12-13 2004-07-08 Canon Inc 情報処理装置、情報処理方法、番組放送システム、記憶媒体、及びプログラム
CN101411627A (zh) * 2007-10-16 2009-04-22 深圳迈瑞生物医疗电子股份有限公司 帧复合及帧相关处理的方法及其复用装置
CN101448152A (zh) * 2007-11-28 2009-06-03 深圳华为通信技术有限公司 多路视频处理方法及系统、终端和媒体服务器
CN101257588A (zh) * 2008-03-20 2008-09-03 凌阳科技股份有限公司 用于处理电视分割画面的影像处理系统与方法
CN106303527A (zh) * 2016-08-16 2017-01-04 广东中星电子有限公司 时分复用神经网络处理器的视频分级码流编码方法和架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CPU/GPU 异构环境下图像协同并行处理模型;杨洪余;《集成技术》;20170930;第6卷(第5期);第8-18页 *

Also Published As

Publication number Publication date
CN110413822A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110413822B (zh) 离线图像结构化分析方法、装置、系统和存储介质
CN107729139B (zh) 一种并发获取资源的方法和装置
US10498625B1 (en) Distributed testing service
US7788675B2 (en) System for integrating java servlets with asynchronous message
US10521393B2 (en) Remote direct memory access (RDMA) high performance producer-consumer message processing
CN107463434B (zh) 一种分布式任务处理方法与设备
WO2016206600A1 (zh) 一种信息流数据的处理方法和装置
CN108023908B (zh) 数据更新方法、装置及系统
US9231995B2 (en) System and method for providing asynchrony in web services
CN112667414A (zh) 基于消息队列的消息消费方法、装置、计算机设备及介质
US9596127B2 (en) Scalable data feed system
CN111679911B (zh) 云环境中gpu卡的管理方法、装置、设备及介质
CN112835632B (zh) 一种端能力的调用方法、设备和计算机存储介质
CN111200606A (zh) 深度学习模型任务处理方法、系统、服务器及存储介质
CN106803841B (zh) 消息队列数据的读取方法、装置及分布式数据存储系统
WO2022257247A1 (zh) 数据处理方法、装置及计算机可读存储介质
CN111290842A (zh) 一种任务执行方法和装置
CN113965628A (zh) 消息调度方法、服务器和存储介质
CN116185669B (zh) 一种广播分发方法及相关设备
CN116828035A (zh) 一种基于云计算的数据集成系统
CN110120963B (zh) 一种数据处理方法、装置、设备和机器可读介质
CN115904745A (zh) 进程间通信方法及相关设备
Lillethun et al. MB++: An integrated architecture for pervasive computing and high-performance computing
CN114371935A (zh) 网关处理方法、网关、设备及介质
CN106484536B (zh) 一种io调度方法、装置和设备

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