System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于内存的手机归属地区分方法技术_技高网

一种基于内存的手机归属地区分方法技术

技术编号:40596276 阅读:15 留言:0更新日期:2024-03-12 21:59
本发明专利技术涉及互联网IT技术与应用技术领域,具体为一种基于内存的手机归属地区分方法,包括如下步骤:步骤一、首先在用户手机号段出现变更的时候,通过手机号段数据库生成一个全量的CSV文件,文件数据格式为手机号段(即手机号前7位),省份、城市;步骤二、通过共享存储方式,将CSV文件传输至所有需要引用该文件的应用;步骤三、生成H码解析类文件,用于读取本地CSV文件并进行解析,并将从CSV文件解析的手机号段信息放入内存中,并通过多级缓存结构的方式进行存储;步骤四、访问应用从内存中通过多级缓存结构的读取方式,通过手机号段获取对应的省份、地市信息。通过提前预生成数据文件,取代了对数据库的直接访问,从本地内存读取,提高了效率。

【技术实现步骤摘要】

本专利技术涉及互联网it技术与应用,尤其是涉及一种基于内存的手机归属地区分方法


技术介绍

1、电信运营商存在对ip地址和手机号码进行分组查询的需要。例如,查询ip地址的归属地和手机号码的归属地等。

2、现有的查询方法有两种:

3、第一种,将手机号码段、ip地址子网段与省份的对应关系保存在数据库中,查询时遍历数据库查询。

4、第二种,将手机号码段、ip地址子网段和省份的对应关系保存在分布式存储系统(key-value)的内存对应关系中,查询时直接以手机号码或者ip地址为主键(key)进行查询。

5、其中,分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询

6、随着天翼超高清注册用户的持续增长,超高清业务应中存在着很多需要分权分域的业务点,那么在对用户进行省份、地市的区分是一个经常使用的环节,如何快速区分就变得极其重要。

7、为此,提出一种基于内存的手机归属地区分方法。


技术实现思路

1、本专利技术的目的在于提供一种基于内存的手机归属地区分方法,用于解决如何快速的进行手机号的省份、地市信息的区分,可以有效提升用户注册性能,以解决上述
技术介绍
中提出的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种基于内存的手机归属地区分方法,包括如下步骤:

3、步骤一、首先在用户手机号段出现变更的时候,通过手机号段数据库生成一个全量的csv文件,文件数据格式为手机号段(即手机号前7位),省份、城市;

4、步骤二、通过共享存储方式,将csv文件传输至所有需要引用该文件的应用;

5、步骤三、生成h码解析类文件,用于读取本地csv文件并进行解析,并将从csv文件解析的手机号段信息放入内存中,并通过多级缓存结构的方式进行存储;

6、步骤四、访问应用从内存中通过多级缓存结构的读取方式,通过手机号段获取对应的省份、地市信息。

7、优选的,所述步骤一中包括手机号段文件生成:

8、根据准备好号段数据,即手机号段、省份、城市信息,先将数据导入数据库,然后通过脚本从数据库中将全量的手机号段信息读取出来,根据手机号段进行顺序排序,排序后根据手机号段、省份编号、省份名称、城市编号、城市名称的格式生成csv文件。

9、优选的,所述步骤二中包括文件共享:

10、将csv文件传输至所有需要引用到该文件的应用服务,采用了nas存储作为共享存储,作为一种专员公的存储设备,可以通过其专属的网络协议共享文件,这样所有挂载了nas存储的应用均可以直接读取共享的csv文件。

11、优选的,所述步骤三中包括文件解析:

12、当应用启动时,通过预加载提前加载手机号段csv文件,并将数据写入内存中。

13、优选的,所述步骤三中文件解析步骤如下:

14、s1、启动加载csv文件并写入内存;

15、s2、数据分级缓存处理;

16、s3、监控csv文件,重新加载数据。

17、优选的,所述s1包括应用启动过程中即读取并解析文件,获取手机号段数据,包括手机号段为、省份信息及城市信息。

18、优选的,所述s2包括2、由于所有手机号段有几十万数据,故此处将手机号段(手机号的前7位,如1890123)做分级缓存处理:

19、如:将1890进行作为一个concurrenthashmap(考虑到多线程访问场景采用)的缓存key,并将1890对应的所有号段1890000-1890999数据(1890000为key,1890000对应省份、地市信息为value)放入一个concurrenthashmap,作为1890这个缓存的value值,将1891进行作为一个concurrenthashmap的缓存key,并将1890对应的所有号段1891000-1891999数据(1891000为key,1891000对应省份、地市信息为value)放入一个concurrenthashmap,作为1891这个缓存的value值,依次在内存中以hashmap的方式写入。

20、优选的,所述s3包括由于手机号段信息不会经常变更,那么我们只需要每天监控一次号段csv文件的变化即可,当文件出现变化(即文件的修改时间变成24小时内),则需要重新加载解析号段文件,并将号段数据放入内存中。

21、优选的,所述步骤四包括当用户注册时,首先通过手机号截取前7位数字,超高清应用原来的做法是,直接查询数据库中的号段信息并返回,而在本方案中,则先通过手机号段的前4位定位到一个concurrenthashmap,然后从该内存对象中通过7位手机号段读取省份信息、城市信息,避免了数据库的访问,提升了读取效率。

22、与现有技术相比,本专利技术的有益效果是:

23、1.在原应用流程中,需要区分手机号段时直接通过数据库查询号段数据,性能相对较慢。本专利技术虽然在流程上较为复杂,但是对于每天千万级以上用户业务量的平台应用来说,减少了数据库的访问,对提升整体应用性能是起到了重要作用的;

24、2.通过提前预生成数据文件,取代了对数据库的直接访问,从本地内存读取,提高了效率。

本文档来自技高网...

【技术保护点】

1.一种基于内存的手机归属地区分方法,其特征在于:包括如下步骤:

2.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤一中包括手机号段文件生成:

3.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤二中包括文件共享:

4.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤三中包括文件解析:

5.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤三中文件解析步骤如下:

6.根据权利要求5所述的一种基于内存的手机归属地区分方法,其特征在于:所述S1包括应用启动过程中即读取并解析文件,获取手机号段数据,包括手机号段为、省份信息及城市信息。

7.根据权利要求5所述的一种基于内存的手机归属地区分方法,其特征在于:所述S2包括2、由于所有手机号段有几十万数据,故此处将手机号段(手机号的前7位,如1890123)做分级缓存处理:

8.根据权利要求5所述的一种基于内存的手机归属地区分方法,其特征在于:所述S3包括由于手机号段信息不会经常变更,那么我们只需要每天监控一次号段CSV文件的变化即可,当文件出现变化(即文件的修改时间变成24小时内),则需要重新加载解析号段文件,并将号段数据放入内存中。

9.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤四包括当用户注册时,首先通过手机号截取前7位数字,超高清应用原来的做法是,直接查询数据库中的号段信息并返回,而在本方案中,则先通过手机号段的前4位定位到一个ConcurrentHashMap,然后从该内存对象中通过7位手机号段读取省份信息、城市信息,避免了数据库的访问,提升了读取效率。

...

【技术特征摘要】

1.一种基于内存的手机归属地区分方法,其特征在于:包括如下步骤:

2.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤一中包括手机号段文件生成:

3.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤二中包括文件共享:

4.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤三中包括文件解析:

5.根据权利要求1所述的一种基于内存的手机归属地区分方法,其特征在于:所述步骤三中文件解析步骤如下:

6.根据权利要求5所述的一种基于内存的手机归属地区分方法,其特征在于:所述s1包括应用启动过程中即读取并解析文件,获取手机号段数据,包括手机号段为、省份信息及城市信息。

7.根据权利要求5所述的一种基于内存的手机归属地区分方法,其特征在...

【专利技术属性】
技术研发人员:庄春
申请(专利权)人:天翼视讯传媒有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1