CN112988243A - 设备切换方法、装置及计算设备 - Google Patents
设备切换方法、装置及计算设备 Download PDFInfo
- Publication number
- CN112988243A CN112988243A CN201911215300.0A CN201911215300A CN112988243A CN 112988243 A CN112988243 A CN 112988243A CN 201911215300 A CN201911215300 A CN 201911215300A CN 112988243 A CN112988243 A CN 112988243A
- Authority
- CN
- China
- Prior art keywords
- equipment
- performance
- data
- state
- grade
- 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
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及计算机技术领域,公开了一种设备切换方法、装置及计算设备。其中,该方法包括:实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据;根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级;根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级;根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换。通过上述方式,本发明实施例能够提高设备切换的效率。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种设备切换方法、装置及计算设备。
背景技术
在电信行业信息系统的架构设计中,由于业务处理的特殊性,导致存在部分应用进程无法部署高可用架构。这种应用进程主要来自于独立承载业务的后台进程。同类型的后台进程只能启动一个,只能以单点的方式运行,因此无法使用高可用架构。这种承载非高可用架构应用进程的主机一旦出现故障,业务就会受损,应急保障十分被动。
目前,一般通过设置备用机来应对承载非高可用架构应用进程的主机故障的情况。在冷备架构下,备用机对运行进程的主机进行告警监控,当有告警产生时,人工进行主机和备用机切换,以使备用机接管原先主机上的进程。但是,这种切换方法需要人工操作,效率较低。
发明内容
鉴于上述问题,本发明实施例提供了一种设备切换方法、装置及计算设备,能够提高设备切换的效率。
根据本发明实施例的一个方面,提供了一种设备切换方法,所述方法包括:实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据;根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级;根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级;根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换。
在一种可选的方式中,所述根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级,进一步包括:根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能状态码和所述第二设备的性能状态码;检测所述第一设备的连通状态和第二设备的连通状态;根据所述第一设备的连通状态和第二设备的连通状态,分别确定所述第一设备的连通状态码和所述第二设备的连通状态码;将所述第一设备的性能状态码乘以所述第一设备的连通状态码,计算得到所述第一设备的性能等级,并将所述第二设备的性能状态码乘以所述第二设备的连通状态码,计算得到所述第二设备的性能等级。
在一种可选的方式中,所述根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能状态码和所述第二设备的性能状态码,进一步包括:根据所述第一性能数据和所述第二性能数据,比较所述第一设备的性能和所述第二设备的性能;若所述第一设备的性能优于所述第二设备的性能,则所述第一设备的性能状态码为3,所述第二设备的性能状态码为1;若所述第二设备的性能优于所述第一设备的性能,则所述第二设备的性能状态码为3,所述第一设备的性能状态码为1。
在一种可选的方式中,所述根据所述第一设备的连通状态和第二设备的连通状态,分别确定所述第一设备的连通状态码和所述第二设备的连通状态码,进一步包括:若所述第一设备的连通状态为连通,则所述第一设备的连通状态码为1;若所述第一设备的连通状态为不连通,则所述第一设备的连通状态码为0;若所述第二设备的连通状态为连通,则所述第二设备的连通状态码为1;若所述第二设备的连通状态为不连通,则所述第二设备的连通状态码为0。
在一种可选的方式中,所述根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级,进一步包括:根据所述第一进程数据,计算所述第一设备的进程状态值,并根据所述第二进程数据,计算所述第二设备的进程状态值;根据所述第一设备的进程状态值与预设状态码的对应关系,确定所述第一设备的进程状态码,并根据所述第二设备的进程状态值与所述预设状态码的对应关系,确定所述第二设备的进程状态码;根据所述第一设备的进程状态码与所述第二设备的进程状态码的和,确定所述设备进程状态等级。
在一种可选的方式中,所述进程数据包括:进程中每秒发生的错误数、进程的上下文切换次数和进程的单位时间内FULL GC持续时间;则,所述根据所述第一进程数据,计算所述第一设备的进程状态值,并根据所述第二进程数据,计算所述第二设备的进程状态值,进一步包括:根据以下公式计算进程状态值:
其中,Yi为第i个进程的进程状态值,i为整数,a为进程中每秒发生的错误数,b为进程的上下文切换次数,c为进程的单位时间内FULL GC持续时间。
在一种可选的方式中,所述根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换,进一步包括:
若所述设备进程状态等级为第零等级,则比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程;
若所述设备进程状态等级为第一等级,则不进行设备切换;
若所述设备进程状态等级为第二等级,则比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最低的设备停止进程;
若所述设备进程状态等级为第三等级,则确定运行异常进程的设备,使所述运行异常进程的设备停止进程,并比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程;
若所述设备进程状态等级为第四等级,则确定运行异常进程的设备,使所述运行异常进程的设备停止进程;
若所述设备进程状态等级为第六等级,则使所述第一设备和所述第二设备停止进程,并比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程。
根据本发明实施例的另一方面,提供了一种设备切换装置,所述装置包括:数据采集器,用于实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据;筛选-聚合-状态转义器,用于根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级;运行负载评判器,用于根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级;启停逻辑控制器,用于根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换。
根据本发明实施例的又一方面,提供了一种计算设备,包括:处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的设备切换方法的操作。
根据本发明实施例的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上所述的设备切换方法。
本发明实施例通过实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据,根据第一进程数据和第二进程数据,确定设备进程状态等级,根据第一性能数据和第二性能数据,确定第一设备的性能等级以及第二设备的性能等级,根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换,无需人工介入,切换耗时大幅缩短,能够提高设备切换的效率,同时,通过资源均衡实现“去主备化”,使得进程始终运行在性能最佳的设备,不再需要备端与提供与生产相同比例的额外闲置资源备用,提高了资源复用率,节省了大量资源成本。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明其中一实施例提供的设备切换方法的流程图;
图2示出了本发明另一实施例提供的设备切换方法的流程图;
图3示出了图2中步骤231的流程图;
图4示出了本发明实施例提供的设备切换装置的结构示意图;
图5示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
目前,一般通过设置备用机来应对承载非高可用架构应用进程的主机故障的情况。在冷备架构下,备用机对运行进程的主机进行告警监控,当有告警产生时,人工进行主机和备用机切换,以使备用机接管原先主机上的进程。但是,这种切换方法需要人工操作,效率较低。在热备架构下,需要在主机和备用机之间做双向心跳检测判断主机和备用机的可用性,而双向心跳检测对网络稳定性依赖较高,占用网络抖动很有可能导致误判而自动拉起,网络恢复后主机和备用机同时运行,从而无法保证应用处理数据的准确性,可能导致数据异常风险。
基于此,本发明实施例提供一种设备切换方法、装置及计算设备,能够提高设备切换的效率。
具体地,下面结合附图,对本发明实施例作进一步阐述。
其中,应当理解的是,本发明提供的下述实施例之间,只要不冲突,均可相互结合以形成新的实施方式。
图1示出了本发明其中一实施例提供的设备切换方法的流程图。该方法应用于计算设备中。如图1所示,该方法包括以下步骤:
步骤110、实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据。
其中,性能数据是指用于评价设备性能的数据,进程数据是指设备上运行的进程的相关数据。性能数据可以包括CPU使用率、IOWAIT、内存使用率、磁盘读写次数、磁盘读写速度中的一种或多种。进程数据可以包括进程中每秒发生的错误数、进程的上下文切换次数、进程的单位时间内FULL GC持续时间、进程CPU使用率、进程内存占主机内存使用率、进程对磁盘的读写速度中的一种或多种。
由于性能数据会随着进程的变化而变化,进程数据也随着进程的变化而变化,因此需要对数据进行实时采集,以提高切换的准确率。实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据,具体可以为:每间隔预设时间采集第一设备的第一性能数据和第一进程数据以及第二设备的第二性能数据和第二进程数据,其中,预设时间可以根据实际需要预先设置。
步骤120、根据第一进程数据和第二进程数据,确定设备进程状态等级。
其中,设备进程状态等级是指用于表示所有设备的进程状态的预设的等级。在本实施例中,所有设备包括第一设备和第二设备,而在一些其他实施例中,所有设备还可以包括第一设备、第二设备、第三设备、第四设备等等。
在步骤120中,具体可以为:对实时采集的第一进程数据和第二进程数据进行筛选、聚合和转义,以得到转义结果,根据转义结果划分第一设备和第二设备的取值,并根据第一设备和第二设备的取值,确定设备进程状态等级。
步骤130、根据第一性能数据和第二性能数据,确定第一设备的性能等级以及第二设备的性能等级。
其中,性能等级是指用于表示设备的性能优劣的预设的等级。在步骤130中,具体可以为:根据所述第一性能数据和所述第二性能数据,比较所述第一设备的性能和所述第二设备的性能,性能好的设备则性能等级高,性能差的设备则性能等级低。
步骤140、根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换。
在确定设备进程状态等级、第一设备的性能等级以及第二设备的性能等级后,根据设备进程状态等级,分析第一设备和第二设备上的进程运行情况,并根据第一设备和第二设备上的进程运行情况,并结合实时检测的第一设备的性能等级和第二设备的性能等级,使进程运行在性能等级较高的设备上,从而进行设备切换。
需要说明的是,本实施例中的设备可以为任何合适类型的,具有一定逻辑运算能力的电子设备。设备可以以多种形式存在,包括但不限于:(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标,例如:智能手机、功能性手机等。(2)计算机设备:这类设备有计算和处理功能,或具备移动上网特性,例如:PDA、MID和UMPC设备等。(3)便携式娱乐设备:这类设备可以显示和播放内容,例如:音频、视频播放器,掌上游戏机,电子书,以及智能玩具。(4)其他具有计算功能的电子装置。
本发明实施例通过实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据,根据第一进程数据和第二进程数据,确定设备进程状态等级,根据第一性能数据和第二性能数据,确定第一设备的性能等级以及第二设备的性能等级,根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换,无需人工介入,切换耗时大幅缩短,能够提高设备切换的效率,同时,通过资源均衡实现“去主备化”,使得进程始终运行在性能最佳的设备,不再需要备端与提供与生产相同比例的额外闲置资源备用,提高了资源复用率,节省了大量资源成本。
图2示出了本发明另一实施例提供的设备切换方法的流程图。该方法应用于计算设备中。如图2所示,该方法包括以下步骤:
步骤210、实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据。
其中,步骤210与上述实施例中的步骤110相同,此处不再赘述。
步骤221、根据第一进程数据,计算第一设备的进程状态值,并根据第二进程数据,计算第二设备的进程状态值。
其中,进程状态值为根据进程数据经过聚合、转义得到的数值。在本实施例中,可以先构建进程-主备机组二维数据,进程用i表示(i为正整数),主机用hn表示(n为正整数),每个后台进程主备机组数据和所部属的进程数据由一个二维数组维护;然后,根据聚合算法对每个进程的进程数据进行聚合,从而实现多元数据到一元数据的转换。其中,可以根据以下公式计算进程状态值:
其中,Yi为第i个进程的进程状态值,i为整数,a为进程中每秒发生的错误数,b为进程的上下文切换次数,c为进程的单位时间内FULL GC持续时间。
为了方便转义,把Yi的取值结果限定在[0,100]。根据转义规则对一元数据进行转义,得到转义结果(即进程状态值)。转义结果用Si表示,Si∈{S0,S1,S3}。当Yi=0时,表示进行不存在,则转义结果取S0;当Yi∈[60,100]时,表示进程正常运行,则转义结果取S1;当Yi∈(0,60)时,表示进程异常,则转义结果取S3。
例如,若第一设备在第一进程中计算得到Y1=0,则第一设备在第一进程的进程状态值为S0,若第二设备在第一进程中计算得到Y1=70,则第二设备在第一进程的进程状态值为S1,从而根据的第一设备的进程状态值和第二设备的进程状态值对二维数组进行填充,如以下表1所示。
表1
进程\设备 | h<sub>1</sub> | h<sub>2</sub> |
p<sub>1</sub> | S<sub>0</sub> | S<sub>1</sub> |
p<sub>2</sub> | S<sub>3</sub> | S<sub>1</sub> |
p<sub>3</sub> | S<sub>1</sub> | S<sub>1</sub> |
p<sub>4</sub> | S<sub>0</sub> | S<sub>0</sub> |
p<sub>i</sub> | ··· | ··· |
步骤222、根据第一设备的进程状态值与预设状态码的对应关系,确定第一设备的进程状态码,并根据第二设备的进程状态值与预设状态码的对应关系,确定第二设备的进程状态码。
在本实施例中,预设:当进程状态值为S0时,对应预设状态码为0;当进程状态值为S1时,对应预设状态码为1;当进程状态值为S3时,对应预设状态码为3。
步骤223、根据第一设备的进程状态码与第二设备的进程状态码的和,确定设备进程状态等级。
将第一设备的进程状态码与第二设备的进程状态码相加,得到的和作为设备进程状态等级。例如,假设第一设备的进程状态码为1,第二设备的进程状态码为0,则第一设备和第二设备的进程状态等级为第一等级;又例如,假设第一设备的进程状态码为3,第二设备的进程状态码为1,则第一设备和第二设备的进程状态等级为第四等级。
步骤231、根据第一性能数据和第二性能数据,确定第一设备的性能状态码和第二设备的性能状态码。
其中,性能状态码是指根据性能数据得到的用于衡量性能状态的数值。具体地,如图3所示,步骤231可以包括:
步骤2311、根据第一性能数据和第二性能数据,比较第一设备的性能和第二设备的性能;
步骤2312、若第一设备的性能优于第二设备的性能,则第一设备的性能状态码为3,第二设备的性能状态码为1;
步骤2313、若第二设备的性能优于第一设备的性能,则第二设备的性能状态码为3,第一设备的性能状态码为1。
在步骤2311中,可以通过以下公式比较第一设备的性能和第二设备的性能:
其中,c1为第一设备的CPU使用率,i1为第一设备的IOWAIT,m1为第一设备的内存使用率,t1为第一设备的磁盘读写次数,v1为第一设备的磁盘读写速度,c2为第二设备的CPU使用率,i2为第二设备的IOWAIT,m2为第二设备的内存使用率,t2为第二设备的磁盘读写次数,v2为第二设备的磁盘读写速度。
当E≥0时,表示第一设备的性能更好;当E<0时,表示第二设备的性能更好。则对于性能更好的设备,确定其性能状态码为3,对于性能较差的设备,确定其性能状态码为1。
步骤232、检测第一设备的连通状态和第二设备的连通状态。
其中,连通状态是指网络连通状态和电路连通状态。可以通过检测设备与第一设备和第二设备分别连接,从而分别检测第一设备的连通状态和第二设备的连通状态。
步骤233、根据第一设备的连通状态和第二设备的连通状态,分别确定第一设备的连通状态码和第二设备的连通状态码。
其中,根据第一设备的连通状态和第二设备的连通状态,分别确定第一设备的连通状态码和第二设备的连通状态码,具体包括:若所述第一设备的连通状态为连通,则所述第一设备的连通状态码为1;若所述第一设备的连通状态为不连通,则所述第一设备的连通状态码为0;若所述第二设备的连通状态为连通,则所述第二设备的连通状态码为1;若所述第二设备的连通状态为不连通,则所述第二设备的连通状态码为0。
步骤234、将第一设备的性能状态码乘以第一设备的连通状态码,计算得到第一设备的性能等级,并将第二设备的性能状态码乘以第二设备的连通状态码,计算得到第二设备的性能等级。
其中,可以根据以下公式计算设备的性能等级:
G(h)=T*P
其中,G(h)为设备的性能等级,T为设备的连通状态码,T∈{1,3},P为设备的性能状态码,P∈{0,1}。则当G(h)=3时,表示设备连通且性能最佳,则设备的性能等级为3;当G(h)=1时,表示设备连通且性能次佳,则设备的性能等级为1;G(h)=0时,表示设备不连通,则设备的性能等级为0。
步骤240、根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换。
其中,根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换,具体包括:
若设备进程状态等级为第零等级,则比较第一设备的性能等级以及第二设备的性能等级,使性能等级最高的设备启动进程。例如,假设第一设备的进程状态码为S0,第二设备的进程状态码为S0,即第一设备和第二设备均不存在进程,设备进程状态等级为第零等级,若第一设备的性能等级G(h)=3,第二设备的性能等级G(h)=0,则使第一设备启动进程。
若设备进程状态等级为第一等级,则不进行设备切换。即其中一个设备不存在进程,另一设备进程正常,则不进行设备切换。例如,假设第一设备的进程状态码为S0,第二设备的进程状态码为S1,即第一设备不存在进程,第二设备进程正常运行,则不进行设备切换。
若设备进程状态等级为第二等级,则比较第一设备的性能等级以及第二设备的性能等级,使性能等级最低的设备停止进程。设备进程状态等级为第二等级,即两个设备均存在进程,则需要停止其中一个进程。例如,假设第一设备的进程状态码为S1,第二设备的进程状态码为S1,即第一设备、第二设备均存在进程,则比较第一设备和第二设备的性能,若第一设备的性能等级G(h)=3,第二设备的性能等级G(h)=1,则使第二设备的进程停止。
若设备进程状态等级为第三等级,则确定运行异常进程的设备,使运行异常进程的设备停止进程,并比较第一设备的性能等级以及第二设备的性能等级,使性能等级最高的设备启动进程。设备进程状态等级为第三等级,即两个设备中存在一个进程,且进程处于异常状态,则需要停止该异常的进程。例如,假设第一设备的进程状态码为S0,第二设备的进程状态码为S3,即第二设备存在异常进程,则使第二设备的进程停止,然后比较第一设备和第二设备的性能,若第一设备的性能等级G(h)=3,第二设备的性能等级G(h)=1,则使第一设备启动进程。
若设备进程状态等级为第四等级,则确定运行异常进程的设备,使运行异常进程的设备停止进程。设备进程状态等级为第四等级,即两个设备中存在一个正常进程和一个异常进程,则需要停止该异常的进程。例如,假设第一设备的进程状态码为S1,第二设备的进程状态码为S3,即第二设备存在异常进程,则使第二设备的进程停止。
若设备进程状态等级为第六等级,则使第一设备和第二设备停止进程,并比较第一设备的性能等级以及第二设备的性能等级,使性能等级最高的设备启动进程。设备进程状态等级为第六等级,即两个设备中均存在异常进程,则需要停止该异常的进程。例如,假设第一设备的进程状态码为S3,第二设备的进程状态码为S3,即第一设备、第二设备均存在异常进程,在使第一设备、第二设备的进程停止,然后比较第一设备和第二设备的性能,若第一设备的性能等级G(h)=1,第二设备的性能等级G(h)=0,则使第一设备启动进程。
在一些实施例中,当某个设备出现故障时,采集不到该设备的性能数据额进程数据,则使该设备的进程状态码为NULL,定义任何数与NULL相加等于自身,则设备进程状态等级等于另一正常设备的性能状态码,从而能够识别出故障的设备,同时不影响正常设备的工作。
本发明实施例利用大数据算法,对实时采集的进程数据进行聚合转义,对非高可用进程的可用性状态进行实时解析,实现设备可用性的精确判断,在判断需要切换时,通过找到相对空闲的设备,并自动拉起备用进程,完成切换,整个过程无需人工介入,切换耗时大幅缩短,能够提高设备切换的效率,同时,通过资源均衡实现“去主备化”,使得进程始终运行在性能最佳的设备,不再需要备端与提供与生产相同比例的额外闲置资源备用,提高了资源复用率,节省了大量资源成本。另外,还采用“去心跳化”的检测方式,解决“心跳”模式对网卡资源的占用,将主端可用性的判定和网络稳定性的依赖彻底解除,提高了判断的准确率,避免误判导致主备端进程同时存在的情况,消除数据异常风险。
图4示出了本发明实施例提供的设备切换装置的结构示意图。如图4所示,该装置300包括:数据采集器310、筛选-聚合-状态转义器320、运行负载评判器330和启停逻辑控制器340。
其中,数据采集器310用于实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据;筛选-聚合-状态转义器320用于根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级;运行负载评判器330用于根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级;启停逻辑控制器340用于根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换。
在一种可选的方式中,运行负载评判器330具体用于:根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能状态码和所述第二设备的性能状态码;检测所述第一设备的连通状态和第二设备的连通状态;根据所述第一设备的连通状态和第二设备的连通状态,分别确定所述第一设备的连通状态码和所述第二设备的连通状态码;将所述第一设备的性能状态码乘以所述第一设备的连通状态码,计算得到所述第一设备的性能等级,并将所述第二设备的性能状态码乘以所述第二设备的连通状态码,计算得到所述第二设备的性能等级。
在一种可选的方式中,运行负载评判器330具体用于:根据所述第一性能数据和所述第二性能数据,比较所述第一设备的性能和所述第二设备的性能;若所述第一设备的性能优于所述第二设备的性能,则所述第一设备的性能状态码为3,所述第二设备的性能状态码为1;若所述第二设备的性能优于所述第一设备的性能,则所述第二设备的性能状态码为3,所述第一设备的性能状态码为1。
在一种可选的方式中,运行负载评判器330具体用于:若所述第一设备的连通状态为连通,则所述第一设备的连通状态码为1;若所述第一设备的连通状态为不连通,则所述第一设备的连通状态码为0;若所述第二设备的连通状态为连通,则所述第二设备的连通状态码为1;若所述第二设备的连通状态为不连通,则所述第二设备的连通状态码为0。
在一种可选的方式中,筛选-聚合-状态转义器320具体用于:根据所述第一进程数据,计算所述第一设备的进程状态值,并根据所述第二进程数据,计算所述第二设备的进程状态值;根据所述第一设备的进程状态值与预设状态码的对应关系,确定所述第一设备的进程状态码,并根据所述第二设备的进程状态值与所述预设状态码的对应关系,确定所述第二设备的进程状态码;根据所述第一设备的进程状态码与所述第二设备的进程状态码的和,确定所述设备进程状态等级。
在一种可选的方式中,所述进程数据包括:进程中每秒发生的错误数、进程的上下文切换次数和进程的单位时间内FULL GC持续时间;筛选-聚合-状态转义器320具体用于:
根据以下公式计算进程状态值:
其中,Yi为第i个进程的进程状态值,i为整数,a为进程中每秒发生的错误数,b为进程的上下文切换次数,c为进程的单位时间内FULL GC持续时间。
在一种可选的方式中,启停逻辑控制器340具体用于:若所述设备进程状态等级为第零等级,则比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程;
若所述设备进程状态等级为第一等级,则不进行设备切换;
若所述设备进程状态等级为第二等级,则比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最低的设备停止进程;
若所述设备进程状态等级为第三等级,则确定运行异常进程的设备,使所述运行异常进程的设备停止进程,并比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程;
若所述设备进程状态等级为第四等级,则确定运行异常进程的设备,使所述运行异常进程的设备停止进程;
若所述设备进程状态等级为第六等级,则使所述第一设备和所述第二设备停止进程,并比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程。
需要说明的是,本发明实施例提供的设备切换装置是能够执行上述设备切换方法的装置,则上述设备切换方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例通过实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据,根据第一进程数据和第二进程数据,确定设备进程状态等级,根据第一性能数据和第二性能数据,确定第一设备的性能等级以及第二设备的性能等级,根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换,无需人工介入,切换耗时大幅缩短,能够提高设备切换的效率,同时,通过资源均衡实现“去主备化”,使得进程始终运行在性能最佳的设备,不再需要备端与提供与生产相同比例的额外闲置资源备用,提高了资源复用率,节省了大量资源成本。
本发明实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行上述任意方法实施例中的设备切换方法。
本发明实施例通过实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据,根据第一进程数据和第二进程数据,确定设备进程状态等级,根据第一性能数据和第二性能数据,确定第一设备的性能等级以及第二设备的性能等级,根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换,无需人工介入,切换耗时大幅缩短,能够提高设备切换的效率,同时,通过资源均衡实现“去主备化”,使得进程始终运行在性能最佳的设备,不再需要备端与提供与生产相同比例的额外闲置资源备用,提高了资源复用率,节省了大量资源成本。
本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的设备切换方法。
本发明实施例通过实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据,根据第一进程数据和第二进程数据,确定设备进程状态等级,根据第一性能数据和第二性能数据,确定第一设备的性能等级以及第二设备的性能等级,根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换,无需人工介入,切换耗时大幅缩短,能够提高设备切换的效率,同时,通过资源均衡实现“去主备化”,使得进程始终运行在性能最佳的设备,不再需要备端与提供与生产相同比例的额外闲置资源备用,提高了资源复用率,节省了大量资源成本。
图5示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述任意方法实施例中的设备切换方法。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本发明实施例通过实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据,根据第一进程数据和第二进程数据,确定设备进程状态等级,根据第一性能数据和第二性能数据,确定第一设备的性能等级以及第二设备的性能等级,根据设备进程状态等级、第一设备的性能等级以及第二设备的性能等级,进行设备切换,无需人工介入,切换耗时大幅缩短,能够提高设备切换的效率,同时,通过资源均衡实现“去主备化”,使得进程始终运行在性能最佳的设备,不再需要备端与提供与生产相同比例的额外闲置资源备用,提高了资源复用率,节省了大量资源成本。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种设备切换方法,其特征在于,所述方法包括:
实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据;
根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级;
根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级;
根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级,进一步包括:
根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能状态码和所述第二设备的性能状态码;
检测所述第一设备的连通状态和第二设备的连通状态;
根据所述第一设备的连通状态和第二设备的连通状态,分别确定所述第一设备的连通状态码和所述第二设备的连通状态码;
将所述第一设备的性能状态码乘以所述第一设备的连通状态码,计算得到所述第一设备的性能等级,并将所述第二设备的性能状态码乘以所述第二设备的连通状态码,计算得到所述第二设备的性能等级。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能状态码和所述第二设备的性能状态码,进一步包括:
根据所述第一性能数据和所述第二性能数据,比较所述第一设备的性能和所述第二设备的性能;
若所述第一设备的性能优于所述第二设备的性能,则所述第一设备的性能状态码为3,所述第二设备的性能状态码为1;
若所述第二设备的性能优于所述第一设备的性能,则所述第二设备的性能状态码为3,所述第一设备的性能状态码为1。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一设备的连通状态和第二设备的连通状态,分别确定所述第一设备的连通状态码和所述第二设备的连通状态码,进一步包括:
若所述第一设备的连通状态为连通,则所述第一设备的连通状态码为1;
若所述第一设备的连通状态为不连通,则所述第一设备的连通状态码为0;
若所述第二设备的连通状态为连通,则所述第二设备的连通状态码为1;
若所述第二设备的连通状态为不连通,则所述第二设备的连通状态码为0。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级,进一步包括:
根据所述第一进程数据,计算所述第一设备的进程状态值,并根据所述第二进程数据,计算所述第二设备的进程状态值;
根据所述第一设备的进程状态值与预设状态码的对应关系,确定所述第一设备的进程状态码,并根据所述第二设备的进程状态值与所述预设状态码的对应关系,确定所述第二设备的进程状态码;
根据所述第一设备的进程状态码与所述第二设备的进程状态码的和,确定所述设备进程状态等级。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换,进一步包括:
若所述设备进程状态等级为第零等级,则比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程;
若所述设备进程状态等级为第一等级,则不进行设备切换;
若所述设备进程状态等级为第二等级,则比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最低的设备停止进程;
若所述设备进程状态等级为第三等级,则确定运行异常进程的设备,使所述运行异常进程的设备停止进程,并比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程;
若所述设备进程状态等级为第四等级,则确定运行异常进程的设备,使所述运行异常进程的设备停止进程;
若所述设备进程状态等级为第六等级,则使所述第一设备和所述第二设备停止进程,并比较所述第一设备的性能等级以及所述第二设备的性能等级,使性能等级最高的设备启动进程。
8.一种设备切换装置,其特征在于,所述装置包括:
数据采集器,用于实时采集第一设备的第一性能数据和第一进程数据,以及第二设备的第二性能数据和第二进程数据;
筛选-聚合-状态转义器,用于根据所述第一进程数据和所述第二进程数据,确定设备进程状态等级;
运行负载评判器,用于根据所述第一性能数据和所述第二性能数据,确定所述第一设备的性能等级以及所述第二设备的性能等级;
启停逻辑控制器,用于根据所述设备进程状态等级、所述第一设备的性能等级以及所述第二设备的性能等级,进行设备切换。
9.一种计算设备,其特征在于,包括:处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口之间相互通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任意一项所述的设备切换方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任意一项所述的设备切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911215300.0A CN112988243B (zh) | 2019-12-02 | 2019-12-02 | 设备切换方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911215300.0A CN112988243B (zh) | 2019-12-02 | 2019-12-02 | 设备切换方法、装置及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988243A true CN112988243A (zh) | 2021-06-18 |
CN112988243B CN112988243B (zh) | 2022-12-27 |
Family
ID=76331322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911215300.0A Active CN112988243B (zh) | 2019-12-02 | 2019-12-02 | 设备切换方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988243B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197962A (zh) * | 2012-01-04 | 2013-07-10 | 中国移动通信集团公司 | 多进程状态切换方法和装置 |
CN105893114A (zh) * | 2016-04-05 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种虚拟机迁移的方法、目的宿主机和源宿主机 |
JP2016224726A (ja) * | 2015-05-29 | 2016-12-28 | コニカミノルタ株式会社 | 表示制御方法、表示制御プログラムおよび表示制御装置 |
CN107480014A (zh) * | 2017-07-24 | 2017-12-15 | 北京奇安信科技有限公司 | 一种高可用设备切换方法及装置 |
-
2019
- 2019-12-02 CN CN201911215300.0A patent/CN112988243B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197962A (zh) * | 2012-01-04 | 2013-07-10 | 中国移动通信集团公司 | 多进程状态切换方法和装置 |
JP2016224726A (ja) * | 2015-05-29 | 2016-12-28 | コニカミノルタ株式会社 | 表示制御方法、表示制御プログラムおよび表示制御装置 |
CN105893114A (zh) * | 2016-04-05 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种虚拟机迁移的方法、目的宿主机和源宿主机 |
CN107480014A (zh) * | 2017-07-24 | 2017-12-15 | 北京奇安信科技有限公司 | 一种高可用设备切换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112988243B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8627143B2 (en) | Dynamically modeling and selecting a checkpoint scheme based upon an application workload | |
CN102308559B (zh) | 一种用于集群计算机系统的投票仲裁方法及装置 | |
CN104102543A (zh) | 一种云计算环境中负载调整的方法和装置 | |
JP5796722B2 (ja) | Cpuの仮想化を支援することが可能なコンピュータサーバ | |
CN106155826B (zh) | 用于在总线结构中检测及处理错误的方法和系统 | |
CN104850394A (zh) | 分布式应用程序的管理方法和分布式系统 | |
CN114637650A (zh) | 一种基于Kubernetes集群的弹性伸缩方法 | |
CN114356587A (zh) | 算力任务跨区域调度方法、系统及设备 | |
CN115373888A (zh) | 故障定位方法、装置、电子设备和存储介质 | |
CN114157583A (zh) | 一种基于可靠性的网络资源启发式映射方法及系统 | |
CN106030544B (zh) | 计算机设备内存的检测方法和计算机设备 | |
CN111736989B (zh) | 多模式分布式集群gpu指标检测方法及系统 | |
CN112988243B (zh) | 设备切换方法、装置及计算设备 | |
CN115883340B (zh) | 一种基于hplc和hrf双模通信故障处理方法和设备 | |
CN111221696B (zh) | 一种SPEC Power测试的方法及装置 | |
CN102841836B (zh) | 测试方法以及可编程处理器 | |
CN115811483A (zh) | 一种网络状态监测方法、装置、电子设备和存储介质 | |
CN112231156B (zh) | 一种spec cpu2017测试成绩预估方法、系统、装置及介质 | |
CN117596187B (zh) | 一种基于多云平台的服务器运维方法、装置、设备及介质 | |
CN112579299B (zh) | 资源调度方法、电子设备及存储介质 | |
CN113535494B (zh) | 一种设备调试的方法及电子设备 | |
CN111522606B (zh) | 一种数据处理的方法、装置、设备及存储介质 | |
CN110958144B (zh) | 获取网络的方法及装置 | |
CN116781495A (zh) | Pulsar Proxy节点选择方法及装置 | |
CN116319367A (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 |