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

数据处理方法、装置、计算机设备及可读存储介质

文献发布时间:2024-04-18 19:59:31


数据处理方法、装置、计算机设备及可读存储介质

技术领域

本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、计算机设备及可读存储介质。

背景技术

host(主机)与device(设备)进行协议命令交互时,协议规定的读写命令会涉及host与device之间的数据的交互,此时host写入的数据与从device读取来的数据预期是一致的。现有方案主要用于device固件对于存储、读取正确数据能力的验证,首先在生成写入数据时采用临时变量记录pattern,将脚本内申请堆作为data buffer,然后将整个databuffer设置为pattern,最后下发写命令、读校验,脚本结束。

但上述方法存在以下几种缺点:(1)当脚本结束后,所有变量均被系统回收,当出现问题时无法追溯,会出现无法定界是host问题导致的写入非预期数据,还是device问题导致的返回非预期数据;(2)写入数据单一,当出现问题后,无法快速定界该lba(logicblock address,逻辑块地址)是否被覆盖写过以及不清楚读到的是否是最新的数据;(3)如果lba间要写入不同数据的时候,通过申请临时变量的方式去维护pattern难度会比较高,且写操作、读校验需要在一个脚本内完成。

发明内容

有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种数据处理方法、装置、计算机设备及可读存储介质。

本发明提供如下技术方案:

第一方面,本公开实施例中提供了一种数据处理方法,所述方法包括:

在主机端申请第一固定地址内存区域作为模式表,其中,所述模式表内包含多个逻辑块地址,各所述逻辑块地址对应有目标模式;

对所述模式表进行维护,并在所述主机端申请第二固定地址内存区域作为数据缓冲器;

根据所述逻辑块地址与所述模式表生成特征数据,根据各所述逻辑块地址对应的目标模式生成剩余数据,将所述特征数据与所述剩余数据保存至所述数据缓冲器中;

对所述特征数据与所述剩余数据进行校验,当出现数据校验不一致时,根据所述模式表与所述逻辑块地址确定问题类型。

进一步地,所述方法还包括:

当所述主机端的内存不足以存放所述模式表时,对所述逻辑块地址进行分段,得到多张模式子表,其中,所述模式子表包含dirty状态和clean状态;

将所述模式表存放至预设闪存中,将各所述模式子表存放至所述主机端的内存中。

进一步地,所述对所述模式表进行维护,包括:

判断所述逻辑块地址所在的模式子表是否存在于所述主机端的内存中;

当所述模式子表存在于所述主机端的内存中时,获取所述逻辑块地址对应的目标模式,并将所述目标模式记录至所述模式表中;

当所述模式子表不存在于所述主机端的内存中时,根据所述模式子表的状态获取所述逻辑块地址对应的目标模式,并将所述目标模式记录至所述模式表中。

进一步地,所述数据缓冲器包含写入数据与读取数据,所述根据所述逻辑块地址与所述模式表生成特征数据,包括:

在所述写入数据的第一区间字节写入所述逻辑块地址,在所述写入数据的第二区间字节写入所述模式表;

将所述第一区间字节与所述第二区间字节所包含的数据合并为所述特征数据。

进一步地,所述根据所述模式表与所述逻辑块地址确定问题类型,包括:

当所述特征数据中的所述逻辑块地址出现数据校验不一致时,确定为设备端表项问题;

当所述特征数据中的所述目标模式出现数据校验不一致时,根据所述模式表分析所述特征数据是否为历史数据,当所述特征数据为历史数据时确定为所述设备端表项问题或设备端垃圾回收问题。

进一步地,所述方法还包括:

将所述模式表中未完成的写命令的逻辑块地址修改为虚拟数据;

将所述未完成的写命令的逻辑块地址在所述模式表中的当前模式恢复为历史模式。

进一步地,所述方法还包括:

在所述主机端申请第三固定地址内存区域作为缓存表,所述缓存表中包括多个插槽,每个所述写命令对应一个插槽号;

根据各所述写命令的插槽号将所述模式表中的数据更新至所述缓存表中,并判断所述写命令是否执行成功;

当所述写命令执行成功时,将对应的插槽号的当前模式同步至所述模式子表;

当所述写命令执行失败时,清除对应的插槽号所在的缓存表。

第二方面,本公开实施例中提供了一种数据处理装置,所述装置包括:

第一申请模块,用于在主机端申请第一固定地址内存区域作为模式表,其中,所述模式表内包含多个逻辑块地址,各所述逻辑块地址对应有目标模式;

第二申请模块,用于对所述模式表进行维护,并在所述主机端申请第二固定地址内存区域作为数据缓冲器;

数据生成模块,用于根据所述逻辑块地址与所述模式表生成特征数据,根据各所述逻辑块地址对应的目标模式生成剩余数据,将所述特征数据与所述剩余数据保存至所述数据缓冲器中;

数据校验模块,用于对所述特征数据与所述剩余数据进行校验,当出现数据校验不一致时,根据所述模式表与所述逻辑块地址确定问题类型。

第三方面,本公开实施例中提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中所述的数据处理方法的步骤。

第四方面,本公开实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的数据处理方法的步骤。

本申请的有益效果:

本申请实施例提供的数据处理方法,方法包括:在主机端申请第一固定地址内存区域作为模式表,其中,所述模式表内包含多个逻辑块地址,各所述逻辑块地址对应有目标模式;对所述模式表进行维护,并在所述主机端申请第二固定地址内存区域作为数据缓冲器;根据所述逻辑块地址与所述模式表生成特征数据,根据各所述逻辑块地址对应的目标模式生成剩余数据,将所述特征数据与所述剩余数据保存至所述数据缓冲器中;对所述特征数据与所述剩余数据进行校验,当出现数据校验不一致时,根据所述模式表与所述逻辑块地址确定问题类型。本申请节省了主机端的内存使用,并减少了大量的问题定位分析时间。

为使本发明的上述目的、特征和优点能更明显和易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在各个附图中,类似的构成部分采用类似的编号。

图1示出了本申请实施例提供的一种数据处理方法的流程图;

图2示出了本申请实施例提供的一种模式表的结构示意图;

图3示出了本申请实施例提供的一种数据生成方式的示意图;

图4示出了本申请实施例提供的一种数据处理装置的结构示意图;

图5示出了本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。相反,当元件被称作“直接在”另一元件“上”时,不存在中间元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在模板的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

实施例1

如图1所示,为本申请实施例中的一种数据处理方法的流程图,本申请实施例提供的数据处理方法包括以下步骤:

步骤S110,在主机端申请第一固定地址内存区域作为模式表,其中,所述模式表内包含多个逻辑块地址,各所述逻辑块地址对应有目标模式。

在本实施例中,申请一片第一固定地址内存区域作为模式表pattern table,模式表pattern table用于记录每个逻辑块地址lba对应的目标模式pattern,包含写入数据的内容也包含生成数据的方式。模式表pattern table内每个字节对应一个逻辑块地址lba,结构如图2所示。

需要说明的是,此处需要的盘片内存大小为:盘的容量×(1byte/sector size),以512G大小的SATA盘进行举例:512G×(1byte/512byte)=1G。

可以理解的是,当主机端的内存不足以存放模式表pattern table时,需要对逻辑块地址lba进行分段,每一段范围的逻辑块地址lba对应一张模式子表,得到多张模式子表,其中,每张模式子表包含dirty状态和clean状态,当模式子表被写入数据上,从clean状态变为dirty状态,当模式子表被下刷至模式表,从dirty状态变为clean状态。将模式表存放至预设闪存nand(如emmc)中,将各模式子表存放至主机端的内存中。

本申请引入了模式表和模式子表,可以很好解决面对大容量盘片主机端内存不足以存放完整的模式表pattern table的问题。且每个目标模式pattern在内存中仅占用1byte,一定程度上节省了内存使用,在主机端上电期间可以随时获取模式表patterntable。

步骤S120,对所述模式表进行维护,并在所述主机端申请第二固定地址内存区域作为数据缓冲器。

在写入数据前,需要对模式表pattern table进行维护,需要将对应逻辑块地址lba的数据特征pattern记录到模式表pattern table中。

具体地,对于读取数据时,维护流程如下:首先判断逻辑块地址lba所在的模式子表是否存在于主机端的内存中,若存在,则直接获取逻辑块地址lba对应的目标模式pattern,并将目标模式pattern记录至模式表pattern table中;若不存在,则判断当前模式子表是否处于dirty状态,若不处于dirty状态,则将模式表pattern table中该逻辑块地址lba所在的模式子表加载到主机端内存的指定位置,若处于dirty状态,则将该模式子表下刷至模式表pattern table中,并清除该模式子表的状态为clean状态,再将模式表pattern table中该逻辑块地址lba所在的模式子表加载到主机端内存的指定位置,最后将指定位置移动至内存中的下一张模式子表中,进而获取逻辑块地址lba对应的目标模式pattern,并将目标模式pattern记录至模式表pattern table中。

进一步地,对于写入数据时,维护流程如下:首先判断逻辑块地址lba所在的模式子表是否存在于主机端的内存中,若存在,则直接在对应模式子表的对应偏移置上该逻辑块地址lba对应的目标模式pattern,将目标模式pattern记录至模式表pattern table中,并给该模式子表置上dirty状态;若不存在,则判断当前模式子表是否处于dirty状态,若不处于dirty状态,则将模式表pattern table中该逻辑块地址lba所在的模式子表加载到主机端内存的指定位置,若处于dirty状态,则将该模式子表下刷至模式表pattern table中,并清除该模式子表的状态为clean状态,再将模式表pattern table中该逻辑块地址lba所在的模式子表加载到主机端内存的指定位置,最后将指定位置移动至内存中的下一张模式子表中,进而在对应模式子表的对应偏移置上该逻辑块地址lba对应的目标模式pattern,将目标模式pattern记录至模式表pattern table中,并给该模式子表置上dirty状态。

在主机端申请一片第二固定地址内存区域作为数据缓冲器data buffer,数据缓冲器data buffer用于存放即将写入盘片的写入数据与从盘片读取出来的读取数据。该数据缓冲器data buffer将会根据存储介质协议的cmd queue深度进行平均分配,每一个插槽slot将会对应一块固定的区域。

申请第二固定地址内存区域的大小取决于存储介质协议的cmd queue深度以及单个命令最大IO大小,即data buffer size=cmd queue depth×max IO,以SATA盘进行举例:32×32M=1G。

本实施例通过申请数据缓冲器data buffer,该区域记录了写入、读取的实际数据,可以作为非常实用的debug信息以及证据,当出现数据不一致时,可以快速定界问题属于host主机端还是device设备端。

步骤S130,根据所述逻辑块地址与所述模式表生成特征数据,根据各所述逻辑块地址对应的目标模式生成剩余数据,将所述特征数据与所述剩余数据保存至所述数据缓冲器中。

在本实施例中,为了便于表项问题定位,在写入数据的第一区间字节(8字节)写入逻辑块地址lba数据,为了便于垃圾回收、表项问题定位,在写入数据的第二区间字节(8字节)写入模式表pattern table数据。将第一区间字节与第二区间字节所包含的数据(前16字节数据)称为特征数据。

剩余空间的字节填入根据各目标模式pattern生成的数据,为了节省数据校验的时间,在生成数据的时候,本实施例提供3种生成数据的方式,视图如图3所示。方式1:特征数据+剩余空间所有数据;方式2:特征数据+第二个16字节数据;方式3:特征数据+尾16字节数据,最后将特征数据与剩余数据保存至数据缓冲器data buffer中。

本申请采用特征数据加剩余数据的方式,可以缩短问题定位的时间。多种数据生成的方式,相比于以往的逐字节全校验,适当运用头尾校验可以大大节省主机端脚本的执行时间。

步骤S140,对所述特征数据与所述剩余数据进行校验,当出现数据校验不一致时,根据所述模式表与所述逻辑块地址确定问题类型。

数据校验分为两部分,校验特征数据和剩余数据,在进行剩余数据的时候,同样会根据步骤S130中生成数据时的三种方式去进行校验。

首先对特征数据进行校验,如果特征数据校验失败则数据校验不一致报错,如果特征数据校验通过就对剩余数据进行校验,剩余数据校验通过则结束校验流程,剩余数据校验不通过则数据校验不一致报错。

当特征数据中的逻辑块地址lba处出现数据校验不一致时,可以快速初步确定为device设备端表项指错(设备端表项指老数据覆盖新数据问题);当特征数据中的目标模式出现数据校验不一致时,根据主机端记录的模式表分析该特征数据是否为历史数据,当特征数据为历史数据时,大概率能确定为是设备端表项指错或者设备端垃圾回收指错,从而减少大量的问题定位分析时间。

需要说明的是,为了便于SPOR场景的数据校验,每次记录的目标模式pattern包含当前写入的当前模式以及上一次写入的历史模式,当出现SPOR场景的时候,优先使用当前模式进行校验,当第一次出现数据不一致的时候,采用历史模式进行校验。

在一种可选地实施方式中,由于本申请对于写命令提前维护了模式表patterntable,即预期所有的写命令都能预期完成。那么当写命令出现异常情况的时候,模式表pattern table将会出现维护错误,影响之后的一些测试项结果。本申请还提供三种异常处理的方案:

(1)将模式表中未完成的写命令对应的逻辑块地址lba在模式表pattern table内全部改为虚拟数据,即主机端会认为这个逻辑块地址lba没有被写过或者该逻辑块地址lba的数据不可信,当获取到虚拟的目标模式时,主机端则不会校验该笔数据。

(2)由于模式表pattern table记录了每个逻辑块地址lba写入的历史模式,可以将那些未完成的写命令对应的逻辑块地址lba,在模式表pattern table内的当前模式恢复为历史模式,例如:dummy pattern=0,获取到的当前模式为0x35,那么将该模式恢复为0x03。

(3)在所述主机端申请第三固定地址内存区域作为缓存表cache pattern table,缓存表中包括多个插槽slot,每个写命令对应一个插槽号,每个插槽slot独享一块区域,该区域总大小为:data buffer size/sector size,以sata举例:1G/512byte=2M。根据各写命令的插槽号将模式表pattern table中的数据更新至缓存表cache pattern table中,并判断写命令是否执行成功;当写命令执行成功时,将对应的插槽号的当前模式同步至模式子表,当写命令执行失败时,清除对应的插槽号所在的缓存表cache pattern table。

本申请实施例提供的数据处理方法,通过在主机端申请第一固定地址内存区域作为模式表,其中,所述模式表内包含多个逻辑块地址,各所述逻辑块地址对应有目标模式;对所述模式表进行维护,并在所述主机端申请第二固定地址内存区域作为数据缓冲器;根据所述逻辑块地址与所述模式表生成特征数据,根据各所述逻辑块地址对应的目标模式生成剩余数据,将所述特征数据与所述剩余数据保存至所述数据缓冲器中;对所述特征数据与所述剩余数据进行校验,当出现数据校验不一致时,根据所述模式表与所述逻辑块地址确定问题类型。本申请节省了主机端的内存使用,并减少了大量的问题定位分析时间。

实施例2

如图4所示,为本申请实施例中的一种数据处理装置400的结构示意图,其装置包括:

第一申请模块410,用于在主机端申请第一固定地址内存区域作为模式表,其中,所述模式表内包含多个逻辑块地址,各所述逻辑块地址对应有目标模式;

第二申请模块420,用于对所述模式表进行维护,并在所述主机端申请第二固定地址内存区域作为数据缓冲器;

数据生成模块430,用于根据所述逻辑块地址与所述模式表生成特征数据,根据各所述逻辑块地址对应的目标模式生成剩余数据,将所述特征数据与所述剩余数据保存至所述数据缓冲器中;

数据校验模块440,用于对所述特征数据与所述剩余数据进行校验,当出现数据校验不一致时,根据所述模式表与所述逻辑块地址确定问题类型。

可选地,上述数据处理装置400还包括:

分段模块,用于当所述主机端的内存不足以存放所述模式表时,对所述逻辑块地址进行分段,得到多张模式子表,其中,所述模式子表包含dirty状态和clean状态;

存放模块,用于将所述模式表存放至预设闪存中,将各所述模式子表存放至所述主机端的内存中。

可选地,上述数据处理装置400还包括:

判断模块,用于判断所述逻辑块地址所在的模式子表是否存在于所述主机端的内存中;

第一记录模块,用于当所述模式子表存在于所述主机端的内存中时,获取所述逻辑块地址对应的目标模式,并将所述目标模式记录至所述模式表中;

第二记录模块,用于当所述模式子表不存在于所述主机端的内存中时,根据所述模式子表的状态获取所述逻辑块地址对应的目标模式,并将所述目标模式记录至所述模式表中。

可选地,上述数据处理装置400还包括:

写入模块,用于在所述写入数据的第一区间字节写入所述逻辑块地址,在所述写入数据的第二区间字节写入所述模式表;

合并模块,用于将所述第一区间字节与所述第二区间字节所包含的数据合并为所述特征数据。

可选地,上述数据处理装置400还包括:

第一确定模块,用于当所述特征数据中的所述逻辑块地址出现数据校验不一致时,确定为设备端表项问题;

第二确定模块,用于当所述特征数据中的所述目标模式出现数据校验不一致时,根据所述模式表分析所述特征数据是否为历史数据,当所述特征数据为历史数据时确定为所述设备端表项问题或设备端垃圾回收问题。

可选地,上述数据处理装置400还包括:

修改模块,用于将所述模式表中未完成的写命令的逻辑块地址修改为虚拟数据;

恢复模块,用于将所述未完成的写命令的逻辑块地址在所述模式表中的当前模式恢复为历史模式。

可选地,上述数据处理装置400还包括:

第三申请模块,用于在所述主机端申请第三固定地址内存区域作为缓存表,所述缓存表中包括多个插槽,每个所述写命令对应一个插槽号;

更新模块,用于根据各所述写命令的插槽号将所述模式表中的数据更新至所述缓存表中,并判断所述写命令是否执行成功;

同步模块,用于当所述写命令执行成功时,将对应的插槽号的当前模式同步至所述模式子表;

清除模块,用于当所述写命令执行失败时,清除对应的插槽号所在的缓存表。

本申请实施例提供的数据处理装置,节省了主机端的内存使用,并减少了大量的问题定位分析时间。

实施例3

本申请实施例还提供一种计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。

所述计算机设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51-53的计算机设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D插槽兼容性测试存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器51可以是所述计算机设备5的内部存储单元,例如该计算机设备5的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述计算机设备5的外部存储设备,例如该计算机设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器51还可以既包括所述计算机设备5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述计算机设备5的操作系统和各类应用软件,例如插槽兼容性测试方法的计算机可读指令等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制所述计算机设备5的总体操作。本实施例中,所述处理器52用于运行所述存储器51中存储的计算机可读指令或者处理数据,例如运行所述插槽兼容性测试方法的计算机可读指令。

所述网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在所述计算机设备5与其他电子设备之间建立通信连接。

本实施例中提供的计算机设备可以执行上述数据处理方法,本实施例在此不再赘述。此处数据处理方法可以是上述各个实施例的数据处理方法。

实施例4

本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中数据处理方法的步骤,本实施例在此不再赘述。

本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质可以是非易失性存储介质,也可以是易失性存储介质,例如所述存储介质可以为:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

技术分类

06120116523928