[发明专利]资源管理系统及方法有效
申请号: | 201510947323.6 | 申请日: | 2015-12-16 |
公开(公告)号: | CN105373434B | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 桂之明;陆费汉平;姚滨晖;郭亮 | 申请(专利权)人: | 上海携程商务有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 薛琦;罗朗 |
地址: | 200335 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 资源管理 系统 方法 | ||
本发明公开了一种资源管理系统及方法,所述资源管理系统包括:令牌生成模块,用于生成线程访问令牌;令牌队列,用于存储所述线程访问令牌;令牌分发模块,用于在接收到一线程对象发送的请求指令时,从所述令牌队列中获取线程访问令牌,并将获取的线程访问令牌发送至所述线程对象;资源创建模块,用于在所述线程对象接收到所述线程访问令牌后,为所述线程对象创建对应的资源;资源析构模块,用于在所述线程对象使用完毕所述资源后,释放并销毁所述资源,并控制所述线程访问令牌返回所述令牌队列。本发明采用令牌机制进行资源管理,无需资源管理器的介入,从而减轻了资源管理的负担,提高了资源管理的效率。
技术领域
本发明涉及一种资源管理系统及方法,特别是涉及一种通过令牌机制来管理和分配资源的资源管理系统及方法。
背景技术
现有的资源管理方法,比如线程池的管理,是直接启动一个线程,交由线程池来管理,当需要使用的时候,从线程池中通过竞争的手段来获得一个线程,如果没有可用的线程,会启动一个新的线程。同时还要关心线程的工作情况、工作内容等,属于偏重量级的管理方式。当并发的数量较多的时候,由于多线程的复杂性,导致管理程序的难度陡然上升。同时,许多设计在工作任务分配的策略上使用的是等待或不等待结果二选一的方式,不等待结果的方式,可以做到后台工作与前台工作完全隔离,互不影响,但却无法方便的获悉工作结果;等待结果的方式,会使得前后台在某处堵塞,然后工作场景往往需要两种模式结合。
发明内容
本发明要解决的技术问题是为了克服现有技术中在资源管理和结果可等待方面存在不足的缺陷,提供一种资源管理系统及方法。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种资源管理系统,其特点在于,包括:
令牌生成模块,用于生成线程访问令牌;
令牌队列,用于存储所述线程访问令牌;
令牌分发模块,用于在接收到一线程对象发送的请求指令时,从所述令牌队列中获取线程访问令牌,并将获取的线程访问令牌发送至所述线程对象;
资源创建模块,用于在所述线程对象接收到所述线程访问令牌后,为所述线程对象创建对应的资源;
资源析构模块,用于在所述线程对象使用完毕所述资源后,释放并销毁所述资源,并控制所述线程访问令牌返回所述令牌队列。
较佳地,所述资源管理系统还包括第一判断模块,用于判断所述令牌队列中是否具有空闲的线程访问令牌,若是,则调用所述令牌分发模块,若否,则在一预设时间段内继续判断,在判断为是时调用所述令牌分发模块,在判断为否时停止操作。
佳佳地,所述资源管理系统还包括第二判断模块,用于判断是否需要同步句柄,若是,则返回所述线程对象的句柄,并在所述线程对象使用完毕所述资源后返回所述线程对象的运行结果,若否,则直接调用所述资源析构模块。
较佳地,所述线程访问令牌为数字、字符、符号或对象。
较佳地,所述令牌队列存储的线程访问令牌的数量具有一最大阈值。
本发明的目的在于还提供了一种资源管理方法,其特点在于,其利用上述的资源管理系统实现,所述资源管理方法包括以下步骤:
S1、所述令牌生成模块生成线程访问令牌;
S2、所述令牌队列存储所述线程访问令牌;
S3、所述令牌分发模块在接收到一线程对象发送的请求指令时,从所述令牌队列中获取线程访问令牌,并将获取的线程访问令牌发送至所述线程对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海携程商务有限公司,未经上海携程商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510947323.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具备总线通信的机器人示教盒
- 下一篇:数字化盆地构造物理模拟实验仪