CN115145606A - 一种服务器带内采集软件批量安装方法、装置及介质 - Google Patents

一种服务器带内采集软件批量安装方法、装置及介质 Download PDF

Info

Publication number
CN115145606A
CN115145606A CN202210878563.5A CN202210878563A CN115145606A CN 115145606 A CN115145606 A CN 115145606A CN 202210878563 A CN202210878563 A CN 202210878563A CN 115145606 A CN115145606 A CN 115145606A
Authority
CN
China
Prior art keywords
thread
installation
server
execution
software
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
CN202210878563.5A
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data 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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202210878563.5A priority Critical patent/CN115145606A/zh
Publication of CN115145606A publication Critical patent/CN115145606A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种服务器带内采集软件批量安装方法、装置及其介质,涉及数据监控技术领域,用于实现服务器带内采集软件的批量安装,针对目前前端无法感知采集软件的安装进度,进而影响用户使用体验的问题,提供了一种服务器带内采集软件批量安装方法,通过WebSocket协议建立与前端之间的数据传输通道,以此实现后台和前端的持续性通信连接,进而,后台可以实施反馈安装进度至前端,以供用户查看,满足用户获知各服务器采集软件实时安装进度的需求,进一步提高了用户的使用体验。同时,上述进行采集软件的安装通过线程实现,无需人工手动安装,兼顾了采集软件的安装效率。

Description

一种服务器带内采集软件批量安装方法、装置及介质
技术领域
本申请涉及数据监控技术领域,特别是涉及一种服务器带内采集软件批量安装方法、装置及介质。
背景技术
随着云计算与大数据的发展,数据中心的规模日益扩大,服务器数量越来越多,对这些服务器进行监控管理往往需要对这些服务器进行带内采集软件批量安装。而通过人工手动的方式进行采集软件的安装部署效率过于低下,不符合实际应用需要,所以,现在通常使用线程池的方式进行采集软件的安装。
线程池中为一种多线程处理形式,可以通过多个线程并行处理多个不同的任务,提高采集软件的安装效率。线程池在处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程,所以前端用户无法获知采集软件的安装进度,影响用户的使用体验。
所以,现在本领域的技术人员亟需要一种服务器带内采集软件批量安装方法,解决目前前端无法感知采集软件的安装进度,进而影响用户使用体验的问题。
发明内容
本申请的目的是提供一种服务器带内采集软件批量安装方法、装置及介质,以解决目前前端无法感知采集软件的安装进度,进而影响用户使用体验的问题。
为解决上述技术问题,本申请提供一种服务器带内采集软件批量安装方法,包括:
基于WebSocket协议建立与前端之间的数据传输通道;
接收由前端发送的服务器ID列表;
根据服务器ID列表建立相应数量的线程,并将线程提交至线程池以执行;其中,线程在被执行时,用于实现采集软件的安装;
实时获取各线程的安装进度,并通过数据传输通道返回至前端。
优选的,还包括:
对各线程的执行时间分别进行计时,当线程的执行时间超过预设的时间阈值时,终止执行线程。
优选的,对各线程的执行时间分别进行计时,当线程的执行时间超过预设的时间阈值时,终止执行线程包括:
当各线程开始执行时,记录开始时间,并将线程根据预设的顺序,依次放入阻塞队列中;
轮询阻塞队列,并比较当前时间与当前线程开始时间的差值与时间阈值的大小关系,以判断当前线程是否超时;
若线程超时,终止执行线程,并从阻塞队列中释放线程;
若线程未超时,则将线程插入至阻塞队列的队尾,以继续轮询。
优选的,在终止执行线程之后,还包括:
返回超时信息至前端,并确定安装结果为安装失败。
优选的,还包括:
当线程执行完毕、实现采集软件的安装后,确定安装结果为安装成功;
将安装结果保存在存储介质中。
优选的,线程池为线程优先的线程池。
优选的,根据服务器ID列表建立相应数量的线程,并将线程提交至线程池以执行包括:
待全部线程建立完毕后,将线程一同提交至线程池以执行。
为解决上述技术问题,本申请还提供一种服务器带内采集软件批量安装装置,包括:
通道建立模块,用于基于WebSocket协议建立与前端之间的数据传输通道;
信息接收模块,用于接收由前端发送的服务器ID列表;
软件安装模块,用于根据服务器ID列表建立相应数量的线程,并将线程提交至线程池以执行;其中,线程在被执行时,用于实现采集软件的安装;
进度反馈模块,用于实时获取各线程的安装进度,并通过数据传输通道返回至前端。
优选的,还包括:
超时监控模块,用于对各线程的执行时间分别进行计时,当线程的执行时间超过预设的时间阈值时,终止执行线程。
超时提示模块,用于返回超时信息至前端,并确定安装结果为安装失败。
结果存储模块,用于当线程执行完毕、实现采集软件的安装后,确定安装结果为安装成功;将安装结果保存在存储介质中。
为解决上述技术问题,本申请还提供一种服务器带内采集软件批量安装装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的服务器带内采集软件批量安装方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的服务器带内采集软件批量安装方法的步骤。
本申请提供的一种服务器带内采集软件批量安装方法,通过WebSocket协议建立与前端之间的数据传输通道,以此实现后台和前端的持续性通信连接,进而,后台可以实施反馈安装进度至前端,以供用户查看,满足用户获知各服务器采集软件实时安装进度的需求,进一步提高了用户的使用体验。同时,上述进行采集软件的安装通过线程实现,无需人工手动安装,兼顾了采集软件的安装效率。
本申请提供的服务器带内采集软件批量安装装置、及计算机可读存储介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种服务器带内采集软件批量安装方法的流程图;
图2为本发明提供的另一种服务器带内采集软件批量安装方法的流程图;
图3为本发明提供的一种服务器带内采集软件批量安装方法应用实例的结构图;
图4为本发明提供的一种服务器带内采集软件批量安装装置的结构图;
图5为本发明提供的另一种服务器带内采集软件批量安装装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种服务器带内采集软件批量安装方法、装置及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
对于如今这种大规模的数据中心,在进行服务器内数据的监控管理时,往往需要对这些服务器进行带内采集软件批量安装,然后通过安装好的采集软件对服务器的数据进行采集和监控。目前,采集软件的安装部署多是通过人工手动的方式或者通过线程以纯后台任务的方式进行。这两种方式分别存在安装效率不高,以及用户无法实时获知当前正在执行软件安装的服务器的执行进度及结果,影响用户体验的问题。人工手动进行采集软件的安装,操作人员可以方便地获知安装的进程,但由于数据中心服务器数量较多,且为每一服务器手动人工安装采集软件流程较为繁琐、耗时长,效率较为低下。而通过线程池等方式代替人工安装采集软件,又无法使用户感知到采集软件的安装进度,用户体验性得不到很好地保障。
为解决上述关于目前的采集软件安装方法在效率和用户体验性上无法兼顾的问题,如图1所示,本申请提供一种服务器带内采集软件批量安装方法,包括:
S11:基于WebSocket协议建立与前端之间的数据传输通道。
WebSocket作为一种通信协议,其建立的连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。并且,WebSocket只需要建立一次连接,就可以一直保持连接状态,这相比于以轮询方式的不停建立连接在进行数据通信时大大提高了通信效率。
另外,需要进行说明的是,由于在采集软件的安装过程中,用户不一定唯一、所针对的服务器不一定唯一,所以基于WebSocket协议建立的数据传输通道也不一定唯一。在这种应用场景下,基于WebSocket协议,每一数据传输通道持有WebSocket会话标识、Session及当前的用户标识。
其中,WebSocket会话标识用于表征当前数据传输通道和某一WebSocket会话的对应关系,WebSocket会话也即前端与后台保持的持久性连接;Session相当于一个标识,用于控制数据传输通道的收发,也即持有Session的一方,才可以在上述的数据传输通道中,将数据发送至另一端;用户标识则用于表征当前数据传输通道对应的用户,具体的,可为表征某一对同一前端设备进行操作的特定用户,或者指定不同的前端设备中的某一个具体前端设备。通过上述的三种标识,使得本方法建立的数据传输通道可以应用在多用户的场景中。
S12:接收由前端发送的服务器ID列表。
上述的服务器ID列表为用户根据实际需求筛选出的需要进行采集软件安装的各个服务器身份标识号(Identity Document,ID)的集合,根据服务器ID列表使得在后续的采集软件安装过程中,线程可以找到正确服务器并执行安装。
S13:根据服务器ID列表建立相应数量的线程,并将线程提交至线程池以执行。
其中,线程在被执行时,用于实现采集软件的安装。
考虑到在实际应用中,通过线程对服务器进行采集软件的安装通常都是一对一进行的,所以根据服务器ID列表,即可获知所需要进行采集软件安装的服务器的数量,从而建立相应数量的线程。并将线程提交至线程池中,以由线程池执行采集软件的安装操作。
另外,本实施例为实现高效快速地完成采集软件的安装,还提供一种优选的实施方案:上述建立的线程池为线程优先的线程池。
S14:实时获取各线程的安装进度,并通过数据传输通道返回至前端。
需要说明的是,上述安装进度所反映的安装进程除去采集软件的安装外,还包括数据校验、通信校验等过程,具体的,采集软件的安装进程的一种可能的实施方案如下所示:
a、参数预备检测:在获取到服务器ID列表之后,根据列表中的各服务器ID获取该服务器的设备信息,设备信息包括设备型号、厂商、序列号、带内操作系统网际互连协议(Internet Protocol,IP)、SSH协议信息等,并核验IP以及安全外壳协议(Secure Shell,SSH)信息是否缺失;若缺失则终止执行,并上报安装失败,提示信息为参数缺失,否则上报当前执行进度,提示参数预备成功并执行下一步骤。
b、执行状态检测:查看当前进行安装的服务器是否已安装或处于安装状态中,若是则终止执行,否则上报当前执行进度,提示状态检测通过并执行下一步骤。
c、执行设备及SSH协议连通性检测:检测当前进行安装的服务器带内IP以及SSH协议是否能正常建立连接,若有一项不通过则终止执行,上报安装失败,提示信息为连通性检查失败,否则上报当前执行进度,提示设备及SSH协议连通性检查通过并执行下一步骤。
d、执行设备信息匹配检测:通过带内IP及SSH协议获取服务器设备厂商、型号、序列号信息,并与上述参数预备步骤中获取的设备信息进行比对。若不一致则终止执行,向接收器上报安装失败,提示信息为设备信息不匹配,否则上报当前执行进度,提示设备信息匹配检查通过并执行下一步骤。
e、执行操作系统识别检测:通过带内IP及SSH协议获取服务器带内操作系统类型。若获取失败则终止执行,向接收器上报安装失败,提示信息为操作系统类型获取失败,否则上报当前执行进度,提示成操作系统类型并执行下一步;
f、执行安装包及安装脚步上传检测。基于上一步获取的操作系统类型,利用带内IP及SSH协议将相应操作系统的安装包及安装脚步上传至对应的服务器中,若失败则终止执行,向接收器上报安装失败,提示信息为安装包及安装脚步上传失败,否则上报当前执行进度,提示安装包及安装脚步上传成功并执行下一步骤。
g、执行软件安装检测。通过带内IP及SSH协议远程执行安装脚本。若执行失败则上报安装失败,提示信息为安装执行失败,否则上报安装完成,提示安装成功。
通过上述的优选方案,将安装进程清楚、明确地划分为多个不同阶段,为安装进度的划分提供了一种可行的实施方式,便于返回实施安装进度至前端以供用户查看,更有利于提高用户的实验体验感的同时,保证了采集软件的安装效率。
本申请所提供的一种服务器带内采集软件批量安装方法,通过线程池中的线程实现采集软件的自动安装,代替了传统的人工手动的安装方式,提高了安装效率。另外,还基于WebSocket协议建立数据传输通道,实现前端和后台的持续性连接,后台可实时将安装进度通过数据传输通道返回至前端,以供用户随时查看。在保证了采集软件的安装效率的同时,满足了用户实时查看安装进度的需要,优化了用户的使用体验,使得物理基础设施管理平台更适应于实际需要,进一步提高了竞争力。
考虑到在实际应用中,线程池所能支持的最大线程数可能不足以同时进行全部采集软件的安装,所以在进行安装时,可以通过设置一个队列,将未分配至线程执行的安装任务存起来,当有线程执行完毕释放资源后,在从队列中取出任务并分配至相应的线程,以高效率地完成采集软件于服务器的安装。因此,对于采集软件的安装过程来说,线程的流转性也就十分重要,若线程长时间阻塞,则会极大地影响采集软件的安装效率。
基于此,本实施例提供了一种优选的实施方案,上述方法还包括:
对各线程的执行时间分别进行计时,当线程的执行时间超过预设的时间阈值时,终止执行线程。
为了对线程池中全部处于执行状态的线程进行计时监控,可通过多个线程并行进行监视,从而在上述完成采集软件安装的线程执行时间超过预设的时间阈值时,计时停止线程的执行,并释放相应的资源,以进行后续的安装任务,提高了采集软件安装的效率。
本实施例通过对各线程的执行时间进行计时,并与预设的时间阈值进行比较,从而确定各线程的执行时间是否超时、是否发生阻塞现象。并在出现超时现象后将线程释放,以释放运行资源,以供后续的采集软件安装任务的执行,提高了安装效率。
但是,通过多个线程并行检测执行安装任务的线程的执行时间过于浪费运行资源,这部分运行资源用在实现采集软件的安装能更好地提高安装效率和速度,更适应于用户的实际需要。
所以,本实施例在上述实施例的基础上,还提供一种优选的实施方案,如图2所示,对各线程的执行时间分别进行计时,当线程的执行时间超过预设的时间阈值时,终止执行线程具体为:
S21:当各线程开始执行时,记录开始时间,并将线程根据预设的顺序,依次放入阻塞队列中。
一般而言,上述的预设顺序即为时间顺序,所以线程可根据开始时间的先后顺序,依次放入阻塞队列中,以进行后续的步骤完成执行时间的监控。
需要注意的是,上述阻塞队列为一个先入先出队列,先放进阻塞队列中的线程先出来,也即取出线程只能从队首取出,放入线程只能从队尾放入,以实现根据一定顺序依次轮询阻塞队列放入线程的效果。
但在一种可能的实施方式中,为便于统计各线程的开始执行时间,本实施例提供一种优选的实施方案,上述的根据服务器ID列表建立相应数量的线程,并将线程提交至线程池以执行具体为:
待全部线程建立完毕后,将线程一同提交至线程池以执行。
由上述实施例可知,线程在建立完之后需要提交至线程池中以执行,所以线程提交至线程池中的时间可近似认为是线程执行的开始时间。通过上述的优选实施方案,所有线程一同提交至线程池,以获得相同的执行时间,在线程的执行时间监控中,无需获取每一线程的开始时间并存储以进行后续的比较,只需获取一个开始时间即可,也无需针对不同线程从存储介质中调取相应的开始时间参与比较,简化了监控流程,也提高了采集软件的安装效率。
在上述实施例对应的应用场景中,各个线程的开始时间都是相同的,于是上述的预设顺序可以为线程建立的先后顺序,为简化步骤,可以当一个线程建立完毕后即放入上述的阻塞队列中以进行监控。
S22:轮询阻塞队列,并比较当前时间与当前线程开始时间的差值与时间阈值的大小关系,以判断当前线程是否超时,若是,则转至步骤S23,若否,则转至步骤S24。
由上述可知,阻塞队列为一个先入先出队列,从队首取出线程以判断其开始时间和当前时间的差值是否超过预设的时间阈值,从而确定当前线程是否执行超时。
容易理解的是,像实现上述采集任务安装过程的物理基础设施管理平台通常都有自己的系统时间,而其系统时间又通常由当地时间所确定,作为在该平台内运行的所有程序或线程的统一时间,所以上述的当前时间也即为后台当前的系统时间。同样的,开始时间的确定也需要以相同的基准时间所确定,也即根据系统时间确定。
另外,还需要进行说明的是,在判断线程执行时间是否超时之前,需先判断当前线程是否执行完毕,若执行完毕则无需判断是否超时,将其从阻塞队列中释放,以备后续的安装任务的执行即可。
S23:终止执行线程,并从阻塞队列中释放线程。
S24:将线程插入至阻塞队列的队尾以继续轮询。
当线程的执行时间超过预设的时间阈值时,说明当前线程执行时间过长,可能出现故障导致堵塞,为释放运行资源以供其他安装任务的进行,采用终止线程执行并释放线程的方式实现,可通过另建立线程的方式支持其他安装任务的进行。因此,阻塞队列中的线程也相应的进行释放。
对于线程执行时间未超时的情况,则仍需进行后续的监控,由于阻塞队列先入先出的特性,将该线程插入到阻塞队列中的队尾,以此顺序轮询完成对所有线程的超时监控。
本实施例通过一个阻塞队列实现多个线程的轮询监控,同一时间仅对一个线程进行执行时间和预设时间阈值的比较,实现仅需一个监控进程,即可对多个执行安装任务的线程进行超时监控的效果,既保证了对所有线程实现了超时监控,又节省了运行资源,仅通过一个监控线程即可实现,进一步节省了运行资源,节省出的运行资源可以使用在执行安装任务的线程中,以更进一步地提高采集软件的安装效率。
由上述实施例可知,在采集软件的安装进程中,存在一种对于服务器执行状态的检测,需要根据历史安装结果判断当前服务器是否已经安装了采集软件,从而避免重复安装。所以,本实施例提供一种关于历史安装结果的优选方案,上述方法在终止执行线程之后,还包括:
返回超时信息至前端,并确定安装结果为安装失败。
除去本实施例的关于安装结果为安装失败的实施方案之外,也包括上述安装进程中各项检测不通过时判定安装结果为安装失败的实施方式。
同理,本实施例还提供另一种关于历史结果的实施方案,上述方法还包括:
当线程执行完毕、实现采集软件的安装后,确定安装结果为安装成功;
将安装结果保存在存储介质中。
本实施例通过对安装结果的成功和失败提供了一种判定方式,并将安装结果存储至存储介质中,以作为历史安装结果保存,可供用户随时调阅查询。并且在特定的应用场景中,可作为安装状态的获知方式供平台进行调取,以判断当前服务器是否已安装了采集软件,从而避免重复安装所带来的资源浪费以及效率降低。
为进一步说明本申请所提供的一种服务器带内采集软件批量安装方法,下面结合实例从具体实施的角度进行说明:
上述方法可通过如图3所示的装置实现,包括:设备管理器31、执行器32、接收器33和监视器34。
其中,设备管理器31与执行器32和接收器33连接,用于:
1)接收用户输入的指令,筛选需要执行带内采集软件安装部署的服务器列表,并将服务器ID列表发送至执行器32。
2)开启WebSocket会话,建立数据传输通道,并将相应的数据传输通道注册到接收器33中,等待接收器33向该数据传输通道推送相应服务器软件的安装进度数据,并返回至前端显示给用户。
执行器32与接收器33和监视器34连接,用于:
1)根据设备管理器31下发的服务器ID列表建立对应数量的线程,并提交至内置的线程池中,以执行采集软件的安装。
2)将建立好的线程提交至监视器34的阻塞队列中,以进行执行时间是否超时的监控和判断,并采取相应的释放线程以及将线程插入至队尾等操作。
3)实现参数预备、执行状态检测、执行设备及SSH协议连通性检测、执行设备信息匹配检测、执行操作系统识别检测、执行安装包及安装脚步上传检测、执行软件安装检测等。
接收器33用于:
1)将执行器32上报的各服务器的实时安装进度信息存储至内置的阻塞队列中,并根据服务器ID分别通过相应的数据传输通道返回实时安装进度信息至对应的用户或前端。
2)若实时安装进度信息为某一服务器的最终执行结果,也即安装成功或安装失败,将其上报给设备管理器31以作为历史记录存储,以供用户后续查询调看。
监视器34用于:
1)从阻塞队列中取出线程,判断当前线程是否执行完成,若未完成则进行下一步的超时判断,若完成则释放相应线程。
2)计算线程的执行时间,具体为当前时间减去线程体执行的开始时间。当执行时间大于预设的时间阈值时,则通知线程终止执行,并上报安装失败、提示执行超时。若未超时,则将该线程插入到阻塞队列的队尾继续轮询。
上述的各装置以及其对应的连接关系、数据传输关系如图3所示,具体内容已在上述实施例中清楚、详细地做出了说明,故在此不做赘述。
在上述实施例中,对于一种服务器带内采集软件批量安装方法进行了详细描述,本申请还提供一种服务器带内采集软件批量安装装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,如图4所示,本实施例提供一种服务器带内采集软件批量安装装置,包括:
通道建立模块41,用于基于WebSocket协议建立与前端之间的数据传输通道;
信息接收模块42,用于接收由前端发送的服务器ID列表;
软件安装模块43,用于根据服务器ID列表建立相应数量的线程,并将线程提交至线程池以执行;其中,线程在被执行时,用于实现采集软件的安装;
进度反馈模块44,用于实时获取各线程的安装进度,并通过数据传输通道返回至前端。
优选的,还包括:
超时监控模块,用于对各线程的执行时间分别进行计时,当线程的执行时间超过预设的时间阈值时,终止执行线程。
超时提示模块,用于返回超时信息至前端,并确定安装结果为安装失败。
结果存储模块,用于当线程执行完毕、实现采集软件的安装后,确定安装结果为安装成功;将安装结果保存在存储介质中。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的一种服务器带内采集软件批量安装装置,软件安装模块通过线程池中的线程实现采集软件的自动安装,代替了传统的人工手动的安装方式,提高了安装效率。另外,还通过通道建立模块基于WebSocket协议建立数据传输通道,实现前端和后台的持续性连接,后台可实时通过进度反馈模块将安装进度通过数据传输通道返回至前端,以供用户随时查看。在保证了采集软件的安装效率的同时,满足了用户实时查看安装进度的需要,优化了用户的使用体验,使得物理基础设施管理平台更适应于实际需要,进一步提高了竞争力。
图5为本申请另一实施例提供的一种服务器带内采集软件批量安装装置的结构图,如图5所示,一种服务器带内采集软件批量安装装置包括:存储器50,用于存储计算机程序;
处理器51,用于执行计算机程序时实现如上述实施例一种服务器带内采集软件批量安装方法的步骤。
本实施例提供的一种服务器带内采集软件批量安装装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的一种服务器带内采集软件批量安装方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于一种服务器带内采集软件批量安装方法等。
在一些实施例中,一种服务器带内采集软件批量安装装置还可包括有显示屏52、输入输出接口53、通信接口54、电源55以及通信总线56。
本领域技术人员可以理解,图5中示出的结构并不构成对一种服务器带内采集软件批量安装装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的一种服务器带内采集软件批量安装装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:一种服务器带内采集软件批量安装方法。
本实施例所提供的一种服务器带内采集软件批量安装装置,通过处理器执行保存在存储器中的计算机程序,实现以线程池中的线程实现采集软件的自动安装,代替了传统的人工手动的安装方式,提高了安装效率。另外,还基于WebSocket协议建立数据传输通道,实现前端和后台的持续性连接,后台可实时将安装进度通过数据传输通道返回至前端,以供用户随时查看。在保证了采集软件的安装效率的同时,满足了用户实时查看安装进度的需要,优化了用户的使用体验,使得物理基础设施管理平台更适应于实际需要,进一步提高了竞争力。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所提供的一种计算机可读取存储介质,但其中存储的计算机程序被执行时,可以实现以线程池中的线程实现采集软件的自动安装,代替了传统的人工手动的安装方式,提高了安装效率。另外,还基于WebSocket协议建立数据传输通道,实现前端和后台的持续性连接,后台可实时将安装进度通过数据传输通道返回至前端,以供用户随时查看。在保证了采集软件的安装效率的同时,满足了用户实时查看安装进度的需要,优化了用户的使用体验,使得物理基础设施管理平台更适应于实际需要,进一步提高了竞争力。
以上对本申请所提供的一种服务器带内采集软件批量安装方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种服务器带内采集软件批量安装方法,其特征在于,包括:
基于WebSocket协议建立与前端之间的数据传输通道;
接收由所述前端发送的服务器ID列表;
根据所述服务器ID列表建立相应数量的线程,并将所述线程提交至线程池以执行;其中,所述线程在被执行时,用于实现采集软件的安装;
实时获取各所述线程的安装进度,并通过所述数据传输通道返回至所述前端。
2.根据权利要求1所述的服务器带内采集软件批量安装方法,其特征在于,还包括:
对各所述线程的执行时间分别进行计时,当所述线程的执行时间超过预设的时间阈值时,终止执行所述线程。
3.根据权利要求2所述的服务器带内采集软件批量安装方法,其特征在于,对各所述线程的执行时间分别进行计时,当所述线程的执行时间超过预设的时间阈值时,终止执行所述线程包括:
当各所述线程开始执行时,记录开始时间,并将所述线程根据预设的顺序,依次放入阻塞队列中;
轮询所述阻塞队列,并比较当前时间与当前所述线程所述开始时间的差值与所述时间阈值的大小关系,以判断当前所述线程是否超时;
若所述线程超时,终止执行所述线程,并从所述阻塞队列中释放所述线程;
若所述线程未超时,则将所述线程插入至所述阻塞队列的队尾,以继续轮询。
4.根据权利要求2或3所述的服务器带内采集软件批量安装方法,其特征在于,在终止执行所述线程之后,还包括:
返回超时信息至所述前端,并确定安装结果为安装失败。
5.根据权利要求4所述的服务器带内采集软件批量安装方法,其特征在于,还包括:
当所述线程执行完毕、实现所述采集软件的安装后,确定所述安装结果为安装成功;
将所述安装结果保存在存储介质中。
6.根据权利要求1所述的服务器带内采集软件批量安装方法,其特征在于,所述线程池为线程优先的线程池。
7.根据权利要求3所述的服务器带内采集软件批量安装方法,其特征在于,根据所述服务器ID列表建立相应数量的线程,并将所述线程提交至线程池以执行包括:
待全部所述线程建立完毕后,将所述线程一同提交至所述线程池以执行。
8.一种服务器带内采集软件批量安装装置,其特征在于,包括:
通道建立模块,用于基于WebSocket协议建立与前端之间的数据传输通道;
信息接收模块,用于接收由所述前端发送的服务器ID列表;
软件安装模块,用于根据所述服务器ID列表建立相应数量的线程,并将所述线程提交至线程池以执行;其中,所述线程在被执行时,用于实现采集软件的安装;
进度反馈模块,用于实时获取各所述线程的安装进度,并通过所述数据传输通道返回至所述前端。
9.一种服务器带内采集软件批量安装装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的服务器带内采集软件批量安装方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的服务器带内采集软件批量安装方法的步骤。
CN202210878563.5A 2022-07-25 2022-07-25 一种服务器带内采集软件批量安装方法、装置及介质 Pending CN115145606A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210878563.5A CN115145606A (zh) 2022-07-25 2022-07-25 一种服务器带内采集软件批量安装方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210878563.5A CN115145606A (zh) 2022-07-25 2022-07-25 一种服务器带内采集软件批量安装方法、装置及介质

Publications (1)

Publication Number Publication Date
CN115145606A true CN115145606A (zh) 2022-10-04

Family

ID=83415051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210878563.5A Pending CN115145606A (zh) 2022-07-25 2022-07-25 一种服务器带内采集软件批量安装方法、装置及介质

Country Status (1)

Country Link
CN (1) CN115145606A (zh)

Similar Documents

Publication Publication Date Title
CN111782360A (zh) 分布式任务调度方法及装置
CN103955381B (zh) 管理服务器对终端设备进行批量软件升级方法与系统
RU2020129947A (ru) Очистка ресурса безоперационной системы до доверенного состояния, пригодная для использования в облачных вычислениях
CN108430116A (zh) 断网重连方法、介质、装置和计算设备
CN113765714B (zh) 设备配网方法、装置、存储介质及电子设备
CN107870948A (zh) 任务调度方法和装置
CN113590337B (zh) 一种云环境下自动调整云主机配置的方法及装置
CN108243222A (zh) 服务器网络架构方法及装置
CN109921915A (zh) 测试实时时钟模块唤醒功能的方法、装置及电子设备
CN115827111B (zh) 服务器启动项的调整方法和装置、存储介质及电子装置
CN103593293A (zh) 一种并行自动化测试方法
CN115145606A (zh) 一种服务器带内采集软件批量安装方法、装置及介质
CN109408104B (zh) 一种获取游戏整合信息的方法及装置
CN115437865A (zh) 一种硬盘异常掉电测试方法、装置、设备及介质
CN112925713B (zh) 业务测试方法、装置、系统、存储介质和计算机设备
CN113867806A (zh) 一种带内修改bios选项的同步方法及系统
CN113918459A (zh) 一种用于脚本性能测试的自探测方法
CN116260747A (zh) 终端测试设备的监测方法、装置及电子设备
CN108924013B (zh) 网络流量精确采集方法及装置
CN110581786A (zh) Ncsi网络连通稳定性的测试方法、装置、系统及介质
CN112532403B (zh) 网元适配的驱动服务装置、网元适配方法及系统
CN115599722B (zh) 基于操作系统内核实现串口数据精准传输的方法和装置
CN116820658B (zh) 一种云应用页面渲染方法、装置、设备及存储介质
CN114095310B (zh) 物联网智能网关云边协同管理方法、装置、设备及介质
CN117880303A (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