著录项信息
专利名称 | 一种动态改变域名服务检索顺序的方法 |
申请号 | CN201210079253.3 | 申请日期 | 2012-03-23 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2012-08-22 | 公开/公告号 | CN102647480A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/12 | IPC分类号 | H;0;4;L;2;9;/;1;2查看分类表>
|
申请人 | 青岛百灵信息科技有限公司 | 申请人地址 | 山东省青岛市四方区洛阳路11号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 青岛百灵信息科技股份有限公司 | 当前权利人 | 青岛百灵信息科技股份有限公司 |
发明人 | 许萌;沙启鑫 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明涉及一种动态改变域名服务检索顺序的方法,其特征是:所述方法对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置一个权重Weight字段、一个动态数据检测函数和一个心跳检测函数,在IMS核心网内,FQDN是IMS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最终目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值。本发明通过对资源记录的动态调整,尽量省去尝试查询资源记录的次数,进而提高效率。
1.一种动态改变域名服务检索顺序的方法,其特征是:所述方法对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置一个权重Weight字段、一个动态数据检测函数和一个心跳检测函数,在IMS核心网内,FQDN是IMS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最终目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值,具体步骤为:
第1步,首先查询IP,
当在NAPTR查询后,得到的结果为IP时,由于其可以跟默认端口5060 一起作为目标地址,无需进一步解析,即可作为下一跳进行传输,省去了SRV查询和A-查询,提高了查询效率;
第2步,如果IP不可用,然后查询FQDN,
当在NAPTR查询后,得到的结果为FQDN时,由于其具体信息已经存在于本环境的存储空间中,因此只需要到系统环境中取得其相应的IP和端口即可,无需进一步查询解析,因此省去了SRV查询和A-查询,提高了查询效率;
第3步,如果FQDN也不可达,那么最后查询普通域名,
当在NAPTR查询后,得到的结果为普通域名时,由于系统无法得到任何端口和IP的信息,进行SRV查询和A-查询,得到下一跳信息。
2.根据权利要求l所述的动态改变域名服务检索顺序的方法,其特征是:所述动态数据检测函数用来监测目前可供使用的网元,所述动态数据检测函数设有一个累加器,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少时,那么调换网元资源记录优先级顺序。
3.根据权利要求l或2所述的动态改变域名服务检索顺序的方法,其特征是:所述心跳检测函数保存原本DNS中的优先级顺序,并定时发起检测,如果之前出现问题的网元恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元资源记录改回原本的优先级顺序。
一种动态改变域名服务检索顺序的方法\n技术领域\n[0001] 本发明属于网络技术领域,具体涉及一种动态改变域名服务检索顺序的方法。\n背景技术\n[0002] 域名服务(DNS)是一个分布式数据库,它存储了传输控制协议的名字以及其对应的IP地址,其中每一条目称为一条资源记录(RR),其中,每一条资源记录都标记了被检索的顺序。DNS查询分为三种方式:NAPTR查询、SRV查询和A-查询方式。现有技术方案为:\n当用户的下一跳不能被解析的时候,就要去查询DNS,通过上述DNS查询方式,因此,首先要经过NAPTR查询,在此查询之后,如果得不到具体目标地址,那么就要进行SRV查询(得到端口号)和A-(得到IP)查询。另外,对于DNS服务器本身的设置,DNS中已经预先设置了每条记录的优先查询顺序,如果其中一条权重较高的记录由于某种原因不可达或者由于负载过重,在接受新的注册或者电话的时候,这条记录并不会自动的删除或者自动把权重变低,导致之后所有用户总要先查询该条记录,确定不可用之后,然后再查询后续优先级相对较低的资源记录。\n[0003] 最后,针对查询过的记录,无论是注册还是打电话,该记录都不会被记住,就导致了花费时间查询到的信息,又要通过再次查询才能得到该记录结果。现有技术的缺点为:\n1)当经过NAPTR查询之后,如果得不到具体目标地址,那么就要进行SRV查询(得到端口号)和A-(得到IP)查询,从而降低了查询效率,耗时长;2)由于在DNS中已经预先设置了每条记录的优先查询顺序,如果其中一条权重较高的记录由于某种原因不可达或者由于负载过重,在接受新的注册或者电话的时候,这条记录并不会自动的删除或者自动把权重变低,导致之后所有用户总要先查询该条记录,确定不可用之后,然后再往下查询,大大降低了效率,耗时长。因此本发明能够通过NAPTR记录搜索动态调整,提高效率;3)由于查询过的记录,无论是注册还是打电话,该记录都不会被记住,就导致了花费时间查询到的信息,又要通过再次查询才能得到。因此本发明提出可以把常用的的记录保存下来,无需再次查询即可使用,这样也会大大提高查询效率。\n发明内容\n[0004] 本发明克服了现有技术的不足,提出了一种动态改变域名服务检索顺序的方法,所述方法通过对NAPTR记录搜索的动态调整,可以解决以下三个技术问题:技术难题一:当经过NAPTR查询之后,如果得不到具体目标地址,那么就要进行SRV查询(得到端口号)和A-(得到IP)查询,从而降低了查询效率。技术难题二:由于在DNS中已经预先设置了每条记录的优先查询顺序,如果其中一条权重较高的记录由于某种原因不可达或者由于负载过重,在接受新的注册或者电话的时候,这条记录并不会自动的删除或者自动把权重变低,导致之后所有用户总要先查询该条记录,确定不可用之后,然后再往下查询,大大降低了效率。技术难题三:目前的技术,经过系统查询出来的路由结果无法进行暂存,这样在下次使用的时候,还需要再次查询,降低了效率。\n[0005] 本发明的技术方案为:\n[0006] 一种动态改变域名服务检索顺序的方法,所述方法对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置一个权重Weight字段、一个动态数据检测函数和一个心跳检测函数,在IMS核心网内,FQDN是IMS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最终目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值,具体步骤为:\n[0007] 1. 首先查询顺序就应该是首先查询IP。\n[0008] 当在NAPTR查询后,得到的结果为IP时,由于其可以跟默认端口5060一起作为目标地址,无需进一步解析,即可作为下一跳进行传输。因此省去了SRV查询和A-查询,提高了查询效率。\n[0009] 2. 如果不可用,然后查询FQDN。\n[0010] 当在NAPTR查询后,得到的结果为FQDN时,由于其具体信息已经存在于本环境的存储空间中,因此只需要到系统环境中取得其相应的IP和端口即可,无需进一步查询解析,因此省去了SRV查询和A-查询,提高了查询效率。\n[0011] 3. 如果FQDN也不可达,那么最后查询普通域名。\n[0012] 当在NAPTR查询后,得到的结果为普通域名时,由于系统无法得到任何端口和IP的信息,因此必须进行SRV查询和A-查询才能得到下一跳信息,增加了查询负担。\n[0013] 所述动态数据检测函数用来监测目前可供使用的网元,所述动态数据检测函数设有一个累加器,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少时,那么调换网元资源记录优先级顺序。\n[0014] 所述心跳检测函数保存原本DNS中的优先级顺序,并定时发起检测,如果之前出现问题的网元恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元资源记录改回原本的优先级顺序。\n[0015] 本发明具有如下有益效果:\n[0016] 1)本发明通过对资源记录的动态调整(这些记录有着同样的优先级),尽量省去SRV查询和A-查询,进而提高效率。\n[0017] 2)本发明通过对资源记录的动态调整,尽量省去SRV查询和A-查询,进而提高效率。\n[0018] 3)本发明通过对资源记录的动态调整,尽量省去尝试查询资源记录的次数,进而提高效率。\n[0019] 4)通过保存查询结果,使得后续者无需在进行查询,进而提高效率。\n附图说明\n[0020] 以下结合附图和具体实施方式进一步说明本发明。\n[0021] 图1为一个注册流程中资源记录情况示意图。\n[0022] 图2为一个DNS查询一般流程示意图。\n[0023] 图3为本发明查询流程示意图。\n[0024] 图4为本发明查询过程示意图。\n[0025] 图5为查询流程比较示意图。\n[0026] 图6为本发明查询过程网元正常状态接收与时间关系示意图。\n[0027] 图7为本发明查询过程记录正常状态接收与时间关系示意图。\n[0028] 图8为本发明查询过程记录不可达状态接收与时间关系示意图。\n[0029] 图9为本发明查询过程记录在失常状态接收与时间关系示意图。\n[0030] 图10为本发明查询过程动态数据检测函数流程示意图。\n[0031] 图11为本发明查询过程心跳检测函数流程示意图。\n[0032] 具体实施方式:\n[0033] 参见图1至图11所示,本发明对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置一个权重Weight字段、一个动态数据检测函数和一个心跳检测函数,在IMS核心网内,FQDN是IMS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最终目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值,具体步骤为:\n[0034] 1. 首先查询顺序就应该是首先查询IP。\n[0035] 当在NAPTR查询后,得到的结果为IP时,由于其可以跟默认端口5060一起作为目标地址,无需进一步解析,即可作为下一跳进行传输。因此省去了SRV查询和A-查询,提高了查询效率。\n[0036] 2. 如果不可用,然后查询FQDN。\n[0037] 当在NAPTR查询后,得到的结果为FQDN时,由于其具体信息已经存在于本环境的存储空间中,因此只需要到系统环境中取得其相应的IP和端口即可,无需进一步查询解析,因此省去了SRV查询和A-查询,提高了查询效率。\n[0038] 3. 如果FQDN也不可达,那么最后查询普通域名。\n[0039] 当在NAPTR查询后,得到的结果为普通域名时,由于系统无法得到任何端口和IP的信息,因此必须进行SRV查询和A-查询才能得到下一跳信息,增加了查询负担。\n[0040] 所述动态数据检测函数用来监测目前可供使用的网元,所述动态数据检测函数设有一个累加器,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少时,那么调换网元资源记录优先级顺序。\n[0041] 所述心跳检测函数保存原本DNS中的优先级顺序,并定时发起检测,如果之前出现问题的网元恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元资源记录改回原本的优先级顺序。\n[0042] 下面通过一个注册流程说明,如图1所示,P-CSCF和I-CSCF不在同一个网络里,因此P-CSCF要找到I-CSCF,要通过DNS查询。具体步骤如下:\n[0043] 第一,针对如何精简查询步骤,尽量省去SRV查询和A-查询,进而提高效率。\n[0044] 下面我们就通过流程图具体看一下,如何通过省去SRV和A-查询进而提高效率的。\n[0045] 1. 正常情况下,DNS查询过程如图2。\n[0046] 2. 如果该记录是IP或者本区域的FQDN,那么流程如图3。从图3可以看出:如果通过NAPTR查询就可以得到端口号和IP,或者得到的FQDN是属于本地域内,那么就可以省去后续两步的查询,进而提高效率。如图4第三条NAPTR所示,_sip._udp.135.223.43.20。\n基于RFC3261, 以如下图4的NAPTR为例(以下记录有相同的order和pref),图4的三条数据分别是:IP地址,FQDN,以及普通域名。\n[0047] 下面分析一下三种数据查询DNS的情况:\n[0048] 1. IP地址:IP地址可以作为最终的目标地址,其端口默认为5060,两者一起作为目标地址进行传递。\n[0049] 2. FQDN:由于FQDN是IMS核心网可以识别的信息,因此可以作为最终的目标地址,无需进行SRV查询和A-查询。\n[0050] 3. 普通域名:由于普通域名不可被IMS网络识别,因此不可以作为最终的目标地址,需要进行SRV查询和A-查询。具体如图5所示。通过上述分析,FQDN和IP地址都是可以精简查询步骤的,而普通域名的方式不可以。\n[0051] 因此本发明提出:设置一个权重Weight字段,如图1所示,当若干条资源记录的order字段和pref字段的值分别相同时,步骤是:\n[0052] 1. 首先查询顺序就应该是首先查询IP。\n[0053] 2. 如果不可用,然后查询FQDN。\n[0054] 3. 如果FQDN也不可达,那么最后查询普通域名。\n[0055] 相对应的,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值。\n[0056] 通过上述分析,我们可以得出,如果省去SRV和A-查询,那么将会提高近30%的效率。\n[0057] 第二,针对如何动态设置资源记录的顺序,尽量省尝试查询记录的次数。\n[0058] 基于RFC3261, 我们以如下几条NAPTR为例(以下记录有不同的order和pref):\n[0059] order pref service replacement\n[0060] IN NAPTR 50 50 "SIP+D2T" _sip._tcp.example1.com[0061] IN NAPTR 60 60 "SIP+D2T" _sip._tcp.example2.com[0062] IN NAPTR 70 70 "SIP+D2U" _sip._udp.example3.com.[0063] 通过上面的设置,可以看出,查询的顺序依次是_sip._tcp.example1.com,_sip._tcp.example2.com,_sip._tcp.example3.com。\n[0064] 如果此时_sip._tcp.example1.com不可达或者负载过重时,同时会伴随一个现象就是后续用户都会在查询尝试的失败后,选择_sip._tcp.example2.com作为目标地址。\n虽然用户最终选择成功了,但是却是以效率为代价。为了避免后续用户进行重复查询操作,本发明提出:设置一个动态数据检测函数和一个心跳检测函数。\n[0065] 1. 动态数据检测函数\n[0066] 其中动态数据检测函数用来监测目前可供使用的网元,在某一时间段某网元_sip._tcp.example2.com使用的用户迅速增加的情况同时之前工作的网元_sip._tcp.example1.com使用用户迅速下降,即表明之前优先选择的网元_sip._tcp.example1.com可能出了问题,已经无法为后续用户提供服务。因此此时NAPTR就要将此时使用网元_sip._tcp.example2.com的优先选择权设高,后续的用户就可以跳过已经不可用的网元_sip._tcp.example1.com,而直接选择当前可用网元,进而避免重复劳动了。动态数据检测函数可以有一个累加器来实现,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少时,那么就要把优先顺序调换,具体流程如图6、图7、图8、图9所示,此时需要调整优先级顺序,调整如图10所示。\n[0067] 2. 心跳检测函数\n[0068] 心跳检测函数会保存原本DNS中的优先级顺序,并定时发起检测(比如一小时一次),如果之前出现问题的网元_sip._tcp.example1.com恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元_sip._tcp.example1.com的优先级设高,改回原本的优先级顺序。心跳检测函数可由一个计时器来实现。具体流程如图\n11所示。\n[0069] 最后,通过上述方法所得到的记录,可以在一个网元上暂存起来,这样就无需再次花费时间解析域名,查询下一跳了。比如:在注册的时候,P-CSCF找寻I-CSCF的时候,如果域名不属于本区域,那就需要解析,这时候,就可以将该I-CSCF最终的解析结果暂存在P-CSCF上,进而提高效率。
法律信息
- 2016-09-07
专利权人的姓名或者名称、地址的变更
专利权人由青岛百灵信息科技有限公司变更为青岛百灵信息科技股份有限公司
地址由266033 山东省青岛市四方区洛阳路11号变更为266033 山东省青岛市四方区洛阳路11号
- 2015-03-18
- 2012-12-26
实质审查的生效
IPC(主分类): H04L 29/12
专利申请号: 201210079253.3
申请日: 2012.03.23
- 2012-08-22
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2001-12-19
|
2001-05-08
| | |
2
| |
2000-09-20
|
2000-03-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |