[原]诞生!fileTMS分布式文件传输系统

9 篇文章 0 订阅

    这个是才做好的管理客户端界面.

    说说需求,服务器有很多台,这里DEMO程序只用了2台来测试并发.上传文件的时候,不再使用繁琐的FTP,而是一次性传输到所有服务器去.要求安全,可靠.

    服务器端使用boost C++库的boost::asio,异步完成端口proactor模式,console界面,相同服务端代码,分别编译2次为目标平台(windows和linux),一个fileTMS.exe 一个 fileTMS.为了简单起见,程序放在哪个目录,接受文件的时候就直接存入当前目录.

    以上看得到界面的是客户端界面.net2.0框架,文件多选之后,就开一个backgroundworker,并发上传,为了确保可靠性,线程工作是排它模式,也就是说是 文件数*服务器数 这么些操作对应少量的线程逐一执行,不存在访问冲突.每个线程记录TLS到本地文件,形成索引,以便断线续传.

    文件传输的IO缓冲区定义为 [密码/n文件名/n文件长度/n/n/n文件实体流] 这种形式,改FTP的数据端口+控制端口的模式为单一的端口模式.

    .net使用clickonce发布到内部网,供非技术人员使用.那么就涉及到泄密问题,一旦泄密,任何人都可以上传文件到服务器,甚至恶意代码和脚本.那么解决方案是:

    1.文件服务器端管理密码

1.1密码由安全数据库存储,所有服务器通过freetds(因为历史原因,这里使用的是MSSQL服务器)取到密码,这个密码,由客户端统一在"执行口令"界面上输入,.net本身因为安全问题,将不存储任何本地密码验证模块.

        1.2内部因素,就是非技术人员私下上传了一个精心构造的文件,无非是想挂马,那么服务器会对文件内容进行扫描,检查sqlinjection特征,排除渠道通过密码来识别,比如下放的普通密码是123,这个密码对应的是需要服务器过滤,那么如果密码是123456,服务器就直接忽略sqlinjection特征检查了,因为这123456是开发人员上传的文件,他们的程序文件里面通常都含有各种sql.

    2.文件服务器计划任务

        考虑到可能的SYN攻击或者一般的SYN扫描,所有文件服务器在上班时间范围内才工作(监听端口).除此之外,不再监听响应的端口.

    可能存在的问题:/n标志的识别问题,黑客SYN包扫描端口的后继处理.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java分布式文件存储系统是一种可以实现文件分布式存储和管理的系统。它是基于Java语言开发的,通过网络连接将文件存储在多个节点上,以实现高可靠性和高可扩展性。 Java分布式文件存储系统的核心组件包括文件上传、文件下载、文件索引和节点管理。 文件上传功能允许用户将文件从本地主机上传到分布式文件存储系统中。上传过程中,系统会将文件进行拆分,并将拆分后的文件块分发到不同的节点上存储。这样即使某个节点发生故障,系统仍然能够通过其他节点上的备份文件块完成文件的恢复和下载。 文件下载功能则是从分布式文件存储系统中下载文件到本地主机。系统会根据文件的索引信息,从存储在不同节点上的文件块中下载所需文件,并在下载完成后将文件重新组装成完整的文件。 文件索引功能允许用户通过关键字或文件属性进行文件的检索。系统会扫描节点上的文件索引信息,然后根据检索条件返回符合要求的文件路径列表。这样可以帮助用户快速找到所需的文件。 节点管理功能则是对存储系统中的节点进行管理和监控。它可以实时监测节点的状态和性能指标,并及时采取相应的措施来保证系统的稳定运行。 总之,Java分布式文件存储系统通过将文件分布存储在多个节点上,提高了文件的可靠性和可用性。它可以应用于云存储、大数据存储和各种分布式系统中,为用户提供高效、可靠的文件管理服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AKULAKK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值