一种交易型高并发服务性能解决方法及系统与流程

文档序号:27830248发布日期:2021-12-07 22:04阅读:199来源:国知局
一种交易型高并发服务性能解决方法及系统与流程

1.本发明涉及电信运营商业务支撑技术领域,尤其是涉及一种交易型高并发服务性能解决方法及系统。


背景技术:

2.随着电信运营商构建多租户、技术中台、容器化部署、微服务化、全面云化的架构演进,中心能力层、数据层深度解耦,在提升系统快速响应、灵活扩展等优势基础上,也因为中心服务能力解耦后增加了各系统的相互交互频次及复杂度,对业务交易性服务性能、用户体验性、用户满意度、业务推广带来新的挑战。
3.应对各系统的相互交互频次增加的传统方法是增加应用主机数量,进而增加服务数量,该解决方法在一定程度上能够提升整体的并发数、提高业务的处理能力,但无法从根本上解决交易性服务解耦后的时效性问题,交易队列等待在一定程度成为系统的短板。


技术实现要素:

4.针对上述问题,本发明提供了一种交易型高并发服务性能解决方法及系统,提升电信运营过程中典型服务解耦后的服务交易性能,降低应用及服务队列等待,避免因为交易效率低下触发的应用交易队列阻塞、用户体验差,提升服务交易时效性,提升企业运营水平。
5.为实现上述目的,本发明提供了一种交易型高并发服务性能解决方法,包括:
6.将所有组合服务中的服务能力分别下沉为规则;
7.建立统一代码表管理所有所述规则;
8.根据当前组合服务在所述统一代码表中获取所有需要的规则清单;
9.根据所述规则清单创建线程池;
10.多线程分别执行所述规则清单中的校验任务,获取校验结果。
11.作为本发明的进一步改进,对所述规则进行分类,规则类型包括服务规则、脚本规则、sql规则和数据规则。
12.作为本发明的进一步改进,通过在所述统一代码表中增加和删除所述规则控制各所述规则的上下线。
13.作为本发明的进一步改进,所述根据所述规则清单创建线程池,包括:
14.设置线程池输入参,包括所述规则清单、并发线程数、实现方法类;
15.通过invoke反射方式执行方法;
16.设置线程池状态为shutdown,停止接收外部submit任务,等待执行任务;
17.通过awaittermination设置线程池的等待时长。
18.作为本发明的进一步改进,所述多线程分别执行所述规则清单中的校验任务,获取校验结果;包括:
19.多线程分别执行不同类型的所述规则;
20.服务规则校验过程,设置请求服务报文头路由为按照号码路由,通过封装的rpc调用方法完成服务跨产品域远程调用;
21.脚本规则校验过程,通过统一封装接口服务方式进行请求,完成不同应用工程的规则配置化;
22.sql规则校验过程,通过封装动态sql执行接口服务,统一进行动态sql的拼装参数模板化拼装。
23.本发明还提供了一种交易型高并发服务性能解决系统,包括:规则配置模块、规则管理模块、规则清单获取模块和任务处理模块;
24.所述规则配置模块,用于:
25.将所有组合服务中的服务能力分别下沉为规则;
26.所述规则管理模块,用于:
27.建立统一代码表管理所有所述规则;
28.所述规则清单获取模块,用于:
29.根据当前组合服务在所述统一代码表中获取所有需要的规则清单;
30.所述任务处理模块,用于:
31.根据所述规则清单创建线程池;
32.多线程分别执行所述规则清单中的校验任务,获取校验结果。
33.作为本发明的进一步改进,对所述规则进行分类,规则类型包括服务规则、脚本规则、sql规则和数据规则。
34.作为本发明的进一步改进,通过在所述统一代码表中增加和删除所述规则控制各所述规则的上下线管控。
35.作为本发明的进一步改进,所述根据所述规则清单创建线程池,包括:
36.设置线程池输入参,包括所述规则清单、并发线程数、实现方法类;
37.通过invoke反射方式执行方法;
38.设置线程池状态为shutdown,停止接收外部submit任务,等待执行任务;
39.通过awaittermination设置线程池的等待时长。
40.作为本发明的进一步改进,所述多线程分别执行所述规则清单中的校验任务,获取校验结果;包括:
41.多线程分别执行不同类型的所述规则;
42.服务规则校验过程,设置请求服务报文头路由为按照号码路由,通过封装的rpc调用方法跨产品域;
43.脚本规则校验过程,通过统一封装接口服务方式进行请求,完成不同应用工程的规则配置化;
44.sql规则校验过程,通过封装动态sql执行接口服务,统一进行动态sql的拼装参数模板化拼装。
45.与现有技术相比,本发明的有益效果为:
46.本发明通过将能力下沉为规则,将组合服务中的逻辑和能力的分离,使得业务的处理不需要按照逻辑依次串行处理,进一步的,设置线程池,使组合服务中下沉出的规则可实现多线程并行处理,大大提高了业务处理能力。
47.本发明对线程池进行设置,包括设置线程池为shutdown,停止接收外部submit任务,等待执行任务,使线程快速进入业务处理;通过awaittermination进行线程池等待控制,待任务全部执行完成或超时后释放线程,便于快速处理下一任务,实现了组合服务消耗时间的大幅度优化。
48.本发明的并发服务性能解决方法,提高了服务性能,提升了用户感知、对降低用户投诉率,提高用户满意度具有积极效果。
附图说明
49.图1为本发明一种实施例公开的交易型高并发服务性能解决方法流程图;
50.图2为本发明一种实施例公开的交易型高并发服务性能解决系统示意图;
51.图3为本发明一种实施例公开的原有的微服务化后组合服务流程示意图;
52.图4为本发明一种实施例公开的交易型高并发服务性能解决方法的应用示意图。
具体实施方式
53.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.下面结合附图对本发明做进一步的详细描述:
55.如图1所示,本发明提供的一种交易型高并发服务性能解决方法,包括:
56.s1、将所有组合服务中的服务能力分别下沉为规则;
57.其中,
58.通过表ur_unicodedef_dict将服务能力下沉为规则;
59.s2、建立统一代码表管理所有规则;
60.其中,
61.对规则进行分类,规则类型包括服务规则、脚本规则、sql规则和数据规则;
62.统一代码表可灵活控制规则类型,规则数量及扩展规则分类;
63.通过在统一代码表中增加和删除规则控制各规则的上下线。
64.s3、根据当前组合服务在统一代码表中获取所有需要的规则清单;
65.其中,
66.一次性在统一代码表中获取电信渠道(包括营业前台和多种电子渠道)请求交易的所有校验规则的规则清单。
67.s4、根据规则清单创建线程池;
68.其中,包括:
69.创建作业:设置线程池输入参,包括规则清单list、并发线程数、实现方法类;
70.outparam=pubfork.task(inpubforklist,10,1,new transphonechecktaskjl());
71.创建线程池:
72.forkjoinpool forkjoinpool=new forkjoinpool(threadnum);
73.方法初始化:通过invoke反射方式执行方法;
74.list<object>ret=forkjoinpool.invoke(new pubforktask(testlist,count,pubforktask));
75.设置线程池状态为shutdown,停止接收外部submit任务,等待执行任务;
76.通过awaittermination设置线程池的等待时长,如设置等待时长为600ms,待任务全部执行完成或超时后释放线程。
77.s5、多线程分别执行规则清单中的校验任务,获取校验结果。
78.其中,包括:
79.多线程分别执行不同类型的规则;
80.服务规则校验过程,设置请求服务报文头路由为按照号码路由,通过封装的rpc调用方法跨产品域;
81.脚本规则校验过程,通过统一封装接口服务方式进行请求,完成不同应用工程的规则配置化;
82.sql规则校验过程,通过封装动态sql执行接口服务,统一进行动态sql的拼装参数模板化拼装。
83.本发明中,获取到校验结果,校验失败时,将多线程返回的校验结果信息进行参数化转换后反馈给营业前台或电子渠道客户端。
84.如图2所示,本发明还提供了一种交易型高并发解决系统,包括:规则配置模块、规则管理模块、规则清单获取模块和任务处理模块;
85.规则配置模块,用于:
86.将所有组合服务中的服务能力分别下沉为规则;
87.规则管理模块,用于:
88.建立统一代码表管理所有规则;
89.其中,
90.对规则进行分类,规则类型包括服务规则、脚本规则、sql规则和数据规则。
91.通过在统一代码表中增加和删除规则控制各规则的上下线。
92.规则清单获取模块,用于:
93.根据当前组合服务在统一代码表中获取所有需要的规则清单;
94.任务处理模块,用于:
95.根据规则清单创建线程池;
96.其中,包括:
97.设置线程池输入参,包括规则清单、并发线程数(如:10并发)、实现方法类;
98.通过invoke反射方式执行方法;
99.设置线程池状态为shutdown,停止接收外部submit任务,等待执行任务;
100.通过awaittermination设置线程池的等待时长,如设置等待时长为600ms,待任务全部执行完成或超时后释放线程。
101.多线程分别执行规则清单中的校验任务,获取校验结果;
102.其中,包括:
103.多线程分别执行不同类型的规则;
104.服务规则校验过程,设置请求服务报文头路由为按照号码路由,通过封装的rpc调用方法跨产品域;
105.脚本规则校验过程,通过统一封装接口服务方式进行请求,完成不同应用工程的规则配置化;
106.sql规则校验过程,通过封装动态sql执行接口服务,统一进行动态sql的拼装参数模板化拼装;
107.获取到校验结果,校验失败时,将多线程返回的校验结果信息进行参数化转换后反馈给营业前台或电子渠道客户端。
108.如图3所示为原组合服务的处理流程示意图,组合服务需要依次调用多个原子服务,因此,组合服务在结构化串行下效率低下,字儿没干原子服务均需要与应用数据中心交互,对应用数据中心的交互性能存在较高要求;
109.如图4所示,为配置本发明将服务下沉为规则后,通过各类规则多线程并行执行,且根据规则一次性在应用数据中心获取数据,减少了应用数据中心的交互压力。
110.本发明的优点:
111.(1)通过将能力下沉为规则,将组合服务中的逻辑和能力的分离,使得业务的处理不需要按照逻辑依次串行处理,进一步的,设置线程池,使组合服务中下沉出的规则可实现多线程并行处理,大大提高了业务处理能力。
112.(2)对线程池进行设置,包括设置线程池为shutdown,停止接收外部submit任务,等待执行任务,使线程快速进入业务处理;通过awaittermination进行线程池等待控制,待任务全部执行完成或超时后释放线程,便于快速处理下一任务,实现了组合服务消耗时间的大幅度优化。
113.(3)提高了服务性能,提升了用户感知、对降低用户投诉率,提高用户满意度具有积极效果。
114.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1