[发明专利]数据传输方法、装置、计算机设备、存储介质和程序产品在审
申请号: | 202210941787.6 | 申请日: | 2022-08-08 |
公开(公告)号: | CN115454900A | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 陆伟;朱发展;钱光耀;杨剑 | 申请(专利权)人: | 北京阿帕科蓝科技有限公司 |
主分类号: | G06F13/34 | 分类号: | G06F13/34;G06F13/16;G06F9/50 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 颜潇 |
地址: | 100020 北京市朝阳区广*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据传输 方法 装置 计算机 设备 存储 介质 程序 产品 | ||
本申请涉及一种数据传输方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:从缓存区组中确定目标空白缓存区,并将所述目标空白缓存区的地址发送至直接存储器,所述目标空白缓存区的地址用于指示所述直接存储器将数据传输至所述目标空白缓存区中进行存储;当接收到所述直接存储器的存储反馈时,从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将所述目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。采用本方法并不会覆盖其他缓存区中的数据,避免了数据的丢失。
技术领域
本申请涉及计算机数据传输技术领域,特别是涉及一种数据传输方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
DMA(DirectMemoryAccess,直接存储器存取)是一种快速传送数据的机制。数据传递可以从IO(Input/Output,输入/输出)设备到内存,从内存到IO设备或从一段内存到另一段内存。利用它进行数据传送时不需要CPU(Central Processing Unit,中央处理器)的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM(Read Only Memory,只读内存))来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。
像车辆的鞍座数据采集这种典型的嵌入式场景中,一般处理器的资源都是有限的,为了榨取处理器资源,数据采集通常会用到DMA搬运的方式,在CPU处理数据的同时,通过DMA把数据搬运到指定的内存区域,这样就保证CPU在处理业务时,鞍座所产生的数据也会被缓存下来,最终被CPU处理下来。
然而,面对动辄上兆的采样速率,CPU有时在做复杂业务时,耗时过长,会导致DMA搬运的数据还没有来的急处理就被覆盖掉了,从而造成数据丢失。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免数据丢失的数据传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供一种数据传输方法,应用于中央处理器,所述方法包括:
从缓存区组中确定目标空白缓存区,并将所述目标空白缓存区的地址发送至直接存储器,所述目标空白缓存区的地址用于指示所述直接存储器将数据传输至所述目标空白缓存区中进行存储;
当接收到所述直接存储器的存储反馈时,从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行所述将所述目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
在其中一个实施例中,所述方法还包括:
对存储有数据的缓存区中的数据进行处理,并清空数据处理后的所述缓存区的数据,将清空后的所述缓存区作为空白缓存区。
在其中一个实施例中,所述方法还包括:
获取当前资源占用率;
根据所述当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在其中一个实施例中,所述获取当前资源占用率,包括:
获取所述缓存区组中当前空白缓存区的数量;
根据所述缓存区组中当前空白缓存区的数量计算当前资源占用率。
在其中一个实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京阿帕科蓝科技有限公司,未经北京阿帕科蓝科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210941787.6/2.html,转载请声明来源钻瓜专利网。