CN118079363A - 云游戏部署方法、网卡、计算机设备及存储介质 - Google Patents
云游戏部署方法、网卡、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN118079363A CN118079363A CN202410316414.9A CN202410316414A CN118079363A CN 118079363 A CN118079363 A CN 118079363A CN 202410316414 A CN202410316414 A CN 202410316414A CN 118079363 A CN118079363 A CN 118079363A
- Authority
- CN
- China
- Prior art keywords
- pcie
- cloud game
- resources
- network
- equipment
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000013507 mapping Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000009877 rendering Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种云游戏部署方法、网卡、计算机设备及存储介质,涉及计算机硬件技术领域。该方法包括:对PCIE设备的PCIE配置空间进行模拟;基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。由于可通过网卡降低服务器的网络资源和存储资源的消耗,并可通过网卡对运行云游戏所消耗的网络资源和存储资源进行管控,从而可以使得服务器上能够部署运行更多的云游戏实例,提高服务器上云游戏的部署密度。
Description
技术领域
本申请涉及计算机硬件技术领域,特别是涉及一种云游戏部署方法、网卡、计算机设备及存储介质。
背景技术
云游戏是以云计算为基础的游戏方式,主要是由本地设备采集用户输入,由远端服务器进行渲染,渲染完毕后的游戏画面通过编码器进行压缩,并通过RTC(Real-TimeCommunications,实时通信)系统将数据流推送至本地设备。由于云游戏的应用场景会比较消耗网络资源和存储资源,而服务器上的网络资源和存储资源会比较有限,且还要处理其它业务,从而导致服务器上云游戏部署的实例不多。
发明内容
基于此,有必要针对上述技术问题,提供一种提高云游戏部署密度的云游戏部署方法、网卡、计算机设备、存储介质及计算机程序产品。
第一方面,本申请提供一种云游戏部署方法,应用于网卡,该方法包括:
在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟;
基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
在其中一个实施例中,对PCIE设备的PCIE配置空间进行模拟,包括:配置PCIE设备的PCIE寄存器资源,分配PCIE设备的PCIE配置空间资源,建立PCIE设备的设备标识与PCIE寄存器资源间的映射关系。
在其中一个实施例中,基于云游戏请求,分配PCIE设备的网络资源和存储资源,包括:基于云游戏请求相应所需求的网络带宽和存储空间,分配PCIE设备的网络IO队列和存储IO队列。
在其中一个实施例中,该方法还包括:
向服务器发起设备热插拔请求;
接收服务器返回的用于触发PCIE设备扫描过程的事务层数据包,以使服务器完成对PCIE设备的扫描过程。
在其中一个实施例中,该方法还包括:
在接收到云游戏请求且网卡中存在可用的PCIE设备的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
在其中一个实施例中,该方法还包括:
在接收到云游戏请求的情况下,基于云游戏请求进行用户鉴权;
在用户鉴权通过的情况下,查找网卡中是否存在可用的PCIE设备。
在其中一个实施例中,该方法还包括:
在云游戏实例与相应分配的PCIE设备完成绑定的情况下,基于PCIE设备向云游戏请求的发起终端进行推流。
第二方面,本申请还提供了一种网卡,包括:
PCIE接口层,用于在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,配置PCIE设备的PCIE寄存器资源;
PCIE控制面,用于分配PCIE设备的PCIE配置空间资源,建立PCIE设备的设备标识与PCIE寄存器资源间的映射关系;
PCIE数据面,用于基于云游戏请求,分配PCIE设备的网络资源和存储资源,并建立PCIE寄存器资源分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
其中,在服务器对PCIE设备完成扫描的情况下、或者在接收到云游戏请求且网卡中存在可用的PCIE设备的情况下,由服务器将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
在其中一个实施例中,PCIE数据面,具体用于基于云游戏请求相应所需求的网络带宽和存储空间,分配PCIE设备的网络IO队列和存储IO队列。
在其中一个实施例中,PCIE控制面,还用于通知PCIE接口层向服务器发起设备热插拔请求;获取服务器返回的用于触发PCIE设备扫描过程的事务层数据包,以使服务器完成对PCIE设备的扫描过程。
在其中一个实施例中,PCIE接口层,还用于对服务器返回的事务层数据包括进行拦截,并基于事务层数据包的类型,将事务层数据包发送至PCIE控制面或者PCIE数据面。
在其中一个实施例中,该网卡还包括:
调度中心,用于将云游戏请求相应的云游戏镜像文件的存储位置通知至PCIE控制面;
PCIE控制面,还用于基于存储位置,将相应的云游戏镜像文件存储至存储资源中。
在其中一个实施例中,调度中心,还用于在用户鉴权通过的情况下,查找网卡中是否存在可用的PCIE设备,并在云游戏实例与相应分配的PCIE设备完成绑定的情况下,基于PCIE设备向云游戏请求的发起终端进行推流。
在其中一个实施例中,该网卡还包括:
内容中心,用于在接收到新的云游戏内容的情况下,制作相应的云游戏镜像文件;
用户中心,用于在接收到云游戏请求的情况下,基于云游戏请求进行用户鉴权。
第三方面,本申请还提供了一种计算机设备,包括上述第二方面中各种实施方式所提供的网卡。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟;
基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟;
基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
上述云游戏部署方法、网卡、计算机设备、存储介质及计算机程序产品,通过将运行云游戏所需的存储资源和网络资源由服务器卸载到网卡硬件,通过网卡为至少一个服务器中运行的云游戏实例提供存储资源和网络资源,并同时对存储资源和网络资源进行管控。由于可以通过网卡降低服务器网络资源和存储资源的消耗,并可以通过网卡对运行云游戏所消耗的网络资源和存储资源进行管控,从而可以使得服务器上能够部署运行更多的云游戏实例,提高服务器上云游戏的部署密度。另外,因不再由服务器对网络资源和存储资源进行管控,可以提高云游戏整体的运行效率;同时因可为云游戏实例单独提供网络资源和存储资源,从而可提高云游戏实例的运行性能。最后,因可以生成PCIE设备,后续将云游戏实例与PCIE设备进行绑定即可,从而可以降低云游戏部署的复杂度。
附图说明
图1为一个实施例中云游戏运行的实施场景示意图;
图2为一个实施例中云游戏部署方法的流程示意图;
图3为一个实施例中网卡的结构示意图;
图4为另一个实施例中网卡的结构示意图;
图5为一个实施例中云游服务器中云游戏实例的部署示意图;
图6为又一个实施例中网卡的结构示意图;
图7为再一个实施例中网卡的结构示意图;
图8为另一个实施例中云游服务器中云游戏实例的部署示意图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种专业名词,但除非特别说明,这些专业名词不受这些术语限制。这些术语仅用于将一个专业名词与另一个专业名词区分。举例来说,在不脱离本申请的范围的情况下,第三预设阈值与第四预设阈值可以相同可以不同。
云游戏是以云计算为基础的游戏方式,主要是由本地设备采集用户输入,由远端服务器进行渲染,渲染完毕后的游戏画面通过编码器进行压缩,并通过RTC(Real-TimeCommunications,实时通信)系统将数据流推送至本地设备。由于云游戏的应用场景会比较消耗网络资源和存储资源,而服务器上的网络资源和存储资源会比较有限,且还要处理其它业务,从而导致服务器上云游戏部署的实例不多。
而DPU(Data Processing Unit,数据处理器)网卡可以将网络资源和存储资源卸载到网卡硬件上,并且可以利用网卡实现对多个服务器进行管控(通过PCIE进行扩展),以为云游戏的单个实例提供网络资源和存储资源。针对上述构思,本申请实施例提供了一种云游戏部署方法,参考图1,该方法可以应用于终端104与服务器102之间。其中,服务器102上安装有网卡。
由此,终端104可以向服务器102发送云游戏请求,在接收到云游戏请求且服务器102中的网卡中不存在可用的PCIE设备的情况下,网卡可以对PCIE设备的PCIE配置空间进行模拟。基于云游戏请求,网卡可分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系。其中,存储资源中存储有云游戏请求相应的云游戏镜像文件。在服务器102对PCIE设备完成扫描的情况下,服务器102可将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定,从而基于PCIE设备向终端104进行推流。其中,终端104可以为个人计算机、平板电脑或者手机等,本申请实施例对此不作具体限定。服务器102中装载的网卡可以为DPU智能网卡,本申请实施例对此也不作具体限定。
在一些实施例中,参见图2,提供了一种云游戏部署方法。该方法可以应用于服务器中的网卡,具体可包括以下步骤:
202、在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟。
其中,云游戏请求可以由用户通过终端触发。例如,终端侧可以显示可供游玩的云游戏列表,而用户可以在云游戏列表中选取云游戏。响应于针对云游戏列表的选取操作,服务器可以接收到云游戏请求。可以理解的是,云游戏请求至少包括待游玩的云游戏类型。考虑到目前云游戏多为付费服务且服务器端还需留存用户的游玩进度等信息,从而云游戏请求中还可以包括用户的账户信息,本申请实施例不对云游戏请求中包括的内容作具体限定。
本申请实施例提到的PCIE设备主要指的是网卡通过将自身的物理资源进行划分,以为云游戏实例的运行提供网络资源和存储资源,而这些资源即可模拟成通过PCIE外部扩展的设备。PCIe配置空间是一个用于分配和配置PCIe设备资源的空间,每个PCIe设备都有一段独立的配置空间,系统会给这个设备分配内存,CPU访问这段内存空间即访问此设备的配置空间。配置空间可以包括多个用于配置和管理PCIe设备的寄存器,用于控制设备的操作和属性,如设备ID、供应商ID和中断号等。配置空间包括两种类型的Header Type,即Type0的终端设备和Type1的桥设备。其中,桥设备进一步包括RC(Root Complex,根端点)和交换机端口中的点对点桥(P2P Bridge)。为使得PCIE设备能够被接入使用,本步骤中可以对PCIE设备的PCIE配置空间进行模拟。
203、基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件。
可以理解的是,运行云游戏需要耗费网络资源和存储资源,且不同用户可能需求的网络资源和存储资源不同,从而可以基于表征用户需求的云游戏请求,分配PCIE设备的网络资源和存储资源。由于需要对PCIE设备的网络资源和存储资源进行控制,从而还需要建立PCIE配置空间分别与网络资源和存储资源之间的映射关系。
204、在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
其中,PCIE设备扫描是操作系统对计算机外部设备的一种自动检测和配置过程,它通过PCIE总线控制器与PCIE设备之间的通信来实现。PCIE设备扫描是一个层层递进的过程,从根总线开始,逐级扫描枚举设备,配置资源,验证设备,并加载设备驱动程序,以实现设备与操作系统的正常通信和控制。这个过程通常是自动进行的,由操作系统负责完成,而无需用户的干预。也即,在服务器通过扫描确定存在外部扩展的PCIE设备之后,可以为云游戏实例分配PCIE设备,并将两者进行绑定,从而使得PCIE设备为运行云游戏实例提供网络资源和存储资源。云游戏实例可以是基于VM(Virtual Machine,虚拟机)或者容器所运行的进程。
上述云游戏部署方法,通过将运行云游戏所需的存储资源和网络资源由服务器卸载到网卡硬件,通过网卡为至少一个服务器中运行的云游戏实例提供存储资源和网络资源,并同时对存储资源和网络资源进行管控。由于可以通过网卡降低对于服务器网络资源和存储资源的消耗,并可以通过网卡对运行云游戏所消耗的网络资源和存储资源进行管控,从而可以使得服务器上能够部署运行更多的云游戏实例,提高服务器上云游戏的部署密度。另外,因不再由服务器对网络资源和存储资源进行管控,可以提高云游戏整体的运行效率;同时因可为云游戏实例单独提供网络资源和存储资源,从而可提高云游戏实例的运行性能。最后,因可以生成PCIE设备,后续将云游戏实例与PCIE设备进行绑定即可,从而可以降低云游戏部署的复杂度。
在一些实施例中,对PCIE设备的PCIE配置空间进行模拟,包括:配置PCIE设备的PCIE寄存器资源,分配PCIE设备的PCIE配置空间资源,建立PCIE设备的设备标识与PCIE寄存器资源间的映射关系。
由在前内容可知,配置空间可以包括多个用于配置和管理PCIe设备的寄存器,具体可以包括设备的配置寄存器和扩展配置寄存器。由此,对PCIE配置空间进行配置,可以先配置PCIE设备的PCIE寄存器资源,再分配PCIE设备的bar空间资源和IO资源等PCIE配置空间资源。建立设备标识与PCIE寄存器资源间的映射关系,可以通过在设备标识相应的寄存器中填充PCIE设备的设备标识实现,以明确属于PCIE设备的寄存器资源。
上述实施例中,通过将运行云游戏所需的存储资源和网络资源由服务器卸载到网卡硬件,并基于网卡对PCIE配置空间进行配置,可以生成至少一个PCIE设备,以用于后续运行云游戏实例,从而可以基于至少一个PCIE设备,使得服务器上能够部署运行更多的云游戏实例,以提高服务器上云游戏的部署密度。
在一些实施例中,基于云游戏请求,分配PCIE设备的网络资源和存储资源,包括:基于云游戏请求相应所需求的网络带宽和存储空间,分配PCIE设备的网络IO队列和存储IO队列。
其中,可以对PCIE设备的网络IO队列中网络设备的数量进行分配,也可以对网络IO队列的数量进行分配;还可以对PCIE设备的存储IO队列中存储设备的数量进行分配,也可以对存储IO队列的数量进行分配。存储设备指的是NVME(Non Volatile Memory HostController Interface Specification,逻辑设备接口规范)硬盘或者SATA(SerialAdvanced Technology Attachment,串行高级技术附件)硬盘等存储硬件设备,存储IO队列指的是硬件存储设备构成的硬件队列。网络设备指的是网卡等网络硬件设备,网络IO队列指的是网卡等设备构成的硬件队列。
上述实施例中,由于可按照用户需求的网络带宽和存储空间,分配PCIE设备的网络IO队列和存储IO队列,从而可以满足用户的网络和存储需求,以达到更好的云游戏性能。
在一些实施例中,该方法还包括:向服务器发起设备热插拔请求;接收服务器返回的用于触发PCIE设备扫描过程的事务层数据包,以使服务器完成对PCIE设备的扫描过程。
其中,通过热插拔请求可以实现在服务器不关闭系统电源的情况下对PCIE设备进行扩展或者更换。在向服务器发起设备热插拔请求之后,服务器可以返回用于触发PCIE设备扫描过程的事务层数据包。具体地,该事务层数据包可以为配置读TLP(TransactionLayer Packet,事务层数据包),以读取PCIE配置空间的配置寄存器,从而获知新接入了哪个PCIE设备。
上述实施例中,基于设备热插拔请求以及PCIE设备的扫描过程,可以实时为服务器扩展更多新的PCIE设备,以使得服务器上能够部署运行更多的云游戏实例,从而提高服务器上云游戏的部署密度。
在一些实施例中,该方法还包括:在接收到云游戏请求的情况下,基于云游戏请求进行用户鉴权;在用户鉴权通过的情况下,查找网卡中是否存在可用的PCIE设备。
可以理解的是,云游戏通常是种付费服务,从而需要验证云游戏请求相应的用户是否购买过相应的付费服务。因此,在本申请实施例可以先对云游戏请求进行用户鉴权。另外,网卡可以预先生成多个PCIE设备,以供云游戏实例使用。在用户鉴权通过后,可以查找网卡中是否存在可用的PCIE设备。如果不存在可用的PCIE设备,可以执行上述实施例中,对PCIE设备的PCIE配置空间进行模拟、以及分配网络资源和存储资源的过程。如果存在可用的PCIE设备,则可以直接将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
上述实施例中,由于可以先对云游戏请求进行鉴权,可以保证云游戏数据的安全性。另外,由于网卡可以预先生成多个PCIE设备供使用,从而可以改善临时创建PCIE设备而带来的处理延时。
在一些实施例中,该方法还包括:在云游戏实例与相应分配的PCIE设备完成绑定的情况下,基于PCIE设备向云游戏请求的发起终端进行推流。
具体地,可以使用RTC服务进行推流,以向用户终端提供渲染后的游戏画面。
上述实施例中,通过将运行云游戏所需的存储资源和网络资源由服务器卸载到网卡硬件,通过网卡为至少一个服务器中运行的云游戏实例提供存储资源和网络资源,并同时对存储资源和网络资源进行管控。由于可以通过网卡降低对于服务器网络资源和存储资源的消耗,并可以通过网卡对运行云游戏所消耗的网络资源和存储资源进行管控,从而可以使得服务器上能够部署运行更多的云游戏实例,提高服务器上云游戏的部署密度。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
上述过程主要是对网卡侧对云游戏进行部署时的方法流程进行说明,可以理解的是,网卡内部可以划分不同的层级结构和功能模块,以实现上述方法流程。由此,参见图3,本申请实施例还提供一种网卡,该网卡包括:
PCIE接口层,用于在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,配置PCIE设备的PCIE寄存器资源;
PCIE控制面,用于分配PCIE设备的PCIE配置空间资源,建立PCIE设备的设备标识与PCIE寄存器资源间的映射关系;
PCIE数据面,用于基于云游戏请求,分配PCIE设备的网络资源和存储资源,并建立PCIE寄存器资源分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
其中,在服务器对PCIE设备完成扫描的情况下、或者在接收到云游戏请求且网卡中存在可用的PCIE设备的情况下,由服务器将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
具体地,PCIE接口层可以负责接收服务器的PCI(Peripheral ComponentInterconnect,外部链接标准)请求以及各个PCI请求的分发操作。PCIE控制面可以负责对TLP消息的编解码,并负责模拟PCIE设备的配置空间。PCIE数据面可以负责对IO队列的管理和数据的搬移。
除此之外,在图3中,还可以包括存储IO管理面和网络IO管理面。其中,存储IO管理面负责对PCIE存储设备的IO队列进行管理。其中,可以使用网卡中DPU自带的存储设备,也可以使用远端存储设备。网络IO管理面负责对PCIE网络设备的IO队列进行管理;另外,还可以将网络数据流从服务器DMA(Direct Memory Access,直接内存访问)至网卡,通过网卡的MAC PORT端口对外发送。其中,对IO队列的管理操作可以包括创建、使用和销毁。
上述网卡,通过将运行云游戏所需的存储资源和网络资源由服务器卸载到网卡硬件,通过网卡为至少一个服务器中运行的云游戏实例提供存储资源和网络资源,并同时对存储资源和网络资源进行管控。由于可以通过网卡降低对于服务器网络资源和存储资源的消耗,并可以通过网卡对运行云游戏所消耗的网络资源和存储资源进行管控,从而可以使得服务器上能够部署运行更多的云游戏实例,提高服务器上云游戏的部署密度。另外,因不再由服务器对网络资源和存储资源进行管控,可以提高云游戏整体的运行效率;同时因可为云游戏实例单独提供网络资源和存储资源,从而可提高云游戏实例的运行性能。最后,因可以生成PCIE设备,后续将云游戏实例与PCIE设备进行绑定即可,从而可以降低云游戏部署的复杂度。
在一些实施例中,PCIE数据面,具体用于基于云游戏请求相应所需求的网络带宽和存储空间,分配PCIE设备的网络IO队列和存储IO队列。
其中,相关解释可参考上述方法实施例中的说明,此处不再赘述。
上述实施例中,由于可按照用户需求的网络带宽和存储空间,分配PCIE设备的网络IO队列和存储IO队列,从而可以满足用户的网络和存储需求,以达到更好的云游戏性能。
在一些实施例中,PCIE控制面,还用于通知PCIE接口层向服务器发起设备热插拔请求;获取服务器返回的用于触发PCIE设备扫描过程的事务层数据包,以使服务器完成对PCIE设备的扫描过程。
其中,相关解释可参考上述方法实施例中的说明,此处不再赘述。
上述实施例中,基于设备热插拔请求以及PCIE设备的扫描过程,可以实时为服务器扩展更多新的PCIE设备,以使得服务器上能够部署运行更多的云游戏实例,从而提高服务器上云游戏的部署密度。
在一些实施例中,PCIE接口层,还用于对服务器返回的事务层数据包括进行拦截,并基于事务层数据包的类型,将事务层数据包发送至PCIE控制面或者PCIE数据面。
其中,PCIE接口层在对TLP消息进行拦截后,可以根据TLP消息所访问的PCIE总线上的地址,确定是做TLP设备扫描的操作,还是收发包的操作,从而确定是将TLP消息送入至PCIE控制面,还是PCIE数据面。如果是PCIE数据面,则可以直接通过DMA进行数据搬移,从而提高处理速度。
上述实施例中,由于可以对TLP消息进行拦截,并根据TLP消息所访问的PCIE总线上的地址,将TLP消息送入至PCIE控制面或者PCIE数据面以进行相应处理,从而可以提高处理速度。
在一些实施例中,参考图4,该网卡还包括:
调度中心,用于将云游戏请求相应的云游戏镜像文件的存储位置通知至PCIE控制面;
PCIE控制面,还用于基于存储位置,将相应的云游戏镜像文件存储至存储资源中。
其中,调度中心可以负责用户和云游戏内容的调度,并采集各个服务器的负载,以实现用户和资源的负载均衡。同时,还负责DPU网卡中PCIE设备的创建和管理。
上述实施例中,由于调度中心可以实现用户和资源的负载均衡,并可以实现PCIE设备的创建和管理,以供服务器运行云游戏实例,从而通过单个网卡即可实现对多个服务器进行管控。
在一些实施例中,调度中心,还用于在用户鉴权通过的情况下,查找网卡中是否存在可用的PCIE设备,并在云游戏实例与相应分配的PCIE设备完成绑定的情况下,基于PCIE设备向云游戏请求的发起终端进行推流。
其中,相关解释可参考上述方法实施例中的说明,此处不再赘述。另外,以虚拟化VM实现云游戏实例为例,云游戏实施例在云游服务器N中部署结果可参考图5。
上述实施例中,由于可以先对云游戏请求进行鉴权,可以保证云游戏数据的安全性。另外,由于网卡可以预先生成多个PCIE设备供使用,从而可以改善临时创建PCIE设备而带来的处理延时。
在一些实施例中,参考图6,该网卡还包括:
内容中心,用于在接收到新的云游戏内容的情况下,制作相应的云游戏镜像文件;
用户中心,用于在接收到云游戏请求的情况下,基于云游戏请求进行用户鉴权。
其中,内容中心可以负责云游戏内容的注入、分发、展示以及云游戏镜像文件的制作,用户中心可以负责用户信息的管理和鉴权。
上述实施例中,通过内容中心和用户中心,可以方便对云游戏内容和用户的管理。
上述网卡实施例主要是对网卡中的核心模块进行说明,可以理解的是,这些核心模块还可以进一步划分为子模块。由此,参考图7,现结合云游戏镜像文件的生成过程和云游戏的部署过程,对网卡内模块的工作过程进行说明。
1、云游戏镜像文件的生成过程
(1)内容中心收到新注入的云游戏内容,可调用存储IO管里面的接口,制作云游戏镜像文件。例如,Android云游戏可包含android系统的所有必要文件、云游戏的引擎和云游戏的RTC程序。云游戏镜像文件制作完成后,可在调度中心登记,并在相应的调度界面中展示。
(2)用户发起云游戏请求,用户中心可以对用户进行鉴权,并发送相应的云游戏调度请求至调度中心。
(3)调度中心可以在PCIE设备池中查找可用的PCIE设备,如果查找到,则可以将云游戏实例与相应分配的PCIE设备进行绑定,以运行云游戏实例,并通过RTC服务对游戏渲染画面进行推流。如果未查找到,则需要重新进行云游戏部署。
2、云游戏的部署过程
(1)调度中心将用户的需求发送到PCIE控制面,由PCIE控制面解析需求,并分配资源。其中,PCIE控制面先控制PCIE接口层中的配置寄存器模块,配置PCIE设备的PCIE寄存器资源。而PCIE控制面中的PCIE配置空间模拟模块,可以分配PCIE设备的PCIE配置空间资源,并建立PCIE设备的设备标识与PCIE寄存器资源间的映射关系。
(2)PCIE数据面可以包括IO队列管理模块,IO队列管理模块可以为该PCIE设备的设备ID分配存储IO队列和网络IO队列,并对IO队列进行管理。PCIE数据面还可以利用DPU的Qos模块限制用户流量,还可以包括eswitch(链路扩展)模块,以用于扩展挂接的PCIE设备。
(3)PCIE控制面编写设备标识、IO队列与PCIE寄存器资源间的映射关系,并配置至PCIE接口层中的队列MAP模块(寄存器)。
(4)调度中心将云游戏请求相应的云游戏镜像文件的存储位置通知至PCIE控制面,云游戏镜像文件作为存储IO队列中存储设备的存储内容。
(5)PCIE控制面通知PCIE接口层向服务器发起设备热插拔请求,服务器接收到设备热插拔请求,发起TLP消息至PCIE接口层。
(6)PCIE接口层中的TLP消息拦截模块拦截TLP消息,通过地址路由模块将TLP消息送至PCIE控制面或者PCIE数据面。
(7)PCIE控制面中的TLP编解码模块负责解析TLP消息,将处理后的结果编码为TLP消息,发送至服务器,服务器上PCI驱动完成设备的扫描和初始化操作。另外,PCIE控制面中还可以包括硬件资源管理模块,用于管理存储和网络等硬件资源。
(8)PCIE控制面在检测到服务器上的PCIE驱动可用之后,将配置信息和游戏信息等信息通知管控模块。
(9)管控模块server可以调用服务器中的agnet模块,开启云游戏实例,并将网卡呈现的PCIE(网卡)设备和存储设备绑定至VM或者容器。
(10)调度中心可以基于PCIE接口层中的DMA模块,将网络数据流从服务器DMA至网卡,再基于RTC服务,将网络数据流推通过网卡的的MAC PORT口发送出去。
需要说明的是,图7主要呈现的是网卡中核心模块的子模块划分。云游服务器侧同样可有模块的划分,具体可参考图8。在图8中,为其中一个云游服务器中的其中一个云游戏实例的架构,云游服务器包括agent模块和自身的PCIE网卡,也包括通过图7对应的网卡所抽象出的PCIE网卡、PCIE存储设备、编码器和渲染模块。另外,云游戏实例中还包括云游戏游戏引擎以及用于RTC推流的功能模块。
在一个实施例中,提供了一种计算机设备,该计算机设备包括上述任一网卡实施例所提供的网卡。该计算机设备可以云游服务器或者其它处理设备,本申请实施例对此不作具体限定。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储云游戏数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种云游戏部署方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟;
基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟;
基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在接收到云游戏请求且网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟;
基于云游戏请求,分配PCIE设备的网络资源和存储资源,建立PCIE配置空间分别与网络资源和存储资源之间的映射关系,存储资源中存储有云游戏请求相应的云游戏镜像文件;
在服务器对PCIE设备完成扫描的情况下,将针对云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (17)
1.一种云游戏部署方法,其特征在于,应用于网卡;所述方法包括:
在接收到云游戏请求且所述网卡中不存在可用的PCIE设备的情况下,对PCIE设备的PCIE配置空间进行模拟;
基于所述云游戏请求,分配所述PCIE设备的网络资源和存储资源,建立所述PCIE配置空间分别与所述网络资源和所述存储资源之间的映射关系,所述存储资源中存储有所述云游戏请求相应的云游戏镜像文件;
在服务器对所述PCIE设备完成扫描的情况下,将针对所述云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
2.根据权利要求1所述的方法,其特征在于,所述对PCIE设备的PCIE配置空间进行模拟,包括:
配置PCIE设备的PCIE寄存器资源,分配所述PCIE设备的PCIE配置空间资源,建立所述PCIE设备的设备标识与所述PCIE寄存器资源间的映射关系。
3.根据权利要求1所述的方法,其特征在于,所述基于所述云游戏请求,分配所述PCIE设备的网络资源和存储资源,包括:
基于所述云游戏请求相应所需求的网络带宽和存储空间,分配所述PCIE设备的网络IO队列和存储IO队列。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述服务器发起设备热插拔请求;
接收所述服务器返回的用于触发PCIE设备扫描过程的事务层数据包,以使所述服务器完成对PCIE设备的扫描过程。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到云游戏请求且所述网卡中存在可用的PCIE设备的情况下,将针对所述云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到云游戏请求的情况下,基于所述云游戏请求进行用户鉴权;
在用户鉴权通过的情况下,查找所述网卡中是否存在可用的PCIE设备。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述云游戏实例与相应分配的PCIE设备完成绑定的情况下,基于所述PCIE设备向所述云游戏请求的发起终端进行推流。
8.一种网卡,其特征在于,包括:
PCIE接口层,用于在接收到云游戏请求且所述网卡中不存在可用的PCIE设备的情况下,配置PCIE设备的PCIE寄存器资源;
PCIE控制面,用于分配PCIE设备的PCIE配置空间资源,建立所述PCIE设备的设备标识与所述PCIE寄存器资源间的映射关系;
PCIE数据面,用于基于所述云游戏请求,分配所述PCIE设备的网络资源和存储资源,并建立所述PCIE寄存器资源分别与所述网络资源和所述存储资源之间的映射关系,所述存储资源中存储有所述云游戏请求相应的云游戏镜像文件;
其中,在服务器对所述PCIE设备完成扫描的情况下、或者在接收到云游戏请求且所述网卡中存在可用的PCIE设备的情况下,由所述服务器将针对所述云游戏请求所创建的云游戏实例与相应分配的PCIE设备进行绑定。
9.根据权利要求8所述的网卡,其特征在于,所述PCIE数据面,具体用于基于所述云游戏请求相应所需求的网络带宽和存储空间,分配所述PCIE设备的网络IO队列和存储IO队列。
10.根据权利要求8所述的网卡,其特征在于,所述PCIE控制面,还用于通知所述PCIE接口层向所述服务器发起设备热插拔请求;获取所述服务器返回的用于触发PCIE设备扫描过程的事务层数据包,以使所述服务器完成对PCIE设备的扫描过程。
11.根据权利要求8所述的网卡,其特征在于,所述PCIE接口层,还用于对所述服务器返回的事务层数据包括进行拦截,并基于事务层数据包的类型,将事务层数据包发送至所述PCIE控制面或者所述PCIE数据面。
12.根据权利要求8所述的网卡,其特征在于,还包括:
调度中心,用于将所述云游戏请求相应的云游戏镜像文件的存储位置通知至所述PCIE控制面;
所述PCIE控制面,还用于基于所述存储位置,将相应的云游戏镜像文件存储至所述存储资源中。
13.根据权利要求12所述的网卡,其特征在于,所述调度中心,还用于在用户鉴权通过的情况下,查找所述网卡中是否存在可用的PCIE设备,并在所述云游戏实例与相应分配的PCIE设备完成绑定的情况下,基于所述PCIE设备向所述云游戏请求的发起终端进行推流。
14.根据权利要求8所述的网卡,其特征在于,还包括:
内容中心,用于在接收到新的云游戏内容的情况下,制作相应的云游戏镜像文件;
用户中心,用于在接收到云游戏请求的情况下,基于所述云游戏请求进行用户鉴权。
15.一种计算机设备,其特征在于,包括权利要求8至14中任一项所述的网卡。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410316414.9A CN118079363A (zh) | 2024-03-19 | 2024-03-19 | 云游戏部署方法、网卡、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410316414.9A CN118079363A (zh) | 2024-03-19 | 2024-03-19 | 云游戏部署方法、网卡、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118079363A true CN118079363A (zh) | 2024-05-28 |
Family
ID=91153240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410316414.9A Pending CN118079363A (zh) | 2024-03-19 | 2024-03-19 | 云游戏部署方法、网卡、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118079363A (zh) |
-
2024
- 2024-03-19 CN CN202410316414.9A patent/CN118079363A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099941B (zh) | 实现硬件加速处理的方法、设备和系统 | |
CN110830392B (zh) | 启用存储介质上的虚拟功能 | |
US10778521B2 (en) | Reconfiguring a server including a reconfigurable adapter device | |
US10140066B2 (en) | Smart partitioning of storage access paths in shared storage services | |
US9069622B2 (en) | Techniques for load balancing GPU enabled virtual machines | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
US10552936B2 (en) | Solid state storage local image processing system and method | |
JP2019153297A (ja) | Fpgaベースの加速のための新たなssd基本構造 | |
CN110618871A (zh) | 一种fpga云平台加速资源的分配方法与系统 | |
WO2012177359A2 (en) | Native cloud computing via network segmentation | |
CA2935114A1 (en) | Computer, control device, and data processing method | |
WO2022121866A1 (zh) | 一种基于加速卡的服务运行方法、装置、电子设备及计算机可读存储介质 | |
CN110704161A (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN113037795B (zh) | 瘦终端系统及其处理方法 | |
CN111078514B (zh) | 一种gpu存储系统验证方法 | |
CN108874719B (zh) | 一种基于PCIe总线的扩展存储设备 | |
US20210157652A1 (en) | Customized partitioning of compute instances | |
CN107608806A (zh) | 一种虚拟机间快速访问传输数据的系统及方法 | |
US10901914B2 (en) | Method for writing multiple copies into storage device, and storage device | |
CN112596669A (zh) | 一种基于分布式存储的数据处理方法及装置 | |
CN117215491A (zh) | 一种快速数据访问方法、快速数据访问装置及光模块 | |
CN116578416A (zh) | 一种基于gpu虚拟化的信号级仿真加速方法 | |
CN118079363A (zh) | 云游戏部署方法、网卡、计算机设备及存储介质 | |
CN110383255A (zh) | 管理对物理设备的客户分区访问 | |
CN110069220B (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 |