CN101540689A - 一种自适应xml内容发布方法 - Google Patents

一种自适应xml内容发布方法 Download PDF

Info

Publication number
CN101540689A
CN101540689A CN200810102099A CN200810102099A CN101540689A CN 101540689 A CN101540689 A CN 101540689A CN 200810102099 A CN200810102099 A CN 200810102099A CN 200810102099 A CN200810102099 A CN 200810102099A CN 101540689 A CN101540689 A CN 101540689A
Authority
CN
China
Prior art keywords
xml
node
level
xml content
self
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200810102099A
Other languages
English (en)
Other versions
CN101540689B (zh
Inventor
王劲林
李晔
白鹤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Acoustics CAS
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN2008101020990A priority Critical patent/CN101540689B/zh
Publication of CN101540689A publication Critical patent/CN101540689A/zh
Application granted granted Critical
Publication of CN101540689B publication Critical patent/CN101540689B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种一种自适应XML内容发布方法,包括如下步骤:1)客户端向服务端发送针对某一XML内容的请求;2)服务端查找所请求的XML内容,然后从根节点到叶节点遍历该XML内容的DOM树状结构,记录所有节点的抽象化层次;3)将节点的抽象化层次转化为数值化层次;4)确定待传输XML文件的数据量上限,根据数值化层次和所述数据量上限舍弃优先级较低的节点,得到新的XML文件,最后将该XML文件返回给客户端。本发明能够在不改变原有业务系统的情况下,将现有的海量XML内容进行自适应的调整发布,使得XML内容能够应用到不同带宽的网络环境中,并且大大减小了由网络变化带来的差异性。

Description

一种自适应XML内容发布方法
技术领域
本发明涉及网络服务方法,尤其涉及到跨计算机网络,移动通信网的XML形式的内容发布方法。
背景技术
XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
在跨网络环境中,XML内容发布系统存在如下问题:不同网络接入的用户访问一些提供XML形式的内容的服务,存在等待时间过长、响应时间慢、下载时间过长、连接失败等问题;不同终端用户由于自身设备的局限,存在终端处理能力受限,终端存储空间受限,终端媒体播放器不兼容等问题。
目前,互联网上通过XML文档发布内容的内容商越来越多。为了给移动通信网上的用户和互联网上的用户同时提供服务,一般有两种方法,一种是内容商提供2套不同的服务,独立服务于两种不同网络的用户;二是不区分互联网用户还是其他网络用户,都提供相同的内容。
这两种方法没有考虑终端所处的不同网络环境,只能人为地提供不同的、独立的服务,不能满足自动适应的要求。这些方法的不足之处包括:不能快速部署业务;不同保证业务同步;用户等待时间过长;下载的内容不适合终端等。总的来说,这些方法不是自适应的发布方法,因此,XML内容的融合发布系统还存在改进的余地。
发明内容
本发明的目的在于克服传统XML内容发布业务系统不能根据不同的终端、不同的网络带宽自适应提供不同内容的缺陷,提高内容融合系统的智能适应性,从而提供一种能够自适应调整XML内容的基于层原理的发布方法。
本发明提出的自适应XML内容发布方法包括如下步骤:
1)从根节点到叶节点遍历XML内容的DOM树,设定每个节点的优先级;
2)生成各节点的XML内容消息片断;
3)依照优先级将部分所述XML内容消息片断进行组合,生成XML文件并将其发布出去。
上述技术方案中,所述步骤1)包括如下子步骤:
11)从根节点到叶节点遍历该XML内容的DOM树状结构,记录所有节点的抽象化层次;所述节点的抽象化层次包括两个组成部分,一个部分是该节点的父节点的抽象化层次,另一部分是该节点在其所有兄弟节点中的优先级;
12)将节点的抽象化层次转化为数值化层次,该数值化层次表征所有节点的优先级。
上述技术方案中,所述步骤11)中,对于兄弟节点之间的优先级,定义左节点的优先级数值低于右节点的优先级数值,所述优先级数值越小,优先级越高。
上述技术方案中,所述步骤12)中,所述数值化层次的计算方法为:
L n i = Max { L n - 1 1 , L n - 1 2 , . . . , L n - 1 m } × L f × K + L C n i , 其中Ln i表示DOM树中第n级的第i个节点的数值化层次,Lf表示父节点的数值化层次,LCn i表示当前DOM树中第n级的第i个节点在其兄弟节点中的优先级; L 0 i = 0 , Lroot=0,K为经验参数,取大于1的整数。
上述技术方案中,所述步骤3)包括如下子步骤:
31)确定待传输XML文件的数据量上限;
32)根据所述数据量上限舍弃优先级较低的节点,得到新的XML文件;
33)将该XML文件发布。
上述技术方案中,所述步骤31)中,所述数据量上限根据客户端的终端设备类型、网络类型和/或网络带宽确定。
上述技术方案中,所述步骤32)还包括:根据数值化层次在待传输XML文件中依次添加优先级较高的节点的XML消息片断,直至该XML文件达到所述数据量上限。
上述技术方案中,所述步骤1)中,所述XML内容的DOM树可以是新生成的XML文件的DOM树,也可以是解析已存在的XML文件而得到的DOM树。
上述技术方案中,所述内容发布方法在执行步骤1)前,首先需要接收客户端对某一XML内容的请求,然后查找到该XML内容。
本发明具有如下技术效果:
1.本发明具有普适性:能够在不改变原有业务系统的情况下,将XML内容发布业务同时应用到不同带宽的网络环境中,使用户感觉不到明显的由网络变化带来的差异性,例如同时在互联网、移动通信网、广播电视网络中提供XML数据下载业务;各种终端都可以享受该业务,例如手机,PDA,机顶盒等。
2.应用本发明的系统具有稳定性,基本层数据的定义,保证了系统能够满足基本的内容发布需求,不存在不能提供服务的情况。
3.本发明具有可扩展性:系统能够扩展到其他和XML内容结构、特性类似的内容领域。
4.本发明设计框架思路明确,实施难度较小,可以广泛应用到生产系统中去。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1是XML内容分层发布流程
图2是基于层的自适应XML发布系统
图3是分层DOM树示意图
图4是本发明与现有技术的性能变化趋势比较示意图
具体实施方式
本发明基本思想是尽可能的把XML文档内部的内容分成不同的级别,然后在传输过程中可以根据实际网络情况和终端情况,依次挑选、合并不同优先级别的内容,通过传输网络发布给终端。
在本方法中,内容主要指XML内容,但是并不局限于XML内容,该方法适应于其它和XML内容特性类似的结构化内容,互联网多年的内容积累,形成了海量的XML内容数据库,在线服务要提供更丰富的信息,不可避免而且必须处理海量的数据库内容,所以,需要构建XML内容的融合发布系统。
本发明应用于跨网络,跨终端的XML内容发布业务系统中,其应用环境如图2所示,(P,N,D)集合中,P表示请求的输入参数(P表示客户端向服务器请求数据时的输入条件),N表示网络类型参数,D表示设备类型参数,N,D都是由代理服务器(如图2所示,代理服务器位于客户端和后台发布服务器之间)检测计算出来。返回的一系列XML内容片断经过XML内容合成器,生成X-RESP响应,返回给请求用户。
随着多媒体技术的发展,数字化制作,数字化传播,数字化消费的“新媒体”下载业务大量涌现;同时数字广播电视网、互联网、无线移动网的高速发展以及它们的交联,使得XML内容必须在多种网络环境里传播,如何使XML内容能够根据网络的特性和设备的特性做自动的适配、转换,并达到在相应网络带宽下,相应的终端设备上的最佳质量,是本发明旨在解决的问题。
下面结合附图和优选实施例对本发明作进一步地描述。本发明选取天气预报为优选实例:
实施前准备工作:
步骤一:选择平台
硬件平台
选取服务器为DELL 1850,基本配置如下:XEON 3.2G(2M),DDR 2G内存,146GB硬盘,双1000M网卡。选取三星公司的Windows Mobile智能手机SGH-i718+为移动终端软件开发测试平台。
软件平台
选取Microsoft Server 2003作为服务器操作系统,服务器端选取Microsoft.NET架构作为Web Service开发平台,客户端同样采用Microsoft.NET架构开发客户端应用程序。天气预报数据来源于Weather.com提供的原始数据接口,Weather.com是一家致力于提供免费天气预报数据的网站。
步骤二:网络检测代理的实现
本实例中网络检测代理采用较简单的方法实现:通过HttpContext.Current.Request.ServerVariables[″HTTP_X_FORWARDED_FOR″]环境变量取得IP后用代码查IP来源,上述方法为MS.Net中的方法;IP来源采用互联网上开放的IP库,所谓IP库,是指包括IP及其所属关系的数据库,基于此IP库,可根据其IP的宿主判断网络的类型,目前常见的网络类型有DSL,T1,Cable,Dialup,ISDN,GPRS,CDMA,WCDMA等。
步骤三:终端检查代理的实现
终端检查代理的实现基于服务器上的UA(User-Agent)库,通过获取客户端浏览器以及客户端应用程序HTTP HEADER中的User-Agent参数,得到设备的相应参数(Data Sheet),如果HTTP HEADER中没有UA,则取默认的设备参数,默认为IE浏览器。
步骤四:计算XML内容的抽象化层次
XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言,基于此定义,可以认为XML内容就是一种用户定义的数据类型,它包含一些非原子的元素,更确切地说,这些数据类型是可以分割的,它们既可以单独使用,又可以在适当情况下作为一个独立的单元使用。
本文对输出数据类型采用了多级多叉树的表示方法,如图3所示,其是一个只有两级的多叉树,实际应用中可以有更多级。定义某节点的抽象化层次AL=PAL+String(″-″)+CAL;PAL表示父节点的抽象化层次,根节点不计;CAL表示该节点在其兄弟节点中的优先级,用整数表示,本文规定左节点的优先级低于右节点的优先级,数字越小,优先级越高。
本实例待发布的XML内容的结构如下所示,其中的LOPo表示待发布XML内容的数据结构:
LOP o = CCircs tmp , flink , t , icon bar , wind , hmid , vis uv , dewp , moon , FToday hi , low sunr , suns day det ail night det ail , FDayAfter - 1 hi , low sunr , suns day det ail night det ail , FDayAfter - 2 hi , low sunr , suns day det ail night det ail , FDayAfter - 3 hi , low sunr , suns day det ail night det ail ,
按照本步骤的抽象化层次定义方法,本实施实例的抽象化层次定义如下:
本XML返回包含5个元素,第一个元素为当前的天气情况,级别为0,有三个子元素,“tmp,flink,icon”的级别是0,其抽象层次即为0-0;“bar,wind,hmid,vis”的级别是1,其抽象层次即为0-1;“uv,dewp,moon”的级别是2,其抽象层次即为0-2;第二个元素为今日的天气总体情况,级别为1,有四个子元素,“hi,low”的级别是0,其抽象层次即为1-0;“sunr,suns”的级别是1,其抽象层次即为1-1;“day detail”的级别是2,其抽象层次即为1-2;“night detail”的级别是3,其抽象层次即为1-3;第三个元素为明日的天气总体情况,级别为2,有四个子元素,“hi,low”的级别是0,其抽象层次即为2-0;“sunr,suns”的级别是1,其抽象层次即为2-1;“day detail”的级别是2,其抽象层次即为2-2;“night detail”的级别是3,其抽象层次即为2-3;第四个元素为后天的天气总体情况,级别为3,有四个子元素,“hi,low”的级别是0,其抽象层次即为3-0;“sunr,suns”的级别是1,其抽象层次即为3-1;“day detail”的级别是2,其抽象层次即为3-2;“night detail”的级别是3,其抽象层次即为3-3;第五个元素为第四日的天气总体情况,级别为4,有四个子元素,“hi,low”的级别是0,其抽象层次即为4-0;“sunr,suns”的级别是1,其抽象层次即为4-1;“day detail”的级别是2,其抽象层次即为4-2;“night detail”的级别是3,其抽象层次即为4-3;
步骤五:计算XML内容的数值化层次
数值化XML内容层次的目的是把数据元素的重要程度从抽象表示的层次转化成数值化的层次,可以进行数值化计算,例如对计算机系统来说,数值化层次更方便比较其大小。
本发明对XML文档的分层处理均基于文档的DOM树,数值化层次的原则是下级节点层次的数值大于上一级节点的层次的数值,定义一种数值化层次的计算方法为:
L n i = Max { L n - 1 1 , L n - 1 2 , . . . , L n - 1 m } × L f × K + L C n i , ( L 0 i = 0 , Lroot=0,K为一个大于1的整数),其中Ln i表示DOM树中第n级的第i个节点的数值化层次,Lf表示父节点的数值化层次,LCn i表示当前DOM树中第n级的第i个节点在其兄弟节点中的数值化优先级,如步骤四所定义,此数值化优先级用整数表示,且左节点的优先级低于右节点的优先级,数字越小,优先级越高,比如图3中的某节点,其抽象化层次定义为2-2,树为2级多叉树,分析得到 L C 2 2 = 2 , L 2 2 = Max { 0,1,2,3 } × 2 × K + 2 , 取K=10时, L 2 2 = 62 .
按照此数值化层次计算方法,对本实例的XML内容进行自顶向下的先序遍历处理,即可产生19个消息片断,每个消息片断对应于一个数据层,且每个消息片断有一个抽象化和数值化的层次定义,消息片断的个数取决于DOM树叶子节点的个数。
根据步骤四和步骤五,得出数值化的层次表:
  参数   抽象化层次   数值化层次L
  CCircs[0]   0-0   0
  CCircs[1]   0-1   1
  CCircs[2]   0-2   2
  FToday[0]   1-0   40
  FToday[1]   1-1   41
  FToday[2]   1-2   42
  FToday[3]   1-3   43
  DayA1[0]   2-0   80
  DayA1[1]   2-1   81
  DayA1[2]   2-2   82
  DayA1[3]   2-3   83
  DayA2[0]   3-0   120
  DayA2[1]   3-1   121
  DayA2[2]   3-2   122
  DayA2[3]   3-3   123
  DayA3[0]   4-0   160
  DayA3[1]   4-1   161
  DayA3[2]   4-2   162
  DayA3[3]   4-3   163
步骤六:XML内容消息片断定义
定义19个片断,下面是以黑龙江省哈尔滨市的天气情况为例进行的消息片断处理(该片断的生成依赖于步骤四的处理,其中哈尔滨市是由输入参数P来决定的):
片断1:
 <cc>
   <lsup>12/11/072:00PM Local Time</lsup>
   <obst>Harbin,China</obst>
   <tmp>21</tmp>
   <flik>15</flik>
   <t>Sunny</t>
  <icon>32</icon>
</cc>
片断2:
<cc>
  <bar>
    <r>30.12</r>
    <d>steady</d>
  </bar>
  <wind>
    <s>4</s>
    <gust>N/A</gust>
    <d>270</d>
    <t>W</t>
  </wind>
 <hmid>46</hmid>
 <vis>5.6</vis>
</cc>
片断3:
<cc>
 <uv>
   <i>0</i>
   <t>Low</t>
 </uv>
 <dewp>7</dewp>
 <moon>
     <icon>1</icon>
     <t>Waxing Cre scent</t>
   </moon>
 </cc>
片断4:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″0″t=″Tuesday″dt=″Dec 11″>
    <hi>N/A</hi>
    <low>3</low>
   </day>
    </dayf>
片断5:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
<day d=″0″t=″Tuesday″dt=″Dec 11″>
  <sunr>7:02AM</sunr>
  <suns>3:49PM</suns>
 </day>
  </dayf>
片断6:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″0″t=″Tuesday″dt=″Dec 11″>
    <sunr>7:02AM</sunr>
    <suns>3:49PM</suns>
    <part p=″d″>
      <icon>44</icon>
      <t>N/A</t>
      <wind>
        <s>N/A</s>
        <gust>N/A</gust>
        <d>N/A</d>
        <t>N/A</t>
      </wind>
      <bt>N/A</bt>
      <ppcp>10</ppcp>
      <hmid>N/A</hmid>
    </part>
   </day>
    </dayf>
片断7:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″0″t=″Tuesday″dt=″Dec 11″>
    <part p=″n″>
      <icon>31</icon>
      <t>Clear</t>
      <wind>
        <s>5</s>
        <gust>N/A</gust>
        <d>219</d>
        <t>SW</t>
   </wind>
   <bt>Clear</bt>
   <ppcp>10</ppcp>
   <hmid>72</hmid>
 </part>
</day>
 </dayf>
片断8:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″1″t=″Wednesday″dt=″Dec 12″>
    <hi>28</hi>
    <low>3</low>
   </day>
    </dayf>
片断9:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″1″t=″Wednesday″dt=″Dec 12″>
    <sunr>7:02AM</sunr>
    <suns>3:49PM</suns>
   </day>
    </dayf>
片断10:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″1″t=″Wednesday″dt=″Dec 12″>
    <part p=″d″>
      <icon>32</icon>
      <t>Sunny</t>
      <wind>
        <s>7</s>
     <gust>N/A</gust>
     <d>217</d>
     <t>SW</t>
   </wind>
   <bt>Sunny</bt>
   <ppcp>10</ppcp>
   <hmid>45</hmid>
 </part>
</day>
 </dayf>
片断11:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″1″t=″Wednes day″dt=″Dec 12″>
    <part p=″n″>
      <icon>29</icon>
      <t>Partly Cloudy</t>
      <wind>
        <s>5</s>
        <gust>N/A</gust>
        <d>199</d>
        <t>SSW</t>
      </wind>
      <bt>P Cloudy</bt>
      <ppcp>10</ppcp>
      <hmid>72</hmid>
    </part>     </day>
    </dayf>
片断12:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″2″t=″Thursday″dt=″Dec 13″>
   <hi>26</hi>
 <low>4</low>
</day>
 </dayf>
片断13:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″2″t=″Thursday″dt=″Dec 13″>
    <sunr>7:03AM</sunr>
    <suns>3:49PM</suns>
   </day>
    </dayf>
片断14:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″2″t=″Thursday″dt=″Dec 13″>
    <sunr>7:02AM</sunr>
   <part p=″d″>
      <icon>32</icon>
      <t>Sunny</t>
      <wind>
        <s>8</s>
        <gust>N/A</gust>
        <d>220</d>
        <t>SW</t>
      </wind>
      <bt>Sunny</bt>
      <ppcp>10</ppcp>
      <hmid>47</hmid>
    </part>
   </day>
    </dayf>
片断15:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″2″t=″Thursday″dt=″Dec 13″>
    <part p=″n″>
      <icon>29</icon>
      <t>Partly Cloudy</t>
      <wind>
        <s>4</s>
        <gust>N/A</gust>
        <d>206</d>
        <t>SSW</t>
       </wind>
       <bt>P Cloudy</bt>
       <ppcp>10</ppcp>
       <hmid>74</hmid>
     </part>
    </day>
     </dayf>
片断16:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″3″t=″Friday″dt=″Dec 14″>
    <hi>24</hi>
    <low>1</low>
   </day>
    </dayf>
片断17:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″3″t=″Friday″dt=″Dec 14″>
    <sunr>7:04AM</sunr>
 <suns>3:49PM</suns>
</day>
 </dayf>
片断18:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
<day d=″3″t=″Friday″dt=″Dec 14″>
  <part p=″d″>
    <icon>30</icon>
    <t>Partly Cloudy</t>
    <wind>
      <s>7</s>
      <gust>N/A</gust>
      <d>239</d>
      <t>WSW</t>
    </wind>
    <bt>P Cloudy</bt>
    <ppcp>10</ppcp>
    <hmid>67</hmid>
  </part>
 </day>
  </dayf>
片断19:
<dayf>
  <lsup>12/11/072:19PM Local Time</lsup>
  <day d=″3″t=″Friday″dt=″Dec 14″>
    <part p=″n″>
      <icon>33</icon>
      <t>Mostly Clear</t>
      <wind>
        <s>2</s>
        <gust>N/A</gust>
     <d>244</d>
     <t>WSW</t>
   </wind>
   <bt>M Clear</bt>
   <ppcp>20</ppcp>
   <hmid>84</hmid>
 </part>
</day>
 </dayf>
步骤七:XML片断内容的发布
各种网络环境下返回的具体层的集合由所有返回层次的数据总量除以当前网络类型的网络带宽的时间决定,假设以该时间不超过y为准。计算公式为(x0×s0+x1×s1+...+xn×sn)/b<=y,其中x0,x1...,xn∈(0,1),为1表示该层将发布,为0表示该层不发布,s0,s1,...,sn表示各层的数据量,b表示当前的带宽,按照步骤五计算的数值化层次,从小到大依次改变xn的值,即得到可以发布的层的一个集合。
本示范实例运行于4种环境,如下表所示:
  带宽   客户端
  办公   10M   IE-AJAX
  拨号   56K   IE-AJAX
  GPRS   150K   J2ME MIDP2.0CLDC1.1
  WCDMA   2M   J2ME MIDP2.0CLDC1.1
各种环境下返回的层的集合为:
  层的集合
  办公   (0,1,2,40,41,42,43,80,81,82,83,120,121,122,123,160,161,162,163)
 拨号   (0,1,2)
 GPRS   (0,1,2,40,41,42,43,80,81,82,83)
 WCDMA   (0,1,2,40,41,42,43,80,81,82,83,120,121,122,123)
其中(办公,拨号,GPRS,WCDMA)属于网络类型参数N的范畴,(IE-AJAX,J2ME MIDP2.0CLDC1.1)属于设备类型参数D的范畴,待发布层的集合定义好之后,把各层的XML片断文档依次组合成一个独立的XML文档给客户端返回,本发明定义其为X-RESP,此组合过程由图2中的响应XML合成器完成,该合成器可以是单独的一台服务器,也可以是后台服务器上的一个程序。
运行结果分析:
本发明提出一种性能分析模型,定义如下参数:S:Web Service上下行信息量,C:Web Service的时间成本,主要包括连接消耗和传输消耗,U:Web Service的用户体验,P:Web Service的性能;性能P表示为单位时间传输的信息量和用户体验的乘作用: P = S C &times; U ; 其中S的计算方法
S = ( &Sigma; i = 1 m S i + &Sigma; i = 1 m &prime; S i &prime; )
= ( &Sigma; i = 1 m ( L n - i + 1 &Sigma; i = 1 n ( L i + 1 ) ) + &Sigma; i = 1 m &prime; ( L n - i &prime; + 1 &Sigma; i = 1 n &prime; ( L i &prime; + 1 ) ) ) , m表示当前上行传输的层个数,m′表示当前下行传输的层个数,n表示上行总层个数,n′表示下行总层个数,Li表示第i层的数值化层次,L′i表示第i层的数值化层次;C的计算公式为:C=twsdl+tservice,其中twsdl表示请求服务描述的网络延迟,tservice表示请求服务的网络延迟;考虑到U与S成正比,与C成反比,最终定义
P = ( &Sigma; i = 1 m ( L n - i + 1 &Sigma; i = 1 n ( L i + 1 ) ) + &Sigma; i = 1 m &prime; ( L n - i &prime; + 1 &Sigma; i = 1 n &prime; ( L i &prime; + 1 ) ) ) 2 ( t wsdl + t service ) 2
步骤一统计不同环境下的网络延迟
经过实际运行,得到如下数据:(WCDMA测试基于中国网通3G测试平台)
  未分层服务   分层服务
  办公   C=1215ms   C=1229ms
  拨号   C=9118ms   C=2043ms
  GPRS   C=4347ms   C=2478ms
  WCDMA   C=2076ms   C=1600ms
步骤二统计不同环境下信息量
计算信息量如表1所示:
表1
  未分层服务   分层服务
  办公   S=2   S=2
  拨号   S=2   S=0.820
  GPRS   S=2   S=1.668
  WCDMA   S=2   S=1.910
步骤三性能比较
经过计算,得到性能统计表格,如表2所示:
表2
  未分层服务   分层服务
  办公   P=2.710   P=2.648
  拨号   P=0.048   P=0.161
  GPRS   P=0.212   P=0.453
  WCDMA   P=0.928   P=1.425
从上述表格中可以看出,综合考虑网络负载和用户体验两个因素,基于层的自适应XML内容发布方法可以提高服务性能,当然,在网络带宽很高,终端性能很强的情况下,此方法没有多少性能提高,相反可能有下降;故本发明提出的方法更适用于网络环境较差,终端能力较低的情形下。

Claims (9)

1.一种自适应XML内容发布方法,包括如下步骤:
1)从根节点到叶节点遍历XML内容的DOM树,设定每个节点的优先级;
2)生成各节点的XML内容消息片断;
3)依照优先级将部分所述XML内容消息片断进行组合,生成XML文件并将其发布出去。
2.根据权利要求1所述的自适应XML内容发布方法,其特征在于,所述步骤1)包括如下子步骤:
11)从根节点到叶节点遍历该XML内容的DOM树状结构,记录所有节点的抽象化层次;所述节点的抽象化层次包括两个组成部分,一个部分是该节点的父节点的抽象化层次,另一部分是该节点在其所有兄弟节点中的优先级;
12)将节点的抽象化层次转化为数值化层次,该数值化层次表征所有节点的优先级。
3.根据权利要求2所述的自适应XML内容发布方法,其特征在于,所述步骤11)中,对于兄弟节点之间的优先级,定义左节点的优先级数值低于右节点的优先级数值,所述优先级数值越小,优先级越高。
4.根据权利要求3所述的自适应XML内容发布方法,其特征在于,所述步骤12)中,所述数值化层次的计算方法为:
L n i = Max { L n - 1 1 , L n - 1 2 , . . . , L n - 1 m } &times; L f &times; K + LC n i , 其中Li n表示DOM树中第n级的第i个节点的数值化层次,Lf表示父节点的数值化层次,LCn i表示当前DOM树中第n级的第i个节点在其兄弟节点中的优先级; L 0 i = 0 , Lroot=0,K为经验参数,取大于1的整数。
5.根据权利要求1所述的自适应XML内容发布方法,其特征在于,所述步骤3)包括如下子步骤:
31)确定待传输XML文件的数据量上限;
32)根据所述数据量上限舍弃优先级较低的节点,得到新的XML文件;
33)将该XML文件发布。
6.根据权利要求5所述的自适应XML内容发布方法,其特征在于,所述步骤31)中,所述数据量上限根据客户端的终端设备类型、网络类型和/或网络带宽确定。
7.根据权利要求5所述的自适应XML内容发布方法,其特征在于,所述步骤32)还包括:根据数值化层次在待传输XML文件中依次添加优先级较高的节点的XML消息片断,直至该XML文件达到所述数据量上限。
8.根据权利要求1所述的自适应XML内容发布方法,其特征在于,所述步骤1)中,所述XML内容的DOM树可以是新生成的XML文件的DOM树,也可以是解析已存在的XML文件而得到的DOM树。
9.根据权利要求1所述的自适应XML内容发布方法,其特征在于,所述内容发布方法在执行步骤1)前,首先需要接收客户端对某一XML内容的请求,然后查找到该XML内容。
CN2008101020990A 2008-03-17 2008-03-17 一种自适应xml内容发布方法 Expired - Fee Related CN101540689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101020990A CN101540689B (zh) 2008-03-17 2008-03-17 一种自适应xml内容发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101020990A CN101540689B (zh) 2008-03-17 2008-03-17 一种自适应xml内容发布方法

Publications (2)

Publication Number Publication Date
CN101540689A true CN101540689A (zh) 2009-09-23
CN101540689B CN101540689B (zh) 2011-08-17

Family

ID=41123692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101020990A Expired - Fee Related CN101540689B (zh) 2008-03-17 2008-03-17 一种自适应xml内容发布方法

Country Status (1)

Country Link
CN (1) CN101540689B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196157A (zh) * 2010-03-02 2011-09-21 新奥特(北京)视频技术有限公司 一种电视台节目的发布系统
CN103034673A (zh) * 2011-09-28 2013-04-10 歌乐株式会社 对象数据传送系统和方法、服务器装置以及客户机装置
CN107943929A (zh) * 2017-11-22 2018-04-20 福州大学 基于dom树抽象的包装器自动生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050408B2 (en) * 2001-09-26 2006-05-23 Microsoft Corporation Communicating multi-part messages between cellular devices using a standardized interface

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196157A (zh) * 2010-03-02 2011-09-21 新奥特(北京)视频技术有限公司 一种电视台节目的发布系统
CN102196157B (zh) * 2010-03-02 2015-09-23 新奥特(北京)视频技术有限公司 一种电视台节目的发布系统
CN103034673A (zh) * 2011-09-28 2013-04-10 歌乐株式会社 对象数据传送系统和方法、服务器装置以及客户机装置
CN107943929A (zh) * 2017-11-22 2018-04-20 福州大学 基于dom树抽象的包装器自动生成方法
CN107943929B (zh) * 2017-11-22 2021-09-28 福州大学 基于dom树抽象的包装器自动生成方法

Also Published As

Publication number Publication date
CN101540689B (zh) 2011-08-17

Similar Documents

Publication Publication Date Title
CN105138592B (zh) 一种基于分布式架构的日志数据存储和检索方法
CN104375992B (zh) 一种地址匹配的方法和装置
CN101266610B (zh) 一种Web活跃用户网站访问模式的在线挖掘方法
CN102377790B (zh) 一种推送数据的方法和装置
CN103177094B (zh) 一种物联网数据清洗方法
CN103095684B (zh) 获取关注用户聚合信息的方法、装置及系统
CN105657750A (zh) 一种网络动态资源的计算方法及装置
CN106951552A (zh) 一种基于Hadoop的用户行为数据处理方法
CN106952027A (zh) 一种10kV配电网线路规划接入容量计算方法
CN102347930B (zh) 网页内容获取方法和系统
CN105760449A (zh) 一种面向多源异构数据的云推送方法
CN108268569A (zh) 基于大数据技术的水资源监测数据采集与分析系统及方法
CN101540689B (zh) 一种自适应xml内容发布方法
CN104468257A (zh) 基于移动用户时空行为的云应用可用性预测方法与系统
CN110351780A (zh) 一种基于编码缓存的通信方法、系统及存储介质
CN113515545A (zh) 数据查询方法、装置、系统、电子设备以及存储介质
CN106599293A (zh) 一种用于调配一体化系统的cim xml电网模型
CN103118102B (zh) 一种在云计算环境下空间数据访问规律的统计与控制系统及方法
CN106951636A (zh) 一种基于AutoCAD的电力通信静态资源自动识别方法
CN116934105A (zh) 一种考虑柔性资源接入的配电网灵活性评估方法和系统
CN105677912A (zh) 在线电子地图的海量数据显示方法及系统
CN101382956B (zh) 一种面向主题的信息采集方法和系统
CN106454551A (zh) 一种QoE驱动的HTTP自适应流媒体直播服务器集群部署方法
CN112134738A (zh) 基于复合二维Sketch的网络多维度数据流仿真装置
CN109101582A (zh) 一种基于同父子节点计数的等位长的本体树编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817

Termination date: 20150317

EXPY Termination of patent right or utility model