一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

客户端接口统一方法、服务系统、存储介质和电子设备与流程

2022-05-03 08:06:05 来源:中国专利 TAG:
客户端接口统一方法、服务系统、存储介质和电子设备与流程

本发明涉及数据传输领域,特别涉及一种客户端接口统一方法、服务系统、存储介质和电子设备。

背景技术

目前,第三方(请求方)页面一般是加载在客户端的浏览器中,客户端需要将接口直接暴露给第三方页面,既不安全也不方便管理。

主要存在两个问题:1、第三方需要调用多个功能模块,使得客户端需要暴露多个接口,接口较多不利于管理;2、第三方的能力不好管理,多个接口是直接暴露,容易存在安全隐患。



技术实现要素:

鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种客户端接口统一方法、服务系统、存储介质和电子设备。

第一方面,一种客户端接口统一方法,应用于一种服务系统,所述系统包括:服务端、客户端和请求方;

所述方法包括:

所述客户端获得所述服务端针对所述请求方的请求发送的路由数据,其中,所述路由数据至少携带有发起所述请求的用户的用户标识和所述请求涉及的功能模块的模块标识;

所述客户端根据预设的所述功能模块的状态要求,对所述用户的状态进行校验,其中,所述状态要求为:所述功能模块响应所述请求时,针对所述用户的状态要求;

若对所述用户的状态进行校验均通过,则所述客户端根据所述路由数据形成相应的业务数据,其中,所述业务数据包括:所述功能模块的模块标识和所述功能模块所需的数据;

所述客户端根据所述功能模块的模块标识,通过统一接口调用所述功能模块,并将所述功能模块所需的数据输入至所述功能模块,以执行相应的业务处理,从而获得相应的处理结果,其中一个所述统一接口对应多个所述功能模块;

所述客户端将所述处理结果发送至所述请求方。

结合第一方面,在某些可选的实施方式中,在所述客户端获得所述服务端针对所述请求方的请求发送的路由数据之前,所述方法还包括:

所述服务端获得所述请求方发送的请求,其中,所述请求中携带有相应的请求信息;

所述服务端对所述请求进行解密操作、验签操作和鉴权操作,若所述解密操作、所述验签操作和所述鉴权操作均通过,则形成所述路由数据,并发送给所述客户端。

结合上一个实施方式,在某些可选的实施方式中,所述服务端对所述请求进行解密操作、验签操作和鉴权操作,若所述解密操作、所述验签操作和所述鉴权操作均通过,则形成所述路由数据,并发送给所述客户端,包括:

所述服务端对所述请求进行解密操作,以获得所述请求信息,其中,所述请求信息包括:所述请求方计算的验证信息和所述验证信息涉及的参数信息;

所述服务端根据所述验证信息涉及的参数信息,通过预先建立的规则计算得到当前验证信息;

所述服务端将所述当前验证信息与所述请求方计算的验证信息进行比较,以进行所述验签操作;

若所述当前验证信息与所述请求方计算的验证信息一致,则确定所述请求方是否有权限调用所述请求涉及的功能模块,以进行所述鉴权操作;

若所述鉴权操作通过,则形成所述路由数据,并发送给所述客户端。

结合第一方面,在某些可选的实施方式中,所述客户端根据所述路由数据形成相应的业务数据,包括:

所述客户端根据预先建立的数据处理规则,将对应功能模块所使用的所述路由数据中的各数据进行拼接,从而形成所述业务数据。

结合第一方面,在某些可选的实施方式中,所述客户端将所述处理结果发送至所述请求方,包括:

所述客户端将所述处理结果按预先设置的格式进行封装,并在进行加密操作和加签操作后,发送至所述请求方。

第二方面,一种服务系统,包括:服务端、客户端和请求方;

所述客户端包括路由模块,所述路由模块包括:路由数据获得单元、状态校验单元、业务数据形成单元、业务处理单元和结果发送单元;

所述路由数据获得单元,用于获得所述服务端针对所述请求方的请求发送的路由数据,其中,所述路由数据至少携带有发起所述请求的用户的用户标识和所述请求涉及的功能模块的模块标识;

所述状态校验单元,用于根据预设的所述功能模块的状态要求,对所述用户的状态进行校验,其中,所述状态要求为:所述功能模块响应所述请求时,针对所述用户的状态要求;

所述业务数据形成单元,用于若对所述用户的状态进行校验均通过,则根据所述路由数据形成相应的业务数据,其中,所述业务数据包括:所述功能模块的模块标识和所述功能模块所需的数据;

所述业务处理单元,用于根据所述功能模块的模块标识,通过统一接口调用所述功能模块,并将所述功能模块所需的数据输入至所述功能模块,以执行相应的业务处理,从而获得相应的处理结果,其中一个所述统一接口对应多个所述功能模块;

所述结果发送单元,用于将所述处理结果发送至所述请求方。

结合第二方面,在某些可选的实施方式中,所述服务端还包括:请求获得单元和路由数据形成单元;

所述请求获得单元,用于在所述客户端获得所述服务端针对所述请求方的请求发送的路由数据之前,获得所述请求方发送的请求,其中,所述请求中携带有相应的请求信息;

所述路由数据形成单元,用于对所述请求进行解密操作、验签操作和鉴权操作,若所述解密操作、所述验签操作和所述鉴权操作均通过,则形成所述路由数据,并发送给所述客户端。

结合上一个实施方式,在某些可选的实施方式中,所述路由数据形成单元包括:解密子单元、验证信息计算子单元、验签子单元、鉴权子单元和路由数据形成子单元;

所述解密子单元,用于对所述请求进行解密操作,以获得所述请求信息,其中,所述请求信息包括:所述请求方计算的验证信息和所述验证信息涉及的参数信息;

所述验证信息计算子单元,用于根据所述验证信息涉及的参数信息,通过预先建立的规则计算得到当前验证信息;

所述验签子单元,用于将所述当前验证信息与所述请求方计算的验证信息进行比较,以进行所述验签操作;

所述鉴权子单元,用于若所述当前验证信息与所述请求方计算的验证信息一致,则确定所述请求方是否有权限调用所述请求涉及的功能模块,以进行所述鉴权操作;

所述路由数据形成子单元,用于若所述鉴权操作通过,则形成所述路由数据,并发送给所述客户端。

第三方面,一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的客户端接口统一方法。

第四方面,一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的客户端接口统一方法。

借由上述技术方案,本发明提供的一种客户端接口统一方法、服务系统、存储介质和电子设备,可以通过所述客户端获得所述服务端针对所述请求方的请求发送的路由数据,其中,所述路由数据至少携带有发起所述请求的用户的用户标识和所述请求涉及的功能模块的模块标识;所述客户端根据预设的所述功能模块的状态要求,对所述用户的状态进行校验,其中,所述状态要求为:所述功能模块响应所述请求时,针对所述用户的状态要求;若对所述用户的状态进行校验均通过,则所述客户端根据所述路由数据形成相应的业务数据,其中,所述业务数据包括:所述功能模块的模块标识和所述功能模块所需的数据;所述客户端根据所述功能模块的模块标识,通过统一接口调用所述功能模块,并将所述功能模块所需的数据输入至所述功能模块,以执行相应的业务处理,从而获得相应的处理结果,其中一个所述统一接口对应多个所述功能模块;所述客户端将所述处理结果发送至所述请求方。由此可以看出,本发明可以通过一个统一接口调用多个功能模块,既减少了接口的数量,还无需将接口暴露,比较安全可靠。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明提供的一种客户端接口统一方法的流程图;

图2示出了本发明提供的一种服务系统的结构示意图;

图3示出了本发明提供的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明提供了一种客户端接口统一方法,应用于一种服务系统,所述系统包括:服务端、客户端和请求方;

如图1所示,所述方法包括:S100、S200、S300、S400和S500;

S100、所述客户端获得所述服务端针对所述请求方的请求发送的路由数据;

其中,所述路由数据至少携带有发起所述请求的用户的用户标识和所述请求涉及的功能模块的模块标识;

可选的,本发明可以应用于银行领域的系统。客户端可以理解为客户的移动终端(手机和电脑等)中安装的应用软件。服务端可以理解为与客户端通信的网络服务器及应用服务器。

作为银行的商户,也拥有相应的客户端,但是一般情况下商户的客户端是网页形式嵌入在银行的app中,本发明所说的请求方即可理解为商户的网页端。商户的网页端调用客户端的接口与服务端交互,将信息处理并进行如调起人脸识别、联网核查、采集照片和模型、验证等过程,之后将结果返回给商户网页端,本发明对此不做限制。

可选的,路由数据可以理解为:指示客户端需要执行哪些流程的信息。例如,需要执行OCR功能,则路有数据指示客户端需要先调用起“身份验证”功能,让客户拍照或扫描身份证。

可选的,此处原数据指的是商户的请求方的请求。例如,原数据指示了“商户请求了哪些种类的信息,携带了哪些验证信息”等。原数据可以通过在客户端设置的同一接口(例如JS接口)上送至服务端的接口模块,本发明对此不做限制。

可选的,JS接口指的是客户端提供的JavaScript接口,由客户端实现,在Webview中提供。

比如商户的“淘车位”功能,客户在页面上登录UI交互时调用JS接口,通过JS接口告知服务端需要授权当前登录客户的用户号和手机号,以使得服务端进行相应的处理。

又例如,在调用功能时,如“社保卡专区”调用接口告诉服务端需要使用“人脸识别”功能,并上送了客户的姓名和身份证号(整报文为密文),以使得服务端进行相应的处理。

可选的,本发明所说的用户可以对应为客户,用户标识可以是姓名、手机号和身份证号等。请求涉及的功能模块的模块标识可以理解为:客户端为相应商户的请求,需要调用的功能模块的模块标识。当然,路由数据除了携带有用户标识和模块标识,还可以携带其他信息或者数据,本发明对此不做限制。

可选的,结合图1所示的实施方式,在某些可选的实施方式中,在所述S100之前,所述方法还包括:步骤1.1和步骤1.2;

步骤1.1、所述服务端获得所述请求方发送的请求,其中,所述请求中携带有相应的请求信息;

可选的,这里所说的请求信息即可理解为前述的原数据里的具体信息,本发明对此不做限制。

步骤1.2、所述服务端对所述请求进行解密操作、验签操作和鉴权操作,若所述解密操作、所述验签操作和所述鉴权操作均通过,则形成所述路由数据,并发送给所述客户端。

可选的,在实际中,需要对待验证的客户额敏感信息进行保护,且防止过程中被截获和篡改。所以需要客户端在发送请求是需要加密,相应的服务端在接收到请求后,需要对请求进行解密操作。

可选的,针对不同功能模块,其具体业务参数有所不同。但是总体上,一般都包括:商户编号,功能编号,验签信息(商户自行拼接计算的验证信息)和业务参数(比如OCR信息)。验签过程为:将商户编号,功能编号,业务参数和时间戳拼接在一起,根据商户端密钥计算出摘要值。服务端按照同样方式拼接计算对比。如果相同,则说明内容没有被篡改,继续进行鉴权操作;如不同,则说明内容有问题,则可以拒绝此次服务。

可选的,服务端解密后,可以执行相应的鉴权操作,从而确认此商户是否有权限调用此功能模块,有的话继续,没有的话拒绝服务。

结合上一个实施方式,在某些可选的实施方式中,所述步骤1.2包括:步骤2.1、步骤2.2、步骤2.3、步骤2.4和步骤2.5;

步骤2.1、所述服务端对所述请求进行解密操作,以获得所述请求信息,其中,所述请求信息包括:所述请求方计算的验证信息和所述验证信息涉及的参数信息;

可选的,验证信息涉及的参数信息可以包括:商户编号,功能编号,业务参数和时间戳等信息。

步骤2.2、所述服务端根据所述验证信息涉及的参数信息,通过预先建立的规则计算得到当前验证信息;

可选的,服务端计算当前验证信息的规则与请求方计算验证信息的规则一致,本发明对此不做限制。

步骤2.3、所述服务端将所述当前验证信息与所述请求方计算的验证信息进行比较,以进行所述验签操作;

可选的,如前所述,请求方在发送请求时,使用相同的规则计算得到验证信息,并与验证信息涉及的参数信息一并发送至服务端。服务端接收到验证信息涉及的参数信息,也使用相同的规则计算得到当前验证信息。若这些参数信息在传输的过程中没有被篡改,则服务端计算得到的当前验证信息与请求方计算的验证信息应该是一致的,若不一致,则说明这些参数信息在传输的过程中被篡改,即验签不通过。

步骤2.4、若所述当前验证信息与所述请求方计算的验证信息一致,则确定所述请求方是否有权限调用所述请求涉及的功能模块,以进行所述鉴权操作;

可选的,如前所述,鉴权操作是确定所述请求方是否有权限调用所述请求涉及的功能模块。即,确定商户是否有权限调用相应的功能模块。例如,根据用户标识查看后台配置数据,判断该功能模块是否可以被调用。

可选的,鉴权操作可以在验签操作的结果为“通过”后执行,也可以与验签操作并列执行。即,验签操作与鉴权操作分别独立执行,无需以某一个为前提,本发明对此不做限制。

步骤2.5、若所述鉴权操作通过,则形成所述路由数据,并发送给所述客户端。

可选的,若验签操作和鉴权操作均通过,则可以对请求信息进行整理和加工,形成相应的路由数据,本发明对此不做限制。

S200、所述客户端根据预设的所述功能模块的状态要求,对所述用户的状态进行校验;

其中,所述状态要求为:所述功能模块响应所述请求时,针对所述用户的状态要求;

可选的,不同功能模块的状态要求不同。例如,缴费模块需要客户拥有对外转账权限,查看个人交易明细功能需要客户处于登录内状态等。可以有“校验对外转账权限”,“校验客户状态(是否一段用户)”,“校验是否登录”,“校验是否打开存储权限”,“校验是否打开相机权限”和“校验是否绑定账户”等很多种状态要求,具体根据不同功能模块的要求进行设定。

S300、若对所述用户的状态进行校验均通过,则所述客户端根据所述路由数据形成相应的业务数据,其中,所述业务数据包括:所述功能模块的模块标识和所述功能模块所需的数据;

可选的,如前所述不同功能模块的状态要求不同,且一个功能模块可以有同时在多个方面有多个状态要求。所以,只有当对所述用户的状态进行校验均通过时,客户端才根据所述路由数据形成相应的业务数据。

可选的,业务数据可以理解为:对应功能模块需求的具体业务的数据。如针对“无客户信息人脸识别”功能,客户信息在银行没有,也不存储,姓名身份证号是商户加密送过来的。但是功能模块中需要的动作数据,存储位置和执行编号等,是需要服务端生成并同步至客户端,由客户端处理的。

可选的,本发明可以先剥离路由数据,再对所述用户的状态进行校验。剥离路由数据可以理解为:将路由数据处理成对应功能模块可使用的数据。如服务端发送给客户端的路由数据中带有“调用人脸识别模块,使用姓名为xxx,身份证号为xxx的数据验证”,客户端剥离这块信息,处理成“姓名:xxx,身份证号:xxx”,后续在根据剥离得到的数据形成相应的业务数据,本发明对此不做限制。

例如,结合图1所示的实施方式,在某些可选的实施方式中,所述S300中的所述客户端根据所述路由数据形成相应的业务数据,包括:所述客户端根据预先建立的数据处理规则,将对应功能模块所使用的所述路由数据中的各数据进行拼接,从而形成所述业务数据。

可选的,功能模块的模块标识可以与功能意义对应,即,本发明也可以为各个功能设置下相应的功能标识,并以此功能标识代替功能模块的模块标识,本发明对此不做限制。

S400、所述客户端根据所述功能模块的模块标识,通过统一接口调用所述功能模块,并将所述功能模块所需的数据输入至所述功能模块,以执行相应的业务处理,从而获得相应的处理结果,其中一个所述统一接口对应多个所述功能模块;

可选的,客户端的接口模块可以作为统一接口调用相应的功能。例如,在现在的即时通讯软件中的设置页面上点击“上传头像”会进入“选择图片”(拍摄照片或者选择图库照片)这个功能。同理的,商户的网页上UI是人脸识别,则通过相应的统一接口传入人脸识别模块的模块标识和数据,以调用相应功能模块。

可选的,功能模块在执行完毕各自的业务之后,会产生相应的业务处理结果。例如,人脸识别模块在对摄像头拍摄的人脸进行识别后,可以生成相应的识别结果,本发明对此不做限制。

可选的,本发明可以就要统一接口,调用不同的功能模块,无需太多接口,也无需将接口暴露给请求方,具有一定的安全性和可靠性。

S500、所述客户端将所述处理结果发送至所述请求方。

可选的,如前所述,最初的请求是由请求方的网页端发起的,所以最终也应将结果返回至请求方,以便于请求方展示相应的处理结果,本发明对此不做限制。

可选的,不同的功能模块对应返回的处理结果不同。例如,“无客户信息人脸识别”功能,返回给商户的是“此客户人脸识别通过”此类的信息。“身份证识别”功能,返回的是身份证上的内容,如姓名、性别、出生年月、发证机关和身份证号等。

可选的,客户端可以直接将处理结果发送至请求方,也可以在进行一定加工处理后再发给请求方。例如,结合图1所示的实施方式,在某些可选的实施方式中,所述S500包括:所述客户端将所述处理结果按预先设置的格式进行封装,并在进行加密操作和加签操作后,发送至所述请求方。

可选的,为了保护客户的信息不被截取,并防止篡改。可以先进行加签操作。即,将处理结果中的返回码、返回信息、业务信息和时间戳等拼接起来,通过密钥计算摘要值,并附加在报文中。

可选的,在进行加签操作之后再进行加密操作。即,使用公钥对整个报文进行加密操作。

可选的,本发明的加密操作和解密操作可以是基于SM4算法,分配相应的密钥,本发明对此不做限制。

如图2所示,本发明提供了一种服务系统,包括:服务端1000、客户端2000和请求方3000;

所述客户端2000包括路由模块100,所述路由模块100包括:路由数据获得单元110、状态校验单元120、业务数据形成单元130、业务处理单元140和结果发送单元150;

所述路由数据获得单元110,用于获得所述服务端1000针对所述请求方3000的请求发送的路由数据,其中,所述路由数据至少携带有发起所述请求的用户的用户标识和所述请求涉及的功能模块的模块标识;

所述状态校验单元120,用于根据预设的所述功能模块的状态要求,对所述用户的状态进行校验,其中,所述状态要求为:所述功能模块响应所述请求时,针对所述用户的状态要求;

所述业务数据形成单元130,用于若对所述用户的状态进行校验均通过,则根据所述路由数据形成相应的业务数据,其中,所述业务数据包括:所述功能模块的模块标识和所述功能模块所需的数据;

所述业务处理单元140,用于根据所述功能模块的模块标识,通过统一接口调用所述功能模块,并将所述功能模块所需的数据输入至所述功能模块,以执行相应的业务处理,从而获得相应的处理结果,其中一个所述统一接口对应多个所述功能模块;

所述结果发送单元150,用于将所述处理结果发送至所述请求方3000。

结合图2所示的实施方式,在某些可选的实施方式中,所述服务端1000还包括:请求获得单元和路由数据形成单元;

所述请求获得单元,用于在所述客户端2000获得所述服务端1000针对所述请求方3000的请求发送的路由数据之前,获得所述请求方3000发送的请求,其中,所述请求中携带有相应的请求信息;

所述路由数据形成单元,用于对所述请求进行解密操作、验签操作和鉴权操作,若所述解密操作、所述验签操作和所述鉴权操作均通过,则形成所述路由数据,并发送给所述客户端2000。

结合上一个实施方式,在某些可选的实施方式中,所述路由数据形成单元包括:解密子单元、验证信息计算子单元、验签子单元、鉴权子单元和路由数据形成子单元;

所述解密子单元,用于对所述请求进行解密操作,以获得所述请求信息,其中,所述请求信息包括:所述请求方3000计算的验证信息和所述验证信息涉及的参数信息;

所述验证信息计算子单元,用于根据所述验证信息涉及的参数信息,通过预先建立的规则计算得到当前验证信息;

所述验签子单元,用于将所述当前验证信息与所述请求方3000计算的验证信息进行比较,以进行所述验签操作;

所述鉴权子单元,用于若所述当前验证信息与所述请求方3000计算的验证信息一致,则确定所述请求方3000是否有权限调用所述请求涉及的功能模块,以进行所述鉴权操作;

所述路由数据形成子单元,用于若所述鉴权操作通过,则形成所述路由数据,并发送给所述客户端2000。

结合图2所示的实施方式,在某些可选的实施方式中,所述业务数据形成单元130执行所述客户端2000根据所述路由数据形成相应的业务数据,具体包括:业务数据形成子单元;

所述业务数据形成子单元,用于根据预先建立的数据处理规则,将对应功能模块所使用的所述路由数据中的各数据进行拼接,从而形成所述业务数据。

结合图2所示的实施方式,在某些可选的实施方式中,所述结果发送单元150包括:结果发送子单元;

所述结果发送子单元,用于将所述处理结果按预先设置的格式进行封装,并在进行加密操作和加签操作后,发送至所述请求方3000。

本发明提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的客户端接口统一方法。

如图3所示,本发明提供了一种电子设备70,所述电子设备70包括至少一个处理器701、以及与所述701处理器连接的至少一个存储器702、总线703;其中,所述处理器701、所述存储器702通过所述总线703完成相互间的通信;所述处理器701用于调用所述存储器702中的程序指令,以执行上述任一项所述的客户端接口统一方法。

在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献