[发明专利]一种基于XML的流式分页发布方法及系统有效
申请号: | 201310484727.7 | 申请日: | 2013-10-16 |
公开(公告)号: | CN103544262B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 王冬雪;麻锐;孟利民;王辉;张标标 | 申请(专利权)人: | 银江股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 杭州斯可睿专利事务所有限公司33241 | 代理人: | 王利强 |
地址: | 310012 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于XML的流式分页发布方法及系统,方法包括以下步骤:1)对满足预先设定的分段条件的XML输入文档进行流化处理,包括分段和重构处理,选择性地进行再一次的流化处理;2)对满足预先设定的分割条件的XML输入文档进行快速分页处理,包括多轮二叉树式分割和重构处理;3)对照终端设备提供的转换样式表,将输入文档转换成其它标准格式的文档输出;4)将具有不同标准格式的文档发送给相应的终端设备。系统的组成包括以下部分:流化处理器,包括分段器和重构器;快速分页器包括分割器和重构器;XSLT转换器;发布服务器。本发明适用于XML文档特别大的场合、提高了转换的可靠性和容错性、灵活性良好、适用面较广。 | ||
搜索关键词: | 一种 基于 xml 分页 发布 方法 系统 | ||
【主权项】:
一种基于XML的流式分页发布方法,其特征在于:所述发布方法包括以下步骤:(1)流化处理过程:对于每个大型的XML输入文档,流化处理器先要对其大小进行判断,如果文档大小不超过流化处理器可用的最大内存,即Ts≤Tm,那么进入步骤(2)处理;反之,如果文档大小超过流化处理器可用的最大内存,即Ts>Tm,那么流化处理器将对该文档进行分段和重构处理,处理后将生成两个形式良好的XML文档,一个大小等于Tm,另一个大小等于Ts‑Tm,前者将被送入步骤(2)处理,而后者将被送往流化处理器进行再一次地判断、分段和重构处理;(2)快速分页处理过程:若XML文档Fs0,1的大小远远超过终端设备的需求内存T,即Ts0,1>>T,则对XML文档Fs0,1进行第一轮的分割和重构处理,生成两个“形式良好”的新XML文档Fs1,1和Fs1,2;接下来再对新生成的两个文档Fs1,1和Fs1,2进行判断和第二轮的分割和重构处理,即,若两个新生成的文档Fs1,1和Fs1,2仍满足分割条件:Ts1,1>>T且Ts1,2>>T,则应同时对这两个文档进行分割和重构处理,生成四个“形式良好”文档Fs2,1、Fs2,2、Fs2,3和Fs2,4,依此类推,反复地判断、分割和重构,直到某一轮分割生成的所有XML文档的大小均不超过终端设备的需求内存,分割和重构处理过程结束;(3)XSLT转换过程:对照终端设备提供的转换样式表,将输入文档转换成其它标准格式的文档输出;(4)发布过程:将具有不同标准格式的文档发送给相应的终端设备;所述步骤(1)中,流化处理过程包括分段处理过程和重构处理过程,所述分段处理过程:假设现在有一个XML文档Fs,大小为Ts,流化处理器可用的最大内存为Tm,如果XML文档非常大,远远大于流化处理器可用的最大内存,即Ts>>Tm,或者说,满足条件:Ts≈pTm,p>>1,那么使用流化处理器中的分段器对它进行分段处理,具体包括以下三个步骤:第一、读取XML文档Fs;第二、设定分段读取阈值Td=Tm;第三、进行分段处理,生成两个非“形式良好的”XML文档:①Fs1,大小记为Ts1,Ts1=Td=Tm;②Fs2,大小记为Ts2,Ts2=Ts‑Td=Ts‑Tm;所述重构处理过程包括初步重构和再重构两个步骤,过程如下:1.1)读取第三步骤生成的XML文档Fs1;1.2)将指针定位到尾部;1.3)向前搜索结束标签的开始标记“</”,并记录其位置为L1;1.4)从L1开始向后搜索相应的结束标记“>”,并记录其位置为L2,此时会有两种可能:如果能够搜到结束标记“>”,那么L2的值就是该标记的位置值;反之,如果未能搜到结束标记“>”,这时应将指针定位到L1处,再一次执行步骤1.3),得到新的L1值后,再执行步骤1.4),获取新的L2值,这个新的L2值才是该情况下结束标记的真正位置;1.5)将因分割而导致的不完整数据从Fs1的尾部移到Fs2的首部;此后将得到已删除不完整数据的XML文档Fs1,和已添加不完整数据的XML文档Fs2;1.6)获取因分割而缺失的所有祖先节点的标签名字:1.6.1)设定读取标志flag=True,当读取的值的长度大小等于0时,flag=False;1.6.2)读取步骤1.5)生成的已删除不完整数据的XML文档Fs1,将每个节点标签名字,空标签名字除外,添加到列表中;1.6.3)统计列表中的不同元素及其个数,根据形式良好的XML文档的开始标签和结束标签应配套,空标签要关闭的原理,个数为奇数的元素,第一个元素除外,即为因分割而缺失的祖先节点标签名字,将这些标签名字放入另一个列表中,获取这些节点标签名字时,应保持其在列表中的原有顺序不变;1.7)将步骤1.5)生成的两个XML文档Fs1和Fs2构造成形式良好的XML文档:1.7.1)把步骤1.6.3)得到的列表中的元素用作结束标签倒序地添加到已删除不完整数据的XML文档Fs1的尾部;1.7.2)把步骤1.6.3)得到的列表中的元素,第一个元素除外,用作开始标签正序地添加到已添加不完整数据的XML文档Fs2的首部;1.7.3)把步骤1.6.3)得到的列表中的第一个元素,即声明标签名字,用作开始标签添加到步骤1.7.2)得到的XML文档Fs2的首部。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于银江股份有限公司,未经银江股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310484727.7/,转载请声明来源钻瓜专利网。