一种面向资源的分层名字解析系统的制作方法

文档序号:7651291阅读:237来源:国知局

专利名称::一种面向资源的分层名字解析系统的制作方法
技术领域
:本发明涉及网络资源
技术领域
,特别是涉及一种面向资源的分层名字解析系统。
背景技术
:DNS是当前互联网中运用最广泛的名字系统。它为互联网用户提供了最基础的域名解析服务,其适用于从负载均衡到服务发现等多种应用。本质上,DNS是一个全球化的分布式数据库。其存储的域名条目有约4亿条,所有的存储记录大概有几十亿条。当前DNS的平均查询时延小于100ms,平均查询次数为1.3次,提供了用户级可满意的系统解析性能。同时,除了HTTP和SMTP应用,新出现的应用期望利用普适的DNS基础设施,比如反垃圾邮件系统将利用特殊的DNS记录,PKI(publickeyinfrastructure)期望存储认证信息到DNS,同样的互联网电话、RFID期望使用DNS为其提供服务发现功能。可以预见,未来的诸多应用期待使用DNS或者类DNS系统的负载均衡或者服务发现功能。但是,DNS并不是完美无缺的。第一、可靠性问题DNS的可靠性性问题,特别是在抵御DoS攻击方面存在着重大缺陷。2001年1月,因简单的手工配置错误,所有带有微软的域名不可达。2002年10月DNS的root服务器受到DDoS攻击。2009年5月19日,国内DNS服务器受到大规模DDoS攻击,导致大部分电信网络瘫痪。造成DNS的不安全性因素主要是由DNS的系统设计引起的,首先,DNS过多的依赖于顶层域名服务器,顶层域名服务器在域名解析中扮演了比一般域名服务器更重要的作用,一旦顶层服务器发生故障,其对系统的影响很大;其次,DNS高度依赖于手工配置,手工配置错误将给系统的可靠性和安全性带来巨大隐患。第二、面向主机的解析模式需要向面向资源的解析模式过渡数据的获得和服务的接入是当前互联网最主要的应用。随着互联网的发展,数据的移动和复制越发频繁,这就给当前以主机为中心的域名解析方式提出了新的挑战。用户关心的是数据本身而不是数据或者网络服务所在的位置。基于当前的DNS域名解析方式,当一个网页从一个主机移动到另外一个主机时,将会出现断链现象。HTTP重定向或者动态DNS可以部分解决这一问题,但是并不彻底和高效。除了以上存在的痼疾之外,随着互联网应用的日趋多样化和复杂化,DNS面对日新月异、层出不穷的新服务已经力不从心,到目前为止,DNS依然无法很好地支持诸如服务或数据迁移、服务组合等互联网应用需求。同时,由于传统互联网架构原始设计的不足,如IP地址的双重语义(即代表主机身份又代表主机在网络中的位置)导致对多家乡、移动性支持存在严重缺陷。因此,目前需要本领域技术人员迫切解决的一个技术问题就是如何能够创新地提出一种有效措施,以解决现有技术中存在的不足。
发明内容本发明所要解决的技术问题是提供一种面向资源的分层名字解析系统,能有效地支持面向资源的名字解析模式,同时,SIDMS为移动互联网中数据或服务的动态迁移提供了高效的解决方案。此外,由于SIDMS采用了分阶段映射解析方式和多层缓存机制,在减小解析时延的同时也降低了维护系统的开销(即减小了映射服务器查询条目)。为了解决上述问题,本发明公开了一种面向资源的分层名字解析系统,所述系统包括服务标识到接入标识的映射、服务标识到解析器的映射、映射服务器和解析器,其中,映射服务器,用于按照DHT之一的chord算法组成逻辑环拓扑,完成服务标识到解析器的映射条目的存储、更新、删除、转发和解析操作;解析器,用于完成服务标识到接入标识映射条目的存储、更新、删除、转发和解析操作。优选的,其资源映射注册方法包括当终端或者服务节点需要发布它拥有的资源时,使用SHA-I—致哈希函数生成该资源的160位服务标识(SID);节点向所在的解析域内的解析器发起注册请求;解析器接收到注册请求后检查其维护的服务标识到接入标识的映射数据库,如果映射条目已存在,则进行检查更新;如果不存在,则生成向最近的自治域内的映射服务器发起的注册请求,并由后者利用chord算法根据SID将注册信息转发到目标映射服务器,生成要发布的服务标识到解析器的映射条目。优选的,其资源映射记录的解析方法包括服务请求者提出服务请求,发送到本地解析器;本地解析器将被请求的服务归类,如果是本地服务解析,则查询解析器本身的数据库完成解析过程;如果是非本地解析,则通过映射服务器完成定位到所请求的服务的目的解析器;映射服务器根据chord算法完成非本地解析请求的转发和服务标识到目的解析器的映射解析;目的解析器查询本地数据库,返回最终解析结果,即合适的服务提供者接入标识给服务请求者。优选的,当服务或数据发生迁移时,判定迁移后终端是否还是原来的终端以及是否还属于同一个解析域可。优选的,当判定结果为相同终端,相同解析域时,服务或数据随节点一起迁移,如移动设备上的资源随设备移动而移动,即终端发生移动且移动后还处于同一个解析器的范围内,则系统不需要进行任何更新;当判定结果为相同终端,不同解析域时,移动后的终端到达了另一个解析域,即处于另一个解析器范围,将服务标识到接入标识的映射条目从原解析器中删除并在新的解析器上进行注册,并更新映射服务器中服务标识到解析器映射条目;当判定结果为不同终端,相同解析域时,更新本地解析器上服务标识到接入标识的映射,具体为更新本地解析器;当判定结果为不同终端,不同解析域时,更新服务标识到接入标识的映射以及服务标识到解析器的映射。与现有技术相比,本发明具有以下优点本发明中SIDMS系统有效地克服了传统域名解析系统将URL解析到IP地址过于单一的解析方式,并完美地提供了对服务组合、服务或数据迁移的支持,提供了一种面向资源的名字解析系统。此外,SIDMS的本地条目更新机制解决了名字系统映射条目膨胀的潜在问题;多层缓存机制则保证了名字系统的低解析时延。本地映射条目更新机制和分层缓存机制充分体现了SIDMS系统的高扩展性。当前互联网面临的两大问题在动态和移动网络环境下服务不中断的问题和融合网络中间件问题均可以通过SIDMS名字系统得到很好的解决。图1是本发明实施例所述的一种面向资源的分层名字解析系统结构示意图;图2是本发明实施例所述的SIDMS总体架构示意图;图3本发明实施例所述的服务标识注册过程示意图;图4本发明实施例所述的服务标识解析过程示意图;图5本发明实施例所述的服务或数据迁移示意图;具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。一种面向资源的分层名字解析系统(SIDMS),该系统采用分层的名字解析机制解决了现有DNS单纯解析URL到IP地址存在的问题,具体方案是在采用标识映射分离机制的一体化网络架构上,将标识资源的服务标识SID解析到代表终端身份的接入标识AID(对应IP地址代表身份语义),而不是直接解析到资源位置的方式,从而提高了名字解析的灵活性,实现了对数据或资源动态迁移的有效支持,同时由于一体化网络标识分离机制带来的安全、可靠架构,使得SIDMS大大提高了安全性,甚至从一定程度上完全解决了类似DDoS攻击这样的恶意攻击行为(因为无法单纯从SIDMS的解析直接获取服务器的位置信息)。SIDMS是一种分布式系统,采用分布式散列表DHT中的chord算法完成映射服务器之间的交互。为了避免chord算法随系统规模增大导致解析时延大幅度增加,SIDMS进一步将SID到AID的映射解析分为两个阶段SID到AID的映射解析和SID到解析器resolver的映射解析,两阶段解析方式下SIDMS可以通过在本地解析器上实现SID到AID的映射条目本地更新减小核心映射服务器上的映射条目,同时采用多层缓存机制进一步减小解析时延,从而为大规模网络下名字解析提供了高效的名字解析方案。实施例参照图1,示出了本发明的所述的一种面向资源的分层名字解析系统结构示意图,所述系统具体包括服务标识到接入标识的映射、服务标识到解析器的映射、映射服务器和解析器,其中,映射服务器,用于按照DHT之一的chord算法组成逻辑环拓扑,完成服务标识到解析器的映射条目的存储、更新、删除、转发和解析操作;解析器,用于完成服务标识到接入标识映射条目的存储、更新、删除、转发和解析操作。当前一体化网络等国内外项目都立足于解决未来互联网架构设计,其中的核心思想集中于ID/Locator身份地址分离机制。针对这些最新提出的互联网架构,本发明提出了SIDMS新名字系统,用于解决新网络架构的名字解析,考虑到与当前互联网架构的兼容性,SIDMS系统也可以应用到现有网络中代替DNS完成解析功能并提供对服务组合等需求的支持。在具体展开SIDMS系统的描述之前,我们先看看当前互联网中存在的、SIDMS可以提供完美解决方案的问题。第一、在动态和移动网络环境下服务不中断的问题在最初的互联网设计中,一次TCP连接和套接口绑定的是IP地址,而不是数据或者网络服务的名称。对数据或者网络服务的描述,更像是互联网历史发展中的一次意外,而不是互联网架构的一部分。在当前网络下,随着应用的不断发展,数据的移动和服务的性能变化变得越来越普遍。同一数据或者网络服务可能对应着多个连接信息,用户如何从多个连接信息中选择其中一个或者多个连接来提供服务;当提供服务的服务器发生移动或者负载过重甚至当机的情况下,如何将用户的服务请求信息自动转换到新的最优的服务提供者,来保证用户服务的不中断,将成为一个亟需解决的问题。并且其中的转换不需要用户感知和操作,用户只在乎为其提供最优的不中断的服务。这在动态和移动网络环境下尤其重要。以上工作需要类似DNS的机构来完成,而DNS存在描述信息有限,反应速度过慢,纠错能力差,配置容易出错等问题,需要设计新的数据或者网络服务的命名和解析机制。第二、网络中间件的融合问题最初的互联网是基于端到端原理设计的,核心网络只负责数据包的转发,不侦查、过滤或者改变数据包的内容,服务目的将在网络边缘实现。这种开放性、透明性的设计理念,使得不需要改变核心网络就可以容易地部署一项新的应用,是互联网取得今天巨大成功的最重要因素。但是随着发展,Internet已经成为一个巨大的产业。为了获取更高额的利润,互联网服务提供商将尽量避免仅仅提供传送数据包的服务,而是尽可能地提供用户可感知的、异于寻常的服务。但是ISP不能控制终端,只能通过引入中间件,在其控制的网络中提供服务。另一方面,透明性使得传输过程中的安全性降低,病毒和其他不受欢迎的数据的侵入变得容易。互联网上的实体之间并不互相信任,像防火墙之类的中间件需要部署在网络中,通过阻止不明流量来提高安全性。而对用户不利的工作(比如政府部门试图搭线窃听用户通话)不能期望用户在终端完成,它也必须在网络中完成。在商业和安全的双重压力下,互联网结构在发生变化,中间件和各种接入策略开始变得越来越普遍。这是用户、网络服务提供商和社会斗争的结果,任何精巧的网络设计都不可避免三者之间的斗争。中间件的出现,一方面解决了商业和安全方面的问题,同时也破坏了互联网的层级结构,破坏了互联网的开放性和透明性。在未来的互联网设计中,我们既要保证网络对新应用的开放性和透明性,又要同时考虑将中间件融入到互联网架构中去。实际应用中SIDMS的总体架构的实现示意图如图2所示。SDIMAP名字系统包含两类组件,一类是映射服务器,负责存储、转发、解析、更新、删除服务标识到解析器的映射条目;另一类是解析器,负责存储、转发、解析、更新、删除服务标识到接入标识的映射条目。当进行服务注册时,服务提供者根据自己提供的服务,经过两个阶段的注册过程实现一种新的服务的加入。其中,注册过程的第一阶段在本地解析器上完成,服务提供者发送包含必要的信息(如接入标识、元数据等)的注册消息给本地解析器,并由后者完成在该解析本地数据库中存储服务标识到接入标识的映射条目,然后本地解析器生成向映射服务器系统注册的消息并发往相同自治域内最近的映射服务器。注册过程的第二阶段在映射服务器上完成,映射服务器收到解析器发来的注册请求后,根据chord路由算法将注册消息转发到目的映射服务器,目的映射服务器负责存储服务标识到解析器的映射条目。具体过程参见图3,下面对其中的每一个步骤进行说明步骤1,当终端节点或服务节点试图发布服务时,它首先利用一致哈希函数SHA-I生成待发布服务的160比特服务标识,然后生成包含足够信息的相注册消息到本地解析ο步骤2,本地解析器收到来自节点的注册请求后,首先检查本地数据库是否已经有相同的服务标识对应的映射条目存在,如果存在,是否是相同的接入标识。如果是相同接入标识,则简单更新相应的映射条目,如果不是,则追加接入标识到同一个服务标识下,从而在有服务请求时提供多个解析结果。如果不存在对应服务标识的映射条目,则创建新的服务标识到接入标识映射条目,然后生成服务标识到解析器映射注册请求到相同自治域中的映射服务器。步骤3,当映射服务器收到注册请求后,首先查看服务标识是否属于自己的负责范围(根据chord算法,服务标识与映射服务器的节点标识属于相同的标识空间,同样为160比特的哈希值,其负责的范围该映射服务器节点标识的前驱节点标识到本节点标识之间的区间,即(前驱节点标识,本节点标识]区间),如果在该范围,则该映射服务器为待注册的服务标识的目的映射服务器,该映射服务器直接生成相应的服务标识到解析器的映射条目并存储到本地数据库中;如果不属于该范围,则利用chord算法转发到下一跳节点,具体的路由转发根据节点的fingertable进行。步骤4,中间节点接收到注册请求后,判定不属于自己的范围,则进一步将注册请求转发给下一跳,这个过程递归进行,直到注册请求到达目的映射服务器,并由目的映射服务器创建服务标识到解析器的映射条目并存储到自己的本地数据库中。当服务请求者提出服务请求时,发送服务解析请求到服务解析器,服务解析器利用缓存记录或者转发给映射服务器系统的方式应答。当解析器的缓存记录中有待解析的结果,则直接返回;当待解析的服务请求正好属于本地解析器的解析域,则通过直接查询本地数据库返回解析结果;最为复杂的情形是,当待解析请求既没有缓存记录也不属于本地解析域时,本地解析器根据图4所示的完整过程转发解析请求到映射服务器,先请求待解析服务的解析域,再进一步得到待解析服务的驻地主机的接入标识。下面的步骤给出了最后一种复杂解析的完整过程。步骤1,服务请求者发送一个映射解析请求道本地解析器,该请求消息中应包含服务标识和其他附加信息。这里服务标识的获取可以通过类似google或者baidu这样的搜索引擎来完成。步骤2,本地解析器收到解析请求后,首先查询缓存记录和本地数据库,如果没有目标结果,则将解析请求转发到最近的映射服务器上,请求待解析服务对应的目的解析器所在位置。步骤3,接收到本地解析器发来的解析请求后,映射服务器首先查询本地数据是否有待解析服务标识对应的映射条目,没有则将解析请求转发给下一跳映射服务器节点。步骤4,作为中间转发的映射服务器节点递归传递解析请求到目的映射服务器。路由转发原理同样运用了chord算法,根据映射节点维护的fingertable进行下一跳查询。步骤5,目的映射服务器完成待解析服务标识到目的解析器的映射解析,并直接将解析请求转发给目的解析器。步骤6,目的解析器收到服务解析请求后,直接返回服务标识对应的接入标识给本地解析器。步骤7,本地解析器将最终的结果返回给服务请求者,并缓存解析结果,设置相应的超时时间。当服务或数据发生迁移后,可能的结果有多种,我们总结出了四种迁移场景一是相同终端,相同解析域;二是相同终端,不同解析域;三是不同终端,相同解析域;四是不同终端,不同解析域。不同的场景,所需的维护更新代价不同,其中,第四种场景最为复杂。对于第一种场景,既不需要更新服务标识到解析器的映射,也不需要更新服务标识到接入标识的映射,因为接入标识和所属解析器均为发生改变;对于第二种场景,由于所属解析域发生改变,因此需要在新的解析域中向新的解析器进行注册,同时发送删除消息给原来所属的解析器,由于解析器发生变更,最终也需要更新目的映射服务器上的映射条目;对于第三种场景,由于只是服务或数据驻地终端发生改变,因此,只需要简单地更新所属解析器中的对应相同服务标识的接入标识。下面对第四种场景进行详细的分析(见图5)。在图5中,考虑web页面从服务节点1迁移到了位于另一个解析域的服务节点2上场景,即第四种迁移场景。完整的迁移包括三个过程一是注销或者删除映射信息(见图5中步骤①D-④D);重新注册过程(见图4中步骤;查询过程(见图5中步骤①Q_⑥Q)。当web页面从服务节点1迁出的瞬间,服务节点1立即发送DELETE消息(包含待删除的服务标识及其他相关信息)到所在解析器,并由后者负责删除本地数据库中相应的映射条目,以及转发DELETE消息(此时,需要删除的是目的映射服务器上服务标识到解析器的映射条目)到映射服务器系统,映射服务器系统完成最终删除操作。重新注册过程与之前的注册过程基本一样,不同之处在于,此时携带服务标识的消息类型是RE-REGISTER消息。查询过程也同前面的解析过程。以上对本发明所提供的一种面向资源的分层名字解析系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1.一种面向资源的分层名字解析系统,其特征在于,所述系统包括服务标识到接入标识的映射、服务标识到解析器的映射、映射服务器和解析器,其中,映射服务器,用于按照DHT之一的chord算法组成逻辑环拓扑,完成服务标识到解析器的映射条目的存储、更新、删除、转发和解析操作;解析器,用于完成服务标识到接入标识映射条目的存储、更新、删除、转发和解析操作。2.根据权利要求1所述的系统,其特征在于,其资源映射注册方法包括当终端或者服务节点需要发布它拥有的资源时,使用SHA-I—致哈希函数生成该资源的160位服务标识(SID);节点向所在的解析域内的解析器发起注册请求;解析器接收到注册请求后检查其维护的服务标识到接入标识的映射数据库,如果映射条目已存在,则进行检查更新;如果不存在,则生成向最近的自治域内的映射服务器发起的注册请求,并由后者利用chord算法根据SID将注册信息转发到目标映射服务器,生成要发布的服务标识到解析器的映射条目。3.根据权利要求1所述的系统,其特征在于,其资源映射记录的解析方法包括服务请求者提出服务请求,发送到本地解析器;本地解析器将被请求的服务归类,如果是本地服务解析,则查询解析器本身的数据库完成解析过程;如果是非本地解析,则通过映射服务器完成定位到所请求的服务的目的解析器;映射服务器根据chord算法完成非本地解析请求的转发和服务标识到目的解析器的映射解析;目的解析器查询本地数据库,返回最终解析结果,即合适的服务提供者接入标识给服务请求者。4.根据权利要求1所述的系统,其特征在于当服务或数据发生迁移时,判定迁移后终端是否还是原来的终端以及是否还属于同一个解析域可。5.根据权利要求4所述的系统,其特征在于当判定结果为相同终端,相同解析域时,服务或数据随节点一起迁移,如移动设备上的资源随设备移动而移动,即终端发生移动且移动后还处于同一个解析器的范围内,则系统不需要进行任何更新;当判定结果为相同终端,不同解析域时,移动后的终端到达了另一个解析域,即处于另一个解析器范围,将服务标识到接入标识的映射条目从原解析器中删除并在新的解析器上进行注册,并更新映射服务器中服务标识到解析器映射条目;当判定结果为不同终端,相同解析域时,更新本地解析器上服务标识到接入标识的映射,具体为更新本地解析器;当判定结果为不同终端,不同解析域时,更新服务标识到接入标识的映射以及服务标识到解析器的映射。全文摘要本发明提供了一种面向资源的分层名字解析系统,有效地克服了传统域名解析系统将URL解析到IP地址过于单一的解析方式,并完美地提供了对服务组合、服务或数据迁移的支持,提供了一种面向资源的名字解析系统。此外,SIDMS的本地条目更新机制解决了名字系统映射条目膨胀的潜在问题;多层缓存机制则保证了名字系统的低解析时延。本地映射条目更新机制和分层缓存机制充分体现了SIDMS系统的高扩展性。当前互联网面临的两大问题在动态和移动网络环境下服务不中断的问题和融合网络中间件问题均可以通过SIDMS名字系统得到很好的解决。文档编号H04L29/12GK102185935SQ20111010667公开日2011年9月14日申请日期2011年4月27日优先权日2011年4月27日发明者杨冬,黄道超,张宏科,宋飞,董平,苏伟,孙亮申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1