虚拟现实图书馆自动排架系统的实现方法 技术领域 本发明涉及虚拟现实技术应用于数字化图书馆的一种虚拟现实图书馆自动排架 系统的实现方法。
背景技术 目前, 虚拟现实技术应用于图书馆物理环境与内外建筑环境渲染, 实现虚拟图书 馆漫游和图书馆使用导览为主的功能展示, 以及图书馆建筑结构和书架、 桌椅等物理设备 外型结构的三维立体虚拟显示和基于传统二维 “搜索” 方式的图书简单定位功能, 这种应用 是典型的 “漫游式虚拟现实图书馆” , 功能特征主要是环境演示型。
新加坡国立大学图书馆应用 Google Earth 技术制作出用于图书馆内部漫游的虚 拟现实图书馆, 介绍新加坡国立大学图书馆概貌, 配备查询图书定位到书架大致位置的初 级化 “2D 图书搜索” 功能。该馆虚拟现实的整体应用效果属于虚拟现实技术应用的初级化 应用阶段, 但该应用水平则代表了当今全球高校图书馆虚拟现实技术应用的最高水平, 该 虚拟现实图书馆仅能实现图书所在二维空间的基本定位, 无法以直观易用的方式动态显示 每一排书架的图书。该虚拟演示图书展示达到了 “书架级” 精度, 距离 “图书级” 展示精度 尚有较大距离。
台湾国立勤益科技大学图书馆新建的图书咨讯馆, 通过 3D 虚拟导览系统, 读者可 以了解该馆内部应用情况, 用户通过键盘和鼠标的简单操作来实现虚拟场景中角色、 楼层 等的转换。 图书排架呈现的图书精度是比较理想的, 但仅停留在虚拟现实演示功能层面上。
国内研究状况与水平, 以国家数字图书馆二期工程为代表。虚拟现实应用可引导 读者在图书馆建筑内部漫游, 方便读者了解图书馆图书分布、 功能和服务, 例如阅览区面、 书库、 多媒体阅览室、 服务台等, 同时呈现图书馆图书资源的流动等。也可在虚拟现实体验 区内体验虚拟现实馆区游览和虚拟现实阅读站, 不需要虚拟现实的手套、 头盔、 操纵杆等设 备。这种虚拟现实应用还属于 “漫游式虚拟现实图书馆” , 功能特征也是环境演示型的。
目前, 国外大型图书馆自动化管理系统 ALEPH、 INNOPAC 和 SIRSI 的开发商均没有 考虑建设虚拟现实图书馆, 更没有实现图书自动排架功能 ; 国内的图书馆自动化管理系统 汇文、 DLAS、 北邮等也同样没有开发图书自动排架系统的案例。
个别大学自主开发的虚拟现实图书馆系统包含有限的图书自动排架静态功能, 只 能在 OPAC 中显示部分图书所在的书架信息, 不能实时映射最新图书排架信息, 无法解决动 态同步问题。在 OPAC 系统中检索图书虽可获取书架信息, 但不能获得动态的图书信息, 所 以, 这类图书自动排架系统只能呈现静态图书信息, 不能实现动态同步, 不是真正意义的图 书自动排架系统。
目前, 在全球范围内, 不论是高校图书馆, 还是公共图书馆, 实现图书馆导览及图 书基本定位功能的虚拟现实图书馆目前还很少, 而基于可视化的虚拟现实图书馆自动排架 系统更是鲜有报告, 最相似 (相近) 解决方案有以下几种 : 1. 图书馆物理建筑的虚拟展示引导读者在图书馆建筑内部漫游, 主要作用是更好地方
便读者了解图书馆图书分布、 功能和服务, 例如阅览区面、 书库、 多媒体阅览室、 服务台等, 同时呈现图书馆图书资源的流动等。国家数字图书馆二期工程就是典型案例。它建立一个 虚拟现实 (Virtual Reality) 体验区, 在虚拟现实体验区内展示的主要是虚拟现实馆区游 览和虚拟现实阅读站两个部分, 用摄像的视频信息判断人的动作, 不需要虚拟现实的手套、 头盔、 操纵杆等设备。
这种通过网络来进行的仿真环境展示, 除了有影像、 声音、 文字来辅助浏览进程 外, 可以在不受时间及地点的限制下来浏览图书馆主要功能, 每个读者可以根据自己的需 求, 通过局域网 (校园网) 或广域网媒介来熟悉图书馆的虚拟物理环境。
然而, 国家图书馆二期工程是以演示功能为主、 辅以一定量的交互功能, 且交互功 能也仅限于虚拟现实场景体验而已, 与基于虚拟技术的可视化图书馆集成化管理系统存在 相当差距。
2. 图书馆资源查询、 检索与导航展示, 将现有的物理书架、 报刊架等与图书馆拥有 的馆藏纸质资源, 通过虚拟现实进行表现, 呈现给读者的是一个仿真的、 三维的图书馆书库 集合, 完全按照图书馆书库和报刊库等的物理排架规则 (中图法或排架号) 进行展示, 读者 可以查询到所需图书所在的书架位置。 新加坡国立大学图书馆应用具有代表性 : 应用 Google Earth 技术制作出用于图 书馆内部漫游的虚拟现实图书馆, 介绍图书馆概貌, 具有查询图书定位到书架的初级化 “3D 图书搜索” 功能。
新加坡国立大学图书馆虚拟现实的整体应用效果属于虚拟现实技术应用的初级 化应用阶段, 该应用水平一定程度上代表了当今全球高校图书馆虚拟现实技术应用的最高 水平, 但是该虚拟现实图书馆仅能实现图书所在三维空间的基本定位, 无法以直观易用方 式的动态显示每一排书架的图书, 仅达到 “书架级” 精度。
目前, 全球具有代表性、 寥寥可数的高校图书馆虚拟展示介绍都是以 2D 形式来表 现的。 读者只能从查询系统中获得图书所在的书架位置, 不能自由地选择观察点, 因而限制 了读者获取文献信息资源的方式。
3.图书自动排架位图定位。目前, 国外的大型图书馆自动化管理系统 ALEPH、 INNOPAC 和 SIRSI 的开发商均没有考虑建设虚拟现实图书馆, 更没有实现图书自动排架功 能; 国内的图书馆自动化管理系统汇文、 DLAS、 北邮等也同样没有开发图书自动排架系统的 案例。
通过局域网 (校园网) 或广域网媒介来认识、 熟悉、 使用图书馆的虚拟现实环境, 即 通过网络来进行的仿真环境展示, 在不受时间及地点的限制下来浏览与使用图书馆馆藏资 源, 目前在全球范围内, 不论是高校图书馆, 还是公共图书馆, 均是一个空白点。 据文献信息 资料检索, 国际最新研究进展主要体现在 : 虚拟现实技术应用于图书馆物理环境与内外建 筑环境渲染, 实现虚拟图书馆漫游和图书馆使用导览为主的功能展示, 以及图书馆建筑结 构和书架、 桌椅等物理设备外型结构的 3D 三维立体虚拟显示和基于传统 2D 二维 “搜索” 方 式的图书简单定位功能, 这种应用是典型的 “漫游式虚拟现实图书馆” , 功能特征主要是环 境演示型。运用 2D 二维 “搜索” 方式获得图书简单定位功能的虚拟现实技术在图书馆领域 应用的很少见报道, 采用基于虚拟现实的图书馆自动排架系统更是没有。
发明内容
为了解决虚拟现实图书馆的技术难点, 有必要提供一种图书自动排架的实现方法。 本发明解决现有的技术问题所采用的技术方案为 : 一种虚拟现实图书馆自动排架 系统的实现方法, 包括建立图书书目数据库数据增长模型、 图书信息同步、 图书自动排架并 展示, 其中, 图书自动排架并展示包括图书立面切割和图书自动排架算法。
本发明虚拟现实图书馆自动排架系统的实现方法中, 建立图书书目数据库数据增 长模型包括根据书目数据离散分布与书目数据增长模型曲线图建立增长模型。
本发明虚拟现实图书馆自动排架系统的实现方法中, 书目数据库书目数据增长规 r(t – t0) 律为 N (t ) = N0 e , t 表示时间, N 表示对应时间的图书量。
本发明虚拟现实图书馆自动排架系统的实现方法中, 图书信息同步包括建立图书 信息数据库图书信息表, 图书信息数据库图书信息表包括图书书目信息数据库表和图书状 态数据库表。
本发明虚拟现实图书馆自动排架系统的实现方法中, 图书自动排架并展示包括图 书自动排架和图书自动排架展示算法。
本发明虚拟现实图书馆自动排架系统的实现方法中, 图书自动排架时, 首先通过 图书信息传递函数连接图书馆自动化管理系统, 实时同步图书相关典藏信息、 图书状态和 图书书目数据等形成图书信息管理表 ; 然后将以上数据输入到自动排架系统中, 按照排架 规则, 结合图书书架信息进行排架初始化, 并按每行书架图书的册数确定每行索取号的起 止号, 输出形成书架信息表, 包括书架号、 行号、 索取号起和索取号止等信息 ; 最后将此信息 输出至图书排架信息表中。
本发明虚拟现实图书馆自动排架系统的实现方法中, 图书自动排架展示时, 根据 单册图书封面图片和图书基本属性, 通过图书立面切割方法, 结合图书书目信息形成图书 立面图片, 进而建模生成单册图书模型, 建立图书模型数据库。
本发明虚拟现实图书馆自动排架系统的实现方法中, 图书自动排架还包括建立图 书信息管理表、 图书封面图片数据库、 图书立面图片数据库、 图书模型数据库、 书架信息表 和图书排架信息表。
本发明虚拟现实图书馆自动排架系统的实现方法中, 排架初始化包括 : 开始、 选择 图书典藏地点、 计算分类图书增长率、 确定书架分类容积率、 计算分类图书平均页码、 计算 分类图书书架行数、 根据现有书架数量调整分类图书容积率、 图书初始排架完成、 记录书架 信息、 图书模型排架、 图书模型排架调整、 记录书架信息、 图书模型标记图书状态、 结束。
本发明虚拟现实图书馆自动排架系统的实现方法中, 图书自动排架展示包括图书 上架与下架, 图书上架与下架包括 : 开始 ; 扫描输入单册图书登录号 ; 图书单册是否新书, 是则继续, 否则返回扫描输入单册图书登录号 ; 单册新书典藏信息 (典藏地址、 卷期) , 并由 单册新书基本属性 (索取号、 控制号、 页码、 开本、 装帧) 得到单册新书模型 ; 计算单册新书物 理典藏地点及显示 ; 单册新书是否手工上架, 是则继续流程, 否则返回计算单册新书物理典 藏地点及显示 ; 新书单册所述物理典藏地点单行书架计算合成 ; 图书馆物理典藏地点单排 书架展示 ; 最后一本单册是否新书, 是则流程结束, 否则返回扫描输入单册图书登录号。
相较于现有技术, 本发明虚拟现实图书馆自动排架系统的实现方法, 主要设计图
书自动排架系统, 建立图书数据实时映射, 实现图书动态同步排架, 进而连接图书馆自动化 管理系统 ; 在此基础上建立虚拟场景与物理场景一致的虚拟现实图书馆, 一方面满足场景 浏览、 场景互动、 图书定位与浏览等功能, 另一方面在虚拟场景中以图书为最小管理单元, 集成并实现图书可视化管理功能, 使得传统图书馆自动化管理系统整体性升级为 “基于图 书可视化管理的虚拟现实图书馆系统” 。 首先, 本发明突破现有虚拟图书馆中图书管理的精 度, 从三维的图书地点逐级定位单行书架、 单册图书, 将来还可以进一步深入到图书内容, 达到 “内容级” 的展示精度。其次, 采用实时同步算法, 使图书自动化管理系统书目数据始 终与虚拟现实图书馆系统数据同步, 图书排架呈现动态方式而实现两个数据库数据完全同 步和保持一致, 达到 “图书级” 的排架精度。突破现有 “虚拟图书馆” 系统书目数据的虚拟 现实排架只能采用静态模式, 即虚拟图书馆数据库与图书自动化管理系统数据库中的数据 不具有自动同步和映射关系、 不能实现实时动态同步显示书籍的借阅状态和馆藏情况 (包 括新增图书、 丢失图书) 等缺陷。再者, 将支持读者在虚拟现实场景中实现图书在线借阅、 电 子资源阅览等服务功能。 读者可直接选取所需图书进行借阅, 系统自动更新该书状态, 实时 提交外借图书数据。 为读者借阅带来极大方便 ; 同时也可在线阅读所需图书的电子版本, 身 临其境地访问虚拟图书馆内的各类多载体资源和在线借阅等服务。 附图说明
图 1 是是图书自动排架的系统数据流程示意图。 图 2 是图书封面图片及切片示意图。 图 3 是图书立面示意图。 图 4 是图书模型生成数据流程示意图。 图 5 是图书自动排架的排架初始化流程示意图。 图 6 是图书上架流程图与上架流程示意图。 图 7 是图书馆自动化管理系统、 图书自动排架系统和虚拟现实场景系统的关系示 图 8 是虚拟现实图书馆平台层次结构示意图。 图 9 是图书自动排架系统的子系统示意图。意图。
具体实施方式
下面结合附图和本发明的实施方式作进一步详细说明。
本发明虚拟现实数字图书馆自动排架系统的实现方法包括 : (1) 建立虚拟图书书目数据库数据增长模型。
虚拟图书书目数据库数据增长模型研究是解决物理书目数据库与虚拟现实书目 数据库数据同步的理论基础, 成为图书自动排架方法与各子系统的基础数学模型。该模型 的建立过程中, 增加现实编目环境中各相关因素, 诸如供书商供应链变化、 编目数据季节性 变化、 编目人员因素等, 使得前期研究的理想数学模型成为考虑各干扰因素的实用数学模 型。
(2) 虚拟图书书目数据同步机制和方法, 其包括同步机制、 实现方法和模型操作 函数和算法。本项目研究, 拟在前期研究的基础上进一步研究利用图书馆标准协议 Z39.50 和 OAI, 实现图书信息与状态信息以上两个数据库表与图书馆自动化管理系统之间的图书数 据的同步实验, 为图书自动排架方法建立相关操作函数和方法模型算法, 进而解决虚拟现 实书目数据库与物理书目数据库之间的同步映射, 实现与图书馆自动化管理系统中的图书 实时编目数据同步。
(3)图书立面切割。
在前期研究的基础上, 从批处理角度从图书信息管理子系统中批量获取图书页 码、 书名、 作者和出版社等信息 ; 结合图书封面图片, 采用图书立面生成方法, 分别形成图书 封面切片、 图书立面图片 ; 最后将以上图片存入图书模型数据库中。
根据图书的立面大多与封面左侧图形相近的特点, 在图书封面左侧切取一条宽度 为图书厚度的图片 (与图书封面图片比例对应) 作为图书立面的背景, 然后调用图书信息管 理子系统中的书名、 作者、 出版社信息, 竖向分布于图书立面。
(4)虚拟图书自动排架。
虚拟图书自动排架系统需要结合各个图书馆的实际工作流程、 书库图书更新周 期、 书架高度、 书架宽度等因素, 综合考虑, 设计图书自动排架方法。 基于虚拟现实图书馆图 书自动排架系统的实现方法是本项目研究的关键所在。 重点拟考虑图书自动排架的相关因素有 : 索取号的相对连贯性 ; 非常规尺寸的图 书横排摆放和书架间距调整 ; 图书排架时需考虑不同版本的图书一起摆放 ; 图书增长的需 求需考虑, 可参考加权值 ; 特殊空间和特殊的排架周期, 例如新书架的排架 ; 图书排架变更 的周期, 例如常规书架变更周期、 密集书库变更周期、 新书架变更周期、 特殊空间变更周期 等; 结合图书典藏上架的实际工作流程设计, 不同图书馆的工作流程要求具有灵活性 ; 实 际排架中的灵活调整, 例如艺术类图书有大有小, 需要将大本图书集中横排、 小本图书集 中; 单册图书的实际状态, 是否借出、 是否归还、 是否正在典藏移送中等。
本发明虚拟现实图书馆自动排架系统的实现方法包括 : 建立图书书目数据库数据 增长模型、 图书信息同步、 图书自动排架并展示。其中, 图书自动排架并展示包括图书立面 切割和图书自动排架算法。
(1) 建立图书书目数据库数据增长模型 图书书目即图书目录, 揭示图书的基本信息, 并按一定的顺序编排而成。 不同的图书馆 图书书目数量从几十万条到几百万条不等。
图书书目数据库增长规律直接影响着书目数据在虚拟现实图书馆中的同步数据 更新, 建立书目数据库数据增长模型可直接服务于图书自动排架方法与各子系统。
根据图书书目数据库更新的图书书目数据在每学年的增长规律符合任一单位时 刻书目数据的增长率与当时的书目数据总量成正比的假设, 并且书目数据与每学年度月份 的离散数据分布相吻合。
考虑到同步影响书目数据库数据增长的因素还包括供书商供应链变化、 编目数据 季节性变化、 编目人员因素等, 为化简起见, 影响书目数据与同步映射数据增长的其他等因 素设为常数, 所示微分方程的特解为书目数据库书目数据增长规律, 如下式 r(t – t0) N(t) = N0 e 注: 假设 t = t0 时的书目数据总量为 N0。
当 0 ≤ t < 7 时 t : =t 当 9 ≤ t ≤ 12, t : =t -7 根据书目数据离散分布与书目数据增长模型检验, 书目数据库自然增长在每学年第一 学期 9 月至第二年 1 月的增长规律与本模型增长规律拟合效果较好, 符合第一个正态分 布; 第二学期 1 月到 7 月为第二个正态分布周期。基于高校图书馆采编部门的工作规律与 本模型有较好的拟合度, 选择书目数据库数据增长模型为虚拟现实图书馆同步映射数据提 供直接支撑。
图书书目增长模型建立后, 还必须再次深入研发, 针对近几年购买图书按照中国 图书分类法细分后, 进行数据挖掘, 并结合图书日常排架工作, 确定增长率比较高的图书分 类, 并设定图书书目增长率, 用于图书自动排架时的一个重要参数予以考虑, 实现图书自动 排架的可视化与有序化, 规范管理图书日常排架工作。
虚拟现实图书馆与书目数据库之间的数据调用及同步映射对图书馆优化管理与 提供真正意义上的一站式服务是非常必需的。 建立书目数据库增长模型是实现系统间数据 共享与同步映射的关键问题之一。
(2)图书信息同步的机制和实现方法 图书信息同步包括建立图书信息数据库表如下 : 图书信息数据库表包括两个数据库表 : BookMARC(图 书 书 目 信 息)数 据 库 表 和 Bookstaus(图书状态) 数据库表。
BookMARC 库结构 BookMARC { Rec_key,int; Call_no, char(30); ISBN_ISSN, char (20); Title,varchar2(100) ; Author,varchar2(100) ; Pubisher, char (40) ; Volume,char (20) ; CLC ,char(20) ; Page,int; Bookformat,char(10); LSizeofbook, int; KSizeofbook,int; Url1, varchar2(200) ; Url2, varchar2(200) ; Url3, varchar2(200) ; Url4, varchar2(200) ; Summary,varchr2(255) ; Content,varchr2(255) ; Booktype,char(4);图书控制号 图书索取号 ISBN 或 ISSN 号 题名 著者 出版社 部次号 中图分类号 页码 开本 开本 ( 长 ) 开本 ( 宽 ) 书生电子图书链接 超星电子图书链接 附书光盘文件链接 其他电子资源链接 图书简介 图书目录 图书类型 : 新增 ; 剔丢Timestamp,time;书目信息更新时间} Bookstatus 库结构 Bookstaus { Rec_key ,int; 图书控制号 Barcode,char(10); 图书条码号 Volume,char(20); 部次号 Place,char(40); 典藏地 Status,char(10); 图书状态 } 为实现以上两个数据库表与图书馆自动化管理系统之间的图书数据同步, 需要在图书 自动排架方法中考虑建立相关操作函数, 利用图书馆标准协议 Z39.50 和 OAI, 同步图书馆 自动化管理系统中的图书实时编目数据。
(3) 图书自动排架并展示 为达到可视化的虚拟图书馆的图书自动排架效果, 需要采用图书自动排架并展示。
图书自动排架时, 首先通过图书信息传递函数连接图书馆自动化管理系统, 实时 同步图书相关典藏信息、 图书状态和图书书目数据等形成图书信息管理表 ; 然后将以上数 据输入到自动排架方法中, 按照排架规则, 结合图书书架信息进行自动排架初始化, 并按每 行书架图书的册数确定每行索取号的起止号, 输出形成书架信息表, 包括书架号、 行号、 索 取号起和索取号止等信息 ; 最后将此信息输出至图书排架信息表中。
图书自动排架展示时, 根据单册图书封面图片和图书基本属性, 通过图书立面切 割方法, 结合图书书目信息形成图书立面图片, 进而建模生成单册图书模型, 建立图书模型 数据库。
在完成图书自动排架并展示的基础上, 通过虚拟现实技术展示出图书馆物理典藏 地点书架、 最后完成图书的虚拟排架。
请参阅图 1, 是图书自动排架的系统数据流程图。 图书自动排架的系统数据包括分 别建立图书信息管理表、 图书封面图片数据库、 图书立面图片数据库、 图书模型数据库、 书 架信息表和图书排架信息表等, 其数据库属性列表如表 1 所示。
表 1 图书自动排架系统相应数据库属性列表数据库名称 图书信息管理表 图书封面图片数据库 图书立面图片数据库 图书模型数据库 书架信息表 图书排架信息表 数据库说明 实时存取图书馆图书书目信息 (控制号、 题名、 作者、 卷期、 ISBN、 页码、 开本、 出版社、 索取号和登录号等) 和状 态信息 (包括已上架、 出借和加工中等) 管理图书封面图片, 包含图书控制号、 ISBN、 登录号等信息 管理图书立面图片, 包含图书控制号、 ISBN、 登录号等信息 管理图书模型, 包含图书控制号、 ISBN、 登录号等信息 管理图书书架, 记录每一行书架所在的书架号、 行号、 索取号的起止号 管理图书排架信息, 记录每行书架内图书的相对排架位置信息具体的, 图书自动排架展示包括图书立面切割 。 图书立面切割包括建立图书模型数据 管理子系统, 其包括两个数据库 : 图书封面图片数据库和图书立面图片数据库。
其中图书封面图片数据可以采用以下三种方法获取 : 现有的图书馆自动化管理系统中已提供部分图书的图片, 但是需要统一图片规格、 尺 寸;图书馆已购买的超星电子图书和书生电子图书中也提供部分图书图片, 同样需要统一 规格 ; 针对以上两种渠道均无法获取的图书封面图片, 图书馆馆员可以通过扫描、 照相和网 上检索的方式获得。
图书立面图片目前没有厂商提供, 需要自行采集 ; 而采集图书立面图片的工作量 太大, 采集的图片会降低图书模型的显示效果, 因此我们采用模拟图书真实立面的方法来 生成图书立面图片 : 从图书信息管理子系统中获取图书页码、 书名、 作和出版社等信息 ; 结 合图书封面图片, 采用图书立面生成方法, 分别形成图书封面切片、 图书立面图片 ; 最后将 以上图片存入图书模型数据库中。
根据图书的立面大多与封面左侧图形相近的特点, 在图书封面左侧切取一条宽度 为图书厚度的图片 (与图书封面图片比例对应) 作为图书立面的背景, 然后调用图书信息管 理子系统中的书名、 作者、 出版社信息, 竖向分布于图书立面。
首先, 根据已有的图书封面图片, 从一侧开始 (例如左侧) 截取与书籍厚度相等宽 度的图片 (根据图书封面图片尺寸、 图书页码、 图书开本计算获得图书厚度 **cm、 图书立面 图片宽度 **px) , 如图 2 所示, 从封面截取出等比例宽的图片作为背景。 调用从图书馆自动化管理系统中获取的书名、 出版社、 作者等信息, 分别形成不同 的文本图层, 然后与背景层合并, 最终图书立面图片如图 3 所示。 请参阅图 4, 是图书模型生 成数据流程示意图。
图书自动排架则需要结合各个图书馆的实际工作流程、 书库图书更新周期、 书架 高度、 书架宽度等因素, 综合考虑, 设计图书自动排架方法。
图书排架时需考虑的因素有 : 索取号的相对连贯性, 例如 TP312.11/L123 的图书 要排放在一起, 不要分成两行 ; 大类的开始需要考虑从整数行开始 ; 考虑非常规尺寸的图 书的横排摆放 ; 考虑非常规尺寸图书的书架间距调整 ; 图书排架时需考虑不同版本的图书 一起摆放 ; 图书增长的需求需考虑, 可参考加权值 ; 需考虑特殊空间和特殊的排架周期, 例 如新书架的排架 ; 考虑图书排架变更的周期, 例如常规书架变更周期、 密集书库变更周期、 新书架变更周期、 特殊空间变更周期等 ; 需结合图书典藏上架的实际工作流程设计, 不同图 书馆的工作流程可能不一样 ; 要求具有灵活性 ; 需考虑实际排架中的灵活调整, 例如艺术 类图书有大有小, 需要将大本图书集中横排、 小本图书集中 ; 会导致不一定按照严格的索取 号排列 ; 需考虑单册图书的实际状态, 是否借出、 是否归还、 是否正在典藏移送中等。
因此, 在图书自动排架方法中将设计图书增长率、 书架容积率等参数, 按照各个图 书馆的分类体系、 典藏地和书架数量, 分别进行自动排架计算。
请参阅图 5, 是图书自动排架的排架初始化流程示意图。
排架初始化流程包括 : 开始→选择图书典藏地点→计算分类图书增长率→确定书 架分类容积率→计算分类图书平均页码→计算分类图书书架行数→根据现有书架数量调 整分类图书容积率→图书初始排架完成→记录书架信息→图书模型排架→图书模型排架 调整→记录书架信息→图书模型标记图书状态→结束。
首先利用图书信息传递函数将图书信息表与图书馆自动化管理系统中的图书书 目信息进行同步, 然后根据现有图书的典藏信息、 基本信息和状态信息进行初始化处理, 图 书排架初始化的流程如图 5 所示。根据图 5 所示的流程图进行图书排架初始化算法编程,
根据现有物理馆藏排架位置进行初始化处理, 实现全部书目数据的同步映射。
Procedure bookshell_init(); BEGIN DECLARE @ Bookshell_noint, @ Col int, @ Row int DECLARE @ callno_first varchar(20), @ callno_end varchar(20), DECLARE position_cursor CURSOR FOR SELECT Bookshell_no, Row, Col, callno_first,callno_end FROM bookposition OPEN positon_cursor FETCH NEXT FROM position_cursor INTO @ Bookshell_no, @ Col, @ Row, @ callno_first, @ callno_end WHILE @@FETCH_STATUS = 0 BEGIN Update bookshell set bookshell_no=@ Bookshell_no,col=@ Col,row=@ Row where Call_no>=@ callno_first and call_no<=@ callno_end FETCH NEXT FROM position_cursor INTO @ Bookshell_no, @ Col, @ Row, @ callno_first, @ callno_end END CLOSEposition_cursor DEALLOCATE position_cursor END 书目同步更新进程发现推送的更新记录, 则进行编目在排架库书目或图书复本增删操 作, 同时确定复本在书架中的位置, 如果超出预定书架的长度, 则自动排架, 并通知相应变 化的书架信息给管理员, 进而实现图书上架的数据映射流程。
图书自动排架展示包括图书上架与下架, 图书上架流程图与上架流程如图 6 所 示, 包括 : 开始 ; 扫描输入单册图书登录号 ; 图书单册是否新书, 是则继续, 否则返回扫描输 入单册图书登录号 ; 单册新书典藏信息 (典藏地址、 卷期) , 并由单册新书基本属性 (索取号、 控制号、 页码、 开本、 装帧) 得到单册新书模型 ; 计算单册新书物理典藏地点及显示 ; 单册新 书是否手工上架, 是则继续流程, 否则返回计算单册新书物理典藏地点及显示 ; 新书单册所 述物理典藏地点单行书架计算合成 ; 图书馆物理典藏地点单排书架展示 ; 最后一本单册是 否新书, 是则流程结束, 否则返回扫描输入单册图书登录号。
图书上架流程方法编程如下 : Procedure bookshell_add(); BEGIN DECLARE @Bookshell_no int, @Row int, @Col int, @Rec_key int, @Call_no varchar2(100), @isbn_issn varchar(18), @barcode char(30), @title varchar2(100) , @author varchar2(100)@CLC varchar(20), @Page int, @lSizeofbook int , @klSizeofbook int , @url1 varchar2(100) @url2 varchar2(100) @url3 varchar2(100), @summary varchr2(255), @content varchr2(255) DECLARE @booksellno1 int,@row1 int ,@col1 int,@num int DECLARE add_cursor CURSOR FOR SELECT * FROM bookadd OPEN add_cursor FETCH NEXT FROM add_cursor INTO @Rec_key ,@Call_no, @isbn_issn,@barcode,@ title, @author, @pubisher, @Volume, @CLC , @Page, @lSizeofbook, @kSizeofbook, @ url1, @url2, @url3, @summary, @content, @booktype WHILE @@FETCH_STATUS = 0 BEGIN @bookshellno=0 @row=0 @col=0 Select @bookshellno=bookshell_no,@row=row from bookposition where callno_ first>=@call_no and callno_end<=@call_no If (@bookshellno>0 and @row>0) then Begin Select @col=col from bookshell where bookshell_no=@ bookshellno and row=@row If @col=0 then Begin Update bookshell set Bookshell_no =@Bookshell_no, Row =@Row1, col=1, Rec_key =@Rec_key, Call_no =@Call_no, isbn_issn =@isbn_ issn, barcode =@barcode, title =@title , author =@author CLC =@CLC, Page =@ Page, sizeofbook=@Sizeofbook, url1=@url1 url2=@url2 , url3=@url3, ummary=@summary, content=@content End Else Begin Update bookshell set col=col+1 where bookshell_no=@bookshellno and row=@row and row>@row Update bookshell set Bookshell_no =@Bookshell_no, Row =@Row1, col=@Col1 , Rec_key =@Rec_key, Call_no =@Call_no, isbn_issn =@isbn_ issn, barcode =@barcode, title =@title , author =@author CLC =@CLC, Page =@ Page, sizeofbook=@Sizeofbook, url1=@url1 url2=@url2 , url3=@url3, ummary=@summary, content=@content Where bookshell_no=@bookshellno and row=@row and row=@rowEnd Endif Endif FETCH NEXT FROM add_cursor INTO @Rec_key ,@Call_no, @isbn_issn,@barcode,@title, @author, @pubisher, @Volume, @CLC , @Page, @ lSizeofbook, @kSizeofbook, @url1, @url2, @url3, @summary, @content, @booktype END CLOSE add_cursor DEALLOCATE add_cursor END 虚拟图书初始化排架方法程序如下 : package com.jspdev.ch13; import com.jspdev.util.*; import java. sql.*; import javax.sql.*; import java.io.*; import oracle.jdbc.driver. OracleResultSet; import oracle.sql.*; public class bookshell { Connection conn ; public bookshell()throws Exception { DriverManager. registerDriver(new oracle.jdbc.driver.OracleDriver()); conn=DriverManager.getConnection(“jdbc:oracle:thin:system@ localhost:1521:shitou” ,” system” ,” manager” ); } public void bookshelllineint(int i,int j)throws Exception { Statement stmt=con.createStatement(); ResultSet rs = stmt.executeQuery(select rec_ key,title,author,publisher, page,Lsizeofbook, Ksizeofbook from Bookshell where bookshell_no=i and row=j) Boolean more = rs.next() while (more) { Int ctrlno=rs.getint(“rec_key” ) String title_n=rs.getstring(“title” ) String publisher _n=rs.getstring(“publisher” ) String author _n=rs.getstring(“author” ) Int page_n=rs.getint(“page” ) Int long_n= rs.getint(“Lsizeofbook” ) Int kuan_n= rs.getint(“ksizeofbook” )String query=” select * from bookstatus where rec_key=ctrlno” ; Stmt.execute(query); Where (true) { String barcode _n=stmt.getint(barcode); String Place _n=stmt.getint(Place); String Status _n=stmt.getint(Status); String volume_n=stmt.getint(volume); } More=rs.next() } Len=len+page/250 CreateBookshelf(0, ctrlno, len, long_n, kuan_n) Conn.close(); } } 本发明虚拟现实图书馆自动排架系统的实现方法是虚拟现实图书馆功能实现的核心, 而虚拟现实图书馆包括图书馆自动化管理系统、 图书自动排架系统和虚拟现实场景系统三 部分内容。
实现虚拟图书馆可视化管理建设虚拟现实图书馆, 需要在现有的图书馆自动化管 理系统基础上, 采用虚拟现实技术, 针对海量图书进行建模, 分别开发图书馆书架管理子系 统和图书模型管理子系统, 运用图书自动排架系统完成图书模型排架, 结合图书馆虚拟现 实场景系统, 通过实时数据交换, 定位和动态显示图书馆书库内每一排书架上的每一册图 书, 同时将每一册纸质图书与相关电子资源链接, 引导读者在线阅读。 现有的图书馆自动化 管理系统、 图书自动排架系统和虚拟现实场景系统的关系如图 7 所示。图书馆书架管理子 系统构成图书馆虚拟现实场景系统, 并且和图书馆自动化管理系统、 图书模型管理子系统 一起形成图书自动排架系统 ; 图书馆虚拟现实场景系统和图书自动排架系统形成虚拟现实 图书馆。
请参阅图 8, 是虚拟现实图书馆平台层次结构示意图。虚拟现实图书馆的层次结 构主要由硬件基础层、 系统软件层、 数据层、 应用层和表现层组成。表现层包括虚拟图书馆 及其统一检索、 图书导航、 资源阅读、 资源获取等。应用层包括如 ALEPH500、 超星电子图书、 书生电子图书、 中国期刊网、 维普科技期刊、 其他中文电子资源 ; 外文电子图书全文数据库、 外文电子期刊全文数据库 ; 图书封面图片库管理子系统、 图书立面图片管理子系统、 图书 模型管理系统 ; 图书自动排架系统、 图书馆书架管理子系统。数据层包括图书目录数据库 APEH500、 图书排架书目数据库、 图书封面图片数据库、 图书立面图片数据库、 图书模型数据 库、 图书全文数据库。系统软件层包络 WINDOWS、 Linux、 建模工具软件。系统硬件层包括 ALEPH 服务器、 图片服务器、 模型服务器、 图书排架服务器以及 PC 等。网络基础层包括校园 网网络、 公网网络。
请参阅图 9, 图书自动排架系统包含以下子系统 : 图书信息管理子系统、 图书模型 数据管理子系统、 图书书架管理子系统、 图书自动排架系统子系统、 图书排架标签打印子系统、 图书排架显示子系统和图书上架子系统等。下面对上述子系统分别说明。
1) 图书信息管理子系统 参考图书馆国际标准, 例如 Z39.50 和 OAI, 利用现有的 ALEPH 系统的 Z39.50、 OAI 接口, 通过图书自动排架系统的图书信息同步函数对 ALEPH 系统进行元数据收割, 生成图书信息 管理子系统的图书信息。
2) 图书模型数据管理子系统 图书模型数据管理子系统包含两个数据库 : 图书封面图片数据库和图书立面图片数据 库。图书立面图片目前没有厂商提供, 需要自行采集 ; 而采集图书立面图片的工作量太大, 采集的图片会降低图书模型的显示效果, 因此我们采用模拟图书真实立面的方法来生成图 书立面图片 : 从图书信息管理子系统中获取图书页码、 书名、 作和出版社等信息 ; 结合图书 封面图片, 采用图书立面生成算法, 分别形成图书封面切片、 图书立面图片 ; 最后将以上图 片存入图书模型数据库中。
3) 图书书架管理子系统 图书书架管理子系统包括书架添加、 书架删除、 书架尺寸调整、 书架位移共四个基本模 块。此子系统实现书架物理位置标定, 供图书自动排架子系统存取书架数据。 4) 图书自动排架系统子系统 图书自动排架计算子系统包括以下几个子模块 : 图书排架初始化、 图书排架手工调整、 图书局部自动排架等。
图书自动排架子系统是非常复杂的, 需要结合各个图书馆的实际工作流程、 书库 图书更新周期、 书架高度、 书架宽度等因素, 综合考虑, 设计图书自动排架系统。
5) 图书排架标签打印子系统 图书排架标签打印子系统实现书架标签打印和图书排架标签打印, 并分别粘贴在所在 图书书架的横梁上、 单册图书的侧面上。 这样处理后, 可以更直观地方便图书馆馆员整理图 书排架、 方便读者查找定位图书。
6) 图书排架显示子系统 图书排架显示子系统包含以下模块 : 各楼层图书排架显示、 典藏书库排架显示、 单列书 架显示、 单行书架显示等。
7) 图书上架子系统 图书上架子系统主要用于图书馆馆员手工上架图书。
因此图书上架子系统包括以下模块 : 读者归还图书上架、 移送新书上架、 典藏变更 图书上架图书、 丢失图书标记、 下架图书标记和图书批量倒架等。
相较于现有技术, 相较于现有技术, 本发明虚拟现实图书馆自动排架系统的实现 方法, 设计图书自动排架系统, 连接图书馆自动化管理系统, 建立图书数据实时映射、 实现 图书动态同步排架, 进而连接图书馆自动化管理系统 ; 在此基础上建立虚拟场景与物理场 景一致的虚拟现实图书馆, 一方面满足场景浏览、 场景互动、 图书定位与浏览等功能, 另一 方面在虚拟场景中以图书为最小管理单元, 集成并实现图书可视化管理功能, 使得传统图 书馆自动化管理系统整体性升级为 “基于图书可视化管理的虚拟现实图书馆系统” 。首先, 本发明突破现有虚拟图书馆中图书管理的精度, 从三维的图书地点逐级定位单行书架、 单 册图书, 将来还可以进一步深入到图书内容, 图书展示可达到 “内容级” 的展示精度。其
次, 采用实时同步算法, 使图书自动化管理系统书目数据始终与虚拟现实图书馆系统数据 同步, 图书排架呈现动态方式而实现两个数据库数据完全同步和保持一致, 使之达到 “图书 级” 的排架精度。突破现有 “虚拟图书馆” 系统书目数据的虚拟现实排架只能采用静态模式 的限制, 即虚拟图书馆数据库与图书自动化管理系统数据库中的数据不具有自动同步和映 射关系, 不能实现实时动态同步显示书籍的借阅状态和馆藏情况, 包括新增图书、 丢失图书 等。再者, 将支持读者在虚拟现实场景中实现图书在线借阅、 电子资源阅览等服务功能。读 者可直接选取所需图书进行借阅, 系统自动更新该书状态, 实时提交外借图书数据。 为读者 借阅带来极大方便 ; 同时也可在线阅读所需图书的电子版本, 身临其境地访问虚拟图书馆 内的各类多载体资源和在线借阅等服务。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明, 不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说, 在 不脱离本发明构思的前提下, 还可以做出若干简单推演或替换算法, 都应当视为属于本发 明的保护范围。