一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种增量更新数据入库方法、装置、电子设备及存储介质与流程

2021-11-29 13:17:00 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种增量更新数据入库方法、装置、电子设备及存储介质。


背景技术:

2.目前,针对无写入完成标识的单个数据文件增量追加数据,通常要求上游尽量在约定时间之前写入完成,下游读取者通过延迟一定时间以尽量读取到数据的最终版本。
3.然而,上述方法无法保证读取的数据文件是最终版本,在上游写入程序未在约定时间之前写入完成的情况下,下游读取者读取到的就不是最终版本。此外,在下游读取者对数据时效性要求较高时,下游读取者不得不采用间隔一定时间,定时读取数据文件,解析数据,写入数据的方式尽量早的拿到数据,但是在多次读取解析同一文件写入数据库时,每次写入需要删除上一次解析该文件写入数据库的记录,导致资源浪费。而如果一次性所有数据,则会导致数据时效性差的问题。


技术实现要素:

4.本发明提供了一种增量更新数据入库方法、装置、电子设备及存储介质,用于解决现有的增量更新数据入库方法时效性差、资源占用率高的技术问题。
5.本发明提供了一种增量更新数据入库方法,包括:
6.按照预设时间间隔读取预设数据文件的属性信息;
7.根据所述属性信息生成记录码;
8.在预设已处理文件记录中匹配所述记录码;
9.若匹配失败,则解析所述数据文件,得到解析数据;
10.将所述解析数据写入预设数据库的缓存数据表中。
11.可选地,还包括:
12.若在所述已处理文件记录中未匹配到所述记录码,则将所述记录码添加进所述已处理文件记录中。
13.可选地,所述属性信息包括文件名和文件最后更新时间;所述根据所述属性信息生成记录码的步骤,包括:
14.将所述文件最后更新时间转换为时间戳;
15.将所述文件名和所述时间戳进行拼接,生成记录码。
16.可选地,所述在预设已处理文件记录中匹配所述记录码的步骤,包括:
17.在所述预处理文件中查找所述记录码中的所述文件名;
18.当查找不到所述文件名时,匹配失败;
19.当查找到所述文件名时,从所述预处理文件中获取所述文件名对应的历史时间戳;
20.当所述时间戳大于所述历史时间戳时,匹配失败。
21.可选地,所述将所述解析数据写入预设数据库的缓存数据表中的步骤之后,还包括:
22.定时读取所述缓存数据表中的缓存数据,并将所述缓存数据写入预设历史数据表中。
23.本发明提供了一种增量更新数据入库装置,包括:
24.属性信息读取模块,用于按照预设时间间隔读取预设数据文件的属性信息;
25.记录码生成模块,用于根据所述属性信息生成记录码;
26.匹配模块,用于在预设已处理文件记录中匹配所述记录码;
27.解析模块,用于若匹配失败,则解析所述数据文件,得到解析数据;
28.写入模块,用于将所述解析数据写入预设数据库的缓存数据表中。
29.可选地,还包括:
30.添加模块,用于若在所述已处理文件记录中未匹配到所述记录码,则将所述记录码添加进所述已处理文件记录中。
31.可选地,所述属性信息包括文件名和文件最后更新时间;所述记录码生成模块,包括:
32.时间戳转换子模块,用于将所述文件最后更新时间转换为时间戳;
33.记录码生成子模块,用于将所述文件名和所述时间戳进行拼接,生成记录码。
34.本发明提供了一种电子设备,所述设备包括处理器以及存储器:
35.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
36.所述处理器用于根据所述程序代码中的指令执行如上任一项所述的增量更新数据入库方法。
37.本发明提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的增量更新数据入库方法。
38.从以上技术方案可以看出,本发明具有以下优点:本发明提供了一种增量更新数据入库方法,并具体公开了:通过读取预设数据文件的属性信息;根据属性信息生成记录码;在预设已处理文件记录中匹配记录码;若匹配失败,则解析数据文件,得到解析数据;将解析数据写入预设数据库的缓存数据表中。本发明按照一定时间间隔读取属性信息,并根据属性信息生成记录码,从而可以按照一定时间间隔持续比对记录码,以根据比对结果进行数据更新入库,从而提高了数据入库的时效性;此外,由于只在满足解析条件的情况下进行解析操作,因此减少了重复数据的删除操作,减少了资源占用。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
40.图1为本发明实施例提供的一种增量更新数据入库方法的步骤流程图;
41.图2为本发明另一实施例提供的一种增量更新数据入库方法的步骤流程图;
42.图3为本发明实施例提供的一种增量更新数据入库装置的结构框图。
具体实施方式
43.本发明实施例提供了一种增量更新数据入库方法、装置、电子设备及存储介质,用于解决现有的增量更新数据入库方法时效性差、资源占用率高的技术问题。
44.为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
45.请参阅图1,图1为本发明实施例提供的一种增量更新数据入库方法的步骤流程图。
46.本发明提供的一种增量更新数据入库方法,具体可以包括以下步骤:
47.步骤101,按照预设时间间隔读取预设数据文件的属性信息;
48.增量更新,是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对。这种更新的概念应用范围比较广泛,凡是需要进行数据更新的地方都会用到,如软件更新、数据库更新、杀毒软件的病毒库更新、cms更新和路由表更新等。
49.在本发明实施例中,对于需要进行增量更新入库的数据文件,可以按照一定的时间间隔读取对应的属性信息。其中所涉及的时间间隔可以根据下游实际的读取需求进行设定,本发明实施例对此不作具体限定。
50.步骤102,根据属性信息生成记录码;
51.在本发明实施例中,在获取到数据文件的属性信息后,可以基于属性信息生成记录码,以根据记录码判断数据文件是否产生了增量更新。
52.步骤103,在预设已处理文件记录中匹配记录码;
53.在本发明实施例中,在获取到记录码后,可以在预设的已处理文件记录中匹配记录码,以通过已处理文件记录判断数据文件是否在时间间隔周期内发生了增量更新行为。
54.在本发明实施例中,已处理文件记录的存在形式可以是文件、关系型数据库中的数据表等。在本发明一个示例中,可以采用文本文件的形式作为已处理文件记录的存在形式。
55.步骤104,若匹配失败,则解析数据文件,得到解析数据;
56.若在已处理文件记录中匹配不到数据文件的记录码时,表征数据文件发生了增量更新,此时可以解析数据文件,得到解析数据;其中,解析数据中包含了增量更新行为所产生的更新数据。
57.步骤105,将解析数据写入预设数据库的缓存数据表中。
58.在获取到数据文件的解析数据后,可以将其写入预设数据库的缓存数据表中,以完成增量更新数据的入库。
59.需要说明的是,本发明的缓存数据表可以通过主键或联合主键约束的方式,来保证数据记录的唯一性。
60.本发明提供了一种增量更新数据入库方法,并具体公开了:通过读取预设数据文件的属性信息;根据属性信息生成记录码;在预设已处理文件记录中匹配记录码;若匹配失
败,则解析数据文件,得到解析数据;将解析数据写入预设数据库的缓存数据表中。本发明按照一定时间间隔读取属性信息,并根据属性信息生成记录码,从而可以按照一定时间间隔持续比对记录码,以根据比对结果进行数据更新入库,从而提高了数据入库的时效性;此外,由于只在满足解析条件的情况下进行解析操作,因此减少了重复数据的删除操作,减少了资源占用。
61.请参阅图2,图2为本发明另一实施例提供的一种增量更新数据入库方法的步骤流程图。具体可以包括以下步骤:
62.步骤201,按照预设时间间隔读取预设数据文件的属性信息;
63.在本发明实施例中,对于需要进行增量更新入库的数据文件,可以按照一定的时间间隔读取对应的属性信息。其中所涉及的时间间隔可以根据下游实际的读取需求进行设定,本发明实施例对此不作具体限定。
64.步骤202,根据属性信息生成记录码;
65.在本发明实施例中,属性信息可以包括文件名和文件最后更新时间;文件名是文件的唯一标识信息,文件最后更新时间是数据文件在当前时间点之前,最后一次增量更新的时间。
66.在本发明实施例中,根据属性信息生成记录码的步骤,可以包括:
67.将文件最后更新时间转换为时间戳;
68.将文件名和时间戳进行拼接,生成记录码。
69.在一个示例中,假设数据文件的文件名为file_name、文件最后更新时间为date为2021

03

19 06:21:08。将文件最后更新时间date转换为毫秒级时间戳,则可以得到时间戳为1616106068531。再将时间戳与文件名拼接,则可以得到记录码如下:
70.string file_date_flag=filename
“‑”
date_flag;
71.将生成的记录码保存在预设文件中。
72.步骤203,在预设已处理文件记录中匹配记录码;
73.在本发明实施例中,在获取到记录码后,可以在预设的已处理文件记录中匹配记录码,以通过已处理文件记录判断数据文件是否在时间间隔周期内发生了增量更新行为。
74.在一个示例中,在预设已处理文件记录中匹配记录码的步骤,可以包括:
75.s11,在预处理文件中查找记录码中的文件名;
76.s12,当查找不到文件名时,匹配失败;
77.s13,当查找到文件名时,从预处理文件中获取文件名对应的历史时间戳;
78.s14,当时间戳大于历史时间戳时,匹配失败。
79.在实际应用中,可以读取已处理文件记录中的所有记录码,将数据文件的记录码与已处理文件记录中的所有记录码一一比较;如果数据文件的记录码中的文件名部分在已处理文件记录中不存在,则匹配失败,对其进行后续处理;如果数据文件的记录码中的文件名部分存在于已处理文件记录中,则对比数据文件的记录码与已处理文件中相同文件名的记录码两者之间的时间戳的大小,如果数据文件的记录码的时间戳更大,表征数据文件在一个时间间隔之后产生了增量更新,此时匹配失败,需要进行后续处理。
80.进一步地,在本发明实施例还可以包括:若在已处理文件记录中未匹配到记录码,则将记录码添加进已处理文件记录中。
81.在实际应用中,当已处理文件记录中未匹配到数据文件的记录码,则可以将该记录码保存在已处理记录文件中。需要说明的是,若已处理文件记录中存在文件名相同、时间戳不同的记录码,则在将数据文件的记录码添加进已处理文件记录中的时候,删除文件名相同的其他记录码。
82.步骤204,若匹配失败,则解析数据文件,得到解析数据;
83.若在已处理文件记录中匹配不到数据文件的记录码时,表征数据文件发生了增量更新,此时可以解析数据文件,得到解析数据;其中,解析数据中包含了增量更新行为所产生的更新数据。
84.步骤205,将解析数据写入预设数据库的缓存数据表中;
85.需要说明的是,本发明的缓存数据表可以通过主键或联合主键约束的方式,来保证数据记录的唯一性。
86.步骤206,定时读取缓存数据表中的缓存数据,并将缓存数据写入预设历史数据表中。
87.在本发明实施例中,可以定时读取缓存数据表中的缓存数据,并将其写入预设历史数据表中。例如,在每天的凌晨1点将前一天的缓存数据写入历史数据表中,并清除缓存数据表中7天前的数据。
88.本发明提供了一种增量更新数据入库方法,并具体公开了:通过读取预设数据文件的属性信息;根据属性信息生成记录码;在预设已处理文件记录中匹配记录码;若匹配失败,则解析数据文件,得到解析数据;将解析数据写入预设数据库的缓存数据表中。本发明按照一定时间间隔读取属性信息,并根据属性信息生成记录码,从而可以按照一定时间间隔持续比对记录码,以根据比对结果进行数据更新入库,从而提高了数据入库的时效性;此外,由于只在满足解析条件的情况下进行解析操作,因此减少了重复数据的删除操作,减少了资源占用。
89.请参阅图3,图3为本发明实施例提供的一种增量更新数据入库装置的结构框图。
90.本发明实施例提供了一种增量更新数据入库装置,包括:
91.属性信息读取模块301,用于按照预设时间间隔读取预设数据文件的属性信息;
92.记录码生成模块302,用于根据属性信息生成记录码;
93.匹配模块303,用于在预设已处理文件记录中匹配记录码;
94.解析模块304,用于若匹配失败,则解析数据文件,得到解析数据;
95.写入模块305,用于将解析数据写入预设数据库的缓存数据表中。
96.在本发明实施例中,还包括:
97.添加模块,用于若在已处理文件记录中未匹配到记录码,则将记录码添加进已处理文件记录中。
98.在本发明实施例中,属性信息包括文件名和文件最后更新时间;记录码生成模块302,包括:
99.时间戳转换子模块,用于将文件最后更新时间转换为时间戳;
100.记录码生成子模块,用于将文件名和时间戳进行拼接,生成记录码。
101.在本发明实施例中,匹配模块303,包括:
102.文件名查找子模块,用于在预处理文件中查找记录码中的文件名;
103.第一匹配判定子模块,用于当查找不到文件名时,匹配失败;
104.历史时间戳获取子模块,用于当查找到文件名时,从预处理文件中获取文件名对应的历史时间戳;
105.第二匹配判定子模块,用于当时间戳大于历史时间戳时,匹配失败。
106.在本发明实施例中,还包括:
107.历史数据表写入模块,用于定时读取缓存数据表中的缓存数据,并将缓存数据写入预设历史数据表中。
108.本发明实施例还提供了一种电子设备,设备包括处理器以及存储器:
109.存储器用于存储程序代码,并将程序代码传输给处理器;
110.处理器用于根据程序代码中的指令执行本发明实施例的增量更新数据入库方法。
111.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行本发明实施例的增量更新数据入库方法。
112.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
113.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
114.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
115.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
116.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
117.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
118.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
119.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
120.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献