<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_悟空-简单就好</title><subtitle type="text">.net企业级应用研究考虑最复杂的情况开发出最简单的实现  Word文档－资料管理系统！    </subtitle><id>http://feed.cnblogs.com/blog/u/13301/rss</id><updated>2012-01-14T14:47:40Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/13301/rss"/><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/14/MDMTable.html</id><title type="text">分库分表的设计思路让大系统变简单</title><summary type="text">分库分表跟不分库分表，整个架构是完全不一样的。像铁路的售票系统、淘宝、电信、银行等，绝对要采用分库分表的数据存储方案， 来解决数据量的增长而不影响性能的问题。</summary><published>2012-01-14T14:39:00Z</published><updated>2012-01-14T14:39:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/14/MDMTable.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/14/MDMTable.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp; 以铁路的售票系统来说明分库分表对架构的影响。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;一、问题：铁路的售票系统的数据量是海量吗？&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 不是。因为数据量不大，真不大。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 每一个车次与车次间是独立的，每车次不超过2000张票，一天发车不超过50万车次；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;以预售期15天来讲，15*0.1亿张不超过1.5亿笔的热线数据，称不上海量数据的。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;再加上可以按线路分库，更是不到千万级的单表容量。已经发车完成的进入归档分析。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;即数据库按路线使用不同的服务器，不同的车次放在不同的表中。并发量锁真不大。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;当然，如果不分库分表，再加上不归档处理，铁路的售票系统的数据量看起来是海量的；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;关键是这海量的数据没有意义。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;二、如何分库分表？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;2.1 分库，考虑数据间没有直接关系和服务器如何部署&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 铁路的售票系统为例来说，按路线分库，再按车次分表是合理的。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 设路线有1万条，按每1000条需要两台服务器(一台热机沉余)，不到20台服务器&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 如果使用SAN存储，则使用SAN作为存储，本机作为热机沉余，只需要10台。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 当然使用mySQL这种经济型数据库，服务器需要更多来防灾；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 即可以采用双写或多写的方式来保证数据的绝对安全。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;2.2分表，考虑数据间不存在重叠，即数据满足二分原则&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 铁路的售票系统的任意两个车次是没有关系的，所以可以分表。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 电信的某个用户的通话和其它用户的通话记录，也是没有关系，所以可以分表处理&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; （实际上电信的系统，分库分表后也是不大的，难在后台的计费、结算等规则）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;三、数据库访问接口&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 1. 元数据：如何识别到当前要处理的数量在哪张表？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 铁路的售票系统会有一个车次管理系统，例2012年2月12日 D3206 车次，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 按预先设计的在哪台服务器的哪个库，建哪个表。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 2.建立元数据的规则：即具体如何分库分表的规则&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 这个就是数据库的访问接口。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 3.数据库访问接口的透明程度&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 即哪个层知道哪些元数据信息。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;例，是否让窗口售票的客户端来解析元数据的规则然后缓存，还是通过中间件来解析缓存的&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;具体各层使用怎样透明程度，和业务性质、节点和数据中心的拓扑等有关。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;四、历史数据归档与分析&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 1.使用分库分表后，数据需要归档，&lt;/span&gt;&lt;span style="color: red; font-size: 14pt"&gt;分析处理的程序变得复杂，但使&lt;strong&gt;&lt;u&gt;联机交易变得简单&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 2.分析：要注意是针对热线数据分析、归档数据分析、混合分析有关，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp; 通过分库分表和归档，更方便使用分布式的统计方案。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 具体可以参考，&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;淘宝的开放平台架构师写的文章：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp; Beatles小记-分布式数据流分析框架(一) &lt;/span&gt;&lt;a href="http://www.blogjava.net/cenwenchu/archive/2011/12/07/365776.html"&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.blogjava.net/cenwenchu/archive/2011/12/07/365776.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;结论：分库分表跟不分库分表，整个架构是完全不一样的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 像铁票的售票系统、淘宝、电信、银行等，绝对要采用分库分表的数据存储方案，&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 来解决数据量的增长而不影响性能的问题。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 像淘宝等互联网应用还要解决带宽即CDN问题。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;供大家一起讨论、分享经验。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/fjwuyongzhi/aggbug/2322611.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/14/MDMTable.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320383.html</id><title type="text">下载 针式个人知识库管理软件 V9.08 版</title><summary type="text">可以通过下述网址下载：1、博客园下载http://files.cnblogs.com/pinpkm/PinPkm.rar2、本地下载http://www.pinpkm.com/pinpkm.rar 3、华军下载www.onlinedown.net/soft/59630.htm针式PKM个人知识管理软件，不仅提供一般的笔记软件的收集、查找资料功能，更主要提供通过问答进行辅助学习，通过数据分析，如文章的阅读次数、今天距离最近一次阅读日期间隔的统计分析，来更好帮助用户“从收集资料到吸收知识的转变“。V9.08版 主要增加和完善的功能有：1、支持华为网盘同步和备份2、增加知识结构分析，有助于对知识是否</summary><published>2012-01-12T03:44:00Z</published><updated>2012-01-12T03:44:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320383.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320383.html"/><content type="html">&lt;div style="box-sizing: border-box; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 13px/20px verdana, Arial, helvetica, sans-seriff; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(75,75,75); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"&gt;&lt;strong style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px"&gt;可以通过下述网址下载：&lt;/strong&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;span style="box-sizing: border-box; text-align: left; line-height: 24px; background-color: rgb(255,255,255); font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; color: rgb(68,68,68)"&gt;&amp;nbsp;&amp;nbsp;1、&lt;/span&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://files.cnblogs.com/pinpkm/PinPkm.rar" target="_blank"&gt;博客园下载&amp;nbsp;&lt;/a&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://files.cnblogs.com/pinpkm/PinPkm.rar" target="_blank"&gt;http://files.cnblogs.com/pinpkm/PinPkm.rar&lt;/a&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;span style="box-sizing: border-box; text-align: left; line-height: 24px; background-color: rgb(255,255,255); font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; color: rgb(68,68,68)"&gt;&amp;nbsp;&amp;nbsp;2、&lt;/span&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.pinpkm.com/pinpkm.rar" target="_blank"&gt;本地下载&amp;nbsp;&lt;/a&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.pinpkm.com/pinpkm.rar" target="_blank"&gt;http://www.pinpkm.com/pinpkm.rar&lt;/a&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;span style="box-sizing: border-box; text-align: left; line-height: 24px; background-color: rgb(255,255,255); font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; color: rgb(68,68,68)"&gt;&amp;nbsp; 3、&lt;/span&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.onlinedown.net/soft/59630.htm" target="_blank"&gt;华军下载&lt;/a&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.onlinedown.net/soft/59630.htm" target="_blank"&gt;www.onlinedown.net/soft/59630.htm&lt;/a&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;针式PKM个人知识管理软件，不仅提供一般的笔记软件的收集、查找资料功能，更主要提供通过问答进行辅助学习，通过数据分析，如文章的阅读次数、今天距离最近一次阅读日期间隔的统计分析，来更好帮助用户&amp;#8220;从收集资料到吸收知识的转变&amp;#8220;。&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&lt;strong style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px"&gt;V9.08版 主要增加和完善的功能有：&lt;/strong&gt;&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1、支持华为网盘同步和备份&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&amp;nbsp;&amp;nbsp;2、增加知识结构分析，有助于对知识是否系统化并有所侧重进行分析等&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&amp;nbsp;&amp;nbsp;3、对问答学习进行完善&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&amp;nbsp;&amp;nbsp;4、对标签功能进行完善，可直接输入关键字，并支持大量标签后快捷搜索等&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&amp;nbsp;&amp;nbsp;5、对知识点列表显示字段格式等保存进行简化&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&amp;nbsp;&amp;nbsp;6、对界面进行一些相关功能的整合，希望让您能更方便相关功能&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&amp;nbsp;&amp;nbsp; 等等&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;内置的6个问答问题如下，&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;配合针式PKM提供的功能，能更好思考、理解文章的价值：&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;1、我为什么要学习这些知识？&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;2、我要掌握哪些核心内容？&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;3、我准备怎样深入理解、应用这些知识？&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;4、和主题相关的同义词和近义词有哪些？&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;5、我要从中获取哪些教训？&lt;br style="box-sizing: border-box; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; word-wrap: break-word; padding-top: 0px" /&gt;6、我怀疑、质疑文章中的哪些观点？&lt;/div&gt;&lt;div style="box-sizing: border-box; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 13px/20px verdana, Arial, helvetica, sans-seriff; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(75,75,75); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;img style="box-sizing: border-box; border-right-width: 0px; width: 664px; border-top-width: 0px; border-bottom-width: 0px; height: 429px; border-left-width: 0px; border-image: initial" alt="" src="http://images.cnblogs.com/cnblogs_com/pinpkm/PinPKM908.png" width="664" height="429" /&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px"&gt;可以通过下述网址下载：&lt;/strong&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;span style="box-sizing: border-box; text-align: left; line-height: 24px; background-color: rgb(255,255,255); font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; color: rgb(68,68,68)"&gt;&amp;nbsp;&amp;nbsp;1、&lt;/span&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://files.cnblogs.com/pinpkm/PinPkm.rar" target="_blank"&gt;博客园下载&amp;nbsp;&lt;/a&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://files.cnblogs.com/pinpkm/PinPkm.rar" target="_blank"&gt;http://files.cnblogs.com/pinpkm/PinPkm.rar&lt;/a&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;span style="box-sizing: border-box; text-align: left; line-height: 24px; background-color: rgb(255,255,255); font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; color: rgb(68,68,68)"&gt;&amp;nbsp;&amp;nbsp;2、&lt;/span&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.pinpkm.com/pinpkm.rar" target="_blank"&gt;本地下载&amp;nbsp;&lt;/a&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.pinpkm.com/pinpkm.rar" target="_blank"&gt;http://www.pinpkm.com/pinpkm.rar&lt;/a&gt;&lt;br style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(68,68,68); padding-top: 0px" /&gt;&lt;span style="box-sizing: border-box; text-align: left; line-height: 24px; background-color: rgb(255,255,255); font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; color: rgb(68,68,68)"&gt;&amp;nbsp; 3、&lt;/span&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.onlinedown.net/soft/59630.htm" target="_blank"&gt;华军下载&lt;/a&gt;&lt;a style="box-sizing: border-box; text-align: left; padding-bottom: 0px; line-height: 24px; background-color: rgb(255,255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; word-wrap: break-word; color: rgb(51,102,153); padding-top: 0px" href="http://www.onlinedown.net/soft/59630.htm" target="_blank"&gt;www.onlinedown.net/soft/59630.htm&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/fjwuyongzhi/aggbug/2320383.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320383.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320078.html</id><title type="text">用Asp.net 就能轻松实现铁道部的订票系统</title><summary type="text">有时思路不正确，软件做死了也搞不好真的。所以做软件架构师，思维导图和个人知识管理是必须的。此文放在主页，让大家讨论一下：软件开发中的“思路决定出路”的重要性</summary><published>2012-01-11T19:47:00Z</published><updated>2012-01-11T19:47:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320078.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320078.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 14pt"&gt;总结大家的发言，&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;期望中的&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;火车新订票系统&lt;/strong&gt;：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;１）铁付通：允许允值到帐户 &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;２）预订方式：预订不成功退钱回帐户&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;３）加入分配规则：解决像春节特殊节日下，优先满足回家的人们&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;（去年有回去的优先级下降一档、不是回家的优先最低。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　什么流量，根本就是最最基本的技术问题，谈流量者SB）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;４）加入用户信用评价体系，并和分配优先级挂钩&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;5）支持PC、智能手机的订票方式，逐渐减少人工售票点(不会在线订票的人群)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;6&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;）目标是：用户可以１０分钟内完成&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;预订单(不需要也不提供查余票功能)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 14pt"&gt;在抢票期内５&lt;font size="5"&gt;&lt;span style="font-size: 14pt"&gt;分钟&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;～２４小时给出是否预订成功；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 非抢票期在运输资源出来后１小时内给出是否预订成功。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 节约没有意义的排队、刷屏的国民时间；照顾到需要照顾的人群&lt;font size="5"&gt;&lt;span style="font-size: 14pt"&gt;；&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 让最基层的老百姓多些满意。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt"&gt;(架构图就不画了，估计铁道部相关的人员也不会理睬这个)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;***********************************************************&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;前言：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;最近经常看到买票难，作为搞技术的我TMD的骂一次：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red; font-size: 14pt"&gt; 票会增加吗？总是有人能买到，有人不能买到；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 就不能换个思路设计订票系统。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 要是我是什么什么的来着，早已经实现通过手机短信、网站就能轻松买票了；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 还顺便将手机实名制给实现了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　摘要：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;现有的订票方案问题在哪，&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;１）是即时的，需要很多很多计算资源；搞得订票过程耗时&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;２）技术难度大：如余票查询、数量扣除锁等，都有很大的架构难度。&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;即并行访问根本就不是问题，问题在于单个用户的处理时间过长，&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&lt;span style="color: red; font-size: 14pt"&gt;造成用户在网站&amp;#8220;同一资源过程&amp;#8221;停留的过长造成的雪崩效应问题。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="color: red; font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 最终是：200个用户在A服务器上卡死了，会话时间为２０分钟的话，A服务器基本上是挂了。要等监控进程清理，所以才会出现付钱不给票的情况（强制清除进程造成）&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;我想解决的是：避免浪费国民的时间，老是作那些没有意义的查询，&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;直接根据旅客的要求要给有没有票就好了。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;而且，能实现很多很多其它的功能，又没有什么技术难度。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/fjwuyongzhi/Ticket2012.png" width="663" height="631" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　正文：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; 不知是我想简单了，还是专家们想复杂了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　铁道部的专家还停留在线下售票方案中拨不出来；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　线上售票系统简单得多了。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　骂完铁道部后，提供一简单又可行的解决方案。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;查询余票、防止超售、防止黄牛，一般的设计思路是有难度，&lt;/p&gt;&lt;p&gt;换个思路，TMD太简单的就能搞定。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;一、总体方案&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　1、正常情况：预订交钱--&amp;gt;后台自动验证规则--&amp;gt;不符合购买限制的钱原路退回--&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;--&amp;gt;提醒用户&lt;/span&gt;&lt;span style="color: red; font-size: 14pt"&gt;预订成功（但不一定有票）&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;--&amp;gt;运输资源出来，根据&lt;/span&gt;&lt;span style="background-color: #ff0000; font-size: 14pt"&gt;先到可先得+优化级&lt;/span&gt;&lt;span style="font-size: 14pt"&gt;的原则分配&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;--&amp;gt;短信通知用户取票&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　２、用户不取票：没有关系，因为铁道部已经收到钱，所以你开车前两小时取即可。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 多方便啊，就不用为了票多走一次车站。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　３、用户退票：春运有人退吗？　平时要是退了，就退吧&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;二、前台网站设计&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　只需要预订，根本不需要查余票什么的。所以很简单的架构就能搞定，甚至不用CDN&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;三、后台设计&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　预订后，后台慢慢处理，看资源情况增加服务器。即使后台的服务器挂了，前台用户也感觉不出来。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　运输资源出来，看有多少是分配给网上订票的，依规则分配即可。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　这样后台的架构要有多灵活，就可以设计成多灵活。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　&lt;font size="5"&gt;&lt;span style="color: red"&gt;后台&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: red; font-size: 14pt"&gt;由验证服务器+分配服务器+取票及跟踪服务器组成。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　具有分配资格的，满足了身份证唯一、已付款、优先级等等要求了；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　而且是一票一票分配的，根本就没有什么复杂的逻辑处理，也没有什么数据库表锁；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　因为能分配的已经满足了锁的要求了，用单线程分配就好了。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　２核的一秒就可以处理1000张票以上。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;四、可能的问题&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; １、有存在海量的处理的情况吗？　没有，预订对数据只是增加操作，不需要扣除数量锁表&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; ２、有峰值压力吗？　没有，预订时要处理的事情很少很少&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; ３、能不能订到票，心里没底？　预订和抢票，没有区别啊，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;关键一点的是，预订可以有复杂的预计，比如允许自动安排下一趟什么的；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;多灵活啊。也不要做哪些没有意义的重复提交。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp; ４、如果铁道部的内部人员想作弊，采用什么方式都可能存在作弊&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;&amp;nbsp;五、优点&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;　１、能提前１０年预订都没有问题，只要铁道部和旅客愿意。将来的目标发展为：个人旅行管理系统&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　２、前台轻量，爱怎样扩展就怎样扩展&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;3、后台爱怎样处理都行，而且可以很容易监控，有异常还可以人工偷偷处理一下，用户根本感觉不到&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 14pt"&gt;　４、实际上这样一套系统上线，&lt;/span&gt;在家中买票，要坐车再去取票就可以了。不够铁道部的关系人少了点代理收入。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;六、&lt;span id="comment_body_2292373" class="blog_comment_body"&gt;经&lt;span id="comment_body_2292373" class="blog_comment_body"&gt;&lt;a title="查看所回复的评论" href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320078.html#2292362"&gt;&lt;font color="#006bad"&gt;@&lt;/font&gt;&lt;/a&gt;诺贝尔&lt;/span&gt;的启发，完善系统如下：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="blog_comment_body"&gt;&lt;br /&gt;　１、前台部分：&lt;br /&gt;　PC端：由前台预订系统、身证验证子系统、网银子系统、防止入侵子系统、业务监控系统&lt;br /&gt;　智能手机：修改适合手机特点的预订系统&lt;br /&gt;（前台预计系统很简单，就一般的小公司都没做再来的那一种，就是往数据库里增加记录，不验证不看余票等规则）&lt;br /&gt;　２、后台部分&lt;br /&gt;&lt;br /&gt;订票确权服务器（是否有预计资格）、车票分配服务器、取票通知服务器、业务监控系统、资源管理和分配规则管理系统等组成&lt;br /&gt;&lt;br /&gt;　３、结算部分&lt;br /&gt;&lt;br /&gt;　另开发结算管理系统，处理帐务、退钱、退票等&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;　经以上分析，结论：用Asp.net+SQL２００８ 就可以轻松实现。特别是后台，用C#.net　开发绝对是优势。&lt;/p&gt;&lt;p&gt;　&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/fjwuyongzhi/aggbug/2320078.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/fjwuyongzhi/archive/2012/01/12/2320078.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2011/12/16/WebDevWebserver4.html</id><title type="text">解决WebDev.Webserver4(.net 4) 只能用于本机调试的问题</title><summary type="text">一种解决 VS2010 自带的Asp.net Web 服务器 WebDev.Webserver4 ，可以用任意IP地址访问的方法，可方便用于支付宝接口本机调试或作简单的Web 服务器使用。附近源代码供参考</summary><published>2011-12-15T17:10:00Z</published><updated>2011-12-15T17:10:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2011/12/16/WebDevWebserver4.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2011/12/16/WebDevWebserver4.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;最近在弄针式PKM的支付宝在线支付，才发现VS2010自带的Asp.net Web 服务器 只能在本机访问，在网上搜索了不少资料。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;1、尝试方案一：有一个一键访问的叫Aspnet4.0的没有解决这个问题，只是简单调用了自带的WebDev.WebServer40.exe 这个文件&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;2、找到方案二：在园子中另外找到这篇：&lt;/span&gt;&lt;a href="http://www.cnblogs.com/huigll/archive/2011/02/25/1851112.html" target="_blank"&gt;&lt;span style="font-size: 12pt"&gt;使WebDev.WebServer.exe 当web服务器&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;，很有帮助，但没有解决本机访问的调试问题，后来找到更简单的方法，支持任意IP访问，即使用 &lt;/span&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;socket.Bind(new IPEndPoint(IPAddress.Any , port)); 初始服务器的监听端口（此时用netstat -a 显示 0.0.0.0 本机地址）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&amp;nbsp; 2.1 用ILSpy 反编译了WebDev.WebServer40.exe 和WebDev.WebHost40.dll，修改后重新编译&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&amp;nbsp; 2.2 要将编译好的&lt;font color="#333333" size="2"&gt;&lt;span style="font-size: 12pt"&gt;WebDev.WebServer40.exe&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt; 替换到：C:\Program Files\Common Files\microsoft shared\DevServer\10.0 &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&amp;nbsp; 2.3 要将&lt;font color="#333333" size="2"&gt;&lt;span style="font-size: 12pt"&gt;WebDev.WebHost40.dll&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt; 每次复制到要调试的asp.net 项目的bin 文件夹（没有则手工建一个）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: red; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;经以上折腾，可以在本机完成支付宝在线支付的调试。后续也可以作为简单的Asp.net Web 服务器&lt;/span&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;（有安全问题，不能用于互联网）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;3、源代码下载 &amp;nbsp; &lt;a href="http://files.cnblogs.com/fjwuyongzhi/WebDevWebServer40_fjwuyongzhi.rar"&gt;&lt;span style="font-size: 12pt"&gt;http://files.cnblogs.com/fjwuyongzhi/WebDevWebServer40_fjwuyongzhi.rar&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&amp;nbsp;&amp;nbsp; （仅用学习参考使用）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 12pt/21px Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;   &lt;img src="http://www.cnblogs.com/fjwuyongzhi/aggbug/2289620.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/fjwuyongzhi/archive/2011/12/16/WebDevWebserver4.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2010/03/16/1686825.html</id><title type="text">关于“无效的FORMATETC 结构”解决方法</title><summary type="text">现象：在开发asp.net自定义控件，在测试项目拖动控件进提示，无效的FORMATETC 结构 分析：之前已经将此自定义控件部署到GAC区，估计只认到GAC区的DLL，没有认到当前新生成的DLL 解决：关闭所有相关的项目，重新部署到GAC区，并重新打开项目后OK。</summary><published>2010-03-16T01:05:00Z</published><updated>2010-03-16T01:05:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2010/03/16/1686825.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2010/03/16/1686825.html"/><content type="text">现象：在开发asp.net自定义控件，在测试项目拖动控件进提示，无效的FORMATETC 结构 分析：之前已经将此自定义控件部署到GAC区，估计只认到GAC区的DLL，没有认到当前新生成的DLL 解决：关闭所有相关的项目，重新部署到GAC区，并重新打开项目后OK。</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2010/03/04/1678247.html</id><title type="text">从用友致远“佣金门”看软件价值</title><summary type="text">近期在网上流传的用友致远“佣金门”，很大程度上可以说明软件的价值所在。一、软件是好东西，但同时容易为别人留下证据 用友致远“佣金门”的资料来自于自身的OA系统，说明软件可以将东西很好的将过程记下来；也容易成为“证据”。 用友致远“佣金门”的资料是来自于高管，还是来自“用友致远OA自身的不安全...</summary><published>2010-03-04T06:00:00Z</published><updated>2010-03-04T06:00:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2010/03/04/1678247.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2010/03/04/1678247.html"/><content type="text">近期在网上流传的用友致远“佣金门”，很大程度上可以说明软件的价值所在。一、软件是好东西，但同时容易为别人留下证据 用友致远“佣金门”的资料来自于自身的OA系统，说明软件可以将东西很好的将过程记下来；也容易成为“证据”。 用友致远“佣金门”的资料是来自于高管，还是来自“用友致远OA自身的不安全...</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2009/09/06/1561410.html</id><title type="text">以过桥算法来谈如何满足客户的需求和程序设计步骤</title><summary type="text">以过桥算法来谈如何满足客户的需求和程序设计步骤 如果答案只停留在解决题目的表面，而不能抽象出此类问题，是不及格的。正如，开发应用型软件，应站在行业的高度和全局去思考，而不仅仅是解决局部的问题。所以实际的项目中，应有架构师来统领全局，看得更多更远一些。一、需求四个女人过桥，夜间有一火把，每次最多过两个，必需带火把，过桥速度不一样no.1 1minno.2 2minno3 5minno.4 10mi...</summary><published>2009-09-06T11:52:00Z</published><updated>2009-09-06T11:52:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2009/09/06/1561410.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2009/09/06/1561410.html"/><content type="text">以过桥算法来谈如何满足客户的需求和程序设计步骤 如果答案只停留在解决题目的表面，而不能抽象出此类问题，是不及格的。正如，开发应用型软件，应站在行业的高度和全局去思考，而不仅仅是解决局部的问题。所以实际的项目中，应有架构师来统领全局，看得更多更远一些。一、需求四个女人过桥，夜间有一火把，每次最多过两个，必需带火把，过桥速度不一样no.1 1minno.2 2minno3 5minno.4 10mi...</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2009/09/06/1561409.html</id><title type="text">选择数据库产品要考虑哪些事项?</title><summary type="text">选择数据库产品和应用规模、客户对象、运行环境等息息相关；下面总结了几条，可以适当开发多数应用型的软件作参考。请大家一起来完善要考虑的事项，让更多的人减少走弯路。一、开发方面1、数据库连接和并发2、数据库的指标：数据库文件大小限制、表的记录量限制、支持的数据类型、支持的SQL语句、不支持的SQL语句3、参数查询4、多数据库支持的开发代价，是否值得支持二、部署和维护方面1、部署的环境、简便性等2、维护...</summary><published>2009-09-06T11:51:00Z</published><updated>2009-09-06T11:51:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2009/09/06/1561409.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2009/09/06/1561409.html"/><content type="text">选择数据库产品和应用规模、客户对象、运行环境等息息相关；下面总结了几条，可以适当开发多数应用型的软件作参考。请大家一起来完善要考虑的事项，让更多的人减少走弯路。一、开发方面1、数据库连接和并发2、数据库的指标：数据库文件大小限制、表的记录量限制、支持的数据类型、支持的SQL语句、不支持的SQL语句3、参数查询4、多数据库支持的开发代价，是否值得支持二、部署和维护方面1、部署的环境、简便性等2、维护...</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2009/04/02/1427911.html</id><title type="text">阿里SaaS钱掌柜免费的背后</title><summary type="text">据报导：钱掌柜不但产品免费，更承诺三年内软件升级到服务培训也全面免费，中小企业无需投入即可实现管理体系全面转型。我的观点： 免费是真的，这样也就能更精准的收集用户的资料，为公司的其它产品作推销。将广告的钱花在这，真的是高招！ 大公司确实应有这样的大手笔啊。转载本文请注明来自Cnblogs.com及保留文章链接(针式PKM也开始免费，希望阿里能收购，哈哈)</summary><published>2009-04-02T03:07:00Z</published><updated>2009-04-02T03:07:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2009/04/02/1427911.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2009/04/02/1427911.html"/><content type="text">据报导：钱掌柜不但产品免费，更承诺三年内软件升级到服务培训也全面免费，中小企业无需投入即可实现管理体系全面转型。我的观点： 免费是真的，这样也就能更精准的收集用户的资料，为公司的其它产品作推销。将广告的钱花在这，真的是高招！ 大公司确实应有这样的大手笔啊。转载本文请注明来自Cnblogs.com及保留文章链接(针式PKM也开始免费，希望阿里能收购，哈哈)</content></entry><entry><id>http://www.cnblogs.com/fjwuyongzhi/archive/2008/12/02/1346283.html</id><title type="text">一款彻底解决企业考勤薪资问题的软件</title><summary type="text">针式C/5网络版拍照型考勤薪资系统 一款彻底解决企业考勤薪资问题的软件 针式C/5软件由针式软件(福州)有限公司采用微软最新的 .net 软件网页技术开发，功能强大，真正能满足您的复杂需求的软件；贵公司的考勤薪资制度全部可以用针式C/5软件来实现自动统计、结算，并生成直观的Excel报表。主要特点 刷卡拍照，防止代刷卡 Web 版软件，局域网内任意电脑用户可登入系统进行操作和查询 强大的人事资...</summary><published>2008-12-02T14:24:00Z</published><updated>2008-12-02T14:24:00Z</updated><author><name>新悟空</name><uri>http://www.cnblogs.com/fjwuyongzhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjwuyongzhi/archive/2008/12/02/1346283.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjwuyongzhi/archive/2008/12/02/1346283.html"/><content type="text">针式C/5网络版拍照型考勤薪资系统 一款彻底解决企业考勤薪资问题的软件 针式C/5软件由针式软件(福州)有限公司采用微软最新的 .net 软件网页技术开发，功能强大，真正能满足您的复杂需求的软件；贵公司的考勤薪资制度全部可以用针式C/5软件来实现自动统计、结算，并生成直观的Excel报表。主要特点 刷卡拍照，防止代刷卡 Web 版软件，局域网内任意电脑用户可登入系统进行操作和查询 强大的人事资...</content></entry></feed>
