CN113784331B - 更新用户身份识别模块卡系统数据的方法及装置 - Google Patents
更新用户身份识别模块卡系统数据的方法及装置 Download PDFInfo
- Publication number
- CN113784331B CN113784331B CN202010526438.9A CN202010526438A CN113784331B CN 113784331 B CN113784331 B CN 113784331B CN 202010526438 A CN202010526438 A CN 202010526438A CN 113784331 B CN113784331 B CN 113784331B
- Authority
- CN
- China
- Prior art keywords
- update
- target
- description information
- sim card
- identifier
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
- H04W8/205—Transfer to or from user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
- H04W8/265—Network addressing or numbering for mobility support for initial activation of new user
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种更新用户身份识别模块卡系统数据的方法及装置,涉及通信技术领域,其中,该方法包括当检测到目标用户身份识别模块SIM卡的更新指示消息时,获取至少一个更新描述信息,所述更新描述信息用于描述与所述更新描述信息对应的更新文件的更新特征,基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验,获取目标更新描述信息对应的目标更新文件,所述目标更新描述信息为所述至少一个更新描述信息中通过校验的更新描述信息,基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新。本申请提供的技术方案能够提高对系统数据进行更新的效率和灵活性,降低线下的运维成本。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种更新用户身份识别模块(subscriberidentity module,SIM)卡系统数据的方法及装置。
背景技术
随着通信技术的发展,嵌入式用户身份识别模块(embedded subscriberidentity module,eSIM)卡等可编程SIM卡,在消费类终端上得到了广泛应用,特别是可穿戴设备、手机、平板和个人电脑等终端。可编程SIM卡可以运行独立的操作系统,即卡操作系统(card operating system,COS),而与其他操作系统(operating system,OS)相似,COS也存在需要更新的问题。因此,亟需一种更新SIM卡系统数据的方法。
现有技术中,当需要对eSIM卡进行升级时,由该COS厂商的技术人员生成新版本的COS,然后将该新版本的COS和相关的升级脚本提供给终端厂商,然后由终端厂商的相关技术人员在研发环境下运行该升级脚本,手动对eSIM卡中的COS进行更新。
但由于需要终端厂商的相关技术人员获取到新版本的COS以及升级脚本,并手动对eSIM卡中的COS进行更新,不仅效率和灵活性低下,也增大了线下的运维成本,特别是在终端的售后中,往往难以再对eSIM卡中的COS进行更新。
发明内容
有鉴于此,本申请提供一种更新SIM卡系统数据的方法及装置,以提高对系统数据进行更新的效率和灵活性,降低线下的运维成本。
为了实现上述目的,第一方面,本申请实施例提供一种更新SIM卡系统数据的方法,所述方法包括:
当检测到目标用户身份识别模块SIM卡的更新指示消息时,获取至少一个更新描述信息,所述更新描述信息用于描述与所述更新描述信息对应的更新文件的更新特征;
基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验;
获取目标更新描述信息对应的目标更新文件,所述目标更新描述信息为所述至少一个更新描述信息中通过校验的更新描述信息;
基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新。
其中,更新指示消息可以用于指示当前可以对目标SIM卡中的系统数据进行更新(即用于指示对系统数据进行更新的时机);更新文件,可以用于对目标SIM卡中的系统数据进行更新。
需要说明的是,终端中可以包括至少一个可编程SIM卡,该目标SIM卡可以是至少一个可编程SIM卡其中之一。
在本申请实施例中,当检测到目标SIM卡的更新指示消息时,可以获取更至少一个更新描述信息。由于该更新描述信息可以描述与更新描述信息对应的更新文件的更新特征,因此,可以基于目标SIM卡的系统信息对该更新描述信息进行校验。当对某个更新描述信息校验通过时,该更新描述信息为目标更新描述信息,便可以获取该目标更新描述信息对应的目标更新文件,并基于该目标更新文件,对目标SIM卡中的系统数据进行更新。也即是,能够自动根据获取到的更新描述信息,判断是否需要对系统数据进行更新,并确定需要对系统数据进行更新时,获取相应的目标更新文件对系统数据进行更新,而不必再由相关技术人员在研发环境下通过运行升级脚本来对COS进行更新,提高了对系统数据进行更新的效率和灵活性,也降低了运维成本。
可选地,SIM卡中可以包括系统数据和用户数据,且系统数据可以包括COS,用户数据可以包括简档(profile)。
可选地,更新描述信息可以用于描述与该更新描述信息对应的更新文件的更新特征。该更新描述信息可以包括第一系统厂商标识和至少一个第一系统版本标识,还可以包括第三系统版本标识、更新文件路径、系统数据擦除标识和用户数据擦除标识中的至少一个。
其中,终端在获取更新描述信息时,可以按照更新描述信息地址获取该更新描述信息。更新描述信息地址可以通过接收用户提交或者事先设置得到,更新描述信息地址可以包括指向第二预设服务器的第二网络地址或者指向终端本端的第二本地地址。且当更新描述信息地址包括第二网络地址时,可以通过空中下载(over the air,OTA)的方式获取该更新描述信息。
可选地,所述更新指示消息包括所述目标SIM卡的更新触发指令或所述目标SIM卡的上电消息。
可选地,所述更新描述信息包括第一系统厂商标识和至少一个第一系统版本标识,所述系统信息包括所述目标SIM卡中系统数据的第二系统厂商标识和第二系统版本标识,所述基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验,包括:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,且所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同时,确定所述更新描述信息校验通过。
可选地,所述更新描述信息还包括第三系统版本标识。
可选地,所述基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验,包括:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同、且所述更新描述信息中的所述第三系统版本标识高于所述至少一个更新描述信息中其他更新描述信息包括的所述第三系统版本标识时,确定所述更新描述信息校验通过。
由于第一系统厂商标识为更新文件所对应的系统厂商的标识,第一系统版本标识为可基于该更新文件进行更新的系统数据的版本标识,那么当第一系统厂商标识与第二系统厂商标识相同时,可以说明更新文件对应的厂商与目标SIM卡中系统的厂商一致,而当至少一个第一系统版本标识包括第二系统版本标识(即第二系统版本标识为至少一个第一系统版本标识之一)时,可以说明目标SIM卡中当前的系统版本与更新文件所针对的系统版本相同。所以当第一系统厂商标识与第二系统厂商标识相同,且至少一个第一系统版本标识包括第二系统版本标识时,即可以确定校验通过,可以继续执行后续步骤对目标SIM卡中的系统数据进行更新,否则可以确定校验不通过,从而不对该系统数据进行更新。也即是,一方面,终端可以将第一系统厂商标识,与目标SIM卡的第二系统厂商标识进行比较,确保了通过对应目标SIM卡中系统的厂商的更新文件,对目标SIM卡的系统数据进行更新,进而能够实现针对不同厂商的系统数据进行更新;另一方面,将至少一个第一系统版本标识与目标SIM卡中第二系统版本标识进行比较,确保了通过与目标SIM卡中系统数据相适应的更新文件,对目标SIM卡的系统数据进行更新,进而能够灵活准确地控制具有不同版本的系统数据的可编程SIM卡是否基于该更新文件进行更新。
可选地,所述基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验,包括:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同,且所述更新描述信息中的所述第三系统版本标识高于所述至少一个更新描述信息中其他更新描述信息包括的所述第三系统版本标识和所述第二系统版本标识时,确定所述更新描述信息校验通过。
可选地,所述基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验,包括:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同,所述更新描述信息中的所述第三系统版本标识高于所述至少一个更新描述信息中其他更新描述信息包括的所述第三系统版本标识,且所述更新描述信息中的所述第三系统版本标识低于所述第二系统版本标识时,确定所述更新描述信息校验通过。
其中,如果第三系统版标识高于第二系统版本标识,那么本次更新可以是系统回退,而如果第三系统版本标识低于第二系统版本标识,则可以是向更高的版本更新,因此可以将第三系统版标识与第二系统版本标识进行比较,从而根据不同的需求选择进行系统回退或者防止系统回退,进一步提高对系统数据进行更新的灵活性。
可选地,第一系统版本标识可以包括多个层级的子第一系统版本标识,相应的,第二系统版本标识包括多个层级的子第二系统版本标识。
可选地,所述获取目标更新描述信息对应的目标更新文件,包括:
当所述目标更新描述信息包括更新文件路径时,基于所述更新文件路径获取所述目标更新文件。
可选地,所述更新文件路径包括第一网络地址,所述基于所述更新文件路径获取所述目标更新文件,包括:
基于所述第一网络地址,从第一预设服务器获取所述目标更新文件。
可选地,所述目标更新文件存储于第一预设服务器,所述更新描述信息存储于第二预设服务器,所述第一预设服务器包括所述目标SIM卡中系统厂商的服务器、终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器;所述第二预设服务器包括所述系统厂商的服务器、所述终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器。
可选地,所述第一预设服务器和所述第二预设服务器为同一服务器。
需要说明的是,第一预设服务器可以与第二预设服务器为同一服务器中不同的服务器模块或者同一服务器集群中的不同服务器。当第一预设服务器与第二预设服务器相同时,第一预设服务器与第二预设服务器可以是同一服务器中的同一服务器模块或者同一服务器集群中的同一服务器。
可以看出,在本申请实施例中,并不限定更新描述信息和更新文件的来源,终端可以灵活地根据更新描述信息地址获取该更新描述信息,并根据该更新文件路径获取目标更新文件,而不是只能够从目标SIM卡的系统厂商(或称系统数据的厂商)获取该更新文件和更新描述信息,能够实现SIM卡中的系统数据与系统数据的厂商的解耦,进一步提高了对系统进行更新的灵活性。
还需要说明的是,更新描述信息所在的文件可以与对应的更新文件为同一文件。
可选地,所述获取目标更新描述信息对应的目标更新文件,包括:
获取更新文件集,其中,所述更新文件集包括至少一个所述更新文件;
从所述更新文件集中获取与所述目标更新描述信息对应的所述目标更新文件。
可选地,所述目标更新文件包括应用协议数据单元(application protocol dataunit,APDU)写入指令集,所述基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新,包括:
将所述APDU写入指令集发送给所述目标SIM卡。
可选地,所述目标更新文件还包括版本标识更新指令集和重上电指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之后,还包括:
依次执行所述版本标识更新指令集和所述重上电指令集。
其中,通过版本标识更新指令,可以将目标SIM卡中的第二系统版本标识更新为更新描述信息所携带的第三系统版本标识。当然,若目标更新描述信息未携带第三系统版本标识时,也可以按照预设版本标识生成规则和第二系统版本标识进行更新,生成第三系统版本标识,并将第二系统版本标识替换为第三系统版本标识。
可选地,当所述目标更新描述信息包括用户数据擦除标识时,所述目标更新文件还包括用户数据擦除指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之前,还包括:
执行所述用户数据擦除指令集。
可选地,在所述基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新之前,还包括:
输出用户数据擦除提示信息。
可选地,当所述目标更新描述信息包括系统数据擦除标识时,所述目标更新文件还包括系统数据擦除指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之前,还包括:
执行所述系统数据擦除指令集。
其中,系统数据擦除标识可以通过字符串表示。如果更新描述信息包括系统数据擦除标识,可以说明本次更新是对系统数据进行完整更新(即upgrade),需要擦除系统数据;如果更新描述信息不包括系统数据擦除标识,可以说明本次更新是以打补丁的方式对系统数据进行更新(即update),不需要擦除系统数据。
需要说明的是,在实际应用中,“系统数据擦除标识”这一标识名称也可以根据实际需要确定,只要通过该标识能够说明本次更新是对系统数据进行完整更新或是对以打补丁的方式对系统数据进行更新,即是否需要擦除系统数据即可。
例如,可以通过完整更新指示标识和补丁更新指示标识来代替系统数据擦除标识。那么当更新描述信息包括完整更新指示标识时,可以说明本次更新是对系统数据进行完整更新,当更新描述信息包括补丁更新指示标识时,可以说明本次更新是以打补丁的方式对系统数据进行更新。
可选地,在所述基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新之前,还包括:
输出系统数据擦除提示信息。
可选地,所述目标更新文件还包括更新模式设置指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之前,还包括:
执行所述更新模式设置指令集。
由于目标更新文件包括APDU写入指令集、版本标识更新指令集和重上电指令集,还可以包括系统擦除指令集、用户数据擦除指令集和更新模式设置指令集至少一个,而更新描述信息可以包括系统数据擦除标识和用户数据擦除标识的至少一个,那么在对目标SIM卡中的系统数据进行更新时,根据目标更新描述信息即可以确定本次更新是update还是upgrade,是否需要先对系统数据或用户数据进行擦除,相应的对系统数据进行更新的方式可以包括下述几种情况:
在一种可能的实现方式中,目标更新描述信息不包括系统数据擦除标识也不包括用户数据擦除标识,则不需要对系统数据和用户数据进行擦除,终端可以将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,终端可以依次执行版本标识更新指令和重上电指令。
在另一种可能的实现方式中,目标更新描述信息不包括系统数据擦除标识,但包括用户数据擦除标识,则可以不对系统数据进行擦除,那么终端可以先执行用户数据擦除指令集,再将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,可以执行版本标识更新指令集和重上电指令集。
在另一种可能的实现方式中,目标更新描述信息包括系统数据擦除标识,但不包括用户数据擦除标识,则可以对系统数据进行擦除,那么终端可以先执行系统数据擦除指令集,再将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,可以执行版本标识更新指令集和重上电指令集。
在另一种可能的实现方式中,目标更新描述信息包括系统擦除标识和用户数据擦除标识,则在将APDU写入指令集发送给目标SIM卡之前,需要先对系统数据和用户数据进行擦除,即可以先按照任意次序执行系统数据擦除指令集、用户数据擦除指令集和更新模式设置指令集,之后可以将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,可以执行版本标识更新指令集和重上电指令集。
需要说明的是,终端在将APDU写入指令集发送给目标SIM卡之后,也可以不执行版本标识更新指令集和重上电指令集。
还需要说明的是,当目标更新描述信息不包括系统数据擦除标识时,无论该目标更新描述信息是否包括用户数据擦除标识,都可以从目标更新文件获取更新模式设置指令集,并在执行APDU写入指令集之前执行该更新模式设置指令集。
也即是,通过对将更新文件拆分成多个指令集,并结合更新描述信息,可以根据实际的更新需求,动态增减和排列多个指令集,能够同时满足不需要擦除系统数据的更新(update)以及需要擦除系统数据的更新(upgrade),进一步提高了对系统数据进行更新的灵活性。
可选地,所述将所述APDU写入指令集发送给所述目标SIM卡,包括:
将所述APDU写入指令集划分为多个预设大小的数据包,其中,所述APDU写入指令集由所述目标SIM卡进行解密,且包括至少一个APDU写入指令;
将多个所述数据包发送给所述目标SIM卡。
可选地,所述将所述APDU写入指令集发送给所述目标SIM卡,包括:
解析所述APDU写入指令集,得到至少一个APDU写入指令;
依次将所述至少一个APDU写入指令发送给所述目标SIM卡。
可选地,还包括:
当所述目标SIM卡中的所述系统数据更新完成时,加载更新后的所述系统数据,并激活所述目标SIM卡中的用户数据;
向从第一预设服务器发送更新成功消息。
可选地,所述目标SIM卡包括嵌入式eSIM卡、虚拟身份识别模块(virtualsubscriber identity module,vSIM)卡或集成用户身份识别模块(integratedsubscriber identity module,iSIM)卡。
第二方面,本申请实施例提供一种更新SIM卡系统数据的装置,所述装置包括:
获取模块,用于当检测到目标SIM卡的更新指示消息时,获取至少一个更新描述信息,所述更新描述信息用于描述与所述更新描述信息对应的更新文件的更新特征;获取目标更新描述信息对应的目标更新文件,所述目标更新描述信息为所述至少一个更新描述信息中通过校验的更新描述信息;
校验模块,用于基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验;
更新模块,用于基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新。
可选地,所述更新指示消息包括所述目标SIM卡的更新触发指令或所述目标SIM卡的上电消息。
可选地,所述更新描述信息包括第一系统厂商标识和至少一个第一系统版本标识,所述系统信息包括所述目标SIM卡中系统数据的第二系统厂商标识和第二系统版本标识,所述校验模块还用于:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,且所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同时,确定所述更新描述信息校验通过。
可选地,所述更新描述信息还包括第三系统版本标识。
可选地,所述校验模块还用于:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同、且所述更新描述信息中的所述第三系统版本标识高于所述至少一个更新描述信息中其他更新描述信息包括的所述第三系统版本标识时,确定所述更新描述信息校验通过。
可选地,获取模块还用于:
当所述目标更新描述信息包括更新文件路径时,基于所述更新文件路径获取所述目标更新文件。
可选地,所述更新文件路径包括第一网络地址,所述基于所述更新文件路径获取所述目标更新文件,包括:
基于所述第一网络地址,从第一预设服务器获取所述目标更新文件。
可选地,所述目标更新文件存储于第一预设服务器,所述更新描述信息存储于第二预设服务器,所述第一预设服务器包括所述目标SIM卡中系统厂商的服务器、终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器;所述第二预设服务器包括所述系统厂商的服务器、所述终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器。
可选地,所述第一预设服务器和所述第二预设服务器为同一服务器。
可选地,获取模块还用于:
获取更新文件集,其中,所述更新文件集包括至少一个所述更新文件;
从所述更新文件集中获取与所述目标更新描述信息对应的所述目标更新文件。
可选地,所述目标更新文件包括APDU写入指令集;
所述更新模块还用于:
将所述APDU写入指令集发送给所述目标SIM卡。
可选地,所述更新文件集还包括版本标识更新指令集和重上电指令集,所述更新模块还用于:
依次执行所述版本标识更新指令集和所述重上电指令集。
可选地,当所述目标更新描述信息包括用户数据擦除标识时,所述目标更新文件还包括用户数据擦除指令集,所述更新模块还用于:
执行所述用户数据擦除指令集。
可选地,还包括:
提示模块,用于发出用户数据擦除提示信息。
可选地,当所述更新描述信息包括系统数据擦除标识时,所述目标更新文件还包括系统数据擦除指令集,所述更新模块还用于:
执行所述系统数据擦除指令集。
可选地,所述提示模块,还用于:
发出系统数据擦除提示信息。
可选地,所述目标更新文件还包括更新模式设置指令集,所述更新模块还用于:
执行所述更新模式设置指令集。
可选地,所述更新模块还用于:
将所述APDU写入指令集划分为多个预设大小的数据包,其中,所述APDU写入指令集由所述目标SIM卡进行解密,且包括至少一个APDU写入指令;
将多个所述数据包发送给所述目标SIM卡。
可选地,所述更新模块还用于:
解析所述APDU写入指令集,得到至少一个APDU写入指令;
依次将所述至少一个APDU写入指令发送给所述目标SIM卡。
可选地,还包括:
加载模块,用于当所述目标SIM卡中的所述系统数据更新完成时,加载更新后的所述系统数据,并激活所述目标SIM卡中的用户数据;
发送模块,用于向从第一预设服务器发送更新成功消息。
可选地,所述目标SIM卡包括嵌入式eSIM卡、虚拟vSIM卡或集成iSIM卡。
第三方面,本申请实施例提供一种终端,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面中任一项所述的方法。
其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一项所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行上述第一方面中任一项所述的方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种系统更新系统的结构示意图;
图2为本申请实施例所提供的一种更新SIM卡系统数据的方法的流程图;
图3为本申请实施例所提供的一种基于目标更新文件对目标SIM卡中的SIM卡系统数据进行更新的方法的流程图;
图4为本申请实施例所提供的另一种更新SIM卡系统数据的方法的流程图;
图5为本申请实施例所提供的另一种更新SIM卡系统数据的方法的流程图;
图6为本申请实施例提供的一种更新SIM卡系统数据装置的结构示意图;
图7为本申请实施例所提供的一种终端的结构示意图;
图8为本申请实施例所提供的另一种终端的结构示意图;
图9为本申请实施例所提供一种终端的软件结构框图。
具体实施方式
为了便于理解本申请施例中的技术方案,下面首先对本申请实施例的应用场景予以介绍。
SIM卡是数字蜂窝移动电话的用户识别卡,可以理解为终端设备接入移动网络的钥匙,具有存储数据,在安全条件下对用户身份进行鉴别和对用户信息进行加密等功能。该SIM卡中可以包括系统数据和用户数据。
其中,系统数据可以包括COS,用户数据可以包括简档(Profile),用户数据可以用于在终端加入移动网络时进行鉴权。当然,在实际应用中,系统数据和用户数据还可以包括其他类型的数据,本申请实施例对此系统数据和用户数据并不进行具体限定。
目前,普通的物理SIM卡因为体积过大,需要终端设置对应的卡槽等原因,正在逐渐被可编程的SIM卡所取代。其中,可编程的SIM卡中的数据可以进行擦除和重写,可以包括eSIM卡、vSIM卡或iSIM卡。eSIM卡,或称嵌入式通用集成电路卡(embedded universalintegrated circuit card,eUICC)卡,可以是一颗嵌入在终端电路板上的芯片。vSIM卡,或称虚拟通用集成电路(virtual universal integrated circuit card,vUICC)卡,可以是通过软件模拟SIM卡的相关功能,而没有物理芯片存在。iSIM卡,或称集成通用集成电路卡(integrated universal integrated circuit card,iUICC),可以是将SIM卡集成在终端的处理器中,即不再单独设置物理的芯片来作为SIM卡。当然,在实际应用中,可编程SIM卡还可以通过其他形式实现,本申请实施例对此可编程SIM卡的实现方式不做具体限定。
可编程SIM卡需要先连接至网络运行商的服务器,从该网络运行商的服务器中下载、安装和激活用户数据,然后才能基于该用户数据连接至移动网络。在使用可编程SIM卡的过程中,可能需要对该可编程SIM卡中的系统数据进行更新,比如为了兼容来自不同网络运营商的用户数据,而对系统数据进行相适应的更新,或者,对可编程SIM卡中的系统数据进行功能上的升级等。
现有技术中,可以对eSIM卡中的COS进行更新,其更新过程主要是由终端厂商的技术人员从COS厂商获取新版本的COS以及相关的升级脚本,然后在研发环境下运行该升级脚本,将该新版本的COS更新至该eSIM卡中。但这种方式过程繁琐且需要依赖相关技术人员参与,不仅效率和灵活性低下,且线下运维成本也较高,比如,如果该终端已经售出,则用户需要将该终端提供至售后服务中心,才有可能对eSIM卡中的COS进行更新,更新的复杂程度和成本很高。
为解决这一技术问题,本申请提供了一种更新SIM卡系统数据的方法。当检测到目标SIM卡的更新指示消息时,可以获取更至少一个更新描述信息。由于该更新描述信息可以描述与更新描述信息对应的更新文件的更新特征,因此,可以基于目标SIM卡的系统信息对该更新描述信息进行校验。当对某个更新描述信息校验通过时,该更新描述信息为目标更新描述信息,便可以获取该目标更新描述信息对应的目标更新文件,并基于该目标更新文件,对目标SIM卡中的系统数据进行更新。也即是,能够自动根据获取到的更新描述信息,判断是否需要对系统数据进行更新,并确定需要对系统数据进行更新时,获取相应的目标更新文件对系统数据进行更新,而不必再由相关技术人员在研发环境下通过运行升级脚本来对COS进行更新,提高了对系统数据进行更新的效率和灵活性,也降低了运维成本。
请参照图1,为本申请实施例所提供的一种SIM卡系统数据更新系统的结构示意图。该系统可以设置在终端100中,该终端可以设置有至少一个可编程SIM卡110。如图1所示,该系统可以包括本地简档管理(local profile assistant,LPA)模块120、通话系统应用程序接口(application programming interface,API)130和用于与可编程SIM卡交互的开放移动应用程序接口(open mobile API,OMAPI)140。
LPA模块120,可以包括本地用户界面(local user interface,LUI)、可编程SIM卡的简档下载子模块、简档管理子模块以及OSU(OS update)子模块。其中,LUI可以用于提供SIM卡系统数据更新系统与用户进行交互的界面,比如,可以通过LUI接收相应的用户操作来进入或结束系统更新,通过该LUI确定用户所选择的本次更新的数据来源;简档下载子模块和简档管理子模块,可以分别用于下载和管理简档等用户数据;OSU子模块可以用于对可编程SIM卡中的系统进行更新,该OSU子模块包括至少一个系统厂商的数据解析器,该数据解析器可以用于按照与系统厂商对应的方式解析和执行针对系统的指令。
通话系统API130,可以用于与硬件层的基带150进行交互,包括控制基带150进入或退出更新模式(pass through mod)。其中,当基带150处于更新模式时,基带150可以拒绝终端其他可能与网络相关的业务请求,比如搜网业务、数据业务或通话业务。
OMAPI140,可以通过位于内核(kernel)层的串行外设接口(serial peripheralinterface,SPI)驱动或7816驱动等基于国际标准化组织(international organizationfor standardization,ISO)7876标准的SIM卡接口驱动150,与位于硬件层的可编程SIM卡110连接,使LPA模块120可以与可编程SIM卡110进行交互,从而能够完成对该可编程SIM卡110中的系统数据进行更新。
可选地,该SIM卡系统数据更新系统还可以包括服务器200。服务器200可以包括服务器或服务器集群,且该服务器200可以向终端100提供对系统数据进行更新的相关数据,比如更新描述信息和目标更新文件中的至少一个。
需要说明的是,该服务器200可以通过事先设置确定,可以包括系统厂商的服务器、终端厂商的服务器或不同于系统厂商的服务器和终端厂商的服务器的服务器。
还需要说明的是,在本申请实施例中,是将终端100中LPA模块120作为SIM卡更新模块来对可编程SIM卡中的系统数据进行更新,当然,在实际应用中,也可以将终端100中其他能够对可编程SIM卡进行数据写入的模块作为SIM卡更新模块,比如近场通信(NearField Communication,NFC)模块等。本申请实施例对此SIM卡更新模块并不具体限定。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
请参照图2,为本申请实施例所提供的一种更新SIM卡系统数据的方法的流程图。该方法可以应用于终端。需要说明的是,该方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,该方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该方法包括如下步骤:
S201,当检测到目标用户身份识别模块SIM卡的更新指示消息时,获取至少一个更新描述信息,所述更新描述信息用于描述与所述更新描述信息对应的更新文件的更新特征。
为了及时对目标SIM卡中的系统数据进行更新,以确保目标SIM卡可以可靠地运行,终端100可以通过SIM卡更新模块(比如图1中的LPA模块120)检测该目标SIM卡的更新指示消息,且为了便于终端确定本次更新的概要特征,以确定是否进行本次更新或者进行其他操作,当检测到针对目标SIM卡的更新指示消息时,可以获取更新描述信息。
可选地,SIM卡中可以包括系统数据和用户数据。
其中,更新指示消息,可以用于指示当前可以对目标SIM卡中的系统数据进行更新。可选地,更新指示消息可以包括目标SIM卡的更新触发指令或目标SIM卡的上电消息。
更新触发指令可以用于指示对目标SIM卡中的系统数据进行更新,该更新触发指令可以由用户执行预设用户操作触发。当更新指示消息包括更新触发指令时,终端100可以通过前述中的LUI,向用户展示至少一个的可编程SIM卡,那么用户可以选择其中任一个,从而对所选择的可编程SIM卡中的系统数据进行更新,相应的,当终端100基于任一个可编程SIM卡接收到用户的更新触发指令时,即确定该可编程SIM卡为目标SIM卡,从而可以通过执行后续步骤来对该目标SIM卡中的系统数据进行更新。
目标SIM卡的上电消息,可以说明目标SIM卡当前已经上电启动。当更新指示消息包括目标SIM卡的上电消息时,终端可以事先(比如通过LPA模块120中的OSU子模块)向终端中的开机管理进程订阅目标SIM卡的上电消息。那么当该目标SIM卡被重新上电(比如终端开机)时,终端可以获取到开机管理进程发送的目标SIM卡的上电消息。
更新描述信息可以用于描述与该更新描述信息对应的目标更新文件的更新特征。
可选地,该更新描述信息可以包括第一系统厂商标识和至少一个第一系统版本标识,还可以包括第三系统版本标识、更新文件路径、系统擦除标识和用户数据擦除标识中的至少一个。
其中,第一系统厂商标识为更新文件所对应的系统厂商的标识;第三系统版本标识为基于该更新文件对系统数据进行更新之后该系统的版本标识;第一系统版本标识为可基于该更新文件进行更新的系统数据的版本标识;更新文件路径可以用于指示更新文件所在的位置,该更新文件路径可以包括指向网络中某个位置的网络路径,也可以包括指向该终端中某个位置的本地路径;系统擦除标识可以用于指示擦除目标SIM卡中的系统数据,如果更新描述信息包括系统数据擦除标识,可以说明本次更新是对系统数据进行完整更新,需要擦除系统数据中的系统数据,如果更新描述信息不包括用户数据擦除标识,可以说明本次更新是以打补丁的方式对系统数据进行更新,不需要擦除系统数据中的系统数据;用户数据擦除标识可以用于指示擦除目标SIM卡中的用户数据,如果更新描述信息包括用户数据擦除标识,则说明需要擦除系统数据中的用户数据,如果更新描述信息不包括用户数据擦除标识,则需要擦除系统数据中的用户数据。
需要说明的是,在实际应用中,“系统数据擦除标识”这一标识名称也可以根据实际需要确定,只要通过该标识能够说明本次更新是对系统数据进行完整更新或是对以打补丁的方式对系统数据进行更新,即是否需要擦除系统数据即可。当然,“用户数据擦除标识”这一标识名称也可以根据实际需要确定,只要通过该标识能够说明本次更新是否需要擦除用户数据即可。
例如,可以通过完整更新指示标识和补丁更新指示标识来代替系统数据擦除标识。那么当更新描述信息包括完整更新指示标识时,可以说明本次更新是对系统数据进行完整更新,当更新描述信息包括补丁更新指示标识时,可以说明本次更新是以打补丁的方式对系统数据进行更新。
可选地,该更新描述信息可以事先根据对应的更新文件确定,比如生成更新文件的技术人员确定,或者通过机器挖掘或机学习等方式,根据该更新文件确定。
对于至少一个第一系统版本标识,在生成该更新文件时,可以判断该更新文件是否各个可能版本的系统数据存在冲突。如果某版本的系统数据不与该更新文件存在冲突,则将该版本的系统数据的版本标识确定为第一系统版本标识,从而使具有第一系统版本标识的系统数据都可以基于该更新文件进行更新。
如果某SIM卡中的系统数据在历史中一共进行过两次更新,其版本标识包括000、001和002,而本次更新需要擦除系统数据,那么无论前两次更新如何,都不会与本次更新产生冲突,即000、001和002版本的系统数据都可以进行本次更新。因此,对于本次更新,更新描述信息中的第三系统版本标识可以设置为003,第一系统版本标识可以设置为000、001和002,系统擦除标识可以设置为erase_cos,即表示需要擦除目标SIM卡中的系统。
如果某SIM卡中的系统数据在历史中一共进行过两次更新,其版本标识包括000、001和002,本次更新不擦除系统数据,且本次更新与前两次更新均为基于上一版本系统中的不同特性进行的更新,那么无论前两次更新如何,也都不会与本次更新产生冲突,即000、001和002版本的系统都可以进行本次更新。因此,对于本次更新,更新描述信息中的第三系统版本标识可以设置为003,第一系统版本标识可以设置为000、001和002,系统擦除标识可以设置为erase_cos。
如果某SIM卡中的系统在历史中一共进行过两次更新,其版本标识包括000、001和002,本次更新不擦除系统数据,且本次更新与前两次更新均为基于上一版本系统中的至少同一个特性进行的更新,所以本次更新只能基于002版本的系统数据进行更新。因此,对于本次更新,更新描述信息中的第三系统版本标识可以设置为003,第一系统版本标识可以设置为002,系统擦除标识可以设置为空,即不需要擦除系统数据。
可以看出,通过设置至少一个第一系统版本标识,可以确保无论更新之前的系统数据是哪个版本,只要该版本的系统数据不与当前的更新文件存在冲突,都可以通过该更新文件进行更新,那么终端在使用过程中,便可以不必逐一按照历史中各版本的发布次序对系统进行更新,而是可以跨越中间的至少一个版本,直接升级至最新的版本,或者也可以进行版本回退。例如,某更新描述信息包括的第三系统版本标识为003,第一系统版本标识为000、001和002,某可编程SIM卡中的系统版本标识为001。若按照现有技术中的更新方式,该可编程SIM卡中的系统需要先更新至002版本,然后才能更新至003版本。但在申请实施例所提供的更新SIM卡系统数据的方法中,由于该可编程SIM卡中的系统版本标识为第一系统版本标识中的一个,所以该可编程SIM卡中的系统可以直接基于该描述信息对应的更新文件进行更新,且更新完之后,该系统的版本标识可以为003,从而省略将系统数据从001版本更新至002版本的过程。因此,本申请实施例所提供的更新SIM卡系统数据的方法,不仅显著减少了更新所占用的时长,提高了更新效率,也避免了在更新过程中对可编程SIM卡进行不必要的擦除,提高了可编程SIM卡的使用寿命。
另外,如果更新描述信息包括系统数据擦除标识,可以说明本次更新是对系统数据进行完整更新(即upgrade),需要擦除系统数据;如果更新描述信息不包括系统数据擦除标识,可以说明本次更新是以打补丁的方式对系统数据进行更新(即update),不需要擦除系统数据。
需要说明的是,在实际应用中,“系统数据擦除标识”这一标识名称也可以根据实际需要确定,只要通过该标识能够说明本次更新是对系统数据进行完整更新或是对以打补丁的方式对系统数据进行更新,即是否需要擦除系统数据即可。
例如,可以通过完整更新指示标识和补丁更新指示标识来代替系统数据擦除标识。那么当更新描述信息包括完整更新指示标识时,可以说明本次更新是对系统数据进行完整更新,当更新描述信息包括补丁更新指示标识时,可以说明本次更新是以打补丁的方式对系统数据进行更新。
需要说明的是,系统版本标识可以用于指示系统数据的版本。系统版本标识可以包括至少一个层级的子标识,比如,系统版本标识可以包括一级版本标识和二级版本标识,其中,一级版本标识为系统身份标识号码(identity documen,ID),二级版本标识为platform(平台)ID。
还需要说明的是,第一系统厂商标识、该系统擦除标识和该用户数据擦除标识,可以通过字符串表示。
更新文件路径可以用于指示更新文件所在的位置,该更新文件路径可以包括指向第一预设服务器的第一网络地址和指向终端本端的第一本地地址中的至少一个。通过设置更新文件路径,可以便于终端灵活地根据该更新文件路径获取更新文件,而不是只能够从系统厂商获取该更新文件,实现了系统数据与系统厂商的解耦,进一步提高了对系统数据进行更新的灵活性。
更新文件,可以用于对可编程SIM卡中的系统数据进行更新。
可选地,更新文件和更新描述信息可以是对应的。更新文件可以包括APDU写入指令集、版本标识更新指令集和重上电指令集;当更新描述信息包括系统数据擦除标识时,更新文件还可以包括系统擦除指令集;当更新描述信息包括用户数据擦除标识时,用户数据擦除指令集;另外,更新文件还可以更新模式设置指令集。可选地,更新文件可以仅在包括APDU写入指令集、版本标识更新指令集、重上电指令集和系统擦除指令集时,还包括更新模式设置指令集。
其中,APDU写入指令集可以用于向目标SIM卡中写入APDU数据,该APDU写入指令集可以包括至少一个APDU指令,各APDU指令可以用于对系统数据中的至少一项特性进行更新;版本标识更新指令集可以用于对目标SIM卡中的系统版本标识进行更新,包括将更新之前的系统版本标识更新为更新描述信息所包括的第三系统版本标识,该版本标识更新指令集可以包括至少一个版本标识更新指令;重上电指令集可以用于指示对目标SIM卡重新上电,比如指示终端重新开机等,该重上电指令集可以包括至少一个重上电指令;系统擦除指令集可以用于对目标SIM卡中的系统数据进行擦除,该系统擦除指令集可以包括至少一个系统擦除指令;用户数据擦除指令集可以用于对目标SIM卡中的用户数据进行擦除,该用户数据擦除指令集可以包括至少一个用户数据擦除指令;更新模式设置指令可以指示终端的基带进入更新模式,该更新模式设置指令集可以包括至少一个更新模式设置指令,其中,当对系统数据更新需要擦除系统数据或用户数据时,可能会导致目标SIM卡的系统功能受损,因此可以指示基带进入更新模块。
可选地,更新描述信息的数据格式可以通过事先设置得到。例如,一种更新描述信息可以如下表1所示。在下述表1中,第一行“vendor_ID”可以为第一系统厂商标识,第二行“target_cos_version”可以为第三系统版本标识,第三行“allow_cos_version”可以为第一系统版本标识,第四行“erase_cos_segment”可以为系统擦除标识,第五行“erase_profile_segment”可以为用户数据擦除标识。
表1
需要说明的是,本申请实施例仅以上述表1对更新描述信息进行介绍,上述表1并不对更新描述信息的具体内容和数据格式构成任何限定。
终端在获取更新描述信息时,可以按照更新描述信息地址获取该更新描述信息。其中,更新描述信息地址可以通过接收用户提交或者事先设置得到,更新描述信息地址可以包括指向第二预设服务器的第二网络地址或者指向终端本端的第二本地地址。且当更新描述信息地址包括第二网络地址时,可以通过OTA的方式获取该更新描述信息。
需要说明的是,第一预设服务器可以存储更新文件,第二预设服务器中可以存储更新描述信息,第一预设服务器可以与第二预设服务器为同一服务器中不同的服务器模块或者同一服务器集群中的不同服务器,当然,也可以是同一服务器中的同一服务器模块或者同一服务器集群中的同一服务器。另外,当更新描述信息与更新文件是同一文件时,第一本地地址可以与第二本地地址相同。
还需要说明的是,第一预设服务器或第二预设服务器,可以是系统厂商的服务器、终端厂商的服务器或者不同于系统厂商的服务器和终端厂商的服务器的服务器。也即是,在本申请实施例中,并不限定更新描述信息和更新文件的来源,终端可以灵活地根据更新描述信息地址获取该更新描述信息,并根据该更新文件路径获取目标更新文件,而不是只能够从目标SIM卡的系统厂商(或称系统数据的厂商)获取该更新文件和更新描述信息,能够实现SIM卡中的系统数据与系统数据的厂商的解耦,进一步提高了对系统进行更新的灵活性。
另外,当更新描述信息包括系统数据擦除标识时,可以输出系统数据擦除提示信息,当更新描述信息包括用户数据擦除标识时,可以输出用户数据擦除提示信息。
其中,系统数据擦除提示信息可以用于提示即将擦除系统数据,用户数据擦除标识可以用于提示即将擦除用户数据。
S202,基于目标SIM卡的系统信息,对更新描述信息进行校验。
由于不同更新描述信息对应的更新文件可能与目标SIM卡中的系统数据兼容,也可能不于与该系统数据兼容,那么为了确保能够成功地对该系统数据进行更新,可以基于目标SIM卡的系统信息对更新描述信息进行校验。
目标SIM卡的系统信息,可以用于指示目标SIM卡的至少一项系统属性。可选地,该系统信息可以包括该目标SIM卡中系统的第二系统厂商标识和第二系统版本标识。
其中,可以从目标SIM卡获取该目标SIM卡的系统信息,或者,也可以从存储有该系统信息的预设存储位置获取该系统信息。
在基于目标SIM卡的系统信息,对更新描述信息进行校验时,可以将系统信息包括的第二系统厂商标识与更新描述信息包括的第一系统厂商标识进行比较,并将系统信息包括的第二系统版本标识与描述信息包括的至少一个第一系统版本标识进行比较。由于第一系统厂商标识为更新文件所对应的系统厂商的标识,第一系统版本标识为可基于该更新文件进行更新的系统数据的版本标识,那么当第一系统厂商标识与第二系统厂商标识相同时,可以说明更新文件对应的厂商与目标SIM卡中系统的厂商一致,而当至少一个第一系统版本标识中的任一个与第二系统版本标识相同时,可以说明目标SIM卡中当前的系统版本与更新文件所针对的系统版本相同。所以当更新描述信息中的第一系统厂商标识与第二系统厂商标识相同,且该更新描述信息中的任一第一系统版本标识与第二系统版本标识相同时,确定更新描述信息校验通过,可以继续执行后续步骤对目标SIM卡中的系统数据进行更新,否则可以确定校验不通过,从而不对该系统数据进行更新。也即是,一方面,终端可以将第一系统厂商标识,与目标SIM卡的第二系统厂商标识进行比较,确保了通过对应目标SIM卡中系统的厂商的更新文件,对目标SIM卡的系统数据进行更新,进而能够实现针对不同厂商的系统数据进行更新;另一方面,将至少一个第一系统版本标识与目标SIM卡中第二系统版本标识进行比较,确保了通过与目标SIM卡中系统数据相适应的更新文件,对目标SIM卡的系统数据进行更新,进而能够灵活准确地控制具有不同版本的系统数据的可编程SIM卡是否基于该更新文件进行更新。
例如,获取到的更新描述信息中,vendor_ID字段为123,allow_系统_version字段为000、001和002,而目标SIM卡的第二系统厂商标识为123,第二系统版本标识为001。由于第二系统厂商标识与vendor_ID相同,因此可以确定目标更新文件对应的厂商与目标SIM卡中系统的厂商一致。由于第二系统版本标识为allow_系统_version中的一个,因此可以确定目标SIM卡中当前的系统版本与目标更新文件所针对的系统版本相同。
需要说明的是,第一系统版本标识可以包括多个层级的子第一系统版本标识,相应的,第二系统版本标识包括多个层级的子第二系统版本标识。通过设置多层级的版本标识,可以实现对系统数据进行更加细致的更新和校验,能够进一步提高对系统数据进行更新和校验的精度。
例如,第一系统版本标识包括两级子第一系统版本标识,第二系统版本标识也包括两级子第二系统版本标识,相邻两级子第一系统版本标识或第三子系统版本标识之间可以通过预设分隔符号(比如“.”)隔开。若第一系统版本标识包括000.0、000.1、001.0、001.3和002.2,第二系统版本标识为001.0,则第二系统版本标识即为第一系统版本标识其中之一。
可选地,由于仅从与当前系统数据的兼容性上来说,可能会包括一个以上的更新文件都适用于本次更新,但基于不同更新文件可能更新到的版本会不同,而如果更新到较旧的版本,则可能还需要再次进行更新,从而导致更新时间较长以及对可编程SIM卡进行多次的擦除。因此为了实现跨版本更新,显著减少更新所占用的时长,提高更新效率,也避免在更新过程中对可编程SIM卡进行不必要的擦除,提高可编程SIM卡的使用寿命,当更新描述信息还包括第三系统版本标识时,对于任一更新描述信息,当该更新描述信息中的第一系统厂商标识与所述第二系统厂商标识相同,该更新描述信息中的任一第一系统版本标识与第二系统版本标识相同、且该更新描述信息中的第三系统版本标识高于至少一个更新描述信息中其他更新描述信息包括的第三系统版本标识时,确定更新描述信息校验通过。
例如,某SIM卡中当前系统数据的系统版本为001,获取到更新描述信息1和更新描述信息2中的第一系统版本标识均包括001,但更新描述信息1中的第三系统版本标识包括002,更新描述信息2中的第三系统版本标识包括003,系统版本003高于系统版本002,因此,可以确定更新描述信息1校验通过,从而便于直接从001更新至003。
需要说明的是,确定系统版本标识之间比较大小的方式,可以根据系统版本标识的形式确定,其中,当某一系统版本标识较大时,该系统版本标识所对应的系统数据的版本也较高。比如,系统版本标识是通过数字表示,数字越大则表示对应的版本越高;或者,系统版本标识是通过字母表示,字母从a到z,对应的版本从高到低。
可选地,为了防止版本回退,当更新描述信息中的第一系统厂商标识与第二系统厂商标识相同,该更新描述信息中的任一第一系统版本标识与第二系统版本标识相同,且该更新描述信息中的第三系统版本标识高于至少一个更新描述信息中其他更新描述信息包括的第三系统版本标识和第二系统版本标识时,确定该更新描述信息校验通过。或者,为了进行版本回退,当更新描述信息中的第一系统厂商标识与第二系统厂商标识相同,该更新描述信息中的任一第一系统版本标识与第二系统版本标识相同,该更新描述信息中的第三系统版本标识高于至少一个更新描述信息中其他更新描述信息包括的第三系统版本标识,且该更新描述信息中的第三系统版本标识低于第二系统版本标识时,确定更新描述信息校验通过。
其中,如果第三系统版标识高于第二系统版本标识,那么本次更新可以是系统回退,而如果第三系统版本标识低于第二系统版本标识,则可以是向更高的版本更新,因此可以将第三系统版标识与第二系统版本标识进行比较,从而根据不同的需求选择进行系统回退或者防止系统回退,进一步提高对系统数据进行更新的灵活性。
S203,当更新描述信息校验通过时,获取目标更新描述信息对应的目标更新文件。
如果对某个更新描述信息校验通过,那么该目标更新描述信息对应的目标更新文件便可以用于对目标SIM卡中的数据进行更新,因此,终端可以获取该目标更新文件。
其中,目标更新描述信息为获取到的至少一个更新描述信息中通过校验的更新描述信息,目标更新文件为与目标描述信息对应的更新文件。
可以通过下述至少一种可能的实现方式来获取目标更新文件:
在一种可能的实现方式中,由于更新文件路径可以指示目标更新文件所在的位置,并可以包括指向第一预设服务器的第一网络地址和指向终端本端的第一本地地址中的至少一个,因此,当更新描述信息包括更新文件路径时,可以基于该更新文件路径获取目标更新文件。当更新文件路径包括指向第一预设服务器的第一网络地址时,可以通过OTA的方式,从第一预设服务器获取该目标更新文件,当更新文件路径包括指向终端本端的第一本地地址时,可以从终端本端获取该目标更新文件。
在另一种可能的实现方式中,当更新描述信息不包括更新文件路径时,可能该更新描述信息可能携带在该目标更新文件中,可以直接到获取该目标更新文件;或者,可能该更新描述信息所在的文件与该目标更新文件归属于同一个文件,因此可以从该文件中获取目标更新文件。
可选地,至少一个更新文件可能处于同一更新文件集中,各更新文件可以对应一个更新描述信息,那么前述中更新描述信息中所携带的更新文件路径,可以是更新文件集所在的路径,因此可以从该更新文件路径获取更新文件集,从该更新文件集中获取目标更新描述信息对应的目标更新文件。
S204,基于目标更新文件,对目标SIM卡中的系统数据进行更新。
其中,终端可以获取并执行目标更新文件中所包括的指令,从而完成对目标SIM卡中的系统数据进行更新。
可选地,请参照图3,为本申请实施例所提供的一种基于目标更新文件对目标SIM卡中的系统数据进行更新的流程图,包括:
S2041,打开用于对目标SIM卡进行更新的逻辑通道。
可编程SIM卡中可以包括多个不同的逻辑通道,通过不同的通道可以执行不同的逻辑操作,因此,终端可以(通过LPA模块120)打开用于对系统数据进行更新的逻辑通道,以便于进行后续的更新操作。
S2042,执行更新模式设置指令集,指示该终端的基带进入更新模式。
由于在对目标SIM卡中的系统数据进行更新的过程中,可能会导致目标SIM卡部分功能暂时不可用,比如无法使用网络等,因此为了避免在对系统进行更新的过程中,终端中的其他应用向基带发送与网络相关的业务请求,终端可以执行更新模式设置指令集,从而指示基带进入更新模式。
需要说明的是,在实际应用中,也可以不执行S2042,或者可以仅在需要擦除系统数据或用户数据时,执行S2042。
S2043,执行系统数据擦除指令集和用户数据擦除指令集中的至少一个,从而擦除目标SIM卡中的系统数据和用户数据中至少一个。
其中,当对系统数据进行较小程度的更新(即update),比如打补丁时,可以不擦除系统数据;当对系统数据进行较大程度的更新(即upgrade),比如使目标SIM卡支持第五代移动通信技术(5th generation mobile networks)等新的业务,对系统数据进行软件修复或者排查其他故障时,可以擦除系统数据。
另外,当对系统数据进行更新时,更新后的系统数据可能与用户数据不兼容,因此,可以擦除用户数据。
S2044,将APDU写入指令集发送给目标SIM卡,从而对该目标SIM卡中系统数据的至少一项特性进行更新。
其中,在一种可能的实现方式中,终端可以通过SIM卡更新模块解析APDU写入指令集,得到至少一个APDU写入指令,依次将至少一个APDU写入指令发送给目标SIM卡,目标SIM卡执行个APDU写入指令。或者,在另一种可能的实现方式中,终端可以通过SIM卡更新模块将APDU写入指令集划分为多个预设大小的数据包,将多个数据包发送给目标SIM卡,目标SIM卡基于多个数据包得到APDU写入指令集,然后对APDU写入指令集进行解密,得到包括至少一个APDU写入指令。或者,在另一种可能的实现方式中,终端从更新文件获取到的即为事先对将APDU写入指令集进行划分得到的多个预设大小的数据包,因此可以直接将该多个数据包发送给目标SIM卡。终端可以在执行APDU写入指令集之后,向终端中的系统数据模块发送执行完成提示信息。
需要说明的是,数据包的预设大小可以通过事先确定,比如该预设大小可以为255kb(千字节),且各数据包可以由系统数据的厂商或目标SIM卡的厂商事先进行加密,并可以由SIM卡进行解密。
例如,在如图1所示的系统中,终端中的LPA模块120,可以通过OMAPI140和SIM卡接口驱动150,将解析后的APDU写入指令发送至目标SIM卡。
还需要说明的是,解析APDU写入指令集方式可以通过事先根据目标SIM卡的系统厂商或目标SIM卡厂商确定。
S2045,执行版本标识更新指令集,将目标SIM卡中的系统版本标识更新为更新描述信息所携带的第三系统版本标识。
其中,终端可以在接收到执行完成提示信息,即确定目标SIM卡已执行完APDU写入指令集时,执行版本标识更新指令集,包括将第二系统版本标识替换为更新描述信息包括的第三系统版本标识。
可选地,若目标更新描述信息中未包括第三系统版本标识,则终端可以按照预设版本标识生成规则和第二系统版本标识进行更新,生成第三系统版本标识,并将第二系统版本标识替换为第三系统版本标识。
其中,预设版本标识生成规则可以用于基于目标SIM卡当前的系统版本标识,生成新的系统版本标识,该预设版本标识生成规则可以通过事先确定,比如,当系统版本标识是通过数字表示时,可以将当前的系统版本标识增加1,得到新的系统版本标识。
S2046,关闭用于对目标SIM卡进行更新的逻辑通道。
S2047,执行重上电指令集,指示对目标SIM卡重新进行上电,以加载更新后系统数据,激活用户数据。
S2048,通过用户体验(User experience,UX)界面提示用户更新结果。
其中,更新结果可以包括更新成功或更新失败。
可选地,当目标SIM卡中的系统数据更新完成时,可以加更新后的载系统数据,并激活目标SIM卡中的用户数据,向从第一预设服务器发送更新成功消息,该更新成功消息可以用于指示目标SIM卡中的系统数据更新完成。
需要说明的是,上述S2042、S2043和S2048是可以省略的,且当对目标SIM卡中的系统数据进行更新的步骤中需要执行S2043时,可以在S2044之前执行S2042和S2043,另外,可以在S2043之后、S2044之前也执行S2047,即在对系统数据或用户数据完成擦除之后,立即重新对目标SIM卡进行上电,然后再继续执行S2044。
由前述可知,由于目标更新文件包括APDU写入指令集、版本标识更新指令集和重上电指令集,还可以包括系统擦除指令集、用户数据擦除指令集和更新模式设置指令集至少一个,而更新描述信息可以包括系统数据擦除标识和用户数据擦除标识的至少一个,那么在对目标SIM卡中的系统数据进行更新时,根据目标更新描述信息即可以确定本次更新是update还是upgrade,是否需要先对系统数据或用户数据进行擦除,相应的对系统数据进行更新的方式可以包括下述几种情况:
在一种可能的实现方式中,目标更新描述信息不包括系统数据擦除标识也不包括用户数据擦除标识,则不需要对系统数据和用户数据进行擦除,终端可以将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,终端可以依次执行版本标识更新指令和重上电指令。
在另一种可能的实现方式中,目标更新描述信息不包括系统数据擦除标识,但包括用户数据擦除标识,则可以不对系统数据进行擦除,那么终端可以先执行用户数据擦除指令集,再将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,可以执行版本标识更新指令集和重上电指令集。
在另一种可能的实现方式中,目标更新描述信息包括系统数据擦除标识,但不包括用户数据擦除标识,则可以对系统数据进行擦除,那么终端可以先执行系统数据擦除指令集,再将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,可以执行版本标识更新指令集和重上电指令集。
在另一种可能的实现方式中,目标更新描述信息包括系统擦除标识和用户数据擦除标识,则在将APDU写入指令集发送给目标SIM卡之前,需要先对系统数据和用户数据进行擦除,即可以先按照任意次序执行系统数据擦除指令集、用户数据擦除指令集和更新模式设置指令集,之后可以将APDU写入指令集发送给目标SIM卡,在目标SIM卡执行完APDU写入指令集之后,可以执行版本标识更新指令集和重上电指令集。
需要说明的是,终端在将APDU写入指令集发送给目标SIM卡之后,也可以不执行版本标识更新指令集和重上电指令集。
还需要说明的是,当目标更新描述信息不包括系统数据擦除标识时,无论该目标更新描述信息是否包括用户数据擦除标识,都可以从目标更新文件获取更新模式设置指令集,并在执行APDU写入指令集之前执行该更新模式设置指令集。
也即是,通过对将更新文件拆分成多个指令集,并结合更新描述信息,可以根据实际的更新需求,动态增减和排列多个指令集,能够同时满足不需要擦除系统数据(update)以及需要擦除系统数据的更新(upgrade),进一步提高了对系统数据进行更新的灵活性。
例如,一种排序组合后的更新指令可以如下所示:
其中,“erase_cos”为系统数据擦除指令集,“erase_profile”为用户数据擦除指令集,“passthrough”为更新模式设置指令集,“first segment”和“second segment”为APDU写入指令集,“write cos version”为版本标识更新指令集,“reset sim power”为重上电指令集。
可选地,在本次对目标SIM卡中的系统数据进行更新之后,还可以判断是否存在新的目标更新文件,如果是则继续按照与前述相似的步骤来基于新的目标更新文件,对该系统数据进行更新,否则结束对。
其中,按照与前述相似的步骤,再次获取新的更新描述信息,并对新的更新描述信息进行校验。如果获取到新的更新描述信息并校验通过,则可以确定存在新的目标更新文件,否则可以确定不存在新的目标更新文件。
在本申请实施例中,当检测到目标SIM卡的更新指示消息时,可以获取更至少一个更新描述信息。由于该更新描述信息可以描述与更新描述信息对应的更新文件的更新特征,因此,可以基于目标SIM卡的系统信息对该更新描述信息进行校验。当对某个更新描述信息校验通过时,该更新描述信息为目标更新描述信息,便可以获取该目标更新描述信息对应的目标更新文件,并基于该目标更新文件,对目标SIM卡中的系统数据进行更新。也即是,能够自动根据获取到的更新描述信息,判断是否需要对系统数据进行更新,并确定需要对系统数据进行更新时,获取相应的目标更新文件对系统数据进行更新,而不必再由相关技术人员在研发环境下通过运行升级脚本来对COS进行更新,提高了对系统数据进行更新的效率和灵活性,也降低了运维成本。
请参照图4,为本申请实施例所提供的一种更新SIM卡系统数据的方法的流程图。该方法可以应用于终端。需要说明的是,该方法并不以图4以及以下所述的具体顺序为限制,应当理解,在其它实施例中,该方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该方法包括如下步骤:
S401,SIM卡更新模块与第一预设服务器建立通信通道。
其中,该通信通道可以是安全加密的通信通道。
S402,SIM卡更新模块从第一预设服务器获取得到至少一个更新描述信息。
其中,更新描述信息可以包括第一系统厂商标识、至少一个第一系统版本标识、第三系统版本标识、更新文件路径和系统数据擦除标识。
S403,SIM卡更新模块获取目标SIM卡的系统信息。
其中,系统消息可以包括目标SIM卡中系统数据的第二系统厂商标识和第二系统版本标识。
S404,SIM卡更新模块基于目标SIM卡的系统信息,对更新描述信息进行校验。
其中,对于任一更新描述信息,当该更新描述信息中的第一系统厂商标识与第二系统厂商标识相同,该更新描述信息中的至少一个第一系统版本标识包括第二系统版本标识、且该更新描述信息中的第三系统版本标识高于其他更新描述信息包括的第三系统版本标识时,确定该更新描述信息校验通过,该更新描述信息即为目标更新描述信息。
S405,SIM卡更新模块基于更新文件路径,从第一预设服务器获取目标更新文件。
其中,目标更新文件包括APDU写入指令集、版本标识更新指令集、重上电指令集,系统数据擦除指令集和更新模式设置指令集。
S406,SIM卡更新模块执行系统数据擦除指令集和更新模式设置指令集。
S407,SIM卡更新模块将APDU写入指令集发送给目标SIM卡。
S408,目标SIM卡执行APDU写入指令集。
S409,当APDU写入指令集执行完时,目标SIM卡向SIM卡更新模块发送执行完成提示信息。
S410,SIM卡更新模块接收到执行完成提示信息,依次执行版本标识更新指令集和重上电指令集。
S411,SIM卡更新模块向第一预设服务器发送更新成功消息。
请参照图5,为本申请实施例所提供的一种更新SIM卡系统数据的方法的流程图。该方法可以应用于终端。需要说明的是,该方法并不以图5以及以下所述的具体顺序为限制,应当理解,在其它实施例中,该方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该方法包括如下步骤:
S501,SIM卡更新模块与第一预设服务器建立通信通道。
其中,该通信通道可以是安全加密的通信通道。
S502,SIM卡更新模块从第一预设服务器获取得到至少一个更新描述信息。
其中,更新描述信息可以包括第一系统厂商标识、至少一个第一系统版本标识、第三系统版本标识、更新文件路径和用户数据擦除标识。
S503,SIM卡更新模块获取目标SIM卡的系统信息。
其中,系统消息可以包括目标SIM卡中系统数据的第二系统厂商标识和第二系统版本标识。
S504,SIM卡更新模块基于目标SIM卡的系统信息,对更新描述信息进行校验。
其中,对于任一更新描述信息,当该更新描述信息中的第一系统厂商标识与第二系统厂商标识相同,该更新描述信息中的至少一个第一系统版本标识包括第二系统版本标识、且该更新描述信息中的第三系统版本标识高于其他更新描述信息包括的第三系统版本标识时,确定该更新描述信息校验通过,该更新描述信息即为目标更新描述信息。
S505,SIM卡更新模块基于更新文件路径,从第一预设服务器获取目标更新文件。
其中,目标更新文件包括APDU写入指令集、版本标识更新指令集、重上电指令集和用户数据擦除指令集。
S506,SIM卡更新模块执行用户数据擦除指令集。
S507,SIM卡更新模块将APDU写入指令集发送给目标SIM卡。
S508,目标SIM卡执行APDU写入指令集。
S509,当APDU写入指令集执行完时,目标SIM卡向SIM卡更新模块发送执行完成提示信息。
S510,SIM卡更新模块接收到执行完成提示信息,依次执行版本标识更新指令集和重上电指令集。
S511,SIM卡更新模块向第一预设服务器发送更新成功消息。
对比如图4和5所提供的更新SIM卡系统数据的方法可知,在本申请实施例中,当检测到目标SIM卡的更新指示消息时,可以获取更至少一个更新描述信息。可以根据目标SIM卡的系统信息对更新描述信息进行校验。当对某个更新描述信息校验通过时,该更新描述信息即为目标更新描述信息,便可以获取该目标更新描述信息对应的目标更新文件。如果该目标更新描述信息包括系统数据擦除标识,该目标更新文件包括系统数据擦除指令集,则可以在向目标SIM卡发送APDU写入指令集之前,先擦除该目标SIM卡中的系统数据。如果该目标更新描述信息不包括系统数据擦除标识,该目标更新文件也不包括系统数据擦除指令集,则可以不必擦除该目标SIM卡中的系统数据。也即是,能够根据实际的更新需求,动态增减和排列多个指令集,能够同时满足需要擦除系统数据和/或用户数据的更新(update)以及需要擦除系统数据和用户数据的更新(upgrade),进一步提高了对系统数据进行更新的灵活性。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种更新SIM卡系统数据的装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
请参照图6,为本申请实施例提供的更新SIM卡系统数据的装置600的结构示意图,如图4所示,本实施例提供的装置600包括:
获取模块601,用于当检测到目标SIM卡的更新指示消息时,获取至少一个更新描述信息,所述更新描述信息用于描述与所述更新描述信息对应的更新文件的更新特征;获取与校验通过的目标更新描述信息对应的目标更新文件;
校验模块602,用于基于所述目标SIM卡的系统信息,对所述更新描述信息进行校验;
更新模块603,用于基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新。
可选地,所述更新指示消息包括所述目标SIM卡的更新触发指令或所述目标SIM卡的上电消息。
可选地,所述更新描述信息包括第一系统厂商标识和至少一个第一系统版本标识,所述系统信息包括所述目标SIM卡中系统数据的第二系统厂商标识和第二系统版本标识,所述校验模块还用于:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,且所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同时,确定所述更新描述信息校验通过。
可选地,所述更新描述信息还包括第三系统版本标识。
可选地,所述校验模块还用于:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同、且所述更新描述信息中的所述第三系统版本标识高于所述至少一个更新描述信息中其他更新描述信息包括的所述第三系统版本标识时,确定所述更新描述信息校验通过。
可选地,获取模块还用于:
当所述目标更新描述信息包括更新文件路径时,基于所述更新文件路径获取所述目标更新文件。
可选地,所述更新文件路径包括第一网络地址,所述基于所述更新文件路径获取所述目标更新文件,包括:
基于所述第一网络地址,从第一预设服务器获取所述目标更新文件。
可选地,所述目标更新文件存储于第一预设服务器,所述更新描述信息存储于第二预设服务器,所述第一预设服务器包括所述目标SIM卡中系统厂商的服务器、终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器;所述第二预设服务器包括所述系统厂商的服务器、所述终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器。
可选地,所述第一预设服务器和所述第二预设服务器为同一服务器。
可选地,获取模块还用于:
获取更新文件集,其中,所述更新文件集包括至少一个所述更新文件;
从所述更新文件集中获取与所述目标更新描述信息对应的所述目标更新文件。
可选地,所述目标更新文件包括APDU写入指令集;
所述更新模块还用于:
将所述APDU写入指令集发送给所述目标SIM卡。
可选地,所述更新文件集还包括版本标识更新指令集和重上电指令集,所述更新模块还用于:
依次执行所述版本标识更新指令集和所述重上电指令集。
可选地,当所述目标更新描述信息包括用户数据擦除标识时,所述目标更新文件还包括用户数据擦除指令集,所述更新模块还用于:
执行所述用户数据擦除指令集。
可选地,还包括:
提示模块,用于发出用户数据擦除提示信息。
可选地,当所述更新描述信息包括系统数据擦除标识时,所述目标更新文件还包括系统数据擦除指令集,所述更新模块还用于:
执行所述系统数据擦除指令集。
可选地,所述提示模块,还用于:
发出系统数据擦除提示信息。
可选地,所述目标更新文件还包括更新模式设置指令集,所述更新模块还用于:
执行所述更新模式设置指令集。
可选地,所述更新模块还用于:
将所述APDU写入指令集划分为多个预设大小的数据包,其中,所述APDU写入指令集由所述目标SIM卡进行解密,且包括至少一个APDU写入指令;
将多个所述数据包发送给所述目标SIM卡。
可选地,所述更新模块还用于:
解析所述APDU写入指令集,得到至少一个APDU写入指令;
依次将所述至少一个APDU写入指令发送给所述目标SIM卡。
可选地,还包括:
加载模块,用于当所述目标SIM卡中的所述系统数据更新完成时,加载更新后的所述系统数据,并激活所述目标SIM卡中的用户数据;
发送模块,用于向从第一预设服务器发送更新成功消息。
可选地,所述目标SIM卡包括嵌入式eSIM卡、虚拟vSIM卡或集成iSIM卡。
本实施例提供的更新SIM卡系统数据的装置600可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种终端。图7为本申请实施例提供的终端的结构示意图,如图7所示,本实施例提供的终端包括:存储器710和处理器720,存储器710用于存储计算机程序;处理器720用于在调用计算机程序时执行上述方法实施例所述的方法。
本实施例提供的终端可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
基于同一发明构思,本申请实施例还提供了一种芯片系统。该所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面或第一方面的任一实施方式所述的方法。
其中,该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行时实现上述方法实施例所述的方法。
请参照图8,为本申请所提供的一种终端800的结构示意图。终端800可以包括处理器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等。
可以理解的是,本申请实施例示意的结构并不构成对终端800的具体限定。在本申请另一些实施例中,终端800可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端800的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。减少了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端800的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端800的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端800的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端800充电,也可以用于终端800与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端800的结构限定。在本申请另一些实施例中,终端800也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端800的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端800的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端800中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端800上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端800上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端800的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端800可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端800通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端800可以包括1个或N个显示屏194,N为大于1的正整数。
终端800可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端800可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端800在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端800可以支持一种或多种视频编解码器。这样,终端800可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端800的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端800的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端800的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端800使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端800可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端800可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端800接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端800可以设置至少一个麦克风170C。在另一些实施例中,终端800可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端800还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端800根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端800根据压力传感器180A检测所述触摸操作强度。终端800也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定终端800的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端800围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端800抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端800的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端800通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端800可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端800是翻盖机时,终端800可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端800在各个方向上(一般为三轴)加速度的大小。当终端800静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端800可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端800可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端800通过发光二极管向外发射红外光。终端800使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端800附近有物体。当检测到不充分的反射光时,终端800可以确定终端800附近没有物体。终端800可以利用接近光传感器180G检测用户手持终端800贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端800可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端800是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。终端800可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端800利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端800执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端800对电池142加热,以减少低温导致终端800异常关机。在其他一些实施例中,当温度低于又一阈值时,终端800对电池142的输出电压执行升压,以减少低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端800的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端800可以接收按键输入,产生与终端800的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端800的接触和分离。终端800可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端800通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端800采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端800中,不能和终端800分离。
终端800的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端800的软件结构。
图9是本申请实施例的终端800的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图9所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图9所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端800的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:openGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明终端800软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (23)
1.一种更新用户身份识别模块卡系统数据的方法,其特征在于,应用于终端,所述终端包括目标SIM卡,所述方法包括:
当检测到所述目标SIM卡的更新指示消息时,获取至少一个更新描述信息,所述更新描述信息用于描述与所述更新描述信息对应的更新文件的更新特征,所述更新描述信息包括第一系统厂商标识和至少一个第一系统版本标识;
当所述更新描述信息中的所述第一系统厂商标识与所述目标SIM卡中系统数据的第二系统厂商标识相同,且所述更新描述信息中的任一所述第一系统版本标识与所述目标SIM卡中系统数据的第二系统版本标识相同时,确定所述更新描述信息校验通过;
获取目标更新描述信息对应的目标更新文件,所述目标更新描述信息为所述至少一个更新描述信息中通过校验的更新描述信息;
基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新。
2.根据权利要求1所述的方法,其特征在于,所述更新指示消息包括所述目标SIM卡的更新触发指令或所述目标SIM卡的上电消息。
3.根据权利要求1或2所述的方法,其特征在于,所述更新描述信息还包括第三系统版本标识。
4.根据权利要求3所述的方法,其特征在于,所述当所述更新描述信息中的所述第一系统厂商标识与所述目标SIM卡中系统数据的第二系统厂商标识相同,且所述更新描述信息中的任一所述第一系统版本标识与所述目标SIM卡中系统数据的第二系统版本标识相同时,确定所述更新描述信息校验通过,包括:
当所述更新描述信息中的所述第一系统厂商标识与所述第二系统厂商标识相同,所述更新描述信息中的任一所述第一系统版本标识与所述第二系统版本标识相同,且所述更新描述信息中的所述第三系统版本标识高于所述至少一个更新描述信息中其他更新描述信息包括的所述第三系统版本标识时,确定所述更新描述信息校验通过。
5.根据权利要求1-4任一所述的方法,其特征在于,所述获取目标更新描述信息对应的目标更新文件,包括:
当所述目标更新描述信息包括更新文件路径时,基于所述更新文件路径获取所述目标更新文件。
6.根据权利要求5所述的方法,其特征在于,所述更新文件路径包括第一网络地址,所述基于所述更新文件路径获取所述目标更新文件,包括:
基于所述第一网络地址,从第一预设服务器获取所述目标更新文件。
7.根据权利要求1-6任一所述的方法,其特征在于,所述目标更新文件存储于第一预设服务器,所述更新描述信息存储于第二预设服务器,所述第一预设服务器包括所述目标SIM卡中系统厂商的服务器、终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器;所述第二预设服务器包括所述系统厂商的服务器、所述终端厂商的服务器或不同于所述系统厂商的服务器和所述终端厂商的服务器的服务器。
8.根据权利要求7所述的方法,其特征在于,所述第一预设服务器和所述第二预设服务器为同一服务器。
9.根据权利要求1-8任一所述的方法,其特征在于,所述获取目标更新描述信息对应的目标更新文件,包括:
获取更新文件集,其中,所述更新文件集包括至少一个所述更新文件;
从所述更新文件集中获取与所述目标更新描述信息对应的所述目标更新文件。
10.根据权利要求1-9任一所述的方法,其特征在于,所述目标更新文件包括应用协议数据单元APDU写入指令集,所述基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新,包括:
将所述APDU写入指令集发送给所述目标SIM卡。
11.根据权利要求10所述的方法,其特征在于,所述目标更新文件还包括应版本标识更新指令集和重上电指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之后,还包括:
依次执行所述版本标识更新指令集和所述重上电指令集。
12.根据权利要求10或11所述的方法,其特征在于,当所述目标更新描述信息包括用户数据擦除标识时,所述目标更新文件还包括用户数据擦除指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之前,还包括:
执行所述用户数据擦除指令集。
13.根据权利要求12所述的方法,其特征在于,在所述基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新之前,还包括:
输出用户数据擦除提示信息。
14.根据权利要求10-13任一所述的方法,其特征在于,当所述目标更新描述信息包括系统数据擦除标识时,所述目标更新文件还包括系统数据擦除指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之前,还包括:
执行所述系统数据擦除指令集。
15.根据权利要求14所述的方法,其特征在于,在所述基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新之前,还包括:
输出系统数据擦除提示信息。
16.根据权利要求10-15任一所述的方法,其特征在于,所述目标更新文件还包括更新模式设置指令集,在所述将所述APDU写入指令集发送给所述目标SIM卡之前,还包括:
执行所述更新模式设置指令集。
17.根据权利要求10-16任一所述的方法,其特征在于,所述将所述APDU写入指令集发送给所述目标SIM卡,包括:
将所述APDU写入指令集划分为多个预设大小的数据包,其中,所述APDU写入指令集由所述目标SIM卡进行解密,且包括至少一个APDU写入指令;
将多个所述数据包发送给所述目标SIM卡。
18.根据权利要求10-17任一所述的方法,其特征在于,所述将所述APDU写入指令集发送给所述目标SIM卡,包括:
解析所述APDU写入指令集,得到至少一个APDU写入指令;
依次将所述至少一个APDU写入指令发送给所述目标SIM卡。
19.根据权利要求1-18任一所述的方法,其特征在于,还包括:
当所述目标SIM卡中的所述系统数据更新完成时,加载更新后的所述系统数据,并激活所述目标SIM卡中的用户数据;
向从第一预设服务器发送更新成功消息。
20.根据权利要求1-19任一所述的方法,其特征在于,所述目标SIM卡包括嵌入式eSIM卡、虚拟vSIM卡或集成iSIM卡。
21.一种更新用户身份识别模块卡系统数据的装置,其特征在于,所述装置设置于终端,所述终端包括目标SIM卡,所述装置包括:
获取模块,用于当检测到所述目标SIM卡的更新指示消息时,获取至少一个更新描述信息,所述更新描述信息用于描述与所述更新描述信息对应的更新文件的更新特征;获取目标更新描述信息对应的目标更新文件,所述目标更新描述信息为所述至少一个更新描述信息中通过校验的更新描述信息,所述更新描述信息包括第一系统厂商标识和至少一个第一系统版本标识;
校验模块,用于当所述更新描述信息中的所述第一系统厂商标识与所述目标SIM卡中系统数据的第二系统厂商标识相同,且所述更新描述信息中的任一所述第一系统版本标识与所述目标SIM卡中系统数据的第二系统版本标识相同时,确定所述更新描述信息校验通过;
更新模块,用于基于所述目标更新文件,对所述目标SIM卡中的系统数据进行更新。
22.一种终端,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-20任一项所述的方法。
23.一种芯片系统,其特征在于,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1-20任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526438.9A CN113784331B (zh) | 2020-06-09 | 2020-06-09 | 更新用户身份识别模块卡系统数据的方法及装置 |
CN202310002083.7A CN116321106A (zh) | 2020-06-09 | 2020-06-09 | 更新用户身份识别模块卡系统数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526438.9A CN113784331B (zh) | 2020-06-09 | 2020-06-09 | 更新用户身份识别模块卡系统数据的方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310002083.7A Division CN116321106A (zh) | 2020-06-09 | 2020-06-09 | 更新用户身份识别模块卡系统数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113784331A CN113784331A (zh) | 2021-12-10 |
CN113784331B true CN113784331B (zh) | 2022-12-30 |
Family
ID=78834934
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310002083.7A Pending CN116321106A (zh) | 2020-06-09 | 2020-06-09 | 更新用户身份识别模块卡系统数据的方法及装置 |
CN202010526438.9A Active CN113784331B (zh) | 2020-06-09 | 2020-06-09 | 更新用户身份识别模块卡系统数据的方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310002083.7A Pending CN116321106A (zh) | 2020-06-09 | 2020-06-09 | 更新用户身份识别模块卡系统数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116321106A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065965B (zh) * | 2022-03-30 | 2024-05-31 | 捷德(江西)技术有限公司 | 信息显示方法、存储方法、装置及用户识别卡和设备 |
CN116709295B (zh) * | 2022-12-14 | 2024-04-09 | 荣耀终端有限公司 | 数据获取方法及终端设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010104655A1 (en) * | 2009-03-10 | 2010-09-16 | Symbol Technologies, Inc. | Operating system updates for mobile devices via text messages |
CN104168557A (zh) * | 2014-08-28 | 2014-11-26 | 酷派软件技术(深圳)有限公司 | 操作系统的升级方法和操作系统的升级装置 |
WO2018129754A1 (zh) * | 2017-01-16 | 2018-07-19 | 华为技术有限公司 | 一种eUICC配置文件管理方法及相关装置 |
CN109257740A (zh) * | 2018-09-27 | 2019-01-22 | 努比亚技术有限公司 | Profile下载方法、移动终端及可读存储介质 |
WO2019019185A1 (zh) * | 2017-07-28 | 2019-01-31 | 华为技术有限公司 | 网络接入应用鉴权信息的更新方法、终端及服务器 |
CN110401687A (zh) * | 2018-04-25 | 2019-11-01 | 华为技术有限公司 | 一种配置文件传输方法及相关设备和存储介质 |
CN110446201A (zh) * | 2019-09-20 | 2019-11-12 | 恒宝股份有限公司 | 一种实现eSIM远程配置的通信模组、通信方法及系统 |
CN110851262A (zh) * | 2019-11-14 | 2020-02-28 | 深圳传音控股股份有限公司 | 多卡软件版本管理方法和移动终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9942094B1 (en) * | 2016-12-28 | 2018-04-10 | T-Mobile Usa, Inc. | Trusted execution environment-based UICC update |
-
2020
- 2020-06-09 CN CN202310002083.7A patent/CN116321106A/zh active Pending
- 2020-06-09 CN CN202010526438.9A patent/CN113784331B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010104655A1 (en) * | 2009-03-10 | 2010-09-16 | Symbol Technologies, Inc. | Operating system updates for mobile devices via text messages |
CN104168557A (zh) * | 2014-08-28 | 2014-11-26 | 酷派软件技术(深圳)有限公司 | 操作系统的升级方法和操作系统的升级装置 |
WO2018129754A1 (zh) * | 2017-01-16 | 2018-07-19 | 华为技术有限公司 | 一种eUICC配置文件管理方法及相关装置 |
WO2019019185A1 (zh) * | 2017-07-28 | 2019-01-31 | 华为技术有限公司 | 网络接入应用鉴权信息的更新方法、终端及服务器 |
CN110401687A (zh) * | 2018-04-25 | 2019-11-01 | 华为技术有限公司 | 一种配置文件传输方法及相关设备和存储介质 |
CN109257740A (zh) * | 2018-09-27 | 2019-01-22 | 努比亚技术有限公司 | Profile下载方法、移动终端及可读存储介质 |
CN110446201A (zh) * | 2019-09-20 | 2019-11-12 | 恒宝股份有限公司 | 一种实现eSIM远程配置的通信模组、通信方法及系统 |
CN110851262A (zh) * | 2019-11-14 | 2020-02-28 | 深圳传音控股股份有限公司 | 多卡软件版本管理方法和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113784331A (zh) | 2021-12-10 |
CN116321106A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633090B (zh) | 补丁方法、相关装置及系统 | |
CN113961157B (zh) | 显示交互系统、显示方法及设备 | |
CN113704205B (zh) | 日志存储的方法、芯片、电子设备和可读存储介质 | |
US12032938B2 (en) | Plug-in installation method, apparatus, and storage medium | |
CN113254409A (zh) | 文件共享方法、系统及相关设备 | |
CN110989961A (zh) | 一种声音处理方法及其装置 | |
CN113821767A (zh) | 应用程序的权限管理方法、装置和电子设备 | |
CN114579389A (zh) | 应用的管理方法、装置、设备及存储介质 | |
CN113641271A (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN113784331B (zh) | 更新用户身份识别模块卡系统数据的方法及装置 | |
CN114065229A (zh) | 一种权限管理方法及终端设备 | |
CN113438366A (zh) | 信息通知的交互方法、电子设备和存储介质 | |
CN113485709B (zh) | 应用优化方法、装置以及电子设备 | |
CN114546820B (zh) | 一种应用程序的调试方法及电子设备 | |
CN111249728B (zh) | 一种图像处理方法、装置及存储介质 | |
CN112817610A (zh) | cota包安装方法及相关装置 | |
CN115017498B (zh) | 小应用程序的操作方法和电子设备 | |
CN113590346B (zh) | 处理业务请求的方法和电子设备 | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN113867851A (zh) | 电子设备操作引导信息录制方法、获取方法和终端设备 | |
CN114003241A (zh) | 应用程序的界面适配显示方法、系统、电子设备和介质 | |
CN117707562B (zh) | 参数更新方法和终端设备 | |
CN114996162B (zh) | 测试方法及相关装置 | |
CN115952564B (zh) | 数据写入方法和终端设备 | |
CN116709609B (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 |