CN1889038A - 以类为单位的远程构件生命周期的管理方法 - Google Patents
以类为单位的远程构件生命周期的管理方法 Download PDFInfo
- Publication number
- CN1889038A CN1889038A CN 200610029729 CN200610029729A CN1889038A CN 1889038 A CN1889038 A CN 1889038A CN 200610029729 CN200610029729 CN 200610029729 CN 200610029729 A CN200610029729 A CN 200610029729A CN 1889038 A CN1889038 A CN 1889038A
- Authority
- CN
- China
- Prior art keywords
- stub
- agent
- long
- reference counter
- structural components
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明涉及一种以类为单位的远程构件生命周期的管理方法,该方法包括:创建与远程构件对象相对应的存根对象、代理对象;通过调用AddRef和Release方法对存根对象、代理对象的引用计数器的值进行增减;在条件具备的情况下释放系统资源、注销相关注册信息。本发明通过引用计数来动态控制构件对象以及存根对象,代理对象的存活期,大大减少了接口之间的远程消耗,更符合构件对象模型;同时代理,存根的引用计数的优化使用户对构件生命周期管理操作最大限度的控制在本地进行处理,方便了用户使用,也节省了系统资源。
Description
技术领域
本发明涉及一种以类为单位的远程构件生命周期的管理方法,尤其是一种在计算机系统中,客户进程与服务进程之间进行构件远程调用时,创建远程构件并以类为单位对远程构件的生存期进行有效管理的方法。
背景技术
构件技术,是一种具有标准接口的对象模型技术,这种模型使各软件构件可以用统一的方式进行交互。在构件技术的实现和使用过程中,牵涉到对构件以及构件所占有资源的生存期的管理,即生命周期的管理,其着重于解决远程构件在远程调用过程中所必须的资源的创建,计数,以及销毁。
构件本身的生命周期可以通过其引用计数来控制,其必须实现的标准构件接口方法AddRef,Release可以用来控制引用计数(AddRef,Release方法详情出自微软的COM相关技术文件),而远程构件之间的调用则是通过动态生成的存根对象,代理对象间接完成的,所以远程构件生命周期管理亦牵涉到对存根对象,代理对象的存活期的管理。构件服务进程做为构件服务的载体,其活动时间亦和构件对象的生命周期紧密相连。
远程构件技术允许远程服务以及服务使用者可以处于不同的地址空间。远程服务所在空间称之为服务器端,服务使用者所在空间称之为客户端。远程服务的传递过程通过动态生成的存根对象,代理对象完成。服务器端的建立包括构件对象的建立,与构件对象对应的存根对象的建立,以及向操作系统内核注册相关服务的信息,通过这些注册信息足以找到相关服务的启动信息,亦能够通过其获得大部分建立构件对象对应的代理对象所需要的信息。客户端的建立则以对象代理的建立为标志。
微软公司(microsoft)的COM是一种典型的构件技术,针对跨域的远程构件调用,采用动态生成存根代理的方式间接完成,其远程构件生命周期管理亦涉及到对存根对象,代理对象的存活期的管理,但是,在COM的生命周期管理中,是以接口为单位,而组件本身的实现则以类为单位,即一个组件类可以实现多个接口。如图1所示,一个构件对象的实例可以允许实现多个接口,图中所示一个构件对象的实例3具有接口A、接口B和接口C。远程服务的传递过程中,在客户端动态生成存根对象1以及三个与构件对象的实例相对应的接口代理A、接口代理B和接口代理C;同样,在服务器端也建立了对象存根2和与构件对象的实例3相对应的接口存根A、接口存根B和接口存根C。在远程构件调用中,对构件接口的引用计数的操作会转发到相应的构件实现类上,相应地,由于动态生成的类存根和类代理都具有和构件类相匹配的接口存根和接口代理,因此,对于接口存根和接口代理的引用计数的操作会转发到相应的类存根和类代理上。
目前,以接口为单位的远程构件生命周期管理过程通常具有比较复杂的过程,以一个客户端的一个进程以及其所属的两个线程进行远程构件调用为例,其包括如下过程,服务端的进程首先创建一个远程构件服务,如图1中的构件对象的实例,具有三个接口存根;运行于客户端的进程的一个线程获得该远程构件服务的一个接口,客户端的另一个线程获得该远程构件服务的另一个接口;当客户端的两个线程分别使用完成该远程构件服务后,先后释放掉与其对应的接口;服务端的进程选择合适的时机注销该远程构件服务。在这一过程中,两个线程对远程构件服务的调用需要经过四次远程调用,当客户端的进程具有更多的线程时,或者有多个客户端的进程需要进行远程构件服务时以及出现跨进程调用时,远程调用的耗时将会过长,从而浪费了大量的系统资源。
发明内容
本发明的目的在于针对上述以接口为单位的远程构件生命周期管理过程所存在的远程调用耗时过长,浪费了大量的系统资源的现状,而提供一种以类为单位的远程构件生命周期的管理方法,该方法以类为单位进行远程构件调用,能够减少远程调用次数,降低调用耗时,提高远程构件服务效率。
为实现上述目的,本发明采用的一种以类为单位的远程构件生命周期的管理方法,包括以下步骤:
步骤1、在服务端创建一个与构件对象一一对应的存根对象,通过调用AddRef方法,设置该存根对象引用计数器的初始值,同时通过调用构件对象的AddRef方法一次,在构件对象引用计数器原有数值上加1;
步骤2、判断客户端是否异常退出,如果是,则执行步骤9;如果不是,则执行步骤3;
步骤3、判断服务端是否异常退出,如果是,则执行步骤11;如果不是,则执行步骤4;
步骤4、在客户端创建一个代理对象,通过调用AddRef方法,设置该代理对象引用计数器的初始值,并远程对所述存根对象引用计数器的AddRef方法一次,使其加1;
步骤5、获得所述代理对象,通过调用AddRef方法一次,将所述代理对象引用计数器的初始值加1;
步骤6、通过调用所述代理对象的Release方法,将所述代理对象引用计数器的数值减1;用户可以通过代理对象调用构件对象的相应方法,完成用户所需要完成的任务。
步骤7、调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源;
步骤8、调用所述存根对象的Release方法,将所述存根对象引用计数变为0;释放掉构件对象指针,使所述构件对象计数器返回所述原有数值;释放掉所述存根对象以及与所述存根对象相关的资源,然后执行步骤12;
步骤9、在客户端创建一个代理对象,通过调用AddRef方法,设置该代理对象引用计数器的初始值;在所述客户端的进程对象中记录所述存根对象的相关信息,并远程对所述存根对象引用计数器的AddRef方法一次,使其加1;
步骤10、调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;在所述客户端的进程对象中删除所述存根对象的相关信息,远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源;
步骤11、所述服务端释放所创建的存根对象以及与所述存根对象相关的资源,并删除由服务端进程向系统内核注册的信息,然后执行步骤12;
步骤12、结束。
通过上述技术方案可以看出,本发明具有以下几个特点,能够通过引用计数来动态控制构件对象以及存根对象,代理对象的存活期;服务器进程控制它自己的生命周期,可以在任何它意愿的时候终止自己,服务器进程的设计者可以选择将其生命周期和构件对象的生命周期挂钩;远程客户端进程在使用完构件前必须增加构件服务的相关引用计数,以防止在使用过程中服务退出,使用完服务后要释放相关引用计数;服务器进程异常退出,则所有的构件服务的远程客户端获得的指针将失效,其相关资源依然可以正常释放;远程客户端异常退出,其所拥有的远程构件指针以及资源将全部释放。这些特点也正是本发明对远程构件生命周期进行管理的方法所遵循的原则;以类为单位做引用计数管理同以接口为单位做引用技术管理大大减少了接口(如构件对象的查询接口QuerryInterface)之间的远程消耗,更符合构件对象模型;代理,存根的引用计数优化使Addref,Release等用户显式的构件生命周期管理操作最大限度的控制在本地进行处理。
本发明通过对以类为单位的构件对象、存根对象和代理对象的创建以及采用以类为单位的引用计数进行生命周期管理,使处于操作系统不同空间的构件服务和构件服务调用者能够进行远程通讯和数据交换,并且大大缩短了调用的耗时,节省了系统资源。
以下,通过具体实施方式并结合附图对本发明做进一步的详细说明。
附图说明
图1为以接口为单位进行远程构件的生命周期管理的构件对象实例与存根对象、代理对象之间的关系示意图;
图2为构件对象、存根对象,代理对象之间的关系示意图;
图3为本发明的一个具体实施例的流程图;
图4为图3所示实施例中存根对象的创建流程图;
图5为图3所示实施例中代理对象的创建流程图。
具体实施方式
CAR即Component Assembly Runtime,是一种构件技术,该技术支持远程接口调用,即允许构件服务和构件服务调用者处于操作系统的不同空间,这两个不同空间之间不允许彼此直接访问或者具有不同的访问权限,构件服务和构件服务调用通过第三方进行通讯和数据交换。远程构件生命周期的管理用于对构件的生存期管理以及对于构件在远程化过程中所需要的资源的生存期管理,其着重于解决远程构件在远程调用过程所必须的资源的创建,计数,以及销毁。
本发明对远程构件生命周期的管理是以类为单位实现的,其主要包括三大内容:创建与远程构件对象相关的存根对象、代理对象;远程调用并引用计数方法;在条件具备的情况下释放系统资源、注销相关注册信息。
通过CAR构件技术可以动态生成存根对象、代理对象。存根对象和构件服务处于服务器端,代理对象则处于客户端。一个远程构件服务由存根对象以及构件服务实例组成,存根对象和构件服务实例之间存在一一对应的关系,存根对象的生成标志着一个远程构件服务的建立,而客户端的建立则以代理对象的生成为标志,该代理对象一定对应于某个远程存根对象。图2所示为远程构件服务中,构件对象6、存根对象4,代理对象5之间的关系。远程构件服务进程具有一个存根对象4。任何一个客户端的用户进程只能同时拥有或创建一个对应于该存根对象4的代理对象5,而一个远程构件服务进程的存根对象4则可以拥有多个客户端的代理对象5,换句话说可以允许存在多个代理对象和一个存根对象相对应。对于远程构件的调用,由客户端程序转发给代理对象5,代理对象5再通过远程转发给服务端的存根对象4,存根对象4则再把调用转发给构件对象6。
在通过引用计数进行管理时,实际上是通过代理对象,再转发到存根对象,由存根对象再转发到构件对象本身,当然,并不是客户端的每一个本地的AddRef和Release都会翻译成远程的AddRef以及Release。出于效率的考虑,本发明对于引用计数的管理进行了一系列如下基于算法的合理优化:
1、存根对象作为远程服务的标志,当存根对象被创建的时候,本进程内AddRef 1次相对应的组件对象的引用计数;远程服务取消,存根对象销毁的时候释放1次(调用Release)该引用计数。
2、除存根对象被创建以及引用计数被减到0时存根对象被销毁两种情况,所有针对存根对象的引用计数的操作都只作用于存根对象本身上,而与构件对象无关。
3、代理对象作为客户端获得远程服务的标志,当代理对象被创建的时候,远程AddRef一次相应的存根对象的计数;客户端使用完该远程服务,释放掉服务,销毁代理对象的时候远程释放1次(远程调用Release)存根对象的引用计数。
4、除代理对象被创建,以及引用技术被减到0代理对象被销毁两种情况,所有针对代理对象的引用计数的操作都只作用于代理对象本身上,且完全是在客户端进行,不与服务器端进行交互。
5、按照标准的COM引用计数规则使用引用计数,当远程的对象指针被释放的时候,其代理对象的计数到0,代理对象即会被销毁。
6、一个进程空间同时段多次获得某个远程服务,将现存的代理对象引用计数加1,在任意时间点,相对于获取的某个远程服务,一个进程只有一个相应的代理存在。
图3所示为本发明一个具体实施例的流程,其步骤如下:
步骤301、在服务端创建一个与构件对象一一对应的存根对象,通过调用AddRef方法,设置该存根对象引用计数器的初始值,同时通过AddRef方法一次,在构件对象引用计数器原有数值m上加1,成为m+1。存根对象引用计数器的初始值设置为1。
步骤302、判断客户端是否异常退出,如果是,则执行步骤309;如果不是,则执行步骤303。
步骤303、判断服务端是否异常退出,如果是,则执行步骤311;如果不是,则执行步骤304;
步骤304、在客户端创建一个代理对象,通过调用AddRef方法,设置该代理对象引用计数器的初始值,该初始值可以设置为1;远程对存根对象引用计数器的AddRef方法一次,使其加1;
步骤305、获得所述代理对象,通过调用AddRef方法一次,将所述代理对象引用计数器加1,使其变为2。
步骤306、通过调用所述代理对象的Release方法,将所述代理对象引用计数器的数值减1。
步骤307、调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源。
步骤308、调用所述存根对象的Release方法,将所述存根对象引用计数变为0;释放掉构件对象指针,使所述构件对象计数器返回所述原有数值,即由m+1变为m;释放掉所述存根对象以及与所述存根对象相关的资源,然后执行步骤312。
步骤309、由于客户端异常退出可能带来包括客户端所拥有的服务器端的接口指针没有释放,导致服务器端引用计数不对以及无法正常退出等问题,客户端出现异常退出的情况如下,在客户端创建一个代理对象,通过调用AddRef方法,将该代理对象引用计数器的初始值设置为1;在所述客户端的进程对象中记录所述存根对象的相关信息,并远程对所述存根对象引用计数器的AddRef方法一次,使其加1。
步骤310、在正常情况下,调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;在所述客户端的进程对象中删除所述存根对象的相关信息,远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源。在客户端异常退出的情况下,客户端进程退出的时候则检查该进程对象中是否存在步骤309记录的信息,如果存在,则根据这些记录一一释放掉该远程构件对象服务(通过远程调用存根对象的Release方法),再删除这些信息,然后执行步骤312。
步骤311、在服务器异常退出的情况下,在服务进程对象停止活动的过程中,服务端释放所创建的存根对象以及与所述存根对象相关的资源,并删除由服务端进程向系统内核注册的信息。完成这部分工作后,如果此时客户端的远程调用转到服务器端的内核,则内核通过查找,发现相关远程构件服务已经退出,则返回错误,客户端的代理对象检测到这个错误,则释放掉其本身以及相关资源,并返回错误给用户。由于服务器端的异常退出可能导致服务器端以及内核相关数据没有被释放,造成用户内存泄漏以及内核内存泄漏,并且可能造成客户端相关调用发生错误且无法正常释放相关资源,因此,需要执行上述操作,使整个资源的释放过程完成。
步骤312、结束。
在上述步骤301中,服务端创建一个存根对象的具体过程如图4所示,其过程为:
步骤401、通过CAR构件环境创建一个构件对象。
步骤402、创建一个与所述构件对象一一对应的所述存根对象,通过该存根对象可以调用所述构件对象。
步骤403、向内核注册相关存根对象以及构件对象的信息。
在上述步骤304中,客户端创建一个代理对象的具体过程如图5所示,其过程为:
步骤501、所述客户端查询本进程内的信息,如果不存在相应的代理对象,则过列集\散集过程或通过命名服务从内核获得相关构件服务的信息。
步骤502、通过所述相关构件服务信息建立所述代理对象。
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1、一种以类为单位的远程构件生命周期的管理方法,其包括以下步骤:
步骤1、在服务端创建一个与构件对象一一对应的存根对象,通过调用AddRef方法,设置该存根对象引用计数器的初始值为1,同时通过AddRef方法一次,将构件对象的引用计数器在原有数值上加1;
步骤2、判断客户端是否异常退出,如果是,则执行步骤9;如果不是,则执行步骤3;
步骤3、判断服务端是否异常退出,如果是,则执行步骤11;如果不是,则执行步骤4;
步骤4、在客户端创建一个代理对象,通过调用AddRef方法,设置该代理对象引用计数器的初始值为1,并远程调用所述存根对象的AddRef方法一次,使其引用计数器加1;
步骤5、获得所述代理对象,通过调用AddRef方法一次,将所述代理对象引用计数器的初始值加1;
步骤6、通过调用所述代理对象的Release方法,将所述代理对象引用计数器的数值减1;
步骤7、调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源;
步骤8、调用所述存根对象的Release方法,将所述存根对象引用计数变为0;释放掉构件对象指针,使所述构件对象计数器返回所述原有数值;释放掉所述存根对象以及与所述存根对象相关的资源,然后执行步骤12;
步骤9、在客户端创建一个代理对象,通过调用AddRef方法,设置该代理对象引用计数器的初始值;在所述客户端的进程对象中记录所述存根对象的相关信息,并远程对所述存根对象引用计数器的AddRef方法一次,使其加1;
步骤10、调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;在所述客户端的进程对象中删除所述存根对象的相关信息,远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源;然后执行步骤12;
步骤11、所述服务端释放所创建的存根对象以及与所述存根对象相关的资源,并删除由服务端进程向系统内核注册的信息;
步骤12、结束。
2、根据权利要求1所述的以类为单位的远程构件生命周期的管理方法,其特征在于所述步骤1中创建一个存根对象的具体过程为:
步骤1a、通过CAR构件环境创建一个构件对象;
步骤1b、创建一个与所述构件对象一一对应的的所述存根对象,通过该存根对象可以调用所述构件对象;
步骤1c、向内核注册相关存根对象以及构件对象的信息。
3、根据权利要求1所述的以类为单位的远程构件生命周期的管理方法,其特征在于所述步骤1中将所述存根对象引用计数器的初始值设置为1。
4、根据权利要求1所述的以类为单位的远程构件生命周期的管理方法,其特征在于所述步骤4中创建一个代理对象的具体过程为:
步骤41、所述客户端查询本进程内的信息,如果不存在相应的代理对象,则过列集\散集过程或通过命名服务从内核获得相关组件服务信息;
步骤42、通过所述相关组件服务信息建立所述代理对象。
5、根据权利要求1、2或3所述的以类为单位的远程构件生命周期的管理方法,其特征在于所述步骤4中将所述代理对象引用计数器的初始值设置为1,且通过AddRef方法一次,使所述存根对象引用计数器为2。
6、根据权利要求5所述的以类为单位的远程构件生命周期的管理方法,其特征在于所述步骤5中通过调用AddRef方法一次,将所述代理对象引用计数器设置为2。
7、根据权利要求6所述的以类为单位的远程构件生命周期的管理方法,其特征在于所述步骤9中通过调用AddRef方法,将该代理对象引用计数器的初始值设置为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100297297A CN100357889C (zh) | 2006-08-03 | 2006-08-03 | 以类为单位的远程构件生命周期的管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100297297A CN100357889C (zh) | 2006-08-03 | 2006-08-03 | 以类为单位的远程构件生命周期的管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889038A true CN1889038A (zh) | 2007-01-03 |
CN100357889C CN100357889C (zh) | 2007-12-26 |
Family
ID=37578316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100297297A Expired - Fee Related CN100357889C (zh) | 2006-08-03 | 2006-08-03 | 以类为单位的远程构件生命周期的管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100357889C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256612B (zh) * | 2008-04-01 | 2010-11-03 | 北京飞天诚信科技有限公司 | 基于.Net卡的程序保护方法和系统 |
CN101419549B (zh) * | 2008-05-13 | 2012-04-18 | 飞天诚信科技股份有限公司 | 基于.Net卡查找类和函数的方法和装置 |
CN106201749A (zh) * | 2016-08-29 | 2016-12-07 | 东软集团股份有限公司 | 一种共享内存的访问控制方法、装置及系统 |
CN104077139B (zh) * | 2014-07-04 | 2017-11-24 | 用友网络科技股份有限公司 | 脚本驱动环境下的远程调用方法和远程调用装置 |
CN108446150A (zh) * | 2018-03-23 | 2018-08-24 | 武汉斗鱼网络科技有限公司 | 对象的重复使用方法、装置及终端设备 |
CN110362334A (zh) * | 2019-06-05 | 2019-10-22 | 广州南方智能技术有限公司 | 二次开发语言的c++对象生命周期管理方法、设备、介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0827607B1 (en) * | 1995-06-14 | 1999-03-24 | Novell, Inc. | Method for managing globally distributed software components |
CN1264090C (zh) * | 2002-12-31 | 2006-07-12 | 上海科泰世纪科技有限公司 | 调用构件对象功能的智能指针的封装方法 |
CN1332305C (zh) * | 2005-01-12 | 2007-08-15 | 上海科泰世纪科技有限公司 | 模块生命周期管理方法 |
-
2006
- 2006-08-03 CN CNB2006100297297A patent/CN100357889C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256612B (zh) * | 2008-04-01 | 2010-11-03 | 北京飞天诚信科技有限公司 | 基于.Net卡的程序保护方法和系统 |
CN101419549B (zh) * | 2008-05-13 | 2012-04-18 | 飞天诚信科技股份有限公司 | 基于.Net卡查找类和函数的方法和装置 |
US9176753B2 (en) | 2008-05-13 | 2015-11-03 | Feitian Technologies Co., Ltd. | Method for searching for class and function based on .NET card and .NET card thereof |
CN104077139B (zh) * | 2014-07-04 | 2017-11-24 | 用友网络科技股份有限公司 | 脚本驱动环境下的远程调用方法和远程调用装置 |
CN106201749A (zh) * | 2016-08-29 | 2016-12-07 | 东软集团股份有限公司 | 一种共享内存的访问控制方法、装置及系统 |
CN106201749B (zh) * | 2016-08-29 | 2019-04-26 | 东软集团股份有限公司 | 一种共享内存的访问控制方法、装置及系统 |
CN108446150A (zh) * | 2018-03-23 | 2018-08-24 | 武汉斗鱼网络科技有限公司 | 对象的重复使用方法、装置及终端设备 |
CN108446150B (zh) * | 2018-03-23 | 2021-11-26 | 武汉斗鱼网络科技有限公司 | 对象的重复使用方法、装置及终端设备 |
CN110362334A (zh) * | 2019-06-05 | 2019-10-22 | 广州南方智能技术有限公司 | 二次开发语言的c++对象生命周期管理方法、设备、介质 |
CN110362334B (zh) * | 2019-06-05 | 2021-02-02 | 广州南方智能技术有限公司 | 二次开发语言的c++对象生命周期管理方法、设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100357889C (zh) | 2007-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685367B2 (en) | Multi-cache cooperation for response output caching | |
CN1889038A (zh) | 以类为单位的远程构件生命周期的管理方法 | |
CN1271524C (zh) | 一种静态内存管理方法 | |
CN1306430C (zh) | 基于构件的用户自定义事件方法 | |
CN1270229C (zh) | 基于动态内核实现跨地址空间创建构件对象的方法 | |
CN1928873A (zh) | 一种实现负荷分担的数据库访问方法及系统 | |
CN1859325A (zh) | 基于链表的进程间消息传递方法 | |
CN1201245C (zh) | 用于基于法定个数的操作的不严格法定个数的判定的方法和系统 | |
CN1710535A (zh) | 一种gis应用系统及其开发方法 | |
CN101043379A (zh) | 网络管理装置与网络管理方法 | |
CN1752896A (zh) | 操作系统协作下的嵌入式设备电源管理方法及系统 | |
CN1926517A (zh) | 用于相似性管理的方法和系统 | |
CN101067820A (zh) | 预取对象的方法 | |
CN1904824A (zh) | 为全球应用创建文化敏感控件的方法和系统 | |
CN101557390A (zh) | 一种灵活运用缓存技术来提高系统性能的方法 | |
JP6014316B2 (ja) | 非同期通信およびスコープを使用した、トランスペアレントなモジュール分散および分離 | |
CN112464044B (zh) | 一种文件数据块变化信息监控管理系统及其方法 | |
CN1208481A (zh) | 分布式处理 | |
CN103019809A (zh) | 业务处理装置和方法、及业务处理控制装置 | |
CN1149795C (zh) | 下一代网络业务和智能数据网路由器的高级业务体系结构 | |
CN104714923A (zh) | 一种实现设备共享的方法和装置 | |
CN101068244A (zh) | 一种追踪协议栈状态机切换的方法 | |
CN1835607A (zh) | 基于pc服务器短信二级网关及业务环境 | |
CN1317868C (zh) | 一种基于类模板管理器的通讯报文处理设备和方法 | |
CN1859251A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071226 Termination date: 20180803 |