CDMA2000 核心网交换机局数据核查方法和系统 技术领域 本发明涉及通信领域, 尤其涉及核查交换机局数据的方法和系统, 能够自动对 CDMA2000 核心网交换机的局数据进行解析、 核查并输出结果。
背景技术 交换机的局数据在进行配置操作之后, 就存在于交换机内部存储器中, 指示着交 换机对各种业务的处理方式。局数据配置的完备性、 准确性从本质上决定着交换机的服务 质量。
如, 对 H 码的号码分析如果出现错漏情况, 将会引起网内用户呼叫其他运营商号 码失败, 而且由于 H 码分析数据一般以万号为单位, 因此一旦出现问题, 将导致大面积的网 间号码无法被接续。
又如, GT 码翻译在 CDMA 网络语音及短信的信令流程当中, 处于非常关键的位置, 涉及到移动性管理、 语音接续、 短信收发等各个环节, 因此当 GT 码翻译出现缺漏或错误时, 将导致网内用户无法登记、 起呼或者无法被叫等各种问题。
由于交换机的局数据错综复杂, 数量巨大, 目前没有高效、 可靠、 可行的方法核查 局数据的完备性和准确性。发明内容
鉴于以上, 本发明提出 CDMA2000 核心网交换机局数据核查方法和系统。
CDMA2000 核心网交换机局数据核查系统, 包括 :
局数据解析模块, 向字冠分析模块提供供其调用的第一接口, 用于获取并解析已 配置在交换机中的局数据, 建立树形局数据结构 ;
局数据核查模块, 向字冠分析模块提供供其调用的第二接口, 用于存储已放号的 号段和局数据配置规范 ;
字冠分析模块, 通过第一接口与局数据解析模块局耦合、 通过第二接口与局数据 核查模块耦合, 将所述号段逐条与树形局数据结构中节点进行匹配, 若局数据结构中存在 与号段完全匹配的节点, 认为局数据中已配置该号段, 否则未配置。
CDMA2000 核心网交换机局数据核查方法, 包括以下步骤 :
获取并解析已配置在交换机中的局数据, 建立树形局数据结构 ;
存储已放号的号段和局数据配置规范 ;
将号段逐条与树形局数据结构中节点进行匹配, 若局数据结构中存在与号段完全 匹配的节点, 认为局数据中已配置该号段, 否则未配置。
本发明导入局数据文件、 路由规范文件, 自动解析交换机局数据, 根据解析结果构 造十叉树的树形结构的号码分析逻辑, 并将标准 H 码库在号码分析树形结构逻辑中进行匹 配, 可对匹配成功的号段输出号码分析最终的路由, 可对匹配失败的号段产生错误报告。
本发明还可对匹配成功号段对应的路由结果, 按运营商的路由规范进行检查, 对路由不符合规范的号段产生错误报告。 从而可得到包含漏、 错局数据报告的结果, 实现了对 海量局数据配置的完备性、 准确性的核查功能。 附图说明
图 1 是本发明的系统总体体系结构。 图 2 是本发明局数据解析模块解析局数据后形成的十叉树逻辑结构。 图 3 是本发明方法流程示意图。 图 4 是本发明局数据解析模块解析局数据并构建十叉树逻辑结构的流程图。 图 5 是本发明局数据解析模块对正则表达式中转义字符的翻译和扩展操作流程 图 6 是本发明字冠分析模块进行 H 码 /GT 码字冠匹配以及规范性核查的操作流程图。
图。 具体实施方式
本发明提供了自动解析、 核查局数据的系统, 能够解析交换机局数据文件, 并构建 交换机局数据的分析逻辑, 进而与现网已放号号段及运营商为之配置的路由分析数据进行 匹配与检查, 对漏、 错数据进行汇总与输出。
下面将结合附图和实施例进行详细说明。
如图 1 所示, 为本发明系统总体体系结构。 该系统包括局数据解析模块 11、 局数据 核查模块 12 以及字冠分析模块 13, 这些模块对外提供适配的接口, 如接收不同厂家交换机 提取的各种格式的文件 ; 对内提供统一的处理接口, 以实现数据格式的归一化, 核心逻辑处 理部分的复用, 节约代码数量, 方便调试维护。其中 :
局数据解析模块 11, 向字冠分析模块提供供其调用的第一接口, 用于获取并解析 已配置在交换机中的局数据, 建立与交换分析逻辑一致的树形局数据结构, 该结构可以采 用十叉树逻辑进行存储, 构建十叉树逻辑结构的流程图可以如图 4 所示。
局数据是对号码进行解析的配置, 该配置用来匹配用户拨打的号码的前几位以及 各种内部传递的号码的前几位, 并根据匹配结果决定呼叫接续的方向。如配置将 1380100 送往北京移动, 将 1300100 送往北京联通等。
由于这样的号码数据数量庞大, 如果直接逐条进行检查, 将会耗费巨大系统资源 和时间, 各厂家导出的局数据均是列表形式, 比如 :
1390010, ROUTE to BeiJing ;
1390200, ROUTE to ShangHai ;
1390551, ROUTE to HeFei。
当每一次匹配到来, 直接进入这种列表形式的数据结构中去寻找匹配项, 只能从 头到尾比对一次。如有 1000 条号码数据, 每个号码需要进行匹配检查的长度为 7 位 ( 如 1380100), 每进行一次匹配需要耗时 N 秒, 若采用逐条匹配的方式, 则需要耗时 1000 * 500 5 * N = 5 * N * 10 ( 由于每次匹配都需要从这 1000 条号码的第一条开始逐条比对是否一 致, 因此平均每次匹配成功需要尝试匹配 500 次 )。
本发明根据所解析的各条号码记录, 在内存中建立一个树形的逻辑结构, 沿着树根向树梢前进, 沿途的各个节点按顺序组合起来, 就是一个号码。在优选实施例中, 树形的 逻辑结构为十叉树结构, 而当采用十叉树结构时, 由于是顺着枝干由树根向树梢前进, 因此 规避了逐条匹配的开销, 1000 条数据每条仅需 1 次比对。需时 1000 * N, 是逐条匹配需时 的 1/500, 优势明显。
如图 2, 从 root 开始沿最左边走下来得到的是 130, 左边第二条路径走下来是 131, 最右边走下来是 1890551( 合肥号段 ), 这样, 所有在局数据中配置了的号码, 均可并入这样 的一颗十叉树中 ( 每个节点最多有 10 个子节点 )。为后续的数据核查做好了准备。
各个厂家的交换机局数据存在和组织的结构各不相同。 本发明可以采用如下方法 获取并解析已配置在交换机中的局数据, 还可以对局数据文件中正则表达式的转义字符进 行翻译和扩展, 其流程如图 5 所示。以下方法仅是用于举例, 本领域技术人员应该理解, 可 以通过其他方法获取或者获取其他交换机的局数据文件。
(1) 支持华为 C&C08SPS 信令转接点设备通过 LST SCCPGT 命令获取的局数据格式 的解析。
华为 C&C08SPS LSTP 设备, 执行命令 : LST SCCPGT
(2) 支持阿尔卡特 - 朗讯公司的 Wireless CDMA System MSC 产品通过 Dbsurvey 命令获取的 dplan 表数据格式的解析。
阿尔卡特 - 朗讯 MSCe 设备, 执行命令 : Dbsurvey-i Dplan_Query-o Dplan_Output (3) 支持中兴通讯公司 ZXC10MSCe 交换机通过以下脚本获取的局数据格式的解 中兴 ZXC10MSCe, 执行脚本 :析。
(4) 支持贝尔 S1240HSTP 设备通过以下方法获取的局数据格式的解析。 贝尔 S1240HSTP 设备, 执行如下操作 :局数据核查模块 12, 向字冠分析模块提供供其调用的第二接口, 用于存储现网已 放号的号段 ( 标准 H 码表或者 GT 码表 ) 以及局数据配置规范。
我国现网中对移动网号之后的 4 位称为 H 码, 如 1380100, 138 为中国移动的移动 网号, 0100 为 H 码, 又如 1890551, 189 为中国电信的移动网号, 0551 为 H 码。H 码与地区是 一一对应的, 如 138 网号的 0100H 码对应北京地区, 189 网号的 0551H 码对应合肥地区。H 码表即已放号的号段, 是以移动网号 +H 码的形式, 记录了各 H 码与地区的对应关系。
GT 码可由 H 码经过换算关系计算得到, 并且核查原理、 过程和 H 码是一样的。 以下 为简化说明, 在具体描述时以 H 码为例进行说明, 但是, 本领域技术人员应该理解, 对 GT 码 分析数据的核查也在本发明的保护范围之内。
局数据配置规范, 为相关路由组织规范, 是对每个地区号段 (H 码或者 GT 码 ) 的分 析结果 ( 路由 ) 的规定。
字冠分析模块 13, 通过第一接口与局数据解析模块 11 耦合、 通过第二接口与局数 据核查模块 12 耦合, 将号段 (H 码表或者 GT 码表 ) 逐条与树形局数据结构中节点进行匹配, 若局数据结构中存在与号段 (H 码表或者 GT 码表 ) 完全匹配的节点, 认为局数据中已配置 该号段 (H 码表或者 GT 码表 ), 否则未配置。
进一步将匹配结果在局数据配置规范中检查。若在局数据中已配置号段 (H 码表 或者 GT 码表 ), 找到局数据配置规范中规定的该号段的路由, 检查与局数据中配置的路由 是否一致, 如果一致, 认为局数据的路由配置正确, 否则不正确。 上述匹配、 检查流程可以如 图 6 所示。
以 H 码表匹配过程为例, 对字冠分析模块 13 的匹配过程可进行说明。由于字冠分 析模块还可以将 H 码换算为 GT 码, 并核查 GT 码是否已配置以及路由是否正确。所以, 本领 域技术人员应该理解, 以下仅是用于说明, 不应理解为对本发明的限制。
字冠分析模块通过与局数据核查模块 12 的第二接口, 取出 H 码表中的一条记录 ; 通过与局数据解析模块 11 的第一接口, 获得树形局数据结构的根节点地址 ; 以取出的 H 码 表记录的第一个数字为依据, 走向根节点的子节点 ; 当存在一个子节点与第一个数字匹配 时, 将该子节点设置为当前节点, 并进而走向当前节点的子节点继续匹配第二个数字 ; 当第 二个数字与当前节点的一个子节点匹配时, 则将该子节点设置为当前节点, 并向子节点前 进, 继续匹配第三个数字, 直到匹配完这条 H 码表记录的所有数字 ; 在匹配过程中, 若局数 据结构中存在与 H 码表完全匹配的节点, 认为局数据中已配置该 H 码表, 若遇到下一个子节 点为空时, 局数据结构与 H 码表不完全匹配, 认为局数据中未配置该 H 码表。
比如, 1380100, 第一个数字是 1, 则走向根节点的数值是 1 的子节点 : 1( 参考图 2), 将这个值为 “1” 的子节点设置为当前节点 ; 第二个数字是 3, 则走向该当前节点的值为 “3” 的子节点, 并设置 “3” 为当前节点, 以此类推。
若遇到途中下一个子节点是空的时候, 说明交换机未配置此 H 码表, 存在错误, 则 记录、 输出。 若 H 码表完全匹配, 则字冠分析模块 13 通过与局数据核查模块 12 的第二接口, 找 到与该 H 码表对应的地区, 并根据局数据配置规范中该地区 H 码表的路由规定, 检查局数据 配置的正确与否。 若局数据配置与路由规定不一致, 则配置不正确, 说明交换机虽然配置了 此号码, 但路由分析指向存在错误, 需要记录、 输出。
图 3 是本发明 CDMA2000 核心网交换机局数据核查方法流程图。该方法实施例中, 将现网中已放号的号段 ( 我国放号是以号段为单位放号的, 如 1380100xxxx 全部为北京移 动号码 ) 与交换机中所配置的局数据进行匹配, 检查是否所有的已放号号段均在交换机中 做了相应的配置。进一步, 若已做了配置, 则检查配置是否正确 ( 即如果用户拨打这个号段 的号码是否能送往正确的地方 )。该方法包括以下步骤 :
在步骤 301, 获取并解析已配置在交换机中的局数据, 建立树形局数据结构。
树形局数据结构的子节点数大于等于 10 个。由于目前通信网络中的 H 码、 GT 码 均由 0-9 这十个数字组成, 为了与已开放的号段号码匹配, 树形局数据结构的子节点数优 选为 10 个子节点。当然, 本领域技术人员应该可以理解, 根据实际需要, 树形局数据结构的 子节点数可以据此进行相应变化。 在本发明基础上所作的修改和变化都应覆盖在本权利要 求的保护范围之内。
建立树形局数据结构的流程可以如图 4 所示。由于各个厂家的交换机局数据存在 和组织的结构各不相同, 在解析交换机局数据文件时, 还可能对文件中正则表达式的转义 字符进行翻译和扩展, 图 5 描述了解析阿尔卡特·朗讯特有的正则表达式形式记录号码的 解析过程, 该流程仅是用于说明, 本领域技术人员应该理解, 可以通过其他方法或者对其他 正则表达式的转义字符进行翻译和扩展。
在步骤 302, 读取已放号的号段和局数据配置规范。
在步骤 303, 将号段逐条与树形局数据结构中节点进行匹配。
当号段为 H 码表时, 将 H 码表逐条与树形局数据结构中节点进行匹配, 核查是否配
置该 H 码表 ; 或者
将 H 码换算为 GT 码, 将 GT 码表逐条与树形局数据结构中节点进行匹配, 核查是否 配置该 GT 码表。
在步骤 304, 判断局数据结构中是否存在与号段完全匹配的节点, 如果是, 前进到 步骤 306, 认为该号段已配置, 否则, 前进到步骤 305, 认为该号段未配置。
比如, 若遇到途中下一个节点是空的时候, 说明交换机未配置此号段, 存在错误, 则记录、 输出。执行该步骤可以判断是否所有号段均在交换机局数据中做了相应的配置。
该步骤的实现过程以所述号段为 H 码表为例, 可以如下所述, 但是本领域技术人 员应该可以理解, 所述过程仅是用于说明, 不应理解为对本发明的限制。
取出 H 码表中的一条记录 ;
获得树形局数据结构的根节点地址 ;
以 H 码表记录的第一个数字为依据, 走向根节点的与之匹配的子节点 ;
当存在一个子节点与第一个数字匹配时, 将该子节点设置为当前节点, 并进而走 向当前节点的子节点继续匹配第二个数字 ;
当第二个数字与当前节点的某一个子节点匹配时, 将当前节点的该子节点设置为 新的当前节点, 进而继续向新的当前节点的子节点前进, 尝试匹配第三个数字, 直到匹配完 H 码表的所有数字 ;
在匹配过程中, 若局数据结构中存在与 H 码表完全匹配的节点, 认为局数据中已 配置该 H 码表, 若任何一个子节点为空时, 局数据结构与 H 码表不完全匹配, 认为局数据中 未配置该 H 码表。
本发明方法在确认号段是否进行配置之后, 还可以确认已配置的号段是否正确。 还如图 3 所示, 本发明方法在步骤 306 之后, 进一步包括以下步骤 :
在步骤 307, 若号段已配置, 找到局数据配置规范中规定的该号段的路由。
当号段为 H 码表时, 所述 H 码表以移动网号 +H 码的形式, 记录了各 H 码与地区的 对应关系, 找到与 H 码对应的地区以及局数据配置规范中规定的地区 H 码的路由, 即为所述 号段的路由 ; 或者
将 H 码换算为 GT 码, 在 GT 码表中以移动网号 +GT 码的形式, 记录了各 GT 码与地 区的对应关系, 找到与 GT 码对应的地区以及局数据配置规范中规定的地区 GT 码的路由, 即 为所述号段的路由。
在步骤 308, 检查与局数据中配置的路由是否一致, 如果一致, 前进到步骤 309, 认 为局数据的路由配置正确, 说明交换机正确配置了号段, 否则, 前进到步骤 310, 认为局数据 的路由配置不正确, 说明交换机虽然配置了该号段, 但路由分析指向存在错误, 需要记录、 输出。比如, 用户拨打这个号段的号码, 能送往正确的地方, 认为配置正确, 否则配置不正 确。上述匹配、 检查流程如图 6 所示。
图 4 描述了本发明解析局数据、 构建十叉树的逻辑结构流程图, 即如何根据列表 形式的号码数据集合, 构造出一棵含有所有号码数据的十叉树。
在步骤 401, 检查根节点是否已存在, 如果存在, 表示十叉树根节点已创建, 直接 进行树枝、 树叶的构造, 执行步骤 403, 否则, 需要新建树根, 执行步骤 402 之后再执行步骤 403。在步骤 402, 创建根节点, 设置根节点为当前节点, 整棵树以根节点为基础进行创建。 在步骤 403, 读取局数据记录。
在步骤 404, 获取一条局数据记录, 将局数据规范化为字冠 + 路由的形式, 设置变 量 i = 1。
在步骤 405, 在当前节点的子节点中寻找是否有 value 字段数值等于字冠对应位 置数值的子节点 ( 第 i 位 ), 如果有, 执行步骤 407, 否则执行步骤 406 之后执行步骤 407。
所述对应位置由变量 i 控制。如当前节点为根节点时, i 为 1, 即在根节点的子节 点中寻找字冠的第 “1” 位数值, 随着每一步的步进, i 递增, 即在第二层子节点中寻找第 “2” 位数值, 在第三层子节点中寻找第 “3” 位数值。
在步骤 406, 当步进时发现子节点中没有与字冠对应位置数值相同的子节点, 则说 明需要在当前节点的位置新 “生出一个树杈” , 以描述局数据。也就是给当前节点创建子节 点, 并且将字冠对应位置数值赋值给这个子节点。
在步骤 407, 将该子节点设置为当前节点, i = i+1。
在步骤 408, 检查 i 是否已大于字冠位长, 如果是, 执行步骤 409, 否则跳转到步骤 405。
每做完一次匹配, 就需要检查字冠是否已经匹配到尽头, 如果没有, 则继续在当前 节点的子节点中往下匹配 ; 若已到尽头, 则这条局数据已被归并到了十叉树中, 也就是从 root 到最终子节点这条路径上。
在步骤 409, 当前节点的 isLeaf 字段设为 true, IDX 字段设为局数据记录中的路 由, length 字段设为位长。
最终子节点成为叶子节点, 也就是树枝的树梢, 将其 isLeaf 字段设为 true, 用来 标识一个完整的字冠精确的从 root 到此为止 ; 将路由信息写入叶子节点的 IDX 字段, 用来 在数据核查时检查路由是否正确。
在步骤 410, 局数据是否已读完, 如果是, 结束流程, 否则跳转到步骤 403。到上一 步, 已完成了一条局数据向十叉树的归并工作。 随后可返回继续读取下一条局数据, 直到所 有局数据读取完毕。
以图 2 举例, 有一条局数据是 1890551, 假如最开始只有一个 root 节点 ( 若没有则 会创建一个 root 节点 )。
以 root 为当前节点, 往下走第一步, 此时 i = 1, 字冠对应位置的数值是 1, 由于 root 没有子节点, 因此匹配失败, 则创建 “1” 这个子节点, 并且将它设为当前节点 ( 往前迈 了一步 ), i 变成 2 ;
字冠此时对应的数值是 8, 当前节点 “1” 由于是新创建的节点, 理所当然也没有子 节点, 再次匹配失败, 因此创建子节点 “8” , 并且设为当前节点 ( 往前迈了第二步 ), i 变成 3;
字冠此时对应的数值是 9, 与上面一样, 由于 “8” 是新创建的节点, 无子节点, 匹配 失败, 因此创建子节点 “9” , 设为当前节点 ( 往前迈了第三步 ), i 变成 4 ;
以 此 类 推 一 直 创 建 子 节 点 0、 子 节 点 5、 子 节 点 5、 子 节 点 1, i 变 成 8, 已大于 1890551 这个字段的长度 7, 代表字冠已到尽头, 因此最下面的子节点 “1” 是叶子节点, 标识
它的 isLeaf 字段为 true, 赋予它路由信息 (HEFEI), 字冠长度等信息。从 root 走到这个 “1” 的沿路数字顺序组合, 代表一个完整的 1890551 字冠的局数据。
图 5 描述了解析阿尔卡特·朗讯特有的正则表达式形式记录号码的解析过程。
正则表达式包含转义字符, 如 []、 P、 N、 ()、 X、 +;
[] 中的部分代表枚举, 如 [1, 2, 5-7] 代表 1、 2、 5、 6、 7;
P 代表 0 或 1 ;
N 代表 2 到 9 中的任意一个 ;
X 代表 0 到 9 中的任意一个 ;
() 代表对该括号之前一个字符的重复次数, 如 X(4) 代表 XXXX ;
+ 代表无限制的字符和个数。
正则表达式形式记录号码的解析过程是, 每次只扩展一个或一对转义字符, 其他 转义字符当普通数字处理。以下各个步骤之间的顺序不分先后。流程说明如下。
在步骤 501 :
读取” [“前的部分, 为字符串 A ; 读取” ]” 后的部分, 保存为字符串 B。
扩开” []” 中的部分, 得到数字串 Ci(i = 0, 1...n)。 得到字符串列表形式的临时结果 : “AC0B” , ” AC1B” , ..., ” ACnB” 。
在步骤 502 :
不存在” [“字符, 存在” P“字符。
读取” P“前的部分, 为字符串 A ; 读取” P” 后的部分, 保存为字符串 B。
得到字符串列表形式的临时结果 : “A0B, ” A1B” 。
在步骤 503 :
不存在” P“字符, 存在” N“字符。
读取” N“前的部分, 为字符串 A ; 读取” N” 后的部分, 保存为字符串 B。
得到字符串列表形式的临时结果 : “A2B” , ” A3B” , ..., “A9B” 。
在步骤 504 :
不存在” N“字符, 存在” (“字符。
读取” (“前的部分, 为字符串 A ; 读取” )” 后的部分, 保存为字符串 B ; 读取” ()” 中 的数字 n, 及” (“前的数字 C。
得到字符串列表形式的临时结果 : ACC......CCB, 其中 C 为 n 个。
在步骤 505 :
不存在” (“字符, 存在不位于末尾的连续” X“字符。
读取” X“前的部分, 为字符串 A ; 读取” X” 后的部分, 保存为字符串 B。
得到字符串列表形式的临时结果 : “A0B” , ” A1B” , ..., “A9B” 。
在步骤 506 :
存在位于末尾的连续” X“字符或 +。
对于末尾的连续” X“字符, 截取字冠, 根据临时结果中各字符串的长度设置各扩开 后字冠的位长 ; 对末尾为” +” 的字冠设置位长为 0, 代表无位长限制。
为说明方便, 以 189[1, 2]NP(4)X1 为例。
1. 搜索 [] 字符, 若存在, 则扩开此部分。变成
1891NP(4)X1、 1892NP(4)X1
当所有 [] 均被扩开 ( 搜索 [] 失败 ), 进入下一步
2. 搜索 P, 若存在, 则扩开。
以上个步骤中 1891NP(4)X1 为例, 扩开后变成
1891N0(4)X1、 1891N1(4)X1
当所有 P 均被扩开 ( 搜索 P 失败 ), 进入下一步
3. 搜索 N, 若存在, 则扩开。
189120(4)X1、 189130(4)X1、 189140(4)X1、 189150(4)X1、 189160(4)X1、 189170(4) X1、 189180(4)X1、 189190(4)X1、
189121(4)X1、 189131(4)X1、 189141(4)X1、 189151(4)X1、 189161(4)X1、 189171(4) X1、 189181(4)X1、 189191(4)X1、
当所有 N 均被扩开 ( 搜索 N 失败 ), 进入下一步
4. 搜索 (), 若存在, 则扩开。变成
189120000X1 、 189130000X1 、 189140000X1 、 189150000X1 、 189160000X1 、 189170000X1、 189180000X1、 189190000X1、 189121111X1 、 189131111X1 、 189141111X1 、 189151111X1 、 189161111X1 、 189171111X1、 189181111X1、 189191111X1、
当所有 () 均被扩开 ( 搜索 () 失败 ), 进入下一步
5. 搜索不存在于末尾的连续 X, 若存在, 则扩开。
以上个步骤中 189120000X1 为例, 扩开后成为
18912000001 、 18912000011 、 18912000021 、 18912000031 、 18912000041 、 18912000051、 18912000061、 18912000071、 18912000081、 18912000091。
6. 对于存在于末尾的连续 X 或 +, 进行截取, 并设置位长。
比如 1890551X(4), 经过扩展后变成 180551XXXX, 截取后成为 1890551, 位长 11, 写 入叶子节点的 “位长” 字段。
又如 11808+, 截取后成为 11808, 位长 0, 代表无限制, 写入叶子节点的 “位长” 字 段。
图 6 描述了局数据匹配、 检查过程。
在步骤 601, 输入字冠, 设置当前节点为根节点, 设置变量 i = 1。
在步骤 602, 检查 i 是否小于字冠位长, 如果是, 执行步骤 603, 否则执行步骤 608。
在步骤 603, 保存字冠的第 i 位数字 A。
在步骤 604, 检查当前节点的子节点中是否有 value 值等于 A 的子节点, 如果有, 执 行步骤 605, 否则执行步骤 609。
在步骤 605, 将该子节点设置为当前节点。
在步骤 606, 检查是否 isLeaf 为 true 且 Length 字段大于字冠位长, 如果是, 执行 步骤 607, 否则执行步骤 602。
在步骤 607, 匹配成功, 记录 IDX 字段, i = i+1。
在步骤 608, 检查是否曾匹配成功, 如果是, 执行步骤 610, 否则执行步骤 609。
在步骤 609, 输出无匹配报告。
在步骤 610, 检查是否符合路由规范, 如果是, 执行步骤 612, 否则执行步骤 611。
在步骤 611, 输出错误报告。
在步骤 612, 输出成功报告。
下面通过实施例对本发明进行举例说明。
本发明将各设备局数据文件导入本系统, 并导入现网 H 码表 /GT 码表, 点击系统开 始核查按钮, 即可进行核查工作。
读取已配置在电话交换机设备中的局数据, 分析是否现网所有可能被拨打的电话 号码均有相应的局数据条目, 对每一条局数据, 检查其所匹配的号码, 是否正确送往预期的 方向。
比如 : 安徽电信的 CDMA 手机用户会拨打北京移动 GSM 的手机 ( 如 13900101234), 需要局数据配置中存在匹配 1390010 这个前缀的条目, 并且这个条目决定此呼叫送出的方 向应该是出省送往北京。因此就可据此检查局数据数据库中是否存在一个条目, 它的号码 匹配部分是 1390010, 路由部分是 “送往北京” 。
核查结束后, 将自动保存报告于工作目录下。本发明可以对海量局数据的配置进 行完备性、 准确性检查。
本发明利用十叉树的数据结构, 根据交换机的局数据数据库重构交换机的号码分 析、 路由选择逻辑, 并可根据运营商制定的路由规范进行完备性、 准确性核查, 输出易读的 核查报告。本发明针对 CDMA2000 移动网络的核心网交换机, 解决大批量、 高复杂度局数据 核查问题。
作为对详细描述的结论, 应该注意本领域的技术人员将会很清楚可对优选实施例 做出许多变化和修改, 而实质上不脱离本发明的原理。这种变化和修改包含在所附权利要 求书所述的本发明的范围之内。