字典数据处理方法、装置、电子设备及存储介质与流程

文档序号:28867350发布日期:2022-02-12 10:12阅读:139来源:国知局
字典数据处理方法、装置、电子设备及存储介质与流程

1.本公开涉及数据库技术领域,尤其涉及一种字典数据处理方法、装置、电子设备及存储介质。


背景技术:

2.数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
3.字典编码是一种常用的压缩算法,其将出现基数有限(cardinality较小,即取值值域有限)的字段,编码为一个字典及一系列实际值在字典中的索引。
4.相关技术中,在对针对大基数的变长字段利用字典编码处理时,由于大基数的变长字段具有数据分布特征不明显的字段内容,因此会造成字典编码运行开销过大,编码得到的字典太大,影响数据库引擎执行不稳定,进而降低了数据库的运行效率。


技术实现要素:

5.本公开提供一种字典数据处理方法、装置、电子设备及存储介质,以至少解决相关技术中数据库运行不稳定的问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种字典数据处理方法,包括:
7.获取待处理数据记录;针对所述待处理数据记录包含的至少一个变长字段,获取与所述变长字段对应的目标字典;所述变长字段具有至少一个字段值;
8.对于任一所述变长字段,将所述任一变长字段的各字段值对应的字典编码记录至所述任一变长字段对应的目标字典中;
9.若所述目标字典中的字典项总数量达到预设的数量阈值,且所述目标字典中各字典项的频次分布不满足频次分布条件,在执行完目标数据操作后,移除所述目标字典;所述目标数据操作为响应对所述待处理数据记录的数据查询请求而生成的数据查询操作,所述频次分布条件为根据有效字典中各字典项的频次分布确定得到的。
10.在一种可能实现方式,所述将所述任一变长字段的各字段值对应的字典编码记录至所述任一变长字段对应的目标字典中,包括:
11.对于任一所述字段值,在所述目标字典中匹配与所述字段值对应的字典项;
12.若所述目标字典中未匹配到与所述字段值对应的字典项,对所述字段值进行编码处理,得到所述字段值对应的字典编码;
13.将所述字段值对应的字典编码作为新的字典项记录至所述目标字典中。
14.在一种可能实现方式,每个所述字典项具有对应的字典索引,所述将各所述字段值对应的字典编码作为字典项记录至所述目标字典中,包括:
15.若所述目标字典中匹配到与所述字段值对应的字典项,确定所述字典项在所述目标字典中的字典索引;
16.建立所述字段值与所述字典索引之间的映射关系,以及,更新所述字典项的出现
频次。
17.在一种可能实现方式,还包括:
18.获取所述目标字典中各所述字典项的出现频次;
19.在各所述字典项的出现频次中确定出目标出现频次;所述目标出现频次与其他出现频次之间的差异满足预设条件;所述其他出现频次为各所述字典项的出现频次中除所述目标出现频次以外的出现频次;
20.当所述目标出现频次小于预设的频次阈值时,判定所述目标字典中各字典项的频次分布不满足所述频次分布条件。
21.在一种可能实现方式,所述在各所述字典项的出现频次中确定出目标出现频次,包括:
22.对各所述字典项的出现频次进行排序,得到排序后的出现频次;
23.根据所述排序后的出现频次的频次分布情况,在各所述字典项的出现频次中确定出目标出现频次。
24.在一种可能实现方式,所述根据所述排序后的出现频次的频次分布情况,在各所述字典项的出现频次中确定出目标出现频次,包括:
25.根据所述频次分布情况,确定预设分位处对应的出现频次;
26.将所述预设分位处对应的出现频次,作为所述目标出现频次。
27.在一种可能实现方式,所述移除所述目标字典,包括:
28.生成针对所述目标字典的抛弃标识;
29.其中,所述抛弃标识用于在执行完所述目标数据操作后,指示数据库引擎从预设的内存中移除所述目标字典。
30.根据本公开实施例的第二方面,提供一种字典数据处理装置,包括:
31.获取单元,被配置为执行获取待处理数据记录;针对所述待处理数据记录包含的至少一个变长字段,获取与所述变长字段对应的目标字典;各所述变长字段具有至少一个字段值;
32.记录单元,被配置为执行对于任一所述变长字段,将所述任一变长字段的各字段值对应的字典编码记录至所述任一变长字段对应的目标字典中;
33.移除单元,被配置为执行若所述目标字典中的字典项总数量达到预设的数量阈值,且所述目标字典中各字典项的频次分布不满足频次分布条件,在执行完目标数据操作后,移除所述目标字典;所述目标数据操作为响应对所述待处理数据记录的数据查询请求而生成的数据查询操作,所述频次分布条件为根据有效字典中各字典项的频次分布确定得到的。
34.在一种可能实现方式,所述记录单元,被配置为执行对于任一所述字段值,在所述目标字典中匹配与所述字段值对应的字典项;若所述目标字典中未匹配到与所述字段值对应的字典项,对所述字段值进行编码处理,得到所述字段值对应的字典编码;将所述字段值对应的字典编码作为新的字典项记录至所述目标字典中。
35.在一种可能实现方式,每个所述字典项具有对应的字典索引,所述记录单元,被配置为执行若所述目标字典中匹配到与所述字段值对应的字典项,确定所述字典项在所述目标字典中的字典索引;建立所述字段值与所述字典索引之间的映射关系,以及,更新所述字
典项的出现频次。
36.在一种可能实现方式,所述移除单元,被配置为执行获取所述目标字典中各所述字典项的出现频次;在各所述字典项的出现频次中确定出目标出现频次;所述目标出现频次与其他出现频次之间的差异满足预设条件;所述其他出现频次为各所述字典项的出现频次中除所述目标出现频次以外的出现频次;当所述目标出现频次小于预设的频次阈值时,判定所述目标字典中各字典项的频次分布不满足所述频次分布条件。
37.在一种可能实现方式,所述移除单元,被配置为执行对各所述字典项的出现频次进行排序,得到排序后的出现频次;根据所述排序后的出现频次的频次分布情况,在各所述字典项的出现频次中确定出目标出现频次。
38.在一种可能实现方式,所述移除单元,被配置为执行根据所述频次分布情况,确定预设分位处对应的出现频次;将所述预设分位处对应的出现频次,作为所述目标出现频次。
39.在一种可能实现方式,所述移除单元,被配置为执行生成针对所述目标字典的抛弃标识;其中,所述抛弃标识用于在执行完所述目标数据操作后,指示数据库引擎从预设的内存中移除所述目标字典。
40.根据本公开实施例的第三方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任一种可能实现方式所述的字典数据处理方法。
41.根据本公开实施例的第四方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任一种可能实现方式所述的字典数据处理方法。
42.根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一种可能实现方式所述的字典数据处理方法。
43.本公开的实施例提供的技术方案至少带来以下有益效果:通过获取待处理数据记录,并针对待处理数据记录包含的至少一个变长字段,获取预先在内存中构建的与变长字段对应的目标字典;各变长字段具有多个字段值;然后,通过将各字段值对应的字典编码作为字典项记录至目标字典中;若目标字典中的字典项总数量达到预设的数量阈值,则确定目标字典中目标字典项的出现频次;目标字典项的出现频次与其他字典项的出现频次之间的差异满足预设条件;其他字典项为目标字典中除目标字典项以外的字典项;若目标字典项的出现频次小于预设的频次阈值,则在基于目标字典中的字典编码执行完通过响应于对待处理数据记录的数据查询请求而生成的数据查询操作后从内存中移除目标字典;如此,可以避免将大基数变长字段所具有的数据分布特征不明显的所有字段值进行字典编码,从而避免了应编码得到的目标字典数据量过大而影响数据库引擎执行不稳定的情况发生,进而有效地提高了数据库的运行效率。
44.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
45.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
46.图1是根据一示例性实施例示出的一种字典数据处理方法的流程图。
47.图2是根据一示例性实施例示出的另一种字典数据处理方法的流程图。
48.图3是根据另一示例性实施例示出的一种字典数据处理方法的流程图。
49.图4是根据一示例性实施例示出的一种字典数据处理装置的框图。
50.图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
51.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
52.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
53.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
54.图1是根据一示例性实施例示出的一种字典数据处理方法的流程图,如图1所示,该种字典数据处理方法用于电子设备中,该电子设备可以是服务器,包括以下步骤。
55.在步骤s110中,获取待处理数据记录;针对待处理数据记录包含的至少一个变长字段,获取预先在内存中构建的与变长字段对应的目标字典;各变长字段具有多个字段值。
56.其中,待处理数据记录可以是指需要写入至数据库的数据记录。
57.其中,待处理数据记录可以是多张数据表。每张数据表中的一行称为一条记录(record)。
58.其中,字段可以是指一条记录的一个属性;例如信息记录中,某个字段age,字段值为28,字段类型为整型int。
59.其中,变长字段可以是指字段值的长度不固定的字段。实际应用中,变长字段可以是字符串字段。例如,信息记录中,某个字符串字段“city”具有多个字段值,如,“a chengshi”、“b chengshi”、“c chengshi”、“d chengshi”,上述字段值的长度并不固定;也就是说,字符串字段“city”为变长字段。
60.具体实现中,电子设备获取包含的至少一个变长字段处理数据记录;然后,电子设备则针对该变长字段预先在内存中构建的与变长字段对应的目标字典。具体来说,电子设备可以在内存中针对该变长字段构建哈希表做目标字典,并固定该目标字典的最大项数n。
61.在步骤s120中,对于任一所述变长字段,将所述任一变长字段的各字段值对应的字典编码记录至所述任一变长字段对应的目标字典中。
62.具体实现中,当目标字典当前项数小于n时,电子设备在获取到待处理数据记录后,电子设备可以尝试对变长字段的字段值进行字段编码,即电子设备可以将各字段值对应的字典编码作为字典项记录至目标字典中,以及,将该对应的字段值的索引字段(index字段)更新为其在目标字典中的索引。
63.在步骤s130中,若所述目标字典中的字典项总数量达到预设的数量阈值,且所述目标字典中各字典项的频次分布不满足频次分布条件,在执行完目标数据操作后,移除所述目标字典。
64.其中,数量阈值可以是目标字典的最大项数。
65.其中,目标数据操作为通过响应于对待处理数据记录的数据查询请求而生成的数据查询操作。
66.具体实现中,若电子设备确定目标字典中的字典项总数量达到预设的数量阈值即字典已达最大项,且还存在未被记录在目标字典的字段值时,电子设备则需要进行执行判断是否要抛弃该目标字典的决策。具体来说,电子设备可以在目标字典中确定目标字典项的出现频次。其中,目标字典项的出现频次与其他字典项的出现频次之间的差异满足预设条件;其他字典项为目标字典中除目标字典项以外的字典项。
67.具体来说,电子设备可以对目标字典中各个字典项的出现次数进行统计,得到各个字典项的出现频次。例如,已知待处理数据记录中的字符串字段“city”中有三个“a chengshi”字段值,即“a chengshi”这一个字段值在待处理数据记录中出现了三次,即该“a chengshi”这一个字段值对应的字典项的出现频次为3次。然后,电子设备可以将目标字典中出现频次o的p分位数(例如90分位)的字典项的出现频次作为上述目标字典项的出现频次。
68.电子设备在确定目标字典项的出现频次后,电子设备则将该目标字典项的出现频次与预设的频次阈值进行比对,若电子设备确定该目标字典项的出现频次小于预设的频次阈值,则说明该变长字段的字段基数过大,若将该变长字段的所有字段值进行字段编码会使到该变长字段对应的目标字典过大,容易导致数据库引擎执行不稳定的情况。因此,电子设备则执行对目标字典进行舍弃的策略。即电子设备在基于目标字典中的字典编码执行完目标数据操作后从内存中移除目标字典。
69.其中,目标数据操作为通过响应于对待处理数据记录的数据查询请求而生成的数据查询操作。具体来说,对待处理数据记录的数据查询请求可以是指sql查询语句;电子设备在响应于对待处理数据记录的数据查询请求生成的数据查询操作的过程中,电子设备可以根据sql查询语句的语义的定义,针对每个算子及其要处理的数据类型,生成或编排出特定的数据操作过程,而算子的执行效率与其操作的数据类型是密切相关的。
70.为了使不同算子可以对目标字典中的字典编码进行处理,需要对各个算子进行改写。
71.1)scan算子(扫描算子):
72.scan算子是算子树中的叶子结点,其直接从分布式文件系统或数据库中读取查询所操作的原始数据。字典编码规则基于原始数据中的变长字段是否已经进行字典编码进行决策。电子设备可以对scan算子及表达式改写,以实现当原始数据已经做了字典编码(例如parquet/orc等数据存储格式),修改scan算子,使其返回的行的该字段直接包含字典索引,
同时返回字段字典。当原始数据中变长字段并未进行字典编码,且存储格式是包含字典编码优化的格式(如parquet/orc等),则说明该变长字段基数较大,不适合进行字段编码优化,忽略对该字段的字典编码。当原始数据的变长字段未进行字典编码,且存储格式不包含字典编码的优化,则在scan算子后插入maydictencode算子,尝试在读出变长字段后,对字段内容进行字典编码。
73.2)exchange算子:
74.exchange算子是执行计划中负责接收rowbatch的算子,对应的发送端是exchange sender算子;电子设备可以对exchange算子及表达式改写,以实现加入字典分发、合并逻辑。其中,字典分发:在shuffle(数据混洗流程),针对每个shuffle block,基于内存中字典及block中索引号,创建子字典sub-dictionary,更新block中对应字段的索引指向新字典,并随shuffle数据一同传输给发起shuffle读的下游进程。
75.字典合并:在shuffle读侧,首先反序列化出第一个拿到的子字典,并将后续到达的子字典合并至该字典。当新字典的entry在当前字典中存在时,更新对应行的索引指向已有字典项,若entry不存在时,则插入字典,并同时更新索引。
76.3)字典解码算子:
77.电子设备可以对字典解码算子及表达式改写,以实现当数据要输出给用户或者存储为新文件时:
78.若输出格式可进行字典编码时,修改datawriter算子,直接将内存中的字典及对字典的索引存储至对应文件位置字符串字段
79.若输出给用户或不可进行字典编码时,则插入dictdecode算子,将内存中的字典及对其索引进行解码到相应位置,返回给用户。
80.4)filter算子:
81.filter算子(filter(operator)),即筛选算子,按其中定义的筛选表达式,找出符合条件的记录。电子设备可以对filter算子及表达式改写,以实现将筛选条件基于内存字典进行编码,将筛选条件转化为基于字典索引的筛选。例如y=“a chengshi”,通过查询“a chengshi”在字典中的索引为3,将filter算子中的表达式修改为newy=3。
82.5)project算子:
83.project(operator)即映射算子,根据映射规则,对记录中的字段进行计算。电子设备可以对project算子及表达式改写,以实现针对当前字典项进行逐行计算,形成新字典,例如substr(y,3),当处理到“a chengshi”字典项时,形成的新字典的对应项为“bei”。
84.新字典相同值合并:project算子操作字典项后,生成的新项可能是重复的,为保证字典项唯一性,须对新字典进行去重,并更新字典索引,使其指向新位置。
85.6)aggregate算子:
86.aggregate(operator)即聚合算子,根据分组规则,对数据分组聚合,例如求出男/女员工的总数,其中男/女为分组规则(grouping key),总数sum为聚合表达式(aggregate function)。电子设备可以对aggregate算子及表达式改写,以实现当字典列为grouping key时,基于字典索引构建哈希表/进行排序,从而减少构建过程中对变长字段的反复操作。
87.7)join算子:
88.join(operator)即连接算子,根据连接键,将两张来源不同的表中对应行组织成
一条或多条新的记录。电子设备可以对join算子及表达式改写,以实现当两表的join key为字典编码时,则需要首先合并两个字典,并更新记录中对字典项的索引指向新字典,后续连接操作直接基于字典索引进行比对。当非join key为字典编码时,则可以保持字典、以及对字典的索引项不变,构造出连接后的记录。
89.上述字典数据处理方法中,通过获取待处理数据记录,并针对待处理数据记录包含的至少一个变长字段,获取预先在内存中构建的与变长字段对应的目标字典;各变长字段具有多个字段值;然后,通过将各字段值对应的字典编码作为字典项记录至目标字典中;若目标字典中的字典项总数量达到预设的数量阈值,则确定目标字典中目标字典项的出现频次;目标字典项的出现频次与其他字典项的出现频次之间的差异满足预设条件;其他字典项为目标字典中除目标字典项以外的字典项;若目标字典项的出现频次小于预设的频次阈值,则在基于目标字典中的字典编码执行完通过响应于对待处理数据记录的数据查询请求而生成的数据查询操作后从内存中移除目标字典;如此,可以避免将大基数变长字段所具有的数据分布特征不明显的所有字段值进行字典编码,从而避免了应编码得到的目标字典数据量过大而影响数据库引擎执行不稳定的情况发生,进而有效地提高了数据库的运行效率。
90.在一示例性实施例中,将各字段值对应的字典编码作为字典项记录至目标字典中,包括:对于任一字段值,在目标字典中匹配与字段值对应的字典项;若目标字典中未匹配到与字段值对应的字典项,对字段值进行编码处理,得到字段值对应的字典编码;将字段值对应的字典编码作为新的字典项记录至目标字典中。
91.具体实现中,电子设备在将各字段值对应的字典编码作为字典项记录至目标字典中过程中,电子设备可以查询目标字典中是否已存在有与字段值对应的字典项;若该目标字典中不存在与字段值对应的字典项,则说明此时目标字段仍未记录有该字段值对应的字典编码;此时,电子设备则对该字段值进行字典编码处理,得到字段值对应的字典编码。最后,电子设备则将该字段值对应的字典编码作为新的字典项记录至目标字典中。
92.本实施例的技术方案,在将各字段值对应的字典编码作为字典项记录至目标字典中,通过查询目标字典中是否已存在有与字段值对应的字典项,只有在目标字典中不存在与字段值对应的字典项的情况下,电子设备才字段值进行字典编码处理,得到字段值对应的字典编码;将字段值对应的字典编码作为新的字典项记录至目标字典中,从而可以避免对已记录在目标字典的字段值进行重复字典编码,提高了电子设备的运行效率。
93.在一示例性实施例中,每个字典项具有对应的字典索引,将各字段值对应的字典编码作为字典项记录至目标字典中,包括:若目标字典中存在与字段值对应的字典项,则确定字段值对应的字典项为已有字典项;将字段值对应的索引字段更新为已有字典项对应的字典索引,以及,更新已有字典项的出现频次。
94.具体实现中,每个字典项具有对应的字典索引,电子设备在将各字段值对应的字典编码作为字典项记录至目标字典中,若电子设备检测到目标字典中存在与字段值对应的字典项,电子设备则将该字段值对应的字典项确定为已有字典项。然后,电子设备则将该字段值对应的索引字段更新为已有字典项对应的字典索引,以及,更新已有字典项的出现频次即在更新目标字典对应项此字段值出现的次数occurrence。
95.本实施例的技术方案,若目标字典中存在与字段值对应的字典项,则确定字段值
对应的字典项为已有字典项,则直接将字段值对应的索引字段更新为已有字典项对应的字典索引,以及,更新已有字典项的出现频次,无需对已记录在目标字典的字段值进行重复字典编码,避免电子设备处理资源的无效占用。
96.在一示例性实施例中,方法还包括:若目标字典中不存在与字段值对应的字典项,则将字段值记录至预设的目标存储位置;若目标字典中存在与字段值对应的字典项,则将字段值对应的索引字段更新为已有字典项对应的字典索引。
97.具体实现中,若电子设备检测到目标字典中的字典项的总数量达到数量阈值即字典已达最大项,电子设备在获取待处理数据记录之后,若电子设备确定目标字典中不存在与字段值对应的字典项,为了不再增加字典大小,电子设备则直接记录下该字段值(value值)即电子设备将该字段值记录至预设的目标存储位置。
98.若电子设备确定目标字典中存在与字段值对应的字典项即该目标字典中已存在有该字段值对应的字典项,此时电子设备则将该字段值对应的索引字段更新为已有字典项对应的字典索引,并在更新目标字典对应项此字段值出现的次数occurrence。
99.本实施例的技术方案,若目标字典中的字典项的总数量达到数量阈值,且目标字典中不存在与字段值对应的字典项,通过将字段值记录至预设的目标存储位置,可以实现在准确记录下待处理数据记录的同时,避免无节制地扩大目标字典的数据量。
100.图2是根据一示例性实施例示出的另一种字典数据处理方法的流程图,如图2所示,包括以下步骤:
101.在步骤s21o中,获取待处理数据记录;针对所述待处理数据记录包含的至少一个变长字段,获取预先在内存中构建的与所述变长字段对应的目标字典;各所述变长字段具有多个字段值。
102.在步骤s22o中,查询所述目标字典中是否已存在有与所述字段值对应的字典项;
103.在步骤s221中,若所述目标字典中不存在与所述字段值对应的字典项,则对所述字段值进行字典编码处理,得到所述字段值对应的字典编码。
104.在步骤s222中,将所述字段值对应的字典编码作为新的字典项记录至所述目标字典中。
105.在步骤s223中,若所述目标字典中存在与所述字段值对应的字典项,则确定所述字段值对应的字典项为已有字典项。
106.在步骤s224中,将所述字段值对应的索引字段更新为所述已有字典项对应的字典索引,以及,更新所述已有字典项的出现频次。
107.在步骤s230中,若所述目标字典中的字典项总数量达到预设的数量阈值,则获取所述目标字典中的各字典项的出现频次。
108.在步骤s240中,对各所述字典项的出现频次进行排序,得到排序后的出现频次。
109.在步骤s250中,在所述排序后的出现频次中,确定出处于预设分位的目标出现频次。
110.在步骤s260中,若所述目标出现频次小于预设的频次阈值,则在基于所述目标字典中的字典编码执行完目标数据操作后从所述内存中移除所述目标字典;所述目标数据操作为通过响应于对所述待处理数据记录的数据查询请求而生成的数据查询操作。
111.需要说明的是,上述步骤的具体限定可以参见上文对一种字典数据处理方法的具
体限定,在此不再赘述。
112.在一示例性实施例中,在基于目标字典中的字典编码执行完目标数据操作后从内存中移除目标字典,包括:生成针对目标字典的抛弃标识;其中,抛弃标识用于在基于目标字典中的字典编码执行完目标数据操作后,指示数据库引擎从内存中移除目标字典。
113.具体实现中,电子设备在基于目标字典中的字典编码执行完目标数据操作后从内存中移除目标字典的过程中,电子设备可以生成针对目标字典的抛弃标识,具体来说,电子设备可以在数据库引擎中将该目标字典的抛弃字典标识位设置为true。当数据库引擎检测到该目标字典的抛弃字典标识位为true时,则说明该变长字段一部分记录进行了字典编码。电子设备则在后续算子对该字段使用时,进行基于字典索引的解码,当已处理完所有编码字段后,从内存中移除此字典。
114.本实施例的技术方案,通过生成针对目标字典的抛弃标识,从而可以准确地指示数据库引擎在基于目标字典中的字典编码执行完目标数据操作后从内存中移除目标字典。
115.在一示例性实施例中,确定目标字典中的目标字典项的出现频次,包括:获取目标字典中的各字典项的出现频次;对各字典项的出现频次进行排序,得到排序后的出现频次;根据排序后的出现频次的分布情况,确定出目标字典项的出现频次。
116.其中,在排序后的出现频次中,确定出处于预设分位的目标出现频次;将目标出现频次,作为目标字典项的出现频次。
117.具体实现中,电子设备在确定目标字典中的目标字典项的出现频次的过程中,电子设备可以获取目标字典中的各字典项的出现频次;然后,电子设备按照出现频次从大到小的顺序,对各字典项的出现频次进行排序,得到排序后的出现频次。然后,电子设备可以根据排序后的出现频次的分布情况,确定出目标字典项的出现频次。具体来说,电子设备可以在排序后的出现频次中,确定出处于预设分位的目标出现频次;最后,电子设备将目标出现频次,作为目标字典项的出现频次。
118.实际应用中,预设分位可以是90分位,例如,电子设备可以在在排序后的出现频次中确定处于90分位的目标出现频次即确定字典中出现频次o为排序后的出现频次中的90分位数的字典项出现频次,作为目标出现频次。使得该目标出现频次与其他字典项的出现频次之间的差异满足预设条件;所述其他字典项为所述目标字典中除所述目标字典项以外的字典项
119.本实施例的技术方案,通过获取目标字典中的各字典项的出现频次,并对各字典项的出现频次进行排序,得到排序后的出现频次,再根据排序后的出现频次的分布情况,确定出目标字典项的出现频次,从而可以准确地在各字典项的出现频次中确定出出现频次与其他字典项的出现频次之间的差异满足预设条件的目标字典项。
120.图3是根据另一示例性实施例示出的一种字典数据处理方法的流程图,如图3所示,包括以下步骤:
121.在步骤s310中,获取待处理数据记录;针对所述待处理数据记录包含的至少一个变长字段,获取预先在内存中构建的与所述变长字段对应的目标字典;各所述变长字段具有多个字段值。
122.在步骤s320中,将各所述字段值对应的字典编码作为字典项记录至所述目标字典中。
123.在步骤s330中,若所述目标字典中的字典项总数量达到预设的数量阈值,则获取所述目标字典中的各字典项的出现频次。
124.在步骤s340中,对各所述字典项的出现频次进行排序,得到排序后的出现频次。
125.在步骤s350中,在所述排序后的出现频次中,确定出处于预设分位的目标出现频次。
126.在步骤s360中,若所述目标出现频次小于预设的频次阈值,则生成针对所述目标字典的抛弃标识;其中,所述抛弃标识用于在基于所述目标字典中的字典编码执行完目标数据操作后,指示数据库引擎从所述内存中移除所述目标字典;所述目标数据操作为通过响应于对所述待处理数据记录的数据查询请求而生成的数据查询操作。
127.需要说明的是,上述步骤的具体限定可以参见上文对一种字典数据处理方法的具体限定,在此不再赘述。
128.应该理解的是,虽然图1、图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图2和图3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
129.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
130.图4是根据一示例性实施例示出的一种字典数据处理装置框图。参照图4,该装置包括:
131.获取单元410,被配置为执行获取待处理数据记录;针对所述待处理数据记录包含的至少一个变长字段,获取预先在内存中构建的与所述变长字段对应的目标字典;各所述变长字段具有多个字段值;
132.记录单元420,被配置为执行将各所述字段值对应的字典编码作为字典项记录至所述目标字典中;
133.确定单元430,被配置为执行若所述目标字典中的字典项总数量达到预设的数量阈值,则确定所述目标字典中目标字典项的出现频次;所述目标字典项的出现频次与其他字典项的出现频次之间的差异满足预设条件;所述其他字典项为所述目标字典中除所述目标字典项以外的字典项;
134.移除单元440,被配置为执行若所述目标字典项的出现频次小于预设的频次阈值,则在基于所述目标字典中的字典编码执行完目标数据操作后从所述内存中移除所述目标字典;所述目标数据操作为通过响应于对所述待处理数据记录的数据查询请求而生成的数据查询操作。
135.在一示例性实施例中,所述记录单元420,具体被配置为执行查询所述目标字典中是否已存在有与所述字段值对应的字典项;若所述目标字典中不存在与所述字段值对应的字典项,则对所述字段值进行字典编码处理,得到所述字段值对应的字典编码;将所述字段
值对应的字典编码作为新的字典项记录至所述目标字典中。
136.在一示例性实施例中,每个所述字典项具有对应的字典索引,所述记录单元420,具体被配置为执行若所述目标字典中存在与所述字段值对应的字典项,则确定所述字段值对应的字典项为已有字典项;将所述字段值对应的索引字段更新为所述已有字典项对应的字典索引,以及,更新所述已有字典项的出现频次。
137.在一示例性实施例中,若所述目标字典中的字典项的总数量达到所述数量阈值,所述字典数据处理装置,还包括:值记录单元,具体被配置为执行若所述目标字典中不存在与所述字段值对应的字典项,则将所述字段值记录至预设的目标存储位置;更新单元,具体被配置为执行若所述目标字典中存在与所述字段值对应的字典项,则将所述字段值对应的索引字段更新为所述已有字典项对应的字典索引。
138.在一示例性实施例中,所述移除单元440,具体被配置为执行生成针对所述目标字典的抛弃标识;其中,所述抛弃标识用于在基于所述目标字典中的字典编码执行完目标数据操作后,指示数据库引擎从所述内存中移除所述目标字典。
139.在一示例性实施例中,所述确定单元430,具体被配置为执行获取所述目标字典中的各字典项的出现频次;对各所述字典项的出现频次进行排序,得到排序后的出现频次;根据所述排序后的出现频次的分布情况,确定出所述目标字典项的出现频次。
140.在一示例性实施例中,所述确定单元430,具体被配置为执行在所述排序后的出现频次中,确定出处于预设分位的目标出现频次;将所述目标出现频次,作为所述目标字典项的出现频次。
141.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
142.图5是根据一示例性实施例示出的一种用于执行字典数据处理方法的电子设备500的框图。例如,电子设备500可以为服务器。参照图5,电子设备500包括处理组件520,其进一步包括一个或多个处理器,以及由存储器522所代表的存储器资源,用于存储可由处理组件520的执行的指令,例如应用程序。存储器522中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件520被配置为执行指令,以执行上述方法。
143.电子设备500还可以包括:电源组件524被配置为执行电子设备500的电源管理,有线或无线网络接口526被配置为将电子设备500连接到网络,和输入输出(i/o)接口528。电子设备500可以操作基于存储在存储器522的操作系统,例如window5 5erver,mac o5x,unix,linux,freeb5d或类似。
144.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器522,上述指令可由电子设备500的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
145.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备500的处理器执行以完成上述方法。
146.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施
例的描述,在此不作一一赘述。
147.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
148.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1