数据传输方法和系统与流程

文档序号:29622685发布日期:2022-04-13 13:41阅读:166来源:国知局
数据传输方法和系统与流程

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.在其中一个实施例中,所述数据处理服务器集群,还用于通过第三方接口,读取第三方系统中的原始文件;
41.所述数据处理服务器集群,还用于将具有不同文件格式的多个原始文件分别转换成预设标准格式的目标文件;
42.所述数据处理服务器集群,还用于对多个所述目标文件进行压缩得到多个压缩文件。
43.上述数据传输方法和系统,数据处理服务器集群从第三方系统中获取原始文件,并对原始文件进行处理压缩得到多个压缩文件,这样,将原始文件进行处理并压缩,能够减小数据占用的内存,加快数据的传输速率,同时将多个压缩文件传输至分布式文件系统进行备份,方便后续数据传输的使用。数据库服务器获取多个压缩文件对应的压缩文件信息表,以及数据接收服务器集群的集群信息表,这样数据库服务器就可以根据压缩文件信息表,将与各个压缩文件对应的导入任务分配至数据接收服务器集群中的各目标数据接收服务器中,使得每个压缩文件都分配有专门的目标数据接收服务器对其进行有序导入,避免造成数据导入的拥堵。数据库服务器基于每个目标数据接收服务器所分配的导入任务更新压缩文件信息表,数据接收服务器集群中的目标数据接收服务器根据更新后的压缩文件信息表获取各自所对应的待处理的压缩文件信息,并根据待处理的压缩文件信息从分布式文件系统或所述数据处理服务器集群中获取压缩文件,并对获取的压缩文件进行解压后传输至所述数据库服务器中。这样,将原始文件的处理操作和导入操作进行解耦,数据处理服务器集群完成原始文件的处理操作,数据接收服务器集群完成相应压缩文件的导入操作,能够避免单个服务器节点出现故障而导致整个数据传输系统的工作停止,并且,将数据的处理和导入工作进行解耦,也可以增加数据传输的数据量,提高数据传输的效率。
附图说明
44.图1为一个实施例中数据传输方法的应用环境图;
45.图2为一个实施例中数据传输方法的流程示意图;
46.图3(a)为一个实施例中数据传输系统的工作流程示意图;
47.图3(b)为一个实施例中数据处理服务器集群工作流程示意图;
48.图3(c)为一个实施例中数据库服务器工作流程示意图;
49.图3(d)为一个实施例中数据接收服务器集群工作流程示意图;
50.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
52.图1为一个实施例中数据传输方法的应用环境图,参照图1,该数据传输方法应用于数据传输系统中。该数据传输系统100包括数据处理服务器集群110、数据库服务器120、数据接收服务器集群130和分布式文件系统140,其中,数据处理服务器集群110中包括n个数据处理服务器,数据接收服务器集群130中包括m个数据接收服务器,n和m均为正整数,每个数据处理服务器和数据接收服务器均与数据库服务器120通过有线或无线的方式相连。数据处理服务器集群110从外部第三方系统中获取原始文件,并将原始文件进行压缩处理,同时将压缩文件传输至分布式文件系统140中进行备份。数据库服务器120从数据处理服务器集群110中获取压缩文件对应的压缩文件信息表,从数据接收服务器集群130中获取数据接收服务器的集群信息表,然后根据压缩文件信息表将各个压缩文件对应的导入任务分配至数据接收服务器集群130中的各个目标数据接收服务器。数据接收服务器集群130再根据所分配的导入任务从分布式文件系统140或数据处理服务器集群110中获取压缩文件,并对获取的压缩文件进行解压后传输至数据库服务器120中,从而实现数据传输。
53.在一个实施例中,如图2所示,提供了一种数据传输方法,以该方法应用与上述数据传输系统为例进行说明,该方法包括以下步骤:
54.步骤s202,数据处理服务器集群获取第三方系统的原始文件,并对原始文件进行处理压缩得到多个压缩文件,并将多个压缩文件传输至分布式文件系统。
55.其中,数据处理服务器集群中包含多个数据处理服务器,用于从系统外部获取需要导入系统的原始文件。分布式文件系统用于对数据处理服务器集群传输过来的文件进行存储备份,分布式文件系统可以是glusterfs(gluster file system)分布式文件系统,glusterfs分布式文件系统是一种开源的分布式文件系统。
56.具体地,数据处理服务器集群使用多线程并发处理,从第三方系统中获取需要导入数据传输系统的原始文件,对原始文件进行存储并处理,并将处理得到的文件进行压缩,得到多个压缩文件,然后使用多线程并发处理,将多个压缩文件传输至分布式文件系统中进行备份。
57.在其中一个实施例中,数据处理服务器集群获取第三方系统的原始文件,并对原始文件进行处理压缩得到多个压缩文件,包括:数据处理服务器集群通过第三方接口,读取第三方系统中的原始文件;将具有不同文件格式的多个原始文件分别转换成预设标准格式的目标文件;对多个目标文件进行压缩得到多个压缩文件。
58.其中,第三方接口可以是处理不同格式文件转换的第三方开源api(application programming interface,应用程序编程接口)接口。
59.具体地,数据处理服务器集群接收第三方系统的原始文件,原始文件的文件格式有多种,数据处理服务器集群通过不同的第三方接口读取相应格式的原始文件的内容,并将不同格式的原始文件中的内容写入对应的预设标准格式的目标文件中。数据处理服务器集群对目标文件进行压缩,从而得到多个压缩文件。
60.在其中一个实施例中,数据处理服务器集群采用java第三方定时任务框架quartz(一种开源调度框架)执行与自身相关的操作。包括数据处理服务器集群通过第三方接口,多线程并发地读取第三方系统中的原始文件,并将具有不同文件格式的多个原始文件分别
转换成预设标准格式的目标文件,比如将dbf、excel、csv和xml格式的原始文件转换成txt格式的文件,然后对多个txt文件进行压缩。
61.上述实施例中,将多种格式的原始文件转换为一种格式的目标文件,方便业务人员进行数据处理及分析,并且使用多线程并发处理能够加快数据传输的速率,但使用多线程并发处理,一些大数据量的文件不便于传输,而txt文件的压缩效率比较高,压缩后能大大增加后续处理效率。
62.在其中一个实施例中,将具有不同文件格式的多个原始文件分别转换成预设标准格式的目标文件,包括:通过公共接口读取每个原始文件的文件内容;将具有相同文件格式的原始文件的文件内容,写入同一个新的具有预设标准格式的文件中,得到对应的目标文件。
63.其中,公共接口是将读取不同格式原始文件的第三方api接口进行封装,形成的统一的接口。公共接口是将读取不同格式原始文件的第三方api接口进行封装,形成的统一的接口。
64.在其中一个实施例中,数据处理服务器集群可多线程并发地接收不同第三方系统的多个原始文件,原始文件的文件格式有多种,比如dbf、excel、csv和xml格式等。数据处理服务器集群通过不同的第三方api接口读取不同格式的原始文件的内容,然后通过公共接口的相应功能,将不同格式的原始文件中的内容写入对应的预设标准格式的目标文件中,比如:可以将多个dbf格式的原始文件写入一个格式为txt的目标文件中,将多个excel格式的原始文件写入另一个格式为txt的目标文件中。得到不同格式的原始文件对应的目标文件之后,数据处理服务器集群对多个目标文件进行压缩,得到多个压缩文件。
65.在上述实施例中,数据处理服务器集群通过第三方接口读取原始文件中的内容,并将相同格式原始文件的内容写入同一个预设标准格式的目标文件,避免了同时写入多个预设标准格式的目标文件而导致占用太多的线程,也减少了数据接收服务器集群执行导入任务时的导入次数,提高了数据导入的效率。
66.步骤s204,数据库服务器获取多个压缩文件对应的压缩文件信息表,以及数据接收服务器集群的集群信息表。
67.其中,压缩文件信息表中记载了压缩文件的相关信息,集群信息表中记载了数据接收服务器集群中的数据接收服务器的相关信息。
68.具体地,数据库服务器获取每个压缩文件对应的压缩文件信息表,并从数据接收服务器集群中获取数据接收服务器集群的集群信息表。
69.在其中一个实施例中,数据库服务器采用oracle数据库定时任务dbms_job完成与自身相关的操作。首先从数据处理服务器集群中获取每个压缩文件对应的压缩文件信息表,并收集数据接收服务器集群的集群信息表,集群信息表中记载有每一个正常的数据接收服务器和每一个异常的数据接收服务器。压缩文件信息表中记载的信息,可包括压缩文件的文件名、文件路径、文件大小、文件状态、文件服务器ip(即数据处理服务器集群中对应的数据处理服务器的ip)、应用服务器ip(即数据接收服务器集群中对应的数据接收服务器的ip)、导入时间和导入结束时间等。集群信息表中记载的信息,可包括服务器类型及数据接收服务器的ip。
70.步骤s206,数据库服务器根据压缩文件信息表,将与各个压缩文件对应的导入任
务分配至数据接收服务器集群中的各目标数据接收服务器,并基于每个目标数据接收服务器所分配的导入任务更新压缩文件信息表。
71.具体地,数据库服务器根据接收的压缩文件信息表中记载的各压缩文件的信息,以及数据接收服务器集群的集群信息表,根据压缩文件自身的特点,采用合适的负载均衡算法,比如轮询、随机算法、哈希取模等负载均衡算法,将各压缩文件对应的导入任务均匀地分配给合适的数据接收服务器集群中的各目标数据接收服务器,并根据各压缩文件与各目标数据接收服务器的对应关系,更新压缩文件信息表中的相关信息。
72.在其中一个实施例中,数据库服务器根据每个目标数据接收服务器所分配的压缩文件数的均衡算法,将各个压缩文件对应的导入任务分配给相应的目标数据接收服务器。数据库服务器通过查询当前每个数据接收服务器正在处理的压缩文件数,将压缩文件数最少的一个数据接收服务器作为目标数据接收服务器,并将待分配的压缩文件导入任务分配给目标数据接收服务器,然后将压缩文件信息表中相应压缩文件的文件状态信息调整为待导入状态。
73.在其中一个实施例中,数据库服务器根据每个目标数据接收服务器所分配的压缩文件大小的均衡算法,将各个压缩文件对应的导入任务分配给相应的目标数据接收服务器。数据库服务器通过查询当前每个数据接收服务器正在处理的压缩文件的大小总和,将正在处理的压缩文件大小总和最小的一个数据接收服务器作为目标数据接收服务器,并将待分配的压缩文件导入任务分配给目标数据接收服务器,然后将压缩文件信息表中相应压缩文件的文件状态信息调整为待导入状态。
74.在上述实施例中,根据压缩文件自身的特点选取合适的负载均衡算法,将待处理的压缩文件对应的导入任务分配给合适的目标数据接收服务器。使用压缩文件数均衡的算法可以均衡每个数据接收服务器正在处理的任务数,防止出现分配不均导致处理效率降低等问题,使用压缩文件大小均衡的算法可以均衡每个数据接收服务器的处理的文件大小,防止出现因为个别文件过大导致某个数据接收服务器内存溢出等风险。
75.步骤s208,数据接收服务器集群中的目标数据接收服务器获取更新后的压缩文件信息表,并根据更新后的压缩文件信息表获取各自所对应的待处理的压缩文件信息。
76.其中,数据接收服务器集群中包含多个数据接收服务器,用于将压缩文件对应的目标文件导入至数据库服务器。
77.具体地,数据接收服务器集群中的目标数据接收服务器获取数据库服务器更新后的压缩文件信息表,在更新后的压缩文件信息表可查询各自需要执行的导入任务,以及导入任务所对应的待处理的压缩文件信息。
78.在其中一个实施例中,数据接收服务器集群采用java第三方定时任务框架quartz完成与自身相关的操作。数据接收服务器集群中的目标数据接收服务器从数据库服务器中获取更新后的压缩文件信息表,在更新后的压缩文件信息表中查询各自需要执行的导入任务,比如目标数据接收服务器m1执行压缩文件a7的导入任务。
79.步骤s210,数据接收服务器集群中的目标数据接收服务器基于待处理的压缩文件信息,从分布式文件系统或数据处理服务器集群中获取压缩文件,并对获取的压缩文件进行解压后传输至数据库服务器中,以实现数据传输。
80.具体地,数据接收服务器集群中的目标数据接收服务器基于待处理的压缩文件信
息,从分布式文件系统或数据处理服务器集群中获取压缩文件,并对获取的压缩文件进行解压,得到原始文件对应的目标文件。目标数据接收服务器再根据获取原始文件的接口定义,生成对应的控制文件,并将目标文件和控制文件传输至数据库服务器中,以实现数据传输。
81.在其中一个实施例中,目标数据接收服务器m2根据待处理的压缩文件信息,从压缩文件信息表中获取执行待处理压缩文件压缩操作的数据处理服务器的ip为n2,然后目标数据接收服务器m2采用其他的传输协议,如ftp(file transfer protocol,文件传输协议)、sftp(secure file transfer protocol,安全文件传输协议)等从数据处理服务器n2中获取压缩文件,若数据处理服务器n2出现故障,无法运行,那么目标数据接收服务器m2可从分布式文件系统中获取备份的待处理压缩文件。然后对获取的待处理压缩文件进行解压,得到目标文件,比如txt格式的文件,目标数据接收服务器再根据该txt格式的文件对应的原始文件的接口定义,生成对应的控制文件,目标数据接收服务器执行sqlldr命令,将目标文件和控制文件传输至数据库服务器中,并更新压缩文件信息表中的相关信息,比如将文件状态修改为导入完成,并填写导入结束时间信息等。
82.上述数据传输方法中,数据处理服务器集群从第三方系统中获取原始文件,并对原始文件进行处理压缩得到多个压缩文件,这样,将原始文件进行处理并压缩,能够减小数据占用的内存,加快数据的传输速率,同时将多个压缩文件传输至分布式文件系统进行备份,方便后续数据传输的使用。数据库服务器获取多个压缩文件对应的压缩文件信息表,以及数据接收服务器集群的集群信息表,这样数据库服务器就可以根据压缩文件信息表,将与各个压缩文件对应的导入任务分配至数据接收服务器集群中的各目标数据接收服务器中,使得每个压缩文件都分配有专门的目标数据接收服务器对其进行有序导入,避免造成数据导入的拥堵。数据库服务器基于每个目标数据接收服务器所分配的导入任务更新压缩文件信息表,数据接收服务器集群中的目标数据接收服务器根据更新后的压缩文件信息表获取各自所对应的待处理的压缩文件信息,并根据待处理的压缩文件信息从分布式文件系统或所述数据处理服务器集群中获取压缩文件,并对获取的压缩文件进行解压后传输至所述数据库服务器中,以实现数据传输。这样,将原始文件的处理操作和导入操作进行解耦,数据处理服务器集群完成原始文件的处理操作,数据接收服务器集群完成相应压缩文件的导入操作,能够避免单个服务器节点出现故障而导致整个数据传输系统的工作停止,并且,将数据的处理和导入工作进行解耦,也可以增加数据传输的数据量,提高数据传输的效率。
83.在一个实施例中,方法还包括:当数据处理服务器集群中的部分数据处理服务器出现故障时,数据处理服务器集群中断出现故障的数据处理服务器中的压缩处理操作,并将出现故障的数据处理服务器停机下线;数据处理服务器集群确定其他正常的数据处理服务器,通过正常的数据处理服务器重新执行出现故障的数据处理服务器中中断的压缩处理操作。
84.在其中一个实施例中,当数据处理服务器集群中的某个数据处理服务器出现异常宕机时,出现故障的数据处理服务器上正在执行的相关操作,比如获取原始文件、将原始文件转换成预设标准格式的目标文件、对目标文件进行压缩或者将压缩文件传输至分布式文件系统的操作将被中断,数据处理服务器集群将出现故障的数据处理服务器停机下线,并确定其他正常的数据处理服务器,数据处理服务器集群将被中断的操作重新分配给正常的
数据处理服务器进行重新执行。
85.在上述实施例中,将出现故障的数据处理服务器进行停机下线,将中断的任务使用正常的数据处理服务器重新执行,可以对数据处理服务器集群中的数据处理服务器进行实时的更换及维修,同时也没有耽误数据的正常传输,保证了数据传输的效率。
86.在一个实施例中,方法还包括:当数据接收服务器集群中的部分数据接收服务器出现故障时,数据接收服务器集群中断出现故障的数据接收服务器中的导入任务,并将出现故障的数据接收服务器停机下线;数据接收服务器集群确定其他正常的数据接收服务器,通过正常的数据接收服务器重新执行出现故障的数据接收服务器中中断的导入任务。
87.在其中一个实施例中,当数据接收服务器集群中的某个数据接收服务器出现异常宕机时,出现故障的数据接收服务器上正在执行的相关操作,比如获取待处理的压缩文件、将待处理的压缩文件进行解压、生成控制文件等操作将被中断,数据接收服务器集群将出现故障的数据接收服务器停机,数据接收服务器集群启动注销组件,从数据库服务器中的集群信息表中删除当前数据接收服务器的ip,该故障数据接收服务器不再作为负载均衡策略的节点。数据接收服务器集群确定其他正常的数据接收服务器,数据接收服务器集群将被中断的操作重新分配给正常的数据接收服务器进行重新执行。
88.在上述实施例中,将出现故障的数据接收服务器进行停机下线,将中断的任务使用正常的数据接收服务器重新执行,可以对数据接收服务器集群中的数据接收服务器进行实时的更换及维修,同时也没有耽误数据的正常传输,保证了数据传输的效率。
89.在一个实施例中,方法还包括:数据接收服务器集群中的每个数据接收服务器进行启动,加载自身运行所需的组件;每个数据接收服务器均启动注册组件,在数据接收服务器集群的集群信息表中添加当前服务器的服务器地址。
90.其中,注册组件用于在数据接收服务器集群的集群信息表中添加当前服务器的服务器地址。
91.在其中一个实施例中,当数据接收服务器集群中的每个数据接收服务器进行启动时,首先加载自身运行所需的组件,其次每个数据接收服务器均启动注册组件,在数据接收服务器集群的集群信息表中添加当前服务器的服务器地址,比如,数据接收服务器m3启动后,数据接收服务器集群将数据接收服务器m3的服务器地址写入集群信息表中,数据库服务器就可以根据写入后的集群信息表给数据接收服务器m3分配相应的导入任务。
92.上述实施例中,将正常的数据接收服务器的服务器ip及时写入数据接收服务器集群的集群信息表中,可以方便数据库服务器为正常的数据接收服务器及时安排相应的数据导入任务,从而加快了数据传输的速率。
93.在一个实施例中,方法还包括:若数据处理服务器集群满足第一扩容条件,则在数据处理服务器集群中增加新的数据处理服务器,并将新的数据处理服务器与数据库服务器进行连接,以实现横向扩容;若数据处理服务器集群满足第一缩容条件,则将数据处理服务器集群中处于闲置状态的数据处理服务器进行下线,以实现横向缩容。
94.其中,第一扩容条件可以是有计划的进行扩容,也可以是数据处理服务器集群的业务处理量超过了设定的业务阈值,或者数据处理服务器集群的中的数据处理服务器的负载率超过了负荷阈值等。第一缩容条件可以是有计划的进行,也可以是数据处理服务器集群的业务处理量小于了设定的最低业务阈值,或者数据处理服务器集群的中的数据处理服
务器的闲置率超过了设定的闲置阈值等。
95.在其中一个实施例中,若当前数据处理服务器集群中的各个数据处理服务器均满负荷运行了,但第三方系统中仍有大量的原始文件等待传输,那么可以在数据处理服务器集群中增加新的数据处理服务器,并将新的数据处理服务器与数据库服务器进行连接,这样,增加的新的数据处理服务器可以执行待传输原始文件的传输工作,从而实现了横向扩容。若数据处理服务器集群的中的数据处理服务器的闲置率超过了设定的闲置阈值,那么,可以将数据处理服务器集群中处于闲置状态的数据处理服务器进行下线,剩余的数据处理服务器继续执行相应的工作,从而实现了横向缩容。
96.上述实施例中,在有需要时,可以对数据处理服务器集群进行横向扩容,从而避免了单个数据处理服务器传输压力过大而导致宕机的问题,也避免了大量数据进行传输时,因数据处理服务器数量不够而导致的传输效率低下的问题。同样,在不必要时,可以对数据处理服务器集群进行横向缩容,从而减少了数据处理服务器的资源浪费。
97.在一个实施例中,方法还包括:若数据接收服务器集群满足第二扩容条件,则在数据接收服务器集群中增加新的数据接收服务器,并将新的数据接收服务器与数据库服务器进行连接,以实现横向扩容;若数据接收服务器集群满足第二缩容条件,则将数据接收服务器集群中处于闲置状态的数据接收服务器进行下线,以实现横向缩容。
98.其中,第二扩容条件可以是有计划的进行扩容,也可以是数据接收服务器集群的业务处理量超过了设定的业务阈值,或者数据接收服务器集群的中的数据接收服务器的负载率超过了负荷阈值等。第二缩容条件可以是有计划的进行,也可以是数据接收服务器集群的业务处理量小于了设定的最低业务阈值,或者数据接收服务器集群的中的数据接收服务器的闲置率超过了设定的闲置阈值等。
99.在其中一个实施例中,若当前数据接收服务器集群中的各个数据接收服务器均满负荷运行了,但数据处理服务器集群中仍有大量的压缩文件等待导入,那么可以在数据接收服务器集群中增加新的数据接收服务器,并将新的数据接收服务器与数据库服务器进行连接,这样,增加的新的数据接收服务器可以执行待导入压缩文件的导入工作,从而实现了横向扩容。若数据接收服务器集群的中的数据接收服务器的闲置率超过了设定的闲置阈值,那么,可以将数据接收服务器集群中处于闲置状态的数据接收服务器进行下线,剩余的数据接收服务器继续执行相应的工作,从而实现了横向缩容。
100.上述实施例中,在有需要时,可以对数据接收服务器集群进行横向扩容,从而避免了单个数据接收服务器导入压力过大而导致宕机的问题,也避免了大量数据进行导入时,因数据接收服务器数量不够而导致的传输效率低下的问题。同样,在不必要时,可以对数据接收服务器集群进行横向缩容,从而减少了数据接收服务器的资源浪费。
101.在其中一个实施例中,如图3(a)所示为数据传输系统的完整工作流程示意图,数据传输系统包括数据处理服务器集群、分布式文件系统、数据库服务器和数据接收服务器集群四个部分,每个部分负责相应的工作,四个部分相互协作,共同完成数据的传输工作。其中,数据处理服务器集群、数据库服务器和数据接收服务器集群分别负责的工作流程示意图如图3(b)、图3(c)和图3(d)所示。
102.如图3(b)所示为数据处理服务器集群工作流程示意图,数据处理服务器集群首先从第三方系统中获取原始文件,将原始文件备份至glusterfs分布式文件系统中,然后将原
始文件处理成txt格式的目标文件,将txt格式的目标文件进行压缩,并将压缩文件备份至glusterfs分布式文件系统中,最后将压缩文件的有关信息写入压缩文件信息表并传输至数据库服务器。
103.如图3(c)所示为数据库服务器工作流程示意图,数据库服务器收集压缩文件的相关信息构成压缩文件信息表,收集数据接收服务器集群的相关信息构成数据接收服务器集群的集群信息表,根据压缩文件信息表和集群信息表将压缩文件对应的导入任务分配到各个目标数据接收服务器,并更新压缩文件信息表将导入任务列入调度队列。
104.如图3(d)所示为数据接收服务器集群工作流程示意图,首先启动数据接收服务器集群中的各个数据接收服务器,同时启动注册组件,往数据库服务器集群信息表中添加当前服务器的ip,再从数据库服务器中获取更新后的压缩文件信息表,根据压缩文件信息表中的信息从分布式文件系统中拷贝待处理的压缩文件,将待处理的压缩文件进行解压得到目标文件,并生成控制文件,然后数据接收服务器集群中的数据接收服务器执行sqlldr命令,根据控制文件中记载的信息,将目标文件传输至数据库服务器中的指定位置,方便后续的调用。当有数据接收服务器出现故障时,数据接收服务器集群停止该故障数据接收服务器,同时从数据库服务器集群信息表中删除故障数据接收服务器的ip。并且,数据接收服务器集群支持热拔插操作。
105.在上述实施例中,通过结合数据处理服务器集群、数据库服务器、数据接收服务器集群及分布式文件系统共同实现了原始文件的格式转换及导入,并通过数据处理服务器集群和数据接收服务器集群将原始文件的格式转换及导入任务进行解耦,使得原始文件的格式转换与导入任务可以分开执行,当出现故障数据处理服务器或故障数据接收服务器时,只需将故障数据处理服务器或故障数据接收服务器进行停机下线,并将中断的操作使用正常的数据处理服务器或数据接收服务器重新发起,从而实现故障隔离,实现数据传输系统的高可用性,同时也可支持幂等操作。并且,数据库服务器根据每个数据接收服务器的性能,使用负载均衡算法将导入任务合理地分配给了相应的目标数据接收服务器,实现了线程级并发,从而减少出现单个服务器任务过载而导致的宕机影响,提高了数据传输的效率。同时,当需要传输的数据量较多时,可以通过在数据处理服务器集群中增加相同配置的数据处理服务器,在数据接收服务器集群中增加相同配置的数据接收服务器,并且将增加的数据处理服务器和数据接收服务器分别与数据库服务器进行连接,即横向扩大系统容量,能够实现系统的进程级并发。当需要传输的数据量较少时,可以通过在数据处理服务器集群中下线部分数据处理服务器,在数据接收服务器集群中下线部分数据接收服务器,即横向缩小系统容量。这样可以实时地针对需要传输的数据量灵活调整系统的容量。
106.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
107.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据传
输方法的数据传输系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据传输系统实施例中的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。
108.在一个实施例中,参考图1,提供了一种数据传输系统,包括:数据处理服务器集群、分布式文件系统、数据库服务器和数据接收服务器集群,其中:
109.数据处理服务器集群,用于获取第三方系统的原始文件,并对原始文件进行压缩处理得到多个压缩文件,并将多个压缩文件传输至分布式文件系统。
110.分布式文件系统,用于接收并存储原始文件和多个压缩文件。
111.数据库服务器,用于获取多个压缩文件对应的压缩文件信息表,以及数据接收服务器集群的集群信息表。
112.数据库服务器,还用于根据压缩文件信息表,将与各个压缩文件对应的导入任务分配至数据接收服务器集群中的各目标数据接收服务器,并基于每个目标数据接收服务器所分配的导入任务更新压缩文件信息表。
113.数据接收服务器集群,用于获取更新后的压缩文件信息表,并根据更新后的压缩文件信息表获取中的目标数据接收服务器各自所对应的待处理的压缩文件信息。
114.数据接收服务器集群,还用于基于待处理的压缩文件信息,从分布式文件系统或数据处理服务器集群中获取压缩文件,并对获取的压缩文件进行解压后传输至数据库服务器中,以实现数据传输。
115.上述数据传输系统,数据处理服务器集群从第三方系统中获取原始文件,并对原始文件进行处理压缩得到多个压缩文件,这样,将原始文件进行处理并压缩,能够减小数据占用的内存,加快数据的传输速率,同时将多个压缩文件传输至分布式文件系统进行备份,方便后续数据传输的使用。数据库服务器获取多个压缩文件对应的压缩文件信息表,以及数据接收服务器集群的集群信息表,这样数据库服务器就可以根据压缩文件信息表,将与各个压缩文件对应的导入任务分配至数据接收服务器集群中的各目标数据接收服务器中,使得每个压缩文件都分配有专门的目标数据接收服务器对其进行有序导入,避免造成数据导入的拥堵。数据库服务器基于每个目标数据接收服务器所分配的导入任务更新压缩文件信息表,数据接收服务器集群中的目标数据接收服务器根据更新后的压缩文件信息表获取各自所对应的待处理的压缩文件信息,并根据待处理的压缩文件信息从分布式文件系统或所述数据处理服务器集群中获取压缩文件,并对获取的压缩文件进行解压后传输至所述数据库服务器中,以实现数据传输。这样,将原始文件的处理操作和导入操作进行解耦,数据处理服务器集群完成原始文件的处理操作,数据接收服务器集群完成相应压缩文件的导入操作,能够避免单个服务器节点出现故障而导致整个数据传输系统的工作停止,并且,将数据的处理和导入工作进行解耦,也可以增加数据传输的数据量,提高数据传输的效率。
116.在一个实施例中,数据处理服务器集群,还用于通过第三方接口,读取第三方系统中的原始文件;将具有不同文件格式的多个原始文件分别转换成预设标准格式的目标文件;对多个目标文件进行压缩得到多个压缩文件。
117.在一个实施例中,数据处理服务器集群,还用于通过公共接口读取每个原始文件的文件内容;将具有相同文件格式的原始文件的文件内容,写入同一个新的具有预设标准格式的文件中,得到对应的目标文件。
118.在一个实施例中,数据处理服务器集群,还用于当数据处理服务器集群中的部分数据处理服务器出现故障时,数据处理服务器集群中断出现故障的数据处理服务器中的压缩处理操作,并将出现故障的数据处理服务器停机下线;数据处理服务器集群确定其他正常的数据处理服务器,通过正常的数据处理服务器重新执行出现故障的数据处理服务器中中断的压缩处理操作。
119.在一个实施例中,数据接收服务器集群,还用于当数据接收服务器集群中的部分数据接收服务器出现故障时,数据接收服务器集群中断出现故障的数据接收服务器中的导入任务,并将出现故障的数据接收服务器停机下线;数据接收服务器集群确定其他正常的数据接收服务器,通过正常的数据接收服务器重新执行出现故障的数据接收服务器中中断的导入任务。
120.在一个实施例中,数据接收服务器集群,还用于对数据接收服务器集群中的每个数据接收服务器进行启动,加载自身运行所需的组件;每个数据接收服务器均启动注册组件,在数据接收服务器集群的集群信息表中添加当前服务器的服务器地址。
121.在一个实施例中,若数据处理服务器集群满足第一扩容条件,则数据处理服务器集群,还用于在数据处理服务器集群中增加新的数据处理服务器,并将新的数据处理服务器与数据库服务器进行连接,以实现横向扩容;若数据处理服务器集群满足第一缩容条件,则数据处理服务器集群,还用于将数据处理服务器集群中处于闲置状态的数据处理服务器进行下线,以实现横向缩容。
122.在一个实施例中,若数据接收服务器集群满足第二扩容条件,则数据接收服务器集群,还用于在数据接收服务器集群中增加新的数据接收服务器,并将新的数据接收服务器与数据库服务器进行连接,以实现横向扩容;若数据接收服务器集群满足第二缩容条件,则数据接收服务器集群,还用于将数据接收服务器集群中处于闲置状态的数据接收服务器进行下线,以实现横向缩容。
123.上述数据传输系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
124.在一个实施例中,提供了一种计算机设备,该计算机设备可以是上述各集群中的服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储压缩文件数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据传输方法。
125.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
126.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
127.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计
算机程序被处理器执行时实现上述各方法实施例中的步骤。
128.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
129.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
130.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
131.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
132.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1