CN117075818A - 一种数据页读写控制方法、装置、设备及介质 - Google Patents
一种数据页读写控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117075818A CN117075818A CN202311118904.XA CN202311118904A CN117075818A CN 117075818 A CN117075818 A CN 117075818A CN 202311118904 A CN202311118904 A CN 202311118904A CN 117075818 A CN117075818 A CN 117075818A
- Authority
- CN
- China
- Prior art keywords
- data page
- array
- sequence
- data
- read
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000015654 memory Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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/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
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
技术领域
本发明涉及数据页读写控制技术领域,具体涉及一种数据页读写控制方法、装置、设备及介质。
背景技术
当前,数据存放在磁盘中的物理形式可以数据页的方式存在。随着云计算、物联网、AI等技术的飞速发展,对数据页读写速度的要求也不断提高。
具体的,相关技术在进行某轮数据页读写时,会先将本轮数据页写入至中间介质,在本轮数据页全部写入完成后,才能从中间介质中读取出本轮数据页,并且在本轮数据页全部读取完成后才能进行下一轮的数据页读写。
但是,当每轮要写入的数据页数量较多时,相关技术的数据页读写效率较低。
发明内容
有鉴于此,本发明提供了一种数据页读写控制方法、装置、设备及介质,以解决相关技术的数据页读写效率较低的问题。
第一方面,本发明提供了一种数据页读写控制方法,应用于数据页读写控制装置,装置中包括第一数组和第二数组,第一数组和第二数组的容量大小相同;方法包括:
在检测到第一数组中存储满数据页时,按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第二数组中写入数据页;其中,第二速率与第一速率相同;
在检测到第二数组中存储满数据页时,按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第一数组中写入数据页。
在一种可选的实施方式中,在检测到第一数组中存储满数据页之前,方法还包括;
响应于第一读写任务的处理指令,确定与第一读写任务对应的第一数据页序列;
按照第二速率,将第一数据页序列中的数据页依次写入第一数组中;以及,确定与第一读写任务对应的第二数据页序列。
在一种可选的实施方式中,响应于第一读写任务的处理指令,确定与第一读写任务对应的第一数据页序列,包括:
响应于第一读写任务的处理指令,获取与第一读写任务对应的目标数据页地址指针序列;
根据容量大小,从目标数据页地址指针序列中顺序挑选出相应数量的数据页地址指针,得到相应的第一子序列和第一挑选后序列;
获取与第一子序列对应的数据页序列,并确定为第一数据页序列。
在一种可选的实施方式中,确定与第一读写任务对应的第二数据页序列,包括:
根据容量大小,从第一挑选后序列中顺序挑选出相应数量的数据页地址指针,得到相应的第二子序列和第二挑选后序列;
获取与第二子序列对应的数据页序列,并确定为第二数据页序列;
按照第二速率在第二数组中写入数据页,包括:
按照第二速率,将第二数据页序列中的数据页依次写入第二数组中。
在一种可选的实施方式中,按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,包括:
按照第一速率顺序读取第一数组中的数据页,得到相应的数据页地址指针序列;
按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,包括:
按照第一速率顺序读取第二数组中的数据页,得到相应的数据页地址指针序列。
在一种可选的实施方式中,在按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列之后,方法还包括:
将得到的数据页地址指针序列发送至目标模块;其中,目标模块为与第一读写任务对应的下游模块;
在按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列之后,将得到的数据页地址指针序列发送至目标模块。
在一种可选的实施方式中,在按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列之后,方法还包括:
清空第一数组中的数据页;
在按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列之后,清空第二数组中的数据页。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的数据页读写控制方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的数据页读写控制方法。
本发明提出的数据页读写控制方法、装置、设备及介质,可以在检测到第一数组中存储满数据页时,按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第二数组中写入数据页;其中,第二速率与第一速率相同;在检测到第二数组中存储满数据页时,按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第一数组中写入数据页。本发明可以在读完一个数组中的数据页时,刚好在另一个数组中写满数据页,并且可以在一个数组中写满数据页时,刚好读完另一个数组中数据页,有效提高数据页读写的连续性,减少数据页读写的等待时长,从而有效提高数据页读写效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据页读写控制方法的流程示意图之一;
图2是根据本发明实施例的数据页读写控制方法的流程示意图之二;
图3是根据本发明实施例的数据页读取顺序的示意图;
图4是根据本发明实施例的数据页读写控制装置的结构示意图之一;
图5是根据本发明实施例的数据页读写控制装置的结构示意图之二;
图6是根据本发明实施例的数据页读写控制方法的流程示意图之三;
图7是根据本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,相关技术在进行某轮数据页读写时,是按照同一个配置信息进行数据页读写。具体的,相关技术在进行某轮数据页读写时,会先行根据配置信息将本轮数据页写入至中间介质,在本轮数据页全部写入完成后,才能根据该配置信息从中间介质中读取出本轮数据页,并且在本轮数据页全部读取完成后才能根据配置信息进行下一轮的数据页读写。其中,如果在一轮数据页读写过程中,根据该配置信息同时进行数据页的写入和读取,则可能导致配置信息发生变化,从而导致读写错误。
但是,当每轮要写入的数据页数量较多时,相关技术的数据页读写效率较低。
本发明实施例提出一种数据页读写控制方法,可以有效提高数据页读写效率。
根据本发明实施例,提供了一种数据页读写控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,本发明实施例提出第一种数据页读写控制方法,该方法可以应用于数据页读写控制装置,该装置中包括第一数组和第二数组,第一数组和第二数组的容量大小相同。该方法可以包括以下步骤:
S101、在检测到第一数组中存储满数据页时,按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第二数组中写入数据页。其中,第二速率与第一速率相同。
其中,第一数组和第二数组可以用于存储数据页。第一数组和第二数组中的数据页容量大小相同。
其中,第一速率即为数据页读取速率。具体的,第一速率可以为单位时间内的数据页读取数量,比如每毫秒读取10个数据页。
其中,第二速率即为数据页写入速率。具体的,第二速率可以为单位时间内的数据页写入数量,比如每毫秒写入10个数据页。
需要说明的是,第一速率与第二速率可以由系统配置决定,本实施例对于第一速率与第二速率的具体大小不作限定。
具体的,本实施例可以在启动某个数据页读写任务时,开始往第一数组中写入该读写任务对应的数据页,并检测第一数组的状态。在检测到第一数组中存储满数据页时,本实施例可以按照第一速率读取出第一数组中的数据页,同时按照第二速率在第二数组中继续写入该读写任务对应的剩余数据页。
需要说明的是,本实施例往一个数组中写入某个数据页,可以视为将该数据页移动并存储至该数组中。本实施例读取某个数组中的数据页,可以视为将该数组中存储的数据页全部提取出,之后从提取出的每个数据页中获取数据页地址指针。可以理解的是,本实施例在读取完某个数组中的数据页后,该数组中存储的数据页数量为0。
具体的,数据页中可以包括有两个数据页地址指针,该两个数据页地址指针分别用于引用与该数据页相邻的上一数据页和下一数据页。本实施例在读取某个数组中的每个数据页时,可以得到该每个数据页中的数据页地址指针。
其中,数据页地址指针序列包括按照读取次序排列的多个数据页地址指针。比如,当第一数组中包括两个数据页时,本实施例读取第一数组中的第一个数据页时,可以依次得到第一数据页地址指针和第二数据页地址指针,读取第二个数据页时,可以依次得到第三数据页地址指针和第四数据页地址指针,此时本实施例得到的数据页地址指针序列即为{第一数据页地址指针,第二数据页地址指针,第三数据页地址指针,第四数据页地址指针}。
需要说明的是,由于第一数组和第二数组的数据页容量大小相同,且第一速率和第二速率相同,因此本实施例可以在读取完第一数组中的数据页时,刚好在第二数组中写满数据页。
S102、在检测到第二数组中存储满数据页时,按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第一数组中写入数据页。
具体的,本实施例可以在开始往第二数组中写入数据页时,检测第二数组的状态。在检测到第二数组中存储满数据页时,按照第一速率读取出第二数组中的数据页,同时按照第二速率在第一数组中写入数据页。
需要说明的是,由于第一数组和第二数组的数据页容量大小相同,且第一速率和第二速率相同,因此本实施例可以在读取完第二数组中的数据页时,刚好在第一数组中写满数据页。
具体的,本实施例可以在再次检测到第一数组中存储数据页时,继续按照第一速率读取第一数组中的数据页,以及按照第二速率在第二数组中写入数据页,即继续执行上述步骤S101。
可以理解的是,本实施例可以通过设置数据页容量大小相同的第一数组和第二数组,以及设置大小相同的第一速率和第二速率,以及通过执行步骤S101和S102,可以在读完一个数组中的数据页时,刚好在另一个数组中写满数据页,并且可以在一个数组中写满数据页时,刚好读完另一个数组中数据页,提高数据页读写的连续性,减少数据页读写的等待时长,实现数据页读写的无缝缓冲,从而有效提高数据页读写效率。
具体的,本实施例在进行多轮的数据页读写过程中,可以将数据页先行写入至第一数组,在检测到第一数组存储满数据页后,即读取第一数组中的数据页并同时在第二数组中写入数据页,并在检测到第二数组存储满数据页后,即读取第二数组中的数据页并同时在第一数组中写入数据页,直至完成全部数据页的数据页读写。此时,本实施例在进行多轮的数据页读写过程中,可以减少数据页读写过程中的非必要等待时长,提高数据页读写效率。
本实施例提出的数据页读写控制方法,可以应用于数据页读写控制装置,该装置中包括第一数组和第二数组,第一数组和第二数组的容量大小相同。本实施例可以在检测到第一数组中存储满数据页时,按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第二数组中写入数据页。其中,第二速率与第一速率相同。在检测到第二数组中存储满数据页时,按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第一数组中写入数据页。本实施例可以在读完一个数组中的数据页时,刚好在另一个数组中写满数据页,并且可以在一个数组中写满数据页时,刚好读完另一个数组中数据页,有效提高数据页读写的连续性,减少数据页读写的等待时长,从而有效提高数据页读写效率。
基于图1,如图2所示,本发明实施例提出第二种数据页读写控制方法。该方法在检测到第一数组中存储满数据页之前,还包括步骤S201和S202。其中:
S201、响应于第一读写任务的处理指令,确定与第一读写任务对应的第一数据页序列。
其中,第一读写任务可以为某个数据页读写任务。
其中,第一数据页序列可以包括按照一定顺序排列的多个数据页。
S202、按照第二速率,将第一数据页序列中的数据页依次写入第一数组中。以及,确定与第一读写任务对应的第二数据页序列。
具体的,本实施例可以将第一数据页序列中的数据页依次写入到第一数组中。比如,当第一数据页序列为{第一数据页,第二数据页,第三数据页,第四数据页},本实施例可以将第一数据页、第二数据页、第三数据页和第四数据页依次写入到第一数组中。
具体的,本实施例在将数据页序列中的数据页写入数组时,也是将数据页序列中数据页顺序写入数组中。比如,当第一数据页序列包括n个数据页,第一数组中包括第1、2……n个存储空间,每个存储空间均可以用于保存一个数据页,本实施例在将第一数据页序列中的数据页写入第一数组时,可以将n个数据页依次写入到第1、2……n个存储空间,即将第一数据页序列中的第一个数据页写入到第1个存储空间,将第二个数据页写入到第2个存储空间,直至将第n个数据页写入到第n个存储空间。
需要说明的是,本实施例可以在将第一数据页序列中的数据页写入第一数组时,同时获取与第一读写任务对应的第二数据页序列,之后将第二数据页序列中的数据页写入到第二数组中,并同时获取与第一读写任务对应的第三数据页序列。在第一数组中的数据页被读取完后,将第三数据页序列中的数据页写入第一数组,同时获取与第一读写任务对应的第四数据页序列。在第二数组中的数据页被读取完后,将第四数据页序列中的数据页写入到第二数组中。直至将第一读写任务对应的所有数据页都写入到数组中,完成对第一读写任务的数据页读写,提高对第一读写任务的数据页读写效率和任务执行效率。
可选的,在本实施例提出的其他数据页读写方法中,上述步骤S201可以包括S2011、S2012和S2013,其中:
S2011、响应于第一读写任务的处理指令,获取与第一读写任务对应的目标数据页地址指针序列。
具体的,本实施例可以在接收到第一读写任务的处理指令时,通过总线获取与第一读写任务对应的目标数据页地址指针序列。
S2012、根据容量大小,从目标数据页地址指针序列中顺序挑选出相应数量的数据页地址指针,得到相应的第一子序列和第一挑选后序列。
其中,第一子序列即为按照挑选次序对挑选出的数据页地址指针进行排列而得到的序列。
其中,第一挑选后序列即为从目标数据页地址指针序列中挑选出相应数量的数据页地址指针后,由剩下的数据页地址指针组成的数据页地址指针序列。
具体的,本实施例可以在获取到目标数据页地址指针序列后,从目标数据页地址指针序列中挑选出前N个数据页地址指针,并确定为相应的第一子序列。其中,N与上述容量大小相等。
S2013、获取与第一子序列对应的数据页序列,并确定为第一数据页序列。
具体的,本实施例可以分别根据第一子序列中每个数据页地址指针,获取相应的数据页,并通过将按照得到的先后次序依次排列数据页,来得到第一数据页序列。
可选的,上述确定与第一读写任务对应的第二数据页序列,包括:
根据容量大小,从第一挑选后序列中顺序挑选出相应数量的数据页地址指针,得到相应的第二子序列和第二挑选后序列。
获取与第二子序列对应的数据页序列,并确定为第二数据页序列。
上述按照第二速率在第二数组中写入数据页,包括:
按照第二速率,将第二数据页序列中的数据页依次写入第二数组中。
其中,第二子序列即为按照挑选次序对挑选出的数据页地址指针进行排列而得到的序列。
其中,第二挑选后序列即为从第一挑选后序列中挑选出相应数量的数据页地址指针后,由剩下的数据页地址指针组成的数据页地址指针序列。
具体的,本发明实施例可以分别根据第一子序列中每个数据页地址指针,获取相应的数据页,并按照得到的先后次序依次排列数据页,得到第二数据页序列。
具体的,本发明实施例可以在得到第二数据页序列之后,将第二数据页序列中的数据页写入第二数组中。
之后,本发明实施例可以参照第二数据页序列的得到过程,得到第三数据页序列和第四数据页序列等后续数据页序列,并将得到的数据页写入到空闲数组中,比如在第一数组中的数据页被读取完后,将第三数据页序列中的数据页写入到第一数组中,在第二数组中的数据页被读取完后,将第四数据页序列中的数据页写入到第二数组中……直至完成对第一读写任务的数据页读写。
可选的,上述按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,包括:
按照第一速率顺序读取第一数组中的数据页,得到相应的数据页地址指针序列。
上述按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,包括:
按照第一速率顺序读取第二数组中的数据页,得到相应的数据页地址指针序列。
需要说明的是,本实施例可以顺序读取数组中的数据页。如图3所示的顺序读取流程示意图,第一数组中的数据页存储顺序为数据页0、数据页1、数据页2……数据页n,则本实施例可以顺序读取出数据页0、数据页1、数据页2……数据页n中的数据页地址指针01、02、11、12、21、22……n1和n2,每个数据页均可以得到2个数据页地址指针,从而得到第一数据页地址指针序列{01,02,11,12,21,22,……,n1,n2}。
可选的,在上述按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列之后,上述方法还包括:
将得到的数据页地址指针序列发送至目标模块。其中,目标模块为与第一读写任务对应的下游模块。
在按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列之后,将得到的数据页地址指针序列发送至目标模块。
具体的,本实施例在顺序读取第一数组和第二数组中的数据页时,可以在从读取得到数据页地址指针序列后,将其发送至相应的下游模块,使得下游模块可以根据数据页地址指针序列获取到相应的数据页。此时,目标模块可以根据接收到的数据页地址指针序列,获取到相应的数据页序列即具有准确顺序的多个数据页。
需要说明的是,当第一读写任务对应的数据页数量不能整除N(N与上述容量大小相同)时,与第一读写任务对应的最后一个数据页序列所包括的数据页数量小于N,此时该最后一个数据页序列中的数据页不能写满数组。此时,本实施例可以等待一定时长,直至可以将其他读写任务对应的数据页写入到数组中以写满数组,再对该数组中的数据页进行读取,但当等待时长超过预设阈值时,本实施例可以无需再等待,而直接对该数组中的数据页进行读取,避免超时等待,有效保障数据页读写效率。
本实施例提出的数据页读写控制方法,可以完成对第一读写任务的数据页读写,有效提高对第一读写任务的数据页读写效率和任务执行效率。
基于图1所示方法,本发明实施例提出第三种数据页读写控制方法,该方法在上述按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列之后,还可以包括:
清空第一数组中的数据页。
在按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列之后,清空第二数组中的数据页。
具体的,本实施例可以在读取完第一数组中的数据页后,清空第一数组中的数据页。本实施例还可以在读取完第一数组中的数据页后,清空第一数组中的数据页。
需要说明的是,本实施例在从数组中读取某个数据页时,即是取走该数据页,在读取完数组中的数据页后,为进一步保障数组中不再存储数据页,本实施例会对数组再执行清空操作,有效避免第一读写任务的后续数据读写流程出错。
本实施例提出的数据页读写控制方法,可以在读取完数组中的数据页后,对数组执行清空操作,有效避免第一读写任务的后续数据读写流程出错。
在本实施例中还提供了一种数据页读写控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
与图1所示方法相对应,如图4所示,本发明实施例提出第一种数据页读写控制装置,该装置包括第一读写模块401、第二读写模块402、第一数组和第二数组,第一数组和第二数组的容量大小相同。其中:
第一读写模块401,用于在检测到第一数组中存储满数据页时,按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第二数组中写入数据页。其中,第二速率与第一速率相同。
第二读写模块402,用于在检测到第二数组中存储满数据页时,按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第一数组中写入数据页。
可选的,上述装置还包括:第一确定模块和第一处理模块。
第一确定模块,用于响应于第一读写任务的处理指令,确定与第一读写任务对应的第一数据页序列。
第一处理模块,用于按照第二速率,将第一数据页序列中的数据页依次写入第一数组中;以及,确定与第一读写任务对应的第二数据页序列。
可选的,第一确定模块还用于响应于第一读写任务的处理指令,获取与第一读写任务对应的目标数据页地址指针序列。
第一确定模块还用于根据容量大小,从目标数据页地址指针序列中顺序挑选出相应数量的数据页地址指针,得到相应的第一子序列和第一挑选后序列。
第一确定模块还用于获取与第一子序列对应的数据页序列,并确定为第一数据页序列。
可选的,第一处理模块还用于根据容量大小,从第一挑选后序列中顺序挑选出相应数量的数据页地址指针,得到相应的第二子序列和第二挑选后序列。
第一处理模块还用于获取与第二子序列对应的数据页序列,并确定为第二数据页序列。
可选的,第一读写模块401还用于按照第二速率,将第二数据页序列中的数据页依次写入第二数组中。
可选的,第一读写模块401还用于按照第一速率顺序读取第一数组中的数据页,得到相应的数据页地址指针序列。
可选的,第二读写模块402还用于按照第一速率顺序读取第二数组中的数据页,得到相应的数据页地址指针序列。
可选的,上述装置还包括:发送模块。
发送模块,用于在按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列之后,将得到的数据页地址指针序列发送至目标模块。其中,目标模块为与第一读写任务对应的下游模块。
发送模块,还用于在按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列之后,将得到的数据页地址指针序列发送至目标模块。
可选的,上述装置还包括:清空模块。
清空模块,用于在按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列之后,清空第一数组中的数据页。
清空模块,还在按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列之后,清空第二数组中的数据页。
本实施例提出的数据页读写装置,可以包括第一数组和第二数组,第一数组和第二数组的容量大小相同。本实施例可以在检测到第一数组中存储满数据页时,按照第一速率读取第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第二数组中写入数据页。其中,第二速率与第一速率相同。在检测到第二数组中存储满数据页时,按照第一速率读取第二数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在第一数组中写入数据页。本实施例可以在读完一个数组中的数据页时,刚好在另一个数组中写满数据页,并且可以在一个数组中写满数据页时,刚好读完另一个数组中数据页,减少数据页读写过程中的非必要等待时长,提高数据页读写的连续性,从而有效提高数据页读写效率。
如图5所示,本发明实施例提出第二种数据页读写控制装置。该装置可以包括:写控制模块、输入控制模块、分配模块、输出控制模块和读控制模块,分配模块中包括第一数组和第二数组,第一数组和第二数组的数据页容量大小为N个,写控制模块中存储有写配置信息,读控制模块中存储有读配置信息。
其中,写控制模块可以按照写配置信息中定义的写速率,向输入控制模块发送与目标读写任务对应的一个数据页序列,输入控制模块可以在接收到数据页序列后,将数据页序列中的数据页顺序写入至第一数组中。输出控制模块可以在检测到第一数组存储满数据页时,将第一数组中的数据页提取并发送至读控制模块,由读控制模块按照读配置信息中定义的读速率进行读取,得到相应的数据页地址指针序列并发送至下游模块。
其中,写控制模块可以在向输入控制模块发送一组数据页后,继续发送与目标读写任务对应的下一组数据页,输入控制模块可以在接收到数据页序列后,将数据页序列中的数据页顺序写入至第二数组中。输出控制模块可以在检测到第二数组存储满数据页时,将第二数组中的数据页提取并发送至读控制模块,由读控制模块按照上述读速率进行读取,得到相应的数据页地址指针序列并发送至下游模块。
其中,写控制模块可以在发送一组数据页的同时,获取下一组数据页,这样可以使得在发送完一组数据页时即已获取好下一组数据页,减少等待时长,提高数据页写入的连续性。
需要说明的是,每个数据页序列均包括N个数据页,上述写速率和读速率相同。且输入控制模块和输出控制模块的数据页发送时间较短,可以视为无延时。因此,在读控制模块读取完第一数组中的数据页时,写控制模块刚好可以在第二数组中写满数据页。
具体的,写控制模块可以通过输入控制模块,反复将第一数组和第二数组写满数据页,即先在第一数组中写满数据页,之后在第二数组中写满数据页,之后再在第一数组中写满数据页,依次循环,直至写入完与目标读写任务对应的所有数据页序列。其中,读控制模块可以通过输出控制模块对存储满数据页的数组中的数据页进行读取。其中,读控制模块可以在写控制模块将一个数组写满数据页时,刚好读取完另一个数组中的数据页。此时,本实施例可以实现写控制模块和读控制模块之间的无缝缓冲,使得数据页的写入和读取均无间断的进行,有效避免写控制模块和读控制模块处于闲置状态,提高数据页读写效率。
需要说明的是,读控制模块可以在读取完某个数组中的数据页后,将得到的数据页地址指针序列发送至相应的下游模块,同时向分配模块发送第一指令,以指示分配模块清除该数组中的数据页,保障该数组在被读取完数据页后不再存储有数据页。
基于图5,如图6所示,本发明实施例提出数据页读写控制方法的流程示意图,以更好的对数据页读写控制方法的流程进行介绍。
图6包括四轮数据页读写流程,第一轮数据页读写包括:
步骤11、写控制模块读取地址指针,获取相应的一个数据页序列。
步骤12、写控制模块通过输入控制模块,将数据页序列写入至第一数组。
步骤13、读控制模块通过输出控制模块读取第一数组中的数据页,得到相应的数据页地址指针序列。
步骤14、读控制模块将数据页地址指针序列发送至下游模块。
步骤15、读控制模块指示分配模块清空第一数组中的数据页。
第二轮数据页读写包括:
步骤21、写控制模块读取地址指针,获取相应的一个数据页序列。
步骤22、写控制模块通过输入控制模块,将数据页序列写入至第二数组。
步骤23、读控制模块通过输出控制模块读取第二数组中的数据页,得到相应的数据页地址指针序列。
步骤24、读控制模块将数据页地址指针序列发送至下游模块。
步骤25、读控制模块指示分配模块清空第二数组中的数据页。
第三轮数据页读写包括:
步骤31、写控制模块读取地址指针,获取相应的一个数据页序列。
步骤32、写控制模块通过输入控制模块,将数据页序列写入至第一数组。
步骤33、读控制模块通过输出控制模块读取第一数组中的数据页,得到相应的数据页地址指针序列。
步骤34、读控制模块将数据页地址指针序列发送至下游模块。
步骤35、读控制模块指示分配模块清空第一数组中的数据页。
第四轮数据页读写包括:
步骤41、写控制模块读取地址指针,获取相应的一个数据页序列。
步骤42、写控制模块通过输入控制模块,将数据页序列写入至第二数组。
步骤43、读控制模块通过输出控制模块读取第二数组中的数据页,得到相应的数据页地址指针序列。
步骤44、读控制模块将数据页地址指针序列发送至下游模块。
步骤45、读控制模块指示分配模块清空第二数组中的数据页。
需要说明的是,写控制模块可以响应于第一读写任务对应的处理指令,通过总线获取相应的数据页地址指针序列。
具体的,写控制模块在每轮数据页读写中,均可以先行从数据页地址指针序列中顺序挑选出相应数量的地址指针,根据该相应数量的地址指针获取相应的一个数据页序列。写控制模块可以在通过输入控制模块,将一个数据页序列写入数组中的同时,获取到下一个数据页序列。
其中,在每轮数据页读写中,写控制模块的写速率和读控制模块的读速率相同,每个数据页序列中的数据页数量均为数组的容量大小均为N。
可以理解的是,如图6所示,部分步骤可以同时进行,比如写控制模块可以在执行步骤S12的同时执行步骤S21。再比如,在T时刻,写控制模块可以在读控制模块执行步骤S13的同时,执行步骤S22。再比如,读控制模块可以在执行步骤S14的同时,执行步骤S23。再比如,在T+1时刻,读控制模块可以在执行步骤S15的同时执行步骤S24,并且写控制模块也可以同步执行步骤S31。再比如,在T+2时刻,写控制模块可以在读控制模块执行步骤33的同时,执行步骤S22。在T+3时刻,读控制模块可以在执行步骤S35的同时,执行步骤S44。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的数据页读写控制装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图4所示的数据页读写控制装置。
请参阅图7,图7是本发明可选实施例提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种数据页读写控制方法,其特征在于,应用于数据页读写控制装置,所述装置中包括第一数组和第二数组,所述第一数组和所述第二数组的容量大小相同;所述方法包括:
在检测到所述第一数组中存储满数据页时,按照第一速率读取所述第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在所述第二数组中写入数据页;其中,所述第二速率与所述第一速率相同;
在检测到所述第二数组中存储满数据页时,按照所述第一速率读取所述第二数组中的数据页以得到相应的数据页地址指针序列,以及按照所述第二速率在所述第一数组中写入数据页。
2.根据权利要求1所述的方法,其特征在于,在检测到所述第一数组中存储满数据页之前,所述方法还包括;
响应于第一读写任务的处理指令,确定与所述第一读写任务对应的第一数据页序列;
按照所述第二速率,将所述第一数据页序列中的数据页依次写入所述第一数组中;以及,确定与所述第一读写任务对应的第二数据页序列。
3.根据权利要求2所述的方法,其特征在于,所述响应于第一读写任务的处理指令,确定与所述第一读写任务对应的第一数据页序列,包括:
响应于第一读写任务的处理指令,获取与所述第一读写任务对应的目标数据页地址指针序列;
根据所述容量大小,从所述目标数据页地址指针序列中顺序挑选出相应数量的数据页地址指针,得到相应的第一子序列和第一挑选后序列;
获取与所述第一子序列对应的数据页序列,并确定为所述第一数据页序列。
4.根据权利要求3所述的方法,其特征在于,所述确定与所述第一读写任务对应的第二数据页序列,包括:
根据所述容量大小,从所述第一挑选后序列中顺序挑选出相应数量的数据页地址指针,得到相应的第二子序列和第二挑选后序列;
获取与所述第二子序列对应的数据页序列,并确定为所述第二数据页序列;
所述按照第二速率在所述第二数组中写入数据页,包括:
按照所述第二速率,将所述第二数据页序列中的数据页依次写入所述第二数组中。
5.根据权利要求4所述的方法,其特征在于,所述按照第一速率读取所述第一数组中的数据页以得到相应的数据页地址指针序列,包括:
按照所述第一速率顺序读取所述第一数组中的数据页,得到相应的数据页地址指针序列;
所述按照所述第一速率读取所述第二数组中的数据页以得到相应的数据页地址指针序列,包括:
按照所述第一速率顺序读取所述第二数组中的数据页,得到相应的数据页地址指针序列。
6.根据权利要求2至5任一所述的方法,其特征在于,在所述按照第一速率读取所述第一数组中的数据页以得到相应的数据页地址指针序列之后,所述方法还包括:
将得到的数据页地址指针序列发送至目标模块;其中,所述目标模块为与所述第一读写任务对应的下游模块;
在按照所述第一速率读取所述第二数组中的数据页以得到相应的数据页地址指针序列之后,将得到的数据页地址指针序列发送至所述目标模块。
7.根据权利要求1至5任一所述的方法,其特征在于,在所述按照第一速率读取所述第一数组中的数据页以得到相应的数据页地址指针序列之后,所述方法还包括:
清空所述第一数组中的数据页;
在按照所述第一速率读取所述第二数组中的数据页以得到相应的数据页地址指针序列之后,清空所述第二数组中的数据页。
8.一种数据页读写控制装置,其特征在于,所述装置包括第一读写模块、第二读写模块、第一数组和第二数组,所述第一数组和所述第二数组的容量大小相同;其中:
所述第一读写模块,用于在检测到所述第一数组中存储满数据页时,按照第一速率读取所述第一数组中的数据页以得到相应的数据页地址指针序列,以及按照第二速率在所述第二数组中写入数据页;其中,所述第二速率与所述第一速率相同;
所述第二读写模块,用于在检测到所述第二数组中存储满数据页时,按照所述第一速率读取所述第二数组中的数据页以得到相应的数据页地址指针序列,以及按照所述第二速率在所述第一数组中写入数据页。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的数据页读写控制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的数据页读写控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311118904.XA CN117075818A (zh) | 2023-08-31 | 2023-08-31 | 一种数据页读写控制方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311118904.XA CN117075818A (zh) | 2023-08-31 | 2023-08-31 | 一种数据页读写控制方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117075818A true CN117075818A (zh) | 2023-11-17 |
Family
ID=88705872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311118904.XA Pending CN117075818A (zh) | 2023-08-31 | 2023-08-31 | 一种数据页读写控制方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117075818A (zh) |
-
2023
- 2023-08-31 CN CN202311118904.XA patent/CN117075818A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870732B (zh) | 从固态存储设备冲刷页面的方法和设备 | |
CN109992205B (zh) | 数据存储的装置、方法及可读存储介质 | |
CN114880259B (zh) | 数据处理方法、装置、系统、电子设备及存储介质 | |
CN111615692A (zh) | 数据搬运方法、计算处理装置、设备及存储介质 | |
US8359425B2 (en) | Memory control device, memory device, and shutdown control method | |
CN114968102B (zh) | 一种数据缓存方法、装置、系统、计算机设备及存储介质 | |
CN117632043B (zh) | Cxl内存模组、控制芯片、数据处理方法、介质和系统 | |
KR20210088707A (ko) | 인터리빙된 호스트 리셋 및 다음 재초기화 동작들 | |
CN112256203B (zh) | Flash存储器的写入方法、装置、设备、介质及系统 | |
CN110515872B (zh) | 直接内存存取方法、装置、专用计算芯片及异构计算系统 | |
CN117075818A (zh) | 一种数据页读写控制方法、装置、设备及介质 | |
CN101939733A (zh) | 外部设备存取装置、其控制方法及系统大规模集成电路 | |
CN116841458A (zh) | 存储器读写控制方法、系统、终端及存储介质 | |
CN115712394A (zh) | 数据读写方法、装置、计算机设备及可读存储介质 | |
CN115794690A (zh) | 一种基于服务器中外接设备的处理方法及装置 | |
CN115641887A (zh) | 闪存管理方法及闪存设备 | |
CN114138688A (zh) | 一种数据读取方法、系统、设备以及介质 | |
CN115827552A (zh) | 计算任务处理方法、装置以及存储介质 | |
CN112767976B (zh) | 平稳闪存写速度的方法、装置、存储介质和计算机设备 | |
US20150243259A1 (en) | Method and apparatus for transferring data in a computer | |
JP4192171B2 (ja) | メモリアクセス方法及びメモリアクセス装置 | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
CN113076070A (zh) | 数据处理方法和装置 | |
US11677902B2 (en) | Data processing method and related product | |
CN115657950B (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 |