一种分布式流速控制系统及其运行方法技术方案

技术编号:30312770 阅读:10 留言:0更新日期:2021-10-09 22:55
本发明专利技术提供了一种分布式流速控制系统及其运行方法,该系统包括:分布式部署的服务端和客户端,服务端设有对应于多个流控对象的多个令牌控制单元,客户端包括令牌控制单元的映射单元,每个映射单元设有时钟调校单元,该方法包括:客户端接收应用系统请求获取令牌的调用指令,客户端根据调用指令包括的目标流控对象的标识,触发对应的时钟调校单元对当前客户端时间执行时钟校准,携带目标流控对象的标识和校准时间向目标流控对象对应的令牌控制单元所在服务端发起令牌请求;服务端中对应于目标流控对象的令牌控制单元处理令牌请求,并将令牌请求结果返回客户端。利用上述方法,能够保证分布式流速控制系统在运行中保持时钟同步。步。步。

【技术实现步骤摘要】
一种分布式流速控制系统及其运行方法


[0001]本专利技术属于流速控制领域,具体涉及一种分布式流速控制系统及其运行方法。

技术介绍

[0002][0003]在高并发的流速控制场景中,通常需要使用分布式设计的流速控制系统,以交易场景为例,处理交易的应用系统分布式于各个系统节点,应用系统在接收交易后需调用内嵌于其中的客户端请求令牌,应用系统请求令牌时通常携带所在系统节点的节点时间,服务端生产令牌需要依赖于各客户端请求令牌时所携带的节点时间。显然,若各个系统节点的时钟不一致,服务端的令牌生产与派发会发生错乱,最终导致交易流速控制的紊乱,例如。时钟慢的系统节点上的客户端永远无法获取到令牌,流入到该节点上的交易将会全部被拒绝。
[0004]为解决上文提到的问题,目前亟需找到一种保证时钟同步的适用于分布式的流速控制系统的运行方案。

技术实现思路

[0005]针对上述现有技术中存在的问题,提出了一种分布式流速控制系统及其运行方法,利用这种系统和方法,能够解决上述问题。
[0006]本专利技术提供了以下方案。
[0007]第一方面,提供一种分布式流速控制系统的运行方法,所述系统包括:分布式部署的服务端和客户端,所述服务端设有对应于多个流控对象的多个令牌控制单元,所述客户端包括所述令牌控制单元的映射单元,每个所述映射单元设有用于维护所述映射单元与其所映射的所述令牌控制单元之间时钟同步的时钟调校单元,所述方法包括:所述客户端接收应用系统请求获取令牌的调用指令,其中,所述调用指令包括所述目标流控对象的标识;所述客户端根据目标流控对象的标识,触发所述目标流控对象对应的所述时钟调校单元对当前客户端时间执行时钟校准,得到校准时间;所述客户端向所述目标流控对象对应的所述令牌控制单元所在服务端发起令牌请求,所述令牌请求携带所述目标流控对象的标识和所述校准时间;所述服务端中对应于所述目标流控对象的所述令牌控制单元处理所述令牌请求,并将令牌请求结果返回所述客户端。
[0008]一种可能的实施方式中,所述时钟调校单元内维护:时钟校准属性CDF,上次同步时间 LST、时钟同步周期CSP、时钟校准运算器CCU;其中,所述时钟校准属性CDF用于记录对应的所述令牌控制单元所在服务端与对应的所述映射单元所在客户端之间的时钟偏差值;所述上次同步时间LST用于记录上次进行时钟同步的客户端时间;所述时钟同步周期CSP为进行所述时钟同步的预设时间周期;所述时钟校准运算器CCU为所述时钟调校单元的执行部件,用于执行所述时钟同步和所述时钟校准。
[0009]一种可能的实施方式中,所述方法还包括:所述时钟调校单元在执行所述时钟校
准之前,检测是否需要执行时钟同步;若需要执行所述时钟同步,则所述时钟调校单元先执行所述时钟同步以更新所述时钟校准属性,再基于更新后的所述时钟校准属性对获取的当前客户端时间执行所述时钟校准;若无需执行所述时钟同步,则基于未更新的所述时钟校准属性对获取的所述当前客户端时间执行所述时钟校准。
[0010]一种可能的实施方式中,检测是否需要执行时钟同步,还包括:所述客户端响应于所述应用系统请求的所述调用指令,触发所述时钟调校单元检查当前时间距离上次同步时间LST 之间的时间间隔;若所述时间间隔大于所述时钟同步周期CSP,则需要执行所述时钟同步;若所述时间间隔小于所述时钟同步周期CSP,则无需执行所述时钟同步。
[0011]一种可能的实施方式中,所述时钟调校单元执行时钟同步,还包括:所述时钟调校单元向所述目标流控对象对应的所述令牌控制单元所在服务端发起时间获取请求;所述服务端接收到所述时间获取请求后获取当前服务端时间,并返回给所述客户端;所述客户端的所述时钟调校单元接收所述当前服务端时间,获取当前客户端时间,并计算所述当前服务端时间和所述当前客户端时间的差值,根据所述差值更新所述时钟校准属性CDF,并根据所述当前客户端时间更新所述上次同步时间LST。
[0012]一种可能的实施方式中,所述时钟调校单元执行时钟同步,还包括:所述时钟调校单元获取所在客户端的当前客户端时间;所述时钟调校单元携带所述当前客户端时间向所述目标流控对象对应的所述令牌控制单元所在服务端发起时钟同步请求;所述服务端收到所述时钟同步请求后,触发所述目标流控对象对应的所述令牌控制单元获取当前服务端时间,计算所述当前服务端时间和所述当前客户端时间的差值,并将所述差值返回给所述客户端;所述客户端的所述时钟调校单元根据所述差值更新所述时钟校准属性,并根据所述当前客户端时间更新所述上次同步时间LST。
[0013]一种可能的实施方式中,所述校准时间为所述当前客户端时间和所述时钟校准属性之和。
[0014]一种可能的实施方式中,所述服务端中对应于所述目标流控对象的所述令牌控制单元处理所述令牌请求,还包括:所述令牌控制单元计算所述令牌请求携带的所述校准时间与上次令牌产生时间之间的差值Δt;其中,若Δt>0,则正常进行令牌生产与令牌派发;若Δt≤0,则进一步判断|Δt|<εt是否成立,若满足则仅执行令牌派发,若不满足则返回时间错误,所述εt为预设的容错精度值。
[0015]第二方面,提供一种分布式流速控制系统,包括:分布式部署的服务端和客户端,服务端设有对应于多个流控对象的多个令牌控制单元,客户端包括一个或多个令牌控制单元的映射单元,每个映射单元设有各自的时钟调校单元且具有对应的流控对象,其中,客户端被配置为用于:接收应用系统请求获取令牌的调用指令,其中,调用指令包括目标流控对象的标识;根据目标流控对象的标识,触发目标流控对象对应的时钟调校单元对当前客户端时间执行时钟校准,得到校准时间;向目标流控对象对应的令牌控制单元所在服务端发起令牌请求,令牌请求携带目标流控对象的标识和校准时间;服务端被配置为用于:根据令牌请求使对应于目标流控对象的令牌控制单元处理令牌请求,并将令牌请求结果返回客户端。
[0016]一种可能的实施方式中,时钟调校单元内维护:时钟校准属性CDF,上次同步时间LST、时钟同步周期CSP、时钟校准运算器CCU;其中,时钟校准属性CDF用于记录对应的令牌
控制单元所在服务端与对应的映射单元所在客户端之间的时钟偏差值;上次同步时间LST用于记录上次进行时钟同步的客户端时间;时钟同步周期CSP为进行时钟同步的预设时间周期;时钟校准运算器CCU为时钟调校单元的执行部件,用于执行时钟同步和时钟校准。
[0017]一种可能的实施方式中,客户端的时钟调校单元被配置为用于:时钟调校单元在执行时钟校准之前,检测是否需要执行时钟同步;若需要执行时钟同步,则时钟调校单元先执行时钟同步以更新时钟校准属性,再基于更新后的时钟校准属性对获取的当前客户端时间执行时钟校准;若无需执行时钟同步,则基于未更新的时钟校准属性对获取的当前客户端时间执行时钟校准。
[0018]一种可能的实施方式中,客户端被配置为用于:客户端响应于应用系统请求的调用指令,触发时钟调校单元检查当前时间距离上次同步时间LST之间的时间间隔;若时间间隔大于时钟本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式流速控制系统的运行方法,其特征在于,所述系统包括:分布式部署的服务端和客户端,所述服务端设有对应于多个流控对象的多个令牌控制单元,所述客户端包括所述令牌控制单元的映射单元,每个所述映射单元设有时钟调校单元,以用于维护所述映射单元与其所映射的所述令牌控制单元之间的时钟同步,所述方法包括:所述客户端接收应用系统请求获取令牌的调用指令,其中,所述调用指令包括目标流控对象的标识;所述客户端根据所述目标流控对象的标识,触发所述目标流控对象对应的所述时钟调校单元对当前客户端时间执行时钟校准,得到校准时间;所述客户端向所述目标流控对象对应的所述令牌控制单元所在服务端发起令牌请求,所述令牌请求携带所述目标流控对象的标识和所述校准时间;所述服务端中对应于所述目标流控对象的所述令牌控制单元处理所述令牌请求,并将令牌请求结果返回所述客户端。2.根据权利要求1所述的方法,其特征在于,所述时钟调校单元内维护:时钟校准属性CDF,上次同步时间LST、时钟同步周期CSP、时钟校准运算器CCU;其中,所述时钟校准属性CDF用于记录对应的所述令牌控制单元所在服务端与对应的所述映射单元所在客户端之间的时钟偏差值;所述上次同步时间LST用于记录上次进行时钟同步的客户端时间;所述时钟同步周期CSP为进行所述时钟同步的预设时间周期;所述时钟校准运算器CCU为所述时钟调校单元的执行部件,用于执行时钟同步和时钟校准。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述时钟调校单元在执行所述时钟校准之前,检测是否需要执行时钟同步;若需要执行所述时钟同步,则所述时钟调校单元先执行所述时钟同步以更新所述时钟校准属性,再基于更新后的所述时钟校准属性对获取的当前客户端时间执行所述时钟校准;若无需执行所述时钟同步,则基于未更新的所述时钟校准属性对获取的所述当前客户端时间执行所述时钟校准。4.根据权利要求3所述的方法,其特征在于,检测是否需要执行时钟同步,还包括:所述客户端响应于所述应用系统请求的所述调用指令,触发所述时钟调校单元检查当前时间距离上次同步时间LST之间的时间间隔;若所述时间间隔大于所述时钟同步周期CSP,则需要执行所述时钟同步;若所述时间间隔小于所述时钟同步周期CSP,则无需执行所述时钟同步。5.根据权利要求2所述的方法,其特征在于,所述时钟调校单元执行时钟同步,还包括:所述时钟调校单元向所述目标流控对象对应的所述令牌控制单元所在服务端发起时间获取请求;所述服务端接收到所述时间获取请求后获取当前服务端时间,并返回给所述客户端;所述客户端的所述时钟调校单元接收所述当前服务端时间,获取当前客户端时间,并计算所述当前服务端时间和所述当前客户端时间的差值,根据所述差值更新所述时钟校准属性CDF,并根据所述当前客户端时间更新所述上次同步时间LST。6.根据权利要求2所述的方法,其特征在于,所述时钟调校单元执行时钟同步,还包括:所述时钟调校单元获取所在客户端的当前客户端时间;
所述时钟调校单元携带所述当前客户端时间向所述目标流控对象对应的所述令牌控制单元所在服务端发起时钟同步请求;所述服务端收到所述时钟同步请求后,触发所述目标流控对象对应的所述令牌控制单元获取当前服务端时间,计算所述当前服务端时间和所述当前客户端时间的差值,并将所述差值返回给所述客户端;所述客户端的所述时钟调校单元根据所述差值更新所述时钟校准属性,并根据所述当前客户端时间更新所述上次同步时间LST。7.根据权利要求2

6中任一项所述的方法,其特征在于,所述校准时间为所述当前客户端时间和所述时钟校准属性之和。8.根据权利要求1所述的方法,其特征在于,所述服务端中对应于所述目标流控对象的所述令牌控制单元处理所述令牌请求,还包括:所述令牌控制单元计算所述令牌请求携带的所述校准时间与上次令牌产生时间之间的差值Δt;其中,若Δt>0,则正常进行令牌生产与令牌派发;若Δt≤0,则进一步判断|Δt|<εt是否成立,若满足则仅执行令牌派发,若不满足则返回时间错误,所述εt为预设的容错精度值。9.一种分布式流速控制系统,其特征在于,包括:分布式部署的服务端和客户端...

【专利技术属性】
技术研发人员:李俊茅毓铭
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1