数据处理方法、装置、服务器及计算机可读存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、服务器及计算机可读存储介质。
背景技术
现有技术中,随着业务的长期运营,会积累大量的业务数据,存储这些业务数据以及保持业务的服务需要大量的软硬件资源。由于业务数据随着时间的推移,被读取和修改的可能性会越来越小,如果将所有的业务数据都保存在相同的存储资源中,会造成存储资源的浪费。
发明内容
本说明书实施例提供及一种数据处理方法、装置、服务器及计算机可读存储介质。
第一方面,本说明书实施例提供一种数据处理方法,包括:
确定针对目标业务的处理请求的请求类型;
在所述请求类型为读写类型时,确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件;
若所述在线数据不满足所述预期数据条件时,将历史数据库中存储的与所述目标业务对应的历史数据回迁至所述在线数据库,所述历史数据库的性能低于所述在线数据库的性能;
对所述在线数据库中的所述在线数据以及回迁至所述在线数据库的所述历史数据进行读写操作。
第二方面,本说明书实施例提供一种数据处理装置,包括:
请求类型确定模块,用于确定针对目标业务的处理请求的请求类型;
在线数据确定模块,在所述请求类型为读写类型时,确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件;
回迁模块,用于若所述在线数据不满足所述预期数据条件时,将历史数据库中存储的与所述目标业务对应的历史数据回迁至所述在线数据库,所述历史数据库的性能低于所述在线数据库的性能;
处理模块,用于对所述在线数据库中的所述在线数据以及回迁至所述在线数据库的所述历史数据进行读写操作。
第三方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述任一项所述方法的步骤。
第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例提供的数据处理方法中,确定针对目标业务的处理请求的请求类型;在所述请求类型为读写类型时,确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件;若所述在线数据不满足所述预期数据条件时,将所述历史数据库中存储的与所述目标业务对应的历史数据回迁至所述在线数据库,所述历史数据库的性能低于所述在线数据库的性能;对所述在线数据库中的所述在线数据以及回迁至所述在线数据库的所述历史数据进行读写操作。上述方案中,将目标业务的数据进行切分存储于在线数据库以及历史数据库中,由于历史数据库的性能低于在线数据库的性能,因此,降低了业务数据的存储成本,另外,在对数据进行读写操作时,由于将历史数据由性能低的历史数据库中回迁到性能高的在线数据库中,统一在在线数据库中进行处理,保证了数据的处理速度,能够实时响应与目标业务对应的读写操作,且历史数据回迁到在线数据库后,与在线数据作为整体共用在线数据库的业务处理逻辑,无需增加对历史数据库的处理逻辑,对业务处理逻辑的维护更容易。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例提供的数据处理方法的应用场景示意图;
图2为本说明书实施例第一方面提供的一种数据处理方法的流程图;
图3为本说明书实施例第二方面提供的数据处理装置的示意图;
图4为本说明书实施例第三方面提供的服务器的示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
请参考图1,为本说明书实施例的数据处理方法的应用场景示意图,图1中,应用程序接口层配置有多个接口,用于接收业务处理请求,应用程序仓储层配置有在线数据库以及历史数据库,用于存储各个业务的业务数据,其中,相较于在线数据库来说,历史数据库的性能较低。当应用接口层接收到业务处理请求后,会通过应用程序仓储层从在线数据库和历史数据库中获取业务数据。
第一方面,本说明书实施例提供一种数据处理方法,如图2所示,为本说明书实施例提供的数据处理方法的流程图,该方法包括以下步骤:
步骤S21:确定针对目标业务的处理请求的请求类型;
本说明书实施例中,目标业务可以是各类业务,例如查询业务、退款业务等,可以通过接口来接收针对目标业务的处理请求。处理请求的类型可以包括只读类型、读写类型、只写类型等,其中,读写类型需要对存储的业务数据进行修改。
步骤S22:在所述请求类型为读写类型时,确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件;
在请求类型为读写类型时,需要确定与目标业务对应的业务数据。业务数据存储在应用程序仓储层的数据库中,包括线数据库以及历史数据库中。在一个实施例中,目标业务为退款业务,由于在之前交易发生时,用户可能使用了代金券、积分等虚拟货币见面了部分支付金额,当时交易的代金券、积分的使用数据可以保存在应用程序仓储层的数据库中。当接收到退款业务的处理请求时,需要将当时交易使用的代金券、积分等退回给用户,因此需要在数据库中获取当时交易的代金券、积分的使用数据。
在接收到处理请求后,先查询在线数据库,确定存储于在线数据库的在线数据是否能够满足处理请求的预期数据条件。预期数据条件可以根据实际需要进行设置,例如,预期数据条件为预期的数据数量、或预期的数据类型。如果在线数据库存储的与目标业务对应的在线数据满足预期数据条件,则可以直接对在线数据进行处理。
步骤S23:若所述在线数据不满足所述预期数据条件时,将历史数据库中存储的与所述目标业务对应的历史数据回迁至所述在线数据库,所述历史数据库的性能低于所述在线数据库的性能;
步骤S24:对所述在线数据库中的所述在线数据以及回迁至所述在线数据库的所述历史数据进行读写操作。
本说明书实施例中,如果在线数据无法满足预期数据条件,则需要进一步对历史数据库进行查询,在历史数据库中确定与目标业务对应的业务数据。
应理解的是,在请求类型为读写类型时,如果需要对历史数据库中的业务数据以及在线数据库中的业务数据都进行修改,那么在不回迁数据的情况下需要对历史数据库增加一套数据处理逻辑,用来修改历史数据,对在线数据库使用一套数据处理逻辑来修改在线数据。本说明书实施例中,为了节约逻辑编写的成本,将与目标业务对应的业务数据回迁至在线数据库,通过在线数据库的处理方案来对在线数据以及回迁到在线数据库的历史数据进行统一处理,这样就免去了对历史数据库的业务数据处理逻辑的重新编写,使得对业务处理逻辑的维护更容易。在一个实施例中,目标业务为退款业务时,退款业务对应的业务数据分别存储在历史数据库以及在线数据库中,需要将历史数据回迁到在线数据库,通过在线数据库的退款处理流程来对这两部分数据进行处理。
可选地,所述方法还包括:根据数据的处理时间,将所述处理时间在预设时间段内的所述目标业务的业务数据存储在所述在线数据库中,以及将所述处理时间未在所述预设时间段内的业务数据存储在所述历史数据库中。
本说明书实施例中,针对每项业务的业务数据,可以按照数据的处理时间来进行拆分。数据的处理时间可以是数据被操作的最后时间,预设时间段可以根据实际需要进行设定。在一个实施例中,预设时间段为距当前时间六个月,则将最后处理时间在六个月之前的业务数据从在线数据库中迁出,存放到低性能的历史数据库中,将最后处理时间在六个月内的数据保留在高性能的在线数据库中。
当然,除了根据数据的处理时间来对确定迁移的业务数据,还可以根据其他参数来确定,如数据的使用频率。如果数据的使用频率大于阈值,则将数据保留在在线数据库,如果数据的使用频率小于或等于阈值,则将数据迁移到历史数据库。另外,历史数据库和在线数据库的数据可以设置为定时更新,如每隔一个月进行更新一次。
可选地,所述确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件,包括:确定所述在线数据的数量是否满足所述处理请求的预期数据数量。
本说明书实施例中,处理请求对应的预期数据条件可以包含有要获取的数据条数,如10条,那么先查询在线数据库,确定在线数据库中存储的目标业务的数据条数,如果在线数据库中的数据条数为10条,则在线数据的数量满足预设数据数量。如果在线数据库中的数据条数为6条,则需要在历史数据库中查询剩余的数据。
可选地,在所述确定针对目标业务的处理请求的请求类型之后,所述方法还包括:在所述请求类型为只读类型时,确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件;若所述在线数据不满足所述预期数据条件时,在所述历史数据库中确定与所述目标业务对应的历史数据;将所述历史数据以及所述在线数据进行数据合并,获得合并后的数据;对所述合并后的数据进行只读操作。
本说明书实施例中,在处理请求为只读类型时,首先由在线数据库中获取与目标业务对应的业务数据,如果在线数据库中存储的在线数据满足预期数据条件,如预期数据条数,则对在线数据进行只读操作。如果在线数据库中存储的在线数据不满足预期数据条件,则进一步读取历史数据库中与目标业务对应的历史数据。将历史数据与在线数据进行合并,在一个实施例中,数据合并可以在内存中进行,对合并后的数据进行只读操作。
可选地,所述确定针对目标业务的处理请求的请求类型,包括:根据接收所述处理请求的接口的接口标签,确定所述请求类型。
本说明书实施例中,可以通过对接收业务的接口进行打标,打标的标签可以是只读,也可以是读写。当接口接收到处理请求时,根据接收处理请求的接口标签来确定请求类型,如果接口的标签为只读,则请求类型为只读,如果接口的标签为读写,则请求类型为读写。
为了更好的理解本说明书实施例提供的数据处理方法,下面通过请求类型为读写类型的处理请求为例来进行说明。在接收到读写类型的处理请求后,执行以下步骤:
步骤a:确定是否只对在线数据库的数据进行读写,如果是,执行步骤b,如果否,执行步骤c;
步骤b:从在线数据库中确定与目标业务对应的在线数据进行读写操作;
步骤c:从在线数据库中确定与目标业务对应的在线数据,确定在线数据是否符合预期数据条件,如果是,执行步骤d,如果否,执行步骤e;
步骤d:对在线数据进行读写操作;
步骤e:在历史数据库中确定与目标业务对应的历史数据;
步骤f:将历史数据回迁到在线数据库,获取历史数据以及在线数据组成的完整数据;
步骤g:对在线数据库中的完整数据进行读写操作。
第二方面,基于同一发明构思,本说明书实施例提供一种数据处理装置,请参考图3,包括:
请求类型确定模块31,用于确定针对目标业务的处理请求的请求类型;
在线数据确定模块32,在所述请求类型为读写类型时,确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件;
回迁模块33,用于若所述在线数据不满足所述预期数据条件时,将历史数据库中存储的与所述目标业务对应的历史数据回迁至所述在线数据库,所述历史数据库的性能低于所述在线数据库的性能;
处理模块34,用于对所述在线数据库中的所述在线数据以及回迁至所述在线数据库的所述历史数据进行读写操作。
在一种可选实现方式中,所述装置还包括:
数据切分模块,用于根据数据的处理时间,将所述处理时间在预设时间段内的所述目标业务的业务数据存储在所述在线数据库中,以及将所述处理时间未在所述预设时间段内的业务数据存储在所述历史数据库中。
在一种可选实现方式中,在线数据确定模块32用于:
确定所述在线数据的数量是否满足所述处理请求的预期数据数量。
在一种可选实现方式中,所述装置还包括:
第一确定模块,用于在所述请求类型为只读类型时,确定在线数据库中存储的与所述目标业务对应的在线数据是否满足所述处理请求的预期数据条件;
第二确定模块,用于若所述在线数据不满足所述预期数据条件时,在所述历史数据库中确定与所述目标业务对应的历史数据;
数据合并模块,用于将所述历史数据以及所述在线数据进行数据合并,获得合并后的数据;
操作模块,用于对所述合并后的数据进行只读操作。
在一种可选实现方式中,请求类型确定模块31用于:
根据接收所述处理请求的接口的接口标签,确定所述请求类型。
关于上述装置,其中各个模块的具体功能已经在本发明实施例提供的数据处理方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,基于与前述实施例中数据处理方法同样的发明构思,本发明还提供一种服务器,如图4所示,包括存储器404、处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现前文所述数据处理方法的任一方法的步骤。
其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口406在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。
第四方面,基于与前述实施例中基于数据处理方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述基于数据处理方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。