天高地厚

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年12月18日

摘要: 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。一、负载均衡技术负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。1、实现原理实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具 阅读全文

posted @ 2012-12-18 16:16 天高地厚-GNU 阅读(167) 评论(0) 推荐(0) 编辑

摘要: 一:简介日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库)。不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本保持同步。目标服务器充当备份服务器,并可以将查询处理从主服务器重新分配到一个或多个只读的辅助服务器。日志传送可与使用完整或大容量日志恢复模式的数据库一起使用。二:日志传送操作日志传送由三项操作组成:1.在主服务器实例中备份事务日志。2.将事务日志文件复制到辅助服务器实例。3.在辅助服务器实例中还原日志备份。日志可传送到多个辅助服务器实例。在这些情况下,将针对每个辅助服务器实例重复执行操作 2 和操作 3。日 阅读全文

posted @ 2012-12-18 16:10 天高地厚-GNU 阅读(238) 评论(0) 推荐(0) 编辑

摘要: C#是.Net平台的通用开发工具,它能够建造所有的.Net应用。在.Net中所有线程都运行在应用程序域(AppDomain)中,这也许让你想到Win32进程,实际上它们还是有很大的不同。应用程序域提供了一种安全而通用的处理单元,公共语言运行库可使用它来隔离应用程序。注意在.Net中应用程序的隔离是应用程序域而不是进程,在单个进程中可以存在几个应用程序域,而且线程可以跨越应用程序域的范围,某个线程中的方法可以调用另一个线程的方法,这样的话就不会造成进程间调用或进程间切换等方面的额外开销。可以说应用程序域是物理进程(也即win32中的Process)内的逻辑进程。 我们可以看出它们各自使用的... 阅读全文

posted @ 2012-12-18 16:05 天高地厚-GNU 阅读(114) 评论(0) 推荐(0) 编辑

摘要: 要实现的功能:在服务器端有一个控制台程序(或者Windows服务),与多个客户端程序通讯,其中主线程有一个socket绑定在一个固定端口上,负责监听客户端的Socket信息。每当启动一个客户端程序,客户端发送来一个socket连接请求,server端就新开启一个线程,并在其中创建一个socket与该客户端的socket通讯,直到客户端程序关闭,结束该线程。主线程中的socket在应用程序退出时关闭。这里是Server端代码的简单示意,展示了如何创建多线程的Socket Server。#include "StdAfx.h" #include <stdio.h> D 阅读全文

posted @ 2012-12-18 15:59 天高地厚-GNU 阅读(153) 评论(0) 推荐(0) 编辑

摘要: 摘要:本文主要阐述如何实现SQL Server双节点群集高可用性部署实施,通过微软MSCS技术使SQL Server达到企业级安全应用要求。另外 ,本文介绍SQL Server 2005中新增的镜像服务功能,相比MSCS SQL Server 群集,SQL Server数据库镜像是基于软件的高可用性解决方案。1.概述本方案目标是通过微软MSCS技术使SQLServer达到企业级应用要求,内容包含双节点主动/被动模式群集和主动/主动模式群集。另外 ,本文介绍SQL Server 2005中新增的镜像服务功能,相比MSCS SQL Server 群集,SQL Server数据库镜像是基于软件的高可 阅读全文

posted @ 2012-12-18 15:56 天高地厚-GNU 阅读(268) 评论(0) 推荐(0) 编辑

摘要: 怎样通过HttpWebRequest 发送 POST 请求到一个网页服务器?例如编写个程序实现自动用户登录,自动提交表单数据到网站等。假 如某个页面有个如下的表单(Form):<form name="form1" action="http:www.breakn.com/login.asp" method="post"> <input type="text" name="userid" value=""> <input type="pas 阅读全文

posted @ 2012-12-18 15:49 天高地厚-GNU 阅读(230) 评论(0) 推荐(0) 编辑

摘要: 一些小型的网站,用简单的html静态页面就可以实现,再配合一些图片达到美化效果。网站所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着公司的成长,业务的不断拓展,功能日益丰富,用户量不断增加,数据爆炸式的增长,那种集中单一的系统架构越来越不适应发展需要。例如,我们日常使用的网上电子交易网站淘宝,每天7亿次的页面访问,其中搜索宝贝过亿次,浏览宝贝过亿次,超过40亿次的用户访问,超过6亿次的交易访问,超过6亿次的宝贝访问,超过400万笔有效交易。高峰期,每秒超过25G的流量,核心业务每秒超过4.5G的流量,每秒生成几百笔交易,8万次的用户访问,1.5万次的商品访问。淘宝. 阅读全文

posted @ 2012-12-18 15:47 天高地厚-GNU 阅读(277) 评论(0) 推荐(0) 编辑

摘要: 一、背景资料 安全套接层协议(SSL,Security Socket Layer)基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。SSL主要使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。 SSL安全协议主要提供三方面的服务: (1) 认证用户和服务器, 使得它们能够确信数据将被发送到正确的客户机和服务器上; (2) 加密数据以隐藏被传送的数据; (3) 维护数据的完整性, 确保数据在传输过程... 阅读全文

posted @ 2012-12-18 15:42 天高地厚-GNU 阅读(2520) 评论(1) 推荐(1) 编辑

摘要: Linux内核块设备I/O子系统Linux IO调度程序是块设备I/O子系统的主要组件,它介于通用块层和块设备驱动程序之间,如下图所示。当Linux内核组件要读写数据时,并非一有请求便立即执行,而是将请求放入请求(输入)队列,并推迟执行。为什么如此设计?原因在于Linux需要应对的最核心的块设备是磁盘。磁盘的寻道时间严重制约磁盘性能,若想提高磁盘IO性能必须想尽办法减少磁盘寻道次数。块设备I/O子系统最核心的任务也就是提高块设备的整体性能,为此Linux实现了四种IO调度算法,算法基本思想就是通过合并和排序IO请求队列中的请求大大降低所需的磁盘寻道时间,从而提供整体IO性能。2.6内核实现了四 阅读全文

posted @ 2012-12-18 15:15 天高地厚-GNU 阅读(238) 评论(0) 推荐(0) 编辑

摘要: 1.操作系统:排除可能是木马或病毒等。2.应用系统:(a)重要表的索引建立和使用,(b)执行效率低的SQL导致查询或更新进程的阻塞,直至引发的死锁现象。这都将成为引发SQL Server响应异常缓慢,CPU占用率高居不下的主要原因。(1).首先执行sp_lock,排除X锁和IX锁。(2).查询是否是由于重要表引起的CPU占用率高:SELECT TOP 5 total_worker_time, last_worker_time, max_worker_time, min_worker_time,SUBSTRING(st.text, (qs.statement_start_offset/2) + 阅读全文

posted @ 2012-12-18 14:52 天高地厚-GNU 阅读(139) 评论(0) 推荐(0) 编辑

摘要: 浏览器检索网页,先从URL开始,使用DNS确定IP地址,再用基于TCP和HTTP协议连接到服务器,请求相关的内容,得到相应,浏览器解析并呈现到屏幕上。服务器响应后,浏览器响应不会同时全部到达,会陆续到达,有时候之间还会有时间间隔。页面解析和新的资源请求浏览器等待数据包时,会解析得到包,并寻找可用新的HTTP请求,并启动,每一个服务器,浏览器一般最多同时打开两个请求连接。一般一次请求:1、DNS解析IP地址的时间2、读取主页面时间:连接服务器,发送HTTP get请求,接受初始的HTTP响应时间,和盛余响应到达时间3、检查图片等其他资源,连接时间,请求并接受所需要的时间浏览器接受HTML响应时, 阅读全文

posted @ 2012-12-18 14:44 天高地厚-GNU 阅读(476) 评论(0) 推荐(0) 编辑

摘要: 一、行转列1、建立表格ifobject_id('tb')isnotnulldroptabletbgocreatetabletb(姓名varchar(10),课程varchar(10),分数int)insertintotbvalues('张三','语文',74)insertintotbvalues('张三','数学',83)insertintotbvalues('张三','物理',93)insertintotbvalues('李四','语文',74)in 阅读全文

posted @ 2012-12-18 14:39 天高地厚-GNU 阅读(180) 评论(0) 推荐(0) 编辑

摘要: 【转载】http://www.cnblogs.com/lmfeng/archive/2012/07/19/2598670.html需要把所需的功能按照正确的顺序串联起来进行控制,动态的给一个对象添加一些额外的职责。装饰模式是利用SetComponent来对对象进行包装的,每一个装饰对象只需关心自己的功能,不需要关心如何被添加到对象链中。装饰模式是为已有功能动态添加其他功能的一种方式,优点是把类中的装饰功能从类中搬移,简化原有类,有效的把核心职责和装饰职责功能区分开来。调用装饰模式的主函数: static void Main(string[] args) { ConcreteComponent 阅读全文

posted @ 2012-12-18 14:35 天高地厚-GNU 阅读(93) 评论(0) 推荐(0) 编辑

摘要: //昨天0点到今天0点select * from tablename where create_time>= trunc(SYSDATE-1) and create_time <trunc(SYSDATE )//昨天8点到今天8点select * from tablename where create_time> trunc(SYSDATE-1)+ 8/24 and create_time < trunc(SYSDATE) + 8/24 阅读全文

posted @ 2012-12-18 14:25 天高地厚-GNU 阅读(77) 评论(0) 推荐(0) 编辑

摘要: C++内存对象大会战如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存储区。既然如此,我称位于它们之中的对象分别为堆对象,栈对象以及静态对象。那么这些不同的内存对象有什么区别了?堆对象和栈对象各有什么优劣了?如 阅读全文

posted @ 2012-12-18 13:33 天高地厚-GNU 阅读(185) 评论(0) 推荐(0) 编辑

摘要: 目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows、UNIX、Linux等操作系统的服务器;开放系统的存储分为:内置存储和外挂存储;开放系统的外挂存储根据连接的方式分为:直连式存储(Direct-Attached Storage,简称DAS)和网络化存储(Fabric-Attached Storage,简称FAS);开放系统的网络化存储根据传输协议又分为:网络接入存储(Network-Attached Storage,简称NAS)和存储区域网络(Storage Area Netw 阅读全文

posted @ 2012-12-18 12:49 天高地厚-GNU 阅读(571) 评论(0) 推荐(0) 编辑

摘要: 所在命名空间 System.Text.RegularExpressions;定义 Regex rx = new Regex(@"^-?\d+(\.\d{2})?$");在c#中,定义正则表达式时需要在表达式前加@然后就是所需要的模式字符串其语法如下:字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(& 阅读全文

posted @ 2012-12-18 12:02 天高地厚-GNU 阅读(153) 评论(0) 推荐(0) 编辑

摘要: http://www.cnblogs.com/GoodHelper/category/215413.html 开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demospring.net是java下大名鼎鼎的spring框架移植到.net的开源项目,且借助于.net强大的反射机制,甚至拥有比原java版本更强大的功能。那它能用来做什么呢?核心功能就是IOC和AOP:IOC(Inversion of Control),字面意思为“反转控制”,我更倾向于理解为“依赖注入”,意思就是说:在基于接 阅读全文

posted @ 2012-12-18 12:00 天高地厚-GNU 阅读(420) 评论(0) 推荐(0) 编辑

摘要: Oracle数据库字典介绍 Oracle数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象。数据库字典描述了实际数据是如何组织的。对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。 Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。 在Oracle数据库字典中,许多视图都有三个不同的实例,它们的前缀分别为"USER_"、"ALL_"及"DBA_"。"USER_&quo 阅读全文

posted @ 2012-12-18 11:57 天高地厚-GNU 阅读(283) 评论(0) 推荐(0) 编辑

摘要: $ sudo su -# apt-get install build-essential libaio1 gawk ksh libmotif3 alien libtool lsb-rpmroot@hardy:~# cd /binroot@hardy:/bin# ls -l /bin/shlrwxrwxrwx 1 root root 4 2008-04-28 19:59 /bin/sh -> dashroot@hardy:/bin# ln -sf bash /bin/shroot@hardy:/bin# ls -l /bin/shlrwxrwxrwx 1 root root 4 2008- 阅读全文

posted @ 2012-12-18 11:55 天高地厚-GNU 阅读(320) 评论(0) 推荐(0) 编辑