《电信运营数据采集与整合.ppt》由会员分享,可在线阅读,更多相关《电信运营数据采集与整合.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1Copyright Tarena Technologies Inc.,2008.All rights reserved.Tarena High-End IT T中国北京中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61202603地址:上海市北京东路668号 上海科技京城B区9层 加拿大多加拿大多伦多多电话:(416)491-6456 地址:Suite 1208,Deerford Road,Toronto,Ontario,Canada邮编:M2J 3J3中国中国广州广州电话:(
2、020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层电信计费系统电信计费系统 -数据数据,采集采集,整整合合2回顾回顾nOOADnUMLnSocket编程n多线程编程nJDBC编程nIO/NIO文件处理.3内容内容n理解采集与整合的需求.n理解采集与整合的设计.理解采集源wtmpx数据的格式结构.理解采集数据的分析匹配结果数据.理解采集中类结构的设计-类图与时序图.理解采集中核心流程-类中函数说明.4Copyright Tarena Technologies Inc.,2008.All rights reserved.Tarena High-End IT T中国北京
3、中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61202603地址:上海市北京东路668号 上海科技京城B区9层 加拿大多加拿大多伦多多电话:(416)491-6456 地址:Suite 1208,Deerford Road,Toronto,Ontario,Canada邮编:M2J 3J3中国中国广州广州电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层整体需求与结构说明整体需求与结构说明5采集需求说明采集需求说明n本系统是一个计费的系统,要
4、想对用户进行准确的收费,首先必须能够获得用户使用开放实验室的准确的使用记录,采集子系统正是为了获取这些记录而提供的。n获取用户使用实验室的准确记录有三种情况:p利用操作系统的自身功能利用操作系统的自身功能:开放实验室是一个Unix服务器,Unix服务器本身就具有记录系统日志的功能。用户每次登录和退出Unix服务器的信息都会被自动保存到一个在线日志文件/var/adm/wtmpx中。采集系统通过调用Unix系统函数来读取这个日志文件中的内容,然后对读取到的内容进行整理,整理为方便计费的数据,其中包括登录名、登录时间或登出时间等作为计费依据的数据。最后把这些数据存入数据库中,以备其他系统使用。为了
5、使读取的数据量不至于过大,采集系统会每小时定时执行一次,每次只采集上一个小时时间段之内的数据。p2、利用开放实验室的个人利用开放实验室的个人web主页功能主页功能(personal web hosting):只要用户在其主目录(home)下创建了public_html目录,采集系统通过扫描目录public_html就可以产生计费依据。访问开放实验室的web信息:用户每次访问web服务器,web服务器都会在access.log中记录下相应的信息,如客户端的ip和被访问的URL等。通过分析web服务器的访问日志产生计费依据。p3、使用开放实验室的使用开放实验室的e-mail功能功能:根据邮箱的个数
6、产生计费依据。n说明:2,3的情况目前不做处理,提供扩展接口便于今后扩展。6整合需求说明整合需求说明n采集系统定时将用户使用服务器的数据存入到了数据库中,但这些数据都是流水帐的数据,是用户每次使用UNIX操作系统的用时。如果用户量大,用户频繁地登入/出,将产生大量的数据,不便于将来生成用户的月账单和对开放实验室的使用情况进行月统计和年统计,因此,出现了整合系统。n整合是将某个用户或某个实验室在某一时段内所用机时求和后形成一条记录。整合系统具体整合规则如下:p1.每小时定时整合一次,生成以小时为单位统计的数据,程序总是每小时定时整合前一小时的数据。p2.每天定时整合一次,生成以天为单位统计的数据
7、,程序总是每天定时整合前一天的数据.p3.每个月定时整合一次,生成以月为单位统计的数据,程序总是每个月定时整合前一个月的数据。n整合按用户与实验室整合,便于帐单查询与帐务查询,以及用户自服务帐单查询.7相关术语字典相关术语字典n实验室就是用户使用的Unix服务器,用户需要帐号与口令,通过IP访问.n业务帐号用户使用实验室需要的帐号,口令,IP必须向电信运营商才能获得,该申请信息就是业务帐号,业务帐号中包含资费种类,用户的费用产生就是不同业务帐号下费用的总计.n帐务帐号用户费用结算的信息就是通过帐务帐号来管理.帐务帐号主要记录用户的支付方式,申请的业务帐号等.n帐单查询就是费用查询,费用按不同业
8、务的费用按帐务帐号总计成用户费用.帐单查询就是查询帐务帐号下的费用,和每个帐务帐号下的业务帐号明细.n帐务查询按实验室查询在每个实验室上产生的登录时长统计.n用户自服务帐单查询.用户可以查询发生在自己个人帐务帐号下的总计费用,以及费用明细.8计费系统整体结构说明计费系统整体结构说明nXX电信运营商新增一项Open Lab(开放实验室)出租业务,即该电信运营商提供基于Unix平台的实验室环境,选择使用这种业务的用户能够远程登录到实验室中做基于这个实验室环境的一些工作和实验。运营商希望借助先进的计算机技术对访问实验室的用户进行管理和计费,由此实现对此项业务运营的支持与管理。本项目主要包括以下子系统
9、:p采集系统p整合系统p用户管理系统p资费管理系统p管理员管理系统p帐单查询系统p帐务查询系统p用户自服务系统p权限管理系统 9计费系统整体结构图计费系统整体结构图10电信计费系统的业务工作流模型电信计费系统的业务工作流模型11电信物理结构拓扑图电信物理结构拓扑图12数据采集部署结构图数据采集部署结构图13用户计费原理用户计费原理n当用户申请帐务帐号后就有了交费数据,然后可以申请业务帐号.n用户通过申请的业务帐号和口令登录电信的实验室服务器使用服务.n计费的依据是用户使用实验室的时间长度和使用服务的资费标准.n用户使用实验室的时长公式:登录时长=用户登出时间-用户登录的时间.n用户应该交纳的费
10、用公式:交纳费用=登录时长*资费单位费用+资费基本费用.14要实施的系统要实施的系统n电信运营计费管理系统:用户通过该系统向管理员申请帐务帐号与业务帐号.管理员通过该系统录入资费标准.管理员通过该系统统计查询所有实验室的用户使用情况.超级管理员通过该系统授权一般管理员.n电信数据采集与整合系统:采集系统:由系统定时启动扫描系统的登录历史文件,把用户登录/登出实验室的数据采集并分析处理后存储到数据库服务器.整合系统:把采集的原始数据按用户或按实验室进行统计整合,便于管理员统计查询或便于用户查询个人的应交费情况.n用户自服务系统:用户可以通过该系统修改个人的信息资料,或查询个人的交费情况.15Co
11、pyright Tarena Technologies Inc.,2008.All rights reserved.Tarena High-End IT T中国北京中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61202603地址:上海市北京东路668号 上海科技京城B区9层 加拿大多加拿大多伦多多电话:(416)491-6456 地址:Suite 1208,Deerford Road,Toronto,Ontario,Canada邮编:M2J 3J3中国中国广州广州电话:(020
12、)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层需求分析需求分析 -用例分析用例分析16采集整合用例采集整合用例17采集的采集的C/S设计设计n采集过程的特点:p由于系统本身分散的特点,采集点与数据存储点是分散的.p采集点是客户Client,存储点是数据库服务器Servern采用两种方式C/S可以达到目的.pJDBC是直接的C/S方式优点:简单,直接确定:数据库安全性差.现在已经产生很多技术避免对数据库的直接访问.如EJB,Web服务,JMS等p低层的Socket数据传输方式.本设计中采用的方式.优点:数据库安全.缺点:面向低层开发,需要处理多线程,数据传递失败等细节
13、.18数据采集数据采集-采集点说明采集点说明19数据采集数据采集-存储点说明存储点说明20数据整合说明数据整合说明Java代码实现整合代码实现整合存储过程实现整合存储过程实现整合21Copyright Tarena Technologies Inc.,2008.All rights reserved.Tarena High-End IT T中国北京中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61202603地址:上海市北京东路668号 上海科技京城B区9层 加拿大多加拿大多伦多
14、多电话:(416)491-6456 地址:Suite 1208,Deerford Road,Toronto,Ontario,Canada邮编:M2J 3J3中国中国广州广州电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层采集源数据说明采集源数据说明 -采集前的补充说明采集前的补充说明22用户登录数据记录源用户登录数据记录源wtmpx格式格式n在Unix中用户登录的记录存放的一个系统历史记录文件wtmpx中,该文件是二进制文件.n该文件的读取有两种方式:通过C读取.通过Java读取.本设计中采用的方式.n读取文件的关键是理解二进制记录格式,在C中有一个结构
15、提utmpx,只要理解该结构体就可以理解记录格式.23理解理解utmpx结构体结构体24Wtmpx记录字节记录字节位置范围位置范围字节长度字节长度含义含义000-03132/*user login name*/032-0354/*inittab id*/036-06732/*device name(console,lnxx)*/068-0714/*process id*/072-0732/*type of entry*/074-0752/*process termination*/076-0772/*exit status*/2/*这是这是C数据类型补齐产生的空位数据类型补齐产生的空位*/08
16、0-0834/*time entry was made*/*seconds*/084-0874/*and microseconds*/088-0914/*session ID,used for windowing*/092-11120/*reserved for future use*/112-1132/*significant length of ut_host*/114-371257/*remote host name*/25详细说明详细说明wtmpx26Type含义含义n#define EMPTY0n#define RUN_LVL1n#define BOOT_TIME2n#define
17、OLD_TIME3n#define NEW_TIME4n#define INIT_PROCESS5n#define LOGIN_PROCESS6-登录进程n#define USER_PROCESS7-用户进程n#define DEAD_PROCESS8-终止进程27Copyright Tarena Technologies Inc.,2008.All rights reserved.Tarena High-End IT T中国北京中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61
18、202603地址:上海市北京东路668号 上海科技京城B区9层 加拿大多加拿大多伦多多电话:(416)491-6456 地址:Suite 1208,Deerford Road,Toronto,Ontario,Canada邮编:M2J 3J3中国中国广州广州电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层数据采集分析设计数据采集分析设计 -客户端客户端28数据采集分析设计数据采集分析设计n分析设计的思路按用例场景为单位进行分析设计.以时序图为主要手段,以类图为主要目的的分析模式分析设计.分析中重点关注:数据源-处理过程-数据结构n分析中的三个阶段:第一阶段
19、:数学模型建立阶段实体类功能类第二阶段:业务逻辑模型建立阶段DAO层类,功能类责任分配.第三阶段:模型整合与完善阶段利用J ava的设计模式,产生辅助类,降低系统的耦合程度.29数据实体类图设计数据实体类图设计-数据源数据源30实体类实体类LogRecord说明说明nLogRecord:把数据源的数据读取后以对象形式保存.在该系统中,采用把登录/登出分开存放,便于分析.负责封装日志中数据user:登录用户帐号type:登录类型,登录7/登出8visittime:登录/登出的时间labip:采集的服务器IP userip:用户IPpid:登录进程ID,主要识别同用户的登录。nMatchedRec
20、ord负责存放匹配处理好的数据.就是把用户登录/登出整合成一条数据.在数据发送,本地存储都以该类型的形式使用.31根据实体类设计成表结果根据实体类设计成表结果n原始采集用户登录时长明细表(details_x)其中x 是1-31-MatchedRecord类 字段英文名字段英文名字段字段汉汉字名字名类类型型约约束条件束条件说说明明loginname登登录录名名Varchar(20)loginip登登录录IPVarchar(24)logintime登登录时间录时间Timestamplogouttime登出登出时间时间Timestamplabip实验实验室室IPVarchar(24)duration
21、登登录时长录时长long32数据实体类图设计数据实体类图设计-数据存储目标数据存储目标33数据实体类说明数据实体类说明n在采集数据的存储方式,根据客户需求与系统性能的考虑,设计的时候把数据存储表结构分为三类:p采集的原始登录数据记录表。p按不同用户在不同实验室上的数据整合表。p按不同实验室的数据整合表。n注意:按实验室整合与按用户在不同实验室上整合的存储因为数据量的问题在设计上有区别。其中前者的表按天,月,年各一张,后者的天表31张,月表12张,年表根据年份一年一张。34采集的原始登录数据记录表采集的原始登录数据记录表n该表特点:p该类表一张。该表设计成一个,主要是原始数据很少被查询。p数据量
22、很大。p可能为用户查询使用业务的明细的时候查询。n登录/登出构成一条记录,不存储时长。p可能几个小时一条记录,也可能一小时内若干条记录。35按不同用户在不同实验室上的数据整合表按不同用户在不同实验室上的数据整合表n该类表主要存储整合后的数据。其中存储时长,按时间间隔分三种:p一小时内的数据整合成一条记录。单独存放在一张表中-天表。p一天内的数据整合成一条记录。单独存放在一张表中-月表。p一个月内的数据整合成一条记录。单独存放在一张表中-年表。n注意:p这三张表结构完全一样,除时间范围具体的值不同。p因为该表查询的频繁度很高,在设计的时候设计成天表31张,月表12张,年表根据年份一年一张。36按
23、不同实验室的数据整合表按不同实验室的数据整合表n该类表存储整合数据,其中不再存储用户登录名等信息,按时间间隔分三种:p一小时内的数据整合成一条记录。单独存放在一张表中-天表。p一天内的数据整合成一条记录。单独存放在一张表中-月表。p一个月内的数据整合成一条记录。单独存放在一张表中-年表。n注意:p该表的查询主要是运营商在统计运营情况的时候使用,使用频率相对较低。设计的时候采用每种表各一张。37设计实体类的意义设计实体类的意义n实体类是E-R中的E的编程语言描述.n实体类是数据的OO实现与分析设计结果.n使用实体类的好处:在程序中以对象形式使用数据结果.在程序中数据可以持久.可以很轻松与Hibe
24、rnate融合.38类说明类说明nDetail-对应设计的表结构与原始采集后生成的格式一样loginname 登录名labip 登录实验室IPloginip 用户IPlogouttime 登出的时间logintime 登录的时间duration 登录时长nDetailDay,DetailMonth,DetailYear类与上面描述一样.39类的表结构描述类的表结构描述n按用户统计整合的时记录表detaildays_x 其中x是1-31 字段英文名字段英文名字段字段汉汉字名字名类类型型约约束条件束条件说说明明loginname登登录录名名Varchar(20)loginip登登录录IPVarch
25、ar(24)logouttime登出登出时间时间Timestamplabip实验实验室室IPVarchar(24)duration登登录时长录时长long40类的表结构描述类的表结构描述n按用户统计整合的天记录表detailmonths_x 是1-12字段英文字段英文名名字段字段汉汉字字名名类类型型约约束条件束条件说说明明loginname登登录录名名Varchar(20)loginip登登录录IPVarchar(24)logouttime整合整合时间时间Timestamplabip实验实验室室IPVarchar(24)duration登登录时长录时长long41类的表结构描述类的表结构描述n
26、按用户统计整合的月记录表detailyears_x x不定x表示年 字段英字段英文名文名字段字段汉汉字名字名类类型型约约束条束条件件说说明明loginname登登录录名名Varchar(20)Loginip登登录录IPVarchar(24)logouttime整合整合时时间间TimestampLabip实验实验室室IPVarchar(24)Duration登登录时录时长长long42类的表结构描述类的表结构描述n按服务器整合的时记录表detaildays 字段英字段英文名文名字段字段汉汉字名字名类类型型约约束条束条件件说说明明logouttime整合整合时时间间TimestampLabip实验
27、实验室室IPVarchar(24)Duration登登录时录时长长long43类的表结构描述类的表结构描述n按服务器整合的天记录表degtailmonths字段英文名字段英文名字段字段汉汉字名字名类类型型约约束条件束条件说说明明logouttime整合整合时间时间TimestampLabip实验实验室室IPVarchar(24)Duration登登录时长录时长Long44类的表结构描述类的表结构描述n按服务器整合的月记录表detailyears 字段英文名字段英文名字段字段汉汉字名字名类类型型约约束条件束条件说说明明logouttime整合整合时间时间TimestampLabip实验实验室室I
28、PVarchar(24)Duration登登录时长录时长long45采集端类图采集端类图46时序说明时序说明47类说明类说明nCollectionLaunchor 采集主程序类,发动采集线程。48类说明类说明nCollectionThread 采集线程,负责启动采集过程。49类说明类说明nDataCollector 负责采集环境的处理与数据采集,分析处理 50类说明类说明nLogRecord类负责登录/登出数据封装。nMatchedRecord类负责匹配好的数据的封装。nCollectionListener接口规范采集好的数据的处理方式。nLogDealer类负责匹配好数据的发送处理,如果发送
29、失败,则数据被保存。该类主要实现CollectionListener接口。51Copyright Tarena Technologies Inc.,2008.All rights reserved.Tarena High-End IT T中国北京中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61202603地址:上海市北京东路668号 上海科技京城B区9层 加拿大多加拿大多伦多多电话:(416)491-6456 地址:Suite 1208,Deerford Road,Toront
30、o,Ontario,Canada邮编:M2J 3J3中国中国广州广州电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层数据采集分析设计数据采集分析设计 -服务器端服务器端52数据采集服务器端类图数据采集服务器端类图53类的时序说明类的时序说明54类说明类说明nServerLauncher类:服务器数据接受器启动器.nDataRecieverTh类:服务器接受主线程。nCollectionTh类:每个客户数据接收处理类。nDBEnvInit类数据库环境初始化类nBasicDAO泛型类封装对数据库访问最常用的规范。nDetailDAO类 负责对数据库的数据增,
31、删,修,查询操作.nDetail类采集数据原始记录实体类。该类与MatchedRecord完全一样,在设计的时候为与客户端分开,故意设计成实体类,主要便于使用Hibernate。Detail类对应数据库中对应的t_detail_x31张表。55Copyright Tarena Technologies Inc.,2008.All rights reserved.Tarena High-End IT T中国北京中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61202603地址:上海
32、市北京东路668号 上海科技京城B区9层 加拿大多加拿大多伦多多电话:(416)491-6456 地址:Suite 1208,Deerford Road,Toronto,Ontario,Canada邮编:M2J 3J3中国中国广州广州电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层数据整合设计分析数据整合设计分析56类图类图57类图的时序说明类图的时序说明58类说明类说明nServerLauncher类:整合启动程序类。nDataIntegratorTh类:整合线程,主要完成整合的调用。nIntegration接口:整合接口规范nIntegrationByCall类:整合的存储过程调用实现nIntegrationByClient:整合的Java调用实现。nIntegrationFactory类:利用工厂模式产生的一个类,负责产生整合对象。nDBEnvInit类:见数据采集存储中的说明。nConnectionPool类:数据库连接池的实现。nIntegrateImpl类是BasicIntegrateDAO的实现.nBasicIntegrateDAO:基本的数据访问,整个整合过程的接口规范.59开始开始