CN111881091A - 数据存储方法、装置、电子设备及存储介质 - Google Patents
数据存储方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111881091A CN111881091A CN202010513497.2A CN202010513497A CN111881091A CN 111881091 A CN111881091 A CN 111881091A CN 202010513497 A CN202010513497 A CN 202010513497A CN 111881091 A CN111881091 A CN 111881091A
- Authority
- CN
- China
- Prior art keywords
- incremental data
- data record
- time
- data
- incremental
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 256
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000013500 data storage Methods 0.000 title claims abstract description 60
- 238000003780 insertion Methods 0.000 claims description 30
- 230000037431 insertion Effects 0.000 claims description 30
- 238000012217 deletion Methods 0.000 claims description 26
- 230000037430 deletion Effects 0.000 claims description 26
- 238000005192 partition Methods 0.000 abstract description 22
- 230000008569 process Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 230000006855 networking Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 11
- 238000000638 solvent extraction Methods 0.000 description 11
- 230000004931 aggregating effect Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete 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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
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)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了数据存储方法、装置、电子设备及存储介质,该方法包括:获取第一时间点的存储于多个存储区域的全量数据与第二时间点相对于第一时间点的增量数据;确定增量数据中的多条增量数据记录对应的死亡时间;根据增量数据中增量数据记录的写入类型和死亡时间,存储增量数据的内容到多个存储区域中。本发明实施例通过获取增量数据与分区存储的全量数据,得到增量数据的死亡时间,根据增量数据的死亡时间与写入类型将增量数据分区存储,能够大幅度减小数据的存储体积,节省数据存储空间,缓解由于存储空间不足而删除存储时间较长的数据的问题,从而更长久地存储数据。
Description
技术领域
本文件涉及互联网、在线广告、数据仓库以及数据分析系统领域,尤其涉及一种数据存储方法、装置、电子设备及存储介质。
背景技术
投放互联网广告后,广告投放方存在查询任意时段的历史全量数据快照并针对该数据进行数据分析的需求。现有技术中,存储数据的方案如图2所示,将前一天的全量数据与当天的增量数据聚合后得到当天的全量数据,分别将每天的全量数据存储于不同的大表。然而,通过该方案存储的数据体积过大,导致运营方只能存储近期的数据,无法满足查询一段较长时间之前的历史全量数据快照的需求。因此,需要一种技术方案,以解决在保证数据中的信息未丢失的情况下如何减小数据存储体积的问题。
发明内容
本说明书一个实施例的目的是提供一种数据存储方法、装置、电子设备及存储介质,以解决在保证数据中的信息未丢失的情况下如何减小数据存储体积的问题。
为解决上述技术问题,本说明书一个实施例是这样实现的:
第一方面,本发明实施例提供了一种数据存储方法,包括:获取第一时间点的全量数据与第二时间点相对于第一时间点的增量数据,其中,全量数据存储于多个存储区域,第二时间点在第一时间点之后;确定增量数据中的每一条增量数据记录对应的死亡时间;根据增量数据中每一条增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中。
第二方面,本发明实施例提供了一种数据存储装置,包括:数据获取模块,用于获取第一时间点的全量数据与第二时间点相对于第一时间点的增量数据,其中,全量数据存储于多个存储区域,第二时间点在第一时间点之后;死亡时间确定模块,用于确定增量数据中的每一条增量数据记录对应的死亡时间;增量数据存储模块,用于根据增量数据中每一条增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中。
第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器和存储在存储器上并可在处理器上运行的计算机可执行指令,计算机可执行指令被处理器执行时实现如上述第一方面的数据存储方法。
第四方面,本发明实施例提供了一种存储介质,该存储介质用于存储计算机可执行指令,计算机可执行指令被处理器执行时实现如上述第一方面的数据存储方法。
通过本发明实施例,获取第一时间点的存储于多个存储区域的全量数据与第二时间点相对于第一时间点的增量数据;确定增量数据中的多条增量数据记录对应的死亡时间;根据增量数据中增量数据记录的写入类型和死亡时间,存储增量数据的内容到多个存储区域中。该技术方案中,通过获取增量数据与分区存储的全量数据,得到增量数据的死亡时间,根据增量数据的死亡时间与写入类型将增量数据分区存储,能够大幅度减小数据的存储体积,节省数据存储空间,缓解由于存储空间不足而删除存储时间较长的数据的问题,从而更长久地存储数据。
附图说明
为了更清楚地说明本说明书一个或多个实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的一种数据存储方法的流程示意图;
图2为现有技术中的一种数据存储方法的示意图;
图3为本发明一个实施例提供的一种数据存储方法的示意图;
图4为本发明另一个实施例提供的一种数据处理方法的流程示意图;
图5为本发明一个实施例提供的一种数据存储方法中按照时间分区的示意图;
图6为本发明另一个实施例提供的一种数据处理装置的示意框图;
图7为本发明一个实施例提供的数据存储装置的示意框图;
图8为本发明一个实施例提供的电子设备的示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
本发明实施例提供了一种数据存储方法、装置、电子设备以及存储介质。该数据存储方法可以应用于电子设备,本发明实施例提及的电子设备包括但不限于手机、平板电脑、电脑、可穿戴设备、光调制解调器、网关设备、服务器等。
图1为本发明一个实施例提供的一种数据存储方法的流程示意图。参照图1所示,数据存储方法包括步骤S110、步骤S120以及步骤S130。下面对图1的示例实施例中的数据存储方法进行详细的说明。
参照图1所示,在步骤S110中,获取第一时间点的全量数据与第二时间点相对于第一时间点的增量数据,其中,全量数据存储于多个存储区域,第二时间点在第一时间点之后。
在示例实施例中,第一时间点与第二时间点可以是预设的获取数据的时间,例如,第一时间点为2018年2月1日18点,第二时间点为2018年2月2日18点。第二时间点的增量数据为与第一时间点的全量数据存在对应关系的增量数据,即,第二时间点的增量数据是在第一时间点的全量数据的基础上写入多种类型的数据记录。写入类型包括删除类型、更新类型以及插入类型。第二时间点必然位于第一时间点之后。
在示例实施例中,删除类型的数据记录一般是指通过delete语句删除的记录;更新类型的数据记录一般是指通过Update语句更新的记录;插入类型的数据记录一般是指通过Insert语句插入的记录。
在示例实施例中,在获取第一时间点的全量数据前,方法还包括:根据开始时间和死亡时间中的至少一项,划分多个存储区域,其中,不同的存储区域具有不同区间范围的开始时间和/或死亡时间;根据全量数据中的每一条全量数据记录的开始时间和死亡时间中的至少一项,确定全量数据记录对应的多个存储区域中的第四目标存储区域;将全量数据记录存储于第四目标存储区域。在示例实施例中,根据开始时间和死亡时间中的至少一项,划分多个存储区域,可参照图5所示,例如,存储区域0201-0202,存储区域0201-0203等。全量数据存储于多个存储区域。根据全量数据中的每一条全量数据记录的开始时间和死亡时间中的至少一项,确定全量数据记录对应的多个存储区域中的第四目标存储区域,可以是,根据全量数据中的全量数据记录的开始时间与死亡时间,将开始时间与死亡时间相同的全量数据记录存储于同一存储区域,每一条全量数据记录都存在对应的第四目标存储区域。也可以根据全量数据中的全量数据记录的开始时间对应的月份,确定该全量数据记录的存储区域,将开始时间位于同一月份的全量数据记录存储于同一存储区域。还可以是根据全量数据中的全量数据记录的死亡时间,确定每一条全量数据记录分别对应的第四目标存储区域。确定第四目标存储区域后将该全量数据记录存储于该第四目标存储区域在步骤S120中,确定增量数据中的每一增量数据记录对应的死亡时间。
在示例实施例中,增量数据记录与该增量数据记录对应的全量数据记录针对的是同一条数据记录,例如用户甲在2月1日于网络社交平台关注明星乙的账号,2月2日取消关注,则2月1日的全量数据中包括根据该关注操作生成的数据记录,2月2日写入针对该数据记录的删除类型的增量数据记录。
在示例实施例中,数据记录的开始时间可以直接从数据记录中提取。需要注意的是,数据记录的开始时间是不会改变的,一旦数据记录产生,例如用户甲在2月1日于网络社交平台关注明星乙的账号,则根据该关注操作生成的数据记录的开始时间为2月1日,不会再发生改变,若该用户甲取关后又重新关注明星乙,则第二次关注操作会生成新的数据记录,与开始时间为2月1日的数据记录无关。增量数据记录与该增量数据记录对应的全量数据记录的开始时间为同一开始时间。增量数据记录的开始时间可以从增量数据记录中提取,也可以从与该增量数据记录对应的全量数据记录中提取。
在示例实施例中,数据记录的死亡时间即数据记录消失或被删除的时间,可以是数据记录在生成或修改时根据该数据记录生存周期预先确定的时间,例如,用户甲在2月1日获得网络社交平台赠送的该平台的7天会员,该用户甲成为会员的数据记录在生成时即获得其数据记录生存周期为7天,则2月1日生成用户甲成为会员的数据记录时,可从数据记录中获得该数据记录的开始时间为2月1日(可用0201表示),在2月1日就能够根据开始时间2月1日与该数据记录生存周期,预先确定该数据记录的死亡时间为2月8日(可用0208表示)。增量数据记录中的死亡时间可以与该增量数据记录对应的全量数据记录的死亡时间不同,也可以相同。由于增量数据记录产生于全量数据记录之后,通常情况下,增量数据记录的死亡时间为最新的死亡时间,以增量数据记录的死亡时间为准。
在另一示例实施例中,增量数据记录的死亡时间可以是预先设定的数值,例如9999,该数值不代表某个具体的时间,而是指该增量数据记录针对的某条数据记录依旧存在,并未消失。当该数据记录消失或被删除时,则增量数据记录的死亡时间从9999更新为消失或被删除时对应的时间,例如,2月2日用户甲在网络社交平台上关注了明星乙,此时根据该关注操作生成的数据记录的开始时间为2月2日(可用0202表示),死亡时间为9999,2月7日用户甲取消了对明星乙的关注,则2月7日当天该数据记录的死亡时间从9999更新为2月7日(可用0207表示)。
在示例实施例中,确定增量数据中的每一条增量数据记录对应的死亡时间,包括:当增量数据中的增量数据记录的写入类型为删除类型时,确定增量数据记录的删除时间为增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型时,基于增量数据记录的更新时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为插入类型时,基于增量数据记录的插入时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型或插入类型时,确定增量数据记录的死亡时间为预设数值。
在示例实施例中,当增量数据中的增量数据记录的写入类型为删除类型时,确定增量数据记录的删除时间为增量数据记录的死亡时间。例如,增量数据中的增量数据记录包含的信息为用户甲在网络社交平台上取消对明星乙的关注,可视为针对根据用户甲在网络社交平台上关注明星乙生成的数据记录的写入类型为删除类型的增量数据,该增量数据记录的删除时间等同于增量数据记录的死亡时间。
在示例实施例中,当增量数据中的增量数据记录的写入类型为更新类型时,基于增量数据记录的更新时间和数据记录生存周期确定增量数据记录的死亡时间。例如,用户丙是购物网站丁的高级会员,该高级会员需要定期充值以延长有效期限,原本高级会员应当在2月3日到期,即根据用户丙的高级会员的有效期限生成的数据记录的死亡时间为2月2日,但用户丙在2月2日高级会员尚未过期时通过充值延长了高级会员的有效期1个月,则根据该增量数据记录的更新时间2月2日与数据记录生存周期一个月,确定该增量数据记录的死亡时间为3月2日。
在示例实施例中,当增量数据中的增量数据记录的写入类型为插入类型时,基于增量数据记录的插入时间和数据记录生存周期确定增量数据记录的死亡时间。例如,用户丙在购物网站丁购物,于2月2日获取购物网站丁赠送的有效期为5天的购物优惠券,则根据用户获取该购物优惠券生成的增量数据记录的插入时间2月2日与数据记录生存周期5天,确定该增量数据记录的死亡时间为2月7日。
在另一示例实施例中,当增量数据中的增量数据记录的写入类型为更新类型或插入类型时,确定增量数据记录的死亡时间为预设数值。例如,用户甲在网络社交平台关注了一个明星乙,或,用户甲在网络社交平台将自己的注册资料中的联系电话修改为新的手机号码,则可将增量数据记录的死亡时间设置为9999。
在步骤S130中,根据增量数据中增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中。
在示例实施例中,根据增量数据中增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中,包括:当增量数据中的增量数据记录的写入类型为删除类型时,将全量数据中与增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第一目标存储区域;当增量数据中的增量数据记录的写入类型为更新类型时,将全量数据中与增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第二目标存储区域,并根据增量数据记录更新第二目标存储区域中的存储内容;当增量数据中的增量数据记录的写入类型为插入类型时,检索增量数据记录的插入时间与死亡时间得到多个存储区域中的第三目标存储区域,并将增量数据记录存储到第三目标存储区域。
在示例实施例中,增量数据记录与其对应的全量数据记录具有共同的特质标识,该数据存储方法还包括:根据每一条全量数据记录中的特征标识与每一条增量数据记录中的特征标识,确定每一条增量数据记录对应的全量数据记录。可以理解为,增量数据记录对应的全量数据记录与增量数据记录具有共同特征标识。具体地,可以在根据增量数据记录的死亡时间,更新全量数据中与增量数据记录对应的数据记录的存储区域前,根据增量数据记录中的特征标识,将全量数据中与增量数据记录具有共同特征标识的全量数据记录确定为与增量数据记录对应的全量数据记录。
在示例实施例中,特征标识可以是用户的用户在社交网络平台中的用户身份证明(uid,User Identification)。例如,根据网络社交平台的进行关注操作的关注者uid与被关注者uid。
在示例实施例中,根据增量数据记录中的特征标识,将全量数据中与增量数据记录具有共同特征标识的全量数据记录确定为与增量数据记录对应的数据记录,例如,增量数据记录中包含的信息为2月2日用户甲取消关注明星乙,则增量数据记录中的关键特征标识为关注者用户甲的uid与被关注者明星乙uid,将全量数据中与增量数据记录具有共同特征标识的全量数据记录,例如,根据2月1日用户甲关注明星乙生成的数据记录,确定为与增量数据记录具有共同特征标识的全量数据记录。
在示例实施例中,当增量数据中的增量数据记录的写入类型为删除类型时,将全量数据中与增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第一目标存储区域。
在示例实施例中,将全量数据中与增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第一目标存储区域,例如,2月4日的增量数据中包括一条开始时间为2月1日(可用0201表示),死亡时间为2月4日(可用0204表示)的写入类型为删除类型的增量数据记录,又全量数据中与该增量数据记录对应的全量数据记录的存储区域为存储区域0201-0208,可参照图5所示,则将该全量数据记录的存储区域0201-0208修改为通过检索该增量数据记录的开始时间2月1日与死亡时间2月4日得到的第一目标存储区域0201-0204。
在另一示例实施例中,全量数据可能并未按照开始时间与死亡时间分区存储,而是将开始时间位于同一月份的全量数据记录存储于同一存储区域,例如,2月4日的增量数据中包括一条开始时间为2月1日(可用0201表示),死亡时间为2月4日(可用0204表示)的写入类型为删除类型的增量数据记录,又2月3日的全量数据中与该增量数据记录对应的全量数据记录的存储区域为存储区域02,则将该全量数据记录的存储区域02修改为通过检索该增量数据记录的开始时间2月1日与死亡时间2月4日得到的第一目标存储区域0201-0204。需要注意的是,当多次循环执行如图1所示的数据存储方法中的步骤S110、步骤S120以及步骤S130后,无论初始的全量数据存储时按照什么规则分区,最终存储的数据必然根据开始时间与死亡时间分区。
在示例实施例中,当增量数据中的增量数据记录的写入类型为更新类型时,将全量数据中与增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第二目标存储区域,并根据增量数据记录更新第二目标存储区域中的存储内容。
在示例实施例中,将全量数据中与增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第二目标存储区域,并根据增量数据记录更新第二目标存储区域中的存储内容,例如,2月4日的增量数据中包括一条开始时间为2月1日(可用0201表示),死亡时间为2月8日(可用0208表示)的写入类型为更新类型的增量数据记录,又全量数据中与该增量数据记录对应的全量数据记录的存储区域为存储区域0201-0205,可参照图5所示,则将该全量数据记录的存储区域0201-0205修改为通过检索该增量数据记录的开始时间2月1日与死亡时间2月8日得到的第二目标存储区域0201-0208,并根据增量数据记录更新第二目标存储区域0201-0208中的存储内容。
在示例实施例中,当增量数据中的增量数据记录的写入类型为插入类型时,检索增量数据记录的插入时间与死亡时间得到多个存储区域中的第三目标存储区域,并将增量数据记录存储到第三目标存储区域。
在示例实施例中,当增量数据记录的写入类型为插入类型时,该增量数据记录的插入时间与开始时间通常情况下是同一时间。例如,增量数据记录的插入时间为2月1日,该增量数据记录的开始时间也为2月1日。
在示例实施例中,检索增量数据记录的插入时间与死亡时间得到多个存储区域中的第三目标存储区域,并将增量数据记录存储到第三目标存储区域,例如,2月1日的增量数据中包括一条开始时间为2月1日(可用0201表示),死亡时间为2月5日(可用0205表示)的写入类型为插入类型的增量数据记录,则检索该增量数据记录的开始时间2月1日与死亡时间2月5日,得到第三目标存储区域0201-0205,可参照图5所示,将该增量数据记录存储于第三目标存储区域0201-0205。
根据图1的示例实施例中的数据存储方法,获取第一时间点的存储于多个存储区域的全量数据与第二时间点相对于第一时间点的增量数据;确定增量数据中的多条增量数据记录对应的死亡时间;根据增量数据中增量数据记录的写入类型和死亡时间,存储增量数据的内容到多个存储区域中。该技术方案中,通过获取增量数据与分区存储的全量数据,得到增量数据的死亡时间,根据增量数据的死亡时间与写入类型将增量数据分区存储,能够大幅度减小数据的存储体积,节省数据存储空间,缓解由于存储空间不足而删除存储时间较长的数据的问题,从而更长久地存储数据。
在另一示例实施例中,获取第一时间点的全量数据与第二时间点相对于第一时间点的的增量数据,其中,全量数据存储于多个存储区域;根据增量数据的写入类型和开始时间,将增量数据的内容存储到多个存储区域中。
在示例实施例中,将增量数据根据增量数据记录的开始时间存储于多个存储区域,例如,将开始时间属于2月的所有数据记录存储于同一存储区域。
在示例实施例中,可通过下述步骤查询通过前述数据存储方法存储的数据记录:取数据查询请求进行sql解析,例如,查询某个广告主2月4日的粉丝关系全量快照,可以设置数据查询条件为cust-uid=xxxxx and startdate<=20200204and enddate>=20200204,根据该数据查询条件发送查询语句到spark集群,通过spark-sql语句进行多进程并发查询,计算得到相应的广告主粉丝关系结果数据作为数据查询结果。
图2为现有技术中的一种数据存储方法的示意图。
增量数据是在全量数据的基础上进行数据的插入、删除或修改。参照图2所示,将前一天的全量数据与当天的增量数据聚合后得到当天的全量数据,分别将每天的全量数据存储于不同的大表。具体地,2018年2月1日全量数据202与2018年2月2日增量数据204聚合,得到2018年2月2日全量数据206;2018年2月2日全量数据206与2018年2月3日增量数据208聚合,得到2018年2月3日全量数据210;2018年2月3日全量数据210与2018年2月4日增量数据212聚合,得到2018年2月4日全量数据214。分别存储2018年2月1日全量数据202、2018年2月2日全量数据206、2018年2月3日全量数据210以及2018年2月4日全量数据214于4张不同的全量日志大表中,各全量日志大表存储于不同的存储区域。
通过该方案存储数据占据空间极大,例如,网络社交平台上的粉丝关系表,一个月需要60T存储空间。
图3为本发明一个实施例提供的一种数据存储方法的示意图。
参照图3所示,2018年2月1日全量数据302与2018年2月2日增量数据304聚合,在聚合全量数据设置死亡时间310的过程中,得到新的当日全量数据,并在聚合过程中设置增量数据死亡时间。
将310中的全量数据与2018年2月3日增量数据306聚合,得在聚合全量数据设置死亡时间310的过程中,得到新的当日全量数据,并在聚合过程中设置增量数据死亡时间。
将310中的全量数据与2018年2月4日增量数据212聚合,得到新的当日全量数据,并在聚合过程中设置增量数据死亡时间。
2018年2月1日全量数据302按照死亡时间进行分区存储。2018年2月2日、3日、4日等,每天根据增量数据中设置的死亡时间将增量数据分区存储。
与现有技术中的数据存储方法相比,通过该方案存储数据占据的数据存储空间大幅度降低,例如,网络社交平台上的粉丝关系表,一个月仅需要3T存储空间。
图3中的数据存储方法可以实现前述的数据存储方法的实施例中的各个过程,并达到相同的效果和功能,这里不再赘述。
图4为本发明另一个实施例提供的一种数据处理方法的流程示意图。
参照图4所示,在步骤S410中,日志用户身份识别标识关联处理。
在示例实施例中,日志用户身份识别标识可以是日志用户在社交网络平台中的用户身份证明(uid,User Identification)。例如,根据网络社交平台的进行关注操作的关注者uid与被关注者uid,确定粉丝关系全量数据与粉丝关系增量数据中对应的数据记录,或,根据网络社交平台的个人的uid,确定用户属性全量数据与用户属性增量数据的关联关系。根据确定的关联关系对全量数据和增量数据进行关联处理。
在步骤S420中,日志聚合处理。
在示例实施例中,将全量数据与增量数据进行聚合处理,得到聚合数据,例如,粉丝关系聚合数据或用户属性聚合数据。
在步骤S430中,日志分区处理。
在示例实施例中,将聚合数据进行二级时间分区动态存储。或将聚合数据按月分区存储。
在示例实施例中,将聚合数据进行二级时间分区动态存储,二级指的是开始时间和死亡时间。也可以进行其他多级分区动态存储。多级分区指的是根据数据的时间属性,可以进行多级分区,比如开始时间对应的月份、开始时间、结束时间三级分区。
在示例实施例中,将聚合数据按月分区存储,指的是将每天聚合后得到的新的全量数据按照开始时间对应的月份进行分区,例如,开始时间属于1月的数据均存储于同一张大表,位于同一存储区域中。由于增量数据中,写入类型为删除类型或更新类型时,不会改变数据的开始时间,故根据增量数据按月分区存储时,只有写入类型为插入类型的增量数据会根据该数据的开始时间对应的月份确定其存储区域。写入类型为更新类型的增量数据不会改变全量数据中对应的数据的存储区域,只会根据增量数据更新该数据的信息。写入类型为删除类型的增量数据也不会改变全量数据中对应的数据的存储区域,只会根据增量数据将该数据已删除的信息添加到该存储区域中。
在步骤S440中,数据查询请求处理。
在示例实施例中,获取数据查询请求进行sql解析,例如,查询某个广告主2月4日的粉丝关系全量快照,可以设置数据查询条件为cust-uid=xxxxx and startdate<=20200204and enddate>=20200204,根据该数据查询条件发送查询语句到spark集群,通过spark-sql语句进行多进程并发查询,计算得到相应的广告主粉丝关系结果数据作为数据查询结果。
图4中的数据处理方法可以实现前述的数据存储方法的实施例中的各个过程,并达到相同的效果和功能,这里不再赘述。
图5为本发明一个实施例提供的一种数据存储方法中按照时间分区的示意图。
在示例实施例中,根据开始时间与死亡时间可确定多个存储区域,例如存储区域0201-0202,存储区域0201-0203、存储区域0201-0204……存储区域0201-9999、存储区域0202-0203、存储区域0202-0204……存储区域0202-9999、存储区域0203-0204……存储区域0203-9999、存储区域0204-9999等。
参照图5所示,根据开始时间与死亡时间可确定多个存储区域,例如,开始时间为2月1日(0201),死亡时间为2月2日(0202),则设置存储区域,该存储区域的标识为0201-0202,该标识的含义是该存储区域存储的数据为开始时间为2月1日且死亡时间为2月2日的数据。
在示例实施例中,可设置当前扔存在的数据的死亡时间为预设数值,例如9999,如图5所示,开始时间为2月1日(0201),死亡时间为预设数值9999,则设置存储区域,该存储区域的标识为0201-9999,该标识的含义是该存储区域存储的数据为开始时间为2月1日且当前依旧存在的数据。
图5仅为按照时间分区的一种示例。数据的开始时间与死亡时间可以是同一天,例如设置存储区域0202-0202,其含义为该存储区域存储的数据为开始时间与死亡时间均为2月2日的数据。分区时也可以根据开始时间与死亡时间对应的小时、周、月、年等其他预设时间单位,例如存储区域202002-202005,其含义为该存储区域存储的数据为开始时间在2020年2月且死亡时间在2020年5月的数据。
图5中的数据存储方法可以实现前述的数据存储方法的实施例中的各个过程,并达到相同的效果和功能,这里不再赘述。
图6为本发明另一个实施例提供的一种数据处理装置的示意框图。
参照图6所示,数据处理装置包括日志处理模块610、日志聚合模块620、日志分区模块630、数据查询解析模块640以及客户端查询请求处理模块650。
其中,日志处理模块610针对全量数据与增量数据中的同一类型且具有相同特征标识的数据进行关联处理。相同特征标识可以是用户身份标识信息,例如用户uid。例如,2018年2月1日,用户甲在网络社交平台上对明星乙进行关注操作,2018年2月1日的全量数据中包括一条该关注操作对应的数据记录1。2018年2月2日,用户甲在网络社交平台上对明星乙进行了取消关注操作,则2018年2月2日的增量数据包括一条该取消关注操作对应的写入方式为删除类型的数据记录2,该数据记录2与数据记录1具有相同的特征标识,该特征标识可以是关注者的uid与被关注者的uid,根据特征标识确定数据记录2与数据记录1存在关联关系。
日志聚合模块620用于对全量数据与增量数据中存在关联关系的数据进行聚合操作。聚合操作可以是在确定全量数据与增量数据中的同一类型且具有相同特征标识的数据的关联关系后进行关联处理,例如,根据增量数据中的以删除类型写入的数据记录删除全量数据中具有关联关系的数据记录。可以将原本分区存储的全量数据与新获取的增量数据聚合后得到的数据先存储于同一张全量日志大表中,再通过日志分区模块630重新存储,也可以直接将全量数据在原存储区域进行聚合,再通过日志分区模块630重新分区存储聚合后的数据。
日志分区模块630用于对数据进行多级分区,按照开始时间和死亡时间进行分区存储,查询的时候可以保证查询效率。日志分区模块630需要根据开始时间和死亡时间设置不同的存储区域,例如,开始时间为2月1日(0201),死亡时间为2月2日(0202),则设置存储区域,该存储区域的标识为0201-0202,该标识的含义是该存储区域存储的数据为开始时间为2月1日且死亡时间为2月2日的数据。可以预先将所有未删除的数据的死亡时间设置为预设数值,例如99991231,也可以在数据生成或修改时确定该数据的生存周期,再根据数据的生成/修改时间与生产周期确定该数据的死亡时间。如果在根据uid进行全量数据与增量数据的关联处理时,在增量数据中出现某条数据的新的死亡时间,则根据增量数据的死亡时间确定该数据的存储区域。
数据查询解析模块640包括查询解析系统。该系统可以对从客户端查询请求处理模块650获取数据查询请求进行sql解析,例如,查询某个广告主2月4日的粉丝关系全量快照,可以设置数据查询条件为cust-uid=xxxxx and startdate<=20200204and enddate>=20200204,根据该数据查询条件发送查询语句到spark集群,通过spark-sql语句进行多进程并发查询,计算得到相应的广告主粉丝关系结果数据作为数据查询结果,返回给客户端查询请求处理模块650。
客户端查询请求处理模块650也可以叫做实时查询模块,该模块可以是实时查询API(Application Programming Interface,应用程序接口),可用于接收用户输入的数据查询条件,发送数据查询条件到数据查询解析模块640,展示数据查询解析模块640返回的数据查询结果,还可以在数据查询完成后,提供根据数据查询结果生成的二次计算结果,并展示相关指标数据在前端报表页面上,满足销售和运营的任意时间段的数据查询的需求。
图6中的数据处理装置可以实现前述的数据存储方法与数据处理方法的实施例中的各个过程,并达到相同的效果和功能,这里不再赘述。
图7为本发明一个实施例提供的数据存储装置的示意框图。
参照图7所示,该数据存储装置700包括:数据获取模块710、死亡时间确定模块720以及增量数据存储模块730。
其中,数据获取模块710,用于数据获取模块,用于获取第一时间点的全量数据与第二时间点相对于第一时间点的增量数据,其中,全量数据存储于多个存储区域,第二时间点在第一时间点之后。
死亡时间确定模块720,用于确定增量数据中的每一条增量数据记录对应的死亡时间。
增量数据存储模块730,用于根据增量数据中每一条增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中。
在本发明的一些实施例中,基于上述方案,增量数据记录与其对应的全量数据记录具有共同的特征标识,数据存储装置700还包括:对应记录确定模块,用于根据每一条全量数据记录中的特征标识与每一条增量数据记录中的特征标识,确定每一条增量数据记录对应的全量数据记录。
在本发明的一些实施例中,基于上述方案,死亡时间确定模块720,具体用于:当增量数据中的增量数据记录的写入类型为删除类型时,确定增量数据记录的删除时间为增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型时,基于增量数据记录的更新时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为插入类型时,基于增量数据记录的插入时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型或插入类型时,确定增量数据记录的死亡时间为预设数值。
在本发明的一些实施例中,基于上述方案,增量数据存储模块730,具体用于:当增量数据中的增量数据记录的写入类型为删除类型时,将增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第一目标存储区域;当增量数据中的增量数据记录的写入类型为更新类型时,将增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第二目标存储区域,并根据增量数据记录更新第二目标存储区域中的存储内容;当增量数据中的增量数据记录的写入类型为插入类型时,检索增量数据记录的插入时间与死亡时间得到多个存储区域中的第三目标存储区域,并将增量数据记录存储到第三目标存储区域。
在本发明的一些实施例中,基于上述方案,数据存储装置700还包括:存储区域划分模块,用于根据开始时间和死亡时间中的至少一项,划分多个存储区域,其中,不同的存储区域具有不同区间范围的开始时间和/或死亡时间;第四目标存储区域确定模块,用于根据全量数据中的每一条全量数据记录的开始时间和死亡时间中的至少一项,确定全量数据记录对应的多个存储区域中的第四目标存储区域;全量数据存储模块,用于将全量数据记录存储于第四目标存储区域。
通过本发明实施例,获取第一时间点的存储于多个存储区域的全量数据与第二时间点相对于第一时间点的增量数据;确定增量数据中的多条增量数据记录对应的死亡时间;根据增量数据中增量数据记录的写入类型和死亡时间,存储增量数据的内容到多个存储区域中。该技术方案中,通过获取增量数据与分区存储的全量数据,得到增量数据的死亡时间,根据增量数据的死亡时间与写入类型将增量数据分区存储,能够大幅度减小数据的存储体积,节省数据存储空间,缓解由于存储空间不足而删除存储时间较长的数据的问题,从而更长久地存储数据。
本发明一实施例提供的数据存储装置能够实现前述数据存储方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本发明一个实施例还提供了一种电子设备,图8为本发明一个实施例提供的电子设备的示意框图,如图8所示,该设备包括:存储器801、处理器802、总线803和通信接口804。存储器801、处理器802和通信接口804通过总线803进行通信,通信接口804可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
图8中,存储器801上存储有可在处理器802上运行的计算机可执行指令,该计算机可执行指令被处理器802执行时实现以下流程:获取第一时间点的全量数据与第二时间点相对于第一时间点的增量数据,其中,全量数据存储于多个存储区域,第二时间点在第一时间点之后;确定增量数据中的每一条增量数据记录对应的死亡时间;根据增量数据中每一条增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中。
可选地,计算机可执行指令被处理器802执行时,增量数据记录与其对应的全量数据记录具有共同的特征标识,还可以实现以下流程:根据每一条全量数据记录中的特征标识与每一条增量数据记录中的特征标识,确定每一条增量数据记录对应的全量数据记录。
可选地,计算机可执行指令被处理器802执行时,确定增量数据中的每一条增量数据记录对应的死亡时间,包括:当增量数据中的增量数据记录的写入类型为删除类型时,确定增量数据记录的删除时间为增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型时,基于增量数据记录的更新时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为插入类型时,基于增量数据记录的插入时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型或插入类型时,确定增量数据记录的死亡时间为预设数值。
可选地,计算机可执行指令被处理器802执行时,根据增量数据中每一条增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中,包括:当增量数据中的增量数据记录的写入类型为删除类型时,将增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第一目标存储区域;当增量数据中的增量数据记录的写入类型为更新类型时,将增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第二目标存储区域,并根据增量数据记录更新第二目标存储区域中的存储内容;当增量数据中的增量数据记录的写入类型为插入类型时,检索增量数据记录的插入时间与死亡时间得到多个存储区域中的第三目标存储区域,并将增量数据记录存储到第三目标存储区域。
可选地,计算机可执行指令被处理器802执行时,还可以实现以下流程:根据开始时间和死亡时间中的至少一项,划分多个存储区域,其中,不同的存储区域具有不同区间范围的开始时间和/或死亡时间;根据全量数据中的每一条全量数据记录的开始时间和死亡时间中的至少一项,确定全量数据记录对应的多个存储区域中的第四目标存储区域;将全量数据记录存储于第四目标存储区域。
通过本发明实施例,获取第一时间点的存储于多个存储区域的全量数据与第二时间点相对于第一时间点的增量数据;确定增量数据中的多条增量数据记录对应的死亡时间;根据增量数据中增量数据记录的写入类型和死亡时间,存储增量数据的内容到多个存储区域中。该技术方案中,通过获取增量数据与分区存储的全量数据,得到增量数据的死亡时间,根据增量数据的死亡时间与写入类型将增量数据分区存储,能够大幅度减小数据的存储体积,节省数据存储空间,缓解由于存储空间不足而删除存储时间较长的数据的问题,从而更长久地存储数据。
本发明一实施例提供的电子设备能够实现前述数据存储方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本发明另一个实施例还提供了一种存储介质,该存储介质用于存储计算机可执行指令,该计算机可执行指令被处理器802执行时实现以下流程:获取第一时间点的全量数据与第二时间点相对于第一时间点的增量数据,其中,全量数据存储于多个存储区域,第二时间点在第一时间点之后;确定增量数据中的每一条增量数据记录对应的死亡时间;根据增量数据中每一条增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中。
可选地,计算机可执行指令被处理器802执行时,增量数据记录与其对应的全量数据记录具有共同的特征标识,还可以实现以下流程:根据每一条全量数据记录中的特征标识与每一条增量数据记录中的特征标识,确定每一条增量数据记录对应的全量数据记录。
可选地,计算机可执行指令被处理器802执行时,确定增量数据中的每一条增量数据记录对应的死亡时间,包括:当增量数据中的增量数据记录的写入类型为删除类型时,确定增量数据记录的删除时间为增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型时,基于增量数据记录的更新时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为插入类型时,基于增量数据记录的插入时间和数据记录生存周期确定增量数据记录的死亡时间;或者当增量数据中的增量数据记录的写入类型为更新类型或插入类型时,确定增量数据记录的死亡时间为预设数值。
可选地,计算机可执行指令被处理器802执行时,根据增量数据中每一条增量数据记录的写入类型和死亡时间,将增量数据的内容存储到多个存储区域中,包括:当增量数据中的增量数据记录的写入类型为删除类型时,将增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第一目标存储区域;当增量数据中的增量数据记录的写入类型为更新类型时,将增量数据记录对应的全量数据记录的存储区域修改为通过检索增量数据记录的开始时间与死亡时间得到的多个存储区域中的第二目标存储区域,并根据增量数据记录更新第二目标存储区域中的存储内容;当增量数据中的增量数据记录的写入类型为插入类型时,检索增量数据记录的插入时间与死亡时间得到多个存储区域中的第三目标存储区域,并将增量数据记录存储到第三目标存储区域。
可选地,计算机可执行指令被处理器802执行时,还可以实现以下流程:根据开始时间和死亡时间中的至少一项,划分多个存储区域,其中,不同的存储区域具有不同区间范围的开始时间和/或死亡时间;根据全量数据中的每一条全量数据记录的开始时间和死亡时间中的至少一项,确定全量数据记录对应的多个存储区域中的第四目标存储区域;将全量数据记录存储于第四目标存储区域。
通过本发明实施例,获取第一时间点的存储于多个存储区域的全量数据与第二时间点相对于第一时间点的增量数据;确定增量数据中的多条增量数据记录对应的死亡时间;根据增量数据中增量数据记录的写入类型和死亡时间,存储增量数据的内容到多个存储区域中。该技术方案中,通过获取增量数据与分区存储的全量数据,得到增量数据的死亡时间,根据增量数据的死亡时间与写入类型将增量数据分区存储,能够大幅度减小数据的存储体积,节省数据存储空间,缓解由于存储空间不足而删除存储时间较长的数据的问题,从而更长久地存储数据。
其中,存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本发明一实施例提供的存储介质能够实现前述数据存储方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种数据存储方法,其特征在于,包括:
获取第一时间点的全量数据与第二时间点相对于所述第一时间点的增量数据,其中,所述全量数据存储于多个存储区域,所述第二时间点在所述第一时间点之后;
确定所述增量数据中的每一条增量数据记录对应的死亡时间;
根据所述增量数据中每一条增量数据记录的写入类型和死亡时间,将所述增量数据的内容存储到所述多个存储区域中。
2.根据权利要求1所述的方法,其特征在于,所述增量数据记录与其对应的全量数据记录具有共同的特征标识,所述方法还包括:
根据每一条全量数据记录中的特征标识与每一条增量数据记录中的特征标识,确定每一条增量数据记录对应的全量数据记录。
3.根据权利要求1所述的方法,其特征在于,确定所述增量数据中的每一条增量数据记录对应的死亡时间,包括:
当所述增量数据中的增量数据记录的写入类型为删除类型时,确定所述增量数据记录的删除时间为所述增量数据记录的死亡时间;或者
当所述增量数据中的增量数据记录的写入类型为更新类型时,基于所述增量数据记录的更新时间和数据记录生存周期确定所述增量数据记录的死亡时间;或者
当所述增量数据中的增量数据记录的写入类型为插入类型时,基于所述增量数据记录的插入时间和数据记录生存周期确定所述增量数据记录的死亡时间;或者
当所述增量数据中的增量数据记录的写入类型为更新类型或插入类型时,确定所述增量数据记录的死亡时间为预设数值。
4.根据权利要求2所述的方法,其特征在于,根据所述增量数据中每一条增量数据记录的写入类型和死亡时间,将所述增量数据的内容存储到所述多个存储区域中,包括:
当所述增量数据中的增量数据记录的写入类型为删除类型时,将所述增量数据记录对应的全量数据记录的存储区域修改为通过检索所述增量数据记录的开始时间与死亡时间得到的所述多个存储区域中的第一目标存储区域;
当所述增量数据中的增量数据记录的写入类型为更新类型时,将所述增量数据记录对应的全量数据记录的存储区域修改为通过检索所述增量数据记录的开始时间与死亡时间得到的所述多个存储区域中的第二目标存储区域,并根据所述增量数据记录更新所述第二目标存储区域中的存储内容;
当所述增量数据中的增量数据记录的写入类型为插入类型时,检索所述增量数据记录的插入时间与死亡时间得到所述多个存储区域中的第三目标存储区域,并将所述增量数据记录存储到所述第三目标存储区域。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在获取第一时间点的全量数据前,所述方法还包括:
根据开始时间和死亡时间中的至少一项,划分多个存储区域,其中,不同的存储区域具有不同区间范围的开始时间和/或死亡时间;
根据所述全量数据中的每一条全量数据记录的开始时间和死亡时间中的至少一项,确定所述全量数据记录对应的所述多个存储区域中的第四目标存储区域;
将所述全量数据记录存储于所述第四目标存储区域。
6.一种数据存储装置,其特征在于,包括:
数据获取模块,用于获取第一时间点的全量数据与第二时间点相对于所述第一时间点的增量数据,其中,所述全量数据存储于多个存储区域,所述第二时间点在所述第一时间点之后;
死亡时间确定模块,用于确定所述增量数据中的每一条增量数据记录对应的死亡时间;
增量数据存储模块,用于根据所述增量数据中每一条增量数据记录的写入类型和死亡时间,将所述增量数据的内容存储到所述多个存储区域中。
7.根据权利要求6所述的装置,其特征在于,所述增量数据记录与其对应的全量数据记录具有共同的特征标识,所述装置还包括:
对应记录确定模块,用于根据每一条全量数据记录中的特征标识与每一条增量数据记录中的特征标识,确定每一条增量数据记录对应的全量数据记录。
8.根据权利要求6所述的装置,其特征在于,所述死亡时间确定模块,具体用于:
当所述增量数据中的增量数据记录的写入类型为删除类型时,确定所述增量数据记录的删除时间为所述增量数据记录的死亡时间;或者
当所述增量数据中的增量数据记录的写入类型为更新类型时,基于所述增量数据记录的更新时间和数据记录生存周期确定所述增量数据记录的死亡时间;或者
当所述增量数据中的增量数据记录的写入类型为插入类型时,基于所述增量数据记录的插入时间和数据记录生存周期确定所述增量数据记录的死亡时间;或者
当所述增量数据中的增量数据记录的写入类型为更新类型或插入类型时,确定所述增量数据记录的死亡时间为预设数值。
9.根据权利要求7所述的装置,其特征在于,所述增量数据存储模块,具体用于:
当所述增量数据中的增量数据记录的写入类型为删除类型时,将所述增量数据记录对应的全量数据记录的存储区域修改为通过检索所述增量数据记录的开始时间与死亡时间得到的所述多个存储区域中的第一目标存储区域;
当所述增量数据中的增量数据记录的写入类型为更新类型时,将所述增量数据记录对应的全量数据记录的存储区域修改为通过检索所述增量数据记录的开始时间与死亡时间得到的所述多个存储区域中的第二目标存储区域,并根据所述增量数据记录更新所述第二目标存储区域中的存储内容;
当所述增量数据中的增量数据记录的写入类型为插入类型时,检索所述增量数据记录的插入时间与死亡时间得到所述多个存储区域中的第三目标存储区域,并将所述增量数据记录存储到所述第三目标存储区域。
10.根据权利要求6-9中任一项所述的装置,其特征在于,所述装置还包括:
存储区域划分模块,用于根据开始时间和死亡时间中的至少一项,划分多个存储区域,其中,不同的存储区域具有不同区间范围的开始时间和/或死亡时间;
第四目标存储区域确定模块,用于根据所述全量数据中的每一条全量数据记录的开始时间和死亡时间中的至少一项,确定所述全量数据记录对应的所述多个存储区域中的第四目标存储区域;
全量数据存储模块,用于将所述全量数据记录存储于所述第四目标存储区域。
11.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述计算机可执行指令在上述处理器上运行时,能够实现上述权利要求1-5任一项所述的方法。
12.一种存储介质,该存储介质中存储有计算机可执行指令,其特征在于,所述计算机可执行指令在被处理器执行时,能够实现上述权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010513497.2A CN111881091B (zh) | 2020-06-08 | 2020-06-08 | 数据存储方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010513497.2A CN111881091B (zh) | 2020-06-08 | 2020-06-08 | 数据存储方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881091A true CN111881091A (zh) | 2020-11-03 |
CN111881091B CN111881091B (zh) | 2024-06-25 |
Family
ID=73156436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010513497.2A Active CN111881091B (zh) | 2020-06-08 | 2020-06-08 | 数据存储方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881091B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678494A (zh) * | 2013-11-15 | 2014-03-26 | 北京奇虎科技有限公司 | 客户端同步服务端数据的方法及装置 |
CN104216987A (zh) * | 2014-09-04 | 2014-12-17 | 浪潮通用软件有限公司 | 一种基于时间戳且支持删除操作的增量数据捕获方法 |
CN104881494A (zh) * | 2015-06-12 | 2015-09-02 | 北京奇虎科技有限公司 | 与Redis服务器进行数据同步的方法、装置和系统 |
CN107861989A (zh) * | 2017-10-17 | 2018-03-30 | 平安科技(深圳)有限公司 | 数据的分区存储方法、装置、计算机设备及存储介质 |
EP3336703A1 (en) * | 2016-12-15 | 2018-06-20 | Palantir Technologies Inc. | Incremental backup of computer data files |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
CN109299088A (zh) * | 2018-08-22 | 2019-02-01 | 中国平安人寿保险股份有限公司 | 海量数据存储方法、装置、存储介质及电子设备 |
CN110321383A (zh) * | 2019-05-20 | 2019-10-11 | 平安普惠企业管理有限公司 | 大数据平台数据同步方法、装置、计算机设备及存储介质 |
US20200133804A1 (en) * | 2018-10-31 | 2020-04-30 | EMC IP Holding Company LLC | Method, apparatus and computer storage medium for data synchronization |
CN111177159A (zh) * | 2019-08-16 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种数据处理的系统、方法和数据更新设备 |
CN111209344A (zh) * | 2020-02-07 | 2020-05-29 | 浪潮软件股份有限公司 | 数据同步方法及装置 |
-
2020
- 2020-06-08 CN CN202010513497.2A patent/CN111881091B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678494A (zh) * | 2013-11-15 | 2014-03-26 | 北京奇虎科技有限公司 | 客户端同步服务端数据的方法及装置 |
CN104216987A (zh) * | 2014-09-04 | 2014-12-17 | 浪潮通用软件有限公司 | 一种基于时间戳且支持删除操作的增量数据捕获方法 |
CN104881494A (zh) * | 2015-06-12 | 2015-09-02 | 北京奇虎科技有限公司 | 与Redis服务器进行数据同步的方法、装置和系统 |
EP3336703A1 (en) * | 2016-12-15 | 2018-06-20 | Palantir Technologies Inc. | Incremental backup of computer data files |
CN107861989A (zh) * | 2017-10-17 | 2018-03-30 | 平安科技(深圳)有限公司 | 数据的分区存储方法、装置、计算机设备及存储介质 |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
CN109299088A (zh) * | 2018-08-22 | 2019-02-01 | 中国平安人寿保险股份有限公司 | 海量数据存储方法、装置、存储介质及电子设备 |
US20200133804A1 (en) * | 2018-10-31 | 2020-04-30 | EMC IP Holding Company LLC | Method, apparatus and computer storage medium for data synchronization |
CN110321383A (zh) * | 2019-05-20 | 2019-10-11 | 平安普惠企业管理有限公司 | 大数据平台数据同步方法、装置、计算机设备及存储介质 |
CN111177159A (zh) * | 2019-08-16 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种数据处理的系统、方法和数据更新设备 |
CN111209344A (zh) * | 2020-02-07 | 2020-05-29 | 浪潮软件股份有限公司 | 数据同步方法及装置 |
Non-Patent Citations (1)
Title |
---|
蔡瑞初等: "面向轨迹流数据的索引构建与存储方法研究", 《计算机工程》, vol. 47, no. 03, 11 March 2020 (2020-03-11), pages 62 - 70 * |
Also Published As
Publication number | Publication date |
---|---|
CN111881091B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413634B (zh) | 数据查询方法、系统、装置及计算机可读存储介质 | |
CN106547784B (zh) | 一种数据拆分存储方法及装置 | |
CN110162526B (zh) | 一种块链式账本中数据记录的查询方法、装置及设备 | |
CN104731816A (zh) | 一种处理异常业务数据的方法和装置 | |
WO2016145993A1 (zh) | 一种用户设备识别方法及系统 | |
CN108809704B (zh) | 基于动态时间窗的数据去重统计方法及装置 | |
CN110032568B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN112487083A (zh) | 一种数据校验方法和设备 | |
US7908243B2 (en) | Considering transient data also in reports generated based on data eventually stored in a data-warehouse | |
CN108415990B (zh) | 数据质量监控方法、装置、计算机设备和存储介质 | |
CN112328592A (zh) | 数据存储方法、电子设备及计算机可读存储介质 | |
CN105468623A (zh) | 数据处理方法及装置 | |
CN108073595B (zh) | 一种在olap数据库实现数据更新和快照的方法及装置 | |
CN110362540B (zh) | 一种数据存储、访客数获取方法及装置 | |
CN109284833B (zh) | 为机器学习模型获取特征数据的方法、设备和存储介质 | |
CN111881091B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN112579633A (zh) | 一种数据检索方法、装置、设备及存储介质 | |
CN106874327B (zh) | 一种针对业务数据的计数方法及装置 | |
CN111131393B (zh) | 用户活跃度数据统计方法、电子装置及存储介质 | |
CN112632266B (zh) | 数据写入方法、装置、计算机设备及可读存储介质 | |
US10558647B1 (en) | High performance data aggregations | |
CN112402955B (zh) | 游戏日志记录方法及系统 | |
US8423532B1 (en) | Managing data indexed by a search engine | |
CN114238419B (zh) | 基于多租户SaaS应用系统的数据缓存方法及装置 | |
CN114817275B (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 |