Web应用框架构建集约化统一维护的探讨

2016-03-12 07:24朱晓东
大科技 2016年15期
关键词:脚本开源代码

朱晓东

(广西壮族自治区计算机公司 广西南宁 530022)

Web应用框架构建集约化统一维护的探讨

朱晓东

(广西壮族自治区计算机公司 广西南宁 530022)

随着社会的发展,在信息化的今天,人们对网络越来越依赖,因此,Web的应用框架也越来越受到人们的重视,本文就Web应用的框架构建集约化统一维护进行简要的分析总结,在省市一体集约化运营思想指导下,应用开源通过集成Web服务器、Web应用框架、分布式文档数据库等进行组建,为网络运营商最重要的生产系统提供统一维护平台,有助于实现运维支撑的专业化程度。为我国网络运营的发展提供微薄之力。

统一维护平台;维护脚本;开源;集约

1 引言

近几年来,随着网络信息安全深度的演进、专业细化、系统演化以及完整的配备,关于对信息化的建设投资规模不断增长,CA公司客户关系管理(CRM)专业领域所涵括的项目、体系以及设备也随着上述项目的增长而改善。同时,网络信息技术(信息技术)系统的运行支持工具,因为没有严谨的规章与制度,在一定程度上存在以下问题:发生故障的区域很难定位、质量很难得以保证、数据维护不及时、硬盘数据很难得到共享、新人操作起来有困难、缺乏自动化等。

CA公司在省市一体集约化运营思想指导下,试图整合一系列高性能的开源框架构建CRM领域的核心生产系统——业务支撑系统(BSS)统一维护平台。正如项目研发明确提供标准的集成开发环境(IDE),对应系统运维支撑也应明确提供标准的统一维护平台(UMP),从而能有助于实现业务支持高度整体化、智能化、标准化以及专业化标准。

2 基于开源的平台架构

统一维护平台将Web服务器Nginx和Web应用框架Rails以及分布式文档数据库mongoDB(数据库)进行整合,以实现各层负载均衡(实现网络负载均衡、Web服务器和数据库均集群部署)的效果,支持客户端的浏览器类型的多样性(谷歌,火狐),可调度的任务引擎的脚本到隔离调度维护终端直接生产数据库以及对数据来源机型配置和分析可访问的数据库连接配置,与传统的大型重量级构架相比较,该维护平台显得更轻量级、更具有先进性,在未来将会得到很好的发展与使用。

2.1 Web开发框架Rails

Ruby on Rails,又被简称为Rails,是一个使用Ruby语言编写的Web应用开发框架,他的优点就在于在编码量很少的情况下,能直观的用Block语法来实现循环遍历和函数回调。Rails的核心是MVC(模型、视图、控制器)架构,该架构可把业务逻辑从用户界面中轻松的脱离出来,易于使代码不做重复的事,明确指出不同的类型代码适用于不同的场合。

上文对Rails进行了分析,下面我们将对其相关联的Ruby进行简要的介绍。Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简洁性,Ruby不仅作为一种编程语言,而且它还是一种简洁的表达思想的方式。

由于Rails框架的使用,所有的统一维护平台的脚本全都使用这个简化的Ruby语言,并且支持中文名称,与自然语言非常接近,对SQL(结构化查询语言)的使用次数大大减少,非常方便学习和维护。

2.2 分布式文档数据库mongoDB

一个NoSQL(非关系型数据库)提供了一个简单的、轻量级的数据存储和检索机制,许多学者将他称之为“Not Only SQL”,一般不使用“SQL”数据存储器来进行存储数据。NoSQL数据库通常是对检索高度优化和进行额外的操作;除以松散的一致性存储记录外(如键值存储),其提供的功能往往很少。一个完整的SQL数据库,为了使一些数据模型的扩展性以及性能得到显著的提高,往往会将NoSQL的灵活性进行降低,并以此达到该目的。

mongoDB(来源于“humongous”,直译过来就是堆积如山的意思)。目前,mongoDB是一种在NoSQL数据库中非常热门的、性能很高的、开源的以及无模式的文档型数据库。在许多情况下,它用于替代传统的关系型数据库或键/值(key-value)存储方式,除了具有高性能、易于部署、易于使用,它还具有非常友好的数据存储。

统一维护平台主要的就是采用mongoDB对NoSQL数据库进行构建,和集群部署,用于存储脚本的维护记录和运行脚本。

2.3 任务调度引擎

信息安全基线既是数据库的产生不能直接从个人安全维护终端中得出,所以,维护终端访问库往往是由一项任务调度引擎来进行操作的。灵活的调度引擎支持数据源,并且可以配置、解析脚本并对应相关的数据库进行操作。

3 平台主要特性

在推广这一平台之前,就事先确定了最基本维护脚本的几个特点:①使用量小的代码做更复杂工作;②具有良好的可读性和可维护性;③尽量对数据库过分依赖;④与SQL相比,维护脚本的功能和扩展性将全面超越前者。从上述的特性来看,我们对多种语言进行考察,最终选择了以Ruby为基础的脚本语言。与此同时,Rails具有极强的灵活性特点,使统一维护平台具有不同于其他平台特性。

3.1 基于Ruby的定制化维护脚本

BSS统一维护平台的脚本维护实质上是一种以Ruby语言为基础,以Rails框架为运行环境,并且以BSS生产数据库代码的文本为基本操作目标。由脚本属性和文件档案以及代码三个部分组成的维护脚本。

整个脚本代码分为以下五个大部分:定义参数、定义方法、准备、执行、清理。五个代码除了“执行”部分,其他代码都是可选的。每一个代码都以“代码名称do”开头到对应“end”结束。不同的代码有不同的用途,不能重复使用Ruby语言的脚本代码。与传统的Ruby程序,脚本代码需要遵循一个固定的格式,并存在一些额外的限制。同时,该平台提供了各式各样的自定义AP(I应用程序接口),并引入了许多扩展库,有助于底层功能的封装工作。所以与普通Ruby程序相比,它具有更好的维护功能。可以视为平台专用的领域特定语言。

3.2 清新简洁的平台特性

统一维护平台在采用Rails后,比以往编写新的应用程序和增加新功能变得更加容易。新功能开发效率高,部署过程在线控制,对生产并不影响。

4 应用效果分析

在2012年8月关于统一维护平台成功上线,然后在2012年10月以及11月这两个月期间内该平台进行了大范围的推广,2012年12月份一开始,该平台已经完成了205个手工维护脚本,迁移114个数据库后台定时任务,运行123961次,成功处理120661个故障。平台上线后,维护工作的整体状况得到改善,以及在维护人员的工作状态等方面都带来了明显的提升。

4.1 提高运营维护工作质量

统一维护平台在一定程度上大大提高了维修工作的工作效率,具体表现如下:①为维护平台的统一性提供了一个通用的异常处理入口。维护人员可以快速处理障碍,可以更好地安排某个人员调配(两个人一组,若一方出现请假或出差情况,另一方则顶其岗位),甚至可以提高维护人员的学习效率。②平台的脚本是远远超过PL/SQL(过程化SQL)的功能,因此平台可以提供更高层次的维护手段,通过对统一维护平台的使用,使得维护工作变得更加智能化、自动化、标准化。③通过对脚本安全性的检查和预防,从根本上减少了操作过程中经常出现的错误。④提供了一个科学的日志记录和数据备份方案,便于后期的审核和恢复工作。

4.2 提升维护人员状态士气

统一维护平台得到全面推广后,维修人员需要进行必要的熟悉运用,维护人员必须掌握维修脚本的开发,维护本地日常故障异常处理脚本迁移到一个平台和生产数据库后端的时序任务,完成后,上述工作可以逐步从繁杂的事务处理脱离出来,这样的工作环境使得维护人员的工作积极性得到极大激发,使维修人员在许多方面有很大的改变。提高工作效率。

5 展望

统一维护平台作为Web应用框架强大的后背,接管大多数BSS的运维工作,满足并超越了早期技术验证的目标。目前正在顺利运行。随着应用的不断深化,维修人员提出了更多的改进,对管理人员也有很高的期望。因此,对统一维护平台考虑的发展方向是:建设成许多维护平台,可为以后的运营支撑做维护准备;实现以平台成为基础的一线人员异常处理工具,如嵌入原系统、脚本可见性控制、时间段控制;提供外部系统集成能力,对外提供调用接口;增强维护文档的管理功能,增加提问与解答的互动机制,全省共享机制,对维护文档、脚本可以打分并发表评论等。

6 结语

CA公司基于开源Web开发框架Rails,建立BSS相关的集约经营统一维护平台,平台推出后,提高了BSS异常问题维修效率,使维护工作透明,维护的集中管理、维护保养工作、维护计划知识库共享等都得到实现,可阻断个别维护终端直接生产数据库,确保系统数据的安全性,促进故障管理、问题管理的规范。

[1]WhatisRails.[EB/OL].[2013-05-28].http://guides.rubyonrails.org/get-ting started.htm l.

[2]NoSQL.[EB/OL].[2013-05-28].http://en.wikipedia.org/wiki/NoSQL.

[3]MongoDB.[EB/OL].[2013-05-28].http://zh.wikipedia.org/zh/MongoDB.

TP393

A

1004-7344(2016)15-0295-02

2016-5-10

朱晓东(1986-),男,大专,主要从事CA运营维护工作。

猜你喜欢
脚本开源代码
酒驾
安奇奇与小cool 龙(第二回)
五毛钱能买多少头牛
创世代码
创世代码
创世代码
创世代码
快乐假期
小编的新年愿望
大家说:开源、人工智能及创新