CN110515678B - 一种信息处理方法、设备和计算机存储介质 - Google Patents

一种信息处理方法、设备和计算机存储介质 Download PDF

Info

Publication number
CN110515678B
CN110515678B CN201910782782.1A CN201910782782A CN110515678B CN 110515678 B CN110515678 B CN 110515678B CN 201910782782 A CN201910782782 A CN 201910782782A CN 110515678 B CN110515678 B CN 110515678B
Authority
CN
China
Prior art keywords
host application
function
information
order
host
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
CN201910782782.1A
Other languages
English (en)
Other versions
CN110515678A (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.)
Shanghai Lianshang Network Technology Co Ltd
Original Assignee
Shanghai Lianshang Network 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 Shanghai Lianshang Network Technology Co Ltd filed Critical Shanghai Lianshang Network Technology Co Ltd
Priority to CN201910782782.1A priority Critical patent/CN110515678B/zh
Publication of CN110515678A publication Critical patent/CN110515678A/zh
Priority to PCT/CN2020/109954 priority patent/WO2021036877A1/zh
Application granted granted Critical
Publication of CN110515678B publication Critical patent/CN110515678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种信息处理方法、设备和计算机存储介质,其中方法包括:终端设备中的第一宿主应用获取到小程序触发宿主应用功能的事件后,若所述第一宿主应用不具备所述功能,则将功能参数发送给所述终端设备中具备所述功能的第二宿主应用;接收所述第二宿主应用执行所述功能后返回的执行结果信息。本申请能够使得第一宿主应用不具备小程序所触发的宿主应用功能时,仍能够通过终端设备中具备该功能的第二宿主应用来实现该功能,从而保证小程序成功提供服务。

Description

一种信息处理方法、设备和计算机存储介质
【技术领域】
本申请涉及计算机应用技术领域,特别涉及一种小程序场景下的信息处理方法、设备和计算机存储介质。
【背景技术】
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就被认为是现有技术。
小程序(Mini Program)是一种不需要安装即可使用的应用,其运行于宿主应用提供的环境下。小程序在提供服务的过程中往往会使用到宿主应用的一些功能,例如小程序触发支付功能时,需要宿主应用来提供支付通道。但如果小程序所在的宿主应用不具备该功能,则会导致该小程序的服务失败。
【发明内容】
有鉴于此,本申请提供了一种信息处理方法、设备和计算机存储介质,以便于解决上述问题。
具体技术方案如下:
第一方面,本申请提供了一种信息处理方法,由终端设备的第一宿主应用执行,该方法包括:
获取到小程序触发宿主应用功能的事件后,若所述第一宿主应用不具备所述功能,则将功能参数发送给所述终端设备中具备所述功能的第二宿主应用;
接收所述第二宿主应用执行所述功能后返回的执行结果信息。
根据本申请一优选实施方式,该方法还包括:
所述第一宿主应用通过检测所述第一宿主应用的安装包中是否存在所述功能的信息或者所述第一宿主应用的包名是否指示存在所述功能,来确定所述第一宿主应用是否具备所述功能;或者,
所述第一宿主应用将触发宿主应用功能的事件信息发送至所述第一宿主应用的服务器端,由所述第一宿主应用的服务器端确定所述第一宿主应用是否具备所述功能。
根据本申请一优选实施方式,该方法还包括:
所述第一宿主应用通过枚举所述终端设备的宿主应用列表,并检测列表中各宿主应用的安装包中是否存在标识所述功能的信息或者各宿主应用的包名是否指示存在所述功能,来确定所述终端设备中具备所述功能的宿主应用;或者,所述第一宿主应用将枚举得到的所述终端设备的宿主应用列表发送给所述第一宿主应用的服务器端,由所述第一宿主应用的服务器端确定所述宿主应用列表中具备所述功能的宿主应用,并将具备所述功能的宿主应用的信息返回给所述第一宿主应用。
根据本申请一优选实施方式,该方法还包括:
若所述终端设备中存在多个具备所述功能的宿主应用,则将所述多个具备所述功能的宿主应用信息展示给用户,以供用户从中选择一个宿主应用作为所述第二宿主应用。
根据本申请一优选实施方式,将功能参数发送给所述终端设备中具备所述功能的第二宿主应用包括:
通过意图Intent事件调用所述第二宿主应用的所述功能的接口并传递所述功能参数。
根据本申请一优选实施方式,将功能参数发送给所述终端设备中具备所述功能的第二宿主应用包括:
利用所述第一宿主应用与所述第二宿主应用预先协商的会话密钥对所述功能参数进行加密,将加密后的功能参数发送给所述第二宿主应用;
接收所述第二宿主应用执行所述功能后返回的执行结果包括:
接收所述第二宿主应用执行所述功能后返回的加密的执行结果,利用所述会话密钥对所述加密的执行结果进行解密。
根据本申请一优选实施方式,所述功能包括指定支付通道的支付功能;
所述功能参数包括订单信息;
所述执行结果信息包括:支付结果。
根据本申请一优选实施方式,所述获取到小程序触发宿主应用功能的事件包括:获取到所述第一宿主应用中小程序创建订单的请求,所述请求中包含订单信息;
接收到第一宿主应用的服务器端返回的订单相关信息后,确定所述第一宿主应用不具备所述功能。
根据本申请一优选实施方式,所述订单相关信息包括:加密的订单信息、加密密钥信息和订单对账信息;
所述功能参数包括:所述加密的订单信息、所述加密密钥信息、校验信息和时间戳。
根据本申请一优选实施方式,所述订单相关信息还包括订单对账信息;所述功能参数和执行结果信息中也分别包含所述订单对账信息;
该方法还包括:
所述第一宿主应用将所述执行结果信息发送至所述第一宿主应用的服务器端保存,以便所述第一宿主应用的服务器端利用所述订单对账信息进行账单对账。
根据本申请一优选实施方式,若所述执行结果信息包括执行失败的信息,则重新执行所述将功能参数发送给所述终端设备中具备所述功能的第二宿主应用,或者将所述功能参数发送给所述终端设备中具备所述功能的其他宿主应用。
第二方面,本申请提供了一种信息处理方法,由终端设备的第二宿主应用执行,该方法包括:
接收所述终端设备中第一宿主应用发送的功能参数,所述功能参数是第一宿主应用获取到小程序触发宿主应用功能的事件且确定自身不具备所述功能后发送的;
利用所述功能参数执行所述功能;
向所述第一宿主应用返回执行结果信息。
根据本申请一优选实施方式,接收所述终端设备中第一宿主应用发送的功能参数包括:
接收所述第一宿主应用发送的加密的功能参数,利用所述第一宿主应用与所述第二宿主应用预先协商的会话密钥,对所述加密的功能参数进行解密;
向所述第一宿主应用返回执行结果信息包括:
利用所述会话密钥对所述执行结果信息进行加密,向所述第一宿主应用返回加密后的执行结果信息。
根据本申请一优选实施方式,所述功能包括指定支付通道的支付功能;
所述功能参数包括订单信息;
所述执行结果信息包括:支付结果。
根据本申请一优选实施方式,所述功能参数包括:加密的订单信息、加密密钥信息、订单对账信息、校验信息和时间戳;
所述执行结果信息包括支付结果和所述订单对账信息;
该方法还包括:将所述功能参数发送给所述第二宿主应用的服务器端保存,以便所述第二宿主应用的服务器端利用所述订单对账信息进行订单对账。
根据本申请一优选实施方式,利用所述功能参数执行所述功能包括:
将所述功能参数发送至所述第二宿主应用的服务器端;
接收所述第二宿主应用的服务器端返回的包含指定支付通道信息的支付界面;
将用户在所述支付界面上输入的支付信息发送给所述第二宿主应用的服务器端;
接收所述第二宿主应用的服务器端返回的支付结果。
第三方面,本申请提供了一种信息处理方法,由第一宿主应用的服务器端执行,该方法包括:
接收所述第一宿主应用发送的小程序触发宿主应用功能的事件信息,以及所述第一宿主应用枚举得到的所述第一宿主应用所在终端设备的宿主应用列表;
确定所述宿主应用列表中具备所述功能的宿主应用,并将具备所述功能的宿主应用的信息返回给所述第一宿主应用,以便所述第一宿主应用将功能参数发送给具备所述功能的第二宿主应用来执行所述功能。
根据本申请一优选实施方式,所述功能包括指定支付通道的支付功能;
所述获取到小程序触发宿主应用功能的事件包括:获取到所述第一宿主应用中小程序创建订单的请求,所述请求中包含订单信息;
该方法还包括:向所述第一宿主应用返回订单相关信息,所述订单相关信息包括:加密的订单信息、加密密钥信息和订单对账信息;
接收并保存所述第一宿主应用发送的支付结果和订单对账信息;
所述订单对账信息用于进行账单对账。
第四方面,本申请提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的方法。
第五方面,本申请提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上所述的方法。
由以上技术方案可以看出,通过本申请使得用户在使用第一宿主应用的小程序的过程中,如果第一宿主应用不具备小程序所触发的宿主应用功能,仍能够通过终端设备中具备该功能的第二宿主应用来实现该功能,从而保证小程序成功提供服务。
【附图说明】
图1为本申请所涉及的***架构示意图;
图2为本申请实施例提供的宿主应用1执行的处理流程图;
图3为本申请实施例提供的宿主应用2执行的处理流程图;
图4为本申请实施例提供的一个实现支付功能的方法流程图;
图5为本申请实施例提供的一个实现搜索功能的方法流程图;
图6示出了适于用来实现本申请实施方式的示例性计算机***/服务器的框图。
【具体实施方式】
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。
为了方便对本申请的理解,首先对本申请所涉及的***架构以及主要概念进行描述。如图1中所示,该***架构主要包括宿主应用和宿主应用对应的服务器端。
小程序依托宿主应用在终端设备上运行,小程序运行所在的环境是宿主应用提供的。其中终端设备可以包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能音箱等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。
同一终端设备上可能包含多个宿主应用,图1中以包含宿主应用1和宿主应用2为例。一个宿主应用中也可能运行多个小程序,且不同宿主应用可能运行不同的小程序,也可能运行相同的小程序。如图1中所示,宿主应用1中运行小程序a1和小程序b1,宿主应用2中运行小程序a2和小程序b2。
每个宿主应用都存在对应的服务器端,如图1中所示,宿主应用1对应服务器端1,宿主应用2对应服务器端2。每个宿主应用均可以与其对应的服务器端进行交互,在本申请实施例中,不同的服务器端之间也可以进行数据交互。
各服务器端可以是单一服务器,也可以是多个服务器构成的服务器群组。应该理解,图1中的终端设备、宿主应用、小程序、服务器端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、宿主应用、小程序、服务器端。
本申请的核心思想在于,当小程序触发宿主应用功能时,若该小程序所在宿主应用不具备该功能,则将功能参数发送给同一终端设备中具备该功能的其他宿主应用来代为执行该功能。
本申请后续实施例中假设用户在图1所示***架构的宿主应用1中使用小程序a1,小程序a1需要调用宿主应用1的功能。那么宿主应用1主要执行如图2中所示处理流程:
在201中,宿主应用1获取到小程序a1触发宿主应用功能的事件。
根据具体功能的不同,触发宿主应用功能的事件也不同。当小程序a1需要使用宿主应用1的某项功能时,会产生触发该功能的事件,当宿主应用1获取到该事件时,就能够获知该功能需要被调用。
在202中,宿主应用1确定自身是否具备该功能,如果是,执行203;否则,执行204。
在本申请的实施例中,宿主应用1是否具备该功能的检测可以由宿主应用1自己执行,也可以通过宿主应用1对应的服务器端1来执行。
在本申请实施例中,可以预先约定将标识特定功能的信息设置于宿主应用的安装包中,如果宿主应用具备该特定功能,则其安装包中就具备标识该特定功能的信息。也可以预先针对特定功能指定宿主应用的包名,如果宿主应用具备该特定功能,则通过其包名能够指示宿主应用存在该特定功能。因此,宿主应用1可以通过检测宿主应用1的安装包中是否存在该功能的信息或者宿主应用1的包名是否指示存在该功能,来确定宿主应用1是否具备该功能。
或者,宿主应用1可以将小程序a1触发宿主应用功能的事件信息发送至宿主应用1的服务器端1,由服务器端1确定宿主应用1是否具备该功能。一方面,宿主应用是否具备某种功能是与服务商的开发相关的,即服务商是否在开发该类宿主应用时将该功能集成于该宿主应用中,另一方面也与宿主应用1的版本相关,有可能存在高版本具备该功能,而低版本不具备该功能。总之,服务器端1能够依据开发配置信息以及宿主应用1的版本信息等确定宿主应用1是否具备该功能的,并将指示宿主应用1是否具备该功能的信息反馈给宿主应用1。
在203中,由宿主应用1执行该功能,结束流程。
如果宿主应用1自身具备该功能,则按照现有技术中的方式执行该功能即可。
在204中,宿主应用1确定终端设备中具备该功能的宿主应用2。
上面已经提及了,在本申请实施例中,可以预先约定将标识特定功能的信息设置于宿主应用的安装包中,如果宿主应用具备该特定功能,则其安装包中就具备标识该特定功能的信息。
也可以预先针对特定功能指定宿主应用的包名,如果宿主应用具备该特定功能,则通过其包名能够指示宿主应用存在该特定功能。
因此,作为其中一种实现方式,宿主应用1可以枚举终端设备的宿主应用列表,然后检测宿主应用列表中各宿主应用的安装包中是否存在标识该功能的信息,或者检测各宿主应用的包名是否指示存在该功能,从而确定终端设备中具备该功能的宿主应用。
除了上述实现方式之外,还存在另外一种实现方式,即由服务器端1确定终端设备中具备该功能的宿主应用。具体地,宿主应用1可以将枚举得到的终端设备的宿主应用列表发送给服务器端1。服务商之间可以预先就一些特定的功能进行合作,在服务器端1配置有具备特定功能的宿主应用的信息。服务器端1接收到宿主应用1发送的宿主应用列表后,确定该列表中具备上述事件所对应功能的宿主应用,并将具备上述事件所对应功能的宿主应用的信息返回给宿主应用1。
如果仅确定出一个具备该功能的宿主应用,则宿主应用1可以直接将该宿主应用作为上述宿主应用2。如果确定出多个具备该功能的宿主应用,则宿主应用1可以依据预设的规则从中选择一个作为上述宿主应用2。另外,作为一种优选的实施方式,可以将确定出的多个宿主应用信息展示给用户,以供用户从中选择一个宿主应用作为上述宿主应用2。
在205中,宿主应用1将功能参数发送给终端设备中具备该功能的宿主应用2。
本步骤中,宿主应用1可以通过Intent(意图)事件调用宿主应用2的相应功能接口并传递功能参数。
宿主应用1在发送功能参数给宿主应用2时,为了保证信息的安全性,宿主应用1和宿主应用2可以进行会话密钥的协商,宿主应用1与宿主应用2之间的传递的信息都需要利用会话密钥进行加密。然后宿主应用1利用协商得到的会话密钥对功能参数进行加密后发送给宿主应用2,宿主应用2利用会话密钥对接收到的功能参数进行解密。
在206中,接收宿主应用2执行该功能后返回的执行结果信息。
宿主应用1接收到执行结果信息后,可以将执行结果信息发送至服务器端1进行保存。
宿主应用2主要执行如图3中所示的处理流程:
在301中,宿主应用2接收宿主应用1发送的功能参数。
同样,本步骤中涉及的功能参数可以加密的功能参数。宿主应用2可以利用预先与宿主应用1协商的会话密钥对加密的功能参数进行解密。
在302中,利用该功能参数执行相应的功能。
本步骤中,宿主应用2可以将功能参数发送给服务器端2,由服务器端2依据功能参数进行处理,该步骤可以是现有的功能执行流程,在此不做详述。
在303中,向宿主应用1返回执行结果信息。
本步骤中,宿主应用2可以将执行结果采用预先协商的会话密钥进行加密后发送给宿主应用1。
本申请中涉及的宿主应用功能可以是小程序在使用过程中调用的宿主应用的任意功能,例如搜索功能、支付功能等。下面分别结合实施例进行描述。
图4为本申请实施例提供的一个实现支付功能的方法流程图,如图4中所示,该方法可以包括以下步骤:
在401中,宿主应用1获取到宿主应用1中小程序a1的创建订单的请求。
用户通过宿主应用1使用小程序a1的过程中,在创建订单时需要调用宿主应用的支付功能。通常在创建订单时,除了包含订单编号、订单内容等信息之外,订单中还会包含支付通道的信息。该支付通道可以是服务指定的支付通道,也可以是用户选择的支付通道。因此,该创建订单的请求所包含的订单信息中包含有支付通道的信息,从而触发调用宿主应用1的采用该支付通道的支付功能。
在402中,宿主应用1将创建订单的请求发送给自身的服务器端即服务器端1。
在403中,服务器端1返回订单相关信息给宿主应用1,其中订单相关信息包括加密的订单信息、加密密钥信息和订单对账信息。
服务器端1确定宿主应用1不具备该支付通道的支付功能,无法直接进行支付处理,因此服务器端1向宿主应用1返回订单相关信息,宿主应用1接收到该订单相关信息后,就能够确定自身不具备该支付功能。
订单相关信息中包含的订单信息是加密的,其采用的加密密钥信息同时包含于订单相关信息中。其中加密密钥信息可以是对称式密钥信息,也可以是非对称式密钥信息,只要能够利用加密密钥的信息实现对加密的订单信息的解密即可。
其中订单对账信息是服务器端1生成的具备唯一性和不可伪造性的信息,能够唯一标识订单,且难以被其他设备破解。订单对账信息可以采用只有服务器端1知晓的密钥对诸如随机数、时间戳等随机信息进行加密处理后得到,当然也可以采用其他方式,只要能够保证唯一性和不可伪造性即可。
在404中,宿主应用1确定终端设备中具备支付功能的宿主应用2。
宿主应用1枚举终端设备中的所有宿主应用得到宿主应用列表,检测列表中各宿主应用的安装包中是否存在标识采用指定支付通道的支付功能,得到具有指定支付通道的支付功能的宿主应用。若得到多个宿主应用,可以将该多个宿主应用通过诸如弹窗的方式显示给用户,由用户从中选择一个宿主应用作为执行支付功能的宿主应用。假设用户选择的是宿主应用2。
除了该方式之外,也可以由服务器端1利用宿主应用1上传的终端设备的宿主应用列表,从中确定终端设备中具备指定支付通道的支付功能的宿主应用,将这些宿主应用的信息返回给宿主应用1。其中宿主应用1可以将宿主应用列表连同步骤402中的请求一起发送,也可以在403之后单独发送,还可以在宿主应用1启动后就进行宿主应用列表的枚举和上传给服务器端1。
在405中,宿主应用1与宿主应用2之间协商会话密钥。
为了保证信息安全性,防止信息伪造和信息拦截,本申请实施例中可以进行宿主应用1和宿主应用2之间会话密钥的协商。会话密钥的协商方式可以采用现有技术中已有的协商方式,在此不做详述。
在406中,宿主应用1利用会话密钥对支付功能参数进行加密后发送给宿主应用2。
支付功能参数由订单相关信息得到。其中支付功能参数除了包括加密的订单信息、加密密钥信息和订单对账信息之外,还可以包括校验信息和时间戳。其中,校验信息用于对支付功能参数进行完整性校验,例如可以是对加密的订单信息、加密密钥信息、时间戳进行哈希处理后得到的信息。
另外,由于不同宿主应用在执行支付功能的处理时,需求的信息不尽相同,因此需要根据执行支付功能的宿主应用进行支付功能参数的数据适配。例如可以按照预先设置的数据格式,向宿主应用2发送支付功能参数。
本步骤中,宿主应用1通过Intent事件调用宿主应用2的支付功能接口并传递上述支付功能参数。
在407中,宿主应用2利用会话密钥对支付功能参数进行解密。
在408中,宿主应用2将支付功能参数发送给服务器端2。
服务器端2接收到支付功能参数后,利用校验信息进行完整性校验,例如对加密的订单信息、加密密钥信息、时间戳进行哈希处理后,将哈希处理得到的值与校验信息进行比对,如果一致,则通过完整性校验,否完整性校验失败。
利用其中的加密密钥信息对加密的订单信息进行解密后,得到订单信息,利用订单信息执行后续的支付处理。
服务器端2保存订单信息与订单对账信息之间的对应关系,以便后续进行订单对账。
在409中,服务器端2向宿主应用2返回包含指定支付通道信息的支付界面。
订单信息中包含有指定的支付通道信息、支付金额、收款方信息等,服务器端利用这些信息生成支付界面返回给宿主应用2,由宿主应用2将支付界面展示给用户。
在410中,宿主应用2将用户在支付界面输入的支付信息发送给服务器端2。
用户可以在支付界面上输入诸如密码、验证码、生物特征信息等支付信息,宿主应用2将支付信息发送给服务器端2。其中,密码可以是数字密钥、手势密码、语音密码等。验证码可以是图片类验证码、短信验证码等等。生物特征信息可以是指纹、声纹、虹膜、人脸等特征信息。
在411中,服务器端2对支付信息进行处理后,向宿主应用2返回执行结果信息。
服务器端2可以在本地对支付信息进行验证,也可以将支付信息发送给与指定支付通道对应的第三方支付平台或者银行***等进行验证。如果验证通过,则支付成功,否则支付失败。
另外,服务器端2会对支付结果和订单对账信息进行保存,以便后续进行订单对账处理。
需要说明的是,上述409~411是本申请提供的其中一种实现方式,对于服务器端2而言,还可以采用其他的支付处理方式。例如,若用户预先在宿主应用2设置了免密支付,则服务器端2直接向宿主应用2返回支付成功的信息。
在412中,宿主应用2利用会话密钥对执行结果信息进行加密后发送给宿主应用1。
执行结果信息包括支付结果和订单对账信息。
在413中,宿主应用1利用会话密钥对执行结果信息进行解密后,将执行结果信息发送给服务器端1进行保存。
服务器端1保存支付结果与订单对账信息之间的对应关系。
如果后续需要针对本次交易进行对账,则可以在414中,由服务器端1和服务器端2利用各自保存的订单信息、支付结果与订单对账信息之间的对应关系,进行订单对账处理。
图5为本申请实施例提供的一个实现搜索功能的方法流程图,如图5中所示,该方法可以包括以下步骤:
在501中,宿主应用1获取的宿主应用1中小程序b1的搜索请求。
用户通过宿主应用1在使用小程序b1的过程中,需要调用宿主应用的搜索功能,则会发送搜索请求,该搜索请求中可以包括搜索关键词,还可以进一步包括:搜索类型信息,例如是网页搜索、图片搜索、地图搜索等。
在502中,宿主应用1检测出自身不具备搜索功能后,确定终端设备中具备搜索功能的宿主应用2。
宿主应用1可以检测自身安装包中是否存在标识搜索功能的信息,如果否,则可以认为检测出自身不具备搜索功能。
除了这种方式之外,也可以采用图4所示支付实施例中将搜索请求发送给宿主应用1的服务器端1,由服务器端1来确定宿主应用1是否具备搜索功能的方式。
宿主应用1枚举终端设备中的宿主应用列表,通过检测列表中各宿主应用的安装包中是否存在标识搜索功能的信息,来确定终端设备中具备搜索功能的宿主应用。如果存在多个具备搜索功能的宿主应用,则可以将该多个宿主应用的信息显示给用户,由用户从中选择一个宿主应用,假设选择的是宿主应用2。
在503中,宿主应用1与宿主应用2之间协商会话密钥。
在504中,宿主应用1利用会话密钥对搜索功能参数进行加密后发送给宿主应用2。
搜索功能参数由搜索请求得到。其中搜索功能参数除了包括搜索关键词、搜索类型等搜索信息之外,还可以包括校验信息、时间戳等信息。其中,搜索信息也可以采用加密的形式,这种情况下,搜索功能参数还包括加密密钥信息。
本步骤中,宿主应用1可以通过Intent事件调用宿主应用2的搜索功能接口并传递上述搜索功能参数。
在505中,宿主应用2利用会话密钥对搜索功能参数进行解密。
在506中,宿主应用2将搜索功能参数发送给服务器端2。
服务器端2接收到搜索功能参数后,利用校验信息进行完整性校验。利用其中的加密密钥信息对加密的搜索信息进行解密后,得到搜索信息,利用搜索信息进行搜索处理。
在507中,服务器端2返回搜索结果信息给宿主应用2。
在执行搜索后,可以将诸如搜索结果页面的地址信息发送给宿主应用2。
在508中,宿主应用2利用会话密钥对搜索结果信息进行加密后发送给宿主应用1。
在509中,宿主应用1利用会话密钥对搜索结果信息进行解密后,对搜索结果进行展现。
图6示出了适于用来实现本申请实施方式的示例性计算机***/服务器012的框图。图6显示的计算机***/服务器012仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机***/服务器012以通用计算设备的形式表现。计算机***/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,***存储器028,连接不同***组件(包括***存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器012典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器028可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机***/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***034可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本申请所描述的实施例中的功能和/或方法。
计算机***/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本申请中,计算机***/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机***/服务器012交互的设备通信,和/或与使得该计算机***/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机***/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器020通过总线018与计算机***/服务器012的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机***/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元016通过运行存储在***存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的方法流程。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本申请上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行本申请实施例所提供的方法流程。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (20)

1.一种信息处理方法,由终端设备的第一宿主应用执行,其特征在于,该方法包括:
获取到小程序触发宿主应用功能的事件后,若所述第一宿主应用不具备所述功能,则将功能参数发送给所述终端设备中具备所述功能的第二宿主应用;
接收所述第二宿主应用执行所述功能后返回的执行结果信息。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
所述第一宿主应用通过检测所述第一宿主应用的安装包中是否存在所述功能的信息或者所述第一宿主应用的包名是否指示存在所述功能,来确定所述第一宿主应用是否具备所述功能;或者,
所述第一宿主应用将触发宿主应用功能的事件信息发送至所述第一宿主应用的服务器端,由所述第一宿主应用的服务器端确定所述第一宿主应用是否具备所述功能。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
所述第一宿主应用通过枚举所述终端设备的宿主应用列表,并检测列表中各宿主应用的安装包中是否存在标识所述功能的信息或者各宿主应用的包名是否指示存在所述功能,来确定所述终端设备中具备所述功能的宿主应用;或者,
所述第一宿主应用将枚举得到的所述终端设备的宿主应用列表发送给所述第一宿主应用的服务器端,由所述第一宿主应用的服务器端确定所述宿主应用列表中具备所述功能的宿主应用,并将具备所述功能的宿主应用的信息返回给所述第一宿主应用。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
若所述终端设备中存在多个具备所述功能的宿主应用,则将所述多个具备所述功能的宿主应用信息展示给用户,以供用户从中选择一个宿主应用作为所述第二宿主应用。
5.根据权利要求1所述的方法,其特征在于,将功能参数发送给所述终端设备中具备所述功能的第二宿主应用包括:
通过意图Intent事件调用所述第二宿主应用的所述功能的接口并传递所述功能参数。
6.根据权利要求1所述的方法,其特征在于,将功能参数发送给所述终端设备中具备所述功能的第二宿主应用包括:
利用所述第一宿主应用与所述第二宿主应用预先协商的会话密钥对所述功能参数进行加密,将加密后的功能参数发送给所述第二宿主应用;
接收所述第二宿主应用执行所述功能后返回的执行结果包括:
接收所述第二宿主应用执行所述功能后返回的加密的执行结果,利用所述会话密钥对所述加密的执行结果进行解密。
7.根据权利要求1所述的方法,其特征在于,所述功能包括指定支付通道的支付功能;
所述功能参数包括订单信息;
所述执行结果信息包括:支付结果。
8.根据权利要求7所述的方法,其特征在于,所述获取到小程序触发宿主应用功能的事件包括:获取到所述第一宿主应用中小程序创建订单的请求,所述请求中包含订单信息;
接收到第一宿主应用的服务器端返回的订单相关信息后,确定所述第一宿主应用不具备所述功能。
9.根据权利要求8所述的方法,其特征在于,所述订单相关信息包括:加密的订单信息、加密密钥信息和订单对账信息;
所述功能参数包括:所述加密的订单信息、所述加密密钥信息、校验信息和时间戳。
10.根据权利要求9所述的方法,其特征在于,所述订单相关信息还包括订单对账信息;所述功能参数和执行结果信息中也分别包含所述订单对账信息;
该方法还包括:
所述第一宿主应用将所述执行结果信息发送至所述第一宿主应用的服务器端保存,以便所述第一宿主应用的服务器端利用所述订单对账信息进行账单对账。
11.根据权利要求1所述的方法,其特征在于,若所述执行结果信息包括执行失败的信息,则重新执行所述将功能参数发送给所述终端设备中具备所述功能的第二宿主应用,或者将所述功能参数发送给所述终端设备中具备所述功能的其他宿主应用。
12.一种信息处理方法,由终端设备的第二宿主应用执行,其特征在于,该方法包括:
接收所述终端设备中第一宿主应用发送的功能参数,所述功能参数是第一宿主应用获取到小程序触发宿主应用功能的事件且确定自身不具备所述功能后发送的;
利用所述功能参数执行所述功能;
向所述第一宿主应用返回执行结果信息。
13.根据权利要求12所述的方法,其特征在于,接收所述终端设备中第一宿主应用发送的功能参数包括:
接收所述第一宿主应用发送的加密的功能参数,利用所述第一宿主应用与所述第二宿主应用预先协商的会话密钥,对所述加密的功能参数进行解密;
向所述第一宿主应用返回执行结果信息包括:
利用所述会话密钥对所述执行结果信息进行加密,向所述第一宿主应用返回加密后的执行结果信息。
14.根据权利要求12所述的方法,其特征在于,所述功能包括指定支付通道的支付功能;
所述功能参数包括订单信息;
所述执行结果信息包括:支付结果。
15.根据权利要求14所述的方法,其特征在于,所述功能参数包括:加密的订单信息、加密密钥信息、订单对账信息、校验信息和时间戳;
所述执行结果信息包括支付结果和所述订单对账信息;
该方法还包括:将所述功能参数发送给所述第二宿主应用的服务器端保存,以便所述第二宿主应用的服务器端利用所述订单对账信息进行订单对账。
16.根据权利要求14所述的方法,其特征在于,利用所述功能参数执行所述功能包括:
将所述功能参数发送至所述第二宿主应用的服务器端;
接收所述第二宿主应用的服务器端返回的包含指定支付通道信息的支付界面;
将用户在所述支付界面上输入的支付信息发送给所述第二宿主应用的服务器端;
接收所述第二宿主应用的服务器端返回的支付结果。
17.一种信息处理方法,由第一宿主应用的服务器端执行,其特征在于,该方法包括:
接收所述第一宿主应用发送的小程序触发宿主应用功能的事件信息,以及所述第一宿主应用枚举得到的所述第一宿主应用所在终端设备的宿主应用列表;
确定所述宿主应用列表中具备所述功能的宿主应用,并将具备所述功能的宿主应用的信息返回给所述第一宿主应用,以便所述第一宿主应用将功能参数发送给具备所述功能的第二宿主应用来执行所述功能。
18.根据权利要求17所述的方法,其特征在于,所述功能包括指定支付通道的支付功能;
所述小程序触发宿主应用功能的事件包括:所述第一宿主应用中小程序创建订单的请求,所述请求中包含订单信息;
该方法还包括:向所述第一宿主应用返回订单相关信息,所述订单相关信息包括:加密的订单信息、加密密钥信息和订单对账信息;
接收并保存所述第一宿主应用发送的支付结果和订单对账信息;
所述订单对账信息用于进行账单对账。
19.一种信息处理设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-18中任一所述的方法。
20.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-18中任一所述的方法。
CN201910782782.1A 2019-08-23 2019-08-23 一种信息处理方法、设备和计算机存储介质 Active CN110515678B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910782782.1A CN110515678B (zh) 2019-08-23 2019-08-23 一种信息处理方法、设备和计算机存储介质
PCT/CN2020/109954 WO2021036877A1 (zh) 2019-08-23 2020-08-19 一种信息处理方法、设备和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910782782.1A CN110515678B (zh) 2019-08-23 2019-08-23 一种信息处理方法、设备和计算机存储介质

Publications (2)

Publication Number Publication Date
CN110515678A CN110515678A (zh) 2019-11-29
CN110515678B true CN110515678B (zh) 2021-03-19

Family

ID=68626431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910782782.1A Active CN110515678B (zh) 2019-08-23 2019-08-23 一种信息处理方法、设备和计算机存储介质

Country Status (2)

Country Link
CN (1) CN110515678B (zh)
WO (1) WO2021036877A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515678B (zh) * 2019-08-23 2021-03-19 上海连尚网络科技有限公司 一种信息处理方法、设备和计算机存储介质
CN112835632B (zh) * 2019-11-06 2022-05-27 上海连尚网络科技有限公司 一种端能力的调用方法、设备和计算机存储介质
CN111476637B (zh) * 2020-04-07 2023-07-07 百度在线网络技术(北京)有限公司 商品信息管理方法、宿主平台及商品信息管理组件
CN111475342B (zh) * 2020-04-15 2024-04-23 广州三星通信技术研究有限公司 用于电子终端的应用切换方法和应用切换装置
CN111754269A (zh) * 2020-06-29 2020-10-09 嘉兴想天信息科技有限公司 短说app集成社区***
CN114116037A (zh) * 2020-08-31 2022-03-01 支付宝实验室(新加坡)有限公司 一种小程序跨站点投放方法和***
CN112700238A (zh) * 2020-12-31 2021-04-23 车主邦(北京)科技有限公司 一种支付信息的处理方法和装置
CN114531432A (zh) * 2022-02-14 2022-05-24 浙江吉利控股集团有限公司 一种基于跨平台的业务通信方法及装置
CN114979300B (zh) * 2022-07-05 2024-06-04 北京弥特信息科技有限公司 一种客户端的多种服务通信方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033443A1 (en) * 2001-03-01 2003-02-13 Nikolay Igotti Virtual machine integration application program interface
US8458656B1 (en) * 2008-08-25 2013-06-04 United Services Automobile Association (Usaa) Systems and methods for providing mobile browser access to mobile device functionalities
CN104102537B (zh) * 2013-04-07 2017-09-29 华为技术有限公司 一种应用调用方法及用户终端
CN107957911B (zh) * 2016-10-18 2019-07-05 腾讯科技(深圳)有限公司 组件调用的方法和装置、组件数据处理的方法和装置
CN109976922B (zh) * 2019-03-04 2021-02-02 上海连尚网络科技有限公司 小程序平台间的发现方法、设备和计算机存储介质
CN109933442B (zh) * 2019-03-04 2022-12-30 上海连尚网络科技有限公司 小程序平台间的通讯方法、设备和计算机存储介质
CN110515678B (zh) * 2019-08-23 2021-03-19 上海连尚网络科技有限公司 一种信息处理方法、设备和计算机存储介质

Also Published As

Publication number Publication date
WO2021036877A1 (zh) 2021-03-04
CN110515678A (zh) 2019-11-29

Similar Documents

Publication Publication Date Title
CN110515678B (zh) 一种信息处理方法、设备和计算机存储介质
US9560033B2 (en) Method and system for authenticating user identity
US9799029B2 (en) Securely receiving data input at a computing device without storing the data locally
US8973123B2 (en) Multifactor authentication
CN110826043B (zh) 一种数字身份申请***及方法、身份认证***及方法
US10733594B1 (en) Data security measures for mobile devices
CN111698312B (zh) 基于开放平台的业务处理方法、装置、设备和存储介质
CN112150113A (zh) 档案数据的借阅方法、装置和***、资料数据的借阅方法
US20200412535A1 (en) Authentication information transmission method, apparatus, and storage medium
CN113918904A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
CN110545542B (zh) 基于非对称加密算法的主控密钥下载方法、装置和计算机设备
CN110719590A (zh) 基于手机号码的一键登录方法、装置、设备及存储介质
CN106685945A (zh) 业务请求处理方法、业务办理号码的验证方法及其终端
US10845990B2 (en) Method for executing of security keyboard, apparatus and system for executing the method
CN110968860A (zh) 应用账号的安全验证方法、计算机设备及计算机可读存储介质
CN110830479A (zh) 基于多卡的一键登录方法、装置、设备及存储介质
US20230198760A1 (en) Verified presentation of non-fungible tokens
US20160014115A1 (en) Apparatus used for security information interaction
CN115396206A (zh) 一种报文加密方法、报文解密方法、装置和程序产品
CN114637938A (zh) 页面渲染方法、装置、设备、介质
CN114186994A (zh) 一种数字货币钱包应用的使用方法、终端及***
CN112101922A (zh) 云端支付方法、装置、云***、电子设备与存储介质
CN109525554B (zh) 金融数据通信方法、装置、介质及电子设备
CN114785560B (zh) 信息处理方法、装置、设备和介质
CN113656376B (zh) 一种数据处理方法、装置及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant