CN105630556B - 一种加载资源的方法和系统 - Google Patents
一种加载资源的方法和系统 Download PDFInfo
- Publication number
- CN105630556B CN105630556B CN201510994411.1A CN201510994411A CN105630556B CN 105630556 B CN105630556 B CN 105630556B CN 201510994411 A CN201510994411 A CN 201510994411A CN 105630556 B CN105630556 B CN 105630556B
- Authority
- CN
- China
- Prior art keywords
- resource
- request
- load
- queue
- requested
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种加载资源的方法,所述方法包括:将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存;缓存中没有请求的资源,则将加载资源请求排入处理队列;根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源;加载所请求的资源后,将加载资源请求排入回应队列;按照回应队列中的加载资源请求通知资源监听器资源加载已完成。本发明还公开一种加载资源的系统。应用本发明实施例后,能够加快加载数据速度,减少程序响应时间。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种加载资源的方法和系统。
背景技术
随着互联网技术的发展,计算机游戏作为一种娱乐方式,受到用户的众多关注。为了满足用户的需求,使用户能够得到更好的游戏体验,计算机游戏的设计也越来越多样化。
无论是基于桌面平台还是移动嵌入式平台,计算机游戏程序向多样化和复杂化发展。为了达到逼真的视觉效果,计算机游戏所调用的资源日益增多。目前采用同步加载资源的方式调用资源,即加载资源在程序主线程之内,需要等待资源加载完成后程序才能进行其他操作。
大量的资源文件是实现逼真视觉效果所付出的必然代价,动辄上百兆字节的文件加载直接导致加载数据较慢进而导致程序无法正常响应。
发明内容
本发明实施例提出一种加载资源的方法,能够加快加载数据速度,减少程序响应时间。
本发明实施例还提出一种加载资源的系统,能够加快加载数据速度,减少程序响应时间。
本发明实施例的技术方案如下:
一种加载资源的方法,所述方法包括:
将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存;
缓存中没有请求的资源,则将加载资源请求排入处理队列;
根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源;
加载所请求的资源后,将加载资源请求排入回应队列;
按照回应队列中的加载资源请求通知资源监听器资源加载已完成。
缓存中有请求的资源,则将加载资源请求排入回应队列。
所述根据处理队列中的加载资源请求通过资源池访问所请求的资源包括:
根据处理队列中的加载资源请求由资源管理器确定资源池;
通过所确定的资源池访问所请求的资源。
所述根据处理队列中的加载资源请求通过资源池访问所请求的资源包括:
根据处理队列中的加载资源请求通过资源池中的哈希表访问所请求的资源。
所述在缓存中加载所请求的资源包括:
在缓存中加载所请求的资源,固定时间间隔后,无需调用所请求的资源时,则释放缓存中所请求的资源。
一种加载资源的系统,所述系统包括:
请求模块,用于将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存,缓存中没有请求的资源,则将加载资源请求排入处理队列;
处理模块,用于根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源,将加载资源请求排入回应队列;
回应模块,用于按照回应队列中的加载资源请求通知资源监听器资源加载已完成。
所述请求模块进一步用于,缓存中有请求的资源,则将加载资源请求排入回应队列。
所述处理模块进一步用于,根据处理队列中的加载资源请求由资源管理器确定资源池。
所述处理模块进一步用于,根据处理队列中的加载资源请求通过资源池中的哈希表访问所请求的资源。
所述回应模块进一步用于,固定时间间隔后,无需调用所请求的资源时,则释放缓存中所请求的资源。
从上述技术方案可以看出,在本发明实施例中将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存;缓存中没有请求的资源,则将加载资源请求排入处理队列;根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源;加载所请求的资源后,将加载资源请求排入回应队列;按照回应队列中的加载资源请求通知资源监听器资源加载已完成。由于请求队列、处理队列和回应队列三个队列并行处理加载资源请求,因此能够加快加载数据速度,减少程序响应时间。
附图说明
图1是加载资源的方法流程示意图;
图2是加载资源的系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
在本发明实施例中,由于请求队列、处理队列和回应队列三个队列并行处理加载资源请求,因此能够加快加载数据速度,减少程序响应时间。
参见附图1是加载资源的方法流程示意图,具体包括以下步骤:
101、将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存;缓存中没有请求的资源,则将加载资源请求排入处理队列。
在资源的后台包括三个队列,分别是请求队列、处理队列和回应队列。请求队列负责排入加载资源请求;处理队列负责处理加载资源请求;回应队列负责在加载所请求的资源后回应资源监听器。
首先将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存。若缓存中有请求的资源,则无需处理直接从缓存中获取请求的资源,将加载资源请求排入回应队列;若缓存中没有请求的资源,则需要从相应的资源池访问所请求的资源,将加载资源请求排入处理队列。
102、根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源;加载所请求的资源后,将加载资源请求排入回应队列。
资源管理器保存各种类型资源的资源池,依据处理队列中的加载资源请求由资源管理器确定资源池,然后在资源池中查看缓存。
资源池在哈希表中保存资源名称和资源的映射关系,以达到快速访问的目的。根据处理队列中的加载资源请求通过资源池中的哈希表访问所请求的资源。在加载所请求的资源后,将加载资源请求排入回应队列。
在缓存中加载所请求的资源后,为了节省缓存资源,在固定时间间隔后,无需调用所请求的资源时,则释放缓存中所请求的资源。固定时间间隔可以根据具体情况确定。
103、按照回应队列中的加载资源请求通知资源监听器资源加载已完成。
资源接口包括资源名称、资源大小和读取状态等。资源监听器负责接收资源读取状态改变的指令。回应队列中的加载资源请求已完成加载,这样按照回应队列中的加载资源请求通知资源监听器资源加载已完成。
参见附图2是加载资源的系统结构示意图,具体包括请求模块201、处理模块202和回应模块203。
请求模块201,用于将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存,缓存中没有请求的资源,则将加载资源请求排入处理队列;进一步在缓存中有请求的资源,则将加载资源请求排入回应队列。
处理模块202,用于根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源,将加载资源请求排入回应队列;进一步根据处理队列中的加载资源请求由资源管理器确定资源池。进一步根据处理队列中的加载资源请求通过资源池中的哈希表访问所请求的资源。
回应模块203,用于按照回应队列中的加载资源请求通知资源监听器资源加载已完成。进一步固定时间间隔后,无需调用所请求的资源时,则释放缓存中所请求的资源。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种加载资源的方法,其特征在于,所述方法包括:
将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存;
缓存中没有请求的资源,则将加载资源请求排入处理队列;
根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源;
加载所请求的资源后,将加载资源请求排入回应队列;
按照回应队列中的加载资源请求通知资源监听器资源加载已完成。
2.根据权利要求1所述加载资源的方法,其特征在于,所述方法进一步包括:缓存中有请求的资源,则将加载资源请求排入回应队列。
3.根据权利要求1所述加载资源的方法,其特征在于,所述根据处理队列中的加载资源请求通过资源池访问所请求的资源包括:
根据处理队列中的加载资源请求由资源管理器确定资源池;
通过所确定的资源池访问所请求的资源。
4.根据权利要求1所述加载资源的方法,其特征在于,所述根据处理队列中的加载资源请求通过资源池访问所请求的资源包括:
根据处理队列中的加载资源请求通过资源池中的哈希表访问所请求的资源。
5.根据权利要求1所述加载资源的方法,其特征在于,所述在缓存中加载所请求的资源包括:
在缓存中加载所请求的资源,固定时间间隔后,无需调用所请求的资源时,则释放缓存中所请求的资源。
6.一种加载资源的系统,其特征在于,所述系统包括:
请求模块,用于将加载资源请求排入请求队列,依据请求队列中的加载资源请求查看缓存,缓存中没有请求的资源,则将加载资源请求排入处理队列;
处理模块,用于根据处理队列中的加载资源请求通过资源池访问所请求的资源,在缓存中加载所请求的资源,将加载资源请求排入回应队列;
回应模块,用于按照回应队列中的加载资源请求通知资源监听器资源加载已完成。
7.根据权利要求6所述加载资源的系统,其特征在于,所述请求模块进一步用于,缓存中有请求的资源,则将加载资源请求排入回应队列。
8.根据权利要求6所述加载资源的系统,其特征在于,所述处理模块进一步用于,根据处理队列中的加载资源请求由资源管理器确定资源池。
9.根据权利要求6所述加载资源的系统,其特征在于,所述处理模块进一步用于,根据处理队列中的加载资源请求通过资源池中的哈希表访问所请求的资源。
10.根据权利要求6所述加载资源的系统,其特征在于,所述回应模块进一步用于,固定时间间隔后,无需调用所请求的资源时,则释放缓存中所请求的资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510994411.1A CN105630556B (zh) | 2015-12-25 | 2015-12-25 | 一种加载资源的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510994411.1A CN105630556B (zh) | 2015-12-25 | 2015-12-25 | 一种加载资源的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630556A CN105630556A (zh) | 2016-06-01 |
CN105630556B true CN105630556B (zh) | 2019-02-19 |
Family
ID=56045537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510994411.1A Active CN105630556B (zh) | 2015-12-25 | 2015-12-25 | 一种加载资源的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630556B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491334B (zh) * | 2017-08-29 | 2020-12-15 | 四川长虹电器股份有限公司 | 一种预加载文件的组织和加载方法 |
CN108345505B (zh) * | 2018-02-02 | 2022-08-30 | 珠海金山网络游戏科技有限公司 | 一种多线程资源管理方法和系统 |
CN112817706B (zh) * | 2019-11-15 | 2023-06-02 | 杭州海康威视数字技术股份有限公司 | 一种分布式任务调度系统和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248684A (zh) * | 2013-04-28 | 2013-08-14 | 北京奇虎科技有限公司 | 一种互联网中资源获取方法和装置 |
CN103631565A (zh) * | 2013-11-13 | 2014-03-12 | 北京像素软件科技股份有限公司 | 场景资源的加载方法和加载装置 |
CN104461738A (zh) * | 2014-12-11 | 2015-03-25 | 珠海金山网络游戏科技有限公司 | 资源管理器中资源复用的方法、对应系统及设备 |
CN104536780A (zh) * | 2014-12-09 | 2015-04-22 | 珠海金山网络游戏科技有限公司 | 一种电子游戏资源高效加载方法及系统 |
WO2015058594A1 (zh) * | 2013-10-23 | 2015-04-30 | 华为技术有限公司 | 一种进程加载方法、装置及系统 |
CN104598270A (zh) * | 2014-12-22 | 2015-05-06 | 北京像素软件科技股份有限公司 | 一种多人网络游戏中资源加载的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997544B (zh) * | 2014-06-12 | 2017-08-25 | 网易(杭州)网络有限公司 | 一种资源下载的方法和设备 |
-
2015
- 2015-12-25 CN CN201510994411.1A patent/CN105630556B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248684A (zh) * | 2013-04-28 | 2013-08-14 | 北京奇虎科技有限公司 | 一种互联网中资源获取方法和装置 |
WO2015058594A1 (zh) * | 2013-10-23 | 2015-04-30 | 华为技术有限公司 | 一种进程加载方法、装置及系统 |
CN103631565A (zh) * | 2013-11-13 | 2014-03-12 | 北京像素软件科技股份有限公司 | 场景资源的加载方法和加载装置 |
CN104536780A (zh) * | 2014-12-09 | 2015-04-22 | 珠海金山网络游戏科技有限公司 | 一种电子游戏资源高效加载方法及系统 |
CN104461738A (zh) * | 2014-12-11 | 2015-03-25 | 珠海金山网络游戏科技有限公司 | 资源管理器中资源复用的方法、对应系统及设备 |
CN104598270A (zh) * | 2014-12-22 | 2015-05-06 | 北京像素软件科技股份有限公司 | 一种多人网络游戏中资源加载的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105630556A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gu et al. | SHadoop: Improving MapReduce performance by optimizing job execution mechanism in Hadoop clusters | |
EP2893444B1 (en) | Quota-based resource management | |
US9389995B2 (en) | Optimization of Map-Reduce shuffle performance through snuffler I/O pipeline actions and planning | |
CN103927225B (zh) | 一种多核心架构的互联网信息处理优化方法 | |
CN104205109B (zh) | 持续性和弹性的工作者进程 | |
CN103631565B (zh) | 场景资源的加载方法和加载装置 | |
US20170337135A1 (en) | Dynamic memory tuning for in-memory data analytic platforms | |
KR20170132296A (ko) | 연합 기반 메모리 관리 | |
CN107256180B (zh) | 数据处理方法、装置及终端 | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
US20200320059A1 (en) | Transaction change data replication | |
Tchana et al. | Software consolidation as an efficient energy and cost saving solution | |
US20150121398A1 (en) | Launching and managing unattended application programs | |
WO2014206289A1 (en) | Method and apparatus for outputting log information | |
US20150032897A1 (en) | Visualization of workload distribution on server resources | |
CN105630556B (zh) | 一种加载资源的方法和系统 | |
CN109726076B (zh) | 一种小程序生命周期管理方法和系统 | |
US20230131953A1 (en) | Power management for virtualized computer systems | |
US9354945B2 (en) | Managing a lock to a resource shared among a plurality of processors | |
US9582340B2 (en) | File lock | |
US20110276983A1 (en) | Automatic return to synchronization context for asynchronous computations | |
CN104731722B (zh) | 一种针对缓存页面的页面管理方法及装置 | |
CN104376096A (zh) | 基于缓冲区的异步更新的方法 | |
US20160161982A1 (en) | Calibrated timeout interval on a configuration value, shared timer value, and shared calibration factor | |
US9330005B2 (en) | Interface and method for inter-thread communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |