CN107066861B - 一种指纹事件的处理方法及移动终端 - Google Patents

一种指纹事件的处理方法及移动终端 Download PDF

Info

Publication number
CN107066861B
CN107066861B CN201710166861.0A CN201710166861A CN107066861B CN 107066861 B CN107066861 B CN 107066861B CN 201710166861 A CN201710166861 A CN 201710166861A CN 107066861 B CN107066861 B CN 107066861B
Authority
CN
China
Prior art keywords
fingerprint
event
fingerprint event
time
processing
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
CN201710166861.0A
Other languages
English (en)
Other versions
CN107066861A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201710166861.0A priority Critical patent/CN107066861B/zh
Publication of CN107066861A publication Critical patent/CN107066861A/zh
Application granted granted Critical
Publication of CN107066861B publication Critical patent/CN107066861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Abstract

本发明实施例公开了一种指纹事件的处理方法和移动终端,方法包括:当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理;通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应;等待接收由所述Fingerpr intd通过所述binder回调的指纹事件。本发明实施例能够提升指纹事件的回调速度,提升指纹识别速率。

Description

一种指纹事件的处理方法及移动终端
技术领域
本发明涉及指纹识别技术领域,具体涉及一种指纹事件的处理方法及移动终端。
背景技术
随着信息技术快速发展,移动终端(如手机、平板电脑等)使用越来越普及。目前来看,随着指纹识别和安全技术的逐步普及,并在移动终端成为各大厂家的标配。每次用户录入指纹时,都是先发生手指放到指纹传感器上,采图,匹配,然后手指移开。在感测到用户录入指纹的过程中,会产生指纹事件,Fingerprintd会通过binder将指纹事件回调至Fingerprint Service进行处理,回调的过程也可理解为对指纹事件的派发。现有技术中,Fingerprint Service只能串行处理指纹事件,即在未处理完一个指纹事件后,不能够对其他指纹事件进行处理,当Fingerprint Service处理完成一个指纹事件后,通过binder通知Fingerprintd,Fingerprintd在接收到通知后,才能够再次向Fingerprint Service通过binder派发指纹事件。当Fingerprint Service在处理耗时较长的指纹事件时,其他指纹事件将会排队等待Fingerprintd进行派发,影响指纹事件的回调速度,进而导致指纹识别的速度慢。
发明内容
本发明实施例提供了一种指纹事件的处理方法及移动终端,能够提升指纹事件的回调速度,提升指纹识别速率。
本发明实施例第一方面公开了一种指纹事件的处理方法,包括:
当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理;
通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应;
等待接收由所述Fingerprintd通过所述binder回调的指纹事件。
可选的,所述将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理之前,还包括:
检测所述第一指纹事件是否为耗时事件;
如果检测出所述第一指纹事件为耗时事件,将所述第一指纹事件分发至所述Fingerprint Service中的第二线程进行处理。
可选的,还包括:
当接收到所述Fingerprintd通过所述binder回调的第二指纹事件后,将所述第二指纹事件分发至所述第一线程;
如果所述第一线程正在处理所述第一指纹事件,检测所述第一指纹事件是否包括未处理的耗时部分;
如果检测到所述第一指纹事件包括未处理的耗时部分,判断所述耗时部分与所述第二指纹事件在时序上是否关联;
如果判断出将所述耗时部分与所述第二指纹事件在时序上不关联,将所述耗时部分分发至所述Fingerprint Service中的第二线程进行处理,并在所述第一线程中处理所述第二指纹事件。
可选的,所述检测所述第一指纹事件是否包括未处理的耗时部分包括:
判断处理完成所述第一指纹事件需要消耗的时间是否大于预设时间阈值;
如果所述时间大于预设时间阈值,确定所述第一指纹事件中包括未处理的耗时部分。
可选的,还包括:
如果检测到所述第一指纹事件不包括未处理的耗时部分,检测所述第二指纹事件是否为耗时事件;
如果所述第二指纹事件为耗时事件,判断所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上是否关联;
如果判断出所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上不关联,将所述第二指纹事件分发至所述第二线程进行处理。
本发明实施例第二方面公开了一种移动终端中的Fingerprint Service,包括功能单元,所述功能单元用于执行本发明实施例第一方面任一方法中所描述的部分或全部步骤。
本发明实施例第三方面公开了一种移动终端,包括:处理器和存储器,其中,所述处理器用于运行所述移动终端的操作系统,所述操作系统包括Fingerprint Service,所述Fingerprint Service用于执行第一方面中的指纹事件的处理方法的部分和全部步骤。
可以得知,当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,可将该第一指纹事件分发至FingerprintService中的第一线程进行处理,从而,Fingerprint Service能够通过所述binder向所述Fingerprintd发送所述第一指纹时间执行完成的响应,Fingerprint Service可以继续接收第二指纹事件,保证指纹事件从Fingerprintd到Fingerprint Service能够及时得到回调,避免指纹事件在Fingerprintd排队等待回调,提升指纹事件的回调速度,进而提升指纹识别速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种应用场景的结构示意图;
图2是本发明实施例公开的一种指纹事件的处理方法的第一实施例的流程示意图;
图3是本发明实施例公开的一种指纹事件的处理方法的第二实施例的流程示意图;
图4是本发明实施例公开的一种指纹事件的处理方法的第三实施例的流程示意图;
图5是本发明实施例公开的一种移动终端的操作系统中的FingerprintService模块的单元组成图;
图6是本发明公开的一种移动终端的第一实施例的结构示意图;
图7是本发明公开的一种移动终端的第二实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例所描述的技术方案,下面结合本发明实施例的应用场景对指纹事件回调(派发)的流程进行描述。
请参阅图1,图1是本发明实施例公开的一种实现指纹识别的模块的架构示意图。如图1所示,移动终端内可包括Fingerprint HAL10(Hardware Abstraction Layer,硬件抽象层)、Fingerprintd20、Fingerprint Service30和Fingerprint Manager40。其中,FingerprintHAL10在移动终端的Android(安卓)系统的硬件抽象层,作为实现移动终端具体的指纹硬件(例如,指纹传感器)与指纹软件之间的连接。Fingerprint Service30和Fingerprint Manager40在Android系统的框架(framework)层,框架层能够连接能够终端中安装的具体应用程序,本发明实施例中,Fingerprint Manager能够与指纹应用进行通信。本发明实施例中的指纹应用包括但不限于:解锁应用(Keyguard Application),支付应用(Purchase Application)、登录应用(Login Application)等。
结合上述指纹架构,下面对指纹事件的回调过程进行说明。
指纹TA是移动终端的可信执行环境(Trust Execution Environment,TEE)对应的安全操作系统所支持的应用中的可信应用。TEE提供了可信应用TA的安全执行环境,同时也保护TA的资源和数据的保密性、完整性和访问权限。为了保证TEE本身的可信根,TEE在安全启动过程中是要通过验证并且与安卓操作系统隔离的。在TEE中,每个TA是相互独立的,而且不能在未授权的情况下互相访问。指纹TA能够产生指纹事件,Fingerprint HAL能够获取该指纹事件,并通过回调机制将其派发至框架层进行处理,进一步的,还可以将其派发至上传应用。其中,本发明实施例所描述的指纹事件可以包括touchdown(手指放下)、采集图像、图像匹配和touchup(手指离开)事件。上述事件也可称为裸事件,在对裸事件的处理过程中,还可以产生其他指纹事件。例如,采集图像所产生的采集图像的质量好或坏的事件,或者,图像匹配的图像成功或图像失败等事件。当Fingerprint HAL获取到指纹事件后,可将指纹时间通过binder机制回调至Fingerprintd,Fingerprintd作为事件传输通道,不对指纹事件进行任何逻辑运算或耗时操作,直接将接收到的指纹事件向上派发。具体的,Fingerprintd通过binder机制将指纹事件回调至Fingerprint Service,由FingerprintService对指纹事件进行逻辑运算等处理。如果Fingerprint Service在对指纹事件处理的过程中,产生需要上报至上层应用的消息,或者,指定某些事件通知时,则由FingerprintService通过binder回调至Fingerprint Manager,由Fingerprint Manager将指纹事件封装为指纹消息(Message类),并将该指纹消息回调至指纹应用的主线程。
传统方式中,Fingerprintd在向Fingerprint Service传递一个指纹事件后,Fingerprint Service处理该指纹事件,若处理完成,则通过binder向Fingerprintd发送处理完成的响应。Fingerprintd在接收到该响应后,才能够再次向Fingerprint Service回调指纹事件。如果Fingerprint Service处理一个指纹事件的耗时较长,在此过程中,Fingerprintd接收到其他指纹事件,则其他指纹事件需要排队等待Fingerprintd对其进行回调,导致指纹事件的回调拥堵,影响指纹事件的回调效率。
结合上述应用场景,及针对传统方式中存在的技术问题,下面结合附图及具体实施方式,对本发明实施例的技术方案进行详细说明。
请参阅图2,图2为本发明公开的一种指纹事件的处理方法的第一实施例的流程示意图。如图2所示,该方法可以包括以下步骤。
步骤S101,Fingerprintd通过binder将第一指纹信息回调至FingerprintService。
步骤S102,Fingerprint Service接收所述第一指纹事件,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理。
步骤S103,Fingerprint Service通过binder向Fingerprintd发送第一指纹时间处理完成的响应。
步骤S104,Fingerprintd接收所述响应后,如果所述Fingerprintd接收到第二指纹事件,通过binder将所述第二指纹事件回调至所述Fingerprint Service。
步骤S105,Fingerprint Service接收到所述第二指纹事件。
在一些可能的实现方式中,Fingerprint Service支持多线程运行,FingerprintService的第一线程可由Handlerthread实现。具体的,Fingerprint Service接收到第一指纹事件后,可以将该第一指纹事件分发至第一线程中进行处理。此时,由于FingerprintService已经将第一指纹事件进行分发,将其分发至第一线程进行具体处理,则Fingerprint Service即认为其对第一指纹事件的处理完成,则可以通过binder向Fingerprintd发送第一指纹事件处理完成的响应,以通知Fingerprintd可以继续向其回调指纹事件。Fingerprintd在接收到该响应后,即获知Fingerprint Service能够再次接收指纹事件,则当Fingerprintd接收到第二指纹事件后,第二指纹事件不需要在Fingerprintd排队等待被回调,Fingerprintd可以在接收到第二指纹事件后,即刻将其回调至Fingerprint Service。在一些具体的实现方式中,Fingerprint Service在接收到第二指纹事件后,可以继续将该第二指纹事件分发至Fingerprint Service中的第一线程进行处理。由于Handlerthread可以接收多个指纹事件,并可将接收的指纹事件组成等待序列,Handlerthread按照先进先出的顺序对等待序列中的指纹事件进行处理。从而,保证了Fingerprint Service能够在处理一个指纹事件的同时,接收其他指纹事件,保证了Fingerprintd回调指纹事件的通畅,进而提升了指纹事件的回调效率。
与上述一致地,请参阅图3,为本发明实施例提供的一种指纹事件的处理方法的第二实施例流程示意图。本实施例方法应用于Fingerprint Service。具体的,该方法包括以下步骤。
步骤S201,当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,检测所述第一指纹事件是否为耗时事件。
步骤S202,如果检测出所述第一指纹事件为耗时事件,将所述第一指纹事件分发至所述Fingerprint Service中的第二线程进行处理。
步骤S203,通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应。
步骤S204,当接收到所述Fingerprintd通过所述binder回调的第二指纹事件后,将所述第二指纹事件分发至第一线程进行处理。
在一些可能的实现方式中,Fingerprint Service在接收到熬Fingerprintd通过binder回调的第一指纹事件时,即可判断该第一指纹事件是否为耗时事件。具体的,判断第一指纹事件是否为耗时事件,可以通过记录每次处理第一指纹事件的处理时间,如果历史记录中,对第一指纹时间的处理时间超过预设处理时间阈值的次数累计达到预设次数阈值,则判断该第一指纹时间为耗时事件。或者,统计历史记录中,第一指纹时间的处理时间的平均时长,如果该平均时长超过预设阈值,则判断第一指纹事件为耗时事件。又或者,确定接收到的第一指纹事件的数据量大小,根据数据量大小估算对该指纹事件的处理时间,如果估算的处理时间大于预设处理时间阈值,则确定该第一指纹事件为耗时事件;或者,在确定接收到的第一指纹事件的数据量大小后,如果该第一指纹事件的数据量超过预设数据量阈值,则确定第一指纹事件为耗时事件。
当判断出第一指纹事件为耗时事件后,可将第一指纹事件分发至FingerprintService的第二线程进行处理。Fingerprint Service可以继续将接收到的第二指纹事件分发至第一线程进行处理,从而Fingerprint Service可以同时通过多线程处理多个指纹事件。需要说明的是,在Fingerprint Service接收到第二指纹事件后,可进一步确定第二指纹事件与第一指纹事件是否存在时序关系,如果不存在,则可以并行执行。如果第二指纹事件较第一指纹先处理完,第一线程还可以处理Fingerprint Service接收到的第三指纹事件。从而,避免了Fingerprint Service通过一个线程处理耗时指纹事件,其他指纹事件需要排队等待被处理的情况。进一步加快了指纹事件的处理速度,从而,提升了指纹识别的速率。
与上述一致地,请参阅图4,为本发明实施例提供的一种指纹事件的处理方法的第三实施例流程示意图。本实施例方法应用于Fingerprint Service。具体的,该方法包括以下步骤。
步骤S301,当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理。
步骤S302,通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应。
步骤S303,等待接收由所述Fingerprintd通过所述binder回调的指纹事件。
步骤S304,当接收到所述Fingerprintd通过所述binder回调的第二指纹事件后,将所述第二指纹事件分发至所述第一线程。
步骤S305,如果所述第一线程正在处理所述第一指纹事件,检测所述第一指纹事件是否包括未处理的耗时部分。
步骤S306,如果检测到所述第一指纹事件包括未处理的耗时部分,判断所述耗时部分与所述第二指纹事件在时序上是否关联。
步骤S307,如果判断出将所述耗时部分与所述第二指纹事件在时序上不关联,将所述耗时部分分发至所述Fingerprint Service中的第二线程进行处理,并在所述第一线程中处理所述第二指纹事件。
步骤S308,如果检测到所述第一指纹事件不包括未处理的耗时部分,检测所述第二指纹事件是否为耗时事件。
步骤S309,如果所述第二指纹事件为耗时事件,判断所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上是否关联。
步骤S310,如果判断出所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上不关联,将所述第二指纹事件分发至所述第二线程进行处理。
在一些可能的实现方式中,Fingerprint Service在接收到第一指纹事件后,将第一指纹事件分发至第一线程中进行处理,并且,在第一线程正在处理第一指纹事件的情况下,Fingerprint Service在接收到第二指纹事件后,也可以将第二指纹事件分发至第一线程中,并可以对正在处理的第一指纹事件进行检测,检测第一指纹事件是否还包括未被处理的耗时部分。可选的,可以在第一线程接收到第二指纹事件时,确定处理第一指纹事件还需要消耗的时间,如果还需要消耗的时间大于预设阈值,则表明该第一指纹事件中包括未处理的耗时部分,可以进一步确定第一指纹事件中的未处理的耗时部分;如果还需要消耗的时间小于预设阈值,则表明该第一指纹事件不包括未处理的耗时部分,第二指纹事件可以在第一线程内排队等待被处理,即第一线程在处理第一指纹事件完成后,再按照顺序处理第二指纹事件。
如果检测到第一指纹事件包括未处理的耗时部分,可以进一步判断第二指纹事件与该耗时部分是否在时序上进行关联,即需要第一线程执行完该耗时部分后,第二指纹事件才能够被处理。如果不存在时序关联,则可将未处理的耗时部分分发至第二线程进行处理,并且在第一线程同步处理第二指纹事件。从而,能够实现在Fingerprint Service中同步处理多个指纹事件,提升指纹识别速率。
如果检测到第一指纹事件不包括未处理的耗时部分,还可以进一步检测第二指纹事件是否为耗时事件。第二指纹事件是否为耗时事件的检测方式可参见图2所示实施例中的相关描述,在此不再赘述。如果第二指纹事件为耗时事件,并且确定第二指纹事件与第一指纹事件未处理完成部分不在时序上关联,则可以将第二指纹事件从第一线程分发至第二线程进行处理。
本发明实施例中,第一线程能够接收多个指纹事件,并依据指纹事件的耗时程度,进一步将指纹事件分发至其他线程进行处理,能够提升指纹识别速率。
需要说明的是,图2-图4中相同的步骤的具体实施方式的描述可以相同。
下面结合上述方法实施例,对本发明装置实施例进行说明。本发明实施例所述的移动终端例如可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备、可穿戴设备(例如智能手表(如iwatch等)、智能手环等)或其他手持设备。本发明实施例所述的移动终端安装有Android(安卓)系统。
请参阅图5,图5是本发明公开的一种移动终端的操作系统中的FingerprintService的功能单元组成示意图,用于执行本发明实施例公开的指纹事件的处理方法。如图5所示,移动终端中的Fingerprint Service可包括功能单元:分发单元501、发送单元502、接收单元503。
其中,分发单元501,用于当接收到由Fingerprintd通过binder回调的第一指纹事件时,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理;
发送单元502,用于通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应;
接收单元503,用于等待接收由所述Fingerprintd通过所述binder回调的指纹事件。
可选的,所述Fingerprint Service还包括:
第一检测单元504,用于检测所述第一指纹事件是否为耗时事件;
所述分发单元501还用于:如果检测出所述第一指纹事件为耗时事件,将所述第一指纹事件分发至所述Fingerprint Service中的第二线程进行处理。
可选的,所述分发单元501还用于:当接收单元503接收到所述Fingerprintd通过所述binder回调的第二指纹事件后,将所述第二指纹事件分发至所述第一线程;
所述Fingerprint Service还包括:
第二检测单元505,用于如果所述第一线程正在处理所述第一指纹事件,检测所述第一指纹事件是否包括未处理的耗时部分;
第一判断单元506,用于如果第二检测单元505检测到所述第一指纹事件包括未处理的耗时部分,判断所述耗时部分与所述第二指纹事件在时序上是否关联;
所述分发单元501还用于:如果第一判断单元506判断出将所述耗时部分与所述第二指纹事件在时序上不关联,将所述耗时部分分发至所述FingerprintService中的第二线程进行处理,并在所述第一线程中处理所述第二指纹事件。
可选的,所述第二检测单元505具体用于:
判断处理完成所述第一指纹事件需要消耗的时间是否大于预设时间阈值;
如果所述时间大于预设时间阈值,确定所述第一指纹事件中包括未处理的耗时部分。
可选的,所述Fingerprint Service还包括:
第三检测单元507,用于如果检测到所述第一指纹事件不包括未处理的耗时部分,检测所述第二指纹事件是否为耗时事件;
第二判断单元508,用于如果所述第二指纹事件为耗时事件,判断所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上是否关联;
所述分发单元501还用于:如果判断出所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上不关联,将所述第二指纹事件分发至所述第二线程进行处理。
可以得知,当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,可将该第一指纹事件分发至FingerprintService中的第一线程进行处理,从而,Fingerprint Service能够通过所述binder向所述Fingerprintd发送所述第一指纹时间执行完成的响应,Fingerprint Service可以继续接收第二指纹事件,保证指纹事件从Fingerprintd到Fingerprint Service能够及时得到回调,避免指纹事件在Fingerprintd排队等待回调,提升指纹事件的回调速度,进而提升指纹识别速率。
与上述一致地,请参阅图6,为本发明实施例提供的一种移动终端的第一实施例结构示意图。本实施例中所描述的移动终端,包括:至少一个输入设备1000;至少一个输出设备2000;至少一个处理器3000,例如CPU;和存储器4000,上述输入设备1000、输出设备2000、处理器3000和存储器4000通过总线5000连接。
其中,上述输入设备1000具体可为触控面板、物理按键或者鼠标。
上述输出设备2000具体可为显示屏。
其中,Fingerprint Service,Fingerprintd为移动终端的操作系统中的模块,可以由移动终端的处理器或控制器进行调用,该处理器或控制器例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital SignalProcessor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
上述存储器4000可以是高速RAM存储器,也可为非易失存储器(non-volatilememory),例如磁盘存储器。上述存储器4000用于存储一组程序代码,处理器能够运行操作系统中的Fingerprint Service,以执行以下步骤:
当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理;
通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应;
等待接收由所述Fingerprintd通过所述binder回调的指纹事件。
可选的,所述将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理之前,处理器还通过运行操作系统中的Fingerprint Service,以执行以下步骤:
检测所述第一指纹事件是否为耗时事件;
如果检测出所述第一指纹事件为耗时事件,将所述第一指纹事件分发至所述Fingerprint Service中的第二线程进行处理。
可选的,处理器还通过运行操作系统中的Fingerprint Service,以执行以下步骤:
当接收到所述Fingerprintd通过所述binder回调的第二指纹事件后,将所述第二指纹事件分发至所述第一线程;
如果所述第一线程正在处理所述第一指纹事件,检测所述第一指纹事件是否包括未处理的耗时部分;
如果检测到所述第一指纹事件包括未处理的耗时部分,判断所述耗时部分与所述第二指纹事件在时序上是否关联;
如果判断出将所述耗时部分与所述第二指纹事件在时序上不关联,将所述耗时部分分发至所述Fingerprint Service中的第二线程进行处理,并在所述第一线程中处理所述第二指纹事件。
可选的,所述检测所述第一指纹事件是否包括未处理的耗时部分包括:
判断处理完成所述第一指纹事件需要消耗的时间是否大于预设时间阈值;
如果所述时间大于预设时间阈值,确定所述第一指纹事件中包括未处理的耗时部分。
可选的,处理器还通过运行操作系统中的Fingerprint Service,以执行以下步骤:
如果检测到所述第一指纹事件不包括未处理的耗时部分,检测所述第二指纹事件是否为耗时事件;
如果所述第二指纹事件为耗时事件,判断所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上是否关联;
如果判断出所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上不关联,将所述第二指纹事件分发至所述第二线程进行处理。
图7示出的是与本发明实施例提供的移动终端相关的手机的部分结构的框图。参考图7,手机包括:射频(Radio Frequency,RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(Wireless Fidelity,Wi-Fi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了Wi-Fi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
手机还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
前述实施例中,各步骤方法流程可以基于该移动终端的结构实现。其中传感器770可包含接近传感器和湿度传感器,触控面板731可以作为指纹识别模组使用。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种指纹事件的处理方法的部分或全部步骤。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种指纹事件的处理方法,其特征在于,包括:
当Fingerprint Service接收到由Fingerprintd通过binder回调的第一指纹事件时,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理;
通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应,其中,发送所述第一指纹事件处理完成的响应无需等待所述第一线程处理完成第一指纹事件之后再进行;
等待接收由所述Fingerprintd通过所述binder回调的指纹事件。
2.如权利要求1所述方法,其特征在于,所述将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理之前,还包括:
检测所述第一指纹事件是否为耗时事件;
如果检测出所述第一指纹事件为耗时事件,将所述第一指纹事件分发至所述Fingerprint Service中的第二线程进行处理。
3.如权利要求1所述方法,其特征在于,还包括:
当接收到所述Fingerprintd通过所述binder回调的第二指纹事件后,将所述第二指纹事件分发至所述第一线程;
如果所述第一线程正在处理所述第一指纹事件,检测所述第一指纹事件是否包括未处理的耗时部分;
如果检测到所述第一指纹事件包括未处理的耗时部分,判断所述耗时部分与所述第二指纹事件在时序上是否关联;
如果判断出将所述耗时部分与所述第二指纹事件在时序上不关联,将所述耗时部分分发至所述Fingerprint Service中的第二线程进行处理,并在所述第一线程中处理所述第二指纹事件。
4.如权利要求3所述方法,其特征在于,所述检测所述第一指纹事件是否包括未处理的耗时部分包括:
判断处理完成所述第一指纹事件需要消耗的时间是否大于预设时间阈值;
如果所述时间大于预设时间阈值,确定所述第一指纹事件中包括未处理的耗时部分。
5.如权利要求3或4所述方法,其特征在于,还包括:
如果检测到所述第一指纹事件不包括未处理的耗时部分,检测所述第二指纹事件是否为耗时事件;
如果所述第二指纹事件为耗时事件,判断所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上是否关联;
如果判断出所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上不关联,将所述第二指纹事件分发至所述第二线程进行处理。
6.一种Fingerprint Service,应用于移动终端的Android操作系统中,包括:
分发单元,用于当接收到由Fingerprintd通过binder回调的第一指纹事件时,将所述第一指纹事件分发至所述Fingerprint Service中的第一线程进行处理;
发送单元,用于通过所述binder向所述Fingerprintd发送所述第一指纹事件处理完成的响应,其中,发送所述第一指纹事件处理完成的响应无需等待所述第一线程处理完成第一指纹事件之后再进行;
接收单元,用于等待接收由所述Fingerprintd通过所述binder回调的指纹事件。
7.如权利要求6所述Fingerprint Service,其特征在于,还包括:
第一检测单元,用于检测所述第一指纹事件是否为耗时事件;
所述分发单元还用于:如果检测出所述第一指纹事件为耗时事件,将所述第一指纹事件分发至所述Fingerprint Service中的第二线程进行处理。
8.如权利要求6所述Fingerprint Service,其特征在于,
所述分发单元还用于:当接收到所述Fingerprintd通过所述binder回调的第二指纹事件后,将所述第二指纹事件分发至所述第一线程;
所述Fingerprint Service还包括:
第二检测单元,用于如果所述第一线程正在处理所述第一指纹事件,检测所述第一指纹事件是否包括未处理的耗时部分;
第一判断单元,用于如果检测到所述第一指纹事件包括未处理的耗时部分,判断所述耗时部分与所述第二指纹事件在时序上是否关联;
所述分发单元还用于:如果判断出将所述耗时部分与所述第二指纹事件在时序上不关联,将所述耗时部分分发至所述Fingerprint Service中的第二线程进行处理,并在所述第一线程中处理所述第二指纹事件。
9.如权利要求8所述Fingerprint Service,其特征在于,所述第二检测单元具体用于:
判断处理完成所述第一指纹事件需要消耗的时间是否大于预设时间阈值;
如果所述时间大于预设时间阈值,确定所述第一指纹事件中包括未处理的耗时部分。
10.如权利要求8或9所述Fingerprint Service,其特征在于,还包括:
第三检测单元,用于如果检测到所述第一指纹事件不包括未处理的耗时部分,检测所述第二指纹事件是否为耗时事件;
第二判断单元,用于如果所述第二指纹事件为耗时事件,判断所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上是否关联;
所述分发单元还用于:如果判断出所述第二指纹事件与所述第一指纹事件中未处理完成的部分在时序上不关联,将所述第二指纹事件分发至所述第二线程进行处理。
11.一种移动终端,其特征在于,包括:处理器和存储器,其中,所述处理器用于运行所述移动终端的操作系统,所述操作系统包括Fingerprint Service,所述FingerprintService用于执行如权利要求1-5任意一项所述方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质可存储有计算机程序,所述计算机程序被硬件执行时能够实现如权利要求1-5任意一项所述方法。
CN201710166861.0A 2017-03-20 2017-03-20 一种指纹事件的处理方法及移动终端 Active CN107066861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710166861.0A CN107066861B (zh) 2017-03-20 2017-03-20 一种指纹事件的处理方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710166861.0A CN107066861B (zh) 2017-03-20 2017-03-20 一种指纹事件的处理方法及移动终端

Publications (2)

Publication Number Publication Date
CN107066861A CN107066861A (zh) 2017-08-18
CN107066861B true CN107066861B (zh) 2020-01-14

Family

ID=59620180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710166861.0A Active CN107066861B (zh) 2017-03-20 2017-03-20 一种指纹事件的处理方法及移动终端

Country Status (1)

Country Link
CN (1) CN107066861B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598793A (zh) * 2015-01-08 2015-05-06 百度在线网络技术(北京)有限公司 一种指纹认证方法和装置
CN104850821A (zh) * 2014-02-19 2015-08-19 三星电子株式会社 用于识别指纹的方法和装置
DE102016001035A1 (de) * 2015-02-13 2016-08-18 Lei Wang Verfahren und Vorrichtung zum Aufbau einer Online-Aktualisierung von grossen Audio-Fingerabdruck-Datenbanken in Echtzeit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850821A (zh) * 2014-02-19 2015-08-19 三星电子株式会社 用于识别指纹的方法和装置
CN104598793A (zh) * 2015-01-08 2015-05-06 百度在线网络技术(北京)有限公司 一种指纹认证方法和装置
DE102016001035A1 (de) * 2015-02-13 2016-08-18 Lei Wang Verfahren und Vorrichtung zum Aufbau einer Online-Aktualisierung von grossen Audio-Fingerabdruck-Datenbanken in Echtzeit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Android M 指纹框架;__brucewang;《https://blog.csdn.net/devwang_com/article/details/53869427》;20161225;全文 *

Also Published As

Publication number Publication date
CN107066861A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
US10909981B2 (en) Mobile terminal, method of controlling same, and computer-readable storage medium
CN106778175B (zh) 一种界面锁定方法、装置和终端设备
CN107947825B (zh) 天线选择电路以及移动终端
CN107302628B (zh) 应用功能的控制方法及相关产品
CN112560001B (zh) 离线管理应用程序使用时间的方法、及终端设备
CN106911848B (zh) 输出提示消息的方法与终端设备
CN108834132B (zh) 一种数据传输方法及设备和相关介质产品
CN106445596B (zh) 一种设置项的管理方法及装置
CN104423996B (zh) 视图刷新方法和装置
CN107612643B (zh) 信道检测方法及信道检测设备
US20170097725A1 (en) Device and method for starting mobile terminal application and mobile terminal
CN108334345B (zh) 应用程序处理方法、装置、可读存储介质和移动终端
CN109714476B (zh) 数据处理方法、装置、移动终端及存储介质
WO2018161540A1 (zh) 指纹注册方法及相关产品
WO2018161543A1 (zh) 指纹处理资源的控制方法及设备
CN110705497A (zh) 图像帧处理方法、装置、终端设备及计算机可读存储介质
CN106484326A (zh) 一种数据传输处理方法及移动终端
CN111273955B (zh) 热修复插件优化方法、装置、存储介质及电子设备
CN110413497B (zh) 异常监控方法、装置、终端设备及计算机可读存储介质
CN107066374B (zh) 一种数据处理方法及移动终端
CN106980554B (zh) 一种进程处理方法及装置
CN106815078B (zh) 一种内存控制方法及设备
WO2019072179A1 (zh) 应用程序运行控制方法及装置
EP3447641A1 (en) Sound effect processing method and terminal
CN106776041B (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
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: OPPO Guangdong Mobile Communications Co., Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: Guangdong Opel Mobile Communications Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant