具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请一个实施例的异构系统的服务请求处理方法示意性流程图。图1所示方法的执行主体不限于异构系统服务端设备。
如图1所示,在S102处,接收服务请求,服务请求携带用户标识和目标服务在异构系统的初始调用接口。
服务请求可以由用户端设备发送至服务端设备。该服务请求可以是请求服务端设备基于异构系统模型对相应的数据进行处理,也可以是请求服务端设备进行指令或者数据的传递以及处理等。服务请求通常由用户端设备发出,由服务端设备接收后调用相关的服务对服务请求进行处理。
用户端设备发送的服务请求可以携带用户标识和目标服务在异构系统的初始调用接口。用户标识可以是用户端设备自身的标识,包括用户通过用户端设备注册的账户信息等。用户标识也可以是其它与用户相关的标识信息。服务端设备在接收到服务请求后可以调用初始调用接口对服务请求进行处理。初始调用接口决定了对该服务请求进行处理时,服务端设备所调用的服务。
在S104处,确定用户标识对应的接口调用模式。
基于用户标识,服务端设备可以判断对应的接口调用模式。在异构系统服务端设备中,在进行升级改造的过程中,服务端设备可以基于原服务或新服务对服务请求进行处理。原服务是相对于新服务相对而言的。原服务可以是已上线的一些服务,新服务可以是未上线的一些服务,新服务通常需要经过测试后才可以判断是否可以上线。服务端设备可以通过未升级改造前的原服务对服务请求进行处理。服务端设备在升级改造过程中,是否需要调用新服务对服务请求进行处理,可以通过用户标识进行判断。用户标识对应的接口调用模式可以为调用原服务对服务请求进行处理,也可以是调用新服务对服务请求进行处理。
在步骤S106处,基于初始调用接口和接口调用模式,调用目标服务在异构系统中接口调用模式对应的目标调用接口。
基于接口调用模式,服务端设备可以确定调用原服务或新服务。基于初始调用接口,服务端设备可以确定目标服务在异构系统中接口调用模式对应的目标调用接口。目标服务可以是原服务或新服务,通过目标调用接口可以调用原服务或新服务。
可选的,作为一个例子,当目标服务为原服务时,初始调用接口可以与目标调用接口相同,可以直接调用原服务对服务请求进行处理。当目标服务为新服务时,初始调用接口与目标调用接口可以不同,可以将初始调用接口切换为目标调用接口,以调用新服务对服务请求进行处理。
基于服务请求携带的用户标识可以确定接口调用模式,基于接口调用模式和服务请求携带的初始调用接口,可以调用目标服务在异构系统中接口调用模式对应的目标调用接口。这样,通过将初始调用接口切换至目标调用接口,可以完成对不同服务的调用,整个过程不需要停机操作,提升用户体验,用户也不会感知到服务的调用,可以在用户无感知的状态下完成对异构系统模型的升级改造。
可选的,作为一个例子,同一服务在异构系统中可以对外提供相同的调用接口。例如,对于理财产品的各项指标的计算,如收益额、收益率等,这些指标均需要调用对应的服务进行计算,同一个服务在异构系统中提供的调用接口相同,可以在初始调用接口与目标调用接口之间实现准确切换。
可选的,在一些实施例中,在确定用户标识对应的接口调用模式时,可以基于本地用户标识数据确定用户标识对应的接口调用模式。本地用户标识可以是异构系统在升级改造前服务端设备已经存储的本地用户标识数据。
可选的,作为一个例子,基于本地用户标识数据确定用户标识对应的接口调用模式时,当用户标识为本地用户标识数据,且不在设置的白名单内时,可以确定第一接口调用模式;其中,第一接口调用模式用于对初始调用接口进行调用。当用户标识非本地用户标识数据,或者当用户标识为本地用户标识数据,且在设置的白名单内时,可以确定第二接口调用模式,其中,第二接口调用模式用于对由初始调用接口转换后的目标调用接口进行调用。
可选的,作为一个例子,白名单作为一种筛选规则,可以记载设置的一些用户标识。当用户标识为本地用户标识数据,且不在设置的白名单内时,服务端设备可以通过初始调用接口调用原服务对服务请求进行处理。当用户标识不在本地用户标识数据或者用户标识在本地用户标识数据和白名单内时,服务端设备可以通过将初始调用接口切换至目标调用接口,然后通过目标调用接口调用新服务对服务请求进行处理。
可选的,作为一个例子,对于添加至白名单中的用户标识,如果目标调用接口调用新服务对服务请求的处理发生异常时,包括程序或数据处理错误,服务端设备可以进行回滚(Rollback)操作,即对程序或数据错误进行处理,将程序或数据恢复到上一次正确状态。因此,通过白名单可以实现回滚操作。
由于添加至白名单中的用户标识的数量可以进行控制,因此,服务端设备可以控制通过新服务对服务请求进行处理的百分比。例如,通过白名单可以由5%、10%等依次递增的方式将本地用户标识数据添加至白名单中,从而实现控制向用户发布新服务的百分比。例如,假设白名单中包括5%的本地用户标识数据。当这些5%的用户标识可以通过新服务正常处理服务请求时,则可以进一步提高白名单中的用户标识数量。相反,则可以对新服务进行检测维护。通过白名单可以形成一个灰度发布,实现未上线功能的平稳过渡。
可选的,作为一个例子,可以从“蚂蚁聚宝理财产品”的用户中选择一部分,如选择一个活跃用户。选择的这些用户可以通过调用新服务对服务请求进行处理。通过后续的数据收集及大量的数据分析以及调查可以确定新服务的使用情况。例如,通过实时数据监控可以监测诸如服务端设备稳定性、使用次数、使用频率等数据与原有数据对比,从而确定新服务的发布范围,以及是否大面积投放新服务。
其中,当接口调用模式为第二接口调用模式时,在本申请实施例中,可选地,图1所示的方法还包括:
将服务请求转换为用于被目标调用接口接收的服务请求;
基于目标调用接口对转换后的服务请求进行处理。
可选的,作为一个例子,如图2所示,可以基于适配层将服务请求转换为用于被目标调用接口接收的服务请求。目标调用接口可以至少具有一个,适配层可以通过业务码的配置来适配不同业务场景对应的目标调用接口的转换。如图2所示,可以将服务请求转换为对应的A接口请求、B接口请求或C接口请求。基于目标调用接口可以调用新服务对转换后的服务请求进行处理,如对应的A处理、B处理或C处理。
在本申请实施例中,可选地,图1所示的方法还包括:
将目标调用接口接收的处理结果转换为用于被初始调用接口接收的处理结果;
基于初始调用接口,将转换后的处理结果返回用户。
可选的,作为一个例子,可以基于适配层对处理结果进行转换。对于由A接口、B接口或C接口返回的处理结果,由适配层转换后,可以由初始调用接口返回用户。
适配层可以对初始调用接口与目标调用接口之间的服务请求以及处理结果进行转换,从而可以使用户无感知地使用新服务。
在本申请实施例中,可选地,图1所示的方法还包括:
基于初始调用接口,接收用户对转换后的处理结果的反馈信息;
将反馈信息转换为用于被目标调用接口接收的反馈信息;
基于目标调用接口对转换后的反馈信息进行处理;
基于对转换后的反馈信息的处理结果,对白名单进行调整。
可选的,作为一个例子,适配层可以将反馈信息转换为用于被目标调用接口接收的反馈信息,通过目标调用接口调用新服务可以对转换后的反馈信息进行处理。例如,反馈信息可以是使用次数、使用频率等,将这些与原有数据或者设计的目标数据进行对比,如果满足要求,则可以增加白名单中的用户标识数量,扩大新服务的发布范围,否则,可以缩小新服务的发布范围,或者进一步判断是否取消该新服务。
基于如图3所示的该实施场景,以下详细说明异构系统的服务请求处理方法的具体流程。用户端设备向服务端设备发送服务请求时,该服务请求可以携带用户标识和初始调用接口,服务端设备基于本地用户标识数据和白名单可以确定用户标识对应的接口调用模式,如果接口调用模式是对初始调用接口的调用,则可以直接通过初始调用接口调用原服务对服务请求进行处理;如果接口调用模式是对由初始调用接口转换后的目标调用接口的调用,服务端设备则将服务请求转换为可被目标调用接口接收的服务请求,通过目标调用接口调用新服务可以对转换后的服务请求进行处理。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
下面将结合图4详细描述根据本申请的一个实施例的电子设备。参考图4,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表4仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成异构系统的服务请求处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收服务请求,所述服务请求携带用户标识和目标服务在异构系统的初始调用接口;
确定所述用户标识对应的接口调用模式;
基于所述初始调用接口和所述接口调用模式,调用所述目标服务在异构系统中所述接口调用模式对应的目标调用接口。
上述如本申请图1所示实施例揭示的异构系统的服务请求处理方法,可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
接收服务请求,所述服务请求携带用户标识和目标服务在异构系统的初始调用接口;
确定所述用户标识对应的接口调用模式;
基于所述初始调用接口和所述接口调用模式,调用所述目标服务在异构系统中所述接口调用模式对应的目标调用接口。
图5是本申请的一个实施例的异构系统的服务请求处理装置的结构示意图。请参考图5,在一种软件实施方式中,异构系统的服务请求处理装置500包括:接收单元502、确定单元504和调用单元506,其中:
接收单元502,接收服务请求,服务请求携带用户标识和目标服务在异构系统的初始调用接口;
确定单元504,确定用户标识对应的接口调用模式;
调用单元506,基于初始调用接口和接口调用模式,调用目标服务在异构系统中接口调用模式对应的目标调用接口。
基于服务请求携带的用户标识可以确定接口调用模式,基于接口调用模式和服务请求携带的初始调用接口,可以调用目标服务在异构系统中接口调用模式对应的目标调用接口。这样,通过将初始调用接口切换至目标调用接口,可以完成对不同服务的调用,整个过程不需要停机操作,提升用户体验,用户也不会感知到服务的调用,可以在用户无感知的状态下完成对异构系统模型的升级改造。
可选地,作为一个实施例,同一服务在所述异构系统中对外提供相同的调用接口。
可选地,作为一个实施例,确定单元504,
基于本地用户标识数据确定所述用户标识对应的接口调用模式。
可选地,作为一个实施例,确定单元504,
当所述用户标识为所述本地用户标识数据,且不在设置的白名单内时,确定第一接口调用模式;其中,所述第一接口调用模式用于对所述初始调用接口进行调用。
可选地,作为一个实施例,确定单元504,
当所述用户标识非所述本地用户标识数据,或者当所述用户标识为所述本地用户标识数据,且在设置的白名单内时,确定第二接口调用模式;其中,所述第二接口调用模式用于对由所述初始调用接口转换后的目标调用接口进行调用。
可选地,作为一个实施例,异构系统的服务请求处理装置500还包括:
第一转换单元,当所述接口调用模式为第二接口调用模式时,将所述服务请求转换为用于被所述目标调用接口接收的服务请求;
第一处理单元,基于所述目标调用接口对所述转换后的服务请求进行处理。
可选地,作为一个实施例,异构系统的服务请求处理装置500还包括:
第二转换单元,将所述目标调用接口接收的处理结果转换为用于被所述初始调用接口接收的处理结果;
返回单元,基于所述初始调用接口,将所述转换后的处理结果返回用户。
可选地,作为一个实施例,基于适配层对所述服务请求或处理结果进行转换。
可选地,作为一个实施例,其中,所述目标调用接口至少具有一个;
所述适配层通过业务码的配置来适配不同业务场景对应的目标调用接口的转换。
可选地,作为一个实施例,异构系统的服务请求处理装置500还包括:
接收单元,基于所述初始调用接口,接收用户对所述转换后的处理结果的反馈信息;
第三转换单元,将所述反馈信息转换为用于被所述目标调用接口接收的反馈信息;
第二处理单元,基于所述目标调用接口对所述转换后的反馈信息进行处理;
调整单元,基于对所述转换后的反馈信息的处理结果,对所述白名单进行调整。
异构系统的服务请求处理装置500还可执行图1所示实施例的方法,并实现异构系统的服务请求处理装置在图1所示实施例的功能,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。