字典加载的方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38054616 阅读:7 留言:0更新日期:2023-06-30 11:20
本发明专利技术公开了字典加载的方法、装置、电子设备和存储介质,涉及计算机技术领域。该方法的一具体实施方式包括:响应于字典加载指令,数据查询集群所包括的分片集合;对所述分片集合中每个分片,获取对应的分片运行数据、字典加载运行数据、请求数据,以确定分片的运行状态;响应于运行状态为异常,更新字典加载运行数据,结合分片运行数据和请求数据更新分片的运行状态,使更新的运行状态为正常,以基于更新的字典加载运行数据执行字典加载程序;响应于运行状态为正常,基于字典加载运行数据执行字典加载程序。该实施方式能够解决全量字典加载过程通过并发线程实现,需要消耗大量的处理资源和内存空间来实现字典的加载,降低了系统性能的问题。性能的问题。性能的问题。

【技术实现步骤摘要】
字典加载的方法、装置、电子设备和存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种字典加载的方法、装置、电子设备和存储介质。

技术介绍

[0002]在电商领域,数据分析通常需要进行数据查询操作,以得到用于分析的数据,ClickHouse(Click Stream Data WareHouse,一个用于联机分析的列式数据库管理系统)字典被广泛应用于数据查询。例如,电商领域数据分析时通常是建立两张维表,一张记录SKU(物品标识)和岗位部门之间的关系,一张记录SKU对应的物品信息,为了提高系统性能,SKU和岗位部门之间的关系的查询处理通常由ClickHouse字典实现,即将记录SKU和岗位部门之间关系的数据表加载至数据分析集群的内存,生成ClickHouse字典。在数据查询时,数据分析集群中各分片上的数据关联其分片上的字典进行查询来得到岗位部门,然后将各个分片的查询结果汇总得到最终的查询结果。在这样的机制下,各分片上需存储全量字典,以保证每个分片上的数据可以根据字典查询得到结果,所以在字典加载时需要健在全量字典来支持数据查询。所以现有技术中在字典加载时,因需要加载全量字典,而字典数据量较大,需要消耗大量的处理资源和内存空间来实现字典的加载,降低了系统性能。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供一种字典加载的方法、装置、电子设备和存储介质,能够解决全量字典加载过程通过并发线程实现,需要消耗大量的处理资源和内存空间来实现字典的加载,降低了系统性能的问题。
[0004]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种字典加载的方法。
[0005]本专利技术实施例的一种字典加载的方法包括:
[0006]响应于字典加载指令,获取所述数据查询集群所包括的分片集合;
[0007]对所述分片集合中每个分片,获取对应的分片运行数据、字典加载运行数据、请求数据,以确定所述分片的运行状态;
[0008]响应于所述运行状态为正常,基于所述字典加载运行数据执行字典加载程序;或者,响应于所述运行状态为异常,更新所述字典加载运行数据,结合所述分片运行数据和所述请求数据更新所述分片的运行状态,使更新的运行状态为正常,以基于更新的字典加载运行数据执行字典加载程序;响应于所述运行状态为正常,基于所述字典加载运行数据执行字典加载程序。
[0009]在一个实施例中,所述字典加载运行数据包括字典加载的并发线程数量;
[0010]基于所述字典加载运行数据执行字典加载程序,包括:
[0011]调用所述并发线程数量的线程,读取所述分片中对应的维表;
[0012]识别所述维表中第一字段集合和第二字段集合,将所述第一字段集合对应数据的数据格式转换为预设格式,删除所述第二字段集合对应的数据,以得到更新的维表;
[0013]基于更新的维表生成字典。
[0014]在又一个实施例中,基于更新的维表生成字典,包括:
[0015]基于所述维表的物品标识确定所述物品标识对应目标字段的参数值数量;
[0016]响应于所述参数值数量大于阈值,基于所述物品标识对应目标字段的参数值生成数组,以结合所述更新的维表生成字典。
[0017]在又一个实施例中,在响应于字典加载指令之前,所述方法还包括:
[0018]响应于维表导入指令,获取所述维表对应物品标识所述数据查询集群中分片数量,以调用预设的计算模型,计算各分片对应的物品标识;
[0019]从离线数据源中获取各物品标识对应的数据,以基于存储至各物品标识对应分片的维表。
[0020]在又一个实施例中,在所述获取对应的分片运行数据、字典加载运行数据、请求数据之前,还包括:
[0021]响应于所述分片中已存储字典,删除已存储的字典。
[0022]在又一个实施例中,所述字典加载运行数据包括字典加载的并发线程数量;
[0023]更新所述字典加载运行数据,包括:
[0024]响应于所述异常为繁忙状态,减少所述并发线程数量,以得到更新的并发线程数量。
[0025]在又一个实施例中,在所述执行字典加载程序之后,还包括:
[0026]基于所述字典中数据计算预设校验指标的第一指标值,基于所述维表计算预设校验指标的第二指标值;
[0027]响应于所述第一指标值和第二指标值相同,确定所述字典校验通过。
[0028]为实现上述目的,根据本专利技术实施例的另一方面,提供了一种字典加载的装置。
[0029]本专利技术实施例的一种字典加载的装置包括:
[0030]获取单元,用于响应于字典加载指令,获取数据查询集群所包括的分片集合;
[0031]处理单元,用于对所述分片集合中每个分片,获取对应的分片运行数据、字典加载运行数据、请求数据,以确定所述分片的运行状态;
[0032]所述处理单元,还用于响应于所述运行状态为正常,基于所述字典加载运行数据执行字典加载程序;或者,响应于所述运行状态为异常,更新所述字典加载运行数据,结合所述分片运行数据和所述请求数据更新所述分片的运行状态,使更新的运行状态为正常,以基于更新的字典加载运行数据执行字典加载程序。
[0033]在一个实施例中,所述字典加载运行数据包括字典加载的并发线程数量;
[0034]所述处理单元,具体用于:
[0035]调用所述并发线程数量的线程,读取所述分片中对应的维表;
[0036]识别所述维表中第一字段集合和第二字段集合,将所述第一字段集合对应数据的数据格式转换为预设格式,删除所述第二字段集合对应的数据,以得到更新的维表;
[0037]基于更新的维表生成字典。
[0038]在又一个实施例中,所述处理单元,具体用于:
[0039]基于所述维表的物品标识确定所述物品标识对应目标字段的参数值数量;
[0040]响应于所述参数值数量大于阈值,基于所述物品标识对应目标字段的参数值生成
数组,以结合所述更新的维表生成字典。
[0041]在又一个实施例中,所述装置还包括:
[0042]计算单元,用于响应于维表导入指令,获取所述维表对应物品标识所述数据查询集群中分片数量,以调用预设的计算模型,计算各分片对应的物品标识;
[0043]存储单元,用于从离线数据源中获取各物品标识对应的数据,以基于存储至各物品标识对应分片的维表。
[0044]在又一个实施例中,所述处理单元,具体用于:
[0045]响应于所述分片中已存储字典,删除已存储的字典。
[0046]在又一个实施例中,所述字典加载运行数据包括字典加载的并发线程数量;
[0047]所述处理单元,具体用于:
[0048]响应于所述异常为繁忙状态,减少所述并发线程数量,以得到更新的并发线程数量。
[0049]在又一个实施例中,所述计算单元,还用于基于所述字典中数据计算预设校验指标的第一指标值,基于所述维表计算预设校验指标的第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种字典加载的方法,其特征在于,包括:响应于字典加载指令,获取数据查询集群所包括的分片集合;对所述分片集合中每个分片,获取对应的分片运行数据、字典加载运行数据、请求数据,以确定所述分片的运行状态;响应于所述运行状态为正常,基于所述字典加载运行数据执行字典加载程序;或者,响应于所述运行状态为异常,更新所述字典加载运行数据,结合所述分片运行数据和所述请求数据更新所述分片的运行状态,使更新的运行状态为正常,以基于更新的字典加载运行数据执行字典加载程序。2.根据权利要求1所述的方法,其特征在于,所述字典加载运行数据包括字典加载的并发线程数量;基于所述字典加载运行数据执行字典加载程序,包括:调用所述并发线程数量的线程,读取所述分片中对应的维表;识别所述维表中第一字段集合和第二字段集合,将所述第一字段集合对应数据的数据格式转换为预设格式,删除所述第二字段集合对应的数据,以得到更新的维表;基于更新的维表生成字典。3.根据权利要求2所述的方法,其特征在于,基于更新的维表生成字典,包括:基于所述维表的物品标识确定所述物品标识对应目标字段的参数值数量;响应于所述参数值数量大于阈值,基于所述物品标识对应目标字段的参数值生成数组,以结合所述更新的维表生成字典。4.根据权利要求1所述的方法,其特征在于,在响应于字典加载指令之前,所述方法还包括:响应于维表导入指令,获取所述维表对应物品标识所述数据查询集群中分片数量,以调用预设的计算模型,计算各分片对应的物品标识;从离线数据源中获取各物品标识对应的数据,以基于存储至各物品标识对应分片的维表。5.根据权利要求1所述的方法,其特征在于,在所述获取对应的分片运行数据、字...

【专利技术属性】
技术研发人员:洪帅钱叶陈洪健
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1