业务数据控制方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种业务数据控制方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,越来越多的业务数据委托者通过量化交易、程序化交易的方式来代替人工进行业务数据委托,而委托业务数据的时间和数据主要依赖于市场上的各种业务消息做相应的决策处理。因此,业务数据委托者对处理业务数据的业务数据处理系统的高效性和稳定性有着越来越高的要求。目前,市面上通常采用基于内存的方式代替基于数据库的方式管理业务数据处理系统。基于内存的方式管理业务数据处理系统无需再直接读写物理数据库,能带来处理速度的一定提升。
然而,传统的业务数据处理系统在不同的业务数据吞吐压力下,系统的处理性能表现不一致,从而导致了业务数据处理系统的系统性能不稳定。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升业务数据处理系统稳定性的业务数据控制方法、装置、计算机设备和存储介质。
一种业务数据控制方法,所述方法包括:
获取测试业务数据和预设曲线类型;
按照所述预设曲线类型对所述测试业务数据进行拟合,得到与所述测试业务数据对应的吞吐时延曲线;
确定与所述测试业务数据对应的时延阈值,并基于所述时延阈值求解所述曲线函数,得到单位时间内的第一吞吐量和单位时间内的第二吞吐量;
依次接收待处理的目标业务数据;
根据接收的所述目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。
一种业务数据控制装置,所述装置包括:
获取模块,用于获取测试业务数据和预设曲线类型;
拟合模块,用于按照所述预设曲线类型对所述测试业务数据进行拟合,得到与所述测试业务数据对应的吞吐时延曲线;
确定模块,用于确定与所述测试业务数据对应的时延阈值,并基于所述时延阈值求解所述曲线函数,得到单位时间内的第一吞吐量和单位时间内的第二吞吐量;
接收模块,用于依次接收待处理的目标业务数据;
控制模块,用于根据接收的所述目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取测试业务数据和预设曲线类型;
按照所述预设曲线类型对所述测试业务数据进行拟合,得到与所述测试业务数据对应的吞吐时延曲线;
确定与所述测试业务数据对应的时延阈值,并基于所述时延阈值求解所述曲线函数,得到单位时间内的第一吞吐量和单位时间内的第二吞吐量;
依次接收待处理的目标业务数据;
根据接收的所述目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取测试业务数据和预设曲线类型;
按照所述预设曲线类型对所述测试业务数据进行拟合,得到与所述测试业务数据对应的吞吐时延曲线;
确定与所述测试业务数据对应的时延阈值,并基于所述时延阈值求解所述曲线函数,得到单位时间内的第一吞吐量和单位时间内的第二吞吐量;
依次接收待处理的目标业务数据;
根据接收的所述目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。
上述业务数据控制方法、装置、计算机设备和存储介质,通过测试业务数据和预设曲线类型拟合吞吐时延曲线,并根据吞吐时延曲线确定业务数据处理系统的最佳性能区间上对应的单位时间内的第一吞吐量和第二吞吐量,进而基于第一吞吐量和第二吞吐量将系统处理业务数据的数量保持在一个稳定的范围内。这样,在目标业务数据量较小的情况下,生成虚拟业务数据,使得业务数据处理系统的吞吐量保持在稳定数量,在目标业务数据量较大的情况下,有效控制业务数据处理系统单位时间内处理目标业务数据的数量不超过预设范围。进而保证了业务数据处理系统的系统性能在不同吞吐量的情况下保持系统性能稳定。
附图说明
图1为一个实施例中业务数据控制方法的应用场景图;
图2为一个实施例中业务数据控制方法的流程示意图;
图3为一个实施例中吞吐时延曲线示意图;
图4为一个实施例中吞吐时延曲线所确定的最佳性能区间示意图;
图5为一个实施例中传统业务数据处理系统的吞吐时延曲线示意图;
图6为一个实施例中本申请业务数据处理系统的吞吐时延曲线示意图;
图7为一个实施例中业务数据控制方法的业务处理路径示意图;
图8为一个实施例中业务数据控制装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的业务数据控制方法,可以应用于如图1所示的应用环境中。该应用环境包括用户终端102和业务数据处理系统中部署的控制设备104。用户终端102与控制设备104通过网络进行通信。其中,用户终端102具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。控制设备104具体可以是终端或服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案相关的部分场景,并不构成对本申请方案应用环境的限定。
控制设备104获取测试业务数据和预设曲线类型。控制设备104按照预设曲线类型对测试业务数据进行拟合,得到与测试业务数据对应的吞吐时延曲线。控制设备104确定与测试业务数据对应的时延阈值,并基于时延阈值求解曲线函数,得到单位时间内的第一吞吐量和单位时间内的第二吞吐量。控制设备104依次从用户终端102中接收待处理的目标业务数据。控制设备104根据接收的目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。
在一个实施例中,如图2所示,提供了一种业务数据控制方法,以该方法应用于图1中业务数据处理系统中部署的控制设备104为例进行说明,包括以下步骤:
S202,获取测试业务数据和预设曲线类型。
其中,测试业务数据是与业务数据处理系统对应的现有的业务数据,用于测试业务数据处理系统的系统性能。预设曲线类型是业务数据处理系统的吞吐量和时延所对应的曲线的形状,用于可视化业务数据处理系统的性能变化情况。预设曲线类型具体可以是开口向上的抛物线,也即“U型”曲线。
具体地,业务数据处理系统的服务器中预先存储有丰富的测试业务数据,业务数据处理系统中部署的控制设备可从服务器中获取测试业务数据,获取的测试业务数据可用于测试业务数据处理系统的系统性能。控制设备还可根据业务数据处理系统的性能表现获取预设曲线类型。
S204,按照预设曲线类型对测试业务数据进行拟合,得到与测试业务数据对应的吞吐时延曲线。
其中,吞吐时延曲线是业务数据处理系统的吞吐量与时延之间的关系型曲线,用于说明业务数据处理系统的性能变化情况。
具体地,控制设备可通过拟合算法,即最小二乘法,按照预设曲线类型对获取到的测试业务数据进行拟合,得到与测试业务数据对应的吞吐时延曲线。
在一个实施例中,获取的测试业务数据如表1所示。将表1中的测试业务数据通过拟合算法,按照预设曲线类型对测试业务数据进行拟合,得到与测试业务数据对应的吞吐时延曲线,如图3所示。
表1
吞吐(笔/秒) |
时延(微妙) |
1 |
55 |
100 |
41 |
200 |
34 |
500 |
23 |
1000 |
20 |
10000 |
17 |
…… |
…… |
30000 |
342 |
S206,确定与测试业务数据对应的时延阈值,并基于时延阈值求解曲线函数,得到单位时间内的第一吞吐量和单位时间内的第二吞吐量。
其中,时延阈值是业务数据处理系统所能允许达到的最大时延,用于作为曲线函数的值,从而求解单位时间内的第一吞吐量和单位时间内的第二吞吐量。曲线函数是吞吐时延曲线所对应的函数,用于表示吞吐量与时延的关系。单位时间内的第一吞吐量是业务数据处理系统在单位时间内所规定的处理需要最少数据量,单位时间内的第二吞吐量是业务数据处理系统在单位时间内所规定需要处理的最大数据量。
具体地,控制设备可根据业务数据处理系统的业务需求,确定与测试业务数据对应的时延阈值。将确定的时延阈值作为与吞吐时延曲线相对应的曲线函数的因变量,进而根据确定的因变量求解曲线函数的两个自变量。将求解后的两个自变量分别作为单位时间内的第一吞吐量和单位时间内的第二吞吐量。
在一个实施例中,如图4所示,当时延阈值取值为Y0时,P1和P2在吞吐时延曲线的取值为Y0,则对应的X1为单位时间内的第一吞吐量,X2为单位时间内的第二吞吐量。比如X1为2000,X2为10000,则业务数据处理系统的最佳吞吐区间为[2000,10000],可以理解,在单位时间内业务数据处理系统处理的业务数据量最少为2000笔,且在单位时间内业务数据处理系统处理的业务数据量最多为10000笔。同时,业务数据处理系统最小等待时间间隔为1/10000秒,即100微秒,业务数据处理系统处理业务数据最快的速度为每隔100微秒处理一笔业务数据。业务数据处理系统最佳性能时间间隔为1/2000秒,即500微秒,业务数据处理系统处理业务数据最慢的速度为每隔500微秒处理一笔业务数据。
S208,依次接收待处理的目标业务数据。
其中,目标业务数据是实际业务场景中产生的业务数据。
具体地,在实际业务场景中,用户可通过用户终端产生相应的目标业务数据,业务数据处理系统中的控制设备可按目标业务数据发送到业务数据处理系统中的时间顺序,依次接收用户终端产生的目标业务数据。
S210,根据接收的目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。
具体地,控制设备可将接收到的目标业务数据在业务数据处理系统中进行相应的业务处理。在业务数据处理系统处理目标业务数据时,控制设备可控制控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。可以理解,在单位时间内,业务数据处理系统处理目标业务数据的数量最少需保证达到第一吞吐量,最多需保证不超过第二吞吐量。
在一个实施例中,图5是未控制业务数据处理系统处理目标业务数据的数量的吞吐时延曲线,此时业务数据处理系统在吞吐量小于X1和吞吐量大于X2时,业务数据处理系统的时延较长,系统性能随着吞吐量的变化而表现不稳定。而图6是控制业务数据处理系统处理目标业务数据的数量的吞吐时延曲线,此时系统性能不受实际业务场景业务数据量的影响,业务数据处理系统的时延保持在Y1和Y2之间,系统性能不受吞吐量变化的影响,系统性能稳定。
在一个实施例中,业务数据可以是证券交易过程中用户委托业务时产生的委托数据,委托数据具体可以包括委托者的账号信息、委托交易的证券代码、委托方式、委托方向以及委托者的资金是否充足等。如图7所示,业务数据处理系统包括交易接入网关、交易引擎,即核心业务组件以及报盘服务。业务处理路径可分为交易上行路径和交易下行路径。用户通过终端登录订单管理系统进行业务委托产生业务数据,交易接入网关负责从网络中接入业务数据,交易接入网关可将业务数据发送至交易引擎中进行业务数据的合法性验证,交易引擎可将通过合法性验证的业务数据发送至报盘服务中。报盘服务可根据交易所的数据规则处理业务数据,并将处理后的业务数据发送至交易所交易网关,进而交易所交易网关可对业务数据进行相应的业务处理,并反馈业务处理结果给业务数据处理系统,业务数据处理系统可将业务处理结果反馈至对应的委托者的终端。其中,当业务数据为证券交易过程中用户委托业务时产生的委托数据业务处理结果具体可包括业务处理是否成功、证券代码等。
上述业务数据控制方法中,通过测试业务数据和预设曲线类型拟合吞吐时延曲线,并根据吞吐时延曲线确定业务数据处理系统的最佳性能区间上对应的单位时间内的第一吞吐量和第二吞吐量,进而基于第一吞吐量和第二吞吐量将系统处理业务数据的数量保持在一个稳定的范围内。这样,在目标业务数据量较小的情况下,生成虚拟业务数据,使得业务数据处理系统的吞吐量保持在稳定数量,在目标业务数据量较大的情况下,有效控制业务数据处理系统单位时间内处理目标业务数据的数量不超过预设范围。进而保证了业务数据处理系统的系统性能在不同吞吐量的情况下保持系统性能稳定。
在一个实施例中,步骤S204,也就是按照预设曲线类型对测试业务数据进行拟合,得到与测试业务数据对应的吞吐时延曲线的步骤,具体包括:以吞吐量为横坐标,时延为纵坐标建立坐标系,并确定测试业务数据在坐标系中各自对应的坐标点;确定与测试业务数据对应的拟合特征,根据拟合特征,确定预设曲线类型;按照预设曲线类型对测试业务数据在坐标系中各自对应的坐标点进行拟合,得到与测试业务数据对应的吞吐时延曲线。
具体地,以吞吐量为横坐标,时延为纵坐标建立坐标系,将测试业务数据对应到坐标系中,进而控制设备可确定测试业务数据在坐标系中各自对应的坐标点。与业务数据处理系统对应的测试数据具备一定的拟合特征,控制设备可确定与测试业务数据对应的拟合特征,并根据拟合特征,确定预设曲线类型。通过拟合算法,按照预设曲线类型对测试业务数据在坐标系中各自对应的坐标点进行拟合,确定曲线参数,进而得到与测试业务数据对应的吞吐时延曲线。
上述实施例中,通过建立坐标系并确定测试业务数据在该坐标系中对应的坐标点,使得测试业务数据得到在相应的坐标系中展示相应的测试业务数据状态,进而根据拟合特征和曲线类型对测试业务数据进行拟合,得到与测试业务数据对应的吞吐时延曲线,这样,使得吞吐时延曲线更加符合测试业务数据,提升吞吐时延曲线的拟合效率。
在一个实施例中,第二吞吐量大于所述第一吞吐量,步骤S210,也就是根据接收的目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间的步骤,具体包括:确定单位时间内接收到的目标业务数据的数量;当单位时间内接收的目标业务数据的数量大于第二吞吐量时,从目标业务数据中筛选出数量为第二吞吐量的目标业务数据进行相应的业务处理;当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,对接收到的所有目标业务数据进行相应的业务处理;当单位时间内接收的目标业务数据的数量小于第一吞吐量时,生成虚拟业务数据,并对目标业务数据和虚拟业务数据进行相应的业务处理。
具体地,业务数据处理系统在单位时间内接收到的目标业务数据的数量时规定的,控制设备可确定单位时间内接收到的目标业务数据的数量。将单位时间内接收到的目标业务数据的数量与第一吞吐量和第二吞吐量进行比较。当单位时间内接收的目标业务数据的数量大于第二吞吐量时,由于目标业务数据的数量过大,业务数据处理系统无法在单位时间内同时处理过多的目标业务数据,进而,控制设备可从目标业务数据中筛选出数量为第二吞吐量的目标业务数据进行相应的业务处理。当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,该数量在业务数据处理系统的承受能力之内,因此,控制设备可对接收到的所有目标业务数据进行相应的业务处理。当单位时间内接收的目标业务数据的数量小于第一吞吐量时,目标业务数据的数量过小,导致系统时延较长,进而控制设备可生成虚拟业务数据,并对目标业务数据和虚拟业务数据进行相应的业务处理。
在一个实施例中,y
0设定为期望的业务数据处理系统的时延的最大值,即业务数据处理系统处理任何一笔业务数据的时延均小于y
0。记吞吐时延曲线所对应的曲线函数为y=f(x),通过求解
可求得能够使得业务数据处理系统保持最佳时延的吞吐量最优区间为[x
1,x
2],其中f(x
1)=f(x
2)=y
0。设定
为业务数据处理系统处理业务数据的最小等待时间间隔,在第i个最小等待时间间隔内业务数据处理系统处理业务数据的标记设定如下:
业务数据处理系统的接收网关收到的业务数据可进入待处理队列,记为Q={q
1,q
2,…,q
n},其中,q
i为业务数据,记|Q|为队列中业务数据的数量。业务数据处理系统每隔t秒进行一次业务处理。当业务数据处理系统在第k个最小等待时间间隔时,查看队列中的业务数据Q。当|Q|>0时,控制设备从Q中取出一笔业务数据进行相应的业务处理,此时g
k=1。当|Q|=0时,表示业务数据处理系统未接收到业务数据,则控制设备可按如下规则处理业务数据:当
时,业务数据处理系统不做任何处理,此时g
k=0,其中
当
时,业务数据处理系统可生成并处理一笔虚拟委托数据,此时g
k=-1。
在一个实施例中,控制设备从目标业务数据中筛选出数量为第二吞吐量的目标业务数据,具体可以按时间顺序筛选、随机筛选或等间距抽样筛选等多种方式。并将筛选出来的业务数据进行相应的业务处理。
上述实施例中,通过将单位时间内接收的目标业务数据的数量与第一吞吐量和第二吞吐量进行比较,从而控制单位时间内业务数据处理系统处理业务数据的数量,使得当业务数据量较小或较大时,时延保持在最佳时延范围内。这样,使得业务数据处理系统的性能稳定。
在一个实施例中,当单位时间内接收的目标业务数据的数量大于第二吞吐量时,从目标业务数据中筛选出数量为第二吞吐量的目标业务数据进行相应的业务处理的步骤,具体包括:当单位时间内接收的目标业务数据的数量大于第二吞吐量时,根据接收的目标业务数据的时间顺序,从目标业务数据中筛选出数量为第二吞吐量的目标业务数据;将筛选出的目标业务数据进行合法性验证;根据预设业务规则,将通过合法性验证的目标业务数据进行相应的业务处理。
具体地,将单位时间内接收的目标业务数据的数量与第二吞吐量进行比较,当单位时间内接收的目标业务数据的数量大于第二吞吐量时,根据接收的目标业务数据的时间顺序,从目标业务数据中筛选出数量为第二吞吐量的目标业务数据。为了保证筛选出来的目标业务数据的安全性,控制设备可将筛选出的目标业务数据进行合法性验证。进而根据预设业务规则,将通过合法性验证的目标业务数据进行相应的业务处理,得到对应的业务处理结果。
上述实施例中,当单位时间内接收的目标业务数据的数量大于第二吞吐量时,按照接收到目标业务数据的时间对目标业务数据进行处理,使得业务处理逻辑清晰,对目标业务数据进行合法性验证,保证了数据的合法性,进一步保证了业务数据处理的效率。
在一个实施例中,当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,对接收到的所有目标业务数据进行相应的业务处理的步骤,具体包括:当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,对接收的所有目标业务数据进行合法性验证;当目标业务数据通过合法性验证时,将所述目标业务数据发送至目标系统;发送的目标业务数据用于指示目标系统基于所述目标业务数据进行相应的业务处理,得到第一处理结果;接收目标系统反馈的第一处理结果,并将第一处理结果发送至相应的目标业务数据源终端。
具体地,将单位时间内接收的目标业务数据的数量与第一吞吐量和第二吞吐量进行比较,当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,为了保证接收的目标业务数据的安全性,控制设备可对接收的所有目标业务数据进行合法性验证。当目标业务数据通过合法性验证时,控制设备将接收到的目标业务数据在业务数据处理系统中进行相应处理之后,将处理后的目标业务数据发送至目标系统。进而目标系统可基于所述目标业务数据进行相应的业务处理,得到第一处理结果。目标系统可将第一处理结果反馈至业务数据处理系统,进而业务数据处理系统将第一处理结果发送至相应的目标业务数据源终端。用户可在目标业务数据源终端查看业务数据的最终处理结果。
上述实施例中,当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,对接收到的所有业务数据进行相应处理,并将处理结果反馈至相应目标业务数据终端,保证了业务数据处理的及时性。
在一个实施例中,当单位时间内接收的目标业务数据的数量小于第一吞吐量时,生成虚拟业务数据,并对目标业务数据和虚拟业务数据进行相应的业务处理的步骤,具体包括:当单位时间内接收的目标业务数据的数量小于第一吞吐量时,对目标业务数据进行合法性验证,并确定与目标业务数据相对应的业务数据格式;根据业务数据格式生成虚拟业务数据,并对虚拟业务数据进行合法性验证;虚拟业务数据用于将业务数据补全至第一吞吐量;当目标业务数据和虚拟业务数据均通过合法性验证时,将目标业务数据和虚拟业务数据进行相应的业务处理。
具体地,将单位时间内接收的目标业务数据的数量与第一吞吐量进行比较,当单位时间内接收的目标业务数据的数量小于第一吞吐量时,为保证接收到的目标业务数据的安全性,控制设备可对目标业务数据进行合法性验证。生成虚拟业务数据需要与目标业务数据对应的业务数据格式,控制设备可确定与目标业务数据相对应的业务数据格式,并根据业务数据格式生成虚拟业务数据。为保证生成虚拟业务数据的安全性,需要对虚拟业务数据进行合法性验证。当目标业务数据和虚拟业务数据均通过合法性验证时,将目标业务数据和虚拟业务数据进行相应的业务处理,得到各自对应的业务处理结果。
在一个实施例中,通过计算,确定业务数据处理系统最小等待时间间隔为100微秒,业务数据处理系统最佳性能时间间隔为500微秒,则控制设备每隔100微秒可检查是否有待处理的目标业务数据,当连续5次的100微秒间隔,即间隔500微秒都没有检查到有需要处理的目标业务数据,控制设备可根据目标业务数据的数据格式,构造一笔虚拟业务数据,并按照处理目标业务数据的处理逻辑对虚拟业务数据进行相应的业务处理,并生成相应的业务数据处理结果。
上述实施例中,当单位时间内接收的目标业务数据的数量小于第一吞吐量时,生成虚拟业务数据,并将虚拟业务数据和目标业务数据进行相同逻辑的业务处理,使得在业务数据较小时,将系统的时延保持在最佳时延,进一步提升了业务处理处理效率。
应该理解的是,虽然图2的各个步骤按照顺序依次显示,但是这些步骤并不是必然按照顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种业务数据控制装置800,包括:获取模块801、拟合模块802、确定模块803、接收模块804和控制模块805,其中:
获取模块801,用于获取测试业务数据和预设曲线类型。
拟合模块802,用于按照预设曲线类型对测试业务数据进行拟合,得到与测试业务数据对应的吞吐时延曲线。
确定模块803,用于确定与测试业务数据对应的时延阈值,并基于时延阈值求解曲线函数,得到单位时间内的第一吞吐量和单位时间内的第二吞吐量。
接收模块804,用于依次接收待处理的目标业务数据。
控制模块805,用于根据接收的目标业务数据进行相应的业务处理,并控制单位时间内进行业务处理的目标业务数据的数量保持在第一吞吐量和第二吞吐量之间。
在一个实施例中,拟合模块802还用于以吞吐量为横坐标,时延为纵坐标建立坐标系,并确定测试业务数据在坐标系中各自对应的坐标点;确定与测试业务数据对应的拟合特征,根据拟合特征,确定预设曲线类型;按照预设曲线类型对测试业务数据在坐标系中各自对应的坐标点进行拟合,得到与测试业务数据对应的吞吐时延曲线。
在一个实施例中,控制模块805还用于确定单位时间内接收到的目标业务数据的数量;当单位时间内接收的目标业务数据的数量大于第二吞吐量时,从目标业务数据中筛选出数量为第二吞吐量的目标业务数据进行相应的业务处理;当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,对接收到的所有目标业务数据进行相应的业务处理;当单位时间内接收的目标业务数据的数量小于第一吞吐量时,生成虚拟业务数据,并对目标业务数据和虚拟业务数据进行相应的业务处理。
在一个实施例中,控制模块805还用于当单位时间内接收的目标业务数据的数量大于第二吞吐量时,根据接收的目标业务数据的时间顺序,从目标业务数据中筛选出数量为第二吞吐量的目标业务数据;将筛选出的目标业务数据进行合法性验证;根据预设业务规则,将通过合法性验证的目标业务数据进行相应的业务处理。
在一个实施例中,控制模块805还用于当单位时间内接收的目标业务数据的数量处于第一吞吐量与第二吞吐量之间时,对接收的所有目标业务数据进行合法性验证;当目标业务数据通过合法性验证时,将所述目标业务数据发送至目标系统;发送的目标业务数据用于指示目标系统基于所述目标业务数据进行相应的业务处理,得到第一处理结果;接收目标系统反馈的第一处理结果,并将第一处理结果发送至相应的目标业务数据源终端。
在一个实施例中,控制模块805还用于当单位时间内接收的目标业务数据的数量小于第一吞吐量时,对目标业务数据进行合法性验证,并确定与目标业务数据相对应的业务数据格式;根据业务数据格式生成虚拟业务数据,并对虚拟业务数据进行合法性验证;虚拟业务数据用于将业务数据补全至第一吞吐量;当目标业务数据和虚拟业务数据均通过合法性验证时,将目标业务数据和虚拟业务数据进行相应的业务处理。
上述业务数据控制装置,通过测试业务数据和预设曲线类型拟合吞吐时延曲线,并根据吞吐时延曲线确定业务数据处理系统的最佳性能区间上对应的单位时间内的第一吞吐量和第二吞吐量,进而基于第一吞吐量和第二吞吐量将系统处理业务数据的数量保持在一个稳定的范围内。这样,在目标业务数据量较小的情况下,生成虚拟业务数据,使得业务数据处理系统的吞吐量保持在稳定数量,在目标业务数据量较大的情况下,有效控制业务数据处理系统单位时间内处理目标业务数据的数量不超过预设范围。进而保证了业务数据处理系统的系统性能在不同吞吐量的情况下保持系统性能稳定。
关于业务数据控制装置的具体限定可以参见上文中对于业务数据控制方法的限定,在此不再赘述。上述业务数据控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是上述图1中的业务数据处理系统中部署的控制设备104,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储业务数据控制数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务数据控制方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述业务数据控制方法的步骤。此处业务数据控制方法的步骤可以是上述各个实施例的业务数据控制方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述业务数据控制方法的步骤。此处业务数据控制方法的步骤可以是上述各个实施例的业务数据控制方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。