CN102469357B - 一种用户操作数据的保存方法、***及数字电视接收终端 - Google Patents
一种用户操作数据的保存方法、***及数字电视接收终端 Download PDFInfo
- Publication number
- CN102469357B CN102469357B CN 201010549598 CN201010549598A CN102469357B CN 102469357 B CN102469357 B CN 102469357B CN 201010549598 CN201010549598 CN 201010549598 CN 201010549598 A CN201010549598 A CN 201010549598A CN 102469357 B CN102469357 B CN 102469357B
- Authority
- CN
- China
- Prior art keywords
- data
- user
- cache space
- memory cache
- operating data
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数字电视技术领域,提供了一种用户操作数据的保存方法、***及数字电视接收终端,所述方法包括下述步骤:接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中,从而实现用户操作和闪存擦写之间相互独立,提高用户操作数字电视接收终端的响应速度。
Description
技术领域
本发明属于数字电视技术领域,尤其涉及一种用户操作数据的保存方法、***及数字电视接收终端。
背景技术
在机顶盒的运行过程中,节目切换、节目编辑、节目预定、音量调节以及参数设定等都是用户经常要做的基本操作。这些操作产生的一些数据需要机顶盒实时保存到闪存设备中,使得机顶盒再次上电启动时,能够从闪存设备中读取这些数据内容,从而使得用户的历史操作信息能够被准确记忆,方便了用户对机顶盒的操作。
其中,闪存擦写所遵循的原则是:随机写、块擦除。即:闪存以字节为单位进行写入,在闪存物理空间允许范围内,其写入的字节个数和起始地址不受约束,写入过程所消耗的时间跟待保存数据量的多少基本上成正比关系;闪存以块为单位进行擦除,常见块的大小有64K和128K两种,例如将闪存按照每块64K的空间大小分成若干个块,从闪存的物理首地址开始遍历,找到要擦除块的起始位置,对该块或者其之后的若干个块进行擦除,擦除过程所消耗的时间跟待擦除块的个数基本上成正比关系。
用户在操作机顶盒时,需要对闪存设备进行频繁的写入操作,当数据存储区空间不足时,还需要对其进行按块擦除操作,而闪存的写入和擦除都需要一个时间过程,当用户操作与闪存擦写同时发生时,必然会对机顶盒的响应速度和用户数据的安全性产生一定的影响。
通过对机顶盒发展现状的调研和分析,目前,对于不带文件***的机顶盒方案,在数据保存方面,为了提高对机顶盒的响应速度和用户数据的安全性,对闪存的操作常用的方法主要有两种:
方法一:数据分类写入法,即,按照用户数据写入的频繁程度和数据量的多少,对用户数据进行简单的规类,在闪存中分别划分出不同的区域,用于保存相应类别的用户数据;
方法二:文件***植入法,即,利用文件***的开源代码或者商业购买的渠道为机顶盒移植一个文件***,通过文件***对数据保存机制进行管理和优化。
但是,上述两种方式都存在一定的缺陷,具体为:
方法一:仅限于从类别划分的角度去改善闪存操作与用户操作之间的关系,没有从根本上解决用户操作与闪存擦写之间的时序矛盾,也就无法解决数据保存时机顶盒的响应速度问题;
方法二:现有的文件***开源代码资源非常有限,而且大都不是针对机顶盒进行公开的,设计结构较为复杂,稳定性也较差,需要开发人员耗费较多的精力进行研究分析和移植工作,通过商业途径购买一个成熟的文件***,必然会增加开发成本,将其移植到机顶盒上也需要较大的工作量,而且机顶盒厂家基于生产成本的考虑,在闪存大小的选择方面,都是仅以满足用户需求为目标进行配置,闪存物理空间不是非常宽余,使得文件***的移植受到了限制。
因此,上述两种对闪存的操作方法不能有效的解决机顶盒的响应速度和用户数据的安全性的问题。
发明内容
本发明实施例的目的在于提供一种用户操作数据的保存方法,旨在解决现有技术提供的对闪存的操作常用的方法不能有效的解决机顶盒的响应速度和数据的安全性的问题。
本发明实施例是这样实现的,一种用户操作数据的保存方法,所述方法包括下述步骤:
接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;
将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;
控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;
当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
本发明实施例的另一目的在于提供一种用户操作数据的保存***,所述***包括:
用户操作数据接收模块,用于接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;
缓存模块,用于将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;
监控模块,用于控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;以及
用户操作数据转存模块,用于当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
本发明实施例的另一目的在于提供一种包括用户操作数据的保存***的数字电视接收终端。
在本发明实施例中,接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中,从而实现用户操作和闪存擦写之间相互独立,提高用户操作数字电视接收终端的响应速度。
附图说明
图1是本发明第一实施例提供的用户操作数据的保存方法的实现流程图;
图2是本发明第二实施例提供的用户操作数据的保存方法的实现流程图;
图3是本发明实施例提供的将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中的步骤的实现流程图;
图4是本发明实施例提供的从闪存中读取用户操作数据的方法的实现流程图;
图5是本发明第一实施例提供的用户操作数据的保存***的结构框图;
图6是本发明第二实施例提供的用户操作数据的保存***的结构框图;
图7是本发明实施例提供的缓存模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,将用户操作和闪存的擦写任务分开,实现两者的异步,提高用户操作的响应速度。
本发明实施例的目的在于提供一种用户操作数据的保存方法,所述方法包括下述步骤:
接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;
将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;
控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;
当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
本发明实施例的另一目的在于提供一种用户操作数据的保存***,所述***包括:
用户操作数据接收模块,用于接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;
缓存模块,用于将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;
监控模块,用于控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;以及
用户操作数据转存模块,用于当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
本发明实施例的另一目的在于提供一种包括用户操作数据的保存***的数字电视接收终端。
在本发明实施例中,接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
实施例一
图1示出了本发明实施例提供的用户操作数据的保存方法的实现流程,其具体的步骤如下所述:
在步骤S101中,接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据。
在本发明实施例中,对数字电视接收终端的基本操作包括但不限于节目切换、节目编辑、节目预定、音量调节和参数设定,这些基本操作所产生的数据要实时的保存到闪存中,使得数字电视接收终端下次开机启动时,自动从闪存设备中读取保存的数据,使用户的操作被记忆,方便用户对数字电视接收终端的操作,其中,上述数字电视接收终端包括但不限于机顶盒,机顶盒是一种常见的多媒体设备。
在步骤S102中,将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中。
在本发明实施例中,将接收到的用户操作数据暂时缓存在预先申请的内存缓存空间中,而不是直接写入闪存设备中,将数据写入内存的速度比写入闪存的速度快的多,因此对用户操作的响应速度也很明加快。
下述给出了具体的缓存策略,在此不再赘述,但不用以限制本发明。
在步骤S103中,控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控。
在本发明实施例中,该预先创建的监控操作程序对内存缓存空间进行监控,同时,也对闪存内的数据进行擦除,以便从所述内存缓存空间读取数据时有空余位置可放。
该监控操作程序对内存缓存空间的监控的目的是实时的从该内存缓存空间中取走暂时缓存的用户操作数据。
在步骤S104中,当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
在本发明实施例中,将暂时缓存在内存缓存空间的用户操作数据取走,并转存到闪存中,下有具体的实施例进行描述,在此不再赘述,但不用以限制本发明。
实施例二
作为本发明的一个实施例,可以对暂时缓存在内存缓存空间中的用户操作数据进行优先级的划分,即根据用户操作数据的重要性,可以对其进行优先级划分,高优先级的可以优先被监控操作程序读走,参阅图2,下述给出具体的步骤:
在步骤S201中,预先申请一内存缓存空间和创建一监控操作程序,所述内存缓存空间用于缓存写入闪存中的用户操作数据。
在本发明实施例中,内存缓存空间的物理地址分布是连续的、首地址和尾地址闭合、封闭的环形缓存,即可以理解为首尾相接,同时,所述内存缓存空间还定义两个指针,分别记为数据生产者指针和数据消费者指针,其中,数据生产者指针用于标识用户操作数据在内存缓存空间中允许存放的开始位置,数据消费者指针用于所述监控操作程序在所述内存缓存空间中允许读取用户操作数据开始位置;
所述监控操作程序用于对闪存中的数据进行擦写,同时,对缓存在所述内存缓存空间中的用户操作数据进行读取。
在步骤S202中,接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据。
在步骤S203中,对接收到的用户操作数据进行优先级划分,所述监控操作程序读取缓存在内存缓存空间中的用户操作数据的先后顺序参考所述用户操作数据的优先级。
在本发明实施例中,对用户操作数据按照其重要、紧急程度进行优先级的划分,便于保护用户数据的安全,当将用户操作数据从内存缓存空间中转存到闪存时,数字电视接收终端正常关机或断电的情况时,保证重要数据及时转存到闪存中。
在步骤S204中,将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中。
在步骤S205中,控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控。
在步骤S206中,当检测到所述内存缓存空间中有用户操作数据缓存时,根据内存缓存空间中的用户操作数据的优先级,控制监控操作程序实时的依次将所述用户操作数据取走,转存至闪存中。
在本发明实施例中,扫描内存缓存空间中的各个数据块DB1~DBn所属的优先级,按照其优先级高低顺序,从中抽取一个高优先级的数据块DBm,并将缓存空间中数据块DBm+1~DBn依次向DB1方向移动一个位置,这样,可确保已取走的数据块所占空间,能够被后来的数据块DBn+1使用,通过此方法,在机顶盒内存有限的条件下,充分利用了缓存空间,提高了数据缓存能力。
读取闪存设备中已规划的所有数据块的存储空间起始地址FA1和未尾地址FAn,遍历数据存储空间内所有数据块的信息,找到最后一个数据块所在的起始位置FAm和其长度FLm,并通过标C函数可以得到待写入的数据结构块DBm的长度为sizeof(DBm),当(FAn-FAm-FLm)>=sizeof(DBm)时,则从存储空间的FAm位置开始,将当前数据块DBm,直接写入到闪存中,当(FAn-FAm-FLm)<sizeof(DBm)时,以数据块名称为搜索目标,从高地址FAn到低地址FA1反方向遍历数据存储空间,找到每个数据块在储空间内的位置,并读取到缓存空间中,在遍历过程中,通过比对数据块名称,如果发现缓存中某个数据块已存在,则直接丢弃当前从闪存中获取的数据块。因为,其一,数据块是从低地址FA1到高地址FAn正方向依次进行写入的,因此,闪存中具有相同名称的、处于高地址的数据块始终为最新版本的内容;其二,如果缓存中存在某个数据块还未写入闪存中,则缓存中的数据块即为最新版本的内容,所以,缓存中的数据块始终是最新版本的内容。当所有数据块读取完毕后,将整个闪存空间FA1~FAN进行擦除,擦除完成后,再次将缓存空间中的数据块按照其优先级的高低顺序,从数据存储空间的起始位置FA1到FAn方向依次写入。如此循环下去,便可完成从缓存空间到闪存空间的异步擦写任务。
上述仅为本发明的一个实施例,但不用以限制本发明。
实施例三
图3示出了本发明实施例提供的将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中的步骤的实现流程,其具体的步骤如下所述:
在步骤S301中,对接收到的用户操作数据进行编辑,生成数据块。
在本发明实施例中,对用户操作数据按照约定格式进行编辑,其编辑的原理可以按照下表:
序号 | 名称 | 意义 |
1 | 数据块名称 | 区分要保存的数据块类别 |
2 | 数据块长度 | 标识要写入的数据块长度 |
3 | 数据块内容 | 包含要写入的数据块内容 |
4 | 数据块优先级 | 标示要写入的数据块重要紧急程度 |
当然,在本发明实施例中,第4项可以是优选的方案,即可以不对数据块的优先级进行划分。
在步骤S302中,读取预先申请的内存缓存空间的相关数据,所述内存缓存空间的相关数据包括首地址、尾地址、数据消费者指针位置和数据生产者指针位置。
在本发明实施例中,假设缓存空间的首地址为H、尾地址为T、数据消费者指针位置为C和数据生产者指针位置为P,下述以计算式为例进行说明。
在步骤S303中,判断内存缓存空间的尾地址与数据生产者指针位置的差值是否大于等于数据块的长度,是则执行步骤S304,否则S305。
在本发明实施例中,即判断T-P>=N。
在步骤S304中,当判断内存缓存空间的尾地址与数据生产者指针位置的差值大于等于数据块的长度时,将生成的数据块保存在内存缓存空间中从数据生产者指针位置开始的空间。
在步骤S305中,当判断内存缓存空间的尾地址与数据生产者指针位置的差值小于数据块的长度时,判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和是否大于等于于数据块的长度,是则执行步骤S306,否则执行步骤S309。
在本发明实施例中,当T-P<N时,判断(T-P)+(C-H)>=N,是则执行步骤S306。
在步骤S306中,当判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和大于等于于数据块的长度时,将数据块划分为两部分,将第一部分保存在所述内存缓存空间中从数据生产者指针位置开始的空间,将第二部分保存在内存缓存空间中从首地址开始的位置。
在本发明实施例中在本发明实施例中,对该数据块的划分,可以将位置T和P作为划分依据,由T-P的差值可以确定数据块的第一部分N1=T-P,该数据块的剩余部分即为N2。据此,即从P位置开始,先将数据块的第一部分N1缓存至内存缓存空间中,后将数据块的第二部分N2,从H位置开始,缓存至内存缓存空间。
在步骤S307中,判断数据消费者指针位置与数据生产者指针位置的差值是否大于等于所述数据块的长度,是则执行步骤S308,否则执行步骤S309。
在步骤S308中,当数据消费者指针位置与数据生产者指针位置的差值大于等于所述数据块的长度时,将所述数据块保存在所述内存缓存空间中从数据生产者指针位置开始的空间。
在步骤S309中,等待监控操作程序将述用户操作数据取走。
在本发明实施例中,上述条件都未满足时,应用稍做等待,随着内存缓存空间中的数据块逐步被监控操作程序写入到闪存空间中,C的位置得到调整,上述条件再次得到满足,从而可重复执行上述过程,即返回执行步骤S303。
上述仅为本发明的一个实施例,在此不用以限制本发明。
实施例四
在本发明实施例中,下述给出了从闪存中读取用户操作数据的方法的实现流程,请参阅图4,其具体的步骤如下所述:
在步骤S401中,获取用户操作需要请求的数据块结构DBm的内存存放首地址,并获取待请求数据块DBm的名称。
在步骤S402中,以数据块DBm的名称作为搜索目标,遍历数据存储空间FA1~FAN,每次找到一个与DBm名称相同的数据块,便将当前数据块的内容读取到DBm的内存中。
在本发明实施例中,当整个存储空间遍历完成后,最后一次读取到的数据块内容,便是闪存中所保存的数据块DBm的最新内容,也是用户要查找的内容。
上述仅为根据本发明的技术方案的一种读取用户操作数据的方法,在此不用以限制本发明。
实施例五
图5示出了本发明实施例提供的用户操作数据的保存***的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分,期中,该用户操作数据的保存***可以内置于数字电视接收终端的软件单元、硬件单元或软硬件结合单元。
用户操作数据接收模块11接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;缓存模块12将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;监控模块13控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;用户操作数据转存模块14当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
上述仅为本发明的一个***实施例,其各模块的功能如上述方法实施例所述,在此不再赘述。
实施例六
图6示出了本发明实施例提供的用户操作数据的保存***的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分,期中,该用户操作数据的保存***可以内置于数字电视接收终端的软件单元、硬件单元或软硬件结合单元。
用户操作数据接收模块11接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;缓存模块12将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;监控模块13控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;用户操作数据转存模块14当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
预先设置模块15预先申请一内存缓存空间和创建一监控操作程序,所述内存缓存空间用于缓存写入闪存中的用户操作数据;
所述内存缓存空间的物理地址分布是连续的、首地址和尾地址闭合、封闭的环形缓存,同时,所述内存缓存空间还定义两个指针,分别记为数据生产者指针和数据消费者指针,其中,数据生产者指针用于标识用户操作数据在内存缓存空间中存放的开始位置,数据生产者指针用于所述监控操作程序在所述内存缓存空间中读取用户操作数据开始位置;
所述监控操作程序用于对闪存中的数据进行擦写,同时,对缓存在所述内存缓存空间中的用户操作数据进行读取;
优先级划分模块16对接收到的用户操作数据进行优先级划分,所述监控操作程序读取缓存在内存缓存空间中的用户操作数据的先后顺序参考所述用户操作数据的优先级。
上述仅为本发明的一个***实施例,其各模块的功能如上述方法实施例所述,在此不再赘述。
实施例七
图7示出了本发明实施例提供的缓存模块的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
用户操作数据编辑模块121对接收到的用户操作数据进行编辑,生成数据块;相关数据读取模块122读取预先申请的内存缓存空间的相关数据,所述内存缓存空间的相关数据包括首地址、尾地址、数据消费者指针位置和数据生产者指针位置;第一判断模块123判断内存缓存空间的尾地址与数据生产者指针位置的差值是否大于等于数据块的长度;当所述第一判断模块123判断内存缓存空间的尾地址与数据生产者指针位置的差值大于等于数据块的长度时,第一保存模块124将生成的数据块保存在内存缓存空间中从数据生产者指针位置开始的空间;当所述第一判断模块123判断内存缓存空间的尾地址与数据生产者指针位置的差值小于数据块的长度时,第二判断模块125判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和是否大于等于于数据块的长度;当第二判断模块125判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和大于等于于数据块的长度时,第二保存模块126将数据块划分为两部分,将第一部分保存在所述内存缓存空间中从数据生产者指针位置开始的空间,将第二部分保存在内存缓存空间中从首地址开始的位置;第三判断模块127判断数据消费者指针位置与数据生产者指针位置的差值是否大于等于所述数据块的长度;当所述第三判断模块127判断数据消费者指针位置与数据生产者指针位置的差值大于等于所述数据块的长度时,第三保存模块128将所述数据块保存在所述内存缓存空间中从数据生产者指针位置开始的空间。
上述仅为本发明的一个***实施例,各模块的功能如上述方法实施例所述,在此不再赘述但不用以限制本发明。
在本发明实施例中,接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中,从而实现用户操作和闪存擦写之间相互独立,提高用户操作数字电视接收终端的响应速度。
在本发明实施例中,在数字电视接收终端内存空间和闪存空间都非常有限的条件下,通过本发明提出的用户操作数据的保存方法,利用内存空间作为闪存写入数据块的缓存载体,使得闪存写入过程与用户操作进行异步,为闪存擦写所耗费的时间提供了有力保障,使得用户操作和闪存擦写之间的时序得到了合理控制和协调;同时,通过数据块优先级的划分,优先确保了高优先级的数据写入闪存的安全性和实时快速性,避免了传统上每次写入数据都要擦除闪存所耗费的时间,提高了数据写入的速度,更重要的是确保了用户重要数据的安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种用户操作数据的保存方法,其特征在于,所述方法包括下述步骤:
接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;
将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;
控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;
当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
2.如权利要求1所述的方法,其特征在于,所述接收用户操作数据的步骤之前还包括下述步骤:
预先申请一内存缓存空间和创建一监控操作程序,所述内存缓存空间用于缓存写入闪存中的用户操作数据;
所述内存缓存空间的物理地址分布是连续的、首地址和尾地址闭合、封闭的环形缓存,同时,所述内存缓存空间还定义两个指针,分别记为数据生产者指针和数据消费者指针,其中,数据生产者指针用于标识用户操作数据在内存缓存空间中存放的开始位置,数据生产者指针用于所述监控操作程序在所述内存缓存空间中读取用户操作数据开始位置;
所述监控操作程序用于对闪存中的数据进行擦写,同时,对缓存在所述内存缓存空间中的用户操作数据进行读取。
3.如权利要求2所述的方法,其特征在于,所述接收用户操作数据的步骤之后,所述将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中的步骤之前还包括下述步骤:
对接收到的用户操作数据进行优先级划分,所述监控操作程序读取缓存在内存缓存空间中的用户操作数据的先后顺序参考所述用户操作数据的优先级。
4.如权利要求2所述的方法,其特征在于,所述将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中的步骤具体包括下述步骤:
对接收到的用户操作数据进行编辑,生成数据块;
读取预先申请的内存缓存空间的相关数据,所述内存缓存空间的相关数据包括首地址、尾地址、数据消费者指针位置和数据生产者指针位置;
判断内存缓存空间的尾地址与数据生产者指针位置的差值是否大于等于数据块的长度;
当判断内存缓存空间的尾地址与数据生产者指针位置的差值大于等于数据块的长度时,将生成的数据块保存在内存缓存空间中从数据生产者指针位置开始的空间;
当判断内存缓存空间的尾地址与数据生产者指针位置的差值小于数据块的长度时,判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和是否大于等于数据块的长度;
当判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和大于等于数据块的长度时,将数据块划分为两部分,将第一部分保存在所述内存缓存空间中从数据生产者指针位置开始的空间,将第二部分保存在内存缓存空间中从首地址开始的位置。
5.如权利要求4所述的方法,其特征在于,所述方法还包括下述步骤:
判断数据消费者指针位置与数据生产者指针位置的差值是否大于等于所述数据块的长度;
当数据消费者指针位置与数据生产者指针位置的差值大于等于所述数据块的长度时,将所述数据块保存在所述内存缓存空间中从数据生产者指针位置开始的空间。
6.一种用户操作数据的保存***,其特征在于,所述***包括:
用户操作数据接收模块,用于接收用户操作数据,所述用户操作数据为用户对数字电视接收终端进行基本操作所生成的数据;
缓存模块,用于将接收到的用户操作数据暂时缓存到预先申请的内存缓存空间中;
监控模块,用于控制预先创建的监控操作程序对所述预先申请的内存缓存空间中缓存的用户操作数据进行监控;以及
用户操作数据转存模块,用于当检测到所述内存缓存空间中有用户操作数据缓存时,控制监控操作程序实时的将所述用户操作数据取走,转存至闪存中。
7.如权利要求6所述的***,其特征在于,所述***还包括:
预先设置模块,用于预先申请一内存缓存空间和创建一监控操作程序,所述内存缓存空间用于缓存写入闪存中的用户操作数据;
所述内存缓存空间的物理地址分布是连续的、首地址和尾地址闭合、封闭的环形缓存,同时,所述内存缓存空间还定义两个指针,分别记为数据生产者指针和数据消费者指针,其中,数据生产者指针用于标识用户操作数据在内存缓存空间中存放的开始位置,数据生产者指针用于所述监控操作程序在所述内存缓存空间中读取用户操作数据开始位置;
所述监控操作程序用于对闪存中的数据进行擦写,同时,对缓存在所述内存缓存空间中的用户操作数据进行读取。
8.如权利要求7所述的***,其特征在于,所述***还包括:
优先级划分模块,用于对接收到的用户操作数据进行优先级划分,所述监控操作程序读取缓存在内存缓存空间中的用户操作数据的先后顺序参考所述用户操作数据的优先级。
9.如权利要求7所述的***,其特征在于,所述缓存模块具体包括:
用户操作数据编辑模块,用于对接收到的用户操作数据进行编辑,生成数据块;
相关数据读取模块,用于读取预先申请的内存缓存空间的相关数据,所述内存缓存空间的相关数据包括首地址、尾地址、数据消费者指针位置和数据生产者指针位置;
第一判断模块,用于判断内存缓存空间的尾地址与数据生产者指针位置的差值是否大于等于数据块的长度;
第一保存模块,用于当所述第一判断模块判断内存缓存空间的尾地址与数据生产者指针位置的差值大于等于数据块的长度时,将生成的数据块保存在内存缓存空间中从数据生产者指针位置开始的空间;
第二判断模块,用于当所述第一判断模块判断内存缓存空间的尾地址与数据生产者指针位置的差值小于数据块的长度时,判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和是否大于等于数据块的长度;
第二保存模块,用于当第二判断模块判断内存缓存空间的尾地址与数据生产者指针位置的差值和数据消费者指针位置与所述内存缓存空间的首地址的差值的和大于等于数据块的长度时,将数据块划分为两部分,将第一部分保存在所述内存缓存空间中从数据生产者指针位置开始的空间,将第二部分保存在内存缓存空间中从首地址开始的位置。
10.如权利要求9所述的***,其特征在于,所述缓存模块还包括:
第三判断模块,用于判断数据消费者指针位置与数据生产者指针位置的差值是否大于等于所述数据块的长度;以及
第三保存模块,用于当所述第三判断模块判断数据消费者指针位置与数据生产者指针位置的差值大于等于所述数据块的长度时,将所述数据块保存在所述内存缓存空间中从数据生产者指针位置开始的空间。
11.一种包括权利要求6至10任一项所述的用户操作数据的保存***的数字电视接收终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010549598 CN102469357B (zh) | 2010-11-18 | 2010-11-18 | 一种用户操作数据的保存方法、***及数字电视接收终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010549598 CN102469357B (zh) | 2010-11-18 | 2010-11-18 | 一种用户操作数据的保存方法、***及数字电视接收终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102469357A CN102469357A (zh) | 2012-05-23 |
CN102469357B true CN102469357B (zh) | 2013-09-04 |
Family
ID=46072414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010549598 Active CN102469357B (zh) | 2010-11-18 | 2010-11-18 | 一种用户操作数据的保存方法、***及数字电视接收终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102469357B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461916A (zh) * | 2014-11-19 | 2015-03-25 | 福建新大陆通信科技股份有限公司 | 一种图片节省内存存储的方法及*** |
CN104918069B (zh) * | 2015-05-30 | 2017-09-19 | 广东欧珀移动通信有限公司 | 一种播放场景还原方法、***、播放终端及控制终端 |
CN105828196B (zh) * | 2016-03-09 | 2019-01-15 | 青岛海信电器股份有限公司 | 一种智能电视数据处理方法及装置 |
CN110798734A (zh) * | 2018-08-02 | 2020-02-14 | 广州视源电子科技股份有限公司 | 视频帧的缓存和转发方法、装置和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271383A (zh) * | 2007-02-13 | 2008-09-24 | 三星电子株式会社 | 操作数据处理***的***、方法以及计算机程序产品 |
CN101388110A (zh) * | 2008-10-31 | 2009-03-18 | 深圳市同洲电子股份有限公司 | 数据快速读取方法及装置 |
CN101727395A (zh) * | 2008-10-17 | 2010-06-09 | 深圳市朗科科技股份有限公司 | 闪存设备的管理***、方法及闪存设备 |
CN101796498A (zh) * | 2007-08-17 | 2010-08-04 | 株式会社东芝 | 存储器*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI385516B (zh) * | 2008-08-12 | 2013-02-11 | Phison Electronics Corp | 快閃記憶體儲存系統及其資料寫入方法 |
-
2010
- 2010-11-18 CN CN 201010549598 patent/CN102469357B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271383A (zh) * | 2007-02-13 | 2008-09-24 | 三星电子株式会社 | 操作数据处理***的***、方法以及计算机程序产品 |
CN101796498A (zh) * | 2007-08-17 | 2010-08-04 | 株式会社东芝 | 存储器*** |
CN101727395A (zh) * | 2008-10-17 | 2010-06-09 | 深圳市朗科科技股份有限公司 | 闪存设备的管理***、方法及闪存设备 |
CN101388110A (zh) * | 2008-10-31 | 2009-03-18 | 深圳市同洲电子股份有限公司 | 数据快速读取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102469357A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100424655C (zh) | 快闪存储器管理方法 | |
US8032724B1 (en) | Demand-driven opportunistic garbage collection in memory components | |
CN1902599B (zh) | 将数据更新到非易失性存储器***和操作该***的方法 | |
CN102819496B (zh) | 闪存ftl的地址转换方法 | |
CN102508784B (zh) | 视频监控设备中闪存卡的数据存储方法及其*** | |
US8706998B2 (en) | Method for managing flash memories having mixed memory types | |
US20110167208A1 (en) | Nonvolatile memory device, access device, nonvolatile memory system, and memory controller | |
US20140258596A1 (en) | Memory controller and memory system | |
CN102253898B (zh) | 一种图像数据的内存管理方法及装置 | |
CN102469357B (zh) | 一种用户操作数据的保存方法、***及数字电视接收终端 | |
EP2511826B1 (en) | Level-to-level management method and system of storage resources | |
US20050157561A1 (en) | Data recovery apparatus and method used for flash memory | |
US20140201426A1 (en) | Page Allocation for Flash Memories | |
US20120311241A1 (en) | Scheduler for memory | |
CN108664577B (zh) | 一种基于flash空闲区的文件管理方法及*** | |
US8261013B2 (en) | Method for even utilization of a plurality of flash memory chips | |
CN103425435A (zh) | 磁盘存储方法及磁盘存储*** | |
CN108196954A (zh) | 一种文件读写方法、***、设备及计算机存储介质 | |
CN108647278B (zh) | 一种文件管理方法及*** | |
US20130138910A1 (en) | Information Processing Apparatus and Write Control Method | |
CN113590505B (zh) | 地址映射方法、固态硬盘控制器及固态硬盘 | |
CN101908021A (zh) | 一种闪存擦写方法及闪存存储器 | |
US20100199060A1 (en) | Memory controller, nonvolatile memory module, access module, and nonvolatile memory system | |
CN106021124B (zh) | 一种数据的存储方法及存储*** | |
CN112711501B (zh) | 采用NAND Flash作为存储器时坏块管理的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: SHENZHEN SKYWORTH DIGITAL TECHNOLOGY CO., LTD. Free format text: FORMER NAME: SKY-WORTH DIGITAL TECHNOLOGY CO., LTD.;SHENZHEN CITY |
|
CP01 | Change in the name or title of a patent holder |
Address after: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road SKYWORTH building A14 Patentee after: Shenzhen Skyworth Digital Technology Co., Ltd. Address before: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road SKYWORTH building A14 Patentee before: Shenzhen Skyworth Digital Technology Co., Ltd. |