数据处理方法、系统、计算设备及存储介质技术方案

技术编号:20362760 阅读:28 留言:0更新日期:2019-02-16 16:28
本说明书提供一种数据处理方法、系统、计算设备及存储介质,其中所述系统包括:第一缓存区、第二缓存区和第三缓存区,每个缓存区均配置有功能标识;缓存区控制器,用于在被标识为接收的第一缓存区写满待处理数据时,将第一缓存区的标识修改为临时存储,并将被标识为临时存储的第二缓存区的标识修改为接收;或者在被标识为待处理的第三缓存区的待处理数据处理完毕时,将第三缓存区的数据清空,将第三缓存区的标识修改为临时存储,将被标识为临时存储的第二缓存区的标识修改为待处理;CPU,用于向被标识为接收的第一缓存区发送待处理数据;GPU,用于从被标识为待处理的第三缓存区获取待处理数据。

【技术实现步骤摘要】
数据处理方法、系统、计算设备及存储介质
本说明书涉及数据处理
,特别涉及一种数据处理方法、系统、计算设备及存储介质。
技术介绍
3D渲染过程中,现有技术中CPU和GPU之间通过缓冲传输数据,缓冲是设置于显存或内存中的一块数据存储区域,用于接收与存储CPU处理完毕的数据,并传递给GPU进行处理。在CPU和GPU进行数据交互的过程中,会出现二者之间工作不同步的问题。例如,CPU完成了一帧数据,并准备将其传输到GPU中进行处理,但是GPU尚未完成上一帧数据的处理,因此GPU无法将上一帧数据反馈到缓冲中,导致CPU无法通过缓冲读取GPU上一帧数据的处理结果,从而必须停止工作,这被称为互锁。
技术实现思路
有鉴于此,本说明书实施例提供了一种数据处理方法、系统、计算设备及存储介质,以解决现有技术中存在的技术缺陷。根据本说明书实施例的第一方面,提供了一种数据处理系统,包括:第一缓存区、第二缓存区和第三缓存区,每个缓存区均配置有功能标识,所述功能标识包括接收标识,临时存储标识和待处理标识,被标识为接收的第一缓存区用于接收CPU发送的待处理数据,并向CPU发送由GPU反馈的数据,被标识为待处理的第三缓存区用于向GPU发送所述待处理数据,并接收GPU反馈的数据;缓存区控制器,用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;或者在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理;CPU,用于向被标识为接收的第一缓存区发送待处理数据;GPU,用于从被标识为待处理的第三缓存区获取待处理数据。可选的,所述缓存区控制器还用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。可选的,所述缓存区控制器还用于在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。可选的,CPU还用于通过第一线程向所述被标识为接收的第一缓存区发送所述待处理数据,并通过第一线程接收由所述被标识为接收的第一缓存区反馈的GPU预设数量帧的图像数据;GPU还用于通过第二线程从所述被标识为待处理的第三缓存区获取所述待处理数据,并通过第二线程向所述被标识为待处理的第三缓存区反馈的GPU预设数量帧的图像数据;所述第一线程与所述第二线程互相独立。根据本说明书实施例的第二方面,提供了一种数据处理方法,包括:在被标识为接收的第一缓存区写入由CPU发送的待处理数据,并向所述CPU反馈发送由GPU反馈的预设数量帧的图像数据;在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;将被标识为待处理的第三缓存区将待处理数据传输给GPU,并接收由GPU反馈的预设数量帧的图像数据;在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量帧的图像数据保留,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。可选的,在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。可选的,在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量的图像数据保留,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述数据处理方法的步骤。根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求所述数据处理方法的步骤。本说明书实施例提供的数据处理方法、系统、计算设备及存储介质,通过在CPU和GPU之间设置三个缓存区,并通过缓存区控制器修改所述三个缓存区的标识使得所述三个缓存区之间交换标识,从而CPU可以持续发送数据,无需等待GPU完成上一帧数据的处理,而GPU的数据回传也无需等待CPU完成当前一帧数据的发送,GPU可以实时回传数据,完全解决了现有技术在数据处理过程中产生的CPU与GPU之间的互锁问题,实现了CPU与GPU之间工作线程的独立。附图说明图1是示出了根据本说明书一实施例的数据处理系统的结构示意图;图2是示出了根据本说明书一实施例的数据处理方法的流程图;图3是示出了根据本说明书一实施例的数据处理方法的应用示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。参考图1,图1为本说明书一实施例提供的一种数据处理系统的结构示意图,在介绍本申请的技术方案之前,首先对本申请所涉及的数据处理系统的架构进行说明。图1示出了根据本说明书一实施例的数据处理系统通过计算设备100来实现的例子,该计算设备100的部件包括但不限于存储器110、中央处理器120、图像处理器130、第一缓存区150、第二缓存区160和第三缓存区170。中央处理器120、图像处理器130、第一缓存区150、第二缓存区160和第三缓存区170与存储器110通过总线180相连接。计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。在本说明书的一个实施例中,计算设备100的上述以及图1中本文档来自技高网...

【技术保护点】
1.一种数据处理系统,包括:第一缓存区、第二缓存区和第三缓存区,每个缓存区均配置有功能标识,所述功能标识包括接收标识,临时存储标识和待处理标识,被标识为接收的第一缓存区用于接收CPU发送的待处理数据,并向CPU发送由GPU反馈的数据,被标识为待处理的第三缓存区用于向GPU发送所述待处理数据,并接收GPU反馈的数据;缓存区控制器,用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;或者在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理;CPU,用于向被标识为接收的第一缓存区发送待处理数据;GPU,用于从被标识为待处理的第三缓存区获取待处理数据。

【技术特征摘要】
1.一种数据处理系统,包括:第一缓存区、第二缓存区和第三缓存区,每个缓存区均配置有功能标识,所述功能标识包括接收标识,临时存储标识和待处理标识,被标识为接收的第一缓存区用于接收CPU发送的待处理数据,并向CPU发送由GPU反馈的数据,被标识为待处理的第三缓存区用于向GPU发送所述待处理数据,并接收GPU反馈的数据;缓存区控制器,用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;或者在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理;CPU,用于向被标识为接收的第一缓存区发送待处理数据;GPU,用于从被标识为待处理的第三缓存区获取待处理数据。2.根据权利要求1所述的系统,其特征在于,所述缓存区控制器还用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。3.根据权利要求1所述的系统,其特征在于,所述缓存区控制器还用于在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。4.根据权利要求1所述的系统,其特征在于,CPU还用于通过第一线程向所述被标识为接收的第一缓存区发送所述待处理数据,并通过第一线程接收由所述被标识为接收的第一缓存区反馈的GPU预设数量帧的图像数据;GPU还用于通过第二线程从所述被标识为待处理的第三缓存区获取所述待处理数据,并通过第二线程向所述被标识为待处理的第三缓存区反馈的GPU预设数...

【专利技术属性】
技术研发人员:李侃
申请(专利权)人:珠海金山网络游戏科技有限公司成都西山居世游科技有限公司
类型:发明
国别省市:广东,44

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

1