CN109408249A - 数据同步传输方法、系统、装置和存储介质 - Google Patents

数据同步传输方法、系统、装置和存储介质 Download PDF

Info

Publication number
CN109408249A
CN109408249A CN201811092725.2A CN201811092725A CN109408249A CN 109408249 A CN109408249 A CN 109408249A CN 201811092725 A CN201811092725 A CN 201811092725A CN 109408249 A CN109408249 A CN 109408249A
Authority
CN
China
Prior art keywords
message
producer
storage
subregion
partition
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
CN201811092725.2A
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN201811092725.2A priority Critical patent/CN109408249A/zh
Publication of CN109408249A publication Critical patent/CN109408249A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Abstract

本发明提供一种数据同步传输方法、系统、装置和存储介质,所述方法包括:消息生产者将生产的消息进行内部封装和投递;消息服务器接收所述消息生产者投递的消息并进行本地分区存储;消息消费者通过所述本地分区存储中每个分区内的消费线程,分别对所述每个分区内的消息进行消费处理。本发明通过消息服务器将信息从生产者传输到消费者,从而提高大容量网络数据同步传输效率。

Description

数据同步传输方法、系统、装置和存储介质
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据同步传输方法、系统、装置和存储介质。
背景技术
传统的银行项目产品使用单库方案,即全部数据存储于同一个逻辑数据库,随着业务量的增长,数据库中的数据量增长更加迅速,为支持高速业务的发展,必然出现高并发,大数据量的访问场景,使用单库解决方案带来的成本消耗是巨大的,同时由于数据量较大,此时数据库操作会十分耗时,系统的整体处理能力迅速下降。为了提高数据库访问效率,减少数据库访问时间,我行使用数据库的分库分表策略。由于分库分表的存在,必然带来可访问数据的应用服务器在物理部署上有差异。业务系统在记录流水时,出现数据分布于不同数据库的情况。我行的业务系统中,同一份业务数据供多组件使用的情况比较普遍,对数据的同步成为一个亟需解决的问题。在综合考虑当前业界解决方案,考虑各方成本,我们最终选用通过异步消息将流水复制供多方使用数据库的解决方案。
当前采用多方数据库共享数据方式,多个组件使用同一个数据库,主业务逻辑处理数据后,由其他组件再进行相应处理,某些同步性要求比较高的组件则使用串行插入多张表的方式实现,这对业务系统的性能造成极大消耗。
发明内容
为解决上述技术问题,本发明提供一种数据同步传输方法、系统、装置和存储介质,解决当前交易数据一致性差的问题。
根据本发明实施例的第一方面,提供了一种数据同步传输方法,所述方法包括:
消息生产者将生产的消息进行内部封装和投递;
消息服务器接收所述消息生产者投递的消息并进行本地分区存储;
消息消费者通过所述本地分区存储中每个分区内的消费线程,分别对所述每个分区内的消息进行消费处理。
根据本发明实施例的第二方面,一种数据同步传输系统,所述系统包括:
消息生产者,用于将生产的消息进行内部封装和投递;
消息服务器,用于接收所述消息生产者投递的消息并进行本地分区存储;
消息消费者,用于通过所述本地分区存储中每个分区内的消费线程,分别对所述每个分区内的消息进行消费处理。
根据本发明实施例的第三方面,提供一种计算机可读存储介质,所述计算机存储介质包含有计算机程序,其中,所述计算机程序在被一个或多个计算机执行时使得所述一个或多个计算机执行如下操作:
所述操作包括如上中任一项所述数据同步传输方法所包含的步骤。
根据本发明实施例的第四方面,提供一种数据同步传输装置,所述装置包括:
存储器,存储有计算机可读指令;
处理器,执行所述计算机可读指令以执行如上所述的数据同步传输方法所包含的步骤。
实施本发明实施例提供的一种数据同步传输方法、系统、装置和存储介质,具有以下优点:可提高数据同步数据传输效率。
附图说明
图1是本发明实施例的一种数据同步传输方法的流程图;
图2是本发明实施例的一种数据同步传输系统1的结构示意图。
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图1是本发明实施例的一种数据同步传输方法的流程图,参见图1,所述方法包括:
步骤S1,消息生产者将生产的消息进行内部封装和投递;
步骤S2,消息服务器接收所述消息生产者投递的消息并进行本地分区存储;
步骤S3,消息消费者通过所述本地分区存储中每个分区内的消费线程,分别对所述每个分区内的消息进行消费处理。
其中,消息生产者、消息服务器、消息消费者,分别对应业务系统中流水产生方,消息服务器,流水被同步方。
在本发明的实施方式中,所述将生产的消息进行内部封装包括:将所述消息封装为消息头和消息体,其中,所述消息头用于定义消息关键属性,所述消息体采用序列化字符存储。消息头中定义类如topicName、bizId、msgId、sndTime等关键属性用于追踪一条记录的同步状况。消息体采用序列化的字符方式存储,用以高效传输。
在本发明的实施方式中,所述本地分区存储包括:所述消息中的指定名称对应指定分区,所述消息服务器根据所述指定分区存储所述消息。消息发送,消息按照用户指定的TOPIC名称,并且根据消息分区KEY投递到指定的TOPIC的相应的分区,并且能保证相同的分区KEY的消息存储在同一个分区内,同一分区的消息将被顺序消费。消息服务器接收到消息后,将消息进行持久化,且每个TOPIC的消息数据按照分区会均匀地分布在不同的服务器上面,并且每条消息会在多台服务器上面进行存储,以防止某台服务器宕机后消息丢失。同一个消费组的消费线程均匀地分布在不同的机器上面,每个消费线程消费一个或多个TOPIC分区的消息,一个分区只能被一个消费线程消费。
在本发明的实施方式中,所述方法还包括:所述消息服务器接收所述消息生产者投递的消息后,对所述消息进行持久化处理。一条需要同步的消息由业务发生组件产生,通过内部封装,向消息服务器投递,消息服务器收到消息后,进行本地存储化,等待消息消费方进行拉取消费。
本发明通过消息服务器将信息从生产者传输到消费者,从而提高大容量网络数据同步传输效率。
图2是本发明实施例的一种数据同步传输系统1的结构示意图,参见图2,所述系统1包括:
消息生产者100,用于将生产的消息进行内部封装和投递;
消息服务器200,用于接收所述消息生产者投递的消息并进行本地分区存储;
消息消费者300,用于通过所述本地分区存储中每个分区内的消费线程,分别对所述每个分区内的消息进行消费处理。
其中,消息生产者、消息服务器、消息消费者,分别对应业务系统中流水产生方,消息服务器,流水被同步方。
在本发明的实施方式中,所述将生产的消息进行内部封装包括:将所述消息封装为消息头和消息体,其中,所述消息头用于定义消息关键属性,所述消息体采用序列化字符存储。消息头中定义类如topicName、bizId、msgId、sndTime等关键属性用于追踪一条记录的同步状况。消息体采用序列化的字符方式存储,用以高效传输。
在本发明的实施方式中,所述本地分区存储包括:所述消息中的指定名称对应指定分区,所述消息服务器根据所述指定分区存储所述消息。消息发送,消息按照用户指定的TOPIC名称,并且根据消息分区KEY投递到指定的TOPIC的相应的分区,并且能保证相同的分区KEY的消息存储在同一个分区内,同一分区的消息将被顺序消费。消息服务器接收到消息后,将消息进行持久化,且每个TOPIC的消息数据按照分区会均匀地分布在不同的服务器上面,并且每条消息会在多台服务器上面进行存储,以防止某台服务器宕机后消息丢失。同一个消费组的消费线程均匀地分布在不同的机器上面,每个消费线程消费一个或多个TOPIC分区的消息,一个分区只能被一个消费线程消费。
在本发明的实施方式中,所述消息服务器接收所述消息生产者投递的消息还包括:所述消息服务器接收所述消息生产者投递的消息后,对所述消息进行持久化处理。一条需要同步的消息由业务发生组件产生,通过内部封装,向消息服务器投递,消息服务器收到消息后,进行本地存储化,等待消息消费方进行拉取消费。
本发明通过消息服务器将信息从生产者传输到消费者,从而提高大容量网络数据同步传输效率。
需要说明的是,所述数据同步传输方法的操作包括如上所述的所包含的步骤与上述数据同步传输系统的操作方式相同,具体内容在此不再赘述。
另外,本发明还提供一种计算机可读存储介质,所述计算机存储介质包含有计算机程序,所述计算机程序在被一个或多个计算机执行时使得所述一个或多个计算机执行如下操作:所述操作包括如上所述数据同步传输方法所包含的步骤,在此不再赘述。需要说明的是,所述计算机可读存储介质可包括例如ROM/RAM、磁碟、光盘、磁盘、闪存等多种存储介质,用以存储可执行上述计算机程序的存储介质。
另外,本发明还提供一种数据同步传输装置,所述装置包括:
存储器,存储有计算机可读指令;
处理器,执行所述计算机可读指令以执行如上所述的数据同步传输方法所包含的步骤。需要说明的是,所述装置包括:例如,智能终端、移动设备、笔记本电脑、台式计算机、服务器,或者网络设备等多种装置。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明的保护范围,因此依本发明权利要求的教导对上述实施例所作的等同变化,仍属于本发明权利要求所涵盖的范围内。

Claims (10)

1.一种数据同步传输方法,其特征在于,所述方法包括:
消息生产者将生产的消息进行内部封装和投递;
消息服务器接收所述消息生产者投递的消息并进行本地分区存储;
消息消费者通过所述本地分区存储中每个分区内的消费线程,分别对所述每个分区内的消息进行消费处理。
2.如权利要求1所述方法,其特征在于,所述将生产的消息进行内部封装包括:
将所述消息封装为消息头和消息体,其中,所述消息头用于定义消息关键属性,所述消息体采用序列化字符存储。
3.如权利要求1所述方法,其特征在于,所述本地分区存储包括:
所述消息中的指定名称对应指定分区,所述消息服务器根据所述指定分区存储所述消息。
4.如权利要求1-3任一项所述方法,其特征在于,所述方法还包括:
所述消息服务器接收所述消息生产者投递的消息后,对所述消息进行持久化处理。
5.一种数据同步传输系统,其特征在于,所述系统包括:
消息生产者,用于将生产的消息进行内部封装和投递;
消息服务器,用于接收所述消息生产者投递的消息并进行本地分区存储;
消息消费者,用于通过所述本地分区存储中每个分区内的消费线程,分别对所述每个分区内的消息进行消费处理。
6.如权利要求5所述系统,其特征在于,所述将生产的消息进行内部封装包括:
将所述消息封装为消息头和消息体,其中,所述消息头用于定义消息关键属性,所述消息体采用序列化字符存储。
7.如权利要求5所述系统,其特征在于,所述本地分区存储包括:
所述消息中的指定名称对应指定分区,所述消息服务器根据所述指定分区存储所述消息。
8.如权利要求5-7任一项所述系统,其特征在于,所述消息服务器接收所述消息生产者投递的消息还包括:
所述消息服务器接收所述消息生产者投递的消息后,对所述消息进行持久化处理。
9.一种计算机可读存储介质,所述计算机存储介质包含有计算机程序,其特征在于,所述计算机程序在被一个或多个计算机执行时使得所述一个或多个计算机执行如下操作:
所述操作包括如权利要求1-4中任一项所述数据同步传输方法所包含的步骤。
10.一种数据同步传输装置,其特征在于,所述装置包括:
存储器,存储有计算机可读指令;
处理器,执行所述计算机可读指令以执行如权利要求1-4中任一项所述的数据同步传输方法所包含的步骤。
CN201811092725.2A 2018-09-17 2018-09-17 数据同步传输方法、系统、装置和存储介质 Pending CN109408249A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811092725.2A CN109408249A (zh) 2018-09-17 2018-09-17 数据同步传输方法、系统、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811092725.2A CN109408249A (zh) 2018-09-17 2018-09-17 数据同步传输方法、系统、装置和存储介质

Publications (1)

Publication Number Publication Date
CN109408249A true CN109408249A (zh) 2019-03-01

Family

ID=65465877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811092725.2A Pending CN109408249A (zh) 2018-09-17 2018-09-17 数据同步传输方法、系统、装置和存储介质

Country Status (1)

Country Link
CN (1) CN109408249A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162401A (zh) * 2019-05-24 2019-08-23 广州中望龙腾软件股份有限公司 Dwg文件并行读取方法、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101315609A (zh) * 2007-05-31 2008-12-03 华为技术有限公司 实现单进程中组件间进行通信的装置和方法
CN104809028A (zh) * 2015-05-07 2015-07-29 厦门雅迅网络股份有限公司 一种本地多进程间数据订阅推送的方法
CN106210101A (zh) * 2016-07-20 2016-12-07 上海携程商务有限公司 消息管理系统及消息管理方法
CN106375462A (zh) * 2016-09-13 2017-02-01 北京百度网讯科技有限公司 在分布式消息系统中实现消息持久化的方法及装置
CN107835203A (zh) * 2017-08-09 2018-03-23 平安壹钱包电子商务有限公司 消息分组投递的方法、装置、存储介质及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101315609A (zh) * 2007-05-31 2008-12-03 华为技术有限公司 实现单进程中组件间进行通信的装置和方法
CN104809028A (zh) * 2015-05-07 2015-07-29 厦门雅迅网络股份有限公司 一种本地多进程间数据订阅推送的方法
CN106210101A (zh) * 2016-07-20 2016-12-07 上海携程商务有限公司 消息管理系统及消息管理方法
CN106375462A (zh) * 2016-09-13 2017-02-01 北京百度网讯科技有限公司 在分布式消息系统中实现消息持久化的方法及装置
CN107835203A (zh) * 2017-08-09 2018-03-23 平安壹钱包电子商务有限公司 消息分组投递的方法、装置、存储介质及终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周贤伟等: "《智能通信》", 31 January 2009 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162401A (zh) * 2019-05-24 2019-08-23 广州中望龙腾软件股份有限公司 Dwg文件并行读取方法、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN109739929A (zh) 数据同步方法、装置及系统
CN112307037B (zh) 一种数据同步方法和装置
CN109271450A (zh) 数据库同步方法、装置、服务器和存储介质
CN105335513B (zh) 一种分布式文件系统及文件存储方法
CN104537076B (zh) 一种文件读写方法及装置
CN107357896A (zh) 数据库集群的扩容方法、装置、系统和数据库集群系统
CN106909451A (zh) 一种分布式任务调度系统及方法
CN103631873B (zh) 一种数据压缩方法及存储系统
CN107295031A (zh) 一种数据同步方法及装置
CN104348793B (zh) 存储服务器系统及数据信息的存储方法
CN110147287A (zh) 一种消息队列收发系统及方法
CN107026880A (zh) 数据同步方法和装置
CN110704465A (zh) 一种处理业务工单表的方法、装置及存储介质
CN109408249A (zh) 数据同步传输方法、系统、装置和存储介质
CN104715044B (zh) 一种分布式系统及其数据操作方法
US20050165888A1 (en) Peer-to-peer data binding
CN106909460B (zh) 数据缓冲方法、装置及存储介质
CN110162410A (zh) 一种消息处理方法和装置
CN111460038A (zh) 一种数据准实时同步方法及装置
CN108170802A (zh) 一种数据分类缓存下发方法及系统装置
Lerat et al. Single node deep learning frameworks: Comparative study and CPU/GPU performance analysis
EP3269097A1 (en) Architecture for large data management in communication applications through multiple mailboxes
CN110399248A (zh) 一种镜像文件创建、获取方法、装置及服务器
CN111369302A (zh) 实时生成积分的方法、系统及计算机可读存储介质
CN110018782A (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: 20190301

RJ01 Rejection of invention patent application after publication