掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及终端升级技术领域,尤其涉及一种差分升级方法及装置、存储介质、计算机设备。

背景技术

对于当前众多智能终端,空间下载技术(Over-the-Air Technology,简称OTA)升级是很重要的功能,通过OTA升级,终端通过网络下载新的系统程序并完成升级,能让终端产品迭代更新系统软件版本,在产品推出后能不断提升产品功能和性能,极大的提高产品的体验。OTA升级可包括整包升级和差分升级两种升级方式。其中,整包升级是以完整的目标版本为升级包进行升级,升级包较大,下载时间漫长,给用户体验很不好。差分升级则是以原版本文件和目标版本间的增量包制作升级包进行升级,其升级包一般远小于整包升级方式的升级包,实际使用中用户终端的升级一般采用差分升级。

智能终端或物联网(The Internet of Things,简称IOT)设备,基于可用存储空间的考虑,在升级时多数情况下会使用差分升级方式。有时基于系统需要,比如小存储的限制或者快速读取分区数据的要求,会将设备中某些分区比如内核(kernel)、基带(modem)等分区的部分或全部数据压缩后再写入相应分区中。如果是常规的OTA差分升级方案,基于压缩的数据做差分得到的差分包数据量较大,不能满足差分包尽量小的要求。此时,低端的智能终端或IOT设备的可用存储空间可能保存不了差分包,从而不能用差分包进行升级。

由此,亟需一种差分升级方法,在对终端进行操作系统的分区的差分升级时,若该操作系统的分区存在压缩数据,也能够有效减小差分包的数据量。

发明内容

本发明解决的技术问题是如何在对终端进行操作系统的分区的差分升级时,若该操作系统的分区存在压缩数据,也能够有效减小差分包的数据量。

为解决上述技术问题,本发明实施例提供一种差分升级方法,所述方法包括:步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;步骤B,识别所述原版本文件是否被压缩;步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;步骤E,识别所述目标版本文件是否需要被压缩;步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。

可选的,所述步骤B包括:当获取到所述第一标记时,所述原版本文件被压缩,所述第一标记用于表示所述原版本文件被压缩;所述步骤E包括:当获取到所述第二标记时,所述目标版本文件被压缩,所述第二标记用于表示所述目标版本文件需要被压缩。

可选的,所述差分包包含所述第一标记和/或所述第二标记。

可选的,所述步骤B之后还包括:若所述原版本文件未被压缩,则跳转至所述步骤D。

可选的,所述步骤E之后,还包括:若所述目标版本文件不需要被压缩,则将所述目标版本文件的源数据更新至所述目标分区。

本发明实施例还提供一种差分升级方法,所述方法包括:步骤A1,识别要进行分区升级的原版本文件是否被压缩;步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;步骤C1,识别分区升级后的目标版本文件是否被压缩;步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。

可选的,所述步骤A1之后还包括:生成第一标记,所述第一标记用于表示所述原版本文件被压缩;或者,所述步骤C1之后还包括:生成第二标记,所述第二标记用于表示所述目标版本文件需要被压缩。

可选的,所述步骤E1之后还包括:将所述第一标记和/或所述第二标记添加到所述差分包中。

可选的,所述步骤A1之后还包括:若所述原版本文件未被压缩,则跳转至步骤C1。

可选的,所述步骤C1之后还包括:若所述目标版本文件未被压缩,则跳转至步骤E1。

本发明实施例还提供一种差分升级装置,所述装置包括:差分包获取模块,用于执行步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;第一原版本压缩识别模块,用于执行步骤B,识别所述原版本文件是否被压缩;第一原版本解压模块,用于执行步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;目标版本源数据生成模块,用于执行步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;第一目标版本压缩识别模块,用于执行步骤E,识别所述目标版本文件是否需要被压缩;目标版本压缩模块,用于执行步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。

本发明实施例还提供一种差分升级装置,所述装置包括:第二原版本压缩识别模块,用于执行步骤A1,识别要进行分区升级的原版本文件是否被压缩;第二原版本解压模块,用于执行步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;第二目标版本压缩识别模块,用于执行步骤C1,识别分区升级后的目标版本文件是否被压缩;目标版本解压模块,用于执行步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;差分包生成模块,用于执行步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。

本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。

本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述方法的步骤。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

本发明实施例提供一种差分升级方法,所述方法包括:步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;步骤B,识别所述原版本文件是否被压缩;步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;步骤E,识别所述目标版本文件是否需要被压缩;步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。较之现有技术,本发明实施例的方案在差分包是基于原版本文件的源数据和目标版本的源数据生成的,差分包的数据量较小,保证终端能够正常存储差分包,以执行差分数据。终端将所有文件转化为源数据,执行差分算法,以完成差分升级的过程。

进一步,终端无需根据检查本地的原版本文件,能够直接根据第一标记和/或第二标记得到原版本文件是否被压缩以及目标版本文件是否需要被压缩的识别结果。且第一标记和/或第二标记可包含于差分包中,无需另行获取,能够有效减少差分升级的计算过程。

进一步,本发明实施例的方案在制作差分包和升级时对压缩的分区数据增加解压压缩的预处理和后处理,能够解决差分包数据量较大的问题,适用于智能终端或IOT设备的操作系统的分区进行版本更新。

附图说明

图1为本发明实施例的一种差分升级方法的流程示意图;

图2是本发明实施例的另一种差分升级方法的流程示意图;

图3是本发明实施例一种差分升级装置的结构示意图;

图4是本发明实施例的另一种差分升级装置的结构示意图。

具体实施方式

如背景技术中所述,现有技术中对终端的操作系统的分区进行分区升级时,由于存在压缩数据,可能导致制作的差分包数据量较大,造成终端无法保存该差分包,影响分区升级。

为解决上述问题,本发明实施例提供一种差分升级方法,所述方法包括:步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;步骤B,识别所述原版本文件是否被压缩;步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;步骤E,识别所述目标版本文件是否需要被压缩;步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。

由此,能够在对终端进行操作系统的分区的差分升级时,若该操作系统的分区存在压缩数据,也能够有效减小差分包的数据量。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

请参见图1,图1为本发明实施例的一种差分升级方法的流程示意图,所述差分升级方法可由终端侧执行,该方法可以用于OTA升级过程,该终端侧可指电脑、手机、智能手表等等终端设备,所述方法包括:

步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;

其中,分区升级指的是对终端的操作系统的一个或多个分区进行升级,例如以安卓系统为例,安卓系统的分区可包括modem分区、kernel分区、recovery分区和system分区等。其中,modem分区用于实现手机必需的通信功能;kernel分区通常包含于boot分区内,即linux内核;recovery分区用于实现安卓定义的标准刷机协议;system分区则用于实现其他系统功能。本发明中将要进行差分升级的分区称为目标分区。

在执行对目标分区的升级之前,终端侧从本地操作系统的目标分区获取当前目标分区的分区镜像作为原版本文件。对该目标分区升级后的分区镜像记作目标版本文件。

差分包为对原版本文件进行差分升级时使用的升级包,终端对原版本文件进行升级之前,可先从服务器端下载差分包至本地,然后使用差分包对终端本地的原版本文件进行升级。差分包是基于原版本文件的源数据与目标版本文件的源数据之间进行差分得到的,其中源数据为未经压缩的数据。

步骤B,识别所述原版本文件是否被压缩;

其中,在对一操作系统的分区升级时,该操作系统的分区为目标分区,原版本为升级前的版本,目标版本为升级后的版本。原版本文件被压缩指的是终端本地存储的原版本文件中存在压缩数据,各个操作系统的分区的压缩形式不同,可能对整个分区的文件进行压缩,也可能仅对该分区中的部分文件进行压缩。例如,对于modem分区,通常是对整个modem文件压缩,如果有签名压缩后再签名;而对于kernel分区,通常只对其中的图像(image)部分进行压缩,设备树(Device Tree,简称DT)等部分不进行压缩。

终端可根据本地的原版本文件来识别其是否被压缩,也可以根据差分包中的指示识别原版本文件是否被压缩。或者通过其他指示,如服务器单独发送的指示信息,识别原版本文件是否被压缩。

当识别到要升级的操作系统的分区中存在压缩数据时,则表示该原版本文件被压缩;反之,则表示该原版本文件未被压缩。

步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;

若本地的原版本文件存在压缩数据,则需要将被压缩的数据进行解压,得到原版本文件的源数据。解压操作可基于被压缩的数据的压缩算法进行,可参照现有的压缩/解压算法,这里不做进一步解释。

可选的,在解压得到原版本文件的源数据后,先将原版本文件的源数据写入目标分区,以替换目标分区的原版本文件。

步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;

可选的,在生成目标版本文件的源数据后,将目标版本文件的源数据写入目标分区,以替换目标分区的原版本文件的源数据。也即,仅利用目标分区存储本实施例中差分升级产生的中间文件,无需占用其他区域(如备份区、缓存区等)的存储空间。

步骤E,识别所述目标版本文件是否需要被压缩;

步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。

差分包是基于原版本文件和目标版本文件的源数据生成的,终端在得到原版本文件的源数据后,可直接将基于原版本文件的源数据和差分包得到目标版本的源数据。如使用BSDiff差分算法时,以原版本文件的源数据和差分包打patch,可直接得到目标版本的源数据。

目标版本是否需要被压缩表示该目标版本在终端本地存储时,是否需要对目标版本源数据中的部分或全部数据进行压缩。通常目标版本文件中被压缩的部分与原版本文件对应、压缩格式也对应,也即,目标版本文件是否需要被压缩、终端对目标版本文件的源数据进行压缩时哪些数据要被压缩、以及使用的压缩算法都由原版本文件隐式指示。

终端可根据本地的原版本文件来识别目标版本文件是否需要被压缩,也可以根据差分包中的指示识别目标版本文件是否被压缩。或者通过其他指示,如服务器单独发送的指示信息,识别目标版本文件是否被压缩。

图1提供的差分升级方法中,差分包是基于原版本文件的源数据和目标版本的源数据生成的,差分包的数据量较小,保证终端能够正常存储差分包,以执行差分数据。终端将所有文件转化为源数据,执行差分算法,以完成差分升级的过程。

以常用的压缩方法bzip2及通用的差分算法BSDiff算法为例,基于两个大小一样内容有少许差别的linux kernel二进制版本(也即,基础版本和目标版本)的数据进行制作差分包为例,下述表1展示了基于源数据和压缩数据做差分包的比较情况:

表1

其中,BSDiff算法为一种差量更新算法,它在服务器端运行BSDiff算法产生补丁(patch)包,在客户端运行BSPatch算法,将原版本文件和patch包合成升级后的新文件。

从表1的数据可以看出,基于基础版本的源数据和目标版本的源数据做差分包时,差分包数据量为844字节;基于基础版本的压缩数据和目标版本的压缩数据做差分包时,差分包数据量3778993字节。由此,能够看出基于源数据做差分包的数据量很小,能够有效减少差分升级时的空间占用。

在一个实施例中,请继续参见图1,所述步骤D中基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据,包括:

在基于差分包和原版本文件的源数据进行差分升级时,将升级操作分为一次或多次,每次升级时生成的目标文件的源数据的数据大小不超过单次升级量,其中,所述单次升级量在首次升级前确定。

在差分升级开始前,终端可根据内存情况确定每次升级得到的目标文件的源数据的数据大小,即单次升级量。由此,可每次对原版本文件的源数据中的一部分进行升级,通过多次的差分升级完成对目标分区中原版本文件的升级。可选的,可根据单次升级量将原版本文件的源数据分成多个文件块,每次升级其中的一块或者多块。

可选的,在差分升级时的每次升级,可从原版本文件的源数据中获取一块或者多块文件块进行备份,将其存储至备份区或者缓存区,待一文件块升级后,再将升级后的文件块写入目标分区的对应位置。此时,在差分升级时,所使用的备份区或缓存区的存储空间很小,其存储空间的大小与单次升级量有关,也即可由终端根据其可用的备份区或缓存区的大小自行确定。

本实施例中,能够根据终端的系统资源动态配置每次升级的目标文件的大小,适用于低容量存储设备终端差分升级,以合理利用低容量存储的终端设备的当前系统资源以完成操作系统的分区的版本升级。并且,在对原版本文件进行升级的过程中,若由于掉电等原因出现升级中断,解除中断原因后,也即仅对原版本文件还未升级的部分继续进行升级,而无需重新对整个原版本文件进行升级,能够实现掉电保护。

在一个实施例中,请继续参见图1,所述方法还包括:所述步骤B包括:当获取到所述第一标记时,所述原版本文件被压缩,所述第一标记用于表示所述原版本文件被压缩;所述步骤E包括:当获取到所述第二标记时,所述目标版本文件被压缩,所述第二标记用于表示所述目标版本文件需要被压缩。

以第一标记和第二标记直接指示原版本文件是否被压缩和目标版本文件是否需要被压缩。终端在执行图1的步骤B和步骤E时无需根据检查本地的原版本文件,能够直接根据第一标记和/或第二标记得到步骤B和步骤E的识别结果。

可选的,当终端获取到第一标记时,表示原版本文件被压缩;当终端未获取到第一标记时,表示原版本文件未被压缩。对应地,当终端获取到第二标记时,表示目标版本文件需要被压缩;当终端未获取到第二标记时,表示目标版本文件不需要被压缩。

可选的,当终端获取到第一标记,且第一标记为第一标识(如第一标记为“1”)时,表示原版本文件被压缩;当终端获取到第一标记,且第一标记为第二标识(如第二标识为“0”)时,表示原版本文件未被压缩。对应地,当终端获取到第二标记,且第二标记为第一标识(如第一标识为“1”)时,表示目标版本文件需要被压缩;当终端获取到第二标记,且第二标记为第二标识(如第二标识为“1”)时,表示目标版本文件不需要被压缩。其中,第一标记和第二标记的表示形式包括但不限于示例的情况,任何能够表示原版本文件是否被压缩以及目标版本文件是否需要被压缩的方案都为本发明的保护内容。

可选的,所述差分包包含所述第一标记和/或所述第二标记。

第一标记和/或第二标记可包含于差分包中,进一步,差分包中可仅包含第一标记、以及仅包含第二标记、也可同时包含第一标记和第二标记。

可选的,在制作差分包时,可将第一标记和/或第二标记添加到差分包中,如添加到差分包的包头或者包尾的数据域中。终端在获取到差分包后,可从对应的数据域获取第一标记和/或第二标记。

本实施例中,终端无需根据检查本地的原版本文件,能够直接根据第一标记和/或第二标记得到原版本文件是否被压缩以及目标版本文件是否需要被压缩的识别结果。且第一标记和/或第二标记可包含于差分包中,无需另行获取,能够有效减少差分升级的计算过程。

在一个实施例中,请继续参见图1,所述步骤B之后还包括:若所述原版本文件未被压缩,则跳转至所述步骤D。

终端在识别到原版本文件未被压缩后,可省略解压缩的步骤,直接进入步骤D。

在一个实施例中,请继续参见图1,所述步骤E之后,还包括:若所述目标版本文件不需要被压缩,则将所述目标版本文件的源数据更新至所述目标分区。

终端在识别到目标版本文件不需要被压缩后,可省略对目标版本文件的源数据进行压缩的步骤,直接将目标版本文件的源数据写入目标分区,替换原版本文件,本次差分升级完成。

请参见图2,本发明实施例还提供一种差分升级方法,该方法为开发人员制作差分包的过程,所述方法包括:

步骤A1,识别要进行分区升级的原版本文件是否被压缩;

步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;

步骤C1,识别分区升级后的目标版本文件是否被压缩;

步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;

步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。

在制作差分包时,对原版本文件和目标版本文件的数据进行预处理,如果存在压缩数据则先解压,然后对基础和目标版本源数据进行差分,以根据源数据制作差分包。本实施例中,原版本文件以及目标版本文件是否被压缩可根据获取的原版本文件和目标版本文件的情况来确定,无需与终端侧对应。

可选的,所述步骤A1之后还包括:生成第一标记,所述第一标记用于表示所述原版本文件被压缩;或者,所述步骤C1之后还包括:生成第二标记,所述第二标记用于表示所述目标版本文件需要被压缩。

可选的,所述步骤E1之后还包括:将所述第一标记和/或所述第二标记添加到所述差分包中。

制作差分包的开发人员对执行差分升级的终端中的原版本文件是否被压缩、以及目标版本文件是否需要被压缩的理解相同。在制作差分包的过程中,可同时记录在终端侧升级时原版本文件是否被压缩和目标版本文件是否需要被压缩的标记,也即第一标记和第二标记。

可选的,所述步骤A1之后还包括:若所述原版本文件未被压缩,则跳转至步骤C1。

可选的,所述步骤C1之后还包括:若所述目标版本文件未被压缩,则跳转至步骤E1。

在一个具体应用场景中,在操作系统的分区差分升级的过程中,包括两个阶段:差分包制作阶段和升级阶段。差分包制作阶段可由开发人员制作,其制作过程可使用下述图2所述的差分升级方法,制作完成的差分包可在服务器端发布。升级阶段由各个进行差分升级的终端基于由服务器端获取的差分包在终端本地执行图1所述的差分升级方法。

关于图2所示差分升级方法的工作原理、工作方式的更多内容,可以参照图1所述差分升级方法的相关描述,这里不再赘述。

本发明实施例的方案在制作差分包和升级时对压缩的分区数据增加解压压缩的预处理和后处理,能够解决差分包数据量较大的问题,适用于智能终端或IOT设备的操作系统的分区进行版本更新。

请参见图3,图3为一种差分升级装置30的结构示意图,所述差分升级装置30包括:

差分包获取模块301,用于执行步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;

第一原版本压缩识别模块302,用于执行步骤B,识别所述原版本文件是否被压缩;

第一原版本解压模块303,用于执行步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;

目标版本源数据生成模块304,用于执行步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;

第一目标版本压缩识别模块305,用于执行步骤E,识别所述目标版本文件是否需要被压缩;

目标版本压缩模块306,用于执行步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。

在一个实施例中,在第一原版本压缩识别模块302中,当获取到所述第一标记时,所述原版本文件被压缩,所述第一标记用于表示所述原版本文件被压缩;

在第一目标版本压缩识别模块305中,当获取到所述第二标记时,所述目标版本文件被压缩,所述第二标记用于表示所述目标版本文件需要被压缩。

可选的,所述差分包包含所述第一标记和/或所述第二标记。

在一个实施例中,若第一原版本压缩识别模块302识别到原版本文件未被压缩,则跳转至所述步骤D。

在一个实施例中,若第一目标版本压缩识别模块305识别到所述目标版本文件不需要被压缩,所述差分升级装置30还包括:

直接更新模块,用于将所述目标版本文件的源数据更新至所述目标分区。

关于图3所示差分升级装置30的工作原理、工作方式的更多内容,可以参照图1所述差分升级方法的相关描述,这里不再赘述。

请参见图4,图4为一种差分升级装置40的结构示意图,所述差分升级装置40包括:

第二原版本压缩识别模块401,用于执行步骤A1,识别要进行分区升级的原版本文件是否被压缩;

第二原版本解压模块402,用于执行步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;

第二目标版本压缩识别模块403,用于执行步骤C1,识别分区升级后的目标版本文件是否被压缩;

目标版本解压模块404,用于执行步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;

差分包生成模块405,用于执行步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。

在一个实施例中,差分升级装置40还包括:

第一标记生成模块,用于生成第一标记,所述第一标记用于表示所述原版本文件被压缩;或者

第二标记生成模块,用于生成第二标记,所述第二标记用于表示所述目标版本文件需要被压缩。

在一个实施例中,差分升级装置40还包括:标记添加模块,用于将所述第一标记和/或所述第二标记添加到所述差分包中。

在一个实施例中,若第二原版本压缩识别模块401识别到所述原版本文件未被压缩时,则跳转至步骤C1。

在一个实施例中,若第二目标版本压缩识别模块403识别到所述目标版本文件未被压缩,则跳转至步骤E1。

关于图4所示差分升级装置40的工作原理、工作方式的更多内容,可以参照图2所述差分升级方法的相关描述,这里不再赘述。

本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行图1或图2所述方法的步骤。所述存储介质可以是计算机可读存储介质,例如可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。

具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specificintegrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。

本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行图1或图2所述方法的步骤。所述计算机设备包括但不限于手机、计算机、平板电脑、服务器或者服务器集群等设备。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。

本申请实施例中出现的“多个”是指两个或两个以上。

本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。

本申请实施例中出现的“连接”是指直接连接或者间接连接等各种连接方式,以实现设备间的通信,本申请实施例对此不做任何限定。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

技术分类

06120112174865