CN105760231A - 一种基于嵌入式的网络资源预览管理方法 - Google Patents
一种基于嵌入式的网络资源预览管理方法 Download PDFInfo
- Publication number
- CN105760231A CN105760231A CN201610094251.XA CN201610094251A CN105760231A CN 105760231 A CN105760231 A CN 105760231A CN 201610094251 A CN201610094251 A CN 201610094251A CN 105760231 A CN105760231 A CN 105760231A
- Authority
- CN
- China
- Prior art keywords
- thread
- internet resources
- taskid
- download
- resource
- 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.)
- Granted
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于嵌入式的网络资源预览管理方法,包括建立线程池数组,对线程池数组进行清空;当需要对一个显示页面上的网络资源进行预览,则遍历线程池数组,为线程池数组中的每个对象所对应的序号TaskID创建相应的关闭线程,以在关闭线程中实现将嵌入式系统中的Join方法运用于与该关闭线程对应的下载线程的线程标识号TheadID;为当前显示页面上的每个网络资源分配空置的对象;每当成功地为任一个网络资源分配对象后,则为该对象创建独立的下载线程,然后启动该下载线程以下载相应的资源预览信息和记录相应的线程标识号TheadID。本申请实现了快速流畅地切换至下一部分预览资源的目的。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于嵌入式的网络资源预览管理方法。
背景技术
随着数字技术与网络技术的迅猛发展,越来越多用户喜欢使用智能移动终端等携带有嵌入式系统的网络智能终端来浏览网络资源,例如,通过网络机顶盒,用户可方便地获取网络上的海量视频资源进行点播和预览图片资源。这时,能够快速高效从网络上把资源下载到设备上的技术尤为重要,因为终端设备要显示网络图片等资源,需要先把数据从网络上下载到内存里。
为了尽可能快的下载尽可能多的资源,一般可以通过建立多个下载任务,以进行多任务并行下载,某个任务下载完成,就可以预览某部分的资源。比如对于海量网络视频资源,要预览它们的简介图片,可以对每个图片资源都建立下载任务,多个任务同时下载,只要某个下载完成就可以在终端显示该图片。
然而,对于嵌入式系统而言,往往内存非常有限,不可能建立非常多的下载任务,这时一般会把网络资源分成一部分一部分地预览显示,相当于常见的一页一页显示,通过建立一定数目的下载任务对一页里面的资源进行并行下载。
那么,问题在于,当用户想快速预览下一部分资源时,相当于翻页操作,就必须等待前面部分的任务终止和资源释放,每个任务里的网络的连接和关闭都要阻塞一定时间,特别地当网络环境不好的情况下,这个等待阻塞的时间会很长,对于终端用户而言就相当于设备卡死了一段时间。
综上所述可以看出,如何实现快速流畅地切换至下一部分预览资源是目前亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于嵌入式的网络资源预览管理方法,实现了快速流畅地切换至下一部分预览资源的目的。其具体方案如下:
一种基于嵌入式的网络资源预览管理方法,包括:
步骤S11:建立线程池数组,并对所述线程池数组进行清空处理;其中,所述线程池数组包括N个对象,N为正整数;
步骤S12:当需要对一个显示页面上的网络资源进行预览,则遍历所述线程池数组,为所述线程池数组中的每个对象所对应的序号TaskID创建相应的关闭线程,以在关闭线程中实现将嵌入式系统中的Join方法运用于与该关闭线程对应的下载线程的线程标识号TheadID;其中,一个显示页面上包含M个网络资源,M为小于或等于N的正整数;
步骤S13:为当前显示页面上的每个网络资源分配空置的对象;每当成功地为任一个网络资源分配对象后,则为该对象创建独立的下载线程,然后启动该下载线程以下载相应的资源预览信息和记录相应的线程标识号TheadID。
优选的,步骤S13中,所述为当前显示页面上的每个网络资源分配空置的对象的过程,包括:
按照网络资源在显示页面上的显示顺序,依次为当前显示页面上的每个网络资源分配空置的对象。
优选的,步骤S13中,所述记录相应的线程标识号TheadID的过程,包括:
将与下载线程对应的线程标识号TheadID记录至与该下载线程对应的对象中。
优选的,与序号TaskID对应的关闭线程的工作过程包括:
获取启动关闭线程命令,传入相应的序号TaskID,获取所述线程池数组的互斥锁;
判断所述线程池数组中的第TaskID个对象是否为空,如果是,则结束,如果否,则对第TaskID个对象进行上锁;
获取第TaskID个对象中保存的线程标识号TheadID,将第TaskID个对象中的结束标记位Stop设为1;
对第TaskID个对象进行解锁,并释放所述线程池数组的互斥锁;
将嵌入式系统中的Join方法运用于从第TaskID个对象中获取到的线程标识号TheadID,直到与该线程标识号TheadID对应的下载线程完全结束并释放资源为止;然后再次获取互斥锁,将第TaskID个对象置为空,释放互斥锁,并结束;其中,释放资源包括释放相应的内存空间以及释放第TaskID个对象中存储的资源。
优选的,步骤S13中,与任一对象对应的下载线程的工作过程包括:
通过该对象中记录的参数启动下载线程,根据http协议建立网络连接,然后申请与需下载资源预览信息的大小相一致的内存空间,通过http握手,从服务器上陆续下载相应的资源预览信息并保存至内存中,并且在下载的过程中不断检测该对象中的结束标记位Stop是否为1,如果是,则直接释放相应的内存空间以及该对象中存储的资源并结束,如果否,则继续下载相应的资源预览信息直到下载完毕。
本发明中,网络资源预览管理方法,包括:建立线程池数组,并对线程池数组进行清空处理;其中,线程池数组包括N个对象,N为正整数;当需要对一个显示页面上的网络资源进行预览,则遍历线程池数组,为线程池数组中的每个对象所对应的序号TaskID创建相应的关闭线程,以在关闭线程中实现将嵌入式系统中的Join方法运用于与该关闭线程对应的下载线程的线程标识号TheadID;其中,一个显示页面上包含M个网络资源,M为小于或等于N的正整数;为当前显示页面上的每个网络资源分配空置的对象;每当成功地为任一个网络资源分配对象后,则为该对象创建独立的下载线程,然后启动该下载线程以下载相应的资源预览信息和记录相应的线程标识号TheadID。可见,本发明在下载资源预览信息之前,为每个对象对应的TaskID创建相应的关闭线程,并且在下载线程启动之后,将Join方法运用于该下载线程对应的线程标识号TheadID,从而保证预先启动的下载线程均能被后台的关闭线程所控制,从而使得资源可以被快速地回收,避免对新的下载任务造成影响,由此实现了快速流畅地切换至下一部分预览资源的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1本发明实施例公开的一种基于嵌入式的网络资源预览管理方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于嵌入式的网络资源预览管理方法,参见图1所示,该方法包括:
步骤S11:建立线程池数组,并对线程池数组进行清空处理;其中,线程池数组包括N个对象,N为正整数。
需要说明的是,由于系统中的内存空间有限,所以无法同时打开过多的线程,也即,上述N的取值不宜过大。
步骤S12:当需要对一个显示页面上的网络资源进行预览,则遍历线程池数组,为线程池数组中的每个对象所对应的序号TaskID创建相应的关闭线程,以在关闭线程中实现将嵌入式系统中的Join方法运用于与该关闭线程对应的下载线程的线程标识号TheadID;其中,一个显示页面上包含M个网络资源,M为小于或等于N的正整数。
可以理解的是,一个显示页面上通常包含多个网络资源,为了确保网络资源的预览效果,本实施例要求一个显示页面上网络资源的数目小于或等于上述线程池数组中对象的数目。
需要说明的是,上述Join方法是嵌入式操作系统中的一种系统方法,运用Join方法可以使对应的TheadID的下载线程关闭并释放线程所占有的资源为止,从而能够保证前面启动的下载线程都可以被后台的关闭线程所控制,使得资源能够得到回收。
步骤S13:为当前显示页面上的每个网络资源分配空置的对象;每当成功地为任一个网络资源分配对象后,则为该对象创建独立的下载线程,然后启动该下载线程以下载相应的资源预览信息和记录相应的线程标识号TheadID。
可以理解的是,上述步骤是针对一个显示页面上的网络资源展开的,当翻页或浏览下一部分预览资源时,只需重复上述步骤便可。
本发明实施例中,网络资源预览管理方法,包括:建立线程池数组,并对线程池数组进行清空处理;其中,线程池数组包括N个对象,N为正整数;当需要对一个显示页面上的网络资源进行预览,则遍历线程池数组,为线程池数组中的每个对象所对应的序号TaskID创建相应的关闭线程,以在关闭线程中实现将嵌入式系统中的Join方法运用于与该关闭线程对应的下载线程的线程标识号TheadID;其中,一个显示页面上包含M个网络资源,M为小于或等于N的正整数;为当前显示页面上的每个网络资源分配空置的对象;每当成功地为任一个网络资源分配对象后,则为该对象创建独立的下载线程,然后启动该下载线程以下载相应的资源预览信息和记录相应的线程标识号TheadID。
可见,本发明实施例在下载资源预览信息之前,为每个对象对应的TaskID创建相应的关闭线程,并且在下载线程启动之后,将Join方法运用于该下载线程对应的线程标识号TheadID,从而保证预先启动的下载线程均能被后台的关闭线程所控制,从而使得资源可以被快速地回收,避免对新的下载任务造成影响,由此实现了快速流畅地切换至下一部分预览资源的目的。
本发明实施例公开了一种具体的基于嵌入式的网络资源预览管理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
上一实施例步骤S13中,为当前显示页面上的每个网络资源分配空置的对象的过程,具体包括:按照网络资源在显示页面上的显示顺序,依次为当前显示页面上的每个网络资源分配空置的对象。也即,当线程池数组中存在空置的对象时,则可按照网络资源的显示顺序,依次为网络资源分配空置的对象。
可以理解的是,如果当前线程池数组中不存在任何空置的对象,这说明后台下载线程已经启动足够多了,此时无法为网络资源分配对象,可以选择继续等待,直到有空置的对象,当然,也可以选择直接确定启动失败。
另外,上一实施例步骤S13中,记录相应的线程标识号TheadID的过程,具体包括:将与下载线程对应的线程标识号TheadID记录至与该下载线程对应的对象中。
更具体的,本实施例中,与序号TaskID对应的关闭线程的工作过程包括:
步骤S201获取启动关闭线程命令,传入相应的序号TaskID,获取线程池数组的互斥锁,以保证当前只有一个地方在修改线程池数组的值;
步骤S202:判断线程池数组中的第TaskID个对象是否为空,如果是,则结束,如果否,则对第TaskID个对象进行上锁,以保证当前只有这里在修改对象里的值;
步骤S203:获取第TaskID个对象中保存的线程标识号TheadID,将第TaskID个对象中的结束标记位Stop设为1;需要说明的是,结束标记位Stop为1代表结束下载线程的唯一信号。
步骤S204:对第TaskID个对象进行解锁,并释放线程池数组的互斥锁;
步骤S205:将嵌入式系统中的Join方法运用于从第TaskID个对象中获取到的线程标识号TheadID,直到与该线程标识号TheadID对应的下载线程完全结束并释放资源为止;然后再次获取互斥锁,将第TaskID个对象置为空,释放互斥锁,并结束;其中,释放资源包括释放相应的内存空间以及释放第TaskID个对象中存储的资源。
进一步的,上一实施例步骤S13中,与任一对象对应的下载线程的工作过程具体包括:通过该对象中记录的参数启动下载线程,根据http协议建立网络连接,然后申请与需下载资源预览信息的大小相一致的内存空间,通过http握手,从服务器上陆续下载相应的资源预览信息并保存至内存中,并且在下载的过程中不断检测该对象中的结束标记位Stop是否为1,如果是,则直接释放相应的内存空间以及该对象中存储的资源并结束,如果否,则继续下载相应的资源预览信息直到下载完毕。
需要说明的是,当网络连接失败或申请内存空间失败时,可选择将下载线程挂起,并等待结束标记位变成1,进而释放相应的资源。
最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种基于嵌入式的网络资源预览管理方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种基于嵌入式的网络资源预览管理方法,其特征在于,包括:
步骤S11:建立线程池数组,并对所述线程池数组进行清空处理;其中,所述线程池数组包括N个对象,N为正整数;
步骤S12:当需要对一个显示页面上的网络资源进行预览,则遍历所述线程池数组,为所述线程池数组中的每个对象所对应的序号TaskID创建相应的关闭线程,以在关闭线程中实现将嵌入式系统中的Join方法运用于与该关闭线程对应的下载线程的线程标识号TheadID;其中,一个显示页面上包含M个网络资源,M为小于或等于N的正整数;
步骤S13:为当前显示页面上的每个网络资源分配空置的对象;每当成功地为任一个网络资源分配对象后,则为该对象创建独立的下载线程,然后启动该下载线程以下载相应的资源预览信息和记录相应的线程标识号TheadID。
2.根据权利要求1所述的基于嵌入式的网络资源预览管理方法,其特征在于,步骤S13中,所述为当前显示页面上的每个网络资源分配空置的对象的过程,包括:
按照网络资源在显示页面上的显示顺序,依次为当前显示页面上的每个网络资源分配空置的对象。
3.根据权利要求2所述的基于嵌入式的网络资源预览管理方法,其特征在于,步骤S13中,所述记录相应的线程标识号TheadID的过程,包括:
将与下载线程对应的线程标识号TheadID记录至与该下载线程对应的对象中。
4.根据权利要求3所述的基于嵌入式的网络资源预览管理方法,其特征在于,与序号TaskID对应的关闭线程的工作过程包括:
获取启动关闭线程命令,传入相应的序号TaskID,获取所述线程池数组的互斥锁;
判断所述线程池数组中的第TaskID个对象是否为空,如果是,则结束,如果否,则对第TaskID个对象进行上锁;
获取第TaskID个对象中保存的线程标识号TheadID,将第TaskID个对象中的结束标记位Stop设为1;
对第TaskID个对象进行解锁,并释放所述线程池数组的互斥锁;
将嵌入式系统中的Join方法运用于从第TaskID个对象中获取到的线程标识号TheadID,直到与该线程标识号TheadID对应的下载线程完全结束并释放资源为止;然后再次获取互斥锁,将第TaskID个对象置为空,释放互斥锁,并结束;其中,释放资源包括释放相应的内存空间以及释放第TaskID个对象中存储的资源。
5.根据权利要求4所述的基于嵌入式的网络资源预览管理方法,其特征在于,步骤S13中,与任一对象对应的下载线程的工作过程包括:
通过该对象中记录的参数启动下载线程,根据http协议建立网络连接,然后申请与需下载资源预览信息的大小相一致的内存空间,通过http握手,从服务器上陆续下载相应的资源预览信息并保存至内存中,并且在下载的过程中不断检测该对象中的结束标记位Stop是否为1,如果是,则直接释放相应的内存空间以及该对象中存储的资源并结束,如果否,则继续下载相应的资源预览信息直到下载完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610094251.XA CN105760231B (zh) | 2016-02-19 | 2016-02-19 | 一种基于嵌入式的网络资源预览管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610094251.XA CN105760231B (zh) | 2016-02-19 | 2016-02-19 | 一种基于嵌入式的网络资源预览管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105760231A true CN105760231A (zh) | 2016-07-13 |
CN105760231B CN105760231B (zh) | 2019-04-16 |
Family
ID=56329832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610094251.XA Active CN105760231B (zh) | 2016-02-19 | 2016-02-19 | 一种基于嵌入式的网络资源预览管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760231B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081650A (zh) * | 2010-12-29 | 2011-06-01 | 上海网达软件有限公司 | 嵌入式平台用户界面加速显示的方法 |
US20120254456A1 (en) * | 2011-03-31 | 2012-10-04 | Juniper Networks, Inc. | Media file storage format and adaptive delivery system |
CN104111877A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于线程调配引擎的线程资源动态调配系统和方法 |
CN104423996A (zh) * | 2013-09-04 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 视图刷新方法和装置 |
-
2016
- 2016-02-19 CN CN201610094251.XA patent/CN105760231B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081650A (zh) * | 2010-12-29 | 2011-06-01 | 上海网达软件有限公司 | 嵌入式平台用户界面加速显示的方法 |
US20120254456A1 (en) * | 2011-03-31 | 2012-10-04 | Juniper Networks, Inc. | Media file storage format and adaptive delivery system |
CN104423996A (zh) * | 2013-09-04 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 视图刷新方法和装置 |
CN104111877A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于线程调配引擎的线程资源动态调配系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105760231B (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373419A (zh) | 一种后台应用的操作方法及装置 | |
CN103164229A (zh) | 一种清理移动终端进程的方法及装置 | |
CN103631958A (zh) | 一种页面自动适配实现内容多屏展示的方法 | |
CN106445500B (zh) | 提供用户界面的方法、系统及终端设备 | |
CN104581397A (zh) | 安卓机顶盒的系统升级方法及装置 | |
CN103870303A (zh) | 减小软件安装包大小的方法及装置 | |
CN102541595A (zh) | 智能设备的升级方法、装置及智能设备 | |
CN104168309A (zh) | 基于云服务的数据备份与操作方法 | |
CN102141926A (zh) | 一种应用程序管理方法、装置以及数字电视机顶盒 | |
CN103327403A (zh) | 机顶盒升级方法、装置和系统 | |
US20160212470A1 (en) | User behavior based data population of devices | |
CN104375866A (zh) | 一种单板的驱动更新方法及装置 | |
CN101951362A (zh) | 一种oc数据的更新方法 | |
CN103488516A (zh) | 一种系统修复方法及电子设备 | |
CN104077151A (zh) | 快速启动网络应用的方法和电子设备 | |
CN103648047A (zh) | 智能电视资源搜索方法及系统 | |
CN106484755A (zh) | 异步快速加载视频缩略图的方法 | |
CN103617015A (zh) | 一种分屏显示方法、装置及智能电视 | |
CN105979384A (zh) | 一种智能电视互动功能卡片的框架管理方法和装置 | |
CN103593156A (zh) | 一种三维全景显示方法和装置 | |
CN105760231A (zh) | 一种基于嵌入式的网络资源预览管理方法 | |
CN103888809A (zh) | 一种分屏显示方法、装置及智能电视 | |
CN103269456B (zh) | 嵌入式iptv机顶盒中应用获取资源的方法及装置 | |
CN108363584A (zh) | 机顶盒桌面程序升级方法及装置 | |
CN104484212A (zh) | 外部存储文件安装和清除的方法及装置 |
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 |