掌桥专利:专业的专利平台
掌桥专利
首页

一种基于DBVC框架的数据模型、视图标准化方法及系统

文献发布时间:2023-06-19 10:19:37


一种基于DBVC框架的数据模型、视图标准化方法及系统

技术领域

本发明涉及数据存储领域,尤其涉及一种基于DBVC框架的数据模型、视图标准化方法及系统。

背景技术

在我们日常生活、工作和学习中,无时无刻都在产生着各种各样的信息,而信息在产生以后是需要一定的载体才能使其得以保存,数据库在这其中就扮演着重要的角色。数据库是存放数据的仓库,而这个仓库是按照我们设定的数据结构来进行组织、存储和管理数据,这样才能更加方便的对数据进行保留和使用。在当前与计算和大数据的时代背景下,也出现了越来越多的非关系型数据库。根据数据存储位置的不同,从大方向上将数据库分为磁盘数据库和内存数据库。而对于请求处理速度要求越来越高的时代背景下,磁盘数据库先天硬件不足的问题逐渐凸显,相比于磁盘数据库来说,内存数据库主要具有易扩展、低成本,在需要高性能、高并发、业务发展迅速的领域有比关系型数据库更大的优势。

而对于MVC (Model:业务数据,同时可包含业务逻辑;View:通过平台的 UI 组件对模型进行可视化;Controller:接收用户操作,修改模型,刷新视图)框架是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

随着Internet技术的飞速发展,基于MVC设计模式的软件开发在应用系统的设计和实现过程中得到了广泛的应用,MVC的设计思想虽然拥有众多优点,但是也存在如下缺点:

(1) MVC 及其改进型框架对数据模型的建立没有统一标准,只是用不同方式进行业务逻辑与视图的分离,而对于数据模型、视图的编码还有较大工作量,从而对开发人员有较高要求;

(2) MVC 发展于桌面应用时代,数据模型主要与本地文件或关系数据库进行数据同步,强调数据模型的结构化,难以处理非结构化和不可预知数据的需求,而对于互联网应用时代,业务发展迅速,更新频繁,结构化的数据模型难以扩展,难以与 NoSQL 数据库同步;

(3) 视图虽然可独立于数据、业务变化,但由于数据模型不标准,视图层也难以标准化,只能做到不影响数据和业务,但却受到数据和业务的影响。

发明内容

本发明的目的在于,针对上述内容的现有缺陷,为解决现有的MVC框架存在的数据模型没有统一标准,从而使视图层无法标准化等问题,提出一种基于DBVC框架的数据模型、视图标准化方法及系统。

本发明通过以下技术方案实现:

一种基于DBVC框架的数据模型、视图标准化方法,包括以下步骤:

S1. 通过内存数据库,将数据模型实例存储至数据库节点,并将所述实例的属性添加至实例节点的子节点;

S2. 通过数据模型实例节点,建立数据模型代理,对所述实例的属性进行添加、删除、修改、查询操作;

S3. 通过配置视图信息,将视图与数据模型进行关联;

S4. 通过多种视图组装,对数据模型进行展示。

进一步的,所述步骤S3还包括以下子步骤:

S301. 配置视图的数据查询信息;

S302. 配置视图的数据属性信息;

S303. 根据步骤S301的视图数据查询信息,从数据库中获取数据节点,并根据步骤S302的视图数据属性信息,从所述数据节点获取子节点作为参数;

S304. 将参数作为本视图界面刷新参数。

进一步的,当数据查询器在内存数据库中查询数据节点,通过以下两种非顺序执行方式进行检索:

A. 通过 value 所在节点到根节点的 key 组成的路径对 value 进行访问;

B. 通过 SQL 语句进行查询过滤统计操作。

进一步的,所述步骤A用于对非数组类型节点的查询;所述步骤B用于对数组类型节点的查询。

进一步的,所述步骤S4中视图的组装通过可视化编辑器,进行编辑并生成配置,在运行期完成组装。

一种基于DBVC框架的数据模型、视图标准化系统,包括:

数据持久层:对内存数据库进行加载与保存;

内存数据库:接收业务逻辑层发送的操作请求,对数据模型实例进行更新,将数据变化信息发送至业务逻辑层,并对视图层发送更新视图请求;

业务逻辑层:通过数据模型实例节点,建立数据模型代理,通过接收控制器发送的请求,对数据模型实例进行属性的添加、删除、修改操作;

控制器:接收视图层发送的用户操作请求,并对业务逻辑层发送请求;

视图层:通过多种视图组装,对数据模型进行展示。

本发明的有益效果:

(1)数据模型标准化,让数据模型的定义存储与平台、语言无关,利于业务需求分析与沟通;

(2)视图组件化、标准化,由于数据模型的标准化,让视图组件化成为可能,不需要为每个数据模型定制视图,而是通过视图组件组装视图,每个平台只需实现基础的视图组件,就可以用于所有数据模型的展示,减少视图层的重复编码;

(3)由于数据模型、视图的标准化,与平台特性相关的工作可在不同项目间复用,业务需求的实现只进行数据模型代理、控制器的编码即可完成,这部分工作与需求联系紧密,易于理解。与传统方案相比,减小 30% 以上编码量,节省 30% 以上项目开发周期。

附图说明

图1为本发明的方法流程框图;

图2为本发明的系统架构图;

图3为本发明的实施例登录系统数据模型代码示意图;

图4为本发明的实施例登录玩家数据模型代码示意图;

图5为本发明的实施例建立登录系统数据模型代理代码示意图

图6为本发明的实施例系统初始化代码示意图;

图7为本发明的实施例功能开发代码示意图;

图8为本发明的实施例登录界面UI示意图;

图9为本发明的实施例命令开发代码示意图;

图10为本发明的实施例视图组件开发代码示意图;

图11为本发明的实施例登录角色的视图组装UI示意图;

图12为本发明的实施例数据变更代码示意图;

图13为本发明的实施例数据变更后UI示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1

如图1所示,一种基于DBVC框架的数据模型、视图标准化方法,包括以下步骤:

S1. 通过内存数据库,将数据模型实例存储至数据库节点,并将所述实例的属性添加至实例节点的子节点;

S2. 通过数据模型实例节点,建立数据模型代理,对所述实例的属性进行添加、删除、修改、查询操作;

S3. 通过配置视图信息,将视图与数据模型进行关联;

S4. 通过多种视图组装,对数据模型进行展示。

进一步的,所述步骤S3还包括以下子步骤:

S301. 配置视图的数据查询信息;

S302. 配置视图的数据属性信息;

S303. 根据步骤S301的视图数据查询信息,从数据库中获取数据节点,并根据步骤S302的视图数据属性信息,从所述数据节点获取子节点作为参数;

S304. 将参数作为本视图界面刷新参数。

进一步的,当数据查询器在内存数据库中查询数据节点,通过以下两种非顺序执行方式进行检索:

A. 通过 value 所在节点到根节点的 key 组成的路径对 value 进行访问;

B. 通过 SQL 语句进行查询过滤统计操作。

进一步的,所述步骤A用于对非数组类型节点的查询;所述步骤B用于对数组类型节点的查询。

进一步的,所述步骤S4中视图的组装通过可视化编辑器,进行编辑并生成配置,在运行期完成组装。

实施例2

基于实施例1的方法原理,提出一种基于DBVC框架的数据模型、视图标准化系统,如图2所示,包括:

数据持久层:对内存数据库进行加载与保存;

内存数据库:接收业务逻辑层发送的操作请求,对数据模型实例进行更新,将数据变化信息发送至业务逻辑层,并对视图层发送更新视图请求;业务逻辑层:通过数据模型实例节点,建立数据模型代理,通过接收控制器发送的请求,对数据模型实例进行属性的添加、删除、修改操作;

控制器:接收视图层发送的用户操作请求,并对业务逻辑层发送请求;

视图层:通过多种视图组装,对数据模型进行展示。

实施例3

本实施例以MemDB内存数据库说明:

MemDB 内存数据库是 key-value 字典类型的 NoSQL 内存数据库,value 的类型有字符串、数值、布尔值、字典、数组、空。数据库以一个根节点开始,所有数据存储在此根节点下。通过 value 所在节点到根节点的 key 组成的路径对 value 进行访问。对于数组类型的节点,可通过 SQL 语句进行查询过滤统计操作。

具体方法步骤为:

1.通过内存数据库,将数据模型实例存储到数据库节点下,将实例的属性添加到实例节点的子节点,由于节点可在运行期动态增删,不需预定义,以此实现数据模型的非结构化;

2.通过数据模型实例节点,建立数据模型代理,对该实例进行属性的添加、删除、修改等操作,将数据与业务逻辑分离;

3. 视图组件通过以下步骤完成界面的展示:

(1). 配置视图的数据查询信息;

(2). 配置视图的数据属性信息;

(3). 检索器通过(1)从数据库中获取数据节点,再根据(2)从该数据节点获取子节点 作为参数;

(4). 将参数作为本视图界面刷新参数;

4. 因视图组件化,数据模型的展示由多种视图组装完成,视图的组装通过可视化编辑器编辑并生成配置,在运行期加载完成组装。

实施例4

本实施例以 MMORPG 的登录系统游戏产品开发为例:

1.通过需求分析,使用 json 文本建立登录系统数据模型和登录玩家数据模型;

如图3,登录系统数据模型: login.json;

如图4,登录玩家数据模型: login_user.json。

2.如图5,建立登录系统数据模型代理,代理提供对数据模型的操作接口,实现数据与业务的分离。

3.初始化系统

功能开发具体实现代码如图6所示,包括以下步骤:

(1) 加载系统入口数据模型到内存数据库;

(2) 创建数据模型代理实例。

4.实现代理

实现代理具体实现代码如图7所示,包括以下步骤:

(1) 根据需求完善代理的操作接口;

(2) 通过接口对数据进行:增加、删除、修改等操作,完成对数据模型的管理。

5.实现命令

(1) 如图8,玩家点击“登录”按钮后,操作请求通过控制器分发到命令处理器进行响应;

(2) 如图9,命令处理器中对参数进行解析,调用登录代理的 Login 接口响应操作请求。

6.实现视图组件

视图组件的实现代码如图10所示,包括以下步骤:

(1) 视图组件是对平台的UIWidget的封装;

(2) 视图组件通过绑定数据模型的一个或多个字段实现数据的展示;

(3) 该视图不仅限于显示登录系统的展示,通过字段配置的不同,可显示不同数据模型。

7.视图组装

(1) 一个数据模型的视图展示通过一个或多个视图组件组装完成;

(2) 如图11,展示登录角色的视图组装:

一个图标组件展示角色的 icon 字段;

两个文本组件分别展示 name、lvl 字段。

8.数据->视图

(1) 视图通过查询器绑定将要显示的数据;

(2) 当数据填充或变化后,查询器将自动通知视图显示数据,视图显示如图12、13。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

相关技术
  • 一种基于DBVC框架的数据模型、视图标准化方法及系统
  • PHP框架下基于分组目录和单一入口的视图呈现方法及系统
技术分类

06120112502559