CN101464805B - 一种插件管理方法及其*** - Google Patents
一种插件管理方法及其*** Download PDFInfo
- Publication number
- CN101464805B CN101464805B CN200810241592A CN200810241592A CN101464805B CN 101464805 B CN101464805 B CN 101464805B CN 200810241592 A CN200810241592 A CN 200810241592A CN 200810241592 A CN200810241592 A CN 200810241592A CN 101464805 B CN101464805 B CN 101464805B
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- called
- storage organization
- handle
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种插件管理方法及其***,其方法包括:A、将插件的操作接口抽象出来,封装成一上层调用接口;B、加载被调用插件时,存储获得的插件句柄并在内存中标记,建立该插件句柄与插件管理信息的对应关系;C、通过所述上层调用接口及所述内存中的插件句柄与插件管理信息的对应关系,对被调用插件进行加载、卸载、或查找操作。本发明完成了对插件进行了统一存储、操作和管理。特别针对是解决了共享库静态加载与动态加载之间的差别,延伸了程序对插件使用的范围,提高了程序跨平台的扩展性,方便了程序的移植。
Description
技术领域
本发明涉及插件管理技术,具体涉及一种如何在跨平台的环境中实现插件管理的技术领域。
背景技术
插件(plugin),指的是共享库。共享库在被调用过程中,无论被多少个正在运行的程序同时调用,共享库在内存中只存在一个副本,程序运行过程中对共享库的代码和只读数据段复用,达到节省***内存资源的目的。
代表共享库发展方向的是动态加载共享库,通常狭义的插件就是指的是此类共享库。动态加载通过把对插件的链接和加载与调用程序的链接和加载过程剥离,使对插件的链接和加载延后到程序启动时、甚至程序运行以后,这样就可以不改变调用程序的本身代码,更进一步的可以在程序正在运行的状态下对插件进行改变和更新,从而调整和升级程序功能,使应用程序具有了灵活性和可扩展性。
动态共享库这种特性的实现,依赖于***的文件格式,也需要链接器和加载器的支持,也就是说不同的操作***,对于动态共享库的实现,有各自不同的文件编码格式,使用的是不同的编译链接加载器,在编码过程中对于不同***也是使用迥异的调用接口。这是支持动态加载操作***之间的插件管理和使用的差异。
在受限环境下,如某些手机的嵌入式环境,操作***可能并不支持共享库的动态加载,这样插件必须以静态共享库方式进行实现。静态共享库的链接和加载与调用程序本身的链接和加载联系紧密不可分开。这是静态共享库与动态共享库之间的差异。
目前在使用与管理插件的过程中,对于不同的插件实现方式:是静态共享库还是动态共享库实现,如果是动态共享库,具体又是在何种操作***下实现,只能用不同的使用和管理机制,这就损害了程序的跨平台的扩展性,给程序的移植带来了困难。
可见,现有技术中存在一定的问题,需要进一步地改进。
发明内容
本发明的目的在于提供一种插件管理方法及其***,其具备统一管理及可扩展性,适用于使用插件的跨平台开发。
本发明提供了一种插件管理方法,所述管理方法包括以下步骤:
A、将插件的操作接口抽象出来,封装成一上层调用接口;
B、加载被调用插件时,存储获得的插件句柄并在内存中标记,并建立该插件句柄与插件管理信息的对应关系;
C、通过所述上层调用接口及所述内存中的插件句柄与插件管理信息的对应关系,对被调用插件进行加载、卸载、或查找操作。
所述方法,其中,所述插件管理信息至少包含:插件名,插件句柄,插件被调用计数,以及常驻内存属性位。
所述方法,其中,在所述内存中建立插件存储结构体,用于存储所述插件句柄与插件管理信息的对应关系。
所述方法,其中,所述插件存储结构体以单链表的形式保存在内存中,每一个插件存储结构体对应存储一个被调用插件的管理信息,多个插件存储结构体顺次构成所述单链表。
所述方法,其中,若***采用的是静态共享库,则所述方法的步骤A之前还包括:
建立静态插件资源配置文件,用于存储被调用插件库内部符号调用地址和符号调用字符串的对应关系信息。
本发明还提供了一种插件管理***,其特征在于,所述***包括:
对外接口模块,用于将插件的操作接口抽象出来,封装成一用于与上层应用软件进行通信的上层调用接口;
对内接口模块,用于加载被调用插件时,将获得的插件句柄在内存中的标记,并建立该插件句柄与插件管理信息的对应关系;
所述对内接口模块通过对外接口模块的封装函数来调用。
所述***,其中,所述对内接口模块包括:在所述内存中建立的用于存储所述插件句柄与插件管理信息对应关系的插件存储结构体。
所述***,其中,所述插件存储结构体以单链表的形式保存在内存中,每一个插件存储结构体对应存储一个被调用插件的管理信息,多个插件存储结构体顺次构成所述单链表。
所述***,其中,所述对内接口模块还包括:
在所述内存中建立的静态插件资源配置文件,用于存储被调用插件库内部符号调用地址和符号调用字符串的对应关系信息。
发明效果:本发明完成了对插件进行了统一存储、操作和管理。特别针对是解决了共享库静态加载与动态加载之间的差别,延伸了程序对插件使用的范围,提高了程序跨平台的扩展性,方便了程序的移植。
附图说明
图1为本发明方法的流程图;
图2为本发明支持静态库的方法流程图;
图3为整个插件管理***的实现框架示意图;
图4为整个插件管理方法的使用框架示意图;
图5为插件存储结构体的单链表结构示意图。
具体实施方式
如图1所示,本发明提供了一种插件管理方法,该方法包括以下步骤:
A、将插件的操作接口抽象出来,封装成一上层调用接口;
B、加载被调用插件时,存储获得的插件句柄并在内存中标记,建立该插件句柄与插件管理信息的对应关系;这里的插件管理信息至少包含:插件名,插件句柄,插件被调用计数,以及常驻内存属性位。
C、通过所述上层调用接口及所述内存中的插件句柄与插件管理信息的对应关系,对被调用插件进行加载、卸载、或查找操作。
为了便于存储上述插件句柄与插件管理信息的对应关系,本发明在所述内存中建立插件存储结构体,用于存储所述插件句柄与插件管理信息的对应关系;所述插件存储结构体以单链表的形式保存在内存中,每一个插件存储结构体对应存储一个被调用插件的管理信息,多个插件存储结构体顺次构成所述单链表,其具体结构可参见图5。
从上述方法可以看出,本发明提供了插件的统一管理,其包括以下几方面:1、统一的接口:将插件的加载,插件符号查找,插件卸载,常驻插件等插件操作接口抽象出来,形成统一的上层调用接口。2、统一的存储:打开插件后返回的句柄是插件在内存中的标记,将它与插件名字字符串,调用次数等其他必要管理信息统一新建结构体进行存储。3、通过统一的接口、统一的存储,向上屏蔽了不同操作***的实现细节完成了使用插件的跨平台。
基于上述几个优点,本发明可扩展到不同的操作***中。在插件管理内部对不同操作***的插件应用接口也统一进行封装成插件加载、符号查找、插件卸载接口。这样就将不同操作***的实现的差异和插件的统一管理相分离。插件管理要对新的操作***进行扩展,只需要使用***接口完成插件加载、符号查找、插件卸载接口的封装,就可实现插件管理的扩展。
插件是通过字符串来调用插件中的符号资源,本发明的方法可以广泛的应用到支持动态加载的操作***。可能有些操作***不支持静态共享库的使用,考虑到静态库本身没有字符串到符号资源的对应调用关系,则为了使本发明的方法适应使用静态库的形式,如图2所示,在上述步骤A之前增加以下步骤:建立静态插件资源配置文件,用于存储被调用插件库内部符号调用地址和符号调用字符串的对应关系信息。这里使用静态插件资源配置文件,完成字符串到符号资源的关系储存。并且依照动态加载的方式相同将插件加载、符号查找、插件卸载接口进行实现并封装,实现了插件的静态加载。
基于上述方法,本发明还提供了一种插件管理***,如图3所示,其包括:对外接口模块,用于将插件的操作接口抽象出来,封装成一用于与上层应用软件进行通信的上层调用接口;对内接口模块,用于加载被调用插件时,将获得的插件句柄存储并在内存中的标记,同时建立该插件句柄与插件管理信息的对应关系;所述对内接口模块通过对外接口模块的封装函数来调用。
其原理是:如图3所示,根据上述插件管理方法,将整个插件管理分为两层:
一层是对外接口模块面向上层应用,将插件管理的各平台操作的相同处抽象出来。为插件使用抽象出插件加载,符号查找,插件卸载,常驻插件等接口,将插件管理的共性管理操作在这些接口中实现,并使用统一的结构体存储句柄、插件名、调用次数、常驻内存属性位等信息,实现统一管理统一存储。
另一层是对内接口模块由操作***实现,将插件管理的各平台相异之处封装起来,使用不同***的应用程序接口实现相同的插件加载、符号查找、插件卸载功能供对外接口调用。这样,如果需要将插件管理在新***中扩展,也只需要将***应用程序接口封装成统一形式即可。静态加载***,同其他动态加载***一样也在该层封装,只是将插件加载和符号定位的功能使用静态插件信息配置文件与查找函数结合的方式实现了。基于此说明可见,上述对内接口模块包括:
在所述内存中建立的用于存储所述插件句柄与插件管理信息对应关系的插件存储结构体;所述插件存储结构体以单链表的形式保存在内存中,每一个插件存储结构体对应存储一个被调用插件的管理信息,多个插件存储结构体顺次构成所述单链表,其具体结构可参见图5。
以及在所述内存中建立的静态插件资源配置文件,用于存储被调用插件库内部符号调用地址和符号调用字符串的对应关系信息。这里的静态插件资源配置文件主要应用于支持静态共享库的操作***。
以下将结合附图4和5,从以下几个方面详细描述利用本发明的方法和***是如何进行插件管理的,即对被调用插件进行加载、卸载、或查找操作。
首先,应用插件在操作***平台上的加载操作,其过程如下:
第一步,创建用于存储被调用插件管理信息的插件存储结构体,这个结构体作为不同操作***的共有信息的载体,用来存储被调用插件的一些管理信息,比如插件名,插件句柄,插件被调用计数,以及常驻内存属性位等等;
第二步,通过调用上层调用接口,完成加载被调用插件得工作并且对上述插件存储结构体进行初始化,即获得被调用插件的插件句柄,存储到插件存储结构体中,作为后继操作被调用插件的标识。如图5所示,当程序调用到多个插件时,插件结构在内存中以单链表的形式进行存储,存储新打开的插件信息的插件存储结构体被添加在单链表的表头。每一个插件存储结构体对应存储一个被调用插件的管理信息,多个插件存储结构体顺次构成所述单链表。具体插件的加载过程通过调用操作***相异的***接口来完成。
如图4和5所示,上述第一步中所提到的插件存储结构体中包含以下插件管理信息:
(1)插件名(Name),用来搜索插件;
(2)插件句柄(handle),作为已加载待操作插件的标识;
(3)插件被调用计数(Ref_count),用来记录调用该插件的运行程序的个数,当没有任何程序调用该插件时,该插件才能被真正卸载;
(4)常驻内存属性位(Is_resident),用来表示插件在内存中的常驻属性,根据此为可以判断是否需要卸载或加载插件。根据实际情况设置插件被调用计数和常驻内存属性位,可以在真正需要卸载或加载的时候,将插件从内存中卸载或加载。比如,常驻内存属性位为“1”表示插件需要常驻于内存,常驻内存属性位设置为“0”时,表示插件不需要常驻于内存,可以在不使用的时候进行卸载。
上述四个都是基本必须项,另外,在上述四个的基础上,还可以包括:插件解构函数入口(Unload),用来指引操作***将插件进行卸载。初始编程时,预设了解构函数,则将其入口地址记录在所述插件存储结构体的相应位置上,如果没有预设解构函数,则采用默认方式对插件直接进行卸载。可见,本发明将插件实现的底层操作***差异对上层程序进行了屏蔽,利用插件存储解构体为上层程序提供了插件的统一使用接口。这样在以后程序在跨平台移植时,不需要改变插件调用、管理方面的代码,使之具备了可移植性。同时,本发明对插件的加载卸载定位符号,以及插件的常驻与返回插件名提供了管理接口,在***的实现的基础上,提供了额外的功能接口以及更完备的安全保护。方便了用户的对插件的使用以及维护。
在加载完成插件后,下一步应用需要获得插件内的符号。定位插件内的符号就需要直接处理符号的链接信息。如图1所示,对于支持动态加载的操作***,可以通过封装函数调用不同操作***提供的符号定位应用程序接口,直接进行符号定位。
对于不支持动态加载运用静态共享库实现插件的功能的***,由于静态共享库,在程序链接前已经完成了链接操作,这就是说其实符号信息在应用链接完成以后已经加载到可执行文件中了,但是要实现插件调用的统一,就得需要字符串与符号资源地址的对应关系。动态插件库包含此对应关系信息,而静态库本身不包含此信息,这里就需要将此信息以静态插件信息配置文件方式进行储存,对应每个静态库,配置文件储存插件名,符号总数,符号地址和符号名字字符串对应表三部分组成。所以,通过封装函数调用静态库符号定位函数,通过此函数查找静态共享库提供者预先提供的符号定位配置信息,进行符号定位的方式来实现插件管理。这里提到的符号定位配置信息文件记录被调用插件库内部符号调用地址和符号调用字符串的对应关系信息,可以预先设置。上述符号定位配置信息文件、封装函数和符号定位应用程序接口,与存储在所述插件存储结构体中的插件句柄一起,完成符号定位的完整操作,所以,上述符号定位配置信息文件、封装函数和符号定位应用程序接口,与存储在所述插件存储结构体中的插件句柄相关联,保证能依据某一信息查找到其他的相关信息。为了完成上述插件符号定位配置信息,需要在建立静态插件信息配置文件时封装查找函数,实现插件的查找、以及插件内符号资源的查找和定位。可见,本发明完成动态操作***中***插件应用程序接口相同的功能,也就实现了插件管理在静态夹在***中的扩展。
当完成插件调用后,应用程序将释放被调用插件。由于插件是共享库,必须保证没有其他任何程序在调用它时,才能实施真正的从内存的卸载动作。所以,首先根据插件存储结构体中的常驻内存属性位和插件被调用计数,判断是否需要卸载所述被调用插件。根据具体情况,如果插件被调用计数显示插件当前没有被任何程序调用,且常驻内存属性位显示该插件不用在内存常驻,则插件可从内存中卸载。当所述被调用插件需要卸载时,查找所述插件存储结构体,获得被调用插件的插件句柄,并根据插件解构函数入口或默认的方式,对所述被调用插件进行卸载。动态插件以解构函数或默认的方式将插件卸载,静态插件不能卸载,则保留于内存。当被调用插件被卸载后,将该被调用插件所对应的插件存储结构体从所述单链表中释放,完成插件在内存中的生存周期。
通过上述描述可见,本发明通过内存中建立插件存储结构体,存储了所加载插件句柄等必要信息,并以链表的方式方便添加删除查找等管理;内部对操作***的应用程序接口进行了封装,便于实现对新***的可扩充性;将静态共享库的配置信息,通过查找,存储到插件存储结构体中,屏蔽了动态与静态共享库的差异,保证了上层程序及插件管理机制的可移植性。
与现有技术相比,本发明定义了一种统一管理和使用插件的方法,其保证了用户及上层调用插件的程序不用再知道下层插件是以如何方式实现,无论是静态还是动态,具体哪种动态,只是使用统一的接口对插件进行管理和使用。另外,将各种不同插件实现方式之间有共性的东西提取出来用进行统一存储与管理,将与操作***相关的差异性部分剥离出来,进行针对性的处理,并且使用配置文件对操作***进行适配,对于以后新添加的不同平台的插件实现,只需要改变后一部分。从而彻底实现了软件***的可移植和可扩充性,实现了跨平台的插件使用与管理的统一。
上述各具体步骤的举例说明较为具体,并不能因此而认为是对本发明的专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
Claims (5)
1.一种插件管理方法,其特征在于,所述管理方法包括以下步骤:
建立静态插件资源配置文件,用于存储被调用插件库内部符号调用地址和符号调用字符串的对应关系信息;
A、将插件的操作接口抽象出来,封装成一上层调用接口;
B、加载被调用插件时,存储获得的插件句柄并在内存中标记,在所述内存中建立插件存储结构体,建立并在所述插件存储结构体中存储该插件句柄与插件管理信息的对应关系;
C、通过所述上层调用接口及所述内存中的插件句柄与插件管理信息的对应关系,对被调用插件进行加载、卸载、或查找操作。
2.根据权利要求1所述的方法,其特征在于,所述插件管理信息至少包含:插件名,插件句柄,插件被调用计数,以及常驻内存属性位。
3.根据权利要求1所述的方法,其特征在于,所述插件存储结构体以单链表的形式保存在内存中,每一个插件存储结构体对应存储一个被调用插件的管理信息,多个插件存储结构体顺次构成所述单链表。
4.一种插件管理***,其特征在于,所述***包括:
对外接口模块,用于将插件的操作接口抽象出来,封装成一用于与上层应用软件进行通信的上层调用接口;
对内接口模块,用于加载被调用插件时,将获得的插件句柄存储并在内存中的标记,在所述内存中建立的用于存储所述插件句柄与插件管理信息对应关系的插件存储结构体,建立并在所述插件存储结构体中存储该插件句柄与插件管理信息的对应关系,并在所述内存中建立的静态插件资源配置文件,用于存储被调用插件库内部符号调用地址和符号调用字符串的对应关系信息;
所述对内接口模块通过对外接口模块的封装函数来调用。
5.根据权利要求4所述的***,其特征在于,所述插件存储结构体以单链表的形式保存在内存中,每一个插件存储结构体对应存储一个被调用插件的管理信息,多个插件存储结构体顺次构成所述单链表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810241592A CN101464805B (zh) | 2008-12-24 | 2008-12-24 | 一种插件管理方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810241592A CN101464805B (zh) | 2008-12-24 | 2008-12-24 | 一种插件管理方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101464805A CN101464805A (zh) | 2009-06-24 |
CN101464805B true CN101464805B (zh) | 2012-09-05 |
Family
ID=40805398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810241592A Expired - Fee Related CN101464805B (zh) | 2008-12-24 | 2008-12-24 | 一种插件管理方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101464805B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043645B (zh) * | 2009-10-20 | 2014-01-08 | 阿里巴巴集团控股有限公司 | 一种加载插件的方法及装置 |
CN101895851B (zh) * | 2010-06-30 | 2012-12-26 | 卓望数码技术(深圳)有限公司 | 一种插件式无线增值业务平台及其管理方法 |
CN101950255A (zh) * | 2010-09-16 | 2011-01-19 | 深圳市迎风传讯科技有限公司 | 插件管理方法、插件管理器及机顶盒 |
CN102129389A (zh) * | 2011-03-09 | 2011-07-20 | 南京恩瑞特实业有限公司 | 基于linuxC语言的轻量级流程调度方法 |
CN102156663B (zh) * | 2011-03-22 | 2013-07-31 | 北京书生国际信息技术有限公司 | 一种实现插件的方法和装置 |
CN102331931B (zh) * | 2011-07-25 | 2014-05-14 | 深圳万兴信息科技股份有限公司 | 动态库管理方法和装置 |
CN103150154B (zh) * | 2011-12-07 | 2017-06-23 | 腾讯科技(深圳)有限公司 | 一种应用程序插件的实现方法及装置 |
CN103856396B (zh) * | 2012-11-30 | 2017-05-31 | 中兴通讯股份有限公司 | 插件间的报文传递方法及装置、代理插件 |
CN103077092B (zh) * | 2012-12-25 | 2015-09-30 | 北京奇虎科技有限公司 | 浏览器控件恢复方法及*** |
CN103176802B (zh) * | 2013-03-29 | 2016-05-11 | 厦门亿联网络技术股份有限公司 | 通过控件池实现***的用户界面ui与控件库分离的方法 |
CN104182605A (zh) * | 2013-05-28 | 2014-12-03 | 上海联影医疗科技有限公司 | 医疗影像***中工作流的配置方法和装置 |
CN104572030A (zh) * | 2013-10-09 | 2015-04-29 | 镇江金钛软件有限公司 | 一种插件配置方法 |
US9798827B2 (en) | 2013-10-25 | 2017-10-24 | Uc Mobile Co., Ltd. | Methods and devices for preloading webpages |
CN103544013B (zh) * | 2013-10-25 | 2017-06-06 | 优视科技有限公司 | 一种插件***及插件管理方法 |
CN105095694B (zh) * | 2014-05-14 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 网页调用插件的方法和*** |
CN105204883B (zh) * | 2014-06-26 | 2019-03-15 | 优视科技有限公司 | 一种插件加载处理方法及装置 |
CN105335286B (zh) * | 2014-08-15 | 2018-02-16 | 阿里巴巴集团控股有限公司 | 一种静态库测试方法及装置 |
CN104301916B (zh) * | 2014-11-07 | 2018-01-02 | 东南大学 | 基于移动智能终端通用插件的测试优化方法、装置及*** |
CN104932887B (zh) * | 2015-06-12 | 2018-02-02 | 北京京东尚科信息技术有限公司 | 一种平台***的插件管理方法和平台*** |
CN106406834A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | 一种管理应用***的方法、装置和*** |
CN105373396B (zh) * | 2015-08-14 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 插件平台中的插件更新加载方法和装置 |
CN105138377A (zh) * | 2015-09-14 | 2015-12-09 | 沈阳时尚实业有限公司 | 一种可配置插件调度及动态加载的远程自动化限电方法 |
CN106325921B (zh) * | 2016-08-16 | 2020-07-10 | 北京奇虎科技有限公司 | 关联插件的释放方法及装置 |
CN106817247A (zh) * | 2016-12-17 | 2017-06-09 | 福建瑞之付微电子有限公司 | 一种适应于多种通讯链路的统一的数据通讯软件框架 |
CN108427559B (zh) * | 2018-03-14 | 2022-10-11 | 新华三技术有限公司 | 一种脚本文件生成和调用方法以及装置 |
CN109460215B (zh) * | 2018-11-13 | 2023-05-26 | 三六零科技集团有限公司 | 应用控制方法及装置 |
CN111400054B (zh) * | 2018-12-27 | 2024-03-08 | 浙江大学 | 网络插件调用方法及装置,计算机存储介质和电子设备 |
CN111984299A (zh) * | 2019-05-22 | 2020-11-24 | 青岛海信宽带多媒体技术有限公司 | 一种数据加载的方法和设备 |
CN110708202B (zh) * | 2019-10-15 | 2023-12-05 | 深圳前海微众银行股份有限公司 | 插件节点的配置方法、装置、设备及存储介质 |
CN112035097B (zh) * | 2020-08-25 | 2023-10-13 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于银河锐华操作***的c++适配层的装置 |
CN112100672B (zh) * | 2020-09-24 | 2022-08-23 | 维沃移动通信有限公司 | 应用程序卸载方法及装置 |
CN112559083B (zh) * | 2020-12-24 | 2023-08-04 | 成都新希望金融信息有限公司 | 函数插件执行方法、装置、电子设备及存储介质 |
CN113157335B (zh) * | 2021-03-31 | 2023-06-06 | 北京临近空间飞行器***工程研究所 | 一种可扩展插件化体系架构的软件***设计方法 |
CN114422637B (zh) * | 2021-12-20 | 2023-12-29 | 阿里巴巴(中国)有限公司 | 媒体请求处理方法和跨平台引擎*** |
CN114816582A (zh) * | 2022-05-24 | 2022-07-29 | 中移(杭州)信息技术有限公司 | 轻量化嵌入式中间件及其*** |
-
2008
- 2008-12-24 CN CN200810241592A patent/CN101464805B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
彭永康 等.插件及其接口的研究与应用.《计算机应用》.2003,第23卷(第6期),122-123. * |
Also Published As
Publication number | Publication date |
---|---|
CN101464805A (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101464805B (zh) | 一种插件管理方法及其*** | |
US10146522B1 (en) | Live code updates | |
KR101164833B1 (ko) | 가상 파일 시스템 | |
KR100940179B1 (ko) | 무선 통신 장치 소프트웨어 코드 섹션의 현장 다운로드시스템 및 방법 | |
KR101318313B1 (ko) | 임베디드 플랫폼에서 프로그램을 동적 링크하는 방법 및 임베디드 플랫폼이 기록된 컴퓨터로 판독가능한 기록매체 | |
US20110154378A1 (en) | Api namespace virtualization | |
US20050010911A1 (en) | Shared library system and method of building the system | |
US20100125839A1 (en) | Specifying, Determining and Overriding Software Dependencies | |
CN102339219A (zh) | 用于支持面向对象脚本工具的***和方法 | |
CN104536737A (zh) | 一种基于组件的程序开发框架 | |
CN100530108C (zh) | 一种调用函数的方法及*** | |
CN102681893B (zh) | 可执行程序的跨平台实现方法及移动终端 | |
CN101484876B (zh) | 多任务虚拟机的堆组织 | |
CN111221568B (zh) | 一种基于物理机部署的Fabric链码生命周期管理*** | |
CN105378689A (zh) | 统一可扩展固件接口(uefi)驱动器和协议 | |
CN111857801B (zh) | 一种移动应用的构建方法 | |
CN101668283A (zh) | 一种手机嵌入式***中动态加载的方法 | |
CN111061638A (zh) | 一种iOS***调试的方法、装置及服务器 | |
CN104731622A (zh) | 一种应用程序的加载方法、装置和移动终端 | |
CN102929597A (zh) | 一种基于Java平台的Web业务支持方法和装置 | |
US6446255B1 (en) | Global registry object for mapping registry functions and registry equivalent functions across multiple operating systems in a cross-platform program | |
CN102521387A (zh) | 一种基于插件的数据迁移方法 | |
US20040255283A1 (en) | Adaptively storing system code in non-volatile storage | |
CN114995807A (zh) | 一种前端多项目框架的配置方法及*** | |
CN106406828A (zh) | 一种修改java***业务工具功能的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120905 Termination date: 20161224 |
|
CF01 | Termination of patent right due to non-payment of annual fee |