极地标本资源共享平台系统设计与实现birds.chinare.org.cn/achievefile/9157be3d-8418-4654-8e19...国家科技基础条件平台汇交资源数据和服务统计数...

12
25 卷第 极地研究 Vol.25 No.2 2013 CHINESEJOURNALOFPOLARRESEARCH June2013 [收稿日期] 2012 11 月收到来稿, 2013 月收到修改稿 [基金项目] 国家海洋局青年创新基金( 2012621 )、中国极地科学战略研究基金( 20120106 )和《南、北极生物和地质标本标准化整理与共 享试点》项目( 2005DKA21406 )资助 [作者简介] 程文芳,女, 1979 年生。工程师,主要研究数据共享、数据管理、数据集成。Email 櫑櫑櫑櫑 櫑櫑櫑櫑 chengwenfang@pric.gov.cn 研究论文 极地标本资源共享平台系统设计与实现 程文芳 张洁 夏明一 张北辰 中国极地研究中心,上海 200136 上海橙智信息科技有限公司,上海 201204 提要 为了解决分布存储在全国各地的极地标本样品资源共享的问题,基于 Python 语言设计了具有数据发布、资源 检索和申请审批等功能的极地标本资源共享平台信息系统,实现了极地标本样品的有效管理,目前已成功应用并对 外服务。本文通过对系统重要功能模块的阐述介绍了系统设计与实现,最后对海量视频、查询推荐、图片检索、资源 数据链等方面的问题进行了讨论。 关键词 Python Django 南北极 标本样品 资源检索 资源申请 数据链 doi 10.3724/SP.J.1084.2013.00185 0 引言 地球的南、北两极,人迹罕见,保存了大量的地 球气候、环境、岩石圈演化、人类活动以及外太空诸 多事件的精细记录,蕴藏着丰富的自然和科学资源, 是科学家研究全球气候变化和资源环境问题的宝贵 资源。科学家在极区布设传感器,获取实时数据;采 集冰芯、生物、沉积物、陨石、岩矿等标本和样品,带 回实验室分析研究。由于标本样品资源分布在全国 各地实体库中,资源难以集中,信息共享难度大,因 此希望将极地标本资源共享平台设计成为汇集极地 样品和标本的分布式“仓库”,主要为那些试图开展 相关的极地研究而又没能去现场的科学家提供标本 及其信息,提高极地珍贵标本资源的利用效率。极 地标本资源共享平台的建设意在实现极地科学样品 编目、信息发布、样品申请与审批等管理与共享功 能,提高极地科学样品的开放度和利用率,扩大中国 在国际极地科学领域的影响力,为地球系统科学的 基础研究和创新性研究服务。 极地标本资源共享平台建设和运行服务由国家 海洋局所属的中国极地研究中心主持,中国科学院、 国土资源部等所属的若干研究机构共同先行发起建 设。极地考察管理部门国家海洋局极地考察办公 室、平台主持单位中国极地研究中心以及各极地资 源单位将共同组成极地标本资源共享理事会,组织 协调各资源单位开展极地标本资源的管理与共享。 根据极地主要标本资源的种类和分布情况,平台由 五库一网组成(简称“ BIRDS ”):极地生物标本库由 中国极地研究中心和中国科学研究院海洋研究所共 同运行;极地雪冰样品库由中国极地研究中心维护; 极地岩矿标本库由中国地质科学院地质力学研究所 和中国科学院青藏高原研究所共同建设;南极陨石 标本库由中国极地研究中心负责;极地沉积物样品 库由中国科技大学和中国极地研究中心一起运行。 另外,中国极地研究中心负责运行极地标本资源共 享平台信息系统。BIRDS 平台组织结构图如图 所示。

Upload: others

Post on 24-Oct-2020

2 views

Category:

Documents


1 download

TRANSCRIPT

  • 第25卷第2期 极地研究 Vol.25,No.22013年6月 CHINESEJOURNALOFPOLARRESEARCH June2013

    [收稿日期] 2012年11月收到来稿,2013年1月收到修改稿

    [基金项目] 国家海洋局青年创新基金(2012621)、中国极地科学战略研究基金(20120106)和《南、北极生物和地质标本标准化整理与共

    享试点》项目(2005DKA21406)资助

    [作者简介] 程文芳,女,1979年生。工程师,主要研究数据共享、数据管理、数据集成。Email:

    櫑櫑櫑櫑櫑

    櫑櫑櫑櫑櫑

    毀毀

    chengwenfang@pric.gov.cn

    研究论文

    极地标本资源共享平台系统设计与实现

    程文芳1 张洁1 夏明一2 张北辰1(1中国极地研究中心,上海200136;2上海橙智信息科技有限公司,上海 201204)

    提要 为了解决分布存储在全国各地的极地标本样品资源共享的问题,基于 Python语言设计了具有数据发布、资源检索和申请审批等功能的极地标本资源共享平台信息系统,实现了极地标本样品的有效管理,目前已成功应用并对

    外服务。本文通过对系统重要功能模块的阐述介绍了系统设计与实现,最后对海量视频、查询推荐、图片检索、资源

    数据链等方面的问题进行了讨论。

    关键词 Python Django 南北极 标本样品 资源检索 资源申请 数据链doi:10.3724/SP.J.1084.2013.00185

    0 引言

    地球的南、北两极,人迹罕见,保存了大量的地

    球气候、环境、岩石圈演化、人类活动以及外太空诸

    多事件的精细记录,蕴藏着丰富的自然和科学资源,

    是科学家研究全球气候变化和资源环境问题的宝贵

    资源。科学家在极区布设传感器,获取实时数据;采

    集冰芯、生物、沉积物、陨石、岩矿等标本和样品,带

    回实验室分析研究。由于标本样品资源分布在全国

    各地实体库中,资源难以集中,信息共享难度大,因

    此希望将极地标本资源共享平台设计成为汇集极地

    样品和标本的分布式“仓库”,主要为那些试图开展

    相关的极地研究而又没能去现场的科学家提供标本

    及其信息,提高极地珍贵标本资源的利用效率。极

    地标本资源共享平台的建设意在实现极地科学样品

    编目、信息发布、样品申请与审批等管理与共享功

    能,提高极地科学样品的开放度和利用率,扩大中国

    在国际极地科学领域的影响力,为地球系统科学的

    基础研究和创新性研究服务。

    极地标本资源共享平台建设和运行服务由国家

    海洋局所属的中国极地研究中心主持,中国科学院、

    国土资源部等所属的若干研究机构共同先行发起建

    设。极地考察管理部门国家海洋局极地考察办公

    室、平台主持单位中国极地研究中心以及各极地资

    源单位将共同组成极地标本资源共享理事会,组织

    协调各资源单位开展极地标本资源的管理与共享。

    根据极地主要标本资源的种类和分布情况,平台由

    五库一网组成(简称“BIRDS”):极地生物标本库由中国极地研究中心和中国科学研究院海洋研究所共

    同运行;极地雪冰样品库由中国极地研究中心维护;

    极地岩矿标本库由中国地质科学院地质力学研究所

    和中国科学院青藏高原研究所共同建设;南极陨石

    标本库由中国极地研究中心负责;极地沉积物样品

    库由中国科技大学和中国极地研究中心一起运行。

    另外,中国极地研究中心负责运行极地标本资源共

    享平台信息系统。BIRDS平台组织结构图如图 1所示。

  • 图1 BIRDS平台组织结构图Fig.1.BIRDSorganizationchart

    1 系统设计

    极地标本资源共享平台系统建设以实现极地生

    物标本、极地冰雪样品、极地岩矿标本、南极陨石标

    本和极地沉积物样品的资源检索、发布、申请和审批

    为目标。系统建设以 Python为开发语言,以开源插件为基础,结合Ajax、Lucence等技术实现了极地标本资源信息的发布、浏览、检索、申请、统计分析等功能。

    1.1 软硬件环境由于极地标本资源共享平台共享了几万张的资

    源描述图片,从访问速度因素考虑将Web应用服务器和文件服务器集中在一台硬件服务器中。平台开

    发以 Python为开发语言,采用 Django系统框架,结合Ajax异步通讯技术,配备Oracle作为数据库。软硬件配置如表1。1.2 软件体系架构

    来自互联网的 Web请求通过 Apache的 WSGI转发至Django,核心应用由 Django完成,它主要负责处理业务请求,根据不同的资源类型,分别向数据

    库(关系型数据)、缓存(最近访问数据)、硬盘(静态

    图片文件)请求资源。除了来自互联网的请求外,

    系统自身每天需要进行的日志处理、数据分析、索引

    处理等其他定时任务通过 WebService方式与核心应用通信。

    表1 系统环境配置Table1.Systemenvironmentconfiguration名称 配置

    服务器 HP580Web应用服务器 Apache2.4操作系统 RedhatLinuxEnterpriseServer5.4数据库软件 OracleRAC开发平台 Eclipse2008开发语言 Python2.5

    1.3 与其他系统之间的接口BIRDS系统与极地科学数据共享平台、极地考

    察信息门户(简称:极地之门)、国家科技基础条件

    平台之间存在多种依托和附属关系。BIRDS系统向国家科技基础条件平台汇交资源数据和服务统计数

    据;与极地科学数据共享平台共享新闻数据;与极地

    之门实现单点登录、portlet个性化定义、系统角色和权限分配,实现公共基础数据(例如:机构、人员、论

    文、项目等)共享。BIRDS系统体系架构如图3。

    681 极地研究 第25卷

  • 图2 系统软件结构图Fig.2.Systemsoftwarestructure

    图3 系统体系结构Fig.3.Systemglobalstructure

    781第2期            程文芳等:极地标本资源共享平台系统设计与实现

  • 1.4 系统功能设计除了资源发布、资源共享、资源检索基础功能,

    BIRDS系统设计了复合检索、图片处理、数据挖掘、资源申请审批、新闻统一发布、科普宣传和数据汇交

    等功能。

    根据功能特点将系统划分成8个模块:资源浏览和检索模块、资源发布模块、资源申请审批模

    块、资源上报模块、成果发布模块、页面管理模块、

    统计分析模块和系统管理模块。各功能模块内容

    见图4。

    图4 系统功能图Fig.4.Systemfunctiondiagram

      (1)资源浏览和检索模块:采用资源导航检索、可视化地图检索、资源个性化检索和资源关键字检

    索4种资源检索模式实现资源的复合查询。具备查询推荐、资源比对、资源快速导航等功能。资源浏览

    与检索模块逻辑结构图见图5。(2)资源发布模块:实现生物标本、雪冰样品、

    岩矿标本、陨石标本和沉积物样品5类资源的系统在线发布。具有单条目录入、批量导入、条目复制录

    入等功能。资源发布模块业务流程图见图6。(3)资源上报模块:对每条元数据、每日访问日

    志实现系统定时或管理员审核上传到中国科技资源

    共享网。资源上报模块数据流程图见图7。(4)资源申请模块:突破纸式资源申请繁琐流

    程,电子化资源申请。

    (5)成果发布模块:包含期刊论文、科研项目、专著发表、获奖情况4个子模块。该模块实现数据

    资源成果项目的一系列关联,形成极地标本资源数据链。

    (6)页面管理模块:包含极地科普和新闻资讯两大类。新闻咨询类又包括新闻动态、公告栏、标准

    规范、平台介绍4个子项。其中新闻发布除了可自行页面录入外,还采取了页面爬虫技术抓取指定几

    个页面中可用新闻和图片。对每一条新闻,系统全

    文判读极地之门中的敏感词库,然后根据敏感词集

    中搜索相关词条数据返回给BIRDS系统。(7)统计分析模块:包含资源统计和访问统计

    两个子模块。资源统计从资源类型、图片、保存单

    位、发布时间、采集地域、资源类型访问、资源条目访

    问7个维度进行统计分析。访问统计子模块从服务天数、总点击数等10个指标进行统计分析。

    (8)系统管理模块:包含用户管理、用户组、基础设置、系统参数、备份恢复、索引构建、日志处理7

    881 极地研究 第25卷

  • 个子模块。基础设置用于描述资源要素,如风化程

    度、资源类型等。借助备份恢复功能管理员可将系

    统还原至历史备份点,实现零数据库基础完成系统

    数据维护工作。

    图5 资源浏览与检索模块逻辑结构图Fig.5.Logicstructureofresourcebrowsingandsearchingmodule

    图6 资源发布模块系统流程图Fig.6.Flowchartofresourcepublishingmodule

    981第2期            程文芳等:极地标本资源共享平台系统设计与实现

  • 图7 资源上报模块数据流程图Fig.7.Dataflowchartofresourcesubmissionmodule

    2 系统开发

    系统的开发实现包括开发环境配置;数据浏览、

    检索、发布、资源申请审批、查询结果处理、资源上

    报、系统管理等功能的开发。

    2.1 Python概述Python有高效率的高层数据结构,简单而有效

    地实现面向对象编程,适用于快速的应用程序开

    发[1]。Python有一个交互式的开发环境,因为Python是解释运行的,节省了每次编译的时间。Python语法简单,且内置有几种高级数据结构,如

    字典、列表等,使得使用起来特别简单。Python具有大部分面向对象语言的特征,可完全进行面向对

    象编程。它可以在 MSDOS、Windows、WindowsNT、Linux、Soloris、Amiga、BeOS、OS/2、VMS、QNX等多种OS上运行[2]。

    Python的整体架构可以分为4个主要的部分,整个架构如图8所示。图左边是 Python提供的大量模块、库以及用户自定义的模块。图右边是

    Python的运行时环境,包括对象/类型系统(Object/Typestructures)、内存分配器(MemoryAllocator)和运行时状态(CurrentStateofPython)。图中间部分是解释器(interpreter),是Python的核心[4]。

    图8 Python体系架构Fig.8.Architectureofpython[3]

    091 极地研究 第25卷

  • 2.2 环境配置(1)安装开源Web应用服务器Apache,改善依

    托pythonmanage插件服务导致的用户数限制和浏览器兼容性差等弊端。

    (2)安装python2.5。(3)安装相关扩展模块:根据系统功能模块的

    设计,系统在开发过程中配置了一些相关的 python功能插件,减少开发周期。

    表2 系统功能插件表Table2.Systemfunctionalplugintable

    序号 名称 功能描述

    1 Django1.3 开源web开发框架,它鼓励快速开发,并遵循MVC设计。Django遵守 BSD版权。

    2 Lxml

    lxml可以迅速、灵活地处理 XML。它支持XMLPathLanguage(XPath)和 ExtensibleStylesheetLanguageTransformation(XSLT),并且实现了常见的 ElementTreeAPI。

    3 cx_Oracle5.1.2用来连接Oracle数据库的扩展模块。

    4 Pil1.16

    PythonImagingLibrary(PIL)是图像处理工具包,提供了基本图像处理功能,如改变图像

    大小,旋转图像,图像格式转换,色场空间转

    换,图像增强,直方图处理,插值和滤波等等。

    5 Reportlab Pdf文件和图像生成器扩展模块。

    6 Pip/setuptools批量安装插件,依赖setuptools。

    7 Simplejson

    simplejson在 Python中生成和解析 JSON。json是很方便的web数据格式,特别是用在ajax的数据处理上。许多 Python的框架都是使用 simplejson包来进行处理。实际上JSON就是Python字典的字符串表示,但是字典作为一个复杂对象是无法直接转换成

    定义它的代码的字符串,Python有一个叫simplejson的库可以方便地完成 JSON的生成和解析,这个包已经包含在Python2.6中

    8 Suds 调用 webservice的扩展库。它比 zsi、soapy之类来说属于轻量级,非常方便。

    9 Pyquerypyquery是一个类似 jquery的网络爬虫工具,不过它是在服务端进行处理的,不像

    jquery是在浏览器中进行处理。

    10 Pycaptcha 注册登录图形验证码。

    11 Xlrd,xlwt Excel格式文件的导入导出。

      (4)配置 apache的配置文件:配置信息包括Web应用服务器的端口号,文件目录地址等。来自Web应用服务器端口号的响应分配到 WSGI下,但是静态文件的响应仍由Apache负责完成。

    (5)装载 mod_wsgi.so到 apache,完成 Django与 Apache的交互。LoadModulewsgi_modulemodules/mod_wsgi.so。

    (6)数据库配置:考虑到实际生产与运行环境,

    数据库采用大型高效对象数据库 Oracle。因此在Python开发中应用开源插件 cxoracle完成与Oracle10.0.4数据库的紧密数据访问。对 Oracle数据库的访问主要完成模块接口、连接对象、游标对象、数

    据类型与定义等几项工作。其中模块接口主要设置

    dsn数据源名称、user用户名、host主机名、database数据库名。

    (7)域名解析:在实际生产过程中由于公网IP,服务器等资源的限制,在硬件上需要应用系统做集成,因此针对一个公网 IP匹配多个域名、多台服务器和不同架构的 Web应用的部署就需要通过域名解析代理完成。BIRDS系统调用 mod_proxy模块开启代理功能,将来自不同域名的请求派发到不同

    的应用中。

    2.3 数据库建模数据库建模非常重要,数据结构一旦确认,后面

    变更都会影响整个项目的进行,因此数据库建模采

    用UML(UnifiedModelingLanguage)语言。UML又称统一建模语言或标准建模语言,它是一个支持模

    型化和软件系统开发的图形化语言,为软件开发的

    所有阶段提供模型化和可视化支持,包括由需求分

    析到规格,到构造和配置[5]。可以在几个层次上显

    示系统如何工作,非常有利于用户和其他涉及项目

    人员之间的通信[6]。数据库建模过程采用开源工

    具OpenSystemArchitect。每一类资源类(BaseInfo)均调用成果类(resourceArchive)、资源申请审批(resourceApply)、数据上报(resourceUpload)和数据访问统计(resourceSata)4类阐述资源共享和使用情况,见图9。

    图9 资源类关系图Fig.9.Relationshipamongclassesofresources

    191第2期            程文芳等:极地标本资源共享平台系统设计与实现

  •   资源描述类定义资源的共性属性和特性属性,用于描述资源信息。以陨石标本资源为例,基础属

    性描述模块ER图见图10,birds_common类定义5

    类资源的共性属性,继承类 bird_deepspace定义陨石标本的个性属性数据。

    图10 陨石标本资源描述模块ER图Fig.10.ERfigureofbasicinformationformeteorite

    2.4 主要功能模块开发2.4.1 缩略图处理

    由于每条资源均配套 1—3张图片数据,因此BIRDS系统必须能负载大量图片的预览。考虑到浏览速度以及图片所有权,系统设计时采用缩略图在

    Web浏览器中更加迅速地装入图形或图片较多的网页。因其小巧,加载速度非常快,故用于快速浏

    览。相当于图片文件预览及目录的作用。

    系统缩略图采用原始图像数据与属性数据分离

    存储的方式。数据库中存储原始图像的缩略图和属

    性数据,在基于内容的图像检索和预览时只访问缩

    略图。当检索到原始图像的缩略图后,如果需要显

    示原始图像时再动态加载[7]。

    BIRDS平台设置了6种尺寸,如下:sizes=[{'folder':'small','size':(80,80)},{'folder':'medium','size':(240,240)},{'folder':'large','size':(320,320)},

    {'folder':'xlarge','size':(1280,1280)},{'folder':'ori','size':None},{'folder':'xxlarge','size':(width,height)}]

    在设计中系统分别采用了 PIL组件、ImageMagick组件、PyQtWebKit组件、COM自动化技术等,实现了对图片类(jpg/bmp/png/tiff)、文档类(pdf,doc)、网页类(html,url)的文档缩放。用户导入资源时系统自动使用5种规格尺寸处理图片,分别生成 small、medium、large、xlarge、xxlarge。其中xxlarge为原有尺寸,仅改变图片格式为 JPEG格式。另外考虑到图片所有权,本文设计对于 xlarge和xxlarge两种规格图片进行水印处理。

    展示图片过程中系统根据不同环境读取不同规

    格的图片。资源列表图片显示采用规格为 small的尺寸;首页图片信息采用规格为 medium的尺寸;资源详细描述中的图片采用规格为large的尺寸;当使用放大镜来浏览图片时则采用xlarge规格的图片。

    291 极地研究 第25卷

  • 2.4.2 资源申请流程由于不同资源申请审批规范和流程不同,因此

    BIRDS系统在处理流程环节也相应有所变化。资源申请流程采用Python开源工作流引擎 Plow,实现数据流灵活变更,实现申请状态任意缓存。在5类标本样品资源中,国家海洋局极地考察办公室目前为

    止仅仅颁布实施了陨石标本和沉积物样品的管理、

    申请及使用规定,陨石标本的申请审批主要依赖于

    南极陨石管理委员会。陨石标本资源在线申请审批

    流程见图11。

    图11 陨石标本资源在线申请审批流程图Fig.11.Onlineapprovalflowchartofthemeteoritespecimens

      沉积物样品的申请流程类似于陨石标本,需要中国极地沉积物样品库和国家海洋局极地考察办公

    室共同审核审批。对于走航期间获得的沉积物样品

    分样还需要综合航次样品现场使用情况进行分样。

    2.4.3 推荐引擎算法传统的搜索技术是一个相对简单的帮助人们找

    到信息的工具,也广泛地被人们所使用,但搜索引擎

    并不能完全满足用户对信息发现的需求,原因一是

    用户很难用恰当的关键词描述自己的需求,二是基

    于关键词的信息检索在很多情况下是不够的。而推

    荐引擎的出现,使用户获取信息的方式从简单的目

    标明确的数据搜索转换到更高级更符合人们使用习

    惯的上下文信息更丰富的信息发现[8]。为了使用

    户获取更多的资源信息,BIRDS系统设计了推荐相关资源功能,帮助用户发现更多的资源。推荐技术

    主要包括基于内容过滤、协同过滤推荐技术、基于知

    识的推荐技术[9]。

    推荐引擎的分类可以根据很多指标:

    (1)根据推荐引擎是否个性推荐:基于大众行为的推荐引擎和个性化推荐引擎;

    (2)根据推荐引擎的数据源:基于人口统计学的推荐、基于内容的推荐、基于协同过滤的推荐;

    (3)根据推荐模型的建立方式: 基于物品和用户本身的模型,这种推荐往往

    是用一个二维矩阵描述的。准确性有损失,实用性

    不高;

    基于关联规则的推荐:主要是挖掘一些数据的依赖关系;

    基于模型的推荐:这是一个典型的机器学习的问题,可以将已有的用户喜好信息作为训练样本,

    训练出一个预测用户喜好的模型。

    由于BIRDS系统目前用户交互非常少,因此在选择推荐引擎中使用基于内容过滤推荐模型。另

    外,由于5类资源描述信息不同,用户对资源的偏好也有所变化,因此推荐引擎所依赖的计算模型也不

    同。通过对5类资源相似度的判别和需求分析,对资源名称、资料类型、采集器、采集者等内容进行整

    合、分析和相似聚类计算[10],全面展示资源的关联

    关系,得到一个初步的推荐引擎算法,如表3所示。

    表3 推荐检索引擎算法Table3.Algorithmofrecommendationengine

    资源类别 引擎算法

    极地生物标本 种名×0.6+(经纬度±1)×0.4极地冰雪样品 采集区域地名×0.5+采集器名称×0.5极地岩矿标本 名称×0.5+采集者×0.5

    南极陨石标本

    化学群×0.2+岩石类型 ×0.2+冲击变质强度×0.2+风化程度 ×0.2+资源提供者×0.2

    极地沉积物样品 样品类型×0.5+名称×0.5

    2.4.4 服务成效统计2.4.4.1 统计分析

    (1)访问统计对于用户访问记录统计主要体现于10个指标

    391第2期            程文芳等:极地标本资源共享平台系统设计与实现

  • 体系,如表4。

    表4 平台访问统计指标体系Table4.Indexsystemofplatformaccess

    序号 指标 备注及说明

    1 服务天数 服务器对外的服务时间

    2 总点击数 用户点击网站的次数,反映资源受欢迎的程度

    3 总用户数 相当于独立的IP,每天一个独立访客算1次

    4 日平均用户数 每日的独立IP数5 唯一IP总数 总共的不重复IP数

    6 PV总数 页面浏览数,每个用户访问一次页面即统计一次

    7 PV日平均数 每日的页面浏览数8 每用户的PV数 一定程度反映用户对网站的粘度

    9 总下载量 各类数据(文本、图片、音频、视频等资源)的下载量

    10 用户来源国家数 访问用户的来源国家数,一定程度上反映网站的用户多样性。

      (2)资源统计为了了解资源情况,本文从多角度、多层次、多

    维度对资源进行剖析和统计。分别列举为:各资源

    数量;资源对应图片数量和文件大小;各单位资源保

    存数量;各年度资源发布数量;不同采集地域资源发

    布数量;各类资源访问量统计(同一天,同一IP算一次);访问排前十的资源名称以及访问量。

    2.4.4.2 资源上报总平台(国家标本资源共享平台)包含6个子

    平台,为了加强资源集中共享力度,并对子平台服务

    情况进行合理评价,子平台需向总平台定期提交核

    心元数据和用户访问日志[11]。

    (1)核心元数据上报根据国家科技部支撑条件平台对资源核心元数

    据的定义,核心元数据包括17个属性,分别为:资源ID、资源名称、关键字、资源描述、更新日期、资源保存单位、资源保存单位地址、资源保存单位邮编、资

    源保存单位联系电话、资源保存单位 email、资源类型名称、资源类型编码、资源分类标准、资源分类标

    准分类版本号、访问限制、访问地址、资源状态。

    (2)日志上报BIRDS系统使用了 apacheweb服务器,因此向

    总平台提交 apache获取的日志信息,包括访问 IP、访问时间、访问内容等。日志提交频率以“日”为计

    算单位,文件名以“项目号_日志时间”命名。系统实现过程中,日志上报数据处理流程是:(1)系统解

    析日志,提取访问 IP、访问时间、访问页面、访问用户名等参数;(2)将提取到的记录载入 Oracle数据库,提供日志统计查询;(3)根据日志分析结果,对日志文件进行分类存储,分配到对应的文件夹目录,

    为日志上报提供文件材料。

    (3)超大数据在线发布针对带宽限制,采用 swfuploader插件实现文件

    批量上传功能,且可实现3GB数据的断点续传,解决了超大数据上传困难的瓶颈。将 ftp上传功能整合到web应用内,方便管理员从浏览器直接ftp上传系统自动处理好的日志文件到 e平台。但是,对处于代理模式下的Apache,还需要处理超大文件的超时问题。#配置说明:链接超时时间,单位为秒。ProxyPass/http://ip:port/timeout=36000Keepalive=On2.5 关键技术概述(1)平台语言切换技术:系统设计有中文和英

    文两种语言。在发布新闻和资源时为了辅助用户更

    快捷地在线填写信息,采用 MicrosoftTranslateAPI自动翻译插件实现中文向英文的自动翻译,大大提

    高信息维护效率。

    (2)单点登录:使用了遵守 OAuth协议的门户单点登录接口,实现了与极地之门及门户下属应用

    平台之间的单点登录功能。BIRDS系统的用户、角色全部在极地之门中注册和分配。BIRDS系统管理员只需要向极地之门提供设定的 portlet名称和 url即可完成应用系统的注册,从而获得极地之门中分

    配用户的权限。

    (3)资源可视化展现优化:使用 googlemap可视化资源数据时,由于资源数量高达上万条,采用常

    规地理位置信息标记方法无法快速加载数据,因此

    系统改进算法,使用Cluster聚类算法动态地对采集坐标点进行分组聚类,提高了在地图中显示大量数

    据的响应速度。经过测试,加载6326条资源、9607张图片首次访问历经平均 6.62s,此后数据检索<2s。(4)关键词过滤:为了有效地将数据关联起来,

    扩展用户的延伸阅读。系统设计信息检索结果与极

    地之门中的队次、论文、机构、人员、术语、地名、观测

    系统、项目等43886条资源词条关联在一起。该接口为一个返回 json数据格式的 web服务,可应用于Ajax请求。当向该接口发送一段文本后,会将该文

    491 极地研究 第25卷

  • 本中的关键字高亮显示,并加上详细查看的跳转

    链接。

    3 结论与讨论

    经过多方需求调研,详细的功能设计,前沿的系

    统架构布局,敏捷的开发流程,人性化的界面分析,

    使得基于Python开发语言的 BIRDS系统大大节省了开发周期且更便于维护和升级。BIRDS系统已经

    完成系统建设,并且在系统响应速度和使用效率上

    都突显出极地标本资源共享的优势,达到预期效果,

    它支持IE5.0、IE7.0、IE8.0、IE9.0、Chrome、Firefox和Safari浏览器。平台运行以来已经发布6326条资源、9607张图片,3.8G数据量,日平均用户888人,总点击数达4434万次,总下载量达12TB,有来自165个国家的用户访问平台。图12为 BIRDS平台系统资源检索效果样例图。

    图12 系统界面Fig.12.BIRDShomepage

      当然随着用户交互的极速增长,系统在性能和功能上有待进一步完善。

    (1)性能问题。当有庞大用户同时在线使用,尤其是上千人同时在线视频时,在一定带宽和服务

    器配置的局限下,服务器CPU资源消耗,业务逻辑、算法都可能浮现不定的瓶颈,这些瓶颈都有待不断

    的升级和改善完成。

    (2)推荐引擎问题。由于目前系统还处于资源发布共享层面,用户交互较少。当用户量增加时,用

    户检索资源、申请资源的需求不断增加,那么系统原

    推荐检索模型则需要增加用户交互因素的变量,从

    而需要改进推荐算法模型。

    (3)综合检索问题。本文的资源检索建立在关系型数据库和 xml检索上,不利于图片检索。随着资源共享程度的提高,还需要通过对图片打上标签

    等技术手段实现图片检索,扩大资源共享范畴。

    (4)资源数据链研究。目前 BIRDS系统已经完成资源项目成果的数据链研究,但是与元数据数据(国内外)资源评价报告资源实体管理等关系网建设还在探讨中。与此同时关系链系统自动匹配

    技术还需进一步调研分析。

    591第2期            程文芳等:极地标本资源共享平台系统设计与实现

  • 参考文献

    1 SwaroopCH著,沈洁元译.简明Python教程.电子文档,2005:2.

    2 罗霄,任勇,山秀明.基于Python的混合语言编程及其实现.计算机应用与软件,2004,21(12):17—18.

    3 陈儒.Python源码剖析深度探索动态语言核心技术.北京:电子工业出版社,2008:6.

    4 Python官方网站.http://www.python.org.

    5 刘海宁,段斌华,李楠,等.设备状态智能诊断模型的自更新机制及其UML建模.高技术通讯.2011,(12):1305—1311.

    6 程文芳,张侠,何剑峰,等.极地生态环境监测与研究信息平台的设计与实现.极地研究,2009,21(4):299—307.

    7 黄斌,杨世洪,吴钦章.特大图像缩略图自动提取系统的构建及实现.计算机应用研究,2005,22(9):173—175.

    8 赵晨婷,马春娥.探索推荐引擎内部的秘密.20110316.http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.ht

    ml.

    9 徐勇,沈小玲,赵俊杰.查询推荐技术综述.微计算机信息,2011,27(5):15—17.

    10 操牡丹,何前锋,王柏.中医药方剂相似度模型.计算机工程,2009,35(16):275—277.

    11 许哲平,覃海宁,马克平,等.自然科技资源的管理、共享和应用研究以中国数字植物标本馆为例.中国科技资源导刊,2012,44(1):27—

    33.

    SYSTEMDESIGNANDIMPLEMENTATIONOFARESOURCESHARINGPLATFORMFORPOLARSAMPLES

    ChengWenfang1,ZhangJie1,XiaMingyi2,ZhangBeichen1(1PolarResearchInstituteofChina,Shanghai200136,China;

    2ChengZhiInformationTechnologyCo.,Ltd.,Shanghai201204,China)

    AbstractTosolvethesharingissuesassociatedwithpolarsamplesdistributednationally,weproposeasystemtoeffec

    tivelymanagethissampledata,basedonthePythonlanguage.Thesystemhasfunctionsforresourcedissemination,resourceretrievalandapplication,andhasbeenappliedandservicedsuccessfully.Thesystemdesignandimplementationaredescribedregardingsomeimportantsystemfunctions.Finally,wediscussissuesrelatedtostorageandaccessofbigvideofiles,queryrecommendation,imageretrieval,andresourcesdatalink.Keywords Python,Django,polar,specimens,samples,dataretrieval,resourceapplication,datalink

    691 极地研究 第25卷