CN115361271A - Ssh服务器切换与连接方法、云端服务器及存储介质 - Google Patents

Ssh服务器切换与连接方法、云端服务器及存储介质 Download PDF

Info

Publication number
CN115361271A
CN115361271A CN202210889970.6A CN202210889970A CN115361271A CN 115361271 A CN115361271 A CN 115361271A CN 202210889970 A CN202210889970 A CN 202210889970A CN 115361271 A CN115361271 A CN 115361271A
Authority
CN
China
Prior art keywords
ssh server
server
ssh
terminal
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210889970.6A
Other languages
English (en)
Other versions
CN115361271B (zh
Inventor
姚仁捷
许义星
赵建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Grandstream Networks Technologies Co ltd
Original Assignee
Shenzhen Grandstream Networks Technologies Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Grandstream Networks Technologies Co ltd filed Critical Shenzhen Grandstream Networks Technologies Co ltd
Priority to CN202210889970.6A priority Critical patent/CN115361271B/zh
Publication of CN115361271A publication Critical patent/CN115361271A/zh
Application granted granted Critical
Publication of CN115361271B publication Critical patent/CN115361271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例涉及通信技术领域,公开了一种SSH服务器切换与连接方法、云端服务器及存储介质,应用于云端服务器,为终端分配SSH服务器。方法包括:接收多个终端用于获取SSH服务器信息的再次链接请求,其中,多个终端先前连接第一SSH服务器;通过创建的线程池中的多个线程,异步处理获取的多个终端的再次链接请求,其中,线程用于根据再次链接请求,从SSH服务器集群中选择可用的第二SSH服务器,第二SSH服务器与第一SSH服务器属于同一区域;将各线程选择的各第二SSH服务器信息返回与线程对应的终端,供终端将所连接的SSH服务器由第一SSH服务器切换至第二SSH服务器。可以高效地为终端分配服务器,并使终端在服务器宕机时快速切换链接,提高服务器集群的稳定性。

Description

SSH服务器切换与连接方法、云端服务器及存储介质
技术领域
本发明实施例涉及通信技术领域,特别涉及一种SSH服务器切换与连接方法、云端服务器及存储介质。
背景技术
SSH(Secure Shell)是一种加密的网络安全协议,建立在应用层基础上,为远程登录会话和其他网络服务提供安全性。SSH最初为Linux系统的一个程序,后来扩展到其他操作平台,在正确使用时可有效弥补网络中的漏洞,确保信息安全。包括HP-UX、Linux、Solaris、Digital Unix和Irix等几乎所有平台都可运行SSH。服务器集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、 Web服务和文件服务等)的单一客户视图。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互连,每个群集节点都是运行其自己进程的独立服务器,作为一个整体向用户提供一组网络资源。
为使终端接入云端使用,基于SSH协议,需要在云端架设Linux隧道服务器集群,即SSH 服务器集群,终端采用反向SSH隧道技术连接SSH服务器,隧道上承载了大量的音视频消息交互,需要保证SSH服务器集群的稳定性,以保证终端业务能流畅进行。
但对于SSH服务器集群,没有一种保证集群稳定性的方案,尤其是在SSH服务器宕机或承载能力不足时,连接这一SSH服务器的所有终端都需要切换SSH服务器,导致无法快速完成服务器切换,终端的使用会受到很大影响。
发明内容
本发明实施方式的目的在于提供一种SSH服务器切换与连接方法,使得终端连接的SSH 服务器宕机或承载能力不足时,能够快速从集群中选择可用的SSH服务器并切换,从而保证终端的正常使用与SSH服务器集群的稳定性。
为解决上述技术问题,本发明的实施方式提供了一种SSH服务器切换与连接方法,应用于为终端分配SSH服务器的云端服务器,所述方法包括:
接收多个所述终端用于获取SSH服务器信息的再次链接请求,其中,多个所述终端先前连接第一SSH服务器;
通过创建的线程池中的多个线程,异步处理获取的多个所述终端的再次链接请求,其中,所述线程用于根据所述再次链接请求,从SSH服务器集群中选择可用的第二SSH服务器,所述第二SSH服务器与所述第一SSH服务器属于同一区域;
将各所述线程选择的各所述第二SSH服务器信息返回与所述线程对应的所述终端,供所述终端基于返回的所述第二SSH服务器信息,将所连接的SSH服务器由所述第一SSH服务器切换至所述第二SSH服务器。
本发明的实施方式还提供了一种云端服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一所述的SSH服务器切换与连接方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的SSH服务器切换与连接方法。
本发明实施方式相对于现有技术而言,在接收到的来自终端的链接请求的并发量较大时,通过线程池中的线程对链接请求进行异步处理,根据请求动态地从SSH服务器集群中选择可用且与终端连接的原SSH服务器属于同一区域的SSH服务器,既能确保每个链接请求的处理过程的准确性,也由于在线程池中同时处理了大量链接请求,并且对于每个链接请求优先选择与原SSH服务器同一区域的可用SSH服务器,从而能够快速完成所有链接请求的处理,确保在SSH服务器宕机或承载能力不足的情况下,及时向终端返回可用的SSH服务器,使终端能够快速切换服务器链接,提高了SSH服务器集群的稳定性,减小服务器切换对终端业务的影响。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明的实施方式提供的SSH服务器切换与连接方法的流程图;
图2是根据本发明的实施方式提供的终端为局域网音视频会议服务器时的SSH服务器切换与连接方法的流程图;
图3是根据本发明的实施方式提供的终端为局域网音视频会议服务器的服务器架构示意图;
图4是根据本发明的实施方式提供的云端服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的一个实施方式涉及一种SSH服务器切换与连接方法,应用于云端服务器,云端服务器用于为终端分配SSH服务器。在本实施方式中,接收多个终端重发的用于获取可用SSH 服务器信息的链接请求,其中,所述多个终端连接的原SSH服务器为同一SSH服务器;通过创建的线程池中的多个线程异步处理获取的所述多个终端的链接请求;其中,所述线程用于根据所述链接请求从SSH服务器集群中选择可用且与所述原SSH服务器属于同一区域的 SSH服务器;将各所述线程选择的所述SSH服务器信息返回终端,供所述终端基于返回的 SSH服务器信息切换与SSH服务器的反向SSH连接。本发明的实施方式在SSH服务器集群中的某个SSH服务器不可用时,能够快速处理服务器连接的终端的请求,动态地为终端选择可用SSH服务器,供终端快速进行服务器切换,有效提高SSH服务器集群的稳定性。
下面对本实施方式的SSH服务器切换与连接方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施方式的具体流程如图1所示,本实施方式应用于云端服务器。
S101、接收多个所述终端用于获取SSH服务器信息的再次链接请求,其中,多个所述终端先前连接第一SSH服务器。
具体地说,SSH服务器集群中包含多个SSH服务器,每个SSH服务器承载多个终端。在本实施方式中,终端通过SSH隧道技术连接SSH服务器,即终端通过建立对SSH服务器的反向SSH隧道,访问SSH服务器的端口,以访问SSH服务器。隧道是一种把一种网络协议封装进另外一种网络协议进行传输的技术。基于SSH网络协议建立隧道时,SSH隧道通常会绑定一个本地端口,所有发向这个端口的数据包,都会被加密并透明地传输到远端系统。反向SSH隧道允许使用已建立的连接来建立从本地计算机到远程计算机的新连接。
在单台SSH服务器宕机或承载能力达到瓶颈后,即第一SSH服务器宕机或承载能力达到上限,第一SSH服务器承载的所有终端都会向云端服务器发送再次链接请求,用来获取新的可用SSH服务器信息。
在一个例子中,SSH服务器信息包括可用SSH服务器的账号、密码和端口等。
在一个例子中,云端服务器可以为Java服务器。
S102、通过创建的线程池中的多个线程,异步处理获取的多个所述终端的再次链接请求,其中,所述线程用于根据所述再次链接请求,从SSH服务器集群中选择可用的第二SSH服务器,所述第二SSH服务器与所述第一SSH服务器属于同一区域。
具体地说,由于多台终端会同时向云端服务器发送再次链接请求,请求的并发量很大。在大并发量的情形下,为了使云端服务器和SSH服务器集群保持稳定并使终端快速完成服务器切换,开辟线程池并在线程池中异步处理所有再次链接请求。
多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。线程池作用包括限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果,可用线程数量应该取决于可用的并发处理器、处理器内核和内存等。
在一个例子中,线程池包含的线程数可取CPU数量加2。
在一个例子中,云端服务器为Java服务器。基于Java服务器可以实现多种类型的线程池,例如:
newFixedThreadExecutor(n):固定数量的线程池,每有一个处理任务就使用一个线程,直到达到线程池的最大数量,后续任务在前面的任务完成后才继续执行;
newCacheThreadExecutor:可缓存线程池,当线程池大小超过了处理任务所需的线程,就会回收部分空闲(一般是60秒无执行)的线程,当有任务时,智能添加新线程来执行;
newScheduleThreadExecutor:大小无限制的线程池,支持定时和周期性的执行线程。
本领域人员可以理解,可以根据实际情况设置线程池类型与线程数量,在此不再赘述。
在本实施方式中,线程池中线程的任务即为来自终端的再次链接请求,根据每个再次链接请求从SSH服务器集群中选择可用的SSH服务器,作为第二SSH服务器。为了使请求处理的速度更快,获取与终端原连接的SSH服务器属于同一区域的SSH服务器。
S103、将各所述线程选择的各所述第二SSH服务器信息返回与所述线程对应的所述终端,供所述终端基于返回的所述第二SSH服务器信息,将所连接的SSH服务器由所述第一SSH 服务器切换至所述第二SSH服务器。
具体地说,对于每个终端的再次链接请求,在线程中处理后将获得可用的第二SSH服务器信息,云端服务器将第二SSH服务器信息返回终端,基于这一信息,终端可通过反向SSH 隧道技术建立与第二SSH服务器的链接,完成服务器切换,保证终端业务正常进行。
在本实施方式中,在SSH服务器宕机或承载能力不足时,能够异步处理多个终端的重新获取可连接的服务器的请求,根据请求从SSH服务器集群中动态选择可用的SSH服务器,确保终端能够快速切换服务器链接,提高了SSH服务器集群的稳定性,避免单个服务器的问题对终端业务的正常进行造成过大影响。
在一个例子中,发起链接请求的终端可以是局域网音视频会议服务器,在终端为局域网音视频会议服务器的情况下,本发明的实施方式的SSH服务器切换与连接方法具体流程如图 2所示。
为使局域网音视频会议服务器(UCM)接入云端使用,采用反向SSH隧道技术使UCM连接SSH服务器。但在UCM连接的服务器宕机或者承载能力不足时,根据背景技术并不能快速将UCM切换到其他可用的SSH服务器,以至于业务中断,客户在终端进行的音视频会议受到较大影响,即信息不能及时传达,UCM所有连接的终端也将无法进行音视频会议。具体流程如下:
S201、接收所述终端首次发送的用于获取SSH服务器信息的首次链接请求。
在本实施方式中,终端为UCM,云端服务器为Java服务器。Java服务器接收UCM发送的首次链接请求,请求为HTTP请求,用于获取首次连接SSH服务器所需的必要信息,包括可用SSH服务器的账号、密码和端口等。
S202、判断所述终端所在区域,根据所述首次链接请求和所述区域从所述SSH服务器集群中选择可用的第三SSH服务器。
具体地说,Java服务器在接收到HTTP请求后,首先判断UCM所在位置。
在一个例子中,Java服务器通过UCM的公网IP地址判断UCM所在的具体位置。
在获取UCM的位置后,Java服务器根据UCM所在位置,就近从SSH服务器集群中的某个区域的服务器中选择一台服务器作为可用SSH服务器,即第三SSH服务器。
在一个例子中,UCM的公网IP地址显示UCM位于中国香港,则Java服务器首先从SSH服务器集群中位于中国香港地区的SSH服务器中选择可用的服务器。例如,可通过DNS解析等手段使UCM在访问时指向距离最近的SSH服务器。
S203、将所述第三SSH服务器信息返回所述终端,供所述终端基于返回的所述第三SSH 服务器信息,连接所述第三SSH服务器。
具体地说,Java服务器将与链接请求相对应的可用第三SSH服务器信息返回UCM,UCM 即可根据信息与第三SSH服务器建立反向SSH隧道链接,成功访问SSH服务器。
S204、接收多个所述终端用于获取SSH服务器信息的再次链接请求,其中,多个所述终端先前连接第一SSH服务器。
在本实施方式中,当某台SSH服务器负载过高或出现宕机,UCM会断开与这台SSH服务器的反向SSH隧道链接,并重新向Java服务器发送再次链接请求,请求为HTTP请求,用于获取再次连接SSH服务器所需的必要信息,包括可用SSH服务器的账号、密码和端口等。
在一个例子中,若Java服务器接收到单个UCM重发的用于获取可用SSH服务器信息的再次链接请求后,首先向此UCM连接的原SSH服务器发送用于获取SSH服务器状态参数的检测请求,并根据原SSH服务器对检测请求的响应,检测原SSH服务器是否可用。例如,检测请求可为HTTP形式的请求,用于获取SSH服务器状态参数,包括服务器内存、链接数和CPU占用率等,若Java服务器10秒未收到HTTP请求的响应信息,则判断原SSH服务器不可用。在原SHH服务器不可用的情况下,根据单个UCM的链接请求从SSH服务器集群中选择可用且与所述原SSH服务器属于同一区域的SSH服务器,并返回选择的SSH服务器信息至单个UCM,供UCM基于返回的SSH服务器信息切换与SSH服务器的反向SSH连接。例如,若同一个区域中有多台SSH服务器,则分别对每个服务器进行检测,根据检测结果选择一台最优的SSH服务器,将其信息返回UCM。
在一个例子中,在单台SSH服务器宕机或承载能力达到瓶颈后,这台SSH服务器承载的所有UCM都会向Java服务器发送再次链接请求,用来获取新的可用SSH服务器信息。Java 服务器同时接收到多个UCM重发的再次链接请求,请求可为HTTP形式的请求。
S205、通过创建的线程池中的多个线程,异步处理获取的多个所述终端的再次链接请求,其中,所述线程用于根据所述再次链接请求,从SSH服务器集群中选择可用的第二SSH服务器,所述第二SSH服务器与所述第一SSH服务器属于同一区域。
在本实施方式中,通过创建的线程池中的线程异步处理多个UCM的再次链接请求。对于每个再次链接请求,选择可用SSH服务器。具体地说,Java服务器在接收到多个UCM重发的再次链接请求后,将所有再次链接请求,即与SSH服务器之间的所有HTTP通信内容在消息队列(Redis)中进行缓存,随后开辟一个线程池,从消息队列中获取再次链接请求,随后通过创建的线程池中的各线程异步处理再次链接请求。根据每个再次链接请求从SSH服务器集群中选择可用的SSH服务器。为了使请求处理的速度更快,获取与UCM原连接的SSH 服务器属于同一区域的SSH服务器。
另外,由于网络异常或其他异常,有可能导致某个请求处理失败,此时将处理失败的再次链接请求重新缓存至消息队列等待重新处理。在线程中处理完成再次链接请求时,会继续从消息队列中获取待处理的再次链接请求加入线程,直至消息队列中全部再次链接请求被处理完成。也就是说,对于处理失败的再次链接请求,会进行重试直至获取正确的处理结果。
另外,在每次从SSH服务器集群中选择可用SSH服务器时,Java服务器均会首先将再次链接请求发送至与原SSH服务器属于同一区域的候选SSH服务器,获取所述候选SSH服务器的用于表征承载能力的状态参数,包括服务器的内存、链接数、CPU占用率等。如果状态参数的某一项超过预设阈值,则Java判断这一SSH服务器不可用,继续检测并选择其他的SSH服务器。例如,可设置CPU占用率的阈值为80%,Java服务器在检测到候选SSH服务器的CPU占用率以超过80%时,将判断服务器不可用。
另外,若SSH服务器集群中的未宕机的SSH服务器均达到承载能力阈值,无可用SSH服务器,还将自动启用一台备用的SSH服务器,作为可用SSH服务器分配给UCM。
S206、将各所述线程选择的各所述第二SSH服务器信息返回与所述线程对应的所述终端,供所述终端基于返回的所述第二SSH服务器信息,将所连接的SSH服务器由所述第一SSH 服务器切换至所述第二SSH服务器。
在本实施方式中,Java服务器根据各个链接请求在线程中的处理结果,将可用的第二SSH 信息返回对应的UCM,UCM根据返回的信息重新建立反向SSH隧道链接,完成SSH服务器的快速切换。可用SSH服务器信息包括可用SSH服务器的账号、密码和端口等。
上述针对局域网音视频会议服务器的SSH服务器切换与连接方法中,各个服务器的架构如图3所示。其中,Java服务器作为云端服务器,用于处理UCM的链接请求,与SSH服务器集群进行交互并筛选出合适的可用SSH服务器,以及将可用SSH服务器信息返回UCM,供UCM与可用SSH服务器建立反向SSH隧道链接。当UCM连接的SSH服务器宕机或承载能力达到上限时,Java服务器会通过线程池和消息队列快速将新的可用SSH服务器信息返回 USM,并在无可用SSH服务器时,自动启用一台备用的SSH服务器,使UCM快速完成服务器切换。
本实施方式相对于现有技术而言,可以确保动态为局域网音视频会议服务器UCM分配合适的SSH服务器建立连接,并且在SSH服务器宕机或出现故障时能快速进行服务器切换,使UCM快速连接到其他可用SSH服务器,保证了SSH服务器集群的稳定性,减小服务器的切换和连接等对UCM音视频会议的影响。由于在分配服务器时预先进行了检测,能够保证分配给UCM的服务器是网络条件和负载情况等最优的服务器,进一步避免对用户体验的不利影响。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的实施方式还涉及一种云端服务器,如图4所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的SSH服务器切换与连接方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
本发明的实施方式还涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种SSH服务器切换与连接方法,其特征在于,应用于为终端分配SSH服务器的云端服务器,所述方法包括:
接收多个所述终端用于获取SSH服务器信息的再次链接请求,其中,多个所述终端先前连接第一SSH服务器;
通过创建的线程池中的多个线程,异步处理获取的多个所述终端的再次链接请求,其中,所述线程用于根据所述再次链接请求,从SSH服务器集群中选择可用的第二SSH服务器,所述第二SSH服务器与所述第一SSH服务器属于同一区域;
将各所述线程选择的各所述第二SSH服务器信息返回与所述线程对应的所述终端,供所述终端基于返回的所述第二SSH服务器信息,将所连接的SSH服务器由所述第一SSH服务器切换至所述第二SSH服务器。
2.根据权利要求1所述的SSH服务器切换与连接方法,其特征在于,所述方法还包括:
在所述接收多个所述终端用于获取SSH服务器信息的再次链接请求后,将多个所述终端的所述再次链接请求缓存入消息队列;
所述通过创建的线程池中的多个线程,异步处理获取的多个所述终端的再次链接请求,包括:
从所述消息队列中获取所述再次链接请求,并通过创建的线程池中的各线程异步处理获取的所述再次链接请求;
在所述线程处理获取的所述再次链接请求失败的情况下,将处理失败的所述再次链接请求重新缓存至所述消息队列;
其中,所述线程还用于在完成所述再次链接请求的处理后,从所述消息队列中获取待处理的所述再次链接请求。
3.根据权利要求2所述的SSH服务器切换与连接方法,其特征在于,所述根据所述再次链接请求,从SSH服务器集群中选择可用的第二SSH服务器,所述第二SSH服务器与所述第一SSH服务器属于同一区域,包括:
将所述再次链接请求发送至所述SSH服务器集群中与所述第一SSH服务器属于同一区域的候选SSH服务器,获取所述候选SSH服务器的用于表征承载能力的状态参数;
根据所述状态参数选择所述第二SSH服务器。
4.根据权利要求3所述的SSH服务器切换与连接方法,其特征在于,所述状态参数包括:服务器的内存、链接数和CPU占用率中的至少一个;
所述根据所述状态参数选择所述第二SSH服务器,包括:
将所述状态参数与预设阈值进行比较,并将所述状态参数均未超过所述预设阈值的SSH服务器作为所述第二SSH服务器。
5.根据权利要1至4中任一所述的SSH服务器切换与连接方法,其特征在于,所述终端与所述SSH服务器通过反向SSH隧道链接相连接;
所述SSH服务器信息包括:SSH服务器的账号、密码和端口中的至少一个;
所述云端服务器为Java服务器,具有HTTP接口;
所述云端服务器和所述SSH服务器采用HTTP协议进行通信。
6.根据权利要求1所述的SSH服务器切换与连接方法,其特征在于,所述方法还包括:
在接收到单个所述终端用于获取SSH服务器信息的再次链接请求后,向所述终端先前连接的所述第一SSH服务器发送用于获取SSH服务器状态参数的检测请求;
根据所述第一SSH服务器对所述检测请求的响应,检测所述第一SSH服务器是否可用;其中,所述状态参数包括服务器的内存、链接数和CPU占用率中的至少一个;
在所述第一SSH服务器不可用的情况下,根据所述终端的再次链接请求,从SSH服务器集群中选择可用的所述第二SSH服务器,所述第二SSH服务器与所述第一SSH服务器属于同一区域;
将选择的所述第二SSH服务器信息返回所述终端,供所述终端基于返回的所述第二SSH服务器信息,将所连接的SSH服务器由所述第一SSH服务器切换至所述第二SSH服务器。
7.根据权利要求1所述的SSH服务器切换与连接方法,其特征在于,所述根据所述再次链接请求,从SSH服务器集群中选择可用的第二SSH服务器,所述第二SSH服务器与所述第一SSH服务器属于同一区域,还包括:
若所述SSH服务器集群无可用的所述第二SSH服务器,则自动启用一台备用SSH服务器,作为所述第二SSH服务器。
8.根据权利要求1所述的SSH服务器切换与连接方法,其特征在于,所述接收多个所述终端用于获取SSH服务器信息的再次链接请求前,所述方法还包括:
接收所述终端首次发送的用于获取SSH服务器信息的首次链接请求;
判断所述终端所在区域,根据所述首次链接请求和所述区域从所述SSH服务器集群中选择可用的第三SSH服务器;
将所述第三SSH服务器信息返回所述终端,供所述终端基于返回的所述第三SSH服务器信息,连接所述第三SSH服务器。
9.一种云端服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一所述的SSH服务器切换与连接方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一所述的SSH服务器切换与连接方法。
CN202210889970.6A 2022-07-27 2022-07-27 Ssh服务器切换与连接方法、云端服务器及存储介质 Active CN115361271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210889970.6A CN115361271B (zh) 2022-07-27 2022-07-27 Ssh服务器切换与连接方法、云端服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210889970.6A CN115361271B (zh) 2022-07-27 2022-07-27 Ssh服务器切换与连接方法、云端服务器及存储介质

Publications (2)

Publication Number Publication Date
CN115361271A true CN115361271A (zh) 2022-11-18
CN115361271B CN115361271B (zh) 2024-07-26

Family

ID=84031090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210889970.6A Active CN115361271B (zh) 2022-07-27 2022-07-27 Ssh服务器切换与连接方法、云端服务器及存储介质

Country Status (1)

Country Link
CN (1) CN115361271B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169497A1 (en) * 2008-12-31 2010-07-01 Sap Ag Systems and methods for integrating local systems with cloud computing resources
CN103327549A (zh) * 2012-03-23 2013-09-25 中兴通讯股份有限公司 接入网切换方法及系统、移动终端、链路管理服务器
US20170034192A1 (en) * 2015-07-28 2017-02-02 Sap Se Contextual monitoring and tracking of ssh sessions
CN106817418A (zh) * 2017-01-20 2017-06-09 网易(杭州)网络有限公司 应用服务器进程的操作方法及装置
CN109634738A (zh) * 2018-10-19 2019-04-16 深圳平安财富宝投资咨询有限公司 基于微服务的异步处理方法、服务器、存储介质及装置
CN111949402A (zh) * 2020-08-05 2020-11-17 中国建设银行股份有限公司 数据库请求处理方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169497A1 (en) * 2008-12-31 2010-07-01 Sap Ag Systems and methods for integrating local systems with cloud computing resources
CN103327549A (zh) * 2012-03-23 2013-09-25 中兴通讯股份有限公司 接入网切换方法及系统、移动终端、链路管理服务器
US20170034192A1 (en) * 2015-07-28 2017-02-02 Sap Se Contextual monitoring and tracking of ssh sessions
CN106817418A (zh) * 2017-01-20 2017-06-09 网易(杭州)网络有限公司 应用服务器进程的操作方法及装置
CN109634738A (zh) * 2018-10-19 2019-04-16 深圳平安财富宝投资咨询有限公司 基于微服务的异步处理方法、服务器、存储介质及装置
CN111949402A (zh) * 2020-08-05 2020-11-17 中国建设银行股份有限公司 数据库请求处理方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
袁文斌: ""基于SSH的服务调解系统安全通道的设计及实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 June 2014 (2014-06-15) *

Also Published As

Publication number Publication date
CN115361271B (zh) 2024-07-26

Similar Documents

Publication Publication Date Title
US11777790B2 (en) Communications methods and apparatus for migrating a network interface and/or IP address from one Pod to another Pod in a Kubernetes system
JP6600373B2 (ja) トラフィックディレクタ環境におけるトラフィックのアクティブ−パッシブルーティングおよび制御のためのシステムおよび方法
US8190740B2 (en) Systems and methods for dynamically provisioning cloud computing resources
WO2016184175A1 (zh) 数据库处理方法及装置
US20060167883A1 (en) System and method for the optimization of database acess in data base networks
WO2007073429A2 (en) Distributed and replicated sessions on computing grids
US8458702B1 (en) Method for implementing user space up-calls on java virtual machine before/after garbage collection
US11314559B2 (en) Method for balanced scale out of resources in distributed and collaborative container platform environment
CN112559461A (zh) 文件传输方法及装置、存储介质及电子设备
WO2020252724A1 (zh) 日志处理方法、设备及计算机可读存储介质
WO2024183352A1 (zh) 5g网络中udr进行用户数据管理的方法及系统
WO2024078050A1 (zh) 进行数据传输的方法和装置
KR20160025926A (ko) 가상 응용서버들로 부하를 분산하는 장치 및 방법
CN115361271B (zh) Ssh服务器切换与连接方法、云端服务器及存储介质
CN113873008B (zh) 一种rdma网络节点的连接重配方法、装置、系统及介质
CN113535402A (zh) 基于5g mec的负载均衡处理方法、装置及电子设备
CN111064636B (zh) 前置机连接的控制方法、装置、系统、计算机设备
US10778585B1 (en) Connection and application state migration for uninterrupted service availability
CN111490997A (zh) 任务处理方法、代理系统、服务系统和电子设备
US11442943B1 (en) Error-causing record isolation for data stream processing
CN114945023B (zh) 一种网络连接复用方法、装置、设备及介质
JP2003016044A (ja) 負荷分散システム及び負荷分散方法及びプログラム
KR20060060384A (ko) 이동통신 시스템에서의 로딩 시스템 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant