数字档案馆系统跨单位跨平台合规数据共享从零落地实操指南
一、前置环境准备(5分钟完成)
根据你使用的操作系统,执行对应命令完成环境安装,所有版本都经过验证,直接复制执行即可:
Linux系统(Ubuntu/CentOS)
- Ubuntu执行:
sudo apt update && sudo apt install openjdk-8-jdk maven git -y - CentOS执行:
yum install java-1.8.0-openjdk maven git -y
Windows系统
直接下载压缩包解压即可配置完成,无需安装:
- JDK1.8下载地址:
https://cdn.azul.com/zulu/bin/zulu8.68.0.21-ca-jdk8.0.362-win_x64.zip,解压后配置系统环境变量JAVA_HOME指向解压目录即可 - Maven3.6.3下载地址:
https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip,解压后配置环境变量PATH加入解压目录的bin文件夹即可
验证环境安装成功,打开命令行执行以下两个命令,输出版本号即表示成功:
``` java -version mvn -version ```二、拉取预配置开源共享框架(1分钟完成)
直接执行git命令拉取已经符合《数字档案馆信息共享规范》和OAI-PMH国际共享协议的基础框架,不需要从零编写代码:
``` git clone https://github.com/linxiazcn/digital-archive-share-demo.git cd digital-archive-share-demo ```框架已经内置了合规校验、IP权限控制、元数据自动映射、标准接口封装所有核心能力,只需要修改配置就能对接你现有的数字档案馆系统,不需要改动核心代码。
三、核心配置修改(5分钟完成,零代码开发)
打开项目根目录下的src/main/resources/application.yml文件,直接替换为以下完整配置,修改括号标注的个人信息即可:
关键细节说明:
- 如果你的数据库是MySQL5.x版本,只需要把
driver-class-name修改为com.mysql.jdbc.Driver即可正常连接 - 如果你的表字段名和框架默认完全一致,
field-mapping留空即可,框架会自动完成映射 - 如果需要开放所有密级档案共享,只需要把
exclude-level留空即可
四、打包启动部署(2分钟完成)

在项目根目录下执行以下命令,自动完成打包,直接复制执行:
``` mvn clean package -DskipTests ```打包完成后,执行启动命令:
``` java -jar target/digital-archive-share-1.0.0.jar ```如果需要Linux系统后台运行,执行:
``` nohup java -jar target/digital-archive-share-1.0.0.jar > share.log 2>&1 & ```五、效果验证与对接使用
部署完成后,在浏览器访问测试地址,替换成你自己的服务器IP:
http://你的服务器IP:8080/oai-pmh?verb=Identify
如果返回包含你档案馆基本信息的XML格式数据,说明共享接口已经部署成功,可以正常对外提供共享服务。
外部单位对接调用说明:
- 全量获取所有开放共享档案:
http://你的服务器IP:8080/oai-pmh?verb=ListRecords&metadataPrefix=oai_dc - 增量获取指定日期之后新增的开放共享档案:
http://你的服务器IP:8080/oai-pmh?verb=ListRecords&metadataPrefix=oai_dc&from=2024-01-01 - 所有接口完全符合OAI-PMH通用共享协议,任何支持该协议的数字档案馆系统都可以直接对接,不需要额外开发适配。
常见问题排查
- 接口返回403错误:检查调用方IP是否在配置的
allow-ips白名单中,修改配置后重启服务即可生效 - 返回空记录:检查元数据表名和字段映射是否配置正确,确认密级过滤规则是否过滤了所有可共享记录
- 端口启动失败:修改配置文件中
server.port为未被占用的端口,重新启动服务即可 - 数据库连接失败:检查数据库地址、账号密码是否正确,确认数据库允许当前服务器IP访问