一种更新分析数据库的方法及装置制造方法及图纸

技术编号:25988893 阅读:19 留言:0更新日期:2020-10-20 18:56
本发明专利技术提供了一种更新分析数据库的方法及装置,其中,该更新分析数据库的方法包括:获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。可以有效提高分析数据库的更新效率。

【技术实现步骤摘要】
一种更新分析数据库的方法及装置
本专利技术涉及数据库
,具体而言,涉及一种更新分析数据库的方法及装置。
技术介绍
基于分布式的列式数据库可以存储海量数据,并将相同列的数据存储在同一存储区储,是适于面向分析和查询功能的分析数据库,因而,广泛应用在实时在线分析业务场景中。但这些分析数据库不支持比较频繁的新增数据和更新数据,例如clickhouse,亚马逊(AWS,AmazonWebServices)的redshift等,导致很多业务更新的场景无法使用。在实际的应用中,如果需要对列式数据库进行数据更新处理,例如,插入数据、修改数据或删除数据等操作,需要对待操作的数据进行逐条更新处理。而实际应用中,对于实时在线分析业务场景,可能需要对分析数据库中的上万条甚至上亿条数据进行更新处理,使得逐条更新数据的更新效率低,在实际中成为不可能完成的任务。
技术实现思路
有鉴于此,本专利技术的目的在于提供更新分析数据库的方法及装置,以提高分析数据库的更新效率。第一方面,本专利技术实施例提供了更新分析数据库的方法,包括:获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,所述依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,包括:复制所述分析数据库的结构,得到内容为空的批量更新数据表;针对所述待更新数据集中的每一条数据,在所述内容为空的批量更新数据表中新增一行;依次提取每条数据中包含的第一字段名,与所述内容为空的批量更新数据表中的各字段名列对应的第二字段名进行匹配,将所述第一字段名对应的数据内容填充至该数据所在的行中,与所述第一字段名相匹配的第二字段名对应的列。结合第一方面,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,所述依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表,包括:依据所述批量更新数据表中各行数据对应的数据入库标识,查询所述分析数据库,获取与所述数据入库标识相匹配的各数据,得到所述目标数据表。结合第一方面,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,所述将目标数据表的标识设置为无效,包括:将所述目标数据表中的各条数据的数据版本号对应的值修改为无效对应的值。结合第一方面、第一方面的第一种至第三种中的任一可能的实施方式,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,所述更新还包括:插入,所述方法还包括:复制所述分析数据库的结构,得到内容为空的批量插入数据表;针对获取的待插入数据集中的每一条待插入数据,在所述内容为空的批量更新数据表中新增一行;依次提取待插入数据中包含的第三字段名,与所述内容为空的批量插入数据表中的各字段名列对应的第四字段名进行匹配,将所述第三字段名对应的数据内容填充至该数据所在的行中,与所述第三字段名相匹配的第四字段名对应的列;在所述分析数据库中插入所述批量插入数据表,修改插入的所述批量插入数据表的临时标识为有效。结合第一方面、第一方面的第一种至第三种中的任一可能的实施方式,本专利技术实施例提供了第一方面的第五种可能的实施方式,其中,所述更新还包括:删除,所述方法还包括:提取待删除数据集中各数据在所述分析数据库中的数据入库标识;在所述分析数据库中,查询与所述数据入库标识相匹配的数据,将该相匹配的数据的数据效用标识设置为无效。结合第一方面、第一方面的第一种至第三种中的任一可能的实施方式,本专利技术实施例提供了第一方面的第六种可能的实施方式,其中,所述方法还包括:接收查询请求,提取查询请求中携带的查询关键词,查询所述分析数据库中的各字段名列,获取与所述查询关键词相匹配的目标字段名列;从目标字段名列中,获取数据效用标识为有效的目标字段名列对应的数据内容,得到查询结果。第二方面,本专利技术实施例还提供了一种更新分析数据库的装置,包括:批量更新数据表构建模块,用于获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;目标数据表查询模块,用于依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;数据更新模块,用于将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。本专利技术实施例提供的更新分析数据库的方法及装置,通过获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。这样,将需要多次频繁的更新操作,转化为一次批量更新操作,有效提升了分析数据库的更新效率。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例所提供的更新分析数据库的方法流程示意图;图2示出了本专利技术实施例所提供的更新分析数据库的装置结构示意图;图3为本申请实施例提供的一种计算机设备300的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有本文档来自技高网...

【技术保护点】
1.一种更新分析数据库的方法,其特征在于,包括:/n获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;/n依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;/n将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。/n

【技术特征摘要】
1.一种更新分析数据库的方法,其特征在于,包括:
获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;
依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;
将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。


2.根据权利要求1所述的方法,其特征在于,所述依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,包括:
复制所述分析数据库的结构,得到内容为空的批量更新数据表;
针对所述待更新数据集中的每一条数据,在所述内容为空的批量更新数据表中新增一行;
依次提取每条数据中包含的第一字段名,与所述内容为空的批量更新数据表中的各字段名列对应的第二字段名进行匹配,将所述第一字段名对应的数据内容填充至该数据所在的行中,与所述第一字段名相匹配的第二字段名对应的列。


3.根据权利要求1所述的方法,其特征在于,所述依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表,包括:
依据所述批量更新数据表中各行数据对应的数据入库标识,查询所述分析数据库,获取与所述数据入库标识相匹配的各数据,得到所述目标数据表。


4.根据权利要求1所述的方法,其特征在于,所述将所述目标数据表的标识设置为无效,包括:
将所述目标数据表中的各条数据的数据版本号对应的值修改为无效对应的值。


5.根据权利要求1至4任一项所述的方法,其特征在于,所述更新还包括:插入,所述方法还包括:
复制所述分析数据库的结构,得到内容为空的批量插入数据表;
针对获取的待插入数据集中的每一条待插入数据,在所述内容为空的批量更新数据表中新增一行;
依次提取待插入数据中包含的第三字段名,与所述内容为空的批量插入数据表中的各字段名列对应的第四字段名进...

【专利技术属性】
技术研发人员:冯智超
申请(专利权)人:西安数据如金信息科技有限公司
类型:发明
国别省市:陕西;61

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

1