本文作者:kaifamei

数据处理方法、平台、终端及介质与流程

更新时间:2025-12-19 17:16:03 0条评论

数据处理方法、平台、终端及介质与流程



1.本发明涉及计算机技术领域,尤其涉及一种数据处理方法、平台、终端及介质。


背景技术:



2.随着互联网业务的爆炸性增长,业务系统承受的分布式压力越来越大,验证其性能,提前发现性能问题成为系统上线前必不可少的关键环节。传统的单机压测和少量机器联合压测的性能测试方式均受限于压力机资源,存在发压端性能瓶颈,分布式压测平台作为替代方式解决了机器、工具、数据库单点性能瓶颈问题。相比单机压测,分布式压测场景下,压测脚本使用的参数化文件如会话id、订单号、流水号等,存在数据冲突、重复数据问题,用户处理有如下痛点:
3.1)消耗型数据问题,对于参数化中的数据只使用一次需求,如退款原流水号,要求使用人员每次压测后需要标记每台机器已使用的数据,然后清理掉原文件中的数据,效率低成本高;
4.2)数据冲突问题,当前读文件组件以轮询方式多线程交替读,不可避免存在有的线程执行较快,从头开始读文件导致和前面的线程读到的数据行冲突,因此用户对于数据有按线程分块独占使用的需求;
5.3)现有参数化数据文件拆分、合并,无法适配解决前面2点。


技术实现要素:



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.生成模块,用于将各个所述压力机中生成的所述新文件合并生成新参数化文件。
36.此外,为实现上述目的,本发明还提供一种终端,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述的数据处理方法的步骤。
37.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
38.本发明提出的数据处理方法、平台、终端与介质;所述数据处理方法应用于分布式压测平台。本发明首先通过读入压测脚本及压测脚本对应的参数化文件,在确定参数化文件进行线上压测时,按照配置的压力机数对参数化文件进行分割,生成对应的多个分割文件;将多个分割文件分配至各个压力机进行压测,并在压测的过程中标记分割文件中已读取的文件行数;在分割文件压测后,通过各个压力机剔除已读取的分割文件中的消耗性数据,获得对应的剩余数据,并将剩余数据生成新文件;将各个压力机中生成的新文件合并生成新参数化文件,从而解决在分布式压测下脚本使用的参数化文件数据重复冲突问题,满足消耗型参数数据处理需求,提高性能测试效率。
附图说明
39.图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
40.图2为本发明数据处理方法第一实施例的流程示意图;
41.图3为本发明数据处理方法分布式压测平台的基本架构示意图;
42.图4为本发明数据处理方法参数化文件的压测及调试的流程示意图;
43.图5为本发明数据处理方法参数化文件的压测前后的处理示意图;
44.图6为本发明数据处理方法第一实施例的一子流程示意图;
45.图7为本发明数据处理方法第二实施例的流程示意图;
46.图8为本发明数据处理方法第三实施例的流程示意图;
47.图9为本发明数据处理方法第四实施例的流程示意图;
48.图10为本发明数据处理方法线程独立读开关示意图;
49.图11为本发明数据处理方法第五实施例的流程示意图;
50.图12为本发明数据处理装置第一实施例的功能模块示意图。
51.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
52.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
53.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
54.本发明实施例终端设备可以是移动终端或服务器设备。
55.如图1所示,该设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
56.本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
57.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
58.其中,操作系统是管理和控制设备与软件资源的程序,支持网络通信模块、用户接口模块、数据处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
59.在图1所示的终端设备中,所述终端设备通过处理器1001调用存储器1005中存储的数据处理程序,并执行下述数据处理方法各个实施例中的操作。
60.基于上述硬件结构,提出本发明数据处理方法实施例。
61.参照图2,图2为本发明数据处理方法第一实施例的流程示意图,所述数据处理方法包括:
62.步骤s10,读入压测脚本及所述压测脚本对应的参数化文件,在确定所述参数化文件进行线上压测时,按照配置的压力机数对所述参数化文件进行分割,生成对应的多个分割文件;
63.步骤s20,将所述多个分割文件分配至各个压力机进行压测,并在压测的过程中标记所述分割文件中已读取的文件行数;
64.步骤s30,通过各个所述压力机剔除已读取的所述分割文件中的消耗性数据,获得对应的剩余数据,并将所述剩余数据生成新文件;
65.步骤s40,将各个所述压力机中生成的所述新文件合并生成新参数化文件。
66.本实施例通过读入压测脚本及压测脚本对应的参数化文件,在确定参数化文件进行线上压测时,按照配置的压力机数对参数化文件进行分割,生成对应的多个分割文件;将多个分割文件分配至各个压力机进行压测,并在压测的过程中标记分割文件中已读取的文件行数;在分割文件压测后,通过各个压力机剔除已读取的分割文件中的消耗性数据,获得对应的剩余数据,并将剩余数据生成新文件;将各个压力机中生成的新文件合并生成新参数化文件;从而解决在分布式压测下脚本使用的参数化文件数据重复冲突问题,满足消耗型参数数据处理需求,提高性能测试效率。
67.以下将对各个步骤进行详细说明:
68.步骤s10,读入压测脚本及所述压测脚本对应的参数化文件,在确定所述参数化文件进行线上压测时,按照配置的压力机数对所述参数化文件进行分割,生成对应的多个分
割文件。
69.在本实施例中,数据处理方法应用于分布式压测平台;针对消耗型数据需求的处理方案,在分布式压测环境中,对一个压测脚本涉及的所有的参数化文件,压测前分别读取指定脚本中的所有参数化文件,分别计算分块大小,然后平均拆分,分发到本次压测所关联的压力机;压测结束后各压力机根据用户配置需求,确认是否为消耗型数据,如是则删除已使用数据行,重新生成新文件,最后自动将各压力机的文件合并成新文件替换旧文件,所有使用的参数化文件重复这一过程。因此,本发明数据处理方法用以解决参数化文件数据重复、冲突问题和消耗型数据需求(数据只使用一次),替换用户手工操作、数据整理的工作。参照图3,图3为分布式压测平台的基本架构示意图;分布式压测平台的基本架构由主控机压测核心模块(以下简称“主控”)控制管理一个或多个压力机。
70.通过用户在分布式压测平台上上传压测脚本(又称为“jmx文件”)及压测脚本对应的参数化文件,并在判断对该参数化文件进行线上调试还是线上压测。
71.参照图4,图4为参数化文件的压测及调试的流程示意图;在确定该参数化文件进行线上压测时,也即在对参数源文件进行压测前,通过压测核心模块按照配置的压力机数对该参数化文件进行分割,该参数化文件分割后生成对应的多个分割文件,并标记文件顺序,以供各个压力机专用;参照图5,图5为参数化文件的压测前后的处理示意图(左图)。
72.其中,压测是指考察被测系统所能承受的最大负荷并帮助出该被测系统瓶颈所在;同时为了被测系统在线上的处理能力和稳定性维持在一个标准范围内。
73.步骤s20,将所述多个分割文件分配至各个压力机进行压测,并在压测的过程中标记所述分割文件中已读取的文件行数。
74.在本实施例中,通过压测核心模块将压测脚本和多个分割文件分配到各个压力机中以进行压测;在压测启动后,通过各个压力机调用压测脚本和被分配到的分割文件执行压测处理,并在压测的过程中标记分割文件中已读取的文件行数;使得在压测结束后查询各个分割文件的已读取的文件行数标志,以对分割文件进行进一步的处理。其中,通过各个压力机调用压测脚本和被分配到的分割文件执行压测处理,解决了现有技术在压测过程中出现的多个压力机使用相同的参数化文件导致严重的数据冲突、重复问题。
75.步骤s30,通过各个所述压力机剔除已读取的所述分割文件中的消耗性数据,获得对应的剩余数据,并将所述剩余数据生成新文件。
76.在本实施例中,在各个压力机中被分配到的分割文件执行压测处理后,根据上述的分割文件中已读取的文件行数,通过各个压力机剔除已读取的分割文件中的消耗型数据,以获得各个分割文件对应的剩余数据,并通过各个压力机将该剩余数据生成新文件。其中,消耗性数据指的是参数化文件中的数据只使用一次的数据;如,用户号、订单号、退款原流水号等来源于文件的数据。从而在压测结束后自动清除已使用的消耗性数据,无需使用人员每次压测后手动清理已使用的消耗性数据,提高了数据处理效率及降低人工成本。
77.步骤s40,将各个所述压力机中生成的所述新文件合并生成新参数化文件。
78.在本实施例中,参照图5,图5为参数化文件的压测前后的处理示意图(右图);在各个压力机生成新文件后,通过压测核心模块搜集各个压力机中生成的新文件,并将各个压力机中生成的新文件按照之前标记的文件顺序合并生成新参数化文件,使该新参数化文件尽量贴近原来的参数化文件。
79.进一步地,步骤s40包括:通过压测核心模块搜集各个所述压力机中生成的所述新文件,并遍历所述各个所述压力机中生成的所述新文件,将每一新文件按照预设顺序拼接成对应的新参数化文件。
80.在本实施例中,在各个压力机将剩余数据生成新文件后,通过压测核心模块搜集各个压力机中生成的新文件,并遍历各个压力机中生成的新文件,之后将每一新文件按照之前标记的文件顺序拼接生成对应的新参数化文件,使该新参数化文件尽量贴近原来的参数化文件;从而确保新参数化文件的数据顺序和参数化文件中的数据顺序一致。
81.进一步地,参照图6,步骤s40之后,所述数据处理方法还包括:
82.步骤a10,通过压测核心模块将所述参数化文件替换为所述新参数化文件;
83.步骤a20,响应于针对所述新参数化文件的压测操作,通过所述压测模块按照配置的压力机数对所述新参数化文件进行分割,以获得对应的多个分块文件,并将所述多个分块文件分配至各个压力机以进行压测,并在压测的过程中标记所述分块文件中已读取的文件行数。
84.在本实施例中,在压测核心模块重新生成一份新参数化文件后,将分布式压测平台中的参数化文件替换为新参数化文件;在检测到针对新参数化文件的压测操作时,通过压测模块按照配置的压力机数对新参数化文件进行分割,以获得新参数化文件对应的多个分块文件,并将多个分块文件分配至各个压力机以进行压测,并在压测的过程中标记分块文件中已读取的文件行数;从而在分布式多压力机环境下,按压力机配置策略,把新参数化文件拆分成多个分块文件,以供各压力机专用;并在压测结束后自动清除已使用的消耗性数据,进而保障了参数化文件可反复使用。
85.本实施例通过读入压测脚本及压测脚本对应的参数化文件,在确定参数化文件进行线上压测时,按照配置的压力机数对参数化文件进行分割,生成对应的多个分割文件;将多个分割文件分配至各个压力机进行压测,并在压测的过程中标记分割文件中已读取的文件行数;在分割文件压测后,通过各个压力机剔除已读取的分割文件中的消耗性数据,获得对应的剩余数据,并将剩余数据生成新文件;将各个压力机中生成的新文件合并生成新参数化文件;从而解决在分布式压测下脚本使用的参数化文件数据重复冲突问题,满足消耗型参数数据处理需求,提高性能测试效率。
86.进一步地,基于本发明数据处理方法第一实施例,提出本发明数据处理方法第二实施例。
87.数据处理方法的第二实施例与数据处理方法的第一实施例的区别在于本实施例是对步骤s10,读入压测脚本及所述压测脚本对应的参数化文件,在确定所述参数化文件进行线上压测时,按照配置的压力机数对所述参数化文件进行分割,生成对应的多个分割文件的细化,参照图7,该步骤具体包括:
88.步骤s11,读入压测脚本及所述压测脚本对应的参数化文件,并选择对所述参数化文件进行线上调试或压测;
89.步骤s12,在确定所述参数化文件进行线上压测时,通过压测核心模块读入所述参数化文件,并基于压力机配置机制将所述参数化文件按配置的压力机数拆分成多个分割文件,以及标记所述多个分割文件顺序。
90.在本实施例中,通过读入压测脚本及压测脚本对应的参数化文件,并选择对参数
化文件进行线上调试或压测;在确定参数化文件进行线上压测时,通过压测核心模块读入参数化文件,并基于压力机配置机制将参数化文件按配置的压力机数拆分成多个分割文件,以及标记多个分割文件顺序。通过根据用户压测配置机制对参数化文件分块并标记分割后的文件顺序,解决了现有技术的在压测过程中出现的多个压力机使用相同的参数化文件导致严重的数据冲突、重复问题。
91.以下将对各个步骤进行详细说明:
92.步骤s11,读入压测脚本及所述压测脚本对应的参数化文件,并选择对所述参数化文件进行线上调试或压测。
93.在本实施例中,通过用户在分布式压测平台上上传压测脚本及压测脚本对应的参数化文件,并选择对该参数化文件进行线上调试或者是线上压测。
94.其中,在确定对参数化文件进行线上压测试,在分布式压测平台上操作页面操作压测脚本,在执行压测操作时需要拆分参数化文件;
95.其中,在确定对参数化文件进行线上调试时,在分布式压测平台上操作页面操作调试脚本,在执行调试操作时不需要拆分参数化文件。
96.步骤s12,在确定所述参数化文件进行线上压测时,通过压测核心模块读入所述参数化文件,并基于压力机配置机制将所述参数化文件按配置的压力机数拆分成多个分割文件,以及标记所述多个分割文件顺序。
97.在本实施例中,在选择对参数化文件进行线上压测时,通过压测核心模块读入参数化文件,计算参数化文件的文件总行数n;在根据用户配置的压力机配置的本次压测的压力机数,计算出待拆分的分割文件行数s=文件总行数n/压力机数,按计算得到的分块文件行数s分割参数化文件,得到参数化文件对应的多个分割文件,以及标记所述多个分割文件顺序;即分割文件1为第1行到第s行,分割文件2为第s+1行到第2s行,最后一个分割文件包含到文件符结束前的所有行。其中,通过压测核心模块将多个分割文件分配至各个压力机中以供各个压力机专用。其中,压力机配置机制用于表征根据用户配置的压力机配置的本次压测的压力机数对参数化文件进行分割。
98.在本实施例中,读入压测脚本及压测脚本对应的参数化文件,并选择对参数化文件进行线上调试或压测;在确定参数化文件进行线上压测时,通过压测核心模块读入参数化文件,并基于压力机配置机制将参数化文件按配置的压力机数拆分成多个分割文件,以及标记多个分割文件顺序。通过根据用户压测配置机制对参数化文件分块并标记分割后的文件顺序,解决了现有技术在压测过程中出现的多个压力机使用相同的参数化文件导致严重的数据冲突、重复问题。
99.进一步地,基于本发明数据处理方法第一、二实施例,提出本发明数据处理方法第三实施例。
100.数据处理方法的第三实施例与数据处理方法的第一、二实施例的区别在于本实施例是对步骤s10,读入压测脚本及所述压测脚本对应的参数化文件的步骤之后,参照图8,所述数据处理方法还包括:
101.步骤b10,响应于针对所述参数化文件的线上调试操作,通过调试机对所述参数化文件执行调试,并标记所述参数化文件中已读取的第二文件行数;
102.步骤b20,在所述参数化文件执行调试后,根据所述第二文件行数,通过所述调试
机确定所述参数化文件中未使用数据,并将所述未使用数据生成第二参数化文件;
103.步骤b30,通过压测核心模块将所述参数化文件替换为所述第二参数化文件。
104.在本实施例中,在读入压测脚本及压测脚本对应的参数化文件之后,确定对参数化文件进行线上调试时,通过调试机对参数化文件执行调试,并标记参数化文件中已读取的第二文件行数;在参数化文件执行调试后,根据第二文件行数,通过调试机确定参数化文件中未使用数据,并将未使用数据生成第二参数化文件;通过压测核心模块将参数化文件替换为第二参数化文件;从而通过对参数化文件进行线上调试以对分布式压测平台进行验证。
105.以下将对各个步骤进行详细说明:
106.步骤b10,响应于针对所述参数化文件的线上调试操作,通过调试机对所述参数化文件执行调试,并标记所述参数化文件中已读取的第二文件行数。
107.在本实施例中,在检测到针对参数化文件的线上调试操作时,通过调试机根据用户配置的调试次数,用jmeter执行脚本以对参数化文件执行调试;在执行过程中读取参数化文件并记录参数化文件中已读取的第二文件行数;其中,第二文件行数为参数文件执行线上调试时所读取的文件行数。
108.步骤b20,在所述参数化文件执行调试后,根据所述第二文件行数,通过所述调试机确定所述参数化文件中未使用数据,并将所述未使用数据生成第二参数化文件。
109.在本实施例中,在参数化文件执行调试后,如果已读取的参数化文件中的数据是消耗性数据,则剔除已使用数据;并根据上述的第二文件行数,通过调试机确定参数化文件中未使用数据,以及将未使用数据生成第二参数化文件。
110.步骤b30,通过压测核心模块将所述参数化文件替换为所述第二参数化文件。
111.在本实施例中,在生成第二参数化文件后,通过压测核心模块将分布式压测平台中的参数化文件替换为所述第二参数化文件;之后,在检测到针对第二参数化文件的压测操作时,通过压测模块按照配置的压力数对第二参数化文件进行分割,以获得第二参数化文件对应的多个分块文件,并将多个分块文件分配至各个压力机以进行压测;在压测结束后自动清除已使用的消耗性数据,进而保障了参数化文件可反复使用。从而通过对参数化文件进行线上调试以对分布式压测平台进行验证,以确保分布式压测平台的稳定性。
112.在本实施例中,在读入压测脚本及压测脚本对应的参数化文件之后,确定对参数化文件进行线上调试时,通过调试机对参数化文件执行调试,并标记参数化文件中已读取的第二文件行数;在参数化文件执行调试后,根据第二文件行数,通过调试机确定参数化文件中未使用数据,并将未使用数据生成第二参数化文件;通过压测核心模块将参数化文件替换为第二参数化文件;从而通过对参数化文件进行线上调试以对分布式压测平台进行验证。
113.进一步地,基于本发明数据处理方法第一、二、三实施例,提出本发明数据处理方法第四实施例。
114.数据处理方法的第四实施例与数据处理方法的第一、二、三实施例的区别在于本实施例是对步骤s20,将所述多个分割文件分配至各个压力机进行压测,并在压测的过程中标记所述分割文件中已读取的文件行数的细化,参照图9,该步骤具体包括:
115.步骤s21,通过压测核心模板将所述多个分割文件分配至各个压力机中,并通过各
个所述压力机使用被分配到的分割文件执行压测处理;
116.步骤s22,在各个所述压力机执行压测的过程中,通过以线程为单位平均分割各个所述压力机中被分配到的分割文件,以使每一线程按照迭代顺序读取所述分割文件中固定区域数;
117.步骤s23,根据配置的线程独立读开关,计算每一线程读文件的开始位置和结束位置,以标记所述分割文件中已读取的文件行数;其中,每一线程保存读所述分割文件的开始位置指针和结束位置指针。
118.在本实施例中,通过压测核心模板将多个分割文件分配至各个压力机中,并通过各个压力机使用被分配到的分割文件执行压测处理;在各个压力机执行压测的过程中,通过以线程为单位平均分割各个压力机中被分配到的分割文件,以使每一线程按照迭代顺序读取分割文件中固定区域数;根据配置的线程独立读开关,计算每一线程读文件的开始位置和结束位置,以标记分割文件中已读取的文件行数;其中,每一线程保存读分割文件的开始位置指针和结束位置指针。从而通过各个压力机在压测过程中记录文件使用行数,以便在压测调试后剔除消耗性数据。
119.以下将对各个步骤进行详细说明:
120.步骤s21,通过压测核心模板将所述多个分割文件分配至各个压力机中,并通过各个所述压力机使用被分配到的分割文件执行压测处理。
121.在本实施例中,在分布式多压力机的环境下,按用户配置的压力机数,通过压测核心模板将多个分割文件分配至各个压力机中,以供各个压力机专用;各个压力机使用被分配到的分割文件和压测脚本执行压测处理。
122.步骤s22,在各个所述压力机执行压测的过程中,通过以线程为单位平均分割各个所述压力机中被分配到的分割文件,以使每一线程按照迭代顺序读取所述分割文件中固定区域数。
123.在本实施例中,在各个压力机执行压测的过程中,通过以线程为单位平均分割各个压力机中被分配到的分割文件,以使每一线程按照迭代顺序读取分割文件中固定区域数;从而解决各个线程读取数据出现的数据冲突问题。
124.步骤s23,根据配置的线程独立读开关,计算每一线程读文件的开始位置和结束位置,以标记所述分割文件中已读取的文件行数;其中,每一线程保存读所述分割文件的开始位置指针和结束位置指针。
125.在本实施例中,参照图10,图10为线程独立读开关示意图;打开配置的线程独立读开关,并根据该线程独立读开关,计算每一线程读文件的开始位置和结束位置,以标记分割文件中已读取的文件行数;其中,每一线程保存读分割文件的开始位置指针和结束位置指针;从而根据开始位置指针和结束位置指针,确定分割文件中已读取的文件行数;进而通过各个压力机在压测过程中记录文件使用行数,以便在压测调试后剔除消耗性数据。
126.在本实施例中,通过压测核心模板将多个分割文件分配至各个压力机中,并通过各个压力机使用被分配到的分割文件执行压测处理;在各个压力机执行压测的过程中,通过以线程为单位平均分割各个压力机中被分配到的分割文件,以使每一线程按照迭代顺序读取分割文件中固定区域数;根据配置的线程独立读开关,计算每一线程读文件的开始位置和结束位置,以标记分割文件中已读取的文件行数;其中,每一线程保存读分割文件的开
始位置指针和结束位置指针。从而通过各个压力机在压测过程中记录文件使用行数,以便在压测调试后剔除消耗性数据。
127.进一步地,基于本发明数据处理方法第一、二、三、四实施例,提出本发明数据处理方法第五实施例。
128.数据处理方法的第五实施例与数据处理方法的第一、二、三、四实施例的区别在于本实施例是对步骤s30,通过各个所述压力机剔除已读取的所述分割文件中的消耗性数据,获得对应的剩余数据的细化,参照图11,该步骤具体包括:
129.步骤s31,在所述分割文件压测结束后,查询所述分割文件中已读取的文件行,并通过各个所述压力机剔除所述参数化文件中已读取的文件行中的消耗性数据,获得对应的子剩余数据;
130.步骤s32,根据所述分割文件中已读取的文件行数,通过各个所述压力机确定所述分割文件中未使用数据,并将所述子剩余数据以及所述未使用数据确定为剩余数据。
131.本实施例通过在分割文件压测结束后,查询分割文件中已读取的文件行,并通过各个压力机剔除参数化文件中已读取的文件行中的消耗性数据,获得对应的子剩余数据;根据分割文件中已读取的文件行数,通过各个压力机确定分割文件中未使用数据,并将子剩余数据以及未使用数据确定为剩余数据;从而压测结束后自动清除已使用的消耗性数据,保障参数化文件可反复使用。
132.以下将对各个步骤进行详细说明:
133.步骤s31,在所述分割文件压测结束后,查询所述分割文件中已读取的文件行,并通过各个所述压力机剔除所述参数化文件中已读取的文件行中的消耗性数据,获得对应的子剩余数据。
134.在本实施例中,在分割文件压测结束后,查询分割文件中已读取的文件行;检测该分割文件中已读取的文件行中是否存在消耗性数据,在确定该分割文件中已读取的文件行中存在消耗性数据的情况下,通过各个压力机剔除分割文件中已读取的文件行中的消耗性数据,获得对应的子剩余数据。
135.步骤s32,根据所述分割文件中已读取的文件行数,通过各个所述压力机确定所述分割文件中未使用数据,并将所述子剩余数据以及所述未使用数据确定为剩余数据。
136.在本实施例中,根据分割文件中已读取的文件行数,通过各个压力机确定分割文件中未使用数据,并将子剩余数据和未使用数据合并后的数据确定为剩余数据。从而在压测结束后自动清除已使用的消耗性数据,保障参数化文件可反复使用。
137.在本实施例中,在分割文件压测结束后,查询分割文件中已读取的文件行,并通过各个压力机剔除参数化文件中已读取的文件行中的消耗性数据,获得对应的子剩余数据;根据分割文件中已读取的文件行数,通过各个压力机确定分割文件中未使用数据,并将子剩余数据以及未使用数据确定为剩余数据;从而压测结束后自动清除已使用的消耗性数据,保障参数化文件可反复使用。
138.本发明还提供一种分布式压测平台。参照图12,本发明分布式压测平台包括:
139.拆分模块10,用于读入压测脚本及所述压测脚本对应的参数化文件,在确定所述参数化文件进行线上压测时,按照配置的压力机数对所述参数化文件进行分割,生成对应的多个分割文件;
140.读取模块20,用于将所述多个分割文件分配至各个压力机进行压测,并在压测的过程中标记所述分割文件中已读取的文件行数;
141.剔除模块30,用于通过各个所述压力机剔除已读取的所述分割文件中的消耗性数据,获得对应的剩余数据,并将所述剩余数据生成新文件;
142.生成模块40,用于将各个所述压力机中生成的所述新文件合并生成新参数化文件。
143.此外,本发明还提供一种计算机可读存储介质,其上存储有数据处理程序,数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
144.其中,在所述处理器上运行的数据处理程序被执行时所实现的方法可参照本发明数据处理方法各个实施例,此处不再赘述。
145.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
146.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
147.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
148.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:


1.一种数据处理方法,其特征在于,所述数据处理方法应用于分布式压测平台,所述数据处理方法包括如下步骤:读入压测脚本及所述压测脚本对应的参数化文件,在确定所述参数化文件进行线上压测时,按照配置的压力机数对所述参数化文件进行分割,生成对应的多个分割文件;将所述多个分割文件分配至各个压力机进行压测,并在压测的过程中标记所述分割文件中已读取的文件行数;通过各个所述压力机剔除已读取的所述分割文件中的消耗性数据,获得对应的剩余数据,并将所述剩余数据生成新文件;将各个所述压力机中生成的所述新文件合并生成新参数化文件。2.如权利要求1所述的数据处理方法,其特征在于,所述读入压测脚本及所述压测脚本对应的参数化文件,在确定所述参数化文件进行线上压测时,按照配置的压力机数对所述参数化文件进行分割,生成对应的多个分割文件的步骤包括:读入压测脚本及所述压测脚本对应的参数化文件,并选择对所述参数化文件进行线上调试或压测;在确定所述参数化文件进行线上压测时,通过压测核心模块读入所述参数化文件,并基于压力机配置机制将所述参数化文件按配置的压力机数拆分成多个分割文件,以及标记所述多个分割文件顺序。3.如权利要求1所述的数据处理方法,其特征在于,所述读入压测脚本及所述压测脚本对应的参数化文件的步骤之后,还包括:响应于针对所述参数化文件的线上调试操作,通过调试机对所述参数化文件执行调试,并标记所述参数化文件中已读取的第二文件行数;在所述参数化文件执行调试后,根据所述第二文件行数,通过所述调试机确定所述参数化文件中未使用数据,并将所述未使用数据生成第二参数化文件;通过压测核心模块将所述参数化文件替换为所述第二参数化文件。4.如权利要求1所述的数据处理方法,其特征在于,所述将所述多个分割文件分配至各个压力机进行压测,并在压测的过程中标记所述分割文件中已读取的文件行数的步骤包括:通过压测核心模板将所述多个分割文件分配至各个压力机中,并通过各个所述压力机使用被分配到的分割文件执行压测处理;在各个所述压力机执行压测的过程中,通过以线程为单位平均分割各个所述压力机中被分配到的分割文件,以使每一线程按照迭代顺序读取所述分割文件中固定区域数;根据配置的线程独立读开关,计算每一线程读文件的开始位置和结束位置,以标记所述分割文件中已读取的文件行数;其中,每一线程保存读所述分割文件的开始位置指针和结束位置指针。5.如权利要求1所述的数据处理方法,其特征在于,所述通过各个所述压力机剔除已读取的所述分割文件中的消耗性数据,获得对应的剩余数据的步骤包括:在所述分割文件压测结束后,查询所述分割文件中已读取的文件行,并通过各个所述压力机剔除所述分割文件中已读取的文件行中的消耗性数据,获得对应的子剩余数据;根据所述分割文件中已读取的文件行数,通过各个所述压力机确定所述分割文件中未
使用数据,并将所述子剩余数据以及所述未使用数据确定为剩余数据。6.如权利要求1所述的数据处理方法,其特征在于,所述将各个所述压力机中生成的所述新文件合并生成新参数化文件的步骤包括:通过压测核心模块搜集各个所述压力机中生成的所述新文件,并遍历所述各个所述压力机中生成的所述新文件,将每一新文件按照预设顺序拼接成对应的新参数化文件。7.如权利要求1所述的数据处理方法,其特征在于,所述将各个所述压力机中生成的所述新文件合并生成新参数化文件的步骤之后,还包括:通过压测核心模块将所述参数化文件替换为所述新参数化文件;响应于针对所述新参数化文件的压测操作,通过所述压测模块按照配置的压力机数对所述新参数化文件进行分割,以获得对应的多个分块文件,并将所述多个分块文件分配至各个压力机以进行压测,并在压测的过程中标记所述分块文件中已读取的文件行数。8.一种分布式压测平台,其特征在于,所述分布式压测平台包括:拆分模块,用于读入压测脚本及所述压测脚本对应的参数化文件,在确定所述参数化文件进行线上压测时,按照配置的压力机数对所述参数化文件进行分割,生成对应的多个分割文件;读取模块,用于将所述多个分割文件分配至各个压力机进行压测,并在压测的过程中标记所述分割文件中已读取的文件行数;剔除模块,用于通过各个所述压力机剔除已读取的所述分割文件中的消耗性数据,获得对应的剩余数据,并将所述剩余数据生成新文件;生成模块,用于将各个所述压力机中生成的所述新文件合并生成新参数化文件。9.一种终端,其特征在于,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。

技术总结


本发明涉及计算机技术领域,公开了一种数据处理方法、平台、终端及介质。本发明通过读入压测脚本及压测脚本对应的参数化文件,在确定参数化文件进行线上压测时,按照配置的压力机数对参数化文件进行分割,生成对应的多个分割文件;将多个分割文件分配至各个压力机进行压测,并在压测的过程中标记分割文件中已读取的文件行数;通过各个压力机剔除已读取的分割文件中的消耗性数据,获得对应的剩余数据,并将剩余数据生成新文件;将各个压力机中生成的新文件合并生成新参数化文件;从而解决在分布式压测下脚本使用的参数化文件数据重复冲突问题。题。题。


技术研发人员:

陈睿扬 陈运权 许治华 金清华 王峰 朱俊杰

受保护的技术使用者:

招商银行股份有限公司

技术研发日:

2022.10.26

技术公布日:

2023/1/17


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-75846-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-24 23:39:36

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论