EMM 概要设计说明书v1.3

keepwork512

贡献于2013-01-30

字数:17483 关键词:

产品设计文档 文档编号 产品版本 密级 概要设计说明书 1.3 绝密 产品名称: 共页 EMM概要设计说明书 (内部资料) 拟制: 陆军军 日期: 2008 审核: 日期: Yyyy/mm/dd 批准: 日期: Yyyy/mm/dd 版权所有 侵权必究 修订号 日期 描述 修订者 批准人/日期 1.3 2008 初稿完成 陆军军 目录 EMM概要设计说明书 1 目录 2 1 引言 5 1.1 项目背景 5 1.2 缩略语清单 5 1.3 术语定义 5 1.4 相关文档 5 2 总体设计 6 2.1 主体结构 6 2.2 功能结构 7 2.3 实现方式 7 2.4 EMM启动 8 3 接口设计 9 3.1 外部接口设计 9 3.1.1 外部接口综述 9 3.1.2 EMM和CNOSS的接口 9 3.1.3 EMM和EMM web控制页面 10 3.1.4 EMM到机箱管理组件的接口 11 3.1.5 EMM和CDN组件的接口 11 3.2 内部接口设计 12 3.2.1 内部接口综述 12 3.2.2 EMM和Keeper的接口 12 3.2.3 EMM和CnossProxy的接口 12 4 模块设计 14 4.1 配置管理 14 4.1.1 需求简述 14 4.1.2 总体结构 14 4.1.3 功能流程 15 4.2 告警管理 17 4.2.1 概述 17 4.2.2 硬件告警 18 4.2.3 性能告警 19 4.2.4 业务告警 20 4.3 日志采集 22 4.3.1 概述 22 4.3.2 数据流程 23 4.3.3 功能流程 23 4.3.4 日志格式定义 28 4.4 系统管理 34 4.4.1 用户管理 34 4.4.2 权限管理 34 4.4.3 日志管理 35 4.5 Gfs管理 35 4.5.1 概述 35 4.5.2 功能流程 36 4.6 ATCA管理 38 4.6.1 概述 38 4.6.2 功能流程 39 4.7 组件管理 40 4.7.1 概要 40 4.7.2 功能流程 40 4.7.3 实体引用 45 4.8 冗余管理 45 4.8.1 概述 45 4.8.2 主备切换 46 4.9 Keeper 49 4.9.1 概述 49 4.9.2 总体结构 50 4.9.3 功能设计 50 5 界面设计 52 5.1 整体风格要求 52 5.2 登录界面 53 5.3 菜单结构 53 6 安全保密设计 55 1 引言 1.1 项目背景 随着EMM在越来越多的项目中使用,EMM的缺陷与不足,也逐渐显现出来,主要有: 1. 业务配置信息不统一。管理员可以通过Contex页面进行业务配置,也可以通过EMM页面进行业务配置,也可以通过CNOSS页面进行业务配置。但由于缺少配置同步机制,通过EMM页面配置的信息不会显示在CNOSS上,通过Cnotex页面配置的信息不会显示在CNOSS和EMM上,这 使得EMM页面和CNOSS页面不能准确反映组件的配置信息。 2. 业务配置准确性。由于通过EMM页面和CNOSS页面的配置不能保证一定配置到组件上,且部分失败的操作不会通知配置端,EMM页面和CNOSS页面上配置信息的准确性得不到保证。 3. 业务配置仍很复杂。通过CNOSS配置业务简化了配置过程,但通过Contex页面进行业务配置仍是不可避免的。 4. 告警不足。CNOSS、EMM对设备的监控只是停留在简单的进程是否存在,cpu使用率是否超过阀值等方面。 针对以上等问题和华数对EMM/CNOSS的新需求,本项目需要对EMM进行重新规划和设计,在改进原有不足的基础上,同时加强CNOSS业务配置功能、增强告警功能、使EMM更稳定。 1.2 缩略语清单 简称 全称 解释 CDN Content Delivery Network 内容分发网络 EMM Element Management Module 网元管理模块 CNOSS Content Network Operation Support System 内容网络运营支撑系统 ContEx Content Express内容分发产品系列 Soap Simple object access protocol 简单对象访问协议 1.3 术语定义 简称 解释 设备 ATCA机箱的一块SBC板,或者一台PC 组件 CDN网络的各个部分,如crd、csg,msc,authview,cdm,icc等,其运行在设备上 Protocol2 思华定义的通信协议 1.4 相关文档 《EMM产品定义v1.3》 2 总体设计 2.1 主体结构 EMM结构如下图: EMM有以下模块; l 配置管理:接收CNOSS发送的设置信息,进行业务配置操作或者节点管理操作。 l 日志采集:采集CDN组件的日志信息,组合成特定的格式供CNOSS读取。 l 告警管理:负责采集节点内告警,并上报CNOSS。 l 组件管理:维护节点内组件列表,并对这些组件进行配置和管理。 l 冗余管理:负责对EMM主备冗余切换进行管理。 l 系统管理:用户管理、权限管理、日志管理。 l Gfs管理:控制节点内gfs系统的启动、停止。 l ATCA管理:支持ATCA设备,并能对ATCA环境下设备进行启动/停止等操作。 l CnossProxy:SOAP命令转发,将CNOSS发送的命令转化为EMM可以就接收的命令。 l Keeper:辅助EMM实现对组件、设备的状态监控等。 l EMM web控制页面:使用户可以对节点进行管理。 2.2 功能结构 说明: Ø 用户通过CNOSS进行业务配置和节点管理配置。 Ø 用户通过EMM web控制页面能对节点进行管理。 Ø 组件升级/启动/暂停等命令是配置命令中的一种。 2.3 实现方式 本系统采用C++/c进行开发,直接运行在linux平台上,管理员通过客户端WEB页面来控制系统。 2.4 EMM启动 3 接口设计 3.1 外部接口设计 3.1.1 外部接口综述 3.1.2 EMM和CNOSS的接口 EMM接收CNOSS的业务配置命令,同时上报告警/日志已展示服务运行情况。基本接口如下: l 接口类型:业务配置 n 发送->接收:CNOSS->EMM n 功能描述:实现对CDN服务系统的业务配置。 l 接口类型:读取配置信息 n 发送->接收:CNOSS -> EMM n 功能描述:读取CDN服务系统的业务配置信息。 l 接口类型:节点管理配置 n 发送->接收:CNOSS->EMM n 功能描述:实现对节点的配置管理。 l 接口类型:读取节点信息 n 发送->接收:CNOSS -> EMM n 功能描述:读取节点的管理配置信息。 l 接口类型:告警上报 n 发送->接收:EMM -> CNOSS n 功能描述:将CDN服务系统的告警信息上报CNOSS。 l 接口类型:日志上传 n 发送->接收:EMM -> CNOSS n 功能描述:将CDN服务系统的日志上传CNOSS。 接口实现: 业务配置相关接口/告警上报接口:通过soap协议实现。EMM启动时,启动中转程序CnossProxy,CnossProxy将已soap方式发送的命令转化为Protocl2命令发送给EMM,并将EMM的返回信息转化为soap方式发送CNOSS。 日志上报:CNOSS在EMM上部署采集client,通过ftp方式将日志上传CNOSS。 告警:通过soap方式上报CNOSS。 3.1.3 EMM和EMM web控制页面 EMM和EMM web控制页面,主要分为: l 接口类型:配置 n 发送->接收:EMM web控制页面 -> EMM n 功能描述:实现对EMM管理下节点的配置。 l 接口类型:读取配置信息 n 发送->接收:EMM web控制页面 -> EMM n 功能描述:读取EMM管理下节点的信息。 接口实现: 都采用Protocol2实现。 3.1.4 EMM到机箱管理组件的接口 主要有: l 接口类型:配置 n 发送->接收:EMM -> 机箱管理组件 n 功能描述:向机箱管理组件,实现对设备的管理,主要有启动设备、停止设备、重启设备。 l 接口类型:读取设备信息 n 发送->接收:EMM -> 机箱管理组件 n 功能描述:读取当前设备的状态信息。 接口实现: Intel的CMM,采用SNMP协议。 恒为的SHMC,采用SOAP协议。 3.1.5 EMM和CDN组件的接口 主要有: l 接口类型:配置 n 发送->接收:EMM -> CDN组件的接口 n 功能描述:对CDN组件进行业务配置和管理配置。 l 接口类型:读取配置信息 n 发送->接收:EMM -> CDN组件的接口 n 功能描述:读取当前CDN组件的配置信息。 l 接口类型:采集日志 n 发送->接收:EMM -> CDN组件的接口 n 功能描述:读取CDN组件的状态信息、配置信息和日志,形成节点运行日志。 l 接口类型:上报告警 n 发送->接收:CDN组件的接口 -> EMM n 功能描述:CDN组件将错误/警告信息上报EMM形成告警。 接口实现: 配置/读取配置信息/采集日志:采用Protocol2接口。 上报告警:EMM建立SyslogServer服务器,CDN组件建立SyslogCLient端,从而将日志发送给EMM。 3.2 内部接口设计 3.2.1 内部接口综述 3.2.2 EMM和Keeper的接口 主要有: l 接口类型:上报组件信息 n 发送->接收:Keeper -> EMM n 功能描述:将Keeper所在设备已安装组件的信息上报EMM。 l 接口类型:组件管理 n 发送->接收:EMM -> Keeper n 功能描述:EMM通过Keeper对组件进行管理。包括启动进程/停止进程、软件升级、备份/恢复组件配置文件等。 l 接口类型:gfs管理 n 发送->接收:EMM -> Keeper n 功能描述:EMM通过给Keeper对Keeper所在设备的gfs进行控制,一般为启动gfs、停止gfs操作。 接口实现: Protocol2 。 3.2.3 EMM和CnossProxy的接口 CnossProxy是由EMM启动后运行的一个小进程,负责将CNOSS发送给EMM的命令转化为EMM可以接收的方式。 主要有: l 接口类型:CNOSS命令 n 发送->接收:CnossProxy -> EMM n 功能描述:将CNOSS发送的命令转发EMM。 l 接口类型:EMM命令 n 发送->接收:CnossProxy -> EMM n 功能描述:将EMM发送的命令转发CNOSS。 接口实现: Protocol2。 4 模块设计 4.1 配置管理 4.1.1 需求简述 用户可以通过ContEx控制页面直接对CDN组件进行配置,但是这样很繁琐,需要登录每个组件进行配置。当组件比较多的时候,配置的工作量是巨大的,而且往往容易出错,当配置错误时,检查错误的工作量更是巨大。 EMM作为节点管理者,提供配置组件的接口供CNOSS使用,用户通过CNOSS更方便的对CDN组件进行配置,减少页面切换,CNOSS也提供智能配置、批量配置等功能,大大简化配置流程,使整个系统更容易使用。 同时,EMM也支持通过EMM web页面对EMM进行配置管理,实现远程对EMM进行配置管理。并支持向EMM下管理组件进行一般常用配置,在节点级来管理设备其相对于在单组件上进行业务配置的工作量也是一个不小的节省。 4.1.2 总体结构 如上图: ² Protocol2:EMM命令入口是以思华定义的Protocol2协议实现。 ² SOAP命令解析:CNOSS使用soap方式发送命令,而EMM的命令入口是以Protocol2协议实现的。这里就起到一个解析后转发的功能。 ² 配置管理。EMM的配置管理命令大致有2类:业务配置命令和管理配置命令。 ² 业务配置命令。配置CDN组件使其能提供服务的命令。比如增加应用,增加应用入口等。同时,也提供批量配置的功能,减少CNOSS和EMM之间通信。 ² 节点管理命令。配置EMM/CDN组件已达到管理节点的目的。比如组件启动/停止、设置告警阀值等。 ² 通过CNOSS和EMM web控制页面可以执行业务配置和节点管理命令。 4.1.3 功能流程 4.1.3.1 EMM web控制页面配置 通过EMM web控制页面,可以进行节点管理配置和基本的业务配置。 节点管理配置: 对节点进行管理配置,有:节点信息、组件许可证配置、组件启停管理、ATCA管理、查看告警、配置告警阀值、用户管理。 基本业务配置: 通过EMM可以进行基本的业务配置,使CDN组件能够向用户提供服务,进一步的配置,则需要通过ContEx页面进行配置。 4.1.3.2 Soap命令解析 Soap命令解析负责解析CNOSS发送的管理命令, 并将解析后的管理命令发送给EMM,EMM执行完成后,再将命令执行结果返回Soap命令解析模块,命令解析模块返回相应结果给CNOSS系统。 其为一个单独的子进程,在EMM启动后,由EMM将其启动。程序名为CnossProxy。 流程步骤: 1. CNOSS以http协议将命令发送给soap模块(对应EMM配对程序CnossProxy)。 2. soap模块解析命令。 3. soap模块将解析后命令以Protocol2协议方式将命令发送给EMM。 4. EMM执行命令并返回执行结果给Soap模块。 5. soap模块再将执行结果转化为CNOSS认可的格式。 4.1.3.3 CNOSS业务配置 CNOSS业务配置命令,由于有批量配置的功能,在实现上和一般的命令不一样。 CNOSS每个对节点的配置命令,在EMM上都有一个对应的实现。配置管理模块在接收到CNOSS的命令后,先将XML格式的命令解析为EMM可以识别的方式,生成一个执行组件队列,对每个组件运行命令时,都会到相应的组件上去查找对应的命令,选择正确的执行方式,并在执行后,将执行结果加入返回信息队列,生成特定的XML格式数据,最终这些执行信息返回CNOSS。 4.2 告警管理 4.2.1 概述 告警是节点管理的关键,告警信息可以让管理者在出现问题时第一时间发现问题并对问题进行准确的定位、分析,从而很好的进行修复工作,也可以记录一些重要的事件。 EMM可以上报的告警大致如下: 硬件告警: 1、板卡的手工停用事件 2、板卡的手工停用恢复事件 性能告警: 1、CPU使用率告警 2、MEM使用率告警 3、磁盘使用率告警 共三条:一般、主要、重大 4、组件性能告警。包括MSC、CSG、AuthView、CRD、CDM、ICC、CSS、 OCS各类器件的性能告警,每种设备类型又分二条:一般、主要。 业务告警: 1、进程停止告警 2、进程恢复告警 3、EMM和组件失去连接告警 4、 EMM和组件连接恢复告警 5、组件异常告警 6、组件恢复告警 7、能力告警 4.2.2 硬件告警 EMM提供的硬件告警包括: l 板卡的手工停用事件。 在ATCA设备上才会产生此类告警。此事件主要是设备在启动时发现上一次关闭时存在的板卡丢失了而产生的事件。 本告警的告警级别为:重大事件。 l 板卡的手工停用恢复事件。 在ATCA设备上才会产生此类事件。此告警主要是设备在启动后发现丢失的板卡又回到了原来的槽位而产生的板卡的手工停用恢复事件。 本告警的告警级别为:一般事件。 流程步骤: 1. 用户操作。(操作包括:启动板卡、停止板卡和重启板卡) 2. EMM web控制页面将 操作信息 发送给EMM。 3. EMM将操作信息发送给cmm/shmc。 4. Cmm/shmc进行操作。 5. 如果操作失败,返回失败信息给EMM web控制页面。 6. EMM产生告警。 7. EMM上报告警给CNOSS。 4.2.3 性能告警 EMM提供的性能告警包括: l CPU利用率告警、 本告警可以根据配置的阀值来产生相应的CPU使用率告警。 告警级别:一般告警。 l 内存使用率告警、 本告警可以根据配置的阀值来产生相应的MEM使用率告警。 告警级别:一般告警。 l 磁盘剩余空间告警、 本告警可以根据配置的阀值来产生相应的storage使用率告警。 告警级别:一般告警。 l 各个组件性能告警。(待定) 本告警要求一台机器只装有一台设备的时候产生。分别会产生MSC、CSG、AuthView、CRD、CDM、ICC、CSS、OCS的性能告警,同上面3个的告警一样,告警级别也分为两条,以XX>=80%主要告警,XX<80%。 告警级别:一般告警。 流程步骤: 1. 每5秒钟。 2. EMM轮询各个组件/设备的性能信息。 3. 如果组件/设备性能超过阀值,EMM产生告警。 4. EMM上报告警到CNOSS。 4.2.4 业务告警 EMM提供的业务告警包括: l 进程停止告警、 本告警在于EMM检测组件(MSC、CSG、AuthView、CRD、CDM、ICC、CSS、OCS)的进程是否还存在,如果不存在则上报该项报警。 本告警的告警级别:主要告警。 l 进程恢复告警、 本告警在于EMM检测组件(MSC、CSG、AuthView、CRD、CDM、ICC、CSS、OCS)的进程停止后,管理员对该进程进行了重启。EMM又重新发现相关组件(MSC、CSG、AuthView、CRD、CDM、ICC、CSS、OCS)的进程开始运行了,而产生的告警。 本告警的告警级别:一般告警。 l EMM和组件失去连接告警 本告警主要在EMM和Keeper的通讯发生异常时产生,产生的可能是机器down了、Keeper进程死掉了还有就是Keeper 进程存在但不能和EMM进行通讯。 本告警的告警级别为:重大告警。 l EMM和组件连接恢复告警 本告警主要在EMM和Keeper的通讯发生异常后,又能连接上这个Keeper 而产生的恢复告警。 本告警的告警级别为:一般告警。 l 设备异常告警、 本告警在于EMM向组件下发CheckDevice检测命令时,出现timeout无响应或者是返回错误的信息而产生的告警。 本告警的告警级别:主要告警。 l 设备恢复告警、 本告警产生,EMM向组件下发CheckDevice检测命令出现timeout或者是返回错误信息后,该组件后来与EMM的通信又正常了,并能正确的返回相关信息时产生。 本告警的告警级别:一般告警。 流程步骤: 1. 每5秒钟。 2. EMM轮询各个组件/状态信息。 3. 如果组件状态发生变化,EMM产生告警。 4. EMM上报告警到CNOSS。 4.3 日志采集 4.3.1 概述 EMM收集CDN组件的运行日志,格式转化后供CNOSS读取,最终生成整个CDN网络的数据图标,供用户查看。 采集程序由2部分实现:采集部分和整合部分。采集程序负责采集组件、设备信息并生成日志,整合部分负责将同类日志整合。 EMM目前采集的主要有以下日志类型: n AuthView监控日志 n AuthView认证日志 n CRD重定向日志 n CRD监控日志 n CSG重定向日志 n CSG监控日志 n MSC监控日志 n 物理组件监控日志 n 用户访问日志 存储目录: ² 目录SDRCnoss:CNOSS读取日志目录。 ² 目录SDRLocal:初始日志目录。 ² 目录SDRBak:备份日志目录。(保存7天) ² 目录SDRError:错误日志目录,保存出错的日志。 4.3.2 数据流程 如上图: 采集日志部分首先从CDN组件/Keeper读取日志信息,并生成初始日志,保存于SDRLocal目录;而后由整合日志部分将日志整合:如果为错误日志,将其放入SDRError目录中,如果为正常日志,整合后放入SDRCnoss目录,并备份入SDRBak;最终,由CNOSS的日志采集Client端将日志上传CNOSS。 4.3.3 功能流程 4.3.3.1 采集日志 对于Authview监控日志、CRD监控日志、CSG监控日志、MSC监控日志、物理组件监控日志。 流程步骤: 1. 每1分钟。 2. EMM发送命令给组件,读取组件信息。 3. 如果读取组件信息失败,退出。 4. EMM生成日志。 对于Authview认证日志、CRD/CSG重定向日志、msc用户访问日志。 流程步骤: 1. 每10分钟。 2. EMM发送命令给组件要求切换日志文件。 3. 如果切换失败,EMM日志采集部分退出。 4. EMM发送命令给组件读取日志列表。 5. 如果读取日志列表失败,EMM日志采集部分退出。 6. EMM过滤得出需要下载的日志列表。 7. EMM发送命令给组件读取日志信息。 8. 如果读取失败,EMM日志采集部分退出。 9. 生成日志。 4.3.3.2 整合日志 日志采集模块每1分钟对初始日志进行一次整合,以形成CNOSS可以处理的日志。 大致流程如下: 1. 读取初始日志目录信息。 2. 读取一个文件。 3. 如果文件后缀为error,将其移动到错误日志目录。 4. 如果文件后缀不为sdr和error,忽略这个文件。 5. 将该文件并入初始整合日志。 6. 将该文件移动到备份日志目录。 7. 如果已经处理完所有SDRLocal中日志,将所有初始整合日志改名为正式整合日志。(temp文件改名为sdr文件) 4.3.3.3 备份日志压缩/删除 备份目录中的日志按天放置于不同目录(比如20080101)。 EMM每1分钟会根据当前时间生成一个目录名(比如20080101),如果该目录存在于备份日志目录中,跳出,否则,EMM建立该目录,并压缩昨天建立的目录,然后删除昨天建立的目录。同时EMM检查是否有存在时间超过6天的压缩文件,存在则将其删除,达到保存7天内日志的目的。 4.3.4 日志格式定义 4.3.4.1 AuthView监控日志 由EMM负责采集的AuthView监控日志信息如下所示: l 应用标识 l 统计开始时间(精确到秒,格式YYYYMMDDHHmmss) l 统计结束时间(精确到秒,格式YYYYMMDDHHmmss) l 累计认证请求数 l 累计认证成功数 l 累计认证失败数 l 每请求平均响应时间 l 最大响应时间 l 最小响应时间 l 最大每秒访问数 4.3.4.2 Authview认证日志 4.3.4.3 CRD监控日志 由EMM负责采集的CRD监控日志信息如下所示: l 应用标识 l 统计开始时间(精确到秒,格式YYYYMMDDHHmmss) l 统计结束时间(精确到秒,格式YYYYMMDDHHmmss) l 总访问用户数 l 累计成功用户数 l 累积成功重定向用户访问数 l 累积成功点播用户访问数 l 累积成功下载用户访问数 l 累积成功直播频道用户访问数 l 每请求平均响应时间 l 最大响应时间 l 最小响应时间 l 最大每秒访问数 4.3.4.4 CRD/CSG重定向日志 编号 标识 类型 意义 1 device_id String 设备名 2 app_id String 应用id 3 cdn_session_id String CDN唯一标识 4 user_ip String (ipv4) 用户ip 5 user_port Int 用户端口 6 protocol String 访问协议 7 content String 访问内容 8 delivery_type Int 访问方式 9 auth_key String 认证字符串 10 access_time yyyy-mm-dd hh:mm:ss 访问时间 11 report_ip String (ipv4) 用户报告ip 12 report_port Int 用户报告端口 13 user_agent String 播放器名 14 client_id String 用户标记 15 accept Bool 是否接收 16 success Bool 是否成功 17 direct_entry String 分配子节点 18 direct_host String(ipv4) 定向主机 19 direct_port int 定向端口 20 direct_proxy false 是否使用代理方式 21 direct_content String 定向内容名 22 direct_authkey String 定向认证字符串 23 direct_protocol String 定向协议 24 service_ip String(ipv4) 服务器的IP 25 service_port Int 服务器的端口 26 direct_ttl int DNS定向TTL 27 direct_name_server String DNS是否定向到NS 28 direct_name_server_name String DNS名字服务器 4.3.4.5 CSG监控日志 由EMM负责采集的CSG监控日志信息如下所示: l 应用标识 l 统计开始时间(精确到秒,格式YYYYMMDDHHmmss) l 统计结束时间(精确到秒,格式YYYYMMDDHHmmss) l 累计用户数 l 累积失败重定向用户访问数 l 累积失败点播用户访问数 l 累积失败下载用户访问数 l 累积失败直播频道用户访问数 l 每请求平均响应时间 l 最大响应时间 l 最小响应时间 l 最大每秒访问数 4.3.4.6 MSC监控日志 由EMM负责采集的MSC监控日志信息如下所示: l 应用标识 l 统计开始时间(精确到秒,格式YYYYMMDDHHmmss) l 统计结束时间(精确到秒,格式YYYYMMDDHHmmss) l 总流量 l 平均并发连接数 l 平均命中并发连接数 l 平均代理并发连接数 l 平均并发点播连接数 l 累计点播流量(以byte为单位) l 平均并发直播连接数 l 累计直播流量(以byte为单位) l 平均并发下载连接数 l 累计下载流量(以byte为单位) l 平均并发获取内容连接数 l 累计获取内容流量(以byte为单位) l 完整存在内容数 l 部分存在内容数 l 下载中内容数 l 已用空间(以KByte为单位) l 可用空间(以KByte为单位) 4.3.4.7 物理组件监控日志 由EMM负责采集的物理组件监控日志信息如下所示: l 监控物理设备标识(包括EMM) l 统计开始时间(精确到秒,格式YYYYMMDDHHmmss) l 统计结束时间(精确到秒,格式YYYYMMDDHHmmss) l CPU数量 l CPU利用率瞬时值,若存在多个CUP,则用分号分开 l 网卡数量 l 累计网络接受流量(以byte为单位) l 累计网络发送流量(以byte为单位) l 总内存(以MByte为单位) l 可用内存(以MByte为单位) l 总存储空间(以MByte为单位) l 可用存储空间(以MByte为单位) l 存储类型:1:自带存储;2:共享存储(如果EMM设备) l 机架温度(如果是EMM设备) 4.3.4.8 用户访问日志 由EMM负责采集的用户访问日志信息如下所示: l device_id 类型为string(范围1-31个字符),产生日志的服务引擎标识。 l app_id 类型为string(范围0-31个字符),日志所属于的应用标识。如果为广告播放日志则应用名为空串。 l user_ip 类型为ipv4,最终用户实际连接IP地址。 l user_port 类型为uint16,最终用户实际连接端口。 l Protocol 类型为string(范围1-31个字符),用户播放使用协议名。 l Content 类型为string(范围1-1023个字符),用户播放内容uri。 l Ad 类型为bool,是否为广告播放日志,true代表广告播放,false代表正常节目播放。 l ad_id 类型为string(范围0-255个字符),播放的广告标识,为空串代表不可用。 l delivery_type 类型为enum,内容分发方式,具体值见相应文档。如果为广告日志此值无意义。 l auth_key 类型为string(范围0-4095个字符),用户认证字符串。 l start_time 类型为timestamp,用户开始播放时间。UTC。 l stop_time, 类型为timestamp,用户结束播放时间。UTC。 l play_time, 类型为uint32(无范围限制),用户播放时间,单位为秒。用户session持续时间,应该为start_time和stop_time的时间间隔。 l hit, 类型为bool,用户访问是否命中,内容是否从本地获得。 l send_rate, 类型为uint32(无范围限制),内容最大发送带宽,单位为bits/s。如果为0代表未知。 l play_rate, 类型为uint32(无范围限制),内容实际发送带宽,单位为bits/s。如果为0代表未知。 l tcp_data_send, 类型为bool,是否使用tcp方式向用户提供数据。 l report_ip, 类型为ipv4,用户报告IP地址。 l report_port, 类型为uint16,用户报告端口。 l user_agent, 类型为string(范围0-255个字符),用户播放器名。 l client_id, 类型为string(范围0-255个字符),用户端唯一标识。 l duration, 类型为uint32(无范围限制),内容持续时间,单位为秒。如果为0代表未知。 l send_time, 类型为uint32(无范围限制),发送字节能够持续播放时间,当为streaming时才有效,这个时间并不等于用户实际播放的时间。如果为下载业务时则为实际发送时间。 l send_bytes, 类型为uint64(无范围限制),服务器总发送字节数。 l quality, 类型为uint8(范围1-100),用户实际播放质量,1代表最差,100代表最佳。 l session_string, 类型为string(范围0-4095个字符),用户session字符串,从AuthDone事件或者脚本分析中获得。 l cdn_session_id, 类型为string(范围0-255个字符),用户这个请求在CDN整个过程中的唯一标识。此标识一般在中心入口时生成,用来标志整个路由过程。 l username, 类型为string(范围0-31个字符),用户名。 l userlevel, 类型为uint8(范围1-9),用户等级。 l content_display_name, 类型为string(范围0-255个字符),内容友好显示名,更好地表示内容。 l service_ip, 类型为ipv4,最终用户访问服务IP地址。 l service_port, 类型为uint16,最终用户访问服务端口。 l ipqam_region_id, 类型为string(范围0-31个字符),ipqam区域标识。 l resend_packet, 类型为uint32(无范围限制),udp重传包个数。 l 应用类型, 流媒体、下载、时移等,要求可扩展。(原来在第二项) l 付费类型: 后付、预付。 l 认证方式: 不认证、本地认证、远程认证。 l CRD: 标识、时间,是否成功 l CSG: 标识、时间,是否成功 Authview: 标识、时间,是否成功 MSC: 标识、时间,是否成功(如果不成功,给出失败类型:认证失败;无内容;内容文件损坏;网络故障等) 4.4 系统管理 4.4.1 用户管理 系统管理人员使用本功能创建,修改,删除用户。 用户的相关属性包括:用户登录名、密码、用户类型、描述信息、当前会话数。 对用户的管理包括: 增加用户、修改用户(密码/用户类型/注释)、删除用户、查看当前在线用户。 同时,对用户也能设置IP过滤规则,使只有特定网段的用户才能登录EMM,对EMM进行配置等操作。 4.4.2 权限管理 对不同的用户,其用户类型决定其操作权限,目前的权限类型有控制如下: l 特权用户 l 超级用户 l 写用户 l 读用户 配置命令有3种类型:管理命令,读命令,写命令。 从配置命令的角度看,权限如下: l 特权用户。必需存在一个(最后一个特权不用不能被删除),其拥有所有操作权限。 l 超级用户。拥有所有操作权限,和特权用户的区别是超级用户可以不存在(即任何超级用户都可以被删除)。 l 写用户。可以执行读命令和写命令。 l 读用户。只能执行读命令。 EMM也提供ftp等方式下载如配置文件,权限如下: l 特权用户。所有权限。 l 超级用户。所有权限。 l 写用户。浏览目录,下载文件,上传文件,创建目录。(不能进行的操作有:删除目录,删除文件) l 读用户。只能浏览目录。 4.4.3 日志管理 系统管理人员使用本功能启用日志输出,设定日志切换间隔,设定日志大小限制(超出会自动切换),并能设定Syslog服务器,使EMM及时将日志上报日志服务器。 EMM运行日志有:通知日志、警告日志、错误日志、设备运行日志、用户操作日志。 4.5 Gfs管理 4.5.1 概述 有些CDN组件环境采用GFS集群文件系统对存储进行读写操作,因此在组件进行资源释放和准备资源的时刻,必须能够自动的将服务组件加入到机群系统和从机群文件系统中退出,并不影响其他的服务组件的正常工作。 EMM负责在启动的时候Mount上GFS文件系统,同时指挥各个组件Mount上GFS文件系统。当加入机群文件系统的一个组件出现错误时,EMM能够自动将该组件隔离,并不影响其他组件的正常工组。 GFS的起、停集成在对组件的状态变迁操作中,启动组件时,会有准备资源操作,这时会将组件所在设备的GFS启动;停止组件时,会有释放资源操作,这时会将组件所在设备的GFS停止。 4.5.2 功能流程 4.5.2.1 初始化 流程步骤: 1. EMM启动。 2. EMM读取gfs信息。 3. EMM向Keeper发命令启动gfs。 4. Keeper启动gfs。 5. 如果启动失败,EMM30秒后再尝试。 4.5.2.2 启动gfs 1. EMM web控制页面执行msc资源准备操作。 2. EMM web控制页面发送资源准备操作给EMM。 3. EMM发送启动gfs命令给Keeper。 4. Keeper启动gfs。 4.5.2.3 停止gfs 流程步骤: 1. EMM web控制页面执行msc资源释放操作。 2. EMM web控制页面发送资源释放操作命令给EMM。 3. EMM发送停止gfs命令给Keeper。 4. Keeper停止gfs。 4.6 ATCA管理 4.6.1 概述 EMM支持ATCA( Advanced Telecom Computing Architecture,先进电信计算体系结构),能对ATCA环境下硬件进行管理,包括设备的上电、下电和重启操作。 EMM支持的ATCA设备厂家有: l Intel l 恒为 EMM支持的ACTA机箱槽位为: l 5槽 l 14槽 4.6.2 功能流程 4.6.2.1 初始化 EMM启动时,如果配置为ATCA环境,则会主动连接cmm/shmc获取机箱信息,如果连接失败,会记录日志。 4.6.2.2 设备启动/停止/重启 注:设备操作,包括设备启动、设备停止和设备重启。 4.7 组件管理 4.7.1 概要 一个CDN网络节点由多个CDN组件组成,组件管理模块负责维护节点内组件列表,并对这些组件进行配置和管理。 组件管理模块是EMM实现组件管理的基础,其不但本身实现对组件的配置/管理,也抽象对象化组件为其他模块提供接口,方便实现其他模块对组件的配置等操作。 EMM在Keeper的配合下,实现CDN网络节点的管理: 1. 组件管理。主要是指对CDN服务软件的管理(也就是我们说的组件)。包括:组件升级,组件状态的变迁,组件配置文件的备份/恢复。 2. 配置管理。提供向组件进行配置的基本接口,并能配置组件的许可证等。 4.7.2 功能流程 4.7.2.1 组件启动/停止 EMM不但能监控组件的运行状况,也能对组件的状态进行控制,包括组件的启动和停止。 4.7.2.2 管理组件配置文件 EMM能将组件的配置文件备份到本地,并能恢复组件的配置文件到组件上,从而有效的保护了数据。 备份组件配置文件: 流程步骤: 1. 备份组件配置文件。 2. 读取组件配置文件。 3. 读取组件配置文件。 4. 读取组件配置文件成功。 5. 保存配置文件。 6. 读取组件配置文件失败。 4.7.2.3 软件升级 EMM能对组件的版本进行升级,简化用户操作。 流程步骤: 1. EMM web控制页面向EMM发送读取组件安装包信息命令。 2. EMM向对应的Keeper发送读取组件安装包信息命令。 3. Keeper从安装目录读取安装包信息。 4. 用户选择升级的组件和对应的安装包。 5. EMM web控制页面发送升级组件和安装包信息给EMM。 6. EMM发送升级组件和安装包信息给Keeper。 7. Keeper执行升级操作。 4.7.2.4 维护组件列表 获取组件信息: 流程步骤: 1. Keeper启动。 2. Keeper读取配置文件,获得安装组件列表。 3. Keeper更新组件状态信息。 4. Keeper上报组件状态信息。 5. EMM更新组件列表信息。 6. EMM更新组件状态信息。 4.7.2.5 组件状态维护 每次Keeper上报其设备上组件状态信息,EMM也会更新对应的组件状态信息。 每1分钟,EMM轮询每个组件,如果其上次上报状态信息时间和当前时间超过设定,则认为其超时,设置该组件状态为未知状态。 4.7.2.6 组件状态变迁 在EMM管理下的组件有多个状态: l N2:初始状态。为被EMM纳入管理的组件 或者 新被EMM纳入管理但没有其他操作的组件处于此状态。 l N4:环境准备状态。仅对存在gfs的msc有意义,表示msc所在设备GFS已经成功被启动,正在运行中。对N2或N7状态的组件执行资源准备操作后该组件进入N4状态。 l N5:进程运行状态。表示组件已经正在运行。对N4状态的组件执行启动操作后,该组件进入N5状态。 l N6:进程停止阶段。表示组件已经停止运行。对N5状态的组件执行停止操作后,该组件进入N6状态。 l N7:完全停止阶段。仅对存在gfs的msc有意义,表示msc所在设备GFS已经停止运行。对N6状态的组件执行释放资源操作后,该组件进入N7状态。 4.7.3 实体引用 4.7.3.1 Keeper上报组件状态数据 l 槽位号 l 组件Guid l 组件类型 l 组件状态 l 板卡类型 l Keeper运行时间 4.8 冗余管理 4.8.1 概述 EMM支持主备协同工作, 容错处理。日常情况下,主EMM投入使用,备EMM处于待用状态。一旦主EMM发生故障,不能正常运行,备EMM接替主EMM的工作。 EMM主备切换规则: 1. EMM之间通过发送内网(即1.0.seq.0/24网段)的广播包来进行通信。 2. 主EMM每隔1秒发送一个主EMM存在包。 3. 备EMM每隔1秒发送一个备EMM存在包。 4. 新启动的EMM是未知状态,当在30秒内接收不到EMM存在包,或者接收到备EMM存在包,或者接收到EMM存在包并竞争胜出,则切换为主EMM,否则切换为备EMM。 5. 备EMM在3秒内未收到主EMM存在包,或者接收到主EMM存在包并竞争胜出,则自动升级为主EMM。 6. 主EMM如果接收到EMM存在包但竞争失败,则切换为备EMM。 主备EMM竞争规则:每个EMM保存一个已发送主竞争包次数。首先比较已发主竞争包次数,大者胜出,当已发主竞争包次数相等时,位于低槽位的EMM胜出。 EMM之间通信规则:主EMM获得IP地址1.0.seq.203,备EMM获得IP地址1.0.seq.204,另外主EMM绑定对外的控制IP地址,当EMM发生切换时,IP地址也要进行切换。EMM之间建立Talk通信,其中主EMM的标识为active,备EMM的标识为standby,通信密码为ism,EMM之间通信主要为了同步状态。 4.8.2 功能流程 4.8.2.1 EMM启动流程 新启动的EMM初始为未知状态。 流程步骤: 1. 当前EMM启动,状态为未知。 2. 当前EMM每1秒广播一次EMM存在包。 3. 当前EMM 30秒内未接收到EMM存在包。 4. 当前EMM切换为主EMM。 5. 当前EMM接收到备EMM存在包。 6. 当前EMM切换为主EMM。 7. 当前EMM接收到主EMM存在包。 8. 当前EMM竞争失败,切换为备EMM。 9. 当前EMM竞争成功,切换为主EMM。 10. 当前EMM接收到未知状态EMM存在包。 11. 当前EMM竞争失败,切换为备EMM。 12. 当前EMM竞争成功,切换为主EMM。 4.8.2.2 主EMM运行流程 流程步骤: 1. 每秒广播一个主EMM存在包。 2. 当前主EMM接收到EMM存在包。 3. 当前主EMM竞争失败,切换为备EMM。 4.8.2.3 备EMM流程 流程步骤: 1. 每秒广播一个备EMM存在包。 2. 当前备EMM 3秒未接收到主EMM存在包。 3. 当前备EMM切换为主EMM。 4. 当前备EMM接收到主EMM存在包。 5. 当前备EMM竞争成功,切换为主EMM。 4.9 Keeper 4.9.1 概述 Keeper,是EMM实现节点管理的重要组成部分。EMM管理下的每个设备上,都必须部署Keeper,该设备才能被EMM管理。 Keeper部署在每个设备上,并主动与EMM连接,使EMM知道这个设备和设备上组件的存在。通过Keeper,EMM可以读取设备状态信息,如cpu使用率、内存利用率、网卡信息等等;通过Keeper,EMM可以对gfs进行管理;通过Keeper,EMM可以对组件进行启动/停止,软件升级,备份组件等操作。 对Keeper最主要的要求是稳定,设计上要求如果系统没有down掉,Keeper绝对不能down。 为了保证Keeper的安全性,Keeper只允许被内网访问。 4.9.2 总体结构 4.9.3 功能设计 4.9.3.1 设备状态监控 Keeper会对设备进行全方位的监控,是EMM能准确及时的获取设备的运行状态。目前Keeper会监控的设备信息有: l 系统基本信息。操作系统版本、系统启动时间、系统活动时间、系统当前时间、时区。 l CPU使用率。支持对多cpu的监控。 l 内存使用率。 l 硬盘使用率。 l 进程信息。 l 网络数据。包括网卡信息、arp信息、路由信息、DNS配置信息。 4.9.3.2 组件状态监控 Keeper会对每个安装在设备上的CDN组件进行状态监控,并把这些信息上报EMM。 4.9.3.3 组件管理 Keeper提供接口,供EMM对安装在设备上的CDN组件进行管理。包括: Ø 启动/停止组件。 Ø 备份/恢复组件配置文件。 Ø 组件升级。 4.9.3.4 时间同步 Keeper支持建立时间同步服务器,也支持作为时间同步客户端与服务器端进行时间同步。 时间同步服务器与客户端的建立由EMM统一调配。EMM启动后,会在EMM所在设备建立时间同步服务器,然后每发现一个新的设备,EMM会将其配置为时间同步客户端,并与EMM所在设备的时间同步服务器连接。 时间同步使节点内系统时间保持一致,从而保证日志、监控信息等时间上的统一性。 5 界面设计 EMM采取c/s结构设计,EMM需要通过EMM web控制端才能登录EMM进行节点管理。 5.1 整体风格要求 如上图: 整体的页面分为: 1. TITLE部分。在Web页面的最上面部分,主要显示产品名称,页面版本号。 2. 菜单列表部分。显示系统菜单中最主要的分类。 3. TABLE TITLE部分。显示系统菜单中细项分类。 4. 详细信息部分。页面最主要的部分,用于显示具体的内容。 5. IE标题栏部分。用于显示当前连接的EMM的具体IP信息。 5.2 登录界面 登录界面提示用户输入EMM IP、EMM 端口(默认是3021)、用户名、密码。 5.3 菜单结构 一级菜单 二级菜单 TAB1 TAB2 TAB3 TAB4 TAB5 TAB6 系统管理 系统信息 设备运行信息 节点能力 系统基本信息 网络管理 网络接口管理 路由管理 DNS服务器信息 系统维护 组件管理 设备许可证信息 备份恢复 支持信息 系统设置 时间设置 系统安全 访问入口 IP规则 用户信息 密码管理 在线用户 日志管理 日志配置 设备运行日志 用户操作访问 告警管理 当前告警 告警配置 邮件告警 短信告警 全局均衡管理 日志配置 应用日志配置 全局信息 全局规则 全局入口 应用入口资源 应用信息 应用信息 应用入口 就近性组 静态就近性 父设备 子设备 直播信息 直播信息 统计信息 访问统计信息 点播访问统计信息 直播访问统计信息 下载访问统计信息 全局认证代理管理 日志信息 日志配置 应用信息 应用信息 子节点信息 日志上传信息 应用脚本 认证脚本 日志上传脚本 认证日志脚本 访问日志脚本 定向日志脚本 应用脚本2 内存认证日志脚本 内存访问日志脚本 内存定向日志脚本 最终用户过滤脚本 统计信息 认证日志信息 访问日志信息 定向日志信息 认证请求统计信息 访问日志统计信息 定向日志统计信息 内容网关管理 设备管理 设备设置 内容管理 应用管理 内容管理 内容组管理 内容操作 时间设置 内存查询 任务管理 流服务引擎管理 日志管理 用户日志配置 引擎管理 全局访问入口 应用入口资源 状态 存储 访问协议 访问入口 访问规则 授权用户 应用信息 应用管理 用户访问入口 父设备 认证设备 第三方子节点信息 内容信息 映射规则 主机信息 内容目录 内容管理 直播信息 基本信息 源信息 统计信息 访问统计信息汇总 点播访问统计信息 直播访问统计信息 下载访问统计信息 6 安全保密设计 主要是EMM对外接口的安全问题。对于Protocol2协议因为是私有的协议,并能加密,已经考虑了安全性。

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ]
1 人已下载

下载文档

相关文档