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

原创 2011年01月20日 17:34:00

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

    说说需求,服务器有很多台,这里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包扫描端口的后继处理.

不同系统间的文件传输与打包压缩

####1.文件归档#### 1. 文件归档,就是把多个文件变成一个归档文件 2. tar c ##创建 f ##指定归档文件名称 t ##显示归档文件中的内容 r ##向归档文件中添加...

Java swing实现简单的C/S聊天及文件传输系统

很久没写博客了,这个本为课程设计,忙完了便抽空出来与大家分享一下,以便指正错误。 1、设计一个简单的聊天室程序。采用客户/服务器模式,分为客户端程序和服务器端程序。由于服务器只能支持一个客户...

C/S架构的简单文件传输系统的实现

转载前注明出处 欢迎转载分享 实现代码github仓库地址:戳这里(https://github.com/chensguo8099/network_programming/tree/master/Se...

Python3中使用零拷贝技术来提高网络文件传输时的系统吞吐量

首先,推荐一篇好文,这篇文章细致地描述了零拷贝技术的原理,以及其与传统拷贝过程的区别:http://www.linuxjournal.com/article/6345?page=0,0 从总体上来...
  • cnweike
  • cnweike
  • 2015年09月01日 23:50
  • 2064

C/S架构的简单文件传输系统的实现

转载前注明出处欢迎转载分享 实现代码github仓库地址:戳这里(https://github.com/chensguo8099/network_programming/tree/master/...

Linux之redhat——ftp文件传输系统

本文主要介绍Linux下ftp文件传输协议的配置与使用。

Linux系统的文件传输工具RZSZ

RZSZ简介 一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地...

书:深入理解计算机系统(P649) 之 并发编程:用socket实现多客户端的文件传输

Section I Problem Specification 实验要求:上一次实验是传输在客户端和服务端之间传输文字,这次是在客户端索要服务端的文件,服务端将文件传输给客户端。并且还要实现并发编程,...

Linux C编程连载【4】-基于TCP/IP的文件传输系统

一、        设计目的 通过Linux C编程,设计一个基于TCP/IP的文件传输系统,实现网络文件的收发。 二、        设计环境 VMware WorkStation...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[原]诞生!fileTMS分布式文件传输系统
举报原因:
原因补充:

(最多只允许输入30个字)