下载实现方法和装置的制造方法_2

文档序号:8905117阅读:来源:国知局
重新创建子线程以恢复异常子线程的下载任务的执行,若为否,则不做任何处理。
[0043]本实施例中,下载管理器在接收任一子线程发下载完成消息时将对所有的子线程进行检测,以获知当前正在执行下载任务的子线程是否出现异常,若当前正在执行下载任务的任一子线程出现异常,则说明该子线程当前无法正常进行数据下载,因此需要进入步骤337对当前数据下载任务的执行。
[0044]定位多个子线程中发生异常的子线程,即异常子线程,获取该异常子线程当前所执行的下载任务,停掉该异常子线程,并创建新的子线程以恢复该下载任务的执行,进而保证了数据下载不受影响,仍然能够保证较快的下载速度和下载效率。
[0045]在一个实施例中,还相应地提供了一种下载实现装置,如图5所示,包括侦听模块510、创建模块530和任务处理模块550,其中:
侦听模块510,用于侦听触发的数据下载操作,根据数据下载操作生成下载列表。
[0046]本实施例中,数据下载操作将用于触发执行数据的下载过程,其可以是用户针对各种数据下载入口触发的。例如,在数据下载网站中对各种下载链接触发的选定操作。
[0047]侦听模块510根据数据下载操作即可获知即将进行下载的数据,此时,将相应生成下载列表,该下载列表将记录了每一条需要进行下载的数据。
[0048]创建模块530,用于通过数据下载操作创建多个子线程。
[0049]本实施例中,数据下载的运行将触发创建多个子线程,该多个子线程均是用于执行下载列表中的数据下载操作的。
[0050]任务处理模块550,用于根据下载列表为多个子线程分配下载任务,以使多个子线程分别执行下载任务。
[0051]本实施例中,任务处理模块550根据下载列表中记录的第一条待下载数据,将依次划分成多个下载任务,以使得多个子线程将根据下载列表依次进行数据的下载,进而在多个子线程的作用下实现大量数据的同时下载,极大的提高了下载速度和下载效率。
[0052]进一步的,在本实施例中,如图6所示,该创建模块530包括主线程运行单元531和子线程创建单元533。
[0053]主线程运行单元531,用于通过数据下载操作触发运行主线程。
[0054]子线程创建单元533,用于由所述主线程根据预设的子线程数目创建多个子线程。
[0055]本实施例,子线程创建单元533中主线程根据下载列表和数据下载操作生成子线程的基本信息和状态,并针对生成的基本信息和状态进行初始化,以实现多个子线程的创建。
[0056]其中,子线程的创建数目以是预先设置的,也可是根据当前的系统负载状况进行动态设置。而子线程的最大创建数目将是由所在机器性能决定的,以达到了性能的最大化。
[0057]在一个实施例中,如图7所示,如上所述的下载实现装置还包括下载管理器创建模块710和动态控制模块730,其中:
下载管理器创建模块710,用于控制主线程根据数据下载操作创建下载管理器。
[0058]本实施例中,下载管理器创建模块710触发数据下载操作时将首先触发运行主线程,进而在主线程的作用下创建下载管理器,该下载管理器用于对多个子线程进行监管。
[0059]动态控制模块730,用于通过下载管理器接收子线程反馈的消息,以根据该消息对子线程进行动态控制。
[0060]本实施例中,由下载管理器监管的多个子线程将主动向所述下载管理器反馈消息,进而使得动态控制模块730控制下载管理器根据接收到了的消息对子线程进行关闭或者恢复等动态控制。
[0061]动态控制模块730通过下载管理器对多个子线程进行统一监管,以监测子线程的运行是否正常,进而保证一定数目的子线程得以正常运行,迅速完成数据的下载。
[0062]进一步的,在本实施例中,如图8所示,该动态控制模块730包括第一消息接收单元731和任务重分配单元733。
[0063]第一消息接收单元731,用于控制下载管理器接收执行下载任务的任一子线程发送的下载完成消息。
[0064]本实施例中,执行下载任务的多个子线程中,任一子线程在完成下载任务时,都将主动向下载管理器发送下载完成消息,该下载完成消息包含了下载完成标识,第一消息接收单元731通过读取该下载完成标志即可获知该线程已经完成当前分配的下载任务。
[0065]任务重分配单元733,用于根据下载完成消息控制下载管理器关闭子线程,并启动一子线程,根据下载列表为启动的子线程分配下载任务。
[0066]本实施例中,任务重分配单元733控制下载管理器将关闭完成了下载任务的子线程,以启动新的子线程执行新的下载任务,继续进行数据的下载,进而快速完成下载列表中所需要进行下载的数据。
[0067]进一步的,在本实施例中,如图9所示,该动态控制模块730还包括异常检测单元735和异常恢复单元737,其中:
异常检测单元735,用于触发下载管理器检测执行下载任务的多个子线程是否出现异常,若为是,则通知异常恢复单元737,若为否,则不做任何处理。
[0068]本实施例中,异常检测单元735触发下载管理器在接收任一子线程发下载完成消息时将对所有的子线程进行检测,以获知当前正在执行下载任务的子线程是否出现异常,若当前正在执行下载任务的任一子线程出现异常,则说明该子线程当前无法正常进行数据下载,因此需要通知异常恢复单元737对当前数据下载任务的执行。
[0069]异常恢复单元737,用于获取异常子线程的下载任务,并重新创建子线程以恢复异常子线程的下载任务的执行。
[0070]本实施例中,异常恢复单元737定位多个子线程中发生异常的子线程,即异常子线程,获取该异常子线程当前所执行的下载任务,停掉该异常子线程,并创建新的子线程以恢复该下载任务的执行,进而根据下载列表顺序进行数据的下载,进而保证了数据下载不受影响,仍然能够保证较快的下载速度和下载效率。
[0071]虽然已参照几个典型实施方式描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施方式不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
【主权项】
1.一种下载实现方法,其特征在于,包括: 侦听触发的数据下载操作,根据所述数据下载操作生成下载列表; 通过所述数据下载操作创建多个子线程; 根据所述下载列表为所述多个子线程分配下载任务,以使所述多个子线程分别执行所述下载任务。2.根据权利要求1所述的下载实现方法,其特征在于,所述通过所述数据下载操作创建多个子线程的步骤包括: 通过所述数据下载操作触发运行主线程; 由所述主线程根据预设的子线程数目创建多个子线程。3.根据权利要求2所述的下载实现方法,其特征在于,所述方法还包括: 控制所述主线程根据所述数据下载操作创建下载管理器; 通过所述下载管理器接收所述子线程反馈的消息,以根据所述消息对所述子线程进行动态控制。4.根据权利要求3所述的下载实现方法,其特征在于,所述通过所述下载管理器接收所述子线程反馈的消息,以根据所述消息对所述子线程进行动态控制的步骤包括: 由所述下载管理器接收执行所述下载任务的任一子线程发送的下载完成消息; 根据所述下载完成消息控制所述下载管理器关闭所述子线程,并启动一子线程,根据所述下载列表为启动的所述子线程分配下载任务。5.根据权利要求4所述的下载实现方法,其特征在于,所述由所述下载管理器接收执行所述下载任务的任一子线程发送的下载完成消息的步骤之后,所述通过所述下载管理器接收所述子线程反馈的消息,以根据所述消息对所述子线程进行动态控制的步骤还包括: 触发所述下载管理器检测执行所述下载任务的多个子线程是否出现异常,若为是,则获取异常子线程的下载任务,并重新创建子线程以恢复所述异常子线程的下载任务的执行。6.一种下载实现装置,其特征在于,包括: 侦听模块,用于侦听触发的数据下载操作,根据所述数据下载操作生成下载列表; 创建模块,用于通过所述数据下载操作创建多个子线程; 任务处理模块,用于根据所述下载列表为所述多个子线程分配下载任务,以使所述多个子线程分别执行所述下载任务。7.根据权利要求6所述的下载实现装置,其特征在于,所述创建模块包括: 主线程运行单元,用于通过所述数据下载操作触发运行主线程; 子线程创建单元,用于由所述主线程根据预设的子线程数目创建多个子线程。8.根据权利要求7所述的下载实现装置,其特征在于,所述装置还包括: 下载管理器创建模块,用于控制所述主线程根据数据下载操作创建下载管理器;动态控制模块,用于通过所述下载管理器接收所述子线程反馈的消息,以根据所述消息对所述子线程进行动态控制。9.根据权利要求8所述的下载实现装置,其特征在于,所述动态控制模块包括: 第一消息接收单元,用于控制所述下载管理器接收执行所述下载任务的任一子线程发送的下载完成消息; 任务重分配单元,用于根据所述下载完成消息控制所述下载管理器关闭所述子线程,并启动一子线程,根据所述下载列表为启动的所述子线程分配下载任务。10.根据权利要求8所述的下载实现装置,其特征在于,所述动态控制模块包括:异常检测单元,用于触发所述下载管理器检测执行所述下载任务的多个子线程是否出现异常,若为是,则通知异常恢复单元; 所述异常恢复单元用于获取异常子线程的下载任务,并重新创建子线程以恢复所述异常子线程的下载任务的执行。
【专利摘要】本发明提供了一种下载实现方法,所述方法包括:侦听触发的数据下载操作,根据所述数据下载操作生成下载列表;通过所述数据下载操作创建多个子线程;根据所述下载列表为所述多个子线程分配下载任务,以使所述多个子线程分别执行所述下载任务。此外,还提供了一种与该方法匹配的下载实现装置。上述下载实现方法和装置能同时兼顾较高下载速度和较高下载成功概率。
【IPC分类】G06F9/48, G06F9/445
【公开号】CN104881307
【申请号】CN201510250620
【发明人】王文欢
【申请人】广东小天才科技有限公司
【公开日】2015年9月2日
【申请日】2015年5月15日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1