CN116846639A - 服务连接建立的方法、装置、服务器及可读存储介质 - Google Patents
服务连接建立的方法、装置、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN116846639A CN116846639A CN202310823901.XA CN202310823901A CN116846639A CN 116846639 A CN116846639 A CN 116846639A CN 202310823901 A CN202310823901 A CN 202310823901A CN 116846639 A CN116846639 A CN 116846639A
- Authority
- CN
- China
- Prior art keywords
- cloud server
- private cloud
- service connection
- server
- address information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000003993 interaction Effects 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 79
- 230000006870 function Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 18
- 238000013475 authorization Methods 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
- H04L63/0218—Distributed architectures, e.g. distributed firewalls
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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
-
- 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/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Cardiology (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种服务连接建立的方法、装置、服务器及可读存储介质该方法包括:获取第一私有云服务器的第一地址信息;根据所述第一地址信息,通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接;根据与所述第一私有云服务器的服务连接,通过所述第一私有云服务器访问所述第一私有云服务器部署的应用功能。本发明能够解决现有技术中的云化部署方案存在安全性能低的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种服务连接建立的方法、装置、服务器及可读存储介质。
背景技术
目前,对于类似消息服务或者即时通讯(Instant Messaging,IM)的云化部署主要是,消息或者IM服务部署在公有云,而服务使用到的中间件部署在私有云,通过打通公有云到私有云的网络权限,即打通公有云到私有云各个中间件的网际互联协议(InternetProtoco,IP)和端口,使公有云服务有权限访问私有云部署的各个中间件。这样会存在较大的安全隐患,导致私有云的网络权限过多的暴露,容易引起网络攻击和数据窃取。
发明内容
本发明提供一种服务连接建立的方法、装置、服务器及可读存储介质,解决了现有技术中的云化部署方案存在安全性能低的问题。
本发明的实施例提供一种服务连接建立的方法,应用于公有云服务器,所述方法包括:
获取第一私有云服务器的第一地址信息;
根据所述第一地址信息,通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接;
根据与所述第一私有云服务器的服务连接,通过所述第一私有云服务器访问所述第一私有云服务器部署的应用功能。
可选地,所述获取第一私有云服务器的第一地址信息,包括:
向超文本传输协议(HyperText Transfer Protocol,HTTP)服务器发送地址请求消息;其中,所述地址请求消息用于获取所述第一地址信息;
接收所述HTTP服务器发送的地址响应消息;其中,所述地址响应消息携带所述第一地址信息。
可选地,所述第一地址信息是所述HTTP服务器从分布式协调服务器获得的;其中,所述分布式协调服务器用于存储私有云服务器和/或公有云服务器的地址信息,且所述地址信息均为有效的地址信息。
可选地,所述通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接,包括:
向所述第一私有云服务器发送第一连接请求消息;
在接收到所述第一私有云服务器发送的第一连接响应消息的情况下,确定建立与所述第一私有云服务器的服务连接;其中,所述第一连接响应消息是所述第一私有云服务器在确定所述公有云服务器授权验证通过的情况下发送的。
可选地,所述建立与所述第一私有云服务器的服务连接之后,还包括:
向所述第一私有云服务器发送第一心跳包;
根据所述第一私有云服务器对所述第一心跳包的响应,确定与所述第一私有云服务器的第一服务连接状态;其中,所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开。
可选地,所述的方法还包括:
在所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,获取第二私有云服务器的第二地址信息;
根据所述第二地址信息,通过与所述第二私有云服务器之间的消息交互,建立与所述第二私有云服务器的服务连接;
根据与所述第二私有云服务器的服务连接,通过所述第二私有云服务器访问所述第二私有云服务器部署的应用功能。
可选地,所述的方法还包括:
接收用户设备发送的第二连接请求消息;其中,所述第二连接请求消息携带所述用户设备的用户信息;
根据所述第二连接请求消息,建立与用户设备的服务连接;
存储所述用户设备对应的服务连接相关信息,并将所述用户设备的用户信息发送给所述第一私有云服务器。
可选地,所述建立与用户设备的服务连接之后,还包括:
根据所述用户设备的第二心跳包,确定与所述用户设备的第二服务连接状态;其中,所述第二服务连接状态为与所述用户设备的服务连接已断开,或者与所述用户设备的服务连接未断开;
在所述第二服务连接状态为与所述用户设备的服务连接已断开的情况下,删除所述用户设备对应的服务连接相关信息,并向所述第一私有云服务器发送通知消息;其中,所述通知消息用于删除所述用户设备的用户信息。
本发明实施例还提供一种服务连接建立的方法,应用于第一私有云服务器,所述方法包括:
通过与公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接;
根据与所述公有云服务器的服务连接,向所述公有云服务器提供访问所述第一私有云服务器部署的应用功能。
可选地,所述建立与所述公有云服务器的服务连接之前,还包括:
向分布式协调服务器发送第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
在接收到所述分布式协调服务器发送的第一创建响应消息的情况下,向所述分布式协调服务器发送第三心跳包;其中,所述第三心跳包用于确定与所述分布式协调服务器的第三服务连接状态,所述第三服务连接状态为与所述分布式协调服务器的服务连接已断开,或者与所述分布式协调服务器的服务连接未断开。
可选地,所述通过与所述公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接,包括:
接收所述公有云服务器发送的第一连接请求消息;
根据所述第一连接请求消息,对所述公有云服务器进行授权验证;
在确定授权验证通过的情况下,建立与所述公有云服务器的服务连接,并向所述公有云服务器发送第一连接响应消息。
可选地,所述建立与所述公有云服务器的服务连接之后,还包括:
接收所述公有云服务器发送的第一心跳包;
向所述公有云服务器发送对所述第一心跳包的响应,并向分布式协调服务器发送第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
接收所述分布式协调服务器发送的第二创建响应消息,并根据所述第一心跳包的间隔时间向所述分布式协调服务器更新所述第二节点的有效时间。
可选地,所述第二节点的有效时间为N倍的所述第一心跳包的间隔时间,N为正整数。
本发明实施例还提供一种服务连接建立的方法,应用于分布式协调服务器,所述方法包括:
接收HTTP服务器发送的调用请求消息;其中,所述调用请求消息用于获取第一私有云服务器的第一地址信息;
向所述HTTP服务器发送调用响应消息;其中,所述调用响应消息携带所述第一地址信息,所述第一地址信息用于建立公有云服务器与所述第一私有云服务器的服务连接,所述服务连接提供所述公有云服务器访问所述私有云服务器部署的应用功能。
可选地,所述接收HTTP服务器发送的调用请求消息之前,还包括:
接收所述第一私有云服务器发送的第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
根据所述第一创建请求消息,创建所述第一节点以及存储所述第一地址信息,并向所述第一私有云服务器发送第一创建响应消息。
可选地,所述向所述第一私有云服务器发送第一创建响应消息之后,还包括:
根据所述第一私有云服务器的第三心跳包,确定与所述第一私有云服务器的第四服务连接状态;其中,所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开;
在所述第四服务连接状态为与所述第一私有云服务器的服务连接未断开的情况下,维持所述第一节点并存储所述第一地址信息;
在所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,释放所述第一节点并删除所述第一地址信息。
可选地,所述向所述HTTP服务器发送调用响应消息之后,还包括:
接收所述第一私有云服务器发送的第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
根据所述第二创建请求消息,创建所述第二节点以及存储所述第三地址信息,并向所述第一私有云服务器发送第二创建响应消息。
可选地,所述向所述第一私有云服务器发送第二创建响应消息之后,还包括:
接收所述第一私有云服务器发送的所述第二节点的有效时间;
在所述第二节点的有效时间内,维持所述第二节点并存储所述第三地址信息;
在超过所述第二节点的有效时间后,释放所述第二节点并删除所述第三地址信息。
本发明实施例还提供一种服务连接建立的装置,应用于公有云服务器,所述装置包括:
第一获取模块,用于获取第一私有云服务器的第一地址信息;
第一建立模块,用于根据所述第一地址信息,通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接;
第一访问模块,用于根据与所述第一私有云服务器的服务连接,通过所述第一私有云服务器访问所述第一私有云服务器部署的应用功能。
本发明实施例还提供一种服务连接建立的装置,应用于第一私有云服务器,所述装置包括:
建立模块,用于通过与公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接;
服务模块,用于根据与所述公有云服务器的服务连接,向所述公有云服务器提供访问所述第一私有云服务器部署的应用功能。
本发明实施例还提供一种服务连接建立的装置,应用于分布式协调服务器,所述装置包括:
第一接收模块,用于接收HTTP服务器发送的调用请求消息;其中,所述调用请求消息用于获取第一私有云服务器的第一地址信息;
第一响应模块,用于向所述HTTP服务器发送调用响应消息;其中,所述调用响应消息携带所述第一地址信息,所述第一地址信息用于建立公有云服务器与所述第一私有云服务器的服务连接,所述服务连接提供所述公有云服务器访问所述私有云服务器部署的应用功能。
本发明实施例还提供一种服务器,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述计算机程序时实现如上所述公有云服务器侧的服务连接建立的方法的步骤;或者,所述处理器执行所述计算机程序时实现如上所述第一私有云服务器侧的服务连接建立的方法的步骤;或者,所述处理器执行所述计算机程序时实现如上所述分布式协调服务器侧的服务连接建立的方法的步骤。
本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述公有云服务器侧的服务连接建立的方法的步骤,或者所述计算机程序被处理器执行时实现如上所述第一私有云服务器侧的服务连接建立的方法的步骤,或者所述计算机程序被处理器执行时实现如上所述分布式协调服务器侧的服务连接建立的方法的步骤。
本发明的实施例中,公有云服务器通过获取第一私有云服务器的第一地址信息,并根据所述第一地址信息建立与所述第一私有云服务器之间的服务连接,以使得公有云服务器可以基于与所述第一私有云服务器的服务连接,通过该第一私有云服务器,获得所述第一私有云服务器中部署的各个中间件提供的应用功能(或服务功能)。该方案可以避免第一私有云服务器通过开放其网络权限的方式,提供外部设备直接访问各个中间件提供的应用功能(或服务功能)而导致的安全隐患,从而提高了云化部署方案的安全性能,避免网络攻击或数据窃取等问题。
附图说明
图1表示本发明实施例的公有云服务器侧的服务连接建立的方法流程图;
图2表示本发明实施例的云化部署架构的示意图之一;
图3表示本发明实施例的集群状态的示意图;
图4表示本发明实施例的第一私有云服务器侧的服务连接建立的方法流程图;
图5表示本发明实施例的分布式协调服务器侧的服务连接建立的方法流程图;
图6表示本发明实施例的服务启动及建立连接流程示意图;
图7表示本发明实施例的云化部署架构的示意图之二;
图8表示本发明实施例的公有云服务器侧的服务连接建立的装置的框图;
图9表示本发明实施例的第一私有云服务器侧的服务连接建立的装置的框图;
图10表示本发明实施例的分布式协调服务器侧的服务连接建立的装置的框图;
图11表示本发明实施例的服务器的框图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
如图1所示,本发明实施例提供一种服务连接建立的方法,应用于公有云服务器,所述方法包括以下步骤:
步骤11:获取第一私有云服务器的第一地址信息。
可选地,公有云服务器中部署消息或者IM服务等,用于提供对外服务。该公有云服务器可以与用户设备直接建立服务连接。公有云服务器也可以与私有云服务器建立服务连接,比如作为私有云服务器的客户端时,用于请求转发和响应下发等,本发明实施例不以此为限。
可选地,私有云服务器可以与各个中间件直接连接和交互,比如作为公有云服务器的服务端,可以通过各个中间件为公有云服务器提供应用功能。其中各个中间件用于实现各种应用功能(或者称为服务功能),比如中间件包括但不限于以下至少一项:远程字典服务(Remote Dictionary Server,Redis),比如可以维护各个服务器实例的在线用户数;关系型数据库管理系统(MySQL);基于分布式文件存储的数据库(MongoDB);开源流处理平台(Kafka)等,本发明实施例不以此为限。
步骤12:根据所述第一地址信息,通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接。
可选地,公有云服务器与所述第一私有云服务器之间的消息交互包括但不限于:公有云服务器与所述第一私有云服务器之间进行至少一次信息交互,比如一次信息交互可以是由公有云服务器向所述第一私有云服务器发送消息,且该第一私有云服务器针对该消息进行响应等。
可选地,所述服务连接可以是长连接,比如该长连接包括但不限于:套接字(socket)长连接等。
步骤13:根据与所述第一私有云服务器的服务连接,通过所述第一私有云服务器访问所述第一私有云服务器部署的应用功能。
可选地,在所述公有云服务器通过第一地址信息与所述第一私有云服务器之间建立服务连接的情况下,即表示公有云服务器与所述第一私有云服务器之间已完成授权认证,则公有云服务器可以基于与所述第一私有云服务器之间的服务连接,通过该第一私有云服务器来访问第一私有云服务器中部署的各个中间件,即作为第一私有云服务器的客户端获得其部署的各个中间件的应用功能(或服务功能),而无需第一私有云服务器开放各个中间件的端口访问权限,由公有云服务器直接访问各个中间件,从而提高了安全性。
该实施例中,公有云服务器通过获取第一私有云服务器的第一地址信息,并根据所述第一地址信息建立与所述第一私有云服务器之间的服务连接,以使得公有云服务器可以基于与所述第一私有云服务器的服务连接,通过该第一私有云服务器获得所述第一私有云服务器中部署的各个中间件提供的应用功能(或服务功能),从而可以实现公有云服务器的快速扩容。并且该方案还可以避免第一私有云服务器通过开放其网络权限的方式,提供外部设备直接访问各个中间件各个中间件提供的应用功能(或服务功能)而导致的安全隐患,从而提高了云化部署方案的安全性能,避免网络攻击或数据窃取等问题。
可选地,公有云服务器获取第一私有云服务器的第一地址信息,可以是通过调用HTTP接口获得所述第一私有云服务器的第一地址信息。
具体的,所述获取第一私有云服务器的第一地址信息,包括:
向HTTP服务器发送地址请求消息;其中,所述地址请求消息用于获取所述第一地址信息;
接收所述HTTP服务器发送的地址响应消息;其中,所述地址响应消息携带所述第一地址信息。
例如:所述HTTP服务器可以为公有云服务器提供第一私有云服务器的第一地址信息,也可以通过查询其他服务器存储的第一私有云服务器的第一地址信息,并提供给公有云服务器等,本发明实施例不以此为限。
可选地,所述第一地址信息是所述HTTP服务器从分布式协调服务器获得的;其中,所述分布式协调服务器用于存储私有云服务器和/或公有云服务器的地址信息,且所述地址信息均为有效的地址信息。
在混合云socket通讯中常会出现私有云服务器地址失效的情况,目前的故障转移方式通常是需要人工手动切换、重启服务等,导致服务不稳定、不可靠。而本发明实施例中,通过分布式协调服务器存储私有云服务器和/或公有云服务器的有效的地址信息,可以避免公有云服务器获得失效的私有云服务器的地址信息,和/或,避免用户设备获得失效的公有云服务器的地址信息等。
举例来说,私有云服务器可以在分布式协调服务器中存储自身的地址信息,也可以在建立与所述公有云服务器之间的服务连接后,在分布式协调服务器中存储该公有云服务器的地址信息。比如私有云服务器可以在分布式协调服务器中建立第一节点,用于指示该私有云服务器的地址信息是否有效(如该分布式协调服务器中存在该第一节点时表示相应私有云服务器的地址信息有效,当该私有云服务器与该分布式协调服务器失联时,该分布式协调服务器删除第一节点,即表示该私有云服务器的地址信息失效),这样可以避免用户设备或公有云服务获得失效的地址信息,并有利于提高服务器的稳定性和可靠性。
相应的,私有云服务器在建立与所述公有云服务器之间的服务连接后,可以向分布式协调服务器建立第二节点,用于指示该公有云服务器的地址信息是否有效(比如该分布式协调服务器中存在该第一节点时表示该公有云服务器的地址信息有效,当该私有云服务器与该公有云服务器失联时,该私有云服务器可以请求分布式协调服务器删除第一节点,即表示该公有云服务器的地址信息失效),可以防止用户设备获取到失效的公有云服务器的地址信息,并有利于提高服务器的稳定性和可靠性。
参见图2,给出了一种云化部署架构的示意图,该云化部署架构主要包括:公有云服务器、私有云服务、HTTP服务器、各个中间件等,还可以包括有:分布式协调服务器(zookeeper)等。
其中,用户设备可以通过HTTP服务器获取公有云服务器的地址信息,以通过该公有云服务器的地址信息与该公有云服务器建立socket长连接;公有云服务器也可以通过HTTP服务器获得私有云服务器的地址信息,以通过该私有云服务器的地址信息与该私有云服务器建立socket长连接。
分布式协调服务器(zookeeper),用于维护存活的私有云服务器和公有云服务器列表,即zookeeper存储的私有云服务器和公有云服务器的地址信息均为有效的地址信息。
HTTP服务器,用于提供公共网关接口(Common Gateway Interface,CGI)给公有云服务器,从zookeeper获取私有云服务器用于连接的地址信息;以及提供给用户设备,从zookeeper获取公有云服务器用于连接的地址信息。
中间件,用于提供应用功能(或服务功能),如Redis、MySQL、MongoDB、Kafka等。
可选地,所述通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接,包括:
向所述第一私有云服务器发送第一连接请求消息;
在接收到所述第一私有云服务器发送的第一连接响应消息的情况下,确定建立与所述第一私有云服务器的服务连接;其中,所述第一连接响应消息是所述第一私有云服务器在确定所述公有云服务器授权验证通过的情况下发送的。
例如:在公有云服务器获取到所述第一私有云服务器的第一地址信息的情况下,可以向该第一私有云服务器发送第一请求消息,以建立与所述第一私有云服务器之间的服务连接。该第一私有云服务器接收到所述第一请求消息后,可以对该公有云服务器进行验证,比如通过调用授权的服务器列表并验证该公有云服务器是否在该授权的服务器列表中,如果该公有云服务器是否在该授权的服务器列表中,则确定授权验证通过,否则确定授权验证不通过。在所述第一私有云服务器确定授权验证通过的情况下,向该公有云服务发送第一连接响应消息,以通知该公有云服务器与所述第一私有云服务器之间的服务连接建立成功,以保证网络连接的安全性。
可选地,如果所述第一私有云服务器确定验证不通过,还可以向该公有云服务器发送失败响应,以通知该公有云服务器与所述第一私有云服务器之间的服务连接建立失败等,本发明实施例不以此为限。
可选地,所述建立与所述第一私有云服务器的服务连接之后,还包括:
向所述第一私有云服务器发送第一心跳包;
根据所述第一私有云服务器对所述第一心跳包的响应,确定与所述第一私有云服务器的第一服务连接状态;其中,所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开。
该实施例中,所述公有云服务器与所述第一私有云服务器之间建立服务连接后,可以由公有云服务器定时向所述第一公有云服务器发送第一心跳包,以便于所述公有云服务器与所述第一私有云服务器,确定所述第一服务连接状态。
可选地,如果公有云服务器发送所述第一心跳包后的预设时长内,接收到所述第一私有云服务器对所述第一心跳包的响应,则所述公有云服务器确定所述第一服务连接状为与所述第一私有云服务器的服务连接未断开,否则确定所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开。相应的,所述公有云服务器与所述第一私有云服务器之间建立服务连接后,如果所述第一私有云服务器接收到所述公有云服务器发送的第一心跳包,则所述第一私有云服务器确定所述第一服务连接状为与所述第一私有云服务器的服务连接未断开,否则确定所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开。
可选地,所述方法还包括:
在所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,获取第二私有云服务器的第二地址信息;
根据所述第二地址信息,通过与所述第二私有云服务器之间的消息交互,建立与所述第二私有云服务器的服务连接;
根据与所述第二私有云服务器的服务连接,通过所述第二私有云服务器访问所述第二私有云服务器部署的应用功能。
该实施例中,在所述公有云服务器确定与所述第一私有云服务器的服务连接已断开的情况下,可以自动调用http接口获取新的私有云服务器的地址信息(即通过HTTP服务器获取第二私有云服务器的第二地址信息),并重新建立与新的私有云服务器之间的服务连接,以使得公有云服务器可以通过该新的私有云服务器访问其部署的中间件的应用功能(或者服务功能),实现了故障自动切换。
可选地,所述方法还包括:
接收用户设备发送的第二连接请求消息;其中,所述第二连接请求消息携带所述用户设备的用户信息;
根据所述第二连接请求消息,建立与用户设备的服务连接;
存储所述用户设备对应的服务连接相关信息,并将所述用户设备的用户信息发送给所述第一私有云服务器。
该实施例中,用户设备可以调用HTTP服务器,获取所述公有云服务器的第三地址信息,并根据该第三地址信息,通过与所述公有云服务器之间的消息交互,建立与所述公有云服务器之间的服务连接(比如socket长连接)。
其中,在所述用户终端与所述公有云服务器之间的消息交互过程中,所述用户设备可以向所述公有云服务器发送第二连接请求消息;其中,所述第二连接请求消息用于建立用户终端与所述公有云服务器之间的服务连接,且携带有所述用户设备的用户信息。这样公有云服务器在接收到用户设备的第二连接请求消息时,建立与所述用户设备的服务连接,并在内存维护用户设备对应的服务连接相关信息(比如公有云服务器与所述用户设备之间建立socket长连接,则所述服务连接相关信息即是用户设备与该socket长连接的关系),并且还可以将用户设备的用户信息注册到所述第一私有云服务器,这样该第一私有云服务器可以在内存维护所述用户设备的用户信息(比如将该用户设备与该公有云服务器的地址的关系维护到Redis)。
可选地,所述建立与用户设备的服务连接之后,还包括:
根据所述用户设备的第二心跳包,确定与所述用户设备的第二服务连接状态;其中,所述第二服务连接状态为与所述用户设备的服务连接已断开,或者与所述用户设备的服务连接未断开;
在所述第二服务连接状态为与所述用户设备的服务连接已断开的情况下,删除所述用户设备对应的服务连接相关信息,并向所述第一私有云服务器发送通知消息;其中,所述通知消息用于删除所述用户设备的用户信息。
具体的,在所述用户终端与所述公有云服务器之间建立服务连接后,可以由用户设备向所述公有云服务器发送第二心跳包,以便于用户设备与所述公有云服务器,确定所述第二服务连接状态。
可选地,如果用户设备发送所述第二心跳包后的预设时长内,接收到所述公有云服务器对所述第二心跳包的响应,则所述用户设备确定所述第二服务连接状为与所述公有云服务器的服务连接未断开,否则确定所述第二服务连接状态为与所述公有云服务器的服务连接已断开。相应的,所述公有云服务器与所述用户设备之间建立服务连接后,如果所述公有云服务器接收到所述用户设备发送的第二心跳包,则所述公有云服务器确定所述第二服务连接状为与所述用户设备的服务连接未断开,否则确定所述第二服务连接状态为与所述用户设备的的服务连接已断开。
该实施例中,当公有云服务器确定与所述用户设备的服务连接已断开后,可以将其该用户设备对应的服务连接相关信息从内存移除(比如公有云服务器与所述用户设备之间建立socket长连接,则所述公有云服务器从内存中移除所述用户设备与该socket长连接的关系),并且还可以通知所述第一私有云服务器,将该用户终端的用户信息移除(比如将该用户设备与该公有云服务器的地址的关系从Redis中移除)。
可选地,用户终端可以是移动电话(或手机),或者其他能够发送或接收无线信号的设备,包括用户设备、个人数字助理(PDA)、无线调制解调器、无线通信装置、手持装置、膝上型计算机、无绳电话、无线本地回路(WLL)站、能够将移动信号转换为WiFi信号的CPE(Customer Premise Equipment,客户终端)或移动智能热点、智能家电、或其他不通过人的操作就能自发与移动通信网络通信的设备等,本发明实施例不以此为限。
需要说明的是,本发明实施例是以单个公有云服务器、单个用户设备为例说明的,而在实际应用中可以有多个用户设备连接到服务器(如对于用户设备而言,其不能获知所连接的服务器是公有云服务器还是私有云服务器,因此这里的服务器可以是公有云服务器和/或私有云服务器),即集群状态,如图3所示,在集群状态下可以存在多个用户设备和多个服务器,如用户设备1(user1)、用户设备2(user2)连接到服务器1(server1),用户设备3(user3)、用户设备4(user4)连接到服务器2(server2)。
如图4所示,本发明实施例还提供一种服务连接建立的方法,应用于第一私有云服务器,所述方法包括以下步骤:
步骤41:通过与公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接。
步骤42:根据与所述公有云服务器的服务连接,向所述公有云服务器提供访问所述第一私有云服务器部署的应用功能。
本发明实施例应用于第一私有云服务器的方法,与上述应用于公有云服务器侧的方法是基于同一发明构思的,其实施例之间可以互相参见,且能达到相同的技术效果。这里为了避免重复,仅针对第一私有云服务器侧的实施例进行补充说明,其相似之处不再赘述。
可选地,所述建立与所述公有云服务器的服务连接之前,还包括:
向分布式协调服务器发送第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
在接收到所述分布式协调服务器发送的第一创建响应消息的情况下,向所述分布式协调服务器发送第三心跳包;其中,所述第三心跳包用于确定与所述分布式协调服务器的第三服务连接状态,所述第三服务连接状态为与所述分布式协调服务器的服务连接已断开,或者与所述分布式协调服务器的服务连接未断开。
例如:在第一私有云服务器启动后,将自身信息(如IP、端口等信息)注册到分布式协调服务器(zookeeper),创建1个临时节点(即第一节点)。其中,该第一私有云服务器与zookeeper之间建立服务连接后,可以通过第三心跳包确定两者之间的第三服务连接状态。
在第一私有云服务器与zookeeper之间的服务连接有效的持续时间内(即第三服务连接状态为第一私有云服务器与所述分布式协调服务器的服务连接未断开的过程中),所述zookeeper中维护有该第一节点,以表示该第一私有云服务器的地址信息有效。当该第一私有云服务器与该zookeeper之间失去联系(即第三服务连接状态为第一私有云服务器与所述分布式协调服务器的服务连接已断开)的情况下,所述zookeeper删除所述第一节点,以表示所述第一私有云服务器的地址信息失效,从而可以防止公有云服务器或用户设备通过http接口获取到失效的私有云服务器的地址信息,并有利于提高服务器的稳定性和可靠性。
可选地,所述通过与所述公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接,包括:
接收所述公有云服务器发送的第一连接请求消息;
根据所述第一连接请求消息,对所述公有云服务器进行授权验证;
在确定授权验证通过的情况下,建立与所述公有云服务器的服务连接,并向所述公有云服务器发送第一连接响应消息。
该实施例中,当第一私有云服务器接收到公有云服务器发送的第一连接请求时,可以先验证该公有云服务器是否在授权的名单内,如果该公有云服务器在授权的名单内,则确定授权验证通过,才会接受该服务连接并向该公有云服务器发发送第一响应消息以通知接受该服务连接,以保证网络连接的安全性。
可选地,所述建立与所述公有云服务器的服务连接之后,还包括:
接收所述公有云服务器发送的第一心跳包;
向所述公有云服务器发送对所述第一心跳包的响应,并向分布式协调服务器发送第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
接收所述分布式协调服务器发送的第二创建响应消息,并根据所述第一心跳包的间隔时间向所述分布式协调服务器更新所述第二节点的有效时间。
例如:在第一私有云服务器与所述公有云服务器之间建立服务连接后,第一私有云服务器与该公有云服务器之间可以通过第一心跳包确定两者之间的第一服务连接状态,并且该第一私有云服务器还可以将该公有云服务器的地址信息维护到分布式协调服务器中,比如第一私有云服务器通过分布式协调服务器创建1个TTL节点(即第二节点,节点名称可以采用该公有云服务器的地址信息命名,或者也可以采用其他命名方式等,本发明实施例不以此为限)。
具体的,在第一私有云服务器与所述公有云服务器之间建立服务连接后,由公有云服务器发送的第一心跳包除了可以用于确定两者之间的第一服务连接状态之外,还可以用于第一私有云服务器更新所述第二节点的有效时间。若该第二节点未过期,则表示该公有云服务器可用,则分布式协调服务器将维护该第二节点;若该第二节点过期,则表示此公有云服务器不可用,则分布式协调服务器可以将其移除,以防止用户设备通过http接口获取到失效的公有云服务器的地址信息。
可选地,所述第二节点的有效时间为N倍的所述第一心跳包的间隔时间,N为正整数。例如:设置第二节点的有效时间为2倍的第一心跳包的间隔时间。
如图5所示,本发明实施例提供一种服务连接建立的方法,应用于分布式协调服务器,所述方法包括以下步骤:
步骤51:接收HTTP服务器发送的调用请求消息;其中,所述调用请求消息用于获取第一私有云服务器的第一地址信息;
步骤52:向所述HTTP服务器发送调用响应消息;其中,所述调用响应消息携带所述第一地址信息,所述第一地址信息用于建立公有云服务器与所述第一私有云服务器的服务连接,所述服务连接提供所述公有云服务器访问所述私有云服务器部署的应用功能。
该实施例中,分布式协调服务器用于维护公有云服务器和/或私有云服务器的地址信息。
例如:用户设备通过HTTP服务器调用公有云服务器或私有云服务器的地址信息时,该HTTP服务器可以向分布式协调服务器所述调用请求消息,则该分布式协调服务器可以通过对所述调用请求消息的相应消息反馈相应的地址信息。
又例如:公有云服务器通过HTTP服务器调用私有云服务器的地址信息时,该HTTP服务器可以向分布式协调服务器所述调用请求消息,则该分布式协调服务器可以通过对所述调用请求消息的相应消息反馈相应的地址信息。
可选地,所述接收HTTP服务器发送的调用请求消息之前,还包括:
接收所述第一私有云服务器发送的第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
根据所述第一创建请求消息,创建所述第一节点以及存储所述第一地址信息,并向所述第一私有云服务器发送第一创建响应消息。
该实施例中,分布式协调服务器通过创建节点维护公有云服务器和/或私有云服务器的地址信息,比如私有云服务器可以通过分布式协调服务器创建自身的第一节点,用于指示该私有云服务器的地址信息是否有效。其中,当所述分布式协调服务器中存在所述第一节点时,表示该第一节点对应的私有云服务器有效,即该私有云服务器的地址信息为有效的地址信息;当所述分布式协调服务器中不存在所述第一节点时,表示该第一节点对应的私有云服务器失效,即该私有云服务器的地址信息为无效的地址信息。
具体的,所述向所述第一私有云服务器发送第一创建响应消息之后,还包括:
根据所述第一私有云服务器的第三心跳包,确定与所述第一私有云服务器的第四服务连接状态;其中,所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开;
在所述第四服务连接状态为与所述第一私有云服务器的服务连接未断开的情况下,维持所述第一节点并存储所述第一地址信息;
在所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,释放所述第一节点并删除所述第一地址信息。
可选地,所述向所述HTTP服务器发送调用响应消息之后,还包括:
接收所述第一私有云服务器发送的第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
根据所述第二创建请求消息,创建所述第二节点以及存储所述第三地址信息,并向所述第一私有云服务器发送第二创建响应消息。
该实施例中,分布式协调服务器通过创建节点维护公有云服务器和/或私有云服务器的地址信息,比如私有云服务器可以通过分布式协调服务器创建与其连接的公有云服务器的第二节点,用于指示该公有云服务器的地址信息是否有效。其中,当所述分布式协调服务器中存在所述第二节点时,表示该第二节点对应的公有云服务器有效,即该公有云服务器的地址信息为有效的地址信息;当所述分布式协调服务器中不存在所述第二节点时,表示该第二节点对应的公有云服务器失效,即该公有云服务器的地址信息为无效的地址信息。
具体的,所述向所述第一私有云服务器发送第二创建响应消息之后,还包括:
接收所述第一私有云服务器发送的所述第二节点的有效时间;
在所述第二节点的有效时间内,维持所述第二节点并存储所述第三地址信息;
在超过所述第二节点的有效时间后,释放所述第二节点并删除所述第三地址信息。
本发明实施例中应用于分布式协调服务器的方法,与上述应用于第一私有云服务器侧的方法是基于同一发明构思的,其实施例之间可以互相参见,且能达到相同的技术效果,这里为了避免重复,不再进行赘述。
以下结合具体实施例,对本发明的服务启动及建立连接流程,以及业务处理流程进行说明:
实施例1:服务启动及建立连接流程;
如图6所示,给出了一种服务启动及建立连接流程的示意图,具体包括以下步骤:
步骤0:私有云服务器启动后,将自身信息注册到zookeeper,创建1个临时节点(即第一节点),当私有云服务器与zookeeper失去联系后,zookeeper便自动将此临时节点删除,防止公有云服务器通过http接口获取到失效的私有云服务器的地址信息。
步骤1:公有云服务器启动后,向HTTP服务器发送地址请求消息。
步骤2:HTTP服务器向公有云服务器反馈地址请求响应,携带所述私有云服务器的地址信息。
这样,通过步骤1和步骤2即完成公有云服务器调用HTTP服务器获取私有云服务器的地址信息。
步骤3:公有云服务器与所述私有云服务器建立socket长连接。
具体的,公有云服务器可以向私有云服务器发送第一连接请求消息,当私有云服务接收到公有云服务器的第一连接请求消息时,可以先检查该公有云服务器是否在授权的名单内,当该公有云服务器是否在授权的名单内时,该私有云服务器才会接受连接。
步骤4:公有云服务器定时发送心跳包给私有云服务器。
此时,当私有云服务器接收到公有云服务器发送的心跳包时,即表示连接成功。当连接建立后,私有云服务器再将公有云服务器的地址信息维护到zookeeper中。
具体的,私有云服务器可以通过zookeeper创建1个TTL节点(节点名称为公有云服务器的地址信息),节点过期时间可以为N倍(如N为2或其他数值)的公有云服务器发送的心跳包的间隔时间,并且私有云服务器可以根据该心跳包的间隔时间来更新该TTL节点的过期时间。若该TTL节点过期,表示此公有云服务器不可用,便将其从zookeeper移除,以防止用户设备通过http接口获取到失效的公有云服务器的地址信息。
可选地,当公有云服务器发送的心跳包没有收到响应时,可以自动调用http接口获取新的私有云服务器的地址信息,并重新进行连接,以实现自动故障切换,提高服务器的稳定性和可靠性。
步骤5:用户设备向HTTP服务器发送地址请求消息。
步骤6:HTTP服务器向用户设备反馈地址请求响应,携带所述公有云服务器的地址信息。
这样,通过步骤5和步骤6即完成用户设备调用HTTP服务器获取公有云服务器的地址信息。
步骤7:用户设备与公有云服务器建立socket长连接。
此时,公有云服务器在内存维护该用户设备与该socket长连接之间的关系,且将该用户设备的用户信息注册到私有云服务器,该私有云服务器将给该用户设备和该公有云服务器的地址信息之间的关系维护到Redis。
步骤8:用户设备定时发送心跳包给公有云服务器。
此时,当公有云服务器接收到用户设备发送的心跳包时,即表示连接成功。如果不能接收到用户设备发送的心跳包,则表示公有云服务器与用户设备之间的socket长连接断开,则将用户设备与该socket长连接之间的关系从内存移除,并通知给私有云服务器,将该用户设备和该公有云服务器的地址信息之间的关系也从Redis中移除。
实施例2:业务处理流程;
当用户设备A要发送消息给用户设备B时,对应的云化部署架构如图7所示,具体包括以下步骤:
步骤1:用户设备A调用HTTP服务器的消息(sendMessage)接口,由HTTP服务器进行逻辑校验等,并在校验通过后将消息保存到mongoDB,然后发送消息到kafka。
步骤2:私有云服务器监听到kafka的消息后,通过Redis找到用户设备B所在的公有云服务器的地址信息,然后再进一步判断公有云服务器的地址信息和socket长连接是否维护在自身内存,若是,则通过该socket长连接将消息下发公有云服务器,最终再由公有云服务器将消息下发给用户设备B。
本申请的上述方案,可以避免私有云服务器的网络权限过多的暴露,规避安全隐患,并且支持公有云服务器的快速扩容。此外,公有云服务器连接私有云服务器可以自动进行故障转移,保证负载均衡,并且公有云服务器和私有云服务器还可以支持集群部署,提高服务可用性。
如图8所示,本发明实施例提供一种服务连接建立的装置800,应用于公有云服务器,所述装置800包括:
第一获取模块810,用于获取第一私有云服务器的第一地址信息;
第一建立模块820,用于根据所述第一地址信息,通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接;
第一访问模块830,用于根据与所述第一私有云服务器的服务连接,通过所述第一私有云服务器访问所述第一私有云服务器部署的应用功能。
可选地,所述第一获取模块810包括:
第一发送单元,用于向超文本传输协议HTTP服务器发送地址请求消息;其中,所述地址请求消息用于获取所述第一地址信息;
接收单元,用于接收所述HTTP服务器发送的地址响应消息;其中,所述地址响应消息携带所述第一地址信息。
可选地,所述第一地址信息是所述HTTP服务器从分布式协调服务器获得的;其中,所述分布式协调服务器用于存储私有云服务器和/或公有云服务器的地址信息,且所述地址信息均为有效的地址信息。
可选地,所述第一建立模块820包括:
第二发送单元,用于向所述第一私有云服务器发送第一连接请求消息;
建立单元,用于在接收到所述第一私有云服务器发送的第一连接响应消息的情况下,确定建立与所述第一私有云服务器的服务连接;其中,所述第一连接响应消息是所述第一私有云服务器在确定所述公有云服务器授权验证通过的情况下发送的。
可选地,所述装置800还包括:
发送模块,用于向所述第一私有云服务器发送第一心跳包;
第一确定模块,用于根据所述第一私有云服务器对所述第一心跳包的响应,确定与所述第一私有云服务器的第一服务连接状态;其中,所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开。
可选地,所述装置800还包括:
第二获取模块,用于在所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,获取第二私有云服务器的第二地址信息;
第二建立模块,用于根据所述第二地址信息,通过与所述第二私有云服务器之间的消息交互,建立与所述第二私有云服务器的服务连接;
第二访问模块,用于根据与所述第二私有云服务器的服务连接,通过所述第二私有云服务器访问所述第二私有云服务器部署的应用功能。
可选地,所述装置800还包括:
接收模块,用于接收用户设备发送的第二连接请求消息;其中,所述第二连接请求消息携带所述用户设备的用户信息;
第三建立模块,用于根据所述第二连接请求消息,建立与用户设备的服务连接;
第一处理模块,用于存储所述用户设备对应的服务连接相关信息,并将所述用户设备的用户信息发送给所述第一私有云服务器。
可选地,所述装置800还包括:
第二确定模块,用于根据所述用户设备的第二心跳包,确定与所述用户设备的第二服务连接状态;其中,所述第二服务连接状态为与所述用户设备的服务连接已断开,或者与所述用户设备的服务连接未断开;
第二处理模块,用于在所述第二服务连接状态为与所述用户设备的服务连接已断开的情况下,删除所述用户设备对应的服务连接相关信息,并向所述第一私有云服务器发送通知消息;其中,所述通知消息用于删除所述用户设备的用户信息。
需要说明的是,本发明实施例中的上述装置能够实现上述公有云服务器侧的服务连接建立的方法的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
如图9所示,本发明实施例提供一种服务连接建立的装置900,应用于第一私有云服务器,所述装置900包括:
建立模块910,用于通过与公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接;
服务模块920,用于根据与所述公有云服务器的服务连接,向所述公有云服务器提供访问所述第一私有云服务器部署的应用功能。
可选地,所述装置900还包括:
第一发送模块,用于向分布式协调服务器发送第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
第二发送模块,用于在接收到所述分布式协调服务器发送的第一创建响应消息的情况下,向所述分布式协调服务器发送第三心跳包;其中,所述第三心跳包用于确定与所述分布式协调服务器的第三服务连接状态,所述第三服务连接状态为与所述分布式协调服务器的服务连接已断开,或者与所述分布式协调服务器的服务连接未断开。
可选地,所述建立模块910包括:
接收单元,用于接收所述公有云服务器发送的第一连接请求消息;
验证单元,用于根据所述第一连接请求消息,对所述公有云服务器进行授权验证;
建立单元,用于在确定授权验证通过的情况下,建立与所述公有云服务器的服务连接,并向所述公有云服务器发送第一连接响应消息。
可选地,所述装置900还包括:
接收模块,用于接收所述公有云服务器发送的第一心跳包;
第三发送模块,用于向所述公有云服务器发送对所述第一心跳包的响应,并向分布式协调服务器发送第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
处理模块,用于接收所述分布式协调服务器发送的第二创建响应消息,并根据所述第一心跳包的间隔时间向所述分布式协调服务器更新所述第二节点的有效时间。
可选地,所述第二节点的有效时间为N倍的所述第一心跳包的间隔时间,N为正整数。
需要说明的是,本发明实施例中的上述装置能够实现上述第一私有云服务器侧的服务连接建立的方法的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
如图10所示,本发明实施例提供一种服务连接建立的装置1000,应用于分布式协调服务器,所述装置1000包括:
第一接收模块1010,用于接收超文本传输协议HTTP服务器发送的调用请求消息;其中,所述调用请求消息用于获取第一私有云服务器的第一地址信息;
第一响应模块1020,用于向所述HTTP服务器发送调用响应消息;其中,所述调用响应消息携带所述第一地址信息,所述第一地址信息用于建立公有云服务器与所述第一私有云服务器的服务连接,所述服务连接提供所述公有云服务器访问所述私有云服务器部署的应用功能。
可选地,所述装置1000还包括:
第二接收模块,用于接收所述第一私有云服务器发送的第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
第一处理模块,用于根据所述第一创建请求消息,创建所述第一节点以及存储所述第一地址信息,并向所述第一私有云服务器发送第一创建响应消息。
可选地,所述装置1000还包括:
确定模块,用于根据所述第一私有云服务器的第三心跳包,确定与所述第一私有云服务器的第四服务连接状态;其中,所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开;
第二处理模块,用于在所述第四服务连接状态为与所述第一私有云服务器的服务连接未断开的情况下,维持所述第一节点并存储所述第一地址信息;
第三处理模块,用于在所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,释放所述第一节点并删除所述第一地址信息。
可选地,所述装置1000还包括:
第三接收模块,用于接收所述第一私有云服务器发送的第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
第四处理模块,用于根据所述第二创建请求消息,创建所述第二节点以及存储所述第三地址信息,并向所述第一私有云服务器发送第二创建响应消息。
可选地,所述装置1000还包括:
第四接收模块,用于接收所述第一私有云服务器发送的所述第二节点的有效时间;
第五处理模块,用于在所述第二节点的有效时间内,维持所述第二节点并存储所述第三地址信息;
第六处理模块,用于在超过所述第二节点的有效时间后,释放所述第二节点并删除所述第三地址信息。
需要说明的是,本发明实施例中的上述装置能够实现上述分布式协调服务器侧的服务连接建立的方法的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
如图11所示,本发明实施例还提供一种服务器,所述服务器为上述公有云服务器或者上述第一私有云服务器或者分布式协调服务器,包括收发机113、处理器111、存储器112及存储在所述存储器112上并可在所述处理器111上运行的计算机程序,所述处理器111执行所述计算机程序时实现上述公有云服务器侧的服务连接建立的方法的步骤,或者所述处理器111执行所述计算机程序时实现上述第一私有云服务器侧的服务连接建立的方法的步骤,或者所述处理器111执行所述计算机程序时实现上述分布式协调服务器侧的服务连接建立的方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器111代表的一个或多个处理器111和存储器112代表的存储器112的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机113可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器111负责管理总线架构和通常的处理,存储器112可以存储处理器在执行操作时所使用的数据。
本领域技术人员可以理解,实现上述实施例的全部或者部分步骤可以通过硬件来完成,也可以通过计算机程序来指示相关的硬件来完成,所述计算机程序包括执行上述方法的部分或者全部步骤的指令;且该计算机程序可以存储于一可读存储介质中,存储介质可以是任何形式的存储介质。
本领域技术人员可以理解,实现上述实施例的全部或者部分步骤可以通过硬件来完成,也可以通过计算机程序来指示相关的硬件来完成,所述计算机程序包括执行上述方法的部分或者全部步骤的指令;且该计算机程序可以存储于一可读存储介质中,存储介质可以是任何形式的存储介质。
另外,本发明具体实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述公有云服务器侧的服务连接建立的方法的步骤,或者该程序被处理器执行时实现上述第一私有云服务器侧的服务连接建立的方法的步骤,或者该程序被处理器执行时实现上述分布式协调服务器侧的服务连接建立的方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (23)
1.一种服务连接建立的方法,其特征在于,应用于公有云服务器,所述方法包括:
获取第一私有云服务器的第一地址信息;
根据所述第一地址信息,通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接;
根据与所述第一私有云服务器的服务连接,通过所述第一私有云服务器访问所述第一私有云服务器部署的应用功能。
2.根据权利要求1所述的方法,其特征在于,所述获取第一私有云服务器的第一地址信息,包括:
向超文本传输协议HTTP服务器发送地址请求消息;其中,所述地址请求消息用于获取所述第一地址信息;
接收所述HTTP服务器发送的地址响应消息;其中,所述地址响应消息携带所述第一地址信息。
3.根据权利要求2所述的方法,其特征在于,所述第一地址信息是所述HTTP服务器从分布式协调服务器获得的;其中,所述分布式协调服务器用于存储私有云服务器和/或公有云服务器的地址信息,且所述地址信息均为有效的地址信息。
4.根据权利要求1所述的方法,其特征在于,所述通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接,包括:
向所述第一私有云服务器发送第一连接请求消息;
在接收到所述第一私有云服务器发送的第一连接响应消息的情况下,确定建立与所述第一私有云服务器的服务连接;其中,所述第一连接响应消息是所述第一私有云服务器在确定所述公有云服务器授权验证通过的情况下发送的。
5.根据权利要求1所述的方法,其特征在于,所述建立与所述第一私有云服务器的服务连接之后,还包括:
向所述第一私有云服务器发送第一心跳包;
根据所述第一私有云服务器对所述第一心跳包的响应,确定与所述第一私有云服务器的第一服务连接状态;其中,所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开。
6.根据权利要求5所述的方法,其特征在于,还包括:
在所述第一服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,获取第二私有云服务器的第二地址信息;
根据所述第二地址信息,通过与所述第二私有云服务器之间的消息交互,建立与所述第二私有云服务器的服务连接;
根据与所述第二私有云服务器的服务连接,通过所述第二私有云服务器访问所述第二私有云服务器部署的应用功能。
7.根据权利要求1所述的方法,其特征在于,还包括:
接收用户设备发送的第二连接请求消息;其中,所述第二连接请求消息携带所述用户设备的用户信息;
根据所述第二连接请求消息,建立与用户设备的服务连接;
存储所述用户设备对应的服务连接相关信息,并将所述用户设备的用户信息发送给所述第一私有云服务器。
8.根据权利要求7所述的方法,其特征在于,所述建立与用户设备的服务连接之后,还包括:
根据所述用户设备的第二心跳包,确定与所述用户设备的第二服务连接状态;其中,所述第二服务连接状态为与所述用户设备的服务连接已断开,或者与所述用户设备的服务连接未断开;
在所述第二服务连接状态为与所述用户设备的服务连接已断开的情况下,删除所述用户设备对应的服务连接相关信息,并向所述第一私有云服务器发送通知消息;其中,所述通知消息用于删除所述用户设备的用户信息。
9.一种服务连接建立的方法,其特征在于,应用于第一私有云服务器,所述方法包括:
通过与公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接;
根据与所述公有云服务器的服务连接,向所述公有云服务器提供访问所述第一私有云服务器部署的应用功能。
10.根据权利要求9所述的方法,其特征在于,所述建立与所述公有云服务器的服务连接之前,还包括:
向分布式协调服务器发送第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
在接收到所述分布式协调服务器发送的第一创建响应消息的情况下,向所述分布式协调服务器发送第三心跳包;其中,所述第三心跳包用于确定与所述分布式协调服务器的第三服务连接状态,所述第三服务连接状态为与所述分布式协调服务器的服务连接已断开,或者与所述分布式协调服务器的服务连接未断开。
11.根据权利要求9所述的方法,其特征在于,所述通过与所述公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接,包括:
接收所述公有云服务器发送的第一连接请求消息;
根据所述第一连接请求消息,对所述公有云服务器进行授权验证;
在确定授权验证通过的情况下,建立与所述公有云服务器的服务连接,并向所述公有云服务器发送第一连接响应消息。
12.根据权利要求9所述的方法,其特征在于,所述建立与所述公有云服务器的服务连接之后,还包括:
接收所述公有云服务器发送的第一心跳包;
向所述公有云服务器发送对所述第一心跳包的响应,并向分布式协调服务器发送第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
接收所述分布式协调服务器发送的第二创建响应消息,并根据所述第一心跳包的间隔时间向所述分布式协调服务器更新所述第二节点的有效时间。
13.根据权利要求12所述的方法,其特征在于,所述第二节点的有效时间为N倍的所述第一心跳包的间隔时间,N为正整数。
14.一种服务连接建立的方法,其特征在于,应用于分布式协调服务器,所述方法包括:
接收超文本传输协议HTTP服务器发送的调用请求消息;其中,所述调用请求消息用于获取第一私有云服务器的第一地址信息;
向所述HTTP服务器发送调用响应消息;其中,所述调用响应消息携带所述第一地址信息,所述第一地址信息用于建立公有云服务器与所述第一私有云服务器的服务连接,所述服务连接提供所述公有云服务器访问所述私有云服务器部署的应用功能。
15.根据权利要求14所述的方法,其特征在于,所述接收HTTP服务器发送的调用请求消息之前,还包括:
接收所述第一私有云服务器发送的第一创建请求消息;其中,所述第一创建请求消息用于创建所述第一私有云服务器对应的第一节点,所述第一节点用于指示所述第一私有云服务器的第一地址信息是否有效;
根据所述第一创建请求消息,创建所述第一节点以及存储所述第一地址信息,并向所述第一私有云服务器发送第一创建响应消息。
16.根据权利要求15所述的方法,其特征在于,所述向所述第一私有云服务器发送第一创建响应消息之后,还包括:
根据所述第一私有云服务器的第三心跳包,确定与所述第一私有云服务器的第四服务连接状态;其中,所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开,或者与所述第一私有云服务器的服务连接未断开;
在所述第四服务连接状态为与所述第一私有云服务器的服务连接未断开的情况下,维持所述第一节点并存储所述第一地址信息;
在所述第四服务连接状态为与所述第一私有云服务器的服务连接已断开的情况下,释放所述第一节点并删除所述第一地址信息。
17.根据权利要求14所述的方法,其特征在于,所述向所述HTTP服务器发送调用响应消息之后,还包括:
接收所述第一私有云服务器发送的第二创建请求消息;其中,所述第二创建请求消息用于创建所述公有云服务器对应的第二节点,所述第二节点用于指示所述公有云服务器的第三地址信息是否有效;
根据所述第二创建请求消息,创建所述第二节点以及存储所述第三地址信息,并向所述第一私有云服务器发送第二创建响应消息。
18.根据权利要求17所述的方法,其特征在于,所述向所述第一私有云服务器发送第二创建响应消息之后,还包括:
接收所述第一私有云服务器发送的所述第二节点的有效时间;
在所述第二节点的有效时间内,维持所述第二节点并存储所述第三地址信息;
在超过所述第二节点的有效时间后,释放所述第二节点并删除所述第三地址信息。
19.一种服务连接建立的装置,其特征在于,应用于公有云服务器,所述装置包括:
第一获取模块,用于获取第一私有云服务器的第一地址信息;
第一建立模块,用于根据所述第一地址信息,通过与所述第一私有云服务器之间的消息交互,建立与所述第一私有云服务器的服务连接;
第一访问模块,用于根据与所述第一私有云服务器的服务连接,通过所述第一私有云服务器访问所述第一私有云服务器部署的应用功能。
20.一种服务连接建立的装置,其特征在于,应用于第一私有云服务器,所述装置包括:
建立模块,用于通过与公有云服务器之间的消息交互,建立与所述公有云服务器的服务连接;
服务模块,用于根据与所述公有云服务器的服务连接,向所述公有云服务器提供访问所述第一私有云服务器部署的应用功能。
21.一种服务连接建立的装置,其特征在于,应用于分布式协调服务器,所述装置包括:
第一接收模块,用于接收超文本传输协议HTTP服务器发送的调用请求消息;其中,所述调用请求消息用于获取第一私有云服务器的第一地址信息;
第一响应模块,用于向所述HTTP服务器发送调用响应消息;其中,所述调用响应消息携带所述第一地址信息,所述第一地址信息用于建立公有云服务器与所述第一私有云服务器的服务连接,所述服务连接提供所述公有云服务器访问所述私有云服务器部署的应用功能。
22.一种服务器,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述服务器为公有云服务器的情况下,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述的服务连接建立的方法的步骤;或者,所述服务器为第一私有云服务器的情况下,所述处理器执行所述计算机程序时实现如权利要求9至13中任一项所述的服务连接建立的方法的步骤;或者,所述服务器为分布式协调服务器的情况下,所述处理器执行所述计算机程序时实现如权利要求14至18中任一项所述的服务连接建立的方法的步骤。
23.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至18中任一项所述的服务连接建立的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310823901.XA CN116846639A (zh) | 2023-07-06 | 2023-07-06 | 服务连接建立的方法、装置、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310823901.XA CN116846639A (zh) | 2023-07-06 | 2023-07-06 | 服务连接建立的方法、装置、服务器及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116846639A true CN116846639A (zh) | 2023-10-03 |
Family
ID=88166772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310823901.XA Pending CN116846639A (zh) | 2023-07-06 | 2023-07-06 | 服务连接建立的方法、装置、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116846639A (zh) |
-
2023
- 2023-07-06 CN CN202310823901.XA patent/CN116846639A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3588862B1 (en) | Communication system core network and method for providing heart-beat messages | |
US8917710B2 (en) | Process method about the service connection between the wireless local area network and user terminal | |
US10764430B2 (en) | Calling an unready terminal | |
US6460083B1 (en) | Communication system for selectively connecting a server to numerous terminal units over a public network | |
JP4796181B2 (ja) | 通信品質制御システム | |
US11140737B2 (en) | Session processing method in wireless communications and terminal device | |
CN111132305B (zh) | 5g用户终端接入5g网络的方法、用户终端设备及介质 | |
US20060093119A1 (en) | Leveraging real-time communications client | |
CN113727380A (zh) | 容灾方法及装置 | |
CN110933709B (zh) | 协议数据单元会话管理方法及通信装置 | |
CN103905408A (zh) | 一种信息的获取方法和设备 | |
CN101699905A (zh) | 无线智能终端、网管平台及其对无线智能终端的管理方法 | |
CN116846639A (zh) | 服务连接建立的方法、装置、服务器及可读存储介质 | |
CN100450018C (zh) | 提高Diameter节点间通信可靠性的方法 | |
CN111614767B (zh) | 一种数据存储方法及装置 | |
CN110545527B (zh) | 呼叫转移方法、视频通信服务器及主叫终端 | |
JP2001516531A (ja) | 登録プロトコル | |
CN107534847B (zh) | 一种发现方法及设备 | |
EP3471465B1 (en) | Method of and device for determining a communication network for providing a communication service to a terminal communication device | |
KR100821168B1 (ko) | 교환장치에서의 인증 벡터를 이용한 인증 방법 및 그교환장치 | |
WO2024000134A1 (zh) | 验证方法、装置、设备及存储介质 | |
CN112383886B (zh) | LTE B-TrunC系统的签约数据同步方法及装置 | |
CN100542174C (zh) | 软交换设备与综合智能归属位置寄存器通信的方法 | |
CN113904781B (zh) | 切片认证方法及系统 | |
CN113364666B (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 |