CN111625254A - 文件处理方法、装置、终端及存储介质 - Google Patents

文件处理方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN111625254A
CN111625254A CN202010374391.9A CN202010374391A CN111625254A CN 111625254 A CN111625254 A CN 111625254A CN 202010374391 A CN202010374391 A CN 202010374391A CN 111625254 A CN111625254 A CN 111625254A
Authority
CN
China
Prior art keywords
files
file
parallel processing
threads
terminal
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
Application number
CN202010374391.9A
Other languages
English (en)
Other versions
CN111625254B (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.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent 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 Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN202010374391.9A priority Critical patent/CN111625254B/zh
Publication of CN111625254A publication Critical patent/CN111625254A/zh
Application granted granted Critical
Publication of CN111625254B publication Critical patent/CN111625254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件处理方法、装置、终端及存储介质。其中,方法包括:获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。

Description

文件处理方法、装置、终端及存储介质
技术领域
本发明涉及终端技术,具体涉及一种文件处理方法、装置、终端及存储介质。
背景技术
随着终端技术的快速发展,终端中集成的功能越来越强大,实际应用时,可以通过对终端的操作系统进行升级,来获取更强大的功能、更快的运行速度。通常,可以通过对用于系统升级的多个文件进行烧录完成系统升级,但是,当对多个文件的烧录速度较慢时,会导致系统升级速度较慢,从而降低用户体验。
发明内容
有鉴于此,本发明实施例期望提供一种文件处理方法、装置、终端及存储介质。
本发明的技术方案是这样实现的:
本发明实施例提供一种文件处理方法,所述方法包括:
获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;
从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;
确定至少两个线程;
利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
上述方案中,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
基于预设文件名单、第一文件携带的分区标识和第一文件的大小中之一,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件。
上述方案中,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
获取预设的文件名单;
针对所述至少两个第一文件中每个文件,将相应文件与所述文件名单中的文件进行匹配;所述文件名单中的文件为具有依赖关系的文件;
当相应文件与所述文件名单中的文件匹配时,将相应文件从所述至少两个第一文件中排除;
以此类推,直至所述至少两个第一文件中包含与所述文件名单未匹配的至少两个文件,将与文件名单未匹配的至少两个文件作为能够执行并行处理的至少两个第二文件。
上述方案中,所述第一文件携带分区标识;所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
针对所述至少两个第一文件中每个文件,判断相应文件携带的分区标识是否对应至少两个分区;
当相应文件携带的分区标识对应至少两个分区时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含对应一个分区的至少两个文件,将对应一个分区的至少两个文件作为能够执行并行处理的至少两个第二文件。
上述方案中,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
针对所述至少两个第一文件中每个文件,判断相应文件的大小是否小于预设阈值;
当相应文件的大小小于预设阈值时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含文件大小大于或等于预设阈值的至少两个文件,将文件大小大于或等于预设阈值的至少两个文件作为能够执行并行处理的至少两个第二文件。
上述方案中,所述确定至少两个线程,包括:
确定终端的处理器的核数;
确定预留线程数;
计算所述核数与预留线程数的差值;
根据所述差值,确定至少两个线程。
上述方案中,所述方法还包括:
针对所述至少两个线程中每个线程,确定相应线程对应的进度信息,得到至少两个进度信息;
显示所述至少两个进度信息。
本发明实施例提供一种文件处理装置,包括:
获取单元,用于获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;
第一处理单元,用于从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;
第二处理单元,用于确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
本发明实施例提供一种终端,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行所述程序时实现上述任一所述方法的步骤。
本发明实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行所述程序时实现上述任一所述方法的步骤。
本发明实施例提供的文件处理方法、装置、终端及存储介质,获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。采用本发明实施例的技术方案,从至少两个第一文件中选取能够执行并行处理的至少两个第二文件,如此,利用至少两个线程对选取的至少两个第二文件进行并行处理,从而提升系统升级速度,进而提高用户的系统升级体验。
附图说明
图1为相关技术中对镜像文件进行烧录的示意图;
图2为本发明实施例文件处理方法的实现流程示意图;
图3为本发明实施例从至少两个第一文件中选取能够执行并行处理的至少两个第二文件的的实现流程示意图一;
图4为本发明实施例从至少两个第一文件中选取能够执行并行处理的至少两个第二文件的的实现流程示意图二;
图5为本发明实施例从至少两个第一文件中选取能够执行并行处理的至少两个第二文件的的实现流程示意图三;
图6为本发明实施例对选取的至少两个第二文件进行并行处理的实现流程示意图;
图7为本发明实施例对选取的至少两个第二文件进行并行处理的示意图;
图8为本发明实施例在对选取的至少两个第二文件进行并行处理的过程中生成进度信息的实现流程示意图;
图9为本发明实施例文件处理装置的组成结构示意图;
图10为本发明实施例终端的组成结构示意图。
具体实施方式
在对本发明实施例的技术方案进行详细说明之前,首先对相关技术进行介绍说明。
相关技术中,对终端进行系统升级的过程可以包括:终端进入recovery模式,读取updater-script.txt文件,对updater-script.txt文件进行扫描,得到多个image文件,对多个image文件进行串行烧录,从而完成系统升级。图1是相关技术中对镜像文件进行烧录的示意图,如图1所示,若多个镜像文件之间存在依赖关系,即下一个镜像文件的写入需要在上一个镜像文件的写入完成后再执行,则会影响终端的系统升级速度。
基于此,在本发明的各种实施例中,获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
下面结合附图及具体实施例对本发明作进一步详细的说明。
本发明实施例提供一种文件处理方法,图2为本发明实施例文件处理方法的实现流程示意图;如图2所示,所述方法包括:
步骤201:获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;
步骤202:从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;
步骤203:确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
这里,实际应用时,在步骤201中,当所述终端的操作系统为安卓系统时,可以通过扫描后缀为.txt文件获取用于系统升级的至少两个第一文件;当所述终端的操作系统为windows系统时,可以通过后缀为.exe的软件包获取用于系统升级的至少两个第一文件。所述第一文件,可以是指镜像文件,即后缀为.image的文件。
这里,实际应用时,在步骤202中,所述至少两个第一文件中包含有依赖关系的文件,而有依赖关系的文件不能执行并行处理,因此,为了提升系统升级速度,需要从至少两个第一文件中选取能够执行并行处理的至少两个第二文件。实际应用中,可以在对至少两个第一文件的下载过程中,从至少两个第一文件中选取所述至少两个第二文件。
这里,实际应用时,在步骤203中,所述并行处理可以是指对选取的至少两个第二文件进行并行写入处理。
本发明实施例中,所述终端可以是可以移动终端、个人计算机等。
这里,本发明实施例中,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件的情况包括以下情况:
第一种情况,基于预设文件名单,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件。
第二种情况,基于第一文件携带的分区标识,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件。
第三种情况,基于第一文件的大小,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件。
实际应用时,用户可以结合对终端进行系统升级的经验,将有依赖关系的文件生成文件名单,如此,后续可以基于文件名单,从至少两个第一文件中筛选出不存在依赖关系的文件,即能够执行并行处理的文件。
基于此,在一实施例中,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
获取预设的文件名单;
针对所述至少两个第一文件中每个文件,将相应文件与所述文件名单中的文件进行匹配;所述文件名单中的文件为具有依赖关系的文件;
当相应文件与所述文件名单中的文件匹配时,将相应文件从所述至少两个第一文件中排除;
以此类推,直至所述至少两个第一文件中包含与所述文件名单未匹配的至少两个文件,将与文件名单未匹配的至少两个文件作为能够执行并行处理的至少两个第二文件。
这里,所述具有依赖关系的文件可以是指该文件的写入处理需要在某个文件的写入处理执行结束后才可以执行。
这里,针对所述至少两个第一文件中每个文件,可以将相应文件的名称与所述文件名单中的文件的名称进行匹配。
在一实施例中,如图3所示,描述从至少两个第一文件中选取能够执行并行处理的至少两个第二文件的过程,包括:
步骤1:获取至少两个第一文件。
终端进入recoery模式,读取updater-script.txt文件,对updater-script.txt文件进行扫描,将需要解压的至少两个第一文件即image文件列出来。
步骤2:基于预设文件名单,从至少两个第一文件中选取能够并行处理的至少两个第二文件。
这里,针对所述至少两个第一文件中每个文件,将相应文件与所述文件名单中的文件进行匹配;所述文件名单中的文件为具有依赖关系的文件;当相应文件与所述文件名单中的文件匹配时,将相应文件从所述至少两个第一文件中排除;以此类推,直至所述至少两个第一文件中包含与所述文件名单未匹配的至少两个文件,将与文件名单未匹配的至少两个文件作为能够执行并行处理的至少两个第二文件。
这里,基于预设文件名单,从至少两个第一文件中选取能够并行处理的至少两个第二文件,具备以下优点:
通过将至少两个第一文件与预设文件名单中的文件进行匹配,能够快速选取出能够并行处理的至少两个第二文件,从而后续对终端进行系统升级时,通过对至少两个第二文件执行并行写入处理,可以加快系统和软件升级的速度,从而减少用户等待升级的时间,提升用户的体验。
实际应用时,在对终端的系统升级过程中,可以划分不同的分区,不同的分区使用的升级文件可以相同,也可以不同。当多个分区使用同一个升级文件时,则该升级文件为具有依赖关系的文件,如此,后续可以基于第一文件携带的分区标识从至少两个第一文件中选取能够并行处理的至少两个第二文件。
基于此,在一实施例中,所述第一文件携带分区标识;所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
针对所述至少两个第一文件中每个文件,判断相应文件携带的分区标识是否对应至少两个分区;
当相应文件携带的分区标识对应至少两个分区时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含对应一个分区的至少两个文件,将对应一个分区的至少两个文件作为能够执行并行处理的至少两个第二文件。
举例来说,在对终端的系统升级的过程中,假设需要分成4个区,分别用区1、区2、区3和区4表示,至少两个第一文件分别用文件1、文件2、文件3和文件4表示,假设文件1对应的分区标识为区1,文件2对应的分区标识为区2和区3,文件3对应的分区标识为区2,文件4对应的分区标识为区1和区4,这样,文件1和文件3是能够执行并行处理的第二文件。
在一示例中,如图4所示,描述从至少两个第一文件中选取能够执行并行处理的至少两个第二文件的过程,包括:
步骤1:获取至少两个第一文件。
终端进入recoery模式,读取updater-script.txt文件,对updater-script.txt文件进行扫描,将需要解压的至少两个第一文件即image文件列出来。
步骤2:基于第一文件携带的分区标识,从至少两个第一文件中选取能够并行处理的至少两个第二文件。
这里,基于第一文件携带的分区标识,从至少两个第一文件中选取能够并行处理的至少两个第二文件,具备以下优点:
根据第一文件是否为多个分区共享,从至少两个第一文件中选取出能够并行处理的至少两个第二文件,从而后续对终端进行系统升级时,通过对至少两个第二文件执行并行写入处理,可以加快系统和软件升级的速度,从而减少用户等待升级的时间,提升用户的体验。
实际应用时,在对终端的系统升级的过程中,若使用的升级文件的大小越大,则终端获取的功能越强,否则,终端获取的功能越小,因此,文件大小越大的文件可以作为能够并行处理的文件。
基于此,在一实施例中,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
针对所述至少两个第一文件中每个文件,判断相应文件的大小是否小于预设阈值;
当相应文件的大小小于预设阈值时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含文件大小大于或等于预设阈值的至少两个文件,将文件大小大于或等于预设阈值的至少两个文件作为能够执行并行处理的至少两个第二文件。
在一示例中,如图5所示,描述从至少两个第一文件中选取能够执行并行处理的至少两个第二文件的过程,包括:
步骤1:获取至少两个第一文件。
终端进入recoery模式,读取updater-script.txt文件,对updater-script.txt文件进行扫描,将需要解压的至少两个第一文件即image文件列出来。
步骤2:基于第一文件的文件大小,从至少两个第一文件中选取能够并行处理的至少两个第二文件。
这里,将至少两个第一文件中文件大小大于或等于预设阈值的至少两个文件作为能够执行并行处理的至少两个第二文件。
这里,基于第一文件的文件大小,从至少两个第一文件中选取能够并行处理的至少两个第二文件,具备以下优点:
基于文件越大实现功能越强大的规则,从至少两个第一文件中选取出能够并行处理的至少两个第二文件,从而后续对终端进行系统升级时,通过对至少两个第二文件执行并行写入处理,可以加快系统和软件升级的速度,从而减少用户等待升级的时间,提升用户的体验。
实际应用时,当终端的处理器为多核处理器时,可以基于处理器的核数确定对选取的至少两个第二文件执行并行处理的线程数。
基于此,在一实施例中,所述确定至少两个线程,包括:
确定终端的处理器的核数;
确定预留线程数;
计算所述核数与预留线程数的差值;
根据所述差值,确定至少两个线程。
这里,根据终端的处理器的核数,评估一个用于对选取的至少两个第二文件执行并行处理的线程的阈值。例如,终端的处理器的核数用M表示,预留线程数为2,则线程数等于(M-2)。其中,预留2个线程数可以用于UI线程更新和其他后台服务的需求。
在一示例中,如图6所示,描述对选取的至少两个第二文件进行并行处理的过程,包括:
步骤1:计算终端的处理器的核数与预留线程数的差值;根据所述差值,确定至少两个线程。
假设终端的处理器的核数为8,预留线程数为2,则线程数等于8-2=6。
步骤2:利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
假设选取的至少两个第二文件共包含18个文件,则每个线程平均处理18/6=3个文件。如图7所示,假设6个线程用线程1、线程2、线程3、线程4、线程5和线程表示,以线程1为例,线程1执行并行写入处理的文件为Update Abl.img、Update dtbo.img、Update static_nvbk.img。
这里,利用至少两个线程对选取的至少两个第二文件进行并行写入处理,具备以下优点:
利用多线程对选取的能够并行处理的多个image文件进行并行处理,在终端的处理器(cpu)和存储器(ufs)的能力越来越强的情况下,能够较大提升软件升级的速度。
实际应用时,在利用至少两个线程对选取的至少两个第二文件进行并行处理的过程中,可以根据每个线程对文件进行并行处理的进度,生成进度信息,并显示终端的显示界面中。
基于此,在一实施例中,所述方法还包括:
针对所述至少两个线程中每个线程,确定相应线程对应的进度信息,得到至少两个进度信息;
显示所述至少两个进度信息。
在一示例中,如图8所示,描述在对选取的至少两个第二文件进行并行处理的过程中生成进度信息的过程,包括:
步骤1:计算终端的处理器的核数与预留线程数的差值;根据所述差值,确定至少两个线程。
假设终端的处理器的核数为8,预留线程数为2,则线程数等于8-2=6。
步骤2:利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
步骤3:针对所述至少两个线程中每个线程,确定相应线程对应的进度信息,得到至少两个进度信息;显示所述至少两个进度信息。
这里,将每个线程执行并行处理的进度在终端的显示界面进行显示,如此,用户可以看到系统升级的当前状态,并预估出系统升级完成的时刻。
采用本发明实施例的技术方案,,获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。这里,从至少两个第一文件中选取能够执行并行处理的至少两个第二文件,如此,利用至少两个线程对选取的至少两个第二文件进行并行处理,从而提升系统升级速度,进而提高用户的系统升级体验。
为实现本发明实施例文件处理方法,本发明实施例还提供一种文件处理装置,设置在终端上。图9为本发明实施例文件处理装置的组成结构示意图;如图9所示,所述装置包括:
获取单元91,用于获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;
第一处理单元92,用于从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;
第二处理单元93,用于确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
上述方案中,所述第一处理单元92,具体用于:
基于预设文件名单、第一文件携带的分区标识和第一文件的大小中之一,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件。
在一实施例中,所述第一处理单元92,具体用于:
获取预设的文件名单;
针对所述至少两个第一文件中每个文件,将相应文件与所述文件名单中的文件进行匹配;所述文件名单中的文件为具有依赖关系的文件;
当相应文件与所述文件名单中的文件匹配时,将相应文件从所述至少两个第一文件中排除;
以此类推,直至所述至少两个第一文件中包含与所述文件名单未匹配的至少两个文件,将与文件名单未匹配的至少两个文件作为能够执行并行处理的至少两个第二文件。
在一实施例中,所述第一处理单元92,具体用于:
所述第一文件携带分区标识;
针对所述至少两个第一文件中每个文件,判断相应文件携带的分区标识是否对应至少两个分区;
当相应文件携带的分区标识对应至少两个分区时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含对应一个分区的至少两个文件,将对应一个分区的至少两个文件作为能够执行并行处理的至少两个第二文件。
在一实施例中,所述第一处理单元92,具体用于:
针对所述至少两个第一文件中每个文件,判断相应文件的大小是否小于预设阈值;
当相应文件的大小小于预设阈值时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含文件大小大于或等于预设阈值的至少两个文件,将文件大小大于或等于预设阈值的至少两个文件作为能够执行并行处理的至少两个第二文件。
在一实施例中,所述第二处理单元93,具体用于:
确定终端的处理器的核数;
确定预留线程数;
计算所述核数与预留线程数的差值;
根据所述差值,确定至少两个线程。
在一实施例中,所述第二处理单元93,还用于:
针对所述至少两个线程中每个线程,确定相应线程对应的进度信息,得到至少两个进度信息;
显示所述至少两个进度信息。
实际应用时,所述获取单元91可由所述装置中的通信接口实现;所述第一处理单元92、第二处理单元93可由所述装置中的处理器实现;所述处理器可以是中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable GateArray)。
需要说明的是:上述实施例提供的装置在进行文件处理时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与文件处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述设备的硬件实现,本发明实施例还提供了一种终端,图10为本发明实施例的终端的硬件组成结构示意图,如图10所示,终端100包括存储器103、处理器102及存储在存储器103上并可在处理器102上运行的计算机程序;所述处理器102执行所述程序时实现上述一个或多个技术方案提供的方法。
具体地,所述处理器执行以下计算机程序:获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
上述方案中,所述处理器102,具体用于:
基于预设文件名单、第一文件携带的分区标识和第一文件的大小中之一,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件。
在一实施例中,所述处理器102,具体用于:
获取预设的文件名单;
针对所述至少两个第一文件中每个文件,将相应文件与所述文件名单中的文件进行匹配;所述文件名单中的文件为具有依赖关系的文件;
当相应文件与所述文件名单中的文件匹配时,将相应文件从所述至少两个第一文件中排除;
以此类推,直至所述至少两个第一文件中包含与所述文件名单未匹配的至少两个文件,将与文件名单未匹配的至少两个文件作为能够执行并行处理的至少两个第二文件。
在一实施例中,所述处理器102,具体用于:
所述第一文件携带分区标识;针对所述至少两个第一文件中每个文件,判断相应文件携带的分区标识是否对应至少两个分区;
当相应文件携带的分区标识对应至少两个分区时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含对应一个分区的至少两个文件,将对应一个分区的至少两个文件作为能够执行并行处理的至少两个第二文件。
在一实施例中,所述处理器102,具体用于:
针对所述至少两个第一文件中每个文件,判断相应文件的大小是否小于预设阈值;
当相应文件的大小小于预设阈值时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含文件大小大于或等于预设阈值的至少两个文件,将文件大小大于或等于预设阈值的至少两个文件作为能够执行并行处理的至少两个第二文件。
在一实施例中,所述处理器102,具体用于:
确定终端的处理器的核数;
确定预留线程数;
计算所述核数与预留线程数的差值;
根据所述差值,确定至少两个线程。
在一实施例中,所述处理器102,还用于:
针对所述至少两个线程中每个线程,确定相应线程对应的进度信息,得到至少两个进度信息;
显示所述至少两个进度信息。
需要说明的是,所述处理器102执行所述程序时实现的具体步骤已在上文详述,这里不再赘述。
可以理解,终端100还包括通信接口101,所述通信接口101用于和其它设备进行信息交互;同时,终端100中的各个组件通过总线系统104耦合在一起。可理解,总线系统104配置为实现这些组件之间的连接通信。总线系统104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线等。
可以理解,本实施例中的存储器103可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,ReadOnly Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccess Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器102中,或者由处理器102实现。处理器102可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器102中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器102可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器102读取存储器中的信息,结合其硬件完成前述方法的步骤。
本发明实施例还提供了一种存储介质,具体为计算机存储介质,更具体的为计算机可读存储介质。其上存储有计算机指令,即计算机程序,该计算机指令被处理器执行时上述一个或多个技术方案提供的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种文件处理方法,其特征在于,所述方法包括:
获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;
从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;
确定至少两个线程;
利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
2.根据权利要求1所述的方法,其特征在于,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
基于预设文件名单、第一文件携带的分区标识和第一文件的大小中之一,从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件。
3.根据权利要求2所述的方法,其特征在于,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
获取预设的文件名单;
针对所述至少两个第一文件中每个文件,将相应文件与所述文件名单中的文件进行匹配;所述文件名单中的文件为具有依赖关系的文件;
当相应文件与所述文件名单中的文件匹配时,将相应文件从所述至少两个第一文件中排除;
以此类推,直至所述至少两个第一文件中包含与所述文件名单未匹配的至少两个文件,将与文件名单未匹配的至少两个文件作为能够执行并行处理的至少两个第二文件。
4.根据权利要求2所述的方法,其特征在于,所述第一文件携带分区标识;所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
针对所述至少两个第一文件中每个文件,判断相应文件携带的分区标识是否对应至少两个分区;
当相应文件携带的分区标识对应至少两个分区时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含对应一个分区的至少两个文件,将对应一个分区的至少两个文件作为能够执行并行处理的至少两个第二文件。
5.根据权利要求2所述的方法,其特征在于,所述从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件,包括:
针对所述至少两个第一文件中每个文件,判断相应文件的大小是否小于预设阈值;
当相应文件的大小小于预设阈值时,将相应文件从所述至少两个第一文件中排除;
以次类推,直至所述至少两个第一文件中包含文件大小大于或等于预设阈值的至少两个文件,将文件大小大于或等于预设阈值的至少两个文件作为能够执行并行处理的至少两个第二文件。
6.根据权利要求1所述的方法,其特征在于,所述确定至少两个线程,包括:
确定终端的处理器的核数;
确定预留线程数;
计算所述核数与预留线程数的差值;
根据所述差值,确定至少两个线程。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
针对所述至少两个线程中每个线程,确定相应线程对应的进度信息,得到至少两个进度信息;
显示所述至少两个进度信息。
8.一种文件处理装置,其特征在于,包括:
获取单元,用于获取至少两个第一文件;所述至少两个第一文件用于供终端进行系统升级;
第一处理单元,用于从所述至少两个第一文件中选取能够执行并行处理的至少两个第二文件;
第二处理单元,用于确定至少两个线程;利用所述至少两个线程,对选取的至少两个第二文件进行并行处理,以完成系统升级。
9.一种终端,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202010374391.9A 2020-05-06 2020-05-06 文件处理方法、装置、终端及存储介质 Active CN111625254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010374391.9A CN111625254B (zh) 2020-05-06 2020-05-06 文件处理方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010374391.9A CN111625254B (zh) 2020-05-06 2020-05-06 文件处理方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN111625254A true CN111625254A (zh) 2020-09-04
CN111625254B CN111625254B (zh) 2023-09-08

Family

ID=72269948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010374391.9A Active CN111625254B (zh) 2020-05-06 2020-05-06 文件处理方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN111625254B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568736A (zh) * 2021-06-24 2021-10-29 阿里巴巴新加坡控股有限公司 数据处理方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957863A (zh) * 2010-10-14 2011-01-26 广州从兴电子开发有限公司 数据并行处理方法、装置及系统
CN107341024A (zh) * 2016-04-28 2017-11-10 华为技术有限公司 系统升级方法和系统升级装置
WO2018041061A1 (zh) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 车载设备的升级方法、设备、系统和计算机存储介质
CN108132759A (zh) * 2018-01-15 2018-06-08 网宿科技股份有限公司 一种文件系统中管理数据的方法和装置
CN109101531A (zh) * 2018-06-22 2018-12-28 联想(北京)有限公司 文件处理方法、装置及系统
CN109144703A (zh) * 2018-09-10 2019-01-04 维沃移动通信有限公司 一种多任务的处理方法及其终端设备
CN109375937A (zh) * 2018-10-30 2019-02-22 Oppo广东移动通信有限公司 系统升级方法、装置、终端设备及存储介质
CN109753299A (zh) * 2019-01-16 2019-05-14 Oppo广东移动通信有限公司 一种系统升级方法、装置以及计算机存储介质
US10303833B1 (en) * 2017-02-09 2019-05-28 Xilinx, Inc. Parallelizing timing-based operations for circuit designs
CN110321219A (zh) * 2019-05-06 2019-10-11 百度在线网络技术(北京)有限公司 一种事务请求的并行执行方法、装置、设备和介质
CN110765082A (zh) * 2019-09-06 2020-02-07 深圳平安通信科技有限公司 Hadoop文件处理方法、装置、存储介质及服务器

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957863A (zh) * 2010-10-14 2011-01-26 广州从兴电子开发有限公司 数据并行处理方法、装置及系统
CN107341024A (zh) * 2016-04-28 2017-11-10 华为技术有限公司 系统升级方法和系统升级装置
WO2018041061A1 (zh) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 车载设备的升级方法、设备、系统和计算机存储介质
US10303833B1 (en) * 2017-02-09 2019-05-28 Xilinx, Inc. Parallelizing timing-based operations for circuit designs
CN108132759A (zh) * 2018-01-15 2018-06-08 网宿科技股份有限公司 一种文件系统中管理数据的方法和装置
CN109101531A (zh) * 2018-06-22 2018-12-28 联想(北京)有限公司 文件处理方法、装置及系统
CN109144703A (zh) * 2018-09-10 2019-01-04 维沃移动通信有限公司 一种多任务的处理方法及其终端设备
CN109375937A (zh) * 2018-10-30 2019-02-22 Oppo广东移动通信有限公司 系统升级方法、装置、终端设备及存储介质
CN109753299A (zh) * 2019-01-16 2019-05-14 Oppo广东移动通信有限公司 一种系统升级方法、装置以及计算机存储介质
CN110321219A (zh) * 2019-05-06 2019-10-11 百度在线网络技术(北京)有限公司 一种事务请求的并行执行方法、装置、设备和介质
CN110765082A (zh) * 2019-09-06 2020-02-07 深圳平安通信科技有限公司 Hadoop文件处理方法、装置、存储介质及服务器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DAN HUANG等: "Achieving Load Balance for Parallel Data Access on Distributed File Systems", 《IEEE TRANSACTIONS ON COMPUTERS》, pages 388 *
RAJAGOPAL PARTHASARATHI: "Spring Batch Parallel Processing Example", pages 1 - 14, Retrieved from the Internet <URL:《https://examples.javacodegeeks.com/java-development/enterprise-java/spring/batch/spring-batch-parallel-processing-example/》> *
WEIXIN_33919941: "文件处理及分区管理", pages 1 - 11, Retrieved from the Internet <URL:《https://blog.csdn.net/weixin_33919941/article/details/93013200》> *
李达统: "基于MapReduce与Spark的分布式多目标进化算法的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 140 - 279 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568736A (zh) * 2021-06-24 2021-10-29 阿里巴巴新加坡控股有限公司 数据处理方法及装置

Also Published As

Publication number Publication date
CN111625254B (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
CN112800858A (zh) 一种模型配置以及图像识别的方法及装置
CN110109628B (zh) 分布式存储系统的数据重建方法、装置、设备及存储介质
CN110908734A (zh) 基于插件化的应用组合方法、装置、终端设备及存储介质
CN111198777A (zh) 数据处理方法、装置、终端及存储介质
CN111241040B (zh) 信息获取方法、装置、电子设备及计算机存储介质
CN112667246A (zh) 应用功能扩展的方法、装置及电子设备
CN111708548A (zh) 软件安装方法、装置、设备及存储介质
CN115114232A (zh) 一种历史版本对象列举方法、装置及其介质
US12008171B2 (en) Program download method for intelligent terminal with memory card identifier and intelligent terminal with memory card identifier
CN111625254A (zh) 文件处理方法、装置、终端及存储介质
CN113536174A (zh) 一种界面加载方法、装置及设备
CN114780019A (zh) 电子设备的管理方法、装置、电子设备及存储介质
CN108810631B (zh) 开机广告的播放方法、装置、电子设备及计算机存储介质
CN108446144B (zh) 一种应用程序启动方法、装置、终端及存储介质
CN111399926A (zh) 下载启动程序的方法和装置
CN109542531B (zh) 一种文件布局调整方法及装置
CN114356386A (zh) 一种分块差分升级方法、终端设备和计算机可读存储介质
CN113849195A (zh) 应用程序加载方法、装置、存储介质以及终端
CN114968297A (zh) Ota升级方法、电子设备及芯片系统
CN110968334A (zh) 应用资源更新方法、资源包制作方法、装置、介质及设备
CN111192063A (zh) 一种在线客服排队处理方法、装置及电子设备
CN111078714B (zh) 数据处理的方法及装置
US8799616B2 (en) Method and system for preferred CPU binding on virtual partitions
CN110704733B (zh) 一种发送数据的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant