批量下载数据处理方法和装置.pdf

上传人:a*** 文档编号:1777421 上传时间:2018-07-12 格式:PDF 页数:21 大小:4.41MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310379099.6

申请日:

2013.08.27

公开号:

CN104426946A

公开日:

2015.03.18

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/08申请日:20130827|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

腾讯科技(深圳)有限公司

发明人:

王玉龙

地址:

518044广东省深圳市福田区振兴路赛格科技园2栋东403室

优先权:

专利代理机构:

深圳市世纪恒程知识产权代理事务所44287

代理人:

胡海国; 赵爱蓉

PDF下载: PDF下载
内容摘要

本发明公开了一种批量下载数据处理方法和装置,所述批量下载数据处理方法包括:将原始队列中的多个待下载的数据项批量添加至下载队列中;按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。本发明根据原始队列建立映射表,根据映射表中键值的顺序,排列完成队列,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。

权利要求书

权利要求书1.  一种批量下载数据处理方法,其特征在于,包括步骤:将原始队列中的多个待下载的数据项批量添加至下载队列中;按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。2.  根据权利要求1所述的批量下载数据处理方法,其特征在于,所述将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序的步骤包括:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之前第n位的键值Kj,其中,n的初始值为1;在所述完成队列中查找键值Kj对应的已下载的数据项Tj;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。3.  根据权利要求2所述的批量下载数据处理方法,其特征在于,所述在完成队列中查找键值Kj对应的已下载的数据项Tj的步骤之后还包括:当所述完成队列中不存在所述键值Kj对应的已下载的数据项Tj时,在所述映射表中查询排列于键值Ki之前第n+1位的键值Kg;在所述完成队列中查找键值Kg对应的已下载的数据项Tg;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。4.  根据权利要求2所述的批量下载数据处理方法,其特征在于,所述确定已下载的数据项Ti对应的键值Ki的步骤之后还包括:当键值Kj在所述映射表中的位置为首位时,直接将已下载的数据项Ti 从所述下载队列中转移至完成队列的首位。5.  根据权利要求1所述的批量下载数据处理方法,其特征在于,所述将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序的步骤包括:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之后第m位的键值Kj’,其中,m的初始值为1;在所述完成队列中查找键值Kj’对应的已下载的数据项Tj’;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj’之前。6.  根据权利要求5所述的批量下载数据处理方法,其特征在于,所述在完成队列中查找键值Kj’对应的已下载的数据项Tj’的步骤之后还包括:当所述完成队列中不存在所述键值Kj’对应的已下载的数据项Tj’时,在所述映射表中查询排列于键值Ki之后第m+1位的键值Kg’;在所述完成队列中查找键值Kg’对应的已下载的数据项Tg’;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tg’之前。7.  根据权利要求5所述的批量下载数据处理方法,其特征在于,所述确定已下载的数据项Ti对应的键值Ki的步骤之后还包括:当键值Kj在所述映射表中的位置为末位时,直接将已下载的数据项Ti从所述下载队列中转移至完成队列的末位。8.  一种批量下载数据处理装置,其特征在于,包括:批量下载模块,用于将原始队列中的多个待下载的数据项批量添加至下载队列中;键值映射模块,用于按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;排序模块,用于将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。9.  根据权利要求8所述的批量下载数据处理装置,其特征在于,所述排序模块用于:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之前第n位的键值Kj,其中,n的初始值为1;在所述完成队列中查找键值Kj对应的已下载的数据项Tj;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。10.  根据权利要求9所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当所述完成队列中不存在所述键值Kj对应的已下载的数据项Tj时,在所述映射表中查询排列于键值Ki之前第n+1位的键值Kg;在所述完成队列中查找键值Kg对应的已下载的数据项Tg;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。11.  根据权利要求9所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当键值Kj在所述映射表中的位置为首位时,直接将已下载的数据项Ti从所述下载队列中转移至完成队列的首位。12.  根据权利要求8所述的批量下载数据处理装置,其特征在于,所述排序模块用于:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之后第m位的键值Kj’,其中,m的 初始值为1;在所述完成队列中查找键值Kj’对应的已下载的数据项Tj’;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj’之前。13.  根据权利要求12所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当所述完成队列中不存在所述键值Kj’对应的已下载的数据项Tj’时,在所述映射表中查询排列于键值Ki之后第m+1位的键值Kg’;在所述完成队列中查找键值Kg’对应的已下载的数据项Tg’;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tg’之前。14.  根据权利要求12所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当键值Kj在所述映射表中的位置为末位时,直接将已下载的数据项Ti从所述下载队列中转移至完成队列的末位。

说明书

说明书批量下载数据处理方法和装置
技术领域
本发明涉及到数据处理技术领域,特别涉及到批量下载数据处理方法和装置。
背景技术
手机、PAD、电脑、网络电视等智能终端通过网络下载文档、应用等数据时,可通过以下两种方式。一种是提供单个下载方式,这种方式在下载多个数据时,需要用户一个一个的点击下载,频繁的单个下载操作无疑会给用户带来麻烦。另一种是提供批量下载方式,批量下载可一次性将多个数据或整个队列的每一项数据都添加到下载队列中,能满足用户想要同时下载多个数据或整个队列数据的需求,但是,在批量下载过程中,当用户人为的改变下了载顺序时,下载完成后的队列顺序与原队列的顺序可能存在差异,不便于用户定位原数据,特别是对于一些有规律的数据,则破坏了原数据队列的有序性。
发明内容
本发明实施例提供一种批量下载数据处理方法和装置,能够保证批量下载的有序性。
本发明实施例提出一种批量下载数据处理方法,包括步骤:
将原始队列中的多个待下载的数据项批量添加至下载队列中;
按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;
将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。
本发明实施例还提出一种批量下载数据处理装置,包括:
批量下载模块,用于将原始队列中的多个待下载的数据项批量添加至下载队列中;
键值映射模块,用于按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;
排序模块,用于将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。
本发明实施例根据原始队列中待下载数据项的顺序,建立映射表,映射表中存储的键值与待下载数据项一一对应,且顺序一致,在将已下载数据项从下载队列转移至完成队列时,根据已下载数据项对应的键值在映射表中的顺序,排列完成队列中已下载数据项的顺序,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。
附图说明
图1为本发明批量下载数据处理方法的第一实施例的流程图;
图2为本发明批量下载数据处理方法的第二实施例的流程图;
图3为本发明批量下载数据处理方法的第三实施例的流程图;
图4为本发明批量下载数据处理方法的第四实施例的流程图;
图5为本发明批量下载数据处理方法的第五实施例的流程图;
图6为本发明批量下载数据处理方法的第六实施例的流程图;
图7为本发明批量下载数据处理方法的第七实施例的流程图;
图8为本发明实施例中批量下载数据处理装置的结构示意图;
图9为本发明实施例中批量下载数据处理的总体的队列示意图;
图10为本发明实施例中批量下载数据处理的第一实施方案的队列示意图;
图11为本发明实施例中批量下载数据处理的第二实施方案的队列示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1为本发明批量下载数据处理方法的第一实施例的流程图。请一并参照图9,本实施例提到的批量下载数据处理方法,包括:
步骤S10,将原始队列中的多个待下载的数据项批量添加至下载队列中;
本实施例中,在网络服务器上存储有多个数据项,这些数据项根据特定的规则排序,例如,根据更新时间先后顺序、数据项名称的首字母顺序、数据项大小等方式来排序数据项,形成原始队列。智能终端通过网络连接到服务器上,用户通过智能终端浏览原始队列,并选择需要下载的数据项。当用户选中了多个数据项批量下载时,智能终端将选中的待下载数据项批量添加至下载队列中,添加的待下载数据项可以是整个原始列表的数据项或原始列表中的部分数据项。
待下载数据项添加后,用户可以手动调整下载队列中待下载数据项的下载顺序,例如,暂停某个数据项,或设置某个数据项的下载级别为高优先级,或限制某些数据项的下载速度,避免占用其他数据项的网速。此外,智能终端对下载队列中的待下载数据项也可以不是同时下载,可根据当前的网速状况,对待下载数据项的下载顺序进行自动调整,例如,对于下载速度快的数据项,智能终端将其调整为优先下载,对于下载速度慢的数据项,智能终端暂停下载,避免占用其他数据项的网速,待高优先级的数据项下载完成后,再重新继续下载。
步骤S20,按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;
由于下载队列中数据项下载的先后顺序可调,为了避免下载完成后的队列中数据项的顺序与原始队列中数据项的顺序不一致,本实施例在待下载数据项添加到下载队列的同时,还根据待下载的数据项在原始队列中的顺序建立映射表,该映射表中存储有各待下载的数据项对应的键值。键值可根据待下载数据项的标识符来确定,一个键值与一个数据项一一对应。智能终端在 映射表中存储键值时,按照各待下载的数据项在原始队列中的顺序,排列各键值在映射表中的顺序,映射表中与数据项对应的键值的顺序与原始队列中数据项的顺序一致。
步骤S30,将已下载的数据项从下载队列中转移至完成队列中,并按照映射表中键值的顺序,排列已下载的数据项在完成队列中的顺序。
下载队列中的数据项下载完成后,智能终端将其从下载队列中移除,并添加到完成队列中,此时,为了确保下载完成的数据项的顺序与原始队列的数据项的顺序一致,移动终端根据已下载的数据项,在映射表中查找对应的键值,并根据键值在映射表中的顺序,来排列已下载数据项在完成队列中的顺序。由于映射表中键值的顺序是按照原始队列中数据项的顺序进行排列的,因此,此时在完成队列中的数据项的顺序也与原始队列中数据项的顺序一致,有效保证了下载前后数据项的顺序性。
本实施例根据原始队列中待下载数据项的顺序,建立映射表,映射表中存储的键值与待下载数据项一一对应,且顺序一致,在将已下载数据项从下载队列转移至完成队列时,根据已下载数据项对应的键值在映射表中的顺序,排列完成队列中已下载数据项的顺序,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。
如图2所示,图2为本发明批量下载数据处理方法的第二实施例的流程图。本实施例以图1所示实施例为基础,对排序完成队列的步骤的第一实施方案详细描述,请一并参照图10,其中,步骤S30包括:
步骤S311,确定已下载的数据项Ti对应的键值Ki;
步骤S312,在映射表中查询排列于键值Ki之前第n位的键值Kj;
步骤S313,在完成队列中查找键值Kj对应的已下载的数据项Tj;
步骤S314,将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。
本实施例中,n的初始值为1,即从映射表中排列于键值Ki之前一位的键值开始查询。获取到键值Kj后,在完成队列中查找是否有键值Kj对应的数据项Tj,由于在映射表中Kj和Ki之间的先后顺序与原始队列中Tj和Ti的先后顺序一致,因此,在将完成队列中的数据项顺序还原时,根据Kj和 Ki的先后顺序,将已下载的数据项Ti排列在已下载的数据项Tj之后,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,本实施例尤其适用于在下载队列中顺序下载的数据项,先下载的数据项排列在前端,在完成队列中查找键值对应的数据项时更加快捷,进一步提高了已下载数据项的排序效率。
如图3所示,图3为本发明批量下载数据处理方法的第三实施例的流程图。本实施例以图2所示实施例为基础,在步骤S313之后还包括:
步骤S315,当完成队列中不存在键值Kj对应的已下载的数据项Tj时,在映射表中查询排列于键值Ki之前第n+1位的键值Kg;
步骤S316,在完成队列中查找键值Kg对应的已下载的数据项Tg;
步骤S317,将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。
本实施例中,当键值Kj对应的数据项Tj还没有完成下载时,在完成队列中不能找到数据项Tj,此时,可以从映射表中查询排列于键值Ki之前两位的键值,如果在完成队列中仍然未找到Kg对应的数据项Tg,则从映射表中查询排列于键值Ki之前三位的键值,以此类推,直至在完成队列中找到键值与Ki排列最近的数据项,并将Ti插入到找到的数据项之后,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,如果遍历映射表中排列于键值Ki之前的所有键值,在完成队列都没有找到对应的数据项,则说明排列于数据项Ti之前的数据项均未完成下载,此时可直接将数据项Ti排列于完成队列的首位,在其他在前数据项到达时,再向后移位。
如图4所示,图4为本发明批量下载数据处理方法的第四实施例的流程图。本实施例以图2所示实施例为基础,在步骤S311之后还包括:
步骤S318,当键值Kj在映射表中的位置为首位时,直接将已下载的数据项Ti从下载队列中转移至完成队列的首位。
本实施例对于映射表首位的键值,在其前端没有多余的键值,不适用上述实施例中的查找方式,此时,为了缩短查找时间,提高查找效率,在查找 键值前,先判断该键值Ki是否位于映射表首位,对于位于首位的键值,其对应的数据项在原始队列中也位于首位,则在完成队列中,可直接将数据项Ti排列于完成队列的首位,减少了查找过程,缩短了排序时间,进一步提高了已下载数据项的排序效率。
如图5所示,图5为本发明批量下载数据处理方法的第五实施例的流程图。本实施例以图1所示实施例为基础,对排序完成队列的步骤的第二实施方案详细描述,请一并参照图11,其中,步骤S30包括:
步骤S321,确定已下载的数据项Ti对应的键值Ki;
步骤S322,在映射表中查询排列于键值Ki之后第m位的键值Kj’;
步骤S323,在完成队列中查找键值Kj’对应的已下载的数据项Tj’;
步骤S324,将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tj’之前。
本实施例中,m的初始值为1,即从映射表中排列于键值Ki之后一位的键值开始查询。获取到键值Kj’后,在完成队列中查找是否有键值Kj’对应的数据项Tj’,由于在映射表中Kj’和Ki之间的先后顺序与原始队列中Tj和Ti的先后顺序一致,因此,在将完成队列中的数据项顺序还原时,根据Kj’和Ki的先后顺序,将已下载的数据项Ti排列在已下载的数据项Tj’之前,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,本实施例尤其适用于在下载队列中逆序下载的数据项,先下载的数据项排列在后端,在完成队列中查找键值对应的数据项时更加快捷,进一步提高了已下载数据项的排序效率。
如图6所示,图6为本发明批量下载数据处理方法的第六实施例的流程图。本实施例以图5所示实施例为基础,在步骤S323之后还包括:
步骤S325,当完成队列中不存在键值Kj’对应的已下载的数据项Tj’时,在映射表中查询排列于键值Ki之后第m+1位的键值Kg’;
步骤S326,在完成队列中查找键值Kg’对应的已下载的数据项Tg’;
步骤S327,将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tg’之前。
本实施例中,当键值Kj’对应的数据项Tj’还没有完成下载时,在完成队列中不能找到数据项Tj’,此时,可以从映射表中查询排列于键值Ki之后两位的键值,如果在完成队列中仍然未找到Kg’对应的数据项Tg’,则从映射表中查询排列于键值Ki之后三位的键值,以此类推,直至在完成队列中找到键值与Ki排列最近的数据项,并将Ti插入到找到的数据项之前,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,如果遍历映射表中排列于键值Ki之后的所有键值,在完成队列都没有找到对应的数据项,则说明排列于数据项Ti之后的数据项均未完成下载,此时可直接将数据项Ti排列于完成队列的末位,在其他在前数据项到达时,再向前移位。
如图7所示,图7为本发明批量下载数据处理方法的第七实施例的流程图。本实施例以图5所示实施例为基础,在步骤S321之后还包括:
步骤S328,当键值Kj在映射表中的位置为末位时,直接将已下载的数据项Ti从下载队列中转移至完成队列的末位。
本实施例对于映射表末位的键值,在其后端没有多余的键值,不适用上述实施例中的查找方式,此时,为了缩短查找时间,提高查找效率,在查找键值前,先判断该键值Ki是否位于映射表末位,对于位于末位的键值,其对应的数据项在原始队列中也位于末位,则在完成队列中,可直接将数据项Ti排列于完成队列的末位,减少了查找过程,缩短了排序时间,进一步提高了已下载数据项的排序效率。
如图8所示,图8为本发明实施例中批量下载数据处理装置的结构示意图。请一并参照图9,本发明实施例提到的批量下载数据处理装置,包括:
批量下载模块10,用于将原始队列中的多个待下载的数据项批量添加至下载队列中;
键值映射模块20,用于按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;
排序模块30,用于将已下载的数据项从下载队列中转移至完成队列中,并按照映射表中键值的顺序,排列已下载的数据项在完成队列中的顺序。
本实施例中,在网络服务器上存储有多个数据项,这些数据项根据特定的规则排序,例如,根据更新时间先后顺序、数据项名称的首字母顺序、数据项大小等方式来排序数据项,形成原始队列。智能终端通过网络连接到服务器上,用户通过智能终端浏览原始队列,并选择需要下载的数据项。当用户选中了多个数据项批量下载时,智能终端将选中的待下载数据项批量添加至下载队列中,添加的待下载数据项可以是整个原始列表的数据项或原始列表中的部分数据项。
待下载数据项添加后,用户可以手动调整下载队列中待下载数据项的下载顺序,例如,暂停某个数据项,或设置某个数据项的下载级别为高优先级,或限制某些数据项的下载速度,避免占用其他数据项的网速。此外,智能终端对下载队列中的待下载数据项也可以不是同时下载,可根据当前的网速状况,对待下载数据项的下载顺序进行自动调整,例如,对于下载速度快的数据项,智能终端将其调整为优先下载,对于下载速度慢的数据项,智能终端暂停下载,避免占用其他数据项的网速,待高优先级的数据项下载完成后,再重新继续下载。
由于下载队列中数据项下载的先后顺序可调,为了避免下载完成后的队列中数据项的顺序与原始队列中数据项的顺序不一致,本实施例在待下载数据项添加到下载队列的同时,还根据待下载的数据项在原始队列中的顺序建立映射表,该映射表中存储有各待下载的数据项对应的键值。键值可根据待下载数据项的标识符来确定,一个键值与一个数据项一一对应。智能终端在映射表中存储键值时,按照各待下载的数据项在原始队列中的顺序,排列各键值在映射表中的顺序,映射表中与数据项对应的键值的顺序与原始队列中数据项的顺序一致。
下载队列中的数据项下载完成后,智能终端将其从下载队列中移除,并添加到完成队列中,此时,为了确保下载完成的数据项的顺序与原始队列的数据项的顺序一致,移动终端根据已下载的数据项,在映射表中查找对应的键值,并根据键值在映射表中的顺序,来排列已下载数据项在完成队列中的顺序。由于映射表中键值的顺序是按照原始队列中数据项的顺序进行排列的,因此,此时在完成队列中的数据项的顺序也与原始队列中数据项的顺序一致,有效保证了下载前后数据项的顺序性。
本实施例根据原始队列中待下载数据项的顺序,建立映射表,映射表中存储的键值与待下载数据项一一对应,且顺序一致,在将已下载数据项从下载队列转移至完成队列时,根据已下载数据项对应的键值在映射表中的顺序,排列完成队列中已下载数据项的顺序,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。
请一并参照图10,在排序完成队列的第一实施方案中, 排序模块30用于:
确定已下载的数据项Ti对应的键值Ki;
在映射表中查询排列于键值Ki之前第n位的键值Kj,其中,n的初始值为1;
在完成队列中查找键值Kj对应的已下载的数据项Tj;
将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。
本实施例中,n的初始值为1,即从映射表中排列于键值Ki之前一位的键值开始查询。获取到键值Kj后,在完成队列中查找是否有键值Kj对应的数据项Tj,由于在映射表中Kj和Ki之间的先后顺序与原始队列中Tj和Ti的先后顺序一致,因此,在将完成队列中的数据项顺序还原时,根据Kj和Ki的先后顺序,将已下载的数据项Ti排列在已下载的数据项Tj之后,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,本实施例尤其适用于在下载队列中顺序下载的数据项,先下载的数据项排列在前端,在完成队列中查找键值对应的数据项时更加快捷,进一步提高了已下载数据项的排序效率。
进一步的,排序模块30还用于:
当完成队列中不存在键值Kj对应的已下载的数据项Tj时,在映射表中查询排列于键值Ki之前第n+1位的键值Kg;
在完成队列中查找键值Kg对应的已下载的数据项Tg;
将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。
本实施例中,当键值Kj对应的数据项Tj还没有完成下载时,在完成队列中不能找到数据项Tj,此时,可以从映射表中查询排列于键值Ki之前两位的键值,如果在完成队列中仍然未找到Kg对应的数据项Tg,则从映射表中查询排列于键值Ki之前三位的键值,以此类推,直至在完成队列中找到键值与Ki排列最近的数据项,并将Ti插入到找到的数据项之后,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,如果遍历映射表中排列于键值Ki之前的所有键值,在完成队列都没有找到对应的数据项,则说明排列于数据项Ti之前的数据项均未完成下载,此时可直接将数据项Ti排列于完成队列的首位,在其他在前数据项到达时,再向后移位。
进一步的,排序模块30还用于:
当键值Kj在映射表中的位置为首位时,直接将已下载的数据项Ti从下载队列中转移至完成队列的首位。
本实施例对于映射表首位的键值,在其前端没有多余的键值,不适用上述实施例中的查找方式,此时,为了缩短查找时间,提高查找效率,在查找键值前,先判断该键值Ki是否位于映射表首位,对于位于首位的键值,其对应的数据项在原始队列中也位于首位,则在完成队列中,可直接将数据项Ti排列于完成队列的首位,减少了查找过程,缩短了排序时间,进一步提高了已下载数据项的排序效率。
请一并参照图11,在排序完成队列的第二实施方案中,排序模块30用于:
确定已下载的数据项Ti对应的键值Ki;
在映射表中查询排列于键值Ki之后第m位的键值Kj’,其中,m的初始值为1;
在完成队列中查找键值Kj’对应的已下载的数据项Tj’;
将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tj’之前。
本实施例中,m的初始值为1,即从映射表中排列于键值Ki之后一位的键值开始查询。获取到键值Kj’后,在完成队列中查找是否有键值Kj’对应的 数据项Tj’,由于在映射表中Kj’和Ki之间的先后顺序与原始队列中Tj和Ti的先后顺序一致,因此,在将完成队列中的数据项顺序还原时,根据Kj’和Ki的先后顺序,将已下载的数据项Ti排列在已下载的数据项Tj’之前,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,本实施例尤其适用于在下载队列中逆序下载的数据项,先下载的数据项排列在后端,在完成队列中查找键值对应的数据项时更加快捷,进一步提高了已下载数据项的排序效率。
进一步的,排序模块30还用于:
当完成队列中不存在键值Kj’对应的已下载的数据项Tj’时,在映射表中查询排列于键值Ki之后第m+1位的键值Kg’;
在完成队列中查找键值Kg’对应的已下载的数据项Tg’;
将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tg’之前。
本实施例中,当键值Kj’对应的数据项Tj’还没有完成下载时,在完成队列中不能找到数据项Tj’,此时,可以从映射表中查询排列于键值Ki之后两位的键值,如果在完成队列中仍然未找到Kg’对应的数据项Tg’,则从映射表中查询排列于键值Ki之后三位的键值,以此类推,直至在完成队列中找到键值与Ki排列最近的数据项,并将Ti插入到找到的数据项之前,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,如果遍历映射表中排列于键值Ki之后的所有键值,在完成队列都没有找到对应的数据项,则说明排列于数据项Ti之后的数据项均未完成下载,此时可直接将数据项Ti排列于完成队列的末位,在其他在前数据项到达时,再向前移位。
进一步的,排序模块30还用于:
当键值Kj在映射表中的位置为末位时,直接将已下载的数据项Ti从下载队列中转移至完成队列的末位。
本实施例对于映射表末位的键值,在其后端没有多余的键值,不适用上述实施例中的查找方式,此时,为了缩短查找时间,提高查找效率,在查找 键值前,先判断该键值Ki是否位于映射表末位,对于位于末位的键值,其对应的数据项在原始队列中也位于末位,则在完成队列中,可直接将数据项Ti排列于完成队列的末位,减少了查找过程,缩短了排序时间,进一步提高了已下载数据项的排序效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。具体地,图8所述的批量下载数据处理装置所对应的程序指令可以存储在手机、平板电脑等智能终端的可读存储介质中,并被其中的至少一个处理器执行,以实现图1至图7所述的批量下载数据处理方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

批量下载数据处理方法和装置.pdf_第1页
第1页 / 共21页
批量下载数据处理方法和装置.pdf_第2页
第2页 / 共21页
批量下载数据处理方法和装置.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《批量下载数据处理方法和装置.pdf》由会员分享,可在线阅读,更多相关《批量下载数据处理方法和装置.pdf(21页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201310379099.6(22)申请日 2013.08.27H04L 29/08(2006.01)(71)申请人腾讯科技(深圳)有限公司地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室(72)发明人王玉龙(74)专利代理机构深圳市世纪恒程知识产权代理事务所 44287代理人胡海国 赵爱蓉(54) 发明名称批量下载数据处理方法和装置(57) 摘要本发明公开了一种批量下载数据处理方法和装置,所述批量下载数据处理方法包括:将原始队列中的多个待下载的数据项批量添加至下载队列中;按照各待下载的数据项在原始队列中的顺序,将各待。

2、下载的数据项对应的键值存储于映射表中;将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。本发明根据原始队列建立映射表,根据映射表中键值的顺序,排列完成队列,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书8页 附图9页(10)申请公布号 CN 104426946 A(43)申请公布日 2015.03.18CN 104426946 A1/3页21.一种批量下载数据处理方法,其特征在于,包括步。

3、骤:将原始队列中的多个待下载的数据项批量添加至下载队列中;按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。2.根据权利要求1所述的批量下载数据处理方法,其特征在于,所述将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序的步骤包括:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之前第n位的键值Kj,其中,n的初始值为1;在所述完成队列中查找键值Kj。

4、对应的已下载的数据项Tj;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。3.根据权利要求2所述的批量下载数据处理方法,其特征在于,所述在完成队列中查找键值Kj对应的已下载的数据项Tj的步骤之后还包括:当所述完成队列中不存在所述键值Kj对应的已下载的数据项Tj时,在所述映射表中查询排列于键值Ki之前第n+1位的键值Kg;在所述完成队列中查找键值Kg对应的已下载的数据项Tg;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。4.根据权利要求2所述的批量下载数据处理方法,其特征在于,所述确定已下载的数据项Ti对应的键值Ki的。

5、步骤之后还包括:当键值Kj在所述映射表中的位置为首位时,直接将已下载的数据项Ti从所述下载队列中转移至完成队列的首位。5.根据权利要求1所述的批量下载数据处理方法,其特征在于,所述将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序的步骤包括:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之后第m位的键值Kj,其中,m的初始值为1;在所述完成队列中查找键值Kj对应的已下载的数据项Tj;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj之前。6.根据权利要求5所述的批量下载数。

6、据处理方法,其特征在于,所述在完成队列中查找键值Kj对应的已下载的数据项Tj的步骤之后还包括:当所述完成队列中不存在所述键值Kj对应的已下载的数据项Tj时,在所述映射表中查询排列于键值Ki之后第m+1位的键值Kg;在所述完成队列中查找键值Kg对应的已下载的数据项Tg;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据权 利 要 求 书CN 104426946 A2/3页3项Tg之前。7.根据权利要求5所述的批量下载数据处理方法,其特征在于,所述确定已下载的数据项Ti对应的键值Ki的步骤之后还包括:当键值Kj在所述映射表中的位置为末位时,直接将已下载的数据项Ti从所述下载。

7、队列中转移至完成队列的末位。8.一种批量下载数据处理装置,其特征在于,包括:批量下载模块,用于将原始队列中的多个待下载的数据项批量添加至下载队列中;键值映射模块,用于按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;排序模块,用于将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。9.根据权利要求8所述的批量下载数据处理装置,其特征在于,所述排序模块用于:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之前第n位的键值Kj,其中,n的初始值为1;在所述完成队列中查找键值。

8、Kj对应的已下载的数据项Tj;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。10.根据权利要求9所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当所述完成队列中不存在所述键值Kj对应的已下载的数据项Tj时,在所述映射表中查询排列于键值Ki之前第n+1位的键值Kg;在所述完成队列中查找键值Kg对应的已下载的数据项Tg;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。11.根据权利要求9所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当键值Kj在所述映射表中的位置为首位时,直接将已下载的数据项Ti。

9、从所述下载队列中转移至完成队列的首位。12.根据权利要求8所述的批量下载数据处理装置,其特征在于,所述排序模块用于:确定已下载的数据项Ti对应的键值Ki;在所述映射表中查询排列于键值Ki之后第m位的键值Kj,其中,m的初始值为1;在所述完成队列中查找键值Kj对应的已下载的数据项Tj;将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tj之前。13.根据权利要求12所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当所述完成队列中不存在所述键值Kj对应的已下载的数据项Tj时,在所述映射表中查询排列于键值Ki之后第m+1位的键值Kg;在所述完成队列中查找键值Kg。

10、对应的已下载的数据项Tg;权 利 要 求 书CN 104426946 A3/3页4将已下载的数据项Ti从所述下载队列中转移至完成队列中,并排列在已下载的数据项Tg之前。14.根据权利要求12所述的批量下载数据处理装置,其特征在于,所述排序模块还用于:当键值Kj在所述映射表中的位置为末位时,直接将已下载的数据项Ti从所述下载队列中转移至完成队列的末位。权 利 要 求 书CN 104426946 A1/8页5批量下载数据处理方法和装置技术领域0001 本发明涉及到数据处理技术领域,特别涉及到批量下载数据处理方法和装置。背景技术0002 手机、PAD、电脑、网络电视等智能终端通过网络下载文档、应用等。

11、数据时,可通过以下两种方式。一种是提供单个下载方式,这种方式在下载多个数据时,需要用户一个一个的点击下载,频繁的单个下载操作无疑会给用户带来麻烦。另一种是提供批量下载方式,批量下载可一次性将多个数据或整个队列的每一项数据都添加到下载队列中,能满足用户想要同时下载多个数据或整个队列数据的需求,但是,在批量下载过程中,当用户人为的改变下了载顺序时,下载完成后的队列顺序与原队列的顺序可能存在差异,不便于用户定位原数据,特别是对于一些有规律的数据,则破坏了原数据队列的有序性。发明内容0003 本发明实施例提供一种批量下载数据处理方法和装置,能够保证批量下载的有序性。0004 本发明实施例提出一种批量下。

12、载数据处理方法,包括步骤:0005 将原始队列中的多个待下载的数据项批量添加至下载队列中;0006 按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;0007 将已下载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。0008 本发明实施例还提出一种批量下载数据处理装置,包括:0009 批量下载模块,用于将原始队列中的多个待下载的数据项批量添加至下载队列中;0010 键值映射模块,用于按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;0011 排序模块,用于将已下。

13、载的数据项从所述下载队列中转移至完成队列中,并按照所述映射表中键值的顺序,排列已下载的数据项在所述完成队列中的顺序。0012 本发明实施例根据原始队列中待下载数据项的顺序,建立映射表,映射表中存储的键值与待下载数据项一一对应,且顺序一致,在将已下载数据项从下载队列转移至完成队列时,根据已下载数据项对应的键值在映射表中的顺序,排列完成队列中已下载数据项的顺序,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。附图说明0013 图1为本发明批量下载数据处理方法的第一实施例的流程图;说 明 书CN 104426946 A2/8页60014 图2为本发明批量下载数据处。

14、理方法的第二实施例的流程图;0015 图3为本发明批量下载数据处理方法的第三实施例的流程图;0016 图4为本发明批量下载数据处理方法的第四实施例的流程图;0017 图5为本发明批量下载数据处理方法的第五实施例的流程图;0018 图6为本发明批量下载数据处理方法的第六实施例的流程图;0019 图7为本发明批量下载数据处理方法的第七实施例的流程图;0020 图8为本发明实施例中批量下载数据处理装置的结构示意图;0021 图9为本发明实施例中批量下载数据处理的总体的队列示意图;0022 图10为本发明实施例中批量下载数据处理的第一实施方案的队列示意图;0023 图11为本发明实施例中批量下载数据处。

15、理的第二实施方案的队列示意图。0024 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具 体实施方式0025 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0026 如图1所示,图1为本发明批量下载数据处理方法的第一实施例的流程图。请一并参照图9,本实施例提到的批量下载数据处理方法,包括:0027 步骤S10,将原始队列中的多个待下载的数据项批量添加至下载队列中;0028 本实施例中,在网络服务器上存储有多个数据项,这些数据项根据特定的规则排序,例如,根据更新时间先后顺序、数据项名称的首字母顺序、数据项大小等方式来排序数据项,形成原始队列。智能终。

16、端通过网络连接到服务器上,用户通过智能终端浏览原始队列,并选择需要下载的数据项。当用户选中了多个数据项批量下载时,智能终端将选中的待下载数据项批量添加至下载队列中,添加的待下载数据项可以是整个原始列表的数据项或原始列表中的部分数据项。0029 待下载数据项添加后,用户可以手动调整下载队列中待下载数据项的下载顺序,例如,暂停某个数据项,或设置某个数据项的下载级别为高优先级,或限制某些数据项的下载速度,避免占用其他数据项的网速。此外,智能终端对下载队列中的待下载数据项也可以不是同时下载,可根据当前的网速状况,对待下载数据项的下载顺序进行自动调整,例如,对于下载速度快的数据项,智能终端将其调整为优先。

17、下载,对于下载速度慢的数据项,智能终端暂停下载,避免占用其他数据项的网速,待高优先级的数据项下载完成后,再重新继续下载。0030 步骤S20,按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;0031 由于下载队列中数据项下载的先后顺序可调,为了避免下载完成后的队列中数据项的顺序与原始队列中数据项的顺序不一致,本实施例在待下载数据项添加到下载队列的同时,还根据待下载的数据项在原始队列中的顺序建立映射表,该映射表中存储有各待下载的数据项对应的键值。键值可根据待下载数据项的标识符来确定,一个键值与一个数据项一一对应。智能终端在映射表中存储键值时,按照各待下载的数据。

18、项在原始队列中的顺序,排列各键值在映射表中的顺序,映射表中与数据项对应的键值的顺序与原始队列中数据项的顺序一致。说 明 书CN 104426946 A3/8页70032 步骤S30,将已下载的数据项从下载队列中转移至完成队列中,并按照映射表中键值的顺序,排列已下载的数据项在完成队列中的顺序。0033 下载队列中的数据项下载完成后,智能终端将其从下载队列中移除,并添加到完成队列中,此时,为了确保下载完成的数据项的顺序与原始队列的数据项的顺序一致,移动终端根据已下载的数据项,在映射表中查找对应的键值,并根据键值在映射表中的顺序,来排列已下载数据项在完成队列中的顺序。由于映射表中键值的顺序是按照原始。

19、队列中数据项的顺序进行排列的,因此,此时在完成队列中的数据项的顺序也与原始队列中数据项的顺序一致,有效保证了下载前后数据项的顺序性。0034 本实施例根据原始队列中待下载数据项的顺序,建立映射表,映射表中存储的键值与待下载数据项一一对应,且顺序一致,在将已下载数据项从下载队列转移至完成队列时,根据已下载数据项对应的键值在映射表中的顺序,排列完成队列中已下载数据项的顺序,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。0035 如图2所示,图2为本发明批量下载数据处理方法的第二实施例的流程图。本实施例以图1所示实施例为基础,对排序完成队列的步骤的第一实施方案详。

20、细描述,请一并参照图10,其中,步骤S30包括:0036 步骤S311,确定已下载的数据项Ti对应的键值Ki;0037 步骤S312,在映射表中查询排列于键值Ki之前第n位的键值Kj;0038 步骤S313,在完成队列中查找键值Kj对应的已下载的数据项Tj;0039 步骤S314,将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。0040 本实施例中,n的初始值为1,即从映射表中排列于键值Ki之前一位的键值开始查询。获取到键值Kj后,在完成队列中查找是否有键值Kj对应的数据项Tj,由于在映射表中Kj和Ki之间的先后顺序与原始队列中Tj和Ti的先后顺序一致,因此,。

21、在将完成队列中的数据项顺序还原时,根据Kj和Ki的先后顺序,将已下载的数据项Ti排列在已下载的数据项Tj之后,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,本实施例尤其适用于在下载队列中顺序下载的数据项,先下载的数据项排列在前端,在完成队列中查找键值对应的数据项时更加快捷,进一步提高了已下载数据项的排序效率。0041 如图3所示,图3为本发明批量下载数据处理方法的第三实施例的流程图。本实施例以图2所示实施例为基础,在步骤S313之后还包括:0042 步骤S315,当完成队列中不存在键值Kj对应的已下载的数据项Tj时,在映射表中查询排列于键值Ki之前第。

22、n+1位的键值Kg;0043 步骤S316,在完成队列中查找键值Kg对应的已下载的数据项Tg;0044 步骤S317,将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。0045 本实施例中,当键值Kj对应的数据项Tj还没有完成下载时,在完成队列中不能找到数据项Tj,此时,可以从映射表中查询排列于键值Ki之前两位的键值,如果在完成队列中仍然未找到Kg对应的数据项Tg,则从映射表中查询排列于键值Ki之前三位的键值,以此说 明 书CN 104426946 A4/8页8类推,直至在完成队列中找到键值与Ki排列最近的数据项,并将Ti插入到找到的数据项之后,使完成队列中数据。

23、项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,如果遍历映射表中排列于键值Ki之前的所有键值,在完成队列都没有找到对应的数据项,则说明排列于数据项Ti之前的数据项均未完成下载,此时可直接将数据项Ti排列于完成队列的首位,在其他在前数据项到达时,再向后移位。0046 如图4所示,图4为本发明批量下载数据处理方法的第四实施例的流程图。本实施例以图2所示实施例为基础,在步骤S311之后还包括:0047 步骤S318,当键值Kj在映射表中的位置为首位时,直接将已下载的数据项Ti从下载队列中转移至完成队列的首位。0048 本实施例对于映射表首位的键值,在其前端没有多余的键值,不。

24、适用上述实施例中的查找方式,此时,为了缩短查找时间,提高查找效率,在查找键值前,先判断该键值Ki是否位于映射表首位,对于位于首位的键值,其对应的数据项在原始队列中也位于首位,则在完成队列中,可直接将数据项Ti排列于完成队列的首位,减少了查找过程,缩短了排序时间,进一步提高了已下载数据项的排序效率。0049 如图5所示,图5为本发明批量下载数据处理方法的第五实施例的流程图。本实施例以图1所示实施例为基础,对排序完成队列的步骤的第二实施方案详细描述,请一并参照图11,其中,步骤S30包括:0050 步骤S321,确定已下载的数据项Ti对应的键值Ki;0051 步骤S322,在映射表中查询排列于键值。

25、Ki之后第m位的键值Kj;0052 步骤S323,在完成队列中查找键值Kj对应的已下载的数据项Tj;0053 步骤S324,将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tj之前。0054 本实施例中,m的初始值为1,即从映射表中排列于键值Ki之后一位的键值开始查询。获取到键值Kj后,在完成队列中查找是否有键值Kj对应的数据项Tj,由于在映射表中Kj和Ki之间的先后顺序与原始队列中Tj和Ti的先后顺序一致,因此,在将完成队列中的数据项顺序还原时,根据Kj和Ki的先后顺序,将已下载的数据项Ti排列在已下载的数据项Tj之前,使完成队列中数据项顺序与原始队列中数据项顺序一致。

26、,有效确保了下载前后数据项的顺序性。此外,本实施例尤其适用于在下载队列中逆序下载的数据项,先下载的数据项排列在后端,在完成队列中查找键值对应的数据项时更加快捷,进一步提高了已下载数据项的排序效率。0055 如图6所示,图6为本发明批量下载数据处理方法的第六实施例的流程图。本实施例以图5所示实施例为基础,在步骤S323之后还包括:0056 步骤S325,当完成队列中不存在键值Kj对应的已下载的数据项Tj时,在映射表中查询排列于键值Ki之后第m+1位的键值Kg;0057 步骤S326,在完成队列中查找键值Kg对应的已下载的数据项Tg;0058 步骤S327,将已下载的数据项Ti从下载队列中转移至完。

27、成队列中,并排列在已下载的数据项Tg之前。0059 本实施例中,当键值Kj对应的数据项Tj还没有完成下载时,在完成队列中不能找到数据项Tj,此时,可以从映射表中查询排列于键值Ki之后两位的键值,如果在完成队说 明 书CN 104426946 A5/8页9列中仍然未找到Kg对应的数据项Tg,则从映射表中查询排列于键值Ki之后三位的键值,以此类推,直至在完成队列中找到键值与Ki排列最近的数据项,并将Ti插入到找到的数据项之前,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后数据项的顺序性。此外,如果遍历映射表中排列于键值Ki之后的所有键值,在完成队列都没有找到对应的数据项,则说。

28、明排列于数据项Ti之后的数据项均未完成下载,此时可直接将数据项Ti排列于完成队列的末位,在其他在前数据项到达时,再向前移位。0060 如图7所示,图7为本发明批量下载数据处理方法的第七实施例的流程图。本实施例以图5所示实施例为基础,在步骤S321之后还包括:0061 步骤S328,当键值Kj在映射表中的位置为末位时,直接将已下载的数据项Ti从下载队列中转移至完成队列的末位。0062 本实施例对于映射表末位的键值,在其后端没有多余的键值,不适用上述实施例中的查找方式,此时,为了缩短查找时间,提高查找效率,在查找键值前,先判断该键值Ki是否位于映射表末位,对于位于末位的键值,其对应的数据项在原始队。

29、列中也位于末位,则在完成队列中,可直接将数据项Ti排列于完成队列的末位,减少了查找过程,缩短了排序时间,进一步提高了已下载数据项的排序效率。0063 如图8所示,图8为本发明实施例中批量下载数据处理装置的结构示意图。请一并参照图9,本发明实施例提到的批量下载数据处理装置,包括:0064 批量下载模块10,用于将原始队列中的多个待下载的数据项批量添加至下载队列中;0065 键值映射模块20,用于按照各待下载的数据项在原始队列中的顺序,将各待下载的数据项对应的键值存储于映射表中;0066 排序模块30,用于将已下载的数据项从下载队列中转移至完成队列中,并按照映射表中键值的顺序,排列已下载的数据项在。

30、完成队列中的顺序。0067 本实施例中,在网络服务器上存储有多个数据项,这些数据项根据特定的规则排序,例如,根据更新时间先后顺序、数据项名称的首字母顺序、数据项大小等方式来排序数据项,形成原始队列。智能终端通过网络连接到服务器上,用户通过智能终端浏览原始队列,并选择需要下载的数据项。当用户选中了多个数据项批量下载时,智能终端将选中的待下载数据项批量添加至下载队列中,添加的待下载数据项可以是整个原始列表的数据项或原始列表中的部分数据项。0068 待下载数据项添加后,用户可以手动调整下载队列中待下载数据项的下载顺序,例如,暂停某个数据项,或设置某个数据项的下载级别为高优先级,或限制某些数据项的下载。

31、速度,避免占用其他数据项的网速。此外,智能终端对下载队列中的待下载数据项也可以不是同时下载,可根据当前的网速状况,对待下载数据项的下载顺序进行自动调整,例如,对于下载速度快的数据项,智能终端将其调整为优先下载,对于下载速度慢的数据项,智能终端暂停下载,避免占用其他数据项的网速,待高优先级的数据项下载完成后,再重新继续下载。0069 由于下载队列中数据项下载的先后顺序可调,为了避免下载完成后的队列中数据项的顺序与原始队列中数据项的顺序不一致,本实施例在待下载数据项添加到下载队列的同时,还根据待下载的数据项在原始队列中的顺序建立映射表,该映射表中存储有各待下说 明 书CN 104426946 A6。

32、/8页10载的数据项对应的键值。键值可根据待下载数据项的标识符来确定,一个键值与一个数据项一一对应。智能终端在映射表中存储键值时,按照各待下载的数据项在原始队列中的顺序,排列各键值在映射表中的顺序,映射表中与数据项对应的键值的顺序与原始队列中数据项的顺序一致。0070 下载队列中的数据项下载完成后,智能终端将其从下载队列中移除,并添加到完成队列中,此时,为了确保下载完成的数据项的顺序与原始队列的数据项的顺序一致,移动终端根据已下载的数据项,在映射表中查找对应的键值,并根据键值在映射表中的顺序,来排列已下载数据项在完成队列中的顺序。由于映射表中键值的顺序是按照原始队列中数据项的顺序进行排列的,因。

33、此,此时在完成队列中的数据项的顺序也与原始队列中数据项的顺序一致,有效保证了下载前后数据项的顺序性。0071 本实施例根据原始队列中待下载数据项的顺序,建立映射表,映射表中存储的键值与待下载数据项一一对应,且顺序一致,在将已下载数据项从下载队列转移至完成队列时,根据已下载数据项对应的键值在映射表中的顺序,排列完成队列中已下载数据项的顺序,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效保证了下载前后数据项的顺序性。0072 请一并参照图10,在排序完成队列的第一实施方案中, 排序模块30用于:0073 确定已下载的数据项Ti对应的键值Ki;0074 在映射表中查询排列于键值Ki之前第n位。

34、的键值Kj,其中,n的初始值为1;0075 在完成队列中查找键值Kj对应的已下载的数据项Tj;0076 将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tj之后。0077 本实施例中,n的初始值为1,即从映射表中排列于键值Ki之前一位的键值开始查询。获取到键值Kj后,在完成队列中查找是否有键值Kj对应的数据项Tj,由于在映射表中Kj和Ki之间的先后顺序与原始队列中Tj和Ti的先后顺序一致,因此,在将完成队列中的数据项顺序还原时,根据Kj和Ki的先后顺序,将已下载的数据项Ti排列在已下载的数据项Tj之后,使完成队列中数据项顺序与原始队列中数据项顺序一致,有效确保了下载前后。

35、数据项的顺序性。此外,本实施例尤其适用于在下载队列中顺序下载的数据项,先下载的数据项排列在前端,在完成队列中查找键值对应的数据项时更加快捷,进一步提高了已下载数据项的排序效率。0078 进一步的,排序模块30还用于:0079 当完成队列中不存在键值Kj对应的已下载的数据项Tj时,在映射表中查询排列于键值Ki之前第n+1位的键值Kg;0080 在完成队列中查找键值Kg对应的已下载的数据项Tg;0081 将已下载的数据项Ti从下载队列中转移至完成队列中,并排列在已下载的数据项Tg之后。0082 本实施例中,当键值Kj对应的数据项Tj还没有完成下载时,在完成队列中不能找到数据项Tj,此时,可以从映射表中查询排列于键值Ki之前两位的键值,如果在完成队列中仍然未找到Kg对应的数据项Tg,则从映射表中查询排列于键值Ki之前三位的键值,以此类推,直至在完成队列中找到键值与Ki排列最近的数据项,并将Ti插入到找到的数据项之说 明 书CN 104426946 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1