CN111221529A - 应用开发方法、装置及电子设备 - Google Patents
应用开发方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111221529A CN111221529A CN202010013225.6A CN202010013225A CN111221529A CN 111221529 A CN111221529 A CN 111221529A CN 202010013225 A CN202010013225 A CN 202010013225A CN 111221529 A CN111221529 A CN 111221529A
- Authority
- CN
- China
- Prior art keywords
- application
- node
- application node
- superior
- nodes
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000011161 development Methods 0.000 title claims abstract description 41
- 230000001419 dependent effect Effects 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000004088 simulation Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 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
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000012546 transfer Methods 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
- 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/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种应用开发方法、装置及电子设备,在多个应用节点中的任一应用节点接收到执行指令时,确定出多个应用节点中的应用入口,进而从该应用入口按照预设的树状依赖结构向下遍历所有应用节点,组成完整的应用。树状依赖结构为将应用拆分为多个应用节点时得到的各应用节点的依赖结构,树状依赖结构中下级应用节点的执行依赖于该下级应用节点所对应的上级应用节点的执行结果;其中:应用入口为树顶点。在各子应用被开发好后,即从多个应用节点中的任一应用节点中输入执行指令,确定出应用入口,然后依次遍历所有应用节点,组成完整的应用,解决了目前不能在应用节点间具有依赖性的场景下,组合得到完整应用的问题。
Description
技术领域
本申请涉及应用开发领域,具体而言,涉及一种应用开发方法、装置及电子设备。
背景技术
在web(网页)前端开发场景中,一个开发项目一般对应一个web应用,开发项目在其中后期由于长时间的跨度,大量的迭代需求的累加,会极大的提高开发/维护成本,因此在实际应用中,往往会将项目拆分为不同粒度的小型项目,从而使项目拥有一个平稳的开发曲线。
目前惯用的拆分方案一般采用的是iframe方案。iframe方案可以将一个应用开发项目可以拆分为对多个子应用开发项目,各子应用开发项目对应于不同的子应用。但是由iframe方案拆分后,各子应用间不具备相关性,对于子应用间具有依赖性的场景,iframe方案不具备可用性。
发明内容
本申请实施例的目的在于提供一种应用开发方法、装置及电子设备,用以解决相关技术不能实现子应用间具有依赖性的场景下,子应用组合得到完整应用的问题。
本申请实施例提供了一种应用开发方法,包括:
在多个应用节点中的任一应用节点接收到执行指令时,确定出所述多个应用节点中的应用入口;从所述应用入口按照预设的树状依赖结构向下遍历所有应用节点,组成完整的应用;所述树状依赖结构为将应用拆分为所述多个应用节点时得到的各所述应用节点的依赖结构,所述树状依赖结构中下级应用节点的执行依赖于该下级应用节点所对应的上级应用节点的执行结果;其中:所述应用入口为树顶点。
在上述实现过程中,在将应用拆分为多个应用节点时,即记录下整个拆分得到的树状依赖结构。需要理解的是,应用间具有依赖性是指下级应用节点的执行环境依赖于上级应用节点的执行结果来实现。即在上级应用节点未执行时,依赖于该上级应用节点的下级应用节点也不能被执行,树状依赖结构即记载了各应用节点之间的依赖关系。在上述实现过程中,在各子应用被开发好后,进行关联以得到完整的应用时,即从多个应用节点中的任一应用节点中输入执行指令,确定出应用入口(即树状依赖结构的树顶点),然后从上至下依次遍历所有应用节点,从而组成完整的应用。从而解决了目前存在的不能在各应用节点间具有依赖性的场景下,各应用节点组合得到完整应用的问题。
进一步地,所述在多个应用节点中的任一应用节点接收到执行指令时,确定出所述多个应用节点中的应用入口,包括:在多个应用节点中的任一应用节点接收到执行指令时,判断所述应用节点是否存在依赖的上级应用节点;若所述应用节点不存在依赖的上级应用节点,确定所述应用节点为应用入口;若所述应用节点存在依赖的上级应用节点,判断所述上级应用节点是否存在依赖的上级应用节点,直至确定出应用入口。
在上述实现过程中,通过判断应用节点是否存在依赖的上级应用节点来溯源,查找得到应用入口。方案实现简单,可实现性高。
进一步地,所述判断所述上级应用节点是否存在依赖的上级应用节点包括:加载所述上级应用节点;在所述上级应用节点的加载过程中,判断所述上级应用节点是否存在依赖的上级应用节点。
在上述实现过程中,可以在上级应用节点的加载过程中,判断上级应用节点是否存在依赖的上级应用节点。从而在确定应用入口的过程中,实现对于非应用入口的节点的部分加载,使得后续从应用入口按照预设的树状依赖结构向下遍历所有应用节点的过程中,该节点能够更快的进行执行以及响应。
进一步地,在所述上级应用节点的加载过程中,判断所述上级应用节点是否存在依赖的上级应用节点,包括:获取所述上级应用节点所需要的资源;判断所述上级应用节点是否存在依赖的上级应用节点;若不存在依赖的上级应用节点,构建所述上级应用节点所需要的执行环境,在所述执行环境下,依据所述资源装载所述上级应用节点对应的应用程序;若存在依赖的上级应用节点,加载依赖的上级应用节点,并等待所述依赖的上级应用节点的执行结果,根据所述依赖的上级应用节点的执行结果构建所述上级应用节点所需要的执行环境,在所述执行环境下,依据所述资源装载所述上级应用节点对应的应用程序。
在上述实现过程中,可以在上级应用节点的加载过程中,构建所需要的执行环境之前,判断上级应用节点是否存在依赖的上级应用节点。从而在确定应用入口的过程中,实现对于非应用入口的节点的资源预先获取,使得后续从应用入口按照预设的树状依赖结构向下遍历所有应用节点的过程中,该应用节点能够更快的进行执行以及响应。
进一步地,所述方法还包括:将所述应用节点的控制权转交给其所依赖的上级应用节点,以供所述上级应用节点调用。
在上述实现过程中,由于应用节点所依赖的上级应用节点未执行,因此应用节点无法构建相应的执行环境,进而导致应用节点无法执行。此时需要等待上级应用节点执行,为了使得在上级应用节点执行完毕后,可以快速启动本应用节点的执行过程,可以将应用节点的控制权转交给其所依赖的上级应用节点,从而在上级应用节点加载执行完毕之后,可以快速调用该应用节点继续执行应用,提高方案的可靠性。
进一步地,所述方法还包括:在所述上级应用节点加载失败时,创建所述应用节点对应的模拟执行环境;在所述模拟执行环境下执行所述应用节点的功能。
在上述实现过程中,在上级应用节点加载失败时(如出现获取上级应用节点所需要的资源失败,或者构建执行环境失败,或者装载上级应用节点对应的应用程序失败等情况时),可以将应用节点作为独立节点,创建该应用节点对应的模拟执行环境,在所述模拟执行环境下执行该应用节点的功能。这样,使得本申请的方案在某一上级节点出现问题时,下级节点仍旧可以尝试进行执行,从而关联到完整的应用中,提升了本申请方案的可靠性。
进一步地,各所述应用节点依赖的上级应用节点至多只有一个。
在上述实现过程中,各应用节点至多依赖一个上级应用节点,从而使得整个树状依赖结构更为简单,使得各应用节点之间的关联衔接更为简单,方案可实现性更好。
进一步地,所述多个应用节点中有且仅有一个应用入口。
本申请实施例还提供了一种应用开发装置,包括:确定模块和处理模块;所述确定模块,用于在多个应用节点中的任一应用节点接收到执行指令时,确定出所述多个应用节点中的应用入口;所述处理模块,用于从所述应用入口按照预设的树状依赖结构向下遍历所有应用节点,组成完整的应用;所述树状依赖结构为将应用拆分为多个应用节点时得到的各所述应用节点的依赖结构,所述树状依赖结构中下级应用节点的执行依赖于该下级应用节点所对应的上级应用节点的执行结果;其中:所述应用入口为树顶点。
在上述实现结构中,在各子应用被开发好后,进行关联以得到完整的应用时,即从多个应用节点中的任一应用节点中输入执行指令,确定出应用入口(即树状依赖结构的树顶点),然后从上至下依次遍历所有应用节点,从而组成完整的应用。从而解决了目前存在的不能在各应用节点间具有依赖性的场景下,各应用节点组合得到完整应用的问题。
本申请实施例还提供了一种电子设备,包括通信接口、处理器、存储器及通信总线;所述通信总线用于实现所述通信接口、处理器和存储器之间的连接通信;所述存储器中存储有一个或者多个程序,且存储有多个应用节点;所述通信接口用于接收针对所述多个应用节点中任一应用节点的执行指令,并通过所述通信总线传输给所述处理器;所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现上述任一种的应用开发方法。
本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的应用开发方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用开发方法的流程示意图;
图2为本申请实施例提供的一种树状结构示意图;
图3为本申请实施例提供的一种应用依赖结构示意图;
图4为本申请实施例提供的另一种应用依赖结构示意图;
图5为本申请实施例提供的一种应用开发装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
本申请实施例中提供了一种应用开发方法。可以参见图1所示,图1为本申请实施例中提供的一种应用开发方法的流程示意图,包括:
S101:在多个应用节点中的任一应用节点接收到执行指令时,确定出多个应用节点中的应用入口。
需要说明的是,本申请实施例中,工程师在确定要开发一个应用时,可以人为地将该应用拆分成为多个具有依赖关系的子应用(即各应用节点),从而得到一个树状依赖结构。
还需要说明的是,所谓树状依赖结构是指多个节点之间呈树状结构分布(例如图2所示的分布结构,图2中的一个小黑点即表征一个节点),且下级应用节点的执行依赖于该下级应用节点所对应的上级应用节点的执行结果的结构。需要注意的是,本申请实施例中,位于树状依赖结构顶端的节点(即树顶点)为应用入口,应用入口是应用使用过程中,对接用户的门户。
还需要说明的是,本申请实施例中的方案应用于各子应用已被开发完毕,但还没有关联得到整个完整的应用的情况。
此外,应当理解的是,在实际使用过程中,各应用节点可以通过一个电子设备来承载,但也可以承载在不同的电子设备中,通过这多个电子设备构成的设备集群来提供整个应用的服务。应当理解的是,各应用节点承载在不同的电子设备中时,各电子设备构成的设备集群可以看作一个通过通信接口将多个电子设备连接在一起大型的电子设备,因此本申请实施例中将实现整个完整的应用的单个电子设备或设备集群统称为应用承载设备。本申请实施例中所提供的应用开发方法即应用于应用承载设备中。
在本申请实施例中,应用节点可以分为两类,一类是不具有依赖关系的应用节点,这类应用节点仅有位于树状依赖结构顶端的应用入口,其余的即为具有依赖关系的应用节点。
基于此,在本申请实施例中,工程师可以针对任一个应用节点下发执行指令。在任一个应用节点接收到执行指令后,即可依据树状依赖结构判断该应用节点是否存在依赖的上级应用节点,若不存在,即表明该应用节点就是应用入口,反之,即表明该应用节点不是应用入口。
在本申请实施例中,在检测到存在依赖的上级应用节点后,需要继续判断上级应用节点是否也存在依赖的上级应用节点,这样不断进行主机判断,直到检测到某一应用节点不存在依赖的上级应用节点(即确定出应用入口)为止。
还需要说明的是,在本申请实施例中,在任一个应用节点接收到执行指令后,该应用节点可以进行加载操作。这里需要说明的是,对于任意一个应用节点而言,其加载流程都是相同的,主要包括获取应用节点所需要的资源,构建应用节点所需要的执行环境,在执行环境下,依据资源装载应用节点对应的应用程序。而针对具有依赖关系的应用节点,其所存在的问题在于对于执行环境的创建需要依赖于上级应用的执行结果,因此导致在上级应用没有被执行的前提下,依赖于该上级应用的所有下级应用都无法构建的到需要的执行环境。
对此,在本申请实施例中,可以在应用节点的加载过程中,进行是否存在依赖的上级应用节点的判断。在判断出不存在依赖的上级应用节点时,即表明该应用节点为应用入口,直接构建应用入口对应的执行环境即可,继而在构建的执行环境下,依据获取到的资源装载应用入口对应的应用程序。需要说明的是,对应用入口而言,构建执行环境所需的数据是预先配置好的,不需要依赖于其余节点而可以直接构建。
还需要说明的是,在本申请实施例中,各应用节点所需要的资源主要指的是CSS文件(Cascading Style Sheets,层叠样式表),JS文件(储存有javascript脚本的文件)等,而执行环境则是指用于提供应用装载所需的必要条件,以及隔离不同应用间的边界的环境数据。通常而言,不同的应用节点,所需要的资源会存在一定的差别。在本申请实施例中,可以先获取应用所需要的资源列表,该资源列表可以存放于预设的资源数据库中,进而根据资源列表下载相应的资源。
在本申请实施例中,在应用节点的加载过程中,若判断出存在依赖的上级应用节点,即表明该应用节点不为应用入口,此时可以暂停对该应用节点的加载,使该应用节点等待依赖的上级应用节点的执行结果,转而加载该应用节点所依赖的上级应用节点。对于该应用节点所依赖的上级应用节点而言,同样按照上述方式执行,直至确定出应用入口。
示例性的,参见图3所示,假设应用节点C接收到执行指令,控制加载应用节点C,即获取应用节点C所需要的资源,判断应用节点C是否存在依赖的上级应用节点。此时会得到应用节点C存在依赖的应用节点B。此时应用节点C加载过程处于等待状态,转而加载应用节点B。获取应用节点B所需要的资源,判断应用节点B是否存在依赖的上级应用节点。此时会得到应用节点B存在依赖的应用节点A。此时应用节点B加载过程处于等待状态,转而加载应用节点A。获取应用节点A所需要的资源,判断应用节点A是否存在依赖的上级应用节点。此时会得到应用节点A不存在依赖的应用节点,即应用节点A为应用入口,构建应用节点A的执行环境,并在该执行环境下,依据获取到的应用节点A所需要的资源,装载应用节点A对应的应用程序。
S102:从应用入口按照预设的树状依赖结构向下遍历所有应用节点,组成完整的应用。
需要理解的是,在本申请实施例中,所谓从应用入口按照预设的树状依赖结构向下遍历所有应用节是指,从应用入口开始,先执行应用入口的功能。在应用入口执行完毕后,启用依赖应用入口的下级应用并执行,进而启用依赖各下级应用的下级应用并执行。需要注意的是,对于处于加载等待状态的应用节点而言,不需要再重复启用,只需要接收所依赖的上级应用的执行结果后,构建所需的执行环境并装载对应的应用程序执行即可。
示例性的,对于图3所示的树状依赖结构,应用节点A加载完毕后执行节点功能。
然后将应用节点A的执行结果下发给应用节点B和应用节点D。
根据应用节点A传来的执行结果构建应用节点B所需的执行环境,并在该执行环境下,依据获取到的应用节点B所需要的资源,装载应用节点B对应的应用程序并执行。
将应用节点B的执行结果下发给应用节点C。根据应用节点B传来的执行结果构建应用节点C所需的执行环境,并在该执行环境下,依据获取到的应用节点C所需要的资源,装载应用节点C对应的应用程序并执行。
获取应用节点D所需要的资源,根据应用节点A传来的执行结果构建应用节点D所需的执行环境,并在该执行环境下,依据获取到的应用节点D所需要的资源,装载应用节点D对应的应用程序并执行。
通过以上过程,若所有应用节点的执行结果均成功,那么图3所示的各应用节点即成功关联,组成了完整的应用。之后用户只需要通过应用入口即可正常使用应用。
需要理解的是,在本申请实施例中,在判断一个应用节点存在依赖的上级应用节点时,可以将该应用节点的控制权转交给其所依赖的上级应用节点,以便于在其所依赖的上级应用节点执行后,可以快速调用到该节点进行继续加载以及执行。
还需要理解的是,在本申请实施例中,若在加载某一应用节点的上级应用节点时,发现上级应用节点加载失败,此时即该应用节点无法得到上级应用节点的执行结果。为了尽可能降低由于上级应用节点故障导致的下级应用节点关联失败,在本申请实施例中,可以创建该应用节点对应的模拟执行环境,并在模拟执行环境下装载对应的应用程序,执行应用节点的功能。需要说明的是,前述模拟执行环境可以是该应用节点开发过程中配置的模拟执行环境。
还需要理解的是,在本申请实施例中,应用入口可以有且仅有一个,从而便于应用管理,同时也便于进行各应用节点的关联。此外,在本申请实施例中,各应用节点依赖的上级应用节点至多只有一个,从而降低应用节点间的关系复杂度,便于进行各应用节点的关联。
通过本申请实施例所提供的应用开发方法,在将应用拆分为多个应用节点时,即记录下整个拆分得到的树状依赖结构。在各子应用被开发好后,进行关联以得到完整的应用时,即从多个应用节点中的任一应用节点中输入执行指令,确定出应用入口(即树状依赖结构的树顶点),然后从上至下依次遍历所有应用节点,从而组成完整的应用。从而解决了目前存在的不能在各应用节点间具有依赖性的场景下,各应用节点组合得到完整应用的问题。
实施例二:
基于实施例一的描述,本实施例以一种较具体的应用开发过程为例,对本申请实施例的方案做进一步示例说明。
首先,在确定需要开发一个Web前端应用后,工程师人工将其拆分为多个Web前端子应用,并分别进行各Web前端子应用的开发。本申请实施例中设拆分得到的各Web前端子应用如图4所示。
在应用入口和各子应用均开发好后,即在子应用A处输入一个执行指令。此时加载子应用A,并在加载过程中判断子应用A是否存在依赖的上级应用。即获取子应用A所需要的资源列表,进而下载资源列表中的资源,然后判断子应用A是否存在依赖的上级应用,若没有即继续执行加载过程,若有则暂停加载子应用A,转而加载上级应用。图4中,子应用A存在上级应用即应用入口,此时加载应用入口,即获取应用入口所需要的资源列表,进而下载资源列表中的资源,构建应用入口所需的执行环境,在该执行环境下,装载应用入口对应的应用程序,执行应用入口的功能。
将应用入口的执行结果传给子应用A,根据应用入口的执行结果构建子应用A的执行环境,在该执行环境下,依据子应用A所需的资源装载子应用A对应的应用程序并执行。
将子应用A的执行结果传给子应用C,加载子应用C,即获取子应用C所需要的资源列表,进而下载资源列表中的资源,然后根据子应用A的执行结果构建子应用C的执行环境,在该执行环境下,依据子应用C所需的资源装载子应用C对应的应用程序并执行。
将应用入口的执行结果传给子应用B,加载子应用B,即获取子应用B所需要的资源列表,进而下载资源列表中的资源,然后根据子应用B的执行结果构建子应用B的执行环境,在该执行环境下,依据子应用B所需的资源装载子应用B对应的应用程序并执行。
上述方案,通过动态依赖查找的方式,将各个子应用进行组装,最终组成一个完整的应用,解决了目前存在的不能在各应用节点间具有依赖性的场景下,各应用节点组合得到完整应用的问题。
实施例三:
基于同一发明构思,本申请实施例中还提供一种应用开发装置100。请参阅图5所示,图5示出了与图1所示的方法一一对应的应用开发装置。应理解,装置100具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置100包括至少一个能以软件或固件的形式存储于存储器中或固化在装置100的操作系统中的软件功能模块。具体地:
参见图5所示,装置100包括:确定模块101和处理模块102。其中:
确定模块101,用于在多个应用节点中的任一应用节点接收到执行指令时,确定出多个应用节点中的应用入口;
处理模块102,用于从应用入口按照预设的树状依赖结构向下遍历所有应用节点,组成完整的应用;
树状依赖结构为将应用拆分为多个应用节点时得到的各应用节点的依赖结构,树状依赖结构中下级应用节点的执行依赖于该下级应用节点所对应的上级应用节点的执行结果;其中:应用入口为树顶点。
在本申请实施例的一种可行实施方式中,确定模块101具体用于在多个应用节点中的任一应用节点接收到执行指令时,判断应用节点是否存在依赖的上级应用节点;若应用节点不存在依赖的上级应用节点,确定应用节点为应用入口;若应用节点存在依赖的上级应用节点,判断上级应用节点是否存在依赖的上级应用节点,直至确定出应用入口。
在上述可行实施方式中,确定模块101具体用于加载上级应用节点;在上级应用节点的加载过程中,判断上级应用节点是否存在依赖的上级应用节点。
进一步的,确定模块101具体用于获取上级应用节点所需要的资源;判断上级应用节点是否存在依赖的上级应用节点;若不存在依赖的上级应用节点,构建上级应用节点所需要的执行环境,在执行环境下,依据资源装载上级应用节点对应的应用程序;若存在依赖的上级应用节点,加载依赖的上级应用节点,并等待依赖的上级应用节点的执行结果,根据依赖的上级应用节点的执行结果构建上级应用节点所需要的执行环境,在执行环境下,依据资源装载上级应用节点对应的应用程序。
在上述可行实施方式中,处理模块102还用于将应用节点的控制权转交给其所依赖的上级应用节点,以供上级应用节点调用。
在本申请实施例的一种可行实施方式中,处理模块102还用于在上级应用节点加载失败时,创建应用节点对应的模拟执行环境;在模拟执行环境下执行应用节点的功能。
在本申请实施例的一种可行实施方式中,各应用节点依赖的上级应用节点至多只有一个。
在本申请实施例的一种可行实施方式中,多个应用节点中有且仅有一个应用入口。
需要理解的是,出于描述简洁的考量,部分实施例一和实施例二中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种电子设备,参见图6所示,其包括通信接口601、处理器602、存储器603以及通信总线604。其中:
通信总线604用于实现通信接口601、处理器602和存储器603之间的连接通信。
存储器603中存储有一个或者多个程序,且存储有多个应用节点。
通信接口601用于接收针对多个应用节点中任一应用节点的执行指令,并通过通信总线604传输给处理器602。
处理器602用于执行存储器603中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的应用开发方法。
可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。例如,电子设备还可以具有输入设备(如键盘等),显示设备(如显示屏等)等部件。
本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中的应用开发方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种应用开发方法,其特征在于,包括:
在多个应用节点中的任一应用节点接收到执行指令时,确定出所述多个应用节点中的应用入口;
从所述应用入口按照预设的树状依赖结构向下遍历所有应用节点,组成完整的应用;
所述树状依赖结构为将应用拆分为所述多个应用节点时得到的各所述应用节点的依赖结构,所述树状依赖结构中下级应用节点的执行依赖于该下级应用节点所对应的上级应用节点的执行结果;其中:所述应用入口为树顶点。
2.如权利要求1所述的应用开发方法,其特征在于,所述在多个应用节点中的任一应用节点接收到执行指令时,确定出所述多个应用节点中的应用入口,包括:
在多个应用节点中的任一应用节点接收到执行指令时,判断所述应用节点是否存在依赖的上级应用节点;
若所述应用节点不存在依赖的上级应用节点,确定所述应用节点为应用入口;
若所述应用节点存在依赖的上级应用节点,判断所述上级应用节点是否存在依赖的上级应用节点,直至确定出应用入口。
3.如权利要求2所述的应用开发方法,其特征在于,所述判断所述上级应用节点是否存在依赖的上级应用节点包括:
加载所述上级应用节点;
在所述上级应用节点的加载过程中,判断所述上级应用节点是否存在依赖的上级应用节点。
4.如权利要求3所述的应用开发方法,其特征在于,在所述上级应用节点的加载过程中,判断所述上级应用节点是否存在依赖的上级应用节点,包括:
获取所述上级应用节点所需要的资源;
判断所述上级应用节点是否存在依赖的上级应用节点;
若不存在依赖的上级应用节点,构建所述上级应用节点所需要的执行环境,在所述执行环境下,依据所述资源装载所述上级应用节点对应的应用程序;
若存在依赖的上级应用节点,加载依赖的上级应用节点,并等待所述依赖的上级应用节点的执行结果,根据所述依赖的上级应用节点的执行结果构建所述上级应用节点所需要的执行环境,在所述执行环境下,依据所述资源装载所述上级应用节点对应的应用程序。
5.如权利要求3所述的应用开发方法,其特征在于,所述方法还包括:
将所述应用节点的控制权转交给其所依赖的上级应用节点,以供所述上级应用节点调用。
6.如权利要求3所述的应用开发方法,其特征在于,所述方法还包括:
在所述上级应用节点加载失败时,创建所述应用节点对应的模拟执行环境;
在所述模拟执行环境下执行所述应用节点的功能。
7.如权利要求1-6任一项所述的应用开发方法,其特征在于,各所述应用节点依赖的上级应用节点至多只有一个。
8.如权利要求1-6任一项所述的应用开发方法,其特征在于,所述多个应用节点中有且仅有一个应用入口。
9.一种应用开发装置,其特征在于,包括:确定模块和处理模块;
所述确定模块,用于在多个应用节点中的任一应用节点接收到执行指令时,确定出所述多个应用节点中的应用入口;
所述处理模块,用于从所述应用入口按照预设的树状依赖结构向下遍历所有应用节点,组成完整的应用;
所述树状依赖结构为将应用拆分为多个应用节点时得到的各所述应用节点的依赖结构,所述树状依赖结构中下级应用节点的执行依赖于该下级应用节点所对应的上级应用节点的执行结果;其中:所述应用入口为树顶点。
10.一种电子设备,其特征在于,包括:通信接口、处理器、存储器及通信总线;
所述通信总线用于实现所述通信接口、处理器和存储器之间的连接通信;
所述存储器中存储有一个或者多个程序,且存储有多个应用节点;
所述通信接口用于接收针对所述多个应用节点中任一应用节点的执行指令,并通过所述通信总线传输给所述处理器;
所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现如权利要求1-8中任一项所述的应用开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013225.6A CN111221529A (zh) | 2020-01-07 | 2020-01-07 | 应用开发方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013225.6A CN111221529A (zh) | 2020-01-07 | 2020-01-07 | 应用开发方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111221529A true CN111221529A (zh) | 2020-06-02 |
Family
ID=70832206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010013225.6A Withdrawn CN111221529A (zh) | 2020-01-07 | 2020-01-07 | 应用开发方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221529A (zh) |
-
2020
- 2020-01-07 CN CN202010013225.6A patent/CN111221529A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124475B (zh) | 存储管理的方法、电子设备和计算机可读存储介质 | |
CN109168328B (zh) | 虚拟机迁移的方法、装置和虚拟化系统 | |
CN110391938B (zh) | 用于部署服务的方法和装置 | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
US11556369B2 (en) | Virtual machine deployment method and OMM virtual machine | |
CN107368353B (zh) | 一种实现虚拟机内存热添加的方法和装置 | |
CN111538545B (zh) | Java应用运行方法、装置、介质及电子设备 | |
EP3879875A1 (en) | Resource change method and device, apparatus, and storage medium | |
US11531526B1 (en) | Creating portable serverless applications | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
CN114968406B (zh) | 一种插件管理方法、装置、电子设备及存储介质 | |
CN114968477A (zh) | 容器热迁移方法及容器热迁移装置 | |
KR102118487B1 (ko) | 지속적인 통합 및 배포를 위한 컨테이너 기반 애플리케이션의 자동 품질검사 시스템 및 방법 | |
US11494184B1 (en) | Creation of transportability container files for serverless applications | |
CN113127430B (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
US20220229689A1 (en) | Virtualization platform control device, virtualization platform control method, and virtualization platform control program | |
CN116737662A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN115167874B (zh) | 自动驾驶软件镜像部署方法、装置、电子设备和可读介质 | |
CN114070889B (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN110599112A (zh) | 一种网络页面开发、维护方法和装置 | |
US20240061701A1 (en) | Memory sharing method and device for virtual machines | |
US11513833B1 (en) | Event listener interface for container-based execution of serverless functions | |
CN111221529A (zh) | 应用开发方法、装置及电子设备 | |
CN109189551A (zh) | 一种创建中间件的方法、装置及计算机存储介质 | |
CN115150268A (zh) | Kubernetes集群的网络配置方法、装置、及电子设备 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200602 |