CN117591131A - 应用部署方法、系统、装置、电子设备及可读介质 - Google Patents
应用部署方法、系统、装置、电子设备及可读介质 Download PDFInfo
- Publication number
- CN117591131A CN117591131A CN202311662650.8A CN202311662650A CN117591131A CN 117591131 A CN117591131 A CN 117591131A CN 202311662650 A CN202311662650 A CN 202311662650A CN 117591131 A CN117591131 A CN 117591131A
- Authority
- CN
- China
- Prior art keywords
- application
- subcontracting
- program
- target
- equipment
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012544 monitoring process Methods 0.000 claims abstract description 86
- 238000004806 packaging method and process Methods 0.000 claims description 49
- 238000004891 communication Methods 0.000 claims description 20
- 238000013515 script Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 26
- 238000011161 development Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000006837 decompression Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种应用部署方法、系统、装置、电子设备及可读介质,其中,方法包括:获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与应用需求对应的各个功能模块;根据应用需求对设备监控界面与功能模块进行分包操作,得到多个分包程序;将各个分包程序拷贝至与分包程序对应的目标服务器上,并运行分包启动程序,以完成目标应用在多个目标平台上的部署。通过先为应用需求统一开发设备监控界面和以及选配功能模块,然后根据应用需求打包成不同的分包程序,最后将分包程序拷贝至各个服务器上进行自动化部署,解决了需要耗费大量人力成本对不同的操作系统和运行环境进行单独配置的问题。
Description
技术领域
本申请涉及智慧城市技术领域,尤其涉及一种应用部署方法、系统、装置、电子设备及可读介质。
背景技术
随着智能建筑技术和应用的快速发展,越来越多的智慧建筑应用呈现出多样化、复杂化的特点。智能建筑指通过将建筑物的结构、系统、服务和管理根据用户的需求进行最优化组合,从而为用户提供一个高效、舒适、便利的人性化建筑环境。智能建筑是集现代科学技术之大成的产物,其技术基础主要由楼宇自动化、通信自动化、办公自动化以及消防自动化等组成。
在传统的应用开发和部署过程中,往往需要耗费大量人力成本对不同的操作系统和运行环境进行单独配置,这不仅增加了开发团队的工作量,而且容易出现兼容性和部署问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种应用部署方法、系统、装置、电子设备及可读介质,以解决上述“耗费大量人力成本对不同的操作系统和运行环境进行单独配置”的技术问题。
根据本申请实施例的一个方面,本申请提供了一种应用部署方法,包括:获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与应用需求对应的各个功能模块;根据应用需求对设备监控界面与功能模块进行分包操作,得到多个分包程序,其中,分包程序包括分包启动程序以及目标平台的应用驱动;将各个分包程序拷贝至与分包程序对应的目标服务器上,并运行分包启动程序,以完成目标应用在多个目标平台上的部署。
可选地,根据应用需求生成设备监控界面包括:获取自由画布上的组件信息,其中,组件信息包括多个组件以及各个组件之间的布局;从预设数据库获取目标设备的设备点位数据,其中,设备点位数据与目标设备的状态对应;将设备点位数据中的各个点位实例与自由画布上的组件进行一一绑定,生成设备监控界面。
可选地,在生成设备监控界面之前,所述方法还包括:获取与应用需求中的目标设备关联的设备实例,其中,设备实例包括目标设备的属性及参数;根据设备实例构建设备参数模型;获取监控模板,并将设备参数模型与监控模板进行绑定,其中,监控模板用于在监控界面上以预设方式展示目标设备的监控指标项。
可选地,根据应用需求对设备监控界面与功能模块进行分包操作,得到多个分包程序包括:根据应用需求确定服务器类型以及服务器数量;根据服务器类型以及服务器数量构建工程场景;为工程场景创建虚拟服务器,其中,虚拟服务器包括功能模块的运行平台和启动脚本;根据虚拟服务器的平台类型对各个功能模块进行分包操作,得到多个分包程序。
可选地,运行分包启动程序包括:对分包程序进行解压操作,得到目标平台的应用驱动、分包启动程序以及功能模块对应的分包服务程序;将分包服务程序与应用驱动进行组合,并运行分包启动程序中的启动脚本。
可选地,在运行分包启动程序中的启动脚本之后,所述方法还包括:检测运行环境、被占用的第一端口号以及与功能模块对应的分包服务程序对应的配置文件;根据第一端口号确定可用的第二端口号,将第二端口号写入配置文件,以通过第二端口号运行分包服务程序。
根据本申请实施例的另一方面,本申请提供了一种应用部署系统,包括:设备监控模块,用于根据目标应用的应用需求生成设备监控界面;业务模块,用于配置与所述应用需求对应的各个功能模块;控制端,与所述设备监控模块以及所述业务模块连接,用于根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序,其中,所述分包程序包括分包启动程序以及目标平台的应用驱动;将各个所述分包程序拷贝至与所述分包程序对应的目标服务器上,并运行所述分包启动程序,以完成所述目标应用在多个所述目标平台上的部署。
根据本申请实施例的另一方面,本申请提供了一种应用部署装置,包括:获取单元,用于获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与所述应用需求对应的各个功能模块;分包单元,用于根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序,其中,所述分包程序包括分包启动程序以及目标平台的应用驱动;部署单元,用于将各个所述分包程序拷贝至与所述分包程序对应的目标服务器上,并运行所述分包启动程序,以完成所述目标应用在多个所述目标平台上的部署。
根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请通过一种应用部署方法,包括:获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与应用需求对应的各个功能模块;根据应用需求对设备监控界面与功能模块进行分包操作,得到多个分包程序,其中,分包程序包括分包启动程序以及目标平台的应用驱动;将各个分包程序拷贝至与分包程序对应的目标服务器上,并运行分包启动程序,以完成目标应用在多个目标平台上的部署。通过先为应用需求统一开发设备监控界面和以及选配功能模块,然后根据应用需求打包成不同的分包程序,最后将分包程序拷贝至各个服务器上进行自动化部署,解决了需要耗费大量人力成本对不同的操作系统和运行环境进行单独配置的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的应用部署方法的流程图;
图2为根据本申请实施例提供的一种可选的应用部署的示意图;
图3为根据本申请实施例提供的一种可选的多联机的设备参数模型的示意图;
图4为根据本申请实施例提供的一种可选的多场景示意图;
图5为根据本申请实施例提供的一种可选的分包程序的示意图;
图6为根据本申请实施例提供的一种可选的应用部署系统的示意图;
图7为根据本申请实施例提供的一种可选的应用部署装置的框图;
图8为本申请实施例提供的一种可选的电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
随着智能建筑技术和应用的快速发展,越来越多的智慧建筑应用呈现出多样化、复杂化的特点。智能建筑指通过将建筑物的结构、系统、服务和管理根据用户的需求进行最优化组合,从而为用户提供一个高效、舒适、便利的人性化建筑环境。智能建筑是集现代科学技术之大成的产物,其技术基础主要由楼宇自动化、通信自动化、办公自动化以及消防自动化等组成。
在传统的应用开发和部署过程中,往往需要耗费大量人力成本对不同的操作系统和运行环境进行单独配置,这不仅增加了开发团队的工作量,而且容易出现兼容性和部署问题。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种应用部署方法的实施例,图1所示,包括:
步骤101,获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与应用需求对应的各个功能模块;
步骤103,根据应用需求对设备监控界面与功能模块进行分包操作,得到多个分包程序,其中,分包程序包括分包启动程序以及目标平台的应用驱动;
步骤103,将各个分包程序拷贝至与分包程序对应的目标服务器上,并运行分包启动程序,以完成目标应用在多个目标平台上的部署。
本申请应用于智能楼宇技术领域,可以将目标应用理解为上位机软件。
本申请提供一种图形化快速开发上位机软件的方法,降低智能楼宇管理系统开发门槛,无需复杂的编程,节省软件系统开发时间;解决多区域多服务器多平台的上位机软件需手动部署的问题,降低工程调试难度,节省人力成本,降低软件系统升级运维成本。
本申请提供的功能模块包括但不限于:能源管理模块、故障报警管理模块、策略管理模块、运维管理模块、设备管理模块及接入协议管理模块等。
本申请涉及的结构化数据存储均采用mysql进行设计和实施,将设备参数模型、业务模块、点位等相关的数据进行存储。
图2为本申请提供的应用部署架构的示意图,包括:设备监控模块、业务模块、多个服务器以及多个应用平台。其中,设备模块用于开发图形化开发设备监控界面,业务模块是指系统内置的设备运维管理业务模块,包括能源管理模块、故障报警管理模块、策略管理模块、运维管理模块、设备管理模块及接入协议管理模块等,后续有新管理业务模块按照微服务标准模式添加。实际工程系统的开发仅需对内置的业务模块进行选配。
作为一种可选的实施例,根据应用需求生成设备监控界面包括:获取自由画布上的组件信息,其中,组件信息包括多个组件以及各个组件之间的布局;从预设数据库获取目标设备的设备点位数据,其中,设备点位数据与目标设备的状态对应;将设备点位数据中的各个点位实例与自由画布上的组件进行一一绑定,生成设备监控界面。
设备监控界面是指服务器上的web界面,属于智能楼宇工程里管理平台搭建部分。
具体地,开发人员可在自由画布上布局好组件,将组件与点位实例绑定后即可完成设备监控界面的开发。
自由画布是指基于canvas、javascript、html和css等web技术的浏览器页面,图片、图表等作为其组件,可以自由放在画布上进行布局。点位是指通过mysql等数据库存储的设备状态对应的虚拟条目,如电灯的开关,在数据库中存储一个信息与之对应,核心信息是开关对应的网络点位地址。
示例地,将自由画布上的组件与各个点位实例进行绑定后即可得到有设备状态信息的监控界面。组件与点位实例的绑定逻辑如下:当组件是图片组件时,点位实例是图片的url;当组件是开关按钮组件时,点位实例是电灯的开关点位;当组件是图表组件时,点位实例是电灯的开关点位历史数据。
作为一种可选的实施例,在生成设备监控界面之前,所述方法还包括:获取与应用需求中的目标设备关联的设备实例,其中,设备实例包括目标设备的属性及参数;根据设备实例构建设备参数模型;获取监控模板,并将设备参数模型与监控模板进行绑定,其中,监控模板用于在监控界面上以预设方式展示目标设备的监控指标项。
目标设备是指一般的楼宇机电设备,可以是暖通空调,也可是消防烟感、防火卷帘门等,只要能通过有线或无线接入到服务器的楼宇机电设备均在此范围。
可选地,预设方式为展示形式,包括但不限于卡片形式、列表形式以及图表形式等。
具体地,在进行设备监控界面的图形化开发时,还要根据工程实际情况建立设备参数模型,图3为本申请提供的多联机为例的设备参数模型的示意图。
示例地,设备监控模块通过系统内置的监控模板绑定设备参数模型,仅需一次绑定,添加的同类设备均可按照此绑定关系渲染界面样式。
基于设备参数模型的界面渲染方法减少同类设备的重复配置环节,加快监控界面的配置速度,能够直观展示设备的指标项。
按照上述方式进行图形化开发,完成监控界面开发和业务模块选配后,针对实际工程的复杂场景,主要是工程规模不同、网络结构不同,会出现一个工程单台服务器、多台服务器的情形,服务器的平台类型可能有windows和linux两种。图4为本申请提供的多场景示意图。
针对上述可能的场景,在系统上开发好的模块需根据实际算力情况部署在不同平台的不同服务器上,接下来对程序分包进行说明。
作为一种可选的实施例,根据应用需求对设备监控界面与功能模块进行分包操作,得到多个分包程序包括:根据应用需求确定服务器类型以及服务器数量;根据服务器类型以及服务器数量构建工程场景;为工程场景创建虚拟服务器,其中,虚拟服务器包括功能模块的运行平台和启动脚本;根据虚拟服务器的平台类型对各个功能模块进行分包操作,得到多个分包程序。
程序分包步骤包括:构建工程场景;创建虚拟服务器;选中部署的功能模块;部署程序分包。
具体地,工程场景是指网络环境和服务器规模需求。例如,小型工程A客户要求部署1台windows操作系统的服务器;大型工程B客户要求部署1台windows服务器和1台linux服务器。
具体地,构建工程场景就是选择工程服务器类型和相应的数量,如windows操作系统1台,linux操作系统1台。
具体地,创建虚拟服务器是指针对工程场景准备好对应操作系统服务器的基础程序,主要包括模块服务的运行环境和启动脚本。
分包是按照创建的虚拟服务器的平台类型(linux或windows)以及选择部署的功能模块(运维管理业务模块,包括能源管理模块、故障报警管理模块、策略管理模块、运维管理模块、设备管理模块及接入协议管理模块等)进行的。
具体地,分包程序包括功能模块服务压缩后的分包服务程序、相应平台的应用驱动和分包启动脚本程序。
图5为本申请提供的分包程序的示意图。分包程序中包括压缩后的分包压缩程序(即分包服务程序)、windows应用驱动、linux应用驱动以及分包启动程序。
具体地,采用容器化和虚拟化技术:使用容器化技术(如Docker)和虚拟化技术(如VMware、KVM)将应用程序和其依赖环境打包成可移植的容器或虚拟机镜像。根据工程实际的服务器场景,完成模块程序在具体服务器上的分包,这样可以确保应用在不同服务器和环境中的一致性,并提供高度可移植性。
作为一种可选的实施例,运行分包启动程序包括:对分包程序进行解压操作,得到目标平台的应用驱动、分包启动程序以及功能模块对应的分包服务程序;将分包服务程序与应用驱动进行组合,并运行分包启动程序中的启动脚本。
示例地,分包到具体服务器的程序通过执行分包启动程序进行自动化部署,执行过程中将分包程序和应用驱动解压后重新装配,重新装配过程主要完成配置文件映射,完成后即完成部署。
示例地,将指定服务器的分包程序拷贝到服务器上,通过解压工具解压后得到分包压缩程序、相应平台的应用驱动和分包启动脚本程序。
作为一种可选的实施例,在运行分包启动程序中的启动脚本之后,所述方法还包括:检测运行环境、被占用的第一端口号以及与功能模块对应的分包服务程序对应的配置文件;根据第一端口号确定可用的第二端口号,将第二端口号写入配置文件,以通过第二端口号运行分包服务程序。
示例地,运行分包启动脚本,启动脚本自动检测服务器环境、模块运行占用的端口号、模块服务对应的配置文件,按照程序启动需求进行可用端口号写入配置文件操作,启动模块服务程序。
具体地,本申请采用自动化编排工具完成分包启动程序的自动化部署过程:采用自动化编排工具(如Kubernetes、Ansible、Chef、Puppet)进行部署和管理,通过定义和执行一系列任务和指令,实现自动化的部署过程。这些工具能够根据配置文件、脚本或命令,自动在多个服务器上进行应用的安装、配置和启动。
具体地,在整个自动化部署过程中,将对日志进行管理,通过自动化监控和日志收集,如通过集成监控工具(如Prometheus、Zabbix)和日志收集工具(如ELK Stack)来实现对应用和服务器的自动化监控。这些工具可以实时检测应用的健康状态、性能指标和日志信息,及时发现和解决问题。Windows应用程序驱动和linux应用程序驱动主要是启动相关模块程序的系统指令,分别采用基于windows的bat文件和基于linux的shell文件进行执行程序编排。
本申请通过一种应用部署方法,包括:获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与应用需求对应的各个功能模块;根据应用需求对设备监控界面与功能模块进行分包操作,得到多个分包程序,其中,分包程序包括分包启动程序以及目标平台的应用驱动;将各个分包程序拷贝至与分包程序对应的目标服务器上,并运行分包启动程序,以完成目标应用在多个目标平台上的部署。通过先为应用需求统一开发设备监控界面和以及选配功能模块,然后根据应用需求打包成不同的分包程序,最后将分包程序拷贝至各个服务器上进行自动化部署,解决了需要耗费大量人力成本对不同的操作系统和运行环境进行单独配置的问题。
根据本申请实施例的另一方面,本申请提供了一种应用部署系统,如图6所示,包括:设备监控模块602,用于根据目标应用的应用需求生成设备监控界面;业务模块604,用于配置与所述应用需求对应的各个功能模块;控制端606,与所述设备监控模块以及所述业务模块连接,用于根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序,其中,所述分包程序包括分包启动程序以及目标平台的应用驱动;将各个所述分包程序拷贝至与所述分包程序对应的目标服务器上,并运行所述分包启动程序,以完成所述目标应用在多个所述目标平台上的部署。
业务模块采用基于spring cloud的微服务架构进行设计,监控模板采用基于web(CSS+JS+HTML)技术进行设计,通过web元素的组合完成模板搭建,用于后续的设备监控直接复用。自由画布采用阿里G6或webGL技术实现自由画布布局。
本申请提供一种支持多系统自动化部署的智慧建筑应用开发系统。该系统通过采用统一的开发框架和基础组件库,使得应用开发人员无需关注底层的操作系统和环境,从而大大简化了开发过程。同时,该系统还支持一键式部署,可以自动根据应用的需求选择最适合的运行环境,避免了手动配置和部署的繁琐过程。
根据本申请实施例的另一方面,本申请提供了一种应用部署装置,如图7所示,包括:
获取单元702,用于获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与所述应用需求对应的各个功能模块;
分包单元704,用于根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序,其中,所述分包程序包括分包启动程序以及目标平台的应用驱动;
部署单元706,用于将各个所述分包程序拷贝至与所述分包程序对应的目标服务器上,并运行所述分包启动程序,以完成所述目标应用在多个所述目标平台上的部署。
需要说明的是,该实施例中的获取单元702可以用于执行本申请实施例中的步骤101,该实施例中的分包单元704可以用于执行本申请实施例中的步骤103,该实施例中的部署单元706可以用于执行本申请实施例中的步骤105。
可选地,获取单元702还用于获取自由画布上的组件信息,其中,组件信息包括多个组件以及各个组件之间的布局;从预设数据库获取目标设备的设备点位数据,其中,设备点位数据与目标设备的状态对应;将设备点位数据中的各个点位实例与自由画布上的组件进行一一绑定,生成设备监控界面。
可选地,获取单元702还用于在生成设备监控界面之前,获取与应用需求中的目标设备关联的设备实例,其中,设备实例包括目标设备的属性及参数;根据设备实例构建设备参数模型;获取监控模板,并将设备参数模型与监控模板进行绑定,其中,监控模板用于在监控界面上以预设方式展示目标设备的监控指标项。
可选地,分包单元704还用于根据应用需求确定服务器类型以及服务器数量;根据服务器类型以及服务器数量构建工程场景;为工程场景创建虚拟服务器,其中,虚拟服务器包括功能模块的运行平台和启动脚本;根据虚拟服务器的平台类型对各个功能模块进行分包操作,得到多个分包程序。
可选地,部署单元706还用于对分包程序进行解压操作,得到目标平台的应用驱动、分包启动程序以及功能模块对应的分包服务程序;将分包服务程序与应用驱动进行组合,并运行分包启动程序中的启动脚本。
可选地,部署单元706还用于在运行分包启动程序中的启动脚本之后,检测运行环境、被占用的第一端口号以及与功能模块对应的分包服务程序对应的配置文件;根据第一端口号确定可用的第二端口号,将第二端口号写入配置文件,以通过第二端口号运行分包服务程序。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图8所示,包括存储器801、处理器803、通信接口805及通信总线807,存储器801中存储有可在处理器803上运行的计算机程序,存储器801、处理器803通过通信接口805和通信总线807进行通信,处理器803执行计算机程序时实现上述方法的步骤。
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种应用部署方法,其特征在于,包括:
获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与所述应用需求对应的各个功能模块;
根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序,其中,所述分包程序包括分包启动程序以及目标平台的应用驱动;
将各个所述分包程序拷贝至与所述分包程序对应的目标服务器上,并运行所述分包启动程序,以完成所述目标应用在多个所述目标平台上的部署。
2.根据权利要求1所述的方法,其特征在于,所述根据应用需求生成设备监控界面包括:
获取自由画布上的组件信息,其中,所述组件信息包括多个组件以及各个所述组件之间的布局;
从预设数据库获取目标设备的设备点位数据,其中,所述设备点位数据与所述目标设备的状态对应;
将所述设备点位数据中的各个点位实例与所述自由画布上的所述组件进行一一绑定,生成所述设备监控界面。
3.根据权利要求2所述的方法,其特征在于,在生成所述设备监控界面之前,所述方法还包括:
获取与所述应用需求中的目标设备关联的设备实例,其中,所述设备实例包括所述目标设备的属性及参数;
根据所述设备实例构建设备参数模型;
获取监控模板,并将所述设备参数模型与所述监控模板进行绑定,其中,所述监控模板用于在所述监控界面上以预设方式展示所述目标设备的监控指标项。
4.根据权利要求1所述的方法,其特征在于,所述根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序包括:
根据所述应用需求确定服务器类型以及服务器数量;
根据所述服务器类型以及所述服务器数量构建工程场景;
为所述工程场景创建虚拟服务器,其中,所述虚拟服务器包括所述功能模块的运行平台和启动脚本;
根据所述虚拟服务器的平台类型对各个所述功能模块进行分包操作,得到多个所述分包程序。
5.根据权利要求3所述的方法,其特征在于,所述运行所述分包启动程序包括:
对所述分包程序进行解压操作,得到所述目标平台的所述应用驱动、所述分包启动程序以及所述功能模块对应的分包服务程序;
将所述分包服务程序与所述应用驱动进行组合,并运行所述分包启动程序中的启动脚本。
6.根据权利要求5所述的方法,其特征在于,在运行所述分包启动程序中的启动脚本之后,所述方法还包括:
检测运行环境、被占用的第一端口号以及与所述功能模块对应的分包服务程序对应的配置文件;
根据所述第一端口号确定可用的第二端口号,将所述第二端口号写入所述配置文件,以通过所述第二端口号运行所述分包服务程序。
7.一种应用部署系统,其特征在于,所述系统包括:
设备监控模块,用于根据目标应用的应用需求生成设备监控界面;
业务模块,用于配置与所述应用需求对应的各个功能模块;
控制端,与所述设备监控模块以及所述业务模块连接,用于根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序,其中,所述分包程序包括分包启动程序以及目标平台的应用驱动;将各个所述分包程序拷贝至与所述分包程序对应的目标服务器上,并运行所述分包启动程序,以完成所述目标应用在多个所述目标平台上的部署。
8.一种应用部署装置,其特征在于,包括:
获取单元,用于获取待部署的目标应用的应用需求,并根据应用需求生成设备监控界面,以及配置与所述应用需求对应的各个功能模块;
分包单元,用于根据所述应用需求对所述设备监控界面与所述功能模块进行分包操作,得到多个分包程序,其中,所述分包程序包括分包启动程序以及目标平台的应用驱动;
部署单元,用于将各个所述分包程序拷贝至与所述分包程序对应的目标服务器上,并运行所述分包启动程序,以完成所述目标应用在多个所述目标平台上的部署。
9.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至6任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311662650.8A CN117591131A (zh) | 2023-12-05 | 2023-12-05 | 应用部署方法、系统、装置、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311662650.8A CN117591131A (zh) | 2023-12-05 | 2023-12-05 | 应用部署方法、系统、装置、电子设备及可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117591131A true CN117591131A (zh) | 2024-02-23 |
Family
ID=89913210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311662650.8A Pending CN117591131A (zh) | 2023-12-05 | 2023-12-05 | 应用部署方法、系统、装置、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117591131A (zh) |
-
2023
- 2023-12-05 CN CN202311662650.8A patent/CN117591131A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977014B2 (en) | Web-based programming environment for embedded devices | |
US8966438B2 (en) | System and methods for end-users to graphically program and manage computers and devices | |
CN103812948B (zh) | 智能手机操作系统云端交互定制系统与方法 | |
CN109034394B (zh) | 一种机器学习模型的更新方法和装置 | |
JP6753200B2 (ja) | シミュレートされたオペレータ・トレーニング・システムに対するクラウド・ベースのコンピューティング・クラスタのための方法、システムおよびコンピュータ・プログラム | |
CN103345406A (zh) | 一种实现智能移动终端的云端虚拟移动终端的系统和方法 | |
WO2022110446A1 (zh) | 异构集群调度的模拟方法、装置、计算机设备及存储介质 | |
CN104412231A (zh) | 创建定制虚拟机的系统和方法 | |
CN112596815B (zh) | 功能组件的生成方法和装置、存储介质及电子装置 | |
CN113449877B (zh) | 用于展示机器学习建模过程的方法及系统 | |
CN114237676B (zh) | 一种fpga逻辑更新方法、装置、设备及可读存储介质 | |
CN111459606A (zh) | 一种虚拟化下快速创建虚拟机的方法及服务器 | |
CN113703407A (zh) | 基于数字孪生的机器人生产线操作系统构建方法、系统及设备 | |
CN107741874B (zh) | 一种gis云虚拟机自动创建方法及系统 | |
CN116436794A (zh) | 基于物联网物模型的opc实时数据集成与控制方法 | |
CN108628733B (zh) | 批量业务处理操作的测试方法及装置 | |
CN116820908A (zh) | 基于Locust的性能测试方法、装置、设备及介质 | |
CN107203471B (zh) | 联调方法、服务平台及计算机存储介质 | |
JP2020030621A (ja) | 情報処理装置およびプログラム | |
CN107562422B (zh) | 控制器人机界面的编程方法以及提供此编程工具的服务器 | |
CN113032224A (zh) | 一种信息采集方法、装置、电子设备及可读存储介质 | |
CN117591131A (zh) | 应用部署方法、系统、装置、电子设备及可读介质 | |
CN112416769A (zh) | 云桌面场景下批量模拟用户操作的自动化测试方法及系统 | |
JP6827814B2 (ja) | シミュレーション装置及びプログラム | |
CN110537171B (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 |