CN117194435A - 索引数据更新方法、装置、设备及存储介质 - Google Patents

索引数据更新方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117194435A
CN117194435A CN202311255903.XA CN202311255903A CN117194435A CN 117194435 A CN117194435 A CN 117194435A CN 202311255903 A CN202311255903 A CN 202311255903A CN 117194435 A CN117194435 A CN 117194435A
Authority
CN
China
Prior art keywords
updated
field
index
data
field value
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
Application number
CN202311255903.XA
Other languages
English (en)
Inventor
史恩可
许永成
孙会首
刘泽隶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuguang Cloud Computing Group Co ltd
Original Assignee
Shuguang Cloud Computing Group Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shuguang Cloud Computing Group Co ltd filed Critical Shuguang Cloud Computing Group Co ltd
Priority to CN202311255903.XA priority Critical patent/CN117194435A/zh
Publication of CN117194435A publication Critical patent/CN117194435A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种索引数据更新方法、装置、设备及存储介质。该方法包括:获取待更新数据,并确定待更新数据对应的待更新索引文档;确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段;构建与待更新字段相对应的参考更新字段;根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值;根据待更新字段的待更新字段值和参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新。本发明实施例实现了对索引数据的准确更新,提高了索引数据的更新效率。

Description

索引数据更新方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种索引数据更新方法、装置、设备及存储介质。
背景技术
随着数据库技术的不断发展,分布式检索引擎在各个领域场景下被广泛使用。当全量数据以一定的数据表结构或模式存入引擎索引后,索引的映射关系也随之被确定下来。在保持原有索引映射关系的情况下,以何种通用且高效的方式对索引文档中的数据进行更新成为亟待解决的问题。
目前,针对索引文档中索引数据更新的方式主要有两种:一种是基于post、delete或put等请求语句实现对索引文档中索引数据的修改、删除以及增加;另一种是将需要更新的数据以dataset或dataframe等写入方法更新到检索引擎的索引中。
然而,现有的索引文档的索引数据更新方式,存在无法精准的对索引数据进行更新的情况,以及存在索引数据更新时长较长,更新效率较低的问题。
发明内容
本发明提供了一种索引数据更新方法、装置、设备及存储介质,以实现对索引数据的准确更新,提高索引数据的更新效率。
根据本发明的一方面,提供了一种索引数据更新方法,所述方法包括:
获取待更新数据,并确定所述待更新数据对应的待更新索引文档;
确定所述待更新索引文档中,与所述待更新数据中的待更新字段分别对应的目标索引字段;
构建与所述待更新字段相对应的参考更新字段;
根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值;
根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新。
可选的,所述根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值,包括:
若所述待更新字段对应的目标索引字段的数据结构类型为原子结构类型,则将所述待更新字段的待更新字段值,确定为所述待更新字段对应的参考更新字段的参考字段值。
上述技术方案通过将待更新字段的待更新字段值,直接确定为待更新字段对应的参考更新字段的参考字段值,实现了在目标索引字段的数据结构类型为原子结构类型的情况下,对参考更新字段的参考字段值的精准确定,从而为提高后续对索引数据的更新准确度奠定基础。
可选的,所述根据各所述待更新字段的待更新字段值,基于相应待更新字段对应的目标索引字段的数据结构类型,确定各所述待更新字段对应的参考更新字段的参考字段值,包括:
若所述待更新字段对应的目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的目标数据转换方式;
根据所述目标数据转换方式,对所述待更新字段的待更新字段值进行数据结构转换,得到转换字段值;
将所述转换字段值确定为所述待更新字段对应的参考更新字段的参考字段值。
上述技术方案通过确定复合结构类型对应的目标数据转换方式,根据目标数据转换方式,对待更新字段的待更新字段值进行数据结构转换,得到转换字段值,并将转换字段值确定为待更新字段对应的参考更新字段的参考字段值,实现了在目标索引字段的数据结构类型为复合结构类型的情况下,对参考更新字段的参考字段值的精准确定,从而为提高后续对索引数据的更新准确度奠定基础。
可选的,所述根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新,包括:
确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值;
若存在,则确定所述待更新字段值与所述目标索引字段下的索引字段值是否一致;
若否,则采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值。
上述技术方案通过确定待更新索引文档中与待更新字段对应的目标索引字段下是否存在索引字段值;若存在,则确定待更新字段值与目标索引字段下的索引字段值是否一致;若否,则采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值。上述技术方案通过在更新索引字段值的过程中,考虑不同的数据更新场景,并在不同数据更新场景下,采用不同的数据更新手段进行更新,进一步提高了对索引数据的更新准确度,提高了对索引数据的更新效率。
可选的,在所述确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值之后,还包括:
若确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下不存在索引字段值,则将所述参考更新字段的参考字段值,添加至所述目标索引字段下,以对所述待更新索引文档的索引字段值进行数据更新。
上述技术方案通过直接将参考更新字段的参考字段值,添加至目标索引字段下的方式,实现了在确定待更新索引文档中与待更新字段对应的目标索引字段下不存在索引字段值的场景下,对待更新索引文档的索引字段值进行数据更新。
可选的,所述采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值,包括:
若所述目标索引字段的数据结构类型为原子结构类型,则采用所述待更新字段值,替换所述待更新索引文档中的目标索引字段下的索引字段值。
上述技术方案通过采用待更新字段值直接替换待更新索引文档中的目标索引字段下的索引字段值的方式,实现了对目标索引字段的数据结构类型为原子结构类型情况下索引数据的更新,提高了对索引数据的更新效率和更新准确度。
可选的,所述采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值,包括:
若所述目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的数据插入方式;
根据所述待更新字段值,基于所述数据插入方式,更新所述待更新索引文档中的目标索引字段下的索引字段值。
上述技术方案通过确定复合结构类型对应的数据插入方式,并根据待更新字段值,基于数据插入方式,更新待更新索引文档中的目标索引字段下的索引字段值,实现了对目标索引字段的数据结构类型为复合结构类型情况下索引数据的更新,提高了对索引数据的更新效率和更新准确度。
根据本发明的另一方面,提供了一种索引数据更新装置,所述装置包括:
待更新数据获取模块,用于获取待更新数据,并确定所述待更新数据对应的待更新索引文档;
索引字段确定模块,用于确定所述待更新索引文档中,与所述待更新数据中的待更新字段分别对应的目标索引字段;
参考字段构建模块,用于构建与所述待更新字段相对应的参考更新字段;
参考字段值确定模块,用于根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值;
索引数据更新模块,用于根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的索引数据更新方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的索引数据更新方法。
本发明实施例技术方案通过获取待更新数据,并确定待更新数据对应的待更新索引文档;确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段;构建与待更新字段相对应的参考更新字段;根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值;根据待更新字段的待更新字段值和参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新。上述技术方案通过在更新索引数据的过程中考虑待更新字段对应目标索引字段的数据结构类型的方式,实现了对索引数据的精准更新;通过引入并构建与待更新字段相对应的参考更新字段,并结合参考更新字段实现对索引数据的更新,降低了索引数据更新时长,从而提高了索引数据的更新效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种索引数据更新方法的流程图;
图2是根据本发明实施例二提供的一种索引数据更新方法的流程图;
图3是根据本发明实施例三提供的一种索引数据更新方法的流程图;
图4是根据本发明实施例四提供的一种索引数据更新装置的结构示意图;
图5是实现本发明实施例的索引数据更新方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种索引数据更新方法的流程图,本实施例可适用于对索引文档中的索引数据进行更新的情况,该方法可以由索引数据更新装置来执行,该索引数据更新装置可以采用硬件和/或软件的形式实现,该索引数据更新装置可配置于电子设备中。如图1所示,该方法包括:
S110、获取待更新数据,并确定待更新数据对应的待更新索引文档。
其中,待更新数据可以是用于更新索引文档中的当前索引数据的增量数据。待更新索引文档可以是与待更新数据存在关联关系,且有更新需求的索引文档。待更新索引文档可以存储在检索引擎中;检索引擎可以是分布式检索引擎,例如,分布式检索引擎可以是Elasticsearch(分布式搜索和分析引擎)。
其中,待更新数据可以由存在数据更新需求的发起方生成,待更新数据在生成的过程中可以添加文档标识,用于唯一表征与待更新数据存在关联关系的待更新索引文档。其中,待更新数据与待更新索引文档之间的关联关系可以是将待更新数据更新至待更新索引文档的某个索引位置处。
示例性的,响应于对索引文档的索引数据更新需求,获取待更新数据;基于待更新数据对应的文档标识,确定与待更新数据关联的存在更新需求的待更新索引文档。
S120、确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段。
需要说明的是,待更新数据中存在字段值用于定位或索引的字段,以及存在字段值需要实际更新至待更新文档中的字段,待更新数据中字段值实际需要更新的字段即为待更新字段。在待更新索引文档中的至少一个索引字段里,与待更新字段相同的索引字段即为目标索引字段。
以待更新数据的数据表达形式为表结构为例进行举例说明,待更新数据的数据表名称为add_table,待更新索引文档的数据表名称为my_index,如表1所示的待更新数据和表2所示的待更新索引文档。
表1
表2
其中,ID字段即为定位或索引的字段,用于在待更新索引文档中定位待更新字段对应的字段下是否存在或部分存在ID字段对应的字段值。待更新数据add_table中的待更新字段即为field1字段和field2字段;相应的,待更新索引文档中的目标索引字段同为field1字段和field2字段。
S130、构建与待更新字段相对应的参考更新字段。
其中,参考更新字段是与待更新字段的字段数量完全相同的字段。参考更新字段与待更新字段具有对应关系,构建的参考更新字段与其对应的待更新字段的字段名称可以相同也可以不同。
示例性的,以表1的待更新数据为例,若待更新字段为field1字段和field2字段,则待更新字段field1对应的参考更新字段可以为param1;待更新字段field2对应的参考更新字段可以为param2。需要说明的是,初始构建得到的参考更新字段中的参考字段值可以为空值,后续根据待更新字段对应的待更新字段值对参考更新字段的参考更新字段值进行填充。
S140、根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值。
需要说明的是,在进行索引数据更新的过程中,存在待更新字段与其对应的目标索引字段的数据结构类型不对应的情况,若直接进行不同数据结构类型的字段值更新,则可能存在更新失败或更新后的索引数据缺失、数据错乱等数据更新不准确的情况发生。
其中,数据结构类型可以是原子结构类型和复合结构类型。例如,原子结构类型可以包括整数型和字符型等;复合结构类型可以包括数组、元组、字典、列表和集合等类型。
示例性的,可以根据待更新字段的待更新字段值,确定待更新字段对应的参考更新字段的参考字段值,并在确定过程中,根据待更新字段对应的目标索引字段的数据结构类型,确定是否对待更新字段值进行数据结构转换。
在一个可选实施例中,根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值,包括:若待更新字段对应的目标索引字段的数据结构类型为原子结构类型,则将待更新字段的待更新字段值,确定为待更新字段对应的参考更新字段的参考字段值。
可以理解的是,在对原子结构类型的索引数据进行更新时,可以将原子结构类型的数据直接添加或插入至相应索引字段下,且不会造成索引数据更新失败,如数据缺失、数据重复或数据错乱等情况发生。
以待更新数据为表1所示的数据表为例进行举例说明,若待更新字段为field1字段,待更新字段field1的待更新字段值为Value1_new和Value2;待更新字段对应的目标索引字段field1的数据结构类型为原子结构类型,则无需进行数据结构类型转换,待更新字段field1字段对应的参考更新字段param1字段的参考字段值同为Value1_new和Value2。
本可选实施例通过将待更新字段的待更新字段值,直接确定为待更新字段对应的参考更新字段的参考字段值,实现了在目标索引字段的数据结构类型为原子结构类型的情况下,对参考更新字段的参考字段值的精准确定,从而为提高后续对索引数据的更新准确度奠定基础。
在另一个可选实施例中,根据各待更新字段的待更新字段值,基于相应待更新字段对应的目标索引字段的数据结构类型,确定各待更新字段对应的参考更新字段的参考字段值,包括:若待更新字段对应的目标索引字段的数据结构类型为复合结构类型,则确定复合结构类型对应的目标数据转换方式;根据目标数据转换方式,对待更新字段的待更新字段值进行数据结构转换,得到转换字段值;将转换字段值确定为待更新字段对应的参考更新字段的参考字段值。
需要说明的是,在对复合结构类型的索引数据进行更新时,需要将复合结构类型的待更新数据进行结构类型转换后再进行索引数据更新,若将复合结构类型的数据直接添加或插入至相应索引字段下,则会造成索引数据更新失败,如数据缺失、数据重复或数据错乱等情况发生。
其中,不同复合结构类型可以对应不同的数据转换方式,例如,元组结构类型对应的数据转换方式可以为元组数据转换方式;数组结构类型对应的数据转换方式可以为数组数据转换方式。
示例性的,若待更新字段对应的目标索引字段的数据结构类型为复合结构类型,则确定该复合结构类型所对应的目标数据转换方式,并基于目标数据转换方式对待更新字段的待更新字段值进行数据结构转换。以待更新数据为表1所示的数据表为例进行举例说明,若待更新字段为field2字段,待更新字段field2的待更新字段值为Value2_4和Value3_1;待更新字段对应的目标索引字段field2的数据结构类型为复合结构类型,则基于复合结构类型对应的目标数据转换方式,对待更新字段值为Value2_4和Value3_1进行数据结构类型转换,得到待更新字段值为Value2_4进行复合数据结构类型转换后的转换字段值[Value2_4],以及待更新字段值为Value3_1进行复合数据结构类型转换后的转换字段值[Value3_1]。相应的,待更新字段field2对应的参考更新字段param2字段的参考字段值为转换字段值[Value2_4]和转换字段值[Value3_1]。
本可选实施例通过确定复合结构类型对应的目标数据转换方式,根据目标数据转换方式,对待更新字段的待更新字段值进行数据结构转换,得到转换字段值,并将转换字段值确定为待更新字段对应的参考更新字段的参考字段值,实现了在目标索引字段的数据结构类型为复合结构类型的情况下,对参考更新字段的参考字段值的精准确定,从而为提高后续对索引数据的更新准确度奠定基础。
S150、根据待更新字段的待更新字段值和参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新。
示例性的,可以针对不同的索引数据更新场景,选择待更新字段值或参考字段值,实现对待更新索引文档的索引字段值进行数据更新。具体的,针对待更新索引文档的索引字段值为空白的场景,可以采用参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新;针对待更新索引文档的索引字段值非空白的场景,可以采用待更新更新字段的待更新字段值,对待更新索引文档的索引字段值进行数据更新。
本发明实施例技术方案通过获取待更新数据,并确定待更新数据对应的待更新索引文档;确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段;构建与待更新字段相对应的参考更新字段;根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值;根据待更新字段的待更新字段值和参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新。上述技术方案通过在更新索引数据的过程中考虑待更新字段对应目标索引字段的数据结构类型的方式,实现了对索引数据的精准更新;通过引入并构建与待更新字段相对应的参考更新字段,并结合参考更新字段实现对索引数据的更新,降低了索引数据更新时长,从而提高了索引数据的更新效率。
实施例二
图2为本发明实施例二提供的一种索引数据更新方法的流程图,本实施例在上述各技术方案的基础上,进行了优化改进。
进一步的,将步骤“根据待更新字段的待更新字段值和参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新”细化为“确定待更新索引文档中与待更新字段对应的目标索引字段下是否存在索引字段值;若存在,则确定待更新字段值与目标索引字段下的索引字段值是否一致;若否,则采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值。”以完善对目标索引字段下的索引字段值的更新方式。需要说明的是,在本发明实施例中未详述的部分,可参见其他实施例的表述。
如图2所示,该方法包括以下具体步骤:
S210、获取待更新数据,并确定待更新数据对应的待更新索引文档。
S220、确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段。
S230、构建与待更新字段相对应的参考更新字段。
S240、根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值。
S250、确定待更新索引文档中与待更新字段对应的目标索引字段下是否存在索引字段值。
以待更新数据为表3数据表add_table_updata以及待更新索引文档为表4数据表my_index_1为例进行举例说明。其中,针对待处理字段field1,其在待更新索引文档my_index_1中目标索引字段field1下,不存在ID为3的索引字段值;针对ID为1的索引字段值存在全部缺失;针对ID为2的索引字段值存在部分缺失。针对待处理字段field2,其在待更新索引文档my_index_1中目标索引字段field1下,不存在ID为3的索引字段值;针对ID为2的索引字段值存在全部缺失。
表3
表4
S260、若存在,则确定待更新字段值与目标索引字段下的索引字段值是否一致。
示例性的,若确定待更新索引文档中与待更新字段对应的目标索引字段下存在索引字段值,则需要进一步判断待更新字段值与目标索引字段下的索引字段值是否一致。例如,待更新字段值和索引字段值完全一致,则表示一致,若存在部分一致,部分缺失则表示不一致。
在一个可选实施例中,在确定待更新索引文档中与待更新字段对应的目标索引字段下是否存在索引字段值之后,还包括:若确定待更新索引文档中与待更新字段对应的目标索引字段下不存在索引字段值,则将参考更新字段的参考字段值,添加至目标索引字段下,以对待更新索引文档的索引字段值进行数据更新。
若确定待更新索引文档中与待更新字段对应的目标索引字段下不存在索引字段值,则可以将参考更新字段的参考字段值,直接添加至目标索引字段下,以实现对待更新索引文档的索引字段值进行数据更新。
以上述待更新数据为表3数据表add_table_updata以及待更新索引文档为表4数据表my_index_1为例进行举例说明。针对待更新字段field1,在待更新索引文档my_index_1中,ID为1的目标索引字段field1下不存在索引字段值,且不存在ID为3的索引字段值;针对待更新字段field2,在待更新索引文档my_index_1中,ID为2的目标索引字段field2下不存在索引字段值,且不存在ID为3的索引字段值。采用参考更新字段的参考字段值,直接添加至目标索引字段下,以实现对待更新索引文档的索引字段值进行数据更新。若待处理字段field1对应的参考更新字段param1,以及待处理字段field2对应的参考更新字段param2如表5所示,则更新后的my_index_1_new如表6所示。
表5
ID param1 param2
1 Value1_1 [Value2_1]
2 Value1_21+Value1_22 [Value2_2]
3 Value1_3 [Value2_3]
表6
本可选实施例方案通过直接将参考更新字段的参考字段值,添加至目标索引字段下的方式,实现了在确定待更新索引文档中与待更新字段对应的目标索引字段下不存在索引字段值的场景下,对待更新索引文档的索引字段值进行数据更新。
S270、若否,则采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值。
示例性的,若确定待更新索引文档中与待更新字段对应的目标索引字段下存在索引字段值,且待更新字段值与目标索引字段下的索引字段值一致,则无需对目标索引字段下的索引字段值进行数据更新;若确定待更新索引文档中与待更新字段对应的目标索引字段下存在索引字段值,但待更新字段值与目标索引字段下的索引字段值不一致,则采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值。
以上述待更新数据为表3数据表add_table_updata以及待更新索引文档为表4数据表my_index_1为例进行举例说明。针对待更新字段field1,在待更新索引文档my_index_1中,ID为2的目标索引字段下的索引字段值与待更新字段field1中ID为2的待更新字段的待更新字段值并不完全一致,存在部分缺失,则采用待更新字段值Value1_21+Value1_22,更新待更新索引文档中的目标索引字段下的索引字段值Value1_21,具体可以是采用待更新字段值Value1_21+Value1_22直接替换索引字段值Value1_21,也可以是将缺失的部分字段值Value1_22添加至目标索引字段下。
需要说明的是,在采用待更新字段值更新目标索引字段下的索引字段值时,针对不同的目标索引字段的数据结构类型,其索引数据的插入方式可以不同。
在一个可选实施例中,采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值,包括:若目标索引字段的数据结构类型为原子结构类型,则采用待更新字段值,替换待更新索引文档中的目标索引字段下的索引字段值。
示例性的,若目标索引字段的数据结构类型为原子结构类型,则可以采用直接替换的方式,将待更新索引文档中的目标索引字段下的索引字段值,直接替换为待更新字段值,以实现对原子结构类型的索引数据的更新。
本可选实施例通过采用待更新字段值直接替换待更新索引文档中的目标索引字段下的索引字段值的方式,实现了对目标索引字段的数据结构类型为原子结构类型情况下索引数据的更新,提高了对索引数据的更新效率和更新准确度。
在另一个可选实施例中,采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值,包括:若目标索引字段的数据结构类型为复合结构类型,则确定复合结构类型对应的数据插入方式;根据待更新字段值,基于数据插入方式,更新待更新索引文档中的目标索引字段下的索引字段值。
示例性的,若目标索引字段的数据结构类型为复合结构类型,则确定复合结构类型对应的数据插入方式。其中,不同复合结构类型对应的数据插入方式可以相同也可以不同,具体可以由相关技术人员根据实际需求进行预先设定。例如,数组结构类型的数据可以采用add插入方式,map结构类型的数据可以采用put插入方式。针对不同复合结构类型,采取不同的数据插入方式,可以提高复合结构类型的数据插入效率。采用复合结构类型对应的数据插入方式,将待更新字段值插入至目标索引字段下的索引字段值下,以实现对待更新索引文档的数据更新。
本可选实施例通过确定复合结构类型对应的数据插入方式,并根据待更新字段值,基于数据插入方式,更新待更新索引文档中的目标索引字段下的索引字段值,实现了对目标索引字段的数据结构类型为复合结构类型情况下索引数据的更新,提高了对索引数据的更新效率和更新准确度。
本实施例技术方案通过确定待更新索引文档中与待更新字段对应的目标索引字段下是否存在索引字段值;若存在,则确定待更新字段值与目标索引字段下的索引字段值是否一致;若否,则采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值。上述技术方案通过在更新索引字段值的过程中,考虑不同的数据更新场景,并在不同数据更新场景下,采用不同的数据更新手段进行更新,进一步提高了对索引数据的更新准确度,提高了对索引数据的更新效率。
实施例三
图3为本发明实施例三提供的一种索引数据更新方法的流程图。本实施例在以上述实施例为基础上,提供了一种优选实例。
如图3所示,该方法包括以下具体步骤:
S301、获取待更新数据,并确定待更新数据对应的待更新索引文档。
S302、确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段。
S303、构建与待更新字段相对应的参考更新字段。
S304A、若待更新字段对应的目标索引字段的数据结构类型为原子结构类型,则将待更新字段的待更新字段值,确定为待更新字段对应的参考更新字段的参考字段值。
S304B、若待更新字段对应的目标索引字段的数据结构类型为复合结构类型,则确定复合结构类型对应的目标数据转换方式。
S305、根据目标数据转换方式,对待更新字段的待更新字段值进行数据结构转换,得到转换字段值。
S306、将转换字段值确定为待更新字段对应的参考更新字段的参考字段值。
S307、确定待更新索引文档中与待更新字段对应的目标索引字段下是否存在索引字段值;若存在,则执行S308A;若不存在,则执行S308B。
S308A、确定待更新字段值与目标索引字段下的索引字段值是否一致。若是,则执行S309A;若否,则执行S309B或S309C-S309D。
S308B、将参考更新字段的参考字段值,添加至目标索引字段下,以对待更新索引文档的索引字段值进行数据更新。
S309A、无需更新目标索引字段下的索引字段值。
S309B、若目标索引字段的数据结构类型为原子结构类型,则采用待更新字段值,替换待更新索引文档中的目标索引字段下的索引字段值。
S309C、若目标索引字段的数据结构类型为复合结构类型,则确定复合结构类型对应的数据插入方式。
S309D、根据待更新字段值,基于数据插入方式,更新待更新索引文档中的目标索引字段下的索引字段值。
实施例四
图4为本发明实施例四提供的一种索引数据更新装置的结构示意图。本发明实施例所提供的一种索引数据更新装置,该装置可适用于对索引文档中的索引数据进行更新的情况,该索引数据更新装置可以采用硬件和/或软件的形式实现,如图4所示,该装置具体包括:待更新数据获取模块401、索引字段确定模块402、参考字段构建模块403、参考字段值确定模块404和索引数据更新模块405。其中,
待更新数据获取模块401,用于获取待更新数据,并确定所述待更新数据对应的待更新索引文档;
索引字段确定模块402,用于确定所述待更新索引文档中,与所述待更新数据中的待更新字段分别对应的目标索引字段;
参考字段构建模块403,用于构建与所述待更新字段相对应的参考更新字段;
参考字段值确定模块404,用于根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值;
索引数据更新模块405,用于根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新。
本发明实施例技术方案通过获取待更新数据,并确定待更新数据对应的待更新索引文档;确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段;构建与待更新字段相对应的参考更新字段;根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值;根据待更新字段的待更新字段值和参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新。上述技术方案通过在更新索引数据的过程中考虑待更新字段对应目标索引字段的数据结构类型的方式,实现了对索引数据的精准更新;通过引入并构建与待更新字段相对应的参考更新字段,并结合参考更新字段实现对索引数据的更新,降低了索引数据更新时长,从而提高了索引数据的更新效率。
可选的,所述参考字段值确定模块404,包括:
第一参考值确定单元,用于若所述待更新字段对应的目标索引字段的数据结构类型为原子结构类型,则将所述待更新字段的待更新字段值,确定为所述待更新字段对应的参考更新字段的参考字段值。
可选的,所述参考字段值确定模块404,包括:
转换方式确定单元,用于若所述待更新字段对应的目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的目标数据转换方式;
转换字段值确定单元,用于根据所述目标数据转换方式,对所述待更新字段的待更新字段值进行数据结构转换,得到转换字段值;
第二参考值确定单元,用于将所述转换字段值确定为所述待更新字段对应的参考更新字段的参考字段值。
可选的,所述索引数据更新模块405,包括:
索引字段值判断单元,用于确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值;
一致性判断单元,用于若存在索引字段值,则确定所述待更新字段值与所述目标索引字段下的索引字段值是否一致;
索引数据更新单元,用于若待更新字段值与所述目标索引字段下的索引字段值不一致,则采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值。
可选的,所述索引数据更新模块405,还包括:
索引数据添加单元,用于在所述确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值之后,若确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下不存在索引字段值,则将所述参考更新字段的参考字段值,添加至所述目标索引字段下,以对所述待更新索引文档的索引字段值进行数据更新。
可选的,所述索引数据更新单元,包括:
第一数据更新子单元,用于若所述目标索引字段的数据结构类型为原子结构类型,则采用所述待更新字段值,替换所述待更新索引文档中的目标索引字段下的索引字段值。
可选的,所述索引数据更新单元,包括:
插入方式确定子单元,用于若所述目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的数据插入方式;
第二数据更新子单元,用于根据所述待更新字段值,基于所述数据插入方式,更新所述待更新索引文档中的目标索引字段下的索引字段值。
本发明实施例所提供的索引数据更新装置可执行本发明任意实施例所提供的索引数据更新方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5示出了可以用来实施本发明的实施例的电子设备50的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、ROM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。
电子设备50中的多个部件连接至I/O接口55,包括:输入单元56,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如索引数据更新方法。
在一些实施例中,索引数据更新方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由ROM 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到RAM 53并由处理器51执行时,可以执行上文描述的索引数据更新方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行索引数据更新方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种索引数据更新方法,其特征在于,包括:
获取待更新数据,并确定所述待更新数据对应的待更新索引文档;
确定所述待更新索引文档中,与所述待更新数据中的待更新字段分别对应的目标索引字段;
构建与所述待更新字段相对应的参考更新字段;
根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值;
根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值,包括:
若所述待更新字段对应的目标索引字段的数据结构类型为原子结构类型,则将所述待更新字段的待更新字段值,确定为所述待更新字段对应的参考更新字段的参考字段值。
3.根据权利要求1所述的方法,其特征在于,所述根据各所述待更新字段的待更新字段值,基于相应待更新字段对应的目标索引字段的数据结构类型,确定各所述待更新字段对应的参考更新字段的参考字段值,包括:
若所述待更新字段对应的目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的目标数据转换方式;
根据所述目标数据转换方式,对所述待更新字段的待更新字段值进行数据结构转换,得到转换字段值;
将所述转换字段值确定为所述待更新字段对应的参考更新字段的参考字段值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新,包括:
确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值;
若存在,则确定所述待更新字段值与所述目标索引字段下的索引字段值是否一致;
若否,则采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值。
5.根据权利要求4所述的方法,其特征在于,在所述确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值之后,还包括:
若确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下不存在索引字段值,则将所述参考更新字段的参考字段值,添加至所述目标索引字段下,以对所述待更新索引文档的索引字段值进行数据更新。
6.根据权利要求4所述的方法,其特征在于,所述采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值,包括:
若所述目标索引字段的数据结构类型为原子结构类型,则采用所述待更新字段值,替换所述待更新索引文档中的目标索引字段下的索引字段值。
7.根据权利要求4所述的方法,其特征在于,所述采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值,包括:
若所述目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的数据插入方式;
根据所述待更新字段值,基于所述数据插入方式,更新所述待更新索引文档中的目标索引字段下的索引字段值。
8.一种索引数据更新装置,其特征在于,包括:
待更新数据获取模块,用于获取待更新数据,并确定所述待更新数据对应的待更新索引文档;
索引字段确定模块,用于确定所述待更新索引文档中,与所述待更新数据中的待更新字段分别对应的目标索引字段;
参考字段构建模块,用于构建与所述待更新字段相对应的参考更新字段;
参考字段值确定模块,用于根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值;
索引数据更新模块,用于根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的索引数据更新方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的索引数据更新方法。
CN202311255903.XA 2023-09-26 2023-09-26 索引数据更新方法、装置、设备及存储介质 Pending CN117194435A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311255903.XA CN117194435A (zh) 2023-09-26 2023-09-26 索引数据更新方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311255903.XA CN117194435A (zh) 2023-09-26 2023-09-26 索引数据更新方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117194435A true CN117194435A (zh) 2023-12-08

Family

ID=88984961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311255903.XA Pending CN117194435A (zh) 2023-09-26 2023-09-26 索引数据更新方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117194435A (zh)

Similar Documents

Publication Publication Date Title
US20230012642A1 (en) Method and device for snapshotting metadata, and storage medium
CN115761130A (zh) 三维场景快速构建方法、装置、电子设备以及存储介质
CN115617888A (zh) 数据导入方法、装置、设备、存储介质及产品
CN114817651A (zh) 数据存储方法、数据查询方法、装置和设备
CN111259090A (zh) 关系数据的图生成方法、装置、电子设备和存储介质
CN114706894A (zh) 信息处理方法、装置、设备、存储介质及程序产品
CN113722600A (zh) 应用于大数据的数据查询方法、装置、设备及产品
CN113344074A (zh) 模型训练方法、装置、设备及存储介质
CN116955856A (zh) 信息展示方法、装置、电子设备以及存储介质
CN116185389A (zh) 一种代码生成方法、装置、电子设备及介质
CN116028517A (zh) 一种融合数据库系统及电子设备
CN115454971A (zh) 数据迁移方法、装置、电子设备及存储介质
CN117194435A (zh) 索引数据更新方法、装置、设备及存储介质
CN116401410B (zh) 多场景图数据库接入图谱数据的方法、装置、存储介质和设备
CN117271840B (zh) 图数据库的数据查询方法、装置及电子设备
CN116383454B (zh) 图数据库的数据查询方法、电子设备及存储介质
CN116628004B (zh) 信息查询方法、装置、电子设备及存储介质
CN117873820A (zh) 一种日志生成方法、装置、电子设备及存储介质
CN116302371A (zh) 事务可见性判断方法、装置、设备及存储介质
CN117573677A (zh) 基于横表数据库结构的数据更新方法、装置、设备及介质
CN116383333A (zh) 数据存储方法、装置、设备及存储介质
CN117370399A (zh) 一种表单的比对方法、装置、目标数据库及存储介质
CN117806969A (zh) 一种业务的测试方法、装置、设备及介质
CN117032756A (zh) 软件更新方法、装置、电子设备及存储介质
CN116306964A (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 100193 5 floor, 36 building, No. 8 Northeast Road, Haidian District, Beijing.

Applicant after: Shuguang Cloud Computing Group Co.,Ltd.

Address before: 100193 5 floor, 36 building, No. 8 Northeast Road, Haidian District, Beijing.

Applicant before: Shuguang Cloud Computing Group Co.,Ltd.

Country or region before: China