本发明属于服务器,具体涉及一种集群分布式系统的业务处理方法、装置及应用。
背景技术:
1、服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机如pc机、智能手机、atm等终端甚至是火车系统等大型设备提供计算或者应用服务。服务器具有高速的cpu运算能力、长时间的可靠运行、强大的i/o外部数据吞吐能力以及更好的扩展性。
2、根据服务器所提供的服务,一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。服务器作为电子设备,其内部的结构十分的复杂,但与普通的计算机内部结构相差不大,如:cpu、硬盘、内存,系统、系统总线等。
3、现有技术中,许多业务的处理依赖单一的服务器,处理速度较慢,同时容易出现服务器达到性能瓶颈的情况,进而导致无法满足业务处理任务。
4、例如,在测试场景中,微服务系统转测封板完成后,根据线上客户需求进行性能测试,备份线上数据库数据,从而在内部搭建仿真测试环境。在较为复杂的测试场景中,若仅使用单台测试服务器,会因为单台测试服务器硬件资源有限,无法满足线上测试系统峰值点,从而不能测试出对应的性能瓶颈,在遇到对应的测试场景时,会无法实现相应的测试功能。
技术实现思路
1、为了克服上述现有技术的缺陷,本发明提出了一种集群分布式系统的业务处理方法,系统包括级联的上层模块、中转器和下层模块,所述方法包括:
2、在所述上层模块接到任务后,将所述任务划分为若干个子任务;
3、使所述上层模块将划分的子任务通过所述中转器下发至所述下层模块;所述下层模块包括多个用于处理子任务的服务器;
4、通过所述下层模块使多个服务器分别处理不同的子任务;
5、在所有服务器处理完成后,使所述下层模块将所有服务器的处理结果汇总,并将汇总后的所述处理结果通过所述中转器上报至所述上层模块。
6、优选地,所述中转器与多个所述下层模块连接,所述中转器可根据各所述下层模块上报汇总后的所述处理结果的历史数据,得到测试数据,并基于所述测试数据获取各所述下层模块的性能,所述“使所述上层模块将划分的子任务通过中转器下发至下层模块”包括:
7、使所述中转器在接收到所述上层模块发送的子任务后,计算得到所述子任务的复杂度,并基于所述子任务的复杂度和各所述下层模块的性能,将所述子任务转发至可达到最高性能的所述下层模块。
8、进一步地,所述方法还包括:
9、若可达到最高性能的所述下层模块不为唯一,将所述子任务转发至可达到最高性能且包含的服务器数量最少的所述下层模块。
10、优选地,所述“通过所述下层模块使多个服务器分别处理不同的子任务”包括:
11、预设特定字段,使接收到子任务的所述下层模块检索所述子任务中是否包含特定字段;
12、若所述子任务中包含所述特定字段,使所述下层模块分配多个服务器同时处理该子任务;
13、在所有分配于处理所述子任务的服务器处理完成后,比对各处理器的处理结果,并选择最多相同的处理结果作为所述子任务的最终处理结果。
14、进一步地,所述下层模块分配多个服务器同时重复处理所述子任务,各服务器重复处理所述子任务的次数由用户预设。
15、具体地,所述方法还包括:
16、在所有分配于处理所述子任务的服务器处理完成后,分别将各处理器的处理结果中最多相同的处理结果作为各处理器的子处理结果,并选择最多相同的子处理结果作为所述子任务的最终处理结果;
17、或,在所有分配于处理所述子任务的服务器处理完成后,选择各处理器的所有处理结果中最多相同的处理结果作为所述子任务的最终处理结果。
18、优选地,所述方法还包括:
19、根据测试需求,调整所述上层模块的并发数据量和线程数,以将测试任务划分为测试子任务后通过所述中转器下发至所述下层模块;
20、通过所述上层模块接收所述中转器上报的测试结果;所述测试结果是通过所述下层模块使多个服务器分别处理不同的所述测试子任务,并使所述下层模块将所有服务器的处理结果汇总得到的;
21、对所述测试结果进行分析,并基于分析结果优化所述集群分布式系统。
22、进一步地,所述通过所述下层模块使多个服务器分别处理不同的所述测试子任务包括:
23、通过所述下层模块使用多线程或异步请求方式实现并发发送请求,使多个服务器分别处理不同的所述测试子任务
24、本发明还提出了一种集群分布式系统的业务处理装置,用于实现如前文所述的集群分布式系统的业务处理方法,所述装置包括:
25、划分模块,用于在上层模块接到任务后,将所述任务划分为若干个子任务;
26、下发模块,用于使所述上层模块将划分的子任务通过中转器下发至下层模块;所述下层模块包括多个用于处理子任务的服务器;
27、分包模块,用于通过所述下层模块使多个服务器分别处理不同的子任务;
28、汇总模块,用于在所有服务器处理完成后,使所述下层模块将所有服务器的处理结果汇总;
29、上报模块,用于将汇总后的所述处理结果通过所述中转器上报至所述上层模块。
30、本发明还提出了一种集群分布式系统,用于应用如前文所述的集群分布式系统的业务处理方法,所述系统包括级联的上层模块、中转器和下层模块,所述下层模块包括多个用于处理业务的服务器。
31、本发明至少具有以下有益效果:
32、本发明提出的方法通过集群分布式技术,将一个业务划分为多个子任务并分配给多个服务器进行处理,使业务处理不依赖于单一的服务器,加快了业务处理的速度,解决了业务处理过程中容易达到服务器性能瓶颈的问题;
33、优选地,本发明提出的方法在测试场景中可利用测试服务器集群模拟线上真实的业务场景,进而分析得出服务器潜在的性能瓶颈,且同时可以验证高并发服务器场景的性能,并基于测试结果进行相应的优化,解决集群分布式系统的性能瓶颈,确保集群分布式系统能够满足未来的业务需求;
34、进一步地,本发明提出的方法可同时应用多个服务器分布式集群,为相应的业务分配最合适的集群进行处理,并可使服务器多次处理用户指定的特定任务以获得高准确度的处理结果。
35、以此,本发明提供了一种集群分布式系统的业务处理方法、装置及应用,本发明提出的方法采用了集群分布式技术,使业务处理不依赖于单一的服务器,并通过多个服务器形成足够的并发压力,在测试场景中可利用测试服务器集群模拟线上真实的业务场景,进而分析得出服务器潜在的性能瓶颈。
1.一种集群分布式系统的业务处理方法,其特征在于,系统包括级联的上层模块、中转器和下层模块,所述方法包括:
2.根据权利要求1所述的集群分布式系统的业务处理方法,其特征在于,所述中转器与多个所述下层模块连接,所述中转器可根据各所述下层模块上报汇总后的所述处理结果的历史数据,得到测试数据,并基于所述测试数据获取各所述下层模块的性能,所述“使所述上层模块将划分的子任务通过中转器下发至下层模块”包括:
3.根据权利要求2所述的集群分布式系统的业务处理方法,其特征在于,所述方法还包括:
4.根据权利要求1-3任一项所述的集群分布式系统的业务处理方法,其特征在于,所述“通过所述下层模块使多个服务器分别处理不同的子任务”包括:
5.根据权利要求4所述的集群分布式系统的业务处理方法,其特征在于,所述下层模块分配多个服务器同时重复处理所述子任务,各服务器重复处理所述子任务的次数由用户预设。
6.根据权利要求5所述的集群分布式系统的业务处理方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的集群分布式系统的业务处理方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的集群分布式系统的业务处理方法,其特征在于,所述通过所述下层模块使多个服务器分别处理不同的所述测试子任务包括:
9.一种集群分布式系统的业务处理装置,其特征在于,用于实现如权利要求1-8任一项所述的方法,所述装置包括:
10.一种集群分布式系统,其特征在于,用于应用如权利要求1-6任一项所述的方法,所述系统包括级联的上层模块、中转器和下层模块,所述下层模块包括多个用于处理业务的服务器。