动态库管理方法和装置制造方法及图纸

技术编号:7075186 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种动态库管理方法和装置,该方法包括:加载管理动态库的动态库;初始化所述管理动态库的动态库,所述初始化包括所述管理动态库的动态库加载管理的底层动态库,并将所述底层动态库支持的功能注册到所述管理动态库的动态库中;所述管理动态库的动态库接收前端发送的访问请求;所述管理动态库的动态库根据接收的所述访问请求查询注册的底层动态库支持的功能,并根据查询结果向所述前端返回所述前端请求的底层动态库支持的功能对象或返回结果为不支持。采用本发明专利技术,可对动态库实现统一管理,简化前端和后端的实现,使整个架构通用化,更易开发和扩展。

【技术实现步骤摘要】

本专利技术涉及计算机技术,尤其涉及一种动态库管理方法和装置
技术介绍
在计算机处理技术中,通常把一些共用函数制作成函数库,供其他程序使用。这些函数库一般分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入。在现有的软件架构中,会先建立好底层中的所有动态库,外部(前端)直接调用底层中的动态库;当底层动态库进行增加或减少时,外部代码必须进行重新修改才能调用底层中的动态库。这不便于技术开发人员进行软件开发,大大降低了开发效率,没有很好的扩展性。虽然可以用插件技术解决部分问题,但是当前的插件技术只限制在很单一的一种类型的动态库上,比如基于一个编解码平台,每个插件的功能都受到了限制。即,不是编码与编码的动态库,相应的插件是不认的。同时,插件技术都是根据每个软件单独设计的,没有通用性,也没有一个规范。若采用com技术,系统也能统一管理各种com组件,但是这个管理是由操作系统来完成的,通过注册表来实现,对跨平台不是很好,其次它的管理是操作系统一级的,不同的软件之间的com组件会相互影响。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种动态库管理方法和装置。可对动态库实现统一管理,简化前端和后端的实现,使整个架构通用化,更易开发和扩展。为了解决上述技术问题,本专利技术实施例提供了一种动态库管理方法,包括 加载管理动态库的动态库;初始化所述管理动态库的动态库,所述初始化包括所述管理动态库的动态库加载管理的底层动态库,并将所述底层动态库支持的功能注册到所述管理动态库的动态库中; 所述管理动态库的动态库接收前端发送的访问请求;所述管理动态库的动态库根据接收的所述访问请求查询注册的底层动态库支持的功能,并根据查询结果向所述前端返回所述前端请求的底层动态库支持的功能对象或返回结果为不支持。其中,所述将所述底层动态库支持的功能注册到所述管理动态库的动态库中可包括调用所述底层动态库的注册函数,将所述底层动态库支持的功能注册到所述管理动态库的动态库中。同时,所述方法还可进一步包括,预先生成所述管理动态库的动态库。所述管理动态库的动态库管理的底层动态库为多个相同或不同类型的底层动态库。所述管理动态库的动态库包括前端调用函数表、统一入口函数和底层调用函数表,所述管理动态库的动态库根据接收的所述访问请求查询注册的底层动态库支持的功能包括根据所述前端的访问请求调用所述前端调用函数表中的函数; 被调用的所述前端调用函数表中的函数跳转到所述统一入口函数; 所述统一入口函数再跳转到所述底层调用函数表中对应的函数。另一方面,本专利技术实施例还提供了一种动态库管理装置,该装置包括 加载模块,用于加载管理动态库的动态库;初始化模块,用于初始化所述管理动态库的动态库,所述初始化包括所述管理动态库的动态库加载管理的底层动态库,并将所述底层动态库支持的功能注册到所述管理动态库的动态库中;管理模块,用于运行初始化后的所述管理动态库的动态库,所述管理动态库的动态库接收前端发送的访问请求,并根据接收的所述访问请求查询注册的底层动态库支持的功能,再根据查询结果向所述前端返回所述前端请求的底层动态库支持的功能对象或返回结果为不支持。其中,所述初始化模块还用于,调用所述底层动态库的注册函数,将所述底层动态库支持的功能注册到所述管理动态库的动态库中。所述装置还可包括,生成模块,用于预先生成所述管理动态库的动态库。所述管理动态库的动态库管理的底层动态库为多个相同或不同类型的底层动态库。所述管理动态库的动态库包括前端调用函数表、统一入口函数和底层调用函数表,所述管理模块运行的初始化后的所述管理动态库的动态库还用于,根据所述前端的访问请求调用所述前端调用函数表中的函数,被调用的所述前端调用函数表中的函数跳转到所述统一入口函数,所述统一入口函数再跳转到所述底层调用函数表中对应的函数。在本专利技术实施例中通过实现一个管理动态库的动态库,将底层的动态库都注册到其中,由其来统一管理所有的底层动态库,前端通过该管理动态库的动态库来访问底层动态库的所有功能,这样当底层动态库发生改变时,只要修改在管理动态库的动态库中的注册信息,就可以实现前端的访问,提高了整个架构的通用性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例中的动态库管理方法的一个具体流程示意图; 图2是本专利技术实施例中的动态库管理装置的一个具体组成示意图;图3是本专利技术实施例中的动态库管理方法的另一个具体流程示意图; 图4是本专利技术实施例中的管理动态库的动态库中的表结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术实施例中,通过一个管理动态库的动态库实现前端对底层动态库的调用,由于底层动态库只需要在管理动态库的动态库中进行功能的注册,前端通过注册的函数就可以实现相应的功能调用,使得前端可以通过管理动态库的动态库提供的统一接口即可,当底层动态库发生改变时,前端并不需要进行代码开发,极大的提高了系统在开发的效率。如图1所示,为本专利技术实施例中的动态库管理方法的一个具体流程示意图。该流程包括如下步骤。101、加载管理动态库的动态库。当然,在本步骤之前还可包括预先生成所述管理动态库的动态库的步骤。由于在系统运行时,可能出现多次加载管理动态库的动态库的情况,因而并不一定在每次加载动作之前都有一生成动作。102、初始化所述管理动态库的动态库,所述初始化包括所述管理动态库的动态库加载管理的底层动态库,并将所述底层动态库支持的功能注册到所述管理动态库的动态库中。比如,通过调用所述底层动态库的注册函数,将所述底层动态库支持的功能注册到所述管理动态库的动态库中。其中,所述管理动态库的动态库管理的底层动态库可为多个相同或不同类型的底层动态库。如这些底层动态库可以都是Photoshop的底层动态库,也可以是video converter的底层动态库,也可以是photoshop和video converter的底层动态库的组合,寸寸。103、所述管理动态库的动态库接收前端发送的访问请求。104、所述管理动态库的动态库根据接收的所述访问请求查询注册的底层动态库支持的功能,并根据查询结果向所述前端返回所述前端请求的底层动态库支持的功能对象或返回结果为不支持。在管理动态库的动态库中可包括前端调用函数表、统一入口函数和底层调用函数表,那么所述管理动态库的动态库根据接收的所述访问请求查询注册的底层动态库支持的功能可包括根据所述前端的访问请求调用所述前端调用函数表中的函数;被调用的所述前端调用函数表中的函数跳转到所述统一入口函数;所述统一入口函数再跳转到所述底层调用函数表中对应的函数本文档来自技高网...

【技术保护点】
1.一种动态库管理方法,其特征在于,所述方法包括:加载管理动态库的动态库;初始化所述管理动态库的动态库,所述初始化包括所述管理动态库的动态库加载管理的底层动态库,并将所述底层动态库支持的功能注册到所述管理动态库的动态库中;所述管理动态库的动态库接收前端发送的访问请求;所述管理动态库的动态库根据接收的所述访问请求查询注册的底层动态库支持的功能,并根据查询结果向所述前端返回所述前端请求的底层动态库支持的功能对象或返回结果为不支持。

【技术特征摘要】

【专利技术属性】
技术研发人员:姚育平
申请(专利权)人:深圳市万兴软件有限公司
类型:发明
国别省市:94

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

1