本技术涉及通信,尤其涉及一种消息处理系统、方法、装置及设备。
背景技术:
1、域名解析是将用户请求访问的域名指向到各个网站的ip地址,提高了用户访问网站的便捷性。
2、目前,一种域名解析方式如下:本地域名系统(domain name system,dns)解析器接收携带用户访问的域名的请求消息之后,可以根据预配置的分流策略,匹配出与该请求消息对应的代理服务器以及对应的应用服务器的互联网协议(internet protocol,ip)地址,并将该请求消息发送给该代理服务器。但这种域名解析方式下,一方面,需要本地dns解析器预存大量的分流策略,会占用本地dns解析器的大量存储资源;另一方面,本地dns解析器需要对所有的请求消息进行处理,导致本地dns解析器的处理资源开销较大。总而言之,目前这种域名解析方式中,这导致本地dns解析器的资源开销较大。
技术实现思路
1、本技术实施例提供一种消息处理系统、方法、装置及设备,用于减少访问设备的资源开销。
2、第一方面,本技术实施例提供一种消息处理系统,包括访问设备、第一dns服务器、和目标代理服务器,其中:所述访问设备,用于向所述第一dns服务器发送第一请求消息,所述第一请求消息指示请求访问目标域名;所述第一dns服务器,用于确定所述目标域名对应的第一ip地址和第二ip地址,并向所述访问设备发送第一响应消息,所述第一ip地址为目标应用服务器的地址,所述第二ip地址为目标代理服务器的地址,所述第一响应消息指示所述第一ip地址和所述第二ip地址;所述访问设备,还用于存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并根据所述第二ip地址向所述目标代理服务器发送第二请求消息,所述第二请求消息指示所述第一ip地址;所述目标代理服务器,用于根据所述第一ip地址,向所述目标应用服务器发送第三请求消息,所述第三请求消息指示请求访问所述目标域名。
3、在本技术实施例中,访问设备中无需预先存储第一ip地址和第二ip地址的对应关系,进而减少了访问设备的对应关系的存储量,从而减少了访问设备的存储资源消耗。
4、在一种可能的实施方式中,所述访问设备运行有请求模块、本地dns解析器和本地代理转发器;其中:所述本地dns解析器,用于接收来自所述请求模块的第四请求消息,以及向所述第一dns服务器发送所述第一请求消息,并接收来自所述第一dns服务器的所述第一响应消息,所述第四请求消息指示请求目标域名;所述本地dns解析器,还用于存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并向所述请求模块发送第二响应消息,所述第二响应消息指示所述第一ip地址;所述请求模块,还用于向所述本地代理转发器发送第五请求消息,所述第五请求消息指示所述第一ip地址;所述本地代理转发器,用于读取所述对应关系,根据所述第一ip地址,从所述对应关系中确定所述第二ip地址,并根据所述第二ip地址,向所述目标代理服务器发送所述第二请求消息。
5、在该实施方式中,本地dns解析器(如本地dns服务器)在接收到来自请求模块的请求访问目标域名的第四请求消息后,向第一dns服务器发送第一请求消息,由第一dns服务器确定目标域名对应的目标代理服务器的地址(第二ip地址),从第一dns服务器直接接收第二ip地址,而无需在本地dns解析器中预存大量的域名与代理服务器之间的对应关系,从而减少了本地dns解析器需提前存储的对应关系,进而减少了访问设备的存储资源的消耗。另外,本地dns解析器可直接从第一dns服务器获取对应关系,无需由本地dns解析器确定第二ip地址等,有利于减少本地dns解析器的处理量,因此可减少本地dns解析器的处理资源的消耗。
6、在一种可能的实施方式中,所述第一dns服务器具体用于:向第二dns服务器发送第六请求消息,所述第六请求消息指示请求解析所述目标域名;接收来自所述第二dns服务器的第三响应消息,所述第三响应消息指示所述第一ip地址;从多个代理服务器中,确定所述目标代理服务器。
7、在该实施方式中,第一dns服务器可向第二dns服务器请求解析目标域名得到目标域名对应的目标应用服务器的地址(第一ip地址),无需第一dns服务器解析目标域名,可相对减少第一dns服务器的处理量。
8、在一种可能的实施方式中,所述第一dns服务器具体用于:从所述多个代理服务器中,将负载小于或等于第一阈值,和/或与所述目标应用服务器之间的距离小于或等于第二阈值的代理服务器确定为所述目标代理服务器。
9、在该实施方式中,第一dns服务器可将负载较小的代理服务器作为目标代理服务器,可保证目标代理服务器具有足够的处理资源处理请求消息,以保证目标代理服务器能够及时地处理请求消息,也有利于实现多个代理服务器的负载均衡。或者,第一dns服务器可将距离较小的代理服务器作为目标代理服务器,如此可减少目标代理服务器与目标应用服务器之间的距离,以有利于减小目标代理服务器与目标应用服务器的通信时延,也就有利于提高目标代理服务器与目标应用服务器之间的交互效率。或者,第二dns可将负载较小且距离较小的代理服务器作为目标代理服务器,如此,可实现负载均衡的同时,减少目标代理服务器与目标应用服务器的通信时延。
10、在一种可能的实施方式中,所述本地代理转发器还用于:若在预设时间段内,未接收来自所述请求模块的所述第四请求消息,则删除所述对应关系。
11、在该实施方式中,本地代理转发器在没有接收到第一ip地址的第三请求消息的情况下,表示该对应关系可能是多余的或者是错误存储的对应关系,因此本地代理转发器可删除对应关系,如此及时释放该对应关系占用的存储资源,避免浪费存储资源。
12、在一种可能的实施方式中,所述第一响应消息为符合扩展机制edns协议的消息,且所述第二ip地址被携带在所述第一响应消息的字段中。
13、在该实施方式中,第二ip地址可被携带在dns应答包中的字段中,而无需通过专有的消息指示第二ip地址,有利于减少本地dns解析器和第一dns服务器之间的交互次数。
14、第二方面,本技术实施例提供一种消息处理方法,应用于第一dns服务器,所述方法包括:接收来自访问设备的第一请求消息,所述第一请求消息指示请求访问目标域名;确定与所述目标域名对应的第一ip地址和第二ip地址,所述第一ip地址为目标应用服务器的地址,所述第二ip地址为目标代理服务器的地址;向所述访问设备发送第一响应消息,以使所述访问设备存储所述目标域名、所述第一ip地址和所述第二ip地址的对应关系,并向所述目标代理服务器发送第二请求消息,所述第一响应消息指示所述第一ip地址和所述第二ip地址,所述第二响应消息指示所述第一ip地址,所述第二请求消息指示第一ip地址。
15、在一种可能的实施方式中,确定与所述目标域名对应的第一ip地址和第二ip地址,包括:向第二dns服务器发送第六请求消息,所述第六请求消息指示请求解析所述目标域名;接收来自所述第二dns服务器的第三响应消息,所述第三响应消息指示所述第一ip地址;从多个代理服务器中,确定所述目标代理服务器。
16、在一种可能的实施方式中,从多个代理服务器中,确定所述目标代理服务器,包括:从所述多个代理服务器中,将负载小于或等于第一阈值,和/或与所述目标应用服务器之间的距离小于或等于第二阈值的代理服务器确定为所述目标代理服务器。
17、在一种可能的实施方式中,所述第一响应消息为符合扩展机制edns协议的消息,且所述第二ip地址被携带在所述第一响应消息的字段中。
18、第三方面,本技术实施例提供一种消息处理方法,应用于访问设备,所述方法包括:向第一dns服务器发送第一请求消息,所述第一请求消息指示请求访问目标域名;接收来自所述第一dns服务器的第一响应消息,所述第一响应消息指示第一ip地址和第二ip地址,所述第一ip地址为目标应用服务器的地址,所述第二ip地址为目标代理服务器的地址;存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并根据所述第二ip地址向所述目标代理服务器发送第二请求消息,所述第二请求消息指示所述第一ip地址。
19、在一种可能的实施方式中,所述访问设备运行有请求模块、本地dns解析器和本地代理转发器;向第一dns服务器发送第一请求消息,所述第一请求消息指示请求访问目标域名,包括:所述本地dns解析器,接收来自所述请求模块的第四请求消息,以及向所述第一dns服务器发送所述第一请求消息,所述第四请求消息指示请求目标域名;接收来自所述第一dns服务器的第一响应消息,所述第一响应消息指示第一ip地址和第二ip地址,所述第一ip地址为目标应用服务器的地址,所述第二ip地址为目标代理服务器的地址,包括:所述本地dns解析器,接收来自所述第一dns服务器的所述第一响应消息;存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并根据所述第二ip地址向所述目标代理服务器发送第二请求消息,所述第二请求消息指示所述第一ip地址,包括:所述本地dns解析器,存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并向所述请求模块发送第二响应消息,所述第二响应消息指示所述第一ip地址;所述请求模块,向所述本地代理转发器发送第五请求消息,所述第五请求消息指示所述第一ip地址;所述本地代理转发器,读取所述对应关系,根据所述第一ip地址,从所述对应关系中确定所述第二ip地址,并根据所述第二ip地址,向所述目标应用服务器发送所述第二请求消息。
20、第四方面,本技术实施例提供一种消息处理装置,包括:收发模块,用于接收来自访问设备的第一请求消息,所述第一请求消息指示请求访问目标域名;处理模块,用于确定与所述目标域名对应的第一ip地址和第二ip地址,所述第一ip地址为目标应用服务器的地址,所述第二ip地址为目标代理服务器的地址;所述收发模块,还用于向所述访问设备发送第一响应消息,以使所述访问设备存储所述目标域名、所述第一ip地址和所述第二ip地址的对应关系,并向所述目标代理服务器发送第二请求消息,所述第一响应消息指示所述第一ip地址和所述第二ip地址,所述第二响应消息指示所述第一ip地址,所述第二请求消息指示第一ip地址。
21、在一种可能的实施方式中,所述处理模块具体用于,向第二dns服务器发送第六请求消息,所述第六请求消息指示请求解析所述目标域名;接收来自所述第二dns服务器的第三响应消息,所述第三响应消息指示所述第一ip地址;从多个代理服务器中,确定所述目标代理服务器。
22、在一种可能的实施方式中,所述处理模块具体用于,从所述多个代理服务器中,将负载小于或等于第一阈值,和/或与所述目标应用服务器之间的距离小于或等于第二阈值的代理服务器确定为所述目标代理服务器。
23、在一种可能的实施方式中,所述第一响应消息为符合扩展机制edns协议的消息,且所述第二ip地址被携带在所述第一响应消息的字段中。
24、第五方面,本技术实施例提供一种消息处理装置,包括:收发模块,用于向第一dns服务器发送第一请求消息,所述第一请求消息指示请求访问目标域名,以及接收来自所述第一dns服务器的第一响应消息,所述第一响应消息指示第一ip地址和第二ip地址,所述第一ip地址为目标应用服务器的地址,所述第二ip地址为目标代理服务器的地址;处理模块,用于存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并根据所述第二ip地址向所述目标代理服务器发送第二请求消息,所述第二请求消息指示所述第一ip地址。
25、在一种可能的实施方式中,所述访问设备运行有请求模块、本地dns解析器和本地代理转发器;向第一dns服务器发送第一请求消息,所述第一请求消息指示请求访问目标域名,包括:
26、所述收发模块,还用于接收来自所述请求模块的第四请求消息,以及向所述第一dns服务器发送所述第一请求消息,所述第四请求消息指示请求目标域名;
27、接收来自所述第一dns服务器的第一响应消息,所述第一响应消息指示第一ip地址和第二ip地址,所述第一ip地址为目标应用服务器的地址,所述第二ip地址为目标代理服务器的地址,包括:
28、所述收发模块,还用于接收来自所述第一dns服务器的所述第一响应消息;
29、存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并根据所述第二ip地址向所述目标代理服务器发送第二请求消息,所述第二请求消息指示所述第一ip地址,包括:
30、所述处理模块,还用于存储所述目标域名、所述第一ip地址和所述第二ip地址之间的对应关系,并向所述请求模块发送第二响应消息,所述第二响应消息指示所述第一ip地址;
31、所述收发模块,还用于向所述本地代理转发器发送第五请求消息,所述第五请求消息指示所述第一ip地址;
32、所述处理模块,还用于读取所述对应关系,根据所述第一ip地址,从所述对应关系中确定所述第二ip地址;
33、所述收发模块,还用于根据所述第二ip地址,向所述目标应用服务器发送所述第二请求消息。
34、第六方面,本技术实施例提供一种消息处理设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第二方面至第三方面及任一可能的实施方式中任一项所述的方法。
35、第七方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第二方面至第三方面及任一可能的实施方式中任一项所述的方法。
36、第八方面,本技术实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得上述第二方面至第三方面及任一可能的实施方式中的任一方法被实现。
37、关于第二方面至第八方面的有益效果可参照前文第一方面所论述的内容,此处不再赘述。