算法服务平台-整体架构以及说明

1. 整体架构图

算法服务平台-整体架构以及说明_第1张图片

 

1.1 Client:可以是

1.1.1 终端设备

1.1.2 移动设备

1.1.3 浏览器

1.1.4 PC客户端

 

1.2 业务逻辑服务器包括从基本的设置从流媒体服务器取流然后产生告警信息不属于算法服务平台

 

1.3 SmartProxy功能

1.3.1 Http服务器,对外以Http+Json的方式提供服务

1.3.2 代理服务器,转发请求到对应的算法服务器SmartService

1.3.3 简单的负载均衡

 

1.4 SmartService:算法服务,根据配置启动对应的算法

1.4.1 以插件的形式加减算法服务

1.4.2 一个进程可以提供多种算法服务,(IPPort)确定一个算法服务

1.4.3 SmartService启动的时候把提供的算法写到redis,退出的时候从redis删除对应的算法

 

1.5 Redis:缓存算法服务器的信息

1.5.1 每一种算法的名字作为key,类型为setSmartService启动是把提供的算法服务的IPPort添加到对应的key下,如下图所示:

 

 

1.5.2 SmartProxy定时从Redis上更新数据到本地(这样做主要是为了做负载,其实,请求来再查询也是可以的,或者说更好,定时更新会有延迟,当SmartService退出后,SmartProxy还没更新,SmartProxy请求会失败;当然,SmartService退出的时候广播一下也是可以的)

 

2. 使用到的库

2.1 Boost_1_61_0

2.2 CrowHttp

2.3 Image_stone:将图片解码得到rgb数据,上传的数据可能是jpgpngbmp的二进制

2.4 Opencv310

2.5 Rapidsjonjson编解码

2.6 Redis-3.0Redis

 

3. 测试

3.1 使用python测试:“单元”测试

3.2 访问主页,返回html测试页面,用于测试接口是否通

你可能感兴趣的:(算法服务平台)