欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    一种支持Web信息资源服务化的标记语言及其软件工具.docx

    • 资源ID:2014096       资源大小:438.38KB        全文页数:7页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    一种支持Web信息资源服务化的标记语言及其软件工具.docx

    一种支持Web信息资源服务化的标记语言及其软件工具杨少华1,2 张利永1,2 韩燕波11 (中国科学院计算技术研究所网格与服务计算研究中心,北京 100080) 2 (中国科学院研究生院,北京100039)(yangshaohua)摘要 互联网上聚集了大量基于万维网技术的信息资源,随着SOA的流行,如何将信息资源封装成Web服务以便于自动聚合和广泛重用成为倍受关注的问题。文中提出一种Web信息资源服务化标记语言,并基于该语言实现了一个可视化、半自动的服务化工具Web2WS。Web2WS提供友好的操作界面辅助用户定义Web信息资源的访问规则、数据抽取规则,以及到目标Web服务的映射规则,可方便有效地将基于Web的信息资源封装成Web服务。关键词 Web服务;资源封装器;Web信息集成;Web资源服务化中图法分类号 TP311A Markup Language for Generating Web Services out of Web-based Information Resources and Software Support ThereofYang Shaohua1, 2, Zhang Liyong1, 2, Han Yanbo1 1 (Research Centre for Grid and Service Computing, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100080) 2 (Graduate University of Chinese Academy of Sciences, Beijing, 100039)Abstract There exist numerous Web-based resources on the Internet. As service-oreiented concepts and architecture proliferate, more and more attention is paid on encapsulating Web-based information resources into Web Services for composition and reuse. A markup language for this kind of encapsulation is proposed and a visual, semi-automatic tool called Web2WS is implemented. It provides a user-friendly interface that allows users to define access rules and data extraction rules of the web-base information resource and specify mappings from the information resource to the target Web Service. Web2WS can help to generate Web Services from web sites effectively and conveniently.Keywords Web Service; Wrapper; Web Information Integration; Service Encapsulation今天的互联网聚集了大量基于万维网技术的信息资源,如新闻、天气、股票、交通等等。我们通常使用浏览器访问这些信息,而在应用程序中集成这些信息资源并不容易,具体表现在:1)万维网使用HTTP作为客户端与服务器的通讯协议,处理HTTP协议过于复杂;2)信息嵌入在HTML标记的网页中,标签和数据交织在一起,难以分割,而且HTML的格式比较松散,甚至不要求标签的配对,应用程序很难从中抽取数据以及数据的结构关系。以XML、SOAP、WSDL和UDDI等标准规范和协议为核心的Web服务具有良好的封装性、开放性、松散耦合性、平台独立性等优点。如果以Web服务的形式对基于HTTP和HTML的Web信息资源进行封装,应用程序便可方便地集成此类信息服务。同时,以服务作为基本组成元素的服务组合语言(如BPEL等)及相关工具也已成熟,信息资源的服务化也会给应用集成带来极大的方便。本文借鉴数据库领域Web信息抽取和集成方面的工作,提出一种基于XML语法的Web信息服务化标记语言,并基于该语言实现了一个可视化、半自动的服务化工具Web2WS(Web Site to Web Service)。利用Web2WS,开发者只需简单的操作便可实现如下功能:1) 通过浏览网页的方式定义网页数据抽取规则;2) 提供可视化界面定义服务规约说明并建立服务操作接口与Web页面元素的映射规则;3) 自动生成Web服务代码、相关部署文件以及客户端调用代码,发布与测试服务。本文首先对相关工作进行比较分析;第二节阐述Web信息资源服务化的原理,详细介绍服务化标记语言;第三节介绍服务化工具的设计与实现;第四节进行试验和评价;最后是结论和下一步工作。1. 相关工作数据库领域对Web信息抽取和集成研究进行了大量的工作,出现了一些成熟的技术,典型的有封装器(Wrapper)技术等。封装器特指能从Web站点中自动抽取信息并转化为结构化数据的一类程序1。许多封装器生成工具通过学习样本网页的结构以及用户的选择生成封装器。文献23对此类工具进行了较全面的分析和总结,网站4中维护了三十多个封装器开发工具的列表,并进行了一些简要的分析和比较,其中许多工具能够抽取HTML网页中的数据并按一定的格式封装成XML文档。本文实现的服务化工具本质上属于封装器生成工具,但与传统封装器生成工具不同的是本工具生成的封装器是Web服务。生成封装器的关键技术之一是数据抽取与映射规则的定义。许多生成工具提供图形化的交互界面辅助用户定义这些规则,其方式一般有两种:1)基于标记树方式,样本网页以HTML标记树呈现,用户通过选择感兴趣的树结点定义规则,如XWRAP5;2)基于浏览器方式,样本网页直接在浏览器中显示,如Lixto6、SG-WRAP7。浏览器方式对用户屏蔽了HTML代码,更加方便易用。在数据抽取规则的表达上,有的使用W3C推荐的XML定位和查询语言XPath/XQuery8,9,如SG-WRAP;有的则使用自定义的数据抽取脚本程序,如Lixto使用一种自定义的基于逻辑的脚本语言Elog。生成封装器的另一关键技术是网页的获取。获取一个简单的静态网页只需知道网页的URL,而访问动态网页或HTML表单背后的网页需要了解更多的访问细节,如请求方法(GET或POST等)、参数传递及取值方法等。传统的封装器生成工具更多的关注数据的抽取,对于网页获取的支持较弱,用户如果封装HTML表单背后的网页需要查看样本网页的HTML原始代码,增加了对用户背景知识的要求。现有的Web信息资源服务化方法大都基于封装器技术。Pollock系统10对Web信息资源的服务化分构造时和运行时两步完成:1)构造时使用现有的封装器生成技术对Web信息源进行封装,同时生成Web服务的WSDL文档,2)运行时将封装器虚拟成Web服务,将基于SOAP的交互与封装器特定的交互进行转换。此方法可以重用已有的封装器生成工具,但是要求用户同时熟悉两套系统,而且已有的封装器生成工具往往从数据源角度而非服务的角度考虑Web信息。Web服务网关11是日本东芝公司提出的另一个Web信息资源服务化系统,该系统的特点是提出一个支持多HTML解析器的框架,提供了可视化交互界面完成Web站点到Web服务的封装过程,并可以对生成的Web服务进行基本的管理。但是具体的服务化过程比较繁琐,例如用户需要手工提供网页获取的细节,虽然提供可视化的Web服务封装器描述文档的编辑器,但是相对于边浏览边定义的方式仍较为复杂。2. Web信息资源服务化原理及标记语言2.1服务化基本原理Web信息资源服务化的目标是把网站提供的信息服务封装成Web服务。以列车车次查询为例,用户首先访问网站(如),然后填写车次,提交后转入车次详细信息页面。这个简单实际的例子揭示了获取Web信息的基本过程:访问网页、提交请求、查看结果。将上述过程进行服务化,生成列车车次查询Web服务,它提供一个getTicketInfo操作,该操作返回请求车次ticketno的详细信息TicketInfo,接口如:TicketInfo getTicketInfo(String ticketno)。目标Web服务需要关心以下几个问题:1)如何获取网页的HTML文档?Web服务需要了解目标文档地址(URL)、获取方法(GET或POST)、请求参数、编码信息等细节。2)如何在网页中抽取有用数据?数据抽取依赖于预定义的数据抽取规则,包括数据的定位和文本的抽取,此过程需要对HTML文档进行解析。3)如何封装抽取的数据作为服务的输出结果?抽取数据的封装依赖于预定义的数据映射规则,它定义了Web信息源的请求参数和抽取的结果数据与Web服务规约说明中的操作的输入输出消息的对应关系。图1揭示了Web信息服务化的基本原理:目标Web服务的输入与输入页面的HTML表单元素建立映射,服务的输出与结果页面中的数据通过XPath表达式建立映射,服务首先使用输入参数“填写”HTML表单或链接参数,提交服务器取得结果页面,然后对页面进行分析,抽取数据并按预定义的数据映射规则进行封装,最后返回结果。XPath是W3C推荐的XML路径语言,HTML文档可以表示为一棵文档对象模型(DOM)树,树结点可以由类似下面的XPath表达式进行定位:/HTML1/BODY1/TABLE1/TR1/text()。结果页面表单输入页面提交HTML解析与错误校正车次查询Web服务服务输入服务输出HTML DOM树Xpath关联图1 Web信息服务化原理图2服务运行逻辑图2以车次查询为例详细说明目标Web服务的运行逻辑:第一步服务调用客户端以车次编号TicketNo为参数调用服务操作getTicketInfo(1);第二步服务通过HTTP客户端与远程服务器建立连接,以车次编号为参数发送HTTP请求,取得包含车次信息的原始HTML文档(2,3,4,5);第三步使用HTML解析器将HTML格式化为符合XML语法的Xml-HTML文档(6,7),格式化的过程是将HTML转换成符合W3C的DOM规范的文档,为下一步使用XML定位语言XPath抽取数据作准备;第四步使用XPath引擎从Xml-HTML文档中抽取信息并把结果封装成TicketInfo对象(8,9)。2.2服务化标记语言为了将基于万维网技术的信息服务封装成Web服务,我们提出一种基于XML语法的Web信息服务化标记语言Web2WS ML(Markup Language),利用该语言可以表达数据抽取和映射规则,以及生成Web服务的一些细节。使用该语言编写的XML文档称为服务化文档。本节将给出Web信息服务化标记语言核心元素的定义和语法,为了方便表达,这里使用BNF文法说明语言的语法结构。服务化文档包括六部分:Web2WS=(InputPage,OutputPage,XpathTable,Operation SoapServer,Config),语法结构如图3所示,下面对各元素进行详细介绍:1)InputPage 样本表单输入页面,结构由WebPage定义,其中Url 为页面地址,LinkValuePair和FormValuePair是请求网页的链接变量和表单变量,当type属性为CONST时,直接使用expression的值,为INPUT类型时,expression必须是Web服务的某个操作的输入参数,表示取值来源于服务的输入。2)OutputPage 样本输出页面,结构与InputPage同。3)XpathTable Xpath变量表,每个Xpath变量的path属性对应一个XPath表达式,type属性说明XPath表达式返回的结果类型,TEXT表示返回文本,COUNT表示计算元素的个数,常用于计算<table>中的<tr>标记个数。Xpath变量表定义了数据抽取规则,pattern值为正则表达式,用于匹配抽取的文本。4)Operation Web服务操作,在服务化标记语言中直接使用对象定义服务的输入和输出,一个操作的输入由零个或多个InputParam组成,服务的返回结果可以是Property、Bean、Array中的一种,分别对应Java语言中的简单类型、复合类型以及数组类型,其中Property作为定义服务输出的原子类型,Bean通过Property、Array复合或自身嵌套定义,Array定义为Property或Bean的数组。Property的type属性说明值的计算方式,例如type等于XPATH时,expression为某个已定义的Xpath变量,从而实现服务输出与网页HTML元素的关联。服务操作定义了数据的映射规则和目标Web服务的详细信息。5)SoapServer 定义了发布目标Web服务的SOAP服务器信息,包含主机地址和端口等信息,用于服务发布。6)Config 定义了服务代码生成相关信息,控制代码生成。Web2WS := < Web2ws servicename="ncname" targetnamespace="uri"> InputPage OutputPageXpathTableOperation * SoapServer Config</ Web2ws >InputPage:= WebPageOutputPage:= WebPageWebPage:=<Webpage name="ncname" method="GET | POST" encode="String" type="InputPage | OutputPage"> <Url expression="String" type="CONST|INPUT"/><LinkValuePair name="ncname" expression="String" type="CONST|INPUT"/> *<FormValuePair name="ncname" expression="String" type="CONST|INPUT"/> *</Webpage>XpathTable := <XpathTable><Xpath name="ncname" type="TEXT|COUNT" path="String" pattern="regx expression"/> *</XpathTable>Operation := <operation name="ncname "> <Input> <InputParam name="ncname" value="String" valuetype="string|int|float|double|boolean|double"/> * </Input> <Output> OutputObj </Output> </operations>OutputObj := Property | Bean | ArrayProperty:=<Property name="ncname" expression="String" value="anyType" type="CONST|INPUT|XPATH"valuetype="string|int|float|double|boolean |double"/>Bean:=<Bean name="ncname" classname="ncname">Property *Bean *Array *</Bean>Array:=<Array name="ncname">LoopVarProperty |Bean</Array>图3 Web2WS语法结构从编程语言角度上看,服务化文档可以看作是Web信息服务化的程序脚本,编程人员可以手工编写,亦可通过第4节的服务化工具自动或辅助生成。3. 服务化工具设计与实现基于服务化标记语言,我们实现了一个可视化、半自动的Web信息服务化工具Web2WS。工具以插件形式运行于Eclipse12和EMF开发平台,很好的重用了Eclipse的强大集成开发环境。在工具的开发实现中,我们尽量使用一些成熟的开源模块,一方面加快开发的速度,把精力聚焦到需要解决的核心问题上;另一方面也增强了工具的稳定性。3.1 系统架构图4给出了服务化工具Web2WS的系统架构,由Web2WS文档图形化编辑器、Web代理、内置网页浏览器、代码生成器、服务辅助工具五部分构成。.Java/.wsdd文件Web2WS文档图形化编辑器内置网页浏览器Web代理互联网代码生成器服务辅助工具Soap服务器原始 html格式化 html抽取规则web2ws文档http交互细节Web服务图4 Web2WS系统架构Web2WS文档图形化编辑器是基于服务化标记语言的集成开发环境。编辑器以树的方式呈现,负责Web2WS文档的新建、读入和编辑,并可验证文档是否符合语言的定义。编辑器从Web代理中获取输入输出网页的HTTP交互细节,对用户屏蔽繁杂又琐碎的HTTP协议,自动生成Web2WS文档的InputPage和OutputPage元素。编辑器与内置的网页浏览器协作完成数据抽取和映射规则的定义。Web代理作为内置网页浏览器的网络代理,接受浏览器请求,访问互联网获取网页的原始HTML文档。我们使用Apache的HttpClient 3.0作为HTTP客户端,HttpClient提供了高效、健壮的HTTP访问能力。在返回HTML需要对HTML进行如下处理:1)XML格式化,使用开放源代码的CyberNeko HTML分析器对HTML进行分析和错误校正,输出符合XML语法的HTML文档。2)嵌入交互控制代码,在不改造浏览器的前提下为了实现基于浏览器的动态交互,Web代理在返回的HTML文档中嵌入JavaScript交互控制代码,辅助用户完成数据抽取和映射规则的定义。其中大量使用一种胖客户端技术AJAX(异步JavaScript+XML)。Web代理同时自动记录用户访问页面的HTTP交互细节,如请求网页的URL、请求方法、参数以及返回HTML文本的字符编码等信息。内置网页浏览器作为用户定义数据抽取和映射规则的交互界面。用户在浏览样本网页时使用鼠标选择感兴趣的数据,配置数据抽取规则。浏览器通过Web代理获取远程网页,其HTML文档是经过Web代理处理过的Xml-HTML文档,并且嵌入了交互控制代码使得页面具有更多的动态交互功能。代码生成器负责生成基于java语言的Web服务。它以服务化文档为输入,根据文档中的网页访问细节、数据抽取和映射规则以及生成目标Web服务的详细信息,产生Web服务、单元测试用例及Web服务调用客户端的程序代码,以及相关服务部署文件和WSDL文档。由于Eclipse本身是优秀的Java集成开发环境,用户可以即时对Web服务进行编译和测试。服务辅助工具集成了服务发布、测试等功能,可以直接将服务部署到SOAP服务器并进行测试。3.2 运行界面图5是Web2WS运行界面的一个截图,其中主工作区域是服务化文档图形化编辑器,服务化文档和生成的目标Web服务的源代码文件保存于Eclipse工程项目中。Web浏览器用于显示服务化的网页,同时也是定义数据抽取规则的交互界面。服务化文档图形化编辑器Web浏览器服务化文档目标Web服务代码图5 Web2WS用户界面4. 试验与评价4.1服务化工具好用性评价从定性的角度分析,Web2WS好用性体现在以下几点:1) 对服务开发者屏蔽获取目标网页的HTTP交互细节。开发者只需提供输入表单所在网页的地址,在浏览网页的过程中由工具自动获取详细的HTTP交互细节。2) 基于Web浏览器的数据抽取和映射规则定义界面。相对于大多数以HTML标记树为操作界面的方式,基于浏览器的界面更加直观、易用。3) 降低了服务开发者的背景知识要求。工具仅要求服务开发者懂得Java语言和Web服务的基本概念,对于某些复杂的网页可能需要一些正则表达式的知识。4) 集成的开发环境。工具以Eclipse插件的形式运行,代码生成器的目标语言为Java,可以利用Eclipse平台强大的Java开发和测试环境,方便的测试服务代码和调用客户端。从定量的角度分析,工具的好用性体现在缩短开发者构建服务的时间,我们以互联网上五个典型的信息服务作为案例统计服务的构建时间,服务的开发者为熟悉Web2WS的使用者(同实验室的研究生)。统计信息如表1所示,可见对于熟练的工具使用人员,大约十分钟左右即可构造一个Web服务。构建Web的服务的主要时间花在数据抽取和映射规则的定义上,而且随规则数目的增加而增加,而其余时间相对较为稳定。表1服务构建时间统计Web服务服务提供网站总时间(分钟)数据抽取与映射定义(分钟)数据抽取规则数量(条)天气预报新浪网958车次查询火车票网151120股票查询和讯股票955书价查询互动出版网967在线词典Dict.CN8424.2 Web服务执行性能试验我们从执行时间角度对自动生成的Web服务进行了实验。由图2的服务运行逻辑可以看出,Web服务的执行主要包括以下几个阶段:1)网络访问时间,指的是从发出页面请求到取得HTML文档的时间,它与网络带宽和服务器处理请求的时间相关;2)文档解析时间,指使用HTML解析器将取得的HTML文档格式化为符合XML语法和W3C DOM规范的Xml-HTML文档所用的时间;3)数据抽取与组装时间,指根据数据抽取规则从Xml-HTML文档提取数据并按服务的输出格式进行组装所用的时间。我们通过统计Web服务在各阶段的花费时间对Web服务的执行性能进行评价。测试环境为一台内存1G、CPU为1.8GHz的AMD机器,操作系统为Windows XP,服务运行容器使用Tomcat+Axis。同一时刻只测试一个服务,每个服务使用十组输入数据进行测试,并统计平均值,测试结果列于表2。从表2中可以分析得出服务执行的性能瓶颈主要受以下因素影响:1)HTML文档的大小,文档越大,文档解析的时间越长,而且数据抽取与组装的时间急剧增加,图6显示了文档大小对服务执行的性能的影响;2)网络的访问时间,包括网络传输延迟以及服务器处理请求的时间,与服务功能、网络状况、服务器的处理能力等因素相关。其中用时最长的书价和股票查询为两秒多,其余的用时在几十到几百毫秒之间,基本可以满足对时间限制不是很严格的应用。表2 Web服务执行性能统计Web服务HTML文档大小(字节)文档解析时间(毫秒)数据抽取与组装时间(毫秒)网络访问时间(毫秒)总共用时(毫秒)天气预报18273392367129车次查询140723056141227股票查询11075426516103242199书价查询6243213418319382255在线词典1316627323594图6 HTML文档大小对服务执行性能的影响5. 结论和下一步工作本文探讨了Web信息资源的服务化问题,提出一种针对Web信息资源的服务化标记语言,同时以该语言为核心实现一个可视化、半自动的服务化工具:Web2WS。该工具提供友好的交互界面辅助用户定义HTML网页数据抽取与映射规则,有效的辅助开发人员构建、发布,和测试Web服务。与传统的封装器生成工具相比,Web2WS生成的Web服务相对于其他软件构件具有更好的松耦合性、平台独立性、互操作性等优点,而且在易用性上做了一些改进。下一步工作将在完善现有功能的同时进行如下的一些改进:1)服务执行性能的提高,许多网站的信息具有时效性,采用缓存技术减少网络的访问时间和次数,可以改善服务的执行性能。2)对网页脚本语言的支持,使目标Web服务能够处理网页中的脚本语言。3)Web服务的维护,由于生成的Web服务与网页结构相绑定,需要提供一个机制用于发现和适应网页结构的变化。参 考 文 献1J. Hammer, H. Garcia-Molina, et al. Extracting Semistructured Information from the Web. In: Proc. of the Workshop on Management for semistructured data (SIGMOD'97), 1997. 1825, 2A.H.F. Laender, B.A. Ribeiro-Neto, et al. A brief survey of Web data extraction tools, SIGMOD, 2002. 31( 2): 8493,3S. Kuhlins and R. Tredwell. Toolkits for Generating Wrappers. NetObjectDays, 2002, 2591: 1841984R. Tredwell and S. Kuhlins. Wrapper Development Tools. http:/www.wifo.uni-mannheim.de/kuhlins/wrappertools/index.html.en. 2004-065L. Liu, P.u. Calton, et al. XWRAP: An XML-Enabled Wrapper Construction System for Web Information Sources, In Proc. of International Conference on Data Engineering, 2000. 6116216R. Baumgartner, S. Flesca, et al. Visual Web Information Extraction with Lixto, The VLDB Journal, 2001: 1191287X. Meng, H. Lu, H. Wang, et al. SG-WRAP: A Schema-Guided Wrapper Generator, In Proc. of International Conference on Data Engineering, IEEE Press, 2002. 3313328Berglund, S. Boag, D. Chamberlin and M.F. Fernández. XML Path Language (XPath) 2.0, http:/www.w3.org/TR/xquery/, 20059S. Boag and D. Chamberlin. XQuery 1.0: An XML Query Language, http:/www.w3.org/TR/xquery/, 2005.10Y Lu, Y. Hong, et al. Pollock: automatic generation of virtual web services from web sites, ACM Symposium on Applied Computing (SAC), Santa Fe, New Mexico, USA, 2005. 16501655, 11H.P. Huy, T. Kawamura and T. Hasegawa. How to make web sites talk together: web service solution, WWW 2005, Chiba, Japan, 200512http:/www.eclipse.org/Yang Shaohua, born in 1981, PhD. candidate, His research interests include service-oriented software integration and context-aware middleware.杨少华,男,1981年生,博士研究生,研究方向:面向服务的软件集成、上下文感知中间件。 Zhang Liyong, born in 1980, PhD. candidate, His research interests include service composition and execution engine.张利永,男,1980年生,博士研究生,研究方向:服务组合技术及其执行环境。Han Yanbo, born in 1962, professor. His research interests include software integration and service grid.韩燕波,男,1962年生,研究员(博导),研究领域:软件集成与服务网格。联系人:杨少华联系方式:北京市海淀区中关村科学院南路6号2704信箱 计算所智能软件部邮编:100080电话:13810834762,010-62600955Mail:yangshaohua

    注意事项

    本文(一种支持Web信息资源服务化的标记语言及其软件工具.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开