一种确定号码状态的方法及装置的制造方法

文档序号:9220374阅读:229来源:国知局
一种确定号码状态的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种确定号码状态的方法及装置。
【背景技术】
[0002] 随着通信技术的发展,尤其是网络的普及,大部分用户都会选择使用手机等移动 终端进行上网,进而产生大量的上网流量信息。供应商为了从大量的上网流量信息中找到 感兴趣的数据,需要先对大量的上网流量信息进行分析处理。在现有技术中,对于手机用 户,供应商需要对手机号码进行存储、标记和查询等操作。
[0003]目前,服务器可以利用Hash算法在内存位图中对手机号码进行映射标记,但是在 标记过程中会产生键值冲突。当需要映射标记的手机号码的数量较大时,在标记过程中产 生键值冲突的概率也会提高。因此,在服务器利用Hash算法在内存位图中对手机号码进行 标记之后,通过标记结果来确定手机号码是否产生3G上网流量的过程中,容易将没有产生 3G上网流量的手机号码确定为产生了 3G上网流量的手机号码。

【发明内容】

[0004] 本发明实施例提供一种确定号码状态的方法及装置,能够提高查询手机号码是否 产生3G上网流量的准确率。
[0005] 为达到上述目的,本发明实施例采用如下技术方案:
[0006] 第一方面,本发明实施例提供一种确定号码状态的方法,所述方法包括:
[0007] 服务器获取号码在第一内存位图中对应的第一下标值和第二下标值;
[0008] 所述服务器根据所述第一下标值和所述第二下标值得到字符串;
[0009] 所述服务器根据所述字符串得到所述字符串在第二内存位图中对应的第三下标 值和第四下标值;
[0010] 所述服务器根据预设规则设置所述第二内存位图中所述第三下标值对应位置的 键值和所述第四下标值对应位置的键值,所述预设规则用于区分产生号码状态信息的号码 和未产生号码状态信息的号码;
[0011] 所述服务器根据所述第一内存位图中所述第一下标值对应位置的键值和所述第 二下标值对应位置的键值,以及所述第二内存位图中所述第三下标值对应位置的键值和所 述第四下标值对应位置的键值,确定所述号码的号码状态。
[0012] 第二方面,本发明实施例提供一种确定号码状态的装置,所述装置包括:
[0013] 获取模块,用于获取号码在第一内存位图中对应的第一下标值和第二下标值;
[0014] 生成模块,用于根据所述第一下标值和所述第二下标值得到字符串;
[0015] 计算模块,用于根据所述字符串得到所述字符串在第二内存位图中对应的第三下 标值和第四下标值;
[0016] 设置模块,用于根据预设规则设置所述第二内存位图中所述第三下标值对应位置 的键值和所述第四下标值对应位置的键值,所述预设规则用于区分产生号码状态信息的号 码和未产生号码状态信息的号码;
[0017] 确定模块,用于根据所述第一内存位图中所述第一下标值对应位置的键值和所述 第二下标值对应位置的键值,以及所述第二内存位图中所述第三下标值对应位置的键值和 所述第四下标值对应位置的键值,确定所述号码的号码状态。
[0018] 本发明实施例提供的一种确定号码状态的方法及装置,服务器获取号码在第一内 存位图中对应的第一下标值和第二下标值,根据第一下标值和第二下标值得到字符串,并 根据字符串得到字符串在第二内存位图中对应的第三下标值和第四下标值,之后根据预设 规则设置第二内存位图中第三下标值对应位置的键值和第四下标值对应位置的键值。服务 器根据第一内存位图中第一下标值对应位置的键值和第二下标值对应位置的键值,以及第 二内存位图中第三下标值对应位置的键值和第四下标值对应位置的键值,确定号码的号码 状态。相比较于现有技术,本发明实施例可以通过在双内存位图中对手机号码进行映射标 记,之后根据四个下标值对应位置的键值来确定手机号码是否产生3G上网流量。而不是在 单内存位图中对手机号码进行映射标记,仅根据两个下标值对应位置的键值来确定手机号 码是否产生3G上网流量。从而,提高查询手机号码是否产生3G上网流量的准确率。
【附图说明】
[0019]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领 域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附 图。
[0020] 图1为本发明实施例提供的一种确定号码状态的方法的流程图;
[0021] 图2为本发明实施例提供的另一种确定号码状态的方法的流程图;
[0022] 图3为本发明实施例提供的另一种确定号码状态的方法的流程图;
[0023] 图4为本发明实施例提供的一种具体应用场景下的结构示意图;
[0024] 图5为本发明实施例提供的另一种确定号码状态的方法的流程图;
[0025] 图6为本发明实施例提供的另一种确定号码状态的方法的流程图;
[0026] 图7为本发明实施例提供的一种确定号码状态的装置的结构示意图。
【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它 实施例,都属于本发明保护的范围。
[0028] 在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制 本发明。在本发明实施例和所附权利要求书中所使用的单数形式的"一种"和"所述"也旨 在包括多数形式,除非上下文清楚地表示其他含义。
[0029] 本发明适用于确定号码状态,其中,号码状态可以包括:号码是否产生3G(3rd Generation,第三代数字通信)上网流量、号码是否产生漫游数据等。为了方便描述,在本 发明实施例中,以确定手机号码是否产生3G上网流量为例进行说明。
[0030] 本发明实施例提供一种确定号码状态的方法,如图1所示,所述方法包括:
[0031] 101、服务器获取号码在第一内存位图中对应的第一下标值和第二下标值。
[0032] 当需要通过映射来标记的手机号码的数量为1. 93亿个时,服务器可以申请一个3 亿bit位的内存位图,将内存位图中的所有下标值对应位置的键值初始化为0。服务器逐 行读取1. 93亿个手机号码对应的上网流量信息记录,并解析出手机号码和手机号码所产 生的3G上网流量的数据。服务器判断每条信息所记录的手机号码使用的3G上网流量是否 大于〇,当手机号码使用的3G上网流量大于0时,根据手机号码使用两个不同的Hash函数 (哈希函数)计算出两个下标值,即第一下标值和第二下标值,在内存位图中找到这两个下 标值对应位置,同时将这两个下标值对应位置的键值设置为1 ;当手机号码使用的3G上网 流量小于〇时,不进行键值设置。重复上述操作,直到将存储的1. 93亿个手机号码对应的 上网流量信息全部映射到内存位图中。
[0033] 服务器需要使用两个不相同的Hash函数,对手机号码是否产生3G上网流量进行 标记,比如:服务器使用Hash函数1和Hash函数2来计算手机号码
[0034] 18612345678在第一内存位图中对应的第一下标值和第二下标值,其中,第一内存 位图为上述3亿bit位的内存位图;通过Hash函数1计算得到的为第一下标值,
[0035] 通过Hash函数2计算得到的为第二下标值。
[0036] 使用两个Hash函数计算下标值的过程,如表一所示:
[0037]
[0038]表一
[0039] 使用Hash函数1计算第一下标值的计算步骤如下:
[0040] 获取手机号码18612345678,并对所获取的手机号码18612345678进行预处 理,其中,预处理之后的手机号码和原手机号码相同;将预处理之后的手机号码按照 MD5 (Message-DigestAlgorithm5,信息-摘要算法 5)计算,得到 6e2blca3675119d8edba d42d6d589817 ;计算Hash值,得到-479003662 ;将Hash值和整形最大值MAX_INT相与,得 到1668479986 ;将上述相与的结果1668479986对3亿取模,得到第一下标值168479986。
[0041] 使用Hash函数2计算第二下标值的计算步骤和使用Hash函数1计算第一下标值 的计算步骤类似,其中,预处理后的结果不同,使用Hash函数1的计算过程中,手机号码预 处理之后得到的手机号码和原手机号码相同,使用Hash函数2的计算过程中,手机号码预 处理之后得到的手机号码是将原手机号码的前三位移到后三位得到的。
[0042] 需要说明的是,由于Hash值可能为负数,为了方便映射,可以将Hash值通过计算 得到非负整数,比如:通过将Hash值和整形最大值MAX_INT相与得到非负整数;由于第一 内存位图占用3亿bit位的存储空间,在计算过程中,通过将相与的结果对3亿
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1