一种基于多数据源的数据处理方法及系统与流程

文档序号:15347518发布日期:2018-09-04 22:56阅读:162来源:国知局

本发明涉及数据处理领域,尤其涉及一种基于多数据源的数据处理方法及系统。



背景技术:

目前,对于业务数据的处理,只能针对同一种数据源进行,对于需要同时接入多种数据源的业务处理场景,还没有很好的解决方案,给业务数据的处理带来了极大的不便。



技术实现要素:

本发明所要解决的技术问题是针对现有技术的不足,提供一种基于多数据源的数据处理方法。

本发明解决上述技术问题的技术方案如下:

一种基于多数据源的数据处理方法,包括:

对多个数据源进行监听器注册;

配置对数据库进行访问的访问策略;

根据所述访问策略对来自多个所述数据源的数据进行处理。

本发明的有益效果是:本发明提供的一种基于多数据源的数据处理方法,通过对需要进行数据交换的多个数据源进行监听器注册,并提前配置各数据源对数据库进行访问的访问策略,能够同时对来自多个数据源的数据进行处理,能够满足多种业务场景的多种需求,提高业务数据处理的便利性。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步地,所述访问策略包括:单主多从和多主多从,所述单主多从指的是通过一个主线程和多个从线程对所述数据进行处理,所述多主多从指的是通过多个主线程和多个从线程对所述数据进行处理。

进一步地,所述主线程包括:同步线程、异步线程;所述从线程包括:同步线程、异步线程。

进一步地,所述根据所述访问策略对来自多个所述数据源的数据进行处理,具体包括:

获取来自多个所述数据源的数据以及数据处理请求;

根据所述访问策略对所述数据处理请求进行策略适配;

对来自多个所述数据源的数据进行处理。

本发明解决上述技术问题的另一种技术方案如下:

一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述技术方案中任一项所述的方法。

本发明解决上述技术问题的另一种技术方案如下:

一种基于多数据源的数据处理系统,包括:

监听器,用于对多个数据源进行监听器注册;

策略配置中心,用于配置对数据库进行访问的访问策略;

处理器,用于根据所述访问策略对来自多个所述数据源的数据进行处理。

进一步地,所述访问策略包括:单主多从和多主多从,所述单主多从指的是通过一个主线程和多个从线程对所述数据进行处理,所述多主多从指的是通过多个主线程和多个从线程对所述数据进行处理。

进一步地,所述主线程包括:同步线程、异步线程;所述从线程包括:同步线程、异步线程。

进一步地,所述处理器具体用于获取来自多个所述数据源的数据以及数据处理请求,根据所述访问策略对所述数据处理请求进行策略适配,对来自多个所述数据源的数据进行处理。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

图1为本发明一种基于多数据源的数据处理方法的一个实施例提供的流程示意图;

图2为本发明一种基于多数据源的数据处理方法的另一实施例提供的流程示意图;

图3为本发明一种基于多数据源的数据处理系统的一个实施例提供的结构框架图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,为本发明一种基于多数据源的数据处理方法的一个实施例提供的流程示意图,该方法包括:

s1,对多个数据源进行监听器注册。

需要说明的是,数据源可以为多种类型,例如,mysql、redis、oracle等。

s2,配置对数据库进行访问的访问策略。

优选地,为节省配置访问策略的时间,可以将不同的访问策略封装成不同的模板,当需要配置访问策略时,直接调用不同的模板即可。

需要说明的是,访问策略时各数据源与数据库进行数据交换的方式,例如,可以为单master多slavers、多master多slavers等。

例如,单master多slavers指的是通过一个主线程和多个从线程对数据进行处理,多master多slavers指的是通过多个主线程和多个从线程对数据进行处理。

s3,根据访问策略对来自多个数据源的数据进行处理。

需要说明的是,上述方法可以采用spring-bean模块扩展,自定义标签库方式配置化注入数据源,并将数据源配置zk动态化存储,以监听方式注入应用中,在应用访问数据层时,以注册监听的方式进行动态策略配置监听,以“懒加载”模式对数据dao层进行初始化,支持同步双写和异步双写,满足业务多种场景的dao需求。

本实施例提供的一种基于多数据源的数据处理方法,通过对需要进行数据交换的多个数据源进行监听器注册,并提前配置各数据源对数据库进行访问的访问策略,能够同时对来自多个数据源的数据进行处理,能够满足多种业务场景的多种需求,提高业务数据处理的便利性。

如图2所示,为本发明一种基于多数据源的数据处理方法的另一实施例提供的流程示意图,该方法包括:

s1,对多个数据源进行监听器注册。

需要说明的是,本实施例中与上述实施例相同的步骤的说明,可以参考上述实施例中的对应说明,在此不再赘述。

s2,配置对数据库进行访问的访问策略。

s3,根据访问策略对来自多个数据源的数据进行处理。

优选地,访问策略包括:单主多从和多主多从,单主多从指的是通过一个主线程和多个从线程对数据进行处理,多主多从指的是通过多个主线程和多个从线程对数据进行处理。

优选地,主线程包括:同步线程、异步线程;从线程包括:同步线程、异步线程。

也就是说,本发明支持同步双写和异步双写。

优选地,在步骤s3中,具体可以包括:

s31,获取来自多个数据源的数据以及数据处理请求。

需要说明的,这种数据处理请求可以是单向的,也可以是多向的,例如,需要将数据写入数据库,或者与数据库中的数据进行数据交换等。

s32,根据访问策略对数据处理请求进行策略适配。

需要说明的是,策略适配指的是当选择完访问策略后,就可以的执行对应的访问策略。

s33,对来自多个数据源的数据进行处理。

例如,以某购物网站的订单处理为例,假设订单存储过程中需要在mysql中进行订单记录,在oracle中进行日志记录,在redis中进行库存清除,在sybase中进行子系统数据更新。

首先,将以上四种数据访问进行监听器注册,并初始化访问db策略为多主多从,即主线程针对mysql和redis操作进行强一致性操作,异步线程进行redis和sybase存储。并当有订单存储请求到后台时,db策略处理器对请求进行策略适配,进而实现对四种数据访问协调操作。

本实施例提供的一种基于多数据源的数据处理方法,通过对需要进行数据交换的多个数据源进行监听器注册,并提前配置各数据源对数据库进行访问的访问策略,能够同时对来自多个数据源的数据进行处理,能够满足多种业务场景的多种需求,提高业务数据处理的便利性,并通过多种访问策略的配置,使本发明支持同步双写和异步双写,提高便利性和实用性。

如图3所示,为本发明一种基于多数据源的数据处理系统的一个实施例提供的结构框架图,该系统包括:

监听器1,用于对多个数据源进行监听器注册;

策略配置中心2,用于配置对数据库0进行访问的访问策略;

处理器3,用于根据访问策略对来自多个数据源的数据进行处理。

优选地,访问策略包括:单主多从和多主多从,单主多从指的是通过一个主线程和多个从线程对数据进行处理,多主多从指的是通过多个主线程和多个从线程对数据进行处理。

优选地,主线程包括:同步线程、异步线程;从线程包括:同步线程、异步线程。

优选地,处理器3具体用于获取来自多个数据源的数据以及数据处理请求,根据访问策略对数据处理请求进行策略适配,对来自多个数据源的数据进行处理。

本实施例提供的一种基于多数据源的数据处理系统,通过监听器对需要进行数据交换的多个数据源进行监听器注册,并通过策略配置中心提前配置各数据源对数据库0进行访问的访问策略,能够通过处理器同时对来自多个数据源的数据进行处理,能够满足多种业务场景的多种需求,提高业务数据处理的便利性。

在另一实施例中,本发明还提供一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述各实施例中任一项所述的方法。

读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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