CN106156667B - 开卡数据写入方法、装置及系统 - Google Patents

开卡数据写入方法、装置及系统 Download PDF

Info

Publication number
CN106156667B
CN106156667B CN201610466532.3A CN201610466532A CN106156667B CN 106156667 B CN106156667 B CN 106156667B CN 201610466532 A CN201610466532 A CN 201610466532A CN 106156667 B CN106156667 B CN 106156667B
Authority
CN
China
Prior art keywords
data
card
thread
chip
smart machine
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
Application number
CN201610466532.3A
Other languages
English (en)
Other versions
CN106156667A (zh
Inventor
朱毅凡
陈杨
续丽娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing millet Payment Technology Co., Ltd.
Original Assignee
Beijing Millet Payment Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Millet Payment Technology Co Ltd filed Critical Beijing Millet Payment Technology Co Ltd
Priority to CN201610466532.3A priority Critical patent/CN106156667B/zh
Priority to PCT/CN2016/098946 priority patent/WO2017219513A1/zh
Publication of CN106156667A publication Critical patent/CN106156667A/zh
Priority to EP17171104.7A priority patent/EP3261041A1/en
Priority to US15/614,630 priority patent/US10558973B2/en
Application granted granted Critical
Publication of CN106156667B publication Critical patent/CN106156667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/128Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by electric registration, e.g. electrolytic, spark erosion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/07701Constructional details, e.g. mounting of circuits in the carrier the record carrier comprising an interface suitable for human interaction
    • G06K19/07703Constructional details, e.g. mounting of circuits in the carrier the record carrier comprising an interface suitable for human interaction the interface being visual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/352Contactless payments by cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/356Aspects of software for card payments
    • G06Q20/3567Software being in the reader
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开揭示了一种开卡数据写入方法、装置及系统,属于计算机技术领域。所述开卡数据写入方法包括:在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程;利用所述第一后台线程从服务器获取开卡所需要的第一部分数据,将所述第一部分数据写入所述SE芯片中;在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程,利用所述第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中。解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。

Description

开卡数据写入方法、装置及系统
技术领域
本公开涉及计算机技术领域,特别涉及一种开卡数据写入方法、装置及系统。
背景技术
随着近场通讯(英文:near field communication,NFC)技术及智能设备的迅速发展,NFC设备的卡模拟功能在移动支付及公交卡等领域已日渐成熟。
NFC设备上的安全元件(英文:secure dlement,SE)具有自己的计算能力,在卡模拟应用中,NFC设备通过离线预置或者是网络发卡的形式在SE中写入卡模拟时需要的卡数据,以实现卡模拟的功能。常见的一种将卡数据写入SE的方式是:NFC设备上安装有对应的应用程序(英文:application,App),在利用App开卡的过程中,NFC设备需要多次执行与服务器之间的交互操作,等相关的交互操作完成后,最后从服务器获取开卡需要的数据,将获取的数据一次性写入SE芯片中,由于交互操作过程以及数据写入的过程均需要较长的时间,因此导致利用NFC设备进行开卡时耗时过长。
发明内容
本公开提供一种开卡数据写入方法、装置及系统。所述技术方案如下:
根据本公开实施例的第一方面,提供一种开卡数据写入方法,应用于包含有SE芯片的智能设备中,所述方法包括:在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程;利用所述第一后台线程从服务器获取开卡所需要的第一部分数据,将所述第一部分数据写入所述SE芯片中;在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程,利用所述第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,所述第一部分数据和所述第二部分数据是需要写入SE芯片中的与开卡相关的数据。
通过在UI线程实现开卡前的相关操作的过程中,即利用创建的第一后台线程向SE芯片写入开卡需要的部分数据,从而使得在UI线程完成开卡前的相关操作时,已经向SE芯片写入了开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,被写入至SE芯片的与开卡相关的部分数据所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
可选的,所述在利用UI线程实现开卡前的相关操作的过程中,创建第一后台线程,包括:在利用所述UI线程实现开卡前的相关操作的过程中,若所述UI线程接收到用于指示允许开卡的允许指示,则创建所述第一后台线程。由于UI线程实现开卡前的相关操作较为复杂和多样,因此为了尽快的向SE芯片写入开卡需要的数据,可以在UI线程接收到用于指示允许开卡的允许指示时,创建第一后台线程,以执行向SE芯片写入开卡需要的数据,从而使得在UI线程实现开卡的相关操作过程中,能尽量早的向SE芯片写入数据,以尽量减少开卡耗时。
可选的,所述创建第二后台线程,包括:检测所述第一后台线程是否将所述第一部分数据全部写入所述SE芯片中;若所述第一后台线程尚未将所述第一部分数据全部写入所述SE芯片中,则等待所述第一后台线程继续将剩余的所述第一部分数据写入所述SE芯片,在将所述第一部分数据全部写入所述SE芯片后,创建所述第二后台线程;若所述第一后台线程已将所述第一部分数据全部写入所述SE芯片中,则创建所述第二后台线程。通过在判定第一后台线程将第一部分数据全部写入了SE芯片之后,再创建第二后台线程,避免了在利用两个线程同时向SE芯片写入数据时可能出错的问题。
可选的,所述方法还包括:检测所述UI线程是否完成开卡前的相关操作;若所述UI线程完成了开卡前的相关操作,则显示开卡控件;在所述开卡控件被触发时,判定利用所述UI线程完成了开卡前的相关操作且确定开卡。为了避免开卡前的相关操作发生了漏操作,需要在确定UI线程完成了开卡前的相关操作后显示开卡控件,以便于执行最后向UE芯片写入剩余数据的操作。
可选的,所述方法还包括:在所述第一部分数据和所述第二部分数据均被成功写入所述SE芯片后,显示用于提示发卡成功的提示信息。
可选的,所述第一部分数据是开卡所需要的非个人化数据,所述第二部分数据是开卡所需要的个人化数据。由于非个人化数据是实例化卡时必须写入至SE芯片的数据,这些数据不受UI线程操作的影响,因此可以在UI线程执行开卡前的相关操作的过程中,将非个人化数据写入SE芯片,然后在UI线程完成了开卡前的相关操作时,将个人化数据写入SE芯片,从而保证了开卡时SE芯片中数据的正确性。
根据本公开实施例的第二方面,提供一种开卡数据写入方法,应用于服务器中,所述方法包括:接收智能设备发送的第一数据获取请求,向所述智能设备发送开卡所需要的第一部分数据,所述第一数据获取请求是所述智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程后,利用所述第一后台线程发送的,所述第一部分数据用于触发所述智能设备将所述第一部分数据写入所述智能设备中安全元件SE芯片中;获取所述智能设备开卡所需要的第二部分数据;接收所述智能设备发送的第二数据获取请求,向所述智能设备发送所述第二部分数据,所述第二数据获取请求是所述智能设备在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用所述第二后台线程发送的,所述第二部分数据用于触发所述智能设备将所述第二部分数据写入所述SE芯片中。
通过在接收到智能设备的第一数据获取请求时向智能设备发送与开卡相关的第一部分数据,从而使得智能设备在UI线程完成开卡前的相关操作时,已经向SE芯片写入了与开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,写入至SE芯片的与开卡相关的部分数据所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
可选的,所述获取所述智能设备开卡所需要的第二部分数据,包括:接收所述智能设备发送的第三部分数据,所述第三部分数据是所述智能设备利用所述UI线程产生的;根据预定开卡规则以及所述第三部分数据生成所述第二部分数据。
可选的,所述第一部分数据是开卡所需要的非个人化数据,所述第二部分数据是开卡所需要的个人化数据。
根据本公开实施例的第三方面,提供一种开卡数据写入装置,应用于包含有SE芯片的智能设备中,所述装置包括:第一创建模块,被配置为在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程;第一写入模块,被配置为利用所述第一创建模块创建的所述第一后台线程从服务器获取开卡所需要的第一部分数据,将所述第一部分数据写入所述SE芯片中;第二创建模块,被配置为在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程;第二写入模块,被配置为利用所述第二创建模块创建的所述第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,所述第一部分数据和所述第二部分数据是需要写入SE芯片中的与开卡相关的数据。
可选的,所述第一创建模块,还被配置为:在利用所述UI线程实现开卡前的相关操作的过程中,若所述UI线程接收到用于指示允许开卡的允许指示,则创建所述第一后台线程。
可选的,所述第二创建模块,包括:检测子模块,被配置为检测所述第一后台线程是否将所述第一部分数据全部写入所述SE芯片中;第一创建子模块,被配置为在所述检测子模块检测到所述第一后台线程尚未将所述第一部分数据全部写入所述SE芯片中时,等待所述第一后台线程继续将剩余的所述第一部分数据写入所述SE芯片,在将所述第一部分数据全部写入所述SE芯片后,创建所述第二后台线程;第二创建子模块,被配置为在所述检测子模块检测到所述第一后台线程已将所述第一部分数据全部写入所述SE芯片中时,创建所述第二后台线程。
可选的,所述装置还包括:检测模块,被配置为检测所述UI线程是否完成开卡前的相关操作;第一显示模块,被配置为在所述检测模块检测到所述UI线程完成了开卡前的相关操作时,显示开卡控件;判定模块,被配置为在所述第一显示模块显示的所述开卡控件被触发时,判定利用所述UI线程完成了开卡前的相关操作且确定开卡。
可选的,所述装置还包括:第二显示模块,被配置为在所述第一部分数据和所述第二部分数据均被成功写入所述SE芯片后,显示用于提示发卡成功的提示信息。
可选的,所述第一部分数据是开卡所需要的非个人化数据,所述第二部分数据是开卡所需要的个人化数据。
根据本公开实施例的第四方面,提供一种开卡数据写入装置,应用于服务器中,所述装置包括:第一收发模块,被配置为接收智能设备发送的第一数据获取请求,向所述智能设备发送开卡所需要的第一部分数据,所述第一数据获取请求是所述智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程后,利用所述第一后台线程发送的,所述第一部分数据用于触发所述智能设备将所述第一部分数据写入所述智能设备中安全元件SE芯片中;获取模块,被配置为获取所述智能设备开卡所需要的第二部分数据;第二收发模块,被配置为接收所述智能设备发送的第二数据获取请求,向所述智能设备发送所述获取模块获取的所述第二部分数据,所述第二数据获取请求是所述智能设备在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用所述第二后台线程发送的,所述第二部分数据用于触发所述智能设备将所述第二部分数据写入所述SE芯片中。
可选的,所述获取模块,包括:接收子模块,被配置为接收所述智能设备发送的第三部分数据,所述第三部分数据是所述智能设备利用所述UI线程产生的;生成子模块,被配置为根据预定开卡规则以及所述接收子模块接收到的所述第三部分数据生成所述第二部分数据。
可选的,所述第一部分数据是开卡所需要的非个人化数据,所述第二部分数据是开卡所需要的个人化数据。
根据本公开实施例的第五方面,提供一种开卡数据写入系统,所述系统包括智能设备和服务器,所述智能设备包括如第三方面和第三方面各种可选实现方式中任一所述的开卡数据写入装置,所述服务器包括如第四方面和第四方面各种可选实现方式中任一所述的开卡数据写入装置。
根据本公开实施例的第六方面,提供一种开卡数据写入装置,应用于包含有SE芯片的智能设备中,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程;
利用所述第一后台线程从服务器获取开卡所需要的第一部分数据,将所述第一部分数据写入所述SE芯片中;
在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程,利用所述第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,所述第一部分数据和所述第二部分数据是需要写入SE芯片中的与开卡相关的数据。
根据本公开实施例的第七方面,提供一种开卡数据写入装置,应用于服务器中,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收智能设备发送的第一数据获取请求,向所述智能设备发送开卡所需要的第一部分数据,所述第一数据获取请求是所述智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程后,利用所述第一后台线程发送的,所述第一部分数据用于触发所述智能设备将所述第一部分数据写入所述智能设备中安全元件SE芯片中;
获取所述智能设备开卡所需要的第二部分数据;
接收所述智能设备发送的第二数据获取请求,向所述智能设备发送所述第二部分数据,所述第二数据获取请求是所述智能设备在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用所述第二后台线程发送的,所述第二部分数据用于触发所述智能设备将所述第二部分数据写入所述SE芯片中。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的智能设备的结构示意图;
图2是根据一示例性实施例示出的一种开卡数据写入方法的流程图;
图3A是根据另一示例性实施例示出的一种开卡数据写入方法的流程图;
图3B是根据一示例性实施例示出的创建第二后台线程时的流程图;
图3C和3D是根据一示例性实施例示出的两种开卡过程中各流程使用时长的示意图;
图4是根据再一示例性实施例示出的一种开卡数据写入方法的流程图;
图5A是根据一示例性实施例示出的一种开卡数据写入装置的框图;
图5B是根据另一示例性实施例示出的一种开卡数据写入装置的框图;
图6A是根据再一示例性实施例示出的一种开卡数据写入装置的框图;
图6B是根据再一示例性实施例示出的一种开卡数据写入装置的框图;
图7是根据一示例性实施例示出的一种开卡数据写入系统的框图;
图8是根据再一示例性实施例示出的一种开卡数据写入装置的框图;
图9是根据再一示例性实施例示出的一种开卡数据写入装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的智能设备的结构示意图,如图1所示,该智能设备100至少可以包括SE芯片120和NFC射频单元140。
为了能够实现对实体卡的模拟,SE芯片120用于存储模拟实体卡时实体卡中需要存储的数据,SE芯片120具备运算能力,可以对存储的数据进行修改。
NFC射频单元140具备射频通信功能,其可以通过射频技术与外界NFC通信设备进行通信。
SE芯片120可以与NFC射频单元140进行信息交互,SE芯片120将需要发送出的数据通过NFC射频单元140进行发送,NFC射频单元140可以将接收到的数据发送至SE芯片120,由SE芯片120进行运算或修改存储的数据。
该智能设备100还可以包括其他通信单元160,该其他通信单元160可以与网络侧设备(比如服务器)进行通信,SE芯片120通过其他通信单元160与网络侧设备进行数据交互。
在利用智能设备100模拟NFC卡(比如常见的公交卡、银行卡)时,通常需要智能设备100具备SE芯片120和NFC射频单元140,SE芯片120用于存储模拟实体卡时需要的数据,NFC射频单元140与SE芯片120结合实现NFC卡的功能。具备上述SE芯片120和NFC射频单元140的智能设备100也可以称为NFC设备。
下述各个实施例均基于图1结构的智能设备实现开卡的功能。
图2是根据一示例性实施例示出的一种开卡数据写入方法的流程图,如图2所示,该开卡数据写入方法应用于图1所示的智能设备100中,包括以下步骤。
在步骤201中,在利用UI线程实现开卡前的相关操作的过程中,创建第一后台线程。
UI线程是执行开卡前相关操作的线程,一般的,UI线程用于显示开卡前与开卡相关操作的页面、执行这些页面的相关操作等。
在实际应用中,智能设备通常可以安装与实例化NFC卡相关的应用程序,利用该应用程序创建UI线程,该UI线程可以与服务器进行交互,以获取开卡过程中需要显示的页面以及执行页面所提供的相关操作。
比如,在开卡过程中,常见与开卡相关的页面包括显示的与开卡相关的服务条款的显示页面、开卡相关的个人化数据输入页面等,这些页面上可以有引导用户输入个人化数据的输入框以及引导用户确认或取消输入个人化数据的控件等。
在步骤202中,利用第一后台线程从服务器获取开卡所需要的第一部分数据,将第一部分数据写入SE芯片中。
在步骤203中,在利用UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程,利用第二后台线程将开卡所需要的第二部分数据写入SE芯片中,第一部分数据和第二部分数据是需要写入SE芯片中的与开卡相关的数据。
第一部分数据是服务器提供的开卡时需要写入SE芯片中的数据,第一部分数据一般是开卡所需要的预加载数据,第一部分数据通常不会因UI线程的操作而发生变化。
第二部分数据是开卡时需要写入SE芯片中的数据,第二部分数据可能会因UI线程的操作而发生变化。
综上所述,本公开实施例中提供的开卡数据写入方法,通过在UI线程实现开卡前的相关操作的过程中,即利用创建的第一后台线程向SE芯片写入开卡需要的部分数据,从而使得在UI线程完成开卡前的相关操作时,已经向SE芯片写入了开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,被写入SE芯片的与开卡相关的部分数据时所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
图3A是根据另一示例性实施例示出的一种开卡数据写入方法的流程图,如图3所示,该开卡数据写入方法应用于图1所示的智能设备100中,包括以下步骤。
在步骤301中,在利用UI线程实现开卡前的相关操作的过程中,创建第一后台线程。
UI线程是执行开卡前相关操作的线程,一般的,UI线程用于显示开卡前与开卡相关操作的页面、执行这些页面的相关操作等。
在实际应用中,智能设备通常可以安装与实例化NFC卡相关的应用程序,利用该应用程序创建UI线程,该UI线程可以与服务器进行交互,以获取开卡过程中需要显示的页面以及执行页面所提供的相关操作。
比如,在开卡过程中,常见的页面包括显示的与开卡相关的服务条款的显示页面、开卡相关的个人化数据输入页面等,这些页面上可以有引导用户输入个人化数据的输入框以及引导用户确认或取消输入个人化数据的控件等。
可选的,智能设备在利用UI线程实现开卡前的相关操作的过程中,若UI线程接收到用于指示允许开卡的允许指示,则创建第一后台线程。
这里的允许指示一般意味着开卡用户允许开卡,此时UI线程可以继续执行开卡前的相关操作。换句话说,允许指示意味着用户准备根据UI线程执行开卡前的相关操作。
比如,在一种常见的开卡流程中,UI线程通常会先显示从服务器获取的与开卡相关的服务条款事项,当用户同意服务条款事项时,则可以判定UI线程接收到用于指示允许开卡的允许指示,此时则可以创建第一后台线程。
还比如,在另一种常见的开卡流程中,UI线程可能会显示询问用户是否希望开卡的提示,当用户确认希望开卡时,则可以判定UI线程接收到用于指示允许开卡的允许指示,此时则可以创建第一后台线程。
第一后台线程一般不涉及UI界面的显示或操作,其在UI线程执行的过程中,可以与UI线程并列运行,也可以与UI线程串行运行。第一后台线程在与UI线程串行运行的过程中,由于UI线程在操作的整个流程可能会暂停运行,比如等待用户操作时,因此第一后台线程可以在UI线程停止运行的间隔运行。但从宏观角度看,第一后台线程与UI线程仍旧可以看成是并列运行的关系,也即在UI线程执行的整个时长内,第一后台线程可以同时运行。
在步骤302中,利用第一后台线程从服务器获取开卡所需要的第一部分数据,将第一部分数据写入SE芯片中。
第一部分数据是服务器提供的开卡时需要写入SE芯片中的数据,这些数据一般是开卡所需要的预加载数据,第一部分数据通常不会因UI线程的操作而发生变化。
也就是说,第一部分数据与个人化数据无关,而为了使得实例化后NFC卡的辨识,需要向SE芯片写入与用户信息相关的数据,以使得NFC卡具备唯一的身份,这类数据一般称为个人化数据,也即本实施例中下面提及的第二部分数据。
第二部分数据通常是开卡时需要写入SE芯片中的与用户信息相关的数据,第二部分数据可能会因UI线程的操作而发生变化。由于在利用UI线程操作时可能需要用户输入个人化数据,比如用户的电话号码、身份信息、充值金额等,因此不同用户在利用UI线程执行开卡前的相关操作时,UI线程获取到的用户输入的数据可能全部或部分不同,因此这些数据可以由UI线程的操作而决定。
可选的,个人化数据还可以包括服务器为开卡操作分配的用于唯一标识用户身份的数据。
可选的,第一部分数据可以包括与NFC射频单元交互的数据,还可以包括用于修改SE芯片中个人化数据的数据。
为了进行上述数据的区分,可以将开卡需要写入SE芯片中的数据分为第一部分数据和第二部分数据,其中,第一部分数据是开卡所需要的非个人化数据,第二部分数据是开卡所需要的个人化数据。
第一后台线程在向SE芯片写入第一部分数据时,可以通过预定的方式写入,写入至SE芯片的路径也可以是预先设定的。
由于在利用智能设备开卡的过程中,UI线程引导用户输入个人化数据,因此UI线程会占用一定的时长,且该时长是开卡流程中必须占用的,很显然,在UI线程执行期间,利用第一后台线程将第一部分数据写入SE芯片,可以节省用户后期等待线程将第一部分数据写入SE芯片的写入时间。
在步骤303中,检测UI线程是否完成开卡前的相关操作。
一般的,当应用程序利用UI线程执行开卡前的相关操作时,UI线程执行的相关操作是已知的,因此,根据UI线程执行的相关操作即可判定UI线程是否完成开卡前的相关操作。也就是说,UI线程是否具备显示开卡控件的条件,以促使用户利用开卡控件确定开卡。
在步骤304中,若UI线程完成了开卡前的相关操作,则显示开卡控件,在开卡控件被触发时,判定利用UI线程完成了开卡前的相关操作且确定开卡。
一般的,当UI线程完成了开卡前的相关操作,显示的开卡控件的属性为允许操作或允许操作响应。这种情况下,用户可以触发该开卡控件,当用户触发该开卡控件时,UI线程可以得知该开卡控件被触发。
而当线程未完成开卡前的相关操作,则显示的开卡控件的属性一般为禁止操作或禁止操作响应,比如常见的以灰色形式表示。这种情况下,即使用户触发了该开卡控件,UI线程仍然不会对该触发操作进行响应。
这里所讲的显示开卡控件是指显示属性为允许操作或允许操作响应的开卡控件。
当用户触发开卡控件,表明用户不再修改UI线程中所涉及界面的数据输入,因此此时则可以判定确定开卡。
在步骤305中,在利用UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程。
在利用UI线程完成开卡前的相关操作且确定开卡后,通常意味着用户不再修改个人化数据,此时则可以创建第二后台线程,实现个人化数据向SE芯片的写入。
然而,由于已经建立了第一后台线程向SE芯片写入第一部分数据,如果该第一部分数据尚未写完,且第一后台线程和第二后台线程同时向SE芯片写入数据,则可能出现数据写入错误,为了避免这种情况,智能设备在利用应用程序创建第二后台线程时,可以参见图3B中所示的步骤。
在步骤305a中,检测第一后台线程是否将第一部分数据全部写入SE芯片中。
一般的,当第一后台线程将第一部分数据全部写入SE芯片,则应用程序会释放掉该第一后台线程。
当第一后台线程尚未被释放掉时,则可以判定第一后台线程尚未将第一部分数据全部写入SE芯片;当第一后台线程已经被释放掉时,则可以判定第一后台线程尚已经将第一部分数据全部写入SE芯片中。
在步骤305b中,若第一后台线程尚未将第一部分数据全部写入SE芯片中,则等待第一后台线程继续将剩余的第一部分数据写入SE芯片,在将第一部分数据全部写入SE芯片后,创建第二后台线程。
若第一后台线程尚未将第一部分数据全部写入SE芯片中,则等待第一后台线程继续将剩余的第一部分数据写入SE芯片,直到第一后台线程被释放,此时则可以创建第二后台线程。
在步骤305c中,若第一后台线程已将第一部分数据全部写入SE芯片中,则创建第二后台线程。
可替换地,如果第一后台线程将第一部分数据写入SE芯片的第一路径下,第二后台线程将第二部分数据写入SE芯片的第二路径下,第一路径和第二路径不同,这种情况下,一般不会出现写入数据错误,此时在创建第二后台线程时,可以不用等到第一后台线程完全释放,即可创建第二后台线程。
在步骤306中,利用第二后台线程将开卡所需要的第二部分数据写入SE芯片中。
开卡所需要的第二部分数据一般由UI线程执行的相关操作中得到的数据。
可选的,第二部分数据也可以是先由UI线程执行相关操作得到,然后被同步到服务器的数据,这样在实现时,第二后台线程则可以从服务器拉取到开卡需要的第二部分数据。
举例来讲,利用UI线程获得的第二部分数据被同步至服务器后,由服务器进行审核,并在审核通过后,与第一部分数据进行绑定存储。第二后台线程向服务器发送获取第二部分数据的获取请求,服务器反馈审核通过的第二部分数据,第二后台线程将从服务器获取到的第二部分数据写入SE芯片中。
第二后台线程在向SE芯片写入第二部分数据时,可以通过预定的方式写入,写入至SE芯片的路径也可以是预先设定的。
在步骤307中,在第一部分数据和第二部分数据均被成功写入该SE芯片后,显示用于提示发卡成功的提示信息。
提示信息可以用于提示用户发卡成功,这样用户则可以利用NFC设备代替实务卡进行使用。
在发卡成功之后,NFC设备可以利用NFC射频单元与NFC接收器进行通信,利用通信信息修改SE芯片中的数据。
以模拟公交卡的NFC设备为例,NFC设备中的SE芯片中包含用于指示剩余金额的数据,当NFC设备靠近公交费用扣除器时,则NFC设备中的NFC射频单元可以获知公交费用扣除器告知的需要扣除的资源值,NFC射频单元会通知SE芯片修改指示剩余金额的数据,将该数据减少该资源值。
通过上述开卡流程,如果利用第一后台线程写入第一部分数据的时长短于UI线程执行开卡前的相关操作的时长,且创建UI线程后预定时长△t后创建第一后台线程,则开卡使用的总时长为UI线程执行开卡前的相关操作的时长加上利用第二后台线程写入第二部分数据的时长。如图3C所示,t1为UI线程执行开卡前的相关操作的时长,t2为利用第一后台线程写入第一部分数据的时长,创建UI线程后预定时长△t后创建第一后台线程,t3为利用第二后台线程写入第二部分数据的时长,t2小于t1,此时开卡使用的总时长为t1+t3。
而如果利用第一后台线程写入第一部分数据的时长长于UI线程执行开卡前的相关操作的时长,且创建UI线程后预定时长△t后创建第一后台线程,则开卡使用的总时长为利用第一后台线程写入第一部分数据的时长加上利用第二后台线程写入第二部分数据的时长。如图3D所示,t1为UI线程执行开卡前的相关操作的时长,t2为利用第一后台线程写入第一部分数据的时长,创建UI线程后预定时长△t后创建第一后台线程,t3为利用第二后台线程写入第二部分数据的时长,t2大于t1,此时开卡使用的总时长为△t+t2+t3,△t小于t1。
很显然,不论图3C还是图3D,开卡使用的总时长均小于常规的开卡使用总时长t1+t2+t3。
综上所述,本公开实施例中提供的开卡数据写入方法,通过在UI线程实现开卡前的相关操作的过程中,即利用创建的第一后台线程向SE芯片写入开卡需要的部分数据,从而使得在UI线程完成开卡前的相关操作时,已经向SE芯片写入了开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,被写入SE芯片的与开卡相关的部分数据时所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
另外,由于UI线程实现开卡前的相关操作较为复杂和多样,因此为了尽快的向SE芯片写入开卡需要的数据,可以在UI线程接收到用于指示允许开卡的允许指示时,创建第一后台线程,以执行向SE芯片写入开卡需要的数据,从而使得在UI线程实现开卡的相关操作过程中,能尽量早的向SE芯片写入数据,以尽量减少开卡耗时。
通过在判定第一后台线程将第一部分数据全部写入了SE芯片之后,再创建第二后台线程,避免了在利用两个线程同时向SE芯片写入数据时可能出错的问题。
为了避免开卡前的相关操作发生了漏操作,需要在确定UI线程完成了开卡前的相关操作后显示开卡控件,以便于执行最后向UE芯片写入剩余数据的操作。
在实际应用中,由于第一部分数据是智能设备利用第一后台线程写入的,第二部分数据是智能设备通过第二后台线程写入的,因此针对提供的第一部分数据和第二部分数据,服务器也会有对应改进,下面通过图4中的步骤对开卡过程中智能设备与服务器的实现过程进行解释说明。
图4是根据再一示例性实施例示出的一种开卡数据写入方法的流程图,该开卡数据写入方法包括如下步骤。
在步骤401中,智能设备在利用UI线程实现开卡前的相关操作的过程中,创建第一后台线程。
步骤401与步骤301类似,具体可以参见对步骤301的描述,这里就不再赘述。
在步骤402中,智能设备利用第一后台线程向服务器发送第一数据获取请求。
当智能设备建立第一后台线程后,为了能够获取与开卡相关的第一部分数据,智能设备可以利用第一后台线程向服务器发送第一数据获取请求。
在步骤403中,服务器接收该第一数据获取请求。
当智能设备向服务器发送第一数据获取请求后,对应的,服务器可以接收到第一数据获取请求。
在步骤404中,服务器向该智能设备反馈开卡所需要的第一部分数据。
当服务器接收到智能设备发送的第一数据获取请求之后,则可以向该智能设备反馈开卡所需要的第一部分数据。这里第一部分数据的解释可以参见步骤302中对第一部分数据的解释。
在步骤405中,智能设备接收该第一部分数据,利用第一后台线程将该第一部分数据写入SE芯片中。
步骤405与步骤302类似,具体可以参见对步骤302的描述,这里就不再赘述。
在步骤406中,智能设备在利用UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程。
步骤406可以通过步骤303至步骤305或者通过步骤305来实现,具体可以参见对步骤303至步骤305的描述,这里就不再赘述。
在步骤407中,服务器获取该智能设备开卡所需要的第二部分数据。
服务器在获取该智能设备开卡所需要的第二部分数据时,可以接收智能设备发送的第三部分数据,该第三部分数据是该智能设备利用该UI线程产生的,根据预定开卡规则以及该第三部分数据生成该第二部分数据。
一般来讲,UI线程会提示用户输入与开卡相关的个人化数据,以及与开卡相关的验证信息等,这些个人化数据以及验证信息等均可以作为第三部分数据被发送至服务器。比如,服务器可以根据验证信息进行验证,在验证成功时,根据预先存储的预定开卡规则以及第三部分数据生成第二部分数据,一般来讲,第二部分数据为用户开卡时的个人化数据,这里的个人化数据除了包含用户根据UI线程输入的个人化数据之外,还可以包括服务器为用户生成的个人化数据。
在步骤408中,智能设备利用第二后台线程向服务器发送第二数据获取请求。
由于第一后台线程仅从服务器拉取了第一部分数据,因此当智能设备需要获取第二部分数据时,需要利用第二后台线程向服务器发送第二数据获取请求。
在步骤409中,服务器接收该第二数据获取请求。
当智能设备向服务器发送第二数据获取请求后,对应的,服务器可以接收到第二数据获取请求。
在步骤410中,服务器向智能设备发送该第二部分数据。
服务器接收该第二数据获取请求后,可以向智能设备反馈该智能设备开卡相关的第二部分数据。
在步骤411中,智能设备接收该第二部分数据,利用该第二后台线程将第二部分数据写入SE芯片中。
步骤411与步骤306类似,具体可以参见对步骤306的描述,这里就不再赘述。
综上所述,本公开实施例中提供的开卡数据写入方法,智能设备在UI线程实现开卡前的相关操作的过程中,即利用创建的第一后台线程向SE芯片写入开卡需要的部分数据,从而使得在UI线程完成开卡前的相关操作时,已经向SE芯片写入了开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,被写入SE芯片的与开卡相关的部分数据时所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
在实际实现时,步骤401、步骤402、步骤405、步骤406、步骤408和步骤411可以单独实施成为以智能设备为执行主体的开卡数据写入方法;步骤403、步骤404、步骤407、步骤409和步骤410可以单独实施成为以服务器为执行主体的开卡数据写入方法。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5A是根据一示例性实施例示出的一种开卡数据写入装置的框图,如图5A所示,该开卡数据写入装置应用于图1所示的智能设备100中,该开卡数据写入装置包括但不限于:第一创建模块510、第一写入模块520、第二创建模块530和第二写入模块540。
第一创建模块510,被配置为在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程。
UI线程是执行开卡前相关操作的线程,一般的,UI线程用于显示开卡前与开卡相关操作的页面、执行这些页面的相关操作等。
在实际应用中,智能设备通常可以安装与实例化NFC卡相关的应用程序,利用该应用程序创建UI线程,该UI线程可以与服务器进行交互,以获取开卡过程中需要显示的页面以及执行页面所提供的相关操作。
比如,在开卡过程中,常见的页面包括显示的与开卡相关的服务条款的显示页面、开卡相关的个人化数据输入页面等,这些页面上可以有引导用户输入个人化数据的输入框以及引导用户确认或取消输入个人化数据的控件等。
可选的,智能设备在利用UI线程实现开卡前的相关操作的过程中,若UI线程接收到用于指示允许执行开卡的允许指示,则创建第一后台线程。
这里的允许指示一般意味着开卡用户允许开卡,此时UI线程可以继续执行开卡前的相关操作。换句话说,允许指示意味着用户准备根据UI线程执行开卡前的相关操作。
比如,在一种常见的开卡流程中,UI线程通常会先显示从服务器获取的与开卡相关的服务条款事项,当用户同意服务条款事项时,则可以判定UI线程接收到用于指示允许开卡的允许指示,此时则可以创建第一后台线程。
还比如,在另一种常见的开卡流程中,UI线程可能会显示询问用户是否希望开卡的提示,当用户确认希望开卡时,则可以判定UI线程接收到用于指示允许开卡的允许指示,此时则可以创建第一后台线程。
第一后台线程一般不涉及UI界面的显示或操作,其在UI线程执行的过程中,可以与UI线程并列运行,也可以与UI线程串行运行。第一后台线程在与UI线程串行运行的过程中,由于UI线程在操作的整个流程可能会暂停运行,比如等待用户操作时,因此第一后台线程可以在UI线程停止运行的间隔运行。但从宏观角度看,第一后台线程与UI线程仍旧可以看成是并列运行的关系,也即在UI线程执行的整个时长内,第一后台线程可以同时运行。
第一写入模块520,被配置为利用第一创建模块510创建的第一后台线程从服务器获取开卡所需要的第一部分数据,将第一部分数据写入SE芯片中。
第一部分数据是服务器提供的开卡时需要写入SE芯片中的数据,这些数据一般是开卡所需要的预加载数据,第一部分数据通常不会因UI线程的操作而发生变化。
也就是说,第一部分数据与个人化数据无关,而为了使得实例化后NFC卡的辨识,需要向SE芯片写入与用户信息相关的数据,以使得NFC卡具备唯一的身份,这类数据一般称为个人化数据,也即本实施例中下面提及的第二部分数据。
第二部分数据通常是开卡时需要写入SE芯片中的与用户信息相关的数据,第二部分数据可能会因UI线程的操作而发生变化。由于在利用UI线程操作时可能需要用户输入个人化数据,比如用户的电话号码、身份信息、充值金额等,因此不同用户在利用UI线程执行开卡前的相关操作时,UI线程获取到的用户输入的数据可能全部或部分不同,因此这些数据可以由UI线程的操作而决定。
可选的,个人化数据还可以包括服务器为开卡操作分配的用于唯一标识用户身份的数据。
可选的,第一部分数据可以包括与NFC射频单元交互的数据,还可以包括用于修改SE芯片中个人化数据的数据。
为了进行上述数据的区分,可以将开卡需要写入SE芯片中的数据分为第一部分数据和第二部分数据,其中,第一部分数据是开卡所需要的非个人化数据,第二部分数据是开卡所需要的个人化数据。
第一后台线程在向SE芯片写入第一部分数据时,可以通过预定的方式写入,写入至SE芯片的路径也可以是预先设定的。
由于在利用智能设备开卡的过程中,UI线程引导用户输入个人化数据,因此UI线程会占用一定的时长,且该时长是开卡流程中必须占用的,很显然,在UI线程执行期间,利用第一后台线程将第一部分数据写入SE芯片,可以节省用户后期等待线程将第一部分数据写入SE芯片的写入时间。
第二创建模块530,被配置为在利用UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程。
在利用UI线程完成开卡前的相关操作且确定开卡后,通常意味着用户不再修改个人化数据,此时则可以创建第二后台线程,实现个人化数据向SE芯片的写入。
第二写入模块540,被配置为利用第二创建模块530创建的第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,第一部分数据和第二部分数据是需要写入SE芯片中的与开卡相关的数据。
开卡所需要的第二部分数据一般由UI线程执行的相关操作中得到的数据。
可选的,第二部分数据也可以是先由UI线程执行相关操作得到,然后被同步到服务器的数据,这样在实现时,第二后台线程则可以从服务器拉取到开卡需要的第二部分数据。
举例来讲,利用UI线程获得的第二部分数据被同步至服务器后,由服务器进行审核,并在审核通过后,与第一部分数据进行绑定存储。第二后台线程向服务器发送获取第二部分数据的获取请求,服务器反馈审核通过的第二部分数据,第二后台线程将从服务器获取到的第二部分数据写入SE芯片中。
第二后台线程在向SE芯片写入第二部分数据时,可以通过预定的方式写入,写入至SE芯片的路径也可以是预先设定的。
在一种可能的实现方式中,该第一创建模块510还可以被配置为:在利用UI线程实现开卡前的相关操作的过程中,若UI线程接收到用于指示允许开卡的允许指示,则创建第一后台线程。
在另一种可能的实现方式中,由于已经建立了第一后台线程向SE芯片写入第一部分数据,如果该第一部分数据尚未写完,且第一后台线程和第二后台线程同时向SE芯片写入数据,则可能出现数据写入错误,为了避免这种情况,该第二创建模块530可以包括:检测子模块531、第一创建子模块532和第二创建子模块533,请参见图5B所示。
检测子模块531,被配置为检测第一后台线程是否将第一部分数据全部写入SE芯片中。
一般的,当第一后台线程将第一部分数据全部写入SE芯片,则应用程序会释放掉该第一后台线程。
当第一后台线程尚未被释放掉时,则可以判定第一后台线程尚未将第一部分数据全部写入SE芯片;当第一后台线程已经被释放掉时,则可以判定第一后台线程尚已经将第一部分数据全部写入SE芯片中。
第一创建子模块532,被配置为在检测子模块531检测到第一后台线程尚未将第一部分数据全部写入SE芯片中时,等待第一后台线程继续将剩余的第一部分数据写入SE芯片,在将第一部分数据全部写入SE芯片后,创建第二后台线程。
若第一后台线程尚未将第一部分数据全部写入SE芯片中,则等待第一后台线程继续将剩余的第一部分数据写入SE芯片,直到第一后台线程被释放,此时则可以创建第二后台线程。
第二创建子模块533,被配置为在检测子模块531检测到第一后台线程已将第一部分数据全部写入SE芯片中时,创建第二后台线程。
可替换地,如果第一后台线程将第一部分数据写入SE芯片的第一路径下,第二后台线程将第二部分数据写入SE芯片的第二路径下,第一路径和第二路径不同,这种情况下,一般不会出现写入数据错误,此时在创建第二后台线程时,可以不用等到第一后台线程完全释放,即可创建第二后台线程。
在另一种可能的实现方式中,请参见图5B所示,该卡数据写入装置还可以包括:检测模块550、第一显示模块560和判定模块570。
检测模块550,被配置为检测UI线程是否完成开卡前的相关操作。
一般的,当应用程序利用UI线程执行开卡前的相关操作时,UI线程执行的相关操作是已知的,因此,根据UI线程执行的相关操作即可判定UI线程是否完成开卡前的相关操作。也就是说,UI线程是否具备显示开卡控件的条件,以促使用户利用开卡控件确定开卡。
第一显示模块560,被配置为在检测模块550检测到UI线程完成了开卡前的相关操作时,显示开卡控件;
判定模块570,被配置为在第一显示模块560显示的开卡控件被触发时,判定利用UI线程完成了开卡前的相关操作且确定开卡。
一般的,当UI线程完成了开卡前的相关操作,显示的开卡控件的属性为允许操作或允许操作响应。这种情况下,用户可以触发该开卡控件,当用户触发该开卡控件时,UI线程可以得知该开卡控件被触发。
而当线程未完成开卡前的相关操作,则显示的开卡控件的属性一般为禁止操作或禁止操作响应,比如常见的以灰色形式表示。这种情况下,即使用户触发了该开卡控件,UI线程仍然不会对该触发操作进行响应。
这里所讲的显示开卡控件是指显示属性为允许操作或允许操作响应的开卡控件。
当用户触发开卡控件,表明用户不再修改UI线程中所涉及界面的数据输入,因此此时则可以判定确定开卡。
在另一种可能的实现方式中,请参见图5B所示,该卡数据写入装置还可以包括:第二显示模块580。
第二显示模块580,被配置为在第一部分数据和第二部分数据均被成功写入SE芯片后,显示用于提示发卡成功的提示信息。
提示信息可以用于提示用户发卡成功,这样用户则可以利用NFC设备代替实务卡进行使用。
在发卡成功之后,NFC设备可以利用NFC射频单元与NFC接收器进行通信,利用通信信息修改SE芯片中的数据。
以模拟公交卡的NFC设备为例,NFC设备中的SE芯片中包含用于指示剩余金额的数据,当NFC设备靠近公交费用扣除器时,则NFC设备中的NFC射频单元可以获知公交费用扣除器告知的需要扣除的资源值,NFC射频单元会通知SE芯片修改指示剩余金额的数据,将该数据减少该资源值。
综上所述,本公开实施例中提供的开卡数据写入装置,通过在UI线程实现开卡前的相关操作的过程中,即利用创建的第一后台线程向SE芯片写入开卡需要的部分数据,从而使得在UI线程完成开卡前的相关操作时,已经向SE芯片写入了开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,被写入SE芯片的与开卡相关的部分数据时所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
另外,由于UI线程实现开卡前的相关操作较为复杂和多样,因此为了尽快的向SE芯片写入开卡需要的数据,可以在UI线程接收到用于指示允许开卡的允许指示时,创建第一后台线程,以执行向SE芯片写入开卡需要的数据,从而使得在UI线程实现开卡的相关操作过程中,能尽量早的向SE芯片写入数据,以尽量减少开卡耗时。
通过在判定第一后台线程将第一部分数据全部写入了SE芯片之后,再创建第二后台线程,避免了在利用两个线程同时向SE芯片写入数据时可能出错的问题。
为了避免开卡前的相关操作发生了漏操作,需要在确定UI线程完成了开卡前的相关操作后显示开卡控件,以便于执行最后向UE芯片写入剩余数据的操作。
图6A是根据一示例性实施例示出的一种开卡数据写入装置的框图,如图6A所示,该开卡数据写入装置应用于服务器中,该开卡数据写入装置包括但不限于:第一收发模块610、获取模块620和第二收发模块630。
第一收发模块610,被配置为接收智能设备发送的第一数据获取请求,向智能设备发送开卡所需要的第一部分数据,第一数据获取请求是智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程后,利用第一后台线程发送的,第一部分数据用于触发智能设备将第一部分数据写入智能设备中安全元件SE芯片中;
获取模块620,被配置为获取智能设备开卡所需要的第二部分数据;
第二收发模块630,被配置为接收智能设备发送的第二数据获取请求,向智能设备发送获取模块620获取的第二部分数据,第二数据获取请求是智能设备在利用UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用第二后台线程发送的,第二部分数据用于触发智能设备将第二部分数据写入SE芯片中。
在一种可能的实现方式中,获取模块620可以包括:接收子模块621和生成子模块622,请参见图6B所示。
接收子模块621,被配置为接收智能设备发送的第三部分数据,第三部分数据是智能设备利用UI线程产生的。
生成子模块622,被配置为根据预定开卡规则以及接收子模块621接收到的第三部分数据生成第二部分数据。
一般来讲,UI线程会提示用户输入与开卡相关的个人化数据,以及与开卡相关的验证信息等,这些个人化数据以及验证信息等均可以作为第三部分数据被发送至服务器。比如,服务器可以根据验证信息进行验证,在验证成功时,根据预先存储的预定开卡规则以及第三部分数据生成第二部分数据,一般来讲,第二部分数据为用户开卡时的个人化数据,这里的个人化数据除了包含用户根据UI线程输入的个人化数据之外,还可以包括服务器为用户生成的个人化数据。
在另一种可能的实现方式中,第一部分数据是开卡所需要的非个人化数据,第二部分数据是开卡所需要的个人化数据。
综上所述,本公开实施例中提供的开卡数据写入装置,通过在接收到智能设备的第一数据获取请求时向智能设备发送与开卡相关的第一部分数据,从而使得智能设备在UI线程完成开卡前的相关操作时,已经向SE芯片写入了与开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,写入至SE芯片的与开卡相关的部分数据所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
图7是根据一示例性实施例示出的一种开卡数据写入系统的框图,该开卡数据写入系统包括智能设备710和服务器720。
智能设备710可以包括如图5A和图5B所示的开卡数据写入装置,具体可以对图5A和图5B的描述,这里就不再赘述。
服务器720可以包括如图6A和图6B所示的开卡数据写入装置,具体可以对图6A和图6B的描述,这里就不再赘述。
综上所述,本公开实施例中提供的开卡数据写入系统,智能设备在UI线程实现开卡前的相关操作的过程中,即利用创建的第一后台线程向SE芯片写入开卡需要的部分数据,从而使得在UI线程完成开卡前的相关操作时,已经向SE芯片写入了开卡相关的部分数据,在最后一步仅需要写入尚未被写入至SE芯片的数据即可,节省了在UI线程实现开卡前的相关操作过程中,被写入SE芯片的与开卡相关的部分数据时所需要的写入时长,解决了相关技术中利用NFC设备进行开卡时耗时过长的问题,降低了利用NFC设备进行开卡时的耗时。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例提供了一种开卡数据写入装置,能够实现本公开提供的开卡数据写入方法,该开卡数据写入装置应用于图1所示的智能设备100中,该开卡数据写入装置可以包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程;
利用第一后台线程从服务器获取开卡所需要的第一部分数据,将第一部分数据写入SE芯片中;
在利用UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程,利用第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,第一部分数据和第二部分数据是需要写入SE芯片中的与开卡相关的数据。
本公开另一示例性实施例提供了一种开卡数据写入装置,能够实现本公开提供的开卡数据写入方法,该开卡数据写入装置应用于服务器中,该开卡数据写入装置可以包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
接收智能设备发送的第一数据获取请求,向所述智能设备发送开卡所需要的第一部分数据,所述第一数据获取请求是所述智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,创建第一后台线程后,利用所述第一后台线程发送的,所述第一部分数据用于触发所述智能设备将所述第一部分数据写入所述智能设备中安全元件SE芯片中;
获取所述智能设备开卡所需要的第二部分数据;
接收所述智能设备发送的第二数据获取请求,向所述智能设备发送所述第二部分数据,所述第二数据获取请求是所述智能设备在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用所述第二后台线程发送的,所述第二部分数据用于触发所述智能设备将所述第二部分数据写入所述SE芯片中。
图8是根据再一示例性实施例示出的一种开卡数据写入装置的框图。例如,装置800可以是包含有SE芯片的智能设备,比如常见的移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器818来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。对应的,装置800还包括SE芯片(未图示),该SE芯片与NFC模块连接,SE芯片通过NFC模块与外部设备进行通信。SE芯片还可以通过通信组件816中其他通信方式(比如Wi-Fi,2G或3G)的通信模块,与网络侧设备通信。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述开卡数据写入方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器818执行以完成上述开卡数据写入方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图9是根据再一示例性实施例示出的一种开卡数据写入装置的框图。例如,装置900可以被提供为一网络侧设备,比如服务器。参照图9,装置900包括处理组件902,其进一步包括一个或多个处理器,以及由存储器904所代表的存储器资源,用于存储可由处理组件902的执行的指令,例如应用程序。存储器904中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件902被配置为执行指令,以执行上述开卡数据写入方法。
装置900还可以包括一个电源组件906被配置为执行装置900的电源管理,一个有线或无线网络接口908被配置为将装置900连接到网络,和一个输入输出(I/O)接口910。装置900可以操作基于存储在存储器904的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种开卡数据写入方法,其特征在于,应用于包含有安全元件SE芯片的智能设备中,所述方法包括:
在利用用户界面UI线程实现开卡前的相关操作的过程中,若所述UI线程接收到用于指示允许开卡的允许指示,则创建第一后台线程;
利用所述第一后台线程从服务器获取开卡所需要的第一部分数据,将所述第一部分数据写入所述SE芯片中,所述第一部分数据是开卡所需要的非个人化数据;
在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程,利用所述第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,所述第二部分数据是开卡所需要的个人化数据。
2.根据权利要求1所述的方法,其特征在于,所述创建第二后台线程,包括:
检测所述第一后台线程是否将所述第一部分数据全部写入所述SE芯片中;
若所述第一后台线程尚未将所述第一部分数据全部写入所述SE芯片中,则等待所述第一后台线程继续将剩余的所述第一部分数据写入所述SE芯片,在将所述第一部分数据全部写入所述SE芯片后,创建所述第二后台线程;
若所述第一后台线程已将所述第一部分数据全部写入所述SE芯片中,则创建所述第二后台线程。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述UI线程是否完成开卡前的相关操作;
若所述UI线程完成了开卡前的相关操作,则显示开卡控件;
在所述开卡控件被触发时,判定利用所述UI线程完成了开卡前的相关操作且确定开卡。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一部分数据和所述第二部分数据均被成功写入所述SE芯片后,显示用于提示发卡成功的提示信息。
5.一种开卡数据写入方法,其特征在于,应用于服务器中,所述方法包括:
接收智能设备发送的第一数据获取请求,向所述智能设备发送开卡所需要的第一部分数据,所述第一数据获取请求是所述智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,当所述UI线程接收到用于指示允许开卡的允许指示时,创建第一后台线程后,利用所述第一后台线程发送的,所述第一部分数据用于触发所述智能设备将所述第一部分数据写入所述智能设备中安全元件SE芯片中,所述第一部分数据是开卡所需要的非个人化数据;
获取所述智能设备开卡所需要的第二部分数据,所述第二部分数据是开卡所需要的个人化数据;
接收所述智能设备发送的第二数据获取请求,向所述智能设备发送所述第二部分数据,所述第二数据获取请求是所述智能设备在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用所述第二后台线程发送的,所述第二部分数据用于触发所述智能设备将所述第二部分数据写入所述SE芯片中。
6.根据权利要求5所述的方法,其特征在于,所述获取所述智能设备开卡所需要的第二部分数据,包括:
接收所述智能设备发送的第三部分数据,所述第三部分数据是所述智能设备利用所述UI线程产生的;
根据预定开卡规则以及所述第三部分数据生成所述第二部分数据。
7.一种开卡数据写入装置,其特征在于,应用于包含有安全元件SE芯片的智能设备中,所述装置包括:
第一创建模块,被配置为在利用用户界面UI线程实现开卡前的相关操作的过程中,若所述UI线程接收到用于指示允许开卡的允许指示,则创建第一后台线程;
第一写入模块,被配置为利用所述第一创建模块创建的所述第一后台线程从服务器获取开卡所需要的第一部分数据,将所述第一部分数据写入所述SE芯片中,所述第一部分数据是开卡所需要的非个人化数据;
第二创建模块,被配置为在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程;
第二写入模块,被配置为利用所述第二创建模块创建的所述第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,所述第二部分数据是开卡所需要的个人化数据。
8.根据权利要求7所述的装置,其特征在于,所述第二创建模块,包括:
检测子模块,被配置为检测所述第一后台线程是否将所述第一部分数据全部写入所述SE芯片中;
第一创建子模块,被配置为在所述检测子模块检测到所述第一后台线程尚未将所述第一部分数据全部写入所述SE芯片中时,等待所述第一后台线程继续将剩余的所述第一部分数据写入所述SE芯片,在将所述第一部分数据全部写入所述SE芯片后,创建所述第二后台线程;
第二创建子模块,被配置为在所述检测子模块检测到所述第一后台线程已将所述第一部分数据全部写入所述SE芯片中时,创建所述第二后台线程。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
检测模块,被配置为检测所述UI线程是否完成开卡前的相关操作;
第一显示模块,被配置为在所述检测模块检测到所述UI线程完成了开卡前的相关操作时,显示开卡控件;
判定模块,被配置为在所述第一显示模块显示的所述开卡控件被触发时,判定利用所述UI线程完成了开卡前的相关操作且确定开卡。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二显示模块,被配置为在所述第一部分数据和所述第二部分数据均被成功写入所述SE芯片后,显示用于提示发卡成功的提示信息。
11.一种开卡数据写入装置,其特征在于,应用于服务器中,所述装置包括:
第一收发模块,被配置为接收智能设备发送的第一数据获取请求,向所述智能设备发送开卡所需要的第一部分数据,所述第一数据获取请求是所述智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,当所述UI线程接收到用于指示允许开卡的允许指示时,创建第一后台线程后,利用所述第一后台线程发送的,所述第一部分数据用于触发所述智能设备将所述第一部分数据写入所述智能设备中安全元件SE芯片中,所述第一部分数据是开卡所需要的非个人化数据;
获取模块,被配置为获取所述智能设备开卡所需要的第二部分数据,所述第二部分数据是开卡所需要的个人化数据;
第二收发模块,被配置为接收所述智能设备发送的第二数据获取请求,向所述智能设备发送所述获取模块获取的所述第二部分数据,所述第二数据获取请求是所述智能设备在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用所述第二后台线程发送的,所述第二部分数据用于触发所述智能设备将所述第二部分数据写入所述SE芯片中。
12.根据权利要求11所述的装置,其特征在于,所述获取模块,包括:
接收子模块,被配置为接收所述智能设备发送的第三部分数据,所述第三部分数据是所述智能设备利用所述UI线程产生的;
生成子模块,被配置为根据预定开卡规则以及所述接收子模块接收到的所述第三部分数据生成所述第二部分数据。
13.一种开卡数据写入系统,其特征在于,所述系统包括智能设备和服务器,所述智能设备包括如权利要求7至10中任一所述的开卡数据写入装置,所述服务器包括如权利要求11至12中任一所述的开卡数据写入装置。
14.一种开卡数据写入装置,其特征在于,应用于包含有安全元件SE芯片的智能设备中,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
在利用用户界面UI线程实现开卡前的相关操作的过程中,若所述UI线程接收到用于指示允许开卡的允许指示,则创建第一后台线程;
利用所述第一后台线程从服务器获取开卡所需要的第一部分数据,将所述第一部分数据写入所述SE芯片中,所述第一部分数据是开卡所需要的非个人化数据;
在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程,利用所述第二后台线程将开卡所需要的第二部分数据写入所述SE芯片中,所述第二部分数据是开卡所需要的个人化数据。
15.一种开卡数据写入装置,其特征在于,应用于服务器中,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收智能设备发送的第一数据获取请求,向所述智能设备发送开卡所需要的第一部分数据,所述第一数据获取请求是所述智能设备在利用用户界面UI线程实现开卡前的相关操作的过程中,当所述UI线程接收到用于指示允许开卡的允许指示时,创建第一后台线程后,利用所述第一后台线程发送的,所述第一部分数据用于触发所述智能设备将所述第一部分数据写入所述智能设备中安全元件SE芯片中,所述第一部分数据是开卡所需要的非个人化数据;
获取所述智能设备开卡所需要的第二部分数据,所述第二部分数据是开卡所需要的个人化数据;
接收所述智能设备发送的第二数据获取请求,向所述智能设备发送所述第二部分数据,所述第二数据获取请求是所述智能设备在利用所述UI线程完成开卡前的相关操作且确定开卡后,创建第二后台线程后,利用所述第二后台线程发送的,所述第二部分数据用于触发所述智能设备将所述第二部分数据写入所述SE芯片中。
CN201610466532.3A 2016-06-23 2016-06-23 开卡数据写入方法、装置及系统 Active CN106156667B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610466532.3A CN106156667B (zh) 2016-06-23 2016-06-23 开卡数据写入方法、装置及系统
PCT/CN2016/098946 WO2017219513A1 (zh) 2016-06-23 2016-09-14 开卡数据写入方法、装置及系统
EP17171104.7A EP3261041A1 (en) 2016-06-23 2017-05-15 Method, apparatus and system for writing card activation data
US15/614,630 US10558973B2 (en) 2016-06-23 2017-06-06 Method and apparatus for card activation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610466532.3A CN106156667B (zh) 2016-06-23 2016-06-23 开卡数据写入方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106156667A CN106156667A (zh) 2016-11-23
CN106156667B true CN106156667B (zh) 2019-04-16

Family

ID=57353319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610466532.3A Active CN106156667B (zh) 2016-06-23 2016-06-23 开卡数据写入方法、装置及系统

Country Status (4)

Country Link
US (1) US10558973B2 (zh)
EP (1) EP3261041A1 (zh)
CN (1) CN106156667B (zh)
WO (1) WO2017219513A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109285001A (zh) * 2018-08-31 2019-01-29 阿里巴巴集团控股有限公司 可支付交通费用的设备、组合设备、系统及方法
CN110490285B (zh) * 2019-08-26 2023-11-28 北京小米支付技术有限公司 模拟卡片的方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8196131B1 (en) * 2010-12-17 2012-06-05 Google Inc. Payment application lifecycle management in a contactless smart card
CN104602224A (zh) * 2014-12-31 2015-05-06 浙江融创信息产业有限公司 一种基于nfc手机swp-sim卡的空中开卡方法
CN105678618A (zh) * 2015-12-31 2016-06-15 深圳前海微众银行股份有限公司 空中发卡方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983438B2 (en) * 2009-10-27 2015-03-17 Visa U.S.A. Inc. System and method for enabling a mobile communication device to operate as a financial presentation device
CN202444629U (zh) * 2012-02-29 2012-09-19 中国工商银行股份有限公司 利用移动终端进行卡操作的系统
SG10201607274UA (en) * 2012-03-01 2016-10-28 Mastercard Internat Inc Dba Mastercard Worldwide Systems and methods for mapping a mobile cloud account to a payment account
CN102929532B (zh) * 2012-09-29 2015-07-22 东莞宇龙通信科技有限公司 应用程序的启动方法及通信终端
CN105046486A (zh) * 2015-07-17 2015-11-11 百度在线网络技术(北京)有限公司 基于nfc的移动支付方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8196131B1 (en) * 2010-12-17 2012-06-05 Google Inc. Payment application lifecycle management in a contactless smart card
CN104602224A (zh) * 2014-12-31 2015-05-06 浙江融创信息产业有限公司 一种基于nfc手机swp-sim卡的空中开卡方法
CN105678618A (zh) * 2015-12-31 2016-06-15 深圳前海微众银行股份有限公司 空中发卡方法及装置

Also Published As

Publication number Publication date
WO2017219513A1 (zh) 2017-12-28
US10558973B2 (en) 2020-02-11
CN106156667A (zh) 2016-11-23
EP3261041A1 (en) 2017-12-27
US20170372295A1 (en) 2017-12-28

Similar Documents

Publication Publication Date Title
CN105426200B (zh) 通讯模组固件和插件生成方法及装置
CN108804536B (zh) 人机对话与策略生成方法、设备、系统及存储介质
WO2017219269A1 (zh) 虚拟卡片激活方法及装置
CN104951335B (zh) 应用程序安装包的处理方法及装置
CN107945133A (zh) 图像处理方法及装置
CN106203167B (zh) 应用权限管理方法及装置
EP3285219A1 (en) Resource transfer method and apparatus, computer program and recording medium
CN105955765A (zh) 应用预加载方法及装置
CN106598393A (zh) 分屏显示的方法及装置
CN105426878B (zh) 人脸聚类方法及装置
CN104915290B (zh) 应用测试方法及装置
CN106406562A (zh) 数据处理方法及装置
CN107315609A (zh) 卡模拟功能的切换方法及装置
CN105930721B (zh) 一种管理应用程序的方法和装置
CN105516485B (zh) 录音方法及装置
CN106204011A (zh) Nfc支付方法及装置
CN105871913A (zh) 身份认证方法及系统
CN105930213A (zh) 应用运行方法及装置
CN107832746A (zh) 表情识别方法及装置
CN104714826B (zh) 应用主题的加载方法及装置
CN106156667B (zh) 开卡数据写入方法、装置及系统
CN107305605A (zh) 一种终端设备及应用启动方法
CN107491681A (zh) 指纹信息处理方法及装置
CN107622189A (zh) 优化指纹解锁的方法和装置
CN104461358B (zh) 点亮屏幕的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180823

Address after: 100176 Beijing Beijing economic and Technological Development Zone, Chuang Chuang fourteen Street 99, 33 D Building 2 level 2243 (centralized office area)

Applicant after: Beijing millet Payment Technology Co., Ltd.

Address before: 100085 Huarun Qingcai Street 68, Haidian District, Beijing, two stage, 9 floor, 01 rooms.

Applicant before: BEIJING XIAOMI MOBILE SOFTWARE Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant