CN116436922A - 数据流的发送方法、装置、存储介质和计算机设备 - Google Patents
数据流的发送方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN116436922A CN116436922A CN202310391436.7A CN202310391436A CN116436922A CN 116436922 A CN116436922 A CN 116436922A CN 202310391436 A CN202310391436 A CN 202310391436A CN 116436922 A CN116436922 A CN 116436922A
- Authority
- CN
- China
- Prior art keywords
- module
- data stream
- stream
- data
- theme
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 149
- 230000002085 persistent effect Effects 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000013500 data storage Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 2
- 230000005012 migration Effects 0.000 description 25
- 238000013508 migration Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000002045 lasting effect Effects 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施方式提供了一种数据流的发送方法、装置、存储介质和计算机设备。应用于流数据处理引擎,所述方法包括:接收第一输入数据流;其中,所述第一输入数据流用于被所述流数据处理引擎处理之后生成与所述第一输入数据流对应的第一输出数据流;在分布式流处理平台中多个主题模块中,确定所述第一输出数据流对应的目标主题模块;其中,主题模块用于将输出数据流进行持久化存储;将与所述第一输入数据流对应的第一输出数据流发送给所述目标主题模块。通过上述技术方法,可以根据需求将数据进行分流,提高了数据处理的实时性。
Description
技术领域
本说明书中实施方式关于计算机数据处理的技术领域,具体涉及一种数据流的发送方法、装置、存储介质和计算机设备。
背景技术
目前,随着计算机技术的发展,在金融、互联网、物联网等领域,无时无刻不在产生大量的数据,在很多的应用场景中需要对大量的数据进行处理。例如,一个用于记录实时业务数据的数据库,可以作为数据源,将数据以数据流的方式发送给分布式流处理平台的一个主题模块(topic),并可以由数据消费管道,从分布式流处理平台中获取数据进行处理。
在一些情况下,因为一些业务需要,可能会需要从作为数据源的数据库中,拉取大批量的数据。此时,数据库可能会发送一个数据量非常大的数据流给分布式流处理平台。此时,分布式流处理平台针对接收到的大批量数据流进行持久化之后存入所述主题模块中。数据管道从该主题模块读取数据进行消费。然而,在这个过程中,主题模块会被该数据流的数据占据,需要一定时间才能由数据管道完成消费。数据库在发送上述数据流之后,还会继续向所述主题模块发送一些实时处理产生的业务数据的数据流。而这些实时数据到达分布式流处理平台之后,会存入所述主题模块的末尾,会需要在主题模块中前述大流量的数据完成处理之后,才会处理该些业务数据,导致下游对于数据实时性要求较高的应用,无法及时的获取到数据发送的实时业务数据。
因此,现有技术中存在因大流量数据导致的数据阻塞,导致的下游应用接收的业务数据的实时性变差的问题。
发明内容
有鉴于此,本说明书多个实施方式致力于提供一种数据流发送方法、装置、存储介质和计算机设备,以一定程度上提升分布式数据流处理的场景下,数据处理的实时性。
本说明书的一个实施方式提供一种数据流的发送方法,应用于流数据处理引擎,所述方法包括:接收第一输入数据流;其中,所述第一输入数据流用于被所述流数据处理引擎处理之后生成与所述第一输入数据流对应的第一输出数据流;在分布式流处理平台中多个主题模块中,确定所述第一输出数据流对应的目标主题模块;其中,主题模块用于将输出数据流进行持久化存储;将与所述第一输入数据流对应的第一输出数据流发送给所述目标主题模块。
本说明书的一个实施方式提供一种数据流的发送方法,应用于数据存储系统,所述方法包括:接收附带有数据标识和模块标识的存储指令;其中,所述数据标识用于表征目标数据集;所述模块标识用于为流数据处理引擎指定基于所述流数据生成的输出数据流发送的目标主题模块;其中,所述目标主题模块属于分布式流处理平台,并用来对接收的输入数据流进行持久化存储;根据所述存储指令和所述数据标识表征的数据集生成二进制日志;将所述二进制日志作为数据流发送给所述流数据处理引擎。
本说明书的一个实施方式提供一种数据流的发送装置,包括:数据流接收模块,用于接收第一输入数据流;其中,所述第一输入数据流用于被流数据处理引擎处理之后生成与所述第一输入数据流对应的第一输出数据流;主题确定模块,用于在分布式流处理平台中多个主题模块中,确定所述第一输出数据流对应的目标主题模块;其中,主题模块用于将输出数据流进行持久化存储;流数据发送模块,用于将与所述第一输入数据流对应的第一输出数据流发送给所述目标主题模块。
本说明书的一个实施方式提供一种数据流的发送装置,包括:指令接收模块,用于接收附带有数据标识和模块标识的存储指令;其中,所述数据标识用于表征目标数据集;所述模块标识用于为流数据处理引擎指定基于所述流数据生成的输出数据流发送的目标主题模块;其中,所述目标主题模块属于分布式流处理平台,并用来对接收的输入数据流进行持久化存储;生成模块,用于根据所述存储指令和所述数据标识表征的数据集生成二进制日志;日志发送模块,用于将所述二进制日志作为数据流发送给所述流数据处理引擎。
本说明书的一个实施方式提供一种计算机指令存储介质,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述中任一所述的方法。
本说明书的一个实施方式提供一种种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述权利要求任一项所述的方法。
本说明书提供的多个实施方式,流数据处理引擎不再仅对应分布式流处理平台中的一个主题模块,具体的,流数据处理引擎在接收到输入数据流生成输出数据流之后,会先在分布式流处理平台中的多个主题模块中,确定目标主题模块,进一步再将输出数据流发送给目标主题模块。如此,可以使得不同业务需求的输出数据流,可以被发送给不同的主题模块,进而避免全部输出数据流发送给同一个主题模块导致的数据拥塞,整体上提升了分布式流数据处理场景下,针对数据处理的实时性。
附图说明
图1为本说明书的一个实施方式提供的数据流发送的应用环境示意图。
图2为本说明书的一个实施方式提供的数据流发送的流程示意图。
图3为本说明书的一个实施方式提供的数据流发送的流程示意图。
图4为本说明书的一个实施方式提供的数据流发送装置的功能模块示意图。
图5为本说明书的一个实施方式提供的数据流发送装置的功能模块示意图。
图6为本说明书的一个实施方式提供的计算机设备的内部结构示意图。
具体实施方式
请参阅图1,本说明书实施方式提供一种数据流发送系统。且本说明书多个实施方式提供的数据流发送的方法,应用于该数据流发送系统。所述数据流发送系统可以包括客户端110和服务器120形成的硬件环境。客户端110通过网络与服务器120进行通信。其中,所述客户端110可以是具有网络访问能力的电子设备。具体的,例如,客户端110可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。或者,客户端也可以为能够运行于所述电子设备中的软件。服务器120可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。当然,所述服务器120也可以是指运行于所述电子设备中的软体。所述服务器120还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器120还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器120还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
请参阅图2,本说明书的一个实施方式提供一种数据流发送的方法。所述数据流发送的方法可以应用于流数据处理引擎。所述数据流发送的方法可以包括以下步骤。
步骤S210:接收第一输入数据流;其中,所述第一输入数据流用于被所述流数据处理引擎处理之后生成与所述第一输入数据流对应的第一输出数据流。
在一些情况下,流数据处理引擎接收数据库发送的第一输入数据流后,经过运算处理后得到第一输出数据流,第一输入数据流与第一输出数据流相对应。流数据处理引擎可以通过该第一数据流读取该数据流相对应的数据。具体的,例如,第一输入数据流可以是二进制日志的数据流,数据存储系统在写二进制日志时约定好把该数据流放入分布式流处理平台中的一个主题模块中,在形成该数据流时就形成该约定信号。具体的,例如,在数据迁移的场景下,在写二进制日志时提前写入约定信号为变量为0和数据标识,该约定信号表示该数据标识对应的第一输出数据流被持久化处理后,存入目标主题模块中。流数据处理引擎在接收到这样的二进制日志后,可以对该二进制日志进行处理或计算等,形成输出数据流,以使流数据处理引擎按照该约定信号把第一输出数据流发送至目标主题模块中。当然,在处理大批量数据的情况下也可以应用该方法,把大量数据流经过分流到不同的目标主题模块中,以使后续对该目标主题模块中的数据流进行正常消费时,避免数据延误,满足用户对数据实时性的需求。
在本实施方式中,第一输入数据流可以是一组有序,有起点和终点的字节的数据序列,流数据处理引擎可以从第一数据流以相同的顺序读取数据。具体的,例如,二进制日志,流数据处理引擎可以从二进制日志中读取相对应的数据。
流数据处理引擎可以是一种分布式系统,用于对无限制和有限制的数据流进行有状态的计算。可以是用来接收第一输入数据流,并对第一输入数据流进行运算得出第一输出数据流,并将第一输出数据流持久化存储到目标主题模块中。具体的,例如,在数据迁移的场景中,流数据处理引擎可以是Flink处理引擎。
第一输出数据流可以是第一输入数据流经过流数据处理引擎运算或处理过后得到的数据流,该数据流可以通过流数据处理引擎存储到目标主题模块中。
步骤S220:在分布式流处理平台中多个主题模块中,确定所述第一输出数据流对应的目标主题模块;其中,主题模块用于将输出数据流进行持久化存储。
在一些情况下,经过流数据处理引擎处理后得到的第一输出数据流可能按照一定方式进行存储,以使下游消费管道对该数据流进行消费,也可以应用于其他方面。流数据处理引擎在分布式流处理平台中的多个主题模块中,可以是通过第一输入数据流中的数据标识确定所述第一输出数据流对应的目标主题模块。也可以通过数据流中携带的主题模块标识确定目标主题模块。当然,还可以是流数据处理引擎根据预设的输出规则在分布式流处理平台中多个主题模块中确定目标主题模块。
在本实施方式中,分布式流处理平台可以基于分布式技术对数据流进行动态处理。该分布式流处理平台可以具有多个主题模块,流数据处理引擎将第一输出数据流放入指定的目标主题模块中,用于持久化存储该数据流。该数据流持久化存储后形成一个数据表,该数据表被下游消费管道拉出该分布式流处理平台,进而被消费,相应的该第一输出数据流慢慢被消费,移出该分布式流处理平台。每个主题模块中可以分割一个或多个分区,多分区可以与下游消费管道之间形成多线程来传送第一输出数据流,提高数据流传输的效率。具体的,例如,kafka分布式流处理平台。
主题模块可以用来对数据流记录和分类。主题模块接收流数据处理引擎输出的数据流,并对该数据流进行存储,用于后续消费。
目标主题模块可以是第一输入数据流中约定信号指定的主题模块,当然也可以是根据数据标识指定的主题模块,或者其他方式指定的主题模块,用于将第一输出数据流进行持久化存储。
确定目标主题模块的方式,可以包括流数据处理引擎通过判断第一输入数据流中的信息得出第一输出数据被流持久性存储在分布式流处理平台中与该信息对应的主题模块中。具体的,例如,可以是通过第一数据流中携带的主题模块标识,确定第一输出数据流被持久性存储在该主题模块标识对应的主题模块中。
步骤S230:将与所述第一输入数据流对应的第一输出数据流发送给所述目标主题模块。
在一些情况下,流数据处理引擎将第一输出数据流发送给分布式流处理平台中的目标主题模块,把数据流进行分流,缩短后续处理时间,提高数据时效性。具体的,例如,在数据迁移场景下,把迁移数据的数据流发送的目标主题模块,把新增数据对应的数据流发送指其他主题模块中,迁移数据产生大量的数据流不影响新增数据的数据流被后续消费,提高数据的实时性。
在本实施方式中,流数据处理引擎接收到数据存储系统发送的第一输入数据流,再对第一数据流处理,生成第一输出数据流,并按照一定方式在具有多个主题模块的分布式流处理平台中确定用于持久存储的第一输出数据流的目标主题模块,将第一输出数据流发送给目标主题模块。以使目标主题模块对第一输出数据流进行持久存储。实现数据流分流,提高数据实时性,从而满足用户体验。
在一些实施方式中,所述主题模块包括第一主题模块和第二主题模块;所述第一输入数据流中携带有模块标识;确定所述第一输出数据流对应的目标主题模块,包括:从所述第一输入数据流中识别出模块标识;其中,所述模块标识所表征的主题模块,作为所述目标主题模块。
在一些情况下,分布式流处理平台中至少包括两个主题模块,第一主题模块和第二主题模块,流数据处理引擎接收的第一输入数据流中携带有模块标识,流数据处理引擎根据该第一输入数据流识别出模块标识,将该模块标识表示的主题模块作为目标主题模块,用于接收第一输出数据流。具体的,例如,第一输入数据流携带有第一主题模块的模块标识,流数据处理引擎识别出该模块标识后,把第一主题模块作为目标主题模块,用于接收与第一输入数据流相对应的第一输出数据流。
在本实施方式中,第一主题模块和第二主题模块在分布式流处理平台中为了区分主题模块而指定主题模块,便于在第一输入数据流中标记目标主题模块的模块标识。
模块标识用来区别目标主题模块与其他主题模块,作为流数据处理引擎将第一输出数据流发送到目标主题模块的依据。具体的,例如,分布式流处理平台有第一主题模块和第二主题模块,分别与第一主题模块和第二主题模块相对应的第一主题模块标识和第二主题模块标识。流数据处理引擎在第一输入数据流中识别出第一主题模块标识后,将第一主题模块标识对应第一主题模块作为第一输出数据流被持久化存储的目标主题模块。
在一些实施方式中,所述主题模块包括第一主题模块和第二主题模块;所述方法还包括:在接收所述第一输入数据流之前,接收第二输入数据流;其中,所述第二输入数据流对应的第二输出数据流被发送给第二主题模块;其中,所述第二输入数据流与所述第一输入数据流不同;相应的,确定所述第一输出数据流对应的目标主题模块的步骤,包括:在所述第一输入数据流中携带有模块切换标识的情况下,将所述主题模块中除所述第二主题模块之外的所述第一主题模块确定为目标主题模块;其中,所述模块切换标识用于指示变更输出数据流对应的主题模块。
在一些情况下,分布式流处理平台中包括两个主题模块,第一主题模块和第二主题模块。流数据处理引擎在时间顺序上先后接收第二输入数据流和第一输入数据流,经过运算处理处理后得到相对应第二输出数据流和第一输出数据流,发送到分布式流处理平台中的主题模块。流数据处理引擎处理数据流可以是按照事务机制进行,在第二输出数据流发送给分布式流处理平台中主题模块后,再处理第一输入数据。第一输入数据流和第二输入数据流不是同一数据流,故在流数据处理引擎把第二输入数据流处理完后才处理第一输入数据流。流数据处理引擎发送第二输出数据流给分布式流处理平台中第二主题模块后,流数据处理引擎根据第一输入数据流中携带的模块切换标识把第二主题模块之外的第一主题模块确定为目标主题模块,该目标主题模块用于持久化存储第一输出数据流。当然,分布式流处理平台中还可以包括至少三个主题模块,而模块切换标识中还可以包括除了第二主题模块的主题模块的模块标识。
具体的,例如,在数据迁移的场景下,流数据处理引擎从数据库中先后接收增量输入数据流和存量输入数据流,存量输入数据流中携带有模块切换标识,流数据处理引擎处理增量输入数据流和存量输入数据流得到相对应的增量输出数据流和存量输出数据流,流数据处理引擎在发送存量输出数据流时,根据模块切换标识送至不同存储增量输出数据流的主题模块中,以使存量输出数据流不影响消费管道对增量输出数据流消费到目标数据库中,提高了数据的实时性。当流数据处理引擎发送第二输出数据流给分布式流处理平台中第二主题模块后,流数据处理引擎根据模块切换标识确定目标主题模块。
在一些实施方式中,分布式流处理平台中包括两个主题模块,第一主题模块和第二主题模块。流数据处理引擎接收第一数据数据流,第一输入数据流携带有模块切换标识。经过流数据处理引擎运算处理后得到第一输出数据流。其中,第一输出数据流根据模块切换标识分为第一输出数据流第一部分和第一输出数据流第二部分,流数据处理引擎发送第一输出数据流第一部分至第一主题模块后,根据模块切换标识把第一输出数据流第二部分发送至第二主题模块。其中,模块切换标识包括第一输出数据流分为两部分的标识和两部分输出数据流发送的主题模块转换标识。
在本实施方式中,第二输入数据流不同于第一输入数据流的输入数据流。用于与第一输入数据流区分。具体的,例如,在数据迁移的场景下,第一输入数据流是迁移数据业务对应的数据流,第二输入数据流是除数据迁移业务外的其他业务对应的数据流。为了与迁移数据业务区分。
第二输出数据流可以是第二输入数据流经过流数据处理引擎得到输出的数据流,用于与第一输出数据流区分。具体的,例如,在数据迁移的场景下,第一输出数据流是迁移数据业务对应的第一输入数据流经过流数据处理引擎处理得到的数据流,第二输出数据流是除了迁移数据业务外的其他业务对应的第二输入数据流经过流数据处理引擎处理得到的数据流。
模块切换标识可以用来指示流数据处理引擎在输出数据流时切换主题模块,模块切换标识用于不同输出数据流之间切换主题模块。当然,也可以用于同一输出数据流在输出中切换主题模块。具体的,例如,在数据迁移场景中,存量输入数据流中携带有模块切换标识。流数据处理引擎在处理增量输入数据流得到增量输出数据流持久性存储在第一主题模块中后,在处理存量输入数据流时识别出该模块切换标识,流数据处理引擎按照该模块切换标识切换到另外的主题模块,用于持久存储与存量输入数据流相对应的存量输出数据流。
在一些实施方式中,确定所述第一输出数据流对应的目标主题模块的步骤,包括:
在所述第一输入数据流中识别出数据标识;其中,所述数据标识用于表征所述第一输入数据流携带的目标数据集;使用所述数据标识在预设模块索引中匹配,得出所述目标主题模块;其中,所述预设模块索引中对应记录有数据标识和模块标识;其中,所述模块标识用于表征主题模块。
在一些情况下,第一输入数据流携带有数据标识,主题模块携带有模块标识,数据标识与模块标识具有对应关系。流数据处理引擎中预存有预设模块索引。流数据处理引擎接收第一输入数据流时识别出第一输入数据流对应的数据标识,在预设模块索引通过数据标识匹配得出模块标识,从而确定第一输出数据流接收目标主题模块。通过数据标识在预设模块索引中确定目标主题模块。
在本实施方式中,目标数据集可以是指流数据处理引擎接收的第一输入数据流携带的数据集合。具体的,例如,数据迁移时,数据迁移数据流中携带的需要本次数据迁移的所有数据集合。
预设模块索引可以是提前存储的数据标识和模块标识相对应关系形成的信息集合,流数据处理引擎可以根据接收的数据标识在预设模块索引匹配得出该模块标识。流数据处理引擎可以根据模块标识在预设模块索引中确定目标主题模块。具体的,例如,预设模块索引中具有第一输入数据流的数据标识和第一主题模块标识对应关系,表示第一输入数据流对应的第一输出数据流被持久存储在第一主题模块中。第二输入数据流的数据标识和第二主题模块的模块标识的对应关系。以及其他输入数据对应的数据标识与主题模块标识之间的对应关系。
数据标识可以是用于识别输入数据流的标识。流数据处理引擎通过数据标识区别多个数据分别对应的多个输入数据流。在数据迁移场景中,迁移数据标识表示数据迁移业务对应的输入数据流,增量数据标识表示其他业务新产生的数据对应的输入数据流。
在一些实施方式中,所述方法还包括:在所述第一输入数据流中识别出结束标识的情况下,将在所述第一输入数据流之后接收到的第二输入数据流对应的第二输出数据流,发送给所述多个主题模块中除所述目标主题模块之外的主题模块。
在一些情况下,第一输入数据中携带有结束标识,流数据处理引擎识别该结束标识后,并第一输入数据流接收完后,对接收到第二输入数据流对应的第二输出数据流发送到除了存储第一输入数据流对应的第一输出数据流的主题模块外的目标主题模块。通过结束标识切换主题模块。具体的,例如,在数据迁移场景中,存量输入数据流中携带有结束标识,流数据处理引擎在识别出该结束标识后,将除存量输入数据流对应的存量输出数据流外的输出数据流,发送给除了存储存量输出数据流的目标主题模块之外的主题模块。
在本实施方式中,结束标识用来表征流数据处理引擎对第一输入数据接收完。数据流具有起点到终点顺序。流数据处理引擎接收第一输入数据是按照第一输入数据的起点到终点的顺序进行接收,结束标识表征第一输入数据的终点数据。
请参阅图3,本说明书的一个实施方式提供一种数据流发送的方法。所述数据流发送的方法可以应用于数据存储系统。所述数据流发送的方法可以包括以下步骤。
步骤S310:接收附带有数据标识和模块标识的存储指令;其中,所述数据标识用于表征目标数据集;所述模块标识用于为流数据处理引擎指定基于所述流数据生成的输出数据流发送的目标主题模块;其中,所述目标主题模块属于分布式流处理平台,并用来对接收的输入数据流进行持久化存储。
在一些情况下,数据存储系统接收用户输入的附带有数据标识和模块标识的存储指令,以使流数据处理引擎根据存储指令把目标数据集以数据流的形式发送至分布式流处理平台中的模块标识对应的目标主题模块,该主题模块对接收的输入数据流进行持久化存储。
在本实施方式中,存储指令可以用来指示数据存储系统存储携带有数据标识和模块标识数据存储指令。具体的,例如,数据存储系统中具有数据表,该数据表用于接收用户输入的存储指令中的表示数据标识的项目标识和目标主题模块的模块标识,以使流数据处理引擎根据该项目标识和模块标识把该项目标识表征的输出数据流发送至模块标识表征的目标主题模块中。
步骤S320:根据所述存储指令和所述数据标识表征的数据集生成二进制日志。
在一些情况下,数据存储系统根据存储指令数据标识表征的数据集生成二进制日志。以使后续作为数据流。具体的,例如,在数据迁移的场景下,数据存储系统接收到存储指令后,根据数据标识识别出需要数据迁移的数据集,并将该数据集和存储指令生成二进制日志,用于数据迁移。
在本实施方式中,数据存储系统可以是指包括存储数据的各种存储设备、控制部件及管理信息调度的硬件设施和软件的系统。具体的,例如,MySQL数据库,MySQL数据库是一种关系数据库管理系统。
二进制日志可以是指记录了数据库执行更改的所有操作。具体的,例如,数据迁移时,流数据处理引擎把二进制日志从原数据库迁移到目标数据库中,二进制日志中携带有数据,目标数据库从该二进制日志中读取该数据。
数据集可以是指一类数据的集合。具体的,例如,数据标识为项目标识为项目1的所有数据的形成对应与项目1的数据集。
步骤S330:将所述二进制日志作为数据流发送给所述流数据处理引擎。
在一些情况下,数据存储系统将二进制日志作为数据流发送给流数据处理引擎。给流数据处理引擎接收数据流提供来源。
在一些实施方式中,数据流可以通过流数据处理引擎从数据存储系统中根据数据标识抽取得到的。具体的,例如,Flink数据处理引擎。
请参阅图4,本说明书的一个实施方式提供一种数据流的发送装置。所述数据流的发送装置可以包括数据流接收模块、主题确定模块和流数据发送模块。
数据流接收模块,用于接收第一输入数据流;其中,所述第一输入数据流用于被流数据处理引擎处理之后生成与所述第一输入数据流对应的第一输出数据流。
主题确定模块,用于在分布式流处理平台中多个主题模块中,确定所述第一输出数据流对应的目标主题模块;其中,主题模块用于将输出数据流进行持久化存储。
流数据发送模块,用于将与所述第一输入数据流对应的第一输出数据流发送给所述目标主题模块。
请参阅图5,本说明书的一个实施方式提供一种数据流的发送装置。所述数据流的发送装置可以包括指令接收模块、生成模块和日志发送模块。
指令接收模块,用于接收附带有数据标识和模块标识的存储指令;其中,所述数据标识用于表征目标数据集;所述模块标识用于为流数据处理引擎指定基于所述流数据生成的输出数据流发送的目标主题模块;其中,所述目标主题模块属于分布式流处理平台,并用来对接收的输入数据流进行持久化存储。
生成模块,用于根据所述存储指令和所述数据标识表征的数据集生成二进制日志。
日志发送模块,用于将所述二进制日志作为数据流发送给所述流数据处理引擎。
请参阅图6,本说明书实施方式还提供计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述实施方式中的方法步骤。
本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述任一实施方式中的方法步骤。
本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述任一实施方式中的方法步骤。
可以理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程构成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据流的发送方法,其特征在于,应用于流数据处理引擎,所述方法包括:
接收第一输入数据流;其中,所述第一输入数据流用于被所述流数据处理引擎处理之后生成与所述第一输入数据流对应的第一输出数据流;
在分布式流处理平台中多个主题模块中,确定所述第一输出数据流对应的目标主题模块;其中,主题模块用于将输出数据流进行持久化存储;
将与所述第一输入数据流对应的第一输出数据流发送给所述目标主题模块。
2.根据权利要求1所述的方法,其特征在于,所述主题模块包括第一主题模块和第二主题模块;所述第一输入数据流中携带有模块标识;确定所述第一输出数据流对应的目标主题模块,包括:
从所述第一输入数据流中识别出模块标识;其中,所述模块标识所表征的主题模块,作为所述目标主题模块。
3.根据权利要求1所述的方法,其特征在于,所述主题模块包括第一主题模块和第二主题模块;所述方法还包括:在接收所述第一输入数据流之前,接收第二输入数据流;其中,所述第二输入数据流对应的第二输出数据流被发送给第二主题模块;其中,所述第二输入数据流与所述第一输入数据流不同;
相应的,确定所述第一输出数据流对应的目标主题模块的步骤,包括:
在所述第一输入数据流中携带有模块切换标识的情况下,将所述主题模块中除所述第二主题模块之外的所述第一主题模块确定为目标主题模块;其中,所述模块切换标识用于指示变更输出数据流对应的主题模块。
4.根据权利要求1所述的方法,其特征在于,确定所述第一输出数据流对应的目标主题模块的步骤,包括:
在所述第一输入数据流中识别出数据标识;其中,所述数据标识用于表征所述第一输入数据流携带的目标数据集;
使用所述数据标识在预设模块索引中匹配,得出所述目标主题模块;其中,所述预设模块索引中对应记录有数据标识和模块标识;其中,所述模块标识用于表征主题模块。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一输入数据流中识别出结束标识的情况下,将在所述第一输入数据流之后接收到的第二输入数据流对应的第二输出数据流,发送给所述多个主题模块中除所述目标主题模块之外的主题模块。
6.一种数据流的发送方法,其特征在于,应用于数据存储系统,所述方法包括:
接收附带有数据标识和模块标识的存储指令;其中,所述数据标识用于表征目标数据集;所述模块标识用于为流数据处理引擎指定基于所述流数据生成的输出数据流发送的目标主题模块;其中,所述目标主题模块属于分布式流处理平台,并用来对接收的输入数据流进行持久化存储;
根据所述存储指令和所述数据标识表征的数据集生成二进制日志;
将所述二进制日志作为数据流发送给所述流数据处理引擎。
7.一种数据流的发送装置,其特征在于,包括:
数据流接收模块,用于接收第一输入数据流;其中,所述第一输入数据流用于被流数据处理引擎处理之后生成与所述第一输入数据流对应的第一输出数据流;
主题确定模块,用于在分布式流处理平台中多个主题模块中,确定所述第一输出数据流对应的目标主题模块;其中,主题模块用于将输出数据流进行持久化存储;
流数据发送模块,用于将与所述第一输入数据流对应的第一输出数据流发送给所述目标主题模块。
8.一种数据流的发送装置,其特征在于,包括:
指令接收模块,用于接收附带有数据标识和模块标识的存储指令;其中,所述数据标识用于表征目标数据集;所述模块标识用于为流数据处理引擎指定基于所述流数据生成的输出数据流发送的目标主题模块;其中,所述目标主题模块属于分布式流处理平台,并用来对接收的输入数据流进行持久化存储;
生成模块,用于根据所述存储指令和所述数据标识表征的数据集生成二进制日志;
日志发送模块,用于将所述二进制日志作为数据流发送给所述流数据处理引擎。
9.一种计算机指令存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7中任一所述的方法。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310391436.7A CN116436922A (zh) | 2023-04-07 | 2023-04-07 | 数据流的发送方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310391436.7A CN116436922A (zh) | 2023-04-07 | 2023-04-07 | 数据流的发送方法、装置、存储介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116436922A true CN116436922A (zh) | 2023-07-14 |
Family
ID=87086911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310391436.7A Pending CN116436922A (zh) | 2023-04-07 | 2023-04-07 | 数据流的发送方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116436922A (zh) |
-
2023
- 2023-04-07 CN CN202310391436.7A patent/CN116436922A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN110019240B (zh) | 一种业务数据交互方法、装置及系统 | |
CN110321958B (zh) | 神经网络模型的训练方法、视频相似度确定方法 | |
CN111258978B (zh) | 一种数据存储的方法 | |
US9990403B2 (en) | System and a method for reasoning and running continuous queries over data streams | |
CN109862100B (zh) | 用于推送信息的方法和装置 | |
CN110297944B (zh) | 分布式xml数据处理方法及系统 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN105022807A (zh) | 信息推荐方法及装置 | |
CN112182111A (zh) | 基于区块链的分布式系统分层处理方法和电子设备 | |
CN113256355A (zh) | 一种积分权益实时确定方法、装置、介质、设备和系统 | |
CN112396511A (zh) | 分布式风控变量数据处理方法、装置及系统 | |
CN116436922A (zh) | 数据流的发送方法、装置、存储介质和计算机设备 | |
CN111552831A (zh) | 一种音乐推荐的方法及服务器 | |
US20230188619A1 (en) | Methods and systems for event management | |
CN114222028A (zh) | 语音识别方法、装置、计算机设备和存储介质 | |
US9172729B2 (en) | Managing message distribution in a networked environment | |
CN113905037A (zh) | 一种文件传输管理方法、装置、设备及存储介质 | |
CN112364682A (zh) | 一种案件搜索方法及装置 | |
CN110705736A (zh) | 宏观经济预测方法、装置、计算机设备及存储介质 | |
CN107566450B (zh) | 一种实时用户行为的数据处理方法、装置及电子设备 | |
CN111460269B (zh) | 信息推送方法和装置 | |
CN111757178B (zh) | 视频生成方法、装置、电子设备和计算机可读介质 | |
CN109977036B (zh) | 缓存流程模板的方法、装置、存储介质及电子设备 | |
CN116401280A (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 |