CN107203418B - 根据系统配置选取资源的方法及装置 - Google Patents
根据系统配置选取资源的方法及装置 Download PDFInfo
- Publication number
- CN107203418B CN107203418B CN201610149977.9A CN201610149977A CN107203418B CN 107203418 B CN107203418 B CN 107203418B CN 201610149977 A CN201610149977 A CN 201610149977A CN 107203418 B CN107203418 B CN 107203418B
- Authority
- CN
- China
- Prior art keywords
- configuration
- resource
- score
- combination
- resources
- 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.)
- Active
Links
Images
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种根据系统配置选取资源的方法,包括:根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述待选取资源对应的各配置组合;从所述各配置组合中选择与当前系统配置相匹配的目标配置组合;根据所述待选取资源的标识信息,选取与所述目标配置组合对应的资源集合中的相应资源。本申请同时提供一种根据系统配置选取资源的装置。采用本申请提供的方法,由于预先生成了资源与配置组合的对应关系集合,因此在每次选取资源的时候,查询上述对应关系即可快速获知该资源的各宿主资源集合的配置组合信息,大大减少了查找资源集合的操作,从而可以提高资源选取的速度以及系统的性能。
Description
技术领域
本申请涉及资源管理技术,具体涉及一种根据系统配置选取资源的方法。本申请同时涉及一种根据系统配置选取资源的装置。
背景技术
在电子设备上运行的系统或者应用程序通常会通过加载并显示各种资源的方式向用户展示信息,所述资源包括多种类型,例如:布局资源,图片资源,字符串资源,尺寸资源等。为了使系统或者应用程序在不同的设备、屏幕尺寸、国家地区、语言等系统配置下提供统一的视觉效果,提高代码的复用性,经常需要为一个资源准备在不同系统配置下的具体资源,当系统或者应用程序在运行时依据系统的当前配置选择与之匹配的具体资源进行加载。其中,所述系统配置用于描述电子设备相关的状态信息,通常包括预先设定的若干个配置项、及每个配置项的值,其中每一配置项的值不是固定不变的,而是随着系统状态发生变化。
例如,预先为某应用程序的图片资源预先存储两张图片,分别对应于白天和晚上,当应用程序在运行过程中需要加载该图片资源时,如果当前系统配置中时间配置项的值为白天,就选择其中对应于白天、比较明亮的图片加载,如果时间配置项的值为晚上,就选择其中对应于晚上、比较柔和的图片加载。
为了实现上述目的,现有技术通常为需要加载资源的系统或者应用程序、针对每种资源类型分别建立多个资源集合,每个资源集合对应不同的配置组合,所述配置组合由若干个配置项以及每个配置项对应的限定值组成,其中每个配置项都是系统配置中所包含的配置项。然后将各个具体资源放到相对应的资源集合中,对于某个资源来说,存储其具体资源的资源集合称为该资源的宿主资源集合,也称这些宿主资源集合包含该资源。
在大多数操作系统中,所述资源集合通常是指文件夹,而与文件夹对应的配置组合信息可以包含在文件夹名称中,对于文件型资源,例如图片资源,可以直接将图片文件存储在对应的文件夹(称为宿主文件夹)中,对于数据型的资源,例如字符串资源,可以将资源标识与对应的字符串值存储在对应文件夹中的数据资源文件中。
当系统或者应用程序每次加载资源时,往往都要执行文件夹的查找操作,查看文件夹下是否有对应的资源,然后根据具有对应资源的宿主文件夹的配置组合信息,选择与当前系统配置相匹配的宿主文件夹中的相应资源。例如,应用程序需要加载图片abc.png,通过执行文件夹查找操作发现pic-land和pic-port这两个文件夹下都有该图片文件,随后根据当前系统配置进行选择,如果是横屏则选择pic-land目录下的abc.png文件,否则选择pic-prot目录下的abc.png文件。
由此可见,按照现有方案,每当系统或者应用程序需要选取资源时,都需要执行大量的查找资源集合的操作,操作过程复杂,效率低。特别是访问文件夹的操作属于io操作,有较大的时间开销,影响系统或者应用程序的运行效率,也会影响用户的使用体验,如果采用高级语言(比如javascript)实现资源选取过程时,上述缺陷更为显著,甚至导致系统或者应用程序无法正常运行。
发明内容
本申请实施例提供一种根据系统配置选取资源的方法,以解决现有技术每次选取资源都需要执行查找资源集合的操作、导致执行效率低的问题。本申请实施例还提供一种根据系统配置选取资源的装置。
本申请提供一种根据系统配置选取资源的方法,包括:
根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述待选取资源对应的各配置组合;
从所述各配置组合中选择与当前系统配置相匹配的目标配置组合;
根据所述待选取资源的标识信息,选取与所述目标配置组合对应的资源集合中的相应资源。
可选的,通过以下步骤预先生成所述资源与配置组合的对应关系集合:
针对各种资源类型,遍历与所述资源类型对应的资源集合,为其中包含的各资源分别生成对应关系表项,所述对应关系表项中至少包含资源的标识信息、以及所述资源的各宿主资源集合所对应的配置组合;
用生成的对应关系表项组成所述对应关系集合。
可选的,在为数据型资源生成的对应关系表项中,还包含所述资源对应于其中每个配置组合的具体值;
当所述待选取资源为数据型资源时,所述根据所述待选取资源的标识信息,选取与所述目标配置组合及待选取资源的资源类型对应的资源集合中的相应资源,包括:根据所述待选取资源的标识信息,从所述对应关系集合中提取相应的对应关系表项,并从中获取与所述目标配置组合相对应的具体值。
可选的,所述从所述各配置组合中选择与当前系统配置相匹配的目标配置组合,包括:从所述各配置组合中选择与当前系统配置最匹配的目标配置组合。
可选的,所述从所述各配置组合中选择与当前系统配置最匹配的目标配置组合,包括:
比较所述各配置组合的第一分数,并选择第一分数最高的配置组合作为所述目标配置组合;
其中,所述第一分数是根据相应配置组合中各配置项的限定值与当前系统配置中的相应值是否相符计算得到的、用于表征所述配置组合与当前系统配置匹配程度的分数。
可选的,在比较所述各配置组合针对当前系统配置的第一分数之前,包括:
判断是否已预先计算所述各配置组合的第一分数,若否,则计算所述各配置组合的第一分数。
可选的,所述各配置组合中每个配置组合的第一分数是通过如下步骤计算得到的:
将待计算的配置组合的第一分数设置为第一初始值;
针对所述配置组合中的每个配置项,执行以下操作:
若所述配置项的限定值与当前系统配置中的相应值相符,则在第一分数上累加与所述配置项对应的预设分值;若不相符,则将所述配置组合的第一分数设置为预设的小于所述第一初始值的第二数值,并结束针对所述配置组合的计算过程。
可选的,所述每个配置项具有预设的优先级,与每个配置项对应的预设分值的高低与其优先级高低成正比。
可选的,与每个配置项对应的预设分值是采用如下公式计算得到的:
score=2^i;
其中,^代表幂运算,i为相应配置项在按照优先级从低到高排序的配置项列表中的序号,score为计算得到的预设分值。
可选的,所述选择第一分数最高的配置组合作为所述目标配置组合,包括:
选择第一分数最高的配置组合,作为候选配置组合;
判断所述候选配置组合的数目是否大于1;
若是,比较各候选配置组合的第二分数,并选择第二分数最低的候选配置组合作为所述目标配置组合;
若否,将所述候选配置组合作为所述目标配置组合;
其中,所述第二分数用于表征相应候选配置组合的范围匹配配置项与当前系统配置的差异程度,所述范围匹配配置项是指所述候选配置组合包含的、限定值为范围形式、且与当前系统配置的相应值相符的配置项。
可选的,当所述判断所述候选配置组合的数目是否大于1的结果为是时,在所述比较各候选配置组合的第二分数之前,包括:
判断是否已预先计算出各候选配置组合的第二分数,若否则计算所述各候选配置组合的第二分数。
可选的,所述各候选配置组合中的每个候选配置组合的第二分数,是通过如下步骤计算得到的:
将待计算的候选配置组合的第二分数设置为第二初始值;
针对所述候选配置组合中的每个范围匹配配置项,执行以下操作:
根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,并将所述差异分值累加到所述第二分数上。
可选的,所述根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,包括:
计算所述界限与当前系统配置中相应值的差值的绝对值;
计算所述差值的绝对值与对应于所述范围匹配配置项的优先级因子的乘积,并将所述乘积作为所述差异分值;
其中,所述对应于所述范围匹配配置项的优先级因子的大小与所述范围匹配配置项的优先级高低成正比。
可选的,所述范围匹配配置项的优先级因子采用如下公式计算:
factor=MAX_DIFF^i;
其中,^代表幂运算,MAX_DIFF为预设的最大差值,i为所述范围匹配配置项在按照优先级从低到高排序的配置项列表中的序号,factor为计算得到的优先级因子。
可选的,所述待选取资源包括:文件型资源、或者数据型资源;所述文件型资源包括:布局资源、或者图片资源,所述数据型资源包括:字符串资源、或者尺寸资源。
可选的,所述资源集合包括:文件夹。
可选的,在所述选取与所述目标配置组合及待选取资源的资源类型对应的资源集合中的相应资源之后,还包括:
按照预设方式加载显示所选取的资源。
相应的,本申请还提供一种根据系统配置选取资源的装置,包括:
配置组合获取单元,用于根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述待选取资源对应的各配置组合;
目标配置组合选择单元,用于从所述各配置组合中选择与当前系统配置相匹配的目标配置组合;
资源选取单元,用于根据所述待选取资源的标识信息,选取与所述目标配置组合对应的资源集合中的相应资源。
可选的,所述装置包括:
对应关系集合生成单元,用于在所述配置组合获取单元工作之前,针对各种资源类型,遍历与所述资源类型对应的资源集合,为其中包含的各资源分别生成对应关系表项,所述对应关系表项中至少包含资源的标识信息、以及所述资源的各宿主资源集合所对应的配置组合;用生成的对应关系表项组成所述对应关系集合。
可选的,所述对应关系集合生成单元生成的数据型资源的对应关系表项中,还包含所述资源在相应宿主资源集合中的具体值;
所述资源选取单元具体用于,当所述待选取资源为数据型资源时,根据其标识信息,从所述对应关系集合中提取相应的对应关系表项,并从中获取与所述目标配置组合相对应的具体值。
可选的,所述目标配置组合选择单元,具体用于从所述配置组合获取单元或取的各配置组合中选择与当前系统配置最匹配的目标配置组合。
可选的,所述目标配置组合选择单元,具体用于比较所述各配置组合的第一分数,并选择第一分数最高的配置组合作为所述目标配置组合。
可选的,所述装置还包括:
第一分数判断单元,用于在触发所述目标配置组合选择单元工作之前,判断是否已预先计算所述各配置组合的第一分数,并在是时,触发所述目标配置组合选择单元工作;
第一分数计算单元,用于当所述第一分数判断单元的输出为否时,计算所述各配置组合的第一分数,并触发所述目标配置组合选择单元工作。
可选的,所述第一分数计算单元,包括:
循环控制子单元,用于针对所述各配置组合中的每个配置组合,依次触发以下子单元以计算其第一分数;
第一分数初始化子单元,用于将待计算的配置组合的第一分数设置为第一初始值;
第一分数计算执行子单元,用于针对所述配置组合中的每个配置项,执行以下操作:若所述配置项的限定值与当前系统配置中的相应值相符,则在第一分数上累加与所述配置项对应的预设分值;若不相符,则将所述配置组合的第一分数设置为预设的小于所述第一初始值的第二数值,并结束针对所述配置组合的计算过程。
可选的,所述目标配置组合选择单元包括:
候选配置组合选择子单元,用于比较所述各配置组合针对当前系统配置的第一分数,并选择第一分数最高的配置组合,作为候选配置组合;
数目判断子单元,用于判断所述候选配置组合的数目是否大于1;
第一目标配置组合选择子单元,用于当所述数目判断子单元的输出为是时,比较各候选配置组合的第二分数,并选择第二分数最低的候选配置组合作为所述目标配置组合;
第二目标配置组合选择子单元,用于当所述数目判断子单元的输出为否时,将所述候选配置组合选择子单元所选的候选配置组合作为所述目标配置组合。
可选的,所述目标配置组合选择单元还包括:
第二分数判断子单元,用于当所述数目判断子单元的输出为是时,判断是否已预先计算出各候选配置组合的第二分数,若是则触发所述第一目标配置组合选择子单元工作;
第二分数计算子单元,用于当所述第二分数判断子单元的输出为否时,计算所述各候选配置组合的第二分数,并触发所述第一目标配置组合选择子单元工作。
可选的,所述第二分数计算子单元,包括:
循环控制子单元,用于针对所述各候选配置组合中的每个候选配置组合,依次触发以下子单元以计算其第二分数;
第二分数初始化子单元,用于将待计算的候选配置组合的第二分数设置为第二初始值;
第二分数计算执行子单元,用于针对所述候选配置组合中的每个范围匹配配置项,执行以下操作:根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,并将所述差异分值累加到所述第二分数上。
可选的,所述装置包括:
资源加载显示单元,用于在所述资源选取单元选取资源后,按照预设方式加载显示所选取的资源。
与现有技术相比,本申请具有以下优点:
本申请提供的根据系统配置选取资源的方法,首先根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述标识信息对应的各配置组合,然后从所述各配置组合中选择与当前系统配置相匹配的目标配置组合,并根据所述待选取资源的标识信息,选取与所述目标配置组合及待选取资源的资源类型对应的资源集合中的相应资源。
采用本申请提供的上述方法,由于预先生成了资源与配置组合的对应关系集合,因此在每次选取资源的时候,查询上述对应关系即可快速获知该资源的各宿主资源集合的配置组合信息,大大减少了查找资源集合的操作,从而可以提高资源选取的速度以及系统的性能,在所述资源集合为文件夹时,因为大量减少io操作,效果更为显著。
附图说明
图1是本申请的一种根据系统配置选取资源的方法实施例的流程图;
图2是本申请实施例提供的根据第一分数选取目标配置组合的处理流程图;
图3是本申请实施例提供的根据第一分数和第二分数选取目标配置组合的处理流程图;
图4是本申请的一种根据系统配置选取资源的装置的实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
在本申请中,分别提供了一种根据系统配置选取资源的方法,以及一种根据系统配置选取资源的装置。在下面的实施例中逐一进行详细说明。
本申请技术方案的核心在于:预先对某一应用程序或者系统的各个资源集合中的资源进行归类,生成资源与配置组合的对应关系集合,当应用程序或者系统需要选择某个资源时,可以从预先生成的上述对应关系集合中,选择出与所述资源对应的各个配置组合,并根据其中与当前系统配置相匹配的目标配置组合选取对应的资源。采用上述资源选取方案,不需要执行查找资源集合的操作,从而可以提高资源选取的速度以及系统的性能。
所述资源集合是指存储资源的集合,在大多数操作系统中,所述资源集合通常是指文件夹,由于查找文件夹的操作属于io操作,通常比较耗时,因此采用本申请技术方案的有益效果更为显著。为了便于理解,在以下实施例中以资源集合为文件夹为例,描述采用本申请的技术方案为某一应用程序选取资源的具体实施方式。
在实施本技术方案时,通常需要通过预处理操作生成资源与配置组合的对应关系集合,下面先对这一过程进行说明。所述对应关系集合由若干个对应关系表项组成,每个表项中至少包含资源的标识信息,以及所述资源的各宿主资源集合所对应的配置组合。
其中,资源的标识信息是指用于区分不同资源的信息,对于文件型资源,可以用文件名称作为标识信息,例如:layout1.png,对于数据型资源,可以用资源名称作为标识信息,例如string1。
通常应用程序所需要的资源都存储在一个预设目录下,例如:res目录下,而在该目录下通常有多个文件夹,每个文件夹与资源类型以及配置组合的对应关系可以记录在文件中,也可以体现在文件夹的名称中,例如:文件夹的名称采用如下命名方式:资源类型-配置项1及限定值-配置项2及限定值-......-配置项n及限定值。其中,所述资源类型通常包括:布局资源、图片资源、字符串资源、或者尺寸资源等,在上述列举的资源类型中,前两者属于文件型资源,后两者属于数据型资源。配置项1至N通常是系统配置中的各个不同维度,例如:横/竖屏、屏幕尺寸等,配置项1及限定值、配置项2及限定值、......、配置项n及限定值,组成了本申请所述的配置组合,即:配置组合由若干个配置项以及每个配置项对应的限定值组成。
各种具体资源都存储在相应的文件夹下,通常将布局资源、图片资源等这种文件型资源直接存储在对应的文件夹下面。而对于字符串或者尺寸等数据型的资源通常统一存储在相应文件夹下面的一个数据资源文件中,以javascript为例,对于字符串资源,通常存放在一个string.js文件中,其中以key-value的形式包含了需要放到相应文件夹下的所有字符串资源,其中key通常是字符串资源的标识信息,value则是具体的字符串,即:与所述字符串资源对应的具体值。
为了便于理解,给出一个具体的例子,系统配置包含三个配置项,分别记为a、b和c,资源包含两种:布局资源和字符串资源。在应用程序的res目录下,设置名称如下所示的6个文件夹:layout-a1-b1-c1、layout-b2-c2、layout、string-a1-b1-c1、string-b2-c2、string,其中,layout-b2-c2中配置项a为空,代表该文件夹中的具体资源适用于配置项a的所有可能取值,即,该文件夹下的具体资源在该维度上与系统配置是相符的、相匹配的。对于layout、string-b2-c2,string也是同样的含义,不再赘述。通常将layout文件和string文件夹对应的配置组合称为默认配置组合。
在采用上述方式存储资源的基础上,可以通过预处理操作收集资源信息,生成资源与配置组合的对应关系集合。所述预处理操作可以是应用程序启动过程中执行,也可以是承载所述应用程序的系统在应用程序未启动时执行,该过程针对每个应用程序只需要执行一次,一旦生成了资源与配置组合的对应关系集合,每当应用程序需要选取资源时,就可以在查找该对应关系的基础上快速地完成所需功能。
通过预处理生成资源与配置组合的对应关系集合,其实现方式可以为:针对各种资源类型,遍历与所述资源类型对应的资源集合,为其中包含的各资源分别生成对应关系表项,所述对应关系表项中至少包含资源的标识信息、以及所述资源的各宿主资源集合所对应的配置组合;并用生成的对应关系表项组成所述对应关系集合。
仍沿用上面给出的具体例子,可以先遍历与布局资源相关的三个文件夹layout-a1-b1-c1、layout-b2-c2、layout,收集各个文件夹下包含哪些布局资源,并生成各布局资源与宿主文件夹所对应的配置组合之间的对应关系,例如:layout、layout-a1-b1-c1文件夹都包含布局资源layout1.png,即:这两个文件夹中都存储了名称为layout1.png的具体布局文件,则可以生成资源layout1.png与默认配置组合、a1-b1-c1这两种配置组合的对应关系表项,所述对应关系表项可以采用key-value的形式记录,其中key是资源的标识,value是一个数组(也可以是其他数据结构),数组的每一项是对应的配置组合,在本例子中针对layout1.png生成的所述对应关系表项可以表示为layout1.png:[默认配置组合,a1-b1-c1]。
同样的道理,可以遍历与字符串资源相关的三个文件夹,得到各字符串资源与宿主文件夹所对应的配置组合之间的对应关系,并生成对应关系表项,同样可以采用key-value的形式记录,key为字符串资源的标识,value是相应的配置组合列表。
优选地,对于数据型资源(例如字符串资源、或者尺寸资源),在生成对应关系表项时,不仅可以包含所述资源的标识信息以及所述资源的各宿主资源集合所对应的配置组合,还可以包含所述数据型资源对应于其中每个配置组合的具体值,即:所述数据型资源在每个配置组合对应的宿主资源集合中存储的具体值,例如,数据串资源string1的对应关系表项的形式可以为,string1:[默认配置组合:hello,a1-b1-c1:你好]。采用这种方式可以进一步加快对数据型资源的选取速度。
采用上述方式生成各资源与配置组合的对应关系表项,并由这些表项共同组成本申请所述的资源与配置组合的对应关系集合。上面给出了生成对应关系集合的实施方式,在具体实施时,也可以采用其他方式,只要能够生成各资源与配置组合的对应关系集合就都是可以的。此外,在预处理过程中还可以记录资源的标识信息与资源类型的对应关系。
生成所述对应关系集合后,就可以采用本申请提供的根据系统配置选取资源的方法,从而实现对资源的快速选取。下面通过实施例对所述方法的具体实施方式进行详细说明。
请参考图1,其为本申请的一种根据系统配置选取资源的方法实施例的流程图。所述方法包括如下步骤:
步骤101、根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述待选取资源对应的各配置组合。
由于预先生成了资源与配置组合的对应关系集合,因此不需要执行文件夹的查找操作,可以根据待选取资源的标识信息,查询所述对应关系集合,提取针对所述待选取资源的对应关系表项,并读取其中的配置组合信息,即获取了与所述待选取资源对应的各配置组合。
在具体实施,由于所述对应关系集合中的表项通常是采用key-value形式记录的,因此可以用所述标识信息作为key,查询对应的value,从而得到与所述待选取资源对应的各配置组合。
步骤102、从所述各配置组合中选择与当前系统配置相匹配的目标配置组合。
通常可以通过系统提供的接口,获取当前系统配置,即得到系统配置中各个配置项的值,然后可以针对步骤101获取的每个配置组合,执行如下操作:用当前处理的配置组合的各配置项的限定值与当前系统配置中的相应值进行比较,其中只要有一项限定值与当前系统配置中的相应值不相符,则认为该配置组合与当前系统配置不匹配。通过上述比较过程即可选出与当前系统配置匹配的配置组合,作为所述目标配置组合。
优选地,考虑到与当前系统配置相匹配的配置组合可能有多个,而选取资源通常是为了在显示设备上显示,为了获得更好的展示效果,为用户提供更好的视觉体验,本步骤可以从各配置组合中选择与当前系统配置最为匹配的目标配置组合。具体实施时,可以通过比较与当前系统配置相符合的配置项的个数,选择出最为匹配的目标配置组合。例如:配置组合1和配置组合2都与当前系统配置匹配,但是配置组合1有三个配置项相符,配置组合2仅有1个配置项相符,那么可以认为配置组合1与当前系统配置最为匹配,可以将其作为目标配置组合。
如果采用传统的资源选取方式,需要遍历资源文件夹才能得到与待选取资源对应的各配置组合,并从中选择最为匹配的目标配置组合;而采用本申请的技术方案,直接查询预先生成的对应关系集合即可获取与待选取资源对应的各配置组合,由于大大减少了对文件夹的操作,可以显著提高资源的选取速度,提高执行效率。
进一步优选地,本实施例还提供为所述各配置组合计算分数、并根据分数选择最匹配的目标配置组合的优选实施方式:比较所述各配置组合的第一分数,并选择第一分数最高的配置组合作为所述目标配置组合;其中,所述第一分数是根据相应配置组合中各配置项的限定值与当前系统配置的相应值是否相符计算得到的、用于表征所述配置组合与当前系统配置匹配程度的分数,并且分数越高、匹配程度也相应越高。采用这种优选实施方式,相当于通过计算分数的方式将配置组合与当前系统配置的匹配程度进行了量化,从而使得选取目标配置组合的过程更为清晰、简洁。
所述各配置组合的第一分数可以是已经预先计算出来的、也可能尚未计算,因此在进行比较之前可以先进行判断,如果尚未计算则先计算各配置组合的第一分数,然后再执行比较操作。下面结合图2对处理流程进行描述。
步骤102-1、判断是否已预先计算所述各配置组合的第一分数,若是直接转到步骤102-3执行,否则执行步骤102-2。
所述各配置组合的第一分数可以在执行本步骤之前预先计算得到,例如:应用程序可以在启动时,或者,在接收到系统配置变化的广播消息时,已经根据当时的系统配置计算出了对应于所述各配置组合的第一分数,并存储了所述第一分数,并且在计算所述第一分数后系统配置没有发生变化,那么本步骤的判断结果为是,可以直接执行步骤102-3进行分数比较;如果所述各配置组合针对当前系统配置的第一分数尚未计算,那么本步骤执行步骤102-2计算所述各配置组合的第一分数。
步骤102-2、计算所述各配置组合的第一分数。
各配置组合的第一分数,用于表征相应配置组合与当前系统配置的匹配程度,通常分数越高、匹配程度也相应越高。因此本步骤可以针对其中每个配置组合,根据各配置项的限定值与当前系统配置的相应值是否相符计算所述第一分数。
此处给出计算配置组合的第一分数的一种具体方法:
将待计算的配置组合的第一分数设置为第一初始值;针对所述配置组合中的每个配置项,执行以下操作:若所述配置项的限定值与当前系统配置中的相应值相符,则在第一分数上累加与所述配置项对应的预设分值;若不相符,则将所述配置组合的第一分数设置为预设的小于所述第一初始值的第二数值,并结束针对所述配置组合的计算过程。
在具体实施时,所述第一初始值可以设置为0,所述第二数值可以设置为负数值,例如-1,每个配置项对应的预设分值可以是相同的。下面以默认配置组合、配置组合a1-b1-c1、配置组合b2-c2为例进行说明,其中每个配置项的预设分值为5,当前系统配置为a1-b1-c1,那么对于配置组合a1-b1-c1,由于其中各个配置项的限定值与系统配置都相符,因此第一分数为5+5+5=15,对于配置组合b2-c2,由于存在与系统配置不相符的配置项,因此第一分数为预设的第二数值值-1,而默认配置组合的第一分数为0。
优选地,由于各配置组合包含的配置项都对应于系统配置中的配置项,而系统配置的各配置项可能具有不同的优先级,体现其对资源选取所起作用的大小。本实施例提供在配置项具有不同优先级的情况下,根据配置项的优先级计算并设置相应预设分值的优选实施方式。
在具体应用中,系统配置中的各个配置项代表的含义不同,对于选取资源所起到的作用也可能不同。例如,可以设置配置项“MCC和MNC”(移动国家码和移动网络码)比配置项“语言和地区”的优先级高,那么如果对于同一资源,其具体资源1对应的“MCC和MNC”与系统配置相匹配,具体资源2对应的“语言和地区”与系统配置相匹配,在其他配置项与系统匹配状况相同的情况下,通常会选择“MCC和MNC”与系统配置相匹配的那个具体资源。
为了实现上述资源选取效果,可以根据系统配置包含的每个配置项的优先级,计算每个配置项的预设分值,并且预设分值的高低与其优先级高低成正比,这样可以差异化地体现不同配置项在资源选取中的作用。
在上述基于优先级设置预设分值的基础上,可以采用如下公式计算与每个配置项对应的预设分值:score=2^i;
其中,^代表幂运算,i为相应配置项在按照优先级从低到高排序的配置项列表中的序号,score为计算得到的预设分值。
例如,a、b、c三个配置项,优先级关系为a高于b,b高于c,按照优先级从低到高排序得到的列表为c、b、a,分别对应序号0、1、2,因此配置项c的预设分值为2^0=1,配置项b的预设分值为2^1=2,配置项a的预设分值为2^2=4,那么如果当前系统配置为:a1-b1-c1,那么默认配置组合的第一分数是0、配置组合a1-b1-c1的第一分数是4+2+1=7、配置组合b2-c2的第一分数是-1。
利用以2为底的幂运算计算各个配置组合的第一分数,使得优先级高的配置项对于选取资源的影响力可以大于优先级低的各个配置项的总和,能够更加准确地体现配置项优先级在资源选取中的作用。
在配置项具有不同优先级的情况下,如果采用传统的资源选取方法,在通过遍历文件夹获取与待选取资源对应的各配置组合后,需要根据配置项的优先级设置从高到低逐一判断哪个配置组合更匹配当前的系统配置,处理过程繁琐,效率低下。而采用上述优选实施方式,通过预设分值将配置项的优先级特征量化,并根据在此基础上计算得到的各配置组合的第一分数选择目标配置组合,能够简化处理过程,提高执行效率。
上面列举了计算各配置组合的第一分数的各种方式,在具体实施时,可以根据需要选择相应的方式,例如:各配置项不具有优先级设置时,可以采用相同预设分值的计算方案,各配置项具有优先级设置时,可以采用根据优先级计算并设置预设分值的优选实施方式。需要说明的是,对于预先计算各配置组合的第一分数的实施方式,也可以采用上述计算方式。
步骤102-3、比较所述各配置组合的第一分数,并选择第一分数最高的配置组合作为所述目标配置组合。
执行到本步骤,说明已经计算出了各配置组合针对当前系统配置的第一分数,本步骤通过比较,从中选择第一分数最高的配置组合,即:与当前系统配置最为匹配的配置组合,并将该配置组合作为所述目标配置组合。此后,可以执行步骤103根据目标配置组合选取相应的资源。
需要说明的是,上述给出了计算各配置组合的第一分数、并选择第一分数最高的配置组合作为目标配置组合的优选实施方式。本领域技术人员应该理解,在具体实施时,可以在上述实施方式基础上进行各种变更,也就是说,可以采用不同的方式计算各配置组合的第一分数,并选择第一分数满足预设要求的配置组合作为目标配置组合,例如:可以在计算第一分数时采用减少预设分值的方式、并选择第一分数最低的配置组合作为目标配置组合。这些都属于选择目标配置组合的具体实施方式的变更,都在本申请的保护范围之内。
在选择第一分数最高的配置组合作为目标配置组合的实施方式中,分数最高的配置组合可能有两个或者两个以上,在这种情况下,可以任意选择一个作为所述目标配置组合。
优选地,当第一分数最高的配置组合不止一个时,本实施例还提供根据范围匹配配置项计算第二分数、并根据第二分数选择目标配置组合的优选实施方式,从而可以在有多个第一分数最高的配置组合的情况下,根据范围匹配状况进一步从中选出与当前系统配置最为匹配的配置组合作为所述目标配置组合。其中,第一分数最高的配置组合称为候选配置组合。
所述范围匹配配置项是指候选配置组合包含的、其限定值为范围形式、且与当前系统配置的相应值相符的配置项。例如:某一候选配置组合包含宽度配置项,其限定值为大于等于512(也可以描述为最小宽度512),512为该限定值中的界限;另一个候选配置组合也包含宽度配置项,其限定值为大于等于1024(也可以描述为最小宽度1024),1024为该限定值中的界限;如果当前系统配置中的宽度值为1024,那么这两个候选配置组合中的宽度配置项都与系统配置相符,都是相应候选配置组合中的范围匹配配置项。
不难看出,虽然上述两个候选配置组合的宽度配置项与系统配置都相符,但是相符程度存在一定差异,限定值界限为1024的配置项的匹配程度更高。基于上述考虑,可以通过计算表征候选配置组合的范围匹配配置项与当前系统配置的差异程度的第二分数、并比较第二分数的方式,选出匹配程度最高的(即,与当前系统配置最为匹配的)目标配置组合,通常第二分数越高代表差异程度越大,因此可以选择第二分数最低的候选配置组合作为所述目标配置组合。
在此基础上,步骤102-3可以进一步细化为以下步骤102-3-1至102-3-6,下面结合图3对各个步骤作进一步说明。
步骤102-3-1、比较所述各配置组合的第一分数,并选择第一分数最高的配置组合,作为候选配置组合。
步骤101获取的各配置组合的第一分数已经计算得出,本步骤通过比较,从中选择第一分数最高的配置组合,作为候选配置组合。
步骤102-3-2、判断所述候选配置组合的数目是否大于1;若是,执行步骤102-3-3,否则执行步骤102-3-6。
步骤102-3-3、判断是否已预先计算出各候选配置组合的第二分数;若是则执行步骤102-3-5,否则执行步骤102-3-4。
与第一分数类似,所述各候选配置组合的第二分数可以是预先计算得到的,例如在应用程序启动时或者接收到系统配置变更通知时已计算得出,也可能尚未计算。因此本步骤对此进行判断,如果已经预先计算出各候选配置组合的第二分数则执行步骤102-3-5进行比较,否则执行步骤102-3-4进行计算。
步骤102-3-4、计算所述各候选配置组合的第二分数。
各候选配置组合的第二分数用于表征相应候选配置组合的范围匹配配置项与当前系统配置的差异程度,分数越高、差异程度也相应越高。因此本步骤可以针对其中每个候选配置组合,根据各范围匹配配置项的限定值界限与当前系统配置的相应值的差异计算所述第二分数。
此处给出计算候选配置组合的第二分数的一种具体方法:
将待计算的候选配置组合的第二分数设置为第二初始值;针对所述候选配置组合中的每个范围匹配配置项,执行以下操作:根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,并将计算得到的差异分值累加到所述第二分数上。
在具体实施时,所述第二初始值可以设置为0,在生成所述差异分值时,可以直接用已计算得到的绝对值作为所述差异分值。
优选地,考虑到范围匹配配置项都对应于系统配置中的配置项,而系统配置中的各个配置项可能具有不同的优先级,体现其对资源选取所起作用的大小。本实施例提供在配置项具有不同优先级的情况下,根据各范围匹配配置项的优先级因子计算差异分值的优选实施方式,从而能够差异化地体现不同配置项在资源选取中的作用。
采用上述优选实施方式,所述根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值,生成差异分值,包括:计算所述界限与当前系统配置中相应值的差值的绝对值;计算所述差值的绝对值与对应于所述范围匹配配置项的优先级因子的乘积,并将所述乘积作为所述差异分值;其中,所述对应于所述范围匹配配置项的优先级因子的大小与所述范围匹配配置项的优先级高低成正比。
所述优先级因子可以采用如下公式计算:factor=MAX_DIFF^i;
其中,^代表幂运算,MAX_DIFF为预设的最大差值,i为所述范围匹配配置项在按照优先级从低到高排序的配置项列表中的序号,factor为计算得到的优先级因子。
例如,某候选配置组合包含:宽度配置项,其限定值为大于等于512,当前系统配置中的宽度配置项的值为1024,预设的最大差值为10000,宽度配置项在按照优先级从低到高排序的配置项列表中的序号为3,那么所述宽度配置项的差异分值为:|1024-512|*(10000^3)。
在具体实施时,也可以在计算出限定值中的界限与当前系统配置中相应值的差值的绝对值后,先判断该差值的绝对值是否已大于预设的最大差值,若大于,则可以直接将当前计算的候选配置组合的第二分数设置为可能取值中的最大值,并结束对所述候选配置组合的第二分数的计算过程。
步骤102-3-5、比较各候选配置组合的第二分数,并选择第二分数最低的候选配置组合作为所述目标配置组合。
对于各候选配置组合来说,第二分数越低说明其与当前系统配置的差异程度越小,因此本步骤选择第二分数最低的候选配置组合作为所述目标配置组合,从而完成对目标配置组合的选择操作。
步骤102-3-6、将所述候选配置组合作为所述目标配置组合。
执行到本步骤,说明第一分数最高的配置组合只有一个,因此可以直接将该配置组合作为所述目标配置组合。
步骤103、根据所述待选取资源的标识信息,选取与所述目标配置组合对应的资源集合中的相应资源。
执行步骤102后,已经选取了与当前系统配置相匹配的目标配置组合,本步骤可以从与所述目标配置组合对应的文件夹中,选取所需资源。
在具体实施中,可以根据所述待选取资源的标识信息,在对应于目标配置组合的各资源集合中查找并选取相应资源。由于在确定所述目标配置组合时,利用了预先生成的资源与配置组合的对应关系集合,因此大大减少了资源集合的查找操作,提高资源选取的速度。
此外,本步骤也可以根据待选取资源的标识信息,选取与所述目标配置组合及待选取资源的资源类型对应的资源集合中的相应资源。采用这种方式,可以进一步减少对资源集合的查找操作、提高资源选取的速度。
例如,待选取资源为文件型资源,其标识信息为:layout1.png,步骤102选取的目标配置组合为a1-b1-c1,根据标识信息中包含的资源类型指示信息、或者根据在预处理过程中记录的资源标识信息与资源类型的对应关系,可以知道待选取资源layout1.png的资源类型为布局资源,那么对应的文件夹为:layout-a1-b1-c1,本步骤就可以选取在该文件夹中存储的、标识信息为layout1.png的资源文件,作为被选取的资源。
同样的,如果待选取资源为数据型资源,则可以根据所述标识信息,从对应文件夹中的数据资源文件中读取相应的具体值,作为被选取的资源。
优选地,对于待选取资源为数据型资源的情况,如果在预先生成的资源与配置组合的对应关系集合中,针对所述待选取资源的对应关系表项中,不仅包含所述资源的标识信息以及所述资源的各宿主文件夹所对应的配置组合,还包含所述资源对应于其中每个配置组合的具体值,那么本步骤可以直接根据所述待选取资源的标识信息,从所述对应关系集合中提取相应的对应关系表项,并从中获取与所述目标配置组合相对应的具体值,作为被选取的资源。对于数据型资源采用这种处理方式,能够在选取资源时,进一步减少io操作,提高执行效率。
至此,通过上述步骤101-步骤103,对本实施例提供的根据系统配置选取资源的方法的具体实施方式进行了详细说明。在具体实施时,所述方法通常应用于需要加载显示资源的场景,那么在执行完步骤103之后,还可以按照预设的方式加载显示所选取的资源,例如在图片框中显示所选取的图片资源、或者在文本框中显示所选取的字符串资源。
综上所述,本实施例提供的根据系统配置选取资源的方法,由于预先生成了资源与配置组合的对应关系集合,因此在每次选取资源的时候,查询上述对应关系即可快速获知存储该资源的各宿主资源集合的配置组合信息,大大减少了查找资源集合的操作,从而可以提高资源选取的速度以及系统的性能,在所述资源集合为文件夹时,因为大量减少io操作,效果更为显著。
在上述的实施例中,提供了一种根据系统配置选取资源的方法,与之相对应的,本申请还提供一种根据系统配置选取资源的装置。请参看图4,其为本申请的一种根据系统配置选取资源的装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种根据系统配置选取资源的装置,包括:配置组合获取单元401,用于根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述待选取资源对应的各配置组合;目标配置组合选择单元402,用于从所述各配置组合中选择与当前系统配置相匹配的目标配置组合;资源选取单元403,用于根据所述待选取资源的标识信息,选取与所述目标配置组合对应的资源集合中的相应资源。
可选的,所述装置包括:
对应关系集合生成单元,用于在所述配置组合获取单元工作之前,针对各种资源类型,遍历与所述资源类型对应的资源集合,为其中包含的各资源分别生成对应关系表项,所述对应关系表项中至少包含资源的标识信息、以及所述资源的各宿主资源集合所对应的配置组合;用生成的对应关系表项组成所述对应关系集合。
可选的,所述对应关系集合生成单元生成的数据型资源的对应关系表项中,还包含所述资源在相应宿主资源集合中的具体值;
所述资源选取单元具体用于,当所述待选取资源为数据型资源时,根据其标识信息,从所述对应关系集合中提取相应的对应关系表项,并从中获取与所述目标配置组合相对应的具体值。
可选的,所述目标配置组合选择单元,具体用于从所述配置组合获取单元或取的各配置组合中选择与当前系统配置最匹配的目标配置组合。
可选的,所述目标配置组合选择单元,具体用于比较所述各配置组合的第一分数,并选择第一分数最高的配置组合作为所述目标配置组合。
可选的,所述装置还包括:
第一分数判断单元,用于在触发所述目标配置组合选择单元工作之前,判断是否已预先计算所述各配置组合的第一分数,并在是时,触发所述目标配置组合选择单元工作;
第一分数计算单元,用于当所述第一分数判断单元的输出为否时,计算所述各配置组合的第一分数,并触发所述目标配置组合选择单元工作。
可选的,所述第一分数计算单元,包括:
循环控制子单元,用于针对所述各配置组合中的每个配置组合,依次触发以下子单元以计算其第一分数;
第一分数初始化子单元,用于将待计算的配置组合的第一分数设置为第一初始值;
第一分数计算执行子单元,用于针对所述配置组合中的每个配置项,执行以下操作:若所述配置项的限定值与当前系统配置中的相应值相符,则在第一分数上累加与所述配置项对应的预设分值;若不相符,则将所述配置组合的第一分数设置为预设的小于所述第一初始值的第二数值,并结束针对所述配置组合的计算过程。
可选的,所述目标配置组合选择单元包括:
候选配置组合选择子单元,用于比较所述各配置组合针对当前系统配置的第一分数,并选择第一分数最高的配置组合,作为候选配置组合;
数目判断子单元,用于判断所述候选配置组合的数目是否大于1;
第一目标配置组合选择子单元,用于当所述数目判断子单元的输出为是时,比较各候选配置组合的第二分数,并选择第二分数最低的候选配置组合作为所述目标配置组合;
第二目标配置组合选择子单元,用于当所述数目判断子单元的输出为否时,将所述候选配置组合选择子单元所选的候选配置组合作为所述目标配置组合。
可选的,所述目标配置组合选择单元还包括:
第二分数判断子单元,用于当所述数目判断子单元的输出为是时,判断是否已预先计算出各候选配置组合的第二分数,若是则触发所述第一目标配置组合选择子单元工作;
第二分数计算子单元,用于当所述第二分数判断子单元的输出为否时,计算所述各候选配置组合的第二分数,并触发所述第一目标配置组合选择子单元工作。
可选的,所述第二分数计算子单元,包括:
循环控制子单元,用于针对所述各候选配置组合中的每个候选配置组合,依次触发以下子单元以计算其第二分数;
第二分数初始化子单元,用于将待计算的候选配置组合的第二分数设置为第二初始值;
第二分数计算执行子单元,用于针对所述候选配置组合中的每个范围匹配配置项,执行以下操作:根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,并将所述差异分值累加到所述第二分数上。
可选的,所述装置包括:
资源加载显示单元,用于在所述资源选取单元选取资源后,按照预设方式加载显示所选取的资源。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (24)
1.一种根据系统配置选取资源的方法,其特征在于,包括:
根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述待选取资源对应的各配置组合;
从所述各配置组合中选择与当前系统配置相匹配的目标配置组合;
根据所述待选取资源的标识信息,选取与所述目标配置组合对应的资源集合中的相应资源;
其中,所述目标配置组合是通过如下方法获得:
比较各配置组合的第一分数,选择第一分数最高的各配置组合,作为候选配置组合;
判断所述候选配置组合的数目是否大于1;
若是,比较各候选配置组合的第二分数,并选择第二分数最低的候选配置组合作为所述目标配置组合;
所述第一分数是根据相应配置组合中各配置项的限定值与当前系统配置中的相应值是否相符计算得到的、用于表征所述配置组合与当前系统配置匹配程度的分数;
所述第二分数用于表征相应候选配置组合的范围匹配配置项与当前系统配置的差异程度,所述范围匹配配置项是指所述候选配置组合包含的、限定值为范围形式、且与当前系统配置的相应值相符的配置项。
2.根据权利要求1所述的根据系统配置选取资源的方法,其特征在于,通过以下步骤预先生成所述资源与配置组合的对应关系集合:
针对各种资源类型,遍历与所述资源类型对应的资源集合,为其中包含的各资源分别生成对应关系表项,所述对应关系表项中至少包含资源的标识信息、以及所述资源的各宿主资源集合所对应的配置组合;
用生成的对应关系表项组成所述对应关系集合。
3.根据权利要求2所述的根据系统配置选取资源的方法,其特征在于,在为数据型资源生成的对应关系表项中,还包含所述资源对应于其中每个配置组合的具体值;
当所述待选取资源为数据型资源时,所述根据所述待选取资源的标识信息,选取与所述目标配置组合及待选取资源的资源类型对应的资源集合中的相应资源,包括:根据所述待选取资源的标识信息,从所述对应关系集合中提取相应的对应关系表项,并从中获取与所述目标配置组合相对应的具体值。
4.根据权利要求1所述的根据系统配置选取资源的方法,其特征在于,在比较所述各配置组合针对当前系统配置的第一分数之前,包括:
判断是否已预先计算所述各配置组合的第一分数,若否,则计算所述各配置组合的第一分数。
5.根据权利要求4所述的根据系统配置选取资源的方法,其特征在于,所述各配置组合中每个配置组合的第一分数是通过如下步骤计算得到的:
将待计算的配置组合的第一分数设置为第一初始值;
针对所述配置组合中的每个配置项,执行以下操作:
若所述配置项的限定值与当前系统配置中的相应值相符,则在第一分数上累加与所述配置项对应的预设分值;若不相符,则将所述配置组合的第一分数设置为预设的小于所述第一初始值的第二数值,并结束针对所述配置组合的计算过程。
6.根据权利要求5所述的根据系统配置选取资源的方法,其特征在于,所述每个配置项具有预设的优先级,与每个配置项对应的预设分值的高低与其优先级高低成正比。
7.根据权利要求6所述的根据系统配置选取资源的方法,其特征在于,与每个配置项对应的预设分值是采用如下公式计算得到的:
score = 2^i;
其中,^代表幂运算,i 为相应配置项在按照优先级从低到高排序的配置项列表中的序号,score为计算得到的预设分值。
8.根据权利要求1所述的根据系统配置选取资源的方法,其特征在于,所述判断所述候选配置组合的数目是否大于1,还包括:
若否,将所述候选配置组合作为所述目标配置组合。
9.根据权利要求1所述的根据系统配置选取资源的方法,其特征在于,当所述判断所述候选配置组合的数目是否大于1的结果为是时,在所述比较各候选配置组合的第二分数之前,包括:
判断是否已预先计算出各候选配置组合的第二分数,若否则计算所述各候选配置组合的第二分数。
10.根据权利要求9所述的根据系统配置选取资源的方法,其特征在于,所述各候选配置组合中的每个候选配置组合的第二分数,是通过如下步骤计算得到的:
将待计算的候选配置组合的第二分数设置为第二初始值;
针对所述候选配置组合中的每个范围匹配配置项,执行以下操作:
根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,并将所述差异分值累加到所述第二分数上。
11.根据权利要求10所述的根据系统配置选取资源的方法,其特征在于,所述根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,包括:
计算所述界限与当前系统配置中相应值的差值的绝对值;
计算所述差值的绝对值与对应于所述范围匹配配置项的优先级因子的乘积,并将所述乘积作为所述差异分值;
其中,所述对应于所述范围匹配配置项的优先级因子的大小与所述范围匹配配置项的优先级高低成正比。
12.根据权利要求11所述的根据系统配置选取资源的方法,其特征在于,所述范围匹配配置项的优先级因子采用如下公式计算:
factor = MAX_DIFF ^ i;
其中,^代表幂运算,MAX_DIFF为预设的最大差值,i为所述范围匹配配置项在按照优先级从低到高排序的配置项列表中的序号,factor为计算得到的优先级因子。
13.根据权利要求1所述的根据系统配置选取资源的方法,其特征在于,所述待选取资源包括:文件型资源、或者数据型资源;所述文件型资源包括:布局资源、或者图片资源,所述数据型资源包括:字符串资源、或者尺寸资源。
14.根据权利要求1所述的根据系统配置选取资源的方法,其特征在于,所述资源集合包括:文件夹。
15.根据权利要求3所述的根据系统配置选取资源的方法,其特征在于,在所述选取与所述目标配置组合及待选取资源的资源类型对应的资源集合中的相应资源之后,还包括:
按照预设方式加载显示所选取的资源。
16.一种根据系统配置选取资源的装置,其特征在于,包括:
配置组合获取单元,用于根据待选取资源的标识信息,查询预先生成的资源与配置组合的对应关系集合,获取与所述待选取资源对应的各配置组合;
目标配置组合选择单元,用于从所述各配置组合中选择与当前系统配置相匹配的目标配置组合;
资源选取单元,用于根据所述待选取资源的标识信息,选取与所述目标配置组合对应的资源集合中的相应资源;
其中,所述目标配置组合选择单元包括:
候选配置组合选择子单元,用于比较所述各配置组合针对当前系统配置的第一分数,并选择第一分数最高的配置组合,作为候选配置组合;
数目判断子单元,用于判断所述候选配置组合的数目是否大于1;
第一目标配置组合选择子单元,用于当所述数目判断子单元的输出为是时,比较各候选配置组合的第二分数,并选择第二分数最低的候选配置组合作为所述目标配置组合;
所述第一分数是根据相应配置组合中各配置项的限定值与当前系统配置中的相应值是否相符计算得到的、用于表征所述配置组合与当前系统配置匹配程度的分数;
所述第二分数用于表征相应候选配置组合的范围匹配配置项与当前系统配置的差异程度,所述范围匹配配置项是指所述候选配置组合包含的、限定值为范围形式、且与当前系统配置的相应值相符的配置项。
17.根据权利要求16所述的根据系统配置选取资源的装置,其特征在于,包括:
对应关系集合生成单元,用于在所述配置组合获取单元工作之前,针对各种资源类型,遍历与所述资源类型对应的资源集合,为其中包含的各资源分别生成对应关系表项,所述对应关系表项中至少包含资源的标识信息、以及所述资源的各宿主资源集合所对应的配置组合;用生成的对应关系表项组成所述对应关系集合。
18.根据权利要求17所述的根据系统配置选取资源的装置,其特征在于,所述对应关系集合生成单元生成的数据型资源的对应关系表项中,还包含所述资源在相应宿主资源集合中的具体值;
所述资源选取单元具体用于,当所述待选取资源为数据型资源时,根据其标识信息,从所述对应关系集合中提取相应的对应关系表项,并从中获取与所述目标配置组合相对应的具体值。
19.根据权利要求16所述的根据系统配置选取资源的装置,其特征在于,还包括:
第一分数判断单元,用于在触发所述目标配置组合选择单元工作之前,判断是否已预先计算所述各配置组合的第一分数,并在是时,触发所述目标配置组合选择单元工作;
第一分数计算单元,用于当所述第一分数判断单元的输出为否时,计算所述各配置组合的第一分数,并触发所述目标配置组合选择单元工作。
20.根据权利要求19所述的根据系统配置选取资源的装置,其特征在于,所述第一分数计算单元,包括:
循环控制子单元,用于针对所述各配置组合中的每个配置组合,依次触发以下子单元以计算其第一分数;
第一分数初始化子单元,用于将待计算的配置组合的第一分数设置为第一初始值;
第一分数计算执行子单元,用于针对所述配置组合中的每个配置项,执行以下操作:若所述配置项的限定值与当前系统配置中的相应值相符,则在第一分数上累加与所述配置项对应的预设分值;若不相符,则将所述配置组合的第一分数设置为预设的小于所述第一初始值的第二数值,并结束针对所述配置组合的计算过程。
21.根据权利要求16所述的根据系统配置选取资源的装置,其特征在于,还包括:
第二目标配置组合选择子单元,用于当所述数目判断子单元的输出为否时,将所述候选配置组合选择子单元所选的候选配置组合作为所述目标配置组合。
22.根据权利要求21所述的根据系统配置选取资源的装置,其特征在于,所述目标配置组合选择单元还包括:
第二分数判断子单元,用于当所述数目判断子单元的输出为是时,判断是否已预先计算出各候选配置组合的第二分数,若是则触发所述第一目标配置组合选择子单元工作;
第二分数计算子单元,用于当所述第二分数判断子单元的输出为否时,计算所述各候选配置组合的第二分数,并触发所述第一目标配置组合选择子单元工作。
23.根据权利要求22所述的根据系统配置选取资源的装置,其特征在于,所述第二分数计算子单元,包括:
循环控制子单元,用于针对所述各候选配置组合中的每个候选配置组合,依次触发以下子单元以计算其第二分数;
第二分数初始化子单元,用于将待计算的候选配置组合的第二分数设置为第二初始值;
第二分数计算执行子单元,用于针对所述候选配置组合中的每个范围匹配配置项,执行以下操作:根据所述范围匹配配置项的限定值中的界限与当前系统配置中相应值的差值的绝对值,生成差异分值,并将所述差异分值累加到所述第二分数上。
24.根据权利要求16所述的根据系统配置选取资源的装置,其特征在于,所述装置包括:
资源加载显示单元,用于在所述资源选取单元选取资源后,按照预设方式加载显示所选取的资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610149977.9A CN107203418B (zh) | 2016-03-16 | 2016-03-16 | 根据系统配置选取资源的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610149977.9A CN107203418B (zh) | 2016-03-16 | 2016-03-16 | 根据系统配置选取资源的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107203418A CN107203418A (zh) | 2017-09-26 |
CN107203418B true CN107203418B (zh) | 2021-02-02 |
Family
ID=59903557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610149977.9A Active CN107203418B (zh) | 2016-03-16 | 2016-03-16 | 根据系统配置选取资源的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107203418B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532092A (zh) * | 2019-08-21 | 2019-12-03 | 云湾科技(嘉兴)有限公司 | 资源匹配方法、装置及设备 |
CN112114919B (zh) * | 2020-09-11 | 2021-09-24 | 珠海格力电器股份有限公司 | 一种屏幕旋转显示的优化方法及装置 |
CN112035187A (zh) * | 2020-09-16 | 2020-12-04 | 北京思明启创科技有限公司 | 资源加载及打包方法、装置、设备、介质 |
CN114661139B (zh) * | 2020-12-23 | 2024-02-13 | 龙芯中科技术股份有限公司 | 降低功耗的方法、装置、设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887390A (zh) * | 2010-06-23 | 2010-11-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用软件评级方法及装置 |
CN102650968A (zh) * | 2012-03-30 | 2012-08-29 | 奇智软件(北京)有限公司 | 终端系统的环境构建方法和装置、以及终端系统 |
CN102663073A (zh) * | 2012-03-31 | 2012-09-12 | 奇智软件(北京)有限公司 | 基于被下载文件进行推荐的方法及系统 |
CN103631592A (zh) * | 2013-11-29 | 2014-03-12 | 小米科技有限责任公司 | 一种显示资源的配置、调用方法、装置及设备 |
CN104050296A (zh) * | 2012-03-31 | 2014-09-17 | 奇智软件(北京)有限公司 | 基于被下载文件进行推荐的方法及系统 |
CN104461741A (zh) * | 2014-12-15 | 2015-03-25 | 北京奇虎科技有限公司 | 基于图形设备接口的计算设备优化方法及装置 |
CN104615426A (zh) * | 2015-01-20 | 2015-05-13 | 宇龙计算机通信科技(深圳)有限公司 | 运行多系统的方法、装置及终端 |
-
2016
- 2016-03-16 CN CN201610149977.9A patent/CN107203418B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887390A (zh) * | 2010-06-23 | 2010-11-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用软件评级方法及装置 |
CN102650968A (zh) * | 2012-03-30 | 2012-08-29 | 奇智软件(北京)有限公司 | 终端系统的环境构建方法和装置、以及终端系统 |
CN102663073A (zh) * | 2012-03-31 | 2012-09-12 | 奇智软件(北京)有限公司 | 基于被下载文件进行推荐的方法及系统 |
CN104050296A (zh) * | 2012-03-31 | 2014-09-17 | 奇智软件(北京)有限公司 | 基于被下载文件进行推荐的方法及系统 |
CN103631592A (zh) * | 2013-11-29 | 2014-03-12 | 小米科技有限责任公司 | 一种显示资源的配置、调用方法、装置及设备 |
CN104461741A (zh) * | 2014-12-15 | 2015-03-25 | 北京奇虎科技有限公司 | 基于图形设备接口的计算设备优化方法及装置 |
CN104615426A (zh) * | 2015-01-20 | 2015-05-13 | 宇龙计算机通信科技(深圳)有限公司 | 运行多系统的方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN107203418A (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095592B (zh) | 一种前景应用程序场景同步方法及装置、系统 | |
CN107015985B (zh) | 一种数据存储与获取方法及装置 | |
US20200142860A1 (en) | Caseless file lookup in a distributed file system | |
CN107203418B (zh) | 根据系统配置选取资源的方法及装置 | |
US11544300B2 (en) | Reducing storage required for an indexing structure through index merging | |
US8977623B2 (en) | Method and system for search engine indexing and searching using the index | |
CN108021590B (zh) | 一种目标对象属性确定方法、属性更新方法及装置 | |
US20210326471A1 (en) | Methods and apparatuses for chaining service data | |
CN106033416A (zh) | 一种字符串处理方法及装置 | |
CN103136228A (zh) | 一种图片搜索方法以及图片搜索装置 | |
US11100073B2 (en) | Method and system for data assignment in a distributed system | |
CN107391535B (zh) | 在文档应用中搜索文档的方法及装置 | |
US20170270106A1 (en) | Methods and apparatuses for storing file path and accessing local file | |
CN104537341A (zh) | 人脸图片信息获取方法和装置 | |
US20240104139A1 (en) | Methods and apparatuses for automatically completing query statement for graph database | |
CN115185998A (zh) | 目标字段查找方法及装置、服务器、计算机可读存储介质 | |
CN110674387B (zh) | 用于数据搜索的方法、装置和计算机存储介质 | |
US11429660B2 (en) | Photo processing method, device and computer equipment | |
US20170091244A1 (en) | Searching a Data Structure | |
CN108153777B (zh) | 数据访问信息的获取方法及装置 | |
CN110019544B (zh) | 数据查询方法及系统 | |
CN112579877A (zh) | 信源系统的控制方法、装置、存储介质和设备 | |
CN110928895A (zh) | 一种数据查询、数据表建立方法、装置及设备 | |
CN111597368A (zh) | 一种数据处理方法及装置 | |
CN112596825A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201214 Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China Applicant after: Zebra smart travel network (Hong Kong) Limited Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Applicant before: Alibaba Group Holding Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |