CN100392604C - 一种实现程序资源共享的系统及方法 - Google Patents

一种实现程序资源共享的系统及方法 Download PDF

Info

Publication number
CN100392604C
CN100392604C CNB2005100799918A CN200510079991A CN100392604C CN 100392604 C CN100392604 C CN 100392604C CN B2005100799918 A CNB2005100799918 A CN B2005100799918A CN 200510079991 A CN200510079991 A CN 200510079991A CN 100392604 C CN100392604 C CN 100392604C
Authority
CN
China
Prior art keywords
resource
shared
pond
module
software program
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.)
Active
Application number
CNB2005100799918A
Other languages
English (en)
Other versions
CN1889047A (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 CNB2005100799918A priority Critical patent/CN100392604C/zh
Publication of CN1889047A publication Critical patent/CN1889047A/zh
Application granted granted Critical
Publication of CN100392604C publication Critical patent/CN100392604C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种实现程序资源共享的系统,该系统包括:共享资源池、资源查询模块以及资源生成模块,其中:共享资源池用于装载实现软件程序功能所需要的各个资源;资源查询模块用于接收软件程序根据其所需实现功能发送的获取资源请求,根据该请求查询共享资源池中是否装载有相应的资源,在查询得到相应资源时,从共享资源池中引用该资源以提供给软件程序实现所述功能,在查询不到相应资源时,向资源生成模块发送资源生成通知;资源生成模块用于根据接收到的资源生成通知以及输入的资源参数,动态生成所述查询不到的相应资源,并引用该资源给程序使用,以及,将该生成的资源装载到共享资源池中。本发明还公开了实现程序资源共享的方法。

Description

一种实现程序资源共享的系统及方法
技术领域
本发明属于计算机应用技术领域,尤其涉及一种实现程序资源共享的系统及方法。
背景技术
当前,视窗(WINDOWS)操作系统已经得到广泛应用,人们可以利用该操作系统所提供的图形操作界面实现各式各样的功能。由于图形操作具有方便、快捷、直观等优点,因此,各种软件应用程序也分别朝着提供图形化操作的方向发展,以方便用户的操作,提高软件的服务质量。
在现有技术中,应用程序通常采用如下方式来提供图形操作界面:
预先设计各个图形操作界面中的图标、贴图等显示元素,在将应用程序软件安装到计算机上时,将这些显示元素存储到该计算机的硬盘中;在应用程序的一个模块为实现其功能而需要生成并显示一定图形界面时,从硬盘中调用与该图形界面相对应的显示元素,并将这些显示元素装载到内存中以实现图形界面的显示。
该现有技术虽然能够实现为用户提供图形操作界面,但是,具有如下缺点:
在一个软件程序中通常需要提供多种功能,并且各个功能所对应的功能模块在实现各自功能时会分别使用各自独立的资源。参见图1所示,在该现有技术中,当一个功能模块需要提供操作界面时,该功能模块会从本地文件系统中调用该操作界面对应的图形显示元素,并将这些图形显示元素装载到内存中作为该功能模块的独立内存资源使用。而当其它功能模块需要实现各自操作界面时,这些操作界面也需要将各自操作界面对应的图形显示元素装载到内存中并作为独立内存资源使用。由于在软件设计过程中,通常需要保持软件显示、操作方式等的一致性,因此,软件程序中的各个功能所对应的图形操作界面也通常会包括许多相同的显示元素,在此情况下,由于各个功能模块分别将各自的图形显示元素装载到内存中并作为独立内存资源使用,显然会使得相同的显示图形元素被多次重复装载到内存空间中,从而造成内存资源的浪费,使得程序运行速度降低,并给用户以内存当前占用率很高的感觉。
以一个即时通讯软件程序为例,在该软件程序中,提供了交谈、会话、发送手机短信这三种功能,参见图2,这三种功能对应的图形操作界面具有相同的背景图,且每个按钮上的贴图也均一致。如果采用现有技术实现提供图形操作界面,则交谈功能模块、会话功能模块以及发送手机短信功能模块将分别将这些相同的背景图以及贴图装载到内存中,并作为各自的独立资源使用来提供图形显示界面,从而会造成内存资源浪费。
另外,在现有技术中,装载各个功能对应图形操作界面显示元素的独立内存资源通常只在退出程序时才被释放,如果程序曾经使用过某个功能,则即使在当前并不使用该功能的情况下,装载该功能对应显示元素的内存资源也不会被释放,从而导致对内存资源的浪费。这种内存资源的浪费在软件程序能够提供数量较多的功能时尤其明显,内存资源会随着运行过的功能数量的增加而被越来越多的占用,从而降低了内存资源的使用效率,使程序运行速度降低,并对用户的使用感受造成较大影响。
另外,对于软件程序所使用的其它资源,同样也存在上述问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现程序资源共享的系统及方法,能够对相同的图形显示元素实现共享,从而避免对内存资源的浪费,进一步地,还可对根据图形显示元素的使用情况,对内存资源进行主动释放,从而提高内存资源的使用效率。
为实现上述目的,本发明提供了一种实现程序资源共享的系统,该系统包括:共享资源池、资源查询模块以及资源生成模块,其中:
共享资源池用于装载实现软件程序功能所需要的各个资源;
资源查询模块用于接收软件程序根据其所需实现功能发送的获取资源请求,根据该请求查询共享资源池中是否装载有相应的资源,在查询得到相应资源时,从共享资源池中引用该资源以提供给软件程序实现所述功能,在查询不到相应资源时,向资源生成模块发送资源生成通知;
资源生成模块用于根据接收到的资源生成通知以及输入的资源参数,动态生成所述查询不到的相应资源,并引用该资源给程序使用,以及,将该生成的资源装载到共享资源池中。
其中,该系统进一步包括:资源引用管理模块、资源状态管理模块和资源销毁模块,其中:
资源引用管理模块用于计算共享资源池中各个资源当前被引用的次数,并将该次数提供给资源销毁模块;
资源状态管理模块用于根据对共享资源池中各个资源当前所进行的操作,管理共享资源池中各个资源的当前状态;
资源销毁模块用于根据资源引用管理模块所提供的资源引用次数以及资源状态管理模块所提供的资源的当前状态,删除当前未被引用并且处于空闲状态的资源,并释放该资源所占用的内存空间。
其中,资源生成模块包括资源类型管理模块以及内存资源动态生成模块,其中:
资源类型管理模块用于根据各个资源的类型不同分别保存不同类型的模板,根据资源查询模块发送的资源生成通知调用相应模板并提供给内存资源动态生成模块;
内存资源动态生成模块用于根据所述输入的资源参数以及资源类型管理模块提供的模板,动态生成所述查询不到的资源,引用该生成的资源给程序使用,并在共享资源池中装载该资源。
其中,该系统进一步包括资源适配管理模块,用于将所述各个模块对共享资源池的操作转化为与共享资源池所装载的资源类型相适应的统一类型的操作,以及,将资源生成模块生成的资源类型转换为与共享资源池中所装载的资源相一致的类型,将资源查询模块从共享资源池中所引用的资源转换为软件程序所需要的资源类型。
其中,所述资源查询模块进一步用于保存各个资源与其各自资源标识的对应关系,资源查询模块根据该对应关系查询共享资源池中是否装载有相应的资源;资源生成模块进一步用于建立所述动态生成的相应资源与其资源标识的对应关系,并将该对应关系提供给资源查询模块保存。
本发明还提供了一种实现程序资源共享的方法,该方法包括:
步骤A:软件程序初始化,共享资源池从该软件程序的文件系统中获取该软件程序所需的各个资源,并在该共享资源池中装载这些资源;
步骤B:软件程序开始其功能实现过程,根据其所需实现的功能,发送获取资源请求,共享资源池根据收到的获取资源请求查询共享资源池中是否装载有相应资源,如果查询到相应资源,则对该资源执行步骤C,如果未查询到相应资源,则执行步骤D;
步骤C:引用在共享资源池中查询到的相应资源,并将该引用的资源提供给软件程序以实现其相应功能,然后结束本流程;
步骤D:根据所述的获取资源请求生成所述未被查询到的相应资源,引用该资源提供给软件程序以实现其相应功能,并将该生成的资源装载到共享资源池中。
其中,该方法进一步包括:
分别判断共享资源池中的各个资源当前是否被引用,如果是,则不执行操作,否则,删除该当前未被引用的资源,释放共享资源池中该资源的内存空间。
其中,该方法进一步包括:预先为装载到共享资源池中的各个资源设定资源引用次数变量,并将该变量初始化为0;
步骤C所述引用在共享资源池中查询到的相应资源进一步包括:将所引用的资源的资源引用次数变量的值加1;
所述判断资源当前是否被引用的方法为:
判断该资源的资源引用次数变量的值是否为0,如果是,则判断得到该资源当前未被引用,否则,判断得到该资源当前被引用。
其中,所述删除当前未被引用的资源的方法为:
利用保存的资源与其资源标识的对应关系,根据当前未被引用的资源的资源标识查找得到该未被引用的资源,删除该资源,并删除该资源与其资源标识的对应关系。
其中,所述删除当前未被引用的资源之前,该方法进一步包括:
判断该当前未被引用的资源的当前状态是否为空闲状态,如果是,则执行所述删除该当前未被引用的资源的步骤。
其中,步骤A所述共享资源池从该软件程序的文件系统中获取该软件程序所需的各个资源的方法为:
步骤A1:软件程序开始初始化过程,向共享资源池发送初始化开始指令,其中,初始化开始指令中包括该软件程序的标识;
步骤A2:共享资源池根据接收到的初始化开始指令中的软件程序标识,向该软件程序的文件系统请求获取该软件程序所需的各个资源;
步骤A3:所述软件程序的文件系统将保存在其上的该软件程序的各个资源发送给共享资源池。
其中,步骤A所述在该共享资源池中装载这些资源进一步包括:
建立所述资源与其各自资源标识的对应关系,并保存该对应关系;
步骤B所述根据收到的获取资源请求查询共享资源池中是否装载有相应资源的方法为:
根据所保存的资源与各自资源标识的对应关系,查询共享资源池中是否装载有获取资源请求中所指定的资源。
其中,步骤D所述生成未被查询得到的相应资源进一步包括:
建立该生成的资源与其资源标识的对应关系,并保存该对应关系;
步骤B所述根据收到的获取资源请求查询共享资源池中是否装载有相应资源的方法为:
根据所保存的资源与各自资源标识的对应关系,查询共享资源池中是否装载有获取资源请求中所指定的资源。
其中,所述资源为显示图形元素资源。
可见,本发明采用共享资源池对软件程序各个功能的资源进行统一管理,从而使得各个功能不再由于分别独立占用内存空间而浪费内存,从而大大减少了软件内存的占用量,使得用户可以顺畅的使用软件提供的各项功能。另外,本发明能够对共享资源池中的各个资源进行主动释放,从而将未被引用的内存及时删除并释放其内存空间,使得软件不会因为长时间运行而占用过多的内存资源,实现了对内存资源的有效管理。
附图说明
图1为现有技术中所采用的独立资源内存结构示意图。
图2为一软件程序图形操作界面的示意图。
图3为本发明所提供的系统的示意图。
图4为本发明一优选实施例中的系统示意图。
图5为本发明一优选实施例中的系统示意图。
图6为实现本发明的流程图。
图7为实现步骤600的流程图。
图8为实现步骤602的流程图。
图9为实现步骤604的流程图。
图10为实现步骤605的流程图。
具体实施方式
本发明为一种程序资源的共享系统及方法,采用共享资源池的方式统一管理程序资源,在程序中的各个模块分别实现各自功能时,判断共享资源池中是否具有所需的资源,如果是,则使用共享资源池中的该资源,从而实现相应功能,如果没有,则生成所需资源并存储在共享资源池中,利用共享资源池中新生成的资源实现相应功能。另外,本发明还对共享资源池中的各个资源的调用情况进行判断,如果判断得到一个资源当前未被调用,则主动释放该资源所占用的内存空间,从而降低对内存的占用,提高内存的使用效率。
下面结合附图对本发明进行详细描述。
参见图3,本发明所提供的系统至少包括共享资源池、资源查询模块、资源生成模块,其中:
共享资源池用于预先从软件程序的文件系统中获取实现该程序功能的各个资源,并装载所获取的这些资源;
资源查询模块用于根据程序发送的获取资源请求,在共享资源池中查询与该请求对应的资源并引用该资源提供给程序使用,以及,在查询不到对应资源时,向资源生成模块发送资源生成通知;
资源生成模块用于在接收到资源查询模块发送来的资源生成通知后,根据输入的资源参数动态生成与获取资源请求相对应的资源并引用该资源给程序使用,以及,将该资源装载到共享资源池中。
参见图4,在本发明一优选实施例中,资源生成模块包括资源类型管理模块以及内存资源动态生成模块,其中:
资源类型管理模块根据资源类型的不同分别保存有各个类型资源对应的模板,并在接收到资源查询模块发送来的资源生成通知后,查询得到与所需生成的资源相对应的模板,并将该模板提供给内存资源动态生成模块;其中,所述各个类型资源对应的模板中分别包括生成该类型资源的过程中所需要的公共参数、生成方式等内容;
内存资源动态生成模块用于接收与所需生成资源相对应的类型参数,利用该类型参数以及资源类型管理模块提供的模板动态生成所需生成的资源,引用该生成的资源给程序使用,并在共享资源池中装载该资源。
参见图5,在本发明一优选实施例中,为了能够实现对共享资源池中的资源进行主动管理,以便在资源不被调用时能及时释放该资源所占用的内存空间,本发明所提供的系统还可以进一步包括:
资源引用管理模块、资源状态管理模块和资源销毁模块,其中:
资源引用管理模块用于计算共享资源池中各个资源当前被引用的次数,并将该次数提供给资源销毁模块;其具体计算方法为:预先为共享资源池中的各个资源定义引用次数变量,并将该变量初始化为0,当引用共享资源池中的某一资源时,将该资源的引用次数变量加1,当由于软件程序关闭功能而使得某一资源不再被引用时,将该资源的引用次数变量减1;
资源状态管理模块用于管理共享资源池中各个资源的当前状态,根据对资源当前所进行操作,将该资源的状态设置或切换为查询状态、就绪状态、使用状态、或非使用状态;其中,查询状态和使用状态表明该资源处于忙状态,在该状态下,由于该资源正在或者即将被使用,因此不能删除该资源;就绪状态和非使用状态表明该资源处于空闲状态,在该状态下,由于资源未被使用,因此,可以删除该资源;
资源销毁模块用于根据资源引用管理模块所提供的资源引用次数,判断各个资源当前是否被引用,在判断得到一个资源未被引用时,从资源状态管理模块获取该资源的当前状态,在该资源处于就绪状态或者非使用状态时删除该资源,以释放该资源所占用的内存空间。
在本发明的具体实现过程中,为了能够有效实现对资源的查询,在资源查询模块中进一步保存各个资源与其各自资源标识的对应关系,资源查询模块收到获取资源请求后,提取该资源请求中的资源标识,根据所保存的资源与各自资源标识的对应关系,判断是否有与资源请求中的资源标识相对应的资源,以此实现对共享资源池中是否有请求对应的资源的判断。与之相对应的,资源生成模块在新生成资源时进一步用于生建立新生成资源与其资源标识的对应关系,并将该对应关系提供给资源查询模块保存。
在以上图4、图5所示的各个优选实施例中,本发明所提供的系统进一步包括资源适配管理模块,该模块用于将上述各个模块对共享资源池的操作转化为与共享资源池所装载的资源类型相适应的统一类型的操作,以及用于将资源生成模块生成的资源类型转换为与共享资源池中所装载的资源相一致的类型,将资源查询模块从共享资源池中所引用的资源转换为软件程序所需要的资源类型,从而实现上述各个模块与共享资源池之间的透明操作,减少由于资源类型不同所导致的共享资源池与上述各个模块无法协同工作的问题,从而降低共享资源池与上述各个模块之间的耦合性要求,使得本发明所提供的系统更容易实现。
以上所述为本发明所提供的系统的具体实现,下面对本发明所提供的方法进行详细介绍。
参见图6,本发明所提供的方法包括:
步骤600:软件程序初始化,共享资源池从该软件程序的文件系统中获取该软件程序所需的各个资源,并在该共享资源池中装载这些资源;
步骤601:软件程序开始其功能实现过程,发送资源获取资源请求,以请求获得实现所述功能所需要的资源;
步骤602:根据接收到的资源获取请求查询在共享资源池中是否装载有相应资源,如果查询到相应资源,则对该资源执行步骤603,否则,执行步骤604;
步骤603:引用共享资源池中查询到的资源,并将该引用的资源提供给软件程序,软件程序利用该资源以实现其相应功能,并结束本流程;
步骤604:根据所述的资源获取请求生成未被查询到的资源,引用该资源提供给软件程序以实现其相应功能,并将该生成的资源装载到共享资源池中。
在本发明中,为了能够及时删除未被引用的资源,释放该资源所占用的内存空间,该方法还可进一步包括:
步骤605:分别判断共享资源池中的各个资源当前是否被引用,如果是,则不执行操作,否则,删除该当前未被引用的资源,释放共享资源池中该资源的内存空间。其中,步骤605的实现不受上述步骤600~步骤604的执行顺序影响,可以在实现本发明所提供的方法的任意时刻执行步骤605,并不影响本发明的实现。
下面对上述步骤的具体实现分别加以详细描述。
(一)步骤600的具体实现:
参见图7,在本发明实施例中,采用如下步骤实现步骤600:
步骤6001:软件程序开始初始化过程,向共享资源池发送初始化开始指令,其中,初始化开始指令中包括该软件程序的标识;
步骤6002:共享资源池根据接收到的初始化开始指令中的软件程序标识,向该软件程序的文件系统请求获取该软件程序所需的各个资源;
步骤6003:所述软件程序的文件系统将保存在其上的各个资源发送给共享资源池,共享资源池接收各个资源并装载这些资源;
步骤6004:建立各个资源与其资源标识的对应关系,并保存该对应关系,以供步骤602查询资源时使用;其中,在本发明实施例中,预先建立一个Map表,将所述资源与资源标识的映射关系保存在该Map表中,从而实现上述建立对应关系的步骤;在本发明其它实施例中,也可采用其它方式建立和保存资源与其资源标识的对应关系,并不影响本发明的实现;另外,在本发明实施例中,在资源装载到共享资源池中之后才执行上述建立对应关系的步骤,在本发明其它实施例中,也可以在共享资源池接收到各个资源的同时,建立这些资源与其资源标识的对应关系并保存,并不影响本发明的实现。
(二)步骤601的具体实现:
在本发明实施例中,软件程序开始其功能实现过程后,向共享资源池发送资源获取请求,该资源获取请求中包括本次所需要实现功能的标识,以供步骤602中根据该标识进行资源查询。
(三)步骤602的具体实现:
在本发明具体实施例中,由于在步骤600中已经建立了各个资源与其资源标识的对应关系,因此,参见图8,步骤602可以利用如下步骤实现:
步骤6021:共享资源池根据收到的资源获取请求中的功能标识,确定本次需要实现的功能;
步骤6022:共享资源池根据本次需要实现的功能确定实现该功能所需要的各个资源的资源标识,利用这些资源标识以及步骤600中所建立的资源和资源标识的对应关系,查找共享资源池中是否装载有这些资源,如果查找得到有相应的资源,则利用该资源执行步骤603,如果对于一些资源未在共享资源池中查找到,则通过执行步骤604生成该资源。
(四)步骤603的具体实现:
在本发明实施例中,结合后续需要对共享资源池中的资源进行主动释放的步骤,按照以下方式实现步骤603:
共享资源池引用所述查询到的资源,提供给软件程序使用以实现其功能,并且,累加该资源当前所引用的次数,在本发明实施例中,预先为各个资源设定资源引用次数变量,并将该变量初始化为0,在引用各个资源时,分别将该资源对应的资源引用次数变量加1,从而实现对资源的引用次数进行计数。
(五)步骤604的具体实现:
参见图9,在本发明实施例中,采用如下步骤实现步骤604:
步骤6041:根据所述资源获取请求,确定该资源所属的类型,并接收输入的该资源的类型参数;
步骤6042:根据所述资源所属的类型确定与该资源对应的模板,利用该模板以及接收到的类型参数,生成资源获取请求所要求获取的资源;
步骤6043:将该生成的资源装载到共享资源池中,以及,建立该生成的资源与其资源标识的对应关系,并保存在该对应关系;其中,在本发明实施例中,采用Map表的方式保存上述对应关系,在本发明其它实施例中,也可采用其它方式进行保存,并不影响本发明的实现;
步骤6044:共享资源池引用该生成的资源并将该引用的资源提供给软件程序实现其相应功能。
(六)步骤605的具体实现:
参见图10,在本发明实施例中,通过利用上述Map表来实现步骤605,具体包括以下步骤:
步骤6051:分别读取共享资源池中所装载的各个资源的资源引用次数变量,分别判断各个资源的资源引用次数变量是否为0,如果是,则对该资源执行步骤6052,否则,不执行操作,并结束本流程;
步骤6052:根据保存有资源标识与资源对应关系的Map表,由判断得到的当前引用次数为0的资源的资源标识,在共享资源池中查找得到相应的资源;
步骤6053:判断步骤6052中所查找到的资源的当前状态,如果该状态为查询状态或者使用状态,则不执行后续步骤,结束本流程,否则,表明该资源当前处于就绪或者未被使用这样的空闲状态,则执行步骤6054;
步骤6054:在共享资源池中删除步骤6052中所查找得到的资源,释放该资源所占用的内存空间,以及删除该资源与其资源标识的对应关系。
在以上实施例中,所述的资源可以是显示图形元素资源,也可以是其它类型的程序资源,实现方法与上述实施例一致,并不影响本发明的实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种实现程序资源共享的系统,其特征在于,该系统包括:共享资源池、资源查询模块以及资源生成模块,其中:
共享资源池用于装载实现软件程序功能所需要的各个资源;
资源查询模块用于接收软件程序根据其所需实现功能发送的获取资源请求,根据该请求查询共享资源池中是否装载有相应的资源,在查询得到相应资源时,从共享资源池中引用该资源以提供给软件程序实现所述功能,在查询不到相应资源时,向资源生成模块发送资源生成通知;
资源生成模块用于根据接收到的资源生成通知以及输入的资源参数,动态生成所述查询不到的相应资源,并引用该资源给程序使用,以及,将该生成的资源装载到共享资源池中。
2.根据权利要求1所述的系统,其特征在于,该系统进一步包括:资源引用管理模块、资源状态管理模块和资源销毁模块,其中:
资源引用管理模块用于计算共享资源池中各个资源当前被引用的次数,并将该次数提供给资源销毁模块;
资源状态管理模块用于根据对共享资源池中各个资源当前所进行的操作,管理共享资源池中各个资源的当前状态;
资源销毁模块用于根据资源引用管理模块所提供的资源引用次数以及资源状态管理模块所提供的资源的当前状态,删除当前未被引用并且处于空闲状态的资源,并释放该资源所占用的内存空间。
3.根据权利要求1或2所述的系统,其特征在于,资源生成模块包括资源类型管理模块以及内存资源动态生成模块,其中:
资源类型管理模块用于根据各个资源的类型不同分别保存不同类型的模板,根据资源查询模块发送的资源生成通知调用相应模板并提供给内存资源动态生成模块;
内存资源动态生成模块用于根据所述输入的资源参数以及资源类型管理模块提供的模板,动态生成所述查询不到的资源,引用该生成的资源给程序使用,并在共享资源池中装载该资源。
4.根据权利要求3所述的系统,其特征在于,该系统进一步包括资源适配管理模块,用于将所述各个模块对共享资源池的操作转化为与共享资源池所装载的资源类型相适应的统一类型的操作,以及,将资源生成模块生成的资源类型转换为与共享资源池中所装载的资源相一致的类型,将资源查询模块从共享资源池中所引用的资源转换为软件程序所需要的资源类型。
5.根据权利要求1所述的系统,其特征在于,所述资源查询模块进一步用于保存各个资源与其各自资源标识的对应关系,资源查询模块根据该对应关系查询共享资源池中是否装载有相应的资源;资源生成模块进一步用于建立所述动态生成的相应资源与其资源标识的对应关系,并将该对应关系提供给资源查询模块保存。
6.一种实现程序资源共享的方法,其特征在于,该方法包括:
步骤A:软件程序初始化,共享资源池从该软件程序的文件系统中获取该软件程序所需的各个资源,并在该共享资源池中装载这些资源;
步骤B:软件程序开始其功能实现过程,根据其所需实现的功能,发送获取资源请求,共享资源池根据收到的获取资源请求查询共享资源池中是否装载有相应资源,如果查询到相应资源,则对该资源执行步骤C,如果未查询到相应资源,则执行步骤D;
步骤C:引用在共享资源池中查询到的相应资源,并将该引用的资源提供给软件程序以实现其相应功能,然后结束本流程;
步骤D:根据所述的获取资源请求生成所述未被查询到的相应资源,引用该资源提供给软件程序以实现其相应功能,并将该生成的资源装载到共享资源池中。
7.根据权利要求6所述的方法,其特征在于该方法进一步包括:
分别判断共享资源池中的各个资源当前是否被引用,如果是,则不执行操作,否则,删除该当前未被引用的资源,释放共享资源池中该资源的内存空间。
8.根据权利要求7所述的方法,其特征在于,该方法进一步包括:预先为装载到共享资源池中的各个资源设定资源引用次数变量,并将该变量初始化为0;
步骤C所述引用在共享资源池中查询到的相应资源进一步包括:将所引用的资源的资源引用次数变量的值加1;
所述判断资源当前是否被引用的方法为:
判断该资源的资源引用次数变量的值是否为0,如果是,则判断得到该资源当前未被引用,否则,判断得到该资源当前被引用。
9.根据权利要求7所述的方法,其特征在于,所述删除当前未被引用的资源的方法为:
利用保存的资源与其资源标识的对应关系,根据当前未被引用的资源的资源标识查找得到该未被引用的资源,删除该资源,并删除该资源与其资源标识的对应关系。
10.根据权利要求7或9所述的方法,其特征在于,所述删除当前未被引用的资源之前,该方法进一步包括:
判断该当前未被引用的资源的当前状态是否为空闲状态,如果是,则执行所述删除该当前未被引用的资源的步骤。
11.根据权利要求6所述的方法,其特征在于,步骤A所述共享资源池从该软件程序的文件系统中获取该软件程序所需的各个资源的方法为:
步骤A1:软件程序开始初始化过程,向共享资源池发送初始化开始指令,其中,初始化开始指令中包括该软件程序的标识;
步骤A2:共享资源池根据接收到的初始化开始指令中的软件程序标识,向该软件程序的文件系统请求获取该软件程序所需的各个资源;
步骤A3:所述软件程序的文件系统将保存在其上的该软件程序的各个资源发送给共享资源池。
12.根据权利要求6所述的方法,其特征在于,步骤A所述在该共享资源池中装载这些资源进一步包括:
建立所述资源与其各自资源标识的对应关系,并保存该对应关系;
步骤B所述根据收到的获取资源请求查询共享资源池中是否装载有相应资源的方法为:
根据所保存的资源与各自资源标识的对应关系,查询共享资源池中是否装载有获取资源请求中所指定的资源。
13.根据权利要求6所述的方法,其特征在于,步骤D所述生成未被查询得到的相应资源进一步包括:
建立该生成的资源与其资源标识的对应关系,并保存该对应关系;
步骤B所述根据收到的获取资源请求查询共享资源池中是否装载有相应资源的方法为:
根据所保存的资源与各自资源标识的对应关系,查询共享资源池中是否装载有获取资源请求中所指定的资源。
14.根据权利要求6所述的方法,其特征在于,所述资源为显示图形元素资源。
CNB2005100799918A 2005-06-27 2005-06-27 一种实现程序资源共享的系统及方法 Active CN100392604C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100799918A CN100392604C (zh) 2005-06-27 2005-06-27 一种实现程序资源共享的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100799918A CN100392604C (zh) 2005-06-27 2005-06-27 一种实现程序资源共享的系统及方法

Publications (2)

Publication Number Publication Date
CN1889047A CN1889047A (zh) 2007-01-03
CN100392604C true CN100392604C (zh) 2008-06-04

Family

ID=37578325

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100799918A Active CN100392604C (zh) 2005-06-27 2005-06-27 一种实现程序资源共享的系统及方法

Country Status (1)

Country Link
CN (1) CN100392604C (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697136B (zh) * 2009-10-27 2013-01-16 金蝶软件(中国)有限公司 一种资源控制方法和装置
CN102103522A (zh) * 2009-12-18 2011-06-22 中兴通讯股份有限公司 资源管理方法及系统
CN101788906B (zh) * 2010-01-21 2015-06-10 中兴通讯股份有限公司 资源管理方法和系统
CN102594848B (zh) * 2011-01-06 2015-09-16 中兴通讯股份有限公司 一种对物联网应用进行开放式开发的方法及系统
CN103019808B (zh) * 2011-09-28 2016-08-10 中国移动通信集团公司 一种业务状态的调节装置及方法
CN102520929A (zh) * 2011-11-24 2012-06-27 宇龙计算机通信科技(深圳)有限公司 系统资源的管理方法及装置
US8930541B2 (en) * 2011-11-25 2015-01-06 International Business Machines Corporation System, method and program product for cost-aware selection of templates for provisioning shared resources
EP2608029A1 (en) * 2011-12-19 2013-06-26 Siemens Aktiengesellschaft Method and system for managing resources among different clients for an exclusive use
CN103546508B (zh) * 2012-07-12 2016-08-10 阿里巴巴集团控股有限公司 信息同步系统和方法
CN106648877B (zh) * 2015-10-28 2020-08-25 阿里巴巴集团控股有限公司 资源申请、释放方法及装置
CN106528294A (zh) * 2016-11-04 2017-03-22 郑州云海信息技术有限公司 一种资源池管理方法及系统
CN106569880B (zh) * 2016-11-07 2020-12-22 Tcl科技集团股份有限公司 一种Android应用间动态共享资源的方法及系统
CN107844371A (zh) * 2017-10-12 2018-03-27 北京京东尚科信息技术有限公司 任务处理方法、系统及电子设备
CN109710436B (zh) * 2018-08-17 2021-03-30 深圳壹账通智能科技有限公司 空间清理方法、装置、设备和计算机可读存储介质
CN110227265B (zh) * 2019-06-18 2020-06-26 贵阳动视云科技有限公司 一种计算机图形资源共享方法及装置
WO2021081745A1 (zh) * 2019-10-29 2021-05-06 北京嗨动视觉科技有限公司 硬件资源分配方法及装置、视频处理器和显示系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329309A (zh) * 2000-06-13 2002-01-02 微软公司 操作系统的多语言用户接口
US20030217092A1 (en) * 2002-05-16 2003-11-20 Sun Microsystems, Inc. Inter java virtual machine (JVM) resource locking mechanism
CN1601479A (zh) * 2003-09-22 2005-03-30 英业达股份有限公司 应用程序中图形资源处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329309A (zh) * 2000-06-13 2002-01-02 微软公司 操作系统的多语言用户接口
US20030217092A1 (en) * 2002-05-16 2003-11-20 Sun Microsystems, Inc. Inter java virtual machine (JVM) resource locking mechanism
CN1601479A (zh) * 2003-09-22 2005-03-30 英业达股份有限公司 应用程序中图形资源处理方法

Also Published As

Publication number Publication date
CN1889047A (zh) 2007-01-03

Similar Documents

Publication Publication Date Title
CN100392604C (zh) 一种实现程序资源共享的系统及方法
US11431667B2 (en) Display method and device
CN107844342B (zh) 应用程序保活的管控方法、装置及存储介质和移动终端
DE60319059T2 (de) Emailkonfigurierung durch eine SMS-Kurznachricht
WO2016090976A1 (zh) 移动终端及其资源管理方法
CN111913629A (zh) 信息发送方法、装置和电子设备
US11782756B2 (en) Method and apparatus for scheduling processor core, and storage medium
US11019145B2 (en) Data synchronization method and synchronization service device
CN111309216B (zh) 列表页面的显示方法、装置、计算机设备及存储介质
WO2022156668A1 (zh) 信息处理方法和电子设备
CN114500432A (zh) 会话消息收发方法及装置、电子设备、可读存储介质
WO2018086454A1 (zh) 页面数据处理方法和装置
CN113596781A (zh) 一种订阅方法、服务网元及用户数据管理网元
WO2017091427A1 (en) Managing communication events
CN109582187B (zh) 文件发送方法、装置、计算机设备和存储介质
CN109891836B (zh) 具有智能回复和漫游草稿的电子邮件
CN106648794B (zh) 一种组件加载方法及装置
CN114666161B (zh) 一种组件安全策略管理方法、装置、设备及存储介质
CN113489833B (zh) 信息播报方法、装置、设备及存储介质
CN115344541A (zh) 一种文件存储的方法、装置、设备及存储介质
CN111367932B (zh) 数据库表单变更通知方法、装置、计算机设备及存储介质
CN109547563B (zh) 消息推送处理方法、装置、存储介质及服务器
US20040225729A1 (en) Dynamic display of round-trip times of message sequences
CN112448884A (zh) 内容保存方法及装置
CN111400060A (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