一种基于海量用户的AB测试方法及系统与流程

文档序号:15999049发布日期:2018-11-20 19:12阅读:280来源:国知局

本说明书实施例方案属于网页测试技术领域,尤其涉及一种基于海量用户的AB测试方法及系统。



背景技术:

随着互联网的发展,对用户的重视程度也越来越大,无论是优惠活动,还是页面改版一般都需要做A/B测试(即AB test)来验证产品策略对于用户来说是否可行,但是传统的AB test产品策略是对流量进行对半拆分,实验效果成功之后则对全量用户实行该产品策略。

AB test本质上是个分离式组间实验,进行ABtest首先需要建立一个测试页面(定义为B页面),这个页面可能在标题字体、背景颜色、布局设置或者措辞等方面与原有页面(定义为A页面)有所不同,然后将这A页面、B页面以随机的方式同时推送给所有浏览用户,再统计通过A页面到达网站内页的用户占的百分比是多少,通过B页面到达内页的用户占的百分比是多少。假设A的是6%,B的是20%,那么说明新页面是得到用户喜欢的。如果对20%的结果还不满意,还可继续修改新页面,直到这个转化率不能够再提高为止。可见,A/B测试其实是一种“先验”的实验体系,属于预测型结论,与“后验”的归纳性结论差别巨大。A/B测试的目的在于通过科学的实验设计、采样样本代表性、流量分割与小流量测试等方式来获得具有代表性的实验结论,并确信该结论在推广到全部流量可信。

但是,传统的A/B测试方法不仅存在分流误差,在实验成功之后开启100%流量时对项目实际产生收益难以解释,如果继续留50%流量做对照则是一种浪费。

因此,业内亟需一种可以避免分流误差及监控项目收益的解决方案。



技术实现要素:

本说明书实施例目的在于提供一种基于海量用户的AB测试方法及系统,通过对用户流量进行精细化运营,以实现解决抽样误差、对照组流量浪费以及流量全开时项目实际产生收益难以解释的问题。

为解决上述技术问题,本说明书实施例提供的一种基于海量用户的AB测试方法及系统是包括以下方式实现的:

一种基于海量用户的AB测试方法,该方法包括:

将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组;

将至少一待测产品策略发送给所述第一实验组进行交叉验证,输出成功的产品策略;

将所述成功的产品策略发送给所述第二实验组,并将所述第一实验组的用户访问流量补充到所述第二实验组;

比较所述对照组的用户访问结果与所述第二实验组的用户访问结果,获得所述成功的产品策略的收益。

一种基于海量用户的AB测试系统,该系统包括:

流量划分单元,用于将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组;

第一实验单元,用于将至少一待测产品策略发送给所述第一实验组进行交叉验证,输出成功的产品策略;

第二实验单元,用于将所述成功的产品策略发送给所述第二实验组,并将所述第一实验组的用户访问流量补充到所述第二实验组;

比较单元,用于比较所述对照组的用户访问结果与所述第二实验组的用户访问结果,获得所述成功的产品策略的收益。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组;

将至少一待测产品策略发送给所述第一实验组进行交叉验证,输出成功的产品策略;

将所述成功的产品策略发送给所述第二实验组,并将所述第一实验组的用户访问流量补充到所述第二实验组;

比较所述对照组的用户访问结果与所述第二实验组的用户访问结果,获得所述成功的产品策略的收益。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组;

将至少一待测产品策略发送给所述第一实验组进行交叉验证,输出成功的产品策略;

将所述成功的产品策略发送给所述第二实验组,并将所述第一实验组的用户访问流量补充到所述第二实验组;

比较所述对照组的用户访问结果与所述第二实验组的用户访问结果,获得所述成功的产品策略的收益。

本说明书实施例提供的一种基于海量用户的AB测试方法及系统,可以将统计建模中的交叉验证方法应用于ABtest的分流当中,通过对用户流量进行精细化运营,解决了现有技术中抽样误差、对照组流量浪费以及解决了流量全开时项目实际产生收益难以解释的问题的有益效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术产品策略,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本说明书提供的所述方法实施例的一个处理流程示意图;

图2是本说明书提供的所述方法另一个实施例的方法流程示意图;

图3是本说明书提供的一实施例中的步骤S202的处理流程示意图;

图4是本说明书提供的一实施例中的多个产品策略并行实验的处理流程示意图;

图5是本说明书提供的一实施例中的步骤S205的处理流程示意图;

图6是本说明提供的一种基于海量用户的AB测试系统实施例的结构示意图;

图7是本说明书提供的一实施例中的第一实验单元的结构示意图;

图8是本说明书提供的一实施例中的判断模块的结构示意图;

图9是本说明书提供的一实施例中的基于海量用户的AB测试系统的结构示意图;

图10是本说明书提供的一实施例中的检验单元的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术产品策略,下面将结合本申请实施例中的附图,对本申请实施例中的技术产品策略进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本说明书提供的一种实施方案可以应用到客户端/服务器的系统构架中。所述的客户端可以包括具有拍摄功能(至少具有包括拍照功能)的终端设备,如智能手机、平板电脑、智能穿戴设备、专用拍摄设备等。所述的客户端可以具有通信模块,可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式系统的服务器结构。

技术术语解释:

交叉验证:统计建模中常用的方法。初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。

产品策略:对产品的外观涉及、实施方案及产品概念等的统称。例如产品策略可以为:产品的优惠促销活动、网页的外观设计及一个新的产品等,本申请不以此为限。

下面以一个具体的应用场景为例对本说明书实施方案进行说明。具体的,图1是本说明书提供的所述一种基于海量用户的AB测试方法实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。

当然,下述实施例的描述并不对基于本说明书的其他可扩展到的技术方案构成限制。例如其他的实施场景中,本说明书提供的实施方案同样可以应用其他需要AB测试的实施场景中。具体的一种实施例如图1所示,本说明书提供的一种基于海量用户的AB测试方法的一种实施例中,所述方法可以包括:

S101:将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组。其中用户访问流量是指预先设置的实验需要的用户访问数。

S102:将至少一待测产品策略发送给第一实验组进行交叉验证,输出成功的产品策略。

S103:将成功的产品策略发送给第二实验组,并将第一实验组的用户访问流量补充到第二实验组。

S104:比较对照组的用户访问结果与第二实验组的用户访问结果,获得成功的产品策略的收益。

本申请提供的基于海量用户的AB测试方法,通过将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组;将至少一待测产品策略发送给第一实验组进行交叉验证,输出成功的产品策略;将成功的产品策略发送给第二实验组,并将第一实验组的用户访问流量补充到第二实验组;比较对照组的用户访问结果与第二实验组的用户访问结果,获得成功的产品策略的收益。由图1所示的流程可知,本说明书上述实施例提供的一种基于海量用户的AB测试方法,可以通过在第一实验组中设计交叉验证步骤,多次验证避免偶然误差,多次验证实验效果的实验显著率达到预定值之后判断实验成功;采用短期实验先行的思想,将第一实验组里成功的产品策略发送到第二实验组,有效的避免用户访问流量的浪费;通过设置对照组,无论什么时间都可以通过对照组得出项目实际收益情况。

为了使本领域的技术人员更好的了解本申请,下面列举一个更为详细的实施例,如图2所示,本说明书上述实施例提供的一种基于海量用户的AB测试方法,包括:

S201:将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组。其中用户访问流量是指预先设置的实验需要的用户访问数。

具体实施时,设置第一实验组的用户访问流量占比最大。假设预先设置的用户访问流量为100万,用户访问流量按照6:2:2的比例关系划分为第一实验组、第二实验组及对照组,则第一实验组的用户访问流量为60万、第二实验组的用户访问流量为20万及对照组的用户访问流量为20万。本申请不仅适用于6:2:2的分流方式,对于其他分流比例亦有良好效果,本申请不以此为限。其中第一实验组主要用于短期实验,第二实验组用于长期实验,对照组则用于长期对照。

本申请采用短期实验先行的思想,在短期实验组里成功的产品策略发送到长期实验组,长期对照组流量开启仅为20%或可以更少,避免力量的浪费。

S202:将至少一待测产品策略发送给第一实验组进行交叉验证,输出成功的产品策略。

如图3所示,S202具体包括:

S301:将第一实验组均分为若干小组,任选一小组为对照小组,其余各小组为实验小组。

具体实施时,例如当需要做一个优惠活动时,先开启60%的流量进入第一实验组(即第一实验组的用户访问流量为60万),在第一实验组里将用户访问流量均匀的划分为6个小组,第1-第5小组为实验小组,各实验小组的用户访问流量均为10万,最后一组为对照小组,对照小组的用户访问流量为10万。

S302:将待测产品策略发送给实验小组。

其中,待测产品策略可以为一个或者多个,如果是多个待测产品策略同时发送给实验小组则待测产品策略之间并行进行实验。

具体实施时,如图4所示,在第一实验组里可以有n个不同产品策略实验并行,即每个实验小组至少接收一个产品策略进行实验。

S303:将各实验小组的用户访问结果分别与对照小组的用户访问结果进行比较,输出各实验小组的实验结果。

具体实施时,如图4所示,每个实验小组将用户访问结果分别与对照小组的用户访问结果进行比较,输出每个实验小组接收的产品策略对应的实验结果。例如对产品策略1—A产品的优惠活动及产品策略2-页面布局调整进行并行测试实验,首先将产品策略1-A产品的优惠活动及产品策略2-页面布局调整同时发送到第1至第5小组(即实验小组)的用户,使其能够看见A产品的优惠活动及页面布局调整,第6小组(即对照小组)的用户由于没有接受到产品策略1-A产品的优惠活动及产品策略2-页面布局调整,则无法看见A产品的优惠活动及页面布局调整。其次将第1至第5小组的用户访问结果分别与第6小组-对照小组的用户访问结果进行比较,输出各实验小组的产品策略1及产品策略2的实验结果,如表1所示。

其中实验结果包括:显著(即达到待测产品策略的预定指标)和不显著(即未达到待测产品策略的预定指标)。

对于产品策略1-A产品的优惠活动,实验小组中第1小组的用户访问结果为:A产品的购买率达到80%,对照小组即第6小组的用户访问结果为:A产品的购买率为20%,则第1小组中产品策略1-A产品的优惠活动的实验结果为提高了60%的购买率。设定如果产品策略1-A产品的优惠活动的实验结果为提高了30%的购买率,则认为实验结果显著,因此实验小组中第1小组的实验结果为显著。其余各实验小组根据上述产品策略依次输出实验结果为显著或者不显著。

对于产品策略2-页面布局调整,实验小组中第1小组的用户访问结果为:用户进入内页面的比率达到80%,对照小组即第6小组的用户访问结果为:用户进入内页面的比率达到30%,则第1小组中产品策略2-页面布局调整的实验结果为用户进入内页面的比率提高了50%。设定如果产品策略2-页面布局调整的实验结果为用户进入内页面的比率提高了20%,则认为实验结果显著,因此实验小组中第1小组的实验结果为显著。其余各实验小组根据上述产品策略依次输出实验结果为显著或者不显著。

表1

S304:根据各实验小组的实验结果生成待测产品策略的显著率;

具体实施时,如图4所示,设定显著率为X%,根据表1中各实验小组的实验结果计算产品策略1及产品策略2的显著率。

产品策略1的显著率为:5个实验小组中产品策略1的实验结果为显著的实验小组5个所占的比例,即(5/5)100%=100%,因此产品策略1的实验结果的显著率为X%=100%。

产品策略2的显著率为:5个实验小组中产品策略2实验结果为显著的实验小组2个所占的比例即(2/5)100%=40%,因此产品策略2的实验结果的显著率为X%=40%。

S305:根据显著率判断待测产品策略是否成功,并输出成功的产品策略。

具体实施时,判断显著率是否大于等于预设值;输出显著率大于等于预设值的产品策略即成功的产品策略。当待测产品策略的实验结果的显著率大于预设值时,则该产品策略为成功的产品策略,输出成功的产品策略;当待测产品策略的实验结果的显著率小于预设值时,则该产品策略失败需要进行改进。

设定预设值为90%,根据表1中的结果及S304可知,对于产品策略1的显著率为100%大于预设的90%即90%以上实验小组的产品策略1的实验结果为显著,则产品策略1为成功的产品策略,第一实验组输出产品策略1。产品策略2的显著率40%小于90%即只有40%的实验小组的产品策略2的实验结果为显著,则产品策略2是失败的产品策略,产品策略2有待改进。

本实施例中,本申请在短期实验组(即第一实验组)中设计交叉验证步骤,多次验证避免偶然误差,即将用户访问流量均匀分成n份,n-1份作为实验组,剩余作为对照组,多次验证实验效果,实验显著率达到预设值之后判断待测的产品策略为成功。

S203:将成功的产品策略发送给第二实验组,并将第一实验组的用户访问流量补充到第二实验组。

具体实施时,将成功的产品策略1发送给第二实验组,并将第一实验组的60%用户访问流量补充到第二实验组,则第二实验组的用户访问流量为20%+60%=80%即80万,此时80万用户均可以接收到产品策略1-A产品的优惠活动。

S204:比较对照组的用户访问结果与第二实验组的用户访问结果,获得成功的产品策略的收益。

具体实施时,对照组分配的用户访问流量为20%即20万,用于与第一实验组的用户访问结果形成对照,用来解释成功的产品策略的实际收益。第二实验组的80万用户接收到产品策略1-A产品的优惠活动,在本实施例中用户的访问结果设定为A产品购买率,第二实验组的80万的用户访问结果为:A产品的购买率达到80%,对照组20万用户的用户访问结果为:A产品的购买率为20%,则对于接受了成功的产品策略1-A产品的优惠活动的收益增加了60%,本申请不以此为限。

本申请通过第二实验组及对照组,具有避免因业务淡旺季影响无法解释项目实际收益的情况,而且避免了传统的ABtest开启50%用户访问流量做对照组的浪费的有益效果。同时由于本申请设置有长期对照组,即在实验成功之后,仅留一小部分流量作为对照,无论什么时间都可以通过长期对照组(即对照组)得出产品策略所在项目的实际收益情况。

S205:检验用户访问流量的流量划分是否均匀。

如图5所示,S205具体包括以下步骤:

S401:将对照组分为用户访问流量均等的两个流量检验小组。

具体实施时,具体的将对照组的20万用户访问流量均分为第一流量检验小组及第二流量检验小组,第一流量检验小组及第二流量检验小组的用户访问流量均为10万。

S402:根据两个流量检验小组的用户访问结果判断用户访问流量的流量划分是否均匀。

具体实施时,采用A-A检验方法,具体检验过程如下:

以成功的产品策略1-A产品的优惠活动为例,统计第一流量检验小组的10万用户及第二流量检验小组的用户访问流量均为10万用户的A产品的购买率,第一流量检验小组的用户访问结果为:A产品购买率为30.3%;第一流量检验小组的用户访问结果为:A产品购买率为30.3%。显然,第一流量检验小组及第二流量检验小组的用户访问结果基本一致,则认为步骤S201中的用户访问流量的划分是均匀的,本申请不以此为限。

通过上述实施例可知,本申请通过A-A检验,保证了用户访问流量的均匀,保证实验效果的准确性。

本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。

本申请采用统计建模中的交叉验证方法应用于AB测试的分流当中,解决了传统AB测试的分流中因为分流导致的偶然误差。同时采用短期实验先行的思想,将短期实验组里成功的产品策略发送到长期实验组,长期对照组流量开启仅为20%或可以更少,避免浪费,并且设置有长期对照组,无论什么时间都可以通过长期对照组得出项目实际收益情况,避免受到季节波动影响。

基于与上述基于海量用户的AB测试方法相同的申请构思,本申请还提供了一种基于海量用户的AB测试系统,如下面实施例所述。由于该基于海量用户的AB测试系统解决问题的原理与基于海量用户的AB测试方法相似,因此该基于海量用户的AB测试系统的实施可以参见基于海量用户的AB测试方法的实施,重复之处不再赘述。

图6为本申请实施例的基于海量用户的AB测试系统的结构示意图,如图6所示,该基于海量用户的AB测试系统包括:流量划分单元101、第一实验单元102、第二实验单元103及比较单元104。

流量划分单元101,用于将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组。其中第一实验组的用户访问流量占比最大。

第一实验单元102,用于将至少一待测产品策略发送给第一实验组进行交叉验证,输出成功的产品策略。

第二实验单元103,用于将成功的产品策略发送给第二实验组,并将第一实验组的用户访问流量补充到第二实验组。

比较单元104,用于比较对照组的用户访问结果与第二实验组的用户访问结果,获得成功的产品策略的收益。

在一个实施例中,如图7所示,第一实验单元102包括:小组划分模块201、产品策略发送模块202、比较模块203、输出模块204及判断模块205。

小组划分模块201,用于将第一实验组均分为若干小组,任选一小组为对照小组,其余各小组为实验小组;

产品策略发送模块202,用于将待测产品策略发送给实验小组;

比较模块203,用于将各实验小组的用户访问结果分别与对照小组的用户访问结果进行比较,输出各实验小组的实验结果;

输出模块204,用于根据各实验小组的实验结果生成待测产品策略的显著率;

判断模块205,用于根据显著率判断待测产品策略是否成功,并输出成功的产品策略。

在一个实施例中,如图8所示,判断模块205包括:判断子模块及输出子模块

判断子模块301,用于判断显著率是否大于等于预设值;

输出子模块302,用于输出显著率大于等于预设值的产品策略。

在一个实施例中,如图9所示,该系统还包括:检验单元105,用于检验用户访问流量的流量划分是否均匀。

在一个实施例中,如图10所示,检验单元105包括:流量划分模块401及结果判断模块402。

流量划分模块401,用于将对照组分为用户访问流量均等的两个流量检验小组。

结果判断模块402,用于根据两个流量检验小组的用户访问结果判断用户访问流量的流量划分是否均匀。

基于与上述基于海量用户的AB测试方法相同的申请构思,本申请提供一种计算机设备,如下面实施例所述。由于该计算机设备解决问题的原理与基于海量用户的AB测试方法相似,因此该计算机设备的实施可以参见基于海量用户的AB测试方法的实施,重复之处不再赘述。

在一个实施例中,计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,如图1所示,所述处理器执行所述计算机程序时实现以下步骤:

S101:将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组。

S102:将至少一待测产品策略发送给第一实验组进行交叉验证,输出成功的产品策略。

S103:将成功的产品策略发送给第二实验组,并将第一实验组的用户访问流量补充到第二实验组。

S104:比较对照组的用户访问结果与第二实验组的用户访问结果,获得成功的产品策略的收益。

基于与上述基于海量用户的AB测试方法相同的申请构思,本申请提供一种计算机可读存储介质,如下面实施例所述。由于该计算机可读存储介质解决问题的原理与基于海量用户的AB测试方法相似,因此该计算机可读存储介质的实施可以参见基于海量用户的AB测试方法的实施,重复之处不再赘述。

在一个实施例中,计算机可读存储介质上存储有计算机程序,如图1所示,该计算机程序被处理器执行时实现以下步骤:

S101:将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组。

S102:将至少一待测产品策略发送给第一实验组进行交叉验证,输出成功的产品策略。

S103:将成功的产品策略发送给第二实验组,并将第一实验组的用户访问流量补充到第二实验组。

S104:比较对照组的用户访问结果与第二实验组的用户访问结果,获得成功的产品策略的收益。

本申请提供的一种基于海量用户的AB测试方法及系统,通过将用户访问流量按照预设的比例关系分为第一实验组、第二实验组及对照组;将至少一待测产品策略发送给第一实验组进行交叉验证,输出成功的产品策略;将成功的产品策略发送给第二实验组,并将第一实验组的用户访问流量补充到第二实验组;比较对照组的用户访问结果与第二实验组的用户访问结果,获得成功的产品策略的收益。由图1所示的流程可知,本申请通过在第一实验组中设计交叉验证步骤,多次验证避免偶然误差,多次验证实验效果的实验显著率达到预定值之后判断实验成功;采用短期实验先行的思想,将第一实验组里成功的产品策略发送到第二实验组,有效的避免用户访问流量的浪费;通过设置对照组,无论什么时间都可以通过对照组得出项目实际收益情况。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1