一种数据处理方法和装置与流程

文档序号:24528316发布日期:2021-04-02 10:06阅读:87来源:国知局
一种数据处理方法和装置与流程

本申请涉及电子设备领域,更具体的说,是涉及一种数据处理方法和装置。



背景技术:

信息科技及移动网络高速发展的今天,随着业务的快速发展,应用的访问量和数据的存储量正以几何指数增长,传统关系性数据库在存储海量数据的同时兼顾不同应用处理方面出现了瓶颈。

因此,在对于数据系统建设中,如何实现高吞吐量、低延时,减少海量数据分析处理时长,降低应用间耦合度成为系统设计中的重要内容。



技术实现要素:

有鉴于此,本申请提供了一种数据处理方法,解决现有技术中采用访问关系性数据库存储海量数据,访问时出现弊端的问题。

为实现上述目的,本申请提供如下技术方案:

一种数据处理方法,包括:

基于数据访问接口实时接收数据访问请求;

分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;

获取所述目标数据库中的目标数据,所述目标数据库包括缓存数据库、关系数据库以及分布式数据库中的一个。

优选的,上述的方法,所述分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库,包括:

分析所述数据访问请求所属应用的类型,分析所述数据访问请求所属应用的类型是否为批量数据分析应用,得到第一判断结果;

基于所述第一判断结果表征所述应用的类型是批量数据分析应用,选择分布式数据库作为目标数据库;

基于所述第一判断结果表征所述应用的类型不是批量数据分析应用,分析所述目标数据是否为热点数据,得到第二判断结果;

基于所述第二判断结果表征所述目标数据是热点数据,选择缓存数据库作为目标数据库;

基于所述第二判断结果表征所述目标数据不是热点数据,选择关系数据库作为目标数据库。

优选的,上述的方法,还包括:

基于预设的数据访问旁路接口实时接收数据访问请求;

基于预设的流式统计规则对于所述数据访问请求对应的目标数据进行热度统计,得到统计结果;

如果所述数据访问请求对应的目标数据的类型是热点数据,且所述统计结果不满足预设的热度条件,将目标数据从缓存数据库转移至关系数据库中;

如果所述目标数据的类型是非热点数据,且所述统计结果满足预设的热度条件,将目标数据从关系数据库转移至缓存数据库中。

优选的,上述的方法,所述将目标数据从缓存数据库转移至关系数据库中之后,还包括:

更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从缓存数据库更新为关系数据库,所述路由策略中包括目标数据以及存储所述目标数据的数据库的对应关系;

所述将目标数据从关系数据库转移至缓存数据库中之后,还包括:

更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从关系数据库更新为缓存数据库。

优选的,上述的方法,所述将目标数据从缓存数据库转移至关系数据库中,包括:

基于预设的路由策略,确定所述目标数据存储在所述缓存数据库中的第一区域;

从所述第一区域获取所述目标数据,将所述目标数据的数据格式转换为列表式存储格式,将列表式存储格式的目标数据存储到关系数据库中的目标存储区域。

优选的,上述的方法,所述目标数据从关系数据库转移至缓存数据库中,包括:

基于预设的路由策略,确定所述目标数据存储在所述关系数据库中的第二区域;

从所述第二区域获取所述目标数据,将所述目标数据的数据格式转换为根据数据关键字取值key-value存储格式,将key-value存储格式的目标数据存储到缓存数据库中的目标存储区域。

一种数据处理装置,包括:

接收模块,用于基于数据访问接口实时接收数据访问请求;

处理模块,用于分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;获取所述目标数据库中的目标数据,所述目标数据库包括缓存数据库、关系数据库以及分布式数据库中的一个。

优选的,上述的装置,处理模块,具体用于分析所述数据访问请求所属应用的类型,分析所述数据访问请求所属应用的类型是否为批量数据分析应用,得到第一判断结果;

基于所述第一判断结果表征所述应用的类型是批量数据分析应用,选择分布式数据库作为目标数据库;

基于所述第一判断结果表征所述应用的类型不是批量数据分析应用,分析所述目标数据是否为热点数据,得到第二判断结果;

基于所述第二判断结果表征所述目标数据是热点数据,选择缓存数据库作为目标数据库;

基于所述第二判断结果表征所述目标数据不是热点数据,选择关系数据库作为目标数据库。

优选的,上述的装置,处理模块,还用于:

基于预设的流式统计规则对于所述数据访问请求对应的目标数据进行热度统计,得到统计结果;

如果所述目标数据的类型是热点数据,且所述统计结果不满足预设的热度条件,将目标数据从缓存数据库转移至关系数据库中;

如果所述目标数据的类型是非热点数据,且所述统计结果满足预设的热度条件,将目标数据从关系数据库转移至缓存数据库中。

优选的,上述的装置,还包括:

更新模块,用于更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从缓存数据库更新为关系数据库,所述路由策略中包括目标数据以及存储所述目标数据的数据库的对应关系;以及

更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从关系数据库更新为缓存数据库。

经由上述的技术方案可知,与现有技术相比,本申请提供了一种数据处理方法,包括:基于预设的数据访问旁路接口实时接收数据访问请求;分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;获取所述目标数据库中的目标数据,所述目标数据库包括缓存数据库、关系数据库以及分布式数据库中的一个。本方案中,针对不同类型的数据设置缓存数据库、关系数据库以及分布式数据库,基于数据访问旁路接口实时接收数据访问请求,并确定相应目标数据所在的数据库进行获取目标数据,利用不同类型数据库优势,实现系统的高吞吐量、低延时。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请提供的一种数据处理方法实施例1的流程图;

图2是本申请提供的一种数据处理方法实施例2的流程图;

图3是本申请提供的一种数据处理方法实施例3的流程图;

图4是本申请提供的一种数据处理装置实施例的结构示意图;

图5是本申请提供的一种数据处理方法的场景示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示的,为本申请提供的一种数据处理方法实施例1的流程图,该方法应用于一电子设备,该电子设备作为服务器,该方法包括以下步骤:

步骤s101:基于数据访问接口接收数据访问请求;

该电子设备中设置有数据访问接口,通过该数据访问接口,接收该数据访问请求。

具体的,该数据访问接口是程序/应用对数据进行访问的请求,各个程序/应用可以通过该数据接口发送数据访问请求。

步骤s102:分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;

其中,对于该数据访问请求进行分析,确定与其对应的目标数据库,该目标数据库中存储有该数据访问请求的目标数据。

具体的,该步骤s102包括:

步骤s1021:分析所述数据访问请求所属应用的类型,分析所述数据访问请求所属应用的类型是否为批量数据分析应用,得到第一判断结果;

其中,该数据访问请求中携带有来源的相关信息,基于该来源的相关信息即可确定该数据来源的应用。

首先,确定该数据访问请求来源的应用,然后,对于该应用的类型进行分析判断。

具体实施中,该数据访问请求是对于数据写入时,通过报文标识确定是否为同一应用的数据,即是否针对某一应用进行的批量数据分析使用,如果判定为批量数据分析使用,则将数据写入海量数据库。

步骤s1022:基于所述第一判断结果表征所述应用的类型是批量数据分析应用,选择分布式数据库作为目标数据库;

其中,该应用的类型是批量数据分析应用时,则其相应的目标数据是批量数据,则,其目标数据是存储于分布式数据库中。

其中,该分布式数据库采用基于分布式的列式存储系统,可存储海量数据。优点是数据存储量大,存储介质价格便宜,适合批处理数据分析,缺点是不适合实时数据访问。常见的分布式数据库有hive、hbase等。

步骤s1023:基于所述第一判断结果表征所述应用的类型不是批量数据分析应用,分析所述目标数据是否为热点数据,得到第二判断结果;

其中,该应用的类型不是批量数据分析应用时,则表征该数据访问请求的目标数据不属于批量数据,则进一步判断该目标数据所属的类型。

具体的,判断该目标数据是否为热点数据,如果是热点数据,则该目标数据是存储在热点数据对应的数据库中,如果不是热点数据,即非热点数据,则该目标数据存储在非热点数据对应的数据库中。

具体实施中,通过配置多种热点数据规则进行判断,例如,规则为“一周内访问次数大于10且连续访问天数大于3天”判定为热点数据,则在本步骤中可以实时统计一周内数据访问次数、连续访问天数,如果满足规则条件,则该目标数据是热点数据,否则不是热点数据。

步骤s1024:基于所述第二判断结果表征所述目标数据是热点数据,选择缓存数据库作为目标数据库;

其中,该热点数据采用的为缓存数据库,当确定该目标数据是热点数据时,则选择该缓存数据库作为目标数据库。

其中,该缓存数据库采用基于内存的key-value数据库,数据全部存储在内存中。优点是吞吐量大、读取速度快,适合存储热点数据,缺点是无法存储海量数据,非结构化存储,无法进行复杂的关系操作,价格昂贵。常见的缓存数据库有redis、memcached等。

步骤s1025:基于所述第二判断结果表征所述目标数据不是热点数据,选择关系数据库作为目标数据库。

其中,该非热点数据采用的为关系数据库,当确定该目标数据是非热点数据时,则选择该关系数据库作为目标数据库。

其中,该关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。优点是有较好的事务处理机制,数据更新开销小,可进行复杂的关系操作,缺点是对海量数据查询效率低。常见的关系数据库有oracle、sqlserver、sybase、db2、mysql等。

需要说明的是,热点数据被访问的频率较高,需要将其存储在缓存数据库中,以保证访问效率;而非热点数据被访问的频率较低,只需要将其存储在关系数据库中,以减小数据开销。

步骤s103:获取所述目标数据库中的目标数据。

其中,所述目标数据库包括缓存数据库、关系数据库以及分布式数据库中的一个。

需要说明的是,本申请中,针对不同类型的数据设置不同的数据库,实现数据存储的混合架构,如缓存数据库、关系数据库以及分布式数据库,实时接收数据访问请求,并确定相应目标数据所在的数据库进行获取目标数据,利用不同类型数据库优势,实现系统的高吞吐量、低延时。

综上,本实施例提供了一种数据处理方法,包括:基于数据访问接口接收数据访问请求;分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;获取所述目标数据库中的目标数据,所述目标数据库包括缓存数据库、关系数据库以及分布式数据库中的一个。本方案中,针对不同类型的数据设置缓存数据库、关系数据库以及分布式数据库,实时接收数据访问请求,并确定相应目标数据所在的数据库进行获取目标数据,利用不同类型数据库优势,实现系统的高吞吐量、低延时。

如图2所示的,为本申请提供的一种数据处理方法实施例2的流程图,该方法包括以下步骤:

步骤s201:实时接收数据访问请求;

其中,该电子设备中设置有数据访问接口,接收访问数据库的数据访问请求,而且,本实施例中,在该数据访问接口还设置有旁路接口,用于对数据访问请求等信息旁路,以实现实时获取该数据访问请求进行统计,并且不影响数据访问的目的。

步骤s202:分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;

步骤s203:获取所述目标数据库中的目标数据;

其中,步骤s202-203与实施例1中步骤s102-103一致,本实施例中不做赘述。

步骤s204:基于预设的数据访问旁路接口实时接收数据访问请求;

步骤s205:基于预设的流式统计规则对于所述数据访问请求进行热度统计,得到统计结果;

其中,基于旁路接口对于数据访问接口接收到的数据访问请求进行旁路,该流式统计规则基于该旁路的数据访问请求进行统计。

具体的,该流式统计规则可以对实时数据流进行清洗、转换、加工,并按照一定规则生成实时处理结果,具体可以采用spark、storm、flink等。

需要说明的是,由于基于旁路数据加流式统计规则的方式,具有吞吐量大、实时性高的特点。

具体的,对于数据访问请求进行累加统计,具体的可以通过对于预设时间段内对于数据库(缓存数据库或者关系数据库中)访问数据的次数/频率进行统计。

其中,基于数据热点指数对于存储的数据进行判断,其是否满足热度条件。

具体的,该数据热点指数小于预设值,则表征对应的数据不满足热度条件,否则,该对应的数据满足热度条件。

需要说明的是,热点数据被访问的频率较高,需要将其存储在缓存数据库中,以保证访问效率;而非热点数据被访问的频率较低,只需要将其存储在关系数据库中,以减小数据开销。

具体的,该数据热点指数表征了数据被访问频率,被访问频率越高数据热点指数越高。

需要说明的是,该可以实时修改数据热点指数或新增热度统计规则,比如调整一周内数据访问次数阈值,或者新增“一天内数据访问x次”规则。

步骤s206:如果所述数据访问请求对应的目标数据的类型是热点数据,且所述统计结果不满足预设的热度条件,将目标数据从缓存数据库转移至关系数据库中;

其中,当该数据访问请求对应的目标数据的类型是热点数据,而该统计结果表征了该目标数据不满足预设的热度条件,即缓存数据库中的某些数据不再是热点数据,则不再需要保证针对该数据的读取速度时,而为了减小数据开销,当缓存数据库中的非热点数据转移到关系数据库中。

具体的,该步骤s206包括:

步骤s2061:基于预设的路由策略,确定所述目标数据存储在所述缓存数据库中的第一区域;

步骤s2062:从所述第一区域获取所述目标数据,将所述目标数据的数据格式转换为列表式存储格式,将列表式存储格式的目标数据存储到关系数据库中的目标存储区域。

具体的,将首先将缓存数据库数据读出目标数据,将该记录key设置为关系数据库主键,将value字段解析为列字段(假设连接符为|),然后将解析后主键及各列写入关系数据库,实现目标数据存储到关系数据库。

需要说明的是,具体实施中,在将目标数据存储到关系数据库中后,还要删除缓存数据库中的相应数据。

步骤s207:如果所述目标数据的类型是非热点数据,且所述统计结果满足预设的热度条件,将目标数据从关系数据库转移至缓存数据库中。

其中,当该数据访问请求对应的目标数据的类型是非热点数据,而该统计结果表征了该目标数据满足预设的热度条件,即关系数据库中的某些数据已经变为了热点数据,需要保证针对该数据的读取速度,将关系数据库中的热点数据转移到缓存数据库中,最终达到提高用户体验的目的。

具体的,该步骤s207包括:

步骤s2071:基于预设的路由策略,确定所述目标数据存储在所述关系数据库中的第二区域;

步骤s2072:从所述第二区域获取所述目标数据,将所述目标数据的数据格式转换为key-value(根据数据关键字取值)存储格式,将key-value存储格式的目标数据存储到缓存数据库中的目标存储区域。

具体的,将关系数据库中的目标数据读出,将该记录主键设为key,其余字段连接为value(假设连接符为|),然后将key-value写入缓存数据库,实现目标数据存储到缓存数据库。

需要说明的是,具体实施中,在将目标数据存储到缓存数据库中后,还要删除关系数据库中的相应数据。

综上,本实施例提供了一种数据处理方法中,还包括:基于预设的数据访问旁路接口实时接收数据访问请求;基于预设的流式统计规则对于所述数据访问请求对应的目标数据进行热度统计,得到统计结果;如果所述数据访问请求对应的目标数据的类型是热点数据,且所述统计结果不满足预设的热度条件,将目标数据从缓存数据库转移至关系数据库中;如果所述目标数据的类型是非热点数据,且所述统计结果满足预设的热度条件,将目标数据从关系数据库转移至缓存数据库中。本方案中,基于旁路接口对于数据访问接口接收到的数据访问请求进行旁路,该流式统计规则基于该旁路的数据访问请求进行分析,确定是否对于缓存数据库、关系数据库中存储的数据进行转移,以提高用户体验。

如图3所示的,为本申请提供的一种数据处理方法实施例3的流程图,该方法包括以下步骤:

步骤s301:实时接收数据访问请求;

步骤s302:分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;

步骤s303:获取所述目标数据库中的目标数据;

步骤s304:基于预设的流式统计规则对于所述数据访问请求进行热度统计,得到统计结果;

步骤s305:如果所述数据访问请求的类型是热点数据,且所述统计结果不满足预设的热度条件,将目标数据从缓存数据库转移至关系数据库中;

其中,步骤s301-305与实施例2中步骤s201-205一致,本实施例中不做赘述。

步骤s306:更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从缓存数据库更新为关系数据库;

其中,所述路由策略中包括存储目标数据的数据库。

其中,该路由策略用于指示数据访问请求对应的目标数据所对应的数据库。

具体的,在将目标数据从缓存数据库转移到关系数据库时,则将该路由策略中记录的该目标数据的存储区域进行更新。

需要说明的是,后续再次接收到该目标数据对应的数据访问请求时,可以从该关系数据库中获取相应的目标数据。

步骤s307:如果所述数据访问请求的类型是非热点数据,且所述统计结果满足预设的热度条件,将目标数据从关系数据库转移至缓存数据库中;

其中,步骤s307与实施例2中步骤s206一致,本实施例中不做赘述。

步骤s308:更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从关系数据库更新为缓存数据库。

具体的,在将目标数据从关系数据库转移到缓存数据库时,则将该路由策略中记录的该目标数据的存储区域进行更新。

需要说明的是,后续再次接收到该目标数据对应的数据访问请求时,可以从该缓存数据库中获取相应的目标数据。

综上,本实施例提供了一种数据处理方法中,将目标数据从缓存数据库转移至关系数据库中之后,还包括:更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从缓存数据库更新为关系数据库,所述路由策略中包括目标数据以及存储所述目标数据的数据库的对应关系;将目标数据从关系数据库转移至缓存数据库中之后,还包括:更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从关系数据库更新为缓存数据库。本方案中,当目标数据的热点情况发生变化,将其进行数据库的转移后,还需要更新路由策略,以实现更新该目标数据对应的数据库,以便后续进行访问。

与上述本申请提供的一种数据处理方法实施例相对应的,本申请还提供了应用该数据处理方法的装置实施例。

如图4所示的为本申请提供的一种数据处理装置实施例1的结构示意图,该装置包括以下结构:接收模块401和处理模块402;

其中,该接收模块401,用于基于数据访问接口实时接收数据访问请求;

其中,该处理模块402,用于分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;获取所述目标数据库中的目标数据,所述目标数据库包括缓存数据库、关系数据库以及分布式数据库中的一个。

优选的,处理模块,具体用于:

分析所述数据访问请求所属应用的类型,分析所述数据访问请求所属应用的类型是否为批量数据分析应用,得到第一判断结果;

基于所述第一判断结果表征所述应用的类型是批量数据分析应用,选择分布式数据库作为目标数据库;

基于所述第一判断结果表征所述应用的类型不是批量数据分析应用,分析所述目标数据是否为热点数据,得到第二判断结果;

基于所述第二判断结果表征所述目标数据是热点数据,选择缓存数据库作为目标数据库;

基于所述第二判断结果表征所述目标数据不是热点数据,选择关系数据库作为目标数据库。

优选的,该处理模块,还用于:

基于预设的流式统计规则对于所述数据访问请求对应的目标数据进行热度统计,得到统计结果;

如果所述目标数据的类型是热点数据,且所述统计结果不满足预设的热度条件,将目标数据从缓存数据库转移至关系数据库中;

如果所述目标数据的类型是非热点数据,且所述统计结果满足预设的热度条件,将目标数据从关系数据库转移至缓存数据库中。

优选的,该装置,还包括:

更新模块,用于更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从缓存数据库更新为关系数据库,所述路由策略中包括目标数据以及存储所述目标数据的数据库的对应关系;以及

更新预设的路由策略,将所述路由策略中记录的所述目标数据的存储区域从关系数据库更新为缓存数据库。

综上,本实施例提供的一种数据处理装置,包括:接收模块,用于基于数据访问接口实时接收数据访问请求;处理模块,用于分析所述数据访问请求,得到与所述数据访问请求对应的目标数据库;获取所述目标数据库中的目标数据,所述目标数据库包括缓存数据库、关系数据库以及分布式数据库中的一个。本方案中,针对不同类型的数据设置缓存数据库、关系数据库以及分布式数据库,实时接收数据访问请求,并确定相应目标数据所在的数据库进行获取目标数据,利用不同类型数据库优势,实现系统的高吞吐量、低延时。

图5所示的为本申请提供的一种数据处理方法的应用场景示意图,该场景中,包括数据应用模块501、数据处理装置502以及数据存储装置503,其中,该数据处理装置包括:数据热度统计模块5021和数据路由模块5022。该数据存储装置中设置有缓存数据库、关系数据库和分布式数据库,缓存数据库用于存储热点数据,关系数据库用于存储非热点数据,分布式数据库用于存储海量数据。该数据应用模块中设置有数据访问入口。

其中,数据访问请求通过该数据访问入口传递至数据路由模块中,数据路由模块先进行是否为批量数据分析判断,如果是批量数据分析,则访问分布式数据库,否则判断访问的目标数据是否为热点数据,如果是热点数据,访问缓存数据库,否则访问关系数据库。

其中,该数据热度统计模块旁路数据访问入口的数据访问请,基于热度统计规则配置的规则,进行流式实时数据热度统计,如果需要进行数据存储调整的话,基于数据转换配置,进行数据存储调整(缓存数据库/关系数据库中存储的数据),并且更新路由策略。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可,各个实施例可以组合。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1