CN105740061A - 一种gpu资源重建的方法、用户设备及*** - Google Patents
一种gpu资源重建的方法、用户设备及*** Download PDFInfo
- Publication number
- CN105740061A CN105740061A CN201610067210.1A CN201610067210A CN105740061A CN 105740061 A CN105740061 A CN 105740061A CN 201610067210 A CN201610067210 A CN 201610067210A CN 105740061 A CN105740061 A CN 105740061A
- Authority
- CN
- China
- Prior art keywords
- resource
- gpu
- subscriber equipment
- pond
- held
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种资源重建的方法、用户设备及***,所述方法应用于云交互式***,云交互式***包括用户设备和服务器,用户设备中包括GPU,GPU具有对应的默认资源池,本发明实施例方法包括:用户设备接收服务器发送的绘制数据,绘制数据中包括绘制指令和与绘制指令对应的绘制资源;将绘制资源需要在默认资源池中创建的GPU资源,记录为默认资源池中持有的资源;用户设备根据所述绘制指令判断是否处于GPU丢失状态,若是,判断是否进行GPU恢复;在确定进行GPU恢复时,用户设备释放所述默认资源池中持有的资源,并根据记录的默认资源池中持有的资源重建所述默认资源池中的资源。本发明实施例保证了***的正常使用,提升了用户体验。
Description
技术领域
本发明涉及云技术领域,特别涉及一种资源重建的方法、用户设备及***。
背景技术
随着近年来终端技术和网络带宽的高速发展,云计算技术的日趋成熟催生了云交互***,现有的云交互式***通常包括服务器和多个用户设备,服务器可以是集群服务器,多种交互式应用都可以运行在云交互***中。
目前,在云交互***中有关图像绘制方面的应用,现有技术中通常都是由服务器负责图像绘制,绘制完成后,将绘制好的图像帧发送给用户设备,用户设备接收到绘制好的图像帧后,直接解码图像帧,然后显示图像画面。在云交互***中,由于用户设备中显示图像画面时,不直接记录GPU资源的使用状态,导致在GPU丢失后进行GPU恢复时,无法释放和重建GPU资源。
发明内容
本发明实施例提供了一种资源重建的方法、用户设备及***,保证了***的正常使用,提升了用户体验。
本申请第一方面提供了一种资源重建的方法,所述方法应用于云交互式***,所述云交互式***包括用户设备和服务器,所述用户设备中包括图形处理器GPU,所述GPU具有对应的默认资源池,所述方法包括:
所述用户设备接收所述服务器发送的绘制数据,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源;
将所述绘制资源需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源;
所述用户设备根据所述绘制指令判断是否处于GPU丢失状态,若是,判断是否进行GPU恢复;
在确定进行GPU恢复时,所述用户设备释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
本发明实施例中第二方面提供了一种用户设备,所述用户设备位于所述云交互式***,所述云交互式***还包括服务器,所述用户设备中包括图形处理器GPU,所述GPU具有对应的默认资源池,所述用户设备包括:
接收单元,用于接收所述服务器发送的绘制数据,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源;
记录单元,用于将所述绘制资源需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源;
判断单元,用于根据所述绘制指令判断是否处于GPU丢失状态,若是,判断是否进行GPU恢复;
重建单元,用于在确定进行GPU恢复时,释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
本发明实施例中第三方面提供了一种云交互式***,包括服务器和用户设备,所述用户设备为如第二方面中任一所述的用户设备。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中在接收服务器发送的绘制数据时,都将绘制资源需要在默认GPU资源池中创建的GPU资源,记录为所述默认资源池中持有的资源,在GPU丢失后进行GPU恢复时,释放所述默认资源池中持有的资源,并通过当前记录的所述默认资源池中持有的资源进行默认资源池中的资源重建,实现GPU恢复,避免了在交互式应用***中,由于所有数据均从服务器获取,无法进行GPU丢失后,GPU恢复的处理,保证了***的正常使用,提升了用户体验。
附图说明
图1是云游戏架构示意图;
图2是本发明实施例中GPU资源重建的方法的一个实施例示意图;
图3是本发明实施例中GPU资源重建的方法的一个具体云游戏架构示意图;
图4是本发明实施例中GPU资源重建的方法的另一个实施例示意图;
图5是本发明实施例中用户设备的一个实施例示意图;
图6是本发明实施例中用户设备的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种资源重建的方法、用户设备及***,保证了***的正常使用,提升了用户体验。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面首先介绍本发明实施例中资源重建的方法的实施例。
本发明实施例中资源重建的方法应用于云交互式***中,如图1所示,所述云交互式***包括用户设备和服务器,用户设备可以有多个,服务器也可以是服务器集群,多种交互式应用都可以运行在云交互***中。用户设备可以是个人电脑(PersonalComputer,PC)、笔记本和手机等终端设备。服务器可以是专用的游戏服务器,目前服务器通过录制绘制数据流,压缩后通过网络传输到用户设备,用户设备可以回放绘制指令,播放绘制资源,重现渲染画面,所述用户设备中包括图形处理器GPU。
Direct3D是微软公司为Windows操作***开发的三维(3Dimensions,3D)图形编程接口,是Windows上3D游戏开发的基础库,是图形处理器(GraphicsProcessingUnit,GPU)的编程接口。
Direct3D中管理的GPU资源按存储位置分为三种类型:托管资源池资源(ManagedResources),默认资源池资源(DefaultResources),***内存资源池资源(SystemMemoryResources)。其中,托管资源池资源和***内存资源池资源不受GPU丢失影响,不需要在GPU丢失时处理。默认资源池中的资源需要在GPU丢失后检测到设备恢复时,需要释放和重新创建。
本发明实施例中用户设备具有对应的默认资源池,所述用户设备可以是可以为智能手机、平板电脑等智能终端,也可以是MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机、车载影音设备和台式计算机等等。
请参阅图2,本发明实施例中资源重建的方法一个实施例包括:
201、用户设备接收所述服务器发送的绘制数据;
其中,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源,服务器通过录制绘制数据流,压缩后通过网络传输到用户设备,用户设备接收所述服务器发送的绘制数据。
202、用户设备将所述绘制资源需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源;
用户设备在播放绘制资源时,都需要在默认资源池中创建对应的GPU资源使用,此步骤中,将所述绘制资源需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源,需要说明的是,若所述绘制的资源需要在默认资源池中创建对应的GPU资源,已记录为所述默认资源池中持有的资源,则可以不再重复记录。
203、用户设备根据所述绘制指令判断是否处于GPU丢失状态,若是,执行步骤204;
GPU(GraphicsProcessingUnit,图形处理器)是一种执行图形运算的微处理器。基于Direct3D的游戏使用GPU时,可能被剥夺GPU使用权,导致无法继续有效渲染,应用程序持有的GPU资源亦被释放,该过程成为GPU丢失,同GPU丢失有关的另外一个状态是GPU恢复,应用程序被重新赋予GPU使用权,应用程序在GPU丢失时,无法继续有效渲染,在设备恢复时,释放后重建之前持有的GPU资源。
本实施例中,所述绘制指令中可以包括用于检测当前GPU状态的第一检测函数,此时,所述用户设备根据所述绘制指令判断是否处于GPU丢失状态,包括:所述用户设备回放所述绘制指令,获取所述第一检测函数返回的第一返回值;所述用户设备根据所述第一返回值判断是否GPU丢失。
具体的,所述第一检测函数可以是绘制指令中包括的Present函数,当GPU丢失状态时,Present函数会返回D3DERR_DEVICELOST,此时获取该返回值,即可判断是否GPU丢失。
204、用户设备判断是否进行GPU恢复,若是,执行步骤205;
本实施例中,在确定处于GPU丢失状态之后,所述方法还可以包括:
所述用户设备在所述绘制指令中***用于检测是否进行GPU恢复的第二检测函数;此时,所述用户设备判断是否进行GPU恢复,可以是:所述用户设备回放所述绘制指令,获取所述第二检测函数返回的第二返回值;所述用户设备根据所述第二返回值判断是否进行GPU恢复。
具体的,所述第二检测函数可以是TestCooperativeLevel函数,当获取到TestCooperativeLevel函数的返回值为D3DERR_DEVICENOTRESET时,确定进行GPU恢复。
本实施例中,步骤203中也可以通过TestCooperativeLevel函数进行判断是否处于GPU丢失状态,当TestCooperativeLevel函数的返回值中包括D3DERR_DEVICELOST时,此时获取该返回值,即可判断是否GPU丢失。
205、用户设备释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
一般来说,用户设备中应用程序使用图形处理器(GraphicsProcessingUnit,GPU)时,可能被剥夺GPU使用权,应用程序持有的GPU资源亦被释放,此过程即GPU丢失,同GPU丢失对应的另外一个状态是GPU恢复,即应用程序被重新赋予GPU使用权,在GPU恢复时,释放并重建之前持有的GPU资源。
这是由于GPU丢失后,GPU与显卡就失去了联系,所以一切与显卡有关的资源也都无法再通过设备访问了,那么这些资源必须释放并重新创建,一般来说,以D3DPOOL_DEFAULT(默认资源池)为参数创建的资源,都是在显卡中分配的内存,所以,在重置设备之前要保证所有D3DPOOL_DEFAULT(默认资源池)类型的资源都必须释放掉。
因此,在确定进行GPU恢复时,用户设备需要释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源,本实施例中,用户设备释放所述默认资源池中持有的资源并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源可以使用处理设备丢失恢复的Reset函数来实现。
本发明实施例中在接收服务器发送的绘制数据时,都将绘制资源需要在默认GPU资源池中创建的GPU资源,记录为所述默认资源池中持有的资源,在GPU丢失后进行GPU恢复时,释放所述默认资源池中持有的资源,并通过当前记录的所述默认资源池中持有的资源进行默认资源池中的资源重建,实现GPU恢复,避免了在交互式应用***中,由于所有数据均从服务器获取,无法进行GPU丢失后,GPU恢复的处理,保证了***的正常使用,提升了用户体验。
可选的,本发明实施例中,所述绘制指令需要在所述默认资源池中创建的GPU资源中包括目标GPU资源,所述绘制指令中包括所述目标GPU资源的生存期信息;所述方法还包括:所述用户设备在到达所述目标GPU资源的生存期时,释放所述目标GPU资源,并在所述记录的所述默认资源池中持有的资源中删除所述目标GPU资源,即在默认资源池中持有的GPU资源达到生存期时,即释放掉该资源,并删除所述默认资源池中持有的该资源记录,实现资源更大程度的有效利用,并在重建所述默认资源池中持有的资源时,避免不必要的资源重建。
可选的,本发明实施例中,在所述根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源之后,所述方法还可以包括:
所述用户设备检测所述默认资源池中持有的资源是否全部重建成功,若否,则释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
在一些特殊情况下,可能会发生默认资源池中持有的资源未全部重建成功的情况,此时可以重新做一次释放并重建默认资源池中持有的资源步骤,确保默认资源池中持有的资源未重建成功。
下面以一具体应用场景对上述资源重建的方法进行描述,用户设备以用户设备上运行的云游戏客户端举例,请参阅图3,游戏在云游戏服务器端上运行,云游戏服务器通过录制绘制数据流,压缩后通过互联网传输到云游戏客户端,云游戏客户端回放绘制指令,播放绘制数据,重现渲染画面,本实施例中,在云游戏客户端中设置了一Direct3D状态记录器,用于记录接收自云游戏服务器的绘制资源需要在默认资源池中创建的GPU资源。
请参阅图4,本发明实施例中资源重建方法的另一个实施例包括:
401、云游戏客户端接收所述云游戏服务器发送的绘制数据;
其中,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源。
402、云游戏客户端通过Direct3D状态记录器将所述绘制资源需要在DefaultResources中创建的GPU资源,记录为DefaultResources中持有的资源;
所述绘制指令中包括Present函数。
403、在所述绘制指令中***TestCooperativeLevel函数;
所述TestCooperativeLevel函数用于检测是否进行GPU恢复。
404、云游戏客户端回放所述绘制指令判断是否处于GPU丢失状态,若是,执行步骤405;
云游戏客户端回放所述绘制指令判断是否处于GPU丢失状态,可以是回放所述绘制指令根据所述Present函数的返回值判断是否处于GPU丢失状态,当GPU丢失状态时,Present函数会返回D3DERR_DEVICELOST,此时获取该返回值,即可判断是否GPU丢失。
405、云游戏客户端判断是否进行GPU恢复;
当获取到TestCooperativeLevel函数的返回值为D3DERR_DEVICENOTRESET时,确定进行GPU恢复。
406、在确定进行GPU恢复时,云游戏客户端释放DefaultResources中持有的资源,并根据记录的所述DefaultResources中持有的资源重建所述默认资源池中的资源。
下面介绍本发明实施例中用户设备的实施例,所述用户设备位于所述云交互式***,所述云交互式***还包括服务器,所述用户设备中包括图形处理器GPU,所述GPU具有对应的默认资源池。
请参阅图5,本发明实施例中用户设备500的一个实施例包括:
接收单元501,用于接收所述服务器发送的绘制数据,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源;
记录单元502,用于将所述绘制指令需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源;
判断单元503,用于根据所述绘制指令判断是否处于GPU丢失状态,若是,判断是否进行GPU恢复;
重建单元504,用于在确定进行GPU恢复时,释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
本发明实施例中记录单元502在接收单元501接收服务器发送的绘制数据时,都将绘制资源需要在默认GPU资源池中创建的GPU资源,记录为所述默认资源池中持有的资源,重建单元504在判断单元503确定GPU丢失后进行GPU恢复时,释放所述默认资源池中持有的资源,并通过当前记录的所述默认资源池中持有的资源进行默认资源池中的资源重建,实现GPU恢复,避免了在交互式应用***中,由于所有数据均从服务器获取,无法进行GPU丢失后,GPU恢复的处理,保证了***的正常使用,提升了用户体验。
可选的,所述绘制指令中包括用于检测当前GPU状态的第一检测函数;
所述判断单元503具体用于回放所述绘制指令,获取所述第一检测函数返回的第一返回值;根据所述第一返回值判断是否GPU丢失。
可选的,在确定处于GPU丢失状态之后,所述用户设备还包括:
***单元,用于在所述绘制指令中***用于检测是否进行GPU恢复的第二检测函数;
所述判断单元503具体还用于回放所述绘制指令,获取所述第二检测函数返回的第二返回值;根据所述第二返回值判断是否进行GPU恢复。
可选的,所述绘制指令需要在所述默认资源池中创建的GPU资源中包括目标GPU资源,所述绘制指令中包括所述目标GPU资源的生存期信息;
所述用户设备还包括:
删除单元,用于在到达所述目标GPU资源的生存期时,释放所述目标GPU资源,并在所述记录的所述默认资源池中持有的资源中删除所述目标GPU资源。
所述根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源之后,所述重建单元504具体还用于检测所述默认资源池中持有的资源是否全部重建成功,若否,则释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
上面从单元化功能实体的角度对本发明实施例中的用户设备进行了描述,下面从硬件处理的角度对本发明实施例中的用户设备进行描述,请参阅图6,所述用户设备应用于云交互式***,所述云交互式***还包括服务器,本发明实施例中的用户设备600包括:
输入装置601、输出装置602、处理器603和存储器604(其中处理器603的数量可以一个或多个,图6中以一个处理器603为例),所述用户设备中还包括GPU605,所述GPU具有对应的默认资源池。在本发明的一些实施例中,输入装置601、输出装置602、处理器603、存储器604、GPU605,可通过总线或其它方式连接,其中,图6中以通过总线连接为例。
本发明实施例涉及的用户设备可以具有比图6所示出的更多或更少的部件,可以组合两个或更多个部件,或者可以具有不同的部件配置或设置,各个部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件或硬件和软件的组合实现。
其中,通过调用存储器604存储的操作指令,处理器603用于执行如下步骤:
通过输入装置601接收所述服务器发送的绘制数据,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源;
将所述绘制资源需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源;
通过调用存储器604存储的操作指令,所述GPU605用于执行如下步骤:
根据所述绘制指令判断是否处于GPU丢失状态,若是,判断是否进行GPU恢复;
在确定进行GPU恢复时,释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
可选的,所述绘制指令中包括用于检测当前GPU状态的第一检测函数;通过调用存储器604存储的操作指令,所述GPU605具体用于执行如下操作:
回放所述绘制指令,获取所述第一检测函数返回的第一返回值;
根据所述第一返回值判断是否GPU丢失。
可选的,通过调用存储器604存储的操作指令,所述GPU605还用于执行如下操作:
在确定处于GPU丢失状态之后,在所述绘制指令中***用于检测是否进行GPU恢复的第二检测函数;
通过调用存储器604存储的操作指令,所述GPU605具体用于执行如下操作:
回放所述绘制指令,获取所述第二检测函数返回的第二返回值;
根据所述第二返回值判断是否进行GPU恢复。
可选的,所述绘制指令需要在所述默认资源池中创建的GPU资源中包括目标GPU资源,所述绘制指令中包括所述目标GPU资源的生存期信息;
通过调用存储器604存储的操作指令,所述GPU605还用于执行如下操作:
在到达所述目标GPU资源的生存期时,释放所述目标GPU资源,并在所述记录的所述默认资源池中持有的资源中删除所述目标GPU资源。
可选的,在所述根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源之后,通过调用存储器604存储的操作指令,所述GPU605还用于执行如下操作:
检测所述默认资源池中持有的资源是否全部重建成功,若否,则释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
本实施例中,存储器604可用于存储软件程序以及模块,处理器603通过运行存储在存储器604的软件程序以及模块,从而执行各种功能应用以及数据处理。
存储器604可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据(比如镜像容器数据)等。此外,存储器604可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器603可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器603中的硬件的集成逻辑电路或者软件形式的指令完成。
上述的处理器603可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器604,处理器604读取存储器604中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的至少资源重建的方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种资源重建的方法,其特征在于,所述方法应用于云交互式***,所述云交互式***包括用户设备和服务器,所述用户设备中包括图形处理器GPU,所述GPU具有对应的默认资源池,所述方法包括:
所述用户设备接收所述服务器发送的绘制数据,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源;
所述用户设备将所述绘制资源需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源;
所述用户设备根据所述绘制指令判断是否处于GPU丢失状态,若是,判断是否进行GPU恢复;
在确定进行GPU恢复时,所述用户设备释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
2.根据权利要求1所述的方法,其特征在于,所述绘制指令中包括用于检测当前GPU状态的第一检测函数;
所述用户设备根据所述绘制指令判断是否处于GPU丢失状态,包括:
所述用户设备回放所述绘制指令,获取所述第一检测函数返回的第一返回值;
所述用户设备根据所述第一返回值判断是否GPU丢失。
3.根据权利要求1或2所述的方法,其特征在于,在确定处于GPU丢失状态之后,所述方法还包括:
所述用户设备在所述绘制指令中***用于检测是否进行GPU恢复的第二检测函数;
所述用户设备判断是否进行GPU恢复,包括:
所述用户设备回放所述绘制指令,获取所述第二检测函数返回的第二返回值;
所述用户设备根据所述第二返回值判断是否进行GPU恢复。
4.根据权利要求1或2所述的方法,其特征在于,所述绘制资源需要在所述默认资源池中创建的GPU资源中包括目标GPU资源,所述绘制指令中包括所述目标GPU资源的生存期信息;
所述方法还包括:
所述用户设备在到达所述目标GPU资源的生存期时,释放所述目标GPU资源,并在所述记录的所述默认资源池中持有的资源中删除所述目标GPU资源。
5.根据权利要求1或2所述的方法,其特征在于,在所述根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源之后,所述方法还包括:
所述用户设备检测所述默认资源池中持有的资源是否全部重建成功,若否,则释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
6.一种用户设备,其特征在于,所述用户设备位于所述云交互式***,所述云交互式***还包括服务器,所述用户设备中包括图形处理器GPU,所述GPU具有对应的默认资源池,所述用户设备包括:
接收单元,用于接收所述服务器发送的绘制数据,所述绘制数据中包括绘制指令和与所述绘制指令对应的绘制资源;
记录单元,用于将所述绘制资源需要在默认资源池中创建的GPU资源,记录为所述默认资源池中持有的资源;
判断单元,用于根据所述绘制指令判断是否处于GPU丢失状态,若是,判断是否进行GPU恢复;
重建单元,用于在确定进行GPU恢复时,释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
7.根据权利要求6所述的用户设备,其特征在于,所述绘制指令中包括用于检测当前GPU状态的第一检测函数;
所述判断单元具体用于回放所述绘制指令,获取所述第一检测函数返回的第一返回值;根据所述第一返回值判断是否GPU丢失。
8.根据权利要求6或7所述的用户设备,其特征在于,在确定处于GPU丢失状态之后,所述用户设备还包括:
***单元,用于在所述绘制指令中***用于检测是否进行GPU恢复的第二检测函数;
所述判断单元具体还用于回放所述绘制指令,获取所述第二检测函数返回的第二返回值;根据所述第二返回值判断是否进行GPU恢复。
9.根据权利要求6或7所述的用户设备,其特征在于,所述绘制资源需要在所述默认资源池中创建的GPU资源中包括目标GPU资源,所述绘制指令中包括所述目标GPU资源的生存期信息;
所述用户设备还包括:
删除单元,用于在到达所述目标GPU资源的生存期时,释放所述目标GPU资源,并在所述记录的所述默认资源池中持有的资源中删除所述目标GPU资源。
10.根据权利要求6或7所述的用户设备,其特征在于,在所述根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源之后,所述重建单元具体还用于检测所述默认资源池中持有的资源是否全部重建成功,若否,则释放所述默认资源池中持有的资源,并根据记录的所述默认资源池中持有的资源重建所述默认资源池中的资源。
11.一种云交互式***,其特征在于,包括服务器和用户设备,所述用户设备为如权利要求6至10中任一所述的用户设备。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610067210.1A CN105740061B (zh) | 2016-01-29 | 2016-01-29 | 一种gpu资源重建的方法、用户设备及*** |
PCT/CN2017/072537 WO2017129117A1 (zh) | 2016-01-29 | 2017-01-25 | 一种gpu资源重建的方法、用户设备,***及存储介质 |
KR1020187022500A KR102091961B1 (ko) | 2016-01-29 | 2017-01-25 | Gpu 자원 재구성 방법, 사용자 디바이스, 시스템 및 저장 매체 |
JP2018538859A JP6715334B2 (ja) | 2016-01-29 | 2017-01-25 | Gpuリソース再構築方法、ユーザー・デバイス、システム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610067210.1A CN105740061B (zh) | 2016-01-29 | 2016-01-29 | 一种gpu资源重建的方法、用户设备及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740061A true CN105740061A (zh) | 2016-07-06 |
CN105740061B CN105740061B (zh) | 2019-05-31 |
Family
ID=56247261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610067210.1A Active CN105740061B (zh) | 2016-01-29 | 2016-01-29 | 一种gpu资源重建的方法、用户设备及*** |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6715334B2 (zh) |
KR (1) | KR102091961B1 (zh) |
CN (1) | CN105740061B (zh) |
WO (1) | WO2017129117A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017129117A1 (zh) * | 2016-01-29 | 2017-08-03 | 腾讯科技(深圳)有限公司 | 一种gpu资源重建的方法、用户设备,***及存储介质 |
US11451628B2 (en) | 2020-05-29 | 2022-09-20 | Beijing Baidu Netcom Science And Technology Co., Ltd. | File resource processing method and apparatus, device and medium |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648272B (zh) * | 2019-08-21 | 2023-10-03 | 北京达佳互联信息技术有限公司 | 图形资源转换方法、装置、电子设备及存储介质 |
CN110502399B (zh) * | 2019-08-23 | 2023-09-01 | 广东浪潮大数据研究有限公司 | 故障检测方法及装置 |
CN113347432B (zh) * | 2021-05-27 | 2023-03-28 | 深圳万兴软件有限公司 | 一种视频编解码方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221533A (zh) * | 2007-01-10 | 2008-07-16 | 中兴通讯股份有限公司 | 资源存储方法及装置 |
CN102866919A (zh) * | 2012-07-31 | 2013-01-09 | 电子科技大学 | 一种基于云端绘制的大规模三维场景多人协同创作方法 |
CN103595828A (zh) * | 2012-08-13 | 2014-02-19 | 南京杰诺瀚软件科技有限公司 | 一种扩展手机和平板电脑功能的装置和方法 |
US20150009222A1 (en) * | 2012-11-28 | 2015-01-08 | Nvidia Corporation | Method and system for cloud based virtualized graphics processing for remote displays |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100618159B1 (ko) * | 2004-08-05 | 2006-08-29 | 한국정보통신대학교 산학협력단 | 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법 |
US7827491B2 (en) | 2006-05-12 | 2010-11-02 | Tran Bao Q | Systems and methods for video editing |
TWI369126B (en) | 2006-08-01 | 2012-07-21 | Nvidia Corp | Multi-graphics processor system and method for processing content communicated over a network for display purposes |
US8803892B2 (en) * | 2010-06-10 | 2014-08-12 | Otoy, Inc. | Allocation of GPU resources across multiple clients |
US9146909B2 (en) | 2011-07-27 | 2015-09-29 | Qualcomm Incorporated | Web browsing enhanced by cloud computing |
CN103095828B (zh) * | 2013-01-14 | 2016-03-30 | 上海电力学院 | 基于云渲染的Web3D同步会议***及实现同步的方法 |
KR20150054484A (ko) * | 2013-11-12 | 2015-05-20 | 주식회사 시큐아이 | 웹 어플리케이션을 구동하는 컴퓨팅 장치 및 그것의 응답시간 측정 방법 |
CN105740061B (zh) * | 2016-01-29 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 一种gpu资源重建的方法、用户设备及*** |
-
2016
- 2016-01-29 CN CN201610067210.1A patent/CN105740061B/zh active Active
-
2017
- 2017-01-25 WO PCT/CN2017/072537 patent/WO2017129117A1/zh active Application Filing
- 2017-01-25 JP JP2018538859A patent/JP6715334B2/ja active Active
- 2017-01-25 KR KR1020187022500A patent/KR102091961B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221533A (zh) * | 2007-01-10 | 2008-07-16 | 中兴通讯股份有限公司 | 资源存储方法及装置 |
CN102866919A (zh) * | 2012-07-31 | 2013-01-09 | 电子科技大学 | 一种基于云端绘制的大规模三维场景多人协同创作方法 |
CN103595828A (zh) * | 2012-08-13 | 2014-02-19 | 南京杰诺瀚软件科技有限公司 | 一种扩展手机和平板电脑功能的装置和方法 |
US20150009222A1 (en) * | 2012-11-28 | 2015-01-08 | Nvidia Corporation | Method and system for cloud based virtualized graphics processing for remote displays |
US20150113527A1 (en) * | 2012-11-28 | 2015-04-23 | Nvidia Corporation | Method and system for fast cloning of virtual machines |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017129117A1 (zh) * | 2016-01-29 | 2017-08-03 | 腾讯科技(深圳)有限公司 | 一种gpu资源重建的方法、用户设备,***及存储介质 |
US11451628B2 (en) | 2020-05-29 | 2022-09-20 | Beijing Baidu Netcom Science And Technology Co., Ltd. | File resource processing method and apparatus, device and medium |
Also Published As
Publication number | Publication date |
---|---|
JP6715334B2 (ja) | 2020-07-01 |
JP2019509547A (ja) | 2019-04-04 |
CN105740061B (zh) | 2019-05-31 |
WO2017129117A1 (zh) | 2017-08-03 |
KR102091961B1 (ko) | 2020-03-20 |
KR20180100626A (ko) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740061A (zh) | 一种gpu资源重建的方法、用户设备及*** | |
CN105763602A (zh) | 一种数据请求处理的方法、服务器及*** | |
CN108521608B (zh) | 视频文件的处理方法、装置、终端及存储介质 | |
CN108491333A (zh) | 环形缓冲区的数据写入方法、装置、设备及介质 | |
CN106331822B (zh) | 一种播放多视频的方法、装置及电子设备 | |
US20090172279A1 (en) | System For Accessing A Removable Non-Volatile Memory Card | |
CN110377226B (zh) | 基于存储引擎bluestore的压缩方法、装置及存储介质 | |
CN103425491A (zh) | 一种游戏引擎 | |
CN104837052A (zh) | 播放多媒体数据的方法及装置 | |
CN108495164A (zh) | 音视频同步处理方法及装置、计算机装置及存储介质 | |
CN109344126B (zh) | 贴图的处理方法、装置、存储介质和电子装置 | |
US20190012325A1 (en) | Method and Apparatus for Presenting To-Be-Cleaned Data, and Electronic Device | |
CN106648666A (zh) | 一种用户界面生成方法及*** | |
CN112473144A (zh) | 游戏资源数据的处理方法及装置 | |
US20170168660A1 (en) | Voice bullet screen generation method and electronic device | |
CN108170620A (zh) | 一种服务器用硬盘拓展***及方法、硬盘信号增强方法 | |
CN106569913A (zh) | 终端备份数据的方法及装置 | |
CN105512562B (zh) | 一种漏洞挖掘方法、装置及电子设备 | |
CN114579055B (zh) | 磁盘存储方法、装置、设备及介质 | |
CN106326768B (zh) | 一种信息管理方法、装置及智能终端 | |
CN110399168A (zh) | 多数据盘存储服务器的***启动方法、装置及设备 | |
CN113573134A (zh) | 弹幕数据的处理方法及装置、存储介质、电子设备 | |
CN105727556A (zh) | 一种图像绘制的方法、相关设备及*** | |
CN105004957A (zh) | 一种sd卡测试方法和测试设备 | |
CN108416830B (zh) | 动画显示控制方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |