CN110083612B - 数据更新方法、装置、电子设备及可读存储介质 - Google Patents
数据更新方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN110083612B CN110083612B CN201910218963.1A CN201910218963A CN110083612B CN 110083612 B CN110083612 B CN 110083612B CN 201910218963 A CN201910218963 A CN 201910218963A CN 110083612 B CN110083612 B CN 110083612B
- Authority
- CN
- China
- Prior art keywords
- index
- target
- updating
- update request
- group
- 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.)
- Active
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/2228—Indexing structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (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示出了本公开的一种实施例中的电子设备的结构图。
具体实施方式
下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。
实施例一
参照图1,其示出了本公开的一种实施例中的数据更新方法的步骤流程图,具体如下。
步骤101,将针对索引的更新请求添加至所述索引对应的更新请求队列中。
本公开的实施例用于对数据库中的数据表进行更新,数据表由多个索引组成,从而对数据表的更新即为对表中各索引的更新。例如,关于人的数据表,包括索引:姓名、性别、身份证、联系电话等。对该数据表的更新即为对姓名、性别、身份证、联系电话的更新。
在实际应用中,每个索引均对应一个更新请求队列,可以将针对该索引的更新请求按照到达时间的顺序添加至该更新请求队列中,先添加至更新请求队列中的更新请求先进行处理,并出队;后添加至更新请求队列中的更新请求后进行处理。
其中,更新请求包括目标索引,针对该索引的更新数据,以及其他信息。
可以理解,分配给更新请求队列的占用空间可以根据系统处理能力和业务更新频率确定,本公开的实施例对其不加以限制。例如,系统处理能力越大,业务更新频率越小,分配给更新请求队列的占用空间越小;系统处理能力越小,业务更新频率越大,分配给更新请求队列的占用空间越大。
可选地,本公开的实施例应用于广告投放引擎,所述目标索引组至少包括:投放物料索引、投放计划索引、投放单元索引。
步骤102,将所述索引对应的标记信息更新为目标值。
其中,目标值可以为表示针对该索引的更新请求已经到达的标识,可以采用枚举类型。例如,在实际应用中,可以采用“1”作为目标值。
在实际应用中,标记信息在初始化时设置为“0”,代表更新请求未到达。
可以理解,目标值还可以采用其他的枚举标识,本公开的实施例对其不加以限制。
可选地,当该实施例应用于应用广告投放引擎时,可以为投放物料索引、投放计划索引、投放单元索引分别设置标记信息,并在每个索引对应的更新请求到达时,设置索引对应的标记信息为目标值。
步骤103,确定包含所述索引的目标索引组。
其中,目标索引组中的各索引相互依赖,若仅更新其中一个索引,使得数据表中存在一条数据,仅存在其中一个索引数据。
例如:对于人的数据表,若仅更新了性别,则该表中存在一条仅有性别信息的数据。可以理解,该条数据是无效的,若通过姓名查询时,无法查询出该数据,导致占用数据库内存,降低检索效率。
从上述分析可知,需要将目标索引组中各索引的更新请求同时处理。
在实际应用中,可以从预先划分的索引组中获取包含所述索引的索引组,得到目标索引组。
可选地,当该实施例应用于应用广告投放引擎时,将针对所述投放物料索引的更新请求添加至所述投放物料索引对应的更新请求队列中;将针对所述投放计划索引的更新请求添加至所述投放计划索引对应的更新请求队列中;将针对所述投放单元索引的更新请求添加至所述投放单元索引对应的更新请求队列中。
步骤104,在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引。
可以理解,目标索引组中各索引对应的标记信息均为目标值,代表:相互依赖的各索引的更新请求均到达,此时,可以进行该目标索引组中各索引的更新,避免更新部分索引导致生成无效数据,有助于增大数据库内存和检索效率。
具体地,首先,从更新请求队列中获取更新请求;然后,从更新请求中提取索引数据;最后,将索引数据更新至数据表中的索引中。
可选地,当该实施例应用于应用广告投放引擎时,在所述投放物料索引、投放计划索引、投放单元索引对应的标记信息均为所述目标值的情况下,分别根据所述投放物料索引、投放计划索引、投放单元索引对应的更新请求队列更新所述投放物料索引、投放计划索引、投放单元索引。
综上所述,本公开的实施例提供了一种数据更新方法,所述方法包括:将针对索引的更新请求添加至所述索引对应的更新请求队列中;将所述索引对应的标记信息更新为目标值;确定包含所述索引的目标索引组;在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引。可以通过标记信息记录索引对应的更新请求是否到达,并在索引组中各索引对应的更新请求均到达时,更新索引数据,避免生成部分索引更新的数据,有助于提高查询结果的准确度。
实施例二
参照图2,其示出了在本公开的另一种实施例中的数据更新方法的具体步骤流程图,具体如下。
步骤201,构建多个索引之间的依赖关系得到候选索引组。
具体地,可以将同一个数据表中相互依赖的多个索引构建为候选索引组,也可以将不同数据表中相互依赖的多个索引构建为候选索引组,将候选索引组保存。
此外,候选索引组为预先构建的,可以随着业务场景变化而添加、删除、变更。
步骤202,针对所述候选索引组中的每个索引,统计包含所述索引的候选索引组的数目,得到待更新组合数。
在实际应用中,多个索引可以存在于多个候选索引组中,例如,存在候选索引组:[A,B,C]、[A,C,D]、[B,C,D],从而对于,索引A,存在于候选索引组[A,B,C]、[A,C,D]中,索引B存在于候选索引组[A,B,C]、[B,C,D]中,索引C存在于候选索引组[A,B,C]、[A,C,D]、[B,C,D],索引D存在于候选索引组[A,C,D]、[B,C,D]中,从而分别包含索引A、索引B、索引C、索引D的候选索引组数目为2、2、3、2。
可以理解,在初始状态下,索引对应的待更新组合数为包含索引的候选索引数目,并随着待更新组合的更新而减少。
步骤203,将针对索引的更新请求添加至所述索引对应的更新请求队列中。
该步骤可以参照步骤101的详细说明,在此不再赘述。
其中,更新请求包括请求方信息,即请求更新索引的数据提供方。请求方信息可以为终端标识和/或用户身份信息。
步骤204,将所述索引和所述请求方信息对应的标记信息更新为目标值。
在本公开的实施例中,为了区分不同请求方的更新请求,避免不同请求方针对同一索引的更新请求混乱,为不同索引、不同请求方设置标记信息。从而,同一索引、不同请求方对应不同的标记信息,不同索引、同一请求方对应不同的标记信息,不同索引、不同请求方对应不同的标记信息。
步骤205,从所述候选索引组中确定包含所述索引的目标索引组。
可以理解,步骤205结合步骤201进行,从而可以实现候选索引组的灵活构建,以及对候选索引组中的各索引进行同步更新。
步骤206,在所述目标索引组中各索引和同一请求方信息对应的标记信息均为所述目标值的情况下,从所述目标索引组中各索引对应的更新请求队列中获取各索引对应的目标更新请求。
本公开的实施例在确定针对一个索引的请求是否到达时,确定针对各索引的更新请求是否属于同一请求方,避免将不同请求方的更新请求混淆,导致数据更新错误。例如,针对索引A、B、C组成的候选索引组,请求方U1、U2均需要对索引A、B、C进行更新,U1针对索引A、B、C的更新请求QA1、QB1、QC1,U2针对索引A、B、C的更新请求QA2、QB2、QC2,此时,需要将QA1、QB1、QC1同时进行处理,QA2、QB2、QC2同时进行处理,若将QA1、QB1、QC2同时进行处理,多个请求方的更新数据混合更新至数据表中,出现更新错误。
本公开的实施例可以通过索引和同一请求方信息对应的标记信息确定同一索引组中同一请求方的更新请求是否到达,并在到达时更新,有助于避免将多个请求方的更新数据混合更新至数据表中,提高了更新准确度。
步骤207,从各索引对应的目标更新请求中提取各索引对应的更新数据。
其中,目标更新请求中包括索引以及对应的更新数据,多个更新数据之间可以通过指定字符间隔开来。
步骤208,针对每个索引,将所述索引对应的更新数据更新至所述索引中。
在实际应用中,更新请求中还可以包括数据更新方式,例如,若数据更新方式为全量更新,则将索引中的原有数据删除,并将更新数据添加至索引中;若数据更新方式为增量更新,则将更新数据添加至索引中。
步骤209,删除所述目标索引组中各索引对应的标记信息。
本公开的实施例可以在目标索引组中各索引的更新请求更新完成之后,删除标记信息,有助于增大系统内存,减少不必要的内存占用。
步骤210,针对所述目标索引组中的每个索引,更新所述索引对应的待更新组合数。
具体地,在其中一个目标索引组中的各索引均更新完成之后,将每个索引对应的待更新组合数减1。
本公开的实施例可以记录每个索引对应的待更新组合数,以监控每个索引的待更新数据是否还需要,若待更新组合数为0,则代表该索引对应的待更新数据已经更新完,不再需要;若待更新组合数为1,则代表该索引对应的待更新数据未更新完,还需要进行更新。
步骤211,针对所述目标索引组中的每个索引,在所述索引对应的待更新组合数小于或等于0的情况下,将所述索引对应的目标更新请求从所述索引对应的更新请求队列中删除。
具体地,可以在每次更新完待更新组合数之后,确定待更新组合数是否为0,还可以周期性的确定待更新组合数是否为0,若待更新组合数为0,则删除目标更新请求。
本公开的实施例可以通过待更新组合数监控更新进度,从而可以及时将目标更新请求删除,有助于提供系统的内存空间,降低不必要的内存占用,进一步可以提高更新速度。
可选地,在本公开的另一种实施例中,所述步骤211包括子步骤A1至A3:
子步骤A1,获取所述索引对应的目标更新请求所对应的下一个更新请求,以及所述下一个更新请求对应的下一个更新请求,得到第一更新请求、第二更新请求。
在实际应用中,更新请求队列可以以指针的形式存储,例如,对于一个更新请求队列Q1->Q2->Q3->Q4->Q5,其中,Q3为目标更新请求,此时需要将更新请求队列中Q3删除,常规手段为从队列的起始位置开始遍历找到Q3前一请求Q2,并将Q2的下一个节点指向Q4;而本公开的实施例中,由于在指针中获取下一个指针位置很容易,从而很容易获取到目标更新请求的下一个更新请求,以及下一个更新请求对应的下一个更新请求。
子步骤A2,用所述第一更新请求替换所述目标更新请求。
可以理解,即将目标更新请求(例如Q1->Q2->Q3->Q4->Q5中的Q3)指向的下一个更新请求(例如Q4)替换掉目标更新请求,得到更新请求队列为Q1->Q2->Q4->Q4->Q5,实现了原目标更新请求Q3的删除。
子步骤A3,将替换之后的目标更新请求指向所述第二更新请求。
可以理解,即对更新请求队列进行去重处理,将替换之后的目标更新请求(例如Q1->Q2->Q4->Q4->Q5中的第三位置上的Q4)指向第二更新请求Q5,得到更新请求队列为Q1->Q2->Q4->Q5。
本公开的实施例可以避免通过遍历的方法找到目标更新请求的上一个更新请求,以删除目标更新请求,从而有助于减少由于遍历引入的删除复杂度。
综上所述,本公开的实施例提供了一种数据更新方法,所述方法包括:将针对索引的更新请求添加至所述索引对应的更新请求队列中;将所述索引对应的标记信息更新为目标值;确定包含所述索引的目标索引组;在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引。可以通过标记信息记录索引对应的更新请求是否到达,并在索引组中各索引对应的更新请求均到达时,更新索引数据,避免生成部分索引更新的数据,有助于提高查询结果的准确度。
实施例三
参照图3,其示出了在本公开的一种实施例中的数据更新装置的结构图,具体如下。
更新请求入队模块301,用于将针对索引的更新请求添加至所述索引对应的更新请求队列中。
标记信息更新模块302,用于将所述索引对应的标记信息更新为目标值。
目标索引组确定模块303,用于确定包含所述索引的目标索引组。
索引更新模块304,用于在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引。
综上所述,本公开的实施例提供了一种数据更新装置,所述装置包括:更新请求入队模块,用于将针对索引的更新请求添加至所述索引对应的更新请求队列中;标记信息更新模块,用于将所述索引对应的标记信息更新为目标值;目标索引组确定模块,用于确定包含所述索引的目标索引组;索引更新模块,用于在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引。可以通过标记信息记录索引对应的更新请求是否到达,并在索引组中各索引对应的更新请求均到达时,更新索引数据,避免生成部分索引更新的数据,有助于提高查询结果的准确度。
实施例三为实施例一对应的装置实施例,详细说明可以参照实施例一,在此不再赘述。
实施例四
参照图4,其示出了在本公开的另一种实施例中的数据更新装置的结构图,具体如下。
候选索引组构建模块401,用于构建多个索引之间的依赖关系得到候选索引组。
待更新组合数统计模块402,用于针对所述候选索引组中的每个索引,统计包含所述索引的候选索引组的数目,得到待更新组合数。
更新请求入队模块403,用于将针对索引的更新请求添加至所述索引对应的更新请求队列中。
标记信息更新模块404,用于将所述索引对应的标记信息更新为目标值;可选地,在本公开实施例中,所述更新请求中携带请求方信息,所述标记信息更新模块404,包括:
标记信息更新子模块4041,用于将所述索引和所述请求方信息对应的标记信息更新为目标值。
目标索引组确定模块405,用于确定包含所述索引的目标索引组;可选地,在本公开实施例中,所述目标索引组确定模块405,包括:
目标索引组确定子模块4051,用于从所述候选索引组中确定包含所述索引的目标索引组。
索引更新模块406,用于在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引;可选地,在本公开实施例中,所述索引更新模块406包括:
目标更新请求获取子模块4061,用于在所述目标索引组中各索引和同一请求方信息对应的标记信息均为所述目标值的情况下,从所述目标索引组中各索引对应的更新请求队列中获取各索引对应的目标更新请求。
更新数据获取子模块4062,用于从各索引对应的目标更新请求中提取各索引对应的更新数据。
索引更新子模块4063,用于针对每个索引,将所述索引对应的更新数据更新至所述索引中。
标记信息删除模块407,用于删除所述目标索引组中各索引对应的标记信息。
待更新组合数更新模块408,用于针对所述目标索引组中的每个索引,更新所述索引对应的待更新组合数。
目标更新请求删除模块409,用于针对所述目标索引组中的每个索引,在所述索引对应的待更新组合数小于或等于0的情况下,将所述索引对应的目标更新请求从所述索引对应的更新请求队列中删除。
可选地,在本公开的另一种实施例中,所述目标更新请求删除模块409,包括:
相关更新请求获取子模块,用于获取所述索引对应的目标更新请求所对应的下一个更新请求,以及所述下一个更新请求对应的下一个更新请求,得到第一更新请求、第二更新请求。
目标更新请求替换子模块,用于用所述第一更新请求替换所述目标更新请求。
目标更新请求重定位子模块,用于将替换之后的目标更新请求指向所述第二更新请求。
综上所述,本公开的实施例提供了一种数据更新装置,所述装置包括:更新请求入队模块,用于将针对索引的更新请求添加至所述索引对应的更新请求队列中;标记信息更新模块,用于将所述索引对应的标记信息更新为目标值;目标索引组确定模块,用于确定包含所述索引的目标索引组;索引更新模块,用于在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引。可以通过标记信息记录索引对应的更新请求是否到达,并在索引组中各索引对应的更新请求均到达时,更新索引数据,避免生成部分索引更新的数据,有助于提高查询结果的准确度。
实施例四为实施例二对应的装置实施例,详细说明可以参照实施例二,在此不再赘述。
本公开的实施例还提供了一种电子设备,参照图5,包括:处理器501、存储器502以及存储在所述存储器502上并可在所述处理器上运行的计算机程序5021,所述处理器501执行所述程序时实现前述实施例的数据更新方法。
本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的数据更新方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的实施例的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开的实施例的数据更新设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据更新方法,其特征在于,所述方法包括:
将针对索引的更新请求添加至所述索引对应的更新请求队列中;
将所述索引对应的标记信息更新为目标值;
确定包含所述索引的目标索引组;
在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引;
所述更新请求中携带请求方信息,所述将所述索引对应的标记信息更新为目标值的步骤,包括:
将所述索引和所述请求方信息对应的标记信息更新为目标值;
所述在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引的步骤,包括:
在所述目标索引组中各索引和同一请求方信息对应的标记信息均为所述目标值的情况下,从所述目标索引组中各索引对应的更新请求队列中获取各索引对应的目标更新请求;
从各索引对应的目标更新请求中提取各索引对应的更新数据;
针对每个索引,将所述索引对应的更新数据更新至所述索引中。
2.根据权利要求1所述的方法,其特征在于,在所述将针对索引的更新请求添加至所述索引对应的更新请求队列中的步骤之前,所述方法还包括:
构建多个索引之间的依赖关系得到候选索引组;
所述确定包含所述索引的目标索引组的步骤,包括:
从所述候选索引组中确定包含所述索引的目标索引组。
3.根据权利要求2所述的方法,其特征在于,在所述构建多个索引之间的依赖关系得到候选索引组的步骤之后,所述方法还包括:
针对所述候选索引组中的每个索引,统计包含所述索引的候选索引组的数目,得到待更新组合数;
在根据所述目标索引组中各索引对应的更新请求队列更新所述各索引的步骤之后,所述方法还包括:
针对所述目标索引组中的每个索引,更新所述索引对应的待更新组合数。
4.根据权利要求3所述的方法,其特征在于,在所述针对所述目标索引组中的每个索引,更新所述索引对应的待更新组合数的步骤之后,所述方法包括:
针对所述目标索引组中的每个索引,在所述索引对应的待更新组合数小于或等于0的情况下,将所述索引对应的目标更新请求从所述索引对应的更新请求队列中删除。
5.根据权利要求4所述的方法,其特征在于,所述将所述索引对应的目标更新请求从所述索引对应的更新请求队列中删除的步骤,包括:
获取所述索引对应的目标更新请求所对应的下一个更新请求,以及所述下一个更新请求对应的下一个更新请求,得到第一更新请求、第二更新请求;
用所述第一更新请求替换所述目标更新请求;
将替换之后的目标更新请求指向所述第二更新请求。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述目标索引组中各索引对应的更新请求队列更新所述各索引的步骤之后,所述方法还包括:
删除所述目标索引组中各索引对应的标记信息。
7.根据权利要求1所述的方法,其特征在于,所述方法应用于广告投放引擎,所述目标索引组至少包括:投放物料索引、投放计划索引、投放单元索引。
8.一种数据更新装置,其特征在于,所述装置包括:
更新请求入队模块,用于将针对索引的更新请求添加至所述索引对应的更新请求队列中;
标记信息更新模块,用于将所述索引对应的标记信息更新为目标值;
目标索引组确定模块,用于确定包含所述索引的目标索引组;
索引更新模块,用于在所述目标索引组中各索引对应的标记信息均为所述目标值的情况下,根据所述目标索引组中各索引对应的更新请求队列更新所述各索引;
所述更新请求中携带请求方信息,所述标记信息更新模块还用于:
将所述索引和所述请求方信息对应的标记信息更新为目标值;
所述索引更新模块还用于:
在所述目标索引组中各索引和同一请求方信息对应的标记信息均为所述目标值的情况下,从所述目标索引组中各索引对应的更新请求队列中获取各索引对应的目标更新请求;
从各索引对应的目标更新请求中提取各索引对应的更新数据;
针对每个索引,将所述索引对应的更新数据更新至所述索引中。
9.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中一个或多个所述的数据更新方法。
10.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-7中一个或多个所述的数据更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910218963.1A CN110083612B (zh) | 2019-03-21 | 2019-03-21 | 数据更新方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910218963.1A CN110083612B (zh) | 2019-03-21 | 2019-03-21 | 数据更新方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083612A CN110083612A (zh) | 2019-08-02 |
CN110083612B true CN110083612B (zh) | 2021-09-17 |
Family
ID=67413395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910218963.1A Active CN110083612B (zh) | 2019-03-21 | 2019-03-21 | 数据更新方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083612B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046040A (zh) * | 2019-11-26 | 2020-04-21 | 北京达佳互联信息技术有限公司 | 确定索引的方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5842196A (en) * | 1996-04-03 | 1998-11-24 | Sybase, Inc. | Database system with improved methods for updating records |
CN101663653A (zh) * | 2007-10-17 | 2010-03-03 | 索尼株式会社 | 网络系统、网络家用电器、内容/元数据同步处理方法以及计算机程序 |
CN103647669A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种保证分布式数据处理一致性的系统及方法 |
CN108023908A (zh) * | 2016-10-31 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 数据更新方法、装置及系统 |
CN108388438A (zh) * | 2018-02-07 | 2018-08-10 | 平安普惠企业管理有限公司 | 系统基表更新方法、装置、计算机设备和存储介质 |
-
2019
- 2019-03-21 CN CN201910218963.1A patent/CN110083612B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5842196A (en) * | 1996-04-03 | 1998-11-24 | Sybase, Inc. | Database system with improved methods for updating records |
CN101663653A (zh) * | 2007-10-17 | 2010-03-03 | 索尼株式会社 | 网络系统、网络家用电器、内容/元数据同步处理方法以及计算机程序 |
CN103647669A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种保证分布式数据处理一致性的系统及方法 |
CN108023908A (zh) * | 2016-10-31 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 数据更新方法、装置及系统 |
CN108388438A (zh) * | 2018-02-07 | 2018-08-10 | 平安普惠企业管理有限公司 | 系统基表更新方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110083612A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101894226B1 (ko) | Ip 어드레스에 대응하는 위치를 결정하기 위한 방법, 장치, 및 시스템 | |
WO2012077388A1 (ja) | サーバ、情報管理方法、情報管理プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体 | |
CN107341181B (zh) | 搜索推荐方法、装置、计算机可读存储介质及计算机设备 | |
CN110472154A (zh) | 一种资源推送方法、装置、电子设备及可读存储介质 | |
CN107798135B (zh) | 分页查询方法及装置和电子设备 | |
CN110442791B (zh) | 数据推送方法和系统 | |
JP2020135207A (ja) | 経路探索方法、経路探索プログラム、経路探索装置および経路探索のデータ構造 | |
CN110704677A (zh) | 一种节目推荐方法、装置、可读存储介质及终端设备 | |
CN108769157B (zh) | 消息弹窗的展示方法、装置、计算设备及计算机存储介质 | |
CN110083612B (zh) | 数据更新方法、装置、电子设备及可读存储介质 | |
CN112417199A (zh) | 遥感影像的检索方法、装置、系统及存储介质 | |
CN107885875B (zh) | 检索词的同义变换方法、装置及服务器 | |
US8849792B2 (en) | Information management method and information management apparatus | |
CN109542757A (zh) | 接口测试环境确定方法、装置、电子设备及存储介质 | |
CN108509529A (zh) | 数据分页排序方法、装置及可读存储介质 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN110751376A (zh) | 工单的分配调度方法、装置、计算机设备和存储介质 | |
CN109636633A (zh) | 数据处理方法、装置和存储介质 | |
CN113177154A (zh) | 搜索词推荐方法、装置、电子设备及存储介质 | |
CN110189171B (zh) | 特征数据的生成方法、装置及设备 | |
CN115185939B (zh) | 多源数据的数据处理方法 | |
CN106055640A (zh) | 缓存的管理方法及系统 | |
CN106204125A (zh) | 一种定价方法及装置 | |
CN114357318A (zh) | 多维轨迹数据显示方法、装置和电子设备 | |
CN111584050B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |