基于云端分布式软件版本管控系统及控制方法
文献发布时间:2023-06-19 12:02:28
技术领域
本发明涉及一种基于云端分布式软件版本管控系统及控制方法。
背景技术
目前主题乐园项目软件的版本升级管控与文件的分发,版本升级通常是由现场调试人员通过共享文件拷贝的方式对目标机器软件程序安装部署,再统一由版本管理员汇总记录现场版本情况,而文件的下发通常是通过USB拷贝文件的方式下发到公园内部的项目里,这个版本升级与文件下发方式管控不直观,容易出错。
发明内容
本发明针对现有的进行主题公园的系统升级及文件下发存在管控不直观、易出错的问题,提供了一种基于云端分布式软件版本管控系统及控制方法。
本发明就上述技术问题而提出的技术方案如下:
一方面,本发明提供了一种基于云端分布式软件版本管控系统,其特征在于,所述系统包括:
云端升级服务器、公园升级服务器、项目升级服务器,所述云端升级服务器、所述公园升级服务器及所述项目升级服务器各服务器对应的数据库中的预设数据一致;
其中,所述云端升级服务器包括消息队列单元和云端后台系统,所述云端后台系统用于根据云端升级任务配置向所述消息队列单元推送任务配置数据,所述消息队列单元用于接收所述任务配置数据并进行数据传输;
所述公园升级服务器包括数据同步单元和公园后台系统,所述数据同步单元用于接收所述消息队列单元发送的所述任务配置数据,所述公园后台系统用于根据所述任务配置数据进行数据同步;
所述项目升级服务器包括升级服务单元和项目后台系统,所述项目后台系统用于接收所述数据同步单元下发的所述任务配置数据,并根据预设任务策略对所述任务配置数据进行处理以生成子任务配置数据;所述升级服务单元用于接收所述子任务配置数据,以根据目标升级客户端列表向相应的升级客户端循环执行相应的所述子任务配置数据的发送,并接收相应的升级客户端的反馈结果以更新反馈结果列表;所述子任务配置数据至少包括所述任务配置数据中的信息。
根据上述的基于云端分布式软件版本管控系统,所述预设数据至少包括软件信息、软件分类信息、公园基础信息与公园项目基础信息。
根据上述的基于云端分布式软件版本管控系统,所述任务配置数据至少包括任务序列信息、任务类型信息、目标公园信息、目标项目信息、文件包信息。
根据上述的基于云端分布式软件版本管控系统,所述公园后台系统还用于将所述项目后台系统上传的预设类型数据发送给所述云端升级服务器,所述预设类型数据包括以下中的一种或多种:备份数据、路径配置数据、程序文件数据。
根据上述的基于云端分布式软件版本管控系统,所述系统还包括升级客户端,所述升级客户端用于在接收到所述子任务配置数据后,执行进行原始文件的本地备份、复制待升级文件包及重启程序进程,及用于在执行成功后,向所述项目后台系统反馈执行结果;
所述升级客户端包括以下中的一种或多种:NDV宿主机、CIG宿主机、特技宿主机、监控宿主机、特技宿主机、视图宿主机。
根据上述的基于云端分布式软件版本管控系统,所述公园后台系统还用于将所述项目后台系统的备份信息、路径配置信息、程序文件信息发送给所述消息队列单元;
所述消息队列单元接收所述数据同步单元的消息订阅,并根据预设消息订阅规则将数据转发至所述数据同步单元。
根据上述的基于云端分布式软件版本管控系统,所述子任务配置数据包括任务序列信息、任务类型信息、目标公园信息、目标项目信息、文件包信息、策略信息、升级客户端列表、路径配置信息。
根据上述的基于云端分布式软件版本管控系统,所述数据同步单元用于根据所述任务配置数据中的文件包信息所包含的下载地址下载对应的文件包,在下载完成后将文件包数据上传至所述项目后台系统;及还用于根据所述项目后台系统创建的与所述云端后台系统的云端任务相关联的子任务,更新所述云端任务的任务状态。
另一方面,本发明还提供一种应用于如上所述的基于云端分布式软件版本管控系统的控制方法,所述方法包括:
S101:所述云端后台系统根据云端升级任务配置向所述消息队列单元推送任务配置数据;消息队列单元将所述任务配置数据传输至所述数据同步单元;
S102:所述数据同步单元接收所述任务配置数据并转发至所述项目后台系统,所述公园后台系统用于根据所述任务配置数据进行数据同步;
S103:所述公园后台系统根据预设任务策略对所述任务配置数据进行处理以生成子任务配置数据,所述升级接收所述子任务配置数据,以根据目标升级客户端列表向相应的升级客户端循环执行相应的所述子任务配置数据的发送,并接收相应的升级客户端的反馈结果以更新反馈结果列表。
根据上述的基于云端分布式软件版本管控系统的控制方法,在步骤S103之后,所述方法还包括:
S104:判断所述升级客户端列表中的相应客户端的实时状态;
S105:若判断为状态异常,则向所述升级服务单元反馈异常结果;若判断为任务完成或者超时,则反馈最终结果给所述项目后台系统。
根据上述的基于云端分布式软件版本管控系统的控制方法,所述任务配置数据还包括策略信息,所述策略信息包括强制策略信息和正常策略信息,所述方法还包括:
若为强制策略信息,则依次执行步骤S103至S105;
若为正常策略信息,则根据所述项目后台系统中的定时策略执行S104或根据人工审核策略并在审核通过后再执行S103至S105。
根据上述的基于云端分布式软件版本管控系统的控制方法,在步骤S103之后,所述方法还包括:
在任务完成后,若所述升级客户端升级失败,则所述升级客户端进行回滚操作以恢复至原始状态。
本发明实施例提供的技术方案带来的有益效果是:
在需进行升级时,通过云端升级服务器向公园升级服务器传输任务配置数据,而公园升级服务器则转发所述任务配置数据以供项目升级服务器接收,项目升级服务器根据预设任务策略对所述任务配置数据进行处理,以生成各个与相应升级客户端相适配的子任务配置数据,各个升级客户端根据子任务配置数据即可执行进行相应的升级任务。无需由调试人员在现场通过共享文件拷贝的方式对目标机器软件程序进行安装部署,及统一由版本管理员汇总记录现场版本情况。同理,文件的下发可通过所述云端升级服务器向公园升级服务器,而公园升级服务器则可进一步转发该文件至相应的项目升级服务器中,而项目升级服务器同样根据策略向相应的客户升级端发送相应的文件。因此,本实施方式可降低主题乐园公园级及项目级的软件部署与升级维护的难度,利于文件管控及项目管控,且更加直观,不易出错。
进一步地,基于云端分布式软件版本管控系统可作为软件版本与文件的统一管理平台,集中管控版本包与文件包的下发,同时按照不同层级定义,即云端层、公园端层及项目端层,确定每一层级的功能划分,确保了主题乐园软件版本与文件的流转可以清晰地查看与管控。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于云端分布式软件管控系统在一实施方式下的架构示意图;
图2为本发明提供的基于云端分布式软件版本管控系统的控制方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,为本发明提供的基于云端分布式软件管控系统在一实施方式下的架构示意图。基于云端分布式软件管控系统1包括云端升级服务器11、公园升级服务器12及项目升级服务器13,可以理解的是,每个项目升级服务器13可对应多个升级客户端,而相应的升级客户端则布局在各个主题场馆/乐园中,以进行效果控制及系统控制,其中:
所述云端升级服务器11可对应具有消息队列单元111、云端后台系统112及相应的云端数据库113,云端后台系统112用于根据云端升级任务配置向消息队列单元111推送任务配置数据,消息队列单元111则接收所述任务配置数据并进行数据传输。此处,云端升级任务配置为人工预配置所形成的升级配置文件所包含的配置信息或实时进行配置所形成的升级配置文件所包含的配置信息,而所述任务配置数据则与该配置信息相关联,也即相应的配置信息与相应的任务配置数据对应,根据不同升级目的,可确定相应的配置信息,最后,再根据该配置信息生成相应的任务配置数据,而所述云端数据库113则用于存储各类云端数据。
所述任务配置数据至少包括任务序列信息、任务类型信息、目标公园信息、目标项目信息、文件包信息,其中,所述任务序列信息至少包括可供识别的任务序列号;所述任务类型信息可包括相应类型标识,以供接收端依据所述类型标识进行识别;所述目标公园信息包括所确定的目标公园和/或该公园中的设备及关联设备;所述目标项目信息包括所确定的各类项目和/或该项目中的设备及关联设备;所述文件包信息包括文件包和/或该文件包的标识数据及关联数据。
所述公园升级服务器12可对应具有数据同步单元121、公园后台系统122及相应的公园数据库123,数据同步单元121用于接收消息队列单元111发送的任务配置数据,而公园后台系统122用于根据所述任务配置数据进行数据同步,同步的数据可存储至公园数据库123中。此处,数据同步单元121订阅消息队列单元111的任务配置数据,相应地,消息队列单元111可接收数据同步单元121的订阅,并根据订阅规则向数据同步单元121发送相应的任务配置数据。
所述项目升级服务器13可对应具有升级服务单元131、项目后台系统132及相应的项目数据库133,项目后台系统132用于接收数据同步单元121下发的所述任务配置数据,并根据预设任务策略对所述任务配置数据进行处理以生成子任务配置数据。升级服务单元131则用于接收所述子任务配置数据,以根据目标升级客户端列表向相应的升级客户端循环执行相应的所述子任务配置数据的发送,并接收相应的升级客户端的反馈结果以更新反馈结果列表。所述子任务配置数据至少包括所述任务配置数据中的信息。具体地,所述预设任务策略可由本地预存的策略文件提供,也可为实时接收的策略文件。项目后台系统132根据预设任务策略生成匹配相应升级客户端的所述子任务配置数据,与此同时,项目后台系统132可生成升级任务请求,后依据该升级任务请求向项目升级服务单元131发送子任务配置数据,并可同时将子任务配置存储至项目数据库133中。项目升级服务单元131中可具有待升级客户端的升级客户端列表,其依据所述升级客户端列表向列表所指向的升级客户端执行发送所述子任务配置数据,且采用循环下发的方式执行所述子任务配置数据的发送任务。
可以理解的是,云端升级服务器11、公园升级服务器12及项目升级服务器13各服务器对应的数据库中的预设数据一致,也即云端升级服务器11对应有相应的数据库如云端升级数据库;公园升级服务器12对应有相应的数据库如公园升级数据库;项目升级服务器13对应有相应的数据库如项目升级数据库,各个数据库中的预设数据保持一致。此处,所述预设数据可至少包括软件信息、软件分类信息、公园基础信息与公园项目基础信息。
此处,所述子任务配置数据较所述任务配置数据更具体,即在包含所述任务配置数据中的相应信息的基础上,还可包括策略信息、升级客户端列表、路径配置信息,其中,所述策略信息为对应所述任务类型信息、目标公园信息和/或目标项目信息所确定的策略,可包括预存的策略文件或即时生成的策略文件。当然,所述公园升级服务器12在向所述项目升级服务器13发送任务数据后,还可向所述云端升级服务器11反馈数据以反映数据的传输及接收情况。
本实施方式中,所述升级客户端在接收到子任务配置数据后,可进行原始文件的本地备份、对所述文件包信息所包含的文件包进行复制及程序进程的重启,且在执行成功也即升级成功后,反馈结果至项目后台系统132进行结果存储。
所述升级客户端可包括NDV宿主机141、CIG宿主机142、特技宿主机143、监控宿主机144、特技宿主机145、视图宿主机146,在一些具体应用场景中,可根据需要删减或额外增加相应的客户端进行升级。
本实施方式中,在需进行升级时,通过云端升级服务器11向公园升级服务器12传输任务配置数据,而公园升级服务器12则转发所述任务配置数据以供项目升级服务器13接收,项目升级服务器13根据预设任务策略对所述任务配置数据进行处理,以生成各个与相应升级客户端相适配的子任务配置数据,各个升级客户端根据子任务配置数据即可执行进行相应的升级任务。无需由调试人员在现场通过共享文件拷贝的方式对目标机器软件程序进行安装部署,及统一由版本管理员汇总记录现场版本情况。同理,文件的下发可通过所述云端升级服务器11向公园升级服务器12,而公园升级服务器12则可进一步转发该文件至相应的项目升级服务器13中,而项目升级服务器13同样根据策略向相应的客户升级端发送相应的文件。因此,本实施方式可降低主题乐园公园级及项目级的软件部署与升级维护的难度,利于文件管控及项目管控,且更加直观,不易出错。
进一步地,基于云端分布式软件版本管控系统1可作为软件版本与文件的统一管理平台,集中管控版本包与文件包的下发,同时按照不同层级定义,即云端层、公园端层及项目端层,确定每一层级的功能划分,确保了主题乐园软件版本与文件的流转可以清晰地查看与管控。
本实施方式中,所述云端后台系统112还可用于建立软件相关信息、上传软件版本升级包、创建云端任务,并将相应数据存储到云端数据库。
公园后台系统122还用于将项目后台系统132上传的预设类型数据发送给云端升级服务器11,所述预设类型数据可包括以下中的一种或多种:备份数据、路径配置数据、程序文件数据。
本实施方式中,公园后台系统122还用于将项目后台系统132的备份信息、路径配置信息、程序文件信息发送给消息队列单元111。而消息队列单元111则用于接收数据同步单元121的消息订阅,并根据预设消息订阅规则将数据转发至数据同步单元121。
本实施方式中,数据同步单元121还用于根据任务配置数据中的文件包信息所包含的下载地址下载对应的文件包,在下载完成后将文件包数据上传至项目后台系统132,还用于根据项目后台系统132创建的与云端后台系统122的云端任务相关联的子任务(该任务可为升级任务以外的其他任务),更新云端任务的任务状态。
本实施方式中,若升级客户端升级任务完成或者超时,则反馈最终结果给项目后台系统132。所述子任务配置数据还可包含回滚指令,因此,对任务完成但升级失败的升级客户端,其根据回滚指令进行回滚操作,也即升级客户端需要完成从本地备份目录下拷贝原始版本进行回滚版本的动作,以保证升级客户端所在的宿主机恢复原有的状态。
参见图2,为本发明提供的基于云端分布式软件版本管控系统的控制方法流程图。该控制方法可应用于上述的基于云端分布式软件版本管控系统中,可以理解的是,下述所提及的各个单元或系统的功能均在前文有相应描述,可参照前文进行理解,因而此处便不在赘述。
如图2所示,基于云端分布式软件版本管控系统的控制方法可包括如下流程:
S101:所述云端后台系统根据云端升级任务配置向所述消息队列单元推送所述任务配置数据;所述消息队列单元将所述任务配置数据传输至所述数据同步单元。
S102:所述数据同步单元接收所述任务配置数据并转发至所述项目后台系统,所述公园后台系统用于根据所述任务配置数据进行数据同步。
S103:所述公园后台系统根据预设任务策略对所述任务配置数据进行处理以生成子任务配置数据,所述升级接收所述子任务配置数据,以根据目标升级客户端列表向相应的升级客户端循环执行相应的所述子任务配置数据的发送,并接收相应的升级客户端的反馈结果以更新反馈结果列表。
在需进行升级时,通过控制云端升级服务器向公园升级服务器传输任务配置数据,而公园升级服务器则转发所述任务配置数据以供项目升级服务器接收,项目升级服务器根据预设任务策略对所述任务配置数据进行处理,以生成各个与相应升级客户端相适配的子任务配置数据,各个升级客户端根据子任务配置数据即可执行进行相应的升级任务。无需由调试人员在现场通过共享文件拷贝的方式对目标机器软件程序进行安装部署,及统一由版本管理员汇总记录现场版本情况。同理,文件的下发可通过所述云端升级服务器向公园升级服务器,而公园升级服务器则可进一步转发该文件至相应的项目升级服务器中,而项目升级服务器同样根据策略向相应的客户升级端发送相应的文件。因此,本实施方式可降低主题乐园公园级及项目级的软件部署与升级维护的难度,利于文件管控及项目管控,且更加直观,不易出错。
可以理解的是,在步骤S103之后,所述方法还可包括如下步骤:
S104:判断所述升级客户端列表中的相应客户端的实时状态。此处,所述实时状态可包括升级客户端的在离线状态,若升级客户端离线,则判断为状态异常。
S105:若判断为状态异常,则可进行标记,并向所述升级服务单元反馈异常结果;若判断为任务完成或者超时,则反馈最终结果给所述项目后台系统。
在进行文件下发时,前述的子任务配置数据中的策略信息,具体可包括强制策略信息和正常策略信息,其中,在执行步骤S103之前,可先判断策略信息的类型:
若为强制策略信息,则依次执行步骤S103至S105;
若为正常策略信息,则根据所述项目后台系统中的定时策略执行S104,以应对无人值守下的相关文件(软件版本文件)下发的场景,或者,根据现场调试人员人工审核策略并在审核通过后再执行S103至S105,以应对特殊异常的场景,从而保证文件下发的顺利实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 基于云端分布式软件版本管控系统及控制方法
- 基于云端编辑的电子信息集中管控系统及其方法