具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
对于背景技术部分陈述的现有的灰度发布的方案,在分布式系统架构中,常见的灰度发布策略及数据分析方法一般是:新旧系统代码并存情况下,采用在接入层将不同客户端的网络之间互连的协议(Internet Protocol,IP)请求分别转发至新、旧服务器上,最后依据对应服务器端输出结果做采样和数据分析,确认灰度验证结果。该方式存在一定局限性,对于大型业务系统,可能涉及更复杂业务场景,其中包含着新数据灰度发布,则在灰度发布策略上往往会考虑更精细化的业务维度。也就是说,现有的灰度发布方案,仅通过在服务器中部署新旧代码后,从物理上做灰度流量导入和输出采样分析,但是,在灰度发布物理隔离基础上,直接采样灰度服务器流量结果作为灰度数据分析标准有很多局限性、缺点。具体的,一方面对于具有复杂业务场景的平台系统,无法做到灰度发布策略定制及灰度精细化分析;另一方面,某些产品特性存在一些即使能作为灰度流量但并不能作为灰度验证参考结果的分析数据,举例来说,对于银行卡支付产品改造的灰度发布业务场景,在使用支付成功率作为灰度验证结论参考的情况下,与“银行卡账户余额不足”错误码对应的灰度交易数据,并不能反映产品改造的灰度发布相关情况,若采用,会影响灰度发布效果。
因此,需要一种灰度发布的方案,以解决上述复杂业务场景制定下的灰度策略无法准确及时计算灰度指标并得出灰度验证结论的问题。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
参见图1所示,本说明书实施例提供一种灰度发布的方法,该方法可包括:
步骤101:按照目标灰度策略对目标发布对象进行灰度发布。
可以理解,上述目标灰度策略与具体的目标发布对象,比如需要进行版本升级的互联网产品,其中,目标灰度策略可以为精细化灰度策略,其精细化程度与目标发布对象的具体业务复杂程度相关。
步骤103:对目标发布对象进行灰度发布后的流量进行流量采样,得到待分析原始数据。
步骤105:根据目标灰度策略关联的灰度数据分析因子对待分析原始数据进行筛选过滤的结果,确定灰度发布指标。
步骤107:根据灰度发布指标确定目标发布对象的发布策略。
本说明书实施例中,在按照制定的目标灰度策略对目标发布对象进行灰度发布后进行流量采样,以作为用于确定对灰度发布结果即目标发布对象的新版本的用户验证结果的待分析原始数据,在对待分析原始数据进行进一步的统计分析之前,可以根据与目标灰度发布策略关联的灰度数据分析因子先对待分析原始数据进行筛选过滤,以剔除对得到精准的灰度发布结果产生不利影响的原始流量,进而基于该经对待分析原始数据进行筛选过滤后的结果,可以确定能够精准表征灰度发布结果的灰度发布指标,以控制调整目标发布对象的进一步的发布策略。如此,既可以满足复杂业务场景的精细化灰度发布述求,又能有针对性地去除对验证灰度发布效果无用的流量,从而可以准确及时地确定对目标发布对象进行版本更新的发布策略,确保目标发布对象的版本更新运行的稳定性,及时发现并调整灰度发布过程中的问题,达到精准的灰度发布效果。
可选的,在本说明书实施例的灰度发布的方法中,上述步骤105,可以具体执行为如下内容:
根据灰度数据分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据;
根据灰度流量数据,确定灰度发布指标。
可以理解,该实施例实现的是基于用于对目标发布对象进行灰度发布的目标灰度策略关联的灰度数据分析因子,对采样到的待分析原始数据进行筛选过滤先得到灰度流量数据,该灰度流量数据为与目标发布对象的待更新上线的新版本对应的用户体验数据,进而根据该灰度流量数据计算出灰度发布指标,以更加直观地反映目标发布对象的灰度发布效果。
可选的,上述灰度发布指标与运行目标发布对象时实现的具体业务功能相关,以及灰度发布指标的数量可以有一个或多个。
可选的,在本说明书实施例中的灰度发布的方法中,在根据目标灰度策略关联的灰度数据分析因子对待分析原始数据进行筛选过滤的结果,确定灰度发布指标之前,可以根据以下方式中的至少一个得到与目标灰度策略关联的灰度数据分析因子:
(1)对目标灰度策略进行等价转换,得到灰度数据分析因子。
(2)对目标灰度策略进行关联属性转换,得到灰度数据分析因子。
可以理解,该实施例中,既可以将目标灰度策略直接等价转换为对应的灰度数据分析因子,即直接将目标灰度策略包含的内容直接作为灰度数据分析因子使用;也可以通过对目标灰度策略的内容进行引申作同类属性转换(即关联属性转换)得到对应的灰度数据分析因子。如此,通过不同的方式得到与目标灰度策略关联的灰度数据分析因子,以确保灰度数据分析因子的全面性和准确性。
可选的,本说明书实施例的灰度发布的方法,在上述根据灰度数据分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据之前,该方法还可以包括以下内容:
获取与目标发布对象的特征关联的基础属性分析因子。
可以理解,为了进一步确保筛选出的用于确定灰度发布指标的灰度流量数据的准确性和可靠性,在根据与目标灰度发布测量关联的灰度数据分析因子对待分析原始数据进行筛选过滤时,还可以考虑采用与目标发布对象本身所具有的特性关联的基础属性分析因子。其中,上述基础属性分析因子根据目标发布对象的不同而有所区别,且与灰度数据分析因子不同。
进一步地,在获取到上述基础属性分析因子的情况下,上述根据灰度数据分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据,还可以具体执行为如下内容:
根据灰度数据分析因子和基础属性分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据。
该实施中,可以根据与目标灰度发布策略关联的灰度数据分析因子和与目标发布对象的特征关联的基础属性分析因子,同时对采样到的待分析原始数据进行筛选过滤,以得到用于确定灰度发布指标的灰度流量数据。
进一步可选的,上述根据灰度数据分析因子和基础属性分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据的方案,具体可以包括以下内容:
获取待分析原始数据中与灰度数据分析因子不匹配的第一非灰度流量数据;
获取待分析原始数据中与基础属性分析因子匹配的第二非灰度流量数据;
将第一非灰度流量数据和第二非灰度流量数据从待分析原始数据中剔除,得到灰度流量数据。
可以理解,该实施例中,基于与目标灰度策略关联的灰度数据分析因子剔除待分析原始数据中与该灰度数据分析因子不匹配的部分非灰度流量数据,以及基于与目标发布对象的特征关联的基础属性分析因子剔除待分析原始数据中与该基础属性分析因子匹配的部分非灰度流量数据,以确保根据灰度流量数据确定的灰度发布指标的准确性和可靠性。
可选的,在获取待分析原始数据中与灰度数据分析因子不匹配的非灰度流量数据、以及与基础属性分析因子匹配的非灰度流量数据时,可以将各分析因子与待分析原始数据进行关键字匹配,实现对待分析原始数据精准的筛选过滤。
可选的,在本说明书实施例的灰度发布的方法中,上述步骤107可以具体执行为如下内容:
将灰度发布指标的值与对应的指标阈值进行大小比较;
根据比较结果确定发布策略。
可以理解,通过为各基于目标发布对象的灰度流量数据计算出的灰度发布指标设置相应的指标阈值,具体根据各灰度发布指标的达标情况准确地控制调整目标发布对象的进一步的发布策略。
需要说明的是,在上述灰度发布指标的数量有多个的情况下,各灰度发布指标分别具有各自指标阈值,也就是说,灰度发布指标与指标阈值一一对应。
可选的,在本说明书实施例中,上述根据比较结果确定发布策略的方案,具体可以为以下内容:
在灰度发布指标的值大于或等于指标阈值的情况下,确定发布策略为扩大目标发布对象的灰度发布范围;
在灰度发布指标的值小于指标阈值的情况下,确定发布策略为对目标发布对象进行版本回滚和版本修正中的至少一个。
可以理解,在基于目标发布对象的灰度流量数据计算出的灰度发布指标达标的情况下,说明用户对目标发布对象的新版本体验良好,则可以扩大目标发布对象的灰度发布范围,将目标发布对象的新版本推送给更多的用户进行使用体验;而在基于目标发布对象的灰度流量数据计算出的灰度发布指标不达标的情况下,为了保证用户对目标发布对象的良好体验,可以回滚到进行灰度发布前的旧版本,还可以应急修正进行灰度发布的目标发布对象的版本,及时解决影响用户体验的问题。
需要说明的是,在上述灰度发布指标的数量有多个的情况下,可以在各灰度发布指标的值均分别大于或等于各自对应的指标阈值的情况下,确定扩大目标发布对象的灰度发布范围;也可以在各灰度发布指标中占第一百分比(比如95%)的灰度发布指标的值分别大于或等于各自对应的指标阈值时,确定扩大目标发布对象的灰度发布范围。同理,可以在各灰度发布指标的值均分别小于各自对应的指标阈值的情况下,确定对目标发布对象进行版本回滚和版本修正中的至少一个;也可以在各灰度发布指标中占第二百分比(比如50%)的灰度发布指标的值分别小于各自对应的指标阈值时,确定对目标发布对象进行版本回滚和版本修正中的至少一个。
具体的,可以结合图2所示内容对本说明书实施例的灰度发布的整体过程进行详细说明。
在对目标发布对象进行灰度发布前,可以通过灰度发布规则定义单元为目标发布对象设置相应的灰度策略(即目标灰度策略),具体包括定义精细化灰度发布规则,比如对目标发布对象对应的用户白名单、产品类型、渠道来源等,其中渠道来源可以包括从移动用户端、PC用户端等不同的渠道采集流量。
进一步地,对精细化灰度发布规则进行抽象与转换,生成有一定关联关系的数据分析因子,包括与灰度发布规则相关的灰度数据分析因子(F1,F2,F3…),比如用户白名单列表、XX业务产品、XX渠道等,除此之外,还可以额外补充一些与目标发布对象的实际产品特性相关联的其它基础属性分析因子(F,F’…)。
具体的,对灰度策略中精细化灰度发布规则进行抽象、转换,得到具有一定关联关系的数据分析因子的过程,可以具体包括:
(1)与精细化灰度发布规则完全等价转换的数据集,例如:精细化灰度发布规则为一组种子用户白名单列表(user1,user2…),那么灰度流量数据也应该为该组用户的实际体验结果数据,即:灰度数据分析因子F1等于灰度发布规则用户白名单列表F1(user1,user2…);
(2)由精细化灰度发布规则特征引申而来、需要作同类属性转换的数据集,例如:精细化灰度发布规则中“产品类型”为网上银行充值,那么灰度流量数据可转换为N个关联关系属性,则对应的灰度数据分析因子有可以包括:“卡类型”为借记卡、“产品码”为网银充值等。
(3)与目标发布对象的产品特性相关,但与精细化灰度发布规则无直接对应关系的其它基础属性分子因子的数据集,例如:对于银行卡支付通道产品来说,其精细化灰度发布规则包含有“白名单用户”、“通道限额”、“产品类型”等,能提取出对应相同或相似的灰度数据分析因子外,还需要考虑一些像通道“错误码”的基础属性分析因子,比如:需要考虑剔除像“支付账户余额不足”此类错误码集,以便不影响交易成功数等灰度结论/发布指标。
在启动灰度发布后,将目标发布对象的新版本推送给A用户使用、旧版本继续推送给B用户使用,并采样用户体验新旧版本后的流量输出数据,形成待分析原始数据G(d1,d2,d3,...)。进而通过灰度数据分析单元中分析运算器模块可以至少实现以下两部分功能:
(1)剔除与灰度数据分析因子不匹配的非灰度流量数据,举例来说,对于某支付通道灰度流量数据,其灰度发布规则中“产品类型”为“信用卡产品”,通过灰度发布规则抽象与转换其产品类型灰度数据因子为“信用卡产品”,那么在此模块中将剔除待分析原始数据的非“信用卡产品”的采样数据。同理,对于剔除与基础属性分析因子匹配的非灰度流量数据的过程,与上述内容类似。
(2)灰度发布指标计算,建立在已剔除非灰度流量数据基础上做的指标运算,如:交易成功数、掉单率等。
进一步,在计算出灰度发布指标后,根据各灰度发布指标与对应的指标阈值间的大小关系,判定最终是继续扩大灰度发布范围或及时回滚、应急修正版本。进一步地,通过此灰度结论(即目标发布对象的发布策略)输出还可应用于日常运维能力中的监控、核对及应急指导等。
综上可知,该实施例基于复杂业务场景下采用多规则灰度发布策略,通过对灰度发布规则做抽象分析、转换及映射为灰度数据分析因子,并可以确定与目标发布对象的产品特性相关的基础属性分析因子,再在最终灰度流量分析运算过程中结合该因子做筛选、过滤,确保最终输出的灰度验证结果是准确的,其系统性地从灰度发布到结果自动化输出也可以提升灰度验证结果时效性,也就是说,既可以满足复杂业务场景精细化灰度发布述求,又能有针对性地去除无关联性的非灰度流量数据,达到精准的灰度效果。
本说明书实施例还提供一种灰度发布的装置,参见图3所示,该装置可具体包括:
发布模块201,用于按照目标灰度策略对目标发布对象进行灰度发布;
采样模块203,用于对目标发布对象进行灰度发布后的流量进行流量采样,得到待分析原始数据;
第一确定模块205,用于根据目标灰度策略关联的灰度数据分析因子对待分析原始数据进行筛选过滤的结果,确定灰度发布指标;
第二确定模块207,用于根据灰度发布指标确定目标发布对象的发布策略。
可选的,在本说明书实施例的灰度发布的装置中,上述第一确定模块205,可以具体包括:
筛选子模块,用于根据灰度数据分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据;
第一确定子模块,用于根据灰度流量数据,确定灰度发布指标。
可选的,本说明书实施例的灰度发布的装置,还可以包括:
获取模块,用于在根据灰度数据分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据之前,获取与目标发布对象的特征关联的基础属性分析因子;
其中,上述筛选子模块,可以具体用于:
根据灰度数据分析因子和基础属性分析因子对待分析原始数据进行筛选过滤,得到灰度流量数据。
可选的,在本说明书实施例的灰度发布的装置中,上述筛选子模块,可以具体用于:
获取待分析原始数据中与灰度数据分析因子不匹配的第一非灰度流量数据;
获取待分析原始数据中与基础属性分析因子匹配的第二非灰度流量数据;
将第一非灰度流量数据和第二非灰度流量数据从待分析原始数据中剔除,得到灰度流量数据。
可选的,本说明书实施例的灰度发布的装置,还可以包括转换模块,该转换模块在根据目标灰度策略关联的灰度数据分析因子对待分析原始数据进行筛选过滤的结果,确定灰度发布指标之前,可以用于执行以下之一:
对目标灰度策略进行等价转换,得到灰度数据分析因子;
对目标灰度策略进行关联属性转换,得到灰度数据分析因子。
可选的,在本说明书实施例的灰度发布的装置中,上述第二确定模块207,可以具体包括:
比较子模块,用于将灰度发布指标的值与对应的指标阈值进行大小比较;
第二确定子模块,用于根据比较结果确定发布策略。
可选的,在本说明书实施例的灰度发布的装置中,上述第二确定子模块,可以具体用于:
在灰度发布指标的值大于或等于指标阈值的情况下,确定发布策略为扩大目标发布对象的灰度发布范围;
在灰度发布指标的值小于指标阈值的情况下,确定发布策略为对目标发布对象进行版本回滚和版本修正中的至少一个。
能够理解,本说明书实施例提供的灰度发布的装置,能够实现前述实施例中提供的灰度发布的方法,关于灰度发布的方法的相关阐释均适用于灰度发布的装置,此处不再赘述。
本说明书实施例中,在按照制定的目标灰度策略对目标发布对象进行灰度发布后进行流量采样,以作为用于确定对灰度发布结果即目标发布对象的新版本的用户验证结果的待分析原始数据,在对待分析原始数据进行进一步的统计分析之前,可以根据与目标灰度发布策略关联的灰度数据分析因子先对待分析原始数据进行筛选过滤,以剔除对得到精准的灰度发布结果产生不利影响的原始流量,进而基于该经对待分析原始数据进行筛选过滤后的结果,可以确定能够精准表征灰度发布结果的灰度发布指标,以控制调整目标发布对象的进一步的发布策略。如此,既可以满足复杂业务场景的精细化灰度发布述求,又能有针对性地去除对验证灰度发布效果无用的流量,从而可以准确及时地确定对目标发布对象进行版本更新的发布策略,确保目标发布对象的版本更新运行的稳定性,及时发现并调整灰度发布过程中的问题,达到精准的灰度发布效果。
图4是本说明书的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成灰度发布的装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
按照目标灰度策略对目标发布对象进行灰度发布;
对目标发布对象进行灰度发布后的流量进行流量采样,得到待分析原始数据;
根据目标灰度策略关联的灰度数据分析因子对待分析原始数据进行筛选过滤的结果,确定灰度发布指标;
根据灰度发布指标确定目标发布对象的发布策略。
本说明书实施例中,在按照制定的目标灰度策略对目标发布对象进行灰度发布后进行流量采样,以作为用于确定对灰度发布结果即目标发布对象的新版本的用户验证结果的待分析原始数据,在对待分析原始数据进行进一步的统计分析之前,可以根据与目标灰度发布策略关联的灰度数据分析因子先对待分析原始数据进行筛选过滤,以剔除对得到精准的灰度发布结果产生不利影响的原始流量,进而基于该经对待分析原始数据进行筛选过滤后的结果,可以确定能够精准表征灰度发布结果的灰度发布指标,以控制调整目标发布对象的进一步的发布策略。如此,既可以满足复杂业务场景的精细化灰度发布述求,又能有针对性地去除对验证灰度发布效果无用的流量,从而可以准确及时地确定对目标发布对象进行版本更新的发布策略,确保目标发布对象的版本更新运行的稳定性,及时发现并调整灰度发布过程中的问题,达到精准的灰度发布效果。
上述如本说明书图1所示实施例揭示的灰度发布的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中灰度发布的装置执行的方法,并实现灰度发布的装置在图1所示实施例的功能,本说明书实施例在此不再赘述。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中灰度发布的装置执行的方法,并具体用于执行:
按照目标灰度策略对目标发布对象进行灰度发布;
对目标发布对象进行灰度发布后的流量进行流量采样,得到待分析原始数据;
根据目标灰度策略关联的灰度数据分析因子对待分析原始数据进行筛选过滤的结果,确定灰度发布指标;
根据灰度发布指标确定目标发布对象的发布策略。
本说明书实施例中,在按照制定的目标灰度策略对目标发布对象进行灰度发布后进行流量采样,以作为用于确定对灰度发布结果即目标发布对象的新版本的用户验证结果的待分析原始数据,在对待分析原始数据进行进一步的统计分析之前,可以根据与目标灰度发布策略关联的灰度数据分析因子先对待分析原始数据进行筛选过滤,以剔除对得到精准的灰度发布结果产生不利影响的原始流量,进而基于该经对待分析原始数据进行筛选过滤后的结果,可以确定能够精准表征灰度发布结果的灰度发布指标,以控制调整目标发布对象的进一步的发布策略。如此,既可以满足复杂业务场景的精细化灰度发布述求,又能有针对性地去除对验证灰度发布效果无用的流量,从而可以准确及时地确定对目标发布对象进行版本更新的发布策略,确保目标发布对象的版本更新运行的稳定性,及时发现并调整灰度发布过程中的问题,达到精准的灰度发布效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。