一种发送访问请求的方法及系统的制作方法

文档序号:7892492阅读:163来源:国知局
专利名称:一种发送访问请求的方法及系统的制作方法
技术领域
本发明涉及内容分发网络技术领域,尤其涉及一种发送访问请求的方法及系统。
背景技术
对于内容分发网络(Content Delivery Network,Q)N)常用的加速方法包括传统加速方法以及反向加速方法。其中传统加速方法过程如下如图I所示,CDN加速服务商将内容提供商提供的待加速的域名信息存储到域名信息系统(Domain Name System)中;当用户通过浏览器将要访问的网站的域名信息发送给 DNS后,当DNS确定该域名信息为待加速的域名信息时,对该域名信息进行解析,确定最适合该域名信息的CDN节点的IP地址,并将该IP地址发送给用户,用户向该IP地址指示的 ⑶N节点请求所需网站的内容;反向加速方法中,内容提供商不向CDN加速服务商提供待加速的域名信息,因此, 需要预先确定出待加速的域名信息,并将确定出的域名信息存入DNS中;当DNS接收到用户发送的域名信息后可根据传统加速方法对该域名信息实现加速;目前,反向加速方法通过以下方法确定出待加速的域名信息第一种,资深的CDN加速服务商根据自身的行业经验,判断出大量的可进行加速操作的域名信息及其相关的信息;第二种,网络提供商通过长期统计网内网民的访问信息,挖掘出可进行加速的域名信息及其相关的信息;第三种,通过人工访问域名信息对应的网站,查看访问结果,根据访问结果确定该域名信息是否具备加速的条件;第四种,在DNS中先添加待加速的域名信息,当用户对该域名信息对应的网站进行访问时,如果访问失败将可能进行投诉,因此,可通过收集用户的投诉数量,来确定是否对该域名信息进行加速操作。在使用第一、二种方法时,虽然由CDN加速服务商或网络提供商提供的域名信息有效性很高,但这种资源不是免费和容易获得的,而且已获得的域名信息的有效性也无法一直保持,存在失效的情况,当域名信息失效后就需要重新获得,因此,获得域名信息的成本很高。其次,CDN加速服务商或网络提供商提供的域名信息的数量也是有限的;在使用第三、四种方法时,会产生很高的人工成本、效率低下,并且有可能产生大量的错误。可见,现有技术中要实现反向加速时使用的确定待加速域名信息的方法,将会浪费大量的人力和物力,出错的可能性也会大大提高

发明内容
本发明实施例提供一种发送访问请求的方法及系统,用于解决现有技术中在对内容分发网络进行反向加速时,无法高效准确的获取待加速域名信息问题。
一种发送访问请求的方法,所述方法包括操作任务列表生成设备根据获取到的由域名系统DNS解析用户的访问请求后得到的域名信息,生成操作任务列表;向所述DNS发送允许获取命令;所述允许获取命令允许 DNS从所述操作任务列表生成设备处获取操作任务列表;所述操作任务列表中包括与各域名信息唯一对应的VIP地址;所述VIP地址唯一指向一个网络地址转换设备虚拟服务器;所述DNS根据获取到的操作任务列表以及所述域名信息,确定出与所述访问请求所对应的虚拟服务器;将携带所述访问请求及解析所述访问请求得到的IP地址的请求信息发送给确定出的虚拟服务器;所述确定出的虚拟服务器判断是否需要对所述访问请求进行加速操作;在确定需要加速时,将所述访问请求转发给与所述IP地址相对应的服务器。一种发送访问请求的系统,所述系统包括操作任务列表生成设备,用于根据获取到的由域名系统DNS解析用户的访问请求后得到的域名信息,生成操作任务列表;向所述DNS发送允许获取命令;所述允许获取命令允许DNS从所述操作任务列表生成设备处获取操作任务列表;所述操作任务列表中包括与各域名信息唯一对应的VIP地址;所述VIP地址唯一指向一个网络地址转换设备虚拟服务器;所述DNS,用于根据获取到的操作任务列表以及所述域名信息,确定出与所述访问请求所对应的虚拟服务器;将携带所述访问请求及解析所述访问请求得到的IP地址的请求信息发送给确定出的虚拟服务器;所述虚拟服务器,用于判断是否需要对所述访问请求进行加速操作;在确定需要加速时,将所述访问请求转发给与所述IP地址相对应的服务器。本发明提供的方法根据DNS对用户发送的访问请求所解析出的域名信息生成操作任务列表;该操作任务列表中包括与各域名信息唯一对应的VIP地址;该VIP地址唯一指向一个虚拟服务器,向DNS发送允许获取命令;所述允许获取命令允许DNS从所述操作任务列表生成设备处获取操作任务列表;DNS在接收到允许获取命令后,获取操作任务列表, 并根据获取到的操作任务列表,确定出与解析访问请求获得的域名信息所对应的VIP地址,将携带用户的访问请求、IP地址的请求信息发送给VIP地址所指示的虚拟服务器;当虚拟服务器接收到该请求信息后,在确定需要对该访问请求进行加速操作时,将该访问请求发送给IP地址所指示的服务器;可见,该方法在进行反向加速前,可由虚拟服务器判断出哪些域名是需要进行加速操作,哪些是不需要进行加速操作的,对需要进行加速操作的访问请求实现加速操作,因此,使用该方法在反向加速操作中需要进行加速操作的域名信息不是靠CDN加速服务商的经验、内容提供商提供以及人为判断而获得,因此,可大大提高获取待加速域名信息的效率和速度。


图I为现有技术中内容分发网络的网路侧结构示意图;图2为本发明实施例提供的发送访问请求的方法流程示意图;图3为本发明实施例提供的网路侧结构示意图;图4为本发明实施例提供的操作任务列表生成设备所执行的方法的流程示意图5为本发明实施例提供的DNS所执行的方法的流程示意图;图6为本发明实施例提供的虚拟服务器所执行的方法的流程图示意图;图7为本发明实施例提供的一种发送访问请求的系统的结构示意图。
具体实施例方式本发明提供的方法根据DNS对用户发送的访问请求所解析出的域名信息生成操作任务列表;该操作任务列表中包括与各域名信息唯一对应的VIP地址;该VIP地址唯一指向一个虚拟服务器,向DNS发送允许获取命令;所述允许获取命令允许DNS从所述操作任务列表生成设备处获取操作任务列表;DNS在接收到允许获取命令后,获取操作任务列表, 并根据获取到的操作任务列表,确定出与解析访问请求获得的域名信息所对应的VIP地址,将携带用户的访问请求、IP地址的请求信息发送给VIP地址所指示的虚拟服务器;当虚拟服务器接收到该请求信息后,在确定需要对该访问请求进行加速操作时,将该访问请求发送给IP地址所指示的服务器;可见,该方法在进行反向加速前,可由虚拟服务器判断出哪些域名是需要进行加速操作,哪些是不需要进行加速操作的,对需要进行加速操作的访问请求实现加速操作,因此,使用该方法在反向加速操作中需要进行加速操作的域名信息不是靠CDN加速服务商的经验、内容提供商提供以及人为判断而获得,因此,可大大提高获取待加速域名信息的效率和速度。如图2所示,具体过程如下步骤21,操作任务列表生成设备根据获取到的由域名系统DNS解析用户的访问请求后得到的域名信息,生成操作任务列表;向所述DNS发送允许获取命令;所述允许获取命令允许DNS从所述操作任务列表生成设备处获取操作任务列表;所述操作任务列表中包括与各域名信息唯一对应的VIP地址;所述VIP地址唯一指向一个网络地址转换设备虚拟服务器;步骤22,所述DNS根据获取到的操作任务列表以及所述域名信息,确定出与所述访问请求所对应的虚拟服务器;将携带所述访问请求及解析所述访问请求得到的IP地址的请求信息发送给确定出的虚拟服务器;步骤23,所述确定出的虚拟服务器判断是否需要对所述访问请求进行加速操作; 在确定需要加速时,将所述访问请求转发给与所述IP地址相对应的服务器。具体的,根据获取到的DNS解析用户的访问请求后得到的域名信息可生成一个信息列表,该信息列表中包括至少一个操作任务列表;由于系统中虚拟服务器以及VIP的个数有限,而后续操作中是将与操作任务列表中域名信息对应的用户的访问请求发送给VIP 对应的虚拟服务器,因此,操作任务列表中所包含的域名信息的条数不大于系统中虚拟服务器的个数,以保证可将操作任务列表中域名信息所对应的访问请求均衡的分配到每个虚拟服务器上,保证负载分配均衡;具体的,为了保证DNS每次都能够有序的获取操作任务列表,在生成所述操作任务列表之后、且在向DNS发送允许获取命令之前,进一步包括将所述操作任务列表的状态设置为待获取状态;此时,所述向所述DNS发送允许获取操作任务列表的允许获取命令包括向所述DNS发送允许获取状态为待获取的操作任务列表的允许获取命令。具体的,为了保证DNS每次都能够有序的获取操作任务列表,获取操作任务列表包括获取状态为待获取的操作任务列表。较佳的,由于多个域名可对应一个端口,因此,可预先设置黑白名单,该黑白名单中包含了可进行加速操作的端口信息,因此,可根据端口信息确定接收到的访问请求是否可进行加速操作,具体过程如下判断所述端口信息是否包含于预先设置的白名单中;在包含于所述白名单中时, 确定所述访问请求需要进行加速操作。具体的,上述所有方法可在DNS中进行;但为了提高DNS在反向加速操作中的处理速度,应当将上述方法运行于独立于DNS的设备中,以下实施例中将该设备称为操作任务列表生成设备。以下以具体实施例介绍实施例该方法可用于,但不限于如图3所示的网络环境中,用于实现反向CDN加速操作; 网络中的用户通过浏览器向DNS发送携带域名信息的访问请求;DNS接收到访问请求后解析出该域名信息与该域名信息对应的、距离用户最近的CDN节点的IP地址或原站的IP地址,该IP地址用于指向网络侧的服务器(为了方便介绍本实施例以CDN节点的IP地址为例,例如用户需要访问的域名信息为WWW. sina. com,则该域名信息对应的原站IP地址为 202. 108. 33. 60),并生成包含域名信息以及IP的日志信息,每条日志信息中的域名信息与 IP地址一一对应;实现本实施例提供的一种发送访问请求的方法,如图3B所示,具体过程如下本实施例中图4为操作任务列表生成设备所执行的方法的流程图,图5为DNS所执行的方法的流程图,图6为虚拟服务器所执行的方法的流程图步骤31,操作任务列表生成设备获取DNS当前产生的所有日志信息;较佳的,由于DNS的工作量较大,并且对实时性要求较高,为了保证DNS的工作效率,可由操作任务列表生成设备获取DNS日志信息;步骤32,操作任务列表生成设备从获取到的每一条日志信息中提取出域名信息, 以及与该域名信息对应的CDN节点的IP地址;具体的,域名信息与⑶N节点的IP地址由DNS根据用户的访问请求解析得出;步骤33,操作任务列表生成设备根据获取到的内容生成信息列表,该信息列表中包括至少一个操作任务列表;生成操作任务列表的具体过程如下为获取到的每条日志信息中的域名信息分配唯一对应的一个VIP地址形成一条任务记录,此时,一条任务记录中包括域名信息、⑶N节点的IP地址以及VIP地址;将一条或多条任务记录作为一个操作任务列表;当一个操作任务列表中包括多条任务记录时, 每条任务记录中的VIP地址都不相同;VIP地址唯一指向一个网络地址转换设备虚拟服务器;本步骤中,当一个操作任务列表中包括多个任务记录时,任务记录的个数小于等于VIP地址的个数;可保证后续操作中可将用户的访问请求均衡的分配给网络中的每一个虚拟服务器,以达到负载均衡的目的;由于网络中的VIP地址的数量以及虚拟服务器的数量是有限的,一个VIP地址可以对应一个或多个虚拟服务器;虚拟服务器用于实现对用户请求等相关数据包的转发操作;步骤34,操作任务列表生成设备将操作任务列表发送到数据库中心;数据库中心可内嵌或者独立于操作任务列表生成设备;将操作任务列表发送到数据库中心即将每条任务记录中的域名信息、CDN节点的 IP、VIP以及之间的对应关系更新到数据库中心;较佳的,本步骤中将对应关系更新到数据库中心可方便后续的二次开发或以后的查询工作;步骤35,数据库中心将接收到的待进行操作的操作任务列表的状态设置为待获取状态;并向DNS发送允许获取命令;步骤36,当DNS接收到允许获取命令后,从所述数据库中获取状态为待获取状态的操作任务列表,获取完成后数据库中心将该操作任务列表的状态设置为已获取状态;步骤37,DNS将操作任务列表中域名信息所对应的用户的访问请求发送给与该域名信息对应的VIP所指向的虚拟服务器;例如,获取到的操作任务列表中包括如下任务记录:任务记录I :域名信息I、CDN节点的IPU VIPl ;任务记录2 :域名信息2、CDN节点的IP2、VIP2 ;任务记录3 :域名信息3、CDN节点的IP3、VIP3 ;则DNS将域名信息I所对应的访问请求发送给VIPl所指向的虚拟服务器;较佳的,一个操作任务列表中的每条任务记录所包含的VIP都不相同,可保证将同一操作任务列表中的所有任务记录均匀分配到网络中的所有虚拟服务器上;步骤38,当虚拟服务器接收到DNS发来的访问请求后,判断该访问请求所携带的端口信息是否保存于预先设置的白名单中,如果保存在白名单中,执行步骤39 ;否则,按现有技术进行处理;端口信息一般可用分成以下三类第一类,公认端口(Well Known Ports):从O到1023,它们紧密绑定于一些服务。 通常这些端口的通讯明确表明了某种服务的协议。例如80端口实际上总是HTTP通讯,因此,当接收到域名信息时,可确定需要通过80端口所绑定的服务进行处理;第二类,注册端口 (Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口也可用于许多其它目的。例如许多系统处理动态端口从1024左右开始;第三类,动态和/ 或私有端口 (Dynamic and/or Private Ports):从 49152 至Ij 65535。理论上,不应为服务分配这些端口。具体的,可以通过与各端口信息对应的端口绑定的服务进行处理的域名信息都可进行加速操作;步骤39,虚拟服务器将用户的访问请求转发给CDN节点的IP地址所对应的服务器,实现加速用户对网页的访问;具体的,将访问请求转发给与IP地址相对应的服务器包括将IP地址转换为服务器IP地址;将所述访问请求转发给所述服务器IP地址所对应的服务器。步骤310,虚拟服务器通知DNS任务完成,使DNS根据现有任务完成后续的访问请求。较佳的,操作任务列表生成设备的所有操作也可由DNS完成;较佳的,本方案中获取域名信息、IP、VIP以及端口信息,及获取其之间的对应关系的方法可应用于任何方案中,而不仅仅是应用于反向DNS加速操作的方案中。如图7所示,本发明实施例还提供一种发送访问请求的系统,所述系统包括操作任务列表生成设备71,用于根据获取到的由域名系统DNS72解析用户的访问请求后得到的域名信息,生成操作任务列表;向所述DNS72发送允许获取操作任务列表的允许获取命令;所述操作任务列表中包括与各域名信息唯一对应的VIP地址;所述VIP地址唯一指向一个网络地址转换设备虚拟服务器73 ;所述DNS72,用于根据获取到的操作任务列表以及所述域名信息,确定出与所述访问请求所对应的虚拟服务器73 ;将携带所述访问请求及解析所述访问请求得到的IP地址的请求信息发送给确定出的虚拟服务器73 ;所述虚拟服务器73,用于判断是否需要对所述访问请求进行加速操作;在确定需要加速时,将所述访问请求转发给与所述IP地址相对应的服务器。所述操作任务列表生成设备71还用于,将所述操作任务列表的状态设置为待获取状态;操作任务列表生成设备71具体用于,向所述DNS72发送允许获取状态为待获取的操作任务列表的允许获取命令。获取状态为待获取的操作任务列表。所述请求信息还携带所述访问请求所对应的端口信息;所述虚拟服务器73具体用于,判断所述端口信息是否包含于预先设置的白名单中;在包含于所述白名单中时,确定所述访问请求需要进行加速操作。所述虚拟服务器73还用于,将所述IP地址转换为服务器IP地址;将所述访问请求转发给所述服务器IP地址所对应的服务器。综上所述,有益效果本发明提供的方法根据DNS对用户发送的访问请求所解析出的域名信息生成操作任务列表;该操作任务列表中包括与各域名信息唯一对应的VIP地址;该VIP地址唯一指向一个虚拟服务器,向DNS发送允许获取操作任务列表的允许获取命令;DNS在接收到允许获取命令后,获取操作任务列表,并根据获取到的操作任务列表,确定出与解析访问请求获得的域名信息所对应的VIP地址,将携带用户的访问请求、IP地址的请求信息发送给VIP 地址所指示的虚拟服务器;当虚拟服务器接收到该请求信息后,在确定需要对该访问请求进行加速操作时,将该访问请求发送给IP地址所指示的服务器;可见,该方法在进行反向加速前,可由虚拟服务器判断出哪些域名是需要进行加速操作,哪些是不需要进行加速操作的,对需要进行加速操作的访问请求实现加速操作,因此,使用该方法在反向加速操作中需要进行加速操作的域名信息不是靠CDN加速服务商的经验、内容提供商提供以及人为判断而获得,因此,可大大提高获取待加速域名信息的效率和速度;较佳的,一个操作任务列表中的每条任务记录所包含的VIP都不相同,可保证将同一操作任务列表中的所有任务记录均匀分配到网络中的所有虚拟服务器上;较佳的,操作任务列表生成设备的所有操作也可由DNS完成;较佳的,本方案中获取域名信息、IP、VIP以及端口信息,及获取其之间的对应关系的方法可应用于任何方案中,而不仅仅是应用于反向DNS加速操作的方案中。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种发送访问请求的方法,其特征在于,所述方法包括操作任务列表生成设备根据获取到的由域名系统DNS解析用户的访问请求后得到的域名信息,生成操作任务列表;向所述DNS发送允许获取命令;所述允许获取命令允许DNS 从所述操作任务列表生成设备处获取操作任务列表;所述操作任务列表中包括与各域名信息唯一对应的VIP地址;所述VIP地址唯一指向一个网络地址转换设备虚拟服务器;所述DNS根据获取到的操作任务列表以及所述域名信息,确定出与所述访问请求所对应的虚拟服务器;将携带所述访问请求及解析所述访问请求得到的IP地址的请求信息发送给确定出的虚拟服务器;所述确定出的虚拟服务器判断是否需要对所述访问请求进行加速操作;在确定需要加速时,将所述访问请求转发给与所述IP地址相对应的服务器。
2.如权利要求I所述的方法,其特征在于,在生成所述操作任务列表之后、且在向所述 DNS发送允许获取命令之前,进一步包括将所述操作任务列表的状态设置为待获取状态;所述向所述DNS发送允许获取操作任务列表的允许获取命令包括向所述DNS发送允许获取状态为待获取的操作任务列表的允许获取命令。
3.如权利要求2所述的方法,其特征在于,所述DNS获取操作任务列表包括所述DNS获取状态为待获取状态的操作任务列表。
4.如权利要求I所述的方法,其特征在于,所述请求信息还携带所述访问请求所对应的端口信息;所述虚拟服务器判断是否需对所述访问请求进行加速操作包括所述虚拟服务器判断所述端口信息是否包含于预先设置的白名单中;在包含于所述白名单中时,确定所述访问请求需要进行加速操作。
5.如权利要求I所述的方法,其特征在于,所述将所述访问请求转发给与所述IP地址相对应的服务器包括将所述IP地址转换为服务器IP地址;将所述访问请求转发给所述服务器IP地址所对应的服务器。
6.一种发送访问请求的系统,其特征在于,所述系统包括操作任务列表生成设备,用于根据获取到的由域名系统DNS解析用户的访问请求后得到的域名信息,生成操作任务列表;向所述DNS发送允许获取命令;所述允许获取命令允许 DNS从所述操作任务列表生成设备处获取操作任务列表;所述操作任务列表中包括与各域名信息唯一对应的VIP地址;所述VIP地址唯一指向一个网络地址转换设备虚拟服务器; 所述DNS,用于根据获取到的操作任务列表以及所述域名信息,确定出与所述访问请求所对应的虚拟服务器;将携带所述访问请求及解析所述访问请求得到的IP地址的请求信息发送给确定出的虚拟服务器;所述虚拟服务器,用于判断是否需要对所述访问请求进行加速操作;在确定需要加速时,将所述访问请求转发给与所述IP地址相对应的服务器。
7.如权利要求6所述的系统,其特征在于,所述操作任务列表生成设备还用于,将所述操作任务列表的状态设置为待获取状态;操作任务列表生成设备具体用于,向所述DNS发送允许获取状态为待获取的操作任务列表的允许获取命令。
8.如权利要求7所述的系统,其特征在于,所述DNS还用于,获取状态为待获取的操作任务列表。
9.如权利要求6所述的系统,其特征在于,所述请求信息还携带所述访问请求所对应的端口信息;所述虚拟服务器具体用于,判断所述端口信息是否包含于预先设置的白名单中;在包含于所述白名单中时,确定所述访问请求需要进行加速操作。
10.如权利要求6所述的系统,其特征在于,所述虚拟服务器还用于,将所述IP地址转换为服务器IP地址;将所述访问请求转发给所述服务器IP地址所对应的服务器。
全文摘要
本发明涉及内容分发网络技术领域,尤其涉及一种发送访问请求的方法及系统;用于提高获取待加速域名信息的效率。该方法包括根据获取到的由DNS解析用户的访问请求后得到的域名信息,生成操作任务列表;向DNS发送允许获取命令;允许获取命令允许DNS从操作任务列表生成设备处获取操作任务列表;DNS根据获取到的操作任务列表以及域名信息,确定出与访问请求所对应的虚拟服务器;将携带访问请求及解析访问请求得到的IP地址的请求信息发送给确定出的虚拟服务器;确定出的虚拟服务器判断是否需要对访问请求进行加速操作;在确定需要加速时,将访问请求转发给与IP地址相对应的服务器。可见,该方法可高效准确的获取待加速域名信息。
文档编号H04L29/08GK102611756SQ20121008519
公开日2012年7月25日 申请日期2012年3月28日 优先权日2012年3月28日
发明者周兴博, 宗劼, 李健松, 黄东 申请人:北京蓝汛通信技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1