一种基于映射字典表的聚合数据更新方法及装置制造方法及图纸

技术编号:35945243 阅读:11 留言:0更新日期:2022-12-14 10:35
本申请提供一种基于映射字典表的聚合数据更新方法及装置,在对所有明细数据进行分组聚合时,根据明细数据和聚合结果的映射关系生成第一映射字典表,并根据分组和聚合结果的映射关系生成第二映射字典表。之后,若明细数据更新,包括新增明细数据或历史的明细数据被修改,可以通过查询第一映射字典表和第二映射字典表,找到因更新数据导致聚合结果改变的相关分组,从而针对该分组对应的分组数据重新聚合,得到新的聚合结果。因此,应用本申请提供的更新方法,可避免对所有数据重新进行分组聚合,并且,由于在更新时是查询了包括所有数据的第一映射字典表和第二映射字典表,进一步避免了数据遗漏的情况。免了数据遗漏的情况。免了数据遗漏的情况。

【技术实现步骤摘要】
一种基于映射字典表的聚合数据更新方法及装置


[0001]本申请涉及计算机数据处理
,具体而言,涉及一种基于映射字典表的聚合数据更新方法及装置。

技术介绍

[0002]因原始数据量过大,通常想要快速给用户呈现聚合结果,一般需要先行进行计算,并把结果缓存起来。但增量数据可能是新增的,也可能是对于历史数据的修改。新增数据会聚合到新的结果里,对于历史数据的修改则会影响老的聚合结果及新的聚合结果。例如,某条数据原本为科室A的数据,修改后变为新科室C的数据,在数据更新处理时,需要在老的科室A的聚合结果中应移除该条数据,另外还需将更新后的数据新增至科室C的聚合结果。
[0003]目前的现有技术是每天对所有数据进行分组聚合处理,或者对近三年的数据进行分组聚合处理,以实现数据的更新。但是由于数据量过大,不仅会导致服务器资源占用过多,而且更新时长较长,另外对近三年的数据进行分组聚合处理会导致某些数据存在更新遗漏,造成数据更新效率较低且数据的更新存在不稳定性。

技术实现思路

[0004]本申请实施例的目的在于提供一种基于映射字典表的聚合数据更新方法及装置,用以解决现有技术对所有数据进行分组聚合处理,导致服务器资源占用过多,而且更新时长较长的问题。
[0005]本申请实施例提供的一种基于映射字典表的聚合数据更新方法,包括:
[0006]利用聚合条件对n个明细数据进行分组,得到m个分组对应的分组数据;其中,n和m均为大于0的正整数;
[0007]对每一分组数据分别进行聚合,得到m个聚合结果
[0008]根据n个明细数据和m个聚合结果的映射关系,生成第一映射字典表;
[0009]根据m个分组和m个聚合结果的映射关系,生成第二映射字典表;
[0010]当数据更新时,基于对第一映射字典表和第二映射字典表的查询,实现对更新数据相关分组对应的分组数据的聚合更新。
[0011]上述技术方案中,在对所有明细数据进行分组聚合时,根据明细数据和聚合结果的映射关系生成第一映射字典表,并根据分组和聚合结果的映射关系生成第二映射字典表。之后,若明细数据更新,包括新增明细数据或历史的明细数据被修改,可以通过查询第一映射字典表和第二映射字典表,找到因更新数据导致聚合结果改变的相关分组,从而针对该分组对应的分组数据重新聚合,得到新的聚合结果。因此,应用本申请提供的更新方法,可避免对所有数据重新进行分组聚合,减少了服务器的资源占用,缩短了更新数据所需的时间,并且,由于在更新时是查询了包括所有数据的第一映射字典表和第二映射字典表,进一步避免了数据遗漏的情况。
[0012]在一些可选的实施方式中,明细数据包括:明细标识ID及预设的k个属性的值;
[0013]聚合条件为k个属性中的i个属性,其中,k和i均为大于0的正整数,且k≥i>0;
[0014]m个分组的任意两个分组中至少有一个属性的值不同;
[0015]每一聚合结果对应一个聚合结果ID;
[0016]第一映射字典表包括n个明细标识ID与m个聚合结果ID的映射关系;
[0017]第二映射字典表包括m个分组与m个聚合结果ID的映射关系。
[0018]上述技术方案中,每一明细数据具有唯一的明细标识ID和预设的k个属性的值,对所有明细数据进行分组聚合的聚合条件为k个属性中的i个属性,每一聚合结果对应一个聚合结果ID,第一映射字典表即为所有明细标识ID与所有聚合结果ID的映射关系,第二映射字典表为分组与聚合结果ID的一一映射关系。若任一明细数据的属性的值改变,则可以根据该明细数据的明细标识ID查找第一映射字典表得到对应的聚合结果ID,从而对应更新该聚合结果ID对应的聚合结果。若任一明细数据更新后被分组到另一分组中,则可以根据重新分配的分组查询第二映射字典表得到对应的聚合结果ID,从而对应更新该聚合结果ID对应的聚合结果。
[0019]在一些可选的实施方式中,k个属性包括:时间戳和业务时间;其中,时间戳数据为最后更新明细数据的时间,业务时间数据为创建明细数据的时间;
[0020]方法还包括:
[0021]获取待更新明细数据;
[0022]判断待更新明细数据的时间戳数据和业务时间数据是否一致:
[0023]若是,则确定待更新明细数据为新增明细数据;
[0024]若否,则确定待更新明细数据为修改明细数据。
[0025]上述技术方案中,明细数据的k个属性中至少包括时间戳和业务时间两个属性,时间戳数据为最后更新明细数据的时间,业务时间数据为创建明细数据的时间。在某一明细数据更新时,若该明细数据的时间戳数据和业务时间数据不一致,即该明细数据的时间戳显示的时间在业务时间显示的时间之后,则认为该明细数据被修改,确定为修改明细数据;若该明细数据的时间戳数据和业务时间数据一致,则认为该明细数据为新增的数据,确定为新增明细数据。将待更新明细数据区分为新增明细数据或修改明细数据,以通过后续不同的处理流程,来实现两种情况下的数据聚合更新。
[0026]在一些可选的实施方式中,确定待更新明细数据为修改明细数据之后,方法还包括:
[0027]根据修改明细数据的明细标识ID,查询第一映射字典表,得到对应的第一聚合结果ID;
[0028]对修改明细数据利用聚合条件重新分组,并判断修改明细数据是否被分配到m个分组中的某一分组:
[0029]若修改明细数据被分配到m个分组中的某一个分组,则根据修改明细数据重新分配的分组,查询第二映射字典表,得到对应的第二聚合结果ID;
[0030]分别将第一聚合结果ID和第二聚合结果ID对应的分组数据重新进行聚合,更新对应的聚合结果。
[0031]上述技术方案中,当获取的待更新明细数据为修改明细数据时,首先根据修改明细数据的明细标识ID查询第一映射字典表,得到修改明细数据对应的更新前的第一聚合结
果ID,其原理是,由于第一聚合结果ID对应的分组数据中删除了该修改明细数据,导致第一聚合结果ID对应的分组数据需要重新聚合,并更新聚合结果。之后,将修改明细数据重新分组,若该修改明细数据被分配到原始m个分组中的一个分组中,则根据该分组查询第二映射字典表,得到修改明细数据在更新后对应的第二聚合结果ID,其原理是,第二聚合结果ID对应的分组数据新增了该修改明细数据,导致第二聚合结果ID对应的分组数据需要重新聚合,并更新聚合结果。
[0032]在一些可选的实施方式中,分别将第一聚合结果ID和第二聚合结果ID对应的分组数据重新进行聚合,更新对应的聚合结果之后,还包括:
[0033]判断第一聚合结果ID是否与第二聚合结果ID不同:
[0034]若第一聚合结果ID与第二聚合结果ID不同,则将第一映射字典表中修改明细数据的明细标识ID对应的第一聚合结果ID修改为第二聚合结果ID。
[0035]上述技术方案中,在第一聚合结果ID和第二聚合结果ID对应的聚合结果更新后,还需要同步更新第一映射字典表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于映射字典表的聚合数据更新方法,其特征在于,包括:利用聚合条件对n个明细数据进行分组,得到m个分组对应的分组数据;其中,n和m均为大于0的正整数;对每一分组数据分别进行聚合,得到m个聚合结果;根据所述n个明细数据和m个聚合结果的映射关系,生成第一映射字典表;根据所述m个分组和m个聚合结果的映射关系,生成第二映射字典表;当数据更新时,基于对所述第一映射字典表和第二映射字典表的查询,实现对更新数据相关分组对应的分组数据的聚合更新。2.如权利要求1所述的方法,其特征在于,所述明细数据包括:明细标识ID及预设的k个属性的值;所述聚合条件为所述k个属性中的i个属性,其中,k和i均为大于0的正整数,且k≥i>0;所述m个分组的任意两个分组中至少有一个属性的值不同;每一所述聚合结果对应一个聚合结果ID;所述第一映射字典表包括n个明细标识ID与m个聚合结果ID的映射关系;所述第二映射字典表包括m个分组与m个聚合结果ID的映射关系。3.如权利要求2所述的方法,其特征在于,所述k个属性包括:时间戳和业务时间;其中,时间戳数据为最后更新明细数据的时间,业务时间数据为创建明细数据的时间;所述方法还包括:获取待更新明细数据;判断所述待更新明细数据的所述时间戳数据和所述业务时间数据是否一致:若是,则确定所述待更新明细数据为新增明细数据;若否,则确定所述待更新明细数据为修改明细数据。4.如权利要求3所述的方法,其特征在于,所述确定所述待更新明细数据为修改明细数据之后,所述方法还包括:根据所述修改明细数据的明细标识ID,查询所述第一映射字典表,得到对应的第一聚合结果ID;对所述修改明细数据利用所述聚合条件重新分组,并判断所述修改明细数据是否被分配到所述m个分组中的某一分组:若所述修改明细数据被分配到所述m个分组中的某一个分组,则根据所述修改明细数据重新分配的分组,查询所述第二映射字典表,得到对应的第二聚合结果ID;分别将第一聚合结果ID和第二聚合结果ID对应的分组数据重新进行聚合,更新对应的聚合结果。5.如权利要求4所述的方法,其特征在于,所述分别将第一聚合结果ID和第二聚合结果ID对应的分组数据重新进行聚合,更新对应的聚合结果之后,还包括:判断所述第一聚合结果ID是否与所述第二聚合结果ID不同:若所述第一聚合结果ID与所述第二聚合结果ID不同,则将所述第一映射字典表中所述修改明细数据的明细标识ID对应的所述第一聚合结果ID...

【专利技术属性】
技术研发人员:叶大江黄主斌
申请(专利权)人:上海柯林布瑞信息技术有限公司
类型:发明
国别省市:

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

1