CN115248664B - 数据的读写方法、装置、设备及存储介质 - Google Patents
数据的读写方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115248664B CN115248664B CN202211154502.0A CN202211154502A CN115248664B CN 115248664 B CN115248664 B CN 115248664B CN 202211154502 A CN202211154502 A CN 202211154502A CN 115248664 B CN115248664 B CN 115248664B
- Authority
- CN
- China
- Prior art keywords
- data matrix
- data
- storage
- request information
- user
- 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
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
Abstract
本申请公开了一种数据的读写方法、装置、设备及存储介质,该方法包括:获取用户需求的原数据矩阵,并确定所述用户的请求信息;基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。本申请,基于请求信息,得到多个用户需求的原数据矩阵的多个分割数据矩阵,对分割数据矩阵进行操作,减少了DMA的循环启动次数,因而,减小了数据传输时的大小,缩短了储存时间。
Description
技术领域
本申请涉及数据存储领域,尤其涉及一种数据的读写方法、装置、设备及存储介质。
背景技术
在基于DSP(Digital Signal Processing数字信号处理)处理器的信号处理系统中,DSP处理器通常都会外挂DDR作为大数据处理的存储空间,而DSP访问DDR(Double DataRate双倍速率同步动态随机存储器)存储的方式往往都是DMA(DirectMemoryAccess存储器直接访问)。
对于这种系统下大数据矩阵的行列存储或者读取等,方案一般会采取多次循环启动DMA的方式,但是这种方式无法发挥DMA直接访问的优势,访问储存器的速率性能不高,尤其随着矩阵数据量的增大,需要的循环启动次数会越多,导致存储时间越长。
发明内容
本申请的主要目的在于提供一种数据的读写方法、装置、设备及存储介质,旨在解决现有技术中从DMA需要的循环启动次数会越多,导致存储时间越长的技术问题。
为实现上述目的,本申请提供一种数据的读写方法,所述数据的读写方法包括:
获取用户需求的原数据矩阵,并确定所述用户的请求信息;
基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;
基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。
可选地,所述请求信息包括储存信息和读取信息;
所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,包括:
若所述请求信息为储存信息,则基于预设的空间大小,对所述用户存储的原数据矩阵进行分割,得到分割数据矩阵;
确定每个所述分割数据矩阵在所述原数据矩阵中的位置参数,并对所述位置参数进行参数转换,得到所述分割数据矩阵的储存参数。
可选地,所述请求信息还包括读取信息;
所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,还包括:
若所述请求信息为读取信息,则对所述请求信息进行参数分析,确定所述请求信息中所述用户需求的读取参数;
基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数。
可选地,所述基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数的步骤之前,所述方法包括:
对预设的储存区域进行初始化,基于预设的空间大小,对所述储存区域进行分割,得到储存格;
对所述储存格进行汇总整理,得到每个所述储存格的储存参数;
基于所述储存参数,得到储存矩阵。
可选地,所述基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作的步骤,包括:
从所述储存参数中提取所述分割数据矩阵对应的坐标位置;
基于所述请求信息,确定所述用户数据传输时选用的DMA;
基于预设的注册函数,对所述DMA进行适配,得到驱动接口;
基于所述驱动接口和所述坐标位置,对所述分割数据矩阵进行操作。
可选地,所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,还包括:
基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵;
对所述标记数据矩阵进行位置分析,确定所述标记数据矩阵的位置信息;
基于所述位置信息,得到所述标记数据矩阵的储存参数。
可选地,所述基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵的步骤,包括:
基于所述请求信息,从所述原数据矩阵中确定所述用户的需求数据;
对所述需求数据进行矩阵化,并进行标记,得到标记数据矩阵。
本申请还提供一种数据的读写装置,所述数据的读写装置包括:
确定模块,用于获取用户需求的原数据矩阵,并确定所述用户的请求信息;
处理模块,用于基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;
执行模块,用于基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。
可选地,所述请求信息包括储存信息和读取信息;
所述处理模块包括:
第一分割模块,用于若所述请求信息为储存信息,则基于预设的空间大小,对所述用户存储的原数据矩阵进行分割,得到分割数据矩阵;
编号模块,用于确定每个所述分割数据矩阵在所述原数据矩阵中的位置参数,并对所述位置参数进行参数转换,得到所述分割数据矩阵的储存参数。
可选地,所述处理模块还包括:
分析模块,用于若所述请求信息为读取信息,则对所述请求信息进行分析,确定所述请求信息中对应读取数据的读取参数;
匹配模块,用于基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数。
可选地,所述数据的读写装置还包括:
第二分割模块,用于对预设的储存区域进行初始化,基于预设的空间大小,对所述储存区域进行分割,得到储存格;
汇总模块,用于对所述储存格进行汇总整理,得到每个所述储存格的储存参数;
第一确定子模块,用于基于所述储存参数,得到储存矩阵。
可选地,所述确定模块包括:
提取模块,用于从所述储存参数中提取所述分割数据矩阵对应的坐标位置;
第一确定单元,用于基于所述请求信息,确定所述用户数据传输时选用的DMA;
注册模块,用于基于预设的注册函数,对所述DMA进行适配,得到驱动接口;
执行子模块,用于基于所述驱动接口和所述坐标位置,对所述分割数据矩阵进行操作。
可选地,所述执行模块包括:
筛选模块,用于基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵;
位置分析模块,用于对所述标记数据矩阵进行位置分析,确定所述标记数据矩阵的位置信息;
参数确定模块,用于基于所述位置信息,得到所述标记数据矩阵的储存参数。
可选地,所述筛选模块包括:
第二确定单元,用于基于所述请求信息,从所述原数据矩阵中确定所述用户的需求数据;
标记模块,用于对所述需求数据进行矩阵化,并进行标记,得到标记数据矩阵。
本申请还提供一种数据的读写设备,所述数据的读写设备为实体节点设备,所述数据的读写设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述数据的读写方法的程序,所述数据的读写方法的程序被处理器执行时可实现如上述的数据的读写方法的步骤。
本申请还提供一种存储介质,所述存储介质上存储有实现上述数据的读写方法的程序,所述数据的读写方法的程序被处理器执行时实现如上述的数据的读写方法的步骤。
本申请还提供一种计算机程序产品、包括计算机程序,该计算机程序被处理器执行时实现上述的数据的读写方法的步骤。
本申请提供一种数据的读写方法、装置、设备及存储介质,与现有技术中通过DMA访问处理器,无法发挥DMA直接访问的优势,访问储存器的速率性能不高,尤其随着矩阵数据量的增大,需要的循环启动次数会越多,导致存储时间越长相比,在本申请中,获取用户需求的原数据矩阵,并确定所述用户的请求信息;基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。在本申请中,首先获取用户需求的原数据矩阵,并确定所述用户的请求信息,基于其请求信息,对原数据进行矩阵化分割,得到比原数据矩阵小的分割数据矩阵和每个分割数据矩阵的储存参数,对分割数据矩阵进行操作,即在本申请中,基于请求信息,得到多个用户需求的原数据矩阵的多个分割数据矩阵,对分割数据矩阵进行操作,减少了DMA的循环启动次数,因而,减小了数据传输时的大小,缩短了储存时间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请数据的读写方法第一实施例的流程示意图;
图2为本申请数据的读写方法工作流程示意图;
图3为本申请实施例方案涉及的硬件运行环境的设备结构示意图;
图4为本申请数据的读写方法第一实施例中软件模块示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种数据的读写方法,在本申请数据的读写方法的第一实施例中,参照图1和图2,所述数据的读写方法包括:
步骤S10,获取用户需求的原数据矩阵,并确定所述用户的请求信息;
步骤S20,基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;
步骤S30,基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。
具体步骤如下:
步骤S10,获取用户需求的原数据矩阵,并确定所述用户的请求信息;
在本实施例中,需要说明的是,数据的读写方法可以应用于数据的读写装置,该数据的读写装置从属于数据的读写设备,该数据的读写设备属于数据的读写系统。
对于数据的读写系统而言,内置有矩阵分割机制原则和注册函数,该矩阵分割机制原则,可以由用户定义需要分割的矩阵的大小,需要说明的是,该矩阵分割机制原则可以对储存区域进行空间分割,得到储存格,也可以对储存的原数据矩阵进行分割,得到分割数据矩阵。
其中,原数据矩阵中至少包括一个分割数据矩阵,也即多个分割数据矩阵的组成员数据矩阵。
需要说明的是,将原数据矩阵分割成分割数据矩阵,可以减少在单次数据传输时的数据矩阵的大小,提高数据传输的效率。
需要说明的是,注册函数可以对不同的处理器或DMA进行注册,得到驱动接口。
其中,DMA(DirectMemoryAccess存储器直接访问)可以直接访问软件模块,减少数据储存或读取的时间。
其中,注册函数可以设置在函数注册模块内。
其中,请求信息至少包括读取信息和储存信息。
其中,函数注册模块可以设置在用来储存数据的软件模块内。
其中,软件模块可以为数据高速智能存储和读取模块。
其中,软件模块中还可以包括储存机制模块。
其中,储存机制模块可以是软件模块储存和读取数据的核心机制模块。
具体地,储存机制模块可以储存用户传输的数据,也即,储存机制模块包括储存区域,也可以基于分割数据矩阵的储存参数对分割数据矩阵进行整理储存,还可以从储存区域中匹配出用户需求的分割数据矩阵,还可以对储存区域中储存的数据进行备份等。
需要说明的是,参照图4,软件模块中同时包括函数注册模块和储存机制模块,可以通过函数注册模块对请求连接软件模块的处理器或DMA进行注册,得到用于连接处理器或DMA的驱动接口。在本实施例中,通过将软件模块划分为函数注册模块和储存机制模块,通过函数注册模块适配各种处理器或DMA,实现了软件模块的独立性,也即,通过注册函数可以适配多种DMA或处理器,还可以适配同种处理器或DMA的不同版本的驱动接口。
需要说明的是,处理器可以通过DMA连接软件模块,以实现处理器快速直接访问软件模块。其中,DMA可以设置在处理器内。
在本实施例中,获取用户需求的原数据矩阵,再确定用户的请求信息,根据不同的请求信息对原数据矩阵进行不同的操作。
步骤S20,基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;
其中,若请求信息为储存信息,则对用户上传的原数据矩阵,基于储存格的空间大小,并通过矩阵分割机制原则对原数据矩阵进行分割,得到分割数据矩阵。
其中,若请求信息为读取信息,则读取信息中包括用户需求的分割数据矩阵的储存参数,基于储存参数从对应的储存格,获取用户需求的分割数据矩阵,并通过DMA将分割数据矩阵传输到处理器中,并通过处理器将分割数据矩阵重新整理,得到用户需求的数据。
在本实施例中,首先确定请求信息是储存信息还是读取信息,在请求信息为储存信息时,先确定储存区域中每个储存格的大小,根据储存格的大小将原数据矩阵进行分割,得到分割数据矩阵;在请求信息为读取信息时,从读取信息中,确定用户需要读取的数据在储存矩阵中的位置,根据该位置快速找到对应的储存格,从对应的储存格中获取对应的分割数据矩阵。
在本实施例中,由于储存格中储存的数据中可能包括用户不需要的数据,在用户读取储存区域的数据时,可以对每个对应的储存格中的数据进行筛选,再将筛选出的用户需求的数据整理成分割数据矩阵;由于储存区域的储存空间有限,且储存区域中的数据都留有备份,在用户储存原数据矩阵时,原数据矩阵中的一部分数据可能已经储存在储存区域,可以先将原数据矩阵根据储存格的大小进行分割,得到数据块,再对每个数据块进行查重分析,将重复的数据删除,并将储存格中重复的数据和数据块进行关联,避免在用户读取该数据块时,存在数据缺失。
例如,在储存格中已经储存的数据包括Q、W、E,对应的数据块中的数据包括E、R、T,则在数据块存入该储存格时,将E删除一个,只保留一个E,并将保留的E和数据块关联,在读取该数据块时,可以读取到完整的E、R、T数据。
具体地,所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,包括:
步骤S211,若所述请求信息为储存信息,则基于预设的空间大小,对所述用户存储的原数据矩阵进行分割,得到分割数据矩阵;
在本实施例中,通过矩阵分割机制原则,基于预设的空间大小,将原数据矩阵进行分割,得到数据块,从数据块中匹配出与储存格中存有的重复数据,将数据块中或储存格中的重复数据删除,若删除的是数据块中的重复数据,则得到分割数据矩阵,并将储存格中的重复数据和该分割数据矩阵关联,若删除的是储存格中的重复数据,则数据块即为分割数据矩阵,并将数据块中的重复数据设为该储存格的共用数据,在读取该储存格中其他分割数据矩阵时,若需要用到该重复数据,则可以将该重复数据与其他分割数据矩阵关联,以供其他分割数据矩阵使用。
步骤S212,确定每个所述分割数据矩阵在所述原数据矩阵中的位置参数,并对所述位置参数进行参数转换,得到所述分割数据矩阵的储存参数。
其中,位置参数可以是分割数据矩阵对应原数据矩阵中的位置参数,储存参数可以是分割数据矩阵对应储存区域的位置参数。
需要说明的是,确定每个所述分割数据矩阵在所述原数据矩阵中的位置参数,在读取数据时,可以将分割数据矩阵按照位置参数进行重新组合,可以避免在读取数据时分割数据矩阵组合错误,导致读取的数据出错。
在本实施例中,将原数据矩阵分割成分割数据矩阵时,确定每个分割数据矩阵的位置参数,在将分割数据矩阵储存到储存格时,可以基于分割数据矩阵的切割顺序进行储存。
在本实施例中,将分割数据矩阵储存到储存区域时需要对位置参数进行转换,将位置参数转换成储存区域中储存格组成矩阵的储存参数,其中,位置参数被转换后可以在读取数据时,由读取参数匹配到。
具体地,所述请求信息还包括读取信息,所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,还包括:
步骤S221,若所述请求信息为读取信息,则对所述请求信息进行参数分析,确定所述请求信息中所述用户需求的读取参数;
步骤S222,基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数。
其中,读取参数可以包括对应分割数据矩阵储存区域的位置,或者对应原数据矩阵的位置参数等。
需要说明的是,由于储存区域中储存有大量数据,且数据的来源可能不相同,确定分割数据矩阵的位置参数也可能不相同,在读取数据时,读取参数和分割数据矩阵的位置参数相对应,可以基于读取参数,转换成储存参数,再从储存参数中准确地匹配出对应的分割数据矩阵。
在本实施例中,在读取数据时,基于请求信息中的读取参数,通过读取参数,从储存矩阵中匹配出对应的分割数据矩阵,并确定分割数据矩阵的储存参数,以便分割数据矩阵从对应的储存格中读取。
具体地,所述基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数的步骤之前,所述方法包括:
步骤A10,对预设的储存区域进行初始化,基于预设的空间大小,对所述储存区域进行分割,得到储存格;
步骤A20,对所述储存格进行汇总整理,得到每个所述储存格的储存参数;
步骤A30,基于所述储存参数,得到储存矩阵。
其中,储存区域可以是未被分割过的储存区域,也可以是被分割过的储存区域。
需要说明的是,由于每个被分割成的储存格的空间大小是由用户设定的,在储存区域被分割后,可能最后剩余的储存空间会小于设定的储存格,通过矩阵分割机制原则对储存区域进行计算,得到与用户的设定最相近的分割方案,以对储存区域均匀分割,避免出现每个储存格之间的空间大小不一致。
在本实施例中,首先对储存区域,基于用户设定的空间大小通过矩阵分割机制原则对储存区域进行计算,确定最接近用户设定的分割方案,基于该分割方案对储存区域进行储存空间分割,得到储存格,可以根据分割顺序对储存格进行整理,得到储存格的储存参数,基于储存参数,得到储存矩阵。
其中,未被分割过的储存区域,可能会有预存数据残留,若不将预存数据残留清除掉,则可能会减少储存区域实际的储存空间。
其中,被分割过的储存区域可能不在满足当前的储存要求,可能需要将分割过的储存矩阵初始化成为未被分割的储存区域,并对储存区域的储存空间进行重新计算,确定储存区域的空间。
在本实施例中,首先对储存区域初始化,确定储存空间的大小,再基于用户设定的空间大小,通过矩阵分割机制原则,将储存区域均匀分割成储存格,确定收集每个储存格的位置参数,和空间大小,至少由位置参数和空间大小组成储存格的储存参数,通过位置参数,对储存格进行排列组合,得到储存矩阵。
需要说明的是,在储存格存入分割数据矩阵后,储存参数还会添加对应分割数据矩阵的特征信息参数,例如,分割数据矩阵的编号或分割数据矩阵的来源等信息参数。方便在读取数据时,基于读取参数快速匹配到对应的分割数据矩阵。
步骤S30,基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。
在本实施例中,若请求信息为储存信息,则对原数据矩阵进行分割,并确定分割后得到的分割数据矩阵相对于原数据矩阵的位置参数,在传输前将编号转换成储存参数,通过储存参数确认传输过程中需用到的驱动接口的传输参数,通过传输参数,将分割数据矩阵传输到对应的储存格内。
在本实施例中,若请求信息为读取信息,则从读取信息中,获取对应的读取参数,可以将读取参数转换成储存参数,并基于储存参数确定驱动接口的传输参数,通过传输参数,从储存矩阵中获取分割数据矩阵,在获取分割数据矩阵后,在基于分割数据矩阵的编号进行重新组合,得到用户需求的数据。
在本实施例中,储存参数可以识别注册函数对DMA后处理器注册的驱动接口,并将驱动接口连接在储存区域上,完成原数据矩阵的储存或读取。
在本实施例中,首先确定用户的请求信息,并获取用户的原数据矩阵,对原数据矩阵进行分割,得到分割数据矩阵,在通过传输通道将分割数据矩阵快速地传输到储存矩阵内,或者快速从储存矩阵内获取用户需求的原数据矩阵。
本申请提供一种数据的读写方法、装置、设备及存储介质,与现有技术中通过DMA访问处理器,无法发挥DMA直接访问的优势,访问储存器的速率性能不高,尤其随着矩阵数据量的增大,需要的循环启动次数会越多,导致存储时间越长相比,在本申请中,获取用户需求的原数据矩阵,并确定所述用户的请求信息;基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。在本申请中,首先获取用户需求的原数据矩阵,并确定所述用户的请求信息,基于其请求信息,对原数据进行矩阵化分割,得到比原数据矩阵小的分割数据矩阵和每个分割数据矩阵的储存参数,对分割数据矩阵进行操作,即在本申请中,基于请求信息,得到多个用户需求的原数据矩阵的多个分割数据矩阵,对分割数据矩阵进行操作,减少了DMA的循环启动次数,因而,减小了数据传输时的大小,缩短了储存时间。
进一步地,基于本申请中第一实施例,提供本申请的另一实施例,在该实施例中,所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,还包括:
步骤B10,基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵;
步骤B20,对所述标记数据矩阵进行位置分析,确定所述标记数据矩阵的位置信息;
步骤B30,基于所述位置信息,得到所述标记数据矩阵的储存参数。
需要说明的是,由于在储存数据或读取数据时,可能会出现数据重复,可以对重复数据进行删除处理,可以节省储存区域的储存空间。
在本实施例中,首先从原数据矩阵中,筛选出与请求信息相对应的数据,对筛选后的数据进行分割,得到用户需求的分割数据矩阵,确定分割数据矩阵在储存区域的位置信息,基于位置信息,在储存矩阵中确定与位置信息对应的储存格,最后基于储存格,确定分割数据矩阵的储存参数。
具体地,所述基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵的步骤,包括:
步骤C10,基于所述请求信息,从所述原数据矩阵中确定所述用户的需求数据;
步骤C20,对所述需求数据进行矩阵化,并进行标记,得到标记数据矩阵。
其中,对需求数据进行标记,可以是通过标识码,也可以是通过连接标记,还可以是通过删除标记等。
需要说明的是,在读取数据时,由于获取分割数据矩阵的顺序是组合成需求数据的顺序,可以在读取过程中,对确定的标记数据矩阵进行连接组合,在读取的过程中,对分割数据矩阵进行连接,可以减少处理器对分割数据矩阵整合的时间,提高数据传输的速度。
在本实施例中,需要说明的是,在读取数据时,原数据矩阵中可能存在与需求数据相近的模糊数据,其中,模糊数据可能是和需求数据在同一个储存格的数据,也可以是与分割数据矩阵关联的数据等。
需要说明的是,在读取数据或储存数据时,可以读取或储存原数据矩阵中的一行或多行的数据,也可以是一列或多列的数据,还可以是整合原数据矩阵的数据。
在本实施例中,从原数据矩阵中筛选出用户的需求数据,并得到标记数据矩阵。在本实施例中,通过从原数据矩阵筛选出用户的需求数据,可以减少数据数量传输,且还可以在读取数据过程中,对分割数据矩阵进行连接组合,减少了处理器工作量,提高了读取数据的速度。
进一步地,基于本申请中第一实施例,提供本申请的另一实施例,在该实施例中,所述基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作的步骤,包括:
步骤D10,从所述储存参数中提取所述分割数据矩阵对应的坐标位置;
步骤D20,基于所述请求信息,确定所述用户数据传输时选用的DMA;
步骤D30,基于预设的注册函数,对所述DMA进行适配,得到驱动接口;
步骤D40,基于所述驱动接口和所述坐标位置,对所述分割数据矩阵进行操作。
在本实施例中,确定传输时用的DMA,也可以是其他直接访问方式,过直接访问通道,通过注册函数对DMA进行适配处理,将处理器直接连接在储存区域内,通过原数据矩阵的坐标位置,对原数据矩阵进行储存或读取。在本实施例中,将不同的DMA或处理器,通过注册函数进行适配处理,得到驱动接口,通过驱动接口储存区域和处理器,实现处理器直接访问储存区域,提高了访问速度。
参照图3,图3是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图3所示,该数据的读写设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该数据的读写设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的数据的读写设备结构并不构成对数据的读写设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及数据的读写程序。操作系统是管理和控制数据的读写设备硬件和软件资源的程序,支持数据的读写程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与数据的读写系统中其它硬件和软件之间通信。
在图3所示的数据的读写设备中,处理器1001用于执行存储器1005中存储的数据的读写程序,实现上述任一项所述的数据的读写方法的步骤。
本申请数据的读写设备具体实施方式与上述数据的读写方法各实施例基本相同,在此不再赘述。
本申请还提供一种数据的读写装置,所述数据的读写装置包括:
确定模块,用于获取用户需求的原数据矩阵,并确定所述用户的请求信息;
处理模块,用于基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;
执行模块,用于基于所述储存参数和所述请求信息,对所述分割数据矩阵进行操作。
可选地,所述请求信息包括储存信息和读取信息;
所述处理模块包括:
第一分割模块,用于若所述请求信息为储存信息,则基于预设的空间大小,对所述用户存储的原数据矩阵进行分割,得到分割数据矩阵;
编号模块,用于确定每个所述分割数据矩阵在所述原数据矩阵中的位置参数,并对所述位置参数进行参数转换,得到所述分割数据矩阵的储存参数。
可选地,所述处理模块还包括:
分析模块,用于若所述请求信息为读取信息,则对所述请求信息进行分析,确定所述请求信息中对应读取数据的读取参数;
匹配模块,用于基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数。
可选地,所述数据的读写装置还包括:
第二分割模块,用于对预设的储存区域进行初始化,基于预设的空间大小,对所述储存区域进行分割,得到储存格;
汇总模块,用于对所述储存格进行汇总整理,得到每个所述储存格的储存参数;
第一确定子模块,用于基于所述储存参数,得到储存矩阵。
可选地,所述确定模块包括:
提取模块,用于从所述储存参数中提取所述分割数据矩阵对应的坐标位置;
第一确定单元,用于基于所述请求信息,确定所述用户数据传输时选用的DMA;
注册模块,用于基于预设的注册函数,对所述DMA进行适配,得到驱动接口;
执行子模块,用于基于所述驱动接口和所述坐标位置,对所述分割数据矩阵进行操作。
可选地,所述执行模块包括:
筛选模块,用于基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵;
位置分析模块,用于对所述标记数据矩阵进行位置分析,确定所述标记数据矩阵的位置信息;
参数确定模块,用于基于所述位置信息,得到所述标记数据矩阵的储存参数。
可选地,所述筛选模块包括:
第二确定单元,用于基于所述请求信息,从所述原数据矩阵中确定所述用户的需求数据;
标记模块,用于对所述需求数据进行矩阵化,并进行标记,得到标记数据矩阵。
本申请数据的读写装置的具体实施方式与上述数据的读写方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种存储介质,且所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的数据的读写方法的步骤。
本申请存储介质具体实施方式与上述数据的读写方法各实施例基本相同,在此不再赘述。
本申请还提供一种计算机程序产品、包括计算机程序,该计算机程序被处理器执行时实现上述的数据的读写方法的步骤。
本申请计算机程序产品的具体实施方式与上述数据的读写方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种数据的读写方法,其特征在于,所述数据的读写方法包括:
获取用户需求的原数据矩阵,并确定所述用户的请求信息;
基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;
从所述储存参数中提取所述分割数据矩阵对应的坐标位置;
基于所述请求信息,确定所述用户数据传输时选用的DMA;
基于预设的注册函数,对所述DMA进行适配,得到驱动接口;
基于所述驱动接口和所述坐标位置,对所述分割数据矩阵进行操作;
其中,通过注册函数适配多种DMA或处理器,或适配同种处理器的不同版本的驱动接口,或适配同种DMA的不同版本的驱动接口。
2.如权利要求1所述的数据的读写方法,其特征在于,所述请求信息包括储存信息,所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,包括:
若所述请求信息为储存信息,则基于预设的空间大小,对所述用户存储的原数据矩阵进行分割,得到分割数据矩阵;
确定每个所述分割数据矩阵在所述原数据矩阵中的位置参数,并对所述位置参数进行参数转换,得到所述分割数据矩阵的储存参数。
3.如权利要求1所述的数据的读写方法,其特征在于,所述请求信息还包括读取信息,所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,还包括:
若所述请求信息为读取信息,则对所述请求信息进行参数分析,确定所述请求信息中所述用户需求的读取参数;
基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数。
4.如权利要求3所述的数据的读写方法,其特征在于,所述基于所述读取参数,从预设的储存矩阵中匹配出对应的分割数据矩阵,并确定所述分割数据矩阵的储存参数的步骤之前,所述方法包括:
对预设的储存区域进行初始化,基于预设的空间大小,对所述储存区域进行分割,得到储存格;
对所述储存格进行汇总整理,得到每个所述储存格的储存参数;
基于所述储存参数,得到储存矩阵。
5.如权利要求1所述的数据的读写方法,其特征在于,所述基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数的步骤,还包括:
基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵;
对所述标记数据矩阵进行位置分析,确定所述标记数据矩阵的位置信息;
基于所述位置信息,得到所述标记数据矩阵的储存参数。
6.如权利要求5所述的数据的读写方法,其特征在于,所述基于所述请求信息,对所述原数据矩阵进行筛选,并对筛选后的数据进行分割,得到所述用户需求的标记数据矩阵的步骤,包括:
基于所述请求信息,从所述原数据矩阵中确定所述用户的需求数据;
对所述需求数据进行矩阵化分割,并进行标记,得到标记数据矩阵。
7.一种数据的读写装置,其特征在于,所述数据的读写装置包括:
确定模块,用于获取用户需求的原数据矩阵,并确定所述用户的请求信息;
处理模块,用于基于所述请求信息,对所述原数据矩阵进行处理,得到所述用户需求的原数据矩阵的每个分割数据矩阵,并得到所述分割数据矩阵的储存参数;
提取模块,用于从所述储存参数中提取所述分割数据矩阵对应的坐标位置;
确定子模块,用于基于所述请求信息,确定所述用户数据传输时选用的DMA;
适配模块,用于基于预设的注册函数,对所述DMA进行适配,得到驱动接口;
操作模块,用于基于所述驱动接口和所述坐标位置,对所述分割数据矩阵进行操作;
其中,通过注册函数适配多种DMA或处理器,或适配同种处理器的不同版本的驱动接口,或适配同种DMA的不同版本的驱动接口。
8.一种数据的读写设备,其特征在于,所述数据的读写设备包括:存储器、处理器以及存储在存储器上的用于实现所述数据的读写方法的程序,
所述存储器用于存储实现数据的读写方法的程序:
所述处理器用于执行实现所述数据的读写方法的程序,以实现如权利要求1至6中任一项所述数据的读写方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有实现数据的读写方法的程序,所述实现数据的读写方法的程序被处理器执行以实现如权利要求1至6中任一项所述数据的读写方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211154502.0A CN115248664B (zh) | 2022-09-22 | 2022-09-22 | 数据的读写方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211154502.0A CN115248664B (zh) | 2022-09-22 | 2022-09-22 | 数据的读写方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115248664A CN115248664A (zh) | 2022-10-28 |
CN115248664B true CN115248664B (zh) | 2023-01-10 |
Family
ID=83699389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211154502.0A Active CN115248664B (zh) | 2022-09-22 | 2022-09-22 | 数据的读写方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115248664B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103760525A (zh) * | 2014-01-06 | 2014-04-30 | 合肥工业大学 | 一种补齐式原地矩阵转置方法 |
CN106933756A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 用于可变矩阵的dma快速转置方法及装置 |
CN111176582A (zh) * | 2019-12-31 | 2020-05-19 | 北京百度网讯科技有限公司 | 矩阵存储方法、矩阵访问方法、装置和电子设备 |
CN114780037A (zh) * | 2022-04-26 | 2022-07-22 | 上海物骐微电子有限公司 | 数据处理方法、数据处理系统及计算机可读取存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058301B2 (en) * | 2009-06-16 | 2015-06-16 | International Business Machines Corporation | Efficient transfer of matrices for matrix based operations |
CN110377876A (zh) * | 2019-07-19 | 2019-10-25 | 广东省新一代通信与网络创新研究院 | 矩阵乘法运算方法、装置及计算机可读存储介质 |
CN110390075B (zh) * | 2019-07-19 | 2023-09-05 | 广东省新一代通信与网络创新研究院 | 矩阵预处理方法、装置、终端及可读存储介质 |
CN114341825A (zh) * | 2019-08-29 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 用于在神经网络中提供向量稀疏化的方法及系统 |
-
2022
- 2022-09-22 CN CN202211154502.0A patent/CN115248664B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103760525A (zh) * | 2014-01-06 | 2014-04-30 | 合肥工业大学 | 一种补齐式原地矩阵转置方法 |
CN106933756A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 用于可变矩阵的dma快速转置方法及装置 |
CN111176582A (zh) * | 2019-12-31 | 2020-05-19 | 北京百度网讯科技有限公司 | 矩阵存储方法、矩阵访问方法、装置和电子设备 |
CN114780037A (zh) * | 2022-04-26 | 2022-07-22 | 上海物骐微电子有限公司 | 数据处理方法、数据处理系统及计算机可读取存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115248664A (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110968585B (zh) | 面向列的存储方法、装置、设备及计算机可读存储介质 | |
CN110968509B (zh) | 一种批量化自定义变量的方法和系统 | |
CN113127125B (zh) | 页面自动适配方法、装置、设备及存储介质 | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
CN110737594A (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN108460161B (zh) | 分层抽样方法、装置和计算机设备 | |
CN111367976A (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN115248664B (zh) | 数据的读写方法、装置、设备及存储介质 | |
CN116188627B (zh) | 一种测井曲线数字化方法及装置 | |
CN111695330A (zh) | 生成表格的方法、装置、电子设备及计算机可读存储介质 | |
CN111523174A (zh) | 船体图纸中开孔的自动绘制方法、系统、设备和存储介质 | |
CN113934875B (zh) | 电泳数据识别方法、系统、计算机存储介质及电子设备 | |
CN115935917A (zh) | 一种可视化图表的数据处理方法、装置、设备及存储介质 | |
CN113268507B (zh) | 数据库的数据读取系统及方法、装置、电子设备 | |
CN113722623A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111142965A (zh) | 语言配置方法、装置、电子设备及存储介质 | |
CN110866005A (zh) | 一种物联网数据采集管理方法及系统、存储介质及终端 | |
CN110674119A (zh) | 数据处理方法、系统与计算机可读存储介质 | |
CN111046012B (zh) | 巡检日志的抽取方法、装置、存储介质和电子设备 | |
CN111708592B (zh) | 一种节目组件显示方法及装置 | |
CN107729013B (zh) | 管理网页上操作按钮的方法和计算机可读存储介质 | |
CN114185890B (zh) | 一种数据库检索方法、装置、存储介质及电子设备 | |
CN115934669A (zh) | 一种三维瓦片存储与分发方法及装置 | |
CN117176876A (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 |