基于Unix实验室出租业务的数据采集系统的设计与实现


时间: 2021-07-03 22:29:21 人气: 8 评论: 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

评论
188083800