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

文档序号:40008937发布日期:2024-11-19 13:38阅读:18来源:国知局
数据处理方法、装置、电子设备和存储介质与流程

本公开涉及大数据,更具体地,涉及一种数据处理方法、装置、电子设备和存储介质。


背景技术:

1、随着信息技术的快速发展,各个业务场景中改变业务覆盖数据的情况日趋频繁。在对数据库中的数据进行更新时,服务器可以从数据库中查出对应的数据并和用户输入的数据做比较,以筛选出新增数据和失效数据,最后分别执行数据插入和更新操作。

2、相关技术中对数据库进行数据更新时,常使用哈希表来完成数据的比较和筛选,但在大数据场景下,数据库中的数据有较大可能会发生哈希冲突,哈希冲突耗时的不确定性会使得数据更新的处理效率较低。


技术实现思路

1、有鉴于此,本公开提供了一种数据处理方法、装置、电子设备、可读存储介质和计算机程序产品。

2、本公开的一个方面提供了一种数据处理方法,包括:接收数据处理请求,其中,上述数据处理请求包括目标字段和与上述目标字段相关的数据集;在确定缓存中存在上述目标字段的主键的情况下,基于上述目标字段的主键,从上述缓存中获取第一前缀树;基于上述第一前缀树和上述数据集,确定新增数据集和失效数据集;以及分别基于上述新增数据集和上述失效数据集,对与上述缓存关联的数据库进行数据更新。

3、根据本公开的实施例,上述数据集包括多条入参数据;其中,上述基于上述第一前缀树和上述数据集,确定新增数据集和失效数据集,包括:对上述第一前缀树配置的版本号进行更新,得到目标版本号;对于每条上述入参数据,利用上述第一前缀树来遍历匹配上述入参数据包括的多个字符,得到第一匹配结果;在上述第一匹配结果表示上述第一前缀树中存在上述入参数据的情况下,确定上述第一前缀树中与上述入参数据匹配的第一路径;利用上述目标版本号来更新上述第一路径包括的第一叶节点的值;在上述第一匹配结果表示上述第一前缀树中不存在上述入参数据的情况下,将上述入参数据添加至上述新增数据集;以及基于上述第一前缀树中多个叶节点各自的值,从上述第一前缀树中确定上述失效数据集。

4、根据本公开的实施例,上述第一前缀树包括多个节点层,上述第一前缀树的根节点属于上述第一前缀树的第1个节点层,每个上述节点层包括至少一个节点;其中,上述对于每条上述入参数据,利用上述第一前缀树来遍历匹配上述入参数据包括的多个字符,得到第一匹配结果,包括:对于每条上述入参数据,在确定上述第一前缀树的第i个节点层中的第一节点的值与上述入参数据的第i-1个字符匹配的情况下,从上述第一前缀树的第i+1个节点层中确定与上述第一节点连接的至少一个第二节点,其中,上述i为大于1的整数,且上述i小于或等于上述入参数据包括的字符的数量;将上述入参数据的第i个字符分别与上述至少一个第二节点各自的值进行匹配,得到至少一个第二匹配结果;在上述至少一个第二匹配结果均表示未完成匹配的情况下,得到表示上述第一前缀树中不存在上述入参数据的上述第一匹配结果;以及在上述入参数据的最后一个字符与上述第一前缀树的第三节点匹配的情况下,基于与上述第三节点连接的子节点,得到上述第一匹配结果。

5、根据本公开的实施例,上述在上述入参数据的最后一个字符与上述第一前缀树的第三节点匹配的情况下,基于与上述第三节点连接的子节点,得到上述第一匹配结果,包括:在确定与上述第三节点连接的子节点中存在叶节点的情况下,得到表示上述第一前缀树中存在上述入参数据的上述第一匹配结果;以及在确定与上述第三节点连接的子节点中不存在叶节点的情况下,得到表示上述第一前缀树中不存在上述入参数据的上述第一匹配结果。

6、根据本公开的实施例,上述基于上述第一前缀树中多个叶节点各自的值,从上述第一前缀树中确定上述失效数据集,包括:利用上述目标版本号来遍历匹配上述多个叶节点各自的值,以从上述多个叶节点中确定至少一个第二叶节点,其中,上述第二叶节点的值与上述目标版本号不匹配;以及基于上述至少一个第二叶节点各自所属的第二路径,确定上述失效数据集。

7、根据本公开的实施例,上述方法还包括:在上述第一匹配结果表示上述第一前缀树中不存在上述入参数据的情况下,将上述入参数据写入上述第一前缀树。

8、根据本公开的实施例,上述将上述入参数据写入上述第一前缀树,包括:在确定上述第一前缀树的第j个节点层中的第四节点的值与上述入参数据的第j-1个字符匹配的情况下,从上述第一前缀树的第j+1个节点层中确定与上述第四节点关联的至少一个第五节点,其中,上述j为大于1的整数,且上述j小于或等于上述入参数据包括的字符的数量;将上述入参数据的第j个字符分别与上述至少一个第五节点各自的值分别与进行匹配,得到至少一个第三匹配结果;在上述至少一个第三匹配结果均表示未完成匹配的情况下,基于上述入参数据的第j个字符,在上述第一前缀树的第j+1个节点层生成与上述第四节点连接的第六节点;以及在上述入参数据的第j个字符为上述入参数据的最后一个字符的情况下,基于上述目标版本号,在上述第一前缀树的第j+2个节点层生成与上述第六节点连接的第三叶节点。

9、根据本公开的实施例,上述方法还包括:基于上述第一前缀树中多个叶节点各自的值,对上述第一前缀树进行剪枝处理。

10、根据本公开的实施例,上述基于上述第一前缀树中多个叶节点各自的值,对上述第一前缀树进行剪枝处理,包括:对于每个上述叶节点,在上述叶节点的值与上述目标版本号不匹配的情况下,确定与上述叶节点连接的第七节点,并删除上述叶节点;查询得到上述第七节点的兄弟节点,其中,上述第七节点的兄弟节点与上述第七节点具有相同的父节点;在确定上述第七节点的兄弟节点中存在叶节点的情况下,删除上述第七节点,以完成对上述叶节点的剪枝处理;以及在确定上述第七节点的兄弟节点中不存在叶节点的情况下,确定与上述第七节点连接的第八节点,删除上述第七节点,并继续对上述第八节点的兄弟节点进行查询。

11、根据本公开的实施例,上述方法还包括:在确定上述缓存中不存在上述目标字段的主键的情况下,利用上述数据集对上述数据库进行数据更新;以上述目标字段的主键为根节点,基于上述数据集来生成第二前缀树;以及将上述第二前缀树写入上述缓存。

12、本公开的另一个方面提供了一种数据处理装置,包括:接收模块,用于接收数据处理请求,其中,上述数据处理请求包括目标字段和与上述目标字段相关的数据集;获取模块,用于在确定缓存中存在上述目标字段的主键的情况下,基于上述目标字段的主键,从上述缓存中获取第一前缀树;确定模块,用于基于上述第一前缀树和上述数据集,确定新增数据集和失效数据集;以及第一处理模块,用于分别基于上述新增数据集和上述失效数据集,对与上述缓存关联的数据库进行数据更新。

13、本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个指令,其中,当上述一个或多个指令被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。

14、本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现如上所述的方法。

15、本公开的另一方面提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述指令在被执行时用于实现如上所述的方法。

16、根据本公开的实施例,数据库中属于同一字段的数据可以异构为前缀树,并写入到缓存中进行存储。在接收到数据处理请求进行数据更新时,可以根据目标字段来从缓存中获取第一前缀树,并基于该第一前缀树和与目标字段相关的数据集,可以从第一前缀树中确定失效数据集,并从该数据集中确定新增数据集,之后可以利用该新增数据集和失效数据集来对数据库中与目标字段相关的数据进行数据更新。通过将数据库中的数据以前缀树的方式进行组织,可以使用前缀树来实现新增数据和失效数据的筛选,用以取代相关技术中利用哈希表进行数据筛选的方式,所以可以至少部分地克服相关技术中数据更新的处理效率较低的技术问题,可以消除哈希函数的散列时间以及哈希冲突的导致的耗时,可以有效提高数据更新的处理效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1