一种模块调用方法、装置、电子设备及存储介质与流程

文档序号:24872298发布日期:2021-04-30 12:44阅读:113来源:国知局
一种模块调用方法、装置、电子设备及存储介质与流程

本申请涉及应用程序开发领域,尤其涉及一种模块调用方法、装置、电子设备及存储介质。



背景技术:

应用程序的正常运行依靠应用程序调用各个模块,例如与房产相关的应用程序,其运行需要调用用于展示图片、用于定位、用于聊天等模块。而每个模块被调用时,其内部方法的执行又需要依赖其它模块的方法的执行结果,即需要调用其它模块,例如模块a的内部方法的实现,需要依赖于模块b的方法的执行结果,这样就形成了模块a与模块b之间的依赖关系。由此,一个应用程序会存在大量的模块之间的依赖关系。

在开发应用程序时,会将各个模块对应的依赖关系写入一个统一的文件中,当某个模块需要交互时,就可以从该文件中提取相应的依赖关系,并根据该依赖关系与相关的模块进行交互。例如,在文件中写入模块a依赖于模块b,此时,在模块a中注册消息总线事件,由模块a订阅模块b,当模块b上线时(也就是模块b可以被调用时),模块b发送消息总线事件,这样,模块a就可以获知模块b已上线,就可以调用模块b。但是,如果模块之间的依赖关系过于复杂,例如模块a依赖于模块b,模块b依赖于模块c,模块c依赖于模块d等,这样,如果模块a调用模块d,需要通过模块a调用模块b,然后通过模块b调用模块c,最后通过模块c调用模块d,以完成模块a对模块d的调用。可见,应用程序的需求越多,模块之间的依赖关系会越复杂,越难以实现,也难以维护,且模块之间调用的效率会比较低。



技术实现要素:

本申请提供了一种模块调用方法、装置、电子设备及存储介质,以简化模块之间的调用过程,提高模块之间的调用效率。

第一方面,本发明实施例提供了一种模块调用方法,应用于管理模块,所述方法包括:

接收需求模块发送的调用请求,所述调用请求包括所要调用的方法函数,其中,所述管理模块上存储有方法函数集合,所述方法函数集合包括多个模块的方法函数信息;

在所述方法函数集合中确定与所述所要调用的方法函数对应的目标方法函数;

执行所述目标方法函数,以实现需求模块对与所述目标方法函数对应的目标模块的调用。

在本发明实施例第一方面一种可能的实现方式中,所述接收需求模块发送的调用请求之前还包括:

接收所述需求模块的注册信息,所述注册信息包括所述需求模块的方法函数;

封装所述需求模块的方法函数,得到所述需求模块的调用接口,所述调用接口用于所述需求模块向所述管理模块发送调用请求。

在本发明实施例第一方面一种可能的实现方式中,所述封装所述需求模块的方法函数,得到所述需求模块的调用接口还包括:

封装所述需求模块的方法函数,得到所述需求模块的方法名称,所述方法名称用于标识所述需求模块的方法函数;

存储所述需求模块的方法名称至所述方法函数集合。

在本发明实施例第一方面一种可能的实现方式中,所述在所述方法函数集合中确定与所述所要调用的方法函数对应的目标方法函数包括:

根据所述所要调用的方法函数,确定所述所要调用的方法函数的方法名称;

确定所述方法函数集合中所述多个模块的方法函数信息中的方法名称;

在所述多个模块的方法函数的方法名称中确定与所述所要调用的方法函数的方法名称相同的目标方法名称;

根据所述目标方法名称确定对应的目标方法函数。

在本发明实施例第一方面一种可能的实现方式中,所述管理模块预先配置回调方法函数,所述调用请求还包括返回执行结果,执行所述目标方法函数包括:

执行所述回调方法函数,以将执行结果发送至所述需求模块。

第二方面,本发明实施例提供了一种模块调用装置,应用于管理模块,所述装置包括:

请求接收单元,用于接收需求模块发送的调用请求,所述调用请求包括所要调用的方法函数,其中,所述管理模块上存储有方法函数集合,所述方法函数集合包括多个模块的方法函数信息;

方法确定单元,用于在所述方法函数集合中确定与所述所要调用的方法函数对应的目标方法函数;

执行单元,用于执行所述目标方法函数,以实现需求模块对与所述目标方法函数对应的目标模块的调用。

在本发明实施例第二方面一种可能的实现方式中,所述装置还包括:

注册单元,用于接收所述需求模块的注册信息,所述注册信息包括所述需求模块的方法函数;

封装单元,用于封装所述需求模块的方法函数,得到所述需求模块的调用接口,所述调用接口用于所述需求模块向所述管理模块发送调用请求。

在本发明实施例第二方面一种可能的实现方式中,所述封装单元包括:

提取单元,用于封装所述需求模块的方法函数,得到所述需求模块的方法名称,所述方法名称用于标识所述需求模块的方法函数;

存储单元,用于存储所述需求模块的方法名称至所述方法函数集合。

在本发明实施例第二方面一种可能的实现方式中,所述方法确定单元包括:

第一确定单元,用于根据所述所要调用的方法函数,确定所述所要调用的方法函数的方法名称;

第二确定单元,用于确定所述方法函数集合中所述多个模块的方法函数信息中的方法名称;

第三确定单元,用于在所述多个模块的方法函数的方法名称中确定与所述所要调用的方法函数的方法名称相同的目标方法名称;

第四确定单元,用于根据所述目标方法名称确定对应的目标方法函数。

在本发明实施例第二方面一种可能的实现方式中,所述执行模块包括:

回调执行单元,用于执行所述回调方法函数,以将执行结果发送至所述需求模块。

第三方面,本发明实施例提供了一种电子设备,包括:

处理器,以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行所述的模块调用方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的模块调用方法。

本申请实施例提供了一种模块调用方法、装置、电子设备及存储介质,其中,在模块调用方法中,管理模块接收需求模块发送的调用请求之后,在所存储的方法函数集合中确定与所述所要调用的方法函数对应的目标方法函数,并执行所述目标方法函数,从而可以实现需求模块对与所述目标方法函数对应的目标模块的调用。可见,在本申请中,需求模块通过管理模块来调用目标模块,需求模块仅需要与管理模块进行对接,由管理模块执行调用目标模块的方法函数,相当于需求模块从管理模块中直接获得了调用目标模块的执行结果,需求模块无需再依赖与目标模块之间的依赖关系来调用目标模块,需求模块调用目标模块的步骤更加简单,且效率更高。

附图说明

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

图1为本申请实施例提供的一种模块调用系统的结构示意图;

图2为本申请实施例提供的一种注册模块信息的方法的流程示意图;

图3为本申请实施例提供的一种封装方法函数的方法的流程示意图;

图4为本申请实施例提供的一种模块调用方法的流程图;

图5为本申请实施例提供的一种确定目标方法函数的方法的流程示意图;

图6为本申请实施例提供的一种模块调用装置实施例一的结构示意图;

图7为本申请实施例提供的一种模块调用装置实施例二的结构示意图;

图8为本申请实施例提供的一种模块调用装置实施例三的结构示意图;

图9为本申请实施例提供的一种模块调用装置实施例四的结构示意图;

图10为本申请实施例提供的一种模块调用装置实施例五的结构示意图;

图11为本发明实施例提供的电子设备的硬件结构示意图。

具体实施方式

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

图1为本申请实施例提供的一种模块调用系统的结构示意图,如图1所示,所述模块调用系统包括需求模块1、管理模块2和目标模块3。需求模块1是指具有调用方法函数的需求的模块,相应的,可以将带有需求模块1所要调用的方法函数的模块称作目标模块3。管理模块2用于管理各个模块,其中包括需求模块1和目标模块3,还包括其它模块,如图1所示,管理模块2中存储有各个模块的方法函数信息。具体的,管理模块2可以按照如下方法来管理各个模块,以需求模块1为例进行说明:

图2为本申请实施例提供的一种注册模块信息的方法的流程示意图,如图2所示,所述方法包括:

s101、接收所述需求模块的注册信息,所述注册信息包括所述需求模块的方法函数;

s102、封装所述需求模块的方法函数,得到所述需求模块的调用接口,所述调用接口用于所述需求模块向所述管理模块发送调用请求。

需求模块1向管理模块2发送注册信息,例如可以通过在开发应用程序时在pageconfig类中配置需求模块1的基本信息来实现,其中,基本信息也就是注册信息,可以包括需求模块1所对应的方法函数,该方法函数对应需求模块1可以实现的功能。通过封装需求模块1的方法函数,可以得到一个调用接口,该调用接口对应于需求模块1,相当于是管理模块2暴露给需求模块1的一个通信接口,通过该调用接口,需求模块1可以对接管理模块2,即通过该调用接口向管理模块2发送调用请求等,以使管理模块2根据调用请求调用相关的目标模块3。可见,该调用接口的生成相当于赋予了需求模块1调用目标模块3的能力。由上文可知,无论是需求模块1还是目标模块3或者是其它模块都需要在管理模块2中注册信息,以获得对应的调用接口,这样才能够具有通过管理模块2调用其它模块的能力。

进一步地,需求模块1发送的注册信息中会包含完整的业务逻辑,体量较大,较为复杂,因此,当多个模块发送的注册信息混在一起时,很难通过这些业务逻辑快速区分对应的方法函数,为提高区分模块所对应的方法函数的效率,具体如下:

图3为本申请实施例提供的一种封装方法函数的方法的流程示意图,如图3所示,所述方法包括:

s111、封装所述需求模块的方法函数,得到所述需求模块的方法名称,所述方法名称用于标识所述需求模块的方法函数;

s112、存储所述需求模块的方法名称至所述方法函数集合。

封装具有隐藏对象的属性和实现细节,仅对外公开接口的功能,可见封装可以实现上文提到的公开需求模块1的调用接口的功能,同时,还可以通过封装来隐藏方法函数中的完整业务逻辑中的属性和实现细节,仅对外公开该需求模块1可以实现的功能,通常对外公开的可以实现的功能可以通过方法名称来描述,例如展示图片、定位等。将需求模块1的方法名称存储至方法函数集合,这样,方法函数集合可以仅向外展示需求模块1的方法名称,当查找需求模块1的方法函数时,可以通过在方法函数集合中的方法名称来进行查找,查找速度快。找到需求模块1的方法名称之后,可以通过该方法名称定位至对应的方法函数,该方法函数在需求模块1注册时已经存储至管理模块2,此时,管理模块2就可以快速该方法函数,并进行调用。

其余模块均可以按照上述方法在管理模块2中注册信息,这样,管理模块2可以汇总全部模块的方法函数信息生成方法函数集合,方法函数信息包括具体的方法函数和方法名称,仅对外暴露方法名称,以供快速查找方法函数,方法函数为管理模块2提供执行基础。方法函数集合可以以列表的方式存储,方法名称和方法函数以key-value的方式存储。

进一步地,管理模块2需要定期维护方法函数集合,例如定期剔除无效的方法函数信息,无效的方法函数可以是发生拥堵的方法函数、下线的方法函数等,这样,可以有效提高模块调用的有效性。

需求模块1在具有调用能力(也就是具有对应的调用接口)之后,就可以通过管理模块2实现对目标模块3的调用,具体如下:

图4为本申请实施例提供的一种模块调用方法的流程图,如图4所示,所述方法包括:

s100、接收需求模块发送的调用请求,所述调用请求包括所要调用的方法函数,其中,所述管理模块上存储有方法函数集合,所述方法函数集合包括多个模块的方法函数信息。

管理模块2接收需求模块1通过调用接口发送的调用请求,该调用请求中明确需求模块1所要调用的方法函数,例如方法函数a。在另一种实现方式中,需求模块1也可以直接在调用请求中声明所要调用的方法函数的方法名称。

s200、在所述方法函数集合中确定与所述所要调用的方法函数对应的目标方法函数。

由上文可知,管理模块2中存储有方法函数集合,方法函数集合中包括多个已经注册的模块的方法函数和方法名称,这样,通过对比接收到的调用请求与方法函数集合中的各个方法函数信息,就可以快速确定目标方法函数。

图5为本申请实施例提供的一种确定目标方法函数的方法的流程示意图,如图5所示,所述方法包括:

s201、根据所述所要调用的方法函数,确定所述所要调用的方法函数的方法名称;

s202、确定所述方法函数集合中所述多个模块的方法函数信息中的方法名称;

s203、在所述多个模块的方法函数的方法名称中确定与所述所要调用的方法函数的方法名称相同的目标方法名称;

s204、根据所述目标方法名称确定对应的目标方法函数。

例如,需求模块a想要调用方法函数b,可以在调用请求中写入方法函数b,也可以在调用请求中写入方法函数b的方法名称b。如果方法函数集合中包括方法函数信息方法名称a-方法函数a-模块a、方法名称b-方法函数b-模块b、方法名称c-方法函数c-模块c,通过对比调用请求和方法函数集合,可以在方法函数集合中快速确定目标方法函数,即方法函数b,说明需求模块a是可以调用到方法函数b的。

在另一种情况中,如果需求模块a想要调用方法函数d,但是方法函数集合仍与上述相同,可见,方法函数集合中并不存在方法函数d的方法函数信息,说明需求模块a此时无法调用到方法函数d。在这种情况下,管理模块2可以将需求模块a的调用请求挂起,当方法函数d对应的模块d在管理模块2中注册之后,再由管理模块2来调用方法函数d,以执行调用请求。或者,需求模块a定时向管理模块2发送该调用请求,以在管理模块2中出现方法函数d之后,调用方法函数d。

s300、执行所述目标方法函数,以实现需求模块对与所述目标方法函数对应的目标模块的调用。

管理模块2中会配置跳转逻辑,普通的调用都可以使用跳转逻辑来完成,例如需求模块a来调用方法函数b,在管理模块2确定了目标方法函数b之后,就可以利用跳转逻辑来直接执行方法函数b,可见,该跳转逻辑可以在管理模块2中完成,当管理模块2完成对方法函数b的执行之后,就说明完成对方法函数b的调用,也就是模块a完成了对方法函数b的调用,由上文可知,方法函数b对应模块b,那么模块b就是模块a要调用的目标模块,相应的,经过上述过程,也就完成了模块a对模块b的调用。

在另一种实现方式中,管理模块2中还配置回调方法函数,用于执行回调逻辑,一些时候,需求模块1需要知道调用的具体结果,例如访问网络,需要知道访问成功或者访问失败,当管理模块2执行跳转逻辑之后,得到执行结果,就可以利用回调方法函数直接将执行结果发送至需求模块1。

可见,在本申请实施例中需求模块1通过管理模块2来调用目标模块3,需求模块1仅需要与管理模块2进行对接,由管理模块2执行调用目标模块3的方法函数,需求模块1就完成对目标模块3的调用,需求模块1无需再依赖与目标模块3之间的依赖关系来调用目标模块3,调用步骤更加简单,且效率更高。

图6为本申请实施例提供的一种模块调用装置实施例一的结构示意图,所述装置包括:请求接收单元1,用于接收需求模块发送的调用请求,所述调用请求包括所要调用的方法函数,其中,所述管理模块上存储有方法函数集合,所述方法函数集合包括多个模块的方法函数信息;方法确定单元2,用于在所述方法函数集合中确定与所述所要调用的方法函数对应的目标方法函数;执行单元3,用于执行所述目标方法函数,以实现需求模块对与所述目标方法函数对应的目标模块的调用。

图7为本申请实施例提供的一种模块调用装置实施例二的结构示意图,所述装置还包括:注册单元4,用于接收所述需求模块的注册信息,所述注册信息包括所述需求模块的方法函数;封装单元5,用于封装所述需求模块的方法函数,得到所述需求模块的调用接口,所述调用接口用于所述需求模块向所述管理模块发送调用请求。

图8为本申请实施例提供的一种模块调用装置实施例三的结构示意图,所述封装单元5包括:提取单元51,用于封装所述需求模块的方法函数,得到所述需求模块的方法名称,所述方法名称用于标识所述需求模块的方法函数;存储单元52,用于存储所述需求模块的方法名称至所述方法函数集合。

图9为本申请实施例提供的一种模块调用装置实施例四的结构示意图,所述方法确定单元2包括:第一确定单元21,用于根据所述所要调用的方法函数,确定所述所要调用的方法函数的方法名称;第二确定单元22,用于确定所述方法函数集合中所述多个模块的方法函数信息中的方法名称;第三确定单元23,用于在所述多个模块的方法函数的方法名称中确定与所述所要调用的方法函数的方法名称相同的目标方法名称;第四确定单元24,用于根据所述目标方法名称确定对应的目标方法函数。

图10为本申请实施例提供的一种模块调用装置实施例五的结构示意图,所述执行模块3包括:回调执行单元31,用于执行所述回调方法函数,以将执行结果发送至所述需求模块。

图11为本发明实施例提供的电子设备的硬件结构示意图。该电子设备包括:存储器101和处理器102;

存储器101,用于存储计算机程序;

处理器102,用于执行存储器存储的计算机程序,以实现上述实施例中的模块调用方法。具体可以参见前述方法实施例中的相关描述。

可选地,存储器101既可以是独立的,也可以跟处理器102集成在一起。

当所述存储器101是独立于处理器102之外的器件时,所述电子设备还可以包括:

总线103,用于连接所述存储器101和处理器102。

本发明实施例提供的电子设备可用于执行上述实施例中任一所示的模块调用方法,其实现方式和技术效果类似,本发明实施例此处不再赘述。

本发明实施例还提供一种可读存储介质,可读存储介质中存储有计算机程序,当消息发送的装置的至少一个处理器执行该计算机程序时,消息发送的装置执行上述实施例任一所述的字体检查方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于以计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1