CN110245017B - 资源标识的分配方法和设备 - Google Patents
资源标识的分配方法和设备 Download PDFInfo
- Publication number
- CN110245017B CN110245017B CN201910457809.XA CN201910457809A CN110245017B CN 110245017 B CN110245017 B CN 110245017B CN 201910457809 A CN201910457809 A CN 201910457809A CN 110245017 B CN110245017 B CN 110245017B
- Authority
- CN
- China
- Prior art keywords
- resource
- identifier
- type
- name
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 description 11
- 239000003086 colorant Substances 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 239000003973 paint Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种资源标识的分配方法和设备。所述方法包括:获取系统中的系统资源的唯一标识,其中,所述系统资源为在所述系统能够使用的资源,所述唯一标识在所述系统升级前或者所述系统升级后都不会发生变化;根据所述唯一标识进行哈希计算,从而得到哈希值;生成系统资源的资源标识,其中,所述资源标识包括资源包标识、类型标识以及条目标识,所述条目标识包括所述哈希值,所述资源包标识用于表示所述资源是系统资源还是应用资源,所述类型标识用于表示所属的资源类型的标识,所述条目标识用于表示在所属资源类型中的标识。所述方法能够保证系统升级前以及系统升级后的资源分配到的资源标识保持不变。
Description
技术领域
本申请涉及终端领域,尤其涉及一种资源标识的分配方法和设备。
背景技术
随着软件应用的逐渐增多,需要使用到的资源的数量也逐渐增多。为了满足日益增长的资源需求,系统除了提供系统资源给软件应用开发者使用之外,还允许开发者根据自身产品需求,增加个性化的资源。
但是,现有技术中系统升级前以及系统升级后的资源分配到的标识会出现混乱,导致错误的资源调用,使得程序和系统无法正常运行。
发明内容
本申请提供了一种资源标识的分配方法和设备,能够保证系统升级前以及系统升级后的资源分配到的资源标识保持不变。
第一方面,提供了一种资源标识的分配方法,包括:
获取系统中的系统资源的唯一标识,其中,所述系统资源为在所述系统能够使用的资源,所述唯一标识在所述系统升级前或者所述系统升级后都不会发生变化;
根据所述唯一标识进行哈希计算,从而得到哈希值;
生成系统资源的资源标识,其中,所述资源标识包括资源包标识、类型标识以及条目标识,所述条目标识包括所述哈希值,所述资源包标识用于表示所述资源是系统资源还是应用资源,所述类型标识用于表示所属的资源类型的标识,所述条目标识用于表示在所属资源类型中的标识。
上述方案中,系统的资源标识是根据资源的唯一标识生成的哈希值,并根据哈希值生成资源标识。无论在系统更新前还是系统更新后,资源的唯一标识不会发生变化,因此,生成的资源标识同样不会发生变化。
在一些可能的设计中,所述唯一标识包括资源包名称、资源类型以及资源名称,其中,资源包名称为资源所在的资源包的名称,资源类型为所述资源所述的类型,资源名称为所述资源的名称。
在一些可能的设计中,所述哈希值的长度大于32字节。
上述方案中,通过增加哈希值的长度,能够有效地减少冲突发生的概率。
在一些可能的设计中,所述方法还包括:为所述系统资源中的固定资源分配固定的资源标识,其中,所述固定资源为提供给所述系统使用的所述系统资源中不变的资源。
第二方面,提供了一种终端设备,包括:获取模块、确定模块以及生成模块,
所述获取模块用于获取系统中的系统资源的唯一标识,其中,所述系统资源为在所述系统能够使用的资源,所述唯一标识在所述系统升级前或者所述系统升级后都不会发生变化;
所述确定模块用于根据所述唯一标识进行哈希计算,从而得到哈希值;
所述生成模块用于生成系统资源的资源标识,其中,所述资源标识包括资源包标识、类型标识以及条目标识,所述条目标识包括所述哈希值,所述资源包标识用于表示所述资源是系统资源还是应用资源,所述类型标识用于表示所属的资源类型的标识,所述条目标识用于表示在所属资源类型中的标识。
在一些可能的设计中,所述唯一标识包括资源包名称、资源类型以及资源名称,其中,资源包名称为资源所在的资源包的名称,资源类型为所述资源所述的类型,资源名称为所述资源的名称。
在一些可能的设计中,所述哈希值的长度大于32字节。
在一些可能的设计中,所述设备还包括分配模块,所述分配模块用于为所述系统资源中的固定资源分配固定的资源标识,其中,所述固定资源为提供给所述系统使用的所述系统资源中不变的资源。
第三方面,提供了一种计算机程序产品,当所述计算机程序产品被计算设备读取并执行时,如第一方面任一项所述的方法将被执行。
第四方面,提供了一种计算机非瞬态存储介质,包括指令,当所述指令在计算设备上运行时,使得所述计算设备执行如第一方面任一项所述的方法。
第五方面,提供了一种终端,包括处理器和存储器,所述处理器执行所述存储器中的代码执行如第一方面任一项所述的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为现有技术提供的第一资源标识的结构示意图;
图2为本申请提供的第二资源标识的结构示意图;
图3为本申请提供的一种资源标识的分配方法的流程示意图;
图4为本申请提供的一种终端设备的结构示意图;
图5为是本申请提供的一种终端设备的结构示意图。
具体实施方式
本申请的实施例部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
在移动终端的系统开发的过程中,需要使用到包括系统资源以及应用资源在内的大量的资源,以提升系统的功能以及美化系统。其中,系统资源可以包括绘画资源颜色(color)、尺寸(dimens)、绘制(drawable)、动画(animator)、风格(style)、插值器(interpolator)等等。应用资源可以包括图片、字符和色彩等等。举个例子说明,为了对系统的桌面的背景进行美化,需要使用到图片资源作为背景。为了便于对资源管理,需要为每个资源分配唯一的标识,即,资源标识。系统通过资源标识就可以查找到对应的资源,并对资源进行使用。其中,资源标识可以是数字、字符和字母中的一种或者多种的组合,此处不作具体限定。
如图1所示,现有的第一资源标识的长度可以为32字节,包括三个部分:8字节的资源包标识(package ID)、8字节的类型标识(type ID)以及16字节的条目标识(entry ID)。其中,资源包标识可以是0x01,表示资源是系统资源,也可以是0x7f,表示资源是应用资源。类型标识可以是所属的资源类型的标识。资源类型可以包括动画相关资源(animator、anim)、绘画相关资源(drawable、color、layout)、菜单、视频相关资源(raw)、字符串、网页相关资源(xml)等等。条目标识用于表示在所属资源类型中的标识。
在现有技术方案中,系统会为系统资源分配固定的第一资源标识,按照资源的名称的英文字母的顺序为应用资源分配第一资源标识。下面将举例说明在不考虑系统资源的情况下,系统是如何按照资源的名称的英文字母的顺序为应用资源分配第一资源标识。
假设系统原来包括系统资源图片1、色彩资源1、图片2、字符1以及色彩资源2。其中,图片1的名称为animal,色彩资源1的名称为blue,图片2的名称为tree,字符1的名称为character以及色彩资源2的名称为yellow。因此,系统按照资源的名称的英文字母的顺序为系统资源分配资源标识可以是:图片1的第一资源标识为0x01080001,图片2的第一资源标识为0x01080002,色彩资源1的第一资源标识为0x01060001,色彩资源2的第一资源标识为0x01060002,字符1的第一资源标识为0x01010001。
当系统的版本升级时,可以需要在系统中增加图片3。其中,图片3的名称为flower。因此,系统重新按照资源的名称的英文字母的顺序为应用资源分配第一资源标识可以是:图片1的第一资源标识为0x01080001,图片3的第一资源标识为0x01080002,图片2的第一资源标识为0x01080003,色彩资源1的第一资源标识为0x01060001,色彩资源2的第一资源标识为0x01060002,字符1的第一资源标识为0x01010001。
因此,系统升级前和系统升级后,资源和第一资源标识的映射关系发生了变化,例如,系统升级之前资源标识0x01080002对应的资源为图片2,系统升级之后资源标识0x01080002对应的资源为图片3。如果开发者在进行应用软件开发时是根据升级后的系统进行开发,那么如果该应用软件被下载到升级前的系统中,将会导致错误的资源调用,使得程序和系统无法正常运行。
为了解决上述问题,本申请对现有的第一资源标识进行了改进,从而得到第二资源标识。下面将对第二资源标识进行详细的介绍。
如图2所示,第二资源标识的长度可以为64字节,包括三个部分:8字节的资源包标识(package ID)、8字节的类型标识(type ID)以及48字节的条目标识(entry ID)。其中,资源包标识可以是0x01,表示资源是系统资源,也可以是0x7f,表示资源是应用资源。类型标识可以是所属的资源类型的标识。资源类型可以包括动画相关资源(animator、anim)、绘画相关资源(drawable、color、layout)、菜单、视频相关资源(raw)、字符串、网页相关资源(xml)等等。条目标识用于表示在所属资源类型中的标识。这里,第二资源包标识和类型标识的长度可以和改进前的资源包标识和类型标识的长度相同,改进后的条目标识的长度可以大于改进前的条目标识的长度。改进后的条目标识的长度可以是40字节,可以是48字节,可以是56字节等等,此处不作具体限定。
在一具体的实施方式中,系统可以为系统资源分配固定的第二资源标识。
在一具体的实施方式中,系统可以根据以下方式为应用资源分配第二资源标识。其中,与第一资源标识相比,资源包标识和类型标识保持不变。改进后的条目标识可以是根据资源的唯一标识使用哈希算法进行哈希计算得到的哈希值。
唯一标识可以用于将不同的资源进行区分,并且,无论在系统升级前还是系统升级后,唯一标识都保持不变。在一具体的实施例中,唯一标识可以是“资源包名称+类型+资源名称”等等。在其他的实施例中,唯一标识还可以采用其他的标识,例如,可以是对“资源包名称+类型+资源名称”的顺序进行变换,从而得到“类型+资源包名称+资源名称”等等,此处不作具体限定。
哈希算法可以表示为D=hash(key),其中,key为唯一标识,D为哈希值,hash()为唯一标识与哈希值之间的映射关系。这里,哈希算法可以是MD4算法、MD5算法、SHA-1算法等等,此处不作具体的限定。
可以理解,本实施例中通过增加条目标识的长度,可以显著减少通过哈希运算计算生成的哈希值的冲突几率。
下面将分别对系统升级前的资源标识计算方法,以及系统升级后的资源标识的计算方法分别进行详细的介绍。
在系统升级前,假设资源1的唯一标识为“资源包名称1+类型1+资源名称1”,使用哈希算法进行哈希计算得到的哈希值,具体为:
D1=hash(资源包名称1+类型1+资源名称1)。
因此,资源标识为资源包标识+类型标识+哈希值D1。
在系统升级后,资源1的唯一标识依然不变,为“资源包名称+类型+资源名称”,使用哈希算法进行哈希计算得到的哈希值,具体为:
D1=hash(资源包名称1+类型1+资源名称1)。
因此,资源标识为资源包标识+类型标识+哈希值D1。
通过上述对比可以看出,无论是系统升级前还是系统升级后,系统给资源分配的第二资源标识都没有发生任何变化,因而,开发者开发的应用软件,无论是基于升级前的系统进行开发的,还是基于升级后的系统进行开发的,都可以兼容到升级前的系统和升级后的系统中,不会发生错误的资源调用。
另外,假设在系统升级之后,新增加了资源2,并且,资源2的唯一标识为“资源包名称1+类型1+资源名称2”,使用哈希算法进行哈希计算得到的哈希值,具体为:
D2=hash(资源包名称1+类型1+资源名称2).
因此,资源标识为资源包标识+类型标识+哈希值D2。
可以看出,新增加的资源不会分配到原有的资源占据的资源标识,不会导致资源标识被新增加的资源抢占。
参阅图3,图3是本申请提供的一种资源标识的分配方法的流程示意图。本申请实施例提供的资源标识的分配方法,包括:
S101:终端设备获取系统中的系统资源的唯一标识,其中,所述系统资源为在所述系统能够使用的资源,所述唯一标识在所述系统升级前或者所述系统升级后都不会发生变化。
在一具体的实施方式中,资源包括系统资源以及应用资源。其中,系统资源可以包括绘画资源颜色(color)、尺寸(dimens)、绘制(drawable)、动画(animator)、风格(style)、插值器(interpolator)等等。应用资源可以包括图片、字符和色彩等等。举个例子说明,为了对系统的桌面的背景进行美化,需要使用到图片资源作为背景。为了便于对资源管理,需要为每个资源分配唯一的标识,即,资源标识。系统通过资源标识就可以查找到对应的资源,并对资源进行使用。
在一具体的实施方式中,唯一标识可以用于将不同的资源进行区分,并且,无论在系统升级前还是系统升级后,唯一标识都保持不变。例如,唯一标识可以是“资源包名称+类型+资源名称”等等。在其他的实施例中,唯一标识还可以采用其他的标识,例如,可以是对“资源包名称+类型+资源名称”的顺序进行变换,从而得到“类型+资源包名称+资源名称”等等,此处不作具体限定。
S102:终端设备根据所述唯一标识进行哈希计算,从而得到哈希值。
在一具体的实施方式中,哈希算法可以表示为D=hash(key),其中,key为唯一标识,D为哈希值,hash()为唯一标识与哈希值之间的映射关系。这里,哈希算法可以是MD4算法、MD5算法、SHA-1算法等等,此处不作具体的限定。
可以理解,本实施例中通过增加条目标识的长度,可以显著减少通过哈希运算计算生成的哈希值的冲突几率。
S103:终端设备生成系统资源的资源标识,其中,所述资源标识包括资源包标识、类型标识以及条目标识,所述条目标识包括所述哈希值,所述资源包标识用于表示所述资源是系统资源还是应用资源,所述类型标识用于表示所属的资源类型的标识,所述条目标识用于表示在所属资源类型中的标识。
在一具体的实施方式中,资源标识的长度可以为64字节,包括三个部分:8字节的资源包标识(package ID)、8字节的类型标识(type ID)以及48字节的条目标识(entryID)。其中,资源包标识可以是0x01,表示资源是系统资源,也可以是0x7f,表示资源是应用资源。类型标识可以是所属的资源类型的标识。资源类型可以包括动画相关资源(animator、anim)、绘画相关资源(drawable、color、layout)、菜单、视频相关资源(raw)、字符串、网页相关资源(xml)等等。条目标识用于表示在所属资源类型中的标识。这里,第二资源包标识和类型标识的长度可以和改进前的资源包标识和类型标识的长度相同,改进后的条目标识的长度可以大于改进前的条目标识的长度。改进后的条目标识的长度可以是40字节,可以是48字节,可以是56字节等等,此处不作具体限定。
下面将分别对系统升级前的资源标识计算方法,以及系统升级后的资源标识的计算方法分别进行详细的介绍。
在系统升级前,假设资源1的唯一标识为“资源包名称1+类型1+资源名称1”,使用哈希算法进行哈希计算得到的哈希值,具体为:
D1=hash(资源包名称1+类型1+资源名称1)。
因此,资源标识为资源包标识+类型标识+哈希值D1。
在系统升级后,资源1的唯一标识依然不变,为“资源包名称+类型+资源名称”,使用哈希算法进行哈希计算得到的哈希值,具体为:
D1=hash(资源包名称1+类型1+资源名称1)。
因此,资源标识为资源包标识+类型标识+哈希值D1。
通过上述对比可以看出,无论是系统升级前还是系统升级后,系统给资源分配的第二资源标识都没有发生任何变化,因而,开发者开发的应用软件,无论是基于升级前的系统进行开发的,还是基于升级后的系统进行开发的,都可以兼容到升级前的系统和升级后的系统中,不会发生错误的资源调用。
另外,假设在系统升级之后,新增加了资源2,并且,资源2的唯一标识为“资源包名称1+类型1+资源名称2”,使用哈希算法进行哈希计算得到的哈希值,具体为:
D2=hash(资源包名称1+类型1+资源名称2).
因此,资源标识为资源包标识+类型标识+哈希值D2。
可以看出,新增加的资源不会分配到原有的资源占据的资源标识,不会导致资源标识被新增加的资源抢占。
为了简便陈述,上述图3所示的资源标识的分配方法并没有展开描述,具体请参见图1、图2以及相关描述。
以终端设备为手机为例,图4示出的是与本发明实施例相关的手机100的部分结构的框图。参考图4,手机100包括、RF(Radio Frequency,射频)电路110、存储器120、其他输入设备130、显示屏140、传感器150、音频电路160、I/O子系统170、处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本领领域技术人员可以理解显示屏140属于用户界面(UI,User Interface),且手机100可以包括比图示或者更少的用户界面。
下面结合图4对手机100的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机100的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据手机100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其他输入设备130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,其他输入设备130可包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)等中的一种或多种。其他输入设备130与I/O子系统170的其他输入设备控制器171相连接,在其他设备输入控制器171的控制下与处理器180进行信号交互。
显示屏140可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单,还可以接受用户输入。具体的显示屏140可包括显示面板141,以及触控面板142。其中显示面板141可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等形式来配置显示面板141。触控面板142,也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或者非接触操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板142上或在触控面板142附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型。),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板142可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板142,也可以采用未来发展的任何技术实现触控面板142。进一步的,触控面板142可覆盖显示面板141,用户可以根据显示面板141显示的内容(该显示内容包括但不限于,软键盘、虚拟鼠标、虚拟按键、图标等等),在显示面板141上覆盖的触控面板142上或者附近进行操作,触控面板142检测到在其上或附近的操作后,通过I/O子系统170传送给处理器180以确定用户输入,随后处理器180根据用户输入通过I/O子系统170在显示面板141上提供相应的视觉输出。虽然在图4中,触控面板142与显示面板141是作为两个独立的部件来实现手机100的输入和输入功能,但是在某些实施例中,可以将触控面板142与显示面板141集成而实现手机100的输入和输出功能。
手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等,至于手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,麦克风162可提供用户与手机100之间的音频接口。音频电路160可将接收到的音频数据转换后的信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,麦克风162将收集的声音信号转换为信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路108以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
I/O子系统170用来控制输入输出的外部设备,可以包括其他设备输入控制器171、传感器控制器172、显示控制器173。可选的,一个或多个其他输入控制设备控制器171从其他输入设备130接收信号和/或者向其他输入设备130发送信号,其他输入设备130可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)。值得说明的是,其他输入控制设备控制器171可以与任一个或者多个上述设备连接。所述I/O子系统170中的显示控制器173从显示屏140接收信号和/或者向显示屏140发送信号。显示屏140检测到用户输入后,显示控制器173将检测到的用户输入转换为与显示在显示屏140上的用户界面对象的交互,即实现人机交互。传感器控制器172可以从一个或者多个传感器150接收信号和/或者向一个或者多个传感器150发送信号。
处理器180是手机100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机100的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
手机100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,手机100还可以包括摄像头、蓝牙模块等,在此不再赘述。
本实施例的终端设备可以用于执行上述资源标识的分配方法,为了简便起见,本申请实施例的终端设备并没有展开描述,具体请参见图1、图2、图3以及相关描述。
参阅图5,图5是本申请提供的一种终端设备的结构示意图。本申请的终端设备包括:获取模块210、确定模块220、生成模块230以及分配模块240。
所述获取模块210用于获取系统中的系统资源的唯一标识,其中,所述系统资源为在所述系统能够使用的资源,所述唯一标识在所述系统升级前或者所述系统升级后都不会发生变化。
在一具体的实施方式中,资源包括系统资源以及应用资源。其中,系统资源可以包括绘画资源颜色(color)、尺寸(dimens)、绘制(drawable)、动画(animator)、风格(style)、插值器(interpolator)等等。应用资源可以包括图片、字符和色彩等等。举个例子说明,为了对系统的桌面的背景进行美化,需要使用到图片资源作为背景。为了便于对资源管理,需要为每个资源分配唯一的标识,即,资源标识。系统通过资源标识就可以查找到对应的资源,并对资源进行使用。
在一具体的实施方式中,唯一标识可以用于将不同的资源进行区分,并且,无论在系统升级前还是系统升级后,唯一标识都保持不变。例如,唯一标识可以是“资源包名称+类型+资源名称”等等。在其他的实施例中,唯一标识还可以采用其他的标识,例如,可以是对“资源包名称+类型+资源名称”的顺序进行变换,从而得到“类型+资源包名称+资源名称”等等,此处不作具体限定。
所述确定模块220用于根据所述唯一标识进行哈希计算,从而得到哈希值。
在一具体的实施方式中,哈希算法可以表示为D=hash(key),其中,key为唯一标识,D为哈希值,hash()为唯一标识与哈希值之间的映射关系。这里,哈希算法可以是MD4算法、MD5算法、SHA-1算法等等,此处不作具体的限定。
可以理解,本实施例中通过增加条目标识的长度,可以显著减少通过哈希运算计算生成的哈希值的冲突几率。
所述生成模块230用于生成系统资源的资源标识,其中,所述资源标识包括资源包标识、类型标识以及条目标识,所述条目标识包括所述哈希值,所述资源包标识用于表示所述资源是系统资源还是应用资源,所述类型标识用于表示所属的资源类型的标识,所述条目标识用于表示在所属资源类型中的标识。
在一具体的实施方式中,资源标识的长度可以为64字节,包括三个部分:8字节的资源包标识(package ID)、8字节的类型标识(type ID)以及48字节的条目标识(entryID)。其中,资源包标识可以是0x01,表示资源是系统资源,也可以是0x7f,表示资源是应用资源。类型标识可以是所属的资源类型的标识。资源类型可以包括动画相关资源(animator、anim)、绘画相关资源(drawable、color、layout)、菜单、视频相关资源(raw)、字符串、网页相关资源(xml)等等。条目标识用于表示在所属资源类型中的标识。这里,第二资源包标识和类型标识的长度可以和改进前的资源包标识和类型标识的长度相同,改进后的条目标识的长度可以大于改进前的条目标识的长度。改进后的条目标识的长度可以是40字节,可以是48字节,可以是56字节等等,此处不作具体限定。
所述分配模块240用于为所述系统资源中的固定资源分配固定的资源标识,其中,所述固定资源为提供给所述系统使用的所述系统资源中不变的资源。
本实施例的终端设备可以用于执行上述资源标识的分配方法,为了简便起见,本申请实施例的终端设备并没有展开描述,具体请参见图1、图2、图3以及相关描述。另外,当获取模块210、确定模块220、生成模块230以及分配模块240是软件模块时,上述多个模块可以运行在图4所示的终端设备的处理器中,具体请参见图4以及相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。
Claims (7)
1.一种资源标识的分配方法,其特征在于,包括:
获取系统中的系统资源的唯一标识,其中,所述系统资源为在所述系统能够使用的资源,所述唯一标识在所述系统升级前以及所述系统升级后都不会发生变化,所述唯一标识包括资源包名称、资源类型以及资源名称,其中,资源包名称为资源所在的资源包的名称,资源类型为所述资源所属的类型,资源名称为所述资源的名称;
对所述唯一标识进行哈希计算,从而得到哈希值,其中,所述哈希计算采用的哈希算法在所述系统升级前以及所述系统升级后都是相同的;
生成系统资源的资源标识,其中,所述资源标识包括资源包标识、类型标识以及条目标识,所述条目标识包括所述哈希值,所述资源包标识用于表示所述资源是系统资源还是应用资源,所述类型标识用于表示所属的资源类型的标识,所述条目标识用于表示在所属资源类型中的标识。
2.根据权利要求1所述的方法,其特征在于,所述哈希值的长度大于32字节。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
为所述系统资源中的固定资源分配固定的资源标识,其中,所述固定资源为提供给所述系统使用的所述系统资源中不变的资源。
4.一种终端设备,其特征在于,应用于系统升级前以及系统升级后确定系统资源的资源标识,包括:获取模块、确定模块以及生成模块,
所述获取模块用于获取系统中的系统资源的唯一标识,其中,所述系统资源为在所述系统能够使用的资源,所述唯一标识在所述系统升级前以及所述系统升级后都不会发生变化,所述唯一标识包括资源包名称、资源类型以及资源名称,其中,资源包名称为资源所在的资源包的名称,资源类型为所述资源所属的类型,资源名称为所述资源的名称;
所述确定模块用于对所述唯一标识进行哈希计算,从而得到哈希值,其中,所述哈希计算采用的哈希算法在所述系统升级前以及所述系统升级后都是相同的;
所述生成模块用于生成系统资源的资源标识,其中,所述资源标识包括资源包标识、类型标识以及条目标识,所述条目标识包括所述哈希值,所述资源包标识用于表示所述资源是系统资源还是应用资源,所述类型标识用于表示所属的资源类型的标识,所述条目标识用于表示在所属资源类型中的标识。
5.根据权利要求4所述的设备,其特征在于,所述哈希值的长度大于32字节。
6.根据权利要求4或5所述的设备,其特征在于,所述设备还包括分配模块,
所述分配模块用于为所述系统资源中的固定资源分配固定的资源标识,其中,所述固定资源为提供给所述系统使用的所述系统资源中不变的资源。
7.一种计算机非瞬态存储介质,其特征在于,包括指令,当所述指令在计算设备上运行时,使得所述计算设备执行如权利要求1至3任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910457809.XA CN110245017B (zh) | 2019-05-29 | 2019-05-29 | 资源标识的分配方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910457809.XA CN110245017B (zh) | 2019-05-29 | 2019-05-29 | 资源标识的分配方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110245017A CN110245017A (zh) | 2019-09-17 |
CN110245017B true CN110245017B (zh) | 2024-03-26 |
Family
ID=67885408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910457809.XA Active CN110245017B (zh) | 2019-05-29 | 2019-05-29 | 资源标识的分配方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110245017B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273910B (zh) * | 2020-01-14 | 2023-09-05 | 北京小米移动软件有限公司 | 获取资源号码标识符的方法、装置及存储介质 |
CN114390137A (zh) * | 2020-10-20 | 2022-04-22 | 阿里巴巴集团控股有限公司 | 短信的处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354718A (zh) * | 2008-07-23 | 2009-01-28 | 深圳市迅雷网络技术有限公司 | 确定文件包资源标识信息的方法及装置 |
CN103139255A (zh) * | 2011-11-30 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 分配资源标识和标识段的方法 |
CN104113435A (zh) * | 2014-07-04 | 2014-10-22 | 广州华多网络科技有限公司 | 生成标识的方法及装置 |
CN105610593A (zh) * | 2014-11-05 | 2016-05-25 | 中兴通讯股份有限公司 | 网管系统中资源标识分配的方法及装置 |
CN106557343A (zh) * | 2015-09-30 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 生成功能应用及加载资源的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087665A1 (en) * | 2000-12-29 | 2002-07-04 | Marshall Donald Brent | Method and system for integrated resource management |
-
2019
- 2019-05-29 CN CN201910457809.XA patent/CN110245017B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354718A (zh) * | 2008-07-23 | 2009-01-28 | 深圳市迅雷网络技术有限公司 | 确定文件包资源标识信息的方法及装置 |
CN103139255A (zh) * | 2011-11-30 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 分配资源标识和标识段的方法 |
CN104113435A (zh) * | 2014-07-04 | 2014-10-22 | 广州华多网络科技有限公司 | 生成标识的方法及装置 |
CN105610593A (zh) * | 2014-11-05 | 2016-05-25 | 中兴通讯股份有限公司 | 网管系统中资源标识分配的方法及装置 |
CN106557343A (zh) * | 2015-09-30 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 生成功能应用及加载资源的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110245017A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124224B (zh) | 一种应用程序的控制方法及电子设备 | |
US10228830B2 (en) | Method for starting application program, terminal and non-transitory computer readable storage medium | |
CN108984064B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN110502163B (zh) | 终端设备的控制方法及终端设备 | |
CN108549519B (zh) | 分屏处理方法、装置、存储介质和电子设备 | |
CN106502703B (zh) | 一种函数调用方法和装置 | |
CN106775828B (zh) | 应用程序安装方法及装置、计算机设备 | |
CN110928461A (zh) | 一种图标移动方法及电子设备 | |
CN109976611B (zh) | 终端设备的控制方法及终端设备 | |
CN111736980A (zh) | 一种内存管理方法及装置 | |
CN111026464A (zh) | 一种识别方法及电子设备 | |
CN112084747B (zh) | 一种资源管理方法、装置、电子设备及存储介质 | |
EP2869604B1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
CN110868633A (zh) | 一种视频处理方法及电子设备 | |
CN108984142B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN109408072B (zh) | 一种应用程序删除方法及终端设备 | |
CN105373534B (zh) | 列表展示方法、装置及列表展示端 | |
CN111104236A (zh) | 一种粘贴控制方法及电子设备 | |
CN110245017B (zh) | 资源标识的分配方法和设备 | |
CN110167006B (zh) | 一种控制应用程序使用sim卡的方法及终端设备 | |
CN106095423B (zh) | 提供浏览服务的方法、终端及服务器 | |
CN106919458B (zh) | Hook目标内核函数的方法及装置 | |
CN109144723B (zh) | 一种分配存储空间的方法和终端 | |
CN109062469B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN105335434B (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 |