虚拟观众席的数据处理系统和方法
技术领域
本发明涉及通信技术领域,尤其是一种虚拟观众席的数据处理系统和方法。
背景技术
随着通信技术、虚拟技术和多媒体技术的发展,为了活跃现场气氛、增加互动性和吸引力,像虚拟电视直播节目、虚拟演唱会或者虚拟球赛等虚拟活动引入了虚拟观众技术。虚拟观众技术是指在虚拟活动的现场,通过在现场增设的屏幕上显示由虚拟观众形象(如卡通形象、头像等)和虚拟座位结合而组成的虚拟观众席的技术。该技术使得用户可通过移动终端等客户端设备的摄像头或者其他设备(如按键、鼠标、键盘等人机交互设备),将自己的表情、肢体动作、互动发言等内容上传到运行该虚拟观众席的服务器,并通过服务器处理后在屏幕的相应虚拟座位上展示和控制属于虚拟观众形象及相应的表情、肢体动作、互动发言等。在此过程中,运行虚拟观众席的服务器需要处理与识别各个用户的不同表情、不同肢体动作、不同互动发言等数据或指令并将处理的结果在屏幕的虚拟观众席中展示,需要处理的数据量较大,可能会导致服务器宕机或瘫痪,降低了服务器的处理性能和稳定性。
发明内容
为解决上述技术问题,本发明实施例的目的在于:提供一种虚拟观众席的数据处理系统和方法,以提升服务器的处理性能和稳定性。
一方面,本发明实施例所采取的技术方案是:
虚拟观众席的数据处理系统,包括:
主服务器,用于与外网通信,获取并分配数据处理任务,根据数据处理任务的分配结果进行第一数据处理,以及触发并发送强制同步指令;
若干个从服务器,用于接收强制同步指令和数据处理任务的分配结果,根据强制同步指令进行强制同步,以及根据数据处理任务的分配结果进行第二数据处理;
每一所述从服务器通过局域网的网线与主服务器连接。
进一步,所述主服务器具体包括:
外网通信模块,用于与外网的移动终端或人机交互设备进行通信,获取数据处理任务;
第一处理模块,用于分配数据处理任务,根据数据处理任务的第一分配结果进行第一数据处理,以及触发强制同步指令;
第一内网通信模块,用于将强制同步指令和数据处理任务的第二分配结果发送给每一所述从服务器;
所述第一处理模块分别连接外网通信模块和第一内网通信模块,所述第一内网通信模块还连接每一所述从服务器。
进一步,每一所述从服务器具体包括:
第二内网通信模块,用于接收强制同步指令和数据处理任务的第二分配结果;
第二处理模块,用于根据强制同步指令进行强制同步,以及根据数据处理任务的第二分配结果进行第二数据处理;
所述第二内网通信模块通过局域网的网线与第一内网通信模块连接,所述第二内网通信模块还连接第二处理模块。
进一步,还包括:
第一展示输出接口,用于输出第一数据处理结果给展示装置;
第二展示输出接口,用于输出第二数据处理结果给展示装置;
所述第一展示输出接口分别与第一处理模块和展示装置连接,所述第二展示输出接口分别与第二处理模块和展示装置连接。
进一步,所述从服务器的数量为3个。
另一方面,本发明实施例所采取的技术方案是:
虚拟观众席的数据处理方法,包括以下步骤:
通过主服务器获取并分配数据处理任务;
通过主服务器根据数据处理任务的分配结果进行第一数据处理;
通过主服务器触发强制同步指令,并将强制同步指令和数据处理任务的分配结果通过局域网的网线发送给从服务器;
通过从服务器根据强制同步指令进行强制同步;
通过从服务器根据数据处理任务的分配结果进行第二数据处理。
进一步,所述通过主服务器获取并分配数据处理任务这一步骤,具体包括:
通过主服务器与外网的移动终端或人机交互设备进行通信,获取数据处理任务;
通过主服务器分配数据处理任务,得到第一分配结果和第二分配结果,所述第一分配结果用于控制主服务器进行第一数据处理,所述第二分配结果用于控制从服务器进行第二数据处理。
进一步,所述数据处理任务包括镜头推动任务,所述强制同步指令包括画面帧率同步指令和/或画面刷新率同步指令。
进一步,所述从服务器包括第一至第三从服务器,所述第一数据处理包括通过主服务器控制镜头推动第一角度,所述第二数据处理包括通过第一至第三从服务器分别控制镜头推动第二至第四角度,所述第一至第四角度满足的关系式为:第一角度+第二角度+第三角度+第四角度=镜头推动任务控制镜头推动的总角度。
进一步,所述通过从服务器根据强制同步指令进行强制同步这一步骤具体为:
根据强制同步指令控制从服务器进行画面帧率同步和/或画面刷新率同步,从而使得从服务器的画面帧率和/或画面刷新率与主服务器的相同。
上述本发明实施例中的一个或多个技术方案具有如下优点:本发明实施例将服务器划分为主服务器和若干个从服务器,通过局域网的网线实现从服务器与主服务器的通信并配合强制同步指令实现从服务器与主服务器间的同步,从而将虚拟观众席的数据处理任务分别由主服务器和若干个从服务器来共同完成,避免了因处理的数据量大而出现服务器宕机或瘫痪的现象,提升了服务器的处理性能和稳定性。
附图说明
图1为从服务器为3个时虚拟观众席的数据处理系统实施例的结构框图;
图2为主服务器与从服务器的具体结构框图;
图3为虚拟观众席的数据处理方法实施例的流程图。
具体实施方式
下面结合说明书附图和具体实施例对本发明做进一步解释和说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
传统的分布式服务器集群是由大量中低端服务器通过互联网连接而成的,这种架构能提供大规模集群计算环境来提升数据处理性能,但其成本较高,一般适用于大型服务提供商以及数据中心等。
本发明所采用的数据处理系统针对虚拟观众席的数据处理任务要求和成本控制需要,采用了改进的局域网式服务器集群架构,具体包括主服务器和若干个从服务器,主服务器和所有从服务器均具有执行数据处理任务的能力,主服务器还具有与外网通信的能力。与传统的分布式服务器集群通过互联网进行连接与通信不同的是,本发明的主服务器与从服务器是通过局域网的网线来完成数据通信与同步的。具体地,主服务器与若干个从服务器组成虚拟观众席的数据处理的“内网”。另外,主服务器还与外网通信,获取虚拟观众席的数据处理任务。从服务器的具体数量可根据实际的数据处理任务要求而进行灵活调整,可为3个、4个、5个等等。例如,受用于展示虚拟观众需的展示装置(如大屏幕)的屏幕参数(如尺寸、大小等)限制,虚拟观众席中的虚拟座位最多可以设置为1000个,对这1000个虚拟座位与对应的用户的数据进行数据处理(包括处理与识别1000个虚拟座位上用户的不同表情、不同肢体动作、不同互动发言等数据或指令等)时,可采用3个从服务器和1个主服务器共4个服务器,平均每个服务器只需处理250个虚拟座位与对应的用户的数据。
参照图1,以从服务器的数量为3个为例(其他数量的从服务器同理),本实施例提供的虚拟观众席的数据处理系统,包括:
主服务器,用于与外网通信,获取并分配数据处理任务,根据数据处理任务的分配结果进行第一数据处理,以及触发并发送强制同步指令;
具体地,主服务器与外网通信是为了获取虚拟观众席的数据处理任务(如推镜头的指令等等)。例如,主服务器可以通过外网网卡等与移动终端等客户端或人机交互设备(如触摸屏等)进行通信,获取虚拟观众席的数据处理任务。主服务器分配数据处理任务时,可根据主服务器和每个从服务器的当前空闲的资源进行灵活设置,如每个服务器分配的数据处理任务相同(即均分)或每个服务器分配的数据处理任务有差异(即差异化分配)。强制同步指令是为了实现从服务器与主服务器间的同步,避免出现因从服务器与主服务器间的不同步而导致后续将处理结果输出至展示装置展示时出现画面错位等不同步显示的现象。
3个从服务器,用于接收强制同步指令和数据处理任务的分配结果,根据强制同步指令进行强制同步,以及根据数据处理任务的分配结果进行第二数据处理;
每一所述从服务器通过局域网的网线与主服务器连接。
具体地,局域网的网线主要有两个功能:一是实现主服务器与从服务器间的通信;二是实现从服务器与主服务器间的同步。
由上述内容可见,本实施例针对虚拟观众席的数据处理任务要求和成本控制需要,采用了改进的局域网式服务器集群架构,具体包括主服务器和3个从服务器,主服务器分别通过局域网的网线与这3个从服务器连接实现局域网这一“内网”的通信,并配合强制同步指令实现从服务器与主服务器间的同步,从而将虚拟观众席的数据处理任务分别由主服务器和3个从服务器来共同完成,与现有只通过1个服务器来进行数据处理的方式相比,减轻了每个服务器的数据处理负担,避免了因处理的数据量大而出现服务器宕机或瘫痪的现象,提升了服务器的处理性能和稳定性。此外,本实施例改进的局域网式服务器集群架构,与传统分布式服务器集群架构相比,成本更低,能在满足虚拟观众席的数据处理任务要求的同时最大限度地节省成本,通用性更强。
参照图2,进一步作为优选的实施方式,所述主服务器具体包括:
外网通信模块,用于与外网的移动终端或人机交互设备进行通信,获取数据处理任务;
具体地,外网通信模块可以采用外网网卡等来实现。
第一处理模块,用于分配数据处理任务,根据数据处理任务的第一分配结果进行第一数据处理,以及触发强制同步指令;
具体地,数据处理任务的第一分配结果是主服务器负责的那部分数据处理任务。第一处理模块可以采用具有执行数据处理任务的能力的计算设备来实现。计算设备可以是CPU、单片机、ARM处理器、PC电脑、工控机等。
第一内网通信模块,用于将强制同步指令和数据处理任务的第二分配结果发送给每一所述从服务器;
具体地,第一内网通信模块可以采用内网网卡或局域网网口来实现。
所述第一处理模块分别连接外网通信模块和第一内网通信模块,所述第一内网通信模块还连接每一所述从服务器。
参照图2,进一步作为优选的实施方式,每一所述从服务器具体包括:
第二内网通信模块,用于接收强制同步指令和数据处理任务的第二分配结果;
具体地,第二内网通信模块可以采用内网网卡或局域网网口来实现。
第二处理模块,用于根据强制同步指令进行强制同步,以及根据数据处理任务的第二分配结果进行第二数据处理;
具体地,第二处理模块可以采用具有执行数据处理任务的能力的计算设备来实现。计算设备可以是CPU、单片机、ARM处理器、PC电脑、工控机等。第二处理模块在根据强制同步指令进行强制同步时,不管从服务器当前所处的状态如何,直接调整为与主处理器的一致。例如,根据强制同步指令将画面帧率、画面刷新率等调整为与主处理器的相同。
所述第二内网通信模块通过局域网的网线与第一内网通信模块连接,所述第二内网通信模块还连接第二处理模块。
参照图2,进一步作为优选的实施方式,还包括:
第一展示输出接口,用于输出第一数据处理结果给展示装置;
第二展示输出接口,用于输出第二数据处理结果给展示装置;
所述第一展示输出接口分别与第一处理模块和展示装置连接,所述第二展示输出接口分别与第二处理模块和展示装置连接。
具体地,本实施例还可以通过第一展示输出接口和第二展示输出接口将主服务器和所有从服务器的数据处理任务的处理结果通过连接线输出给屏幕等展示装置,以便于展示装置展示对应的数据处理任务的处理结果。由于本实施例的从服务器已根据主服务器强制命令进行了强制同步,故本实施例的展示装置只需要将主服务器和所有从服务器的数据任务处理结果进行简单的叠加处理,即可将完整的数据处理任务的处理结果展示处理,十分方便和快捷。
参照图3,本发明实施例基于前述的数据处理系统架构,提供了一种虚拟观众席的数据处理方法,包括以下步骤:
S201、通过主服务器获取并分配数据处理任务;
具体地,主服务器可以通过外网网卡等与移动终端等客户端或人机交互设备(如触摸屏等)进行通信,获取虚拟观众席的数据处理任务。主服务器分配数据处理任务时,可根据主服务器和每个从服务器的当前空闲的资源进行灵活设置,如每个服务器分配的数据处理任务相同(即均分)或每个服务器分配的数据处理任务有差异(即差异化分配)。
S202、通过主服务器根据数据处理任务的分配结果进行第一数据处理;
具体地,主服务器进行第一数据处理,是为了完成步骤S201所分配的主服务器的数据处理任务。
S203、通过主服务器触发强制同步指令,并将强制同步指令和数据处理任务的分配结果通过局域网的网线发送给从服务器;
具体地,强制同步指令是为了实现从服务器与主服务器间的同步,避免出现因从服务器与主服务器间的不同步而导致后续将处理结果输出至展示装置展示时出现画面错位等不同步显示的现象。局域网的网线主要有两个功能:一是实现主服务器与从服务器间的通信;二是实现从服务器与主服务器间的同步。
S204、通过从服务器根据强制同步指令进行强制同步;
具体地,从服务器可以为若干个,具体的数量可根据实际的数据处理任务要求而进行灵活调整,可为3个、4个、5个等等。例如,受用于展示虚拟观众需的展示装置(如大屏幕)的屏幕参数(如尺寸、大小等)限制,虚拟观众席中的虚拟座位最多可以设置为1000个,对这1000个虚拟座位与对应的用户的数据进行数据处理(包括处理与识别1000个虚拟座位上用户的不同表情、不同肢体动作、不同互动发言等数据或指令等)时,可采用3个从服务器和1个主服务器共4个服务器,平均每个服务器只需处理250个虚拟座位与对应的用户的数据。
而从服务器在根据强制同步指令进行强制同步时,不管从服务器当前所处的状态如何,直接调整为与主处理器的一致。例如,根据强制同步指令将画面帧率、画面刷新率等调整为与主处理器的相同。
S205、通过从服务器根据数据处理任务的分配结果进行第二数据处理。
具体地,从服务器进行第一数据处理,是为了完成步骤S201所分配的从服务器的数据处理任务。
由上述内容可见,本实施例针对虚拟观众席的数据处理任务要求和成本控制需要,采用了改进的局域网式服务器集群架构来进行数据处理,该架构包括主服务器和若干个从服务器,主服务器分别通过局域网的网线与这若干个从服务器连接实现局域网这一“内网”的通信,并配合强制同步指令实现从服务器与主服务器间的同步,从而将虚拟观众席的数据处理任务分别由主服务器和若干个从服务器来共同完成,与现有只通过1个服务器来进行数据处理的方式相比,减轻了每个服务器的数据处理负担,避免了因处理的数据量大而出现服务器宕机或瘫痪的现象,提升了服务器的处理性能和稳定性。此外,本实施例在进行数据处理时所采用的改进的局域网式服务器集群架构,与传统分布式服务器集群架构相比,成本更低,能在满足虚拟观众席的数据处理任务要求的同时最大限度地节省成本,通用性更强。
进一步作为优选的实施方式,所述通过主服务器获取并分配数据处理任务这一步骤S201,具体包括:
S2011、通过主服务器与外网的移动终端或人机交互设备进行通信,获取数据处理任务;
S2012、通过主服务器分配数据处理任务,得到第一分配结果和第二分配结果,所述第一分配结果用于控制主服务器进行第一数据处理,所述第二分配结果用于控制从服务器进行第二数据处理。
具体地,第一分配结果和第二分配结果可根据主服务器和每个从服务器的当前空闲的资源进行灵活设置,如第一分配结果和第二分配结果相同(即均分)或第一分配结果和第二分配结果有差异(即差异化分配)。
进一步作为优选的实施方式,所述数据处理任务包括镜头推动任务,所述强制同步指令包括画面帧率同步指令和/或画面刷新率同步指令。
具体地,镜头推动任务是为了通过镜头的推动来给虚拟观众坐席场景中的某个对象(如虚拟观众形象、虚拟座位等)做特写,以在虚拟观众坐席场景中逼真地模拟真实的镜头推动操作。镜头推动任务可以通过镜头拍摄的画面帧的角度变换等方式来实现镜头的推动。画面帧率同步指令和/或画面刷新率同步指令可以使得从服务器与主服务器的画面帧率和/或画面刷新率保存一致,防止后续在展示装置中出现画面错位等不同步的情况。
进一步作为优选的实施方式,所述从服务器包括第一至第三从服务器,所述第一数据处理包括通过主服务器控制镜头推动第一角度,所述第二数据处理包括通过第一至第三从服务器分别控制镜头推动第二至第四角度,所述第一至第四角度满足的关系式为:第一角度+第二角度+第三角度+第四角度=镜头推动任务控制镜头推动的总角度。
具体地,本实施例通过主服务器以及第一至第三从服务器控制镜头推动不同的角度(即控制画面帧变换不同的角度)来完成镜头推动任务,从而给虚拟观众席场景内的某个对象填写。例如,假设镜头推动任务需要控制镜头推动的总角度为45度,则可通过主服务器第一至第三从服务器分别控制镜头推动20度、12.5度、7.5度和5度来实现,其他角度的镜头推动实现过程同理。
进一步作为优选的实施方式,所述通过从服务器根据强制同步指令进行强制同步这一步骤具体为:
根据强制同步指令控制从服务器进行画面帧率同步和/或画面刷新率同步,从而使得从服务器的画面帧率和/或画面刷新率与主服务器的相同。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。