时间: 2021-07-03 22:29:21 人气: 20 评论: 0
运营商提供给客户的Unix实验室使用权并不是免费的,因此,实验室提供者必须拥有一个计费系统,能够把客户使用服务器的时长数据进行统计,从而在要求的时间段内,对客户应缴费用作为凭证。为此,该Unix数据采集系统必须记录以下的数据:用户的客户机IP,登入和登出实验室的时间,在线时长,客户用户名,登录的实验室IP。
所以,本课题研究的目标系统正是为该业务服务的,可以收集Unix服务器所记载的用客户的登入以及登出的最初期数据,再把收集到的数据匹配整理成独立的客户在线记录,之后给记录收集服务器端进行传送,再把收到的数据按日期为后缀的形式从服务器存储到数据库里,最后处理这些数据,根据采集时间段的不同,如以年、月、日为基础,形成不同的报表。
设计一个针对Unix实验室出租业务的系统程序,以VMware虚拟机作为开发环境,(使用乌班图镜像文件)采用Oracle数据库对数据进行存储。以C++为开发语言,应用到QT技术(信号和槽机制)、多线程、TCP/IP通信机制、proc、plsql以及生产者消费者模型[3]。
目标软件结构清晰,具有客户机、服务器和数据库三个大模块。客户端的具体功能有:记录的读取、记录的匹配以及记录的发送;服务器端的具体功能有:记录的接收、记录的存储以及记录的整理。
1引言 8
1.1项目背景 8
1.2本课题研究的意义 8
1.3课题的研究内容 9
2系统分析 9
2.1 可行性分析 9
2.2需求分析 10
3 总体设计 12
3.1 名称解释 12
3.2 总体设计 12
3.3 系统的数据结构设计 14
5 系统的详细设计 18
5.1 客户端部分详细设计 18
19
图5.1客户端总体的类图 19
5.1.1 Client类 19
19
图5.2Client类图 19
5.1.2 LogReader类 20
20
图5.3LogReader类图 20
函数说明: 21
函数流程图: 21
21
图5.4readLogs函数流程图 22
函数流程图: 22
22
图5.5函数流程图 22
表5.7readBackupFile函数说明表 22
函数流程图: 23
23
图5.6函数流程图 23
表5.8MLogRec函数说明表 23
函数流程图: 24
24
图5.7函数流程图 25
表5.9saveFailLogins函数说明表 25
5.1.3 LogSender类 25
该类进行日志的发送 25
25
图5.8LogSender类图 25
表5.10LogSender类成员变量说明表 25
类中的函数说明: 26
表5.11sendMatches函数说明表 26
函数流程图: 26
26
图5.9函数流程图 26
表5.12initSocket方法说明表 26
表5.13readSendfailed方法说明表 27
表5.14saveSendfailed方法说明表 27
5.2 服务器端详细设计 27
28
图5.10服务器总体类图 28
5.2.1 Server类 28
包含了操作服务器所有功能 28
Server类图: 28
28
图5.11Server类图 28
表5.15类的成员变量表 29
表5.17startService函数说明表 29
5.2.2 DataReciveThread类 29
DataReciveThread类图: 29
30
图5.12DataReciveThread类图 30
5.2.3 DataSaveThread类 30
DataSaveThread类图: 30
图5.13DataSaveThread类图 30
5.2.4 LogDao类 31
图5.14LogDao类图 31
5.2.5 UserData类 31
图5.15UserData类图 32
5.3 异常的设计 33
5.3.1 客户端异常类 33
图5.16客户端异常类图 33
5.3.2 服务器端异常类 34
图5.17服务器异常类图 34
表5.22服务器异常说明表 34
结论 35