CN115454900A - 数据传输方法、装置、计算机设备、存储介质和程序产品 - Google Patents

数据传输方法、装置、计算机设备、存储介质和程序产品 Download PDF

Info

Publication number
CN115454900A
CN115454900A CN202210941787.6A CN202210941787A CN115454900A CN 115454900 A CN115454900 A CN 115454900A CN 202210941787 A CN202210941787 A CN 202210941787A CN 115454900 A CN115454900 A CN 115454900A
Authority
CN
China
Prior art keywords
cache region
data
blank
address
target blank
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
Application number
CN202210941787.6A
Other languages
English (en)
Inventor
陆伟
朱发展
钱光耀
杨剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Apoco Blue Technology Co ltd
Hefei Pinecone Zhizao Intelligent Technology Co ltd
Original Assignee
Beijing Apoco Blue Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Apoco Blue Technology Co ltd filed Critical Beijing Apoco Blue Technology Co ltd
Priority to CN202210941787.6A priority Critical patent/CN115454900A/zh
Publication of CN115454900A publication Critical patent/CN115454900A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请涉及一种数据传输方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:从缓存区组中确定目标空白缓存区,并将所述目标空白缓存区的地址发送至直接存储器,所述目标空白缓存区的地址用于指示所述直接存储器将数据传输至所述目标空白缓存区中进行存储;当接收到所述直接存储器的存储反馈时,从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将所述目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。采用本方法并不会覆盖其他缓存区中的数据,避免了数据的丢失。

Description

数据传输方法、装置、计算机设备、存储介质和程序产品
技术领域
本申请涉及计算机数据传输技术领域,特别是涉及一种数据传输方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
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搬运的数据还没有来的急处理就被覆盖掉了,从而造成数据丢失。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免数据丢失的数据传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供一种数据传输方法,应用于中央处理器,所述方法包括:
从缓存区组中确定目标空白缓存区,并将所述目标空白缓存区的地址发送至直接存储器,所述目标空白缓存区的地址用于指示所述直接存储器将数据传输至所述目标空白缓存区中进行存储;
当接收到所述直接存储器的存储反馈时,从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行所述将所述目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
在其中一个实施例中,所述方法还包括:
对存储有数据的缓存区中的数据进行处理,并清空数据处理后的所述缓存区的数据,将清空后的所述缓存区作为空白缓存区。
在其中一个实施例中,所述方法还包括:
获取当前资源占用率;
根据所述当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在其中一个实施例中,所述获取当前资源占用率,包括:
获取所述缓存区组中当前空白缓存区的数量;
根据所述缓存区组中当前空白缓存区的数量计算当前资源占用率。
在其中一个实施例中,所述方法还包括:
当接收到第一业务信息时,中断当前正在处理的处理任务,对所述第一业务信息进行处理,并在所述第一业务信息处理后,继续执行所述当前正在处理的处理任务;所述处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;所述数据处理任务为对存储有数据的缓存区中的数据进行处理,并清空数据处理后的所述缓存区的数据,将清空后的所述缓存区作为空白缓存区;所述缓存区分配任务为从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将所述目标空白缓存区的地址发送至直接存储器;所述缓存区创建任务为获取当前资源占用率,根据所述当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在其中一个实施例中,所述方法还包括:
当接收到第二业务信息时,继续执行当前正在处理的处理任务,并在所述当前正在处理的处理任务结束后,对所述第二业务信息进行处理;
在所述第二业务信息处理后,继续执行下一处理任务;所述处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;所述数据处理任务为对存储有数据的缓存区中的数据进行处理,并清空数据处理后的所述缓存区的数据,将清空后的所述缓存区作为空白缓存区;所述缓存区分配任务为从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将所述目标空白缓存区的地址发送至直接存储器;所述缓存区创建任务为获取当前资源占用率,根据所述当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中目标空白缓存区。
在其中一个实施例中,所述将清空后的所述缓存区作为空白缓存区,包括:
将清空后的所述缓存区的标识位修改为第一标识符,所述第一标识符用于表征所述缓存区为空白缓存区。
第二方面,本申请还提供一种数据传输方法,应用于直接存储器,所述方法包括:
接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区;
向所述中央处理器发送存储反馈,并接收所述中央处理器发送的下一目标空白缓存区的地址,并返回继续执行所述将数据传输至目标空白缓存区的地址对应的目标空白缓存区的步骤;所述下一目标空白缓存区的地址是所述中央处理器基于所述存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,所获取的新的目标空白缓存区的地址。
在其中一个实施例中,所述将数据传输至目标空白缓存区的地址对应的目标空白缓存区之后,还包括:
将存储有数据的缓存区的标识位修改为第二标识符,所述第二标识符用于表征所述缓存区已存储了数据。
第三方面,本申请还提供一种数据传输装置,应用于中央处理器,所述装置包括:
第一地址发送模块,用于从缓存区组中确定目标空白缓存区,并将所述目标空白缓存区的地址发送至直接存储器,所述目标空白缓存区的地址用于指示所述直接存储器将数据传输至所述目标空白缓存区中进行存储;
第二地址发送模块,用于当接收到所述直接存储器的存储反馈时,从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行所述将所述目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
第四方面,本申请还提供一种数据传输装置,应用于直接存储器,所述装置包括:
数据传输模块,用于接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区;
接收模块,用于向所述中央处理器发送存储反馈,并返回继续执行所述接收所述中央处理器发送的下一目标空白缓存区的地址的步骤,所述下一目标空白缓存区的地址是所述中央处理器基于所述存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,并获取的新的目标空白缓存区的地址。
第五方面,本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一个实施例中所述的方法的步骤。
第六方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任意一个实施例中所述的方法的步骤。
第七方面,本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现任意一个实施例中所述的方法的步骤。
上述数据传输方法、装置、计算机设备、存储介质和计算机程序产品,中央处理器从缓存区组中依次获取空白缓存区作为目标空白缓存区,以使得直接存储器将数据传输至所述目标空白缓存区中进行存储,并不会覆盖其他缓存区中的数据,避免了数据的丢失。
附图说明
图1为一个实施例中数据传输方法的应用环境图;
图2为一个实施例中数据传输方法的流程示意图;
图3为一个实施例中缓存区组的示意图;
图4为另一个实施例中数据传输方法的流程示意图;
图5为再一个实施例中数据传输方法的流程示意图;
图6为一个实施例中数据传输装置的结构框图;
图7为另一个实施例中数据传输装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据传输方法,可以应用于如图1所示的应用环境中。其中,处理设备100通过与外部设备200通信,其中处理设备100可以读取外部设备200所采集的数据。处理设备100包括直接存储器(DMA,DirectMemoryAccess)102、内存104以及中央处理器(CPU,Central Processing Unit)106,其中中央处理器106在内存104中创建多个缓存区108得缓存区组,在进行数据传输时,中央处理器106从缓存区组中确定目标空白缓存区,并将目标空白缓存区的地址发送至直接存储器102,这样直接存储器102将从外部设备200中获取数据,并传输至目标空白缓存区中进行存储;当中央处理器106接收到直接存储器102的存储反馈时,从缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将目标空白缓存区的地址发送至直接存储器的步骤102,直至数据传输完成,也即外部设备200中不存在待传输的数据。这样中央处理器106从缓存区组中依次获取空白缓存区作为目标空白缓存区,以使得直接存储器102将数据传输至目标空白缓存区中进行存储,并不会覆盖其他缓存区中的数据,避免了数据的丢失。
其中,目标设备100可以为嵌入式设备,嵌入式设备是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统,在此不做具体限定。外部设备200可以是用于进行数据采集的设备,例如传感器等。
为了方便理解,以车辆的鞍座数据采集为例进行说明,其中外部设备200为安装在车辆的鞍座上的传感器,该传感器可选的为压力传感器,且该传感器的数量并不做具体限制,例如可以仅在鞍座上安装一个传感器,也可以在鞍座的多个不同位置分别安装传感器。处理设备100则为安装在车辆上的或者是部署在后台的,用于接收传感器发送的数据的设备,其可以通过直接存储器102读取传感器所采集的数据,并将其搬运至内存104中的缓存区108中,以便于中央处理器106对缓存区108中的数据进行处理。
在一个实施例中,如图2所示,提供了一种数据传输方法,以该方法应用于图1中的中央处理器为例进行说明,包括以下步骤:
S202:从缓存区组中确定目标空白缓存区,并将目标空白缓存区的地址发送至直接存储器,目标空白缓存区的地址用于指示直接存储器将数据传输至目标空白缓存区中进行存储。
具体地,缓存区组是中央处理器预先在内存中所创建的缓存区的组合,例如中央处理器预先在内存中创建两个缓存区,该两个缓存区构成了缓存区组。
在一些可选的实施例中,中央处理器预先在内存中创建的缓存区的数量可以是用户设置的或者是默认的。
在一些示例性的实施例中,中央处理器可以确定预设业务场景下,在中央处理器最忙时所需要缓存的数据量的大小,并确定业务场景下缓存区的大小,这样根据最忙时所需要缓存的数据量的大小以及缓存区的大小确定缓存区的数量,从而中央处理器在内存中创建对应的数量的缓存区,这样在整个数据传输过程中缓存区组中的缓存区的数量是固定的。中央处理器最忙时所需要缓存的数据量的大小可以是预先根据业务场景测量得到的,例如在实验室环境下进行测量确定。业务场景下缓存区的大小则可以根据业务的要求来确定,例如每次中央处理器处理的数据量的大小,该大小可以保证业务数据处理的准确性,同时也保证了业务数据处理的效率。
在另一些可选的实施例中,缓存区组中的缓存区的数量是可以动态调整的,例如根据资源占用率动态调整缓存区组中的缓存区的数量,在资源占用率大于或等于预设值时,则增加缓存区组中的缓存区的数量,在资源占用率小于预设值时,可以减少缓存区组中的缓存区的数量,从而释放内存空间,以便于中央处理器处理其他事务。
空白缓存区是指缓存区组中未存储有数据的缓存区,其中为了方便,可以通过标识符的方式来对缓存区组中的缓存区进行分类,例如第一标识符用于表征缓存区为空白缓存区,第二标识符用于表征缓存区存储有数据。这样在中央处理器确定缓存区是否为空白缓存区时,可以直接根据标识符来确定。当中央处理器根据标识符确定缓存区为空白缓存区后,则可以读取到空白缓存区的地址。
在一些可选的实施例中,预先设置了缓存区组中各个缓存区的顺序,例如中央处理器按照各个缓存区的地址的大小来设置缓存区的顺序,这样中央处理器在选择空白缓存区时,按照一定顺序选择对应的空白缓存区,且后续中央处理器在处理存储有数据的缓存区中的数据时,也可以按照空白缓存区的顺序来对存储有数据的缓存区中的数据进行处理,保证了有序性。为了方便理解,请参阅图3所示,其中中央处理器在内存中创建了4个缓存区:缓存区A-缓存区D,在确定目标空白缓存区时,中央处理器先将缓存区A作为目标空白缓存区,以便于进行数据缓存,下一次获取时,则将缓存区B作为目标空白缓存区。同样地,在进行数据处理时,中央处理器也是先处理缓存区A中的数据,需要说明的一点时,当中央处理器已经处理了缓存区A中的数据,且缓存区A重新变为空白缓存区时,中央处理器获取下一缓存区仍然按照上述的顺序,继续获取到缓存区C作为目标空白缓存区,当遍历完一遍后,中央处理器再按照上述顺序,继续获取到缓存区A作为目标空白缓存区。
其中,直接存储器是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过中央处理器CPU,也不需要中央处理器CPU干预。这样最直接存储器将外部设备中的数据传输至中央处理器指定的目标空白缓存区中进行存储。
S204:当接收到直接存储器的存储反馈时,从缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
具体地,存储反馈是指直接存储器在存储满一个空白缓存区或者是数据传输完成但未存储满一个空白缓存区所发送的反馈,该存储反馈一般为中断信号,用于告知中央处理器本次数据传输完成。
中央处理器在接收到存储反馈后,从缓存区组中获取下一空白缓存区为新的目标空白缓存区,并返回继续执行将目标空白缓存区发送至直接存储器,以便于直接存储器进行下一次数据传输,将数据搬运至新的目标空白缓存区,这样直接存储器从外部设备搬运的数据并不会被覆盖,避免了数据丢失。
其中直接存储器在将外部设备的数据搬运完成后,则结束数据搬运,以便于在下一次需要数据搬运时,被中央处理器唤醒,以从外部设备获取数据,并继续搬运。
上述数据传输方法,中央处理器从缓存区组中依次获取空白缓存区作为目标空白缓存区,以使得直接存储器将数据传输至目标空白缓存区中进行存储,并不会覆盖其他缓存区中的数据,避免了数据的丢失。
在一些实施例中,上述数据传输方法还包括:对存储有数据的缓存区中的数据进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区。
其中,中央处理器还需要对存储有数据的缓存区中的数据进行处理,例如对存储有数据的缓存区中的数据按照业务规则等进行处理。在车辆的鞍座数据处理领域,中央处理器对缓存区中存储的鞍座数据进行处理,以判断鞍座上是否有人等。
其中在处理完成后,中央处理器清空处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,这样后续直接存储器可以将数据缓存至清空后的空白缓存区。
在一些实施例中,将清空后的缓存区作为空白缓存区,包括:将清空后的缓存区的标识位修改为第一标识符,第一标识符用于表征缓存区为空白缓存区。
其中,在该实施例中,通过标识符的方式来对缓存区组中的缓存区进行分类,例如第一标识符用于表征缓存区为空白缓存区,第二标识符用于表征缓存区存储有数据。这样在中央处理器处理完该缓存区的数据后,清空该缓存区,将清空后的缓存区的标识位修改为第一标识符。
需要说明的一点是,由于数据的传输是由直接存储器进行的,因此在数据传输的过程中,中央处理器可以对存储有数据的缓存区中的数据进行处理,这样的同时处理,可以提高数据的处理效率。在其他的实施例中,由于存在多个缓存区,中央处理器还可以等数据全部缓存完成后,在对存储有数据的缓存区中的数据进行处理。在另外的实施例中,在直接存储器存储完数据后,中央处理器还在处理其他的任务,这样中央处理器可以在处理完成其他的任务后,再对存储有数据的缓存区中的数据进行处理,并不需要在数据缓存结束后立马进行处理,以上给出了多个实施例,在此不对中央处理器对数据处理的时机做具体限制。
为了方便理解,仍以图3为例,其中当前状态是缓存区A至缓存区B已存储数据,直接存储器往缓存区C搬运数据,此时中央处理器空闲,则按照顺序处理缓存区A中存储的数据。在另外的实施例中,当前状态是缓存区B至缓存区C已存储数据,直接存储器往缓存区D搬运数据,此时中央处理器空闲,则由于上一次中央处理器处理了缓存区A中的数据,因此本次按照顺序处理缓存区B中存储的数据。在另外的实施例中,缓存区A-D全部存储有数据,且此时数据传输完成,中央处理器可以立即对缓存区中的数据进行处理,也可以先处理其他事务,在处理完成后,再对缓存区中的数据进行处理。
在该实施例中,中央处理器预设了缓存区组中各个缓存区的顺序,例如中央处理器按照各个缓存区的地址的大小来设置缓存区的顺序,或者是以缓存区创建的先后顺序设置缓存区的顺序等。中央处理器按照该顺序依次获取下一空白缓存区的地址发送给直接存储器,此外中央处理器还按照该顺序依次处理存储有数据的缓存区中的数据,这样由于数据的产生具有先后顺序,按照缓存区的顺序进行存储和处理,也可以保证优选处理先产生的数据,保证了后续业务处理的有序性。
上述实施例中,动态调整中央处理器以及直接存储器在不同的缓存区之间获取和传输数据,保证在中央处理器太忙时仍能够将数据缓存,避免数据丢失。
在一些实施例中,上述数据传输方法还包括:获取当前资源占用率;根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
具体地,当前资源占用率是指中央处理器的内存的占用情况,中央处理器可以通过系统已有的方式来获取到当前资源占用率,例如根据进程的数量等等。在其他的实施例中,资源占用率可以用缓存区组中当前空白缓存区的数量来衡量,例如中央处理器获取当前资源占用率的方式包括:获取缓存区组中当前空白缓存区的数量;根据缓存区组中当前空白缓存区的数量计算当前资源占用率。
其中当缓存区组中空白缓存区的数量,即未存储有数据的缓存区的数量较多时,判定资源占用率较低,当缓存区组中空白缓存区的数量,即未存储有数据的缓存区的数量较少时,则判定资源占用率较高。
为了方便理解,仍以图3为例进行说明,当缓存区A和缓存区B存储有数据,缓存区C和缓存区D未存储有数据,即为空白缓存区时,则中央处理器统计缓存区组中空白缓存区的数量作为资源占用率,当缓存区组中空白缓存区的数量小于或等于阈值时,则认为资源占用率高,此时需要创建新的空白缓存区,其中中央处理器新创建的空白缓存区的数量可以根据需要来进行,例如设置特定的步长,例如步长为2,则一次创建两个新的空白缓存区。但是需要说明的一点是,缓存区组中所有缓存区的数量不能超过中央处理器最忙时所能创建的缓存区的数量,因此在创建缓存区之前,中央处理器可以先统计缓存区组中缓存区的数量,当该数量小于中央处理器最忙时所能创建的缓存区的数量时,则可以创建新的空白缓存区。在其他的实施例中,中央处理器可以根据当前资源占用率,也即缓存区组中当前空白缓存区的数量,以及中央处理器当前所处理的事务来计算所需要创建的空白缓存区的数量,例如中央处理器可以计算当前所处理的事务所需要的时间,以及在该时间内直接存储器所能缓存的数据的大小,这样根据该大小来计算得到所需要的空白缓存区的数量,然后减掉此时所剩余的空白缓存区的数量,即可以得到所需要创建的空白缓存区的数量。在其他的实施例中,所需要创建的空白缓存区的数量还可以通过其他的方式来进行计算,在此不做具体限定。
中央处理器在创建了新的空白缓存区后,将其添加至缓存区组中,以便于后续动态调整直接存储器的工作的缓存区。
在一些实施例中,上述数据传输方法还包括:当接收到第一业务信息时,中断当前正在处理的处理任务,对第一业务信息进行处理,并在第一业务信息处理后,继续执行当前正在处理的处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区;缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务;缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一些实施例中,上述数据传输方法还包括:当接收到第二业务信息时,继续执行当前正在处理的处理任务,并在当前正在处理的处理任务结束后,对第二业务信息进行处理;在第二业务信息处理后,继续执行下一处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区;缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务;缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
其中,第一业务信息是优先级较高的业务,其优先级高于数据处理任务、缓存区分配任务以及缓存区创建任务。第二业务信息是优先级低于数据处理任务、缓存区分配任务以及缓存区创建任务的任务。
这样当中央处理器接收到第一业务信息时,则终端正在执行的处理任务,并处理第一业务信息,且在处理完成后再继续处理正在处理的处理任务。当中央处理器接收到第二业务信息时,则由于其优先级较低,因此中央处理器继续执行当前在执行的处理任务,并在执行结束后,再处理第二业务信息,并在第二业务信息处理完成后,继续处理其他的处理业务。
为了方便理解,举例说明,数据处理任务、缓存区分配任务以及缓存区创建任务可以是通过一段程序来编写的,中央处理器循环执行该段程序,例如中央处理器循环执行数据处理任务以及缓存区创建任务,并在接收到直接存储器发送的存储反馈后,执行缓存区分配任务。中央处理器还可以接收第一业务信息或第二业务信息,当中央处理器接收到第一业务信息时,其优先级较高,则中断正在执行的处理任务,例如中断数据处理任务、缓存区分配任务以及缓存区创建任务中的一个,并处理第一业务信息后,继续被中断的处理任务。当中央处理器接收到第二业务信息时,则由于其优先级较低,因此中央处理器继续执行当前在执行的处理任务,即继续执行数据处理任务、缓存区分配任务以及缓存区创建任务中的一个,并在执行结束后,再处理第二业务信息,并在第二业务信息处理完成后,继续处理其他的处理业务,例如当时执行的是缓存区分配任务,执行完成后处理第二业务信息,则在第二业务信息处理完成后,则可以继续执行缓存区创建任务。
在一个实施例中,如图4所示,提供了一种数据传输方法,以该方法应用于图1中的直接存储器为例进行说明,包括以下步骤:
S402:接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区。
S404:向中央处理器发送存储反馈,并接收中央处理器发送的下一目标空白缓存区的地址,返回继续执行将数据传输至目标空白缓存区的地址对应的目标空白缓存区的步骤;下一目标空白缓存区的地址是中央处理器基于存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,所获取的新的目标空白缓存区的地址。
具体地,对于缓存区的限定可以参见上文,此处的目标空白缓存区的地址是中央处理器所确定的空白缓存区的地址,直接存储器将外部设备的数据搬运至目标空白缓存区的地址对应的目标空白缓存区,并在搬运后,向中央存储器发送存储反馈,可选地,该存储反馈为一中断信号,以中断中央处理器正在处理的业务,从而使得中央处理器为直接存储器分配下一目标空白缓存区,这样直接存储器继续往下一目标空白缓存区搬运数据,直至数据传输完成。
其中下一空白缓存区的限定可以参见上文,在此不再赘述。
上述数据传输方法,中央处理器从缓存区组中依次获取空白缓存区作为目标空白缓存区,以使得直接存储器将数据传输至目标空白缓存区中进行存储,并不会覆盖其他缓存区中的数据,避免了数据的丢失。
在一些实施例中,将数据传输至目标空白缓存区的地址对应的目标空白缓存区之后,还包括:将存储有数据的缓存区的标识位修改为第二标识符,第二标识符用于表征缓存区已存储了数据。
其中,在该实施例中,通过标识符的方式来对缓存区组中的缓存区进行分类,例如第一标识符用于表征缓存区为空白缓存区,第二标识符用于表征缓存区存储有数据。这样在直接存储器向该缓存区搬运了数据后,则将存储了数据的缓存区的标识位修改为第二标识符。这样后续中央处理器不会选择该缓存区作为空白缓存区。
为了方便理解,参见图5所示,图5为再一个实施例中的数据传输方法的示意图。
在该实施例中,以车辆的鞍座数据为例进行说明,其中安装在鞍座上的传感器实时采集鞍座数据,并通过ADC(Analog to Digital Converter)模数转换器采集数据。
中央处理器预先在内存中配置了多个缓存区,当需要数据传输时,中央处理器向直接存储器发送目标空白缓存区的地址,从而直接存储器将数据搬运至该目标空白缓存区,然后向中央处理器发送存储反馈,中央处理器接收到存储反馈后,继续从缓存区组中获取下一空白缓存区作为目标空白缓存区,并向直接存储器发送目标空白缓存区的地址,从而直接存储器将数据搬运至该目标空白缓存区,直至数据搬运完成。
上述数据传输方法,中央处理器从缓存区组中依次获取空白缓存区作为目标空白缓存区,以使得直接存储器将数据传输至目标空白缓存区中进行存储,并不会覆盖其他缓存区中的数据,避免了数据的丢失。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据传输方法的数据传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据传输装置实施例中的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种数据传输装置,包括:第一地址发送模块601和第二地址发送模块602,其中:
第一地址发送模块601,用于从缓存区组中确定目标空白缓存区,并将目标空白缓存区的地址发送至直接存储器,目标空白缓存区的地址用于指示直接存储器将数据传输至目标空白缓存区中进行存储。
第二地址发送模块602,用于当接收到直接存储器的存储反馈时,从缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
在一些实施例中,上述数据传输装置还包括:
数据处理模块,用于对存储有数据的缓存区中的数据进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区。
在一些实施例中,上述数据传输装置还包括:
资源占用率获取模块,用于获取当前资源占用率。
创建模块,用于根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一些实施例中,上述的资源占用率获取模块用于获取缓存区组中当前空白缓存区的数量;根据缓存区组中当前空白缓存区的数量计算当前资源占用率。
在一些实施例中,上述数据传输装置还包括:
第一业务处理模块,用于当接收到第一业务信息时,中断当前正在处理的处理任务,对第一业务信息进行处理,并在第一业务信息处理后,继续执行当前正在处理的处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一些实施例中,上述数据传输装置还包括:
第二业务处理模块,用于当接收到第二业务信息时,继续执行当前正在处理的处理任务,并在当前正在处理的处理任务结束后,对第二业务信息进行处理;在第二业务信息处理后,继续执行下一处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一些实施例中,上述第二地址发送模块602还用于将清空后的缓存区的标识位修改为第一标识符,第一标识符用于表征缓存区为空白缓存区。
在一个实施例中,如图7所示,提供了一种数据传输装置,包括:数据传输模块701和接收模块702,其中:
数据传输模块701,用于接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区。
接收模块702,用于向中央处理器发送存储反馈,并继续接收中央处理器发送的下一目标空白缓存区的地址,下一目标空白缓存区的地址是中央处理器从缓存区组中确定下一空白缓存区为新的目标空白缓存区,并获取的当前缓存区的地址。
在一些实施例中,上述数据传输装置还包括:
标识符修改模块,用于将存储有数据的缓存区的标识位修改为第二标识符,第二标识符用于表征缓存区已存储了数据。
上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是处理设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据传输方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:从缓存区组中确定目标空白缓存区,并将目标空白缓存区的地址发送至直接存储器,目标空白缓存区的地址用于指示直接存储器将数据传输至目标空白缓存区中进行存储;当接收到直接存储器的存储反馈时,从缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对存储有数据的缓存区中的数据进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前资源占用率;根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,处理器执行计算机程序时所实现的获取当前资源占用率,包括:获取缓存区组中当前空白缓存区的数量;根据缓存区组中当前空白缓存区的数量计算当前资源占用率。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到第一业务信息时,中断当前正在处理的处理任务,对第一业务信息进行处理,并在第一业务信息处理后,继续执行当前正在处理的处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到第二业务信息时,继续执行当前正在处理的处理任务,并在当前正在处理的处理任务结束后,对第二业务信息进行处理;在第二业务信息处理后,继续执行下一处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,处理器执行计算机程序时所实现的将清空后的缓存区作为空白缓存区,包括:将清空后的缓存区的标识位修改为第一标识符,第一标识符用于表征缓存区为空白缓存区。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区;向中央处理器发送存储反馈,并接收中央处理器发送的下一目标空白缓存区的地址,返回继续执行将数据传输至目标空白缓存区的地址对应的目标空白缓存区的步骤;下一目标空白缓存区的地址是中央处理器基于存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,所获取的新的目标空白缓存区的地址。
在一个实施例中,处理器执行计算机程序时所实现的将数据传输至目标空白缓存区的地址对应的目标空白缓存区之后,还包括:将存储有数据的缓存区的标识位修改为第二标识符,第二标识符用于表征缓存区已存储了数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:从缓存区组中确定目标空白缓存区,并将目标空白缓存区的地址发送至直接存储器,目标空白缓存区的地址用于指示直接存储器将数据传输至目标空白缓存区中进行存储;当接收到直接存储器的存储反馈时,从缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对存储有数据的缓存区中的数据进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取当前资源占用率;根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,计算机程序被处理器执行时所实现的获取当前资源占用率,包括:获取缓存区组中当前空白缓存区的数量;根据缓存区组中当前空白缓存区的数量计算当前资源占用率。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到第一业务信息时,中断当前正在处理的处理任务,对第一业务信息进行处理,并在第一业务信息处理后,继续执行当前正在处理的处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到第二业务信息时,继续执行当前正在处理的处理任务,并在当前正在处理的处理任务结束后,对第二业务信息进行处理;在第二业务信息处理后,继续执行下一处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,计算机程序被处理器执行时所实现的将清空后的缓存区作为空白缓存区,包括:将清空后的缓存区的标识位修改为第一标识符,第一标识符用于表征缓存区为空白缓存区。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区;向中央处理器发送存储反馈,并接收中央处理器发送的下一目标空白缓存区的地址,返回继续执行将数据传输至目标空白缓存区的地址对应的目标空白缓存区的步骤;下一目标空白缓存区的地址是中央处理器基于存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,所获取的新的目标空白缓存区的地址。
在一个实施例中,计算机程序被处理器执行时所实现的将数据传输至目标空白缓存区的地址对应的目标空白缓存区之后,还包括:将存储有数据的缓存区的标识位修改为第二标识符,第二标识符用于表征缓存区已存储了数据。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:从缓存区组中确定目标空白缓存区,并将目标空白缓存区的地址发送至直接存储器,目标空白缓存区的地址用于指示直接存储器将数据传输至目标空白缓存区中进行存储;当接收到直接存储器的存储反馈时,从缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行将目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对存储有数据的缓存区中的数据进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取当前资源占用率;根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,计算机程序被处理器执行时所实现的获取当前资源占用率,包括:获取缓存区组中当前空白缓存区的数量;根据缓存区组中当前空白缓存区的数量计算当前资源占用率。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到第一业务信息时,中断当前正在处理的处理任务,对第一业务信息进行处理,并在第一业务信息处理后,继续执行当前正在处理的处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到第二业务信息时,继续执行当前正在处理的处理任务,并在当前正在处理的处理任务结束后,对第二业务信息进行处理;在第二业务信息处理后,继续执行下一处理任务;处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;数据处理任务为从对存储了有数据的缓存区中读取的数据的任务进行处理,并清空数据处理后的缓存区的数据,将清空后的缓存区作为空白缓存区,缓存区分配任务为从缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将目标空白缓存区的地址发送至直接存储器的任务,缓存区创建任务为获取当前资源占用率,根据当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
在一个实施例中,计算机程序被处理器执行时所实现的将清空后的缓存区作为空白缓存区,包括:将清空后的缓存区的标识位修改为第一标识符,第一标识符用于表征缓存区为空白缓存区。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区;向中央处理器发送存储反馈,并接收中央处理器发送的下一目标空白缓存区的地址,返回继续执行将数据传输至目标空白缓存区的地址对应的目标空白缓存区的步骤;下一目标空白缓存区的地址是中央处理器基于存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,所获取的新的目标空白缓存区的地址。
在一个实施例中,计算机程序被处理器执行时所实现的将数据传输至目标空白缓存区的地址对应的目标空白缓存区之后,还包括:将存储有数据的缓存区的标识位修改为第二标识符,第二标识符用于表征缓存区已存储了数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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 (14)

1.一种数据传输方法,其特征在于,应用于中央处理器,所述方法包括:
从缓存区组中确定目标空白缓存区,并将所述目标空白缓存区的地址发送至直接存储器,所述目标空白缓存区的地址用于指示所述直接存储器将数据传输至所述目标空白缓存区中进行存储;
当接收到所述直接存储器的存储反馈时,从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行所述将所述目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对存储有数据的缓存区中的数据进行处理,并清空数据处理后的所述缓存区的数据,将清空后的所述缓存区作为空白缓存区。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取当前资源占用率;
根据所述当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
4.根据权利要求3所述的方法,其特征在于,所述获取当前资源占用率,包括:
获取所述缓存区组中当前空白缓存区的数量;
根据所述缓存区组中当前空白缓存区的数量计算当前资源占用率。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
当接收到第一业务信息时,中断当前正在处理的处理任务,对所述第一业务信息进行处理,并在所述第一业务信息处理后,继续执行所述当前正在处理的处理任务;所述处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;所述数据处理任务为对存储有数据的缓存区中的数据进行处理,并清空数据处理后的所述缓存区的数据,将清空后的所述缓存区作为空白缓存区;所述缓存区分配任务为从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将所述目标空白缓存区的地址发送至直接存储器;所述缓存区创建任务为获取当前资源占用率,根据所述当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中。
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
当接收到第二业务信息时,继续执行当前正在处理的处理任务,并在当前正在处理的处理任务结束后,对所述第二业务信息进行处理;
在所述第二业务信息处理后,继续执行下一处理任务;所述处理任务包括数据处理任务、缓存区分配任务以及缓存区创建任务;所述数据处理任务为对存储有数据的缓存区中的数据进行处理,并清空数据处理后的所述缓存区的数据,将清空后的所述缓存区作为空白缓存区;所述缓存区分配任务为从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,且将所述目标空白缓存区的地址发送至直接存储器;所述缓存区创建任务为获取当前资源占用率,根据所述当前资源占用率创建对应数量的空白缓存区,将创建的空白缓存区添加至缓存区组中目标空白缓存区。
7.根据权利要求2至4任意一项所述的方法,其特征在于,所述将清空后的所述缓存区作为空白缓存区,包括:
将清空后的所述缓存区的标识位修改为第一标识符,所述第一标识符用于表征所述缓存区为空白缓存区。
8.一种数据传输方法,其特征在于,应用于直接存储器,所述方法包括:
接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区;
向所述中央处理器发送存储反馈,并接收所述中央处理器发送的下一目标空白缓存区的地址,并返回继续执行所述将数据传输至目标空白缓存区的地址对应的目标空白缓存区的步骤;所述下一目标空白缓存区的地址是所述中央处理器基于所述存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,所获取的新的目标空白缓存区的地址。
9.根据权利要求8所述的方法,其特征在于,所述将数据传输至目标空白缓存区的地址对应的目标空白缓存区之后,还包括:
将存储有数据的缓存区的标识位修改为第二标识符,所述第二标识符用于表征所述缓存区已存储了数据。
10.一种数据传输装置,其特征在于,应用于中央处理器,所述装置包括:
第一地址发送模块,用于从缓存区组中确定目标空白缓存区,并将所述目标空白缓存区的地址发送至直接存储器,所述目标空白缓存区的地址用于指示所述直接存储器将数据传输至所述目标空白缓存区中进行存储;
第二地址发送模块,用于当接收到所述直接存储器的存储反馈时,从所述缓存区组中确定下一空白缓存区为新的目标空白缓存区,并返回继续执行所述将所述目标空白缓存区的地址发送至直接存储器的步骤,直至数据传输完成。
11.一种数据传输装置,其特征在于,应用于直接存储器,所述装置包括:
数据传输模块,用于接收中央处理器发送的目标空白缓存区的地址,并将数据传输至目标空白缓存区的地址对应的目标空白缓存区;
接收模块,用于向所述中央处理器发送存储反馈,并返回继续执行所述接收所述中央处理器发送的下一目标空白缓存区的地址的步骤,所述下一目标空白缓存区的地址是所述中央处理器基于所述存储反馈从缓存区组中确定下一空白缓存区为新的目标空白缓存区后,并获取的新的目标空白缓存区的地址。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7或8至9中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7或8至9中任一项所述的方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7或8至9中任一项所述的方法的步骤。
CN202210941787.6A 2022-08-08 2022-08-08 数据传输方法、装置、计算机设备、存储介质和程序产品 Pending CN115454900A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210941787.6A CN115454900A (zh) 2022-08-08 2022-08-08 数据传输方法、装置、计算机设备、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210941787.6A CN115454900A (zh) 2022-08-08 2022-08-08 数据传输方法、装置、计算机设备、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN115454900A true CN115454900A (zh) 2022-12-09

Family

ID=84297141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210941787.6A Pending CN115454900A (zh) 2022-08-08 2022-08-08 数据传输方法、装置、计算机设备、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN115454900A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193786A1 (en) * 2002-08-29 2004-09-30 Yoshihisa Inagaki Semiconductor memory device and method for writing data into flash memory
CN103399720A (zh) * 2013-07-16 2013-11-20 青岛海信信芯科技有限公司 一种数据处理方法以及一种电子设备
CN104965798A (zh) * 2015-06-10 2015-10-07 上海华为技术有限公司 一种数据处理方法、相关设备以及系统
CN107018087A (zh) * 2016-01-28 2017-08-04 长城汽车股份有限公司 数据通信方法及系统
WO2017177400A1 (zh) * 2016-04-13 2017-10-19 华为技术有限公司 一种数据处理方法及系统
CN109189721A (zh) * 2018-08-27 2019-01-11 中国科学院电工研究所 一种实时性数据存储方法
CN110990309A (zh) * 2019-10-30 2020-04-10 西安电子科技大学 Tte端系统适配卡pcie控制器的高效中断操作方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193786A1 (en) * 2002-08-29 2004-09-30 Yoshihisa Inagaki Semiconductor memory device and method for writing data into flash memory
CN103399720A (zh) * 2013-07-16 2013-11-20 青岛海信信芯科技有限公司 一种数据处理方法以及一种电子设备
CN104965798A (zh) * 2015-06-10 2015-10-07 上海华为技术有限公司 一种数据处理方法、相关设备以及系统
CN107018087A (zh) * 2016-01-28 2017-08-04 长城汽车股份有限公司 数据通信方法及系统
WO2017177400A1 (zh) * 2016-04-13 2017-10-19 华为技术有限公司 一种数据处理方法及系统
CN109189721A (zh) * 2018-08-27 2019-01-11 中国科学院电工研究所 一种实时性数据存储方法
CN110990309A (zh) * 2019-10-30 2020-04-10 西安电子科技大学 Tte端系统适配卡pcie控制器的高效中断操作方法

Similar Documents

Publication Publication Date Title
WO2021142609A1 (zh) 信息上报方法、装置、设备和存储介质
CN101764835B (zh) 基于MapReduce编程架构的任务分配方法及装置
CN113055308B (zh) 带宽调度方法、流量传输方法及相关产品
CN102207889B (zh) 命令控制方法和命令控制器
CN111177025B (zh) 数据存储方法、装置及终端设备
CN107273213B (zh) 一种计算控制方法、网卡及电子设备
CN109074281B (zh) 图形处理器任务的分配方法和装置
CN111190854B (zh) 通信数据处理方法、装置、设备、系统和存储介质
CN114528092A (zh) 边缘节点任务调度方法、装置、计算机设备和存储介质
CN108241539B (zh) 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备
CN113742135B (zh) 数据备份方法、装置及计算机可读存储介质
CN107656807A (zh) 一种虚拟资源的自动弹性伸缩方法及装置
CN106330764A (zh) 管理数据缓冲的方法、应用及计算设备
CN113590512A (zh) 可直连外设设备的自启动dma装置及应用
AU2022204335A1 (en) Data communication method, communication system and computer-readable storage medium
JP6992271B2 (ja) 無線通信端末
CN109165729A (zh) 神经网络的调度方法及系统
CN115454900A (zh) 数据传输方法、装置、计算机设备、存储介质和程序产品
CN110489356B (zh) 信息处理方法、装置、电子设备及存储介质
CN111913815A (zh) 调用请求的处理方法、装置、电子设备及可读存储介质
CN109889456B (zh) 一种数据传输方法、装置、设备、系统和存储介质
CN112463028B (zh) 一种i/o处理方法、系统、设备及计算机可读存储介质
CN112463027B (zh) 一种i/o处理方法、系统、设备及计算机可读存储介质
US20230393782A1 (en) Io request pipeline processing device, method and system, and storage medium
CN210804421U (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
TA01 Transfer of patent application right

Effective date of registration: 20230331

Address after: Room 2501-04, 22nd Floor, Building 1, Yard 16, Guangshun South Street, Chaoyang District, Beijing 100020

Applicant after: Beijing apoco Blue Technology Co.,Ltd.

Applicant after: Hefei pinecone Zhizao Intelligent Technology Co.,Ltd.

Address before: Room 2501-04, 22nd Floor, Building 1, Yard 16, Guangshun South Street, Chaoyang District, Beijing 100020

Applicant before: Beijing apoco Blue Technology Co.,Ltd.

TA01 Transfer of patent application right