CN113342552A - 数据处理方法及装置、存储介质及电子设备 - Google Patents
数据处理方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113342552A CN113342552A CN202110758037.0A CN202110758037A CN113342552A CN 113342552 A CN113342552 A CN 113342552A CN 202110758037 A CN202110758037 A CN 202110758037A CN 113342552 A CN113342552 A CN 113342552A
- Authority
- CN
- China
- Prior art keywords
- container
- execution
- cluster
- data stream
- server
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000001914 filtration Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种数据处理方法及装置、存储介质及电子设备,该方法应用于消息中间件,包括:当检测到客户端向第一服务器上传目标函数时,确定部署策略;基于部署策略选择目标函数对应的第一执行容器;生成目标函数对应的数据流,并将数据流存储至分布式存储系统中;在第一执行容器中生成执行对象,并触发所有执行容器订阅该数据流;当检测到消费端向第二服务器发送数据流对应的消费指令时,基于部署策略,启动消费指令对应的第二执行容器,使得第二执行容器触发执行对象向消费端输出数据流。应用本发明提供的方法,通过消息中间件对进行简单的数据处理,根据不同的函数输出对应的数据,无需消费端消费所有的数据后再进行过滤等一系列操作。
Description
技术领域
本发明涉及消息中间件技术领域,特别是涉及一种数据处理方法及装置、存储介质及电子设备。
背景技术
消息中间件在我们日常工作中使用得非常多。在日常应用中,消息中间件可以用于对大量数据的接收和发布,以缓解网络的压力。
现有对于常规的消息中间件的应用过程中,我们没有办法在服务端进行一些常用的数据处理操作,只能在生产前或者消费后对数据进行一些增强处理,例如:一个有1000万条数据的流,我们预期的是指希望获取其中某一部分数据,若符合条件的为10万条,消费端需要将整个数据流中的数据进行提取后在进行对应的数据计算才能获得最终所需的数据,而消费端在消费数据时,消费的其中990万条数据都是浪费网络流量。因此,应用现有技术中的方法,容易增加消费端的网络流量。
发明内容
有鉴于此,本发明提供一种数据处理方法,通过该方法,通过消息中间件对进行简单的数据处理,根据不同的函数输出对应的数据流,无需消费端消费所有的数据后再进行过滤等一系列操作。
本发明还提供了一种数据处理装置,用以保证上述方法在实际中的实现及应用。
一种数据处理方法,所述方法应用于消息中间件,所述消息中间件包含服务器集群和容器集群,所述服务器集群中包含至少一个服务器,所述容器集群中包含至少一个执行容器,所述方法包括:
当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略;
基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器;
生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中;
在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流;
当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。
上述的方法,可选的,所述确定所述消息中间件中所述容器集群对应的部署策略,包括:
检测所述容器集群中各个所述执行容器在所述消息中间件的部署位置;
当所述容器集群中的各个执行容器的部署位置为内置部署时,确定所述消息中间件中所述容器集群对应的部署策略为内置模式,所述内置部署表征所述容器集群中的各个执行容器一一对应部署于所述服务器集群的各个服务器内;
当所述容器集群中的各个执行容器的部署位置为独立部署时,确定所述消息中间件中所述容器集群对应的部署策略为独立模式,所述独立模式表征所述容器集群中的各个执行容器均独立部署于所述服务器集群之外。
上述的方法,可选的,所述基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器,包括:
当所述消息中间件中所述容器集群对应的部署策略为内置模式时,选择所述第一服务器中内置的执行容器为所述目标函数对应的第一执行容器。
上述的方法,可选的,所述基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器,包括:
当所述消息中间件中所述容器集群对应的部署策略为独立模式时,选择所述容器集群中的任意一个执行容器为所述目标函数对应第一执行容器。
上述的方法,可选的,所述启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流,包括:
当所述部署策略为内置模式时,将所述第二服务器内设置的执行容器设置为第二执行容器;
检测所述第二执行容器的运行状态是否为正常状态;
若所述第二执行容器的运行状态为正常状态,则启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
上述的方法,可选的,所述启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流,包括:
当所述部署策略为独立模式时,在所述容器集群中选取任意一个运行状态为正常状态的执行容器为第二执行容器;
启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
上述的方法,可选的,将所述数据流存储至预先设置的分布式存储系统中之后,还包括:
生成所述数据流对应的存储信息,并将所述存储信息发送至所述客户端。
一种数据处理装置,所述装置应用于消息中间件,所述装置包括:
确定单元,用于当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略;
选择单元,用于基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器;
第一生成单元,用于生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中;
第二生成单元,用于在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流;
发送单元,用于当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的数据处理方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的数据处理方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种数据处理方法,应用于消息中间件,所述消息中间件包含服务器集群和容器集群,所述服务器集群中包含至少一个服务器,所述容器集群中包含至少一个执行容器,所述方法包括:当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略;基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器;生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中;在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流;当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。应用本发明提供的方法,通过消息中间件对进行简单的数据处理,根据不同的函数输出对应的数据,无需消费端消费所有的数据后再进行过滤等一系列操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据处理方法的方法流程图;
图2为本发明实施例提供的一种数据处理方法的又一方法流程图;
图3a为本发明实施例提供的一种数据处理方法中的部署策略为内置模式的结构示意图;
图3b为本发明实施例提供的一种数据处理方法中的部署策略为独立模式的结构示意图;
图4为本发明实施例提供的一种数据处理装置的装置结构图;
图5为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种数据处理方法,该方法可以应用方法应用于消息中间件,所述消息中间件包含服务器集群和容器集群,所述服务器集群中包含至少一个服务器,所述容器集群中包含至少一个执行容器,所述方法的方法流程图如图1所示,具体包括:
S101:当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略。
在本发明实施例中,消息中间件内的容器集群具有两种不同的部署策略,具体为内置模式和独立模式。
需要说明的是,该客户端为目标函数的生产者,当客户端完成编写目标函数后,通过Sync-Data admin管理工具将函数相关信息推送至消息中间件。其中,推送目标函数的相关信息包括:jar、class name、uri、input topic、output topic和log topic等。其中,jar为可执行代码包,用于指定jar包的运行路径,class name为运行的函数所在的类名,需要加上完整的包名,uri为指定服务器集群地,input topic为输入的数据流,out topic为输出的数据流,log topic为日志输出数据流。
S102:基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器。
在本发明实施例中,不同的部署策略,对应不同选择执行容器的方式。
S103:生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中。
在本发明实施例中,消息中间件的执行容器内设置的数据管理工具,该数据管理工具可以用于提取目标函数中的元函数,并基于该元函数生成该目标函数对应的数据流,将该数据流存储至分布式存储系统中。
S104:在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流。
在本发明实施例中,执行容器内还设置运行管理工具,该运行管理工具用于监听是否有新的数据流生成,且该数据流是否在其所属的服务器内,若是,则创建对应的执行对象。
需要说明的是,容器集群中所有的执行容器均订阅该数据流,当消费端在经过任意服务器或执行容器消费数据时,所有执行容器均可进行响应。
S105:当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。
在本发明实施例中,消费端可以经由任意的服务器消费数据。该第二服务器可以是上述S101中的第一服务器,也可以是服务器集群中除该第一服务器之外的其他的服务器。该第二执行容器可以是上述的第一执行容器,也可以是容器集群中除该第一执行容器之外的其他容执行容器。
可以理解的是,在目标函数对应的数据流在上传和存储过程中,所有的执行容器均订阅该数据流,在后续消费者需要消费该数据流时,可以经过任意的服务器发送该数据流对应的消费指令。按照该部署策略,确定消费指令对应的第二执行容器,第二执行容器根据该消费指令确定调用该数据流的执行对象,由第二执行容器触发执行对象向消费者输出数据流。
需要说明的是,容器集群中的各个执行容器为轻量级的函数运行容器,用于对函数进行处理及相关的信息更新、选举和运行等。执行对象为向外数据其对应的数据流的执行工具,当不存在消费者消费该数据流时,该执行对象不处于运行状态,当任意一个执行容器被调用时,该执行对象在该执行容器中启动。
本发明实施例提供的数据处理方法中,当检测到客户端上传目标函数至第一服务器时,确定容器集群对应的部署策略。根据该部署策略从容器集群中选择进行数据处理的第一执行容器。同时生成该目标函数对应的数据流,将该数据里存储至分布式存储系统中。由第一执行容器生成该数据流对应的执行对象,触发所有的执行容器均订阅该数据流。当消费端通过任意的服务器发送该数据流对应的消费请求时,按照该部署策略再选择一个执行容器为第二执行容器,启动该第二执行容器后,由第二执行容器触发执行对象向该消费端输出该数据流。
应用本发明实施例提供的方法,通过消息中间件对进行简单的数据处理,根据不同的函数输出对应的数据,无需消费端消费所有的数据后再进行过滤等一系列操作。
可选的,基于本发明实施例提供的方法,当将数据流存储与分布式存储系统后,具体还可以包括:
生成所述数据流对应的存储信息,并将所述存储信息发送至所述客户端。
具体的,该存储信息中包含该数据流的流名称、存储时间、函数上传时间及对应的执行对象等信息。
参考图2,基于上述S101的内容,所述确定所述消息中间件中所述容器集群对应的部署策略,包括:
S201:检测所述容器集群中各个所述执行容器在所述消息中间件的部署位置。
在本发明实施例中,对于不同的部署策略,消息中间件中各个执行容器的部署位置均不同。
S202:当所述容器集群中的各个执行容器的部署位置为内置部署时,确定所述消息中间件中所述容器集群对应的部署策略为内置模式。
其中,所述内置部署表征所述容器集群中的各个执行容器一一对应部署于所述服务器集群的各个服务器内。
具体的,当确定部署策略为内置模式时,继续执行S204。
参考图3a,图3a是部署策略为内置模式的结构示意图,该内置模式表征容器集群中的各个执行容器一一对应设置与服务器集群的各个服务器中。其中,Data-Sync Broker指的是服务器,Function Container指的是执行容器。
S203:当所述容器集群中的各个执行容器的部署位置为独立部署时,确定所述消息中间件中所述容器集群对应的部署策略为独立模式。
其中,所述独立模式表征所述容器集群中的各个执行容器均独立部署于所述服务器集群之外。
具体的,当确定部署策略为内置模式时,继续执行S205。
参考图3b,图3b是部署策略为独立模式的结构示意图,该独立模式表征容器集群中的各个执行容器均设置于各个服务器之外。
S204:当所述消息中间件中所述容器集群对应的部署策略为内置模式时,选择所述第一服务器中内置的执行容器为所述目标函数对应的第一执行容器。
在本发明实施例中,基于上述S102的内容,在确定部署策略后,基于该部署策略,在容器集群中选择目标函数对应的第一执行容器。因此,在部署策略为内置模式时,可以确定该第一服务器内的执行容器与该第一服务器为关联关系,因此将该第一服务器内的执行容器为该目标函数对应的第一执行容器,在生成数据流后,由该第一执行容器生成该数据流对应的执行对象。
S205:当所述消息中间件中所述容器集群对应的部署策略为独立模式时,选择所述容器集群中的任意一个执行容器为所述目标函数对应第一执行容器。
在本发明实施例中,基于上述S102的内容,在确定部署策略后,基于该部署策略,在容器集群中选择目标函数对应的第一执行容器。因此,在部署策略为独立模式时,可以确定服务器集群中的各个服务器与容器集群中的各个执行容器之间不存在一一对应关系,因此随机选举容器集群中任意一个执行容器为第一执行容器,并在生成数据流后,由该第一执行容器生成该数据流对应的执行对象。
本发明实施例提供的数据处理方法中,检测各个执行容器在该消息中间件的部署位置,若一一对应部署于各个服务器中,则部署策略为内置模式,若服务器集群和容器集群分别独立部署,两者之间没有一一对应关系,则部署策略为独立模式。在内置模式下,选择第一服务器内设置的执行容器为第一执行容器;在独立模式下,随机选择任意的执行容器为第一执行容器。
应用本发明实施例提供的方法,根据不同的部署策略,选择不同的执行容器,以满足轻量级数据处理的要求。
本发明实施例提供的方法中,基于上述S202和S204的内容,在不同的配置策略下,其所选择的执行容器不一定相同。在后续消费端需要消费数据时,也许按照该部署策略选择执行容器进行触发对应的执行对象。具体的,当部署策略为内置模式时,所述启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流,包括:
当所述部署策略为内置模式时,将所述第二服务器内设置的执行容器设置为第二执行容器;
检测所述第二执行容器的运行状态是否为正常状态;
若所述第二执行容器的运行状态为正常状态,则启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
可以理解的是,当部署策略为内置模式时,若消费端通过任意一个服务器发送消费请求,调起执行对象的执行容器则为该服务器中的执行容器。其中,第二服务器为消费端发送消费指令的服务器,该消费指令中包含消费端所需求的数据流的流名称等信息。该第二服务器可以是上述的第一服务器,若该第二服务器为原先的第一服务器,则该第二执行容器为原先的第一执行容器,若该第二服务器并非原先的第一服务器,则该第二执行容器并非原先的第一执行容器。为避免消费端在请求消费数据的过程中请求无响应,需检测该第二执行容器的运行状态,若为正常状态,则启动该第二执行容器,将消费指令转发给第二执行容器,第二执行容器解析该指令获取流名称,由于执行容器均订阅了消息中间中所有的数据流,因此,根据该流名称,该第二执行容器可以确定该数据流对应的执行对象,由第二执行容器触发第二执行对象将该数据流发送给消费端。
可选的,当该第二执行容器的运行状态为异常状态时,则查找距离第二服务器最近的服务器中运行状态为正常状态的执行容器为第二执行容器。
另一方面,当部署策略为独立模式时,所述启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流,包括:
当所述部署策略为独立模式时,在所述容器集群中选取任意一个运行状态为正常状态的执行容器为第二执行容器;
启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
可以理解的是,在独立模式下,各个服务器与各个执行容器之间没有关联关系,因此,仅需要从所有的执行容器中挑选一个运行状态为正常状态的执行容器为第二执行容器即可。其中,当第二服务器为上述的第一服务器时,该第二执行容器可以是上述的第一执行容器,或者该第二执行容器可以不是上述的第一执行容器。当第二服务器并非上述的第二服务器时,该第二执行容器可以是上述的第一执行容器,或者该第二执行容器可以不是上述的第一执行容器。在确定第二执行容器后,启动该第二执行容器,将消费指令转发给第二执行容器,第二执行容器解析该指令获取流名称,由于执行容器均订阅了消息中间中所有的数据流,因此,根据该流名称,该第二执行容器可以确定该数据流对应的执行对象,由第二执行容器触发第二执行对象将该数据流发送给消费端。
应用本发明实施例提供的方法,通过消息中间件对进行简单的数据处理,根据不同的函数输出对应的数据,无需消费端消费所有的数据后再进行过滤等一系列操作。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种数据处理装置,用于对图1中方法的具体实现,本发明实施例提供的数据处理装置可以应用于消息中间件,其结构示意图如图4所示,具体包括:
确定单元401,用于当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略;
选择单元402,用于基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器;
第一生成单元403,用于生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中;
第二生成单元404,用于在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流;
发送单元405,用于当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。
本发明实施例提供的数据处理装置,当检测到客户端上传目标函数至第一服务器时,确定容器集群对应的部署策略。根据该部署策略从容器集群中选择进行数据处理的第一执行容器。同时生成该目标函数对应的数据流,将该数据里存储至分布式存储系统中。由第一执行容器生成该数据流对应的执行对象,触发所有的执行容器均订阅该数据流。当消费端通过任意的服务器发送该数据流对应的消费请求时,按照该部署策略再选择一个执行容器为第二执行容器,启动该第二执行容器后,由第二执行容器触发执行对象向该消费端输出该数据流。
应用本发明实施例提供的装置,通过消息中间件对进行简单的数据处理,根据不同的函数输出对应的数据,无需消费端消费所有的数据后再进行过滤等一系列操作。
本发明实施例提供的装置中,所述确定单元401,包括:
第一检测子单元,用于检测所述容器集群中各个所述执行容器在所述消息中间件的部署位置;
第一确定子单元,用于当所述容器集群中的各个执行容器的部署位置为内置部署时,确定所述消息中间件中所述容器集群对应的部署策略为内置模式,所述内置部署表征所述容器集群中的各个执行容器一一对应部署于所述服务器集群的各个服务器内;
第二确定子单元,用于当所述容器集群中的各个执行容器的部署位置为独立部署时,确定所述消息中间件中所述容器集群对应的部署策略为独立模式,所述独立模式表征所述容器集群中的各个执行容器均独立部署于所述服务器集群之外。
本发明实施例提供的装置中,所述选择单元402,包括:
第一选择子单元,用于当所述消息中间件中所述容器集群对应的部署策略为内置模式时,选择所述第一服务器中内置的执行容器为所述目标函数对应的第一执行容器。
本发明实施例提供的装置中,所述选择单元402,包括:
第二选择子单元,用于当所述消息中间件中所述容器集群对应的部署策略为独立模式时,选择所述容器集群中的任意一个执行容器为所述目标函数对应第一执行容器。
本发明实施例提供的装置中,所述发送单元405,包括:
设置子单元,用于当所述部署策略为内置模式时,将所述第二服务器内设置的执行容器设置为第二执行容器;
第二检测子单元,用于检测所述第二执行容器的运行状态是否为正常状态;
第一启动子单元,用于若所述第二执行容器的运行状态为正常状态,则启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
本发明实施例提供的装置中,所述发送单元405,包括:
第三选择子单元,用于当所述部署策略为独立模式时,在所述容器集群中选取任意一个运行状态为正常状态的执行容器为第二执行容器;
第二启动子单元,用于启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
本发明实施例提供的装置中,还包括:
第三生成单元,用于生成所述数据流对应的存储信息,并将所述存储信息发送至所述客户端。
以上本发明实施例公开的数据处理装置中各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的数据处理方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述数据处理方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略;
基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器;
生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中;
在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流;
当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法应用于消息中间件,所述消息中间件包含服务器集群和容器集群,所述服务器集群中包含至少一个服务器,所述容器集群中包含至少一个执行容器,所述方法包括:
当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略;
基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器;
生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中;
在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流;
当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。
2.根据权利要求1所述的方法,其特征在于,所述确定所述消息中间件中所述容器集群对应的部署策略,包括:
检测所述容器集群中各个所述执行容器在所述消息中间件的部署位置;
当所述容器集群中的各个执行容器的部署位置为内置部署时,确定所述消息中间件中所述容器集群对应的部署策略为内置模式,所述内置部署表征所述容器集群中的各个执行容器一一对应部署于所述服务器集群的各个服务器内;
当所述容器集群中的各个执行容器的部署位置为独立部署时,确定所述消息中间件中所述容器集群对应的部署策略为独立模式,所述独立模式表征所述容器集群中的各个执行容器均独立部署于所述服务器集群之外。
3.根据权利要求2所述的方法,其特征在于,所述基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器,包括:
当所述消息中间件中所述容器集群对应的部署策略为内置模式时,选择所述第一服务器中内置的执行容器为所述目标函数对应的第一执行容器。
4.根据权利要求2所述的方法,其特征在于,所述基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器,包括:
当所述消息中间件中所述容器集群对应的部署策略为独立模式时,选择所述容器集群中的任意一个执行容器为所述目标函数对应第一执行容器。
5.根据权利要求2或3所述的方法,其特征在于,所述启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流,包括:
当所述部署策略为内置模式时,将所述第二服务器内设置的执行容器设置为第二执行容器;
检测所述第二执行容器的运行状态是否为正常状态;
若所述第二执行容器的运行状态为正常状态,则启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
6.根据权利要求2或4所述的方法,其特征在于,所述启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流,包括:
当所述部署策略为独立模式时,在所述容器集群中选取任意一个运行状态为正常状态的执行容器为第二执行容器;
启动所述第二执行容器,并将所述消费指令转发至所述第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述消费指令对应的数据流。
7.根据权利要求1所述的方法,其特征在于,将所述数据流存储至预先设置的分布式存储系统中之后,还包括:
生成所述数据流对应的存储信息,并将所述存储信息发送至所述客户端。
8.一种数据处理装置,其特征在于,所述装置应用于消息中间件,所述装置包括:
确定单元,用于当检测到客户端向所述服务器集群中的第一服务器上传目标函数时,确定所述消息中间件中所述容器集群对应的部署策略;
选择单元,用于基于所述部署策略,在所述容器集群中选择所述目标函数对应的第一执行容器;
第一生成单元,用于生成所述目标函数对应的数据流,并将所述数据流存储至预先设置的分布式存储系统中;
第二生成单元,用于在所述第一执行容器中生成所述数据流对应的执行对象,并触发所述容器集群中的所有执行容器订阅所述数据流;
发送单元,用于当检测到消费端向所述服务器集群中的第二服务器,发送所述数据流对应的消费指令时,基于所述部署策略,启动所述消费指令对应的第二执行容器,使得所述第二执行容器触发所述执行对象向所述消费端输出所述数据流。
9.一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如任意一项权利要求1~7所述的数据处理方法。
10.一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述任意一项权利要求1~7的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110758037.0A CN113342552B (zh) | 2021-07-05 | 2021-07-05 | 数据处理方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110758037.0A CN113342552B (zh) | 2021-07-05 | 2021-07-05 | 数据处理方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342552A true CN113342552A (zh) | 2021-09-03 |
CN113342552B CN113342552B (zh) | 2024-09-27 |
Family
ID=77482506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110758037.0A Active CN113342552B (zh) | 2021-07-05 | 2021-07-05 | 数据处理方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342552B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148503A1 (en) * | 2016-02-29 | 2017-09-08 | Nec Europe Ltd. | Method and stream processing system for managing data stream processing tasks of a predefined application topology |
CN108196961A (zh) * | 2017-12-28 | 2018-06-22 | 广东蜂助手网络技术股份有限公司 | 一种异步消息处理方法、终端、系统及存储介质 |
CN108881369A (zh) * | 2018-04-24 | 2018-11-23 | 中国科学院信息工程研究所 | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 |
CN110008286A (zh) * | 2019-03-26 | 2019-07-12 | 华南理工大学 | 一种注塑成型装备大数据采集和存储系统及方法 |
CN110196843A (zh) * | 2019-05-17 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种基于容器集群的文件分发方法及容器集群 |
US20200186441A1 (en) * | 2018-12-11 | 2020-06-11 | Sap Se | Standardized format for containerized applications |
CN111327696A (zh) * | 2020-02-17 | 2020-06-23 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及系统 |
CN111327647A (zh) * | 2018-12-13 | 2020-06-23 | 北京金山云网络技术有限公司 | 一种容器对外提供服务的方法、装置及电子设备 |
CN111526060A (zh) * | 2020-06-16 | 2020-08-11 | 网易(杭州)网络有限公司 | 业务日志的处理方法及系统 |
CN111770172A (zh) * | 2020-06-29 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 消息中间件消费代理方法、装置、代理服务器及存储介质 |
CN111930700A (zh) * | 2020-07-13 | 2020-11-13 | 车智互联(北京)科技有限公司 | 一种分布式日志处理方法、服务器、系统和计算设备 |
CN112463535A (zh) * | 2020-11-27 | 2021-03-09 | 中国工商银行股份有限公司 | 多集群异常处理方法及装置 |
CN112527528A (zh) * | 2020-12-18 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于消息队列的数据传输方法、装置及存储介质 |
CN112597249A (zh) * | 2020-12-26 | 2021-04-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种业务数据的同步分发存储方法及系统 |
-
2021
- 2021-07-05 CN CN202110758037.0A patent/CN113342552B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148503A1 (en) * | 2016-02-29 | 2017-09-08 | Nec Europe Ltd. | Method and stream processing system for managing data stream processing tasks of a predefined application topology |
CN108196961A (zh) * | 2017-12-28 | 2018-06-22 | 广东蜂助手网络技术股份有限公司 | 一种异步消息处理方法、终端、系统及存储介质 |
CN108881369A (zh) * | 2018-04-24 | 2018-11-23 | 中国科学院信息工程研究所 | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 |
US20200186441A1 (en) * | 2018-12-11 | 2020-06-11 | Sap Se | Standardized format for containerized applications |
CN111327647A (zh) * | 2018-12-13 | 2020-06-23 | 北京金山云网络技术有限公司 | 一种容器对外提供服务的方法、装置及电子设备 |
CN110008286A (zh) * | 2019-03-26 | 2019-07-12 | 华南理工大学 | 一种注塑成型装备大数据采集和存储系统及方法 |
CN110196843A (zh) * | 2019-05-17 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种基于容器集群的文件分发方法及容器集群 |
CN111327696A (zh) * | 2020-02-17 | 2020-06-23 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及系统 |
CN111526060A (zh) * | 2020-06-16 | 2020-08-11 | 网易(杭州)网络有限公司 | 业务日志的处理方法及系统 |
CN111770172A (zh) * | 2020-06-29 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 消息中间件消费代理方法、装置、代理服务器及存储介质 |
CN111930700A (zh) * | 2020-07-13 | 2020-11-13 | 车智互联(北京)科技有限公司 | 一种分布式日志处理方法、服务器、系统和计算设备 |
CN112463535A (zh) * | 2020-11-27 | 2021-03-09 | 中国工商银行股份有限公司 | 多集群异常处理方法及装置 |
CN112527528A (zh) * | 2020-12-18 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于消息队列的数据传输方法、装置及存储介质 |
CN112597249A (zh) * | 2020-12-26 | 2021-04-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种业务数据的同步分发存储方法及系统 |
Non-Patent Citations (1)
Title |
---|
马浩然;: "基于NS3的分布式消息系统Kafka的仿真实现", 软件, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN113342552B (zh) | 2024-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3221795B1 (en) | Service addressing in distributed environment | |
CN104537076B (zh) | 一种文件读写方法及装置 | |
US8775630B2 (en) | Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments | |
US7747556B2 (en) | Query-based notification architecture | |
KR20110002809A (ko) | 신축적 컴퓨팅 시스템 및 환경을 포함하는 컴퓨팅 시스템 및 환경에 대한 실행 할당 비용 평가 | |
EP2504763A1 (en) | Apparatus and method for loading and updating codes of cluster-based java application system | |
CN106411920B (zh) | 数据分享方法及装置 | |
TWI697223B (zh) | 資料處理方法 | |
CN104092555A (zh) | 一种更新参数值的方法、装置和系统 | |
US9851988B1 (en) | Recommending computer sizes for automatically scalable computer groups | |
WO2018125650A1 (en) | Providing insertion feature with clipboard manager application | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN110740155A (zh) | 分布式系统中的请求处理方法及装置 | |
US7287086B2 (en) | Methods, systems and computer program products for controlling data transfer for data replication or backup based on system and/or network resource information | |
US20130151706A1 (en) | Resource launch from application within application container | |
CN114640610B (zh) | 基于云原生的服务治理方法、装置及存储介质 | |
CN114401239B (zh) | 元数据传输方法、装置、计算机设备和存储介质 | |
CN109951551B (zh) | 一种容器镜像管理系统及方法 | |
EP2415213B1 (en) | Smart routing | |
EP3555767A1 (en) | Partial storage of large files in distinct storage systems | |
CN107944004A (zh) | Spark‑SQL调度的方法、系统、设备及存储介质 | |
CN114528104A (zh) | 任务处理方法及装置 | |
CN113342552B (zh) | 数据处理方法及装置、存储介质及电子设备 | |
CN110968422A (zh) | 用于集成场景的负载分发 | |
CN110769055B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |