<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>flyfoxs的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=flyfoxs</link>
<description>flyfoxs的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[[转载] 不管懂不懂经济，看了都会豁然开朗！]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=flyfoxs&amp;id=6407</link>
<author>flyfoxs</author>
<pubDate>2005/6/6 17:26:02</pubDate>
<description><![CDATA[
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=left>
<TBODY>
<TR>
<TD class=f vAlign=top width="100%">
<TABLE cellSpacing=0 cellPadding=2 width="100%">
<TBODY>
<TR>
<TD vAlign=bottom noWrap align=left><SPAN class=txt5></SPAN></TD>
<TD class=txt4 vAlign=top align=right><SPAN></SPAN></TD></TR></TBODY></TABLE></TD></TR><!-- ********* ItemTemplate.BodyColPostHeaderEnd (/1 row) ************* //--><!-- ********* ItemTemplate.BodyColPostBodyStart (1 row) ************* //-->
<TR>
<TD class=fh3a vAlign=top height=100>
<TABLE cellSpacing=2 cellPadding=0 width="100%" align=left>
<TBODY>
<TR>
<TD width=1 rowSpan=2><IMG height=250 src="http://www.dormforce.net/Forum/Themes/default/images/spacer.gif" width=1> </TD>
<TD class=txt4 style="PADDING-TOP: 4px" vAlign=top width="100%" colSpan=3>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 width="90%" align=left>
<TBODY>
<TR>
<TD class=txt4 vAlign=top align=left><SPAN>关于人民币是否升值问题，网上争论很多，有的说不升，有的说不升就亏了中国人民。<BR>都有道理，但是都缺少理论的深度。也不了解经济本是兵无常势，水无常形，岂有一定<BR>之规。希望本文能为诸位的观点作一了断。<BR>　　近期来美国和日本压人民币升值的话题，成为了热点。美国和日本指责中国政府干<BR>预外汇自由，要求中国实行浮动汇率，放开资本管制。而中国则坚定或者委婉地予以拒<BR>绝。要说清楚这个问题，得首先从黄金谈起。大家知道，人类最初的货币是黄金和白银<BR>。黄金和白银由于不易变质，产量又不是很多，易于切割，成为了所有国家都接受的财<BR>富符号。当时欧洲殖民主义者对黄金产生狂热的迷恋，他们寻找新大陆的重要目的就是<BR>寻找黄金。后来的不少文献在谈到这段历史时，大都指责资本主义赤裸裸的掠夺财富，<BR>进行资本原始积累的罪恶本性。事实上，如果把当时的欧洲看作是相对孤立的整体的话<BR>，也就是说，假如掠夺来的黄金主要只在欧洲内部使用，那么这些黄金对于欧洲来说，<BR>谈不上什么原始资本积累，而只是相当于货币扩张而已。简单地说，欧洲黄金的增多，<BR>就跟今天的多印钞票一样，轻度的黄金扩张可以刺激经济，而过分的黄金扩张只会让经<BR>济发疯。<BR>　　当然，黄金总量如果不增长，就跟今天的中央银行停止发行钞票一样，经济也会因<BR>为缺乏足够的货币而停滞萧条。<BR>　　黄金就其质地来说，非常适合作为货币。但是它并不是具备货币的所有要求。这体<BR>现在它的供应上。黄金的供应是自然决定的，有时候多有时候少。而国家经济的发展往<BR>往需要稳定的货币供应。特别是世界经济发展到一定总量时，黄金就再也跟不上经济的<BR>增长，而成为经济的制约因素。<BR>　　在货币的进化过程中，开始出现纸钞。最开始的纸钞就是借条。银庄（相当于今天<BR>的私人银行）发出纸钞，拿着纸钞的人可以在银庄的各个分庄换取银子或者黄金。由于<BR>发出去的钞票随时都可能换成黄金或者银子，所以各个银庄必须在有等量的黄金或者银<BR>子时，才敢发钞票。这就是大家常常听说的：发放钞票要以黄金外汇等储备为基础。当<BR>然，这种说法反映的是当时的现实。有些学经济的还用这句话来解释当今的货币政策，<BR>就是胡扯了。<BR>　　在银庄发放钞票的过程中，发现自己可以比黄金或者银子拥有量更多的发钞票——<BR>因为钞票不可能立刻要兑换成黄金。特别是对于那些大银庄，他们的钞票因为信誉好，<BR>甚至可以直接像黄金白银那样来买东西，人们也就不在乎是不是一定要兑换成黄金白银<BR>了。这样，银庄发出的钞票远远超过了其黄金白银拥有量。这就是信誉货币的始端。它<BR>意味着，货币可以凭空的印刷出来。但是无论过去还是现在，这种扩张都是通过信贷完<BR>成的。因此不少经济学者坚持：即便货币可以凭空创造，但是也只能以信贷的方式进行<BR>扩张。这种说法完全没有理论依据，我可以预言，如果说货币财政政策要进行改革，那<BR>么首先将会在货币的发行方式上对传统理论的突破。<BR>　　由于银庄发放钞票可以超过它实际拥有的财富，只要不发生挤兑，它就实质上是占<BR>有了这些多余的财富。这就类似于现代国家发行钞票的货币税。同时钞票由私人发行，<BR>也不利于国家对经济的宏观调控。所以在货币的演化过程中，国家开始集中发钞权。国<BR>家发行钞票，最初也是以黄金作为本位，也就是国家要拥有多少黄金才发多少钞票，钞<BR>票可以自由兑换黄金。<BR>但是后来随着经济的发展，货币总量需求增大，黄金开始紧缺，国家不得不在黄金储量<BR>之外发行过量的钞票。此时金本位崩溃。再后来黄金成为国际间的重要支付手段，国家<BR>感觉有必要自己进行掌握，所以国家就开始终止钞票和黄金的自由兑换，而把有限的黄<BR>金用于国家控制。这样就进入彻底的信用货币时代，黄金作为一国内的支付手段退出流<BR>通领域。国家发行钞票完全根据自己的需要，并获取发行钞票的巨大利润。因为他们付<BR>出的是纸，印出的却是钱。<BR>基于同样的原理，国际外汇市场也走在同样的演化路径上。<BR>　　二战过后，各国把黄金交放到美国央行，美国按照与黄金的一定比例投放美圆。各<BR>国都接受美圆为世界通用的货币。这个过程相对是比较公平的，因为美国要严格按照其<BR>黄金储备发放美圆，而且各国凭借美圆可以自由提取美国的黄金，因此不存在剥削他国<BR>财富之说。但是很快，由于世界经济的迅速发展，不要说美国的黄金储备，就是世界的<BR>黄金总产量都跟不上经济的发展，美国要满足各国把美圆作为外汇储备以及世界货币的<BR>需要，不得不开始超出黄金储量来印刷美圆。在谈到这段历史时，要纠正一个错误，就<BR>是美国大量印刷美圆，来解决它的外汇逆差，并不一定是因为美国经济的衰退造成的。<BR>即便美国的经济不衰退，世界经济的发展也将促使它在黄金储备以外发行美圆。特别是<BR>，美国自身的经济发展越快，就越有多印美圆的需求。如果美国的经济长期处于顺差，<BR>则美圆就无法发到世界上去，也就成为不了世界货币。<BR>　　由于美圆发行的总量远远超过了美国的黄金储备，美圆相对黄金就再也无法维持以<BR>前的比率，美圆不得不进行贬值。此时世界掀起抛售美圆，提取黄金的热潮，如果放任<BR>下去，美国央行的黄金可能被耗尽，于是美国政府宣布，停止美圆与黄金的兑换，美圆<BR>与黄金脱钩。这就是布雷顿森林体系的垮台。<BR>　　布雷顿森林体系的垮台，不是由于哪个国家的经济衰退引起的，而是世界经济发展<BR>的必然历史趋势。<BR>　　虽然布雷顿森林体系垮台，美圆凭借其历史惯例和强大的经济实力，作为世界货币<BR>的地位仍然不可动摇。而且这个时候美圆的霸权开始显现出来，美圆开始作为美国攫取<BR>其他国家财富的重要手段而存在。<BR>　　形象一些说，此时美国类似世界央行。美国发行的美圆已经成为信用本位的货币。<BR>它可以凭空印刷美圆，用于购买它国生产的实物财富。也就是说，美国可以用白纸来换<BR>取它国的原材料、以及其它实物产品。有人会说，当美国用美圆购买它国产品时，其它<BR>国家也就获得了美圆，其它国家可以持美圆反过来购买美国产品，因此不存在说美国霸<BR>权不霸权的问题。这个问题涉及到两个方面。一个方面与目前美圆贬值的问题密切相关<BR>，这个在后面我会阐述。这里我谈它的第一方面，就是美圆的货币税问题。<BR>　　虽然拥有美圆的国家可以向美国购买产品，从而使得与美国的交换成为等价交换，<BR>但是一方面它是各个国家的重要外汇储备手段，随着经济的增长，储备也会逐渐增多；<BR>另一方面美圆作为世界货币，它必定要在世界其他各国流通，而且世界经济发展越快，<BR>在各国流通的总量也就增长越快。因此从局部看，不断有美圆流出或者流进美国，但总<BR>体上，还是以美国向外输出美圆，向内输入实物财富为主。这就是大家看到为什么往往<BR>都是美国逆差的真正原因。这长期停滞在美国之外的美圆，就是美国向各国收取的货币<BR>税。美国凭借货币税的特权，直接无偿掠夺别国财富。因此大家再看到美国对世界上其<BR>它国家进行援助时，应当知道它可能仅仅归还了从这些国家掠夺过来的部分财富而已。<BR>同时大家再看到美国逆差，而且美国拼命指责其他国家造成它的逆差时，千万不要轻易<BR>得出美国真的吃亏的结论，它是在贼喊捉贼，流血的说不定恰好是你自己。<BR>的确，如果美国美圆输出过多，这些输出的美圆如果反过来购买美国的产品，无疑是美<BR>国财富的损失，其收的货币税就少了。所以，美国采取了另外一个措施：贬值。我个人<BR>相信，美圆保持一定时期的稳定，然后贬值，然后再保持一定时期的稳定，然后再贬值<BR>，是美国的一项长期既定战略而不是什么突发危机使然。当其他国家都储存太多的美圆<BR>储备后，例如中国这样的国家不吃不喝勒紧裤腰带的积累了3000多亿美圆的外汇储备，<BR>美国就开始考虑贬值了。美国贬值货币主要通过降低利率，扩张财政支出，以及央行干<BR>预来完成。通过这些措施，使得美圆供应量增大，美圆贬值。美国的降低利率和扩张财<BR>政支出，对本国经济也要造成影响，譬如经济可能过热。但是美国对于国内经济，虽然<BR>我并不能断定它是有意为之还是对经济运行还不是太熟悉，总之在它执行美圆贬值手段<BR>时，严格的控制了国内的需求，也就是说通过供需失衡，使得美圆利率下调，美圆贬值<BR>，同时美国的经济还不过热。我已经声明，不排除是美国对经济还不熟悉的原因导致其<BR>供需失衡。但是，如果换上是我，如果对经济比较了解的话，不排除不采取某些相似手<BR>段。特别是美国刚刚完成一场战争，也给贬值造成了有利条件。<BR>　　假使美圆贬值10%，则中国外汇储备硬生生损失300-350亿美圆。放之世界，各国又<BR>要损失多少？美国又要掠夺多少？<BR>　　当然，美国虽然容许一定的逆差，但是逆差太大，给它带来的影响也是不利的。美<BR>国一方面通过贬值减少逆差，另一方面，特别是小布什执政，削弱福利，经济萎缩，失<BR>业增加，因此增加出口外贸需求就成为拉动经济的重点。美国出口产品多是附加值高的<BR>高科技产品，出口再多，对于美国的实物财富减少也影响很小。所以增加出口，并以出<BR>口获取的财富用来进口低附加值的实物财富，也是美国经济的重点。而美圆贬值，降低<BR>了其出口价格，增加了出口。<BR>　　以美国和中国两国而言，美圆贬值，人民币升值，对于今后的进出口影响自不必说<BR>，最狠的一招还在后面。<BR>　　美国和日本指责中国政府干预外汇市场。其要求主要有两个，一个是人民币要升值<BR>，一个是资本市场管制要放开，也就是说资本可以自由兑换。这两个要求足以对中国经<BR>济构成致命的杀伤力。<BR>　　一种货币的贬值可以有多种手段。例如美国，是通过调节美圆利率等国内经济政策<BR>手段来实现。但是这种方法运用不当的话，往往会伤人一千，自伤八百，因为这些国内<BR>经济政策不但影响外汇市场，还威胁本国国内经济。坦率的说，这也是西方经济理论本<BR>身的缺陷导致的。而中国采取的是另外一种方式，就是直接通过央行的买进卖出，来保<BR>证外汇市场人民币的汇率。同时中国还采取资本管制，资本并不能自由进出中国市场。<BR>因此中国可以在相对屏蔽本国经济的情况下对外汇市场进行干预。但无论如何，货币是<BR>否贬值，大多都是由政府政策决定的。无论美国也好还是日本也好，其货币的贬值都是<BR>政府干预的结果，而不是什么他们口口声声说的市场、自由。日本有官员说虽然利率由<BR>政府决定，但是汇率应当由市场决定的说法简直是搞笑，这是典型的话语霸权。都是干<BR>预手段，都导致货币贬值的后果，难道惟独你那种干预是市场经济，我这种干预就是政<BR>府干预？说句实话，目前西方通行的外汇体系本身就有很多缺陷，难道弥补这些缺陷，<BR>不跟你犯同样的错误就是政府干预？<BR>　　他们的真正目的，除了上面说的以外，还在于一个更加阴险的措施。<BR>　　在他们要求人民币升值之时或者之前，美国或者日本的金融投机家开始把大量资金<BR>暗地流入中国。如果中国资本市场开放，这种流入就更加容易。资金流入中国后，兑换<BR>成人民币，等着人民币升值。人民币升值后，这些金融大鳄就开始抛出人民币，购买美<BR>圆。中国央行不可能也跟着抛出人民币购买美圆，如果那样的话人民币的汇率就会下跌<BR>。中国央行为了维持人民币汇率，必须购买人民币，抛出美圆等外汇储备。本来中国的<BR>人民币之所以表面上看要升值，是因为中国经济失衡，需求不足，物价低迷，大量人民<BR>币游移于市场之外的结果，特别是近年来大量资金外逃，据统计外逃资金达3万亿之巨，<BR>并不是人民币真的就该升值了。如果那时资本市场开放，外逃资金加上中国本土藏于地<BR>下的人民币倾巢而出，再加上金融大鳄利用金融杠杆，以一元资金调动十元的比率，来<BR>冲击人民币，可能最终有两个结果。比较乐观的结果是中国央行外汇储备足够，最终咬<BR>牙撑住了人民币汇率，但是此时由于已经大量的抛出美圆，所以外汇储备也是损失殆尽<BR>，国家经济倒退几年乃至十多年。第二个结果更为恐怖，就是央行发现无法支撑，最终<BR>放任人民币汇率变化。此时人民币汇率将一路下跌，人民币越下跌，人们越是抛出人民<BR>币，越抛出人民币，人民币汇率越下跌，直到最后崩溃为止。这就是东南亚金融危机的<BR>翻版。到那个时候，中国彻底萎靡不振。<BR>这是人民币升值可能带来的最严重的后果。即便中国仍然在资本管制，但目前各种投机<BR>资本仍然通过各种途径进入中国200多亿美圆就是迹象。<BR>　　那么，可不可以人民币不升值，但资本放开管制呢？如张五常主张的那样？相形而<BR>言，我宁愿人民币浮动一下汇率，同时不开放资本兑换，也不愿意固定人民币汇率下开<BR>放资本市场。因为浮动汇率，游资要来冲击人民币，至少我可以通过行政手段加强管制<BR>，而开放资本市场，在目前人民币总体上看可能反而是贬值的情况下看，如果国外金融<BR>大鳄连同地下人民币狙击中国，即便人民币不升值，也可能耗去大量外汇储备，经济遭<BR>受重大损失。<BR>　　从另一方面，我们又不禁要问，即便美国不耍手腕来抢夺中国手中的外汇，外汇对<BR>于中国就有什么意义吗？<BR>　　长期以来，中国由于教育、社保福利等政策上的失误，以及中西部经济差距、城乡<BR>经济差距的进一步增大，致使内需严重不足。内需的不足又导致工资进一步降低，反过<BR>来又致使内需进一步下降。所以中国把经济的发展寄托于外需，希求通过外贸把产品卖<BR>出去。但是中国的产品多是低级产品，在国际市场上的竞争主要是靠廉价。而这种廉价<BR>又主要依靠中国的廉价劳动力来完成的。这是一个非常严重的问题：如果长久的压低劳<BR>动力的工资，则国内内需将没有启动的可能，中国会进一步依赖外需；而依赖外需又需<BR>要再压低劳动力的工资，以在国际市场上竞争，而压低劳动力工资又将继续压抑内需。<BR><BR>　　现在抽出身来回看我们的国内经济，当真是一幅奇观：<BR>　　我们不断的生产大量产品源源不断的输往国外，换回大量的外币，国内人民却无法<BR>消费。换回的大量外币又被国家通过购买美国等外国的国债等方式，流回美国等国家。<BR><BR>　　这样，中国以纸币标志的GDP不断增加，但是用于国内消费的财富却不见增长甚至可<BR>能下降。<BR>　　又由于内需不振，外需就占了总需求的相当比重，所以人们就以为外需更加重要，<BR>进一步不惜抑制内需来扩张外需，于是国家经济进一步走向歧形。其表现形式是外汇出<BR>现大量顺差，国内需求萎靡不振。<BR>　　夫一国之经济，根本应依赖于物质财富的消费，此种消费乃是下一轮物质财富再生<BR>产的源泉，岂能守着几张花花绿绿的废纸来富强邦国。美国常年保持外汇逆差，却成为<BR>了经济超级大国，非常重要的一点便在此。中国外贸所得外汇，不用于购买国外相应物<BR>质财富以供国内发展，别说4千亿美圆储备，就算有4万亿美圆又与废纸何异？可叹了枉<BR>自紧缩了国内需求，却是与他人作嫁衣裳。<BR>　　外贸之输赢，不在你逆差还是顺差，而在你产品的附加值是否高。倘若产品的附加<BR>值低，你顺差越多，国力便越是衰退。不过此经济分析，不是此文内容，放作以后分析<BR>。<BR>　　目前中国央行正竭力抑制人民币升值，其采取的干预方式乃是标准的西方宏观货币<BR>政策，即买进美圆，抛出人民币。为防止抛出人民币导致通货膨胀，另一方面又紧缩银<BR>根，削弱正常途径的货币投放数量，以求达到一国货币总量的稳定。这种方法非常危险<BR>，因为虽然好象总量上货币稳定，但是加强了经济的不均衡，正常的商业运作被紧缩性<BR>的货币政策限制，抛出的人民币却大量的游移于市场之外。结果中国的经济将处于这样<BR>一个两难境地：经济继续紧缩，需求继续疲惫，而大量人民币成为地上悬河，随时可能<BR>崩溃。因此正常经济一旦稍有起色，央行就不得不担惊受怕，怕这悬河垮了，造成通货<BR>膨胀，所以收紧钱口袋。而收紧钱口袋，经济便没有起色。所以两派经济学家吵架，一<BR>派说中国经济要通货膨胀，一派说中国还在通货紧缩，都有道理又都没有道理。关键怕<BR>的就是这道悬河，是悬在头顶上的一柄剑。如果没有这道悬河，中国经济究竟是紧缩还<BR>是膨胀，局势就会明朗，争论就会少得多。<BR>　　中国经济要正常运转，必须削掉这道悬河。加强对垄断利润的税收，加强打击资金<BR>外逃，实行财产登记制度，增设遗产税。加大教育投入，加大社保医疗等公共福利设施<BR>投入。切实保障工人权利，提高我国劳动力素质，不要老是以廉价劳动力为荣。把外向<BR>型经济转为内向型经济。以上措施，可以相当于中央银行紧缩银根给投资造成的影响一<BR>样，但是却可以刺激投资的积极性和增加消费，削去悬河，因此与仅仅紧缩银根不可同<BR>日而语。对于目前的外汇储备，除了保留必要的用来稳定市场的部分外，应当用以购买<BR>战略资源或者技术，通过这种方式把美圆抛出去，以绝国际社会之话柄，并同时让外汇<BR>切切实实地用来建设中国，而非像守财奴一般抱着外汇压箱底。要是中国以后被迫抛出<BR>美圆之时，是通过吸纳人民币来抛出美圆，中国央行还自以为是执行外汇调控政策，则<BR>中国数十年之积累，转眼便灰飞烟灭，一场空矣。<BR>　　一句话：解决外汇困境，攘外必先安内。 </SPAN></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>]]></description>
</item><item>
<title><![CDATA[[收藏]证券和银行之间转帐系统的设计 -- 作者：hsower]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=flyfoxs&amp;id=2638</link>
<author>flyfoxs</author>
<pubDate>2005/2/1 15:46:24</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=23&amp;ID=13889&amp;replyID=34925&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=hsower" target=_blank>hsower</A><BR>以下为原文：<BR><BR><B>证券和银行之间转帐系统的设计</B><BR><BR>为了方便股民在他的股票资金帐户和银行帐户之间方便的进行资金的划拨，需要设计一个应用层协议来实现这个功能。一般都是基于TCP/IP协议设计高层的应用协议，并通过特定的应用程序实现这个功能。现在的实现都是基于客户/服务器模式来实现这个功能，证券公司做为客户端，而银行做为服务器端。这样，证券公司很大程度上只能选择一家银行来实现帐户的划拨，这样对于在其他银行开户的用户就相对不是很方便。<BR>　　我们设计了一个通过WWW服务器之间的通讯实现转帐的协议体系结构，能够保证一个证券公司同时可以和多个银行进行交互，而同时，一个银行也可以同时和多个证券公司进行交互。<BR>我们协议的设计是基于XML的标记模型（元素/属性）而建立的。我们的目的之一是建立一个和实现无关的通讯协议。每一个消息由一个有效的XML文档组成，在通讯的两端（银行和证券）通过发送和接收文档来进行交互。<BR>　　实际上我们的协议是建立在HTTP基础上，是通过HTTP来进行传输的。我们采用的是HTTP的POST/Response机制。我们协议的本身没有考虑安全问题，因为W3C组织正在制定一些非常可靠的安全机制，我们的通讯安全完全可以通过这些机制来实现。同时加密也可以在传输层实现，比如通过SSL，PGP或者是S/MIME。通讯双方可以通过在通讯层使用证书的方法进行认证。
<P></P>
<P></P>
<P>　　协议设计的总体说明<BR>　　用户的资金能够在证券公司和银行之间进行划拨的前提是用户必须在银行和证券公司都拥有自己的帐号，比如在证券公司用户需要有股票资金帐户，在银行需要有活期帐户（只有活期存款可以随时进行划拨）。我们设计的协议不考虑这些帐号的开户，即我们认为这些帐号是已经建立起来了。<BR>　　我们设计的协议允许用户既可以在银行，也可以在证券公司办理转帐功能。只要这两个机构已经连网并且用户在这两个机构都拥有自己的帐号。实际上，比如在银行端,银行会保存和该用户活期存款帐号相关的所有信息，如果用户需要在银行端办理转帐功能，只要用户能够提供银行活期存款帐号的号码和正确的密码，同时又能够提供证券公司的资金帐号和密码，系统首先会在本地查找该活期存款帐号是否存在，密码是否相符，如果是的话，会判断该活期存款帐号是否已经和用户提供的证券公司的资金帐号相关联，如果已经相关联的话，就返回一个错误信息，表示用户已经办理过该业务。如果还没有相关联的话，银行通讯服务器就会和证券公司的相关的通讯服务器相联系，如果证券公司返回信息认为用户提供的资金帐号和密码都是正确的话，这样就在银行和证券公司的相关的数据库中分别加上标志，来表明某个特定的资金帐号已经和某个特定的活期存款帐号相关联。这样，转帐功能就建立起来了。同时，会随机生成一个授权码，该授权码是用户进行转帐时所需要键入的密码，用来表示用户有权限执行这个操作。事实上，在证券公司端办理转帐功能的基本流程也和这个相类似。<BR>　　当用户已经办理了转帐功能以后，事实上，用户可以自己通过浏览器（需要支持XML格式）自行进行资金帐户的划拨。在划拨的时候需要注意的是，只有帐户中的余额大于要划拨的款项的时候才能进行划拨。在满足这个条件的情况下，用户既可以把活期存款中的部分款项划拨到资金帐户中，也可以把资金帐户中的款项划拨到活期存款中。大大方便了用户资金的调度和操作。<BR>　　我们设计的协议主要是针对证券公司的转帐服务器和银行的转帐服务器之间的通讯而言的，一个证券公司的转帐服务器可以和多个银行的转帐服务器进行通讯，而一个银行的转帐服务器也可以同时和多个证券公司的转帐服务器进行通讯。事实上，可以认为这些通讯服务器都是WWW服务器。</P>
<P></P>
<P>　　协议设计细节描述<BR>　　下面我们具体描述协议的设计和相关的实现的细节：<BR>　　协议包总体格式<BR>　　首先我们来看整个通讯协议的总的体系结构：<BR>　　＜ !ELEMENT 信息负载 （信息头，（请求信息|响应信息））＞<BR>　　＜ !ATTLIST 信息负载<BR>　　　　版本号 CDATA #REQUIRED<BR>　　　　时间标签 CDATA #REQUIRED<BR>　　　＞<BR>　　一条消息主要有三个元素组成：信息负载，信息头和请求信息或者是响应信息。信息负载是对这个数据包属性的描述，信息头用来表示信息的发送者和接收者，请求信息或者是响应信息是消息的主体内容。</P>
<P></P>
<P>　　信息负载包括两个属性：<BR>　　　版本号：用来表示通讯所使用的版本，必须保证通讯双方使用相同的版本号。这里我们设置为1.0<BR>　　　时间标签：用来表示该数据包发出的时间。实际时间标签的格式我们设定为：YYYY：MM：DDTHH:MI:SS,其中T是日期和时间的一个分隔标志符。比如：2000:03:01T10:22:33就是一个有效的时间标签。</P>
<P></P>
<P>　　下面是关于信息头的定义：<BR>　　　＜!ELEMENT 信息头(信息发送者,信息接收者)＞<BR>　　　　　信息头主要有两部分组成，信息的发送者和信息的接收者。用来表示消息的发出方和消息的接收方。消息发送发出方和接收方拥有相同的属性。它们的定义格式如下：<BR>　　　＜ !ELEMENT 信息发送者 EMPTY＞<BR>　　　＜ !ATTLIST 信息发送者<BR>　　　　　名称 CDATA #REQUIRED<BR>　　　　　发送者ID CDATA #REQUIRED<BR>　　　　　角色 （银行|证券）#REQUIRED<BR>　　　＞<BR>　　　＜ !ELEMENT 信息接收者 EMPTY＞<BR>　　　＜ !ATTLIST 信息接收者<BR>　　　　　名称 CDATA #REQUIRED<BR>　　　　　接收者ID CDATA #REQUIRED<BR>　　　　　角色 （银行|证券）#REQUIRED<BR>　　　＞<BR>　　它们都拥有三个属性：其中名称是指消息发送方或者是接收方的名称，比如：工商银行上海市分行就是一个有效的发送方或者是接收方的名称。接收者ID是用来唯一的标识一个发送方或者是接收方，在实现的时候有两种机制。一种是简单的用URL作为对发送方或者是接收方的唯一标识。另外，可以对每一个发送方或者是接收方建立一个UUID，保证唯一的标识一个发送方或者接收方。角色是指消息发送或接收者的身份，是银行还是证券公司。</P>
<P></P>
<P>　　请求信息协议格式<BR>　　下面我们来介绍信息的主体部分，首先我们介绍请求信息，以下是请求信息的定义：<BR>　　＜!ELEMENT 请求信息 %交易形式＞<BR>　　＜!ATTLIST 请求信息<BR>　　　请求信息ID CDATA #REQUIRED<BR>　　＞<BR>　　＜ !ENTITY %交易形式 "转帐开户+|转帐|交易查询+|交易管理|＞"<BR>　　请求信息主要有转帐开户，转帐，交易查询和交易管理这四大块，这是和转帐业务相关的主要功能。请求信息只包括一个属性，就是请求信息的ID号，请求信息ID号在服务器A到服务器B的所有的数据包中必须是唯一的，即每一个数据包必须要有一个唯一的ID号。在一个数据包里面可以同时递交几个转帐开户申请，这就给实现带来了一定的灵活性。服务器可以迅速处理每一个用户的申请，也可以根据具体情况批量的进行处理。同时，服务器也可以同时递交多个交易查询。</P>
<P></P>
<P>　　转帐开户交易格式 <BR>　　我们首先来看转帐开户交易：<BR>　　　＜!ELEMENT 转帐开户 数据组＞<BR>　　　＜!ATTLIST 转帐开户<BR>　　　　　开户消息ID CDATA #REQUIRED<BR>　　　　　交易代码 CDATA #REQUIRED<BR>　　　　　交易提出 （股民|储户|银行系统|证券系统） #REQUIRED<BR>　　　＞<BR>　　转帐开户元素有三个属性：开户消息ID保证在所有一次递交的所有的开户申请业务中，每一个都有一个唯一的ID号。即必须保证该ID在一个包范围内的唯一性。交易代码是为了使机器能够更加方便的处理该业务。交易提出指明该业务是由谁触发的，是股民、储户、银行端的服务器系统还是证券端的服务器系统。<BR>　　转帐业务包含了一个数据组，关于数据组的内容在下面还有详细的描述。这里，简单说明一下，数据组主要是用来表示在服务器之间进行和交易相关的业务数据的传递，比如资金帐号、交易金额等数据。</P>
<P></P>
<P>　　转帐交易格式 <BR>　　接下来我们来看转帐交易：<BR>　　＜!ELEMENT 转帐 （资金帐户转出活期帐户转入+|<BR>　　　　活期帐户转出资金帐户转入+|<BR>　　　　交易结果查询+）＞ <BR>　　＜!ELEMENT 资金帐户转出活期帐户转入 数据组＞<BR>　　＜!ATTLIST 资金帐户转出活期帐户转入<BR>　　　　资金帐户转出活期帐户转入消息ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 （股民|储户） #REQUIRED<BR>　　　＞</P>
<P></P>
<P>　　＜!ELEMENT 活期帐户转出资金帐户转入 数据组＞<BR>　　＜!ATTLIST 活期帐户转出资金帐户转入<BR>　　　　活期帐户转出资金帐户转入消息ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 （股民|储户） #REQUIRED<BR>　　＞</P>
<P></P>
<P>　　＜!ELEMENT 交易结果查询 （相关消息状态+）＞<BR>　　＜!ATTLIST 交易结果查询<BR>　　　　交易结果查询消息ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 (银行系统|证券系统） #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 相关消息状态 数据组＞<BR>　　＜!ATTLIST 相关消息状态<BR>　　　　请求消息的ID CDATA #REQUIRED<BR>　　　　要查询的消息的ID CDATA #REQUIRED<BR>　　＞ </P>
<P></P>
<P>　　转帐交易是业务的核心，它实际上是处理在银行和证券之间的用户的资金的划拨，主要有两种模式，资金帐户转出活期帐户转入和活期帐户转出资金帐户转入。</P>
<P></P>
<P>　　我们来分析资金帐户转出活期帐户转入这种情况，当股民或者是储户提出转帐请求时，考虑一般性，我们设定是股民提出转帐请求，证券公司端的服务器将分析股民要求转帐的金额是否小于资金帐户的余额，如果成立的话，减少该资金帐户的余额，然后该数据包就发送到银行的服务器，银行的服务器如果能正确处理该条消息的话，就增加相关的活期存款的余额，并把操作成功的结果返回给证券方的服务器。</P>
<P></P>
<P>　　但是有可能证券服务器在发出了这个交易命令后收不到应答信息（可能是包丢失的原因）。正是因为这个原因，所以需要一个交易结果的查询。交易结果的查询可以同时查询多条已经发出但没有及时应答的那些消息。在相关消息状态元素中的那个属性：要查询的消息的ID就是没有得到响应的消息的ID号。请求消息的ID这个属性表示和该请求相关的请求包的ID号。这两个属性的组合唯一的决定了一条消息。比如证券服务器方发出了三条资金帐户转出活期帐户转入消息，但很久没有响应，就可以发出交易结果查询这个指令来向银行端服务器查该三条消息的执行情况。</P>
<P></P>
<P>　　交易查询格式 <BR>　　在分析了转帐交易以后，我们来分析交易查询的实现。交易查询的协议格式的定义如下：<BR>　　＜!ELEMENT 交易查询 (当日交易明细查询+|<BR>　　　　历史交易明细查询+|<BR>　　　　活期帐户余额查询+|<BR>　　　　资金帐户余额查询+)<BR>　　＞<BR>　　＜!ELEMENT 当日交易明细查询 数据组＞<BR>　　＜!ATTLIST 当日交易明细查询<BR>　　　　当日交易明细查询ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 股民|储户） #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 历史交易明细查询 数据组＞<BR>　　＜!ATTLIST 历史交易明细查询<BR>　　　　历史交易明细查询ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 股民|储户） #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 活期帐户余额查询 数据组＞<BR>　　＜!ATTLIST 活期帐户余额查询<BR>　　　　活期帐户余额查询ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 CDATA #FIXED "股民"<BR>　　＞<BR>　　＜!ELEMENT 资金帐户余额查询 数据组＞<BR>　　＜!ATTLIST 资金帐户余额查询<BR>　　　　资金帐户余额查询ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 CDATA #FIXED "储户"<BR>　　＞</P>
<P></P>
<P>　　交易查询主要是由股民或者是储户发起的。主要有四种形式：查询当日交易明细，历史交易明细查询，活期帐户余额查询和资金帐户余额查询。其中如果用户是在证券那一端查询的话，如果查询当日交易明细，证券服务器就会和银行服务器通讯，银行服务器返回当日交易明细中的所有成功交易明细。如果用户是在银行那一端的话，就刚好相反。这样做的目的是保证用户看到的肯定是已经成功的交易。同时，如果用户在证券端查资金帐户余额和在银行端查询活期存款余额和本协议没有关系，因为都可以直接在本地服务器上找到。这里值得注意的是在一个数据包里面（实际上是一个XML文档）可以同时发送多个用户的请求。<BR>　　交易管理格式 <BR>　　下面看交易管理的协议格式：<BR>　　＜!ELEMENT 交易管理 (银行日终对帐|证券日终对帐|<BR>　　　　封闭转帐交易功能|开放转帐交易功能|<BR>　　　　修改授权码)<BR>　　＞<BR>　　＜!ELEMENT 银行日终对帐 数据组＞<BR>　　＜!ATTLIST 银行日终对帐<BR>　　　　银行日终对帐ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 CDATA #FIXED "银行系统"<BR>　　　　明细文件 CDATA #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 证券日终对帐 数据组＞<BR>　　＜!ATTLIST 证券日终对帐<BR>　　　　证券日终对帐ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 CDATA #FIXED "证券系统"<BR>　　　　明细文件 CDATA #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 封闭转帐交易功能 数据组＞<BR>　　＜!ATTLIST 封闭转帐交易功能<BR>　　　　封闭转帐交易功能ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 （股民|储户|银行系统|证券系统） #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 开放转帐交易功能 数据组＞<BR>　　＜!ATTLIST 开放转帐交易功能<BR>　　　　开放转帐交易功能ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 （股民|储户|银行系统|证券系统） #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 修改授权码 数据组＞<BR>　　＜!ATTLIST 修改授权码<BR>　　　　修改授权码ID CDATA #REQUIRED<BR>　　　　交易代码 CDATA #REQUIRED<BR>　　　　交易提出 （股民|储户） #REQUIRED<BR>　　＞</P>
<P></P>
<P>　　因为在包传送过程中，有一些交易没有得到确认，所以必须在一天的业务结束后，银行和证券双方进行相互对帐。这是通过银行日终对帐和证券日终对帐两个消息来完成的。在日终对帐元素中包含一个属性为明细文件，实际上它是当日所有转出和转入的交易的明细所在的文件的名称。在具体实现的时候，系统可以根据这个属性通过FTP来得到该文件，以便银行和证券双方得到一个详细的交易明细互相进行对帐。用户、银行和证券三方都可以根据自己的特殊的情况要求暂时封闭转帐交易功能，也可以要求开放转帐交易功能。用户可以在系统工作时段要求更改授权码。<BR>　　响应信息协议格式<BR>　　证券方和银行方都可以向对方的服务器发出请求，然后接收请求的服务器在处理了该请求以后，向发出请求的服务器返回响应消息。<BR>　　协议对请求的响应的协议格式定义：<BR>　　＜!ELEMENT 响应信息(响应应答+)＞<BR>　　＜!ATTLIST 响应信息<BR>　　　　响应信息ID CDATA #REQUIRED<BR>　　＞<BR>　　＜!ELEMENT 响应应答 数据组*＞<BR>　　＜!ATTLIST 响应应答<BR>　　　　应答代码 CDATA #REQUIRED<BR>　　　　应答代码描述 CDATA #REQUIRED<BR>　　　　请求消息的ID CDATA #IMPLIED<BR>　　　　相关消息的ID CDATA #IMPLIED<BR>　　＞<BR>　　每一个响应消息包都有一个响应消息ID用来唯一的标识该响应数据包。一个响应消息中可以包含多个响应应答。因为在一个请求包中可能包含多个请求，比如在一个要求转帐开户的数据包中可能要求同时对几个用户进行转帐功能的建立。所以需要同时对这几个请求消息进行答复。其中在响应应答元素中的应答代码，我们采用三位的数字字符。比如200表示消息成功处理。301表示活期帐号不存在等等。请求消息的ID就是那个请求数据包的唯一的标识号，而相关消息的ID就是指该数据包中的某一个特定的请求内容，比如请求对一笔资金帐户转出活期帐户转入的查询。其中数据组是指对该该请求相关的需要返回的数据项的一个集合。<BR>　　数据组描述<BR>　　下面我们定义了数据组和数据项的格式：<BR>　　＜!-- 数据组描述 --＞<BR>　　＜! ELEMENT 数据组 (数据项)+ ＞</P>
<P></P>
<P>　　＜!-- 数据项描述 --＞<BR>　　＜ ! ELEMENT 数据项 EMPTY＞<BR>　　＜ ! ATTLIST 数据项<BR>　　　　数据元名称 CDATA #REQUIRED <BR>　　　　类型 CDATA #REQUIRED<BR>　　　　长度 CDATA #REQUIRED<BR>　　　　是否固定长度 (是|否） #REQUIRED<BR>　　　　数据元内容 CDATA #REQUIRED<BR>　　＞<BR>　　数据组由数据项组成，根据交易的特定，不同的交易请求包含不同的数据组，而对不同的交易的响应也包括不同的数据组。每一个数据项都定义了该数据项的名称，类型，长度，是否固定长度和数据项的实际的内容。<BR>　　一个实际的交互例子<BR>　　下面我们看一个股民开户的实际的一个交互过程的例子：<BR>　　请求的数据包为：<BR>　　＜?xml version="1.0"?＞<BR>　　＜!DOCTYPE 资金划拨<BR>　　　　SYSTEM "<A class=contentlink href="http://www.somestandard.org/" target=_blank>http://www.somestandard.org/</A>银行证券信息交换协议.dtd" <BR>　　＞<BR>　　＜信息负载<BR>　　　　版本号="1.0"<BR>　　　　时间标签="2000-01-01T02:02:23"<BR>　　　＞<BR>　　＜信息头＞<BR>　　＜信息发送者<BR>　　　　名称="Stock Corporation"<BR>　　　　发送者ID="4af37b30-2c35-11d2-be4a-204c4f4f5020"<BR>　　　　角色="证券"<BR>　　/＞<BR>　　＜信息接收者<BR>　　　　名称="Bank Corporation"<BR>　　　　接收者ID="3af37b50-2635-1172-b24a-26604f478021"<BR>　　　　角色="银行"<BR>　　/＞<BR>　　＜/信息头＞<BR>　　＜请求信息<BR>　　　　请求信息ID="3434234334"＞<BR>　　＜股民开户<BR>　　　　开户消息ID="2342342334"<BR>　　　　交易代码="1540"<BR>　　　　交易提出="证券系统"<BR>　　＞<BR>　　＜数据组＞<BR>　　＜数据项<BR>　　　　数据元名称="资金帐号"<BR>　　　　类型="数字字符"<BR>　　　　长度="19"<BR>　　　　是否固定长度="否"<BR>　　　　数据元内容="000000000018"<BR>　　＜/＞<BR>　　＜数据项<BR>　　　　数据元名称="资金帐号密码"<BR>　　　　类型="二进制字符"<BR>　　　　长度="8"<BR>　　　　是否固定长度="是"<BR>　　　　数据元内容="********"<BR>　　＜/＞<BR>　　＜数据项<BR>　　　　数据元名称="证券公司代码"<BR>　　　　类型="数字字符"<BR>　　　　长度="6"<BR>　　　　是否固定长度="是"<BR>　　　　数据元内容="123111"<BR>　　＜/＞<BR>　　＜数据项<BR>　　　　数据元名称="活期帐号代码"<BR>　　　　类型="二进制字符"<BR>　　　　长度="25"<BR>　　　　是否固定长度="否"<BR>　　　　数据元内容="2300232045018"<BR>　　＜/＞<BR>　　＜数据项<BR>　　　　数据元名称="活期帐号密码"<BR>　　　　类型="数字字符"<BR>　　　　长度="8"<BR>　　　　是否固定长度="是"<BR>　　　　数据元内容="********"<BR>　　＜/＞<BR>　　＜数据项<BR>　　　　数据元名称="银行代码"<BR>　　　　类型="数字字符"<BR>　　　　长度="6"<BR>　　　　是否固定长度="是"<BR>　　　　数据元内容="444222"<BR>　　＜/＞<BR>　　＜数据项<BR>　　　　数据元名称="交易日期时间"<BR>　　　　类型="数字符号字符"<BR>　　　　长度="19"<BR>　　　　是否固定长度="否"<BR>　　　　数据元内容="2000-01-01T02:02:23"<BR>　　＜/＞<BR>　　＜/数据组＞<BR>　　＜/股民开户＞<BR>　　＜/请求信息＞<BR>　　＜/信息负载＞<BR>　　实际上该文档从证券服务器被发送到银行服务器上，如果银行服务器成功的处理了该请求，它返回的文档应该是如下的形式：<BR>　　＜?xml version="1.0"?＞<BR>　　＜!DOCTYPE 资金划拨<BR>　　　　SYSTEM "<A class=contentlink href="http://www.somestandard.org/" target=_blank>http://www.somestandard.org/</A>银行证券信息交换协议.dtd" <BR>　　＞<BR>　　＜信息负载<BR>　　　　版本号="1.0"<BR>　　　　时间标签="2000-01-01T02:03:45"<BR>　　＞<BR>　　＜信息头＞<BR>　　＜信息发送者<BR>　　　　名称="Bank Corporation"<BR>　　　　发送者ID="3af37b50-2635-1172-b24a-26604f478021"<BR>　　　　角色="银行"<BR>　　/＞<BR>　　＜信息接收者<BR>　　　　名称="Stock Corporation"<BR>　　　　接收者ID="4af37b30-2c35-11d2-be4a-204c4f4f5020"<BR>　　　　角色="证券"<BR>　　/＞<BR>　　＜/信息头＞<BR>　　＜响应信息<BR>　　　　响应信息ID="4587874878"<BR>　　＞<BR>　　＜响应应答<BR>　　　　应答代码="200"<BR>　　　　应答代码描述 ="成功交易"<BR>　　　　请求消息的ID="3434234334"<BR>　　　　相关消息的ID="2342342334"<BR>　　＞<BR>　　＜数据组＞<BR>　　＜数据项<BR>　　　　数据元名称="授权码"<BR>　　　　类型="数字字符"<BR>　　　　长度="10"<BR>　　　　是否固定长度="是"<BR>　　　　数据元内容="0012300454"<BR>　　＜/＞<BR>　　＜数据项<BR>　　　　数据元名称="交易日期时间"<BR>　　　　类型="数字符号字符"<BR>　　　　长度="19"<BR>　　　　是否固定长度="否"<BR>　　　　数据元内容="2000-01-01T02:03:45"<BR>　　＜/＞<BR>　　＜/数据组＞<BR>　　＜/响应应答＞<BR>　　＜/响应信息＞<BR>　　＜/信息负载＞</P>
<P></P>
<P>　　主要数据项的内容<BR>　　＜数据项＞<BR>　　　＜数据元名称＞资金帐号＜数据元名称＞<BR>　　　＜类型＞数字字符＜/类型＞<BR>　　　＜长度＞19＜/长度＞<BR>　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　＜数据元名称＞活期帐号＜数据元名称＞<BR>　　　＜类型＞数字字符＜/类型＞<BR>　　　＜长度＞25＜/长度＞<BR>　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　＜数据元名称＞授权码＜数据元名称＞<BR>　　　＜类型＞数字字符＜/类型＞<BR>　　　＜长度＞10＜/长度＞<BR>　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　＜数据元名称＞交易金额＜数据元名称＞<BR>　　　＜类型＞数字字符＜/类型＞<BR>　　　＜长度＞12＜/长度＞<BR>　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　＜数据元名称＞银行流水号＜数据元名称＞<BR>　　　＜类型＞数字字符＜/类型＞<BR>　　　＜长度＞12＜/长度＞<BR>　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞证券公司流水号＜数据元名称＞<BR>　　　　＜类型＞数字字符＜/类型＞<BR>　　　　＜长度＞12＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞银行代码＜数据元名称＞<BR>　　　　＜类型＞数字字符＜/类型＞<BR>　　　　＜长度＞6＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　＜数据元名称＞银行名称＜数据元名称＞<BR>　　　＜类型＞数字字母符号字符＜/类型＞<BR>　　　＜长度＞50＜/长度＞<BR>　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞证券公司代码＜数据元名称＞<BR>　　　　＜类型＞数字字符＜/类型＞<BR>　　　　＜长度＞6＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞证券公司名称＜数据元名称＞<BR>　　　　＜类型＞字母数字字符＜/类型＞<BR>　　　　＜长度＞50＜/长度＞<BR>　　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞资金帐号密码＜数据元名称＞<BR>　　　　＜类型＞二进制字符＜/类型＞<BR>　　　　＜长度＞8＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞活期帐号密码＜数据元名称＞<BR>　　　　＜类型＞二进制字符＜/类型＞<BR>　　　　＜长度＞8＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞活期帐号余额＜数据元名称＞<BR>　　　　＜类型＞数字字符＜/类型＞<BR>　　　　＜长度＞12＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞资金帐号余额＜数据元名称＞<BR>　　　　＜类型＞数字字符＜/类型＞<BR>　　　　＜长度＞12＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞交易日期时间＜数据元名称＞<BR>　　　　＜类型＞数字符号字符＜/类型＞<BR>　　　　＜长度＞19＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞用户姓名＜数据元名称＞<BR>　　　　＜类型＞数字字母字符＜/类型＞<BR>　　　　＜长度＞12＜/长度＞<BR>　　　　＜是否固定长度＞是＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞用户身份证＜数据元名称＞<BR>　　　　＜类型＞数字＜/类型＞<BR>　　　　＜长度＞18＜/长度＞<BR>　　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞用户地址＜数据元名称＞<BR>　　　　＜类型＞数字字母符号字符＜/类型＞<BR>　　　　＜长度＞80＜/长度＞<BR>　　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞用户电话＜数据元名称＞<BR>　　　　＜类型＞数字符号字符＜/类型＞<BR>　　　　＜长度＞14＜/长度＞<BR>　　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR>　　＜数据项＞<BR>　　　　＜数据元名称＞城市编号＜数据元名称＞<BR>　　　　＜类型＞数字字符＜/类型＞<BR>　　　　＜长度＞5＜/长度＞<BR>　　　　＜是否固定长度＞否＜是否固定长度＞<BR>　　＜/数据项＞<BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=23&amp;ID=13889&amp;replyID=34925&amp;skin=1" target=_blank>参与讨论本主题</A><BR></P>]]></description>
</item><item>
<title><![CDATA[[收藏]Google是我亲戚 -- 作者：Coral]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=flyfoxs&amp;id=2616</link>
<author>flyfoxs</author>
<pubDate>2005/1/31 21:00:52</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=54&amp;ID=14144&amp;replyID=35683&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=Coral" target=_blank>Coral</A><BR>以下为原文：<BR><BR><B>Google是我亲戚</B><BR><BR>作者：恶贼钟林 来源：朝九晚五-Google是我亲戚 更新时间：2004-8-10 <BR>转自：IT学习者<BR>
<P></P>
<P>此文将介绍如何让你的网站成为google搜索中的焦点，如果你是一名网站技术人员，读完此文你将有所收获。 </P>
<P>一、让google找倒你</P>
<P>如果你搜索某类关键词，出现关键词的前几名网页并非如SOHU,SINA,163等门户网站，而是其他专业性突出的站点，甚至一些你从未听说过得网站，他的排名却一直排在大型门户网站前面，或者该站点的域名为.org,.edu等而非商业公司.com。</P>
<P>他们是如何做到的？</P>
<P>1、连接的重要性</P>
<P>假设某人发表了某篇优秀文章，而其他人在他们的文章中多次引用了这篇优秀文章的内容，或者提到了这篇文章，那我们可以认为这篇优秀文章，在某个领域就是权威。这就是google对网页排名的中心思想，谁是权威，谁是焦点，谁就排名在第一位。</P>
<P>如果某个网站在sohu的首页做了一个首页的友情连接，那么很快该网站的首页里面的内容关键词在google里面得到大幅度的提升（即使没有人点击这个连接，也会有很大的效果）。以此类推，在众多知名网站上面做了友情连接，你的网站将很快推广出去。我并不是鼓励读者去到这类门户网站上面去做广告，只是想说明：连接就是一切。</P>
<P>sohu至少经营了6年以上，google对他的许多网页评价都很高，目前sohu的首页评价为7/10，可以说，sohu就相当于一个权威。而在这个权威里面，引用了你的网站（增加你的友情连接），那么google会认为，权威所引用的内容，一定不是赝品，因此google也会因此会提升对你网页评价。</P>
<P>反之，如果你在一个名不见传的网站（google对改网页评价较低）做了友情连接，那么效果几乎等于没有。因为google排名的思想是权威第一，其他的就放到后面去吧。</P>
<P>推荐方法：<BR>大量的与其他网站交换连接，最好是google评价较高的网页；<BR>查找网站的死连接，因为他们将会破坏网站在goolge心中的形象；<BR>增强网页内容的质量，因为他们将会给你得网站带来更多的点击率和引用率，因此而提升google对改网页的评价。<BR>注：Google对网页的评价，你需要下载google工具条，上面的pagerank则表示评价值。</P>
<P>2、让google认识你</P>
<P>即使你的网页做了大量高质量的友情连接，为大多数权威引用，可是如果你的网页在设计中没有处理好某些技术细节，google可能无法认识你，因此而浪费你的资源。</P>
<P>需要注意的几点：</P>
<P>网页的标题。网页的标题就相当于一个人的名字一样，如果你的网页没有title字段，那么goolge将很难识别；</P>
<P>网页的关键词、描述。虽到目前这两项逐渐被google所忽视，但他们依然有所价值，你最好在网页的keywords,description字段中输入该网页关键词以及描述。</P>
<P>尽量少的使用flash动画、图片。如果你的连接以flash或者图片的形式出现，那google将很难识别出里面连接，也就是说等于白费。虽然google对外声称可以识别，不过实际效果并不理想。因此网页里面的连接最好是文字连接，如果你为了美化你的网页而必须使用flash或者图片，那么建议你在做了flash或者图片之后，在网页的其他地方在做一个文字连接。</P>
<P>连接的正确性。排除死连接，这一点必须注意；另外，如果该网页属于动态网页，比如news.asp?id=95，或者其他语言的，如：news.jsp?id=95,new.do?id=95等等，这些网页也很难被google识别，虽然google声称他能快速的识别这些动态网页，但实际效果并不理想，因此，恶贼钟林强烈建议将所有动态网页转换成静态网页html（别砸，别砸我，鸡蛋好几万块钱一吨）。当然，并不是让你将网页直接改成html格式，因为这样的工作量是无法承受的，apache和iis服务器都有一个re_write的模块可以为你解决自动转换，这一点我将在下面做详细介绍。</P>
<P><BR>二、google关注你网站站设计中的细节</P>
<P>1、建立网站地图。</P>
<P>网站地图有两个好处，一是方便读者进行网站导航，二是方便google搜索你的网页。</P>
<P>google在对你网站搜索的时候，有一个入口，通常是你网站的首页，然后根据网站首页上面的连接进行逐个的搜寻，然后将搜寻中正确的结果加到他的数据库里面。因此网站需要一个能够最大容纳你网站所有网页的连接群，最好的方法是做一个网站地图，在里面输入你网站主要栏目的连接地址。而google不会主动去搜寻你网站一个名叫sitemap.html的文件，因此恶贼强烈建议将网站地图的连接代码拷贝到首页，这样goolge在搜索首页的过程中将会一次性的读取你网站大部分的连接。</P>
<P>另外值得注意的是，如果你的首页是一个flash，或者一个图片，goolge很可能无法正确搜索你的网站连接，因此网站的首页要尽量多的作连接，但连接形式最好是文字连接。</P>
<P>2、关于re_write</P>
<P>目前较为普遍的动态网页包括asp,php,jsp,shtml,jhtml,cgi......甚至还有一些自己定义的，比如：aspx,do,index,hello等等。表现形式为：news.asp?id=95。恶贼钟林建议读者通过re_write将其转换成news/95.html，以便于google对改网页的识别。</P>
<P>re_write是iis里的一个模块，你可以从<A class=contentlink href="http://www.95ren.com/soft/re_write.zip" target=_blank>http://www.95ren.com/soft/re_write.zip</A>下载，里面有相关安装说明。</P>
<P>当需要将news.jsp?id=95的映射成news/95.html时，只需设置httpd.ini文件：<BR>RewriteRule /news/(\d+)\.html /news\.jsp\?id=$1 [N,I]<BR>这样就把 /news/95.html 这样的请求映射成了 /news.jsp?id=95</P>
<P>然后你在连接处这样写：&lt;a href='/news/95.html'&gt;95新闻&lt;/a&gt;。<BR>如果你的新闻是通过数据库循环读取出来的，那么写法是：<BR>while(rs.next())<BR>{<BR>String id = (String)rs.getString('id');<BR>out.print('&lt;a hef='/news/''+id+'.html&gt;');<BR>out.print('95新闻');<BR>out.print('&lt;/a&gt;');<BR>}</P>
<P>如果你在处理数据翻页，那么写法是：</P>
<P>More_&lt;%=Page%&gt;_&lt;%=type%&gt;.html （注：page是翻页页数，type是数据类型）<BR>表现形式：More_1_95.html</P>
<P>如果翻下一页，则为：More_2_95.html，继续下一页的循环，则是：<BR>More_3_95.html，以此类推。</P>
<P>不过你需要在httpd.ini文件中增加以下代码：<BR>RewriteRule /More_(\d+)_(\d+)\.html /jsp/more\.jsp\?page=$1&amp;type=$2 [N,I]</P>
<P>如果你的动态程序有多个参数需要传递，那么就增加多个(\d+)即可，如下：</P>
<P>RewriteRule /More_(\d+)_(\d+)_(\d+)\.html /jsp/more\.jsp\?page=$1&amp;type=$2&amp;type2=$3 [N,I]</P>
<P>可以参考我的网站“朝九晚五”<A class=contentlink href="http://www.95ren.com/" target=_blank>http://www.95ren.com</A> 里面的翻页处理表现形式是：More_1_95.html</P>
<P>三、加入google</P>
<P>1、登录网站</P>
<P>到google去登记你的网站，网址是：<A class=contentlink href="http://www.google.com/intl/zh-CN/add_url.html" target=_blank>http://www.google.com/intl/zh-CN/add_url.html</A>。当然，google不会让任意的网站登录，你的网站首页必须能够打开，并且内容必须健康，且内容不能太少，否则google将不予通过。</P>
<P>即使google通过了你的登记请求，他也不会通知你，你也无法立刻知道是否通过了。一般在1个月之内就会知道答案，因为google对于新站的审核、登记，不会立即生效。但是我们可以通过这样的方法来确定你的网站是否已经通过登记：<BR>到google的搜索框内输入： site:www.你的网址.com<BR>如果查询结果为0，则表示google尚未登记你的网站，或：注意，或者是你的首页出现异常，或者是你的首页使用了框架，或者是你的首页没有标题、关键词，或者是你的首页的内容太少，这些因素将导致你的网页无法被google识别，即使你已经通过了登记审核。</P>
<P>2、验证你的网页是否被google收录</P>
<P>直接在goolge的搜索框之内输入你的网页的网址，如果查询结果为0，则表示并未被收录</P>
<P>3、验证你的网页是否被google更新<BR>google会在1个月之内在他的数据库里面新你的网站信息，当然，如果google对你的网页评价高于4，那么这个时间将会缩短到1个星期。如果你安装了google的工具条，你可以使用“缓存的网页快照“功能，来查询目前google收录该网页的过期信息。</P>
<P>注：google更新的首页的时间是1-3天，网站内的其他网页是1-36天。</P>
<P>四、google的喜好与厌恶</P>
<P>google也有发脾气的时候，如果你的网站首页或者其他网页打不开，或者你的网页内有不健康的内容，google会降低对他们的评价，如果网页的评价一直在下降，最终google会在他的数据库里删除你的网站信息。</P>
<P>google不喜欢框架，如果你的网页使用了框架，google将无视他的存在，而拒绝将改网页的信息加入数据库。google喜欢html文件，因此所有信息的搜索都以html为先，而那些动态网页asp,php,jsp甚至一些自定义的do,action,hello等都统统排在后面。 google不喜欢js，虽然大家都用它来读取数据，不过既然google讨厌js，我们也没办法，因为js里面的内容是无法被google识别的，因此如果你坚持要使用js，那js里面最好不要存放重要信息。</P>
<P>五、google的站内搜索</P>
<P>默认google搜索框是搜索互联网(www)上面所有的内容，如果你的网站已经被google收录了，那么你可以做一个google站内搜索。就是说在google数据库中搜索所有你的网站的信息。比如你输入了你网站内的一个关键词，使用google的站内搜索的搜索功能，将会在goolge出现你网站内所有与关键词有关的网页。</P>
<P>如果你的网站已经被google收录，并且运营情况良好，建议你可以做一个google的站内搜索功能。恶贼钟林提供一个简单的方法来实现这一个功能，将一下代码拷贝到你的网页当中即可：</P>
<P>&lt;form name=form action=http://www.95ren.com/search/index.jsp method=post <BR>target='_blank'&gt;<BR>关键词: &lt;input maxlength=255 size=15 name=key&gt;&lt;input type=submit <I>value</I>=搜索&gt;<BR>&lt;input type='hidden' name='id' <I>value</I>=<A class=contentlink href="http://www.95ren.com/" target=_blank contentlink>www.95ren.com</A>'&gt;<BR>&lt;/form&gt;</P>
<P>拷贝代码时，请将<I>value</I>=<A class=contentlink href="http://www.95ren.com/" target=_blank contentlink>www.95ren.com</A>'中的网址，改成你的网址，不需要加http://，直接写www.你的网址.com即可。</P>
<P>你可以看到form表单是提交给我的网站'朝九晚五'的，我网站的程序在将你输入的信息提交给google，最后google将搜索出来的信息显示出来。如果google并没有搜索出你输入的关键词的相关信息，则表示google并没有将你网站的改关键词加入到他的数据库中，也可能是你的的网站本身就没有登录到google的数据库，还有一种可能是，google搜索的是1-30天以前的信息，在这30天之内你所添加的信息，google尚未来的及将该信息加入到他的数据库之内。</P>
<P>六、影响排名的其他因素</P>
<P>影响排名的另外一个重要因素就是你网页的时间，如果网页的生成时间越近，那么排名就会越在前面（注：这不是唯一的因素）。不过百度搜索(baidu.com)对时间因素看的非常重要，即使goolge 对改网页的评价低于其他网页，但如果网页的时间是最近的，那将显示在百度的第一位。</P>
<P>首页自动更新，不是首页数据自动更新，而是整个文件自动更新。如果你的首页是采用asp,php,jsp，通过读取数据库来实现自动更新，那这只能算是首页的数据更新了，而不是首页文件更新，google和百度看的是首页文件的更新时间。</P>
<P>这里我介绍一个让网站首页永远是最新的方法，用java自动生成首页：<BR>步骤1、将你首页的所有数据读取出来，通过io存放起来。如果你的首页需要读取数据库纪录，你可以在此之前通过读取sql将数据库信息读取出来，然后通过io控制写入文本html。<BR>步骤2、合成你首页所需要的所有数据，包括图片、文字、动画、js脚本等等，通过io将这些数据合成为index.html。</P>
<P>以上两个步骤可以实现首页的更新，但不是时时自动更新。若要自动更新，你可以触发一个事件，当事件触发时，则实现步骤1和步骤2。我的站点“朝九晚五”的触发事件是：一旦网站有新的文章发布时，则触发首页更新事件。而站点每天都有很多新的文章发布，这就表示网站首页每天都会更新，其首页文件的时间永远是最新的。</P>
<P><BR><BR><BR><BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=54&amp;ID=14144&amp;replyID=35683&amp;skin=1" target=_blank>参与讨论本主题</A><BR></P>]]></description>
</item>
</channel>
</rss>