CN108173891A - 基于广播机制实现数据同步的方法及装置 - Google Patents
基于广播机制实现数据同步的方法及装置 Download PDFInfo
- Publication number
- CN108173891A CN108173891A CN201611114939.6A CN201611114939A CN108173891A CN 108173891 A CN108173891 A CN 108173891A CN 201611114939 A CN201611114939 A CN 201611114939A CN 108173891 A CN108173891 A CN 108173891A
- Authority
- CN
- China
- Prior art keywords
- data
- files
- blocks
- file
- data 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于广播机制实现数据同步的方法及装置,该方法包括:获取待同步的数据文件;压缩数据文件;将经压缩的数据文件平均分割为多个文件块,并将分割得到的文件块映射到对应的数据结构中,数据结构的每个节点对应一个文件块;将文件块以数据消息的形式广播至与数据文件的业务类型对应的目标节点,其中,目标节点根据数据结构中节点的顺序将接收的文件块合并,并解压缩合并后的文件块,从而得到数据文件。本发明能够有效自动实现将待同步的数据进行高效压缩,并通过分布式应用进行分块处理,然后使用广播将分块数据分发到多个目标节点,最后在目标节点中合并和解压缩,最终实现数据文件的同步,保证了数据同步的性能和数据安全的可靠性。
Description
技术领域
本发明涉及计算机网络及计算机软件领域,具体涉及一种基于广播机制实现数据同步的方法及装置。
背景技术
随着大数据信息时代的到来,任何行业的数据都是以暴涨的形式增长,并且企业的各业务***之间的数据同步,以及各子业务***与核心业务***之间数据同步的需求也日渐凸显。
目前对于大数据同步方案大致包括:
(1)导出数据源的数据文件;
(2)将数据源的数据文件复制到目标节点上;
(3)在目标节点上将数据文件导入到目标数据源中。
然而,上述现有技术也存在如下缺点:
(1)该方案仅支持一对一操作,无法将数据源的数据文件同步到多个目标数据源中;
(2)操作过程中容易出错,一旦出错将到时导致数据丢失、错误;
(3)如果数据源的数据量很大,则将消耗大量的CUP、内存、带宽等资源。
发明内容
有鉴于此,本发明的目的在于提供一种基于广播机制实现数据同步的方法及装置,以解决现有技术中存在的上述缺陷。
本发明的技术方案是提供一种基于广播机制实现数据同步的方法,该方法包括:
获取待同步的数据文件;
压缩所述数据文件;
将经压缩的所述数据文件平均分割为多个文件块,并将分割得到的文件块映射到对应的数据结构中,所述数据结构的每个节点对应一个文件块;
将所述文件块以数据消息的形式广播至与所述数据文件的业务类型对应的目标节点,其中,所述目标节点根据所述数据结构中节点的顺序将接收的所述文件块合并,并解压缩合并后的所述文件块,从而得到所述数据文件。
可选地,所述数据结构包括但不限于:集合、链表、堆栈。
可选地,在将所述文件块映射到对应的所述链表的过程中,按照预设命名规则对所述文件块命名,所述链表的存储格式为key-value型。
可选地,该方法还包括:在将接收的所述文件块合并生成所述数据文件的过程中,将所述文件块按照所述预设命名规则合并和解压缩,生成所述数据文件。
本发明还提供一种基于广播机制实现数据同步的装置,所述装置包括:
数据采集模块,用于获取待同步的数据文件;
数据压缩模块,用于压缩所述数据文件;
数据分割模块,用于将经压缩的所述数据文件平均分割为多个文件块,并将分割得到的文件块映射到对应的数据结构中,所述数据结构的每个节点对应一个文件块;
数据同步模块,用于将所述文件块以数据消息的形式广播至与所述数据文件的业务类型对应的目标节点,其中,所述目标节点根据所述数据结构中节点的顺序将接收的所述文件块合并,并解压缩合并后的所述文件块,从而得到所述数据文件。
可选地,所述数据结构包括但不限于:集合、链表、堆栈。
可选地,所述数据分割模块还用于:在将所述文件块映射到对应的所述链表的过程中,按照预设命名规则对所述文件块命名,所述链表的存储格式为key-value型。
可选地,所述数据同步模块还用于:在将接收的所述文件块合并生成所述数据文件的过程中,将所述文件块按照所述预设命名规则合并和解压缩,生成所述数据文件。
通过本发明提供的基于广播机制实现数据同步的方法及装置,能够有效自动实现将待同步的数据进行高效压缩,并通过分布式应用进行分块处理,然后使用广播将分块数据分发到多个目标节点,最后在目标节点中合并和解压缩,最终实现数据文件的同步,保证了数据同步的性能和数据安全的可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明一实施例的基于广播机制实现数据同步的方法流程示意图;
图2为本发明一实施例的基于广播机制实现数据同步的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本领域技术技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,所涉及的术语中:
NDE:是一种数据压缩算法,并且是无损算法,实现的程序是线程安全的。
Hadoop:Hadoop是一个由Apache基金会所开发的分布式***基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
NoSQL数据库:泛指非关系型的数据库。
SQL数据库:SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
示例性方法
下面参考图1对本发明示例性实施方式的基于广播机制实现数据同步的方法进行介绍。该方法包括:
步骤S101:获取待同步的数据文件;
步骤S102:压缩所述数据文件;
步骤S103:将经压缩的所述数据文件平均分割为多个文件块,并将分割得到的文件块映射到对应的数据结构中,所述数据结构的每个节点对应一个文件块;
步骤S104:将所述文件块以数据消息的形式广播至与所述数据文件的业务类型对应的目标节点,其中,所述目标节点根据所述数据结构中节点的顺序将接收的所述文件块合并,并解压缩合并后的所述文件块,从而得到所述数据文件。
可选地,所述数据结构包括但不限于:集合、链表、堆栈。
可选地,在将所述文件块映射到对应的所述链表的过程中,按照预设命名规则对所述文件块命名,所述链表的存储格式为key-value型。
可选地,该方法还包括:在将接收的所述文件块合并生成所述数据文件的过程中,将所述文件块按照所述预设命名规则合并和解压缩,生成所述数据文件。
实施例
下面结合一个具体实施例对本发明进行具体描述,然而值得注意的是该具体实施例仅是为了更好地描述本发明,并不构成对本发明的不当限定。
首先,获取需要同步的数据并转换为文件。
在本发明一实施例中,获取待同步的数据文件包括但不限于如下形式,SQLserver数据库使用BCP命令获取,hadoop使用hadoopfs命令获取,MySQL数据库使用mysqldump命令获取,MongDB使用mongoexport命令获取。由于上述方法对于本领域的技术人员能够轻易知晓,故不在此详述。
其次,压缩所述数据文件。
具体来说,利用数据压缩算法对该数据文件进行数据压缩。在本发明一实施例中,根据数据文件的大小调整NDE压缩比率,以使数据压缩的过程简单、解压速度和消耗内存达到最优值。
然后,将经压缩的所述数据文件平均分割为多个文件块,并将分割得到的文件块映射到链表中,链表的每个节点对应一个文件块。
下面以数据结构为链表对数据分割的方法进行详细描述。
首先,根据数据文件预先配置的节点数量对该数据文件进行平均分割。
然后,遍历链表的每个节点,并将该数据文件分割后的文件块映射到链表上。
其中,链表中每个文件块的存储格式为:(KEY:节点标识,VALUE:被分割的文件块)。
同时,按分割顺序修改该些文件块的命名规则:原文件名_分块索引_分割文件总个数。
最后,将所述文件块以数据消息的形式广播至与所述数据文件的业务类型对应的目标节点,其中,所述目标节点根据所述链表中节点的顺序将接收的所述文件块合并,并解压缩合并后的所述文件块,从而得到所述数据文件。
首先,通过遍历链表上每一个节点存储的文件块,将每个文件块通过MQ消息的形式发送至广播中心。
其次,广播中心接收到所有文件块后,查找订阅节点,并将与订阅的业务类型对应的文件块下发到目标数据源的某一订阅节点。
然后,该订阅节点接收所有文件块后,解析这些文件块的命名规则,判断是否接收到某一个数据源的全部文件块。待收到全部文件块时,按分块索引的顺序合并这些文件块生成该数据文件。
最后,将合并的该数据文件解压,并根据不同的源数据类型导入到目标数据源中。
在本发明一实施例,导入到目标数据源的方式包括但不限于如下形式:SQLserver数据源使用BCP命令导入,hadoop使用hadoopfs命令导入,MySQL数据库使用mysqlimport命令导入,mongdb使用mongoimport命令导入等。
本发明还提供了一种基于广播机制实现数据同步的装置2,该装置2包括:
数据采集模块21,用于获取待同步的数据文件;
数据压缩模块22,用于压缩所述数据文件;
数据分割模块23,用于将经压缩的所述数据文件平均分割为多个文件块,并将分割得到的文件块映射到对应的数据结构中,所述数据结构的每个节点对应一个文件块;
数据同步模块24,用于将所述文件块以数据消息的形式广播至与所述数据文件的业务类型对应的目标节点,其中,所述目标节点根据所述数据结构中节点的顺序将接收的所述文件块合并,并解压缩合并后的所述文件块,从而得到所述数据文件。
可选地,所述数据结构包括但不限于:集合、链表、堆栈。
可选地,所述数据分割模块23还用于:在将所述文件块映射到对应的所述链表的过程中,按照预设命名规则对所述文件块命名,所述链表的存储格式为key-value型。
可选地,所述数据同步模块24还用于:在将接收的所述文件块合并生成所述数据文件的过程中,将所述文件块按照所述预设命名规则合并和解压缩,生成所述数据文件。
由于本发明提供的基于广播机制实现数据同步的装置是上述方法对应的装置,故在此不再赘述。
通过本发明提供的基于广播机制实现数据同步的方法及装置,能够有效自动实现将待同步的数据进行高效压缩,并通过分布式应用进行分块处理,然后使用广播将分块数据分发到多个目标节点,最后在目标节点中合并和解压缩,最终实现数据文件的同步,保证了数据同步的性能和数据安全的可靠性。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于广播机制实现数据同步的方法,其特征在于,所述方法包括:
获取待同步的数据文件;
压缩所述数据文件;
将经压缩的所述数据文件平均分割为多个文件块,并将分割得到的文件块映射到对应的数据结构中,所述数据结构的每个节点对应一个文件块;
将所述文件块以数据消息的形式广播至与所述数据文件的业务类型对应的目标节点,其中,所述目标节点根据所述数据结构中节点的顺序将接收的所述文件块合并,并解压缩合并后的所述文件块,从而得到所述数据文件。
2.根据权利要求1所述的方法,其特征在于,所述数据结构包括但不限于:集合、链表、堆栈。
3.根据权利要求2所述的方法,其特征在于,在将所述文件块映射到对应的所述链表的过程中,按照预设命名规则对所述文件块命名,所述链表的存储格式为key-value型。
4.根据权利要求3所述的方法,其特征在于,还包括:在将接收的所述文件块合并生成所述数据文件的过程中,将所述文件块按照所述预设命名规则合并和解压缩,生成所述数据文件。
5.一种基于广播机制实现数据同步的装置,其特征在于,所述装置包括:
数据采集模块,用于获取待同步的数据文件;
数据压缩模块,用于压缩所述数据文件;
数据分割模块,用于将经压缩的所述数据文件平均分割为多个文件块,并将分割得到的文件块映射到对应的数据结构中,所述数据结构的每个节点对应一个文件块;
数据同步模块,用于将所述文件块以数据消息的形式广播至与所述数据文件的业务类型对应的目标节点,其中,所述目标节点根据所述数据结构中节点的顺序将接收的所述文件块合并,并解压缩合并后的所述文件块,从而得到所述数据文件。
6.根据权利要求5所述的装置,其特征在于,所述数据结构包括但不限于:集合、链表、堆栈。
7.根据权利要求6所述的装置,其特征在于,所述数据分割模块还用于:
在将所述文件块映射到对应的所述链表的过程中,按照预设命名规则对所述文件块命名,所述链表的存储格式为key-value型。
8.根据权利要求7所述的装置,其特征在于,所述数据同步模块还用于:
在将接收的所述文件块合并生成所述数据文件的过程中,将所述文件块按照所述预设命名规则合并和解压缩,生成所述数据文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611114939.6A CN108173891A (zh) | 2016-12-07 | 2016-12-07 | 基于广播机制实现数据同步的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611114939.6A CN108173891A (zh) | 2016-12-07 | 2016-12-07 | 基于广播机制实现数据同步的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108173891A true CN108173891A (zh) | 2018-06-15 |
Family
ID=62526465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611114939.6A Pending CN108173891A (zh) | 2016-12-07 | 2016-12-07 | 基于广播机制实现数据同步的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108173891A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710586A (zh) * | 2018-12-28 | 2019-05-03 | 北京谷数科技有限公司 | 一种集群节点配置文件同步方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7075990B2 (en) * | 2001-08-28 | 2006-07-11 | Sbc Properties, L.P. | Method and system to improve the transport of compressed video data in real time |
CN101729522A (zh) * | 2008-10-31 | 2010-06-09 | 中卫星空移动多媒体网络有限公司 | 一种基于地面移动多媒体广播***的文件传输方法 |
US20110161666A1 (en) * | 2009-12-29 | 2011-06-30 | Cleversafe, Inc. | Digital content retrieval utilizing dispersed storage |
CN102201924A (zh) * | 2011-07-07 | 2011-09-28 | 无锡智感星际科技有限公司 | 一种基于rds单向广播通道分发文件的方法 |
CN102355314A (zh) * | 2011-06-29 | 2012-02-15 | 哈尔滨工业大学深圳研究生院 | 广播信息传输方法、服务器及终端 |
CN103532921A (zh) * | 2012-07-06 | 2014-01-22 | ***通信集团公司 | 文件发送方法、文件接收方法、服务器以及终端 |
CN103873517A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和*** |
-
2016
- 2016-12-07 CN CN201611114939.6A patent/CN108173891A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7075990B2 (en) * | 2001-08-28 | 2006-07-11 | Sbc Properties, L.P. | Method and system to improve the transport of compressed video data in real time |
CN101729522A (zh) * | 2008-10-31 | 2010-06-09 | 中卫星空移动多媒体网络有限公司 | 一种基于地面移动多媒体广播***的文件传输方法 |
US20110161666A1 (en) * | 2009-12-29 | 2011-06-30 | Cleversafe, Inc. | Digital content retrieval utilizing dispersed storage |
CN102355314A (zh) * | 2011-06-29 | 2012-02-15 | 哈尔滨工业大学深圳研究生院 | 广播信息传输方法、服务器及终端 |
CN102201924A (zh) * | 2011-07-07 | 2011-09-28 | 无锡智感星际科技有限公司 | 一种基于rds单向广播通道分发文件的方法 |
CN103532921A (zh) * | 2012-07-06 | 2014-01-22 | ***通信集团公司 | 文件发送方法、文件接收方法、服务器以及终端 |
CN103873517A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710586A (zh) * | 2018-12-28 | 2019-05-03 | 北京谷数科技有限公司 | 一种集群节点配置文件同步方法及装置 |
CN109710586B (zh) * | 2018-12-28 | 2019-09-13 | 北京谷数科技有限公司 | 一种集群节点配置文件同步方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254982B (zh) | 一种流数据处理方法、***、装置及计算机可读存储介质 | |
CN109522330B (zh) | 基于区块链的云平台数据处理方法、装置、设备及介质 | |
CN110019211A (zh) | 关联索引的方法、装置和*** | |
CN108733317B (zh) | 数据存储方法和装置 | |
CN110737663B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN110851468A (zh) | 对客户端的测试请求做出模拟响应的方法和装置 | |
CN110572422A (zh) | 数据下载方法和装置 | |
CN114666212B (zh) | 配置数据下发方法 | |
CN108733724A (zh) | 一种跨异构数据源实时连接方法及装置 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
CN113076304A (zh) | 一种分布式版本管理方法、装置和*** | |
CN108491499B (zh) | 数据采集方法、数据采集平台、客户端及业务服务器 | |
US20230315692A1 (en) | File sharing method, apparatus, and system | |
CN111241189A (zh) | 一种同步数据的方法和装置 | |
CN114327493A (zh) | 数据处理方法及装置、电子设备、计算机可读介质 | |
CN113641706B (zh) | 数据查询的方法和装置 | |
CN113312355A (zh) | 一种数据管理的方法和装置 | |
CN108173891A (zh) | 基于广播机制实现数据同步的方法及装置 | |
CN111814020A (zh) | 一种数据的获取方法和装置 | |
CN113536748A (zh) | 一种生成图表数据的方法和装置 | |
CN116108042A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN110705935A (zh) | 一种物流单据的处理方法和装置 | |
CN116383246A (zh) | 联合查询方法以及装置 | |
CN115495658A (zh) | 一种数据处理方法和装置 | |
US20210141791A1 (en) | Method and system for generating a hybrid data model |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180615 |