NOKIA优化项目总结
优化项目行将结束,为了以后工程的顺利开展,也为了项目组成员技能的提高,现总结如下。为了便于总结,分别从终端操作,report运行,操作命令,参数调整,提取数据几个方面予以描述。
1 NOKIA终端操作
1.1 使用工具:
由于NOKIA OMC_R不是图形化界面,故要使用reflection软件登陆OMC终端,提取报告,查参数,告警等,当然也可以使用telnet,x-manager等终端工具,通过工程实践证明reflection是最佳工具。
1.2 操作界面
进入OMC后,可以通过不同的操作进入不同的操作界面,执行不同的任务:
BSC操作界面
1.-通过reflection下的reflection for UNIX and Digital子菜单等陆;
-输入用户名:planner
-输入密码:xxxxx(登陆后首先进入的是UNIX界面,可以使用UNIX操作命令,如tar,vi等)
以上是REFLECTION登陆步骤,进入任何操作界面前都必须经过以上步骤。下面的操作步骤对于进入BSC界面,报告界面,SQL界面是不同的。
-键入命令:neman.sh
-选择不同的BSC
-用户名:xxxx 密码:xxxx (至此,便进如BSC操作界面—MAIN LEVEL COMMAND)
-进入BSC后可敲入各种命令:ZEEI,ZEAO,ZEHO,ZEUO,ZEQO,ZERO,ZEOO等。 Z命令退出BSC操作界面,最后返回reflection登录后的unix界面。
Report报告提取界面
-REFLECTION登陆步骤(同上)
-在UNIX界面下进入目录:cd /d/nmsopt/nokiaoss/content/ndobss 回车
-./ndp001mx.sh
-用户名:xxxxx 密码:xxxxx (进入报告界面)
-选择菜单6,提取报告
-键入报告名如800,204,163,213,196,222等
q命令退出报告界面,退回UNIX命令界面。
进入SQL界面
-在UNIX界面下进入相关目录
-sqlplus命令进入SQL编辑器界面
-sql>@cellKPInew_bh_10_today.sql运行sql文件
-可用ftp工具传送sql文件(注意:一定要使用ASIC方式传送文件,否则不能运行。) -quit命令退出
SQL语言编程将是我们必须掌握的一项技能,如若不然,如果新换一个工地,取数据将会是一个问题。
2. Report
在NOKIA优化中,常用到如下报告:
800 全网指标(可以看全网、BSC和小区级主要性能指标,任意时段、任意时间区间、可以是多天联合统计、或全天)
163 全网高掉话小区统计,从高到低排序。
204 小区级指标统计
196/197 小区级各TRX质量统计。(不能查看单独时段,最短只能看当天0:00到观察时间的联合统计)
213 小区级指标统计,包含参数设置,又名cellDocter(是记录统计数据最全的报告,但很烦琐 ,类容很多,不容易找到重点。)
222 各LAC下寻呼量统计
076 各BSC下同频同色码统计
3.COMMAND
常用命令也就是bsc_log.sh中的几个按纽所示,具体的命令格式详见NED:
ZEEI 显示小区级参数,如该小区各载波频点,是否可用,BCCH频点
ZEOL/ZAOH 显示告警
ZEEO 显示BSC级的告警门限等参数
ZERO 显示小区各载波时隙的占用情况,干扰情况
ZEEL:显示该BSC下BL的小区,载波
ZEHO:显示切换参数
ZEAO:显示邻小区参数
ZEUO:显示功控参数
ZEQO:显示所有BTS的参数,加ALL显示
以上命令的具体内容请参阅NED
4.参数调整
总体来看,NOKIA的参数有以下几方面的特点:
1、 较其他厂家明显多很多,初步了解起来感觉很烦琐;
2、 与客户提及的参数一般以简写进行说明,比如:最小接入电平(ACCMIN)在NOKIA的参数里面则叫做RXP。类似这种参数名称的叫法要比较习惯,与客户的交流感觉会好些;
3、 参数繁多从另一个角度也可以看到在NOKIA进行优化时的参数调整手段也相对比较多。比如:POPT、LEV、LEVD、PD0、PD1、PD2、EFH、EFP等参数对降低或稳定掉话都有一定程度的作用。目前实验的与其他厂家不同的参数还只有这几个,其他还有这方面的参数,需要多理解,能够找到更多降低掉话率的方法。另外,其他厂家具备的参数在NOKIA同样也有相似的作用,比如:关闭由于电平的切换、调整功率控制门限、启用功率控制功能、启用BB跳频等。因此,NOKIA的优化手段应该比其他厂家更多,需要不停的尝试和发掘;
4、 NOKIA参数的另外一个特点就是没有有关定时器的参数,如T3101、3103、3109等等,这些参数都是不能进行调整的。在优化过程中建议不要考虑这方面的问题;
5、 容量问题,BSC在进行工程配置时以承载多少载频为依据,一般新的BSC(3i系列)以BCSU的数量决定BSC的载频数量,一个BCSU承载110套载频,旧的BSC(2e、2i系列)以总体承载载频数进行规划,2e承载256套载频,2i承载512套载频。在进行容量调整时需要考虑这方面的因素。NED中有具体说明;
6、 ABIS口传输数量问题不需要加以考虑。对于BSC只需要考虑载频数量,只要载频数量没有超过限制,多少小区和多少ABIS传输接口都没有限制;
7、 注意和GPRS之间的影响问题。各BSC中容量规划原则:一个PCU128个TRX,256个PDTCH信道,一个BSC有2~5各PCU。BSC下小区归属的GPRS片区(NSEI号)要注意,一个片区由一个PCU管理,一个NSEI号对应一个PCU,其下小区的分布不要交叉。
8、 同步切换问题。和其他厂家不同,在同站不同小区可能使用不同的BCF,也就是说一个站三个小区可能是一个BCF也可能是2个或3个BCF,但作为同步切换的原则是:只能在同一个BCF下才能进行同步切换。
NOKIA的参数主要在参数手册中有介绍,但我们认为那些都是一些简单的介绍,估计更具体的说明应该在NED中。
参数部分需要(而且也是目前能够直接进行学习的部分)重点加以关注和了解。
5.统计数据分析
1、 对于NMS中的统计数据原始记录表通过SQL语言编程提取或ODBC提取时都是完全开放的,只要有能力,能够看到所有的统计数据,包含交换方面的统计都一定程度上可以看到。比如:1、能够看到载频级的质量和电平统计,能够直接通过统计数据定位故障载频;2、能够比较全面的看到小区TA分布,了解小区的覆盖距离,同时也更有利于
捕捉直放站的存在问题;3、切换跟踪能够看到NEI级的由于资源的切换失败问题,由此能够具体分析出影响某个NEI方向切换失败的原因是否是由于资源问题导致,但不能区分向某个NEI切换的具体原因,如果要实现这个功能也是可以实现的,但需要打开专门的测量统计,进行专项分析,不过比较消耗BSC和NMS资源,一般不建议启用;
2、 由于信息量太大,因此分析起来更加烦琐,提取的数据更多,需要了解更多的计数器,
甚至交换方面的计数器。原则上说,对这些计数器了解得越多,优化分析的能力将更进一步有所提升,分析深度更深,数据说明更有依据。不过,从优化总体分析和常规分析来看,以前其他厂家的分析方法和思路都能够应用到NOKIA的分析中。
3、 分析数据的相关门限:对于NOKIA分析一般情况下上下行链路平衡在15db以上才考虑
硬件故障的可能性,主要原因还是和硬件结构相关, NOKIA基站灵敏度仅仅是符合GSM的规范,是-110dbm,但上下行相差15db以内还是能够正常工作。象类似这样的门限分析时需要根据当地数据判断和确定,不能一概而论。
4、 分配失败率问题:在NOKIA不能准确的取出分配失败率数据,但能取出一个比较接近
的数据进行类比,只要小区不是严重拥塞,也可以以此来进行分析,而且这次我们和NOKIA进行交流后,他们都承认向我们学习了一个判断硬件故障非常快捷的方法。
5、 统计数据的提取:由于NOKIA的统计数据是全开放的,用NOKIA的说法就是,只要
搞清楚了所有的计数器,这些计数器的功能甚至可以取代信令分析仪。由此说明其计数器之繁多。每个优化人员都可能随时提取其中的部分计数器数据。而提取计数器数据的方法只有两种:SQL程序或ODBC。两种方法都有其好的方面也有其局限。ODBC在任何时候都可以直接提取各种数据,非常方便。但其最大的局限就是非常慢,同时还受用户权限的限制。因为计数器的数量太多,且记录的时段是以每个小时为单位,因此数据量很大,要想取一天比较全面的数据需要消耗大量的时间,很慢。而且目前安排我们登陆的工作站IP其归属的路由器根本没有和数据服务器设置为同一网段,因此无法直接连接ODBC。SQL的特点是需要事先进行编程。完成SQL程序后,在UNIX中可以安装为自动执行,可以在晚上NMS比较空闲时自动运行提取数据,形成压缩文件。理论上说,只要熟悉SQL语法和NOKIA的统计数据表结构,能够在任何时间提取任何想要提取的原始数据,甚至可以通过SQL直接进行运算形成想要的中间表格,减少提取的数据量,而且不受用户权限的限制。任何一个最低级的用户权限,都能够完成SQL的编程和数据提取功能。
6、 对于统计数据分析方面,如果没有ODBC权限的话,SQL编程能力非常重要。因为日
常优化不可能提取全部网络数据,只是提取需要分析的那些部分,对于临时出现的提取数据需求,需要临时编写SQL程序进行提取。
7、 统计数据提取时限:在NMS上最大能够提取两周(14天)的统计数据。
6.告警收集和分析
NOKIA的告警信息比较全面,能够定位到包括天线VSWR不正常的相关问题。及时监控2993告警能够将TR(TC)掉话降低为0等等。因此对告警信息的了解和查询非常重要,不一定要记住全部告警,但一定要知道告警的提取和查询方法。
6.NOKIA优化知识准备
综合以上内容,NOKIA优化知识准备主要有以下几个方面:
1、 全面了解NOKIA的网络结构,重点是基站结构;
2、 尽可能全面了解NOKIA的网络参数,对于有优化经验的工程师做到这点应该只需要3天时间就足够了;
3、 对NOKIA的计数器进行尽可能的了解,目前主要是提取数据工具中的数据表的理解,以后需要深入到对原始表的理解。了解越多,优化分析能力将越强。
4、 对NOKIA各种原始报告的理解,了解各种报告能够看出什么方面的问题,有些什么数据等。对所有工程现场都适用。实际上这些报告也就是一系列SQL程序的运行结果。
5、 对NOKIA告警信息的提取、分析和处理的了解。尤其是了解告警信息的查询方法。记住所有告警是不可能的。
6、 熟悉了解UNIX操作,常用的UNIX命令、VI工具的使用。
7、 SQL语言的学习和了解,在NOKIA系统的几乎和技术相关的客户都比较清楚SQL语言,因此这方面需要重点加以关注。
8、 对NOKIA数据库的原始表格结构和表格列(COLUMN NAME)的完整名称需要了解清楚,才有能力进行SQL编程。
9、 对容量方面的规划、预测、计算等,在NOKIA,优化和CELL PLAN是不分开的,需要同时具备这两方面的能力,甚至和无线相关的MSC方面的一些问题都需要涉及,比如:寻呼量、LAC下用户数、相关话务量、MOC、MTC比例、A接口容量计算、扩容、割接计划、LAC规划和调整、MSC、Gb的负荷、CPU负荷等等。这方面的问题我们在现场也是遇到一个学习和分析一个。
10、 对无线传播理论的学习和了解。由于NOKIA优化和PLAN没有分开,因此对无线传播理论和计算方法等方面的要求比较高,要求要具备一定程度的室内、市外覆盖预测能力和链路预算估算能力,对于频率规划方案的了解和分配等等。
11、 其他方面:ACCESS、EXCEL、MAPINFO应用能力需要具备。
谢 谢
组织机构管理模块
请描述一下你做的组织机构管理模块
描述思路:
1、 组织机构模块的基本需求
a) 本模块主要管理公司、子公司、部门、岗位、员工的信息
b) 公司下面可以创建子公司、部门
c) 部门下面可以创建子部门、岗位或员工
d) 岗位下面可以创建员工(即员工可以属于某个岗位)
e) 公司、部门、岗位、员工形成一棵组织机构树,要求使用树型方式来展现和管理
2、 组织机构的总体设计思路
a) 公司、部门、岗位、员工可以看成同一种类型:Party
b) 在Party上实现树型结构(父子关系)
c) 其它类型:公司、部门、岗位、员工均继承Party(请画出类图)
3、 组织机构的实现技巧
a) 利用jQuery的jsTree实现组织机构树
b) 利用jQuery的treeTable实现列表(AJAX、查询、分页)
c) 在组织机构树中显示公司、部门、岗位的信息,点击公司、部门、岗位,则可以显示其详细信息,及其下面的所有员工(利用hibernate filter避免在树上显示员工信息)
d) 为了显示某个公司或部门(包括其下级机构)下面的所有员工,我们设计了一个sn,这个sn根据组织机构的树型结构来取值,通过它便可以方便实现查询需求。 e) 利用TreadLocal实现分页参数的传输
f) 利用VO设计模式适应客户端对数据格式的特殊要求
4、 我们这个设计的优点在哪里
a) 通过树的方式来管理,一目了然,层次清楚
b) TheadLocal设计模式的运用大大降低了分页查询逻辑的封装处理
c) 抽象出Party来,便于对所有的组织机构实体进行统一的管理(比如方便我们后面的权限管理模块把所有Party统一对待)
5、 我们这个设计的缺点在哪里
a) 没有实现员工的调动管理(从一个部门调到另外一个部门),此功能在项目二期实现!
b) 员工不允许跨部门(即一个员工只能属于一个部门,而不能同时属于多个部门) c) 在模型上没有规定哪些类型的Party只能放在哪些类型的Party下面,比如,在一般的需求中,岗位下面肯定是不能挂一个公司的。我们针对这种需求,是通过具体的代码逻辑来实现的,而没有办法在一个地方去统一定义这种规则。 i. 如果要实现这些逻辑的统一定义,可以参考“责任模式”!
权限管理模块
请描述一下你做的权限管理模块
描述思路:
1、 权限管理的基本需求
a) 系统后台有很多菜单项,同时各个页面上也有很多功能按钮,客户要求我们的系统
要能够控制这些菜单项的访问权限,也可以控制到具体每个功能按钮的访问权限 b) 客户要求建立角色的概念(参考RBAC),能够自由定制不同的角色,角色和用户
之间是多对多的。
c) 权限可以授予角色,然后把角色分配给用户,这样用户就拥有了角色的权限
d) 权限也可以授予某个部门、某个岗位,这样在这些部门或岗位下面的用户就拥有了
这些部门和岗位的权限
e) 客户还要求权限也能直接授予用户,这样即使拥有相同的角色、相同的部门、相同
的岗位,用户的权限也可以是不同的
f) 这样,用户自身被授予的权限、用户拥有的角色的权限、用户所属部门或岗位的权
限这些要素联合起来判断,才能最终决定用户的权限。
g) 因为用户的权限可能从多个角色或部门、岗位中继承下来,而这些角色、部门或岗
位的授权极有可能会有冲突,比如一个角色的授权是允许访问,而另外一个角色的授权是拒绝访问,客户要求,如果出现这种情况,就以拒绝为准,即不允许访问。
2、 权限管理的总体设计思路
a) 因为权限可以被授予用户、角色、部门、岗位等等,我们称之为权限控制的“主体”,
我们定义了一个接口Principal用来表示主体的概念,用户、角色、部门、岗位等均实现这个接口
b) 我们要控制菜单项以及各种功能按钮的访问,我们称这些菜单项和各种功能按钮为
权限控制的“资源”,定义了一个SysResource接口来表示资源的概念。
c) 菜单项是一种资源;而各种功能按钮最终其实是要访问后台的某个类的某个方法,
因此我们把Action类看成是一种资源(称为“操作资源”),各种功能按钮则对应了这个类里面的各种方法,我们把这些方法看成是这种资源的各种操作。
d) 我们定义了一个ACL用来表示哪些资源的哪些操作被授予了哪些主体,ACL中的
主要属性包括:主体类型(principalType)、主体ID(principalId)、资源类型(resourceType)、资源ID(resourceId)、操作状态(aclState),其中操作状态是int类型,在Java中,一个int有32位(bit),我们定义资源的时候,把这个资源对应的操作映射到某一位上,规定在这一位上取1表示允许执行那个操作,而取0表示不允许执行那个操作。
e) 这样,在授权的时候,我们直接改变相应操作的状态位的取值即可;在认证的时候,
直接判断相应操作状态位的取值
3、 权限管理的实现技巧
a) 在实现上,对于授权,我们界面上用jQuery和jQuery的插件jsTree来呈现菜单树,
在菜单树的前面显示一个CheckBox框,打勾表示允许,打叉表示拒绝;同时也做了一些右键点击显示上下文菜单,方便客户执行各种功能
b) jsTree没有打叉这种显示方式,为了满足我们的要求,所以对jsTree插件做了一些
扩展(主要是修改它的js文件和css文件、图片等),以便能支持更强大的显示方式。
c) 因为我们把系统中的各种Action类及其方法,看成是各种资源及其操作,为了方
便管理,我们利用Spring提供的API搜索具备某些特征的Action类及其方法(特定的命名及特定的注解),将这些信息插入数据库,这样便可以将其用于授权和认证。
d) 在认证的时候,我们实现了两种方式的认证:
i. 第一是根据授权,能够把没有授权的菜单项屏蔽,也能够把没有授权的功能按
钮屏蔽;
ii. 第二,因为第一种认证方式会有一些安全性问题,比如客户可以绕过功能按钮,
直接在浏览器输入某个功能的地址,为了避免这种问题,我们在后台也做了认证,根据当前请求的是哪个类的哪个方法,编写拦截器,判断当前登录用户是否具备这个权限,如果没有这个权限,就不允许执行这个操作!
e) InitService和XML
f) 自定义注解,利用Springde的API扫描类(大概说出一两个类名)
4、 我们这个设计的优点在哪里
a) 因为抽象出了主体和资源这两个概念,核心的授权和认证代码依赖于这两个概念,
而不是具体的哪个主体或资源。所以,能够更灵活的支持主体和资源的扩展,比如假设以后客户还想要给用户分组,按照分组来给用户授权,那么只需要实现一个新的主体类型即可,核心的授权和认证的代码无需变化。
b) 权限控制的粒度更细,因为我们用一个int来表示操作的允许状态,这就意味着,
我们能支持在某个资源上的至多32种操作,在设计上无需做变化。一个资源上的操作一般不会超过32种操作,一般来说也就是添加、更新、删除、查询,以及在这个基础上更加细分的一些操作而已,很少会超过32种操作。即使是极端情况,超过了32种操作,那么我们的核心设计也无需变动,无非就是把int换成一个long类型即可(支持64种操作)。
c) 我们还能支持细粒度的操作权限继承关系:
i. 比如针对“公司管理”这种资源,假设它有六种操作:添加公司信息、删除公
司信息、更新公司信息、查询公司信息、添加子公司、删除子公司;我们可以把这些权限授予比如“张三”这个用户。在授权的时候,我们可以细化到这种程度:
1. 明确规定:允许张三查询公司信息、更新公司信息
2. 明确规定:不允许张三添加公司信息、删除公司信息
3. 至于张三是否能执行添加子公司和删除子公司这些操作,我们可以不做明
确规定,而是由其所拥有的角色,或其所属的部门、岗位的权限来决定,
这称为“权限的继承关系”,针对这种需求,在ACL中,我们设计了一个
额外的属性:aclTriState,用来表示某种操作的权限是否是继承下来的。
5、 我们这个设计的缺点在哪里
a) 角色之间没有考虑父子关系,如果考虑父子关系的话,会更加便于授权,比如假设
有一个角色为“普通员工”,另外一个角色是“档案管理员”,如果把普通员工看成
是档案管理员的父角色,则意味着档案管理员这个角色的权限将可以继承普通员工中的权限(为什么没有实现这个设计呢,客户认为没有必要,因为系统中的角色数量比较少,如果这样设计的话,反而会增加客户操作的难度,无需过度设计) b) 我们还没有实现更细粒度的数据级的权限控制,比如,我们目前通过权限控制系统
无法实现如下需求:规定张三可以查看所有部门的员工信息,但只能对本部门的员工信息执行添加、删除和修改操作。没有实现的原因是:客户目前这方面的需求还不是很多,因此,没有必要在权限控制系统中实现。实现上述需求,我们是将这些逻辑写到了具体的代码中,而没有通过权限控制系统进行统一的定义。这也是大部分权限控制系统的实现策略。
工作流模块
请描述一下你做的工作流模块
描述思路:
1、 工作流模块的基本需求
a) 请描述
2、 工作流模块的总体设计思路
a) 把JBPM嵌入OA系统(如何实施的?具体过程?大概有哪些配置?)
b) 表单管理、流程管理、WorkEntity、WorkApprove、EntityProperty(动态表单)
3、 工作流模块的实现技巧
a) 引入jbpmeditor之后,对它做了一些定制开发(支持中文,动态表单的关联) b) 其它?
4、 我们这个设计的优点在哪里
a) 对JBPM的扩展
i. 自定义JBPM变量解释器
ii. 可以给角色、部门、岗位分配任务,抛弃了JBPM中简单的User-Group这种
组织结构模型,使用了OA中的组织结构模型
iii. 实现了自由流(如何实现的?)
iv. 利用自定义节点实现了会签的决策(如何实现的?)
b) 动态表单设计方案
5、 我们这个设计的缺点在哪里
a) 在流程定义的界面上,没有实现会签节点的定义
b) 在动态表单设计界面上,无法直接添加一些动态的组件(比如无法通过拖拽的方式
添加一个人员列表等等)
c) 没有实现流程的监控
结项总结报告V10密级内部公开文档编号版本号V10结项总结报告XXXX有限公司XXXX股份有限公司对本文件资料享受著作权及其它专属…
合肥工业大学大学生创新训练计划项目个人总结项目名称:项目编号:指导教师:校级创新项目个人总结时光荏苒,一眨眼一年的时间已经过去了。…
1.项目的基本信息2.过程详细情况过程详细情况描述项目开发时采用的过程,并且对每个过程中详细的活动、活动的工作产品、活动参与角色等…
国家级创业项目结项心得体会20xx年x月份,我们申请了这个非诉讼律师事务所模拟的国家级创业训练项目,我们五个人怀着自己的梦想自己的…
河南师范大学大学生创新实验计划项目结项报告项目名称项目类别项目负责人学院年级专业联系电话指导教师指导教师所在单位河南师范大学制填表…
(以上为修改记录的示例,请认真填写)一.绪论...........................................…
目录历史记录...........................................................…
生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现…
、.~①我们‖打〈败〉了敌人。②我们‖〔把敌人〕打〈败〉了。项目名称项目总结报告:总体[注:以下提供的模板用于部门技术文档的建立。…
项目研究总结:一、主要研究内容与研究方法:(一)研究内容:本课题一武汉市体育旅游也开发为研究对象,对东方马城、藏龙岛国际体育公园等…
附件3项目总结(成果)报告格式和要求一、项目研究报告中应含项目实施工作总结和技术报告两部分。其中,项目实施工作总结应含项目实施阶段…