基本信息

案例ID:213362

技术顾问:番茄🍅 - 3年经验 - 上海深库科技有限公司

联系沟通

微信扫码,建群沟通

项目名称:行为智能分析系统

所属行业:人工智能 - 其他

->查看更多案例

案例介绍

项目介绍:后端使用 SpringCloud 为核心框架,主要有算法调度模块、识别汇总模块、摄像头模块、权限
模块、直播模块、网络通信模块、摄像头管理模块、报表模块
识别汇总模块,高并发场景下使用防重令牌加 Redis 实现无侵入式解决提交识别结果的接口幂等性问题
 千万级别数据库优化,搭建主从架构并使用 ShardingJDBC 实现分表。算法识别结果以线性趋势,稳定持
续高速的增加数据量,单表结构无法满足业务需求。因此需要作出优化,首先在垂直方向对业务进行拆分
将该部分业务单独抽离出一个服务,然后在水平上进行逻辑拆分,分散数据量。
 存在一台服务器仅能支撑三路图像推理类算法的情况,防止出现开启过多导致服务器宕机的调度不合理情
况,使用信号量分布式锁解决该并发场景下的资源竞争问题
 RabbitMq+HTTP 实现跨语言算法调度,日志落库,并使用建造者模式构造自定义消息。多语言编写的各
个算法,通过该平台进行调度,并结合业务逻辑分发为不同的消息类型,由具体的消费者进行异步调度。
 解决高并发场景下缓存数据一致性问题。调度算法的入参是一些不太会经常修改的数据,故将其放置缓存
中,加快查询速度,如果这些数据被修改,使用延迟双删策略,来保证数据的一致性
 使用 NETTY 优化网络通信,创建通信逻辑表,实现动态的添加通信链路及报文,并进行快速匹配。现场
存在通过硬件 PLC 信号开关指定算法的情景,且通信内容是提前约定好固定的,为了增强该功能的拓展性,
选择了 NETTY 便于后期增加通信链路,且基于数据表结合缓存来实现功能报文的匹配,后续无论是增加
链路异或增加报文,直接在表中增加行记录即可,无须修改代码。
 使用 RabbitMq 结合数据库解决分布式事务问题
 基于 RBAC 模型使用 Security+JWT 结合 Redis 实现系统登陆以及权限校验
 搭建线上环境、部署运行项目及后续运维维护

相似案例推荐

其他人才的相似案例推荐

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服