【技术实现步骤摘要】
用于非关系型数据库的数据设置方法和存储介质
[0001]本申请涉及数据管理领域,特别是涉及用于非关系型数据库的数据设置方法和存储介质
。
技术介绍
[0002]数据管理是软件开发中的关键部分,应用程序工作时需处理大量数据,对其进行储存
、
访问和修改等操作
。
目前,数据管理方法通常是针对关系型数据库而设计的
。
例如对象关系映射(
Object Relational Mapping
,简称
ORM
)将关系型数据库与面向对象的编程语言进行映射,将数据库表映射为对象,表中的行映射为所述对象的实例,将数据库操作封装成类方法,通过调用类方法实现对数据库的操作,开发人员基于面向对象的查询语言与数据库进行交互
。
在上述方式中,映射是基于数据模型的属性与关系型数据库表的字段一一对应而实现的,抽象层缺乏弹性,一旦出现操作需求的变更,就需要修改抽象层的接口,且抽象层同时与数据模型和数据库绑定,不论数据模型还是数据库发生变化,都需要修改 ...
【技术保护点】
【技术特征摘要】
1.
一种用于非关系型数据库的数据设置方法,其特征在于,包括:在接收到用户针对非关系型数据库中目标数据的操作请求时,基于预设的数据模型创建针对所述目标数据的目标数据实例,所述数据模型基于
traits
库中的
HasPrivateTraits
类实现;所述目标数据实例的唯一标识属性为所述目标数据在所述非关系型数据库中的键,所述目标数据实例序列化后的值为所述目标数据在所述非关系型数据库中的值;基于针对所述非关系型数据库构建的数据管理模型,创建数据管理实例;其中,所述数据管理模型中的数据操作方法基于所述非关系型数据库提供的数据操作接口实现;根据所述目标数据实例的数据管理私有属性,以及所述数据管理实例中的单条数据新增接口,在创建所述目标数据实例时将所述目标数据实例与所述数据管理实例关联;判断所述目标数据实例中的数据管理实例是否存在,若存在,则确定所述目标数据实例的待操作属性的属性类型和加载机制;根据所述待操作属性的属性类型和加载机制,调用所述目标数据实例所关联的数据管理实例的所述数据操作方法,对所述目标数据进行操作
。2.
根据权利要求1所述的用于非关系型数据库的数据设置方法,其特征在于,所述操作请求为属性修改请求;所述根据所述待操作属性的属性类型和加载机制,调用所述目标数据实例所关联的数据管理实例的所述数据操作方法,对所述目标数据进行操作,包括:在所述待操作属性不为预定义内置属性,且所述待操作属性属于数据库加载属性集合的情况下,以所述目标数据实例的唯一标识和待操作属性名为输入参数,调用所述目标数据实例所关联的数据管理实例的属性设置方法,对所述待操作属性进行设置
。3.
根据权利要求2所述的用于非关系型数据库的数据设置方法,其特征在于,所述方法还包括:在所述待操作属性不为所述预定义内置属性,且所述待操作属性属于懒加载属性集合的情况下,将所述待操作属性从所述懒加载属性集合中移除,并通过
HasPrivateTraits
类的属性设置魔术方法和所述目标数据实例所关联的数据管理实例的属性设置方法对所述待操作属性进行设置
。4.
根据权利要求1所述的用于非关系型数据库的数据设置方法,其特征在于,所述操作请求为属性获取请求;所述根据所述待操作属性的属性类型和加载机制,调用所述目标数据实例所关联的数据管理实例的所述数据操作方法,对所述目标数据进行操作,包括:在所述待操作属性不为预定义内置属性,且所述待操作属性属于数据库加载属性集合的情况下,以所述目标数据实例的唯一标识和待操作属性名为输入参数,调用所述目标数据实例所关联的数据管理实例的属性获取方法,获取所述待操作属性的属性值
。5.
根据权利要求4所述的用于非关系型数据库的数据设置方法,其特征在于,所述方法还包括:在所述待操作属性不为所述预定义内置属性,且所述待操作属性属于懒加载属性集合的情况下,通过所述目标数据实例所关联的数据管理实例的属性获取方法,从所述非关系型数据库中获取与所述待操作属性对应的属性值;通过
HasPrivateTraits
类的属性设置魔术方法,为所述待操作属性设置所述从所述非关系型数据库中获取的属性值;通过
HasPrivateTraits
类的属性获取魔术方法从内存中获取所述待操作属性设置后
的属性值;将所述待操作属性从所述懒加载属性集合中移除
。6.
【专利技术属性】
技术研发人员:张军阳,王辰,张瑜,徐大为,王志超,郑若楠,李媛媛,蒋田仔,
申请(专利权)人:之江实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。