[发明专利]基于MongoDB的Collection版本控制方法及系统有效
申请号: | 202010033770.1 | 申请日: | 2020-01-13 |
公开(公告)号: | CN111198711B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 李雨雨;魏超;肖彦科;杨森;常鹏;杨俊毅 | 申请(专利权)人: | 陕西心像信息科技有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/30 |
代理公司: | 西安佩腾特知识产权代理事务所(普通合伙) 61226 | 代理人: | 姚敏杰 |
地址: | 710061 陕西省西安市曲江新区雁翔路以东南*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mongodb collection 版本 控制 方法 系统 | ||
本发明涉及一种基于MongoDB的Collection版本控制方法及系统,包括创建领域实体基类Entity、创建各领域实体类、创建自定义配置属性类Settings、创建上下文接口类Icontext、创建数据库上下文实现体DataContext类、创建数据仓储泛型接口类IRepositoryT、创建业务逻辑实现类以及在所创建的业务逻辑实现类的构造函数中初始化上下文接口类IContext的全局变量和该类要操作的MongoDB中的领域实例类集合版本号。本发明的代码逻辑清晰、容易上手管理、便于一些业务逻辑的实现以及能很好的解决项目中集成数据结构复杂且后期集成数据量较大时数据杂乱。
技术领域
本发明属于数据处理技术领域,涉及一种Collection版本控制方法及系统,尤其涉及一种基于MongoDB的Collection版本控制方法及系统。
背景技术
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。一个MongoDB实例可以包含一组数据库,一个DataBase可以包含一组Collection(集合),一个集合可以包含一组Document(文档)。一个Document包含一组field(字段),每一个字段都是一个key/valuepair。
现有技术在处理数据集成类项目中,因为需要集成的数据内容结构复杂且变更频繁,因此采用MongoDB对该类集成数据进行存储管理是最优方案,后期集成数据量大时也较容易进行分布式部署。然而针对集成内容变更频繁的场景,通常有两种解决方案:
1)在同一Collection中将多个集成内容版本通过一个版本字段进行记录,对于集成数据结构简单、数据量小的场景,这种方式是一种很不错的选择。
2)集成数据结构复杂且后期集成数据量较大时方案1)的劣势则体现的淋漓尽致,对于此想到了将不同集成内容版本的集成数据放在不同的Collection中进行管理,然而如何利用一套针对某一领域的数据业务接口操作不同集成内容版本的Collection集合数据仍然是存在问题。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种代码逻辑清晰、容易上手管理、便于一些业务逻辑的实现以及能很好的解决项目中集成数据结构复杂且后期集成数据量较大时数据杂乱的基于MongoDB的Collection版本控制方法及系统。
为了实现上述目的,本发明采用如下技术方案:
一种基于MongoDB的Collection版本控制方法,其特征在于:所述基于MongoDB的Collection版本控制方法包括以下步骤:
1)创建领域实体基类Entity,其中定义有主键和创建时间两属性,主键须标有BsonId以及BsonRepresentation两特征,其他领域实体均继承自该基类;
2)创建各领域实体类,所述各领域实体类继承自步骤1)所创建的实体基类Entity;
3)创建自定义配置属性类Settings,其中定义有MongoDB的连接字符串以及操作数据库名称两属性,用于读取应用配置文件中的自定义全局变量值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西心像信息科技有限公司,未经陕西心像信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010033770.1/2.html,转载请声明来源钻瓜专利网。