功能模块挂载方法、挂载系统及更新挂载系统的方法技术方案

技术编号:11872992 阅读:92 留言:0更新日期:2015-08-12 23:58
本发明专利技术公开了一种功能模块挂载方法、挂载系统及更新挂载系统的方法,其中,所述挂载系统包括容器、消息框架、功能模块和注册模块;所述功能模块预设有注册信息,所述注册信息包括所述功能模块的挂载数据或挂载接口,所述挂载接口用于获取所述挂载数据;所述注册模块,用于将所述注册信息注册至所述消息框架;所述容器,用于通过所述消息框架获取所述挂载数据,以及,用于根据所述挂载数据挂载所述功能模块。采用本发明专利技术提供的调用方法,通过消息框架实现了容器与各个功能模块的解耦,并且能够以功能模块为单位灵活地进行功能扩展或简化,而无需开发、发布、下载或安装完整的安装包,节省流量和开发成本,提高用户体验。

【技术实现步骤摘要】

本专利技术涉及软件开发领域,更为具体而言,涉及一种。
技术介绍
诸如安卓客户端之类的应用程序在发布以后,如果需要增加新功能或删除旧功能,需要重新发布新版本才能实现。从客户端的发布者考虑,这增加了客户端的更新周期和开发成本;从用户考虑,用户需要重新下载并安装完整的新版本,浪费了用户流量,影响了用户体验。
技术实现思路
为了解决现有技术所存在的缺陷,本专利技术实施方式提供一种,实现了容器随意挂载任何功能模块的目的,并且为以功能模块为单位灵活地更新(增加、删除和修改)应用程序的功能提供了基础。第一方面,本专利技术实施例提供一种功能模块挂载系统,包括容器、消息框架、功能模块和注册模块,其中,所述功能模块预设有注册信息,所述注册信息包括所述功能模块的挂载数据或挂载接口,所述挂载接口用于获取所述挂载数据;所述注册模块,用于将所述注册信息注册至所述消息框架;所述容器,用于通过所述消息框架获取所述挂载数据,以及,用于根据所述挂载数据挂载所述功能模块。在本专利技术实施例的一种实现方式中,所述注册信息还包括:用于标识所述功能模块中各功能模块的命令号。进一步地,所述功能模块包括:插件类功能模块和非插件类功能模块;其中,所述插件类功能模块具有与所述非插件类功能模块相同的命令号,或,所述插件类功能模块具有与所述非插件类功能模块不同的命令号,或,所述插件类功能模块的挂载数据为空,或,所述插件类功能模块的挂载数据不为空。或者,进一步地,所述注册模块具体用于:按照预设的优先级顺序将所述功能模块中各功能模块的注册信息注册至所述消息框架,其中,如果在后注册的注册信息与在先注册的注册信息具有相同的命令号,则用在后注册的注册信息替换在先注册的注册信息。在本实施例的另一种实现方式中,所述挂载数据包括以下数据中的任意一种或一种以上:所述功能模块的图标、所述功能模块的文本描述、所述功能模块的跳转逻辑。在本实施例的再一种实现方式中,所述容器具体用于,向所述消息框架发送用于请求所述挂载数据的挂载消息;所述消息框架具体用于,将注册到所述消息框架的所述挂载数据发送给所述容器,或,所述消息框架具体用于,通过注册到所述消息框架的所述挂载接口获取所述挂载数据,并将所述挂载数据发送给所述容器。在本实施例的又一种实现方式中,所述容器具体用于,向所述消息框架发送用于请求所述挂载数据的挂载消息;所述消息框架具体用于,将注册到所述消息框架的所述挂载接口发送给所述容器;所述容器具体还用于,通过所述挂载接口获取所述挂载数据。第二方面,本专利技术实施例提供一种功能模块挂载方法,包括:将功能模块中预设的注册信息注册到消息框架,所述注册信息包括所述功能模块的挂载数据或挂载接口,所述挂载接口用于获取所述挂载数据;容器通过所述消息框架获取所述挂载数据,并根据所述挂载数据挂载所述功能模块。在本实施例的一种实现方式中,所述注册信息还包括:用于标识所述功能模块中各功能模块的命令号。进一步地,所述功能模块包括:插件类功能模块和非插件类功能模块;其中,所述插件类功能模块具有与所述非插件类功能模块相同的命令号,或,所述插件类功能模块具有与所述非插件类功能模块不同的命令号,或,所述插件类功能模块的挂载数据为空,或,所述插件类功能模块的挂载数据不为空。或者,进一步地,所述将功能模块中预设的注册信息注册到消息框架,包括:按照预设的优先级顺序将所述功能模块中各功能模块的注册信息注册至所述消息框架,其中,如果在后注册的注册信息与在先注册的注册信息具有相同的命令号,则用在后注册的注册信息替换在先注册的注册信息。在本实施例的另一种实现方式中,所述挂载数据包括以下数据中的任意一种或一种以上:所述功能模块的图标、所述功能模块的文本描述、所述功能模块的跳转逻辑。在本实施例的再一种实现方式中,所述容器通过所述消息框架获取所述挂载数据,包括:所述容器向所述消息框架发送用于请求所述挂载数据挂载消息;所述消息框架将注册到所述消息框架的所述挂载数据发送给所述容器,或,所述消息框架通过注册到所述消息框架的所述挂载接口获取所述挂载数据,并将所述挂载数据发送给所述容器。在本实施例的又一种实现方式中,所述容器通过所述消息框架获取所述挂载数据,包括:所述容器向所述消息框架发送用于请求所述挂载数据的挂载消息;所述消息框架将注册到所述消息框架的所述挂载接口发送给所述容器;所述容器通过所述挂载接口获取所述挂载数据。第三方面,本专利技术实施例提供一种更新基于本专利技术第一方面或其实现方式的功能模块挂载系统的方法,所述方法包括:将待添加功能模块中预设的注册信息注册到所述消息框架,所述待添加功能模块的注册信息包括所述待添加功能模块的挂载数据或挂载接口,该挂载接口用于获取所述待添加功能模块的挂载数据;所述容器根据在所述消息框架注册了注册信息的功能模块的挂载数据进行功能模块的挂载。在本实施例的一种实现方式中,所述待添加功能模块为插件类功能模块。在本实施例的另一种实现方式中,在所述待添加功能模块的注册信息中还包括用于标识所述待添加功能模块的命令号;所述将待添加功能模块中预设的注册信息注册到所述消息框架,包括:如果所述待添加功能模块的命令号与在先注册的注册信息的命令号相同,则用所述待添加功能模块的注册信息替换所述在先注册的注册信息。在本实施例的再一种实现方式中,所述容器根据在所述消息框架注册了注册信息的功能模块的挂载数据进行功能模块的挂载,包括:所述容器通过所述消息框架获取在所述消息框架注册了注册信息的功能模块的挂载数据,然后根据获取到的挂载数据进行功能模块的挂载;或,所述容器通过所述消息框架获取所述待添加功能模块的挂载数据,根据已保存的挂载数据和所述待添加功能模块的挂载数据进行功能模块的挂载。采用本专利技术各种实施例具有以下有益效果:一方面,通过消息框架12实现了容器11与功能模块13之间的解耦,达到了容器11可以随意挂载任何功能模块的目的。另一方面,为以功能模块为单位灵活地进行功能更新(包括功能增加、修改和删除)提供了架构基础,使得例如在更新应用程序时,无需开发、发布、下载或安装完整的安装包,节省流量和开发成本,提高用户体验。【附图说明】图1是根据本专利技术实施例的一种功能模块挂载系统的方块示意图;图2是根据本专利技术实施例的一种功能模块挂载系统的挂载过程示意图;图3是根据本专利技术实施例的一种功能模块挂载方法的流程示意图;图4A是根据本专利技术实施例的一种功能模块挂载系统的挂载过程示意图;图4B是根据本专利技术实施例的一种功能模块挂载方法的流程示意图,也是一种更新如图2所示挂载系统的方法的流程示意图;图4C是根据本专利技术实施例的一种功能模块挂载方法的流程示意图,也是一种更新如图2所示挂载系统的方法的流程示意图。当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种功能模块挂载系统,其特征在于,包括容器、消息框架、功能模块和注册模块,其中,所述功能模块预设有注册信息,所述注册信息包括所述功能模块的挂载数据或挂载接口,所述挂载接口用于获取所述挂载数据;所述注册模块,用于将所述注册信息注册至所述消息框架;所述容器,用于通过所述消息框架获取所述挂载数据,以及,用于根据所述挂载数据挂载所述功能模块。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵林陈超高飞
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1