从机能角度讲,有两类处置惩罚XML文档的要领。批量处置惩罚体式格局需要较短的时候,剖析成组的文档。实时体式格局就是实时的处置惩罚文档。批处置惩罚体式格局的机能能够经由过程在肯定时候内处置惩罚若干文档来丈量,而实时形式的机能也采纳相似的丈量体式格局,不过是以处置惩罚一个文档需要多长时候来盘算的。
Scenarios场景
设想一下,你有一个实时事情的体系,比方一个Web服务器。这个体系需要实时的吸收客户发来的定单,并需要立即对这个定单举行相应。
这个体系明显不能用批量处置惩罚的体式格局举行。简朴的预计一下,假定这是个很简朴的定单,只要十个项目,如许所生成的XML文档就比较小,也许每一个文档是4KB。这类状况下,运用DOM来剖析收到文档。
假如你的定单每小时只要几个,那末体系机能对你来讲还不是题目。然则久远斟酌,总有一天定单的数目会多到令你意想到体系机能必需进步。
如今你最先斟酌进步机能来顺应增进的负荷。你的定单文档已很小了,把它们合并成较大的文档也没有什么现实的意义。从纵向斟酌,这时候你能够进步现有体系处置惩罚才能;从横向斟酌,你能够增添更多的体系将负荷分散开。
再看看另一个完整差别的范畴,你如今要处置惩罚的是一个大型的数据仓库。和Web服务器完整差别,你如今用FTP来传输均匀大小为300MB的XML文档。假如照样运用DOM来剖析XML文档,你很快就会碰到大贫苦。相反,假如你运用SAX就会好的多,它能够直接剖析流入的XML文档,而没必要把它们事前都装入内存。
转变文档尺寸
有时候你会碰到特殊状况需要转变XML文档大小。设想一下,和适才一样你有一个实时处置惩罚XML文档的Web服务器,而此时一切的文档大小都是400MB而不是4KB,你不能运用DOM体式格局,由于那太占内存了。但是由于这是个实时体系,机能很主要。你能够运用SAX,不过需要时候许可并要有壮大的处置惩罚器。
在这类状况下,你能够经由过程转变文档大小来革新体系实行机能。比方你能够将一个400MB的文档分红10个40MB的,或许40个10MB的小文档,这比起处置惩罚一个400MB的文档更有效力。如许你就能够运用DOM体式格局把文件读入内存举行处置惩罚,实时相应每一个文档的要求了。同时还能够清撤除不相关的文档。
在批量处置惩罚体式格局上也有相似状况。设想一下你在经由过程DOM的批处置惩罚体式格局处置惩罚数千个4KB大小的文档。最好的体式格局是将一千个文件合并成一个4MB的文件。由于每一个文档的载入都需要占用体系时候(不论是DOM照样SAX)。经由过程将一千个文档合并成一个,你只需要载入一个文档,占用的时候只是本来的千分之一。
以上就是怎样获得XML文档大小的细致引见的内容,更多相关内容请关注ki4网(www.ki4.cn)!