一种应用程序的开发方法、装置、设备及介质与流程

文档序号:31675271发布日期:2022-09-28 01:53阅读:74来源:国知局
一种应用程序的开发方法、装置、设备及介质与流程

1.本发明涉及开发、研发过程优化技术领域,尤其涉及一种应用程序的开发方法、装置、设备及介质。


背景技术:

2.随着app(外语全称:application,应用程序)的不断迭代和开发,业务逻辑会变得越来越复杂,通常情况下一个应用程序包括多个业务模块,不同业务模块之间会存在相互调用关系,相互之间功能模块耦合严重,降低了各业务模块的独立性,不利于应用程序的开发。


技术实现要素:

3.本发明提供一种应用程序的开发方法、装置、设备及介质,以解决各业务模块相互之间功能模块耦合严重,降低了各业务模块的独立性,不利于应用程序的开发的技术问题。
4.第一方面,提供了一种应用程序的开发方法,包括:
5.构建通用基础库及各业务模块,每个所述业务模块包括业务基础库及业务申明模块;
6.建立各业务申明模块之间的关联关系,以及各业务申明模块与所述通用基础库的关联关系。
7.第二方面,提供了一种应用程序的开发装置,包括:
8.构建模块,用于构建通用基础库及各业务模块,每个所述业务模块包括业务基础库及业务申明模块;
9.关联关系建立模块,用于建立各业务申明模块之间的关联关系,以及各业务申明模块与所述通用基础库的关联关系。
10.第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用程序的开发方法的步骤。
11.第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述应用程序的开发方法的步骤。
12.上述应用程序的开发方法、装置、设备及介质所实现的方案中,可以通过构建通用基础库及各业务模块,每个所述业务模块包括业务基础库及业务申明模块;建立各业务申明模块之间的关联关系,以及各业务申明模块与所述通用基础库的关联关系。在本发明中,在运行任一个业务模块时,通过该业务模块的申明模块及与该申明模块相关联的其他申明模块,就能够调用相关联的其他业务模块的资源,并同时调用通用基础库的资源,就可实现该业务模块的运行,这样各业务模块之间仅通过申明模块相关联,各业务模块的业务基础库均可单独开发及维护,从而可以提高各模块之间的独立性,降低各模块之间的耦合度,有利于各业务模块的单独开发。
附图说明
13.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
14.图1是本发明一实施例中一种应用程序的开发方法的流程示意图;
15.图2是步骤s102之后的一具体实施方式流程示意图;
16.图3是业务模块a、业务模块b及通用基础库的关联关系图;
17.图4是步骤s102之后的另一具体实施方式流程示意图;
18.图5是业务模块a、业务模块b、通用基础库及测试模块的关联关系图;
19.图6是步骤s302之后的一具体实施方式流程示意图;
20.图7是本发明一实施例中应用程序的开发装置的一结构示意图;
21.图8是本发明一实施例中计算机设备的一结构示意图。
具体实施方式
22.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.本发明实施例提供的一种应用程序的开发方法,可应用在服务端。服务端可以构建通用基础库及各业务模块,每个业务模块包括业务基础库及业务申明模块;建立基础库与通用基础及各业务模块的业务申明模块的关联关系;建立各业务申明模块之间的关联关系,以及各业务申明模块与通用基础库的关联关系,从而在运行任一个业务模块时,通过该业务模块的申明模块及与该申明模块相关联的其他申明模块,就能够调用相关联的其他业务模块的资源,并同时调用通用基础库的资源,就可实现该业务模块的运行,这样各业务模块之间仅通过申明模块相关联,各业务模块的业务基础库均可单独开发及维护,从而可以提高各模块之间的独立性,降低各模块之间的耦合度,有利于各业务模块的单独开发。
24.进一步地,服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。下面通过具体的实施例对本发明进行详细的描述。
25.请参阅图1所示,图1为本发明实施例提供的一种应用程序的开发方法的一个流程示意图,包括如下步骤:
26.步骤s101:构建通用基础库及各业务模块,每个业务模块包括业务基础库及业务申明模块。
27.其中,通用基础库以library模式编译,其包括各模块均需要的功能及资源,例如网络库、日志库等等。网络库是指通过编程语言实现的异步事件库,本质上用于提供异步事件通知(asynchronous event notification,aen),即根据发生的网络事件,调用相应的回调函数进行处理。日志库可为单独的数据库、也可为在普通机器上搭建的es集群、或者为云服务中资源独立的日志存储服务器或日志搜索服务器。
28.各业务模块由工作人根据所开发的应用程序的各项功能来确定。示例性的,例如,
假设工作人员所开发的应用程序是通过用户登录来收看直播视频,则该应用程序的业务模块具有两个,一个是用户登录的业务模块,另一个是收看直播视频的业务模块。
29.其中,每个业务模块均包括相应的业务基础库及业务申明模块。业务基础库包括对应的业务模块单独所需的资源,也就是其他业务模块不需要的资源,例如上例中的用户登录的业务模块的业务基础库包括用户登录的业务模块所需的资源,而不包括收看直播视频的业务模块所需的资源。业务申明模块包括对应的业务模块的对外配置信息,如支持的路由信息、公开的数据结构和事件及逻辑服务接口等等。
30.进一步地,业务模块以application或者library的模式编译,具体取决于配置场景。业务申明模块以library的模式编译,业务申明模块由相应的业务模块自行管理和维护。
31.步骤s102:建立各业务申明模块之间的关联关系,以及各业务申明模块与通用基础库的关联关系。
32.建立各业申明模块与通用基础库的关联关系,这样在需运行任一业务模块时,基于该业务模块能够调用通用基础库,这样通用基础库内的各业务模块通用资源就能够被业务模块所使用。
33.各业务申明模块之间的关联关系可由待开发的应用程序的各功能之间的相互关系来确定。例如,待开发的应用程序包括用户登录、交友及收看直播视频的功能,其中,交友及收看直播视频均需要用户登录,这样交友功能及收看直播视频功能均与用户登录功能具有相关性,而收看直播视频功能与交友功能之间无相关性,从而基于上述关系,建立交友功能的业务模块的申明模块与用户登录的业务模块的申明模块的关联关系,以及建立收看直播视频的业务模块的申明模块与用户登录的业务模块的申明模块的关联关系,而交友功能的业务模块的申明模块与收看直播视频的业务模块的申明模块之间无关联关系。
34.在其中一个业务模块运行时,除了能够调用通用基础库的资源外,还能够通过该业务模块的申明模块与其他业务模块的申明模块之间的关联关系,调用其他业务模块的资源,从而完成一个业务模块运行的目的。例如,在收看直播视频功能的业务模块运行时,除了调用基础库的资源外,还通过收看直播视频功能的业务模块的申明模块关联用户登录功能的业务模块的申明模块,从而调取用户登录功能的业务模块的业务基础库的资源,这样各业务模块之间仅通过申明模块相关联,各业务模块的业务基础库均可单独开发及维护,从而可以提高各模块之间的独立性,降低各模块之间的耦合度,有利于各业务模块的单独开发。
35.可以理解的是,通用基础模块及各业务模块的申明模块可以事先编译好,而各开发团队可同时各自编译各业务模块的业务基础库,从而进一步降低该应用程序的开发时间,提高开发效率。
36.上述应用程序的开发方法、装置、设备及介质所实现的方案中,可以通过构建通用基础库及各业务模块,每个业务模块包括业务基础库及业务申明模块;建立各业务申明模块之间的关联关系,以及各业务申明模块与通用基础库的关联关系。在本发明中,在运行任一个业务模块时,通过该业务模块的申明模块及与该申明模块相关联的其他申明模块,就能够调用相关联的其他业务模块的资源,并同时调用通用基础库的资源,就可实现该业务模块的运行,这样各业务模块之间仅通过申明模块相关联,各业务模块的业务基础库均可
单独开发及维护,从而可以提高各模块之间的独立性,降低各模块之间的耦合度,有利于各业务模块的单独开发。
37.进一步地,在上述实施例中,如图2所示,步骤s102之后还包括:
38.步骤s201:接收待运行业务模块的运行指令。
39.其中,待运行业务模块是指被指定运行的业务模块,该被指定运行的业务模块可以是所有业务模块中的任一业务模块。
40.步骤s202:基于运行指令、待运行业务模块的业务申明模块与其他业务申明模块及通用基础库的关联关系,调用通用基础库及相关联的业务模块的资源,以运行待运行业务模块。
41.具体而言,通过运行指令可以调用该待运行业务模块中的业务基础库中的资源,也可以基于该待运行业务模块与通用基础库中的关联关系,调用通用基础库中的通用资源,并且利用该待运行业务模块的业务申明模块与其他业务模块的业务申明模块的关联关系,调用相关联的业务模块快的资源,从而达到运行该待运行业务模块的目的。
42.示例性的,如图3所示,假设待运行业务模块为业务模块a,业务模块a的申明模块a与通用基础库及业务模块b的申明模块b具有关联关系,这样在接收到业务模块a的运行指令后,通过该运行指令可以调用该待运行业务模块,即业务模块a中的业务基础库中的资源,也可以基于申明模块a与通用基础库中的关联关系,调用通用基础库中的通用资源,并且利用该业务申明模块a与业务申明模块b的关联关系,调用业务模块b的资源,从而达到运行业务模块a的目的。
43.在本实施例中,各业务模块之间仅通过申明模块相关联,各业务模块的业务基础库均可单独开发及维护,从而可以提高各模块之间的独立性,降低各模块之间的耦合度,有利于各业务模块的单独开发。
44.进一步地,在上述实施例中,如图4所示,步骤s102之后还包括:
45.步骤s301:构建业务测试模块,业务测试模块包括测试基础库及测试申明模块。
46.业务测试模块用于对各业务模块进行测试,以检测各业务模块是否能够顺利运行,从而提高所开发的应用程序的准确性。
47.其中,测试基础库包括测试各业务模块所需的资源,测试申明模块包括业务测试模块的对外配置信息,如支持的路由信息、公开的数据结构和事件及逻辑服务接口等等。
48.步骤s302:建立测试申明模块与各测试申明模块及通用基础库的关联关系。
49.通过建立测试申明模块与各测试申明模块及通用基础库的关联关系,就能够在对各业务模块进行测试的情况下,就能够调用通用基础库及个业务模块的资源,从而实现对各业务模块的测试。
50.在本实施例中,将测试模块的测试申明模块也可以事先编译好,从而工作人员仅对测试模块的测试基础库进行编译即可,并且测试基础库的编译与其他业务模块的编译可以相对独立进行,从而能够实现测试基础库与其他业务模块进行同步编译,进而也提高了测试模块的编译效率,最终提高了各业务模块的测试效率。
51.进一步地,在上述实施例中,如图6所示,步骤s302之后还包括:
52.步骤s401:接收测试指令。
53.步骤s402:基于测试指令、测试申明模块与各测试申明模块及通用基础库的关联
关系,调用通用基础库及各业务模块的资源,以对各业务模块进行测试。
54.具体而言,通过测试指令可以调用测试模块的测试基础库中的资源,也可以基于测试申明模块与通用基础库中的关联关系,调用通用基础库中的通用资源,并且利用测试模块的测试申明模块与其他业务模块的业务申明模块的关联关系,调用相关联的业务模块的资源,从而达到运行测试模块,以对各业务模块进行测试的目的。
55.示例性的,如图5所示,一个所开发的应用程序包括业务模块a及业务模块b,测试模块的测试申请模块分别与通用基础库、业务模块a的业务申明模块a及业务模块b的业务申明模块b建立关联关系,这样在利用测试模块对业务模块a进行测试时,在接收到测试指令后,通过该测试指令可以调用测试模块,即测试模块中的测试基础库中的资源,也可以基于测试申明模块与通用基础库中的关联关系,调用通用基础库中的通用资源,并且利用该测试模块与业务申明模块a的关联关系,调用业务模块a的资源,从而达到对业务模块a进行测试的目的。同样地,在利用测试模块对业务模块b进行测试时,在接收到测试指令后,通过该测试指令可以调用测试模块,即测试模块中的测试基础库中的资源,也可以基于测试申明模块与通用基础库中的关联关系,调用通用基础库中的通用资源,并且利用该测试模块与业务申明模块b的关联关系,调用业务模块b的资源,从而达到对业务模块b进行测试的目的。
56.在本实施例中,各业务模块之间仅通过申明模块相关联,各业务模块的业务基础库及测试基础库均可单独开发及维护,从而可以提高各模块之间的独立性,降低各模块之间的耦合度,有利于各业务模块及测试模块的单独开发。
57.步骤s403:将业务测试模块删除。
58.在对各业务模块测试完毕后,可将业务测试模块删除,从而降低应用程序所占用的空间。
59.进一步地,在上述实施例中,通用基础库包括各业务模块的通用资源。
60.通用基础库以library模式编译,其包括各模块均需要的功能及资源,例如网络库、日志库等等。网络库是指通过编程语言实现的异步事件库,本质上用于提供异步事件通知(asynchronous event notification,aen),即根据发生的网络事件,调用相应的回调函数进行处理。日志库可为单独的数据库、也可为在普通机器上搭建的es集群、或者为云服务中资源独立的日志存储服务器或日志搜索服务器。
61.在本实施例中,通用基础库仅包括各业务模块的通用资源,从而降低通用基础库的数据量,提高了各模块调用通用基础库的速度,也提高了通用基础库的编译效率。
62.进一步地,在上述实施例中,每个业务基础库包括对应的业务模块单独所需的资源,每个业务申明模块包括对应的业务模块的对外配置信息。
63.其中,每个业务模块均包括相应的业务基础库及业务申明模块。业务基础库包括对应的业务模块单独所需的资源,也就是其他业务模块不需要的资源,例,假设工作人员所开发的应用程序是通过用户登录来收看直播视频,则该应用程序的业务模块具有两个,一个是用户登录的业务模块,另一个是收看直播视频的业务模块。用户登录的业务模块的业务基础库包括用户登录的业务模块所需的资源,而不包括收看直播视频的业务模块所需的资源。
64.业务申明模块包括对应的业务模块的对外配置信息,如支持的路由信息、公开的
数据结构和事件及逻辑服务接口等等。
65.进一步地,业务模块以application或者library的模式编译,具体取决于配置场景。业务申明模块以library的模式编译,业务申明模块由相应的业务模块自行管理和维护。
66.业务基础库包括对应的业务模块单独所需资源,从而避免了各业务基础库的资源的交叉使用,进而提高了业务基础库的相互独立性,也就提高了各业务模块的相互独立性,以使各业务模块能够通过多个开发团队进行同时编译,从而提高了应用程序的开发效率。另外,各业务申明模块可以实现编译好,从而进一步提高了各业务模块的编译速度。
67.在一实施例中,提供一种应用程序的开发装置,该应用程序的开发装置与上述实施例中应用程序的开发方法一一对应。如图7所示,该智能问答处理装置包括构建模块及关联关系建立模块。各功能模块详细说明如下:
68.构建模块501,用于构建通用基础库及各业务模块,每个业务模块包括业务基础库及业务申明模块;
69.关联关系建立模块502,用于建立各业务申明模块之间的关联关系,以及各业务申明模块与通用基础库的关联关系。
70.在一实施例中,该应用程序的开发装置还包括:
71.接收模块,用于接收待运行业务模块的运行指令;
72.运行模块,用于基于运行指令、待运行业务模块的业务申明模块与其他业务申明模块及通用基础库的关联关系,调用通用基础库及相关联的业务模块的资源,以运行待运行业务模块。
73.在一实施例中,构建模块501,还用于构建业务测试模块,业务测试模块包括测试基础库及测试申明模块;
74.关联关系建立模块502,还用于建立测试申明模块与各测试申明模块及通用基础库的关联关系。
75.在一实施例中,接收模块,还用于接收测试指令;
76.运行模块,还用于基于测试指令、测试申明模块与各测试申明模块及通用基础库的关联关系,调用通用基础库及各业务模块的资源,以对各业务模块进行测试。
77.在一实施例中,该应用程序的开发装置还包括:
78.删除模块,用于将业务测试模块删除。
79.在一实施例中,通用基础库包括各业务模块的通用资源。
80.在一实施例中,每个业务基础库包括对应的业务模块单独所需的资源,每个业务申明模块包括对应的业务模块的对外配置信息。
81.本发明提供了应用程序的开发装置,可以通过构建通用基础库及各业务模块,每个所述业务模块包括业务基础库及业务申明模块;建立各业务申明模块之间的关联关系,以及各业务申明模块与所述通用基础库的关联关系。在本发明中,在运行任一个业务模块时,通过该业务模块的申明模块及与该申明模块相关联的其他申明模块,就能够调用相关联的其他业务模块的资源,并同时调用通用基础库的资源,就可实现该业务模块的运行,这样各业务模块之间仅通过申明模块相关联,各业务模块的业务基础库均可单独开发及维护,从而可以提高各模块之间的独立性,降低各模块之间的耦合度,有利于各业务模块的单
独开发。
82.关于应用程序的开发装置的具体限定可以参见上文中对于应用程序的开发方法的限定,在此不再赘述。上述应用程序的开发装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
83.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序的开发方法的功能或步骤。
84.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
85.构建通用基础库及各业务模块,每个业务模块包括业务基础库及业务申明模块;
86.建立各业务申明模块之间的关联关系,以及各业务申明模块与通用基础库的关联关系。
87.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
88.构建通用基础库及各业务模块,每个业务模块包括业务基础库及业务申明模块;
89.建立各业务申明模块之间的关联关系,以及各业务申明模块与通用基础库的关联关系。
90.需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧以及客户端侧的相关描述,为避免重复,这里不再一一描述。
91.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
92.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述
的全部或者部分功能。
93.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1