崔兴辉,李大立
1. 北京嘉欣科技有限公司,北京 100040 2. 中国科学院动物研究所,北京 100101
信息科学与技术的飞速发展及广泛应用,对科学研究领域产生了深刻的影响。信息技术在为科研领域创造新的科研模式,国内外已有相当多的单位关注信息化的创新研究,在创新研究过程中也需要提供相应的各种支持工具,比如支持信息的获取、数据的可视化、数据的建模工具、数据展示的开发工具等等。在这种信息科学发展的迫切需求下,中国科学院动物研究所国家标本资源共享平台动物标本子平台决定对动物标本的数据及专题数据进行信息化创新。
中国科学院动物研究所国家标本资源共享平台动物标本子平台 (以下简称“动物标本子平台”) 是国家科技部认定并资助的国家科技基础条件平台中重要组成子平台,汇集了物种库、标本库、图片库以及文献库、专题库等标本数字化信息,动物标本资源共享平台标本信息库已整理整合了各类群动物标本 265 万号、20 个专题,完成了部分《中国动物志》的电子化,完成了鸟类鸣声、采集、标本制作、中国重要物种资源、濒危鸟类、濒危兽类、物种元数据的建设等等专题,动物标本子平台充分利用现代信息技术等手段,创新机制,有效整合动物标本资源,通过平台实现标本资源的共享,使标本资源真正成为国家资源和促进社会进步的重要基础。
数据平台架构由核心容器,公共组件层和开发支撑层三个层次构成 (图 1):
核心容器:用来装配业务组件类和公共组件。
公共组件层:提供了数据缓存,对象持久化,安全与权限等大部分业务系统都要用到的公共模块。
开发支撑层:提供了相应的应用基类和工具类,用来简化 N 层结构的系统开发过程。
SSO 及安全验证:为业务系统提供单点登录及验证功能,并保证系统安全。
用户及权限管理:提供基础的后台管理,包括用户管理,权限管理,日志管理等。
平台应用:基于平台支撑,开发本项目内的全部功能模块,其中包括内容管理、标本数据录入、标本数据批量导入、标本数据字段自定义展示、物种数据录入、物种数据自动提取、物种数据批量导入、物种数据字段自定义展示、标本图片数据录入、标本图片数据批量导入、720 度全景、360 全景、各类群关键字段检索、全文检索、相关数据支撑、专题数据库建设 (中国重要物种资源-天牛、鸟类鸣声专题、采集专题、标本制作专题、中国重要物种资源-鸟类、中国重要物种资源-兽类、中国重要物种资源-鱼类、濒危鸟类专题、濒危兽类专题等等)。
从数据技术角度分析,数据在进行网络化实现和数据自身错误处理机制上来说,数据的完整性、准确性已成为了科学研究方向上一个重要的依据;在这种情况下,动物标本子平台经研究决定研发一项自动处理数据完整性的定期服务,服务主要操作流程:1.科研人员定期的检查并过滤下级合作单位上缴数据,对其中错误的数据进行本地数据和数据网络化调整 2.通过动物标本子平台对数据的导入到录入进行验证与过滤,使其在数据录入过程中及时发现数据本身存在的问题;
平台的系统运行环境如表 1 所示。
动物标本子平台将采用开源技术开发本项目。
开源技术的优点是:
执行效率高:.NET 是把基于通用语言的程序在服务器上运行。不像以前的 ASP 即时解释程序,而是将程序在服务器端首次运行时进行编译。
适应性强:.NET 是基于通用语言的编译运行的程序,适应性强。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到 ASP.NET 的 Web应用中。ASP.NET 同时也是 language—independent语言独立化的,可以把其他语言编写好的程序模块直接移植到. NET 上。
安全性高:采用 .NET 技术,它以面向对象技术良好地封装了程序,避免了代码泄漏。
扩展性强:面向对象技术的另外一个特点是扩展性强。采用组件式开发,当新增应用是,能够相互良好地接口。
图1 数据平台的体系结构Fig. 1 Architecture of data platform
表1 系统运行环境Table 1 System operating environment
开发速度快:采用可重用的组建化技术,能够大大缩短开发周期,尤其是后续增加新功能的时候。
易于和新技术接轨:开源技术拥有庞大的开放共享的队伍。他们突破商业狭隘的利益,探索互联网的最新应用。因此,目前,主流的互联网应用都是来自于开源技术。
动物标本子平台网站采用的技术主要为 Ajax、.NET、Div+Css、.JavaScript、Flash 等技术,能够较大程度地实现页面的排版和功能定制。
动物标本子平台特点如图 2 所示:
(1) 栏目规划合理、界面美观:重新定义平台栏目和规划、科普与科研的结合;界面设计采用中色调、大字体;即增加了亲和力又不失美观。
图2 平台特点Fig. 2 Platform features
图3 平台的安全措施Fig. 3 Platform security measures
(2) 资源信息的丰富:对实体标本的资源 (包括文字、图像、声音等) 进行整合、加工并运用 360° 全景手段营造逼真、形象、生动的展示效果。
(3) 兼顾使用人群及操作习惯:采用强大的搜索功能、关键词搜索功能、全文检索功能、标本属性搜索功能;以及目录树方式。业内专家和业外人员都能方便的查询。
(4) 系统技术功能强大:物种库、标本库、图片库等信息运用技术手段在不同栏目和页面之间穿梭链接,都非常方便。
平台的安全措施如图 3 所示:
(1) 网络应用:应用防火墙防御。
(2) 程序逻辑:编程时良好的设计及严密的编码对确保系统级安全。
(3) 数据储存:设置相应的访问权限。
(4) 系统平台:做好系统本身的安全保护。
(5) 传输访问:采用 SSL 的方式进行通道加密。
(6) 数据库:用户密码加密手段。
数据信息化:
数据信息化的整体实现采用了多层架构的方式,多层架构是一种被行业证明过的软件架构模型,具有可扩展性、安全性、容错性方面等方面的有点,是一个良好的软件架构的解决方案。
多层架构的优势:
● 可伸缩性。这是由于多层的功能和低耦合性所决定的。
● 可安全性。更好和更安全的控制整个系统,我们可以对每个层执行不同的安全策略,比如,业务层和数据层通常比表示层需要更高的安全级别,我们可以把这两高安全层放在防火墙后面进行保护。
● 可容错性。比如,在不影响其他层的情况下,数据库在数据层中可以为故障转移,进行负载平衡集群。
● 可独立性。在不影响其他层情况下,可以进行独立升级和改变。
● 可便捷性。更便捷和更高效的开发环境,解耦主要是通过软件组件组合来实现某一模块,这样软件开发是非常便捷和高效的。可以把每一层要实现的功能单独分配给不同的开发组,只需通过接口来互相通信,每个层又可以自己做单元测试,到最后完成时组合起来就变成一个完整的系统。
● 可维护性。
● 可扩展性。由于对业务开发是以组件式来的,对于新功能的添加和删除是非常方便的。
● 可重用性。由于是高内聚和低耦合,通用的功能和代码可以重复使用,也可以被其他更多的应用程序调用。
各模块之间的数据支撑:
为了使物种库、标本库、标本图片库、文献库、专题库、360 度全景、720 度全景各类群各模块之间建立相关的数据支撑,技术人员通过各模块之间的共性数据,研发了一套轮询匹配技术,匹配规则如下——以物种名、拉丁名、平台号、标题等数据为基础,采用逐次筛选方法 (根据数据情况自己研发的轮询匹配) 筛选出数据中的纲目科属种拉丁名,同物种库中的物种,按类群+门纲目科属种拉丁名为匹配组合条件,根据本类需求特点,开发以实时动态加相对静态的结合方案解析模块,在一级索引+二级索引范围内,用轮询规则 (根据数据情况自己研发的轮询匹配) 进行数据查询匹配,经过技术筛查,在保证检索速度的前提下,全面覆盖当前有链接数据的所有数据支撑。
建立直观的跨类群、多数据库合并检索模块:
网站采用 Lucene.net 的全文搜索框架,Lucene.net 是一个高性能 (high-performance) 的全能的全文检索 (full-featured text search engine) 的搜索引擎框架库,完全 (entirely) 使用 C# 开发。它是一种技术(technology),适合于 (suitable for) 几乎 (nearly) 任何一种需要全文检索 (full-text search) 的应用,特别是跨平台 (cross-platform) 的应用。这项技术具有可扩展的高性能的索引能力,通过这项技术实现动物标本子平台各类群、各模块之间的聚合检索,已达到一个搜索框,检索整个数据库的效果。通过一条检索途径,遍寻全部数据库中的有关信息,直观地检索出全部与检索条件相符的信息。
漏斗式检索模块:
在全文检索结果的基础上,采用逐层次检索,以达到检索目的,也可扩大检索范围,以便检索到精确的数据信息。
专题模块:
通过各个专题不同的数据模式,根据各个专题数据模式的特点,采用不同的技术手段,建立符合各个专题的信息化展示风格。采用的关键技术有 win 服务、数据缓存、数据静态等。
通过以上技术架构、关键技术,把动物标本子平台建设为中国动物标本信息及动物标本学科的国际性专业网站,在网站建设过程中,采用不同的技术架构、不同的技术手段,深度挖掘动物标本数据资源,使成为动物标本科研人员和社会普通科员人员在研究动物标本中的一大助力。
动物标本子平台利用现代信息技术等手段,创新机制,有效整合了动物标本的数据资源,通过平台实现标本资源的共享,使标本资源真正成为国家资源和促进社会进步的重要基础。
中国科学院动物研究所陈军研究员、张莉莉副研究员为项目的顺利开展提供了大量宝贵意见和帮助,同时感谢国家科技基础条件平台工作重点项目(2005DKA21402) 所提供的大力支持。
[1](美)内格尔(Christian Nagel).C#高级编程(第9版)——C#5.0 & .NET 4.5.1 (.NET开发经典名著) [G].9版.北京:清华大学出版社,2014.
[2]明日科技,张跃廷,王小可,张宏宇.ASP.NET技术方案宝典 [M/CD].1版北京:人民邮电出版社,2008.
[3]李春葆.数据结构教程(C#语言描述) [G].1版北京:清华大学出版社,2013.
[4]明日科技,马俊,袁暋. SQL Server数据库管理与开发[DB/MT].1版北京:人民邮电出版社,2016.
[5]陈会安.SQL Server 数据库设计与开发实务[M/CD].5版北京:清华大学出版社,2013.
[6]Jon Skeet.深入理解C# [G].1版北京:人民邮电出版社,2014.
[7]JoostVisser (约斯特·维瑟) 著,张若飞 译.代码不朽:编写可维护软件的10大要则 (C#版) [G].1版北京:电子工业出版社,2016.