1.一种高并发多维度分布式交易系统流控方法,其特征在于,具体包括以下步骤:S1、接收交易请求,从交易请求中提取请求头,从请求头中解析出多维度参数信息;
S2、根据交易请求的类型,利用多维度参数信息匹配对应的策略配置;
S3、解析对应的策略配置,得到细粒度规则信息并存入分布式缓存库中;
S4、根据细粒度规则信息统计细粒度规则总数并存分布式缓存库中,根据分布式缓存库进行流控判断。
2.根据权利要求1所述的一种高并发多维度分布式交易系统流控方法,其特征在于,多维度参数信息包括:渠道、发送节点号、接收节点号和交易码。
3.根据权利要求2所述的一种高并发多维度分布式交易系统流控方法,其特征在于,策略配置的过程为:设置每个刷新间隔窗口的请求数量限制,记为limit;刷新间隔窗口默认时间;
将多维度参数信息采用AntPathMatcher通配符写法;得到通配多维度参数;
从通配多维度参数中挑选其中任意若干个维度进行组合配置,得到若干个策略规则;
将若干个策略规则进行组合,得到策略配置。
4.根据权利要求3所述的一种高并发多维度分布式交易系统流控方法,其特征在于,统计细粒度规则总数的具体过程为:将匹配到的对应策略配置进行解析,得到细粒度规则信息,细粒度规则信息包括若干个策略规则以及每个刷新间隔窗口的请求数量限制;每个策略规则包括了若干个维度以及各个维度对应的维度参数个数;
对每个策略规则中的各个维度的维度参数个数进行统计,将所有维度参数个数相乘,得到一个策略规则的细粒度规则数;
将所有策略规则的细粒度规则数相加,得到细粒度规则总数。
5.根据权利要求3所述的一种高并发多维度分布式交易系统流控方法,其特征在于,分布式缓存库采用分布式缓存组件redis,存储方式采用key: 流控数量。
6.根据权利要求5所述的一种高并发多维度分布式交易系统流控方法,其特征在于,流控判断过程为:根据分布式缓存组件redis的脚本,判断脚本中是否存在预设key值;
若不存在则创建值为limit的key,并将细粒度规则总数减1;
判断细粒度规则总数减1后是否小于0,若是则触发流控。
7.一种高并发多维度分布式交易系统流控引擎,其特征在于,包括:接收请求模块,用于接收交易请求,并从交易请求中提取请求头;
数据解析模块,用于从请求头中解析出多维度参数信息;
规则配置模块,用于根据多维度参数信息加载策略配置;
规则匹配模块,用于根据交易请求的类型,在规则配置模块中匹配到对应的策略配置;
规则解析模块,用于解析匹配到的对应的策略配置;得到细粒度规则信息;
流控计数器,用于根据细粒度规则信息统计细粒度规则总数;
分布式缓存库,用于存储细粒度规则信息和细粒度规则总数;
流控管理模块,用于根据分布式缓存库进行流控判断。
8.根据权利要求7所述的一种高并发多维度分布式交易系统流控引擎,其特征在于,多维度参数信息包括:渠道、发送节点号、接收节点号和交易码;
加载策略配置的方法为:设置每个刷新间隔窗口的请求数量限制,记为limit;刷新间隔窗口默认时间;
将多维度参数信息采用AntPathMatcher通配符写法;得到通配多维度参数;
从通配多维度参数中挑选其中任意若干个维度进行组合配置,得到若干个策略规则;
将若干个策略规则进行组合,得到策略配置。
9.一种计算机可读存储介质,其特征在于,包括:一个或多个处理器;
存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现如权利要求1‑6任一所述的一种高并发多维度分布式交易系统流控方法。