一种微服务调用方法、装置及存储介质与流程
未命名
10-18
阅读:84
评论:0
1.本发明微服务调用技术领域,尤其是一种微服务调用方法、装置及存储介质。
背景技术:
2.目前,对于银行业务系统来讲,通常将金融业务系统设计成微服务架构,即使用若干微服务器对不同的业务进行处理,对于每个金融业务,银行业务系统会开放若干微服务器对相同类型的业务进行处理。而现有技术中对于微服务器的选择上,往往是采用简单的轮询金额随机等负载策略,该随机负载策略,在随机到处理能力交强且较为空闲的微服务器时,处理某些用户的业务较为迅速,当银行在做多省金融业务或全国金融业务时,金融业务办理需求量非常大,当遇到金融业务办理高峰期,同一时间的访问量巨大,因此现有的随机负载策略在随机到处理能力交弱且较为繁忙的微服务器时,处理某些用户的金融业务较为缓慢,不同的客户间金融业务处理等待时间差距较大,极其影响用户好感度。
技术实现要素:
3.针对现有技术的上述问题,本说明书的目的在于,提供一种微服务调用方法、装置及存储介质,以解决现有技术中随机选择微服务器令客户间业务处理等待时间差距较大,极其形象用户好感度的问题。
4.为了解决上述技术问题,本说明书的具体技术方案如下:
5.一方面,本说明书提供一种微服务调用方法,包括:
6.接收路由设备转发的金融业务;
7.根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器;
8.根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到;
9.根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重;
10.根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值;
11.选择评估值最低的备选微服务器处理所述金融业务。
12.作为本说明书的一个实施例,所述根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器,进一步包括:
13.根据公式生成至少两个随机数:
14.[node]=(λ*c)^t%cs
[0015]
其中,[node]为随机数,λ为微服务器对应的服务器码,c为预先设置的常数,t为系统纳秒数,cs为所有微服务器对应的服务器码集合,%为取址符号;
[0016]
将所述随机数与微服务器对应的服务器码进行匹配,得到至少两个微服务器作为备选微服务器。
[0017]
作为本说明书的一个实施例,所述根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,进一步包括:
[0018]
根据公式,计算每个所述备选微服务器的负载率:
[0019][0020]
其中,load为负载率,v
t
为平均访问耗时预估值,i为每个备选微服务器的在途请求数量。
[0021]
作为本说明书的一个实施例,所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到,进一步包括:
[0022]
根据公式,计算平均访问耗时预估值:
[0023]vt
=βv
t-1
+(1-β)θ
t
[0024]
其中,v
t
为平均访问耗时预估值,β为权重参数,取值范围为0《β《1;θ
t
是当前时刻的测量值;t的取值范围:1,2,3,
……
n,v
t-1
为上一时刻的平均访问耗时预估值。
[0025]
作为本说明书的一个实施例,所述权重参数使用如下公式确定:
[0026]
β=e-(δt/k)
[0027]
其中,β为权重参数,δt表示两次请求间隔时间为当前时刻与上一时刻请求之间的时间,k预设比例系数。
[0028]
作为本说明书的一个实施例,所述根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重,进一步包括:
[0029]
确定所述金融业务对应的ip地址与所述备选微服务器对应的ip是否属于同一地理区段,其中所述地理区段根据ip对应的坐标确定;
[0030]
若属于同一地理区段,则该所述备选微服务器的地域权重为第一地域权重;
[0031]
若不属于同一地理区段,则根据金融业务对应的ip地址与所述备选微服务器对应的ip之间的距离,确定该所述备选微服务器的地域权重。
[0032]
作为本说明书的一个实施例,所述则根据金融业务对应的ip地址与所述备选微服务器对应的ip之间的距离,确定该所述备选微服务器的地域权重,进一步包括:
[0033]
根据如下公式,计算该所述备选微服务器的地域权重:
[0034][0035]
其中,γ为所述备选微服务器的地域权重,x1为根据金融业务对应的ip地址得到的金融业务发送处的横坐标,y1为根据金融业务对应的ip地址得到的金融业务发送处的纵坐标,x2为根据所述备选微服务器对应的ip得到的备选微服务器的横坐标,y2为根据所述备选微服务器对应的ip得到的备选微服务器的纵坐标。
[0036]
作为本说明书的一个实施例,所述根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值,进一步包括:
[0037]
τ=load
×
γ
[0038]
其中,τ为所述备选微服务器的评估值,load为备选微服务器的负载率,γ为所述
备选微服务器的负载率对应的地域权重。
[0039]
另一方面,本说明书还提供一种微服务调用装置,包括:
[0040]
指令接收单元,用于接收路由设备转发的金融业务;
[0041]
服务器选择单元,用于根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器;
[0042]
负载率计算单元,用于根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到;
[0043]
地域权重计算单元,用于根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重;
[0044]
评估值计算单元,用于根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值;
[0045]
指令发送单元,用于选择评估值最低的备选微服务器处理所述金融业务。
[0046]
另一方面,本说明书还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任意一项所述的微服务调用方法。
[0047]
另一方面,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现任意一项所述的微服务调用方法。
[0048]
采用上述技术方案,通过接收路由设备转发的金融业务,可以实现将外界的金融业务发送至银行内系统;通过根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器,可以实现降低后续确定各个微服务器评估值所需的计算量,均衡了选择微服务器对联机交易请求进行处理的处理速度以及选择微服务器所需的时间;通过根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到,可以实现确定每台备选微服务器的平均访问耗时,以及每台微服务器的在途请求数量,该平均访问耗时表征了每台微服务器对于联机交易请求指令处理的速度,该在途请求数量表征了每台微服务器待处理联机交易请求指令的数量;通过根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重,可以实现选择距离用户发起金融业务最近的微服务器对金融业务进行处理,当金融业务处理失败时,方便用户前往微服务器就近的营业点进行人工处理;通过根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值,可以实现对每台微服务器进行评分,该评分可以较为客观的表征每台微服务器对于金融业务的处理速度;通过选择评估值最低的备选微服务器处理所述金融业务,可以实现选择当前对金融业务处理速度较快的一台微服务器对联交易指令进行处理,以降低客户间的业务处理等待时间差距较大,进而提升用户好感度。
[0049]
为让本说明书的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
[0050]
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1示出了本说明书实施例微服务系统架构示意图;
[0052]
图2示出了本说明书实施例一种微服务调用方法的步骤示意图;
[0053]
图3示出了本说明书实施例地域权重确定方法示意图;
[0054]
图4示出了本说明书实施例一种微服务调用装置示意图;
[0055]
图5示出了本说明书实施例计算机设备示意图。
[0056]
附图符号说明:
[0057]
11、终端;
[0058]
12、路由设备;
[0059]
13、选择器;
[0060]
14、接口器;
[0061]
15、微服务器;
[0062]
401、指令接收单元;
[0063]
402、服务器选择单元;
[0064]
403、负载率计算单元;
[0065]
404、地域权重计算单元;
[0066]
405、评估值计算单元;
[0067]
406、指令发送单元;
[0068]
502、计算机设备;
[0069]
504、处理器;
[0070]
506、存储器;
[0071]
508、驱动机构;
[0072]
510、输入/输出模块;
[0073]
512、输入设备;
[0074]
514、输出设备;
[0075]
516、呈现设备;
[0076]
518、图形用户接口;
[0077]
520、网络接口;
[0078]
522、通信链路;
[0079]
524、通信总线。
具体实施方式
[0080]
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得
的所有其他实施例,都属于本说明书保护的范围。
[0081]
需要说明的是,本说明书的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本说明书的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0082]
需要说明的是,本说明书中金融业务包括联机交易指令、联机签约指令或联机贷款等需要微服务器进行处理的各种业务,当然也包括需要人工参与的各种任务,包括授信任务、准入任务等,本领域技术人员可以根据需求设计微服务器对业务进行处理,本说明书对此不做限定。
[0083]
如图1所示微服务系统架构示意图,包括:终端11、路由设备12、选择器13、接口器14、微服务器15。
[0084]
终端11,用于接收用户的操作指令,生成金融业务,需要说明的是终端类型包括手机、平板、电脑、智能手表或自动终端等。
[0085]
终端作为联机交易的发起方,直接面向用户,负责组装好联机交易的内容,内容根据路由设备的要求拟定,同时终端向外暴露每个功能的入口,最终接收本装置所发起的联机交易的响应内容。
[0086]
路由设备12,与终端相连,用于将金融业务转发至银行内部系统。
[0087]
由于金融业务类型较多且需支持可新增交易类型以及处理金融业务的装置较多,报文格式繁杂,在本说明书中所有金融业务的请求与响应都需要经过本路由设备处理后路由转发,起到统一处理以及定向分配的作用。
[0088]
选择器13,分别与路由设备、接口器和微服务器相连,用于通过接口器展示的所有微服务器信息,选择一个可以较为快速处理金融业务的微服务器。
[0089]
接口器14,分别与选择器与微服务器相连,用于接收所有微服务器返回的当前运行状态,并向外展示,此外接口器还可以避免外部直接访问微服务器,起到防火墙的作用。
[0090]
微服务器15,用于对金融业务进行处理,在本说明书中,银行内设有微服务器集群,该集群中存在若干台微服务器,由于每台微服务器的数据处理能力不同,且由于优化问题,对于不同类型的金融业务处理速度也不同,具体的,第一微服务器与第二微服务器之间的硬件配置一致,包括内存和处理器等,当第一微服务器对于a、b两类金融业务优化较好时,第一微服务器对于a、b两类金融业务的处理速度会高于第二微服务器。
[0091]
此外,若第一微服务器与第三微服务器若对于各种金融业务的优化一致,那么影响第一微服务器与第三微服务器对于金融业务处理速度的仅有硬件配置,当第三微服务器的处理器和内存等质量高于第一微服务器时,第三微服务器对于金融业务的处理速度会高于第一微服务器。
[0092]
本说明书中通过选择器选择微服务器对金融数据进行处理,下面详细说明选择器选择微服务器的具体内容。
[0093]
当银行在做多省金融业务或全国金融业务时,金融业务办理需求量非常大,当遇
到金融业务办理高峰期,同一时间的访问量巨大,因此现有的随机负载策略在随机到处理能力交弱且较为繁忙的微服务器时,处理某些用户的金融业务较为缓慢,不同的客户间金融业务处理等待时间差距较大,极其影响用户好感度。
[0094]
为了解决上述问题,本说明书实施例提供了一种微服务调用方法,能够选择当前处理金融业务较快的微服务器对金融业务进行处理,图2是本说明书实施例提供的一种微服务调用方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图2所示,所述方法可以包括:
[0095]
步骤201、接收路由设备转发的金融业务;
[0096]
步骤202、根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器;
[0097]
步骤203、根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到;
[0098]
步骤204、根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重;
[0099]
步骤205、根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值;
[0100]
步骤206、选择评估值最低的备选微服务器处理所述金融业务。
[0101]
采用上述技术方案,通过接收路由设备转发的金融业务,可以实现将外界的金融业务发送至银行内系统;通过根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器,可以实现降低后续确定各个微服务器评估值所需的计算量,均衡了选择微服务器对联机交易请求进行处理的处理速度以及选择微服务器所需的时间;通过根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到,可以实现确定每台备选微服务器的平均访问耗时,以及每台微服务器的在途请求数量,该平均访问耗时表征了每台微服务器对于联机交易请求指令处理的速度,该在途请求数量表征了每台微服务器待处理联机交易请求指令的数量;通过根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重,可以实现选择距离用户发起金融业务最近的微服务器对金融业务进行处理,当金融业务处理失败时,方便用户前往微服务器就近的营业点进行人工处理;通过根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值,可以实现对每台微服务器进行评分,该评分可以较为客观的表征每台微服务器对于金融业务的处理速度;通过选择评估值最低的备选微服务器处理所述金融业务,可以实现选择当前对金融业务处理速度较快的一台微服务器对联交易指令进行处理,以降低客户的业务处理等待时间差距较大,进而提升用户好感度。
[0102]
作为本说明书的一个实施例,步骤201、接收路由设备转发的金融业务;
[0103]
在本步骤中,金融业务包括联机交易指令、联机签约指令或联机贷款等需要微服务器进行处理的各种业务,当然也包括需要人工参与的各种任务,包括授信任务、准入任务等。
[0104]
在用户发送金融业务时,金融业务携带有发送地终端的ip,通过ip可以精确定位用户的位置。
[0105]
具体为,当用户使用的终端为银行自动柜员机时,那么发送地的ip可以为银行自助柜员机的ip,当用户使用的终端为手机时,手机的接入网络即为发送地的ip。
[0106]
由于本说明书在选取微服务器时需要计算每个微服务器对应的负载率以及地域权重等,因此在计算过程中,将所有的微服务器全部纳入备选微服务器时,若选择器的计算能力较弱时,需要消耗大量时间计算每个微服务器的负载率以及地域权重等,导致金融业务的处理时间延长,金融业务处理速度较慢。
[0107]
因此,本领域技术人员可以根据选择器的实际计算性能去选择对于几个微服务器作为备选微服务器对金融业务进行处理,本说明书对此不做限定。
[0108]
作为本说明书的一个实施例,步骤202、所述根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器,进一步包括:
[0109]
根据公式生成至少两个随机数:
[0110]
[node]=(λ*c)^t%cs
[0111]
其中,[node]为随机数,λ为微服务器对应的服务器码,c为预先设置的常数,t为系统纳秒数,cs为所有微服务器对应的服务器码集合,%为取址符号;
[0112]
其中本说明书使用currenttimemillis指令获取系统纳秒数(system.nanotime),其结果返回的是系统当前时间和1970-01-01之前间隔时间的毫秒数,系统纳秒数本身无物理意义,由于其基于的时间点时随机的,可能是当前、过去或者未来的时间点,因此其对应的数值为随机的。
[0113]
cs(collection.size)为所有微服务器对应的服务器码集合,具体的,本说明书的选择器通过接口器获取所有的微服务器对应的服务器码,该服务器码的获取方式为
[0114]
定时每5、10、15、20或25秒令所有的微服务器访问接口器,接口器对正常发送访请求的微服务器设置为可用状态。当有微服务器超过50秒没有访问接口器时,接口器主动访问微服务器,查看微服务器的服务是否可用,若查询得到不可用结果,则将此微服务器设置为不可用,同时接口器更新本地存有微服务器码的集合,将不可用的微服务器对应的微服务器码删除,通过这种方式可以动态更新微服务器码,以保证所有选择器可以获取的微服务器全部可用,避免出现获取完成后,微服务器不可用导致用户对于金融业务处理等待时间过长的情况。
[0115]
具体的微服务器码形式可以如表1所示的微服务器码形式表:
[0116]
表1
[0117]
微服务器名称微服务器码第一微服务器a100第二微服务器a200第三微服务器a300
[0118]
使用上述公式可以从a100、a200和a300中获取若干个随机数,该随机数的可以得
到三个微服务器码中任一个微服务器码,通过选择出的微服务器码,可以将其对应的微服务器作为备选微服务器。
[0119]
作为本说明书的一个实施例,步骤203、根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到;
[0120]
根据公式,计算每个所述备选微服务器的负载率:
[0121][0122]
其中,load为负载率,v
t
为平均访问耗时预估值,i为每个备选微服务器的在途请求数量。
[0123]
在本步骤中在途请求数量表示微服务器当前排队处理金融业务的数量,根据上述公式可以得知,当两个微服务器的平均访问耗时预估值一致时,在途请求数量越少,则负载率越低,当两个微服务器的途请求数量一致时,平均访问耗时预估值越少,则负载率越低,可见,该公式符合自然规律,计算出的负载率越低时,说明该微服务器处理微服务越快,当负载率越高时,说明该微服务器处理微服务器越慢。
[0124]
因此负载率可以表征微服务器处理微服务的能力,负载率越低,则当前微服务器处理微服务器的能力越强;负载率越高,则当前微服务器处理微服务器的能力越弱。
[0125]
具体的,所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到,进一步包括:
[0126]
根据公式,计算平均访问耗时预估值:
[0127]vt
=βv
t-1
+(1-β)θ
t
[0128]
其中,v
t
为平均访问耗时预估值,β为权重参数,取值范围为0《β《1;θ
t
是当前时刻的测量值;t的取值范围:1,2,3,
……
n,v
t-1
为上一时刻的平均访问耗时预估值。
[0129]
在本步骤中,由于在实践中,通过计算机指令得到的当前时刻的测量值往往与真实的微服务器对金融业务处理时间不一致。影响二者有差值的原因可以包括当前时刻下微服务器还在读写上一个金融业务的尾数据,因此需要结合当前时刻的测量值以及上一时刻的平均访问耗时预估值,得到当前时刻的平均访问耗时预估值,即利用上一时刻的平均访问预估值以及当前时刻的测量值进行加权平均,可以令微服务器处理金融业务使用的实际时间与计算出的平均访问耗时预估值逼近,令计算的负载值较为准备的刻画每个微服务器的能力。
[0130]
具体的,由于微服务器处理前后两个金融业务之间的时间间隔越短,微服务器处理当前时刻的金融业务越容易遭受到前一时刻金融业务尾数据的影响,因此权重参数的变量中包括两次请求间隔时间为当前时刻与上一时刻请求之间的时间,通过该时间间隔决定权重参数的值。
[0131]
所述权重参数使用如下公式确定:
[0132]
β=e-(δt/k)
[0133]
其中,β为权重参数,δt表示两次请求间隔时间为当前时刻与上一时刻请求之间的时间,k预设比例系数。
[0134]
具体的,当两次请求间隔时间较长时,权重参数较小。影响当前时刻的平均访问耗时预估值程度较大的是当前时刻的测量值,即当前时刻的测量值基本可以表征当前时刻的
平均访问耗时预估值。当两次请求间隔时间较短时,权重参数较小。影响当前时刻的平均访问耗时预估值程度较大的是当前时刻的测量值,即当前时刻的测量值基本可以表征当前时刻的平均访问耗时预估值。
[0135]
在本说明书中,微服务器可能分布在各个地区,当a地区的用户选择一个微服务器对金融业务进行处理时,现有的随机方法可能将原理a地区的e地区的微服务调用对金融业务进行处理,当前对于同样的金融业务各个地区的政策不同,可能造成e地区的金融业务办理失败后,a地区的用户无法前往e地区,影响用户办理金融业务的速度。
[0136]
为了用户在金融业务处理失败后可以快速的找到对应的人工营业点对金融业务进行处理,本说明书在选择微服务器时,可以优选选择同一地区的微服务器对金融业务进行处理,
[0137]
如图3所示地域权重确定方法示意图,作为本说明书的一个实施例,步骤203、所述根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重,进一步包括:
[0138]
步骤301、确定所述金融业务对应的ip地址与所述备选微服务器对应的ip是否属于同一地理区段,其中所述地理区段根据ip对应的坐标确定;
[0139]
在本说明书中,ip地址中的区段与地区具有对应关系,选择器中设有地理区段与ip地址对应表,如表2所示的地理区段与ip地址对应表。
[0140]
表2
[0141]
ip地址地理区段***.***.001.**第一区(坐标031.246)***.***.002.**第二区(坐标011.146)***.***.003.**第三区(坐标021.274)***.***.003.**第三区(坐标021.274)
[0142]
通过这种方式,在获取到金融业务的同时,可以获取到金融业务的发送位置的地理区段以及相应的坐标。
[0143]
步骤302、若属于同一地理区段,则该所述备选微服务器的地域权重为第一地域权重;
[0144]
在本说明书中,若发送金融数据的地理区段与微服务器所在的地理区段为同一地理区段,那么其地域权重可以为第一地域权重,在本说明书中第一地域权重为所有地域权重中最小的数值,可以为0、0.1、0.11、0.02等。本说明书对此不做限定。
[0145]
步骤303、若不属于同一地理区段,则根据金融业务对应的ip地址与所述备选微服务器对应的ip之间的距离,确定该所述备选微服务器的地域权重。
[0146]
具体的,根据如下公式,计算该所述备选微服务器的地域权重:
[0147][0148]
其中,γ为所述备选微服务器的地域权重,x1为根据金融业务对应的ip地址得到的金融业务发送处的横坐标,y1为根据金融业务对应的ip地址得到的金融业务发送处的纵坐标,x2为根据所述备选微服务器对应的ip得到的备选微服务器的横坐标,y2为根据所述备
选微服务器对应的ip得到的备选微服务器的纵坐标。
[0149]
通过上述公式,若金融业务发送的地理区段与微服务器的地理区段较为接近,那么最终计算出的γ较小。若金融业务发送的地理区段与微服务器的地理区段较远,那么最终计算出的γ较大2。
[0150]
作为本说明书的一个实施例,步骤205、所述根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值,进一步包括:
[0151]
τ=load
×
γ
[0152]
其中,τ为所述备选微服务器的评估值,load为备选微服务器的负载率,γ为所述备选微服务器的负载率对应的地域权重。
[0153]
通过上述公式,可以得到每台备选微服务器的评估值,具体的,负载率表征一个微服务器对于金融业务的处理能力,负载率高说明微服务器对于金融业务的处理能力差,负载率低说明微服务器对于金融业务的处理能力强。此外地域权重表征金融业务发起的地理区段与备选微服务器的地理区段之间的距离,当金融业务发起的地理区段与备选微服务器的地理区段较近时,地域权重较低;当金融业务发起的地理区段与备选微服务器的地理区段较远时,地域权重较高。因此,当一个微服务器对于金融业务的处理能力较强且与金融业务发起地较近时,因此该微服务器的评估值应该是最低的,因此选择评估值最低的备选微服务器处理所述金融业务。
[0154]
如图4所示一种微服务调用装置示意图,包括:
[0155]
指令接收单元401,用于接收路由设备转发的金融业务;
[0156]
服务器选择单元402,用于根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器;
[0157]
负载率计算单元403,用于根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到;
[0158]
地域权重计算单元404,用于根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重;
[0159]
评估值计算单元405,用于根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值;
[0160]
指令发送单元406,用于选择评估值最低的备选微服务器处理所述金融业务。
[0161]
采用上述技术方案,通过接收路由设备转发的金融业务,可以实现将外界的金融业务发送至银行内系统;通过根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器,可以实现降低后续确定各个微服务器评估值所需的计算量,均衡了选择微服务器对联机交易请求进行处理的处理速度以及选择微服务器所需的时间;通过根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到,可以实现确定每台备选微服务器的平均访问耗时,以及每台微服务器的在途请求数量,该平均访问耗时表征了每台微服务器对于联机交易请求指令处理的速度,该在途请求数量表征了每台微服务器待处理联机交易请求指令的数量;通过根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的
地域权重,可以实现选择距离用户发起金融业务最近的微服务器对金融业务进行处理,当金融业务处理失败时,方便用户前往微服务器就近的营业点进行人工处理;通过根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值,可以实现对每台微服务器进行评分,该评分可以较为客观的表征每台微服务器对于金融业务的处理速度;通过选择评估值最低的备选微服务器处理所述金融业务,可以实现选择当前对金融业务处理速度较快的一台微服务器对联交易指令进行处理,以降低客户的业务处理等待时间差距较大,进而提升用户好感度。
[0162]
如图5所示,为本说明书实施例提供的一种计算机设备,所述计算机设备运行本文的微服务调用方法,所述计算机设备502可以包括一个或多个处理器504,诸如一个或多个中央处理单元(cpu),每个处理单元可以实现一个或多个硬件线程。计算机设备502还可以包括任何存储器506,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器506可以包括以下任一项或多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备502的固定或可移除部件。在一种情况下,当处理器504执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备502可以执行相关联指令的任一操作。计算机设备502还包括用于与任何存储器交互的一个或多个驱动机构508,诸如硬盘驱动机构、光盘驱动机构等。
[0163]
计算机设备502还可以包括输入/输出模块510(i/o),其用于接收各种输入(经由输入设备512)和用于提供各种输出(经由输出设备514)。一个具体输出机构可以包括呈现设备516和相关联的图形用户接口(gui)518。在其他实施例中,还可以不包括输入/输出模块510(i/o)、输入设备512以及输出设备514,仅作为网络中的一台计算机设备。计算机设备502还可以包括一个或多个网络接口520,其用于经由一个或多个通信链路522与其他设备交换数据。一个或多个通信总线524将上文所描述的部件耦合在一起。
[0164]
通信链路522可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路522可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
[0165]
对应于图2和图3中的方法,本说明书实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
[0166]
本说明书实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图2和图3所示的方法。
[0167]
应理解,在本说明书的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施例的实施过程构成任何限定。
[0168]
还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本说明书中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0169]
本领域普通技术人员可以意识到,结合本说明书中所公开的实施例描述的各示例
的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
[0170]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0171]
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0172]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本说明书实施例方案的目的。
[0173]
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0174]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0175]
本说明书中应用了具体实施例对本说明书的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本说明书的方法及其核心思想;同时,对于本领域的一般技术人员,依据本说明书的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本说明书的限制。
技术特征:
1.一种微服务调用方法,其特征在于,包括:接收路由设备转发的金融业务;根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器;根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到;根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重;根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值;选择评估值最低的备选微服务器处理所述金融业务。2.根据权利要求1所述的微服务调用方法,其特征在于,所述根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器,进一步包括:根据公式生成至少两个随机数:[node]=(λ*c)^t%cs其中,[node]为随机数,λ为微服务器对应的服务器码,c为预先设置的常数,t为系统纳秒数,cs为所有微服务器对应的服务器码集合,%为取址符号;将所述随机数与微服务器对应的服务器码进行匹配,得到至少两个微服务器作为备选微服务器。3.根据权利要求1所述的微服务调用方法,其特征在于,所述根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,进一步包括:根据公式,计算每个所述备选微服务器的负载率:其中,load为负载率,v
t
为平均访问耗时预估值,i为每个备选微服务器的在途请求数量。4.根据权利要求3所述的微服务调用方法,其特征在于,所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到,进一步包括:根据公式,计算平均访问耗时预估值:v
t
=βv
t-1
+(1-β)θ
t
其中,v
t
为平均访问耗时预估值,β为权重参数,取值范围为0<β<1;θ
t
是当前时刻的测量值;t的取值范围:1,2,3,
……
n,v
t-1
为上一时刻的平均访问耗时预估值。5.根据权利要求4所述的微服务调用方法,其特征在于,所述权重参数使用如下公式确定:β=e-(δt/k)
其中,β为权重参数,δt表示两次请求间隔时间为当前时刻与上一时刻请求之间的时间,k预设比例系数。
6.根据权利要求1所述的微服务调用方法,其特征在于,所述根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重,进一步包括:确定所述金融业务对应的ip地址与所述备选微服务器对应的ip是否属于同一地理区段,其中所述地理区段根据ip对应的坐标确定;若属于同一地理区段,则该所述备选微服务器的地域权重为第一地域权重;若不属于同一地理区段,则根据金融业务对应的ip地址与所述备选微服务器对应的ip之间的距离,确定该所述备选微服务器的地域权重。7.根据权利要求6所述的微服务调用方法,其特征在于,所述则根据金融业务对应的ip地址与所述备选微服务器对应的ip之间的距离,确定该所述备选微服务器的地域权重,进一步包括:根据如下公式,计算该所述备选微服务器的地域权重:其中,γ为所述备选微服务器的地域权重,x1为根据金融业务对应的ip地址得到的金融业务发送处的横坐标,y1为根据金融业务对应的ip地址得到的金融业务发送处的纵坐标,x2为根据所述备选微服务器对应的ip得到的备选微服务器的横坐标,y2为根据所述备选微服务器对应的ip得到的备选微服务器的纵坐标。8.根据权利要求1所述的微服务调用方法,其特征在于,所述根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值,进一步包括:τ=load
×
γ其中,τ为所述备选微服务器的评估值,load为备选微服务器的负载率,γ为所述备选微服务器的负载率对应的地域权重。9.一种微服务调用装置,其特征在于,包括:指令接收单元,用于接收路由设备转发的金融业务;服务器选择单元,用于根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器;负载率计算单元,用于根据平均访问耗时预估值以及在途请求数量确定每个所述备选微服务器的负载率,其中所述平均访问耗时预估值根据上一时刻的预估值、当前时刻的测量值以及权重参数确定得到;地域权重计算单元,用于根据金融业务对应的ip地址以及所述备选微服务器对应的ip,确定每个所述备选微服务器的地域权重;评估值计算单元,用于根据所述备选微服务器的负载率及其对应的地域权重,确定每个所述备选微服务器的评估值;指令发送单元,用于选择评估值最低的备选微服务器处理所述金融业务。10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8任意一项所述的微服务调用方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程
序,所述计算机程序被处理器执行时实现如权利要求1-8任意一项所述的微服务调用方法。
技术总结
本说明书提供了一种微服务调用方法、装置及存储介质,包括:接收路由设备转发的金融业务;根据系统纳秒数和微服务器对应的服务器码,在所有微服务器中随机选择至少两个微服务器作为备选微服务器;根据平均访问耗时预估值以及在途请求数量确定每个备选微服务器的负载率;根据金融业务对应的IP地址以及备选微服务器对应的IP,确定每个备选微服务器的地域权重;根据备选微服务器的负载率及其对应的地域权重,确定每个备选微服务器的评估值;选择评估值最低的备选微服务器处理金融业务,可以实现选择当前对金融业务处理速度较快的一台微服务器对联交易指令进行处理,以降低客户间的业务处理等待时间差距较大,进而提升用户好感度。度。度。
技术研发人员:严彪 史恩重 邹帮山 李成功 孙健淞 张军喜 杜善林 吕殊雨
受保护的技术使用者:吉林银行股份有限公司
技术研发日:2023.07.13
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
