CN104978214A - 一种组件加载方法、装置及终端 - Google Patents

一种组件加载方法、装置及终端 Download PDF

Info

Publication number
CN104978214A
CN104978214A CN201410451953.XA CN201410451953A CN104978214A CN 104978214 A CN104978214 A CN 104978214A CN 201410451953 A CN201410451953 A CN 201410451953A CN 104978214 A CN104978214 A CN 104978214A
Authority
CN
China
Prior art keywords
assembly
target element
interface message
intended application
device requirements
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.)
Granted
Application number
CN201410451953.XA
Other languages
English (en)
Other versions
CN104978214B (zh
Inventor
罗坤
方敏
何飞
李龙彬
郭辛华
饶孟良
苏可
李英各
王璟瑶
苏益
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410451953.XA priority Critical patent/CN104978214B/zh
Publication of CN104978214A publication Critical patent/CN104978214A/zh
Application granted granted Critical
Publication of CN104978214B publication Critical patent/CN104978214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种组件加载方法、装置及终端,其中的方法可包括:根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;在校验成功后将所述目标组件的实现信息加载至所述目标应用中。本发明可有效提升组件的加载成功率,保证目标应用的功能稳定性。

Description

一种组件加载方法、装置及终端
技术领域
本发明涉及计算机应用技术领域,具体涉及组件处理技术领域,尤其涉及一种组件加载方法、装置及终端。
背景技术
组件是对数据和方法的简单封装,包括实现信息和接口信息。其中,组件的接口信息定义该组件可实现的功能;组件的实现信息用于实现该组件所声明实现的接口信息,即用于实现该组件的接口信息所定义的功能。在实际的应用开发中,组件可共享给诸如即时通信应用、SNS(Social Networking Services,社会性网络服务)应用等的组件使用者,组件的接口信息通常以项目依赖的方式随组件使用者的程序一起发布,作为组件使用者的目标应用通过加载组件的实现信息,可使该目标应用新增该组件所实现的相应功能;以Android(安卓,一种移动操作系统)工程为例,组件的接口信息以jar(Java Archive,Java归档文件)文件形式以项目依赖的方式进入组件使用者的程序中,组件的实现信息以dex(一种安卓系统中的可执行文件的类型)文件形式被加载至组件使用者的程序中。传统的组件结构中,组件仅包括一个接口信息,该接口信息定义了组件的全部功能,若该组件的接口信息发生变化,例如:组件新增功能使得组件的接口信息发生更新,等等,作为组件使用者的目标应用可能因此而无法成功进行加载组件,降低了组件的加载成功率,且影响了目标应用的功能稳定性。
发明内容
本发明实施例提供一种组件加载方法、装置及终端,可有效提升组件的加载成功率,保证目标应用的功能稳定性。
本发明实施例第一方面提供一种组件加载方法,可包括:
根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;
获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;
当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;
在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
本发明实施例第二方面提供一种组件加载装置,可包括:
确定模块,用于根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;
获取模块,用于获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;
校验模块,用于当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;
加载模块,用于在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
本发明实施例第三方面提供一种终端,可包括上述第二方面提供的组件加载装置。
实施本发明实施例,具有如下有益效果:
本发明实施例可将目标组件的功能采用至少两个接口信息进行定义,当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的组件结构的一个示意图;
图2为本发明实施例提供的组件结构的一个示意图;
图3为本发明实施例提供的一种组件加载方法的流程图;
图4为本发明实施例提供的另一种组件加载方法的流程图;
图5为图4所示实施例中步骤S202的一个实施例的流程图;
图6为图4所示实施例中步骤S202的另一个实施例的流程图;
图7为本发明实施例提供的一种组件加载装置的结构示意图;
图8为图7所示的确定模块的实施例的结构示意图;
图9为图8所示的集合查找单元的一个实施例的结构示意图;
图10为图8所示的集合查找单元的另一个实施例的结构示意图;
图11为图7所示的校验模块的结构示意图;
图12为本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,组件是对数据和方法的简单封装,包括实现信息和接口信息。其中,组件的接口信息定义该组件可实现的功能;组件的实现信息用于实现该组件所声明的接口信息,即用于实现该组件的接口信息所定义的功能。
请参见图1,为传统的组件结构的一个示意图;如图1所示,组件A声明实现接口信息a,该接口信息a定义了组件A的全部功能;组件A的实现信息用于实现接口信息a所定义的功能。组件使用者A欲使用组件A,则该组件A的接口信息a通过项目依赖的方式进入组件使用者A的应用程序中,并作为组件使用者A的组件需求信息。其中,项目依赖的方式指随组件使用者A的应用程序一起发布。基于图1所示的传统的组件结构,传统的组件加载方法可包括:当组件使用者A根据使用需要动态加载组件A的实现信息时,通过校验得到组件A的接口信息a与组件使用者A的组件需求信息包括的接口信息a相同,校验成功,该组件A的实现信息可被成功加载至组件使用者A的应用程序的进程空间中以实现相应功能。图1所示的传统的组件结构中,仅采用一个接口信息a定义组件A的全部功能,当组件A扩展新的功能时,组件A的接口信息a随之进行更新;然而,由于接口信息a已经以项目依赖的方式进入至组件使用者A的应用程序中,组件使用者A动态加载组件A时,依然采用更新前的接口信息a,这将造成校验失败,从而造成组件A的动态加载失败。为了保证组件使用者A能够正常使用组件A,传统的解决方案有两种,其一为:保持组件的接口信息的稳定,即不对组件A进行新功能的扩展,这无疑限制了组件A的能力扩充。其二为:升级组件使用者A的应用程序中的接口信息,这需要重新启动关于组件使用者A的应用程序的项目计划,耗费资源;另外,组件使用者A或许无需使用组件A的扩展功能,对组件使用者A的应用程序的强制升级将限制组件A的使用推广。
针对传统的组件结构的缺陷,本发明实施例对组件结构进行了改进:具体请一并参见图2,为本发明实施例提供的组件结构的一个示意图;如图2所示,组件B声明实现接口信息b1和接口信息b2,该接口信息b1定义了组件B的基本功能,该基本功能可以为组件B1在初始开发时所实现的功能;该接口信息b2定义了组件B的扩展功能,该扩展功能可以为组件B在后续开发时新增实现的功能。需要说明的是,图2所示实施例中仅示出组件B的两个接口信息,当组件B新增扩展功能时,还可再为组件B添加新的接口信息b3、b4等等,分别用于定义组件B新增的各扩展功能。组件B的实现信息用于实现接口信息b1和接口信息b2所定义的功能。应用A和应用B均为该组件B的组件使用者,应用A和应用B可根据实际需要,对组件B的功能进行定制和使用。例如图2所示,应用A欲使用组件B的接口信息b1所定义的功能,则该组件B的接口信息b1可通过项目依赖的方式进入应用A的程序中,并作为应用A的组件需求信息;应用B欲使用组件B的接口信息b1和接口信息b2所定义的功能,则该组件B的接口信息b1和接口信息b2可通过项目依赖的方式进入应用B的程序中,并作为应用B的组件需求信息。由图2可知,本发明实施例中,组件包含至少两个接口信息,该至少两个接口信息可分别用于定义组件的基本功能和扩展功能,从而提升了组件的能力扩充;且目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合,避免强制升级带来的资源耗费,提升组件的使用灵活度。
基于图2所示的组件结构,下面将结合图3-图6,对本发明实施例提供的组件加载方法进行详细介绍。
请参见图3,为本发明实施例提供的一种组件加载方法的流程图;该方法可包括以下步骤S101-步骤S104。
S101,根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件。
其中,所述目标应用可以为运行于终端中的任一个应用,该目标应用可包括但不限于:即时通信应用、SNS应用、浏览器应用等等。所述组件需求信息包括所述目标应用所定制的预置接口信息。所述目标组件指声明实现所述目标应用的组件需求信息包括的预置接口信息的组件。例如:按照图2所示例子,假设目标应用为应用A,应用A欲使用组件B的接口信息b1所定义的功能,则该组件B的接口信息b1可以项目依赖的方式进入应用A的程序中,并作为应用A的组件需求信息,即目标应用所定制的预置接口信息即为接口信息b1,由于组件B声明实现接口信息b1,本步骤可将组件B确定为目标应用待加载的目标组件。再如:按照图2所示例子,假设目标应用为应用B,应用B欲使用组件B的接口信息b1和接口信息b2所定义的功能,则该组件B的接口信息b1和接口信息b2可以项目依赖的方式进入应用B的程序中,并作为应用B的组件需求信息,即目标应用所定制的预置接口信息为接口信息b1和接口信息b2,由于组件B声明实现接口信息b1和接口信息b2,本步骤可将组件B确定为目标应用待加载的目标组件。
S102,获取所述目标组件的实现信息及所述目标组件的至少两个接口信息。
所述目标组件的至少两个接口信息包括:所述目标组件的基本功能对应的接口信息,以及所述目标组件的扩展功能对应的接口信息。例如:按照图2所示例子,由于本实施例的步骤S101将组件B确定为目标应用待加载的目标组件,本步骤需要获取组件B的实现信息,并获取该组件B包括的接口信息b1和接口信息b2;通常地,组件的开发者会在互联网中发布组件,并同时发布该组件的实现信息及接口信息,按本步骤所示例子:组件B的开发者开发出组件B之后,会将组件B的实现信息,以及接口信息b1和接口信息b2发布于互联网中,并通过论坛或公告的方式告知该组件B的获取方式,本步骤则可按照组件B的获取方式,从互联网中获取所发布的该组件B的实现信息,以及接口信息b1和接口信息b2。
S103,当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验。
当所述目标应用欲使用所述目标组件时可执行组件加载操作,本步骤在检测到该目标应用的组件加载操作时,对该组件加载操作进行校验;具体实现中,本步骤可基于所述组件需求信息包括的预置接口信息,以及所述目标组件的至少两个接口信息对所述组件加载操作进行校验;如果校验成功,表明该目标应用可以成功加载该目标组件的实现信息,并使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能;如果校验失败,表明该目标应用无法成功加载该目标组件的实现信息,无法使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能。
S104,在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
本步骤在校验成功后,可将所述目标组件的实现信息加载至所述目标应用的进程空间中,在所述目标应用中运行所述目标组件的实现信息,即可实现所述目标组件的接口信息所定义的功能。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
请参见图4,为本发明实施例提供的另一种组件加载方法的流程图;该方法可包括以下步骤S201-步骤S208。
S201,获取目标应用的组件需求信息。
所述组件需求信息包括所述目标应用所定制的预置接口信息。例如:按照图2所示例子,假设目标应用为应用A,应用A欲使用组件B的接口信息b1所定义的功能,则该组件B的接口信息b1可以项目依赖的方式进入应用A的程序中,并作为应用A的组件需求信息,即目标应用所定制的预置接口信息即为接口信息b1;再如:按照图2所示例子,假设目标应用为应用B,应用B欲使用组件B的接口信息b1和接口信息b2所定义的功能,则该组件B的接口信息b1和接口信息b2可以项目依赖的方式进入应用B的程序中,并作为应用B的组件需求信息,即目标应用所定制的预置接口信息为接口信息b1和接口信息b2。
S202,查找与所述组件需求信息相适配的组件集合,所述组件集合中包含至少一个组件。
其中,与所述组件需求信息相适配的组件集合,指所述组件集合中的每一个组件均声明实现所述组件需求信息包括的预置接口信息。例如:假设所述组件需求信息包括的预置接口信息为接口信息b1,假设所述组件集合中包含组件B、组件C和组件D,则组件B、组件C和组件D均声明实现接口信息b1。
在本发明实施例的一个可行的实施方式中,请一并参见图5,为图4所示实施例中步骤S202的一个实施例的流程图;该步骤S202可具体包括以下步骤s11-步骤s13。
s11,根据所述组件需求信息包括的预置接口信息,生成组件查询请求。其中,所述组件查询请求中携带所述预置接口信息。
s12,将所述组件查询请求发送至服务器,以使所述服务器根据所述组件查询请求查找声明实现所述预置接口信息的至少一个组件,并根据查找到的所述至少一个组件生成组件集合。
s13,接收所述服务器返回的所述组件集合。
在本发明实施例的另一个可行的实施方式中,请一并参见图6,为图4所示实施例中步骤S202的一个实施例的流程图;该步骤S202可具体包括以下步骤s14-步骤s15。
s14,根据所述组件需求信息包括的预置接口信息,在源应用中查找声明实现所述预置接口信息的至少一个组件。
其中,源应用指运行于终端中的、除所述目标应用之外的任一个应用,该源应用可包括但不限于:即时通信应用、SNS应用、浏览器应用等等。
s15,根据查找到的所述至少一个组件生成组件集合。
需要说明的是,实际应用中可灵活选取上述两个可行的实施方式,以获得与所述组件需求信息相适配的组件集合。
S203,获取所述组件集合中各组件的特征信息。
其中,一个组件的特征信息可包括但不限于:类型信息、运行环境信息、版本信息、兼容信息等等。
S204,根据所述组件集合中各组件的特征信息,从所述组件集合中选取一个组件确定为所述目标应用的待加载的目标组件。
本步骤可根据实际需要,结合所述组件集合中各组件的特征信息进行目标组件的选取;例如:根据各组件的运行环境信息,从所述组件集合中选取最适合所述目标应用的当前运行环境的组件作为目标组件;再如:可根据实际需要,从所述组件集合中选取版本信息最新的组件作为目标组件;等等。
本实施例的步骤S201-步骤S204可以为图3所示实施例的步骤S101的具体细化步骤。
S205,获取所述目标组件的实现信息及所述目标组件的至少两个接口信息。
本实施例的步骤S205可以参见图3所示实施例的步骤S102,在此不赘述。
S206,当检测至所述目标应用的组件加载操作时,比较所述组件需求信息包括的预置接口信息与所述目标组件的至少两个接口信息。
当所述目标应用欲使用所述目标组件时可执行组件加载操作,本步骤在检测到该目标应用的组件加载操作时,对该组件加载操作进行校验;具体实现中,本步骤需要比较所述组件需求信息包括的预置接口信息与所述目标组件的至少两个接口信息,以判断所述预置接口信息是否即为所述目标组件的接口信息。
S207,若所述组件需求信息包括的预置接口信息为所述目标组件的接口信息,则确认所述组件加载操作校验成功。
按照图2所示例子,例如:假设应用A为目标应用,其组件需求信息包括的预置接口信息为接口信息b1;目标组件为组件B,其包括的接口信息b1和接口信息b2。经过步骤S206比较得到目标应用A的组件需求信息包括的预置接口信息b1与所述目标组件B的一个接口信息b1相同,步骤S207可由此判断所述目标应用的组件需求信息包括的预置接口信息为所述目标组件的接口信息,确认所述组件加载操作校验成功。再如:假设应用B为目标应用,其组件需求信息包括的预置接口信息为接口信息b1和接口信息b2;目标组件为组件B,其包括的接口信息b1和接口信息b2。经过步骤S206比较得到目标应用B的组件需求信息包括的预置接口信息与所述目标组件B的接口信息相同,步骤S207可由此判断所述目标应用的组件需求信息包括的预置接口信息为所述目标组件的接口信息,确认所述组件加载操作校验成功。
本步骤中,如果校验成功,表明该目标应用可以成功加载该目标组件的实现信息,并使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能;如果校验失败,表明该目标应用无法成功加载该目标组件的实现信息,无法使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能。
本实施例的步骤S206-步骤S207可以为图3所示实施例的步骤S103的具体细化步骤。传统的组件加载校验过程中,目标应用的组件需求信息包括的预置接口信息需要与组件的接口信息完全一致,才能校验成功;然而,区别于传统的组件加载校验过程,由步骤S206-步骤S207可知,本发明实施例的组件加载校验过程中,目标应用的组件需求信息包括的预置接口信息与组件的部分或全部接口信息一致,均可校验成功,从而提升了组件的使用灵活度和加载成功率。
S208,在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
本实施例的步骤S208可参见图3所示实施例的步骤S104,在此不赘述。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
基于图2所示的组件结构,下面将结合图7-图11,对本发明实施例提供的组件加载装置进行详细介绍。下述的装置可以运行于终端中,用于执行如3-图6所示的方法。其中,所述终端可以为PC(Personal Computer,个人计算机)、笔记本电脑、手机、PAD(平板电脑)、智能可穿戴设备等等。
请参见图7,为本发明实施例提供的一种组件加载装置的结构示意图;该装置可包括:确定模块101、获取模块102、校验模块103和加载模块104。
确定模块101,用于根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件。
其中,所述目标应用可以为运行于终端中的任一个应用,该目标应用可包括但不限于:即时通信应用、SNS应用、浏览器应用等等。所述组件需求信息包括所述目标应用所定制的预置接口信息。所述目标组件指声明实现所述目标应用的组件需求信息包括的预置接口信息的组件。例如:按照图2所示例子,假设目标应用为应用A,应用A欲使用组件B的接口信息b1所定义的功能,则该组件B的接口信息b1可以项目依赖的方式进入应用A的程序中,并作为应用A的组件需求信息,即目标应用所定制的预置接口信息即为接口信息b1,由于组件B声明实现接口信息b1,所述确定模块101可将组件B确定为目标应用待加载的目标组件。再如:按照图2所示例子,假设目标应用为应用B,应用B欲使用组件B的接口信息b1和接口信息b2所定义的功能,则该组件B的接口信息b1和接口信息b2可以项目依赖的方式进入应用B的程序中,并作为应用B的组件需求信息,即目标应用所定制的预置接口信息为接口信息b1和接口信息b2,由于组件B声明实现接口信息b1和接口信息b2,所述确定模块101可将组件B确定为目标应用待加载的目标组件。
获取模块102,用于获取所述目标组件的实现信息及所述目标组件的至少两个接口信息。
所述目标组件的至少两个接口信息包括:所述目标组件的基本功能对应的接口信息,以及所述目标组件的扩展功能对应的接口信息。例如:按照图2所示例子,由于本实施例的所述确定模块101将组件B确定为目标应用待加载的目标组件,所述获取模块102需要获取组件B的实现信息,并获取该组件B包括的接口信息b1和接口信息b2;通常地,组件的开发者会在互联网中发布组件,并同时发布该组件的实现信息及接口信息,按本实施例所示例子:组件B的开发者开发出组件B之后,会将组件B的实现信息,以及接口信息b1和接口信息b2发布于互联网中,并通过论坛或公告的方式告知该组件B的获取方式,所述获取模块102可按照组件B的获取方式,从互联网中获取所发布的该组件B的实现信息,以及接口信息b1和接口信息b2。
校验模块103,用于当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验。
当所述目标应用欲使用所述目标组件时可执行组件加载操作,所述校验模块103在检测到该目标应用的组件加载操作时,对该组件加载操作进行校验;具体实现中,所述校验模块103可基于所述组件需求信息包括的预置接口信息,以及所述目标组件的至少两个接口信息对所述组件加载操作进行校验;如果校验成功,表明该目标应用可以成功加载该目标组件的实现信息,并使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能;如果校验失败,表明该目标应用无法成功加载该目标组件的实现信息,无法使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能。
加载模块104,用于在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
所述加载模块104在校验成功后,可将所述目标组件的实现信息加载至所述目标应用的进程空间中,在所述目标应用中运行所述目标组件的实现信息,即可实现所述目标组件的接口信息所定义的功能。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
请参见图8,为图7所示的确定模块的实施例的结构示意图;该确定模块101可包括:需求获取单元1101、集合查找单元1102、特征获取单元1103和目标组件确认单元1104。
需求获取单元1101,用于获取目标应用的组件需求信息。
所述组件需求信息包括所述目标应用所定制的预置接口信息。例如:按照图2所示例子,假设目标应用为应用A,应用A欲使用组件B的接口信息b1所定义的功能,则该组件B的接口信息b1可以项目依赖的方式进入应用A的程序中,并作为应用A的组件需求信息,即目标应用所定制的预置接口信息即为接口信息b1;再如:按照图2所示例子,假设目标应用为应用B,应用B欲使用组件B的接口信息b1和接口信息b2所定义的功能,则该组件B的接口信息b1和接口信息b2可以项目依赖的方式进入应用B的程序中,并作为应用B的组件需求信息,即目标应用所定制的预置接口信息为接口信息b1和接口信息b2。
集合查找单元1102,用于查找与所述组件需求信息相适配的组件集合,所述组件集合中包含至少一个组件。
其中,与所述组件需求信息相适配的组件集合,指所述组件集合中的每一个组件均声明实现所述组件需求信息包括的预置接口信息。例如:假设所述组件需求信息包括的预置接口信息为接口信息b1,假设所述组件集合中包含组件B、组件C和组件D,则组件B、组件C和组件D均声明实现接口信息b1。
特征获取单元1103,用于获取所述组件集合中各组件的特征信息。
其中,一个组件的特征信息可包括但不限于:类型信息、运行环境信息、版本信息、兼容信息等等。
目标组件确认单元1104,用于根据所述组件集合中各组件的特征信息,从所述组件集合中选取一个组件确定为所述目标应用的待加载的目标组件。
所述目标组件确认单元1104可根据实际需要,结合所述组件集合中各组件的特征信息进行目标组件的选取;例如:根据各组件的运行环境信息,从所述组件集合中选取最适合所述目标应用的当前运行环境的组件作为目标组件;再如:可根据实际需要,从所述组件集合中选取版本信息最新的组件作为目标组件;等等。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
请参见图9,为图8所示的集合查找单元的一个实施例的结构示意图;该集合查找单元1102可包括:请求生成单元1121、请求发送单元1122和集合接收单元1123。
请求生成单元1121,用于根据所述组件需求信息包括的预置接口信息,生成组件查询请求。其中,所述组件查询请求中携带所述预置接口信息。
请求发送单元1122,用于将所述组件查询请求发送至服务器,以使所述服务器根据所述组件查询请求查找声明实现所述预置接口信息的至少一个组件,并根据查找到的所述至少一个组件生成组件集合。
集合接收单元1123,用于接收所述服务器返回的所述组件集合。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
请参见图10,为图8所示的集合查找单元的另一个实施例的结构示意图;该集合查找单元1102可包括:组件查找单元1124和集合生成单元1125。
组件查找单元1124,用于根据所述组件需求信息包括的预置接口信息,在源应用中查找声明实现所述预置接口信息的至少一个组件。其中,源应用指运行于终端中的、除所述目标应用之外的任一个应用,该源应用可包括但不限于:即时通信应用、SNS应用、浏览器应用等等。
集合生成单元1125,用于根据查找到的所述至少一个组件生成组件集合。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
请参见图11,为图7所示的校验模块的结构示意图;该校验模块103可包括:接口比较单元1301和结果确认单元1302。
接口比较单元1301,用于当检测至所述目标应用的组件加载操作时,比较所述组件需求信息包括的预置接口信息与所述目标组件的至少两个接口信息。
当所述目标应用欲使用所述目标组件时可执行组件加载操作,所述接口比较单元1301在检测到该目标应用的组件加载操作时,对该组件加载操作进行校验;具体实现中,所述接口比较单元1301需要比较所述组件需求信息包括的预置接口信息与所述目标组件的至少两个接口信息,以判断所述预置接口信息是否即为所述目标组件的接口信息。
结果确认单元1302,用于若所述组件需求信息包括的预置接口信息为所述目标组件的接口信息,确认所述组件加载操作校验成功。
如果校验成功,表明该目标应用可以成功加载该目标组件的实现信息,并使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能;如果校验失败,表明该目标应用无法成功加载该目标组件的实现信息,无法使用该目标组件的实现信息实现所述目标组件的接口信息定义的功能。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
本发明实施例还公开了一种终端,该终端可以为PC(Personal Computer,个人计算机)、笔记本电脑、手机、PAD(平板电脑)、智能可穿戴设备等等,所述终端中包括一组件加载装置,该装置的结构和功能可参见图7-图11所示实施例的相关描述,在此不赘述。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
本发明实施例还公开了另一种终端,请一并参见图12,为本发明实施例提供的一种终端的结构示意图;本发明实施例的终端包括:至少一个处理器201,例如CPU,至少一个通信总线202,至少一个网络接口203,存储器204。其中,通信总线202用于实现这些组件之间的连接通信。其中,所述网络接口203可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。所述存储器204可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。所述存储器204可选的还可以是至少一个位于远离前述处理器201的存储装置。如图12所示,作为一种计算机存储介质的存储器204中存储有操作系统、网络通信模块,并存储有用于进行组件加载的程序以及其他程序。
在一种可行的实施方式中,其中具体的,所述处理器201可以用于调用所述存储器204中存储的用于进行组件加载的程序,执行以下步骤:
根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;
获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;
当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;
在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
进一步,所述处理器201在执行所述根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件的步骤时,具体执行如下步骤:
获取目标应用的组件需求信息;
查找与所述组件需求信息相适配的组件集合,所述组件集合中包含至少一个组件;
获取所述组件集合中各组件的特征信息;
根据所述组件集合中各组件的特征信息,从所述组件集合中选取一个组件确定为所述目标应用的待加载的目标组件。
其中,所述组件需求信息包括所述目标应用所定制的预置接口信息;所述目标组件的至少两个接口信息包括:所述目标组件的基本功能对应的接口信息,以及所述目标组件的扩展功能对应的接口信息。
进一步,在一种可行的实施方式中,所述处理器201在执行所述查找与所述组件需求信息相适配的组件集合的步骤时,具体执行如下步骤:
根据所述组件需求信息包括的预置接口信息,生成组件查询请求;
将所述组件查询请求发送至服务器,以使所述服务器根据所述组件查询请求查找声明实现所述预置接口信息的至少一个组件,并根据查找到的所述至少一个组件生成组件集合;
接收所述服务器返回的所述组件集合。
进一步,在另一种可行的实施方式中,所述处理器201在执行所述查找与所述组件需求信息相适配的组件集合的步骤时,具体执行如下步骤:
根据所述组件需求信息包括的预置接口信息,在源应用中查找声明实现所述预置接口信息的至少一个组件;
根据查找到的所述至少一个组件生成组件集合。
进一步,所述处理器201在执行所述当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验的步骤时,具体执行如下步骤:
当检测至所述目标应用的组件加载操作时,比较所述组件需求信息包括的预置接口信息与所述目标组件的至少两个接口信息;
若所述组件需求信息包括的预置接口信息为所述目标组件的接口信息,则确认所述组件加载操作校验成功。
本发明实施例将目标组件的功能采用至少两个接口信息进行定义,且该目标组件可通过添加新接口信息实现新功能的定义,提升了目标组件的扩充能力;目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合以形成组件需求信息,提升了组件的使用灵活度;当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (13)

1.一种组件加载方法,其特征在于,包括:
根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;
获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;
当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;
在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
2.如权利要求1所述的方法,其特征在于,所述根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件,包括:
获取目标应用的组件需求信息;
查找与所述组件需求信息相适配的组件集合,所述组件集合中包含至少一个组件;
获取所述组件集合中各组件的特征信息;
根据所述组件集合中各组件的特征信息,从所述组件集合中选取一个组件确定为所述目标应用的待加载的目标组件。
3.如权利要求2所述的方法,其特征在于,所述组件需求信息包括所述目标应用所定制的预置接口信息;
所述目标组件的至少两个接口信息包括:所述目标组件的基本功能对应的接口信息,以及所述目标组件的扩展功能对应的接口信息。
4.如权利要求3所述的方法,其特征在于,所述查找与所述组件需求信息相适配的组件集合,包括:
根据所述组件需求信息包括的预置接口信息,生成组件查询请求;
将所述组件查询请求发送至服务器,以使所述服务器根据所述组件查询请求查找声明实现所述预置接口信息的至少一个组件,并根据查找到的所述至少一个组件生成组件集合;
接收所述服务器返回的所述组件集合。
5.如权利要求3所述的方法,其特征在于,所述查找与所述组件需求信息相适配的组件集合,包括:
根据所述组件需求信息包括的预置接口信息,在源应用中查找声明实现所述预置接口信息的至少一个组件;
根据查找到的所述至少一个组件生成组件集合。
6.如权利要求3-5任一项所述的方法,其特征在于,所述当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验,包括:
当检测至所述目标应用的组件加载操作时,比较所述组件需求信息包括的预置接口信息与所述目标组件的至少两个接口信息;
若所述组件需求信息包括的预置接口信息为所述目标组件的接口信息,则确认所述组件加载操作校验成功。
7.一种组件加载装置,其特征在于,包括:
确定模块,用于根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;
获取模块,用于获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;
校验模块,用于当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;
加载模块,用于在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
8.如权利要求7所述的装置,其特征在于,所述确定模块包括:
需求获取单元,用于获取目标应用的组件需求信息;
集合查找单元,用于查找与所述组件需求信息相适配的组件集合,所述组件集合中包含至少一个组件;
特征获取单元,用于获取所述组件集合中各组件的特征信息;
目标组件确认单元,用于根据所述组件集合中各组件的特征信息,从所述组件集合中选取一个组件确定为所述目标应用的待加载的目标组件。
9.如权利要求8所述的装置,其特征在于,所述组件需求信息包括所述目标应用所定制的预置接口信息;
所述目标组件的至少两个接口信息包括:所述目标组件的基本功能对应的接口信息,以及所述目标组件的扩展功能对应的接口信息。
10.如权利要求9所述的装置,其特征在于,所述集合查找单元包括:
请求生成单元,用于根据所述组件需求信息包括的预置接口信息,生成组件查询请求;
请求发送单元,用于将所述组件查询请求发送至服务器,以使所述服务器根据所述组件查询请求查找声明实现所述预置接口信息的至少一个组件,并根据查找到的所述至少一个组件生成组件集合;
集合接收单元,用于接收所述服务器返回的所述组件集合。
11.如权利要求9所述的装置,其特征在于,所述集合查找单元包括:
组件查找单元,用于根据所述组件需求信息包括的预置接口信息,在源应用中查找声明实现所述预置接口信息的至少一个组件;
集合生成单元,用于根据查找到的所述至少一个组件生成组件集合。
12.如权利要求9-11任一项所述的装置,其特征在于,所述校验模块包括:
接口比较单元,用于当检测至所述目标应用的组件加载操作时,比较所述组件需求信息包括的预置接口信息与所述目标组件的至少两个接口信息;
结果确认单元,用于若所述组件需求信息包括的预置接口信息为所述目标组件的接口信息,确认所述组件加载操作校验成功。
13.一种终端,其特征在于,包括如权利要求7-12任一项所述的组件加载装置。
CN201410451953.XA 2014-09-05 2014-09-05 一种组件加载方法、装置及终端 Active CN104978214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410451953.XA CN104978214B (zh) 2014-09-05 2014-09-05 一种组件加载方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410451953.XA CN104978214B (zh) 2014-09-05 2014-09-05 一种组件加载方法、装置及终端

Publications (2)

Publication Number Publication Date
CN104978214A true CN104978214A (zh) 2015-10-14
CN104978214B CN104978214B (zh) 2019-10-22

Family

ID=54274751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410451953.XA Active CN104978214B (zh) 2014-09-05 2014-09-05 一种组件加载方法、装置及终端

Country Status (1)

Country Link
CN (1) CN104978214B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205706A1 (zh) * 2018-04-25 2019-10-31 上海掌门科技有限公司 应用组件的处理方法、设备及计算机可读存储介质
WO2020083059A1 (zh) * 2018-10-26 2020-04-30 阿里巴巴集团控股有限公司 客户端组建方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043645A (zh) * 2009-10-20 2011-05-04 阿里巴巴集团控股有限公司 一种加载插件的方法及装置
CN102222006A (zh) * 2011-07-22 2011-10-19 武汉天喻信息产业股份有限公司 移动Widget用户界面的实现方法及装置
CN102999352A (zh) * 2012-11-15 2013-03-27 中国科学院声学研究所 一种嵌入式系统组件加载方法
US20140081901A1 (en) * 2009-04-24 2014-03-20 Netapp, Inc. Sharing modeling data between plug-in applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140081901A1 (en) * 2009-04-24 2014-03-20 Netapp, Inc. Sharing modeling data between plug-in applications
CN102043645A (zh) * 2009-10-20 2011-05-04 阿里巴巴集团控股有限公司 一种加载插件的方法及装置
CN102222006A (zh) * 2011-07-22 2011-10-19 武汉天喻信息产业股份有限公司 移动Widget用户界面的实现方法及装置
CN102999352A (zh) * 2012-11-15 2013-03-27 中国科学院声学研究所 一种嵌入式系统组件加载方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张水波: "《VISUAL C++网络大讲堂》", 31 May 2013 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205706A1 (zh) * 2018-04-25 2019-10-31 上海掌门科技有限公司 应用组件的处理方法、设备及计算机可读存储介质
WO2020083059A1 (zh) * 2018-10-26 2020-04-30 阿里巴巴集团控股有限公司 客户端组建方法、装置及系统

Also Published As

Publication number Publication date
CN104978214B (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN109117169B (zh) 用于修复内核漏洞的方法和装置
KR102194052B1 (ko) 서비스 실행 방법 및 디바이스
EP3044936B1 (en) Method and apparatus of downloading and installing a client
US9665465B1 (en) Automated determination of application permissions
CN109462601B (zh) 基于eSIM的多平台访问方法及装置
CN104113576A (zh) 一种客户端的更新方法及装置
CN107644075B (zh) 收集页面信息的方法和装置
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
US20200012544A1 (en) Optimizing startup time for event-driven functions
CN104899049A (zh) 一种文件删除方法及其装置
US11263297B2 (en) Dynamic insertion of variablized secrets in a pipeline integration system
CN108234551B (zh) 一种数据处理方法及装置
CN108293047B (zh) 由用户访问跨多个分布式计算网络的资源的系统和方法
CN109828830B (zh) 用于管理容器的方法和装置
US8533446B2 (en) On-demand database server startup and shutdown
CN104978214A (zh) 一种组件加载方法、装置及终端
CN113138768A (zh) 应用程序包生成方法、装置、电子设备以及可读存储介质
CN104751046A (zh) 一种应用程序的用户认证方法及移动终端设备
US20240031166A1 (en) Web-side data signature method and apparatus and computer device
CN111142972B (zh) 用于扩展应用程序的功能的方法、装置、系统及介质
CN104516752A (zh) 一种信息处理方法及电子设备
CN113190812A (zh) 一种登录方法、系统、电子设备及存储介质
CN113176907A (zh) 接口数据调用方法、装置、计算机系统及可读存储介质
CN107613486B (zh) Stk模块命名方法、通信终端以及具有存储功能的装置
CN112068814A (zh) 可执行文件的生成方法、装置、系统及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant