CN105630556B - 一种加载资源的方法和系统 - Google Patents

一种加载资源的方法和系统 Download PDF

Info

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
Application number
CN201510994411.1A
Other languages
English (en)
Other versions
CN105630556A (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.)
Beijing Pixel Software Technology Co Ltd
Original Assignee
Beijing Pixel Software Technology 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 Beijing Pixel Software Technology Co Ltd filed Critical Beijing Pixel Software Technology Co Ltd
Priority to CN201510994411.1A priority Critical patent/CN105630556B/zh
Publication of CN105630556A publication Critical patent/CN105630556A/zh
Application granted granted Critical
Publication of CN105630556B publication Critical patent/CN105630556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing 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所述加载资源的系统,其特征在于,所述回应模块进一步用于,固定时间间隔后,无需调用所请求的资源时,则释放缓存中所请求的资源。
CN201510994411.1A 2015-12-25 2015-12-25 一种加载资源的方法和系统 Active CN105630556B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103997544B (zh) * 2014-06-12 2017-08-25 网易(杭州)网络有限公司 一种资源下载的方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
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