掌桥专利:专业的专利平台
掌桥专利
首页

应用开发架构的组件管理方法、装置、存储介质及电子设备

文献发布时间:2023-06-19 11:16:08


应用开发架构的组件管理方法、装置、存储介质及电子设备

技术领域

本申请涉及计算机技术领域,尤其涉及一种应用开发架构的组件管理方法、装置、存储介质及电子设备。

背景技术

随着通信技术和互联网的快速发展,应用开发维护显得尤为重要。在应用开发过程中常基于业务开发逻辑构建应用开发架构来开发架构下不同业务功能的模块,通过对整个业务系统性的共性模块进行抽象,让有共性、有规律的业务功能逻辑基于应用开发架构来进行管理,如,当基于开发业务需求设计对模块进行维护时,可以基于应用开发架构来修改或重新编辑模块代码,重新编译满足开发业务需求的模块。

发明内容

本申请实施例提供了一种应用开发架构的组件管理方法、装置、存储介质及电子设备。本申请实施例的技术方案如下:

第一方面,本申请实施例提供了一种应用开发架构的组件管理方法,所述应用开发架构包括至少一个业务功能模块,所述业务功能模块包括至少两个模块组件,所述业务功能模块中的至少两个模块组件采用接口解耦方式进行组件通信;各所述业务功能模块通过所包含的接口层组件对外进行模块通信;所述方法包括:

获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度;

基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;

通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理。

第二方面,本申请实施例提供了一种应用开发架构的组件管理装置,所述装置包括:

需求确定模块,用于获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度;

组件确定模块,用于基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;

组件管理模块,用于通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

在本申请一个或多个实施例中,电子设备基于应用开发架构获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度,根据所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理,从而实现业务功能模块更新、卸载、扩展等复用,整个业务开发维护过程通常不需要软件开发端重新基于业务需求进行编写代码;以及可实现多具有共性或拟合度高的模块以模块组件为单位进行维护管理,不同业务之间相同的业务功能逻辑可以组件为基准进行模块复用,如实现正在运行的业务功能模块的热更新、热插拔、热扩展等,实现了业务功能的模块组件化管理;以及后续可基于业务需求的发展,对基于应用开发架构的模块组件进行扩展实现了高拓展性,模块组件开在后续模块运营过程中随时可以升级,拓展成新组件,满足不断迭代的需求更新,且整个过程常常不影响模块的正常运营。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种应用开发架构的组件管理方法的流程示意图;

图2是本申请实施例提供的组件管理方法涉及的一种业务功能模块的架构示意图;

图3是本申请实施例提供的组件管理方法涉及的一种界面层组件交互的场景示意图;

图4是本申请实施例提供的组件管理方法涉及的一种组件更新场景示意图;

图5是本申请实施例提供的另一种应用开发架构的组件管理方法的流程示意图;

图6是本申请实施例提供的组件管理方法涉及的一种仓库中模块存储的场景示意图;

图7是本申请实施例提供的组件管理方法涉及到的一种组件更新的场景示意图;

图8是本申请实施例提供的一种应用开发架构的组件管理装置的结构示意图;

图9是本申请实施例提供的另一种应用开发架构的组件管理装置的结构示意图;

图10是本申请实施例提供的一种仓库管理模块的结构示意图;

图11是本申请实施例提供的一种组件管理模块的结构示意图;

图12是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

下面结合具体的实施例对本申请进行详细说明。

在一个实施例中,如图1所示,特提出了一种应用开发架构的组件管理方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的应用开发架构的组件管理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。

电子设备可以是具有应用开发架构的组件管理功能的设备,该电子设备包括但不限于:服务器、个人电脑、平板电脑、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digitalassistant,PDA)、5G网络或未来演进网络中的设备等。

具体的,该应用开发架构的组件管理方法包括:

步骤S101:获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度。

在本申请中,所述应用开发架构包括至少一个业务功能模块,所述业务功能模块由模块组件构成;示意性的,所述模块组件至少包括:数据模型层组件、逻辑层组件、界面层组件以及接口层组件。

在实际应用中,根据软件业务的功能需求,业务功能模块在开发时可采用面向模块组件的开发方式,以便于更加贴近现实的方式来设计和开发相关功能模块。在功能模块过程中,软件开发人员根据实际业务需要和业务开发时的业务功能逻辑,为本申请涉及的一种应用开发架构的基础上开发出各个独立的软件业务功能模块,在本申请中,基于业务开发逻辑所开发出的各个软件业务功能模块具备独立的功能。

实际应用中,应用开发架构的开发维护与相关技术中系统架构的开发所不同的是,应用开发架构的软件管理可细粒到组件维度,相关技术中常采用对整个系统的共性模块进行抽象,让有共性、有规律的业务功能逻辑以模块为单位由架构来统一处理,单仅基于此,多个业务功能模块间的功能复用较差,业务功能模块更新、卸载、扩展等复用场景下,需要软件开发人员重新基于业务开发功能逻辑进行编写代码。本申请涉及的应用开发架构以组件为基准,在基于不同类型的业务功能逻辑进行业务功能模块的开发时,可对具有共性或拟合度高的模块以模块组件为单位进行维护管理,不同业务之间相同的业务功能逻辑可以组件为基准进行模块复用,如实现正在运行的业务功能模块的热更新、热插拔、热扩展等,实现了业务功能的模块组件化管理,而无需重新开发乃至重新编写模块代码。

示意性的,业务功能模块由模块组件构成,模块组件可以是基于业务功能开发逻辑开发的数据模型层组件、逻辑层组件、界面层组件以及接口层组件等组件中的至少一种或多种的拟合。如图2所示,图2是一种业务功能模块的架构示意图,图2中的业务功能模块module至少包括:数据模型层组件model,逻辑层组件logic,界面层组件view,接口层组件interface;各个模块组件相对独立。

数据模型层组件在业务开发时可以作为业务功能模块的组件核心core,业务功能模块中的其余组件(如界面层组件view)可不基于数据模型层组件开发但在模块应用阶段常依赖于数据模型层组件,在一些实施方式中,数据模型层组件model可用于存放业务功能事件Data,其包含业务功能事件中涉及到的函数调用数据、数据库解耦函数等等。数据模型层组件负责与数据源如数据库通讯,并提供接口给模块结构中的别的组件使用。通讯的实质依赖于数据源的类型与Model实现的方式。

示意性的,以数据模型层组件model/界面层组件view的依赖关系为例,如图3所示,图3是本申请涉及的一种界面层组件交互的场景示意图,

界面层组件view用于显示与用户交互(如各种界面);

数据模型层组件model/界面层组件view的结合可实现数据存储和数据表示的分类,数据存储与数据显示的分离使得在几个不同的View上显示同一个数据成为可能,也可以重新实现新的View,而不必改变底层的数据结构仅需基于数据源Data的基类Delegate的调用可使得数据项的传递与编辑可直接进行定制而不改变模块架构。

数据模型层组件Model负责与数据源Data通讯,并提供接口给结构中的别的组件如view组件使用。通讯的实质依赖于数据源Data的类型与Model实现的方式。

界面层组件View从数据模型层组件Model获取模型索引,模型索引是数据项的引用。通过把模型索引提供给Model,View可以从数据源中获取数据进行界面显示或用户交互,例如,从Model发出的信号通知View关于数据源中的数据发生的改变、从View发出的信号提供了有关被显示的数据项与用户交互的信息、从Delegate发射的信号被用于在编辑时通知Model和View关于当前编辑器的状态信息。

逻辑层组件logic表征业务规则(如音频类开发规则、通讯类开发规则等)的制定、业务流程的实现等与业务需求有关,也即是说它是与业务功能模块所应对的领域(Domain)逻辑有关,逻辑层组件logic对于数据访问方而言作为调用者;对于界面层组件View对应的表示方而言,作为被调用者,可实现对数据的逻辑处理,如对数据源数据等数据的修改、获取、删除等组件功能,进一步的还可将数据处理结果反馈至界面层组件View中,实现业务功能模块对应的业务功能,如音频功能。

接口层组件interface用于负责整个业务功能模块的对外通讯,如数据模型层组件module等模块组件对外通讯,均通过接口层组件interface,这样基于其他业务功能模块对当前业务功能模块内的诸如module等模块组件的内部逻辑修改,可不影响外部其他组件和interface组件,修改会收敛到待处理的目标组件内,且组件管理可实现基于接口层组件interface的热插拔、热更新、复用等。

另外,所述业务功能模块中的至少两个模块组件采用接口解耦方式进行组件通信;各所述业务功能模块通过所包含的接口层组件对外进行模块通信,模块组件是能够实现一定功能的软件单位,组件的具体形式可以根据实际应用场景的软件系统环境、编程语言等因素确定,不做限定。例如组件可以是类、对象、软件包等。

具体的,电子设备可以获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度。也即,基于实际应用中,根据当前的业务开发需求来衡量已经开发了的应用开发架构下的业务功能模块的功能是否满足需求,具体需求的评判可通常基于软件需求维度、用户需求维度、功能需求维度等评判维度来综合衡量,其中各评判维度对应基于实际应用设置的多个指标,可采取机器自主评判或专家段评判的方式对各个评判维度进行量化,量化方式可以是确定相应评判维度的等级或分值,然后综合各个评判维度的量化指标,对“各个评判维度的量化指标”进行拟合(如可采用加权、加和等数理统计方式进行拟合),确定针对当前业务功能模块的业务开发需求度;

其中,业务开发需求度用于衡量是指根据用户端、开发端、运营端等维度共同决定的业务功能模块对于业务开发的需求程度,可以理解为对业务功能模块进行业务开发的需求程度的一种量化,实际应用中可通过设置级别、设置评分的方式来量化。例如,可设置级别,所述业务开发需求度包括三个级别,分别为第一业务需求度、第二业务需求度和/或第三业务需求度,其中,第一业务需求度为需求强烈,第二业务需求度为需求一般,第三业务需求度为毫无需求。

进一步的,在对业务开发架构下已运营或待运营的至少一个业务功能模块进行业务开发需求的量化之后,即可确定业务功能模块的业务开发需求度,从而可获取到期望确定的目标业务功能模块的业务开发需求度。

进一步的,电子设备可不对业务开发架构下已运营或待运营的至少一个业务功能模块预先进行业务开发需求的量化,而是在从各业务功能模块中选择目标业务功能模块之后,在对目标业务功能模块进行业务开发需求的量化,从而确定目标业务功能模块的业务开发需求度。需要说明的是,在确定目标业务功能模块的业务开发需求度的同时,评判目标业务功能模块的业务开发需求的各个子维度的需求通常可直接获取得到,也即针对目标业务功能模块各个评判维度的量化结果,如软件需求维度对应的各指标、用户需求维度的各指标、功能需求维度的各指标。

步骤S102:基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件。

所述目标组件是基于业务开发需求度确定对业务功能模块进行组件管理的操作对象。

具体的,通过基于业务开发需求度可确定需要对当前目标业务功能模块进行组件管理,也即当前的业务开发需求,目标业务功能模块难以满足,在一些实施例中,基于本申请的应用开发架构下的多个业务功能需求模块,可不重新基于业务开发需求进行模块开发编写生成代码,而是在模块管理时细粒到模块的组件,基于业务开发需求度所对应的各子维度的量化结果来确定当前需要管理的目标组件,如软件需求维度对应的各指标、用户需求维度的各指标、功能需求维度的各指标;例如基于用户需求维度的各指标确定目标业务功能模块中界面层组件view对应的UI元素不满足需求,则确定目标组件为界面层组件view。又例如基于功能需求维度的各指标确定目标业务功能模块中对应的数据模型层组件model不满足需求,则确定目标组件为数据模型层组件model。

步骤S103:通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理。

在一种可行的实施方式,基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件之后,若基于业务开发需求度确定的组件管理为:对目标组件进行卸载,则电子设备可通过业务功能模块对外的所述接口层组件激活组件卸载事项,组件卸载事项激活后执行对目标组件进行卸载或移除,执行过程中具体通过所述目标组件和所述接口层组件对应的解耦接口进行组件管理中的:激活组件卸载事项。其中,卸载之后,由于开发目标业务功能模块时细粒到组件维度,且各个模块组件可独立解耦独立工作,此时目标业务功能模块的其他组件不受影响,不用进行重新编译。

在一种可行的实施方式,基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件之后,若基于业务开发需求度确定的组件管理为:激活组件更新事项,则确定针对所述目标组件的参考组件,如图4所示,图4是本申请涉及的一种组件更新场景示意图,参考组件可以是图中组件view1、logic1、interface1,目标组件可以是图中组件view、logic、interface;

参考组件用于对目标组件进行替换可采用机器确定或专家端确定的方式进行选择;此时,电子设备可通过业务功能模块对外的所述接口层组件激活组件更新事项,组件更新载事项激活后执行对目标组件进行更新,执行过程中具体通过所述目标组件和所述接口层组件对应的解耦接口进行组件管理中的:激活组件更新事项。其中,更新过程由于开发目标业务功能模块时细粒到组件维度,且各个模块组件可独立解耦独立工作,此时目标业务功能模块的其他组件不受更新影响,不用进行重新编译,通常不同业务的参考组件以JAR包的形式,通过所述目标组件和所述接口层组件对应的解耦接口,可以将参考组件热更新至目标业务功能模块中,整个过程模块可正常进行运营,不受组件更新的影响。

在本申请实施例中,电子设备基于应用开发架构获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度,根据所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理,从而实现业务功能模块更新、卸载、扩展等复用,整个业务开发维护过程通常不需要软件开发端重新基于业务需求进行编写代码;以及可实现多具有共性或拟合度高的模块以模块组件为单位进行维护管理,不同业务之间相同的业务功能逻辑可以组件为基准进行模块复用,如实现正在运行的业务功能模块的热更新、热插拔、热扩展等,实现了业务功能的模块组件化管理;以及后续可基于业务需求的发展,对基于应用开发架构的模块组件进行扩展实现了高拓展性,模块组件开在后续模块运营过程中随时可以升级,拓展成新组件,满足不断迭代的需求更新,且整个过程常常不影响模块的正常运营。

请参见图5,图5是本申请提出的一种应用开发架构的组件管理方法的另一种实施例的流程示意图。具体的:

步骤S201:按照每个所述业务功能模块业务开发时对应的功能逻辑类型,在各所述业务功能模块中确定属于同一功能逻辑类型的至少两个目标功能模块。

根据一些实施例中,根据软件业务的功能需求,业务功能模块在开发时可采用面向模块组件的开发方式,以便于更加贴近现实的方式来设计和开发相关功能模块。在功能模块开发过程中,软件开发人员根据实际业务需要和业务开发时的业务功能逻辑,为本申请涉及的一种应用开发架构开发出各个独立的软件业务功能模块,基于业务开发逻辑所开发出的各个业务功能模块具备独立的功能,且各个业务功能模块中属于同一功能逻辑类型的模块组件,在模块开发时采用相互兼容的组件开发规范,这样在某一目标业务功能模块设计到组件管理时可实现不同业务但功能逻辑类型相同的组件间的复用,而不需重新针对目标业务功能模块重新开发组件。

所述功能逻辑类型是按照业务逻辑开发场景划分的用于区分不同组件的业务功能逻辑类型,业务逻辑可理解为不同的业务项目常对应不同的功能,不同的功能基于不同的组件架构实现,实现这些核心功能的代码称之为业务逻辑。实际应用中基于不同开发业务可先确定当前开发业务对应的功能逻辑类型,在按照功能逻辑类型对应的组件业务规范,进行业务功能模块的开发;其中,功能逻辑类型是基于实际应用场景将不同业务划分的多种功能逻辑类型中的一种,示意性的,可按照业务用途进行划分,不同类型的业务用途对应不同的功能逻辑类型,如基于金融业务用途的业务开发的业务功能模块属于金融功能逻辑类型,常见的还可以是即时通讯类、音频播放类型等等;

其中,实际功能逻辑类型划分中,可基于业务开发时构建的功能需求表、功能需求流程图等媒介来划分,将具有相同业务逻辑特征的业务功能逻辑划分为同一功能逻辑类型。

具体的,在对不同业务功能逻辑的业务开发完业务功能模块之后,即可随之基于开发过程中每个所述业务功能模块业务开发时对应的功能逻辑类型,对属于同一功能逻辑类型的至少两个目标功能模块进行管理。

步骤S202:将所述至少两个目标功能模块保存至所述功能逻辑类型对应的仓库中。

所述仓库用于将属于同一功能逻辑类型的不同的目标功能模块进行统一维护管理,仓库实质作为一种存储媒介实现同类型的目标功能模块的存储和后续对已运营的目标功能模块进行组件维护,如组件更新、组件插拔等,仓库可以是电子设备本端独立的存储空间,可以是基于分布式存储架构的存储集群等,如服务器集群。进一步的,所述仓库可存储不同功能逻辑类型的多个目标功能模块,同一类型的目标功能模块可进行标记存储,也可集中存储。后续可基于业务开发需求对仓库中至少一种同一类型的目标功能模块进行管理。在一种可行的实施方式中,可以是一个仓库仅存储一种功能逻辑类型对应的目标功能模块。

步骤S203:对所述仓库中的所述目标功能模块进行模块管理。

根据一些实施例中,在仓库中的对所述目标功能模块进行模块管理,主要侧重于针对日常已运营或已上线的业务功能模块中模块组件的维护管理,应用开发架构以组件为基准,可对具有共性或拟合度高的模块以模块组件为单位进行维护管理,不同业务之间相同的业务功能逻辑可以以组件为基准进行模块复用,如针对某一业务功能模块,当基于业务开发需求需要对模块中的组件进行更新时,可从仓库中选取属于同一组件功能逻辑的组件直接进行更新提换。

进一步的,存储在仓库中的各同一功能逻辑类型的目标功能模块分属于不同的业务类型,常以jar包的形式存储,由于业务开发阶段功能逻辑类型相同,所以仓库日常维护秩序维护这套功能逻辑类型对应的模块组件的组件开发规范即可,如图6所示,图6是本申请涉及的一种仓库中模块存储的场景示意图,诸如业务1、业务2、业务3等不同的开发业务开发完成后为一个业务功能模块module,存储在仓库中的各同一功能逻辑类型的目标功能模块分属于不同的业务类型常以jar包的形式存储,日常模块维护常以组件为基准进行,按照相应的功能逻辑类型对应的模块组件的组件开发规范对各模块组件进行更新维护。

在一种具体的实施场景中,电子设备进行仓库存储是,可获取所述仓库中各所述目标功能模块的参考模块组件,确定各所述参考模块组件对应的组件功能逻辑;

电子设备具体可基于各所述参考模块组件对应的所述组件功能逻辑,确定属于同一所述组件功能逻辑类型的至少一个目标模块组件;也即对存储在仓库中的每一个目标功能模块确定所包含的模块组件的组件功能逻辑类型,对属于同一组件功能逻辑类型的分属于不同业务功能模块的参考模块组件进行统一管理,统一管理的方式包括但不限于统一标记、集中管理、建立组件索引等形式。

电子设备后续可对各所述目标模块组件进行组件维护管理。

可以理解的是,当某一类模块组件(如model、logic)的组件开发规范更新时,如增量更新、迭代更新等,则在仓库中执行组件维护管理具体可以是对可对同一组件功能逻辑类型的分属于不同业务功能模块的目标模块组件按照组件开发规范更新,而无需重新开发乃至重新编写模块组件代码。

步骤S204:获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度。

具体可参见步骤S101-S103,此处不再赘述。

步骤S205:基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件。

具体可参见步骤S101-S103,此处不再赘述。

步骤S206:确定所述目标组件的目标组件逻辑类型,以及确定所述目标组件逻辑类型对应的目标仓库;

以下对组件管理中的组件更新进行释义,组件更新可基于目标仓库中的模块组件实现组件的便捷替换。

在本申请中,若基于业务开发需求度,确定需求度目标业务功能模块中的目标组件进行更换,可采用仓库进行组件维护,组件维护基于两个维度,业务功能模块的开发时对应的功能逻辑类型和目标组件对应的组件逻辑类型,基于“模块的功能逻辑类型”和“组件逻辑类型”去确定共同匹配的目标仓库。在一些实施方式中,组件逻辑类型划分时通常映射到“模块的功能逻辑类型”这个维度,因此,可直接基于“组件逻辑类型”去确定目标仓库。可以理解的是不同的“组件逻辑类型”通常对应不同的仓库。

步骤S207:在所述目标仓库中,获取与所述目标组件相匹配的参考组件。

在一种具体的实施场景中,电子设备确定所述目标组件对应的目标组件功能逻辑;然后在所述目标仓库中,首先可以获取与所述目标组件属于同一目标组件功能逻辑的至少一个第一参考组件;具体实施中,仓库中可预先建立细粒到模块组件维度的库存索引,应用中只需基于库存索引去输入待检索的“目标组件功能逻辑”即可检索出相匹配的多个组件,也即第一参考组件,由于各第一参考组件分属于不同的业务类型,则进一步可基于业务开发需求度去选取满足业务开发需求的一个参考组件。选取规则可基于实际应用环境确定,不同的应用环境对应不同的选取规则,此处不进行赘述。

步骤S208:获取所述目标组件的所述目标组件功能逻辑对应的接口开发参数,以所述接口开发参数为基准,按照当前的所述业务开发需求度开发参考组件。

所述接口开发参数可以理解为按照组件开发规范对接口应用方法各版本迭代的软件接口。

在一种可行的实施方式中,电子设备可获取所述目标组件的所述目标组件功能逻辑对应的接口开发参数,采用对所述目标组件的接口开发参数进行更新的方式,得到更新后的参考组件。具体一种实施方式中可采用事务更新的方式,对于组件更新发起端而言,通过调用接口开发参数来进行分布式事务更新。组件更新发起端通常对应包括一个到多个分支事务组件的更新,每个分支事务组件可对应于一个到多个功能需求点,实现对对应的接口开发参数的调用。分支事务需要匹配于对应更新发起端的调用接口开发参数,才能在不对组件架构进行该更改的情况下正常使用组件开发规范对该更新发起端提供的一阶段服务进行适配以及应用,也即将基于业务开发需求度开发的一系列分布式事务更新至参考组件中,更新过程中,电子设备作为更新发起端在启动更新时,通过接口开发参数加载采用所包括的各个分支事务的数据(如脚本)对组件进行更新。进一步的,前述分支事务通常涉及到本次业务需求中的函数复用、调用开发规范,组件应用场景,SDK规范等等,具体基于实际应用情况确定,此处不具体展开。

例如,如果某个业务对应的业务功能模块的模块组件view,界面需求和界面层组件view不匹配,基于实际情况需要定制更改,则可以基于同一套接口开发参数开发针对业务界面更新的多个分支事务,通过调用接口开发参数将各分值事务进行加载激活,完成定制层组件custom_view的开发,也即上述参考组件,从而实现了定制界面更新,整个过程通常不需要进行重新确定组件架构,不需要进行大版本的组件代码编译,可实现组件的快速热更新。

进一步的,基于参考组件对目标组件的更新过程,此时,电子设备可通过业务功能模块对外的所述接口层组件激活组件更新事项,组件更新载事项激活后执行对目标组件进行更新,执行过程中如图7所示,图7是本申请涉及到的一种组件更新的场景示意图,具体通过所述目标组件(如组件view)和所述接口层组件对应的解耦接口进行组件管理中的:激活组件更新事项。其中,更新过程由于开发目标业务功能模块时细粒到组件维度,且各个模块组件可独立解耦独立工作,此时目标业务功能模块的其他组件不受更新影响,不用进行重新编译,通常不同业务的参考组件以JAR包的形式,通过所述目标组件和所述接口层组件对应的解耦接口,可以将参考组件如上述涉及的“定制层组件custom_view”热更新至目标业务功能模块中,整个过程模块可正常进行运营,不受组件更新的影响。

步骤S209:基于所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口,采用所述目标组件对所述参考组件进行组件更新处理;

具体可参见步骤S103,此处不再赘述。

在本申请实施例中,电子设备基于应用开发架构获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度,根据所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理,从而实现业务功能模块更新、卸载、扩展等复用,整个业务开发维护过程通常不需要软件开发端重新基于业务需求进行编写代码;以及可实现多具有共性或拟合度高的模块以模块组件为单位进行维护管理,不同业务之间相同的业务功能逻辑可以组件为基准进行模块复用,如实现正在运行的业务功能模块的热更新、热插拔、热扩展等,实现了业务功能的模块组件化管理;以及后续可基于业务需求的发展,对基于应用开发架构的模块组件进行扩展实现了高拓展性,模块组件开在后续模块运营过程中随时可以升级,拓展成新组件,满足不断迭代的需求更新,且整个过程常常不影响模块的正常运营。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图8,其示出了本申请一个示例性实施例提供的应用开发架构的组件管理装置的结构示意图。所述应用开发架构包括至少一个业务功能模块,所述业务功能模块包括至少两个模块组件,所述业务功能模块中的至少两个模块组件采用接口解耦方式进行组件通信;各所述业务功能模块通过所包含的接口层组件对外进行模块通信;该应用开发架构的组件管理装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括需求确定模块11、组件确定模块12和组件管理模块13。

需求确定模块11,用于获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度;

组件确定模块12,用于基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;

组件管理模块13,用于通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理。

可选的,如图9所示,所述装置1,还包括:

仓库管理模块14,用于按照每个所述业务功能模块业务开发时对应的功能逻辑类型,在各所述业务功能模块中确定属于同一功能逻辑类型的至少两个目标功能模块;

所述仓库管理模块14,还用于将所述至少两个目标功能模块保存至所述功能逻辑类型对应的仓库中,并对所述仓库中的所述目标功能模块进行模块管理。

可选的,如图10所示,所述仓库管理模块14,包括:

逻辑确定单元141,用于获取所述仓库中各所述目标功能模块的参考模块组件,确定各所述参考模块组件对应的组件功能逻辑;

组件分类单元142,用于基于各所述参考模块组件对应的所述组件功能逻辑,确定属于同一所述组件功能逻辑类型的至少一个目标模块组件;

组件维护单元143,用于对各所述目标模块组件进行组件维护管理。

可选的,所述组件管理模块13,具体用于:

确定针对所述目标组件的参考组件,基于所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口,采用所述目标组件对所述参考组件进行组件更新处理;以及,

基于所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口,对所述目标组件进行组件卸载处理。

可选的,如图11所示,所述组件管理模块13,包括:

仓库确定单元131,用于确定所述目标组件的目标组件逻辑类型,以及确定所述目标组件逻辑类型对应的目标仓库;

组件管理单元132,用于在所述目标仓库中,获取与所述目标组件相匹配的参考组件。

可选的,所述组件管理单元132,具体用于:

确定所述目标组件对应的目标组件功能逻辑;

在所述目标仓库中,获取与所述目标组件属于同一目标组件功能逻辑的参考组件。

可选的,所述组件管理模块13,具体用于:

获取所述目标组件的所述目标组件功能逻辑对应的接口开发参数,以所述接口开发参数为基准,按照当前的所述业务开发需求度开发参考组件;或,

获取所述目标组件的所述目标组件功能逻辑对应的接口开发参数,对所述目标组件的接口开发参数进行更新,得到更新后的参考组件。

可选的,所述模块组件包括:数据模型层组件、逻辑层组件、界面层组件以及接口层组件。

需要说明的是,上述实施例提供的应用开发架构的组件管理装置在执行应用开发架构的组件管理方法时,仅以上述各业务功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的业务功能模块完成,即将设备的内部结构划分成不同的业务功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用开发架构的组件管理装置与应用开发架构的组件管理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,电子设备基于应用开发架构获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度,根据所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理,从而实现业务功能模块更新、卸载、扩展等复用,整个业务开发维护过程通常不需要软件开发端重新基于业务需求进行编写代码;以及可实现多具有共性或拟合度高的模块以模块组件为单位进行维护管理,不同业务之间相同的业务功能逻辑可以组件为基准进行模块复用,如实现正在运行的业务功能模块的热更新、热插拔、热扩展等,实现了业务功能的模块组件化管理;以及后续可基于业务需求的发展,对基于应用开发架构的模块组件进行扩展实现了高拓展性,模块组件开在后续模块运营过程中随时可以升级,拓展成新组件,满足不断迭代的需求更新,且整个过程常常不影响模块的正常运营。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图7所示实施例的所述应用开发架构的组件管理方法,具体执行过程可以参见图1-图7所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图7所示实施例的所述应用开发架构的组件管理方法,具体执行过程可以参见图1-图7所示实施例的具体说明,在此不进行赘述。

请参见图12,为本申请实施例提供了另一种电子设备的结构示意图。如图11所示,所述电子设备2000可以包括:至少一个处理器2001,至少一个网络接口2004,用户接口2003,存储器2005,至少一个通信总线2002。

其中,通信总线2002用于实现这些组件之间的连接通信。

其中,用户接口2003可以包括显示屏(Display),可选用户接口2003还可以包括标准的有线接口、无线接口。

其中,网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。

其中,处理器2001可以包括一个或者多个处理核心。处理器2001利用各种借口和线路连接整个服务器2000内的各个部分,通过运行或执行存储在存储器2005内的指令、程序、代码集或指令集,以及调用存储在存储器2005内的数据,执行服务器2000的各种功能和处理数据。可选的,处理器2001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器2001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器2001中,单独通过一块芯片进行实现。

其中,存储器2005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器2005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器2005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图12所示,作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及应用开发架构的组件管理应用程序。

在图12所示的电子设备2000中,用户接口2003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器2001可以用于调用存储器2005中存储的应用开发架构的组件管理应用程序,所述应用开发架构包括至少一个业务功能模块,所述业务功能模块包括至少两个模块组件,所述业务功能模块中的至少两个模块组件采用接口解耦方式进行组件通信;各所述业务功能模块通过所包含的接口层组件对外进行模块通信,并具体执行以下操作:

获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度;

基于所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;

通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理。

在一个实施例中,所述处理器2001在执行所述获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度之前,还执行以下步骤:

按照每个所述业务功能模块业务开发时对应的功能逻辑类型,在各所述业务功能模块中确定属于同一功能逻辑类型的至少两个目标功能模块;

将所述至少两个目标功能模块保存至所述功能逻辑类型对应的仓库中,并对所述仓库中的所述目标功能模块进行模块管理。

在一个实施例中,所述处理器2001在执行所述对所述仓库中的所述目标功能模块进行模块管理时,具体执行以下步骤:

获取所述仓库中各所述目标功能模块的参考模块组件,确定各所述参考模块组件对应的组件功能逻辑;

基于各所述参考模块组件对应的所述组件功能逻辑,确定属于同一所述组件功能逻辑类型的至少一个目标模块组件;

对各所述目标模块组件进行组件维护管理。

在一个实施例中,所述处理器2001在执行所述通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理时,具体执行以下步骤:

确定针对所述目标组件的参考组件,基于所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口,采用所述目标组件对所述参考组件进行组件更新处理;

或,

基于所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口,对所述目标组件进行组件卸载处理。

在一个实施例中,所述处理器2001在执行所述确定针对所述目标组件的参考组件时,具体执行以下步骤:

确定所述目标组件的目标组件逻辑类型,以及确定所述目标组件逻辑类型对应的目标仓库;

在所述目标仓库中,获取与所述目标组件相匹配的参考组件。

在一个实施例中,所述处理器2001在执行所述在所述目标仓库中,获取与所述目标组件相匹配的参考组件时,具体执行以下步骤:

确定所述目标组件对应的目标组件功能逻辑;

在所述目标仓库中,获取与所述目标组件属于同一目标组件功能逻辑的参考组件。

在一个实施例中,所述处理器2001在执行所述确定针对所述目标组件的参考组件时,具体执行以下步骤:

获取所述目标组件的所述目标组件功能逻辑对应的接口开发参数,以所述接口开发参数为基准,按照当前的所述业务开发需求度开发参考组件;或,

获取所述目标组件的所述目标组件功能逻辑对应的接口开发参数,对所述目标组件的接口开发参数进行更新,得到更新后的参考组件。

在一个实施例中,所述模块组件包括:数据模型层组件、逻辑层组件、界面层组件以及接口层组件。

在本申请实施例中,电子设备基于应用开发架构获取针对所述至少一个业务功能模块中目标业务功能模块的业务开发需求度,根据所述业务开发需求度,确定针对所述目标业务功能模块中待处理的目标组件;通过所述接口层组件、所述目标组件和所述接口层组件对应的解耦接口对所述目标组件进行组件管理,从而实现业务功能模块更新、卸载、扩展等复用,整个业务开发维护过程通常不需要软件开发端重新基于业务需求进行编写代码;以及可实现多具有共性或拟合度高的模块以模块组件为单位进行维护管理,不同业务之间相同的业务功能逻辑可以组件为基准进行模块复用,如实现正在运行的业务功能模块的热更新、热插拔、热扩展等,实现了业务功能的模块组件化管理;以及后续可基于业务需求的发展,对基于应用开发架构的模块组件进行扩展实现了高拓展性,模块组件开在后续模块运营过程中随时可以升级,拓展成新组件,满足不断迭代的需求更新,且整个过程常常不影响模块的正常运营。

本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。

以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

相关技术
  • 应用开发架构的组件管理方法、装置、存储介质及电子设备
  • 一种iOS组件的管理方法、装置、电子设备及存储介质
技术分类

06120112860138