




免费预览已结束,剩余46页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅析电信系统的原始数据采集问题摘要 随着中国电信公司的不断增多,各个公司之间的竞争越来越激烈,因此严峻的经济压力迫使各个电信公司更注重其经济型业务的统计与审核。从粗放型业务到紧缩型业务的转变,需要电信公司在业务收入中对统计数据方面的及时性、准确性有所加强。数据采集系统负责对本地交换机数据进行准确实时地采集处理,是电信公司节约运营成本的重要方式之一。为电信部门的宏观管理提供实时数据,提高计费账务工作效率,进而保障电信企业的利益,并且是计费账务系统的重要组成模块。本数据采集系统的最终目标是利用计算机技术、数据库技术、网络通信技术对用户的通信数据进行采集、整理、传输和存储,为电信资源管理提供真实、准确、全面、实时的数据信息。本数据采集系统既服务于电信运营系统,又是一个独立完整的电信数据信息管理系统。 本文首先全面分析了电信数据采集系统的研究现状、技术背景然后详细介绍了该系统的开发过程,包括对系统的需求分析、对系统整体的概要设计和对各个具体模块的详细设计过程。在分析各个模块的过程中,对于模块中数据的流程和模块用到的关键技术都进行了说明,同时对于与该行业相关的信息进行了介绍,包括电信方面的相关内容。最后对于系统的优点和缺点进行了分析并且总结了一下自己在开发本系统的过程中的心得与体会,总结了一下经验和教训。关键词 数据采集 采集系统 电信AbstractWith the modernization and diversification of information technology, China telecom carriers are facing more complex technology environments than ever before. Fast updating of service, process, system and equipment result in more risk of fees missing, big heating and malice arrear. In order to improve revenue assurance and revenue management telecom carriers need a whole set of revenue assurance system. Revenue assurance means diagnosing current operation process and information system to find revenue losing so as to stop and prevent it. The system can help not only reduce fees losing and increase benefits, but also construct revenue process normalization and enhance running efficiency. In the background of some Chinese telecom supporting system, this paper analyzed revenue assurance syste. Based on billing system, this paper adopted object oriented method to design and implement a revenue assurance system. This paper also discusses how to integrate a revenue assurance system. At last, we discuss revenue assurance problems of future 3G mobile system.Keywords:Revenue Assurance、3G(Third Generation communication)、Billing、Collection、目录第1章 绪论.81.1课题研究的目的和意义81.2研究的背景81.3可行性分析101.4系统开发环境简介11第2章 采集系统综述12 2.1电信系统简介12 2.2采集的数据来源15 2.3采集的任务16 2.4采集方式17 2.4.1实时采集方式8 2.4.2定时采集方式8 2.4.3脱机采集方式8 2.5采集处理8 2.6文件管理8 2.7日志管理8 2.8参数管理8 2.9预处理8第3章 系统需求分析18 3.1 系统的框架图18 3.2 系统的流程图20 3.3采集系统整体功能描述25 3.4采集系统的客户端流程 3.4.1采集系统客户端的各模块分析 3.4.2采集系客户端的流程图 3.5 采集系统服务器端总体流程29 3.5.1 采集系统服务器端各模块分析 3.5.2 服务器端系统流程图第4章 系统总体设计30 4.1 客户端各个模块的具体工作过程30 4.1.1 配置模块30 4.1.2 采集模块32 4.1.3 网络模块 34 4.1.4 日志模块34 4.1.5 备份模块 4.2 服务器端各个模块的具体工作过程35 4.2.1 配置模块 35 4.2.2网络模块36 4.2.3 入库模块 36 4.2.4 日志模块 37 4.2.5 备份模块第5章 系统实施与部署55第6章 用户使用手册61 6.1 系统功能及运行环境简介 6.2 系统运行与操作指南第7章 结论63相信自己 成就未来1 绪论 电信数据采集系统的最终目标是利用计算机技术、数据库技术、网络通信技术对用户的通信信息进行采集、处理和传输、存储,为电信资源管理系统提供真实、准确、全面、实时的数据信息。电信资源数据采集系统既服务于电信资源管理系统,又是一个独立完整的电信数据信息管理系统。11 课题研究的目的和意义 数据采集负责从各类交换机、智能网平台、IP认证计费系统、增值服务平台等数据源采集原始话单,作为计费处理的数据源。数据采集系统作为一个具有对使用信息进行采集、确认、传输等一系列功能的一个逻辑平台,它所起的作用就相当于一个底层预处理系统的功能。通过从数据源中采集原始话单信息,可以从文件中解析出用户每次登录网络的持续时间。在解析的过程中可以对出现的各种错误情况进行相应的处理,对成功解析的数据可以进行预处理操作。采集系统采集到的数据记录和存储了运营商的业务数据和用户的消费数据,这些数据隐含着大量的市场信息、客户消费行为信息和业务特性信息。计费系统不仅是电信产品的费用计算系统和关键环节,也是维护服务质量和运营商市场策略实现的主要支撑系统。因此计费系统是电信运营商核心竞争力之一。数据采集系统的采集质量关系到整个电信系统的运行情况,并且采集系统中数据的丢失可能对电信运营商造成巨大的经济损失。因此数据采集系统是电信运营商收入保障系统的重要组成部分和实现手段。12 研究的背景 当前的中国电信服务行业正在发生巨大的变化,中国的电信运营商在经历了高速发展之后,正面临市场饱和以及激烈竞争导致价格下跌的双重压力。因此,国内主要运营商努力寻求国际最先进的设备、系统和管理方法,对网络设备和技术更新进行了持续的、大规模的投入,以保持和提高竞争力,并随时准备迎接未来的挑战。 对中国的电信运营商而言,目前最重要的任务是开源节流,即在提高收入的同时,减少操作中发生的收入流失。电信行业发展的历史已经证明,错综复杂的电信网络和不断的技术更新给国内电信运营商提出了下列三个挑战: 1) 技术进步增加电信营运的复杂性和难度。各种类型和技术层次的数据环境以及网络内外的服务器都会增加数据破坏、失效、丢失、以及错误记录的机会。这样一个复杂的技术环境不仅会造成错误计费或漏计费,更大幅度地增加运营商面对大额欺诈和坏帐的风险。各运营商必须采取措施克服以上的挑战,保障用户的权益,提高服务满意度,排除营运环境中潜伏的风险。 2) 为了推广新技术的应用,降低营运成本和提高核心竞争力,国内电信运营商在近年内相继采取行动优化业务流程和提升企业基础管理。例如近年内各主要电信运营商顺利实施企业资源计划系统,为企业的经营决策提供准确和可靠的依据。但是众多系统、设备和流程的快速更新也为运营商带来了新的挑战。如何确保企业范围内现有技术和流程完整的衔接,并建立一个统一的、科学的和有效的机制进一步确保企业内部优化的成果,是各运营商战略策划和操作管理中必须解决的一个重要课题。 3) 随着中国加入W T O 和电信行业体制改革的深化,各运营商也面对着世界其它电信服务商在企业管理水平和投资回报等各方面的竞争。国内运营商从收入保障的角度出发,通过研究国际电信业最佳实践和适当的引进与收入相关的管理经验、理念和体制,可以进一步提高电信企业的管理水平,跻身世界一流企业5。13 可行性分析1.3.1 经济上的可行性分析 对于开发该系统的学生来讲,需要拥有一台装有Windows操作系统的个人计算机。在该计算机上安装JDK1.6软件开发包和Oracle 数据库或者MySql数据库以及Eclipse软件即可满足开发该系统的需求。对于个人来讲不会构成太大的经济负担。由于开发此采集系统所需的硬件环境(计算机及相关硬件)和软件环境(JDK和Oracle)价格低廉,在市场上都容易购买到,如果此系统在电信部门中投入使用,可以减少因数据采集错误造成的损失,节省成本,因此本系统在经济上完全可行。1.3.2技术上的可行性分析本系统可以在Linux系统或者Windows系统下运行,分为客户端和服务器两部分。调试时这两部分完全可以在同一台计算机中进行,实际运行时需要在两台不同的计算机中。对于服务器,当前的主流服务器完全可以满足要求。对于客户端,只需要客户端装有JDK开发包,可以用Socket技术与服务器建立连接即可,对机器本身没有太高的要求,一般当前企业或个人电脑完全可满足要求。对于软件技术要求,对原始话单文件的解析需要JAVA的正则表达式处理,而系统的配置文件则需要用到XML配置文件。因此会用到XML技术,具体为XML的DOM(Document Object Model)解析技术,这可以在Eclipse环境下调试运行。在数据库操作方面,可以使用Oracle数据库或者MySql数据库进行调试,在实际使用时是使用Oracle数据库的。总体说来,调试的过程中对系统的需求不高。1.3.3操作上的可行性分析 本系统的操作非常简便,把服务器端系统部署在服务器端以后,即可运行服务器端等待客户端的连接。客户端部署在各地的3A服务器上,会定时运行客户端程序,把一段时间内的数据发送到中心服务器端为计费作准备。两端程序的执行过程都有相应的日志记录,系统维护人员只需要定时查看日志文件即可以知道系统运行的情况。总之,该系统的使用非常的简单,操作可行性高。14 系统开发环境简介 应用程序开发工具为:Eclipse + JAVA + XML。利用java语言编写源代码,在Eclipse开发平台中进行调试。系统调试成功后运行在Linux机器中,从各地的3A服务器中读取原始的话单记录文件,对文件进行相应的处理。2、采集系统研究2.1电信系统简介 当前电信部门所用的系统被称为 宽带运营支撑系统 (WOSS: Wide-Brand Operation Support System)该系统负责多个用户通过一台NAS(Net Access Server 网络访问服务器)进行宽带接入,该系统支持ADSL拨号等功能,其后台采用J2EE实现,功能强大,可移植于各种平台。当用户要访问网络时会通过拨号的方式向NAS(网络访问服务器)发送请求,NAS(网络访问服务器)负责提示用户输入用户名和密码,并向指定的AAA服务器发出认证请求,得到认证结果并分配用户IP地址,用户就可以接入Internet。AAA指的是Authentication(验证),Authorization(授权),Accounting(计费)。AAA服务器处理NAS的发送过来的Access-Request请求,请求串中包含用户名和MD5加密后的密码,通过数据库取出数据进行验证,此过程称之为(验证过程),验证完毕后返回NAS结果串(Access-Accept or Access-Reject)此过程称之为授权,认证、授权通过就对用户进行计费。2.2 采集的数据来源 以上所述为用户请求使用电信网络时的过程。通过上述过程的分析可以看出,用户的请求过程在服务器中会有相应的记录。当用户使用完网络退出时同样会在服务器中留下相关的记录信息。用户访问和退出网络时服务器中记录的信息即为用户访问网络的原始信息。该原始信息经过整理以后即为用户的原始话单记录,它成为下一步计算用户消费额操作等一系列操作的基础和依据。该原始话单记录是整个电信系统所处理的数据的根本。如果该数据错误较多,与实际情况偏差较大,那么该计费系统的处理结果将出现非常多的错误。在实际情况中这种现象是绝对不允许出现的,因为这种情况将给通信公司和通信公司的用户双方带来很大的麻烦。2.3采集的任务 本数据采集系统的主要任务是把存储在各地的AAA服务器上的用户访问网络的原始信息进行初步的处理,然后把处理的结果发送到中心服务器。中心服务器负责接受各地AAA服务器发送过来的经过初步处理的用户访问网络的记录,然后把该记录存入数据库中做为下一步数据整合、数据计费等操作的数据源。2.4采集方式联机采集应实时、自动的对数据源进行采集,尽量减少人工参与的程度。2.4.1实时采集方式采集子系统与数据源直接连接。系统不断查询是否有计费原始数据生成,当发现有新计费原始数据时,系统读入计费原始数据,同时对计费源端的计费原始数据文件设定已读取标志。对已读取的计费原始数据文件,系统通过命令还可以再次读取。2.4.2定时采集方式采集子系统与数据源采用直连或网络连接。根据要求,定时到数据源端探询,如发现有新计费原始数据文件,系统读入计费原始数据,同时对计费源端的计费原始数据文件设定已读取标志。对已读取的计费原始数据文件,系统通过命令还可以再次读取。2.4.3脱机采集方式脱机采集为联机采集的备份方式。系统应提供适合相应数据源的脱机介质的读取设备和软件,通过其进行人工脱机读取、形成与联机采集一致的源数据文件。一般通过磁带、光盘或人工录入的方式进行数据采集12。2.5采集处理数据采集支持多种采集协议,包括TCP/IP、FTP、XML等;支持文件传输的断点续传;支持文件的压缩和加密传输;采集处理应及时响应采集配置参数的改变;采集处理要有较高的自动化程度,如:自动任务调度、自动任务恢复等;采集处理的采集间隔可以设定;采集系统要能够不间断工作;对采集文件的基本信息进行日志记录15。2.6文件管理 采集系统对采集来的原始数据文件按照不同的采集日期存储在不同的数据库表中,每个表中存储了特定日期的原始数据,这样便于对数据进行维护。2.7日志管理 因为系统是自动运行的所以为了查看系统的运行是否正常,需要对系统运行过程中的各种状态进行日志记录。这样管理员可以根据日记记录的信息查看系统的状态是否正常,以做出相应的处理。2.8参数管理参数管理应能对采集文件的文件名、文件的路径、日志文件的路径、备份文件的路径、服务器的地址、端口等可变性参数进行参数化配置。该配置信息存储在config.xml文件中,系统启动时会读取该文件的内容,采集系统能根据配置的参数自动调整采集进程的状态7。2.9话单文件预处理在现实生活中存在由于话单重复而造成重复收费的情况,话单重复会导致用户投诉,运营商不但要对用户进行高额的赔偿而且名誉还要受到影响,这会造成运营商各方面的损失。话单文件预处理为我们提供了有效的检验重复话费记录的方法和处理重复话费记录的规则,这使我们可以在话单文件预处理的工作过程中完成话单记录的检重工作。2.9.1 处理错误的话单记录 系统采集到的话单文件中可能含有结构有损的或者无效的错误话单记录。错误话单记录是不能进行下一步计费操作的,这就意味着运营商不能向用户收取这些话费,从而导致运营商的收入损失。为了减少损失,在不影响费用计算的前提下,我们可以对错误的话单记录进行适度的处理。我们只对话单记录中的部分记录项感兴趣,例如用户名、登录用的IP地址、用户登录网络的时间、退出网络的时间、该记录的进程号。其它的字段为不相关的字段,如果是与计费无关的字段出现错误,我们可以忽略这种错误。因为这种错误并不影响我们计费的正确性。2.9.2 处理重复的话单记录在正常情况下,一条用户登录网络的记录后应该有且只有一条对应的用户退出网络的记录。在实际的话单记录文件中有可能存在与上面的正常情况不同的记录顺序。第一种情况:有一对正常的用户话单记录之前有一条该用户登录网络的记录,之后有一条与之前的记录相对应的用户退出网络的记录。我们称这种情况为话单包容。在话单检重时,我们一般对包容话单采取选择最外层的话费清单对进行计费的原则,如果采用选择其中任意一对记录清单的做法那么当选择了内部的话单记录对时就会对运营商造成经济损失。第二种情况:首先有一条用户登录网络的记录,在该记录之后出现了第二条用户登录网络的记录,在之后出现了一条用户退出网络的记录该记录与用户第一条登录网络的记录相对应,之后出现了与用户第二条登录网络的记录对应的第二条用户退出网络的记录。我们称这种情况为记录的交叉,在话单检重的时候,一般对交叉话单经常采取选择起始时间最早的清单和结束时间最晚的清单进行匹配的方法进行计费的原则 ,如果采用选择其中任意一对记录清单的做法那么有可能对运营商造成经济损失。 通过以上两种对于可能在话单文件中出现的不正常情况的相应处理,我们可以保证用来计费的话单记录的准确性,合法性。2.9.3 计算用户使用网络的持续时间 话单文件中的记录应该是成对出现的,即先有用户进入网络的记录,在后面的某个位置有相应的用户退出网络的记录。这样对这两条记录进行合并处理就可以计算出该记录所代表的用户本次访问网络的持续时间。为下一步对该用户进行批价处理作准备。3、系统需求分析3.1 系统的框架图如下所示:采集系统t_detail_xwtmpx 文件 3.2 系统的流程图如下所示:采集系统服务器端系统客户端系统3.3 采集系统整体功能描述 设计一个基于C/S的电信计费原始数据采集系统,主要完成电信计费原始数据信息的采集工作。该采集系统分为客户端系统和服务器端系统两部分。 系统的流程为首先启动服务器,使服务器处于侦听状态,等待客户端的连接。客户端会定时采集位于指定位置的文件中的数据,对于数据记录中的错误情况进行一定的处理。对于正确的记录要按照一定的规则进行预处理,例如:计算出某用户在一次访问网络的过程中的持续时间。预处理完后,需要把正确的记录封装为BIDR类型的对象,把每个对象放到集合中然后把该集合采用TCP协议用JAVA中的 Socket套接字发送到服务器端,服务器端收到客户端发送来的数据后向客户端发送一条回送信息告诉客户端服务器端收到的记录的条数,以此来确定是否有记录丢失的情况发生。服务器会将从客户端接受到的数据记录存储到数据库中,进行永久存储。为下一阶段,数据整合系统和WEB计费系统,提供数据支持。3.4采集系统的客户端流程:首先调用配置模块对各个模块进行配置,要配置日志模块、备份模块,如果配置失败则系统不允许启动,因为日志模块与备份模块不能正常工作,在出现异常时将不能进行正常的处理。配置完成后调用采集模块对原始话单文件进行采集。在采集的过程中出现错误时调用备份模块进行备份。采集完成后调用网络模块将采集到的数据传输到服务器端,如果在传输过程中发生错误,调用备份模块对数据进行备份。上述各个模块的执行过程中都将调用日志模块进行日志记录,记录各个模块的执行情况,如执行是否成功,执行中发生了什么异常等信息。3.4.1采集系统客户端的各模块分析:配置模块:实例化其它模块,降低模块之间的耦合性。采集模块:采集原始计费文件,整理成BIDR类数据清单。日志模块:将系统运行过程信息记入日志文件,以备查验。备份模块:在网络或数据库发生异常的情况下将本次采集到的BIDR数据清单持 久存储。网络模块:将采集系统客户端采集形成的BIDR数据清单传输给位于中心处理系 统的服务器端。3.4.2采集系客户端的流程图:调用配置模块配置成功调用采集模块采集成功加载备份数据开始执行程序 失败 成功 失败 成功调用网络模块发送成功调用备份模块结束方法 失败 成功3.5 采集系统服务器端总体流程: 首先调用配置模块对各个模块进行配置,需要配置日志模块、备份模块、入库模块。如果上述三个模块不能配置成功则服务器端系统不允许启动。因为上述三个模块配置失败时,如果运行了服务器端系统则在系统出现异常时,将不能正确的处理异常。这会使采集的数据出现错误,进而造成计费错误。在现实中这种情况是绝对不允许出现的,因为它会引发客户的投诉或者电信运营商的经济损失。这是采集系统的严重错误,是软件开发的失败。 配置成功后,则启动服务器使其处于等待连接状态,等待客户端的连接。当有客户端向服务器端发送连接请求时,服务器会创建新的线程与该请求进行会话,调用网络模块通过Socket套接字采用TCP网络传输协议接收客户端发送过来的BIDR对象的集合,数据接收成功后服务器会回送客户端一条信息,该信息记录了服务器接收到的客户端发送过来的数据记录的条数。客户端根据该信息可以确定本次采集是否发送成功。服务器接收完数据后会调用入库模块将接收到的数据保存到数据库中,实现永久存储。 当在网络模块接收过程中或者在入库模块存储过程中发生错误时,将调用备份模块进行备份,在服务器正常工作后将备份文件中的记录存储到数据库中,同时日志模块会对服务器端各个模块的状态变化进行记录,以备以后查询。3.5.1 采集系统服务器端各模块分析:配置模块:实例化其它模块,降低模块之间的耦合性。为系统能够正常运行做前期的准 备。入库模块:因为 BIDR数据是以对象形式存在的,所以要想把BIDR对象中存储的数据信 息存储到数据库中需要首先把BIDR对象中的数据信息提取出来放到变量中, 然后把变量放到操作数据库的INSERT语句中通过执行该插入数据库的语句, 将该BIDR对象的信息插入数据表t_detail_x中。日志模块:将系统运行过程中状态变化的信息写入日志文件中,通过查看日志文件可以 发现系统是否能够正常的运行。以此为依据进行相应的处理。备份模块:在网络或数据库发生异常的情况下将本次接收到的BIDR数据清单持 久存储。网络模块:中心处理系统的服务器端接收采集系统客户端采集形成的BIDR数据。3.5.2 服务器端系统流程图:启动服务器配置模块调用网络模块正常接收读备份文件调用入库模块开始执行程序 出错 成功 失败 成功 调用备份模块正常入库返回信息结束方法4 系统总体设计4.1客户端各个模块的具体工作过程:4.1.1配置模块: 配置模块的主要作用分为以下几个方面:.1 配置系统运行的环境参数 系统运行所需的环境参数包括备份文件的位置、名称,要采集的文件的路径和名称等。因为系统的运行环境可能会改变,如果把如系统所在环境相关的信息放到程序中那么当系统的运行环境发生变化时,则需要到程序中去修改相关的配置信息。这有可能会修改系统多处的代码,不利于系统的维护工作。因此合理的做法是把与系统运行环境相关的信息存储到XML配置文件中,当需要修改系统的运行环境时,只需要修改XML配置文件中相应的标记即可。也就是说只需要修改一处即可使系统能够正常的运行,这有利于系统的维护工作。.2 读取配置信息 从XML配置文件中读取关于各个模块的配置信息,这个过程需要使用DOM解析技术。DOM解析技术的思想是把要解析的整个文件全部读入内存中,在内存中形成倒立的一颗树。这棵树由许多节点组成,每一个节点是文件中的一个标记。通过文件中标记的名字可以找到该标记在内存中所对应的节点,进而读取其中的信息。根据此信息可以实例化相关的模块,在实际的实现中一般采用工厂模式来生成相应的对象。从XML配置文件中读取了模块的相关的配置信息后采用反射的机制可以生成对应的对象的实例。这种方法与利用工厂模式是一致的。 .3 检验系统能否正常运行 系统正常运行的条件是系统所必需的模块必须能够正常的启动,如果这些模块不能够正常的工作,则需要停止客户端系统的启动,同时抛出异常。要检验的模块包括日志模块、备份模块、采集模块、网络模块。这些模块是采集系统的客户端正常运行所必须的子模块,如果其中任何一个模块不能正常启动那么采集系统客户端都不能正常运行。因此需要在采集系统的启动过程中对它们进行检验,以保证采集系统正常运行的几率是最大的。 配置模块流程图:获得配置文件的路径用DOM技术解析XML文件获得config标签的相关信息获得config类的全限类名获得config类的构造方法名称用配置工厂生成config的对象用配置对象生成日志对象生成对象生成对象 失败 生成对象用配置对象生成备份对象用配置对象生成采集对象用配置对象生成网络对象抛出异常结束生成对象生成对象配置成功继续执行4.1.2采集模块的流程如下:采集模块对相应表中的用户通讯信息进行采集,存放用户通话信息的数据表是名为wtmpx的文本文件,该文件有许多行记录,每一行记录是一条完整的用户登录网络或者用户退出网络的信息,该信息中包含了1、用户名 在文件中为用户的电话号码。2、用户登录网络所用的设备号3、用户登录网络所用的终端号4、用户操作网络所用的进程号5、用户是登录网络还是退出网络,此处有一个规则如果该数字为7则表示用户登录网络,如果该数字是8则表示用户退出网络,在行业内称为7上8下规则6、用户登录网络的时间或者用户退出网络的时间,该处的时间用秒数来表示。该秒数的值为用户登录或退出网络的时间距历元(即格林威治标准时间 1970 年 1 月 1 日的00:00:00,格里高利历)的偏移量。7、用户的IP地址采集模块对该表中字段的处理是提取1、用户名2、根据用户登录网络的标记提取用户登录网络的时间3、根据用户退出网络的标记提取用户退出网络的时间4、根据用户进入和退出网络的时间计算用户占用网络的时间5、用户的IP地址设计一个类其名子为BIDR,该类有数据成员分别对应上述各提取出来的字段值,在该类中还包含了对各字段值进行处理的成员方法。将采集到的每一条用户的消费记录包装为一个BIDR类的对象,把该文件中所有的记录包装为多个BIDR对象放到集合中,以准备通过网络发送到中心服务器端,开始数据整合和用户消费批价处理。打开源文件获得文件指针文件为空定位采集的位置读取一条记录文件末尾无效记录GATHER 模块: 无效解析记录为原始BIDR生成最终BIDR对象改变文件的偏移量保存文件的偏移量退出方法解析记录为原始BIDR的具体流程: 合法的记录上线操作下线操作设置上线时间设置上线时间为0设置下线时间为0读取用户的状态 设置下线时间读取用户名信息设置在线时间为0生成BIDR对象读取用户的IP地址返回生成BIDR对象生成最终BIDR对象的流程:获取用户名和IP地址上线操作 上线 下线用户在线 用户在线 在线 不在线 在线 不在线登录1次 是 否登录用户上线信息获得登录时间用户登录次数为1登录次数减1设置登录时间用户登录次数加1计算在线时间设置在线时间删除用户在线记录删除用户在线次数添加BIDR对象继续执行4.1.3 网络模块: 功能描述: 当采集模块采集成功后,将采集到的包含BIDR对象的集合传送给网络模块。网络模块利用TCP网络传输协议将包含BIDR对象的集合发送到服务器端。 用到的关键技术: 对象的序列化技术 文件的IO流操作 Socket技术 具体的发送流程: 网络模块接收到采集模块发送过来的包含BIDR对象的集合后,会将整个集合作为一个整体发送到服务器端。也就是说集合中的对象是以对象流的形式发送到服务器端的。为了能够发送成功该BIDR对象必须能够序列化,即该BIDR类需要实现Serializable接口。为了保证在发送过程中数据的准确性、完整性,发送时采用了TCP网络传输协议,该协议是面向连接的,可靠的协议。在JAVA语言中通过套接字来完成具体的发送过程,首先通过套接字建立连接,然后从套接字中获得输入流对象和输出流对象,得到了输入流对象和输出流对象后,通过从输入流中读取数据可以获得对方发送来的信息,通过向输出流中写入数据可以把要发送到对方的信息发送给对方。通过 Socket建立连接后,该连接会一直保持。也就是服务器端与客户端会有一个独立的线程专门负责两端的通信,当通信完成后,该线程将结束。在网络中传输可序列化对象时,使用类ObjectInputStream和类ObjectOutputStream进行操作。如果发送过程失败就会抛出异常,程序捕捉到异常后根据异常的种类可以判断出发生的具体的错误。这样就可以把详细的错误信息写入日志文件中,利于检错操作。在抛出异常的同时需要对没有发送成功的对象进行备份操作,以防止数据的丢失。在网络恢复正常后,备份文件中的数据会重新发送到服务器端进行入库操作。 网络模块的流程图:设置连接参数建立连接产生异常获得输出流写入服务器写入结束标记获得输入流获取回送信息产生异常捕获异常关闭文件流关闭Socket结束发送方法4.1.4 日志模块:任何系统在运行调试的过程中,都可能出现各种各样的错误。为了能够快速的确定错误的原因等信息,以加快改错的速度,方便系统的调试过程。可以对将要调试的各个模块都配置相关的日志信息处理功能,当模块在运行过程中出现错误时,程序可以自动的把错误的相关的信息写入日志文件中。这样在调试的过程中通过查看日志文件就可以查出是哪一个模块出现了错误,以及出现了什么具体类型的错误。这对于调试是非常方便的。因此需要设置该日志模块。为了区分错误的严重程度,我们为错误划分了错误等级。 当程序执行成功后,可以写一条日志说明该模块已经成功的执行完毕。当客户端启动以后可以向日志文件中写入一条记录说明在某一个时刻客户端向服务器发送了一个连接请求。当收到客户端发来的数据时可以把接收到的数据的描述信息例如收到的记录的条数写入服务器端。这种类型的日志称为信息日志。当程序在执行的过程中发生了异常时,该异常会被捕获,捕获到异常后就可以在异常处理模块中向日志文件中写入一条与该异常相关的信息,来说明一下该错误的具体原因。例如客户端在采集模块中没有发现需要采集的源文件的位置,这时就需要报错并退出程序。这种类型的日志称为错误日志。错误日志又分为几类。在程序的调试过程中的错误称为调试错误,这种日志记录的错误的原因一般是由于语法的错误或者逻辑的错误,需要在调试阶段进行解决。在系统的初始化过程中,如果系统运行的环境出现了问题。这将导致系统不能正常的启动,例如客户端向服务器端发送数据时服务器根本就没有打开,这时客户端就不允许启动。像这种错误被称为致命错误。程序在运行的过程中,根据发生错误的具体情况,程序会向日志文件中写入与发生的错误类型相匹配的错误日志记录。程序调试人员或者系统维护人员根据日志文件中的信息就可以确定发生错误的原因。依据这个原因对系统进行相应的调试,很快就会解决问题。如果程序能够正常的运行,那么日志文件中记录的是程序正常运行的信息。根据该信息可以对系统在各个阶段的运行情况进行分析,便于对整个系统进行维护。日志模块:获得错误信息分析错误级别调用相应方法合法级别生成输出流获取当前日期处理错误信息产生异常 非法提示非法输入写入日志文件抛出异常关闭输出流结束方法4.1.5 备份模块:采集系统客户端的备份模块主要对两种错误进行备份,第一种错误发生在采集模块中,在解析原始话单文件时发生错误,第二种错误发生在发送模块中,当把存放有BIDR对象的集合发送到服务器时发生错误。在采集模块中,可能会发生错误,造成采集的失败。为了保证采集到的数据的准确性、完整性,在采集失败时,应该进行备份以防止造成对用户造成损害或者对公司造成损害的情况发生。在发送模块中,由于网络原因、服务器原因、客户端原因等多种原因,可能会造成发送数据失败。此时应该对要发送的数据进行备份,当网络正常时把备份的数据再发送到服务器端,防止数据丢失。备份模块:备份模块大致分为三个方法,一个是当系统出现了错误需要调用备份模块进行备份时,需要调用store方法,把需要保存的数据保存到数据库中。在存储时首先需要判断一下备份文件是否存在,当备份文件不存在时,可以首先建立一个备份文件,然后向文件中写入记录数据。当文件存在时可以向已经存在的文件中追加将要保存的记录信息。当记录追加或者添加完成之后需要向文件中添加一个标记,用此标记来表明本次记录添加完毕。当网络恢复正常以后,会把备份文件中的记录信息重新发送到服务器端。在服务器端将数据存储到数据库中。当进行重新发送信息时,程序会读取备份文件中的记录。这时存在一个问题在何时到达了该文件的结尾呢。由于在前面我们在进行文件备份时,备份完成时向文件中添加了一个结束标记。在这里根据读出的信息与结束标记的比较情况就可以判断是否到达了文件的末尾。第二个方法为LOAD方法,该方法的作用是加载备份文件中的记录信息。当系统正常运行之后需要把上一次保存到备份文件中的信息重新进行发送。该方法会读取备份文件中的记录。若文件不存在说明上次运行正常。若文件存在则会读取文件中的记录并且判断是否到了文件的末尾,判断的依据同样是在保存备份数据时写入文件中的标记。第三个方法为CLEAR方法,该方法会清空备份文件中的信息,为下一次备份文件做准备。LOAD方法:生成文件对象文件存在 不 yes 不文件可读 yes获取输入流读取对象文件结束 yes no存入集合产生异常抛出异常关闭流返回集合返回空集合CLEAR方法:生成文件对象 不存在 文件存在 不可写文件可写获取输出流写入结束标志产生异常抛出异常退出方法STORE:生成文件对象文件存在 不存在建文件,写标记建立输出流加载原备份内容原备份为空存储原备份内容存储本次备份内容写入结束标记关闭输出流4.2 服务器端各个模块的具体工作过程:4.2.1 配置模块:服务器端的配置模块与客户端的配置模块的功能相似,也是对系统所需的参数进行设置,例如本系统所需要的各个模块的配置信息,包括全限类名、备份文件的位置、要连接的数据库的驱动、类的构造方法等。主要作用如下所示:1、配置系统运行的环境参数 系统运行所需的环境参数包括备份文件的位置、名称,要采集的文件的路径和名称等。因为系统的运行环境可能会改变,如果把如系统所在环境相关的信息放到程序中那么当系统的运行环境发生变化时,则需要到程序中去修改相关的配置信息。这有可能会修改系统多处的代码,不利于系统的维护工作。因此合理的做法是把与系统运行环境相关的信息存储到XML配置文件中,当需要修改系统的运行环境时,只需要修改XML配置文件中相应的标记即可。也就是说只需要修改一处即可使系统能够正常的运行,这有利于系统的维护工作。2、 读取配置信息 从XML配置文件中读取关于各个模块的配置信息,这个过程需要使用DOM解析技术。DOM解析技术的思想是把要解析的整个文件全部读入内存中,在内存中形成倒立的一颗树。这棵树由许多节点组成,每一个节点是文件中的一个标记。通过文件中标记的名字可以找到该标记在内存中所对应的节点,进而读取其中的信息。根据此信息可以实例化相关的模块,在实际的实现中一般采用工厂模式来生成相应的对象。从XML配置文件中读取了模块的相关的配置信息后采用反射的机制可以生成对应的对象的实例。这种方法与利用工厂模式是一致的。 3、检验系统能否正常运行 系统正常运行的条件是系统所必需的模块必须能够正常的启动,如果这些模块不能够正常的工作,则需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 低延迟安装系统设计-洞察及研究
- 沉积物元素来源解析-洞察及研究
- 跨市场行为关联性-洞察及研究
- 国家电工安全考试题库及答案解析
- 珠海货运从业资格考试及答案解析
- 农药从业资格证考试题库及答案解析
- 司机安全岗前考试及答案解析
- 攻克考研英语阅读与翻译题
- 船舶物资管理制度
- Ga-N共掺实现p型ZnMgO薄膜的特性与制备工艺研究
- 2025年秋期新课标人教版四年级上册数学全册教案(核心素养教案)
- 郑和下西洋课件
- 小学生宿舍养成教育主题班会
- 爱牙日课件教学课件
- 电网调度规程培训
- 公司各类补贴管理办法
- 2025年公安机关人民警察高级执法资格考试试卷(完整版)含答案
- 2025年铜化集团招聘笔试备考题库(带答案详解)
- 2025年国家基本药物目录培训
- 2025至2030中国桌面云行业发展趋势预判及市场前景预测报告
- 干眼基础试题及答案
评论
0/150
提交评论