一种基于软件的远程管理方法、装置及设备与流程

文档序号:21318673发布日期:2020-06-30 20:49阅读:283来源:国知局
一种基于软件的远程管理方法、装置及设备与流程

本发明涉及应用软件技术领域,特别是指一种基于软件的远程管理方法、装置及设备。



背景技术:

目前,各种应用软件方便了人们的生活。比如,在教学场景中,可以使用应用软件统计学生的成绩,在公司场景中,可以使用应用软件记录员工的考勤等等。对于一些软件供应商来说,将软件安装在用户使用的设备中之后,需要对这些软件进行管理,比如故障修复、更新、或者升级等等。

现有方案中,在将同一供应商的软件安装在不同设备后,只能依靠该供应商的技术人员前往设备所在地,手动对设备进行相关的管理操作。技术人员前往设备所在地耗费较多人力及时间,因此,亟需一种对设备进行远程管理的方案。



技术实现要素:

有鉴于此,本发明的目的在于提出一种基于软件的远程管理方法、装置及设备,以提供一种对设备进行远程管理的方案。

基于上述目的,本发明提供了一种基于软件的远程管理方法,应用于终端设备,所述终端设备中运行第一容器引擎;所述终端设备与云端服务器通信连接,所述云端服务器中运行第二容器引擎;所述终端设备与所述云端服务器之间通过所述第一容器引擎和所述第二容器引擎进行通讯;所述方法包括:

通过所述第一容器引擎,接收所述云端服务器发送的管理指令;

在所述第一容器引擎装载的执行组件中,确定所述管理指令对应的执行组件,作为待执行组件;

通过运行所述待执行组件,执行所述管理指令。

优选地,所述管理指令为升级指令;所述方法还包括:

从所述云端服务器中获取所述升级指令对应的升级文件包;

所述通过运行所述待执行组件,执行所述管理指令,包括:

通过运行所述待执行组件,对所述升级文件包进行解压,得到升级文件,并将所述升级文件安装至所述终端设备。

更优选地,所述升级指令中包括升级时间;所述方法还包括:

判断当前时刻是否到达所述升级时间,如果到达,执行所述通过运行所述待执行组件,对所述升级文件包进行解压,得到升级文件,并将所述升级文件安装至所述终端设备的步骤。

优选地,所述管理指令为备份指令;所述通过运行所述待执行组件,执行所述管理指令,包括:

获取所述终端设备的备份数据;

将所述备份数据进行压缩,得到压缩后的备份数据;

将所述压缩后的备份数据存储至所述终端设备中的预设存储区域,并且将所述压缩后的备份数据发送至所述云端服务器。

基于相同的发明构思,本发明提供了一种基于软件的远程管理方法,应用于云端服务器,所述云端服务器中运行第二容器引擎;所述云端服务器与终端设备通信连接,所述终端设备中运行第一容器引擎;所述终端设备与所述云端服务器之间通过所述第一容器引擎和所述第二容器引擎进行通信;所述方法包括:

通过所述第二容器引擎,向所述终端设备发送管理指令,以使所述终端设备在所述第一容器引擎装载的执行组件中,确定所述管理指令对应的执行组件,作为待执行组件;通过运行所述待执行组件,执行所述管理指令。

优选地,所述方法还包括:

获取多台终端设备的分布信息;

将所获取的分布信息展示在预设电子地图中。

基于相同的发明构思,本发明提供了一种基于软件的远程管理装置,应用于终端设备,所述终端设备中运行第一容器引擎;所述终端设备与云端服务器通信连接,所述云端服务器中运行第二容器引擎;所述终端设备与所述云端服务器之间通过所述第一容器引擎和所述第二容器引擎进行通信;所述装置包括:

接收模块,用于通过所述第一容器引擎,接收所述云端服务器发送的管理指令;

待执行组件确定模块,用于在所述第一容器引擎装载的执行组件中,确定所述管理指令对应的执行组件,作为待执行组件;

执行模块,用于通过运行所述待执行组件,执行所述管理指令。

优选地,所述管理指令为升级指令;所述装置还包括:

升级文件包获取模块,用于从所述云端服务器中获取所述升级指令对应的升级文件包;

所述执行模块包括:

升级指令执行单元,用于通过运行所述待执行组件,对所述升级文件包进行解压,得到升级文件,并将所述升级文件安装至所述终端设备。

更优选地,所述升级指令中包括升级时间;所述装置还包括:

时间判断模块,用于判断当前时刻是否到达所述升级时间,如果到达,执行所述通过运行所述待执行组件,对所述升级文件包进行解压,得到升级文件,并将所述升级文件安装至所述终端设备的步骤。

优选地,所述管理指令为备份指令;所述执行模块包括:

备份数据获取单元,用于获取所述终端设备的备份数据;

备份数据压缩单元,用于将所述备份数据进行压缩,得到压缩后的备份数据;

存储及发送单元,用于将所述压缩后的备份数据存储至所述终端设备中的预设存储区域,并且将所述压缩后的备份数据发送至所述云端服务器。

基于相同的发明构思,本发明还提供了一种基于软件的远程管理装置,应用于云端服务器,所述云端服务器中运行第二容器引擎;所述云端服务器和终端设备通信连接,所述终端设备中运行第一容器引擎;所述终端设备和所述云端服务器之间通过所述第一容器引擎和所述第二容器引擎进行通信;所述装置包括:

发送模块,用于通过所述第二容器引擎,向所述终端设备发送管理指令,以使所述终端设备在所述第一容器引擎装载的执行组件中,确定所述管理指令对应的执行组件,作为待执行组件;通过运行所述待执行组件,执行所述管理指令。

优选地,所述装置还包括:

获取模块,用于获取多台终端设备的分布信息;

展示模块,用于将所获取的分布信息展示在预设电子地图中。

基于相同的发明构思,本发明还提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述的应用于终端设备的基于软件的远程管理方法。

基于相同的发明构思,本发明还提供了一种云端服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述的应用于云端服务器的基于软件的远程管理方法。

从上面所述可以看出,本发明提供的一种基于软件的远程管理方法、装置及设备,终端设备通过第一容器引擎接收云端服务器发送的管理指令,然后在第一容器引擎装载的执行组件中确定管理指令对应的待执行组件,最后通过运行待执行组件,执行管理指令;可见,本方案中,云端服务器与终端设备之间通过容器引擎进行通信,云端服务器与终端设备的地理位置不受限制,云端服务器可以对终端设备进行远程管理,这样,便不需要技术人员前往设备所在地,节省了人力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的应用于终端设备的基于软件的远程管理方法流程示意图;

图2为本发明实施例提供的应用于终端设备的基于软件的远程管理装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

为了解决上述技术问题,本发明实施例提供了一种应用于终端设备的基于软件的远程管理方法及装置,该终端设备可以为手机、平板电脑、交互式显示屏、触控一体机、电子黑板、电子白板、智能交互大屏或智能穿戴设备等等,具体不做限定。本发明实施例还提供了一种应用于云端服务器的基于软件的远程管理方法及装置。

终端设备和云端服务器中均配置有linux系统,为了区分描述,将终端设备中配置的linux系统称为第一linux系统,将云端服务器中配置的linux系统称为第二linux系统。两种linux系统中均运行容器引擎,为了区分描述,将第一linux系统中运行的容器引擎称为第一容器引擎;将第二linux系统中运行的容器引擎称为第二容器引擎。终端设备与云端服务器之间通过第一容器引擎和第二容器引擎进行通信。

下面首先对应用于终端设备的基于软件的远程管理方法进行详细说明。

图1为本发明实施例提供的应用于终端设备的基于软件的远程管理方法流程示意图,包括:

s10、通过第一容器引擎,接收云端服务器发送的管理指令;

云端服务器通过第二容器引擎向终端设备发送管理指令,终端设备通过第一容器引擎接收云端服务器发送的管理指令;即终端设备与云端服务器之间通过第一容器引擎和第二容器引擎实现通信连接。

举例来说,本实施例中的容器引擎可以为docker,docker可以为运行在linux系统上的应用容器引擎。一个linux系统内可以运行多个容器引擎,不同容器引擎之间可以进行通信。一般来说,不同容器引擎之间的耦合度较小,即不同容器引擎内装载的执行组件可以独立运行,通过容器引擎进行通信,能够降低通信错误率,提高通信质量。

例如,将教学中应用的教学软件安装到各地不同学校的各台终端设备上,这种情况下,可以将终端设备称为校本服务器,为了区分描述,将校本服务器上的docker称为第一docker,将云端服务器上的docker称为第二docker。应用本发明实施例,采用云端服务器对部署在各地学校的校本服务器进行统一远程管理。比如,可以将公网管理平台部署在云端服务器上,将提升教学质量的项目平台分别部署在各地不同的校本服务器上;不同校本服务器上部署的教学项目平台分别装载在不同校本服务器的第一docker中,不同校本服务器上的第一docker分别运行在对应的校本服务器配置的第一linux系统内,公网管理平台装载在云端服务器的第二docker中,第二docker运行在云端服务器配置的第二linux系统内。同一校本服务器的不同项目平台分别装载在不同的docker内,各项目平台之间能够通信但耦合度较小。云端服务器通过第二docker向校本服务器发送管理指令,校本服务器通过第一docker接收云端服务器发送的管理指令。

s20、在第一容器引擎装载的执行组件中,确定管理指令对应的执行组件,作为待执行组件;

终端设备通过第一容器引擎接收云端服务器通过第二容器引擎发送的管理指令后,终端设备在第一容器引擎装载的执行组件中确定s10中管理指令对应的执行组件,作为待执行组件。

举例来说,云端服务器可以对终端设备进行多种类型的管理,比如升级管理、备份管理等;相应地,管理指令可以有多种类型,比如升级指令、备份指令等;第一容器引擎中预先装载有各种管理指令对应的执行组件。在终端设备接收到管理指令后,可以解析该管理指令的类型,基于解析结果,在第一容器引擎装载的执行组件中确定出待执行组件。

延续上述例子,点名软件广泛应用在教学中,比如,应用点名软件可以对学生的出勤情况进行统计;以对点名软件进行升级为例来说,将针对点名软件进行升级的指令称为升级点名软件指令;校本服务器接收云端服务器通过第一docker发送的升级点名软件指令后,校本服务器在第一docker内的执行组件中确定与升级点名软件指令对应的执行组件,作为待执行组件。

s30、通过运行待执行组件,执行管理指令;

终端服务器通过运行步s20中确定的待执行组件,执行s10中云端服务器向终端设备发送的管理指令。

延续上述例子,校本服务器通过运行s20中确定的待执行组件,执行s10中云端服务器向校本服务器发送的升级点名软件指令。

一种情况下,终端设备也可以通过第一容器引擎主动上报数据至云端服务器。比如,终端设备可以通过第一容器引擎将应用软件的升级结果上报至云端服务器,也可以通过第一容器引擎将应用软件的配置属性等信息上报至云端服务器,以方便云端服务器对终端设备的管理。

一种实施方式中,管理指令为升级指令,还可以从云端服务器中获取升级指令对应的升级文件包;这种实施方式中,s30可以包括:通过运行待执行组件,对升级文件包进行解压,得到升级文件,并将升级文件安装至终端设备。

在云端服务器向终端设备发送的管理指令为升级指令的情况下,终端设备接收到云端服务器发送的升级指令后,从云端服务器中获取升级指令对应的升级文件包。终端设备可以通过多种方式获取升级文件包,比如,终端服务器可以在接收到升级指令后,到指定位置下载升级文件包,该指定位置可以为云端服务器,也可以为云端服务器以外的其他设备;终端服务器也可以在接收到升级指令后,向云端服务器发送升级文件包获取请求,云端服务器接收升级文件包获取请求后向终端服务器发送升级指令对应的升级文件包。终端设备获取升级文件包后,运行s20中确定的待执行组件,对获取的升级文件包进行解压得到升级文件,并将解压得到的升级文件安装至终端设备。一种情况下,云端服务器能够向部署在各地的终端设备同时发送升级指令,以使部署在各地的终端设备均进行升级,实现云端服务器对部署在各地的终端设备的统一管理。云端服务器也可以针对单个终端设备发送升级指令,管理更加细致和便利。云端设备还提供对升级文件包的管理和升级迭代更新的记录,能够更直观的体现终端设备的升级情况和升级内容。

延续上述例子,云端服务器通过http请求对校本服务器发送升级点名软件指令,校本服务器接收到云端服务器发送的升级点名软件指令后,根据升级点名软件指令的版本信息,从云端服务器下载升级点名软件指令对应的升级点名软件文件包;校本服务器获得升级点名软件文件包后,首先对升级点名软件文件包进行完整性和有效性校验,如果升级点名软件文件包没有通过完整性和有效性校验,则将校验结果反馈至云端服务器;如果升级点名软件文件包通过完整性和有效性校验,则校本服务器运行第一docker内的待执行组件,对获取的升级点名软件文件包进行解压得到升级点名软件文件,并将解压得到的升级点名软件文件安装至校本服务器。一种情况下,针对单个校本服务器,云端服务器可以提供数据备份、版本升级以及数据信息统计等功能,对校本服务器进行公网ip配置后,云端服务器即可以对校本服务器进行维护管理,通过http请求进行通信。

一种实施方式中,升级指令中还可以包括升级时间;这种实施方式中,可以判断当前时刻是否到达升级时间,如果到达,执行所述通过运行待执行组件,对升级文件包进行解压,得到升级文件,并将升级文件安装至终端设备的步骤。

终端设备接收的升级指令中包括升级时间,升级时间和用户使用终端设备的时间段错开,以减少终端设备执行升级指令与用户使用终端设备发生冲突的情况以及各终端设备之间发生升级冲突的情况。终端设备接收到云端服务器发送的升级指令后,从云端服务器中获取升级指令对应的升级文件包,然后判断当前时刻是否达到升级指令中包括的升级时间,如果当前时刻达到升级时间,则终端设备运行s20中确定的待执行组件,对获取的升级文件包进行解压得到升级文件,并将解压得到的升级文件安装至终端设备。

延续上述例子,校本服务器接收的升级点名软件指令中包括升级点名软件时间,升级点名软件时间和学校对校本服务器的使用时间错开,防止校本服务器执行升级点名软件指令与用户使用校本服务器发生冲突。校本服务器接收到云端服务器发送的升级点名软件指令后,根据升级点名软件指令的版本信息,从云端服务器下载升级点名软件指令对应的升级点名软件文件包;判断当前时刻是否达到升级点名软件时间,如果到达升级点名软件时间,校本服务器运行第一docker内的待执行组件,对获取的升级点名软件文件包进行解压得到升级点名软件文件,将解压得到的升级点名软件文件安装至校本服务器进行升级,并将升级点名软件指令的执行结果通过http请求反馈至云端服务器。

一种情况下,校本服务器获取升级点名软件文件包后,可以根据升级点名软件时间创建定时任务,设置定时任务执行时间,即指定终端设备在特定的时间或按照特定的周期升级点名软件;判断当前时刻是否达到定时任务执行时间,如果到达定时任务执行时间,校本服务器运行第一docker内的待执行组件,对获取的升级点名软件文件包进行解压得到升级点名软件文件,将解压得到的升级点名软件文件安装至校本服务器进行升级,并将升级点名软件指令的执行结果通过http请求反馈至云端服务器。举例来说,待执行组件为shell脚本。

作为一种实施方式,管理指令为备份指令;s30可以包括:获取终端设备的备份数据;将备份数据进行压缩,得到压缩后的备份数据;将压缩后的备份数据存储至终端设备的预设存储区域,并且将压缩后的备份数据发送至云端服务器。

当云端服务器向终端设备发送的管理指令为备份指令时,终端设备接收到云端服务器发送的备份指令后,获取终端设备的备份数据,然后将备份数据进行压缩,得到压缩后的备份数据,然后将压缩后的备份数据存储在终端设备中预设存储区域,并且将压缩后的备份数据发送至云端服务器,即将压缩后的备份数据同时备份在终端设备和云端服务器中,对压缩后的备份数据实现双备份,保证终端设备的数据安全性。一种情况下,云端服务器能够向部署在各地的终端设备同时发送备份指令,以使部署在各地的终端设备均进行数据备份,实现云端服务器对部署在各地的终端设备的统一管理。云端服务器也可以针对单个终端设备发送备份指令,进行特定管理。

延续上述例子,云端服务器通过http请求向校本服务器发送数据备份指令,校本服务器接收到数据备份指令后,获取校本服务器备份数据;如果终端设备备份数据失败,则将备份结果反馈至云端服务器;如果终端设备成功备份数据,则将校本服务器备份数据进行压缩得到压缩后的校本服务器备份数据;校本服务器将压缩后的校本服务器备份数据存储在校本服务器预设存储区,并且通过http请求将压缩后的校本服务器备份数据发送至云端服务器,实现压缩后的校本服务器备份数据在云端服务器和校本服务器的双重备份,保证校本服务器的数据安全性。

在本发明的一个实施例中,提供了应用于云端服务器的基于软件的远程管理方法,包括:

通过第二容器引擎,向终端设备发送管理指令,以使终端设备在第一容器引擎装载的执行组件中,确定管理指令对应的执行组件,作为待执行组件;通过运行待执行组件,执行管理指令。

云端服务器通过第二容器引擎向终端设备发送管理指令,终端设备通过第一容器引擎接收云端服务器发送的管理指令;即终端设备与云端服务器之间通过第一容器引擎和第二容器引擎实现通信连接;云端服务器的第二容器引擎可以对各终端设备的第一容器引擎进行统一管理。

举例来说,本实施例中的容器引擎可以为docker,docker可以为运行在linux系统上的应用容器引擎。一个linux系统内可以运行多个容器引擎,不同容器引擎之间可以进行通信。一般来说,不同容器引擎之间的耦合度较小,即不同容器引擎内装载的执行组件可以独立运行,通过容器引擎进行通信,能够降低通信错误率,提高通信质量。

云端服务器通过第二容器引擎向终端设备发送管理指令,终端设备接到管理指令后在第一容器引擎装载的执行组件中,确定接收的管理指令对应的执行组件作为待执行组件;然后通过运行待执行组件执行管理指令。

一种实施方式中,还可以获取多台终端设备的分布信息;将所获取的分布信息展示在预设电子地图中。

云端服务器获取多台终端设备的分布信息,然后将获取的多台终端设备的分布信息展示在云端服务器内的预设电子地图中。一种情况下,分布信息包括各地部署的终端设备的数量、各地终端设备的分布情况等。将多台终端设备的分布情况详细展示在预设电子地图中,以便于对各地部署的终端设备进行检索。

延续上述例子,云端服务器获取部署在各地学校的校本服务器的数量、校本服务器的分布情况以及校本服务器的第二docker内装载的教学项目及教学项目内用到的设备数量等情况,并将上述情况展示在云端服务器的电子地图中,提供对部署在各地的校本服务器的检索功能。比如,通过检索电子地图,可以准确快速的获得部署在北京地区学校的校本服务器数量、分布情况以及校本服务器内装载的教学项目等信息。

图2为本发明实施例提供的应用于终端设备的基于软件的远程管理装置结构示意图,包括:

接收模块201,用于通过第一容器引擎,接收云端服务器发送的管理指令;

待执行组件确定模块202,用于在第一容器引擎装载的执行组件中,确定管理指令对应的执行组件,作为待执行组件;

执行模块203,用于通过运行待执行组件,执行管理指令。

在一种实施方式中,管理指令为升级指令;还包括:升级文件包获取模块(图中未示出),用于从云端服务器中获取升级指令对应的升级文件包;

执行模块203包括:

升级指令执行单元,用于通过运行待执行组件,对升级文件包进行解压,得到升级文件,并将升级文件安装至终端设备。

作为一种实施方式,升级指令中包括升级时间;这种实施方式中,还包括:

时间判断模块(图中未示出),用于判断当前时刻是否到达升级时间,如果到达,执行所述通过运行待执行组件,对升级文件包进行解压,得到升级文件,并将升级文件安装至终端设备的步骤。

在一种实施方式中,管理指令为备份指令;执行模块203包括:

备份数据获取单元,用于获取终端设备的备份数据;

备份数据压缩单元,用于将备份数据进行压缩,得到压缩后的备份数据;

存储及发送单元,用于将压缩后的备份数据存储至终端设备中的预设存储区域,并且将压缩后的备份数据发送至云端服务器。

在本发明的又一实施例中,还提供了应用于云端服务器的基于软件的远程管理装置,包括:

发送模块,用于通过第二容器引擎,向终端设备发送管理指令,以使终端设备在第一容器引擎装载的执行组件中,确定管理指令对应的执行组件,作为待执行组件;通过运行待执行组件,执行管理指令。

在一种实施方式中,还包括:

获取模块,用于获取多台终端设备的分布信息;

展示模块,用于将所获取的分布信息展示在预设电子地图中。

上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

在本发明的一个实施例中,还提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述的应用于终端设备的基于软件的远程管理方法。

在本发明的一个实施例中,还提供了一种云端服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述的应用于云端服务器的基于软件的远程管理方法。

在本发明的一个实施例中,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任一所述方法。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1