[发明专利]一种并发获取资源的方法和装置有效
| 申请号: | 201710842291.2 | 申请日: | 2017-09-18 |
| 公开(公告)号: | CN107729139B | 公开(公告)日: | 2021-02-26 |
| 发明(设计)人: | 李瑛 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;陆锦华 |
| 地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 并发 获取 资源 方法 装置 | ||
本发明公开了一种并发获取资源的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收用户的多个资源获取任务,每个资源获取任务用于获取对应的远程服务器上的一个资源;将所述每个资源获取任务通过与所述对应的远程服务器建立的网络IO通道传送到所述对应的远程服务器,以执行所述每个资源获取任务;监听是否有远程服务器将任务执行结果返回对应的网络IO通道,若有,则从该对应的网络IO通道读取所述任务执行结果以获得相应的资源。该实施方式能够不依赖线程池,可同时满足各业务资源的并发处理,很好地适应业务需求,横向扩展性好,可重复利用资源,减少资源开销,增加开发效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种并发获取资源的方法和装置。
背景技术
在应用框架中,需要同步并发请求多个业务资源的内容,然后组装并呈现给用户,并发获取各个资源可以减少用户等待时间,提高响应速度并增加服务器服务能力。
现有的并发获取资源的方案将所有需要并发去获取的任务提交到线程池,由线程池维护线程数和任务队列的工作,线程池会根据线程数随着任务的增多而决策是否需要新增线程,线程池中的线程不间断的从任务队列中获取任务并执行各任务,直到没有任务为止,之后,线程池对空闲线程进行回收和资源释放。线程池中的线程提交并发资源获取任务后,主线程等待结果,直到结果都提前返回或任务超时并取消超时的任务为止。
现有方案中对线程池的依赖无法很好地适应业务需求,线程的创建比较耗费内存和CPU资源,因此,若线程池过大则耗费多余的服务资源;而若线程池过小,当流量瞬间暴增,线程池尚来不及新建线程以支撑新业务,而业务也已超时线程数量成倍增加,不够支撑业务能力,此外,业务需求的横向拓展个数,依赖于当前线程池的对已有任务的承载支撑情况,可扩展性差,并且,每获取一个资源需要创建一个任务,使得资源不被重复利用,创建资源带来CPU和内存的消耗,不便于管理,效率低下,最后,线程池的使用因业务不同,导致编码质量不可控,不好统一控制和管理。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
对线程池的依赖无法很好地适应业务需求,可扩展性差,资源不被重复利用而效率低下,编码质量不可控、不好统一控制和管理。
发明内容
有鉴于此,本发明实施例提供一种并发获取资源的方法和装置,能够不依赖线程池,可同时满足各业务资源的并发处理,很好地适应业务需求,横向扩展性好,可重复利用资源,减少资源开销,增加开发效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种并发获取资源的方法。
一种并发获取资源的方法,包括:接收用户的多个资源获取任务,每个资源获取任务用于获取对应的远程服务器上的一个资源;将所述每个资源获取任务通过与所述对应的远程服务器建立的网络IO通道传送到所述对应的远程服务器,以执行所述每个资源获取任务;监听是否有远程服务器将任务执行结果返回对应的网络IO通道,若有,则从该对应的网络IO通道读取所述任务执行结果以获得相应的资源。
可选地,将所述每个资源获取任务通过与所述对应的远程服务器建立的网络IO通道传送到所述对应的远程服务器的步骤之前,还包括:按照各资源获取任务之间的预设的依赖关系对所述多个资源获取任务分组,以得到多个任务组,并根据所述依赖关系确定每个任务组中各资源获取任务的优先级;将每个任务组中的各资源获取任务按照所述优先级提交到与对应的远程服务器建立的网络IO通道。
可选地,所述每个资源获取任务包括各自的任务参数,按照各资源获取任务之间的预设的依赖关系对所述多个资源获取任务分组的步骤之前,还包括:将所述任务参数的数量超过预设值的资源获取任务拆分为子任务,且所述子任务与其他各资源获取任务之间的依赖关系和被拆分之前的原资源获取任务与所述其他各资源获取任务之间的依赖关系相同;所述从该对应的网络IO通道读取所述任务执行结果的步骤之后,还包括:将所述任务执行结果中由同一资源获取任务拆分得到的子任务的任务执行结果合并。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710842291.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:物流箱管理系统以及物流箱系统
- 下一篇:停车场的交接班方法及装置





