CN112416321A - 应用生成方法、装置和存储介质及电子装置 - Google Patents
应用生成方法、装置和存储介质及电子装置 Download PDFInfo
- Publication number
- CN112416321A CN112416321A CN202011296409.4A CN202011296409A CN112416321A CN 112416321 A CN112416321 A CN 112416321A CN 202011296409 A CN202011296409 A CN 202011296409A CN 112416321 A CN112416321 A CN 112416321A
- Authority
- CN
- China
- Prior art keywords
- application
- service
- main frame
- code
- subframe
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000015654 memory Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/31—Programming languages or programming paradigms
- G06F8/313—Logic programming, e.g. PROLOG programming language
-
- 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/72—Code refactoring
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用生成方法、装置和存储介质及电子装置。其中,该方法包括:获取第一业务代码,其中,第一业务代码为初始业务代码;在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;基于第二业务代码与主框架,生成第一应用。本发明解决了应用生成效率较低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种应用生成方法、装置和存储介质及电子装置。
背景技术
近年来微服务的应用越发广泛,而在微服务场景,用于开发微服务应用的代码与微服务的服务类型以及微服务的框架耦合十分严重,使得在应用的服务类型或者微服务的框架发生改变时,还需对应地大量修改上述代码,效率十分低下。因此,存在应用生成的效率较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用生成方法、装置和存储介质及电子装置,以至少解决应用生成效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种应用生成方法,包括:获取第一业务代码,其中,上述第一业务代码为初始业务代码;在主框架中确定与第一应用的服务类型对应的第一子框架,其中,上述主框架用于生成上述第一应用,上述主框架包括多个子框架,上述多个子框架各自对应的服务类型存在不同;将上述第一业务代码输入上述第一子框架,生成与上述第一应用的服务类型对应的第二业务代码;基于上述第二业务代码与上述主框架,生成上述第一应用。
根据本发明实施例的另一方面,还提供了一种应用生成装置,包括:获取单元,用于获取第一业务代码,其中,上述第一业务代码为初始业务代码;第一确定单元,用于在主框架中确定与第一应用的服务类型对应的第一子框架,其中,上述主框架用于生成上述第一应用,上述主框架包括多个子框架,上述多个子框架各自对应的服务类型存在不同;第一生成单元,用于将上述第一业务代码输入上述第一子框架,生成与上述第一应用的服务类型对应的第二业务代码;第二生成单元,用于基于上述第二业务代码与上述主框架,生成上述第一应用。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述应用生成方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的应用生成方法。
在本发明实施例中,获取第一业务代码,其中,上述第一业务代码为初始业务代码;在主框架中确定与第一应用的服务类型对应的第一子框架,其中,上述主框架用于生成上述第一应用,上述主框架包括多个子框架,上述多个子框架各自对应的服务类型存在不同;将上述第一业务代码输入上述第一子框架,生成与上述第一应用的服务类型对应的第二业务代码;基于上述第二业务代码与上述主框架,生成上述第一应用,利用主框架中包括多个对应不同服务类型的子框架的方式,将作为初始业务代码的第一业务代码转化为与服务类型对应的第二业务代码,这样一来,即使业务类型发生变化,但作为初始业务代码的第一业务代码仍可复用,只要通过主框架中与服务类型对应的子框架,将第一业务代码转化为与变化后的服务类型对应的业务代码即可,进而达到了降低业务代码的耦合度的技术目的,从而实现了提高目标应用的生成效率的技术效果,进而解决了应用生成效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的应用生成方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的应用生成方法的流程图的示意图;
图3是根据本发明实施例的一种可选的应用生成方法的示意图;
图4是根据本发明实施例的另一种可选的应用生成方法的示意图;
图5是根据本发明实施例的一种可选的应用生成装置的示意图;
图6是根据本发明实施例的另一种可选的应用生成装置的示意图;
图7是根据本发明实施例的另一种可选的应用生成装置的示意图;
图8是根据本发明实施例的另一种可选的应用生成装置的示意图;
图9是根据本发明实施例的另一种可选的应用生成装置的示意图;
图10是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在移动终端或者计算机终端类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种应用生成方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的应用生成方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及目标应用的生成,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
可选地,作为一种可选的实施方式,如图2所示,应用生成方法包括:
S202,获取第一业务代码,其中,第一业务代码为初始业务代码;
S204,在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;
S206,将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;
S208,基于第二业务代码与主框架,生成第一应用。
可选的,一个大型复杂软件应用由一个或多个微服务组成,其中,系统中的各个微服务可被独立部署,各个微服务之间是松耦合的,且每个微服务仅关注于完成一件任务并很好地完成,在所有情况下,每个任务代表着一个小的业务能力。在本实施例中,上述应用生成方法可以但不限于应用在一个微服务的生成场景,还可以但不限于应用在由一个或多个微服务组成的一个大型复杂软件应用的生成场景。
需要说明的是,获取第一业务代码,其中,第一业务代码为初始业务代码;在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;基于第二业务代码与主框架,生成第一应用。
可选的,在本实施例中,子框架可以但不限于为微服务框架,例如由阿里巴巴公司开源的Dubbo微服务框架,基于RPC原理的微服务框架,由于其有良好的性能及稳定性,目前IoT主要用在底层服务里;再例如由Spring基金会开源的SpringCloud微服务框架,基于Rest的交互方式,由于其符合主流的服务交互方式及良好的灵活性,目前IoT主要用在外层服务中。
可选的,在本实施例中,主框架可以但不限于以业界最流行的微服务框架Dubbo、微服务框架SpringCloud为主,配合阿里巴巴开源的注册中心Nacos,针对多微服务框架的框架,设计出的一套开发框架,其中,Nacos可以但不限于为由阿里巴巴开源的微服务注册中心;
进一步举例说明,可选的主框架可以但不限例如图3所示,主框架302包括多个子框架,此处以第一子框架3022以及第二子框架3024为例说明,此外,主框架302还包括业务逻辑层3026以及底层中间层3028,具体的例如,第一子框架3022为微服务框架Dubbo,第二子框架3024为微服务框架SpringCloud,业务逻辑层3026为第一应用的核心业务逻辑,被第一子框架3022以及第二子框架3024调用,底层中间层3028为注册中心Nacos。可选的,底层中间层3028可以但不限于为应用注册表,这个应用注册表拥有每个应用及对应的入口,在前端领域里,入口的直接表现形式可以是路由,又或者对应的应用映射。除此之外,子框架还可以但不限于为Dropwozard、Akka、Net相关等微服务框架,以上仅为举例说明,在此并不做限制。
可选的,在本实施例中,由于主框架下同时可能存在多子框架、中间层或中间组件,为了对上述结构之间进行区分,都有一个相应的路由地址;
可选的,在本实施例中,还可以但不限于对主框架进行监听;在监听到主框架中存在任一结构的路由地址发生变化的情况下,卸载路由地址发生改变的结构所对应的子框架。
通过本申请提供的实施例,获取第一业务代码,其中,第一业务代码为初始业务代码;在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;基于第二业务代码与主框架,生成第一应用,利用主框架中包括多个对应不同服务类型的子框架的方式,将作为初始业务代码的第一业务代码转化为与服务类型对应的第二业务代码,这样一来,即使业务类型发生变化,但作为初始业务代码的第一业务代码仍可复用,只要通过主框架中与服务类型对应的子框架,将第一业务代码转化为与变化后的服务类型对应的业务代码即可,进而达到了降低业务代码的耦合度的技术目的,从而实现了提高目标应用的生成效率的技术效果。
作为一种可选的方案,在主框架中确定与第一应用的服务类型对应的第一子框架,包括:
S1,获取目标服务请求,其中,目标服务请求携带有用于表示第一应用的服务类型的目标服务类型标签;
S2,响应目标服务请求,在主框架中查找同样携带有目标服务类型标签的第一子框架。
需要说明的是,获取目标服务请求,其中,目标服务请求携带有用于表示第一应用的服务类型的目标服务类型标签;响应目标服务请求,在主框架中查找同样携带有目标服务类型标签的第一子框架。
在一个示例性实施例中,在目标容器中打开主框架,并获取第一应用的服务类型,进而在目标容器中打开主框架的情况下,确定与第一应用的服务类型对应的主框架中包含的第一子框架,以及确定出与第一应用的服务类型对应的业务逻辑以及中间组件。
由于服务类型的种类多种多样,可以但不限于从获取的预设资源包中获取待生成的第一应用的服务类型,进而根据第一应用的服务类型对主框架下的相关结构(如第一子框架)进行确认。
通过本申请提供的实施例,获取目标服务请求,其中,目标服务请求携带有用于表示第一应用的服务类型的目标服务类型标签;响应目标服务请求,在主框架中查找同样携带有目标服务类型标签的第一子框架,达到了确定与第一应用的服务类型对应的第一子框架的目的,实现了基于第一子框架快速生成对应的第一应用的效果。
作为一种可选的方案,在获取第一业务代码之后,还包括:
S1,在主框架中确定与第一应用的服务类型对应的第二子框架;
S2,将第一业务代码输入第二子框架,生成与第一应用的服务类型对应的第三业务代码;
S3,基于第二业务代码、第三业务代码和主框架,生成第一应用。
需要说明的是,在主框架中确定与第一应用的服务类型对应的第二子框架;将第一业务代码输入第二子框架,生成与第一应用的服务类型对应的第三业务代码;基于第二业务代码、第三业务代码和主框架,生成第一应用。
进一步举例说明,可选的例如图3所示,第一应用即基于第一子框架3022以及第二子框架3024生成。
通过本申请提供的实施例,在主框架中确定与第一应用的服务类型对应的第二子框架;将第一业务代码输入第二子框架,生成与第一应用的服务类型对应的第三业务代码;基于第二业务代码、第三业务代码和主框架,生成第一应用,达到了灵活组合不同的子框架以生成应用的目的,实现了提高应用的生成灵活性的效果。
作为一种可选的方案,基于第二业务代码与主框架,生成第一应用,包括:
S1,获取第一子框架的应用程序接口,其中,应用程序接口用于提供对外服务;
S2,获取主框架中的业务逻辑层内的目标逻辑,其中,目标逻辑为第一应用的业务逻辑;
S3,基于第二业务代码,建立应用程序接口与业务逻辑层的关联关系,其中,关联关系用于表示根据应用程序接口调用业务逻辑层内的目标逻辑;
S4,基于建立好关联关系的应用程序接口与业务逻辑层,生成第一应用。
需要说明的是,获取第一子框架的应用程序接口,其中,应用程序接口用于提供对外服务;获取主框架中的业务逻辑层内的目标逻辑,其中,目标逻辑为第一应用的业务逻辑;基于第二业务代码,建立应用程序接口与业务逻辑层的关联关系,其中,关联关系用于表示根据应用程序接口调用业务逻辑层内的目标逻辑;基于建立好关联关系的应用程序接口与业务逻辑层,生成第一应用。
进一步举例说明,继续基于图3所示场景,可选的例如图4所示,第一子框架3022中包括第一应用程序接口(Application Programming Interface,简称API)402以及第一应用程序接口实现404,同样的,第二子框架3024包括第二应用程序接口406以及第二应用程序接口实现408,其中,以第一子框架3022为例说明;
假设第一子框架3022为Dubbo微服务框架,则相对应的第一应用程序接口402为Dubbo API接口,声明了Dubbo服务对外提供的接口形式;同时该API层会通过jar包的方式,被使用者引用;第一应用程序接口实现404为DubboAPI实现,实现DubboAPI接口,同时调用业务逻辑层3026,完成业务逻辑在Dubbo接口层的实现,没有业务逻辑,只有框架的调用。
假设第一子框架3022为SpringCloud微服务框架,则相对应的第一应用程序接口402为Rest API接口,声明了Rest服务对外提供的接口形式;同时该API层通过@Feign实现,会通过jar包的方式,被使用者引用;第一应用程序接口实现404为RestAPI实现,实现RestAPI接口,同时调用业务逻辑层,完成业务逻辑在Rest接口层的实现,没有业务逻辑,只有框架的调用。
通过本申请提供的实施例,获取第一子框架的应用程序接口,其中,应用程序接口用于提供对外服务;获取主框架中的业务逻辑层内的目标逻辑,其中,目标逻辑为第一应用的业务逻辑;基于第二业务代码,建立应用程序接口与业务逻辑层的关联关系,其中,关联关系用于表示根据应用程序接口调用业务逻辑层内的目标逻辑;基于建立好关联关系的应用程序接口与业务逻辑层,生成第一应用,达到了以一套完整的系统以生成应用的目的,实现了提高应用生成的完整性的效果。
作为一种可选的方案,基于建立好关联关系的应用程序接口与业务逻辑层,生成第一应用,包括:
将主框架中的中间组件、第一子框架、应用程序接口以及业务逻辑层进行打包,并将打包结果作为第一应用,其中,中间组件用于管理主框架的计算资源以及网络通信。
可选的,中间组件可以但不限于介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务、功能,衔接网络上应用系统的各个部分或不同的应用,能都达到资源共享、功能共享的目的,例如Apusic、BEA Weblogic、oracle fusion、SA PXI、Nacos等。
需要说明的是,将主框架中的中间组件、第一子框架、应用程序接口以及业务逻辑层进行打包,并将打包结果作为第一应用,其中,中间组件用于管理主框架的计算资源以及网络通信。
通过本申请提供的实施例,将主框架中的中间组件、第一子框架、应用程序接口以及业务逻辑层进行打包,并将打包结果作为第一应用,其中,中间组件用于管理主框架的计算资源以及网络通信,达到了组合多种结构以打包生成应用的目的,实现了提高应用生成统一性的效果。
作为一种可选的方案,在获取第一业务代码之后,包括:
S1,在主框架中确定与第二应用的服务类型对应的第三子框架,其中,主框架还用于生成第二应用;
S2,将第一业务代码输入第三子框架,生成与第二应用的服务类型对应的第四业务代码;
S3,基于第四业务代码与主框架,生成第二应用。
需要说明的是,在主框架中确定与第二应用的服务类型对应的第三子框架,其中,主框架还用于生成第二应用;将第一业务代码输入第三子框架,生成与第二应用的服务类型对应的第四业务代码;基于第四业务代码与主框架,生成第二应用。
可选的,在本实施例中,利用上述应用生成方法中的主框架,可以快速复用初始业务代码,并利用与需求应用的服务类型对应的子框架,实现多微服务暴露方式。
通过本申请提供的实施例,在主框架中确定与第二应用的服务类型对应的第三子框架,其中,主框架还用于生成第二应用;将第一业务代码输入第三子框架,生成与第二应用的服务类型对应的第四业务代码;基于第四业务代码与主框架,生成第二应用,达到了利用复用代码,以允许生成多种服务类型的应用的目的,实现了提高应用生成的多样性的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述应用生成方法的应用生成装置。如图5所示,该装置包括:
获取单元502,用于获取第一业务代码,其中,第一业务代码为初始业务代码;
第一确定单元504,用于在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;
第一生成单元506,用于将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;
第二生成单元508,用于基于第二业务代码与主框架,生成第一应用。
可选的,一个大型复杂软件应用由一个或多个微服务组成,其中,系统中的各个微服务可被独立部署,各个微服务之间是松耦合的,且每个微服务仅关注于完成一件任务并很好地完成,在所有情况下,每个任务代表着一个小的业务能力。在本实施例中,上述应用生成方法可以但不限于应用在一个微服务的生成场景,还可以但不限于应用在由一个或多个微服务组成的一个大型复杂软件应用的生成场景。
需要说明的是,获取第一业务代码,其中,第一业务代码为初始业务代码;在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;基于第二业务代码与主框架,生成第一应用。
可选的,在本实施例中,子框架可以但不限于为微服务框架,例如由阿里巴巴公司开源的Dubbo微服务框架,基于RPC原理的微服务框架,由于其有良好的性能及稳定性,目前IoT主要用在底层服务里;再例如由Spring基金会开源的SpringCloud微服务框架,基于Rest的交互方式,由于其符合主流的服务交互方式及良好的灵活性,目前IoT主要用在外层服务中。
可选的,在本实施例中,主框架可以但不限于以业界最流行的微服务框架Dubbo、微服务框架SpringCloud为主,配合阿里巴巴开源的注册中心Nacos,针对多微服务框架的框架,设计出的一套开发框架,其中,Nacos可以但不限于为由阿里巴巴开源的微服务注册中心;
进一步举例说明,可选的主框架可以但不限例如图3所示,主框架302包括多个子框架,此处以第一子框架3022以及第二子框架3024为例说明,此外,主框架302还包括业务逻辑层3026以及底层中间层3028,具体的例如,第一子框架3022为微服务框架Dubbo,第二子框架3024为微服务框架SpringCloud,业务逻辑层3026为第一应用的核心业务逻辑,被第一子框架3022以及第二子框架3024调用,底层中间层3028为注册中心Nacos。可选的,底层中间层3028可以但不限于为应用注册表,这个应用注册表拥有每个应用及对应的入口,在前端领域里,入口的直接表现形式可以是路由,又或者对应的应用映射。除此之外,子框架还可以但不限于为Dropwozard、Akka、Net相关等微服务框架,以上仅为举例说明,在此并不做限制。
可选的,在本实施例中,由于主框架下同时可能存在多子框架、中间层或中间组件,为了对上述结构之间进行区分,都有一个相应的路由地址;
可选的,在本实施例中,还可以但不限于对主框架进行监听;在监听到主框架中存在任一结构的路由地址发生变化的情况下,卸载路由地址发生改变的结构所对应的子框架。
通过本申请提供的实施例,获取第一业务代码,其中,第一业务代码为初始业务代码;在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;基于第二业务代码与主框架,生成第一应用,利用主框架中包括多个对应不同服务类型的子框架的方式,将作为初始业务代码的第一业务代码转化为与服务类型对应的第二业务代码,这样一来,即使业务类型发生变化,但作为初始业务代码的第一业务代码仍可复用,只要通过主框架中与服务类型对应的子框架,将第一业务代码转化为与变化后的服务类型对应的业务代码即可,进而达到了降低业务代码的耦合度的技术目的,从而实现了提高目标应用的生成效率的技术效果。
作为一种可选的方案,如图6所示,第一确定单元504,包括:
第一获取模块602,用于获取目标服务请求,其中,目标服务请求携带有用于表示第一应用的服务类型的目标服务类型标签;
响应模块604,用于响应目标服务请求,在主框架中查找同样携带有目标服务类型标签的第一子框架。
具体实施例可以参考上述应用生成方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,如图7所示,还包括:
第二确定单元702,用于在获取第一业务代码之后,在主框架中确定与第一应用的服务类型对应的第二子框架;
第三生成单元704,用于在获取第一业务代码之后,将第一业务代码输入第二子框架,生成与第一应用的服务类型对应的第三业务代码;
第四生成单元706,用于在获取第一业务代码之后,基于第二业务代码、第三业务代码和主框架,生成第一应用。
具体实施例可以参考上述应用生成方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,如图8所示,第二生成单元508,包括:
第二获取模块802,用于获取第一子框架的应用程序接口,其中,应用程序接口用于提供对外服务;
第三获取模块804,用于获取主框架中的业务逻辑层内的目标逻辑,其中,目标逻辑为第一应用的业务逻辑;
建立模块806,用于基于第二业务代码,建立应用程序接口与业务逻辑层的关联关系,其中,关联关系用于表示根据应用程序接口调用业务逻辑层内的目标逻辑;
生成模块808,用于基于建立好关联关系的应用程序接口与业务逻辑层,生成第一应用。
具体实施例可以参考上述应用生成方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,生成模块808,包括:
打包子模块,用于将主框架中的中间组件、第一子框架、应用程序接口以及业务逻辑层进行打包,并将打包结果作为第一应用,其中,中间组件用于管理主框架的计算资源以及网络通信。
具体实施例可以参考上述应用生成方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,如图9所示,包括:
第三确定单元902,用于在获取第一业务代码之后,在主框架中确定与第二应用的服务类型对应的第三子框架,其中,主框架还用于生成第二应用;
第五生成单元904,用于在获取第一业务代码之后,将第一业务代码输入第三子框架,生成与第二应用的服务类型对应的第四业务代码;
第六生成单元906,用于在获取第一业务代码之后,基于第四业务代码与主框架,生成第二应用。
具体实施例可以参考上述应用生成方法中所示示例,本示例中在此不再赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述应用生成方法的电子装置,如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取第一业务代码,其中,第一业务代码为初始业务代码;
S2,在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;
S3,将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;
S4,基于第二业务代码与主框架,生成第一应用。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的应用生成方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用生成方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储第一业务代码、第二业务代码以及第一应用等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述应用生成装置中的获取单元502、第一确定单元504、第一生成单元506及第二生成单元508。此外,还可以包括但不限于上述应用生成装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1008,用于显示上述第一业务代码、第二业务代码以及第一应用等信息;和连接总线1010,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取第一业务代码,其中,第一业务代码为初始业务代码;
S2,在主框架中确定与第一应用的服务类型对应的第一子框架,其中,主框架用于生成第一应用,主框架包括多个子框架,多个子框架各自对应的服务类型存在不同;
S3,将第一业务代码输入第一子框架,生成与第一应用的服务类型对应的第二业务代码;
S4,基于第二业务代码与主框架,生成第一应用。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用生成方法,其特征在于,包括:
获取第一业务代码,其中,所述第一业务代码为初始业务代码;
在主框架中确定与第一应用的服务类型对应的第一子框架,其中,所述主框架用于生成所述第一应用,所述主框架包括多个子框架,所述多个子框架各自对应的服务类型存在不同;
将所述第一业务代码输入所述第一子框架,生成与所述第一应用的服务类型对应的第二业务代码;
基于所述第二业务代码与所述主框架,生成所述第一应用。
2.根据权利要求1所述的方法,其特征在于,所述在主框架中确定与所述第一应用的服务类型对应的第一子框架,包括:
获取目标服务请求,其中,所述目标服务请求携带有用于表示所述第一应用的服务类型的目标服务类型标签;
响应所述目标服务请求,在所述主框架中查找同样携带有所述目标服务类型标签的所述第一子框架。
3.根据权利要求1所述的方法,其特征在于,在所述获取第一业务代码之后,还包括:
在主框架中确定与所述第一应用的服务类型对应的第二子框架;
将所述第一业务代码输入所述第二子框架,生成与所述第一应用的服务类型对应的第三业务代码;
基于所述第二业务代码、所述第三业务代码和所述主框架,生成所述第一应用。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二业务代码与所述主框架,生成所述第一应用,包括:
获取所述第一子框架的应用程序接口,其中,所述应用程序接口用于提供对外服务;
获取所述主框架中的业务逻辑层内的目标逻辑,其中,所述目标逻辑为所述第一应用的业务逻辑;
基于所述第二业务代码,建立所述应用程序接口与所述业务逻辑层的关联关系,其中,所述关联关系用于表示根据所述应用程序接口调用所述业务逻辑层内的所述目标逻辑;
基于建立好所述关联关系的所述应用程序接口与所述业务逻辑层,生成所述第一应用。
5.根据权利要求4所述的方法,其特征在于,所述基于建立好所述关联关系的所述应用程序接口与所述业务逻辑层,生成所述第一应用,包括:
将所述主框架中的中间组件、所述第一子框架、所述应用程序接口以及所述业务逻辑层进行打包,并将打包结果作为所述第一应用,其中,所述中间组件用于管理所述主框架的计算资源以及网络通信。
6.根据权利要求1所述的方法,其特征在于,在所述获取第一业务代码之后,包括:
在所述主框架中确定与第二应用的服务类型对应的第三子框架,其中,所述主框架还用于生成所述第二应用;
将所述第一业务代码输入所述第三子框架,生成与所述第二应用的服务类型对应的第四业务代码;
基于所述第四业务代码与所述主框架,生成所述第二应用。
7.一种应用生成装置,其特征在于,包括:
获取单元,用于获取第一业务代码,其中,所述第一业务代码为初始业务代码;
第一确定单元,用于在主框架中确定与第一应用的服务类型对应的第一子框架,其中,所述主框架用于生成所述第一应用,所述主框架包括多个子框架,所述多个子框架各自对应的服务类型存在不同;
第一生成单元,用于将所述第一业务代码输入所述第一子框架,生成与所述第一应用的服务类型对应的第二业务代码;
第二生成单元,用于基于所述第二业务代码与所述主框架,生成所述第一应用。
8.根据权利要求7所述的装置,其特征在于,所述第一确定单元,包括:
第一获取模块,用于获取目标服务请求,其中,所述目标服务请求携带有用于表示所述第一应用的服务类型的目标服务类型标签;
响应模块,用于响应所述目标服务请求,在所述主框架中查找同样携带有所述目标服务类型标签的所述第一子框架。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296409.4A CN112416321B (zh) | 2020-11-18 | 2020-11-18 | 应用生成方法、装置和存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296409.4A CN112416321B (zh) | 2020-11-18 | 2020-11-18 | 应用生成方法、装置和存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416321A true CN112416321A (zh) | 2021-02-26 |
CN112416321B CN112416321B (zh) | 2023-06-16 |
Family
ID=74774620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011296409.4A Active CN112416321B (zh) | 2020-11-18 | 2020-11-18 | 应用生成方法、装置和存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416321B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080052314A1 (en) * | 2006-08-25 | 2008-02-28 | Ritwik Batabyal | e-ENABLER FRAMEWORK |
US20140325492A1 (en) * | 2013-04-24 | 2014-10-30 | International Business Machines Corporation | Selective speculative class-based optimization |
CN105739987A (zh) * | 2016-02-03 | 2016-07-06 | 成都四方伟业软件股份有限公司 | 面向SOA的快速构建JavaWeb应用的系统框架 |
CN105824619A (zh) * | 2016-03-10 | 2016-08-03 | 四川交通职业技术学院 | 基于Spring MVC、Apache Shiro、MyBatis框架整合的代码生成器 |
CN110187931A (zh) * | 2019-05-17 | 2019-08-30 | 北京百度网讯科技有限公司 | 小程序的运行方法及装置 |
CN111340542A (zh) * | 2020-02-24 | 2020-06-26 | 京东数字科技控股有限公司 | 资源的分配方法和装置、存储介质、电子装置 |
CN111414193A (zh) * | 2020-02-26 | 2020-07-14 | 平安银行股份有限公司 | 基于微服务框架的业务系统的实现方法及相关装置 |
CN111767095A (zh) * | 2020-06-30 | 2020-10-13 | 平安国际智慧城市科技股份有限公司 | 微服务生成方法、装置、终端设备及存储介质 |
CN111930635A (zh) * | 2020-09-17 | 2020-11-13 | 深圳微品致远信息科技有限公司 | 基于swagger快速自动化测试的方法及系统 |
-
2020
- 2020-11-18 CN CN202011296409.4A patent/CN112416321B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080052314A1 (en) * | 2006-08-25 | 2008-02-28 | Ritwik Batabyal | e-ENABLER FRAMEWORK |
US20140325492A1 (en) * | 2013-04-24 | 2014-10-30 | International Business Machines Corporation | Selective speculative class-based optimization |
CN105739987A (zh) * | 2016-02-03 | 2016-07-06 | 成都四方伟业软件股份有限公司 | 面向SOA的快速构建JavaWeb应用的系统框架 |
CN105824619A (zh) * | 2016-03-10 | 2016-08-03 | 四川交通职业技术学院 | 基于Spring MVC、Apache Shiro、MyBatis框架整合的代码生成器 |
CN110187931A (zh) * | 2019-05-17 | 2019-08-30 | 北京百度网讯科技有限公司 | 小程序的运行方法及装置 |
CN111340542A (zh) * | 2020-02-24 | 2020-06-26 | 京东数字科技控股有限公司 | 资源的分配方法和装置、存储介质、电子装置 |
CN111414193A (zh) * | 2020-02-26 | 2020-07-14 | 平安银行股份有限公司 | 基于微服务框架的业务系统的实现方法及相关装置 |
CN111767095A (zh) * | 2020-06-30 | 2020-10-13 | 平安国际智慧城市科技股份有限公司 | 微服务生成方法、装置、终端设备及存储介质 |
CN111930635A (zh) * | 2020-09-17 | 2020-11-13 | 深圳微品致远信息科技有限公司 | 基于swagger快速自动化测试的方法及系统 |
Non-Patent Citations (2)
Title |
---|
CHUL KI KIM等: "Doppler Shifting Technique for Generating Multi-Frames of Video SAR via Sub-Aperture Signal Processing", 《IEEE TRANSACTIONS ON SIGNAL PROCESSING ( VOLUME: 68)》 * |
钟铮: "移动Web应用集成开发环境的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112416321B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3605323B1 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
CN102685210B (zh) | 一种无线路由设备、移动终端、管理系统及方法 | |
CN105022832B (zh) | App应用程序安全下载的方法、移动终端及下载服务器 | |
CN110187912A (zh) | 一种节点选择方法和装置 | |
CN105847312B (zh) | 一种资源访问方法及用户终端 | |
CN104965848A (zh) | 一种前端资源加载方法及装置 | |
CN105917725B (zh) | 使能Wi-Fi直连服务应用服务平台能力协商的装置和方法 | |
CN109656572A (zh) | 安装包的打包方法及装置、计算机设备、存储介质 | |
CN112769945B (zh) | 分布式服务调用方法及装置 | |
CN111245918A (zh) | 一种服务请求的传输方法和装置 | |
CN112637037B (zh) | 跨地域容器通讯系统、方法、存储介质及计算机设备 | |
CN111367685B (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN105260200A (zh) | 操作系统升级的处理方法和装置 | |
US10075304B2 (en) | Multiple gateway operation on single operating system | |
CN112416321B (zh) | 应用生成方法、装置和存储介质及电子装置 | |
CN109218371B (zh) | 一种调用数据的方法和设备 | |
CN111010346A (zh) | 基于动态路由的报文处理方法、设备、存储介质及装置 | |
CN112486559B (zh) | 产品调整方法、装置和存储介质及电子装置 | |
CN112383617B (zh) | 进行长连接的方法、装置、终端设备以及介质 | |
CN109660497A (zh) | 数据处理方法及装置、终端、处理器、存储介质 | |
CN110719303B (zh) | 一种容器化nrf的方法及系统 | |
CN116208654A (zh) | 一种信息调用方法、装置、设备及存储介质、程序产品 | |
US11296929B2 (en) | Methods and network systems for enabling a network service in a visited network | |
CN113641518A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |