CN111177267A - 数据传输方法、装置、电子设备及存储介质 - Google Patents

数据传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111177267A
CN111177267A CN201911399587.7A CN201911399587A CN111177267A CN 111177267 A CN111177267 A CN 111177267A CN 201911399587 A CN201911399587 A CN 201911399587A CN 111177267 A CN111177267 A CN 111177267A
Authority
CN
China
Prior art keywords
data transmission
data packet
data
fingerprint
database
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.)
Pending
Application number
CN201911399587.7A
Other languages
English (en)
Inventor
高英哲
丁徕卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CITIC Aibank Corp Ltd
Original Assignee
CITIC Aibank Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CITIC Aibank Corp Ltd filed Critical CITIC Aibank Corp Ltd
Priority to CN201911399587.7A priority Critical patent/CN111177267A/zh
Publication of CN111177267A publication Critical patent/CN111177267A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据传输方法,包括:从源数据库中获取数据包,将加密的服务器时间戳作为所述数据包的指纹;将所述指纹与预存在目标数据库的指纹做对比,若一致,则将所述数据包的内容写入所述目标数据库;若不一致,则终止所述数据传输。使用此方法可避免数据在传输过程中发生丢包现象,提高异构数据库间数据传输的可靠性。

Description

数据传输方法、装置、电子设备及存储介质
技术领域
本发明涉及互联网技术领域,特别是涉及一种数据传输方法和装置。
背景技术
随着互联网服务不断发展,公司各业务部门对业务数据的需求也逐步增加,如数据分析、报表展示等,而各部门为适应自身业务需求,使用的数据库有所不同。
为实现各异构数据库间数据交流,最原始的办法是从各数据库中将业务数据提取出来生成excel表,再发送给各个部门,或使用离线数据同步工具/平台将异构数据库中数据相互传输。大量的业务数据产生大量的数据库间操作,包括备份、传输、恢复等多个步骤,容易出现误操作,发生数据丢失等现象。
对于离线数据同步平台数据传输的可靠性问题,现阶段并无对策。
发明内容
基于此,本发明提供一种数据传输的方法和装置,能够在数据传输过程中保证数据不丢包,便于提升数据传输的可靠性。
本发明第一个方面,提供一种数据传输方法,该方法包括:
从源数据库中获取数据包,将加密的服务器时间戳作为所述数据包的指纹;
将所述指纹与预存在目标数据库的指纹做对比,若一致,则将所述数据包的内容写入所述目标数据库;若不一致,则终止所述数据传输。
具体地,该方法还包括:
从所述源数据库获取数据包时对所述数据包进行预校验,判断所述数据包是否包含所述目的数据库已有字段,
若包含,则将所述数据包中字段对应的值与所述目的数据库字段对应的值相比较,若相同,则终止所述数据传输,若不同,则继续所述数据传输,
若不包含,则继续所述数据传输。
具体地,该方法还包括:
将所述数据包分解成子数据包,根据任意设置的通道数和/或线程数将所述子数据包分组进行传输。
具体地,该方法还包括:
所述源数据库、所述目的数据库各自独立包括:Mysql、Oracle、DRDS、Hive或SQLServer。
具体地,该方法还包括:
所述指纹为128位,通过MD5加密获得。
本发明第二方面提供一种数据传输装置,该装置包括:
数据库写入模块,用于从源数据库中获取数据包,将加密的服务器时间戳作为所述数据包的指纹;
写前校验模块,用于将所述指纹与预存在目标数据库的指纹做对比,若一致,则将所述数据包的内容写入所述目标数据库;若不一致,则终止所述数据传输。
具体地,所述装置还包括:
预校验模块,从所述源数据库获取数据包时对所述数据包进行预校验,判断所述数据包是否包含所述目的数据库已有字段,若包含,则将所述数据包中字段对应的值与所述目的数据库字段对应的值相比较,若相同,则终止所述数据传输;若不同,则继续所述数据传输,
若不包含,则继续所述数据传输。
具体地,所述装置还包括:
分配模块,用于将所述数据包分解成子数据包,根据任意设置的通道数和/或线程数将所述子数据包分组进行传输。
本发明第三方面,提供一种终端,所述终端包括存储器、处理器,所述存储器用于存储计算机程序;所述处理器被设置为运行所述计算机程序以执行本发明的数据传输方法的步骤。
本发明第四方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序由处理器执行时实现本发明的数据传输方法所述的步骤。
综上本发明通过在数据传输阶段生成指纹,并利用其验证之后的传输数据是否连续,能够避免数据传输过程中丢包,有效提升异构数据库或同构数据库间数据传输的可靠性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中数据传输方法的流程示意图;
图2为本发明另一实施例中数据传输装置的架构示意图;
图3为本发明另一实施例中数据传输终端的流程示意图;
图4为本发明另一实施例中计算机可读存储介质的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例1
图1为本申请提供的数据传输方法流程示意图。该方法包括:
从源数据库中获取数据包,将加密的服务器时间戳作为所述数据包的指纹;
将所述指纹与预存在目标数据库的指纹做对比,若一致,则将所述数据包的内容写入所述目标数据库;若不一致,则终止所述数据传输。
上述预存在目标数据库的指纹指上一个数据包的指纹,各数据包指纹都是利用服务器时间戳加密生成的,具体的加密算法为摘要加密算法,其中第一个数据包的指纹是数据传输通道初始化时生成的一个初始化指纹。
当指纹不一致时,说明发生了数据丢包问题,进而终止数据传输。此步骤可以有效的防止数据丢包发生。此步骤中源数据库和目标数据库可以是同样类型的数据库,也可以是不同种类的数据库。
数据包是当发生数据传输作业时,将数据传输作业分割成的用于数据传输的单位。
优选地,该方法还包括:
从所述源数据库获取数据包时对所述数据包进行预校验,判断所述数据包是否包含与所述目的数据库相同的字段,
若包含,则将所述数据包中字段对应的值与所述目的数据库字段对应的值相比较,若相同,则终止所述数据传输;若不同,则继续所述数据传输,
若不包含,则继续所述数据传输。
优选地,该方法还包括:
将所述数据包分解成子数据包,根据任意设置的通道数和/或线程数将所述子数据包分组进行传输。
数据同步工具接收到数据同步作业,将启动一个进程来完成整个作业同步过程。该工具是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。
例如用户提交了一个作业,并且配置了20个并发,目的是将一个100张分表的mysql数据同步到odps里面。该工具调度决策思路是:
1.根据分库分表切分成了100个Task。
2.根据20个并发,DataX计算共需要分配4个TaskGroup。
3.4个TaskGroup平分切分好的100个Task,每一个TaskGroup负责以5个并发共计运行25个Task。
优选地,该方法还包括:
所述源数据库、所述目的数据库各自独立包括:Mysql、Oracle、DRDS、Hive或SQLServer。
优选地,该方法还包括:
所述指纹为128位,通过MD5加密获得。
MD5加密可以将任何长度的输入串计算得到固定长度的输出,便于指纹格式的统一,同时该加密方法具有可快速开发性和较高的可靠性。
实施例2
一种数据传输装置,其特征在于,所述装置包括:
数据库写入模块,用于从源数据库中获取数据包,将加密的服务器时间戳作为所述数据包的指纹;
写前校验模块,用于将所述指纹与预存在目标数据库的指纹做对比,若一致,则将所述数据包的内容写入所述目标数据库;若不一致,则终止所述数据传输。
当指纹不一致时,说明发生了数据丢包问题,进而终止数据传输。此步骤可以有效的防止数据丢包发生。比步骤中源数据库和目标数据库可以是同样类型的数据库,也可以是不同种类的数据库。
数据包是当发生数据传输作业时,将数据传输作业分割成的用于数据传输的单位。
优选地,所述装置还包括:
预校验模块,从所述源数据库获取数据包时对所述数据包进行预校验,判断所述数据包是否包含所述目的数据库已有字段,若包含,则将所述数据包中字段对应的值与所述目的数据库字段对应的值相比较,若相同,则终止所述数据传输;若不同,则继续所述数据传输,
若不包含,则继续所述数据传输。
优选地,所述装置还包括:
分配模块,用于将所述数据包分解成子数据包,根据任意设置的通道数和/或线程数将所述子数据包分组进行传输。
数据同步工具接收到数据同步作业,将启动一个进程来完成整个作业同步过程。该工具是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。
例如用户提交了一个作业,并且配置了20个并发,目的是将一个100张分表的mysql数据同步到odps里面。该工具调度决策思路是:
1.根据分库分表切分成了100个Task。
2.根据20个并发,DataX计算共需要分配4个TaskGroup。
3.4个TaskGroup平分切分好的100个Task,每一个TaskGroup负责以5个并发共计运行25个Task。
优选地,本装置使用MD5加密方法生成数据包指纹。
MD5加密可以将任何长度的输入串计算得到固定长度的输出,便于指纹格式的统一,同时该加密方法具有可快速开发性和较高的可靠性。
实施例3
一种终端,所述终端包括存储器、处理器,所述存储器用于存储计算机程序;所述处理器被设置为运行所述计算机程序以执行本发明的数据传输方法的步骤。
如图3所示,该终端2包括:处理器202、存储器201、总线204和计算机程序203,其中:
该终端可以包括一个或多个处理器202、总线204和存储器201,其中,存储器201用于存储程序,处理器202通过总线204与存储器201通信连接,处理器202调用存储器201存储的计算机程序203,以执行上述方法实施例。
需要说明的是,处理器202可以包括一个或多个处理核(例如,单核处理器或多核处理器)。仅作为举例,处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用指令集处理器(Application Specific Instruction-set Processor,ASIP)、图形处理单元(GraphicsProcessing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field Programmable GateArray,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(Reduced Instruction Set Computing,RISC)、或微处理器等,或其任意组合。
存储器201可以包括:包括大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(Read-Only Memory,ROM)等,或其任意组合。作为举例,大容量存储器可以包括磁盘、光盘、固态驱动器等;可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等;易失性读写存储器可以包括随机存取存储器(Random Access Memory,RAM);RAM可以包括动态RAM(Dynamic Random Access Memory,DRAM),双倍数据速率同步动态RAM(DoubleDate-Rate Synchronous RAM,DDR SDRAM);静态RAM(Static Random-Access Memory,SRAM),晶闸管RAM(Thyristor-Based Random Access Memory,T-RAM)和零电容器RAM(Zero-RAM)等。作为举例,ROM可以包括掩模ROM(Mask Read-Only Memory,MROM)、可编程ROM(Programmable Read-Only Memory,PROM)、可擦除可编程ROM(Programmable ErasableRead-only Memory,PEROM)、电可擦除可编程ROM(Electrically Erasable Programmableread only memory,EEPROM)、光盘ROM(CD-ROM)、以及数字通用磁盘ROM等。
实施例4
一种计算机可读存储介质,如图4所示,其上存储有计算机程序,其特征在于,该程序由处理器执行时实现本发明的数据传输方法所述的步骤。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据传输方法、数据传输装置进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种数据传输方法,其特征在于,包括:
从源数据库中获取数据包,将加密的服务器时间戳作为所述数据包的指纹;
将所述指纹与预存在目标数据库的指纹做对比,若一致,则将所述数据包的内容写入所述目标数据库;若不一致,则终止所述数据传输。
2.根据权利要求1所述的数据传输方法,其特征在于,该方法还包括:
从所述源数据库获取数据包时对所述数据包进行预校验,判断所述数据包是否包含所述目的数据库已有字段,
若包含,则将所述数据包中字段对应的值与所述目的数据库已有字段对应的值相比较,若相同,则终止所述数据传输;若不同,则继续所述数据传输,
若不包含,则继续所述数据传输。
3.根据权利要求2所述的数据传输方法,其特征在于,该方法还包括:
将所述数据包分解成子数据包,根据任意设置的通道数和/或线程数将所述子数据包分组进行传输。
4.根据权利要求3所述的数据传输方法,其特征在于,该方法还包括:
所述源数据库、所述目的数据库各自独立包括:Mysql、Oracle、DRDS、Hive或SQLServer。
5.根据权利要求4所述的数据传输方法,其特征在于,该方法还包括:
所述指纹为128位,通过MD5加密获得。
6.一种数据传输装置,其特征在于,所述装置包括:
数据库写入模块,用于从源数据库中获取数据包,将加密的服务器时间戳作为所述数据包的指纹;
写前校验模块,用于将所述指纹与预存在目标数据库的指纹做对比,若一致,则将所述数据包的内容写入所述目标数据库;若不一致,则终止所述数据传输。
7.根据权利要求6所述的数据传输装置,其特征在于,所述装置还包括:
预校验模块,从所述源数据库获取数据包时对所述数据包进行预校验,判断所述数据包是否包含所述目的数据库已有字段,若包含,则将所述数据包中字段对应的值与所述目的数据库字段对应的值相比较,若相同,则终止所述数据传输;若不同,则继续所述数据传输,
若不包含,则继续所述数据传输。
8.根据权利要求7所述的数据传输装置,其特征在于,所述装置还包括:
分配模块,用于将所述数据包分解成子数据包,根据任意设置的通道数和/或线程数将所述子数据包分组进行传输。
9.一种终端,所述终端包括存储器、处理器,所述存储器用于存储计算机程序;所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的数据传输方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序由处理器执行时实现权利要求1至5任一项所述的数据传输方法所述的步骤。
CN201911399587.7A 2019-12-30 2019-12-30 数据传输方法、装置、电子设备及存储介质 Pending CN111177267A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911399587.7A CN111177267A (zh) 2019-12-30 2019-12-30 数据传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911399587.7A CN111177267A (zh) 2019-12-30 2019-12-30 数据传输方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111177267A true CN111177267A (zh) 2020-05-19

Family

ID=70654266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911399587.7A Pending CN111177267A (zh) 2019-12-30 2019-12-30 数据传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111177267A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019575A (zh) * 2020-10-22 2020-12-01 腾讯科技(深圳)有限公司 数据包处理方法、装置、计算机设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140101444A1 (en) * 2012-10-09 2014-04-10 Samsung Sds Co., Ltd. Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer
CN106850377A (zh) * 2017-03-29 2017-06-13 北京润科通用技术有限公司 一种afdx总线消息的校验***及方法
CN108281174A (zh) * 2018-02-24 2018-07-13 量化医学研究院(深圳)有限公司 一种数据对接方法及数据对接***
CN108833080A (zh) * 2018-06-05 2018-11-16 中国联合网络通信集团有限公司 一种数据传输方法、装置和网络***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140101444A1 (en) * 2012-10-09 2014-04-10 Samsung Sds Co., Ltd. Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer
CN106850377A (zh) * 2017-03-29 2017-06-13 北京润科通用技术有限公司 一种afdx总线消息的校验***及方法
CN108281174A (zh) * 2018-02-24 2018-07-13 量化医学研究院(深圳)有限公司 一种数据对接方法及数据对接***
CN108833080A (zh) * 2018-06-05 2018-11-16 中国联合网络通信集团有限公司 一种数据传输方法、装置和网络***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019575A (zh) * 2020-10-22 2020-12-01 腾讯科技(深圳)有限公司 数据包处理方法、装置、计算机设备以及存储介质
CN112019575B (zh) * 2020-10-22 2021-01-29 腾讯科技(深圳)有限公司 数据包处理方法、装置、计算机设备以及存储介质

Similar Documents

Publication Publication Date Title
US10209908B2 (en) Optimization of in-memory data grid placement
CN110334075B (zh) 基于消息中间件的数据迁移方法及相关设备
CN107621973B (zh) 一种跨集群的任务调度方法及装置
KR20190098765A (ko) 데이터 처리 방법 및 디바이스
US9372879B1 (en) Balanced append tree data structure
US9535743B2 (en) Data processing control method, computer-readable recording medium, and data processing control device for performing a Mapreduce process
WO2017107812A1 (zh) 一种用户日志存储方法及设备
CN107085570A (zh) 数据处理方法、应用服务器和路由器
CN107402956A (zh) 大任务的数据处理方法、设备和计算机可读存储介质
CN104518987A (zh) 并行多线程报文处理的方法和装置
CN107070645A (zh) 比较数据表的数据的方法和***
CN111522811B (zh) 数据库的处理方法及装置、存储介质、终端
EP3933743A1 (en) Method and device for blockchain transaction tracing
CN112416654A (zh) 一种数据库日志重演方法、装置、设备及存储介质
CN106909556A (zh) 内存集群的存储均衡方法及装置
CN111177267A (zh) 数据传输方法、装置、电子设备及存储介质
WO2021174882A1 (zh) 数据分片校验方法、装置、计算机设备及可读存储介质
CN109241057A (zh) 一种用于分布式***的数字id生成方法
Julián-Moreno et al. On the feasibility of 40 gbps network data capture and retention with general purpose hardware
CN107368404A (zh) 一种审计管理方法及***
JP6899972B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN115951845A (zh) 一种磁盘管理方法、装置、设备及存储介质
US10540341B1 (en) System and method for dedupe aware storage quality of service
CN109726181B (zh) 一种数据处理方法及数据处理装置
CN109522915B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200519