离线图像结构化分析方法、装置、系统和存储介质制造方法及图纸

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

Offline image structural analysis methods, devices, systems and storage media

【技术实现步骤摘要】
离线图像结构化分析方法、装置、系统和存储介质
本专利技术涉及图像结构化
,更具体地涉及一种离线图像结构化分析方法、装置、系统和存储介质。
技术介绍
视频结构化是一种将视频内容中的重要信息进行结构化提取的技术,利用它对视频内容按照语义关系,采用时空分割、特征提取、对象识别、深度学习等处理手段,组织成可供计算机和人理解的文本信息或可视化图形信息。其中,离线图像结构化分析是指对离线的图片、视频进行的结构化分析处理。现有的离线图像结构化分析方法通常采用同步超文本传输协议(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可以本文档来自技高网...

【技术保护点】
1.一种离线图像结构化分析方法,其特征在于,所述方法包括:由离线任务服务模块创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;由所述离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;由所述算法服务模块对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及由所述输入输出复用器在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。

【技术特征摘要】
1.一种离线图像结构化分析方法,其特征在于,所述方法包括:由离线任务服务模块创建对离线图像进行结构化分析的任务,所述任务包括多个子任务,每个子任务对应于一个离线图像;由所述离线任务服务模块在输入输出复用器上针对每个子任务进行注册,并将所述多个子任务传送至算法服务模块,注册后释放所述离线任务服务模块所占用的CPU和内存资源;由所述算法服务模块对所述多个子任务进行结构化分析,每完成一个子任务的结构化分析,则将携带该子任务的标识的、该子任务的结构化数据传送至所述输入输出复用器;以及由所述输入输出复用器在接收结构化数据后向所述离线任务服务模块传送结构化数据可读的通知,所述离线任务服务模块响应于所述通知从所述输入输出复用器读取结构化数据。2.根据权利要求1所述的方法,其特征在于,所述离线任务服务模块在创建任务时生成每个子任务的标识,并根据每个子任务的标识在所述输入输出复用器上针对每个子任务进行注册,并将包括标识的子任务传送至所述算法服务模块。3.根据权利要求1所述的方法,其特征在于,所述离线任务服务模块在所述输入输出复用器上针对每个子任务进行注册后获得每个子任务的标识,并将包括标识的子任务传送至所述算法服务模块。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在获取到所述结构化数据之后,所述离线任务服务模块将所述结构化数据传送至数据分析服务模块;以及由所述数据分析服务模块将所述结构化数据与底库中的数据进行比对得到比对结果,基于所述比对结果进行告警分析,并将所述比对结果进行数据持久化。5.根据权利要求1所述的方法,其特征在于,所述任务的创建、所述结构化分析、所述比对、所述告警分析以及所述数据持久化中的每一个均作为一个子流程,所述子流程之间的消息经由消息中心进行投递。6.根据权利要求5所述的方法,其特征在于,所述消息中心包括多个消息中间件,所述子流程之间的消息根据消息吞吐量...

【专利技术属性】
技术研发人员:杨龙飞宋扬付英波
申请(专利权)人:北京旷视科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1