应用服务请求方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29400151 阅读:19 留言:0更新日期:2021-07-23 22:37
本申请是关于一种应用服务请求方法、装置、计算机设备及存储介质,涉及数据处理领域。所述方法包括:接收第一调用请求;第一调用请求用于获取服务器创建的第一应用服务;基于第一调用请求,获取第一应用服务对应的第一父进程;对第一父进程进行复制操作,获得第一子进程;将第一子进程对应的连接信息发送给至少一个终端,以便至少一个终端与第一子进程进行连接。通过上述方案,对第一父进程复制以得到第一子进程的过程中,不需要在内存中重新加载第一子进程的数据,也不需要调用CPU重新计算以获得第一子进程的数据,减小了服务器创建应用服务对应的子进程对服务器造成的负荷,减小了创建应用服务对服务器的资源占用。

【技术实现步骤摘要】
应用服务请求方法、装置、计算机设备及存储介质
本申请涉及数据处理领域,特别涉及一种应用服务请求方法、装置、计算机设备及存储介质。
技术介绍
终端在使用应用程序实现该应用程序中的某一应用功能时,通常将实现应用功能对应的数据信息上传至服务器,当服务器完成对应用功能对应的数据信息的处理后再下发至终端。相关技术中,服务器可以建立多个DS(DedicatedServer,独立服务器),以实现同时执行多个终端向服务器发送的不同数据处理请求所请求的应用服务。以游戏场景为例,服务器中一般会使用DS处理玩家共同的游戏运行逻辑。一个DS对应一个游戏单局。当有大量单局游戏在运行时,游戏服务器需要启动大量的DS。然而,上述方案中,当服务器需要启动多个DS时,对服务器的负载要求很高,启动DS容易造成服务器的卡顿。
技术实现思路
本申请实施例提供了一种应用服务请求方法、装置、计算机设备及存储介质,可以在的同时,减小了创建应用服务对服务器的资源占用,该技术方案如下:一方面,提供了一种应用服务请求方法,所述方法包括:接收第一调用请求;所述第一调用请求用于获取所述服务器创建的第一应用服务;基于所述第一调用请求,获取所述第一应用服务对应的第一父进程;对所述第一父进程进行复制操作,获得第一子进程;所述第一子进程与所述第一父进程共用所述第一父进程对应的第一物理内存;所述第一物理内存用于存储执行所述第一应用服务所需要的基础数据;所述第一子进程用于执行所述第一应用服务;将所述第一子进程对应的连接信息发送给至少一个终端,以便所述至少一个终端与所述第一子进程进行连接。又一方面,提供了一种应用服务请求方法,所述方法包括:调用请求接收模块,用于接收第一调用请求;所述第一调用请求用于获取所述服务器创建的第一应用服务;第一父进程获取模块,用于基于所述第一调用请求,获取所述第一应用服务对应的第一父进程;第一子进程获取模块,用于对所述第一父进程进行复制操作,获得第一子进程;所述第一子进程与所述第一父进程共用所述第一父进程对应的第一物理内存;所述第一物理内存用于存储执行所述第一应用服务所需要的基础数据;所述第一子进程用于执行所述第一应用服务;连接信息发送模块,用于将所述第一子进程对应的连接信息发送给至少一个终端,以便所述至少一个终端与所述第一子进程进行连接。在一种可能的实现方式中,所述第一子进程获取模块,包括:第一子页表获取子模块,用于对所述第一父进程的页表进行复制操作,获得所述第一子页表;所述页表用于指示所述页表对应的进程的物理地址信息;第一子进程构建子模块,用于基于所述第一子页表,构建所述第一子进程。在一种可能的实现方式中,所述第一子进程获取模块,还包括:进程信息复制子模块,用于对所述第一父进程的进程信息进行复制,获得所述第一子进程对应的进程信息;所述进程信息包括代码段、用户栈、内核栈以及虚拟地址空间中的至少一者;所述第一子进程构建子模块,还用于,基于所述第一子页表以及所述第一子进程对应的进程信息,构建所述第一子进程。在一种可能的实现方式中,所述服务器还包括第一管理进程;所述第一父进程获取模块,还用于,响应于通过所述第一管理进程接收到所述第一调用请求,获取所述第一应用服务对应的第一父进程;所述装置还包括:复制请求发送模块,用于基于所述第一调用请求,通过所述第一管理进程向所述第一父进程发送复制请求;所述第一子进程获取模块,还用于,当通过所述第一父进程接收到所述复制请求,对所述第一父进程进行复制操作,获得所述第一子进程。在一种可能的实现方式中,响应于通过所述第一管理进程接收到所述第一调用请求,所述第一父进程获取模块,还用于,响应于存在处于启动状态的所述第一父进程,获取所述第一应用服务对应的第一父进程。在一种可能的实现方式中,响应于通过所述第一管理进程接收到所述第一调用请求,所述第一父进程获取模块,还用于,响应于不存在处于启动状态的所述第一父进程,启动所述第一父进程。在一种可能的实现方式中,响应于通过所述第一管理进程接收到所述第一调用请求,所述装置还包括:父进程状态确定模块,用于响应于通过所述第一管理进程接收到所述第一父进程对应的第一在线信息,将所述第一父进程确定为启动状态;其中,所述第一在线信息是通过所述第一父进程根据所述第一父进程与所述第一管理进程之间的心跳协议发送的信息。在一种可能的实现方式中,所述装置还包括:通信连接建立模块,用于基于所述第一父进程与所述第一管理进程之间的心跳协议,建立所述第一父进程与所述第一管理进程之间的通信连接,以便所述第一父进程向所述第一管理进程发送第一在线信息。在一种可能的实现方式中,所述装置还包括:第一读取模块,用于响应于通过所述第一子进程进行第一读取操作,在所述第一物理内存中获取所述第一读取操作对应的第一数据。在一种可能的实现方式中,所述装置还包括:第一写入模块,用于响应于通过所述第一子进程进行所述第一写入操作,在第二物理内存中写入所述第一写入操作对应的第二数据,所述第二物理内存是所述第一物理内存之外的内存。在一种可能的实现方式中,所述方法还包括:第一父进程销毁模块,用于响应于第一指定时间内第一父进程未执行复制操作,销毁所述第一父进程。在一种可能的实现方式中,所述第一子进程是游戏场景中,用于运行虚拟场景的独立服务器DS;所述第一父进程是游戏场景中,用于复制生成所述独立服务器的种子独立服务器SeedDS。又一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的应用服务请求方法。再一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的应用服务请求方法。又一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的应用服务请求方法。本申请提供的技术方案可以包括以下有益效果:在服务器创建第一应用服务时,可以先获取第一应用服务对应的父进程,再根据父进程复制出共享父进程的物理内存的子进程,以实现通过子进程完成终端请求的应用服务。通过上述方案,由于父进程复制出的子进程与父进程共享物理内存,且该第一物理内存中存储有执行第一应用服务所需要的基础数据,因此对第一父进程复制以得到第一子进程的过程中,不需要在内存中重新加载第一子进程的数据,也不本文档来自技高网...

【技术保护点】
1.一种应用服务请求方法,其特征在于,所述方法用于服务器,所述方法包括:/n接收第一调用请求;所述第一调用请求用于获取所述服务器创建的第一应用服务;/n基于所述第一调用请求,获取所述第一应用服务对应的第一父进程;/n对所述第一父进程进行复制操作,获得第一子进程;所述第一子进程与所述第一父进程共用所述第一父进程对应的第一物理内存;所述第一物理内存用于存储执行所述第一应用服务所需要的基础数据;所述第一子进程用于执行所述第一应用服务;/n将所述第一子进程对应的连接信息发送给至少一个终端,以便所述至少一个终端与所述第一子进程进行连接。/n

【技术特征摘要】
1.一种应用服务请求方法,其特征在于,所述方法用于服务器,所述方法包括:
接收第一调用请求;所述第一调用请求用于获取所述服务器创建的第一应用服务;
基于所述第一调用请求,获取所述第一应用服务对应的第一父进程;
对所述第一父进程进行复制操作,获得第一子进程;所述第一子进程与所述第一父进程共用所述第一父进程对应的第一物理内存;所述第一物理内存用于存储执行所述第一应用服务所需要的基础数据;所述第一子进程用于执行所述第一应用服务;
将所述第一子进程对应的连接信息发送给至少一个终端,以便所述至少一个终端与所述第一子进程进行连接。


2.根据权利要求1所述的方法,其特征在于,所述对所述第一父进程进行复制操作,获得第一子进程,包括:
对所述第一父进程的页表进行复制操作,获得所述第一子页表;所述页表用于指示所述页表对应的进程的物理地址信息;
基于所述第一子页表,构建所述第一子进程。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对所述第一父进程的进程信息进行复制,获得所述第一子进程对应的进程信息;所述进程信息包括代码段、用户栈、内核栈以及虚拟地址空间中的至少一者;
所述基于所述第一子页表,构建所述第一子进程,包括:
基于所述第一子页表以及所述第一子进程对应的进程信息,构建所述第一子进程。


4.根据权利要求1至3任一所述的方法,其特征在于,所述服务器中还包括第一管理进程;
所述基于第一调用请求,获取所述第一应用服务对应的第一父进程,包括:
响应于通过所述第一管理进程接收到所述第一调用请求,获取所述第一应用服务对应的第一父进程;
在所述对所述第一父进程进行复制操作,获得第一子进程之前,还包括:
基于所述第一调用请求,通过所述第一管理进程向所述第一父进程发送复制请求;
所述对所述第一父进程进行复制操作,获得第一子进程,包括:
当通过所述第一父进程接收到所述复制请求,对所述第一父进程进行复制操作,获得所述第一子进程。


5.根据权利要求4所述的方法,其特征在于,所述获取所述第一应用服务对应的第一父进程,包括:
响应于存在处于启动状态的所述第一父进程,获取所述第一应用服务对应的第一父进程。


6.根据权利要求4所述的方法,其特征在于,所述基于所述第一调用请求,获取所述第一应用服务对应的第一父进程,包括:
响应于不存在处于启动状态的所述第一父进程,启动所述第一父进程。


7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
响应于通过所述第一管理进程接收到所述第一父进程对应的第一在线信息,将所述第一父进程确定为启动状态;

【专利技术属性】
技术研发人员:周原王亚昌张嘉明叶劲峰唐家胜姚忠存陈志明钟建斌白昀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1