本发明专利技术公开了一种资源的处理方法及装置,该资源的处理方法包括:将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数;对资源对象进行监控,并根据资源对象的状态更新对应的引用计数;以及根据资源对象的引用计数处理对应的资源对象。本发明专利技术实施例,通过将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数,然后对资源对象进行监控,并根据资源对象的状态更新对应的引用计数,最后根据资源对象的引用计数处理对应的资源对象,从而可以在不额外增加其他硬件设备的前提下,有效提高对使用时间有限制的资源对象的利用率,大大降低了实现成本,且实现简单,适用性强。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种资源的处理方法及装置,该资源的处理方法包括:将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数;对资源对象进行监控,并根据资源对象的状态更新对应的引用计数;以及根据资源对象的引用计数处理对应的资源对象。本专利技术实施例,通过将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数,然后对资源对象进行监控,并根据资源对象的状态更新对应的引用计数,最后根据资源对象的引用计数处理对应的资源对象,从而可以在不额外增加其他硬件设备的前提下,有效提高对使用时间有限制的资源对象的利用率,大大降低了实现成本,且实现简单,适用性强。【专利说明】 资源的处理方法及装置
本专利技术涉及计算机
,尤其涉及一种资源的处理方法及装置。
技术介绍
在软件的开发过程中,经常需要对一些数量有限的资源进行大批量的申请和使用,因为这些资源数量有限,所以使用时往往需要对申请者的使用时间进行限制,即申请者只能在有限的时间内使用这些资源。 由于只能在有限的时间内使用这些资源,因此,必须对这些资源进行有效地管理。目前的一种管理方法是,在每个资源对象中保存最后被激活的时刻Tl,然后用一个定时器,每T时间遍历一遍所有资源对象,对那些现在时刻T2减去Tl大于使用时间的资源对象进行处理。这种做法全局只有一个定时器,不过每T时间就要检查全部资源对象,如果资源对象数目巨大,则会比较费时。另一种管理方法是,在每个资源对象中设置一个定时器,预设使用时间为T,在超过T时就处理资源对象。当然,每次收到数据就要更新资源对象中的定时器。这种做法需要很多个定时器,会频繁更新资源对象中的定时器,如果资源对象数目比较大,对事件循环造成压力,且比较费时。 由此可见,不论哪种管理方法都需要设置定时器,实现成本高、比较复杂,且比较费时。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种提高资源对象利用率优点的资源的处理方法及装置。 本专利技术实施例提供了一种资源的处理方法,该资源的处理方法包括:将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数;对资源对象进行监控,并根据资源对象的状态更新对应的引用计数;以及根据资源对象的引用计数处理对应的资源对象。 上述资源的处理方法实施例,通过将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数,然后对资源对象进行监控,并根据资源对象的状态更新对应的引用计数,最后根据资源对象的引用计数处理对应的资源对象,从而可以在不额外增加其他硬件设备的前提下,有效提高对使用时间有限制的资源对象的利用率,大大降低了实现成本,且实现简单,适用性强。 本专利技术实施例还提供了一种资源的处理装置,该资源的处理装置包括:添加模块,用于将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数;更新模块,用于对资源对象进行监控,并根据资源对象的状态更新对应的引用计数;以及处理模块,用于根据资源对象的引用计数处理对应的资源对象。 上述资源的处理装置实施例,通过添加模块将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数,通过更新模块对资源对象进行监控,并根据资源对象的状态更新对应的引用计数;通过处理模块根据资源对象的引用计数处理对应的资源对象,从而可以在不额外增加其他硬件设备的前提下,有效提高对使用时间有限制的资源对象的利用率,大大降低了实现成本,且实现简单,适用性强。 【专利附图】【附图说明】 图1是根据本专利技术一个实施例的资源的处理方法的流程图。 图2是根据本专利技术一个实施例的数据结构的示意图一。 图3是根据本专利技术一个实施例的数据结构的示意图二。 图4是根据本专利技术一个实施例的数据结构的示意图三。 图5是根据本专利技术一个实施例的数据结构的示意图四。 图6是根据本专利技术一个实施例的数据结构的示意图五。 图7是根据本专利技术一个实施例的数据结构的示意图六。 图8是根据本专利技术一个实施例的数据结构的示意图七。 图9是根据本专利技术一个实施例的数据结构的示意图八。 图10是根据本专利技术一个实施例的数据结构的示意图九。 图11是根据本专利技术另一个实施例的资源的处理方法的流程图。 图12是根据本专利技术一个实施例的资源的处理装置的结构示意图。 【具体实施方式】 下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。 下面参考附图描述本专利技术实施例的资源的处理方法及装置。 图1是根据本专利技术一个实施例的资源的处理方法的流程图。 如图1所示,该资源的处理方法包括: S101,将待管理的资源对象添加到预设的数据结构中,并为资源对象初始化引用计数。 在该实施例中,将对使用时间有限制的资源称为资源对象。其中,这些资源对象可以是网络通信中的网络链接,也可以是操作系统分配的文件句柄等。 上述预设的数据结构可以为循环队列或其他环形数据结构等。在该实施例中,以循环队列为例进行描述,为了描述方便,使用如图2所示的类似刻度盘的数据结构表示将该循环队列,其中,具有时间刻度的格子组成环形的循环队列,格子上的数字表示其包含的资源对象的剩余使用时间,格子中可以包含一个表(Table),例如哈希表;另外,还有一个指向队尾的指针即尾指针(tail),这个指针每单位时间(假定为T)移动一格。 在该实施例中,在单位时间内可以接收一个或多个具有相同或不同生命周期资源对象,并将接收到的资源对象的智能指针添加到与自己的生命周期对应的循环队列中,即不同的循环队列可以与具有不同生命周期的资源对象相对应。所谓智能指针,实际上是一种类模板,当其实例化后包含有指向动态分配内存的指针,它通过重载运算符来模拟指针的行为,同时在适当的时候释放内存,以达到自动管理内存的目的。 同时,为了统计资源对象的引用计数,该实施例的智能指针可以为面向资源共享的智能指针,这类智能指针内部通常存在使用资源的计数器,称为引用计数,即基于引用计数的智能指针。 S102,对资源对象进行监控,并根据资源对象的状态更新对应的引用计数。 如图2所示,刻度盘上每个格子中的数字表示其包含的资源对象的剩余使用时间,例如,格子上的数字为6时,表示这个格子中包含的资源对象的剩余使用时间为6T ;格子上的数字为5时,表示这个格子中包含的资源对象的剩余使用时间为5T ;依此类推。 在该实施例中,将接收到的资源对象的智能指针添加到对应的格子中后,对该资源对象进行监控,若该资源对象在其剩余使用时间内被激活,则将该资源对象的智能指针添加到tail指针指向的格子中,此时,该资源对象的引用计数累加一(引用计数的初始值为零),同时,若该资源对象的智能指针不是在加入循环队列的那个单位时间内被激活,则该资源对象的剩余使用时间也会被更新,以图2为例,即被更新为6T。因此,若有两个资源对象的智能指针在第一单位时间内同时加入同一格子中,且只有其中一个资源对象在另一单位时间内被激活,则被激活资源本文档来自技高网...
【技术保护点】
一种资源的处理方法,其特征在于,包括:将待管理的资源对象添加到预设的数据结构中,并为所述资源对象初始化引用计数;对所述资源对象进行监控,并根据所述资源对象的状态更新对应的引用计数;以及根据所述资源对象的引用计数处理对应的资源对象。
【技术特征摘要】
【专利技术属性】
技术研发人员:陈先强,梅林海,
申请(专利权)人:科大讯飞股份有限公司,
类型:发明
国别省市:安徽;34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。