CN102820982B - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN102820982B CN102820982B CN201110281975.2A CN201110281975A CN102820982B CN 102820982 B CN102820982 B CN 102820982B CN 201110281975 A CN201110281975 A CN 201110281975A CN 102820982 B CN102820982 B CN 102820982B
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- index file
- destination node
- file
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明揭示了一种数据传输方法,包括:源节点根据待传输数据的目的节点生成对应的索引文件;将所述待传输文件和索引文件上传至中转站;目的节点扫描中转站的索引文件,得到所述目的节点对应的索引文件;从中转站下载所述目的节点对应的索引文件所指向的待传输数据。本发明还提出了对应的装置。本发明提供的数据传输方法和装置,可提供稳定的数据传输。
Description
技术领域
本发明涉及到数据传输领域,特别涉及到一种数据传输方法和装置。
背景技术
数据传输是信息传输的一种形式,主要指与计算机有关的信息传输。目前的数据传输通常是端对端的,源节点直接将数据传输至目的节点,当源节点和目的节点相隔比较远时,需要借助于公共通信线路或专用线路来完成,该方法虽然即时、快速,但容易造成数据传输的不稳定。当任一端的数据库关闭或出现故障,或者线路出现故障,都会给整个传输带来影响,导致传输需要重新进行。
发明内容
本发明的主要目的为提供一种数据传输方法和装置,可提供稳定的数据传输。
本发明提出一种数据传输方法,包括:
源节点根据待传输数据的目的节点生成对应的索引文件;
将所述待传输文件和索引文件上传至中转站;
目的节点扫描中转站的索引文件,得到所述目的节点对应的索引文件;
从中转站下载所述目的节点对应的索引文件所指向的待传输数据。
优选地,在执行所述根据待传输数据的目的节点生成对应的索引文件之前,还包括:
提取增量数据;
压缩所述增量数据,成为待传输数据。
优选地,所述索引文件保存的信息包括所述增量数据的文件名、优先级和校验结果。
优选地,所述根据待传输数据的目的节点生成对应的索引文件,包括:
为待传输数据的每一目的节点创建一索引文件;
将所述索引文件的名称设置为包括目的节点ID、源节点ID和待传输数据的文件名。
优选地,在执行所述从中转站下载目的节点对应的索引文件所指向的待传输数据之后,还包括:
解压所述待传输数据;
对解压后的待传输数据进行检验;
检验通过后,将解压后的待传输数据加载至本地数据库。
本发明还提出一种数据传输系统,包括源节点、中转站和目的节点,其中:
源节点,用于根据待传输数据的目的节点生成对应的索引文件;以及将所述待传输文件和索引文件上传至中转站;
目的节点,用于扫描中转站的索引文件,得到所述目的节点对应的索引文件;以及从中转站下载所述目的节点对应的索引文件所指向的待传输数据。
优选地,所述源节点还用于:
提取增量数据;以及压缩所述增量数据,成为待传输数据。
优选地,所述索引文件保存的信息包括所述增量数据的文件名、优先级和校验结果。
优选地,所述源节点包括:
创建模块,用于为待传输数据的每一目的节点创建一索引文件;
设置模块,用于将所述索引文件的名称设置为包括目的节点ID、源节点ID和待传输数据的文件名。
优选地,所述目的节点还用于:
解压所述待传输数据;对解压后的待传输数据进行检验;以及检验通过后,将解压后的待传输数据加载至本地数据库。
本发明提出的数据传输方法和装置,将FTP服务器或共享文件夹作为数据中转站,将数据传输分成源节点到中转站、中转站到目的节点两阶段,实现数据的一对一、一对多、多对一甚至是上述多种方式的组合的稳定转输。任一数据库关闭或出现故障、任一数据库与中转站的网络出现故障,均不会给整个数据传输带来影响,更不会导致数据库崩溃,当关闭的或出现故障的数据库恢复正常、数据库与中转站的网络恢复正常,则自动恢复数据的传输。
附图说明
图1为本发明数据传输方法一实施例的流程示意图;
图2为本发明数据传输装置一实施例的结构示意图;
图3为本发明数据传输装置一实施例中源节点的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,提出本发明数据传输方法一实施例,包括:
步骤S101、提取增量数据。源节点从本节点数据库的传输表内提取需要传输的数据,较佳实施例是提取增量数据进行传输可减少数据传输量。所谓增量数据,是指在上一次提取时间段内提取成功,但本次提取时间段内进行过新增、修改或删除操作的数据。此处的成功提取指从源节点的数据库中提取、数据序列化至XML文件,且打包并在本地生成数据压缩文件对应的索引文件。
将需要传输的增量数据提取后,序列化至以传输表名、提取时间和序列号命名的XML文件中(预设限定每一XML文件最多保存的数据量,如从一张传输表中提取的数据量太大时,可将数据保存在多个XML文件中),然后将序列化的XML文件保存至以源节点ID、源节点上传序列号、提取时间命名的文件夹中,也可以用其它命名方式命名该文件夹,使其能唯一标识该文件夹。
另设置一张传输时间戳记录中间表,用于记录每张传输表及删除日志信息表的最后成功提取时间。对于传输表新增或修改操作,要求同时更新传输表的时间戳字段,提取时只提取传输表中的时间戳字段大于传输时间戳记录中间表记录的当前传输表的时间戳的时间段内的所有数据。而对于删除操作,在删除时将当前被删除记录的FID(唯一标识字段)、传输表名和删除时间信息记录在删除日志信息表中。
步骤S102、压缩所述增量数据,成为待传输数据。将本次提取时间段内造成的XML文件打包成压缩文件。
步骤S103、根据待传输数据的目的节点生成对应的索引文件。根据目的节点的配置信息,给压缩文件创建索引文件。每个待传输的目的节点都创建一个相应的索引文件,可将索引文件的名称设置为由目的节点ID、源节点ID以及压缩文件名组成。索引文件中保存的信息是压缩文件中的每个XML文件的信息,包括文件名、优先级、记录条数、文件大小、保存时间和校验结果等,当然也可以扩展或者减少描述文件所记录的信息内容,但至少应保留文件名、优先级和校验结果。对于文件优先级,如果有删除日志信息表的数据对应的文件,则它的优先级高于其它文件的优先级。成功保存索引文件后,再依次更新传输时间戳记录中间表的时间戳,并更新源节点的上传序列号。
另一种方式是,索引文件为空,而将上述压缩文件中的每个XML文件的信息单独保存于各个XML文件对应的描述文件中。即在提取增量数据并序列化至XML文件后,立即生成描述文件,描述文件中记录的是每个XML文件的信息,包括文件名、优先级、记录条数、文件大小、保存时间和校验结果等,当然也可以扩展或者减少描述文件所记录的信息内容,但至少保留文件名、优先级和校验结果。然后将描述文件和XML文件一并打包压缩成待传输数据。成功上传压缩文件至中转站后再根据目的节点创建索引文件,索引文件的名称可以设置为由目的节点ID、源节点ID以及压缩文件名组成。由目的节点的配置信息决定创建索引文件的数量及名称,每个需要传输的目的节点ID都创建一索引文件,但此索引文件的内容为空。
步骤S104、将所述待传输文件和索引文件上传至中转站。将压缩文件和索引文件上传至中转站。上传的顺序通常是先上传压缩文件,再上传索引文件。索引文件上传成功后通过更改索引文件名称以表示当前的索引文件已成功上传,目的节点传输处理程序可以下载了。
步骤S105、目的节点扫描中转站的索引文件,得到所述目的节点对应的索引文件。目的节点扫描中转站内所有标识已成功上传的索引文件,如索引文件名中所示的目的节点ID与本节点ID相同,则该索引文件为目的节点对应的索引文件。
步骤S106、从中转站下载所述目的节点对应的索引文件所指向的待传输数据。下载此索引文件对应的压缩文件,压缩文件成功下载完成后再下载此索引文件,然后扫描判断此压缩文件是否还有其它的索引文件,如没有其它索引文件,则将此压缩文件和索引文件备份至备份文件夹下,否则不对压缩文件做任何处理。
步骤S107、解压所述待传输数据。解压从中转站下载的压缩文件,成为一或多个XML文件。
步骤S108、对解压后的待传输数据进行检验。根据索引文件的优先级,依次校验解压后的XML文件,包括大小校验和算法校验,当然可以不进行大小校验,但至少应进行算法校验,以保证加载至数据库中去的数据在传输过程中未遭到纂改或破坏等。算法校验用于对XML文件进行完整性检查,实现的算法有Adler32、CRC32、MD5或SHA,可以只用单一的算法校验,也可以是上述算法的任意组合,也可以是其它完整性校验算法。
步骤S109、检验通过后,将解压后的待传输数据加载至本地数据库。对于删除日志信息表,如校验通过,则将XML文件序列化为对象并加载至数据库中,然后进行数据删除操作,如校验通不过,则停止所有XML文件的加载。对于传输表,如校验通过,则将XML文件序列化为对象并加载至数据库中,如校验通不过,则记录错误日志,并将校验未通过的文件放至加载出错文件夹下。
本实施例通过FTP服务器或共享文件夹作为传输中转站,对于一对多的传输(即一个节点向多个节点传输数据),只需上传一次,即可完成传输。且由于整个传输是基于中转站的数据传输,因此可以跨语言、跨数据库和跨操作系统。
参照图2,提出本发明数据传输系统一实施例,包括源节点10、中转站20和目的节点30,其中:
源节点10,用于根据待传输数据的目的节点生成对应的索引文件;以及将所述待传输文件和索引文件上传至中转站20;
目的节点30,用于扫描中转站20的索引文件,得到所述目的节点对应的索引文件;以及从中转站20下载所述目的节点对应的索引文件所指向的待传输数据。
参照图3,源节点10包括:
创建模块11,用于为待传输数据的每一目的节点30创建一索引文件;
设置模块12,用于将所述索引文件的名称设置为包括目的节点ID、源节点ID和待传输数据的文件名。
源节点10从本节点数据库的传输表内提取需要传输的数据,较佳实施例是提取增量数据进行传输可减少数据传输量。所谓增量数据,是指在上一次提取时间段内提取成功,但本次提取时间段内进行过新增、修改或删除操作的数据。此处的成功提取指从源节点10的数据库中提取、数据序列化至XML文件,且打包并在本地生成压缩文件对应的索引文件。
将需要传输的增量数据提取后,序列化至以传输表名、提取时间和序列号命名的XML文件中(预设限定每一XML文件最多保存的数据量,如从一张传输表中提取的数据量太大时,可将数据保存在多个XML文件中),然后将序列化的XML文件保存至以源节点ID、源节点上传序列号、提取时间命名的文件夹中,也可以用其它命名方式命名该文件夹,使其能唯一标识该文件夹。
另设置一张传输时间戳记录中间表,用于记录每张传输表及删除日志信息表的最后成功提取时间。对于传输表新增或修改操作,要求同时更新传输表的时间戳字段,提取时只提取传输表中的时间戳字段大于传输时间戳记录中间表记录的当前传输表的时间戳的时间段内的所有数据。而对于删除操作,在删除时将当前被删除记录的FID(唯一标识字段)、传输表名和删除时间信息记录在删除日志信息表中。
将本次提取时间段内生成的XML文件打包压缩成为待传输文件。创建模块11根据目的节点30的配置信息,给压缩文件创建索引文件。每个待传输的目的节点30都创建一个相应的索引文件,可将索引文件的名称设置为由目的节点ID、源节点ID以及压缩文件名组成。索引文件中保存的信息是压缩文件中的每个XML文件的信息,包括文件名、优先级、记录条数、文件大小、保存时间和校验结果等,当然也可以扩展或者减少描述文件所记录的信息内容,但至少应保留文件名、优先级和校验结果。对于文件优先级,如果有删除日志信息表的数据对应的文件,则它的优先级高于其它文件的优先级。成功保存索引文件后,再依次更新传输时间戳记录中间表的时间戳,并更新源节点10的上传序列号。
另一种方式是,索引文件为空,而将上述压缩文件中的每个XML文件的信息单独保存于各个XML文件对应的描述文件中。即在提取增量数据并序列化至XML文件后,立即生成描述文件,描述文件中记录的是每个XML文件的信息,包括文件名、优先级、记录条数、文件大小、保存时间和校验结果等,当然也可以扩展或者减少描述文件所记录的信息内容,但至少保留文件名、优先级和校验结果。然后将描述文件和XML文件一并打包压缩成待传输数据。成功上传压缩文件至中转站20后创建模块11再根据目的节点30创建索引文件,设置模块12可以将索引文件的名称设置为由目的节点ID、源节点ID以及压缩文件名组成。由目的节点30的配置信息决定创建索引文件的数量及名称,每个需要传输的目的节点ID都创建一索引文件,但此索引文件的内容为空。
将压缩文件和索引文件上传至中转站20。上传的顺序通常是先上传压缩文件,再上传索引文件。索引文件上传成功后通过更改索引文件名称以表示当前的索引文件已成功上传,目的节点30传输处理程序可以下载了。
目的节点30扫描中转站20内所有标识已成功上传的索引文件,如索引文件名中所示的目的节点ID与本节点ID相同,则下载此索引文件对应的压缩文件,压缩文件成功下载完成后再下载此索引文件,然后扫描判断此压缩文件是否还有其它的索引文件,如没有其它索引文件,则将此压缩文件和索引文件备份至备份文件夹下,否则不对压缩文件做任何处理。
解压从中转站20下载的压缩文件,成为一或多个XML文件。根据索引文件的优先级,依次校验解压后的XML文件,包括大小校验和算法校验,当然可以不进行大小校验,但至少应进行算法校验,以保证加载至数据库中去的数据在传输过程中未遭到纂改或破坏等。算法校验用于对XML文件进行完整性检查,实现的算法有Adler32、CRC32、MD5或SHA,可以只用单一的算法校验,也可以是上述算法的任意组合,也可以是其它完整性校验算法。对于删除日志信息表,如校验通过,则将XML文件序列化为对象并加载至数据库中,然后进行数据删除操作,如校验通不过,则停止所有XML文件的加载。对于传输表,如校验通过,则将XML文件序列化为对象并加载至数据库中,如校验通不过,则记录错误日志,并将校验未通过的文件放至加载出错文件夹下。
本实施例通过FTP服务器或共享文件夹作为传输中转站20,对于一对多的传输(即一个节点向多个节点传输数据),只需上传一次,即可完成传输。且由于整个传输是基于中转站20的数据传输,因此可以跨语言、跨数据库和跨操作系统。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种数据传输方法,其特征在于,包括:
源节点提取增量数据;所述增量数据是指在上一次提取时间段内提取成功,但本次提取时间段内进行过新增、修改或删除操作的数据;
压缩所述增量数据,成为待传输数据;
根据待传输数据的目的节点生成对应的索引文件;
将所述待传输文件和索引文件上传至中转站;所述中转站为FTP服务器或共享文件夹;
目的节点扫描中转站的索引文件,得到所述目的节点对应的索引文件;
从中转站下载所述目的节点对应的索引文件所指向的待传输数据;
所述根据待传输数据的目的节点生成对应的索引文件,包括:
为待传输数据的每一目的节点创建一索引文件;
将所述索引文件的名称设置为包括目的节点ID、源节点ID和待传输数据的文件名。
2.如权利要求1所述的方法,其特征在于,所述索引文件保存的信息包括所述增量数据的文件名、优先级和校验结果。
3.如权利要求1所述的方法,其特征在于,在执行所述从中转站下载目的节点对应的索引文件所指向的待传输数据之后,还包括:
解压所述待传输数据;
对解压后的待传输数据进行检验;
检验通过后,将解压后的待传输数据加载至本地数据库。
4.一种数据传输系统,其特征在于,包括源节点、中转站和目的节点,其中:
源节点,用于提取增量数据;以及压缩所述增量数据,成为待传输数据;所述增量数据是指在上一次提取时间段内提取成功,但本次提取时间段内进行过新增、修改或删除操作的数据;根据待传输数据的目的节点生成对应的索引文件;以及将所述待传输文件和索引文件上传至中转站;所述中转站为FTP服务器或共享文件夹;
目的节点,用于扫描中转站的索引文件,得到所述目的节点对应的索引文件;以及从中转站下载所述目的节点对应的索引文件所指向的待传输数据;
所述源节点包括:
创建模块,用于为待传输数据的每一目的节点创建一索引文件;
设置模块,用于将所述索引文件的名称设置为包括目的节点ID、源节点ID和待传输数据的文件名。
5.如权利要求4所述的系统,其特征在于,所述索引文件保存的信息包括所述增量数据的文件名、优先级和校验结果。
6.如权利要求5所述的系统,其特征在于,所述目的节点还用于:
解压所述待传输数据;对解压后的待传输数据进行检验;以及检验通过后,将解压后的待传输数据加载至本地数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110281975.2A CN102820982B (zh) | 2011-09-21 | 2011-09-21 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110281975.2A CN102820982B (zh) | 2011-09-21 | 2011-09-21 | 数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102820982A CN102820982A (zh) | 2012-12-12 |
CN102820982B true CN102820982B (zh) | 2016-04-13 |
Family
ID=47304855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110281975.2A Active CN102820982B (zh) | 2011-09-21 | 2011-09-21 | 数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102820982B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182712A (ja) * | 2013-03-21 | 2014-09-29 | Fuji Xerox Co Ltd | 中継装置、システム及びプログラム |
CN106126352B (zh) * | 2016-06-17 | 2019-01-18 | 中国银行股份有限公司 | 异步报送信息的方法及装置 |
CN106169020A (zh) * | 2016-06-27 | 2016-11-30 | 臻和(北京)科技有限公司 | 一种数据处理方法和基于基因分型的肿瘤伴随诊断系统 |
CN108959545A (zh) * | 2018-07-02 | 2018-12-07 | 山东汇贸电子口岸有限公司 | 一种Oracle数据处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516400A (zh) * | 2003-01-06 | 2004-07-28 | 华为技术有限公司 | 在网络链路上实现快速传输桥接数据的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4352728B2 (ja) * | 2003-03-11 | 2009-10-28 | 株式会社日立製作所 | サーバ装置、端末制御装置及び端末認証方法 |
WO2011005045A2 (ko) * | 2009-07-08 | 2011-01-13 | 한국전자통신연구원 | 협력 통신 시스템에서 데이터 송수신 방법 및 협력 통신 방법 |
-
2011
- 2011-09-21 CN CN201110281975.2A patent/CN102820982B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516400A (zh) * | 2003-01-06 | 2004-07-28 | 华为技术有限公司 | 在网络链路上实现快速传输桥接数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102820982A (zh) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10423585B2 (en) | Method and device for making differential upgrade package, and method and device for system differential upgrading | |
US7584338B1 (en) | Replication of deduplicated storage system | |
CN104866351B (zh) | 一种数据传输方法、服务端及客户端 | |
CN107682436A (zh) | 一种更新文件的方法、装置和设备 | |
CN102820982B (zh) | 数据传输方法和装置 | |
CN102053853A (zh) | 一种网络游戏版本更新方法 | |
CN105808589A (zh) | 文件处理的方法和装置 | |
CN104217174A (zh) | 分布式文件安全存储系统及其存储方法 | |
CN109908585B (zh) | 一种文件处理方法及系统、计算设备及存储介质 | |
CN104468843A (zh) | 一种文件上传方法及装置 | |
CN103873503A (zh) | 数据块备份系统及方法 | |
CN106302751A (zh) | 电子档案的归档方法、接口服务器和归档系统 | |
CN102687472A (zh) | 发送、接收数据的处理装置及方法 | |
CN107168730A (zh) | 应用程序加载方法、服务器及终端 | |
CN106648766A (zh) | 基于文件夹的补丁升级包生成及差分升级方法和装置 | |
CN109831481A (zh) | 一种大文件拆分传输的方法、装置及存储介质 | |
CN106250548A (zh) | 一种代码更新方法 | |
CN104915234B (zh) | 一种Android移动终端升级上报方法及系统 | |
CN112925536B (zh) | 虚拟机系统镜像处理方法、装置、设备及存储介质 | |
CN113590161A (zh) | 内存可控的nb-iot模组差分升级方法及系统 | |
CN103841144A (zh) | 云存储系统、方法、用户端及云存储服务器 | |
CN109783571A (zh) | 隔离环境的数据处理方法、装置、计算机设备及存储介质 | |
CN112286543A (zh) | 一种应用服务部署方法及装置 | |
CN103929763A (zh) | 一种用于比较和重构地理冗余的数据库的方法 | |
CN109587202B (zh) | 文件校验和数据处理之间的协同处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |