首页 文章 精选 留言 我的

精选列表

搜索[流量结构],共10011篇文章
优秀的个人博客,低调大师

Linux根目录结构

1: bin目录 此目录存放所有二进制命令(用户) 2: boot目录 Linux内核及引导系统程序所需的目录 3: dev目录 所有设备文件的目录(如声卡、磁盘、光驱) 4: etc目录 二进制安装包(yum,rpm)配置文件默认路径,服务启动命令存放目录 5: home目录 普通用户的家目录默认数据存放目录 6: lib目录 库文件存放目录 7: lost+found目录 在EXT3系统中,当系统意外崩溃或意外关机时,会产生一些碎片文件在这个目录下面,系统启动fcsk工具会检查这个目录,并修复已损坏的文件系统。 8: mnt目录 用于临时挂载存储设备 通常情况下可以挂载LINUX ISO光盘进行无网条件下的安装其他软件包 9: opt目录 自定义软件安装存放目录,用户自行安装的软件包存放目录。 10: proc目录 进程及内核信息存放目录 11: root目录 管理的家目录 12: sbin目录 /sbin 系统管理员命令存放的目录(超级管理员使用的命令) 13: tmp目录 临时文件目录,程序运行时产生的临时文件存放目录 14: usr目录 系统存放程序的目录(命令和帮助文件) 其中usr/bin 用户可执行文件目录(应用程序) /usr/sbin目录 存放一些网络管理工具的软件目录 15: var目录 存放内容常变动的文件目录

优秀的个人博客,低调大师

Oxite 项目结构分析

Oxite中有6个Project,每个项目各自作为项目架构中的不同的层。下面我们来各自的分析一下这6个项目。 我们可以看到这六个项目分别是Oxite,LinqToSqlDataProvider,MVC,Test,OxiteSite,(Oxite.Database需要安装SQL Server2005)。 1.Oxite 该项目中包含了Routing的定义,Model和Services服务层的代码,还有Oxite运行时的后台服务类,配置类,同时,在该项目 中也定义了数据访问层的接口,但并没有实现。 BackgroundServices定义了插件的服务类, Extensions则是各种常用方法的扩展,如IP地址,字符串,以及反射。 Handlers对HttpHandler进行重载的类。用于对用户请求进行操作。 Infrastructure本目录中有大量的类,定义了公用方法, Model这个对OO来说最容易理解,就是对象的定义,在MVC中的M。 Repositoris Oxite的数据访问层接口,使用了Repository模式,和Linq2SQL配合。 Routing对Routing规则的定义和扩展。,同时也有相应的约束。 ServicesOxite的服务层,也就是传统三层架构中的中间服务层。内有服务的接口和具体实现。 Validation一些常用的验证方法。 2. LinqToSqlDataProvider This project contains implementations of all the repositories and uses LinqToSql for data access. Currently it doesn't map the database directly to the entity objects but rather to an intermediate set of objects which are then translated into the standard Oxite entites. This is one of the areas we're looking at changing in a future release. 该项目包据了数据访问层的实现,并用LinqToSql 进行数据库的操作。 这个Project中用到了LinqToSql,在项目架构中充当的是数据访问层的实现。 3. MVC 本项目中包含控制器和视图层的所有代码,用于Controllers到Views的数据通信,并包含用WCF所写的MetaWeblog API用于提供对外服务。 ActionFilters 定义了各种拦截器 Controllers所有的Controllers都在这个目录下定义。 ExtensionsMVC框架中的一些方法扩展 BlogML,DateTime,HtmlHelper,HttpCookie Infrastructure基础类 ModelBinders 作用是将客户端提交的一个数据转化成Model,简单或复杂类型。为Action生成复杂对象参数 Results? Services对外的一些服务接口。 Skinning对主题皮肤操作的一些方法 ViewModels 从Controller中的数据绑定到View时所用到。 ContainerFactory 反射工厂 OxiteApplication.cs 将Globle中的方法转移到这里,将Site项目只负责项目的显示。 4.MVC.Test 该项目定义了整个解决方案的测试类,使用Xunit.net 测试框架。 5.Site 该项目包含视图,主题和Web.Config文件。并将所有的C#代码放在了Oxite.Mvc项目中。 Site项目中是没有C#代码的,只负责视图的显示。 Content 一些公用的内容,像公用图片,公用脚本,公用资源 Skins 皮肤。里面包含了主题所使用的样式文件和Scripts。 (我个人感觉将一些公用的Scripts放到Content下更合适。) Views视图Shared 公用的东东。像Error,MasterPage 6.Oxite.Database 数据库项目,方便数据库架构、数据的对比、更新与部署。 本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2010/04/01/1702507.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

sysobjects的表结构

在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。 name sysname 对象名。 Id int 对象标识号。 xtype char(2) 对象类型。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程 uid smallint 所有者对象的用户 ID。 info smallint 保留。仅限内部使用。 status int 保留。仅限内部使用。 base_schema_ ver int 保留。仅限内部使用。 replinfo int 保留。供复制使用。 parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。 crdate datetime 对象的创建日期。 ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。 schema_ver int 版本号,该版本号在每次表的架构更改时都增加。 stats_schema_ ver int 保留。仅限内部使用。 type char(2) 对象类型。可以是下列值之一: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 FN = 标量函数 IF = 内嵌表函数 K = PRIMARY KEY 或 UNIQUE 约束 L = 日志 P = 存储过程 R = 规则 RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 V = 视图 X = 扩展存储过程 userstat smallint 保留。 sysstat smallint 内部状态信息。 indexdel smallint 保留。 refdate datetime 留作以后使用。 version int 留作以后使用。 deltrig int 保留。 instrig int 保留。 updtrig int 保留。 seltrig int 保留。 category int 用于发布、约束和标识。 cache smallint 保留。 本文转自温景良博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2008/10/23/1317741.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

docker存储结构解析

由于aufs并未并入内核,故而目前只有Ubuntu系统上能够使用aufs作为docker的存储引擎,而其他系统上使用lvm thin provisioning(overlayfs是一个和aufs类似的union filesystem,未来有可能进入内核,但目前还没有;Lvm snapshot are useful for doing e.g. backup of a snapshot, but regress badly in performance when you start having many snapshots of the same device.)。为了实现lvm thin provisioning,docker启动时会设置一个100G的sparse文件( /var/lib/docker/devicemapper/devicemapper/data,元数据为/var/lib/docker/devicemapper/devicemapper/metadata),并将其作为devicemapper的存储池,而所有容器都从该存储池中分配默认10G的存储空间使用,如下图所示: 比如创建一个apache容器时devicemapper处理流程如下所示: Create a snapshot of the base device. Mount it and apply the changes in the fedora image. Create a snapshot based on the fedora device. Mount it and apply the changes in the apache image. Create a snapshot based on the apache device. Mount it and use as the root in the new container. thin provisioning管理 使用lvm工具来创建一个thin pool: dd if=/dev/zero of=lvm.img bs=1M count=100 losetup /dev/loop7 lvm.img losetup -a pvcreate /dev/loop7 vgcreate lvm_pool /dev/loop7 # create thin pool lvcreate -L 80M -T lvm_pool/thin_pool # create volume in thin pool lvcreate -T lvm_pool/thin_pool -V 500M -n first_lv docker启动时创建的默认存储池: #dmsetup table docker-253:1-138011042-pool 0 209715200 thin-pool 7:2 7:1 128 32768 1 skip_block_zeroing #209715200*512/1024/1024/1024=100GB 当启动容器后,会从该池中分配10G出来: #dmsetup table docker-253:1-138011042-641cdebd22b55f2656a560cd250e661ab181dcf2f5c5b78dc306df7ce62231f2 0 20971520 thin 253:2 166 # 20971520*512/1024/1024/1024=10GB 该10G存储的分配过程为: dmsetup message /dev/mapper/docker-253:1-138011042-pool 0 "create_thin 166" dmsetup create docker-253:1-138011042-641cdebd22b55f2656a560cd250e661ab181dcf2f5c5b78dc306df7ce62231f3 --table "020971520thin /dev/mapper/docker-253:1-138011042-pool 166" 创建快照: dmsetup suspend /dev/mapper/thin dmsetup message /dev/mapper/yy_thin_pool 0 "create_snap 1 0" dmsetup resume /dev/mapper/thin dmsetup create snap --table "0 40960 thin /dev/mapper/yy_thin_pool 1" docker服务在启动的时候可以配置devicemapper的启动参数,docker -d --storage-opt dm.foo=bar,可选参数有以下几个: dm.basesize 默认为10G,限制容器和镜像的大小 dm.loopdatasize 存储池大小,默认为100G dm.datadev 存储池设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/data文件 dm.loopmetadatasize 元数据大小,默认为2G dm.metadatadev 元数据设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/metadata文件 dm.fs 文件系统,默认ext4 dm.blocksize blocksize默认64K dm.blkdiscard 默认true 最后看看启动一个容器后,该容器的配置是如何组织的。 每个容器创建后都会将其基本配置写入到/var/lib/docker/containers/中: #ls /var/lib/docker/containers/49f19ee979f6bf125c62779dcabf3bdce310b13d22e5c826752db202e509154e -l total 20 -rw------- 1 root root 0 Nov 18 16:31 49f19ee979f6bf125c62779dcabf3bdce310b13d22e5c826752db202e509154e-json.log -rw-r--r-- 1 root root 1741 Nov 18 16:31 config.json -rw-r--r-- 1 root root 368 Nov 18 16:31 hostconfig.json -rw-r--r-- 1 root root 13 Nov 18 16:31 hostname -rw-r--r-- 1 root root 175 Nov 18 16:31 hosts -rw-r--r-- 1 root root 325 Nov 18 16:31 resolv.conf 分配10G空间后会将容器存储配置写入到以下两个文件中: # cd /var/lib/docker #cat ./devicemapper/metadata/49f19ee979f6bf125c62779dcabf3bdce310b13d22e5c826752db202e509154e-init {"device_id":174,"size":10737418240,"transaction_id":731,"initialized":false} #cat ./devicemapper/metadata/49f19ee979f6bf125c62779dcabf3bdce310b13d22e5c826752db202e509154e {"device_id":175,"size":10737418240,"transaction_id":732,"initialized":false} 而容器的rootfs会mount到/var/lib/docker/devicemapper/mnt/container_id下: #mount | grep 49f1 /dev/mapper/docker-253:1-138011042-49f19ee979f6bf125c62779dcabf3bdce310b13d22e5c826752db202e509154e on /var/lib/docker/devicemapper/mnt/49f19ee979f6bf125c62779dcabf3bdce310b13d22e5c826752db202e509154e type ext4 (rw,relatime,discard,stripe=16,data=ordered) 本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/p/4106212.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册