Method and device for remotely deploying software in hybrid cloud environment

By preinstalling client software in the client server, an exclusive data transmission channel between the client server and the cloud server is automatically established, which solves the complexity and security risks of VPN channel establishment and key delivery in existing remote deployment software, and realizes a more convenient and secure remote deployment software process.

CN119544690APending Publication Date: 2025-02-28XIAMEN NISTONE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311099442.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

During the existing remote deployment of software, operation and maintenance personnel need customers to build their own VPN channels and inform them of the keys, resulting in passive, complex operations, poor customer experience, and security risks and error risks.

Method used

The client software is preinstalled in the client server, and the exclusive data transmission channel between the client server and the cloud server is automatically established to transmit software deployment instructions, avoiding the establishment of VPN channels and key delivery.

Benefits of technology

Improve the convenience and security of operation and maintenance personnel when deploying software remotely, reduce operational complexity and error risks, and improve customer experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119544690A_ABST
    Figure CN119544690A_ABST
Patent Text Reader

Abstract

The invention discloses a method and a device for remotely deploying software in a hybrid cloud environment, client software is utilized to control a client server to automatically send a data transmission channel establishment request, a cloud server automatically receives the data transmission channel establishment request so as to establish a data transmission channel, then a software deployment instruction is sent, and the data transmission channel is automatically deployed. A software deployment instruction reaches the client server through the data transmission channel, and the client server inquires corresponding software and downloads, installs and starts the software. According to the method for remotely deploying the software, a client does not need to establish a VPN channel on a public network and provide a VPN key for operation and maintenance personnel, instead, the client software is utilized to automatically establish an exclusive data transmission channel between the client server and the cloud server, so that the operation and maintenance personnel can deploy the software more conveniently, and the operation and maintenance efficiency is improved during software deployment. And a remote connection channel is automatically established to form two channels, so that the operation process is smoother and more stable when operation and maintenance personnel perform software deployment and later maintenance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of computer communication technology, and in particular relates to a method and device for remotely deploying software in a hybrid cloud environment. Background Art

[0002] With the continuous development of the field of computer communication technology, the application fields are becoming more and more extensive. When customers need to install a certain platform for production or office on their servers, they usually purchase it from existing computer companies. After the computer company signs a contract with the customer, the computer company's operation and maintenance personnel will inform the customer of the server configuration required to install the platform. The customer prepares the customer server according to the server configuration requirements informed by the operation and maintenance personnel. After that, the operation and maintenance personnel remotely deploy the relevant program software involved in the platform on the customer server. After the deployment is complete, the customer can use the platform on its customer server. The operation and maintenance personnel remotely update, upgrade, monitor the relevant program software involved in the platform on the customer service, and maintain the normal operation of the program software.

[0003] In the existing remote software deployment process, if the operation and maintenance personnel want to remotely deploy software on the customer server, the customer needs to establish a VPN channel connected to the customer server on the public Internet, and then inform the operation and maintenance personnel of the key of the VPN channel. The operation and maintenance personnel use the key to connect the server they are using to the VPN channel and issue software deployment instructions. The software deployment instructions reach the customer server through the VPN channel, guiding the customer server to automatically complete a series of actions such as environment preparation, software download, software installation, and software system.

[0004] The existing remote software deployment methods have the following problems: 1. Before the operation and maintenance personnel remotely deploy the software, the customer needs to build a VPN channel and inform the operation and maintenance personnel of the key of the VPN channel, which makes the operation and maintenance personnel too passive when remotely deploying the software and the operation process complicated. In addition, the VPN channels provided by many customers are mostly temporary. After the operation and maintenance personnel remotely deploy the software, the customer will remove the VPN channel. Then, when the operation and maintenance personnel need to upgrade the customer's software next time, the customer needs to rebuild the VPN channel and inform the key, which makes the customer experience not good enough. 2. Since the customer needs to inform the operation and maintenance personnel of the key during remote deployment, the action of informing the key is likely to lead to the leakage of the key, affecting the security of the remotely deployed software. 3. Since the operation and maintenance personnel use the VPN channel provided by the customer when performing remote software deployment, updating, monitoring and post-maintenance, it is easy for the operation and maintenance personnel to make mistakes during the remote software deployment and post-service process. Summary of the invention

[0005] The purpose of the present invention is to provide a method for remote deployment of software in a hybrid cloud environment, which uses client software to automatically establish an exclusive data transmission channel between a client server and a cloud server for transmitting software deployment instructions, so that when operation and maintenance personnel perform remote deployment of software services for customers, it is more convenient, more secure, and the customer experience is better.

[0006] In order to achieve the above purpose, the following technical solutions are adopted: A method for remotely deploying software in a hybrid cloud environment comprises the following steps: S1. Operation and maintenance personnel pre-install client software on the customer server; S2. After the client software is started, the client server automatically sends a request to establish a data transmission channel; S3: The cloud server automatically accepts the data transmission channel establishment request, thereby establishing the data transmission channel; S4. The operation and maintenance personnel use the cloud server to send software deployment instructions, and the software deployment instructions reach the customer server through the data transmission channel; S5. After receiving the software deployment instruction, the client server searches for the corresponding software according to the software deployment instruction and downloads, installs and starts the software.

[0007] By adopting the above technical solution, by installing the client software in the client server in advance, and then using the client software to control the client server to send a data transmission channel establishment request, the cloud server automatically accepts the data transmission channel establishment request, thereby automatically establishing a dedicated channel such as a data transmission channel between the client server and the cloud server, and then transmitting the software deployment instructions through such a dedicated channel. After the client server receives the software deployment instructions, it automatically downloads, installs and downloads the software according to the software deployment instructions. When deploying software in this way, there is no need for the customer to build a VPN channel by himself, nor to inform the VPN channel key. When the operation and maintenance personnel perform remote software deployment, it is more convenient and safer, and the customer experience will be better.

[0008] Furthermore, the data transmission channel establishment request carries identification information of the client server in the mobile network.

[0009] By adopting the above technical solution, the cloud server cannot receive all requests when accepting requests, which is not safe. It needs to receive requests sent by the designated server. The data transmission channel establishment request carries the identification information of the client server in the mobile network, which is conducive to the cloud server to identify through the identification information and accept related requests.

[0010] Furthermore, the cloud server is divided into a separate software library, and the operation and maintenance personnel upload the corresponding software to the software library in advance. After the client server receives the software deployment instruction, it queries and downloads the corresponding software from the software library.

[0011] By adopting the above technical solution, the client server downloads software from a separate software library, making the entire process more secure.

[0012] Furthermore, the corresponding software includes a first software for realizing customer needs and a second software for establishing a remote connection channel. After the second software is started, the client server automatically sends a remote connection channel establishment request; the cloud server automatically accepts the remote connection channel establishment request, thereby establishing a remote connection channel.

[0013] Furthermore, the remote connection channel connects the cloud server and the client server, and the operation and maintenance personnel operate the client server by operating the remote connection channel.

[0014] Furthermore, the operation and maintenance personnel utilize the data transmission channel to deploy or update the software of the client server, and utilize the remote connection channel to monitor and maintain the software operation status of the client server.

[0015] By adopting the above technical solution, during the process of software deployment by operation and maintenance personnel, a remote connection channel is automatically established between the client server and the cloud server. At this time, the remote operation of the operation and maintenance personnel has two channels: data transmission channel and remote connection channel. The operation and maintenance personnel use the data transmission channel to deploy or update the software of the client server, and use the remote connection channel for monitoring and maintenance. This makes it less likely for confusion and errors to occur during software deployment, improves software deployment efficiency, and provides a better customer experience.

[0016] Another object of the present invention is to provide a device for remotely deploying software in a hybrid cloud environment, the remotely deploying software device comprising: a cloud server used by operation and maintenance personnel and a client server used by clients; The cloud server comprises: A first request receiving module, used for automatically accepting a data transmission channel establishment request and establishing a data transmission channel; A deployment instruction sending module is used to create and send software deployment instructions; The client server comprises: A first request sending module, used for automatically sending a data transmission channel establishment request; A software deployment instruction receiving module, used for receiving software deployment instructions; A software query module, used to query the software corresponding to the software deployment instruction; A software download module, used to download software corresponding to the software deployment instruction; A software installation and startup module is used to install and start the software corresponding to the software deployment instruction; The data transmission channel serves as a channel for the software deployment instructions to reach the client server.

[0017] Further, the cloud server further includes a second request receiving module, and the software installed and started includes a first software for realizing customer needs and a second software for establishing a remote connection channel; the client server further includes a second request sending module, and the second request sending module is a client server installed with the second software; The second request sending module is used to automatically send a remote connection channel establishment request; The second request receiving module is used to automatically receive a remote connection channel establishment request and establish a remote connection channel.

[0018] Furthermore, the data transmission channel is used by operation and maintenance personnel to deploy or update the software of the client server, and the remote connection channel is used by operation and maintenance personnel to monitor and maintain the software running status of the client server.

[0019] By adopting the above technical solution, not only can the remote deployment of software and subsequent monitoring and maintenance by operation and maintenance personnel be more automated and convenient, but it also greatly improves the security and stability of the remote software deployment process and reduces the error rate.

[0020] Compared with the prior art, the present invention has the following beneficial effects: 1. It improves the convenience of operation and maintenance personnel in remote software deployment and post-maintenance, turns passivity into initiative, and improves customer experience. 2. It improves the safety and stability of operation and maintenance personnel in the process of remote software deployment and post-maintenance, and reduces the error rate. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solution in this embodiment, the following is a brief introduction to the drawings required for use in the description of the embodiment. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0022] Figure 1 A method flow chart of a remote software deployment method provided in Example 1; Figure 2 This is a device structure diagram of the remote deployment software device provided in Example 2. Implementation

[0023] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments and drawings. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0024] Embodiment 1

[0025] See also Figure 1 As shown, a method for remotely deploying software in a hybrid cloud environment includes the following steps: Step 101, the operation and maintenance personnel pre-install the client software in the client server; The client software is for instant messaging. After connecting the client server to the network, while obtaining network services, it itself becomes a network workstation. If you want the network workstation to run according to specified rules, you need to install the client software. The client software is essentially a collection of computer data and instructions organized in a specific order that people have edited in advance. It can control the client server to perform a series of actions.

[0026] Step 102, after the client software is started, the client server automatically sends a request to establish a data transmission channel; After the client opens the client server, the client software installed on the client server will automatically start and run. After the client software is started, the client software will control the client server to automatically send a request to establish a data transmission channel.

[0027] The data transmission channel establishment request also carries identification information of the client server in the mobile network. The identification information may be the IP, MAC address and client server domain name for the client server to access the mobile network.

[0028] The source code of the client software controlling the client server to automatically send a data transmission channel establishment request is as follows: func (wsc *WebSocketClient) Init() error{ var cert,err=tls.LoadX509KeyPair( wsc.config.CertFilePath,wsc.config.KeyFilePath) if err!=nil{return fmt.Errorf("failed to load x509 key pair,error:%v",err)} var caCert []byte if caCert,err=os.ReadFile(config.Config.TLSCAFile);err != nil{return err} var pool=x509.NewCertPool() if ok:=pool.AppendCertsFromPEM(caCert);!ok{return fmt.Errorf("cannot parse the certificates")} var option=wsclient.Options{ HandshakeTimeout:wsc.config.HandshakeTimeout,TLSConfig:&tls.Config{RootCAs:pool,Certificates:[]tls.Certificate{cert},InsecureSkipVerify:false},Type:api.ProtocolTypeWS,Addr:wsc.config.URL,AutoRoute:false,ConnUse:api.UseTypeMessage} var exOpts=api.WSClientOption{Header:make(http.Header)} exOpts.Header.Set("node_id",wsc.config.NodeID) exOpts.Header.Set("project_id",wsc.config.ProjectID) var client=&wsclient.Client{Options:option,ExOpts:exOpts} for i:=0;i<retryCount;i++{ if connection,err:=client.Connect();err != nil{} else{ wsc.connection=connection;return nil} time.Sleep(cloudAccessSleep)} return errors.New("max retry count reached when connecting to cloud")} ***** Step 103, the cloud server automatically accepts the data transmission channel establishment request, thereby establishing the data transmission channel; When the cloud server is turned on, it can automatically accept the data transmission channel establishment request sent by the client server under the control of the cloud server's request acceptance program software. Since the data transmission channel establishment request carries identification information, the cloud server can identify whether it is a request sent by the designated client server through the identification information. If so, it will be accepted, otherwise it will not be accepted, which can enhance the security of information transmission. When the cloud server completes the action of automatically accepting the data transmission channel establishment request, an invisible data transmission channel is automatically established between the cloud server and the client server.

[0029] The source code of the program software that controls the cloud server to accept the data transmission channel establishment request is as follows: func startWebsocketServer() { var tlsConfig=createTLSConfig( hubConfig.Config.Ca,hubConfig.Config.Cert,hubConfig.Config.Key) klog.Exit((&server.Server{Type:api.ProtocolTypeWS,TLSConfig:&tlsConfig,AutoRoute:true,ConnNotify:handler.CloudHubHandler.OnRegister,Addr:fmt.Spr intf("%s:%d",hubConfig.Config.WebSocket.Address,hubConfig.Config.WebSocket.Port),ExOpts:api.WSServerOption{Path:" / "}}).ListenAndServeTLS("",""))} ***** Step 104: The operation and maintenance personnel use the cloud server to send software deployment instructions, and the software deployment instructions reach the client server through the data transmission channel; The operation and maintenance personnel edit the software deployment instructions through the instruction editing window on the cloud server. The software deployment instructions contain the software download address information, software name information, software number information, software version information, as well as the configuration information required for software installation, customer server number information, etc. After the software deployment instructions are edited, click Create, and the software deployment instructions will be immediately sent out by the cloud server. The software deployment instructions reach the customer server through the previously established data transmission channel.

[0030] According to the download address information in the software deployment instruction, you go to the address location, which is actually a storage space pre-allocated by the cloud server. The operation and maintenance personnel will upload the corresponding software to the storage space in advance, thus forming a software library.

[0031] Step 105, after receiving the software deployment instruction, the client server searches for the corresponding software according to the software deployment instruction and downloads, installs and starts the software.

[0032] After receiving the software deployment instruction, the client server will first reach the software library mentioned above according to the requirements of the software deployment instruction, where it will query the software corresponding to the software deployment instruction and then download it. While downloading, the client server will prepare the environment required for the later installation of the software according to the software deployment instruction. After the software is downloaded to the client server, the client server will automatically install the software according to the software deployment instruction and automatically start it after installation.

[0033] In order to enable the operation and maintenance personnel to establish dual channels for software deployment and update and software monitoring and maintenance during the software deployment process, the several software deployment instructions sent by the client server include not only the software deployment instructions for the first software that the customer needs to install, but also the software deployment instructions for installing the second software. The second software is used to establish a remote connection channel. After the client server installs and starts the second software according to the software deployment instructions, the second software controls the client server to automatically send a remote connection channel establishment request. In order to facilitate the cloud server to identify, the remote connection channel establishment request can also carry identification information. After the cloud server completes the action of automatically accepting the remote connection channel establishment request, a remote connection channel is automatically established between the cloud server and the client server. The remote connection channel is used to connect the cloud server and the client server through the remote connection channel. The operation and maintenance personnel operate the client server by operating the remote connection channel.

[0034] The source code of the second software controlling the client server to automatically send a remote connection channel establishment request is as follows: func (svr *Service) login() (conn net.Conn,session *fmux.Session,errerror) { var xl=xlog.FromContextSafe(svr.ctx) var tlsConfig *tls.Config if svr.cfg.TLSEnable { var sn=svr.cfg.TLSServerName if sn=="" {sn=svr.cfg.ServerAddr} if tlsConfig,err=transport.NewClientTLSConfig(svr.cfg.TLSCertFile,svr.cfg.TLSKeyFile,svr.cfg.TLSTrustedCaFile,sn);err!=nil {return}} proxyType,addr,auth,err:=libdial.ParseProxyURL(svr.cfg.HTTPProxy) if err!=nil {return} var dialOptions,protocol=make([]libdial.DialOption,0,16),svr.cfg.Protocol if protocol=="websocket" { protocol,dialOptions="tcp",append(dialOptions,libdial.WithAfterHook(libdial.AfterHook{Hook: nisNet.DialHookWebsocket()}))} if svr.cfg.ConnectServerLocalIP!="" { dialOptions=append(dialOptions,libdial.WithLocalAddr( svr.cfg.ConnectServerLocalIP))} dialOptions=append(dialOptions,libdial.WithProtocol(protocol),libdial.WithTimeout(time.Duration(svr.cfg.DialServerTimeout)*time.Second),libdial.WithKeepAlive(time.Duration(svr.cfg.DialServerKeepAlive)*time.Second),libdial.WithProxy(proxyType,addr),libdial.WithProxyAuth(auth),libdial.WithTLSConfig(tlsConfig),libdial.WithAfterHook(libdial.AfterHook{Hook: nisNet.DialHookCustomTLSHeadByte( tlsConfig!=nil,svr.cfg.DisableCustomTLSFirstByte)})) if conn,err=libdial.Dial(net.JoinHostPort( svr.cfg.ServerAddr,strconv.Itoa( svr.cfg.ServerPort)),dialOptions...);err!=nil {return} defer func() {if err!=nil {conn.Close() if session!=nil {session.Close()}}}() if svr.cfg.TCPMux { var fmuxCfg=fmux.DefaultConfig() fmuxCfg.KeepAliveInterval,fmuxCfg.LogOutput=time.Duration( svr.cfg.TCPMuxKeepaliveInterval)*time.Second,io.Discard if session,err=fmux.Client(conn,fmuxCfg);err!=nil {return} var stream,errRet=session.OpenStream() if errRet!=nil {session.Close();err=errRet;return} conn=stream} var loginMsg=&msg.Login{Arch:runtime.GOARCH,Os:runtime.GOOS, PoolCount:svr.cfg.PoolCount,User:svr.cfg.User,Version:version.Full(),Timestamp:time.Now().Unix(),RunID:svr.runID,Metas:svr.cfg.Metas} if err=svr.authSetter.SetLogin(loginMsg);err!=nil {return} if err=msg.WriteMsg(conn,loginMsg);err!=nil {return} var loginRespMsg msg.LoginResp _=conn.SetReadDeadline(time.Now().Add(10*time.Second)) if err=msg.ReadMsgInto(conn,&loginRespMsg);err!=nil {return} _=conn.SetReadDeadline(time.Time{}) if loginRespMsg.Error!="" {err=errors.New(loginRespMsg.Error);return} svr.runID,svr.serverUDPPort=loginRespMsg.RunID,loginRespMsg.ServerUDPPort;return} ***** The source code of the program software that controls the cloud server to accept remote connection channel establishment requests is as follows: func (svr *Service) HandleListener(l net.Listener) { for { var c,err=l.Accept() if err != nil {return} var ctx = context.Background() c=nisNet.NewContextConn(xlog.NewContext(ctx,xlog.New()),c) var originConn,isTLS,custom=c,false,false if c,isTLS,custom,err=nisNet. CheckAndEnableTLSServerConnWithTimeout( c,svr.tlsConfig,svr.cfg.TLSOnly,connReadTimeout);err != nil { originConn.Close();continue} go func(ctx context.Context,nisConn net.Conn) { if svr.cfg.TCPMux { var fmuxCfg=fmux.DefaultConfig() fmuxCfg.KeepAliveInterval=time.Duration( svr.cfg.TCPMuxKeepaliveInterval) * time.Second fmuxCfg.LogOutput=io.Discard var session,err=fmux.Server(nisConn,fmuxCfg) if err != nil {nisConn.Close();return} for { var stream,err=session.AcceptStream() if err != nil {session.Close();return} go svr.handleConnection(ctx,stream)} } else { svr.handleConnection(ctx,nisConn)}}(ctx,c)}} ***** In this way, the operation and maintenance personnel will use the data transmission channel when deploying and updating the software in the later stage, and use the remote connection channel when monitoring and maintaining the software operation status, such as checking the client server software operation error log, checking the client server storage, checking the CPU usage, and logging on to the client server for software maintenance. This makes the operation and maintenance personnel more automated and convenient when remotely deploying software and performing subsequent maintenance, and also greatly improves the security and stability of the remote software deployment process and reduces the error rate.

[0035] See also Figure 2 As shown, a device for remotely deploying software in a hybrid cloud environment includes: a cloud server used by operation and maintenance personnel and a customer server used by customers.

[0036] The cloud server includes: A first request receiving module 202, configured to automatically accept a data transmission channel establishment request and establish a data transmission channel; The essence of the first request receiving module 202 is a cloud server installed with a control receiving request software. The control receiving request software is originally installed in the cloud server. It will control the cloud server to automatically accept the data transmission channel establishment request. After this action is completed, a data transmission channel is established between the cloud server and the client server. The data transmission channel is used as a channel for subsequent software deployment instructions to reach the client server.

[0037] A deployment instruction sending module 203 is used to create and send software deployment instructions; The deployment instruction sending module 203 is essentially a cloud server installed with software for editing and sending instructions. When the cloud server is started, the software for editing and sending instructions will also be started. After the operation and maintenance personnel reach the instruction editing interface, they can edit the instructions here. The edited software deployment instructions include software download address information, software name information, software number information, software version information, and configuration information required for software installation, client server number information, etc. After the software deployment instruction is edited, click Create, and the software deployment instruction will be sent out immediately. The software deployment instruction reaches the client server through the data transmission channel established before.

[0038] The client server includes: A first request sending module 201, used for automatically sending a data transmission channel establishment request; The essence of the first request sending module 201 is a client server with client software installed. The operation and maintenance personnel install the client software in the client server in advance. After the client server is turned on, the client software will automatically start. Under the control of the client software, the client server will automatically send a request to establish a data transmission channel. In order to facilitate the identification of the device that receives the data transmission channel establishment request later, the data transmission channel establishment request can also carry identification information.

[0039] A software deployment instruction receiving module 204, used to receive software deployment instructions; The essence of the software deployment instruction module 204 is a client server installed with control receiving instruction software, and the control receiving instruction software is used to control the client server to receive software deployment instructions and information thereof.

[0040] The software query module 205 is used to query the software corresponding to the software deployment instruction; The essence of the software query module 205 is a client server installed with control query software, and the control query software is used to control the client server to query the corresponding software in the designated software library according to the information in the software deployment instruction.

[0041] A software download module 206, used to download software corresponding to the software deployment instruction; The essence of the software download module 206 is a client server installed with a download control software, and the download control software is used to control the client server to download the corresponding software to the client server at a designated location according to the information in the software deployment instruction.

[0042] The software installation and startup module 207 is used to install and start the software corresponding to the software deployment instruction; The essence of the software installation and startup module 207 is a client server carrying an installation and startup software, and the installation and startup software is used to control the client server to install the downloaded software according to the software deployment instruction, and the software is automatically started after the installation is completed.

[0043] There are two types of software installed and started. The first type is first software for realizing customer needs, and the second type is second software for establishing a remote connection channel.

[0044] The client server also includes: A second request sending module 208, configured to automatically send a remote connection channel establishment request; The essence of the second request sending module 208 is a client server installed with a second software. The second software controls the client server to automatically send a remote connection channel establishment request. In order to facilitate the identification of the device that receives the remote connection channel establishment request later, the remote connection channel establishment request can also carry identification information.

[0045] The cloud server also includes: The second request receiving module 209 is used to automatically receive a remote connection channel establishment request and establish a remote connection channel.

[0046] The essence of the second request receiving module 209 is a cloud server with request receiving software installed. The cloud server is controlled by the program software to complete the action of receiving a request to establish a remote connection channel. After the action is completed, a remote connection channel is established between the cloud server and the client server.

[0047] In this way, when operation and maintenance personnel deploy software remotely, they no longer need customers to establish a VPN channel on the public Internet and inform the VPN key. Operation and maintenance personnel can use the data transmission channel, a dedicated channel established by the cloud server and the customer server, to remotely deploy and update software.

[0048] At the same time, when the operation and maintenance personnel are performing remote software deployment, a remote connection channel is established using the second software that is automatically installed during the deployment process. The operation and maintenance personnel use the remote connection channel when they monitor and maintain the software operation status, such as viewing the client server software operation error log, checking the client server storage, viewing the CPU usage, and logging into the client server to perform software maintenance.

[0049] Ultimately, it makes remote software deployment and subsequent maintenance more automated and convenient for operation and maintenance personnel, greatly improves the security and stability of the remote software deployment process, and reduces the error rate.

[0050] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for remotely deploying software in a hybrid cloud environment, characterized in that: The steps include: S1. Operation and maintenance personnel pre-install client software on the customer server; S2. After the client software is started, the client server automatically sends a request to establish a data transmission channel; S3: The cloud server automatically accepts the data transmission channel establishment request, thereby establishing the data transmission channel; S4. The operation and maintenance personnel use the cloud server to send software deployment instructions, and the software deployment instructions reach the customer server through the data transmission channel; S5. After receiving the software deployment instruction, the client server searches for the corresponding software according to the software deployment instruction and downloads, installs and starts the software.

2. The method for remotely deploying software in a hybrid cloud environment according to claim 1, characterized in that: The data transmission channel establishment request carries identification information of the client server in the mobile network.

3. The method for remotely deploying software in a hybrid cloud environment according to claim 1, characterized in that: The cloud server is divided into a separate software library. The operation and maintenance personnel upload the corresponding software to the software library in advance. After the client server receives the software deployment instruction, it queries and downloads the corresponding software from the software library.

4. The method for remotely deploying software in a hybrid cloud environment according to claim 1, characterized in that: The corresponding software includes a first software for realizing customer needs and a second software for establishing a remote connection channel. After the second software is started, the client server automatically sends a remote connection channel establishment request; the cloud server automatically accepts the remote connection channel establishment request, thereby establishing a remote connection channel.

5. The method for remotely deploying software in a hybrid cloud environment according to claim 4, characterized in that: The remote connection channel connects the cloud server and the client server, and the operation and maintenance personnel operate the client server by operating the remote connection channel.

6. The method for remotely deploying software in a hybrid cloud environment according to claim 5, characterized in that: The operation and maintenance personnel use the data transmission channel to deploy or update the software of the client server, and use the remote connection channel to monitor and maintain the software operation status of the client server.

7. A device for remotely deploying software in a hybrid cloud environment, characterized in that: The remote deployment software device includes: a cloud server used by operation and maintenance personnel and a client server used by customers; The cloud server comprises: A first request receiving module, used for automatically accepting a data transmission channel establishment request and establishing a data transmission channel; A deployment instruction sending module is used to create and send software deployment instructions; The client server comprises: A first request sending module, used for automatically sending a data transmission channel establishment request; A software deployment instruction receiving module, used for receiving software deployment instructions; A software query module, used to query the software corresponding to the software deployment instruction; A software download module, used to download software corresponding to the software deployment instruction; A software installation and startup module is used to install and start the software corresponding to the software deployment instruction; The data transmission channel serves as a channel for the software deployment instructions to reach the client server.

8. The device for remotely deploying software in a hybrid cloud environment according to claim 7, characterized in that: The cloud server further includes a second request receiving module, and the software installed and started includes a first software for realizing customer needs and a second software for establishing a remote connection channel; the client server further includes a second request sending module, and the second request sending module is a client server installed with the second software; The second request sending module is used to automatically send a remote connection channel establishment request; The second request receiving module is used to automatically receive a remote connection channel establishment request and establish a remote connection channel.

9. The device for remotely deploying software in a hybrid cloud environment according to claim 8, characterized in that: The data transmission channel is used by operation and maintenance personnel to deploy or update the software of the client server, and the remote connection channel is used by operation and maintenance personnel to monitor and maintain the software operation status of the client server.