CN110309045B - 用于确定服务器未来状态的方法、装置、介质及计算设备 - Google Patents

用于确定服务器未来状态的方法、装置、介质及计算设备 Download PDF

Info

Publication number
CN110309045B
CN110309045B CN201810228519.3A CN201810228519A CN110309045B CN 110309045 B CN110309045 B CN 110309045B CN 201810228519 A CN201810228519 A CN 201810228519A CN 110309045 B CN110309045 B CN 110309045B
Authority
CN
China
Prior art keywords
server
state
test
determining
future
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.)
Active
Application number
CN201810228519.3A
Other languages
English (en)
Other versions
CN110309045A (zh
Inventor
黄麟
苗辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Baishancloud Technology Co Ltd
Original Assignee
Guizhou Baishancloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou Baishancloud Technology Co Ltd filed Critical Guizhou Baishancloud Technology Co Ltd
Priority to CN201810228519.3A priority Critical patent/CN110309045B/zh
Publication of CN110309045A publication Critical patent/CN110309045A/zh
Application granted granted Critical
Publication of CN110309045B publication Critical patent/CN110309045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于确定服务器未来状态的方法、装置、介质及计算设备,所公开的方法包括:确定服务器在服务器全生命周期中的当前状态;基于当前状态选择测试用例集合进行测试;基于测试结果来自动确定服务器的未来状态,其中,在测试结果表明服务器当前出现了服务器可自动恢复的异常情况时,不改变服务器的当前状态。所公开的方法能够结合服务器全生命周期的各个状态、不同场景进行自动、高效、智能化的测试。

Description

用于确定服务器未来状态的方法、装置、介质及计算设备
技术领域
本发明涉及计算机网络领域,尤其涉及用于确定服务器未来状态的方法、装置、介质及计算设备。
背景技术
内容分发网络(CDN)是为了提高网站的响应速度、改善用户上网体验而提出的一种新的网络形式。它在现有网络的基础上增加了一层网络架构,能够通过各级缓存节点(即,各级CDN中层节点)将网站(即,CDN源节点)的内容发布到最接近用户的网络“边缘”(即,CDN边缘节点),使用户可以就近访问所需的内容,从而缓解了网络拥塞的状况。
在内容分发网络的组网过程中,即,从CDN厂商选择建立节点(可能包括一个或多个业务缓存服务器、负载均衡服务器、DNS服务器)直到裁撤该节点的整个过程中,例如,节点中的业务缓存服务器的生命周期会经过几个必要的状态:未上架、已上架、已规划服务(即,业务)类型、已上线、已故障、已挂起(即,撤点)。
现有技术主要研究如何监控已上线服务器的性能,例如,研究如何根据该节点中已上线的多个服务器的性能进行负载均衡,已进一步提高使用CDN来分发内容的客户的服务质量,改善用户体验。然而,现有技术却缺少涉及服务器全生命周期中的其他状态(例如,上线之前的未上架、已上架、已规划服务类型等状态)下的诸如业务环境的测试方法的研究,也缺少诸如如何保证服务器在这些不同状态之间进行自动切换的研究。
即,现有技术缺少用于对服务器的当前状态进行测试,并在确定服务器满足状态切换条件之后自动判定服务器能够进入到下一个状态的自动化测试和判定方法,目前只能通过粗略的人为即时判断,过程复杂,花费大量人力物力,而且不准确。
现有的CDN厂商所建立的机房节点从还未上架到节点裁撤的过程中,对服务器生命周期的各个状态没有系统的测试,只有单一的人为测试和简单的判断。下面将结合上文所述的服务器的具体状态进行描述:
对应于未上架状态:CDN厂商新建服务节点的时候,会参考运营商机房管理部门提供的测试报告和说明,而机房管理部门提供的测试往往是适用于各种服务类型的厂商的基本的底层网络连通性测试,满足这些指标也不一定能适用于各种类型的CDN的服务,而且对CDN所需的后续互联链路也没有全面的测试。
对应于已上架状态:在运营商将服务器交付给CDN厂商之后,CDN厂商会对服务器进行上架操作,这时候服务器已经进入到机房。
对应于规划服务类型状态:由CDN厂商安装服务软件规划服务器用途的类型,在这个状态及之前的状态下是没有机制能检测CDN服务状态的。
对应于已上线状态:服务软件安装好之后根据不同类型的应用场景上线使用。
对应于已故障、已挂起状态:上线后如果机房有问题或者根据客户投诉等一些现象,人为的判断是否要登记故障或者裁撤节点。
这种人为测试和主观判断的方式不能确保在进入下一个状态前的服务器服务状态是正常的,即,不能确保服务器应该从当前状态进入下一个状态(例如,从已上架状态切换至已规划服务类型状态、或从已规划服务类型状态切换至已上线状态),导致把上一个状态可能出现的影响质量的问题带到下个状态。因此,在服务器出现问题时,就不仅要考虑当前状态会存在的问题,还要考虑之前的一个或多个状态中会存在的问题,导致了CDN管理员会花费更多的时间来解决问题。
而且,这种人为测试和主观判断的方式也容易出现人为的遗漏测试,处理效率低,从当前状态转换至下一状态之前的时间段太短,没充分测试,不能实现自动化、高效化、智能化。
因此,需要提出新的技术方案,以结合服务器全生命周期的各个状态、不同场景进行自动、高效、智能化的测试。
发明内容
根据本发明的一种用于确定服务器未来状态的方法,包括:
确定服务器在服务器全生命周期中的当前状态;
基于当前状态选择测试用例集合进行测试;
基于测试结果来自动确定服务器的未来状态,
其中,在测试结果表明服务器当前出现了服务器可自动恢复的异常情况时,不改变服务器的当前状态。
根据本发明的用于确定服务器的未来状态的方法,还包括:
在未来状态与当前状态不同时,将服务器的状态从当前状态自动切换至未来状态。
根据本发明的用于确定服务器的未来状态的方法,其当前状态或未来状态选自服务器全生命周期中的下列状态中的一种:
未上架、已上架、已规划服务类型、已上线、已故障、已挂起。
根据本发明的用于确定服务器的未来状态的方法,在当前状态为未上架、已上架、已规划服务类型、已上线、已故障、或已挂起时,分别选择用于进行下列测试的测试用例集合:
底层网络连通性测试;
底层网络连通性测试、硬件测试;
底层网络连通性测试、硬件测试、带宽压力测试、软件测试;
底层网络连通性测试、硬件测试、带宽压力测试、软件测试、系统测试、下载速度测试;
底层网络连通性测试、硬件测试、软件测试、系统测试;
底层网络连通性测试、硬件测试、软件测试、系统测试。
根据本发明的用于确定服务器的未来状态的方法,其基于测试结果来确定服务器的未来状态的步骤包括:
基于测试结果来确定服务器在当前状态下的能力等级,基于能力等级来确定服务器的未来状态。
根据本发明的一种用于确定服务器的未来状态的装置,包括:
当前状态确定模块,用于确定服务器在服务器全生命周期中的当前状态;
测试模块,用于基于当前状态选择测试用例集合进行测试;
未来状态确定模块,用于基于测试结果来自动确定服务器的未来状态,
其中,在测试结果表明服务器当前出现了服务器可自动恢复的异常情况时,不改变服务器的当前状态。
根据本发明的用于确定服务器的未来状态的装置,还包括:
状态切换模块,用于在未来状态与当前状态不同时,将服务器的状态从当前状态自动切换至未来状态。
根据本发明的用于确定服务器的未来状态的装置,其未来状态确定模块还用于:
基于测试结果来确定服务器在当前状态下的能力等级,基于能力等级来确定服务器的未来状态。
根据本发明的一种计算机可读存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现如上文所述的方法的步骤。
根据本发明的一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上文所述的方法的步骤。
根据本发明的上述技术方案,能够结合服务器全生命周期的各个状态、不同场景进行自动、高效、智能化的测试。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与相关的文字描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1示例性地示出了根据本发明的用于确定服务器未来状态的方法的示意流程图。
图2示例性地示出了根据本发明的用于确定服务器未来状态的装置的示意框图。
图3示例性地示出了根据本发明的用于确定服务器未来状态的装置的示例实现方式。
图4示例性地示出了根据本发明的自动化测试系统或模块的示意框图。
图5示例性地示出了结合图3所示的示例实现方式操作的分状态测试操作示例的流程图。
图6示例性地示出了图3所示的示例实现方式中的服务器服务能力判定系统或模块的一种示例实现方式。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1示例性地示出了根据本发明的用于确定服务器未来状态的方法的示意流程图。
如图1的实线框所示,用于确定服务器未来状态的方法包括:
步骤S102:确定服务器在服务器全生命周期中的当前状态;
步骤S104:基于当前状态选择测试用例集合进行测试;
步骤S106:基于测试结果来自动确定服务器的未来状态。
其中,在测试结果表明服务器当前出现了服务器可自动恢复的异常情况时,不改变服务器的当前状态。
例如,在步骤S102,可以通过自动检测或通过人工手动输入的方式来确定服务器的初始状态(即,第一个当前状态)。例如,未上架状态需要通过人工手动输入的方式来确定。
可选地,如图1的虚线框所示,用于确定服务器的未来状态的方法还包括:
步骤S108:在未来状态与当前状态不同时,将服务器的状态从当前状态自动切换至未来状态。
可选地,当前状态或未来状态选自服务器全生命周期中的下列状态中的一种:
未上架、已上架、已规划服务类型、已上线、已故障、已挂起。
可选地,在当前状态为未上架、已上架、已规划服务类型、已上线、已故障、或已挂起时,分别选择用于进行下列测试的测试用例集合:
底层网络连通性测试;
底层网络连通性测试、硬件测试;
底层网络连通性测试、硬件测试、带宽压力测试、软件测试;
底层网络连通性测试、硬件测试、带宽压力测试、软件测试、系统测试、下载速度测试;
底层网络连通性测试、硬件测试、软件测试、系统测试;
底层网络连通性测试、硬件测试、软件测试、系统测试。
可选地,步骤S106包括:
基于测试结果来确定服务器在当前状态下的能力等级,基于能力等级来确定服务器的未来状态。
可选地,用于确定服务器未来状态的方法具体可以包括以下步骤:
1:查看服务器当前所处的生命周期状态,根据当前的服务器状态生成基础测试用例(即,测试用例集合)(对应于上述步骤S104)。
2:使用该状态下的测试用例持续实时地对该服务器进行测试,并把每个测试用例下测试异常的次数和持续时间实时地保存到数据库中(对应于上述步骤S104)。
3:实时获取数据库中的测试异常数据,根据用于判断服务器服务能力的预先设定的指标进行服务能力等级分类(对应于上述步骤S106)。
4:实时地获取服务器所处的不同状态,根据服务器所处的当前状态选出可变更的状态(未来状态)(对应于上述步骤S106)。
5:然后根据服务器服务能力等级在上述可变更的状态中自动变更(对应于上述步骤S108)。
6:状态变更后服务器还是处在生命周期的某个状态中,因此会使用该状态下所对应的测试用例继续执行测试,即,重复上述步骤1-5。
图2示例性地示出了根据本发明的用于确定服务器未来状态的装置200的示意框图。
如图2的实线框所示,用于确定服务器的未来状态的装置200包括:
当前状态确定模块201,用于确定服务器在服务器全生命周期中的当前状态;
测试模块203,用于基于当前状态选择测试用例集合进行测试;
未来状态确定模块205,用于基于测试结果来自动确定服务器的未来状态。
其中,在测试结果表明服务器当前出现了服务器可自动恢复的异常情况时,不改变服务器的当前状态。
可选地,如图2的虚线框所示,用于确定服务器的未来状态的装置200还包括:
状态切换模块207,用于在未来状态与当前状态不同时,将服务器的状态从当前状态自动切换至未来状态。
可选地,未来状态确定模块205还用于:
基于测试结果来确定服务器在当前状态下的能力等级,基于能力等级来确定服务器的未来状态。
为了使本领域技术人员更清楚地了解本申请的上述技术方案,下面将结合具体的实施例来进行描述。
图3示例性地示出了根据本发明的用于确定服务器未来状态的装置200的示例实现方式。
如图3所示,该示例实现方式包括:服务状态自动化测试系统或模块(对应于图2所示的装置200中的测试模块203)、服务器服务能力判定系统或模块(即,图3中的“服务能力判断”判断框,对应于图2所示的装置200中的未来状态确定模块205)、自动化状态转化系统或模块(即,图3中的“按服务能力自动变更状态”判断框,对应于图2所示的装置200中的状态切换模块207)、数据库模块(即,图3中的“保存每个子系统的结果数据库”模块)。
服务状态自动化测试系统或模块主要对服务器生命周期的各个状态进行自动化测试。如图3所示,服务状态自动化测试系统或模块可以建立测试任务,并将探测到的网络参数和任务ID对应一致地记录下来(对应于图3中的“任务ID服务器状态对应的服务器异常次数”),并将测试结果提供给服务器服务能力判定系统或模块(即,图3中的“服务能力判断”判断框)。
服务器服务能力判定系统或模块按照服务器是否能够提供服务来对服务器在当前状态下的性能进行分类(例如,包括可提供服务、不可提供服务两个类别,对应于图3中的“按是否可服务进行等级分类”)。然后,例如,再基于服务器的当前状态、服务器在当前状态下的性能的具体类别,确定服务器的未来状态。例如,可以将当前状态为已上架或已规划服务类型等状态的可提供服务的服务器的未来状态确定为已规划服务类型或已上线等状态(对应于图3中的“不同服务器获取可选的变更状态”)。
自动化状态转化系统或模块用于自动变更服务器的状态(对应于图3中的“按服务能力自动变更状态”)。
自动化状态转化系统或模块用于实现在服务器全生命周期中的各个不同状态之间进行变更(切换)所需要的步骤,主要包括:设置可选变更状态、变更前服务能力的查询、自动变更状态。
例如,当服务器的当前状态为已规划服务类型状态时,上述步骤具体化为以下步骤:
1:可选的变更状态为已上线、已故障、已挂起。
2:把服务器的ID(例如,IP地址、MAC地址等标识)和其对应的当前状态作为参数,通过服务器服务能力判断系统查询服务器的服务能力,根据服务器的服务能力来评估当前状态需要变更到哪个状态(即,未来状态)。
3:如果服务器当前具备服务能力,则将服务器自动转化为已上线状态用于线上服务;如果服务器当前不具备服务能力且等级为X则不进行状态转化(X等级用于表明服务器当前不具备服务能力,但是这种情况是由于异常波动引起的,即,这种情况属于服务器可自动恢复的异常情况,服务器后续能够自行恢复到已上线状态,从而继续为用户提供服务,为了避免不必要的频繁状态切换,X等级的服务器此时不用进行状态转化);如果当前不具备服务能力且等级为Y,则将服务器自动转化为故障状态(可通过修理解决),如果当前不具备服务能力且等级为Z,则将服务器自动转化为挂起状态(不适用于任何服务需要下架撤点)。
4:将上述状态变更记录实时保存到数据库中。
数据库模块用于保存上文所述的网络参数和任务ID等历史数据。
例如,数据库模块的底层可以使用MySQL,使用节点(和/或其服务器的)的名称来创建表,表内设置主键“节点(和/或其服务器的)名称”,还包括以下字段:任务ID、测试用例关联的异常次数、服务器服务能力等级、服务器变更状态等。支持数据操作,当测试用例有变化时能同步修改数据库中的内容。保存3个版本内容,在后期维护时可以根据需要进行原因查询、或供故障复盘时使用。
图3所示的示例实现方式能够结合CDN服务器的全生命周期的各个不同状态,自动地对不同状态下的服务器进行自动化测试,通过基于测试用例得到的不同维度的测试结果(包括各种网络参数)对服务器在不同状态下的服务能力进行全面的评估判断,实时有效地提供服务器的服务等级,不需要人工参与就能自动准确地实现状态变更,最大程度地保障服务器每个状态变更都是可控的、有效的,从而能保障客户服务质量,并且实时把每个系统的数据存入数据库中,便于查询。
图4示例性地示出了根据本发明的上述自动化测试系统或模块的示意框图。
如图4所示,自动化测试系统或模块包括以下模块:任务模块、分状态(按状态)测试模块、测试结果模块。
任务模块可以用于自动创建任务和/或手动创建任务。自动创建任务包括自动获取能够自动获取到的当前公司所有服务器和各服务器所对应的状态(不包括未上架状态),并实时刷新,按状态进行分类,创建任务。手动创建任务主要用于服务器未上架时的状态,此时,服务器还未录入公司内部系统,因此,需要从IDC机房获取IP地址段,然后针对该IP地址段创建任务,并将所创建的任务添加至与未上架状态所对应的测试任务列表中,并支持对任务列表进行实时地增、删、改、查操作。
分状态测试模块用于确定服务器在服务器生命周期中的当前状态、根据当前状态选择正确的测试用例(集合),不同的状态使用不同的测试用例(集合),没有人为停止或者设置测试周期的情况下默认会一直探测,以保持数据的实时更新和准确性,当执行状态变更后或探测到状态变更时,自动切换当前状态下的测试用例集合为状态变更后的测试用例集合,测试用例切换异常时通知人工处理。并且可以灵活的增减测试用例,每个测试用例可以设置不同的异常状态阈值,和异常级别,基础测试用例包括用于进行网络测试(即,底层网络连通性测试)、硬件测试、带宽压力测试、软件测试、系统测试、下载速度测试等的一个或多个具体测试用例。
例如,在服务器的当前状态为未上架、已上架、已规划服务类型、已上线、已故障、或已挂起时,可以分别选择用于进行下列测试的测试用例集合:底层网络连通性测试;底层网络连通性测试、硬件测试;底层网络连通性测试、硬件测试、带宽压力测试、软件测试;底层网络连通性测试、硬件测试、带宽压力测试、软件测试、系统测试、下载速度测试;底层网络连通性测试、硬件测试、软件测试、系统测试;底层网络连通性测试、硬件测试、软件测试、系统测试。
以硬件测试为例,在服务器的当前状态为已上架状态时,公司内部系统已经能获取到已上架服务器的硬件(包括网线、网卡、硬盘、内存、硬盘接口、PCI插槽等)相关基础数据指标(比如初始的硬盘数量为14个)。因此,在服务器的当前状态为已上架状态及已上架状态之后的各个状态中的任一状态时,例如,如果测试到硬盘有一个无法读写,或者变成13块盘了,则认为当前的硬盘测试有一次异常;如果通过crc校验测试到某个网线(网卡)所接收到的误包率大于20%,则认为当前的网线(网卡)测试有一次异常。只要设置一个如上文所述的初始异常判断条件,就可以对所有服务器进行自动化硬件测试。
以底层网络连通性测试为例,即使在服务器的状态为未上架时,也能进行该项测试(即,服务器上架前的环境测试),具体测试流程如下:
1:从机房获取到(用于多个)服务器的ip地址段列表,此时机房还未录入到(CDN厂商)公司的内部系统,加入ip生成一个测试任务,每个任务通过任务名称和时间取md5算出唯一任务ID。
2:自动查找公司内部系统,判定该服务器状态为未上架,获取该状态下的自动基础测试用例(即,用于进行底层网络连通性测试的测试用例集合),生成周期网络测试任务。
3:网络测试通过分地区分运营商的现有服务器对该地区ip地址段发起探测任务,网络测试用例集合包括用于测试丢包、时延、路由跳数、端口等网络参数的相关具体测试用例。
4:探测是持续进行的,网络探测自动地把各个省份地区运营商的网络数据聚合,然后将通过测试得到的不同网络的网络参数(包括丢包、时延、路由跳数、端口是否开放等网络数据)和该任务ID关联。
5:将探测到的网络参数和任务ID对应一致地记录到测试结果模块,并自动按异常网络情况进行排序,该过程是实时并发的。
同理,也可以定义和选择用于底层网络连通性测试、带宽压力测试、软件测试、系统测试、下载速度测试的具体测试用例,并将其加入对应的测试用例集合中,然后设定对应各个具体测试用例的初始异常判断条件。
测试结果模块用于处理、统计不同服务器在不同状态下的测试结果,根据不同的测试用例、不同的测试结果按照预设的测试用例阈值和测试异常级别进行处理和统计,并写入数据库中保存。可以为服务器服务能力判定系统或模块提供其做出判定所需要的基础数据。
图5示例性地示出了结合图3所示的示例实现方式操作的分状态测试操作示例的流程图。
如图5的分状态测试操作示例所示,可以自动创建任务,也可以由CDN管理员来手动创建任务,以执行不同服务器的分状态测试操作。在创建任务之后,需要确定任务执行的周期(即,图5中的“判断周期状态”),从而周期性地获取服务器在不同状态下的测试结果(包括网络参数)。可以对使用不同测试用例测到的测试结果进行排序、概率分布统计,并将结果保存至测试结果模块,以获取更直观的结果,或供服务器服务能力判定系统或模块在后续判定服务器能力的过程中使用。
图6示例性地示出了图3所示的示例实现方式中的服务器服务能力判定系统或模块的一种示例实现方式。
服务器服务能力判定系统或模块的该示例实现方式主要用于对每个服务器所在的不同生命周期状态的服务能力(即,性能)等级进行判断,参考数据来源于服务状态自动化测试系统的测试结果和CDN厂商内部的告警系统做综合评价。判断结果为该服务器是否能进行服务器生命周期状态变更的依据。
如图6所示,服务器服务能力判定系统或模块的该示例实现方式包括以下步骤:
1:从自动测试系统获取当前每个状态对应的基础测试用例,第一次需要人为设定每个测试用例可服务的判断标准(对应于图6所示的“设置测试用例异常指标”模块,例如,上文结合图4所述的误包率大于20%则判定为异常等判断标准)。
2:把每个测试用例和设置的服务器服务能力指标通过函数进行关联,例如设置网络测试每天异常次数少于3次则对当天来说被测试服务器具备服务能力,大于3次则认为不具备服务能力(对应于图6所示的“是否具备服务能力”判断模块)。例如,多个测试用例只要有一个测试用例不具备服务能力则该服务器不具备服务能力。
3:然后对每个服务器根据每个测试用例的服务能力测试结果进行等级划分(对应于图6所示的“等级划分”模块)。例如,根据异常次数占比对具备服务能力的服务器进一步进行等级划分,将最少异常次数小于30%的则判定服务能力为A(例如,对应网络参数类别为优的情况),小于60%的认为是B(例如,对应网络参数类别为良的情况),其余的认为是服务能力是C(例如,对应网络参数类别为差的情况)。不具备服务能力的再判定为等级X、Y、Z(对应于图6所示的“不具备服务能力”模块,等级X、Y、Z的具体定义请参见上文结合图3所做的描述)。
4:得出了所有服务器对应的生命周期状态和对应的服务能力等级以及对应测试用例的测试异常数据,并按服务能力等级进行排序。
5:把相关数据保存至数据库中(对应于图6所示的“存入数据库”模块)。
服务器服务能力判定系统或模块的该示例实现方式具有以下优点:
1、可以应用于不同服务器不同状态下的服务能力的评定,通过修改测试用例及其对应的判定阈值,可以适用于不同场景,具有高可扩展性。
2、能够实时自动地根据判定阈值对服务器生命周期中的不同状态进行实时地判定,不会因为人为的漏测或者误测导致对服务器服务能力的误判。
3、能够将服务器服务客户的实际能力的历史数据与当前数据相结合,数据准确性越来越高,对一些优质客户和大客户可实现优先使用服务能力较高的服务器,促进服务质量的提高。
针对本发明的上述用于确定服务器的未来状态的方法和装置,还提出了一种计算机可读存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现上文所述的方法的步骤。
针对本发明的上述用于确定服务器的未来状态的方法和装置,还提出了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上文所述方法的步骤。
根据本发明的上述技术方案,能够减少甚至能够消除CDN管理员定位和解决CDN服务器所存在的问题的时间。
根据本发明的上述技术方案,能够通过自动化测试快速有效地发现服务器全生命周期的各个状态、服务能力,以及是否需要进入到其他状态,减少可能存在的人为误判。还能够在条件满足时自动使服务器进入到下一个状态,能对每个服务器的服务能力进行判断,合理有效地利用资源。
根据本发明的上述技术方案,还具有以下优点:
1、对服务器生命周期中的所有状态自动地测试,减少人工的漏测和误测,提高工作效率。
2、对服务器的服务能力进行等级划分,最大程度的保障了服务客户服务器的安全性和稳定性,在客户无感知的情况下为客户挑选可用的服务器。
3、为所有服务器状态进行必要的变更前自动地检测可用性,排除了不可用的服务器的错误状态变更导致服务质量降低。
4、不同状态使用不同的测试用例,可扩展性强,可适用于不同的CDN厂商的服务器测试。
5、服务器的服务状态实时准确的变更,及时有效地保证了服务器资源的可用性和利用率。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的精神和范围。

Claims (5)

1.一种用于确定服务器未来状态的方法,其特征在于,包括:
确定所述服务器在服务器全生命周期中的当前状态;
基于所述当前状态选择测试用例集合进行测试;
基于测试结果来自动确定所述服务器的未来状态,
在所述未来状态与所述当前状态不同时,将所述服务器的状态从所述当前状态自动切换至所述未来状态;
所述当前状态或所述未来状态选自所述服务器全生命周期中的下列状态中的一种:
未上架、已上架、已规划服务类型、已上线、已故障、已挂起;
所述基于测试结果来确定所述服务器的未来状态的步骤包括:
当测试结果表明服务器当前具备服务能力,确定所述服务器的未来状态为已上线状态;
当测试结果表明服务器当前不具备服务能力,如果不具备服务能力的原因是可自动恢复的异常情况,确定所述服务器的未来状态为当前状态;如果不具备服务能力的原因是故障状态,确定所述服务器的未来状态为已故障状态;如果不具备服务能力的原因是不适用于任何服务,确定所述服务器的未来状态为挂起状态。
2.如权利要求1所述的用于确定服务器的未来状态的方法,其特征在于,在所述当前状态为未上架、已上架、已规划服务类型、已上线、已故障、或已挂起时,分别选择用于进行下列测试的测试用例集合:
底层网络连通性测试;
底层网络连通性测试、硬件测试;
底层网络连通性测试、硬件测试、带宽压力测试、软件测试;
底层网络连通性测试、硬件测试、带宽压力测试、软件测试、系统测试、下载速度测试;
底层网络连通性测试、硬件测试、软件测试、系统测试;
底层网络连通性测试、硬件测试、软件测试、系统测试。
3.一种用于确定服务器的未来状态的装置,其特征在于,包括:
当前状态确定模块,用于确定所述服务器在服务器全生命周期中的当前状态;
测试模块,用于基于所述当前状态选择测试用例集合进行测试;
未来状态确定模块,用于基于测试结果来自动确定所述服务器的未来状态;
状态切换模块,用于在所述未来状态与所述当前状态不同时,将所述服务器的状态从所述当前状态自动切换至所述未来状态;
所述当前状态或所述未来状态选自所述服务器全生命周期中的下列状态中的一种:
未上架、已上架、已规划服务类型、已上线、已故障、已挂起;
所述基于测试结果来确定所述服务器的未来状态的步骤包括:
当服务器当前具备服务能力,确定所述服务器的未来状态为已上线状态;
当测试结果表明服务器当前不具备服务能力,如果不具备服务能力的原因是可自动恢复的异常情况,确定所述服务器的未来状态为当前状态;如果不具备服务能力的原因是故障状态,确定所述服务器的未来状态为已故障状态;如果不具备服务能力的原因是不适用于任何服务,确定所述服务器的未来状态为挂起状态。
4.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现权利要求1至2中任意一项所述方法的步骤。
5.一种计算设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至2中任意一项所述方法的步骤。
CN201810228519.3A 2018-03-20 2018-03-20 用于确定服务器未来状态的方法、装置、介质及计算设备 Active CN110309045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810228519.3A CN110309045B (zh) 2018-03-20 2018-03-20 用于确定服务器未来状态的方法、装置、介质及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810228519.3A CN110309045B (zh) 2018-03-20 2018-03-20 用于确定服务器未来状态的方法、装置、介质及计算设备

Publications (2)

Publication Number Publication Date
CN110309045A CN110309045A (zh) 2019-10-08
CN110309045B true CN110309045B (zh) 2023-05-23

Family

ID=68073871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810228519.3A Active CN110309045B (zh) 2018-03-20 2018-03-20 用于确定服务器未来状态的方法、装置、介质及计算设备

Country Status (1)

Country Link
CN (1) CN110309045B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082786A (zh) * 2010-11-25 2011-06-01 深圳Tcl新技术有限公司 一种确认用户网络电视真实使用地点的方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002869A (en) * 1997-02-26 1999-12-14 Novell, Inc. System and method for automatically testing software programs
US7065740B2 (en) * 2001-08-24 2006-06-20 Microsoft Corporation System and method to automate the management of computer services and programmable devices
US20110022899A1 (en) * 2009-07-27 2011-01-27 Vitali Greenberg Producing or executing a script for an operation test of a terminal server
CN102314388B (zh) * 2010-07-07 2013-11-13 英业达股份有限公司 支持智能型平台管理接口的服务器的测试方法
CN102684936A (zh) * 2011-03-11 2012-09-19 北京千橡网景科技发展有限公司 用于监测服务器的运行状态的方法、设备和系统
US9204279B2 (en) * 2012-07-16 2015-12-01 Openet Telecom Ltd. System and method for charging future state status notifications
CN103136101A (zh) * 2012-12-31 2013-06-05 博彦科技(上海)有限公司 软件自动化测试统一运营平台
US9317410B2 (en) * 2013-03-15 2016-04-19 International Business Machines Corporation Testing functional correctness and idempotence of software automation scripts
CN104008056B (zh) * 2014-05-30 2016-11-23 广州华多网络科技有限公司 软件测试方法及装置
CN104503910A (zh) * 2014-12-22 2015-04-08 合一网络技术(北京)有限公司 通过监测用户使用行为对产品进行测试的方法
JP2017157169A (ja) * 2016-03-04 2017-09-07 富士通株式会社 事前検証プログラム及び事前検証方法
CN106453648B (zh) * 2016-11-29 2020-04-28 海信集团有限公司 智能家居设备的设备状态确定方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082786A (zh) * 2010-11-25 2011-06-01 深圳Tcl新技术有限公司 一种确认用户网络电视真实使用地点的方法及系统

Also Published As

Publication number Publication date
CN110309045A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
EP3326330B1 (en) Methods, systems, and apparatus to generate information transmission performance alerts
US9379949B2 (en) System and method for improved end-user experience by proactive management of an enterprise network
EP3806432A1 (en) Method for changing service on device and service changing system
CN110716842B (zh) 集群故障检测方法和装置
US20210065083A1 (en) Method for changing device business and business change system
CN112769605B (zh) 一种异构多云的运维管理方法及混合云平台
CN109039795B (zh) 一种云服务器资源监控方法和系统
CN112702198B (zh) 异常根因定位方法、装置、电子设备及存储介质
AU2016306553B2 (en) Automated electronic computing and communication system event analysis and management
CN114430383B (zh) 探测节点筛选方法、装置、电子设备和存储介质
WO2018188733A1 (en) A computer implemented data processing method
CN111371570B (zh) 一种nfv网络的故障检测方法及装置
CN110266741B (zh) 一种内容分发网络中的客户业务自动调度方法及装置
CN110609761B (zh) 确定故障源的方法、装置、存储介质和电子设备
CN110309045B (zh) 用于确定服务器未来状态的方法、装置、介质及计算设备
CN116909817A (zh) 专线控制方法、装置、计算机设备和存储介质
CN116566873A (zh) 一种基于elk的自动化日志分析方法、系统及存储介质
CN112491635A (zh) 一种链路质量检测的方法、系统、实现设备及存储介质
CN102123048A (zh) 电信设备容灾关系自动发现的处理方法
CN107678905B (zh) 一种监控方法和装置
CN111338917B (zh) 一种确定服务器服务能力的动态控制方法及装置
CN111193639A (zh) 一种网络质量检测处理方法及系统
CN110784371A (zh) 一种基于osgi技术的网关网络质量测试方法及测试系统
CN116095180B (zh) 一种日志回传的选路方法、装置和存储介质
CN115499317B (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