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

一种资源获取方法及终端与流程

2021-10-24 08:48:00 来源:中国专利 TAG:终端 资源管理 获取 特别 方法


1.本发明涉及资源管理技术领域,特别涉及一种资源获取方法及终端。


背景技术:

2.在目前的分布式系统中,存在很多资源共享的情况,比如一个共享的内存资源,同一时刻只允许有一个线程进行访问。为了实现这种访问机制,现在通常使用的机制是对该资源进行加锁处理,比如服务端提供的某一个接口,该接口内部会访问一个共享的内存资源,因为服务端的接口对外都是提供并发访问的,为了确保同一时刻只有一个线程访问该内存资源,所以,该接口方法内部会对访问共享资源的模块进行加锁处理,即每次需要优先获取锁,获取锁成功之后才允许访问共享资源。
3.可是服务端的接口都是需要提供并发访问的,在并发场景下,当某一个接口调用并锁定资源之后,后续其他接口再次调用时,将因为资源已锁定,无法再次获取资源进而返回异常信息。可是,由于下游资源锁定,上游系统却无法知晓,进而在该场景之下,上游服务将继续调用下游接口,进而导致无效请求增多,业务处理效率降低。


技术实现要素:

4.本发明所要解决的技术问题是:提供了一种资源获取方法及终端,能够提高资源获取的效率。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种资源获取方法,包括步骤:
7.接收上游节点发送的资源获取请求;
8.若所述资源获取请求所对应的待获取资源已锁定,则判断所有所述资源获取请求的个数是否达到阈值,若是,则返回特殊异常标识至所述上游节点,根据所述特殊异常标识对所述上游节点进行请求锁定,并将所述待获取资源的锁信息同步至公共集群,所述请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息。
9.为了解决上述技术问题,本发明采用的另一种技术方案为:
10.一种资源获取终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
11.接收上游节点发送的资源获取请求;
12.若所述资源获取请求所对应的待获取资源已锁定,则判断所有所述资源获取请求的个数是否达到阈值,若是,则返回特殊异常标识至所述上游节点,根据所述特殊异常标识对所述上游节点进行请求锁定,并将所述待获取资源的锁信息同步至公共集群,所述请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息。
13.本发明的有益效果在于:接收上游节点发送的资源获取请求,若待获取资源已经锁定,则判断所有资源获取请求的个数是否达到阈值,若达到阈值则返回特殊异常标识至上游节点,上游节点根据特殊异常标识进行请求锁定,将待获取资源的锁信息同步至公共
集群,请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息;因此在待获取资源锁定时,并且请求数量达到阈值时,锁定上游节点的请求,能够减少上游节点的无效请求,提高系统的安全性和健壮性,从而提高资源获取的效率。
附图说明
14.图1为本发明实施例的一种资源获取方法的流程图;
15.图2为本发明实施例的一种资源获取终端的示意图。
具体实施方式
16.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
17.请参照图1,本发明实施例提供了一种资源获取方法,包括步骤:
18.接收上游节点发送的资源获取请求;
19.若所述资源获取请求所对应的待获取资源已锁定,则判断所有所述资源获取请求的个数是否达到阈值,若是,则返回特殊异常标识至所述上游节点,根据所述特殊异常标识对所述上游节点进行请求锁定,并将所述待获取资源的锁信息同步至公共集群,所述请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息。
20.从上述描述可知,本发明的有益效果在于:接收上游节点发送的资源获取请求,若待获取资源已经锁定,则判断所有资源获取请求的个数是否达到阈值,若达到阈值则返回特殊异常标识至上游节点,上游节点根据特殊异常标识进行请求锁定,将待获取资源的锁信息同步至公共集群,请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息;因此在待获取资源锁定时,并且请求数量达到阈值时,锁定上游节点的请求,能够减少上游节点的无效请求,提高系统的安全性和健壮性,从而提高资源获取的效率。
21.进一步地,根据所述特殊异常标识对所述上游节点进行请求锁定包括:
22.根据所述特殊异常标识在上游节点中设置并开启请求锁定,由所述上游节点对所述请求锁定设置时间阈值。
23.由上述描述可知,根据特殊异常标识在上游节点设置并开启请求锁定能够减少待获取资源加锁后上游节点对待获取资源的无效请求。
24.进一步地,还包括:
25.判断所述请求锁定的设置时长是否大于所述时间阈值,若是,则删除所述公共集群中与所述待获取资源对应的锁信息;
26.若所述公共集群中不存在所述待获取资源的锁信息,则接收所述上游节点发送的资源获取请求。
27.由上述描述可知,当请求锁定的设置时长大于时间阈值时,删除公共集群中的锁信息,当公共集群中的待获取资源的锁信息不存在时,能够再次接收上游节点发送的请求,提高程序的健壮性。
28.进一步地,所述返回特殊异常标识至所述上游节点包括:
29.建立所述上游节点与所述待获取资源所在节点的监听通道;
30.根据所述监听通道将所述待获取资源所在节点的特殊异常标识发送至所述上游
节点。
31.由上述描述可知,通过在上游节点和待获取资源中建立监听通道,上游节点能够根据监听通道获取待获取资源的信息。
32.进一步地,还包括:
33.若所述已锁定的待获取资源取消锁定或者所有所述资源获取请求的个数未达到阈值,则通知所述上游节点解除对所述待获取资源的请求锁定,删除所述公共集群中与所述待获取资源对应的锁信息。
34.由上述描述可知,已锁定的待获取资源取消锁定后或者所有资源获取请求的个数未达到阈值时,删除公共集群中的锁信息能够减少公共集群的存储压力。
35.请参照图2,本发明另一实施例提供了一种资源获取终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
36.接收上游节点发送的资源获取请求;
37.若所述资源获取请求所对应的待获取资源已锁定,则判断所有所述资源获取请求的个数是否达到阈值,若是,则返回特殊异常标识至所述上游节点,根据所述特殊异常标识对所述上游节点进行请求锁定,并将所述待获取资源的锁信息同步至公共集群,所述请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息。
38.由上述描述可知,接收上游节点发送的资源获取请求,若待获取资源已经锁定,则判断所有资源获取请求的个数是否达到阈值,若达到阈值则返回特殊异常标识至上游节点,上游节点根据特殊异常标识进行请求锁定,将待获取资源的锁信息同步至公共集群,请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息;因此在待获取资源锁定时,并且请求数量达到阈值时,锁定上游节点的请求,能够减少上游节点的无效请求,提高系统的安全性和健壮性,从而提高资源获取的效率。
39.进一步地,根据所述特殊异常标识对所述上游节点进行请求锁定包括:
40.根据所述特殊异常标识在上游节点中设置并开启请求锁定,由所述上游节点对所述请求锁定设置时间阈值。
41.由上述描述可知,根据特殊异常标识在上游节点设置并开启请求锁定能够减少待获取资源加锁后上游节点对待获取资源的无效请求。
42.进一步地,还包括:
43.判断所述请求锁定的设置时长是否大于所述时间阈值,若是,则删除所述公共集群中与所述待获取资源对应的锁信息;
44.若所述公共集群中不存在所述待获取资源的锁信息,则接收所述上游节点发送的资源获取请求。
45.由上述描述可知,当请求锁定的设置时长大于时间阈值时,删除公共集群中的锁信息,当公共集群中的待获取资源的锁信息不存在时,能够再次接收上游节点发送的请求,提高程序的健壮性。
46.进一步地,所述返回特殊异常标识至所述上游节点包括:
47.建立所述上游节点与所述待获取资源所在节点的监听通道;
48.根据所述监听通道将所述待获取资源所在节点的特殊异常标识发送至所述上游
节点。
49.由上述描述可知,通过在上游节点和待获取资源中建立监听通道,上游节点能够根据监听通道获取待获取资源的信息。
50.进一步地,还包括:
51.若所述已锁定的待获取资源取消锁定或者所有所述资源获取请求的个数未达到阈值,则通知所述上游节点解除对所述待获取资源的请求锁定,删除所述公共集群中与所述待获取资源对应的锁信息。
52.由上述描述可知,已锁定的待获取资源取消锁定后或者所有资源获取请求的个数未达到阈值时,删除公共集群中的锁信息能够减少公共集群的存储压力。
53.本发明上述一种资源获取方法及终端,适用于各种共享资源的场景,能够提高资源获取的效率,以下通过具体实施方式进行说明:
54.实施例一
55.请参照图1,一种资源获取方法,包括步骤:
56.s1、接收上游节点发送的资源获取请求。
57.具体的,在本实施例中,上游节点包括客户端,当客户端发送的所有获取资源的请求都正常按顺序进行时,客户端发送的资源获取请求正常到达公共平台网关,公共平台网关向资源发放系统请求获取资源接口,请求到获取资源借口后,接口内部预先进行资源的锁定。
58.s2、若所述资源获取请求所对应的待获取资源已锁定,则判断所有所述资源获取请求的个数是否达到阈值,若是,则返回特殊异常标识至所述上游节点,根据所述特殊异常标识对所述上游节点进行请求锁定,并将所述待获取资源的锁信息同步至公共集群,所述请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息。
59.具体的,当所有获取资源的请求并发到达时,此时,若已有资源获取请求锁定待获取资源,并正在进行资源获取以及处理,则将后续所有资源获取请求进行计数处理,并记录在本地内存中,当资源获取请求的个数达到10个时,后续所有请求,将统一快速返回特殊异常码“special_code”,同时将待获取资源的锁信息同步至公共redis集群中。
60.其中,特殊异常标识即上述的特殊异常码“special_code”。
61.其中,所述返回特殊异常标识至所述上游节点包括:
62.建立所述上游节点与所述待获取资源所在节点的监听通道;
63.根据所述监听通道将所述待获取资源所在节点的特殊异常标识发送至所述上游节点。
64.具体的,在所有的客户端与待获取资源所在的下游节点之间建立监听通道,监听通道类似应用与zookeeper集群的长链接监听通道,当下游节点进行资源加锁时,并且等待该加锁资源的请求达到预设阀值时,实时通知上游节点该资源已经进行加锁。
65.其中,根据所述特殊异常标识对所述上游节点进行请求锁定包括:
66.根据所述特殊异常标识在上游节点中设置并开启请求锁定,由所述上游节点对所述请求锁定设置时间阈值。
67.具体的,当公共平台网关未获取到资源发放系统的返回信息时,说明接口正在进行正常的业务处理。当上游节点获取到下游节点返回的特殊异常码时,将在上游节点的本
地内存中设置并开启一个请求锁定开关,并针对请求锁定开关设置一个时间阈值;当后续公共平台网关继续接收到客户端请求时,由于此时开关已打开,将直接查询公共redis集群中的锁信息是否仍然存在,当仍然存在时,则快速返回异常信息给客户端,提示“资源繁忙,请稍后处理”等信息,无需再次调用资源发放系统,因此通过本实施例的锁同步方法,上游节点设置并开启请求锁定开关后,不需要再发送请求访问公共集群中的锁信息,减少了大量的无效请求。
68.其中,判断所述请求锁定的设置时长是否大于所述时间阈值,若是,则删除所述公共集群中与所述待获取资源对应的锁信息;
69.若所述公共集群中不存在所述待获取资源的锁信息,则接收所述上游节点发送的资源获取请求。
70.具体的,当某次查询公共redis集群中的锁信息已不存在,或者距离上次的本地内存中的开关设置的时间已超过预设阀值时,后续公共平台网关调用代金券系统的接口时,将不再检查公共redis集群的信息,接收上游节点发送的资源获取请求,直接访问下游接口。
71.因此,通过本实施例中的锁同步机制,当下游共享资源锁定后,能够同步锁信息至公共信息中,后续一段时间上游服务再次调用下游方法之前,将会预先查询公共信息中的锁信息,当锁信息仍然存在时,能够拦截一部分不必要调用下游服务的重入流量,既能够解决请求重入的问题,又可以减少对下游的无效请求,进一步提高系统处理效率。
72.实施例二
73.本实施例与实施例一的不同之处在于,进一步限定了如何在已锁定的待获取资源取消锁定或者所有资源获取请求的个数未达到阈值时获取资源,具体的:
74.若所述已锁定的待获取资源取消锁定或者所有所述资源获取请求的个数未达到阈值,则通知所述上游节点解除对所述待获取资源的请求锁定,删除所述公共集群中与所述待获取资源对应的锁信息。
75.在本实施例中,当下游节点已解锁或者下游节点仍然加锁,但是等待该加锁资源的请求在一定的数值之内时,则可以通知上游节点已解锁的资源,后续上游节点将会删除本地内存中的开关设置,继续下发请求到下游节点中。
76.实施例三
77.请参照图2,一种资源获取终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一或实施例二的资源获取方法的各个步骤。
78.综上所述,本发明提供的一种资源获取方法及终端,接收上游节点发送的资源获取请求,若待获取资源已经锁定,则判断所有资源获取请求的个数是否达到阈值,若达到阈值则返回特殊异常标识至上游节点,上游节点根据特殊异常标识进行请求锁定,将待获取资源的锁信息同步至公共集群,请求锁定的上游节点通过查询所述公共集群获取所述待获取资源的锁信息;其中上游节点进行请求锁定能够设置并开启请求锁定开关,通过判断请求锁定开关的设置时间是否达到时间阈值,再进一步对资源锁信息进行处理,保证了系统的健壮性;因此在待获取资源锁定并且请求数量达到阈值时,锁定上游节点的请求,通过这种同步锁信息至不同的上游节点中的方法,能够可控地减少上游节点的无效请求,对于系
统的安全与健壮性有一定的提高。
79.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜