您的位置:首页 > 运维架构 > 网站架构

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

2017-08-28 21:14 281 查看
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 一个进程可以提供多种算法服务,(IP,Port)确定一个算法服务

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

 

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

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

 


 

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

 

2. 使用到的库

2.1 Boost_1_61_0

2.2 Crow:Http库

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

2.4 Opencv310

2.5 Rapidsjon:json编解码

2.6 Redis-3.0:Redis库

 

3. 测试

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

3.2 访问主页,返回html测试页面,用于测试接口是否通
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: