NoSql-Verson1.0
业务需求分析
模拟数据库操作:DCL\DML\DQL\
【1】登录验证
【2】基本的增删改查操作
==================后话================
【3】数据安全方面
【4】操作性能,效率
代码逻辑分析
【1】采用TCP协议,客户端与服务端访问
【2】对于客户端需求细分:
-登录:数据库产品名 用户名称 账号密码 ex: mydb root 123456
-设置登录实效: 通过UUID进行上次登录时间的记录;超过时长,强制重新登录,更新UUID
-
-创建数据库:create database scott;通过UUID进行校验是否注册,如果未通过直接提示登录错误类型
-创建对应数据库的数据表:create table scott:salgrade grade,losal,hisal;
-添加对应数据库数据表的数据:put scott:user row2 id:0002,name:macro2,age:30,sal:18000,bonus:3000,time:20200531,departID:10001
-更新对应数据库数据表的数据:set scott:user row1 name:xiaohai,sal:25000,bonus:3200
-
【3】服务端需求细分
-设置配置信息的刷新
-每隔30分钟刷新一次,设置守护线程完成
-增删改查的调度模式:通过工厂模式实现
-配置项的实体类封装
-
-通过封装实体类,更便于修改配置,对应增删改查操作
-操作成功失败状态码:同理
-check 阶段:主要是对语法的校验
-用户校验阶段:区分首次登陆与后续操作数据库不同,主要是通过是否带有UUID或者唯一标识来表达
-创建数据库:通过UUID进行校验是否注册,如果未通过直接提示登录错误类型
-创建对应数据库的数据表:
-添加对应数据库数据表的数据:
-更新对应数据库数据表的数据:
-build 阶段:主要通过对sql语句的解析过程【主要包括动作:create,update,put,get,delete 操作对象:database,table,columns】
-创建数据库:通过UUID进行校验是否注册,如果未通过直接提示登录错误类型
-创建对应数据库的数据表:
-添加对应数据库数据表的数据:
-更新对应数据库数据表的数据:
【4】所有的配置信息
-采用XML的方式进行保存,所有的注册信息
【5】缓存器的应用:单例模式的典型应用
-配置缓存器,存放所有基本配置
-配置刷新时间、最大最小连接数、
-链接地址、端口号
-根路径、数据路径
-用户名、密码
-等
-服务器缓存器,存放当前用户的登陆时间
-数据缓存器:
-线程池缓存等
【6】数据安全:锁机制 synchronized
-事务锁机制
-
【7】异常处理问题:
-运行时异常,不需要进行处理
-
【8】详细实现:操作底层,创建路径,生成数据,保存文件等操作——对数据的操作
-建库建表
-查询:executeQuery
-更改:executeUpdate
-
lastCol.remove(lastCol.attribute("write"));
lastCol.addAttribute("write", "1");//先将状态改为1lastCol.setAttributeValue("write", "1");
eleNew.addAttribute("write", "0");
eleNew.addText(cols.get(key));