CN112685329B - 用于处理数据的方法及相关装置 - Google Patents
用于处理数据的方法及相关装置 Download PDFInfo
- Publication number
- CN112685329B CN112685329B CN201910987457.9A CN201910987457A CN112685329B CN 112685329 B CN112685329 B CN 112685329B CN 201910987457 A CN201910987457 A CN 201910987457A CN 112685329 B CN112685329 B CN 112685329B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- address
- time
- operation instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012545 processing Methods 0.000 title claims abstract description 68
- 238000013500 data storage Methods 0.000 claims abstract description 171
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出了用于处理数据的方法及相关装置,该用于处理数据的方法的一具体实施方式包括:接收数据操作指令;根据该数据操作指令的时间参数,在地址索引区中确定与该数据操作指令对应的数据存储区操作地址;其中,该地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;根据该数据存储区操作地址,执行该数据操作指令。该实施方式通过设置地址索引区,可以快速地定位到数据操作指令对应的时间节点,进而进行指令操作地址的寻址,因此能够准确、高效的对数据进行处理。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及用于处理数据的方法及相关装置。
背景技术
随着电子设备向智能化、数字化方向的发展,电子设备数据存储在生产和生活中的应用越来越普遍。
与此同时,用户或管理员对电子设备数据存储器中的数据进行处理,例如进行数据读写、数据上传等处理的需求也越来越大。此时,实现对数据的准确、有效的处理已成为普遍需求。
发明内容
基于上述需求,本申请提出了用于处理数据的方法及相关装置,能够准确、高效地对数据存储器中的数据进行处理。
第一方面,本申请提出了一种用于处理数据的方法,该方法包括:
接收数据操作指令;
根据数据操作指令的时间参数,在地址索引区中确定与数据操作指令对应的数据存储区操作地址;其中,地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;
根据数据存储区操作地址,执行数据操作指令。
在一些实施例中,当数据操作指令为数据写入操作指令时,根据数据操作指令的时间参数,在地址索引区中确定与数据操作指令对应的数据存储区操作地址,包括:
确定接收数据操作指令的指令接收时间;
根据指令接收时间,在地址索引区中确定目标存储时间信息;
根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置;
将查找到的空闲的存储位置的地址作为与数据操作指令对应的数据存储区操作地址。
在一些实施例中,根据指令接收时间,在地址索引区中确定目标存储时间信息,包括:
若地址索引区中存在与指令接收时间对应的存储时间信息,则将与指令接收时间对应的存储时间信息确定为目标存储时间信息。
在一些实施例中,根据指令接收时间,在地址索引区中确定目标存储时间信息,包括:
若地址索引区中不存在与指令接收时间对应的存储时间信息,则在地址索引区中查找出最晚的存储时间信息,并将最晚的存储时间信息确定为目标存储时间信息。
在一些实施例中,当目标存储时间信息为最晚的存储时间信息时,在根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置之后,方法还包括:
将查找到的空闲的存储位置的地址信息以及与指令接收时间对应的存储时间信息组成索引记录写入地址索引区。
在一些实施例中,数据存储区中所存储的数据包括用于指示数据是否完整的数据标记;以及
根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置,包括:
在数据存储区中,从与目标存储时间信息对应的存储地址信息所指向的存储位置开始,查找所包括的数据标记用于指示数据不完整的数据;
将查找到的数据所在的存储位置作为空闲的存储位置。
在一些实施例中,当根据地址索引区中的与目标存储时间信息对应的存储地址信息在数据存储区中没有查找到空闲的存储位置时,方法还包括:确定地址索引区中存储的最早的存储时间信息;
根据最早的存储时间信息和预设时长,确定存储地址范围;
在数据存储区中,删除存储地址范围内的各个存储地址分别指向的存储位置内的数据;
选取存储地址范围内的至少一个存储地址所指向的存储位置作为空闲的存储位置。
在一些实施例中,当数据操作指令为数据上传操作指令或数据删除操作指令时,根据数据操作指令的时间参数,在地址索引区中确定与数据操作指令对应的数据存储区操作地址,包括:确定数据操作指令指示的起始数据操作时间和截止数据操作时间;
在地址索引区中确定与起始数据操作时间对应的存储时间信息,以及与截止数据操作时间对应的存储时间信息;
根据起始数据操作时间和截止数据操作时间分别对应的存储时间信息所对应的存储地址信息,确定存储地址范围,并将所确定的存储地址范围作为与数据操作指令对应的数据存储区操作地址。
在一些实施例中,数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当数据操作指令为数据上传操作指令时,根据数据存储区操作地址,执行数据操作指令,包括:
对于数据存储区操作地址中的每个操作地址,读取该操作地址所指向的存储位置中的数据,若读取到的数据所包括的上传标记用于指示数据未被上传,则将读取到的数据上传至服务器。
在一些实施例中,数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当数据操作指令为数据删除操作指令时,根据数据存储区操作地址,执行数据操作指令,包括:
对于数据存储区操作地址中的操作地址,若该操作地址所指向的存储位置中的数据所包括的上传标记用于指示数据未被上传,则对该操作地址所指向的存储位置中的数据所包括的上传标记进行处理,以使经处理后的上传标记指示数据已被上传。
第二方面,本申请提出了一种用于处理数据的装置,该装置包括:
指令接收单元,用于接收数据操作指令;
操作地址确定单元,用于根据数据操作指令的时间参数,在地址索引区中确定与数据操作指令对应的数据存储区操作地址;其中,地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;
指令执行单元,用于根据数据存储区操作地址,执行数据操作指令。
在一些实施例中,操作地址确定单元,包括:
第一时间确定单元,用于确定接收数据操作指令的指令接收时间;
第二时间确定单元,用于根据指令接收时间,在地址索引区中确定目标存储时间信息;
查找处理单元,用于根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置;
第一地址确定单元,用于将查找到的空闲的存储位置的地址作为与数据操作指令对应的数据存储区操作地址。
在一些实施例中,第二时间确定单元根据指令接收时间,在地址索引区中确定目标存储时间信息时,具体用于:
若地址索引区中存在与指令接收时间对应的存储时间信息,则将与指令接收时间对应的存储时间信息确定为目标存储时间信息。
在一些实施例中,第二时间确定单元根据指令接收时间,在地址索引区中确定目标存储时间信息时,具体用于:
若地址索引区中不存在与指令接收时间对应的存储时间信息,则在地址索引区中查找出最晚的存储时间信息,并将最晚的存储时间信息确定为目标存储时间信息。
在一些实施例中,操作地址确定单元还包括:
信息记录单元,用于将查找到的空闲的存储位置的地址信息以及与指令接收时间对应的存储时间信息组成索引记录写入地址索引区。
在一些实施例中,数据存储区中所存储的数据包括用于指示数据是否完整的数据标记;以及
查找处理单元根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置时,具体用于:
在数据存储区中,从与目标存储时间信息对应的存储地址信息所指向的存储位置开始,查找所包括的数据标记用于指示数据不完整的数据;
将查找到的数据所在的存储位置作为空闲的存储位置。
在一些实施例中,查找处理单元还用于:当根据地址索引区中的与目标存储时间信息对应的存储地址信息在数据存储区中没有查找到空闲的存储位置时,确定地址索引区中存储的最早的存储时间信息;
根据最早的存储时间信息和预设时长,确定存储地址范围;
在数据存储区中,删除该存储地址范围内的各个存储地址分别指向的存储位置内的数据;
选取存储地址范围内的至少一个存储地址所指向的存储位置作为空闲的存储位置。
在一些实施例中,上述操作地址确定单元,包括:
第三时间确定单元,用于确定数据操作指令指示的起始数据操作时间和截止数据操作时间;
第四时间确定单元,用于在地址索引区中确定与起始数据操作时间对应的存储时间信息,以及与截止数据操作时间对应的存储时间信息;
第二地址确定单元,用于根据起始数据操作时间和截止数据操作时间分别对应的存储时间信息所对应的存储地址信息,确定存储地址范围,并将所确定的存储地址范围作为与数据操作指令对应的数据存储区操作地址。
在一些实施例中,数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当数据操作指令为数据上传操作指令时,指令执行单元根据数据存储区操作地址,执行数据操作指令,具体包括:
对于数据存储区操作地址中的每个操作地址,读取该操作地址所指向的存储位置中的数据,若读取到的数据所包括的上传标记用于指示数据未被上传,则将读取到的数据上传至服务器。
在一些实施例中,数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当数据操作指令为数据删除操作指令时,指令执行单元根据数据存储区操作地址,执行数据操作指令,具体包括:
对于数据存储区操作地址中的操作地址,若该操作地址所指向的存储位置中的数据所包括的上传标记用于指示数据未被上传,则对该操作地址所指向的存储位置中的数据所包括的上传标记进行处理,以使经处理后的上传标记指示数据已被上传。
第三方面,本申请提出了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
第四方面,本申请提出了一种处理器,该处理器用于运行程序,其中,该程序运行时执行如第一方面中任一实现方式描述的方法。
第五方面,本申请提出了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当该一个或多个程序被该一个或多个处理器执行时,使得该一个或多个处理器实现如第一方面中任一实现方式描述的方法。
本申请的上述实施例提供的用于处理数据的方法及相关装置,根据接收到的数据操作指令的时间参数,在地址索引区中确定与该数据操作指令对应的数据存储区操作地址;其中,该地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;最后,根据该数据存储区操作地址,执行数据操作指令。本申请的上述实施例提供的技术方案,通过设置地址索引区,可以快速地定位到数据操作指令对应的时间节点,进而进行指令操作地址的寻址,因此能够准确、高效的对数据进行处理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,而且还可以根据提供的附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
图1是根据本申请的用于处理数据的方法的一个实施例的流程图;
图2是根据本申请的用于处理数据的方法的一个实施例的存储区域划分示意图;
图3是根据本申请的用于处理数据的方法的另一个实施例的流程图;
图4是根据本申请的用于处理数据的方法的又一个实施例的流程图;
图5是根据本申请的用于处理数据的装置的一个实施例的结构示意图;
图6是根据本申请的用于处理数据的装置的另一个实施例的结构示意图;
图7是根据本申请的用于处理数据的装置的又一个实施例的结构示意图;
图8是适于用来实现本申请一些实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
应当理解,本申请中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请中使用了流程图用来说明根据本申请的实施例的方法所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
随着设备智能化和系统集成化的不断发展,电子设备或智能系统的规模越来越庞大、功能越来越丰富,同时,对于数据的存储和应用也越来越重要,数据存储的数据量越来越大,数据读写操作的频率越来越高。
本申请的发明人在实践中发现,对于存储器中的数据读写,都是通过遍历存储区地址确定目标存储位置,进而在该目标存储位置进行数据读写操作。但是,面对海量的数据存储,每次数据读写操作时都遍历一次存储区,存在大量的操作冗余,并且存在大量的无效操作,从而使得数据读写的效率受到限制。
本领域在数据存储量以及存储器容量与日俱增的条件下提高数据读写效率的常规解决方案是,研究更先进的处理器,通过提高处理器的读写速率,提高数据读写的处理效率。但是,处理器性能的提升总归是有极限的,在当前技术水平下,处理器处理能力已经达到极限,想要再提升处理器性能已经非常困难。而且,高性能的处理器价值昂贵,如果单纯依靠布置高性能硬件提高数据处理效率,其代价较大。
基于上述技术现状,本申请的发明人提出了用于处理数据的方法及相关装置,用以实现高效的数据处理操作。
本申请实施例公开了一种用于处理数据的方法,该方法可应用于智能设备,尤其可应用于智能设备的数据存储装置。
上述智能设备可以基于用户操作指令或服务器发送的数据操作指令,亦或是智能设备自身定时触发的数据操作程序等,执行相应的数据处理。
示例性的,上述智能设备上可以安装有各种客户端应用,例如购物类应用、搜索类应用、社交平台软件等。上述智能设备可以是硬件,也可以是软件。当上述智能设备为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personaldigitalassistant,PDA)、电子书阅读器、MP3(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、台式计算机、智能电表、智能水表、智能猫眼、网关等电子设备。
当上述智能设备为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。本申请实施例对电子设备的具体类型不作任何限制。
参见图1,其示出了根据本申请的用于处理数据的方法的一个实施例的流程示意图,本申请实施例提出的用于处理数据的方法包括:
S101、接收数据操作指令;
在本实施例中,上述用于处理数据的方法的执行主体(例如上述的智能设备,也可以是上述智能设备的数据存储装置)可以接收用户触发智能设备的数据处理功能而发送的操作指令,或者接收服务器发送的数据操作指令。示例性的,上述数据操作指令,可以是智能设备的处理器发送的数据写入或读取等操作指令,也可以是服务器发送的数据上传或数据删除等操作指令。
例如,当本申请实施例提出的上述用于处理数据的方法应用于智能门锁时,该智能门锁与服务器建立无线连接,智能门锁可以在本地存储器存储开关门记录、用户信息等数据内容。当有数据内容需要写入存储器或者从存储器删除数据内容时,智能门锁的处理器向智能门锁的数据存储装置发送数据写入操作指令或数据读取操作指令,或者,当服务器控制智能门锁将存储的数据内容上传至服务器时,服务器向智能门锁发送数据上传操作指令。
S102、根据上述数据操作指令的时间参数,在地址索引区中确定与上述数据操作指令对应的数据存储区操作地址。
其中,上述地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;
具体的,上述时间参数,是指上述数据操作指令所具备的、与时间相关的参数信息,例如上述执行主体接收该数据操作指令的时间,或在上述数据操作指令中携带的需要操作的数据的时间信息,例如具体对哪个时间点或哪个时间段的数据进行操作等。
在本申请实施例中,上述执行主体可以将数据存储装置的存储区域划分为地址索引区和数据存储区,例如图2所示。上述地址索引区存储上述数据存储区中存储的数据的存储地址信息和存储时间信息,并且本实施例设定,对于一条数据,上述执行主体在将其存储到数据存储区时,在地址索引区同时存储与之对应的存储地址信息和存储时间信息,也就是说,在地址索引区中存储的存储地址信息和存储时间信息,都因为与其对应的数据而存在对应关系。即,对于某一条存储地址信息来说,与其对应的存储时间信息,是该存储地址信息对应的存储位置处所存储的数据的存储时间的信息。
本申请实施例设定,按照时间先后顺序,每一条数据在存储到数据存储区时,上述执行主体都要在地址索引区同时存储其在数据存储区的存储地址信息和存储时间信息。因此,地址索引区中存储的存储地址信息和存储时间信息,按照时间先后的顺序依次排列。并且,示例性,本申请实施例的上述“时间”是以天为精度的时间,即在上述地址索引区存储的存储时间信息的时间精度为天,而对于同一天内的数据,则按照实际存储到数据存储区的先后顺序而依次在地址索引区存储其存储时间信息。上述执行主体在具体实施本申请实施例时,可以任意设置上述存储时间信息的时间精度,例如可设置为时、分、秒等,本申请实施例仅以天为精度介绍本申请实施例技术方案。
基于本申请实施例上述设定,地址索引区的存储地址信息和存储时间信息具有明确的对应关系,对于某一存储时间信息来说,通过查询上述的地址索引区,可以明确查询到在该存储时间所存储的数据在数据存储区的存储地址,可以理解,与该存储时间信息对应的存储地址信息所对应的存储位置,即为在该存储时间所存储的数据所在的存储位置。
根据上述查询原理,上述执行主体在接收到数据操作指令后,可以根据该数据操作指令的时间参数,确定与之相同时间的存储时间信息,然后,通过从地址索引区中查询与该存储时间信息对应的存储地址信息,在地址索引区中确定与上述数据操作指令对应的数据存储区操作地址。
上述的数据存储区操作地址,是指在数据存储区执行上述的数据操作指令的地址。
示例性的,当上述执行主体接收到数据操作指令,并且确定该数据操作指令的时间参数后,可以根据该时间参数,从上述的地址索引区查询与该时间参数相同时间的存储时间信息对应的存储地址信息,进而根据该存储地址信息,确定与该数据操作指令对应的数据存储区操作地址。可以理解,当上述的时间参数为某一时间点时,上述执行主体所查询到的存储地址信息就是单个的数据存储地址;当上述的时间参数为某一时间段时,上述执行主体所查询到的存储地址信息就是一个数据存储地址范围,上述的单个数据存储地址和数据存储地址范围,都是最终确定的,用于执行上述数据操作指令的数据存储区操作地址。
例如,假设上述执行主体接收到的数据操作指令为数据写入操作指令,则根据该数据操作指令的时间参数,即接收到该数据操作指令的时间,假设为9月10日,查询地址索引区中与该时间(9月10日)相同时间的存储时间信息所对应的存储地址信息,假设与9月10日对应的存储地址为0x0005,则与上述的存储时间信息对应的存储地址信息为0x0005,此时即可将该存储地址信息对应的存储地址作为数据写入的数据存储区操作地址,即确定了应当将待写入数据写入该数据存储区操作地址。
S103、根据上述数据存储区操作地址,执行上述数据操作指令。
具体的,对于数据操作指令的操作地址的确定,是执行数据操作指令的基础。上述执行主体在通过步骤S102确定数据操作指令的数据存储区操作地址后,即可在所确定的数据存储区操作地址处执行上述的数据操作指令。
通过上述介绍可见,本申请实施例提出的用于处理数据的方法的执行主体将数据存储装置的存储区划分为地址索引区和数据存储区,在地址索引区中存储在数据存储区中存储的数据的存储地址信息和存储时间信息。上述执行主体在接收到数据操作指令时,根据数据操作指令的时间参数,在上述的地址索引区,确定与上述数据操作指令对应的数据存储区操作地址,最后可以在确定的操作地址执行数据操作指令。上述技术方案通过设置地址索引区,可以快速地定位到数据操作指令对应的的时间节点,进而进行指令操作地址的寻址,因此能够准确、高效的对数据进行处理。
可以理解,智能设备,尤其是智能设备的数据存储装置在执行读取或写入数据等数据操作时,主要的处理过程是确定数据操作的地址。而对于不同类型的数据操作,需要确定的操作地址数量是不同的,例如对于数据写入操作,只需要确定数据写入的起始地址即可;而对于数据读取操作,则需要明确数据读取的起始地址和截止地址。也就是说,根据不同类型的数据操作指令,通过查询地址索引区确定与数据操作指令对应的数据存储区操作地址的具体处理过程是不同的。
下面,本申请实施例介绍当数据操作指令不同时,上述的根据数据操作指令的时间参数,在地址索引区中确定与数据操作指令对应的数据存储区操作地址,以及执行数据操作指令的具体处理过程。
作为示例性的实现方式,参见图3所示,其示出了本申请提出的用于处理数据的方法的又一个实施例的流程示意图。
与上述实施例所不同的是,在本实施例中具体公开了,当上述数据操作指令为数据写入操作指令时,上述执行主体根据该数据操作指令的时间参数,在地址索引区中确定与该数据操作指令对应的数据存储区操作地址时,具体包括:S302、确定接收数据操作指令的指令接收时间;
上述的指令接收时间,具体是指上述执行主体接收到上述数据操作指令的时间。
一般的数据写入操作指令都是指示立即写入数据,因此当接收到的数据操作指令为数据写入操作指令时,以接收到该数据操作指令的时间为基准,执行数据操作。所以,上述执行主体在接收到指示数据写入的数据操作指令后,首先确定接收到该数据操作指令的时间,即指令接收时间,以此作为该数据操作指令的时间参数,用于后续确定该数据操作指令的数据存储区操作地址。
由于本申请实施例上述地址索引区中的存储时间信息的单位为“天”,因此,为了统一时间计量单位,上述指令接收时间的单位同样以“天”计量,即确定是哪一天接收的上述数据操作指令。
作为示例性的实现方式,上述执行主体可以在接收到上述数据操作指令时查询系统时钟确定接收该数据操作指令的时间,或者也可以通过从接收到的数据操作指令中解析时间信息确定接收该数据操作指令的时间。
S303、根据指令接收时间,在地址索引区中确定目标存储时间信息;
上述的目标存储时间信息,是指以上述的指令接收时间为基础,按照预设的查询规则,从地址索引区查询得到的存储时间信息。
其中,上述预设的查询规则,具体是指预先设定的用于从地址索引区查询出符合既定要求的存储时间信息的规则。例如,可以是查询与指令接收时间相同时间的存储时间信息、查询最晚的存储时间信息等。
上述执行主体在确定数据操作指令的指令接收时间后,以该指令接收时间为基础,按照预设的查询规则,从地址索引区查询得到目标存储时间信息。
在本实施例中,作为一种示例性的实现方式,当上述执行主体根据接收数据操作指令的指令接收时间,在地址索引区中确定目标存储时间信息时,可以通过在地址索引区进行查询、检索等处理,判断在地址索引区中是否存在与上述指令接收时间对应的存储时间信息。其中,上述与指令接收时间对应的存储时间信息,具体是指与指令接收时间相同时间的存储时间信息,如果存在,则将与上述指令接收时间对应的存储时间信息确定为目标存储时间信息。
示例性的,根据本申请实施例对时间单位的设置,由于指令接收时间与存储时间信息都是以“天”为单位计量的时间,即上述指令接收时间和存储时间信息都是日期表示的,因此,上述执行主体直接在地址索引区查询是否存在与上述指令接收时间相同日期的存储时间信息,即可确定在上述地址索引区中是否存在与上述指令接收时间对应的存储时间信息。
在本实施例的一些可选的实现方式中,如果上述执行主体经过查询、检索等处理,确定在上述地址索引区中不存在与上述指令接收时间对应的存储时间信息,则上述执行主体在上述地址索引区中查找出最晚的存储时间信息,并将该最晚的存储时间信息确定为目标存储时间信息。
其中,上述最晚的存储时间信息,是指在上述地址索引区中存储的时间最晚的存储时间信息。
上述的执行主体可以通过将上述地址索引区中所存储的各个存储时间信息进行时间先后对比,从中选出时间最晚的存储时间信息。
例如,假设在地址索引区中存储的存储时间信息包括2019-05-01、2019-05-03、2019-06-07、2019-08-05、2019-08-23,则上述执行主体通过比较可以确定,2019-08-23为在地址索引区中的最晚的存储时间信息,因此将2019-8-23确定为目标存储时间信息。
按照上述处理方式,上述执行主体可以在地址索引区中确定目标存储时间信息。
S304、根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置;
由于本申请实施例设定,在上述地址索引区中的存储时间信息和存储地址信息是对应存储的,因此,当从地址索引区中确定了目标存储时间信息后,上述的执行主体可以根据上述地址索引区中的存储时间信息和存储地址信息的对应关系,从上述地址索引区中确定出与上述目标存储时间信息对应的存储地址信息。例如,假设上述执行主体从地址索引区确定的目标存储时间信息为2019-08-23,并且在上述地址索引区中,与2019-08-23对应存储的存储地址信息为0x0002,则可以确定,与上述目标存储时间信息对应的存储地址信息为0x0002。
在确定与上述目标存储时间信息对应的存储地址信息后,上述执行主体从该存储地址信息所对应的存储位置开始,在数据存储区查找空闲的存储位置。
其中,上述空闲的存储位置,可以是没有存储数据或存储有不完整的数据的存储位置。
示例性的,上述执行主体可以从确定的存储地址信息所对应的存储位置开始,向后查找空闲的存储位置。
一般情况下,数据存储到存储区域时,是按照存储地址从小到大的顺序依次存入数据存储区域的。因此,当从数据存储区域确定某一存储位置后,从该存储位置开始向后,也就是向存储地址变大的方向查找空闲的存储位置,比较容易查找到。
或者,上述执行主体也可以在包括上述存储地址信息所对应的存储位置的一定的存储地址范围内查找空闲的存储位置。
作为另一种示例性的实现方式,本申请实施例设置上述数据存储区中所存储的数据包括用于指示数据是否完整的数据标记。
示例性的,上述数据标记用于指示数据是否为完整数据。本申请实施例设定,当一条数据写入数据存储区完毕时,将该数据的数据标记进行标记,此时该数据的数据标记用于指示该数据为完整数据。相反,如果某一数据的数据标记未被标记,则该数据的数据标记用于指示该数据为不完整数据。
基于上述设定,当上述执行主体根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置时,具体为:
在数据存储区中,从与目标存储时间信息对应的存储地址信息所指向的存储位置开始,查找所包括的数据标记用于指示数据不完整的数据;并且,将查找到的数据所在的存储位置作为空闲的存储位置。
可以理解,如果数据的数据标记指示该数据不完整,则说明该条数据的写入还未完成,应当继续执行该数据的写入,也就是从该数据的存储位置开始继续写入数据,直到该数据写入完成。
因此,在找到所包含的数据标记用于指示数据不完整的数据后,确定该数据的存储位置,即可作为空闲的存储位置。
可选地,若上述执行主体没有在数据存储区中查找到所包括的数据标记用于指示数据不完整的数据,且确定数据存储区中存在没有存储数据的存储位置,则上述执行主体例如可以将最先遍历到的没有存储数据的存储位置作为查找到的空闲的存储位置。
在本实施例的一些可选的实现方式中,如果上述执行主体没有从数据存储区中查找到空闲的存储位置,则上述执行主体可以确定上述地址索引区中存储的最早的存储时间信息,然后,根据该最早的存储时间信息和预设时长,确定存储地址范围。
例如,根据上述最早的存储时间信息以及上述预设时长,上述执行主体可以确定出以上述最早的存储时间为起点,以上述最早的存储时间加上上述预设时长得到的时间点为终点的时间段。
然后,分别从上述地址索引区中确定与该时间段的起点和终点对应的存储地址信息,两个存储地址信息各自对应的存储地址之间的存储地址范围,即为根据上述最早的存储时间信息和预设时长,确定的存储地址范围。
例如,假设上述的存储时间信息为2019-05-10,上述的预设时长为10天,则利用上述的存储时间2019-05-10加上10天即可确定时间终点为2019-05-20,以上述存储时间2019-05-10为时间起点,以2019-05-20作为时间终点即可确定时间段2019-05-10~2019-05-20。
假设该时间段的时间起点2019-05-10对应的存储地址信息为0x0001,该史家段的时间终点2019-05-20对应的存储地址信息为0x0006,则上述的执行主体可以确定出存储地址范围为0x0001~0x0006。
在确定了上述的存储地址范围后,上述执行主体可以在数据存储区中,删除该存储地址范围内的各个存储地址分别指向的存储位置内的数据。
也就是,上述执行主体删除上述存储地址范围内所存储的所有数据,此时,该存储地址范围内的各个存储地址所指向的存储位置均成为空闲的存储位置。
在此基础上,上述执行主体选取上述存储地址范围内的至少一个存储地址所指向的存储位置,作为空闲的存储位置。
可以理解,本申请实施例在数据存储区已满的情况下,通过删除数据存储区中存储时间较早的数据,达到了从数据存储区确定出空闲存储位置的目的,从而可以保证新接收到的数据操作指令能够被执行。
S305、将查找到的空闲的存储位置的地址作为与数据操作指令对应的数据存储区操作地址。
在本实施例中,当上述执行主体从数据存储区中确定出空闲的存储位置后,直接将该空闲的存储位置作为上述数据操作指令对应的数据存储区操作地址。
进一步的,在上述用于处理数据的方法的另一种实施例中还公开了,当上述的目标存储时间信息为最晚的存储时间信息时,上述执行主体在根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置之后,还将查找到的空闲的存储位置的地址信息以及与上述指令接收时间对应的存储时间信息组成索引记录写入地址索引区。
其中,上述的索引记录,具体是指由上述空闲的存储位置的地址信息以及上述指令接收时间对应的存储时间信息对应组成的记录信息,可以理解,在该索引记录中,包括对应记录的存储地址信息和存储时间信息这两种信息,该存储地址信息和存储时间信息,也就是上述执行主体执行接收到的数据操作指令的存储地址和接收该操作指令的时间的信息。
根据本申请上述实施例介绍可以理解,当上述执行主体确定在地址索引区中不存在与上述的指令接收时间对应的存储时间信息时,才将上述地址索引区中的最晚的存储时间信息作为目标存储时间信息。因此,当上述的目标存储时间信息为最晚的存储时间信息时,可以确定在上述地址索引区不存在与上述的指令接收时间对应的存储时间信息。
在此基础上,上述执行主体在根据地址索引区中的与目标存储时间信息(上述的最晚的存储时间信息)对应的存储地址信息,在数据存储区中查找空闲的存储位置之后,还可以将查找到的空闲的存储位置的地址信息以及上述指令接收时间对应的存储时间信息组成索引记录写入上述地址索引区。也就是,上述执行主体将执行数据操作指令的存储地址以及接收该数据操作指令的指令接收时间对应记录到上述的地址索引区中。这样,当后续在相同的指令接收时间接收到新的数据操作指令时,可以直接从地址索引区查询到相应的存储时间信息,进而查询确定数据存储区操作地址。
例如,按照本实施例上述介绍,假设上述执行主体在地址索引区中确定接收到的第一数据操作指令对应的数据存储区操作地址时,没有从地址索引区查询到与接收该第一数据操作指令的指令接收时间2019-10-05相对应的存储时间信息,因此将地址索引区中的最晚的存储时间信息作为目标存储时间信息。假设该最晚的存储时间信息为2019-09-30,则上述执行主体根据与2019-09-30对应的存储地址信息0x0012,在数据存储区中查找空闲的存储位置,假设查找到的空闲的存储位置为0x0015,则上述执行主体可以将数据存储区中的存储地址0x0015作为执行上述第一数据操作指令的数据存储区操作地址。
然后,上述执行主体可以将接收上述第一数据操作指令的指令接收时间2019-10-05,以及将从数据存储区查询确定的空闲的存储位置0x0015,对应组成索引记录写入上述地址索引区。此时在地址索引区已存储相互对应的存储时间信息2019-10-05,以及存储地址信息0x0015。
在此基础上,当上述执行主体在2019-10-05接收到第二数据操作指令时,可以直接从地址索引区查询得到与接收第二数据操作指令的指令接收时间2019-10-05对应的存储时间信息,进而根据与该存储时间信息对应的存储地址信息0x0015,可以直接根据存储地址0x0015,在数据存储区中查找空闲的存储位置,进而确定执行第二数据操作指令的数据存储区操作地址。
可以理解,本实施例设置上述执行主体将查找到的空闲的存储位置的地址信息以及接收数据操作指令的指令接收时间对应的存储时间信息组成索引记录写入地址索引区,可以方便后续其它数据操作指令的执行,整体上可以提高数据操作的执行效率。
本实施例中的步骤S301、S306分别对应图1所示的方法实施例中的步骤S101、S103,其具体内容请参见图1所示的方法实施例的内容,此处不再赘述。
进一步参见图4所示,其示出了本申请提出的用于处理数据的方法的又一个实施例的流程示意图。
与上述实施例所不同的是,在本实施例中具体公开了,当上述数据操作指令为数据上传操作指令或数据删除操作指令时,上述执行主体根据该数据操作指令的时间参数,在地址索引区中确定与该数据操作指令对应的数据存储区操作地址时,具体包括:
S402、确定数据操作指令指示的起始数据操作时间和截止数据操作时间;
其中,上述的起始数据操作时间和截止数据操作时间,分别表示需要上传或删除的数据的起始时间和截止时间。
具体的,当服务器或处理器向上述执行主体发送的数据操作指令为数据上传操作指令或数据删除操作指令时,在指令中需要明确指出需要上传或删除的数据的起始时间和截止时间,例如上传或删除几月几日到几月几日的数据等。
一种特殊的情况是,上述的数据上传后数据删除操作指令也可以只指示上传或删除某一时间之前或之后的所有数据,这种情况相当于单方面地确定上述上传或删除的数据的起始时间或截止时间,其具体实现过程可以参照上述上传或删除从起始时间到截止时间的数据的处理过程而实现,本申请实施例不再详细叙述。本申请实施例仅以上述的,上传或删除从起始时间到截止时间的数据为例,介绍当接收的数据操作指令为数据上传操作指令或数据删除操作指令时,确定数据读取地址的具体处理过程。
基于上述介绍,在上述执行主体接收的数据上传或数据删除操作指令中,包含需要上传或删除的数据的起始时间和截止时间,以便明确指示上传或删除数据的范围。因此上述执行主体在接收到数据操作指令后,如果该数据操作指令为数据上传操作指令或数据删除操作指令,则从中解析确定上传或删除数据的起始时间和截止时间,即确定起始数据操作时间和截止数据操作时间。
示例性的,基于本申请实施例对时间计量单位的设置,上述的起始数据操作时间和截止数据操作时间,都是以“天”为单位的时间,即上述的起始数据操作时间和截止数据操作时间均是以日期表示的。
S403、在地址索引区中确定与上述起始数据操作时间对应的存储时间信息,以及与上述截止数据操作时间对应的存储时间信息;
具体的,上述执行主体在确定上述数据操作指令的起始数据操作时间和截止数据操作时间后,分别从地址索引区查询确定与起始数据操作时间对应的存储时间信息,以及确定与截止数据操作时间对应的存储时间信息。
S404、根据上述起始数据操作时间和上述截止数据操作时间分别对应的存储时间信息所对应的存储地址信息,确定存储地址范围,并将所确定的存储地址范围作为与上述数据操作指令对应的数据存储区操作地址。
上述执行主体在分别确定与起始数据操作时间和截止数据操作时间对应的存储时间信息后,进一步查询地址索引区分别确定与上述起始数据操作时间对应的存储时间信息,以及与上述截止数据操作时间对应的存储时间信息对应的存储地址信息,两个存储地址信息各自对应的存储地址之间的存储地址范围,即为上述数据操作指令对应的数据存储区操作地址。
例如,假设上述的起始数据操作时间对应的存储时间信息为2019-10-01,上述的截止数据操作时间对应的存储时间信息为2019-10-05,并且上述执行主体通过查询地址索引区确定与存储时间信息2019-10-01对应的存储地址信息为0x0010,与存储时间信息2019-10-05对应的存储地址信息为0x0017,则0x0010~0x0017之间的存储地址范围即为上述的数据操作指令对应的数据存储区操作地址。
需要说明的是,作为示例性的实现方式,由于本申请实施例设定上述地址索引区中的存储时间信息是以“天”为单位的日期形式,因此,上述的与起始数据操作时间对应的存储时间信息,就是与起始数据操作时间相同日期的存储时间信息,而与截止数据操作时间对应的存储时间信息,是指与截止数据操作时间相同日期的存储时间信息的下一条存储时间信息。
本申请实施例设定,在地址索引区记录的存储地址信息和存储时间信息的对应关系是,与存储时间信息对应的存储地址信息,是在存储时间信息所对应的存储时间当天存储的第一条数据所在的存储地址信息。而在某一存储时间当天,可能存储多条数据,此时在该存储时间当天所存储的所有数据占据的存储地址,并不仅限于当天存储的第一条数据所占据的存储地址。
而上述的截止数据操作时间是表明要对截止数据操作时间当天的所有数据进行操作,如果仅读取与截止数据操作时间相同时间的存储时间信息对应的存储地址信息,则只能读取到与截止数据操作时间相同时间的存储时间当天存储的第一条数据的存储地址,其余的数据会被遗漏。为了防止数据遗漏,本申请实施例设定上述执行主体确定与截止数据操作时间相同时间的存储时间信息的后一条存储时间信息对应的数据存储地址,作为截止操作地址。这样确定的存储地址范围,实际上包含的是起始数据操作时间当天的第一条数据到截止数据操作时间的最后一条数据的所有数据。
在实际实施本申请实施例技术方案时,如果地址索引区的存储时间信息并不是以“天”为单位的时间,而是粒度更小的计量单位,例如为“分”、“秒”、“毫秒”等,此时在确定与截止数据操作时间对应的存储时间信息时,可以直接将与截止数据操作时间相同时间的存储时间信息作为与该截止数据操作时间对应的存储时间信息,此时由于时间粒度较小,不会造成数据遗漏。
本实施例中的步骤S401、S405分别对应图1所示的方法实施例中的步骤S101、S103,其具体内容请参见图1所示的方法实施例的内容,此处不再赘述。
在本实施例的一些可选的实现方式中,上述数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记。
其中,上述上传标记用于指示数据是否已经被上传至服务器。示例性的,如果数据已被上传至服务器,则该数据的上传标记被标记;如果数据未被上传至服务器,则该数据的上传标记未被标记。因此,根据数据的上传标记,可以确定数据是否已经被上传。
在此基础上,当上述的数据操作指令为数据上传操作指令时,上述执行主体根据该数据存储区操作地址,执行数据操作指令,具体包括:
对于数据存储区操作地址中的每个操作地址,读取该操作地址所指向的存储位置中的数据;
若读取到的数据所包括的上传标记用于指示数据未被上传,则将读取到的数据上传至服务器;
相反,如果读取到的数据所包括的上传标记用于指示数据已被上传,则跳过该数据继续读取下一个数据。
显而易见的,根据读取到的数据的上传标记,上述执行主体可以直观地确定读取到的数据是否已上传服务器,如果读取到的数据未上传服务器,则上述执行主体将该数据上传服务器;如果读取到的数据已上传服务器,则上述执行主体可以略过该数据继续读取下一个数据。
作为一种示例性的实现方式,上述的执行主体可以从上述数据存储区操作地址的起始地址开始,依次遍历读取每一个存储地址所指向的存储位置处的数据,并根据读取到的数据的上传表示,决定对读取到的数据进行上传或略过。
当上述执行主体将读取到的数据上传至服务器时,可以示例性地先对读取到的数据进行打包处理,然后将打包所得的数据包上传至服务器。
进一步的,上述执行主体可以在将上述数据存储区操作地址范围内所读取的所有数据均打包完成后一起上传服务器,或者也可以每打包得到一个数据包,就上传至服务器。
在本实施例的另一些可选的实现方式中还公开了,在上述数据存储区中存储的数据包括用于指示数据是否已被上传的上传标记的基础上,当上述执行主体接收到的数据操作指令为数据删除操作指令时,上述执行主体根据数据存储区操作地址执行数据操作指令,包括:
对于数据存储区操作地址中的操作地址,若该操作地址所指向的存储位置中的数据所包括的上传标记用于指示数据未被上传,则对该操作地址所指向的存储位置中的数据所包括的上传标记进行处理,以使经处理后的上传标记指示数据已被上传。
具体的,在本申请实施例中设定,当上述执行主体接收的数据操作指令是将数据存储区中的数据删除时,并不是直接将数据存储区存储的数据删除,而是将与上述数据操作指令对应的数据存储区操作地址范围内的数据的上传标记进行标记,而在数据存储区中依然保留该数据。
作为一种示例性的实现方式,上述上传标记的标记值包括第一标记值(例如为1)和第二标记值(例如为0),第一标记值用于指示数据已被上传,第二标记值用于指示数据未被上传。当上述执行主体执行数据删除操作而对数据的上传标记进行标记时,可以将数据原本的第二标记值(用于指示数据未被上传)修改为第一标记值,即将该数据的上传标记由标记值0修改为标记值1,此时该数据的上传标记用于指示该数据已被上传。
上述执行主体采取上述的数据删除策略,可以有效避免在将数据上传至服务器时发生上传失败的情况时,直接将数据从数据存储区删除造成数据丢失。可以理解,在确定需要删除的指定数据已经成功上传至服务器时,也可以直接执行对该指定数据的删除操作。
进一步参见图5所示,作为对以上一些图所示方法的实现,本申请提供了一种用于处理数据的装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于处理数据的装置包括:指令接收单元100、操作地址确定单元110和指令执行单元120。
其中,指令接收单元100,用于接收数据操作指令;操作地址确定单元110,用于根据数据操作指令的时间参数,在地址索引区中确定与数据操作指令对应的数据存储区操作地址;其中,地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;指令执行单元120,用于根据数据存储区操作地址,执行数据操作指令。
在本实施例的一些可选的实现方式中,参见图6所示,操作地址确定单元110,包括:
第一时间确定单元1101,用于确定接收数据操作指令的指令接收时间;
第二时间确定单元1102,用于根据指令接收时间,在地址索引区中确定目标存储时间信息;
查找处理单元1103,用于根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置;
第一地址确定单元1104,用于将查找到的空闲的存储位置的地址作为与数据操作指令对应的数据存储区操作地址。
在本实施例的一些可选的实现方式中,第二时间确定单元1102根据指令接收时间,在地址索引区中确定目标存储时间信息时,具体用于:
若地址索引区中存在与指令接收时间对应的存储时间信息,则将与指令接收时间对应的存储时间信息确定为目标存储时间信息。
在本实施例的一些可选的实现方式中,第二时间确定单元1102根据指令接收时间,在地址索引区中确定目标存储时间信息时,具体用于:
若地址索引区中不存在与指令接收时间对应的存储时间信息,则在地址索引区中查找出最晚的存储时间信息,并将最晚的存储时间信息确定为目标存储时间信息。
在本实施例的一些可选的实现方式中,操作地址确定单元110还包括信息记录单元。当目标存储时间信息为最晚的存储时间信息时,在根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置之后,信息记录单元,用于将查找到的空闲的存储位置的地址信息以及与指令接收时间对应的存储时间信息组成索引记录写入地址索引区。
在本实施例的一些可选的实现方式中,数据存储区中所存储的数据包括用于指示数据是否完整的数据标记;以及
查找处理单元1103根据地址索引区中的与目标存储时间信息对应的存储地址信息,在数据存储区中查找空闲的存储位置时,具体用于:
在数据存储区中,从与目标存储时间信息对应的存储地址信息所指向的存储位置开始,查找所包括的数据标记用于指示数据不完整的数据;
将查找到的数据所在的存储位置作为空闲的存储位置。
在本实施例的一些可选的实现方式中,查找处理单元1103还用于:当根据地址索引区中的与目标存储时间信息对应的存储地址信息在数据存储区中没有查找到空闲的存储位置时,确定地址索引区中存储的最早的存储时间信息;
根据最早的存储时间信息和预设时长,确定存储地址范围;
在数据存储区中,删除该存储地址范围内的各个存储地址分别指向的存储位置内的数据;
选取存储地址范围内的至少一个存储地址所指向的存储位置作为空闲的存储位置。
在本实施例的一些可选的实现方式中,参见图7所示,上述操作地址确定单元110,包括:
第三时间确定单元1105,用于确定数据操作指令指示的起始数据操作时间和截止数据操作时间;
第四时间确定单元1106,用于在地址索引区中确定与起始数据操作时间对应的存储时间信息,以及与截止数据操作时间对应的存储时间信息;
第二地址确定单元1107,用于根据起始数据操作时间和截止数据操作时间分别对应的存储时间信息所对应的存储地址信息,确定存储地址范围,并将所确定的存储地址范围作为与数据操作指令对应的数据存储区操作地址。
在本实施例的一些可选的实现方式中,数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当数据操作指令为数据上传操作指令时,指令执行单元120根据数据存储区操作地址,执行数据操作指令,具体包括:
对于数据存储区操作地址中的每个操作地址,读取该操作地址所指向的存储位置中的数据,若读取到的数据所包括的上传标记用于指示数据未被上传,则将读取到的数据上传至服务器。
在本实施例的一些可选的实现方式中,数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当数据操作指令为数据删除操作指令时,指令执行单元120根据数据存储区操作地址,执行数据操作指令,具体包括:
对于数据存储区操作地址中的操作地址,若该操作地址所指向的存储位置中的数据所包括的上传标记用于指示数据未被上传,则对该操作地址所指向的存储位置中的数据所包括的上传标记进行处理,以使经处理后的上传标记指示数据已被上传。
在上述各实施例中所提供的用于处理数据的装置的各个单元的具体工作内容及其带来的技术效果可分别参考对应的上述各个方法实施例的相关说明,在此不再赘述。
需要说明的是,本申请实施例提出的上述用于处理数据的装置可以是芯片,组件或模块,用于处理数据的装置可包括处理器和存储器,指令接收单元100、操作地址确定单元110和指令执行单元120等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来执行数据操作指令,对数据进行处理。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请的上述实施例提供的用于处理数据的装置,将数据存储装置的存储区划分为地址索引区和数据存储区,在地址索引区中存储在数据存储区中存储的数据的存储地址信息和存储时间信息。上述用于处理数据的装置的指令接收单元100在接收到数据操作指令时,由操作地址确定单元110根据数据操作指令的时间参数,在上述的地址索引区,确定与上述数据操作指令对应的数据存储区操作地址,最后,指令执行单元120可以在确定的操作地址执行数据操作指令。上述装置可以快速地定位到数据操作指令对应的时间节点,进而进行指令操作地址的寻址,因此能够准确、高效的对数据进行处理。
下面参考图8,其示出了适于用来实现本申请一些实施例的电子设备800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理器801、存储器802、通信接口803、输入单元804、输出单元805和通信总线806。其中,处理器801和存储器802通过通信总线806彼此相连。通信接口803、输入单元804和输出单元805也连接至通信总线806。
其中,通信接口803可以为通信模块的接口,如GSM模块的接口。通信接口803可以用于获得A设备发送的数据操作指令,通信接口803还用于将数据包发送至服务器。
在本申请实施例中,处理器801,可以为中央处理器(CentralProcessing Unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
在一种可能的实现方式中,存储器802可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如数据写入、数据上传等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,地址索引区记录的数据、数据存储区存储的数据等等。
此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
处理器801可以调用存储器802中存储的程序,具体的,处理器801可以执行以图1至4中任一实施例所示的用于处理数据的方法。
存储器802中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,存储器802中至少存储有用于实现以下功能的程序:
接收数据操作指令;
根据数据操作指令的时间参数,在地址索引区中确定与数据操作指令对应的数据存储区操作地址;其中,地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;
根据数据存储区操作地址,执行数据操作指令。
本申请还可以包括输入单元805,输入单元805可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘、鼠标、摄像头、拾音器等设备中的至少一个。
输出单元804可以包括:显示器、扬声器、振动机构、灯等设备中的至少一个。显示器可以包括显示面板,如触摸显示面板等。在一种可能的情况中,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。振动机构在工作时可以使电子设备800发生位移,在一种可能的实现方式中,振动机构包括电动机和偏心振子,电动机带动偏心振子转动从而产生振动。灯的亮度和/或颜色可调,在一种可能的实现方式中,可通过灯的亮灭、亮度、颜色中的至少一个体现不同的信息,如通过灯发出红色光体现报警信息。
当然,图8所示的电子设备800的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图8所示的更多或更少的部件,或者组合某些部件。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的用于处理数据的方法。
本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的用于处理数据的方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的用于处理数据的方法。
其中,本申请的上述实施例提供的电子设备、处理器、计算机可读介质或计算机程序产品可以均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.一种用于处理数据的方法,其特征在于,包括:
接收数据操作指令;
根据所述数据操作指令的时间参数,在地址索引区中确定与所述数据操作指令对应的数据存储区操作地址;其中,所述地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;
根据所述数据存储区操作地址,执行所述数据操作指令;
当所述数据操作指令为数据写入操作指令时,所述根据所述数据操作指令的时间参数,在地址索引区中确定与所述数据操作指令对应的数据存储区操作地址,包括:确定接收所述数据操作指令的指令接收时间;根据所述指令接收时间,在地址索引区中确定目标存储时间信息;根据所述地址索引区中的与所述目标存储时间信息对应的存储地址信息,在所述数据存储区中查找空闲的存储位置;将查找到的所述空闲的存储位置的地址作为与所述数据操作指令对应的数据存储区操作地址;
所述根据所述指令接收时间,在所述地址索引区中确定目标存储时间信息,包括:若所述地址索引区中存在与所述指令接收时间对应的存储时间信息,则将所述与所述指令接收时间对应的存储时间信息确定为目标存储时间信息;
当所述数据操作指令为数据上传操作指令或数据删除操作指令时,所述根据所述数据操作指令的时间参数,在地址索引区中确定与所述数据操作指令对应的数据存储区操作地址,包括:确定所述数据操作指令指示的起始数据操作时间和截止数据操作时间;在地址索引区中确定与所述起始数据操作时间对应的存储时间信息,以及与所述截止数据操作时间对应的存储时间信息;根据所述起始数据操作时间和所述截止数据操作时间分别对应的存储时间信息所对应的存储地址信息,确定存储地址范围,并将所确定的存储地址范围作为与所述数据操作指令对应的数据存储区操作地址。
2.根据权利要求1所述的方法,其特征在于,所述根据所述指令接收时间,在所述地址索引区中确定目标存储时间信息,包括:
若所述地址索引区中不存在与所述指令接收时间对应的存储时间信息,则在所述地址索引区中查找出最晚的存储时间信息,并将所述最晚的存储时间信息确定为目标存储时间信息。
3.根据权利要求2所述的方法,其特征在于,当所述目标存储时间信息为所述最晚的存储时间信息时,在所述根据所述地址索引区中的与所述目标存储时间信息对应的存储地址信息,在所述数据存储区中查找空闲的存储位置之后,所述方法还包括:
将查找到的所述空闲的存储位置的地址信息以及与所述指令接收时间对应的存储时间信息组成索引记录写入所述地址索引区。
4.根据权利要求1-3之一所述的方法,其特征在于,所述数据存储区中所存储的数据包括用于指示数据是否完整的数据标记;以及
所述根据所述地址索引区中的与所述目标存储时间信息对应的存储地址信息,在所述数据存储区中查找空闲的存储位置,包括:
在所述数据存储区中,从与所述目标存储时间信息对应的存储地址信息所指向的存储位置开始,查找所包括的数据标记用于指示数据不完整的数据;
将查找到的数据所在的存储位置作为空闲的存储位置。
5.根据权利要求1所述的方法,其特征在于,当根据所述地址索引区中的与所述目标存储时间信息对应的存储地址信息在所述数据存储区中没有查找到空闲的存储位置时,所述方法还包括:
确定所述地址索引区中存储的最早的存储时间信息;
根据所述最早的存储时间信息和预设时长,确定存储地址范围;
在所述数据存储区中,删除所述存储地址范围内的各个存储地址分别指向的存储位置内的数据;
选取所述存储地址范围内的至少一个存储地址所指向的存储位置作为空闲的存储位置。
6.根据权利要求1所述的方法,其特征在于,所述数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当所述数据操作指令为数据上传操作指令时,所述根据所述数据存储区操作地址,执行所述数据操作指令,包括:
对于所述数据存储区操作地址中的每个操作地址,读取该操作地址所指向的存储位置中的数据,若读取到的数据所包括的上传标记用于指示数据未被上传,则将读取到的数据上传至服务器。
7.根据权利要求1所述的方法,其特征在于,所述数据存储区中所存储的数据包括用于指示数据是否已被上传的上传标记;以及
当所述数据操作指令为数据删除操作指令时,所述根据所述数据存储区操作地址,执行所述数据操作指令,包括:
对于所述数据存储区操作地址中的操作地址,若该操作地址所指向的存储位置中的数据所包括的上传标记用于指示数据未被上传,则对该操作地址所指向的存储位置中的数据所包括的上传标记进行处理,以使经处理后的上传标记指示数据已被上传。
8.一种用于处理数据的装置,其特征在于,包括:
指令接收单元,用于接收数据操作指令;
操作地址确定单元,用于根据所述数据操作指令的时间参数,在地址索引区中确定与所述数据操作指令对应的数据存储区操作地址;其中,所述地址索引区存储数据存储区中所存储的数据的存储地址信息和存储时间信息;
指令执行单元,用于根据所述数据存储区操作地址,执行所述数据操作指令;
所述操作地址确定单元,具体用于当所述数据操作指令为数据写入操作指令时,所述根据所述数据操作指令的时间参数,在地址索引区中确定与所述数据操作指令对应的数据存储区操作地址,包括:确定接收所述数据操作指令的指令接收时间;根据所述指令接收时间,在地址索引区中确定目标存储时间信息;根据所述地址索引区中的与所述目标存储时间信息对应的存储地址信息,在所述数据存储区中查找空闲的存储位置;将查找到的所述空闲的存储位置的地址作为与所述数据操作指令对应的数据存储区操作地址;
所述操作地址确定单元,具体用于若所述地址索引区中存在与所述指令接收时间对应的存储时间信息,则将所述与所述指令接收时间对应的存储时间信息确定为目标存储时间信息;
所述操作地址确定单元,具体用于当所述数据操作指令为数据上传操作指令或数据删除操作指令时,所述根据所述数据操作指令的时间参数,在地址索引区中确定与所述数据操作指令对应的数据存储区操作地址,包括:确定所述数据操作指令指示的起始数据操作时间和截止数据操作时间;在地址索引区中确定与所述起始数据操作时间对应的存储时间信息,以及与所述截止数据操作时间对应的存储时间信息;根据所述起始数据操作时间和所述截止数据操作时间分别对应的存储时间信息所对应的存储地址信息,确定存储地址范围,并将所确定的存储地址范围作为与所述数据操作指令对应的数据存储区操作地址。
9.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
10.一种处理器,所述处理器用于运行程序,其中,所述程序运行时实现如权利要求1-7中任一所述的方法。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910987457.9A CN112685329B (zh) | 2019-10-17 | 2019-10-17 | 用于处理数据的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910987457.9A CN112685329B (zh) | 2019-10-17 | 2019-10-17 | 用于处理数据的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685329A CN112685329A (zh) | 2021-04-20 |
CN112685329B true CN112685329B (zh) | 2024-08-02 |
Family
ID=75444488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910987457.9A Active CN112685329B (zh) | 2019-10-17 | 2019-10-17 | 用于处理数据的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685329B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661722A (zh) * | 2022-03-23 | 2022-06-24 | 天津同阳科技发展有限公司 | 数据存储方法、数据索引方法及装置 |
CN117311610A (zh) * | 2023-09-06 | 2023-12-29 | 河南翔宇医疗设备股份有限公司 | 一种医疗数据的存储管理方法、系统及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253713A (zh) * | 2013-06-25 | 2014-12-31 | 阿里巴巴集团控股有限公司 | 一种监控环境下存储、读取数据包的方法及对应的装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686246B (zh) * | 2013-11-26 | 2017-03-15 | 小米科技有限责任公司 | 传输流视频选时播放方法、装置、设备及系统 |
CN104700861B (zh) * | 2013-12-27 | 2017-09-01 | 杭州海康威视系统技术有限公司 | 视音频数据存储的方法、系统及存储设备 |
CN104090987B (zh) * | 2014-07-28 | 2018-03-13 | 华中科技大学 | 一种历史数据存储及索引方法 |
CN104394476A (zh) * | 2014-11-28 | 2015-03-04 | 乐视致新电子科技(天津)有限公司 | 一种时移播放方法及媒体播放器 |
CN108427705B (zh) * | 2018-01-17 | 2022-04-12 | 平安科技(深圳)有限公司 | 电子装置、分布式系统日志查询方法及存储介质 |
CN108563532B (zh) * | 2018-02-28 | 2021-01-19 | 深圳和而泰家居在线网络科技有限公司 | 数据处理方法及相关装置 |
CN108399263B (zh) * | 2018-03-15 | 2022-03-01 | 北京大众益康科技有限公司 | 时序数据的存储和查询方法及存储和处理平台 |
-
2019
- 2019-10-17 CN CN201910987457.9A patent/CN112685329B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253713A (zh) * | 2013-06-25 | 2014-12-31 | 阿里巴巴集团控股有限公司 | 一种监控环境下存储、读取数据包的方法及对应的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112685329A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113297166B (zh) | 数据处理系统、方法以及装置 | |
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN109614404B (zh) | 一种数据缓存系统及方法 | |
CN111324665B (zh) | 一种日志回放方法及装置 | |
CN108932286B (zh) | 一种数据查询方法及装置 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN112685329B (zh) | 用于处理数据的方法及相关装置 | |
CN108280215B (zh) | 一种基于Solr的电商索引文件的混合式更新方法 | |
CN103425785A (zh) | 数据存储系统及其用户数据存储、读取方法 | |
WO2018014711A1 (zh) | 一种录像播放方法及装置 | |
CN109710396A (zh) | 一种信息采集及内存释放的方法及装置 | |
US20240264931A1 (en) | Storage optimization method and apparatus for distributed storage system | |
CN109213898A (zh) | 视频监控系统的录像检索方法及装置 | |
CN112925783A (zh) | 业务数据处理方法和装置、电子设备和存储介质 | |
CN114519055A (zh) | 数据存储方法及设备 | |
CN117076341A (zh) | 数据存储方法、装置、计算机设备及计算机可读存储介质 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
WO2019228009A1 (zh) | 一种lsm树的优化方法、装置及计算机设备 | |
CN116614532A (zh) | 一种车辆信息管理方法、系统及计算机存储介质 | |
WO2019179252A1 (zh) | 一种样本回放数据存取方法及装置 | |
CN112506922B (zh) | 面向混合固态存储系统的嵌入式IoT时序数据库设计方法 | |
CN112307272B (zh) | 确定对象之间关系信息的方法、装置、计算设备及存储介质 | |
CN112286448B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
CN115185458A (zh) | 一种数据写入方法、装置、存储介质和计算机设备 | |
CN106940660B (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 |