【技术领域】
本申请涉及数据采集技术领域,尤其涉及一种实时微服务架构。
背景技术:
在当前的数据采集和设备控制领域,面临着众多的工控、数控、机器人及专用工艺设备的协议,目前不存在一种通用共性的协议转换服务,以满足不同集成商的基本协议转换需求。商业模式通常为,厂家根据集成项目的需求进行定制性开发,结合软硬件进行针对性的协议转换功能开发,此种方式往往仅能支持少数几种协议,当新的集成项目启动时,可能又需要结合具体的软硬件开发相应的协议转换功能,软件的复用性不高。因此,急需一种开放性好、可继承性强、管理方便的架构,能满足不同集成商的基本协议的转换需求。
技术实现要素:
为解决现有技术不存在一种通用共性的协议转换服务,以满足不同集成商的基本协议转换需求的问题,本申请提供一种实时微服务架构。
本申请为解决其技术问题所采用的技术方案:
实时微服务架构,包括前端服务模块、后台服务模块以及部署服务模块,所述前端服务模块用于接收采集卡采集发送的设备端口原始数据,并通过api网关向后台服务模块发送原始数据和与原始数据对应的设备端口的协议解析服务请求,所述后台服务模块根据接收的协议解析服务请求解析api网关转发的原始数据,将其生成转换为软件可识别的数据,并将该数据发送至所述部署服务模块以供部署应用。
如上所述的实时微服务架构,所述前端服务模块包括开放平台接口模块和数据缓存模块,所述开放平台接口模块用于接收所述原始数据并发送至所述数据缓存模块进行缓存,同时开放平台接口模块根据所述原始数据向所述api网关发送解析请求,所述api网关提取所述数据缓存模块存储的数据并向其提供匹配的应用程序编程接口,实现原始数据的转发。
如上所述的实时微服务架构,所述后台服务模块包括数据注册模块和数据转换模块,所述api网关按协议通讯类型转发数据至所述数据注册模块并向其发送所述协议解析服务请求,所述数据注册模块根据接收的协议解析服务请求对数据所对应的的设备端口进行注册并将数据发送至数据转换模块,所述数据转换模块接收该数据并将其转换为软件可识别数据。
如上所述的实时微服务架构,所述后台服务模块还包括数据存储模块,所述数据存储模块与所述数据转换模块连接用于将转换后的数据存储在对应协议服务指定的数据库中。
如上所述的实时微服务架构,所述部署服务模块包括与所述数据存储模块连接的应用部署模块,所述应用部署模块利用数据存储模块存储的转换后的数据按需将数据对应的协议服务应用部署到指定的环境中。
如上所述的实时微服务架构,所述后台服务模块与所述api网关之间通过http/rest/rpc通信传输数据。
与现有技术相比,本申请的实时微服务架构的有益效果在于,本申请提供一种通用的实时微服务框架及服务封装方式,将每一个协议转换功能封装成为实时微服务,并提供通用共性的协议转换服务,这样在满足不同集成商的基本协议转换需求的基础上,还可以支撑供应商进行协议转换服务的开发,进一步满足其独有的协议转换需求。
【附图说明】
图1是本申请的实时微服务架构的模块框图。
【具体实施方式】
下面将结合附图及具体实施例对本申请作进一步说明。
请参看附图1,一种实时微服务架构,包括前端服务模块、后台服务模块以及部署服务模块,所述前端服务模块用于接收采集卡采集发送的设备端口原始数据,并通过api网关向后台服务模块发送原始数据和与原始数据对应的设备端口的协议解析服务请求,所述后台服务模块根据接收的协议解析服务请求解析api网关转发的原始数据,将其生成转换为软件可识别的数据,并将该数据发送至所述部署服务模块以供部署应用。
本实施例中,所述后台服务模块与所述api网关之间通过http/rest/rpc通信传输数据。采用轻量级的http/rest/rpc来实现对数据的控制与传输。
具体地,所述前端服务模块包括开放平台接口模块和数据缓存模块,所述开放平台接口模块用于接收所述原始数据并发送至所述数据缓存模块进行缓存,同时开放平台接口模块根据所述原始数据向所述api网关发送解析请求,所述api网关提取所述数据缓存模块存储的数据并向其提供匹配的应用程序编程接口,实现原始数据的转发。本实施例中,开放平台接口模块实现各类型采集卡所采集的设备原始数据的接入服务,所采集的数据通过lan/wan/wifi/4g等网络传输至api网关进行转发。开放平台接口模块根据所述原始数据同时向所述api网关发送解析请求,api网关接收所述解析请求后向自定义开放式接口提供适合其需求的api(应用程序编程接口),实现原始数据的转发。根据提供的api,用户可进行协议转换功能个性化开发。本实施例中,api网关上运行着特定的适配器代码,会向开放平台接口模块提供最适合其需求的api,api网关也可以实现安全性,比如验证客户端是否被授权进行某请求。
另外,api网关还具有以下的功能:
鉴权、访问认证:验证该解析请求是否被授权进行后续的协议解析服务请求,从而过滤非法的请求访问。
负载均衡:部署多套微服务和数据库时,采用负载均衡算法,在api网关层对请求进行分发处理。
监控限流:api网关转发原始数据时,实时监控数据流量,能够在api网关运行时动态限流。
采用springcloudconfig对微服务应用相关的信息进行配置,如:参数、依赖部分、数据库地址、缓存地址等。
更具体地,所述后台服务模块与所述api网关通讯连接,包括数据注册模块、数据转换模块以及数据存储模块,所述api网关按协议通讯类型转发数据至所述数据注册模块并向其发送所述协议解析服务请求,所述数据注册模块根据接收的协议解析服务请求对数据所对应的的设备端口进行注册并将数据发送至数据转换模块,所述数据转换模块接收该数据并将其转换为软件可识别数据。本实施例中,数据注册模块提供统一服务注册中心,可对所有协议解析服务进行跟踪及管理,发现协议解析服务请求后,会在服务注册中心的注册表中对数据所对应的设备和端口进行注册。数据转换模块解析api网关转发过来通讯协议所带的原始数据,将其生成转换为软件可识别的通用数据。数据存储模块将转换后的数据存储在对应协议服务指定的数据库中。
另外,后台服务模块还具有以下的功能:
服务管理:统筹管理服务监控、数据限流、日志分析。可查看框架和服务内部状态,动态调整内部状态,对请求、监控和协议解析能提供快速反馈。
监控与告警:对服务应用的健康状况进行监控,在发现故障时及时告警。
日志分析:主要包括日志收集,并提供搜索开发团队通过日志快速定位问题。
所述部署服务模块包括与所述数据存储模块连接的应用部署模块,所述应用部署模块利用数据存储模块存储的转换后的数据按需将数据对应的协议服务应用部署到指定的环境中。所述部署服务模块按需将服务应用部署到指定的环境中,支持新旧版本的在线切换。
综上,本申请提供一种通用的实时微服务框架及服务封装方式,将每一个协议转换功能封装成为实时微服务,并提供通用共性的协议转换服务,这样在满足不同集成商的基本协议转换需求的基础上,还可以支撑供应商进行协议转换服务的开发,进一步满足其独有的协议转换需求。
以上所述仅为本申请的较佳实施例,并非用来限定本申请实施的范围,其他凡其原理和基本结构与本申请相同或近似的,均在本申请的保护范围之内。