数据获取方法、装置、设备及介质
技术领域
本发明涉及通信技术领域,特别是涉及一种数据获取方法、装置、设备及介质。
背景技术
相关技术中,为了便于安装于电子设备中的客户端应用通过硬件中的一些数据获取接口采集数据,电子设备制造商通常会提供独立的数据获取接口供客户端应用调用,便于客户端应用调用这些数据获取接口而取得数据。
一般而言,客户端应用通常会将指硬件中的一些数据获取接口集成在自身的应用中,这样从数据获取接口获取到的数据能直接输入到自己应用的接口中,以便进行后续应用流程。例如,安装于手机中的某APP需要进行支付的指纹验证,此种情况下,该APP在获得用户的授权时,会将手机的指纹采集接口集成在自身的应用中,从而今后在获取指纹图片时,便直接调用指纹采集接口采集指纹图片。
上述方式使得获取数据的流程很便捷,但是二者之间具有较强的耦合性,导致了以下问题的出现:
1、数据获取接口如果有更新,客户端应用也需要同步更新,否则将不能正常获取到数据。
2、在需要硬件供应商授权才能获取数据时,每次更新客户端应用都需要请硬件供应商重新授权,才能正常获取数据。
3、在多个客户端应用均需调用采集接口时,需要重复适配电子设备的数据获取接口;或者,在一个客户端应用需要适配多套数据获取接口时,需要分别适配不同的接口,无法进行通用适配。
上述问题使得无论是硬件设备中数据获取接口本身的更新,还是客户端应用的更新,都需要对二者全部进行更新才能完成整个更新流程,否则将无法进行正常的数据获取,导致了数据获取效率的降低。
发明内容
鉴于上述问题,提出了本发明实施例的一种数据获取方法、装置、设备及介质,以便克服上述问题或者至少部分地解决上述问题。
为了解决上述问题,本发明的第一方面,公开了一种数据获取方法,应用于安装在电子设备中的服务端应用,所述方法包括:
通过所述服务端应用所提供的统一对外接口,接收安装在所述电子设备上的客户端应用所发送的数据获取指令;
从集成在所述服务端应用的多种数据获取接口中调用与所述客户端应用匹配的目标数据获取接口,并通过所述目标数据获取接口采集数据;
通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用。
可选地,所述方法还包括:
对所述电子设备上的各个数据获取接口进行封装,生成所述统一对外接口;
通过所述统一对外接口建立与所述客户端应用之间的通信连接。
可选地,所述方法还包括:
在检测到所述各个数据获取接口中一个或多个数据接口发生更新时,输出第一更新提示;
在检测到用户输入的第一确认更新操作时,对所述统一对外接口进行更新,以保持所述客户端应用的应用程序不变。
可选地,所述数据获取指令包括数据返回形式为数据流形式;
所述服务端应用通过所述目标数据获取接口采集数据,包括:
所述服务端应用接收所述目标数据获取接口发送的数据流;
所述服务端应用通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用,包括:
所述服务端应用通过所述统一对外接口,将所述目标数据获取接口采集到的数据流返回给所述客户端应用;
所述方法还包括:
所述客户端应用对所述数据流进行解析,得到目标图像。
可选地,所述数据获取指令包括所述服务端应用的存图路径以及所述客户端应用的取图路径;
通过所述目标数据获取接口采集数据,包括:
接收所述目标数据获取接口发送的第一数据获取完毕提示;
通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用,包括:
读取所述存图存储路径下的数据,并将所述数据存储到所述取图路径下;
通过所述统一对外接口向所述客户端应用发送第二数据获取完毕提示,以使所述客户端应用读取所述取图路径下的数据。
可选地,所述客户端应用包括:第一客户端应用和第二客户端应用;所述服务端应用内部集成的多种数据获取接口至少包括:与所述第一客户端应用匹配的第一目标数据获取接口,以及,与所述第二客户端应用匹配的第二目标数据获取接口。
本发明实施例的第二方面,还公开了一种数据获取方法,应用于安装在电子设备中的客户端应用,所述方法包括:
检测用户输入的数据获取操作;
在检测到所述数据获取操作时,通过安装于所述电子设备中的服务端应用所提供的统一对外接口,向所述服务端应用发送数据获取指令;
接收所述服务端应用通过所述统一对外接口返回的数据;其中,所述数据由所述服务端应用调用与所述客户端应用匹配的目标数据获取接口所采集。
可选地,所述数据获取指令包括数据返回形式为数据流形式,接收所述服务端应用通过所述统一对外接口返回的数据,包括:
接收所述服务端应用通过所述统一对外接口返回的数据流;
对所述数据流进行解析,得到目标图像。
可选地,所述数据获取指令包括所述客户端应用的取图路径,接收所述服务端应用通过所述统一对外接口返回的数据,包括:
接收所述服务端应用通过所述统一对外接口发送的第二数据获取完毕提示;
响应于所述第二数据获取完毕提示,读取所述取图路径下的数据。
可选地,所述方法还包括:
在检测到所述客户端应用的应用程序需要更新时,输出第二更新提示;
在检测到用户针对所述第二更新提示输入的第二确认更新操作时,对所述应用程序进行更新,以保持所述统一对外接口不变。
本发明实施例的第三方面,还公开了一种数据获取装置,应用于安装在电子设备中的服务端应用,所述装置包括:
指令接收模块,用于通过所述服务端应用所提供的统一对外接口,接收安装在所述电子设备上的客户端应用所发送的数据获取指令;
数据采集模块,用于从集成在所述服务端应用的多种数据获取接口中调用与所述客户端应用匹配的目标数据获取接口,并通过所述目标数据获取接口采集数据;
数据发送模块,用于通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用。
本发明实施例的第四方面,还公开了一种数据获取装置,应用于安装在电子设备中的客户端应用,所述装置包括:
检测模块,用于检测用户输入的数据获取操作;
指令发送模块,用于在检测到所述数据获取操作时,通过安装于所述电子设备中的服务端应用所提供的统一对外接口,向所述服务端应用发送数据获取指令;
数据接收模块,用于接收所述服务端应用通过所述统一对外接口返回的数据;其中,所述数据由所述服务端应用调用与所述客户端应用匹配的目标数据获取接口所采集。
本发明实施例的第五方面,还公开了一种终端,包括:包括客户端应用和服务端应用,所述客户端应用用于执行第二方面实施例所述的方法,所述服务端应用用于执行第一方面实施例所述的方法。
本发明实施例的第六方面,还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本发明第一方面实施例所述或第二方面实施例所述的数据获取方法。
本发明实施例的第七方面,还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明第一方面实施例所述或第二方面实施例所述的数据获取方法。
本发明实施例包括以下优点:
在本发明实施例中,可以服务端应用可以通过其提供的统一对外接口,接收客户端应用发送的数据获取指令,服务端应用进而从内部集成的多种数据获取接口中调用与客户端应用匹配的目标数据获取接口,并通过目标数据获取接口采集数据;服务端应用通过统一对外接口,将目标数据获取接口采集到的数据返回给客户端应用。
采用本发明实施的技术方案,一方面,由于在电子设备中安装有服务端应用,且服务端应用内部集成有多种数据获取接口,这样,使得数据获取接口可以独立于客户端应用,而无需集成在客户端应用中,降低二者之间的耦合。这样,在客户端应用需要更新时,仅需更新客户端应用即可,而无需更新服务端应用,在数据获取接口更新时,也仅需更新服务端应用即可,而无需对客户端应用更新。另一方面,客户端应用需要调用数据获取接口获取数据时,可以直接向服务端应用发送指令,以使服务端应用去调用数据获取接口获取数据,从而在解除服务端应用和客户端应用之间的耦合性的基础上,保证了正常的数据获取,从而提高了数据获取效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中一种电子设备的结构示意图;
图2是本发明实施例的一种数据获取方法的步骤流程图;
图3是本发明实施例的一种方式下向客户端应用返回数据的示意图;
图4是本发明实施例的另一种方式下向客户端应用返回数据的示意图;
图5是本发明实施例的另一种数据获取方法的步骤流程图;
图6是本发明实施例的一种数据获取装置的结构框图;
图7是本发明实施例的另一种数据获取装置的结构框图;
图8是本发明实施例提出的一种终端的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,电子设备中的客户端应用将电子设备中的数据获取接口集成在自身应用中,以便调用数据获取接口,从而方便获取数据获取接口采集的数据。此种情况下,客户端应用与数据获取接口之间具有较强的耦合性,便会导致无论是客户端应用的应用更新还是数据获取接口更新,都需要对二者同时更新的问题,如此,使得客户端应用的数据获取效率低,且也为用户使用客户端应用造成了不便。
有鉴于此,需要降低客户端应用与数据获取接口之间的耦合性,使得二者可以相对独立,以提高数据获取的效率。本申请人提出了以下的核心构思:在电子设备中安装服务端应用,将电子设备中的数据获取接口集成到该服务端应用中,然后通过服务端应用提供的统一对外接口,与客户端应用进行通信,从而降低了数据获取接口与客户端应用之间的耦合,以提高数据获取效率。
参照图1所示,示出了本发明实施例提供了一种电子设备100的结构框图,如图1所示,所述电子设备100内安装客户端应用101和服务端应用102。其中,服务端应用102中封装有电子设备100中的多个数据获取接口1022(图1中仅示出了3个数据获取接口),并具有统一对外接口1021,该统一对外接口1021可以与客户端应用101进行通信,以根据与客户端应用101的通信,调取响应的数据获取接口采集数据。
其中,电子设备100可以是智能手机、平板电脑、一体机等任何可以安装应用程序的硬件设备。电子设备中的数据获取接口可以是指:电子设备中用于采集外部数据和/或调用本地存储数据的数据采集接口,其数据不限于图片数据、文档数据、音视频流数据。
例如,以电子设备为手机为例,该数据获取接口可以是与手机上指纹电容屏连接的指纹数据采集接口、与摄像头连接的图像采集接口、与麦克风连接的音频采集接口、与USB连接的存储数据采集接口等外部数据获取接口,也可以是与手机本地图片库所连接的数据获取接口。其中,与摄像头连接的图像采集接口以及与麦克风连接的音频采集接口,便既可以采集图片数据也可以采集音视频流数据。又例如,以电子设备为扫码机为例,该数据获取接口可以是与扫描机上的扫描设备连接的条码采集接口或二维码采集接口。
本实施例中,服务端应用可以位于电子设备的系统空间,而客户端应用可以位于电子设备的应用空间。
其中,客户端应用101可以是为用户提供便捷支付、便捷购物、网上信息浏览等服务的应用程序,例如,可以是APP。本申请不对电子设备以及客户端应用做具体限制。
实际中,为了适应不同客户端应用所要调用的数据,在电子设备100中可以配置与不同客户端应用对应的不同数据获取接口。在一些示例性实施例中,电子设备100中的客户端应用可以包括第一客户端应用和第二客户端应用;相应地,所述服务端应用内部集成的多种数据获取接口至少包括:与所述第一客户端应用匹配的第一目标数据获取接口,以及,与所述第二客户端应用匹配的第二目标数据获取接口。
本实施例中,第一目标数据获取接口和第二目标数据获取接口可以是针对类别相同但格式不同的数据的数据获取接口,也可以针对类别不同的数据获取接口,例如,均是针对指纹类型数据的不同种数据获取接口,或者是分别针对指纹类别数据、人脸图像类别的数据获取接口。
示例地,以电子设备100为手机为例,在手机上安装有客户端应用A和客户端应用B,其中,客户端应用A为快捷支付的应用,客户端B也为快捷支付的应用。其中,客户端应用A进行快捷支付时,需要进行人脸识别,客户端应用B进行快捷支付时,需要进行指纹验证。因此,在手机中便需要有与客户端应用A对应的图像数据获取接口,客户端应用B对应的指纹数据获取接口。
又示例地,以电子设备100为以银行终端机为例,在终端机上安装有客户端应用C和客户端应用D。其中,客户端应用C为办理银行开卡业务的应用,客户端应用D为办理银行卡充值缴费(例如,用银行卡充值水电气费用)的应用。其中,客户端应用C需要记录用户的指纹图片,而客户端应用D需要进行指纹验证。则在终端机上需要两种用于指纹采集方式,一种是电容式指纹采集,另一种是光学指纹采集,相应地,便具有电容式指纹采集的数据获取接口,和光学指纹采集的数据获取接口。则客户端应用C由于需要保存用户的指纹图片,因此客户端应用C便与光学指纹采集的数据获取接口对应,而客户端应用D由于要进行指纹验证,便与电容式指纹采集的数据获取接口对应。
当然,一个客户端应用也可以对应多个数据获取接口,例如,在快捷支付应用中,可能既需要指纹验证又需要人脸识别,则该应用便可以对应多个数据获取接口,分别获取指纹图片和人脸图像。
对于电子设备中的服务端应用而言,在一种示例性实施例中,可以利用service对电子设备100中的多个数据获取接口1022进行封装,并暴露出统一对外接口,如此,便得到了服务端应用。
当然,在又一种示例性实施例中,也可以预先在电子设备中配置一个服务端应用,用户可以运行该服务端应用,进而所述服务端应用对各个数据获取接口进行封装,生成所述统一对外接口;接着,所述客户端应用与所述服务端应用通过所述统一对外接口建立通信连接。
在该示例性实施例中,服务端应用也可以采用service对各个数据获取接口进行封装,该统一对外接口可以理解为是数据传输接口,用于在服务端应用和客户端应用之间传输数据。具体实施时,在电子设备100中安装有客户端应用101后,可以检测是否存在允许客户端应用101调用数据获取接口的操作,如果检测到了允许客户端应用101调用数据获取接口的操作,则可以授予客户端应用101与服务端应用102进行通信的权限,如此,客户端应用101便可以通过统一对外接口向服务端应用102发送指令,以调用相应的数据获取接口。
在完成服务端应用的部署以及服务端应用通过统一对外接口建立与客户端应用的通信后,所述服务端应用在检测到所述各个数据获取接口中一个或多个数据接口发生更新时,输出第一更新提示;在检测到用户输入的第一确认更新操作时,所述服务端应用对统一对外接口进行更新,如此,可以保持客户端应用的应用程序不变。
可以理解的是,一个电子设备中的数据获取接口可以是一个也可以是多个,例如,在手机中便具有指纹数据采集接口和人脸图像采集接口。一般而言,电子设备中安装的系统发生更新时,这些数据获取接口也会相应更新,或者,电子设备需要升级摄像头或者升级指纹采集接口时,便也会对这些数据获取接口进行更新。
具体实施时,服务端应用可以实时检测电子设备的各个数据获取接口是否存在更新,或者,在电子设备的各个数据获取接口发生更新时,电子设备的系统会向服务端应用发出提示,服务端应用可以根据接收到的提示,确定数据获取接口发生了更新。
实际中,在一个或多个数据获取接口发生更新时,服务端应用可以输出第一更新提示,以在电子设备的显示屏中显示该第一更新提示。其中,该第一更新提示可以包括发生更新的数据获取接口的名称,例如,提示指纹图片数据接口发生更新。实际中,用户可以根据显示的第一更新提示,确认是否要对服务端应用进行更新,一般而言,由于服务端应用封装的是更新前的数据获取接口,当数据获取接口更新时,便需要对服务端应用提供的统一对外接口进行更新。
具体实施时,用户可以通过遥控器、显示界面等方式在服务端应用中输入第一确认更新操作,接着服务端应用对统一对外接口进行更新,以适配更新后的数据获取接口。此种情况下,由于服务端应用通过统一对外接口与其他的客户端应用进行通信,因此,在服务端应用根据发生更新的数据获取接口对统一对外接口进行更新时,由于客户端应用独立于数据获取接口之外,便可以不用对客户端应用进行同步更新。
同样的道理,在客户端应用侧,当客户端应用检测到客户端的应用程序发生更新时,可以不用对服务端应用的统一对外接口进行更新。具体地,在一种情况下,电子设备中的所述客户端应用在检测到自身发生更新时,输出第二更新提示;并在检测到用户输入的第二确认更新操作时,所述客户端应用对所述客户端应用的应用程序进行更新。
可以理解的是,客户端应用可以是预装到电子设备中的应用,也可以是在使用电子设备的后期安装于电子设备中的。在使用过程中,客户端应用可能被厂商增加了新的功能或修补了新的漏洞,此种情况下,可以对客户端应用进行更新。一般而言,客户端应用可以通过检测是否接收到相应服务器发送的更新信息,判断客户端应用是否发生更新。如接收到相应服务器发送的更新信息,则表明客户端应用需要更新,此种情况下,可以输出第二更新提示,具体而言,输出的第二更新提示可以是语音提示、文字信息提示或者视频提示,本申请不做限制。
输出第二更新提示后,客户端应用可以检测用户是否输入了需要进行更新的第二确认更新操作,该第二确认更新操作可以是用户语音输入的,也可以是用户通过遥控器、触摸屏、鼠标键盘等输入的。在检测到用户输入了第二确认更新操作时,客户端应用可以对自身的应用程序进行更新。
在一种具体示例中,客户端应用进行更新时,可以从自身对应的服务器处自动获取应用更新包,然后根据应用更新包对客户端应用的应用程序进行更新。
同样地,由于客户端应用中并不集成电子设备中的数据获取接口,数据获取接口单独封装在服务端应用中,且客户端应用通过服务端应用提供的统一对外接口与服务端应用进行通信,因此,客户端应用进行应用程序的更新时,也无需对服务端应用进行更新,也就是说保持统一对外接口不变。
相比于现有的将数据获取接口集成到客户端应用的技术,采用本申请实施例的电子设备中服务端应用和客户端应用通过统一对外接口进行通信的通信架构,具有以下优点:
1、在客户端应用去适配数据获取接口的方面。
在先技术中,由于数据获取接口集成在客户端的自身应用中,这样,每当客户端应用需要新增一个数据获取接口时,例如,在原有已与指纹数据采集接口进行集成的情况下,又需要调用人脸图像采集数据接口,此种情况下,便需要又重新集成人脸图像采集数据接口,因此,一个客户端应用需要分别适配各个数据获取接口。
而采用本申请的数据获取方式,由于服务端应用封装有电子设备的各个数据获取接口,而服务端应用对外提供的统一对外接口,且由统一对外接口负责与客户端应用的通信,这样,在一个客户端应用需要适配多个数据获取接口时,只需与服务端应用的统一对外接口建立通信即可,而无需分别适配多个数据获取接口,从而实现了数据获取接口的通用适配。
2、在数据获取接口去适配客户端应用的方面。
在先技术中,由于数据获取接口集成在客户端的自身应用中,这样,当电子设备中的客户端应用增多时,一个数据获取接口需要被集成到多个客户端应用中,这样,数据获取接口便需要重复与多个客户端应用的集成,实际中,便造成了重复适配的问题,效率并不高。
而采用本发明的技术方案,由于服务端应用封装有电子设备的各个数据获取接口,而对外提供的是统一对外接口,且由统一对外接口负责与客户端应用的通信,这样在电子设备中安装有多个客户端应用,且多个客户端应用分别对应各自的数据获取接口的情况下,多个客户端应用仅需与统一对外接口适配即可,而无需每个数据获取接口均需与不同客户端集成一次,从而实现了通用适配,从内存占用率上讲,也不必增加每个客户端应用的应用空间,从而可以提高电子设备的运行效率。
3、在应用更新的耦合性方面。
相关技术中,无论是数据获取接口更新,还是客户端应用更新,二者都需要进行更新,否则将不能正常获取到数据。而本申请实施例中,由于电子设备的各个数据获取接口被封装于服务端应用中,使得各数据获取接口可以独立于客户端应用,从而减小了客户端应用与各数据获取接口之间的耦合性,如此,在客户端应用和服务端应用需要更新时,便可以各自更新,而不用对两者均进行更新,以方便用户的使用。
4、在获得调用数据获取接口的权限方面。
在先技术中,将各个数据获取接口封装于客户端应用时,每当客户端应用进行更新或数据获取接口进行更新时,客户端应用都需要对应用程序进行更新,且在数据获取接口设置了权限的情况下,每一次无论是客户端应用更新还是数据获取接口更新,都需要重新取得调用数据获取接口的权限。
而采用本申请实施例的技术方案,由于电子设备的各个数据获取接口封装于服务端应用中,且服务端应用与客户端应用通过统一对外接口进行通信,这样,客户端应用只要在安装时,获得电子设备服务端应用中封装的数据获取接口的调用权限即可,在后续无论是客户端应用更新还是数据获取接口更新,客户端应用均无需再重复获取数据获取接口的调用权限。因此,大大简化了数据接口调用流程。
下面,结合图1所示的电子设备100,从服务端应用侧如何完成获取数据的过程进行详细说明。参照图2所示,示出了本申请实施例的一种数据获取方法的步骤流程图,具体地,服务端应用可以执行以下步骤:
步骤S201:通过所述服务端应用所提供的统一对外接口,接收安装在所述电子设备上的客户端应用所发送的数据获取指令。
本实施例中,由于电子设备中的各个数据获取接口封装在服务端应用中,因此,客户端应用需要请求服务端应用去调用相应的数据获取接口,以获取对应的数据。此种情况下,客户端应用可以通过统一对外接口与服务端应用进行通信,具体而言,客户端应用可以响应于用户进行的数据获取操作,生成数据获取指令,并将该数据获取指令通过统一对外接口发送给服务端应用,从而服务端应用可以通过统一对外接口接收数据获取指令,以调用相应的数据获取接口获取数据。
步骤S203:从集成在所述服务端应用的多种数据获取接口中调用与所述客户端应用匹配的目标数据获取接口,并通过所述目标数据获取接口采集数据。
本实施例中,由于服务端应用的内部集成了电子设备的多种数据获取接口,且一个客户端应用可以对应相应的数据获取接口,因此,服务端应用可以响应于客户端应用发送的数据获取指令,调用相应的目标数据获取接口,并通过目标数据获取接口采集数据。
其中,客户端应用所发送的数据获取指令中可以包括配置信息,该配置信息可以用于指示数据的采集设置,例如,可以包括目标数据获取接口的标识、采图设置项、数据采集后的传输路径等。
实际中,为了明确客户端应用所要调用的数据获取接口,在服务端应用中可以记录客户端应用对于数据获取接口的调用权限,客户端应用发送的数据获取指令携带的配置信息中还可以包括该客户端应用的标识,如此,服务端应用便可以根据记录的客户端应用对于数据获取接口的调用权限,确定客户端应用所要调用的目标数据获取接口。
步骤S204:所述服务端应用通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用。
本实施例中,在目标数据获取接口采集到数据后,服务端应用便获取了该数据,进而可以通过统一对外接口,将目标数据获取接口采集到的数据返回给客户端应用。具体实施时,服务端应用可以按照数据获取指令携带的配置信息的数据传输路径,将目标数据获取接口采集到的数据返回给客户端应用。
示例地,仍以电子设备为手机,客户端应用为快捷支付类APP为例,一般而言,在支付时,便需要对指纹或人脸进行验证,根据验证结果确定是否成功划账。用户若对确认支付控件进行了触发,则客户端应用确定用户输入了数据获取操作,进而生成数据获取指令,该数据获取指令包括了快捷支付类APP的标识(可以是名称或ID),客户端应用通过统一对外接口将数据获取指令发送给服务端应用,服务端应用根据配置信息中的快捷支付类APP的标识,确定有权限调取的为指纹数据获取接口,进而调用指纹数据获取接口获取用户录入的指纹数据,服务端应用按照配置信息中的数据传输路径,通过统一对外接口将指纹数据返回给客户端应用,如此,完成了客户端应用获取指纹数据的过程。
又示例地,以电子设备为手机,客户端应用为社交类APP为例,一般而言,用户需要在社交APP中发布图片,则用户触发了图片发布控件时,可以确认用户输入了数据获取操作,此种情况下,客户端应用可以生成数据获取指令,该数据获取指令包括了社交类类APP的标识(可以是名称或ID),并通过统一对外接口将数据获取指令发送给服务端应用,服务端应用根据快捷支付类APP的标识,调用本地存储数据的数据获取接口,通过该数据获取接口调用了本地的图片库,进而将手机本地图片库中的图片返回给客户端应用,如此,完成了客户端应用获取指纹数据的过程。
采用本申请实施例的技术方案,由于在电子设备中安装有服务端应用,且服务端应用内部集成有多种数据获取接口,这样,使得数据获取接口可以独立于客户端应用,而无需集成在客户端应用中,降低二者之间的耦合。且客户端应用通过服务端应用提供的统一对外接口与服务端应用通信,这样,客户端应用在需要调用数据获取接口获取数据时,可以直接向服务端应用发送指令,以使服务端应用去调用数据获取接口获取数据,从而保证了正常的数据获取,提高了数据获取效率。
在一种可选实施例中,在服务端应用向客户端应用返回采集到的数据时,可以根据数据获取接口获取到的数据的形式,采取相应的返回路径将数据返回给客户端应用。例如,可以根据数据是否是数据流或者是否是图片数据等,确定返回路径。实际施行过程中,可以不限于上述数据流或图像的数据形式,例如,可以是文本形式等。
在其中一种数据返回形式A中,所述数据获取指令可以包括数据返回形式为数据流形式,即数据获取指令中携带的配置信息可以包括获取的数据为数据流形式,例如,在客户端应用需要进行人脸识别时,其需要采集人脸视频图像,此种情况下,客户端应用便可以指定通过统一对外接口返回数据流。
参照图3所示,示出了此种形式A的数据返回示意图,如图3所示,在所述服务端应用通过所述目标数据获取接口采集数据时,所述服务端应用可以接收所述目标数据获取接口发送的数据流;在所述服务端应用通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用时,所述服务端应用可以通过所述统一对外接口,将所述目标数据获取接口采集到的数据流返回给所述客户端应用。
如图3所示,以数据获取接口1为目标数据获取接口为例,由于客户端应用指定了数据为数据流形式,因此,数据获取接口1可以以数据流的形式将数据发送给服务端应用,例如,数据获取接口1采集了视频或图片,则以视频流形式将视频或图片发送给服务端应用的对外统一接口。服务端应用进而可以通过统一对外接口,将数据流返回给客户端应用。其中,在数据是图片时,以数据流的形式发送图片可以是指将图片数据拆分为多个数据包,并向客户端应用返回发送多个数据包。
如图3所示,在通过统一对外接口将数据流返回给客户端应用时,可以做到数据流的实时传输,以缩短从数据获取接口到客户端应用所消耗的时间,从而提高数据获取效率。
在本返回形式A中,由于客户端应用获取的是数据流,因此在客户端应用,还可以对所数据流进行解析,得到目标图像。具体实施时,在数据流是视频流时,可以从数据流中抽取全部的视频帧,得到目标图像;在数据流是图片时,可以对多个数据包进行组合,从而得到目标图像。
在其中一种数据返回形式B中,客户端应用可以通过指定存储路径的方式获取数据类型为目标图像的数据,此种情况下,数据获取接口获取的便是图像类型的数据,所述数据获取指令携带的配置信息可以包括所述服务端应用的存图路径以及所述客户端应用的取图路径。
参照图4所示,示出了此种方式下服务端应用向客户端应用返回数据的示意图。如图4所示,服务端应用可以接收客户端应用发送的采图命令,即数据获取指令可以是采图命令,从而获得采图命令中的采图配置项、客户端应用的取图路径等配置信息。此种情况下,所述服务端应用可以根据采图配置项调用相应的采图接口,该采图接口即为目标数据获取接口,从而通过所述采图接口获取为图像类型的数据。
具体的,在本方式B中,客户端应用可以通过采图命令中的采图配置项告知服务端应用要获取某一存图路径下的图像,例如,获取图片库中的图像。此时,服务端应用可以根据采图配置项,调用可以访问存图路径的数据获取接口,即采图接口,在采图接口调用完毕时,表征允许客户端应用获取存图路径下的图像。此时,可以接收该采图接口(即目标数据获取接口)发送的第一数据获取完毕提示;则在所述服务端应用通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用时,服务端应用可以读取存图路径下的数据,并将该数据存储到所述客户端应用的取图路径下;进而所述服务端应用通过所述统一对外接口向所述客户端应用发送第二数据获取完毕提示,以使所述客户端应用读取所述取图路径下的数据。
如图4所示,以数据获取接口1为目标数据获取接口,即采图接口为例,在该示例性实施例中,所述目标数据获取接口1可以指向电子设备系统中预先存储的图像,即存图路径下预先存储的图像,实际中,目标数据获取接口1可以对应服务端应用的存图路径,例如是数据获取接口1指向存图路径,此时,接口调用完毕后,服务端应用会接收到第一数据获取完毕提示,该第一数据获取完毕提示即表示成功获得数据获取接口1的响应后,也即允许调用存图路径中的图像,此时,服务端应用便可以到存图路径1中读取该图像类型的数据,读取成功后,可以将图像类型的数据存放到客户端应用指定的取图路径2下。这样,该服务端应用的存图路径中的数据可以共享给客户端应用的取图路径。存储完毕后,服务端应用向客户端应用发送第二数据获取完毕提示,该第二数据获取完毕用于通知客户端应用数据存放完毕,此时,客户端应用便可以读取取图路径下的数据。
采用服务端应用将存图路径下的图像类型的数据存储到客户端应用的取图路径,客户端应用进而从取图路径中获取图像类型的数据的技术方案,使得客户端应用可以直接从取图路径下获取完整的数据,相比于通过从服务端应用获取数据流的形式获取数据的方式,本技术方案使得客户端应用可以无需对数据进行解析,从而降低了客户端应用的工作负载,释放了客户端应用的部分数据处理空间。
采用本发明技术方案,服务端应用充当了电子设备的各数据获取接口与各客户端应用的桥梁,各数据获取接口可以不用集成到客户端应用中,以减小二者之间的耦合性。此外,由于服务端应用可以位于系统空间,而客户端应用可以位于应用空间,这样,服务端应用相当于是应用空间与系统空间之间的通信桥梁,从而实现了应用空间在于数据获取接口具有足够低的耦合性的情况下,可以顺利调取数据获取接口获取的数据,保证了数据获取的有效性。
基于相同的发明构思,参照图5所示,示出了从客户端应用侧对如何完成数据获取的过程进行介绍,如图5所示,客户端应用可以执行以下步骤:
步骤S501:所述客户端应用检测用户输入的数据获取操作。
本实施例中,基于客户端应用的应用场景的不同,其用户输入的数据获取操作也可以不同。具体而言,客户端应用可以依据是否触发了数据获取来判断用户是否输入数据获取操作。
例如,以电子设备为手机,客户端应用为快捷支付类APP为例,一般而言,在支付时,便需要对指纹或人脸进行验证,根据验证结果确定是否成功划账。此种情况下,客户端应用可以检测用户是否对确认支付控件进行了触发,若对确认支付控件进行了触发,则确定用户输入了数据获取操作,需要获取指纹或人脸,以进行验证。
又例如,以电子设备为银行终端机,客户端应用为银行卡办理客户端为例,一般而言,用户在申办银行卡时,需要录入自己的指纹图片。此种情况下,客户端应用可以检测用户是否触发了指纹录入的控件,若触发了确定用户输入了数据获取操作,需要获取指纹图片以进行保存。
步骤S502:在检测到所述数据获取操作时,通过安装于所述电子设备中的服务端应用所提供的统一对外接口,向所述服务端应用发送数据获取指令。
本实施例中,在检测到数据获取操作时,客户端应用可以生成数据获取指令,其中,数据获取指令中可以携带配置信息,具体地,配置信息可以包括数据的类型、数据的返回形式等信息。
生成数据获取指令后,客户端应用可以通过服务端应用提供的统一对外接口向服务端应用发送该数据获取指令,以使服务端应用调用与所述客户端应用匹配的目标数据获取接口获取相应数据。
步骤S503:接收所述服务端应用通过所述统一对外接口返回的数据;其中,所述数据由所述服务端应用调用与所述客户端应用匹配的目标数据获取接口所采集。
本实施例中,服务端应用通过与所述客户端应用匹配的目标数据获取接口采集数据的过程可以参照上述服务端应用侧的实施例描述即可,在此不再赘述。
其中,当服务端应用采集完数据后,便可以通过统一对外接口向客户端应用返回数据,此时,客户端应用便可以从统一对外接口处获取到相应的数据。
在一种可选实施例中,在服务端应用向客户端应用返回采集到的数据时,可以根据数据获取接口获取到的数据的形式,采取相应的返回路径将数据返回给客户端应用。则客户端应用也可以采取相应的方式接收相关数据。
其中,如上述服务端应用的实施例所示,一种方式A中,所述数据获取指令包括数据返回形式为数据流形式,则在接收所述服务端应用通过所述统一对外接口返回的数据时,可以接收所述服务端应用通过所述统一对外接口返回的数据流,并对所述数据流进行解析,得到目标图像。
其中,如上述服务端应用的实施例所示,一种方式B中,所述数据获取指令包括所述客户端应用的取图路径,在客户端应用在接收所述服务端应用通过所述统一对外接口返回的数据时,可以接收所述服务端应用通过所述统一对外接口发送的第二数据获取完毕提示;响应于所述第二数据获取完毕提示,读取所述取图路径下的数据。
该方式B的相关过程可以参考上述服务端应用的实施例中对图4所示的过程的详细介绍,在此不再赘述。
本实施例中,由于在电子设备中安装有服务端应用,且服务端应用内部集成有多种数据获取接口,这样,使得数据获取接口可以独立于客户端应用,而无需集成在客户端应用中,降低二者之间的耦合。这样,在客户端应用需要更新时,仅需更新客户端应用即可,而无需更新服务端应用,在数据获取接口更新时,也仅需更新服务端应用即可,而无需对客户端应用更新。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6所示,示出了本发明实施例的一种数据获取装置的结构框图,如图6所示,应用于在电子设备中的服务端应用,所述装置包括:
指令接收模块601,用于通过所述服务端应用所提供的统一对外接口,接收安装在所述电子设备上的客户端应用所发送的数据获取指令;
数据采集模块602,用于从集成在所述服务端应用的多种数据获取接口中调用与所述客户端应用匹配的目标数据获取接口,并通过所述目标数据获取接口采集数据;
数据发送模块603,用于通过所述统一对外接口,将所述目标数据获取接口采集到的数据返回给所述客户端应用。
可选地,所述装置还可以包括以下模块:
封装模块,用于对各个数据获取接口进行封装,生成所述统一对外接口;
通信建立模块,用于通过所述统一对外接口建立与所述客户端应用之间的通信连接。
可选地,所述装置还可以包括以下模块:
第一更新模块,用于在检测到所述各个数据获取接口中一个或多个数据接口发生更新时,输出第一更新提示;并在检测到用户输入的第一确认更新操作时,对所述统一对外接口进行更新,以保持所述客户端应用的应用程序不变。
可选地,所述数据获取指令包括数据返回形式为数据流形式;
所述数据获取模块603,具体用于接收所述目标数据获取接口发送的数据流;所述数据返回模块604,具体用于通过所述统一对外接口,将所述目标数据获取接口采集到的数据流返回给所述客户端应用;,以使所述客户端应用对所述数据流进行解析,得到目标图像。
可选地,所述数据获取指令包括所述服务端应用的存图路径以及所述客户端应用的取图路径;
所述数据获取模块603,具体用于接收所述目标数据获取接口发送的第一数据获取完毕提示;所述数据返回模块604,具体可以包括:
存储单元,用于读取所述存图路径下的数据,并将所述数据存储到所述取图路径下;
提示发送单元,用于通过所述统一对外接口向所述客户端应用发送第二数据获取完毕提示,以使所述客户端应用读取所述取图路径下的数据。
可选地,所述客户端应用包括:第一客户端应用和第二客户端应用;所述服务端应用内部集成的多种数据获取接口至少包括:与所述第一客户端应用匹配的第一目标数据获取接口,以及,与所述第二客户端应用匹配的第二目标数据获取接口。
参照图7所示,示出了本发明实施例的一种数据获取装置的结构框图,如图7所示,应用于在电子设备中的客户端应用,所述装置包括:
检测模块701,用于检测用户输入的数据获取操作;
指令发送模块702,用于在检测到所述数据获取操作时,通过安装于所述电子设备中的服务端应用所提供的统一对外接口,向所述服务端应用发送数据获取指令;
数据接收模块703,用于接收所述服务端应用通过所述统一对外接口返回的数据;其中,所述数据由所述服务端应用调用与所述客户端应用匹配的目标数据获取接口所采集。
可选地,所述数据获取指令包括数据返回形式为数据流形式,所述数据接收模块703包括以下单元:
第一接收单元,用于接收所述服务端应用通过所述统一对外接口返回的数据流;
解析单元,用于对所述数据流进行解析,得到目标图像。
可选地,所述数据获取指令包括所述客户端应用的取图路径,所述数据接收模块703包括以下单元:
第二接收单元,用于接收所述服务端应用通过所述统一对外接口发送的第二数据获取完毕提示;
读取单元,用于响应于所述第二数据获取完毕提示,读取所述取图路径下的数据。
可选地,所述装置还可以包括以下模块:
第二更新模块,用于在检测到所述客户端应用的应用程序发生更新时,输出第二更新提示;并在检测到用户输入的第二确认更新操作时,对所述应用程序进行更新,以保持所述统一对外接口不变。
需要说明的是,装置实施例与方法实施例相近,故描述的较为简单,相关之处参见方法实施例即可。
本发明实施例还公开了一种终端,参照图8所示,示出了一种终端800的结构示意图,包括:包括客户端应用和服务端应用,所述客户端应用包括上述图7所示的装置,所述服务端应用包括上述图6所示的装置,其中,客户端应用用于执行第二方面实施例所述的方法,所述服务端应用用于执行第一方面实施例所述的方法。
本发明实施例还提供了一种电子设备,该电子设备可以用于执行数据获取方法,可以包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器被配置为执行所述的数据获取方法。
本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的数据获取方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据获取方法、装置、设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。