作者简介:钱力: iSwitch试验系统需求调研及系统分发部分的开发, 撰写论文; 师洪波: iSwitch试验系统需求调研及系统接收及解析部分的开发; 张晓林: 提出iSwitch服务概念、基本框架和功能流程, 审核论文; 梁娜: 提出iSwitch技术流程和标准。
[Objective] To route Open Access articles which are received and parsed successfully to Institute Repository of Author and Funding. [Methods] Analyze the technology framework of iSwitch, then design the service architecture and function interface of Routing Articles, and finally use task agent and FTP to realize Articles Routing. [Results] The 34 332 articles from Web of Science, finally are routed successfully by iSwitch. [Limitations] Now Articles Routing is only based on one data source, but the consideration is not enough that the problems may happen in future service. [Conclusions] The experiment results show that workflow mechanism of pushing and routing is correct and its efficiency can meet the future demand for services.
化步为了支持科研论文的开放获取, 促进研究单位的机构知识库[1]构建, 避免由作者自行存缴而带来的繁琐工作、数据缺失或者版本混乱等问题, 建立科研成果有效传播的快速通道和促进科研论文的开放共享, 中国科学院文献情报中心作为开放获取[2]运动的有力推动者, 于2014年提出开放获取论文推送转发服务系统iSwitch[3]。在此背景下, 《开放获取论文推送转发服务系统iSwitch: 技术流程与标准》[4]一文为iSwitch系统的建设提出了具体的技术要求与遵循标准, 并且根据推送方、转发方与接收方的需求, 进行了分发推送服务工作流分析。
在《开放获取论文推送转发服务系统iSwitch: 论文接收与解析》 一文中提出iSwitch系统的接收与解析功能的具体设计方案, 分别使用FTP[5]与SWORD[6]协议接收出版商推送的开放科技论文, 并进行系统实现。根据iSwitch系统的基本框架与标准流程, 需要构建iSwitch系统的推送转发模块, 以实现将通过iSwitch 系统接收、解析成功的科技论文分发推送到相应机构与资助基金的机构知识库。本文即在此需求背景下, 按照统一技术规范要求, 设计并实现iSwitch系统的分发推送功能。
iSwitch论文分发推送模块基于FTP协议实现分发推送数据信息的通信传输, 具体功能包括: 创建分发推送任务; 执行分发推送任务, 将论文分发到所对应的机构或者资助基金的FTP目录下, 目标接收机构按照预定的接收周期进行收割; 分发推送审计; 分发推送信息配置。整体技术实现框架如图1所示。
iSwitch系统设计了自动创建“ 论文分发推送任务” 的生成器(taskCreator), 基于前一天(截止到创建任务时间当天的零点)已经正确解析与映射到相应作者机构与资助基金的开放论文数据列表, 自动生成可分发推送任务序列号, 同时保存到待分发任务列表中, 供执行分发触发器定时调用。
执行分发推送任务通过iSwitch“ 论文分发推送任务” 的分发器(taskRouter), 将任务列表中处于可分发状态的任务即时分发推送到FTP服务器上所对应机构的目录下, 等待机构与资助机构按照接收频次定时收割, 当收割接收成功后, iSwitch系统会自动更新所分发开放论文的分发状态(已分发), 以备后续的审计, 同时也确保同一篇开放论文不在同一个目标机构与资助机构中重复分发推送。其中接收分发论文的频率在iSwitch系统中分为天、周、月、季度以及年多个时间窗。
执行分发任务过程中, “ 待分发论文数据ZIP包” 是在论文接收与解析部分按照ZIP包的格式封装的, 内容包括论文全文文件(PDF/XML)、元数据描述XML文件以及推送方提供的其他数据文件。其中, 元数据描述XML文件是按照JATS[7]标准描述格式完成推送数据论文包的封装。
分发推送论文审计从数据来源、审计类型(分发任务、作者机构和资助基金)以及审计范围(时间点、时间段)三个维度, 审计已经分发推送论文的结果概况, 即成功与失败分发的论文记录:
(1) 成功分发: 可以查看分发目标机构、在机构知识库中的URL以及资助基金名称;
(2) 失败分发: 系统会自动标识失败分发可能的原因, 修改之后iSwitch系统自动调用异常处理机制, 继续分发推送。
为了支持推送方(出版商)更方便、规范地向iSwitch服务推送论文, 同时让接收方(作者机构与资助机构)更可靠、便捷地接收自己单位的科研论文, iSwitch系统具有灵活的个性化配置策略, 其中与分发推送服务相关的主要有以下配置:
(1) 机构与机构知识库映射关系配置: 多个机构合并到一个机构和多个机构共用映射到同一个知识库的配置;
(2) 分发推送周期配置: 根据不同机构知识库接收论文的数量, 其接收周期也可以进行个性化配置;
(3) 其他配置: 对于分发机构还需进行知识库IP、机构知识库网站等机构详细信息配置, 这些配置可以起到保证分发的安全性、提供核对信息等作用。
为保障iSwitch服务系统的论文分发推送模块设计的科学性与合理性, 保障分发推送的有效性与高效性, iSwitch论文分发推送模块设计主要遵循4个原则:
(1) 功能模块之间松耦合与功能单元内部的高内聚特征, 方便功能的调用与后期维护;
(2) 遵循工作流执行规范, 设计与封装相应的功能单元, 以服务接口形式对外暴露发布, 供iSwitch系统调用;
(3) iSwitch服务系统分发推送功能的自动化执行;
(4) 具有异常情况自动处理机制。
根据分发推送整体技术框架, 分发推送模块共分为任务定时创建模块、任务即时执行模块、论文分发状态更新模块与任务异常处理模块共4个部分, 整体结构如图2所示:
此模块功能是将已经正确解析、映射到作者机构与资助机构的开放论文, 通过代理自动调度的形式, 创建与论文相对应可分发的任务, 其中需要解决以下关键问题:
(1) 任务代理自动调度。为了增强iSwitch系统的自动分发功能, 分发模块针对任务创建设计与实现了“ 任务代理调度(Agent)” 功能, 即每天iSwitch会自动调度“ 任务创建功能” , 按照设计的流程自动执行, 完成任务的创建。
(2) 按机构接收频次获取可分发论文。代理自动调度启动之后, iSwitch会自动发现今天之前(零点之前)的正确解析而且未分发的开放论文, 从中获取需要分发的机构或者资助机构列表, 将这些机构的论文接收频次与当前时间进行自动计算分析, 如果满足接收频次, 则此机构未分发的论文即可加入分发任务列表中, 否则过滤掉不满足接收频次的未分发论文, 等待下次任务的调度。
(3) 创建可分发任务。分发任务的创建以“ 按机构接收频次获取可分发论文” 功能单元所计算分析的机构ID为标识, 即一个可分发机构对应一个新的“ 可分发状态” 的任务号TaskID, 同时将此机构所对应的未分发论文映射的任务号更新为TaskID。
此模块功能是将处于可分发状态的任务即时执行(iSwitch服务配置了每5秒钟自动扫描是否有待分发的任务), 分发推送论文并存储在作者机构与资助基金所对应的FTP目录, 具体执行流程是: 找到作者机构; 获取分发批次号码; 获取与分发此批次号下的所有待分发论文数据ZIP包。
按照上述的流程路径, 将压缩数据包基于FTP协议分发存储在服务器空间中, 供作者机构定时收割与解析。
此模块以Web Serives接口形式对外发布, 供机构知识库平台调用, 以实现更新已经分发推送的论文分发状态, 在保障论文不再重复分发推送的同时, 也保障iSwitch系统分发推送的审计功能和异常处理能力, 由于不确定的原因而导致论文没有正常推送的时候, 系统会自动更新论文状态, 保障任务代理再次调度此篇论文, 最终分发到目的作者机构或者资助机构。
iSwitch系统分发任务标识设置了4个状态: 1(可分发)、2(分发完成)、3(分发部分失败)和4(分发全部失败)。当一个任务执行过程中, 出现论文因异常情况无法推送成功时, 此任务会被标识为3或者4(任务结束进行统计), 系统仍然会自动调度此任务两次, 如果仍然失败, 则此任务不会被代理再次调度, 需要人工审计, 解决相应的问题之后, 手动触发“ 分发推送任务异常处理模块” , 完成未分发论文的推送。
iSwitch分发审计功能是基于分发任务的分发推送结果, 审核与统计已经分发推送的论文概况, 保障接收论文可靠分发, 提升iSwitch平台的服务质量与效果, 也是对出版商所提供数据的进一步检验。如图3所示, 审计模块的设计从出版商、作者机构、资助基金以及分发任务4个维度, 基于时间窗进行即时审计, 审计各个维度需要分发推送的论文总数(根据iSwitch系统接收与解析论文的结果进行审计)、成功分发论文总数(分发状态为已分发)与失败分发论文总数(分发状态为失败)。
为了验证iSwitch服务系统的论文推送转发服务的有效性, 保障iSwitch系统在后期提供优质服务, 笔者开展了相关实验, 下面从实验准备条件和实现结果分析两个方面对分发服务机制进行介绍。
开放获取论文推送者: 汤森路透; 数据来源: Web of Science; 数据体量: 34 332条; 覆盖中国科学院机构: 99个; 覆盖资助基金: 2个; 覆盖年限: 2013年; 开放获取论文转发者: iSwitch; 开放获取论文接受者: IR; 转发通信协议: FTP。
(1) 总体实验结果
通过定时调度iSwitch分发服务中的分发器, 对34 332篇开放获取论文实验数据进行分发推送, 详细统计结果如表1所示, 实验结果整体概况如图4所示。结果表明, 实验论文数据全部分发成功, 而且一篇论文属于多个机构的情况也正确分发推送到相对应的作者机构或者资助基金中, 所以iSwitch服务系统的分发推送功能在分发结果上满足项目建设目标。
![]() | 表1 开放获取论文推送转发实验结果统计表 |
(2) 总体实验效率
iSwitch服务系统的分发通信协议同时支持FTP与SWORD, 其中FTP在支持批量论文的转发方面效率更高, 笔者在本次实验中即采用基于FTP通信协议, 实验效率详细分析统计如表2所示, 结果表明iSwitch服务系统基于FTP协议的转发服务效率很高, 实现批量数据及时转发到作者机构与资助基金的IR中, 而作者机构可以快速收集本机构科研人员的科研成果。
![]() | 表2 开放获取论文推送转发实验分析统计表 |
(3) 实验审计结果
从数据来源、审计类型、作者机构三个维度对本次推送转发结果进行审计, 结果如图5所示, 共有99个机构接收到推送转发的开放论文, 审计结果显示, 实验数据中涉及到的99个机构都正确接收到iSwitch转发推送的论文, 进一步验证整个转发推送的工作流程是正确的。
笔者按照iSwitch系统整体设计框架、技术规范以及分发推送流程实现了iSwitch系统分发推送功能, 利用FTP通信协议方式, 安全、高效地将分发论文数据分发推送到所对应机构的FTP目录下。iSwitch系统分发推送功能所实现的“ 自动创建分发任务、自动执行分发任务与异常分发处理” 机制保障了各个研究机构及时有效地收集该机构的论文资产, 促进了机构知识库的建设和开放科技论文的传播与利用。后续研究工作将从以下两个方面重点展开: 基于当前技术实现平台, 开展基于多个数据来源、更大体量的开放科研论文的分发推送工作, 根据实际分发推送效果对相关技术环节进一步完善; 基于iSwitch分发推送服务, 构建校验与完善机构知识库中论文信息的技术服务机制。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|