CN113312257A - 版本识别方法、装置、存储介质及计算机设备 - Google Patents
版本识别方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN113312257A CN113312257A CN202110567736.7A CN202110567736A CN113312257A CN 113312257 A CN113312257 A CN 113312257A CN 202110567736 A CN202110567736 A CN 202110567736A CN 113312257 A CN113312257 A CN 113312257A
- Authority
- CN
- China
- Prior art keywords
- version
- index
- time period
- data
- user group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012360 testing method Methods 0.000 claims abstract description 33
- 230000015654 memory Effects 0.000 claims description 26
- 230000006399 behavior Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 235000009470 Theobroma cacao Nutrition 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种版本识别方法、装置、存储介质及计算机设备,方法包括:确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,然后获取第一用户群体在第一时间段内使用旧版本的第一指标数据以及第二用户群体在第一时间段内使用旧版本的第二指标数据,再获取第一用户群体在第二时间段内使用灰度版本的第三指标数据以及第二用户群体在第二时间段内使用旧版本的第四指标数据,最后基于第一指标数据、第二指标数据、第三指标数据以及第四指标数据确定灰度版本是否被接受。采用本申请实施例,通过分析上述各指标数据,可以针对灰度版本是否被接受作出正确的决策。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种版本识别方法、装置、存储介质及计算机设备。
背景技术
随着移动设备的不断普及,移动设备已经深入到广大用户的生活当中,为了提高移动设备用户群体的使用体验,适用性以及稳定性等,各类软件一般需要定期的发布新版本或者及时更新新的功能来满足客户需求。当软件面临全新功能的发布或重大改版而需要发布新版本时,为了降低新版本的发布带来的风险,需要对新版本进行灰度测试。
所谓灰度测试,即先发布新版本到一小部分用户,通过对比新版本用户与旧版本用户的数据表现情况,若新版本对比旧版本具有显著优势,则逐步扩大新版本的使用规模,直到新版本完全取代旧版本,若新版本对比旧版本不具有显著优势或者具有显著劣势,则停止新版本的发布。但是由于新版本用户与旧版本用户可能原来就存在软件使用习惯上的差异,而这个差异和新旧版本并没有关系,因此,现有的灰度测试方案得到的新版本用户与旧版本用户对使用新旧版本的数据表现情况因为存在用户自身使用习惯的差异而不够准确,不能针对是否推广新版本得到准确的决策。
发明内容
本申请实施例提供了一种版本识别方法、装置、存储介质及计算机设备,可以综合考虑灰度版本发布前第一用户群体和第二用户群体使用旧版本的数据表现以及灰度版本发布后第一用户群体使用灰度版本第二用户群体使用旧版本的数据表现,为是否接受灰度版本做出正确的决策。
所述技术方案如下:
第一方面,本申请实施例提供了一种版本识别方法,所述方法包括:
确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,所述两个实验版本包括升级前的旧版本以及升级后的灰度版本,所述测试时间段包括在所述灰度版本发布前的第一时间段以及在所述灰度版本发布后的第二时间段;
获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受。
第二方面,本申请实施例提供了一种版本识别装置,所述版本识别装置包括:
用户确定模块,用于确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,所述两个实验版本包括升级前的旧版本以及升级后的灰度版本,所述测试时间段包括在所述灰度版本发布前的第一时间段以及在所述灰度版本发布后的第二时间段;
第一数据获取模块,用于获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
第二数据获取模块,用于获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
灰度版本判定模块,用于基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受。
第三方面,本申请实施例提供一种存储介质,所述存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种计算机设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,通过确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,然后获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据、所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据、所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据以及所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据,最后综合考虑灰度版本发布前第一用户群体和第二用户群体使用旧版本的数据表现以及灰度版本发布后第一用户群体使用灰度版本第二用户群体使用旧版本的数据表现,为是否接受灰度版本做出正确的决策。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供了一种版本识别方法的流程示意图;
图2为本申请实施例提供了一种版本识别方法的流程示意图;
图3为本申请实施例提供了一种确定灰度版本是否被接受的举例示意图;
图4为本申请实施例提供了一种版本识别装置的结构示意图;
图5为本申请实施例提供了一种用户确定模块11的结构示意图;
图6为本申请实施例提供了一种灰度版本判定模块14的结构示意图;
图7为本申请实施例提供了一种第一区间确定单元141的结构示意图;
图8为本申请实施例提供了一种第二区间确定单元142的结构示意图;
图9为本申请实施例提供了一种灰度版本确定单元143的结构示意图;
图10为本申请实施例提供了一种计算机设备的结构示意图;
图11为本申请实施例提供了一种操作系统和用户空间的结构示意图;
图12是图10中安卓操作系统的架构图;
图13是图10中IOS操作系统的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了更清楚的描述本发明实施例的技术方案,在描述之前,对本发明中的一些概念进行详细描述以便更好的理解本方案。
随着互联网的高速发展,各互联网公司为了不断的提升用户的使用体验,增强自家产品的竞争力,各类软件和操作系统等处于不断的更新换代中。而灰度测试是各类软件的新版本推出前的必经阶段。所述操作系统包括但不限于安卓系统、鸿蒙系统、Windows系统、iOS系统、macOS系统等,所述软件包括但不限于安卓系统、鸿蒙系统、Windows系统、iOS系统、macOS系统等操作系统上的的应用软件。
所谓灰度测试,即在新版本正式推出前,先将新版本推给一部分目标人群使用,通过他们的使用结果和反馈来修改即将推出的新版本的一些不足,做到查缺补漏,对新版本进行完善,提高新版本的质量,为之后新版本的全面推出打下基础。
灰度测试期间推出的新版本也叫灰度版本,在现有方案中,将灰度版本推送到目标用户,通过设定一些指标,所述指标可以反应用户对不同应用版本的认可度,基于通过对比这部分目标用户使用灰度版本的指标数据以及另一部分对照用户使用旧版本的指标数据,分析灰度版本对比旧版本是否有优势,进而确定是否接受灰度版本。而由于灰度版本推送时为了避免灰度版本推送到无效人群,通常会选择一些较为活跃的用户作为目标用户,这类用户可能本身相对使用旧版本的对照用户来说,就存在对应用使用习惯上的差异,比如目标用户对应用的使用需求本来就高于对照用户,因此现有方案无法确定目标用户使用灰度版本的指标数据以及对照用户使用旧版本的指标数据产生的差异是由于版本不同引起的,还是目标用户和对照用户本身固有的使用差异。因此现有的方案对于是否接受灰度版本无法得到准确的决策。
本申请提出了一种版本识别方法,通过确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,然后获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据、所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据、所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据以及所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据,最后综合考虑灰度版本发布前第一用户群体和第二用户群体使用旧版本的数据表现以及灰度版本发布后第一用户群体使用灰度版本第二用户群体使用旧版本的数据表现,为是否接受灰度版本做出正确的决策。
请参见图1,为本申请实施例提供了一种版本识别方法的流程示意图。如图1所示,所述版本识别方法可以包括以下步骤S101~S104。
S101,确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段;
所述第一用户群体是指在灰度版本发布后升级到灰度版本的部分用户。
所述第二用户群体是指在灰度版本发布后未升级到灰度版本的部分用户。
所述两个实验版本包括灰度版本和除灰度版本之外的旧版本。
不难理解,所述旧版本可以包括多个,在灰度版本发布前,当前应用可能已经有过多次版本的更新,但并不是每次版本更新所有的用户都会升级新版本,例如,所述应用在灰度版本发布前已经有过5次版本更新,分别是版本1、版本2、版本3、版本4以及版本5,未升级灰度版本的用户有可能使用以上5种版本的1种,因此以上5种版本都可以概括为旧版本。
所述测试时间段包括灰度版本发布前的第一时间段,以及灰度版本发布后的第二时间段。
具体的,确定在灰度期间升级到所述灰度版本的用户为所述第一用户群体,并在灰度期间未升级到所述灰度版本的用户中,随机确定一部分用户为所述第二用户群体;然后确定所述灰度版本和所述旧版本为两个实验版本,将所述灰度版本发布前的预设天数作为第一时间段,将灰度版本发布后的预设天数作为第二时间段。
例如,灰度版本发布日在4月16号,可以将4月1号到4月15号作为所述第一时间段,将4月16号到4月30号作为第二时间段。
S102,获取所述第一用户群体在灰度版本发布前的第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
具体的,所述第一时间段在灰度版本发布前,在所述第一时间段,所述第一用户群体以及所述第二用户群体均使用旧版本,在用于灰度测试的服务器数据库中获取所述第一时间段内所述第一用户群体使用所述旧版本的第一指标数据以及所述第二用户群体使用所述旧版本的第二指标数据。
所述第一指标数据可以包括多种指标,例如日活跃量、次留率、人均日活跃时长,人均日启动次数等。
所述第二指标数据可以包括多种指标,例如日活跃量、次留率、人均日活跃时长,人均日启动次数等。
所述日活跃量是指一天内进入所述旧版本对应的应用的用户总量;所述次留率是指第一天进入所述旧版本对应的应用的用户,第二天继续进入所述应用的用户占第一天进入所述旧版本对应的应用用户的比例;所述人均日活跃时长是指用户一天内进入所述旧版本对应的应用的平均时长;所述人均日启动次数是指用户一天内进入所述旧版本对应的应用的平均启动次数。
S103,获取所述第一用户群体在灰度版本发布后的第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
具体的,所述第二时间段在灰度版本发布后,在所述第一时间段,所述第一用户群体使用灰度版本,所述第二用户群体使用旧版本,在用于灰度测试的服务器数据库中获取所述第二时间段内所述第一用户群体使用所述灰度版本的第三指标数据以及所述第二用户群体使用所述旧版本的第四指标数据。
所述第三指标数据可以包括多种指标,例如日活跃量、次留率、人均日活跃时长,人均日启动次数等。
所述第四指标数据可以包括多种指标,例如日活跃量、次留率、人均日活跃时长,人均日启动次数等。
S104,基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受。
具体的,所述第一指标数据为所述第一用户群体在灰度版本发布前的所述第一时间段使用所述旧版本的指标数据,所述第二指标数据为所述第二用户群体在灰度版本发布前的所述第一时间段使用所述旧版本的指标数据,所述第一指标数据和所述第二指标数据可以反应使用相同版本的不同用户群体之间的用户差异;所述第三指标数据为所述第一用户群体在灰度版本发布后的所述第二时间段使用所述灰度版本的指标数据,所述第四指标数据为所述第二用户群体在灰度版本发布后的所述第二时间段使用所述旧版本的指标数据,所述第三指标数据和所述第四指标数据可以反应使用灰度版本的第一用户群体和使用旧版本的第二用户群体之间的差异,这其中包括用户差异和版本差异;在使用灰度版本的第一用户群体和使用旧版本的第二用户群体之间的差异中去掉使用相同版本的不同用户群体之间的用户差异,得到使用不同版本的版本差异,根据所述版本差异的好坏可以确定所述灰度版本是否被接受。若所述版本差异表现为灰度版本优于所述旧版本,则可以接受所述灰度版本,若所述版本差异表现为旧版本优于所述灰度版本,则不可以接受所述灰度版本。
所述接受所述灰度版本可以是发布所述灰度版本,所述不接受所述灰度版本并不代表不发布所述灰度版本。
不难理解,所述不接受所述灰度版本可以是当前灰度版本存在可以优化的缺陷,若所述缺陷被优化后,再次进行灰度版本的测试,所述版本差异为所述灰度版本优于所述旧版本,则可以发布所述灰度版本。
在本申请实施例中,是否接受灰度版本并代表灰度版本是否发布,而仅仅是表达灰度版本和旧版本优劣的方式。
在本申请实施例中,通过确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,然后获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据、所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据、所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据以及所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据,最后综合考虑灰度版本发布前第一用户群体和第二用户群体使用旧版本的数据表现以及灰度版本发布后第一用户群体使用灰度版本第二用户群体使用旧版本的数据表现,为是否接受灰度版本做出正确的决策。
请参见图2,为本申请实施例提供了一种版本识别方法的流程示意图。如图2所示,所述版本识别方法可以包括以下步骤S201~S207。
S201,确定在灰度版本发布后的第二时间段内升级到所述灰度版本且对所述灰度版本有过至少一次活跃行为的第一用户集合,在所述第一用户集合中选取第一预设数量的用户作为第一用户群体;
具体的,灰度版本的发布是向一部分目标用户推送灰度版本,但是这部分用户并不会全部升级灰度版本,在本申请实施例,在灰度版本发布后的第二时间段内接受到灰度升级推送的目标用户中,将升级到灰度版本且对所述灰度版本有过一次活跃行为的用户确定为第一用户集合中的用户,并在所述第一用户集合中选择第一预设数量的用户作为所述第一用户群体。
所述升级到灰度版本且对所述灰度版本有过一次活跃行为的用户,具体可以理解为,所述用户的应用版本为灰度版本且所述用户在所述第二时间段内进入过所述灰度版本。例如,某公司计划对某APP进行新版本的发布,计划灰度版本发布日在4月16号,将4月1号到4月15号作为所述第一时间段,将4月16号到4月30号作为第二时间段。所述灰度版本共推送10000人,在4月16号到4月30号的第二时间段内升级到所述灰度版本的用户共8000人,这8000人中在4月16号到4月30号的第二时间段内只是升级到所述灰度版本并未使用所述APP的用户有3000人,则在4月16号到4月30号的第二时间段内升级到灰度版本且对所述灰度版本有过一次活跃行为的用户为剩余5000人,剩余5000人构成第一用户集合。可以在所述第一用户集合中选择第一预设数量的用户组成第一用户群体。
S202,确定在灰度版本发布后的第二时间段内未升级到所述灰度版本且对所述旧版本有过至少一次活跃行为的第二用户集合,在所述第二用户集合中选取第二预设数量的用户作为第二用户群体;
具体的,将在灰度版本发布后的第二时间段内未升级到所述灰度版本的用户且对所述旧版本有过至少一次活跃行为的用户确定为第二用户集合的用户,并在所述第二用户集合中随机选取第二预设数量的用户作为所述第二用户群体。
在一种可实现的方式中,为了避免样本量不同在记录数据时造成统计误差,所述第二预设数量可以等于所述第一预设数量。
S203,获取所述第一用户群体在灰度版本发布前的第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
具体的,步骤S203请一并参见另一实施例中步骤S102的描述,在此不一一赘述。
S204,获取所述第一用户群体在灰度版本发布后的第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
具体的,步骤S204请一并参见另一实施例中步骤S103的描述,在此不一一赘述。
S205,基于所述第一指标数据以及所述第二指标数据确定第一置信区间;
具体的,计算所述第一指标数据对应的第一指标均值以及第一指标方差,计算所述第二指标数据对应的第二指标均值以及第二指标方差,基于所述第一指标均值、所述第二指标均值、所述第一指标方差、所述第二指标方差、预设的统计值、所述第一指标数据对应的第一样本数量以及所述第二指标数据对应的第二样本数量,计算得到所述第一置信区间。
不难理解,所述第一指标数据以及所述第二指标数据均是按天记录,所述第一指标均值为每天的第一指标值累加再除以第一时间段的天数,所述第一指标数据对应的第一样本数量即为第一时间段的天数,基于所述第一指标均值,每天记录的第一指标值以及所述第一样本数量可以计算得到所述第一指标方差,同样的,所述第二指标均值为每天的第二指标值累加再除以第一时间段的天数,所述第二指标数据对应的第二样本数量即为第一时间段的天数,基于所述第二指标均值,每天记录的第二指标值以及所述第二样本数量可以计算得到所述第二指标方差。所述统计值可以为正态分布95%置信区间的统计值。根据百分比置信区间计算公式:
其中,为所述第一指标均值,为所述第一指标方差,为所述第二指标均值,为所述第二指标方差,为正态分布95%置信区间的统计值为1.96,n为所述第一样本数量,m为所述第二样本数量,为所述第一置信区间下限,为所述第一置信区间的上限。
可以理解的是,所述第一置信区间基于所述第一指标数据以及所述第二指标数据计算而来,所述第一指标数据是所述第一用户群体在灰度版本发布前的第一时间段使用旧版本的指标数据,所述第二指标数据是所述第二用户群体在灰度版本发布前的第一时间段使用旧版本的指标数据,根据公式可知,基于所述第一指标数据以及所述第二指标数据计算而来的所述第一置信区间表示的是所述第一用户群体以及所述第二用户群体之间的用户差异。
进一步的,不同应用的不同版本面临发布进行灰度测试时设定的指标可能不同,一般来说,指标值越大,代表越优,指标值越小,表示越劣,则根据置信区间的计算公式,所述第一置信区间表示的用户差异为第一用户群体优于第二用户群体。
S206,基于所述第三指标数据以及所述第四指标数据确定第二置信区间;
具体的,计算所述第三指标数据对应的第三指标均值以及第三指标方差,计算所述第四指标数据对应的第四指标均值以及第四指标方差,基于所述第三指标均值、所述第四指标均值、所述第三指标方差、所述第四指标方差、预设的统计值、所述第三指标数据对应的第三样本数量以及所述第四指标数据对应的第四样本数量,计算得到所述第二置信区间。
不难理解,所述第三指标数据以及所述第四指标数据均是按天记录,所述第三指标均值为每天的第三指标值累加再除以第二时间段的天数,所述第三指标数据对应的第三样本数量即为第二时间段的天数,基于所述第三指标均值,每天记录的第三指标值以及所述第三样本数量可以计算得到所述第三指标方差,同样的,所述第四指标均值为每天的第四指标值累加再除以第二时间段的天数,所述第四指标数据对应的第四样本数量即为第二时间段的天数,基于所述第四指标均值,每天记录的第四指标值以及所述第四样本数量可以计算得到所述第四指标方差。所述统计值可以为正态分布95%置信区间的统计值。根据百分比置信区间计算公式:
其中,为所述第三指标均值,为所述第三指标方差,为所述第四指标均值,为所述第四指标方差,为正态分布95%置信区间的统计值为1.96,n为所述第三样本数量,m为所述第四样本数量,为所述第二置信区间下限,为所述第二置信区间的上限。
可以理解的是,所述第二置信区间基于所述第三指标数据以及所述第四指标数据计算而来,所述第三指标数据是所述第一用户群体在灰度版本发布后的第二时间段使用灰度版本的指标数据,所述第四指标数据是所述第二用户群体在灰度版本发布后的第二时间段使用旧版本的指标数据,基于所述第三指标数据以及所述第四指标数据计算而来的所述第一置信区间表示的是所述第一用户群体和所述第二用户群体之间的用户差异以及所述灰度版本和所述旧版本之间的版本差异,所述用户差异为所述第一用户群体优于所述第二用户群体,所述版本差异为所述灰度版本优于所述旧版本。
进一步的,根据第二置信区间的计算公式,所述第二置信区间表示的用户差异和版本差异分别为所述第一用户群体优于所述第二用户群体和所述灰度版本优于所述旧版本。
S207,基于所述第一置信区间以及所述第二置信区间确定所述灰度版本是否被接受。
具体的,基于以上步骤可以分别计算得出所述第一置信区间以及所述第二置信区间,若所述第二置信区间的下限大于所述第一置信区间的上限,则确定所述灰度版本被接受,若所述第二置信区间的上限小于所述第一置信区间的下限,则确定所述灰度版本不被接受。
不难理解,所述第一置信区间表示所述第一用户群体以及所述第二用户群体之间的用户差异,所述第二置信区间表示所述第一用户群体和所述第二用户群体之间的用户差异以及所述灰度版本和所述旧版本之间的版本差异,若所述第二置信区间的下限大于所述第一置信区间的上限,表示除去用户差异,灰度版本依然显著优于所述旧版本;若所述第二置信区间的上限小于所述第一置信区间的下限,表示除去用户差异,灰度版本相比较于旧版本可能带来的是负优化。进一步的,若所述第一置信区间和所述第二置信区间不满足以上两种情况,即两个区间之间存在交叉,则表示灰度版本相比较与旧版本并没有显著优势,这种情况下不能一锤定音的判定灰度版本是否被接受,需要开发根据数据对灰度版本进行针对性的优化,再次进行灰度测试。
请参见图3,为本申请实施例提供了一种确定灰度版本是否被接受的举例示意图。
如图3所示,共三种情况,第一种情况为第二置信区间的下限大于第一置信区间的上限,则灰度版本显著优于旧版本;第二种情况为第二置信区间的上限小于第一置信区间的下限,则灰度版本显著劣于旧版本;第三种情况为第一置信区间和第二置信区间存在交叉,则无法判断版本优劣。
另一种可实现的方式。
进行灰度测试期间,若存在多个指标供测试人员分析指标数据,则根据各指标的优先级进行排序,按照优先级最高的指标对应的第一置信区间和第二置信区间确定是否接受灰度版本。例如,共观察四个指标的数据,其中包括日活跃量、次留率、人均日活跃时长,人均日启动次数,若各指标之间的优先级为日活跃量>人均活跃时长>次留率>人均日启动次数,则主要基于日活跃量这一指标对应的数据判断是否接受灰度版本。若日活跃量对应的第二置信区间的上限小于第一置信区间的下限,则不论其余三个指标的指标数据如何,都不会接受灰度版本;若日活跃量对应的第二置信区间的下限大于第一置信区间的上限,则只要其余三个指标的指标数据在合理的范围内,就可以接受所述灰度版本,具体实施方式可由测试人员自行判定。
在本申请实施例中,通过在所述第二时间段内升级到所述灰度版本且对所述灰度版本有过至少一次活跃行为的第一用户集合中确定第一用户群体,在所述第二时间段内未升级到所述灰度版本且对所述旧版本有过至少一次活跃行为的第二用户集合确定第二用户群体,保证了数据的有效性,且所述第一用户群体于所述第二用户群体数量相同,避免了样本量不同造成的统计误差,进而提高了最终结果的准确性,然后获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据、所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据,基于所述第一指标数据和所述第二指标数据计算出第一置信区间,获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据以及所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据,基于所述第三指标数据和所述第四指标数据计算出第二置信区间,所述第一置信区间表示用户差异,所述第二置信区间表示用户差异和版本差异,比较所述第一置信区间和所述第二置信区间,同时考虑用户差异和版本差异,为是否接受灰度版本做出正确的决策。
请参见图4,为本申请实施例提供了一种版本识别装置的结构示意图。如图4所示,该版本识别装置1可以通过软件、硬件或者两者的结合实现成为终端设备的全部或一部分。根据一些实施例,该版本识别装置1包括用户确定模块11、第一数据获取模块12、第二数据获取模块13、灰度版本判定模块14,具体包括:
用户确定模块11,用于确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,所述两个实验版本包括升级前的旧版本以及升级后的灰度版本,所述测试时间段包括在所述灰度版本发布前的第一时间段以及在所述灰度版本发布后的第二时间段;
可选的,如图5所示,为本申请实施例提供了一种用户确定模块11的结构示意图。
所述用户确定模块11,包括:
第一群体确定单元111,用于确定在所述第二时间段内升级到所述灰度版本且对所述灰度版本有过至少一次活跃行为的第一用户集合,在所述第一用户集合中选取第一预设数量的用户作为第一用户群体;
第二群体确定单元112,用于确定在所述第二时间段内未升级到所述灰度版本且对所述旧版本有过至少一次活跃行为的第二用户集合,在所述第二用户集合中选取第二预设数量的用户作为第二用户群。
第一数据获取模块12,用于获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
第二数据获取模块13,用于获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
灰度版本判定模块14,用于基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受。
可选的,如图6所示,为本申请实施例提供了一种灰度版本判定模块14的结构示意图。
所述灰度版本判定模块14,包括:
第一区间确定单元141,用于基于所述第一指标数据以及所述第二指标数据确定第一置信区间;
可选的,如图7所示,为本申请实施例提供了一种第一区间确定单元141的结构示意图。
所述第一区间确定单元141,包括:
第一方差计算子单元1411,用于计算所述第一指标数据对应的第一指标均值以及第一指标方差;
第二方差计算子单元1412,用于计算所述第二指标数据对应的第二指标均值以及第二指标方差;
第一区间确定子单元1413,用于基于所述第一指标均值、所述第二指标均值、所述第一指标方差、所述第二指标方差、预设的统计值、所述第一指标数据对应的第一样本数量以及所述第二指标数据对应的第二样本数量,计算得到所述第一置信区间。
第二区间确定单元142,用于基于所述第三指标数据以及所述第四指标数据确定第二置信区间;
可选的,如图8所示,为本申请实施例提供了一种第二区间确定单元142的结构示意图。
所述第二区间确定单元142,包括:
第三方差计算子单元1421,用于计算所述第三指标数据对应的第三指标均值以及第三指标方差;
第四方差计算子单元1422,用于计算所述第四指标数据对应的第四指标均值以及第四指标方差;
第二区间确定子单元1423,用于基于所述第三指标均值、所述第四指标均值、所述第三指标方差、所述第四指标方差、预设的统计值、所述第三指标数据对应的第三样本数量以及所述第四指标数据对应的第四样本数量,计算得到所述第二置信区间。
灰度版本确定单元143,用于基于所述第一置信区间以及所述第二置信区间确定所述灰度版本是否被接受。
可选的,如图9所示,为本申请实施例提供了一种灰度版本确定单元143的结构示意图。
所述灰度版本确定单元143,包括:
接受灰度版本子单元1431,用于若所述第二置信区间的下限大于所述第一置信区间的上限,则确定所述灰度版本被接受;
不接受灰度版本子单元1432,用于若所述第二置信区间的上限小于所述第一置信区间的下限,则确定所述灰度版本不被接受。
需要说明的是,上述实施例提供的版本识别装置在执行版本识别方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的版本识别装置与版本识别方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,通过确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,然后获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据、所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据、所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据以及所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据,最后综合考虑灰度版本发布前第一用户群体和第二用户群体使用旧版本的数据表现以及灰度版本发布后第一用户群体使用灰度版本第二用户群体使用旧版本的数据表现,为是否接受灰度版本做出正确的决策。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1~图3所示实施例的所述版本识别方法,具体执行过程可以参见图1~图3所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1~图3所示实施例的所述版本识别方法,具体执行过程可以参见图1~图3所示实施例的具体说明,在此不进行赘述。
请参考图10,其示出了本申请一个示例性实施例提供的计算机设备的结构方框图。本申请中的计算机设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个计算机设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行计算机设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmablelogic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储计算机设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据等。
参见图11所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图12所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为计算机设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、版本识别程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图13所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在计算机设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图13所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在计算机设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的计算机设备的结构并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,计算机设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的计算机设备。可选地,各步骤的执行主体为计算机设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的计算机设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用计算机设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述计算机设备可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图10所示的计算机设备中,处理器110可以用于调用存储器120中存储的版本识别程序,并具体执行以下操作:
确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,所述两个实验版本包括升级前的旧版本以及升级后的灰度版本,所述测试时间段包括在所述灰度版本发布前的第一时间段以及在所述灰度版本发布后的第二时间段;
获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受。
在一个实施例中,所述处理器110在执行所述确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,所述两个实验版本包括升级前的旧版本以及升级后的灰度版本,所述测试时间段包括在所述灰度版本发布前的第一时间段以及在所述灰度版本发布后的第二时间段时,具体执行以下操作:
确定在所述第二时间段内升级到所述灰度版本且对所述灰度版本有过至少一次活跃行为的第一用户集合,在所述第一用户集合中选取第一预设数量的用户作为第一用户群体;
确定在所述第二时间段内未升级到所述灰度版本且对所述旧版本有过至少一次活跃行为的第二用户集合,在所述第二用户集合中选取第二预设数量的用户作为第二用户群体。
在一个实施例中,所述处理器110在执行所述基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受时,具体执行以下操作:
基于所述第一指标数据以及所述第二指标数据确定第一置信区间;
基于所述第三指标数据以及所述第四指标数据确定第二置信区间;
基于所述第一置信区间以及所述第二置信区间确定所述灰度版本是否被接受。
在一个实施例中,所述处理器110在执行所述基于所述第一指标数据以及所述第二指标数据确定第一置信区间时,具体执行以下操作:
计算所述第一指标数据对应的第一指标均值以及第一指标方差;
计算所述第二指标数据对应的第二指标均值以及第二指标方差;
基于所述第一指标均值、所述第二指标均值、所述第一指标方差、所述第二指标方差、预设的统计值、所述第一指标数据对应的第一样本数量以及所述第二指标数据对应的第二样本数量,计算得到所述第一置信区间。
在一个实施例中,所述处理器110在执行所述基于所述第三指标数据以及所述第四指标数据确定第二置信区间时,具体执行以下操作:
计算所述第三指标数据对应的第三指标均值以及第三指标方差;
计算所述第四指标数据对应的第四指标均值以及第四指标方差;
基于所述第三指标均值、所述第四指标均值、所述第三指标方差、所述第四指标方差、预设的统计值、所述第三指标数据对应的第三样本数量以及所述第四指标数据对应的第四样本数量,计算得到所述第二置信区间。
在一个实施例中,所述处理器110在执行所述基于所述第一置信区间以及所述第二置信区间确定所述灰度版本是否被接受时,具体执行以下操作:
若所述第二置信区间的下限大于所述第一置信区间的上限,则确定所述灰度版本被接受;
若所述第二置信区间的上限小于所述第一置信区间的下限,则确定所述灰度版本不被接受。
在本申请实施例中,通过在所述第二时间段内升级到所述灰度版本且对所述灰度版本有过至少一次活跃行为的第一用户集合中确定第一用户群体,在所述第二时间段内未升级到所述灰度版本且对所述旧版本有过至少一次活跃行为的第二用户集合确定第二用户群体,保证了数据的有效性,且所述第一用户群体于所述第二用户群体数量相同,避免了样本量不同造成的统计误差,进而提高了最终结果的准确性,然后获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据、所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据,基于所述第一指标数据和所述第二指标数据计算出第一置信区间,获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据以及所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据,基于所述第三指标数据和所述第四指标数据计算出第二置信区间,所述第一置信区间表示用户差异,所述第二置信区间表示用户差异和版本差异,比较所述第一置信区间和所述第二置信区间,同时考虑用户差异和版本差异,为是否接受灰度版本做出正确的决策。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种版本识别方法,其特征在于,所述方法包括:
确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,所述两个实验版本包括升级前的旧版本以及升级后的灰度版本,所述测试时间段包括在所述灰度版本发布前的第一时间段以及在所述灰度版本发布后的第二时间段;
获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受,包括:
基于所述第一指标数据以及所述第二指标数据确定第一置信区间;
基于所述第三指标数据以及所述第四指标数据确定第二置信区间;
基于所述第一置信区间以及所述第二置信区间确定所述灰度版本是否被接受。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一指标数据以及所述第二指标数据确定第一置信区间,包括:
计算所述第一指标数据对应的第一指标均值以及第一指标方差;
计算所述第二指标数据对应的第二指标均值以及第二指标方差;
基于所述第一指标均值、所述第二指标均值、所述第一指标方差、所述第二指标方差、预设的统计值、所述第一指标数据对应的第一样本数量以及所述第二指标数据对应的第二样本数量,计算得到所述第一置信区间。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第三指标数据以及所述第四指标数据确定第二置信区间,包括:
计算所述第三指标数据对应的第三指标均值以及第三指标方差;
计算所述第四指标数据对应的第四指标均值以及第四指标方差;
基于所述第三指标均值、所述第四指标均值、所述第三指标方差、所述第四指标方差、预设的统计值、所述第三指标数据对应的第三样本数量以及所述第四指标数据对应的第四样本数量,计算得到所述第二置信区间。
5.根据权利要求2所述的方法,其特征在于,所述基于所述第一置信区间以及所述第二置信区间确定所述灰度版本是否被接受,包括:
若所述第二置信区间的下限大于所述第一置信区间的上限,则确定所述灰度版本被接受;
若所述第二置信区间的上限小于所述第一置信区间的下限,则确定所述灰度版本不被接受。
6.根据权利要求1所述的方法,其特征在于,所述确定第一用户群体、第二用户群体,包括:
确定在所述第二时间段内升级到所述灰度版本且对所述灰度版本有过至少一次活跃行为的第一用户集合,在所述第一用户集合中选取第一预设数量的用户作为第一用户群体;
确定在所述第二时间段内未升级到所述灰度版本且对所述旧版本有过至少一次活跃行为的第二用户集合,在所述第二用户集合中选取第二预设数量的用户作为第二用户群体。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第一预设数量与所述第二预设数量相等。
8.一种版本识别装置,其特征在于,包括:
用户确定模块,用于确定第一用户群体、第二用户群体以及针对同一应用的两个实验版本分别对应的测试时间段,所述两个实验版本包括升级前的旧版本以及升级后的灰度版本,所述测试时间段包括在所述灰度版本发布前的第一时间段以及在所述灰度版本发布后的第二时间段;
第一数据获取模块,用于获取所述第一用户群体在所述第一时间段内使用所述旧版本的第一指标数据,并获取所述第二用户群体在所述第一时间段内使用所述旧版本的第二指标数据;
第二数据获取模块,用于获取所述第一用户群体在所述第二时间段内使用所述灰度版本的第三指标数据,并获取所述第二用户群体在所述第二时间段内使用所述旧版本的第四指标数据;
灰度版本判定模块,用于基于所述第一指标数据、所述第二指标数据、所述第三指标数据以及所述第四指标数据确定所述灰度版本是否被接受。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述方法的步骤。
10.一种计算机设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110567736.7A CN113312257B (zh) | 2021-05-24 | 2021-05-24 | 版本识别方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110567736.7A CN113312257B (zh) | 2021-05-24 | 2021-05-24 | 版本识别方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312257A true CN113312257A (zh) | 2021-08-27 |
CN113312257B CN113312257B (zh) | 2023-09-22 |
Family
ID=77374574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110567736.7A Active CN113312257B (zh) | 2021-05-24 | 2021-05-24 | 版本识别方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312257B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296759A (zh) * | 2021-12-27 | 2022-04-08 | 北京达佳互联信息技术有限公司 | 应用程序的更新版本异常的确定方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577660A (zh) * | 2012-07-19 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 灰度实验系统和方法 |
CN104102576A (zh) * | 2013-04-12 | 2014-10-15 | 阿里巴巴集团控股有限公司 | 一种多版本测试方法和装置 |
WO2017071425A1 (zh) * | 2015-10-29 | 2017-05-04 | 腾讯科技(深圳)有限公司 | 版本更新方法及装置 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN109815111A (zh) * | 2018-12-13 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 灰度测试方法、装置、计算机设备及存储介质 |
CN111414191A (zh) * | 2020-03-31 | 2020-07-14 | 深圳前海微众银行股份有限公司 | 一种小程序的灰度发布方法及装置 |
CN111949277A (zh) * | 2020-08-17 | 2020-11-17 | 中国工商银行股份有限公司 | 智能化灰度发布投产方法、装置、计算机设备及存储介质 |
CN111988200A (zh) * | 2020-08-18 | 2020-11-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
CN112131079A (zh) * | 2020-09-22 | 2020-12-25 | 北京达佳互联信息技术有限公司 | 数据监控方法、装置、电子设备和存储介质 |
CN112698852A (zh) * | 2020-11-30 | 2021-04-23 | 厦门亿联网络技术股份有限公司 | App灰度升级方法、装置、终端设备及计算机可读存储介质 |
-
2021
- 2021-05-24 CN CN202110567736.7A patent/CN113312257B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577660A (zh) * | 2012-07-19 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 灰度实验系统和方法 |
CN104102576A (zh) * | 2013-04-12 | 2014-10-15 | 阿里巴巴集团控股有限公司 | 一种多版本测试方法和装置 |
WO2017071425A1 (zh) * | 2015-10-29 | 2017-05-04 | 腾讯科技(深圳)有限公司 | 版本更新方法及装置 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN109815111A (zh) * | 2018-12-13 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 灰度测试方法、装置、计算机设备及存储介质 |
CN111414191A (zh) * | 2020-03-31 | 2020-07-14 | 深圳前海微众银行股份有限公司 | 一种小程序的灰度发布方法及装置 |
CN111949277A (zh) * | 2020-08-17 | 2020-11-17 | 中国工商银行股份有限公司 | 智能化灰度发布投产方法、装置、计算机设备及存储介质 |
CN111988200A (zh) * | 2020-08-18 | 2020-11-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
CN112131079A (zh) * | 2020-09-22 | 2020-12-25 | 北京达佳互联信息技术有限公司 | 数据监控方法、装置、电子设备和存储介质 |
CN112698852A (zh) * | 2020-11-30 | 2021-04-23 | 厦门亿联网络技术股份有限公司 | App灰度升级方法、装置、终端设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
陈燕妮;: "企业ERP系统灰度发布", 电脑知识与技术, no. 17 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296759A (zh) * | 2021-12-27 | 2022-04-08 | 北京达佳互联信息技术有限公司 | 应用程序的更新版本异常的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113312257B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107889070B (zh) | 图片处理方法、装置、终端及计算机可读存储介质 | |
CN111459586B (zh) | 远程协助方法、装置、存储介质及终端 | |
CN112837099A (zh) | 潜在流失用户识别方法、装置、存储介质及电子设备 | |
CN112116212A (zh) | 应用评测方法、装置、存储介质及电子设备 | |
CN111767554A (zh) | 屏幕分享方法、装置、存储介质及电子设备 | |
CN114186527A (zh) | 一种不依赖于网格点实现集成电路自动布线的方法及装置 | |
CN112817498A (zh) | 应用权限管理方法、装置、存储介质以及终端 | |
CN113312257B (zh) | 版本识别方法、装置、存储介质及计算机设备 | |
CN111857480B (zh) | 图标对齐方法、装置、存储介质及电子设备 | |
CN111625250B (zh) | 应用更新方法、装置、存储介质及电子设备 | |
CN112256354A (zh) | 应用启动方法、装置、存储介质及电子设备 | |
CN113450762B (zh) | 文字朗读方法、装置、终端及存储介质 | |
CN113031775B (zh) | 手势数据获取方法、装置、终端及存储介质 | |
CN113825022B (zh) | 一种播放控制状态检测方法、装置、存储介质及电子设备 | |
CN113282237B (zh) | 分区创建方法、装置、存储介质及计算机设备 | |
CN113098859B (zh) | 网页页面回退方法、装置、终端及存储介质 | |
CN113972989B (zh) | 数据校验方法及存储介质、电子设备 | |
CN115329320A (zh) | 风险应用识别方法、装置、存储介质以及电子设备 | |
CN113378895A (zh) | 一种分类模型生成方法、装置、存储介质及电子设备 | |
CN113268221B (zh) | 文件匹配方法、装置、存储介质及计算机设备 | |
CN113268414B (zh) | 实验版本的分配方法、装置、存储介质及计算机设备 | |
CN113268414A (zh) | 实验版本的分配方法、装置、存储介质及计算机设备 | |
CN113268221A (zh) | 文件匹配方法、装置、存储介质及计算机设备 | |
CN113778386B (zh) | 组件生成方法、装置、存储介质及电子设备 | |
CN117591488B (zh) | 一种文件检测方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |