CN116962488B - 建立云服务连接的方法、装置、电子设备和可读介质 - Google Patents
建立云服务连接的方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN116962488B CN116962488B CN202311201525.7A CN202311201525A CN116962488B CN 116962488 B CN116962488 B CN 116962488B CN 202311201525 A CN202311201525 A CN 202311201525A CN 116962488 B CN116962488 B CN 116962488B
- Authority
- CN
- China
- Prior art keywords
- cloud service
- client
- communication
- connection
- user
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 465
- 238000004891 communication Methods 0.000 claims abstract description 523
- 230000008569 process Effects 0.000 claims abstract description 404
- 238000011084 recovery Methods 0.000 claims abstract description 62
- 238000012790 confirmation Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000007670 refining Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
一种建立云服务连接的方法、装置、电子设备和可读介质。该方法包括:侦听云服务的通信端口,通信端口是在客户端与云服务的云服务进程之间的历史通信中使用的端口;若通过通信端口接收到客户端的云服务恢复请求,则通过通信端口建立与客户端之间的用户通信连接;根据通信端口所对应的云服务地址,向云服务发送进程恢复请求,以在云服务中恢复处于终止态的云服务进程,并获得云服务进程恢复后的连接地址;根据所获得的连接地址,建立与云服务进程之间的云服务通信连接,以通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。该方法能够避免连接服务时重试次数过多导致的连接失败,提高云服务的稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种建立云服务连接的方法、装置、电子设备和可读介质。
背景技术
在无服务数据库应用等云服务的服务过程中,云服务进程会在没有用户连接时被终止,其所占用的计算资源会被操作系统回收,在用户请求使用云服务时再回复云服务进行来向用户提供服务。
在相关技术中,当客户端请求连接云服务进程时,云服务会先拒绝该链接请求并开始恢复云服务进程,在进程恢复后再与客户端建立云服务连接。
然而,上述方案中,在云服务进程恢复的过程中需要不断重试请求直至可以与云服务应用成功建立连接,重试期间的所有请求均会失败,重试失败的次数过多可能会导致客户端判断请求连接云服务过程失败,影响云服务的稳定性。
发明内容
基于上述技术问题,本申请提供一种建立云服务连接的方法、装置、电子设备和可读介质,以避免连接服务时重试次数过多导致的连接失败,提高云服务的稳定性。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种建立云服务连接的方法,包括:
侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口;
若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接;
根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址;
根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
根据本申请实施例的一个方面,提供一种建立云服务连接的装置,包括:
端口侦听单元,配置成侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口;
用户连接单元,配置成若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接;
请求发送单元,配置成根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址;
服务连接单元,配置成根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
在本申请的一些实施例中,基于以上技术方案,请求发送单元还配置成:通过所述用户通信连接,向所述客户端发送类型确认请求,以获取所述客户端的客户端应用类型;接收所述客户端针对所述类型确认请求反馈的客户端应用类型;若所述客户端应用类型不符合所述云服务客户端应用的应用类型,则断开与所述客户端之间的用户通信连接。
在本申请的一些实施例中,基于以上技术方案,请求发送单元具体配置成:根据所述通信端口的端口标识,获取所述通信端口对应的通信描述信息,所述通信描述信息中包含所述端口标识、所述云服务的云服务地址、所述云服务进程的进程地址和所述客户端在所述云服务中的账户标识;若所述云服务地址中的进程地址为空,则根据所述账户标识和所述云服务地址,向所述云服务发送进程恢复请求。
在本申请的一些实施例中,基于以上技术方案,用户连接单元还配置成:当所述用户通信连接断开时,获取所述用户通信连接中通信端口的端口标识、所述云服务地址的进程地址和所述账户标识;根据所获得的端口标识和进程地址,更新所述账户标识对应的通信描述信息。
在本申请的一些实施例中,基于以上技术方案,服务连接单元还配置成:当所述客户端与所述云服务进程之间的服务通信连接断开时,获取所述客户端在所述云服务中的账户标识;若不存在对应于所述账户标识对应的通信描述信息,则根据所述服务通信连接中通信端口的端口标识、所述云服务地址的进程地址、所述云服务的云服务地址和所述账户标识,创建对应于所述账户标识的通信描述信息。
在本申请的一些实施例中,基于以上技术方案,服务连接单元还配置成:通过所述云服务通信连接接收所述云服务进程发送的鉴权请求,所述鉴权请求中包含鉴权加密信息;通过所述用户通信连接将所述鉴权请求转发到所述客户端,并接收所述客户端发送的鉴权信息,所述鉴权信息中包含根据所述鉴权加密信息和用户密钥生成的加密结果;通过所述云服务通信连接向所述云服务发送所述加密结果,以根据所述加密结果对所述客户端进行鉴权。
在本申请的一些实施例中,基于以上技术方案,服务连接单元还配置成:通过所述用户通信连接,接收所述客户端发送的数据获取请求;通过所述云服务通信连接向所述云服务进程转发所述数据获取请求并接收所述云服务进程针对所述数据获取请求发送的数据响应;通过所述用户通信连接,向所述客户端发送所述数据响应。
在本申请的一些实施例中,基于以上技术方案,所述云服务的通信端口包含N个子通信端口,所述N为大于或等于2的整数;所述端口侦听单元具体配置成:侦听云服务的N个子通信端口,所述N个子通信端口是在N个客户端分别与所述云服务中对应的N个云服务进程之间的历史通信中使用的端口;
服务连接单元还配置成:若通过所述M个子通信端口分别接收到所述M个客户端的云服务恢复请求,则分别通过所述M个子通信端口建立与所述M个客户端之间的M个用户通信连接,所述M为大于或等于2并且小于或等于所述N的整数;根据所述M个子通信端口所对应的云服务地址,分别向所述云服务发送对应于各个云服务恢复请求的进程恢复请求,以在所述云服务中恢复处于终止态的M个云服务进程,并获得所述M个云服务进程恢复后的连接地址;根据所获得的M个连接地址,分别建立与所述M个云服务进程之间的M个云服务通信连接,以通过所述M个用户通信连接和所述M个云服务通信连接分别建立所述M个客户端与所述M个云服务进程之间的通信连接。
在本申请的一些实施例中,基于以上技术方案,服务连接单元还配置成:接收所述云服务发送的端口更新消息,所述端口更新消息是根据所述云服务创建新云服务进程生成的,所述端口更新消息中包含客户端与所述新云服务进程之间通信端口的端口标识;根据所述端口更新消息中的端口标识,更新子通信端口的数量。
在本申请的一些实施例中,基于以上技术方案,请求发送单元还配置成:通过所述用户通信连接,向所述客户端发送类型确认请求,所述类型确认请求中携带所述云服务客户端应用的应用类型;若接收到针对所述类型确认请求中应用类型的确认消息,则继续执行根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求的步骤;若在预设时间内未接收到所述客户端针对所述类型确认请求的反馈消息或者接收到针对所述类型确认请求中应用类型的否认消息,则断开与所述客户端之间的用户通信连接。
在本申请的一些实施例中,基于以上技术方案,服务连接单元还配置成:当所述用户通信连接断开时,向所述云服务发送针对于所述云服务进程的进程终止消息,以将所述云服务进程切换到终止态;根据针对所述进程终止消息反馈的进程终止结果,断开所述云服务通信连接。
根据本申请实施例的一个方面,提供一种电子设备,该电子提示设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中的建立云服务连接的方法。
根据本申请实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的建立云服务连接的方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的建立云服务连接的方法。
在本申请的实施例中,用户连接感知单元侦听云服务的通信端口,如果通过通信端口接收到客户端的云服务恢复请求,则通过通信端口建立与客户端之间的用户通信连接,随后,根据该通信端口所对应的云服务地址,向云服务请求恢复属于该客户端的处于终止态的云服务进程,并且与恢复后的云服务进程恢复建立云服务通信连接,从而通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。通过上述的方式,在客户端请求与被终止的云服务进程建立通信连接时,客户端发起的连接请求在第一次到达服务器侧时就得到应答,而不再需要失败后反复尝试,避免重试次数过多导致的连接失败,提高云服务的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请技术方案在一个应用场景中的示例性系统构架示意图。
图2是根据本申请的一个实施例的建立云服务连接的方法的流程图。
图3是根据本申请的一个实施例的建立云服务连接的方法的流程图。
图4是根据本申请的一个实施例的建立云服务连接的方法的流程图。
图5是根据本申请的一个实施例的建立云服务连接的方法的流程图。
图6是根据本申请的一个实施例的建立云服务连接的方法的流程图。
图7是本申请的方案应用在建立数据库连接中的示意性流程图。
图8示意性地示出了本申请实施例中建立云服务连接的装置的组成框图。
图9示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,本申请的方案可以应用于实现无服务的云服务中,并且将具体应用在无服务数据库、云虚拟主机或者云容器等应用中。具体地,在此类场景中,当客户端与云服务上的云服务进程断开连接后,该云服务就会被终止,云服务系统回收该进程所占有的资源以用于其他服务。当客户端再次请求与云服务进程连接时,云服务会恢复之前终止的云服务进程,从而允许客户端与恢复的云服务进程连接和通信来继续使用云服务。以无服务数据库为例,当用户的客户端退出数据库时,无服务数据库应用的进程会在没有用户连接时被终止,其所占用的计算资源会被操作系统回收,在实际的应用中,数据库进程被终止会停止计算用户在云数据库上的资源消耗,从而达到不使用即暂停的效果。当用户的客户端重新启用并请求与访问其数据库时,无服务数据库应用则会将被终止的数据库进程恢复并且与客户端连接。客户端则可以继续对其数据库中的数据进行操作。
在无服务数据库应用等云服务的服务过程中,云服务进程会在没有用户连接时被终止,其所占用的计算资源会被操作系统回收,在用户请求使用云服务时再回复云服务进行来向用户提供服务。在相关技术中,当客户端请求连接云服务进程时,云服务会先拒绝该链接请求并开始恢复云服务进程,在进程恢复后再与客户端建立云服务连接。然而,上述方案中,在云服务进程恢复的过程中需要不断重试请求直至可以与云服务应用成功建立连接,重试期间的所有请求均会失败,重试失败的次数过多可能会导致客户端判断请求连接云服务过程失败,影响云服务的稳定性。
基于此,本申请实施例的技术方案提出了一种建立云服务连接的方法。具体地,如图1所示,根据本申请实施例的应用于建立云服务连接系统的系统架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、智能语音交互设备、智能家电、车载终端、飞行器等等。服务器130可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的系统架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。本申请的实施例中,云服务和建立云服务连接的系统都部署在服务器130中,则终端设备110中则部署有用于访问云服务的客户端。在一些实施例中,建立云服务连接的系统可以作为云服务系统的一个单元或者组成部分来与云服务的其他功能模块配合工作。
在本申请的一个实施例中,服务器130中部署用于建立云服务连接系统或模块,在本申请中成为用户连接感知单元。终端设备110通过客户端请求连接到服务器130上的云服务进程时,用户连接感知单元会感知该连接请求并接管该请求,并且通过与客户端和云服务通信来建立客户端到云服务进程的通信连接。具体地,服务器130上的用户连接感知单元会侦听云服务的通信端口,该通信端口是在客户端与该云服务的云服务进程之间的历史通信中使用的端口。如果通过该通信端口接收到该客户端的云服务恢复请求,则服务器130通过该通信端口建立与终端设备110上的客户端之间的用户通信连接。随后,服务器130根据该通信端口所对应的云服务地址,向服务器130上的云服务发送进程恢复请求,以在该云服务中恢复处于终止态的云服务进程,并获得该云服务进程恢复后的连接地址,并且根据所获得的连接地址,建立与该云服务进程之间的云服务通信连接,以通过该用户通信连接和该云服务通信连接建立该客户端与该云服务进程之间的服务通信连接。
具体而言,在实际应用中,服务器130可以包含多个服务器,云服务系统、云服务进程和用户连接感知单元分别在独立的服务器上运行并相互通信。用户连接感知单元可以作为云服务系统的一部分或者作为单独的服务而持续运行,随着云服务系统本身的启动而启动,而不受具体云服务进程启停的影响。
本申请的方案中云服务是基于云技术实现的服务。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。本方案应用的典型示例是通过云服务运行的数据库系统。数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称 DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如 SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些 DBMS 能够跨类别,例如,同时支持多种查询语言。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示出了根据本申请的一个实施例的建立云服务连接的方法的流程图,该建立云服务连接的方法具体可以由具有计算处理功能的设备来执行,比如可以是云服务所在的服务器,本申请中已处于云服务上的用户连接感知单元所在的服务器为执行主体进行介绍。参照图2所示,该建立云服务连接的方法至少包括步骤S210至步骤S240,详细介绍如下:
步骤S210,侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口。
用户连接感知单元会侦听云服务的通信端口。通信端口是在客户端与云服务的云服务进程之间的历史通信中使用的端口。用户连接感知单元是与云服务进程相互独立运行的服务或者进程,该进程在启动后就会开始侦听云服务与客户端之间通信所使用过的端口。即,云服务中的云服务进程与客户端建立通信所使用的端口会被记录,或者云服务中的其他模块会为客户端与云服务进程之间的通信分配特定端口。历史通信中的云服务进程在通信结束后会被终止,因此,可以认为用户连接感知单元进行侦听时,通信端口上没有建立通信连接,并且云服务进程已经被终止。用户连接感知单元会通过云服务上的记录或者配置信息来获取到用于与客户端进行通信的端口,并且侦听这些端口。侦听的目标则是客户端向这些端口发起的云服务恢复请求。可以理解的是,云服务在具体实现中通常云服务系统来实现,该云服务系统中的应用程序为会不同客户端请求的服务开启对应的云服务进程。
步骤S220,若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接。
当云服务的用户需要重新与云服务建立连接时,会向云服务发送云服务恢复请求。该云服务恢复请求用于请求云服务将之前终止的云服务进程重新运行来向客户端提供服务。该云服务恢复请求会通过客户端之前使用过的通信端口到达云服务系统。当云服务恢复请求到达通信端口时,用户连接感知单元会感知到该云服务恢复请求,并且对该云服务恢复请求进行响应,通过该通信端口建立与客户端之间的用户通信连接。用户连接感知单元可以与客户端之间进行传输控制协议(Transmission Control Protocol,TCP)中的三次握手流程来与客户端建立连接。在一些实施例中,用户连接感知单元与客户端之间也可以采用遵照其他协议的通信方式,例如IPX/SPX 协议或者HTTP 协议等,本申请对建立连接的具体类型和方式不做限制。用户连接感知单元可以通过所建立的用户通信连接与客户端通信。从客户端的角度,客户端会收到通信建立成功的提示,而不会因为拒绝请求或者请求超时而连接失败,虽然在用户通信连接建立成功时,云服务中的云服务进程可能还未被恢复。
步骤S230,根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址。
用户连接感知单元会根据通信端口所对应的云服务地址,向云服务发送进程恢复请求。云服务地址通常指的是云服务系统的物理通信地址,在通常情况下,云服务系统的物理通信地址不会发生变化。云服务会为不同客户端分配不同的通信端口来建立通信,在给客户端分配好通信端口时就确定了通信端口与云服务地址之间的对应关系。通信端口与客户端之间的对应关系是一一对应的,即一个通信端口只会用于服务一个客户端,但一个服务器可以通过不同端口与不同的客户端通信,但各个通信端口所对应的用户连接感知单元的访问地址可能是相同的。可以理解的是,客户端自己所使用的通信地址和通信接口可以取决于具体情况而变化,但服务器的地址以及服务器上用于服务该客户端的端口通常不会自行改变。进程恢复请求会根据云服务地址被发送给云服务系统,以数据库为例,则对于数据库进程的进程恢复请求会被发送给数据库管理系统。数据库管理系统根据进程恢复请求向操作系统请求对应的运行资源来恢复云服务进程。可以理解,由于通信端口与客户端之间存在对应关系,而云服务系统本身就包含客户端所拥有的云服务进程,因此,根据通信端口与客户端对应的云服务进程之间也存在确定的对应关系。例如,一个客户端A通过端口2000与数据库进程B通信,则当通过端口2000接收到进程恢复请求时,则可以认为该进程恢复请求是来自客户端A的,并且是要请求恢复数据库进程B,则用户连接感知单元可以向数据库管理系统请求恢复数据库进程B。这些对应关系可以被保存在用户连接感知单元所在的环境中。云服务在恢复处于终止态的云服务进程之后,该云服务进程就会拥有可以用于通信的连接地址,例如物理地址。云服务会将恢复后的云服务进程的连接地址反馈给用户连接感知单元。
步骤S240,根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
用户连接感知单元会根据所获得的连接地址,建立与云服务进程之间的云服务通信连接。此时,用户连接感知单元已经分别与客户端和云服务进程建立了通信连接,则可以通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。具体地,用户连接感知单元可以保留在服务通信连接中,客户端和云服务进程双方的通信由用户连接感知单元居中进行转发。或者,用户连接感知单元可以退出服务通信连接,客户端与云服务进程通过通信端口相互直接通信,用户连接感知单元则继续侦听该通信端口,并且在双方的服务通信连接发生变化时进行针对操作,例如在通信断开时记录通信端口或者在服务通信连接中所使用的端口发生变化时进行记录等。
在本申请的实施例中,用户连接感知单元侦听云服务的通信端口,如果通过通信端口接收到客户端的云服务恢复请求,则通过通信端口建立与客户端之间的用户通信连接,随后,根据该通信端口所对应的云服务地址,向云服务请求恢复属于该客户端的处于终止态的云服务进程,并且与恢复后的云服务进程恢复建立云服务通信连接,从而通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。通过上述的方式,在客户端请求与被终止的云服务进程建立通信连接时,客户端发起的连接请求在第一次到达服务器侧时就得到应答,而不再需要失败后反复尝试,避免重试次数过多导致的连接失败,提高云服务的稳定性。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与云服务进程之间的云服务通信连接之后, 当用户通信连接断开时,用户连接感知单元会向云服务发送针对于云服务进程的进程终止消息,以将云服务进程切换到终止态,随后根据针对进程终止消息反馈的进程终止结果,断开云服务通信连接。在用户连接感知单元负责消息中转的情况下,当与客户端之间的用户通信连接时,用户连接感知单元会通知云服务将对应的云服务进程终止,并且随后断开与云服务进程的连接,从而释放掉云服务进程所占用的资源以供其他进程使用,有利于提高云服务的计算资源的使用效率。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接之后,用户连接感知单元会通过用户通信连接,接收客户端发送的数据获取请求,然后通过云服务通信连接向云服务进程转发数据获取请求并接收云服务进程针对数据获取请求发送的数据响应,再通过用户通信连接,向客户端发送数据响应。具体地,客户端与云服务进程之间通信成功后,用户连接感知单元继续负责消息中转,客户端在需要获取数据时,会向用户连接感知单元发送数据获取请求。该数据获取请求通过通信端口到达用户连接感知单元,用户连接感知单元则将数据获取请求转发给云服务进程,并且后续也会将云服务进程的反馈数据转发回给客户端。通过在客户端和云服务进程之间进行消息转发,在客户端网络故障或者意外断开时,通过用户连接感知单元保持与云服务进程之间的连接而避免云服务终止云服务进程,从而提高客户端的重连效率。在一些实施例中,用户连接感知单元会持续检查云服务进程的负载,当在预设的时间段内没有负载和用户连接访问时,用户连接感知单元会向发送针对于云服务进程的进程终止消息。
在本申请的一些可选实施例中,基于以上的技术方案,在根据通信端口所对应的云服务地址,向云服务发送进程恢复请求之前,用户连接感知单元通过用户通信连接,向客户端发送类型确认请求,类型确认请求中携带云服务客户端应用的应用类型,如果接收到针对类型确认请求中应用类型的确认消息,则继续执行根据通信端口所对应的云服务地址,向云服务发送进程恢复请求的步骤,否则,如果在预设时间内未接收到客户端针对类型确认请求的反馈消息或者接收到针对类型确认请求中应用类型的否认消息,则断开与客户端之间的用户通信连接。通过鉴别客户端的类型,从而能够及时判断客户端与云服务之间是否具备通信条件,有利于对不能进行通信的情况进行及时处理,有利于提高系统的响应效率。
在本申请的实施例中,还提出了对图2所示实施例的技术方案进行细化的其它实施例,具体如图3所示,在本申请的一个实施例的建立云服务连接的方法中,可以包括如下步骤:
步骤S310,侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口。
可选地,步骤S310的实现细节与图2中所示的步骤S210一致,不再赘述。
步骤S320,若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接。
可选地,步骤S320的实现细节与图2中所示的步骤S220一致,不再赘述。
步骤S330,通过所述用户通信连接,向所述客户端发送类型确认请求,以获取所述客户端的客户端应用类型;
步骤S340,接收所述客户端针对所述类型确认请求反馈的客户端应用类型;
若所述客户端应用类型不符合所述云服务客户端应用的应用类型,则步骤S350,断开与所述客户端之间的用户通信连接。
在本实施例中,用户连接感知单元在建立与客户端之间的用户通信连接之后以及向云服务发送进程恢复请求之前,会主动与客户端通信来询问客户端的客户端类型,确定客户端的连接符合云服务的要求。具体地,用户连接感知单元会通过用户通信连接向客户端发送类型确认请求。该类型确认请求可以是一次握手请求,请求客户端反馈其客户端应用类型。客户端应用类型用于标识请求恢复进程的客户端具体是用于哪种应用的客户端。例如,对于数据库服务,客户端应用类型应该是数据库客户端。客户端会响应于类型确认请求来向用户连接感知单元反馈其客户端应用类型。用户连接感知单元在接收到客户端针对类型确认请求反馈的客户端应用类型后,判断客户端应用类型与云服务客户端应用的应用类型是否符合,例如,对于数据库的云服务,则判断客户端是否是数据库客户端。如果类型不符合,则断开与客户端之间的用户通信连接,即用户连接感知单元会拒绝客户端的请求。通过主动获取客户端的客户端应用类型并判断是否符合要求,使得用户连接感知单元具备判别客户端类型并拒绝非数据库请求连接的能力,有利于防止不合法的访问直接到达云服务,提高云服务的安全性。
步骤S360,根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址。
可选地,步骤S360的实现细节与图2中所示的步骤S230一致,不再赘述。
步骤S370,根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
可选地,步骤S370的实现细节与图2中所示的步骤S240一致,不再赘述。
在本申请的实施例中,用户连接感知单元侦听云服务的通信端口,如果通过通信端口接收到客户端的云服务恢复请求,则通过通信端口建立与客户端之间的用户通信连接,随后,根据该通信端口所对应的云服务地址,向云服务请求恢复属于该客户端的处于终止态的云服务进程,并且与恢复后的云服务进程恢复建立云服务通信连接,从而通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。通过上述的方式,在客户端请求与被终止的云服务进程建立通信连接时,客户端发起的连接请求在第一次到达服务器侧时就得到应答,而不再需要失败后反复尝试,避免重试次数过多导致的连接失败,提高云服务的稳定性。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与云服务进程之间的云服务通信连接之后,当用户通信连接断开时,用户连接感知单元会向云服务发送针对于云服务进程的进程终止消息,以将云服务进程切换到终止态,随后根据针对进程终止消息反馈的进程终止结果,断开云服务通信连接。在用户连接感知单元负责消息中转的情况下,当与客户端之间的用户通信连接时,用户连接感知单元会通知云服务将对应的云服务进程终止,并且随后断开与云服务进程的连接,从而释放掉云服务进程所占用的资源以供其他进程使用,有利于提高云服务的计算资源的使用效率。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接之后,用户连接感知单元会通过用户通信连接,接收客户端发送的数据获取请求,然后通过云服务通信连接向云服务进程转发数据获取请求并接收云服务进程针对数据获取请求发送的数据响应,再通过用户通信连接,向客户端发送数据响应。具体地,客户端与云服务进程之间通信成功后,用户连接感知单元继续负责消息中转,客户端在需要获取数据时,会向用户连接感知单元发送数据获取请求。该数据获取请求通过通信端口到达用户连接感知单元,用户连接感知单元则将数据获取请求转发给云服务进程,并且后续也会将云服务进程的反馈数据转发回给客户端。通过在客户端和云服务进程之间进行消息转发,在客户端网络故障或者意外断开时,通过用户连接感知单元保持与云服务进程之间的连接而避免云服务终止云服务进程,从而提高客户端的重连效率。
在本申请的实施例中,还提出了对图2所示实施例的技术方案进行细化的其它实施例,具体如图4所示,在本申请的一个实施例的建立云服务连接的方法中,可以包括如下步骤:
步骤S410,侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口。
可选地,步骤S410的实现细节与图2中所示的步骤S210一致,不再赘述。
步骤S420,若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接。
可选地,步骤S420的实现细节与图2中所示的步骤S220一致,不再赘述。
步骤S430,根据所述通信端口的端口标识,获取所述通信端口对应的通信描述信息,所述通信描述信息中包含所述端口标识、所述云服务的云服务地址、所述云服务进程的进程地址和所述客户端在所述云服务中的账户标识;
步骤S440,若所述云服务地址中的进程地址为空,则根据所述账户标识和所述云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址。
在本实施例中,用户连接感知单元会根据通信端口的端口标识来获取通信端口对应的通信描述信息。通信描述信息是用户连接感知单元中保存的各个客户端账户的连接信息集合。通信描述信息中包含端口标识、云服务的云服务地址、云服务进程的进程地址和客户端在云服务中的账户标识。在一些实施例中,在用户注册时就记录了用户的通信描述信息,从而使得被侦听的端口与用户信息之间存在一一对应的关系。这些信息可以通过线下的配置文件或者通过其他应用程序保存到用户连接感知单元。在一些实施例中,用户连接感知单元在运行过程中也会根据通信连接以及通信描述信息中各个信息的变化情况来更新存储的通信描述信息。如果云服务进程的进程地址不为空,则通常表示对应的云服务进程还没有被终止,此时可以直接利用云服务进程的进程地址来与云服务进程建立通信连接。如果云服务地址中的进程地址为空,则需要先恢复对应的云服务进程,用户连接感知单元则会根据账户标识和云服务地址,向云服务发送进程恢复请求。具体地,用户连接感知单元通过云服务地址与云服务的系统或应用程序通信,并且向云服务提供账户标识,云服务则根据账户标识确定与账户标识对应的被终止的云服务进程,并且重新恢复该云服务进程。在云服务进程恢复后,云服务将云服务进程的连接地址(例如,物理地址)发送给用户连接感知单元。在本实施例中,提供了向云服务请求进程恢复的具体流程,有利于方案的可操作性。
步骤S450,根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
可选地,步骤S450的实现细节与图2中所示的步骤S240一致,不再赘述。
在本申请的实施例中,用户连接感知单元侦听云服务的通信端口,如果通过通信端口接收到客户端的云服务恢复请求,则通过通信端口建立与客户端之间的用户通信连接,随后,根据该通信端口所对应的云服务地址,向云服务请求恢复属于该客户端的处于终止态的云服务进程,并且与恢复后的云服务进程恢复建立云服务通信连接,从而通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。通过上述的方式,在客户端请求与被终止的云服务进程建立通信连接时,客户端发起的连接请求在第一次到达服务器侧时就得到应答,而不再需要失败后反复尝试,避免重试次数过多导致的连接失败,提高云服务的稳定性。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与云服务进程之间的云服务通信连接之后, 当用户通信连接断开时,用户连接感知单元会向云服务发送针对于云服务进程的进程终止消息,以将云服务进程切换到终止态,随后根据针对进程终止消息反馈的进程终止结果,断开云服务通信连接。在用户连接感知单元负责消息中转的情况下,当与客户端之间的用户通信连接时,用户连接感知单元会通知云服务将对应的云服务进程终止,并且随后断开与云服务进程的连接,从而释放掉云服务进程所占用的资源以供其他进程使用,有利于提高云服务的计算资源的使用效率。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接之后,用户连接感知单元会通过用户通信连接,接收客户端发送的数据获取请求,然后通过云服务通信连接向云服务进程转发数据获取请求并接收云服务进程针对数据获取请求发送的数据响应,再通过用户通信连接,向客户端发送数据响应。具体地,客户端与云服务进程之间通信成功后,用户连接感知单元继续负责消息中转,客户端在需要获取数据时,会向用户连接感知单元发送数据获取请求。该数据获取请求通过通信端口到达用户连接感知单元,用户连接感知单元则将数据获取请求转发给云服务进程,并且后续也会将云服务进程的反馈数据转发回给客户端。通过在客户端和云服务进程之间进行消息转发,在客户端网络故障或者意外断开时,通过用户连接感知单元保持与云服务进程之间的连接而避免云服务终止云服务进程,从而提高客户端的重连效率。
在本申请的一些可选实施例中,基于以上的技术方案,当所述用户通信连接断开时,用户连接感知单元会获取所述用户通信连接中通信端口的端口标识、所述云服务地址的进程地址和所述账户标识,然后根据所获得的端口标识和进程地址,更新所述账户标识对应的通信描述信息。在用户通信连接断开更新通信描述信息中的端口标识和进程地址,从而更新服务器侧在终止云服务进程时产生的通信环境变动,不需要人工维护,降低方案成本。
在本申请的一些可选实施例中,基于以上的技术方案,当所述客户端与所述云服务进程之间的服务通信连接断开时,用户连接感知单元获取所述客户端在所述云服务中的账户标识。在本实施例中,客户端在注册完成,获得云服务的权限之后,没有通过用户连接感知单元来建立通信连接,通过其他渠道或代理服务建立通信连接,云服务在通信断开后,会主动向用户连接感知单元提供该通信连接的相关信息,以便后续进行侦听和连接。如果不存在对应于所述账户标识对应的通信描述信息,则根据所述服务通信连接中通信端口的端口标识、所述云服务地址的进程地址、所述云服务的云服务地址和所述账户标识,创建对应于所述账户标识的通信描述信息。在服务通信连接断开时,在没有已存在的通信描述信息时,创建新的通信描述信息,以供后续重新连接时使用,从而能够自动维护通信描述信息的创建,降低方案的维护成本。在一些实施例中,客户端与云服务进程之间的所有通信都会通过用户连接感知单元建立,并且通信描述信息在用户注册的过程中会配置到用户连接感知单元中,此时,在建立连接的过程中,如果不存在对应于账户标识对应的通信描述信息,则用户连接感知单元会直接拒绝建立连接的请求。
在本申请的实施例中,还提出了对图2所示实施例的技术方案进行细化的其它实施例,具体如图5所示,在本申请的一个实施例的建立云服务连接的方法中,可以包括如下步骤:
步骤S510,侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口。
可选地,步骤S510的实现细节与图2中所示的步骤S210一致,不再赘述。
步骤S520,若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接。
可选地,步骤S520的实现细节与图2中所示的步骤S220一致,不再赘述。
步骤S530,根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址。
可选地,步骤S530的实现细节与图2中所示的步骤S230一致,不再赘述。
步骤S540,根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
可选地,步骤S540的实现细节与图2中所示的步骤S240一致,不再赘述。
步骤S550,通过所述云服务通信连接接收所述云服务进程发送的鉴权请求,所述鉴权请求中包含鉴权加密信息;
步骤S560,通过所述用户通信连接将所述鉴权请求转发到所述客户端,并接收所述客户端发送的鉴权信息,所述鉴权信息中包含根据所述鉴权加密信息和用户密钥生成的加密结果;
步骤S570,通过所述云服务通信连接向所述云服务进程发送所述加密结果,以根据所述加密结果对所述客户端进行鉴权。
在本实施例中,在用户连接感知单元与云服务进程的服务通信连接建立成功后,云服务进程会向客户端发起鉴权。具体地,用户连接感知单元通过云服务通信连接接收云服务进程发送的鉴权请求,鉴权请求中包含鉴权加密信息。鉴权加密信息可以包含加密的方式以及额外的加密密钥。加密方式例如可以是指定的加密算法等,加密密钥则供客户端进行加密用于验证用户身份。用户连接感知单元通过用户通信连接将鉴权请求转发到客户端,并接收客户端发送的鉴权信息,鉴权信息中包含根据鉴权加密信息和用户密钥生成的加密结果。用户连接感知单元中并不包含客户端登录账户的登录信息,因此直接将鉴权请求转发到客户端。客户端根据鉴权加密信息对其账户密码等信息进行加密,然后向用户连接感知单元反馈解密结果。用户连接感知单元则通过云服务通信连接向云服务进程发送加密结果。云服务进程则根据加密结果对客户端进行鉴权。在本实施例中,用户连接感知单元中不保存用户的鉴权信息,在云服务对客户端的鉴权过程中,只负责客户端与云服务之间的数据转发,从而相较于代理服务,可以避免云服务中的鉴权信息与代理服务中鉴权信息不一致的情况,有利于提高云服务数据安全性。
在本申请的实施例中,用户连接感知单元侦听云服务的通信端口,如果通过通信端口接收到客户端的云服务恢复请求,则通过通信端口建立与客户端之间的用户通信连接,随后,根据该通信端口所对应的云服务地址,向云服务请求恢复属于该客户端的处于终止态的云服务进程,并且与恢复后的云服务进程恢复建立云服务通信连接,从而通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。通过上述的方式,在客户端请求与被终止的云服务进程建立通信连接时,客户端发起的连接请求在第一次到达服务器侧时就得到应答,而不再需要失败后反复尝试,避免重试次数过多导致的连接失败,提高云服务的稳定性。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与云服务进程之间的云服务通信连接之后, 当用户通信连接断开时,用户连接感知单元会向云服务发送针对于云服务进程的进程终止消息,以将云服务进程切换到终止态,随后根据针对进程终止消息反馈的进程终止结果,断开云服务通信连接。在用户连接感知单元负责消息中转的情况下,当与客户端之间的用户通信连接时,用户连接感知单元会通知云服务将对应的云服务进程终止,并且随后断开与云服务进程的连接,从而释放掉云服务进程所占用的资源以供其他进程使用,有利于提高云服务的计算资源的使用效率。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接之后,用户连接感知单元会通过用户通信连接,接收客户端发送的数据获取请求,然后通过云服务通信连接向云服务进程转发数据获取请求并接收云服务进程针对数据获取请求发送的数据响应,再通过用户通信连接,向客户端发送数据响应。具体地,客户端与云服务进程之间通信成功后,用户连接感知单元继续负责消息中转,客户端在需要获取数据时,会向用户连接感知单元发送数据获取请求。该数据获取请求通过通信端口到达用户连接感知单元,用户连接感知单元则将数据获取请求转发给云服务进程,并且后续也会将云服务进程的反馈数据转发回给客户端。通过在客户端和云服务进程之间进行消息转发,在客户端网络故障或者意外断开时,通过用户连接感知单元保持与云服务进程之间的连接而避免云服务终止云服务进程,从而提高客户端的重连效率。
在本申请的实施例中,还提出了对图2所示实施例的技术方案进行细化的其它实施例,具体如图6所示,在本申请的一个实施例中,云服务的通信端口包含N个子通信端口,所述N为大于或等于2的整数,该建立云服务连接的方法中可以包括如下步骤:
步骤S610,侦听云服务的N个子通信端口,所述N个子通信端口是在N个客户端分别与所述云服务中对应的N个云服务进程之间的历史通信中使用的端口;
步骤S620,若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接。
可选地,步骤S620的实现细节与图2中所示的步骤S220一致,不再赘述。
步骤S630,根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址。
可选地,步骤S630的实现细节与图2中所示的步骤S230一致,不再赘述。
步骤S640,根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
可选地,步骤S640的实现细节与图2中所示的步骤S240一致,不再赘述。
步骤S650,若通过所述M个子通信端口分别接收到所述M个客户端的云服务恢复请求,则分别通过所述M个子通信端口建立与所述M个客户端之间的M个用户通信连接,所述M为大于或等于2并且小于或等于所述N的整数;
步骤S660,根据所述M个子通信端口所对应的云服务地址,分别向所述云服务发送对应于各个云服务恢复请求的进程恢复请求,以在所述云服务中恢复处于终止态的M个云服务进程,并获得所述M个云服务进程恢复后的连接地址;
步骤S670,根据所获得的M个连接地址,分别建立与所述M个云服务进程之间的M个云服务通信连接,以通过所述M个用户通信连接和所述M个云服务通信连接分别建立所述M个客户端与所述M个云服务进程之间的通信连接。
在本实施例中,用户连接感知单元可以通过不同的通信端口同时建立起多个服务通信连接。具体地,云服务的通信端口包含N个子通信端口,N为大于或等于2的整数。这些端口通常是可以用客户端连接到云服务的端口。这些端口通常已经用于客户端与云服务进程的通信,即已经被分配给某个用户的端口。但这不一定是云服务能够提供的所有端口。在一些实施例中,如果有新的端口用于与新用户建立通信,则会更新子通信端口的数量。如果通过M个子通信端口分别接收到M个客户端的云服务恢复请求,则用户连接感知单元分别通过M个子通信端口建立与M个客户端之间的M个用户通信连接,M为大于或等于2并且小于或等于N的整数。这M个云服务恢复请求可能是先后到达用户连接感知单元的。在处理的过程中,由于所用的子通信端口各不相同,用户连接感知单元可以对于每个通信连接请求分别进行处理,从而分别通过M个子通信端口建立与M个客户端之间的M个用户通信连接。随后,用户连接感知单元根据M个子通信端口所对应的云服务地址,分别向云服务发送对应于各个云服务恢复请求的进程恢复请求,以在云服务中恢复处于终止态的M个云服务进程,并获得M个云服务进程恢复后的连接地址。然后,根据所获得的M个连接地址,分别建立与M个云服务进程之间的M个云服务通信连接,以通过M个用户通信连接和M个云服务通信连接分别建立M个客户端与M个云服务进程之间的通信连接。可以理解,对于这M个客户端的云服务恢复请求,用户连接感知单元对单个请求的处理过程与上述方案中的过程是相同的。本实施例中,用户连接感知单元会同时侦听多个通信端口,对于每个子通信端口的进程恢复请求进行分别处理,从而通过允许用户连接感知单元建立起多个客户端与对应的多个云服务进程之间的连接,相较于代理服务中一个代理服务智能针对单个用户提供服务的情况,能够有效降低方案的维护成本和管理难度。
在本申请的实施例中,用户连接感知单元侦听云服务的通信端口,如果通过通信端口接收到客户端的云服务恢复请求,则通过通信端口建立与客户端之间的用户通信连接,随后,根据该通信端口所对应的云服务地址,向云服务请求恢复属于该客户端的处于终止态的云服务进程,并且与恢复后的云服务进程恢复建立云服务通信连接,从而通过用户通信连接和云服务通信连接建立客户端与云服务进程之间的服务通信连接。通过上述的方式,在客户端请求与被终止的云服务进程建立通信连接时,客户端发起的连接请求在第一次到达服务器侧时就得到应答,而不再需要失败后反复尝试,避免重试次数过多导致的连接失败,提高云服务的稳定性。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与云服务进程之间的云服务通信连接之后, 当用户通信连接断开时,用户连接感知单元会向云服务发送针对于云服务进程的进程终止消息,以将云服务进程切换到终止态,随后根据针对进程终止消息反馈的进程终止结果,断开云服务通信连接。在用户连接感知单元负责消息中转的情况下,当与客户端之间的用户通信连接时,用户连接感知单元会通知云服务将对应的云服务进程终止,并且随后断开与云服务进程的连接,从而释放掉云服务进程所占用的资源以供其他进程使用,有利于提高云服务的计算资源的使用效率。在实际的应用中,用户连接感知单元会持续检查云服务进程的负载,当在预设的时间段内没有负载和用户连接访问时,用户连接感知单元会向发送针对于云服务进程的进程终止消息。
在本申请的一些可选实施例中,基于以上的技术方案,在根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接之后,用户连接感知单元会通过用户通信连接,接收客户端发送的数据获取请求,然后通过云服务通信连接向云服务进程转发数据获取请求并接收云服务进程针对数据获取请求发送的数据响应,再通过用户通信连接,向客户端发送数据响应。具体地,客户端与云服务进程之间通信成功后,用户连接感知单元继续负责消息中转,客户端在需要获取数据时,会向用户连接感知单元发送数据获取请求。该数据获取请求通过通信端口到达用户连接感知单元,用户连接感知单元则将数据获取请求转发给云服务进程,并且后续也会将云服务进程的反馈数据转发回给客户端。通过在客户端和云服务进程之间进行消息转发,在客户端网络故障或者意外断开时,通过用户连接感知单元保持与云服务进程之间的连接而避免云服务终止云服务进程,从而提高客户端的重连效率。
在本申请的一些可选实施例中,基于以上的技术方案,用户连接感知单元还会接收所述云服务发送的端口更新消息,所述端口更新消息是根据所述云服务创建新云服务进程生成的,所述端口更新消息中包含客户端与所述新云服务进程之间通信端口的端口标识,随后根据所述端口更新消息中的端口标识,更新子通信端口的数量。在本实施例中,云服务会向用户连接感知单元发送端口更新消息,其中包含了新云服务进程所使用的通信端口的端口标识,用户连接感知单元则根据该新标识来更新子通信端口的数量,从而确保用户连接感知单元能够及时侦听各个被使用的通信端口,避免漏侦听而导致客户端连接失败,提高方案的稳定性。
下面以云服务上的无服务数据库为例对本申请方案的具体实施例进行介绍。请参阅图7,图7为本申请的方案应用在建立数据库连接中的示意性流程图。如图7所示,用户连接感知单元先启动,并根据用户信息开启并侦听用户信息中相应的端口。用户的客户端通过端口发起请求,并且与用户连接感知单元通过 TCP 三次握手建立连接。然后用户连接感知单元主动地发起握手请求,其中包含了询问用户使用的客户端的信息。在用户为数据库应用所提供的客户端时,用户响应此握手请求,并在响应的数据中提供客户端类型。根据用户与用户连接感知单元建立连接的端口号,用户连接感知单元根据自己保存不包含鉴权信息的用户描述信息向数据库管理系统发起恢复该用户已终止的数据库应用进程的请求。数据库管理系统向操作系统申请进程运行时资源并重新运行数据库应用,成功恢复后将属于该用户的数据库应用进程的物理地址响应给用户连接感知单元。随后用户连接感知单元向数据库应用进程通过 TCP 三次握手建立连接。此时,客户端与数据库应用进程之间可以通过用户连接感知单元相互通信。随后数据库应用进程向用户连接感知发起握手请求,其中包含了其所需的用户的鉴权信息,即加密方式及额外的密钥。由于用户连接感知单元不保存用户的鉴权信息,因此用户连接感知单元转发请求至用户侧,而用户侧的客户端响应数据库应用进程的握手请求,并将自己的鉴权信息,即经加密的用户名、密码发送给用户连接感应单元,而用户连接感应单元转发此响应至数据库进程应用。数据库应用鉴权后返回鉴权成功,则用户连接感知单元转发鉴权成功的响应至用户侧。鉴权成功后,用户可以复用与用户连接感知单元建立的连接,并向数据库应用请求数据,而用户连接感知单元转发用户请求,并将数据库应用进程的响应转发给用户。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施,可以用于执行本申请上述实施例中的建立云服务连接的方法。图8示意性地示出了本申请实施例中建立云服务连接的装置的组成框图。如图8所示,建立云服务连接的装置800主要可以包括:
端口侦听单元810,配置成侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口;
用户连接单元820,配置成若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接;
请求发送单元830,配置成根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址;
服务连接单元840,配置成根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接。
在本申请的一些实施例中,基于以上技术方案,请求发送单元830还配置成:通过所述用户通信连接,向所述客户端发送类型确认请求,以获取所述客户端的客户端应用类型;接收所述客户端针对所述类型确认请求反馈的客户端应用类型;若所述客户端应用类型不符合所述云服务客户端应用的应用类型,则断开与所述客户端之间的用户通信连接。
在本申请的一些实施例中,基于以上技术方案,请求发送单元830具体配置成:根据所述通信端口的端口标识,获取所述通信端口对应的通信描述信息,所述通信描述信息中包含所述端口标识、所述云服务的云服务地址、所述云服务进程的进程地址和所述客户端在所述云服务中的账户标识;若所述云服务地址中的进程地址为空,则根据所述账户标识和所述云服务地址,向所述云服务发送进程恢复请求。
在本申请的一些实施例中,基于以上技术方案,用户连接单元820还配置成:当所述用户通信连接断开时,获取所述用户通信连接中通信端口的端口标识、所述云服务地址的进程地址和所述账户标识;根据所获得的端口标识和进程地址,更新所述账户标识对应的通信描述信息。
在本申请的一些实施例中,基于以上技术方案,服务连接单元840还配置成:当所述客户端与所述云服务进程之间的服务通信连接断开时,获取所述客户端在所述云服务中的账户标识;若不存在对应于所述账户标识对应的通信描述信息,则根据所述服务通信连接中通信端口的端口标识、所述云服务地址的进程地址、所述云服务的云服务地址和所述账户标识,创建对应于所述账户标识的通信描述信息。
在本申请的一些实施例中,基于以上技术方案,服务连接单元840还配置成:通过所述云服务通信连接接收所述云服务进程发送的鉴权请求,所述鉴权请求中包含鉴权加密信息;通过所述用户通信连接将所述鉴权请求转发到所述客户端,并接收所述客户端发送的鉴权信息,所述鉴权信息中包含根据所述鉴权加密信息和用户密钥生成的加密结果;通过所述云服务通信连接向所述云服务进程发送所述加密结果,以根据所述加密结果对所述客户端进行鉴权。
在本申请的一些实施例中,基于以上技术方案,服务连接单元840还配置成:通过所述用户通信连接,接收所述客户端发送的数据获取请求;通过所述云服务通信连接向所述云服务进程转发所述数据获取请求并接收所述云服务进程针对所述数据获取请求发送的数据响应;通过所述用户通信连接,向所述客户端发送所述数据响应。
在本申请的一些实施例中,基于以上技术方案,所述云服务的通信端口包含N个子通信端口,所述N为大于或等于2的整数;端口侦听单元840具体配置成:侦听云服务的N个子通信端口,所述N个子通信端口是在N个客户端分别与所述云服务中对应的N个云服务进程之间的历史通信中使用的端口;
服务连接单元840还配置成:若通过所述M个子通信端口分别接收到所述M个客户端的云服务恢复请求,则分别通过所述M个子通信端口建立与所述M个客户端之间的M个用户通信连接,所述M为大于或等于2并且小于或等于所述N的整数;根据所述M个子通信端口所对应的云服务地址,分别向所述云服务发送对应于各个云服务恢复请求的进程恢复请求,以在所述云服务中恢复处于终止态的M个云服务进程,并获得所述M个云服务进程恢复后的连接地址;根据所获得的M个连接地址,分别建立与所述M个云服务进程之间的M个云服务通信连接,以通过所述M个用户通信连接和所述M个云服务通信连接分别建立所述M个客户端与所述M个云服务进程之间的通信连接。
在本申请的一些实施例中,基于以上技术方案,服务连接单元840还配置成:接收所述云服务发送的端口更新消息,所述端口更新消息是根据所述云服务创建新云服务进程生成的,所述端口更新消息中包含客户端与所述新云服务进程之间通信端口的端口标识;根据所述端口更新消息中的端口标识,更新子通信端口的数量。
在本申请的一些实施例中,基于以上技术方案,请求发送单元830还配置成:通过所述用户通信连接,向所述客户端发送类型确认请求,所述类型确认请求中携带所述云服务客户端应用的应用类型;若接收到针对所述类型确认请求中应用类型的确认消息,则继续执行根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求的步骤;若在预设时间内未接收到所述客户端针对所述类型确认请求的反馈消息或者接收到针对所述类型确认请求中应用类型的否认消息,则断开与所述客户端之间的用户通信连接。
在本申请的一些实施例中,基于以上技术方案,服务连接单元840还配置成:当所述用户通信连接断开时,向所述云服务发送针对于所述云服务进程的进程终止消息,以将所述云服务进程切换到终止态;根据针对所述进程终止消息反馈的进程终止结果,断开所述云服务通信连接。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
图9示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(Central Processing Unit,CPU)901,其可以根据存储在只读存储器(Read-Only Memory,ROM)902中的程序或者从储存部分908加载到随机访问存储器(Random Access Memory,RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(Input /Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的储存部分908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入储存部分908。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (11)
1.一种建立云服务连接的方法,其特征在于,包括:
侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口;
若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接;
通过所述用户通信连接,向所述客户端发送类型确认请求,以获取所述客户端的客户端应用类型;
接收所述客户端针对所述类型确认请求反馈的客户端应用类型;
若所述客户端应用类型不符合所述云服务客户端应用的应用类型,则断开与所述客户端之间的用户通信连接;
根据所述通信端口的端口标识,从本地保存的信息中获取所述通信端口对应的通信描述信息,所述通信描述信息中包含所述端口标识、所述云服务的云服务地址、所述云服务进程的进程地址和所述客户端在所述云服务中的账户标识;
若所述云服务地址中的进程地址为空,则根据所述账户标识和所述云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址,其中,所述进程恢复请求中不包含所述客户端的鉴权信息;
根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接;通过所述云服务通信连接接收所述云服务进程发送的鉴权请求,所述鉴权请求中包含鉴权加密信息;
通过所述用户通信连接将所述鉴权请求转发到所述客户端,并接收所述客户端发送的鉴权信息,所述鉴权信息中包含根据所述鉴权加密信息和用户密钥生成的加密结果;
通过所述云服务通信连接向所述云服务发送所述加密结果,以根据所述加密结果对所述客户端进行鉴权。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述用户通信连接断开时,获取所述用户通信连接中通信端口的端口标识、所述云服务地址的进程地址和所述账户标识;
根据所获得的端口标识和进程地址,更新所述账户标识对应的通信描述信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述客户端与所述云服务进程之间的服务通信连接断开时,获取所述客户端在所述云服务中的账户标识;
若不存在对应于所述账户标识对应的通信描述信息,则根据所述服务通信连接中通信端口的端口标识、所述云服务地址的进程地址、所述云服务的云服务地址和所述账户标识,创建对应于所述账户标识的通信描述信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接之后,所述方法还包括:
通过所述用户通信连接,接收所述客户端发送的数据获取请求;
通过所述云服务通信连接向所述云服务进程转发所述数据获取请求并接收所述云服务进程针对所述数据获取请求发送的数据响应;
通过所述用户通信连接,向所述客户端发送所述数据响应。
5.根据权利要求1所述的方法,其特征在于,所述云服务的通信端口包含N个子通信端口,所述N为大于或等于2的整数;所述侦听云服务的通信端口,包括:
侦听云服务的N个子通信端口,所述N个子通信端口是在N个客户端分别与所述云服务中对应的N个云服务进程之间的历史通信中使用的端口;
所述方法还包括:
若通过M个子通信端口分别接收到M个客户端的云服务恢复请求,则分别通过所述M个子通信端口建立与所述M个客户端之间的M个用户通信连接,所述M为大于或等于2并且小于或等于所述N的整数;
根据所述M个子通信端口所对应的云服务地址,分别向所述云服务发送对应于各个云服务恢复请求的进程恢复请求,以在所述云服务中恢复处于终止态的M个云服务进程,并获得所述M个云服务进程恢复后的连接地址;
根据所获得的M个连接地址,分别建立与所述M个云服务进程之间的M个云服务通信连接,以通过所述M个用户通信连接和所述M个云服务通信连接分别建立所述M个客户端与所述M个云服务进程之间的通信连接。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述云服务发送的端口更新消息,所述端口更新消息是根据所述云服务创建新云服务进程生成的,所述端口更新消息中包含客户端与所述新云服务进程之间通信端口的端口标识;
根据所述端口更新消息中的端口标识,更新子通信端口的数量。
7.根据权利要求1所述的方法,其特征在于,所述根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求之前,所述方法还包括:
通过所述用户通信连接,向所述客户端发送类型确认请求,所述类型确认请求中携带所述云服务客户端应用的应用类型;
若接收到针对所述类型确认请求中应用类型的确认消息,则继续执行根据所述通信端口所对应的云服务地址,向所述云服务发送进程恢复请求的步骤;
若在预设时间内未接收到所述客户端针对所述类型确认请求的反馈消息或者接收到针对所述类型确认请求中应用类型的否认消息,则断开与所述客户端之间的用户通信连接。
8.根据权利要求1至7中任一项所述的方法,其特征在于,根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接之后,所述方法还包括:
当所述用户通信连接断开时,向所述云服务发送针对于所述云服务进程的进程终止消息,以将所述云服务进程切换到终止态;
根据针对所述进程终止消息反馈的进程终止结果,断开所述云服务通信连接。
9.一种建立云服务连接的装置,其特征在于,包括:
端口侦听单元,配置成侦听云服务的通信端口,所述通信端口是在客户端与所述云服务的云服务进程之间的历史通信中使用的端口;
用户连接单元,配置成若通过所述通信端口接收到所述客户端的云服务恢复请求,则通过所述通信端口建立与所述客户端之间的用户通信连接,通过所述用户通信连接,向所述客户端发送类型确认请求,以获取所述客户端的客户端应用类型,接收所述客户端针对所述类型确认请求反馈的客户端应用类型,若所述客户端应用类型不符合所述云服务客户端应用的应用类型,则断开与所述客户端之间的用户通信连接;
请求发送单元,配置成根据所述通信端口的端口标识,从本地保存的信息中获取所述通信端口对应的通信描述信息,所述通信描述信息中包含所述端口标识、所述云服务的云服务地址、所述云服务进程的进程地址和所述客户端在所述云服务中的账户标识,若所述云服务地址中的进程地址为空,则根据所述账户标识和所述云服务地址,向所述云服务发送进程恢复请求,以在所述云服务中恢复处于终止态的云服务进程,并获得所述云服务进程恢复后的连接地址,其中,所述进程恢复请求中不包含所述客户端的鉴权信息;
服务连接单元,配置成根据所获得的连接地址,建立与所述云服务进程之间的云服务通信连接,以通过所述用户通信连接和所述云服务通信连接建立所述客户端与所述云服务进程之间的服务通信连接,通过所述云服务通信连接接收所述云服务进程发送的鉴权请求,所述鉴权请求中包含鉴权加密信息,通过所述用户通信连接将所述鉴权请求转发到所述客户端,并接收所述客户端发送的鉴权信息,所述鉴权信息中包含根据所述鉴权加密信息和用户密钥生成的加密结果,通过所述云服务通信连接向所述云服务发送所述加密结果,以根据所述加密结果对所述客户端进行鉴权。
10.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至8中任意一项所述的建立云服务连接的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的建立云服务连接的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311201525.7A CN116962488B (zh) | 2023-09-18 | 2023-09-18 | 建立云服务连接的方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311201525.7A CN116962488B (zh) | 2023-09-18 | 2023-09-18 | 建立云服务连接的方法、装置、电子设备和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116962488A CN116962488A (zh) | 2023-10-27 |
CN116962488B true CN116962488B (zh) | 2023-12-19 |
Family
ID=88454828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311201525.7A Active CN116962488B (zh) | 2023-09-18 | 2023-09-18 | 建立云服务连接的方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116962488B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546510A (zh) * | 2012-07-13 | 2014-01-29 | 云联(北京)信息技术有限公司 | 基于云服务的管理系统及管理方法 |
CN103546509A (zh) * | 2012-07-13 | 2014-01-29 | 云联(北京)信息技术有限公司 | 一种节约资源的云服务系统及资源节约方法 |
CN111835711A (zh) * | 2020-06-01 | 2020-10-27 | 广东职业技术学院 | 一种数字加密的云服务信息保护方法及云服务系统 |
CN114902635A (zh) * | 2022-03-30 | 2022-08-12 | 北京小米移动软件有限公司 | 一种流量代理方法、装置、电子设备及存储介质 |
CN115002023A (zh) * | 2022-06-08 | 2022-09-02 | 邦彦技术股份有限公司 | 一种链路聚合方法、链路聚合装置、电子设备及存储介质 |
CN115002203A (zh) * | 2021-03-02 | 2022-09-02 | 京东科技信息技术有限公司 | 数据包抓取方法、装置、设备及计算机可读介质 |
CN116405332A (zh) * | 2023-06-08 | 2023-07-07 | 深圳华锐分布式技术股份有限公司 | 基于Nginx网关的服务请求方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9253252B2 (en) * | 2011-05-06 | 2016-02-02 | Citrix Systems, Inc. | Systems and methods for cloud bridging between intranet resources and cloud resources |
-
2023
- 2023-09-18 CN CN202311201525.7A patent/CN116962488B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546510A (zh) * | 2012-07-13 | 2014-01-29 | 云联(北京)信息技术有限公司 | 基于云服务的管理系统及管理方法 |
CN103546509A (zh) * | 2012-07-13 | 2014-01-29 | 云联(北京)信息技术有限公司 | 一种节约资源的云服务系统及资源节约方法 |
CN111835711A (zh) * | 2020-06-01 | 2020-10-27 | 广东职业技术学院 | 一种数字加密的云服务信息保护方法及云服务系统 |
CN115002203A (zh) * | 2021-03-02 | 2022-09-02 | 京东科技信息技术有限公司 | 数据包抓取方法、装置、设备及计算机可读介质 |
CN114902635A (zh) * | 2022-03-30 | 2022-08-12 | 北京小米移动软件有限公司 | 一种流量代理方法、装置、电子设备及存储介质 |
CN115002023A (zh) * | 2022-06-08 | 2022-09-02 | 邦彦技术股份有限公司 | 一种链路聚合方法、链路聚合装置、电子设备及存储介质 |
CN116405332A (zh) * | 2023-06-08 | 2023-07-07 | 深圳华锐分布式技术股份有限公司 | 基于Nginx网关的服务请求方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116962488A (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1934780B1 (en) | Creating secure interactive connections with remote resources | |
US7886341B2 (en) | External authentication against a third-party directory | |
CN112261172B (zh) | 服务寻址访问方法、装置、系统、设备及介质 | |
EP3316544A1 (en) | Token generation and authentication method, and authentication server | |
US20100088698A1 (en) | Techniques for managing communication sessions | |
CN106713391B (zh) | 一种session信息的共享方法和共享系统 | |
CN107528891B (zh) | 一种基于WebSocket的自动集群方法及其系统 | |
CN112968963B (zh) | 基于WebSocket进行用户强制实时下线的方法 | |
US9417887B2 (en) | Method and apparatus for bootstrapping gateway in device management system | |
CN110909030B (zh) | 一种信息处理方法及服务器集群 | |
CN103546528A (zh) | 分布式消息推送方法及系统 | |
WO2024002143A1 (zh) | 一种根证书更新方法、装置 | |
CN116962488B (zh) | 建立云服务连接的方法、装置、电子设备和可读介质 | |
CN112733051A (zh) | 一种基于WebSocket的信息推送管理系统及其方法 | |
CN111427703A (zh) | 工业数据实时展示方法及系统 | |
CN110912676A (zh) | 一种密钥管理方法及系统 | |
CN115604340A (zh) | 会话控制方法及装置、电子设备、存储介质 | |
CN109347966B (zh) | 一种服务器集群通讯方法及终端设备及通讯服务器 | |
CN105791238A (zh) | 防止无线局域网dhcp泛洪攻击的方法 | |
CN111885157B (zh) | 物联网网间设备通信方法、系统及边缘节点 | |
CN116545777B (zh) | 用户类别切换方法、装置、存储介质与电子设备 | |
CN114945173B (zh) | 跨plmn信令转发方法、电子设备及存储介质 | |
CN113347627B (zh) | 无线网络接入方法、装置和移动终端 | |
CN103200211A (zh) | 一种数据同步方法、系统和设备 | |
CN117857610A (zh) | 数据通信方法和装置、计算机可读存储介质、电子设备 |
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 |