一种基于容器化微服务的智能分析服务系统、方法及介质
文献发布时间:2023-06-19 10:38:35
技术领域
本发明涉及一种基于容器化微服务的智能分析服务系统、方法及介质,属于数据分析处理技术领域。
背景技术
目前,随着机器学习和深度学习等人工智能技术的快速发展,视觉、语音、自然语言等领域不断涌现出各种智能化技术研究成果,尤其在GPU、TPU等专用型并行计算设备的不断更新换代下,各种智能化应用逐渐在实际生活场景中落地。智能分析技术已经趋于成熟,但是对于依赖GPU这种特定计算设备的智能分析服务的统一开发、部署和管理,还处于单体式框架和微服务框架并存的阶段。
智能分析服务属于计算密集型任务,现有的基于单体式框架的多智能分析服务的开发,由于其计算量大,采用一体化打包进行部署,因此其存在复杂度较高、开发速度较慢、代码部署周期长、难以扩展、系统启动慢、系统错误隔离性差、可伸缩性差和线上问题修复时间长等缺点。
发明内容
针对上述问题,本发明的目的是提供了一种基于容器化微服务的智能分析服务系统、方法及介质,其通过开发多种不同应用类型的智能分析服务,同时结合微服务和容器化,实现各种智能分析服务的统一开发、部署和管理,从而构成一个面向多行业的智能分析服务系统。
为实现上述目的,本发明采取以下技术方案:一种基于容器化微服务的智能分析服务系统,包括:服务注册中心、智能服务网关、智能分析服务模块、服务配置中心和数据库;服务注册中心,用于对智能分析服务提供的服务进行注册,并向服务消费方提供服务列表;智能服务网关,用于接收服务调用者输入的调用请求,并根据调用请求内容调用服务列表中对应服务;智能分析服务模块,用于以集群形式部署经过服务注册中心注册的服务,其根据服务类型对服务分类,并将相同类别的服务部署到同一容器中;服务配置中心,用于存储容器和服务的配置信息;数据库,用于存储智能服务存储模块中服务需要处理的数据源信息。
进一步,服务注册中心通过与已注册节点通讯,判断节点是否健康,剔除不健康节点;并在服务消费方订阅的服务发生变更时通知服务消费方,已注册节点包括服务提供方和服务消费方的节点。
进一步,智能服务网关通过Zuul实现,接收到服务调用者输入的调用请求并通过身份认证以后向数据库发送数据源查询请求,获取数据源信息,同时通过服务注册中心获取服务列表,然后将调用请求和数据源信息转发给相应的智能分析服务,服务响应调用请求并进行处理。
进一步,服务注册中心包括两个Eureka子模块,各个Eureka子模块之间互相注册,并将服务清单互相备份,一个Eureka子模块掉线之后不影响整个系统的运行。
进一步,智能分析服务模块通过docker实现,并且由Kubernetes进行容器的销毁、创建、监控、认证授权以及具体业务请求的负载均衡。
进一步,服务配置中心的服务的配置信息包括服务运行依赖的环境变量、模型参数、权重等信息。
本发明还公开了一种基于容器化微服务的智能分析服务方法,通过上述任一项的基于容器化微服务的智能分析服务系统,包括以下步骤:S1智能分析服务通过服务注册中心对其提供的服务进行注册,并从服务配置中心拉取对应配置,将相应的服务部署至智能分析服务模块;S2来自外部的服务调用者发送调用请求到智能服务网关,智能服务网关一方面通过数据库获取数据源信息,另一方面通过服务注册中心获取服务列表,然后将调用请求和数据源信息一并发送至选定的智能分析服务;S3智能分析服务根据数据源信息获取需要处理的数据,并进行智能化处理,最后将处理得到的结果反馈至智能服务网关,再返回给服务调用者。
本发明由于采取以上技术方案,其具有以下优点:1、本发明通过开发多种不同应用类型的智能分析服务,同时结合微服务和容器化,实现各种智能分析服务的统一开发、部署和管理,从而构成一个面向多行业的智能分析服务系统。2、其在服务注册中心、服务配置中心和网关组件的构架下,通过容器化编排部署框架,引入GPU设备插件,实现各个智能分析服务单一职责、异构化运行和GPU计算,构成面向多行业的智能分析服务系统,支撑行业智能化应用业务。
附图说明
图1是本发明一实施例中基于容器化微服务的智能分析服务系统的结构示意图;
图2是本发明一实施例中基于容器化微服务的智能分析服务方法的流程图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
本发明针对依赖于GPU的计算密集型智能分析服务,构建了一种智能分析服务系统,其将微服务构架与容器化结合,提供智能化服务统一部署、集群化管理、对外统一服务的解决方案,可以实现智能化服务的快速开发、部署,满足行业多种智能化应用需求。本发明的具体方案如下:
实施例一
本实施例公开了一种基于容器化微服务的智能分析服务系统,如图1所示,包括:服务注册中心、智能服务网关、智能分析服务模块、服务配置中心和数据库。
服务注册中心,用于对智能分析服务的提供的服务进行注册,并向服务消费方提供服务列表;服务注册中心通过与已注册节点通讯,判断节点是否健康,剔除不健康节点;并在服务消费方订阅的服务发生变更时(发布新版本、扩缩容、服务器宕机)通知服务消费方,已注册节点包括服务提供方和服务消费方的节点;服务注册中心包括两个Eureka子模块,各个Eureka子模块之间互相注册,并将服务清单互相备份,一个Eureka子模块掉线之后不影响整个系统的运行。
智能服务网关,用于接收服务调用者输入的调用请求,并根据调用请求内容调用服务列表中对应服务;智能服务网关通过Zuul实现,接收到服务调用者输入的调用请求(包括业务类型、设备编号、数据源的地址、身份认证等信息)以后,一方面通过数据库获取数据源信息,另一方面通过服务注册中心选定相应智能分析服务,然后将调用请求和数据源信息一并发送至选定的服务,服务响应调用请求并进行处理。调用请求包括业务类型、设备编号、数据源的地址和身份认证信息。智能服务网关可以提供包括服务路由(将调用请求路由定位并负载均衡到具体的后端微服务实例)、安全管理(登录,签名,黑名单等)、弹性(限流和容错)、微服务监控(微服务的TPS、响应时间,失败数量等准确的信息)、日志记录等功能。
智能分析服务模块,用于以集群形式部署经过服务注册中心注册的服务,其根据服务类型对服务分类,并将相同类别的服务存储到同一容器中;智能服务存储模块通过docker实现,并且由Kubernetes进行容器的销毁、创建、监控、认证授权以及具体业务请求的负载均衡。
服务配置中心,用于存储容器和服务的配置信息,能够支撑智能分析服务的运行和动态更新;该配置信息包括服务运行依赖的环境变量、模型参数和权重等。智能分析服务产生的应用、业务和缓存等也统一放到服务配置中心,提供集中化的外部配置支持。
数据库,用于存储智能分析模块中服务所需的数据源信息。
实施例二
基于相同的发明构思,本实施例公开了一种基于容器化微服务的智能分析服务方法,通过上述任一项的基于容器化微服务的智能分析服务系统,如图2所示,包括以下步骤:
S1智能分析服务通过服务注册中心对其提供的服务进行注册;智能分析服务通过拉取服务配置中心相应配置信息,在智能分析服务模块中部署运行;
S2服务调用者通过智能服务网关发送调用请求;智能服务网关通过服务注册中心获取服务列表,同时访问数据库获取需要处理的数据源信息;
S3智能服务网关根据服务列表选定相关服务,在智能分析服务模块中调用服务,智能分析服务根据数据源信息获取需要处理的数据,并进行智能化处理即发送请求至相应的智能分析服务进行处理;智能分析服务由服务消费方和服务提供方共同完成智能分析的功能。比如智能人脸识别服务,将人脸识别服务作为服务消费方,将人脸检测和人脸特征提取两个服务作为服务提供方,人脸识别依赖于人脸检测和人脸特征提取两个服务。
S4服务提供者处理完成后将结果反馈至服务消费方,并返回到服务网关,最终返回给调用者。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
- 一种基于容器化微服务的智能分析服务系统、方法及介质
- 一种基于容器技术的微服务系统平滑上线的方法