现在我遇到这样一个问题,希望各位大佬看看有什么好的解决方案没有?

2021-03-17 10:51:07 +08:00
 longmeier90
现在我的公司有几家诊所,每家诊所有几台检查设备。检查设备有一部分是相同,有一小部分是独有的。
每台检查设备输出来的文件上传到我们系统内。文件名需要带一个 ID 号,这个 ID 号是需要人员专门点保存的时候手动输入的,并且需要保存到指定的目录下面。
   目前诊所的文件上传流程:
   1.文件保存到每家诊所的前台电脑上;
   2.前台电脑上安装一个 seafile 客户端,去检查目录下面新产生的文件,并把新产生的文件同步到服务器指定的目录下面。
   3.服务器写了一个 python 程序监控这几个文件,一产生新的文件就会把文件放到 MQ 队列里面,另外一个 python 去消耗 MQ 队列,去解析文件里面的内容上传到服务器。
   现在最大的问题是,诊所人员抱怨文件经常上传不上去,不愿意用。宁愿手动输入检查结果也不愿意按照规定输入 ID 号把文件保存到指定的目录下面。这里我要说明一下的是文件经常上传不上去的原因有:网线断啦、seafile 客户端未启动、输入 ID 号规则错误、seafile 同步文件路径错误,每家诊所有每诊所的问题。
   
   看看各位大神有没有好的改进建议,指导一下,或者是优化一下流程
2768 次点击
所在节点    Python
13 条回复
lusi1990
2021-03-17 11:25:04 +08:00
ID 系统分配吧,人输入确实烦
断线重传
tux
2021-03-17 11:32:00 +08:00
用这个 开源免费软件 FreeFileSync
自动同步本地指定目录到目标远程目录,支持远程 sftp,ftp

而且不要让诊所人手动输入,给不同诊所分配不同的 ftp 目录就行了
比如 A 诊所的同步远程目录是 A_ID_XX123456
剩下的在服务器上脚本搞定
crazytudou
2021-03-17 12:25:02 +08:00
流程没错,但细节有问题,ID 可以按规则自动生成的,客户端设置为随机启动,路径要检测并有自动创建功能,要有断线重连,自动继传功能
renmu123
2021-03-17 12:46:11 +08:00
1.每个诊所放个专门的机子
2.将所有的文件上传到这个机子
3.然后做个管理系统,来对文件进行管理。

这样之后业务拓展会比较方便
也容易展示各种错误
减少了操作步骤

缺点就是增加了开发成本
ch2
2021-03-17 12:49:36 +08:00
为什么不做个网页后台专门上传文件
longmeier90
2021-03-17 14:42:36 +08:00
@lusi1990 ID 是系统的挂号 ID
bnx
2021-03-17 15:05:41 +08:00
1. 总部买个 Asus 路由器,配置 DDNS,设置\/PN 服务器
2. 总部配置一台文件服务器,并设置好对应的权限
2. 分支机构的特定机器连接到\/PN 服务器
3. 映射一个盘符到总部文件服务器
4. 软件生成的报告直接存到映射的本地盘符

(这样根本不需要考虑软件错误之类的,保证\/PN 通信正常即可)
real3cho
2021-03-17 15:10:34 +08:00
做一个前置程序或许会好一些?
一个文本框输入 ID 一个文件框选择文件 一个按钮做存放操作
然后在点击按钮时去检查产生的这些错误 如果都通过就放到指定目录或者直接上传到服务器的目录(直接上传可以跳过 seafile 客户端这一步)
网线断啦 - ping 服务器 如果 ping 不通提示网络异常
seafile 客户端未启动 - 一般设置开机启动可解 当然保险起见的话可以在操作按钮判断是否有客户端的进程或者服务是否启动 然后可以做提示或者直接通过进程去启动客户端
seafile 同步文件路径错误 - 这个不是很理解 一般来说初次配置错误导致上传问题的话 后期设置好了不应该会是经常出问题的点
输入 ID 号规则错误 - 检查规则(甚至可以匹配数据库中的数据,检查是否存在或者是否做过检查之类之类的)
models
2021-03-17 15:11:39 +08:00
步骤 1 里的电脑安装 nxlog 试试?然后通过 syslog 之类的方式传出去
james2013
2021-03-17 16:48:42 +08:00
程序太复杂了,第一次使用固定诊所 id,以后用户只需要输入挂号 id,点击确定就好了.
其它的应该由程序自动在后台处理,使用 seafile 不方便,可以考虑将 Python 程序安装在电脑上,每分钟检测固定目录是否有新文件等操作.
teddy2725
2021-03-17 16:58:08 +08:00
做个 web 系统,登录进去各自的诊所账号上传检查文件,输入挂号编号,直接提交到后台,网线会断的化就弄个无线网吧.
saulshao
2021-03-17 18:13:56 +08:00
1. 这,用一个可编程的工具,例如 python 作为客户端,在客户端部署一个 sqllite 数据库,这个数据库啥都不干,就记录本地文件的路径和这个路径的文件传了没。
2. python 程序每隔一段时间扫描本地文件夹,遇到没传的文件就通过 ftp/http/共享文件夹 /随便啥方式上传到服务器上。传完更新本地数据库,将传了没标记为传了。然后根据最近的一个时间戳扫描文件的更新 /创建时间。
3.服务器端接收文件的时候自动给文件编号,自动命名,记录是哪个客户端上传的。
4.其他的文件路径定义,更新 /删除规则,文件命名规则等等,请自行考虑。
DaguguJ
2021-03-18 13:54:53 +08:00
挂号 id 的输入问题,ID 的输入可以用自动识别;
文件保存到指定目录问题,既然有办法获取到指定的目录,那就用 os 模块移动文件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/762376

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX