一种基于混合数据库的多业务用户数据管理系统的制作方法

文档序号:11857171阅读:390来源:国知局

本实用新型涉及一种用户数据管理系统,尤其是涉及一种基于混合数据库的多业务用户数据管理系统。



背景技术:

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。由于具有保持数据一致性、丰富的完整性、数据库维护量小、技术发展成熟等突出优势,关系型数据库已成为应用广泛的通用型数据库。但是近年来,随着互联网的兴起,传统的关系数据库在应付各行各业服务应用,特别是超大规模和高并发的SNS类型的web2.0纯动态网站及海量数据计算时已经显得力不从心,暴露了很多难以克服的问题,而非关系型数据库则由于本身高性能并发读写能力、海量数据的高效读写、高可扩展性和可用性等特点得到了非常迅速的发展。

与关系型数据库相比,非关系型数据库最大的优势是它们能高效地处理非结构化的数据,如字符文件、邮件、多媒体、社交媒体等。但非关系型数据库不支持SQL、支持的特性不够丰富、技术尚不成熟等缺点,制约了非关系型数据库的广泛应用。



技术实现要素:

针对上述问题,本实用新型提出了一种基于混合数据库的多业务用户数据管理系统,其中采用关系型数据库和非关系型数据库相结合的方式对数据进行存储,使得存储架构由传统的单一数据库改变为混合数据库,促进了混合数据库的发展。

本实用新型提出一种基于混合数据库的多业务用户数据管理系统,包括:

系统出口入口模块,所述出口入口模块用于导入和导出用户数据;

分布式处理模块,所述分布式处理模块包括对所述用户数据进行数据分类

的数据分类模块、对经分类后的用户数据进行筛选和清洗的数据筛分录入模块、对经筛选和清洗后的用户数据进行基础整合的数据整合模块、对经基础整合后的用户数据进行二次整合的数据查询模块;

数据存储集群系统,所述数据存储集群模块包括用于存储结构化数据的关系型数据库集群,用于存储需要进行复杂计算的数据的Hadoop集群,用于存储非结构化数据的MongoDB集群;

其中,所述系统入口出口模块和所述分布式数据处理模块连接;

所述分布式数据处理模块和所述数据存储集群连接。

进一步地,所述系统入口出口模块包括数据接入模块和权限控制模块,所述数据接入模块用于导入用户数据,所述权限控制模块用于处理外来请求权限校验和数据导出。

进一步地,所述数据存储集群模块的关系型数据库集群为Redis集群。

本实用新型采用传统关系型数据库与非关系型数据库相结合的方式对数据进行分类存储,这种混合数据库的存储模式发挥了关系型数据库在处理结构化数据时通用性强和保持数据一致性的优点,同时具备了非关系型数据库针对海量非结构化数据较强的读写能力以及架构模块高可扩展性等特点。

附图说明

图1是本实用新型一种基于混合数据库的多业务用户数据管理系统的一个实施例的结构示意图。

具体实施方式

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

请参见图1,本实用新型一种基于混合数据库的多业务用户数据管理系统,包括:

系统出口入口模块1,所述出口入口模块1用于导入和导出用户数据;

分布式处理模块2,所述分布式处理模块2包括对所述用户数据进行数据分类的数据分类模块21、对经分类后的用户数据进行筛选和清洗的数据筛分录入模块22、对经筛选和清洗后的用户数据基础整合的数据整合模块24、对经基础整合后的用户数据进行二次整合的数据查询模块23;

数据存储集群系统3,所述数据存储集群模块3包括用于存储结构化数据的关系型数据库集群31,用于存储需要进行复杂计算的数据的Hadoop集群32,用于存储非结构化数据的MongoDB集群33。

在本实用新型一个优选的实施例中,所述系统入口出口模块1包括数据接入模块11和权限控制模块12,所述数据接入模块11用于导入用户数据,所述权限控制模块12用于处理外来请求权限校验和数据导出。针对数据的导入导出,本系统提供了http和文件型两种方式,其中http方式采用nginx+tomcat集群,以scale out模式来实现大批量高并发数据的导入导出,可突破传统scale up模式带来的性能瓶颈并减少开支;文件型导入导出则采用fastdfs集群文件服务器,可有效完成海量数据文件的导入导出。

在本实用新型的另一个优选的实施例中,所述数据分类模块21、数据筛选录入模块22、数据查询模块23、数据整合模块24之间数据的传输采用生产者消费者模式,并以Redis queue作为集群消息队列。采用生产者消费者模式可通过自由增加或减少系统的节点数进行性能调节,降低系统间的耦合,实现自由增加或减少服务器而不需要改动任何其它的服务器。数据分类模块21主要提供业务分类服务;由数据分类模块21分类后进入数据筛选录入模块22,数据筛选录入模块22主要提供数据筛选、清洗服务;数据整合模块24是对所有录入的数据进行基础整合归纳;数据查询模块23主要是基于业务需求的个性化请求 对初步整合归纳的录入数据进行二次整合分析,同时将整合数据中的结构化数据存储在关系型数据库中,充分发挥关系型数据库处理小数据通用性强及查询整合灵活多变的特点。

在本实用新型的某些实施例中,所述数据存储集群模块3的关系型数据库集群31为Redis集群。数据存储集群模块31包括有Redis集群31、Hadoop集群32、MongoDB集群33,分别提供了Redis、Hadoop、MongoDB三种数据库存储方式。其中Redis集群31采用master/slave的HA架构,主要用于队列管理及临时存储功能。Hadoop集群32包含了MR,hdfs,spark等Hadoop生态系统,主要提供基础存储能力和计算能力,同时具备K-mean算法,shift-k-mean算法,KNN算法,贝叶斯算法等基础算法,MongoDB集群33采用分片加上HA架构主要负责分类、筛选、清洗后的初始数据和二次整合数据的存储,以备数据查询系统进行数据查询与调用。

Hadoop生态系统中的shift-k-mean算法主要通过对较为规范的样本点进行归类,初始k值为2,原因是线性多维空间点可以通过Y=K1X1+K2X2+K3X3......+K(n-1)X(n-1)+KnXn表示,而简写为Y=f(Xn),以其最简单地可看为一条直线,2个不在同一直线的随机坐标点可以定位出一条直线,因此以2为初始值,计算k-mean,以中心点离最远点的距离标为f1,阈值为f2(通过系统优化发现阈值选为各中心之间距离的中值*1.5为佳),当存在f1>f2时候则k值+1,新的中心点为该最远点,重新计算k-mean,重复直到f1<f2,该算法解决了在确定的大数据集里采用k-mean算法进行归类时难以准确设定k值的问题。

shift-k-mean算法主要通过对较为规范的样本点进行归类,初始k值为2,原因是线性多维空间点可以通过Y=K1X1+K2X2+K3X3......+K(n-1)X(n-1)+KnXn表示,而简写为Y=f(Xn),以其最简单地可看为一条直线,2个不在同一直线的随机坐标点可以定位出一条直线,因此以2为初始值,计算k-mean,以中心点离最远点的距离标为f1,阈值为f2(通过系统优化发现阈值选为各中心之间距离的中值*1.5为佳),当存在f1>f2时候则k值+1,新的中心点为该最远点, 重新计算k-mean,重复直到f1<f2,由此算法可以解决在准确的大数据集里计算k-mean时难以准确设定k值的困难。由于本系统的数据来源于用户实际购买情况,数据精确且由数据分类模块21、数据筛选录入模块22对数据进行清洗,因此符合该算法使用场景。

以上所述是本实用新型以上所述是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本实用新型的保护范围。

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