CN112087501B - 保持数据一致性的传输方法及系统 - Google Patents
保持数据一致性的传输方法及系统 Download PDFInfo
- Publication number
- CN112087501B CN112087501B CN202010883459.6A CN202010883459A CN112087501B CN 112087501 B CN112087501 B CN 112087501B CN 202010883459 A CN202010883459 A CN 202010883459A CN 112087501 B CN112087501 B CN 112087501B
- Authority
- CN
- China
- Prior art keywords
- message
- partition
- offset
- temporary file
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000005192 partition Methods 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 230000005856 abnormality Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种保持数据一致性的传输方法及系统,用于消息中间件和文件系统之间的数据传输,传输方法包括:初次定位步骤:消费者消费消息时指定消费的偏移量;处理步骤:从消息中间件拉取一批消息写入文件系统的临时文件,并根据临时文件中包含的消息所属的分区和对应的最大偏移量对临时文件进行重新命名。由此实现从消息中间件到文件系统的数据的准确搬运。
Description
技术领域
本发明涉及一种传输方法及系统,具体地说,尤其涉及一种实现从消息中间件到分布式文件系统的保持数据一致性的传输方法及系统。
背景技术
随着互联网的飞速发展,原生flume的hdfs-sink,配合kafkachannel也是实现将消息中间件(kafka)中的数据搬运到分布式文件系统(hdfs)上,但是该方案的具体实现会导致数据重复,也就是提供at leastonce的语义;该方案使用transaction控制消息处理,当处理从kafka消费到的一批消息时候,例如100条消息,在将这100条消息写入hdfs的过程中,如果写入50条的时候出错了,transaction会rollback,文件会被关闭;此时会将100条数据都回滚重新处理,但是已经写入50条数据到hdfs了,导致数据重复;还有一种情况是现有方案是手动管理偏移量(offset)提交,而offset的提交是在transaction的最后执行,如果写入一半节点掉线,但是部分消息已经写入hdfs,已经处理过的消息与kafka上记录的分区offset不一致,其他节点接管这个分区时候会从kafka上记录的offset开始消费从而数据重复。
发明人发现上述方案主要存在的问题如下:
1、发生异常时候对于外部目标系统没有回滚;
2、记录已经处理过的消息的offset和完成对数据的处理是分开的两步操作,而不是原子的,通常是完成对数据的处理后才会记录offset,但是如果数据处理完了还没有记录offset节点就宕机了,那么下次继续从记录的offset继续处理会导致重复处理。
因此亟需开发一种克服上述缺陷的从消息中间件到分布式文件系统的保持数据一致性的传输方法及系统。
发明内容
针对上述问题,本发明提供一种保持数据一致性的传输方法,其中,用于消息中间件和文件系统之间的数据传输,所述传输方法包括:
初次定位步骤:消费者消费消息时指定消费的偏移量;
处理步骤:从消息中间件拉取一批消息写入文件系统的临时文件,并根据临时文件中包含的消息所属的分区和对应的最大偏移量对临时文件进行重新命名。
上述的传输方法,其中,所述初次定位步骤中包括:
分配步骤:消费者组中的每一消费者根据消息中间件的分区和消费者个数为每个消费者分配分区;
查找步骤:每个消费者根据分配到的分区在文件系统上查找开始消费位置,将分配到的分区的开始消费位置的偏移量设置为查找到的分区对应的最后偏移量的下一条消息的偏移量。
上述的传输方法,其中,所述处理步骤中包括:
消息获取步骤:从消息中间件获取消息;
判断步骤:判断临时文件是否打开;
写入步骤:根据判断结果向临时文件写入消息;
重命名步骤:根据消息所属分区和最后一条消息对应的分区的最大偏移量重新命名临时文件。
上述的传输方法,其中,所述写入步骤包括:当临时文件未被打开,则清空维护的分区和偏移记录后写入消息;若临时文件已经打开,直接写入消息。
上述的传输方法,其中,所述写入步骤还包括实时判断写入的消息数量是否达到阈值,当达到阈值时关闭临时文件。
上述的传输方法,其中,还包括异常回滚步骤:写入文件系统的过程中,如果出现任何异常,则清空本地消息缓存,关闭临时文件,在文件系统上从当前时间开始向前查找确定的分区的最后偏移量,然后将开始消费位置设置为找到的最后偏移量的下一个位置后开始写入步骤。
上述的传输系统,其中,用于消息中间件和文件系统之间的数据传输,所述传输系统包括:
初次定位单元:消费者消费消息时指定消费的偏移量;
处理单元:从消息中间件拉取一批消息写入文件系统的临时文件,并根据临时文件中包含的消息所属的分区和对应的最大偏移量对临时文件进行重新命名。
上述的传输系统,其中,所述初次定位单元包括:
分配模块:消费者组中的每一消费者根据消息中间件的分区和消费者个数为每个消费者分配分区;
查找模块:每个消费者根据分配到的分区在文件系统上查找开始消费位置,将分配到的分区的开始消费位置的偏移量设置为查找到的分区对应的最后偏移量的下一条消息的偏移量。
上述的传输系统,其中,所述处理单元包括:
消息获取模块:从消息中间件获取消息;
判断模块:判断临时文件是否打开;
写入模块:根据判断结果向临时文件写入消息;
重命名模块:根据消息所属分区和最后一条消息对应的分区的最大偏移量重新命名临时文件;
其中,当判断模块判断临时文件未被打开,写入模块则清空维护的分区和偏移记录后写入消息;当判断模块判断临时文件已经打开,写入模块直接写入消息;写入模块还实时判断写入的消息数量是否达到阈值,当达到阈值时关闭临时文件。
上述的传输系统,其中,还包括异常回滚单元:写入文件系统的过程中,如果出现任何异常,则清空本地消息缓存,关闭临时文件,在文件系统上从当前时间开始向前查找确定的分区的最后偏移量,然后将开始消费位置设置为找到的最后偏移量的下一个位置后开始写入。
综上所述,本发明相对于现有技术其功效在于:本发明实现从消息中间件kafka到分布式文件系统hdfs的数据搬运准确,即提供exactlyonce语义,既不丢失数据也不会有重复数据。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的传输方法的流程图;
图2为图1中步骤S1的分步骤流程图;
图3为图1中步骤S2的分步骤流程图;
图4为本发明的传输系统的结构示意图。
其中,附图标记为:
初次定位单元:11;
处理单元:12;
分配模块:111;
查找模块:112;
消息获取模块:121;
判断模块:122;
写入模块:123;
重命名模块:124;
异常回滚单元:13;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、“S1”、“S2”、…等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
Kafka是一种高吞吐的分布式发布订阅消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区、多副本、冗余,因此被广泛用于大规模消息数据处理应用。Kafka支持Java及多种其它语言客户端,可与Hadoop、Storm、Spark等其它大数据工具结合使用。
Broker:Kafka集群包含一个或多个服务器,这些服务器就是Broker。
Topic:每条发布到Kafka集群的消息都必须有一个Topic。
Partition:是物理概念上的分区,为了提供系统吞吐率,在物理上每个Topic会分成一个或多个Partition,每个Partition对应一个文件夹。
Producer:消息产生者,负责生产消息并发送到Kafka Broker。
Consumer:消息消费者,向kafka broker读取消息并处理的客户端。
Consumer Group:每个Consumer属于一个特定的组,组可以用来实现一条消息被组内多个成员消费等功能。
分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是ApacheHadoop Core项目的一部分。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
偏移量(offset):把存储单元的实际地址与其所在段的段地址之间的距离。
本发明针对将数据从消息队列中消费出来,经过处理,之后写入文件系统的过程,通过将处理过的消息的offset存储到文件名中,将完成数据处理和记录处理进度合成一个原子操作来提供exactlyonce语义,从而实现消息一致与精确一次(exactly once)语义处理。
请参照图1,图1为本发明的传输方法的流程图。如图1所示,本发明的保持数据一致性的传输方法用于消息中间件和文件系统之间的数据传输,所述传输方法包括:
初次定位步骤S1:消费者消费消息时指定消费的偏移量;
处理步骤S2:从消息中间件拉取一批消息写入文件系统的临时文件,并根据临时文件中包含的消息所属的分区和对应的最大偏移量对临时文件进行重新命名。
进一步地,请参照图2,图2为图1中步骤S1的分步骤流程图。如图2所示,所述初次定位步骤S1中包括:
分配步骤S11:消费者组中的每一消费者根据消息中间件的分区和消费者个数为每个消费者分配分区;
查找步骤S12:每个消费者根据分配到的分区在文件系统上查找开始消费位置,将分配到的分区的开始消费位置的偏移量设置为查找到的分区对应的最后偏移量的下一条消息的偏移量。
具体地说,系统初次启动时候,由于分布式文件系统hdfs上没有任何文件,默认从消息中间件的分区最开始消费消息;若系统运行过程中启动新的消费者加入消费者组,首先每个消费者会根据分配到的分区去分布式文件系统hdfs上查找需要从何处开始消费数据offset;具体为从当前时间目录开始向前找到分区最后成功写入分布式文件系统hdfs的消息的偏移量offset,然后将自己分配到的分区的偏移量offset设置为查找到的分区对应的最后偏移量的下一条消息的偏移量,然后开始处理步骤S2。
再进一步地,请参照图3,图3为图1中步骤S2的分步骤流程图。如图3所示,所述处理步骤S2中包括:
消息获取步骤S21:从消息中间件获取消息;
判断步骤S22:判断临时文件是否打开;
写入步骤S23:根据判断结果向临时文件写入消息;
重命名步骤S24:根据消息所属分区和最后一条消息对应的分区的最大偏移量重新命名临时文件。
其中,所述写入步骤S23包括:当临时文件未被打开,则清空维护的分区和偏移记录后写入消息;若临时文件已经打开,直接写入消息。
值得注意的是,在本实施例中,所述写入步骤S23还包括实时判断写入的消息数量是否达到阈值,当达到阈值时关闭临时文件。
具体地说,从消息中间件kafka中拉取一批消息,判断分布式文件系统hdfs的临时文件是否打开;没有则打开新的临时文件,同时清空维护的分区和偏移记录,写入数据;若文件已经打开,直接写入;同时记录写入的消息属于哪个分区以及对应的offset;判断文件尺寸是否达到关闭阈值,达到则关闭临时文件,根据文件中包含消息所属分区和最后一条消息对应的分区的最大偏移量offset重新命名临时文件。
更进一步地,所述传输方法还包括异常回滚步骤S3:写入文件系统的过程中,如果出现任何异常,则清空本地消息缓存,关闭临时文件,在文件系统上从当前时间开始向前查找确定的分区的最后偏移量,然后将开始消费位置设置为找到的最后偏移量的下一个位置后开始写入步骤S23。
在从消息中间件kafka拉取一批消息,写入分布式文件系统hdfs的过程中,如果出现任何异常,则清空本地消息缓存,关闭临时文件,在分布式文件系统hdfs上从当前时间开始向前查找分配到的分区的最后偏移量offset,然后将消费者开始消费的位置设置为找到的最后偏移量offset的下一个位置后开始写入步骤S23。
以下举例说明本发明的传输方法,系统功能是将外部源系统的数据处理后写入外部目标系统,处理流程分为三种:初次定位、正常处理及异常回滚。
初次定位:
系统初次启动时候,由于hdfs上没有任何文件,默认从分区(中间件的分区)最开始消费消息;若系统运行过程中启动新的消费者加入消费者组,首先会根据分配到的分区去hdfs上查找需要从何处开始消费数据offset;具体为从当前时间目录开始向前找到分区最后成功写入hdfs的消息的offset,然后将自己分配到的分区的offset设置到下一条消息,然后开始正常处理;
正常处理:
从kafka拉取一批消息,判断临时文件是否打开;没有则打开新的临时文件,同时清空维护的分区和偏移记录,写入数据;若文件已经打开,直接写入;同时记录写入的消息属于哪个分区以及对应的offset;判断文件尺寸是否达到关闭阈值,达到则关闭临时文件,根据文件中包含消息所属分区和对应的offset重新命名临时文件;
异常回滚:
在从kafka拉取一批消息,写入hdfs的过程中,如果出现任何异常,则清空本地消息缓存,关闭临时文件,在hdfs上从当前时间开始向前查找分配到的分区的最后offset,然后将消费者开始消费的位置设置为找到的offset的下一个位置,开始正常处理。
请参照图4,图4为本发明的传输系统的结构示意图。如图4所示,本发明的保持数据一致性的传输系统,用于消息中间件和文件系统之间的数据传输,所述传输系统包括:
初次定位单元11:消费者消费消息时指定消费的偏移量;
处理单元12:从消息中间件拉取一批消息写入文件系统的临时文件,并根据临时文件中包含的消息所属的分区和对应的最大偏移量对临时文件进行重新命名。
进一步地,所述初次定位单元11包括:
分配模块111:消费者组中的每一消费者根据消息中间件的分区和消费者个数为每个消费者分配分区;
查找模块112:每个消费者根据分配到的分区在文件系统上查找开始消费位置,将分配到的分区的开始消费位置的偏移量设置为查找到的分区对应的最后偏移量的下一条消息的偏移量。
再进一步地,所述处理单元12包括:
消息获取模块121:从消息中间件获取消息;
判断模块122:判断临时文件是否打开;
写入模块123:根据判断结果向临时文件写入消息;
重命名模块124:根据消息所属分区和最后一条消息对应的分区的最大偏移量重新命名临时文件;
其中,当判断模块122判断临时文件未被打开,写入模块123则清空维护的分区和偏移记录后写入消息;当判断模块122判断临时文件已经打开,当写入模块123直接写入消息;写入模块还实时判断写入的消息数量是否达到阈值,当达到阈值时关闭临时文件。
更进一步地,所述传输系统还包括异常回滚单元13:写入文件系统的过程中,如果出现任何异常,异常回滚单元13则清空本地消息缓存,关闭临时文件,在文件系统上从当前时间开始向前查找确定的分区的最后偏移量,然后将开始消费位置设置为找到的最后偏移量的下一个位置后开始写入。
综上所述,本发明利用下面3个关键技术:
1、从消息中间件kafka消费消息时候可以指定消费的offset(外部源系统提供从指定位置消费数据功能);
2、消息写入hdfs时候首先写入临时文件,到达一定尺寸关闭(回滚技术);
3、根据该临时文件中包含的分区的最后一条消息的offset,对临时文件进行重命名,因此文件名中包含该文件中的消息属于哪个kafka分区以及该分区最后一条消息的offset的信息(相当于将完成数据处理和记录offset放到一个原子操作中)。
由此,本发明实现从消息中间件kafka到分布式文件系统hdfs的数据搬运准确,即提供exactlyonce语义,既不丢失数据也不会有重复数据。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种保持数据一致性的传输方法,其特征在于,用于消息中间件和文件系统之间的数据传输,所述传输方法包括:
初次定位步骤:消费者消费消息时指定消费的偏移量;
处理步骤:从消息中间件拉取一批消息写入文件系统的临时文件,并根据临时文件中包含的消息所属的分区和对应的最大偏移量对临时文件进行重新命名;
其中,所述处理步骤中包括:
消息获取步骤:从消息中间件获取消息;
判断步骤:判断临时文件是否打开;
写入步骤:根据判断结果向临时文件写入消息,同时记录写入的消息所属的分区以及对应的偏移量,实时判断写入的消息数量是否达到阈值,当达到阈值时关闭临时文件;
重命名步骤:根据消息所属分区和最后一条消息对应的分区的最大偏移量重新命名临时文件。
2.如权利要求1所述的传输方法,其特征在于,所述初次定位步骤中包括:
分配步骤:消费者组中的每一消费者根据消息中间件的分区和消费者个数为每个消费者分配分区;
查找步骤:每个消费者根据分配到的分区在文件系统上查找开始消费位置,将分配到的分区的开始消费位置的偏移量设置为查找到的分区对应的最后偏移量的下一条消息的偏移量。
3.如权利要求1所述的传输方法,其特征在于,所述写入步骤包括:当临时文件未被打开,则清空维护的分区和偏移记录后写入消息;若临时文件已经打开,直接写入消息。
4.如权利要求1所述的传输方法,其特征在于,还包括异常回滚步骤:写入文件系统的过程中,如果出现任何异常,则清空本地消息缓存,关闭临时文件,在文件系统上从当前时间开始向前查找确定的分区的最后偏移量,然后将开始消费位置设置为找到的最后偏移量的下一个位置后开始写入步骤。
5.一种保持数据一致性的传输系统,其特征在于,用于消息中间件和文件系统之间的数据传输,所述传输系统包括:
初次定位单元:消费者消费消息时指定消费的偏移量;
处理单元:从消息中间件拉取一批消息写入文件系统的临时文件,并根据临时文件中包含的消息所属的分区和对应的最大偏移量对临时文件进行重新命名;
其中,所述处理单元包括:
消息获取模块:从消息中间件获取消息;
判断模块:判断临时文件是否打开;
写入模块:根据判断结果向临时文件写入消息;
重命名模块:根据消息所属分区和最后一条消息对应的分区的最大偏移量重新命名临时文件;
其中,当判断模块判断临时文件未被打开,写入模块则清空维护的分区和偏移记录后写入消息;当判断模块判断临时文件已经打开,写入模块直接写入消息;写入模块同时记录写入的消息所属的分区以及对应的偏移量,写入模块还实时判断写入的消息数量是否达到阈值,当达到阈值时关闭临时文件。
6.如权利要求5所述的传输系统,其特征在于,所述初次定位单元包括:
分配模块:消费者组中的每一消费者根据消息中间件的分区和消费者个数为每个消费者分配分区;
查找模块:每个消费者根据分配到的分区在文件系统上查找开始消费位置,将分配到的分区的开始消费位置的偏移量设置为查找到的分区对应的最后偏移量的下一条消息的偏移量。
7.如权利要求5所述的传输系统,其特征在于,还包括异常回滚单元:写入文件系统的过程中,如果出现任何异常,则清空本地消息缓存,关闭临时文件,在文件系统上从当前时间开始向前查找确定的分区的最后偏移量,然后将开始消费位置设置为找到的最后偏移量的下一个位置后开始写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883459.6A CN112087501B (zh) | 2020-08-28 | 2020-08-28 | 保持数据一致性的传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883459.6A CN112087501B (zh) | 2020-08-28 | 2020-08-28 | 保持数据一致性的传输方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087501A CN112087501A (zh) | 2020-12-15 |
CN112087501B true CN112087501B (zh) | 2023-10-24 |
Family
ID=73729235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010883459.6A Active CN112087501B (zh) | 2020-08-28 | 2020-08-28 | 保持数据一致性的传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112087501B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506862A (zh) * | 2020-12-28 | 2021-03-16 | 浪潮云信息技术股份公司 | 一种自定义保存Kafka Offset的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598762A (zh) * | 2016-12-29 | 2017-04-26 | 上海理想信息产业(集团)有限公司 | 一种消息同步方法及系统 |
CN107391672A (zh) * | 2017-07-21 | 2017-11-24 | 中国联合网络通信集团有限公司 | 数据的读写方法及消息化的分布式文件系统 |
CN107704604A (zh) * | 2017-10-16 | 2018-02-16 | 中汇信息技术(上海)有限公司 | 一种消息持久化方法、服务器和计算机可读存储介质 |
CN108255610A (zh) * | 2018-01-12 | 2018-07-06 | 上海瀚银信息技术有限公司 | 一种消息中介传输系统 |
CN110162410A (zh) * | 2018-02-12 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 一种消息处理方法和装置 |
CN110213068A (zh) * | 2018-03-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种消息中间件的监控方法及相关设备 |
CN111427708A (zh) * | 2020-03-26 | 2020-07-17 | 中国平安财产保险股份有限公司 | 消息消费方法、装置、计算机设备和存储介质 |
CN111526188A (zh) * | 2020-04-10 | 2020-08-11 | 北京计算机技术及应用研究所 | 基于Spark Streaming结合Kafka确保数据零丢失的系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE525695T1 (de) * | 2008-10-30 | 2011-10-15 | Ibm | Durchführen eines datenschreibvorgangs auf einer speicheranordnung |
CN106549990A (zh) * | 2015-09-18 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种分布式数据的处理方法和系统 |
-
2020
- 2020-08-28 CN CN202010883459.6A patent/CN112087501B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598762A (zh) * | 2016-12-29 | 2017-04-26 | 上海理想信息产业(集团)有限公司 | 一种消息同步方法及系统 |
CN107391672A (zh) * | 2017-07-21 | 2017-11-24 | 中国联合网络通信集团有限公司 | 数据的读写方法及消息化的分布式文件系统 |
CN107704604A (zh) * | 2017-10-16 | 2018-02-16 | 中汇信息技术(上海)有限公司 | 一种消息持久化方法、服务器和计算机可读存储介质 |
CN108255610A (zh) * | 2018-01-12 | 2018-07-06 | 上海瀚银信息技术有限公司 | 一种消息中介传输系统 |
CN110162410A (zh) * | 2018-02-12 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 一种消息处理方法和装置 |
CN110213068A (zh) * | 2018-03-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种消息中间件的监控方法及相关设备 |
CN111427708A (zh) * | 2020-03-26 | 2020-07-17 | 中国平安财产保险股份有限公司 | 消息消费方法、装置、计算机设备和存储介质 |
CN111526188A (zh) * | 2020-04-10 | 2020-08-11 | 北京计算机技术及应用研究所 | 基于Spark Streaming结合Kafka确保数据零丢失的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112087501A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113420B (zh) | 基于nvm的分布式消息队列管理系统 | |
US9917913B2 (en) | Large message support for a publish-subscribe messaging system | |
US7783607B2 (en) | Decentralized record expiry | |
US20110060724A1 (en) | Distributed database recovery | |
EP3262512B1 (en) | Application cache replication to secondary application(s) | |
CN111563102A (zh) | 缓存更新方法、服务器、系统及存储介质 | |
US20120239722A1 (en) | Read-only operations processing in a paxos replication system | |
US20180218023A1 (en) | Database concurrency control through hash-bucket latching | |
US20100169289A1 (en) | Two Phase Commit With Grid Elements | |
CN104111804A (zh) | 一种分布式文件系统 | |
EP2727014A2 (en) | Automatic synchronization of most recently used document lists | |
CN110941502A (zh) | 消息处理方法、装置、存储介质及设备 | |
CN112328702B (zh) | 数据同步方法及系统 | |
CN112087501B (zh) | 保持数据一致性的传输方法及系统 | |
CN114281762A (zh) | 一种日志存储加速方法、装置、设备及介质 | |
US11288237B2 (en) | Distributed file system with thin arbiter node | |
US8090695B2 (en) | Dynamic restoration of message object search indexes | |
CN109726211B (zh) | 一种分布式时序数据库 | |
US20090187917A1 (en) | Transfer of data from transactional data sources to partitioned databases in restartable environments | |
CN103177026A (zh) | 数据管理方法和数据管理系统 | |
CN116185298A (zh) | 一种日志分布式存储的方法 | |
CN115469810A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN109491766B (zh) | 一种事务消息的投递方法、装置、系统及消息服务器 | |
US10810662B1 (en) | Utilizing time-series tables for tracking accumulating values | |
WO2019126154A1 (en) | System and method for data storage management |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |