CN111367462B - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN111367462B CN111367462B CN201811594377.9A CN201811594377A CN111367462B CN 111367462 B CN111367462 B CN 111367462B CN 201811594377 A CN201811594377 A CN 201811594377A CN 111367462 B CN111367462 B CN 111367462B
- Authority
- CN
- China
- Prior art keywords
- node
- head
- tail
- data
- linked list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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
- G06F3/064—Management of blocks
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理方法及装置,该方法应用于非易失存储器,所述非易失存储器中设置有存储链表,所述存储链表包括至少一个链表节点,所述链表节点用于记录从预设逻辑块地址开始的N个块数据以及对应的时间戳。本发明实施例中,在非易失存储器中以链表方式实现对块数据的存储,具体来说,非易失存储器中设置有存储链表,存储链表包括至少一个链表节点,链表节点用于记录从预设逻辑块地址开始的N个块数据,以及所述N个块数据对应的时间戳,N为自然数。则一个链表节点中可以记录多个块数据,以及多个块数据对应的一个时间戳,相较于现有技术的一个块数据对应一个时间戳,能明显节省空间。
Description
技术领域
本发明涉及存储器处理技术领域,特别是涉及一种数据处理方法及装置。
背景技术
随着各种电子装置及嵌入式***等的发展,非易失性存储器件被广泛应用于电子产品中。在非易失存储中,可以设置有eMMC(embed Multi Media Card,嵌入式多媒体卡)控制器,eMMC的内存空间通常很小。
现有技术中,在eMMC中进行数据处理时,通常以数组方式实现块数据,每个数组中记录一个数据和一个用于表示数据处理时间戳的KEY。
然而,发明人在研究上述技术方案的过程中发现,上述技术方案存在如下缺陷:因为每个数组只存储一个数据,所以对空间的占用较大,使得eMMC中只能存储较少的数据。
发明内容
鉴于上述问题,提出了本发明实施例的一种数据处理方法及装置,以解决数组存储对空间占用大的问题。
根据本发明的第一方面,提供了一种数据处理方法,应用于非易失存储器,所述非易失存储器中设置有存储链表,所述存储链表包括至少一个链表节点,所述链表节点用于记录从预设逻辑块地址开始的N个块数据、以及所述N个块数据对应的时间戳,N为自然数;所述方法包括:
接收数据处理指令;所述数据处理指令对应有头逻辑块地址信息、块数据个数、处理时间戳;
根据所述头逻辑块地址信息和所述块数据个数,确定尾逻辑块地址信息;
确定所述头逻辑块地址信息在所述存储链表中对应的头链表节点,以及所述头逻辑块地址信息在所述头链表节点对应的头节点位置;
确定所述尾逻辑块地址信息在所述存储链表中对应的尾链表节点,以及所述尾逻辑块地址信息在所述头链表节点对应的尾节点位置;
删除所述头链表节点和所述尾链表节点之间的中间链表节点;
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳;
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述数据处理指令包括***数据指令;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,包括:
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述数据处理指令还对应有待***数据;所述处理时间戳包括***时间戳;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述头链表节点中头节点位置之前的数据;
删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
将所述待***数据中对应于所述头节点位置和所述头节点位置之后的位置的在前数据,从所述头节点位置开始***所述头链表节点,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述***时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述尾链表节点中尾节点位置之后的数据;
删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
将所述待***数据中对应于所述尾节点位置和所述尾节点位置之前的位置的在后数据,对应***所述尾节点位置和所述尾节点之前的位置,并修改所述尾节点位置和所述尾节点位置之前所对应的时间戳均为所述***时间戳;
所述方法还包括:
将所述待***数据中除所述在前数据和所述在后数据以外的中间数据,***到所述头链表节点和所述尾链表节点之间。
优选地,所述数据处理指令包括删除数据指令;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述处理时间戳包括:删除时间戳;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述头链表节点中头节点位置之前的数据;
删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述尾链表节点中尾节点位置之后的数据;
删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳。
根据本发明的第二方面,提供了一种数据处理装置,应用于非易失存储器,所述非易失存储器中设置有存储链表,所述存储链表包括至少一个链表节点,所述链表节点用于记录从预设逻辑块地址开始的N个块数据、以及所述N个块数据对应的时间戳,N为自然数;所述装置包括:
接收模块,用于接收数据处理指令;所述数据处理指令对应有头逻辑块地址信息、块数据个数、处理时间戳;
尾逻辑块地址信息确定模块,用于根据所述头逻辑块地址信息和所述块数据个数,确定尾逻辑块地址信息;
头节点位置确定模块,用于确定所述头逻辑块地址信息在所述存储链表中对应的头链表节点,以及所述头逻辑块地址信息在所述头链表节点对应的头节点位置;
尾节点位置确定模块,用于确定所述尾逻辑块地址信息在所述存储链表中对应的尾链表节点,以及所述尾逻辑块地址信息在所述头链表节点对应的尾节点位置;
中间链表节点删除模块,用于删除所述头链表节点和所述尾链表节点之间的中间链表节点;
头链表节点处理模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳;
尾链表节点处理模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述数据处理指令包括***数据指令;
所述头链表节点处理模块包括:
第一头链表节点处理子模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳;
所述尾链表节点处理模块包括:
第一尾链表节点处理子模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述数据处理指令还对应有待***数据;所述处理时间戳包括***时间戳;
所述第一头链表节点处理子模块包括:
第一保留单元,用于保留所述头链表节点中头节点位置之前的数据;
第一删除单元,用于删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
第一处理单元,用于将所述待***数据中对应于所述头节点位置和所述头节点位置之后的位置的在前数据,从所述头节点位置开始***所述头链表节点,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述***时间戳;
所述第一尾链表节点处理子模块包括:
第二保留单元,用于保留所述尾链表节点中尾节点位置之后的数据;
第二删除单元,用于删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
第二处理单元,将所述待***数据中对应于所述尾节点位置和所述尾节点位置之前的位置的在后数据,对应***所述尾节点位置和所述尾节点之前的位置,并修改所述尾节点位置和所述尾节点位置之前所对应的时间戳均为所述***时间戳;
所述装置还包括:
***模块,用于将所述待***数据中除所述在前数据和所述在后数据以外的中间数据,***到所述头链表节点和所述尾链表节点之间。
优选地,所述数据处理指令包括删除数据指令;
所述头链表节点处理模块包括:
第二头链表节点处理子模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据尾链表节点处理模块包括:
第二尾链表节点处理子模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述处理时间戳包括:删除时间戳;
所述第二头链表节点处理子模块包括:
第三保留单元,用于保留所述头链表节点中头节点位置之前的数据;
第三删除单元,用于删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
第一更改单元,用于更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳;
所述第二尾链表节点处理子模块包括:
第四保留单元,用于保留所述尾链表节点中尾节点位置之后的数据;
第四删除单元,用于删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
第二更改单元,用于更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳。
本发明实施例中,在非易失存储器中以链表方式实现对块数据的存储,具体来说,非易失存储器中设置有存储链表,存储链表包括至少一个链表节点,链表节点用于记录从预设逻辑块地址开始的N个块数据,以及所述N个块数据对应的时间戳,N为自然数。则一个链表节点中可以记录多个块数据,以及多个块数据对应的一个时间戳,相较于现有技术的一个块数据对应一个时间戳,能明显节省空间。本发明实施例中对该非易失存储器进行数据处理的具体实现为:接收对应有头逻辑块地址信息、块数据个数、处理时间戳的数据梳理指令后,可以根据头逻辑块地址信息和块数据个数,确定尾逻辑块地址信息;然后确定头逻辑块地址信息在存储链表中对应的头链表节点,以及头逻辑块地址信息在头链表节点对应的头节点位置;确定尾逻辑块地址信息在存储链表中对应的尾链表节点,以及尾逻辑块地址信息在头链表节点对应的尾节点位置;在非易失存储器进行处理时,无论是写入数据还是删除数据,原有的数据都会无效,因此删除头链表节点和尾链表节点之间的中间链表节点;再根据头逻辑块地址信息在头链表节点对应的头节点位置,在头链表节点中进行对应于数据处理指令的数据处理,且更改头链表节点中进行数据处理的位置所对应的时间戳为处理时间戳;根据尾逻辑块地址信息在尾链表节点对应的尾节点位置,在尾链表节点中进行对应于数据处理指令的数据处理,且更改尾链表节点中进行数据处理的位置所对应的时间戳为处理时间戳;从而实现对非易失存储器的数据处理。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种数据处理方法的流程图;
图2是本发明实施例提供的一种数据处理装置的框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,仅仅是本发明一部分实施例,而不是全部的实施例,并不用于限定本发明。
参照图1,示出了一种数据处理方法的流程图,应用于非易失存储器,所述非易失存储器中设置有存储链表,所述存储链表包括至少一个链表节点,所述链表节点用于记录从预设逻辑块地址开始的N个块数据、以及所述N个块数据对应的时间戳,N为自然数。
本发明实施例中,预设逻辑块地址可以为LBA0,LBA(Logic Block Address,逻辑块地址)是描述存储设备上数据所在区块地址的通用机制;示例的,一个链表节点中记录(LBA 0,CNT 100,KEY 55),其中CNT为块数据个数,KEY为块数据对应的时间戳;可以表示该链表节点中存储有从LBA 0开始的100个块数据,该100个块数据的存储时间戳标识为55。
该方法具体可以包括如下步骤:
步骤101:接收数据处理指令;所述数据处理指令对应有头逻辑块地址信息、块数据个数、处理时间戳。
本发明实施例中,数据处理指令可以是对应于非易失存储器的***指令、删除指令等,数据处理指令对应有待***数据的头逻辑块地址信息、块数据个数、处理时间戳。具体的,头逻辑块地址信息可以为待***数据中第一个块数据所对应的逻辑地址信息,块数据个数可以为待***数据中包括的块数据的个数;处理时间戳可以为接收到数据处理指令时对应的时间戳,也可以为处理该待***数据时对应的时间戳,本发明实施例对此不作具体限定。
示例的,数据处理指令可以对应有(LBA 10,CNT 6,KEY 66),则表明该数据处理指令要在LBA 10、LBA 11、LBA 12、LBA 13、LBA 14、LBA15进行6个块数据的处理,LBA 10为头逻辑块地址信息,处理时间戳可以用66标识。
步骤102:根据所述头逻辑块地址信息和所述块数据个数,确定尾逻辑块地址信息。
示例的,从头逻辑块地址信息开始,重复进行地址信息加1的操作,指导操作个数达到比该块数据个数少1位置,则可以得到为逻辑看地址信息。以数据处理指令可以对应有(LBA 10,CNT 6,KEY 66)为例,参照步骤101所述,可以确定出尾逻辑块地址信息为LBA 15。
可以理解,本领域技术人员可以根据实际的应用场景确定为逻辑块地址信息,本发明实施例对此不作具体限定。
步骤103:确定所述头逻辑块地址信息在所述存储链表中对应的头链表节点,以及所述头逻辑块地址信息在所述头链表节点对应的头节点位置。
本发明实施例中,示例说明,假设存储链表中包括3个链表节点第一个链表节点记录有(LBA 0,CNT 12,KEY 22),第二个链表节点记录有(LBA12,CNT 2,KEY 33),第三个链表节点记录有(LBA 14,CNT 5,KEY44),数据处理指令对应有(LBA 10,CNT 6,KEY 66),则可以确定出,头逻辑块地址信息LBA 10属于第一链表节点,则第一链表节点为头链表节点,且头逻辑块地址信息在该头链表节点对应的头节点位置为LBA 10。
步骤104:确定所述尾逻辑块地址信息在所述存储链表中对应的尾链表节点,以及所述尾逻辑块地址信息在所述头链表节点对应的尾节点位置。
以步骤103中的示例继续说明,因为尾逻辑块地址信息LBA 15属于第三链表节点,则第三链表节点为尾链表节点,且尾逻辑块地址信息在该尾链表节点对应的尾节点位置为LBA 15。
步骤105:删除所述头链表节点和所述尾链表节点之间的中间链表节点。
以步骤103中的示例继续说明,因为在对非易失存储器进行数据处理时,无论是***还是删除操作,都会将同一个地址中的数据进行删除,因此,可以将头链表节点和尾链表节点之间的第二个链表节点作为中间链表节点,删除该第二链表节点,及该第二链表节点中记录的内容。
步骤106:根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳。
步骤107:根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳。
本发明实施例中,通过步骤103和步骤104,可以确定出头逻辑块地址信息在头链表节点对应的头节点位置,以及尾逻辑块地址信息在尾链表节点对应的尾节点位置,因此可以根据头节点位置和尾节点位置进行对应于数据处理指令的数据处理,并将进行数据处理的位置所对应的时间戳修改为处理时间戳。
具体应用中,数据处理指令可以包括***数据指令或删除数据指令等。
在一种优选地实施例中,所述数据处理指令包括***数据指令;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳。
具体地,所述数据处理指令还对应有待***数据;所述处理时间戳包括***时间戳;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述头链表节点中头节点位置之前的数据;
删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
将所述待***数据中对应于所述头节点位置和所述头节点位置之后的位置的在前数据,从所述头节点位置开始***所述头链表节点,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述***时间戳。
本发明实施例中,因为头链表节点中头节点位置之前的数据没有进行***操作,因此,需要进行保留;头链表节点中头节点位置对应的数据和头节点位置之后的数据需要被替换,所以进行删除;然后将待***数据中对应于头节点位置和头节点位置之后的位置的在前数据,从头节点位置开始***所述头链表节点,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述***时间戳。
示例的,以步骤103中的示例继续说明,头节点位置为LBA 10,因此,将作为头链表节点的第一链表节点中,LBA 0至LBA 9对应的数据和时间戳保留,删除第一链表节点中LBA10、LBA 11之前对应的数据,将数据处理指令中对应与LBA 10、LBA 11的在前数据***到LBA 10、LBA 11,并修改LBA 10、LBA 11中记录的时间戳为***时间戳66。
类似地,所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,包括:
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳。
具体地,所述数据处理指令还对应有待***数据;所述处理时间戳包括***时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述尾链表节点中尾节点位置之后的数据;
删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
将所述待***数据中对应于所述尾节点位置和所述尾节点位置之前的位置的在后数据,对应***所述尾节点位置和所述尾节点之前的位置,并修改所述尾节点位置和所述尾节点位置之前所对应的时间戳均为所述***时间戳。
本发明实施例中,因为尾链表节点中尾节点位置之后的数据没有进行***操作,因此,需要进行保留;尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据需要被替换,所以进行删除;然后将待***数据中对应于尾节点位置和尾节点位置之前的位置的在后数据,对应***到尾节点位置和尾节点位置之前的位置,并修改所述尾节点位置和所述尾节点位置之前的位置所对应的时间戳均为所述***时间戳。
示例的,以步骤103中的示例继续说明,尾节点位置为LBA 15,因此,将作为尾链表节点的第三链表节点中,LBA 16至LBA 18对应的数据和时间戳保留,删除第三链表节点中LBA 14、LBA 15之前对应的数据,将数据处理指令中对应与LBA 14、LBA 15的在后数据***到LBA 14、LBA 15,并修改LBA 14、LBA 15中记录的时间戳为***时间戳66。
适应地,所述方法还包括:
将所述待***数据中除所述在前数据和所述在后数据以外的中间数据,***到所述头链表节点和所述尾链表节点之间。
示例的,以步骤103中的示例继续说明,对于数据处理指令对应的LBA12、LBA13可以作为中间数据,***到头链表节点和尾链表节点之间,完成数据***。
在一种优选地实施例中,所述数据处理指令包括删除数据指令;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳。
具体的,所述处理时间戳包括:删除时间戳;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述头链表节点中头节点位置之前的数据;
删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳。
本发明实施例中,因为头链表节点中头节点位置之前的数据没有进行删除操作,因此,需要进行保留;头链表节点中头节点位置对应的数据和头节点位置之后的数据需要被删除,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述删除时间戳。
示例的,以步骤103中的示例继续说明,头节点位置为LBA10,因此,将作为头链表节点的第一链表节点中,LBA 0至LBA 9对应的数据和时间戳保留,删除第一链表节点中LBA10、LBA 11之前对应的数据,并修改LBA10、LBA 11中记录的时间戳为***时间戳66。
类似地,所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述尾链表节点中尾节点位置之后的数据;
删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳。
本发明实施例中,因为尾链表节点中尾节点位置之后的数据没有进行删除操作,因此,需要进行保留;尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据需要删除;并修改所述尾节点位置和所述尾节点位置之前的位置所对应的时间戳均为所述删除时间戳。
示例的,以步骤103中的示例继续说明,尾节点位置为LBA15,因此,将作为尾链表节点的第三链表节点中,LBA 16至LBA 18对应的数据和时间戳保留,删除第三链表节点中LBA 14、LBA 15之前对应的数据,并修改LBA14、LBA 15中记录的时间戳为删除时间戳66。
本发明实施例中,在非易失存储器中以链表方式实现对块数据的存储,具体来说,非易失存储器中设置有存储链表,存储链表包括至少一个链表节点,链表节点用于记录从预设逻辑块地址开始的N个块数据,以及所述N个块数据对应的时间戳,N为自然数。则一个链表节点中可以记录多个块数据,以及多个块数据对应的一个时间戳,相较于现有技术的一个块数据对应一个时间戳,能明显节省空间。本发明实施例中对该非易失存储器进行数据处理的具体实现为:接收对应有头逻辑块地址信息、块数据个数、处理时间戳的数据梳理指令后,可以根据头逻辑块地址信息和块数据个数,确定尾逻辑块地址信息;然后确定头逻辑块地址信息在存储链表中对应的头链表节点,以及头逻辑块地址信息在头链表节点对应的头节点位置;确定尾逻辑块地址信息在存储链表中对应的尾链表节点,以及尾逻辑块地址信息在头链表节点对应的尾节点位置;在非易失存储器进行处理时,无论是写入数据还是删除数据,原有的数据都会无效,因此删除头链表节点和尾链表节点之间的中间链表节点;再根据头逻辑块地址信息在头链表节点对应的头节点位置,在头链表节点中进行对应于数据处理指令的数据处理,且更改头链表节点中进行数据处理的位置所对应的时间戳为处理时间戳;根据尾逻辑块地址信息在尾链表节点对应的尾节点位置,在尾链表节点中进行对应于数据处理指令的数据处理,且更改尾链表节点中进行数据处理的位置所对应的时间戳为处理时间戳;从而实现对非易失存储器的数据处理。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
参照图2,示出了一种数据处理装置的框图,应用于非易失存储器,所述非易失存储器中设置有存储链表,所述存储链表包括至少一个链表节点,所述链表节点用于记录从预设逻辑块地址开始的N个块数据、以及所述N个块数据对应的时间戳,N为自然数;所述装置包括:
接收模块210,用于接收数据处理指令;所述数据处理指令对应有头逻辑块地址信息、块数据个数、处理时间戳;
尾逻辑块地址信息确定模块220,用于根据所述头逻辑块地址信息和所述块数据个数,确定尾逻辑块地址信息;
头节点位置确定模块230,用于确定所述头逻辑块地址信息在所述存储链表中对应的头链表节点,以及所述头逻辑块地址信息在所述头链表节点对应的头节点位置;
尾节点位置确定模块240,用于确定所述尾逻辑块地址信息在所述存储链表中对应的尾链表节点,以及所述尾逻辑块地址信息在所述头链表节点对应的尾节点位置;
中间链表节点删除模块250,用于删除所述头链表节点和所述尾链表节点之间的中间链表节点;
头链表节点处理模块260,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳;
尾链表节点处理模块270,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述数据处理指令包括***数据指令;
所述头链表节点处理模块260包括:
第一头链表节点处理子模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳;
所述尾链表节点处理模块包括:
第一尾链表节点处理子模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述数据处理指令还对应有待***数据;所述处理时间戳包括***时间戳;
所述第一头链表节点处理子模块包括:
第一保留单元,用于保留所述头链表节点中头节点位置之前的数据;
第一删除单元,用于删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
第一处理单元,用于将所述待***数据中对应于所述头节点位置和所述头节点位置之后的位置的在前数据,从所述头节点位置开始***所述头链表节点,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述***时间戳;
所述第一尾链表节点处理子模块包括:
第二保留单元,用于保留所述尾链表节点中尾节点位置之后的数据;
第二删除单元,用于删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
第二处理单元,将所述待***数据中对应于所述尾节点位置和所述尾节点位置之前的位置的在后数据,对应***所述尾节点位置和所述尾节点之前的位置,并修改所述尾节点位置和所述尾节点位置之前所对应的时间戳均为所述***时间戳;
所述装置还包括:
***模块,用于将所述待***数据中除所述在前数据和所述在后数据以外的中间数据,***到所述头链表节点和所述尾链表节点之间。
优选地,所述数据处理指令包括删除数据指令;
所述头链表节点处理模块260包括:
第二头链表节点处理子模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据尾链表节点处理模块包括:
第二尾链表节点处理子模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳。
优选地,所述处理时间戳包括:删除时间戳;
所述第二头链表节点处理子模块包括:
第三保留单元,用于保留所述头链表节点中头节点位置之前的数据;
第三删除单元,用于删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
第一更改单元,用于更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳;
所述第二尾链表节点处理子模块包括:
第四保留单元,用于保留所述尾链表节点中尾节点位置之后的数据;
第四删除单元,用于删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
第二更改单元,用于更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳。
综上所述,本发明实施例中,在非易失存储器中以链表方式实现对块数据的存储,具体来说,非易失存储器中设置有存储链表,存储链表包括至少一个链表节点,链表节点用于记录从预设逻辑块地址开始的N个块数据,以及所述N个块数据对应的时间戳,N为自然数。则一个链表节点中可以记录多个块数据,以及多个块数据对应的一个时间戳,相较于现有技术的一个块数据对应一个时间戳,能明显节省空间。本发明实施例中对该非易失存储器进行数据处理的具体实现为:接收对应有头逻辑块地址信息、块数据个数、处理时间戳的数据梳理指令后,可以根据头逻辑块地址信息和块数据个数,确定尾逻辑块地址信息;然后确定头逻辑块地址信息在存储链表中对应的头链表节点,以及头逻辑块地址信息在头链表节点对应的头节点位置;确定尾逻辑块地址信息在存储链表中对应的尾链表节点,以及尾逻辑块地址信息在头链表节点对应的尾节点位置;在非易失存储器进行处理时,无论是写入数据还是删除数据,原有的数据都会无效,因此删除头链表节点和尾链表节点之间的中间链表节点;再根据头逻辑块地址信息在头链表节点对应的头节点位置,在头链表节点中进行对应于数据处理指令的数据处理,且更改头链表节点中进行数据处理的位置所对应的时间戳为处理时间戳;根据尾逻辑块地址信息在尾链表节点对应的尾节点位置,在尾链表节点中进行对应于数据处理指令的数据处理,且更改尾链表节点中进行数据处理的位置所对应的时间戳为处理时间戳;从而实现对非易失存储器的数据处理。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理方法和一种数据处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据处理方法,其特征在于,应用于非易失存储器,所述非易失存储器中设置有存储链表,所述存储链表包括至少一个链表节点,所述链表节点用于记录从预设逻辑块地址开始的N个块数据、以及所述N个块数据对应的时间戳,N为自然数;所述方法包括:
接收数据处理指令;所述数据处理指令对应有头逻辑块地址信息、块数据个数、处理时间戳;
根据所述头逻辑块地址信息和所述块数据个数,确定尾逻辑块地址信息;
确定所述头逻辑块地址信息在所述存储链表中对应的头链表节点,以及所述头逻辑块地址信息在所述头链表节点对应的头节点位置;
确定所述尾逻辑块地址信息在所述存储链表中对应的尾链表节点,以及所述尾逻辑块地址信息在所述头链表节点对应的尾节点位置;
删除所述头链表节点和所述尾链表节点之间的中间链表节点;
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳;
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳。
2.根据权利要求1所述的方法,其特征在于,所述数据处理指令包括***数据指令;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,包括:
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳。
3.根据权利要求2所述的方法,其特征在于,所述数据处理指令还对应有待***数据;所述处理时间戳包括***时间戳;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述头链表节点中头节点位置之前的数据;
删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
将所述待***数据中对应于所述头节点位置和所述头节点位置之后的位置的在前数据,从所述头节点位置开始***所述头链表节点,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述***时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述尾链表节点中尾节点位置之后的数据;
删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
将所述待***数据中对应于所述尾节点位置和所述尾节点位置之前的位置的在后数据,对应***所述尾节点位置和所述尾节点之前的位置,并修改所述尾节点位置和所述尾节点位置之前所对应的时间戳均为所述***时间戳;
所述方法还包括:
将所述待***数据中除所述在前数据和所述在后数据以外的中间数据,***到所述头链表节点和所述尾链表节点之间。
4.根据权利要求1所述的方法,其特征在于,所述数据处理指令包括删除数据指令;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳,包括:
根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳。
5.根据权利要求4所述的方法,其特征在于,所述处理时间戳包括:删除时间戳;
所述根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述头链表节点中头节点位置之前的数据;
删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳;
所述根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳,包括:
保留所述尾链表节点中尾节点位置之后的数据;
删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳。
6.一种数据处理装置,其特征在于,应用于非易失存储器,所述非易失存储器中设置有存储链表,所述存储链表包括至少一个链表节点,所述链表节点用于记录从预设逻辑块地址开始的N个块数据、以及所述N个块数据对应的时间戳,N为自然数;所述装置包括:
接收模块,用于接收数据处理指令;所述数据处理指令对应有头逻辑块地址信息、块数据个数、处理时间戳;
尾逻辑块地址信息确定模块,用于根据所述头逻辑块地址信息和所述块数据个数,确定尾逻辑块地址信息;
头节点位置确定模块,用于确定所述头逻辑块地址信息在所述存储链表中对应的头链表节点,以及所述头逻辑块地址信息在所述头链表节点对应的头节点位置;
尾节点位置确定模块,用于确定所述尾逻辑块地址信息在所述存储链表中对应的尾链表节点,以及所述尾逻辑块地址信息在所述头链表节点对应的尾节点位置;
中间链表节点删除模块,用于删除所述头链表节点和所述尾链表节点之间的中间链表节点;
头链表节点处理模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行对应于所述数据处理指令的数据处理,且更改所述头链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳;
尾链表节点处理模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行对应于所述数据处理指令的数据处理,且更改所述尾链表节点中进行数据处理的位置所对应的时间戳为所述处理时间戳。
7.根据权利要求6所述的装置,其特征在于,所述数据处理指令包括***数据指令;
所述头链表节点处理模块包括:
第一头链表节点处理子模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行***数据处理,且更改所述头链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳;
所述尾链表节点处理模块包括:
第一尾链表节点处理子模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行***数据处理,且更改所述尾链表节点中进行***数据处理的位置所对应的时间戳为所述处理时间戳。
8.根据权利要求7所述的装置,其特征在于,所述数据处理指令还对应有待***数据;所述处理时间戳包括***时间戳;
所述第一头链表节点处理子模块包括:
第一保留单元,用于保留所述头链表节点中头节点位置之前的数据;
第一删除单元,用于删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
第一处理单元,用于将所述待***数据中对应于所述头节点位置和所述头节点位置之后的位置的在前数据,从所述头节点位置开始***所述头链表节点,并修改所述头节点位置和所述头节点位置之后的位置所对应的时间戳均为所述***时间戳;
所述第一尾链表节点处理子模块包括:
第二保留单元,用于保留所述尾链表节点中尾节点位置之后的数据;
第二删除单元,用于删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
第二处理单元,将所述待***数据中对应于所述尾节点位置和所述尾节点位置之前的位置的在后数据,对应***所述尾节点位置和所述尾节点之前的位置,并修改所述尾节点位置和所述尾节点位置之前所对应的时间戳均为所述***时间戳;
所述装置还包括:
***模块,用于将所述待***数据中除所述在前数据和所述在后数据以外的中间数据,***到所述头链表节点和所述尾链表节点之间。
9.根据权利要求6所述的装置,其特征在于,所述数据处理指令包括删除数据指令;
所述头链表节点处理模块包括:
第二头链表节点处理子模块,用于根据所述头逻辑块地址信息在所述头链表节点对应的头节点位置,在所述头链表节点中进行删除数据处理,且更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳;
所述根据尾链表节点处理模块包括:
第二尾链表节点处理子模块,用于根据所述尾逻辑块地址信息在所述尾链表节点对应的尾节点位置,在所述尾链表节点中进行删除数据处理,且更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述处理时间戳。
10.根据权利要求9所述的装置,其特征在于,所述处理时间戳包括:删除时间戳;
所述第二头链表节点处理子模块包括:
第三保留单元,用于保留所述头链表节点中头节点位置之前的数据;
第三删除单元,用于删除所述头链表节点中头节点位置对应的数据和头节点位置之后的数据;
第一更改单元,用于更改所述头链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳;
所述第二尾链表节点处理子模块包括:
第四保留单元,用于保留所述尾链表节点中尾节点位置之后的数据;
第四删除单元,用于删除所述尾链表节点中尾节点位置对应的数据和尾节点位置之前的数据;
第二更改单元,用于更改所述尾链表节点中进行删除数据处理的位置所对应的时间戳为所述删除时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594377.9A CN111367462B (zh) | 2018-12-25 | 2018-12-25 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594377.9A CN111367462B (zh) | 2018-12-25 | 2018-12-25 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367462A CN111367462A (zh) | 2020-07-03 |
CN111367462B true CN111367462B (zh) | 2023-04-07 |
Family
ID=71208320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811594377.9A Active CN111367462B (zh) | 2018-12-25 | 2018-12-25 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367462B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003337722A (ja) * | 2002-03-13 | 2003-11-28 | Hitachi Ltd | 計算機システム |
CN108494735A (zh) * | 2018-02-13 | 2018-09-04 | 北京明朝万达科技股份有限公司 | 一种非法破解登录分析告警方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8615635B2 (en) * | 2007-01-05 | 2013-12-24 | Sony Corporation | Database management methodology |
-
2018
- 2018-12-25 CN CN201811594377.9A patent/CN111367462B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003337722A (ja) * | 2002-03-13 | 2003-11-28 | Hitachi Ltd | 計算機システム |
CN108494735A (zh) * | 2018-02-13 | 2018-09-04 | 北京明朝万达科技股份有限公司 | 一种非法破解登录分析告警方法及装置 |
Non-Patent Citations (1)
Title |
---|
Nasm汇编器的数据存储设计与实现;崔玉波;《科技创新导报》;20100121(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111367462A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
CN108039190B (zh) | 一种测试方法及装置 | |
CN107168651B (zh) | 一种小文件聚合存储处理方法 | |
CN113282249B (zh) | 一种数据处理方法、***、设备以及介质 | |
CN110504002B (zh) | 一种硬盘数据一致性测试方法与装置 | |
CN111158858A (zh) | 一种虚拟机的克隆方法和装置,及计算机可读存储介质 | |
CN111367462B (zh) | 一种数据处理方法及装置 | |
CN111367710B (zh) | 一种eMMC问题还原方法和装置 | |
CN111367464B (zh) | 一种存储空间管理方法及装置 | |
CN110908587A (zh) | 一种用于存储时序数据的方法及其装置 | |
CN111367461B (zh) | 一种存储空间管理方法及装置 | |
CN110019507B (zh) | 数据同步的方法及装置 | |
CN104252415A (zh) | 一种重新分布数据的方法和*** | |
CN109508446B (zh) | 一种日志处理方法和装置 | |
CN106598769A (zh) | Emmc烧录文件检验的方法及装置 | |
CN111367463B (zh) | 一种存储空间管理方法及装置 | |
CN109582938B (zh) | 报表生成方法和装置 | |
KR20200013886A (ko) | 해쉬체인 생성장치 및 해쉬체인 생성방법 | |
CN112882867B (zh) | 一种索引信息存储方法、装置及存储设备 | |
CN111949556A (zh) | 一种非易失存储器读处理方法及装置 | |
CN110634527B (zh) | 一种非易失存储器处理方法及装置 | |
CN111435285B (zh) | 存储卷写数据方法、装置、电子设备及机器可读存储介质 | |
CN107229419B (zh) | 基于三维闪存的数据写入方法及装置 | |
CN115221182A (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 | ||
CB02 | Change of applicant information |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Applicant after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Applicant before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |