一种文件包读取方法及装置制造方法及图纸

技术编号:22308010 阅读:18 留言:0更新日期:2019-10-16 08:07
本发明专利技术涉及文件读取技术领域,提供一种文件包读取方法及装置,解决了现有文件包读取速度慢的问题。其中,文件包读取方法包括:获取文件包,文件包包括多个子文件,多个子文件分别对应软件开发包SDK的各个组成模块;获取内核信息,内核信息包括内核数量;根据内核数量,得到线程数量,线程数量为大于1的整数,且线程数量不高于内核数量;根据线程数量,分配多个子文件至多个线程;绑定多个线程至分别对应的多个内核;并行启动并运行多个线程,以分别加载对应的多个子文件。并行启动并运行分配多个子文件的多个线程,提高文件包加载速度。将多个线程绑定至多个内核,多个内核可同时读取文件包的子文件,提高文件包读取速度,并可充分利用平台内核。

A method and device of reading file package

【技术实现步骤摘要】
一种文件包读取方法及装置
本专利技术一般地涉及文件读取
,特别是涉及一种文件包读取方法及装置。
技术介绍
随着计算机、手机等的广泛应用,在目前的工作生活中,文件包的读取越来越多,例如在下载视频及文件包等过程中需要文件包的读取,其中,文件包可理解为文件夹,文件包内可存储多个子文件。目前计算机读取文件包的过程为:在程序内生成一个线程,计算机将该线程随机分配给执行程序的计算机CPU一个内核,启动并运行单个线程,将需要读取的文件包内的文件串行加载至内核,完成文件包读取。其中,线程为计算机程序的一次执行过程,加载为启动程序时文件包的所有文件载入内核的过程,串行加载即为按顺序加载。然而,将文件包以串行方式加载至线程,由于按照顺序加载文件包的文件,文件包加载速度慢。且计算机为线程随机分配内核,若线程加载所占内存大的文件包时,计算机将CPU小核分配给该线程,那么此时文件包读取速度相比于将该线程分配给大核的文件包读取速度慢,而大核却未被有效利用。因此,现有文件包读取方法,存在文件包读取速度慢的问题。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提供一种文件包读取方法及装置。第一方面,本专利技术实施例提供一种文件包读取方法,该方法包括:获取文件包,文件包包括多个子文件,多个子文件分别对应软件开发工具包SDK的各个组成模块;获取内核信息,内核信息包括内核数量;根据内核数量,得到线程数量,线程数量为大于1的整数,且线程数量不高于内核数量;根据线程数量,分配多个子文件至多个线程;绑定多个线程至分别对应的多个内核;并行启动并运行多个线程,以分别加载对应的多个子文件。在一例中,该方法还包括:根据文件包,获取文件包的文件信息,文件信息包括文件包的子文件数量;根据内核数量,得到线程数量,包括:根据子文件数量和内核数量,得到线程数量。在一例中,根据子文件数量和内核数量,得到线程数量,包括:若子文件数量大于或等于内核数量,线程数量为内核数量;若子文件数量小于内核数量,线程数量为子文件数量。在一例中,文件信息还包括子文件的子文件大小;根据线程数量,分配多个子文件至多个线程,包括:根据子文件大小对子文件排序,随机分配或按照子文件大小的排序顺序分配子文件至所述线程。在一例中,内核包括大核、小核;绑定线程至内核,包括:按照分配至每个线程的全部子文件大小,绑定线程至大核和/或小核。在一例中,根据文件包,获取文件包的文件信息,包括:通过配置文件获取文件包的文件信息,其中,配置文件记载文件包的子文件的名称、数量以及大小。在一例中,获取内核信息,包括:通过获取平台信息得到内核信息。第二方面,本专利技术实施例提供一种文件包读取装置,该装置包括:获取单元,用于获取文件包及内核信息,文件包包括多个子文件,多个子文件分别对应软件开发包SDK的各个组成模块,内核信息包括内核数量;线程数量确定单元,用于根据内核数量,得到线程数量,线程数量为大于1的整数,且线程数量不高于内核数量;线程分配单元,用于根据线程数量,分配多个子文件至多个线程;绑核单元,用于绑定多个线程至分别对应的多个内核;线程启动单元,用于并行启动并运行多个线程,以分别加载对应的多个子文件。第三方面,本专利技术实施例提供一种电子设备,其中,电子设备包括:存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行如第一方面所述的一种文件包读取方法。第四方面,本专利技术实施例提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在由处理器执行时,执行如第一方面所述的一种文件包读取方法。本专利技术提供的一种文件包读取方法及装置,一方面,分配多个子文件至多个线程,并行启动并运行多个线程,能够提高子文件加载速度,并将多个线程绑定至多个内核,多个内核可同时工作,能够实现多个线程并行,即同时加载子文件至不同内核,提高文件包读取速度,减少了文件包读取过程的卡顿现象,提升用户体验。另一方面,将多个线程绑定至多个内核,能够充分利用平台内核,减少平台内核的资源浪费情况发生。附图说明通过参考附图阅读下文的详细描述,本专利技术实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:图1示出了本专利技术实施例提供的一种文件包读取方法示意图;图2示出了本专利技术实施例提供的一种文件包读取装置示意图;图3示出了本专利技术实施例提供的一种电子设备示意图。在附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。需要注意,虽然本文中使用“第一”、“第二”等表述来描述本专利技术的实施方式的不同子文件、步骤和数据等,但是“第一”、“第二”等表述仅是为了在不同的子文件、步骤和数据等之间进行区分,而并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。图1为本公开实施例提供的一种文件包读取方法10的示意图。图1所示方法可应用任何形式的文件包读取。如图1所示,在一例中,一种文件包读取方法10包括步骤S101-S106:S101:控制中心获取文件包,文件包包括多个子文件,多个子文件分别对应软件开发包SDK的各个组成模块。其中,文件包可以为SDK(软件开发工具包,SoftwareDevelopmentKit)或文件夹等,文件包中可包含任意类型的子文件,子文件可为对应软件开发包SDK的各个组成模块、压缩文件、数据库文件、音频文件等,也可以是具备多个文件的子文件包。其中,控制中心可为移动终端、计算机、服务器等能够实现本公开实施例文件包读取方法的硬件设备。S102:控制中心获取内核信息,内核信息包括内核数量。控制中心可通过获取平台信息得到内核信息,此平台信息可为执行本公开实施例的控制中心CPU品牌及CPU的内核数量。CPU品牌可为高通、MTK、展讯、海思等,CPU内核数量可为:双核、4核、6核、8核、12核等,内核数量根据读取到的平台CPU内核数确定。其中,内核可分为具有高主频的大核、以及低主频的小核。S103:控制中心根据内核数量,得到线程数量,线程数量为大于1的整数,且线程数量不高于内核数量。线程数量可以通过预设设定,如设置为两个或三个;也可以根据内核数量确定,如等于内核数量,或等于内核的大核数量等。S104:控制中心根据线程数量,分配多个子文件至多个线程。若子文件数量小于或等于线程数量,那么控制中心可为每个线程随机分配一个子文件。若子文件数量多于线程数量,则控制中心为某些线程分配一个子文件,为某些线程分配多个子文件,也可能存在控制中心为每个线程分配多个子文件的情况。若一个线程需要加载多个子文件,则此时的多个子文件串行加载至分配的单个线程。S105:控制中心绑定多个线程至分别对应的多个内核。通过将线程与内核绑定,将多线程分配至多内核,保证了并行加载;同时,在一些实施例中,可以根据每个线程分配的子文件的情况,将线程绑定至大核或小核,从而做到更合理的加载,提高了效率。控制中心可通过对内核的大核和小核数量编码的方式,绑定多线程至多内核。编码方式可为二进制、八进制、十六进制码,或本文档来自技高网...

【技术保护点】
1.一种文件包读取方法,其中,包括:获取文件包,所述文件包包括多个子文件,所述多个子文件分别对应软件开发包SDK的各个组成模块;获取内核信息,所述内核信息包括内核数量;根据所述内核数量,得到线程数量,所述线程数量为大于1的整数,且所述线程数量不高于所述内核数量;根据所述线程数量,分配所述多个子文件至多个线程;绑定所述多个线程至分别对应的多个内核;并行启动并运行所述多个线程,以分别加载对应的所述多个子文件。

【技术特征摘要】
1.一种文件包读取方法,其中,包括:获取文件包,所述文件包包括多个子文件,所述多个子文件分别对应软件开发包SDK的各个组成模块;获取内核信息,所述内核信息包括内核数量;根据所述内核数量,得到线程数量,所述线程数量为大于1的整数,且所述线程数量不高于所述内核数量;根据所述线程数量,分配所述多个子文件至多个线程;绑定所述多个线程至分别对应的多个内核;并行启动并运行所述多个线程,以分别加载对应的所述多个子文件。2.根据权利要求1所述的方法,其中,所述方法还包括:根据所述文件包,获取所述文件包的文件信息,所述文件信息包括所述文件包的子文件数量;所述根据所述内核数量,得到线程数量,包括:根据所述子文件数量和所述内核数量,得到所述线程数量。3.根据权利要求2所述的方法,其中,所述根据所述子文件数量和所述内核数量,得到所述线程数量,包括:若所述子文件数量大于或等于所述内核数量,所述线程数量为所述内核数量;若所述子文件数量小于所述内核数量,所述线程数量为所述子文件数量。4.根据权利要求3所述的方法,其中,所述文件信息还包括所述子文件的子文件大小;所述根据所述线程数量,分配所述多个子文件至所述多个线程,包括:根据所述子文件大小对所述子文件排序,随机分配或按照子文件大小的排序顺序分配所述子文件至所述线程。5.根据权利要求4所述的方法,其中,所述内核包括大核、小核;所述绑定所述线程至所述内核,包括:...

【专利技术属性】
技术研发人员:廖声洋
申请(专利权)人:北京迈格威科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1