一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

会话建立方法、装置、计算机设备、终端以及存储介质

2022-12-09 19:27:58 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别涉及一种会话建立方法、装置、计算机设备、终端以及存储介质。


背景技术:

2.内容分发网络(content delivery network,cdn)是一种靠近用户部署的边缘服务器集群,是在现有互联网物理设施上形成的一套虚拟网络架构,也是重要的互联网技术方案。cdn技术可以从最靠近用户的边缘服务器响应用户的网络请求,不仅能够解决网络请求拥塞的问题,还可以提高用户访问的响应速度,增加访问稳定性,进而提升用户体验。
3.例如,若某一服务未采用该cdn进行数据分发,则终端需要通过复杂的冗长路由链路才能访问到用于提供该服务的源服务器。而若该服务采用cdn进行数据分发,则cdn中的各个cdn节点(即边缘服务器)均复制一份源服务器上该服务的数据,终端与距离该终端最近的cdn节点建立会话,并通过与该cdn节点进行会话来获取该服务。
4.但是对于该终端而言,距离终端最近的cdn节点可能并不是为该终端提供该服务最优的cdn节点,则该终端与该距离终端最近的cdn节点进行会话的过程中,该距离终端最近的cdn节点为该终端提供服务的服务效率可能会低。


技术实现要素:

5.本技术实施例提供了一种会话建立方法、装置、计算机设备、终端以及存储介质,能够提高服务节点为该终端提供服务的服务效率。该技术方案如下:
6.第一方面,提供了一种会话建立方法,所述方法由调度节点执行,所述方法包括:
7.接收终端的会话建立请求,所述会话建立请求用于指示建立目标会话;从多个服务节点中,确定至少一个第一服务节点;分别向所述至少一个第一服务节点发送所述会话建立请求,以指示所述至少一个第一服务节点与所述终端建立所述目标会话;
8.其中,所述至少一个第一服务节点的所述目标性能均优于所述多个服务节点中第二服务节点的所述目标性能,所述第二服务节点为所述多个服务节点中除所述至少一个第一服务节点以外的服务节点,所述会话建立请求携带所述目标会话的性能需求信息,所述性能需求信息用于指示所述目标会话所要求的服务节点的目标性能。
9.本方法通过调度节点基于目标会话所要求的目标性能,从多个服务节点中目标性能较优的第一服务节点,并分别向至少一个第一服务节点发送终端的会话建立请求,以指示至少一个第一服务节点与该终端建立目标会话,由于至少一个第一服务节点的目标性能资源较优,因此对该终端而言,每个第一服务节点都是能为终端提供服务的较优服务节点,一旦终端与一个第一服务节点建立目标会话后,该第一服务节点为该终端提供服务的服务效率就会比较高。
10.在一种可能的实现方式中,所述性能需求信息用于指示所述目标会话所要求的服务节点的至少一种目标性能。
11.在一种可能的实现方式中,所述性能需求信息包括目标需求类型,所述目标需求类型用于指示所述至少一种目标性能。
12.在一种可能的实现方式中,所述目标需求类型还用于指示所述至少一种目标性能中每种目标性能的重要度,每种目标性能的重要度用于指示每种目标性能对所述目标会话的重要程度。
13.在一种可能的实现方式中,所述性能需求信息包括所述至少一种目标性能中每种目标性能对应的性能标识位,且所述性能标识位的取值为目标数值,所述目标数值用于指示对应的目标性能为所述目标会话所要求的性能。
14.在一种可能的实现方式中,所述性能需求信息包括所述至少一种目标性能中每种目标性能的性能标识。
15.在一种可能的实现方式中,所述性能需求信息还包括所述至少一种目标性能中每种目标性能的重要度,每种目标性能的重要度用于指示每种目标性能对所述目标会话的重要程度。
16.在一种可能的实现方式中,所述性能需求信息还包括目标需求类型,所述目标需求类型用于指示所述目标性能不是目标服务的预设性能,所述目标服务由所述目标会话实现。
17.在一种可能的实现方式中,所述分别向所述至少一个第一服务节点发送所述会话建立请求之后,所述方法还包括:
18.接收所述终端的节点切换请求;从所述多个服务节点中确定目标服务节点;向所述终端发送节点切换响应;
19.其中,所述目标服务节点的所述目标性能优于所述多个服务节点中除所述目标服务节点以外的各个服务节点的所述目标性能,所述节点切换请求用于请求切换所述目标会话的服务节点进行切换,所述节点切换响应用于指示将所述目标会话的服务节点切换为所述目标服务节点。
20.在一种可能的实现方式中,所述节点切换请求包括所述第一目标服务节点的单播地址、所述性能需求信息以及所述目标会话的会话标识。
21.在一种可能的实现方式中,所述从所述多个服务节点中确定目标服务节点之后,所述方法还包括:
22.向所述目标服务节点发送所述目标会话的会话密钥,所述会话密钥用于对所述目标会话中的数据进行加密。
23.在一种可能的实现方式中,所述从多个服务节点中,确定至少一个第一服务节点包括:
24.若从所述终端接收所述会话建立请求,从所述多个服务节点中,确定所述至少一个第一服务节点。
25.第二方面,提供了一种会话建立方法,所述方法由终端执行,所述方法包括:
26.向调度节点发送会话建立请求,所述会话建立请求用于指示建立目标会话;接收第一服务节点的会话建立响应;若所述目标会话还未建立,与所述第一服务节点建立所述目标会话;
27.其中,所述会话建立请求携带所述目标会话的性能需求信息,所述性能需求信息
用于指示所述目标会话所要求的服务节点的目标性能,所述第一服务节点的所述目标性能优于多个服务节点中第二服务节点的所述目标性能。
28.在一种可能的实现方式中,所述与所述第一服务节点建立所述目标会话之后,所述方法还包括:
29.若所述第一服务节点的所述目标性能的下降幅度超过幅度阈值,向所述调度节点发送节点切换请求;接收节点切换响应;将所述目标会话的所述第一服务节点切换为所述目标服务节点;
30.其中,所述节点切换请求用于请求对切换所述目标会话的服务节点,所述节点切换响应用于指示将所述目标会话的服务节点切换为所述目标服务节点。
31.在一种可能的实现方式中,所述将所述目标会话的所述第一目标服务节点切换为所述目标服务节点包括:
32.向所述目标服务节点发送所述目标会话的验证请求;若所述目标服务节点对所述验证信息通过验证,则与所述目标服务节点进行所述目标会话;
33.其中,所述验证请求携带所述目标会话的验证信息。
34.在一种可能的实现方式中,所述验证信息包括所述目标会话的会话密钥以及会话证书中的至少一个。
35.第三方面,提供了一种会话建立装置,用于执行上述会话建立方法。具体地,该会话建立装置包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的会话建立方法的功能模块。
36.第四方面,提供了一种会话建立装置,用于执行上述会话建立方法。具体地,该会话建立装置包括用于执行上述第二方面或上述第二方面的任一种可选方式提供的会话建立方法的功能模块。
37.第五方面,提供一种计算机设备,该计算机设备包括处理器,所述处理器用于执行程序代码,使得计算机设备执行以实现如上述第一方面或上述第一方面的任一种可选方式提供的会话建立方法所执行的操作。
38.第六方面,提供一种终端,该终端包括处理器,所述处理器用于执行程序代码,使得中的执行以实现如上述第二方面或上述第二方面的任一种可选方式提供的会话建立方法所执行的操作。
39.第七方面,提供一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该程序代码由处理器读取以使计算机设备执行如上述第一方面或上述第一方面的任一种可选方式提供的会话建立方法所执行的操作。
40.第八方面,提供一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该程序代码由处理器读取以使终端执行如上述第二方面或上述第二方面的任一种可选方式提供的会话建立方法所执行的操作。
41.第九方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述第一方面或者第一方面的各种可选实现方式中提供的方法。
42.第十方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算
机程序包括程序代码,该程序代码存储在计算机可读存储介质中,终端的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述第二方面或者第二方面的各种可选实现方式中提供的方法。
附图说明
43.图1是本技术实施例提供的一种cdn系统的示意图;
44.图2是本技术实施例提供的一种性能信息维护的流程图;
45.图3是本技术实施例提供的一种性能需求信息的数据格式示意图;
46.图4是本技术实施例提供的一种会话建立方法的流程图;
47.图5是本技术实施例提供的一种通过任播技术选择调度节点的示意图;
48.图6是本技术实施例提供的一种会话建立流程的示意图;
49.图7是本技术实施例提供的一种建立会话流程的示意图;
50.图8是本技术实施例提供的一种建立会话流程的示意图;
51.图9是本技术实施例提供的一种服务节点切换方法的流程图;
52.图10是本技术实施例提供的一种节点切换请求的示意图;
53.图11是本技术实施例提供的一种切换服务节点的示意图;
54.图12是本技术实施例提供的一种切换服务节点的示意图;
55.图13是本技术实施例提供的一种会话建立装置的结构示意图;
56.图14是本技术实施例提供的一种会话建立装置的结构示意图;
57.图15是本技术实施例提供的一种计算机设备的结构示意图;
58.图16是本技术实施例提供的一种终端的结构示意图。
具体实施方式
59.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
60.cdn是一种靠近用户部署的边缘服务器集群,cdn包括至少一个数据中心,每个数据中心包括cdn节点,每个数据中心中的cdn节点为一个或者多个服务器。终端通过与cdn中的cdn节点建立会话,以从cdn节点获取源服务器所提供的服务。源服务器为服务的提供设备,cdn节点内存储有源服务器所提供的服务的相关数据,从而使得终端能够通过会话从cdn节点获取服务。其中,源服务器所提供的服务包括数据下载服务、数据上传服务等,例如终端从源服务器下载视频数据、音频数据、文本数据等,再例如,终端向源服务器上传视频数据、音频数据、文本数据等。
61.其中,快速路由(fast route)系统是一种基于任播(anycast)技术的cnd系统。快速路由系统应用在微软必应(microsoft bing)的搜索系统上。快速路由系统主要是对该搜索系统中瞬时流量大小进行负载均衡,其关注的指标是吞吐率。快速路由系统中的终端利用任播技术选择距离该终端最近的cnd节点,若距离该终端最近的cdn节点的网络时延不满足用户访问网页的要求,则说明距离该终端最近的cdn节点不是较优的cdn节点,则终端再选择距离该终端次远的cdn节点,直至选择出网络时延满足用户访问网页的要求的cdn节点,则终端通过访问该cdn节点实现网页访问。快速路由系统虽然能够给终端选择出网络时
延满足用户访问网页的要求的cdn节点,即快速路由系统能够满足用户对单资源的需求,并不能满足用户对多资源的需求。
62.为此,本技术实施例提供一种cdn系统的示意图,参见图1,该系统100包括多个数据中心,每个数据中心包括服务节点101、存储节点102以及调度节点103,其中,该服务节点101也被称为cdn节点,用于为终端提供源服务器所提供的服务,该服务节点101可以是包括一个或多个服务器的服务器集群。
63.该存储节点102为具有数据存储功能的存储设备,该存储节点102内配置有数据库,用于存储该系统100中每个服务节点101的性能信息,每个服务节点101的性能信息用于记录每个服务节点101当前的性能,如当前的网络传输性能和/或当前计算性能。
64.调度节点103为具有计算能力的计算设备,如服务器。终端可以向该系统100中距离该终端最近的数据中心发送会话建立请求。当接收到会话建立请求后,该数据中心内的调度节点103基于待建立会话(即话建立请求所请求建立的会话)所要求的服务节点101的目标性能,查询该数据中心内存储节点102中存储的各个服务节点101当前的目标性能的性能指标,并从中选择出具有较优的目标性能的至少一个服务节点101。该调度节点103向该至少一个服务节点101转发该会话建立请求,该至少一个服务节点101中的任一服务节点101接收到该会话建立请求后,向该终端返回一个会话建立响应,该终端与第一个向该终端返回会话建立响应的服务节点101建立会话。
65.其中,该终端可以位于该系统100内,也可以位于该系统100外,本技术实施例对该终端的位置不作限定。终端可以称为终端站点、用户终端、用户装置,接入装置,订户站,订户单元,移动站,用户代理,用户装备、便携式终端、膝上型终端、台式终端等其他名称。例如,终端可以是移动电话、平板电脑、机顶盒、智能电视、智能可穿戴设备、计算机、人工智能(artificial intelligence,ai)产品或物联网(internet of things,iot)终端。再例如智能手机、动态影像专家压缩标准音频层面3(moving picture experts group audio layer iii,mp3)播放器、动态影像专家压缩标准音频层面4(moving picture experts group audio layer iv,mp4)播放器、笔记本电脑、台式电脑、通信服务器、路由器、交换机、网桥、智能手环、智能音箱、智能汽车、智能仪器、智能器械、智能打印机、工业智能计算机、智能扫码设备或智能监测终端等。
66.一个存储节点存储的各个服务节点的性能信息可以由该存储节点所属的调度节点来维护,其中,该存储节点所属的调度节点为该存储节点所在的数据中心内的调度节点。为了进一步说明调度节点维护服务节点性能信息的过程,参见图2所示的本技术实施例提供的一种性能信息维护的流程图。
67.201、调度节点对服务节点的至少一种性能进行测量,得到该服务节点的至少一个性能指标,该至少一个性能指标与该至少一种性能一一对应。
68.该调度节点为系统中的任一调度节点,该服务节点为该调度节点所负责的服务节点,为该调度节点所在数据中心内的服务节点,该服务节点与该调度节点对应。
69.该至少一种性能包括网络性能和计算性能中任一类别的设备性能。其中,网络性能包括网络传输性能,如网络吞吐率性能、带宽性能、时延性能等。计算性能包括中央处理器(central processing unit,cpu)利用率。该至少一种性能也可以包括除吞吐率性能、时延性能以及cpu利用率之外的设备性能,在此,本技术实施例对该至少一种性能不作限定。
70.该服务节点的至少一个性能指标为该服务节点的性能信息。该至少一种性能中每种性能所对应的性能指标,也即是每种性能的性能指标,每种性能的性能指标可以理解为每个性能指标的指标值,用于衡量该服务节点该性能的优劣。以时延性能为例,服务节点的时延性能的性能指标为网络时延,网络时延越大,该服务节点的时延性能越低,网络时延越小,该服务节点的时延性能越优,
71.在一种可能的实现方式中,若该至少一种性能包括吞吐率性能和带宽性能中的至少一种,该调度节点对该服务节点的吞吐率性能和带宽性能中的至少一种性能进行测量,得到该服务节点的网络当前吞吐率以及带宽中的至少一个,所测量到的网络当前吞吐率也即是吞吐率性能的性能指标,所测量到的带宽也即是带宽性能的性能指标。可选地,该调度节点采用网络测试工具(如iperf3工具)对该服务节点的吞吐率性能和带宽性能中的至少一种进行测量,得到该服务节点的网络当前吞吐率以及带宽中的至少一个。其中,iperf3是一个用来测量最大吞吐率性能和带宽的工具,可以支持传输控制协议(transmission control protocol,tcp)、用户数据报协议(user datagram protocol,udp)等多种传输协议。
72.在一种可能的实现方式中,若该至少一种性能包括时延性能,在多个区域范围分别设置一个用于测试时延性能的终端(为了便于描述,记为测试终端)。该调度节点测量该调度节点与多个区域范围内每个测试终端之间的网络时延。由于该调度节点与该服务节点属于同一个数据中心,则该调度节点将测量到的该调度节点与每个测试终端之间的网络时延,确定为该服务节点与每个测试终端之间的网络时延。该服务节点与一个测试终端之间的网络时延可以理解为该服务节点与该测试终端所属的区域范围的各个终端之间的网络时延,为该服务节点的时延性能的一个性能指标。为了便于描述,将该服务节点与一个测试终端之间的网络时延记为:该服务节点的一个网络时延。
73.可选地,对于一个测试终端,该调度节点测量该调度节点与该测试终端之间的网络时延包括:该调度节点通过因特网包探索器(packet internet groper,ping),向该测试终端发送测试数据包,当该调度节点接收到该终端返回的该测试数据包后,因特网包探索器通计算该测试数据包往返该调度节点与该测试终端的往返时间,估算该调度节点与该测试终端之间的网络时延。
74.在一种可能的实现方式中,当该至少一种性能包括计算性能时,该调度节点对该服务节点的cpu占用率进行测量,测量到的该服务节点的cpu占用率也即是该服务节点的计算性能的性能指标。可选地,该调度节点采用top工具,测量该服务节点的cpu占用率。top工具是操作系统内核(linux)系统下常用的性能分析工具,能够实时显示linux系统中的性能占用状况,如显示cpu占用率。
75.202、该调度节点将该服务节点的至少一个性能指标存储在对应的存储节点中。
76.该存储节点为该调度节点所在数据中心内的存储节点。该存储节点内存储有系统中各个服务节点的性能信息,且每个服务节点的性能信息与每个服务节点的节点标识对应。每个服务节点的节点标识用于唯一指示每个服务节点,例如每个服务节点的节点标识为每个服务节点在系统中的编号,或者为每个服务节点特有的网络地址信息,如服务节点的单播地址,单播地址可以是网络协议(internet protocol,ip)地址。
77.在一种可能实现方式中,该调度节点生成性能更新消息,并向该存储节点发送性
能更新消息,该性能更新消息携带该服务节点的节点标识以及该至少一个性能指标。当该存储节点接收到该性能更新消息后,该存储节点基于该性能更新消息,存储该至少一个性能指标。例如,该存储节点基于该性能更新消息携带的该服务节点的节点标识,查询该节点标识所对应的性能信息,并将查询到的性能信息中记录的该至少一种性能的性能指标更新为该至少一个性能指标。
78.203、该调度节点向多个调度节点广播性能更新消息。
79.该多个调度节点为系统中除该调度节点以外的各个调度节点。该性能更新消息在上述步骤202中有相关介绍,在此本技术实施例对该性能更新消息不做赘述。
80.在一种可能的实现方式中,该性能更新消息为tcp数据包,该调度节点将该服务节点的节点标识以及该至少一个性能指标封装成tcp数据包,并利用套接字(socket)长连接的通信方式,分别通过该调度节点的不同端口向该多个调度节点发送该tcp数据包。
81.204、对于该多个调度节点中的任一调度节点,该任一调度节点向该任一调度节点所对应的存储节点发送该性能更新消息。
82.该任一调度节点所对应的存储节点为该任一节点所在的数据中心内的存储节点。当该任一调度节点接收到该性能更新消息后,向对应的存储节点发送该性能更新消息。
83.205、该任一调度节点所对应的存储节点基于该性能更新消息,将该至少一种性能的性能指标存储在对应的存储节点中。
84.该存储节点从该性能更新消息中获取该服务节点的节点标识以及该至少一个性能指标,该存储节点基于该服务节点的节点标识,查询该节点标识所对应的性能信息,并将查询到的性能信息中记录的该至少一种性能的性能指标更新为该至少一个性能指标。
85.系统中的每个调度节点内均设置有测量周期,每个调度节点每间隔一个测量周期均执行一次步骤201-203所示的过程,以便该系统中的各个调度节点每间隔一个测量周期均维护一次各个服务节点的性能信息。
86.本技术实施例提供的方法,通过调度节点测量一个服务节点的至少一种性能,并全网广播该服务节点的至少一个性能指标,以便全网中的各个调度节点均能对该服务节点当前的至少一个性能指标进行记录,从而达到全网实时维护该服务节点的各个性能指标。
87.在一种可能的实现方式中,该系统中设置有两种需求类型(request type),分别为第一种需求类型以及第二种需求类型,各个调度节点以及有权限访问该系统的各个终端均共享该两种需求类型。其中,该第一种需求类型,以提醒该调度节点:从该会话建立请求中确定待建立会话所要求的服务节点的各个性能。可选地,该第一种需求类型可以由一个特有的数值或者字符串来表示,例如第一种需求类型为0。
88.在不同应用场景下,用户对提供服务的服务节点的性能要求不同,在一种可能的实现方式中,系统中预设有多个性能组合,以供用户选择。每个性能组合可以由第二种需求类型表示。则第二种需求类型用于指示该性能需求信息所指示的性能是目标服务的预设性能,以提醒调度节点通过查询预设性能确定该性能需求信息所指示的性能。可选地,第二种需求类型包括至少一个需求类型,至少一个需求类型中的每个需求类型用于指示服务节点的一个性能集合,一个性能集合包括服务节点的至少一种性能(可以为服务节点的所有性能,也可以为服务节点的部分性能),一个性能集合也可以理解为该至少一种性能的组合。例如该至少一种需求类型包括需求类型1和2,其中,需求类型1用于指示包括性能1-3的性
能集合1,而需求类型2用于指示包括性能4-5的性能集合2,性能1-3为服务节点的一种性能组合,性能4-5为服务节点的另一种性能组合。
89.在不同应用场景下,用户对提供服务节点的性能要求不同,对其要求的每种性能的侧重程度有所不同,对其要求的每种性能的侧重程度可以由每种性能的重要度来表示。在一种可能的实现方式中,该第二种需求类型中的每个需求类型还用于指示对应的性能集合中各个性能的重要度。一种性能的重要度应用指示该性能对待建立会话的重要度。例如上述的需求类型1还用于指示性能1-3的重要度分别为0.5、0.3以及0.2。同一个性能组合的不同重要度可以用不同的第二种需求类型来表示,例如,该至少一种需求类型还包括需求类型3,该需求类型3用于指示包括性能1-3的性能集合1,但是与需求类型1不同的是,该需求类型3所指示的该性能1-3的重要度分别为0.2、0.4以及0.4。该第二种需求类型中的各个需求类型用不同的数值或不同的字符串来表示,且该第二种需求类型中各个需求类型与第一种需求类型的表示方式也不同。例如第一种需求类型用0表示,第二种需求类型用于非0数值表示,如非0数值包括0~65535,0~65535中的每个数值分别表示第二种需求类型中一个需求类型。可以理解的是,该第二种需求类型中的每个需求类型分别对应一个性能集合以及该性能集合中各个性能的一个重要度,这种对应关系可以存储在各个调度节点以及有权限访问该系统的各个终端中。
90.在一种可能的实现方式中,该终端可以将待建立会话的性能需求信息发送给系统中的调度节点,以便调度节点根据性能需求信息所指示的性能,为终端推荐服务节点。性能需求信息包括需求类型,不同种类的需求类型,该性能需求信息的封装格式有所不同。
91.在一种可能的实现方式中,若需求信息中的需求类型属于第一种需求类型,性能需求信息有两种封装格式,分别为静态封装格式以及动态编码封装格式,其中,静态封装格式表现为:性能需求信息包括第一种需求类型、多个性能标识位以及每个性能标识位所对应的一种性能的重要度。每个性能标识位对应服务节点的一种性能,该性能标识位的不同取值用于指示该性能标识位所对应的性能是否为待建立会话所要求的性能。可选地,若性能标识位取值为目标数值,用于指示该性能标识位所对应的性能是待建立会话所要求的性能,若性能标识位取值为非目标数值,则用于指示该性能标识位所对应的性能不是待建立会话所要求的性能。可选地,该性能标识占用1个比特(bit),目标数值为1,非目标数值为0,即若性能标识位取值为1,则指示该性能标识位所对应的性能是待建立会话所要求的性能,若性能标识位取值为0,则指示该性能标识位所对应的性能不是待建立会话所要求的性能。若一种性能对待建立会话影响较大,则该性能的重要度越大,否则该性能的重要度越小,待建立会话所要求的各种性能的重要度可以由用户指定,若一种性能的重要度用户未指定,则该性能需求信息中该性能的重要度设置为0。可选地,该性能需求信息中各种性能的重要度可以组成一个需求列表(request list)排列在各个性能标识位之后。
92.例如图3所示的本技术实施例提供的一种性能需求信息的数据格式示意图。以需求类型占用16比特,第一种需求类型用0表示,服务节点的性能包括16种性能为例。静态封装格式的性能需求信息中需求类型为0,该性能需求信息还包括16比特的性能标识位,每个性能标识对应这16种性能中的一种性能。若这16种性能内的任一性能为待建立会话所要求的性能,则该任一性能所对应的性能标识位(flag)取值为1,否则,取值为0。该性能需求信息还包括这16种性能的重要度,分别为重要度1-16,其中,待建立会话所要求的每个性能的
重要度均由用户指定,用户未指定的性能重要度默认为0,这16种性能中每种性能的重要度均占用8个比特。
93.其中,动态编码封装格式表现为:性能需求信息包括第一种需求类型、待建立会话所要求的每种性能的性能标识以及每种性能的重要度。每种性能的性能标识用于唯一指示每种性能,可以是每种性能的编号。可选地,待建立会话所要求的性能的性能标识以及每种性能的重要度可以组成一个需求列表排列在第一需求类型之后,此时,需求列表的长度由待建立会话所要求的性能的多少来确定。例如图3所示的动态编码封装格式,以需求类型占用16字节,第一种需求类型用0表示,待建立会话所要求的性能包括n种性能为例,其中,n为大于0的整数。动态编码封装格式的性能需求信息中需求类型为0,该性能需求信息还包括这n种性能的性能标识,分别为性能标识1-n,每种性能的性能标识占用8个比特。该性能需求信息还包括这n种性能的重要度,其中,这n种性能中每种性能的重要度占用8比特,且每种性能的重要度均由用户指定。
94.在一种可能的实现方式中,由于各个调度节点对该第二种需求类型中每个需求类型所指示的内容均已知,若性能需求信息中的需求类型属于第二种需求类型,则此时该性能需求信息可以不携带需求列表,携带该需求类型即可,因此,该需求列表为可选地(optional)。例如图3中需求类型不为0的性能需求信息,需求类型不为0,则说明该需求类型属于第二种需求类型,则需求类型可是1~65535之间的任一个非0数值,这任一非0数值用于指示待建立会话所要求的性能以及待建立会话所需求性能的重要度。
95.进一步说明调度节点根据待建立会话所要求的性能,为终端推荐服务节点,以便终端与调度节点推荐的服务节点建立会话。为了进一步说明该过程,参见图4所示的本技术实施例提供的一种会话建立方法的流程图。
96.401、终端向调度节点发送会话建立请求。
97.该调度节点为系统中距离该终端最近的调度节点。该会话建立请求用于指示建立目标会话,即该目标会话为待建立会话。该会话建立请求携带该目标会话的性能需求信息。该性能需求信息用于指示该目标会话所要求的服务节点的目标性能,或者也可以理解为该性能需求信息用于指示该目标会话对服务器要求的目标性能。该目标性能也即是该目标会话所要求的性能。可选地,目标会话所要求的服务节点的目标性能有至少一种,此时,该性能需求信息用于指示该目标会话所要求的服务节点的至少一种目标性能,该至少一种目标性能为调度节点测量的服务节点的全部性能或部分性能,是服务节点的一种性能组合。
98.在一种可能的实现方式中,该性能需求信息包括目标需求类型,该目标需求类型用于指示该至少一种目标性能。可选地,该目标需求类型还用于指示该至少一种目标性能中每种目标性能的重要度,每种目标性能的重要度用于指示每种目标性能对该目标会话的重要程度。此时,该目标需求类型属于第二种需求类型。
99.在另一种可能的实现方式中,该性能需求信息包括该至少一种目标性能中每种目标性能对应的性能标识位,且每种目标性能对应的性能标识位的取值均为目标数值,该目标数值用于指示对应的目标性能为该目标会话所要求的性能。可选地,该性能需求信息还包括该至少一种目标性能中每种目标性能的重要度。此时,该性能需求信息还包括该目标需求类型,且该目标需求类型属于第一种需求类型,该性能需求信息的封装格式为静态封装格式。
100.在另一种可能的实现方式中,该性能需求信息包括该至少一种目标性能中每种目标性能的性能标识。可选地,该性能需求信息还包括该至少一种目标性能中每种目标性能的重要度。此时,该性能需求信息还包括该目标需求类型,且目标需求类型属于第一种需求类型,该性能需求信息的封装格式为动态编码封装格式。当该目标需求类型为第一种需求类型时,该目标需求类型用于指示该目标性能不是目标服务的预设性能,该目标服务为用户所需的服务,如下载服务或上传服务等任一服务等。该目标服务由该目标会话实现。
101.在一种可能的实现方式中,本步骤401可以由用户的操作指令来触发。例如下述步骤4011-4013所示的过程。
102.步骤4011、该终端接收用户下达的服务指令。
103.该服务指令包括目标服务所要求的该至少一种目标性能的性能标识以及该至少一种目标性能中每种目标性能的重要度。可选地,该服务指令还包括该目标服务的标识。
104.在一种可能的实现方式中,该服务指令还包括该目标需求类型。可选地,若该目标需求类型属于第二种需求类型,该服务指令中也可以不包括该至少一种目标性能的性能标识以及重要度。若该目标需求类型为第一种需求类型,该服务指令也可以不包括目标需求类型,但包括该至少一种目标性能的性能标识以及重要度。
105.步骤4012、该终端基于该服务指令,生成该会话建立请求。
106.若该服务指令不包括目标需求类型,该终端从该服务指令中获取该目标服务的标识、至少一种目标性能的性能标识以及该至少一种目标性能的重要度。该目标会话是终端为了从服务节点获取该目标服务的待建立会话。该终端基于该至少一种目标性能的性能标识以及该至少一种目标性能的重要度,查询第二种需求类型中是否存在:指示该至少一种目标性能,且指示该至少一种目标性能的重要度的需求类型,若存在,则该终端将查询到的需求类型确定为目标需求类型,并将该目标需求类型封装为该目标会话的性能需求信息。若不存在,则该终端将第一种需求类型确定为该目标需求类型。
107.若该服务指令包括目标需求类型,则该终端从该服务指令中获取目标需求类型。若该目标需求类型为第一种需求类型,则该终端从服务指令中获取该种至少一种目标性能的性能标识以及该至少一种性能的重要度。
108.当获取到该目标需求类型、该至少一种目标性能的性能标识以及该至少一种性能的重要度后,若该目标需求类型为第一种需求类型,该终端将该目标需求类型、该至少一种目标性能的性能标识以及该至少一种目标性能的重要度,封装为静态封装格式的性能需求信息或动态编码格式的性能需求信息。若该目标需求类型属于第二种需求类型,该终端并该目标需求类型封装为该目标会话的性能需求信息。
109.在一种可能的实现方式中,该终端生成用于唯一指示该目标会话的会话标识,可选地,该会话标识为该目标会话的通用唯一识别码(universally unique identifier,uuid)。
110.当该终端获取到该目标会话的性能需求信息以及会话标识后,该终端将该目标会话的性能需求信息、该目标会话的会话标识以及调度节点广播的任播地址,封装为会话建立请求。可选地,该会话建立请求为快速udp互联网连接(quick udp internet connection,quic)请求。
111.在一种可能的实现方式中,为了后续在进行目标会话的过程中,目标会话内的数
据能够加密,该会话建立请求还携带该目标会话的会话密钥,该会话密钥为终端与第一服务节点进行目标会话的过程中对目标会话中的数据进行加密的密钥。
112.在一种可能的实现方式中,该会话建立请求还携带该目标服务的标识,以便后续与该终端建立会话的服务节点能够为终端提供该目标服务。
113.步骤4013、该终端向该调度节点发送该会话建立请求。
114.在一种可能的实现方式中,该终端通过任播技术,向该调度节点发送该会话建立请求。可选地,该终端采用任播技术,向该多个服务节点中距离该终端最近的服务节点所属的调度节点发送该会话建立请求。
115.例如,该终端通过转发设备(路由器)向该多个服务节点发送会话建立请求,当转发设备接收到会话建立请求后,从该会话建立请求中获取到任播地址,基于该任播地址该转发设备确定要对该会话建立请求进行任播选择,如转发设备根据边界网关协议(border gateway protocol,bgp)的“选择最短路径”的寻路原则,建立bgp映射,以选择出距离该终端最近的服务节点,并向该服务节点所属的调度节点发送该会话建立请求。bgp的“选择最短路径”的寻路原则包括由路由跳数、物理距离、等待时间以及拥塞程度决定选择成本最小的路径。
116.再例如图5所示的本技术实施例提供的一种通过任播技术选择调度节点的示意图。以会话建立请求为quic请求为例,终端发送携带性能需求信息的quic请求,沿途的转发设备通过任播技术选择出一个距离该终端最近的调度节点,并向选择出的调度节点发送quic请求,如图5中实线箭头所指的调度节点为转发设备通过任播技术所选择出的调度节点,虚线箭头所指的调度节点为没有被转发设备选择到的调度节点。
117.在一种可能的实现方式中,本步骤401由该终端中的物理网卡来执行。即该终端中的物理网卡,向该调度节点发送该会话建立请求。
118.402、该调度节点接收该会话建立请求。
119.当接收到该会话建立请求后,该调度节点确定该会话请求是否来自终端,若该任一调度节点从该终端接收该会话建立请求,则该调度节点执行下述步骤403。
120.其中,该调度节点确定该会话请求是否来自终端包括:该调度节点确定该调度节点中用于接收该会话建立请求的网卡是否为物理网卡,若是物理网卡,则确定该会话建立请求来自该终端,否则,说明该会话建立请求不来自该终端。
121.在一种可能的实现方式中,该调度节点从该会话建立请求中获取该目标会话的会话标识以及会话密钥,并关联存储该目标会话的会话标识以及会话密钥。
122.403、该调度节点从多个服务节点中,确定至少一个第一服务节点。
123.该至少一个第一服务节点的该目标性能均优于该多个服务节点中第二服务节点的该目标性能,该第二服务节点为该多个服务节点中除该至少一个第一服务节点以外的服务节点。或者可以理解为,该至少一个第一服务节点为该多个服务节点中该目标性能较优的服务节点。第二服务节点为该多个服务节点中该目标性能劣于该至少一个第一服务节点的服务节点。
124.该调度节点从该会话建立请求中的性能需求信息中获取目标需求类型,若该目标需求类型为第一种目标需求类型,则该调度节点基于该性能需求信息中的性能标识或性能标识位的取值,确定该目标会话所要求的至少一种目标性能,从性能需求信息中获取该至
少一种目标性能的重要度。若该目标需求类型属于第二种目标需求类型,则该调度节点查询该目标需求类型所对应的性能集合,将该性能集合中的各个性能确定为目标性能,该性能集合中各个性能的重要度确定为该目标性能的重要度。
125.当确定出该至少一种目标性能后,该调度节点从对应的服务节点获取该多个服务节点的该至少一种目标性能的性能指标,并基于该多个服务节点的该至少一种目标性能的性能指标以及该至少一种目标性能的重要度,从该多个服务节点中,确定该至少一个第一服务节点。
126.其中,该调度节点基于该多个服务节点的该至少一种目标性能的性能指标,从该多个服务节点中,确定该至少一个第一服务节点的实现方式包括下述方式a或b。
127.方式a、一种目标性能的情况下,调度节点确定至少一个服务节点的过程。
128.若该至少一种目标性能包括一种目标性能。可选地,该调度节点按照目标性能从优到劣的顺序,对该多个服务节点的该目标性能的性能指标进行排序,得到正序序列。该调度节点将该正序序列中前目标名次的性能指标所对应的服务节点,确定为第一服务节点。将该正序序列中前目标名次之后的性能指标所对应的服务节点确定为第二服务节点。以前目标名次为前2名为例,该正序序列中位于第1名的性能指标所对应的服务节点为该目标会话的最优服务节点,该正序序列中位于第2名的性能指标所对应的服务节点为该目标会话的次优服务节点,则该调度节点将最优服务节点以及次优服务节点,均确定为第一服务节点,将多个服务节点中除最优服务节点、次优服务节点以外的服务节点确定为第二服务节点。
129.可选地,该调度节点按照目标性能从劣到优的顺序,对该多个服务节点的该目标性能的性能指标进行排序,得到逆序序列。该调度节点将该逆序序列中后目标名次的性能指标所对应的服务节点,确定为第一服务节点。将该逆序序列中后目标名次之后的性能指标所对应的服务节点确定为第二服务节点。以后目标名次为后2名为例,该逆序序列中位于倒数第1名的性能指标所对应的服务节点为该目标会话的最优服务节点,该逆序序列中位于倒数第2名的性能指标所对应的服务节点为该目标会话的次优服务节点。
130.再例如,若该目标性能为计算性能,该调度节点将多个服务节点中cpu占用率最小的服务节点作为最优服务节点。
131.再例如,若该目标性能为时延性能,该调度节点基于该终端所属的区域范围,获取该多个服务节点与该区域范围内测试终端之间的网络时延,并将多个服务节点中网络时延最小的服务节点作为最优服务节点。
132.再例如,若该目标性能为带宽性能,并将多个服务节点中带宽最大的服务节点作为最优服务节点。
133.方式b、多种目标性能的情况下,调度节点确定至少一个服务节点的过程。
134.在一种可能的实现方式中,该调度节点基于该多个服务节点的多种目标性能的性能指标以及该多种目标性能的重要度,从该多个服务节点中,确定该至少一个第一服务节点。例如下述步骤4031-4032所示。
135.步骤4031、该调度节点基于该多个服务节点的多种目标性能的性能指标以及该多种目标性能的重要度,确定多个服务节点的性能评价指标。
136.每个服务节点的性能评价指标为对每个服务节点的多种目标性能的综合评价指
标。该调度节点为每个目标性能分别设置一个最优性能指标,一种目标性能的最优性能指标优于多个服务节点的该目标性能的性能指标。
137.可选地,若该目标性能为正向性能,则该目标性能的最优性能指标大于该多个服务节点的该目标性能的性能指标。其中,正向性能是指与性能指标正相关的性能,即性能的性能指标越大,相应地服务节点的性能越优,性能的性能指标越小,相应地服务节点的性能越劣。例如一种目标性能为带宽性能,服务节点的带宽越大,该服务节点的带宽性能越优,带宽性能的最优性能指标大于该多个服务节点的带宽。
138.可选地,若该目标性能为负向性能,则该目标性能的最优性能指标小于该多个服务节点的该目标性能的性能指标。其中,负向性能是指与性能指标负相关的性能,即性能的性能指标越大,相应地,服务节点的性能越劣,性能的性能指标越小,相应地服务节点的性能越优。例如一种目标性能为时延性能,服务节点的网络时延越低,该服务节点的时延性能越优,时延性能的最优性能指标小于该多个服务节点与该终端之间的网络时延。
139.在一种可能的实现方式中,对于该多种目标性能中的任一目标性能以及该多个服务节点中的任一服务节点。该调度节点基于该任一目标性能的最优性能指标以及该任一服务节点的该任一目标性能的性能指标,获取该任一服务节点的该任一目标性能的差异性比值。可选地,该任一目标性能的差异性比值用指示该任一目标性能的最优性能指标以及该任一服务节点的该任一目标性能的性能指标之间的差别程度。每种目标性能的差异性比值可以属于用一个值域,例如[0,1]。可选地,若该任一目标性能为正向性能,则该任一目标性能的差异性比值=该任一目标性能的性能指标/该任一目标性能的最优性能指标;若该任一目标性能为负向性能,则该任一目标性能的差异性比值=该任一目标性能的最优性能指标/该任一目标性能的性能指标。
[0140]
对于该多个服务节点中的任一服务节点,当该调度节点获取到该任一服务节点的多种目标性能的差异性比值后,该调度节点对该任一服务节点的多种目标性能的差异性比值以及该多种目标性能的重度,进行加权求和,得到该任一服务节点的性能评价指标。如下述公式(1)所示:
[0141][0142]
其中,q为性能评价指标,n为多种目标性能的总个数,i为大于0小于n的整数,pi为该多种目标性能中第i种目标性能的差异性比值,wi该多种目标性能中第i种目标性能的重要度。
[0143]
步骤4032、该调度节点基于多个服务节点的性能评价指标,从多个服务节点中确定至少一个第一服务节点。
[0144]
可选地,该调度节点按照从大到小的顺序,对该多个服务节点的性能评价指标进行排序,得到评价序列。该调度节点将该评价序列中前目标名次的性能评价指标所对应的服务节点,确定为第一服务节点。
[0145]
可选地,该调度节点按照从小到大的顺序,对该多个服务节点的性能评价指标进行排序,得到评价序列。该调度节点将该评价序列中后目标名次的性能评价指标所对应的服务节点,确定为第一服务节点。
[0146]
404、该调度节点分别向该至少一个第一服务节点发送该会话建立请求,以指示该
至少一个第一服务节点与该终端建立目标会话。
[0147]
在一种可能的实现方式中,该调度节点通过该至少一个第一服务节点所属的调度节点,向该至少一个服务节点发送该会话建立请求。例如下述步骤4041-4043所示的过程。
[0148]
步骤4041、该调度节点分别向至少一个调度节点发送该会话建立请求。
[0149]
其中,该至少一个调度节点中的每个调度节点为一个第一服务节点所属的调度节点,该至少一个调度节点中的每个调度节点与一个第一服务节点属于同一个数据中心。
[0150]
在一种可能的实现方式中,该调度节点通过虚拟网卡,分别向该至少一个调度节点发送该会话建立请求。
[0151]
步骤4042、对于该至少一个调度节点中的任一调度节点,该任一调度节点接收该会话建立请求。
[0152]
当接收到该会话建立请求后,该任一调度节点确定该会话请求是否来该任一调度节点以外的调度节点,若是,则说明该会话建立请求时其他调度节点转发给该任一调度节点的,则该任一调度节点执行下述步骤4043。
[0153]
其中,该调度节点确定该会话请求是否来自该任一调度节点以外的调度节点包括:该调度节点确定该调度节点中用于接收该会话建立请求的网卡是否为虚拟网卡,若是虚拟网卡,则确定该会话建立请求来自该任一调度节点以外的调度节点,否则,说明该会话建立请求来自终端。
[0154]
由于终端是通过物理网卡发送的会话建立请求,而该调度节点是通过虚拟网卡发送该会话建立请求,若接收该会话建立请求的网卡为虚拟网卡,则说明该会话建立请求时经过其他调度节点转发来的,因此,调度节点与终端发送会话建立请求的不同方式,能够区分会话建立请求是否经过调度节点转发,以防止会话建立请求在多个调度节点之间来回转发。
[0155]
步骤4043、该任一调度节点向对应的第一服务节点发送该会话建立请求。
[0156]
该任一调度节点对应的第一服务节点,也即是该任一调度节点所在数据中心内的服务节点。
[0157]
为了进一步说明上述步骤4041-4043所示的过程,参见图6所示的本技术实施例提供的一种会话建立流程的示意图。图6以至少一个第一服务节点包括一个最优服务节点和一个次优服务节点为例,该调度节点向最优服务节点所属的调度节点(记为最优调度节点)转发会话建立请求,最优调度节点将接收到的会话建立请求转发给最优服务节点。该调度节点向次优服务节点所属的调度节点(记为次优调度节点)转发会话建立请求,次优调度节点将接收到的会话建立请求转发给次优服务节点。
[0158]
405、对于该至少一个第一服务节点中的任一服务节点,该任一服务节点接收该会话建立请求。
[0159]
406、该任一服务节点向该终端发送会话建立响应。
[0160]
其中,该会话建立响应用于指示该任一服务节点同意与该终端建立目标会话。该会话建立响应携带该任一服务节点的单播地址以及该目标会话的会话标识。
[0161]
当接收到该会话建立请求后,解析该会话建立请求,并从中获取目标会话的会话标识,获悉该终端请求与该任一服务节点建立该目标会话。则该任一服务节点将该任一服务节点的单播地址以及该目标会话的会话标识,封装为该会话建立响应,并向该终端发送
该会话建立响应。
[0162]
在一种可能的实现方式中,该会话建立响应也称为目标会话的单播通道建立请求。
[0163]
407、该终端接收该会话建立响应。
[0164]
408、若该目标会话还未建立,则该终端与该任一服务节点建立该目标会话。
[0165]
当该终端接收到该会话建立响应后,从该会话建立响应中获取目标会话的会话标识,从而获悉该任一服务节点同意与该终端建立目标会话。则该终端基于该目标会话的会话标识,查询已经建立的会话中是否存在目标会话,若已存在,说明该目标会话已经建立,则终端不与该任一服务节点再建立一个新的目标会话,若不存在,说明该目标会话还未建立,则终端与该任一服务节点建立一个目标会话。则该终端与该至少一个第一服务节点中最先响应会话建立请求的第一服务节点建立该目标会话。
[0166]
该终端建立与该任一服务节点的之间的单播通道,从而完成建立该目标会话。当该目标会话建立完成后,该终端通过该单播通道,向该任一服务节点发送目标会话开启请求,该目标会话请求携带该目标会话的会话标识以及该目标服务的标识。当该任一服务节点接收到该目标会话开启请求后,基于目标服务的标识,确定该目标服务的数据流,并通过该单播通道,向该终端发送该数据流,实现目标会话。
[0167]
为了进一步说明:该终端与该至少一个第一服务节点中最先响应会话建立请求的第一服务节点建立该目标会话,仍以图6为例,图6中的最优服务节点与次优服务节点接收到会话建立请求后,均向终端发送会话建立响应,若该终端最先接收到最优服务节点发送的会话建立响应,该终端与最优服务节点建立目标会话,后续若再接收到次优服务节点发送的会话建立响应,由于此时目标会话已经建立,则终端不再与次优服务节点建立目标会话。
[0168]
在本技术实施例提供的方法中,调度节点基于目标会话所要求的目标性能,从多个服务节点中目标性能较优的第一服务节点,并分别向至少一个第一服务节点发送终端的会话建立请求,以指示至少一个第一服务节点与该终端建立目标会话,由于至少一个第一服务节点的目标性能资源较优,因此对该终端而言,每个第一服务节点都是能为终端提供服务的较优服务节点,一旦终端与一个第一服务节点建立目标会话后,该第一服务节点为该终端提供服务的服务效率就会比较高。并且,目标会话所要求的目标性能有多种时,还能满足目标会话对多资源的需求。
[0169]
为了进一步图3和图4所示的过程,参见图7所示的本技术实施例提供的一种建立会话流程的示意图。系统中的各个调度节点周期性的测量对应服务节点的各种性能的性能指标,以便更新对应服务节点的性能状态(即状态更新),各个调度节点通过向对应的存储节点发送性能更新请求,将各个服务节点的性能指标存储在存储节点。终端通过任播技术,从多个调度节点中选择出距离该终端最近的调度节点,并将选择出的调度节点发送会话建立请求,通过单播的方式与选择出的调度节点通信。调度节点接收到来自终端的会话建立请求后,基于目标会话所要求的目标性能,将目标性能较优的服务节点所属的调度节点转发该会话建立请求,目标性能较优的服务节点所属的调度节点确认会话建立请求是其他调度节点转发的,则将会话建立请求转发给目标性能较优的服务节点。终端与第一个响应该会话建立请求的服务节点建立单播通道,并通过该单播通道与该服务节点进行数据传输,
以实现建立并进行目标会话。
[0170]
为了进一步说明图4所示的过程,参见图8所示的本技术实施例提供的一种建立会话流程的示意图。系统包括调度节点c-e以及服务节点c-e,调度节点c和服务节点c位于同一个数据中心,调度节点d和服务节点d位于同一个数据中心,调度节点e和服务节点e位于同一个数据中心。终端乙采用动态编码封装格式,封装目标会话的性能需求信息,该性能需求信息中的需求类型为0。目标会话所要求的目标性能为时延性能,其中,时延性能的性能标识为3,时延性能的权重为100%。终端乙通过任播技术,向距离该终端乙最近的调度节点d发送携带该性能需求信息的会话建立请求,其中,会话建立请求可以是携带以该性能需求信息为新增字段的quic hello报文。调度节点d从服务节点c、d、e中,确定时延性能最优的服务节点c和时延性能最优的服务节点d,其中,服务节点c与终端乙之间的网络时延最低,服务节点d与终端乙之间的网络时延次低。调度节点d通过服务节点c所属的调度节点c,向服务节点c发送会话建立请求,调度节点d向服务节点d发送会话建立请求。服务节c和d接收到会话建立请求后,均向终端乙返回携带uuid_1的会话建立响应。若服务节点d返回的会话建立响应先到达终端乙,则终端乙响应服务节点d返回的会话建立响应(即与服务节点d建立目标会话)。若服务节点c返回的会话建立响应后到达终端乙,则此时目标会话已经建立,服务节点c返回的会话建立响应被拒绝(即终端乙不与服务节点c建立目标会话)。
[0171]
在一种可能的实现方式中,若与终端建立目标会话的第一服务节点的目标性能有所下降后,该终端还可以请求调度节点分配一个新的服务节点,并与调度节点所分配的服务节点进行目标会话。为了进一步说明该过程,参见图9所示的本技术实施例提供的一种服务节点切换方法的流程图。
[0172]
901、在与第一服务节点进行目标会话的过程中,终端获取该第一服务节点的目标性能的下降幅度。
[0173]
该第一服务节点为与终端已经建立目标会话的服务节点。该服务节点的目标性能有至少一种,也即是该目标会话所要求的至少一种目标性能。各个目标性能指标均设置有一个目标指标,一个目标性能的目标指标为该目标会话期望的该目标性能所能达到的最优指标值,若该目标性能的性能指标远未达到该目标性能的目标指标,则该目标性能可能会影响该目标会话的会话效率,从而应用用户体验。例如,若该目标性能为时延性能,该目标性能的目标指标为30ms,但是,第一服务节点的实际网络时延为70ms,远未达到30ms,则说明此时该目标会话的网络时延过大,容易造成卡顿。在不同的应用场景下,不同目标性能的目标指标有所不同,在此,本技术实施例对每个目标性能的性能指标不作限定。
[0174]
每个目标性能的下降幅度为每个目标性能的性能指标相对于每个目标性能的目标指标所下降的幅度。其中,每个目标性能的性能指标为当前时刻该第一服务节点的每个目标性能的指标值。
[0175]
对于该至少一种目标性能中的任一目标性能,当一个数据包通过该目标会话在该终端与该第一服务节点之间传输时,该终端通过该数据包,获取该第一服务节点的该任一目标性能的性能指标。其中,该数据包为该终端与该第一服务节点进行目标会话的过程中,在单播通道内传输任一数据包。
[0176]
例如,若该任一目标性能为计算性能,则该终端将该数据包的cpu占用率作为该任一目标性能的性能指标。若该任一目标性能为时延性能,该终端将该数据包在终端与该第
一服务节点的往返时间作为网络时延,即该任一目标性能的性能指标。若该任一目标性能为吞吐率性能,该终端将通过该目标会话成功交付数据包括的平均速率,作为该第一服务节点的吞吐率,即该任一目标性能的性能指标。
[0177]
由于存储节点内存储有各个服务节点最近时间的性能指标,该终端还可以从存储节点获取该第一服务节点的目标性能的性能指标。在一种可能的实现方式中,该终端向距离该终端最近的调度节点发送该第一服务节点的指标获取请求,该指标获取请求用于请求调度节点返回该第一服务节点的目标性能的性能指标。可选地,该指标获取请求携带该第一服务节点的节点标识以及该至少一个目标性能的性能标识。该调度节点基于该指标获取请求,在对应的存储节点查询该第一服务节点的该至少一个目标性能的性能指标,并将查询到的该至少一个目标性能的性能指标发送给终端,该终端从该调度节点接收该至少一个目标性能的性能指标。
[0178]
当获取到该任一目标性能的性能指标后,该终端基于该任一目标性能的性能指标以及该任一目标性能的目标指标,获取该任一目标性能的下降幅度。若该任一目标性能为正向性能,则该任一目标性能的下降幅度为该任一目标性能的目标指标减去该任一目标性能的性能指标所得到差值。例如,若该任一目标性能为带宽性能,该任一目标性能的目标指标为100bps,而当前时刻该第一服务节点的带宽(即该任一目标性能的性能指标)为50bps,则该带宽性能的下降幅度为50bps。
[0179]
若该任一目标性能为负向性能,则该任一目标性能的下降幅度为该任一目标性能的性能指标减去该任一目标性能的目标指标所得到差值。例如若该任一目标性能为时延性能,该任一目标性能的目标指标为30ms,而当前时刻该第一服务节点的网络时延(即该任一目标性能的性能指标)为80ms,则该时延性能的下降幅度为50ms。
[0180]
902、若该第一服务节点的目标性能的下降幅度超过幅度阈值,该终端向该调度节点发送节点切换请求,该节点切换请求用于请求对切换该目标会话的服务节点。
[0181]
每个目标性能均设置一个幅度阈值,不同的目标性能所设置的幅度阈值可以不同。例如时延性能的服务阈值为时延性能的目标指标的40%。在不同应用场景下,同一目标性能的幅度阈值可以不同。在此,本技术实施例对每个目标性能的幅度阈值不作限定。
[0182]
该调度节点为系统中距离该终端最近的调度节点。该节点切换请求携带该第一服务节点的单播地址以及该目标会话的性能需求信息。例如图10所示的本技术实施例提供的一种节点切换请求的示意图。图10所示的节点切换请求中当前服务节点地址(current server address)为该第一服务节点的单播地址,占用32/128比特。节点切换请求中性能需求信息的数据格式和图3所示的性能需求信息的数据格式一致,在此,本技术实施例对节点切换请求中性能需求信息的数据格式不作赘述。
[0183]
在一种可能的实现方式中,该节点切换请求还携带该目标会话的会话标识。
[0184]
若该第一服务节点的各个目标性能的下降幅度均超过对应的幅度阈值,该终端生成该节点切换请求,并向该调度节点发送该节点切换请求。其中,该终端向该调度节点发送该节点切换请求的过程与步骤4013中该终端向该调度节点发送该会话建立请求的过程同理,在此,本技术实施例对该终端向该调度节点发送该节点切换请求的过程不作赘述。
[0185]
在一种可能的实现方式中,由于此时该终端正在与该第一服务节点进行目标会话,为了避免影响目标会话的正常进行,该终端暂时中断与该第一服务节点所进行的目标
会话,并记录该目标会话的中断信息。其中,该中断信息为用于指示该目标会话的中断位置,例如该目标会话所提供的服务为下载服务,该终端已经通过该目标会话,从第一服务节点下载了50个数据包,则该终端信息可以是50。
[0186]
903、调度节点接收该节点切换请求。
[0187]
该调度节点从接收的节点切换请求中,获取该第一服务节点的单播地址、该目标会话的性能需求信息以及该目标会话的标识,从而该调度节点获悉该终端向该调度节点请求为该目标会话切换一个服务节点。
[0188]
904、该调度节点从多个服务节点中确定目标服务节点,该目标服务节点的该目标性能优于该多个服务节点中除该目标服务节点以外的各个服务节点的该目标性能。
[0189]
该多个服务节点为系统中的各个服务节点,该目标服务节点为当前时刻还系统中目标性能最优的服务节点。
[0190]
当接收到该节点切换请求后,该调度节点从接收的节点切换请求中,获取该第一服务节点的单播地址、该目标会话的性能需求信息以及该目标会话的标识,从而该调度节点获悉该终端向该调度节点请求为该目标会话切换一个服务节点。
[0191]
在一种可能的实现方式中,该调度节点基于该性能需求信息,从该多个服务节点中确定该目标服务节点。该过程与上述步骤403中该调度节点从多个服务节点中,确定至少一个第一服务节点的过程同理,区别在于,步骤403确定出的至少一个第一服务节点可能有多个,而本步骤904确定出的目标服务节点有一个。即该调度节点将多个服务节点中至少一个目标性能最优的服务节点,确定为该目标服务节点。如性能指标排序中处于最优排名的服务节点为目标服务节点。
[0192]
在一种可能的实现方式中,当该调度节点确定出该目标服务节点后,确定该目标服务节点与该第一服务节点是否为同一个服务节点。若该目标服务节点与该第一服务节点是同一个服务节点,说明该第一服务节点为系统中目标性能最优的服务节点,则终端无须切换目标会话的服务节点,则该终端可以继续重新执行本步骤903,直至确定出的目标服务节点与该第一服务节点不同为止,或者,该调度节点不响应该节点切换请求(即不执行本步骤903之后的各个步骤)。若该目标服务节点与该第一服务节点不是同一个服务节点,则说明该目标服务节点的目标性能优于第一服务节点的目标性能,则该调度节点执行本步骤904,以便终端将目标会话的服务节点切换至目标服务节点。
[0193]
其中,该调度节点确定该目标服务节点与该第一服务节点是否为同一个服务节点包括:若该目标服务节点的单播地址与该节点切换请求携带的单播地址相同,则该调度节点确定该目标服务节点与该第一服务节点为同一个服务节点;若该目标服务节点的单播地址与该节点切换请求携带的单播地址不同,则该调度节点确定该目标服务节点与该第一服务节点不是同一个服务节点。
[0194]
905、该调度节点向该终端发送节点切换响应,该节点切换响应用于指示将该目标会话的服务节点切换为该目标服务节点。
[0195]
该节点切换响应携带该目标服务节点的单播地址。可选地,该节点切换响应包括首选地址(preferred address)字段,该首选地址字段用于存储该目标服务节点的单播地址。
[0196]
在一种可能的实现方式中,该节点切换响应还携带该目标会话的会话标识以及该
目标服务的标识。
[0197]
906、该调度节点向该目标服务节点发送该目标会话的会话密钥,该会话密钥用于对该目标会话中的数据进行加密。
[0198]
该会话密钥为终端与第一服务节点进行目标会话的过程中对目标会话中的数据进行加密的密钥。
[0199]
当该调度节点确定将目标服务节点推荐给终端进行节点切换后,则该调度节点可以将存储的该目标会话的会话密钥发送给目标服务节点。
[0200]
在一种可能的实现方式中,该调度节点也可以并行执行本步骤906和步骤905,或者先执行本步骤906,再执行步骤905。在此,本技术实施例对本步骤905和906的执行顺序不作限定。
[0201]
907、该目标服务节点接收该会话密钥。
[0202]
需要说明的是,906-907所示的过程为可选过程,在一些实施例中,若目标会话过程中没有对数据进行加密,则调度节点无须将目标会话的会话密钥发送给目标服务节点。
[0203]
908、当接收到节点切换响应后,该终端向该目标服务节点发送该目标会话的验证请求。
[0204]
其中,该验证请求携带该目标会话的验证信息。可选地,该验证信息包括该目标会话的会话密钥以及会话证书中的至少一个。该会话证书为服务提供商为目标服务提供的数字证书。
[0205]
可选地,该会话验证请求还携带该目标会话的会话标识以及中断信息。
[0206]
当接收到该节点切换响应后,该终端解析该节点切换响应,得到该目标服务节点的单播地址。该终端基于该目标服务节点的单播地址,向该目标服务器发送该验证请求。
[0207]
909、该目标服务节点对该验证请求携带的验证信息进行验证,若该验证信息通过验证,则该目标服务节点与该终端进行该目标会话。
[0208]
当该目标服务节点接收到该验证请求后,从该验证请求中获取该验证信息,该服务节点对该验证信息中携带的会话密钥和/或会话证书进行验证,若会话密钥和/或会话证书验证通过,则该验证信息通过验证,否则该验证信息不通过验证。
[0209]
在一种可能的实现方式中,该目标服务节点对该验证信息中携带的会话密钥进行验证包括:若该验证信息中携带的会话密钥与调度节点向该服务节点发送的会话密钥相同,则该目标服务节点对验证信息中携带的会话密钥验证通过,否则该目标服务节点不对验证信息中携带的该会话密钥验证通过。
[0210]
在一种可能的实现方式中,该目标服务节点对该验证信息中携带的会话证书进行验证包括:若该会话证书与服务提供商提供的目标服务的会话证书相同,则该目标服务节点对验证信息中携带的会话证书验证通过,否则该目标服务节点不对验证信息中携带的该会话证书验证通过。
[0211]
若该验证信息通过验证,该目标服务节点从该验证请求中获取该目标会话的会话标识、目标服务的标识以及中断信息,该目标服务节点基于该目标服务的标识,确定该目标服务的数据流,从该数据流中该中断信息所指示的中断位置,向终端开始返回该数据流中的数据,以复用该目标会话。
[0212]
上述步骤908-909所示的过程也即是终端将该目标会话的该第一服务节点切换为
该目标服务节点的过程。即若该目标服务节点对该验证信息通过验证,则该终端与该目标服务节点进行该目标会话。
[0213]
本技术实施例提供的方法,在目标会话当前的服务节点性能下降的情况下,终端请求调度节点为该目标会话切换服务节点,该调度节点将系统中性能最优的服务节点推荐给终端,以便终端将目标会话的服务节点从当前的服务节点切换至系统中性能最优的服务节点,从而在用户无感知的情况下,终端自动完成了服务节点切换,保证了目标会话的正常进行。并且,一旦目标服务节点对验证请求中的验证信息通过验证后,目标服务节点可以直接与终端继续进行目标会话,从而实现了终端与目标服务器的0-往返时延(round-trip time,rtt)的无延时握手,提高了服务节点切换的效率。
[0214]
为了进一步说明图9所示的过程,参见图11和12分别所示的本技术实施例提供的一种切换服务节点的示意图。在图11中,终端向距离其最近的调度节点发送节点切换请求。调度节点查询系统中目标性能最优的服务节点,并向查询到的服务节点发送目标会话的会话密钥,向终端返回节点切换响应,以指示终端将目标会话切换至查询到的服务节点。客户端向调度节点查询到的服务节点发送验证请求,当该服务节点对该验证请求中携带的验证信息验证通过后,该服务节点向该终端续传目标会话中的数据,以完成节点切换。
[0215]
图12是以图8为基础的示例,在图12中,以目标性能为时延性能,当前与终端乙进行目标会话的服务节点为服务节点d,服务节点d的单播地址为20.0.1.5。当终端乙感知到服务节点d的网络时延增加,时延性能下降,服务节点d当前的时延性能不符合业务需求(如时延性能的下降幅度达到幅度阈值)时,则终端乙终端与服务节点d所进行的目标会话,会话传输中断于第50个数据包。终端乙通过任播技术,向距离终端乙最近的调度节点d发送节点切换请求,节点切换请求携带服务节点d的单播地址(16.0.0.2)以及动态编码封装格式的性能需求信息。当该调度节点d接收到该节点切换请求后,确定此时系统中与终端乙之间的网络时延最低的是服务节点e(即目标服务节点),则调度节点d向终端返回节点切换响应,以指示可以切换至服务节点e。当终端乙接收到节点切换响应后,向服务节点e发送验证请求,当服务节点e对验证请求中的验证信息验证通过后,终端通过复用uuid-1的目标会话,从目标服务的数据流中的第51个数据包,开始向服务节点e续传数据。
[0216]
以上介绍了本技术实施例的方法,以下介绍本技术实施例的装置。应理解,以下介绍的装置具有上述方法中调度节点或终端的任意功能。
[0217]
参见图13,本技术实施例提供了一种会话建立装置的结构示意图,所述装置1300可以为前面各个实施例或图2、图4或图9中的调度节点或调度节点的部分,用于执行调度节点所执行的方法,所述装置1300被配置为调度节点,所述装置1300包括:
[0218]
接收模块1301,用于接收终端的会话建立请求,所述会话建立请求用于指示建立目标会话,所述会话建立请求携带所述目标会话的性能需求信息,所述性能需求信息用于指示所述目标会话所要求的服务节点的目标性能;
[0219]
确定模块1302,用于从多个服务节点中,确定至少一个第一服务节点,所述至少一个第一服务节点的所述目标性能均优于所述多个服务节点中第二服务节点的所述目标性能,所述第二服务节点为所述多个服务节点中除所述至少一个第一服务节点以外的服务节点;
[0220]
发送模块1303,用于分别向所述至少一个第一服务节点发送所述会话建立请求,
以指示所述至少一个第一服务节点与所述终端建立所述目标会话。
[0221]
在一种可能的实现方式中,所述性能需求信息用于指示所述目标会话所要求的服务节点的至少一种目标性能。
[0222]
在一种可能的实现方式中,所述性能需求信息包括目标需求类型,所述目标需求类型用于指示所述至少一种目标性能。
[0223]
在一种可能的实现方式中,所述目标需求类型还用于指示所述至少一种目标性能中每种目标性能的重要度,每种目标性能的重要度用于指示每种目标性能对所述目标会话的重要程度。
[0224]
在一种可能的实现方式中,所述性能需求信息包括所述至少一种目标性能中每种目标性能对应的性能标识位,且所述性能标识位的取值为目标数值,所述目标数值用于指示对应的目标性能为所述目标会话所要求的性能。
[0225]
在一种可能的实现方式中,所述性能需求信息包括所述至少一种目标性能中每种目标性能的性能标识。
[0226]
在一种可能的实现方式中,所述性能需求信息还包括所述至少一种目标性能中每种目标性能的重要度,每种目标性能的重要度用于指示每种目标性能对所述目标会话的重要程度。
[0227]
在一种可能的实现方式中,所述性能需求信息还包括目标需求类型,所述目标需求类型用于指示所述目标性能不是目标服务的预设性能,所述目标服务由所述目标会话实现。
[0228]
在一种可能的实现方式中,所述接收模块1301,还用于接收所述终端的节点切换请求,所述节点切换请求用于请求切换所述目标会话的服务节点进行切换;
[0229]
所述确定模块1302,还用于从所述多个服务节点中确定目标服务节点,所述目标服务节点的所述目标性能优于所述多个服务节点中除所述目标服务节点以外的各个服务节点的所述目标性能;
[0230]
所述发送模块1303,还用于向所述终端发送节点切换响应,所述节点切换响应用于指示将所述目标会话的服务节点切换为所述目标服务节点。
[0231]
在一种可能的实现方式中,所述节点切换请求包括所述第一目标服务节点的单播地址、所述性能需求信息以及所述目标会话的会话标识。
[0232]
在一种可能的实现方式中,所述发送模块,还用于向所述目标服务节点发送所述目标会话的会话密钥,所述会话密钥用于对所述目标会话中的数据进行加密。
[0233]
在一种可能的实现方式中,所述确定模块1302用于:
[0234]
若从所述终端接收所述会话建立请求,从所述多个服务节点中,确定所述至少一个第一服务节点。
[0235]
应理解,装置1300对应于上述方法实施例中的调度节点,装置1300中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的调度节点所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
[0236]
应理解,装置1300在确定第一服务节点或者目标服务节点时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置1300的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分
功能。另外,上述实施例提供的装置1300与上述方法实施例属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。
[0237]
应理解,装置1300可以相当于系统100中的调度节点103,或者相当于调度节点103中的执行部件。
[0238]
参见图14,本技术实施例提供了一种会话建立装置的结构示意图,所述装置1400可以为前面各个实施例或图2、图4或图9中的终端或终端的部分,用于执行终端所执行的方法,所述装置1400被配置为终端,所述装置1400包括:
[0239]
发送模块1401,用于向调度节点发送会话建立请求,所述会话建立请求用于指示建立目标会话,所述会话建立请求携带所述目标会话的性能需求信息,所述性能需求信息用于指示所述目标会话所要求的服务节点的目标性能;
[0240]
接收模块1402,用于接收第一服务节点的会话建立响应,所述第一服务节点的所述目标性能优于多个服务节点中第二服务节点的所述目标性能;
[0241]
建立模块1403,用于若所述目标会话还未建立,与所述第一服务节点建立所述目标会话。
[0242]
在一种可能的实现方式中,所述装置模块1400还包括切换模块;
[0243]
所述发送模块1401,还用于若所述第一服务节点的所述目标性能的下降幅度超过幅度阈值,向所述调度节点发送节点切换请求,所述节点切换请求用于请求对切换所述目标会话的服务节点;
[0244]
所述接收模块1402,还用于接收节点切换响应,所述节点切换响应用于指示将所述目标会话的服务节点切换为所述目标服务节点;
[0245]
所述切换模块,还用于将所述目标会话的所述第一服务节点切换为所述目标服务节点。
[0246]
所述切换模块用于:
[0247]
向所述目标服务节点发送所述目标会话的验证请求,所述验证请求携带所述目标会话的验证信息;
[0248]
若所述目标服务节点对所述验证信息通过验证,则与所述目标服务节点进行所述目标会话。
[0249]
在一种可能的实现方式中,所述验证信息包括所述目标会话的会话密钥以及会话证书中的至少一个。
[0250]
应理解,装置1400对应于上述方法实施例中的终端,装置1400中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的终端所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
[0251]
应理解,装置1400在确定建立会话时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置1400的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置1400与上述方法实施例属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。
[0252]
请参考图15,图15是本技术实施例提供的一种计算机设备的结构示意图,该计算机设备可以是图1部分描述的内容中涉及的任一设备,比如,服务节点101、存储节点102以
及调度节点103等。该计算机设备包括至少一个处理器1501、通信总1502、存储器1503以及至少一个通信接口1504。
[0253]
处理器1501可以是一个通用中央处理器(central processing unit,cpu)、网络处理器(np)、微处理器、或者可以是一个或多个用于实现本技术方案的集成电路,例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
[0254]
通信总线1502用于在上述组件之间传送信息。通信总线1502可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0255]
存储器1503可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1503可以是独立存在,并通过通信总线1502与处理器1501相连接。存储器1503也可以和处理器1501集成在一起。
[0256]
通信接口1504使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1504包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合等。
[0257]
在具体实现中,作为一种实施例,处理器1501可以包括一个或多个cpu,如图15中所示的cpu0和cpu1。
[0258]
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,如图15中所示的处理器1501和处理器1505。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
[0259]
在具体实现中,作为一种实施例,计算机设备还可以包括输出设备1506和输入设备1507。输出设备1506和处理器1501通信,可以以多种方式来显示信息。例如,输出设备1506可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备1507和处理器1501通信,可以以多种方式接收用户的输入。例如,输入设备1507可以是鼠标、键盘、触摸屏设备或传感设备等。
[0260]
在一些实施例中,存储器1503用于存储执行本技术方案的程序代码1510,处理器1501可以执行存储器1503中存储的程序代码1510。也即是,该计算机设备可以通过处理器
1501以及存储器1503中的程序代码1510,来实现上文图2、图4或图9实施例提供的方法。
[0261]
图16示出了本技术示实施例提供的一种终端的结构示意图。该终端1600可以是:智能手机、平板电脑、动态影像专家压缩标准音频层面3(moving picture experts group audio layer iii,mp3)播放器、动态影像专家压缩标准音频层面4(moving picture experts group audio layer iv,mp4)播放器、笔记本电脑或台式电脑。终端1600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0262]
通常,终端1600包括有:处理器1601和存储器1602。
[0263]
处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(central processing unit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以在集成有图像处理器(graphics processing unit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1601还可以包括人工智能(artificial intelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0264]
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1601所执行以实现本技术中方法实施例提供的会话建立方法。
[0265]
在一些实施例中,终端1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。具体地,外围设备包括:射频电路1604、显示屏1605、摄像头组件1606、音频电路1607、定位组件1608和电源1609中的至少一种。
[0266]
外围设备接口1603可被用于将输入/输出(input/output,i/o)相关的至少一个外围设备连接到处理器1601和存储器1602。在一些实施例中,处理器1601、存储器1602和外围设备接口1603被集成在同一芯片或电路板上;在一些其他实施例中,处理器1601、存储器1602和外围设备接口1603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0267]
射频电路1604用于接收和发射射频(radio frequency,rf)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或无线保真(wireless fidelity,wifi)网络。在一些实施例中,射频电
路1604还可以包括近距离无线通信(near field communication,nfc)有关的电路,本技术对此不加以限定。
[0268]
显示屏1605用于显示用户界面(user interface,ui)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1605是触摸显示屏时,显示屏1605还具有采集在显示屏1605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1601进行处理。此时,显示屏1605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1605可以为一个,设置终端1600的前面板;在另一些实施例中,显示屏1605可以为至少两个,分别设置在终端1600的不同表面或呈折叠设计;在再一些实施例中,显示屏1605可以是柔性显示屏,设置在终端1600的弯曲表面上或折叠面上。甚至,显示屏1605还可以设置成非矩形的不规则图形,也即异形屏。显示屏1605可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等材质制备。
[0269]
摄像头组件1606用于采集图像或视频。可选地,摄像头组件1606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及虚拟现实(virtual reality,vr)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0270]
音频电路1607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1601进行处理,或者输入至射频电路1604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1601或射频电路1604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1607还可以包括耳机插孔。
[0271]
定位组件1608用于定位终端1600的当前地理位置,以实现导航或基于位置的服务(location based service,lbs)。定位组件1608可以是基于美国的全球定位系统(global positioning system,gps)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0272]
电源1609用于为终端1600中的各个组件进行供电。电源1609可以是交流电、直流电、一次性电池或可充电电池。当电源1609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0273]
在一些实施例中,终端1600还包括有一个或多个传感器1610。该一个或多个传感器1610包括但不限于:加速度传感器1611、陀螺仪传感器1612、压力传感器1613、指纹传感器1614、光学传感器1615以及接近传感器1616。
[0274]
加速度传感器1611可以检测以终端1600建立的坐标系的三个坐标轴上的加速度
大小。比如,加速度传感器1611可以用于检测重力加速度在三个坐标轴上的分量。处理器1601可以根据加速度传感器1611采集的重力加速度信号,控制触摸显示屏1605以横向视图或纵向视图进行用户界面的显示。加速度传感器1611还可以用于游戏或者用户的运动数据的采集。
[0275]
陀螺仪传感器1612可以检测终端1600的机体方向及转动角度,陀螺仪传感器1612可以与加速度传感器1611协同采集用户对终端1600的3d动作。处理器1601根据陀螺仪传感器1612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0276]
压力传感器1613可以设置在终端1600的侧边框和/或触摸显示屏1605的下层。当压力传感器1613设置在终端1600的侧边框时,可以检测用户对终端1600的握持信号,由处理器1601根据压力传感器1613采集的握持信号进行左右手识别或快捷操作。当压力传感器1613设置在触摸显示屏1605的下层时,由处理器1601根据用户对触摸显示屏1605的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0277]
指纹传感器1614用于采集用户的指纹,由处理器1601根据指纹传感器1614采集到的指纹识别用户的身份,或者,由指纹传感器1614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1614可以被设置终端1600的正面、背面或侧面。当终端1600上设置有物理按键或厂商logo时,指纹传感器1614可以与物理按键或厂商logo集成在一起。
[0278]
光学传感器1615用于采集环境光强度。在一个实施例中,处理器1601可以根据光学传感器1615采集的环境光强度,控制触摸显示屏1605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1605的显示亮度;当环境光强度较低时,调低触摸显示屏1605的显示亮度。在另一个实施例中,处理器1601还可以根据光学传感器1615采集的环境光强度,动态调整摄像头组件1606的拍摄参数。
[0279]
接近传感器1616,也称距离传感器,通常设置在终端1600的前面板。接近传感器1616用于采集用户与终端1600的正面之间的距离。在一个实施例中,当接近传感器1616检测到用户与终端1600的正面之间的距离逐渐变小时,由处理器1601控制触摸显示屏1605从亮屏状态切换为息屏状态;当接近传感器1616检测到用户与终端1600的正面之间的距离逐渐变大时,由处理器1601控制触摸显示屏1605从息屏状态切换为亮屏状态。
[0280]
本领域技术人员可以理解,图16中示出的结构并不构成对终端1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0281]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由计算机设备中的处理器执行以完成上述实施例中的会话建立方法中调度节点或者服务节点所执行的步骤。例如,该计算机可读存储介质是非临时计算机可读存储介质,如只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0282]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存
储器,上述程序代码可由终端中的处理器执行以完成上述实施例中的会话建立方法中中的所执行的步骤。例如,该计算机可读存储介质是非临时计算机可读存储介质,如rom、ram、cd-rom、磁带、软盘和光数据存储设备等。
[0283]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行上述会话建立方法。
[0284]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得终端执行上述会话建立方法。
[0285]
另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中会话建立方法。
[0286]
其中,本实施例提供的装置、设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0287]
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,与上述实施例提供的信道质量信息确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0288]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0289]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0290]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0291]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0292]
在本技术的描述中,除非另有说明,“/”表示“或”的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0293]
本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0294]
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
[0295]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献