1、VDNnt数据库设计说明书 作者: 日期:2 个人收集整理 勿做商业用途VDN-nt项目数据库设计说明书版 本 修 订 历 史版本作者修订原因完稿日期备注1.0张玉斌200859设计基线稿 目 录 1数据库环境说明42数据库的命名规则43逻辑设计44物理设计44.1数据字典(即数据表汇总)44.1。1user (登录用户)44.1。2user_group (登录用户组)54。1.3customer (客户,企业或代理商或个人用户)64.1。4device (设备)74.1.5tunnel_template (隧道模板)84.1。6connect_policy (隧道策略)104。1。7conn
2、ect(连接,即隧道)104。1.8trap_type (告警类型或告警策略)114。1。9trap(告警)114。1。10event(事件或日志)124。1.11device_otls (设备OTLS连接,即设备到VDN的连接信息,存放于内存)134。1.12vdn_state (VDN状态用于分布式特别是对称分布式的VDN选取,存放于内存)135安全性设计135。1防止用户直接操作数据库的方法135.2用户帐号密码的加密方法135.3角色与权限146优化147数据库管理与维护说明14模板编号及版本:RDM-T041 (V1.0) 研发管理部第18页 共18页1 数据库环境说明VDNNT数据
3、库采用MySQL系统,运行在Linux操作系统上,使用C/C+为编程语言进行开发。VDN-NT项目只在VDN或专门数据库服务器上存放数据,再APN和管理客户端都不存放数据库。2 数据库的命名规则VDNNT数据库命名为vdn。3 逻辑设计提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD).如果采用面向对象方法(OOAD),这里实体相当于类(class).4 物理设计4.1 数据字典(即数据表汇总)4.1.1 user (登录用户)FIELD TYPENULKEYDEFAULTNOTEUserIdUBigInt(20)PRINULL用户标识,以UUID的ASCCI开始,
4、Auto_incrementLoginNamevarchar(32)登录用户名(ASCII),用于登录用户标识,具有唯一性.RealNamevarchar(64)用户真实姓名(GB2312),可以重复GroupIdUBigInt(20)用户组标识CustumerIdUBigInt(20)用户所属企业标识Passwordvarchar(128)用户登录密码(ASCII方式)StatusUint用户状态,如欠费、密码过期等:0 - 正常1 - 密码过期2 - 用户欠费3 - 用户注销ValidTimeInt有效期,-1表示无限制Telvarchar (20)YNULL默认电话号码OfficeTel
5、varchar (20)YNULL公司电话号码MobileTelvarchar (20)YNULL移动电话号码HomeTelvarchar (20)YNULL家庭电话号码FaxTelvarchar (20)YNULL传真电话号码Addressvarchar (128)YNULL联系地址(GB2312)ZipCodevarchar (20)YNULL邮政编码Emailvarchar (40)YNULL电子邮件HomePagevarchar (64)YNULL公司主页RegisterTimedateTime注册时间LastChangeTimedateTime最近修改时间LastLoginTimed
6、ateTime最近登录时间4.1.2 user_group (登录用户组)FIELD TYPENULKEYDEFAULTNOTEGroupIdUBigInt(20)PRINULL用户组标识,以GUID开始, Auto_incrementGroupNamevarchar(64)1用户组名(GB2312)CustomerIdUBigInt(20)企业标识,用户组所属企业范围,1标识OLYM公司,即所有管理企业VdnRightUBigInt(20)管理VDN的权限:Bit 0 - VDN日志查看Bit 1 - VDN日志删除Bit 2 - VDN 系统升级Bit 3 VDN 数据库密码更改Bit 4
7、 - VDN root密码更改UserRightUBigInt(20)管理用户和用户组的权限:Bit 0 - 修改自己信息Bit 1 - 查看其他用户Bit 2 - 修改其他用户Bit 3 - 增删用户Bit 4 - 查看用户组Bit 5 - 修改用户组Bit 6 - 增删用户组DeviceRightUBigInt(20)管理网元的权限:Bit 0 - 查看网元Bit 1 - 修改网元信息Bit 2 增删网元Bit 3 - 重启网元ServiceRightUBigInt(20)管理业务的权限:Bit 0 - 查看连接Bit 1 - 修改连接Bit 2 - 增删连接Bit 3 - 查看隧道模板B
8、it 4 修改隧道模板Bit 5 - 增删隧道模板Bit 6 - 查看隧道策略Bit 7 - 修改隧道策略Bit 8 - 增删隧道策略Bit 9 - 实时监控TrapRightUBigInt(20)管理告警的权限:Bit 0 - 查看告警Bit 1 - 删除告警Bit 2 - 查看告警类型Bit 3 - 修改告警类型Bit 4 - 增删告警类型CreateTimedateTime创建时间LastChangeTimedateTime最近修改时间4.1.3 customer (客户,企业或代理商或个人用户)FIELD TYPENULKEYDEFAULTNOTECustomerIdUBigInt(2
9、0)PRINULL用户组标识,以CUID开始,Auto_incrementCustomerNamevarchar(64)1客户名称(GB2312)AgentIdUBigInt(20)所属代理商标识,如果是Agent客户,则与CustomerId相同AdminIdUBigInt(20)管理员用户标识VDOMAINvarchar (32)所属虚拟域VDOMAINRepresentativevarchar (64)法人代表(GB2312)Addressvarchar (128)企业地址(GB2312)UsedLicenseint已经使用License数码FreeLicenseint有效Licence
10、数目Statusint企业状态(如欠费等)0 - 正常1 - 企业欠费2 - 企业注销IsAgentint是否代理商:1是,0否CreateTimedateTime创建时间LastChangeTimedateTime最近修改时间4.1.4 device (设备)FIELD TYPENULKEYDEFAULTNOTEDeviceIdUBigInt(20)设备IDDeviceNamevarchar (64)设备名称(GB2312)DeviceTypeint设备类型:1 - VDN2 - IPSEC APN3 IPSEC移动客户端4 - SSL VPNUserIdUBigInt(20)使用用户(如移
11、动客户端登录用户)IdCustomerIdUBigInt(20)所属企业标识AgentIdUBigInt(20)所属代理商标识AdminIdUBigInt(20)管理员标识VDOMAINvarchar (32)所属虚拟域VDOMAINVHOST varchar (32)虚拟主机名VHOSTPasswordvarchar (128)用于建立连接的秘密信息MacAddressVarbinary(18)MAC地址StatusUint设备状态:1 - 设备启动2 - 设备登录VDN3 - 设备连接建立4 - 设备密码过期5 - 企业欠费6 - 设备无法连接其他 设备异常代码WanLinkModeUin
12、tWAN连接模式:0 - ADSL(PPPoE)1 DDN2 - ISDN4 - DialupWanIpUintWAN IP地址WanSubnetMaskUintWAN子网掩码WanGatewayUintWAN缺省网关VLanIpUintVLAN IP地址VLanSubnetMaskUintVLAN子网掩码VLanGatewayUintVLAN缺省网关CreateTimedateTime创建时间LastChangeTimedateTime最近修改时间4.1.5 tunnel_template (隧道模板)FIELD TYPENULKEYDEFAULTNOTETemplateIdUint模板标识
13、TemplateNamevarhar(64)模板名称(GB2312)TemplateTypeInt模板类型:0 - 自动隧道1 - 手工隧道CryptPolicyInt加密策略:1 - 证书策略2 PSK策略TunnelPolicyUint隧道策略:Bit 0 - 是否加密Bit 1 - 是否启用PFSBit 2 - 是否启用RekeyBit 3 是否启用IP压缩Bit 4 - 是否启用源地址检查Bit 5 - 是否使用野蛮模式Bit 6 - 是否隧道模式IkeSaLifeIntIKE SA LifetimeIpsecSaLifeIntIPSEC SA LifetimeSaRekeyMargi
14、nIntSaRekeyFuzzIntSaKeyingTriesIntDpdDelayIntDpdTimeoutIntIkeCryptTypeIntIKE加密算法:0 无1 - 3DES2 - AES3 - Blowfish4 - Cast5 - Serpent6 - TowfishIkeHashTypeIntIKE 校验算法:0 - 无1 MD52 - SHA3 - SHA2_256IkeModTypeIntIKE 模组:0 - 无1 - mod7682 - mod10243 - mod15364 - mod20485 - mod30726 - mod40967 mod6148 - mod81
15、9EspCryptTypeIntESP加密算法:0 - 无1 - 3DES2 - AES3 - Blowfish4 - Cast5 - Serpent6 - TowfishEspHashTypeIntESP 校验算法:0 - 无1 - MD52 - SHA13 - SHA2_2564 - SHA2_512CreateTimedateTime创建时间LastChangeTimedateTime最近修改时间4.1.6 connect_policy (隧道策略)FIELD TYPENULKEYDEFAULTNOTEPolicyIdUint策略标识PolicyNamevarhar(64)策略名称(GB
16、2312)VDOMAINchar(32)所属虚拟域VDOMAINToplogyUint拓朴定义:1:网状2:星状8:线状TemplateIdUint隧道模板标识MainDeviceIdUBigInt(20)中心节点标识SlaveDevicesvarchar (512)从动节点范围,可以用符号表明范围,“,“表明多个CreateTimedateTime创建时间LastChangeTimedateTime最近修改时间4.1.7 connect(连接,即隧道)FIELD TYPENULKEYDEFAULTNOTEConnectIdUint连接标识ConnectNamevarhar(64)连接名称(G
17、B2312)VDOMAINchar(32)所属虚拟域VDOMAINSourceDeviceIdUBigInt(20)连接源设备标识SourceDeviceNameVarchar(64)连接源设备名称TargetDeviceIdUBigInt(20)连接目的设备标识TargetDeviceNameVarchar(64)连接目的设备名称TemplateIdUint隧道模板IdPolicyIdUint隧道策略IdStatusUint连接状态:0 - 正常连接1 - 连接断开NextHopUint下一跳地址CreateTimedateTime创建连接时间LastConnectTimedateTime最
18、近建立连接时间LastDisconnectTimedateTime最近断开连接时间4.1.8 trap_type (告警类型或告警策略)FIELD TYPENULKEYDEFAULTNOTETrapTypeIdUint告警标识TrapLevelUint告警级别:1 严重告警2 - 故障告警3 - 一般告警4 - 提醒(通知)5 - 调试TrapNotiftyTypeUint告警通知方法:1 - 日志(数据库存储)2 - 对话框3 - 声音4 - 邮件5 - 短信4.1.9 trap(告警)FIELD TYPENULKEYDEFAULTNOTETrapIdUint告警序号DeviceIdUBig
19、Int(20)发起告警设备标识TrapTypeIdUint告警类型TrapTimedateTime告警时间TrapLenInt告警内容长度TrapContentvarbinary(512)告警内容4.1.10 event(事件或日志)FIELD TYPENULKEYDEFAULTNOTEEventIdUint事件(日志)标识SourceIdUBigInt(20)日志发起源(设备或用户)标识EventTypeUint日志类型:1. OTLS连接请求;2. OTLS连接成功;3. OTLS连接失败;4. OTLS连接断开;5. 退出登录;6. SNMP Startup;7. 创建用户;8. 修改用
20、户;9. 删除用户;10. 创建用户组;11. 修改用户组;12. 删除用户组;13. 创建客户;14. 修改客户;15. 删除客户;16. 创建设备;17. 修改设备;18. 删除设备;19. 创建隧道模板20. 修改隧道模板21. 删除隧道模板22. 创建隧道策略23. 修改隧道策略24. 删除隧道策略25. 创建连接26. 修改连接27. 删除连接28. 创建告警类型29. 修改告警类型30. 删除告警类型31. 删除告警32. 删除日志EventContentvarbinary(512)日志内容4.1.11 device_otls (设备OTLS连接,即设备到VDN的连接信息,存放于内
21、存)FIELD TYPENULKEYDEFAULTNOTEConnectIdUint连接序号DeviceIdUBigInt(20)发起连接设备标识VdnIpUint连接VDN IP地址ConnectTimedateTime创建连接时间4.1.12 vdn_state (VDN状态用于分布式特别是对称分布式的VDN选取,存放于内存)FIELD TYPENULKEYDEFAULTNOTEDeviceIdUBigInt(20)VDN设备IDDeviceCountUint连接的设备数目UserCountUInt连接的用户(客户端)数目VdnIpUintVDN IP地址5 安全性设计5.1 防止用户直接
22、操作数据库的方法 数据库访问帐号和密码都是在软件中写死的,用户无法知道数据库访问接口。 可以考虑用专门服务器存放数据库,该设备与其他VDN通过局域网连接,与外网无直接连接,这样就从更本上防止了用户的访问.5.2 用户帐号密码的加密方法本系统采用的SRP5密钥交换协议,在数据库中存放的是根据用户密码进行换算后的不可识别的秘密字串,从该字串无法反响生成用户密码的明文信息.基于以上原因,当用户忘记密码后,无法取回原有密码信息,而只有重置为新的随机密码,用户用生成的随机密码登录后再进行密码更改.5.3 角色与权限提示:确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。角色可以访问的表与列操作权限角色A角色B6 优化提示:分析并优化数据库的“时空效率,尽可能地“提高处理速度”并且“降低数据占用空间”.(1)分析“时空”效率的瓶颈,找出优化对象(目标),并确定优先级。(2)当优化对象(目标)之间存在对抗时,给出折衷方案。(3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。优先级优化对象(目标)措施7 数据库管理与维护说明提示:在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。