主从模式研究所群组集成知识平台设计与实现*
刘毅, 王峰, 周子健
中国科学院国家科学图书馆武汉分馆 武汉 430071
摘要

在分析开源项目Liferay基础上,提出主从模式研究所群组集成知识平台设计方案,利用信息抽取、定制推送、RSS聚合、接口获取等方式整合多个独立的课题组平台信息,形成新的研究所知识服务网络,最后介绍系统二次开发的主要方法。

关键词: Liferay; 主从模式; 集成知识平台
中图分类号:G250.76
Design and Implementation of Principal and Subordinate Model Institution Group Integration Knowledge Platform
Liu Yi, Wang Feng, Zhou Zijian
The Wuhan Branch of National Science Library, Chinese Academy of Sciences, Wuhan 430071, China
Abstract

This paper puts forward a solution of the institution group integration knowledge platform based on principal and subordinate model after analyzing the open source project Liferay. Several independent group platforms are harmoniously integrated into an institutional knowledge service network using such technologies as information extraction,customized push,RSS aggregation and interface acquisition. Finally, the main method of secondary development is introduced.

Keyword: Liferay; Principal and subordinate model; Integration knowledge platform
1 引言

图书馆服务已经迈入了知识服务的新阶段,中国科学院国家科学图书馆(简称国科图)针对所级文献情报机构知识服务能力建设的需求,研究开源软件Liferay 6.0的特点,进行二次开发和本地化应用实践,面向研究所课题组或实验室建立嵌入科研过程的知识服务环境,开发了中国科学院集成信息平台CASIIP2.0。

CASIIP2.0支持构建多个科研社区知识信息环境,能快速有效构建多个研究所、项目组、科研团队的知识信息平台,实现发布科研社区信息,定制常用资源和服务,已经在多个研究所获得了应用。但是在实践过程中,也暴露出平台之间缺乏关联互动、资源重复建设、形成信息孤岛的问题。为了解决上述问题,同时针对国科图于2011年底启动的研究所群组集成知识平台可持续服务能力建设项目的需要,本文在前期基于Liferay6.0开发的CASIIP2.0的基础上,提出基于Liferay的主从模式群组集成知识平台的设计方案,进一步增强集成交互的功能,将各个独立的课题组平台有机地整合成一个完整的知识服务网络。

2 前期研究与进展
2.1 Liferay简介

Liferay是美国Liferay公司开发的遵循GPL开源协议的开源软件项目,是一个基于J2EE应用的完整的Portal门户解决方案。Portal是Web应用发展的一个重要趋势,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登录、内容聚合、个性化门户定制等功能的综合网络系统[ 1, 2]

Java标准化组织在2003年创建的JSR (Java Specification Request) 168规范定义,Portal是基于Web的应用,由Portal 服务器、Portlet 容器、Portlet组件三部分构成,提供Portlet存储易失数据和持久数据的机制。它主要作为信息系统的表现层,提供个性化、统一登录和内容整合的功能,将不同来源的信息集中展现在同一个页面上。Liferay的页面即是一个典型的Portal应用,多个Portlet组件组合而成,由Portlet的内容聚合而成[ 3]。Liferay页面结构如图1所示:

图1 Liferay页面构成[ 4]

Liferay综合应用了Struts、Spring和Hibernate等开源MVC框架实现业务逻辑和数据库的松耦合,基于XML的Portlet配置文件可以自由地动态扩展,在一个页面上集中提供CMS内容管理、文档库管理、图片库管理、Wiki、博客、论坛等多种功能,具有很多个性化参数,可为用户定制个性化的内容。

2.2 CASIIP2.0前期进展

中国科学院集成信息平台CASIIP2.0在Liferay 6.0程序的原有功能基础上,针对所级文献情报机构知识服务的发展趋势,遵循JSR168规范,保留Liferay6.0的整体系统框架,完善系统调整操作管理流程,设计基于IP范围的网站访问逻辑,美化页面主题,创作网站模板,强化内容发布和文档管理功能,增设文章附件,自建专题数据库系列组件,实现网站的域名设置和网站统计。CASIIP2.0主要功能如下:

(1)多门户系统

支持构建多个科研社区知识信息环境,允许在一套系统上构建多个门户应用,每个应用可以设置不同的风格样式,可赋予每个门户独立域名。集成开源AWstats日志分析工具实现网站访问统计,按年、月、日图形化统计访问量。

(2)严谨的安全策略

具有网站、页面、组件三层权限控制体系,既可以用账号方式,也可以用IP限制方式控制访问。使用行业标准的政府级加密技术,包括诸如DES、 MD5 和RSA 的先进算法。可与CAS、LDAP、CA SiteMinder、Oracle Access、Open SSO等认证解决方案整合,定制单点登录,实现一次登录访问所有的应用与资源。

(3)个性化页面

可拖曳的个性化定制页面内容和布局,提高用户体验,每个网页都可以为其选择的不同Portlet组件独立定义Portlet组件权限。

(4)内容管理

包括发布管理、单篇全文显示、标题列表显示等组件,实现图文混排和附件功能,方便实现文章的加工、组织和发布,集成开源全文检索软件Apache Lucene实现统一全文检索。

(5)文档库与图像库

应用Apache JackRabbit内容管理仓库技术,实现各类文档和图像的集中存储,赋予每一个文档和图像唯一的访问地址,并可根据需求对访客和网站注册用户设置不同的访问下载权限。

(6)交互服务

系统提供博客、Wiki和论坛等Web2.0组件,用于课题组或实验室拓展协作交流空间,获得各种信息服务,发布信息,沟通科研用户,进行学术讨论,共享学科领域知识,实现科研群组的团队协作管理。

(7)专题数据库

系统实现专题数据库紧密集成,用户可通过平台自主并快速构建各类专业领域科研信息专题数据库,方便地进行知识内容的采集、加工、组织与发布服务,并提供导入模板支持便捷导入,支持各类高级检索查询。

3 系统设计与实现
3.1 平台架构

在群组平台建设实践中,研究所往往利用一套CASIIP2.0系统搭建多个课题组平台,为将这些平台集成融汇成一个整体,整合现有数字资源,实现知识的共存共享和协作交流,避免重复建设,形成系统化的群组知识服务平台建设、实施、维护和服务规范,本文在前期CASIIP2.0的功能基础上,提出了主从模式群组集成知识平台的设计方案,即研究所群组集成知识平台由一个公共集成知识平台和若干个课题组知识服务平台组成,课题组平台作为集成知识平台的子平台。公共集成知识平台通过信息集成抽取、子平台信息定制推送、RSS信息聚合、Web Widget集成融汇和Web Service知识集成获取等方式集成各个课题组或者实验室平台的知识资源,构成一个完整的研究所知识服务网络。

研究所的学科布局往往是有比较大的交叉性和相关性,用户可以通过访问公共集成知识平台快捷获取相关学科领域知识,欲深入了解则可以访问具体的课题组平台挖掘相关内容,从而形成一套完整的研究所知识环境,避免单一的课题组平台成为信息孤岛。

国科图除了向研究所推荐使用CASIIP2.0建设研究所群组集成知识平台之外,研究所还可以选择使用国科图开发的集成融汇平台iLibrary和专业领域知识环境(XKE),通过Web Widget集成融汇和Web Service知识获取两种方式来集成揭示iLibrary和XKE平台上发布的资源。主从模式群组知识平台结构设计如图2所示:

图2 主从模式群组知识平台结构

3.2 主从模式集成设计

本文定义CASIIP2.0缺省门户为公共平台,新建的门户为子平台,公共平台和子平台构成主从关系。本文将详细阐述公共平台信息集成抽取、子平台信息定制推送、RSS信息聚合、Web Service知识集成获取和Web Widget集成融汇这5类主从模式的实现过程。

(1)公共平台信息集成抽取

公共平台信息集成抽取是内容管理功能的一部分,与系统的权限管理相结合实现。公共平台的系统管理员可以将子平台上发布的文章内容,按单篇全文或者按整个栏目集成到公共平台,主要通过“单篇全文显示”和“标题列表显示”组件来实现。

通过改进CASIIP2.0的“单篇全文显示”组件,公共平台管理员除了有权限配置公共平台发布的文章外,还可以直接搜索选定某个子门户上发布的文章,抽取其内容发布在公共平台的“单篇全文显示”组件中,直接作为公共平台页面的一部分。

CASIIP2.0中发布的每篇文章都配属一个栏目类型,通过内容管理系列组件中的“标题列表显示”组件分栏目显示文章,比如 “通知公告”、“学术动态”等内容。公共平台管理员除了选择公共平台设定的栏目类型外,还可以选择子平台上文章栏目把子平台栏目集成到公共平台,子平台上该栏目的文章如果有更新,公共平台相应地也会自动同步更新。

(2)子平台信息定制推送

子平台信息定制推送也是CASIIP2.0内容管理功能的一部分,课题组平台管理员选择将最新的科研动态、科研成果推送到公共集成知识平台,供公共平台选择使用,是实现主从模式的重要方式。与公共平台信息集成抽取的过程相反,信息定制推送主要由课题组子平台管理员操作。CASIIP2.0设置了两种推送模式,一种需要公共平台管理员设置具体的接收推送信息的栏目类型,另一种是系统自动设定推送信息栏目类型。具体的过程为:

①由公共平台管理员在创建文章栏目时赋予接收子平台推送信息的权限,同时在页面上添加“标题列表显示”组件显示这些推送信息。子平台管理员在更新科研动态、科研成果等页面信息的时候,将它们推送到相应的公共平台的文章栏目,实现公共平台和子平台栏目内容的同步更新。

②不需要公共平台管理员事先设定接收栏目,子平台在推送信息的时候,系统自动在公共平台生成一个以子平台名称命名的专门栏目,每次推送的内容自动设置到公共平台该栏目下,再由公共平台管理员决定具体的呈现方式。

(3)RSS信息聚合

简易信息聚合也称为聚合内容(Really Simple Syndication,RSS)是一种描述和同步第三方网站内容的信息推送标准。目前RSS被广泛用于各大网站,ISI、IEEE等知名网站都推出了RSS信息推送服务,IE浏览器也提供了对RSS信息源的解析,主要的解析协议有RSS 1.0和RSS 2.0[ 5, 6]。通过CASIIP2.0构建的公共平台和子平台之间可以通过RSS信息聚合实现信息的流转和共享,CASIIP2.0提供了对RSS的全方位的支持,既包含了RSS信息的推送功能,也包含了RSS信息的订阅功能。

CASIIP2.0提供的RSS订阅组件同时支持RSS 1.0和RSS 2.0,在一个页面上能够添加多个RSS订阅组件。同一个RSS订阅组件中可以添加多个RSS信息源,并指定显示在页面的信息源数量,可配置是否显示RSS信息源的标题、发布日期、图片、作者等内容。RSS订阅组件自动保持与RSS信息发布网站的同步更新。用户可以使用RSS订阅组件跟踪ISI、IEEE等站点上的最新科研信息,而不需要打开ISI、IEEE等网站。同时,CASIIP2.0的“发布管理”、“博客”、“论坛”等组件提供了RSS Feed信息定制推送服务,用户可自由订阅感兴趣的内容。

在群组平台的主从模式建设中,公共平台可以使用多个RSS订阅组件,定制子平台上发布的文章、博文、论坛帖子等内容在公共平台显示,无须人工干预,同步自动更新,实现公共平台与子平台的信息无缝集成。

(4)Web Service知识集成获取

在群组平台项目建设中,部分研究所选择了中国科学院专业领域知识环境(XKE)作为课题组子平台建设的系统。针对这种情况,通过在CASIIP2.0中应用Web Service接口技术,来获取XKE平台的知识资源,实现主从模式的系统集成。具体过程是自定义开发支持SOAP简单对象访问协议的Web Service接口组件,调用XKE平台的“类树获取接口”、“实例获取接口”和“实例检索接口”[ 7],在公共集成知识平台上就能浏览,并能检索XKE子平台上的分类、栏目和内容。

(5)Web Widget集成融汇

iLibrary是国科图为科研人员与科研团体搭建的集成融汇资源呈现工具。在研究所群组集成知识平台建设中,部分研究所同时选用了CASIIP2.0和iLibrary进行平台建设。这种情况下,CASIIP2.0公共平台可以使用Web Widget技术集成iLibrary平台的资源。

Web Widget是轻量级的Web应用程序,为使用者提供一键式服务。它通常被设计为具有特定的功能,如提供天气、相册、地理位置信息,可以将其视为一系列的小工具[ 8, 9]。它与网页一样,使用标准的Web技术开发,如XHTML、CSS、JavaScript等。Web Widget技术广泛应用于个性化主页构建系统, 一般形成并开放标准后由大众进行开发,带有很强的Web2.0特点。iLibrary项目开发了工具类、搜索类、生活类、通讯类等一系列的Web Widget小工具,CASIIP2.0提供Web Widget的集成接口,直接引用iLibrary的Web Widget小工具,即可实现公共平台与子平台的集成融汇[ 10, 11]

3.3 二次开发技术实现

主从模式群组集成知识平台,以Liferay 6.0为原型系统,增强主从交互功能,以Eclipse作为主要开发工具,采用Tomcat6.0作为应用Web服务器, 底层数据库服务器采用MySQL5.1。鉴于Liferay 6.0已经是一个百万行代码的成熟稳定的大规模企业级Web应用系统,二次开发采取简化流程、修改定制、自定义组件、从简单到复杂的技术路线。

(1)简化权限管理

Liferay 6.0已经具有成熟完善的系统管理与权限系统,同时拥有社区组织和机构组织两套用户组织体系。社区组织是一个用户集合、用于扁平化的用户组织,可以理解为一个站点。机构组织是与其平行一个用户集合,用于层次化的用户结构,例如部门和分支,也可以理解为一个站点,对比社区组织有更多的属性。考虑到这两套用户组织体系在实际应用中容易引起混淆,在系统中只建议用户使用社区组织作为用户的唯一集合,同时简化了用户角色的层级,将用户角色定义为系统管理员-社区管理员-注册用户三个级别,形成用户-角色-Portlet的权限管理模式,用户通过赋予角色获得操作某个Portlet需要的权限。

(2)定制Portlet组件

Liferay 6.0默认提供“协作”、“娱乐”、“新闻”、“理财”、“工具”等几大类数十个应用Portlet组件,本文对这些组件做了重新组织,删除不必要的组件,将其整理为“内容管理”、“Wiki”、“协作”、“工具”等类别。Portlet组件的定制需要在Liferay6.0的配置文件liferay-display.xml进行设置,具体的设置方法如下:

liferay-display.xml文件的category name属性即Portlet组件的分类名称。portlet id是Portlet组件唯一标识。category.cms即对应分类“内容管理”,如果想将某个Portlet组件归类为“内容管理”,在属性下添加具体的Portlet组件的ID即可。对应不被使用的Portlet组件,屏蔽具体的某个组件,需要在该属性下指定Portlet组件的ID。

(3)信息集成抽取和定制推送

公共平台信息集成抽取和子平台信息的定制推送是CASIIP2.0实现主从模式的群组集成知识平台的重要方式,是在Liferay6.0的Web Content和Web Content List组件基础上完善信息管理发布的功能,改造加入文章类型控制,重新定制开发 “发布管理”和“标题列表显示”组件而成。

①开发文章类型控制模块

按照Struts + Spring + Hibernate[ 12]程序开发架构,新建文章栏目类型MySQL数据表JournalArticleType,在Liferay6.0的Hibernate 对象关系映射框架配置文件portal-hbm.xml中新增数据表映射,代码如下:

数据访问策略采用DAO 模式。通过DAO 模式,为业务对象提供一个数据访问的抽象层,从而清晰地分离业务逻辑和数据访问逻辑,在程序中定义JournalArticleTypePersistence Java类实现数据访问。

②改造“标题列表”组件

在“标题列表”组件的配置页面configuration.jsp增加栏目类型设置,公共平台管理员有权限选择子平台的某个文章类型,将该类型的文章内容集成到公共平台“标题列表”组件显示,栏目类型下拉选择框核心JSP代码如下:

<%

java.util.List journalArticleType = JournalArticleLocalServiceUtil.getTypes(groupId);

for (int i = 0; i < journalArticleType.size(); i++)

{

JournalArticleType Type = (JournalArticleType)journalArticleType.get(i);

%>//获取栏目类型

<%}%>

③在“发布管理”页面加入推送按钮

子平台管理员点击该按钮选择公共平台的文章类型,将选定的文章类型推送到公共平台,该功能只存在于子平台。

(4)XKE Web Service接口组件开发

为了集成XKE平台,在CASIIP2.0中,基于Liferay的Struts Porlet开发方式自定义开发了XKE Web Service系列接口组件。对应XKE平台提供的“类树获取接口”、“实例获取接口”和“实例检索接口”三个Web Service接口,本文自定义创建了“按栏目查看”、“按实例查看”和“按索引查看”三个XKE Web Service接口组件。

自定义组件开发都遵循JSR168规范,需要在系统配置文件lifery-portlet.xml、portlet-custom.xml中部署。portlet.xml用来定义Portlet的诸如部署名称、初始化参数、支持模式、Resource Bundle等普通的初始化信息。portlet-custom.xml则定义了Portlet默认可用的用户组、默认模板、是否支持多个实例等内容。

本文统一定义了Web Service接口基类XKEClientBaseAction。XKEClientBaseAction利用Apache的Axis2技术框架来封装Web Service客户端,初始化认证信息,向XKE平台发起接口调用申请,处理返回的结果信息。 XKE Web Service实现类关键代码如下:

PortletPreferences prefs = req.getPreferences();

String portletResource = ParamUtil.getString(req, " portletResource");

if (Validator.isNotNull(portletResource)) {

prefs = PortletPreferencesFactoryUtil.getPortletSetup(req, portletResource);

}

//读取XKE Web Service组件配置信息

String WebServiceURL = prefs.getValue("webserviceurl", StringPool.BLANK);

xkebean = new XKEServiceLBean(WebServiceURL);

//获取XKE Web Service连接对象

if(xkebean.isRunning()) {

try{

oConn = init("");

sForward = perrender(oConn,mapping,form,config,req,res);

}

} //连接成功处理返回结果信息

(5)Web Widget信息集成

CASIIP2.0采用了Web Widget技术调用集成融汇平台iLibrary制作的国科图、其他图书馆与出版商、谷歌等第三方系统的多种类型的服务小工具。CASIIP2.0使用Portlet技术来实现Widget的融合呈现,利用“单篇全文”组件解析iLIbrary Widget小工具库中的XML文件存储的配置信息进行接口代码实例化。在CASIIP2.0的“单篇全文”组件中添加iLibrary提供的Widget接口代码,即可在CASIIP2.0的页面上调用iLibrary系统开发的一系列小工具,这里以国科图参考咨询小工具举例说明。

在CASIIP2.0的页面上添加一个“单篇全文显示”组件,在全文源代码里面引入iLibrary接口代码:

该组件中即呈现iLibrary的国科图参考咨询服务小工具,界面如图3所示:

图3 参考咨询服务小工具

4 应用实例

以中国科学院武汉病毒研究所学科组群组知识平台为例进行说明。武汉病毒所利用CASIIP2.0建设包括一个公共集成信息平台和10多个课题组子平台在内的学科组平台集群。子平台的建设既突出课题组自身的研究特点,又体现与其他子平台共有的学科领域特色,公共集成信息平台则构筑在课题组子平台的基础之上,通过CASIIP2.0提供的公共平台信息抽取、子平台信息定制推送,RSS聚合和Web Widget等方式融汇子平台的特色内容与资源。

公共平台设置了“首页”、“重大专项”、“专家介绍”、“最新动态”、“科研工具”、“科研设施”、“资源共享”、“科学传播”等8个一级栏目和若干个二级栏目。平台建设遵循主从模式的实施路线,规范子平台信息推送流程,将子平台的重要内容推送到“学科组动态”、“专家介绍”、 “科研成果”、“招聘信息”等栏目。公共平台首页的最新招聘信息、专家学者、最新科研动态等内容与子平台保持同步更新,通过RSS内容聚合动态跟踪课题组平台上的热点学术话题,并通过配置Web Widget实例嵌入iLibrary的小工具。如果用户对某个课题组的学术研究有兴趣深入了解,可以通过公共平台首页上的课题组平台链接获取详细信息。

武汉病毒所学科组平台集群首页界面如图4所示。

通过RSS集成HIV学术讨论信息,通过Web Widget集成iLibrary参考咨询小工具,公共平台抽取肝炎病毒学科组子平台专家信息和HIV子平台的招聘信息在首页显示,并集成显示子平台推送的最新科研动态。

图4 武汉病毒所学科组平台集群首页

5 结语

本文论述了在CASIIP2.0的研究基础上,综合应用信息集成抽取、信息定制推送、RSS信息聚合、Web Service元数据等多种技术,实现主从模式的研究所群组集成知识平台设计的过程。本系统已经在研究所获得了应用和认可,形成以公共集成信息平台为核心的多角度、多层次学科群组知识服务网络。

目前,主从模式的群组集成知识平台虽然初步实现了知识服务,但是知识内容的智能化组织与管理还比较薄弱,系统的下一步改进工作将围绕引入知识组织体系和语义增强来进行,以期进一步提升科研一线的知识服务能力。

参考文献
[1] Abdelnur A, Hepper S. Java Portlet Specification [EB/OL]. [2012-04-13]. http://www.sun.com. [本文引用:1]
[2] Liferay Portal 概况[EB/OL]. [ 2012-04-18]. Liferay Portal 概况[EB/OL]. [2012-04-18]. http://www.liferay.com/community/liferay-projects/liferay-portal/overview.(LiferayPortalCEOverview[EB/OL]. [2012-04-18]. http://www.liferay.com/community/liferay-projects/liferay-portal/overview [本文引用:1]
[3] 柯自聪. Liferay Portal 二次开发指南[EB/OL]. [2012-04-19]. http://www.blogjava.net/eamoi/archive/2005/10/21/16232.html.(KeZicong.GuideforLiferayPortalSecondaryDevelopment[EB/OL]. [2012-04-19]. http://www.blogjava.net/eamoi/archive/2005/10/21/16232.html [本文引用:1]
[4] Liferay Portal 架构解析[EB/OL]. [ 2012-04-18]. Liferay Portal 架构解析[EB/OL]. [2012-04-18]. http: //www. iteye. com/topic/87381. (LiferayPortalArchitectureAnaly-
sis [EB/OL]. [ 2012-04-18]. sis [EB/OL]. [2012-04-18]. http://www.iteye.com/topic/87381 [本文引用:1]
[5] 薛娟. 基于RSS技术的重点学科信息推送系统设计及实现[J]. 现代图书情报技术, 2010(4): 83-86.
(Xue Juan. Design and Implementation of Key Subjects Information Push System Based on RSS Technology[J]. New Technology of Library and Information Service, 2010 (4): 83-86. ) [本文引用:1] [CJCR: 1.073]
[6] Johnson D. RSS and Atom in Action: Web 2. 0 Building Blocks[M]. Greenwich: Manning Publications, 2006. [本文引用:1]
[7] 刘毅, 宋文, 汤怡洁, . 基于Vitro构建专业领域知识应用环境[J]. 现代图书情报技术, 2010 (12): 21-27.
(Liu Yi, Song Wen, Tang Yijie, et al. Developing Subject Knowledge Environments Based on Vitro[J]. New Technology of Library and Information Service, 2010(12): 21-27. ) [本文引用:1] [CJCR: 1.073]
[8] Web Widget [EB/OL]. [ 2012-04-21]. Web Widget [EB/OL]. [2012-04-21]. http://en.wikipedia.org/wiki/Web_widget. [本文引用:1]
[9] Marcos Caceres’Blog. Widgets 1. 0(V2) [EB/OL]. [2012-04-22]. http://marcosc.com/tag/widgets-1-0/. [本文引用:1]
[10] 王科, 纪姗姗, 刘芳, . iLibrary: 表示层集成融汇服务及系统实现[J]. 现代图书情报技术, 2010 (11): 30-36.
(Wang Ke, Ji Shanshan, Liu Fang, et al. iLibrary: Presentation Layer Mashup Service and System Implementation[J]. New Technology of Library and Information Service, 2010(11): 30-36. ) [本文引用:1] [CJCR: 1.073]
[11] 李春旺. 图书馆集成融汇服务研究[J]. 现代图书情报技术, 2009 (12): 1-6.
(Li Chunwang. Study on Library Mashups[J]. New Technology of Library and Information Service, 2009(12): 1-6. ) [本文引用:1] [CJCR: 1.073]
[12] 孙卫琴. 精通Hibernate: Java对象持久化技术详解[M]. 北京: 电子工业出版社, 2010: 1-16.
(Sun Weiqin. Master Hibernate: Let Java Objects Hibernate in the Relational Database[M]. Beijing: Publishing House of Electronics Industry, 2010: 1-16. )
(作者E-mail: liuy@mail. whlib. ac. cn) [本文引用:1]