医院内网发送钉钉文件简单实践

2021-03-04 23:22朱夏迪马江华
科学与财富 2021年26期
关键词:钉钉

朱夏迪 马江华

关键词:钉钉;医院内网;文件;Python;wxPython

随着手机端钉钉在我院的普遍使用,院内职工已经习惯通过钉钉互传文件、沟通交流。同时对于电脑主机端发送文件到手机端的需求也越来越明显。虽然钉钉官方也有提供电脑PC客户端程序,但仅限于外网使用,而院内主机普遍为内网环境,医院内网由于安全防護需要,与外网有着严格的隔离措施。因此作为医院信息中心,对于如何将内网文件通过安全可靠的手段发送到钉钉手机端成为一个迫切需要解决的难题,于是我们对此做了一定的研究,并用了相对简单的方法实现了该功能,以下通过对我院已上线的内网发送钉钉文件功能进行简要介绍,分享实际系统设计及开发经验。

1.系统设计思路:

1)操作便捷性:用户端主界面程序简洁明了,软件操作简单易上手,用户无需进入多个菜单,多次选择,只需简单一步拖动,然后点击发送即可发送到钉钉手机端。

2)可移植性: 跨平台的软件以及服务端程序越来越成为主流,不管是用户端还是服务端,因此本系统用户界面程序、文件同步服务、文件发送服务均使用跨平台编程语言编写,通过简单的重新编译即可在Windows、Linux以及MacOS等系统运行。

3)系统可扩展性:系统采用模块化设计,通过接口可以替换任意一个模块,与第三方兼容,用户界面程序目前使用Samb协议上传文件,通过简单的配置即可支持FTP等协议。对于第三方系统,在不使用用户主界面程序的给前提下,有提供接口服务,支持直接调用内网接口发送指定路径文件到手机钉钉端。

2.系统主要业务流程:首先用户通过用户主界面程序将文件发送到缓冲服务器,其次缓冲服务器自动上传至钉钉云盘并返回文件MEDIA_ID,然后文件发送服务自动通过MEDIA_ID发送文件到指定用户手机钉钉端,其中上传至钉盘以及发送钉盘文件到指定用户钉钉需要调用钉钉开放平台API实现。

3.系统模块设计:

1)用户界面模块:

主要功能:

(1)为用户提供可视化的用户界面,支持用户将文件上传至指定路径,同时在文件数据库中写入文件的基本信息,将文件的发送状态标记为“待缓冲”。

(2)支持用户选择发送人以及查看文件发送状态。

2)文件同步模块:

主要功能:

(1)定时监控文件数据库,如有发送状态为“待缓冲”的数据,则将文件同步到文件缓冲服务器,同时将文件标记为“已缓冲”。

(2)创建文件缓冲目录结构:文件同步模块将指定路径文件下载到缓冲目录,同时将待发送的文件重命名为文件的MD5码,并存储在发送者工号命名的文件夹目录下,从而达到节省重复文件的占用存储空间。

3)文件上传模块:

主要功能:

(1)定时监控文件数据库,如有发送状态为“已缓冲“的数据,则调用钉钉开放平台接口的“上传文件到钉盘”API将内网缓冲服务器上的文件上传到钉钉云盘,将上传成功后返回文件MEDIA_ID记录数据库,同时将文件标记为“已上传”,。

4)文件发送模块:

主要功能:

(1)定时监控文件数据库,如有发送状态为“已上传”的数据,则调用钉钉开放平台接口的“发送消息到指定用户”API,通过文件MEDIA_ID将文件发送给指定用户的钉钉,同时将文件标记为“已发送”。

5)数据库文件结构:

主要包括:文件名、文件路径、文件大小、文件MD5、文件发送状态、文件创建时间、文件上传时间、文件发送时间、发送者工号、接收人工号、文件MEDIA_ID等信息。

4.系统主要采用技术及实现:

1)软件部分:

(1)用户界面程序:UI部分采用了wxPython,wxPython是wxWidgets的Python实现版本,其兼顾了Python的简单易用,以及wxWidgets的跨平台特性,同时也开源免费,比较适合规模较小的项目,后期代码维护也比较容易。

(2)文件同步服务、文件上传服务、文件发送服务均使用纯Python编写,Python代码简洁易于维护,同时具有跨平台性,通过简单的重新编译即可支持多种平台。

2)服务部署:

(1)文件同步服务、文件上传服务、文件发送服务均部署在Linux环境CentOS上,为了保证以上三个服务的稳定运行,在CentOS服务器上部署了supervisord用户服务监控服务,supervisord能够在服务器启动时自动将被监控的服务调起,同时如果被监控的服务有意外退出等情况也能够自动化的尝试重新启动,并提供有详细的日志记录服务运行情况。

3)第三方接口:

文件上传服务、文件发送服务均使用了钉钉开放平台的DingDingSDK Python版本,其中文件上传服务调用了“上传文件至钉盘”API, 而文件发送服务调用了“发送消息到指定用户”API。

5.实施效果:

目前该系统已在我院部分科室使用,该系统界面简介明了,使用便捷,同时具有较好的稳定性。通过使用该系统将原本繁琐复杂的操作简便化了,使院内职工的办公效率得到了一定的提升。

6.后期展望:

后期计划将该系统进行进一步的界面优化,并集成到我院单点登录系统。同时也计划将该系统与一些自动化任务结合起来,例如“自动发送XLS报表到手机钉钉“,”自动发送每日简报到手机钉钉“等,通过与更多院内HIS相关系统的结合,来更好地提高院内办公的效率。

猜你喜欢
钉钉
创新培训载体 首秀“钉钉”培训推进兽医实验室考核
“钉钉”带来新常态
微软Teams,拿什么抢《钉钉》的饭碗?
《钉钉》vs.《企业微信》,较量刚刚开始
敬业福背后的这盘棋