CN112199251B - 通过定时任务实现服务器动态增减的方法、系统及装置 - Google Patents

通过定时任务实现服务器动态增减的方法、系统及装置 Download PDF

Info

Publication number
CN112199251B
CN112199251B CN202011026440.6A CN202011026440A CN112199251B CN 112199251 B CN112199251 B CN 112199251B CN 202011026440 A CN202011026440 A CN 202011026440A CN 112199251 B CN112199251 B CN 112199251B
Authority
CN
China
Prior art keywords
application
load
loads
increased
maintenance
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
CN202011026440.6A
Other languages
English (en)
Other versions
CN112199251A (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.)
Tongcheng Network Technology Co Ltd
Original Assignee
Tongcheng Network 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 Tongcheng Network Technology Co Ltd filed Critical Tongcheng Network Technology Co Ltd
Priority to CN202011026440.6A priority Critical patent/CN112199251B/zh
Priority to PCT/CN2020/134284 priority patent/WO2022062186A1/zh
Priority to DE212020000560.5U priority patent/DE212020000560U1/de
Publication of CN112199251A publication Critical patent/CN112199251A/zh
Application granted granted Critical
Publication of CN112199251B publication Critical patent/CN112199251B/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/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Fuzzy Systems (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种通过定时任务实现服务器动态增减的方法、系统及装置,其中方法包括:负载数据收集:获取负载的相关指标数据,再将获取的相关指标数据与预先配置的阈值进行比较,并分别记录超过和低于阈值的负载数量;自动报表推送:根据记录的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T,然后将计算出的需要增减的负载的数量T写入报表通知并将该报表通知推送给相应的应用负责人;通知运维操作:在相应的应用负责人确认报表通知的内容后,将一操作通知推送给运维进行操作,操作通知包括应用名称、增减台数、运维处理人和确认人。本申请能够有效改善满足业务需求过程中服务器数量配置不合理的问题,大大节省了运营成本。

Description

通过定时任务实现服务器动态增减的方法、系统及装置
技术领域
本申请涉及服务器动态调配的领域,尤其是涉及一种通过定时任务实现服务器动态增减的方法、系统及装置。
背景技术
随着互联网业务的不断壮大,不同业务的应用对服务器的要求也越来越多。为应对业务的快速增长,最常用的做法即为使用多台服务器来共同分担业务量,并且所有的服务请求数据都会经过负载均衡设备,由负载均衡设备将所有的服务请求转发到适当的服务器进行响应。
例如,公开号为CN106375420A的中国专利文本就公开了一种基于负载均衡的服务器集群智能监控系统,其包括检测模块、监控模块、信息分发模块、输出模块和报警模块;检测模块用于周期性的向负载均衡节点发送服务请求;监控模块用于实时监控负载均衡节点请求处理状态;信息分发模块用于处理分发控制信息;输入模块用于设定周期性发送服务请求的时间间隔,以及同一时间各负载均衡节点的最大并发处理数量;报警模块用于对异常信息进行报警。该系统旨在服务器集群收到服务请求后,制定合理的策略进行任务分配,准确的选择适当的应用服务器响应,从而使服务器集群能更好的为用户服务。
针对上述中的相关技术,发明人认为其存在以下缺陷:目前基本都是采用增加服务器然后再将服务请求分配到适当服务器的方式来满足业务需求,但是忽视了服务器数量的合理性;如果服务器数量配置较多而后期业务量下降后,无形之中也会增加企业的成本,大大降低服务器的使用率。
发明内容
为了改善满足业务需求过程中服务器数量配置不合理的问题,本申请提供一种通过定时任务实现服务器动态增减的方法、系统及装置。
第一方面,本申请提供一种通过定时任务实现服务器动态增减的方法,采用如下的技术方案:
一种通过定时任务实现服务器动态增减的方法,包括:
负载数据收集:获取负载的相关指标数据,再将获取的相关指标数据与预先配置的阈值进行比较,并分别记录超过和低于阈值的负载数量;
自动报表推送:根据记录的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T,然后将计算出的需要增减的负载的数量T写入报表通知并在指定时间将该报表通知推送给相应的应用负责人;
通知运维操作:在相应的应用负责人确认报表通知的内容后,将一操作通知推送给运维进行操作,所述操作通知包括应用名称、增减台数、运维处理人和确认人。
通过采用上述技术方案,通过实时监控负载的各项指标,根据负载指标与配置的阈值比较,及时的将报表通知自动发给应用负责人,并根据应用负责人的确认操作及时将操作通知发给运维,以对应用负载进行增加或减少的操作。相比于相关技术中主要靠人工观察负载运行情况或者忽视了服务器数量的合理性的情况,大大降低了成本,同时也提高了管理效率。
优选的,所述负载数据收集具体包括:
获取应用配置,所述应用配置包括应用标识;
根据应用标识获取groupId;
根据groupId获取hostname;
根据hostname获取负载的相关指标数据,所述相关指标数据包括CPU使用率、内存使用率和GC;
将每一负载的各个相关指标数据均分别与配置的相关阈值进行比较,记录每一相关指标数据所对应的超过和低于阈值的负载数量,从而得到低负载数据和高负载数据;
低负载数据和高负载数据异步落地mysql。
通过采用上述技术方案,能够使数据持续持久化到mysql,保证了数据的真实性,实现了实时监控。
优选的,所述自动报表推送具体包括:
获取应用配置;
根据应用标识获取已落地的低负载数据和高负载数据;
根据获取的低负载数据和高负载数据以平均值的方式计算需要增减的负载的数量T;
将计算出的需要增减的负载的数量写入EXCEL;
将生成的EXCEL作为报表通知的附件并在指定时间将该报表通知发送给相应的应用负责人。
通过采用上述技术方案,应用负责人接收到的报表通知中包含EXCEL,应用负责人通过EXCEL即可观察到详细的负载增减数据,以为其后面的确认提供数据参考和依据。
优选的,根据获取的低负载数据和高负载数据以平均值的方式计算需要增减的负载的数量T,具体包括:
根据获取的低负载数据和高负载数据得到每个相关指标数据所对应的需要增加的负载数量或需要减小的负载数量,需要增加的负载数量为正数,需要减小的负载数量为负数;
识别获取到的正数的数量a和负数的数量b;
将所有的负载数量相加得到终值c并判断终值c是正数还是负数;
若判断终值c为正数,则通过计算公式T=c/a来计算需要增减的负载的数量T;
若判断终值c为负数,则通过计算公式T=c/b来计算需要增减的负载的数量T。
通过采用上述技术方案,独立考虑每个相关指标数据所对应的需要增加的负载数量或需要减小的负载数量之后,采用考虑正数数量和负数数量的方式来计算各种情况下的负载增减数量平均值即需要增减的负载的数量T,使得最终算出的增减数据更符合实际运营场景。
优选的,在所述自动报表推送中,所述报表通知采用邮件的方式发送给对应的应用负责人,EXCEL文件作为邮件的附件;在邮件发送完成后删除本地EXCEL文件。
通过采用上述技术方案,邮件作为一种常用的信息沟通方式,具备即时性和长久保留性的特点,其一,便于使用者查看信息和使用,其二,不必再开发一种沟通平台来满足报表通知的发送和查看,大大节省了运营成本和操作使用成本。
优选的,在所述自动报表推送中,所发送邮件的邮件内容中加入有操作链接;
所述通知运维操作包括:
在相应的应用负责人点击操作链接后,根据链接中唯一值messagekey在redis中获取对应的推送信息并形成操作通知,所述操作通知包括应用名称、增减台数、运维处理人和确认人;
通过群机器人将操作通知推送给指定运维或推送到指定运维所在的群以供运维进行服务器的增减操作。
通过采用上述技术方案,在应用负责人点击操作链接后即代表应用负责人进行了确认操作,提高了整个流程处理的效率。
优选的,在所述通知运维操作中,在所述通过群机器人将操作通知推送给指定运维或推送到指定运维所在的群以供运维进行服务器的增减操作之后,还包括:将预设的与相应应用对应的opsKey置为false;
所述方法还包括自动检查应用,所述自动检查应用包括:
获取应用配置,所述应用配置包括应用所对应的服务器数量和opsKey的状态;其中,当服务器数量发生变化时,应用所对应的opsKey会被置为true;
根据应用所对应的opsKey查看操作状态,若opsKey仍然为false,则将应用标记为未操作应用;若opsKey为true,则将应用标记为已操作应用;
在指定时间将未操作应用对应的操作通知再次推送给指定运维或推送到指定运维所在的群。
通过采用上述技术方案,能够在发完操作通知后自动检查运维有没有对负载的数量进行重新配置,若在指定时间长度过后没有被处理,可以进行二次通知,保证负载增减的时效性。
第二方面,本申请提供一种通过定时任务实现服务器动态增减的系统,采用如下的技术方案:
一种通过定时任务实现服务器动态增减的系统,包括:
负载数据收集模块,用于获取负载的相关指标数据,再将获取的相关指标数据与预先配置的阈值进行比较,并分别记录超过和低于阈值的负载数量;
自动报表推送模块,包括,
数据获取子模块,用于获取所述负载数据收集模块记录的超过和低于阈值的负载数量;
数据计算子模块,用于根据所述数据获取子模块获取的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T;以及,
报表生成子模块,用于将所述数据计算子模块计算出的需要增减的负载的数量T写入EXCEL,且在指定时间将生成的EXCEL作为报表通知的附件并将该报表通知加入操作链接后发送给相应的应用负责人;
通知运维操作模块,用于在相应的应用负责人点击报表通知中的操作链接后,将一操作通知推送给运维进行操作,同时将预设的与相应应用对应的opsKey置为false,所述操作通知包括应用名称、增减台数、运维处理人和确认人;以及,
自动检查应用模块,包括,
应用配置获取子模块,用于获取包括应用所对应的服务器数量的应用配置信息,且在当服务器数量发生变化时,将应用所对应的opsKey置为true;
操作状态查看子模块,用于根据应用所对应的opsKey查看操作状态,若opsKey仍然为false,则将应用标记为未操作应用,若opsKey为true,则将应用标记为已操作应用;以及,
二次推送子模块,用于在指定时间将未操作应用对应的操作通知再次推送给指定运维或推送到指定运维所在的群。
通过采用上述技术方案,能够将实时监控到的负载指标与配置的阈值进行比较,从而得出需要增减的负载数量并发送给对应的应用负责人和运维,以使运维对应用负载进行增加或减少的操作,进而使得负载的数量维持在一个较为合理的范围内,有效降低了成本。另外,系统自动化程度高,除了运维的实际增减负载的操作外,整个流程基本不需要人为干预,也大大提升了管理效率。
第三方面,本申请提供一种通过定时任务实现服务器动态增减的装置,采用如下的技术方案:
一种通过定时任务实现服务器动态增减的装置,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述任一种方法的计算机程序。
通过采用上述技术方案,便于实现对负债数据的自动监控,并给出相应的建议应用增减的负载台数的功能,有效降低了企业的成本,也大大增加了负载的使用率。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行如上述任一种方法的计算机程序。
通过采用上述技术方案,存储能够加载并执行上述方法的程序,有利于减小运营成本,并且提高了管理效率和负载使用率。
附图说明
图1是本申请实施例的通过定时任务实现服务器动态增减的方法的流程图。
图2是本申请实施例的步骤S100的流程图。
图3是本申请实施例的步骤S200的流程图。
图4是本申请实施例的步骤S230的流程图。
图5是本申请实施例的步骤S300的流程图。
图6是本申请实施例的步骤S400的流程图。
图7是本申请实施例的通过定时任务实现服务器动态增减的系统的结构框图。
附图标记说明:1、负载数据收集模块;2、自动报表推送模块;21、数据获取子模块;22、数据计算子模块;23、报表生成子模块;3、通知运维操作模块;4、自动检查应用模块;41、应用配置获取子模块;42、操作状态查看子模块;43、二次推送子模块。
具体实施方式
以下结合附图1-7对本申请作进一步详细说明。
本申请实施例公开一种通过定时任务实现服务器动态增减的方法。参照图1,方法包括以下步骤:
S100、负载数据收集:获取负载的相关指标数据,再将获取的相关指标数据与预先配置的阈值进行比较,并记录超过和低于阈值的负载数量。这里的负载即指服务器。
具体的,参照图2,步骤S100包括以下子步骤:
S101、获取应用配置,应用配置包括应用标识;
S102、根据应用标识获取groupId,groupId即指应用组名称;
S103、根据groupId获取hostname,hostname即指服务器名称;
S104、根据hostname获取负载的相关指标数据,具体来说,在本实施例中,相关指标数据包括CPU使用率、内存使用率和GC(垃圾回收);
S105、将每一负载的各个相关指标数据均分别与配置的相关阈值进行比较,具体来说,每一相关指标数据均对应一个阈值,在将相关指标数据与对应阈值比较过后,记录每一相关指标数据所对应的超过和低于对应阈值的负载数量,从而得到低负载数据和高负载数据;
S106、低负载数据和高负载数据异步落地mysql,换句话说,就是将低负载数据和高负载数据持久化到mysql;
需要说明的是,在一个检测周期内例如一天内,若某一相关指标数据的超过相应阈值的服务器总数量为N1,小于等于相应阈值的服务器总数量为N2,则将该相关指标数据所对应的超过阈值的负载数量记为N1,并且将该相关指标数据所对应的低于阈值的负载数量记为N2。
S200、自动报表推送:根据记录的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T,然后将计算出的需要增减的负载的数量T写入报表通知,并在指定时间例如周一上午将该报表通知推送给相应的应用负责人。
具体的,参照图3,步骤S200包括以下子步骤:
S201、获取应用配置;
S202、根据子步骤S201中获取到的应用配置中的应用标识获取已落地的低负载数据和高负载数据;
S203、根据获取的低负载数据和高负载数据以平均值的方式计算需要增减的负载的数量T;
S204、将计算出的需要增减的负载的数量写入EXCEL;这里需要说明的是,EXCEL中除了增减台数外,还包括相应的应用名称、运维处理人和确认人,以及原始的监控数据;
S205、将子步骤S204中生成的EXCEL作为报表通知的附件并在指定时间将该报表通知发送给相应的应用负责人;具体的,报表通知采用邮件的方式发送给对应的应用负责人,EXCEL文件作为邮件的附件,而且在发送的邮件的邮件内容中加入有操作链接;
S206、在邮件发送完成后删除本地EXCEL文件。
其中,参照图4,子步骤S203具体包括:
S2301、根据获取的低负载数据和高负载数据得到每个相关指标数据所对应的需要增加的负载数量或需要减小的负载数量;需要增加负载时的负载数量为正数,需要减小负载时的负载数量为负数;
S2302、识别获取到的正数的数量a和负数的数量b;
S2303、将所有的负载数量相加得到终值c并判断终值c是正数还是负数;若判断终值c为正数,则进入S2304;若判断终值c为负数,则进入S2305;
S2304、通过计算公式T=c/a来计算需要增减的负载的数量T;
S2305、则通过计算公式T=c/b来计算需要增减的负载的数量T。
S300、通知运维操作:在相应的应用负责人确认报表通知的内容后,将一操作通知推送给运维进行操作,操作通知的内容包括应用名称、增减台数、运维处理人和确认人。
具体的,参照图5,步骤S300包括以下子步骤:
S301、在相应的应用负责人点击操作链接后,根据链接中的唯一值messagekey在redis中获取对应的推送信息并形成操作通知,所述操作通知包括应用名称、增减台数、运维处理人和确认人;redis中存储的推送信息即包括应用名称、增减台数、运维处理人和确认人,其为在子步骤S204中将计算出的需要增减的负载的数量写入EXCEL时同步存入redis的数据;
S302、通过群机器人将操作通知推送给指定运维或推送到指定运维所在的群以供运维进行服务器的增减操作;
S303、将预设的与相应应用对应的opsKey置为false;
S400、自动检查应用:自动检查与应用相对应的运维是否有去进行负载的增减操作,并在长时间未操作时,将未操作应用推送给相应运维。
具体的,参照图6,步骤S400包括以下子步骤:
S401、获取应用配置,应用配置包括应用所对应的服务器数量以及opsKey的状态;应注意的是,当服务器数量发生变化时,应用所对应的opsKey会被置为true;
S402、根据应用所对应的opsKey查看操作状态,若opsKey仍然为false,则将应用标记为未操作应用;若opsKey为true,则将应用标记为已操作应用;
S403、在指定时间将未操作应用对应的操作通知再次推送给指定运维或推送到指定运维所在的群,或者采用人工的方式通知相应的应用负责人或相应的运维。
基于上述方法,本申请实施例还公开一种通过定时任务实现服务器动态增减的系统。参照图7,系统包括:
负载数据收集模块1,用于获取负载的相关指标数据,再将获取的相关指标数据与预先配置的阈值进行比较,并记录超过和低于阈值的负载数量;
自动报表推送模块2,包括,
数据获取子模块21,用于获取负载数据收集模块1记录的超过和低于阈值的负载数量;
数据计算子模块22,用于根据数据获取子模块21获取的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T;以及,
报表生成子模块23,用于将数据计算子模块22计算出的需要增减的负载的数量T写入EXCEL,且在指定时间将生成的EXCEL作为报表通知的附件并将该报表通知加入操作链接后发送给相应的应用负责人;
通知运维操作模块3,用于在相应的应用负责人点击报表通知中的操作链接后,将一操作通知推送给运维进行操作,同时将预设的与相应应用对应的opsKey置为false,操作通知包括应用名称、增减台数、运维处理人和确认人;以及,
自动检查应用模块4,包括,
应用配置获取子模块41,用于获取包括应用所对应的服务器数量的应用配置信息,且在当服务器数量发生变化时,将应用所对应的opsKey置为true;
操作状态查看子模块42,用于根据应用所对应的opsKey查看操作状态,若opsKey仍然为false,则将应用标记为未操作应用,若opsKey为true,则将应用标记为已操作应用;以及,
二次推送子模块43,用于在指定时间将未操作应用对应的操作通知再次推送给指定运维或推送到指定运维所在的群,或者向管理员发送需要其人工通知相应应用负责人或相应运维的报警信号。
本申请实施例还公开一种通过定时任务实现服务器动态增减的装置,其包括存储器和处理器,其中,存储器上存储有能够被处理器加载并执行如上述的通过定时任务实现服务器动态增减的方法的计算机程序。
本申请实施例还公开一种计算机可读存储介质。计算机可读存储介质内存储有能够被处理器加载并执行如上述的通过定时任务实现服务器动态增减的方法的计算机程序,所述计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。

Claims (8)

1.一种通过定时任务实现服务器动态增减的方法,其特征在于,包括:
负载数据收集:获取负载的相关指标数据,再将获取的相关指标数据与预先配置的阈值进行比较,并分别记录超过和低于阈值的负载数量;所述负载为服务器;
自动报表推送:根据记录的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T,然后将计算出的需要增减的负载的数量T写入报表通知并在指定时间将该报表通知推送给相应的应用负责人;所述定时任务为在指定时间将该报表通知推送给相应的应用负责人;
通知运维操作:在相应的应用负责人确认报表通知的内容后,将一操作通知推送给运维进行操作,所述操作通知包括应用名称、增减台数、运维处理人和确认人;
根据记录的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T具体包括:
获取应用配置;
根据应用标识获取已落地的低负载数据和高负载数据,低负载数据为记录每一相关指标数据所对应的低于阈值的负载数量而得到,高负载数据为记录每一相关指标数据所对应的超过阈值的负载数量而得到;
根据获取的低负载数据和高负载数据得到每个相关指标数据所对应的需要增加的负载数量或需要减小的负载数量,若某一相关指标数据对应有高负载数据,则得到该相关指标数据对应的超过阈值的负载数量为需要增加的负载数量,若某一相关指标数据对应有低负载数据,则得到该相关指标数据对应的低于阈值的负载数量取负后为需要减小的负载数量;其中,需要增加负载时的负载数量为正数,需要减小负载时的负载数量为负数;
识别获取到的正数的数量a和负数的数量b;
将所有需要增加的负载数量和需要减小的负载数量相加得到终值c并判断终值c是正数还是负数;
若判断终值c为正数,则通过计算公式T=c/a来计算需要增减的负载的数量T;
若判断终值c为负数,则通过计算公式T=c/b来计算需要增减的负载的数量T。
2.根据权利要求1所述的方法,其特征在于,所述负载数据收集具体包括:
获取应用配置,所述应用配置包括应用标识;
根据应用标识获取groupId,groupId指应用组名称;
根据groupId获取hostname,hostname指服务器名称;
根据hostname获取负载的相关指标数据,所述相关指标数据包括CPU使用率、内存使用率和GC,GC指垃圾回收器负荷;
将每一负载的各个相关指标数据均分别与配置的相关阈值进行比较,记录每一相关指标数据所对应的超过和低于阈值的负载数量,从而得到低负载数据和高负载数据;
低负载数据和高负载数据异步落地mysql。
3.根据权利要求2所述的方法,其特征在于,在所述自动报表推送中,所述报表通知采用邮件的方式发送给对应的应用负责人,EXCEL文件作为邮件的附件;在邮件发送完成后删除本地EXCEL文件。
4.根据权利要求3所述的方法,其特征在于,在所述自动报表推送中,所发送邮件的邮件内容中加入有操作链接;
所述通知运维操作包括:
在相应的应用负责人点击操作链接后,根据链接中唯一值messagekey在redis中获取对应的推送信息并形成操作通知,所述操作通知包括应用名称、增减台数、运维处理人和确认人;
通过群机器人将操作通知推送给指定运维或推送到指定运维所在的群以供运维进行服务器的增减操作。
5.根据权利要求4所述的方法,其特征在于,在所述通知运维操作中,在所述通过群机器人将操作通知推送给指定运维或推送到指定运维所在的群以供运维进行服务器的增减操作之后,还包括:将预设的与相应应用对应的opsKey置为false;
所述方法还包括自动检查应用,所述自动检查应用包括:
获取应用配置,所述应用配置包括应用所对应的服务器数量和opsKey的状态;其中,当服务器数量发生变化时,应用所对应的opsKey会被置为true;
根据应用所对应的opsKey查看操作状态,若opsKey仍然为false,则将应用标记为未操作应用;若opsKey为true,则将应用标记为已操作应用;
在指定时间将未操作应用对应的操作通知再次推送给指定运维或推送到指定运维所在的群。
6.一种通过定时任务实现服务器动态增减的系统,其特征在于,包括:
负载数据收集模块(1),用于获取负载的相关指标数据,再将获取的相关指标数据与预先配置的阈值进行比较,并分别记录超过和低于阈值的负载数量;所述负载为服务器;
自动报表推送模块(2),包括,
数据获取子模块(21),用于获取所述负载数据收集模块(1)记录的超过和低于阈值的负载数量;
数据计算子模块(22),用于根据所述数据获取子模块(21)获取的超过和低于阈值的负载数量以平均值的方式计算需要增减的负载的数量T,即,获取应用配置,根据应用标识获取已落地的低负载数据和高负载数据,根据获取的低负载数据和高负载数据得到每个相关指标数据所对应的需要增加的负载数量或需要减小的负载数量,若某一相关指标数据对应有高负载数据,则得到该相关指标数据对应的超过阈值的负载数量为需要增加的负载数量,若某一相关指标数据对应有低负载数据,则得到该相关指标数据对应的低于阈值的负载数量取负后为需要减小的负载数量,其中,需要增加负载时的负载数量为正数,需要减小负载时的负载数量为负数,接着识别获取到的正数的数量a和负数的数量b,将所有需要增加的负载数量和需要减小的负载数量相加得到终值c并判断终值c是正数还是负数,若判断终值c为正数,则通过计算公式T=c/a来计算需要增减的负载的数量T,若判断终值c为负数,则通过计算公式T=c/b来计算需要增减的负载的数量T;
以及,
报表生成子模块(23),用于将所述数据计算子模块(22)计算出的需要增减的负载的数量T写入EXCEL,且在指定时间将生成的EXCEL作为报表通知的附件并将该报表通知加入操作链接后发送给相应的应用负责人;所述定时任务为在指定时间将该报表通知推送给相应的应用负责人;
通知运维操作模块(3),用于在相应的应用负责人点击报表通知中的操作链接后,将一操作通知推送给运维进行操作,同时将预设的与相应应用对应的opsKey置为false,所述操作通知包括应用名称、增减台数、运维处理人和确认人;以及,
自动检查应用模块(4),包括,
应用配置获取子模块(41),用于获取包括应用所对应的服务器数量的应用配置信息,且在当服务器数量发生变化时,将应用所对应的opsKey置为true;
操作状态查看子模块(42),用于根据应用所对应的opsKey查看操作状态,若opsKey仍然为false,则将应用标记为未操作应用,若opsKey为true,则将应用标记为已操作应用;以及,
二次推送子模块(43),用于在指定时间将未操作应用对应的操作通知再次推送给指定运维或推送到指定运维所在的群。
7.一种通过定时任务实现服务器动态增减的装置,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至5中任一种方法的计算机程序。
8.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至5中任一种方法的计算机程序。
CN202011026440.6A 2020-09-25 2020-09-25 通过定时任务实现服务器动态增减的方法、系统及装置 Active CN112199251B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011026440.6A CN112199251B (zh) 2020-09-25 2020-09-25 通过定时任务实现服务器动态增减的方法、系统及装置
PCT/CN2020/134284 WO2022062186A1 (zh) 2020-09-25 2020-12-07 通过定时任务实现服务器动态增减的方法、系统及装置
DE212020000560.5U DE212020000560U1 (de) 2020-09-25 2020-12-07 System, Vorrichtung und Medium zum dynamischen Hinzufügen und Entfernen von Servern mittels zeitgesteuerter Aufgaben

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011026440.6A CN112199251B (zh) 2020-09-25 2020-09-25 通过定时任务实现服务器动态增减的方法、系统及装置

Publications (2)

Publication Number Publication Date
CN112199251A CN112199251A (zh) 2021-01-08
CN112199251B true CN112199251B (zh) 2022-04-29

Family

ID=74007233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011026440.6A Active CN112199251B (zh) 2020-09-25 2020-09-25 通过定时任务实现服务器动态增减的方法、系统及装置

Country Status (2)

Country Link
CN (1) CN112199251B (zh)
WO (1) WO2022062186A1 (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669758A (zh) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 服务器资源的调配方法、装置、设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100715674B1 (ko) * 2005-09-15 2007-05-09 한국전자통신연구원 부하 분산 방법 및 장치, 그리고 이를 이용한 소프트웨어스트리밍 시스템
CN105024842A (zh) * 2014-04-25 2015-11-04 深圳市腾讯计算机系统有限公司 服务器的扩容方法及装置
CN105099935A (zh) * 2015-07-28 2015-11-25 小米科技有限责任公司 服务器负载控制方法及装置
CN106470219A (zh) * 2015-08-17 2017-03-01 阿里巴巴集团控股有限公司 计算机集群的扩容和缩容方法及设备
CN105847055A (zh) * 2016-03-25 2016-08-10 乐视控股(北京)有限公司 一种服务器分组管理方法和装置
CN106067852A (zh) * 2016-06-08 2016-11-02 智者四海(北京)技术有限公司 服务器使用量的监控方法及装置
CN106375395B (zh) * 2016-08-30 2019-06-11 厦门中学西渐信息科技有限公司 节点服务器的负载均衡方法和系统
CN106375420B (zh) * 2016-08-31 2020-01-10 宝信软件(武汉)有限公司 一种基于负载均衡的服务器集群智能监控系统及方法
CN108063784B (zh) * 2016-11-08 2022-01-25 阿里巴巴集团控股有限公司 一种云环境下应用集群资源分配的方法、装置和系统
CN106878064B (zh) * 2017-01-16 2021-08-13 腾讯科技(深圳)有限公司 数据监控方法和装置
CN108848166A (zh) * 2018-06-20 2018-11-20 中国联合网络通信集团有限公司 一种容器的负载均衡调度方法及装置
CN109032904A (zh) * 2018-07-19 2018-12-18 郑州云海信息技术有限公司 被监控、管理服务器及数据获取、分析方法和管理系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669758A (zh) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 服务器资源的调配方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112199251A (zh) 2021-01-08
WO2022062186A1 (zh) 2022-03-31

Similar Documents

Publication Publication Date Title
CN108874640B (zh) 一种集群性能的评估方法和装置
CN110032567B (zh) 报表查询方法、装置、服务器和存储介质
CN108009236B (zh) 一种大数据查询方法、系统、计算机及存储介质
CN104317800A (zh) 一种海量智能用电数据混合存储系统及方法
CN105488148A (zh) 大数据的存储访问系统及方法
CN102314336B (zh) 一种数据处理方法和系统
CN109981702B (zh) 一种文件存储方法及系统
US20110283292A1 (en) Allocation of processing tasks
CN111984495A (zh) 一种大数据监控方法、装置和存储介质
CN101827120A (zh) 一种集群存储方法及系统
CN115344207A (zh) 数据处理方法、装置、电子设备及存储介质
CN112199251B (zh) 通过定时任务实现服务器动态增减的方法、系统及装置
CN111145586A (zh) 一种基于物联网的车位占用状态分析系统及服务器
CN114500543A (zh) 一种基于分布式的弹性边缘采集系统及其应用方法
CN117472652A (zh) 一种云计算运维平台的数据备份方法、装置及系统
CN110932935A (zh) 资源控制方法、装置、设备及计算机存储介质
CN110855484A (zh) 自动检测业务量变化的方法、系统、电子设备和存储介质
CN112667460A (zh) 一种航空电子系统应用任务栈空间的监控方法
CN112888010A (zh) 基于wifi连接设备群体信息的目标wifi预警系统
CN111612402A (zh) 自动化仲裁方法及装置
CN112783732B (zh) 一种数据库表容量监控方法及装置
CN111682970B (zh) 一种基于容器化快速扩缩容物联网接入能力的系统及方法
CN114020571A (zh) 一种索引服务器的监控方法及监控设备
CN114745282B (zh) 资源配置模型预测方法、装置及电子设备
CN117808602B (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