CN116150057B - 数据传输方法、装置、计算机设备及可读存储介质 - Google Patents
数据传输方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN116150057B CN116150057B CN202310445209.8A CN202310445209A CN116150057B CN 116150057 B CN116150057 B CN 116150057B CN 202310445209 A CN202310445209 A CN 202310445209A CN 116150057 B CN116150057 B CN 116150057B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- module
- transmitted
- data transmission
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 155
- 238000000034 method Methods 0.000 title claims abstract description 48
- 239000013598 vector Substances 0.000 claims abstract description 70
- 230000006870 function Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据传输方法、装置、计算机设备及可读存储介质,所述数据传输方法包括:响应于数据传输指令,获取待传输数据;确定目标存储空间的存储信息;基于所述存储信息将所述待传输数据转换为目标向量;将所述目标向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据。本申请提供的数据传输方案可以提高数据传输的效率。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种数据传输方法、装置、计算机设备及可读存储介质。
背景技术
直接存储器存取(Direct Memory Access,DMA)是一种快速传送数据的机制,DMA传输常使用在将一个内存区从一个设备复制到另外一个。当中央处理器初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,使其可以被重新调度去处理其他的工作。
目前,为加速神经网络的训练和推理过程,现有的GPU(GraphicsProcessingUnit,图形处理器)/NPU(Neural-networkProcessing Unit,嵌入式神经网络处理器)普遍对卷积、向量运算等数值计算进行了硬件化和并行化,在加速的同时降低功耗,大大提高了效率。计算前需要的输入以及计算完毕的结果则在缓存和内存间由DMA单元进行传输,然而,当算子种类和层数稍多一点的神经网络就需频繁在CPU、NPU之间切换,故,数据传输的效率低下。
发明内容
针对上述技术问题,本申请提供一种数据传输方法、装置、计算机设备及可读存储介质,可以提高数据传输的效率。
为解决上述技术问题,本申请提供一种数据传输方法,包括:
响应于数据传输指令,获取待传输数据;
确定目标存储空间的存储信息;
基于所述存储信息将所述待传输数据转换为目标向量;
将所述目标向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据。
可选的,在本申请的一些实施例中,所述基于所述存储信息将所述待传输数据转换为目标向量,包括:
确定所述待传输数据的数据总量;
基于所述数据总量以及存储信息,将所述待传输数据转换为目标向量。
可选的,在本申请的一些实施例中,所述基于所述数据总量以及存储信息,将所述待传输数据转换为目标向量,包括:
根据所述数据总量对所述待传输数据进行分割,得到至少两个传输数据块;
基于所述存储信息对所述传输数据块进行向量化处理,得到所述传输数据块对应的传输向量。
可选的,在本申请的一些实施例中,所述基于所述存储信息将所述待传输数据转换为目标向量,包括:
基于所述存储信息将所述待传输数据转换为常向量。
可选的,在本申请的一些实施例中,所述将所述目标向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据,包括:
获取预设的扫描方向;
根据所述扫描方向将所述目标向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据。
相应的,本申请还提供一种数据传输装置,包括:
获取模块,用于响应于数据传输指令,获取待传输数据;
确定模块,用于确定目标存储空间的存储信息;
转换模块,用于基于所述存储信息将所述待传输数据转换为目标向量;
传输模块,用于将所述目标向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据。
可选的,在本申请的一些实施例中,所述转换模块包括:
确定单元,用于确定所述待传输数据的数据总量;
转换单元,用于基于所述数据总量以及存储信息,将所述待传输数据转换为目标向量。
可选的,在本申请的一些实施例中,所述转换单元具体用于:
根据所述数据总量对所述待传输数据进行分割,得到至少两个传输数据块;
基于所述存储信息对所述传输数据块进行向量化处理,得到所述传输数据块对应的传输向量。
本申请还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
如上所述,本申请提供一种数据传输方法、装置、计算机设备及可读存储介质,响应于数据传输指令,获取待传输数据,然后,确定目标存储空间的存储信息,接着,基于所述存储信息将所述待传输数据转换为目标向量,最后,将所述目标向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据。在本申请提供的数据传输方案中,可以基于存储信息将待传输数据转换为目标向量,通过拼接的方式将待传输数据传输至目标存储空间中,无需将数据传输指令拆分成多个指令,减少了指令响应的次数,并且,将待传输数据转换为目标向量,无需中央处理器的参与,因此,可以提高数据传输的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据传输方法的场景示意图;
图2是本申请实施例提供的数据传输方法的流程示意图;
图3是本申请实施例提供的硬件平台的结构示意图;
图4是本申请提供的数据传输设备的结构示意图;
图5是本申请提供的数据传输方法的过程示意图;
图6是本申请提供的数据传输方法的另一过程示意图;
图7是本申请实施例提供的数据传输装置的结构示意图;
图8是本申请实施例提供的智能终端的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
以下对本申请涉及的实施例进行具体描述,需要说明的是,在本申请中对实施例的描述顺序不作为对实施例优先顺序的限定。
本申请实施例提供一种数据传输方法、装置、计算机设备及可读存储介质。
其中,该数据传输装置具体可以集成在终端中。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端与服务器之间可以通过有线或无线通信方式进行直接或间接地连接,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请在此不做限制。
例如,请参阅图1,本申请提供一种数据传输系统,该数据传输系统包括外设A和外设B,外设B需要拷贝外设A的数据,即,外设B响应于数据传输指令,获取待传输数据,然后,外设B确定目标存储空间的存储信息,接着,外设B基于存储信息将待传输数据转换为目标向量,最后,外设B将目标向量拼接至目标存储空间的预设位置,以传输待传输数据,即,实现拷贝外设A的目的,在该方案中,通过一条数据通路,直接让数据由外设A拷贝到外设B,而不经过CPU的处理,并且,无需将数据传输指令拆分成多个指令,减少了指令响应的次数,此外,将待传输数据转换为目标向量,无需中央处理器的参与,因此,可以提高数据传输的效率。
本申请提供的数据传输方案,可以基于存储信息将待传输数据转换为目标向量,通过拼接的方式将待传输数据传输至目标存储空间中,无需将数据传输指令拆分成多个指令,减少了指令响应的次数,并且,将待传输数据转换为目标向量,无需中央处理器的参与,因此,可以提高数据传输的效率。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种数据传输方法,包括:响应于数据传输指令,获取待传输数据;确定目标存储空间的存储信息;基于存储信息将待传输数据转换为目标向量;将目标向量拼接至目标存储空间的预设位置,以传输待传输数据。
请参阅图2,图2为本申请实施例提供的数据传输方法的流程示意图。该数数据传输方法的具体流程可以如下:
101、响应于数据传输指令,获取待传输数据。
其中,工程人员可以通过数据传输平台触发数据传输指令,由数据传输平台生成相应的数据传输指令,当接收到数据传输指令时,获取待传输数据。当然,该数据传输指令也可以是由机器触发的,比如,预先设定在XX时段内传输待传输数据,即,在XX时段内触发数据传输指令。该待传输数据可以是媒体数据或文档数据,当然,该待传输数据还可以是张量数据,如神经网络中存储的二维张量数据,具体根据实际情况而定,在此不再赘述。
可选地,在一些实施例中,请参阅图3,本申请的数据传输平台可以是图3所示的硬件平台,其中,该硬件平台可以包括一个外存和多个计算模组,上述外存可以包括低速、非易失性存储模块、设备或等价物。比如flash、机械硬盘等,甚至可以是一个远程文件等。
可选地,在一些实施例中,上述计算模组中则包括主控制模组、至少一个计算核以及内存,其中内存可以为SRAM(StaticRandom-Access Memory,静态随机存取存储器)或DDRSDRAM(DoubleData Rate Synchronous Dynamic Random Access Memory,双倍数据率同步动态随机存取存储器),主控制模组Host可以为CPU,而至少一个计算核可以为DSP(DigitalSignal Processing,数字信号处理器)、NPU(Neural-networkProcessing Unit,嵌入式神经网络处理器)、GPU(graphicsprocessing unit,图形处理器)等。
需要说明的是,上述计算模组可以是物理上固定的,也可以是按需动态组合成的,每个计算模组的内存可能独立编址,也可能与其余一个或多个模组内存统一编址。在一实施例中,上述计算核分两种:即能自动地连续读取命令(可以是指令,也可以是配置参数)序列、译码并执行的称为主动核;否则称为被动核。其中,每个计算模组内的每一种主动核都需要进行编号,如图3中所示CPU、NPU_0、NPU_1等。多个相互独立的计算模组可同时运行,且每个计算模组可计算一个或多个神经网络,本申请对此不作进一步限定。
102、确定目标存储空间的存储信息。
可选地,目标存储空间为一个三维存储空间,其中,该目标存储空间的第一维由存储器的单行内存储的个数构成,视为该三维存储空间的长度;第二维由存储器的行数构成,视为该三维存储空间的宽度,第三维由物理存储器的组(bank)构成,视为该三维存储空间的高度。
可以理解的,该目标存储空间中可能存储有其它数据,即,该目标存储空间可能不是一个无数据的存储空间,因此,在进行数据传输之前,需要确定其存储信息,该存储信息可以携带有存储数据所占用的空间以及位置。
103、基于存储信息将待传输数据转换为目标向量。
可选地,可以从存储信息中提取目标存储空间存储的数据所占用的空间以及位置,并基于待传输局的数据总量,将待传输数据转换为目标向量,即,步骤“基于存储信息将待传输数据转换为目标向量”,具体可以包括:
(11)确定待传输数据的数据总量;
(12)基于数据总量以及存储信息,将待传输数据转换为目标向量。
例如,目标存储空间为一个5*5*8的三维存储空间,目标存储空间中存储有数据S,该数据S所占用的空间大小为5*3*8,即,该三维存储空间所剩余的空间大小为5*2*8,此时,检测该待传输数据的数据总量是否满足于该目标存储空间的存储容量,当检测到待传输数据的数据满足于该目标存储空间的存储容量时,将待传输数据转换为符合目标存储结构的数据结构的向量,比如,待传输数据为二维张量,那么,则将该待传输数据转换为三维张量,此外,为了减小单次传输的数据量,减小硬件符合,本申请还可以对待传输数据进行分割,最后通过拼接的方式保证待传输数据的完整,即,可选地,在一些实施例中,步骤“基于数据总量以及存储信息,将待传输数据转换为目标向量”,具体可以包括:
(21)根据数据总量对待传输数据进行分割,得到至少两个传输数据块;
(22)基于存储信息对传输数据块进行向量化处理,得到传输数据块对应的传输向量。
此外,在一些实施例中,还可以基于存储信息将待传输数据转换为常向量。
在将待传输数据转换为目标向量后,执行步骤104。
104、将目标向量拼接至目标存储空间的预设位置,以传输待传输数据。
在利用DMA进行数据传输之前,需要对DMA通道的参数进行设置,其中,对DMA通道的参数设置包括对存储空间的扫描方向进行设置,比如,Scan_first:第一个维度的扫描方向,可选宽度,长度或者高度;Scan_second: 第二个维度的扫描方向,可选宽度,长度或者高度;在配置该类信息后,DMA就可以从指定方向搬运数据,即,在进行数据传输时,可以获取扫描方向,并基于扫描方向进行数据传输,也即,步骤“将目标向量拼接至目标存储空间的预设位置,以传输待传输数据”,具体可以包括:
(31)获取预设的扫描方向;
(32)根据扫描方向将目标向量拼接至目标存储空间的预设位置,以传输待传输数据。
为了便于理解本申请的数据传输方案,请参阅图4,图4是本申请提供的数据传输设备的结构示意图,该数据传输设备包括内存模块A、传输模块B、控制模块C以及缓存模块D,传输模块B具有双向传输功能,即既能将内存模块A中的数据复制至缓存模块D,亦可将缓存模块D中的数据复制至内存模块A;控制模块C向传输模块B发送传输指令(传输方向及相应参数等),传输模块B负责执行,控制模块C检测传输模块B是否执行完毕;内存模块A的存储容量(或寻址空间)大于缓存模块D的存储容量(或寻址空间)。
与模块B功能等效的python伪代码
defTwoLoopsDMA(src_base, #源数据基址(以字节为单位,以下均同)
dst_base, #目的地基址
loop1, #外层循环的次数
rc_step1, #外层循环时源数据跨步长
dst_step1, #外层循环时目的地跨步长
loop2, #内层循环的次数
src_step2, #内层循环时源数据跨步长
dst_step2, #内层层循环时目的地跨步长
data_length): #每次搬运数据块的长度
fori in range(loop1): #外层循环:共计loop1次
forj in range(loop2): #内层循环:共计loop2次
src_addr= src_base + src_step1 * i + src_step2 * j #源数据块的地址
dst_addr= dst_base + dst_step1 * i + dst_step2 * j #目的地的地址
move(dst_addr,src_addr, data_length) #一次搬运data_length长的数据块
1、上面的move函数即普通的DMA功能。
2、为了减少传输指令的长度,data_length的取值相对普通DMA要小。但可设置合理的参数,通过两重循环获得更长的连续总传输长度。
3、要求TwoLoopsDMA函数的所有参数是内存模块A和传输模块B之间总线带宽折合成字节数时的整数倍。传输模块B和缓存模块D之间总线带宽是模块内存模块A和传输模块B之间总线带宽的2的N次方。
进一步的,请参阅图5,图5是本申请提供的数据传输方法的过程示意图,如图所示,目标存储空间S的尺寸为5*9*8的存储空间,该目标存储空间S存储于内存模块A中,而待传输数据所转换的向量T1、向量T2以及向量T3军存储与缓存模块中,通过连续多条传输指令,可实现张量拼接,即向量T1、向量T2以及向量T3的拼接,完全摒弃CPU的参与且更快;当然,在一些实施例中,还可以采用特殊值即常向量G,比如全0、全1,或其它任意常向量对张量的部分或全部进行填充,完全摒弃CPU的参与且更快,如图6所示。
以上完成本申请的数据传输流程。
由上可知,本申请提供一种数据传输方法,在响应于数据传输指令,获取待传输数据后,确定目标存储空间的存储信息,接着,基于存储信息将待传输数据转换为目标向量,最后,将目标向量拼接至目标存储空间的预设位置,以传输待传输数据,在本申请提供的数据传输方案中,可以基于存储信息将待传输数据转换为目标向量,通过拼接的方式将待传输数据传输至目标存储空间中,无需将数据传输指令拆分成多个指令,减少了指令响应的次数,并且,将待传输数据转换为目标向量,无需中央处理器的参与,因此,可以提高数据传输的效率。
为便于更好的实施本申请的数据传输方法,本申请还提供一种基于上述数据传输装置。其中名词的含义与上述数据传输方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图7,图7为本申请提供的数据传输装置的结构示意图,其中该数据传输装置可以包括获取模块201、确定模块202、转换模块203以及传输模块204,具体可以如下:
获取模块201,用于响应于数据传输指令,获取待传输数据。
其中,工程人员可以通过数据传输平台触发数据传输指令,由数据传输平台生成相应的数据传输指令,当接收到数据传输指令时,获取待传输数据。当然,该数据传输指令也可以是由机器触发的,比如,预先设定在XX时段内传输待传输数据,即,在XX时段内触发数据传输指令。该待传输数据可以是媒体数据或文档数据,当然,该待传输数据还可以是张量数据,如神经网络中存储的二维张量数据,具体根据实际情况而定,在此不再赘述。
确定模块202,用于确定目标存储空间的存储信息。
可选地,目标存储空间为一个三维存储空间,其中,该目标存储空间的第一维由存储器的单行内存储的个数构成,视为该三维存储空间的长度;第二维由存储器的行数构成,视为该三维存储空间的宽度,第三维由物理存储器的组(bank)构成,视为该三维存储空间的高度。
转换模块203,用于基于存储信息将待传输数据转换为目标向量。
可选地,可以从存储信息中提取目标存储空间存储的数据所占用的空间以及位置,并基于待传输局的数据总量,将待传输数据转换为目标向量,即,可选地,在一些实施例中,转换模块203具体可以包括:
确定单元,用于确定待传输数据的数据总量;
转换单元,用于基于数据总量以及存储信息,将待传输数据转换为目标向量。
可选地,在一些实施例中,转换单元具体可以用于:根据数据总量对所述待传输数据进行分割,得到至少两个传输数据块;基于存储信息对传输数据块进行向量化处理,得到传输数据块对应的传输向量。
可选地,在一些实施例中,转换模块203具体可以用于:基于所述存储信息将待传输数据转换为常向量。
传输模块204,用于将目标向量拼接至目标存储空间的预设位置,以传输待传输数据。
可选地,在一些实施例中,传输模块204具体可以用于:获取预设的扫描方向;根据扫描方向将目标向量拼接至目标存储空间的预设位置,以传输待传输数据。
由上可知,本申请提供一种数据传输装置,获取模块201在响应于数据传输指令,获取待传输数据后,确定模块202确定目标存储空间的存储信息,接着,转换模块203基于存储信息将待传输数据转换为目标向量,最后,传输模块204将目标向量拼接至目标存储空间的预设位置,以传输待传输数据,在本申请提供的数据传输方案中,可以基于存储信息将待传输数据转换为目标向量,通过拼接的方式将待传输数据传输至目标存储空间中,无需将数据传输指令拆分成多个指令,减少了指令响应的次数,并且,将待传输数据转换为目标向量,无需中央处理器的参与,因此,可以提高数据传输的效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
本发明实施例还提供一种计算机设备500,如图8所示,该计算机设备500可以集成上述数据传输装置,还可以进一步包括射频(RF,Radio Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图8中示出的计算机设备500结构并不构成对计算机设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,RF电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,SubscriberIdentity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low NoiseAmplifier)、双工器等。此外,RF电路501还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global Systemof Mobile communication)、通用分组无线服务(GPRS ,GeneralPacketRadio Service)、码分多址(CDMA,Code DivisionMultiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,LongTermEvolution)、电子邮件、短消息服务(SMS,Short MessagingService)等。
存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及信息处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、目标数据播放功能等)等;存储数据区可存储根据计算机设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。
输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元504可用于显示由用户输入的信息或提供给用户的信息以及计算机设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图8中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
计算机设备500还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在计算机设备500移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等; 至于计算机设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路506、扬声器,传声器可提供用户与计算机设备500之间的音频接口。音频电路506可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经RF电路501以发送给比如另一计算机设备500,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与计算机设备500的通信。
WiFi属于短距离无线传输技术,计算机设备500通过WiFi模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块507,但是可以理解的是,其并不属于计算机设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器508是计算机设备500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。
计算机设备500还包括给各个部件供电的电源509(比如电池),优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源数据指示器等任意组件。
尽管未示出,计算机设备500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备500中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现各种功能:响应于数据传输指令,获取待传输数据;确定目标存储空间的存储信息;基于存储信息将待传输数据转换为目标向量;将目标向量拼接至目标存储空间的预设位置,以传输待传输数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文数据传输方法的详细描述,此处不再赘述。
由上可知,本发明实施例的计算机设备500可以基于存储信息将待传输数据转换为目标向量,通过拼接的方式将待传输数据传输至目标存储空间中,无需将数据传输指令拆分成多个指令,减少了指令响应的次数,并且,将待传输数据转换为目标向量,无需中央处理器的参与,因此,可以提高数据传输的效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种存储介质,其上存储有多条指令,所述指令适于处理器进行加载,以执行上述数据传输方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read OnlyMemory)、随机存取记忆体(RAM,Random AccessMemory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种数据传输方法中的步骤,因此,可以实现本发明实施例所提供的任一种数据传输方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的数据传输方法、装置、系统及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种数据传输方法,其特征在于,所述数据传输方法应用于数据传输设备,所述数据传输设备包括内存模块、传输模块、控制模块和缓存模块,所述传输模块具有双向传输功能,所述传输模块用于将所述内存模块中的数据复制至所述缓存模块,或用于将所述缓存模块中的数据复制至所述内存模块,所述控制模块用于向传输模块发送数据传输指令,所述传输模块用于根据所述数据传输指令进行相应任务执行,所述控制模块用于检测所述传输模块是否执行完毕,所述内存模块的存储容量大于所述缓存模块的存储容量;
所述数据传输方法具体应用于所述传输模块,所述数据传输方法包括:
响应于数据传输指令,获取待传输数据,所述待传输数据存储于所述缓存模块或所述内存模块中;
确定目标存储空间的存储信息,所述目标存储空间存储于所述内存模块或所述缓存模块中;
确定所述待传输数据的数据总量;根据所述数据总量对所述待传输数据进行分割,得到至少两个传输数据块;基于所述存储信息对所述传输数据块进行向量化处理,得到所述传输数据块对应的传输向量,所述传输向量是所述内存模块和所述传输模块之间总线带宽折合成字节数时的整数倍;
或基于所述存储信息将所述待传输数据转换为常向量;
获取预设的扫描方向;
根据所述扫描方向将所述传输向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据。
2.一种数据传输装置,应用于权利要求1所述的数据传输方法,其特征在于,包括:
获取模块,用于响应于数据传输指令,获取待传输数据;
确定模块,用于确定目标存储空间的存储信息;
转换模块,用于确定所述待传输数据的数据总量;根据所述数据总量对所述待传输数据进行分割,得到至少两个传输数据块;基于所述存储信息对所述传输数据块进行向量化处理,得到所述传输数据块对应的传输向量,所述传输向量是所述内存模块和所述传输模块之间总线带宽折合成字节数时的整数倍;或基于所述存储信息将所述待传输数据转换为常向量;
传输模块,用于获取预设的扫描方向;根据所述扫描方向将所述传输向量拼接至所述目标存储空间的预设位置,以传输所述待传输数据。
3.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1所述数据传输方法的步骤。
4.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310445209.8A CN116150057B (zh) | 2023-04-24 | 2023-04-24 | 数据传输方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310445209.8A CN116150057B (zh) | 2023-04-24 | 2023-04-24 | 数据传输方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116150057A CN116150057A (zh) | 2023-05-23 |
CN116150057B true CN116150057B (zh) | 2023-11-03 |
Family
ID=86356554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310445209.8A Active CN116150057B (zh) | 2023-04-24 | 2023-04-24 | 数据传输方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150057B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796931A (zh) * | 2020-06-09 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、计算设备和介质 |
CN112612745A (zh) * | 2020-12-15 | 2021-04-06 | 海宁奕斯伟集成电路设计有限公司 | 数据传输方法、装置、电子设备以及可读存储介质 |
CN113422669A (zh) * | 2020-07-09 | 2021-09-21 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置和系统、电子设备以及计算机可读存储介质 |
WO2023000894A1 (zh) * | 2021-07-21 | 2023-01-26 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、服务器、存储介质及程序产品 |
CN115729445A (zh) * | 2021-09-02 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 一种数据存储的方法、相关装置及设备 |
CN115905060A (zh) * | 2022-09-09 | 2023-04-04 | 深圳鲲云信息科技有限公司 | 直接存储器访问控制器、数据传输方法和系统 |
-
2023
- 2023-04-24 CN CN202310445209.8A patent/CN116150057B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796931A (zh) * | 2020-06-09 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、计算设备和介质 |
CN113422669A (zh) * | 2020-07-09 | 2021-09-21 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置和系统、电子设备以及计算机可读存储介质 |
CN112612745A (zh) * | 2020-12-15 | 2021-04-06 | 海宁奕斯伟集成电路设计有限公司 | 数据传输方法、装置、电子设备以及可读存储介质 |
WO2023000894A1 (zh) * | 2021-07-21 | 2023-01-26 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、服务器、存储介质及程序产品 |
CN115729445A (zh) * | 2021-09-02 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 一种数据存储的方法、相关装置及设备 |
CN115905060A (zh) * | 2022-09-09 | 2023-04-04 | 深圳鲲云信息科技有限公司 | 直接存储器访问控制器、数据传输方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116150057A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10033920B2 (en) | Method for controlling cameras, non-transitory storage medium and terminal | |
US20160314099A1 (en) | Webpage generating method and apparatus | |
CN106775637B (zh) | 一种应用程序的页面显示方法和装置 | |
WO2015090248A1 (zh) | 服务器的过载保护方法及装置 | |
US20190317864A1 (en) | Data backup method, electronic device, and storage medium | |
US10484468B2 (en) | Method and device for downloading file | |
CN106708554B (zh) | 程序运行方法及装置 | |
CN103455571A (zh) | 网页中的图片显示方法、装置及终端 | |
CN103631493B (zh) | 图片显示方法、装置及电子设备 | |
US10317931B2 (en) | Method for managing multi-core processor, and apparatus | |
CN110569078B (zh) | 一种网页级程序的预加载方法和装置 | |
CN103390034A (zh) | 图片展示的方法、装置、终端及服务器 | |
CN103513987A (zh) | 一种浏览器网页的渲染处理方法、装置及终端设备 | |
CN103677564A (zh) | 滑动操作响应方法、装置及终端设备 | |
WO2021109703A1 (zh) | 数据处理方法、芯片、设备及存储介质 | |
EP2869604A1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
CN115981798B (zh) | 文件解析方法、装置、计算机设备及可读存储介质 | |
CN106649595B (zh) | 一种基于对象池的网页启动加速方法、装置及终端 | |
CN106230919B (zh) | 一种文件上传的方法和装置 | |
CN116150057B (zh) | 数据传输方法、装置、计算机设备及可读存储介质 | |
CN112559532B (zh) | 一种基于红黑树的数据插入方法、装置及电子设备 | |
US9967691B2 (en) | Stereophonic sound recording method and apparatus, and terminal | |
CN115982110B (zh) | 文件运行方法、装置、计算机设备及可读存储介质 | |
CN106358070B (zh) | 多媒体文件上传方法及装置 | |
CN105988801B (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Data transmission methods, devices, computer equipment, and readable storage media Granted publication date: 20231103 Pledgee: Jiang Wei Pledgor: BEIJING INTENGINE TECHNOLOGY Co.,Ltd. Registration number: Y2024980019734 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |