CN110442436A - 基于容器的进程管理方法及相关装置 - Google Patents
基于容器的进程管理方法及相关装置 Download PDFInfo
- Publication number
- CN110442436A CN110442436A CN201910628623.6A CN201910628623A CN110442436A CN 110442436 A CN110442436 A CN 110442436A CN 201910628623 A CN201910628623 A CN 201910628623A CN 110442436 A CN110442436 A CN 110442436A
- Authority
- CN
- China
- Prior art keywords
- rate
- logstash
- mentioned
- tool
- data
- 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 221
- 238000007726 management method Methods 0.000 title claims abstract description 26
- 238000003860 storage Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 241001269238 Data Species 0.000 description 7
- 239000002699 waste material Substances 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于容器的进程管理方法,该方法适用于容器编排。该方法包括:获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率;基于第一速率和第二速率,通过容器对应的容器编排工具调整第一logstash工具中的进程数。采用本发明实施例,可实时对logstash工具中的进程进行调整,避免第一logstash工具出现进程阻塞以及性能不稳定的情况,适用性好,灵活性高。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于容器的进程管理方法及相关装置。
背景技术
随着计算机技术的迅猛发展,各大应用系统规模不断扩大,数据量呈现爆炸式增长的趋势。现有技术中主要采用kafka集群与logstash工具相结合的方式来实现数据的收集、传输以及处理。但是由于kafka集群和logstash工具之间的数据传输状态并不稳定,需要人为调整logstash工具的数据读取状态,灵活性差,适用性不高。
因此,如何在确保kafka集群和logstash工具之间的数据传输状态保持稳定的同时,不浪费logstash工具进程资源成为亟需解决的问题。
发明内容
本发明实施例提供一种基于容器的进程管理方法及相关装置,可提升kafka集群与logstash工具之间的数据读取效率,可实现对logstash工具中的进程进行实时调度,适用性高。
第一方面,本发明实施例提供一种基于容器的进程管理方法,该方法包括:
获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率,其中,上述kafka集群用于接收终端设备产生的数据并将上述数据输出至上述第一logstash工具,上述第一logstash工具在容器中运行,上述第一logstash工具用于读取并处理上述kafka集群输出的数据;
基于上述第一速率和上述第二速率,通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数,其中,上述第一logstash工具中的进程用于处理上述第一logstash工具读取的数据。
结合第一方面,在一种可能的实施方式中,上述基于上述第一速率和上述第二速率,通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数包括:
若上述第一速率小于上述第二速率,则当上述第二速率与上述第一速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具减少上述第一logstash工具中的进程;
若上述第一速率等于上述第二速率,则保持上述第一logstash工具中的进程数不变;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
结合第一方面,在一种可能的实施方式中,若上述第二速率与上述第一速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍,则减少的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
结合第一方面,在一种可能的实施方式中,上述基于上述第一速率和上述第二速率,通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数包括:
若上述第一速率大于上述第二速率,则当上述第一速率与上述第二速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具增加上述第一logstash工具中的进程;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
结合第一方面,在一种可能的实施方式中,若上述第一速率与上述第二速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍,则增加的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
结合第一方面,在一种可能的实施方式中,上述通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数包括:
通过上述容器对应的容器编排工具调用上述第一logstash工具的应用程序编程接口;
基于上述应用程序编程接口对上述容器的容器资源进行调整,控制上述第一logstash工具的进程数。
结合第一方面,在一种可能的实施方式中,用于读取并处理上述kafka集群输出的数据的logstash工具还包括除上述第一logstash工具之外的至少一个第二logstash工具,上述方法还包括:
将上述第一logstash工具和上述至少一个第二logstash工具的配置信息存储至预设存储空间;
基于与上述预设存储空间连接的任一终端设备调整上述第一logstash工具和上述至少一个第二logstash工具中任一logstash工具中的进程数。
第二方面,本发明实施例提供了一种基于容器的进程管理装置,该进程管理装置包括:
速率获取单元,用于获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率,其中,上述kafka集群用于接收终端设备产生的数据并将上述数据输出至上述第一logstash工具,上述第一logstash工具在容器中运行,上述第一logstash工具用于读取并处理上述kafka集群输出的数据;
进程调整单元,用于基于上述获取单元获取的上述第一速率和上述第二速率,通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数,其中,上述第一logstash工具中的进程用于处理上述第一logstash工具读取的数据。
结合第二方面,在一种可能的实施方式中,上述进程调整单元包括进程缩减单元;
上述进程缩减单元,用于当上述第一速率小于上述第二速率,且上述第二速率与上述第一速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具减少上述第一logstash工具中的进程;
当上述第一速率等于上述第二速率时,保持上述第一logstash工具中的进程数不变;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
结合第二方面,在一种可能的实施方式中,当上述第二速率与上述第一速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍时,减少的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
结合第二方面,在一种可能的实施方式中,上述进程调整单元包括进程增加单元;
上述进程增加单元,用于当上述第一速率大于上述第二速率,且上述第一速率与上述第二速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具增加上述第一logstash工具中的进程;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
结合第二方面,在一种可能的实施方式中,当上述第一速率与上述第二速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍时,增加的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
结合第二方面,在一种可能的实施方式中,上述进程管理装置包括容器管理单元;上述容器管理单元用于:
通过上述容器对应的容器编排工具调用上述第一logstash工具的应用程序编程接口;
基于上述应用程序编程接口对上述容器的容器资源进行调整,控制上述第一logstash工具的进程数。
结合第二方面,在一种可能的实施方式中,用于读取并处理上述kafka集群输出的数据的logstash工具还包括除上述第一logstash工具之外的至少一个第二logstash工具,上述进程管理装置还包括:
信息存储单元,还用于将上述第一logstash工具和上述至少一个第二logstash工具的配置信息存储至预设存储空间;
上述进程调整单元,还用于基于与上述预设存储空间连接的任一终端设备调整上述第一logstash工具和上述至少一个第二logstash工具中任一logstash工具中的进程数。
第三方面,本发明实施例提供了一种终端设备,该终端设备包括处理器和存储器,该处理器和存储器相互连接。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
在本发明实施例中,通过获取kafka集群输出数据的速率和logstash工具读取数据的速率,可实时监测kafka集群和logstash工具之间的数据传输状态。通过容器编排工具可动态调整在容器中运行的logstash工具的进程数,以提高logstash工具读取kafka输出的数据的速率或者避免logstash工具中的进程资源浪费,灵活性好,适用性高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的kafka集群与logstash工具的结构示意图;
图2是本发明实施例提供的基于容器的进程管理方法流程图;
图3是本发明实施例提供的logstash工具读取数据的场景示意图;
图4是本发明实施例提供的基于容器的进程管理装置的结构示意图;
图5是本发明实施例提供的终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于容器的进程管理方法(为方便描述,可简称本发明实施例提供的方法)可适用于各个领域、各个行业中的各种数据管理系统。例如,本发明实施例提供的方法以及kafka集群和logstash工具可用于业务数据整合系统中,也可用于终端设备日志处理系统中,在此不做限制。其中,kafka集群是一种用于接收数据生产者端产生的数据或者第三方数据获取软件获取的数据,并对接收到的数据进行缓存分发的高吞吐量、分布式发布订阅消息系统。logstash工具是一个开源的数据收集处理引擎,可以同时从多个数据源获取数据、对获取到的进行数据标准化处理并发送到指定的数据接收端。本发明实施例提供的方法可基于kafka集群输出数据的速率和logstash工具读取数据的速率,实时调整logstash工具中的进程以提高数据传输率,避免系统资源浪费。
参见图1,图1是本发明实施例提供的kafka集群与logstash工具的结构示意图。如图1所示,kafka集群用于接收数据生产端产生的数据,在将接收到的数据生产端产生的数据分类存储之后,可将数据采用分布式的传输方式发送至指定的数据接收方。在图1中,logstash工具作为kafka集群的指定数据接收方接收并读取kafka集群输出的数据。为了提升数据输出的速率,上述kafka集群中包含有多个数据队列,kafka集群将接收到的数据都分类存储至不同的数据队列,每一个数据队列用于存储一个类型的数据并将该类型的数据输出至指定数据接收方。上述logstash工具通过工具中包含的多个进程读取上述kafka集群中每个数据队列输出的数据,并且当上述logstash工具中的任一进程读取上述kafka集群任一数据队列输出的数据之后,该进程会按照上述logstash中的处理规则对数据进行处理,或者将数据输出至下一数据处理平台。其中,上述数据生产端包括但不限于数据库、服务器以及终端设备,终端设备包括但不限于智能手机、平板电脑、笔记本电脑以及其他常见终端设备,在此不做限制。由于logstash工具中没有用于缓存数据的消息队列,当logstash工具读取数据的速率小于kafka集群输出数据的速率时,会造成logstash工具中的数据阻塞,进而导致数据传输时延和数据丢失隐患,影响数据读取和处理效率。同时,当kafka集群输出数据的速率小于logstash工具读取数据的速率时,logstash工具会投入过多的进程读取数据,造成资源浪费。
下面将结合图2至图5分别对本发明实施例提供的方法及相关装置进行说明。参见图2,图2是本发明实施例提供的基于容器的进程管理方法流程图。本发明实施例提供的基于容器的进程管理方法可包括步骤S1-S3:
S1、获取kafka集群输出数据的第一速率。
在一些可行的实施方式中,为了实时获知kafka集群在输出数据时的输出状态,可通过实时获取kafka集群输出数据的速率来了解kafka集群的数据输出能力。但是由于kafka集群会通过多个数据队列向logstash工具输出数据,且每个数据队列在相同时间输出数据的速率也可能不一致,因此每个数据队列输出数据的速率不能直观描述kafka集群输出数据时的输出状态,故可获取kafka集群内所有数据队列向logstash工具输出数据的总速率,即单位时间内上述kafka集群中的所有数据队列向上述logstash工具输出的总数据大小。此时,为方便描述,可将上述kafka集群中所有数据队列向logstash工具输出数据的总速率确定为kafka集群输出数据的第一速率。与此同时,在获取kafka集群输出数据的第一速率时,可先获取kafka集群中各个数据队列输出数据的速率,再将各个数据队列输出数据的速率相加以得到kafka集群输出数据的第一速率。或者,也可以获取kafka集群数据输出端口单位时间内输出的总数据大小,进而得到kafka集群输出数据的第一速率。其中,在获取kafka集群中各个数据队列输出数据的速率以及获取kafka集群数据输出端口单位时间内输出的总数据大小时,可通过数据监控软件实时获取,也可通过脚本如shell脚本等实时获取,还可以通过第三方设备调用kafka集群的API接口获取,具体方式可根据实际应用场景确定,在此不做限制。
S2、获取第一logstash工具读取数据的第二速率。
在一些可行的实施方式中,为了充分节约系统资源以降低系统负载,并使logstash工具受系统环境的限制无法正常运行,可先将logstash封装为镜像文件,并在容器中启动上述logstash工具的镜像文件,以使上述logstash工具在容器中运行。上述容器是一种用于提供虚拟运行环境的服务调用规范框架,可以从根本上降低应用或工具的部署工作难度和操作风险。同时,容器在任一系统或设备上运行程序或工具时,可随时对程序或工具的运行负载进行迁移,避免局限于单一的系统或设备。因此,在上述容器中启动上述logstash工具的镜像文件之后,由于容器中封装有运行logstash工具的所有细节,如操作系统、应用依赖等,从而上述logstash工具可在独立的运行环境中运行而不占用系统的内存、硬盘以及操作系统等资源,实现系统资源的动态分配。从而在根本上提升上述logstash工具读取和处理数据的速率。其中,上述容器包括但不限于BlueData、CoreOS、Docker、PortWorx以及Kismatic等,具体可根据实际应用场景确定,在此不做限制。
在一些可行的实施方式中,为了获知logstash工具读取kafka输出的实际状态,可通过实时获取logstash工具读取kafka集群输出的数据的速率来进一步了解logstash工具中进程的数据处理、传输效率。由于logstash工具中有多个进程读取kafka集群输出的数据,每个进程在相同时间读取数据的速率也可能不一致,导致单个或者多个进程读取数据的速率无法直接反映出logstash工具读取数据的速率。因此在获取logstash工具读取kafka集群输出的数据的速率时,需获取logstash工具中所有进程读取上述kafka集群输出的数据的总速率,即单位时间内上述logstash工具读取上述kafka集群输出的总数据大小。此时,为方便描述,可将上述logstash工具读取kafka集群输出的数据的速率确定为logstash工具读取数据的第二速率。与此同时,在获取logstash工具读取数据的第二速率时,可先获取logstash工具中各个进程读取数据的速率,再将各个进程读取数据的速率相加以得到logstash工具读取数据的第二速率。或者,也可以获取logstash工具数据接收端口单位时间内接收的总数据大小,进而得到logstash工具读取数据的第二速率。其中,在获取logstash工具中的各个进程读取数据的速率以及获取logstash工具数据接收端口单位时间内接收的总数据大小时,可通过数据监控软件实时获取,也可通过脚本如shell脚本等实时获取,还可以通过第三方设备调用logstash工具的API接口获取,具体实现方式可根据实际应用场景确定,在此不做限制。
S3、基于上述第一速率和上述第二速率,通过容器对应的容器编排工具调整上述第一logstash工具中的进程数。
在一些可行的实施方式中,为了准确获知某个时间点logstash工具中是否有数据阻塞,或者是否投入过多进程,可将kafka集群输出数据的第一速率与logstash工具读取数据的第二速率进行比较,以根据比较结果通过容器对应的容器编排工具调整logstash工具中的进程数。其中,上述容器编排工具包括但不限于Swarm、Kubernetes、Mesos、Marathon以及多种容器编排工具的组合,在此不做限制。且上述容器编排工具可调用logstash工具的应用程序编程接口,并基于上述应用程序编程接口对上述容器中的容器资源进行调整,以增加和/或减少在上述容器中运行的logstash工具中的进程数,进而可根据kafka集群输出数据的第一速率和logstash工具读取数据的第二速率实时调整logstash工具中的进程数。需要特别说明的是,由于kafka集群输出数据的第一速率和logstash工具读取数据的第二速率并不会保持恒定不变,故在将第一速率和第二速率进行比较时,需采用同一时间点获取到的第一速率和第二速率进行比较。当需要在某一时间段持续监测kafka集群和logstash工具之间的数据传输状态时,可在该时间段内持续对第一速率和第二速率进行比较,且在任一时间点用于比较的第一速率和第二速率均为在该任一时间点获取到的第一速率和第二速率。
其中,上述logstash工具中的最大进程数可由kafka集群中的服务节点来确定,具体可结合图3所示。图3是本发明实施例提供的logstash工具读取数据的场景示意图。
如图3所示,由于kafka集群有多种数据来源,所以为了并行处理大量来自不同数据生产端的数据,kafka集群中包含有多个数据队列。以kafka集群中的数据队列1为例,数据队列1中包含有多个服务节点,如服务节点1、服务节点2乃至服务节点n(在图3中n为大于2的正整数)。同时为了提升每个服务节点的数据输出效率,每个服务节点有多个分区(如在服务节点1中含有至少4个分区),具体的分区数可根据实际需求来确定,在此不做限制。由于logstash工具通过工具中的多个进程从每个服务节点的多个分区中读取数据,因此为了避免logstash工具中的进程重复读取同一分区输出的数据,故每个服务节点中的一个分区中的数据只能被logstash工具中的一个进程读取。需要特别说明的是,logstash工具中的一个进程可读取不同服务节点中不同分区中的数据。因此,由以上可知,当通过容器对应的容器编排工具调整logstash工具中的进程数时,logstash工具中的进程数不大于包含分区最多的服务节点中的分区数。
在一些可行的实施方式中,当kafka集群输出数据的第一速率小于logstash工具读取数据的第二速率时,则表示此时logstash工具用于读取数据的线程过多。因此,在当上述第二速率与上述第一速率的速率差值大于或者等于预设阈值时,可通过上述容器对应的容器编排工具减少logstash工具中的进程,以减少logstash中的进程数以及降低logstash工具读取数据的速率,进而使kafka集群输出数据的第一速率与减少进程后的logstash工具读取数据的速率近似一致。需要特别说明的是,logstash工具的任一进程单位时间内所读取的数据的大小不超过上述预设阈值,也就是说上述预设阈值为logstash工具中任一进程单位时间内读取的最大数据,上述预设阈值的具体数值可根据logstash工具中的进程的具体性能以及实际应用场景确定,在此不做限制。在具体减少logstash工具中的进程过程中,如果上述第二速率与上述第一速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍时,可减少logstash工具中的N个进程,N为正整数。例如,当kafka集群每秒输出1000条数据,logstash工具每秒读取3800条数据,且上述预设阈值为每秒1000条数据时,logstash工具每秒读取的数据与kafka集群每秒输出的数据的差值为每秒2800条数据。此时速率差值每秒2800条数据大于预设阈值每秒1000条数据的2倍,小于预设阈值的3倍,所以可通过上述容器对应的容器编排工具减少logstash工具中的3个进程,以使logstash工具在能以与kafka集群输出数据的第一速率近似一致的速率读取数据的同时,减少logstash工具的进程损耗。。
在一些可行的实施方式中,当kafka集群输出数据的第一速率小于logstash工具读取数据的第二速率时,则表示此时logstash工具中全部进程均用于读取kafaka集群输出的数据,但存在数据阻塞的情况。因此,在当上述第一速率与上述第二速率的速率差值大于或者等于预设阈值时,可通过上述容器对应的容器编排工具增加logstash工具中的进程,以减少logstash工具中的数据阻塞情况,进而使增加进程后的logstash工具读取数据的速率与kafka集群输出数据的第一速率近似一致。需要特别说明的是,logstash工具的任一进程单位时间内所读取的数据的大小不超过上述预设阈值,也就是说上述预设阈值为logstash工具中任一进程单位时间内读取的最大数据,上述预设阈值的具体数值可根据logstash工具中的进程的具体性能以及实际应用场景确定,在此不做限制。其中,在具体增加logstash工具中的进程过程中,如果上述第一速率与上述第二速率的速率差值大于或者等于上述预设阈值的N倍,且速率差值小于上述预设阈值的N+1倍,则可增加logstash工具中的N个进程,N为正整数。例如,当上述kafka集群每秒输出4100条数据,logstash工具每秒读取1000条数据,且当预设阈值为每秒1000条数据时,kafka集群每秒输出的数据与logstash工具每秒读取的数据的差值为每条3100条数据。此时速率差值每秒3100条数据大于预设阈值每秒1000条数据的3倍,小于预设阈值的4倍。所以,可在通过上述容器对应的容器编排工具增加logstash工具中的4个进程,以使logstash工具具备与kafka集群输出数据的第一速率近似一致的速率读取数据的同时,避免logstash内出现数据阻塞的情况。。
需要特别说明的是,当kafka集群输出数据的第一速率与logstash工具读取数据的速率一致时,此时保持logstash工具中的进程数不变,在此不再赘述。
在一些可行的实施方式中,对于kafka集群来说,如果kafka集群同时向多个logstash工具输出数据,也就是同时有多个logstash工具读取kafka输出的数据,且当kafka集群输出数据的速率与多个logstash工具读取数据的总速率不一致时可基于任一logstash工具所运行的容器对应的容器编排工具实时调整上述多个logstash工具中任一logstash工具的进程。具体的,当需要有多个logstash工具读取kafka集群输出的数据时,可将上述多个logstash工具的配置信息存储至预设存储空间,以实现对上述多个logstash工具的统一管理和应用,从而可使与上述预设存储空间连接的任一终端设备可通过任一logstash工具中任一logstash工具对应的容器编排工具调整任一logstash工具中的进程。其中,上述预设存储空间包括但不限于网络附加存储(Network Attached Storage,NAS)、直连式存储(Direct Attached Storage,DAS)以及存储区域网(Storage Area Network,SAN),在此不做限制。
在一些可行的实施方式中,当通过上述任一logstash工具对应的容器编排工具调整任一logstash工具中的进程时,可先获取kafka集群向多个logstash工具输出数据的第三速率,并在同一时间获取各个logstash工具读取数据的速率,再将各个logstash工具读取数据的速率相加得到所有logstash工具读取kafka集群输出的数据的第四速率。当上述第三速率大于上述第四速率时,则表示上述多个logstash工具至少有一个logstash工具中用于读取kafka输出的数据进程数量较少,存在数据阻塞的情况。因此,在当上述第三速率与上述第四速率的速率差值大于或者等于预设阈值时,可通过容器编排工具确定出上述多个logstash工具中进程数最少且发生数据阻塞的一个或者多个目标logstash工具,并减少上述一个或多个目标logstash工具中的进程,从而消除上述一个或多个目标logstash工具中的数据阻塞情况,提升上述所有logstash工具读取kafka集群输出的数据的第四速率。其中,若上述第四速率与上述第三速率的速率差值大于或者等于预设阈值的N倍,且小于上述预设阈值的N+1倍时,可减少上述一个或多个目标logstash工具中的N个进程,N为正整数。当上述第三速率大于上述第四速率时,则表示上述多个logstash工具中至少有一个logstash工具中投入过多进程用于读取数据。因此,在当上述第三速率与上述第四速率的速率差值大于或者等于预设阈值时,可通过上述容器对应的容器编排工具确定出投入过多进程的一个或多个目标logstash工具,并增加上述一个或多个目标logstash工具中的进程,从而降低上述所有logstash工具读取kafka集群输出的数据的第四速率。其中,若上述第三速率与上述第四速率的速率差值大于或者等于上述预设阈值的N倍,且速率差值小于上述预设阈值的N+1倍,则可增加上述一个或多个目标logstash工具中共计N个进程,N为正整数。其中,上述预设阈值为上述任一logstash工具中任一进程每秒读取的最大数据,也可以根据实际场景确定,在此不做限制。其中,增加或减少上述一个或多个目标logstash工具中的进程可任一logstash工具所运行的容器对应的容器编排工具进行,具体实现方式在此不做限制。
在本发明实施例中,通过实时监测kafka集群和logstash工具之间的数据传输状态。通过容器编排工具可动态调整在容器中运行的logstash工具的进程数,以提高logstash工具读取的速率或者避免logstash工具中的进程资源浪费。同时还可以灵活调整读取kafka集群输出的数据的logstash工具数,以实现进程和容器资源的灵活调度,适用性高。
参见图4,图4是本发明实施例提供的基于容器的进程管理装置的结构示意图。本发明实施例提供的基于容器的进程管理装置包括:
速率获取单元41,用于获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率,其中,上述kafka集群用于接收终端设备产生的数据并将上述数据输出至上述第一logstash工具,上述第一logstash工具在容器中运行,上述第一logstash工具用于读取并处理上述kafka集群输出的数据;
进程调整单元42,用于基于上述获取单元获取的上述第一速率和上述第二速率,通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数,其中,上述第一logstash工具中的进程用于处理上述第一logstash工具读取的数据。
在一些可行的实施方式中,上述进程调整单元42包括进程缩减单元4201;
上述进程缩减单元4201,用于当上述第一速率小于上述第二速率,且上述第二速率与上述第一速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具减少上述第一logstash工具中的进程;
当上述第一速率等于上述第二速率时,保持上述第一logstash工具中的进程数不变;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
在一些可行的实施方式中,上述进程缩减单元4201用于:
当上述第二速率与上述第一速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍时,减少的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
在一些可行的实施方式中,上述进程调整单元42包括进程增加单元4202;
上述进程增加单元4202,用于当上述第一速率大于上述第二速率,且上述第一速率与上述第二速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具增加上述第一logstash工具中的进程;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
在一些可行的实施方式中,上述进程增加单元4202用于:
当上述第一速率与上述第二速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍时,增加的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
在一些可行的实施方式中,上述进程管理装置包括容器管理单元43;上述容器管理单元43用于:
通过上述容器对应的容器编排工具调用上述第一logstash工具的应用程序编程接口;
基于上述应用程序编程接口对上述容器的容器资源进行调整,控制上述第一logstash工具的进程数。
在一些可行的实施方式中,用于读取并处理上述kafka集群输出的数据的logstash工具还包括除上述第一logstash工具之外的至少一个第二logstash工具,上述进程管理装置还包括:
信息存储单元44,还用于将上述第一logstash工具和上述至少一个第二logstash工具的配置信息存储至预设存储空间;
上述进程调整单元42,还用于基于与上述预设存储空间连接的任一终端设备调整上述第一logstash工具和上述至少一个第二logstash工具中任一logstash工具中的进程数。
具体实现中,上述进程管理装置可通过其内置的各个模块执行如上图2至图3中各个步骤所提供的实现方式。例如,上述速率获取单元41可用于用于获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率等实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述进程调整单元42可用于基于上述获取单元获取的上述第一速率和上述第二速率,通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数等实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述进程缩减单元4201可用于当上述第一速率小于上述第二速率,且上述第二速率与上述第一速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具减少上述第一logstash工具中的进程等实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述进程增加单元4202可用于当上述第一速率大于上述第二速率,且上述第一速率与上述第二速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具增加上述第一logstash工具中的进程等实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述容器管理单元43可用于通过上述容器对应的容器编排工具调用上述第一logstash工具的应用程序编程接口等实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述信息存储单元44可用于将上述第一logstash工具和上述至少一个第二logstash工具的配置信息存储至预设存储空间等实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本发明实施例中,通过实时监测kafka集群和logstash工具之间的数据传输状态。通过容器编排工具可动态调整在容器中运行的logstash工具的进程数,以提高logstash工具读取的速率或者避免logstash工具中的进程资源浪费。同时还可以灵活调整读取kafka集群输出的数据的logstash工具数,以实现进程和容器资源的灵活调度,适用性高。
图5是本发明实施例提供的终端设备的结构示意图。如图5所示,本实施例中的终端设备可以包括:一个或多个处理器51和存储器52。上述处理器51和存储器52通过总线53连接。存储器52用于存储计算机程序,该计算机程序包括程序指令,处理器51用于执行存储器52存储的程序指令,执行如下操作:
获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率,其中,上述kafka集群用于接收终端设备产生的数据并将上述数据输出至上述第一logstash工具,上述第一logstash工具在容器中运行,上述第一logstash工具用于读取并处理上述kafka集群输出的数据;
基于上述第一速率和上述第二速率,通过上述容器对应的容器编排工具调整上述第一logstash工具中的进程数,其中,上述第一logstash工具中的进程用于处理上述第一logstash工具读取的数据。
在一些可行的实施方式中,上述处理器51用于:
若上述第一速率小于上述第二速率,则当上述第二速率与上述第一速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具减少上述第一logstash工具中的进程;
若上述第一速率等于上述第二速率,则保持上述第一logstash工具中的进程数不变;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
在一些可行的实施方式中,若上述第二速率与上述第一速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍,则减少的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
在一些可行的实施方式中,上述处理器51用于:
若上述第一速率大于上述第二速率,则当上述第一速率与上述第二速率的速率差值大于或者等于预设阈值时,通过上述容器对应的容器编排工具增加上述第一logstash工具中的进程;
其中,上述第一logstash工具的进程中的一个进程所处理的数据的大小不超过上述预设阈值。
在一些可行的实施方式中,若上述第一速率与上述第二速率的速率差值大于或者等于上述预设阈值的N倍,且小于上述预设阈值的N+1倍,则增加的上述第一logstash工具中的进程的数量为N,其中,N为正整数。
在一些可行的实施方式中,上述处理器51用于:
通过上述容器对应的容器编排工具调用上述第一logstash工具的应用程序编程接口;
基于上述应用程序编程接口对上述容器的容器资源进行调整,控制上述第一logstash工具的进程数。
在一些可行的实施方式中,用于读取并处理上述kafka集群输出的数据的logstash工具还包括除上述第一logstash工具之外的至少一个第二logstash工具,上述处理器51还用于:
将上述第一logstash工具和上述至少一个第二logstash工具的配置信息存储至预设存储空间;
基于与上述预设存储空间连接的任一终端设备调整上述第一logstash工具和上述至少一个第二logstash工具中任一logstash工具中的进程数。
应当理解,在一些可行的实施方式中,上述处理器51可以是中央处理单元(central processing unit,CPU),该处理器51还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器52可以包括只读存储器和随机存取存储器,并向处理器51提供指令和数据。存储器52的一部分还可以包括非易失性随机存取存储器。例如,存储器52还可以存储设备类型的信息。
具体实现中,上述终端设备可通过其内置的各个功能模块执行如上述图2至图3中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本发明实施例中,通过实时监测kafka集群和logstash工具之间的数据传输状态。通过容器编排工具可动态调整在容器中运行的logstash工具的进程数,以提高logstash工具读取的速率或者避免logstash工具中的进程资源浪费。同时还可以灵活调整读取kafka集群输出的数据的logstash工具数,以实现进程和容器资源的灵活调度,适用性高。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2至图3中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的任务处理装置或者上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smartmedia card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(randomaccess memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本发明的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种基于容器的进程管理方法,其特征在于,所述方法包括:
获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率,其中,所述kafka集群用于接收终端设备产生的数据并将所述数据输出至所述第一logstash工具,所述第一logstash工具在容器中运行,所述第一logstash工具用于读取并处理所述kafka集群输出的数据;
基于所述第一速率和所述第二速率,通过所述容器对应的容器编排工具调整所述第一logstash工具中的进程数,其中,所述第一logstash工具中的进程用于处理所述第一logstash工具读取的数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一速率和所述第二速率,通过所述容器对应的容器编排工具调整所述第一logstash工具中的进程数包括:
若所述第一速率小于所述第二速率,则当所述第二速率与所述第一速率的速率差值大于或者等于预设阈值时,通过所述容器对应的容器编排工具减少所述第一logstash工具中的进程;
若所述第一速率等于所述第二速率,则保持所述第一logstash工具中的进程数不变;
其中,所述第一logstash工具的进程中的一个进程所处理的数据的大小不超过所述预设阈值。
3.根据权利要求2所述的方法,其特征在于,若所述第二速率与所述第一速率的速率差值大于或者等于所述预设阈值的N倍,且小于所述预设阈值的N+1倍,则减少的所述第一logstash工具中的进程的数量为N,其中,N为正整数。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第一速率和所述第二速率,通过所述容器对应的容器编排工具调整所述第一logstash工具中的进程数包括:
若所述第一速率大于所述第二速率,则当所述第一速率与所述第二速率的速率差值大于或者等于预设阈值时,通过所述容器对应的容器编排工具增加所述第一logstash工具中的进程;
其中,所述第一logstash工具的进程中的一个进程所处理的数据的大小不超过所述预设阈值。
5.根据权利要求4所述的方法,其特征在于,若所述第一速率与所述第二速率的速率差值大于或者等于所述预设阈值的N倍,且小于所述预设阈值的N+1倍,则增加的所述第一logstash工具中的进程的数量为N,其中,N为正整数。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述通过所述容器对应的容器编排工具调整所述第一logstash工具中的进程数包括:
通过所述容器对应的容器编排工具调用所述第一logstash工具的应用程序编程接口;
基于所述应用程序编程接口对所述容器的容器资源进行调整,控制所述第一logstash工具的进程数。
7.根据权利要求1至6任一项所述的方法,其特征在于,用于读取并处理所述kafka集群输出的数据的logstash工具还包括除所述第一logstash工具之外的至少一个第二logstash工具,所述方法还包括:
将所述第一logstash工具和所述至少一个第二logstash工具的配置信息存储至预设存储空间;
基于与所述预设存储空间连接的任一终端设备调整所述第一logstash工具和所述至少一个第二logstash工具中任一logstash工具中的进程数。
8.一种基于容器的进程管理装置,其特征在于,所述进程管理装置包括:
速率获取单元,用于获取kafka集群输出数据的第一速率和第一logstash工具读取数据的第二速率,其中,所述kafka集群用于接收终端设备产生的数据并将所述数据输出至所述第一logstash工具,所述第一logstash工具在容器中运行,所述第一logstash工具用于读取并处理所述kafka集群输出的数据;
进程调整单元,用于基于所述获取单元获取的所述第一速率和所述第二速率,通过所述容器对应的容器编排工具调整所述第一logstash工具中的进程数,其中,所述第一logstash工具中的进程用于处理所述第一logstash工具读取的数据。
9.一种终端设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910628623.6A CN110442436A (zh) | 2019-07-12 | 2019-07-12 | 基于容器的进程管理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910628623.6A CN110442436A (zh) | 2019-07-12 | 2019-07-12 | 基于容器的进程管理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110442436A true CN110442436A (zh) | 2019-11-12 |
Family
ID=68429696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910628623.6A Pending CN110442436A (zh) | 2019-07-12 | 2019-07-12 | 基于容器的进程管理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442436A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948127A (zh) * | 2021-03-30 | 2021-06-11 | 北京滴普科技有限公司 | 云平台容器平均负载监视方法、终端设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681904A (zh) * | 2011-03-16 | 2012-09-19 | 中国电信股份有限公司 | 数据同步调度方法和装置 |
US20160342618A1 (en) * | 2015-05-21 | 2016-11-24 | Peter Watkins | Dynamic and Optimized Management of Grid System Resources |
CN108365985A (zh) * | 2018-02-07 | 2018-08-03 | 深圳壹账通智能科技有限公司 | 一种集群管理方法、装置、终端设备及存储介质 |
CN108769100A (zh) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种基于kubernetes容器数量弹性伸缩的实现方法及其装置 |
CN109104487A (zh) * | 2018-08-20 | 2018-12-28 | 浪潮软件股份有限公司 | 一种基于logstash+kafka数据传输方法 |
CN109284251A (zh) * | 2018-08-14 | 2019-01-29 | 平安普惠企业管理有限公司 | 日志管理方法、装置、计算机设备以及存储介质 |
CN109525552A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 动态码同步进程扩容方法、动态码生成器及存储介质 |
-
2019
- 2019-07-12 CN CN201910628623.6A patent/CN110442436A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681904A (zh) * | 2011-03-16 | 2012-09-19 | 中国电信股份有限公司 | 数据同步调度方法和装置 |
US20160342618A1 (en) * | 2015-05-21 | 2016-11-24 | Peter Watkins | Dynamic and Optimized Management of Grid System Resources |
CN108365985A (zh) * | 2018-02-07 | 2018-08-03 | 深圳壹账通智能科技有限公司 | 一种集群管理方法、装置、终端设备及存储介质 |
CN108769100A (zh) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种基于kubernetes容器数量弹性伸缩的实现方法及其装置 |
CN109284251A (zh) * | 2018-08-14 | 2019-01-29 | 平安普惠企业管理有限公司 | 日志管理方法、装置、计算机设备以及存储介质 |
CN109104487A (zh) * | 2018-08-20 | 2018-12-28 | 浪潮软件股份有限公司 | 一种基于logstash+kafka数据传输方法 |
CN109525552A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 动态码同步进程扩容方法、动态码生成器及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948127A (zh) * | 2021-03-30 | 2021-06-11 | 北京滴普科技有限公司 | 云平台容器平均负载监视方法、终端设备及可读存储介质 |
CN112948127B (zh) * | 2021-03-30 | 2023-11-10 | 北京滴普科技有限公司 | 云平台容器平均负载监视方法、终端设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7076545B2 (en) | Load balancing the servicing of received packets | |
CN109831478A (zh) | 基于规则及模型的分布式实时处理智能决策系统及方法 | |
US7694035B2 (en) | DMA shared byte counters in a parallel computer | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN108683720A (zh) | 一种容器集群服务配置方法及装置 | |
CN102314336B (zh) | 一种数据处理方法和系统 | |
CN109510869A (zh) | 一种基于边缘计算的物联网服务动态卸载方法及装置 | |
CN112685148B (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
CN110231995A (zh) | 一种基于Actor模型的任务调度方法、装置及存储介质 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN111694640B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115334082A (zh) | 负载均衡方法、装置、计算机设备、存储介质和产品 | |
CN112000446A (zh) | 一种数据传输的方法及机器人 | |
CN109729013A (zh) | 一种流量整形中添加令牌的方法、装置及计算机可读存储介质 | |
CN110442436A (zh) | 基于容器的进程管理方法及相关装置 | |
CN109298888B (zh) | 队列的数据存取方法及装置 | |
CN107689984A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN103227755B (zh) | 使用推测技术的处理器到基于消息的网络的接口 | |
CN116302580B (zh) | 纳米继电器算力资源调度方法及装置 | |
CN109617833A (zh) | 多线程用户态网络协议栈系统的nat数据审计方法和系统 | |
CN115391053B (zh) | 基于cpu和gpu混合计算的在线服务方法及装置 | |
CN109918277A (zh) | 电子装置、系统日志聚类分析结果的评价方法及存储介质 | |
CN117633102A (zh) | 区块链的数据整合方法、装置、计算机设备及存储介质 | |
CN114897532A (zh) | 操作日志处理方法、系统、装置、设备和存储介质 | |
CN111340202B (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: 20191112 |