一种基于tuxedo中间件的智能分流方法与流程

文档序号:26588233发布日期:2021-09-10 20:01阅读:137来源:国知局
一种基于tuxedo中间件的智能分流方法与流程

1.一种基于tuxedo中间件的智能分流方法,用于交易智能分流,属于计算机业务应用研发领域,具体涉及基于tuxedo调度的银行卡业务系统的技术领域。


背景技术:

2.现有的基于tuxedo配置的无法满足基于实际交易场景的交易智能分流,也没有一种基于可容错的事务管理方案。
3.现有的基于tuxedo配置的流控都只能根据服务组配置的最大的服务启动数,来进行交易的流量控制。现有的基于tuxedo配置都是通过只能通过轮训分发,权重设置等简单权重的方法进行分流,没有根据基于交易平均响应时间的智能分流方案。
4.具体存在如下问题:
5.1.容易造成某些接口服务处理耗时太长,不能及时发现并自动流控干预;
6.2.由于某些接口异常,从而会影响正常接口调用。


技术实现要素:

7.针对上述研究的问题,本发明的目的在于提供一种基于tuxedo中间件的智能分流的方法,解决现有技术容易造成某些接口服务处理耗时太长,不能及时发现并自动流控干预;和影响正常接口调用的问题。
8.为了达到上述目的,本发明采用如下技术方案:
9.一种基于tuxedo中间件的智能分流的方法,包括如下步骤:
10.步骤1:基于tuxedo中间件,银行卡业务平台收到交易请求后,通过交易场景码相关信息,从银行卡业务平台的交易码表plttrscode中加载相关交易配置信息,其中,银行卡业务平台包含借记卡系统、贷记卡系统、监控统计信息区tolmsgmap、监控统计守护进程statmonpro、交易分发平台和缓存map,借记卡系统和贷记卡系统包括收到的交易,交易场景码相关信息包括交易的报文头中的交易事务标识channel_id、交易码tran_code字段和交易标识tran_flag;
11.步骤2:基于交易码tran_code字段连接监控统计信息区tolmsgmap,根据监控统计信息区tolmsgmap中的统计信息中的交易平均响应时间valtime、交易事务标识channel_id和交易标识tran_flag确定交易分发平台是走高频、快速或慢速交易平台区,其中,高频为当日同一交易交易成功的平均耗时时间排名前十名的,快速为交易成功响应平均时间valtime在1s内的,慢速为交易响应平均时间valtime大于1s的,交易分发平台基于tuxedo中间件实现交易的过滤和分发,统计信息包括交易成功完成后,银行卡业务平台加载到缓存map中的信息,缓存map中key值为交易码tran_code,key对应的value值包括每笔交易的总交易数量toltimes和交易响应时间valtime,当同一交易码tran_code的总交易数量toltimes达到50时,则统计算出交易码tran_code对应的平均响应时间valtime,其中,高频交易平台区包括有事务高频交易平台区和无事务高频交易平台区,快速交易平台区包括有
事务快速交易平台区和无事务快速交易平台区,慢速交易平台区包括有事务慢速交易平台区和无事务慢速交易平台区,有事务高频交易平台区、无事务高频交易平台区、有事务快速交易平台区、无事务快速交易平台区、有事务慢速交易平台区和无事务慢速交易平台区自定义有应用平台组group,应用平台组group包括优先级顺序由大到小的应用平台pltapp,应用平台pltapp1和应用平台pltapp2;
12.步骤3:基于监控统计守护进程statmonpro,获取高频、快速和慢速每个交易平台区中应用平台pltapp的应用状态,应用状态为正常状态,根据流控规则,对交易做出对应处理,否则转到步骤4;
13.步骤4:根据组内平台优先级规则,判断最终交易的接入应用平台。
14.进一步,所述步骤1的具体步骤为:
15.步骤1.1:tuxedo中间件通讯接收到的数据存入数据缓冲区,存入后,将tuxedo中间件的智能分流进程intelshutpro连接数据连接区data_view,银行卡业务平台收到交易请求后,从银行卡业务平台获取交易的报文交易信息msginfo,即报文,报文包括报文头,数据连接区data_view即指数据缓冲区;
16.步骤1.2:根据交易的报文头中约定的报文头格式,解析出交易的报文头中的渠道交易事务标识channel_id、交易码tran_code字段和交易标识tran_flag,交易事务标识channel_id为1表示有事务,为0表示无事务,交易标识tran_flag为1表示已定义走高频,为2表示已定义走快速,为空值表示未定义,走慢速;
17.步骤1.3:根据解析出来的渠道交易事务标识channel_id和交易码tran_code字段,查找银行卡业务平台的缓存map的交易码表plttrscode获取的交易配置信息。
18.进一步,所述步骤2的具体步骤为:步骤2.1:基于交易码tran_code字段连接监控统计信息区tolmsgmap,连接后,根据交易的报文头中的交易码tran_code字段,查找缓存map,若查到,以交易码tran_code为key值,查找缓存map中对应的value值,该value值中保存有该交易码的平均响应时间valtime和统计的总交易数量toltimes,当总交易数量toltimes toltimes>=50,转到步骤2.3,当总交易数量toltimes toltimes<50,转到步骤2.4,若未查到,转到步骤2.2;
19.步骤2.2:交易分发平台走慢速交易模式,再根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务慢速交易平台区,否则走有事务慢速交易平台区;
20.步骤2.3:根据平均响应时间valtime和交易配置信息中的交易事务标识channel_id确定交易分发平台走的交易平台区;
21.步骤2.4:根据交易配置信息中交易标识tran_flag和交易事务标识channel_id确定交易分发平台走的交易平台区。
22.进一步,所述步骤2.3的具体步骤为:
23.步骤2.3.1:首先根据sort方式将监控统计信息区tolmsgmap中根据交易码tran_code对应的平均响应时间进行排名,若该交易码tran_code的排名在前十,则默认走高频交易平台区,然后根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务高频交易平台区,否则走有事务高频交易平台区;
24.步骤2.3.2:若该交易码tran_code的排名不在前十,则不满足高频交易的分流条
件,降级为快速分流的条件判断处理,即该交易的平均响应时间valtime在1s内,则该交易满足快速分流的条件,然后根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务快速交易平台区,否则走有事务快速交易平台区。
25.步骤2.3.3:若该交易不满足高频分流和快速分流的模式,则走慢速分流的模式,然后根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务慢速交易平台区,否则走有事务慢速交易平台区。
26.进一步,所述步骤3的具体步骤为:
27.步骤3.1:基于监控统计守护进程statmonpro,获取高频、快速和慢速交易平台区下应用平台pltapp对应的消息队列的深度;
28.步骤3.2若消息队列的深度大于等于给定的阈值,监控统计信息区tolmsgmap中的智能分流进程intelshutpro会更新该应用平台pltapp的应用状态,更新为p

暂停受理状态,否则更新为s

正常受理状态,故获取应用平台pltapp的应用状态,通过交易平台区标识码plt_id为key值,到对应的缓存map中找到对应的交易平台区的应用状态plt_status;
29.步骤3.2:基于各交易平台区中应用平台pltapp的应用状态为s

正常受理状态,应用平台pltapp接收交易,同时转到步骤3.2进行应用状态更新,否则拒绝受理交易,并转到步骤4。
30.进一步,所述步骤4的具体步骤为:
31.步骤4.1:将交易路由到应用平台组group内中最低优先级的应用平台pltapp2;
32.步骤4.2:若应用平台pltapp2的消息队列的深度也超过阀值,则直接拒绝受理;
33.步骤4.3:若应用平台pltapp2的消息队列的深度小于阀值,则临时变更应用平台pltapp2为应用平台组group内最小优先级平台,并接受交易。
34.进一步,所述步骤4是通过分发机制转发到对应的应用平台上,即实现交易分发前的最终的智能分流。
35.本发明同现有技术相比,其有益效果表现在:
36.一、本发明基于交易时间(交易平均响应时间)的分流,实现快慢交易平台的分发,保证慢速交易不影响快速交易;
37.二、本发明基于交易频率(同一交易码平均响应时间)的分流,实现高频和低频交易平台的分发,实现高频交易的快速响应(即耗时越短,排名越靠前,优先定义高频,其次才根据响应时间定义快速和慢速)还可保证了整个交易系统的稳定性;
38.三、本发明通过合理的流控规则,可以增加银行卡业务平台单位时间处理的交易量,提高银行卡业务平台的处理能力,在测试环境下,模拟某一接口服务异常,耗时较长的情况,及时的分发到慢速平台,导致正常慢速交易被流控,快速交易正常处理,银行卡业务平台的交易量处理能力基本能达到正常的tps的2倍。
附图说明
39.图1为本发明的流程示意图。
具体实施方式
40.下面将结合附图及具体实施方式对本发明作进一步的描述。
41.实施例
42.一种基于tuxedo的智能分流方法:
43.步骤1:tuxedo中间件是通过域连接的方式进行数据通讯,其接收到的数据存入数据缓冲区,即数据连接区data_view(缓冲区是tuxedo中间件自带的缓冲区,就是交易的报文以string或者carry方式存在内存中),,tuxedo中间件的智能分流进程lntelshutpro接入数据连接区data_view(tuxedo中间件会将交易收到的请求报文放到数据连接区,以fml或string的形式存在),接入数据后,银行卡业务平台收到交易请求后通过交易场景码相关信息,从银行卡业务平台的平台交易码配置表中加载相关交易配置信息,其中,银行卡业务平台包含借记卡系统、贷记卡系统、监控统计信息区tolmsgmap、监控统计守护进程statmonpro、交易分发平台和缓存map,借记卡系统和贷记卡系统包括收到的交易,;
44.具体步骤为:
45.步骤1.1:tuxedo中间件通讯接收到的数据存入数据缓冲区,存入后,将tuxedo中间件的智能分流进程lntelshutpro连接数据连接区data_view,银行卡业务平台收到交易请求后,从银行卡业务平台获取交易的报文交易信息msginfo,即报文,报文包括报文头。
46.步骤1.2:根据交易的报文头中约定的报文头格式,解析出交易的报文头中的渠道交易事务标识channel_id、交易码tran_code字段和交易标识tran_flag,交易事务标识channel_id为1表示有事务,为0表示无事务,交易标识tran_flag为1表示已定义走高频,为2表示已定义走快速,为空值表示未定义,走慢速;
47.步骤1.3:根据解析出来的渠道交易事务标识channel_id和交易码tran_code字段,查找银行卡业务平台的缓存map的交易码表plttrscode获取的交易配置信息。
48.步骤2:基于交易码tran_code字段连接监控统计信息区tolmsgmap,根据监控统计信息区tolmsgmap中的统计信息中的交易平均响应时间valtime、交易事务标识channel_id和交易标识tran_flag确定交易分发平台是走高频、快速或慢速交易平台区,其中,高频为当日同一交易交易成功的平均耗时时间排名前十名的,快速为交易成功响应平均时间valtime在1s内的,慢速为交易响应平均时间valtime大于1s的,交易分发平台基于tuxedo中间件实现交易的过滤和分发,统计信息包括交易成功完成后,银行卡业务平台加载到缓存map中的信息,缓存map中key值为交易码tran_code,key对应的value值包括每笔交易的总交易数量toltimes和交易响应时间valtime,当同一交易码tran_code的总交易数量toltimes达到50时,则统计算出交易码tran_code对应的平均响应时间valtime,其中,高频交易平台区包括有事务高频交易平台区和无事务高频交易平台区,快速交易平台区包括有事务快速交易平台区和无事务快速交易平台区,慢速交易平台区包括有事务慢速交易平台区和无事务慢速交易平台区,有事务高频交易平台区、无事务高频交易平台区、有事务快速交易平台区、无事务快速交易平台区、有事务慢速交易平台区和无事务慢速交易平台区自定义有应用平台组group,应用平台组group包括优先级顺序由大到小的应用平台pltapp,应用平台pltapp1和应用平台pltapp2,应用平台组group中的各应用平台为现有的;
49.具体步骤如下:
50.步骤2.1:基于交易码tran_code字段连接监控统计信息区tolmsgmap,连接后,根
据交易的报文头中的交易码tran_code字段,查找缓存map,若查到,以交易码tran_code为key值,查找缓存map中对应的value值为list1,该list1中保存保存有该交易码的平均响应时间valtime和统计的总交易数量toltimes,当总交易数量toltimes toltimes>=50,转到步骤2.3,当总交易数量toltimes toltimes<50,转到步骤2.4,若未查到,转到步骤2.2;
51.步骤2.2:交易分发平台走慢速交易模式,再根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务慢速交易平台区,否则走有事务慢速交易平台区。
52.步骤2.3:根据平均响应时间valtime和交易配置信息中的交易事务标识channel_id确定交易分发平台走的交易平台区;
53.具体步骤为:
54.步骤2.3.1:首先根据sort方式将监控统计信息区tolmsgmap中根据交易码tran_code对应的平均响应时间进行排名,若该交易码tran_code的排名在前十,则默认走高频交易平台区,然后根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务高频交易平台区,否则走有事务高频交易平台区;
55.步骤2.3.2:若该交易码tran_code的排名不在前十,则不满足高频交易的分流条件,降级为快速分流的条件判断处理,即该交易的平均响应时间valtime在1s内,则该交易满足快速分流的条件,然后根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务快速交易平台区,否则走有事务快速交易平台区。
56.步骤2.3.3:若该交易不满足高频分流和快速分流的模式,则走慢速分流的模式,然后根据交易配置信息中的交易事务标识channel_id,判断是否有交易事务,若无,则交易分发平台走无事务慢速交易平台区,否则走有事务慢速交易平台区。
57.步骤2.4:根据交易配置信息中交易标识tran_flag和交易事务标识channel_id确定交易分发平台走的交易平台区。步骤3:基于监控统计守护进程statmonpro,获取高频、快速和慢速每个交易平台区中应用平台pltapp的应用状态,应用状态为正常状态,根据流控规则,对交易做出对应处理,否则转到步骤4。
58.具体步骤如下
59.步骤3.1:监控统计守护进程statmonpro会时刻监控每个应用平台的关联的消息队列的深度;。
60.步骤3.2:若消息队列的深度大于等于给定的阈值,监控统计信息区tolmsgmap中的智能分流进程intelshutpro会更新该应用平台pltapp的应用状态,更新为p

暂停受理状态,否则更新为s

正常受理状态,故获取应用平台pltapp的应用状态,通过交易平台区标识码plt_id为key值,到对应的缓存map中找到对应的交易平台区的应用状态plt_status,即当其关联的消息队列的深度大于等于阀值m,则该监控统计守护进程statmonpro会将该应用平台pltapp的应用状态修改成p

暂停受理时(其对应为应用平台的状态表plt_status中的status字段),若当其关联的消息队列的深度小于阀值m,则将该应用平台pltapp的应用状态改成s

正常状态;
61.步骤3.3:基于各交易平台区中应用平台pltapp的应用状态为s

正常受理状态,应用平台pltapp接收交易,同时转到步骤3.2进行应用状态更新,否则拒绝受理交易,并转到
步骤4。
62.步骤4:根据组内平台优先级规则,判断最终交易的接入应用平台。
63.具体步骤为:
64.步骤4.1:将交易路由到应用平台组group内中最低优先级的应用平台pltapp2;
65.步骤4.2:若应用平台pltapp2的消息队列的深度也超过阀值,则直接拒绝受理;
66.步骤4.3:若应用平台pltapp2的消息队列的深度小于阀值,则临时变更应用平台pltapp2为应用平台组group内最小优先级平台,并接受交易。
67.以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1