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

业务逻辑的执行方法、存储介质、电子设备及系统与流程

2022-12-06 22:42:56 来源:中国专利 TAG:


1.本发明属于应用开发的技术领域,涉及一种开发过程中的业务实现方法,特别是涉及一种业务逻辑的执行方法、存储介质、电子设备及系统。


背景技术:

2.在app(应用程序,application的缩写)、h5(hyper text markup language 5,利用第5代超文本标记语言制作的移动端页面产品)技术以及小程序应用开发中,业务逻辑需要访问云服务端来完成,为了保证安全,服务端会要求作为前端的客户端登录,登录成功后,服务端下发有时效限制的凭证给到客户端,客户端用此凭据和服务端通讯完成业务逻辑。
3.在和服务端通讯时,服务端要求在api(application programming interface,应用程序接口)中带入有时效限制的凭据来识别访问者身份并鉴权,如果凭据不合法,例如不正确或已过期,则会返回错误信息到客户端,客户端需要完成凭据刷新或者重新登录,因此,由于凭证会失效,开发者在应用开发过程中需要关心凭据失效问题,并且去处理凭据续期或者登录逻辑,导致带来大量的额外开发工作,然后再发起原来的业务请求完成业务逻辑,严重妨碍了业务开发者的开发效率。
4.因此,如何提供一种业务逻辑的执行方法、存储介质、电子设备及系统,以解决现有技术无法使得用户在应用开发中减少由于凭据异常带来的额外开发工作量等缺陷,成为本领域技术人员亟待解决的技术问题。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种业务逻辑的执行方法、存储介质、电子设备及系统,其优势在于,使得用户在应用开发中减少由于凭据异常带来的额外开发工作量。
6.本发明的另一目的在于提供一种业务逻辑的执行方法、存储介质、电子设备及系统,其优势在于,将刷新凭据和登录流程进行封装,在提高开发效率的同时也提升了用户体验。
7.本发明的另一目的在于提供一种业务逻辑的执行方法、存储介质、电子设备及系统,其优势在于,将刷新凭据和登录流程结合在一起,在刷新凭据失败时,转为登录界面验证,自动为用户提供验证方式,以最大程度地保证原业务的请求与执行。
8.本发明的另一目的在于提供一种业务逻辑的执行方法、存储介质、电子设备及系统,其优势在于,在应用开发时,用户无需关心封装的刷新凭据及登录流程,因此,避免了与凭据刷新验证相关的额外开发工作。
9.本发明的另一目的在于提供一种业务逻辑的执行方法、存储介质、电子设备及系统,其优势在于,通过服务端分别对不同的业务凭据进行时效设置,可以在较长一段时间内省去用户处理凭据续期的繁琐工作,用自动刷新方式代替。
10.本发明的另一目的在于提供一种业务逻辑的执行方法、存储介质、电子设备及系统,其优势在于,通过刷新数据流和登录数据流的监控,将凭据刷新次数和登录次数限定在有限次数内,防止刷新或登录多次失败后仍反复验证的情况。
11.为实现上述目的及其他相关目的,本发明一方面提供一种业务逻辑的执行方法,所述业务逻辑的执行方法包括以下步骤:检测当前业务的业务凭据状态;响应于所述业务凭据状态为异常,自动刷新业务凭据;反馈所述业务凭据的刷新状态;结合所述刷新状态和用户登录信息确定业务的请求方式,根据所确定的请求方式执行业务逻辑。
12.为实现上述目的及其他相关目的,本发明另一方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的业务逻辑的执行方法。
13.为实现上述目的及其他相关目的,本发明又一方面提供一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行所述的业务逻辑的执行方法。
14.为实现上述目的及其他相关目的,本发明最后一方面提供一种业务逻辑的执行系统,其特征在于,包括:服务端和所述的电子设备;所述电子设备和所述服务端通信连接;所述服务端检测当前业务的业务凭据状态,并将所述业务凭据状态反馈给所述电子设备;所述电子设备响应于所述业务凭据状态为异常,自动刷新业务凭据;反馈所述业务凭据的刷新状态;结合所述刷新状态和用户登录信息确定业务的请求方式;所述服务端根据所确定的请求方式执行业务逻辑。
附图说明
15.图1显示为本发明的业务逻辑的执行方法于一实施例中的原理流程图。
16.图2显示为本发明的业务逻辑的执行方法于一实施例中的状态检测流程图。
17.图3显示为本发明的业务逻辑的执行方法于一实施例中的请求方式确定流程图。
18.图4显示为本发明的业务逻辑的执行方法于一实施例中的执行次数限定流程图。
19.图5显示为本发明的业务逻辑的执行方法于一实施例中的业务逻辑执行流程图。
20.图6显示为本发明的电子设备于一实施例中的结构连接示意图。
21.图7显示为本发明的业务逻辑的执行系统于一实施例中的结构原理图。
22.元件标号说明
[0023]1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
电子设备
[0024]
11
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
处理器
[0025]
12
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
存储器
[0026]2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
服务端
[0027]
s11~s14
ꢀꢀꢀꢀꢀꢀꢀꢀ
步骤
[0028]
s111~s113
ꢀꢀꢀꢀꢀꢀ
步骤
[0029]
s141~s142
ꢀꢀꢀꢀꢀꢀ
步骤
[0030]
s14a~s14c
ꢀꢀꢀꢀꢀꢀ
步骤
具体实施方式
[0031]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0032]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0033]
本发明所述的业务逻辑的执行方法、存储介质、电子设备及系统提供了接管凭据和登录逻辑的统一方法,在客户端向服务端访问业务时,如果发现凭据异常,会自动刷新凭据或拉起登录页面,凭据续期完成后,会重新请求原业务,极大提高了业务端的开发效率。
[0034]
以下将结合图1至图7详细阐述本实施例的一种业务逻辑的执行方法、存储介质、电子设备及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的业务逻辑的执行方法、存储介质、电子设备及系统。
[0035]
请参阅图1,显示为本发明的业务逻辑的执行方法于一实施例中的原理流程图。如图1所示,所述业务逻辑的执行方法具体包括以下几个步骤:
[0036]
s11,检测当前业务的业务凭据状态。
[0037]
请参阅图2,显示为本发明的业务逻辑的执行方法于一实施例中的状态检测流程图。如图2所示,s11包括以下步骤:
[0038]
s111,获取状态码信息。
[0039]
具体地,业务凭据也可以称为token(令牌),包括访问凭据(访问token)和刷新凭据(刷新token);是由服务端根据现有的凭据生成算法所生成的一串加密字符串,并传输给客户端,客户端保存该业务凭据,当业务凭据超过时效后,服务端删除凭据相关数据,客户端此时调用api时传递的凭据数据在服务端无法找到,服务端报出错误信息。刷新token是一个api,格式如https://{gateway}/auth/token。
[0040]
返回的错误信息可以是一种json格式或者其他可以被计算机识别的信息格式,例如为:{"statuscode":11005301,"statusmessage":401凭据无效"}。
[0041]
s112,判断所述状态码信息是否为0。
[0042]
具体地,所述状态码信息为字符串中的statuscode信息。
[0043]
s113,若是,判定所述业务凭据状态正常;若否,判定所述业务凭据状态为异常。
[0044]
具体地,若statuscode为0,则判定所述业务凭据状态正常;上述json格式字符串中,statuscode为11005301,由此,statuscode非0代表错误,即所述业务凭据状态为异常,api访问失败,具体原因查看statusmessage中的信息。
[0045]
于一实施例中,所述判定所述业务凭据状态为异常,包括以下步骤:
[0046]
(1)识别所述状态码信息中的特殊值。
[0047]
具体地,当statuscode为一些特殊值时,表示访问凭据异常,需要调用api刷新凭据数据。
[0048]
(2)根据所述特殊值识别所述业务凭据为无效、过期、用户退出登录或用户已于不同设备登录中的一种。
[0049]
具体地,statuscode中不同的特殊值以及对应的凭据异常类型如下:
[0050]
"11005301":表示访问凭据accesstoken凭证无效;
[0051]
"11005302":表示访问凭据accesstoken凭证已经过期;
[0052]
"11005321":表示刷新凭据refreshtoken凭证无效;
[0053]
"11005322":表示刷新凭据refreshtoken凭证已经过期;
[0054]
"11005399":表示用户已登出或在其它设备已登录,本凭证已异常,请重新登录。其中,无效是指当前输入字符串与预设的凭证字符串不相符。
[0055]
(3)基于所识别出的特殊值类型,判定所述业务凭据状态为异常。
[0056]
s12,响应于所述业务凭据状态为异常,自动刷新业务凭据。
[0057]
于一实施例中,所述访问凭据和所述刷新凭据均由服务端生成,并由所述服务端设置过期时间。
[0058]
具体地,服务端可以将访问凭据设置4小时过期,刷新凭据设置一个月过期。所述刷新凭据用于为所述访问凭据设定一自动刷新的时限,例如,刷新凭据在2020年3月5日时设定一个月后过期,即2020年4月5日后过期,当访问凭据过期需要自动刷新时,通过查看刷新凭据的时限查看是否有自动刷新权限,若访问凭据在2020年3月21日过期,则刷新凭据未过期,在一个月有效期内,因此可以进行访问凭据的自动刷新;若访问凭据在2020年4月16日过期,则刷新凭据已经过期,超出一个月有效期,因此无法进行访问凭据的自动刷新。
[0059]
s13,反馈所述业务凭据的刷新状态。
[0060]
具体地,刷新状态为成功或不成功,且不同的刷新状态结果所对应的业务的请求方式不同。
[0061]
s14,结合所述刷新状态和用户登录信息确定业务的请求方式,根据所确定的请求方式执行业务逻辑。
[0062]
请参阅图3,显示为本发明的业务逻辑的执行方法于一实施例中的请求方式确定流程图。如图3所示,s14包括以下步骤:
[0063]
s141,判断所述刷新状态是否为成功。
[0064]
s142,若是,则继续请求当前业务,并执行当前业务;若否,则呈现登录界面,通过所述登录界面继续请求当前业务。
[0065]
具体地,由刷新接口获取刷新字符串信息;响应于所述刷新字符串信息为成功,判定所述刷新状态为成功。
[0066]
于实际应用中,所述刷新字符串信息为{"statuscode":"0","statusmessage":"成功","data":{"access-token":"xxxxxxxxxxxxxxxxx"}},由statusmessage为“成功”判定所述刷新状态为成功。
[0067]
具体地,根据用户于所述登录界面输入的登录信息,判断是否登录成功;若是,则继续请求当前业务,并执行当前业务;若否,退出所述当前业务。
[0068]
于一实施例中,所述根据所确定的请求方式执行业务逻辑,包括两种情况:
[0069]
(1)响应于所述刷新状态成功,请求重新执行与所述当前业务对应的第一回调函数。
[0070]
具体地,本发明提供的方法包括single和wait两种,其中,single接收单个的回调函数;wait接收多个回调函数。在回调函数中调用服务端api完成业务,回调函数返回json数据,由该json数据判断是否需要刷新访问凭据,在判定需要刷新访问凭据时,刷新凭据自身也是调用http(hyper text transfer protocol,超文本传输协议)的api完成的,进而结合刷新凭据判断访问凭据是否刷新成功,成功后,将需要重新执行的回调函数作为第一回调函数,完成原来的业务。
[0071]
(2)响应于所述用户登录成功,请求重新执行与所述当前业务对应的第二回调函数。
[0072]
具体地,在判断用户登录成功后,将需要重新执行的回调函数作为第二回调函数,完成原来的业务。
[0073]
请参阅图4,显示为本发明的业务逻辑的执行方法于一实施例中的执行次数限定流程图。如图4所示,s14还包括以下步骤:
[0074]
s14a,监测刷新数据流和登录数据流。
[0075]
具体地,本发明采用数据流观察者模式,监测刷新token的数据流,命名为refreshtokenstream和监测登录数据流,命名为loginstream。
[0076]
s14b,根据所述刷新数据流统计刷新执行次数,根据所述登录数据流统计登录执行次数。
[0077]
具体地,在所有需要刷新token的地方观察refreshtokenstream的结果,例如设置为在此期间只调用一次刷新token api,当有结果时,通知所有观察者,以便完成后续业务,即重新请求原业务或者弹出登录。
[0078]
在弹出登录时,所有观察者观察loginstream的结果,例如设置为在此期间只会弹出一次登录界面,当有登录结果时,通知所有观察者让他们完成后续业务,即重新请求原业务或者登录失败。
[0079]
s14c,通过预设的刷新阈值限制所述刷新执行次数,通过预设的登录阈值限制所述登录执行次数。
[0080]
具体地,若预设的刷新阈值为1,则刷新执行次数为1,只允许调用一次刷新token api;若预设的登录阈值为1,则登录执行次数为1,只允许弹出一次登录界面。
[0081]
请参阅图5,显示为本发明的业务逻辑的执行方法于一实施例中的业务逻辑执行流程图。如图5所示,结合前端与服务端的业务请求架构,以前端向服务端请求一个商品列表作为一个业务请求,对本发明所述的业务逻辑的执行方法进行详细说明。其中,前端是指本发明所述的电子设备,电子设备中嵌设有执行凭据自动刷新以及登录流程的bloc(business logic component,业务逻辑组件)端。a表示前端发起业务请求所对应的程序逻辑,b表示bloc端处理凭据刷新及登录流程所对应的程序逻辑,c表示服务端刚开始响应前端业务请求所对应的程序逻辑,d表示服务端通知bloc端刷新凭据所对应的程序逻辑,e表示经过凭据刷新和登录验证后再次响应前端业务请求所对应的程序逻辑。bloc端用于执行本发明中接管token(令牌)管理的代码,即接管凭据和登录逻辑的代码。
[0082]
前端向服务端发起商品列表的获取请求时,服务端通过执行c,响应商品列表的获取请求,并判断访问凭据是否过期,若是访问凭据过期,则服务端执行d,通知bloc端进行访问凭据的自动刷新,若是刷新凭据过期,则访问凭据的刷新失败,若是刷新凭据未过期,则
访问凭据的刷新成功;若是访问凭据未过期,则直接将查找到的商品列表作为业务结果反馈给bloc端,bloc端将商品列表反馈至前端,至此,前端执行并完成了获取商品列表这一业务逻辑。
[0083]
在访问凭据自动刷新后,bloc端判断刷新凭据是否成功,刷新成功的条件为刷新凭据尚未过期且不再出现服务端反馈的访问凭据过期的错误信息。若访问凭据刷新成功,则继续发起原来的业务请求,即商品列表的获取请求;若访问凭据刷新失败,则弹出登录页面,在用户输入登录信息之后,判断登录是否成功,若登录成功,则继续发起原来的业务请求,即商品列表的获取请求,若登录未成功,则将登录未成功的错误信息通过bloc端反馈至前端。
[0084]
当访问凭据刷新成功或登录成功,继续发起原来的业务请求时,服务端执行e,响应再次发起的商品列表的获取请求,并将查找到的商品列表作为业务结果反馈给bloc端,bloc端将商品列表反馈至前端,至此,前端执行并完成了获取商品列表这一业务逻辑。
[0085]
本发明所述的业务逻辑的执行方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
[0086]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述业务逻辑的执行方法。
[0087]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的计算机可读存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的计算机存储介质。
[0088]
请参阅图6,显示为本发明的电子设备于一实施例中的结构连接示意图。如图6所示,本实施例提供一种电子设备1,具体包括:处理器11及存储器12;所述存储器12用于存储计算机程序,所述处理器11用于执行所述存储器12存储的计算机程序,以使所述电子设备1执行所述业务逻辑的执行方法的各个步骤。
[0089]
上述的处理器11可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(alication specific integrated circuit,简称asic)、现场可编程门阵列(field programmable gatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0090]
上述的存储器12可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
[0091]
于实际应用中,所述电子设备可以是包括存储器、存储控制器、一个或多个处理单元(cpu)、外设接口、rf电路、音频电路、扬声器、麦克风、输入/输出(i/o)子系统、显示屏、其他输出或控制设备,以及外部端口等组件的计算机;所述计算机包括但不限于如台式电脑、笔记本电脑、平板电脑、智能手机、智能电视、个人数字助理(personal digital assistant,简称pda)等个人电脑,所述电子设备还可以是车机端或是智能眼镜、智能手表或其他可穿戴设备。
[0092]
请参阅图7,显示为本发明的业务逻辑的执行系统于一实施例中的结构原理图。如
图7所示,本发明所述的业务逻辑的执行系统包括:电子设备1和服务端2;所述电子设备1和所述服务端2通信连接。
[0093]
所述服务端2检测当前业务的业务凭据状态,并将所述业务凭据状态反馈给所述电子设备1。
[0094]
所述电子设备1响应于所述业务凭据状态为异常,自动刷新业务凭据;反馈所述业务凭据的刷新状态;结合所述刷新状态和用户登录信息确定业务的请求方式。
[0095]
所述服务端2根据所确定的请求方式执行业务逻辑。
[0096]
所述服务端2还用于设置业务凭据的过期时间,以及响应于所述电子设备1对当前业务的请求,以使所述电子设备1在请求通过后执行所述当前业务的业务逻辑。
[0097]
需要说明的是,所述服务端可以根据功能、负载等多种因素布置在一个或多个实体服务器上,也可以是由分布的或集中的服务器集群构成的云服务器,本实施例不作限定。
[0098]
本发明所述的业务逻辑的执行系统的原理与所述的业务逻辑的执行方法一一对应,本发明所述的业务逻辑的执行系统可以实现本发明所述的业务逻辑的执行方法,但本发明所述的业务逻辑的执行方法的实现装置包括但不限于本实施例列举的业务逻辑的执行系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
[0099]
综上所述,本发明所述业务逻辑的执行方法、存储介质、电子设备及系统使得用户在应用开发中减少由于凭据异常带来的额外开发工作量。将刷新凭据和登录流程进行封装,在提高开发效率的同时也提升了用户体验。将刷新凭据和登录流程结合在一起,在刷新凭据失败时,转为登录界面验证,自动为用户提供验证方式,以最大程度地保证原业务的请求与执行。在应用开发时,用户无需关心封装的刷新凭据及登录流程,因此,避免了与凭据刷新验证相关的额外开发工作。通过服务端分别对不同的业务凭据进行时效设置,可以在较长一段时间内省去用户处理凭据续期的繁琐工作,用自动刷新方式代替。通过刷新数据流和登录数据流的监控,将凭据刷新次数和登录次数限定在有限次数内,防止刷新或登录多次失败后仍反复验证的情况。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0100]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献