Welcome 微信登录

首页 / 操作系统 / Linux / Linux环境下后台海量数据拉取入库基本流程

Linux环境下后台所产生的海量数据大多是借助于Log保存的,但文本文件处理数据是有很大局限性的,因此需要对数据进行格式化处理,并存入数据库。其工作流程可以分为以下几方面:一、数据拉取环节数据拉取环节主要实现的是将数据从游戏服务器端拉取到跳板机端,对Log数据的处理要放在跳板机或实验机上完成,而不能直接在服务器上处理,因为服务器主要用于提供后台服务。数据拉取实现的关键在于:实现一个可复用的Log拉取脚本,只要保证任意一份Log成功地从服务器端拉取到跳板机上,就能够重复地利用该脚本完成将整个Log数据拉取的过程。需要考虑的参数有:数据拉取超时限制、服务器的IP、用户名、密码、目标文件、存储文件路径,这些都会以命令行参数的形式进行传入。set timeout 1000set ip          [lindex $argv 0]set user        [lindex $argv 1]set fromFile    [lindex $argv 2]set toFile      [lindex $argv 3]set password    [lindex $argv 4]最后使用rsync命令进行最后的数据拉取:set pid [spawn /usr/bin/rsync -avzu  ${user}@${ip}#36000:${fromFile} ${toFile}]同时,还必须要考虑,在数据拉取的过程中,服务器端会要求用户的身份验证,为了避免在使用自动拉取脚本过程中还需要输入用户名和密码的问题。使用了spawn命令-Expect编程工具语言,用于自动和交互式任务进行通信。expect { "password:" {     send "${password} "     exp_continue  }  "yes/no)?" {     send "yes "     exp_continue  }}最后,我们可以复用数据自动拉取的脚本,遍历服务器端所需要拉到的所有文件,即可成功实现整个数据拉取的过程。比如拉取的是2010-8-30号~2010-9-05号的广东1~广东5区的所有Log,拉取过程持续约一个半小时。二、数据库表的创建当数据拉取完成之后,就进入了数据表的创建过程。对于Log日志中的每一条数据而言,都是用“|”进行分隔的。在这些数据段中,并非所有的数据项都是我们所需要的,通常在做数据分析之前,我们需要筛选有用的数据项。并将这些数据项创建成数据表,最后再将Log中的数据进行入库。数据库选用MySQL,SQL语句的写法一般类似于:create database if not exists `qxzb_log`;USE `qxzb_log`; /*Table structure for table `AccountLogin` */ DROP TABLE IF EXISTS `AccountLogin`; CREATE TABLE `AccountLogin` (  `region` varchar(48) NOT NULL,  `iEventId` int(20) NOT NULL DEFAULT 0,  `iUin` int(20) NOT NULL,  `rankId`  int(3) NOT NULL DEFAULT 0,  `dtEventTime` datetime DEFAULT NULL,  `vClientIp` varchar(20) NOT NULL,  `dtCreateTime` datetime DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;编码的格式采用UTF-8,存储引擎采用MyISAM,并且为了保证数据插入的效率,最初时候并不创建任何索引,而由后期一次性地将数据LOAD完成之后,再创建索引。
  • 1
  • 2
  • 下一页
虚拟机里RedHat Linux 9的网络配置成功方案Linux环境如何升级Python相关资讯      Linux知识 
  • 时光总是太匆匆!Linux已经诞生23  (08/29/2014 14:12:03)
  • Linux虚拟文件系统之文件打开(sys  (02/14/2012 11:41:54)
  • 2012 年 Linux 峰会时间表  (02/14/2012 06:47:27)
  • 报告称当前 Linux 人才抢手 高薪也  (02/15/2012 06:35:56)
  • 解析企业为何选择Linux及其特别之  (02/14/2012 08:17:59)
  • Linux禁用字符闪烁的方法  (11/02/2011 10:28:25)
本文评论 查看全部评论 (0)
表情: 姓名: 字数