CN112579595A - 数据处理方法、装置、电子设备及可读存储介质 - Google Patents
数据处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112579595A CN112579595A CN202011390276.7A CN202011390276A CN112579595A CN 112579595 A CN112579595 A CN 112579595A CN 202011390276 A CN202011390276 A CN 202011390276A CN 112579595 A CN112579595 A CN 112579595A
- Authority
- CN
- China
- Prior art keywords
- memory
- target
- data
- partitioned
- memory block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据处理方法、装置、电子设备及可读存储介质。所述方法包括:在接收到对待处理数据的写入操作的情况下,获取所述待处理数据对应的目标哈希值;获取预先申请的目标内存中的目标分区内存;获取所述目标分区内存中可用的与所述待处理数据对应的目标分片内存;根据所述目标分片内存中的各内存块的内存状态,获取所述各内存块中与所述待处理数据匹配的目标内存块;将所述待处理数据写入所述目标内存块;生成所述目标分区内存、所述目标分片内存和所述目标内存块对应的目标索引地址,并建立所述目标哈希值与所述目标索引地址之间的映射关系。本公开可以减少GC扫描对象的数量,降低了GC扫描消耗大量计算资源的问题,并降低了GC扫描对系统性能的影响。
Description
技术领域
本公开的实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、电子设备及可读存储介质。
背景技术
内存数据库是指一种将全部内容存放在内存中,而非传统数据库那样存放在外部存储器中的数据库。内存数据库指的是所有的数据访问控制都在内存中进行,由于内存的读写速度极快,随机访问时间更是可以纳秒计,所以这种数据库的读写性能很高,主要用在对性能要求极高的环境中。
基于Golang程序中支持原生map可以作为内存的数据结构。map是Golang中原生实现的哈希表,是Golang基本数据类型之一,在理想状态下可以实现O(1)复杂度的数据读写。原生map的内存数据库实现,一对简单的字符串(string)类型,会占用两个内存对象。Golang的GC是基于可达性分析(三色标记),当内存中存在大量堆对象时,GC扫描需要消耗大量计算资源。因此基于map的内存实现随着数据量的增加很容易受GC干扰,出现抖动,影响性能。
发明内容
本公开的实施例提供一种数据处理方法、装置、电子设备及可读存储介质,用以减少内存对象的数量,以降低GC对系统性能的影响。
根据本公开的实施例的第一方面,提供了一种数据处理方法,包括:
在接收到对待处理数据的写入操作的情况下,获取所述待处理数据对应的目标哈希值;
获取预先申请的目标内存中的目标分区内存;
获取所述目标分区内存中可用的与所述待处理数据对应的目标分片内存;
根据所述目标分片内存中的各内存块的内存状态,获取所述各内存块中与所述待处理数据匹配的目标内存块;
将所述待处理数据写入所述目标内存块;
生成所述目标分区内存、所述目标分片内存和所述目标内存块对应的目标索引地址,并建立所述目标哈希值与所述目标索引地址之间的映射关系。
可选地,在所述获取所述待处理数据对应的目标哈希值之前,还包括:
在本地内存中申请可用的预设大小的目标内存;
对所述目标内存进行内存划分,得到所述目标内存对应的多个分区内存;
对每个所述分区内存进行内存分片处理,得到每个所述分区内存对应的多个分片内存;每个所述分片内存中均包含有多个内存块。
可选地,所述获取所述待处理数据对应的目标哈希值,包括:
获取所述待处理数据中的关键词;
对所述关键词进行哈希处理,生成所述待处理数据对应的目标哈希值。
可选地,在所述建立并保存所述目标哈希值与所述目标分区内存、所述目标分片内存和所述目标内存块之间的映射关系之后,还包括:
获取用户输入的查询关键词;
对所述查询关键词进行哈希处理,生成所述查询关键词对应的第一哈希值;
根据哈希值与索引地址之间的映射关系,获取所述第一哈希值对应的第一索引地址;
根据所述第一索引地址,确定所述查询关键词对应的第一分区内存、第一分片内存和第一内存块;所述第一分片内存为所述第一分区内存中的一个分片内存,所述第一内存块为所述第一分片内存中的一个内存块;
从所述第一内存块内获取与所述查询关键词匹配的内存数据。
可选地,在所述建立并保存所述目标哈希值与所述目标分区内存、所述目标分片内存和所述目标内存块之间的映射关系之后,还包括:
获取用户输入的删除关键词;
对所述删除关键词进行哈希处理,生成所述删除关键词对应的第二哈希值;
根据哈希值与索引地址之间的映射关系,获取所述第二哈希值对应的第二索引地址;
根据所述第二索引地址,确定所述查询关键词对应的第二分区内存、第二分片内存和第二内存块;所述第二分片内存为所述第二分区内存中的一个分片内存,所述第二内存块为所述第二分片内存中的一个内存块;
从所述第二内存块内删除与所述删除关键词匹配的内存数据。
可选地,在所述从所述第二内存块内删除与所述删除关键词匹配的内存数据之后,还包括:
在所述第二内存块为所述第二分片内存中存储有数据的多个连续内存块中间的一个内存块时,获取所述多个连续内存块中最后一个内存块的剩余内存,及所述第二内存块中的数据占用内存;
在所述剩余内存大于或者等于所述数据占用内存的情况下,将所述第二内存块中的内存数据复制至所述最后一个内存块,并删除所述第二内存块;
在所述剩余内存小于所述数据占用内存的情况下,获取所述第二分片内存中位于所述多个连续内存块的位置之后的第三内存块,将所述第二内存块中的内存数据复制至所述第三内存块,并删除所述第二内存块。
根据本公开的实施例的第二方面,提供了一种数据处理装置,包括:
目标哈希值获取模块,用于在接收到对待处理数据的写入操作的情况下,获取所述待处理数据对应的目标哈希值;
目标分区内存获取模块,用于获取预先申请的目标内存中的目标分区内存;
目标分片内存获取模块,用于获取所述目标分区内存中可用的与所述待处理数据对应的目标分片内存;
目标内存块获取模块,用于根据所述目标分片内存中的各内存块的内存状态,获取所述各内存块中与所述待处理数据匹配的目标内存块;
待处理数据写入模块,用于将所述待处理数据写入所述目标内存块;
映射关系建立模块,用于生成所述目标分区内存、所述目标分片内存和所述目标内存块对应的目标索引地址,并建立所述目标哈希值与所述目标索引地址之间的映射关系。
可选地,还包括:
目标内存申请模块,用于在本地内存中申请可用的预设大小的目标内存;
分区内存获取模块,用于对所述目标内存进行内存划分,得到所述目标内存对应的多个分区内存;
分片内存获取模块,用于对每个所述分区内存进行内存分片处理,得到每个所述分区内存对应的多个分片内存;每个所述分片内存中均包含有多个内存块。
可选地,所述目标哈希值获取模块包括:
关键词获取单元,用于获取所述待处理数据中的关键词;
目标哈希值生成单元,用于对所述关键词进行哈希处理,生成所述待处理数据对应的目标哈希值。
可选地,还包括:
查询关键词获取模块,用于获取用户输入的查询关键词;
第一哈希值生成模块,用于对所述查询关键词进行哈希处理,生成所述查询关键词对应的第一哈希值;
第一索引地址获取模块,用于根据哈希值与索引地址之间的映射关系,获取所述第一哈希值对应的第一索引地址;
第一内存块确定模块,用于根据所述第一索引地址,确定所述查询关键词对应的第一分区内存、第一分片内存和第一内存块;所述第一分片内存为所述第一分区内存中的一个分片内存,所述第一内存块为所述第一分片内存中的一个内存块;
内存数据获取模块,用于从所述第一内存块内获取与所述查询关键词匹配的内存数据。
可选地,还包括:
删除关键词获取模块,用于获取用户输入的删除关键词;
第二哈希值生成模块,用于对所述删除关键词进行哈希处理,生成所述删除关键词对应的第二哈希值;
第二索引地址获取模块,用于根据哈希值与索引地址之间的映射关系,获取所述第二哈希值对应的第二索引地址;
第二内存块确定模块,用于根据所述第二索引地址,确定所述查询关键词对应的第二分区内存、第二分片内存和第二内存块;所述第二分片内存为所述第二分区内存中的一个分片内存,所述第二内存块为所述第二分片内存中的一个内存块;
内存数据删除模块,用于从所述第二内存块内删除与所述删除关键词匹配的内存数据。
可选地,还包括:
剩余内存获取模块,用于在所述第二内存块为所述第二分片内存中存储有数据的多个连续内存块中间的一个内存块时,获取所述多个连续内存块中最后一个内存块的剩余内存,及所述第二内存块中的数据占用内存;
第一内存块删除模块,用于在所述剩余内存大于或者等于所述数据占用内存的情况下,将所述第二内存块中的内存数据复制至所述最后一个内存块,并删除所述第二内存块;
第二内存块删除模块,用于在所述剩余内存小于所述数据占用内存的情况下,获取所述第二分片内存中位于所述多个连续内存块的位置之后的第三内存块,将所述第二内存块中的内存数据复制至所述第三内存块,并删除所述第二内存块。
根据本公开的实施例的第三方面,提供了一种电子设备,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的数据处理方法。
根据本公开的实施例的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的数据处理方法。
本公开的实施例提供了一种数据处理方法、装置、电子设备及可读存储介质,通过在接收到对待处理数据的写入操作的情况下,获取待处理数据对应的目标哈希值,获取预先申请的目标内存中的目标分区内存,获取目标分区内存中可用的与待处理数据对应的目标分片内存,根据目标分片内存中的各内存块的内存状态,获取各内存块中与待处理数据匹配的目标内存块,将待处理数据写入目标内存块,生成目标分区内存、目标分片内存和目标内存块对应的目标索引地址,并建立目标哈希值与目标索引地址之间的映射关系。本公开的实施例通过预先申请一个连续的目标内存进行内存数据的存储,该目标内存可以被GC视为一个内存对象,因此,可以减少GC扫描对象的数量,降低了GC扫描消耗大量计算资源的问题,并降低了GC扫描对系统性能的影响。
附图说明
为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开的实施例提供的一种数据处理方法的步骤流程图;
图2为本公开的实施例提供的一种数据处理装置的结构示意图。
具体实施方式
下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。
实施例一
参照图1,示出了本公开的实施例提供的一种数据处理方法的步骤流程图,如图1所示,该数据处理方法具体可以包括如下步骤:
步骤101:在接收到对待处理数据的写入操作的情况下,获取所述待处理数据对应的目标哈希值。
本公开的实施例可以应用于对在申请的目标内存中对内存数据进行处理的场景中。
待处理数据是指用于写入内存的数据。
写入操作是指用于将待处理数据写入内存的操作,在本示例中,写入操作可以为用户执行编写的将待处理输入写入内存的代码形成的操作等,具体地,对于写入操作的具体形成方式可以根据业务需求而定,本实施例对此不加以限制。
目标哈希值是指在对待处理数据进行哈希处理之后得到的哈希值。
在接收到待处理数据的写入操作之后,可以对待处理数据进行哈希处理,以得到待处理数据对应的目标哈希值,具体地,可以结合下述具体实现方式对获取目标哈希值的过程进行详细描述。
在本公开的实施例的一种具体实现方式中,上述步骤101可以包括:
子步骤A1:获取所述待处理数据中的关键词。
在本实施例中,待处理数据是以键值对的形式存在的,即key-value,待处理数据中的关键词,即key值。
在接收到待处理数据对应的写入操作之后,可以获取待处理数据中的关键词。
在获取到待处理数据中的关键词之后,执行子步骤A2。
子步骤A2:对所述关键词进行哈希处理,生成所述待处理数据对应的目标哈希值。
在获取到待处理数据中的关键词之后,可以对关键词进行哈希处理,以得到该关键词的哈希值,并将该哈希值作为目标哈希值。
在获取到待处理数据对应的目标哈希值之后,执行步骤102。
步骤102:获取预先申请的目标内存中的目标分区内存。
目标内存是指预先在内存中申请的可用的内存,在本实施中,可以预先在内存中申请一个可用的目标内存,并对目标内存进行分区处理,得到多个分区内存,进而在每个分区内存中进行分片处理,得到每个分区内存对应的多个分片内存,对于该过程可以结合下述具体实现方式进行详细描述。
在本公开的另一种具体实现方式中,在上述步骤101之前,还可以包括:
步骤B1:在本地内存中申请可用的预设大小的目标内存。
在本实施例中,可以预先在本地内存中申请一个可用的预设大小的目标内存,预设大小可以根据业务需求而定,本实施例对此不加以限制。
在本地内存中获取到目标内存之后,执行步骤B2。
步骤B2:对所述目标内存进行内存划分,得到所述目标内存对应的多个分区内存。
在得到目标内存之后,可以对目标内存进行内存划分,以得到目标内存对应的多个分区内存,例如,在得到目标内存A之后,可以将目标内存A划分为5个分区,得到分区内存1、分区内存2、分区内存3、分区内存4和分区内存5等。
对目标内存进行内存划分得到的多个分区内存的内存大小可以是相同的,也可以是不相同的,具体地,可以根据业务需求而定,本实施例对此不加以限制。
可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在对目标内存进行内存划分,得到目标内存对应的多个分区内存之后,执行步骤B3。
步骤B3:对每个所述分区内存进行内存分片处理,得到每个所述分区内存对应的多个分片内存;每个所述分片内存中均包含有多个内存块。
在得到目标内存对应的多个分区内存之后,可以对每个分区内存进行内存分片处理,以得到每个分区内存对应的多个分片内存,即将每个分区内存划分为多个内存区域,例如,得到的目标内存对应的多个分区内存为分区内存1和分区内存2,进而,可以将分区内存1划分为3个分片内存,即分区内存1对应的分片内存为分片内存1、分片内存2和分片内存3,并将分区内存2划分为3个分片内存,即分区内存2对应的分片内存为分片内存a、分片内存b和分片内存c等。
当然,对于多个分区内存而言,划分的分片内存的数量可以是相同的,也可以是不相同的。对于一个分区内存中的多个分片内存而言,多个分片内存的大小可以是相同的,也可以是不相同的,具体地,可以根据业务需求而定,本实施例对此不加以限制。
在对每个分区内存进行分片处理,得到每个分区内存对应的分片内存之后,在每个分片内存中均包含有多个内存块,内存块是指内存中存储单个对象的最小空间,在内存块中,内存块前3个32bit(96位)作为Head字段,分别标识为:Keylen、Value和Next,其中,Kyelen用于指示内存块中key的长度,Value用于指示内存块值的长度,Next用于指示指向下一个内存块的地址。
目标分区内存是指目标内存中处于可用状态的分区内存,在本实施例中,在将目标内存划分为多个分区内存之后,随着内存数据的存储,其中,有部分分区内存可能已存满数据,此时,该存满数据的分区内存不再用于后续的数据存储内存。
在接收到待处理数据对应的写入操作时,可以从目标内存中随机选取一个处于可用状态的分区内存,以作为目标分区内存,例如,在目标内存中处于可用状态的分区内存为分区内存1和分区内存3,此时,可以选择分区内存1作为目标分区内存,也可以选择分区内存2作为目标分区内存等。
可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在获取到目标分区内存之后,执行步骤103。
步骤103:获取所述目标分区内存中可用的与所述待处理数据对应的目标分片内存。
目标分片内存是指目标分区内存中处于可用状态的分片内存。
在获取到目标分区内存之后,可以获取目标分区内存中可用的与待处理数据对应的目标分片内存,可以理解地,目标分片内存可以从目标分区内存中的可用分片内存中随机选择的一个分片内存,例如,目标分片内存中处于可用状态的分片内存包括:分片内存1、分片内存2和分片内存3,可以选择分片内存1作为待处理数据的目标分片内存,也可以选择分片内存2作为待处理数据的目标分片内存,还可以选择分片内存3作为目标分片内存等。
可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在获取到目标分区内存中可用的与待处理数据对应的目标分片内存之后,执行步骤104。
步骤104:根据所述目标分片内存中的各内存块的内存状态,获取所述各内存块中与所述待处理数据匹配的目标内存块。
目标内存块是指目标分片内存中的用于写入待处理数据的内存块。
在获取到目标分片内存中可用的与待处理数据对应的目标分片内存之后,可以根据目标分片内存中的各内存块的内存状态,获取各内存块中与待处理数据匹配的目标内存块。
可以理解地,在一个分片内存中,各个内存块是连续的,在向内存块写入数据时,是按照连续内存块的顺序依次写入内存块的,例如,分片内存1中连续的内存块包括内存块1、内存块2、内存块3、内存块4、...、内存块n(n为正整数),开始时,这四个内存块的内存状态均为内存空闲状态,在需要向分片内存1写入数据时,首先向内存块1写入数据,在内存块1的内存状态为内存已满的状态时,则向内存块2写入数据,在内存块2的内存状态为内存已满的状态时,向内存块3写入数据,依次类推。
可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在根据目标分片内存中的各内存块的内存状态,获取到各内存块中与待处理数据匹配的目标内存块之后,执行步骤105。
步骤105:将所述待处理数据写入所述目标内存块。
在获取到目标内存块之后,可以将待处理数据线接入目标内存块,进而执行步骤106。
步骤106:生成所述目标分区内存、所述目标分片内存和所述目标内存块对应的目标索引地址,并建立所述目标哈希值与所述目标索引地址之间的映射关系。
目标索引地址是指用于存储待处理数据的索引地址。
在将待处理数据写入目标内存块之后,可以生成目标分区内存、目标分片内存和目标内存块对应的目标索引地址,并建立目标哈希值与目标索引地址之间的映射关系,进而,在后续用户查询内存数据时,可以根据查询关键词对应的哈希值,获取对应的索引地址,并结合索引地址查询得到查询关键词匹配的内存数据。
本公开的实施例通过预先申请一个连续的目标内存进行内存数据的存储,该目标内存可以被GC视为一个内存对象,因此,可以减少GC扫描对象的数量,降低了GC扫描消耗大量计算资源的问题,并降低了GC扫描对系统性能的影响。
对于查询内存数据的过程可以结合下述具体实现方式进行详细描述。
在本公开的实施例的另一种具体实现方式中,在上述步骤106之后,还可以包括:
步骤C1:获取用户输入的查询关键词。
在本实施例中,查询关键词是指用于查询内存数据的关键词。
在用户需要查询内存数据时,可以由用户输入查询语句,系统接收到该查询语句之后,可以对该查询语句进行解析,以获取其中包含的查询关键词。
在获取到用户输入的查询关键词之后,执行步骤C2。
步骤C2:对所述查询关键词进行哈希处理,生成所述查询关键词对应的第一哈希值。
第一哈希值是指查询关键词对应的哈希值。
在获取到用户输入的查询关键词之后,可以对查询关键词进行哈希处理,以得到查询关键词对应的哈希值,即第一哈希值。
在对查询关键词进行哈希处理生成查询关键词对应的第一哈希值之后,执行步骤C3。
步骤C3:根据哈希值与索引地址之间的映射关系,获取所述第一哈希值对应的第一索引地址。
第一索引地址是指与第一哈希值具有映射关系的用于存储查询关键词对应的数据的索引地址。
在获取到第一哈希值之后,可以根据哈希值与索引地址之间的映射关系,获取第一哈希值对应的第一索引地址。
在获取到第一哈希值对应的第一索引地址之后,执行步骤C4。
步骤C4:根据所述第一索引地址,确定所述查询关键词对应的第一分区内存、第一分片内存和第一内存块;所述第一分片内存为所述第一分区内存中的一个分片内存,所述第一内存块为所述第一分片内存中的一个内存块。
第一内存块是指用于存储查询关键词对应的内存数据的内存块。
第一内存块为第一分片内存中的一个内存块,第一分片内存为第一分区内存中的一个分片内存。
在获取到第一哈希值对应的第一索引地址之后,可以根据第一索引地址确定查询关键词对应的第一分区内存、第一分片内存和第一内存块。
在确定第一分区内存、第一分片内存和第一内存块之后,执行步骤C5。
步骤C5:从所述第一内存块内获取与所述查询关键词匹配的内存数据。
在确定第一分区内存、第一分片内存和第一内存块之后,可以从第一内存块内查询得到与查询关键词匹配的内存数据。
本公开的实施例通过预先建立内存数据的关键词与索引地址的映射关系,通过该映射关系可以实现内存数据的快速查询,提高了内存数据查询效率。
接下来结合具体实现方式对删除内存数据的过程进行详细描述。
在本公开的实施例的另一种具体实现方式中,在上述步骤106之后,还可以包括:
步骤D1:获取用户输入的删除关键词。
在本公开实施例中,删除关键词是指用于输入的用于删除内存数据的关键词。
在用户需要删除内存数据时,可以由用户输入删除语句,系统接收到该删除语句之后,可以对该删除语句进行解析,以获取其中包含的删除关键词。
在获取到用户输入的删除关键词之后,执行步骤C2。
步骤D2:对所述删除关键词进行哈希处理,生成所述删除关键词对应的第二哈希值。
第二哈希值是指删除关键词对应的哈希值。
在获取到用户输入的删除关键词之后,可以对删除关键词进行哈希处理,以得到删除关键词对应的哈希值,即第二哈希值。
在对删除关键词进行哈希处理生成删除关键词对应的第二哈希值之后,执行步骤D3。
步骤D3:根据哈希值与索引地址之间的映射关系,获取所述第二哈希值对应的第二索引地址。
第如索引地址是指与第二哈希值具有映射关系的用于存储删除关键词对应数据的索引地址。
在获取到第二哈希值之后,可以根据哈希值与索引地址之间的映射关系,获取第二哈希值对应的第二索引地址。
在获取到第二哈希值对应的第二索引地址之后,执行步骤D4。
步骤D4:根据所述第二索引地址,确定所述查询关键词对应的第二分区内存、第二分片内存和第二内存块;所述第二分片内存为所述第二分区内存中的一个分片内存,所述第二内存块为所述第二分片内存中的一个内存块。
第二内存块是指用于存储删除关键词对应的内存数据的内存块。
第二内存块为第二分片内存中的一个内存块,第二分片内存为第二分区内存中的一个分片内存。
在获取到第二哈希值对应的第二索引地址之后,可以根据第二索引地址确定删除关键词对应的第二分区内存、第二分片内存和第二内存块。
在确定第二分区内存、第二分片内存和第二内存块之后,执行步骤D5。
步骤D5:从所述第二内存块内删除与所述删除关键词匹配的内存数据。
在确定第二分区内存、第二分片内存和第二内存块之后,可以从第二内存块内删除与删除关键词匹配的内存数据。
本公开的实施例通过预先建立内存数据的关键词与索引地址的映射关系,通过该映射关系可以实现内存数据的快速删除,提高了删除内存数据的效率。
在本实施例中,还可以对某个分片内存中内存块进行整理,具体地,可以结合下述具体实现方式进行详细描述。
在本公开的实施例的另一种具体实现方式中,在上述步骤D5之后,还可以包括:
步骤E1:在所述第二内存块为所述第二分片内存中存储有数据的多个连续内存块中间的一个内存块时,获取所述多个连续内存块中最后一个内存块的剩余内存,及所述第二内存块中的数据占用内存。
在本公开的实施例中,在第二内存块为第二分片内存中存储有数据的多个连续内存块中间的一个内存块时,可以获取多个连续内存块中最后一个内存块的剩余内存,及第二内存块中的数据占用内存。
步骤E2:在所述剩余内存大于或者等于所述数据占用内存的情况下,将所述第二内存块中的内存数据复制至所述最后一个内存块,并删除所述第二内存块。
步骤E3:在所述剩余内存小于所述数据占用内存的情况下,获取所述第二分片内存中位于所述多个连续内存块的位置之后的第三内存块,将所述第二内存块中的内存数据复制至所述第三内存块,并删除所述第二内存块。
在剩余内存大于或者等于数据占用内存的情况下,可以将第二内存块中的内存数据复制至最后一个内存块,并删除第二内存块。
而在剩余内存小于数据占用内存的情况下,可以获取第二分片内存中位于多个连续内存块的位置之后的第三内存块,将第二内存块中的内存数据复制至第三内存块,并删除第二内存块。
可以理解地,由于将内存数据写入一个分片内存的内存块中是按照内存块的顺序写入的,本实施例通过对删除内存数据的内存块进行整理,可以避免出现空闲内存块的现象出现,能够提高内存利用率。
本公开的实施例提供的数据处理方法,通过在接收到对待处理数据的写入操作的情况下,获取待处理数据对应的目标哈希值,获取预先申请的目标内存中的目标分区内存,获取目标分区内存中可用的与待处理数据对应的目标分片内存,根据目标分片内存中的各内存块的内存状态,获取各内存块中与待处理数据匹配的目标内存块,将待处理数据写入目标内存块,生成目标分区内存、目标分片内存和目标内存块对应的目标索引地址,并建立目标哈希值与目标索引地址之间的映射关系。本公开的实施例通过预先申请一个连续的目标内存进行内存数据的存储,该目标内存可以被GC视为一个内存对象,因此,可以减少GC扫描对象的数量,降低了GC扫描消耗大量计算资源的问题,并降低了GC扫描对系统性能的影响。
实施例二
参照图2,示出了本公开的实施例提供的一种数据处理装置的结构示意图,如图2所示,该数据处理装置200具体可以包括如下模块:
目标哈希值获取模块210,用于在接收到对待处理数据的写入操作的情况下,获取所述待处理数据对应的目标哈希值;
目标分区内存获取模块220,用于获取预先申请的目标内存中的目标分区内存;
目标分片内存获取模块230,用于获取所述目标分区内存中可用的与所述待处理数据对应的目标分片内存;
目标内存块获取模块240,用于根据所述目标分片内存中的各内存块的内存状态,获取所述各内存块中与所述待处理数据匹配的目标内存块;
待处理数据写入模块250,用于将所述待处理数据写入所述目标内存块;
映射关系建立模块260,用于生成所述目标分区内存、所述目标分片内存和所述目标内存块对应的目标索引地址,并建立所述目标哈希值与所述目标索引地址之间的映射关系。
可选地,还包括:
目标内存申请模块,用于在本地内存中申请可用的预设大小的目标内存;
分区内存获取模块,用于对所述目标内存进行内存划分,得到所述目标内存对应的多个分区内存;
分片内存获取模块,用于对每个所述分区内存进行内存分片处理,得到每个所述分区内存对应的多个分片内存;每个所述分片内存中均包含有多个内存块。
可选地,所述目标哈希值获取模块210包括:
关键词获取单元,用于获取所述待处理数据中的关键词;
目标哈希值生成单元,用于对所述关键词进行哈希处理,生成所述待处理数据对应的目标哈希值。
可选地,还包括:
查询关键词获取模块,用于获取用户输入的查询关键词;
第一哈希值生成模块,用于对所述查询关键词进行哈希处理,生成所述查询关键词对应的第一哈希值;
第一索引地址获取模块,用于根据哈希值与索引地址之间的映射关系,获取所述第一哈希值对应的第一索引地址;
第一内存块确定模块,用于根据所述第一索引地址,确定所述查询关键词对应的第一分区内存、第一分片内存和第一内存块;所述第一分片内存为所述第一分区内存中的一个分片内存,所述第一内存块为所述第一分片内存中的一个内存块;
内存数据获取模块,用于从所述第一内存块内获取与所述查询关键词匹配的内存数据。
可选地,还包括:
删除关键词获取模块,用于获取用户输入的删除关键词;
第二哈希值生成模块,用于对所述删除关键词进行哈希处理,生成所述删除关键词对应的第二哈希值;
第二索引地址获取模块,用于根据哈希值与索引地址之间的映射关系,获取所述第二哈希值对应的第二索引地址;
第二内存块确定模块,用于根据所述第二索引地址,确定所述查询关键词对应的第二分区内存、第二分片内存和第二内存块;所述第二分片内存为所述第二分区内存中的一个分片内存,所述第二内存块为所述第二分片内存中的一个内存块;
内存数据删除模块,用于从所述第二内存块内删除与所述删除关键词匹配的内存数据。
可选地,还包括:
剩余内存获取模块,用于在所述第二内存块为所述第二分片内存中存储有数据的多个连续内存块中间的一个内存块时,获取所述多个连续内存块中最后一个内存块的剩余内存,及所述第二内存块中的数据占用内存;
第一内存块删除模块,用于在所述剩余内存大于或者等于所述数据占用内存的情况下,将所述第二内存块中的内存数据复制至所述最后一个内存块,并删除所述第二内存块;
第二内存块删除模块,用于在所述剩余内存小于所述数据占用内存的情况下,获取所述第二分片内存中位于所述多个连续内存块的位置之后的第三内存块,将所述第二内存块中的内存数据复制至所述第三内存块,并删除所述第二内存块。
本公开的实施例提供的数据处理装置,通过在接收到对待处理数据的写入操作的情况下,获取待处理数据对应的目标哈希值,获取预先申请的目标内存中的目标分区内存,获取目标分区内存中可用的与待处理数据对应的目标分片内存,根据目标分片内存中的各内存块的内存状态,获取各内存块中与待处理数据匹配的目标内存块,将待处理数据写入目标内存块,生成目标分区内存、目标分片内存和目标内存块对应的目标索引地址,并建立目标哈希值与目标索引地址之间的映射关系。本公开的实施例通过预先申请一个连续的目标内存进行内存数据的存储,该目标内存可以被GC视为一个内存对象,因此,可以减少GC扫描对象的数量,降低了GC扫描消耗大量计算资源的问题,并降低了GC扫描对系统性能的影响。
本公开的实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施例的数据处理方法。
本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的数据处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开的实施例的动态图片的生成设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
在接收到对待处理数据的写入操作的情况下,获取所述待处理数据对应的目标哈希值;
获取预先申请的目标内存中的目标分区内存;
获取所述目标分区内存中可用的与所述待处理数据对应的目标分片内存;
根据所述目标分片内存中的各内存块的内存状态,获取所述各内存块中与所述待处理数据匹配的目标内存块;
将所述待处理数据写入所述目标内存块;
生成所述目标分区内存、所述目标分片内存和所述目标内存块对应的目标索引地址,并建立所述目标哈希值与所述目标索引地址之间的映射关系。
2.根据权利要求1所述的方法,其特征在于,在所述获取所述待处理数据对应的目标哈希值之前,还包括:
在本地内存中申请可用的预设大小的目标内存;
对所述目标内存进行内存划分,得到所述目标内存对应的多个分区内存;
对每个所述分区内存进行内存分片处理,得到每个所述分区内存对应的多个分片内存;每个所述分片内存中均包含有多个内存块。
3.根据权利要求1所述的方法,其特征在于,所述获取所述待处理数据对应的目标哈希值,包括:
获取所述待处理数据中的关键词;
对所述关键词进行哈希处理,生成所述待处理数据对应的目标哈希值。
4.根据权利要求1所述的方法,其特征在于,在所述建立并保存所述目标哈希值与所述目标分区内存、所述目标分片内存和所述目标内存块之间的映射关系之后,还包括:
获取用户输入的查询关键词;
对所述查询关键词进行哈希处理,生成所述查询关键词对应的第一哈希值;
根据哈希值与索引地址之间的映射关系,获取所述第一哈希值对应的第一索引地址;
根据所述第一索引地址,确定所述查询关键词对应的第一分区内存、第一分片内存和第一内存块;所述第一分片内存为所述第一分区内存中的一个分片内存,所述第一内存块为所述第一分片内存中的一个内存块;
从所述第一内存块内获取与所述查询关键词匹配的内存数据。
5.根据权利要求1所述的方法,其特征在于,在所述建立并保存所述目标哈希值与所述目标分区内存、所述目标分片内存和所述目标内存块之间的映射关系之后,还包括:
获取用户输入的删除关键词;
对所述删除关键词进行哈希处理,生成所述删除关键词对应的第二哈希值;
根据哈希值与索引地址之间的映射关系,获取所述第二哈希值对应的第二索引地址;
根据所述第二索引地址,确定所述查询关键词对应的第二分区内存、第二分片内存和第二内存块;所述第二分片内存为所述第二分区内存中的一个分片内存,所述第二内存块为所述第二分片内存中的一个内存块;
从所述第二内存块内删除与所述删除关键词匹配的内存数据。
6.根据权利要求5所述的方法,其特征在于,在所述从所述第二内存块内删除与所述删除关键词匹配的内存数据之后,还包括:
在所述第二内存块为所述第二分片内存中存储有数据的多个连续内存块中间的一个内存块时,获取所述多个连续内存块中最后一个内存块的剩余内存,及所述第二内存块中的数据占用内存;
在所述剩余内存大于或者等于所述数据占用内存的情况下,将所述第二内存块中的内存数据复制至所述最后一个内存块,并删除所述第二内存块;
在所述剩余内存小于所述数据占用内存的情况下,获取所述第二分片内存中位于所述多个连续内存块的位置之后的第三内存块,将所述第二内存块中的内存数据复制至所述第三内存块,并删除所述第二内存块。
7.一种数据处理装置,其特征在于,包括:
目标哈希值获取模块,用于在接收到对待处理数据的写入操作的情况下,获取所述待处理数据对应的目标哈希值;
目标分区内存获取模块,用于获取预先申请的目标内存中的目标分区内存;
目标分片内存获取模块,用于获取所述目标分区内存中可用的与所述待处理数据对应的目标分片内存;
目标内存块获取模块,用于根据所述目标分片内存中的各内存块的内存状态,获取所述各内存块中与所述待处理数据匹配的目标内存块;
待处理数据写入模块,用于将所述待处理数据写入所述目标内存块;
映射关系建立模块,用于生成所述目标分区内存、所述目标分片内存和所述目标内存块对应的目标索引地址,并建立所述目标哈希值与所述目标索引地址之间的映射关系。
8.根据权利要求7所述的装置,其特征在于,还包括:
目标内存申请模块,用于在本地内存中申请可用的预设大小的目标内存;
分区内存获取模块,用于对所述目标内存进行内存划分,得到所述目标内存对应的多个分区内存;
分片内存获取模块,用于对每个所述分区内存进行内存分片处理,得到每个所述分区内存对应的多个分片内存;每个所述分片内存中均包含有多个内存块。
9.根据权利要求7所述的装置,其特征在于,所述目标哈希值获取模块包括:
关键词获取单元,用于获取所述待处理数据中的关键词;
目标哈希值生成单元,用于对所述关键词进行哈希处理,生成所述待处理数据对应的目标哈希值。
10.根据权利要求7所述的装置,其特征在于,还包括:
查询关键词获取模块,用于获取用户输入的查询关键词;
第一哈希值生成模块,用于对所述查询关键词进行哈希处理,生成所述查询关键词对应的第一哈希值;
第一索引地址获取模块,用于根据哈希值与索引地址之间的映射关系,获取所述第一哈希值对应的第一索引地址;
第一内存块确定模块,用于根据所述第一索引地址,确定所述查询关键词对应的第一分区内存、第一分片内存和第一内存块;所述第一分片内存为所述第一分区内存中的一个分片内存,所述第一内存块为所述第一分片内存中的一个内存块;
内存数据获取模块,用于从所述第一内存块内获取与所述查询关键词匹配的内存数据。
11.根据权利要求7所述的装置,其特征在于,还包括:
删除关键词获取模块,用于获取用户输入的删除关键词;
第二哈希值生成模块,用于对所述删除关键词进行哈希处理,生成所述删除关键词对应的第二哈希值;
第二索引地址获取模块,用于根据哈希值与索引地址之间的映射关系,获取所述第二哈希值对应的第二索引地址;
第二内存块确定模块,用于根据所述第二索引地址,确定所述查询关键词对应的第二分区内存、第二分片内存和第二内存块;所述第二分片内存为所述第二分区内存中的一个分片内存,所述第二内存块为所述第二分片内存中的一个内存块;
内存数据删除模块,用于从所述第二内存块内删除与所述删除关键词匹配的内存数据。
12.根据权利要求11所述的装置,其特征在于,还包括:
剩余内存获取模块,用于在所述第二内存块为所述第二分片内存中存储有数据的多个连续内存块中间的一个内存块时,获取所述多个连续内存块中最后一个内存块的剩余内存,及所述第二内存块中的数据占用内存;
第一内存块删除模块,用于在所述剩余内存大于或者等于所述数据占用内存的情况下,将所述第二内存块中的内存数据复制至所述最后一个内存块,并删除所述第二内存块;
第二内存块删除模块,用于在所述剩余内存小于所述数据占用内存的情况下,获取所述第二分片内存中位于所述多个连续内存块的位置之后的第三内存块,将所述第二内存块中的内存数据复制至所述第三内存块,并删除所述第二内存块。
13.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至6任一项所述的数据处理方法。
14.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至6任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011390276.7A CN112579595A (zh) | 2020-12-01 | 2020-12-01 | 数据处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011390276.7A CN112579595A (zh) | 2020-12-01 | 2020-12-01 | 数据处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579595A true CN112579595A (zh) | 2021-03-30 |
Family
ID=75126773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011390276.7A Pending CN112579595A (zh) | 2020-12-01 | 2020-12-01 | 数据处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579595A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094301A (zh) * | 2021-05-11 | 2021-07-09 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN113312522A (zh) * | 2021-06-30 | 2021-08-27 | 科东(广州)软件科技有限公司 | 内核对象的管理方法、装置、存储介质及电子设备 |
CN113362218A (zh) * | 2021-05-21 | 2021-09-07 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113626217A (zh) * | 2021-07-28 | 2021-11-09 | 北京达佳互联信息技术有限公司 | 异步消息处理方法、装置、电子设备和存储介质 |
WO2023241528A1 (zh) * | 2022-06-17 | 2023-12-21 | 阿里云计算有限公司 | 数据处理方法以及装置 |
-
2020
- 2020-12-01 CN CN202011390276.7A patent/CN112579595A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094301A (zh) * | 2021-05-11 | 2021-07-09 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN113362218A (zh) * | 2021-05-21 | 2021-09-07 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113312522A (zh) * | 2021-06-30 | 2021-08-27 | 科东(广州)软件科技有限公司 | 内核对象的管理方法、装置、存储介质及电子设备 |
CN113312522B (zh) * | 2021-06-30 | 2022-01-11 | 科东(广州)软件科技有限公司 | 内核对象的管理方法、装置、存储介质及电子设备 |
CN113626217A (zh) * | 2021-07-28 | 2021-11-09 | 北京达佳互联信息技术有限公司 | 异步消息处理方法、装置、电子设备和存储介质 |
WO2023241528A1 (zh) * | 2022-06-17 | 2023-12-21 | 阿里云计算有限公司 | 数据处理方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579595A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
US11706020B2 (en) | Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms | |
EP3260993A1 (en) | File operation method and device | |
CN111414389B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US9977598B2 (en) | Electronic device and a method for managing memory space thereof | |
US10649997B2 (en) | Method, system and computer program product for performing numeric searches related to biometric information, for finding a matching biometric identifier in a biometric database | |
US9069477B1 (en) | Reuse of dynamically allocated memory | |
US9201793B2 (en) | Facilitating profiling of applications for efficient loading | |
US20100188412A1 (en) | Content based cache for graphics resource management | |
US7877570B2 (en) | Consolidation of matching memory pages | |
CN108021333B (zh) | 随机读写数据的系统、装置及方法 | |
CA2865240A1 (en) | Method and apparatus for content derived data placement in memory | |
CN104794228A (zh) | 一种搜索结果提供方法及装置 | |
US10846338B2 (en) | Data processing device, data processing method, and non-transitory computer readable medium | |
US11385900B2 (en) | Accessing queue data | |
CN111914020A (zh) | 数据同步方法及装置、数据查询方法及装置 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN104035822A (zh) | 一种低开销的高效内存去冗余方法及系统 | |
US9858300B2 (en) | Hash based de-duplication in a storage system | |
CN111046106A (zh) | 缓存数据同步方法、装置、设备及介质 | |
CN116304079A (zh) | 基于时序的图谱数据管理方法、设备和可读存储介质 | |
US7505997B1 (en) | Methods and apparatus for identifying cached objects with random numbers | |
US20130198138A1 (en) | Model for capturing audit trail data with reduced probability of loss of critical data | |
CN114238264A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113419792A (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 |