CN116028138B - 应用发布方法及装置 - Google Patents
应用发布方法及装置 Download PDFInfo
- Publication number
- CN116028138B CN116028138B CN202310103089.3A CN202310103089A CN116028138B CN 116028138 B CN116028138 B CN 116028138B CN 202310103089 A CN202310103089 A CN 202310103089A CN 116028138 B CN116028138 B CN 116028138B
- Authority
- CN
- China
- Prior art keywords
- configuration data
- application program
- database
- configuring
- design
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000013461 design Methods 0.000 claims abstract description 145
- 230000008569 process Effects 0.000 claims abstract description 65
- 238000003860 storage Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 4
- 230000018109 developmental process Effects 0.000 description 13
- 238000011161 development Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012938 design process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件开发技术领域,提供一种应用发布方法及装置。方法包括:配置应用程序;获取配置应用程序过程中的配置数据,并存储至设计时数据库;根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;其中,所述运行时数据库用于为所述应用程序的运行提供配置数据。本发明中运行时访问自身的运行时数据库,通过设计时数据库和运行时数据库的解耦,使得设计时和运行无需彼此依赖,能够同时稳定运行。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种应用发布方法及装置。
背景技术
随着低代码平台的发展,开发人员可以利用该平台创建应用程序并进行配置,然后执行应用发布,对配置好的应用程序进行部署,最终得到部署好的应用程序供业务人员使用。配置的应用为设计时,部署好的应用为运行时。
然而,现有方案中设计时和运行时的数据库共用,应用程序运行时会直接访问设计时的配置数据,造成设计时改了配置,运行时只能访问到最新的配置,这样只要设计时和运行时同时工作,运行时就无法处于稳定的状态。
发明内容
本发明旨在至少解决相关技术中存在的技术问题之一。为此,本发明提出一种应用发布方法,通过设计时数据库和运行时数据库的解耦,使得设计时和运行无需彼此依赖,能够同时稳定运行。
本发明还提出一种应用发布装置。
本发明还提出一种电子设备。
本发明还提出一种非暂态计算机可读存储介质。
根据本发明第一方面实施例的一种应用发布方法,包括:
配置应用程序;
获取配置应用程序过程中的配置数据,并存储至设计时数据库;
根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;
其中,所述运行时数据库用于为所述应用程序的运行提供配置数据。
根据本发明实施例的应用发布方法,在配置应用程序的同时,可以将配置应用程序过程中的配置数据存储至设计时数据库,然后根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库。通过这种方式,设计时实现了和运行时的解耦。相比传统方式中运行时会直接访问设计时的配置数据,本发明中运行时访问自身的运行时数据库,实现了设计时和运行时的解绑,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。同时,由于运行时数据库中存储的是设计时数据库发送的基于配置完成标识的配置数据,因此运行时不会受到未配置完成的数据的影响,提高了运行应用的可靠性。
根据本发明的一个实施例,所述获取配置应用程序过程中的配置数据,并存储至设计时数据库,包括:
获取所述配置应用程序过程中各个时刻的配置数据;
将所述配置应用程序过程中各个时刻的配置数据均存储至所述设计时数据库。
根据本发明的一个实施例,所述根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库,包括:
根据所述应用程序的运行需求,从所述设计时数据库中获取所述应用程序配置完成时刻的配置数据;
将所述配置完成时刻的配置数据发布至所述运行时数据库。
根据本发明的一个实施例,所述配置应用程序,包括:
基于所述运行需求配置所述应用程序,得到配置应用程序过程中的配置数据;
其中,所述配置数据包括前端配置数据、后端配置数据和数据源信息。
根据本发明的一个实施例,所述基于需求信息配置所述应用程序,得到配置应用程序过程中的配置数据,还包括:
获取更新的运行需求;
基于所述更新的运行需求配置更新后的应用程序,得到配置更新后的应用程序过程中的增量配置数据。
根据本发明第二方面实施例的一种应用发布方法,包括:
接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;
基于所述运行时数据库的配置数据,运行所述应用程序。
根据本发明实施例的应用发布方法,接收的是设计时数据库发布配置完成的配置数据,因此,藉由运行时数据库运行应用程序时,不会受到未配置完成的数据的影响,因此提高了运行应用的可靠性。本发明的方法实现了设计时和运行时的解耦,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。
根据本发明的一个实施例,所述基于所述运行时数据库的配置数据,运行应用程序,包括:
基于所述运行时数据库的配置数据,生成前端代码、后端代码和数据源数据;
基于所述前端代码、所述后端代码和所述数据源数据,运行所述应用程序。
根据本发明的一个实施例,所述基于所述运行时数据库的配置数据,运行所述应用程序,包括:
获取所述运行时数据库的增量配置数据;
基于所述运行时数据库的配置数据和所述增量配置数据,运行所述应用程序。
根据本发明第三方面实施例的一种应用发布装置,包括:
配置模块,用于配置应用程序;
存储模块,用于获取配置应用程序过程中的配置数据,并存储至设计时数据库;
应用发布模块,用于根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;
其中,所述运行时数据库用于为所述应用程序的运行提供配置数据。
根据本发明实施例的应用发布装置,在配置应用程序的同时,可以将配置应用程序过程中的配置数据存储至设计时数据库,然后应用发布模块发布部分配置数据给运行时数据库。通过这种方式,设计时实现了和运行时的解耦。相比传统方式中运行时会直接访问设计时的配置数据,本发明中运行时访问自身的运行时数据库,实现了设计时和运行时的解绑,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。同时,由于运行时数据库中存储的是设计时数据库发送的基于配置完成标识的配置数据,因此运行时不会受到未配置完成的数据的影响,提高了运行应用的可靠性。
根据本发明第四方面实施例的一种应用发布装置,包括:
接收模块,用于接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;
部署模块,用于基于所述运行时数据库的配置数据,运行应用程序。
根据本发明实施例的应用发布装置,接收的是设计时数据库发布配置完成的配置数据,因此,藉由运行时数据库运行应用程序时,不会受到未配置完成的数据的影响,因此提高了运行应用的可靠性。本发明的装置实现了设计时和运行时的解耦,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。
根据本发明第五方面实施例的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述应用发布方法的步骤。
根据本发明第六方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述应用发布方法的步骤。
本发明实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:设计时数据库会存储配置过程各个时刻的数据,方便设计时的溯源和存档。
进一步的,运行时数据库接收并存储的是已经配置完成时刻的配置数据,保证了设计时配置过程的数据不会影响运行端,即二者可以解耦工作,不会对对方造成实时影响。
更进一步的,本发明配置数据的种类包括前端后端和数据源三种,相比现有技术对应用程序整体编程,本发明划分应用程序的不同部分后单独存储在构建每个部分的配置数据,保证了运行时根据配置数据可以快速的生成所需应用程序并运行。
再进一步的,如果有应用程序更新运行需求,只需要获取更新需求对应的增量数据就可以实现更新,不用对更新的应用程序重新编程。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用发布方法的流程示意图之一;
图2是本发明实施例提供的应用发布方法的流程示意图之二;
图3是本发明实施例提供的应用发布装置的结构示意图之一;
图4是本发明实施例提供的应用发布装置的结构示意图之二;
图5是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
应用程序从设计到运行包括设计时和运行时两个阶段,而现有方案中设计时和运行时共用一个数据库,即运行时会直接访问设计时的配置数据。这样就导致如果设计时改了配置,无论这个配置是不是运行时所需要的,运行时只能访问到这个最新的配置,使得运行时无法保证稳定的状态。因此,本发明实施例公开了一种应用发布方法,该方法应用于服务器,具体来说应用在设计端所在服务器,如图1所示,方法至少包括如下步骤:
步骤101、配置应用程序;
步骤102、获取配置应用程序过程中的配置数据,并存储至设计时数据库;
步骤103、根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;
其中,运行时数据库用于为应用程序的运行提供配置数据。
针对步骤101,需要说明的是,本发明实现的是设计端与运行端的交互,在实际应用场景下,设计端可以是开发人员进行开发和配置的服务器,运行端可以是测试人员实现应用程序测试的服务器,运行端也可以是客户端运行应用程序并反馈新的需求的服务器。设计端和运行端可以设置在同一个服务器上也可以设置在不同的服务器上。
另外,需要说明的是,本发明实施例基于低代码平台去配置应用程序。低代码开发平台(Low-Code Development Platform,LCDP)作为当下软件开发的新潮流,是一种无需编码或者通过少量代码就可以快速生成应用程序的开发平台。它能使用可重用的、基于组件的体系结构进行开发,从而加快应用程序的开发和交付周期。低代码开发平台提供了可视化建模工具,使具有不同经验水平的开发人员可以通过拖拽组件和模型驱动的逻辑,来创建网页或移动应用、数据模型,并构建业务流程,必要时还可以添加自己的代码。同时,低代码开发平台封装了基本的数据库增删改查操作,以及常用的通用业务逻辑,是业务人员可以更专注于业务开发,大大降低了开发成本与维护成本。
设计端起始阶段会配置出基础版本的应用程序,基础版本的应用程序是指适用于某个业务领域的通用程序,作为该领域的通用模型或通用模板,如果后续再想增加其他个性化信息仅需要在这个基础上进行修正。例如金融领域的资产管理应用,则是指配置其产品卡片、入库单、出库单、领用信息、借用信息等,全部配置完成后即可执行发布操作。
针对步骤102,需要说明的是,由于运行应用程序的过程常包括:在前端输入用户名和密码,向后端HTTP请求,后端接收到请求之后,向数据库发起查询,数据库中查询用户名和密码是否正确,查询完毕向后端返回结果以及用户的其他信息,后端接收到这些数据之后,向前端发起HTTP请求,前端接收到请求之后,在页面上渲染出来。因此,在创建应用程序时需要记录前端、后端和数据库的相关配置数据,本发明实施例将整个配置过程中产生的各种配置数据在设计时数据库进行存储。
针对步骤103,需要说明的是,应用发布是指将设计数据库的配置数据在运行端进行部署,基于运行时数据库的配置数据,无需拷贝整段完整代码,只需根据相应配置数据缓存所需要的数据和注册业务操作,运行端就可以实现相应应用程序的运行。运行需求是运行端给出或者设计端根据相应业务领域总结出的满足应用程序的各项功能能够正常运行的需求信息,一般在应用程序的各项需求均配置完成后,设计时数据库进行应用发布。
另外,需要说明的是,本发明实施例中设计时数据库和运行时数据库的最大区别是,设计时数据库存储的是配置过程的配置数据,即设计时数据库中会存有还未配置完成的相关数据,有可能是中间设计版本或仍为经过测试的应用程序版本。而设计时数据库只有在运行需求均被满足后,才会将配置完成的配置数据发布至运行时数据库,实现了设计时和运行时的解耦,设计时的未完成配置数据不会影响运行时的应用程序运行。
例如,设计时可以是开发环境(Development environment ,DEV),用于开发者调试使用,运行时可以是系统集成测试环境(System Integration Test,SIT),用户验收测试环境(User Acceptance environment,UAT),用于生产环境下的软件测试者测试使用等等。解耦后,DEV和SIT,UAT的应用程序都可以是不同的配置状态,且每个环境都能稳定运行,不受其他环境影响。
本发明实施例的应用发布方法,实现了设计时和运行时的解耦。相比传统方式中运行时会直接访问设计时的配置数据,本发明中运行时访问自身的运行时数据库,实现了设计时和运行时的解绑,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。同时,由于运行时数据库中存储的是设计时数据库发送的部分配置数据,因此运行时不会受到未配置完成的数据的影响,提高了运行应用的可靠性。
可以理解的是,获取配置应用程序过程中的配置数据,并存储至设计时数据库,包括:
获取配置应用程序过程中各个时刻的配置数据;
将配置应用程序过程中各个时刻的配置数据分别存储至设计时数据库。
需要说明的是,设计时一般为DEV环境,开发人员在进行调试的过程中,可以将调试过程中各个时刻的调试参数或者每一次调试结果分别存储进设计时数据库中,方便配置过程的实时监控。同时,也可以存储多个版本的配置数据,可以根据运行时的需要,向运行时发布不同版本的配置数据。避免了共用数据库导致的运行时只能运行设计时最新的配置数据对应的应用程序,保证了运行时运行应用程序不受设计时数据库当前配置数据的制约,仅在应用发布后,获得所需求版本的配置数据。
本发明实施例的应用发布方法,通过存储配置过程各个时刻的数据,在不影响运行端的前提下,方便设计端溯源和存档。
可以理解的是,所述根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库,包括:
根据所述应用程序的运行需求,从所述设计时数据库中获取所述应用程序配置完成时刻的配置数据;
将所述配置完成时刻的配置数据发布至所述运行时数据库。
需要说明的是,所述应用程序的运行需求全部满足时,可以生成配置完成标识,该标识可以由设计端的事件监控器监控到,然后自动触发应用发布或提示可以进行应用发布。配置完成是指一个应用程序配置达到运行需求,一个完整的配置过程包括如下步骤:
步骤201、接收客户端的对于目标应用程序的Http请求并进行统一处理,该过程中产生的所有涉及前端、后端和数据库配置的数据均作为配置数据。
统一处理包括数据处理、组装上下文和分发请求,具体包括:
1、针对Http请求在接入层做解析数据处理。
解析Http请求的前端参数,前端参数为JSON结构,由操作编码、元数据模型ID和模型数据组成,接入层把JSON结构的参数解析、去除Key包含的特殊字符串,并封装为对应的Java对象(ModelData、HeaderContext和QueryWrapper)。根据元数据模型Id查询元数据模型结构,并构建元数据模型结构对象(ModelStructure)。
2、将解析结果封装的Java对象填充到上下文(ModelContext)中,即将“数据处理”产生的对象(ModelData、HeaderContext、QueryWrapper和ModelStructure)填充到上下文的ModelContext对象。模型上下文是整个业务操生命周期内的传递参数,包括业务扩展调用也会使用该上下文。
3、当收到Http请求时,分发器根据上下文中的业务操作编码,去注册器中查找对应的业务处理类,委托业务处理类来处理此请求,得到对应的配置数据。服务启动时,所有的业务操作将会以Key-Value形式自动登记到注册器(哈希表)中,其中Key为业务操作编码,Value为业务操作的实现类。
步骤202、在上述配置数据的基础上,经过通用操作执行器组件、通用校验组件和插件执行引擎组件分别对目标应用程序的业务操作和业务逻辑进行注册。
其中,业务操作包括通用业务操作和扩展业务操作,其中,通用业务操作包括新增、修改、删除和查询操作,用于满足针对目标应用程序实现增删改查的场景。在通用业务操作无法满足的场景,通过对业务数据进行加工和个性化业务逻辑实现扩展业务操作。业务逻辑包括业务规则和校验规则,对于需要在业务操作前进行校验或者操作前/后执行某些业务规则的场景,通过业务逻辑来实现。
具体的,业务规则的配置表包括校验规则的配置表包括校验规则信息表和校验动作关系表。校验规则包括通用校验函数校验,还包括自定义函数校验。通用校验函数例如包括:字符串拼接函数、正则匹配函数、各不为空行有相同校验等。
可以理解的是,配置应用程序,包括:
基于运行需求配置应用程序,得到配置应用程序过程中的配置数据;
其中,配置数据包括前端配置数据、后端配置数据和数据源信息。
需要说明的是,设计时配置一个应用时会生成前端代码、后端代码和数据库数据等,这些内容可以在目标环境的服务器上部署起来,成为一个运行的程序。前端配置数据即为应用程序的菜单、页面等向客户端进行展示的配置数据,基于前端配置数据可以得到前端代码,执行相应的前端操作。后端配置数据是面相开发人员设计某个业务领域应用程序时涉及到的表单模型、实体模型、代码模型、报表模型以及执行每个业务的业务逻辑和业务操作。基于后端配置数据可以得到后端代码。另外,数据库的链接信息即为数据源信息,数据库的链接信息指示了运行时访问的数据来源。
数据源信息可以录入数据源名称、描述、用途,同时保存时后端生成数据源编码。用途为下拉框,可选发布主数据源、发布备份数据源、业务数据源三个选项。同时,对于一次应用发布只能建一个发布主数据源和一个发布备份数据源,可以建多个业务数据源。除此数据源信息之外,配置数据还包括外部链接信息,通过录入外部链接名称和描述信息可以得到,保存时后端生成外部链接编码。同一次应用发布只能将最多只能把一项外部链接设为“缓存清除外链”,也可以不设置缓存清除外链。当把某项设为缓存清除外链时,其他项需改为关闭状态。
作为示例的,在一次应用发布存储的数据源信息中,数据源名称可以为idesqlserver、mysqlnew、oracle和oracle2,其对应的用途分别为:发布主库、发布备份库和两个业务库。外部链接名称可以是远程数据列查询接口、设备服务和本地测试的本地ip链接。
本发明实施例的应用发布方法,通过将配置过程中的配置数据划分来源,在运行端只需根据配置数据就可以获取相应的运行代码,不需要将所有的代码数据进行传输,在实现各项功能的前提下还保证了代码的安全性。
可以理解的是,基于需求信息配置应用程序,得到配置应用程序过程中的配置数据,还包括:
获取更新的运行需求;
基于更新的运行需求配置更新后的应用程序,得到配置更新后的应用程序过程中的增量配置数据。
需要说明的是,需求信息运行端需求的应用程序信息,在应用程序需要发布或者升级的情况下,当接收到对应用程序的更新指令时,研发人员通过更新配置得到增量配置数据,能够实现新的应用行为,从而实现应用发布或者应用升级。在收到更新的需求信息时,设计时会按照之前的配置过程对应用程序升级配置,但是其只需要在原有基础上对需要升级部分进行针对性的配置,无需对整个程序重新配置。配置完成后,再次进行应用发布,会将设计时的增量配置数据发布到目标环境的运行时数据库中,此时目标环境的运行时应用程序即为最新的应用版本。
本发明实施例的应用发布方法,由于可根据更新的需求信息生成增量的配置数据,在某一业务领域的通用模板已经发布的前提下,可以根据客户的个性化定值化需求,在原先通用模板的基础上,快速配置新增的内容,不用对更新的应用程序整体重新编程,提高了更新服务的效率。
本发明实施例公开了一种应用发布方法,该方法应用于服务器,具体来说应用在运行端所在服务器,如图2所示,一种应用发布方法,包括:
步骤301、接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据所述应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;
步骤302、基于所述运行时数据库的配置数据,运行所述应用程序。
根据本发明实施例的应用发布方法,本实施例在运行时由调用设计时的接口获取视图数据改为由运行时读取本地数据库获取。接收的是设计时数据库发布配置完成的配置数据,因此,藉由运行时数据库运行应用程序时,不会受到未配置完成的数据的影响,因此提高了运行应用的可靠性。本发明的方法实现了设计时和运行时的解耦,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。
可以理解的是,基于运行时数据库的配置数据,运行应用程序,包括:
基于运行时数据库的配置数据,生成前端代码、后端代码和数据源数据;
基于前端代码、后端代码和数据源数据,运行应用程序。
需要说明的是,运行应用程序时,需要解析配置数据并在本地的运行时数据库中缓存相应数据,由于配置数据中包括前端配置数据、后端配置数据和数据源信息,经解析后,前端配置数据会对应解析出页面视图数据,后端配置数据对应解析出模型结构数据和注册的业务操作信息,数据源信息会解析出运行时访问的数据库链接信息。例如,运行时可以根据解析出配置数据的视图id,获取视图数据,还可以根据应用缓存视图数据。运行时解析出配置数据的模型id获取模型结构数据。
可以理解的是,基于运行时数据库的配置数据,运行应用程序,包括:
获取运行时数据库的增量配置数据;
基于运行时数据库的配置数据和增量配置数据,运行应用程序。
需要说明的是,由于运行时数据库中存储有上次应用发布的配置数据,因此当运行端有应用程序更新需求时,只需要获取更新需求对应设计端发布的增量配置数据再结合已有的配置数据就可以实现更新,不用对更新的应用程序重新编程。
下面对本发明提供的应用发布装置进行描述,下文描述的应用发布装置与上文描述应用在设计端的应用发布方法可相互对应参照。如图3所示,应用发布装置包括:
配置模块401,用于配置应用程序;
存储模块402,用于获取配置应用程序过程中的配置数据,并存储至设计时数据库;
应用发布模块403,用于根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;
其中,运行时数据库用于为应用程序的运行提供配置数据。
需要说明的是,由于设计时数据库和运行时数据可能会设置在不同的环境中,因此,应用发布装置还设有环境管理菜单,用于管理DEV、SIT、UAT等环境的基础信息,每种环境的基础信息包括环境名称、环境标识和描述信息等。环境管理菜单还可以管理当前环境下的外部链接信息和数据源信息,
在外部链接tab页,点击新增按钮,可以把外面定义的外链添加到该环境下。选择外部链接名称时,会自动带出外部链接编码。点击外链列表行的修改按钮可以设置该环境下的外链地址。在数据源tab页,点击新增按钮,可以把外面定义的数据源添加到该环境下。选择数据源名称时,会自动带出数据源编码。点击数据源列表行的修改按钮可以设置该环境下的数据源详细信息。包括数据库类型、数据源链接路径、用户名、密码等详细信息。
根据本发明实施例的应用发布装置,在配置应用程序的同时,可以将配置应用程序过程中的配置数据存储至设计时数据库,然后基于配置完成标识再将存储的配置数据发送给运行时数据库。通过这种方式,设计时实现了和运行时的解耦。相比传统方式中运行时会直接访问设计时的配置数据,本发明中运行时访问自身的运行时数据库,实现了设计时和运行时的解绑,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。同时,由于运行时数据库中存储的是设计时数据库发送的基于配置完成标识的配置数据,因此运行时不会受到未配置完成的数据的影响,提高了运行应用的可靠性。
可以理解的是,所述获取配置应用程序过程中的配置数据,并存储至设计时数据库,包括:
获取所述配置应用程序过程中各个时刻的配置数据;
将所述配置应用程序过程中各个时刻的配置数据均存储至所述设计时数据库。
可以理解的是,所述根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库,包括:
根据所述应用程序的运行需求,从所述设计时数据库中获取所述应用程序配置完成时刻的配置数据;
将所述配置完成时刻的配置数据发布至所述运行时数据库。
可以理解的是,所述配置应用程序,包括:
基于所述运行需求配置所述应用程序,得到配置应用程序过程中的配置数据;
其中,所述配置数据包括前端配置数据、后端配置数据和数据源信息。
可以理解的是,所述基于需求信息配置所述应用程序,得到配置应用程序过程中的配置数据,还包括:
获取更新的运行需求;
基于所述更新的运行需求配置更新后的应用程序,得到配置更新后的应用程序过程中的增量配置数据。
下面对本发明提供的应用发布装置进行描述,下文描述的应用发布装置与上文描述应用在运行端的应用发布方法可相互对应参照。如图4所示,应用发布装置包括:
接收模块501,接收模块,用于接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据所述应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;
部署模块502,用于基于运行时数据库的配置数据,运行应用程序。
另外,需要说明的是,由于应用发布可以将设计时配置的最新版本的应用数据发布到运行时环境。因此应用发布装置执行应用发布的的具体操作流程包括:
步骤a、通过环境管理菜单选择运行时环境;
需要说明的是,运行时环境为必选项。
步骤b、填写运行时环境设置的发布主数据源链接地址、发布备份数据源的链接地址、缓存清除外链地址。
需要说明的是,发布主数据源和发布备份数据源是必填项。“缓存清除外链”为可选项。用户可以勾选应用js或应用css脚本。勾选后自动在备注栏填入备注信息。如勾选了应用js,则备注栏自动填入“已选应用js”。
步骤c、在发布操作页点击确定按钮时进行发布。
步骤d、发布前需校验发布主数据源和发布备份数据源有没有设置,如果没有设置,弹框提示“发布主数据源或发布备份数据源没有设置,请先设置”;
如果校验通过,点击确定按钮,会弹出确认发布的弹窗。用户确认没问题,点击确定时才正式执行发布。
步骤e、确认发布的窗口会显示源环境的名称和标识,显示运行时环境的名称和标识,运行时环境下的发布主数据源的名称和链接地址,运行时环境下的发布备份数据源的名称和链接地址。
本发明实施例的应用发布装置,接收的是设计时数据库发布配置完成的配置数据,因此,藉由运行时数据库运行应用程序时,不会受到未配置完成的数据的影响,因此提高了运行应用的可靠性。本发明的装置实现了设计时和运行时的解耦,支持设计时和运行时工作在不同的目标环境中,扩展了应用发布方法的应用范围。
可以理解的是,部署模块中基于运行时数据库的配置数据,运行应用程序,包括:
基于运行时数据库的配置数据,生成前端代码、后端代码和数据源数据;
基于前端代码、后端代码和数据源数据,运行应用程序。
可以理解的是,部署模块中基于运行时数据库的配置数据,运行应用程序,包括:
获取运行时数据库的增量配置数据;
基于运行时数据库的配置数据和增量配置数据,运行应用程序。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:
配置应用程序;
获取配置应用程序过程中的配置数据,并存储至设计时数据库;
根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;
其中,所述运行时数据库用于为所述应用程序的运行提供配置数据。
或者,包括:
接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据所述应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;
基于所述运行时数据库的配置数据,运行所述应用程序。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
配置应用程序;
获取配置应用程序过程中的配置数据,并存储至设计时数据库;
根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;
其中,所述运行时数据库用于为所述应用程序的运行提供配置数据。
或者,包括:
接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据所述应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;
基于所述运行时数据库的配置数据,运行所述应用程序。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
配置应用程序;
获取配置应用程序过程中的配置数据,并存储至设计时数据库;
根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;
其中,所述运行时数据库用于为所述应用程序的运行提供配置数据。
或者,包括:
接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据所述应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;
基于所述运行时数据库的配置数据,运行所述应用程序。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是,以上实施方式仅用于说明本发明,而非对本发明的限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本发明技术方案的精神和范围,均应涵盖在本发明的范围中。
Claims (8)
1.一种应用发布方法,其特征在于,包括:
配置应用程序;
获取配置应用程序过程中的配置数据,并存储至设计时数据库;
根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;所述运行需求是运行端给出或者设计端根据相应业务领域总结出的满足所述应用程序的各项功能能够正常运行的需求信息;
其中,所述运行时数据库用于为所述应用程序的运行提供配置数据;
所述获取配置应用程序过程中的配置数据,并存储至设计时数据库,包括:
获取配置应用程序过程中各个时刻的配置数据;
将所述配置应用程序过程中各个时刻的配置数据均存储至所述设计时数据库;
所述根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库,包括:
根据所述应用程序的运行需求,从所述设计时数据库中获取所述应用程序配置完成时刻的配置数据;
将所述配置完成时刻的配置数据发布至所述运行时数据库;
所述配置应用程序,包括:
基于所述运行需求配置所述应用程序,得到配置应用程序过程中的配置数据;
其中,所述配置数据包括前端配置数据、后端配置数据和数据源信息;所述前端配置数据为所述应用程序的菜单、页面向客户端进行展示的配置数据,所述后端配置数据为面向开发人员设计所述应用程序时涉及到的表单模型、实体模型、代码模型、报表模型以及执行每个业务的业务逻辑和业务操作;
所述基于所述运行需求配置所述应用程序,得到配置应用程序过程中的配置数据,还包括:
获取更新的运行需求;
基于所述更新的运行需求配置更新后的应用程序,得到配置更新后的应用程序过程中的增量配置数据。
2.一种应用发布方法,其特征在于,包括:
接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;所述运行需求是运行端给出或者设计端根据相应业务领域总结出的满足所述应用程序的各项功能能够正常运行的需求信息;
基于所述运行时数据库的配置数据,运行所述应用程序;
所述设计时数据库用于存储配置应用程序过程中各个时刻的配置数据;
所述根据应用程序的运行需求,从所述设计时数据库中确定的部分配置数据,包括:
根据所述应用程序的运行需求,从所述设计时数据库中获取所述应用程序配置完成时刻的配置数据;
将所述配置完成时刻的配置数据发布至所述运行时数据库;
所述设计时数据库,还用于配置所述应用程序,具体包括:
基于所述运行需求配置所述应用程序,得到配置应用程序过程中的配置数据;
其中,所述配置数据包括前端配置数据、后端配置数据和数据源信息;所述前端配置数据为所述应用程序的菜单、页面向客户端进行展示的配置数据,所述后端配置数据为面向开发人员设计所述应用程序时涉及到的表单模型、实体模型、代码模型、报表模型以及执行每个业务的业务逻辑和业务操作;
所述设计时数据库,还用于获取更新的运行需求;基于所述更新的运行需求配置更新后的应用程序,得到配置更新后的应用程序过程中的增量配置数据。
3.根据权利要求2所述的应用发布方法,其特征在于,所述基于所述运行时数据库的配置数据,运行应用程序,包括:
基于所述运行时数据库的配置数据,生成前端代码、后端代码和数据源数据;
基于所述前端代码、所述后端代码和所述数据源数据,运行所述应用程序。
4.根据权利要求2所述的应用发布方法,其特征在于,所述基于所述运行时数据库的配置数据,运行所述应用程序,包括:
获取所述运行时数据库的增量配置数据;
基于所述运行时数据库的配置数据和所述增量配置数据,运行所述应用程序。
5.一种应用发布装置,其特征在于,包括:
配置模块,用于配置应用程序;
存储模块,用于获取配置应用程序过程中的配置数据,并存储至设计时数据库;
应用发布模块,用于根据所述应用程序的运行需求,将所述设计时数据库中的部分配置数据发布至运行时数据库;所述运行需求是运行端给出或者设计端根据相应业务领域总结出的满足所述应用程序的各项功能能够正常运行的需求信息;
其中,所述运行时数据库用于为所述应用程序的运行提供配置数据;
所述存储模块,具体用于:
获取配置应用程序过程中各个时刻的配置数据;
将所述配置应用程序过程中各个时刻的配置数据均存储至所述设计时数据库;
所述应用发布模块,具体用于:
根据所述应用程序的运行需求,从所述设计时数据库中获取所述应用程序配置完成时刻的配置数据;
将所述配置完成时刻的配置数据发布至所述运行时数据库;
配置模块,具体用于基于所述运行需求配置所述应用程序,得到配置应用程序过程中的配置数据;
其中,所述配置数据包括前端配置数据、后端配置数据和数据源信息;所述前端配置数据为所述应用程序的菜单、页面向客户端进行展示的配置数据,所述后端配置数据为面向开发人员设计所述应用程序时涉及到的表单模型、实体模型、代码模型、报表模型以及执行每个业务的业务逻辑和业务操作;
配置模块,具体还用于获取更新的运行需求;基于所述更新的运行需求配置更新后的应用程序,得到配置更新后的应用程序过程中的增量配置数据。
6.一种应用发布装置,其特征在于,包括:
接收模块,用于接收设计时数据库发布的配置数据,并存储至运行时数据库;其中,所述配置数据是根据应用程序的运行需求,从所述设计时数据库中确定的部分配置数据;所述运行需求是运行端给出或者设计端根据相应业务领域总结出的满足所述应用程序的各项功能能够正常运行的需求信息;
部署模块,用于基于所述运行时数据库的配置数据,运行应用程序;
所述设计时数据库用于存储配置应用程序过程中各个时刻的配置数据;
所述接收模块中,所述根据应用程序的运行需求,从所述设计时数据库中确定的部分配置数据,具体包括:
根据所述应用程序的运行需求,从所述设计时数据库中获取所述应用程序配置完成时刻的配置数据;
将所述配置完成时刻的配置数据发布至所述运行时数据库;
所述设计时数据库,还用于配置所述应用程序,具体包括:
基于所述运行需求配置所述应用程序,得到配置应用程序过程中的配置数据;
其中,所述配置数据包括前端配置数据、后端配置数据和数据源信息;所述前端配置数据为所述应用程序的菜单、页面向客户端进行展示的配置数据,所述后端配置数据为面向开发人员设计所述应用程序时涉及到的表单模型、实体模型、代码模型、报表模型以及执行每个业务的业务逻辑和业务操作;
所述设计时数据库,还用于获取更新的运行需求;基于所述更新的运行需求配置更新后的应用程序,得到配置更新后的应用程序过程中的增量配置数据。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述应用发布方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述应用发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310103089.3A CN116028138B (zh) | 2023-02-13 | 2023-02-13 | 应用发布方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310103089.3A CN116028138B (zh) | 2023-02-13 | 2023-02-13 | 应用发布方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028138A CN116028138A (zh) | 2023-04-28 |
CN116028138B true CN116028138B (zh) | 2024-03-15 |
Family
ID=86074438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310103089.3A Active CN116028138B (zh) | 2023-02-13 | 2023-02-13 | 应用发布方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028138B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189680A (zh) * | 2018-08-24 | 2019-01-11 | 苏州玩友时代科技股份有限公司 | 一种应用发布和配置的系统及方法 |
CN109617707A (zh) * | 2018-10-26 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 无埋点参数的配置方法、装置、计算机设备及存储介质 |
CN109684203A (zh) * | 2018-11-27 | 2019-04-26 | 平安科技(深圳)有限公司 | 程序运行参数配置方法、装置、计算机设备及存储介质 |
CN112650545A (zh) * | 2020-12-30 | 2021-04-13 | 邦邦汽车销售服务(北京)有限公司 | 一种配置管理系统、方法及存储介质 |
CN114270306A (zh) * | 2019-08-27 | 2022-04-01 | 西门子股份公司 | 应用程序开发部署方法、装置和计算机可读介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8683430B2 (en) * | 2011-01-07 | 2014-03-25 | International Business Machines Corporation | Synchronizing development code and deployed executable versioning within distributed systems |
-
2023
- 2023-02-13 CN CN202310103089.3A patent/CN116028138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189680A (zh) * | 2018-08-24 | 2019-01-11 | 苏州玩友时代科技股份有限公司 | 一种应用发布和配置的系统及方法 |
CN109617707A (zh) * | 2018-10-26 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 无埋点参数的配置方法、装置、计算机设备及存储介质 |
CN109684203A (zh) * | 2018-11-27 | 2019-04-26 | 平安科技(深圳)有限公司 | 程序运行参数配置方法、装置、计算机设备及存储介质 |
CN114270306A (zh) * | 2019-08-27 | 2022-04-01 | 西门子股份公司 | 应用程序开发部署方法、装置和计算机可读介质 |
CN112650545A (zh) * | 2020-12-30 | 2021-04-13 | 邦邦汽车销售服务(北京)有限公司 | 一种配置管理系统、方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116028138A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wöhrer et al. | Design patterns for smart contracts in the ethereum ecosystem | |
CN111158674B (zh) | 组件管理方法、系统、设备及存储介质 | |
US7676816B2 (en) | Systems and methods for integrating services | |
US8533660B2 (en) | Annotation of models for model-driven engineering | |
US20190243665A1 (en) | Application runtime configuration using design time artifacts | |
US7886035B2 (en) | Profile service based deployment configuration | |
EP2228726B1 (en) | A method and system for task modeling of mobile phone applications | |
JP2021518619A (ja) | コネクタ開発および統合チャネル展開のためのシステムおよび方法 | |
CN110944048B (zh) | 业务逻辑配置方法及装置 | |
US11113050B2 (en) | Application architecture generation | |
US8843943B2 (en) | Generating a service definition in view of service activity events | |
US11055078B2 (en) | Systems and methods for deploying software products to environments | |
Capilla et al. | An enhanced architectural knowledge metamodel linking architectural design decisions to other artifacts in the software engineering lifecycle | |
US7448028B2 (en) | System and method for selective local object retrieval | |
US20040250258A1 (en) | System and method for rule based object navigation | |
EP3447635A1 (en) | Application architecture generation | |
CN115993966B (zh) | 应用开发系统及方法 | |
US8612996B2 (en) | Technique for integrating a distributed object system component with a service oriented architecture application | |
CN114879939A (zh) | 生成微服务的方法、系统、电子设备及存储介质 | |
US11899570B2 (en) | System and method for optimizing assessment and implementation of microservices code for cloud platforms | |
Lohmann et al. | A model-driven approach to discovery, testing and monitoring of web services | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN116028138B (zh) | 应用发布方法及装置 | |
CN112230938B (zh) | 工业互联网的租赁产品的配置方法和装置 | |
Di Ruscio et al. | A model‐driven approach to detect faults in FOSS systems |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |