CN110532205B - 数据传输方法、装置、计算机设备和计算机可读存储介质 - Google Patents
数据传输方法、装置、计算机设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110532205B CN110532205B CN201910645729.7A CN201910645729A CN110532205B CN 110532205 B CN110532205 B CN 110532205B CN 201910645729 A CN201910645729 A CN 201910645729A CN 110532205 B CN110532205 B CN 110532205B
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- storage space
- dma
- priority
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种数据传输方法、装置、计算机设备和计算机可读存储介质,其中,数据传输方法包括获取待传输数据,并确定待传输数据的优先级;若待传输数据的优先级为最高优先级,且DMA空闲,则通过DMA方式传输待传输数据。在接收到待传输数据后,确定待传输数据的优先级,若是最高优先级,则立即通过DMA进行传输,从而可以在不影响关键实时性传输业务的前提下,传输尽可能多的数据。
Description
技术领域
本发明涉及数据传输领域,特别是涉及一种数据传输方法、装置、计算机设备和计算机可读存储介质。
背景技术
随着信息技术的发展,芯片间或系统间需要传输大量、大块的业务数据,且这些数据具有明显的实效性,例如实时采集的视频帧或抓拍的图片帧。同时,芯片和系统间还有很多其他信息要传输,但是在传输过程中不能干扰实时数据的传输,且这些信息必须消耗的资源越低越好。在特殊情况发生时,又必须要有实时性极强的特征。
传统地,通过数据传输的方案都比较通用,即能解决所有类型的数据通信问题,但是却会影响关键实时性传输业务的传输。
发明内容
本申请提供一种数据传输方法、装置、计算机设备和计算机可读存储介质,可以在保证信息传输效率的前提下,不影响关键实时性传输业务传输。
一种数据传输方法,所述方法包括:
获取待传输数据,并确定所述待传输数据的优先级;
若所述待传输数据的优先级为最高优先级,且DMA空闲,则通过所述DMA方式传输所述待传输数据。
在一实施例中,所述获取待传输数据,并确定所述待传输数据的优先级之后包括:
若所述待传输数据的优先级为最高优先级,且所述DMA不空闲,则停止DMA传输当前数据,并通过所述DMA方式传输所述待传输数据。
在一实施例中,所述停止DMA传输当前数据,并通过所述DMA方式传输所述待传输数据包括:
停止DMA传输当前数据,将所述待传输数据缓存到DMA对应的第一存储空间,并将所述第一存储空间中缓存的数据按照缓存时间的反序通过DMA方式进行传输。
在一实施例中,所述获取待传输数据,并确定所述待传输数据的优先级之后包括:
若所述待传输数据的优先级不为最高优先级,且第二存储空间内的缓存条目小于预设条目阈值,则将所述待传输数据缓存到第二存储空间,且缓存条目加一;
若所述待传输数据为所述第二存储空间的第一个条目,则启动第二存储空间的定时器;若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间。
在一实施例中,所述若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间还包括:
若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则关闭所述第二存储空间的定时器。
在一实施例中,所述若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间还包括:
若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则由第二存储空间切换至第三存储空间。
在一实施例中,所述若所述定时器记录的时间信息大于等于预设时间阈值,和或所述缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间之后包括:
将所述第一存储空间内的缓存条目按照缓存时间顺序等待传输。
一种数据传输装置,所述装置包括:
确定模块,用于获取待传输数据,并确定所述待传输数据的优先级;
传输模块,用于若所述待传输数据的优先级为最高优先级,且DMA空闲,则通过所述DMA方式传输所述待传输数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述数据传输方法、装置、计算机设备和计算机可读存储介质,通过获取待传输数据,并确定所述待传输数据的优先级;若所述待传输数据的优先级为最高优先级,且DMA空闲,则通过所述DMA方式传输所述待传输数据。在接收到待传输数据后,确定待传输数据的优先级,若是最高优先级,则立即通过DMA进行传输,从而可以在保证信息传输效率的前提下,不影响关键实时性传输业务传输。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一实施例提供的数据传输方法的流程图;
图2为一实施例提供的数据传输示意图;
图3为一实施例提供的数据传输方法的流程图;
图4为一实施例提供的非最高优先级的数据传输示意图;
图5为另一实施例提供的非最高优先级的数据传输示意图;
图6为一实施例提供的数据传输装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了便于理解本申请,为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本申请,附图中给出了本申请的较佳实施方式。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本申请的公开内容理解的更加透彻全面。本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似改进,因此本申请不受下面公开的具体实施例的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本申请的描述中,“若干”的含义是至少一个,例如一个,两个等,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
图1为一实施例提供的数据传输方法的流程图,如图1所示,数据传输方法包括步骤110和步骤120,其中:
步骤110,获取待传输数据,并确定待传输数据的优先级。
步骤120,若待传输数据的优先级为最高优先级,且DMA空闲,则通过DMA方式传输待传输数据。
成组数据传送方式(Direct Memory Access,DMA)也称为直接内存操作。DMA方式在数据传送过程中,没有保存现场、恢复现场之类的工作。由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。内存地址修改、传送字个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。所以采用DMA方式传输数据能满足高速I/O设备的要求,也有利于CPU效率的发挥。
待传输数据可以是一条或一块优先级为“X”的信息,此处信息可能条目形式,例如文本数据,也可能块状形式,例如二进制数据。此处“X”是优先级的变量形式,可以理解为优先级的标识信息,通过标识信息标识待传输数据的优先级属性,例如优先级为“高、中、低”或“1、2、3、4、5…”。
可以理解,上述通过数值来标识待传输数据的优先级,仅作为本申请实施例中对待传输数据的优先级进行标识的一种方式,而不是对优先级标识方式的一种限定,实际上,还可以通过其他方式对应用程序的优先级进行标识。例如:通过字符A、B、C、D、E等,或者通过第一,第二,第三,第四,第五等对应用程序的优先级进行标识。本申请实施例对待传输数据的优先级的标识方式不做具体限定。但是待传输数据的优先级要保证有清晰定义级别和优先级顺序,本申请实施例关键区分“最高优先级”和“非最高优先级”,针对这两种不同优先级的待传输数据采取完全不同的传输策略。
待传输数据的优先级可以根据待传输数据类型的实时性要求来设置,例如有三种条目型日志分别是:<1>…\n、<2>…\n和<3>…\n,其中<1>…\n为调试类日志内容,量很大,非实时;<2>…\n为重要信息类内容,量不多,弱实时;<3>…\n为极其关键信息内容,量极少,强实时。这三种条目型日志需要从芯片X通过物理链路W(例如:PCIe,Ethernet等)以DMA方式传送给芯片Y。<3>…\n为一条极其关键的信息,获取到<3>…\n的传输请求说明系统必定发生了糟糕透顶的情况,必须要以最快速度将此条信息传输出去。这是因为,出现这么极其糟糕透顶的情况,后续可能就会发生系统奔溃,甚至复位等更恶劣情况;正因为如此,最关键的信息要瞬间传送出去,其次关键的信息要按照时间发生的顺序,由最近到稍远的排序方式,抓紧一切时机传送出去。因此<3>…\n可以设置为最高优先级;<1>…\n和<2>…\n可以预先设置为非最高优先级,可以进行适当地缓存,然后再通过DMA方式进行传输。
在一实施例中,当获取的待传输数据的优先级为最高优先级时,若此时DMA空闲,即当前没有数据通过DMA方式传输,则待传输数据直接通过DMA方式进行传输,并且此条数据的传输不会被其他数据抢占。
若当前DMA正在传输数据,则停止DMA传输当前数据,并通过DMA方式传输待传输数据。具体地,停止DMA传输当前数据,将待传输数据缓存到DMA对应的第一存储空间,并将第一存储空间中缓存的数据按照缓存时间的反序通过DMA方式进行传输。
如图2所示,有一条“<3>…\n”日志写入,<3>…\n为最高优先级。当前这条日志会单独生成一个DMA发送请求,提交到DMA以后,DMA会立刻终止当前正在传送的任何任务,立刻启动此条日志的DMA发送任务。如果当前这条紧急日志发送成功,把第一缓存空间里已经缓存的次关键日志条目罗列出来,按照每个条目的“X”优先级降序分组,即仅次最高优先级的分为一组,再仅此的优先级分为一组,也就是说,每个优先级都分成独立的组,相对优先级高的那组排前面。依照排组顺序,每个组里的信息逐条按时间反序直接递交给DMA传输,最近缓存先递交。总的说来就是,最高优先级信息会触发立刻递交DMA,仅次优先级的按最近缓存时间,逐条提交给DMA进行传输,且都是采用直接DMA传输或抢占传输。之所以如此顺序和如此操作,也是因为与此紧急时刻最近的信息可能更有价值,更高级别的消息可能更有价值,逐条发送也是为了抵抗不可预知的系统崩溃。DMA-1为DMA空闲时,待传输数据直接通过DMA方式传输,DMA-2为DMA非空闲时,待传输数据抢占传输,即DMA立刻终止当前正在传送的任何任务,立刻启动此条日志的DMA发送任务。
本实施例提供的数据传输方法通过获取待传输数据,并确定待传输数据的优先级;若待传输数据的优先级为最高优先级,且DMA空闲,则通过DMA方式传输待传输数据。在接收到待传输数据后,确定待传输数据的优先级,若是最高优先级,则立即通过DMA进行传输,从而可以在不影响关键实时性传输业务的前提下,传输尽可能多的数据。
在一实施例中,如图3所示,获取待传输数据,并确定待传输数据的优先级之后包括步骤310至步骤320,其中:
步骤310,若待传输数据的优先级不为最高优先级,且第二存储空间内的缓存条目小于预设条目阈值,则将待传输数据缓存到第二存储空间,且缓存条目加一。
步骤320,若待传输数据为第二存储空间的第一个条目,则启动定时器。
步骤330,若定时器记录的时间信息大于等于预设时间阈值,和/或缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间。
对于非最高优先级的信息,如果第二缓存空间的空闲空间足够,那么直接将待传输数据缓存至第二缓存空间。然后可以根据第二缓存空间的定时器参数设置判断是否开始定时器。如果定时器超时设置无穷大,那么不启动定时器,如果定时器超时时间设置取值范围内的某自然数(例如:参数设置120表示120毫秒),而且待传输数据是第二存储空间的第一个条目,那么启动定时器。
判断完定时器是否启动后,再判断此条待传输数据缓存后,第二缓存空间的缓存条目是否大于等于预设条目阈值,就是说是否有足够多条信息已经缓存,如果不超过预设条目阈值,则完成对待缓存数据的缓存任务。若第二缓存空间的缓存条目大于等于预设条目阈值,说明当前已经有足够多条信息缓存,应该进行传输,因此将第二存储空间中的缓存条目发送至第一存储空间,通过DMA方式进行传输。
在一实施例中,若定时器记录的时间信息大于等于预设时间阈值,则说明此信息缓存过久,应该进行传输,将第二存储空间中的缓存条目发送至第一存储空间,通过DMA方式进行传输。
在一实施例中,若定时器记录的时间信息大于等于预设时间阈值,和/或缓存条目大于等于预设条目阈值,则由第二存储空间切换至第三存储空间。若定时器记录的时间信息大于等于预设时间阈值,则说明此信息缓存过久,应该进行传输,因此需要将待传输信息缓存至第三缓存空间,并将第二存储空间中的缓存条目发送至第一存储空间,通过DMA方式进行传输。若缓存条目大于等于预设条目阈值,说明当前已经有足够多条的信息缓存,应该进行传输,因此需要将待传输信息缓存至第三缓存空间,并将第二存储空间中的缓存条目发送至第一存储空间,通过DMA方式进行传输。
将待传输数据切换到第三缓存空间,表明第二缓存区间已经“满”,此处的“满”是一个相对值,只是表示此缓存区应该进行DMA传输,并且将与此缓存区相关的定时器关闭,即将第二缓存区空间的定时器关闭,停止计时。
假设情景1,如图4所示,一块空白的第二缓存空间,从头开始,持续写入“<1>…\n”,在写入时,计算第二缓存空间的空闲空间。如果空闲空间足够,则直接缓存此条日志,如果空闲空间不够缓存这条日志,则再申请一块空闲的内存区域即第三缓存空间,用于此条日志的写入。
将当前这块已经缓存满的第二缓存空间提交到DMA传输队列,申请发送,DMA会将它调度直到队列里当前大数据块传输请求完成之后,或等待某段时间(例如:120毫秒),在等待时间里多个大块数据传输完成之后,或者等待超时后,才会传输这块内存区域。
假设情景2,如图5所示,有一条“<2>…\n”日志写入,这是一条重要的信息,可以适当缓存,但是也应该尽快传送出去。首先,可以参照假设情景1的逻辑,判断是否第二缓存空间是否有足够的空闲空间缓存此条日志,以及空闲空间够与不够的处理逻辑,在此不再赘述;然后,先缓存当前这条日志,同时记录并更新第二缓存空间当前已经存了多少条<2>类日志条目,并且系统会存在一个预设条目阈值,当前已经缓存的条目数大于预设条目阈值时,那么直接就会触发上述假设情景1里的不够空间后的处理逻辑;如果当前已经缓存的条目数没有超过预设条目阈值,且此条日志是当前这块内存区域的首条记录,那么就要启动第二缓存空间的定时器,当定时器超时,但是还没有足够条目的此类日志时,也会触发上述假设情景1里的不够空间后的处理逻辑。即当前已经缓存的条目数大于预设条目阈值时或定时器超时,将第二缓存空间内的缓存的数据提交到DMA传输队列,申请发送,DMA会将它调度直到队列里最大数据块全部传输请求完成之后,或等待某段时间(例如:120毫秒),在等待时间里某个大块数据传输完成之后,或者等待超时后,才会传输这块内存区域。
在一实施例中,若定时器记录的时间信息大于等于预设时间阈值,和或缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间之后包括:
将第一存储空间内的缓存条目按照缓存时间顺序等待传输。
当前这块已经缓存满的内存区域提交到DMA进行传输的第一缓存区间,申请发送,第一缓存区间中的数据可以不立刻被传输。DMA会将它调度直到队列里最大数据块全部传输请求完成之后,或等待某段时间(例如:120毫秒),在等待时间里某个大块数据传输完成之后,或者等待超时后,才会传输这块内存区域。
应该理解的是,虽然图1和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一实施例提供的数据传输装置的结构示意图,如图6所示,数据传输装置包括确定模块610和传输模块620,其中:
确定模块610,用于获取待传输数据,并确定待传输数据的优先级;
传输模块620,用于若待传输数据的优先级为最高优先级,且DMA空闲,则通过DMA方式传输待传输数据。
在一实施例中,获取待传输数据,并确定待传输数据的优先级之后包括:
若待传输数据的优先级为最高优先级,且DMA不空闲,则停止DMA传输当前数据,并通过DMA方式传输待传输数据。
在一实施例中,停止DMA传输当前数据,并通过DMA方式传输待传输数据包括:
停止DMA传输当前数据,将待传输数据缓存到DMA对应的第一存储空间,并将第一存储空间中缓存的数据按照缓存时间的反序通过DMA方式进行传输。
在一实施例中,获取待传输数据,并确定待传输数据的优先级之后包括:
若待传输数据的优先级不为最高优先级,且第二存储空间内的缓存条目小于预设条目阈值,则将待传输数据缓存到第二存储空间,且缓存条目加一;
若待传输数据为第二存储空间的第一个条目,则启动第二存储空间的定时器;若定时器记录的时间信息大于等于预设时间阈值,和/或缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间。
在一实施例中,若定时器记录的时间信息大于等于预设时间阈值,和/或缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间还包括:
若定时器记录的时间信息大于等于预设时间阈值,和/或缓存条目大于等于预设条目阈值,则关闭第二存储空间的定时器。
在一实施例中,若定时器记录的时间信息大于等于预设时间阈值,和/或缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间还包括:
若定时器记录的时间信息大于等于预设时间阈值,和/或缓存条目大于等于预设条目阈值,则由第二存储空间切换至第三存储空间。
在一实施例中,若定时器记录的时间信息大于等于预设时间阈值,和或缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间之后包括:
将第一存储空间内的缓存条目按照缓存时间顺序等待传输。
关于数据传输装置的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据传输方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待传输数据,并确定所述待传输数据的优先级;
若所述待传输数据的优先级为最高优先级,且DMA空闲,则通过所述DMA方式传输所述待传输数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待传输数据,并确定所述待传输数据的优先级;
若所述待传输数据的优先级为最高优先级,且DMA空闲,则通过所述DMA方式传输所述待传输数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种数据传输方法,其特征在于,所述方法包括:
获取待传输数据,并确定所述待传输数据的优先级;
若所述待传输数据的优先级为最高优先级,则所述方法包括以下步骤:若DMA空闲,则通过DMA方式传输所述待传输数据;若所述DMA不空闲,则停止所述DMA传输当前数据并通过所述DMA方式传输所述待传输数据,其中包括:将所述待传输数据缓存到所述DMA对应的第一存储空间并将所述第一存储空间中缓存的数据按照缓存时间的反序通过所述DMA方式进行逐条传输;
若所述待传输数据的优先级不为最高优先级,则所述方法包括以下步骤:若第二存储空间内的缓存条目小于预设条目阈值,则将所述待传输数据缓存到所述第二存储空间,且缓存条目加一;若所述待传输数据为所述第二存储空间的第一个条目,则启动第二存储空间的定时器;若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则将所述第二存储空间中的缓存条目发送至对应于所述DMA的第一存储空间。
2.根据权利要求1所述的方法,其特征在于,所述若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间还包括:
若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则关闭所述第二存储空间的定时器。
3.根据权利要求1所述的方法,其特征在于,所述若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间还包括:
若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则由第二存储空间切换至第三存储空间。
4.根据权利要求1所述的方法,其特征在于,若所述待传输数据的优先级不为最高优先级,且所述定时器记录的时间信息大于等于预设时间阈值和/或所述缓存条目大于等于预设条目阈值,则将第二存储空间中的缓存条目发送至第一存储空间之后包括:
将所述第一存储空间内的缓存条目按照缓存时间顺序等待传输。
5.一种数据传输装置,其特征在于,所述装置包括:
确定模块,用于获取待传输数据,并确定所述待传输数据的优先级;
传输模块,用于若所述待传输数据的优先级为最高优先级,则执行以下步骤:若DMA空闲,则通过DMA方式传输所述待传输数据;若所述DMA不空闲,则停止所述DMA传输当前数据并通过所述DMA方式传输所述待传输数据,其中包括:将所述待传输数据缓存到所述DMA对应的第一存储空间并将所述第一存储空间中缓存的数据按照缓存时间的反序通过所述DMA方式进行传输;
若所述待传输数据的优先级不为最高优先级,则执行以下步骤:若第二存储空间内的缓存条目小于预设条目阈值,则将所述待传输数据缓存到所述第二存储空间,且缓存条目加一;若所述待传输数据为所述第二存储空间的第一个条目,则启动第二存储空间的定时器;若所述定时器记录的时间信息大于等于预设时间阈值,和/或所述缓存条目大于等于预设条目阈值,则将所述第二存储空间中的缓存条目发送至对应于所述DMA的第一存储空间。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910645729.7A CN110532205B (zh) | 2019-07-17 | 2019-07-17 | 数据传输方法、装置、计算机设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910645729.7A CN110532205B (zh) | 2019-07-17 | 2019-07-17 | 数据传输方法、装置、计算机设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532205A CN110532205A (zh) | 2019-12-03 |
CN110532205B true CN110532205B (zh) | 2021-04-06 |
Family
ID=68661897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910645729.7A Active CN110532205B (zh) | 2019-07-17 | 2019-07-17 | 数据传输方法、装置、计算机设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532205B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818582B (zh) * | 2020-06-28 | 2023-02-10 | 南京智鹤电子科技有限公司 | 数据传输方法、装置及电子设备 |
CN112565288B (zh) * | 2020-12-21 | 2023-05-09 | 南京南瑞信息通信科技有限公司 | 一种内网采控指令在外网执行的方法和系统 |
CN113254375A (zh) * | 2020-12-30 | 2021-08-13 | 深圳怡化电脑股份有限公司 | 一种数据传输方法、装置、电子设备和存储介质 |
CN113448747B (zh) * | 2021-05-14 | 2024-04-26 | 中科可控信息产业有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN117135154B (zh) * | 2023-09-28 | 2024-09-24 | 深圳英驰供应链管理有限公司 | 一种财务结算文件传输方法及系统 |
CN117389928A (zh) * | 2023-10-27 | 2024-01-12 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置、设备及存储介质 |
CN117896780B (zh) * | 2024-03-15 | 2024-06-18 | 深圳市车葫芦科技有限公司 | 基于tbox的车载移动wifi数据处理方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007099B1 (en) * | 1999-05-03 | 2006-02-28 | Lucent Technologies Inc. | High speed multi-port serial-to-PCI bus interface |
CN106713185A (zh) * | 2016-12-06 | 2017-05-24 | 瑞斯康达科技发展股份有限公司 | 一种多核cpu的负载均衡方法及装置 |
CN109726806A (zh) * | 2017-10-30 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596644B2 (en) * | 2006-01-11 | 2009-09-29 | Solarflare Communications, Inc. | Transmit rate pacing system and method |
CN101030184A (zh) * | 2007-03-27 | 2007-09-05 | 中兴通讯股份有限公司 | 一种动态改变dma外围设备数据传输申请优先级的方法 |
US8447897B2 (en) * | 2011-06-24 | 2013-05-21 | Freescale Semiconductor, Inc. | Bandwidth control for a direct memory access unit within a data processing system |
US9128925B2 (en) * | 2012-04-24 | 2015-09-08 | Freescale Semiconductor, Inc. | System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines |
CN103237208B (zh) * | 2013-03-29 | 2016-06-01 | 苏州皓泰视频技术有限公司 | 一种基于fpga的高清视频输出方法 |
CN103995789B (zh) * | 2014-06-04 | 2017-08-04 | 上海斐讯数据通信技术有限公司 | 一种直接内存存取的实现系统及方法 |
CN104298628B (zh) * | 2014-09-30 | 2017-12-29 | 中国电子科技集团公司第三十八研究所 | 一种用于并发访问的数据存储器仲裁电路及仲裁方法 |
CN106294233B (zh) * | 2015-06-29 | 2019-05-03 | 华为技术有限公司 | 一种直接内存访问的传输控制方法及装置 |
CN107562659A (zh) * | 2016-06-30 | 2018-01-09 | 中兴通讯股份有限公司 | 一种数据搬移装置及方法 |
CN106982176B (zh) * | 2017-03-22 | 2020-09-11 | 北京东土军悦科技有限公司 | 一种数据传输方法及设备 |
CN109471816B (zh) * | 2018-11-06 | 2021-07-06 | 西安微电子技术研究所 | 一种基于描述符的pcie总线dma控制器及数据传输控制方法 |
CN109547357A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种存储系统中数据信息的传输方法、装置、设备及介质 |
CN109818790B (zh) * | 2019-01-25 | 2021-10-08 | 上海创景信息科技有限公司 | 硬件实时模拟多通路多种类通信协议芯片系统、方法及介质 |
-
2019
- 2019-07-17 CN CN201910645729.7A patent/CN110532205B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007099B1 (en) * | 1999-05-03 | 2006-02-28 | Lucent Technologies Inc. | High speed multi-port serial-to-PCI bus interface |
CN106713185A (zh) * | 2016-12-06 | 2017-05-24 | 瑞斯康达科技发展股份有限公司 | 一种多核cpu的负载均衡方法及装置 |
CN109726806A (zh) * | 2017-10-30 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110532205A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532205B (zh) | 数据传输方法、装置、计算机设备和计算机可读存储介质 | |
US9898338B2 (en) | Network computer system and method for dynamically changing execution sequence of application programs | |
CN109814985B (zh) | 一种任务调度方法及调度器、计算设备、系统 | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
CN111190854A (zh) | 通信数据处理方法、装置、设备、系统和存储介质 | |
CN113032162B (zh) | 一种基于共享内存备份机制的多进程通讯方法 | |
CN102446144A (zh) | 一种串口资源调度方法及装置、系统 | |
US8769547B2 (en) | Reduced data transfer during processor context switching | |
CN113535425A (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN115794446B (zh) | 一种消息处理方法、装置、电子设备和存储介质 | |
CN115277644B (zh) | 一种总线数据传输系统、方法、设备及存储介质 | |
CN116841458A (zh) | 存储器读写控制方法、系统、终端及存储介质 | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium | |
CN115801814A (zh) | 一种基于串口双fifo缓冲区结构的数据传输方法、系统及存储介质 | |
CN115686782A (zh) | 基于固态硬盘的资源调度方法、装置、电子设备及存储介质 | |
CN113590289B (zh) | 作业调度方法、系统、装置、计算机设备和存储介质 | |
CN115168012A (zh) | 一种线程池并发线程数确定方法及相关产品 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
CN106980577B (zh) | 输入输出处理方法、装置及终端 | |
CN117539639B (zh) | 显存资源调度方法、装置、系统、存储介质及电子设备 | |
CN117806992B (zh) | 数据块替换方法、装置、电子设备及存储介质 | |
CN117951053A (zh) | 一种数据搬运方法及装置 | |
CN112559400B (zh) | 多级调度装置、方法、网络芯片及计算机可读存储介质 | |
CN115543343B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |