最新 手机号段数据库 2020-08-15 458461条记录 号码归属地数据库 全面 准确 规范
字段包括 省份 城市 运营商 邮编 区号 等信息,对于数据分析、号码归属地查询等非常有帮助

名称:手机号码归属地查询 dat高效率查询 内存优化版
压缩:原版txt为22M,生成这种dat结构为2.66M
性能:每秒解析300万+号段或者号码,简洁高效
环境:CPU i7-7700K +内存16GB
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
namespace qqzeng_phone_dat
{
public class PhoneSearchFast
{
private static readonly Lazy<PhoneSearchFast> lazy = new Lazy<PhoneSearchFast>(() => new PhoneSearchFast());
public static PhoneSearchFast Instance { get { return lazy.Value; } }
private PhoneSearchFast()
{
LoadDat();
Watch();
}
private string datPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"qqzeng-phone.dat");
private DateTime lastRead = DateTime.MinValue;
private long[,] prefmap = new long[200, 2];// 000-199
private long[,] phonemap;
private byte[] data;
private long[] phoneArr;
private string[] addrArr;
private string[] ispArr;
/// <summary>
/// 初始化二进制dat数据
/// </summary>
/// <param name="dataPath"></param>
///
private void LoadDat()
{
data = File.ReadAllBytes(datPath);
long PrefSize = BytesToLong(data[0], data[1], data[2], data[3]);
long RecordSize = BytesToLong(data[4], data[5], data[6], data[7]);
long descLength = BytesToLong(data[8], data[9], data[10], data[11]);
long ispLength = BytesToLong(data[12], data[13], data[14], data[15]);
//内容数组
int descOffset = (int)(16 + PrefSize * 9 + RecordSize * 7);
string descSt

最低0.47元/天 解锁文章
693

被折叠的 条评论
为什么被折叠?



