测试方法及相关装置与流程

文档序号:31399129发布日期:2022-09-03 04:09阅读:125来源:国知局
测试方法及相关装置与流程

1.本技术涉及计算机技术领域,尤其涉及测试方法及相关装置。


背景技术:

2.定制升级(configuration over the air,cota)包可以理解为设备厂商根据运营商的需求定制的安装包,以实现运营商期望的功能。
3.cota包中包括配置信息,在某些功能中,需要电子设备中的通用集成电路卡对应的运营商的运营商标识码与该配置信息包括运营商标识码相同时才能生效对应的功能。例如,cota包的功能可以是让电子设备下载cota包时取消移动数据流量的提示(简称免流,对应的cota包简称免流cota包),免流cota包中的配置信息包括能够生效免流功能的运营商的运营商标识码a,意味着电子设备中的卡来自运营商a才能生效免流功能。
4.在cota包被发布到服务器供消费者使用之前,测试人员需要对cota的功能进行测试。在某些测试场景中,例如cota包对应的运营商属于a国,但是测试人员以及测试环境在b国,测试人员可能很难获得cota包对应的运营商的通用集成电路卡,导致测试效率低下。


技术实现要素:

5.本技术提供了测试方法及相关装置,通过本技术可以提高测试cota包的测试效率。
6.第一方面,本技术提供了一种测试方法,包括:在电子设备中的通用集成电路卡对应的运营商标识码与待测试定制升级cota包中配置的运营商标识码不同的情况下,获取上述待测试cota包中配置的第一运营商标识码;将上述第一运营商标识码作为上述通用集成电路卡对应的运营商标识码;基于上述第一运营商标识码下载上述待测试cota包,对上述待测试cota包进行测试。
7.可以理解的是,本技术实施例提供的测试方法可以由电子设备执行,示例性地,上述电子设备可以是手机,平板电脑等可以连接网络以及包括通用集成电路卡的设备。本技术实施例提供的方法还可以由芯片执行,上述芯片应用于电子设备。可选地,上述电子设备可以是后文实施例中的电子设备a。
8.本技术实施例中,对通用集成电路卡、运营商标识码以及cota包的描述可以参阅具体实施例中的术语部分,这里不再赘述。其中,待测试cota包可以理解为需要测试定制的功能的cota包,本技术实施例中,待测试cota包中配置有第一运营商标识码。
9.电子设备中的通用集成电路卡对应的运营商标识码与待测试cota包中配置的运营商标识码不同,可以理解为,电子设备中的通用集成电路卡对应的运营商标识码与上述第一运营商标识码不同;也可以理解为电子设备中的通用集成电路卡对应的运营商与定制上述待测试cota的运营商不同。例如,电子设备中的通用集成电路卡对应的运营商为运营
商a,定制上述待测试cota的运营商b,那么电子设备中的通用集成电路卡对应的运营商标识码为标识码a,待测试cota包中配置的第一运营商标识码为标识码b。
10.本实施例中,获取上述待测试cota包中配置的第一运营商标识码。可以理解的是,在通过用户持有的例如手机等电子设备上生效cota包的功能时,电子设备需要从例如服务器等网络设备处获取cota包。但是,在对待测试cota包进行测试的过程中,电子设备本地也可以包括上述待测试cota包,因此,在一些实施例中,电子设备可以从本地的待测试cota包中读取配置的第一运营商标识码。在另一些实施例中,电子设备可以包括输入组件,将通过输入组件输入的运营商标识码作为上述第一运营商标识码。
11.在获取上述待测试cota包中配置的第一运营商标识码后,电子设备将上述第一运营商标识码作为上述通用集成电路卡对应的运营商标识码。例如,电子设备中的通用集成电路卡对应的运营商为运营商a,定制上述待测试cota的运营商b,上述过程可以形象地理解为将上述通用集成电路卡对应的运营商a替换为运营商b。
12.之后,电子设备利用上述替换后的运营商标识码,即上述第一运营商标识码作为通用集成电路卡的标识码进行测试,可以理解的是,为了在测试场景中尽可能模拟出用户的真实使用场景,测试上述待测试cota包的功能时将从网络设备处下载cota包进行测试。
13.在电子设备中的通用集成电路卡对应的运营商标识码与待测试定制升级cota包中配置的运营商标识码不同的情况下,无法下载待测试cota包对其功能进行测试。本实施例中,在上述场景下,先获取待测试cota包中配置的第一运营商标识码,将第一运营商标识码作为通用集成电路卡对应的运营商标识码后,通用集成电路卡对应的运营商标识码与待测试cota包中配置的运营商标识码相同。后续,利用上述第一运营商标识码下载待测试cota包将实生效上述待测试cota包相应的功能,有效地进行测试。相比于花费大量时间去寻找待测试cota包对应的通用集成电路卡,本技术通过将通用集成电路卡“包装”成待测试cota包对应的通用集成电路卡,可以极大地提高测试效率。
14.结合第一方面,在一种可能的实现方式中,上述待测试cota包发布在网络设备,上述待测试cota包的发布参数包括第二运营商标识码,上述第二运营商标识码为上述通用集成电路卡对应的运营商的运营商标识码;上述获取上述待测试cota包对应的运营商的第一运营商标识码,包括:向上述网络设备发送第一请求,上述第一请求携带上述第二运营商标识码;在上述网络设备确定上述第二运营商标识码与上述待测试cota包的发布参数匹配的情况下,接收上述网络设备发送的配置信息;从上述配置信息中解析出上述第一运营商标识码。
15.本实施例中,待测试cota包发布在网络设备上,本技术实施例中,上述网络设备可以是服务器或其他用于电子设备获取待测试cota包进行测试的设备,可选地,上述服务器还可以称为云服务器,云端等,本技术对此不作限定。可选地,上述服务器可以后文中的服务器a。
16.本实施例中,待测试cota包发布在网络设备,可以理解的是,发布cota包需要对上述cota包设置发布参数,在其他电子设备上报给网络设备的发布参数与上述cota包的发布参数相同的情况下,可以获取到上述cota包,具体可以参阅具体实施例中对发布参数的相关描述,这里不再赘述。本实施例中,待测试cota包的发布参数包括第二运营商标识码,上
述第二运营商标识码为通用集成电路卡对应的运营商的运营商标识码,也就是说,电子设备直接上报通用集成电路卡对应的第二运营商标识码可以获取到上述待测试cota包。
17.因此,本实施例中,电子设备获取上述待测试cota包对应的运营商的第一运营商标识码可以从网络设备处获取。本实施例中,由于上述第一请求携带了通用集成电路卡对应的第二运营商标识码,并且,待测试cota包的发布参数包括第二运营商标识码,那么对于网络设备来说,网络设备可以确定上述第二运营商标识码与待测试cota包的发布参数匹配,从而将待测试cota包的配置信息发送给电子设备,即电子设备接收网络设备发送的配置信息。上述配置信息可以理解为用于生效上述待测试cota包的功能配置的运营商信息,例如对运营商标识码的设定。示例性地,上述配置信息可以理解为图8所示的方法中的配置文件包括的信息,例如可以是配置文件filelist.xml中的配置项datafreeopkeylist的配置信息。
18.可以理解的是,由于为了模拟用户真实使用场景,待测试cota包会效仿使用场景而发布在网络设备上,本实施例中,电子设备通过向网络设备发送请求来获取第一运营商标识码,可以简化测试流程,无需将待测试放在除了上述发布cota包的网络设备的其他设备中,也无需手动输入等操作。
19.结合第一方面,在一种可能的实现方式中,上述待测试cota包的发布参数还包括上述第一运营商标识码,上述基于上述第一运营商标识码下载上述待测试cota包,对上述待测试cota包进行测试,包括:向上述网络设备发送的第二请求,上述第二请求携带上述第一运营商标识码;在上述网络设备确定上述第一运营商标识码与上述待测试cota包的发布参数匹配的情况下,接收上述网络设备发送的上述配置信息;在确定上述配置信息解析出的上述第一运营商标识码与上述通用集成电路卡对应的运营商标识码相同的情况下,从上述网络设备中下载上述待测试cota包,对上述待测试cota包进行测试。
20.在电子设备将第一运营商标识码作为通用集成电路卡对应的运营商标识码后,通用集成电路卡可以理解为已经“包装”成待测试cota包对应的通用集成电路卡。电子设备这时根据“包装”后的通用集成电路卡下载待测试cota包进行测试,可以得到实现对待测试cota包的有效测试。
21.由于电子设备已经获取第一运营商标识码,并将第一运营商标识码作为通用集成电路卡对应的运营商标识码,那么上述第二请求携带通用集成电路卡对应的运营商标识码就是上述第一运营商标识码。本实施例中,待测试cota包的发布参数还包括上述第一运营商标识码,电子设备上报的运营商标识码与待测试cota包的发布参数匹配,那么上述第二请求也可以获取到上述待测试cota包。
22.另外,由于上述配置信息解析出的上述第一运营商标识码与上述通用集成电路卡对应的运营商标识码相同,都是第一运营商标识码,因此,电子设备可以在下载上述待测试cota包时或下载上述待测试cota包后生效对应的功能。
23.结合第一方面,在一种可能的实现方式中,上述将上述第一运营商标识码作为上述通用集成电路卡对应的运营商标识码,包括:将上述第一运营商标识码赋值给用于存储上述通用集成电路卡对应的运营商标
识码的变量。
24.本实施例中,通用集成电路卡真实对应的运营商标识码为第二运营商标识码,电子设备获取到上述第二运营商标识码后,可以使用变量来存储上述第二运营商标识码,也可以理解为将上述第二运营商标识码赋值给上述变量。示例性地,该变量可以命名为vnk等,在电子设备获取到通用集成电路卡对应的运营商标识码为00001时,将00001赋值给vnk,即变量vnk的值为00001。在电子设备获取到上述第一运营商标识码后,将上述第一运营商标识码赋值给用于存储上述通用集成电路卡对应的运营商标识码的变量,可以理解为将上述变量的值从原本的第二运营商标识码变成上述第一运营商标识码,例如上述第一运营商标识码为abc,vnk变量的值从原本的00001变成abc,从而将电子设备中的通用集成电路卡“包装”成上述第一运营商标识码对应的卡。
25.结合第一方面,在一种可能的实现方式中,上述获取上述待测试cota包对应的运营商的第一运营商标识码之前,上述方法还包括:在上述通用集成电路卡为插入式通用集成电路卡的情况下,响应于插入上述通用集成电路卡的操作,从上述通用集成电路卡中读取上述通用集成电路卡对应的运营商标识码;或者,在上述通用集成电路卡为嵌入式通用集成电路卡的情况下,响应于用户激活上述通用集成电路卡对应的账户的操作,从上述通用集成电路卡中读取通用集成电路卡对应的运营商标识码。
26.本实施例中,电子设备可以根据不同类型的通用集成电路卡来读取通用集成电路卡对应的运营商标识码,即第二运营商标识码。上述插入式通用集成电路卡可以理解为可插入电子设备且可拔出在电子设备中,通过通用集成电路卡座可以感应出通用集成电路卡的插入和拔出;嵌入式通用集成电路卡可以理解为在嵌入电子设备中,不可被移除,例如,在上述通用集成电路卡为用户标识模块sim卡时,嵌入式通用集成电路卡可以称为esim。
27.结合第一方面,在一种可能的实现方式中,上述通用集成电路卡包括用户标识模块sim卡。
28.结合第一方面,在一种可能的实现方式中,上述待测试cota包中的配置信息包括第一配置信息或第二配置信息,上述第一配置信息与上述第二配置信息实现的功能不同。
29.本技术实施例中,待测试cota包的配置信息对应不同的功能,由于cota包是根据运营商定制的,上述配置信息中包括运营商信息。例如运营商标识码。示例性地,cota包可以是通过配置信息的配置实现下载cota包时不包括流量消耗提示的功能,也可以是通过配置信息的配置实现下载cota包后,在电子设备开机时输出特定的提示语等。
30.结合第一方面,在一种可能的实现方式中,上述第一配置信息配置为上述第一运营商标识码,用于表示在电子设备中的通用集成电路卡对应的运营商的运营商标识码与上述第一运营商标识码相同的情况下,下载上述待测试cota包时不包括消耗移动数据流量的提示。
31.对本实施例的描述可以参阅后文中有关免流cota包的描述,例如图2-图4,这里不再赘述。
32.第二方面,本技术实施例提供了一种测试装置,包括:获取单元,用于在电子设备中的通用集成电路卡对应的运营商标识码与待测试定
制升级cota包中配置的运营商标识码不同的情况下,获取上述待测试cota包中配置的第一运营商标识码;确定单元,用于将上述第一运营商标识码作为上述通用集成电路卡对应的运营商标识码;测试单元,用于基于上述第一运营商标识码下载上述待测试cota包,对上述待测试cota包进行测试。
33.第三方面,本技术实施例提供一种电子设备,包括处理器、存储器以及收发器;上述收发器,用于接收信号或者发送信号;上述存储器与上述处理器耦合,上述存储器用于存储计算机程序代码,上述计算机程序代码包括计算机指令,上述处理器调用上述计算机指令,以使第一方面或第一方面的任意可能的实现方式中的方法被执行。
34.第四方面,本技术实施例提供一种芯片,包括逻辑电路和接口,上述逻辑电路和接口耦合;上述接口用于输入和/或输出代码指令,上述逻辑电路用于执行上述代码指令,以使第一方面或第一方面的任意可能的实现方式中的方法被执行。
35.第五方面,本技术实施例公开了一种计算机程序产品,上述计算机程序产品包括程序指令,上述程序指令当被处理器执行时,使第一方面或第一方面的任意可能的实现方式中的方法被执行。
36.第六方面,本技术实施例提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,当上述计算机程序在处理器上运行时,使第一方面或第一方面的任意可能的实现方式中的方法被执行。
附图说明
37.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是本技术实施例提供的一种在系统升级之前对需要消耗的移动数据流量进行提示的用户界面示意图;图2是本技术实施例提供的一种运营商与设备厂商之间进行合作的流程示意图;图3是本技术实施例提供的一种在使用场景下生效免流功能的场景示意图;图4是本技术实施例提供的一种在使用场景下生效免流功能的流程示意图;图5是本技术实施例提供的一种免流功能在电子设备上生效的用户界面示意图;图6是本技术实施例提供的一种修改免流cota包的发布参数和内部配置项进行测试的场景示意图;图7是本技术实施例提供的一种修改cota包的发布参数进行测试的场景示意图;图8是本技术实施例提供的一种测试方法的流程示意图;图9是本技术实施例提供的一种电子设备100的结构示意图;图10是本技术实施例提供的一种电子设备100的软件结构框图。
具体实施方式
39.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在
作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
40.容易理解,生产例如手机、平板电脑等电子设备的设备厂商可以设计并控制自身生产的电子设备的功能、外观等。示例性地,手机厂商a生产的手机可以支持自动从图库图片筛选部分图片在桌面进行显示,手机厂商b生产的手机支持在使用移动数据流量之前进行移动数据流量消耗的提醒。
41.为便于理解,示例性地,图1是本技术实施例提供的一种在系统升级之前对需要消耗的移动数据流量进行提示的用户界面示意图。图1所示的示例中,电子设备通过移动数据流量进行网络访问,例如图1中的用户界面101的1011部分,可以理解为电子设备使用第四代移动通信技术(the 4th generation mobile communication technology,4g)网产生网络流量。
42.在用户界面101中,示例性地,响应于作用在应用软件“设置”上的点击操作,电子设备可以显示用户界面102。示例性地,用户界面102可以显示多个设置项的按钮,例如蓝牙、无线网络等。
43.在用户界面102中,示例性地,响应于作用在设置项“系统和更新”上的点击操作,触发电子设备从对应的服务器处检查系统更新。示例性地,电子设备可以显示用户界面103,由于系统更新检查会消耗一定时间,该用户界面103可以显示当前系统的名称“阳光系统”以及当前版本号“2.5.0”,还可以显示提示信息“系统更新检查中...”。
44.可以理解的是,本实施例中系统更新可以是电子设备的操作系统的更新,也可以是除操作系统之外的其他软件或组件的更新,另外,服务器上发布的该电子设备可以安装的安装包也可以认为是上述系统更新。
45.在电子设备检查到系统更新(例如新版本软件或组件)后,电子设备可以显示用户界面104。在用户界面104中,可以显示新版本号“2.6.0”,“稍后更新”按钮以及“立即更新”按钮。示例性地,响应于作用在“稍后更新”按钮上的点击操作,电子设备将取消本次系统更新;响应于作用在“立即更新”按钮上的点击操作,电子设备可以显示用户界面105。
46.在用户界面105中,电子设备可以通过提示框1051提示用户进行系统升级需要消耗的移动数据流量。示例性地,可以显示“当前处于非wifi环境,继续进行系统更新将消耗300m流量,是否继续”。
47.在用户界面105,响应于作用在“取消”按钮上的点击操作,电子设备将取消本次系统更新;响应于作用在“继续”按钮上的用户操作,电子设备将从服务器下载新的安装包进行系统升级,示例性地,电子设备可以显示用户界面106。
48.可以理解的是,移动数据流量是运营商提供的网络服务,设备厂商生产出的电子设备通过运营商提供的网络服务进行网络访问,但是,运营商无法控制电子设备的界面以及用户交互。例如图1所示的示例,电子设备在消耗移动数据流量进行系统升级之前会通过提示框提示用户即将消耗移动数据流量,由于消耗移动数据流量意味着将造成资金消费,在用户点击“继续”按钮之后才会进行系统升级,可以减少不必要的移动数据流量消耗,提高用户体验。
49.在某些场景下,运营商希望用户在下载某个安装包的时候不消耗流量(本技术实施例中简称免流)。此时,运营商可以在计费中免去这部分费用,但是电子设备依旧会提示流量消耗,这对用户来说显然是不合理的。
50.为了提高电子设备上向用户提供的各项功能(例如免流功能)的合理性,运营商与设备厂商之间常常展开合作,共同向用户提供某项功能。为便于理解,示例性地,请参阅图2,图2是本技术实施例提供的一种运营商与设备厂商之间进行合作的流程示意图。其中,图2以运营商a与设备厂商a之间的合作为例进行解释,可以理解的是,运营商a除了可以与设备厂商a合作,也可以与其他设备厂商(例如设备厂商b)之间合作;设备厂商b除了与运营商a之间进行合作,也可以与其他运营商(例如运营商c)之间合作,合作流程类似,将不再赘述。
51.可以理解的是,本技术实施例中的免流功能,可以是用户在下载某个安装包的时候不消耗流量,也可以是只消耗部分流量,例如流量消耗减半,减三分之一等。
52.如图2所示,在合作中,首先是运营商a向设备厂商a提出需求。
53.示例性地,运营商a向设备厂商a提的需求可以是运营商a的用户使用设备厂商a生产的电子设备开机时显示运营商提供的壁纸;也可以是运营商a的用户使用设备厂商a生产的电子设备可以使用运营商提供的桌面壁纸、锁屏壁纸等;还可以是运营商a的用户使用设备厂商a生产的电子设备下载cota包时免流。
54.然后,设备厂商a根据运营商a提出的需求制作定制升级(configuration over the air,cota)包。本技术实施例中,cota包可以理解为根据运营商的需求定制的安装包。可以理解的是,在一些实施例中,上述定制升级包也可以称为空中配置包、需求配置包或者配置包等,本技术对此不作限定。
55.示例性地,cota包中可以包括不同类型的文件。示例性地,cota包中可以包括应用程序压缩包,可以包括存储配置信息的配置文件,还可以包括例如图片,动图、视频以及音频文件等资源文件。
56.最后,设备厂商a将制作的cota包发布到设备厂商a的服务器。
57.可以理解的是,将cota包上传到服务器之后,还需要对cota包进行发布,即为cota包设定访问权限,让电子设备能够访问到被发布的cota包。对cota包进行发布的过程中需要对cota包设定发布参数,本技术实施例中,发布参数可以理解为用于筛选能够访问cota包的电子设备的参数,只有电子设备向服务器上报的参数与cota包的发布参数相匹配的情况下才能访问到该cota包。示例性地,cota包的发布参数可以包括电子设备的设备型号、电子设备的操作系统的版本号、电子设备的产品序列号(serial number,sn)以及运营商标识码等。
58.本技术实施例中,运营商标识码可以理解为用于标识运营商的标识码。可以理解的是,移动国家码(mobile country code,mcc)与移动网络码(mobile network code,mnc)相结合,可以用于唯一表示一个运营商。因此,本技术实施例中,运营商标识码(或者也可以称为运营商的标识码)可以理解为移动国家码和移动网络码组成的用于标识运营商的标识码,可以简称为mcc-mnc。
59.本技术实施例中,集成电路卡可以理解为用于存储电子设备接入网络所需信息的卡。如果电子设备没有集成电路卡,那么仅能够使用紧急呼叫业务。在一些实施例中,集成
电路卡也可以称为uicc(universal integrated circuit card)卡。
60.集成电路卡中可以包括用户标识模块(subscriber identity module,sim)、通用用户标识模块(universal subscriber identity module,usim)、网际互连协议多媒体业务标识模块(internet protocol multimedia service identity module,isim)等。可以理解的是,在集成电路卡中包括的是sim时,集成电路卡也可以称为sim卡;在集成电路卡中包括的是usim时,集成电路卡也可以称为usim卡。还应理解,本技术实施例中的集成电路卡还可以是未来为了适应发展而衍生出的以其他名称命名的卡,只要该卡能够使电子设备接入网络并且能够使电子设备获取到运营商标识码即可。
61.为便于理解,接下来的实施例中以sim卡为例进行解释。sim卡中存储有国际移动用户识别(international mobile subscriber identity,imsi)码,imsi码由mcc、mnc以及移动用户识别号码(mobile subscription identification number,msin)等组成,因此,电子设备可以从sim卡中读取imsi,然后根据imsi确定该sim对应的运营商标识码,即mcc-mnc。
62.示例性地,cota包的发布参数被设置为:运营商标识码为00001,电子设备操作系统版本号为2.5.0。假设运营商a的运营商标识码是00001,那么,运营商a的用户(sim卡信息中会携带运营商标识码)使用操作系统版本号为2.5.0的电子设备才能从服务器访问到上述cota包。相反,如果无法匹配发布参数将无法获取到上述cota包,例如,运营商a的用户使用的是操作系统版本号为2.4.6的电子设备,无法与发布参数中的操作系统版本号匹配,因此无法访问到上述cota包。类似地,其他运营商由于运营商识别码的不同(例如运营商b)将无法访问到上述cota包。可以理解的是,上述发布参数的设置仅是示例,实际情况中可根据需要调整,本技术不作限定。
63.从图2的相关描述可以知道,cota包的生效与运营商和设备厂商之间存在紧密联系。一方面,设备厂商生产的电子设备才能访问到发布cota包的服务器,另一方面,cota包的发布参数可以通过运营商标识码的设定对运营商进行筛选,因此,一个cota包往往与一个运营商、一个设备厂商相对应。
64.为便于理解cota包的生效过程,接下来结合图3-图5进行解释。
65.以图3为例,假设运营商a向设备厂商a提出的需求是:下载cota包时免流(即需要电子设备a取消流量消耗提示),为便于理解,可以将根据该需求定制的cota包称为免流cota包。可以理解的是,该cota包中也可以包括为运营商a定制的其他功能,例如该免流cota包定制的功能可以是让电子设备的锁屏壁纸为壁纸a,同时下载该免流cota包时免流。
66.示例性地,请参阅图3,图3是本技术实施例提供的一种在使用场景下生效免流功能的场景示意图。
67.如图3所示,服务器a可以理解为设备厂商a的服务器,电子设备a可以理解为设备厂商a生产的电子设备,因此,用户(可以理解为消费者)在通过市场渠道获得该电子设备a后可以访问到服务器a。
68.服务器a中已经包括设备厂商a为运营商a定制的免流cota包。其中,该免流cota包的发布参数中运营商标识码被设定为00001,即运营商a的运营商标识码,以保证运营商a的用户可以访问到该免流cota包。该免流cota包内部包括免流配置项,且免流配置项被设定为00001,表示该cota包支持免流,并且保证运营商a的用户能够生效免流功能。
69.最终,持有电子设备a的用户插入运营商a的sim卡就可以从服务器a中访问并下载到该免流cota包(通过发布参数的匹配实现),并在电子设备a中生效免流功能(通过内部免流配置项的匹配实现)。
70.电子设备a生效免流功能的具体步骤如图4所示,图4是本技术实施例提供的一种在使用场景下生效免流功能的流程示意图。如图4所示,该流程包括以下步骤:401:响应于用户的系统更新操作,电子设备a向服务器a发送请求,该请求携带电子设备a的验证信息,该验证信息包括电子设备a中插入的sim卡对应的运营商标识码。相应地,服务器a接收该请求。
71.本步骤中的系统更新操作可以理解为下载免流cota包的触发操作。示例性地,如图2所示,持有电子设备a的用户可以点击应用软件“设置”,通过其中的“系统和更新”按钮触发电子设备a发送请求。
72.电子设备a向服务器a发送请求时,携带电子设备a的验证信息,该验证信息用于与服务器上发布的安装包的发布参数进行比较,只有发布参数与该验证信息匹配的安装包才能被电子设备a访问到。该验证信息包括电子设备a中插入的sim卡对应的运营商标识码。假设采用图3所示的示例数据,电子设备a插入的sim卡对应的运营商标识码为00001(也就是运营商a的运营商标识码为00001),上述请求携带运营商标识码00001。示例性地,该验证信息还可以包括设备型号、版本号以及产品序列号等信息。
73.402:服务器a判断是否存在发布参数与该验证信息匹配的cota包。
74.在步骤402的判断结果为“否”的情况下,执行步骤403:服务器a向电子设备a发送反馈信息,该反馈信息用于指示未查找到cota包。相应地,电子设备a接收该反馈信息。
75.在步骤402的判断结果为“是”的情况下,执行步骤404:服务器a向电子设备a发送该匹配的cota包中的配置文件。相应地,电子设备a接收该配置文件。
76.可以理解的是,电子设备a发送的验证信息可以包括多个设置项,发布参数也可以设置多项数据,在cota包的发布参数中每个设置项都被电子设备a上报的数据匹配上的情况下,认为发布参数与验证信息匹配,电子设备a具备访问该cota包的权限。
77.可以理解的是,cota包是为运营商定制的,发布参数中包括运营商标识码的设定。假设采用图3所示的示例数据,电子设备a向服务器a发送的运营商标识码为00001,服务器a中,发布参数中的运营商标识码被设定为00001的cota包与之匹配,发布参数中其他设置项也与验证信息中的数据匹配,因此,图3所示的服务器a中的“运营商a的免流cota包”可以理解为电子设备a可访问的cota包,即发布参数与该验证信息匹配的cota包。
78.405:电子设备a判断该配置文件中免流配置项的配置值是否与该运营商标识码相同。
79.在步骤405的判断结果为“是”的情况下,执行步骤406:电子设备a下载该匹配的cota包,并取消下载该匹配的cota包需要消耗移动数据流量的提示。
80.在步骤405的判断结果为“否”的情况下,执行步骤407:电子设备a下载该匹配的cota包,并向用户输出下载该匹配的cota包需要消耗移动数据流量的提示。
81.在免流场景中,cota包中包括免流配置项,该免流配置项用于表示cota包支持免流服务,在下载该cota包后将生效免流功能。为了免流功能的正确生效,免流配置项的配置值被设定为定制cota包的运营商的运营商标识码。
82.例如图3所示的示例,服务器a中的“运营商a的免流cota包”的内部包括免流配置项,该免流配置项的配置值被设为00001,即标识码为00001的运营商才能在下载该cota包后生效免流功能,该免流功能对于电子设备a来说可以理解为取消下载该匹配的cota包需要消耗移动数据流量的提示。具体可参阅图5,图5是本技术实施例提供的一种免流功能在电子设备上生效的用户界面示意图。
83.如图5所示,包括用户界面501-用户界面505,在升级过程中,用户界面501-用户界面504与前文图1中的用户界面101-用户界面104的内容相似,这里不再赘述。可以理解的是,图1所示的系统更新过程没有生效免流功能,因此,图1中的用户界面105包括提示需要消耗移动数据流量的提示信息,对比图5,图5所示的系统更新过程生效了免流功能,因此,响应于“立即更新”按钮上的点击操作,电子设备直接进行系统更新,取消需要消耗移动数据流量的提示。
84.本技术实施例中,取消需要消耗移动数据流量的提示,可以是不输出需要消耗移动数据流量提示信息,例如不进行“当前处于非wifi环境,继续进行系统更新将消耗300m流量,是否继续”的提示;也可以是直接输出不需要消耗移动数据流量提示信息,例如图5中的用户界面505,包括提示信息“正在下载2.6.0版本进行系统更新,本次下载不消耗流量,请勿操作设备。”。因此,可以理解,上述步骤406对应的免流功能可以对应图5所示的用户界面示意图,上述步骤407对应的非免流功能可以对应图1所示的用户界面示意图。
85.可以理解的是,图1和图5所示的系统升级是电子设备的一种升级方式,由于电子设备一般不会在界面详细展示升级细节,cota包的下载和升级可以认为包含在系统升级中。
86.可以理解的是,在cota包中不包括免流配置项,或者,cota包中免流配置项的配置值设置为无效值(例如null等)时,表示该cota包不支持免流功能。不支持免流功能则对应前文图1所示的用户界面示意图,下载cota包时将输出需要移动数据流量消耗的提示信息。
87.在运营商的需求包括免流的场景中,上述图2所示的流程可以认为是免流cota的制作阶段,即根据运营商的需求把免流cota包制作好,并发布到服务器上;上述图3和图4对应的流程可以认为是用户使用阶段,即例如消费者等用户拿到电子设备后在电子设备上生效免流功能。可以理解的是,在产品制作完成之后,出售到消费者之前,还需要对产品进行测试,以提高产品的可靠性。因此,在上述制作阶段与上述用户使用阶段之间,还包括测试阶段。
88.可以理解的是,对电子设备进行测试操作的用户可以称为测试人员。在免流场景中,需要测试人员对免流功能进行测试,也可以理解为,需要测试出电子设备从服务器下载cota包时取消移动数据流量的消耗提醒。
89.在一些测试场景中,测试方式与图3-图5所示的流程类似,图3-图5图示对应的消费者型用户转变为测试人员即可。为便于理解,假如运营商a(该运营商a的标识码为00001)与设备厂商a进行合作,向设备厂商a提出免流需求,设备厂商a制作免流cota包并发布在服务器上,由于消费者使用阶段中是从服务器获取cota包,因此,测试阶段也需要将cota包发布到服务器。其中,免流cota包的发布参数中运营商标识码设置为00001,免流cota包内部包括免流配置项,该免流配置项的配置值被设定为00001。
90.测试人员进行免流功能测试时,测试人员在电子设备a(设备厂商a生产的电子设
备)中插入运营商a的sim卡(这里称为sim卡a),其中包括sim卡a对应的运营商(即运营商a)的标识码。测试人员点击例如图1的“系统和更新”进行系统更新检查,该电子设备a上报的运营商标识码与发布参数匹配,与cota包内部的免流配置项也匹配,因此,进行系统升级(即下载该免流cota)时不进行流量消耗提醒,由此可以认为免流功能正常。
91.以上测试场景可以理解为普通测试场景,但是在某些特殊测试场景中,测试人员可能无法获得免流cota包对应的运营商提供的sim卡。
92.例如场景1:设备厂商a属于国家1,运营商b属于国家2,免流cota包中的配置是根据运营商b的标识码设置的。可以理解的是,在使用阶段,消费者插入的sim卡必定是运营商b提供的,可以与免流cota包匹配上。但是,在测试阶段,测试人员在国家1对运营商b的免流cota包进行测试,往往很难获得运营商b对应的sim卡。可以理解的是,如果无法找到运营商b对应的sim卡,将导致电子设备无法与服务器上的免流cota包匹配上,进而无法对免流功能进行测试;就算可以找到运营商b对应的sim卡也将花费大量时间成本和人力成本,导致测试效率低下。
93.又例如场景2:设备厂商a和运营商c属于同一国家,两者合作制作了免流cota包,但是测试人员是运营商d的用户,没有运营商c对应的sim卡,此时使用运营商d对应的sim卡也无法与服务器上的免流cota包匹配上,进而无法对免流功能进行测试。
94.在一些实施例中,针对测试人员无法获得免流cota包对应的运营商提供的sim卡的情况下,可以对免流cota包进行修改,让该免流cota适配测试人员的sim卡。示例性地,请参阅图6,图6是本技术实施例提供的一种修改免流cota包的发布参数和内部配置项进行测试的场景示意图。
95.如图6所示,示例性地,电子设备a和服务器a属于设备厂商a,设备厂商a的测试人员对服务器a中免流cota包进行测试。可以理解的是,测试人员持有运营商b的sim卡,其中,运营商b对应的标识码为00002。服务器a中的免流cota包原本应该为根据运营商a定制的cota包,即原本发布参数中运营商标识码应该是00001,免流cota包内部的免流配置项应该是00001,采用上述配置才能让电子设备插入运营商a的sim卡之后能够访问并下载到该免流cota包,进而生效免流功能。但是测试人员持有的sim卡来自运营商b,如图6中电子设备a插入的sim卡为“运营商b的sim卡”。可以理解,运营商b的标识码与运营商a不同,因此,电子设备a无法访问到服务器a中的“运营商a的免流cota包”,更加无法下载该cota包。
96.由此,测试人员可以对运营商a的免流cota包进行修改,将发布参数中的运营商标识码从00001修改为00002,内部的免流配置项从00001修改为00002后再在服务器a进行发布。最终,可以理解为将运营商a的免流cota包“包装”为运营商b的免流cota,使得在上述测试场景中,插入运营商b的sim卡的电子设备a可以以自身真实的运营商标识码00002进行上报,上报后可以访问并下载到该cota,进而生效免流功能,即下载该免流cota时取消移动数据流量的提示。其中,运营商b的sim卡对免流cota包的访问是通过匹配发布参数中实现的,免流功能的生效是通过匹配免流配置项实现的。
97.可以理解的是,图6所示的示意图中,发布参数中的运营商标识码从00001修改为00002以使电子设备a能够访问到免流cota包。在一些实施例中,也可以将发布参数中的运营商标识码从00001修改为00001和00002,即增加00002,同样可以使电子设备a能够访问到免流cota包。
98.从上述实施例可以看出,通过修改免流cota包的参数可以测试到免流cota包的免流能力,但是依然存在以下问题:1、真实的免流cota中的免流配置项应该被配置为运营商a的标识码,但是将免流配置项的配置值修改为运营商b的标识码后无法测试到原cota包中的免流配置项,使得测试不够完整。
99.2、对免流cota包中免流配置项进行修改的方式,测试完成之后需要从服务器上将测试的cota包下载下来,解压后将内部的免流配置项修改回原来的配置值,最后再在服务器上重新发布,该过程耗时长,导致整个测试过程效率低下。
100.针对上述问题,本技术实施例提供了一种测试方法,该方法中,端侧(可以理解为电子设备一侧)在测试过程中向服务器进行“两次上报”。其中,第一次上报时按照端侧实际插入的sim卡信息进行上报,以获取cota包中免流配置项的配置值;在获取到配置值之后,一方面将自身对应的sim卡信息替换为该配置值,另一方面使用该配置值进行第二次上报。由于在第二次上报中服务器中免流cota包的配置值与端侧的sim卡信息匹配,因此可以生效免流功能,实现对免流功能的测试。
101.本技术提供的方法,相比于对服务器中的免流cota包进行修改来适配端侧的sim卡的方式,本技术对端侧的上报流程进行修改,让端侧在测试过程中进行“两次上报”。一方面可以直接测试到免流cota包中的免流配置项,保证测试的完整性;另一方面,不需要对cota内部的配置项进行修改,因此测试完成之后不需要重新发布,在服务器上修改发布参数即可,节约测试时长,从而提高测试效率。
102.可以理解的是,本技术实施例提供的测试方法可以由电子设备执行,示例性地,该电子设备可以是手机,平板电脑等可以连接网络以及置入通用集成电路卡的设备。本技术实施例提供的方法还可以由芯片执行,该芯片应用于电子设备。
103.示例性地,请参阅图7,图7是本技术实施例提供的一种修改cota包的发布参数进行测试的场景示意图。
104.与图6类似,图7所示的电子设备a和服务器a属于同一设备厂商,服务器a中的cota包为根据运营商a的需求定制的“运营商a的免流cota包”,即原本发布参数中运营商标识码应该是00001,这里将发布参数中的运营商标识码从“00001”修改为“00001”和“00002”,表示标识码为00001和00002均可访问到该cota包。
105.可以理解的是,与图6对应的示意图相比,图7中修改了“运营商a的免流cota包”的发布参数,即增加了运营商b的标识码,使得运营商b可以访问到该cota包,但是该cota包内部的免流配置项并未修改,如图7所示,内部的免流配置项依旧为运营商a的标识码00001。
106.在测试过程中,电子设备a第一次向服务器a上报信息时,以真实插入的运营商b的sim卡信息为准,即上报自身的运营商标识码为00002。此时该运营商标识码00002可以与上述发布参数匹配上,因此第一次上报后可以访问到“运营商a的免流cota包”。
107.在匹配成功并得到该“运营商a的免流cota包”后,读取该cota包配置的运营商标识码00001,并将该配置的运营商标识码00001作为电子设备a插入的sim卡对应的标识码,可以理解为将电子设备a中的sim卡从“真实的”运营商b转换到“虚假的”运营商a。
108.转换之后,电子设备a以“虚假的”运营商a对应的信息进行第二次上报,即上报自身的运营商标识码为00001,此时该运营商标识码00001依旧可以与上述发布参数匹配上,
因此第二次上报也可以访问到“运营商a的免流cota包”。并且,在第二次上报中,由于电子设备a中的sim卡已经从“真实的”运营商b转换到“虚假的”运营商a,自身的运营商标识码00001可以与“运营商a的免流cota包”中配置的运营商标识码00001匹配上,于是,电子设备a可以实现免流下载“运营商a的免流cota包”。
109.为便于理解,接下来结合图8对本技术提供的方法进行解释。
110.图8是本技术实施例提供的一种测试方法的流程示意图。其中,电子设备和服务器属于同一设备厂商,待检测的cota包被发布在该服务器上。待检测的cota包的发布参数被设定为用于测试的电子设备中的sim卡对应的运营商的标识码(简称为测试标识码,例如图6中的运营商b的标识码00002)、以及定制该待检测的cota包的运营商对应的标识码(简称为真正标识码,例如图6中的运营商b的标识码00001)。如图8所示,该方法包括以下步骤:801:电子设备向服务器发送请求,该请求携带验证信息a,该验证信息a包括电子设备中的sim卡对应的运营商标识码。相应地,服务器接收该请求。
111.可以理解的是,图8所示的方法对应测试场景,因此,本步骤中可以是持有电子设备的测试人员点击应用软件“设置”,通过其中的“系统和更新”按钮触发电子设备向服务器发送请求。也可以是电子设备每间隔时间段a向服务器周期性地发送该请求。
112.可以理解的是,sim卡除了以日常生活中常见的插入式卡片的方式存在,也可以以嵌入式的方式存在,即嵌入式sim(embedded-sim,esim)卡。esim的关键在于将传统sim卡直接嵌入到电子设备芯片上,而不是作为独立的可移除零部件加入电子设备中,用户无需插入物理sim卡。本步骤中,电子设备中的sim卡可以是例如测试人员等用户插入的sim卡,也可以是电子设备内部嵌入的sim卡。
113.可以理解的是,在sim卡是需要插入的物理sim卡的情况下,电子设备可以通过sim卡插座感应到sim卡的插入,进而读取sim卡中的信息。在sim卡为内部嵌入的情况下,电子设备可以在用户激活账户后读取sim卡中的信息。
114.802:服务器判断是否存在发布参数与该验证信息a匹配的cota包。
115.在步骤802的判断结果为“否”的情况下,执行步骤803:服务器向电子设备发送反馈信息,该反馈信息用于指示未查找到匹配的cota包。相应地,电子设备接收该反馈信息。
116.在步骤802的判断结果为“是”的情况下,执行步骤804:服务器向电子设备发送该匹配的cota包中的配置文件。相应地,电子设备接收该配置文件。
117.步骤801-步骤804可以理解为电子设备的第一次上报。在第一次上报中,由于服务器中的待检测的cota包的发布参数被设定为测试标识码和真正标识码,因此,电子设备以本身真实包括的sim卡信息进行上报时,可以与发布参数中的测试标识码匹配,从而访问到待检测cota包,即上述匹配的cota包。
118.805:电子设备将电子设备中的sim卡对应的运营商标识码替换为该配置文件中免流配置项的配置值。
119.可以理解的是,电子设备接收上述步骤804的配置文件后,可以对配置文件进行解析,从而读取到该配置文件中免流配置项的配置值。可以理解的是,由于未对该待检测的cota包内部进行修改,该免流配置项的配置值应该是上述真正标识码。
120.本步骤中,将电子设备中的sim卡对应的运营商标识码替换为该配置文件中免流配置项的配置值,可以理解为,将该配置值作为电子设备对应的运营商的标识码,也可以形
象地理解为变换了电子设备对应的运营商。
121.示例性地,在实际情况中,电子设备可以通过代码读取sim卡中的运营商代码,并将读取到的运营商代码赋值给某一变量,例如赋值给变量vnk。在电子设备读取到配置文件中的配置值后,将该配置值赋值给该变量vnk,在后续需要使用运营商代码而再次使用该变量vnk时,将不再使用之前读取的sim卡中的运营商代码,而是使用重新赋予的配置值,从而实现运营商的变换。
122.806:电子设备发送请求,该请求携带验证信息b,该验证信息b包括替换后的运营商标识码。
123.本步骤中可以理解为电子设备的第二次上报。可以理解的是,由于电子设备本身的运营商代码已经被替换,本次请求中携带的运营商标识码不再是第一次上报时携带的测试标识码,而是携带替换后的运营商标识码,也就是上述配置值,或者理解为上述真正标识码。
124.807:服务器判断是否存在发布参数与该验证信息b匹配的cota包。
125.在步骤807的判断结果为“否”的情况下,执行步骤803:服务器向电子设备发送反馈信息,该反馈信息用于指示未查找到匹配的cota包。相应地,电子设备接收该反馈信息。
126.在步骤807的判断结果为“是”的情况下,执行步骤808:服务器向电子设备发送该匹配的cota包中的配置文件。相应地,电子设备接收该配置文件。
127.在第二次上报中,由于服务器中的待检测的cota包的发布参数被设定为测试标识码和真正标识码,因此,电子设备以替换后的运营商标识码进行上报时,可以与发布参数中的真正标识码匹配,从而访问到待检测cota包,即上述匹配的cota包。可以理解的是,由于发布参数被设定为测试标识码和真正标识码,第一次上报和第二次上报中,电子设备访问到的cota是同一个cota包。
128.809:电子设备判断该配置文件中免流配置项的配置值是否与电子设备中的sim卡对应的运营商标识码相同。
129.在步骤809的判断结果为“是”的情况下,执行步骤810:电子设备下载该匹配的cota包,并取消下载该匹配的cota包需要消耗移动数据流量的提示。
130.在步骤809的判断结果为“否”的情况下,执行步骤811:电子设备下载该匹配的cota包,并向用户输出下载该匹配的cota包需要消耗移动数据流量的提示。
131.可以理解的是,这里给出“否”分支是为了流程的完整性。由于步骤805中按照配置值对运营商标识码进行了替换,因此,第二次上报中,得到的配置文件中的配置项的配置值必定与电子设备中的sim卡对应的运营商标识码相同,即电子设备会执行步骤810,生效免流功能。
132.安卓应用程序包(android application package,apk)是安卓操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。安卓应用程序的代码在安卓设备上运行之前需要先进行编译,然后被打包为被安卓系统所能识别的文件,即apk。可以理解的是,上述步骤801-步骤810可以理解为,在测试过程中电子设备重新打桩生成一个新的apk进行测试,以提高测试效率。
133.示例性地,为便于形象地理解本技术提供的方法,假设设备厂商属于国家a,与该设备厂商进行合作的运营商来自国家b,设备厂商根据该运营商的需求制作了免流cota包,
将该免流cota包发布在服务器上。其中,对于该设备厂商来说,合作的运营商是海外运营商,该免流cota包将在海外生效。可以理解的是,在海外生效时,海外用户可以持有对应的海外运营商的sim卡,但是测试人员在国家a进行测试时,很难找到对应的海外sim卡进行测试。
134.示例性地,假设该免流cota包中包括安装包a以及配置文件filelist.xml,其中,配置文件filelist.xml中包括免流配置项datafreeopkeylist。该海外运营商的运营商标识码为00003,因此,该cota包中datafreeopkeylist = abc。
135.在进行免流功能测试时,测试人员使用标识码为00004的sim卡(简称测试sim卡)。因此,在测试过程中,测试人员将该免流cota包的发布参数设定为abc和00004。
136.测试人员将测试sim卡插入电子设备,电子设备读取该测试sim卡的信息,将其中的运营商标识码赋值给变量vnk,即vnk=00004。
137.然后,测试人员点击“系统和更新”按钮,电子设备向服务器发送请求(第一次上报),该请求携带运营商标识码00004。服务器接收到该请求之后,由于运营商标识码00004与该免流cota包的发布参数匹配,因此,服务器将cota包中的配置文件filelist.xml返回给电子设备。
138.电子设备对配置文件filelist.xml进行解析,得到配置文件filelist.xml中datafreeopkeylist的配置值abc,然后对自身的sim卡的信息进行修改,给变量vnk赋值abc,将自身处理成一张“海外sim卡”。
139.然后,再次向服务器发送请求(第二次上报),该请求中携带运营商标识码abc。服务器接收到该请求之后,由于运营商标识码abc与该免流cota包的发布参数匹配,因此,服务器将cota包中的配置文件filelist.xml返回给电子设备。
140.电子设备对配置文件filelist.xml进行解析,得到配置文件filelist.xml中datafreeopkeylist的配置值abc,发现该配置值abc与自身的运营商标识码abc相同,因此下载安装包a,并且取消流量消耗提示,即生效免流功能。
141.在免流功能测试完后,将服务器上该免流cota包的发布参数从abc和00004修改为abc,该免流cota包就可以给消费者用户使用。
142.可以理解的是,本技术提供的方法除了可以测试cota包的免流功能,在其他功能也需要电子设备中的sim卡对应的运营商与配置项的配置值匹配时,也可以采用与本技术类似的方式进行测试。示例性地,cota包的功能可以是,在电子设备中的sim卡为运营商a的卡时,在电子设备开机时输出特定提示语;也可以是在电子设备中的sim卡为运营商b的卡,且电子设备设置的语言是语言b时,在电子设备开机和关机时输出语言b特定的提示语。
143.以上介绍了本技术实施例提供的测试方法,接下来对本技术实施例涉及的电子设备进行介绍。
144.请参阅图9,图9是本技术实施例提供的一种电子设备100的结构示意图。
145.电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195
等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
146.可理解地,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
147.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
148.其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
149.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
150.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
151.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。
152.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
153.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
154.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
155.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。
156.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
157.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
158.可理解地,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
159.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
160.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
161.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
162.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
163.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器
emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。
169.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现采集功能,以实现本技术实施例中hal层的图像采集模块。
170.isp 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图片或视频。isp还可以对图片的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
171.摄像头193用于捕获静态图片或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图片或视频信号。isp将数字图片或视频信号输出到dsp加工处理。dsp将数字图片或视频信号转换成标准的rgb,yuv等格式的图片或视频信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
172.数字信号处理器用于处理数字信号,除了可以处理数字图片或视频信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
173.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
174.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
175.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
176.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图片或视频播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
177.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
178.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
179.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。
180.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
181.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
182.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
183.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
184.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
185.气压传感器180c用于测量气压。在一些实施例中,电子设备100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
186.磁传感器180d包括霍尔传感器。电子设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
187.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应
用于横竖屏切换,计步器等应用。
188.距离传感器180f,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180f测距以实现快速对焦。
189.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180g检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
190.环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。
191.指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
192.温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
193.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
194.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
195.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
196.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效
果。触摸振动反馈效果还可以支持自定义。
197.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
198.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备100中,不能和电子设备100分离。
199.在一些实施例中,该处理器110可以调用内部存储器121存储的计算机指令,向服务器发送请求,该请求携带sim卡的运营商标识码,该运营商标识码包括真实插入或嵌入的sim卡对应的运营商标识码。
200.在另一些实施例中,该处理器110可以调用内部存储器121存储的计算机指令,对从服务器接收到的配置文件进行解析,获取到该配置文件中免流配置项的配置值。
201.在又一些实施例中,该处理器110可以调用内部存储器121存储的计算机指令,将真实插入或嵌入的sim卡对应的运营商标识码替换为上述配置值。
202.在又一些实施例中,该处理器110可以调用内部存储器121存储的计算机指令,根据接收到的配置文件中的免流配置项的配置值显示提示信息(例如弹框)。在该配置值与自身的运营商标识码匹配的情况下,取消需要消耗移动数据流量的提示信息;在该配置值与自身的运营商标识码不匹配的情况下,输出需要消耗移动数据流量的提示信息。
203.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的安卓系统为例,示例性说明电子设备100的软件结构。
204.请参阅图10,图10是本技术实施例提供的一种电子设备100的软件结构框图。
205.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
206.应用程序层可以包括一系列应用程序包。
207.如图10所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
208.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
209.如图10所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
210.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
211.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
212.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
213.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
214.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
215.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
216.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
217.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
218.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
219.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
220.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
221.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
222.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
223.2d图形引擎是2d绘图的绘图引擎。
224.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
225.本技术实施例中,该应用程序框架层还可以包括测试模块,该测试模块用于本技术提供的测试方法。
226.在一些实施例中,传感器驱动用于响应用户操作,生成事件以触发测试模块向服务器发送请求以进行cota包查询,该请求携带sim卡对应的运营商标识码(即上述第二运营商标识码),或者,携带修改后的运营商标识码(即上述第一运营商标识码)。
227.在另一些实施例中,该测试模块用于在上述请求携带的参数与cota包的发布参数匹配的情况下,获取该cota包中配置的运营商标识码。
228.在又一些实施例中,该测试模块用于获取电子设备中的sim卡对应的运营商标识码。
229.可以理解的是,在一些实施例中,该测试模块也可以在该分层构架的其他层级,例
如应用程序层等,此处不作限定。
230.此外,本技术还提供一种芯片,该芯片包括逻辑电路和接口,该逻辑电路用于实现上述方法中电子设备的执行的操作和/或处理。
231.本技术还提供一种计算机程序,该计算机程序用于实现本技术提供的方法中由电子设备执行的操作和/或处理。
232.本技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本技术提供的方法中由电子设备执行的操作和/或处理。
233.本技术还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本技术提供的方法中由电子设备执行的操作和/或处理被执行。
234.上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
235.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
236.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1