[发明专利]基于MongoDB的Collection版本控制方法及系统有效
申请号: | 202010033770.1 | 申请日: | 2020-01-13 |
公开(公告)号: | CN111198711B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 李雨雨;魏超;肖彦科;杨森;常鹏;杨俊毅 | 申请(专利权)人: | 陕西心像信息科技有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/30 |
代理公司: | 西安佩腾特知识产权代理事务所(普通合伙) 61226 | 代理人: | 姚敏杰 |
地址: | 710061 陕西省西安市曲江新区雁翔路以东南*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mongodb collection 版本 控制 方法 系统 | ||
1.一种基于MongoDB的Collection版本控制方法,其特征在于:所述基于MongoDB的Collection版本控制方法包括以下步骤:
1)创建领域实体基类Entity,其中定义有主键和创建时间两属性,主键须标有BsonId以及BsonRepresentation两特征,其他领域实体均继承自该基类;
2)创建各领域实体类,所述各领域实体类继承自步骤1)所创建的实体基类Entity;
3)创建自定义配置属性类Settings,其中定义有MongoDB的连接字符串以及操作数据库名称两属性,用于读取应用配置文件中的自定义全局变量值;
4)创建上下文接口类IContext,其中定义有数据库集合版本Version属性以及多个步骤2)创建的领域实体IMongoCollection泛型集合;
5)创建数据库上下文实现体DataContext类,所述数据库上下文实现体DataContext类继承自步骤4)创建的上下文接口类IContext,在类DataContext的构造函数中实例化类型为IMongoDatabase的MongoDB数据库全局只读变量、初始化数据库集合版本Version属性值、实例化领域实体IMongoCollection泛型集合,集合名称实例化规则是集合名称+下划线+版本号Version属性值;
6)创建数据仓储泛型接口类IRepositoryT,其中类型T继承自步骤1)创建的实体基类Entity,在该类中定义各种对步骤2)所创建的领域实体数据操作的业务方法声明,至此核心类信息创建完成;
7)创建业务逻辑实现类,所述业务逻辑实现类继承自步骤6)所创建的数据仓储泛型接口类IRepositoryT,其中T是步骤2)所创建的某一领域实体类;
8)在步骤7)所创建的业务逻辑实现类的构造函数中初始化上下文接口类IContext的全局变量和该类要操作的MongoDB中的领域实体类集合版本号,至此利用上下文接口类IContext的全局变量对领域实体类集合的各类操作均为初始化版本号的集合数据。
2.根据权利要求1所述的基于MongoDB的Collection版本控制方法,其特征在于:所述步骤6)中的声明的具体方式是:同步增删改查或异步增删改查。
3.一种基于MongoDB的Collection版本控制系统,其特征在于:所述基于MongoDB的Collection版本控制系统包括:
基类模块,所述基类模块定义了为包含所有实体的共性,包含共性为主键和创建时间,其他领域的类必须继承该基类;
实体类模块,主要是作为数据管理和业务逻辑处理层面上存在的类别,主要在分析阶段区分实体类的主要职责是存储和管理系统内部的信息;
接口模块,包含对协定进行定义的引用类型,用于对业务逻辑操作中方法的定义;创建上下文接口类IContext,其中定义有数据库集合版本Version属性以及多个创建的领域实体IMongoCollection泛型集合;创建数据库上下文实现体DataContext类,所述数据库上下文实现体DataContext类继承自上下文接口类IContext,在类DataContext的构造函数中实例化类型为IMongoDatabase的MongoDB数据库全局只读变量、初始化数据库集合版本Version属性值、实例化领域实体IMongoCollection泛型集合,集合名称实例化规则是集合名称+下划线+版本号Version属性值;
实现类模块,关注点主要集中在业务规则的制定、业务流程的实现与业务需求有关的系统设计;
连接类模块,实现对MongDB的连接以及继承连接接口,并对连接接口定义的方法进行逻辑实现,利用上下文连接接口类IContext的全局变量对实体类模块集合的各类操作均为初始化版本号的集合数据;
连接接口模块,为定义操作MongDB层的逻辑接口;
连接模块,定义了全局的连接MongDB的字符串和操作数据库的两大属性;
所述基类模块通过实体类模块以及接口模块接入实现类模块;所述连接模块通过连接接口模块以及连接类模块接入实现类模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西心像信息科技有限公司,未经陕西心像信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010033770.1/1.html,转载请声明来源钻瓜专利网。