一种服务器迭代查询方法及系统 技术领域 本 发 明 涉 及 IMS(IP Multimedia Subsystem, IP 多 媒 体 子 系 统 ) 网 络 的 ENUM(Telephone Number Mapping working group, 电话号码映射工作组 )/DNS(Domain Name System, 域名系统 ) 服务器领域, 更具体地, 涉及一种服务器迭代查询方法及系统。
背景技术
中国移动通信企业标准中, 《中国移动 ENUM-DNS 接口和设备规范》指出 : 一级 ENUM/DNS 服务器与二级 ENUM/DNS 服务器之间的查询方式有两种 : 递归查询 ( 必选 ) 和迭 代方式 ( 可选 )。
ENUM/DNS 服务器接收到一个迭代形式的查询后, 需要给出最终的查询结果或者失 败结果。 《中国移动 ENUM-DNS 接口和设备规范》 中提到, 如果在本服务器查询不到, 需要在应 答中返回权威服务器的域名和 IP 地址。前 ENUM/DNS 服务器再向应答中返回的权威 ENUM/ DNS 服务器查询, 直到获取查询结果。
现有服务器的查询方式存在如下问题 : 在整个 IMS 系统中, 一级 ENUM/DNS 服务器 往往只有一套, 从而很容易导致一级 ENUM/DNS 服务器的负荷过大。 发明内容
本发明解决的技术问题是提供一种服务器迭代查询方法及系统, 有效减少一级 ENUM/DNS 服务器的负担, 提高了查询的响应速度。
为解决上述技术问题, 本发明提供了一种服务器迭代查询方法, 所述方法包括 :
二级电话号码映射工作组 / 域名系统 (ENUM/DNS) 服务器收到客户端的迭代查 询请求时, 首先进行本地数据查询, 本地数据查询失败后, 则在本地缓存中查询目标二级 ENUM/DNS 服务器的地址信息, 如果查询成功, 则根据查询到的目标二级 ENUM/DNS 服务器的 地址信息直接向所述目标二级 ENUM/DNS 服务器发起查询 ; 否则, 向一级 ENUM/DNS 服务器发 起查询, 并将所述一级 ENUM/DNS 服务器返回的相关域名称及地址信息缓存到本地。
进一步地, 所述二级 ENUM/DNS 服务器向所述一级 ENUM/DNS 服务器发起查询时, 所 述一级 ENUM/DNS 服务器首先向数据库发起域名服务器 (NS) 查询, 收到 NS 查询结果后, 将 NS 查询结果中的目标二级 ENUM/DNS 服务器名称 (nameserver) 及与客户端的查询名相关 的名称 (name) 放入权威服务器域名信息 (Authority) 中, 并用所述 NS 查询结果中的所述 nameserver 向数据库发起地址查询 (A 查询 ) ; 收到 A 查询结果后, 将 A 查询结果中的目标 二级 ENUM/DNS 服务器的 IP 地址信息放入权威服务器地址信息 (Additional) 中, 最后将所 述 Authority 和 Additional 返回给所述二级 ENUM/DNS 服务器。
进一步地, 所述二级 ENUM/DNS 服务器收到所述 Authority 和 Additional 后, 将所 述 Authority 中的 name 字段及 Additional 中的 IP 地址信息缓存到域名 - 地址信息映射 表中, 在收到迭代查询请求后, 通过以下方式在本地缓存中查询目标二级 ENUM/DNS 服务器 的地址信息 :根据所述域名 - 地址信息映射表中的 name 字段与所述迭代查询请求中的号码或 域名进行匹配, 如果匹配到, 则匹配到的 name 字段所对应的 IP 地址信息即为所述目标二级 ENUM/DNS 服务器的地址信息, 查询成功。
进一步地, 所述二级 ENUM/DNS 服务器采用如下匹配方式对所述迭代查询请求中 的号码进行匹配 :
将所述号码中的号段逆序排列, 转换为 “类别 (zone)+ 逆序号段” 的形式后, 通过 左匹配的方式, 根据所述域名 - 地址信息映射表中的 name 字段与所述转换后的形式进行匹 配, 并将匹配到的最长的记录作为匹配结果。
进一步地, 所述二级 ENUM/DNS 服务器采用如下匹配方式对所述迭代查询请求中 的域名进行匹配 :
将所述迭代查询请求中的域名按照域名分为多层, 根据所述域名 - 地址信息映射 表中的 name 字段与所述分层后的多层域名进行匹配, 并将匹配到的最长的记录作为匹配 结果。
进一步地, 所述一级 ENUM/DNS 服务器在向数据库发起 NS 查询时, 采用如下匹配方 式对 NS 查询请求中的号码或域名进行匹配 : 将所述 NS 查询请求中的号码中的号段逆序排列, 转换为 “zone+ 逆序号段” 的形式 后, 通过左匹配的方式, 根据所述域名 - 地址信息映射表中的 name 字段与所述转换后的形 式进行匹配, 并将匹配到的最长的记录作为匹配结果 ;
将所述 NS 查询请求中的域名按照域名分为多层, 根据所述域名 - 地址信息映射表 中的 name 字段与所述分层后的多层域名进行匹配, 并将匹配到的最长的记录作为匹配结 果。
本发明还提供了一种服务器迭代查询系统, 所述系统包括二级 ENUM/DNS 服务器, 所述二级 ENUM/DNS 服务器进一步包括 : 地址信息缓存模块、 地址信息查询模块,
所述地址信息查询模块用于, 收到迭代查询请求时, 首先进行本地数据查询, 本地 数据查询失败后, 则在本地缓存中查询目标二级 ENUM/DNS 服务器的地址信息, 如果查询成 功, 则根据查询到的目标二级 ENUM/DNS 服务器的地址信息直接向所述目标二级 ENUM/DNS 服务器发起查询 ; 否则, 向一级 ENUM/DNS 服务器发起查询 ;
所述地址信息缓存模块用于, 对收到的所述一级 ENUM/DNS 服务器返回的相关域 名称及地址信息进行缓存。
此外, 所述系统还包括一级 ENUM/DNS 服务器中的查询处理模块,
所述查询处理模块用于, 收到所述地址信息查询模块发起的查询时, 首先向数 据 库 发 起 NS 查 询, 收 到 NS 查 询 结 果 后, 将 NS 查 询 结 果 中 的 nameserver 及 name 放 入 Authority 中, 并用 NS 查询结果中的 nameserver 向数据库发起 A 查询 ; 收到 A 查询结果后, 将 A 查询结果中的目标二级 ENUM/DNS 服务器的 IP 地址信息放入 Additional 中, 最后将所 述 Authority 和 Additional 返回给所述地址信息查询模块 ;
所述地址信息缓存模块进一步用于, 收到所述 Authority 和 Additional 后, 将所 述 Authority 中的 name 字段及 Additional 中的 IP 地址信息缓存到域名 - 地址信息映射 表中。
此外, 所述地址信息查询模块进一步用于, 通过以下方式在本地缓存中查询目标
二级 ENUM/DNS 服务器的地址信息 :
根据所述域名 - 地址信息映射表中的 name 字段与所述迭代查询请求中的号码或 域名进行匹配, 如果匹配到, 则匹配到的 name 字段所对应的 IP 地址信息即为所述目标二级 ENUM/DNS 服务器的地址信息, 查询成功。
此外, 所述地址信息查询模块进一步用于, 采用如下匹配方式对所述迭代查询请 求中的号码进行匹配 :
将所述号码中的号段逆序排列, 转换为 “zone+ 逆序号段” 的形式后, 通过左匹配的 方式, 根据所述域名 - 地址信息映射表中的 name 字段与所述转换后的形式进行匹配, 并将 匹配到的最长的记录作为匹配结果。
此外, 所述地址信息查询模块进一步用于, 采用如下匹配方式对所述迭代查询请 求中的域名进行匹配 :
将所述迭代查询请求中的域名按照域名分为多层, 根据所述域名 - 地址信息映射 表中的 name 字段与所述分层后的多层域名进行匹配, 并将匹配到的最长的记录作为匹配 结果。
此外, 所述查询处理模块进一步用于, 在向数据库发起 NS 查询时, 采用如下匹配 方式对 NS 查询请求中的号码或域名进行匹配 : 将所述 NS 查询请求中的号码中的号段逆序排列, 转换为 “zone+ 逆序号段” 的形式 后, 通过左匹配的方式, 根据所述域名 - 地址信息映射表中的 name 字段与所述转换后的形 式进行匹配, 并将匹配到的最长的记录作为匹配结果 ;
将所述 NS 查询请求中的域名按照域名分为多层, 根据所述域名 - 地址信息映射表 中的 name 字段与所述分层后的多层域名进行匹配, 并将匹配到的最长的记录作为匹配结 果。
与现有技术相比, 本发明至少具有如下特点 :
本发明在二级 ENUM/DNS 服务器采用缓存技术, 二级 ENUM/DNS 服务器在收到迭代 查询请求后, 如果在缓存中查到目标二级 ENUM/DNS 服务器 IP 地址, 则直接将查询请求转向 目标二级 ENUM/DNS 服务器, 不需要再去一级 ENUM/DNS 服务器查询, 从而能够有效减少一级 ENUM/DNS 服务器的负担 ;
采用本发明方案的以及和二级 ENUM/DNS 服务器, 分工明确, 在发起查询的二级 ENUM/DNS 服务器上就可以了解整个查询的流程 ;
此外, 一级 ENUM/DNS 服务器将 NS(Name Server, 域名服务器 ) 查询结果中的与客 户端的查询名相关的名称 (name) 放入权威服务器域名信息 (Authority) 字段中, 然后用 NS 查询结果中的 nameserver 发起 A(Address, 地址 ) 查询, 最后将 A 查询的结果 (nameserver 对应的 IP 地址 ) 放入权威服务器地址信息 (Additional) 字段中, 返回给二级 ENUM-DNS 服 务器。从而避免了二级 ENUM-DNS 服务器分别向一级 ENUM-DNS 服务器发起 NS 查询和 A 查 询, 从而简化了查询的流程, 且有效地减少了一级 ENUM/DNS 服务器的负担, 提高了系统的 可靠性。
附图说明
图 1 为现有技术的迭代查询系统的总体架构图 ;图 2 为本发明实施例的迭代查询的流程示意图 ; 图 3 为本发明实施例的一级 ENUM/DNS 服务器的迭代查询流程示意图 ; 图 4 为本发明实施例的服务器迭代查询系统的示意框图。具体实施方式
为了解决现有查询方式存在的问题, 本发明提供一种实现 IMS 网络中 ENUM/DNS 服务器迭代方式查询方法, 其核心思想在于, 在二级 ENUM/DNS 服务器上设置对查询一级 ENUM/DNS 服务器结果的缓存。通过这种缓存技术, 既能够达到 《中国移动 ENUM-DNS 接口和 设备规范》 中对于迭代查询的要求, 并且有效减少了一级 ENUM/DNS 服务器的负担, 提高了查 询的响应速度。
基于上述思想, 本发明提供一种服务器迭代查询方法, 具体采用如下技术方案 :
二级 ENUM/DNS 服务器收到客户端的迭代查询请求后, 首先进行本地数据查询, 本 地数据查询失败后, 则在本地缓存中查询目标二级 ENUM/DNS 服务器的地址信息, 如果查询 成功, 则根据查询到的目标二级 ENUM/DNS 服务器的地址信息直接向所述目标二级 ENUM/ DNS 服务器发起查询 ; 否则, 向一级 ENUM/DNS 服务器发起查询, 并将所述一级 ENUM/DNS 服 务器返回的权威服务器的域名信息及地址信息缓存到本地。 进一步地, 所述二级 ENUM/DNS 服务器向所述一级 ENUM/DNS 服务器发起查询时, 所 述一级 ENUM/DNS 服务器首先向数据库发起域名服务器 (NS) 查询, 收到 NS 查询结果后, 将 NS 查询结果中的目标二级 ENUM/DNS 服务器名称 (nameserver) 及与客户的查询名相关的名 称 (name) 放入权威服务器域名信息 (Authority) 中, 并用 NS 查询结果中的 nameserver 向 数据库发起 A 查询 ; 收到 A 查询结果后, 将 A 查询结果中的目标二级 ENUM/DNS 服务器的 IP 地址信息放入权威服务器地址信息 (Additional) 中, 最后将所述 Authority 和 Additional 返回给所述二级 ENUM/DNS 服务器。
进 一 步 地, 所 述 二 级 ENUM/DNS 服 务 器 将 所 述 Authority 中 的 name 字 段 及 Additional 中的 IP 地址信息缓存到域名 - 地址信息映射表中 ;
所述二级 ENUM/DNS 服务器进行本地数据查询失败后, 通过以下方式在本地缓存 中查询目标二级 ENUM/DNS 服务器的地址信息 :
根据所述域名 - 地址信息映射表中的 name 字段与所述迭代查询请求中的号码或 域名进行匹配, 如果匹配到, 则匹配到的 name 字段所对应的 IP 地址信息即为所述目标二级 ENUM/DNS 服务器的地址信息, 查询成功。
进一步地, 所述二级 ENUM/DNS 服务器采用如下匹配方式对所述迭代查询请求中 的号码进行匹配 :
将所述号码中的号段逆序排列, 转换为 “类别 (zone)+ 逆序号段” 的形式后, 通过 左匹配的方式, 根据所述域名 - 地址信息映射表中的 name 字段与所述转换后的形式进行匹 配, 并将匹配到的最长的记录作为匹配结果。
进一步地, 所述二级 ENUM/DNS 服务器采用如下匹配方式对所述迭代查询请求中 的域名进行匹配 :
将所述迭代查询请求中的域名按照域名分为多层, 根据所述域名 - 地址信息映射 表中的 name 字段与所述分层后的多层域名进行匹配, 并将匹配到的最长的记录作为匹配
结果。 需要说明的是, 本发明中的二级缓存功能, 与通常意义的缓存具有实质性的区别。 本发明中缓存方法是为适应 ENUM/DNS 系统中查询专门设计的。其具体设计方案如下 :
二级 ENUM/DNS 系统的缓存采用 domainname 对目标二级 ENUM/DNS 服务器的 IP 地 址列表 ; 同时, 优选地, 本发明支持对目标二级 ENUM/DNS 服务器轮流选择的方案, 从而实现 二级 ENUM/DNS 服务器之间的负荷均衡。此外, 若以 NAPTR 查询为例 : 一级 ENUM/DNS 配置的 号段为 1381381 对应某个目标二级 ENUM/DNS 服务器, 那么就要求该号段下的所有号码都应 该对应到该目标二级 ENUM/DNS 服务器, 因此缓存采用的 domainname 不是客户端发起查询 请求中的 domainname, 而是一级查询返回结果中 Authority 的与客户端的查询名相关的名 称 (name) 字段的内容, 这样查询匹配的结果更精确。如果是带号码的 NAPTR 查询, 该字段 为号段形式 ; 如果是 DNS 查询, 该字段为查询请求中的 domainname 本身, 或者是与其最接近 的父域名。为此, 本发明中结合 eBase 数据库技术, 设计了实现号段的最精确匹配和域名查 询分层的最精确匹配的 ENUM/DNS 中缓存的匹配方案。
(1) 号段的最精确匹配
假设客户端发起查询的号码为 2.2.2.2.1.8.3.1.8.3.1.6.8.mms.e164.cnct, 那 么, 则在本服务器的 ebase 数据库中, 如果在 mms.e164.cnct 该 zone( 类别 ) 下面有 86138 和 861381 这两个号段, 则它们在 eBase 数据库中的形式为 : mms.e164.cnct.86138 和 mms. e164.cnct.861381。首先将客户端查询请求的号码的形式转换为 “zone+ 逆序号段” 的形 式: mms.e164.cnct.8613813812222 ; 然后在 eBase 数据库中通过左匹配的方式, 可以保证 我们最终得到的结果是缓存中所有数据中的最精确的记录, 即, 得到的结果是 861381 这个 号段所对应的记录。
(2) 域名查询分层的最精确匹配
假 设 客 户 端 发 起 查 询 的 domainname 为 : “_sip._udp.js.ctcims.cn” , 那 么, 在 ebase 数据库中, 如果存在 domainname 为 : js.ctcims.cn 和 ctcims.cn 这两条记录, 则本 发明首先将查询请求中的 domainname 按照域名分层的方法进行处理, 例如, 在本示例中将 查询请求中的 domainname 按照域名分层 ( 即以点分层 ) 为 : _sip._udp.js.ctcims.cn, _udp.js.ctcims.cn, js.ctcims.cn, ctcims.cn 和 cn, 随 后 在 我 们 的 eBase 数 据 库 中 用 SQL(Structured QueryLanguage, 结构化查询语言 ) 中的 “in” , 同时辅助 eBase 数据库中的 特定选择记录的功能 ( 即可以选择最长的匹配记录 ), 可以保证得到的结果是所有配置数 据中的最精确的记录, 即得到结果是 js.ctcims.cn 这个 domainname 所对应记录。
本发明提供的迭代查询方法的具体实现主要包括以下内容 :
1. 二级 ENUM/DNS 服务器系统的业务机运用了自研的内存数据库 ebase 技术, 在 每台业务机上装有一套 ebase ; 二级 ENUM/DNS 服务器在收到客户端的迭代查询请求时, 每 台业务机会通过查询本机的 ebase 中的缓存表, 根据查询的结果确定直接去另一个二级 ENUM/DNS 服务器查询, 或者转向一级 ENUM/DNS 服务器查询。
2. 一级 ENUM/DNS 服务器收到迭代查询请求后, 首先进行 NS 查询, 并将查询到的结 果放入 Authority 中, 然后用 NS 查询到的 nameserver 发起 A 查询, 最后将 A 查询的结果放 入 Additional 字段中, 返回给二级 ENUM-DNS 服务器, 结束一级 ENUM-DNS 服务器的迭代查 询流程。
3. 二级 ENUM/DNS 服务器得到从本地缓存中查询到的或者从一级 ENUM/DNS 服务器 查询到的目标二级 ENUM/DNS 服务器的地址后, 向该二级 ENUM/DNS 服务器转发请求, 并将最 终的查询结果发送给客户端。
下面结合附图和实例对 IMS 网络中 ENUM-DNS 服务器迭代方式查询的实现, 技术领 域应用方法进行说明。
图 1 是迭代查询的总体架构图, 该图遵循 《中国移动 CM-IMSENUM-DNS 设备规范》 中对 IMS 网络中迭代查询的描述。需要说明的是, 此处是以 NAPTR 查询为例进行说明, 对于 DNS 查询该流程同样适用。
假设广东 IMS 用户拨打江苏 IMS 用户, 则具体迭代查询的流程如下 :
步 骤 1, 广 东 省 S-CSCF 向 广 东 省 二 级 ENUM/DNS 服 务 器 发 送 NAPTR(Naming Authority Pointer, 名称权威指针 ) 查询请求 ;
步骤 2, 广东省二级 ENUM/DNS 服务器查询失败, 根据本地存储的一级 ENUM/DNS 地 址信息, 向一级 ENUM/DNS 服务器发送 NAPTR 查询请求 ;
步骤 3, 一级 ENUM/DNS 服务器根据本地存储的 NS 记录, 判断该号段用户对应归 属省为江苏省, 向广东省二级 ENUM/DNS 服务器返回江苏省二级 ENUM/DNS 服务器的地址信 息;
步骤 4, 广东省二级 ENUM/DNS 向江苏省二级 ENUM/DNS 服务器发送 NAPTR 查询请 步骤 5, 江苏省二级 ENUM/DNS 服务器返回查询结果至广东省二级 ENUM/DNS 服务求;
器; 步骤 6, 广东省二级 ENUM/DNS 服务器将查询结果返回给客户端, 如 ENUM/DNS 的客 户端之一 S-CSCF( 服务 - 呼叫会话控制功能 )。
图 2 为本发明中迭代查询的整体流程图, 仍然假设是广东的二级 ENUM/DNS 服务器 发起迭代查询流程, 江苏的为目标二级 ENUM/DNS 服务器, 具体查询流程如下 :
步骤 201, 广东二级 ENUM/DNS 服务器收到客户端的查询请求, 首先进行本地数据 查询, 如果查询成功, 将最终的查询结果返回给客户端, 否则进入下一步 ;
步骤 202, 到 eBase 数据库查询缓存数据, 如果查询命中, 则直接去目标二级 ENUM/ DNS 服务器继续查询, 否则进入下一步 ;
步骤 203, 将该查询请求转向一级 ENUM/DNS 服务器, 一级返回目标二级 ENUM/DNS 服务器的域名及 IP 地址等信息 ;
步骤 204, 广东二级 ENUM/DNS 服务器收到一级返回的 Authority 和 Additional 时, 根据其中相应的 Additional 部分中的 IP 地址信息, 将该迭代查询请求转向目标二级 ENUM/DNS 服务器继续查询 ;
同时, 广东二级 ENUM/DNS 服务器还会处理一级 ENUM/DNS 服务器返回的 Authority 和 Additional 部分的信息, 并在 eBase 中对 Authority 中的 name 字段及 Additional 中的 IP 地址信息进行缓存, 例如, 可以缓存到一张域名 - 地址信息映射表中, 以便后续收到迭代 查询请求时, 根据该域名 - 地址信息映射表进行查询。
步骤 205, 目标二级 ENUM/DNS 服务器收到查询请求后, 进行本地查询, 并将查询的 最终结果返回给广东二级 ENUM/DNS 服务器 ;
步骤 206, 广东二级 ENUM/DNS 服务器收到最终的查询结果后, 将该最终的查询结 果返回给客户端。
图 3 是本发明实施例的一级 ENUM/DNS 服务器系统的迭代查询流程图, 如图 3 所 示, 该流程具体描述如下 :
步骤 301, 一级 ENUM/DNS 服务器收到迭代查询请求后, 先到 eBase 数据库进行 NS 查询 ;
步 骤 302, eBase 数 据 库 返 回 NS 查 询 响 应, NS 查 询 响 应 中 包 含 有 name 和 nameserver 等 NS 查询结果 ;
步 骤 303, 一 级 ENUM/DNS 服 务 器 将 NS 查 询 响 应 中 的 name 和 nameserver 放 入 Authority 中, 然后用该 nameserver 向 eBase 数据库发起 A 查询 ;
步骤 304, eBase 数据库返回 A 查询结果 ( 目标二级 ENUM/DNS 服务器的 IP 地 址 ), 一级 ENUM/DNS 服务器将 A 查询的结果放入 Additional 中, 最后将整个查询结果 (Authority 和 Additional) 返回给二级 ENUM/DNS 服务器。
此外, 在本发明中, 一级 ENUM/DNS 服务器进行 NS 查询时, 与二级 ENUM/DNS 服务 器查询缓存一样, 也可以进行号段最精确匹配或者域名分层的最精确匹配, 并可使用存储 过程实现, 其查询匹配过程与二级 ENUM/DNS 服务器查询缓存的匹配方式相同, 在此不再赘 述。 相应地, 本发明实施例还提供了一种服务器迭代查询系统, 如图 4 所示, 该系统包 括二级 ENUM/DNS 服务器, 所述二级 ENUM/DNS 服务器进一步包括 : 地址信息缓存模块、 地址 信息查询模块, 其中 :
所述地址信息查询模块用于, 收到迭代查询请求时, 首先进行本地数据查询, 本地 数据查询失败后, 则在本地缓存中查询目标二级 ENUM/DNS 服务器的地址信息, 如果查询成 功, 则根据查询到的目标二级 ENUM/DNS 服务器的地址信息直接向所述目标二级 ENUM/DNS 服务器发起查询 ; 否则, 向一级 ENUM/DNS 服务器发起查询 ;
所述地址信息缓存模块用于, 对收到的所述一级 ENUM/DNS 服务器返回的相关域 名称及地址信息进行缓存。
此外, 所述系统还包括一级 ENUM/DNS 服务器中的查询处理模块,
所述查询处理模块用于, 收到所述地址信息查询模块发起的查询时, 首先向数 据 库 发 起 NS 查 询, 收 到 NS 查 询 结 果 后, 将 NS 查 询 结 果 中 的 nameserver 及 name 放 入 Authority 中, 并用 NS 查询结果中的 nameserver 向数据库发起 A 查询 ; 收到 A 查询结果后, 将 A 查询结果中的目标二级 ENUM/DNS 服务器的 IP 地址信息放入 Additional 中, 最后将所 述 Authority 和 Additional 返回给所述地址信息查询模块 ;
所述地址信息缓存模块进一步用于, 收到所述 Authority 和 Additional 后, 将所 述 Authority 中的 name 字段及 Additional 中的 IP 地址信息缓存到域名 - 地址信息映射 表中。
此外, 所述地址信息查询模块进一步用于, 收到迭代查询请求后, 通过以下方式在 本地缓存中查询目标二级 ENUM/DNS 服务器的地址信息 :
根据所述域名 - 地址信息映射表中的 name 字段与所述迭代查询请求中的号码或 域名进行匹配, 如果匹配到, 则匹配到的 name 字段所对应的 IP 地址信息即为所述目标二级
ENUM/DNS 服务器的地址信息, 查询成功。
此外, 所述地址信息查询模块进一步用于, 采用如下匹配方式对所述迭代查询请 求中的号码进行匹配 :
将所述号码中的号段逆序排列, 转换为 “zone+ 逆序号段” 的形式后, 通过左匹配的 方式, 根据所述域名 - 地址信息映射表中的 name 字段与所述转换后的形式进行匹配, 并将 匹配到的最长的记录作为匹配结果。
此外, 所述地址信息查询模块进一步用于, 采用如下匹配方式对所述迭代查询请 求中的域名进行匹配 :
将所述迭代查询请求中的域名按照域名分为多层, 根据所述域名 - 地址信息映射 表中的 name 字段与所述分层后的多层域名进行匹配, 并将匹配到的最长的记录作为匹配 结果。
此外, 所述查询处理模块进一步用于, 在向数据库发起 NS 查询时, 采用如下匹配 方式对 NS 查询请求中的号码或域名进行匹配 :
将所述 NS 查询请求中的号码中的号段逆序排列, 转换为 “zone+ 逆序号段” 的形式 后, 通过左匹配的方式, 根据所述域名 - 地址信息映射表中的 name 字段与所述转换后的形 式进行匹配, 并将匹配到的最长的记录作为匹配结果 ; 将所述 NS 查询请求中的域名按照域名分为多层, 根据所述域名 - 地址信息映射表 中的 name 字段与所述分层后的多层域名进行匹配, 并将匹配到的最长的记录作为匹配结 果。
本发明可以应用于 IMS 网络的 ENUM-DNS 服务器数据查询, 应用本发明方法, 同类 非本地数据查询, 在源二级 ENUM/DNS 服务器通过查询缓存信息就可以知道应该将该请求 发往哪个目标二级 ENUM/DNS 服务器, 而不用再向一级 ENUM/DNS 服务器查询, 同时非本地数 据的查询结果将不再需要从一级 ENUM/DNS 服务器中转, 有效地减少了一级 ENUM/DNS 服务 器的负担, 从而有效提高了系统的可靠性。
以上仅为本发明的优选实施案例而已, 并不用于限制本发明, 本发明还可有其他 多种实施例, 在不背离本发明精神及其实质的情况下, 熟悉本领域的技术人员可根据本发 明做出各种相应的改变和变形, 但这些相应的改变和变形都应属于本发明所附的权利要求 的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读存储器、 磁盘或光盘 等。可选地, 上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地, 上述实施例中的各模块 / 单元可以采用硬件的形式实现, 也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。