具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在云网络中,通常采用中心存储的云存储方式,但是这种云存储方式存在存储速度不佳等问题。为此,本申请的一些实施例中:可在云网络中构建云存储系统,将云网络中的边缘节点引入到云存储系统中,并在边缘节点增设存储资源。在云存储系统中,可通过控制中心对边缘节点进行一体化管理,从而可将终端用户的存储请求调配至与其所处地理位置相适配的目标边缘节点上,进而可利用目标边缘节点上的存储资源为终端用户提供存储服务。据此,本申请实施例中,可基于云网络中的边缘节点实现边缘存储,利用边缘节点为终端用户提供存储服务,这与传统的中心存储方式相比,由于边缘节点的覆盖区域广,距离终端用户近,因此,云存储系统可实现将终端用户的存储请求调配至云网络的边缘,从而终端用户可更近、更快地完成存储,这可有效提高存储速度。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的云存储系统的结构示意图。如图1所示,该系统包括:控制中心20和多个边缘节点30。
在云网络中,边缘节点30介于终端用户和数据中心之间,相比较传统的数据中心,边缘节点30具有小型化、分布式和更贴近用户的特性,边缘节点30的覆盖广,可达到城市、甚至更精细的级别。目前,边缘节点30可用于支持云网络中的边缘计算,以优化响应时延、中心负荷和整体成本。
本实施例中,可在云网络中构建云存储系统,并将云网络中的边缘节点30引入到云存储系统中。为此,本实施例中,可预先在云网络中的边缘节点30上增设存储资源,存储资源可包含硬件资源和软件资源等,从而为边缘节点30赋予存储能力。实际应用中,可将云网络中所有的边缘节点30都引入到云存储系统中,当然,本实施例对此不做限定,也可仅引入指定的部分边缘节点30。
本实施例中,还可在云存储系统中配置控制中心20,控制中心20可作为云存储系统的管理者,用于对云存储系统中的多个边缘节点30进行管理。由于控制中心20不涉及数据读写操作,因此,非常轻量级,这样,控制中心20可部署在云网络中多种网络位置上。其中,控制中心20可以是多中心的,也可以是单中心的。举例来说:多中心的情况下,控制中心20包含的多个中心可分别集成在云网络中原有的各个数据中心上,其中,单个中心可全局管理云存储系统中的所有边缘节点30,而且,这种情况下,数据中心可不再需要像在传统的中心存储方式下那样去承担存储工作;而单中心的情况下,控制中心20可作为云网络中的一个特定节点,当然也可集成在云网络中的其它位置上,这种情况下,控制中心20也可全局管理云存储系统中的所有边缘节点30。另外,本实施例中,不限定控制中心20的物理实现形式,控制中心20可以实现在云网络中的节点、服务器或数据中心等载体上。
另外,值得说明的是,图1是从单次存储事件的维度而圈定的云存储系统内部结构。为便于描述,后文中也将以单次存储事件为例,进行云存储方案的说明。但实际应用中,云网络提供的云存储服务可面向海量的存储事件,涉及海量的终端设备10,而在不同的存储事件中,图1所示的云存储系统中的终端设备10可能发生变化,但不同的存储事件可共用云存储系统中的控制中心20和边缘节点30。对此,图2为本申请一示例性实施例提供的一种云存储系统的场景示意图,参考图2,云存储系统中的多个边缘节点30可对终端用户呈现为一体化的边缘存储资源,并可为任意地理位置上的终端用户提供存储服务,而从终端用户侧来看,其对一体话的边缘存储资源中的内部调配情况是无感知的,对自身所处的地理位置也无需关注。
参考图1,本实施例中,终端设备10在发生存储需求的情况下,向控制中心20发起存储请求。对于控制中心20来说,可响应于终端设备10发起的存储请求,从多个边缘节点30中确定与终端设备10所处地理位置相适配的目标边缘节点。其中,终端设备10可在存储请求中携带IP地址等信息,以表征自身的地理位置。正如前文提及的,边缘节点30的覆盖广、距离终端用户近,因此,控制中心20可从云存储系统中的多个边缘节点30中选取与终端设备10所处地理位置相适配的目标边缘节点。这可保证选出的目标边缘节点距离终端设备10足够近,从而为存储速度提供保障。
在此基础上,控制中心20还可在目标边缘节点上,选取用于为终端设备10提供存储服务的目标存储单元;将目标存储单元的访问地址提供给终端设备10。本实施例中,可预先在边缘节点30上部署存储单元,举例来说,在对象存储服务OSS(Object StorageService)形式下,存储单元可以是bucket桶,当然,在其它服务形式下,存储单元还可采用其它单位,本实施例对此不做限定。这样,单个边缘节点30上可包含至少一个存储单元,每个存储单元具有自身的访问地址。本实施例中,控制中心20可从目标边缘节点包含的至少一个存储单元中,选取为终端设备10提供存储服务的目标存储单元,并将目标存储单元的访问地址提供给终端设备10。
据此,控制中心20可将目标存储单元的访问地址提供给终端设备10。可选地,参考图1,控制中心20可向终端设备10返回302重定向信息,并将目标存储单元的访问地址配置到302重定向信息中。
对终端设备10来说,在获取到控制中心20提供的目标存储单元的访问地址后,可基于目标存储单元的访问地址,访问目标边缘节点。举例来说,承接上述的302重定向信息,终端设备10可按照302重定向信息,遵循跳转至访问目标边缘节点上的目标存储单元。
而目标边缘节点,则可利用目标存储单元为终端设备10提供存储服务。其中,目标边缘节点可支持各种待存储对象的存储,例如,对象object、文件、块等,本实施例对待存储对象的类型不做限定。这样,本实施例中,可基于边缘节点30实现分布式存储。
另外,本实施例中,终端设备10可在存储请求中携带鉴权信息,而目标边缘节点可基于鉴权信息,对终端设备10进行鉴权;在终端设备10通过鉴权的情况下,再执行利用目标存储单元为终端设备10提供存储服务的操作。这样,可保证云存储系统中所存储的存储对象的安全性。
据此,本实施例中,可在云网络中构建云存储系统,将云网络中的边缘节点引入到云存储系统中,并在边缘节点增设存储资源。在云存储系统中,可通过控制中心对边缘节点进行一体化管理,从而可将终端用户的存储请求调配至与其所处地理位置相适配的目标边缘节点上,进而可利用目标边缘节点上的存储资源为终端用户提供存储服务。据此,本申请实施例中,可基于云网络中的边缘节点实现边缘存储,利用边缘节点为终端用户提供存储服务,这与传统的中心存储方式相比,由于边缘节点的覆盖区域广,距离终端用户近,因此,云存储系统可实现将终端用户的存储请求调配至云网络的边缘,从而终端用户可更近、更快地完成存储,这可有效提高存储速度;而且,对终端用户来说,无需指定访问地址,而是可由控制中心按需调配适配的访问地址给终端用户,这使得终端用户不再需要关心自身所处的具体地理位置,且对访问地址的调配过程无感,从而可减轻终端用户的处理复杂度。
在上述或下述实施例,可将云存储系统中的多个边缘节点30包含的多个存储单元的访问地址映射至一逻辑空间,控制中心20可在逻辑空间中为用户组分配逻辑地址。其中,用户组可以是存储资源的占有方所面向的终端用户集合。举例来说,企业/个人A可通过租赁或购买等方式在云存储系统中占有一部分存储资源,而企业/个人A可通过该部分存储资源为其用户组提供存储服务,用户组内的各终端用户可共用该部分存储资源。例如,存储资源的占有方可以是一个游戏平台,该游戏平台上的游戏用户则构成该游戏平台的用户组,各游戏用户可共用该游戏平台所占有的存储资源。本实施例中,不同用户组对应的逻辑地址不同,也即是,单个用户组的逻辑地址是唯一的,而单个逻辑地址可与至少一个边缘节点30包含的存储单元的访问地址存在映射关系。从地理位置上来看,单个逻辑地址下关联的至少一个边缘节点30可分布在至少一个地理位置。举例来说,上述的企业/个人A对应的逻辑地址a可关联N个存储单元的访问地址,N个存储单元可分布在M个边缘节点30上,而M个边缘节点30可分布在K个地址位置,其中,M、N、K均为正整数。
这样,控制中心20可预先为用户组分配逻辑地址。具体地,控制中心20可响应于针对用户组的初始化指令,为用户组分配唯一的逻辑地址;并配置与该逻辑地址存在映射关系的至少一个指定边缘节点30包含的存储单元的访问地址。控制中心20可记录用户组与其逻辑地址之间的对应关系,以及逻辑地址与访问地址之间的映射关系,当然,控制中心20也可将逻辑地址提供给用户组内的各终端设备10。在配置与逻辑地址存在映射关系的至少一个指定边缘节点30包含的存储单元的访问地址的过程中,控制中心20可为用户组确定调配区域,调配区域中可包含至少一个地理位置;分别在所述至少一个地址位置上进行边缘节点30的指定;将指定边缘节点30包含的存储单元的访问地址映射至所述用户组对应的逻辑地址。
另外,本实施例中,控制中心20还可动态调控逻辑地址所映射的访问地址。为此,控制中心20可监测用户组对应的存储质量;若存储质量低于预设标准,则在用户组对应的逻辑地址下的映射关系中增加存储单元的访问地址。也即是,控制中心20可对逻辑地址所映射的访问地址进行动态扩充,以适应用户组不断变化的存储需求。
基于此,本实施例中,控制中心20在接收到终端设备10发起的存储请求的情况下,可确定终端设备10所处用户组对应的逻辑地址。可选地,终端设备10可将其所处用户组对应的逻辑地址配置在存储请求中,这样,控制中心20可从存储请求中,提取终端设备10所在用户组对应的逻辑地址。当然,终端设备10也可将自身所处用户组的信息配置在存储请求中,这样,控制中心20可根据记录的对应关系,查找终端设备10所处用户组对应的逻辑地址。举例来说,逻辑地址可采用域名的形式,一种示例性的逻辑地址可以是:test.vss.abcdcs.com,终端设备10可将其用户组对应的域名配置到存储请求中,而无需在域名中指定任何与地理位置有关的信息。
正如上文提及的,终端设备10所处用户组对应的逻辑地址与至少一个指定边缘节点30包含的存储单元的访问地址存在映射关系。基于此,控制中心20可从至少一个指定边缘节点30中,选取与终端设备10所处地理位置相适配的目标边缘节点。举例来说,若云存储系统中存在100个边缘节点30,而终端设备10所处用户组对应的逻辑地址可能与其中的20个边缘节点30包含的存储单元的访问地址存在映射关系,则控制中心20可从这20个边缘节点30中为终端设备10选取目标边缘节点。据此,可先从地理位置的维度,进行边缘节点30的初步选择。
在一种可选的实现方案中:控制中心20可从至少一个指定边缘节点30中,选取与终端设备10所处位置之间的距离符合预设条件的至少一个候选边缘节点30;基于至少一个候选边缘节点30各自的节点信息,分别计算至少一个候选节点与终端设备10之间的匹配度;根据匹配度,确定目标边缘节点。其中,节点信息可包括但不限于带宽、剩余存储容量及当前负载量等节点水位信息、权重、可存储文件总量和存储成本等,当然,这些也仅是示例性的,在此不做限定,节点信息可用于体现边缘节点30的存储能力。据此,可从存储能力的角度,对边缘节点30进行更细化地选择,从而选出目标边缘节点。而选出的目标边缘节点既具有优势的地理位置也同时具有优势的存储能力,这可为存储速度提供有力的保障。
本实施例中,控制中心可基于逻辑地址对云存储系统中的边缘节点包含的存储单元的访问地址进行一体化管理,从而可全局调配云存储系统中存储资源。通过为用户组分配逻辑地址,可实现为用户组分配可使用的边缘节点,而且,对于规模较大的用户组,其的逻辑地址关联的边缘节点所处的地理位置可尽量全面,从而用户组内的终端设备发起的存储请求可被调配至足够近的边缘节点30上,以为存储速度提供保障。
在上述或下述实施例中,控制中心20可在目标边缘节点上,为终端设备10选取目标存储单元。
为进一步提高存储速度,本实施例中,控制中心20可以目标边缘节点包含的至少一个存储单元之间的维持负载均衡为目标,从目标边缘节点包含的至少一个存储单元中,选取目标存储单元。
在一种可选的实现方案中,终端设备10可在存储请求中携带目标存储对象的标识信息;控制中心20可从存储请求中,提取目标存储对象的标识信息;对标识信息执行一致性哈希计算,以获得哈希结果;将目标边缘节点包含的至少一个存储单元中,与哈希结果匹配的存储单元,作为目标存储单元。
据此,本实施例中,可实现基于边缘节点的分布式存储。针对单个边缘节点,可能需要应对若干存储事件,当然这些存储事件可能对应不同的终端设备,对此,可通过一致性哈希,将存储事件均衡分配至目标边缘节点包含的各个存储单元上,以实现目标边缘节点包含的至少一个存储单元之间维持负载均衡的目标,从而为每次存储事件的存储速度提供进一步的保障。
在上述或下述实施例中,云存储系统不仅可支持前述实施例中描述的写操作,还可支持读操作。
对此,本实施例中,目标边缘节点可在利用目标存储单元为终端设备10提供存储服务之后,向控制中心20上报当次已存储的目标存储对象与目标存储单元的关联关系。对控制中心20来说,可记录目标边缘节点上报的该关联关系,以动态更新目标边缘节点的存储状态。基于此,控制中心20可响应于针对目标存储对象的访问请求,基于关联关系,向请求方提供目标存储对象关联的目标存储单元的访问地址,以供请求方从目标存储单元访问目标存储对象。
本实施例中,控制中心可全局感知云存储系统中各个边缘节点的存储状态,从而可获知各个边缘节点上各存储单元所存储的存储对象的信息,基于此,控制中心可在接收到终端设备发起的针对某个存储对象的访问请求时,准确地确定出该存储对象所在的边缘节点及存储单元,从而可将存储单元的访问地址返回给终端设备,以支持终端设备准确访问到所需存储对象的访问地址。
图3为本申请另一示例性实施例提供的一种云存储方法的流程示意图,该方法可由控制装置执行,该控制装置可实现为软件和/或硬件的结合,该控制装置可集成在云网络中。参考图3,该方法包括:
步骤300、响应于终端设备发起的存储请求,从云存储系统包含的多个边缘节点中确定与终端设备所处地理位置相适配的目标边缘节点;
步骤301、在目标边缘节点包含的至少一个存储单元中,选取用于为终端设备提供存储服务的目标存储单元;
步骤302、将目标存储单元的访问地址提供给终端设备,以供终端设备基于目标存储单元的访问地址,访问目标边缘节点,以利用目标存储单元提供存储服务。
本实施例提供的云存储方法可应用于云存储场景中,其中,云存储系统可包括多个边缘节点,单个边缘节点上可包含至少一个存储单元。
在一可选实施例中,在从多个边缘节点中确定与终端设备所处地理位置相适配的目标边缘节点过程中,可:
从存储请求中,提取终端设备所在用户组对应的逻辑地址,逻辑地址与至少一个指定边缘节点包含的存储单元的访问地址存在映射关系,至少一个指定边缘节点分布在至少一个地理位置,用户组内的各终端设备共用逻辑地址;
从至少一个指定边缘节点中,选取与终端设备所处地理位置相适配的目标边缘节点。
在一可选实施例中,在从至少一个指定边缘节点中,选取与终端设备所处地理位置相适配的目标边缘节点过程中,可:
从至少一个指定边缘节点中,选取与终端设备所处地理位置之间的距离符合预设条件的至少一个候选边缘节点;
基于至少一个候选边缘节点各自的节点信息,分别计算至少一个候选节点与终端设备之间的匹配度;
根据匹配度,确定目标边缘节点。
在一可选实施例中,节点信息可包括带宽、剩余存储容量、当前负载量、权重、可存储文件总量和存储成本中的一种或多种。
在一可选实施例中,该方法还可包括:
响应于针对用户组的初始化指令,为用户组分配唯一的逻辑地址;
配置与逻辑地址存在映射关系的至少一个指定边缘节点包含的存储单元的访问地址;
将逻辑地址提供给用户组内的各终端设备;
终端设备,设置为将逻辑地址配置到存储请求中。
在一可选实施例中,该方法还可包括:
监测用户组对应的存储质量;
若存储质量低于预设标准,则在用户组对应的逻辑地址下的映射关系中增加存储单元的访问地址。
在一可选实施例中,在目标边缘节点上,选取用于为终端设备提供存储服务的目标存储单元的过程中,可:
以目标边缘节点包含的至少一个存储单元之间的维持负载均衡为目标,从目标边缘节点包含的至少一个存储单元中,选取目标存储单元。
在一可选实施例中,该方法具体可包括:
从存储请求中,提取目标存储对象的标识信息;
对标识信息执行一致性哈希计算,以获得哈希结果;
将目标边缘节点包含的至少一个存储单元中,与哈希结果匹配的存储单元,作为目标存储单元。
在一可选实施例中,存储请求中包含终端设备的鉴权信息;该方法还可包括:
基于鉴权信息,对终端设备进行鉴权;
在终端设备通过鉴权的情况下,执行利用目标存储单元为终端设备提供存储服务的操作。
在一可选实施例中,该方法还可包括:
在利用目标存储单元为终端设备提供存储服务之后,记录当次已存储的目标存储对象与目标存储单元的关联关系;
响应于针对目标存储对象的访问请求,基于关联关系,向请求方提供目标存储对象关联的目标存储单元的访问地址,以供请求方从目标存储单元访问目标存储对象。
值得说明的是,上述关于云存储方法各实施例中的技术细节,可参考前述的系统实施例中的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤300至步骤302的执行主体可以为设备A;又比如,步骤300和302的执行主体可以为设备A,步骤301的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
图4为本申请又一示例性实施例提供的一种控制设备的结构示意图。如图4所示,该控制设备可包括:
节点选取模块40,用于响应于终端设备发起的存储请求,从云存储系统包含的多个边缘节点中确定与终端设备所处地理位置相适配的目标边缘节点;
存储单元选取模块41,用于在目标边缘节点包含的至少一个存储单元中,选取用于为终端设备提供存储服务的目标存储单元;
通信模块42,用于将目标存储单元的访问地址提供给终端设备,以供终端设备基于目标存储单元的访问地址,访问目标边缘节点,以利用目标存储单元提供存储服务。
在一可选实施例中,节点选取模块40在从多个边缘节点中确定与终端设备所处地理位置相适配的目标边缘节点过程中,可用于:
从存储请求中,提取终端设备所在用户组对应的逻辑地址,逻辑地址与至少一个指定边缘节点包含的存储单元的访问地址存在映射关系,至少一个指定边缘节点分布在至少一个地理位置,用户组内的各终端设备共用逻辑地址;
从至少一个指定边缘节点中,选取与终端设备所处地理位置相适配的目标边缘节点。
在一可选实施例中,节点选取模块40在从至少一个指定边缘节点中,选取与终端设备所处地理位置相适配的目标边缘节点过程中,可用于:
从至少一个指定边缘节点中,选取与终端设备所处地理位置之间的距离符合预设条件的至少一个候选边缘节点;
基于至少一个候选边缘节点各自的节点信息,分别计算至少一个候选节点与终端设备之间的匹配度;
根据匹配度,确定目标边缘节点。
在一可选实施例中,节点信息可包括带宽、剩余存储容量、当前负载量、权重、可存储文件总量和存储成本中的一种或多种。
在一可选实施例中,还可包括初始化模块43,用于:
响应于针对用户组的初始化指令,为用户组分配唯一的逻辑地址;
配置与逻辑地址存在映射关系的至少一个指定边缘节点包含的存储单元的访问地址;
将逻辑地址提供给用户组内的各终端设备;
终端设备,设置为将逻辑地址配置到存储请求中。
在一可选实施例中,还可包括管控模块44,用于:
监测用户组对应的存储质量;
若存储质量低于预设标准,则在用户组对应的逻辑地址下的映射关系中增加存储单元的访问地址。
在一可选实施例中,存储单元选取模块41在目标边缘节点上,选取用于为终端设备提供存储服务的目标存储单元的过程中,可用于:
以目标边缘节点包含的至少一个存储单元之间的维持负载均衡为目标,从目标边缘节点包含的至少一个存储单元中,选取目标存储单元。
在一可选实施例中,存储单元选取模块41具体可用于:
从存储请求中,提取目标存储对象的标识信息;
对标识信息执行一致性哈希计算,以获得哈希结果;
将目标边缘节点包含的至少一个存储单元中,与哈希结果匹配的存储单元,作为目标存储单元。
在一可选实施例中,控制设备还可包括记录模块45,用于:
在利用目标存储单元为终端设备提供存储服务之后,记录当次已存储的目标存储对象与目标存储单元的关联关系;
响应于针对目标存储对象的访问请求,基于关联关系,向请求方提供目标存储对象关联的目标存储单元的访问地址,以供请求方从目标存储单元访问目标存储对象。
另外,该控制设备还包括其它组件。图4中仅示意性给出部分组件,并不意味着控制设备只包括图4所示组件。
值得说明的是,上述关于控制设备各实施例中的技术细节,可参考前述的系统实施例中关于控制中心的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由控制设备执行的各步骤。以及,本申请实施例还提供一种计算设备,包括存储器、处理器及通信组件等,处理器可执行存储器中的计算机指令,以执行前述的云存储方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。