数据更新方法、装置、设备、存储介质和计算机程序产品制造方法及图纸

技术编号:36840248 阅读:35 留言:0更新日期:2023-03-15 15:31
本申请涉及一种数据更新方法、装置、设备、存储介质和计算机程序产品。所述方法包括:在监听到针对目标对象产生增量数据时,按照预设的哈希分片规则对目标对象的标识进行运算,得到目标哈希结果;根据全量分片和哈希结果之间的对应关系,查找与目标哈希结果对应的目标全量分片;全量分片,是将初始全量数据对应的各对象的标识按照哈希分片规则进行运算后,基于运算得到的哈希结果将初始全量数据进行分片得到;每个全量分片唯一对应一个哈希结果;根据目标对象的标识进行倒排索引,从目标全量分片中查找增量数据对应的位置,并将增量数据更新至位置中。采用本方法能够提升数据更新效率。率。率。

【技术实现步骤摘要】
数据更新方法、装置、设备、存储介质和计算机程序产品


[0001]本申请涉及计算机
,特别是涉及一种数据更新方法、装置、设备、存储介质和计算机程序产品。

技术介绍

[0002]在数据系统中,通常需要对海量数据进行实时统计分析。系统中数据的实时性对统计分析结果有着重要影响。而数据可能是随时发生变化的,在数据发生改变时,需要及时更新系统中的数据。传统技术中,通常采用全量更新的方式对数据进行更新,然而,全量更新数据需要花费大量的时间,从而导致数据更新效率低。

技术实现思路

[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]一种计算机可读本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据更新方法,其特征在于,所述方法包括:在监听到针对目标对象产生增量数据时,按照预设的哈希分片规则对目标对象的标识进行运算,得到目标哈希结果;根据全量分片和哈希结果之间的对应关系,查找与所述目标哈希结果对应的目标全量分片;所述全量分片,是将初始全量数据对应的各对象的标识按照所述哈希分片规则进行运算后,基于运算得到的哈希结果将所述初始全量数据进行分片得到;每个全量分片唯一对应一个哈希结果;根据所述目标对象的标识进行倒排索引,从所述目标全量分片中查找所述增量数据对应的位置,并将所述增量数据更新至所述位置中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述目标哈希结果对所述增量数据进行分片,生成对应于所述目标哈希结果的增量文件;根据所述增量文件生成增量补丁文件;所述根据所述目标对象的标识进行倒排索引,从所述目标全量分片中查找所述增量数据对应的位置,并将所述增量数据更新至所述位置中,包括:根据所述目标对象的标识进行倒排索引,从所述目标全量分片中查找所述增量补丁文件对应的位置;基于所述增量补丁文件,对目标全量分片在所述位置中的数据进行更新。3.根据权利要求1所述的方法,其特征在于,所述增量数据是通过增量补丁文件更新至所述位置中;所述增量补丁文件是通过补丁生成步骤得到;所述补丁生成步骤,包括:获取初始增量补丁文件;所述初始增量补丁文件,是基于上一次监听到针对所述目标对象产生的历史增量数据生成的增量补丁文件;将所述初始增量补丁文件和所述增量数据进行合并处理,得到所述增量补丁文件。4.根据权利要求3所述的方法,其特征在于,所述将所述初始增量补丁文件和所述增量数据进行合并处理,得到所述增量补丁文件,包括:在每轮合并处理时,从所述增量数据的多个字段类型中选取目标字段类型;将存储于磁盘的初始增量补丁文件中对应于目标字段类型的第一关键字段加载至内存中,以将所述增量数据中对应于所述目标字段类型的第二关键字段和所述第一关键字段在内存中合并;将合并后的结果对应存储于磁盘中及释放本轮合并时所占据的内存对象,并从剩余的所述字段类型中选取目标字段类型以进行下一轮合并处理,直至将所述增量数据中的关键字段皆合并至磁盘中的所述初始增量补丁文件中,得到存储于磁盘的增量补丁文件。5.根据权利要求3所述的方法,其特征在于,所述将所述初始增量补丁文件和所述增量数据进行合并处理,得到所述增量补丁文件,包括:对所述增量数据中的关键字段进行排序;将排序后的所述关键字段合并至所述初始增量补丁文件,生成增量补丁文件。6.根据权利要求1所述的方法,其特征在于,所述目标全量分片包括各对象的标识对应的数据行;每个对象的标识唯一对应一个数据行;
所述根据所述目标对象的标识进行倒排索引,从所述目标全量分片中查找所述增量数据对应的位置,包括:将所述目标全量分片中所述目标对象的标识对应的目标数据行,作为所述增量数据对应的位置。7.根据权利要求1所述的方法,其特征在于,所述增量数据包括目标关键字段;所述将所述增量数据更新至所述位置中,包括:根据所述初始全量数据中各关键字段和位图之间的对应关系,从位图集合中查找与所述目标关键字段对应的目标位图;按照所述增量数据,将所述目标位图中与所述目标对象的标识对应的数据进行更新。8.根据权利要求7所述的方法,其特征在于,所述目...

【专利技术属性】
技术研发人员:吴中波蒋杰刘煜宏陈鹏薛赵明章逸群杜佶峻程广旭宋新村王科烨
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1