??xml version="1.0" encoding="utf-8" standalone="yes"?>成黄免费在线,伪装者在线观看完整版免费,日日夜夜天天综合入口http://www.aygfsteel.com/mlh123caoer/category/18745.html无ؓ则可为,无ؓ则至深! zh-cnSat, 01 Sep 2007 06:24:58 GMTSat, 01 Sep 2007 06:24:58 GMT60我的blog讉K者分?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2007/08/31/141600.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Fri, 31 Aug 2007 01:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2007/08/31/141600.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/141600.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2007/08/31/141600.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/141600.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/141600.html</trackback:ping><description><![CDATA[最q本Z用google的网站访问分析工具对本博客在2007q??9?8?0?4时的用戯<br /> 问做了一下分析:<br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/mlh123caoer/1.jpg" border="0" /><br /> <br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/mlh123caoer/2.jpg" border="0" /><br /> <br /> 中国问者分布如下:<br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/mlh123caoer/3.jpg" border="0" /><br /> <br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/mlh123caoer/5.jpg" border="0" /><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/141600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2007-08-31 09:04 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2007/08/31/141600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVAlgqo器Filterhttp://www.aygfsteel.com/mlh123caoer/archive/2007/07/25/132293.html草儿草儿Wed, 25 Jul 2007 05:56:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/07/25/132293.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/132293.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/07/25/132293.html#Feedback3http://www.aygfsteel.com/mlh123caoer/comments/commentRss/132293.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/132293.html同servlet非常cMQFilter是JAVAlgQ请求发送到servlet前,可以使用qo器Filter截获和处理请求,同时servletl束以后Q响应发回以前同样可以用过滤器Filter处理响应。WEB容器可以用web.xml部v文g声明何时调用qo器Filter?/p>

qo器Filter主要功能是:1、完成安全检查;2、重新格式化h首部或体Q?、徏立请求审计或记录日志---hqo器Filter

1、压~响应流Q?、追加或者修改响应流Q?、创Z个定制响?--响应qo器Filter


同servlet一Pqo器Filter也具有生命周期:init()->doFilter()->destroy().要实现模块化QFilterChain功不可末Q它可以采用不同的方式组合过滤器Q协调完成一些事情,它由部v文g中的filter元素驱动Q和Filter都在javax.servlet包中。在servlet2.4中,qo器同样可以用于请求分z֙Q但dweb.xml中声明,<dispatcher>INCLUDE或FORWARD或REQUEST或ERROR</dispatcher>该元素位于filter-mapping中?/p>

1、实C個FilterQ代码如下:

public class MyFilter implements Filter {

public void init(FilterConfig arg0) throws ServletException {

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException{


HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse)response;
CachedResponseWrapper wrapper = new CachedResponseWrapper(httpResponse);
// 写入wrapper:
chain.doFilter(request, wrapper);
// 首先判断status, 只对200状态处理:
if(wrapper.getStatus()==HttpServletResponse.SC_OK) {
// 对响应进行处理,q里是进行GZip压羃:
byte[] data = GZipUtil.gzip(wrapper.getResponseData());
httpResponse.setContentType(getContentType());
httpResponse.setContentLength(data.length);
httpResponse.setHeader("Content-Encoding", "gzip");

ServletOutputStream output = response.getOutputStream();
output.write(data);
output.flush();
}
}

public void destroy() {

}

}


2、实C个HttpServletResponseWrapper

public class CheckFrameHttpServletResponseWrapper extends
HttpServletResponseWrapper {

public CheckFrameHttpServletResponseWrapper(HttpServletResponse response) {

super(response);
}

public PrintWriter getWriter() throws IOException{
return new CheckFrameWriter(super.getWriter());
}

}

3、实C个Writer

public class CheckFrameWriter extends PrintWriter {
String checkString = "<script>\n if(window.top.frames.length==0){\n"
+ "window.location.href=\"https://aix:9080/sso/mainlayout.faces?"
+ "contentURL=http://aix:9080/security/paramsMaintain/"
+ "addParams.faces?roleId=0001\"\n" + "}\n</script>\n";

public CheckFrameWriter(Writer out) {
super(out);
}

public void write(int c) {
super.write((char) c);
}

public void write(char buf[], int off, int len) {
StringBuffer sb = new StringBuffer(len);
for (int i = 0; i < len; i++) {
sb.append(buf[off + i]);
}
String s = sb.toString();
int bodyIndex = s.indexOf("<body>");
if (bodyIndex > -1) {
String part1 = s.substring(0, bodyIndex);
String part2 = s.substring(bodyIndex );
s = part1 + checkString + part2;
}
for (int i = 0; i < s.length(); i++) {
write(s.charAt(i));
}
}

public void write(String s, int off, int len) {
for (int i = 0; i < len; i++) {
write(s.charAt(off + i));
}
}
}


在Writer中,你便可以随心所Ʋ的修改Response的內容了?/p>

4、在Web.xml中加入相应的配置元素Q对JSPq行拦截?/p>

草儿 2007-07-25 13:56 发表评论
]]>
一个Servlet生命周期QTomcat处理h中)http://www.aygfsteel.com/mlh123caoer/archive/2007/07/07/128789.html草儿草儿Sat, 07 Jul 2007 08:04:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/07/07/128789.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/128789.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/07/07/128789.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/128789.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/128789.html1、客户发求?gt;Web 服务器{发到Web容器TomcatQ?br>2、TomcatȝE对转发来用Lh做出响应创徏两个对象QHttpServletRequest和HttpServletResponseQ?br>3、从h中的URL中找到正ServletQTomcat为其创徏或者分配一个线E,同时?创徏的两个对象传递给该线E;
4、Tomcat调用Servlet的servic()ҎQ根据请求参数的不同调用doGet()或者doPost()ҎQ?br>5、假设是HTTP GEThQdoGet()Ҏ生成静态页面,q组合到响应对象里;
6、ServletU程l束QTomcat响应对象{换ؓHTTP响应发回l客P同时删除h和响应对象?br>从该q程中,我们可以理解Servlet的生命周期:Servletcd载(对应3步)QServlet实例化(对应3步)Q调用initҎQ对?步)Q调用service()ҎQ对??步)Q;调用destroy()ҎQ对?步)?img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/128789.html" width = "1" height = "1" />

草儿 2007-07-07 16:04 发表评论
]]>
JDOM?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2007/06/25/126177.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Mon, 25 Jun 2007 10:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2007/06/25/126177.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/126177.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2007/06/25/126177.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/126177.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/126177.html</trackback:ping><description><![CDATA[<a target=_new><u><font face=Verdana color=#800080>JDOM</font></u></a><font face=Verdana>是一U?</font><a target=_new><u><font face=Verdana color=#0000ff>XML</font></u></a><font face=Verdana> 的独?Java 工具包,用于快速开?XML 应用</font><a target=_new><u><font face=Verdana color=#0000ff>E序</font></u></a><font face=Verdana>。它?/font><a target=_new><u><font face=Verdana color=#0000ff>设计?/font></u></a><font face=Verdana>?Java 语言的语法乃臌义?</font> <p><font face=Verdana>      JDOM是两位著名的 Java 开发h员兼作者,Brett Mclaughlin ?Jason Hunter 的创作成果, 2000 q初?/font><a target=_new><font face=Verdana color=#0000ff><u>c?/u></font></a><font face=Verdana>g Apache 协议的许可下QJDOM 作ؓ一个开放源代码目正式开始研发,JDOM 作ؓ一个开放源代码目正式开始了。它已成长ؓ包含来自q泛?Java 开发h员的投稿、集中反馈及错误修复的系l,q致力于建立一个完整的Z Java q_的解x案,通过 Java 代码来访问、操作ƈ输出 XML 数据?</font></p> <p><font face=Verdana>      虽然许多Java 开发h员每天都在?XMLQSun 却在?XML 整合q?Java q_斚w落后了。因为在 XML 成ؓ从商家对商家集成?Web 站点内容水化等斚w的关键技术之前,Java 2 q_已l非常流行了。Sun 已经使用 JSR q程使之成ؓ现存 XML <a target=_new><u><font color=#0000ff>API</font></u></a> 的E,q一点已被广泛接受。目前最显著的是加入?JAXP Q用?XML 语法分析?Java APIQ,其中包含了三?a target=_new><u><font color=#0000ff>软g?/font></u></a>Q?</font></p> <p><font face=Verdana>      ·org.w3c.dom QW3C 推荐的用?XML 标准规划文档<a target=_new><u><font color=#0000ff>对象</font></u></a>模型?Java 工具 <br>      ·org.xml.sax Q用于对 XML q行语法分析的事仉动的?API <br>      ·javax.xml.parsers Q工厂化工具Q允许应用程序开发h员获得ƈ配置Ҏ的语法分析器工具 JDOM 能够替换 org.w3c.dom <a target=_new><u><font color=#0000ff>软g</font></u></a>包来有计划地操作 XML 文档</font></p> <font face=Verdana> <p><br>      JDOM是一?a target=_new><u><font color=#0000ff>开?/font></u></a>目Q它Z树型l构Q利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作?/p> <p>      JDOM 直接为JAVA~程服务。它利用更ؓ强有力的JAVA语言的诸多特性(Ҏ重蝲、集合概念以及映)Q把SAX和DOM的功能有效地l合h?/p> <p>      Jdom是用Java语言诅R写、操作XML的新API函数。Jason Hunter ?Brett McLaughlin公开发布了它?.0版本。在直觉、简单和高效的前提下Q这些API函数被最大限度的优化。在接下来的幅里将介绍怎么用Jdom去读写一个已l存在的XML文档?/p> <p><br>      在用设计上可能地隐藏原来使用XMLq程中的复杂性。利用JDOM处理XML文档是一件轻松、简单的事?/p> <p>      JDOM ?000q的春天被Brett McLaughlin和Jason Hunter开发出来,以I补DOM及SAX在实际应用当中的不之处?/p> <p>      q些不之处主要在于SAX没有文档修改、随问以及输出的功能Q而对于DOM来说QJAVAE序员在使用时来用v来总觉得不太方ѝ?/p> <p>      DOM的缺点主要是来自于由于Dom是一个接口定义语aQIDLQ?它的d是在不同语言实现中的一个最低的通用标准Qƈ不是为JAVA特别设计的。JDOM的最新版本ؓJDOM Beta 9。最qJDOM被收录到JSR-102内,q标志着JDOM成ؓ了JAVAq_l成的一部分?/p> <p>      ?JDOM 中,XML 元素是 Element 的实例,XML 属性就?Attribute 的实例,XML 文档本n是 Document 的实例?/p> <p>      因ؓ JDOM 对象是?Document、Element ?Attribute q些cȝ直接实例Q因此创Z个新 JDOM 对象如?Java 语言中?new 操作W一样容易。JDOM 的用是直截了当的?/p> <p>      JDOM 使用标准?Java ~码<a target=_new><u><font color=#0000ff>模式</font></u></a>。只要有可能Q它使用 Java new 操作W而不故弄玄虚使用复杂的工厂化模式Q对象操作即便对于初学用户也很方便?/p> <p><br><strong>一、JDOM包概?/strong></p> <p>JDOM是由以下几个包组成的</p> <p>org.jdom包含了所有的xml文档要素的javac?br>org.jdom.adapters包含了与dom适配的javac?br>org.jdom.filter包含了xml文档的过滤器c?br>org.jdom.input包含了读取xml文档的类<br>org.jdom.output包含了写入xml文档的类<br>org.jdom.transform包含了将jdomxml文档接口转换为其他xml文档接口<br>org.jdom.xpath包含了对xml文档xpath操作的类</p> <p><strong>二、JDOMc说?/strong></p> <p>      1、org.JDOMq个包里的类是你J解析xml<a target=_new><u><font color=#0000ff>文g</font></u></a>后所要用到的所有数?a target=_new><u><font color=#0000ff>cd</font></u></a>?/p> <p>Attribute<br>CDATA<br>Coment<br>DocType<br>Document<br>Element<br>EntityRef<br>Namespace<br>ProscessingInstruction<br>Text</p> <p>      2、org.JDOM.transform在涉及xslt格式转换时应使用下面?个类</p> <p>JDOMSource<br>JDOMResult<br>org.JDOM.input</p> <p>      3、输入类Q一般用于文档的创徏工作</p> <p>SAXBuilder<br>DOMBuilder<br>ResultSetBuilder</p> <p>      4、org.JDOM.output输出c,用于文档转换输出</p> <p>XMLOutputter<br>SAXOutputter<br>DomOutputter<br>JTreeOutputter</p> <p>      使用前注意事:</p> <p>      1.JDOM对于JAXP以及TRax的支?/p> <p>      JDOM支持JAXP1.1Q你可以在程序中使用M的parser工具c?默认情况下是JAXP的parser?br>制定特别的parser可用如下形式<br>SAXBuilderparser<br>=newSAXBuilder("org.apache.crimson.parser.XMLReaderImpl");<br>Documentdoc=parser.build("http://www.cafeconleche.org/");<br>//workwiththedocument...<br>JDOM也支持TRaXQXSLT可通过JDOMSource以及JDOMResultcL转换Q参见以后章节)</p> <p>      2.注意在JDOM里文档(DocumentQ类由org.JDOM.Document来表C。这要与org.w3c.dom中的Document区别开Q这2U格式如何{换在后面会说明?br>      以下如无Ҏ均指JDOM里的Document?/p> <p><strong>三、JDOM主要使用Ҏ</strong></p> <p>1.Ducumentc?/p> <p>(1)Document的操作方法:</p> <p>Elementroot=newElement("GREETING");<br>Documentdoc=newDocument(root);<br>root.setText("HelloJDOM!");<br>或者简单的使用Documentdoc=newDocument(newElement("GREETING").setText("HelloJDOM!t"));<br>q点和DOM不同。Dom则需要更为复杂的代码Q如下:<br>DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();<br>DocumentBuilderbuilder=factory.newDocumentBuilder();<br>Documentdoc=builder.newDocument();<br>Elementroot=doc.createElement("root");<br>Texttext=doc.createText("Thisistheroot");<br>root.appendChild(text);<br>doc.appendChild(root);<br>注意事项QJDOM不允许同一个节点同时被2个或多个文档相关联,要在W?个文档中使用原来老文档中的节点的话。首先需要用detach()把这个节点分开来?/p> <p>(2)从文件、流、系lID、URL得到Document对象Q?/p> <p>DOMBuilderbuilder=newDOMBuilder();<br>Documentdoc=builder.build(newFile("jdom_test.xml"));<br>SAXBuilderbuilder=newSAXBuilder();<br>Documentdoc=builder.build(url);<br>在新版本中DOMBuilder已经Deprecated掉DOMBuilder.builder(url)Q用SAX效率会比较快?br>q里举一个小例子Qؓ了简单v见,使用String对象直接作ؓxml数据源:<br>PublicjdomTest(){<br>StringtextXml=null;<br>textXml="";<br>textXml=textXml+<br>"aaabbbcccddd";<br>textXml=textXml+"";<br>SAXBuilderbuilder=newSAXBuilder();<br>Documentdoc=null;<br>Readerin=newStringReader(textXml);<br>try{<br>doc=builder.build(in);<br>Elementroot=doc.getRootElement();<br>Listls=root.getChildren();//注意此处取出的是root节点下面的一层的Element集合<br>for(Iteratoriter=ls.iterator();iter.hasNext();){<br>Elementel=(Element)iter.next();<br>if(el.getName().equals("to")){<br>System.out.println(el.getText());<br>}<br>}<br>}<br>catch(IOExceptionex){<br>ex.printStackTrace();<br>}<br>catch(JDOMExceptionex){<br>ex.printStackTrace();<br>}<br>}<br>(3)DOM的document和JDOM的Document之间的相互{换用方法,单!<br>DOMBuilderbuilder=newDOMBuilder();<br>org.jdom.DocumentjdomDocument=builder.build(domDocument);<br>DOMOutputterconverter=newDOMOutputter();//workwiththeJDOMdocument…<br>org.w3c.dom.DocumentdomDocument=converter.output(jdomDocument);<br>//workwiththeDOMdocument…</p> <p>2.XML文档输出</p> <p>XMLOutPutterc:<br>JDOM的输出非常灵z?支持很多Uio格式以及风格的输?br>Documentdoc=newDocument(...);<br>XMLOutputteroutp=newXMLOutputter();<br>outp.output(doc,fileOutputStream);//Rawoutput<br>outp.setTextTrim(true);//Compressedoutput<br>outp.output(doc,socket.getOutputStream());<br>outp.setIndent("");//Prettyoutput<br>outp.setNewlines(true);<br>outp.output(doc,System.out);<br>详细请参阅最新的JDOMAPI手册</p> <p>3.Elementc:</p> <p>(1)览Element?br>Elementroot=doc.getRootElement();//获得根元素element<br>ListallChildren=root.getChildren();//获得所有子元素的一个list<br>ListnamedChildren=root.getChildren("name");//获得指定名称子元素的list<br>Elementchild=root.getChild("name");//获得指定名称的第一个子元素<br>JDOMl了我们很多很灵zȝ使用Ҏ来管理子元素Q这里的List是java.util.ListQ?br>ListallChildren=root.getChildren();<br>allChildren.remove(3);//删除W四个子元素<br>allChildren.removeAll(root.getChildren("jack"));//删除?#8220;jack”的子元素<br>root.removeChildren("jack");//便捷写法<br>allChildren.add(newElement("jane"));//加入<br>root.addContent(newElement("jane"));//便捷写法<br>allChildren.add(0,newElement("first"));</p> <p>(2)UdElements:<br>在JDOM里很?br>Elementmovable=newElement("movable");<br>parent1.addContent(movable);//place<br>parent1.removeContent(movable);//remove<br>parent2.addContent(movable);//add<br>在Dom?br>Elementmovable=doc1.createElement("movable");<br>parent1.appendChild(movable);//place<br>parent1.removeChild(movable);//remove<br>parent2.appendChild(movable);//出错!<br>补充Q纠错?br>JDOM的Element构造函敎ͼ以及它的其他函数Q会查element是否合法?br>而它的add/removeҎ会检查树l构Q检查内容如下:<br>1.在Q何树中是否有回环节点<br>2.是否只有一个根节点<br>3.是否有一致的命名I间QNamespacesQ?/p> <p>(3)Element的text内容d</p> <p>Acooldemo</p> <p>//Thetextisdirectlyavailable<br>//Returns"\nAcooldemo\n"<br>Stringdesc=element.getText();<br>//There'saconvenientshortcut<br>//Returns"Acooldemo"<br>Stringdesc=element.getTextTrim();<br>(4)Elment内容修改<br>element.setText("Anewdescription");<br>3.可正解释特D字W?br>element.setText("</p> <p><strong>四、JDOM的应?/strong></p> <p>Q一Q、XML文档创徏</p> <p>      我们由零开始利用JDOM生成一个XML文档。最后的l果(h文档)看v来象q样Q?/p> <p><br>kingwong</p> <p>87654321</p> <p>1.?MyInfo 为根元素创徏文档</p> <p>Element rootElement = new Element("MyInfo");//所有的XML元素都是 Element 的实例。根元素也不例外Q)<br>Document myDocument = new Document(rootElement);//以根元素作ؓ参数创徏Document对象。一个Document只有一个根Q即root元素?/p> <p>2.l根元素d属?/p> <p>Attribute rootAttri = new Attribute("comment","introduce myself");//创徏名ؓ commnet,gؓ introduce myself 的属性?br>rootElement.setAttribute(rootAttri);//刚创徏的属性添加到根元素?br>q两行代码你也可以合成一行来写,象这P<br>rootElement.setAttribute(new Attribute("comment","introduce myself"));<br>或?br>rootElement.setAttribute("comment","introduce myself");</p> <p>3.d元素和子元素</p> <p>JDOM里子元素是作?contentQ内容)d到父元素里面ȝ,所谓content是cM上面h文档中之间的东东Q即kingwong。罗嗦了Ҏ吧:Q?br>Element nameElement = new Element("name");//创徏 name 元素<br>nameElement.addContent("kingwong");//kingwong作ؓcontentd到name元素<br>rootElement.addContent(nameElement);//name元素作ؓcontentd到根元素</p> <p>q三行你也可以合Z句,象这P<br>rootElement.addContent((Content)(new Element("name").addContent("kingwong")));//因ؓaddContent(Content child)Ҏq回的是一个Parent接口Q而Elementcd时承了Contentcd实现了Parent接口Q所以我们把它造型成Content?/p> <p>我们用同LҎd带属性的子元?br>rootElement.addContent(new Element("sex").setAttribute("value","male"));//注意q里不需要{型,因ؓaddAttribute(String name,String value)q回值就是一?Element?/p> <p>同样的,我们d元素到根元素下,用法上一P只是E微复杂了一些:<br>rootElement.addContent((Content)(new Element("contact").addContent((Content)(new Element("telephone").addContent("87654321")))));<br>如果你对q种写Ş式还不太习惯Q你完全可以分步来做Q就象本节刚开始的时候一栗事实上如果层次比较多,写成分步的Ş式更清晰些,也不Ҏ出错?/p> <p>4.删除子元?/p> <p>q个操作比较单:<br>rootElement.removeChild("sex");//该方法返回一个布?/p> <p>到目前ؓ止,我们学习了一下JDOM文档生成操作。上面徏立了一个样本文档,可是我们怎么知道对不对呢Q因此需要输出来看一下。我们将JDOM生成的文档输出到控制収ͼ使用 JDOM ?XMLOutputter cR?/p> <p>5. ?JDOM 转化?XML 文本</p> <p>XMLOutputter xmlOut = new XMLOutputter(" ",true);<br>try {<br>xmlOut.output(myDocument,System.out);<br>} catch (IOException e) {<br>e.printStackTrace();<br>}<br>XMLOutputter 有几个格式选项。这里我们已指定希望子元素从父元素羃q两个空|q且希望元素间有I?br>new XMLOutputter(java.lang.String indent, boolean newlines)q个Ҏ在最新版本中已经不徏议用。JDOM有一个专门的用来定义格式化输出的c:org.jdom.output.FormatQ如果你没有Ҏ的要求,有时候用里面的几个静态方法(应该可以说是预定义格式)?getPrettyFormat()可以了。我们把上面的输出格式稍微改一下,pq样Q?br>XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat()); </p> <p>6.JDOM文档转化为其他Ş?/p> <p>XMLOutputter q可输出?Writer ?OutputStream。ؓ了输出JDOM文档C个文本文Ӟ我们可以q样做:<br>FileWriter writer = new FileWriter("/some/directory/myFile.xml");<br>outputter.output(myDocument, writer);<br>writer.close();</p> <p>XMLOutputter q可输出到字W串,以便E序后面q行再处?<br>Strng outString = xmlOut.outputString(myDocument);</p> <p>当然Q在输出的时候你不一定要输出所有的整个文档Q你可以选择元素q行输出Q?br>xmlOut.output(rootElement.getChild("name"),System.out);<br>一句话QJDOM非常灉|方便Q如果你惌一步研IJDOMQ请到官方网站去看一看:http://www.jdom.org</p> <p>本节CZ源码Q?br>package com.cyberobject.study;</p> <p>import java.io.IOException;</p> <p>import org.jdom.Attribute;<br>import org.jdom.Content;<br>import org.jdom.Document;<br>import org.jdom.Element;<br>import org.jdom.output.Format;<br>import org.jdom.output.XMLOutputter;</p> <p>/**<br>* @author kingwong<br>*<br>* TODO To change the template for this generated <a target=_new><u><font color=#0000ff>type</font></u></a> comment go to<br>* Window - Preferences - Java - Code Style - Code Templates<br>*/<br>public <a target=_new><u><font color=#0000ff>class</font></u></a> TestJDOM {</p> <p>public static void main(String[] args)<br>{<br>Element rootElement = new Element("MyInfo");<br>Document myDocument = new Document(rootElement);</p> <p>// Attribute rootAttri = new Attribute("comment","introduce myself");<br>// rootElement.setAttribute(rootAttri);</p> <p>rootElement.setAttribute("comment","introduce myself");<br>//rootElement.setAttribute(new Attribute("comment","introduce myself"));<br>// Element sexElement = new Element("sex");<br>// rootElement.addContent(sexElement);</p> <p>// Element nameElement = new Element("name");<br>// nameElement.addContent("kingwong");<br>// rootElement.addContent(nameElement);</p> <p>rootElement.addContent((Content)(new Element("name").addContent("kingwong")));<br>rootElement.addContent(new Element("sex").setAttribute("value","male"));<br>rootElement.addContent((Content)(new Element("contract").addContent((Content)(new Element("telephone").addContent("87654321")))));</p> <p>rootElement.removeChild("sex");</p> <p>XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat());<br>try {<br>xmlOut.output(myDocument,System.out);<br>//xmlOut.output(rootElement.getChild("name"),System.out);<br>//String outString = xmlOut.outputString(myDocument);<br>} catch (IOException e) {<br>e.printStackTrace();<br>}<br>}<br>}</p> <p><br>Q二Q、XML文档解析</p> <p>JDOM 不光可以很方便的建立XML文档Q它的另一个用处是它能够读取ƈ操作现有?XML 数据?br>JDOM的解析器在org.jdom.input.*q个包里Q其中的DOMBuilder的功能是DOM模型的Document解析成JDOM模型的DocumentQSAXBuilder的功能是从文件或中解析出符合JDOM模型的XML树。由于我们经常要从一个文仉d数据Q因此我们应该采用后者作析工兗?br>解析一个xml文档Q基本可以看成以下几个步骤:</p> <p>1.实例化一个合适的解析器对?/p> <p>本例中我们用SAXBuilder:<br>SAXBuilder sb = new SAXBuilder();</p> <p>2.以包含XML数据的文件ؓ参数Q构Z个文档对象myDocument</p> <p>Document myDocument = sb.build(/some/directory/myFile.xml);</p> <p>3.获到根元?/p> <p>Element rootElement = myDocument.getRootElement();</p> <p>一旦你获取了根元素Q你可以很方便地对它下面的子元素进行操作了Q下面对Element对象的一些常用方法作一下简单说明:<br>getChild("childname") q回指定名字的子节点,如果同一U有多个同名子节点,则只q回W一个;如果没有q回null倹{?br>getChildren("childname") q回指定名字的子节点List集合。这样你可以遍历所有的同一U同名子节点?<br>getAttributeValue("name") q回指定属性名字的倹{如果没有该属性则q回null,有该属性但是gؓI,则返回空字符丌Ӏ?br>getChildText("childname") q回指定子节点的内容文本倹{?br>getText() q回该元素的内容文本倹{?/p> <p>q有其他没有|列出来的方法,如果需要的话,可以随时查阅JDOM的在U文档:http://www.jdom.org/docs/apidocs/index.html。当然你可以在你需要的地方d、删除元素操作,q记得上面的创徏XML的方法吗Q呵呵~~~</p> <p>学习C东还是从实例学v最为快P下面单D个例子,׃上面的XMLh代码来学习JDOM的XML解析。本例中d了样本XML文g里一些属性和contentQ最后我们还在contact元素里插入了一个新元素wanghua@cyberobject.com" />。尽我们实C对于XML的基本操作,l心的朋友可能会<br>有疑问:如果XML文档的层ơ稍微复杂一些,如果嵌套多达几十上百层的话(开个玩W)Q如果靠q样从根元素一U一U地通过getChild("childname")来访问子元素的话Q将会非常痛苦!是的Q的是q样Q但是我们有另一个有力的工具XPathQؓ什么不用呢Q这是后话!先卖个关子(手敲累啦Q下回吧Q呵呵)?/p> <p>/*<br>* Created on 2004-8-21<br>*<br>* TODO To change the template for this generated file go to<br>* Window - Preferences - Java - Code Style - Code Templates<br>*/<br>package com.cyberobject.study;</p> <p>import org.jdom.Document;<br>import org.jdom.Element;<br>import org.jdom.input.SAXBuilder;<br>import org.jdom.output.Format;<br>import org.jdom.output.XMLOutputter;</p> <p>/**<br>* @author kingwong<br>*<br>* TODO To change the template for this generated type comment go to<br>* Window - Preferences - Java - Code Style - Code Templates<br>*/<br>public class TestJDOM2 {<br>public static void main(String[] args){<br>SAXBuilder sb = new SAXBuilder();<br>try<br>{ <br>Document doc = sb.build("myFile.xml");<br>Element root = doc.getRootElement();</p> <p>String str1 = root.getAttributeValue("comment");<br>System.out.println("Root Element's comment attribute is : " + str1);<br>String str2 = root.getChild("sex").getAttributeValue("value");<br>System.out.println("sex Element's value attribute is : " + str2);<br>String str3 = root.getChildText("name");<br>System.out.println("name Element's content is :" + str3);<br>String str4 = root.getChild("contact").getChildText("telephone");<br>System.out.println("contact Element's telephone subelement content is : " + str4 + "\n");<br>Element inputElement = root.getChild("contact"); <br>inputElement.addContent(new Element("email").setAttribute("value","wanghua@cyberobject.com"));</p> <p>XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat());<br>String outStr = xmlOut.outputString(root);<br>System.out.println(outStr);<br>}<br>catch(Exception e)<br>{<br>e.printStackTrace();<br>}<br>}<br>}</p> <p> </p> <p></font></p><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/126177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2007-06-25 18:33 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2007/06/25/126177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL DB学习W记Ahttp://www.aygfsteel.com/mlh123caoer/archive/2007/04/07/109103.html草儿草儿Sat, 07 Apr 2007 07:28:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/04/07/109103.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/109103.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/04/07/109103.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/109103.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/109103.html

一、数据库?br>MySQL 是一个快速、多U程、多用户和强壮的SQL数据库服务器?/p>

对Unix?nbsp;OS/2 q_QMySQL基本上是免费的;但对微Yq_Q你?0 天的试用期后必须获得一个MySQL 许可证。详?a >W三?MySQL许可证和技术支?/a>?

MySQL是一个真正的多用戗多U程SQL数据库服务器。SQLQ结构化查询语言Q是世界上最行的和标准化的数据库语a。MySQL是以一个客h/服务器结构的实现Q它׃个服务器守护E序mysqld和很多不同的客户E序和库l成?/p>

SQL是一U标准化的语aQ它使得存储、更新和存取信息更容易。例如,你能用SQL语言Z个网站检索品信息及存储֮信息Q同时MySQL也够快和灵zM允许你存储记录文件和囑փ?/p>

MySQL 主要目标是快速、健壮和易用。最初是因ؓ我们需要这样一个SQL服务器,它能处理与Q何可不昂늡件^C提供数据库的厂家在一个数量上的大型数据库,但速度更快QMySQL开发出来。自1996q以来,我们一直都在用MySQLQ其环境有超q?nbsp;40 个数据库Q包?nbsp;10,000个表Q其?00多个表超q?百万行,q大U有100 个吉字节(GB)的关键应用数据?/p>

MySQL建立的基是业已用在高要求的生产环境多q的一套实用例E。尽MySQL仍在开发中Q但它已l提供一个丰富和极其有用的功能集?/p>

二、MySQL 的主要特?br>

下表描述MySQL一些重要的特征Q?

三、SQL语法

      dMySQL服务器语法:mysql -h host_name -u user_name -p [password];
    1、创建、删除数据库 
             CREATE DATABASE [IF NOT EXISTS] db_name
             例如Qcreate DATABASE Samp_db;
             DROP DATABASE [IF EXISTS] db_name
            例如Qdrop DATABASE Samp_db;

    2、创?br>              CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)][table_options]               [select_statement]Q?br>           例如Qmysql> CREATE TABLE test (a INT NOT NULL AUTO_INCREMENT,
                               ->        PRIMARY KEY (a), KEY(b))
                               ->        TYPE=MyISAM SELECT b,c FROM test2;

    3、插入数?br>           INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
                   [INTO] tbl_name [(col_name,...)]
                  VALUES ((expression | DEFAULT),...),(...),...
                    [ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
         or  INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
                  [INTO] tbl_name [(col_name,...)]
                  SELECT ...
        or  INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
                    [INTO] tbl_name
        SET col_name=(expression | DEFAULT), ...
                    [ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
        例如Qmysql> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);



草儿 2007-04-07 15:28 发表评论
]]>
数据挖掘与统计学http://www.aygfsteel.com/mlh123caoer/archive/2007/01/12/93538.html草儿草儿Fri, 12 Jan 2007 13:57:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/12/93538.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/93538.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/12/93538.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/93538.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/93538.html阅读全文

草儿 2007-01-12 21:57 发表评论
]]>
SDO2.0Q创建和d XML 文档http://www.aygfsteel.com/mlh123caoer/archive/2007/01/12/93335.html草儿草儿Fri, 12 Jan 2007 01:42:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/12/93335.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/93335.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/12/93335.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/93335.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/93335.html

引言Q什么是 SDOQ?/font>

Service Data Object (SDO) 2.0 是一个开放标准数据模型编E?APIQ允许开发h员在较高的别方便地操作数据。尽?SDO 1.0 以相同的数据抽象为目标,但有几个大的~点Q其中主要的一Ҏ~少 Helper c,?XSDHelper, XMLHelper {。而最l结果是Q开发h员被q?SDO 1.0 实现 APIQ来?Eclipse Modeling Framework (EMF) SDKQ?

当前的实?(SDO 2.0) 使用 EMF 2.2 SDKQ但q个 SDO 2.0 实现l节q不会媄响开发h员根据新 API ~写E序。将来,开放源代码C֌Q通过 Apache Software FoundationQ可能会军_提供不同?SDO 2.0 实现Q但q不应媄响基?SDO 2.0 API 构徏的应用程序?/p>

了解q个?API 的优势的最基本Ҏ是?SDO 2.0 来创建符?XML 模式 (XSD) ?XML 文档q对其进行读取操作。要在不使用 SDO 2.0 的情况下完成相同的工作,开发h员需要理?XML 解析器如何工作,q将数据解析逻辑与应用程序紧密集成。如果以?XSD 需要更改,需要对应用E序的各处进行调_从而可能对代码的质量带来灾难性的影响?

SDO 2.0 API 的新用户很难直接通过学习规范来理解相xcؓ了提供一定的帮助Q我们从 XML Schema PrimerQ请参阅参考资?/font>Q创Z一个示例,以说明如何?SDO 2.0 API q行以下dQ?/p>

  • ?XML 文档写入到磁?
  • 从磁盘读取该文档?

场景Q购买订单信息收集和配?/font>

以下是我们将试通过我们的示例实现的使用场景。首先,公司定购买订单Qpurchase orderQPOQ信息的要求。完成此d后,我们开始创建静态表单,以设计信息的l构。在数据库中Q此静态表单即表模式。在 XMLQ此静态表单即 XML 模式 (XSD)。如果以后需要收集更多的客户信息Q我们将需要重新设计表?表模?XSD?/p>

下订单时Q客户需要填?PO 表单Q或向操作员提供相同的信息,以便填写此表单。表单中的信息将随后由公司用于对订单q行配送?

公司接收?PO 信息后,很有可能会将其进行保存,q在以后对其q行d以用于各U目的(如提供客h持)。在此示例中Q我们可以将信息?XML 格式保存Q然后?SDO API q行d?/p>

?1 昄了从客户 Robert Smith 攉?PO 信息CZ。将创徏 XSD 文gQ以采用l构化的方式存储此示例购买订单。将用一个名?CreatePurchaseOrder.java 的示例程序来采用 XML 格式创徏CZ POQ名?po.xmlQ。最后,?ReadPurchaseOrder.java 来演C如何从 po.xml d订单信息?/p>
?1. 来自 Rober Smith 的示例购买订单信?/b>
Order date: 1999-10-20

Shipping information:
Name:Alice Smith
Street:123 Maple Street
City:Mill Valley
State:CA
Zip code: 90952
Country:US

Billing information:
Name:Robert Smith
Street:8 Oak Avenue
City:Mill Valley
State:PA
Zip code: 95819
Country:US

Order Items:
1. Part number:872-AA
Product name:Lawnmower
Quantity: 1
Price: 148.95
Comment:Confirm this is electric

2. Part number:926-AA
Product name:Baby Monitor
Quantity: 1
Price: 39.98
Ship date: 1999-05-21

Comment: Hurry, my lawn is going wild!





回页?/font>


购买订单?XML 模式

Z?1 所C的CZ购买订单Q可以用一?PO cd来表C单。我们将其命名ؓ PurchaseOrderType?code>PurchaseOrderType 的实例可以包含四个主要数据,如下所C:

  1. shipping information
  2. billing information
  3. order items information
  4. comment

shipping information ?billing information 可包含更多的数据Q如 name?code>street?code>city?code>state?code>zip ?country。Order items information 可以包含客户所购买的物品的很多信息。每个物品可能包?part number?code>product name?code>quantity, price?code>ship date ?comment。PO ?comment 区域包含一个字W串|q不要求采用更结构化的信息?/p>

清单 1 昄了结构化?XSD 格式的文件中包含的所有购买订单信息?/p>
清单 1. PO.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:po="http://www.example.com/PO" targetNamespace="http://www.example.com/PO">

    <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
    <xsd:element name="comment" type="xsd:string"/>

    <xsd:complexType name="PurchaseOrderType">
        <xsd:sequence>
            <xsd:element name="shipTo" type="USAddress"/>
            <xsd:element name="billTo" type="USAddress"/>
            <xsd:element ref="comment" minOccurs="0"/>
            <xsd:element name="items"  type="Items"/>
        </xsd:sequence>
        <xsd:attribute name="orderDate" type="xsd:date"/>
    </xsd:complexType>

    <xsd:complexType name="USAddress">
        <xsd:sequence>
            <xsd:element name="name"   type="xsd:string"/>
            <xsd:element name="street" type="xsd:string"/>
            <xsd:element name="city"   type="xsd:string"/>
            <xsd:element name="state"  type="xsd:string"/>
            <xsd:element name="zip"    type="xsd:decimal"/>
        </xsd:sequence>
        <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
    </xsd:complexType>

    <xsd:complexType name="Items">
        <xsd:sequence>
            <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="productName" type="xsd:string"/>
                        <xsd:element name="quantity">
                            <xsd:simpleType>
                                <xsd:restriction base="xsd:positiveInteger">
                                    <xsd:maxExclusive value="100"/>
                                </xsd:restriction>
                            </xsd:simpleType>
                        </xsd:element>
                        <xsd:element name="USPrice"  type="xsd:decimal"/>
                        <xsd:element ref="comment"   minOccurs="0"/>
                        <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
                    </xsd:sequence>
                    <xsd:attribute name="partNum" type="po:SKU" use="required"/>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="SKU">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="\d{3}-[A-Z]{2}"/>
        </xsd:restriction>
    </xsd:simpleType>


q可以用统一建模语言QUnified Modeling LanguageQUMLQ类关系图来对购买订单信息进行结构化Q如?2 中所C?/p>
?2. 购买订单?UML cdpd
购买订单?UML cdpd

XSD po.xsd 文g和该 UML cdpdh以下区别Q?/p>

  1. cdpd定义?ItemTypeQ而ƈ未在 po.xsd.diagram 中定义此V尽?po.xsd q不具体定义 ItemTypeQXSD 规范仍可?ItemType 作ؓ匿名cd处理?
  2. XSD 中所?xsd:<type> 在类关系图中都羃写ؓ?<type>。在 XSD 中,xsd:<type> 模式中的 xsd 用于指示cd所属的命名I间。在cdpd中,Z单v见而将其省略了?
  3. SKU type 未在cdpd中定义?code>SKU type 事实上是?po 命名I间中定义的规范化字W串cd。在cdpd中,它由 string type 加以表示?




回页?/font>


创徏 XML 格式的示?PO

清单 2 中所C的CZ CreatePurchaseOrder.java E序用于创徏一?POQ该 PO 采用名ؓ po.xml ?XML 格式Q如清单 3 所C)?/p>
清单 2. CreatePurchaseOrder.java
/**
 * Author:	Fuhwei Lwo
 */
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.OutputStream;

import commonj.sdo.DataObject;
import commonj.sdo.helper.DataFactory;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;

public class CreatePurchaseOrder {
  private static final String PO_MODEL = "po.xsd";
  private static final String PO_NAMESPACE = "http://www.example.com/PO";
  private static final String PO_XML = "po.xml";

	private static void definePOTypes() throws Exception {
	 FileInputStream fis = new FileInputStream(PO_MODEL);
	 XSDHelper.INSTANCE.define(fis, null);
	 fis.close();
	}

	public static void main(String[] args) throws Exception {
	 definePOTypes();
      
	 DataObject purchaseOrder = 
	   DataFactory.INSTANCE.create(PO_NAMESPACE, "PurchaseOrderType");
		
	 purchaseOrder.setString("orderDate", "1999-10-20");
		
	 DataObject shipTo = purchaseOrder.createDataObject("shipTo");
	 shipTo.set("country", "US");
	 shipTo.set("name", "Alice Smith");
	 shipTo.set("street", "123 Maple Street");
	 shipTo.set("city", "Mill Valley");
	 shipTo.set("state", "CA");
	 shipTo.setString("zip", "90952");
	 DataObject billTo = purchaseOrder.createDataObject("billTo");
	 billTo.set("country", "US");
	 billTo.set("name", "Robert Smith");
	 billTo.set("street", "8 Oak Avenue");
	 billTo.set("city", "Mill Valley");
	 billTo.set("state", "PA");
	 billTo.setString("zip", "95819");
	 purchaseOrder.set("comment", "Hurry, my lawn is going wild!");
		
	 DataObject items = purchaseOrder.createDataObject("items");
		
	 DataObject item1 = items.createDataObject("item");
	 item1.set("partNum", "872-AA");
	 item1.set("productName", "Lawnmower");
	 item1.setInt("quantity", 1);
	 item1.setString("USPrice", "148.95");
	 item1.set("comment", "Confirm this is electric");
		
	 DataObject item2 = items.createDataObject("item");
	 item2.set("partNum", "926-AA");
	 item2.set("productName", "Baby Monitor");
	 iteim2.setInt("quantity", 1);
	 item2.setString("USPrice", "39.98");
	 item2.setString("shipDate", "1999-05-21");
		
	 OutputStream stream = new FileOutputStream(PO_XML);
	 XMLHelper.INSTANCE.save(purchaseOrder, PO_NAMESPACE, "purchaseOrder", stream);
	}
}


清单 3. Po.xml
<?xml version="1.0" encoding="ASCII"?>
<po:purchaseOrder xmlns:po="http://www.example.com/PO" orderDate="1999-10-20">
  <shipTo country="US">
    <name>Alice Smith</name>
    <street>123 Maple Street</street>
    <city>Mill Valley</city>
    <state>CA</state>
    <zip>90952</zip>
  </shipTo>
  <billTo country="US">
    <name>Robert Smith</name>
    <street>8 Oak Avenue</street>
    <city>Mill Valley</city>
    <state>PA</state>
    <zip>95819</zip>
  </billTo>
  <comment>Hurry, my lawn is going wild!</comment>
  <items>
    <item partNum="872-AA">
      <productName>Lawnmower</productName>
      <quantity>1</quantity>
      <USPrice>148.95</USPrice>
      <comment>Confirm this is electric</comment>
    </item>
    <item partNum="926-AA">
      <productName>Baby Monitor</productName>
      <quantity>1</quantity>
      <USPrice>39.98</USPrice>
      <shipDate>1999-05-21</shipDate>
    </item>
  </items>
</po:purchaseOrder>

该示?Java E序首先通过调用 XSDHelper.INSTANCE.define() Ҏ?SDO q行时注?po.xsd 中描q的所有类型。然后,它从 PurchaseOrderType 创徏一个根 DataObject。该E序从该处使用 DataObject API 来构?DataObject 树,以表C买订单信息,如图 3 中所C?/p>
?3. DataObject ?/b>
DataObject ? src=

在图 3 中,每个矩Ş都划分ؓ两个隔间。顶部间隔(灰色Q指C?DataObject 实例名称及其实际cdQ底部间隔指C所包含的属性。例如,树的根元素ؓ purchaseOrder DataObject 实例Q其实际cd?PurchaseOrderTypeQ在清单 1 中的 PO.xsd 中定义。在?DataObject 实例中,包含两个属性值—?code>orderDate ?comment?/p>

创徏 DataObject 树后Q该E序调用 XMLHelper.INSTANCE.save() Ҏ来将?purchaseOrder DataObject 实例开始的树内容保存到 XML 文档中(此例中ؓ po.xmlQ。事实上Q可以将树中M DataObject 实例指定?XMLHelper.INSTANCE.save() Ҏ的第一个参敎ͼsave() Ҏ保存从所指定的实例开始的所?DataObject 实例?/p>



回页?/font>


dCZ PO

CreatePurchaseOrder.java 创徏?po.xml 后,我们可以~译q运行清?4 中所C的 ReadPurchaseOrder.javaQ以演示如何使用 SDO API 来遍?po.xml 的内宏V该应用E序执行以下操作:

  1. q行查,以确保已?SDO q行时注册了 po.xsd 中定义的cd
  2. 调用 XMLHelper.load() Ҏ来将 po.xml 加蝲到内存中Q?XMLDocument 实例 xmlDoc 加以表示Q?
  3. 调用 xmlDoc.getRootObject() Ҏ来检索名?purchaseOrder ?DataObject 树的根对象,该对象与?3 中所C的 DataObject 树关pd中的 purchaseOrder DataObject 对应
  4. purchaseOrder DataObject q回后,遍历 DataObject 树,以检索关于此 PO 的所有信?

清单 4. ReadPurchaseOrder.java
/**
/**
 * Author:	Fuhwei Lwo
 */
import java.io.FileInputStream;
import java.util.List;

import commonj.sdo.DataObject;
import commonj.sdo.helper.XMLDocument;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;


public class ReadPurchaseOrder {
 private static final String PO_MODEL = "po.xsd";
 private static final String PO_XML = "po.xml";

	private static void definePOTypes() throws Exception {
	  FileInputStream fis = new FileInputStream(PO_MODEL);
	  XSDHelper.INSTANCE.define(fis, null);
	  fis.close();
        }

	public static void main(String[] args) throws Exception {
 	  definePOTypes();

 	  FileInputStream fis = new FileInputStream(PO_XML);

 	  XMLDocument xmlDoc = XMLHelper.INSTANCE.load(fis);

 	  DataObject purchaseOrder = xmlDoc.getRootObject();
 	  
           System.out.println("Order date: " + purchaseOrder.get("orderDate"));
          System.out.println("Comment: " + purchaseOrder.get("comment"));

 	  DataObject shipTo = purchaseOrder.getDataObject("shipTo");
 	  System.out.println("Ship to name: " + shipTo.get("name"));

	  DataObject billTo = purchaseOrder.getDataObject("billTo");
           System.out.println("Bill to name: " + billTo.get("name"));
          System.out.println();

            DataObject items = purchaseOrder.getDataObject("items");
            List itemList = items.getList("item");
            for (int i=0; i<itemList.size(); i++) {
        
		       DataObject item = (DataObject)itemList.get(i);
			
		       System.out.println("Part num: " + item.get("partNum"));S
		      System.out.println("Product name: " + item.get("productName"));
    } // for
  }
}

清单 4 中以黑体昄?System.out.println() 昄各种数据对象的属性|包括Q?/p>

  • purchaseOrder DataObject ?orderDate ?comment 属?
  • shipTo DataObject ?name 属?
  • billTo DataObject ?name 属?
  • 各种数据对象?partNum ?productName 属?

?4. q行 ReadPurchaseOrder 的控制台输出
Order date: 1999-10-20

Comment:Hurry, my lawn is going wild!
Ship to name:Alice Smith
Bill to name:Robert Smith

Part num:872-AA
Product name:Lawnmower

Part num:926-AA
Product name:Baby monitor

在图 4 中,我们可以看到q行 ReadPurchaseOrder Java 代码的输出?/p>



回页?/font>


l束语:SDO 成Z实上的数据模型编E?API

SDO 2.0 API 提供了创建和讉K数据的一致方式,使开发h员不必了解分析和l护数据完整性的底层实现l节。SDO 2.0 目前?Apache Software Foundation 下的一个试验性子目Q称?TuscanyQ,预期成?SOA 开发的数据模型~程 API 的事实标准。请参阅参考资?/font>部分Q以获得一个相关链接?/p>

可以从上面的CZ中看出,SDO 2.0 API 使您完全不必知道和?XML 解析?API 来读取、写入和操作数据。如果?Java 创徏?DataObject 来表C符合您所定义?XML 模式?XML 数据QSDO 2.0 提供够的方便性和灉|性,让您精力放在如何用数据上。因此,它可为您带来极大的好处,从而提高开发工作效率和产品质量?/p>

MQ通过使用 SDO 2.0 提供的数据抽象技术,您可以根据所定义的业务逻辑来处理数据,以满x的业务需求。这可以帮助您简化业务应用程序开发,也能提高团队的工作效率和工作质量?/p>



回页?/font>


参考资?

学习

讨论




回页?/font>


关于作?/font>

Fuhwei Lwo 的照? src=

Fuhwei Lwo 目前?WebSphere Service Data Objects (SDO) 的团队负责h。他主要的工作重Ҏ推动在面向服务的体系l构QService Oriented ArchitectureQSOAQ中?SDO 作ؓ数据数据模型~程 API 成功采用?/p>





草儿 2007-01-12 09:42 发表评论
]]>
ZWEB 的数据挖掘综q?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/03/91631.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Wed, 03 Jan 2007 13:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/03/91631.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/91631.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/03/91631.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91631.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/91631.html</trackback:ping><description><![CDATA[<p align="left">                                                            ???br />                             MG0133041<br />                            南京大学计算机科学与技术系分布式与q行pȝ实验?br />                             江苏 南京 210093<br /><strong>??/strong>ZWEB 的数据挖掘是当前相当热门的方向之一本文Ҏ作了一个比较全面的<br />lD概括了基于WEB 的数据挖掘的主要概念和特点说明各cWEB 挖掘其<br />是基于WEB 使用的挖掘所常用的技术最后简单介l了XML 在基于WEB 数据<br />挖掘中的应用<br /><strong>关键?/strong>ZWEB 的数据挖?ZWEB 使用的数据挖?半结构化 XML<br /><br /><strong>Abstract:</strong> As web mining is one of the hottest research fields presently, this survey introduces itsbasic concepts and characteristics, including semi-structured data model. Three types ofweb mining and their applications are discussed in this paper, especially the web usagemining. Using XML in web mining is also stated in the last of the article.<br /><strong>Keywords</strong>: Web Mining Web Usage Mining Semi-structured XML<br /><br />       我们现在已经生活在一个相当数字化的时代中,通信、计机和网l技术正极大地媄响着整个人类C会。然而,量信息既给Z带来方便也带来了许多问题使我们惊叹信息爆炸的同时Q又不得不面对知识乏的苦恼信息q量难以消化信息真假难以辨别Q信息安全难以保证,信息形式相异难以l一处理。h们开始考虑Q“如何才能不被信息没,而是从中及时发现有用的知识、提高信息利用率。”面对这一挑战Q数据挖掘技术应q而生Qƈ得到长的发展,昄Z强大的生命力.<br />        所谓数据挖掘Data Mining 是从大量的、不完全的、有噪声的、模p的、随机的原始数据中提取隐含在其中的、事先未知的、但又是潜在有用的信息和知识的过E[1] 。数据挖掘的诞生是h们对数据库技术进行长期研I和开发的l果Q而数据挖掘技术发展的同时它又反过来促使数据库技术进入了一个更高的阶D:传统的数据环境基本上是数据操作型的传l的信息pȝ只负责数据的增删及修Ҏ作而在数据库的基础上可实现的工作就是OLTP QOnLine Transaction Process 联机事务处理Q。现在由于数据积累的不断增多Qh们需要分析型的数据环境,于是出C由数据库导出的数据仓库,以此为基则可以实现OLAP QOnLine Analysis Process 联机分析处理Q:随着量数据搜集的可能计机处理技术的增强和先q数据挖掘算法的提出Q数据挖掘技术不仅能对过ȝ数据q行查询和遍历,而且能够扑ևq去数据之间潜在有h值的联系q以一定的形式表现出来Q从而极大的满了h们对知识的迫切需求?br />        数据挖掘Z的原始数据是形成知识的源泉,它既可以是结构化的如关系数据库中的数据,也可以是半结构化的,如文本、图形、图像数据,甚至是分布在|络上的异构型数据。本文将着重讨ZU针对半l构化数据的挖掘—基于WEB 的数据挖掘,主要介绍了它的基本概念以及经帔R用的技术最后简单说明了XML 在其中的应用?br /><strong>一?ZWEB 的数据挖掘的主要概念</strong><br />1?什么是ZWEB 的数据挖?br />        当前|络发展q速,各种|站比比皆是。但在竞争日益激烈的|络l济中,只有赢得用户Q才能最l赢得竞争的优势。作Z个网站的理员或拥有者,应该知道用户都在他的|站上干什么,知道|站哪些部分最为用户喜爱,哪些让用h到厌烦,什么地方出了安全漏z,什么样的改动带来了显著的用h意度Q提高什么样的改动反而丢׃用户{等。“知q彼”,才能“百战不D”。而基于WEB 数据挖掘技术正能满些需求?br />        基于WEB 数据挖掘的确切定义,到目前ؓ止还没有很明而权威的说法。国外有认ؓQ基于WEB 数据挖掘Q就是利用数据挖掘技术自动地从网l文档以及服务中发现和抽取信息的q程。国内则众说ULQ有认ؓ是在大量已知数据h的基上得到数据对象间的内在特性,q以此ؓ依据在WEB 中进行有目的的信息提取过E。同Ӟ也有学者将|络环境下的数据挖掘归入|络信息索与|络信息内容的开发等{。MQ基于WEB 的数据挖掘(Web MiningQ?正是从万l网QWorld Wide Web Q上获取原始数据中从中挖掘出隐含其中且潜在可用的知识最l应用于商业q作以满管理者的需要?br /><strong>2 、基于WEB 数据挖掘的分c?br /></strong>Ҏ挖掘的对象不同我们可以把ZWEB 的数据挖掘分Z大类Q?br /> 􀁺ZWEB 内容的挖掘(Web Content MiningQ?br />􀁺 ZWEB l构的挖掘(Web Structure MiningQ?br />􀁺 ZWEB 使用的挖掘(Web Usage MiningQ?br />Q?Q基于WEB 内容的挖?br />        所谓基于WEB 内容的挖掘实际上是从WEB 文档及其描述中获取知? WEB 文档文g挖掘以及Z概念索引或Agent 技术的资源搜烦也应该归于此cRWeb 信息资源cd众多Q目前WWW 信息资源已经成ؓ|络信息资源的主体,然而除了大量的Z可以直接从网上抓取、徏立烦引、实现查询服务的资源之外Q相当一部分信息是隐藏着的数据(如由用户的提问而动态生成的l果Q存在于数据库系l中的数据,或是某些Uh数据Q无法被索引Q从而无法提供对它们有效的检索方式,q就q我们把这些内Ҏ掘出来。若从信息资源的表现形式来看QWEB 信息内容是由文本、图像、音频、视频、元数据{种UŞ式的数据l成的,因而我们所说的ZWEB 内容的挖掘也是一U针对多媒体数据的挖掘?br />2 、基于WEB l构的挖?br />       q一cd的挖掘是从万l网的整体结构和|页上的怺链接中发现知识的q程Q它主要挖掘WEB 潜在的链接结构模式。这U思想源于引文分析Q即通过分析一个网链接和被链接数量以及对象来建立WEB 自n的链接结构模式。这U模式可以用于网归cdƈ且可以由此获得有关不同网间怼度及兌度的信息。WEB l构挖掘有助于用h到相关主题的权威站点Q而且对网l资源检索结果的排序有很大意义?br />3?ZWEB 使用的挖?br />        ZWEB 使用的挖掘,也称为WEB 日志挖掘QWeb Log MiningQ。与前两U挖掘方式以|上的原始数据ؓ挖掘对象不同Q基于WEB 使用的挖掘面对的是在用户和网l交互的q程中抽取出来的W二手数据。这些数据包括:|络服务器访问记录、代理服务器日志记录、用h册信息以及用戯问网站时的行为动作等{。WEB 使用挖掘这些数据一一U录到日志文件中Q然后对U篏h的日志文件进行挖掘,从而了解用L|络行ؓ数据所h的意义。我们前面所丄例子正属于这一U类型?br />        ?[2]从五个方面对三种挖掘形式做了比较其中的具体内容下文将会作q一步介l?br />          ZWEB 内容的挖掘:非结构化 半结构化\文本文档 文本文档\Bag of words n-grams 词短?概念或实?关系型数据\TFIDF 和变体机器学习统计学(包括自然语言处理)\归类 聚类发掘 抽取规则 发掘文本模式 建立模式.<br />           ZWEB l构的挖?半结构化 数据库Ş式的|站 链接l构\文?文档链接\边界标志?OEM 关系型数?囑Ş\Proprietary 法 ILP (修改?的关联规则\发掘高频的子l构 发掘|站体系l构 归类 聚类.<br />          ZWEB 使用的挖?交互形式\服务器日志记?览器日志记录\关系型表 囑Ş\Proprietary 法 机器学习 l计?(修改后的Q关联规则\站点 改进与管?销建立用户模式.<br /><strong>3?ZWEB 数据挖掘的特?/strong><br />Q?Q?、什么是半结构化<br />       所谓半l构化是相对于结构化和非l构化而言的。我们称传统数据库中的数据ؓ完全l构化的数据Q而同时还存在着一些诸如一本书、一张图片等完全无结构的非结构化数据。半l构化则是介于两者之_h隐含模式、信息结构不规则、无严格cdU束{特炏V半l构化数据模式有如下特征[4]<br />      先有数据Q后有模式;<br />      半结构化数据的模式是用于描述数据的结构信息,而不是对数据l构q行强制性的U束Q?br />     半结构化数据的模式是非精的Q它只可能描q数据的一部分l构Q也可能Ҏ数据处理的不同阶D늚视角不同而异Q?br />     半结构化数据的模式,可能规模很大甚至过源数据的规模Q而且会由于数据的不断更新而处于动态变化过E中?br />Q?Q?WEB 数据的特?br />        Web 上的数据最大特点就是半l构化。但是Web 上的数据与传l的数据库中的数据不同,传统的数据库都有一定的数据模型Q可以根据模型来具体描述特定的数据而且按照一定的l织有规律的集中或者分布存放,l构性很强;而Web 上的数据非常复杂Q没有特定的模型描述每一站点的数据,都各自独立设计ƈ且数据本w具有自q性和动态可变性,因而Web 上的数据不是强结构性的。但与此同时Web 面又是有描q层ơ的Q单个网站也是按照各自的l构构架的,从而具有一定的l构性。因此我们认为Web 上存在的数据既不是完全结构化的也不是完全非结构化的,而是介于两者之_一般称之ؓ半结构化数据?br />        半结构化是Web 上数据的最大特点,昄面向Web 的数据挖掘比面向单个数据仓库或者其他结构化数据集的数据挖掘要复杂得多?br /><strong>4、用基于WEB 数据挖掘能得C?br /></strong>        Web Mining 技术已l应用于解决多方面的问题Q比如基于WEB 内容和结构的挖掘极大的帮助了我们从浩瀚的|络资源中更加快速而准的获取所需要的资料Q而基于用的数据挖掘之威力,更是在商业运作上发挥的淋漓尽_具体表现在:<br />Q?Q?对网站的修改能有目的有依据稳步的提高用户满意?br />发现pȝ性能瓉Q找到安全漏z,查看|站量模式Q找到网站最重要的部分,发现用户的需要和兴趣Q对需求强烈的地方提供优化Q根据用戯问模式修改网之间的q接Q把用户惌的东西以更快且有效的方式提供l用P在正的地方正确的时间把正确的信息提供给正确的h?br />Q?Q?定投资回报?br />      定q告和促销计划的成功度<br />      扑ֈ最有h值的ISP 和搜索引?br />      定合作和结盟网站对自n的h?br />Q?Q?提供个性化|站<br />          对大多数WEB 应用来说Q让用户感到真个|站是完全ؓ他自己定制的个性化|站Q是WEB 站点成功的秘诀。针对不同的用户完全按照其个人的兴趣和爱好(数据挖掘法得到的用戯问模式)向用户动态的提供要浏览的自动提供个性化的网站?br />        下面我们就ZWEB 使用的挖掘,q一步讨论它所l常采用的技术?br /><strong>二、基于WEB 使用挖掘中的技术问?br /></strong>1?Web Usage Mining 中非技术问?br />       在基于用的挖掘中,Z商业目的考量|站的拥有者或者管理者经怼对网站的某些斚w提出一些分析,比如Q流量分析(点击量)、广告分析、网站出入口分析、访问\径分析、用h源分析、浏览器和^台分析等{?br />       p些方面作q一步的分析Q我们可以从中真正与数据挖掘相关的问题:<br />Q?Q?|页相关性分?br />       哪些|页h密切的关p,如果很多人具有a.html-〉b.html-〉c.html q样的访问模式,则我们可以认定a.html 和c.html 之间有一定的关系Q从而考虑是否在a.html 上直接加上c.html的链接?br />Q?Q?用户讉K模式分析<br />        有哪一些网는户只要访问了其中的一,则可以断定他也要讉K其他的网即按不同的用户讉K模式Q把|页分组得到一个一个的兴趣炏V哪些用h讉K的网늻成比较类|hcM的兴)x据用戯为的怼性,把用h行ؓ模式分类?br />Q?Q?用户归类<br />通过用户填写的信息如何把用户归入某一特定的类别,然后可对同一cd中的用户提供怼的服务?br /><strong>2 、Web Usage Mining 中的技术问?br /></strong>Q?Q?数据处理<br />         如何得到分析和数据挖掘所用的数据Q主要采用两U方法,一是直接用Web Server的Log 文gQ二是用|络监听的办法,在数据包中提取出HTTP h和应{。最后两U数据源都要转换成固定的格式存放在数据库或数据仓库内Q供l计分析和数据挖掘用?br />Q?Q?l计分析<br />          在数据库的基上,针对不同的数据运行各U统计函数?br />Q?Q?数据挖掘<br />           数据挖掘技术是实现分析得到隐藏在大量繁杂数据内部知识的关键。通过对用戯问网站的历史数据(x们通过数据处理得到的数?应用各种数据挖掘技?得到高层知识Q提供给用户作决{支持,或利用这些知识动态生成网,为用h供访问徏议?br />Q?Q?兌规则Association Rules<br />         从服务器会话中发现请求网늚相关性,可用于优化网站组l,实现|络代理中的预取功能{?br />Q?Q?聚集Clustering<br />         使用分组QUsage Clusters Q把h怼览模式的用户分成组Q可用于电子商务应用中市场分片(market segmentationQ?和ؓ用户提供个性化服务Q而网分l(page clusters Q按内容的相似性把|页分类Q可用于搜烦引擎和Web 览助手QWeb assistance providers Qؓ用户提供推荐链接?br />Q?Q?归类Classification<br />          Ҏ用户的个料,其归入某一特定的类Q可使用决策树、naive Bayesian<br />classifiers?k-最q邻居等法?br />Q?Q?序列模式Sequential Patterns<br />        发现一个session 内部的网间的时间相x,可用于预用L讉K向而提供徏议?br /><strong>三、XML 技术在ZWEB 的数据挖掘中的应?br /></strong>1 、XML 技术简?br />        XML QeXtsible Markup LanguageQ?是SGML QStandard General MarkupLanguage Q的一个子集,q年来ؓIBM Microsoft {公司大力推崇。和HTMLQ?Hyper Text Markup LanguageQ类|XML 也是一U标CaQ可提供描述l构化资料的格式Q它们都可以用于可视化和用户界面标准?br />       当前QInternet 只是文本和图片的讉K媒体Qƈ没有搜烦、数据交换、自适应表示和个人化的标准。ؓ了超|信息访问和昄标准的限ӞInternet 必须讄信息理解标准Q表C数据的通用方式Q以便Y件能够更好地搜烦Ud昄和处理上下文中隐藏的信息。由?HTML 是一U描q如何表C?WEB 늚格式Qƈ不表C数据,所以它q不能完成以上处理。?XML 提供了一U独立的q行E序的方法来׃n数据是用来自动描qC息的一U新的标准语aQ它通过计算机通信“把Internet 的功能由信息传递扩大到人类其他多种多样的活动中厠Z[3]?br />2、技术的特点及其在Web Mining 中的应用<br />       它最大的特点在于其Tag 是具有语义的Q可q户定义能够反映一定的数据的含义。此外,XML q具有简单易用、可扩展性、开发性、强标准化等特点,非常适合应用于WebMining 。从某种意义上说QXML 非常接近半结构化的数据模型它可供操作的基要比HTML 好得多。图二是HTML 和XML 的文档比较,我们不难看出XML 的文档描q的语义非常清楚Q而且我们很容易就可以之和关pL据库中的属性一一对应hQ能够支持实施十分精的查询Q以及其他高U操作。而HTML 文档只是按显C方式进行描q的。由此可见,XML ؓ在WEB 上的数据查询和模式抽取提供了一个重要的契机?br />       XML pq规则组成,q些规则可用于创建标记语aQƈ能用一U被UC分析E序的简明程序处理所有新创徏的标记语a。XML 解决了HTML 不能解决的两个Web 问题Q即“Internet 发展速度快而接入速度慢”的问题Q以及可利用的信息多但难以找到自己需要的那部分信息”的问题[3]?XML 能增加结构和语义信息可计算机和服务器即时处理多UŞ式的信息。因此,q用XML 的扩展功能不仅能从WEB 服务器下载大量的信息Q还能大大减网l业务量?br />        以XML 为基的新一代WWW 环境是直接面对WEB 数据的,不仅可以很好地兼容原有的WEB 应用而且可以更好地实现WEB 中的信息׃n与交换。XML 可看作一U半l构化的数据模型Q可以很Ҏ地将XML 的文档描qC关系数据库中的属性一一对应hQ实施精地查询与模型抽取?br />         当用标准的HTML 无法完成某些WEB 应用ӞXML 便能大显w手q些应用从大的方面讲可以被分成以下四c:需要WEB 客户端在两个或更多异质数据库之间q行通信的应用;试图大部分处理负蝲从WEB 服务器{到WEB 客户端的应用Q需要WEB 客户端将同样的数据以不同的浏览Ş式提供给不同的用L应用Q需要智能WEB 代理Ҏ个h用户的需要裁减信息内容的应用。显而易见,q些应用和WEB 的数据挖掘技术有着重要的联p,ZWEB 的数据挖掘必M靠它们来实现?br /><strong>四、一些著名的Web Mining 产品?br /></strong>1、Net percerptions<br />       Net Perceotion 公司的Net Percerptions Q采用了一个叫做实时徏议的技术:让它的品对象(主要是网站)能够Ҏ用户以往的浏览行?比如以前的购买记? 在其他用PU做Community 中)扑և与他有相cM览行ؓ的,Ҏq些用户的浏览行为来预测该用户以后的览行ؓQ从而ؓ用户提供个性化的浏览徏议。这U技术利用了|站用户的浏览行为有怼的一面,因此光a有很高的准确性。ƈ且它是实时运行的Q随着览量的增加会变得越来越聪明?br />2?CommerceTrends<br />        WebTrends 公司的CommerceTrends 被宣UCؓW一个用于VRM QVisitor Relationship ManagementQ?的^収ͼ它能够让电子商务|站更好地理解其|站讉K者的行ؓQ帮助网站采取一些行动来这些访问者变为顾客,一ơ性的֮变ؓ长期的忠实顾客。 CommerceTrends 提供了完全的“browser-based?ҎQ得不同的部门Q从市场部门到分析家Q能在Q何时间得C所惛_到的个性化报表。同时它q利用了强大的数据仓库技术,q样׃仅仅原始数据存在数据库里而是“Sessionizes ”了原始数据?br />3. DBMiner<br />        加拿大Simon Fraser 大学数据库系l研I实验室Database SystemResearchLaboratory<br />的知识发现研I组在数据挖掘技术领域经q多q的研究开发了名ؓDBMiner 的知识发现系l原型。它机器学习方法学和数据库技术结合v来,用于在大型数据库和数据仓库中交互地挖掘多层次的知识。该pȝ独特之处在于紧密集成了联机分析处理OLAP 和多U数据挖掘功能,包括特征化、关联、分cd聚类?br />?l束?br />          ZWEB 的数据挖掘是当前热门研究方向之一Q而且其应用范畴广阔,潜力巨大QWeb Mining 技术也在不断提出和改进之中。但是Web Mining 技术还有很多缺陷和不。我们还需要半l构化数据模型、Web 数据的过滤和转换{方面作q一步研IӞ才能q一步发挥Web Mining 的无限威?br /><br />References<br />[1] Jiawei Han and Micheline Kamber Data Mining: Concepts and Techniques 2000 Morgan<br />Kaufmann Publishers<br />[2] ??谈|络信息挖掘<br />[3] 徐振?刘莉?XML 与面向Web 的数据挖掘技?br />[4] ??孟小?半结构化数据的模式研I综q?计算机科?2001 Vol. 28<br />[5] ??数据挖掘走向Internet 微电脑世?br />[6] 王聪?|络数据挖掘<br />[7] What is Web Mining Lily BBS<br />[8] 李志?|页数据分析 天极|?2001.2<br />[9] Web Mining: W二代网l信息处理技?Lily BBS<br />[10] 构造未来Web 面的工兯aXML Lily BBS</p><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/91631.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2007-01-03 21:20 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2007/01/03/91631.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>COGNOS业务产品http://www.aygfsteel.com/mlh123caoer/archive/2007/01/03/91613.html草儿草儿Wed, 03 Jan 2007 11:41:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/03/91613.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/91613.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/03/91613.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91613.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/91613.html阅读全文

草儿 2007-01-03 19:41 发表评论
]]>
用SAS做聚cd?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91300.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Mon, 01 Jan 2007 07:25:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91300.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/91300.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91300.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/91300.html</trackback:ping><description><![CDATA[     摘要: 聚类分析和判别分析有怼的作用,都是起到分类的作用。但是,判别分析是已知分cȝ后ȝ出判别规则,是一U有指导的学习;而聚cd析则是有了一Ҏ本,不知道它们的分类Q甚臌分成几类也不知道Q希望用某种Ҏ把观进行合理的分类Q得同一cȝ观测比较接近Q不同类的观相差较多,q是无指导的学习? 所以,聚类分析依赖于对观测间的接近E度Q距)或相似程度的理解Q定义不同的距离量度?..  <a href='http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91300.html'>阅读全文</a><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/91300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2007-01-01 15:25 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SPSS l计软g的主菜单及子菜单http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91299.html草儿草儿Mon, 01 Jan 2007 07:22:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91299.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/91299.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91299.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91299.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/91299.html阅读全文

草儿 2007-01-01 15:22 发表评论
]]>
Web信息抽取技术纵览二http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91297.html草儿草儿Mon, 01 Jan 2007 07:19:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91297.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/91297.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91297.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91297.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/91297.html阅读全文

草儿 2007-01-01 15:19 发表评论
]]>
Web信息抽取技术纵览一http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91293.html草儿草儿Mon, 01 Jan 2007 07:18:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91293.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/91293.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91293.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91293.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/91293.html阅读全文

草儿 2007-01-01 15:18 发表评论
]]>
聚类分析QCluster analysis Q?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91291.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Mon, 01 Jan 2007 07:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91291.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/91291.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91291.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/91291.html</trackback:ping><description><![CDATA[     摘要: Introduction Cluster analysis is the process of grouping objects into subsets that have meaning in the cont...  <a href='http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91291.html'>阅读全文</a><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/91291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2007-01-01 15:14 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>文献lD的写?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91289.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Mon, 01 Jan 2007 07:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91289.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/91289.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/91289.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/91289.html</trackback:ping><description><![CDATA[<p>Q?Q什么是lDQ?<br />文献lD是以作者非直接l验和资料ؓ主而Ş成的一U论文。它是将一定时期内某一学科领域或专题的文献攉hQ对其提出和探讨的问题进行分析归U뀁综合评论、加工整理而成。培d掌握文献lD的写作能力和ҎQ是一名科研工作者必d备的一基本功?br />Q?Q综q的作用? <br />服务?<br />研究?<br />文献索回?<br />Q?Q综q的cd? <br /> 按时间划分: 回顾?lD、前L综q?<br />按是否参与作者个人意见划分:归纳性综q、评论性综q?<br />按内容划分: 动态性综q、成性综q、争鸣性综qW?<br />Q?Q文献综q的特点? <br />新颖?l合?评述?客观?<br />Q?Q综q的格式?<br />题名<br />|名和单?br />摘要和关键词<br />引言<br />M<br />l束?br />致谢<br />参考文?br />Q?Q题名的作用?<br />提示作用<br />评h作用<br />吸引作用<br />索作?<br />Q?Q题名的基本要求 :具体切Q表辑־?短精l,高度概括 用词规范Q可供检?br />Q?Qv名和单位:姓名在前Q单位名U在后;<br />姓名在上行,单位名称在下行;<br />单位在前Q姓名在后;<br />单位名称在上行,姓名在下行;<br />题名下只写作者姓名,单位名称以脚注的形式攑֜首页的脚注?br />Q?Q摘要和关键?Ҏ国家标准规定Q文献综q和其他论文一P都应有摘要,q列?~5个关键词?br />Q?0Q摘要的cd:<br />报道性摘要又U资料性摘要,是指明一ơ文献的主题范围及内Ҏ概的明摘要,相当于简介?br />指示性摘要又U描q性摘要,指示一ơ文献的论题及取得的成果的性质和水qI不具体介l研I的Ҏ和结果,但是不应只简单重复题名中已有的信息,写成题名的解释说明?br />报道--指示性摘?q种摘要介于上述两种摘要之间Q或者说是上qCU摘要相l合的综合性摘?br />l构性摘要按层次列出目名称Q逐项分别叙述。包括:目的、材料和Ҏ、结果、结论?br />Q?1Q引  a:可用标题“引a”引|也可不用Q直接写文字?br />Q?2Q内容:目的、主题、介l背景材料、阐明所写的范围和内容(?~2句话表达Q?br />注意Q引a不宜q长Q应开门见山,100~200字即可?br />Q?3Q主    ?:是综qC要内容的叙述部分<br />注意: 应反映不同学术观?应列出小标题加以* 应引用主要研I结果和l论性观?br />Q?4Q结  ?归纳M部分所叙述的内?评论M部分所提出的问?对今后的研究提出或展?br />Q?5Q致  ?在撰写综q的q程?得到某h的指|或写?后经某h审阅Q需在正文末致谢?<br />Q?6Q参  考?文??通常是指文后参考文献。它是ؓ撰写论文或编写著作而引用的有关书刊资料及其他特D资料?br />Q?7Q综 q????<br />选题<br />查阅文献<br />阅读文献<br />摘录内容<br />立论点<br />拟提U?br />写作<br />Q?8Q?????<br />感觉到某问题的存在,自己有新的见解;Ҏ问题说法多,但较混ؕ、互相矛盾;有新提法或假_但尚未Ş成;某领域有长的进步;Ҏ工作或研究的阶D|综合评仗?br />Q?9Q????题意斊W?有用h值?题目不宜q大<br />Q?0Q查 ???<br />要求文献斎ͼ选读3~5q内的期刊;<br />文献索全Q需手捡和机捡相l合Q?br />有烦引的要从L引查赗?br />查阅文献的方?序?回朔?br />Q?1Q阅 ??献:<br />先综q后单篇<br />先教U书后期?br />先本专业后边~或相关学科<br />先摘要后全文<br />先目录、序a或内Ҏ要后正文<br />先泛d_读<br />选取有用的内容以便写作时引用<br />Q?2Q摘  录:定目Q作者、问题、出版内宏V刊名?出版q月、卷期)、v止页?br /> <br />        不定内容Q引a、材料和Ҏ、结果、讨Z的有关部分,其中最基本的是<br />        重要数据和核心观炏V?br />Q?3Q确 ??点:<br />   分析资料<br />       归纳l合 <br />          _ֿ推敲<br />                提炼论点<br />Q?4Q拟  提?UԌ整理内容  打腹E?br />Q?5Q写 作:Ҏ提纲Q将内容展开Qƈ注意观点与内容的一_观点Ӟ作者可有們֐性,但不同观点也应列出;修改初稿Q誊写稿件?br />Q?6Q写 ??求:客观pȝ条理清楚Q说理透彻 防止文献堆砌和h名罗?/p> <p> </p><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/91289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2007-01-01 15:10 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2007/01/01/91289.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个人工会议(转蝲)http://www.aygfsteel.com/mlh123caoer/archive/2006/12/28/90609.html草儿草儿Thu, 28 Dec 2006 15:05:00 GMThttp://www.aygfsteel.com/mlh123caoer/archive/2006/12/28/90609.htmlhttp://www.aygfsteel.com/mlh123caoer/comments/90609.htmlhttp://www.aygfsteel.com/mlh123caoer/archive/2006/12/28/90609.html#Feedback0http://www.aygfsteel.com/mlh123caoer/comments/commentRss/90609.htmlhttp://www.aygfsteel.com/mlh123caoer/services/trackbacks/90609.html IJCAI (1+): AI最好的l合性会? 1969q开?
每两q开一? 奇数q开. 因ؓAI

实在太大,
所以虽然每届基本上能录100多篇Q现在已l到200多篇了)Q但分到每个

领域没几篇了,象machine learning、computer
visionq么大的领域每次大概?

?0左? 所以难度很?
不过从录用率上来看倒不太低,基本?0%左右, 因ؓ?

行h都会掂掂分量, 没希望的别费reviewer的时间了.
最q中国大陆投往国际?

议的文章象潮水一?
而且因ؓ国内很少有能自己把关的研I组,
所以很多会议都?

complain说中国的低质量文章严重妨了PC的工作效?
在这U情况下, 估计q几q?

国际会议的录用率都会降下? 另外,
以前的IJCAI是没有poster? 03q开? Z

减少被误杀的好? 增加?늺的poster.值得一提的?
IJCAI是由貌似一个公?

?IJCAI Inc."d?当然实际上ƈ不是公司,
实际上是个基金会), 每次会议上要

发几个奖, 其中最重要的两个是IJCAI Research Excellence
Award ?Computer

& Thoughts Award, 前者是ln成就? 每次一个h,
基本上是AI的最高奖(有趣?

? 以AIZ业拿囄奖的6位中,
?位还没得到这个奖), 后者是奖给35岁以下的

青年U学? 每次一个h.
q两个奖的获奖演说是每次IJCAI的一个重头戏.另外,

IJCAI ?PC member 相当于其他会议的area chair, 权力很大,
因ؓ是由PC member

L reviewer 来审, 而不象一般会议的PC member其实是
reviewer. Z制约

q种权力, IJCAI的审E程序是每篇文章分配2位PC member,
primary PC memberL

3位reviewer, second PC member 找一?

AAAI (1): 国人工学会AAAI的年?
是一个很好的会议, 但其档次不稳? ?

以给?+, 也可以给?-或?+, ȝ来说我给?1".
q是因ؓ它的开法完全受

IJCAI制约: 每年开, 但如果这一q的IJCAI在北D?
那么停开. 所? 偶数q?

里因为没有IJCAI, 它就是最好的AIl合性会?
但因为号召力毕竟比IJCAI要小一?

特别是欧zh捧AAAI场的比IJCAI得?其实亚洲Z?,
所以比IJCAIq是要稍?

一? 基本上在1?+之间; 在奇数年,
如果IJCAI不在北美, AAAI自然变成了?

IJCAI低一U的会议(1-?+), 例如2005q既有IJCAI又有AAAI,
两个会议p行了?

? 使得IJCAI的录用通知旉比AAAI的deadline早那么几?
q样IJCAI落选的文章

可以投往AAAI.在审E时IJCAI ?PC chair也在一直催,
说大家一定要? 因ؓAAAI

那边一直在担心IJCAI的录用通知出晚了AAAI麻烦了.

COLT (1): q是计算学习理论最好的会议, ACMd,
每年举行. 计算学习理论基本?

可以看成理论计算机科学和机器学习的交?
所以这个会被一些h看成是理?

机科学的会而不是AI的会.
我一个朋友用一句话对它q行了精彩的ȝ:
"一群?

学家在开?. 因ؓCOLT的领域比较小,
所以每q会议基本上都是那些? q里Z

提一件有的? 因ؓ最q国内搞的会议太多太?
而且很多会议都是LNCS/LNAI?

论文? LNCS/LNAI基本上已l被搞臭? 但很不幸的是,
LNCS/LNAI中有一些很好的

会议, 例如COLT.

CVPR (1): 计算觉和模式识别斚w最好的会议之一,
IEEEd, 每年举行. 虽然?

目上有计机视觉,
但个为它的模式识别味道更重一?
事实上它应该是模式识

别最好的会议, 而在计算觉方?
q有ICCV与之相当. IEEE一直有个們֐, 要把

会办?盛会",
历史上已l有些会被它从quality很好的会办成"盛会"?
CVPR搞不?

也要走这条\. q几q录的文章已l不了.
最q负责CVPR会议的TC的chair发信

? 对这个community来说,
让好误杀比被坏h漏网更糟p?
所以我们是不是要减

好误杀的机会啊?
所以我估计明年或者后q的CVPRp扩招?

ICCV (1): 介绍CVPR的时候说q了,
计算觉方面最好的会之一. IEEEd.

ICCV逢奇数年开Q开会地点以往是北,Ƨ洲和亚z轮,本来2003q定在北

京,后来因Sars和原?5q的法国换了一下。ICCV'07q将首次在南?巴西)举行.

CVPR原则上每q在北美开,
如果那年正好ICCV在北?则该q没有CVPR.

ICML (1): 机器学习斚w最好的会议之一. 现在是IMLSd,
每年举行. 参见关于NIPS?

介绍.

NIPS (1): 经计算斚w最好的会议之一, NIPSd,
每年举行. 值得注意的是, q个?

每年的D办地都是一L, 以前是美国丹?
现在是加拿大温哥? 而且它是q底开?

会开完后W?q才文集, 也就是说,
NIPS'05的论文集?6q出. 会议的名字是

"Advances in Neural Inxxxxation Processing Systems", 所?
与ICMLECMLq样

?标准?机器学习会议不同,
NIPS里有相当一部分经U学的内? 和机器学习有

一定的距离. 但由于会议的M内容是机器学?
或者说与机器学习关pȝ? 所?

不少人把NIPS看成是机器学习方面最好的会议之一.
q个会议基本上控制在Michael

Jordan的徒子徒孙手? 所以对Jordanpȝ人来?
发NIPSq不是难? 一些未必很

强的工作也能发上? 但对q个圈子之外的h来说,
惛_一实在很? 因ؓ留给"?

?的口子很? 所以对JordanpM外的人来?
发NIPS的难度比ICML更大. 换句话说,

ICML比较开? 圈子的影响不象NIPS那么?
所以北和Ƨ洲人都? 而NIPS则有

些h(特别是一些欧zh, 包括一些大?坚决不投E?
q对会议本n当然q不是好?

但因为Jordanpd强大, 所以它g也不太care.
最qIMLS(国际机器学习学会)攚w?

理事,
有资格提名的人包括近三年在ICMLECMLCOLT发过文章的h,
NIPS则被排除?

外了. 无论如何, q是一个非常好的会.

ACL (1-): 计算语言?自然语言处理斚w最好的会议, ACL
(Association of

Computational Linguistics) d, 每年开.

KR (1-): 知识表示和推理方面最好的会议之一,
实际上也是传lAI(卛_于逻辑的AI)

最好的会议之一. KR Inc.d, 现在是偶数年开.

SIGIR (1-): 信息索方面最好的会议, ACMd, 每年开. q个会现在小圈子气越?

重. 信息索应该不AI,
不过因ؓq里面用到机器学习越来越? 最q几q甚?有点机器学习应用会议的味道了, 所以把它也列进?

SIGKDD (1-): 数据挖掘斚w最好的会议, ACMd, 每年开. q个会议历史比较?

毕竟,
与其他领域相?数据挖掘q只是个弟弟甚臛_侄儿.
在几q前q很难把它列 在tier-1里面, 一斚w是名声远不及其他的top
conference响亮, 另一斚w是相对容?被录?
但现在它被列在tier-1应该是毫无疑问的事情?
q几q来KDD的质量都?? SIGKDD?000q来full paper的录取率都在10%-12%之间Q远q低于IJCAI和ICML.

l常听h_KDD要比IJICAI和ICML都要困难。IJICAI?,而KDD?0c没有扎实系l?

的工作,很难不留下漏z。有不少IJICAI的常客也每年都投KDDQ可隑־几个能经怸?

UAI (1-): 名字?人工中的不确定?,
涉及表示推理学习{很多方? AUAI

(Association of UAI) d, 每年开



草儿 2006-12-28 23:05 发表评论
]]>
分析:下一代数据库发展?大趋?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90396.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Wed, 27 Dec 2006 14:47:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90396.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/90396.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/90396.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/90396.html</trackback:ping><description><![CDATA[从最早用文gpȝ存储数据vQ数据库的发展已l有50多年了,光l历?0世纪60q代的层ơ数据库(IBM的IMS)和网状数据库(GE?IDS)的ƈ存,70~80q代关系数据库的异军HvQ?0q代对象技术的影响。如今,关系数据库依然处于主地位。关pL术之后,在新形势下,数据库应该如何发?又有哪些重要的趋势呢? <p>  作ؓ成熟的品,关系数据库已l走q了几十q的历史Q而今q各L数据库厂商大动干戈、紧锣密鼓地{备各自C品发布,为^淡的数据库市场掀起了C轮热潮?甲骨文刚刚推Z其Oracle 10g的第二版?IBM代号为Viper(毒蛇)的新一代DB2数据库品将于今q?月䆾推出试版本;微Y公司的SQL Server 2005已经在测试中Q今q底卛_面世;Sybase也将于下个月推出新版本的数据库品Sybase ASE 15。各数据库厂商集中火力瞄准的数据库市场竞争焦Ҏ什?C代数据库有哪些新的技术趋?</p><p>  对主企业数据库厂商包括甲骨文、IBM、微软、Sybase的采访表明,对XML的支持、网格技术、整合数据仓库和BI应用以及自我理已成Z一代数据库在功能上角逐的焦点?/p><p>  <strong>势之一Q对XML的支?/strong></p><p>  “如果谁能控制、支持和存储所有类型的数据Q那么这L厂商也就有能力扩展自己其他品和服务的市场空间。因此整合XML、对象数据、多媒体数据Q将所有数据类型放在一个^C是传统的关pL据库发展的一大趋ѝ”这也是数据库厂商大动干戈的主要原因?/p><p>  传统关系数据库中Q管理的是结构化数据Q数据是以行和列的二l表形式q行存储Qƈ通过标准的SQL查询语言q行查询。而随着Web时代的到来,?Web大背景下“泛数据”管理成Zh们关注的重点。所谓泛数据是指包含了文档、电子邮件等各种cd的数据,q些数据通常都不是以行和列的格式存在的,不像关系数据那样是严格的l构化数据,因此对这cL据的存储理以及快速高效的查询是对传统关系型数据库的挑战?/p><p>  目前XML标准日益成熟Qƈ很快成ؓ各种复杂的异构数据交换的核心技术和未来数据定义的标准格式,例如Q微软将在下一代Office软g中采?XML数据格式。因此,Native(原生)XML格式的数据存储在关系数据库中q支持对XMLQuery查询Q正是这些新推出的数据库产品的亮点之一?/p><p>  甲骨文公司大中华区销售顾问部高ȝ李颖聪表C,甲骨文在几年前就已经看到了这个趋势,q提供了W一轮的XML支持。早期是通过一个工P实现不同应用之间的沟通。例如在Oracle 8i产品中,甲骨文就已经推出了XDK(XML开发工?Q通过XDK开发应用把XML数据存储到关pL据库?在Oracle 9i产品中,则已l能够在数据库中定义XML数据cdQ通过SQL生成XML数据和对其进行查?而在Oracle 10g中,则已l提供了对XML Query语言(XQuery)的支持,而且在Oracle 10g中,XML数据是作Z个独立的方式存储在XMLDB数据库中Q提供的是Native XML的支持?/p><p>  而对于2006q推出的下一个版本的IBM DB2来说Q集成结构化和非l构化数据ƈ支持SQL及Xquery查询也将是其最大的卖点QIBM公司信息理部门ȝ理珍特·帕尔?Janet Perna)认ؓQ关pL据库寚wl构化数据的支持不亚于从层次数据库到关系数据库的革命性{变。“XML在信息管理领域无处不在,不管是管理结构化或非l构化信息,或者用于信息传输,或者是集成信息的映标准。它现在是不可或~的。?/p><p>  微Y中国数据库品经理表C,于今年下半q发布的Microsoft SQL Server 2005满_户希望把大量XML数据攑օ数据库中的需求,q提供Native(原生)XML和XQuery的支持。“微软是XQuery标准的制定者之一Q在SQL Server 2005中微软加入了很多核心技术,实现了快速查询,而且使得性能得到优化。?/p><p>  Sybase(中国)公司高产品市场专员韩谊则指出,Sybase是较早在数据库中支持XML的厂商之一。目前Sybase ASE可以XML文档存储在text或Image列中Q可以将XML映射到新的或已有的关p表中,可以从关pL询中创徏XML格式的结果集。未?Sybase除了不断d对XML新技术、新标准的支持,q要d更多函数Q增强对Web Service支持Q用户更方便的使用XML?/p><p>  InterSystems中国技术ȝ余衡也表C,InterSystems公司的后关系型数据库Caché已经完全支持XML了,而且q种支持来自?Caché独特的数据存储方式,使得XML的数据可以完地保存在Caché数据库中Q不论存取还是查询分析都非常单。关pL据库保存数据是采用二l表的方式,而Caché的存储方式是采用了多l数l的存储方式Q从而很Ҏ地实Cl构化数据的存取。同时在q个多维数据存储之上QCaché同时实现了对象的讉K方式和SQL的访问方式?/p><p>  Burton 集团的高U分析师Peter O'Kelly 则指出,如果用户的关pL据库支持原生XML数据Q那么就可以享受到XML数据格式带来的很多安全特性。例如,可以在整个文档中插入电子{֐Q也可以采购订单直接存储,无须q行M的{换,q些Ҏ都可以保文档不会被篡攏V但记者在对国内一些中企业用L采访中,很多客户都表CZ对XML查询的需求还不是很迫切。贝塔斯曼文化实业有限公司ITȝ江玮、佐丹奴 /Giordano集团CIO侯T、永恩集团CIO赉|雨都表示Q目前对XML支持的需求还不是很迫切。但他们表示Q对XML数据库是否真正能够达到的目标或对企业业务的帮助还不是非常了解Q需要l了解相x术和知识以及发展情况。针ҎQ甲骨文公司中国区销售顾问部高l理裴雪松表C,当CIOx信息整合ӞXML是必备的工P事实上,目前国内很多银行、电信等客户在进行应用整合时已经XML作ؓ其标准?/p><p>  <strong>势之二Q网格支?/strong></p><p>  “网格就是下一代Internet”,q句话强调了|格可能Ҏ来社会的巨大影响。在历史上,数据库系l曾l接受了Internet带来的挑战。毫无疑问,现在数据库系l也应对网格带来的挑战。甲骨文公司Oracle 10g|格数据库品的推出Q则网格技术的应用领域扩展C业计。但针对数据库对|格技术的支持Q目前一些厂商还持有不同的观点,例如微Y?InterSystems指出,|格q惟一的答案?/p><p>  “网D将是数据库技术发展的大趋势之一Q数据库不仅仅是存储数据Q而是要实现对信息整个生命周期的管理。而甲骨文提出的网格数据库则是其落到实处。”据悉,自Oracle 10gd发布后,很多被资源、管理困扰的客户都对甲骨文的|格技术非常感兴趣Q而且已经在很多领域得到应用。李颖聪同时表示Q在甲骨文刚刚发布的 Oracle 10g Release 2中又q一步改良了许多|格q算的功能,提升了性能、应用度以及化管理功能。该Ҏ可让客户多台标准服务器pȝ整合成一套可扩充的容错运^台。同Ӟ新版数据库可让客hҎ在网格环境中分n储存资源Qƈ且大q提升数据安全性。李颖聪表示Q甲骨文在未来的产品中将会l关注网格技术?Sybase公司则表C,管|格技术要成ؓ商业应用的主,q需要几q时间在应用和品上q一步完善,但Sybase非常xq种技术,已经作了一些技术探索和储备Qƈ希望能在不远的将来推出成熟的产品?/p><p>  而微软则表示Q目前微软还没有考虑到对|格技术的支持。他认ؓQ网格是一U扩展技术,扩展有两U方式:向上扩展(Scale up )和向外扩?Scale out)Q向上扩展是增加CPU的个数和内存{资源满用L需求,而向外扩展就是多节点q行技术,或者说是网格的技术。微软的一调查显C:目前99%的客户需求是?6颗CPU以下Q而目前,微Y的SQL Server 2005最多可以支?4颗CPUQ因此微软认为,通过向上扩展完全能够满客户的需求,而没有必要采用向外扩展技术?/p><p>  另外Q微软认为,|格应用在技术上q需解决一些问题。例如,|格中对资源的共享是通过׃n盘实现?Share Disk)Qƈ通过锁控制器(Lock manager)实现多个节点对资源的争夺Q管理节点对资源的访问,当节点增多,会带来性能的下降?/p><p>  InterSystems中国技术ȝ余衡也表C,|格计算在科学计领域非常受Ƣ迎Q例如对于处理电׃品中帧的应用E序Q或者处理复杂静态数据的数据仓库、处理复杂ƈ需要长旉q行的查询,|格计算也许是合适的。但|格计算不是l对的答案,对于大范围的事务处理cd的应用程序,q行高速数据库更新操作与计,|格计算可能׃适合了。在商业领域或者非U学斚w的应用中Q把d分解成逻辑或者功能组件比分解成过E更有意义?/p><p>  李颖聪介l,Tom|站的用L理系l已l采用了Oracle 10g的网格技术,在ƈ发处理能力的加强、自动扩展以及降低Y件成本方面都起到了很好的作用。在采访中,很多用户也表C对|格技术在数据库中的应用非常关注,但正如永恩集团CIO赉|雨所aQ对采用普通结点组成的pȝ的性能是否真正可以辑ֈ期望q有很多考虑。而佐丹奴集团CIO侯T则表C,作ؓ一个规模不很大的企业Q一C台服务器已经可以满现时及未来几q企业发展的需要了Q目前ƈ没有x|格技术?strong>势之三Q整合数据仓?BI</strong></p><p>  数据库应用的成熟Q得企业数据库里承载的数据来多。但数据的增多,随之而来的问题就是如何从量的数据中抽取出具有决{意义的信息(有用的数?Q更好地服务于企业当前的业务Q这需要商业智能。“从用户Ҏ据管理需求的角度看,可以划分两大c:一是对传统的、日常的事务处理Q也x们经常提的联Z务处?OLTP)应用;二是联机分析处理(OLAP)与辅助决{,既商业智?BI)。数据库不仅支持OLTPQ还应该Z务决{、分析提供支持。?目前Q主的数据库厂商都已经把支持OLAP、商业智能做为关pL据库发展的另一大趋ѝ?/p><p>  商业是指以帮助企业决{ؓ目的Q对数据q行攉、存储、分析、访问等处理的一大类技术及其应用,׃需要对大量的数据进行快速地查询和分析,传统的关pd数据库不能很好地满q种要求。或者说传统上,数据库应用是ZOLTP(在线交易处理)模型的,而不能很好支持OLAP(在线分析处理)Q商业智能是以数据仓库ؓ基础Q目前同时支持OLTP和OLAPq两U模式是关系数据库的着眼点所在?/p><p>  例如QIBM一直把商业应用当作 DB2的一个重要发展方向,q将商业功能构徏?DB2引擎中,例如DB2本n内置了数据库、在U分析的处理(OLAP)、各U分析等功能Q去q发布的DB2 8.3版本中又q一步加Z分析功能Qؓ商业应用q行了性能优化。目前可以通过两种方式?DB2 q行联机分析处理(OLAP)Q首先DB2 提供了用?CUBE ?ROLLUP(用于研究数据库中信息的流行的 OLAP 操作)的内|函数。其ơ,IBM ?Hyperion 合作创徏?DB2 OLAP ServerQDB2 OLAPServer 构徏在DB2 UDB 之上Q同时提供了多维数据存储和关pL据存储。IBM q与各类数据分析软g供应商合作,q些供应商他们的工兯使用 DB2 数据库?/p><p>  微Y也指出,微Y?997q开始在数据库品中增加了BI功能Q在SQL Server 2005中,微Y提供统一数据模型Q同时支持OLTP和OLAP两个模型Qƈ通过XML/A接口Q实现对数据库和数据仓库的访问,把关pL据库和BI功能整合在一赗?/p><p>  甲骨文公司商业智能和数据仓库副总裁Ray Roccaforte表示Q“几q前Q我们开始实施一简化复杂商业智能环境的计划。v初我们的重点是:让客户在实施商业目时不必面对多U专门的数据挖掘、OLAP和统计数据库Q我们直接把q些功能合ƈ到Oracle数据库中。现在这U做法已l扩展到商业软g工具上了Q我们把所有必需的Y件工L合到单一产品中,以此满客户的商业智能需求。?据悉Q新版本的甲骨文商业(Oracle Business Intelligence)工具目前正处于开发测试阶D,包括了Oracle Discoverer、Oracle Spreadsheet Add-In、Oracle Warehouse Builder、Oracle BI Beans{。通过Oracle Discoverer可在单一报告环境中存取关pL?即SQL)和联机分析处?OLAP)数据Q从而完成一般需要两UY件工h能完成的d?/p><p>  Sybase在即发布的数据库ASE15版本中也强化对OLAP分析表现功能的支持,q样对中企业客h_通过数据库就可以实现BI斚w的应?当然对一些大型用PSybase也提供了专业的数据仓库和商业应用解决Ҏ?/p><p>  <strong>势之四Q管理自动化</strong></p><p>  企业U数据库产品目前已经q入同质化竞争时代,在功能、性能、可靠性等斚w差别已经不是很大。但是随着商业环境竞争日益加剧Q目前企业面临着另外的挑战,卛_何以最低的成本同时又高质量地管理其IT架构。这也就带来了两斚w的挑战:一斚wpȝ功能日益强大而复杂,另一斚wQ对q些pȝ理和维护的成本来昂c正是意识到q些需求,自我理功能包括能自动地Ҏ据库自nq行监控、调整和修复{已成ؓ数据库追求的目标?“我们正看到来多的基于成本和可管理性的竞争Q因为市场正在寻扑ֺ用更单,拥有成本更低的数据库 ?Gartner研究集团一位追t数据库软g市场多年的分析员q样表示?/p><p>  Oracle的可理性战略侧重在两个斚wQ首先是使Oracle产品的每一部分(包括数据?可能地q行自我理Q以实现最的人力理;W二是整个数据库中心的理更便捗高效,例如Oracle企业理器就提供了一套解x案,用于理和监视基于Oraclepd技术的应用E序和系l?/p><p>  IBM已在其DB2数据库的应用中集成了自我理功能Q它可以让一个数据库自行发现问题q新设|。“IBM DB2是一个SMART的数据库Q即自我理及资源调度的数据库系l。DB2由数据库pȝ自己q行错误分析、可能的解决Ҏ及自我修复的功能Q提供部分核心配|参数进行自动配|,而不需数据库管理员q行指定和修攏V”Janet Perna表示Q在IBM的新版本数据库Viper中,会有更多自d能,如自我管理和自我修复功能?/p><p>  Sybase也表C,Sybase数据库一向以低成本而得到用户青睐,低成本主要体现在两个斚wQ一是购买成本,二是l护成本QSybase数据库的设计理念是让用hҎ上手、容易用。而在卛_推出的新版本中,q一步强化了易管理性,如图形化的操作界面、增加操作向g及自动执行功能,使数据库理人员不必要做很多重复性的工作?/p><p>  微Y也强调,易于理、易于用是SQL Server的设计理c在SQL Server2005中微软新的管理工具套件、自我调节能力和功能强大的编E模型将允许数据库管理员针对数据库的日常q{加以灉|掌控。针对SQL事g探查器及其它工具的改q还可帮助数据库理员将服务器调节至最x能状态。这些改q特性将允许数据库管理员从数据库日常q{工作中解脱出来,q中精力从事数据库体系l构设计{更具h值的d?/p><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/90396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2006-12-27 22:47 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分析Q面向Web的数据挖掘面?大挑?/title><link>http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90376.html</link><dc:creator>草儿</dc:creator><author>草儿</author><pubDate>Wed, 27 Dec 2006 12:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90376.html</guid><wfw:comment>http://www.aygfsteel.com/mlh123caoer/comments/90376.html</wfw:comment><comments>http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90376.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mlh123caoer/comments/commentRss/90376.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mlh123caoer/services/trackbacks/90376.html</trackback:ping><description><![CDATA[<font color="#000000">Web 上有量的数据信息,怎样对这些数据进行复杂的应用成了C数据库技术的研究热点。数据挖掘就是从大量的数据中发现隐含的规律性的内容Q解x据的应用质量问题。充分利用有用的数据Q废弃虚伪无用的数据Q是数据挖掘技术的最重要的应用。相对于Web的数据而言Q传l的数据库中的数据结构性很强,卛_中的数据为完全结构化的数据,而Web上的数据最大特点就是半l构化。所谓半l构化是相对于完全结构化的传l数据库的数据而言。显Ӟ面向Web的数据挖掘比面向单个数据仓库的数据挖掘要复杂得多? <p>  <strong>1.异构数据库环?/strong></p><p>  从数据库研究的角度出发,Web|站上的信息也可以看作一个数据库Q一个更大、更复杂的数据库。Web上的每一个站点就是一个数据源Q每个数据源都是异构的,因而每一站点之间的信息和l织都不一Pq就构成了一个巨大的异构数据库环境。如果想要利用这些数据进行数据挖掘,首先Q必要研究站点之间异构数据的集成问题,只有这些站点的数据都集成v来,提供l用户一个统一的视图,才有可能从巨大的数据资源中获取所需的东ѝ其ơ,q要解决Web上的数据查询问题Q因为如果所需的数据不能很有效地得刎ͼ对这些数据进行分析、集成、处理就无从谈v?/p><p>  <strong>2.半结构化的数据结?/strong></p><p>  Web 上的数据与传l的数据库中的数据不同,传统的数据库都有一定的数据模型Q可以根据模型来具体描述特定的数据。而Web上的数据非常复杂Q没有特定的模型描述Q每一站点的数据都各自独立设计Qƈ且数据本w具有自q性和动态可变性。因而,Web上的数据h一定的l构性,但因自述层次的存在,从而是一U非完全l构化的数据Q这也被UC为半l构化数据。半l构化是Web上数据的最大特炏V?/p><p>  <strong>3.解决半结构化的数据源问题</strong></p><p>  Web 数据挖掘技术首要解军_l构化数据源模型和半l构化数据模型的查询与集成问题。解决Web上的异构数据的集成与查询问题Q就必须要有一个模型来清晰地描q?Web上的数据。针对Web上的数据半结构化的特点,L一个半l构化的数据模型是解决问题的关键所在。除了要定义一个半l构化数据模型外Q还需要一U半l构化模型抽取技术,卌动地从现有数据中抽取半结构化模型的技术。面向Web的数据挖掘必M半结构化模型和半l构化数据模型抽取技术ؓ前提?/p><br />XML与Web数据挖掘技?/font> <p> <font color="#000000">  以XML 为基的新一代WWW环境是直接面对Web数据的,不仅可以很好地兼容原有的Web应用Q而且可以更好地实现Web中的信息׃n与交换。XML可看作一U半l构化的数据模型Q可以很Ҏ地将XML的文档描qC关系数据库中的属性一对应hQ实施精地查询与模型抽取?/font> </p> <p> <font color="#000000">  1.XML的生与发展</font> </p> <p> <font color="#000000">  XML (eXtensibleMarkupLanguage)是由万维|协?W3C)设计Q特别ؓWeb应用服务的SGML (StandardGeneralMarkupLanguage)的一个重要分支。ȝ来说QXML是一U中介标Ca(Meta- markupLanguage)Q可提供描述l构化资料的格式Q详l来_XML是一U类gHTMLQ被设计用来描述数据的语a。XML提供了一U独立的q行E序的方法来׃n数据Q它是用来自动描qC息的一U新的标准语aQ它能计算机通信把Internet的功能由信息传递扩大到人类其他多种多样的活动中厅RXMLpq规则组成,q些规则可用于创建标记语aQƈ能用一U被UC分析E序的简明程序处理所有新创徏的标记语aQ正如HTML为第一个计机用户阅读Internet文档提供一U显C方式一PXML也创Z一UQ何h都能d和写入的世界语。XML解决了HTML不能解决的两个Web问题Q即Internet发展速度快而接入速度慢的问题Q以及可利用的信息多Q但难以扑ֈ自己需要的那部分信息的问题。XML能增加结构和语义信息Q可使计机和服务器x处理多种形式的信息。因此,q用XML的扩展功能不仅能从Web服务器下载大量的信息Q还能大大减网l业务量?/font> </p> <p> <font color="#000000">  XML 中的标志(TAG)是没有预先定义的Q用者必要自定义需要的标志QXML是能够进行自解释(SelfDescribing)的语a。XML使用DTD (DocumentTypeDefinition文档cd定义)来显C些数据,XSL(eXtensibleStyleSheetLanguage)是一U来描述q些文档如何昄的机Ӟ它是XML的样式表描述语言。XSL的历史比HTML用的CSS(层叠式样式表 CascadingStyleSheets)q要悠久QXSL包括两部分:一个用来{换XML文档的方?一个用来格式化XML文档的方法。XLL (eXtensibleLinkLanguage)是XMLq接语言Q它提供XML中的q接Q与HTML中的cMQ但功能更强大。用XLLQ可以多方向q接Q且q接可以存在于对象层U,而不仅仅是页面层U。由于XML能够标记更多的信息,所以它p使用户很L地找C们需要的信息。利用XMLQWeb 设计人员不仅能创建文字和囑ŞQ而且q能构徏文档cd定义的多层次、相互依存的pȝ、数据树、元数据、超链接l构和样式表?/font> </p> <p> <font color="#000000">  2.XML的主要特?/font> </p> <p> <font color="#000000">  正是XML的特点决定了其卓的性能表现。XML作ؓ一U标记语aQ有许多特点Q?/font> </p> <p> <font color="#000000">  (1)单。XMLl过_ֿ设计Q整个规范简单明了,它由若干规则l成Q这些规则可用于创徏标记语言Qƈ能用一U常常称作分析程序的明程序处理所有新创徏的标记语a。XML能创ZUQ何h都能d和写入的世界语,q种创徏世界语的功能叫做l一性功能。如XML创徏的标记L成对出现Q以及依靠称作统一代码的新的编码标准?/font> </p> <p> <font color="#000000">  (2)开放。XML是SGML在市Z有许多成熟的软g可用来帮助编写、管理等,开攑ּ标准XML的基是经q验证的标准技术,q对网l做最佛_。众多业界顶公司,与W3C的工作群lƈ肩合作,协助保交互作业性,支持各式pȝ和浏览器上的开发h员、作者和使用者,以及改进XML标准。XML解释器可以用编E的Ҏ来蝲入一个XML的文档,当这个文档被载入以后,用户可以通过XML文g对象模型来获取和操纵整个文档的信息,加快了网l运行速度?/font> </p> <p> <font color="#000000">  (3)高效且可扩充。支持复用文档片断,使用者可以发明和使用自己的标{,也可与他人共享,可g伸性大Q在XML中,可以定义无限量的一l标注。XML提供了一个标C结构化资料的架构。一个XMLlg可以宣告与其相关的资料ؓ零售仗营业税、书名、数量或其它M数据元素。随着世界范围内的许多机构逐渐采用 XML标准Q将会有更多的相兛_能出玎ͼ一旦锁定资料,便可以用Q何方式透过늼U传递,q在览器中呈现Q或者{交到其他应用E序做进一步的处理?XML提供了一个独立的q用E序的方法来׃n数据Q用DTDQ不同的l中的hp够用共同的DTD来交换数据。你的应用程序可以用这个标准的DTD 来验证你接受到的数据是否有效Q你也可以用一个DTD来验证你自己的数据?/font> </p> <p> <font color="#000000">  (4)国际化。标准国际化Q且支持世界上大多数文字。这源于依靠它的l一代码的新的编码标准,q种~码标准支持世界上所有以主要语言~写的؜合文本。在HTML 中,大多数字处理而言Q一个文档一般是用一U特D语a写成的,不管是英语,q是日语或阿拉伯语,如果用户的Y件不能阅ȝD语a的字W,那么他就不能使用该文档。但是能阅读XML语言的Y件就能顺利处理这些不同语a字符的Q意组合。因此,XML不仅能在不同的计机pȝ之间交换信息Q而且能跨国界和超不同文化疆界交换信息?/font> </p> <font color="#000000">3.XML在Web数据挖掘中的应用</font> <p> <font color="#000000">  XML 已经成ؓ正式的规范,开发h员能够用XML的格式标记和交换数据。XML在三层架构上为数据处理提供了很好的方法。用可升的三层模型,XML可以从存在的数据中生出来,使用XMLl构化的数据可以从商业规范和表现形式中分d来。数据的集成、发送、处理和昄是下面过E中的每一个步?</font> </p> <p> <font color="#000000">  促进XML应用的是那些用标准的HTML无法完成的Web应用。这些应用从大的斚w讲可以被分成以下四类Q需要Web客户端在两个或更多异质数据库之间q行通信的应?试图大部分处理负蝲从Web服务器{到Web客户端的应用;需要Web客户端将同样的数据以不同的浏览Ş式提供给不同的用L应用;需要智能Web代理Ҏ个h用户的需要裁减信息内容的应用。显而易见,q些应用和Web的数据挖掘技术有着重要的联p,ZWeb的数据挖掘必M靠它们来实现?/font> </p> <p> <font color="#000000">  XML l基于Web的应用Y件赋予了强大的功能和灉|性,因此它给开发者和用户带来了许多好处。比如进行更有意义的搜烦Qƈ且Web数据可被XML唯一地标识。没有XMLQ搜索Y件必M解每个数据库是如何构建的Q但q实际上是不可能的,因ؓ每个数据库描q数据的格式几乎都是不同的。由于不同来源数据的集成问题的存在,现在搜烦多样的不兼容的数据库实际上是不可能的。XML能够使不同来源的l构化的数据很容易地l合在一赗Y件代理商可以在中间层的服务器上对从后端数据库和其它应用处来的数据q行集成。然后,数据p被发送到客户或其他服务器做进一步的集合、处理和分发。XML的扩展性和灉|性允许它描述不同U类应用软g中的数据Q从描述搜集的Web到数据记录Q从而通过多种应用得到数据。同Ӟ׃ZXML的数据是自我描述的,数据不需要有内部描述p被交换和处理。利用XMLQ用户可以方便地q行本地计算和处理,XML格式的数据发送给客户后,客户可以用应用Y件解析数据ƈҎ据进行编辑和处理。用者可以用不同的方法处理数据,而不仅仅是显C它。XML文档对象模式(DOM)允许用脚本或其他~程语言处理数据Q数据计不需要回到服务器pq行?XML可以被利用来分离使用者观看数据的界面Q用简单灵zd攄格式Q可以给Web创徏功能强大的应用YӞ而原来这些Y件只能徏立在高端数据库上。另外,数据发到桌面后,能够用多U方式显C?/font> </p> <p> <font color="#000000">  XML q可以通过以简单开放扩展的方式描述l构化的数据QXML补充了HTMLQ被q泛地用来描qC用者界面。HTML描述数据的外观,而XML描述数据本n。由于数据显CZ内容分开QXML定义的数据允许指定不同的昄方式Q数据更合理地表现出来。本地的数据能够以客户配|、用者选择或其他标准决定的方式动态地表现出来。CSS和XSL为数据的昄提供了公布的机制。通过XMLQ数据可以粒状地更新。每当一部分数据变化后,不需要重发整个结构化的数据。变化的元素必须从服务器发送给客户Q变化的数据不需要刷新整个用者的界面p够显C出来。但在目前,只要一条数据变化了Q整一都必须重徏。这严重限制了服务器的升U性能。XML也允许加q其他数据,比如预测的温度。加入的信息能够q入存在的页面,不需要浏览器重新发一个新的页面。XML应用于客户需要与不同的数据源q行交互Ӟ数据可能来自不同的数据库Q它们都有各自不同的复杂格式。但客户与这些数据库间只通过一U标准语aq行交互Q那是XML。由?XML的自定义性及可扩展性,它以表辑֐U类型的数据。客h到数据后可以q行处理Q也可以在不同数据库间进行传递。MQ在q类应用中,XML解决了数据的l一接口问题。但是,与其他的数据传递标准不同的是,XMLq没有定义数据文件中数据出现的具体规范,而是在数据中附加TAG来表达数据的逻辑l构和含义。这使XML成ؓ一U程序能自动理解的规范?/font> </p> <p> <font color="#000000">  XML 应用于将大量q算负荷分布在客LQ即客户可根据自q需求选择和制作不同的应用E序以处理数据,而服务器只须发出同一个XML文g。如按传l的 “Client/Server”工作方式,客户向服务器发出不同的请求,服务器分别予以响应,q不仅加重服务器本n的负P而且|络理者还M先调查各U不同的用户需求以做出相应不同的程序,但假如用L需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的Q因为服务器端的~程人员可能来不及满众多的应用需求,也来不及跟上需求的变化Q双斚w很被动。应用XML则将处理数据的主动权交给了客P服务器所作的只是可能完善、准地数据封装进XML文g中,正是各取所需、各司其职。XML的自解释性客户端在收到数据的同时也理解数据的逻辑l构与含义,从而q泛、通用的分布式计算成ؓ可能?/font> </p> <p> <font color="#000000">  XML q被应用于网l代理,以便Ҏ取得的信息进行编辑、增减以适应个h用户的需要。有些客户取得数据ƈ不是Z直接使用而是ZҎ需要组l自q数据库。比方说Q教育部门要建立一个庞大的题库Q考试时将题库中的题目取出若干l成试卷Q再试卷封装进XML文gQ接下来在各个学校让光过一个过滤器Qo掉所有的{案Q再发送到各个考生面前Q未l过滤的内容则可直接送到老师手中Q当然考试q后q可以再传送一份答案汇~。此外,XML文g中还可以包含q诸如难度系数、往q错误率{其他相关信息,q样只需几个程序,同一个XML文g便可变成多个文g传送到不同的用h中?/font> </p> <p> <font color="#000000">  l束?:</font> </p> <p> <font color="#000000">  面向Web的数据挖掘是一复杂的技术,׃Web数据挖掘比单个数据仓库的挖掘要复杂的多,因而面向Web的数据挖掘成了一个难以解决的问题。而XML的出Cؓ解决Web数据挖掘的难题带来了Z。由于XML能够使不同来源的l构化的数据很容易地l合在一P因而搜烦多样的不兼容的数据库能够成ؓ可能Q从而ؓ解决Web数据挖掘N带来了希望。XML的扩展性和灉|性允许XML描述不同U类应用软g中的数据Q从而能描述搜集的Web中的数据记录。同Ӟ׃ZXML的数据是自我描述的,数据不需要有内部描述p被交换和处理。作C结构化数据的一个工业标准,XML为组l、Y件开发者、Web站点和终端用者提供了许多有利条g。相信在以后Q随着XML作ؓ在Web上交换数据的一U标准方式的出现Q面向Web的数据挖掘将会变得非常轻松?/font> </p><img src ="http://www.aygfsteel.com/mlh123caoer/aggbug/90376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mlh123caoer/" target="_blank">草儿</a> 2006-12-27 20:06 <a href="http://www.aygfsteel.com/mlh123caoer/archive/2006/12/27/90376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ȫ</a>| <a href="http://" target="_blank">;</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ʊ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">н</a>| <a href="http://" target="_blank">ڰ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ѩ</a>| <a href="http://" target="_blank">ֳ</a>| <a href="http://" target="_blank">ӥ̶</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">żҸ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">°Ͷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">²</a>| <a href="http://" target="_blank">Ϻ</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">Ͳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˼é</a>| <a href="http://" target="_blank">ѷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӵ</a>| <a href="http://" target="_blank">Ͷ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>