<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[博客 --- 北京线点科技有限公司]]></title>
  <subtitle type="html"><![CDATA[我见青山多妩媚，料青山，见我应如是！jaddy0302@126.com]]></subtitle>
  <id>http://www.xd-tech.com/blog/</id> 
  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.xd-tech.com/blog/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2010-07-28T10:17:28+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=10" label="其他" /> 
	  <updated>2010-07-28T10:17:28+08:00</updated>
	  <published>2010-07-28T10:17:28+08:00</published>
		  <summary type="html"><![CDATA[<br/>关键词:&nbsp;Apache,BSD,GPL,LGPL,MIT,协议,开源,扫盲系列<br/>当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时，”开源”的时代即将到来！<br/>最初来自：sinoprise.com/read.php?tid-662-page-e-fpage-1.html（遗憾的是这个链接已经打不开了），我基本未改动，只是进行了一些排版和整理。<br/>参考文献：<a href="http://www.fsf.org/licensing/licenses/" target="_blank">http://www.fsf.org/licensing/licenses/</a><br/>现今存在的开源协议很多，而经过Open&nbsp;Source&nbsp;Initiative组织通过批准的开源协议目前有58种（<a href="http://www.opensource.org/licenses/alphabetical" target="_blank">http://www.opensource.org/licenses/alphabetical</a>）。我们在常见的开源协议如BSD,&nbsp;GPL,&nbsp;LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码，最好也是选择这些被批准的开源协议。<br/>这里我们来看四种最常用的开源协议及它们的适用范围，供那些准备开源或者使用开源产品的开发人员/厂家参考。<br/>BSD开源协议（original&nbsp;BSD&nbsp;license、FreeBSD&nbsp;license、Original&nbsp;BSD&nbsp;license）<br/>BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用，修改源代码，也可以将修改后的代码作为开源或者专有软件再发布。<br/>但”为所欲为”的前提当你发布使用了BSD协议的代码，或则以BSD协议代码为基础做二次开发自己的产品时，需要满足三个条件：<br/>1.&#160;&#160;&#160;&#160;如果再发布的产品中包含源代码，则在源代码中必须带有原来代码中的BSD协议。&nbsp;<br/>2.&#160;&#160;&#160;&#160;如果再发布的只是二进制类库/软件，则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。&nbsp;<br/>3.&#160;&#160;&#160;&#160;不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。&nbsp;<br/>BSD&nbsp;代码鼓励代码共享，但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码，也允许使用或在BSD代码上开发商业软件发布和销售，因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议，因为可以完全控制这些第三方的代码，在必要的时候可以修改或者二次开发。<br/>Apache&nbsp;Licence&nbsp;2.0（Apache&nbsp;License,&nbsp;Version&nbsp;2.0、Apache&nbsp;License,&nbsp;Version&nbsp;1.1、Apache&nbsp;License,&nbsp;Version&nbsp;1.0）<br/>Apache&nbsp;Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似，同样鼓励代码共享和尊重原作者的著作权，同样允许代码修改，再发布（作为开源或商业软件）。需要满足的条件也和BSD类似：<br/>1.&#160;&#160;&#160;&#160;需要给代码的用户一份Apache&nbsp;Licence&nbsp;<br/>2.&#160;&#160;&#160;&#160;如果你修改了代码，需要再被修改的文件中说明。&nbsp;<br/>3.&#160;&#160;&#160;&#160;在延伸的代码中（修改和有源代码衍生的代码中）需要带有原来代码中的协议，商标，专利声明和其他原来作者规定需要包含的说明。&nbsp;<br/>4.&#160;&#160;&#160;&#160;如果再发布的产品中包含一个Notice文件，则在Notice文件中需要带有Apache&nbsp;Licence。你可以在Notice中增加自己的许可，但不可以表现为对Apache&nbsp;Licence构成更改。&nbsp;<br/>Apache&nbsp;Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。<br/>GPL（GNU&nbsp;General&nbsp;Public&nbsp;License）<br/>我们很熟悉的Linux就是采用了GPL。GPL协议和BSD,&nbsp;Apache&nbsp;Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用，但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux，包括商业公司的linux和linux上各种各样的由个人，组织，以及商业软件公司开发的免费软件了。<br/>GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用，修改后的代码或者衍生代码)GPL&nbsp;协议的产品，则该软件产品必须也采用GPL协议，既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题，还可以享受免费的优势。<br/>由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议，对于使用GPL协议的开源代码，商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。<br/>其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。<br/>LGPL（GNU&nbsp;Lesser&nbsp;General&nbsp;Public&nbsp;License）<br/>LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。<br/>但是如果修改LGPL协议的代码或者衍生，则所有修改的代码，涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用，但不适合希望以LGPL协议代码为基础，通过修改和衍生的方式做二次开发的商业软件采用。<br/>GPL/LGPL都保障原作者的知识产权，避免有人利用开源代码复制并开发类似的产品<br/>MIT（MIT）<br/>MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.<br/>本文来自：<a href="http://www.awflasher.com/blog/archives/939" target="_blank">http://www.awflasher.com/blog/archives/939</a><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=115" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=115</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[海量查询的数据优化（四）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=10" label="其他" /> 
	  <updated>2010-07-15T10:46:50+08:00</updated>
	  <published>2010-07-15T10:46:50+08:00</published>
		  <summary type="html"><![CDATA[2、只要建立索引就能显著提高查询速度<br/>事实上，我们可以发现上面的例子中，第2、3条语句完全相同，且建立索引的字段也相同；不同的仅是前者在fariqi字段上建立的是非聚合索引，后者在此字段上建立的是聚合索引，但查询速度却有着天壤之别。所以，并非是在任何字段上简单地建立索引就能提高查询速度。&nbsp;<br/><br/>从建表的语句中，我们可以看到这个有着1000万数据的表中fariqi字段有5003个不同记录。在此字段上建立聚合索引是再合适不过了。在现实中，我们每天都会发几个文件，这几个文件的发文日期就相同，这完全符合建立聚集索引要求的：“既不能绝大多数都相同，又不能只有极少数相同”的规则。由此看来，我们建立“适当”的聚合索引对于我们提高查询速度是非常重要的。&nbsp;<br/><br/>3、把所有需要提高查询速度的字段都加进聚集索引，以提高查询速度&nbsp;<br/><br/>上面已经谈到：在进行数据查询时都离不开字段的是“日期”还有用户本身的“用户名”。既然这两个字段都是如此的重要，我们可以把他们合并起来，建立一个复合索引（compound&nbsp;index）。&nbsp;<br/><br/>很多人认为只要把任何字段加进聚集索引，就能提高查询速度，也有人感到迷惑：如果把复合的聚集索引字段分开查询，那么查询速度会减慢吗？带着这个问题，我们来看一下以下的查询速度（结果集都是25万条数据）：（日期列fariqi首先排在复合聚集索引的起始列，用户名neibuyonghu排在后列）&nbsp;<br/><br/>（1）sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,title&nbsp;from&nbsp;Tgongwen&nbsp;wh&#101;re&nbsp;fariqi&gt;&#39;2004-5-5&#39;&nbsp;<br/><br/>查询速度：2513毫秒&nbsp;<br/><br/>（2）sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,title&nbsp;from&nbsp;Tgongwen&nbsp;wh&#101;re&nbsp;fariqi&gt;&#39;2004-5-5&#39;&nbsp;and&nbsp;neibuyonghu=&#39;办公室&#39;&nbsp;<br/><br/>查询速度：2516毫秒&nbsp;<br/><br/>（3）sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,title&nbsp;from&nbsp;Tgongwen&nbsp;wh&#101;re&nbsp;neibuyonghu=&#39;办公室&#39;&nbsp;<br/><br/>查询速度：60280毫秒<br/>从以上试验中，我们可以看到如果仅用聚集索引的起始列作为查询条件和同时用到复合聚集索引的全部列的查询速度是几乎一样的，甚至比用上全部的复合索引列还要略快（在查询结果集数目一样的情况下）；而如果仅用复合聚集索引的非起始列作为查询条件的话，这个索引是不起任何作用的。当然，语句1、2的查询速度一样是因为查询的条目数一样，如果复合索引的所有列都用上，而且查询结果少的话，这样就会形成“索引覆盖”，因而性能可以达到最优。同时，请记住：无论您是否经常使用聚合索引的其他列，但其前导列一定要是使用最频繁的列。&nbsp;<br/><br/>（四）其他书上没有的索引使用经验总结&nbsp;<br/><br/>1、用聚合索引比用不是聚合索引的主键速度快&nbsp;<br/><br/>下面是实例语句：（都是提取25万条数据）&nbsp;<br/><br/>sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,reader,title&nbsp;from&nbsp;Tgongwen&nbsp;wh&#101;re&nbsp;fariqi=&#39;2004-9-16&#39;&nbsp;<br/><br/>使用时间：3326毫秒&nbsp;<br/><br/>sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,reader,title&nbsp;from&nbsp;Tgongwen&nbsp;wh&#101;re&nbsp;gid&lt;=250000&nbsp;<br/><br/>使用时间：4470毫秒&nbsp;<br/><br/>这里，用聚合索引比用不是聚合索引的主键速度快了近1/4。&nbsp;<br/><br/>2、用聚合索引比用一般的主键作order&nbsp;by时速度快，特别是在小数据量情况下&nbsp;<br/><br/>sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,reader,title&nbsp;from&nbsp;Tgongwen&nbsp;o&#114;der&nbsp;by&nbsp;fariqi&nbsp;<br/><br/>用时：12936&nbsp;<br/><br/>sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,reader,title&nbsp;from&nbsp;Tgongwen&nbsp;o&#114;der&nbsp;by&nbsp;gid&nbsp;<br/><br/>用时：18843<br/>这里，用聚合索引比用一般的主键作order&nbsp;by时，速度快了3/10。事实上，如果数据量很小的话，用聚集索引作为排序列要比使用非聚集索引速度快得明显的多；而数据量如果很大的话，如10万以上，则二者的速度差别不明显。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=114" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=114</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[海量查询的数据优化（三）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=10" label="其他" /> 
	  <updated>2010-07-06T09:38:40+08:00</updated>
	  <published>2010-07-06T09:38:40+08:00</published>
		  <summary type="html"><![CDATA[<br/>（三）结合实际，谈索引使用的误区&nbsp;<br/><br/>理论的目的是应用。虽然我们刚才列出了何时应使用聚集索引或非聚集索引，但在实践中以上规则却很容易被忽视或不能根据实际情况进行综合分析。下面我们将根据在实践中遇到的实际问题来谈一下索引使用的误区，以便于大家掌握索引建立的方法。&nbsp;<br/><br/>1、主键就是聚集索引&nbsp;<br/><br/>这种想法笔者认为是极端错误的，是对聚集索引的一种浪费。虽然SQL&nbsp;SERVER默认是在主键上建立聚集索引的。&nbsp;<br/><br/>通常，我们会在每个表中都建立一个ID列，以区分每条数据，并且这个ID列是自动增大的，步长一般为1。我们的这个办公自动化的实例中的列Gid就是如此。此时，如果我们将这个列设为主键，SQL&nbsp;SERVER会将此列默认为聚集索引。这样做有好处，就是可以让您的数据在数据库中按照ID进行物理排序，但笔者认为这样做意义不大。&nbsp;<br/><br/>显而易见，聚集索引的优势是很明显的，而每个表中只能有一个聚集索引的规则，这使得聚集索引变得更加珍贵。&nbsp;<br/><br/>从我们前面谈到的聚集索引的定义我们可以看出，使用聚集索引的最大好处就是能够根据查询要求，迅速缩小查询范围，避免全表扫描。在实际应用中，因为ID号是自动生成的，我们并不知道每条记录的ID号，所以我们很难在实践中用ID号来进行查询。这就使让ID号这个主键作为聚集索引成为一种资源浪费。其次，让每个ID号都不同的字段作为聚集索引也不符合“大数目的不同值情况下不应建立聚合索引”规则；当然，这种情况只是针对用户经常修改记录内容，特别是索引项的时候会负作用，但对于查询速度并没有影响。&nbsp;<br/><br/>在办公自动化系统中，无论是系统首页显示的需要用户签收的文件、会议还是用户进行文件查询等任何情况下进行数据查询都离不开字段的是“日期”还有用户本身的“用户名”。&nbsp;<br/><br/>通常，办公自动化的首页会显示每个用户尚未签收的文件或会议。虽然我们的wh&#101;re语句可以仅仅限制当前用户尚未签收的情况，但如果您的系统已建立了很长时间，并且数据量很大，那么，每次每个用户打开首页的时候都进行一次全表扫描，这样做意义是不大的，绝大多数的用户1个月前的文件都已经浏览过了，这样做只能徒增数据库的开销而已。事实上，我们完全可以让用户打开系统首页时，数据库仅仅查询这个用户近3个月来未阅览的文件，通过“日期”这个字段来限制表扫描，提高查询速度。如果您的办公自动化系统已经建立的2年，那么您的首页显示速度理论上将是原来速度8倍，甚至更快。<br/>在这里之所以提到“&nbsp;理论上”三字，是因为如果您的聚集索引还是盲目地建在ID这个主键上时，您的查询速度是没有这么高的，即使您在“日期”这个字段上建立的索引（非聚合索引）。下面我们就来看一下在1000万条数据量的情况下各种查询的速度表现（3个月内的数据为25万条）：&nbsp;<br/><br/>（1）仅在主键上建立聚集索引，并且不划分时间段：&nbsp;<br/><br/>Sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,title&nbsp;from&nbsp;tgongwen&nbsp;<br/><br/>用时：128470毫秒（即：128秒）&nbsp;<br/><br/>（2）在主键上建立聚集索引，在fariq上建立非聚集索引：&nbsp;<br/><br/>sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,title&nbsp;from&nbsp;Tgongwen&nbsp;<br/><br/>wh&#101;re&nbsp;fariqi&gt;&nbsp;dateadd(day,-90,getdate())&nbsp;<br/><br/>用时：53763毫秒（54秒）&nbsp;<br/><br/>（3）将聚合索引建立在日期列（fariqi）上：&nbsp;<br/><br/>sel&#101;ct&nbsp;gid,fariqi,neibuyonghu,title&nbsp;from&nbsp;Tgongwen&nbsp;<br/><br/>wh&#101;re&nbsp;fariqi&gt;&nbsp;dateadd(day,-90,getdate())&nbsp;<br/><br/>用时：2423毫秒（2秒）&nbsp;<br/><br/>虽然每条语句提取出来的都是25万条数据，各种情况的差异却是巨大的，特别是将聚集索引建立在日期列时的差异。事实上，如果您的数据库真的有1000万容量的话，把主键建立在ID列上，就像以上的第1、2种情况，在网页上的表现就是超时，根本就无法显示。这也是我摒弃ID列作为聚集索引的一个最重要的因素。&nbsp;<br/><br/>得出以上速度的方法是：在各个sel&#101;ct语句前加：declare&nbsp;@d&nbsp;datetime<br/>set&nbsp;@d=getdate()&nbsp;<br/><br/>并在sel&#101;ct语句后加：<br/>sel&#101;ct&nbsp;[语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=113" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=113</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[海量数据的查询优化（二）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=10" label="其他" /> 
	  <updated>2010-06-25T13:36:25+08:00</updated>
	  <published>2010-06-25T13:36:25+08:00</published>
		  <summary type="html"><![CDATA[<br/>（二）何时使用聚集索引或非聚集索引&nbsp;<br/><br/>下面的表总结了何时使用聚集索引或非聚集索引（很重要）。<br/>动作描述&nbsp;<br/>使用聚集索引&nbsp;<br/>使用非聚集索引&nbsp;<br/><br/>列经常被分组排序&nbsp;<br/>应&nbsp;<br/>应&nbsp;<br/><br/>返回某范围内的数据&nbsp;<br/>应&nbsp;<br/>不应&nbsp;<br/><br/>一个或极少不同值&nbsp;<br/>不应&nbsp;<br/>不应&nbsp;<br/><br/>小数目的不同值&nbsp;<br/>应&nbsp;<br/>不应&nbsp;<br/><br/>大数目的不同值&nbsp;<br/>不应&nbsp;<br/>应&nbsp;<br/><br/>频繁更新的列&nbsp;<br/>不应&nbsp;<br/>应&nbsp;<br/><br/>外键列&nbsp;<br/>应&nbsp;<br/>应&nbsp;<br/><br/>主键列&nbsp;<br/>应&nbsp;<br/>应&nbsp;<br/><br/>频繁修改索引列&nbsp;<br/>不应&nbsp;<br/>应<br/>事实上，我们可以通过前面聚集索引和非聚集索引的定义的例子来理解上表。如：返回某范围内的数据一项。比如您的某个表有一个时间列，恰好您把聚合索引建立在了该列，这时您查询2004年1月1日至2004年10月1日之间的全部数据时，这个速度就将是很快的，因为您的这本字典正文是按日期进行排序的，聚类索引只需要找到要检索的所有数据中的开头和结尾数据即可；而不像非聚集索引，必须先查到目录中查到每一项数据对应的页码，然后再根据页码查到具体内容。&nbsp;<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=112" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=112</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[海量查询的数据优化（一）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=10" label="其他" /> 
	  <updated>2010-06-18T11:21:42+08:00</updated>
	  <published>2010-06-18T11:21:42+08:00</published>
		  <summary type="html"><![CDATA[<br/>一、因情制宜，建立“适当”的索引&nbsp;<br/><br/>建立“适当”的索引是实现查询优化的首要前提。&nbsp;<br/><br/>索引（index）是除表之外另一重要的、用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据时，索引提供了对数据的快速访问。事实上，没有索引,数据库也能根据Sel&#101;ct语句成功地检索到结果，但随着表变得越来越大，使用“适当”的索引的效果就越来越明显。注意，在这句话中，我们用了“适当”这个词，这是因为，如果使用索引时不认真考虑其实现过程，索引既可以提高也会破坏数据库的工作性能。&nbsp;<br/><br/>（一）深入浅出理解索引结构&nbsp;<br/><br/>实际上，您可以把索引理解为一种特殊的目录。微软的SQL&nbsp;SERVER提供了两种索引：聚集索引（clustered&nbsp;index，也称聚类索引、簇集索引）和非聚集索引（nonclustered&nbsp;index，也称非聚类索引、非簇集索引）。下面，我们举例来说明一下聚集索引和非聚集索引的区别：&nbsp;<br/><br/>其实，我们的汉语字典的正文本身就是一个聚集索引。比如，我们要查“安”字，就会很自然地翻开字典的前几页，因为“安”的拼音是“an”，而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的，那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字，那么就说明您的字典中没有这个字；同样的，如果查“张”字，那您也会将您的字典翻到最后部分，因为“张”的拼音是“zhang”。也就是说，字典的正文部分本身就是一个目录，您不需要再去查其他目录来找到您需要找的内容。&nbsp;<br/><br/>我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。&nbsp;<br/><br/>如果您认识某个字，您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字，不知道它的发音，这时候，您就不能按照刚才的方法找到您要查的字，而需要去根据“偏旁部首”查到您要找的字，然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法，比如您查“张”字，我们可以看到在查部首之后的检字表中“张”的页码是672页，检字表中“张”的上面是“驰”字，但页码却是63页，“张”的下面是&nbsp;“弩”字，页面是390页。很显然，这些字并不是真正的分别位于“张”字的上下方，现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序，是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字，但它需要两个过程，先找到目录中的结果，然后再翻到您所需要的页码。&nbsp;<br/><br/>我们把这种目录纯粹是目录，正文纯粹是正文的排序方式称为“非聚集索引”。&nbsp;<br/><br/>通过以上例子，我们可以理解到什么是“聚集索引”和“非聚集索引”。&nbsp;<br/><br/>进一步引申一下，我们可以很容易的理解：每个表只能有一个聚集索引，因为目录只能按照一种方法进行排序。&nbsp;<br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=111" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=111</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[网络舆情的特点及应对]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=10" label="其他" /> 
	  <updated>2010-06-08T14:57:29+08:00</updated>
	  <published>2010-06-08T14:57:29+08:00</published>
		  <summary type="html"><![CDATA[　近年来，网络舆情已经成为社会舆论的重要组成部分，党的十七大报告中也明确提出要“加强网络文化建设和管理，营造良好网络环境”。如何正确看待和有效应对网络舆情是我们党和政府必须深入思考的重要问题。从政府响应、信息透明度、政府公信力三项常规指标和恢复秩序、动态反应、官员问责三项特殊指标的角度就地方政府的网络舆情应对处置能力做出了分析，并提出了一系列应对网络舆情的建议，这对我们以后处理网络舆情具有非常重要的参考价值。网络舆情之所以具有如此重大的影响力，这跟其传播的平台——网络是分不开的，要想正确应对网络舆情，就必须从网络以及网络舆情的特点出发，有针对性地采取应对策略。笔者认为在网络舆情的诸多特点中，有几点须引起重视。<br/>　　网络舆情产生的突发性<br/>　　由于借助论坛、博客等网络平台传播信息简单直接且身份隐蔽，网民能够快速、大胆地发表意见，呼唤声援,在短时间内形成一种力量,以期引起社会和政府的重视。因此网络舆情的形成往往非常迅速，事先没有征兆。一个热点事件的存在加上一种情绪化的意见就能形成星火燎原之势。当前民众对网络运用的热情较之部分地方机关单位的懒于应对,也助长了部分网民对官方“不作为”的负面情绪。这就要求我们要做好网络舆情的应急预案，在舆情发生后最短时间内采取应对措施。由于网上的信息量十分巨大，仅依靠人工的方法难以应对网上海量信息的收集和分析，需要加强相关信息技术的研究，形成一套自动化的网络舆情分析系统，及时发现网络舆情，争取先手。<br/>　　情绪、观点的传染性<br/>　　在应对网络舆情时，不仅需要注重对客观事实真相的揭示，还须重视网民中各种情绪、观点的引导。在网络中“三人成虎”的效果非常明显，即使错误的情绪或观点，如果被多个网民传播，就容易产生极强的说服力，而当一个人形成第一印象后，这种认识就很难改变。到目前为止的绝大多数网络舆情在初始阶段均体现出对某个社会现象的普遍化情绪，这种情绪在网民中迅速传播，产生普遍认识与共鸣，进而推动舆情向更广的范围和更深的领域漫延扩散。如杭州飙车案中，网民先是表现出对死者的悲痛同情、对肇事者漠视生命行为的鄙视和对“富二代”狂妄态度的憎恶，在警方公布70码后，网民又产生对该结论的猜疑与愤怒情绪。在网络舆情中，随着时间的推移，如果没有新的激发因素的介入，网民的情绪会逐渐减退，并朝着理性化方向发展，这时观点的传染性日益重要，官方、民众、专家学者的不同观点在网民中传播、讨论，引导事件走向理性解决。因此，在网络舆情发生后须注意两点，一是仔细分析、掌握真相。在网络舆情发生之初，要充分梳理网民存在的各种情绪，加以正确的安抚、引导，在制定应对方案时，也应考虑网民的情绪。在杭州飙车案发生之初，网民中就有很强的仇富情绪，认为“富人犯法难以与庶民同罪”，而杭州警方草率公布车速为70码，无异于火上浇油，网民对杭州司法机关的不信任和不满情绪由此而生，这种情绪一直到法院判决后都没有得到改观，应引以为戒。二是快速反应，公开透明。依据事实尽快形成官方观点，通过网络、新闻媒体等向公众表达，力求取得公众的认同，使官方的观点能够在网民中广泛传播，民众的知情权得到满足，谣言就会失去市场，相反，麻木、沉默都有可能加剧情绪对立。同时，要重视民间学者的观点，在一些事件中，政府本身就是事件当事人，政府的观点难以得到网民的充分认同，此时民间学者的相对专业和权威的观点则可以起到意想不到的作用。<br/>　　主流观点的道德性<br/>　　道德是社会公认的行为正当与否的衡量标准，一般受到文化、民族、传统、意识形态等因素的影响。在网络中鱼龙混杂，形形色色的观点充斥其中，但最终形成主流的往往是符合中国社会一般道德的观点，这是由于道德是一种为社会普遍认可的行为规范，符合绝大多数民众的价值观、人生观，故能取得多数民众的认同。如在许霆盗窃案、邓玉娇杀人案中，虽然许多法学学者在网上发表了从法学层次上研讨许霆、邓玉娇罪与非罪、罪轻罪重的文章，但是在非法律专业网民中占据主导地位的依然是依据一般道德的认识。在社会舆论中，道德比法律更容易获得民众的普遍认可，因此，在网络舆情发生后，须认真研究其中反映出的公众道德取向，在有客观认识的基础上进行适当的引导、教育。若因其与法律法规等其他社会规范的精神不尽吻合而草率批判、打压，很可能会触发公众的抵触情绪，使问题更难解决，正确的舆论导向也是提高公民素质的重要方法。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=110" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=110</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[如何做好垂直搜索？(二）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2010-05-26T16:05:03+08:00</updated>
	  <published>2010-05-26T16:05:03+08:00</published>
		  <summary type="html"><![CDATA[如何做好垂直搜索？（二）<br/>搜索引擎是一个产品，给用户提供服务的产品，需要长期的不断的改进升级调整才能持续不断的提用户体验，需要满足用户不断增长并且变化的需求、需要不断适应网络的变化。这是因为网络环境是不断变化的、网民的需求也是不断变化的。千万不要把搜索当成项目来做，做完了撂那让用户去用那你肯定没戏。在搜索引擎领域是讲体验的、新的引擎如果用户体验一旦整体上有领先一年以上的差距并且持续2年，那前期的领先者的优势就荡然无存，因为搜索引擎的用户转移成本相对而言是比较低的而且口碑是最佳的传播方式。如果一个搜索引擎不能持续不断的技术创新理念创新，那对于这个搜索引擎来说就等于死亡。我们一般形容搜索引擎的领先是以时间计算的。在用户体验面前，任何的炒作都显得很渺小。&nbsp;<br/><br/>作垂直搜索引擎，麻雀虽小，但是五脏俱全。无论理念文化、产品管理、应用、技术都和搜索引擎的楔形理论没有什么区别。所以要做好一垂直搜索必须解决这几个方面。&nbsp;<br/><br/>楔形的尖:垂直搜索技术。&nbsp;&nbsp;<br/>垂直搜索技术主要分为两个层次:模板级和网页库级。模板级是针对网页进行模板设定或者自动生成模板的方式抽取数据，对网页的采集也是针对性的采集，适合规模比较小、信息源少且稳定的需求，优点是快速实施、成本低、灵活性强，缺点是后期维护成本高，信息源和信息量小。网页库级就是在信息源数量上、数据容量上检索容量上、稳定性可*性上都是网页库搜索引擎级别的要求，和模板方式最大的区别是对具体网页不依赖，可针对任意正常的网页进信息采集信息抽取……。这就导致这种方式数据容量上和模板方式有质的区别，但是其灵活性差、成本高。当然模板方式和网页库级的方式不是对立的，这两者对于垂直搜索引擎来说是相互补充的，因为技术只是手段，目的是切反用户之需。本文谈及的技术主要是指网页库级别垂直搜索引擎技术。&nbsp;<br/><br/>搜索引擎的确是一项对技术要求比较高的应用，几年前相关的人才也比较少。现在搜索技术人才多了，相关的技术和技术的应用得相对以前而言更加成熟，但是竞争也更加激烈了。垂直搜索大致需要以下技术：<br/><br/>1.&nbsp;信息采集技术<br/>2.&nbsp;网页信息抽取技术&nbsp;<br/>3.&nbsp;信息的处理技术，包括:重复识别、重复识别、聚类、比较、分析、语料分析等&nbsp;<br/>4.&nbsp;语意相关性分析&nbsp;<br/>5.&nbsp;分词&nbsp;<br/>6.&nbsp;索引&nbsp;<br/>信息采集技术，垂直搜索引擎spider和网页库的spider相比应该是更加专业，可定制化。可定向性的采集和垂直搜索范围相关的网页忽略不相关的网页和不必要的网页，选择内容相关的以及适合做进一步处理的网页深度优先采集、对页面有选择的调整更新频率……，采集可通过人工设定网址和网页分析url方式共同进行。垂直搜索对信息的更新有着特别的要求，根据这些特点可以从以下几点考虑1.信息源的稳定性(不能让信息源网站感觉到spider的压力)2.抓取的成本问题3.对用户体验改善程度。根据以上几点制定一种比较好的策略，要做到恰到好处。策略上可以评估网站/网页更新的系数、网站/网页的重要系数、用户点击系数(或曝光系数)、网站稳定系数……，根据这些系数来确定对这些网站/网页更新的频率。再由于新信息和更新了的信息list页面前面或者首页，所以对网页进行很好的分级可以以低成本很好的解决更新问题，系数比较低的网页一月up&#100;ate一次，稍微高点的一周up&#100;ate一次、中等的几天到一天一次、高的几小时到几分钟一次。类似搜索引擎的大库、周库、日库，小时库……&nbsp;<br/><br/>基于视觉网页块分析技术，模拟IE浏览器的显示方式，对网页进行解析。根据人类视觉原理，把网页解析处理的结果，进行分块，再根据需要，对这些块进行处理，如:采集定向、介绍抽取和一些必要的内容的抽取正文抽取……&nbsp;<br/><br/>结构化信息抽取技术，将网页中的非结构化数据按照一定的需求抽取成结构化数据。有两种方式，简单的就是模板方式，另外就是对网页不依赖web结构化信息抽取方式，这两种方式可以互取长处，以最简单最有效的办法满足需求。垂直搜索引擎和通用搜索引擎最大的区别就是对网页信息结构化抽取后再结构化数据进行深度的处理，提供专业的搜索服务。所以web结构化信息抽取的技术水平是决定垂直搜索引擎质量的重要技术指标。其实web结构化信息抽取在百度、google早已经广泛应用了，如:MP3、图片搜索、google的本地搜索就是从网页库抽取出企业信息，添加到其地图搜索中的，google通过这种技术正在颠覆做内容的方式。同样的技术应用还在qihoo、sogou购物、shopping等各种应用中体现。&nbsp;<br/><br/>简单的语法分析，简单的语法分析在搜索引擎中非常重要，可以通过简单的语法分析来改善数据的质量，低成本的获得某类信息，改善排序，寻找需要的内容……&nbsp;<br/><br/>信息处理技术，信息处理包括的范围比较广，主要包括去重、聚类、分析……，这根据需要相关的技术就非常多。&nbsp;<br/><br/>数据挖掘，找出您的信息的关联性对于垂直搜索来说非常重要，有效，可以在这些相关性上为用户提供更细致的服务。&nbsp;<br/><br/>分词技术，面向搜索的分词技术，建立和您的行业相关的词库。注意这是面向搜索的分词，不是面向识别和准确的分词。就这个工作安排十几个人不停的维护也不会嫌多。&nbsp;<br/><br/>索引技术，索引技术对于垂直搜索非常关键，一个网页库级的搜索引擎必须要支持分布索引、分层建库、分布检索、灵活的更新、灵活的权值调整、灵活的索引和灵活的升级扩展、高可*性稳定性冗余性。还需要支持各种技术的扩展，如偏移量计算等。&nbsp;<br/><br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=109" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=109</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[如何做好垂直搜索？（一)]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2010-05-18T16:52:45+08:00</updated>
	  <published>2010-05-18T16:52:45+08:00</published>
		  <summary type="html"><![CDATA[<br/>垂直搜索技术主要分为两个层次:模板级和网页库级。模板级是针对网页进行模板设定或者自动生成模板的方式抽取数据，对网页的采集也是针对性的采集，适合规模比较小、信息源少且稳定的需求，优点是快速实施、成本低、灵活性强，缺点是后期维护成本高，信息源和信息量小。网页库级就是在信息源数量上、数据容量上检索容量上、稳定性可*性上都是网页库搜索引擎级别的要求，和模板方式最大的区别是对具体网页不依赖，可针对任意正常的网页进信息采集信息抽取。这就导致这种方式数据容量上和模板方式有质的区别，但是其灵活性差、成本高。当然模板方式和网页库级的方式不是对立的，这两者对于垂直搜索引擎来说是相互补充的，因为技术只是手段，目的是切返用户之需。本文谈及的技术主要是指网页库级别垂直搜索引擎技术。&nbsp;<br/><br/>搜索引擎的确是一项对技术要求比较高的应用，几年前相关的人才也比较少。现在搜索技术人才多了，相关的技术和技术的应用得相对以前而言更加成熟，但是竞争也更加激烈了。垂直搜索大致需要以下技术:&nbsp;<br/><br/>1.&nbsp;信息采集技术&nbsp;<br/>2.&nbsp;网页信息抽取技术&nbsp;<br/>3.&nbsp;信息的处理技术，包括:重复识别、重复识别、聚类、比较、分析、语料分析等&nbsp;<br/>4.&nbsp;语意相关性分析&nbsp;<br/>5.&nbsp;分词&nbsp;<br/>6.&nbsp;索引&nbsp;本文先引用几句话:&nbsp;&nbsp;<br/>“确解用户之意，切返用户之需。”&nbsp;<br/>“门户网站都想着是怎样省钱，而不是怎样花钱来买技术。”&nbsp;<br/>“搜索引擎不是人人都能做的领域，进入的门槛比较高。”&nbsp;<br/>“只是优秀还不够，最好的方式是将一件事情做到极致。”(google十大真理)&nbsp;<br/>“做搜索引擎需要专注”&nbsp;“对于一项排到第四的业务，门户很难做到专注。”<br/>“用户无法描述道他要找什么，除非让他看到想找的东西。”&nbsp;<br/><br/>“所谓楔形，其实就是个倒三角，倒三角的尖端部分代表搜索技术，中部是基于技术的产品应用平台，最上端是对整个搜索引擎用户人群文化的认识和理解，以及现代公司竞争最关键也最捉摸不定的所谓品牌。”&nbsp;<br/><br/>“楔形”蕴涵的另一个意义是:楔子要打到墙里，尖端是否锐利很重要，但楔子的破坏性有多强，究竟能在墙面挤压出多大的空间，其中端、后端的沉稳与厚重才是关键。&nbsp;<br/><br/>搜索引擎的技术和理念都是需要时间和经验的积累的，更是需要长期不断的完善进步的，绝对不要认为可以一蹴而就，要达到一个相对成熟领先的搜索引擎从开始到领先的周期一般需要是四年。着急不得。原因是因为搜索引擎太复杂，而且“用户无法描述他要找什么，除非让他看到想找的东西。”&nbsp;一切都需要摸索，尝试，问题需要一个一个解决，用户的需要得一点点的挖掘。&nbsp;<br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=108" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=108</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[中文搜索引擎技术揭密:系统架构（二）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=3" label="全文检索" /> 
	  <updated>2010-05-10T16:45:35+08:00</updated>
	  <published>2010-05-10T16:45:35+08:00</published>
		  <summary type="html"><![CDATA[<br/>搜索引擎的系统架构<br/>&nbsp;&nbsp;&nbsp;&nbsp;这里主要针对全文检索搜索引擎的系统架构进行说明，下文中提到的搜索引擎如果没有特殊说明也是指全文检索搜索引擎。搜索引擎的实现原理，可以看作四步：从互联网上抓取网页→建立索引数据库→在索引数据库中搜索→对搜索结果进行处理和排序。　　<br/>&nbsp;1、从互联网上抓取网页<br/>利用能够从互联网上自动收集网页的网络蜘蛛程序，自动访问互联网，并沿着任何网页中的所有URL爬到其它网页，重复这过程，并把爬过的所有网页收集到服务器中。<br/>2、建立索引数据库<br/>&nbsp;&nbsp;&nbsp;由索引系统程序对收集回来的网页进行分析，提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等)，根据一定的相关度算法进行大量复杂计算，得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性)，然后用这些相关信息建立网页索引数据库。<br/>&nbsp;3、在索引数据库中搜索<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当用户输入关键词搜索后，分解搜索请求，由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。<br/>4、对搜索结果进行处理排序<br/>所有相关网页针对该关键词的相关信息在索引库中都有记录，只需综合相关信息和网页级别形成相关度数值，然后进行排序，相关度越高，排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。<br/>搜索引擎的索引和搜索<br/>数据的索引分为三个步骤：网页内容的提取、词的识别、标引库的建立。<br/>&nbsp;&nbsp;&nbsp;&nbsp;互联网上大部分信息都是以HTML格式存在，对于索引来说，只处理文本信息。因此需要把网页中文本内容提取出来，过滤掉一些脚本标示符和一些无用的广告信息，同时记录文本的版面格式信息[1]。词的识别是搜索引擎中非常关键的一部分，通过字典文件对网页内的词进行识别。对于西文信息来说，需要识别词的不同形式，例如：单复数、过去式、组合词、词根等，对于一些亚洲语言(中文、日文、韩文等)需要进行分词处理[3]。识别出网页中的每个词，并分配唯一的wordID号，用于为数据索引中的标引模块服务。<br/>标引库的建立是数据索引中结构最复杂的一部分。一般需要建立两种标引：文档标引和关键词标引。文档标引分配每个网页一个唯一的docID号，根据docID标引出在这个网页中出现过多少过wordID，每个wordID出现的次数、位置、大小写格式等，形成docID对应wordID的数据列表；关键词标引其实是对文档标引的逆标引，根据wordID标引出这个词出现在那些网页(用wordID表示)，出现在每个网页的次数、位置、大小写格式等，形成wordID对应docID的列表。<br/>搜索的处理过程是对用户的搜索请求进行满足的过程，通过用户输入搜索关键字，搜索服务器对应关键词字典，把搜索关键词转化为wordID，然后在标引库中得到docID列表，对docID列表进行扫描和wordID的匹配，提取满足条件的网页，然后计算网页和关键词的相关度，根据相关度的数值返回前K篇结果(不同的搜索引擎每页的搜索结果数不同)返回给用户。如果用户查看的第二页或者第多少页，重新进行搜索，把排序结果中在第K+1到2*K的网页组织返回给用户。<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=107" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=107</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[中国银行经济情报预警平台]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=10" label="其他" /> 
	  <updated>2010-05-05T14:57:04+08:00</updated>
	  <published>2010-05-05T14:57:04+08:00</published>
		  <summary type="html"><![CDATA[<br/><br/>客户介绍：<br/><br/>北京讯达恒通信息科技有限公司（“讯达恒通”）是一家专业的金融信息工程公司。讯达恒通以先进的金融管理理念和成熟的信息技术为基础，为银行及其他金融服务机构提供风险管理、决策智能支持、信息科技蓝图规划、信用风险情报预警等多种解决方案，并协助其实施。&nbsp;<br/><br/>讯达恒通的服务可以有效地提升其客户的核心竞争力，应对不断增加的竞争压力。&nbsp;技术和业务相结合、咨询和实施相结合、国际经验和本土环境相结合，是讯达恒通工作的理念。在这样的理念下，讯达恒通汇集了金融工程人才，银行业务及管理人才，金融和IT科技的复合型人才。&nbsp;<br/><br/>讯达恒通致力于引进国际先进经验并创新地运用于国内金融机构。<br/><br/>项目背景：<br/><br/>千里眼经济情报预警平台是北京迅达恒通信息技术有限公司建立的商业信息服务系统，面向国内各大银行提供在线的金融风险预警信息服务，为相关工作人员提供及时、准确地情报信息。<br/><br/>平台的其中两大块功能，一块是互联网的信息、数据抓取，即网络雷达，另一块是海量数据的检索，管理功能，管理功能包括了发布，增加，编辑，删除等等。<br/><br/>其对全文检索产品的要求是响应速度快，不仅在于检索，还在于新增数据的索引，索引的编辑，删除等等，而且对于索引的编辑、删除操作可能非常的频繁。由于是为金融机构提供服务，对于产品的稳定性，无故障运行能力也相当高。<br/><br/>项目内容：<br/><br/><br/>讯达恒通最后选择了线点科技作为其软件产品的供应商，并且线点科技也承担了部分接口开发和集成的工作。<br/><br/>目前，该平台已经提供给多家金融机构进行体验和使用。&nbsp;<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=106" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=106</id> 
  </entry>	
		
</feed>