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

一种基于事件驱动的智能服务弹性部署系统

文献发布时间:2024-04-18 20:01:23


一种基于事件驱动的智能服务弹性部署系统

技术领域

本发明涉及计算机通信传输协议及软件框架领域,具体来说,涉及一种基于事件驱动的智能服务弹性部署系统。

背景技术

当下时代,基于深度学习的人工智能技术被广泛地应用于各行各业地生产实践中,包括制造业、工业、社会安防等。由于人工智能技术是以数据作为生产资料、算力作为生产力的新型技术,区别于传统的计算机信息化系统,所以跨平台、可扩展、通用等需求一直是智能服务(AI Service)落地的强大阻碍。人工智能服务部署方案可以通过两个角度进行分类,第一是以基于部署的硬件环境进行分类,例如,TensorFlow官方、Pytorch官方等都提出各自的推理服务接口和模型文件格式,这些推理方案通常基于的是HTTP协议,除此之外,深度学习框架也为模型制定了各自的模型格式标准,例如TensorFlow采用pb格式文件、Pytorch采用pt或pth格式文件,Keras提供了h5格式文件,由于不同的模型文件格式互补兼容,加剧了模型部署的难度和牺牲了模型部署的灵活性。

ONNX(Open Neural Network Exchange)是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型,它使得不同的人工智能框架(如Pytorch、MXNet)可以采用相同格式存储模型数据并交互。目前官方支持加载ONNX模型并进行推理的深度学习框架有:Caffe2、PyTorch、MXNet、ML.NET、TensorRT及Microsoft CNTK,并且TensorFlow也非官方的支持ONNX,ONNX在一定程度上解决了模型格式不统一的问题,缓解了模型部署的压力,然而,不断有新的算子提出,ONNX的更新远远不能够满足最新的模型表达和存储。

目前,现有的模型部署通常采用的方式是通过Python编程语言根据深度学习框架提供的接口编写智能应用服务接口,但是由于智能模型的推理和运行强烈依赖硬件环境,只有适合对应的硬件环境才能够实现较高效的性能。然而,智能服务部署的过程中极容易发生硬件环境的变化,比如操作系统的变化、CPU架构的变化、计算芯片架构发生变化,导致智能服务部署失败或以极低效率的方式进行运行,最终导致服务不可用,此外,在系统运行地过程中需要不断加入新的智能应用服务,由于应用端和服务提供端是不同人员或机构开发的,因此无法对现有的系统服务进行扩展,必须对当前系统版本进行大范围的升级,在升级的过程中需要停止现有的服务,无法做到热部署。

除此之外,以上现有的各种模型部署技术都非常青睐于硬件环境,即都是为了适配各种不同硬件算力而研发的技术,不仅没有面向工业落地服务进行优化,导致在实际部署中遇到非常难以解决的问题,且问题通常需要重复解决,极大地浪费研发精力,滞后工业智能服务落地。

针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

针对相关技术中的问题,本发明提出一种基于事件驱动的智能服务弹性部署系统,以克服现有相关技术所存在的上述技术问题。

为此,本发明采用的具体技术方案如下:

一种基于事件驱动的智能服务弹性部署系统,该智能服务弹性部署系统包括:图像采集模块、智能服务消费者模块、智能服务协议传输模块及智能服务提供者模块;

所述图像采集模块,用于图像及视频的采集,并将采集的图像及视频传输至智能服务消费者模块;

所述智能服务消费者模块,用于利用智能服务统一接口及编程语言进行业务研发;

所述智能服务协议传输模块,用于利用E-AI-SEP协议在服务系统之间进行整合部署及扩展,并根据系统场景进行定制化分发;

所述智能服务提供者模块,用于对模型进行推理并开放智能服务统一接口。

进一步的,所述智能服务提供者模块包括模型推理模块及智能服务统一接口模块;

所述模型推理模块,用于对深度学习框架训练得到的模型进行推理;

所述智能服务统一接口模块,用于利用策略模式对模型推理进行封装并对模型推理步骤进行调整及热插拔;

其中,所述智能服务统一接口包括分类信息接口、目标检测接口、图像分割接口、人体姿态估计接口及物体追踪接口。

进一步的,所述对深度学习框架训练得到的模型进行推理包括以下步骤:

预置深度学习框架,并利用深度学习框架提供常用智能服务;

获取扩展接口,并通过扩展接口进行进一步定制化。

进一步的,所述深度学习框架包括ONNX框架、OpenVINO框架及TensorRT框架;

其中,所述ONNX框架表示跨平台的模型推理框架;

所述OpenVINO框架表示CPU加速工具库;

所述TensorRT框架表示适应图形图像处理单元的模型推理工具。

进一步的,所述常用智能服务包括图像分类、目标检测、图像分割、多目标追踪、文本分类及语音识别服务。

进一步的,所述利用E-AI-SEP协议在服务系统之间进行整合部署及扩展,并根据系统场景进行定制化分发包括以下步骤:

服务端设置协议交换类型;

按照协议交换类型指定开放多个接口,并启动服务端;

客户端采用不同的编程接口接入算法服务;

客户端在接入算法服务后,进行算法请求与响应。

进一步的,所述E-AI-SEP协议支持数据格式为JSON、二进制流及RTSP/RTMP视频流数据格式。

进一步的,所述协议交换类型包括JSON交换类型、ALGO交换类型、UNIX交换类型及REST交换类型;

其中,JSON交换类型表示服务端及客户端之间通过JSON数据格式进行发送请求和响应请求;

ALGO交换类型表示服务端及客户端之间通过系统指定的抽象格式;

UNIX交换类型表示在同一主机之间进行数据二进制流的高速数据交换;

REST交换类型表示用HTTP/HTTPS协议,并使用POST请求和GET请求进行算法服务请求。

进一步的,所述按照协议交换类型指定开放多个接口,并启动服务端包括以下步骤:

按照协议交换类型针对不同的应用平台开放多个接口;

在接口开放完成后,启动服务端。

进一步的,所述客户端在接入算法服务后,进行算法请求与响应包括以下步骤:

客户端根据与服务端约定的编程接口进行算法请求发送;

对发送的消息抽象及接收的消息抽象进行封装;

获取算法的结果格式,并根据结果格式对客户端的下游业务进行服务。

本发明的有益效果为:

1、本发明能够详细的制定相关协议和标准,完成智能服务在不同平台上地集群部署,该部署方式具备可扩展性、弹性及高效等优点。

2、本发明通过面相服务应用的角度构建了一个新的智能服务系统,制定了通信协议和算法抽象模型,并且能够通过智能服务系统便于进行系统服务部署,并进行渐进式的扩展。

3、本发明能够对各种不同的模型推理引擎进行底层抽象,用户开发无需进行关注特定计算引擎的细节,只需要关注模型的输入和输出以及业务处理逻辑。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的一种基于事件驱动的智能服务弹性部署系统的原理框图;

图2是根据本发明实施例的一种基于事件驱动的智能服务弹性部署系统的框架图。

图中:

1、图像采集模块;2、智能服务消费者模块;3、智能服务协议传输模块;4、智能服务提供者模块。

具体实施方式

为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。

根据本发明的实施例,提供了一种基于事件驱动的智能服务弹性部署系统。

现结合附图和具体实施方式对本发明进一步说明,如图1所示,根据本发明实施例的基于事件驱动的智能服务弹性部署系统,该智能服务弹性部署系统包括:图像采集模块1、智能服务消费者模块2、智能服务协议传输模块3及智能服务提供者模块4;

所述图像采集模块1,用于图像及视频的采集,并将采集的图像及视频传输至智能服务消费者模块2;

所述智能服务消费者模块2,用于利用智能服务统一接口及编程语言进行业务研发;

具体的,所述智能服务消费者模块2是整个智能系统的业务逻辑层,智能服务消费者模块2主要通过智能服务统一接口进行面向业务研发。因为目前主流的编程语言都提供了网络通信统一应用层接口,所以服务消费者可以使用不同的编程语言进行业务开发,编程语言包括但不限于Python、Java、C/C++、Javascript、Go。

所述智能服务协议传输模块3,用于利用E-AI-SEP协议在服务系统之间进行整合部署及扩展,并根据系统场景进行定制化分发;

其中,所述E-AI-SEP协议支持数据格式为JSON、二进制流及RTSP/RTMP视频流数据格式;

具体的,该E-AI-SEP协议协议不受限于当下的某个数据传输协议,比如HTTP及Socket等,可根据当前系统的场景进行定制化分发。例如当各个服务处于同一台计算机内部中时,可以采用unix协议进行内存访问,但是此时无需修改任何代码便可实现高效的数据交换方式;

例如,当网络服务之间支持TCP/UDP协议传输,可通过配置进行切换,并指定IP地址和端口号,具体分发方式支持数据传输协议,包括HTTP、UDP、Socket;支持中间件,包括消息队列(RabbitMQ、RocketMQ、Kafaka等)、缓存数据库Redis、数据流推送及日志处理中间件ELK。

其中,所述利用E-AI-SEP协议在服务系统之间进行整合部署及扩展,并根据系统场景进行定制化分发包括以下步骤:

服务端设置协议交换类型;

其中,所述协议交换类型包括JSON交换类型、ALGO交换类型、UNIX交换类型及REST交换类型;

其中,JSON交换类型表示服务端及客户端之间通过JSON数据格式进行发送请求和响应请求;

ALGO交换类型表示服务端及客户端之间通过系统指定的抽象格式;

UNIX交换类型表示在同一主机之间进行数据二进制流的高速数据交换;

REST交换类型表示用HTTP/HTTPS协议,并使用POST请求和GET请求进行算法服务请求,该方式非常适合集成到网站应用端,但不适合实时算法服务;

按照协议交换类型指定开放多个接口,并启动服务端;

其中,所述按照协议交换类型指定开放多个接口,并启动服务端包括以下步骤:

按照协议交换类型针对不同的应用平台开放多个接口;

在接口开放完成后,启动服务端;

具体的,当服务端进行算法开发完成后,可指定开放一定的接口,例如对于一个行人检测算法,可以根据算法的精度类型分为高精度行人检测、中等精度行人检测和低精度行人检测三类算法,按照不同的交换协议可以对于同一个行人检测算法针对各种应用平台开发多个接口,在接口设置开放后,启动服务。

客户端采用不同的编程接口接入算法服务;

具体的,客户端包括网站应用、监控系统服务及手机移动端等,这些客户端都拥有各自特定的研发方式,例如对于网站应用端可能采用的是Java和JavaScript进行研发,Android移动端采用Java或Kotln编程语言进行研发,监控系统可能采用FFmpeg和其他系统集成的方式进行部署实现实时监控,这些不同的客户端可以采用各自成熟的编程语言和技术框架,可以采用合适的编程接口接入算法服务。

客户端在接入算法服务后,进行算法请求与响应;

其中,所述客户端在接入算法服务后,进行算法请求与响应包括以下步骤:

客户端根据与服务端约定的编程接口进行算法请求发送;

对发送的消息抽象及接收的消息抽象进行封装;

获取算法的结果格式,并根据结果格式对客户端的下游业务进行服务;

具体的,客户端在接入算法服务后,启动完毕后可以开始进行算法请求,客户端根据和服务端约定的接口进行算法请求发送,发送的消息抽象和接收的消息抽象都进行了封装,客户端仅需要了解算法的结果格式和实际意义即可,例如对于目标检测算法,客户端仅需要了解目标检测的结果是一系列的矩形框和每个矩形框的类别即可,并根据这些结果格式对客户端的下游业务进行服务,例如,展示目标检测结果,检测画面中是否有人等。

所述智能服务提供者模块4,用于对模型进行推理并开放智能服务统一接口;

其中,所述智能服务提供者模块4包括模型推理模块及智能服务统一接口模块;

所述模型推理模块,用于对深度学习框架训练得到的模型进行推理;

具体的,深度学习框架包括TensorFlow,Keras,PyTorch,Caffe及MXNet等,这些深度学习框架都是用Python编程语言作为接口,C++编程语言作为底层支持的开源工具库。

深度学习第三方库是针对于PyTorch深度学习框架的二次开发深度学习工具库。

其中,所述用于对深度学习框架训练得到的模型进行推理包括以下步骤:

预置深度学习框架,并利用深度学习框架提供常用智能服务;

其中,所述深度学习框架包括ONNX框架、OpenVINO框架及TensorRT框架;

其中,所述ONNX框架表示跨平台的模型推理框架;

所述OpenVINO框架表示CPU加速工具库;

所述TensorRT框架表示适应图形图像处理单元的模型推理工具;

获取扩展接口,并通过扩展接口进行进一步定制化。

其中,所述常用智能服务包括图像分类、目标检测、图像分割、多目标追踪、文本分类及语音识别服务;

如图2所示,具体的,模型推理是和硬件直接交互的时间段,因此在该部分中主要关注模型推理的效率,而不对模型推理的接口进行统一化处理。在模型推理部分抽象定义出两个阶段,分别为“初始化(Initialize Model)”和“推理(Inference)”,通过预置TensorFlow1.x、TensorFlow2.x、Pytorch、PaddlePaddle、OpenMMLab、Keras、ONNX及TensorRT等深度学习框架实现该过程,并且提供了扩展接口,可通过该接口进行进一步定制化,这些不同的框架中,框架提供了图像分类、目标检测、图像分割、多目标追踪、文本分类及语音识别等多个常用智能服务。

所述智能服务统一接口模块,用于利用策略模式对模型推理进行封装并对模型推理步骤进行调整及热插拔;

其中,所述智能服务统一接口包括分类信息接口、目标检测接口、图像分割接口、人体姿态估计接口及物体追踪接口;

具体的,智能服务统一接口通过策略模式对底层模型推理进行封装,能够灵活的对模型推理步骤进行调整及热插拔,并且实现了常用的智能服务接口,包括分类信息接口、目标检测接口、图像分割接口、人体姿态估计接口及物体追踪接口,用户可通过这些接口直接面向业务开发,无需关心不同的开源算法之间的差异。

本发明已在地铁车厢中进行实施,具体步骤如下:

步骤一、在地铁车厢内安装多个角度的摄像头对地铁车厢内的情况进行监控,摄像头采集的图像以rtsp协议进行推送至中心服务器的应用服务系统进行处理;

步骤二、应用服务对摄像头采集的图像进行相关存储压缩的处理后,将数据以E-AI-SEP协议发送至部署在智能服务端的智能服务系统;此处应用的是单张图片服务模式(Single Image Process Mode,SIPM),将图像的路径信息、采集设备信息及时间信息以JSON的格式通过TCP协议进行发送;

步骤三、智能服务系统对接收到的智能服务请求进行分析,将此单张图片获取并推理,在得到推理结果后将此模型的中间结果以JSON的格式回传给应用服务系统,智能服务系统无需存储任何信息;

步骤四、应用服务系统接收到智能服务系统发送的返回,不对其进行任何处理,只进行临时存储;

步骤五、重复步骤二、步骤三及步骤四一定轮次后,应用服务系统会对智能以多图片处理模式(Multiple Image Process Mode,MIPM)发送分析服务请求,将之前临时存储的所有中间结果进行打包发送给智能服务系统;

步骤六、智能分析服务系统将最终的分析结果,例如是否发生不文明行为发送给应用服务系统,完成一次智能分析任务。

综上所述,借助于本发明的上述技术方案,本发明能够详细的制定相关协议和标准,完成智能服务在不同平台上地集群部署,该部署方式具备可扩展性、弹性和高效等优点;本发明通过面相服务应用的角度构建了一个新的智能服务系统,制定了通信协议和算法抽象模型,并且能够通过智能服务系统便于进行系统服务部署,并进行渐进式的扩展;本发明能够对各种不同的模型推理引擎进行底层抽象,用户开发无需进行关注特定计算引擎的细节,只需要关注模型的输入和输出以及业务处理逻辑。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种无源储能式无线测温装置及其安装方法
  • 一种测温装置及用该测温装置的开关柜
  • 一种波纹管伸缩节水压试验用封堵装置及封堵装置的安装方法
  • 一种管芯参数测试方法、适配装置及该装置的安装方法
  • 一种供水连接装置的安装方法及其装置
  • 一种缸盖测温装置及安装方法
  • 一种缸盖测温用铠装热电偶总成及其制作和安装方法
技术分类

06120116550679