基于有状态服务的服务切换方法、装置、终端及存储介质与流程

专利2023-10-23  105



1.本发明涉及云计算技术领域,尤其涉及一种基于有状态服务的服务切换方法、装置及存储介质。


背景技术:

2.随着信息化程度的不断提高,全球数据日益膨胀。面对当前pb级的海量数据,每秒可能有数以万计的访问,面对规模如此庞大的数据量,单个计算机将无法胜任这样的数据处理工作,此时就需要分布式云系统来应对大数据时代以及即将到来的物联网时代。其中,分布式云系统是一组计算机,透过网络相互连接传递消息与通信后并协调它们的行为而形成的系统,组件之间彼此进行交互以实现一个共同的目标。但是,分布式云环境下的服务端,它们的容量、可靠性和稳定性都比中心云差,有时出现会出现当前服务节点故障或者离线的情况,而此时终端不能够快速切换与其他可服务节点的连接,从而导致目标服务的中断。因此,如何使终端继续获取目标服务成为了目前亟待解决的技术问题。


技术实现要素:

3.本发明的主要目的在于提供一种基于有状态服务的服务切换方法、装置、终端及可读存储介质,旨在解决云服务节点故障时终端无法获取相应服务的技术问题。
4.为实现上述目的,本发明提供一种基于有状态服务的服务切换方法,所述基于有状态服务的服务切换方法包括:
5.在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;
6.在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点;
7.基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。
8.进一步地,所述在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据之前包括:
9.在接收到所述目标终端的服务请求信息时,获取所述服务请求信息对应的服务,作为所述目标服务;
10.在各个边缘服务节点中确定可提供所述目标服务的可用服务节点,并将所述可用服务节点与所述目标终端建立连接;
11.在各个所述可用服务节点中确定所述当前服务节点,并将除所述当前服务节点之外的至少一个可用服务节点,作为所述待切换服务节点。
12.进一步地,所述在各个边缘服务节点中确定可提供所述目标服务的可用服务节点包括:
13.获取各个所述边缘服务节点的服务状态和服务内容,并在各个所述边缘服务节点,确定服务状态为可服务状态且服务内容与所述目标服务内容相同的服务节点,作为所
述可用服务节点。
14.进一步地,所述在各个所述可用服务节点中确定所述当前服务节点,并将除所述当前服务节点之外的至少一个可用服务节点,作为所述待切换服务节点之后包括:
15.根据各个所述待切换服务节点,生成临时业务组;
16.在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据;
17.将所述终端标识与所述有状态服务数据同步至所述临时业务组中的各个所述待切换服务节点。
18.进一步地,所述基于有状态服务的服务切换方法还包括:
19.基于各个所述可用服务节点基于预设周期上报的ip地址、可服务信息、节点负载以及节点位置信息,生成节点数据表。
20.进一步地,所述根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据之前,还包括:
21.在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据,并将所述终端标识与所述有状态服务数据关联存储至数据库。
22.进一步地,所述在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点,包括:
23.根据各个所述待切换服务节点的节点负载、节点位置以及预设权重,确定各个所述待切换服务节点的优先级;
24.根据各个所述待切换服务节点的优先级,将各个所述待切换服务节点添加至备份连接队列;
25.获取所述备份连接队列中的优先级最高的所述待切换服务节点,作为所述目标服务节点。
26.此外,为实现上述目的,本发明还提供一种基于有状态服务的服务切换装置,所述基于有状态服务的服务切换装置包括:
27.信息备份模块,用于在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;
28.节点转换模块,用于在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点;
29.同步服务模块,用于基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。
30.此外,为实现上述目的,本发明还提供一种基于有状态服务的服务切换终端,所述基于有状态服务的服务切换终端包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于有状态服务的服务切换程序,其中所述基于有状态服务的服务切换被所述处理器执行时,实现如上述的基于有状态服务的服务切换方法的步骤。
31.本发明提供一种基于有状态服务的服务切换方法,所述方法通过在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;在与所述目标终端连接的至少一个待切换服务节点中,确定目
标服务节点;基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。由此,分布式云系统在当前服务节点故障或离线时,在与目标终端连接的待切换服务节点中确定可切换的目标服务节点,并基于当前服务节点向目标终端提供目标服务的有状态服务数据,快速切换至目标服务节点,向目标终端继续提供目标服务,满足了所述终端能够继续获取目标服务的需求,不仅提高了服务任务执行效率,而且防止服务节点的切换导致服务数据信息丢失,提高了用户体验。
附图说明
32.图1为本发明实施例方案中涉及的基于有状态服务的服务切换终端的硬件结构示意图;
33.图2为本发明基于有状态服务的服务切换方法一实施例的流程示意图;
34.图3为本发明基于有状态服务的服务切换装置一实施例的功能模块示意图。
35.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
36.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
37.本发明实施例涉及的基于有状态服务的服务切换方法主要应用于基于有状态服务的服务切换设备,该基于有状态服务的服务切换设备可以是pc、便携计算机、移动终端等具有显示和处理功能的设备。
38.参照图1,图1为本发明实施例方案中涉及的基于有状态服务的服务切换终端的硬件结构示意图。
39.本发明实施例中,基于有状态服务的服务切换终端可以包括处理器1001 (例如cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004 可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005 可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
40.本领域技术人员可以理解,图1中示出的硬件结构并不构成对基于有状态服务的服务切换终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
41.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及基于有状态服务的服务切换程序。
42.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的基于有状态服务的服务切换程序,并执行本发明实施例提供的基于有状态服务的服务切换方法。
43.本发明实施例提供了一种基于有状态服务的服务切换方法。
44.参照图2,图2为本发明提供的一种基于有状态服务的服务切换方法一实施例的流程示意图。
45.本实施例中,所述基于有状态服务的服务切换方法应用于分布式云系统,所述分布式云系统包括控制中心和边缘服务点,所述基于有状态服务的服务切换方法包括以下步骤:
46.步骤s10,在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;
47.本实施例中,当前服务点故障的原因有很多,例如:服务节点负载过大、未优化服务器不满足架构操作、数据库读取超时、任务量级部署不合理以及文件系统本身过大导致索引节点耗尽等原因。以上原因都可以致使当前服务节点不能工作,无法相应任务指令,致使无法向终端提供目标服务。在中心云时代所述终端在服务端有唯一的且固定的标识,以计算机终端为例,ip地址是网络中每台计算机的唯一标识。由于标识唯一且固定,控制中心便可在当前服务节点上建立唯一的数据库,用于记载当前终端的目标服务获取信息,将该部分信息作为所述有状态数据。
48.有状态数据应用于有状态服务,该数据是服务本身依赖或者存在的局部状态数据,这些数据需要自身持久化获取,或者通过其他带切换服务节点恢复。有状态服务实质上是针对有标识的终端记录其对应数据和状态,下次请求时依据其对应的数据和状态给出响应。该有状态服务基于有状态数据的实施存在预设条件,包括:
49.一个服务请求信息只能被某个节点(或者同等状态下的节点)处理;
50.同种服务请求信息对应的若干服务节点形成了一个封闭的系统,该系统中存在多个数据闭环,在存储这些数据时要考虑闭环内的数据一致性;
51.整个服务系统的存储状态数据和实例拓展需要根据可服务节点的状态进行迁移。
52.有状态服务常常用于实现事务,举一个常见的例子,在商城里购买一件商品,需要经过放入购物车、确认订单、付款等多个步骤。由于http协议本身是无状态的,所以为了实现有状态服务,就需要通过一些额外的方案。比如最常见的session,将用户挑选的商品(购物车),保存到session中,当付款的时候,再从购物车里取出商品信息。
53.通过提炼出一个程序中反复要做的事情,让其只做一次。而这个事情在程序中,就是将一部分“数据”放到一个暂存区,以提供给相关的“行动”共用,这样大大提高了任务执行效率。
54.步骤s20,在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点;
55.本实施例中,控制中心基于边缘服务点的服务内容和服务状态将当前服务节点和至少一个待切换服务节点划分至一个临时业务组中,临时业务组中的服务节点之间相互备份同步终端在任意节点上的连接状态和任务执行数据。在当前服务服务节点发生故障或离线时,控制中心在临时业务组中搜寻其他服务节点作为待切换服务节点,同时因为临时业务组中的数据在各节点中相互同步,所以可以将待切换服务节点作为目标服务节点,用于向终端继续提供服务。
56.由于当前服务节点和待切换服务节点的信息时时刻刻都在相互备份相互同步,所以即使控制中心切换了节点与终端的连接,也不会导致任务信息的损耗与丢失,保障了服务获取任务的安全性。
57.步骤s30,基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节
点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。
58.本实施例中,有状态服务数据可以是终端在服务节点上获取服务的进程,例如:在word中编辑文章,若服务端突然离线,此时有状态服务数据为当前已编辑过的内容,在切换其他服务节点后,通过有状态服务操作,终端能够继续完成之前未完成的文章。
59.本实施例提供一种基于有状态服务的服务切换方法,所述方法通过在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点;基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。由此,分布式云系统在当前服务节点故障或离线时,在与目标终端连接的待切换服务节点中确定可切换的目标服务节点,并基于当前服务节点向目标终端提供目标服务的有状态服务数据,快速切换至目标服务节点,向目标终端继续提供目标服务,满足了所述终端能够继续获取目标服务的需求,不仅提高了服务任务执行效率,而且防止服务节点的切换导致服务数据信息丢失,提高了用户体验。
60.基于上述图2所示实施例,本实施例中,在所述步骤s10之前还包括:
61.在接收所述目标终端的服务请求信息,获取所述服务请求信息对应的服务,作为所述目标服务;
62.在各个边缘服务节点中确定可提供所述目标服务的可用服务节点,并将所述可用服务节点与所述目标终端建立连接;
63.在各个所述可用服务节点中确定所述当前服务节点,并将除所述当前服务节点之外的至少一个可用服务节点,作为所述待切换服务节点。
64.本实施例中,通过预先生成目标虚拟机,在所述目标虚拟机上安装分布式云系统,获取所述分布式云系统的控制中心。其中,目标虚拟机包含代理机的运行,代理机可用于接收注册组件服务地址的获取请求,向所述目标虚拟机发送配置信息。同时,目标虚拟机采用所述配置信息启动所述代理机,并完成所述目标虚拟机的配置。当上位机向所述目标虚拟机发送部署指令,所述目标虚拟机基于所述部署指令,在所述目标虚拟机中安装分布式云服务系统。所述分布式云系统由一系列边缘服务点及其分布式云管理系统组成,分布式云管理系统中的融合统一计算管理模块负责对分布式云系统中各微云系统的各种资源进行统一管理和调配,同时也负责管理接入分布式云系统的终端设备的计算资源。分布式云管理系统中的控制中心用于执行下述方法。
65.具体地,在所述控制中心在接收终端发送的任务请求后,确认所述任务请求信息对应的目标服务,与任务请求虚拟机进行数据重定向连接,运行相应目标任务,最后将运行状态返回至分布式云管理系统,并将结果通过数据重定向连接返回至所述目标虚拟机。同时,所述控制中心获取边缘服务点的状态信息,用于鉴别筛选众多的边缘服务点找出更佳的服务节点供终端访问,以便提高终端的运行效率。
66.基于上述图2所示实施例,本实施例中,所述在各个边缘服务节点中确定可提供所述目标服务的可用服务节点,包括:
67.获取各个所述边缘服务节点的服务状态和服务内容,并在各个所述边缘服务节点,确定服务状态为可服务状态且服务内容与所述目标服务内容相同的服务节点,作为所
述可用服务节点。
68.本实施例中,所述服务状态包括正常状态和异常状态,检测所述服务状态的方法可以是采用定期发送心跳检测信号的方式,具体来说包括以下步骤:
69.所述边缘服务节点基于预设周期向所述控制中心发送心跳信号,检测边缘服务节点和控制中心连接是否正常;
70.若在指定时间段内所述边缘服务节点未收到对方响应,则判断当前边缘服务节点与所述控制中心连接断开,即所述边缘服务节点处于异常状态;
71.若在指定时间段内所述边缘服务节点收到对方响应,则判断当前边缘服务节点与所述控制中心连接正常连接,即所述边缘服务节点处于正常状态;
72.通过上述方法,可以在边缘服务节点中筛选出服务状态为正常的边缘服务节点。
73.同样的,边缘服务节点的服务内容可以包括语音服务、视频服务等等,搜寻所述边缘服务节点的服务内容与所述服务请求信息中的目标服务内容匹配的边缘服务节点。
74.由于边缘服务节点的状态信息是实时变化的,因此,所述边缘云服务并不是自始至终都能够向终端提供服务的,比如当终端所请求的目标服务并不包含在边缘服务节点所能提供的服务内容中,或者边缘服务节点的服务状态异常时,此时边缘服务节点就不能向终端提供服务。因此,在边缘节点接收到终端的服务请求后,需要先对自身的状态信息进行判断,以确定自身是否具备为用户提供服务的能力。筛选出可服务节点以供终端向所述目标服务节点获取服务,满足了终端快速获取服务的需求,不仅提高了终端的访问效率,还降低了分布式云系统信息存储和程序运行的成本。
75.进一步地,所述在各个所述可用服务节点中确定所述当前服务节点,并将除所述当前服务节点之外的至少一个可用服务节点,作为所述待切换服务节点之后,还包括:
76.根据各个所述待切换服务节点,生成临时业务组;
77.在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据;
78.将所述终端标识与所述有状态服务数据同步至所述临时业务组中的各个所述待切换服务节点。
79.在本实施例中,控制中心基于边缘服务点的服务内容和服务状态将当前服务节点和至少一个待切换服务节点划分至一个临时业务组中,临时业务组中的服务节点之间相互备份同步终端在任意节点上的连接状态和任务执行数据。此外,数据的差异性有两个方面,从数据层面看状态,数据的状态往往受2个维度有关,一是与时间相关或者顺序相关的,不同的操作顺序可能导致同一个时间点上的数据状态大于1个,二是与数据的副本状态相关的。也就是数据的位置,数据落在多个副本上,可能出现多种数据状态的组合。从服务层面看,服务层面的状态取决于实例是单独维护数据还是共享数据,或者说是否存在多个数据闭环让数据的流向产生了多条路径。有状态服务 (stateful service)它会在服务器本身中保存一些数据,先后的服务请求也是有关联的。在当前服务服务节点发生故障或离线时,控制中心在临时业务组中搜寻其他服务节点作为待切换服务节点,同时因为临时业务组中的数据在各节点中相互同步,所以可以将待切换服务节点作为目标服务节点,用于向终端继续提供服务。
80.由于当前服务节点和待切换服务节点的信息时时刻刻都在相互备份相互同步,所
以即使控制中心切换了节点与终端的连接,也不会导致任务信息的损耗与丢失,保障了服务获取任务的安全性。
81.进一步地,所述基于有状态服务的服务切换方法包括:
82.基于各个所述可用服务节点基于预设周期上报的ip地址、可服务信息、节点负载以及节点位置信息,生成节点数据表。
83.本实施例中,节点数据表的数据获取方式包括:
84.所述控制中心在检测到所述可用服务节点的ip地址、可服务信息、节点负载以及节点位置中至少一种发生变化时,基于更新后的ip地址、可服务信息、节点负载以及节点位置,更新所述节点数据表。
85.节点数据表可以共享其所含数据给控制中心,同时可以让可用服务节点存储ip地址、可服务信息、节点负载以及节点位置等信息,也可以让终端以各种方式通过接口查看节点数据表中的数据。另外,节点数据表对于可用服务节点信息的管理可以减少信息的冗余,维护数据的一致性。当可用服务节点基于预设周期向所述控制中心上报ip地址、可服务信息、节点负载以及节点位置信息,每一个可用服务节点的信息相互独立,保证了数据的逻辑独立性和物理独立性。
86.此外,可用服务节点的分布相对分散,其信息却基于预设周期上传至节点数据表,便于实现对可用服务节点信息的集中管理,保护了可用服务节点信息的安全。同样的,节点数据表对可用服务节点信息的管理,能够有效发现故障和修复故障,减少对节点数据表的读取和运行错误。
87.进一步地,所述根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据之前,还包括:
88.在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据,并将所述终端标识与所述有状态服务数据关联存储至数据库。
89.在本实施例中,终端标识的识别是面向分布式云网络接入提供的一种精细化管理手段,通过某些协议报文的摘要字段对终端特征进行分析提炼,识别出终端的类型、系统等信息。网络管理系统可以基于这些识别出的特征信息,对服务端进行数字化呈现、安全准入控制等。终端标识的识别方法主要分为被动指纹采集和主动扫描两大类。由于终端的标识在分布式云的场景下是唯一且固定的,所以可以在可服务节点上建立唯一与终端对应的数据库。通过获取所述终端标识与所述有状态服务数据,并将所述终端标识与所述有状态服务数据关联存储至数据库,这样可以维持信息存储的稳定。
90.进一步地,所述在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点,包括:
91.根据各个所述待切换服务节点的节点负载、节点位置以及预设权重,确定各个所述待切换服务节点的优先级;
92.根据各个所述待切换服务节点的优先级,将各个所述待切换服务节点添加至备份连接队列;
93.获取备份连接队列中的优先级最高的所述待切换服务节点,作为所述目标服务节点。
94.本实施例中,控制中心获取可服务节点的负载大小和位置数据,并分别对负载大小和位置数据进行区间划分,例如负载大小在100单位到500单位之间定为级别1;
95.将定级后的负载大小和位置数据从小到大进行优先级排列,选出负载越小,位置数据越小的可服务节点;
96.设置节点负载大小和节点位置数据对选取所述目标服务节点的影响权重;
97.根据所述影响权重利用可服务节点的负载大小和位置数据进行计算分别对可服务节点进行计算,得到各个可服务节点的计算结果,选取计算结果最小的可服务节点作为所述目标服务节点。
98.通过利用可服务节点的负载大小和位置数据对备份列队中的待切换服务节点进行量化比较,预设负载大小和位置数据的影响权重,直观的比较多个待切换服务节点的优劣,为了选出负载小,地理位置近的可服务云节点,作为目标服务节点。
99.参照图3,图3为本发明基于有状态服务的服务切换装置一实施例的功能模块示意图。
100.本实施例中,所述基于有状态服务的服务切换装置包括:
101.信息备份模块10,用于在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;
102.节点转换模块20,用于在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点;
103.同步服务模块30,用于基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。
104.进一步地,所述信息备份模块10具体包括:
105.任务识别单元,用于在接收所述目标终端的服务请求信息,获取所述服务请求信息对应的服务,作为所述目标服务;
106.连接建立单元,用于在各个边缘服务节点中确定可提供所述目标服务的可用服务节点,并将所述可用服务节点与所述目标终端建立连接;
107.可服务点分类单元,用于在各个所述可用服务节点中确定所述当前服务节点,并将除所述当前服务节点之外的至少一个可用服务节点,作为所述待切换服务节点。
108.进一步地,所述连接建立单元还用于:
109.获取各个所述边缘服务节点的服务状态和服务内容,并在各个所述边缘服务节点,确定服务状态为可服务状态且服务内容与所述目标服务内容相同的服务节点,作为所述可用服务节点。
110.进一步地,所述节点转换模块20具体包括:
111.确定转换节点单元,用于根据各个所述待切换服务节点,生成临时业务组;在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据;将所述终端标识与所述有状态服务数据同步至所述临时业务组中的各个所述待切换服务节点。
112.进一步地,所述同步服务模块30具体包括:
113.数据同步备份单元,用于在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据,并将所述终端标识与所述有状态服
务数据关联存储至数据库。
114.进一步地,所述基于分布式云的有状态服务装置还包括:
115.节点数据表生成模块,用于基于各个所述可用服务节点基于预设周期上报的ip地址、可服务信息、节点负载以及节点位置信息,生成节点数据表。
116.进一步地,所述节点转换模块20还用于:根据各个所述待切换服务节点的节点负载、节点位置以及预设权重,确定各个所述待切换服务节点的优先级;根据各个所述待切换服务节点的优先级,将各个所述待切换服务节点添加至备份连接队列;获取所述备份连接队列中的优先级最高的所述待切换服务节点,作为所述目标服务节点。
117.其中,上述基于有状态服务的服务切换装置中各个模块与上述基于有状态服务的服务切换方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
118.此外,本发明实施例还提供一种计算机可读存储介质。
119.本发明计算机可读存储介质上存储有基于有状态服务的服务切换程序,其中所述基于有状态服务的服务切换程序被处理器执行时,实现如上述的基于有状态服务的服务切换方法的步骤。
120.其中,基于有状态服务的服务切换程序被执行时所实现的方法可参照本发明基于有状态服务的服务切换方法的各个实施例,此处不再赘述。
121.要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
122.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
123.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
124.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
125.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种基于有状态服务的服务切换方法,其特征在于,所述基于有状态服务的服务切换方法包括:在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点;基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。2.根据权利要求1所述的基于有状态服务的服务切换方法,其特征在于,所述在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据之前,包括:在接收到所述目标终端的服务请求信息时,获取所述服务请求信息对应的服务,作为所述目标服务;在各个边缘服务节点中确定可提供所述目标服务的可用服务节点,并将所述可用服务节点与所述目标终端建立连接;在各个所述可用服务节点中确定所述当前服务节点,并将除所述当前服务节点之外的至少一个可用服务节点,作为所述待切换服务节点。3.根据权利要求2所述的基于有状态服务的服务切换方法,其特征在于,所述在各个边缘服务节点中确定可提供所述目标服务的可用服务节点,包括:获取各个所述边缘服务节点的服务状态和服务内容,并在各个所述边缘服务节点,确定服务状态为可服务状态且服务内容与所述目标服务内容相同的服务节点,作为所述可用服务节点。4.根据权利要求2所述的基于有状态服务的服务切换方法,其特征在于,所述在各个所述可用服务节点中确定所述当前服务节点,并将除所述当前服务节点之外的至少一个可用服务节点,作为所述待切换服务节点之后,还包括:根据各个所述待切换服务节点,生成临时业务组;在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据;将所述终端标识与所述有状态服务数据同步至所述临时业务组中的各个所述待切换服务节点。5.根据权利要求2所述的基于有状态服务的服务切换方法,其特征在于,所述基于有状态服务的服务切换方法包括:基于各个所述可用服务节点基于预设周期上报的ip地址、可服务信息、节点负载以及节点位置信息,生成节点数据表。6.根据权利要求1所述的基于有状态服务的服务切换方法,其特征在于,所述根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据之前,还包括:在检测到所述当前服务节点向所述目标终端提供所述目标服务时,获取所述终端标识与所述有状态服务数据,并将所述终端标识与所述有状态服务数据关联存储至数据库。7.根据权利要求1-6中任一项所述的基于有状态服务的服务切换方法,其特征在于,所
述在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点,包括:根据各个所述待切换服务节点的节点负载、节点位置以及预设权重,确定各个所述待切换服务节点的优先级;根据各个所述待切换服务节点的优先级,将各个所述待切换服务节点添加至备份连接队列;获取所述备份连接队列中的优先级最高的所述待切换服务节点,作为所述目标服务节点。8.一种基于有状态服务的服务切换装置,其特征在于,所述基于有状态服务的服务切换装置包括:信息备份模块,用于在当前服务节点故障或离线时,根据目标终端的终端标识,获取所述当前服务节点向所述目标终端提供目标服务的有状态服务数据;节点转换模块,用于在与所述目标终端连接的至少一个待切换服务节点中,确定目标服务节点;同步服务模块,用于基于所述有状态服务数据,将所述当前服务节点切换为所述目标服务节点,并通过所述目标服务节点向所述目标终端继续提供所述目标服务。9.一种基于有状态服务的服务切换终端,其特征在于,所述基于有状态服务的服务切换终端包括处理器和存储器,所述存储器存储有基于有状态服务的服务切换程序,所述基于有状态服务的服务切换程序被所述处理器执行时,实现如权利要求1至7中任一项所述的基于有状态服务的服务切换方法的步骤。10.一种可读存储介质,其特征在于,所述可读存储介质上存储有基于有状态服务的服务切换程序,其中所述基于有状态服务的服务切换程序被处理器执行时,实现如权利要求1至7中任一项所述的基于有状态服务的服务切换方法的步骤。

技术总结
本申请提供了一种基于有状态服务的服务切换方法、装置、终端及存储介质,所述方法包括:在当前服务节点故障或离线时,根据目标终端的终端标识以及当前服务节点向目标终端提供目标服务的有状态服务数据;将所述当前服务节点切换与所述目标终端连接的目标服务节点。由此,通过分布式云系统基于各个边缘服务节点的状态信息,与所述终端建立连接队列。在当前服务节点故障或离线时,搜寻连接队列中其他可服务节点信息,快速切换至其他服务节点,满足了所述终端能够继续获取目标服务的需求,不仅提高了服务任务执行效率,而且保证了服务节点的切换不会带来任务数据信息的丢失。的切换不会带来任务数据信息的丢失。的切换不会带来任务数据信息的丢失。


技术研发人员:杨勇
受保护的技术使用者:亿点云计算(珠海)有限公司
技术研发日:2022.05.19
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-5899.html

最新回复(0)