电信主机计费系统_数据采集子模块

本文详细介绍了电信主机计费系统中数据采集子模块的设计与实现,包括需求分析、业务原理、功能概述、系统用例和概要设计。系统通过读取Unix登录日志,匹配用户登录记录,计算在线时长,并将数据发送至服务器存储,用于计费依据。
摘要由CSDN通过智能技术生成

需求分析

1.按照软件工程的要求,复述用户的需求,得到用户的认可。

2.用户化需求和专业化需求。

3.需求规格说明书的主要内容
1)用例:系统中的角色。
2)事件流:系统中的角色如何协作完成具体的功能。
3)异常流:对各种意外情况的处理。
4)前置条件:事件流和异常流中每个具体环节的依赖条件。
5)后置条件:事件流和异常流中每个具体环节的输出结果。

名词解释

DMS:数据挖掘系统(Data Mining System)

用户:需要使用Unix实验室出租业务的客户,用户通过电信公司提供的帐号和密码登录指定的Unix机器,并使用Unix服务。

终端机器:用户通过一台本地终端机器来访问我们的Unix机器,并使用Unix服务,该本地终端就是我们所说的终端机器。在我们的程序中要记录这一终端的IP,做为向用户收费的依据之一。

登录日志文件:在Unix机器中自动记录用户登入/登出日志的文件,该文件为:/var/adm/wtmpx;在我们的程序中该文件也可以是程序外部指定的另一个文件。我们的程序需要提取该文件的数据来匹配出用户登入/登出的记录,并将其作为将来的收费依据。

用户登入记录:在登录日志文件中记录的用户登入Unix系统的日志记录,该日志记录包含用户的登录名,用户登入Unix的时刻,登录的终端机器IP等信息。

用户登出记录:在登录日志文件中记录的用户登出Unix系统的日志记录,该日志记录包含用户的登录名,用户登出Unix的时刻,登录的终端机器IP等信息。我们需要将用户的登入记录和登出记录匹配起来,得到一条条完整的登录信息,并计算出用户本次登录的时长。
用户的登录记录:将用户的登入记录和登出记录按照对应关系匹配起来,形成一条完整的登录记录,登录记录中包含以下信息:用户登录名,登入时刻,登出时刻,登录时长,登录终端机器IP等。

匹配的登入/登出记录:等同于用户的登录记录。

未匹配的登入记录:在登录日志文件中理论上一条登入记录跟一条登出记录匹配,但有可能在我们采集数据时用户还没有登出,所以日志文件中可能出现没有登出记录与之匹配的登入记录,这些登入记录我们将其保存在一个指定的文件中,在下次采集时再读取。

项目背景

在电信的业务中,有一种Unix实验室出租业务。只要用户向电信运营商申请一个Unix帐号,就可以远程登录Unix实验室,并使用Unix系统。
用户使用电信运营商提供的Unix实验室的服务需要缴纳一定的费用,电信运营商需要一套数据采集系统,把用户登录实验室的时间长度数据采集起来,便于在指定的时间范围内作为对用户的收费依据。
要求数据采集系统必须采集如下信息:登录用户名,登录的时间,登出的时间,登录总的在线时间,登录的实验室IP,用户的终端IP等信息。
DMS3.0项目需要开发这样一个通用的数据采集系统程序,来采集Unix机器记录的用户登入和登出的原始记录,并将这些记录解析匹配成用户的登录记录,然后发送给数据采集服务器,在服务器端将这些数据以日期为单位保存在数据库中,然后整合这些数据形成日报表,月报表和年报表。
这里写图片描述

业务原理

任何用户登录Unix系统,Unix系统都会记录用户的登录信息,所有用户登入/登出的信息都保存在Unix的系统日志文件中。数据采集系统就是通过读取Unix系统日志文件中用户登入/登出信息,并找出成对的登入/登出记录,得到用户登录实验室的登入时刻、登出时刻、登录时间长度等电信用户收费需要使用的数据,最后把匹配处理好的数据保存成电信工作人员可以阅读的文本文件,做为电信收费依据。
用户登录Unix系统的日志记录文件在Unix的/var/adm目录下,文件名是wtmpx,日志记录文件是一个二进制文件,在Unix中可以使用last指令查看,last命令格式为:
last [-a] [-n number | -number] [-f filename] [name | tty]
wtmpx文件中一条登录记录包含372字节,每条记录包含的数据项格式说明如下表1-1所示: (其中黄色背景标识的数据项就是要采集的数据项)

这里写图片描述

登录记录总数计算公式为:登录记录总数=日志文件大小/372。

这里写图片描述

匹配后的数据记录
这里写图片描述

功能概述

DMS3.0系统主要实现以下核心功能:数据读取,数据匹配,数据发送,数据接收,数据存储,数据整合。

这里写图片描述

1. 数据读取

该功能模块的主要任务是读取Unix机器的用户登录记录文件,将文件的信息解析为程序对象,以方便匹配模块的匹配。

2. 数据匹配

该模块的主要任务是将数据读取模块读取到的数据按照登入/登出的关系匹配成一条完整的登录记录。

3. 数据发送

该模块的主要任务是建立客户端网络连接,将匹配好的用户登录记录以字符串的形式发送到服务器。

4. 数据接收

该模块的主要任务是建立服务器端网络连接,从客户端读取匹配好的用户登录记录字符串。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值