上周有个需求,就是要做一个检索库:
1 3亿个手机号码,并且每个号码20个左右的属性例:地区,订阅等信息。
2 在最短的时候内select出来(5分钟,10分钟)[最重要]
3 允许更新。对这些号码进行发送信息后,状态改变。[可以让他慢慢更新]
和几个同事讨论了一下,具体要注意以下几点:
1 如果发送下去状态改变,但是只发送一半,但状态改变了如何办?
2 如果多个产品线一起下发,状态会不会混乱。
解决以上第二个问题,决定采用,队列等待的方式。第一个问题没想到好的解决办法,回滚也想过了,但感觉不是很现实!
解决方案:
经过实验500w条的数据在用plsql直接select,只需要0.2秒,所以总体采用分表的方式,每500w条分一个表,然后同时查询!
但总感觉不是很好,抛砖引玉(真的很砖
)。不知道大家有没有更好的解决方案!
-----------------------------------------重新描述一下需求-------------------------------
很多人说需求不是很的清楚,这里重新整理了一下!
不过要注意的是数据库里已经有3亿个手机基数了!
一. 号码入库。
不定期会有新的号码需要入库,入库需要记录号码的常规属性,如:手机号,省份,城市,入库时间,手机卡类型,是否支持彩信,号码来源情况等。
二. 入库手机号源文件管理
入库手机号源文件要以文件形式保存在服务器上。
三. 按需要提取号码(最关键部分)
要按照需求提取所需的号码。
例如:
提号要求:
1.此号码非黑名单用户。
2.此号码为的订购和退订用户。
3.此号码2个月内没有活动。
4.省份要求:辽宁,云南,广东
5.号段要求:137和138和139号段
6.数量要求:每个省10w
7.是否支持彩信:是(是,否,忽略三种情况)
……
最后,符合条件的号码,按照固定格式(每个手机号占一行),形成文本文件,将此文件测试号码,是否需要状态报告等信息形成最终可发送文件并提供下载功能,同时记录本次提取信息(发送时间,发送标识等)
注:文件格式如下:
139***85185#09#0
139***71283
139***33190
第1列:手机号
第2列:产品类型(#09)
第3列:是否需要状态报告(#0)
四. 统计功能
一.号码情况统计
1.统计当前号码总量。
2.按照2个基本要求,统计现在库中可以使用的号码数量。
注:统计需要显示,全国总量,各省总量,各省省会总量,各省去除省会总量,各省7天未下发总量(省会与其他城市分开显示),各省可以发送总量(省会与其他城市分开显示,所以单独列出来)。
二.发送产品统计
1.按时间段、业务线等统计发送产品的情况,如:发送时间,最终发送文件等
五. 黑名单及特殊号码管理
1. 添加黑名单
2. 去除黑名单
3. 过滤黑名单
4. 查询黑名单
以上除黑名单外都是迫切需要的,黑名单功能可以以后完善。
分享到:
相关推荐
【基于VGG-16的海量图像...总的来说,基于VGG-16的图像检索系统是利用深度学习技术解决大规模图像数据检索问题的有效方法,它结合了深度学习模型的强大特征提取能力与高效的数据索引策略,实现了快速且准确的图像匹配。
【基于Sphinx+MySQL的千万级数据全文检索】的架构设计着重解决大数据量下的高效全文检索问题。Sphinx是一款源自俄罗斯的开源全文搜索引擎,它在处理海量数据时表现出极高的性能和可扩展性。在DELL PowerEdge 6850...
本文提出了一种新的分布式存储与检索方法,通过分布式文件存储元数据,并采用元数据缓冲和Hash映射实现元数据的分布;同时,借助MapReduce并行程序实现元数据检索,并针对并行检索中存在的问题提出了局部位图索引的...
【Elasticsearch亿级数据检索性能优化案例实战】 在数据量巨大的业务环境中,Elasticsearch作为流行的全文搜索引擎,面临着如何高效处理亿级数据检索的挑战。本文将分享一个实际案例,探讨如何对Elasticsearch进行...
- 虚拟列表模式要求数据检索是快速的,因此通常配合数据库查询优化或内存缓存来实现。 - 需要正确计算总行数,提供给`DataGridView`的`RowCount`属性,以便它能正确地处理滚动和显示状态。 - 在大量数据操作时,...
总的来说,这个项目展示了如何结合先进的深度学习模型和高效的检索技术,实现大规模文本数据的快速、准确检索。这对于搜索引擎优化、推荐系统、问答系统等领域都有重要的应用价值。通过对FAISS和SimBERT的深入理解和...
本篇文章将详细探讨基于Solr实现的千亿级检索设计,以及其背后的Lucene结构和倒排索引技术。 首先,我们要理解Solr的核心功能:提供高效的全文搜索、 faceted search(分面搜索)、命中高亮、动态集群、实时添加...
读秀学术搜索不仅拥有260万种图书、6亿页全文资料的数据库,还包含了大量期刊元数据、报纸元数据、人物简介和词条解释,形成了一个庞大的知识库。用户可以根据需求,进行全文、图书、期刊、报纸、学位论文和会议论文...
### 延云YDB:万亿数据秒级查询与分析引擎 #### 一、概述 随着信息技术的飞速发展,大数据已经成为推动企业决策、产品创新和业务增长的关键力量。面对日益增长的数据规模和复杂的数据结构,传统的数据分析工具已经...
- **性能提升**:相比暴力扫描,万亿级数据秒查,而几百亿数据的暴力扫描需要半小时以上。 - **统计分析优化**:结合lucene倒排索引和parquet列存储,实现高效的统计分析,支持多维度钻取。 综上所述,基于Spark...
4. **搜索引擎优化**:为了快速响应用户的搜索请求,eBay可能会采用Elasticsearch或其他搜索引擎技术,对商品信息进行索引和检索。 5. **机器学习和人工智能**:eBay可能利用机器学习算法预测市场趋势,推荐商品,...
MySQL作为一款广泛应用的关系型数据库管理系统,存储了大量结构化数据,而Elasticsearch则是一款实时分布式搜索和分析引擎,适用于非结构化数据的快速检索。将MySQL中的数据同步到Elasticsearch,可以实现更高效的...
3. **高可用性**:单台服务器上,Sphinx能支持高达100GB的文本和1亿条文档,确保了系统在大规模数据下的稳定运行。 4. **分布式搜索**:Sphinx支持分布式搜索,可以将搜索负载分散到多个节点,提高整体系统的处理...
在处理100亿数据量、10万并发和1万属性的数据库架构设计时,首先需要面对的是海量数据和高并发读写带来的挑战。此外,考虑到任意字段都可能进行组合查询,这就要求数据库架构不仅要能够存储大量数据,还要能够快速...
2. 实时查询需求:为了进行即时分析,系统需要快速检索最近的热点数据。 3. 乱序入库:由于网络延迟和数据传输的异步性,数据到达和存储的顺序可能与实际发生顺序不一致。 4. 时间截面为主,多维度辅助:时间戳是...
##### 2.2 并行检索实现 在信息检索的过程中,用户提交查询请求后,代理程序会对其进行预处理,然后将处理后的查询发送给搜索程序,搜索程序执行查询并返回结果,最后由代理程序整合结果并返回给用户。这一过程本身...
- **目标与优势**:Hermes旨在为公司内部的大数据分析业务提供一套实时的、多维的、交互式的查询、统计和分析系统,使万级维度、千亿级数据下的秒级统计分析成为可能。相较于传统的关系型数据库集群或内存计算平台,...
3. **索引构建**:创建索引数据结构以支持快速搜索。 4. **索引压缩**:通过压缩技术节省磁盘空间并提高检索效率。 5. **检索模型与排序算法**:确定查询与文档之间关联性的方法,如布尔检索模型、向量空间模型、...