zoukankan      html  css  js  c++  java
  • NoSql-Verson1.0

    业务需求分析

    模拟数据库操作:DCLDMLDQL

    【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");//先将状态改为1

    lastCol.setAttributeValue("write", "1");


    eleNew.addAttribute("write", "0");
    eleNew.addText(cols.get(key));

  • 相关阅读:
    fidller 打断点
    随笔
    HTML标签介绍
    补充9.27----9.28
    html5_______9.26
    9.14
    9.13笔记
    9.12笔记
    CSS样式的引用
    html5_______9.10
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13109857.html
Copyright © 2011-2022 走看看