CN104899151B - 内存数据读写方法及装置 - Google Patents

内存数据读写方法及装置 Download PDF

Info

Publication number
CN104899151B
CN104899151B CN201510053733.6A CN201510053733A CN104899151B CN 104899151 B CN104899151 B CN 104899151B CN 201510053733 A CN201510053733 A CN 201510053733A CN 104899151 B CN104899151 B CN 104899151B
Authority
CN
China
Prior art keywords
data
memory headroom
write
read
loop configuration
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.)
Expired - Fee Related
Application number
CN201510053733.6A
Other languages
English (en)
Other versions
CN104899151A (zh
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.)
Shanghai Xiaoyi Technology Co Ltd
Original Assignee
Shanghai Xiaoyi 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 Shanghai Xiaoyi Technology Co Ltd filed Critical Shanghai Xiaoyi Technology Co Ltd
Priority to CN201510053733.6A priority Critical patent/CN104899151B/zh
Publication of CN104899151A publication Critical patent/CN104899151A/zh
Application granted granted Critical
Publication of CN104899151B publication Critical patent/CN104899151B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Television Signal Processing For Recording (AREA)

Abstract

本发明是关于内存数据读写方法及装置,用于提高内存空间中数据读写速度。所述方法包括:采用环形结构方式在内存空间中写数据;在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。通过本发明的技术方案能够保证写数据操作不因与读数据操作位置冲突而等待,造成写数据操作延时,提高了内存空间中写数据的速度,避免多个用户端中最慢的读数据的速度成为内存空间中读写数据速度的瓶颈。

Description

内存数据读写方法及装置
技术领域
本发明涉及存储技术领域,尤其涉及内存数据读写方法及装置。
背景技术
在现有技术中,将数据写入内存空间中,多个用户端从内存空间中读数据,写数据的位置先于读数据的位置。多个用户端中各个用户端读数据的速度不同,如果某一用户端读数据速度较慢,则从内存空间头部开始再次写数据时,当写数据的位置到达读数据的位置时,写数据操作进行等待,等到该位置的读数据操作结束后,再进行写数据。
现有技术中缺陷在于,写数据的速度受到多个用户端中最慢的读数据速度的制约,用户端读数据的速度又受到写数据的速度的制约,因此多个用户端中最慢的读数据的速度成为内存空间中读写数据速度的瓶颈。写数据过程造成延时,对于写数据操作的实时性要求较高的应用,如高清录像,是无法容忍的。
发明内容
为克服现有技术中存在的问题,本发明实施例提供内存空间数据读写方法及装置,用于提高内存空间中数据读写速度。
根据本发明实施例的第一方面,提供一种内存数据读写方法,其特征在于,包括:
采用环形结构方式在内存空间中写数据;
在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
在一实施例中,所述采用环形结构方式在内存空间中写数据,可包括:
从内存空间的头部开始写数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部,覆盖之前存储的数据重新写数据。
在一实施例中,所述采用环形结构方式在内存空间中读数据,可包括:
从内存空间的头部开始读数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部开始读数据。
在一实施例中,所述按预设策略将读数据的位置进行跳转,可包括:
将读数据的位置跳转到预设位置;或者
在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,其中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件。
在一实施例中,所述将读数据的位置跳转到预设位置,可包括:
将读数据的位置跳转到所述内存空间的头部;或者
将读数据的位置跳转到当前写数据的位置。
在一实施例中,所述在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,可包括:
当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置。
在一实施例中,所述当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件,可包括:
当前写视频帧的位置与所述第一位置间隔的空间大于最大视频帧所占空间。
根据本发明实施例的第二方面,提供一种内存数据读写装置,包括写模块和读模块;
所述写模块,用于采用环形结构方式在内存空间中写数据;
所述读模块,包括:
判断子模块,用于在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
第一读子模块,用于当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
第二读子模块,用于当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
在一实施例中,所述写模块,用于从内存空间的头部开始写数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部,覆盖之前存储的数据重新写数据。
在一实施例中,所述第二读子模块,用于从内存空间的头部开始读数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部开始读数据。
在一实施例中,所述第一读子模块,包括:
第一跳转单元,用于将读数据的位置跳转到预设位置;或者
第二跳转单元,用于在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,其中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件。
在一实施例中,所述第一跳转单元,用于将读数据的位置跳转到所述内存空间的头部;或者将读数据的位置跳转到当前写数据的位置。
在一实施例中,所述第二跳转单元,用于当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置。
在一实施例中,所述当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件,包括:当前写视频帧的位置与所述第一位置间隔的空间大于最大视频帧所占空间。
根据本发明实施例的第三方面,提供一种内存数据读写装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
采用环形结构方式在内存空间中写数据;
在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
本发明的实施例提供的技术方案可以包括以下有益效果:本发明中采用环形结构方式在内存空间中写数据,当在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;如此,能够保证写数据操作不因与读数据操作位置冲突而等待,提高了内存空间中写数据的速度,避免多个用户端中最慢的读数据的速度成为内存空间中读写数据速度的瓶颈。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种内存数据读写方法的流程图。
图2是根据一示例性实施例一示出的一种内存数据读写方法的流程图。
图3是根据一示例性实施例示出的一种内存数据读写装置的框图。
图4是根据一示例性实施例示出的一种适用于内存数据读写装置的框图。
图5是根据一示例性实施例示出的一种适用于内存数据读写装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种内存数据读写方法的流程图,如图1所示,该内存数据读写方法用于设备,如嵌入式设备中,或者如服务器、个人电脑、平板电脑、手机中,包括以下步骤S101-S104:
在步骤S101中,采用环形结构方式在内存空间中写数据。
在一实施例中,步骤S101可包括:从内存空间的头部开始写数据,当到达内存空间的底部时,跳转到内存空间的头部,覆盖之前存储的数据重新写数据。举例而言,在嵌入式设备中,在内存空间中存储视频帧,每一个视频帧作为一个数据,嵌入式设备在内存空间中写入视频帧,多个用户端可以从内存空间中读写入的视频帧,在用户端的本地设备中播放读的视频帧。在内存空间中开辟存储20秒钟视频帧的内存空间,嵌入式设备从开辟的内存空间的头部开始写视频帧,当写视频帧的位置到达开辟的内存空间的底部时,跳转到开辟的内存空间的头部,覆盖之前存储的视频帧重新进行视频帧写入。
如此,采用环形结构方式进行数据写入,能够节省内存空间,提高对内存空间的利用率。
在步骤S102中,在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值。
在步骤S103中,当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据。
其中,预设空间阈值可以包括:内存空间的1/2或1/4;即写数据到达位置比读数据到达位置超出环形结构方式中1/2圈或3/4圈。预设空间阈值也可以包括:最大视频帧所占内存空间。
举例而言,嵌入式设备在内存空间中写入数据,多个用户端可以在嵌入式设备写入数据后,开始读数据,如上所述,本发明中采用环形结构方式进行数据写入,当写入位置到达内存空间底部时,跳转到内存空间的头部,覆盖之前存储的数据重新进行数据写入。多个用户端读数据的速度不同,有的用户端读数据的速度较慢,当写操作到的内存空间底部,从内存空间头部开始重新写数据后,在按环形结构方式写数据的方向上,写数据的位置接近用户端读数据的位置时,在未来时间内,造成内存空间中某一位置既要被读数据又要被写数据的可能性增大,表示当前读数据的位置已经在危险区域。即当在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间小于预设空间阈值时,表示读数据位置在危险区域。此时,按预设策略进行跳转,在跳转到的位置处开始读数据。
这样,能够为写操作留出足够的空间,保证写操作不被间断,提高了写数据的速度。
在一实施例中,上述按预设策略将读数据的位置进行跳转可包括:将读数据的位置跳转到预设位置。
例如,将读数据的位置跳转到内存空间的头部;或者将读数据的位置跳转到当前写数据的位置。
在一实施例中,上述按预设策略将读数据的位置进行跳转可包括:在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置。
其中,当前写数据的位置与第一位置间隔的空间满足预设间隔空间条件
例如,当在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间小于预设空间阈值时,在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置。其中,当前写数据的位置与第一位置间隔的空间为内存空间1/2或1/4。
举例而言,上述在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置可包括:当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置。
当前写视频帧的位置与第一位置间隔的空间大于最大视频帧所占空间。
如此,在读视频帧时,会发生读数据的指针的跳转,读数据的指针在按环形结构方式写数据的方向上,向前跳转到新的位置,读到比跳转前更新的视频帧,因此,丢掉部分视频帧。在一些应用中,例如家居监控中,如此丢失一些视频帧的结果可以被允许,并且在回放播放时,可以观看到完整的视频。
在步骤S104中,当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
在一实施例中,上述采用环形结构方式在内存空间中读数据可包括:从内存空间的头部开始读数据,当到达内存空间的底部时,跳转到内存空间的头部开始读数据。
举例而言,从开辟的内存空间的头部开始读视频帧,当到达开辟的内存空间的底部时,跳转到开辟的内存空间的头部,开始读视频帧。
本发明的实施例提供的技术方案可以包括以下有益效果:本发明中采用环形结构方式在内存空间中写数据,当在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;如此,能够保证写数据操作不因与读数据操作位置冲突而等待,提高了内存空间中写数据的速度,避免多个用户端中最慢的读数据的速度成为内存空间中读写数据速度的瓶颈。
实施例一
图2是根据一示例性实施例一示出的一种内存数据读写方法的流程图。应用在如下场景:在内存空间中存储视频帧,每一个视频帧作为一个数据,在内存空间中开辟存储20秒钟视频帧的内存空间,嵌入式设备在该开辟的内存空间中写入视频帧,多个用户端从开辟的内存空间中读视频帧,在用户端的本地设备中播放读的视频帧。没有特别说明,以下实施例一中内存空间指开辟的存储20秒钟视频帧的内存空间。如图2所示,该内存数据读写方法用于设备,如嵌入式设备中,包括以下步骤:
在步骤S201中,从内存空间的头部开始写视频帧,当到达内存空间的底部时,跳转到内存空间的头部,覆盖之前存储的视频帧重新写视频帧。
在步骤S202中,在读视频帧时,判断在按环形结构方式写视频帧的方向上,写视频帧的位置与读视频帧的位置间隔的内存空间是否小于最大视频帧所占内存空间。
在步骤S203中,当小于最大视频帧所占内存空间时,在按环形结构方式写视频帧的方向上,将读视频帧的位置向前跳转到第一位置,在跳转到的第一位置处开始读视频帧。
其中,当前写视频帧的位置与第一位置间隔的空间为1/4内存空间。
在步骤S204中,当大于或等于最大视频帧所占内存空间时,从内存空间的头部开始读视频帧,当到达内存空间的底部时,跳转到内存空间的头部开始读视频帧。
本发明的实施例提供的技术方案可以包括以下有益效果:本发明中采用环形结构方式在内存空间中写视频帧,当在按环形结构方式写视频帧的方向上,写视频帧的位置与读视频帧的位置间隔的内存空间小于预设空间阈值时,按预设策略将读视频帧的位置进行跳转,在跳转到的位置处开始读视频帧;如此,能够保证写视频帧操作不因与读视频帧操作位置冲突而等待,提高了内存空间中写视频帧的速度,避免多个用户端中最慢的读视频帧的速度成为内存空间中读写视频帧速度的瓶颈。
图3是根据一示例性实施例示出的一种内存数据读写装置的框图,如图3所示,该内存数据读写装置用于设备,如嵌入式设备中,或者如服务器、个人电脑、平板电脑、手机中,包括:写模块310和读模块320;
写模块310,用于采用环形结构方式在内存空间中写数据;
读模块320,包括:
判断子模块322,用于在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
第一读子模块324,用于当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
第二读子模块326,用于当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
在一实施例中,写模块,用于从内存空间的头部开始写数据,当到达内存空间的底部时,跳转到内存空间的头部,覆盖之前存储的数据重新写数据。
在一实施例中,第二读子模块,用于从内存空间的头部开始读数据,当到达内存空间的底部时,跳转到内存空间的头部开始读数据。
在一实施例中,第一读子模块可包括:
第一跳转单元,用于将读数据的位置跳转到预设位置;或者
第二跳转单元,用于在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,其中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件。
在一实施例中,第一跳转单元,用于将读数据的位置跳转到所述内存空间的头部;或者将读数据的位置跳转到当前写数据的位置。
在一实施例中,第二跳转单元,用于当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置。
在一实施例中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件,可包括:当前写视频帧的位置与第一位置间隔的空间大于最大视频帧所占空间。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明的实施例提供的技术方案可以包括以下有益效果:本发明中采用环形结构方式在内存空间中写数据,当在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;如此,能够保证写数据操作不因与读数据操作位置冲突而等待,提高了内存空间中写数据的速度,避免多个用户端中最慢的读数据的速度成为内存空间中读写数据速度的瓶颈。
参照图4,是根据一示例性实施例示出的一种用于内存数据读写装置1900的框图。例如,装置1900可以被提供为一服务器。参照图4,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理部件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由装置1200的处理器1220执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图5是根据一示例性实施例示出的一种用于内存数据读写装置1200的框图,该装置适用于终端设备。例如,装置1200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置1200可以包括以下一个或多个组件:处理组件1202,存储器1204,电源组件1206,多媒体组件1208,音频组件1210,输入/输出(I/O)的接口1212,传感器组件1214,以及通信组件1216。
处理组件1202通常控制装置1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件1202可以包括一个或多个处理器1220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理部件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。
存储器1204被配置为存储各种类型的数据以支持在设备1200的操作。这些数据的示例包括用于在装置1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1206为装置1200的各种组件提供电力。电源组件1206可以包括电源管理系统,一个或多个电源,及其他与为装置1200生成、管理和分配电力相关联的组件。
多媒体组件1208包括在所述装置1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当设备1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当装置1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。
I/O接口1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1214包括一个或多个传感器,用于为装置1200提供各个方面的状态评估。例如,传感器组件1214可以检测到设备1200的打开/关闭状态,组件的相对定位,例如所述组件为装置1200的显示器和小键盘,传感器组件1214还可以检测装置1200或装置1200一个组件的位置改变,用户与装置1200接触的存在或不存在,装置1200方位或加速/减速和装置1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1216被配置为便于装置1200和其他设备之间有线或无线方式的通信。装置1200可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件1216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件1216还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1200可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由装置1200的处理器1220执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种内存数据读写装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
采用环形结构方式在内存空间中写数据;
在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
该处理器被配置为:从内存空间的头部开始写数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部,覆盖之前存储的数据重新写数据。
该处理器被配置为:从内存空间的头部开始读数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部开始读数据。
该处理器被配置为:将读数据的位置跳转到预设位置;或者在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,其中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件。
该处理器被配置为:将读数据的位置跳转到所述内存空间的头部;或者将读数据的位置跳转到当前写数据的位置。
该处理器被配置为:当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置;其中,当前写视频帧的位置与所述第一位置间隔的空间大于最大视频帧所占空间。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种内存数据读写方法,所述方法包括:
采用环形结构方式在内存空间中写数据;
在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
所述采用环形结构方式在内存空间中写数据,可包括:
从内存空间的头部开始写数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部,覆盖之前存储的数据重新写数据。
所述采用环形结构方式在内存空间中读数据,可包括:
从内存空间的头部开始读数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部开始读数据。
所述按预设策略将读数据的位置进行跳转,可包括:
将读数据的位置跳转到预设位置;或者
在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,其中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件。
所述将读数据的位置跳转到预设位置,可包括:
将读数据的位置跳转到所述内存空间的头部;或者
将读数据的位置跳转到当前写数据的位置。
所述在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,可包括:
当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置。
所述当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件,可包括:
当前写视频帧的位置与所述第一位置间隔的空间大于最大视频帧所占空间。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (15)

1.一种内存数据读写方法,采用环形结构方式在内存空间中写数据,其特征在于,包括:
读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
2.如权利要求1所述的方法,其特征在于,所述采用环形结构方式在内存空间中写数据,包括:
从内存空间的头部开始写数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部,覆盖之前存储的数据重新写数据。
3.如权利要求1所述的方法,其特征在于,所述采用环形结构方式在内存空间中读数据,包括:
从内存空间的头部开始读数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部开始读数据。
4.如权利要求1所述的方法,其特征在于,所述按预设策略将读数据的位置进行跳转,包括:
将读数据的位置跳转到预设位置;或者
在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,其中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件。
5.如权利要求4所述的方法,其特征在于,所述将读数据的位置跳转到预设位置,包括:
将读数据的位置跳转到所述内存空间的头部;或者
将读数据的位置跳转到当前写数据的位置。
6.如权利要求4所述的方法,其特征在于,所述在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,包括:
当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置。
7.如权利要求6所述的方法,其特征在于,所述当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件,包括:
当前写视频帧的位置与所述第一位置间隔的空间大于最大视频帧所占空间。
8.一种内存数据读写装置,包括写模块,所述写模块,用于采用环形结构方式在内存空间中写数据,其特征在于,还包括读模块;
所述读模块,包括:
判断子模块,用于在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
第一读子模块,用于当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
第二读子模块,用于当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
9.如权利要求8所述的装置,其特征在于,所述写模块,用于从内存空间的头部开始写数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部,覆盖之前存储的数据重新写数据。
10.如权利要求8所述的装置,其特征在于,所述第二读子模块,用于从内存空间的头部开始读数据,当到达所述内存空间的底部时,跳转到所述内存空间的头部开始读数据。
11.如权利要求8所述的装置,其特征在于,所述第一读子模块,包括:
第一跳转单元,用于将读数据的位置跳转到预设位置;或者
第二跳转单元,用于在按环形结构方式写数据的方向上,将读数据的位置向前跳转到第一位置,其中,当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件。
12.如权利要求11所述的装置,其特征在于,所述第一跳转单元,用于将读数据的位置跳转到所述内存空间的头部;或者将读数据的位置跳转到当前写数据的位置。
13.如权利要求11所述的装置,其特征在于,所述第二跳转单元,用于当对视频帧进行读写时,在按环形结构方式写视频帧的方向上,将读数据的位置向前跳转到第一位置。
14.如权利要求13所述的装置,其特征在于,所述当前写数据的位置与所述第一位置间隔的空间满足预设间隔空间条件,包括:当前写视频帧的位置与所述第一位置间隔的空间大于最大视频帧所占空间。
15.一种内存数据读写装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
采用环形结构方式在内存空间中写数据;
在读数据时,判断在按环形结构方式写数据的方向上,写数据的位置与读数据的位置间隔的内存空间是否小于预设空间阈值;
当小于预设空间阈值时,按预设策略将读数据的位置进行跳转,在跳转到的位置处开始读数据;
当大于或等于预设空间阈值时,采用环形结构方式在内存空间中读数据。
CN201510053733.6A 2015-02-02 2015-02-02 内存数据读写方法及装置 Expired - Fee Related CN104899151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510053733.6A CN104899151B (zh) 2015-02-02 2015-02-02 内存数据读写方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510053733.6A CN104899151B (zh) 2015-02-02 2015-02-02 内存数据读写方法及装置

Publications (2)

Publication Number Publication Date
CN104899151A CN104899151A (zh) 2015-09-09
CN104899151B true CN104899151B (zh) 2018-01-05

Family

ID=54031826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510053733.6A Expired - Fee Related CN104899151B (zh) 2015-02-02 2015-02-02 内存数据读写方法及装置

Country Status (1)

Country Link
CN (1) CN104899151B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107293316B (zh) * 2016-04-13 2020-01-03 青岛海信电器股份有限公司 一种音频数据处理方法及装置
CN106484817B (zh) * 2016-09-26 2020-06-26 广州致远电子有限公司 一种数据搜索方法及系统
CN109788337B (zh) * 2017-11-15 2021-03-09 浙江宇视科技有限公司 一种对所采集的视频数据进行发送处理的方法及装置
US10482965B1 (en) * 2018-04-30 2019-11-19 Micron Technology, Inc. Memory start voltage management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW477930B (en) * 2000-04-07 2002-03-01 Welkin Technologies Inc Buffer management method and system
JP2004171411A (ja) * 2002-11-21 2004-06-17 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びバッファメモリの管理方法
CN101800867B (zh) * 2010-01-19 2011-09-28 深圳市同洲电子股份有限公司 一种实现环形缓冲区的方法、装置及数字电视接收终端
CN102591815B (zh) * 2011-12-27 2015-07-29 Tcl集团股份有限公司 一种用环形数据缓冲区读写批量数据的方法及装置

Also Published As

Publication number Publication date
CN104899151A (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
CN106028143A (zh) 视频直播方法及装置
CN106804000A (zh) 直播回放方法及装置
CN104731688B (zh) 提示阅读进度的方法及装置
CN107608561A (zh) 触摸屏控制方法及装置
US11545188B2 (en) Video processing method, video playing method, devices and storage medium
CN105487680B (zh) 用于终端截屏的方法、装置及终端
CN104899151B (zh) 内存数据读写方法及装置
CN103984664B (zh) 访问云空间的方法、装置及系统
CN107943347A (zh) 触摸屏控制方法及装置
CN106227419A (zh) 截屏方法及装置
CN107820131A (zh) 分享评论信息的方法及装置
US11756586B2 (en) Method for splicing audio file and computer device
CN104010072A (zh) 电量提示方法及装置
CN104991752A (zh) 控制屏幕旋转的方法及装置
CN106354878A (zh) 页面管理方法及装置
CN104407981B (zh) 内存管理方法和装置
CN107835458A (zh) 多媒体内容的播放方法、装置及电子设备
CN107132983A (zh) 分屏窗口操作方法及装置
CN105187671A (zh) 录音方法及装置
CN105630354A (zh) 应用程序控制方法及装置
CN106527685A (zh) 一种终端应用的控制方法及装置
CN105677215A (zh) 应用控制方法及装置
CN104615327A (zh) 用于游戏过程中的窗口显示方法及装置
CN104765686B (zh) 测试应用程序的方法及装置
CN104391742B (zh) 应用优化方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180105

Termination date: 20210202

CF01 Termination of patent right due to non-payment of annual fee