通信方式的确定方法和装置与流程
未命名
08-05
阅读:110
评论:0
1.本技术涉及计算机通信技术领域,尤其涉及一种通信方式的确定方法和装置。
背景技术:
2.当前,用户群体使用的网络环境通常较差,导致通信质量不稳定。而在对接的网络运营服务商相对较少的情况下,跨地域请求网络运营服务商提供的服务,存在高延迟或者无响应的问题。同时,存在部分域名因各种原因(例如,被封禁)而导致的请求大面积失败的问题。
3.现有技术中,在当前通信方式(包括网络协议和域名)不能正常使用的情况下,客户端只能等待网络协议服务端的修复或者服务端重新指派新的通信方式。这样耗时较长,用户体验较差。
技术实现要素:
4.针对现有技术中存在的问题,本技术提供一种通信方式的确定方法和装置。根据本技术的方案,客户端根据服务端下发的通信方式(包括网络协议和域名)进行通信,在当前的通信方式响应失败的情况下,能够切换为备用的通信方式,并且,客户端能够将请求的响应结果反馈至服务端,使得服务端根据客户端的反馈确定是否更新其设置的通信方式,在通信方式有更新的情况下,将更新后的通信方式下发至客户端。
5.根据本技术的第一个方面,提供一种通信方式的确定方法,应用于客户端,其特征在于,包括:
6.为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名;
7.接收针对所述请求的响应结果;
8.对返回的响应结果进行数据统计;以及
9.将所述数据统计发送至服务端,使得所述服务端根据所述数据统计更新所述预置通信策略。
10.根据本技术的第二个方面,提供一种通信方式的确定装置,其特征在于,包括:
11.第一分发模块,用于为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名;
12.第一接收模块,用于接收针对所述请求的响应结果;
13.第一统计模块,用于对返回的响应结果进行数据统计;以及
14.发送模块,用于将所述数据统计发送至服务端,使得所述服务端根据所述数据统计更新所述预置通信策略。
15.根据本技术的第三个方面,提供一种电子设备,包括:
16.处理器;以及
17.存储器,存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处
理器执行第一个方面所述的方法。
18.根据本技术的第四个方面,提供一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行第一个方面所述的方法。
19.根据本技术提供通信方式的确定方案,一方面,客户端根据服务端下发的通信策略指定的通信方式进行通信,并向服务端反馈请求的响应结果,使得服务端根据响应结果确定是否更新通信策略,并在通信策略有更新的情况下,将更新后的通信策略下发客户端,使得客户端根据更新后的通信策略进行通信;另一方面,客户端在根据服务端下发的通信策略指定的通信方式进行通信的过程中,能够在请求的响应失败的情况下,自动将通信方式切换为通信策略指定的通信方式中的备选通信方式。这样,客户端能够在当前通信方式失败的情况下,自动切换备选通信方式,使得通信方式的问题能够及时得到解决,保障通信质量,提高用户体验。
附图说明
20.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本技术要求保护的范围。
21.图1是根据本技术实施例的客户端实施的通信过程的流程图。
22.图2是根据本技术实施例的客户端实施的通信方式的确定方法的流程图。
23.图3是根据本技术实施例的通信方式的确定装置的示意图。
24.图4是本技术提供的一种电子设备的结构图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.图1是根据本技术实施例的客户端实施的通信过程的流程图。其中,客户端可以是各种终端,包括手机、平板电脑、个人计算机等。如图1所示,将客户端分为业务方和策略处理器,其中,业务方发起请求,在为该请求分发通信方式之前,需要对该请求进行边界处理,以拦截边界异常的请求。例如,当前网络不通,网络环境没有连上,网络不可用、服务端下发错误码等情况,该请求发不出去,需要进行拦截。
27.对于通过边界处理的请求,客户端的策略处理器为该请求分发通信方式,包括网络协议和域名。其中,网络协议可以包括http(hyper text transfer protocol,超文本传输协议)协议、im(instant messaging,即时通讯协议)协议和tcp(transmission control protocol,传输控制协议)协议等。在一个具体实施例中,策略处理器接收服务端下发的通信策略,该通信策略通常是根据客户端所在的国家或地区进行设置的。对于客户端的请求,通信策略指定了网络协议及其对应的域名。其中,通信策略指定的网络协议通常多于一个,而每个网络协议对应的域名通常也多于一个。根据一些实施例,通信策略会指定各个网络
协议的优先级,其中优先级最高的网络协议为默认网络协议,而其他网络协议为备用网络协议,而对于网络协议对应的多个域名,通信策略也会指定该网络协议下的默认域名以及备用域名。
28.根据一些实施例,通信策略指定了网络协议及其对应的域名。一个客户端所支持的网络协议与通信策略指定的网络协议一致,例如,通信策略指定的网络协议包括http协议、im协议和tcp协议,其中,http协议的优先级高于im协议,im协议的优先级高于tcp协议,而客户端所支持的网络协议包括http协议、im协议和tcp协议,那么,对于该客户端来说,通信策略指定的网络协议中可用网络协议包括http协议、im协议和tcp协议。通信策略指定的网络协议中优先级最高的可用网络协议为http协议,客户端为请求分发的网络协议首先为http协议。
29.根据另一些实施例,一个客户端所支持的网络协议与通信策略指定的网络协议可能不一致,例如,通信策略指定的网络协议包括http协议、im协议和tcp协议,其中,http协议的优先级高于im协议,im协议的优先级高于tcp协议,而客户端所支持的网络协议包括im协议和tcp协议,那么,对于该客户端来说,通信策略指定的网络协议中可用网络协议仅包括im协议和tcp协议。这样,即便http协议的优先级最高,对于客户端来说,通信策略指定的网络协议中优先级最高的可用网络协议为im协议,客户端为请求分发的网络协议首先为im协议。
30.在收到业务方发送的请求时,策略处理器根据服务端下发的通信策略,为该请求分发默认的网络协议及该网络协议对应的默认域名。在请求发出后,策略处理器会收到该请求的响应结果,其中响应结果包括响应成功和响应失败,对于响应成功的请求,策略处理器会对响应数据进行统计,包括统计由请求发起至返回响应这段时长,然后将统计结果发送至服务端。响应失败的原因可能有多种,例如,获得响应结果的时长超出预设的阈值等。对于响应失败的请求,策略处理器会统计当前通信方式下的成功率,并将统计结果发送至服务端。对于响应失败的请求,策略处理器还会切换通信方式,例如,当前通信方式是http协议及其对应的域名,在收到响应失败后,策略处理器将通信方式切换为优先级低于当前网络协议的网络协议及其对应的域名,例如,切换为im协议及其对应的域名,为响应失败的请求分发切换后的通信方式,并收到该请求的响应结果,对于响应成功和响应失败,重复上述的处理过程。
31.根据一些实施例,响应成功包括当前网络协议没有报错、没有发现异常,并且能正常访问对应的服务(成功连接到服务端,并且请求发送成功)。相应地,响应失败包括当前网络协议报错或当前网络协议返回的状态码不是标识为“成功”的值。其中,当前网络协议报错包括连接超时、socket超时、io出错和socket出错等等,协议返回的状态码不是“成功”值的情形包括指出客户端的错误、指示服务器的错误等等。
32.对于服务端来说,在收到客户端反馈的统计结果后,在必要时会根据统计结果更新通信策略。一般来说,服务端的通信策略是根据客户端所在的国家或地区确定的,通常不会随意改变。客户端所在的网络环境各不相同,存在个别客户端根据通信策略指定的通信方式出现请求响应失败或耗时较长的情况,然而,对于个别客户端出现的通信质量问题,服务端收到个别客户端的反馈通常不会更改其通信策略。但是,在当网络运营服务商出现延迟或故障,或者域名因为各种原因引起请求大面积失败的情况下,导致一个地区的客户端
普遍存在请求响应失败的情况,服务端根据大量客户端提供的统计结果,包括响应失败和/或耗时较长,会调整和更新通信策略,并将更新后的通信策略下发各个客户端,客户端根据更新后的通信策略进行请求的分发。
33.对于客户端来说,在采用当前网络协议的通信未成功的情况下,收到响应失败的指示,策略处理器根据该指示将通信方式切换为优先级低于当前网络协议的网络协议及其对应的域名,这样,即便服务端的通信策略没有实时更新,客户端也可以切换为备用的通信方式,减少通信时延,保障通信质量。
34.客户端会在请求响应失败的情况,为请求切换备用的通信方式。在请求根据分发的所有可用网络协议获得的响应均失败的情况下,将通信策略指定的优先级最高的可用网络协议对应的域名由默认域名切换为备用域名,遍历优先级最高的可用网络协议对应域名,看看是否能够响应成功。在遍历优先级最高的可用网络协议对应域名仍然响应失败的情况下,客户端报错。
35.根据一些实施例,客户端在发出请求收到对应的响应结果后,需要对响应结果进行格式转换,将响应结果转换为统一格式,再进行响应成功或响应失败的判断和处理。
36.根据一些实施例,客户端的业务方发送的请求分发完成后,对于下一个请求,策略处理器为该请求重复上述过程,包括为该请求分发通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名、对于响应成功或响应失败分别进行处理等。在此过程中,策略处理器会统计各个网络协议响应失败的次数,尤其是连续响应失败的次数,在连续响应失败的次数达到预设值的情况,将对应的网络协议设置为不可用,在策略处理器将一个网络协议设置为不可用后,对于之后的请求不再分发该网络协议,直至收到服务端更新后的通信策略。
37.例如,客户端可用的网络协议和服务端的通信策略指定的网络协议包括http协议、im协议和tcp协议,其中,http协议的优先级高于im协议,im协议的优先级高于tcp协议。对于第一个请求,采用http协议,响应失败,客户端通过im协议实现了对第一个请求的分发;对于第二个请求,采用http协议,响应失败,客户端通过im协议实现了对第二个请求的分发,这样重复多次,采用http协议的响应失败的次数达到预设值(例如五次),策略处理器将http协议设置为不可用,那么对于第六个请求来说,采用im协议进行分发。
38.在图1的基础上,根据本技术的一个方面,提供一种客户端实施的通信方式的确定方法。如图2所示,该方法包括如下步骤。
39.步骤s201,为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名。
40.对于业务方发送的请求,客户端的策略处理器为该请求分发通信方式,包括网络协议和域名。其中,网络协议可以包括http协议、im协议和tcp协议等。在一个具体实施例中,策略处理器接收服务端下发的通信策略,该通信策略通常是根据客户端所在的国家或地区进行设置的。对于客户端的请求,通信策略指定了网络协议及其对应的域名。其中,通信策略指定的网络协议通常多于一个,而每个网络协议对应的域名通常也多于一个。根据一些实施例,通信策略会指定各个网络协议的优先级,其中优先级最高的网络协议为默认网络协议,而其他网络协议为备用网络协议,而对于网络协议对应的多个域名,通信策略也会指定该网络协议下的默认域名以及备用域名。
41.根据一些实施例,通信策略指定了网络协议及其对应的域名。一个客户端所支持的网络协议与通信策略指定的网络协议一致,例如,通信策略指定的网络协议包括http协议、im协议和tcp协议,其中,http协议的优先级高于im协议,im协议的优先级高于tcp协议,而客户端所支持的网络协议包括http协议、im协议和tcp协议,那么,对于该客户端来说,通信策略指定的网络协议中可用网络协议包括http协议、im协议和tcp协议。通信策略指定的网络协议中优先级最高的可用网络协议为http协议,客户端为请求分发的网络协议首先为http协议。
42.根据另一些实施例,一个客户端所支持的网络协议与通信策略指定的网络协议可能不一致,例如,通信策略指定的网络协议包括http协议、im协议和tcp协议,其中,http协议的优先级高于im协议,im协议的优先级高于tcp协议,而客户端所支持的网络协议包括im协议和tcp协议,那么,对于该客户端来说,通信策略指定的网络协议中可用网络协议仅包括im协议和tcp协议。这样,即便http协议的优先级最高,对于客户端来说,通信策略指定的网络协议中优先级最高的可用网络协议为im协议,客户端为请求分发的网络协议首先为im协议。
43.这样,在步骤s201之前,客户端的策略处理器根据通信策略指定的网络协议和客户端支持的网络协议确定所述可用网络协议。
44.步骤s202,接收针对所述请求的响应结果;
45.步骤s203,对返回的响应结果进行数据统计。
46.根据一些实施例,在收到业务方发送的请求时,策略处理器根据服务端下发的通信策略,为该请求分发默认的网络协议及该网络协议对应的默认域名。在请求发出后,策略处理器会收到该请求的响应结果,其中响应结果包括响应成功和响应失败,对于响应成功的请求,策略处理器会对响应数据进行统计,包括统计由请求发起至返回响应这段时长,然后将统计结果发送至服务端。响应失败的原因可能有多种,例如,获得响应结果的时长超出预设的阈值等。对于响应失败的请求,策略处理器会统计当前通信方式下的成功率,并将统计结果发送至服务端。
47.从而,根据一些实施例,步骤s203可以包括:统计在当前网络协议和对应域名下请求的响应成功率和请求的响应时长。
48.根据一些实施例,响应成功包括当前网络协议没有报错、没有发现异常,并且能正常访问对应的服务(成功连接到服务端,并且请求发送成功)。相应地,响应失败包括当前网络协议报错或当前网络协议返回的状态码不是标识为”成功“的值。其中,当前网络协议报错包括连接超时、socket超时、io出错和socket出错等等,协议返回的状态码不是”成功“值的情形包括指出客户端的错误、指示服务器的错误等等。
49.步骤s204,将所述数据统计发送至服务端,使得所述服务端根据所述数据统计更新所述预置通信策略。
50.对于服务端来说,在收到客户端反馈的统计结果后,在必要时会根据统计结果更新通信策略。一般来说,服务端的通信策略是根据客户端所在的国家或地区确定的,通常不会随意改变。客户端所在的网络环境各不相同,存在个别客户端根据通信策略指定的通信方式出现请求响应失败或耗时较长的情况,然而,对于个别客户端出现的通信质量问题,服务端收到个别客户端的反馈通常不会更改其通信策略。但是,在当网络运营服务商出现延
迟或故障,或者域名因为各种原因引起请求大面积失败的情况下,导致一个地区的客户端普遍存在请求响应失败的情况,服务端根据大量客户端提供的统计结果,包括响应失败和/或耗时较长,会调整和更新通信策略,并将更新后的通信策略下发各个客户端,客户端根据更新后的通信策略进行请求的分发。
51.根据一些实施例,服务端在根据统计结果更新通信策略时,通常首先考虑各个网络协议的响应成功率,再考虑响应耗时。一般来说,将成功率更高的网络协议的优先级更高,在成功率相同的情况下,再比较各个网络协议的耗时,耗时越短的优先级越高。
52.根据一些实施例,对于一个网络协议对应的多个域名,域名对应的成功率与耗时与对应的网络协议的成功率进行绑定。也就是说,通过统计网络协议的成功率和耗时,确定所采用域名的成功率和耗时。在服务的,统计不同网络协议所采用域名分别对应的成功率和耗时,对域名的优先级进行排序。根据一些实施例,可以将成功率更高的域名的优先级更高,在成功率相同的情况下,再比较各个域名的耗时,耗时越短的优先级越高。
53.根据一些实施例,对于响应失败的请求,策略处理器还会切换通信方式,例如,当前通信方式是http协议及其对应的域名,在收到响应失败后,策略处理器将通信方式切换为优先级低于当前网络协议的网络协议及其对应的域名,例如,切换为im协议及其对应的域名,为响应失败的请求分发切换后的通信方式,并收到该请求的响应结果,对于响应成功和响应失败,重复上述的处理过程。
54.对于客户端来说,在采用当前网络协议的通信未成功的情况下,收到响应失败的指示,策略处理器根据该指示将通信方式切换为优先级低于当前网络协议的网络协议及其对应的域名,这样,即便服务端的通信策略没有实时更新,客户端也可以切换为备用的通信方式,减少通信时延,保障通信质量。
55.这样,图2所示的通信方式的确定方法还包括:
56.步骤s205,在采用当前网络协议的通信未成功的情况下,接收响应失败的指示;
57.步骤s206,根据所述指示,为所述请求分发优先级低于所述当前网络协议的可用网络协议及其对应的域名。
58.根据一些实施例,客户端的业务方发送的请求分发完成后,对于下一个请求,策略处理器为该请求重复上述过程,包括为该请求分发通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名、对于响应成功或响应失败分别进行处理等。在此过程中,策略处理器会统计各个网络协议响应失败的次数,尤其是连续响应失败的次数,在连续响应失败的次数达到预设值的情况,将对应的网络协议设置为不可用,在策略处理器将一个网络协议设置为不可用后,对于之后的请求不再分发该网络协议,直至收到服务端更新后的通信策略。
59.这样,图2所示的通信方式的确定方法还包括:
60.步骤s207,统计所述预置网络协议指定的多个可用网络协议响应失败的次数;
61.步骤s208,在所述次数达到预设值的情况下,将对应网络协议设置为不可用。
62.根据一些实施例,客户端会在请求响应失败的情况,为请求切换备用的通信方式。在请求根据分发的所有可用网络协议获得的响应均失败的情况下,将通信策略指定的优先级最高的可用网络协议对应的域名由默认域名切换为备用域名,遍历优先级最高的可用网络协议对应域名,看看是否能够响应成功。在遍历优先级最高的可用网络协议对应域名仍
然响应失败的情况下,客户端报错。
63.这样,图2所示的通信方式的确定方法还包括:
64.步骤s209,在所述请求根据分发的所有可用网络协议获得的响应均失败的情况下,将所述预置通信策略指定的优先级最高的可用网络协议对应的域名由默认域名切换为备用域名;
65.步骤s210,根据所述预置通信策略指定的优先级最高的可用网络协议以及所述备用域名对所述请求进行通信。
66.根据一些实施例,业务方发起请求,在为该请求分发通信方式之前,需要对该请求进行边界处理,以拦截边界异常的请求。例如,当前网络不通,网络环境没有连上,网络不可用、服务端下发错误码等情况,该请求发不出去,需要进行拦截。
67.这样,图2所示的通信方式的确定方法还包括:
68.步骤s211,对所述请求进行边界处理,以拦截边界异常的请求。
69.根据一些实施例,客户端在发出请求收到对应的响应结果后,需要对响应结果进行格式转换,将响应结果转换为统一格式,再进行响应成功或响应失败的判断和处理。
70.这样,图2所示的通信方式的确定方法还包括:
71.步骤s212,在所述对返回的响应结果进行数据统计之前,将所述响应结果转换为预设的格式。
72.根据本技术提供通信方式的确定方法,一方面,客户端根据服务端下发的通信策略指定的通信方式进行通信,并向服务端反馈请求的响应结果,使得服务端根据响应结果确定是否更新通信策略,并在通信策略有更新的情况下,将更新后的通信策略下发客户端,使得客户端根据更新后的通信策略进行通信;另一方面,客户端在根据服务端下发的通信策略指定的通信方式进行通信的过程中,能够在请求的响应失败的情况下,自动将通信方式切换为通信策略指定的通信方式中的备选通信方式。这样,客户端能够在当前通信方式失败的情况下,自动切换备选通信方式,使得通信方式的问题能够及时得到解决,保障通信质量,提高用户体验。
73.在图1的基础上,根据本技术的另一个方面,提供一种通信方式的确定装置。如图3所示,该方法包括如下模块。
74.第一分发模块301,用于为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名。
75.对于业务方发送的请求,客户端的策略处理器为该请求分发通信方式,包括网络协议和域名。其中,网络协议可以包括http协议、im协议和tcp协议等。在一个具体实施例中,策略处理器接收服务端下发的通信策略,该通信策略通常是根据客户端所在的国家或地区进行设置的。对于客户端的请求,通信策略指定了网络协议及其对应的域名。其中,通信策略指定的网络协议通常多于一个,而每个网络协议对应的域名通常也多于一个。根据一些实施例,通信策略会指定各个网络协议的优先级,其中优先级最高的网络协议为默认网络协议,而其他网络协议为备用网络协议,而对于网络协议对应的多个域名,通信策略也会指定该网络协议下的默认域名以及备用域名。
76.根据一些实施例,通信策略指定了网络协议及其对应的域名。一个客户端所支持的网络协议与通信策略指定的网络协议一致,例如,通信策略指定的网络协议包括http协
议、im协议和tcp协议,其中,http协议的优先级高于im协议,im协议的优先级高于tcp协议,而客户端所支持的网络协议包括http协议、im协议和tcp协议,那么,对于该客户端来说,通信策略指定的网络协议中可用网络协议包括http协议、im协议和tcp协议。通信策略指定的网络协议中优先级最高的可用网络协议为http协议,客户端为请求分发的网络协议首先为http协议。
77.根据另一些实施例,一个客户端所支持的网络协议与通信策略指定的网络协议可能不一致,例如,通信策略指定的网络协议包括http协议、im协议和tcp协议,其中,http协议的优先级高于im协议,im协议的优先级高于tcp协议,而客户端所支持的网络协议包括im协议和tcp协议,那么,对于该客户端来说,通信策略指定的网络协议中可用网络协议仅包括im协议和tcp协议。这样,即便http协议的优先级最高,对于客户端来说,通信策略指定的网络协议中优先级最高的可用网络协议为im协议,客户端为请求分发的网络协议首先为im协议。
78.这样,在为客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名之前,图3的装置还提供一种确定模块,用于根据通信策略指定的网络协议和客户端支持的网络协议确定所述可用网络协议。
79.第一接收模块302,用于接收针对所述请求的响应结果;
80.第一统计模块303,用于对返回的响应结果进行数据统计。
81.根据一些实施例,在收到业务方发送的请求时,策略处理器根据服务端下发的通信策略,为该请求分发默认的网络协议及该网络协议对应的默认域名。在请求发出后,策略处理器会收到该请求的响应结果,其中响应结果包括响应成功和响应失败,对于响应成功的请求,策略处理器会对响应数据进行统计,包括统计由请求发起至返回响应这段时长,然后将统计结果发送至服务端。响应失败的原因可能有多种,例如,获得响应结果的时长超出预设的阈值等。对于响应失败的请求,策略处理器会统计当前通信方式下的成功率,并将统计结果发送至服务端。
82.从而,根据一些实施例,第一统计模块303可以用于:统计在当前网络协议和对应域名下请求的响应成功率和请求的响应时长。
83.根据一些实施例,响应成功包括当前网络协议没有报错、没有发现异常,并且能正常访问对应的服务(成功连接到服务端,并且请求发送成功)。相应地,响应失败包括当前网络协议报错或当前网络协议返回的状态码不是标识为”成功“的值。其中,当前网络协议报错包括连接超时、socket超时、io出错和socket出错等等,协议返回的状态码不是”成功“值的情形包括指出客户端的错误、指示服务器的错误等等。
84.发送模块304,用于将所述数据统计发送至服务端,使得所述服务端根据所述数据统计更新所述预置通信策略。
85.对于服务端来说,在收到客户端反馈的统计结果后,在必要时会根据统计结果更新通信策略。一般来说,服务端的通信策略是根据客户端所在的国家或地区确定的,通常不会随意改变。客户端所在的网络环境各不相同,存在个别客户端根据通信策略指定的通信方式出现请求响应失败或耗时较长的情况,然而,对于个别客户端出现的通信质量问题,服务端收到个别客户端的反馈通常不会更改其通信策略。但是,在当网络运营服务商出现延迟或故障,或者域名因为各种原因引起请求大面积失败的情况下,导致一个地区的客户端
普遍存在请求响应失败的情况,服务端根据大量客户端提供的统计结果,包括响应失败和/或耗时较长,会调整和更新通信策略,并将更新后的通信策略下发各个客户端,客户端根据更新后的通信策略进行请求的分发。
86.根据一些实施例,服务端在根据统计结果更新通信策略时,通常首先考虑各个网络协议的响应成功率,再考虑响应耗时。一般来说,将成功率更高的网络协议的优先级更高,在成功率相同的情况下,再比较各个网络协议的耗时,耗时越短的优先级越高。
87.根据一些实施例,对于一个网络协议对应的多个域名,域名对应的成功率与耗时与对应的网络协议的成功率进行绑定。也就是说,通过统计网络协议的成功率和耗时,确定所采用域名的成功率和耗时。在服务的,统计不同网络协议所采用域名分别对应的成功率和耗时,对域名的优先级进行排序。根据一些实施例,可以将成功率更高的域名的优先级更高,在成功率相同的情况下,再比较各个域名的耗时,耗时越短的优先级越高。
88.根据一些实施例,对于响应失败的请求,策略处理器还会切换通信方式,例如,当前通信方式是http协议及其对应的域名,在收到响应失败后,策略处理器将通信方式切换为优先级低于当前网络协议的网络协议及其对应的域名,例如,切换为im协议及其对应的域名,为响应失败的请求分发切换后的通信方式,并收到该请求的响应结果,对于响应成功和响应失败,重复上述的处理过程。
89.对于客户端来说,在采用当前网络协议的通信未成功的情况下,收到响应失败的指示,策略处理器根据该指示将通信方式切换为优先级低于当前网络协议的网络协议及其对应的域名,这样,即便服务端的通信策略没有实时更新,客户端也可以切换为备用的通信方式,减少通信时延,保障通信质量。
90.这样,图3所示的通信方式的确定装置还包括:
91.第二接收模块305,用于在采用当前网络协议的通信未成功的情况下,接收响应失败的指示;
92.第二分发模块306,用于根据所述指示,为所述请求分发优先级低于所述当前网络协议的可用网络协议及其对应的域名。
93.根据一些实施例,客户端的业务方发送的请求分发完成后,对于下一个请求,策略处理器为该请求重复上述过程,包括为该请求分发通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名、对于响应成功或响应失败分别进行处理等。在此过程中,策略处理器会统计各个网络协议响应失败的次数,尤其是连续响应失败的次数,在连续响应失败的次数达到预设值的情况,将对应的网络协议设置为不可用,在策略处理器将一个网络协议设置为不可用后,对于之后的请求不再分发该网络协议,直至收到服务端更新后的通信策略。
94.这样,图3所示的通信方式的确定装置还包括:
95.第二统计模块307,用于统计所述预置网络协议指定的多个可用网络协议响应失败的次数;
96.设置模块308,用于在所述次数达到预设值的情况下,将对应网络协议设置为不可用。
97.根据一些实施例,客户端会在请求响应失败的情况,为请求切换备用的通信方式。在请求根据分发的所有可用网络协议获得的响应均失败的情况下,将通信策略指定的优先
级最高的可用网络协议对应的域名由默认域名切换为备用域名,遍历优先级最高的可用网络协议对应域名,看看是否能够响应成功。在遍历优先级最高的可用网络协议对应域名仍然响应失败的情况下,客户端报错。
98.这样,图3所示的通信方式的确定装置还包括:
99.切换模块309,用于在所述请求根据分发的所有可用网络协议获得的响应均失败的情况下,将所述预置通信策略指定的优先级最高的可用网络协议对应的域名由默认域名切换为备用域名;
100.通信模块310,用于根据所述预置通信策略指定的优先级最高的可用网络协议以及所述备用域名对所述请求进行通信。
101.根据一些实施例,业务方发起请求,在为该请求分发通信方式之前,需要对该请求进行边界处理,以拦截边界异常的请求。例如,当前网络不通,网络环境没有连上,网络不可用、服务端下发错误码等情况,该请求发不出去,需要进行拦截。
102.这样,图3所示的通信方式的确定装置还包括:
103.边界处理模块311,用于对所述请求进行边界处理,以拦截边界异常的请求。
104.根据一些实施例,客户端在发出请求收到对应的响应结果后,需要对响应结果进行格式转换,将响应结果转换为统一格式,再进行响应成功或响应失败的判断和处理。
105.这样,图3所示的通信方式的确定装置还包括:
106.格式转换模块312,用于在所述对返回的响应结果进行数据统计之前,将所述响应结果转换为预设的格式。
107.根据本技术提供通信方式的确定装置,一方面,客户端根据服务端下发的通信策略指定的通信方式进行通信,并向服务端反馈请求的响应结果,使得服务端根据响应结果确定是否更新通信策略,并在通信策略有更新的情况下,将更新后的通信策略下发客户端,使得客户端根据更新后的通信策略进行通信;另一方面,客户端在根据服务端下发的通信策略指定的通信方式进行通信的过程中,能够在请求的响应失败的情况下,自动将通信方式切换为通信策略指定的通信方式中的备选通信方式。这样,客户端能够在当前通信方式失败的情况下,自动切换备选通信方式,使得通信方式的问题能够及时得到解决,保障通信质量,提高用户体验。
108.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
109.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
110.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,
可以是电性或其它的形式。
111.参阅图4,图4提供一种电子设备,包括处理器以及存储器。存储器存储有计算机指令,当计算机指令被处理器执行时,使得处理器执行所述计算机指令从而实现如图2所示的方法以及细化方案。
112.应该理解,上述的装置实施例仅是示意性的,本发明披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
113.另外,若无特别说明,在本发明各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
114.所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处理器或芯片可以是任何适当的硬件处理器,比如cpu、gpu、fpga、dsp和asic等等。若无特别说明,所述片上缓存、片外内存、存储器可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器rram(resistive random access memory)、动态随机存取存储器dram(dynamic random access memory)、静态随机存取存储器sram(static random-access memory)、增强动态随机存取存储器edram(enhanced dynamic random access memory)、高带宽内存hbm(high-bandwidth memory)、混合存储立方hmc(hybrid memory cube)等等。
115.所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机电子设备(可为个人计算机、服务器或者网络电子设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
116.本技术实施例还提供一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行如图2所示的方法以及细化方案。
117.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本技术的方法及其核心思想。同时,本领域技术人员依据本技术的思想,基于本技术的具体实施方式及应用范围上做出的改变或变形之处,都属于本技术保护的范围。综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种通信方式的确定方法,应用于客户端,其特征在于,包括:为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名;接收针对所述请求的响应结果;对返回的响应结果进行数据统计;以及将所述数据统计发送至服务端,使得所述服务端根据所述数据统计更新所述预置通信策略。2.如权利要求1所述的方法,其特征在于,还包括:在采用当前网络协议的通信未成功的情况下,接收响应失败的指示;根据所述指示,为所述请求分发优先级低于所述当前网络协议的可用网络协议及其对应的域名。3.如权利要求2所述的方法,其特征在于,还包括:统计所述预置网络协议指定的多个可用网络协议响应失败的次数;在所述次数达到预设值的情况下,将对应网络协议设置为不可用。4.如权利要求1所述的方法,其特征在于,所述将返回的响应结果进行数据统计包括:统计在当前网络协议和对应域名下所述请求的响应成功率和所述请求的响应时长。5.如权利要求2所述的方法,其特征在于,还包括:在所述请求根据分发的所有可用网络协议获得的响应均失败的情况下,将所述预置通信策略指定的优先级最高的可用网络协议对应的域名由默认域名切换为备用域名;根据所述预置通信策略指定的优先级最高的可用网络协议以及所述备用域名对所述请求进行通信。6.如权利要求1或2所述的方法,其特征在于,还包括:在为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名之前,对所述请求进行边界处理,以拦截边界异常的请求。7.如权利要求1或2所述的方法,其特征在于,还包括:在所述对返回的响应结果进行数据统计之前,将所述响应结果转换为预设的格式。8.如权利要求1或2所述的方法,其特征在于,还包括:在为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名之前,根据所述预置通信策略指定的网络协议和所述客户端支持的网络协议确定所述可用网络协议。9.一种通信方式的确定装置,其特征在于,包括:第一分发模块,用于为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名;第一接收模块,用于接收针对所述请求的响应结果;第一统计模块,用于对返回的响应结果进行数据统计;以及发送模块,用于将所述数据统计发送至服务端,使得所述服务端根据所述数据统计更新所述预置通信策略。10.一种电子设备,其特征在于,至少包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至8中任一项所述
方法的步骤。11.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
技术总结
本申请涉及一种通信方式的确定方法和装置,该方法应用于客户端,包括:为所述客户端的请求分发预置通信策略指定的网络协议中优先级最高的可用网络协议及其对应的域名;接收针对所述请求的响应结果;对返回的响应结果进行数据统计;以及将所述数据统计发送至服务端,使得所述服务端根据所述数据统计更新所述预置通信策略。根据本申请的方案,客户端根据服务端下发的通信方式进行通信,在当前的通信方式响应失败的情况下,能够切换为备用的通信方式,并且,客户端能够将请求的响应结果反馈至服务端,使得服务端根据客户端的反馈确定是否更新其设置的通信方式,在通信方式有更新的情况下,将更新后的通信方式下发至客户端。将更新后的通信方式下发至客户端。将更新后的通信方式下发至客户端。
技术研发人员:岳涛 陈帅雷 刘宁
受保护的技术使用者:云智联网络科技(北京)有限公司
技术研发日:2023.03.28
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
