业务数据处理方法、装置及服务器
技术领域
本发明涉及数据处理领域,尤其涉及一种业务数据处理方法、装置及服务器。
背景技术
交易系统中,当针对某个账户进行业务交易时,需要根据业务交易请求,对账户数据进行更新。在业务交易量较小的情况下,系统能够正常进行数据处理,在业务交易量较大的情况下,系统可能会来不及响应,导致系统出现崩溃。
发明内容
本说明书实施例提供及一种业务数据处理方法、装置及服务器。
第一方面,本说明书实施例提供一种业务数据处理方法,包括:
获取目标账户的历史业务数据;
根据所述历史业务数据,对所述目标账户在一预设时间段内的业务数据量进行预测;
在预测结果表明所述目标账户为热点账户时,为所述目标账户配置缓冲。
第二方面,本说明书实施例提供一种业务数据处理装置,包括:
数据获取模块,用于获取目标账户的历史业务数据;
预测模块,用于根据所述历史业务数据,对所述目标账户在一预设时间段内的业务数据量进行预测;
配置模块,用于在预测结果表明所述目标账户为热点账户时,为所述目标账户配置缓冲。
第三方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述任一项所述方法的步骤。
第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例提供的业务数据处理方法中,获取目标账户的历史业务数据,根据历史业务数据,对目标账户在一预设时间内的业务数据量进行预测,在预测结果表明目标账户为热点账户时,为目标账户配置缓冲。本说明书实施例中的方案,通过历史业务数据对未来的业务数据量进行预测,在预测到大量高并发的业务数据时,提前配置缓冲,以缓解高并发的业务数据给系统带来的压力,确保系统正常运行,避免出现崩溃。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例交易系统示意图;
图2为本说明书实施例第一方面提供的业务数据处理方法的流程图;
图3为本说明书实施例第二方面提供的业务数据处理装置的示意图;
图4为本说明书实施例第三方面提供的业务数据处理服务器的示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本说明书实施例中的业务数据处理方法可以应用于交易系统中,该交易系统可以为银行系统、支付系统或其他系统。请参考图1,为本说明书实施例的交易系统示意图,该交易系统中包括存储器,用于存储多个账户,以及用于处理账户数据的处理器。账户可以是个人账户,也可以是公司账户。对于每个账户,可以分配有单独的一个存储空间,用于存储账户数据。账户数据可以包括账户的账户名、账户资金金额等。当账户进行业务交易,需要对账户数据进行处理时,处理器根据业务交易请求信息,对账户数据进行更新。
第一方面,本说明书实施例提供一种业务数据处理方法,请参考图2,该方法包括以下步骤:
步骤S201:获取目标账户的历史业务数据;
目标账户可以是交易系统中的任一个账户,也可以是对交易系统中的账户按照预设条件进行筛选所确定出的账户,例如,预设条件可以是账户的业务数据量大于一阈值,或账户类型为公司账户等。
在交易系统中,可以包括多种业务,以交易系统为支付系统为例,业务可以包括购买、支付、转账、分润等,对于每种业务,都会产生对应的业务数据。获取目标账户的历史业务数据,可以是根据实际需要获得目标账户的一个或多个业务对应的历史业务数据。历史业务数据可以是历史业务数据量,也可以是历史业务数据的类型,如上述购买、支付等类型,还可以是历史业务的具体数据,如收入金额、支出金额,还可以是其他数据,这里不做限定。
步骤S202:根据所述历史业务数据,对所述目标账户在一预设时间段内的业务数据量进行预测;
为了在出现大量高并发业务数据时保证系统能够正常运行,本说明书实施例中,可以先对目标账户的业务数据量进行预测。预设时间段可以是未来的任意时间段,例如,预设时间可以是距离当前时刻一个小时的时间段,也可以是由未来的第一时间到未来的第二时间的这段时间。
本发明实施例中,对业务数据的数据量预测可以采用多种方式,在一个实施例中,历史业务数据为历史一段时间内的业务数据量,该业务数据量在时间上呈现出一定规律,根据历史一段时间内的业务数据量,可以构建一预测模型,根据该预测模型,能够对目标账户在预设时间段内的数据量进行预测,例如,获取今天各时间段的业务数据量,将今天各时间段的业务数据量输入到预测模型中,以得到明天各时间段的业务数据量的预测结果。
步骤S203:在预测结果表明所述目标账户为热点账户时,为所述目标账户配置缓冲。
本发明实施例中,预测结果表明目标账户在某一时间段或某一时刻存在大量高并发记账的情况时,如目标账户在某一时间段或某一时刻的业务数据量大于一阈值,确定该目标账户为热点账户。为了保证系统正常运行,为目标账户配置缓冲,以解决大量高并发记账带来的业务堵塞。在一个实施例中,可以根据预测结果,对目标账户在该业务场景下配置缓冲,当业务数据量较大时,将该目标账户的业务请求保存到缓冲队列中,通过定时任务批量处理。
可选地,本发明实施例中,所述历史业务数据包括以下数据中的一种或多种:交易业务数据,关联业务数据,业务活动数据。根据不同的历史业务数据,可以采用不同的预测方式在对目标账户的业务数据进行预测,下面,通过三种方式来说明对目标账户的业务数据预测,在这三种方式中,历史业务数据分别交易业务数据、关联业务数据、业务活动数据。
第一种方式
所述历史业务数据为所述交易业务数据时,所述根据所述历史业务数据,对所述目标账户在一预设时间段内的业务数据进行预测,包括:根据所述交易业务数据,以及与交易业务对应的预测模型,对所述预设时间段内各个时间点的业务数据量进行预测。
本发明实施例中,交易业务数据可以包括一种或多种交易业务数据,例如,交易业务数据包括支付业务数据以及转账业务数据,针对每种交易业务数据,都可以有一预测模型与之相对应,预测模型可以是对历史交易业务数据进行训练得到的。预测模型可以为线性回归模型、逻辑回归模型、神经网络模型等。多个预测模型之间可以是不同的,也可以是相同的,本发明实施例不做限定。
下面,以目标账户为A饭店在交易系统中建立的A账户为例,来对第一种方式进行说明。在该实施例中,交易业务可以为线上外卖业务,交易业务数据可以为每秒线上外卖业务请求笔数,即每秒业务请求量。获取历史一段时间内的每秒业务请求量,通过时间序列预测算法进行回归预测,得到时间序列预测模型,在该预测模型中,输入参数为上一秒的业务请求量,输出结果为下一秒的业务请求量。因此,可以根据预测模型来预测未来各时间的业务请求量。应理解的是,在预测过程中,还需要验证预测模型的准确性,例如,预测明天全天各时间点的业务请求量,则可以根据今天的一段时间的业务请求量,通过预测模型模拟出明天全天各时间点的业务请求量,明天过后,将明天实际的各时间点的业务请求量与模拟的业务请求量进行比对,通过比对不断来进行拟合,调整预测模型的参数,以得到较佳的预测模型。当然,除了时间序列预测,还可以通过其他预测算法来构建预测模型,本发明不做限定。
第二种方式
所述历史业务数据为所述关联业务数据时,所述根据所述历史业务数据,对所述目标账户在一预设时间段内的业务数据进行预测,包括:根据所述关联业务数据,以及关联业务完成时间与目标关联业务完成时间的时间差,对所述目标账户在所述时间段内的目标关联业务数据量进行预测,其中,所述关联业务与所述目标关联业务相互关联,所述关联业务的完成时间早于所述目标关联业务完成时间。
在交易过程中,某些业务之间存在很强的关联性,例如,担保交易购买与确认收货之间的关联,支付与支付后触发的收费业务等。应理解的是,由于互相关联的业务之间有时间上的间隔,因此,可以通过先发生的业务数据,对后发生的业务数据进行预测。在本说明书实施例中,关联业务与目标关联业务之间相互关联,且关联业务的完成时间早于目标关联业务的时间,因此,可以根据关联业务数据,对目标关联业务数据量进行预测。
在一个实施例中,目标账户为B网店在交易系统中的账户,关联业务为担保交易购买,关联业务数据为担保交易购买的业务数据量,目标关联业务为确认收货,目标关联业务数据量为确认收货的业务数据量,担保交易购买与确认收货的时间差为七天,也就是说当担保交易购买完成时,会在七天后自动确认收货,将对应的钱款划入B网店的账户中。应理解的是,当某一时段内担保交易购买的业务数据量较大时,那么七天后对应时间段内的确认收货的业务数据量也会较大,但由于期间会出现手动进行确认收货的情况,即,没有到第七天就已经确认了收货,因此,七天后的确认收货的业务数据量应该小于或等于担保交易购买的业务数据量。另外,还可以通过历史担保交易购买的业务数据量、以及与之相对应的历史确认收货的业务数据量,确定七天内任意一天中确认收货业务数据量约占总的确认收货业务数据量的百分比。例如,确定第三天的确认收货业务数据量的百分比,根据该百分比,可以预测第三天的确认收货的业务数据量,以实现对确认收货的任一时间点的确认收货的业务数据量进行预测。
应理解的是,第二种方式可以对第一种方式进行补充,避免第一种方式出现热点账户的遗漏。例如,目标账户在某一时刻接收到大量的关联业务请求,而在以往的交易业务数据中并没有出现过这种情况,因此,通过交易业务数据预测出来的结果可能目标账户并不是热点账户,预测结果不准确。通过关联业务数据进行预测,能够预测出目标账户是热点账户,避免了第一种方式出现的遗漏。
第三种方式
所述历史业务数据为所述业务活动数据,在所述获取目标账户的历史业务数据之前,所述方法还包括:获取业务活动的活动开始时间;所述获取目标账户的历史业务数据,包括:当所述活动开始时间在所述预设时间段内时,获取所述业务活动数据。
所述根据所述历史业务数据,对所述目标账户在一预设时间段内的业务数据量进行预测,包括:根据所述业务活动数据,以及所述业务活动的活动规则,对所述目标账户在所述预设时间段内的与所述业务活动对应的业务数据量进行预测。
应理解的是,在店铺进行活动时,如促销活动,业务数据量会显著提升,因此,在活动期间,交易系统中与活动店铺对应的账户可能出现数量较大的业务请求。为了使活动期间的交易系统能够正常运行,不会因为骤增的业务数据量导致崩溃,可以先对目标账户的业务数据量进行预测。
在一个实施例中,目标账户为活动店铺C在交易系统中的账户,由于需要对目标账户在预设时间段内的业务数据量进行预测,因此,可以先确定店铺活动开始时间是否在预设时间段内。如果活动开始时间在预设时间段内,表明活动期间与预设时间段有重合,即活动期间全部在预设时间段内,或活动期间部分在预设时间段内,不管是哪种情况,都有可能增加业务数据量。如果活动开始时间没有在预设时间段内,表明预设时间段内没有活动,不会出现由于活动而导致的业务数据量增加。
仍以上述实施例为例,当活动开始时间在预设时间段内时,获取业务活动数据,这里的业务活动数据可以为与当前活动相关的历史数据。例如,当前活动为买一送一活动,获取的业务活动数据为历史买一送一活动的业务活动数据,根据历史相关活动的业务数据,对当前活动期间的业务数据进行预测。
应理解的是,业务活动的活动规则可以是全新的活动规则,也可以是已经举行过的活动规则。当活动规则为举行过的活动规则时,根据历史活动时的业务活动数据,如参加活动的商品、每种商品的交易业务数据量,来对当前活动涉及到的商品以及对应商品的交易业务数据量进行预测。当活动规则为全新的活动规则时,可以根据历史相似活动的业务数据进行预测,例如,当前活动规则为满300减60,历史举行过满200减20、满300减30的活动,可以根据历史相关活动对应的业务活动数据对当前的业务数据量进行预测。
当然,除了上述三种方式,在进行业务数据量预测时,还可以对上述三种方式进行任意组合,例如,将第一种方式与第二种方式相结合,将第一种方式、第二种方式以及第三种方式相结合。多种方式结合时,可以相互进行补充,例如在通过三种方式进行预测时,第一种方式预测的某一时间段内的第一业务数据量为x,第二种方式预测的该时间段内的第二业务数据量为y,第三种方式预测的该时间段内的第三业务数据量为z,且x<y<z,则可以将最大值z作为该时间段的业务数据量,以避免遗漏的发生。
可选地,在所述在预测结果表明所述目标账户为热点账户时,为所述目标账户配置缓冲之前,所述方法还包括:确定所述预测结果是否大于第一预设数据量,其中,当所述测结果大于所述第一预设数据量时,表明所述目标账户为所述热点账户;在所述预测结果大于所述第一预设数据量时,确定与所述预测结果对应的预测时间;所述为所述目标账户配置缓冲,包括:在所述预测时间之前为所述目标账户配置缓冲。
应理解的是,当目标账户出现大量高并发业务数据时,如果不进行任何处理,可能会导致访问数据库连接池以及处理业务的线程池被堵塞,导致该账户的业务堵塞无法处理,更严重的情况可能会导致系统崩溃。
本说明书实施例中,根据预测结果确定目标账户是否为热点账户。在一个实施例中,预测结果可以为每秒业务数据量,第一预设数据量可以根据实际需要进行设定,如第一预设数据量为每条业务数据量为20,当预测结果大于第一预设数据量时,所述目标账户为热点账户。为了能够在大量高并发业务数据出现之前对目标账户进行处理,需要确定大于阈值的预测结果出现的时间,即确定预测时间,并在预测时间之前为目标账户配置缓冲。在一个实施例中,通过缓冲配置可以对业务数据进行定时处理,例如,每隔一分钟对缓冲中的业务数据进行汇总处理,然后对目标账户的账户数据进行更新,如对账户余额进行更新。缓冲可以根据业务数据量、处理器性能等参数来进行配置,例如配置缓冲的大小,配置定时处理的时间间隔等。
另外,针对一个账户来说,可能存在多种业务的业务数据量均大于阈值,那么可以对多个业务,为账户分配多个缓冲,每个缓冲对应一种业务。当然,也可以根据实际需要来对缓冲的数量来进行设置,这里不做限定。
可选地,所述获取目标账户的历史业务数据之前,所述方法还包括:确定账户集合中各个账户在目标历史时段内的历史业务数据量;确定历史业务数据量大于第二预设数据量的账户为所述目标账户。
由于交易系统中的账户数量庞大,在这些账户中,有些账户的业务数据量很低,如一周的业务交易笔数小于10笔,这些账户的业务数据量通常不会对系统造成威胁。因此,为了提高本发明实施例提供的业务数据处理方法的效率,本发明实施例中,可以对交易系统中的账户进行筛选,以筛选出目标账户。目标账户的筛选条件可以根据实际需要进行设定。在一个实施例中,账户集合为交易系统中的所有账户的集合,根据账户集合中每个账户在目标历史时段内的历史业务数据量,例如根据每个账户前一个月的业务数据总量,来确定目标账户,当账户的前一个月的业务总量大于第二预设数据量时,确定该账户为目标账户。
第二方面,基于同一发明构思,本说明书实施例提供一种业务数据处理装置,请参考图3,包括:
数据获取模块301,用于获取目标账户的历史业务数据;
预测模块302,用于根据所述历史业务数据,对所述目标账户在一预设时间段内的业务数据量进行预测;
配置模块303,用于在预测结果表明所述目标账户为热点账户时,为所述目标账户配置缓冲。
在一种可选实现方式中,历史业务数据包括以下数据中的一种或多种:交易业务数据,关联业务数据,业务活动数据。
在一种可选实现方式中,所述历史业务数据为所述交易业务数据时,预测模块302,包括:
第一预测子模块3021,用于根据所述交易业务数据,以及与交易业务对应的预测模型,对所述预设时间段内各个时间点的业务数据量进行预测。
在一种可选实现方式中,所述历史业务数据为所述关联业务数据时,预测模块302,包括:
第二预测子模块3022,用于根据所述关联业务数据,以及关联业务完成时间与目标关联业务完成时间的时间差,对所述目标账户在所述时间段内的目标关联业务数据量进行预测,其中,所述关联业务与所述目标关联业务相互关联,所述关联业务的完成时间早于所述目标关联业务完成时间。
在一种可选实现方式中,所述历史业务数据为所述业务活动数据,所述装置还包括:
活动时间获取模块304,用于获取业务活动的活动开始时间;
数据获取模块301,包括:
数据获取子模块3011,用于当所述活动开始时间在所述预设时间段内时,获取所述业务活动数据。
在一种可选实现方式中,预测模块302,包括:
第三预测子模块3023,用于根据所述业务活动数据,以及所述业务活动的活动规则,对所述目标账户在所述预设时间段内的与所述业务活动对应的业务数据量进行预测。
在一种可选实现方式中,所述装置还包括:
第一确定模块,用于确定所述预测结果是否大于第一预设数据量,其中,当所述业务数据预测结果大于所述第一预设数据量时,表明所述目标账户为所述热点账户;
第二确定模块,用于在所述预测结果大于所述第一预设数据量时,确定与所述预测结果对应的预测时间;
配置模块303,包括:
配置子模块3031,用于在所述预测时间之前为所述目标账户配置缓冲。
在一种可选实现方式中,所述装置还包括:
第三确定模块,用于确定账户集合中各个账户在目标历史时段内的历史业务数据量;
第四确定模块,用于确定历史业务数据量大于第二预设数据量的账户为所述目标账户。
第三方面,基于与前述实施例中异常交易识别方法同样的发明构思,本发明还提供一种服务器,如图4所示,包括存储器404、处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现前文所述业务数据处理方法的任一方法的步骤。
其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口406在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。
第四方面,基于与前述实施例中基于业务数据处理方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述基于业务数据处理方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。