一种服务器迭代查询方法及系统的制作方法

文档序号:7757871阅读:194来源:国知局
专利名称:一种服务器迭代查询方法及系统的制作方法
技术领域
本发明涉及IMS(IP Multimedia Subsystem, IP多媒体子系统)网络的 ENUM(Telephone Number Mapping working group, %iS ^54 H^MX# ) /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. el64. cnct,那 么,则在本服务器的ebase数据库中,如果在mms. el64. cnct该zone (类别)下面有86138 和861381这两个号段,则它们在eBase数据库中的形式为mms. el64. cnct. 86138和mms. el64. cnct. 861381。首先将客户端查询请求的号码的形式转换为“zone+逆序号段”的形 式mms. el64. cnct. 8613813812222 ;然后在eBase数据库中通过左匹配的方式,可以保证 我们最终得到的结果是缓存中所有数据中的最精确的记录,即,得到的结果是861381这个 号段所对应的记录。(2)域名查询分层的最精确匹配假设客户端发起查询的domainname 为:“_sip._udp. js. ctcims. cn”,那么,在 ebase数据库中,如果存在domainname为js. ctcims. cn禾口 ctcims. cn这两条记录,贝Ij本 发明首先将查询请求中的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服务 器的负担,从而有效提高了系统的可靠性。以上仅为本发明的优选实施案例而已,并不用于限制本发明,本发明还可有其他 多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发 明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求 的保护范围。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘 等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
权利要求
一种服务器迭代查询方法,其特征在于,所述方法包括二级电话号码映射工作组/域名系统(ENUM/DNS)服务器收到客户端的迭代查询请求时,首先进行本地数据查询,本地数据查询失败后,则在本地缓存中查询目标二级ENUM/DNS服务器的地址信息,如果查询成功,则根据查询到的目标二级ENUM/DNS服务器的地址信息直接向所述目标二级ENUM/DNS服务器发起查询;否则,向一级ENUM/DNS服务器发起查询,并将所述一级ENUM/DNS服务器返回的相关域名称及地址信息缓存到本地。
2.如权利要求1所述的方法,其特征在于,所述二级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服务器。
3.如权利要求2所述的方法,其特征在于,所述二级ENUM/DNS服务器收到所述Authority和Additional后,将所述Authority 中的name字段及Additional中的IP地址信息缓存到域名-地址信息映射表中,在收到迭 代查询请求后,通过以下方式在本地缓存中查询目标二级ENUM/DNS服务器的地址信息根据所述域名_地址信息映射表中的name字段与所述迭代查询请求中的号码或域 名进行匹配,如果匹配到,则匹配到的name字段所对应的IP地址信息即为所述目标二级 ENUM/DNS服务器的地址信息,查询成功。
4.如权利要求3所述的方法,其特征在于,所述二级ENUM/DNS服务器采用如下匹配方式对所述迭代查询请求中的号码进行匹配将所述号码中的号段逆序排列,转换为“类别(zone) +逆序号段”的形式后,通过左匹 配的方式,根据所述域名_地址信息映射表中的name字段与所述转换后的形式进行匹配, 并将匹配到的最长的记录作为匹配结果。
5.如权利要求3所述的方法,其特征在于,所述二级ENUM/DNS服务器采用如下匹配方式对所述迭代查询请求中的域名进行匹配将所述迭代查询请求中的域名按照域名分为多层,根据所述域名-地址信息映射表中 的name字段与所述分层后的多层域名进行匹配,并将匹配到的最长的记录作为匹配结果。
6.如权利要求2所述的方法,其特征在于,所述一级ENUM/DNS服务器在向数据库发起NS查询时,采用如下匹配方式对NS查询请 求中的号码或域名进行匹配将所述NS查询请求中的号码中的号段逆序排列,转换为“zone+逆序号段”的形式后, 通过左匹配的方式,根据所述域名-地址信息映射表中的name字段与所述转换后的形式进 行匹配,并将匹配到的最长的记录作为匹配结果;将所述NS查询请求中的域名按照域名分为多层,根据所述域名_地址信息映射表中的name字段与所述分层后的多层域名进行匹配,并将匹配到的最长的记录作为匹配结果。
7.一种服务器迭代查询系统,其特征在于,所述系统包括二级ENUM/DNS服务器,所述 二级ENUM/DNS服务器进一步包括地址信息缓存模块、地址信息查询模块,其中所述地址信息查询模块用于,收到迭代查询请求时,首先进行本地数据查询,本地数据 查询失败后,则在本地缓存中查询目标二级ENUM/DNS服务器的地址信息,如果查询成功, 则根据查询到的目标二级ENUM/DNS服务器的地址信息直接向所述目标二级ENUM/DNS服务 器发起查询;否则,向一级ENUM/DNS服务器发起查询;所述地址信息缓存模块用于,对收到的所述一级ENUM/DNS服务器返回的相关域名称 及地址信息进行缓存。
8.如权利要求7所述的系统,其特征在于,所述系统还包括一级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地址信息缓存到域名-地址信息映射表 中。
9.如权利要求8所述的系统,其特征在于,所述地址信息查询模块进一步用于,通过以下方式在本地缓存中查询目标二级ENUM/ DNS服务器的地址信息根据所述域名_地址信息映射表中的name字段与所述迭代查询请求中的号码或域 名进行匹配,如果匹配到,则匹配到的name字段所对应的IP地址信息即为所述目标二级 ENUM/DNS服务器的地址信息,查询成功。
10.如权利要求9所述的系统,其特征在于,所述地址信息查询模块进一步用于,采用如下匹配方式对所述迭代查询请求中的号码 进行匹配将所述号码中的号段逆序排列,转换为“zone+逆序号段”的形式后,通过左匹配的方 式,根据所述域名_地址信息映射表中的name字段与所述转换后的形式进行匹配,并将匹 配到的最长的记录作为匹配结果。
11.如权利要求9所述的系统,其特征在于,所述地址信息查询模块进一步用于,采用如下匹配方式对所述迭代查询请求中的域名 进行匹配将所述迭代查询请求中的域名按照域名分为多层,根据所述域名-地址信息映射表中 的name字段与所述分层后的多层域名进行匹配,并将匹配到的最长的记录作为匹配结果。
12.如权利要求8所述的系统,其特征在于,所述查询处理模块进一步用于,在向数据库发起NS查询时,采用如下匹配方式对NS查 询请求中的号码或域名进行匹配将所述NS查询请求中的号码中的号段逆序排列,转换为“zone+逆序号段”的形式后, 通过左匹配的方式,根据所述域名-地址信息映射表中的name字段与所述转换后的形式进 行匹配,并将匹配到的最长的记录作为匹配结果;将所述NS查询请求中的域名按照域名分为多层,根据所述域名_地址信息映射表中的 name字段与所述分层后的多层域名进行匹配,并将匹配到的最长的记录作为匹配结果。
全文摘要
一种服务器迭代查询方法及系统,二级ENUM/DNS服务器收到客户端的迭代查询请求时,首先进行本地数据查询,本地数据查询失败后,则在本地缓存中查询目标二级ENUM/DNS服务器的地址信息,如果查询成功,则根据查询到的目标二级ENUM/DNS服务器的地址信息直接向目标二级ENUM/DNS服务器发起查询;否则,向一级ENUM/DNS服务器发起查询,并将一级ENUM/DNS服务器返回的相关域名称及地址信息缓存到本地。应用本发明技术方案,减少了ENUM/DNS服务器的负担,提高了系统的可靠性。
文档编号H04L29/06GK101917493SQ20101026275
公开日2010年12月15日 申请日期2010年8月18日 优先权日2010年8月18日
发明者吴丽梅, 盛明超, 许可喜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1