随笔 - 250  文章 - 0  评论 - 288  阅读 - 117万 
05 2012 档案
煤矿粉尘监控系统-----中心站软件3层设计
摘要:这些天忙着其他事情好久没来博客园看了,新增一篇博客也算是对项目进度的鞭策吧。第一步打开文件新建一个项目为空白解决方案,选择保存位置;第二在解决方案名称上单击鼠标右键,在弹出的快捷菜单中选择"添加"→"新建项目",选择window应用窗体程序;第三同样的步骤,打开新建项目,选择类库分别建立实现数据访问层、业务逻辑访问层、模型层。第四三层结构的基本框架已经搭建成功,但是各层之间是独立的,只有添加依赖关系,才能让它们相互协作;添加表示层对业务逻辑层及模型层的依赖,业务逻辑层中添加对数据访问层和模型层的依赖,以及数据访问层对模型层的依赖。上图:到此三层结构及各层 阅读全文
posted @ 2012-05-29 11:59 夜&枫 阅读(722) 评论(2) 推荐(0) 编辑
分布式设计与开发(四)------数据拆分
摘要:一个大型系统里各个环节中最容易出性能和可用性问题的往往是数据库,因此分布式设计与开发的一个重要领域就是如何让数据层具有可扩展性,数据库的扩展分为Scale Up 和Scale Out,而Scale Up说白了是通过升级服务器配置来完成,因此不在分布式设计的考虑之内。Scale Out是通过增加机器的方式来提升处理能力,一般需要考虑以下两个问题:数据拆分数据库高可用架构数据拆分是最先会被想到的,原理很简单,当一个表的数据达到无法处理的时候,就需要把它拆成多个表,说起来简单,真正在项目里运用的时候有很多点是需要深入研究的,一般分为:切分策略与应用程序端的整合策略切分策略切分策略一般分为垂直切分、横 阅读全文
posted @ 2012-05-24 17:15 夜&枫 阅读(464) 评论(0) 推荐(1) 编辑
分布式设计与开发(三)------高一致性服务ZooKeeper
摘要:分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高一致性的,这些服务是其他分布式服务运转的基础,比如naming service、分布式lock等,这些分布式的基础服务有以下要求:高可用性高一致性高性能对于这种有些挑战CAP原则的服务该如何设计,是一个挑战,也是一个不错的研究课题,Apache的ZooKeeper也许给了我们一个不错的答案。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它暴露了一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。关于ZooKeeper更多信息可以参见官方文档ZooKeepe 阅读全文
posted @ 2012-05-24 17:14 夜&枫 阅读(459) 评论(0) 推荐(1) 编辑
分布式设计与开发(二)------几种必须了解的分布式算法
摘要:分布式设计与开发中有些疑难问题必须借助一些算法才能解决,比如分布式环境一致性问题,感觉以下分布式算法是必须了解的(随着学习深入有待添加):Paxos算法一致性Hash算法Paxos算法1)问题描述分布式中有这么一个疑难问题,客户端向一个分布式集群的服务端发出一系列更新数据的消息,由于分布式集群中的各个服务端节点是互为同步数据的,所以运行完客户端这系列消息指令后各服务端节点的数据应该是一致的,但由于网络或其他原因,各个服务端节点接收到消息的序列可能不一致,最后导致各节点的数据不一致。举一个实例来说明这个问题,下面是客户端与服务端的结构图: J3.jpeg (40.97 KB)2010-8-31. 阅读全文
posted @ 2012-05-24 17:13 夜&枫 阅读(441) 评论(0) 推荐(1) 编辑
分布式设计与开发(一)------宏观概述
摘要:在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这个潮流,在google上通过“云计算”这个关键词来查询资料,查到的都是些概念性或商业性的宣传资料,其实真正需要深入的还是那个早以被人熟知的概念------分布式。分布式可繁也可以简,最简单的分布式就是 阅读全文
posted @ 2012-05-24 17:12 夜&枫 阅读(290) 评论(0) 推荐(2) 编辑
c# 程序调用代码生成数据库
摘要:项目中要使用到初始化数据库,需要用程序调用记录下,2段代码一段是调用方法一段是sql.sql文件:private void SETUP() { DialogResult result; result = MessageBox.Show("安装新数据库将删除原有数据库,是否继续安装!", "警告", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { string sqlpath = "sql.sq... 阅读全文
posted @ 2012-05-22 18:15 夜&枫 阅读(2043) 评论(2) 推荐(1) 编辑
sql server日期时间格式转换字符串简介
摘要:最近设计数据库表结构时候要用到日期时间格式转换,弄了半天纠结了半天,发现好多以前掌握的东西都忘记了看来不经常用是容易遗忘,再次转载下sql server日期时间格式转换字符串;在sql server数据库中,sql server日期时间格式转换字符串可以改变sql server日期和时间的格式,是每个SQL数据库用户都应该掌握的。日期时间转字符串:SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AM SelectCONVERT(varchar(100),GETDATE(),1):05/16/06 SelectCONVERT(varcha 阅读全文
posted @ 2012-05-21 17:53 夜&枫 阅读(424) 评论(0) 推荐(0) 编辑
软件开发进度表
摘要:公司开始走正规化路线,所以一切都要有流程图,要拟一个软件开发进度表,要严格按照进度执行,之前自己写的进度基本就只有实际工作内容,没细分到每个阶段 在网上搜索到一篇决定写的很不错,再根据实际需要修改,记录下图显示: 软件开发进度表阶段主要工作应完成的文档计划起始时间计划终止时间实际起始时间实际终止时间责任人系统需求调研用户需求及用户环境 论证项目可行性项目初步开发计划进度表 制定项目初步计划 开发计划进行评审 需求分析确定系统运行环境需求规格说明 建立系统逻辑模型项目开发计划 确定系统功能及性能要求用户手册概要 编写需求规格说明、用户手... 阅读全文
posted @ 2012-05-18 18:07 夜&枫 阅读(25158) 评论(2) 推荐(1) 编辑
话说招聘面试
摘要:最近公司有一个新项目,是一个软件和硬件结合的项目,具体的就是一个cs软件通过485通信操作硬件的基站,基站上面挂着传感器和其他设备,当然我只负责软件也就是上位机部分。通过1个月多的时间,每天开会开会调研调研,基本确定了项目方案、需求分析以及概要设计等等,准备开始详细模块的设计,当然这些都是开端,跟今天我说的不带边。开始项目时候就给领导申请招人(做c#的),然后领导也很肯定招人,从半个前开始挂上招聘网站职位:软件工程师。具体职责是这样写的1、全日制大学本科计算机软件专业或相关专业毕业。2、熟悉面向对象的软件分析,设计和开发技术。3、熟悉.Net Framework 2.0,熟悉.NET多层开发. 阅读全文
posted @ 2012-05-18 17:22 夜&枫 阅读(4269) 评论(73) 推荐(2) 编辑
煤矿粉尘监控系统----表结构设计
摘要:考虑到实际需求在设计表结构的时候数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础。所以讨论一下标准1。尽量使用编码表; 2。有唯一性质的记录表,建立主键索引; 3。将描述同一种对象的属性数据设计在同一种表中; 4。有详细明细说明的,要建立子表; 5。为提高查询速度,建立必要的索引; 6。为防止数据库表中存在不合理的数据,建立必要的约束和默认; 7。定长字符项使用CHAR,NCHAR类型;不定长字符项使用VARCHAR,NVARCHAR; 8。日期时间最好使用DATETIME类型,便于时间的比较和计算。 9。为了节 阅读全文
posted @ 2012-05-17 13:57 夜&枫 阅读(949) 评论(1) 推荐(0) 编辑
C#中获取随机数有三种方法
摘要:直接附上源码:try { for (int i = 0; i < 10; i++) { Random rd = new Random(); //Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数. int sjs = rd.Next(50, 100); if (listBox1.Items.Contains(sjs)) //去掉重复 { i--; } else { listBox1.Items.Add(sjs); } listBox1.Items.Add(Guid.NewGuid().ToString()); // //引用System.G 阅读全文
posted @ 2012-05-17 12:50 夜&枫 阅读(11425) 评论(0) 推荐(0) 编辑
C# Web程序打包部署问题
摘要:经常到现场给客户安装和调试程序,有时候现场遇到的问题简直让人无语,所以经验是一笔财富。在网上找了一些注意事项,值得借鉴,所以安装web程序之前检查1.检测客户机是否安装有IIS,如果没有则安装(客户机一般都不会有IIS,所以要提供安装文件)解决方法一是自带IIS安装包,这个可以网上下载到,但是这个就怕客户原来安装的系统是精简版的系统,出了问题你都找不到那里出错。解决方法二是重新安装系统,安装系统的同时安装IIS文件,这样一般就不会出错。首次安装IIS还要对其进行配置,比如IP配置,应用程序池,还有支持ASPX和.net版本的支持等等的问题,操作系统对于用户对文件访问权限的设置,如果网站文件中还 阅读全文
posted @ 2012-05-16 19:12 夜&枫 阅读(3818) 评论(2) 推荐(0) 编辑
C# 串口操作系列(5)--通讯库雏形
摘要:串口是很简单的,编写基于串口的程序也很容易。新手们除了要面对一堆的生僻概念,以及跨线程访问的细节,还有一个需要跨越的难题,就是协议解析,上一篇已经说明了:一个二进制格式的协议一般包含: 协议头 + 数据段长度 + 数据 + 校验一个Ascii格式的文本协议,一般包含: 数据头 + 正文 + 数据结束标识类似的命令可能很多,类似的代码也会重复写很多次。对于我,并不觉得这个有任何难度,但是,很多时候,需要写点类似东西的时候呢,我往往不想写,不是别的,要搭建一个这样的框架,这绝对是个体力活,而且还需要耐心和细心。从我上一次带项目,我就开始考虑编写通用的一个通讯库,支持很多功能,不过和公司内容结合紧密 阅读全文
posted @ 2012-05-16 18:53 夜&枫 阅读(694) 评论(0) 推荐(0) 编辑
C# 串口操作系列(4) -- 协议篇,文本协议数据解析 .
摘要:上一篇已经介绍了协议的组成,一个协议,一般具有 :协议头+长度+数据+校验 , 文本格式可以直观的定义回车换行是协议的结尾,所以我们可以省略数据长度,增加协议尾。即: 协议头 + 数据 + 校验 + 数据尾 。文本方式的数据比较容易分析。如果数据缓存,可以考虑用StringBuilder。或是不缓存也可以。文本格式数据大多有换行结尾。稍微修改即可。例如分析常见的NMEA 0183格式的卫星坐标数据GGA。$GPGGA,121252.000,3937.3032,N,11611.6046,E,1,05,2.0,45.9,M,-5.7,M,,0000*77$ 开始GPGGA 命令字* 结尾77 校验 阅读全文
posted @ 2012-05-16 18:52 夜&枫 阅读(651) 评论(0) 推荐(0) 编辑
C# 串口操作系列(3) -- 协议篇,二进制协议数据解析 .
摘要:我们的串口程序,除了通用的,进行串口监听收发的简单工具,大多都和下位机有关,这就需要关心我们的通讯协议如何缓存,分析,以及通知界面。 我们先说一下通讯协议。通讯协议就是通讯双方共同遵循的一套规则,定义协议的原则是尽可能的简单以提高传输率,尽可能的具有安全性保证数据传输完整正确。基于这2点规则,我们一个通讯协议应该是这样的:头+数据长度+数据正文+校验 例如:AA 44 05 01 02 03 04 05EA 这里我假设的一条数据,协议如下: 数据头: AA 44 数据长度: 05 数据正文: 01 02 03 04 05 校验:EA 一般数据的校验,都会采用常用的方式,CRC16,CRC32, 阅读全文
posted @ 2012-05-16 18:51 夜&枫 阅读(814) 评论(0) 推荐(0) 编辑
C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ? .
摘要:我们的串口程序,除了通用的,进行串口监听收发的简单工具,大多都和下位机有关,这就需要关心我们的通讯协议如何缓存,分析,以及通知界面。 我们先说一下通讯协议。通讯协议就是通讯双方共同遵循的一套规则,定义协议的原则是尽可能的简单以提高传输率,尽可能的具有安全性保证数据传输完整正确。基于这2点规则,我们一个通讯协议应该是这样的:头+数据长度+数据正文+校验 例如:AA 44 05 01 02 03 04 05EA 这里我假设的一条数据,协议如下: 数据头: AA 44 数据长度: 05 数据正文: 01 02 03 04 05 校验:EA 一般数据的校验,都会采用常用的方式,CRC16,CRC32, 阅读全文
posted @ 2012-05-16 18:50 夜&枫 阅读(2783) 评论(0) 推荐(0) 编辑
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。
摘要:我假设读者已经了解了c#的语法,本文是针对刚打算解除串口编程的朋友阅读的,作为串口编程的入门范例,也是我这个系列的基础。我们的开发环境假定为vs2005(虽然我在用vs2010,但避免有些网友用2005,不支持lambda,避免不兼容,就用2005来做例子)一个基本的串口程序,既然是个程序了。我们就先从功能说起,包含串口选择波特率选择打开关闭接受数据显示发送数据输入发送数据数据量提示以及归零好吧,有了这些功能,我们就先画出界面。例如:这里,波特率就定死几种好了。直接界面上添加2400,4800,9600,19200,38400,57600,115200comboPortName这里,为了我们的 阅读全文
posted @ 2012-05-16 18:48 夜&枫 阅读(933) 评论(0) 推荐(0) 编辑
MSSQL操作类
摘要:这是我自已常用的MSSQL操作类,个人用着觉得还可以,如果高手有更好的,也可以帖出来供大家分享一下,呵呵!! ========================================== using System; using System.Configuration; using System.Collections; using System.Data; using System.Data.SqlClient; namespace MyData { /// <summary> /// 通用数据库类MSSQL /// </summary> public cla 阅读全文
posted @ 2012-05-16 18:45 夜&枫 阅读(343) 评论(0) 推荐(0) 编辑
常用经典算法
摘要:一、冒泡排序(Bubble) using System; namespace BubbleSorter{public class BubbleSorter{ public void Sort(int[] list) { int i,j,temp; bool done=false; j=1; while((j<list.Length)&&(!done)) { done=true; for(i=0;i<list.Length-j;i++) { if(list[i]>list[i+1]) { done=false; temp=list[i]; list[i]=lis 阅读全文
posted @ 2012-05-16 18:43 夜&枫 阅读(270) 评论(0) 推荐(0) 编辑
.NET设计模式系列文章
摘要:学习和使用c#快4年了,经常被问到你开发用什么模式什么模式,一直都在使用其中的模式,却只知其一不知其所以,所以借鉴TerryLee老师的探索设计模式系列,让自己也理解更深刻。转自http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911.html第Ⅰ部分开篇开篇第Ⅱ部分创建型模式篇第1章单件模式(Single Pattern)第2章抽象工厂模式(Abstract Factory)第3章建造者模式(Builder Pattern)第4章工厂方法(Factory Method)第5章原型模式(Protype Pattern)第6章创建型模式专 阅读全文
posted @ 2012-05-16 18:36 夜&枫 阅读(327) 评论(0) 推荐(0) 编辑
煤矿粉尘监控系统-----系统结构框架
摘要:涉及公司机密所以简单文字描述,结构图就不上传了。上位机:粉尘监控系统软件下位机:粉尘监控基站、传感器、装置等通讯方式:RS--485其实这里设计基本都是3层结构整个系统通讯可采用485通讯、网口通讯,粉尘监控分站自带网口功能,可直接接入环网使用。此系统难点在于下位机基站的设计和实现,可惜我下位机电路图都看不明白,都说要软件硬件都要懂,现在跨领域人才是香饽饽是有道理的。ps:下一步通信协议的确定。。。 阅读全文
posted @ 2012-05-16 18:25 夜&枫 阅读(612) 评论(0) 推荐(0) 编辑
煤矿粉尘监控系统-----需求分析
摘要:煤尘危害为煤矿五大自然灾害之一,一直是煤炭行业防治工作的重点。而从当前国内外煤矿粉尘监控技术的发展来看,粉尘监控技术正逐步由短时间单地点测量向长时间大面积在线监控的方向发展。各国研究人员对煤矿粉尘监控技术做了大量的研究工作,研制出了一系列的粉尘检测与监控系统。 目前,我国国有重点煤矿已全部安装井下防尘设备系统,并成为煤矿标准化达标的重要条件。但是由于现有煤矿粉尘除尘系统大多针对某一监控对象开发,如井下各防尘水路压力流量的监控、煤层注水监控设备、尘源跟踪降尘系统、粉尘超限喷雾装置、井下各种除尘设备开停等,这些设备与配件互不通用,相互独立,信息资源不能共享,他们一般分散安装在不同的地方,其运行的. 阅读全文
posted @ 2012-05-16 18:16 夜&枫 阅读(1492) 评论(0) 推荐(0) 编辑
wp7 城市天气预报查询
摘要:上次做了一个wp7的手机归属地查询,虽然找了参照来做但是还很有成就感,所以研究了2天天气预报做了半天做出效果图如下,不过这里说点感想:如果要开发wp7美工非常非常非常重要,不然就如网上所说的没有美工码农,都是苦逼。。。。废话了一堆上图(虽然很丑,但是也是我敲了半天赛)这里可以直接输入城市也可以选择城市;后台代码: /// <summary> /// 选择城市 /// </summary> /// <param name="sender"></param> /// <param name="e"> 阅读全文
posted @ 2012-05-09 10:19 夜&枫 阅读(1312) 评论(5) 推荐(1) 编辑
wp7 手机归属地查询
摘要:ps:之前一直看卤面网,看博客园里强人关于wp7开发介绍等也快大半个月了,不得不说实践是检验真理的唯一标准,还得自己动手做,这个是我做的第一个wp7小程序:手机归属地查询。不废话,先上图:此应用拥有3个功能,查询手机归属地、拨号、保存号码。应用很简单,感觉wp7美工很重要,可惜我就会点ps。查询功能:这里查询所用的服务端为webxml提供的webservice。http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx添加webservice后台代码:private void btnseach_Click(object sende 阅读全文
posted @ 2012-05-07 09:54 夜&枫 阅读(1614) 评论(5) 推荐(4) 编辑

点击右上角即可分享
微信分享提示