一种实现泛协议调度的方法及装置与流程

文档序号:15684327发布日期:2018-10-16 20:54阅读:186来源:国知局

本发明涉及互联网技术领域,尤其涉及一种实现泛协议调度的方法及装置。



背景技术:

当本地域名解析服务器(localdomainnameserver,缩写:ldns)接收到本地的一个客户端发送的调度请求时,ldns向域名解析服务器(domainnameserver,缩写:dns)发送该调度请求,dns通过递归解析依次访问各级dns的过程中,dns将该域名的别名(cname)反馈给ldns,ldns接收到别名后,再次通过递归查询,得到该cname对应web服务器的ip地址,ldns将解析得到的一个网络服务器的ip地址反馈给客户端,该客户端访问该ip地址获取数据。

现有技术中的递归查询过程需耗费较大的处理能力,域名解析效率较低,客户端需等待的时间较长,而且目前存在大量针对域名、http请求的异常劫持,导致流量调度失败、服务失败等原因。



技术实现要素:

为了解决上述技术问题,本发明提供了一种实现泛协议调度的方法及装置。

本发明提供的实现泛协议调度的方法,包括:

服务器设置源ip地址与地域的第一映射关系集合,以及网络资源地址、地域和网络服务器ip地址的第二映射关系集合;

所述服务器接收调度请求信息,从所述调度请求信息解析出的源ip地址和访问目标网络资源地址,查询所述第一映射关系集合确定与解析出的所述源ip地址对应的地域,查询所述第二映射关系确定与解析出的所述访问目标网络资源地址和查询到的所述地域所对应的网络服务器ip地址;封装应答信息,此应答信息中包含所述源ip地址、所述访问目标网络资源地址、所述网络服务器ip地址,将封装后的应答信息发送至所述调度请求信息的发送方。

上述实现泛协议调度的方法还具有以下特点:

所述方法还包括:所述服务器接收调度请求信息后,从所述调度请求信息解析出协议类型并标记协议类型;

所述封装应答信息包括:以所述协议类型所对应的协议封装所述应答信息。

上述实现泛协议调度的方法还具有以下特点:

所述从所述调度请求信息解析出协议类型的方式包括以下方式中的一种:

根据不同协议的监听端口判定协议类型;

对于公用端口的协议,通过分析制定偏移量的二进制代码以判断协议类型。

上述实现泛协议调度的方法还具有以下特点:

所述协议类型为域名系统dns协议类型时,目标网络资源地址的获取方法:解析dns报文获取目标域名字段,将目标域名字段作为所述目标网络资源地址;

所述协议类型为超文本传输协议http类型时,目标网络资源地址的获取方法为:提取url的主机字段,将所述主机字段作为所述目标网络资源地址;

所述协议类型为p2p协议类型时,目标网络资源地址的获取方法为:直接提取对象名称,将此对象名称作为目标网络资源地址;

所述协议类型为自定义协议类型时,目标网络资源地址的获取方法为:根据自定义协议规范提取访问目标网络资源地址。

上述实现泛协议调度的方法还具有以下特点:

所述服务器还从所述请求方接收通过不同类型的协议封装的心跳包,在对心跳包解析成功后,将封装此心跳包的协议作为可用协议,使用各可用协议分别对所述应答信息进行封装,将封装后的不同协议类型的各应答信息均发送至所述请求方。

上述实现泛协议调度的方法还具有以下特点:

所述方法还包括:所述服务器在封装后的应答信息中设置校验信息,或者通过预设加密算法对所述封装后的应答信息进行加密。

本发明提供的实现泛协议调度的装置,应用于服务器,包括:

配置模块,用于设置源ip地址与地域的第一映射关系集合,以及网络资源地址、地域和网络服务器ip地址的第二映射关系集合;

接收模块,用于接收调度请求信息;

解析处理模块,用于从所述调度请求信息解析出的源ip地址和访问目标网络资源地址,查询所述第一映射关系集合确定与解析出的所述源ip地址对应的地域,查询所述第二映射关系确定与解析出的所述访问目标网络资源地址和查询到的所述地域所对应的网络服务器ip地址;

封装模块,用于封装应答信息,此应答信息中包含所述源ip地址、所述访问目标网络资源地址、所述网络服务器ip地址;

发送模块,用于将封装后的应答信息发送至所述调度请求信息的发送方。

上述实现泛协议调度的装置还具有以下特点:

所述解析处理模块还用于从所述调度请求信息解析出协议类型并标记协议类型;

所述封装模块还用于以所述协议类型所对应的协议封装所述应答信息使所述应答信息中包括所述协议类型。

上述实现泛协议调度的装置还具有以下特点:

解析处理模块还用于采用以下方式中的一种从所述调度请求信息解析出协议类型的方式:

根据不同协议的监听端口判定协议类型;

对于公用端口的协议,通过分析制定偏移量的二进制代码以判断协议类型。

上述实现泛协议调度的装置还具有以下特点:

所述解析处理模块还用于在所述协议类型为域名系统dns协议类型时,解析dns报文获取目标域名字段,将目标域名字段作为所述目标网络资源地址;还用于在所述协议类型为超文本传输协议http类型时,提取url的主机字段,将所述主机字段作为所述目标网络资源地址;还用于在所述协议类型为p2p协议类型时,直接提取对象名称,将此对象名称作为目标网络资源地址;还用于在所述协议类型为自定义协议类型时,根据自定义协议规范提取访问目标网络资源地址。

上述实现泛协议调度的装置还具有以下特点:

所述接收模块,还用于从所述请求方接收通过不同类型的协议封装的心跳包;

所述解析处理模块,还用于对心跳包进行解析,解析成功后,将封装此心跳包的协议作为可用协议;

所述封装模块,还用于使用各可用协议分别对所述应答信息进行封装;

所述发送模块,还用于将封装后的不同协议类型的各应答信息均发送至所述请求方。

上述实现泛协议调度的装置还具有以下特点:

还包括校验模块,用于在封装后的应答信息中设置校验信息,或者通过预设加密算法对所述封装后的应答信息进行加密。

本发明可以极大的节省解析时间,缩短客户端的等待时间,提高用户的使用体验。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中实现泛协议调度的方法的流程图;

图2是实施例中实现泛协议调度的装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1是实施例中实现泛协议调度的方法的流程图,此实现泛协议调度的方法的执行主体为服务器,此方法包括:

步骤101,设置源ip地址与地域的第一映射关系集合,以及网络资源地址、地域和网络服务器ip地址的第二映射关系集合;

步骤102,接收调度请求信息,从所述调度请求信息解析出的源ip地址和访问目标网络资源地址,查询所述第一映射关系集合确定与解析出的所述源ip地址对应的地域,查询所述第二映射关系确定与解析出的所述访问目标网络资源地址和查询到的所述地域所对应的网络服务器ip地址;封装应答信息,此应答信息中包含所述源ip地址、所述访问目标网络资源地址、所述网络服务器ip地址;

步骤103,将所述应答信息发送至所述调度请求信息的发送方。

其中,

本方法还包括:所述服务器接收调度请求信息后,从所述调度请求信息解析出协议类型;其中,封装应答信息具体包括:以上述协议类型所对应的协议封装应答信息,并且所述应答信息中还包括所述协议类型。

从调度请求信息解析出协议类型的方式包括以下方式中的一种:

一,根据不同协议的监听端口判定协议类型;

二,对于公用端口的协议,通过分析制定偏移量的二进制代码以判断协议类型。

具体的,

协议类型为域名系统dns协议类型时,访问目标网络资源地址的类型为域名;目标网络资源地址的提取方法为解析dns报文获取目标域名字段。

协议类型为超文本传输协议http类型时,访问目标网络资源地址的类型为统一定位符url;目标网络资源地址的提取方法为提取url的主机host字段;

协议类型为p2p协议类型时,访问目标网络资源为对象名称;目标网络资源地址的提取方法为直接提取对象名称;

协议类型为自定义协议类型时,访问目标网络资源为根据自定义协议规范设定的访问目标网络资源地址;目标网络资源地址的提取方法为根据自定义协议规范提取访问目标网络资源地址。

此方法中,服务器还从请求方接收通过不同类型的协议封装的心跳包(例如请求方以预设时间间隔发送通过不同类型的协议封装的心跳包),在对心跳包解析成功后,将封装此心跳包的协议作为可用协议,使用各可用协议分别对所述应答信息进行封装,将封装后的不同协议类型的各应答信息均发送至所述请求方。通过此方法,可以在以某一类型的协议封装的应答信息被劫持时,使客户端仍然可以收到其能够解析的应答信息。

为提高应答信息的安全性,所述服务器在封装后的应答信息中设置校验信息,或者通过预设加密算法对所述封装后的应答信息进行加密。

图2是实施例中实现泛协议调度的装置的结构图,此装置应用于服务器,包括配置模块、接收模块、解析处理模块、封装模块和发送模块。

配置模块用于设置源ip地址与地域的第一映射关系集合,以及网络资源地址、地域和网络服务器ip地址的第二映射关系集合;

接收模块用于接收调度请求信息;

解析处理模块用于从所述调度请求信息解析出的源ip地址和访问目标网络资源地址,查询所述第一映射关系集合确定与解析出的所述源ip地址对应的地域,查询所述第二映射关系确定与解析出的所述访问目标网络资源地址和查询到的所述地域所对应的网络服务器ip地址;

封装模块用于封装应答信息,此应答信息中包含所述源ip地址、所述访问目标网络资源地址、所述网络服务器ip地址;

发送模块用于将所述应答信息发送至所述调度请求信息的发送方。

其中,

解析处理模块还用于从所述调度请求信息解析出协议类型并标记协议类型;具体的采用以下方式中的一种从所述调度请求信息解析出协议类型:

一,根据不同协议的监听端口判定协议类型;

二,对于公用端口的协议,通过分析制定偏移量的二进制代码以判断协议类型。

封装模块还用于以所述协议类型所对应的协议封装所述应答信息使所述应答信息中包括所述协议类型。

所述解析处理模块还用于在所述协议类型为域名系统dns协议类型时,解析dns报文获取目标域名字段,将目标域名字段作为所述目标网络资源地址;还用于在所述协议类型为超文本传输协议http类型时,提取url的主机字段,将所述主机字段作为所述目标网络资源地址;还用于在所述协议类型为p2p协议类型时,直接提取对象名称,将此对象名称作为目标网络资源地址;还用于在所述协议类型为自定义协议类型时,根据自定义协议规范提取访问目标网络资源地址。

接收模块还用于从所述请求方接收通过不同类型的协议封装的心跳包。解析处理模块还用于对心跳包进行解析,解析成功后,将封装此心跳包的协议作为可用协议。封装模块还用于使用各可用协议分别对所述应答信息进行封装。发送模块还用于将封装后的不同协议类型的各应答信息均发送至所述请求方。

为提高应答信息的安全性,此装置还包括校验模块,此校验模块用于在封装后的应答信息中设置校验信息,或者通过预设加密算法对所述封装后的应答信息进行加密。

具体实施例

服务器中预设置第一映射关系集合和第二映射关系集合。

第一映射关系集合中包括ip地址和地域的映射关系,例如:

ip地址地域

114.255.55.222北京

101.255.55.333上海

第二映射关系集合中包括网络资源地址、地域和网络服务器ip地址的映射关系,例如:

网络资源地址地域网络服务器ip地址

www.aa.com北京101.101.101.101

www.bb.com上海201.201.201.201

服务器从客户端接收到调度请求信息,此调度请求信息包括:源ip地址(具体为114.252.55.222)、访问目标网络资源地址(www.aa.com),协议类型(例如为dns)协议。

服务器从调度请求信息中解析协议类型为dns,则判断出目标网络资源地址的类型为域名。从调度请求信息中解析出源ip地址即114.252.55.222,目标网络资源地址即www.aa.com。

根据源ip地址即114.252.55.222查询第一映射关系集合,获得此源ip地址对应的地域为北京。

根据网络资源地址即www.aa.com和地域即北京查询第二映射关系集合,获得与网络资源地址即www.aa.com和地域即北京对应的网络服务器ip地址即101.101.101.101。

将源ip地址即114.252.55.222、访问目标网络资源地址www.aa.com、网络服务器ip地址101.101.101.101以dns格式封装于应答信息中,将应答信息发送至调度请求信息的发送方。

本发明可以极大的节省解析时间,缩短客户端的等待时间,提高用户的使用体验。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1