CN103513956B - 一种处理器处理数据的方法以及装置 - Google Patents

一种处理器处理数据的方法以及装置 Download PDF

Info

Publication number
CN103513956B
CN103513956B CN201210215072.9A CN201210215072A CN103513956B CN 103513956 B CN103513956 B CN 103513956B CN 201210215072 A CN201210215072 A CN 201210215072A CN 103513956 B CN103513956 B CN 103513956B
Authority
CN
China
Prior art keywords
data
memory module
memory
operated
processor
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
Application number
CN201210215072.9A
Other languages
English (en)
Other versions
CN103513956A (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.)
Taobao China Software Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210215072.9A priority Critical patent/CN103513956B/zh
Publication of CN103513956A publication Critical patent/CN103513956A/zh
Application granted granted Critical
Publication of CN103513956B publication Critical patent/CN103513956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种处理器处理数据的方法以及装置,包括:移动终端的处理器确定针对指定应用程序的待操作数据,当确定与第一存储模块对应的第一索引文件中未存在待操作数据的数据标识后,在与第二存储模块对应的第二索引文件中,查询与待操作数据的数据标识对应的,待操作数据在第二存储模块中的存储地址,其中,第一存储模块为从本地内存中确定出的存储模块,第二存储模块为从用于扩展本地内存的存储器中确定出的存储模块,然后根据待操作数据在第二存储模块中的存储地址,在第二存储模块中处理待操作数据。根据本技术方案,处理器根据第一索引文件以及第二索引文件,对待操作数据进行操作的过程,提高了处理器的数据处理效率。

Description

一种处理器处理数据的方法以及装置
技术领域
本申请涉及信息处理技术领域,尤其涉及一种移动终端的处理器处理数据的方法以及装置。
背景技术
随着移动终端处理器的数据处理能力的快速提高,各种应用程序在移动终端的运行速率也得到了相应的提高,但基于移动终端的硬件配置的限制,例如,移动终端的硬件配置限制了移动终端的内存的大小,导致移动终端同时处理多个应用程序的能力有限,若终端用户在移动终端中同时运行了多个应用程序,将会影响移动终端的处理器的数据处理能力。
具体地,移动终端的内存一般包括运行内存以及非运行内存,其中,非运行内存主要用于存储数据,例如,存储下载的游戏软件以及移动终端的操作系统支持的各种应用软件等。运行内存用于临时存储移动终端中运行的应用程序对应的数据,受限于移动终端的硬件配置和体积等因素,其运行内存的大小一般是固定的,不能够进行更换。
实际应用中,移动终端提供的运行内存(以后简称内存),除用于存储正在运行的应用程序对应的数据外,还会基于自身配置以及操作系统的需求,占用一部分内存,因此,移动终端用于临时存储应用程序对应的数据的内存的存储空间,小于该内存实际提供的存储空间。例如,若移动终端提供的实际内存为512MB,而能够用于存储运行的应用程序对应的数据的内存可能为450MB,甚至更小;若移动终端提供的实际内存为256MB,则能够用于存储运行的应用程序对应的数据的内存可能为170MB。并且,基于移动终端硬件配置的限制,移动终端提供的存储运行的应用程序对应的数据的内存,可能不到100MB,甚至更小,因此,移动终端为了能够以较快的速度运行较多的应用软件,通常会设置出单个应用程序在运行时可以占取的内存的大小。例如,支持安卓操作系统的移动终端,会设置出每个应用程序在运行时占取的内存最大为32MB,而实际应用中,一些应用程序可能需要占取较大的内存才能够运行,例如部分游戏软件,该类应用程序在设置了单个应用程序占取的内存大小的移动终端中,或在内存比较小的移动终端中,一般不能够运行。可见,现有的移动终端的内存的大小,影响了移动终端中处理器处理数据的效率,甚至,基于内存大小的限制,不能够对部分应用程序进行操作。
目前,针对移动终端内存大小受限的问题,主要通过增加闪存(Flash)等永久存储模块(以下统称存储器)的方式来扩展本地内存。实际应用中,一般用于扩展内存的存储器的存储空间大于移动终端本地内存的存储空间。例如,本地内存为256MB,而用于扩展该内存的存储器提供的存储空间可能为1GB,甚至2GB、4GB。对于本地内存,处理器能够较快的获取到内存中运行的应用程序对应的数据;对于扩展内存,处理器需要通过数据输入输出(InputOutput,IO)模块完成到扩展内存获取数据的操作。例如,将应用程序对应的数据保存在扩展本地内存的存储器中,若处理器需要获取该应用程序对应的数据时,首先需要获取准备读取的数据的地址信息,并将数据的地址信息发送到IO模块,由IO模块根据接收到的地址信息到扩展内存包括的多个存储单元中,确定出准备获取的数据所在的存储单元,进而在该存储单元中获取相应的数据。处理器从存储器中获取数据的过程,在获取少量数据时,处理器以及IO模块能够以较快的速度进行信息的交互,但当数据量增加时,因为处理器需要与IO模块进行频繁的信息交互就会增加处理器的负荷。实际应用中,处理器的数据处理速度一般大于IO模块的数据处理速度,因此需要将处理器与IO模块交互过程中涉及的数据进行缓存,以克服处理器与IO模块数据处理速度不一致的问题,甚至还需要对数据进行格式转换的操作,以符合处理器支持的数据格式。因此,处理器在通过IO模块与存储器进行信息交互时,存在诸多难以克服的问题,不可避免的,处理器在与用于扩展本地内存的存储器进行信息交互时,可能导致处理器的数据处理效率降低。
综上所述,现有技术中移动终端的处理器在对应用程序对应的数据进行操作时,可能导致处理器的数据处理效率降低。
发明内容
有鉴于此,本申请实施例提供一种处理器处理数据的方法以及装置,用于提高处理器的数据处理效率。
本申请实施例通过如下技术方案实现:
根据本申请实施例的一个方面,提供了一种处理器处理数据的方法,包括:
处理器确定针对指定应用程序的待操作数据;
当确定与第一存储模块对应的第一索引文件中未存在所述待操作数据的数据标识后,在与第二存储模块对应的第二索引文件中,查询与所述待操作数据的数据标识对应的,所述待操作数据在所述第二存储模块中的存储地址,所述第一存储模块为从本地内存中确定出的存储模块,所述第一索引文件中保存所述第一存储模块中所存储数据的数据标识,所述第二存储模块为从用于扩展本地内存的存储器中确定出的存储模块,所述第二索引文件中保存所述第二存储模块中所存储数据的数据标识与存储地址的对应关系;
根据所述待操作数据在所述第二存储模块中的存储地址,在所述第二存储模块中处理所述待操作数据。
根据本申请实施例的另一个方面,还提供了一种处理器处理数据的装置,包括:
存储模块确定单元,用于从本地内存中确定第一存储模块,并从用于扩展本地内存的存储器中确定第二存储模块;
待操作数据确定单元,用于确定针对指定应用程序的待操作数据;
存储地址查询单元,用于当确定与所述存储模块确定单元确定出的第一存储模块对应的第一索引文件中未存在所述待操作数据确定单元确定的待操作数据的数据标识后,在与所述存储模块确定单元确定出的第二存储模块对应的第二索引文件中,查询与所述待操作数据的数据标识对应的,所述待操作数据在所述第二存储模块中的存储地址,所述第一索引文件中保存所述第一存储模块中所存储数据的数据标识,所述第二索引文件中保存所述第二存储模块中所存储数据的数据标识与存储地址的对应关系;
数据处理单元,用于根据所述存储地址查询单元查询到的所述待操作数据在所述第二存储模块中的存储地址,在所述第二存储模块中处理所述待操作数据。
通过本申请实施例提供的上述至少一个技术方案,处理器确定针对指定应用程序的待操作数据后,当确定与第一存储模块对应的第一索引文件中未存在待操作数据的数据标识后,在与第二存储模块对应的第二索引文件中,查询与待操作数据的数据标识对应的,待操作数据在第二存储模块中的存储地址,根据待操作数据在第二存储模块中的存储地址,在第二存储模块中处理待操作数据,其中,第一存储模块为从本地内存中确定出的存储模块,第一索引文件中保存第一存储模块中所存储数据的数据标识,第二存储模块为从用于扩展本地内存的存储器中确定出的存储模块,第二索引文件中保存第二存储模块中所存储数据的数据标识与存储地址的对应关系。本技术方案中,针一个指定应用程序对应的数据,既可以保存在从内存中划分出的第一存储模块中,也可以保存在从扩展本地内存的存储器中划分出的第二存储模块中,并在针对该指定应用程序的待操作数据进行处理时,首先确定待操作数据是否保存在第一存储模块中,如果未保存,则可以确定该待操作数据是保存在第二存储模块中,从而在第二存储模块中对该待操作数据进行处理,相比现有技术中将一个指定应用程序对应的数据保存在从扩展本地内存的存储器中划分出的存储模块中,并在划分出的存储模块中对数据进行操作的方案,处理器可以在第一存储模块中对指定应用程序的待操作数据进行处理,若确定第一存储模块中不存在待操作数据时,才到第二存储模块中对待操作数据进行处理,从而减少了处理器通过IO模块与用于扩展本地内存的存储器的交互次数,提高了处理器的数据处理效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例一提供的一种处理器处理数据的流程示意图;
图2为本申请实施例一提供的处理器将已读取数据从第二存储模块发送到第一存储模块进行存储的流程示意图;
图3为本申请实施例一提供的处理器将已读取数据从第二存储模块发送到第一存储模块进行存储的优选实施方式的流程示意图;
图4为本申请实施例二提供的处理器对第一存储模块以及第二存储模块进行初始化的流程示意图;
图5为本申请实施例二提供的处理器处理数据的流程示意图;
图6为本申请实施例三提供的一种处理器处理数据的装置的结构示意图。
具体实施方式
为了给出提高处理器的数据处理效率的实现方案,本申请实施例提供了一种处理器处理数据的方法以及装置,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
该实施例一提供了一种处理器处理数据的方法,该方法能够应用在移动终端中,通过在移动终端中应用本技术方案,能够减少处理器通过IO模块与用于扩展本地内存的存储器的交互次数,从而达到了提高处理器的数据处理能力的目的。本申请实施例中的移动终端包括手机、平板电脑、PDA等受限于硬件配置和体积等因素,其运行内存的大小固定并且通常不能够进行更换的终端。具体描述中涉及的处理器为移动终端的处理器。
图1示出了本申请实施例一提供的一种处理器处理数据的流程示意图。具体地,该处理器处理数据的过程,主要包括以下步骤:
步骤101、移动终端的处理器确定针对指定应用程序的待操作数据。
该步骤101中,对待操作数据进行的操作可以为读取数据、删除数据、修改数据等操作,具体地,可以根据实际需要确定。
步骤102、处理器确定与第一存储模块对应的第一索引文件中是否存在待操作数据的数据标识,若是,执行步骤103;若否,则执行步骤105。
该步骤102中,第一存储模块为处理器从本地内存中确定出的存储模块,具体地,处理器在对指定应用程序进行初始化时,根据本地内存提供的存储空间的大小以及该存储空间的空闲状态,确定出的用于存储数据的存储模块。该第一存储模块的存储空间可以在每次重新启动指定应用程序时分配,这样能够在不影响本地内存进行大量数据的存储的同时,确定出该第一存储模块的存储空间的大小,即在不影响处理器进行多个应用程序的处理的基础上,确定出该第一存储模块。
实际应用中,该第一存储模块的存储空间越大,该第一存储模块能够存储更多的数据,对应的在该第一存储模块中获取到待操作数据的命中率也越高。处理器可以根据本地内存的实际存储空间的大小以及该存储空间的空闲状态,在不影响处理器在本地内存中存储数据的效率的情况下,确定出尽可能大的存储空间作为第一存储模块的存储空间。
上述空闲状态一般指存储空间中除去已存储数据的存储空间的剩余存储空间的状态。此外,第一索引文件中保存有第一存储模块中所存储数据的数据标识,进一步,还可以保存与各数据标识对应的其他信息,例如,对应数据标识保存相应数据在第一存储模块中的存储地址。实际应用中,处理器在对指定应用程序进行初始化的过程中,可以将该应用程序涉及的访问次数较多或符合设定条件的数据保存在第一存储模块中,以便处理器能够较快的获取到该类数据,并可以针对保存在第一存储模块中的数据建立索引信息,将索引信息保存至第一索引文件中。
步骤103、处理器在第一索引文件中查询待操作数据在第一存储模块中的存储地址。
该步骤103中,处理器可以在第一索引文件中保存的数据标识与存储地址的对应关系中,查询到与待操作数据的数据标识对应保存的待操作数据在第一存储模块中被存储的存储地址。
步骤104、处理器根据查询的存储地址,在第一存储模块中处理待操作数据,结束流程。
该步骤104中,处理器除根据存储地址在第一存储模块中处理待操作数据外,若第一索引文件中对应数据标识保存有数据的保存路径信息,或者其他表征数据存储位置的信息,处理器也可以根据与待操作数据对应的保存路径信息或其他表征数据存储位置的信息,在第一存储模块中对待操作数据进行处理。
步骤105、处理器在与第二存储模块对应的第二索引文件中,查询与待操作数据的数据标识对应的,待操作数据在第二存储模块中的存储地址。
该步骤105中,第二存储模块为处理器从用于扩展本地内存中的存储器中确定出的存储模块。具体地,处理器在对指定应用程序进行初始化时,可以根据用于扩展本地内存的存储器提供的存储空间的大小以及该存储器提供的存储空间的空闲状态,确定出用于存储数据的第二存储模块。
进一步,还可以根据指定应用程序涉及的数据所需要的存储空间的大小,确定出能够存储指定应用程序对应的数据的第二存储模块,或确定出能够存储指定应用程序对应的数据中被访问次数较少以及具有其他特征的数据的第一存储模块,将访问次数较多或符合设定条件的数据保存在第一存储模块中。处理器通过在第二存储模块中保存指定应用程序对应的全部数据或部分数据,减少了在内存中保存的数据,提高了内存的存储空间的利用率,使处理器能够基于内存以及扩展本地内存的存储器运行多个应用程序。此外,待操作数据在第二存储模块中的存储地址为待操作数据被保存至第二存储模块中的起始地址相对第二存储模块的起始地址的地址偏移量。
步骤106、处理器根据待操作数据在第二存储模块中的存储地址,在第二存储模块中处理待操作数据。
该步骤106中,基于处理器在对指定应用程序进行初始化时,将数据被保存至第二存储模块中的起始地址相对第二存储模块的起始地址的地址偏移量作为数据的存储地址,处理器可以根据获取的待操作数据在第二存储模块中的存储地址,直接在第二存储模块中的相应的位置对待操作数据进行处理,避免了从用于扩展本地内存的存储器被划分的多个存储模块中寻在保存待操作数据所在的存储模块的操作,提高了处理器处理数据的速率。
至此,处理器处理数据的流程结束。
在图1对应的流程中,处理器将一个指定应用程序对应的数据,既可以保存在从内存中划分出的第一存储模块中,也可以保存在从扩展本地内存的存储器中划分出的第二存储模块中,并在针对该指定应用程序的待操作数据进行处理时,首先确定待操作数据是否保存在第一存储模块中,如果未保存,则可以确定该待操作数据是保存在第二存储模块中,从而在第二存储模块中对该待操作数据进行处理,相比现有技术中将一个指定应用程序对应的数据保存在从扩展本地内存的存储器中划分出的存储模块中,并在划分出的存储模块中对数据进行操作的方案,处理器可以在第一存储模块中对指定应用程序的待操作数据进行处理,若确定第一存储模块中不存在待操作数据时,才到第二存储模块中对待操作数据进行处理,从而减少了处理器通过IO模块与用于扩展本地内存的存储器的交互次数,提高了处理器的数据处理效率。
在图1对应的流程中,处理器在确定与第一存储模块对应的第一索引文件中未存在待操作数据的数据标识后,在与第二存储模块对应的第二索引文件中,查询与待操作数据的数据标识对应的,待操作数据在第二存储模块中的存储地址的过程中,所涉及的索引文件,包括处理器预先针对存储在指定位置的数据采用设定算法确定出的索引信息。具体地,处理器可以根据设定算法预先对应保存的第一存储模块中的各数据的数据标识建立索引信息。例如,建立保存在第一存储模块中的各数据与该各数据在第一存储模块中的存储地址的对应关系,然后将建立的索引信息保存在第一索引文件中,该第一索引文件可以保存在本地内存中,也可以保存在第一存储模块中,以便处理器能够较快的在第一索引文件中确定出对应待操作数据的数据标识保存的存储地址,进而在第一存储模块中对待操作数据进行处理。同理,处理器可以针对第二存储模块中的各数据,采用设定算法建立索引信息,并将建立的索引信息保存在第二索引文件中,该第二索引文件可以保存在本地内存中,以便于处理器较快的确定出待操作数据在第二存储模块中的存储地址,也可以保存在第二存储模块中。考虑实际应用中处理器的数据处理效率,本方案优选的将第二索引文件保存在本地内存中,进一步,也可以保存在第一存储模块中。
实际应用中,可以采用哈希(HASH)算法对应保存在第一存储模块以及第二存储模块中的各数据建立索引信息,也可根据实际情况或需要采用其他的建立索引信息的方式,本方案优选的采用哈希算法,以提高处理器索引待操作数据的存储地址的效率。
在图1对应的流程包括的步骤104后,即处理器根据查询的存储地址,在第一存储模块中处理待操作数据后,处理器可以根据第一存储模块中的各数据被访问的次数,更新各数据对应的存储期限优先级,即存储期限优先级为处理器根据待第一存储模块中的各数据被访问的次数确定的,处理器在对第一存储模块中的数据进行操作后,需要根据各数据对应的被访问次数更新各数据的存储期限优先级。实际应用中,第一存储模块中各数据对应存储期限优先级,可以对应各数据的数据标识保存在第一索引文件中。进一步地,服务器还可以将各数据被访问的次数对应各数据标识,保存在第一索引文件中。处理器可以根据第一存储模块中存储的各数据对应的存储期限优先级别,在需要对数据进行删除以及其他处理时,对优先级最低的数据进行删除或其他处理,或者对优先级最高的数据进行相应的处理。
在图1对应的流程中,处理器对指定应用程序对应的数据进行的操作,即对待操作数据进行的操作,可以为数据删除、更改、读取等操作,具体地,本申请以处理器读取数据为例,进行相应的描述。例如,在图1对应的流程包括的步骤106中,处理器根据待操作数据在第二存储模块中的存储地址,在第二存储模块中处理待操作数据时,处理器可以在第二存储模块中与确定出的存储地址对应的位置上读取待操作数据。对应处理器在第二存储模块中读取待操作数据的操作,本申请还提供了处理器对读取的数据进行操作的优选方案,具体地,本方案提供了一种处理器对在第二存储模块中成功读取的数据进行操作的优选实施方式,处理器将已读取数据从第二存储模块发送到第一存储模块进行存储。如图2所示,处理器将已读取数据从第二存储模块发送到第一存储模块进行存储的过程,主要包括以下步骤:
步骤201、处理器确定第一存储模块中空闲的存储空间是否小于存储已读取数据需要的存储空间,若是,执行步骤202;若否,执行步骤203。
步骤202、处理器根据第一存储模块中保存的各数据对应的存储期限优先级,将存储期限优先级最低的数据删除,执行步骤203。
该步骤202中,处理器在根据各数据对应的存储期限优先级对数据进行删除时,若在第一次删除存储期限优先级最低的数据后,第一存储模块中空闲的存储空间依旧小于存储已读取数据需要的存储空间,可以继续将第一存储模块中保存的数据中存储期限优先级最低的数据删除,直至该第一存储模块的空闲存储空间大于或等于存储已读取数据需要的存储空间。
步骤203、处理器将已读取数据从第二存储模块发送到第一存储模块进行存储。
至此,处理器将已读取数据从第二存储模块发送到第一存储模块进行存储的流程结束。
在图2对应的流程中,处理器将已读取数据从第二存储模块发送到第一存储模块进行存储,处理器在后续数据处理中,若需要对该数据进行处理,则可以直接在从本地内存确定出的第一存储模块中对该数据进行处理,从而提高了处理器处理数据的速率,进而提高了处理器处理数据的效率。
在图2对应流程包括的步骤203中,即处理器将已读取数据从第二存储模块发送到第一存储模块进行存储时,处理器可以先将已读取数据发送至用于缓存写入本地内存的数据的缓存模块,然后在处理器空闲时确定将已读取数据发送至第一存储模块进行存储。具体地,本申请实施例一又提供了一种处理器将已读取数据从第二存储模块发送到第一存储模块进行存储的优选实施方式,如图3所示,处理器将已读取数据从第二存储模块发送到第一存储模块进行存储的过程,主要包括以下步骤:
步骤301、处理器指示第二存储模块将已读取数据发送至用于缓存写入本地内存的数据的缓存模块。
步骤302、处理器确定是否将已读取数据全部写入缓存模块,若是,执行步骤303;否则,执行步骤304。
该步骤302中,处理器在确定是否将已读取数据全部写入缓存模块时,可以通过缓存模块返回的指示信息进行判断。例如,缓存模块在接收并存储第二存储模块发送的数据时,若产生溢出(即用于存储数据的空间小于正在存储的数据需要的存储空间),则向处理器发送缓存模块溢出的指示信息或者其他表征接收并存储第二存储模块发送的数据失败的指示信息,以使处理器采取相应的措施,例如,执行步骤304;若缓存模块接收并存储完第二存储模块发送的数据且未产生溢出,则可以向处理器发送数据存储完成的指示信息(例如,指示处理器有新数据存入本地),由处理器采取相应的措施,例如,执行步骤303。实际应用中,处理器还可以根据具体情况灵活设定确定是否将已读取数据全部写入缓存模块的方式,具体地,此处不再一一赘述。
步骤303、处理器在确定自身处于空闲状态后,确定将已读取数据发送至第一存储模块进行存储。
步骤304、处理器确定缓存模块在存储已读取数据时产生溢出,将已读取数据继续保存在第二存储模块中。
至此,处理器将已读取数据从第一存储模块发送到第二存储模块进行存储的流程结束。
实际应用中,基于处理器处理数据时的需要,处理器在将已读取数据从第一存储模块发送到第二存储模块进行存储后,会在第一索引文件中建立已读取数据的数据标识与该已读取数据在第一存储模块中的存储地址的对应关系,以便处理器在对该存储在第一存储模块中的数据进行处理时,获取该数据的存储地址,此外,还可以将该数据的其他信息一并对应该数据的数据标识保存在第一索引文件中,具体地,可以根据实际应用中的需要,进行相应的设置,此处不再赘述。
实施例二
本实施例二提供了一种与实施例一提供的一种处理器处理数据的方法相应的应用场景。
本实施例二首先提供了一种与实施例一中确定第一存储模块以及第二存储模块的方式对应的技术方案,具体地,处理器可以在对指定应用程序进行初始化操作时确定出第一存储模块以及第二存储模块的存储空间,即对第一存储模块以及第二存储模块进行初始化,如图4所示,处理器对第一存储模块以及第二存储模块进行初始化的过程,主要包括以下步骤:
步骤401、处理器获取本地内存的硬件配置信息,确定出本地内存可提供的存储空间。
步骤402、处理器在确定出本地内存的存储空间后,根据该存储空间的空闲状态,确定出第一存储模块。
该步骤402中,处理器可以根据记录的本地内存的数据存储信息,确定在不影响本地内存的正常工作状态的情况下,从本地内存可提供的空闲的存储空间中确定出第一存储模块的存储空间。例如,根据经验算法,取本地内存的空闲的存储空间的10%~20%作为第一存储模块,或者,也可以根据本地内存的存储空间的大小,选择一定比例的存储空间作为第一存储模块,具体地,可以根据实际情况灵活设定。此外,为了提高处理器在第一存储模块中获取数据的命中率,在保证本地内存的正常工作状态的情况下,尽量选择出较大的存储空间作为第一存储模块的存储空间。
步骤403、处理器根据用于扩展本地内存的存储器的存储空间大小以及能够提供的空闲的存储空间的大小,确定出第二存储模块。
步骤404、处理器将指定应用程序对应的数据中访问次数满足设定次数要求的数据保存在第一存储模块中,并将对应在第一存储模块中保存的数据建立的索引信息保存在第一索引文件中。
该步骤404中,处理器可以采用哈希算法建立保存在第一存储模块中的数据的索引信息。例如,对应保存在第一存储模块中各数据的数据标识分别保存各数据在第一存储模块中的存储地址。此外,可以将第一索引文件保存在本地内存中,或者保存在第一存储模块中。
步骤405、处理器将指定应用程序对应的数据保存在第二存储模块中,并将对应在第二存储模块中保存的数据建立的索引信息保存在第二索引文件中。
该步骤405中,处理器建立索引信息的方式可以参考步骤404中的相关描述。实际应用中,为了提高处理器在用于扩展本地内存的存储器中获取数据的速率,可以将数据被保存至第二存储模块中的起始地址相对第二存储模块的起始地址的地址偏移量作为数据在第二存储模块中被保存的存储地址。此外,第二索引文件可以保存在第二存储模块中,也可以保存在第一存储模块或本地内存中,为了提高处理器获取待读取数据的存储地址的效率,本申请优选的将索引信息存储在第一存储模块或本地内存中。
至此,处理器对第一存储模块以及第二存储模块进行初始化的流程结束。
在图4对应的流程中,对第一存储模块进行初始化的步骤401至步骤402以及对第二存储模块进行初始化的步骤403的执行顺序,并不需要依照上述步骤执行。具体地,例如,可以先执行步骤403对第二存储模块进行初始化,再执行步骤401至步骤402对第一存储模块进行初始化,或者,处理器同时对第一存储模块以及第二存储模块进行初始化,此处可以根据实际情况灵活设置。
并且,处理器针对第一存储模块以及第二存储模块中保存的数据建立索引信息的步骤404以及步骤405的执行顺序,也不需要依照上述步骤执行。实际应用中,处理器可以在建立第一存储模块后直接将指定应用程序对应的数据中符合设定条件的数据存在该第一存储模块中,进而建立索引信息,即在步骤402之后即执行步骤404,同理,可以在步骤403后执行步骤405;或者,处理器在确定出第一存储模块以及第二存储模块后,将指定应用程序对应的数据按照设定方式分别存放在第一存储模块以及第二存储模块中,并针对第一存储模块中存储的数据以及第二存储模块中存储的数据建立索引信息。具体地,图4中对第一存储模块以及第二存储模块进行初始化时涉及的操作可以根据实际需要,进行灵活设置。
对应图4中初始化后的第一存储模块以及第二存储模块,本申请实施例二还提供了一种处理器处理数据的应用场景,具体地,如图5所示,该处理器处理数据的过程,主要包括以下步骤:
步骤501、处理器确定针对指定应用程序的待读取数据后,确定第一索引文件中是否保存有待读取数据的数据标识,若是,执行步骤502;否则,执行步骤505。
步骤502、处理器在第一索引文件中查询待读取数据在第一存储模块中的保存地址。
步骤503、处理器根据查询到的存储地址,从第一存储模块中读取待读取数据,并修改读取的数据的被访问次数。
步骤504、处理器根据第一存储模块中各数据被访问次数更新已读取数据的存储期限优先级以及其他数据的存储期限优先级,结束流程。
步骤505、处理器在第二索引文件中查询与待读取数据对应保存的存储地址,并根据该存储地址到第二存储模块中读取该数据。
步骤506、处理器在第二存储模块中成功读取数据后,确定第一存储模块中空闲的存储空间的大小是否小于保存已读取数据需要的存储空间,若是,执行步骤507;若否,执行步骤508。
步骤507、处理器根据第一存储模块中各数据对应的存储期限优先级,将存储期限优先级最低的数据删除,执行步骤508。
步骤508、处理器将已读取数据从第二存储模块调度到第一存储模块进行存储。
至此,处理器处理数据的流程结束。
实施例三
该实施例三提供了一种与实施例一提供的一种处理器处理数据的方法对应的装置,该装置能够应用在移动终端中,能够减少处理器通过IO模块与用于扩展本地内存的存储器的交互次数,从而达到了提高处理器的数据处理能力的目的。
图6示出了本申请实施例三提供的一种处理器处理数据的装置的结构示意图,具体地,该装置包括:
存储模块确定单元601、待操作数据确定单元602、存储地址查询单元603以及数据处理单元604,其中:
存储模块确定单元601,用于从本地内存中确定第一存储模块,并从用于扩展本地内存的存储器中确定第二存储模块;
待操作数据确定单元602,用于确定针对指定应用程序的待操作数据;
存储地址查询单元603,用于当确定与存储模块确定单元601确定出的第一存储模块对应的第一索引文件中未存在待操作数据确定单元602确定的待操作数据的数据标识后,在与存储模块确定单元601确定出的第二存储模块对应的第二索引文件中,查询与待操作数据的数据标识对应的,待操作数据在第二存储模块中的存储地址,第一索引文件中保存第一存储模块中所存储数据的数据标识,第二索引文件中保存第二存储模块中所存储数据的数据标识与存储地址的对应关系;
数据处理单元604,用于根据存储地址查询单元603查询到的待操作数据在第二存储模块中的存储地址,在第二存储模块中处理待操作数据。
本实施例三提供的优选实施方式中,图6所示装置包括的存储地址查询单元603,具体用于将待操作数据被保存至第二存储模块中的起始地址相对第二存储模块的起始地址的地址偏移量,作为待操作数据在第二存储模块中的存储地址。
本实施例三提供的优选实施方式中,图6所示装置包括的存储模块确定单元601,具体用于在对指定应用程序初始化时,从用于扩展本地内存的存储器中,确定用于保存指定应用程序对应的数据的第二存储模块。
本实施例三提供的优选实施方式中,图6所示装置包括的存储模块确定单元601,具体用于在对指定应用程序初始化时,从本地内存中,确定用于保存指定应用程序对应的数据中指定数据的第一存储模块。
本实施例三提供的优选实施方式中,图6所示装置包括的存储地址查询单元603,还用于若确定第一索引文件中存在待操作数据的数据标识,在第一索引文件中查询待操作数据在第一存储模块中的存储地址;
数据处理单元604,还用于根据存储地址查询单元603查询的该存储地址,在第一存储模块中处理待操作数据。
本实施例三提供的优选实施方式中,图6所示装置包括的数据处理单元604,还用于在第一存储模块中处理待操作数据后,根据第一存储模块中存储的各数据被访问的次数,更新各数据对应的存储期限优先级。
本实施例三提供的优选实施方式中,图6所示装置包括的数据处理单元604,具体用于从第二存储模块中读取待操作数据;在第二存储模块中处理待操作数据后,将待操作数据从第二存储模块发送到第一存储模块进行存储。
本实施例三提供的优选实施方式中,图6所示装置包括的数据处理单元604,还用于在将待操作数据从第二存储模块发送到第一存储模块进行存储之前,确定第一存储模块中空闲的存储空间大于或等于存储待操作数据需要的存储空间;或,确定第一存储模块中空闲的存储空间小于存储待操作数据需要的存储空间后,根据第一存储模块中保存的各数据对应的存储期限优先级,将存储期限优先级最低的数据删除,存储期限优先级为数据处理单元604根据各数据被访问的次数确定的。
本实施例三提供的优选实施方式中,图6所示装置包括的数据处理单元604,具体用于指示第二存储模块将待操作数据发送至用于缓存写入本地内存的数据的缓存模块;将待操作数据写入缓存模块后,在处理器空闲时确定将待操作数据发送至第一存储模块进行存储。
本实施例三提供的优选实施方式中,图6所示装置包括的数据处理单元604,还用于将待操作数据从第二存储模块发送到第一存储模块进行存储后,在第一索引文件中建立待操作数据的数据标识与待操作数据在第一存储模块中的存储地址的对应关系。
应当理解,以上装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的装置所实现的功能与上述实施例提供的处理器处理数据的方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
并且,本实施例三中的处理器处理数据的装置还具有能够实现实施例一以及实施例二方案的功能模块,此处不再赘述。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种处理器处理数据的方法,其特征在于,包括:
移动终端的处理器确定针对指定应用程序的待操作数据;
当确定与第一存储模块对应的第一索引文件中未存在所述待操作数据的数据标识后,在与第二存储模块对应的第二索引文件中,查询与所述待操作数据的数据标识对应的存储地址,所述存储地址为所述待操作数据在所述第二存储模块中的存储地址,所述第一存储模块为从本地内存中确定出的存储模块,所述第一索引文件中保存所述第一存储模块中所存储数据的数据标识,所述第二存储模块为从用于扩展本地内存的存储器中确定出的存储模块,所述第二索引文件中保存所述第二存储模块中所存储数据的数据标识与存储地址的对应关系;
根据所述待操作数据在所述第二存储模块中的存储地址,直接在所述第二存储模块中的相应的位置处理所述待操作数据。
2.如权利要求1所述的方法,其特征在于,所述待操作数据在所述第二存储模块中的存储地址,具体为所述待操作数据被保存至所述第二存储模块中的起始地址相对所述第二存储模块的起始地址的地址偏移量。
3.如权利要求1所述的方法,其特征在于,所述处理器从用于扩展本地内存的存储器中确定第二存储模块,包括:
在对所述指定应用程序初始化时,所述处理器从用于扩展本地内存的存储器中,确定用于保存所述指定应用程序对应的数据的第二存储模块。
4.如权利要求1或3所述的方法,其特征在于,所述处理器从本地内存中确定第一存储模块,包括:
在对所述指定应用程序初始化时,所述处理器从本地内存中,确定用于保存所述指定应用程序对应的数据中指定数据的第一存储模块。
5.如权利要求1所述的方法,其特征在于,还包括:
若所述处理器确定所述第一索引文件中存在所述待操作数据的数据标识,在所述第一索引文件中查询所述待操作数据在所述第一存储模块中的存储地址,并根据查询的该存储地址,在所述第一存储模块中处理所述待操作数据。
6.如权利要求5所述的方法,其特征在于,所述处理器在所述第一存储模块中处理所述待操作数据后,还包括:
所述处理器根据所述第一存储模块中存储的各数据被访问的次数,更新所述各数据对应的存储期限优先级。
7.如权利要求1所述的方法,其特征在于,所述处理器在所述第二存储模块中处理所述待操作数据,包括:
所述处理器从所述第二存储模块中读取所述待操作数据;
所述处理器在所述第二存储模块中处理所述待操作数据后,还包括:
所述处理器将所述待操作数据从所述第二存储模块发送到所述第一存储模块进行存储。
8.如权利要求7所述的方法,其特征在于,所述处理器将所述待操作数据从所述第二存储模块发送到第一存储模块进行存储之前,还包括:
所述处理器确定所述第一存储模块中空闲的存储空间大于或等于存储所述待操作数据需要的存储空间;或
所述处理器确定所述第一存储模块中空闲的存储空间小于存储所述待操作数据需要的存储空间后,根据所述第一存储模块中保存的各数据对应的存储期限优先级,将存储期限优先级最低的数据删除,所述存储期限优先级为所述处理器根据所述各数据被访问的次数确定的。
9.如权利要求7所述的方法,其特征在于,所述处理器将所述待操作数据从所述第二存储模块发送到所述第一存储模块进行存储,包括:
所述处理器指示所述第二存储模块将所述待操作数据发送至用于缓存写入本地内存的数据的缓存模块;并
将所述待操作数据写入所述缓存模块后,在所述处理器空闲时确定将所述待操作数据发送至第一存储模块进行存储。
10.如权利要求7或9所述的方法,其特征在于,所述处理器将所述待操作数据从所述第二存储模块发送到所述第一存储模块进行存储后,还包括:
所述处理器在所述第一索引文件中建立所述待操作数据的数据标识与所述待操作数据在所述第一存储模块中的存储地址的对应关系。
11.一种处理器处理数据的装置,其特征在于,包括:
存储模块确定单元,用于从本地内存中确定第一存储模块,并从用于扩展本地内存的存储器中确定第二存储模块;
待操作数据确定单元,用于确定针对指定应用程序的待操作数据;
存储地址查询单元,用于当确定与所述存储模块确定单元确定出的第一存储模块对应的第一索引文件中未存在所述待操作数据确定单元确定的待操作数据的数据标识后,在与所述存储模块确定单元确定出的第二存储模块对应的第二索引文件中,查询与所述待操作数据的数据标识对应的存储地址,所述存储地址为所述待操作数据在所述第二存储模块中的存储地址,所述第一索引文件中保存所述第一存储模块中所存储数据的数据标识,所述第二索引文件中保存所述第二存储模块中所存储数据的数据标识与存储地址的对应关系;
数据处理单元,用于根据所述存储地址查询单元查询到的所述待操作数据在所述第二存储模块中的存储地址,直接在所述第二存储模块中的相应的位置处理所述待操作数据。
CN201210215072.9A 2012-06-26 2012-06-26 一种处理器处理数据的方法以及装置 Active CN103513956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210215072.9A CN103513956B (zh) 2012-06-26 2012-06-26 一种处理器处理数据的方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210215072.9A CN103513956B (zh) 2012-06-26 2012-06-26 一种处理器处理数据的方法以及装置

Publications (2)

Publication Number Publication Date
CN103513956A CN103513956A (zh) 2014-01-15
CN103513956B true CN103513956B (zh) 2016-04-06

Family

ID=49896753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210215072.9A Active CN103513956B (zh) 2012-06-26 2012-06-26 一种处理器处理数据的方法以及装置

Country Status (1)

Country Link
CN (1) CN103513956B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844234B (zh) * 2015-12-04 2020-01-03 成都华为技术有限公司 数据写入方法及装置、双活系统
CN106790416A (zh) * 2016-11-30 2017-05-31 上海仙剑文化传媒股份有限公司 移动终端设备的ar图书下载管理方法及装置
CN108469967B (zh) * 2017-02-23 2021-06-25 银联数据服务有限公司 一种交易数据处理方法和交易系统
CN108572958B (zh) * 2017-03-07 2022-07-29 腾讯科技(深圳)有限公司 数据处理方法及装置
CN109840123B (zh) * 2017-11-28 2022-08-12 合肥美的智能科技有限公司 向用户展示数据的方法和装置
CN110196785B (zh) * 2018-02-27 2022-06-14 浙江宇视科技有限公司 数据备份管理方法、装置及电子设备
CN109271285B (zh) * 2018-11-12 2022-05-27 上海碳蓝网络科技有限公司 一种文件备份的方法、设备和计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136029A (zh) * 2007-08-23 2008-03-05 南京联创科技股份有限公司 主内存数据中心数据处理方法
CN101510144A (zh) * 2009-03-24 2009-08-19 中国科学院计算技术研究所 基于分布式虚拟机管理器的分布式cache系统及其工作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055864B2 (en) * 2007-08-06 2011-11-08 International Business Machines Corporation Efficient hierarchical storage management of a file system with snapshots

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136029A (zh) * 2007-08-23 2008-03-05 南京联创科技股份有限公司 主内存数据中心数据处理方法
CN101510144A (zh) * 2009-03-24 2009-08-19 中国科学院计算技术研究所 基于分布式虚拟机管理器的分布式cache系统及其工作方法

Also Published As

Publication number Publication date
CN103513956A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
CN103513956B (zh) 一种处理器处理数据的方法以及装置
CN103019962B (zh) 数据缓存处理方法、装置以及系统
CN107526546B (zh) 一种Spark分布式计算数据处理方法及系统
US9672245B2 (en) Memory storage apparatus, method of supporting transaction function for database, and memory system
US20190121732A1 (en) Persistent content in nonvolatile memory
CN103064797B (zh) 数据处理方法和虚拟机管理平台
CN104239575A (zh) 一种虚拟机镜像文件存储、分发方法及装置
EP2646921A2 (en) Efficient cache management
CN104580437A (zh) 一种云存储客户端及其高效数据访问方法
CN104123238A (zh) 数据存储方法及装置
WO2016165597A1 (zh) 数据存储的处理方法及装置
CN103186622B (zh) 一种全文检索系统中索引信息的更新方法以及装置
US20100205397A1 (en) Method and apparatus for allocating resources in a computer system
CN103227812A (zh) 智能设备中支持断点续传的下载方法和装置
CN103678166A (zh) 一种采用固态硬盘作为计算机高速缓存的实现方法及系统
CN102609305A (zh) 一种服务器集群中内存共享方法
CN102880671A (zh) 一种面向分布式文件系统的主动重复数据删除方法
CN113641596B (zh) 缓存管理方法、缓存管理装置、处理器
CN105988875B (zh) 一种运行进程的方法及装置
CN103729247A (zh) 数据获取请求的处理方法、系统及服务器
CN104407990B (zh) 一种磁盘访问方法及装置
CN102024051B (zh) 分布式内存数据库数据更新方法
CN104461384A (zh) 一种数据写入方法及存储设备
CN111061652B (zh) 一种基于mpi-io中间件的非易失内存管理方法与系统
CN103795806A (zh) 一种面向移动终端的云存储实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211109

Address after: Room 554, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: TAOBAO (CHINA) SOFTWARE CO.,LTD.

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right