1.本技术实施例涉及数据库数据处理技术领域,特别涉及一种数据传送方法、装置及计算机存储介质。
背景技术:
2.常驻人口作为公安系统中的基础数据,需要经常与其他数据库进行对接同步,以供执行各类应用场景的分析处理作业。
3.现有技术中的数据库同步对接作业主要存在以下问题:其一,目前用于存储基础数据的数据库标准不统一,主要包括有oracle、mysql、postgresql等,同时,基础数据中通常包含有数据容量较大的图片数据,由于携带图片的数据查询量一旦达到上万级别,将会导致查询速度缓慢以及内存消耗巨大的问题,因此,常规的数据导出只能针对数据库相同的情况下才能实现;其二,在一些应用场景中,数据库数据的抽取作业存在有时间限制,若无法在规定的时限内完成数据抽取,则将导致数据抽取作业的失败。
4.有鉴于此,如何能够快速、准确、高效地完成数据库数据的抽取作业,即为本技术待解决的技术课题。
技术实现要素:
5.鉴于上述问题,本技术提供一种数据传送方法、装置及计算机存储介质,可根据不同的数据类型选择以断点续传或非断点续传方式完成数据库数据的抽取,以提高数据传送效率及成功率。
6.本技术第一方面提供一种数据传送方法,其包括:将从源数据表所获取的各主键信息,同步至第一目标数据表和索引表;根据所述第一目标数据表中的各所述主键信息,以非断点续传方式将所述源数据表中对应于各所述主键信息的各第一类型数据传送至所述第一目标数据表;根据所述索引表中的各所述主键信息,以断点续传方式将所述源数据表中对应于各所述主键信息的各第二类型数据传送至第二目标数据表。
7.本技术第二方面提供一种计算机存储介质,所述计算机存储介质中存储有用于执行上述第一方面所述的方法中各步骤的各指令。
8.本技术第三方面提供一种数据传送装置,其包括:主键获取模块,用于将从源数据表所获取的各主键信息,同步至第一目标数据表和索引表中;数据传送模块,用于根据所述第一目标数据表中的各所述主键信息,以非断点续传方式将所述源数据表中对应于各所述主键信息的各第一类型数据传送至所述第一目标数据表,并根据所述索引表中的各所述主键信息,以断点续传方式将所述源数据表中对应于各所述主键信息的各第二类型数据传送至第二目标数据表。
9.综上所述,本技术实施例的数据传送方法、装置及计算机存储介质,通过以非断点续传方式传送数据库中的非图片类型数据,并以断点续传方式传送数据库中的图片类型数据,可以有效提高数据库数据的传送效率及传送成功率。
附图说明
10.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
11.图1为本技术第一实施例的数据传送方法的流程示意图。
12.图2为本技术第二实施例的数据传送方法的流程示意图。
13.图3为对应于本技术各实施例的数据传送方法的数据传送路径示意图。
14.图4为本技术第四实施例的数据传送装置的架构示意图。元件标号400:数据传送装置;402:主键获取模块;404:数据传送模块;50:源数据表;51:第一目标数据表;52:索引表;53:第二目标数据表。
具体实施方式
15.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
16.以下将结合各附图详细描述本技术的各具体实施例。
17.第一实施例
18.图1为本技术第一实施例的数据传送方法的流程示意图。图3为对应于本实施例的数据传送方法的数据传送路径示意图。以下将结合图3详细描述本实施例的数据传送方法。
19.如图所示,本实施例的数据传送方法主要包括以下步骤:
20.步骤s102,将从源数据表所获取的各主键信息,同步至第一目标数据表和索引表,并继续执行步骤s104和步骤s106。
21.可选地,源数据表可来自于oracle数据库、mysql数据库、postgresql数据库中的一个。
22.于本实施例中,源数据表可用于存储人口基本信息,源数据表的主键信息可例如为源数据表中的索引字段、姓名字段、身份识别信息字段(例如身份证)中的任一个。
23.于本实施例中,由于主键信息所包含的数据量通常较小,故可采用非断点续传方式完成主键信息的同步作业。
24.于本实施例中,还可针对索引表中同步的各主键信息,生成对应于各主键信息的各序列值。
25.具体地,可通过自增序列方式针对同步至索引表中的各主键信息分别生成对应的各序列值,亦即,索引表中的各主键信息与各序列值为一一对应关系。
26.于本实施例中,可将序列值作为索引表的主键字段。
27.步骤s104,根据第一目标数据表中的各主键信息,以非断点续传方式将源数据表中对应于各主键信息的各第一类型数据传送至第一目标数据表。
28.于本实施例中,源数据表中的第一类型数据可包括各种非图片类型数据,例如,姓
名、年龄、性别等文本数据。
29.于本实施例中,由于第一类型数据(非图片类型数据)的数据量较小,故可采用非断点续传方式执行第一类型数据的传送作业。
30.步骤s106,根据索引表中的各主键信息,以断点续传方式将源数据表中对应于各主键信息的各第二类型数据传送至第二目标数据表。
31.于本实施例,步骤s102和步骤s104在执行顺序上不分先后,视依实际数据传送需求而定,本技术对此不作限制。
32.于本实施例中,源数据表中的第二类型数据可包括各种图片类型数据,例如,证件照等。
33.于本实施例中,由于第二类型数据(即图片类型数据)的数据量较大,故可采用断点续传方式执行第二类型数据的传送作业,从而在大容量数据的传送过程中,当出现传送中断的情况下,可以断点续传方式继续执行数据传送作业,而无需从头开始传送,从而提高大容量数据的传送效率及成功率。
34.于本实施例中,可基于blob、ftp、http、s3等方式获取源数据表中的第二类型数据(即图片类型数据)。
35.可选地,可按实际使用需求,从源数据表的各字段中指定至少一个待抽取字段,据以仅将源数据表中的待抽取字段的字段值传送至第一目标数据表和/或第二目标数据表中,从而提高数据传送的灵活性。
36.于本实施例中,可利用多线程引擎并行处理各第二类型数据的传输作业(参考图3)。
37.于一实施例中,还可将从源数据表中获取的第二类型数据直接传送至目标分析引擎(例如,如图3所示的借由多线程引擎直接将从源数据表中获取的第二类型数据直接传送至目标分析引擎),并将第一目标数据表中存储的第一类型数据传送至目标分析引擎,以供目标分析引擎基于第一类型数据和第二类型数据执行相关的分析作业。
38.综上所述,本技术实施例提供的数据传送方法,通过针对非图片类型的小容量数据采用非断点续传方式进行传送,并针对图片类型的大容量数据采用断点续传方式执行传送,可以有效提高数据传送效率以及传送成功率。
39.第二实施例
40.图2示出了本技术第二实施例的数据传送方法的流程示意图。本实施例为上述步骤s106的具体实施方案,如图所示,本实施例主要包括以下步骤:
41.步骤s202,根据索引表中的各主键信息,从源数据表中获取各主键信息对应的各数据属性信息。
42.于本实施例中,数据属性信息可包括第二类型数据的传输协议,其包括但不限于blob、ftp、http、s3等。
43.可选地,可采用单线程处理方式获取各数据属性信息,以确保数据属性信息的统一性。
44.步骤s204,根据各数据属性信息,以断点续传方式将源数据表中的各第二类型数据传送至第二目标数据表。
45.可选地,可采用多线程处理方式将源数据表中的各第二类型数据传送至第二目标
数据表。
46.具体地,可基于索引表中的各序列值生成多个批次传送任务,例如,针对每1000个序列值生成一个批次传送任务,但并不以此为限,可根据实际需求进行任意调整。
47.可选地,可采用多线程引擎并行(即异步)执行各批次传送任务,借以提高数据传输效率(参考图3)。
48.步骤s206,根据各第二类型数据对应的各传送状态,在第二目标数据表中生成各第二类型数据对应的各状态信息。
49.于本实施例中,第二类型数据的状态信息可包括传送未完成状态、传送成功状态、传送失败状态中的一个。
50.步骤s208,根据第二目标数据表与索引表中的各序列值,将第二目标数据表中的各状态信息与索引表中的各主键信息对应关联。
51.于本实施例中,可将第二目标数据表中的各状态信息同步至索引表中(参考图3),并根据第二目标数据表与索引表中的各序列值,将各状态信息与索引表中的各主键信息对应关联。
52.可选地,可在当第二目标数据表中未同步的状态信息的数量达到预设同步阈值(例如2000条)时,将第二目标数据表中的各状态信息同步至索引表中。
53.步骤s210,根据索引表中各主键信息对应的各状态信息,针对状态信息为传送未完成状态或传送失败状态的各主键信息对应的各第二类型数据执行断点续传。
54.具体地,请参考图3,可将索引表中传送未完成或者传送失败的各主键信息传送至多线程引擎,以供多线程引擎继续执行各主键信息对应的各第二类型数据的续传处理作业,而无需从头开始执行,借以提高数据传输效率。
55.综上所述,本实施例的数据传送方法,通过在第二目标数据表中记录各第二类型数据对应的各状态信息,并将状态信息同步至索引表中,以供多线程引擎可针对未传送完成或传送失败的各第二类型数据执行断点续传处理,借以提高第二类型数据的传送效率以及传送成功率。
56.第三实施例
57.本技术第三实施例提供一种计算机存储介质,所述计算机存储介质中存储有用于执行上述第一实施例或第二实施例所述的监控方法中各步骤的各指令。
58.第四实施例
59.图4示出了本技术第四实施例的数据传送装置的架构示意图。如图所示,本实施例的数据传送装置400主要包括:主键获取模块402、数据传送模块402。
60.主键获取模块502用于将从源数据表50所获取的各主键信息,同步至第一目标数据表51和索引表52中。
61.可选地,所述源数据表50来自于oracle数据库、mysql数据库、postgresql数据库中的一个。
62.可选地,主键获取模块502还用于针对所述索引表52中的各所述主键信息,生成对应于各所述主键信息的各序列值。
63.数据传送模块504用于根据所述第一目标数据表51中的各所述主键信息,以非断点续传方式将所述源数据表50中对应于各所述主键信息的各第一类型数据传送至所述第
一目标数据表51,并根据所述索引表52中的各所述主键信息,以断点续传方式将所述源数据表50中对应于各所述主键信息的各第二类型数据传送至第二目标数据表53。
64.可选地,所述第一类型数据包括非图片类型数据,所述第二类型数据包括图片类型数据。
65.可选地,数据传送模块504还用于根据所述索引表52中的各所述主键信息,从所述源数据表50中获取各所述主键信息对应的各数据属性信息;根据各所述数据属性信息,以断点续传方式将所述源数据表50中的各所述第二类型数据传送至所述第二目标数据表53。
66.可选地,所述数据属性信息包括所述第二类型数据的传输协议。
67.可选地,数据传送模块504还用于采用单线程处理方式获取各所述数据属性信息,并采用多线程处理方式将所述源数据表50中的各所述第二类型数据传送至所述第二目标数据表53。
68.可选地,数据传送模块504基于所述索引表52中的各所述序列值生成多个批次传送任务;采用多线程引擎并行执行各所述批次传送任务,以从所述源数据表50中获取各所述第二类型数据;将各所述第二类型数据、各所述第二类型数据对应的各所述序列值存储至所述第二目标数据表53。
69.可选地,数据传送模块504还根据各所述第二类型数据对应的各传送状态,于所述第二目标数据表53中生成各所述第二类型数据对应的各状态信息。
70.可选地,数据传送模块504还根据所述第二目标数据表53与所述索引表52中的各所述序列值,将所述第二目标数据表53中的各所述状态信息与所述索引表52中的各所述主键信息对应关联;其中,所述状态信息包括:传送未完成状态、传送成功状态、传送失败状态中的一个。
71.可选地,数据传送模块504还根据所述索引表52中的各所述状态信息,获取所述状态信息为所述传送未完成状态或所述传送失败状态的各所述序列值,以针对各所述序列值对应的各所述第二类型数据执行断点续传。
72.当索引表52中的主键信息达到1000条时,生成一个批次传送任务
73.可选地,数据传送模块504还将从所述源数据表50中获取的所述第二类型数据传送至目标分析引擎,并将所述第一目标数据表51中存储的所述第一类型数据传送至所述目标分析引擎,以供所述目标分析引擎基于所述第一类型数据和所述第二类型数据执行分析。
74.综上所述,本技术各实施例提供的数据传送方法、装置及计算机存储介质,首先抽取源数据表中的主键信息并同步至第一目标数据表和索引表中,再根据第一目标数据表中的主键信息以非断点续传方式将源数据表中的非图片类型数据传送至第一目标数据表中,且根据索引表中的主键信息以断点续传方式将源数据表中的图片类型数据传送至第二目标数据表中,借以,本技术可根据不同的数据类型而采用不同的数据传送方式,可快速、准确、高效地完成数据库数据的抽取作业。
75.最后应说明的是:以上实施例仅用以说明本技术实施例的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的
精神和范围。
技术特征:
1.一种数据传送方法,其特征在于,包括:将从源数据表所获取的各主键信息,同步至第一目标数据表和索引表;根据所述第一目标数据表中的各所述主键信息,以非断点续传方式将所述源数据表中对应于各所述主键信息的各第一类型数据传送至所述第一目标数据表;根据所述索引表中的各所述主键信息,以断点续传方式将所述源数据表中对应于各所述主键信息的各第二类型数据传送至第二目标数据表。2.根据权利要求1所述的数据传送方法,其特征在于,所述源数据表来自于oracle数据库、mysql数据库、postgresql数据库中的一个。3.根据权利要求1所述的数据传送方法,其特征在于,所述第一类型数据包括非图片类型数据,所述第二类型数据包括图片类型数据。4.根据权利要求1所述的数据传送方法,其特征在于,所述根据所述索引表中的各所述主键信息,以断点续传方式将所述源数据表中对应于各所述主键信息的各第二类型数据传送至第二目标数据表包括:根据所述索引表中的各所述主键信息,从所述源数据表中获取各所述主键信息对应的各数据属性信息;根据各所述数据属性信息,以断点续传方式将所述源数据表中的各所述第二类型数据传送至所述第二目标数据表。5.根据权利要求4所述的数据传送方法,其特征在于,所述数据属性信息包括所述第二类型数据的传输协议。6.根据权利要求4所述的数据传送方法,其特征在于,所述方法还包括:采用单线程处理方式获取各所述数据属性信息,并采用多线程处理方式将所述源数据表中的各所述第二类型数据传送至所述第二目标数据表。7.根据权利要求6所述的数据传送方法,其特征在于,所述方法还包括:针对所述索引表中的各所述主键信息,生成对应于各所述主键信息的各序列值。8.根据权利要求7所述的数据传送方法,其特征在于,所述方法还包括:基于所述索引表中的各所述序列值生成多个批次传送任务;采用多线程引擎并行执行各所述批次传送任务,以从所述源数据表中获取各所述第二类型数据;将各所述第二类型数据、各所述第二类型数据对应的各所述序列值存储至所述第二目标数据表。9.根据权利要求8所述的数据传送方法,其特征在于,所述方法还包括:根据各所述第二类型数据对应的各传送状态,于所述第二目标数据表中生成各所述第二类型数据对应的各状态信息。10.根据权利要求9所述的数据传送方法,其特征在于,所述方法还包括:根据所述第二目标数据表与所述索引表中的各所述序列值,将所述第二目标数据表中的各所述状态信息与所述索引表中的各所述主键信息对应关联;其中,所述状态信息包括:传送未完成状态、传送成功状态、传送失败状态中的一个。11.根据权利要求10所述的数据传送方法,其特征在于,所述方法还包括:根据所述索引表中的各所述状态信息,获取所述状态信息为所述传送未完成状态或所
述传送失败状态的各所述序列值,以针对各所述序列值对应的各所述第二类型数据执行断点续传。12.根据权利要求1所述的数据传送方法,其特征在于,所述方法还包括:将从所述源数据表中获取的所述第二类型数据传送至目标分析引擎,并将所述第一目标数据表中存储的所述第一类型数据传送至所述目标分析引擎,以供所述目标分析引擎基于所述第一类型数据和所述第二类型数据执行分析。13.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有用于执行上述权利要求1至12中任一项所述的方法中各步骤的各指令。14.一种数据传送装置,其特征在于,包括:主键获取模块,用于将从源数据表所获取的各主键信息,同步至第一目标数据表和索引表中;数据传送模块,用于根据所述第一目标数据表中的各所述主键信息,以非断点续传方式将所述源数据表中对应于各所述主键信息的各第一类型数据传送至所述第一目标数据表,并根据所述索引表中的各所述主键信息,以断点续传方式将所述源数据表中对应于各所述主键信息的各第二类型数据传送至第二目标数据表。
技术总结
本申请提供一种数据传送方法、装置及计算机存储介质,主要包括:将从源数据表所获取的各主键信息,同步至第一目标数据表和索引表中;根据第一目标数据表中的各主键信息,以非断点续传方式将源数据表中对应于各主键信息的各第一类型数据传送至第一目标数据表;根据索引表中的各主键信息,以断点续传方式将源数据表中对应于各主键信息的各第二类型数据传送至第二目标数据表。借此,本申请可针对数据类型的不同,采取非断点续传或断点续传方式执行数据传送,以提高数据传送效率。以提高数据传送效率。以提高数据传送效率。
技术研发人员:何志毅 李岩
受保护的技术使用者:四川云从天府人工智能科技有限公司
技术研发日:2021.11.11
技术公布日:2022/3/8