CN111797108A - 一种更新分析数据库的方法及装置 - Google Patents
一种更新分析数据库的方法及装置 Download PDFInfo
- Publication number
- CN111797108A CN111797108A CN202010694179.0A CN202010694179A CN111797108A CN 111797108 A CN111797108 A CN 111797108A CN 202010694179 A CN202010694179 A CN 202010694179A CN 111797108 A CN111797108 A CN 111797108A
- Authority
- CN
- China
- Prior art keywords
- data
- data table
- analysis database
- updating
- batch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种更新分析数据库的方法及装置,其中,该更新分析数据库的方法包括:获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。可以有效提高分析数据库的更新效率。
Description
技术领域
本发明涉及数据库技术领域,具体而言,涉及一种更新分析数据库的方法及装置。
背景技术
基于分布式的列式数据库可以存储海量数据,并将相同列的数据存储在同一存储区储,是适于面向分析和查询功能的分析数据库,因而,广泛应用在实时在线分析业务场景中。但这些分析数据库不支持比较频繁的新增数据和更新数据,例如clickhouse,亚马逊(AWS,Amazon Web Services)的redshift等,导致很多业务更新的场景无法使用。在实际的应用中,如果需要对列式数据库进行数据更新处理,例如,插入数据、修改数据或删除数据等操作,需要对待操作的数据进行逐条更新处理。而实际应用中,对于实时在线分析业务场景,可能需要对分析数据库中的上万条甚至上亿条数据进行更新处理,使得逐条更新数据的更新效率低,在实际中成为不可能完成的任务。
发明内容
有鉴于此,本发明的目的在于提供更新分析数据库的方法及装置,以提高分析数据库的更新效率。
第一方面,本发明实施例提供了更新分析数据库的方法,包括:
获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;
依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;
将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,包括:
复制所述分析数据库的结构,得到内容为空的批量更新数据表;
针对所述待更新数据集中的每一条数据,在所述内容为空的批量更新数据表中新增一行;
依次提取每条数据中包含的第一字段名,与所述内容为空的批量更新数据表中的各字段名列对应的第二字段名进行匹配,将所述第一字段名对应的数据内容填充至该数据所在的行中,与所述第一字段名相匹配的第二字段名对应的列。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表,包括:
依据所述批量更新数据表中各行数据对应的数据入库标识,查询所述分析数据库,获取与所述数据入库标识相匹配的各数据,得到所述目标数据表。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述将目标数据表的标识设置为无效,包括:
将所述目标数据表中的各条数据的数据版本号对应的值修改为无效对应的值。
结合第一方面、第一方面的第一种至第三种中的任一可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述更新还包括:插入,所述方法还包括:
复制所述分析数据库的结构,得到内容为空的批量插入数据表;
针对获取的待插入数据集中的每一条待插入数据,在所述内容为空的批量更新数据表中新增一行;
依次提取待插入数据中包含的第三字段名,与所述内容为空的批量插入数据表中的各字段名列对应的第四字段名进行匹配,将所述第三字段名对应的数据内容填充至该数据所在的行中,与所述第三字段名相匹配的第四字段名对应的列;
在所述分析数据库中插入所述批量插入数据表,修改插入的所述批量插入数据表的临时标识为有效。
结合第一方面、第一方面的第一种至第三种中的任一可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述更新还包括:删除,所述方法还包括:
提取待删除数据集中各数据在所述分析数据库中的数据入库标识;
在所述分析数据库中,查询与所述数据入库标识相匹配的数据,将该相匹配的数据的数据效用标识设置为无效。
结合第一方面、第一方面的第一种至第三种中的任一可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述方法还包括:
接收查询请求,提取查询请求中携带的查询关键词,查询所述分析数据库中的各字段名列,获取与所述查询关键词相匹配的目标字段名列;
从目标字段名列中,获取数据效用标识为有效的目标字段名列对应的数据内容,得到查询结果。
第二方面,本发明实施例还提供了一种更新分析数据库的装置,包括:
批量更新数据表构建模块,用于获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;
目标数据表查询模块,用于依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;
数据更新模块,用于将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。
本发明实施例提供的更新分析数据库的方法及装置,通过获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。这样,将需要多次频繁的更新操作,转化为一次批量更新操作,有效提升了分析数据库的更新效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的更新分析数据库的方法流程示意图;
图2示出了本发明实施例所提供的更新分析数据库的装置结构示意图;
图3为本申请实施例提供的一种计算机设备300的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种更新分析数据库的方法及装置,下面通过实施例进行描述。
图1示出了本发明实施例所提供的更新分析数据库的方法流程示意图。如图1所示,该方法包括:
步骤101,获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;
本发明实施例中,分析数据库以列方式存储数据,每一列对应有一字段名,每一存储的数据对应分析数据库中的一行。作为一可选实施例,分析数据库的结构包括:数据入库标识列以及一个或多个字段名列,其中,字段名列按照列存储的方式存储该字段名对应的数据内容,数据入库标识列用于对数据进行标识。举例来说,分析数据库可以如表1所示。
表1
entry_id | version_flag | Col1 | Col2 | … |
10001 | 0 | Xiaoma | Add | … |
10002 | 0 | xiaoda | 天天 | … |
10003 | 0 | Xiaotian | 田田 | … |
10004 | 0 | Xiaomei | 单独 | … |
… | … | … | … | … |
表1中,entry_id为数据入库标识,version_flag为数据版本号,Col1为分析数据库的第一字段名列,Col2为分析数据库的第二字段名列。其中,entry_id为数据入库标识列,version_flag、Col1、Col2为字段名列。
本发明实施例中,数据通过数据效用标识来表征该数据所处的状态,若处于有效状态,表明该数据可以向外提供读写服务,若处于无效状态,表明该数据不能向外提供读写服务,若处于临时状态,表明该数据的状态不稳定,后续会转换为有效状态或无效状态。作为一可选实施例,由于数据的版本号以数值形式表示,简单易于运算,以数据版本号作为该数据的数据效用标识。例如,若数据版本号(数据效用标识)为0,表征该数据有效,若数据版本号(数据效用标识)为1,表征该数据为临时数据,若数据版本号(数据效用标识)为i,表征该数据为无效数据。因而,数据效用标识包括:有效标识、无效标识以及临时标识。当然,实际应用中,也可以为数据设置数据效用标识列。
本发明实施例中,分析数据库的标识包括该分析数据库中的各数据效用标识。
本发明实施例中,作为一可选实施例,所述依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,包括:
A11,复制所述分析数据库的结构,得到内容为空的批量更新数据表;
本发明实施例中,分析数据库的结构为分析数据库包含的各列。
A12,针对所述待更新数据集中的每一条数据,在所述内容为空的批量更新数据表中新增一行;
本发明实施例中,每条数据对应批量更新数据表中的一行。
A13,依次提取每条数据中包含的第一字段名,与所述内容为空的批量更新数据表中的各字段名列对应的第二字段名进行匹配,将所述第一字段名对应的数据内容填充至该数据所在的行中,与所述第一字段名相匹配的第二字段名对应的列。
本发明实施例中,一条数据中会包含有一个或多个字段名,在每一字段名后,对应有该字段名对应的数据内容。
本发明实施例中,假设需要对分析数据库中数据入库标识为1001至1004的4条数据进行更新,且均是对第一字段名列的内容进行修改,则依据上述方法构建的批量更新数据表如表2所示。
表2
entry_id | version_flag | Col1 | Col2 |
10001 | 1 | Xiaoma_new | Add |
10002 | 1 | xiaoda_new | 天天 |
10003 | 1 | Xiaotian_new | 田田 |
10004 | 1 | Xiaomei_new | 单独 |
本发明实施例中,作为一可选实施例,仅对第一字段名列对应的内容进行更新。当然,实际应用中,也可以对数据的不同字段名列进行更新,或者,对不同数据,更新的字段名列也可以不同,本发明实施例对此不作限定。
本发明实施例中,构建的批量更新数据表以在后续流程中插入分析数据库,其中,批量更新数据表中各数据的版本号为预先设置的临时版本号。作为一可选实施例,批量更新数据表中各数据的版本号version_flag=1。
步骤102,依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;
本发明实施例中,依据批量更新数据表中各行数据对应的数据入库标识,从分析数据库中找到该数据入库标识对应的数据,得到目标数据表。
本发明实施例中,作为一可选实施例,依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表,包括:
依据所述批量更新数据表中各行数据对应的数据入库标识,查询所述分析数据库,获取与所述数据入库标识相匹配的各数据,得到所述目标数据表。
本发明实施例中,得到的目标数据表如表3所示。
表3
entry_id | version_flag | Col1 | Col2 |
10001 | 0 | Xiaoma | Add |
10002 | 0 | xiaoda | 天天 |
10003 | 0 | Xiaotian | 田田 |
10004 | 0 | Xiaomei | 单独 |
步骤103,将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。
本发明实施例中,作为一可选实施例,将目标数据表的标识设置为无效,包括:
将所述目标数据表中的各条数据的数据版本号对应的值修改为无效对应的值。
本发明实施例中,将目标数据表的标识设置为无效,表明该目标数据表处于无效状态,不能对外提供服务。例如,将分析数据库对应表3中数据入库标识为1001至1004的4条数据的version_flag=0,修改为:version_flag=i。
本发明实施例中,在插入批量更新数据表后,修改插入的批量更新数据表的临时标识为有效,从而完成分析数据库中数据的更新。这样,该批量更新数据表可以对外提供读写等服务。
本发明实施例中,通过将需要更新的4条数据转换为1条批处理数据(批量更新数据表),通过一条批量更新指令对分析数据库进行更新。
本发明实施例中,批量更新指令的程序代码段如下:
Update version_flag=(version_flag+2)%2where entry_id in[10001,10002,10003,10004]。
本发明实施例中,在分析数据库中插入批量更新数据表,输入批量更新指令,以使分析数据库依据该批量更新指令执行相应的更新操作。
本发明实施例的更新分析数据库的方法,通过获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。这样,将需要多次频繁的更新操作,转化为一次批量更新操作,有效提升了分析数据库的更新性能,从而解决实时在线场景中,需要对分析数据库中的数据进行逐条更新导致的更新效率低下的技术问题;进一步地,该更新操作主要集中在一字段名的类型为数字的字段名列上,更新性能较高;而且,本发明实施例的批量更新方法,也可以应用在其他一些分析数据库底层实现中,以有效提升更新方面的性能。
本发明实施例中,作为另一可选实施例,所述更新还包括:插入,所述方法还包括:
A21,复制所述分析数据库的结构,得到内容为空的批量插入数据表;
A22,针对获取的待插入数据集中的每一条待插入数据,在所述内容为空的批量更新数据表中新增一行;
A23,依次提取待插入数据中包含的第三字段名,与所述内容为空的批量插入数据表中的各字段名列对应的第四字段名进行匹配,将所述第三字段名对应的数据内容填充至该数据所在的行中,与所述第三字段名相匹配的第四字段名对应的列;
A24,在所述分析数据库中插入所述批量插入数据表,修改插入的所述批量插入数据表的临时标识为有效。
本发明实施例中,作为一可选实施例,也可以通过在分析数据库中添加新增行,所述新增行的行数与所述批量插入数据表包含的数据行数相同,设置所述新增行对应的版本号为临时;将待插入数据的数据内容分别复制到该新增行对应的字段名列中;在待插入数据添加完毕后,将该新增行对应的版本号修改为有效。
本发明实施例中,作为再一可选实施例,所述更新还包括:删除,所述方法还包括:
A31,提取待删除数据集中各数据在所述分析数据库中的数据入库标识;
A32,在所述分析数据库中,查询与所述数据入库标识相匹配的数据,将该相匹配的数据的数据效用标识设置为无效。
本发明实施例中,将需要多次频繁的更新(新增、删除、修改)操作,转化为一次批量更新操作,从而解决实时在线场景中数据更新较低的技术问题。而且,作为一可选实施例,该更新操作主要集中在一字段名(版本号)的类型为数字的列上,更新性能更高。
本发明实施例中,基于更新的分析数据库,还可以提供数据查询功能,在进行数据查询时,只查询分析数据库中version_flag为0的数据,即从有效数据中进行查询。因而,作为一可选实施例,该方法还包括:
A41,接收查询请求,提取查询请求中携带的查询关键词,查询所述分析数据库中的各字段名列,获取与所述查询关键词相匹配的目标字段名列;
A42,从目标字段名列中,获取数据效用标识为有效的目标字段名列对应的数据内容,得到查询结果。
图2示出了本发明实施例所提供的更新分析数据库的装置结构示意图。如图2所示,该装置包括:
批量更新数据表构建模块201,用于获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;
本发明实施例中,分析数据库的标识包括该分析数据库中的各数据效用标识,数据通过数据效用标识来表征该数据所处的状态。作为一可选实施例,数据效用标识包括:有效标识、无效标识以及临时标识。
本发明实施例中,作为一可选实施例,批量更新数据表构建模块201包括:
复制单元(图中未示出),用于复制所述分析数据库的结构,得到内容为空的批量更新数据表;
批量更新数据表更新单元,用于针对所述待更新数据集中的每一条数据,在所述内容为空的批量更新数据表中新增一行;
批量更新数据表构建单元,用于依次提取每条数据中包含的第一字段名,与所述内容为空的批量更新数据表中的各字段名列对应的第二字段名进行匹配,将所述第一字段名对应的数据内容填充至该数据所在的行中,与所述第一字段名相匹配的第二字段名对应的列。
目标数据表查询模块202,用于依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;
本发明实施例中,依据批量更新数据表中各行数据对应的数据入库标识,从分析数据库中找到该数据入库标识对应的数据,得到目标数据表。
本发明实施例中,作为一可选实施例,目标数据表查询模块202,具体用于依据所述批量更新数据表中各行数据对应的数据入库标识,查询所述分析数据库,获取与所述数据入库标识相匹配的各数据,得到所述目标数据表。
数据更新模块203,用于将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。
本发明实施例中,作为一可选实施例,将目标数据表的标识设置为无效,包括:
将所述目标数据表中的各条数据的数据版本号对应的值修改为无效对应的值。
本发明实施例中,批量更新指令的程序代码段如下:
Update version_flag=(version_flag+2)%2where entry_id in[10001,10002,10003,10004]。
本发明实施例中,作为一可选实施例,批量更新数据表构建模块201,还用于:复制所述分析数据库的结构,得到内容为空的批量插入数据表;针对获取的待插入数据集中的每一条待插入数据,在所述内容为空的批量更新数据表中新增一行;依次提取待插入数据中包含的第三字段名,与所述内容为空的批量插入数据表中的各字段名列对应的第四字段名进行匹配,将所述第三字段名对应的数据内容填充至该数据所在的行中,与所述第三字段名相匹配的第四字段名对应的列;
数据更新模块203,还用于在所述分析数据库中插入所述批量插入数据表,修改插入的所述批量插入数据表的临时标识为有效。
本发明实施例中,作为另一可选实施例,批量更新数据表构建模块201,还用于提取待删除数据集中各数据在所述分析数据库中的数据入库标识;
数据更新模块203,还用于在所述分析数据库中,查询与所述数据入库标识相匹配的数据,将该相匹配的数据的数据效用标识设置为无效。
如图3所示,本申请一实施例提供了一种计算机设备300,用于执行图1中的更新分析数据库的方法,该设备包括存储器301、处理器302及存储在该存储器301上并可在该处理器302上运行的计算机程序,其中,上述处理器302执行上述计算机程序时实现上述更新分析数据库的方法的步骤。
具体地,上述存储器301和处理器302能够为通用的存储器和处理器,这里不做具体限定,当处理器302运行存储器301存储的计算机程序时,能够执行上述更新分析数据库的方法。
对应于图1中的更新分析数据库的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述更新分析数据库的方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述更新分析数据库的方法。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种更新分析数据库的方法,其特征在于,包括:
获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;
依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;
将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。
2.根据权利要求1所述的方法,其特征在于,所述依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,包括:
复制所述分析数据库的结构,得到内容为空的批量更新数据表;
针对所述待更新数据集中的每一条数据,在所述内容为空的批量更新数据表中新增一行;
依次提取每条数据中包含的第一字段名,与所述内容为空的批量更新数据表中的各字段名列对应的第二字段名进行匹配,将所述第一字段名对应的数据内容填充至该数据所在的行中,与所述第一字段名相匹配的第二字段名对应的列。
3.根据权利要求1所述的方法,其特征在于,所述依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表,包括:
依据所述批量更新数据表中各行数据对应的数据入库标识,查询所述分析数据库,获取与所述数据入库标识相匹配的各数据,得到所述目标数据表。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标数据表的标识设置为无效,包括:
将所述目标数据表中的各条数据的数据版本号对应的值修改为无效对应的值。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述更新还包括:插入,所述方法还包括:
复制所述分析数据库的结构,得到内容为空的批量插入数据表;
针对获取的待插入数据集中的每一条待插入数据,在所述内容为空的批量更新数据表中新增一行;
依次提取待插入数据中包含的第三字段名,与所述内容为空的批量插入数据表中的各字段名列对应的第四字段名进行匹配,将所述第三字段名对应的数据内容填充至该数据所在的行中,与所述第三字段名相匹配的第四字段名对应的列;
在所述分析数据库中插入所述批量插入数据表,修改插入的所述批量插入数据表的临时标识为有效。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述更新还包括:删除,所述方法还包括:
提取待删除数据集中各数据在所述分析数据库中的数据入库标识;
在所述分析数据库中,查询与所述数据入库标识相匹配的数据,将该相匹配的数据的数据效用标识设置为无效。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
接收查询请求,提取查询请求中携带的查询关键词,查询所述分析数据库中的各字段名列,获取与所述查询关键词相匹配的目标字段名列;
从目标字段名列中,获取数据效用标识为有效的目标字段名列对应的数据内容,得到查询结果。
8.一种更新分析数据库的装置,其特征在于,包括:
批量更新数据表构建模块,用于获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;
目标数据表查询模块,用于依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;
数据更新模块,用于将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的更新分析数据库的方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的更新分析数据库的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010694179.0A CN111797108A (zh) | 2020-07-17 | 2020-07-17 | 一种更新分析数据库的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010694179.0A CN111797108A (zh) | 2020-07-17 | 2020-07-17 | 一种更新分析数据库的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797108A true CN111797108A (zh) | 2020-10-20 |
Family
ID=72807736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010694179.0A Pending CN111797108A (zh) | 2020-07-17 | 2020-07-17 | 一种更新分析数据库的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797108A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162246A1 (en) * | 2008-12-19 | 2010-06-24 | Oracle International Corporation | Use of analytics to schedule, submit or monitor processes or reports |
CN102024015A (zh) * | 2009-09-18 | 2011-04-20 | 软件股份公司 | 用于批量删除数据库系统的数据记录的方法 |
US20120254221A1 (en) * | 2011-03-29 | 2012-10-04 | Salesforce.Com, Inc. | Systems and methods for performing record actions in a multi-tenant database and application system |
CN105975513A (zh) * | 2016-04-27 | 2016-09-28 | 天脉聚源(北京)传媒科技有限公司 | 一种批量设置视频资源的标识的方法及装置 |
CN106815329A (zh) * | 2016-12-29 | 2017-06-09 | 网易无尾熊(杭州)科技有限公司 | 一种缓存数据的更新方法及装置 |
CN107967361A (zh) * | 2017-12-22 | 2018-04-27 | 北京明朝万达科技股份有限公司 | 一种数据库的增量处理方法和系统 |
CN108062314A (zh) * | 2016-11-07 | 2018-05-22 | 北京京东尚科信息技术有限公司 | 动态分表数据处理方法和装置 |
CN108073595A (zh) * | 2016-11-10 | 2018-05-25 | 北京国双科技有限公司 | 一种在olap数据库实现数据更新和快照的方法及装置 |
CN110069487A (zh) * | 2017-09-28 | 2019-07-30 | 北京国双科技有限公司 | 一种数据处理方法、装置及系统 |
CN110647562A (zh) * | 2019-09-29 | 2020-01-03 | 中国联合网络通信集团有限公司 | 一种数据查询方法和装置、电子设备、存储介质 |
CN110659295A (zh) * | 2019-09-25 | 2020-01-07 | 北京浪潮数据技术有限公司 | 一种基于hawq记录有效数据的方法、装置和介质 |
CN110928869A (zh) * | 2018-09-04 | 2020-03-27 | 深圳市超脑云信息技术有限公司 | 一种数据仓库表自生长方法、终端及介质 |
CN111144926A (zh) * | 2019-11-27 | 2020-05-12 | 泰康保险集团股份有限公司 | 业务请求处理方法、装置、系统、电子设备及可读介质 |
CN111309746A (zh) * | 2020-02-13 | 2020-06-19 | 贝壳技术有限公司 | 异步并行数据同步方法及装置 |
-
2020
- 2020-07-17 CN CN202010694179.0A patent/CN111797108A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162246A1 (en) * | 2008-12-19 | 2010-06-24 | Oracle International Corporation | Use of analytics to schedule, submit or monitor processes or reports |
CN102024015A (zh) * | 2009-09-18 | 2011-04-20 | 软件股份公司 | 用于批量删除数据库系统的数据记录的方法 |
US20120254221A1 (en) * | 2011-03-29 | 2012-10-04 | Salesforce.Com, Inc. | Systems and methods for performing record actions in a multi-tenant database and application system |
CN105975513A (zh) * | 2016-04-27 | 2016-09-28 | 天脉聚源(北京)传媒科技有限公司 | 一种批量设置视频资源的标识的方法及装置 |
CN108062314A (zh) * | 2016-11-07 | 2018-05-22 | 北京京东尚科信息技术有限公司 | 动态分表数据处理方法和装置 |
CN108073595A (zh) * | 2016-11-10 | 2018-05-25 | 北京国双科技有限公司 | 一种在olap数据库实现数据更新和快照的方法及装置 |
CN106815329A (zh) * | 2016-12-29 | 2017-06-09 | 网易无尾熊(杭州)科技有限公司 | 一种缓存数据的更新方法及装置 |
CN110069487A (zh) * | 2017-09-28 | 2019-07-30 | 北京国双科技有限公司 | 一种数据处理方法、装置及系统 |
CN107967361A (zh) * | 2017-12-22 | 2018-04-27 | 北京明朝万达科技股份有限公司 | 一种数据库的增量处理方法和系统 |
CN110928869A (zh) * | 2018-09-04 | 2020-03-27 | 深圳市超脑云信息技术有限公司 | 一种数据仓库表自生长方法、终端及介质 |
CN110659295A (zh) * | 2019-09-25 | 2020-01-07 | 北京浪潮数据技术有限公司 | 一种基于hawq记录有效数据的方法、装置和介质 |
CN110647562A (zh) * | 2019-09-29 | 2020-01-03 | 中国联合网络通信集团有限公司 | 一种数据查询方法和装置、电子设备、存储介质 |
CN111144926A (zh) * | 2019-11-27 | 2020-05-12 | 泰康保险集团股份有限公司 | 业务请求处理方法、装置、系统、电子设备及可读介质 |
CN111309746A (zh) * | 2020-02-13 | 2020-06-19 | 贝壳技术有限公司 | 异步并行数据同步方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228817B (zh) | 数据处理方法、装置和系统 | |
CN111046034B (zh) | 管理内存数据及在内存中维护数据的方法和系统 | |
US7219104B2 (en) | Data cleansing | |
CN106933836B (zh) | 一种基于分表的数据存储方法和系统 | |
US10853364B2 (en) | Direct table association in in-memory databases | |
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN109408589B (zh) | 数据同步方法及装置 | |
CN111143368B (zh) | 一种关系型数据库数据对比方法及系统 | |
CN109191158B (zh) | 用户画像标签数据的处理方法及处理设备 | |
CN110442585B (zh) | 数据更新方法、数据更新装置、计算机设备及存储介质 | |
CN109388659B (zh) | 数据存储方法、装置和计算机可读存储介质 | |
CN111026753A (zh) | 基于树形结构的标签存储方法及装置 | |
US20090313212A1 (en) | Relational database with compound identifier | |
CN107735781B (zh) | 存储查询结果的方法和装置、计算设备 | |
CN111258819A (zh) | MySQL数据库备份文件的数据获取方法、装置和系统 | |
CN110362540B (zh) | 一种数据存储、访客数获取方法及装置 | |
EP1591914A1 (en) | Method, computer program product and device for importing a plurality of data sets into a system | |
CN111797108A (zh) | 一种更新分析数据库的方法及装置 | |
CN105653540B (zh) | 文件属性信息的处理方法和装置 | |
CN108376054B (zh) | 一种对标识数据进行索引的处理方法及装置 | |
CN111460000A (zh) | 一种基于关系型数据库的回溯数据查询方法及系统 | |
CN110147396B (zh) | 一种映射关系生成方法及装置 | |
CN110851437A (zh) | 一种存储方法、装置及设备 | |
JP2018109898A (ja) | データマイグレーションシステム | |
CN110598072A (zh) | 一种特征数据聚合方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |