CN110597575B - 一种sdk执行方法及系统 - Google Patents

一种sdk执行方法及系统 Download PDF

Info

Publication number
CN110597575B
CN110597575B CN201910858760.9A CN201910858760A CN110597575B CN 110597575 B CN110597575 B CN 110597575B CN 201910858760 A CN201910858760 A CN 201910858760A CN 110597575 B CN110597575 B CN 110597575B
Authority
CN
China
Prior art keywords
sdk
trigger signal
server
initialization
user
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
CN201910858760.9A
Other languages
English (en)
Other versions
CN110597575A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910858760.9A priority Critical patent/CN110597575B/zh
Publication of CN110597575A publication Critical patent/CN110597575A/zh
Application granted granted Critical
Publication of CN110597575B publication Critical patent/CN110597575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本说明书实施例提供一种SDK执行方法及系统,所述SDK执行方法由至少一个处理器执行,所述SDK执行方法包括:获取触发信号;当所述触发信号为第一触发信号时,基于所述第一触发信号,开始执行SDK的第一部分;当所述触发信号为第二触发信号时,基于所述第二触发信号以及执行所述第一部分的结果,执行所述SDK的第一部分的剩余部分以及第二部分,或者仅执行所述SDK的所述第二部分。

Description

一种SDK执行方法及系统
技术领域
本说明书一个或多个实施例涉及计算机技术领域,特别涉及一种SDK执行方法及系统。
背景技术
SDK(software development kit),即软件开发工具包,这是一种被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。SDK能够被设备接入、调用和执行以实现特定的功能。SDK可以是提供专业服务的工具包,例如SKD可以用于提供安卓开发工具或者提供基于硬件开发的服务等。SDK也可以是针对某项软件功能的工具包,如推送技术、图像识别技术、移动支付技术以及语音识别分析技术等。
因此,需要为SDK的执行提供一种更快速可靠的方案,以提升用户的体验。
发明内容
本说明书实施例之一提供一种SDK执行方法,所述方法由至少一个处理器执行,其包括:获取触发信号;当所述触发信号为第一触发信号时,基于所述第一触发信号,开始执行SDK的第一部分;当所述触发信号为第二触发信号时,基于所述第二触发信号以及执行所述第一部分的结果,执行所述SDK的第一部分的剩余部分以及第二部分,或者仅执行所述SDK的所述第二部分。
本说明书实施例之一提供一种SDK执行系统,获取模块,用于获取触发信号;执行模块,用于当所述触发信号为第一触发信号时,基于所述第一触发信号,开始执行SDK的第一部分,以及用于当所述触发信号为第二触发信号时,基于所述第二触发信号以及执行所述第一部分的结果,执行所述SDK的第一部分的剩余部分以及第二部分,或者仅执行所述SDK的所述第二部分。
本说明书实施例之一提供一种计算设备,所述计算设备可以包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当至少一个处理器执行指令时,实现本说明书任一实施例所述的方法。
本说明书实施例之一提供一种存储介质,所述存储介质用于存储计算机指令,当计算机读取所述存储介质中的计算机指令后,执行本说明书任一实施例所述的方法。
附图说明
本说明书一个或多个实施例将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的SDK执行方法的示例性流程图;
图2是根据本说明书一些实施例所示的SDK执行系统的模块图;
图3是根据本说明书一些实施例所示的SDK执行方法的示例图。
具体实施方式
为了更清楚地说明说明书一个或多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书一个或多个实施例应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“系统”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换词语。
如本说明书一个或多个实施例和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
说明书一个或多个实施例中使用了流程图用来说明根据本说明书一个或多个实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本说明书实施例涉及一种SDK执行方法及系统,SDK(software developmentkit),即软件开发工具包,SDK可以理解为一种用于为特定的软件包、软件框架、硬件平台以及操作系统等建立应用软件的开发工具的集合。SDK能够被设备,如客户端,接入、调用和执行以实现特定的功能。SDK可以指提供专业服务的工具包,例如提供安卓开发工具或者提供基于硬件开发的服务等。SDK也可以是针对某项软件功能的工具包,如推送技术、图像识别技术、移动支付技术以及语音识别分析技术等。本说明书实施例涉及的SDK执行方法及系统预先将SDK分为两部分,并基于第一触发信号和第二触发信号,确定SDK的第一部分和第二部分的执行时机,可以减少SDK执行过程中用户交互时的等待时间,从而提升用户的体验。本说明书一个或多个实施例所涉及的SDK可以适用于不同的场景,包括但不限于刷脸支付、指纹支付、自助点餐、自助购物、自助买单等。
图1是根据本说明书一些实施例所示的SDK执行方法的示例性流程图。SDK执行方法100可以由至少一个处理器执行。例如,SDK执行方法可以以程序或指令的形式存储在存储装置(如SDK执行终端的存储设备、存储器)中,当SDK执行系统(如处理器)执行该程序或指令时,可以实现SDK执行方法。又例如,SDK执行方法可以由SDK执行系统200执行。SDK执行方法可以包括:获取触发信号,基于触发信号是第一触发信号或第二触发信号执行如图1所示的相应步骤。
步骤110,获取第一触发信号。步骤110可以由获取模块210执行。
在一些实施例中,触发信号可以理解为当某一事件被触发后所发出的反馈信号。例如,当客户端上某项预设操作被执行时,获取模块210就能够接受到对应的触发信号。
在一些实施例中,第一触发信号可以包括预设页面被展示。在本申请的实施例中,预设页面可以包括但不限于客户端(如PC、手机、平板、贩卖机及刷脸支付机器等)上的网页或者app、小程序上的任意页面等。例如,用户点击付款软件图标时,付款软件的主页将被展示,当用户在主页内点击相应图标时,付款软件的对应功能的界面将被展示,例如,账户信息查询界面、付款界面等。在利用手机进行扫码支付的过程中,第一触发信号可以是用户手机的付款软件的付款界面被展示,第一触发信号也可以是用户手机的付款软件的主页被展示。又例如,在利用贩卖机购买商品的过程中,第一触发信号可以是贩卖机的物品选购界面被展示。在一些实施例中,预设页面被展示可以理解为该预设页面被显示在客户端上且已经加载完成,此时获取模块210能够获取该预设页面被展示的信息并将其作为第一触发信号。
在一些替代性实施例中,第一触发信号还可以包括但不限于:接收到预设页面的展示请求(如用户点击了跳转到预设页面的链接)、开始进行预设页面的加载、预设页面完成一定比例(如30%、50%)的加载等。
步骤120,基于第一触发信号,开始执行SDK的第一部分。步骤120由执行模块220执行。
在一些实施例中,开始执行SDK的第一部分可以理解为在执行模块220接收到第一触发信号后,开始调用储存在客户端和/或服务器上的SDK,并开始执行SDK中的代码/操作。在一些实施例中,SDK的第一部分与第二部分为预先将SDK进行划分获得。
在一些实施例中,第一部分包括SDK无需用户进行交互且能够在所需要的首次用户交互之前完成的操作。在一些实施例中,与用户进行交互的操作包括需要用户参与(如指示、反馈、执行动作等)才能进行的操作。例如与用户交互可以包括用户在客户端上进行滑动、点击,或利用客户端扫描指纹特征、扫描面部特征等操作。无需用户进行交互的操作可以包括用户无感知的执行过程的操作和/或无需用户参与(如指示、反馈、执行动作等)的操作。在一些实施例中,与用户交互的过程可能持续一段时间或者可能包括多次交互操作,因此以“所需要的首次用户交互”为节点划分SDK的第一部分。SDK的第一部分包含的是能够在所需要的首次用户交互之前完成的操作,而SDK的其余部分(如第二部分)则需在用户开始交互之后才可以执行。执行模块220基于第一触发信号,先开始执行SDK中无需用户进行交互且能够在所需要的首次用户交互之前完成的操作(即第一部分),待用户开始进行交互时,第一部分已经至少部分执行完毕,这样可以减少用户开始交互时等待执行第一部分的时间。
在一些实施例中,SDK的第一部分可以包括:请求服务器和/或客户端进行初始化。服务器和/或客户端进行初始化可以包括:SDK(或者客户端)向服务器发送用户信息、场景信息;或者向服务器请求验证信息、授权信息;或者服务器发送验证通过信息、授权确认信息给客户端;或者客户端存储验证通过信息、授权确认信息;或者客户端对硬件设备进行预热等一种或多种的任意组合。仅作为示例,例如对于刷脸支付过程而言,此时的客户端可以为刷脸支付机器;对服务器进行初始化可以包括但不限于:识别刷脸支付机器的信息(例如识别刷脸支付机器属于哪一个商家);在服务器上校验刷脸支付机器的信息(校验服务器上是否存有该刷脸支付机器所属商家与支付平台的签约信息);对客户端进行初始化可以包括但不限于:在客户端上对硬件设备(例如摄像头)进行预热(如先在后台开始运行),以为刷脸支付的人脸识别做好准备。又例如,对于通过手机扫描二维码进行支付的过程而言,此时的客户端为进行支付的手机,对服务器进行初始化可以包括但不限于:在服务器上校验用户的信息(校验服务器上是否存有持有该客户端的用户与支付平台的签约信息);对客户端进行初始化可以包括但不限于:在该客户端上对硬件设备(例如摄像头)进行预热,以为扫描二维码做好准备。
在一些实施例中,执行模块220执行SDK的第一部分可以还包括:从服务器获取服务器完成被请求的初始化后返回的轮询间隔参数。轮询是指每间隔一段时间由SDK所在设备,如客户端,向服务器发起一次询问。轮询间隔参数可以包括轮询间隔时间,即每间隔多长时间向服务器发起一次询问。例如,在利用支付宝进行二维码付款时,付款界面所展示的二维码在经过一段时间后就会自动更新,二维码进行自动更新的间隔时间可以理解为轮询间隔时间。在一些实施例中,SDK的第一部分中,服务器和/或客户端初始化的结果可能会失效,通过设置轮询间隔参数,可以基于轮询间隔参数定期向服务器请求初始化,从而不断更新初始化的结果,以保证初始化结果始终有效。在本申请的实施例中,SDK可以为单次授权SDK。单次授权SDK是指授权信息仅一次有效的SDK,一旦该授权信息使用过一次或者超过设定时间,则该SDK的授权信息自动作废,需要重新获得授权。比如进行刷脸支付时,服务器和/或客户端初始化即可以理解为完成授权的过程,在一次刷脸支付完成后,该服务器和/或客户端初始化信息即作废,如果还需再次进行支付,则需要再次进行服务器和/或客户端的初始化。在一些替代性实施例中,SDK也可以是多次授权SDK。比如,淘宝或者饿了么APP中可以开启小额免密支付。免密支付即是在用户一次授权后可以多次扣款,无需用户反复进行授权。
在一些实施例中,在获取第一触发信号之后且在获取第二触发信号之前,执行模块220可以基于轮询间隔参数向服务器再次请求初始化。通过基于轮询间隔参数向服务器再次请求初始化,可以对初始化结果进行更新,以保证在获取第二触发信号后,SDK的第二部分能够被顺利执行。在一些实施例中,如果用户退出预设页面后再重新登录而使得预设页面再次被展示,即第一触发信号重新被触发,那么执行模块220可以重新向服务器请求初始化(而无需等待轮询间隔参数)。在一些实施例中,如果用户退出预设页面且预设页面不再被展示,则可以不再使用该轮询间隔参数。
在一些实施例中,服务器完成被请求的初始化获得的结果在预设时间范围内有效。也就是说,服务器完成被请求的初始化获得的结果超出预设时间范围后会失效。这样的设置可以进一步保证服务器与SDK之间所传输的信息的安全性,尤其是在用于支付类业务时,能够有效保证用户的资金安全,例如可以在用户进行支付的过程中避免用户遭受重放攻击。在一些实施例中,轮询间隔参数所包括的轮询间隔时间范围可以设置为小于该预设时间范围,例如当预设时间范围为30min,则轮询间隔时间范围可以设置为22min、25min或28min等。在服务器完成被请求的初始化获得的结果失效之前请求重新初始化,从而使得在服务器完成被请求的初始化获得的结果在失效之前被更新。通过这样的设置,在保证资金安全的同时,又可以在触发信号为第二触发信号时立刻开始执行下一步操作,以减少用户的等待时间。
在一些实施例中,执行模块220可以以轮询间隔参数为基准提前或延后一个随机的时间间隔向服务器再次请求初始化。例如,该随机的时间间隔可以是1min之内的任意时间(如0.1秒-60秒之间,以0.1秒为间隔的任意时间)。在一些实施例中,当有多个客户端的SDK同时开始向服务器轮询请求初始化时,服务器可能出现过载,通过这样的设置可以使得各个客户端向服务器轮询请求初始化的时间不同,从而减轻服务器的访问压力。
步骤130,获取第二触发信号。步骤130由获取模块210执行。
需要说明的是,第二触发信号为触发信号中预设定的且不同于第一触发信号的一类信号。在一些实施例中,可以设定第一触发信号为先于第二触发信号发生的事件。例如,可以将第一触发信号设为客户端被开启,而将第二触发信号设为客户端的某个界面被展示。又例如,可以将第一触发信号设为客户端的某个界面被展示,而将第二触发信号设为该被展示的界面上的某个链接被点击。需要注意的是,本说明书中对第一触发信号和第二触发信号的解释和示例,以及对SDK中各个部分的划分和示例都不是唯一的,不应将其理解为对待触发信号的确定以及SDK中各部分的划分的限制。
在一些实施例中,第二触发信号可以包括用户拟与SDK进行交互的信号或指示用户首次与SDK进行交互的信号。用户拟与SDK进行交互的信号可以理解为用户即将与SDK进行交互的事件的反馈信号。例如,在用户进行刷脸支付的过程中,用户点击“人脸验证”,表示下一步就要进行人脸识别(与用户交互),那么用户点击“人脸验证”的图标的操作,就可以理解为用户拟与SDK进行交互的信号。指示用户首次与SDK进行交互的信号可以理解为指示用户开始首次交互、指示用户正在进行首次交互或者指示用户的首次交互已完成的信号。例如,在用户进行刷脸支付的过程中,刷脸支付的流程可以包括:用户确认支付金额-用户点击“刷脸验证”-用户开始刷脸认证,那么“用户确认支付金额”这个行为可以认为是用户首次与SDK进行交互,用户点击“确认”的图标的这个操作可以理解为用户首次与SDK进行交互的信号。
步骤140,基于第二触发信号以及执行第一部分的结果,执行SDK的第一部分的剩余部分以及第二部分,或者仅执行SDK的第二部分。步骤140由执行模块220执行。
在一些实施例中,第二部分可以包括SDK中第一部分以外的部分。
在一些实施例中,第二部分可以包括SDK中需要用户交互的操作,或者SDK中无法在所需要的首次用户交互之前完成的操作。SDK中需要用户交互的操作可以理解为需要用户参与才能进行的操作。仅作为示例,例如对于刷脸支付过程而言,SDK的第二部分可以包括:通过摄像头对用户进行人脸识别;SDK(或服务器)将人脸识别数据与数据库中的人脸数据进行比对,并根据比对结果确定是否支付成功。其中通过摄像头对用户进行人脸识别可以理解为需要用户交互的操作,而将人脸识别数据与数据库中的人脸数据进行比对的操作虽然无需用户进行交互,但是需要基于用户交互的结果,这些操作可以理解为SDK中无法在所需要的首次用户交互之前完成的操作。又例如,对于手机扫描二维码进行支付而言,SDK的第二部分可以包括:用户将手机摄像头对准二维码进行扫描;用户输入支付金额;用户输入密码;服务器验证用户输入的密码,并根据验证结果确定是否支付成功。其中,用户将手机摄像头对准二维码进行扫描、用户输入支付金额以及用户输入密码均可以理解为需要用户交互的操作,而服务器验证用户输入的密码的操作可以理解为SDK中无法在所需要的首次用户交互之前完成的操作。
在执行模块220接收到第二触发信号时,若第一部分还未执行完毕,则继续执行SDK的第一部分的剩余部分,然后再执行第二部分;若获取到第二触发信号时第一部分已经执行完毕,则开始执行SDK的第二部分。在执行SDK的第一部分的过程中,SDK(或客户端)可以将请求服务器和/或请求客户端初始化的初始化结果保存,从而在执行SDK第二部分的过程中,执行模块220可以通过读取该初始化结果直接执行SDK的第二部分,以减少用户等待时间。
图2是根据本说明书的一些实施例所述的SDK执行系统的模块图。如图2所示,该SDK执行系统可以包括获取模块210和执行模块220。
获取模块210可以用于获取SDK执行过程中的信息/数据。在一些实施例中,获取模块210可以用于获取触发信号。例如,获取模块210可以获取第一触发信号。又例如,获取模块210可以获取第二触发信号。
执行模块220可以用于执行SKD。在一些实施例中,执行模块220可以基于第一触发信号,开始执行SDK的第一部分。在一些实施例中,执行模块220可以基于第二触发信号以及执行第一部分的结果,执行SDK的第一部分的剩余部分以及第二部分,或者仅执行所述SDK的第二部分。
在一些实施例中,执行模块220还用于:从服务器获取服务器完成被请求的初始化后返回的轮询间隔参数。在一些实施例中,执行模块220还用于:在获取第一触发信号之后且在获取第二触发信号之前,基于轮询间隔参数向服务器再次请求初始化。在一些实施例中,执行模块220还用于:以轮询间隔参数为基准提前或延后一个随机的时间间隔向服务器再次请求初始化。
应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书一个或多个实施例的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于SDK执行系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,执行模块220可以是既能够执行SDK的第一部分又能够执行第二部分的一个模块,执行模块220也可以包括第一子执行模块和第二子执行模块,其中第一子执行模块能够执行SDK的第一部分,第二子执行模块能够执行SDK的第二部分。在一些实施例中,SDK执行系统还可以包括划分模块,划分模块可以用于预先对SDK进行划分而获得第一部分和第二部分。
图3是根据本说明书一些实施例所示的SDK执行方法的示例图。如图3所示,在一个具体的实施例中,SDK被分为了第一部分和第二部分,执行SDK的第一部分的操作发生在执行SDK的第二部分的操作之前。接收触发信号,当SDK所在设备获取到第一触发信号(该第一触发信号可以包括客户端上的预设页面被展示)时,SDK的第一部分被执行以开始向服务器发送请求信号来请求服务器进行初始化,例如SDK(或者客户端)向服务器发送用户信息和/或场景信息、向服务器请求验证信息和/或授权信息等。服务器接收到请求信号后将初始化结果(如验证通过信息和/或授权确认信息等)和/或轮询间隔参数返回到SDK。当SDK获取到客户端反馈的第一触发信号时或者SDK接收到服务器返回的初始化结果和/或轮询间隔参数后,SDK可以开始请求客户端进行初始化,例如使客户端存储验证通过信息和/或授权确认信息、使客户端对硬件设备进行预热等。在一些实施例中,在请求服务器初始化的同时,SDK可以开始请求客户端进行初始化,例如,请求客户端开放相应资源的使用权限,仅作为示例,请求客户端开放摄像头的控制权限。需要说明的是,请求服务器进行初始化和请求客户端进行初始化的操作可以相互独立,也可以基于其中一个(服务器或客户端)的初始化操作请求另一个(客户端或服务器)进行初始化操作。在请求服务器和/或客户端进行初始化后,SDK可以将初始化结果保存,以为SDK的第二部分的执行做好准备。另外,在执行SDK的第一部分过程中,服务器在返回初始化结果的同时可以返回轮询间隔参数,SDK可以基于轮询间隔参数来向服务器再次请求服务器初始化,以在执行SDK的第二部分之前不断更新初始化结果。
当SDK所在设备获取到第二触发信号(第二触发信号可以包括用户拟与SDK进行交互的信号或指示用户首次与SDK进行交互的信号)时,SDK开始读取执行第一部分后保存的初始化结果,然后开始执行SDK的第二部分(如需要用户交互的操作,或者无法在所需要的首次用户交互之前完成的操作),直至SDK执行完毕或终止。
本说明书实施例可能带来的有益效果包括但不限于:(1)将SDK划分为第一部分和第二部分,并基于第一触发信号和第二触发信号来合理执行第一部分和第二部分,可以减少SDK执行过程中用户交互时的等待时间,提升用户体验;(2)通过获取轮询间隔参数,并基于轮询间隔参数向服务器再次请求初始化,使得服务器完成被请求的初始化获得的结果被更新,保证SDK的第二部分能够始终顺利执行,进一步保证用户交互过程中的等待时间能够减少;(3)能够保证SDK与服务器之间传输的数据的安全性;(4)能够有效减轻服务器的访问压力。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、系统或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
最后,应当理解的是,本说明书中实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (18)

1.一种SDK执行方法,所述方法由至少一个处理器执行,其包括:
获取触发信号;
当所述触发信号为第一触发信号时,基于所述第一触发信号,开始执行SDK的第一部分,所述第一部分包括无需用户进行交互且能够在所需要的首次用户交互之前完成的操作;
当所述触发信号为第二触发信号时,基于所述第二触发信号以及执行所述第一部分的结果,执行所述SDK的第一部分的剩余部分以及第二部分,或者仅执行所述SDK的所述第二部分,所述第二部分包括所述SDK中所述第一部分以外的部分;
所述第二触发信号包括用户拟与所述SDK进行交互的信号或指示用户首次与所述SDK进行交互的信号;所述第一触发信号为发生在第二触发信号之前的触发信号。
2.如权利要求1所述的SDK执行方法,所述第一触发信号包括预设页面被展示。
3.如权利要求1所述的SDK执行方法,所述第二部分包括需要用户交互的操作,或者无法在所需要的首次用户交互之前完成的操作。
4.如权利要求1所述的SDK执行方法,所述SDK的第一部分包括:请求服务器和/或客户端进行初始化。
5.如权利要求4所述的SDK执行方法,所述执行SDK的第一部分还包括:从服务器获取服务器完成被请求的初始化后返回的轮询间隔参数。
6.如权利要求5所述的SDK执行方法,所述方法进一步包括:在获取所述第一触发信号之后且在获取所述第二触发信号之前,基于所述轮询间隔参数向所述服务器再次请求初始化。
7.如权利要求6所述的SDK执行方法,服务器完成被请求的初始化获得的结果在预设时间范围内有效。
8.如权利要求6所述的SDK执行方法,所述基于所述轮询间隔参数向所述服务器再次请求初始化包括:以所述轮询间隔参数为基准提前或延后一个随机的时间间隔向所述服务器再次请求初始化。
9.一种SDK执行系统,所述系统包括:
获取模块,用于获取触发信号;
执行模块,用于当所述触发信号为第一触发信号时,基于所述第一触发信号,开始执行SDK的第一部分,所述第一部分包括无需用户进行交互且能够在所需要的首次用户交互之前完成的操作;以及,用于当所述触发信号为第二触发信号时,基于所述第二触发信号以及执行所述第一部分的结果,执行所述SDK的第一部分的剩余部分以及第二部分,或者仅执行所述SDK的所述第二部分,所述第二部分包括所述SDK中所述第一部分以外的部分;
所述第二触发信号包括用户拟与所述SDK进行交互的信号或指示用户首次与所述SDK进行交互的信号;所述第一触发信号为发生在第二触发信号之前的触发信号。
10.如权利要求9所述的SDK执行系统,所述第一触发信号包括预设页面被展示。
11.如权利要求9所述的SDK执行系统,所述第二部分包括需要用户交互的操作,或者无法在所需要的首次用户交互之前完成的操作。
12.如权利要求9所述的SDK执行系统,所述SDK的第一部分包括:请求服务器和/或客户端进行初始化。
13.如权利要求12所述的SDK执行系统,所述执行模块还用于:从服务器获取服务器完成被请求的初始化后返回的轮询间隔参数。
14.如权利要求13所述的SDK执行系统,所述执行模块还用于:在获取所述第一触发信号之后且在获取所述第二触发信号之前,基于所述轮询间隔参数向所述服务器再次请求初始化。
15.如权利要求14所述的SDK执行系统,服务器完成被请求的初始化获得的结果在预设时间范围内有效。
16.如权利要求14所述的SDK执行系统,所述执行模块还用于:以所述轮询间隔参数为基准提前或延后一个随机的时间间隔向所述服务器再次请求初始化。
17.一种计算设备,所述计算设备包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当所述至少一个处理器执行所述指令时,实现如权利要求1~8中任一项所述的SDK执行方法。
18.一种存储介质,所述存储介质用于存储计算机指令,当计算机读取所述存储介质中的计算机指令后,执行如权利要求1~8中任一项所述的SDK执行方法。
CN201910858760.9A 2019-09-11 2019-09-11 一种sdk执行方法及系统 Active CN110597575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910858760.9A CN110597575B (zh) 2019-09-11 2019-09-11 一种sdk执行方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910858760.9A CN110597575B (zh) 2019-09-11 2019-09-11 一种sdk执行方法及系统

Publications (2)

Publication Number Publication Date
CN110597575A CN110597575A (zh) 2019-12-20
CN110597575B true CN110597575B (zh) 2023-06-16

Family

ID=68858827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910858760.9A Active CN110597575B (zh) 2019-09-11 2019-09-11 一种sdk执行方法及系统

Country Status (1)

Country Link
CN (1) CN110597575B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657203A (zh) * 2013-11-21 2015-05-27 腾讯科技(深圳)有限公司 任务执行方法、装置和系统
US20170132123A1 (en) * 2015-10-13 2017-05-11 Apptimize, Inc. Dynamic management and control of test features in native applications
CN107784339A (zh) * 2017-09-08 2018-03-09 阿里巴巴集团控股有限公司 应用于客户端、服务端的业务执行方法、装置以及设备
CN107943576A (zh) * 2017-12-14 2018-04-20 中国平安人寿保险股份有限公司 应用程序的启动优化方法、装置、设备、系统及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657203A (zh) * 2013-11-21 2015-05-27 腾讯科技(深圳)有限公司 任务执行方法、装置和系统
US20170132123A1 (en) * 2015-10-13 2017-05-11 Apptimize, Inc. Dynamic management and control of test features in native applications
CN107784339A (zh) * 2017-09-08 2018-03-09 阿里巴巴集团控股有限公司 应用于客户端、服务端的业务执行方法、装置以及设备
CN107943576A (zh) * 2017-12-14 2018-04-20 中国平安人寿保险股份有限公司 应用程序的启动优化方法、装置、设备、系统及介质

Also Published As

Publication number Publication date
CN110597575A (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
JP6783923B2 (ja) サービス操作リスクを管理するための方法及びデバイス
US10142321B2 (en) Single sign-on processing for associated mobile applications
US11227285B2 (en) Mobile payment system and method
US10061912B2 (en) Multi-factor authentication system and method
KR20180108785A (ko) 전자 결제 서비스 처리 방법 및 장치와, 전자 결제 방법 및 장치
US11488149B2 (en) Management of credentials and authorizations for transactions
US11276069B2 (en) Risk payment processing method and apparatus, and device
US10826886B2 (en) Techniques for authentication using push notifications
US20210073373A1 (en) Automating password change management
US20230325238A1 (en) Cluster job submission
KR20190034789A (ko) 난수발생장치를 이용한 사용자 인증 방법
US20180174150A1 (en) Systems and methods for processing a payment transaction authorization request
CN112448917A (zh) 网站登录方法、装置、可读介质及电子设备
CN110597575B (zh) 一种sdk执行方法及系统
US20160117680A1 (en) Payment processing
WO2023035753A1 (zh) 用于支付的方法、装置、电子设备及可读介质
CN111105304A (zh) 数据处理方法及装置、存储介质及电子终端
CN113988844A (zh) 业务签约方法、装置和系统
CN115358848A (zh) 一种业务处理方法、装置、存储介质及程序产品
KR20220117941A (ko) 상품정보 수집을 위한 모바일 결제 시스템 및 방법
CN118555083A (zh) 云桌面的访问方法、服务器、云桌面系统及存储介质
CN116527363A (zh) 网上银行安全认证方法、装置、设备、介质和程序产品
Aliyev et al. E-commerce payments with cloud service mbaas
CN115392910A (zh) 线下支付方法及装置
CN114140200A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant