本申请涉及一种域名切换方法、装置、计算机可读存储介质和计算机设备,所述方法包括:通过心跳线程向第一域名对应的第一服务器发送检测包,当接收到所述第一服务器返回的应答包时,计算第一时长;通过所述心跳线程向第二域名对应的第二服务器发送所述检测包,当接收到所述第二服务器返回的应答包时,计算第二时长;当所述第一时长小于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第一域名;若否,则将所述第二域名切换为所述第一域名。本申请提供的方案可以提高域名切换的效率,并且保证终端当前所使用的域名对应的网络最优。
【技术实现步骤摘要】
域名切换方法、装置、计算机可读存储介质和计算机设备
本申请涉及计算机
,特别是涉及一种域名切换方法、装置、计算机可读存储介质和计算机设备。
技术介绍
当前嵌入式开发情况下,往往通过主域名、备域名切换使用的域名访问机制,来保证终端与服务端进行良好的通信。参考图1,具体的方案是:终端设备初始化时进行网络测探,确定出最优网络的域名,然后终端设备使用该域名直至出现服务响应超时、或直至运行结束;若在使用过程中未出现服务响应超时的情况下,想要进行域名切换,则需要重启终端设备。然而,上述域名切换方法在终端所使用的域名对应网络发生延迟、抖动、间断性不可用时,并不能及时地进行域名切换,导致域名切换效率较低。
技术实现思路
基于此,有必要针对域名切换效率较低的技术问题,提供一种域名切换方法、装置、计算机可读存储介质和计算机设备。一种域名切换方法,包括:通过心跳线程向第一域名对应的第一服务器发送检测包,当接收到所述第一服务器返回的应答包时,计算第一时长;通过所述心跳线程向第二域名对应的第二服务器发送所述检测包,当接收到所述第二服务器返回的应答包时,计算第二时长;当所述第一时长小于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第一域名;若否,则将所述第二域名切换为所述第一域名。在一个实施例中,所述方法还包括:当所述第一时长大于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第二域名;若否,则将所述第一域名切换为所述第二域名。在一个实施例中,所述计算第一时长,包括:当所述心跳线程向所述第一域名对应的第一服务器发送检测包时,记录第一发送时间;当接收到所述第一服务器返回的应答包时,记录第一接收时间;根据所述第一发送时间和所述第一接收时间,计算第一时长。在一个实施例中,所述将所述第二域名切换为所述第一域名,包括:将所述第二域名更新为所述第一域名,并将所述第一域名保存至共享内存中;更新后的所述第一域名,用于所述其他进程与所述第一服务器进行通信。在一个实施例中,所述方法还包括:当所述第一时长小于所述第二时长、且所述其他进程在使用所述第一域名时,则保持当前所使用的所述第一域名。在一个实施例中,所述方法还包括:当所述心跳线程所处进程采用所述第一域名时,所述心跳线程分别向所述第一服务器、所述第二服务器发送检测包的过程中,所述其他进程采用所述第一域名与所述第一服务器进行通信;当所述心跳线程所处进程采用所述第二域名时,所述心跳线程分别向所述第一服务器、所述第二服务器发送检测包的过程中,所述其他进程采用所述第二域名与所述第二服务器进行通信。一种域名切换装置,所述装置包括:第一时长计算模块,用于通过心跳线程向第一域名对应的第一服务器发送检测包,当接收到所述第一服务器返回的应答包时,计算第一时长;第二时长计算模块,用于通过所述心跳线程向第二域名对应的第二服务器发送所述检测包,当接收到所述第二服务器返回的应答包时,计算第二时长;域名判断模块,用于当所述第一时长小于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第一域名;域名切换模块,用于若所述心跳线程所处进程之外的其他进程未在使用所述第一域名,则将所述第二域名切换为所述第一域名。在一个实施例中,所述域名判断模块还用于,当所述第一时长大于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第二域名;所述域名切换模块还用于,若所述心跳线程所处进程之外的其他进程未在使用所述第二域名,则将所述第一域名切换为所述第二域名。在一个实施例中,所述第一时长计算模块,还用于:当所述心跳线程向所述第一域名对应的第一服务器发送检测包时,记录第一发送时间;当接收到所述第一服务器返回的应答包时,记录第一接收时间;根据所述第一发送时间和所述第一接收时间,计算第一时长。在一个实施例中,所述域名切换模块,还用于:将所述第二域名更新为所述第一域名,并将所述第一域名保存至共享内存中;更新后的所述第一域名,用于所述其他进程与所述第一服务器进行通信。在一个实施例中,所述装置还包括:域名保持模块,用于当所述第一时长小于所述第二时长、且所述其他进程在使用所述第一域名时,则保持当前所使用的所述第一域名。在一个实施例中,所述域名保持模块,还用于:当所述心跳线程所处进程采用所述第一域名时,所述心跳线程分别向所述第一服务器、所述第二服务器发送检测包的过程中,所述其他进程采用所述第一域名与所述第一服务器进行通信;当所述心跳线程所处进程采用所述第二域名时,所述心跳线程分别向所述第一服务器、所述第二服务器发送检测包的过程中,所述其他进程采用所述第二域名与所述第二服务器进行通信。一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述任一项方法的步骤。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述任一项方法的步骤。上述域名切换方法、装置、计算机可读存储介质和计算机设备,通过心跳线程向第一域名对应的第一服务器发送检测包,当接收到第一服务器返回的应答包时,计算第一时长;通过心跳线程向第二域名对应的第二服务器发送检测包,当接收到第二服务器返回的应答包时,计算第二时长;当第一时长小于第二时长时,判断心跳线程所处进程之外的其他进程是否在使用第一域名;若否,则将所使用的第二域名切换为第一域名,提高了域名切换的效率,并且在不增加终端的业务请求的前提下,保证当前终端上的应用程序所使用的域名对应的网络最优,提高了终端设备与服务器通信的稳定性。附图说明图1为一个实施例中传统的域名切换方法示意图;图2为一个实施例中域名切换方法的应用环境图;图3为一个实施例中域名切换方法的流程示意图;图4为一个实施例中域名切换方法对比示意图;图5为一个实施例中域名切换方法的流程示意图;图6为一个实施例中切换域名正常业务请求的示意图;图7为一个实施例中域名切换装置的结构框图;图8为另一个实施例中域名切换装置的结构框图;图9为一个实施例中计算机设备的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图2为一个实施例中域名切换方法的应用环境图。参照图2,该域名切换方法应用于域名切换系统。该域名切换系统包括终端210和服务端,其中,服务端包括第一服务器220和第二服务器230,第二服务器230为第一服务器220的备用服务器,终端210分别与第一服务器220、本文档来自技高网...
【技术保护点】
1.一种域名切换方法,包括:/n通过心跳线程向第一域名对应的第一服务器发送检测包,当接收到所述第一服务器返回的应答包时,计算第一时长;/n通过所述心跳线程向第二域名对应的第二服务器发送所述检测包,当接收到所述第二服务器返回的应答包时,计算第二时长;/n当所述第一时长小于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第一域名;/n若否,则将所述第二域名切换为所述第一域名。/n
【技术特征摘要】
1.一种域名切换方法,包括:
通过心跳线程向第一域名对应的第一服务器发送检测包,当接收到所述第一服务器返回的应答包时,计算第一时长;
通过所述心跳线程向第二域名对应的第二服务器发送所述检测包,当接收到所述第二服务器返回的应答包时,计算第二时长;
当所述第一时长小于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第一域名;
若否,则将所述第二域名切换为所述第一域名。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一时长大于所述第二时长时,判断所述心跳线程所处进程之外的其他进程是否在使用所述第二域名;
若否,则将所述第一域名切换为所述第二域名。
3.根据权利要求1所述的方法,其特征在于,所述计算第一时长,包括:
当所述心跳线程向所述第一域名对应的第一服务器发送检测包时,记录第一发送时间;
当接收到所述第一服务器返回的应答包时,记录第一接收时间;
根据所述第一发送时间和所述第一接收时间,计算第一时长。
4.根据权利要求1所述的方法,其特征在于,所述将所述第二域名切换为所述第一域名,包括:
将所述第二域名更新为所述第一域名,并将所述第一域名保存至共享内存中;更新后的所述第一域名,用于所述其他进程与所述第一服务器进行通信。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
当所述第一时长小于所述第二时长、且所述其他进程在使用所述第一域名时,则保持当前所使用的所述第一域名。
6.根据权利要求1至4所述的方法,其特征在于,所述方法还包括:
当所述心跳线程所处进程采用所述第一域名时,所...
【专利技术属性】
技术研发人员:雷中南,贺磊,
申请(专利权)人:深圳前海百递网络有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。