CN115269733A - 数据存储方法、装置、存储服务器及可读存储介质 - Google Patents
数据存储方法、装置、存储服务器及可读存储介质 Download PDFInfo
- Publication number
- CN115269733A CN115269733A CN202210989361.8A CN202210989361A CN115269733A CN 115269733 A CN115269733 A CN 115269733A CN 202210989361 A CN202210989361 A CN 202210989361A CN 115269733 A CN115269733 A CN 115269733A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- abnormal
- time
- processing engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据存储方法、装置、存储服务器及可读存储介质,涉及大数据技术领域。该方法包括:通过数据处理引擎集群中的多个数据处理引擎获取多个实时数据;通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据;通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。采用本申请的方法,高效地存储数据且能快速查询数据。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种数据存储方法、装置、存储服务器及可读存储介质。
背景技术
随着数据存储技术的发展,在银行等金融机构,当出现告警数据时,通常是存储于传统数据库中,例如Oracle、mysql。
然而,由于告警数据增长较快,传统数据库无法满足高并发的读写性能,因此无法高效地存储数据。
发明内容
本申请提供一种数据存储方法、装置、存储服务器及可读存储介质,用以解决现有技术中,无法高效地存储数据的技术问题。
第一方面,本申请提供一种数据存储方法,所述方法包括:
通过数据处理引擎集群中的多个数据处理引擎获取多个实时数据;
通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据;
通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;
若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。
第二方面,本申请提供一种数据存储装置,所述装置包括:
实时数据获取模块,用于通过数据处理引擎集群中的各数据处理引擎获取多个实时数据,所述数据处理引擎集群包括一个主数据处理引擎和多个从数据处理引擎;
结果数据获取模块,用于通过各所述数据处理引擎对各所述实时数据执行对应的处理任务,以获得当前结果数据;
异常数据获取模块,用于通过预设的一个从数据处理引擎判断各所述当前结果数据中是否存在与历史结果数据之间的波动范围超过预设范围的异常实时数据,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;
异常数据存储模块,用于若存在,则将所述异常实时数据存储于分布式存储平台中。
第三方面,本申请提供一种存储服务器,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供的数据存储方法、装置、存储服务器及可读存储介质,通过数据处理引擎集群中的多个数据处理引擎获取多个实时数据;通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据;通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。由于在读取实时数据以及对实时数据进行计算和分析判断时,是通过多个数据处理引擎同时对实时数据进行不同的计算,以及通过多个数据处理引擎同时对当前结果数据进行分析判断,因此,本申请能够在数据吞吐量非常大时,高效地将异常实时数据存储于分布式存储平台。在应用于金融机构时,即使告警数据增长较快,本申请能够完全适应这种数据增长较快带来的对高并发读写性能的需求,可以高效地存储数据。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为实现本申请实施例的数据存储方法的一种应用场景图;
图2为本申请一实施例的实现数据存储方法的流程示意图;
图3为本申请另一实施例的实现数据存储方法的流程示意图;
图4为本申请实现数据存储方法的结构示意图;
图5为用来实现数据存储方法中的存储服务器的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。
传统方式中,在银行等金融机构,当出现告警数据时,通常是存储于传统数据库中,例如Oracle、mysql。然而,由于告警数据增长较快,传统数据库无法满足高并发的读写性能,因此无法高效地存储数据。
所以在面对现有技术的技术问题时,发明人通过创造性的研究后发现,为了高效地存储数据,支持高并发的进行数据读写。因此,通过数据处理引擎集群中的各数据处理引擎获取大量的实时数据,当获取到大量实时数据时,通过至少一个数据处理引擎分别对各实时数据进行对应的计算,计算之后获得当前结果数据。再通过至少一个数据处理引擎分别对各当前结果数据进行判断,以确定当前结果数据与历史结果数据之间的波动范围超过预设范围。若超过,则确定为异常结果数据,并将异常结果数据对应的各异常实时数据存储于分布式存储平台中。由于在读取实时数据以及对实时数据进行计算和分析判断时,是通过多个数据处理引擎同时对实时数据进行不同的计算,以及通过多个数据处理引擎同时对当前结果数据进行分析判断,因此,本申请能够在数据吞吐量非常大时,高效地将异常实时数据存储于分布式存储平台。在应用于金融机构时,即使告警数据增长较快,本申请能够完全适应这种数据增长较快带来的对高并发读写性能的需求,可以高效地存储数据。
如图1所示,本申请实施例提供的数据存储方法的应用场景,在该应用场景中对应的网络架构中包括存储服务器10和业务系统20,业务系统20和存储服务器10之间进行通信连接。业务系统20包括具有多个实现不同业务逻辑功能的服务器。存储服务器10中具有数据处理引擎集群,数据处理引擎集群中具有多个数据处理引擎,均可用于从业务系统20获取实时数据,实时数据例如业务系统20中的业务数据和业务系统20中各服务器的性能数据。多个数据处理引擎从业务系统20获取实时数据,这多个数据处理引擎中有预设的至少一个数据处理引擎,用于对各实时数据进行对应的计算,以获得当前结果数据。在获得当前结果数据之后,再通过预设的至少一个数据处理引擎判断各当前结果数据与历史结果数据之间的波动范围是否超过预设范围。当超过时,则确定为异常结果数据,并将异常结果数据对应的各异常实时数据存储于分布式存储平台中,以实现异常数据的实时存储。
其中,执行分析判断的预设的至少一个数据处理引擎,可以是前述执行计算的至少一个数据处理引擎,即由哪一数据处理引擎执行计算则由该数据处理引擎执行判断。还可以是和前述执行计算的至少一个数据处理引擎不完全相同或者完全不相同的数据处理引擎。
在一个实施例中,存储服务器包括数据处理引擎集群和分布式存储平台。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
需要说明的是,本公开数据存储方法、装置、存储服务器及可读存储介质可用于金融领域。也可用于除金融领域以外的任意领域。本公开数据存储装置、存储服务器及可读存储介质的应用领域不作限定。
图2是本申请一实施例提供的数据存储方法,如图2所示,本实施例提供的数据存储方法的执行主体是存储服务器。则本实施例提供的数据存储方法包括以下步骤:
步骤101,通过数据处理引擎集群中的多个数据处理引擎获取多个实时数据。
其中,数据处理引擎集群是以数据处理引擎为主的集群,数据处理引擎集群是基于zookeeper架构得到的,zookeeper是分布式应用程序协调服务软件。数据处理引擎集群中包括多个数据处理引擎,可共同用于获取大量的实时数据。
实时数据是实时获取的数据,包括实时业务数据和实时性能数据。实时业务数据是指与业务系统在用户交易过程中所产生的数据,例如成功交易的订单的流水号等。实时性能数据是指业务系统中各个服务器的实时的性能数据,实时的性能数据例如服务器的CPU利用率。业务系统中各服务器可以理解为实现业务系统的各种逻辑功能的服务器,例如业务系统的交易进程可以交给具有大量交易逻辑功能的服务器处理。
步骤102,通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据。
其中,预设的至少一个数据处理引擎,是数据处理引擎集群中的至少一个数据处理引擎。预设的至少一个数据处理引擎,可用于对各实时数据进行计算。若对各实时数据涉及的计算包括多种计算类型时,预设的至少一个数据引擎可以为对应个数的数据引擎。例如,若对各实时数据涉及的计算包括5种不同的计算,则预设的至少一个数据引擎可以是5个,由5个预设的数据处理引擎分别处理1种计算类型。
当前结果数据是预设的至少一个数据处理引擎对各实时数据进行对应的计算后,得到的结果数据。当前结果数据是当前正在被处理的,按照预设的采集频率从业务系统中获得的单位时间内的数据。
示例性地,实时数据若为成功交易的订单的流水号,预设的至少一个数据处理引擎计算其每分钟的流水号的数量,则当前结果数据包括流水号和每分钟的流水号的数量。
步骤103,通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围。
其中,历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据。存储服务器中还包括第一数据库,第一数据库可以是传统数据库中的任一种,例如SQL数据库、Oracle数据库等。历史结果数据可以从第一数据库中获取。历史结果数据可以是人为设定或者基于历史的结果数据确定的。
波动范围是指当前结果数据和历史结果数据存在偏差时的范围。预设范围是预先设置的,存储于各数据处理引擎中,根据当前结果数据与历史结果数据之间的波动范围是否超过预设范围,可以确定当前结果数据是否异常。
示例性的,若当前结果数据为每分钟100个流水号,历史结果数据为每分钟50个流水号,则确定当前结果数据异常。
步骤104,若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。
其中,当前结果数据与历史结果数据之间的波动范围超过预设范围时,将当前结果数据确定为异常结果数据。之后,再将该异常结果数据所对应的各个异常实时数据存储于分布式存储平台中。
异常实时数据可以是异常结果数据中的具体数据,例如,若当前结果数据为每分钟100个流水号,历史结果数据为每分钟50个流水号,确定当前结果数据为异常结果数据,并将该异常结果数据所对应的100个流水号存储于分布式存储平台中。
分布式存储平台可以是ignite数据库集群组成的分布式存储平台,为无共享架构,当异常实时数据接入突增或者突减时,能够适应性的增加或减少ignite数据库集群中ignite数据库的个数。
本申请中,通过数据处理引擎集群中的多个数据处理引擎获取多个实时数据;通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据;通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。由于在读取实时数据以及对实时数据进行计算和分析判断时,是通过多个数据处理引擎同时对实时数据进行不同的计算,以及通过多个数据处理引擎同时对当前结果数据进行分析判断,因此,本申请能够在数据吞吐量非常大时,高效地将异常实时数据存储于分布式存储平台。在应用于金融机构时,即使告警数据增长较快,本申请能够完全适应这种数据增长较快带来的对高并发读写性能的需求,可以高效地存储数据。
在另一个实施例中,步骤104,若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据的信息存储于分布式存储平台中。
其中,异常实时数据的信息是指异常实时数据的数据信息,例如前述的100个流水号对应的时间戳和基本信息。
作为一种可选的实施方式,如图3所示,本实施例中,在步骤101之前,还包括以下步骤:
步骤201,通过所述主数据处理引擎获取各所述从数据处理引擎的负载程度,以及预设的各处理任务,所述处理任务是对实时数据进行计算或对所述当前结果数据进行判断的任务。
其中,负载程度与数据处理引擎负载任务的程度,数据处理引擎处理的任务数量有关,数据处理引擎处理的任务越少,负载程度越小。
负载数据处理引擎集群包括一个主数据处理引擎和多个从数据处理引擎,主数据处理引擎负责调度各从数据处理引擎,并且主数据处理引擎自身也可执行一定任务。主数据处理引擎在为各从数据处理引擎分配处理任务时,是依据各从数据处理引擎的负载程度确定的。
处理任务是对实时数据进行计算或对所述当前结果数据进行判断的任务。例如,前述的通过预设的至少一个数据处理引擎对各实时数据进行对应的计算,以获得当前结果数据;或者,通过预设的至少一个数据处理引擎判断各当前结果数据与历史数据之间的波动范围是否超过预设范围等。
步骤202,依据负载程度从低到高,为各从数据处理引擎分配对应的处理任务,负载程度与从数据处理引擎所分配的处理任务呈负相关关系。
具体地,主数据处理引擎在分配处理任务时,可以优先根据各从数据处理引擎的负载程度,按照负载程度从低到高,为各从数据处理引擎分配对应的处理任务。负载程度与从数据处理引擎所分配的处理任务呈负相关关系。即,负载程度越低的从数据处理引擎所分配的处理任务越多,负载程度越高的从数据处理引擎所分配的处理任务越少。
若数据处理引擎集群中的从数据处理引擎足以完成实时数据的各项处理任务,则主数据处理引擎也可以不分配处理任务;若数据处理引擎集群中的从数据处理引擎不足以完成实时数据的各项处理任务,则主数据处理引擎可以综合主数据处理引擎和各从数据处理引擎的负载程度,为主数据处理引擎和各从数据处理引擎分配对应的处理任务。
本实施例中,通过所述主数据处理引擎获取各所述从数据处理引擎的负载程度,以及预设的各处理任务,所述处理任务是对实时数据进行计算或对所述当前结果数据进行判断的任务;依据负载程度从低到高,为各所述从数据处理引擎分配对应的处理任务,负载程度与从数据处理引擎所分配的处理任务呈负相关关系。通过获取各从数据处理引擎的负载程度,按照负载程度从低到高,为各从数据处理引擎分配对应的处理任务,负载程度较高的从数据处理引擎被分配的处理任务,会少于负载程度较低的从数据处理引擎被分配的处理任务,从而可以保证数据处理引擎集群能够负载均衡。
作为一种可选的实施方式,本实施例中,在步骤101之前,还包括以下步骤:
步骤301,获取各类待存储的数据的数据标签,所述各类待存储的数据的数据标签是依据用户查询的活跃度划分的。
其中,各类待存储的数据是指即将被存入分布式存储平台的数据。各类待存储的数据的数据标签是依据用户查询该类数据的活跃度划分的。用户查询的活跃度可以理解为,用户查询某类数据的活跃程度。活跃度至少可以分为非常活跃、一般活跃和不活跃。
步骤302,确定所述各类待存储的数据的数据标签和分布式存储平台中各存储区域之间的映射关系,获得映射表。
其中,分布式存储平台上具有多个存储区域,至少包括内存、SQL数据库和存储介质等。各存储区域是分布式存储平台上具有不同的响应速度的,用于存储数据的区域。
映射表中存储了各类待存储的数据的数标签和分布式存储平台中各存储区域之间的映射关系,该映射关系用于确定将哪一类待存储的数据的数据标签存储于分布式存储平台中的哪一个存储区域中。
在配置映射表时,将用户查询的活跃度较高的一类待存储的数据的数据标签与响应速度较快的存储区域建立映射关系,从而使用户频繁查询该类数据时,能够被快速响应。
本实施例中,获取各类待存储的数据的数据标签,所述各类待存储的数据的数据标签是依据用户查询的活跃度划分的;确定所述各类待存储的数据的数据标签和分布式存储平台中各存储区域之间的映射关系,获得映射表;各所述存储区域是所述分布式存储平台上具有不同的响应速度的,用于存储数据的区域。由于各类待存储的数据的数据标签是基于用户查询的活跃度划分的,存储区域是基于不同的响应速度确定的,映射表的确定与用户查询的活跃度和存储区域的响应速度直接相关,从而可以使获得的映射表可以满足多种查询数据效率。
作为一种可选的实施方式,本实施例中,所述各类待存储的数据的数据标签包括实时数据的数据标签,所述存储区域包括内存,步骤104,包括以下步骤:
步骤401,获取所述异常实时数据的数据标签。
其中,异常实时数据的数据标签是在数据处理引擎判断当前结果数据存在异常实时数据后,由该数据处理引擎自动添加的。
分布式存储平台在获取到待存储的数据时,立即获取待存储的数据的数据标签。相应地,若获取到的待存储的数据为异常实时数据,则立即获取异常实时数据的数据标签。
步骤402,根据所述映射表存储的映射关系确定将所述异常实时数据存储于所述分布式存储平台的内存中。
其中,异常实时数据包括异常的实时业务数据和异常的实时性能数据中的至少一种。
具体地,映射表中存储的映射关系中包括异常实时数据和内存的映射关系,即预先规定了若分布式存储平台根据数据标签确定为异常实时数据,则将异常实时数据存储于分布式存储平台的内存中。
由于异常实时数据被用户查询的活跃度最高(相比聚合数据与历史数据),内存是分布式存储平台中响应查询速度最快的,因此在获取到异常实时数据的数据标签之后,将异常实时数据存储于内存中,可以提高用户查询效率,给用户更好的数据查询体验。
本实施例中,获取所述异常实时数据的数据标签;根据所述映射表存储的映射关系确定将所述异常实时数据存储于所述分布式存储平台的内存中,所述异常实时数据包括异常的实时业务数据和异常的实时性能数据中的至少一种。由于内存的响应速度相对较好,异常实时数据的访问频率较高,因此将异常实时数据存储于内存中,有利于提高数据查询效率。
作为一种可选的实施方式,本实施例中,所述各类待存储的数据的数据标签还包括聚合数据的数据标签,所述存储区域包括SQL数据库,在执行步骤104时,还包括:
步骤501,获取聚合数据的数据标签,所述聚合数据包括异常实时数据的出现频次。
其中,聚合数据是对异常实时数据进行统计得到的数据,包括异常实时数据的出现频次。聚合数据的数据标签是在数据处理引擎计算当前结果数据后,由该数据处理引擎自动添加的。
分布式存储平台在获取到待存储的数据时,立即获取待存储的数据的数据标签。相应地,若获取到的待存储的数据为聚合数据,则立即获取聚合数据的数据标签。
步骤502,根据所述映射表存储的映射关系确定将所述聚合数据存储于分布式存储平台的SQL数据库中。
具体地,映射表中存储的映射关系中包括异常实时数据和内存的映射关系,即预先规定了若分布式存储平台根据数据标签确定为异常实时数据,则将异常实时数据存储于分布式存储平台的SQL数据库中。
SQL数据库相比内存响应用户的查询速度较低,但相比存储介质较高,由于聚合数据被用户查询的活跃度次于异常实时数据,但比历史数据相对更高。因此,在获取到聚合数据的数据标签之后,将聚合数据存储于SQL数据库中,可以满足用户在查询聚合数据时的查询效率。
本实施例中,获取聚合数据的数据标签,所述聚合数据是异常实时数据的出现频次;根据所述映射表存储的映射关系确定将所述聚合数据存储于分布式存储平台的SQL数据库中。由于聚合数据包括异常实时数据的出现频次,是一种对异常实时数据进行统计得到的数据,其被用户查询的活跃度次于异常实时数据,将聚合数据存储于SQL数据库中,无需占用内存存储空间,因而可以保证内存提供更快的响应速度。并且,SQL数据库是响应速度仅次于内存的存储区域,因此在用户查询聚合数据时,也有利于提高用户查询聚合数据的效率。
作为一种可选的实施方式,本实施例中,所述各类待存储的数据的数据标签还包括历史数据的数据标签,所述分布式存储平台中还包括存储介质,在执行步骤104时,还包括:
步骤601,当所述异常实时数据过期时,将所述异常实时数据确定为历史数据,为所述历史数据添加对应的数据标签并存储于所述存储介质中。
其中,异常实时数据在内存中存储的时长是预先设定的,当异常实时数据存储在内存中超过预设时长时,确定该异常实时数据过期。若异常实时数据过期,则通过预设的至少一个数据处理引擎将异常实时数据确定为历史数据,并为该历史数据添加对应的数据标签存储于存储介质中。
存储介质相比SQL数据库相应用户的查询速度更低,历史数据被用户查询的活跃度最低(相比异常实时数据和聚合数据)。存储服务器中预设了至少一个定时任务,用于在异常实时数据过期时,及时将异常实时数据转变为历史数据。具体地,异常实时数据在过期时,通过该定时任务从内存中取出,为其添加历史数据的数据标签并转存至存储介质中。
本实施例中,当所述异常实时数据过期时,将所述异常实时数据确定为历史数据,为所述历史数据添加对应的数据标签并存储于所述存储介质中。在异常实时数据过期时,及时将异常实时数据确定为历史数据,并将历史数据存储于存储介质中,无需占用内存或SQL数据库的存储空间,可以提高内存和SQL数据库的响应速度。
作为一种可选的实施方式,本实施例中,步骤101中通过数据处理引擎集群中的各数据处理引擎获取多个实时数据,具体包括:通过spark数据处理引擎集群中的各spark数据处理引擎获取多个实时数据。
其中,spark数据处理引擎是专为大规模数据处理而设计的快速通用的计算引擎。spark数据处理引擎集群中包括多个spark数据处理引擎。采用spark数据处理引擎对实时数据进行处理,可以更高效并发地对数据进行处理。
本实施例中,通过spark数据处理引擎集群中的各spark数据处理引擎获取多个实时数据。由于spark数据处理引擎具有处理大规模数据的优良性能,采用spark数据处理引擎作为数据处理引擎,可以提高并发对数据进行处理的效率。
图4是本申请一实施例提供的数据存储装置的结构示意图,如图4所示,本实施例提供的数据存储装置40位于存储服务器中,则本实施例提供的数据存储装置40,包括:实时数据获取模块41,结果数据获取模块42,异常数据获取模块43和异常数据存储模块44。其中:
实时数据获取模块41,用于通过数据处理引擎集群中的各数据处理引擎获取多个实时数据;
结果数据获取模块42,用于通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据;
异常数据获取模块43,用于通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;
异常数据存储模块44,用于若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。
可选地,所述实时数据,包括:实时业务数据和实时性能数据,所述实时性能数据是业务系统中各服务器实时的性能数据。
可选地,数据存储装置还包括任务分配模块,具体用于:在所述通过数据处理引擎集群中的各数据处理引擎获取多个实时数据之前,通过所述主数据处理引擎获取各所述从数据处理引擎的负载程度,以及预设的各处理任务,所述处理任务是对实时数据进行计算或对所述当前结果数据进行判断的任务;依据负载程度从低到高,为各从数据处理引擎分配对应的处理任务,负载程度与从数据处理引擎所分配的处理任务呈负相关关系。
可选地,数据存储装置还包括映射表获取模块,具体用于:获取各类待存储的数据的数据标签,所述各类待存储的数据的数据标签是依据用户查询的活跃度划分的;确定所述各类待存储的数据的数据标签和分布式存储平台中各存储区域之间的映射关系,获得映射表;各所述存储区域是所述分布式存储平台上具有不同的响应速度的,用于存储数据的区域。
可选地,所述各类待存储的数据的数据标签包括实时数据的数据标签,所述存储区域包括内存,异常数据存储模块44,将所述异常实时数据存储于分布式存储平台中时,具体用于:获取所述异常实时数据的数据标签;根据所述映射表存储的映射关系确定将所述异常实时数据存储于所述分布式存储平台的内存中,所述异常实时数据包括异常的实时业务数据和异常的实时性能数据中的至少一种。
可选地,数据存储装置还包括聚合数据存储模块,具体用于:获取聚合数据的数据标签,所述聚合数据是异常实时数据的出现频次;根据所述映射表存储的映射关系确定将所述聚合数据存储于分布式存储平台的SQL数据库中。
可选地,所述各类待存储的数据的数据标签还包括历史数据的数据标签,所述分布式存储平台中还包括存储介质,数据存储装置还包括历史数据存储模块,具体用于:当所述异常实时数据过期时,将所述异常实时数据确定为历史数据,为所述历史数据添加对应的数据标签并存储于所述存储介质中。
可选地,实时数据获取模块41,通过数据处理引擎集群中的各数据处理引擎获取多个实时数据,具体用于:通过spark数据处理引擎集群中的各spark数据处理引擎获取多个实时数据。
图5是根据一示例性实施例示出的一种存储服务器的框图,该设备可以是如图5所示,存储服务器,包括:存储器51,处理器52;存储器51用于存储处理器可执行指令的存储器;处理器52用于运行计算机程序或指令,以实现如上任意一个实施例提供的数据存储方法。
其中,存储器51,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器51可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器52可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路。
可选的,在具体实现上,如果存储器51和处理器52独立实现,则存储器51和处理器52可以通过总线53相互连接并完成相互间的通信。总线53可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线53、外部设备互连(PeripheralComponent,简称为PCI)总线53或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线53等。总线53可以分为地址总线53、数据总线53、控制总线53等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线53或一种类型的总线53。
可选的,在具体实现上,如果存储器51和处理器52集成在一块芯片上实现,则存储器51和处理器52可以通过内部接口完成相同间的通信。
一种非临时性计算机可读存储介质,当该存储介质中的指令由存储服务器的处理器执行时,使得存储服务器能够执行上述存储服务器的数据存储方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种数据存储方法,应用于存储服务器,其特征在于,所述方法包括:
通过数据处理引擎集群中的多个数据处理引擎获取多个实时数据;
通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据;
通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;
若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。
2.根据权利要求1所述的方法,其特征在于,所述实时数据,包括:实时业务数据和实时性能数据,所述实时性能数据是业务系统中各服务器实时的性能数据。
3.根据权利要求1所述的方法,其特征在于,所述数据处理引擎集群包括一个主数据处理引擎和多个从数据处理引擎,在所述通过数据处理引擎集群中的各数据处理引擎获取多个实时数据之前,还包括:
通过所述主数据处理引擎获取各所述从数据处理引擎的负载程度,以及预设的各处理任务,所述处理任务是对实时数据进行计算或对所述当前结果数据进行判断的任务;
依据负载程度从低到高,为各所述从数据处理引擎分配对应的处理任务,负载程度与从数据处理引擎所分配的处理任务呈负相关关系。
4.根据权利要求1所述的方法,其特征在于,在所述通过数据处理引擎集群中的各数据处理引擎获取多个实时数据之前,还包括:
获取各类待存储的数据的数据标签,所述各类待存储的数据的数据标签是依据用户查询的活跃度划分的;
确定所述各类待存储的数据的数据标签和分布式存储平台中各存储区域之间的映射关系,获得映射表;各所述存储区域是所述分布式存储平台上具有不同的响应速度的,用于存储数据的区域。
5.根据权利要求3所述的方法,其特征在于,所述各类待存储的数据的数据标签包括实时数据的数据标签,所述存储区域包括内存,所述将所述异常实时数据存储于分布式存储平台中,包括:
获取所述异常实时数据的数据标签;
根据所述映射表存储的映射关系确定将所述异常实时数据存储于所述分布式存储平台的内存中,所述异常实时数据包括异常的实时业务数据和异常的实时性能数据中的至少一种。
6.根据权利要求5所述的方法,其特征在于,所述各类待存储的数据的数据标签还包括聚合数据的数据标签,所述存储区域包括SQL数据库,所述将所述异常实时数据存储于分布式存储平台中时,还包括:
获取聚合数据的数据标签,所述聚合数据包括异常实时数据的出现频次;
根据所述映射表存储的映射关系确定将所述聚合数据存储于分布式存储平台的SQL数据库中。
7.根据权利要求6所述的方法,其特征在于,所述各类待存储的数据的数据标签还包括历史数据的数据标签,所述分布式存储平台中还包括存储介质,所述方法还包括:
当所述异常实时数据过期时,将所述异常实时数据确定为历史数据,为所述历史数据添加对应的数据标签并存储于所述存储介质中。
8.根据权利要求1-6中任一项所述的方法,其特征在于,所述通过数据处理引擎集群中的各数据处理引擎获取多个实时数据,包括:
通过spark数据处理引擎集群中的各spark数据处理引擎获取多个实时数据。
9.一种数据存储装置,其特征在于,所述装置包括:
实时数据获取模块,用于通过数据处理引擎集群中的各数据处理引擎获取多个实时数据;
结果数据获取模块,用于通过预设的至少一个所述数据处理引擎对各所述实时数据进行对应的计算,以获得当前结果数据;
异常数据获取模块,用于通过预设的至少一个数据处理引擎判断各所述当前结果数据与历史结果数据之间的波动范围是否超过预设范围,所述历史结果数据是已经处理的,与当前结果数据在同一采集频率下所获得的单位时间内的数据;
异常数据存储模块,用于若超过,则确定为异常结果数据,并将所述异常结果数据对应的各异常实时数据存储于分布式存储平台中。
10.一种存储服务器,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989361.8A CN115269733A (zh) | 2022-08-17 | 2022-08-17 | 数据存储方法、装置、存储服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989361.8A CN115269733A (zh) | 2022-08-17 | 2022-08-17 | 数据存储方法、装置、存储服务器及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269733A true CN115269733A (zh) | 2022-11-01 |
Family
ID=83753250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210989361.8A Pending CN115269733A (zh) | 2022-08-17 | 2022-08-17 | 数据存储方法、装置、存储服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269733A (zh) |
-
2022
- 2022-08-17 CN CN202210989361.8A patent/CN115269733A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506559B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN110110165B (zh) | 用于预计算系统中查询引擎的动态路由方法及装置 | |
CN107798135B (zh) | 分页查询方法及装置和电子设备 | |
CN111382182A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111737564A (zh) | 一种信息查询方法、装置、设备及介质 | |
WO2019024475A1 (zh) | 断点名单的分配方法、装置、服务器及介质 | |
CN112750027A (zh) | 批量业务处理方法、装置、计算机设备和存储介质 | |
CN108563776A (zh) | 离线数据获取方法及系统、服务器及存储介质 | |
EP3779720B1 (en) | Transaction processing method and system, and server | |
CN117909263A (zh) | 一种基于id保序电路的重映射方法、设备及存储介质 | |
WO2019019596A1 (zh) | 断点名单的处理方法、装置、服务器及介质 | |
CN107273413B (zh) | 中间表的创建方法、查询方法及相关装置 | |
CN107194712B (zh) | 共享账户变动信息记录方法及装置、内部账户补账方法及系统 | |
CN115269733A (zh) | 数据存储方法、装置、存储服务器及可读存储介质 | |
CN108920278B (zh) | 资源分配方法及装置 | |
CN111581253A (zh) | 基于反欺诈模型的实时检测方法及系统 | |
CN113625967B (zh) | 数据存储方法、数据查询方法及服务器 | |
CN106648874B (zh) | 一种批量任务的处理方法及装置 | |
CN110619275A (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN112199401B (zh) | 数据请求处理方法、装置、服务器、系统及存储介质 | |
CN113111083B (zh) | 数据查询的方法、装置、设备、存储介质和程序产品 | |
CN111131393B (zh) | 用户活跃度数据统计方法、电子装置及存储介质 | |
CN116382924B (zh) | 资源配置的推荐方法、装置、电子设备及存储介质 | |
WO2020140623A1 (zh) | 电子装置、元数据处理方法和计算机可读存储介质 | |
CN112559805A (zh) | 一种索引优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |