CN114064653A - 数据的插入方法、装置、计算机设备和存储介质 - Google Patents
数据的插入方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114064653A CN114064653A CN202111372322.5A CN202111372322A CN114064653A CN 114064653 A CN114064653 A CN 114064653A CN 202111372322 A CN202111372322 A CN 202111372322A CN 114064653 A CN114064653 A CN 114064653A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- determining
- data table
- index
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (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
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据的插入方法、装置、计算机设备和存储介质。
背景技术
在各种数据导入场景中,常见的方式是通过编码实现去重逻辑判断。但是,这种通过编码实现去重的方案,需要开发人员针对去重逻辑进行开发,每当添加新功能或者已有功能变更时,都需要重新增加或修改原有去重代码,成本较高。
发明内容
本申请提出一种数据的插入方法、装置、计算机设备和存储介质。
本申请一方面实施例提出了一种数据的插入方法,包括:
获取待插入数据、待插入的目标数据表及其对应的去重规则;
在去重规则非空的情况下,根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度;
在待插入数据与各第一数据间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。
本申请另一方面实施例提出了一种数据的插入装置,包括:
获取模块,用于获取待插入数据、待插入的目标数据表及其对应的去重规则;
确定模块,用于在去重规则非空的情况下,根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度;
插入模块,用于在待插入数据与各第一数据间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。
本申请另一方面实施例提出了一种计算机设备,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述一方面实施例所述的数据的插入方法。
本申请另一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述一方面实施例所述的数据的插入方法。
本申请另一方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述一方面实施例所述的数据的插入方法。
本申请实施例的数据的插入方法、装置、计算机设备和存储介质,通过获取待插入数据、待插入的目标数据表及其对应的去重规则,在去重规则非空的情况下,根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度,在待插入数据与各第一数据间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。由此,可以通过利用待插入数据要插入的数据表的去重规则,对待插入数据进行去重,无需进行任何编码开发和代码维护工作,降低了成本,提高了数据插入效率。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种数据的插入方法的流程示意图;
图2为本申请实施例提供的另一种数据的插入方法的流程示意图;
图3为本申请实施例提供的另一种数据的插入方法的流程示意图;
图4为本申请实施例提供的另一种数据的插入方法的流程示意图;
图5为本申请实施例提供的一种数据的插入方法的过程示意图;
图6为本申请实施例提供的一种数据的插入装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的数据的插入方法、装置、计算机设备和存储介质。
在各种数据导入场景中,常见的方式是通过编码实现去重逻辑判断。但是,这种通过编码实现去重的方案,需要开发人员针对去重逻辑进行开发,每当添加新功能或者已有功能变更时,都需要重新增加或修改原有去重代码,成本较高。
基于此,本申请实施例提出一种数据的插入方法,通过根据待插入的目标数据表对应的去重规则,对待插入数据进行去重,只需要开发人员维护好数据表的去重规则,无需进行任何编码开发和代码维护工作,降低了成本,提高了数据插入效率。
图1为本申请实施例提供的一种数据的插入方法的流程示意图。
本申请实施例的数据的插入方法,可由本申请实施例提供的数据的插入装执行,该装置可配置于计算机设备中,以通过根据待插入的目标数据表对应的去重规则,对待插入数据进行去重,实现无需进行任何编码开发和代码维护工作,降低了成本,提高了数据插入效率。
如图1所示,该数据的插入方法包括:
步骤101,获取待插入数据、待插入的目标数据表及其对应的去重规则。
在实际应用中,数据库中可以包括多个数据表,可以将数据导入到数据库中进行保存。本申请中,可以根据需要预先对数据库中的数据表配置对应的去重规则。其中,去重规则可以理解为对数据表的去重逻辑。
在数据导入数据库过程中,在向某数据表进行数据插入之前,可以获取待插入数据和待插入的目标数据表,以及目标数据表对应的去重规则。其中,待插入数据可以是一个或者多个。
步骤102,在去重规则非空的情况下,根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度。
本申请中,可能有些数据表配置了去重规则,有些数据表没有配置对应的去重规则。在获取目标数据表后,可判断目标数据表的去重规则是否为空。如果为空,说明没有目标数据表没有对应的去重规则,可以直接将待插入数据插入目标数据表中。若目标数据表存在去重规则,也就是去重规则非空,说明向目标数据表插入数据时需要进行去重判断,可以根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度。
这里的重合度,可以用于指示待插入数据与目标数据表中已有数据之间的重复程度。
本申请中,目标数据表可能包含多个字段,多个字段的每组取值组成一个第一数据,即每个第一数据包含各个字段的取值。其中,不同的数据表对应的去重规则可能不同,即去重类型不同。
比如,去重规则中可以包括去重时要考虑的字段,可以基于这些字段,确定待插入数据与目标数据表中的各第一数据间的重合度。或者,去重规则中可以包括扩展接口,基于扩展接口获取待插入数据与第一数据分别对应的索引数据,并确定索引数据间的重合度。
比如,用于去重判断的字段为1个,如果待插入数据中该字段的值与某第一数据中该字段的值相同,那么可以认为待插入数据与该第一数据的重合度为100%。
若用于去重判断的字段为多个,可以根据待插入数据与第一数据中同一字段取值相同的字段数量,确定重合度。比如,用于去重判断的字段有2个,这两个字段中有一个字段的取值相同,可以认为重合度为50%。
或者,也可以根据待插入数据与第一数据中用于去重的相同字段的取值是否均相同,确定重合度。比如,用于去重的字段有A、B、C三个,若待插入数据与第一数据中字段A的取值相同、字段B的取值也相同、字段C的取值也相同,可以确定待插入数据与第一数据的重合度为100%,否则可认为重合度为0。
需要说明的是,上述重合度的确定方式仅为示例,不能看作是对本申请的限制。
步骤103,在待插入数据与各第一数据间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。
本申请中,可以将待插入数据与目标数据表中每个第一数据间的重合度与阈值进行比较。在待插入数据与各第一数据间的重合度均小于阈值的情况下,可以认为待插入数据与目标数据表中的数据不存在重复,可以将待插入数据插入目标数据表中。
比如,阈值为1,用于去重判断的字段有3个,待插入数据与第一数据中有两个字段的取值相同,重合度为三分之二,小于阈值1,可以认为待插入语句与该第一数据不重复。
需要说明的是,阈值可以根据实际需要确定,本申请对此不作限定。
可以理解的是,若待插入数据为多个,可以遍历每个待插入数据,可以根据每个待插入数据与各第一数据间的重合度,确定每个待插入数据是否与目标数据表中的已有数据存在重复,如果不存在重复,则插入目标数据表中。
或者,也可以遍历每个待插入数据,根据每个待插入数据与各第一数据间的重合度,确定每个待插入数据是否与目标数据表中的已有数据存在重复,如果重复,可以将待插入数据剔除。如果遍历完所有待插入数据后,还存在有效的待插入数据,即存在与目标数据表中的已有数据不重复的待插入数据,可以将这些有效的待插入数据插入到目标数据表。
本申请实施例中,通过获取待插入数据、待插入的目标数据表及其对应的去重规则,在去重规则非空的情况下,根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度,在待插入数据与各第一数据间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。由此,可以通过利用待插入数据要插入的数据表的去重规则,对待插入数据进行去重,无需进行任何编码开发和代码维护工作,降低了成本,提高了数据插入效率。
图2为本申请实施例提供的另一种数据的插入方法的流程示意图。
如图2所示,该数据的插入方法包括:
步骤201,获取待插入数据、待插入的目标数据表及其对应的去重规则,其中,去重规则包括多个去重字段。
本申请中,去重规则可以包括多个去重字段,这里的去重字段可以理解为用于去重判断的字段,也可以理解为用于确定目标数据表中索引数据的字段。
比如,目标数据表中字段A、字段B和字段C三者的值组合在一起,构成了一条唯一索引数据,不允许重复。
步骤202,根据待插入数据中每个去重字段对应的取值,确定待插入数据对应的第一键值。
本申请中,待插入数据可以包括多个字段的取值,其中,有些字段为去重字段,可以根据待插入数据中每个去重字段对应的取值,确定待插入数据对应的第一键值。其中,第一键值可以包括待插入数据中每个去重字段对应的取值。
比如,待插入数据中包括10个字段的取值,其中,字段A、字段B和字段C为去重字段,待插入数据中字段A的取值、字段B的取值和字段C的取值可以组合在一起,得到第一键值。
需要说明的是,去重字段可以是一个,也可以是多个,本申请对此不作限定。
步骤203,根据每个第一数据中每个去重字段对应的取值,确定每个第一数据对应的第二键值。
本申请中,针对目标数据表中的每个第一数据,可以根据每个第一数据中每个去重字段对应的取值,确定每个第一数据对应的第二键值。
比如,去重字段为字段A、字段B和字段C,第一数据中字段A的取值、字段B的取值和字段C的取值,可以组成第二键值。
步骤204,确定第一键值与每个第二键值间的重合度。
在获取待插入数据对应的第一键值和每个第一数据对应的第二键值后,可以根据第一键值和第二键值分别对应的向量,确定第一键值与第二键值间的重合度。其中,第一键值和第二键值分别对应的向量,可以是根据多个去重字段的取值对应的向量确定的。
比如,去重字段为字段A、字段B和字段C,待插入数据对应的第一键值为a1-b1-c1,某第一数据对应的第二键值为a1-b1-c2,可以确定第一键值与第二键值的重合度为0,若第二键值为a1-b1-c1,可以认为第一键值与第二键值的重合度为100%。
步骤205,在第一键值与每个第二键值间的重合度均小于阈值的情况下,将待插入数据插入所述目标数据表。
本申请中,若第一键值与每个第二键值间的重合度均小于阈值的情况下,可以认为待插入数据与每个第二数据均不重复,即待插入数据与目标数据表中的已有数据不重复,那么可以将待插入数据插入目标数据表。若第一键值与任一第二键值间的重合度大于或等于阈值,说明待插入数据与该第二键值对应的第一数据重复,那么不将待插入数据插入目标数据表。
若待插入数据为多个,可以遍历每个待插入数据,根据每个待插入数据对应的第一键值与各个第二键值间的重合度,确定每个待插入数据是否与目标数据表中的已有数据重复,如果不重复,可以插入到目标数据表,如果重复,则不插入。
或者,也可以遍历每个待插入数据,根据每个待插入数据对应的第一键值与各个第二键值间的重合度,确定每个待插入数据是否与目标数据表中的已有数据重复,如果重复,可以将待插入数据剔除。如果遍历完所有待插入数据后,还存在有效的待插入数据,即存在与目标数据表中的已有数据不重复的待插入数据,可以将这些有效的待插入数据插入到目标数据表。
本申请实施例中,目标数据表对应的去重规则可以包括多个去重字段,在根据去重规则,确定待插入数据与所述目标数据表中各第一数据间的重合度时,可以根据待插入数据中每个去重字段对应的取值,确定待插入数据对应的第一键值,根据每个第一数据中每个去重字段对应的取值,确定每个第一数据对应的第二键值,并确定第一键值与每个第二键值间的重合度,基于第一键值与每个第二键值间的重合度,确定是否将待插入数据插入目标数据表。由此,可以根据去重规则中包含的多个去重字段,确定待插入数据与目标数据表中各第一数据是否重合度,以确定是否将待插入数据插入目标数据表,从而无需编写代码和维护代码,降低了成本,提高了数据插入效率。
图3为本申请实施例提供的另一种数据的插入方法的流程示意图。
如图3所示,该数据的插入方法包括:
步骤301,获取待插入数据、待插入的目标数据表及其对应的去重规则,其中,去重规则包括第一索引字段。
本申请中,目标数据表对应的去重规则可以包括第一索引字段,其中,第一索引字段可以是指目标数据表中决定索引构建方式的动态字段。也就是说,数据表中唯一索引数据的构建是基于第一索引字段的动态变化的,该字段的取值不同,唯一索引数据的构建方式也不同。
比如,某数据表中字段A=1时,字段B与字段C的值组合在一起构成一条唯一索引数据;字段A=2时,字段B、字段C、字段D的值组合在一起构成一条唯一索引数据。这里的字段A为第一索引字段。
步骤302,获取待插入数据中第一索引字段的第一取值,及目标数据表中各第一数据中第一索引字段的第二取值。
本申请中,待插入数据和各个第一数据可以包括多个字段的取值,其中,包括第一索引字段的取值。那么,可以获取待插入数据中第一索引字段的第一取值,和目标数据表中每个第一数据中第一索引字段的第二取值。
步骤303,在第一取值与任一第二取值相同的情况下,确定第二索引字段。
由于第一索引字段的取值不同,用于构建唯一索引数据的第二索引字段可能不同,比如,上述示例中,第一索引字段A=1时,第二索引字段为字段B和字段C,第一索引字段A=2时,第二索引字段为字段B、字段C和字段D。因此,在获取待插入数据对应的第一取值,和每个第一数据对应的第二取值后,可以将第一取值与每个第二取值进行比较。如果第一取值与每个第二取值均不相同,可以认为待插入数据与目标数据表中的已有数据不重复,可以将待插入数据插入目标数据表。
如果第一取值与任一第二取值相同,需要比较第二索引字段的取值是否相同,可以根据第一索引字段的取值与第二索引字段之间的对应关系,确定第一取值对应的第二索引字段。
可以理解的是,与第一取值相同的第二取值可能没有,也可能有一个或多个。也就是说,目标数据表中与待插入数据中第一索引字段的取值相同第一数据可能没有,也可能有一个或多个。
步骤304,获取待插入数据中第二索引字段的第三取值,及任一第二取值所属的第一数据中第二索引字段的第四取值。
在确定第二索引字段后,可以获取待插入数据中第二索引字段的第三取值,以及获取任一第二取值所属的第一数据中第二索引字段的第四取值。可以理解的是,这里的任一第二取值是指与第一取值相同的第二取值。
步骤305,确定第三取值与第四取值间的重合度。
本申请中,第三取值与四取值间重合度的确定方法,可以参见上述第一键值与第二键值间的重合度,故在此不再赘述。
如果与第一取值相同的第二取值有多个,那么可以获取每个与第一取值相同的第二取值所属的第一数据中第二索引字段的第四取值,并确定第三取值与每个第四取值间的重合度。
步骤306,在第三取值与每个第四取值间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。
本申请中,在第三取值与每个第四取值间的重合度均小于阈值的情况下,说明待插入数据与目标数据表中的已有数据不重复,那么可以将待插入数据插入目标数据表。
若待插入数据为多个,可以遍历每个待插入数据,根据上述方法确定每个待插入数据是否与目标数据表中的已有数据重复,如果不重复,可以插入到目标数据表,如果重复,则不插入。
或者,也可以遍历每个待插入数据,根据上述方法确定每个待插入数据是否与目标数据表中的已有数据重复,如果重复,可以将待插入数据剔除。如果遍历完所有待插入数据后,还存在有效的待插入数据,即存在与目标数据表中已有数据不重复的待插入数据,可以将这些有效的待插入数据插入到目标数据表。
本申请实施例中,目标数据表对应的去重规则包括第一索引字段,在根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度时,可以通过获取待插入数据中第一索引字段的第一取值,及目标数据表中各第一数据中第一索引字段的第二取值,在第一取值与任一第二取值相同的情况下,确定第二索引字段,并获取待插入数据中第二索引字段的第三取值,及任一第二取值所属的第一数据中第二索引字段的第四取值,确定第三取值与第四取值间的重合度,以根据第三取值与每个第四取值间的重合度,确定是否将待插入数据插入目标数据表。由此,在目标数据表中的唯一索引数据的构建是基于某字段的动态变化时,可以根据去重规则中包括的索引决定字段的取值进行去重,避免将重复数据插入目标数据表。
图4为本申请实施例提供的另一种数据的插入方法的流程示意图。
如图4所示,该数据的插入方法包括:
步骤401,获取待插入数据、待插入的目标数据表及其对应的去重规则,其中,去重规则包括扩展接口。
在实际应用中,可能有些数据表中唯一索引数据是动态变化的,且组合方式较复杂,或者依赖表外数据。针对这种情况,本申请中,目标数据表对应的去重规则可以包括扩展接口,通过扩展接口,由外部实现输出唯一索引数据的组合关系。
步骤402,分别调用待插入数据和每个第一数据对应的扩展接口,以获取待插入数据对应的第一索引数据和每个第一数据对应的第二索引数据。
本申请中,可以分别调用待插入数据和每个第一数据对应的扩展接口,以从外部获取待插入数据对应的第一索引数据和每个第一数据对应的第二索引数据,从而可以通过扩展接口,获取待插入数据对应的第一索引数据和每个第一数据对应的第二索引数据。其中,第一索引数据和第二索引数据可以包括字段及对应的取值。
比如,第一索引数据由字段A的取值a1和字段E的取值e1组成,第二索引数据由字段A的取值a2和字段F的取值f2组成。
步骤403,确定第一索引数据与每个第二索引数据间的重合度。
在确定第一索引数据与每个第二索引数据间的重合度时,可以先确定第一索引数据和每个第二索引数据对应的字段组合是否相同,如果均不相同,说明待插入数据与目标数据表中的已有数据不重复,可以将待插入数据插入目标数据表。如果第一索引数据与第二索引数据对应的字段组合相同,可以进一步根据字段对应的取值,确定重合度。
比如,第一索引数据由字段A的取值a1和字段E的取值e1组成,第二索引数据由字段A的取值a2和字段F的取值f2组成,由于第一索引字段由字段A和字段E的取值组成,与第二索引数据对应的字段组合不同,可以确定第一索引数据与第二索引数据间的重合度为0。若第二索引数据是由字段A的取值a1和字段E的取值e2组成,由于第一索引数据和第二索引数据中字段E的取值不同,可以确定第一索引数据和第二索引数据间的重合度为50%。
步骤404,在第一索引数据与每个第二索引数据间的重合度均小于阈值的情况下,将待插入数据插入所述目标数据表。
在第一索引数据与每个第二索引数据间的重合度均小于阈值的情况下,说明待插入数据与目标数据表中已有数据不重复,那么可以将待插入数据插入目标数据表。如果第一索引数据与任一第二索引数据的重合度大于或等于阈值,说明待插入数据与该第二索引数据对应的第一数据重复,那么不将待插入数据插入目标数据表。
若待插入数据为多个,可以遍历每个待插入数据,根据每个待插入数据对应的第一索引数据与各个第二索引数据间的重合度,确定每个待插入数据是否与目标数据表中的已有数据重复,如果不重复,可以插入到目标数据表,如果重复,则不插入。
或者,也可以遍历每个待插入数据,根据每个待插入数据对应的第一索引数据与各个第二索引数据间的重合度,确定每个待插入数据是否与目标数据表中的已有数据重复。如果任一待插入数据与目标数据表中已有数据重复,可以将任一待插入数据剔除;如果遍历完所有待插入数据后,还存在有效的待插入数据,即存在与目标数据表中已有数据不重复的待插入数据,可以将这些有效的待插入数据插入到目标数据表。
本申请实施例中,去重规则可以包括扩展接口,在根据去重规则,判断待插入数据与目标数据表中的各第一数据是否重复时,可以分别调用待插入数据和每个第一数据对应的扩展接口,以获取待插入数据对应的第一索引数据和每个第一数据对应的第二索引数据,确定第一索引数据与每个第二索引数据间的重合度,以根据第一索引数据和每个第二索引数据间的重合度,确定是否将待插入数据插入目标数据表。由此,在目标数据表对应的去重规则包括扩展接口时,可以对待插入数据和各个第一数据逐一调用扩展接口,获取相应的唯一索引数据并进行比对,以确定是否将待插入数据插入目标数据表。
为了进一步提高数据插入效率,在本申请的一个实施例中,在根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度之前,可以先根据与去重规则对应的检索条件,对目标数据表进行检索,并确定检索结果是否为空。
本申请中,检索条件可以是在配置目标数据表的去重规则时配置的,也可以是根据去重规则确定的,检索条件可以是去重规则中包含的字段,可在目标数据表中检索该字段,获取检索结果。
在检索结果不空的情况下,可以说明目标数据表不为空,包含这些字段的值,可以根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度,进而根据重合度,确定是否将待插入数据插入目标数据表。如果检索结果为空,可以直接将待插入数据插入目标数据表。由此,可以在基于检索条件,确定检索结果不空的情况下,利用去重规则进行数据去重和插入。
在本申请的一个实施例中,在获取待插入数据、待插入的目标数据表及其对应的去重规则时,可以获取待插入数据和待插入的目标数据表,并根据目标数据表对应的配置信息,确定目标数据表对应的去重规则。
本申请中,可以预先构建数据模型,其中,数据模型中可以定义多个数据表、数据表之间的关联关系、单个数据表的去重规则等。在向某数据表插入数据时,可以根据该数据表对应的配置信息,该配置信息可以包括去重规则等,确定该数据表对应的去重规则。
本申请实施例中,可以根据目标数据表对应的配置信息,确定目标数据表对应去重规则,并基于去重规则进行数据插入。由此,可以通过配置数据表的去重规则,实现在向数据表插入数据时进行数据去重,只需要开发人员维护好数据去重的配置即可,无需编写代码和维护代码,降低了成本,提高了数据插入效率。
图5为本申请实施例提供的一种数据的插入方法的过程示意图。
图5中,步骤501,假定已有数据模型定义了数据表之间的关联关系,分析单个数据表的去重规则,针对不同的去重类型做相应的配置。步骤502,在数据导入处理过程中,数据插入步骤,判断要插入数据的目标数据表是否存在去重规则。如果不存在,则执行步骤503,开始数据插入流程。如果存在,则执行步骤504,根据数据模型中定义的检索条件,获取当前数据库中数据。之后执行步骤505,根据去重类型的不同,判断是否存在重复数据,如果存在重复,则剔除该待插入数据,如果不存在重复数据,则进行开始数据插入流程。
为了实现上述实施例,本申请实施例还提出一种数据的插入装置。图6为本申请实施例提供的一种数据的插入装置的结构示意图。
如图6所示,该数据的插入装置600包括:获取模块610、确定模块620和插入模块630。
获取模块610,用于获取待插入数据、待插入的目标数据表及其对应的去重规则;
确定模块620,用于在去重规则非空的情况下,根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度;
插入模块630,用于在待插入数据与各第一数据间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。
在本申请实施例的一种实现方式中,去重规则包括多个去重字段,确定模块620,用于:
根据待插入数据中每个去重字段对应的取值,确定待插入数据对应的第一键值;
根据每个第一数据中每个去重字段对应的取值,确定每个第一数据对应的第二键值;
确定第一键值与每个第二键值间的重合度。
在本申请实施例的一种实现方式中,去重规则包括第一索引字段,确定模块620,用于:
获取待插入数据中第一索引字段的第一取值,及目标数据表中各第一数据中第一索引字段的第二取值;
在第一取值与任一第二取值相同的情况下,确定第二索引字段;
获取待插入数据中第二索引字段的第三取值,及任一第二取值所属的第一数据中第二索引字段的第四取值;
确定第三取值与第四取值间的重合度。
在本申请实施例的一种实现方式中,去重规则包括扩展接口,根据去重规则,确定模块620,用于:
分别调用待插入数据和每个第一数据对应的扩展接口,以获取待插入数据对应的第一索引数据和每个第一数据对应的第二索引数据;
确定第一索引数据与每个第二索引数据间的重合度。
在本申请实施例的一种实现方式中,该装置还可包括:
检索模块,用于根据与去重规则对应的检索条件,对目标数据表进行检索,并确定检索结果不为空。
在本申请实施例的一种实现方式中,获取模块610,用于:
获取待插入数据及待插入的目标数据表;
根据目标数据表对应的配置信息,确定目标数据表对应的去重规则。需要说明的是,上述对数据的插入方法实施例的解释说明,也适用于该实施例的数据的插入装置,故在此不再赘述。
本申请实施例中,通过获取待插入数据、待插入的目标数据表及其对应的去重规则,在去重规则非空的情况下,根据去重规则,确定待插入数据与目标数据表中各第一数据间的重合度,在待插入数据与各第一数据间的重合度均小于阈值的情况下,将待插入数据插入目标数据表。由此,可以通过利用待插入数据要插入的数据表的去重规则,对待插入数据进行去重,无需进行任何编码开发和代码维护工作,降低了成本,提高了数据插入效率。
为了实现上述实施例,本申请实施例还提出一种计算机设备,包括处理器和存储器;
其中,处理器通过读取存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述实施例所述的数据的插入方法。
为了实现上述实施例,本申请实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的数据的插入方法。
为了实现上述实施例,本申请实施例还提出一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述实施例所述的数据的插入方法。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (14)
1.一种数据的插入方法,其特征在于,包括:
获取待插入数据、待插入的目标数据表及其对应的去重规则;
在所述去重规则非空的情况下,根据所述去重规则,确定所述待插入数据与所述目标数据表中各第一数据间的重合度;
在所述待插入数据与各第一数据间的重合度均小于阈值的情况下,将所述待插入数据插入所述目标数据表。
2.如权利要求1所述的方法,其特征在于,所述去重规则包括多个去重字段,所述根据所述去重规则,确定所述待插入数据与所述目标数据表中各第一数据间的重合度,包括:
根据所述待插入数据中每个所述去重字段对应的取值,确定所述待插入数据对应的第一键值;
根据每个所述第一数据中每个所述去重字段对应的取值,确定每个所述第一数据对应的第二键值;
确定所述第一键值与每个所述第二键值间的重合度。
3.如权利要求1所述的方法,其特征在于,所述去重规则包括第一索引字段,所述根据所述去重规则,确定所述待插入数据与所述目标数据表中各第一数据间的重合度,包括:
获取所述待插入数据中第一索引字段的第一取值,及所述目标数据表中各第一数据中第一索引字段的第二取值;
在所述第一取值与任一第二取值相同的情况下,确定第二索引字段;
获取所述待插入数据中第二索引字段的第三取值,及所述任一第二取值所属的第一数据中第二索引字段的第四取值;
确定所述第三取值与所述第四取值间的重合度。
4.如权利要求1所述的方法,其特征在于,所述去重规则包括扩展接口,所述根据所述去重规则,判断所述待插入数据与所述目标数据表中的各第一数据是否重复,包括:
分别调用所述待插入数据和每个所述第一数据对应的扩展接口,以获取所述待插入数据对应的第一索引数据和每个所述第一数据对应的第二索引数据;
确定所述第一索引数据与每个所述第二索引数据间的重合度。
5.如权利要求1-4任一所述的方法,其特征在于,在所述根据所述去重规则,确定所述待插入数据与所述目标数据表中各第一数据间的重合度之前,还包括:
根据与所述去重规则对应的检索条件,对所述目标数据表进行检索,并确定检索结果不为空。
6.如权利要求1-4任一所述的方法,其特征在于,所述获取待插入数据、待插入的目标数据表及其对应的去重规则,包括:
获取待插入数据及待插入的目标数据表;
根据所述目标数据表对应的配置信息,确定所述目标数据表对应的去重规则。
7.一种数据的插入装置,其特征在于,包括:
获取模块,用于获取待插入数据、待插入的目标数据表及其对应的去重规则;
确定模块,用于在所述去重规则非空的情况下,根据所述去重规则,确定所述待插入数据与所述目标数据表中各第一数据间的重合度;
插入模块,用于在所述待插入数据与各第一数据间的重合度均小于阈值的情况下,将所述待插入数据插入所述目标数据表。
8.如权利要求7所述的装置,其特征在于,所述去重规则包括多个去重字段,所述确定模块,用于:
根据所述待插入数据中每个所述去重字段对应的取值,确定所述待插入数据对应的第一键值;
根据每个所述第一数据中每个所述去重字段对应的取值,确定每个所述第一数据对应的第二键值;
确定所述第一键值与每个所述第二键值间的重合度。
9.如权利要求7所述的装置,其特征在于,所述去重规则包括第一索引字段,所述确定模块,用于:
获取所述待插入数据中第一索引字段的第一取值,及所述目标数据表中各第一数据中第一索引字段的第二取值;
在所述第一取值与任一第二取值相同的情况下,确定第二索引字段;
获取所述待插入数据中第二索引字段的第三取值,及所述任一第二取值所属的第一数据中第二索引字段的第四取值;
确定所述第三取值与所述第四取值间的重合度。
10.如权利要求7所述的装置,其特征在于,所述去重规则包括扩展接口,所述根据所述去重规则,所述确定模块,用于:
分别调用所述待插入数据和每个所述第一数据对应的扩展接口,以获取所述待插入数据对应的第一索引数据和每个所述第一数据对应的第二索引数据;
确定所述第一索引数据与每个所述第二索引数据间的重合度。
11.如权利要求7-10任一所述的装置,其特征在于,还包括:
检索模块,用于根据与所述去重规则对应的检索条件,对所述目标数据表进行检索,并确定检索结果不为空。
12.如权利要求7-10任一所述的装置,其特征在于,所述获取模块,用于:
获取待插入数据及待插入的目标数据表;
根据所述目标数据表对应的配置信息,确定所述目标数据表对应的去重规则。
13.一种计算机设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-6中任一所述数据的插入方法。
14.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述数据的插入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111372322.5A CN114064653A (zh) | 2021-11-18 | 2021-11-18 | 数据的插入方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111372322.5A CN114064653A (zh) | 2021-11-18 | 2021-11-18 | 数据的插入方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064653A true CN114064653A (zh) | 2022-02-18 |
Family
ID=80278272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111372322.5A Pending CN114064653A (zh) | 2021-11-18 | 2021-11-18 | 数据的插入方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064653A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115631866A (zh) * | 2022-12-19 | 2023-01-20 | 成都瑞华康源科技有限公司 | 一种针对医疗大数据采集的快速精准去重方法 |
-
2021
- 2021-11-18 CN CN202111372322.5A patent/CN114064653A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115631866A (zh) * | 2022-12-19 | 2023-01-20 | 成都瑞华康源科技有限公司 | 一种针对医疗大数据采集的快速精准去重方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7769719B2 (en) | File system dump/restore by node numbering | |
CN105677683A (zh) | 批量数据查询方法和装置 | |
CN113901279B (zh) | 一种图数据库的检索方法和装置 | |
CN109086456B (zh) | 数据索引方法及装置 | |
CN111666468A (zh) | 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法 | |
CN114064653A (zh) | 数据的插入方法、装置、计算机设备和存储介质 | |
CN113704252A (zh) | 规则引擎决策树实现方法、装置、计算机设备及计算机可读存储介质 | |
CN110222015B (zh) | 一种文件数据的读取、查询方法、装置及可读存储介质 | |
CN114490060A (zh) | 内存分配方法、装置、计算机设备和计算机可读存储介质 | |
CN116756253B (zh) | 关系型数据库的数据存储、查询方法、装置、设备和介质 | |
CN111026736B (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
US6886161B1 (en) | Method and data structure for compressing file-reference information | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN116521733A (zh) | 一种数据查询方法及装置 | |
CN107315806B (zh) | 一种基于文件系统的嵌入式存储方法和装置 | |
CN115563116A (zh) | 一种数据库表扫描方法、装置以及设备 | |
CN113806365A (zh) | 一种单数据源数据管理方法、装置及存储介质 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN108984780B (zh) | 基于支持重复键值树数据结构管理磁盘数据的方法和装置 | |
US11188541B2 (en) | Join method, computer program and recording medium thereof | |
CN107085571B (zh) | 一种校验规则的执行方法和装置 | |
CN107239517B (zh) | 基于Hbase数据库的多条件搜索方法及装置 | |
CN111858609A (zh) | 区块链模糊查询方法及装置 | |
CN115357384B (zh) | 重复数据删除存储系统的空间回收方法和装置 | |
CN113656513B (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 |