具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(GlobalSystemofMobilecommunication,简称“GSM”)系统、码分多址(CodeDivisionMultipleAccess,简称“CDMA”)系统、宽带码分多址(WidebandCodeDivisionMultipleAccess,简称“WCDMA”)系统、通用分组无线业务(GeneralPacketRadioService,简称“GPRS”)、长期演进(LongTermEvolution,简称“LTE”)系统、LTE频分双工(FrequencyDivisionDuplex,简称“FDD”)系统、LTE时分双工(TimeDivisionDuplex,简称“TDD”)、通用移动通信系统(UniversalMobileTelecommunicationSystem,简称“UMTS”)等。
上位机,也可称之为终端、上网终端、用户、用户设备等,可以经接入网与一个或多个核心网进行通信,上位机可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与接入网交换语言和/或数据。
图1是根据本发明实施例的消息处理方法100的示意性流程图。如图1所示,该方法100包括:
S110、消息处理装置接收上位机发送的第一域名解析请求消息,该第一域名解析请求消息携带该上位机要求解析的域名;
S120、根据该第一域名解析请求消息,该消息处理装置从域名系统DNS服务器优先级列表中确定第一DNS服务器,该第一DNS服务器属于该DNS服务器优先级列表中优先级最高的DNS服务器集合;
S130、根据该第一域名解析请求消息,该消息处理装置向该第一DNS服务器发送第二域名解析请求消息,该第二域名解析请求消息携带该上位机要求解析的域名。
消息处理装置在接收到上位机发送的第一域名解析请求消息时,可以从DNS服务器优先级列表中优先级最高的DNS服务器集合中选取DNS服务器,并向该选取的DNS服务器发送第二域名解析请求消息。
因此,根据本发明实施例的消息处理方法,通过从DNS服务器优先级列表中优先级最高的DNS服务器集合中确定DNS服务器,能够灵活选取用于解析域名的DNS服务器,避免只能采用网络侧指定的DNS服务器解析域名,从而能够减少进一步域名解析时间,避免域名解析失败,并能够提升用户的上网体验。
应理解,在本发明实施例中,优先级最高的DNS服务器集合可以包括一个或多个DNS服务器,例如,该优先级最高的DNS服务器集合可以由优先级高于网络侧为上位机指定的DNS服务器的DNS服务器组成,或者由优先级高于某一阈值的DNS服务器组成,或者只包括DNS服务器优先级列表中优先级最高的DNS服务器,应根据具体情况而定,本发明实施例并不对此进行限定。
在本发明实施例中,DNS服务器优先级列表可以是静态配置的,例如,根据DNS服务器的硬件配置优劣排序的DNS服务器优先级列表,优先级高的DNS服务器为硬件配置较优的DNS服务器;也可以是基于DNS服务器已解析域名的平均解析时间确定的,例如,可以将DNS解析域名平均解析时间短的DNS服务器确定为优先级较高的DNS服务器,可以根据具体情况而定,本发明实施例并不对此进行限定。
在本发明实施例中,消息处理装置在接收到上位机发送的第一域名解析请求消息后,可以根据该第一域名解析请求消息中的原目标DNS服务器(即为网络侧为该上位机指定的DNS服务器)确定是否属于优先级最高的DNS服务器集合,如果属于DNS服务器优先级最高的DNS服务器集合,则可以直接发送与第一域名解析请求消息具有相同目标DNS服务器的第二域名请求消息;如果原目标DNS服务器不属于DNS服务器优先级最高的DNS服务器集合,则可以从该优先级最高的DNS服务器集合中选取一个DNS服务器,并向新选取的DNS服务器发送第二域名解析请求消息。
在本发明实施例中,在S120中根据该第一域名解析请求,消息处理装置从DNS服务器列表中确定第一DNS服务器之前,方法100还可以包括:
基于DNS服务器解析域名的平均解析时间,确定该DNS服务器优先级列表。
在本发明实施例中,DNS服务器优先级列表可以是基于DNS服务器解析域名的平均解析时间确定的,其中,所述的解析时间可以包括DNS服务器接收域名解析请求消息、进行域名解析和返回域名解析响应消息的过程总共耗费的时间。例如,将解析域名的平均解析时间短的DNS服务器确定为优先级较高的DNS服务器;在本发明实施例中,DNS服务器优先级列表也可以是根据DNS服务器解析域名的平均解析时间和解析次数确定的,例如,在平均解析时间相同的两个DNS服务器中,因为解析次数较多的DNS服务器的性能较为稳定,可以将解析次数较多的DNS服务器确定为优先级更高的DNS服务器,从而能够避免域名解析失败。
在本发明实施例中,如图2所示,在步骤S130之后,方法100还可以包括:
S141、在预定的时间内,消息处理装置接收到该第一DNS服务器发送的第一域名解析响应消息,且该第一域名解析响应消息中的第一DNS服务器的IP地址不同于该第一域名解析请求消息中的目标DNS服务器的IP地址时,将该第一域名解析响应消息中的第一DNS服务器的IP地址更新为该第一域名解析请求消息中的目标DNS服务器的IP地址,以生成第二域名解析响应消息;
S142、消息处理装置向该上位机发送该第二域名解析响应消息。
即,消息处理装置在向第一DNS服务器发送第二域名解析请求消息的时候,可以启动定时器,若在定时器预定的时间内接收到该DNS服务器发送的第一域名解析响应消息时,可以确定该第一域名解析响应消息中的第一DNS服务器的IP地址是否与该第一域名解析请求中的目标DNS服务器的IP地址相同;在该第一域名解析响应消息中的第一DNS服务器的IP地址不同于该第一域名解析请求消息中的目标DNS服务器的IP地址时,将该第一域名解析响应消息中的第一DNS服务器的IP地址更新为该第一域名解析请求消息中的目标DNS服务器的IP地址,以生成第二域名解析响应消息。随后,消息处理装置可以向该上位机发送该第二域名解析响应消息,从而上位机可以识别该第二域名解析响应消息,并根据该第二域名解析响应消息中域名对应的IP地址,访问相应的服务器。
消息处理装置在确定第一域名解析响应消息中的第一DNS服务器的IP地址与该第一域名解析请求消息中的目标DNS服务器的IP地址相同时(即,第一DNS服务器为网络侧为上位机指定的DNS服务器),可以直接将该第一域名解析响应消息发送至上位机,从而上位机可以根据该第一域名解析响应消息中域名对应的IP地址,访问相应的服务器。
在本发明实施例中,消息处理装置也可以在接收到第一DNS服务器发送的域名解析响应消息之前,确定第一DNS服务器的IP地址是否与第一域名解析请求消息中的目标DNS服务器的IP地址相同,并记录该比较结果,并在接收到第一DNS服务器发送的第一域名解析响应消息之后,根据记录结果,确定是否更改第一域名解析响应消息中DNS服务器的IP地址。
在本发明实施例中,若在预定的时间内,消息处理装置接收到第一DNS服务器发送的第一域名解析响应消息时,如图2所示,方法100还可以包括:
S143,消息处理装置根据该第二域名解析请求消息和该第一域名解析响应消息,确定域名解析时间;
S144,消息处理装置根据该域名解析时间,更新该第一DNS服务器解析域名的平均解析时间,并更新该DNS服务器优先级列表。
消息处理装置若在预定的时间内接收到第一DNS服务器发送的域名解析响应消息,则可以根据发送第二域名解析请求消息的时间和接收第一域名解析响应消息的时间,确定此次解析域名的解析时间,从而可以更新第一DNS服务器解析域名的平均解析时间,并更新该DNS服务器优先级列表;在本发明实施例中,如果DNS服务器优先级列表不仅是根据DNS服务器解析域名的平均解析时间确定的,还是结合DNS服务器解析域名的解析次数确定的时,信息处理装置还可以更新第一DNS服务器的解析次数,并根据更新后的解析次数和平均解析时间,更新该DNS服务器优先级列表。
在本发明实施例中,如图3所示,在步骤S130之后,方法100还可以包括:
S145、在预定的时间内,消息处理装置未接收到该第一DNS服务器发送的第一域名解析响应消息时,从该DNS服务器优先级列表中,确定第二DNS服务器,该第二DNS服务器属于该DNS服务器优先级列表中优先级最高的DNS服务器集合或优先级次高的DNS服务器集合;
S146、消息处理装置向该第二DNS服务器发送第三域名解析请求消息,该第三域名解析请求消息携带该上位机要求解析的域名。
消息处理装置在预定的时间内,如果没有接收到第一DNS服务器发送的域名解析响应消息时,可以重新选取DNS服务器,例如,假使第一DNS服务器为优先级最高的DNS服务器,可以选取除第一DNS服务器之外优先级最高的DNS服务器,假使优先级最高的DNS服务器集合中包括多个DNS服务器时,消息处理装置可以从该优先级最高的DNS服务器集合中选取其他DNS服务器,并向该重新选取的DNS服务器发送域名解析请求,或者当优先级最高的DNS服务器集合中只有第一DNS服务器时,可以从优先级次高的DNS服务器集合中选取其他DNS服务器,并向该重新选取的DNS服务器发送域名解析请求,从而可以避免DNS服务器解析域名失败,提升用户的体验。
在本发明实施例中,若在预定的时间内,消息处理装置未接收到第一DNS服务器发送的第一域名解析响应消息时,如图3所示,方法100还可以包括:
S147,消息处理装置更新该第一DNS服务器解析域名的平均解析时间,并更新该DNS服务器优先级列表。
即,消息处理装置如果在预定的时间内未接收到第一DNS服务器发送的域名解析响应消息时,可以假定第一DNS服务器的该次解析时间为预定时间,或预定时间的N(N≥2)倍,也可以将该次解析域名的解析时间确定为无穷大,从而可以重新确定该DNS服务器解析域名的平均解析时间,并更新DNS服务器优先级列表;在本发明实施例中,如果DNS服务器优先级列表不仅是根据DNS服务器解析域名的平均解析时间确定的,还是结合DNS服务器解析域名的解析次数确定的时,信息处理装置还可以更新第一DNS服务器的解析次数,并根据更新后的解析次数和平均解析时间,更新该DNS服务器优先级列表。
在本发明实施例中,方法100还可以包括:
消息处理装置接收空中下载(OvertheAir,简称“OTA”)消息,该OTA消息包括更新的DNS服务器的信息;
消息处理装置根据该OTA消息,将该更新的DNS服务器确定为属于该DNS服务器优先级列表中优先级最高的DNS服务器集合。
即,消息处理装置接收到用于指示需要更新DNS服务器的OTA消息后,例如,由网络侧发送的OTA消息,可以将该需要更新的DNS服务器确定为优先级最高的DNS服务器集合,例如,可以将该更新的DNS服务器的解析域名的平均解析时间确定为0,因为0为最短的平均解析时间,因此,可以将该更新的DNS服务器确定优先级最高的DNS服务器,或者确定为属于优先级最高的DNS服务器集合,或者可以确定为上位机当前位置区内优先级最高的DNS服务器,或者确定为属于上位机当前位置区内优先级最高的DNS服务器集合。因此,上位机进入不同的位置区,网络可以根据需要设置不同的DNS服务器。
在本发明实施例中,该DNS服务器优先级列表可以包括该上位机所处位置区的DNS服务器优先级列表、该上位机的运营商的DNS服务器优先级列表和所有运营商的DNS服务器优先级列表中的至少一种,其中,该DNS服务器优先级列表的查询次序依次为该上位机所处位置区的DNS服务器优先级列表、该上位机的运营商的DNS服务器优先级列表、所有运营商的DNS服务器优先级列表。
为了更加理解本发明,下面将结合图4具体描述根据本发明另一实施例的消息处理方法。
图4是根据本发明实施例的消息处理方法200的示意性流程图。如图4所示,该方法200包括:
S201、上位机拨号上网过程中,网络侧为上位机指定用于解析域名的DNS服务器。
S202、上位机需要访问某网站,向消息处理装置发送域名解析请求消息,其中,该请求消息中携带需要解析的域名,以及网络侧指定的DNS服务器的IP地址。
S203、消息处理装置根据上位机所处的位置区从DNS服务器优先级列表中选择优先级最高的DNS服务器,例如,DNS服务器1,并向该DNS服务器1发送域名解析请求消息,该域名解析请求消息中携带需要解析的域名,并在发送该域名解析请求消息的同时,启动定时器。
S204、消息处理装置在定时器设定的时间内未接收到DNS服务器1发送的域名解析响应消息时,从DNS服务器优先级列表中,选取除DNS服务器1之外该位置区内优先级最高的DNS服务器,例如,DNS服务器2,并向DNS服务器2发送域名解析请求,该域名解析请求消息中携带需要解析的域名,并在发送域名解析请求消息的同时启动定时器。
S205、DNS服务器2接收到消息处理装置发送的域名解析请求消息时,可以根据该域名解析请求消息,确定域名解析请求消息中携带的域名对应的IP地址,并向该消息处理装置发送域名解析响应消息,该域名解析响应消息中携带DNS服务器要求解析的域名对应的IP地址和DNS服务器2的IP地址。
S206、在预定的时间内,消息处理装置接收到DNS服务器发送的域名解析响应消息,并确定响应消息中的DNS服务器2的IP地址是否为上位机携带的网络侧指定的DNS服务器的IP地址,如果不是,则将该响应消息中的DNS服务器2的IP地址更新为上位机发送的域名解析请求消息中的DNS服务器的IP地址。消息处理装置向上位机发送域名解析响应消息,以便于上位机可以根据该域名解析响应消息中携带的IP地址访问相应的服务器。
S207、消息处理装置可以根据此次域名的解析时间,更新DNS服务器2和DNS服务器1的平均域名解析时间和域名解析次数,并更新该DNS服务器优先级列表的优先级排序。
S208、网络侧需要更新上位机所处位置区的DNS服务器,则向消息处理装置发送OTA消息,该OTA消息携带更新的DNS服务器的信息。
S209、消息处理装置在接收到网络侧发送的OTA消息,则可以将该更新的DNS服务器设定为该上位机所处位置区优先级最高的DNS服务器。
应理解,方法200只是本发明的一个实施例中,不应对本发明构成任何限定,例如,消息处理装置在预定的时间内未接收到DNS服务器2的域名解析响应消息时,则可以再次选取DNS服务器,并向该重新选取的DNS服务器发送域名解析请求消息,如果在预定的时间内还未接收到该重新选取的DNS服务器的域名解析响应消息时,则可以再次选取DNS服务器,直到收到DNS服务器发送的域名解析响应消息为止。
还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定,例如,S207中更新DNS服务器1的域名解析时间和域名解析次数可以在S204中选取DNS服务器2之前执行;再例如,S208和S209可以在S201网络侧为上位机分配DNS之前执行。
因此,根据本发明实施例的消息处理方法,通过从DNS服务器优先级列表中优先级最高的DNS服务器集合中确定DNS服务器,能够灵活选取用于解析域名的DNS服务器,避免只能采用网络侧指定的DNS服务器解析域名,从而能够进一步减少域名解析时间,避免域名解析失败,并能够提升用户的上网体验。
以上已结合图1至图4描述了根据本发明实施例的消息处理方法。以下将结合图5描述根据本发明实施例的消息处理装置。所述的消息处理装置,具体可以是一个集成的上网模块,也可以是一个无线上网卡,还可以是其他处理域名解析消息的装置、产品。
图5是根据本发明实施例的消息处理装置的示意性框图。如图5所示,装置400包括:
接收器410,用于接收上位机发送的第一域名解析请求消息,该第一域名解析请求消息携带该上位机要求解析的域名;
存储器420,用于存储DNS服务器优先级列表;
处理器430,用于根据该接收器410接收的该第一域名解析请求消息,从该存储器420中获取该DNS服务器优先级列表,并从该DNS服务器优先级列表中确定第一DNS服务器,该第一DNS服务器属于该DNS服务器优先级列表中优先级最高的DNS服务器集合,还用于根据该第一域名解析请求消息和该第一DNS服务器生成第二域名解析请求消息,该第二域名解析请求消息中携带该上位机要求解析的域名;
发送器440,用于向该第一DNS服务器发送该处理器430生成的该第二域名解析请求消息。
因此,根据本发明实施例的消息处理装置,通过从DNS服务器优先级列表中优先级最高的DNS服务器集合中确定DNS服务器,能够灵活选取用于解析域名的DNS服务器,避免只能采用网络侧指定的DNS服务器解析域名,从而能够进一步减少域名解析时间,避免域名解析失败,并能够提升用户的上网体验。
可选地,该处理器430,还用于根据DNS服务器解析域名的平均解析时间,确定该DNS服务器优先级列表;
该存储器420,还用于存储DNS服务器解析域名的平均解析时间。
可选地,该处理器430,还用于根据DNS服务器解析域名的平均解析时间和解析次数,确定该DNS服务器优先级列表;
该存储器420,还用于存储DNS服务器解析域名的解析次数。
可选地,该接收器410,还用于在预定的时间内接收该第一DNS服务器发送的第一域名解析响应消息;
该处理器430,还用于确定该第一域名解析响应消息中的第一DNS服务器的IP地址是否与该第一域名解析请求消息中的目标DNS服务器的IP地址相同,并在该第一域名解析响应消息中的第一DNS服务器的IP地址不同于该第一域名解析请求消息中的目标DNS服务器的IP地址时,将该第一域名解析响应消息中的第一DNS服务器的IP地址更新成该第一域名解析请求消息中的目标DNS服务器的IP地址,以生成第二域名解析响应消息;
该发送器440,还用于向该上位机发送该处理器430生成的该第二域名解析响应消息。
可选地,该处理器430还用于:
根据该第二域名解析请求消息和该第一域名解析响应消息,确定域名解析时间;
根据该域名解析时间,更新该第一DNS服务器解析域名的平均解析时间,并更新该DNS服务器优先级列表
可选地,该处理器430,还用于在确定在预定的时间内接收器410未接收到该第一DNS服务器发送的第一域名解析响应消息时,从该DNS服务器优先级列表中,确定第二DNS服务器,该第二DNS服务器属于该DNS服务器优先级列表中优先级最高的DNS服务器集合或优先级次高的DNS服务器集合,该处理器还用于根据该第一域名解析请求消息和第二DNS服务器生成第三域名解析请求消息,该第三域名解析请求消息中携带该上位机要求解析的域名;
该发送器440,还用于向该第二DNS服务器发送该处理器430生成的该第三域名解析请求消息。
可选地,该处理器430还用于:
更新该第一DNS服务器解析域名的平均解析时间,并更新该DNS服务器优先级列表。
可选地,该接收器410,还用于接收空中下载OTA消息,该OTA消息包括更新的DNS服务器的信息;
该处理器430,还用于根据该接收器410接收的该OTA消息,将该更新的DNS服务器确定为属于该DNS服务器优先级列表中优先级最高的DNS服务器集合。
在本发明实施例中,为了描述的简洁,在图5中各个硬件只描述了一个,但是图5中的各个硬件可以是一个或多个,例如,图中所示的处理器可以是一个微处理器或多个处理单元、芯片的组合,接收器和发送器可以是一个整体的射频元件,也可以由多个射频元件组成,本发明实施例对此并不限定。
在本发明实施例中,接收器、发送器、处理器和存储器的元件组成具体可以参考现有技术,本发明实施例并不对此进行限定。
应理解,根据本发明实施例的消息处理装置400可对应于本发明方法实施例中的消息处理装置,装置400的各个硬件或硬件与相应软件的配合所执行的操作可以参考上述图1至图4方法实施例中的方法100至200。为了避免重复,在此不再赘述。
因此,根据本发明实施例的消息处理装置,通过从DNS服务器优先级列表中优先级最高的DNS服务器集合中确定DNS服务器,能够灵活选取用于解析域名的DNS服务器,避免只能采用网络侧指定的DNS服务器解析域名,从而能够进一步减少域名解析时间,避免域名解析失败,并能够提升用户的上网体验。
图6是根据本发明实施例的消息处理系统,如图6所示,该系统包括:上位机510以及消息处理装置520,其中,该上位机510用于向该消息处理装置发送第一域名解析请求消息,该第一域名解析请求消息携带该上位机510要求解析的域名;
该消息处理装置520,用于接收该上位机510发送的该第一域名解析请求消息,并根据该第一域名解析请求消息,从域名系统DNS服务器优先级列表中确定第一DNS服务器,该第一DNS服务器属于该DNS服务器优先级列表中优先级最高的DNS服务器集合,并根据该第一域名解析请求消息,向该第一DNS服务器发送第二域名解析请求消息,该第二域名解析请求消息携带该上位机要求解析的域名。
根据本发明实施例的消息处理装置520可对应于本发明装置实施例的中的消息处理装置400,为了简洁,在此不再赘述。
根据本发明实施例的消息处理装置520可以对应于多个上位机510,即,一个消息处理装置可以为处理多个上位机的域名解析请求消息,可以根据具体情况而定,本发明实施例并不对此进行限定。
根据本发明实施例的消息处理装置可以为无线网卡、接入点、也可以是上位机中的模块,所述的消息处理器系统,可以是包含有无线上网模块的手机、平板电脑、计算机或者其他具备上网功能的机器,本发明实施例并不对此进行限定。
因此,根据本发明实施例的消息处理系统,通过从DNS服务器优先级列表中优先级最高的DNS服务器集合中确定DNS服务器,能够灵活选取用于解析域名的DNS服务器,避免只能采用网络侧指定的DNS服务器解析域名,从而能够进一步减少域名解析时间,避免域名解析失败,并能够提升用户的上网体验。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。