基于MongoDB分布式集群架构的日志系统及分片方法与流程

文档序号:16880738发布日期:2019-02-15 22:07阅读:514来源:国知局
基于MongoDB分布式集群架构的日志系统及分片方法与流程

本发明涉及数据库技术领域,尤其涉及分布式技术领域,具体是指一种基于mongodb分布式集群架构的日志系统及分片方法。



背景技术:

目前,日志系统一般都是采用文件或者单一数据库存储数据。采用文件形式存储日志内容的,一般都是按天进行切割,在数据量不大的前提下,单机还是可以存储这些日志内容,但是一台单机在存储容量、并发性上毫无疑问都是有很大限制的。而日志数据的特点之一就是随时间持续增长,并且由于很多分析过程往往需要历史数据。短时间内的增长也许可以通过分库、分表或者数据压缩等来解决,不过很显然没有从根本上解决问题。想要彻底解决数据大规模增长带来的问题,使用分布式数据库存储是一个好选择。



技术实现要素:

本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现在线扩容的基于mongodb分布式集群架构的日志系统及分片方法。

为了实现上述目的,本发明的基于mongodb分布式集群架构的日志系统及分片方法如下:

该基于mongodb分布式集群架构的日志系统,其主要特点是,所述的系统包括:

路由实例单元,用于接收来自外部服务器的集群数据,并根据该集群数据对应发送分片命令;

配置服务器,与所述的路由实例单元相连接,用于提供所述分片命令所需的元数据信息;

分片服务器,与所述的路由实例单元相连接,根据所述的分片命令和所述集群数据所归属的日志表类别进行存储和分析。

该基于mongodb分布式集群架构的日志系统,其特征在于,所述的系统还包括:

日志表创建单元,与所述的分片服务器相连接,用于创建日志表。

该基于mongodb分布式集群架构的日志系统的日志表创建单元包括:

第一创建子单元,与所述的分片服务器相连接,用于在系统初始化时创建第一日志表集;

第二创建子单元,与所述的分片服务器相连接,用于根据需求自定义第二日志表集的创建。

该基于上述基于mongodb分布式集群架构的日志系统实现基于mongodb分布式集群架构的分片方法,其主要特点是,所述的方法包括以下步骤:

(1)所述的路由实例单元接收来自外部服务器的集群数据;

(2)所述的路由实例单元根据所述配置服务器提供的元数据信息,发送所述集群数据的分片命令;

(3)所述的分片服务器根据所述的分片命令以及所述集群数据所归属的日志表类别,进行所述集群数据的对应存储和分析。

该基于mongodb分布式集群架构的分片方法中,所述的步骤(3)之后,还包括以下步骤:

(4)所述的分片服务器将存储结果和分析结果发送至所述的路由实例单元。

该基于mongodb分布式集群架构的分片方法中,所述的系统还包括日志表创建单元,所述的步骤(3)中,所述的日志表由所述的日志表创建单元进行创建。

该基于mongodb分布式集群架构的分片方法的日志表创建单元包括第一创建子单元,所述的步骤(1)之前,还包括:

(0)所述的第一创建子单元创建第一日志表集。

该基于mongodb分布式集群架构的分片方法的日志表创建单元包括第二创建子单元,所述的步骤(3)中,所述的日志表还可由所述的第二创建子单元根据需求进行自定义创建。

该基于mongodb分布式集群架构的分片方法的第一日志表集包括业务日志表、异常日志表和通讯日志表。

该基于mongodb分布式集群架构的分片方法中,所述日志表的类别包括电站id、设备类型、设备识别号、时间以及统计日期。

采用了该发明中的基于mongodb分布式集群架构的日志系统及分片方法,通过创建所需的日志表,支持超大规模的日志数据存储;同时,本发明充分利用mongodb无线动态增列特点,使得用户可以自定义日志表中的列名,且mongodb集群具备数据自动备份与恢复功能,从而保证了数据的安全性,具有更广泛的应用范围。

附图说明

图1为本发明的基于mongodb分布式集群架构的日志系统的框架示意图。

图2为本发明的基于mongodb分布式集群架构的日志系统的一应用示意图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

请参阅图1所示,该基于mongodb分布式集群架构的日志系统包括:

路由实例单元(mongos),用于接收来自外部服务器的集群数据,并根据该集群数据对应发送分片命令;

配置服务器(configserver),与所述的路由实例单元相连接,用于提供所述分片命令所需的元数据信息;

分片服务器,与所述的路由实例单元相连接,根据所述的分片命令和所述集群数据所归属的日志表类别进行存储和分析。

该基于mongodb分布式集群架构的日志系统,其特征在于,所述的系统还包括:

日志表创建单元,与所述的分片服务器相连接,用于创建日志表。

该基于mongodb分布式集群架构的日志系统的日志表创建单元包括:

第一创建子单元,与所述的分片服务器相连接,用于在系统初始化时创建第一日志表集;

第二创建子单元,与所述的分片服务器相连接,用于根据需求自定义第二日志表集的创建。

该基于上述基于mongodb分布式集群架构的日志系统实现基于mongodb分布式集群架构的分片方法,其主要特点是,所述的方法包括以下步骤:

(1)所述的路由实例单元接收来自外部服务器的集群数据;

(2)所述的路由实例单元根据所述配置服务器提供的元数据信息,发送所述集群数据的分片命令;

(3)所述的分片服务器根据所述的分片命令以及所述集群数据所归属的日志表类别,进行所述集群数据的对应存储和分析。

该基于mongodb分布式集群架构的分片方法中,所述的步骤(3)之后,还包括以下步骤:

(4)所述的分片服务器将存储结果和分析结果发送至所述的路由实例单元。

该基于mongodb分布式集群架构的分片方法中,所述的系统还包括日志表创建单元,所述的步骤(3)中,所述的日志表由所述的日志表创建单元进行创建。

该基于mongodb分布式集群架构的分片方法的日志表创建单元包括第一创建子单元,所述的步骤(1)之前,还包括:

(0)所述的第一创建子单元创建第一日志表集。

该基于mongodb分布式集群架构的分片方法的日志表创建单元包括第二创建子单元,所述的步骤(3)中,所述的日志表还可由所述的第二创建子单元根据需求进行自定义创建。

该基于mongodb分布式集群架构的分片方法的第一日志表集包括业务日志表、异常日志表和通讯日志表。

该基于mongodb分布式集群架构的分片方法中,所述日志表的类别包括电站id、设备类型、设备识别号、时间以及统计日期。

在一具体实施方式中,请再次参阅图1所示,mongodb分片集群由三个mongos(路由实例),三个configserver(配置服务器),三个分片(每个分片三台服务构成)构成。如果业务数据量急剧增多时,mongodb集群支持动态在线扩容,在集群中的机器不需要停机或重启的前提下,可以动态增加分片。

优选地,在mongodb集群初始化的时候,会创建三个日志表,分别为businesslog、exceptionlog和communicationlog,只需定义这些表的基本字段为电站id(siteid)、设备类型(devicetype)、设备识别号(sn)、时间(time)、统计日期(countdate),并且对于需要分片的日志表,进行合理的片键设置。

在一具体实施方式中,在mongodb集群初始化的时候,会创建三个日志表,分别为业务日志表businesslog、异常日志表exceptionlog和通讯日志表communicationlog,只需定义这些表的基本字段为电站id(siteid)、设备类型(devicetype)、设备识别号(sn)、时间(time)、统计日期(countdate),并且对于需要分片的日志表,进行合理的片键设置。

在一具体实施方式中,当mongodb集群接收到来自应用服务器的读请求时,mongodb会根据用户的查询条件,将查询到的指定数据返回给应用服务器,并将内容显示在页面中。

在一具体实施方式中,请参阅图2所示,当mongodb集群接收到来自应用服务器的写请求时,在结合实际业务逻辑,充分利用mongodb动态增列的特点,用户可以自定义列名,理论上可以无限增列。若当前已创建的日志表,不能满足用户当前的业务时,用户也可以自行创建一些其他日志表。

采用了该发明中的基于mongodb分布式集群架构的日志系统及分片方法,通过创建所需的日志表,支持超大规模的日志数据存储;同时,本发明充分利用mongodb无线动态增列特点,使得用户可以自定义日志表中的列名,且mongodb集群具备数据自动备份与恢复功能,从而保证了数据的安全性,具有更广泛的应用范围。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

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