掌桥专利:专业的专利平台
掌桥专利
首页

一种避免端口被占用的方法和装置

文献发布时间:2023-06-19 10:38:35


一种避免端口被占用的方法和装置

技术领域

本发明涉及云游戏技术领域,特别涉及一种避免端口被占用的方法和装置。

背景技术

相关技术中,云游戏通过云主机服务程序对外提供服务,从云主机开机到云主机服务程序正常提供服务需要经过一系列的步骤。启动关键步骤如图1所示,图1主要分为两个大的流程块,它们分别对应于两个不同程序的操作流程。第一块是在启动云主机服务程序之前:该部分是云主机守护程序的启动流程。流程涉及到程序更新,登录到云主机管理后台等操作。这些操作如果不成功,会进行有限次数的重试,所需要的时间是不可预期的。第二块是启动云主机服务程序之后:该部分是云主机服务程序的启动流程。可以看到云主机服务程序的启动是依赖于云主机守护程序的正常启动的。所以从云主机开机到云主机服务程序监听IP端口的时间也是不可预期的。其中的两个关键启动步骤描述如下:

步骤1:云主机守护程序由云主机开机后自动运行;

步骤2:云主机服务程序由云主机守护程序启动运行。

但是,上述相关技术存在以下不足:

从云主机开机到云游戏服务程序监听IP端口所经历的时间可能会很长,在这个过程其它开机启动的程序(比如游戏加速器等)可能会使用端口连接网络,有一定概率会占用云主机服务程序将要使用的端口,导致云主机服务程序无法正常提供游戏服务。

发明内容

本发明的目的在于至少解决现有技术中存在的技术问题之一,提供一种避免端口被占用的方法和装置,通过端口的预先占用、接管以及在恰当时候释放的一系列操作,实现了端口使用权在程序之间的传递,避免端口被其它的程序占用,保证使用端口的目标程序能够正常使用端口向外提供服务。

第一方面,本发明实施例提供一种避免端口被占用的方法,该方法应用于云主机,在所述云主机开机之后,所述方法包括:

运行端口预占用程序并通过所述端口预占用程序占用预设的指定端口;

运行云主机守护程序并通过云主机守护程序执行预设的准备步骤;

在执行完所述准备步骤之后,云主机守护程序获取被端口预占用程序占用的所述指定端口;

云主机守护进程释放所述指定端口并在释放所述指定端口之后启动云主机服务程序。

在一些实施例中,所述准备步骤具体包括:

云主机守护程序检查云主机服务程序是否需要升级;

云主机守护程序根据检查的结果,执行相应的升级操作。

在一些实施例中,所述执行完所述准备步骤,具体包括:

云主机守护程序执行完相应的升降操作;或者

云主机守护程序的检测结果为不需要升级。

在一些实施例中,所述主机守护程序获取被端口预占用程序占用的所述指定端口的过程,具体包括:

云主机守护程序关闭端口预占用程序,以使得由所述端口预占用程序占用的指定端口被释放;

云主机守护程序占用被释放的所述指定端口。

在一些实施例中,在执行完所述准备步骤之后,并在所述云主机守护程序获取被端口预占用程序占用的所述指定端口之前,所述方法还包括:

云主机守护程序根据预设的配置登录云主机管理后台。

在一些实施例中,所述通过所述端口预占用程序占用预设的指定端口的过程,具体包括:

检测预设的指定端口是否被占用;

在预设的指定端口被第一程序占用时,关闭所述第一程序,以释放被占用的指定端口;

端口预占用程序占用被释放的指定端口;

端口预占用程序启动被关闭的第一程序。

第二方面,本发明实施例提供了一种避免端口被占用的装置,该装置应用于云主机,在所述云主机开机之后,所述装置包括:

第一占用模块,用于运行端口预占用程序并通过所述端口预占用程序占用预设的指定端口;

准备步骤执行模块,用于运行云主机守护程序并通过运行云主机守护程序执行预设的准备步骤;

端口转移模块,用于在云主机守护程序执行完所述准备步骤之后,通过云主机守护程序获取被端口预占用程序占用的所述指定端口;

服务启动模块,用于云主机守护进程释放所述指定端口并在释放所述指定端口之后启动云主机服务程序。

在一些实施例中,所述准备步骤具体包括:

云主机守护程序检查云主机服务程序是否需要升级;

根据检查的结果,云主机守护程序执行相应的升级操作。

在一些实施例中,所述执行完所述准备步骤,具体包括:

云主机守护程序执行完相应的升降操作;或者

云主机守护程序的检测结果为不需要升级。

在一些实施例中,所述第一占用模块还用于:

通过云主机守护程序关闭端口预占用程序,以使得由所述端口预占用程序占用的指定端口被释放;

通过云主机守护程序占用被释放的所述指定端口。

在一些实施例中,所述装置还包括登录模块,用于根据预设的配置,通过云主机守护程序登录云主机管理后台。

在一些实施例中,所述第一占用模块,还用于:

检测预设的指定端口是否被占用;

在预设的指定端口被第一程序占用时,关闭所述第一程序,以释放被占用的指定端口;

端口预占用程序占用被释放的指定端口;

端口预占用程序启动被关闭的第一程序。

第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明第一方面实施例中任一项所述的一种避免端口被占用的方法。

相较于现有技术,本发明提供一种避免端口被占用的方法和装置至少具有如下有益效果:

1.本发明提供的一种避免端口被占用的方法和装置,通过端口的预先占用、接管以及在恰当时候释放的一系列操作,实现了端口使用权在程序之间的传递,避免端口被其它的程序占用,保证使用端口的目标程序能够正常使用端口向外提供服务,从而降低了云主机服务程序无法提供服务的概率。

2.相较于现有技术中由于在云主机开机后并未尽早占用端口,存在端口被其它程序使用的可能。本发明使用端口预占用程序和端口接管的方式,在云主机开机第一时间占用住指定端口,并且能够让指定端口在程序之间传递使用,保证了目标程序能够正常使用端口对用户提供服务。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

下面结合附图和实施例对本发明进一步地说明;

图1为相关技术中云主机启动的流程示意图;

图2为一个实施例中避免端口被占用的方法的应用环境图。

图3为一个实施例中避免端口被占用的方法的流程示意图。

图4为一个实施例中避免端口被占用的装置的结构框图。

图5为一个实施例中的避免端口被占用的方法的流程示意图。

图6为一个实施例中端口预占用程序占用指定端口的流程示意图。

图7为一个实施例中避免端口被占用的方法的流程示意图。

图8为一个实施例中计算机设备的结构框图。

附图标记:

100、用户端;200、云主机;201、第一占用模块;202、准备步骤执行模块;203、端口转移模块;204、服务启动模块。

具体实施方式

本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。

为了便于本领域技术人员理解本发明,以下对于本发明实施例涉及的技术术语做简要说明。

云游戏:云端渲染,在终端展示和操控的游戏。用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力。

云主机:运行游戏,并提供游戏画面视频流服务和信令控制服务的服务器。可以是物理机,也可以是虚拟机。

云主机守护程序:云主机服务程序的守护程序。负责云主机服务程序的启动、重启、升级等工作。

云主机服务程序:运行在云主机上,为互联网用户提供云游戏视频流、远程控制等服务的程序。

云主机管理后台:用于统一管理和控制云主机的后台管理系统。

端口预占用程序:启动后能够根据配置占用指定IP端口的程序。

游戏加速器:为游戏提供网络加速的一种程序。

TCP/UDP:基于Client-Server模型的网络传输协议。

图2为一个实施例中避免端口被占用的方法的应用环境图。参照图2,该避免端口被占用的方法应用于云游戏平台。该云游戏平台包括用户端100和云主机200。用户端100和云主机200通过网络连接。用户端100具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。云主机200可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

如图2所示,本发明实施例提供了一种避免端口被占用的方法,该方法运行于云主机200上。在所述云主机200开机之后,所述方法包括如下步骤:

步骤S101:云主机200运行端口预占用程序并通过所述端口预占用程序占用预设的指定端口。

需要说明的是,所述通过所述端口预占用程序占用预设的指定端口的过程,具体包括:

步骤S1011:端口预占用程序检测预设的指定端口是否被占用;

步骤S1012:在预设的指定端口被第一程序占用时,端口预占用程序关闭所述第一程序,以释放被占用的指定端口;

步骤S1013:端口预占用程序占用被释放的指定端口;

步骤S1014:端口预占用程序启动被关闭的第一程序。

具体的,如图5所示,在一个示例中,端口预占用程序占用端口的关键步骤,描述如下:

步骤1:云主机200开机自动运行端口预占用程序。

步骤2:判断哪些运行中的程序占用了云主机服务程序要用到的端口,将占用了端口的程序关闭。

步骤3:端口预占用程序占用住云主机服务程序要用到的端口。

步骤4:重新启动在步骤2中被关闭的程序。

可以理解的是,通过步骤S1011至步骤S1014,端口预占用程序能够在指定端口被占用情况下关闭占用该端口的第一程序并在第一程序释放该端口后重启第一程序,可以进一步保证所有指定端口都不被其他程序占用,可以保证占用了指定端口的程序可以正常运行。可以理解的是,第一程序可以是游戏加速器或者其他在云主机上运行的程序。

步骤S102:云主机200运行云主机守护程序并通过云主机守护程序执行预设的准备步骤。

需要说明的是,所述准备步骤具体包括:

步骤S1021:云主机守护程序检查云主机服务程序是否需要升级;

步骤S1022:云主机守护程序根据检查的结果,执行相应的升级操作。

如图7所示,准备步骤包括程序更新,登录到云主机管理后台等操作步骤。这些操作如果不成功,会进行有限次数的重试,所需要的时间是很难预期的。

步骤S103:在执行完所述准备步骤之后,云主机守护程序获取被端口预占用程序占用的所述指定端口。

所述执行完所述准备步骤,具体包括:

云主机守护程序执行完相应的升降操作;或者

云主机守护程序的检测结果为不需要升级。

在执行完所述准备步骤之后,并在所述云主机守护程序获取被端口预占用程序占用的所述指定端口之前,所述方法还包括:

步骤S1031:云主机守护程序根据预设的配置登录云主机管理后台。

所述主机守护程序获取被端口预占用程序占用的所述指定端口的过程,具体包括:

步骤S1032:云主机守护程序关闭端口预占用程序,以使得由所述端口预占用程序占用的指定端口被释放.

步骤S1033:云主机守护程序占用被释放的所述指定端口。

步骤S104:云主机守护进程释放所述指定端口并在释放所述指定端口之后启动云主机服务程序。

本发明提供的一种避免端口被占用的方法,通过端口的预先占用、接管以及在恰当时候释放的一系列操作,实现了端口使用权在程序之间的传递,避免端口被其它的程序占用,保证使用端口的目标程序能够正常使用端口向外提供服务,从而降低了云主机服务程序无法提供服务的概率。

如图5和图7所示,本发明提供了一个避免端口被占用的方法的优选实施例,如图5所示,该实施例包括如下步骤:

步骤1:云主机200开机启动端口预占用程序,占用住云主机服务程序所需要的服务端口。

步骤2:云主机200开机启动云主机守护程序,程序执行升级等操作。

步骤3:云主机守护程序执行完程序升级操作后会关闭掉端口预占用程序,接管需要占用的端口。

步骤4:在启动云主机服务程序前云主机守护程序会把占用的端口释放出来,然后再启动云主机服务程序,云主机服务程序正常使用指定端口提供云游戏服务。

具体的,和图1中的相关技术相比,云主机服务程序启动流程进行了改进,用于完成端口的接管和释放操作。如图7所示,改进主要增加了两个关键步骤,描述如下:

步骤1:云主机守护程序主动关闭端口预占用程序,并立刻在云主机守护程序内部占用住端口预占用程序占用的端口。此时端口完成了从端口预占用程序到云主机守护程序的转移。

步骤2:在云主机守护程序启动云主机服务程序之前,先将云主机服务程序需要用到的端口释放出来,以便于云主机服务程序启动后能够正常使用端口提供服务。

相较于现有技术中由于在云主机开机后并未尽早占用端口,存在端口被其它程序使用的可能。本发明使用端口预占用程序和端口接管的方式,在云主机开机第一时间占用住指定端口,并且能够让指定端口在程序之间传递使用,保证了目标程序能够正常使用端口对用户提供服务。

第二方面,本发明实施例提供了一种避免端口被占用的装置,该装置应用于云主机,在所述云主机开机之后,所述装置包括:

第一占用模块201,用于运行端口预占用程序并通过所述端口预占用程序占用预设的指定端口;

准备步骤执行模块202,用于运行云主机守护程序并通过运行云主机守护程序执行预设的准备步骤;

端口转移模块203,用于在云主机守护程序执行完所述准备步骤之后,通过云主机守护程序获取被端口预占用程序占用的所述指定端口;

服务启动模块204,用于云主机守护进程释放所述指定端口并在释放所述指定端口之后启动云主机服务程序。

在一些实施例中,所述准备步骤具体包括:

云主机守护程序检查云主机服务程序是否需要升级;

根据检查的结果,云主机守护程序执行相应的升级操作。

在一些实施例中,所述执行完所述准备步骤,具体包括:

云主机守护程序执行完相应的升降操作;或者

云主机守护程序的检测结果为不需要升级。

在一些实施例中,所述第一占用模块201还用于:

通过云主机守护程序关闭端口预占用程序,以使得由所述端口预占用程序占用的指定端口被释放;

通过云主机守护程序占用被释放的所述指定端口。

在一些实施例中,所述装置还包括登录模块,用于根据预设的配置,通过云主机守护程序登录云主机管理后台。

在一些实施例中,所述第一占用模块201,还用于:

检测预设的指定端口是否被占用;

在预设的指定端口被第一程序占用时,关闭所述第一程序,以释放被占用的指定端口;

端口预占用程序占用被释放的指定端口;

端口预占用程序启动被关闭的第一程序。

可以理解的是,本发明的装置实施例与上述方法实施例基于相同的发明构思,因此此处对于装置实施例不再赘述。

图6示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图2中的云主机200。如图6所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现一种避免端口被占用的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种避免端口被占用的方法。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的一种避免端口被占用的装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成一种避免端口被占用的装置的各个程序模块,比如,图4所示的第一占用模块201、准备步骤执行模块202、端口转移模块203和服务启动模块204。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的一种避免端口被占用的方法中的步骤。

例如,图8所示的计算机设备可以通过如图3所示的一种避免端口被占用的装置中的第一占用模块201执行运行端口预占用程序并通过所述端口预占用程序占用预设的指定端口的步骤。通过准备步骤执行模块202执行运行云主机守护程序并通过运行云主机守护程序执行预设的准备步骤的步骤。

在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述一种禁用Windows系统浏览器的方法的步骤。此处一种禁用Windows系统浏览器的的步骤可以是上述各个实施例的一种禁用Windows系统浏览器的方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRA)、存储器总线(Rambus)直接RAM(RDRA)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

相关技术
  • 一种避免端口被占用的方法和装置
  • 一种避免充电桩被占用的自动报警装置
技术分类

06120112624195