CN115543567A - 一种基于Flink的分布式灾备演练线程池优化及适配方法 - Google Patents
一种基于Flink的分布式灾备演练线程池优化及适配方法 Download PDFInfo
- Publication number
- CN115543567A CN115543567A CN202211196108.3A CN202211196108A CN115543567A CN 115543567 A CN115543567 A CN 115543567A CN 202211196108 A CN202211196108 A CN 202211196108A CN 115543567 A CN115543567 A CN 115543567A
- Authority
- CN
- China
- Prior art keywords
- task
- operators
- data
- disaster recovery
- central
- 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 51
- 238000005553 drilling Methods 0.000 title claims abstract description 41
- 238000011084 recovery Methods 0.000 title claims abstract description 38
- 238000005457 optimization Methods 0.000 title claims abstract description 11
- 230000006978 adaptation Effects 0.000 title claims description 10
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000003203 everyday effect Effects 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 abstract description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000002699 waste material Substances 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/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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Flink的分布式灾备演练线程池优化及适配方法,综合采用分布式数据收敛及利用各地组网内边缘节点训练中央模型,从而优化中央训练模型,并大幅度减小中央模型训练负载。将Flink作为灾备演练数据仓的主要计算引擎,来解决分布式灾备演练解决方案中关键的一个环节,通过线程池优化及调度将地方及跨地方隐私数据存储和计算引擎之间的适配问题,通过Flink构建的线程池特有的共享Slot特性合并多个计算优化运算链,同时,采取人工智能构建中央预警模型预测运算链各环节资源开销、基础架构及性能开销映射的监控指标之间提供一个最优平衡点做为依据。
Description
技术领域
本发明属于软件开发及IT技术领域,具体涉及一种基于Flink的分布式灾备演练线程池优化及适配方法。
背景技术
随着数字化发展的逐渐深入,网络安全已经成为社会发展的重要保证,使得灾备演练更加具有参考价值,灾备数据信息的收集和处理是灾备演练中的一个重要环节。信息收集全面,数据准确能够保证灾备演练的各任务正常执行。演练的处理过程是高度接近真实灾难发生时的处理过程,确保了灾备演练能够对工作起到作用,从而使灾备自动演练对数据维护起到参考作用。
现有IT业务系统的容灾演练业务流程信息存在表现不完整,各地边缘节点隐私数据对中央模型影训练影响;分布式应用不同于传统单体应用,不同计算节点存在硬件配置差异,线程池的运行情况也是各有差异;线程池的工作线程数、最大工作线程数、任务队列大小等参数主要依靠项目开发人员的经验进行确定,缺乏成熟可靠的方式提前规划;当线程池的配置不符合实际业务需求时,极易引发资源浪费、任务阻塞等一系列问题,降低软件项目的可用性甚至造成软件项目的崩溃等一系列的问题。
发明内容
本发明针对现有技术的问题,提供一种将人工智能应用于灾备演练中并通过线程池适配技术减轻中央模型训练的负载,又保证了分布式灾备演练数据在中央与地方数据差异化问题的基于Flink的分布式灾备演练线程池优化及适配方法。
为了实现上述发明目的,本发明的技术方案如下:
一种基于Flink的分布式灾备演练线程池优化及适配方法,包括以下步骤:
其中:P(A)为每天灾害评估故障发生的概率,P(B)为灾害评估故障发生后误报的占比,P(A|B)为故障恢复后该类型故障仍然会发生的概率,P(B|A)为灾害评估故障每天发生的概率;
步骤二、创建线程池并将地方灾备演练数据按演练环节映射为算子,整个演练过程映射为运算链;
步骤三、将每个运算链映射为一个TaskManager进程;JobManager 通过ActorSystem管理分布式灾备演练地方的数据运算及参与中央预警模型运算得到每个算子的故障发生概率值,并通过概率值进行优先级线程分配,从而达到充分的利用Task Slots(进程插槽)的资源使较大的算子能够均匀的分布在TaskManager上;
步骤四、最后通过Client来管理各地方灾备演练数据流向JobManagers。
进一步的,所述演练环节包括告警发现、灾害评估、灾难确认。
进一步的,所述JobManager:负责协调地方隐私及公开数据以分布式任务的形式通过线程池向中央数据库进行传输;
所述TaskManager:负责映射为地方向中央传输数据的一个进程,Task Slots映射为一个线程,一个进程内可包含多个线程;TaskManager将内存Task Slots(进程插槽)与内存资源连接,将灾备演练各环节产生的数据映射为算子放入中央预警模型进行运算,预测算子发生异常的概率值一起放入算子中,最后将各环节算子组成运算链;
所述线程池:负责收到包含算子预测概率值的运算链线程后进行优先级线程分配;
所述Client:负责准备和提交数据流到JobManagers之后可以断开连接或者保持连接以获取任务的状态信息。
进一步的,所述优先级线程分配包括:
优先将运算链中各算子预测概率值没有大于50%的运算链线程向共享的多个TaskSlots按顺序均匀发送,从而达到充分的利用Task Slots(进程插槽)的资源使较大的算子能够均匀的分布在TaskManager上;
次优先加权平均后不超过50%的运算链程向共享的多个Task Slots按顺序均匀发送,从而达到充分的利用Task Slots(进程插槽)的资源使较大的算子能够均匀的分布在TaskManager上;
运算链中某个算子预测概率值大于等于50%或运算链加权平均值大于等于50%,则放入一个单独开辟的TaskManager进程内的多个Task Slots线程的进程内并根据运算链数量及所占内存大小使预测概率值大于50%及代价较大的算子均匀的分布在TaskManager上,从而使得预测概率值大于50%的算子可共用单独TaskManager的进程,并且可以共用同一个JobManager 下的其他TaskManager的TCP连接和心跳消息,同时可以共用一些数据集和数据结构,从而减小任务的开销。
本发明具有的优点及有益效果如下:
本发明将Flink作为灾备演练数据库的主要计算引擎,Flink是一个针对流数据和批数据的分布式处理引擎,来解决分布式灾备演练解决方案中关键的一个环节即,通过线程池优化及调度将地方及跨地方隐私数据存储和计算引擎之间的适配问题,通过Flink构建的线程池特有的共享slot特性合并多个计算优化运算链,同时,采取人工智能构建中央预警模型预测运算链各环节资源开销、基础架构及性能开销映射的监控指标之间提供一个最优平衡点做为依据。本方法通过Flink数据流分布式执行特点为分布式灾备演练数据运算提供了一种全新的模式,即通过线程池适配技术减轻了中央模型训练的负载,又保证了分布式灾备演练数据在中央与地方数据差异化问题。
附图说明
图1为本发明方法实施例的基本架构流程示意图。
具体实施方式
下面结合具体实施例对本发明做进一步说明。
实施例:
一种基于Flink的分布式灾备演练线程池优化及适配方法,包括以下步骤:
其中:P(A)为每天灾害评估故障发生的概率,P(B)为灾害评估故障发生后误报的占比,P(A|B)为故障恢复后该类型故障仍然会发生的概率,P(B|A)为灾害评估故障每天发生的概率;
如:首先,访问灾备数据库获得各地灾备演练灾害评估数据。
P(A):每天灾害评估故障发生的概率:1(0=无 1=有);
P(B):灾害评估故障发生后误报的占比:
灾害评估故障误报的数量/故障恢复总条数【0.02】
P(A|B):故障恢复后,该类型故障仍然会发生的概率
1-(当前类型故障误报条数/当前类型故障仍发生条数)=0.9
P(B|A):灾害评估故障每天发生的概率根据公式,即可求得:
P(B|A) = 0.9 * 0. 02 / 1 = 0.018;
步骤二、创建线程池并将地方灾备演练数据按演练环节映射为算子,整个演练过程映射为运算链;
步骤三、将每个运算链映射为一个TaskManager进程;JobManager 通过ActorSystem管理分布式灾备演练地方的数据运算及参与中央预警模型运算得到每个算子的故障发生概率值,并通过概率值进行优先级线程分配,从而达到充分的利用Task Slots(进程插槽)的资源使较大的算子能够均匀的分布在TaskManager上;
步骤四、最后通过Client来管理各地方灾备演练数据流向JobManagers。
所述演练环节包括告警发现、灾害评估、灾难确认。
所述JobManager:负责协调地方隐私及公开数据以分布式任务的形式通过线程池向中央数据库进行传输;
所述TaskManager:负责映射为地方向中央传输数据的一个进程,Task Slots映射为一个线程,即地方和跨地方隐私数据交互传输,一个进程内可包含多个线程;TaskManager将内存Task Slots(进程插槽)与内存资源连接,将灾备演练各环节产生的数据映射为算子放入中央预警模型进行运算,预测算子发生异常的概率值一起放入算子中,最后将各环节算子组成运算链;
所述线程池:负责收到包含算子预测概率值的运算链线程后进行优先级线程分配;
所述Client:负责准备和提交数据流到JobManagers之后可以断开连接或者保持连接以获取任务的状态信息。
所述优先级线程分配包括:
所述优先将运算链中各算子预测概率值没有大于50%的运算链线程向共享的多个Task Slots按顺序均匀发送,从而达到充分的利用Task Slots(进程插槽)的资源使较大的算子能够均匀的分布在TaskManager上。
所述次优先加权平均后不超过50%的运算链程向共享的多个Task Slots按顺序均匀发送,从而达到充分的利用Task Slots(进程插槽)的资源使较大的算子能够均匀的分布在TaskManager上。
所述运算链中某个算子预测概率值大于等于50%或运算链加权平均值大于等于50%,则放入一个单独开辟的TaskManager进程内的多个Task Slots线程的进程内并根据运算链数量及所占内存大小使预测概率值大于50%及代价较大的算子均匀的分布在TaskManager上,从而使得预测概率值大于50%的算子可共用单独TaskManager的进程,并且可以共用同一个JobManager 下的其他TaskManager的TCP连接和心跳消息,同时可以共用一些数据集和数据结构,从而减小任务的开销。
所述Task Slots的默认数量最好是CPU的核数;
所述将算子串连到任务中能减少线程间的数据交接和缓存,并且提高整体的吞吐,降低处理的时延;
所述在拥有多个slot的TaskManager上,算子共用一个进程,可以共用TCP连接和心跳消息,同时可以共用一些数据集和数据结构,从而减小任务的开销;
所述JobManagers即masters ,协调分布式任务的执行 ,用来调度任务,协调checkpoints,协调错误恢复等等,至少需要一个JobManager,高可用的系统会有多个,一个leader,其他是standby;
所述TaskManagers即workers,用来执行数据流任务或者算子,缓存和交互数据流, 至少需要一个TaskManager;
所述线程与线程池:线程是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,一个应用程序中需要多次使用线程,意味着需要多次创建并销毁线程,而线程的创建和销毁势必会消耗内存;线程池可以对线程进行复用,可以尽可能的避免线程的重复创建和销毁,减少内存的消耗。
Claims (4)
1.一种基于Flink的分布式灾备演练线程池优化及适配方法,其特征在于:包括以下步骤:
其中:P(A)为每天灾害评估故障发生的概率,P(B)为灾害评估故障发生后误报的占比,P(A|B)为故障恢复后该类型故障仍然会发生的概率,P(B|A)为灾害评估故障每天发生的概率;
步骤二、创建线程池并将地方灾备演练数据按演练环节映射为算子,整个演练过程映射为运算链;
步骤三、将每个运算链映射为一个TaskManager进程;JobManager 通过Actor System管理分布式灾备演练地方的数据运算及参与中央预警模型运算得到每个算子的故障发生概率值,并通过概率值进行优先级线程分配,从而达到充分的利用Task Slots的资源使较大的算子能够均匀的分布在TaskManager上;
步骤四、最后通过Client来管理各地方灾备演练数据流向JobManagers。
2.根据权利要求1所述的一种基于Flink的分布式灾备演练线程池优化及适配方法,其特征在于:所述演练环节包括告警发现、灾害评估、灾难确认。
3.所述JobManager:负责协调地方隐私及公开数据以分布式任务的形式通过线程池向中央数据库进行传输;
所述TaskManager:负责映射为地方向中央传输数据的一个进程,Task Slots映射为一个线程,一个进程内可包含多个线程;TaskManager将内存Task Slots与内存资源连接,将灾备演练各环节产生的数据映射为算子放入中央预警模型进行运算,预测算子发生异常的概率值一起放入算子中,最后将各环节的算子组成运算链;
所述线程池:负责收到包含算子预测概率值的运算链线程后进行优先级线程分配;
所述Client:负责准备和提交数据流到JobManagers之后可以断开连接或者保持连接以获取任务的状态信息。
4.优先级线程分配包括:
优先将运算链中各算子预测概率值没有大于50%的运算链线程向共享的多个TaskSlots按顺序均匀发送,从而达到充分的利用Task Slots的资源使较大的算子能够均匀的分布在TaskManager上;
次优先加权平均后不超过50%的运算链程向共享的多个Task Slots按顺序均匀发送,从而达到充分的利用Task Slots的资源使较大的算子能够均匀的分布在TaskManager上;
运算链中某个算子预测概率值大于等于50%或运算链加权平均值大于等于50%,则放入一个单独开辟的TaskManager进程内的多个Task Slots线程的进程内并根据运算链数量及所占内存大小使预测概率值大于50%及代价较大的算子均匀的分布在TaskManager上,从而使得预测概率值大于50%的算子可共用单独TaskManager的进程,并且可以共用同一个JobManager 下的其他TaskManager的TCP连接和心跳消息,同时可以共用一些数据集和数据结构,从而减小任务的开销。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211196108.3A CN115543567A (zh) | 2022-09-29 | 2022-09-29 | 一种基于Flink的分布式灾备演练线程池优化及适配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211196108.3A CN115543567A (zh) | 2022-09-29 | 2022-09-29 | 一种基于Flink的分布式灾备演练线程池优化及适配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543567A true CN115543567A (zh) | 2022-12-30 |
Family
ID=84731400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211196108.3A Pending CN115543567A (zh) | 2022-09-29 | 2022-09-29 | 一种基于Flink的分布式灾备演练线程池优化及适配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543567A (zh) |
-
2022
- 2022-09-29 CN CN202211196108.3A patent/CN115543567A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103439629B (zh) | 基于数据网格的配电网故障诊断系统 | |
CN106357426A (zh) | 一种基于工业云的大规模分布式智能数据采集系统及方法 | |
CN108965014A (zh) | QoS感知的服务链备份方法及系统 | |
CN113259355B (zh) | 一种基于sdn的工业互联网标识切片管理系统 | |
Wang et al. | Reliability modeling and analysis for linear consecutive-k-out-of-n: F retrial systems with two maintenance activities | |
Pasieka et al. | Models, methods and algorithms of web system architecture optimization | |
CN113448947B (zh) | 一种mongo数据库分布式部署运维的方法和装置 | |
CN114726708A (zh) | 一种基于人工智能的网元设备故障预测方法及系统 | |
CN115543567A (zh) | 一种基于Flink的分布式灾备演练线程池优化及适配方法 | |
CN116149954A (zh) | 一种服务器智能运维系统及其方法 | |
CN109359810A (zh) | 一种基于多策略均衡的电力通信传输网运行状态评估方法 | |
CN116346823A (zh) | 一种基于消息队列的大数据异构任务调度方法及系统 | |
CN113361054B (zh) | 电力信息物理系统路由优化方法及系统 | |
CN115033450A (zh) | 一种基于分布式的贝叶斯集群监控预警分析方法 | |
Zhang et al. | Maintenance of large scale wireless sensor networks | |
WO2024007426A1 (zh) | 一种基于k8s结合灾备演练故障预测及Pod调度的方法 | |
Wan et al. | Research on Optimization Method of Computer Network Service Quality Based on Integration of Various Artificial Intelligence Technologies | |
CN115334162B (zh) | 一种基于用户请求的电力服务管理的安全通信方法及系统 | |
CN215954134U (zh) | 环保能源企业大规模实时数据通讯状态监控系统 | |
Liu | Enhanced Optimization of Computer Network Connection Based on Neural Network Algorithm | |
Stern et al. | A diagnosis expert system for network traffic management | |
KR102334975B1 (ko) | 사물 인터넷 장치의 데이터 분산 전송을 이용한 자동화 설비 제어 시스템 | |
Li et al. | Node Resource Balance Scheduling Algorithm of Power Internet of Things Based on Big Data | |
CN117767566A (zh) | 一种电力调度主站集群系统关键设备自动建模系统和方法 | |
CN106844021A (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 |