精易论坛
标题: 验证码识别平台分析与实现 [打印本页]
作者: yueying 时间: 2018-5-5 09:10
标题: 验证码识别平台分析与实现
本帖最后由 yueying 于 2018-5-5 09:17 编辑
序言:
验证码识别平台依靠训练好的神经网络模型对未知的图形进行预判,平台实现api调用计费盈利,一个验证码识别平台除了要有比较完善的神经网络模型还要有一个能够支撑业务的网站架构。
由于api直调方式存在高并发的问题,所以依靠网站服务器来直接实现验证码识别时不显示的,这个时候就需要引入工作机与消息队列的概念:
消息队列:
[attach]754838[/attach]
工作机:
实际上就是我们之前使用的Quartz服务差不多,用户验证码请求经过消息队列,根据规则转发后,分配给不同的专门做这个业务的服务器,因为识别验证码肯定要高IO密集类型的服务器,把事情交给专业的人来做,效率会很高。
来分析一下进化史,在没有缓存概念之前我们是这样做的:
[attach]754839[/attach]
客户Duan请求过来直接透给数据库,工作机轮询数据库,这种做法首先,多个客户Duan高并发对数据库进行写操作,对数据库的压力非常大,然后工作机会不断的cha询数据库以确保得到最新的消息,前台也需要轮训得到最新的消息,这种架构看来是非常失败的。
然后我们为了解决数据库层面压力过大的问题,引入了No SQL数据库,来缓解高并发读写问题,利用多级缓存架构支撑大量的请求:
[attach]754841[/attach]
引入之后我们的压力问题是解决了,新的问题又来了,因为网络波动问题,客户Duan的请求不一定每次都能落到数据库上,而且如果服务器发生宕机,这次消息基本就丢失了,我们要实现高可用又不能丢掉消息的持久化,所以我们引入了消息队列:
[attach]754842[/attach]
消息队列的特点就是可以让我们的消息加入到队列中,来实现异步计算,RabbitMQ具备消息持久化的特点,当工作机没有确认此次消息时,消息队列会认为你没有接到消息,下次会再次发送给工作机,工作机计算之后需要手动应答,表示消息已经收到。
那么,现在我们对验证码识别平台的基本流程就大概有个认识了:
[attach]754843[/attach]
[attach]754837[/attach]
即消息会被多个工作机竞争,谁得到此消息就归属于谁,别的工作机不得再对此消息进行操作。
这样就实现了验证码识别平台的雏形,我目前使用java实现了这样的一个平台,目前能够支撑识别计算业务的运行,但还缺少很多的东西,比如都是单机配置,容易引发单点故障,缺少gateway解决接口压力与安全的问题,在计算方面还有没有引入目前火爆的TensorFlow等等,对于此项目我会持续关注,欢迎大家给我issue。
C#客户Duandemo
[attach]754830[/attach]
易语言客户Duandemo
[attach]754831[/attach]
[attach]754832[/attach]
这板块怎么成了android专版了啊,以前还有java子板块呢 @Cand
不能访问github的同学可以到这里下载mbus-beta.zip 链接:https://pan.baidu.com/s/1FB7Uxf6R_cqfzzUcn-S2Sw 密码:ha4h
作者: YY阿狸 时间: 2018-5-5 10:18
66666666666666牛逼
作者: f9509405 时间: 2018-5-5 21:09
阔以阔以!好东西
作者: 追梦传媒 时间: 2018-5-29 22:22
666,支持!!!!!!
作者: qh5ibh 时间: 2018-6-2 09:32
阔以阔以!好东西
作者: 风九幽 时间: 2018-6-3 15:34
阔以阔以!好东西
作者: 939340521 时间: 2018-6-3 17:08
看一下看一下
作者: qazx84265 时间: 2018-8-13 19:54
这个有技术含量
作者: 450556810 时间: 2018-8-26 21:44
这个有技术含量
作者: 威武小草 时间: 2018-8-30 15:17
这个需要点技术才行
作者: a826472071 时间: 2018-8-31 17:01
可以可以,好东西
作者: a南山南 时间: 2018-9-3 13:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 业务员 时间: 2018-9-5 20:44
这个需要点技术才行
作者: jpk 时间: 2018-9-8 03:39
这个需要点技术才行
作者: tangai17 时间: 2019-2-27 01:58
这个厉害了

作者: 职业脚本接单 时间: 2019-3-2 21:28
这个需要点技术才行
作者: 草草软件 时间: 2019-3-3 12:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: h1003591791 时间: 2024-12-14 11:30
感谢分享
作者: jdlz2001 时间: 2024-12-29 21:05
感谢分享
作者: sdif000 时间: 2025-1-25 16:17



作者: sdif000 时间: 2025-1-25 16:17



作者: sdif000 时间: 2025-2-6 14:59



作者: 原始世界 时间: 2025-2-26 13:35
谢谢分享
作者: leaqi 时间: 2025-3-5 21:47




作者: loop123 时间: 2025-3-13 13:16
很牛X的,学习中
作者: 15158930038 时间: 2025-4-21 01:54
非常支持
作者: 15158930038 时间: 2025-5-4 10:10
非常支持
作者: 15158930038 时间: 2025-5-6 00:48
非常支持
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |