CN116560821A - 一种运维系统、方法、装置、设备及存储介质 - Google Patents

一种运维系统、方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116560821A
CN116560821A CN202210088631.8A CN202210088631A CN116560821A CN 116560821 A CN116560821 A CN 116560821A CN 202210088631 A CN202210088631 A CN 202210088631A CN 116560821 A CN116560821 A CN 116560821A
Authority
CN
China
Prior art keywords
request
transfer protocol
hypertext transfer
protocol request
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.)
Pending
Application number
CN202210088631.8A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202210088631.8A priority Critical patent/CN116560821A/zh
Publication of CN116560821A publication Critical patent/CN116560821A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种运维系统、方法、装置、设备及存储介质,系统中的前端运维客户端响应于操作命令触发事件,生成操作命令执行请求发送至运维管理后台;运维管理后台根据操作命令执行请求生成超文本传输协议请求,将超文本传输协议请求发送至分布式处理集群;分布式处理集群执行超文本传输协议请求对应的操作,生成操作执行结果文件上传至文件管理平台,将操作执行结果文件路径发送至前端运维客户端;前端运维客户端根据操作执行结果文件路径向文件管理平台发送文件获取请求,获取操作执行结果文件,以使用户根据操作执行结果文件进行问题定位。支持仅触发请求即可实现指令相关操作,简化了问题定位难度。

Description

一种运维系统、方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种运维系统、方法、装置、设备及存储介质。
背景技术
近年来,随着大数据技术的蓬勃发展,业务对实时性要求的提高,越来越多的业务开始利用实时计算加速业务的发展。分布式处理集群因其高吞吐、低延迟、容错性好的特性,已经成为了当之无愧的新一代实时计算引擎。
在实现本发明的过程中,发明人发现现有技术中至少存在以下技术问题:在分布式处理集群的生产使用过程中,用户常常在大数据平台产品上调用接口创建集群、部署任务,由平台去启动容器,部署集群。用户没有权限登录相应的容器,当对任务进行异常排查和性能调优时无法及时并有效的利用工具对问题进行定位。只能一直依赖于技术支持人员进行操作,无法做到及时准确的获取对问题定位有价值的信息。
发明内容
本发明实施例提供了一种运维系统、方法、装置、设备及存储介质,以实现简化基于分布式集群进行问题定位的复杂度。
第一方面,本发明实施例提供了一种运维系统,包括前端运维客户端、运维管理后台和分布式处理集群,其中:
前端运维客户端,用于响应于用户通过运维页面触发的操作命令触发事件,生成操作命令触发事件对应的操作命令执行请求,并将操作命令执行请求发送至运维管理后台;
运维管理后台,用于根据操作命令执行请求生成超文本传输协议请求,并将超文本传输协议请求发送至分布式处理集群;
分布式处理集群,用于执行超文本传输协议请求对应的操作,生成操作执行结果文件上传至文件管理平台,并将操作执行结果文件路径发送至前端运维客户端;
前端运维客户端,还用于响应于用户通过运维页面触发的文件获取事件,根据操作执行结果文件路径向文件管理平台发送文件获取请求,并获取文件管理平台返回的操作执行结果文件,以使用户根据操作执行结果文件进行问题定位。
可选的,在上述方案的基础上,根据操作命令执行请求生成超文本传输协议请求,并将超文本传输协议请求发送至分布式处理集群,包括:
基于操作命令执行请求以及操作命令执行请求对应的文件服务上传地址生成超文本传输协议请求,并将超文本传输协议请求发送至分布式处理集群。
可选的,在上述方案的基础上,分布式处理集群包括请求处理服务器,执行超文本传输协议请求对应的操作,包括:
请求处理服务器根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器,并将超文本传输协议请求发送至请求处理器,触发异步操作,并生成异步操作标识。
可选的,在上述方案的基础上,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器,包括:
当超文本传输协议请求中的组件参数为第一类型管理器标识时,通过第一类型管理器根据超文本传输协议请求生成执行命令并异步执行。
可选的,在上述方案的基础上,生成操作执行结果文件上传至文件管理平台,包括:
当异步操作执行完成时,通过第一类型管理器生成操作执行结果文件,根据超文本传输协议请求中的文件服务上传地址和鉴权信息,将操作执行结果文件上传至文件管理平台,并接收文件管理平台返回的操作执行结果文件路径。
可选的,在上述方案的基础上,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器,包括:
当超文本传输协议请求中的组件参数为第二类型管理器标识时,通过第二类型管理器根据超文本传输协议请求中的资源标识调用任务管理器执行超文本传输协议请求。
可选的,在上述方案的基础上,通过第二类型管理器根据超文本传输协议请求中的资源标识调用任务管理器执行超文本传输协议请求,包括:
通过第二类型管理器根据超文本传输协议请求中的资源标识调用任务管理器的任务执行方法;
任务管理器根据超文本传输协议请求生成执行命令并异步执行。
可选的,在上述方案的基础上,生成操作执行结果文件上传至文件管理平台,包括:
当异步操作执行完成时,通过任务管理器生成操作执行结果文件,根据超文本传输协议请求中的文件服务上传地址和鉴权信息,将操作执行结果文件上传至文件管理平台,并接收文件管理平台返回的操作执行结果文件路径。
可选的,在上述方案的基础上,请求处理服务器还用于:
将异步操作标识发送至前端运维客户端;
前端运维客户端,用于将接收到的异步操作标识在运维页面进行展示。
可选的,在上述方案的基础上,前端运维客户端还用于;
响应于检测到的异步操作触发事件,生成异步操作查询请求发送至分布式处理集群;
分布式处理集群,还用于根据异步操作查询请求中携带的异步操作标识查询异步操作执行状态,并在异步操作执行完成时将操作执行结果文件路径发送至前端运维客户端。
第二方面,本发明实施例还提供了一种运维方法,包括:
响应于接收到的超文本传输协议请求,根据所述超文本传输协议请求中的组件参数确定执行所述超文本传输协议请求的请求处理器;
将所述超文本传输协议请求发送至所述请求处理器,以使所述请求处理器触发异步操作,执行所述超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
第三方面,本发明实施例还提供了一种运维装置,包括:
请求处理器确定模块,用于响应于接收到的超文本传输协议请求,根据所述超文本传输协议请求中的组件参数确定执行所述超文本传输协议请求的请求处理器;
请求处理器执行模块,用于将所述超文本传输协议请求发送至所述请求处理器,以使所述请求处理器触发异步操作,执行所述超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
第四方面,本发明实施例还提供了一种计算机设备,设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本发明任意实施例所提供的运维方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的运维方法。
本发明实施例提供的运维系统包括前端运维客户端、运维管理后台和分布式处理集群,其中:前端运维客户端,用于响应于用户触发的操作命令触发事件,生成操作命令触发事件对应的操作命令执行请求,并将操作命令执行请求发送至运维管理后台;运维管理后台,用于根据操作命令执行请求生成超文本传输协议请求,并将超文本传输协议请求发送至分布式处理集群;分布式处理集群,用于执行超文本传输协议请求对应的操作,生成操作执行结果文件上传至文件管理平台,并将操作执行结果文件路径发送至前端运维客户端;前端运维客户端,还用于根据操作执行结果文件路径向文件管理平台发送文件获取请求,并获取文件管理平台返回的操作执行结果文件,以使用户根据操作执行结果文件进行问题定位。通过基于分布式处理集群根据预先设定的执行逻辑执行用户触发的操作命令,使得用户仅需触发请求即可实现对内存、堆栈、线程等执行操作,将操作结果执行文件通过文件管理平台保存并下载,使得操作命令执行完成后能够及时了解执行过程,便于用户及时定位命令执行中的问题。
附图说明
图1是本发明实施例所提供的一种运维系统的结构示意图;
图2是本发明实施例所提供的一种运维系统执行流程示意图。
图3是本发明实施例所提供的一种运维方法的流程示意图;
图4是本发明实施例所提供的一种运维装置的结构示意图;
图5是本发明实施例所提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1是本发明实施例所提供的一种运维系统的结构示意图。本实施例可适用于基于分布式集群进行容器化部署、问题定位等操作时的情形。如图1所示,运维系统,包括前端运维客户端110、运维管理后台120和分布式处理集群130,其中:
前端运维客户端110,用于响应于用户通过运维页面触发的操作命令触发事件,生成操作命令触发事件对应的操作命令执行请求,并将操作命令执行请求发送至运维管理后台;
运维管理后台120,用于根据操作命令执行请求生成超文本传输协议请求,并将超文本传输协议请求发送至分布式处理集群;
分布式处理集群130,用于执行超文本传输协议请求对应的操作,生成操作执行结果文件上传至文件管理平台,并将操作执行结果文件路径发送至前端运维客户端;
前端运维客户端110,还用于根响应于用户通过运维页面触发的文件获取事件,根据操作执行结果文件路径向文件管理平台发送文件获取请求,并获取文件管理平台返回的操作执行结果文件,以使用户根据操作执行结果文件进行问题定位。
整体来说,本发明实施例中,在前端运维客户端上添加了对集群容器的操作命令入口,用户在需要对集群容器执行相关操作时,直接通过操作接口即可实现命令执行的相关操作。
在本实施例中,用户触发的操作命令触发事件可以为生成文件事件、查看堆内文件事件、查看类加载事件、导出线程堆栈事件等。可选的,前端运维客户端可以设置Jmap命令的操作接口、Jstat命令的操作接口、Jstack命令的操作接口以及Jcmd命令的操作接口,以使用户直接触发命令的操作接口既可以实现对应命令的执行。具体的,可以通过触发Jmap命令的操作接口执行生成java程序的dump文件、查看堆内对象示例的统计信息、查看ClassLoader的信息以及finalizer队列等操作;通过触发Jstat命令的操作接口执行查看类加载、内存、垃圾回收、JIT编译等运行数据的操作;通过触发Jstack命令的操作接口执行查看或导出java应用程序中线程堆栈信息等操作;通过触发Jcmd命令的操作接口执行生成Java程序飞行记录Java Flight Recording(jfr)等操作。不同的操作命令根据其执行的操作对应不同的请求处理器。可选的,Jmap命令对应的请求处理器为JmapInfoHandler,Jstat命令对应的请求处理器为JstatInfoHandler,Jstack命令对应的请求处理器为JstackInfoHandler,Jcmd命令对应的请求处理器为JfrFileHandler。
用户通过前端运维客户端上的操作接口触发操作命令触发事件,前端运维客户端检测到用户触发的事件后,生成操作命令执行请求发送至运维管理后台。运维管理后台根据文件管理平台的平台信息生成超文本传输协议请求发送至分布式处理集群,分布式处理集群根据于预先设定的任务执行逻辑执行超文本传输协议请求,并生成操作执行结果文件上传至文件管理平台。文件管理平台可以为用于存储、下载文件的第三方服务平台。
可选的,前端运维客户端可以通过浏览器页面的方式展示。用户可以在浏览器页面上选择需要执行的操作命令(如jmap、jstat、jstack、jcmd等),并选择配置参数,点击操作命令接口触发操作命令触发事件。前端运维客户端检测到用户触发的操作命令触发事件后,可以根据操作命令执行事件对应的目标操作命令以及目标配置参数生成操作命令执行请求,并将操作命令执行请求发送至运维管理后台。以使运维管理后台生成超文本传输协议请求发送至分布式处理集群进行执行。
在本实施例中,分布式处理集群可以为Flink集群,Flink集群主要包括任务管理器TaskManager和JobManager。其中,JobManager负责接收Flink Job,协调检查点,Failover故障恢复等,同时管理Flink集群中从节点TaskManager。TaskManager负责执行计算,在其上执行Flink Job的一组任务,每个TaskManager负责管理其所在节点上的资源信息,如内存、磁盘、网络,在启动的时候将资源的状态向JobManager汇报。
一个实施例中,根据操作命令执行请求生成超文本传输协议请求,并将超文本传输协议请求发送至布式处理集群,包括:基于操作命令执行请求以及操作命令执行请求对应的文件服务上传地址生成超文本传输协议请求,并将超文本传输协议请求发送至分布式处理集群。运维管理后台检测到前端运维客户端发送的操作命令触发请求后,在操作命令触发请求的基础上拼接文件服务上传地址和鉴权信息并发起新的http请求作为超文本传输协议请求发送至分布式处理集群。其中,文件服务上传地址可以为预先设置的,用于上传操作执行结果文件的地址。具体地址根据文件管理平台设置,在此不做限制。
可选的,分布式处理集群中包括rest请求处理服务器(restServerEndpoint),运维管理后台将超文本传输协议请求发送至rest请求处理服务器。rest请求处理服务器根据接收到的超文本传输协议请求执行相应操作。一个实施例中,分布式处理集群包括请求处理服务器,执行超文本传输协议请求对应的操作,包括:请求处理服务器根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器,并将超文本传输协议请求发送至请求处理器,触发异步操作,并生成异步操作标识。也就是说,rest请求处理服务器根据请求中要执行的命令以及配置参数将超文本传输协议请求分发至请求对应的请求处理器(handler)进行执行,触发异步操作,并生成异步操作标识triggerid和异步执行结果resultfure注册到已完成操作缓存completedOperationCache。
当超文本传输协议请求中的组件参数不同时,超文本传输协议请求对应的请求处理器不同。一般来说,超文本传输协议请求中的组件componet参数可能为分布式处理集群jobmanager,也有可能为任务管理器taskmanager。
在本发明的一种实施方式中,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器,包括:当超文本传输协议请求中的组件参数为第一类型管理器标识时,通过第一类型管理器根据超文本传输协议请求生成执行命令并异步执行。可选的,第一类型管理器为jobmanager。也就是说,如果http请求(即超文本传输协议请求)参数中的组件componet为jobmanager,则在jobmanager上根据超文本传输协议请求中的参数,拼接shell命令并异步执行,并立即返回一个文件上传成功或失败的通知completefuture。
相应的,生成操作执行结果文件上传至文件管理平台,包括:当异步操作执行完成时,通过第一类型管理器生成操作执行结果文件,根据超文本传输协议请求中的文件服务上传地址和鉴权信息,将操作执行结果文件上传至文件管理平台,并接收文件管理平台返回的操作执行结果文件路径。也就是说,命令执行成功之后,在jobmanager上生成文件,根据之前http请求中的文件服务上传和鉴权信息,将生成的结果文件上传至文件管理平台,并接收文件管理平台返回的操作执行结果文件路径,以使后续用户查询异步执行结果时,将操作执行结果文件路径返回给用户,使得用户及时获取操作执行结果文件进行问题定位。
在本发明的另一种实施方式中,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器,包括:当超文本传输协议请求中的组件参数为第二类型管理器标识时,通过第二类型管理器根据超文本传输协议请求中的资源标识调用任务管理器执行超文本传输协议请求。可选的,第二类型管理器为taskmanager。也就是说,如果http请求(即超文本传输协议请求)参数中的组件(component)为taskmanager则将该请求转发给资源管理器(resourcemanager)处理。资源管理器(resourcemanager)调用任务管理器执行超文本传输协议请求。
可选的,通过第二类型管理器根据超文本传输协议请求中的资源标识调用任务管理器执行超文本传输协议请求,包括:通过第二类型管理器根据超文本传输协议请求中的资源标识调用任务管理器的任务执行方法;任务管理器根据超文本传输协议请求生成执行命令并异步执行。具体的,第二类型管理器,即资源管理器(resourcemanager)根据请求中的taskmanager的唯一标识(resourceID),通过远程方法调用对应的taskmanager上任务执行器taskexecutor相关方法(getJstackInfo、getJstatInfo、getJmapInfo、getJfrFile)。taskmanager根据请求中的参数,拼接shell命令并异步执行,并立即返回给resourcemanager资源管理器一个文件上传成功或失败的通知(completefuture)。
相应的,生成操作执行结果文件上传至文件管理平台,包括:当异步操作执行完成时,通过第二类型管理器生成操作执行结果文件,根据超文本传输协议请求中的文件服务上传地址和鉴权信息,将操作执行结果文件上传至文件管理平台,并接收文件管理平台返回的操作执行结果文件路径。命令执行成功之后,在taskmanager上生成文件,根据之前http请求中的文件服务上传和鉴权信息,将生成的结果文件上传至文件管理平台,并接收文件管理平台返回的操作执行结果文件路径,以使后续用户查询异步执行结果时,将操作执行结果文件路径返回给用户,使得用户及时获取操作执行结果文件进行问题定位。
同时,在请求处理器开始异步执行超文本传输协议请求时,请求处理服务器将异步操作标识发送至前端运维客户端;前端运维客户端,用于将接收到的异步操作标识在运维页面进行展示。使得用户能够通过运维页面展示的信息及时了解操作请求的执行情况,并且可以通过点击异步操作标识查询超文本传输协议请求的执行进程。
在上述方案的基础上,前端运维客户端还用于:响应于检测到的异步操作触发事件,生成异步操作查询请求发送至分布式处理集群;分布式处理集群,用于根据异步操作查询请求中携带的异步操作标识查询异步操作执行状态,并在异步操作执行完成时将操作执行结果文件路径发送至前端运维客户端。用户点击页面向运维管理后台查询异步操作标识(triggerid)对应的异步操作是否完成。前端运维客户端将该请求转发至rest请求处理服务器(restServerEndpoint),rest请求处理服务器(restServerEndpoint)根据异步操作标识(triggerid)检查对应的异步执行结果(resultfure)是否完成,如果完成则将异步执行结果(resultfure)中的下载地址返回。
本发明实施例提供的运维系统包括前端运维客户端、运维管理后台和分布式处理集群,其中:前端运维客户端,用于响应于用户触发的操作命令触发事件,生成操作命令触发事件对应的操作命令执行请求,并将操作命令执行请求发送至运维管理后台;运维管理后台,用于根据操作命令执行请求生成超文本传输协议请求,并将超文本传输协议请求发送至分布式处理集群;分布式处理集群,用于执行超文本传输协议请求对应的操作,生成操作执行结果文件上传至文件管理平台,并将操作执行结果文件路径发送至前端运维客户端;前端运维客户端,还用于响应于用户触发的文件获取事件,根据操作执行结果文件路径向文件管理平台发送文件获取请求,并获取文件管理平台返回的操作执行结果文件,以使用户根据操作执行结果文件进行问题定位。通过基于分布式处理集群根据预先设定的执行逻辑执行用户触发的操作命令,使得用户仅需触发请求即可实现对内存、堆栈、线程等执行操作,将操作结果执行文件通过文件管理平台保存并下载,使得操作命令执行完成后能够及时了解执行过程,便于用户及时定位命令执行中的问题。
图2是本发明实施例所提供的一种运维系统执行流程示意图。本实施例在上述方案的基础上,提供了一种优选实施例。本实施例中分布式处理集群为Flink集群,文件管理平台为第三方文件服务为例,对运维系统的操作执行逻辑进行说明。
如图2所示,图2提供的运维系统可以支持如下自助运维命令:
Jmap:生成java程序的dump文件,也可以查看堆内对象示例的统计信息、查看ClassLoader的信息以及finalizer队列,对应的请求处理器为JmapInfoHandler;
Jstat:查看类加载、内存、垃圾回收、JIT编译等运行数据,对应的请求处理器为JstatInfoHandler;
Jstack:查看或导出java应用程序中线程堆栈信息,对应的请求处理器为JstackInfoHandler;
Jcmd:生成Java程序飞行记录Java Flight Recording(jfr),对应的请求处理器为JfrFileHandler。
参考图2,具体的运维命令执行流程包括:
1、用户在浏览器页面上选择需要查看的jobmanager或者taskmanager,并选择需要执行的命令(jmap、jstat、jstack、jcmd),并填写命令相关可配置的参数,点击按钮向运维管理后台发起请求;
2、运维管理后台接收到用户请求后,拼接第三方文件服务上传地址和鉴权信息并发起新的http请求至rest请求处理服务器(restServerEndpoint),由rest请求处理服务器(restServerEndpoint)根据请求中要执行的命令分发至命令对应的请求处理器(handler)处理请求,触发异步操作,并生成异步操作标识triggerid和异步执行结果resultfure注册到已完成操作缓存completedOperationCache。如果http请求参数中的组件componet为jobmanager,则在jobmanager上根据请求中的参数,拼接shell命令并异步执行,并立即返回一个文件上传成功或失败的通知completefuture。命令执行成功之后,根据之前http请求中的第三方文件服务地址和鉴权信息,将生成的结果文件上传。
3、如果组件(component)为taskmanager,则将该请求转发给资源管理器(resourcemanager)处理。
4、资源管理器(resourcemanager)根据请求中的taskmanager的唯一标识(resourceID),通过远程方法调用对应的taskmanager上任务执行器taskexecutor相关方法(getJstackInfo、getJstatInfo、getJmapInfo、getJfrFile)。
5、任务管理器taskmanager根据请求中的参数,拼接shell命令并异步执行,并立即返回给resourcemanager资源管理器一个文件上传成功或失败的通知(completefuture)。命令执行成功之后,根据之前http请求中的第三方文件服务地址和鉴权信息,将生成的结果文件上传。
6、资源管理器(resourcemanager)根据通知(completefuture)是否完成,将整个异步操作是否完成的结果设置到异步执行结果(resultfure)中。
7、rest请求处理服务器(restServerEndpoint)返回给运维管理后台,异步操作标识(triggerid)。
8、运维管理后台返回给用户页面异步操作标识(triggerid)。
9、用户点击页面向运维管理后台查询异步操作标识(triggerid)对应的异步操作是否完成。
10、运维管理后台将该请求转发至rest请求处理服务器(restServerEndpoint)
11、rest请求处理服务器(restServerEndpoint)根据异步操作标识(triggerid)检查对应的异步执行结果(resultfure)是否完成,如果完成则将异步执行结果(resultfure)中的下载地址返回。
12、运维管理后台将下载地址返回给用户。
13、如果是在jobmanager上执行命令,则在jobmanager上生成文件,根据之前http请求中的第三方文件服务地址和鉴权信息,将生成的结果文件上传。
14、如果是在taskmanager上执行命令,则在taskmanager上生成文件,根据之前http请求中的第三方文件服务地址和鉴权信息,将生成的结果文件上传。
15、用户向第三方文件服务请求下载文件。
16、第三方文件服务将文件发送给用户。
针对jobmanager的执行步骤为:
1->2->7->8->(9->10->11->12)->13→(9->10->11->12)->15→16
其中,1->2->7->8表示用户在jobmanager上触发执行异步操作的过程;
第一组9->10->11->12表示用户查询异步操作结果且异步操作未完成返回为空;
13表示异步操作完成,在jobmanager上将结果文件上传至第三方文件服务;
第二组9->10->11->12表示用户查询异步操作结果且异步操作已完成返回结果文件下载地址;
15→16表示用户根据返回的结果文件下载地址,从第三方文件服务下载结果文件。
针对taskmanager的执行步骤:
1->2->3->4->5->6->7->8->(9->10->11->12)->14->(9->10->11->12)→15→16
其中,1->2->3->4->5->6->7->8表示用户在taskmanager上触发执行异步操作的过程;
第一组9->10->11->12表示用户查询异步操作结果且异步操作未完成返回为空;
14表示异步操作完成,在taskmanager上将结果文件上传至第三方文件服务;
第二组9->10->11->12表示用户查询异步操作结果且异步操作已完成返回结果文件下载地址;
15→16表示用户根据返回的结果文件下载地址,从第三方文件服务下载结果文件。
本发明实施例提供的运维系统,用户只需要在页面上点击,触发相关命令的执行,查询异步操作结果是否完成以及根据返回的下载地址下载结果,无需登录容器,且无需技术支持人员操作,整个过程操作简单,没有误操作风险。
图3是本发明实施例所提供的一种运维方法的流程示意图。本实施例可适用于通过分布式处理集群执行运维过程时的情形。该方法可以由运维装置执行,该运维装置可以采用软件和/或硬件的方式实现,例如,该运维装置可配置于计算机设备中。如图3所示,该方法包括:
S310、响应于接收到的超文本传输协议请求,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器。
S320、将超文本传输协议请求发送至请求处理器,以使请求处理器触发异步操作,执行超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
本实施例提供的运维方法由上述实施例所提供的运维系统中的分布式处理集群执行。其中,超文本传输协议请求可以是运维管理后台发起的,用于执行运维过程的请求。可选的,可以由分布式处理集群中的rest请求处理服务器(restServerEndpoint)执行。具体的,rest请求处理服务器执行超文本传输协议请求的方式可以参照上述实施例,在此不再赘述。
本发明实施例通过响应于接收到的超文本传输协议请求,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器;将超文本传输协议请求发送至请求处理器,以使请求处理器触发异步操作,执行超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。使得用户仅需触发请求即可实现运维程序的相关执行操作,将操作结果执行文件通过文件管理平台保存,使得操作命令执行完成后能够及时了解执行过程,便于用户及时定位命令执行中的问题。
图4是本发明实施例所提供的一种运维装置的结构示意图。该运维装置可以采用软件和/或硬件的方式实现,例如该运维装置可以配置于计算机设备中。如图4所示,该装置包括请求处理器确定模块410和请求处理器执行模块420,其中:
请求处理器确定模块410,用于响应于接收到的超文本传输协议请求,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器;
请求处理器执行模块420,用于将超文本传输协议请求发送至请求处理器,以使请求处理器触发异步操作,执行超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
本发明实施例通过请求处理器确定模块响应于接收到的超文本传输协议请求,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器;请求处理器执行模块将超文本传输协议请求发送至请求处理器,以使请求处理器触发异步操作,执行超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。使得用户仅需触发请求即可实现运维程序的相关执行操作,将操作结果执行文件通过文件管理平台保存,使得操作命令执行完成后能够及时了解执行过程,便于用户及时定位命令执行中的问题。
本发明实施例所提供的运维装置可执行本发明任意实施例所提供的运维方法,具备执行方法相应的功能模块和有益效果。
图5是本发明实施例所提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备512的框图。图5显示的计算机设备512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备512以通用计算设备的形式表现。计算机设备512的组件可以包括但不限于:一个或者多个处理器516,系统存储器528,连接不同系统组件(包括系统存储器528和处理器516)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器516或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)550和/或高速缓存存储器552。计算机设备512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储装置554可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储器528中,这样的程序模块542包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器524等)通信,还可与一个或者多个使得用户能与该计算机设备512交互的设备通信,和/或与使得该计算机设备512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,计算机设备512还可以通过网络适配器520与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与计算机设备512的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器516通过运行存储在系统存储器528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的运维方法,该方法包括:
响应于接收到的超文本传输协议请求,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器;
将超文本传输协议请求发送至请求处理器,以使请求处理器触发异步操作,执行超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的运维方法的技术方案。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所提供的运维方法,该方法包括:
响应于接收到的超文本传输协议请求,根据超文本传输协议请求中的组件参数确定执行超文本传输协议请求的请求处理器;
将超文本传输协议请求发送至请求处理器,以使请求处理器触发异步操作,执行超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的运维方法的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (14)

1.一种运维系统,其特征在于,包括前端运维客户端、运维管理后台和分布式处理集群,其中:
所述前端运维客户端,用于响应于用户通过运维页面触发的操作命令触发事件,生成所述操作命令触发事件对应的操作命令执行请求,并将所述操作命令执行请求发送至所述运维管理后台;
所述运维管理后台,用于根据所述操作命令执行请求生成超文本传输协议请求,并将所述超文本传输协议请求发送至所述分布式处理集群;
所述分布式处理集群,用于执行所述超文本传输协议请求对应的操作,生成操作执行结果文件上传至文件管理平台,并将操作执行结果文件路径发送至所述前端运维客户端;
所述前端运维客户端,还用于响应于用户通过运维页面触发的文件获取事件,根据所述操作执行结果文件路径向所述文件管理平台发送文件获取请求,并获取所述文件管理平台返回的操作执行结果文件,以使用户根据所述操作执行结果文件进行问题定位。
2.根据权利要求1所述的系统,其特征在于,所述根据所述操作命令执行请求生成超文本传输协议请求,并将所述超文本传输协议请求发送至所述分布式处理集群,包括:
基于所述操作命令执行请求以及所述操作命令执行请求对应的文件服务上传地址生成所述超文本传输协议请求,并将所述超文本传输协议请求发送至所述分布式处理集群。
3.根据权利要求1所述的系统,其特征在于,所述分布式处理集群包括请求处理服务器,所述执行所述超文本传输协议请求对应的操作,包括:
所述请求处理服务器根据所述超文本传输协议请求中的组件参数确定执行所述超文本传输协议请求的请求处理器,并将所述超文本传输协议请求发送至所述请求处理器,触发异步操作,并生成异步操作标识。
4.根据权利要求3所述的系统,其特征在于,所述根据所述超文本传输协议请求中的组件参数确定执行所述超文本传输协议请求的请求处理器,包括:
当所述超文本传输协议请求中的组件参数为第一类型管理器标识时,通过第一类型管理器根据所述超文本传输协议请求生成执行命令并异步执行。
5.根据权利要求4所述的系统,其特征在于,所述生成操作执行结果文件上传至文件管理平台,包括:
当异步操作执行完成时,通过所述第一类型管理器生成操作执行结果文件,根据所述超文本传输协议请求中的文件服务上传地址和鉴权信息,将所述操作执行结果文件上传至所述文件管理平台,并接收所述文件管理平台返回的操作执行结果文件路径。
6.根据权利要求3所述的系统,其特征在于,所述根据所述超文本传输协议请求中的组件参数确定执行所述超文本传输协议请求的请求处理器,包括:
当超文本传输协议请求中的组件参数为第二类型管理器标识时,通过第二类型管理器根据所述超文本传输协议请求中的资源标识调用任务管理器执行所述超文本传输协议请求。
7.根据权利要求6所述的系统,其特征在于,所述通过第二类型管理器根据所述超文本传输协议请求中的资源标识调用任务管理器执行所述超文本传输协议请求,包括:
通过所述第二类型管理器根据所述超文本传输协议请求中的资源标识调用所述任务管理器的任务执行方法;
所述任务管理器根据所述超文本传输协议请求生成执行命令并异步执行。
8.根据权利要求6所述的系统,其特征在于,所述生成操作执行结果文件上传至文件管理平台,包括:
当异步操作执行完成时,通过任务管理器生成操作执行结果文件,根据所述超文本传输协议请求中的文件服务上传地址和鉴权信息,将所述操作执行结果文件上传至所述文件管理平台,并接收所述文件管理平台返回的操作执行结果文件路径。
9.根据权利要求3所述的系统,所述请求处理服务器还用于:
将所述异步操作标识发送至所述前端运维客户端;
所述前端运维客户端,还用于将接收到的异步操作标识在运维页面进行展示。
10.根据权利要求9所述的系统,所述前端运维客户端还用于:
响应于检测到的异步操作触发事件,生成异步操作查询请求发送至分布式处理集群;
分布式处理集群,还用于根据所述异步操作查询请求中携带的异步操作标识查询异步操作执行状态,并在异步操作执行完成时将所述操作执行结果文件路径发送至所述前端运维客户端。
11.一种运维方法,其特征在于,包括:
响应于接收到的超文本传输协议请求,根据所述超文本传输协议请求中的组件参数确定执行所述超文本传输协议请求的请求处理器;
将所述超文本传输协议请求发送至所述请求处理器,以使所述请求处理器触发异步操作,执行所述超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
12.一种运维装置,其特征在于,包括:
请求处理器确定模块,用于响应于接收到的超文本传输协议请求,根据所述超文本传输协议请求中的组件参数确定执行所述超文本传输协议请求的请求处理器;
请求处理器执行模块,用于将所述超文本传输协议请求发送至所述请求处理器,以使所述请求处理器触发异步操作,执行所述超文本传输协议请求,生成操作执行结果文件上传至文件管理平台。
13.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如权利要求12所述的运维方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求12所述的运维方法。
CN202210088631.8A 2022-01-25 2022-01-25 一种运维系统、方法、装置、设备及存储介质 Pending CN116560821A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210088631.8A CN116560821A (zh) 2022-01-25 2022-01-25 一种运维系统、方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210088631.8A CN116560821A (zh) 2022-01-25 2022-01-25 一种运维系统、方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116560821A true CN116560821A (zh) 2023-08-08

Family

ID=87488418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210088631.8A Pending CN116560821A (zh) 2022-01-25 2022-01-25 一种运维系统、方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116560821A (zh)

Similar Documents

Publication Publication Date Title
US7523196B2 (en) Session monitoring using shared memory
US8868601B2 (en) Distributed file system logging
EP1679602B1 (en) Shared memory based monitoring for application servers
US10275167B2 (en) Providing service address space for diagnostics collection
JP2020091835A (ja) 情報を処理するための方法及び装置
US9870303B2 (en) Monitoring and correlating a binary process in a distributed business transaction
US7899897B2 (en) System and program for dual agent processes and dual active server processes
US8266301B2 (en) Deployment of asynchronous agentless agent functionality in clustered environments
GB2436464A (en) System for managing objects according to the common information model
CN110413432B (zh) 一种信息处理方法、电子设备及存储介质
CN111818145B (zh) 一种文件传输方法、装置、系统、设备及存储介质
US11151020B1 (en) Method and system for managing deployment of software application components in a continuous development pipeline
US20210055983A1 (en) Triggering diagnostic data generation and aggregation across multiple systems to reduce computing resources
US10579446B2 (en) Per-request event detection to improve request-response latency
US11777810B2 (en) Status sharing in a resilience framework
CN116560821A (zh) 一种运维系统、方法、装置、设备及存储介质
US20110055816A1 (en) Method to derive software use and software data object use characteristics by analyzing attributes of related files
JP2013186765A (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
US7770054B2 (en) Apparatus, system, and method to prevent queue stalling
JP6369333B2 (ja) ソフトウェア導入判定プログラム、ソフトウェア導入判定方法、およびソフトウェア導入判定装置
CN114884807A (zh) 链路日志生成方法、装置、物联网平台及存储介质
CN115422012A (zh) 一种数据处理方法、装置、电子设备及计算机可读介质
KR20230029358A (ko) 시스템 모니터링 장치 및 그 방법
CN117938619A (zh) 异常节点处理方法、系统、计算设备及存储介质
JP2005055961A (ja) タスク間通信プログラム及びタスク間通信方法

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