请指教,高速算法服务器设计

yingge2016 2024-01-03 09:24:19

 

 

问题

要求服务器尽快计算结果,通常要求是1s内。

如果数据库中生物特征数据量过大,需要比对的生物特征数据过多,就会减慢比对速度。

解决方法

1、将数据库中生物特征分配到m个比对服务器中,服务器中所有数据比对耗时为500ms.

2、统计服务A,接收客户端发来的比对请求,并且把请求数据a放到比对队列中。

然后读取不断读取结果队列中的结果。

3、m个比对服务器,读取比对队列中的请求数据,进行比对,会在500ms内返回比对结果aa,

并将比对结果aa放到结果队列中。

4、统计服务器A,会在500ms内从结果队列中获取m个比对服务器的结果,进行统计处理,

返回给客户端。

总结

这样设计,所有的数据比对完成只需要500ms。

 

大佬们帮忙看看这个问题。
可行性怎么样。
有什么优缺点。

 

20240103修改补充:

解决方法1中。

假设经过测试,当服务器中有1w个数据时,比对耗时是500ms。

如果我总共有10w个数据,我需要新建10个服务器,每个服务器分配1w个数据。

 

...全文
1045 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

亿级数据,redis哈希槽了解一下,可以解决问题,你说的多个服务器什么的太扯淡。

yingge2016 01-05
  • 举报
回复
@惊喜不断 "多个服务器什么的太扯淡"能详细讲讲吗?哪个地方有问题。
  • 打赏
  • 举报
回复

最大的问题就是数据量大的时候,你所谓的测试结果都是浮云。

所以最起码要关注分布式和负载均衡。

yingge2016 01-03
  • 举报
回复
@百锦再@新空间代码工作室 20240103修改补充: 解决方法1中。 假设经过测试,当服务器中有1w个数据时,比对耗时是500ms。 如果我总共有10w个数据,我需要新建10个服务器,每个服务器分配1w个数据。
@yingge2016 你可以这么理解分布式数据存储,但是负载均衡不是这样的。而真实的分布式数据存储也不是这样的。只是类似你想的这样。你需要查询专门的书籍或者文章了解。大数据,高频访问下的快速响应是怎么实现的。
yingge2016 01-03
  • 举报
回复
@百锦再@新空间代码工作室 感谢指点。 我是从我的需求触发来设计的。 我要解决的问题主要是,实时返回结果。数据量过大,比对时间过长。
2条回复

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧