一种软件分发安装方法、系统及存储介质与流程

文档序号:24073445发布日期:2021-02-26 16:16阅读:76来源:国知局
一种软件分发安装方法、系统及存储介质与流程

[0001]
本发明涉及计算机网络技术领域,尤其涉及一种软件分发安装方法、系统及存储介质。


背景技术:

[0002]
目前随着智慧校园的普及与推广,越来越多的学校引入多样化的业务终端为师生的校园生活带来便利,但是随着业务软件的种类以及版本的增加,业务软件供应商在不同的学校需要各自部署维护其软件系统,十分费时费力,并且不同学校的业务终端也无法做到统一的管理,为软件的运维进一步带来困难,降低了软件部署安装的效率。
[0003]
因此,现有技术还有待于改进和发展。


技术实现要素:

[0004]
鉴于上述现有技术的不足,本发明的目的在于提供一种软件分发安装方法、系统及存储介质,旨在解决现有技术中的不同学校的业务软件安装维护效率低成本高的问题。
[0005]
本发明的技术方案如下:
[0006]
一种软件分发安装方法,其包括如下步骤:
[0007]
各个学校的主服务器接收由云服务器推送的软件安装程序以及控制消息;
[0008]
所述主服务器通过每个学校的校内局域网向当前学校的各个业务终端分发所述软件安装程序和控制消息;
[0009]
根据所述控制消息以及软件安装程序在各个业务终端执行相应的操作。
[0010]
所述的软件分发安装方法中,所述各个学校的主服务器接收由云服务器推送的软件安装程序以及控制消息之前,还包括:
[0011]
预先在公网部署云服务器并在各个学校的校内局域网部署主服务器;
[0012]
在每个学校的所有业务终端内安装代理程序,所述代理程序用于根据接收到的控制消息在业务终端内执行相应的操作。
[0013]
所述的软件分发安装方法中,所述云服务器、主服务器以及业务终端之间通过消息列队进行通讯连接。
[0014]
所述的软件分发安装方法中,所述在每个学校的所有业务终端内安装代理程序,具体包括:
[0015]
在每个学校的所有业务终端内安装代理程序,同时创建具有管理员权限的计划任务,所述计划任务用于启动所述代理程序。
[0016]
所述的软件分发安装方法中,所述主服务器通过每个学校的校内局域网向当前学校的各个业务终端分发所述软件安装程序和控制消息,包括:
[0017]
所述主服务器通过每个学校的校内局域网向当前学校的各个业务终端发起软件分发指令;
[0018]
当接收到所述软件分发指令时通过各个业务终端内的计划任务启动并运行所述
代理程序;
[0019]
所述主服务器将所述软件安装程序和控制消息分发至各个业务终端的代理程序。
[0020]
所述的软件分发安装方法中,所述根据所述控制消息以及软件安装程序在各个业务终端执行相应的操作,包括:
[0021]
由各个业务终端内的代理程序对接收到的控制消息进行解析;
[0022]
根据解析结果以及当前各个业务终端内的软件版本执行安装、卸载或删除操作。
[0023]
所述的软件分发安装方法中,所述根据解析结果以及当前各个业务终端内的软件版本执行安装、卸载或删除操作,包括:
[0024]
当解析结果为安装时,将接收到的软件安装程序版本与当前业务终端内的软件版本进行对比,判断是否一致,若一致则对所述软件安装程序执行删除操作;若不一致则对所述软件安装程序执行安装操作;
[0025]
当解析结果为卸载时,对当前业务终端内的相应软件执行卸载操作。
[0026]
本发明又一实施例还提供了一种软件分发安装系统,所述系统包括至少一个处理器;以及,
[0027]
与所述至少一个处理器通信连接的存储器;其中,
[0028]
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述软件分发安装方法。
[0029]
本发明的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的软件分发安装方法。
[0030]
本发明的另一实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,使所述处理器执行上述的软件分发安装方法。
[0031]
有益效果:本发明公开了一种软件分发安装方法、系统及存储介质,相比于现有技术,本发明实施例通过分别部署云服务器以及各个学校的主服务器,在需要对各个学校的业务终端进行软件维护时,通过云服务器向各个主服务器推送软件安装程序以及控制消息,由每个学校的主服务器通过局域网进行软件分发,实现分布式服务器软件分发的同时也减轻了云服务的下载带宽占用,达到快速完成软件部署的效果,提高多间学校同时进行软件维护的效率。
附图说明
[0032]
下面将结合附图及实施例对本发明作进一步说明,附图中:
[0033]
图1为本发明提供的软件分发安装方法较佳实施例的流程图;
[0034]
图2为本发明提供的软件分发安装系统较佳实施例的硬件结构示意图。
具体实施方式
[0035]
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
[0036]
请参阅图1,图1为本发明提供的软件分发安装方法较佳实施例的流程图。如图1所示,其包括如下步骤:
[0037]
s100、各个学校的主服务器接收由云服务器推送的软件安装程序以及控制消息;
[0038]
s200、所述主服务器通过每个学校的校内局域网向当前学校的各个业务终端分发所述软件安装程序和控制消息;
[0039]
s300、根据所述控制消息以及软件安装程序在各个业务终端执行相应的操作。
[0040]
本实施例中,当需要对各个学校的多个业务终端进行软件维护时,通过各个学校的主服务器接收由云服务器推送的软件安装程序以及控制消息,之后缩水主服务器通过每个学校的校内局域网向当前学校的各个业务终端分发所述软件安装程序和控制消息,之后根据所述控制消息以及软件安装程序在各个业务终端执行相应的操作,实现不同学校多个业务终端的统一软件维护,无需软件供应商一一去到每所学校进行业务软件的运维,极大地提高了校园软件的维护安装效率。
[0041]
进一步地,所述各个学校的主服务器接收由云服务器推送的软件安装程序以及控制消息之前,还包括:
[0042]
预先在公网部署云服务器并在各个学校的校内局域网部署主服务器;
[0043]
在每个学校的所有业务终端内安装代理程序,所述代理程序用于根据接收到的控制消息在业务终端内执行相应的操作。
[0044]
本实施例中,预先在公网即广域网中部署云服务器,并且在各个学校的校内局域网部署主服务器,进一步在每个学校的所有业务终端内安装代理程序,所述代理程序用于根据接收到的控制消息在业务终端内执行相应的操作。即管理员可通过登陆公网的云服务器对各个学校的主服务器进行统一的控制消息传输以及软件安装程序的传输,每所学校均设置有一台主服务器,通过这台主服务器与每所学校内的多个业务终端进行通信,实现软件安装程序以及控制消息的进一步分发,通过安装在业务终端内的代理程序执行相应的软件操作,从而实现不同学校之间业务软件运维的统一控制管理,由于本发明中是通过设置在每个学校的主服务器进行软件的分发,而无需所有的业务终端一一从云服务器端下载数据,可减轻云服务的下载带宽占用,实现快速的软件部署效果,提高软件运维效率。
[0045]
具体地,所述云服务器、主服务器以及业务终端之间通过消息列队进行通讯连接。即本实施例中在公网部署的云服务器、在每个学校部署的主服务器、以及每个学校的业务终端之间通过消息列队的通讯方式实现通讯连接,进而实现分布式的数据分发,具体消息列队优选为基于stomp协议的消息通知方式实现消息传递,同时在传输消息和数据时进行同步的数据存储,使得即使运行过程中有重启掉线,也不会影响消息的到达,确保软件运维的可靠性。
[0046]
进一步地,所述在每个学校的所有业务终端内安装代理程序,具体包括:
[0047]
在每个学校的所有业务终端内安装代理程序,同时创建具有管理员权限的计划任务,所述计划任务用于启动所述代理程序。
[0048]
本实施例中在部署每个学校的所有业务终端的代理程序时,同时创建有管理员权限的计划任务,所述计划任务用于启动所述代理程序,即在后续的软件操作中通过该就有管理员权限的计划任务启动所述代理程序,使得所述代理程序在业务终端内执行各种软件操作时均具有管理员权限,避免在例如软件安装等操作时弹出uac窗口(用户账户控制窗
口),减少业务软件在运行维护中的干扰因素,提高运维效率。
[0049]
进一步地,所述主服务器通过每个学校的校内局域网向当前学校的各个业务终端分发所述软件安装程序和控制消息,包括:
[0050]
所述主服务器通过每个学校的校内局域网向当前学校的各个业务终端发起软件分发指令;
[0051]
当接收到所述软件分发指令时通过各个业务终端内的计划任务启动并运行所述代理程序;
[0052]
所述主服务器将所述软件安装程序和控制消息分发至各个业务终端的代理程序。
[0053]
本实施例中,管理员通过登录公网的云服务器将软件安装程序和控制消息发送至各个学校的主服务器后,由所述主服务器通过每个学校的校内局域网向当前学校的所有业务终端发起软件分发指令,在接收到所述软件分发指令时,通过预先创建的计划任务启动各个业务终端内的代理程序,令所述代理程序开始运行,之后所述主服务器将所述软件安装程序和控制消息分发至各个业务终端的代理程序,由各个业务终端的代理程序进一步根据收到的消息和数据执行相应的操作,完成高速高效的校内局域网的软件分发部署,无需软件运维人员在所有业务终端上一一进行操作,也无需所有的业务终端一一访问云服务器,在确保了运维效率的同时也节约了带宽占用,避免全部通过公网下载数据导致网络拥塞降低运维效率。
[0054]
进一步地,所述根据所述控制消息以及软件安装程序在各个业务终端执行相应的操作,包括:
[0055]
由各个业务终端内的代理程序对接收到的控制消息进行解析;
[0056]
根据解析结果以及当前各个业务终端内的软件版本执行安装、卸载或删除操作。
[0057]
本实施例中,不同学校的各个业务终端通过各自学校的主服务器接收到软件安装程序以及控制消息后,先由各个业务终端内的代理程序对所述控制消息进行解析,即管理员在登陆云服务器后根据当前的软件运维需求发送相应的控制消息,该控制消息为安装或卸载相应的目标软件,因此代理程序先对该控制消息进行解析,之后根据解析结果以及当前各个业务终端内的软件版本执行安装、卸载或删除操作,从而通过代理程序实现对业务终端内现有软件以及接收到的软件安装程序的进行相应操作,满足多终端的同步软件操作需要。
[0058]
进一步地,所述根据解析结果以及当前各个业务终端内的软件版本执行安装、卸载或删除操作,包括:
[0059]
当解析结果为安装时,将接收到的软件安装程序版本与当前业务终端内的软件版本进行对比,判断是否一致,若一致则对所述软件安装程序执行删除操作;若不一致则对所述软件安装程序执行安装操作;
[0060]
当解析结果为卸载时,对当前业务终端内的相应软件执行卸载操作。
[0061]
本实施例中,在具体执行相应操作时,若解析结果为安装,即安装云服务器发送的软件安装程序,此时将接收到的软件安装程序版本与当前业务终端内同一软件的软件版本进行对比,判断二者版本是否一致,即先确认当前业务终端内的软件版本是否已经与云服务器发送的版本一致,若一致则无需重新安装,直接对所述软件安装程序执行删除操作,避免占用内存空间,若不一致则对所述软件安装程序执行安装操作,使得业务终端内的软件
版本更新为与云服务器发送的一致,完成软件更新操作;此外,若解析结果为卸载,则直接对当前业务终端内的相应软件执行卸载操作,通过代理程序对控制消息的解析以及具体执行相应的操作,可满足多种软件操作需要,软件维护方可根据实际需要灵活发送相应的控制消息,通过云服务器推送至学校的主服务器进而分发个各个业务终端,实现灵活高效的分布式服务器软件分发安装,将多所学校的业务软件维护高效的统一在一起,便于业务软件的集中管理与维护。
[0062]
本发明另一实施例提供一种软件分发安装系统,如图2所示,系统10包括:
[0063]
一个或多个处理器110以及存储器120,图2中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图2中以通过总线连接为例。
[0064]
处理器110用于完成系统10的各种控制逻辑,其可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acorn risc machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、或任何其它这种配置。
[0065]
存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的软件分发安装方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行系统10的各种功能应用以及数据处理,即实现上述方法实施例中的软件分发安装方法。
[0066]
存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至系统10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0067]
一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,执行上述任意方法实施例中的软件分发安装方法,例如,执行以上描述的图1中的方法步骤s100至步骤s300。
[0068]
本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤s100至步骤s300。
[0069]
作为示例,非易失性存储介质能够包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(ram)。通过说明丽非限制,ram可以以诸如同步ram(sram)、动态ram、(dram)、同步dram(sdram)、双数据速率sdram(ddr sdram)、增强型sdram(esdram)、synchlink dram(sldram)以及直接rambus(兰巴斯)ram(drram)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
[0070]
本发明的另一种实施例提供了一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行上述方法实施例的软件分发安装方法。例如,执行以上描述的图1中的方法步骤s100至步骤s300。
[0071]
综上所述,本发明公开的软件分发安装方法、系统及存储介质中,方法包括:各个学校的主服务器接收由云服务器推送的软件安装程序以及控制消息;所述主服务器通过每个学校的校内局域网向当前学校的各个业务终端分发所述软件安装程序和控制消息;根据所述控制消息以及软件安装程序在各个业务终端执行相应的操作。本发明实施例通过分别部署云服务器以及各个学校的主服务器,在需要对各个学校的业务终端进行软件维护时,通过云服务器向各个主服务器推送软件安装程序以及控制消息,由每个学校的主服务器通过局域网进行软件分发,实现分布式服务器软件分发的同时也减轻了云服务的下载带宽占用,达到快速完成软件部署的效果,提高多间学校同时进行软件维护的效率。
[0072]
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0073]
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行各个实施例或者实施例的某些部分的方法。
[0074]
除了其他之外,诸如"能够"、"能"、"可能"或"可以"之类的条件语言除非另外具体地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地不旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有学生输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。
[0075]
已经在本文中在本说明书和附图中描述的内容包括能够提供软件分发安装方法、系统及存储介质的示例。当然,不能够出于描述本公开的各种特征的目的来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1