`
rcfalcon
  • 浏览: 222176 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

跨JAVA WEB工程远程数据传输方案设计

 
阅读更多

JAVA WEB工程远程更新方案设计

版本:V0.1

作者:CG

背景

需要在JAVAWEB工程,基于HTTP协议可靠的传输大规模数据。

原因:在使用数据库远程连接的时候由于远程数据库连接本身的不可靠性(服务器端经常断开与JDBC的连接),而造成事务不断回滚而造成数据始终无法传递。所以需要设计一个可靠的、通用的远程更新方案。

方案流程

技术选型及实验结果

l 序列化、反序列化实验

使用第三方JAVAxstream-1.3.1

此包支持将数据进行XML格式的序列化、反序列化。

实验结果:

1. 该工具支持JAVA数据对象的序列化、反序列化。

2. 该工具支持JAVA容器对象的序列化、反序列化。

完全满足数据传输需求。

l 文件压缩实验

使用JAVA基本类库的java.util.zip工具,可以正确的将不包含中文字符的文件、目录打包。

满足本方案需求。

l 文件传输实验

上传方使用 commons-httpclient-3.1 工具模拟进行文件POST方法。

接收方使用 commons-fileupload-1.2.1 工具接收文件上传。

可以正确的传输文件,满足本方案需求。

l 数据实验

模拟实际数据,在一个任务批次下进行以上序列化、压缩。情况如下:

使用topv3库,模拟传输应用到的数据量。

数据记录如下:

表名

tasked

记录条数

序列化后文件大小

Display_top

8257568

774

89KB

display_top_url

8257568

15024

1967KB

video_information

all

997

392KB

总计数据库记录条数:16795

总计文件大小:2.38MB

压缩之后大小:223KB

序列化、反序列化、压缩和解压时间忽略不计,按文件传输时间为瓶颈估算一个批次时间:

假设上传速度为10KB/S(实际情况应该更快), 一共需要22秒,可以接受。


流程保证

l 客户端

1. 客户端的序列化、打包在本地运行,调试完成之后处理静态数据一般不会出错(若出错则报告管理员),此处不再赘述。

2. HTTP传输过程中,若本地超时(包括连接不到服务器)、或者服务器返回超时、失败信息,则中止当次传输任务,等待若干秒(需结合实际情况调整),再进行连接。

3. 若始终任务未成功(重试次数范围内未传输成功),则发邮件报警通知管理员。

4. 若服务器端解压缩、反序列化失败,立即返回任务失败。

客户端流程


l 服务器端

1. 接受到上传任务,则立即将当前任务清空。

2. 处理上传过程中,若遇到数据超时、失败,则立即给客户端返回相应信息。

3. 在解压、反序列化过程中若异常,则发邮件报警通知管理员。并返回给客户端失败。

服务器端流程

最终流程及选型汇总

分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java开源包11

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包6

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包9

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包4

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java开源包101

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包5

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包8

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包10

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包1

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包3

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包2

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包7

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    Java资源包01

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    Java毕业设计-基于springboot开发的在线远程考试系统设计与实现-毕业论文(附毕设源代码).rar

    “基于Spring Boot开发的在线远程考试系统设计与实现”是一个完整的Java毕业设计项目,旨在通过Spring Boot框架构建一套功能齐全、性能稳定的在线考试系统。该项目不仅为学生提供了一个将理论知识与实践操作相结合的...

    java_jsp项目源码_移动ssh项目(struts+spring+hibernate+oracle).rar

    用户可以通过Web界面轻松管理SSH密钥,确保数据传输的安全性。 3. **远程服务器管理**:项目支持对远程服务器的管理,包括服务器的添加、编辑、删除、连接等功能。用户可以通过Web界面轻松管理远程服务器,实现远程...

    单位组网实施方案设计.docx

    xxiv 远程客户机与服务器的连通性测试 xxv 内部用户之间连通性测试 xxv 第七章 总 结 xxviii 致 谢 xxix 参考文献 xxx 单位组网实施方案设计全文共30页,当前为第2页。 单位组网实施方案设计全文共30页,当前为第2页...

    深入Java Servlet网络编程

    2 基于Java解决方案的特点 第2章 Java Servlet简介 2. 1 Servlet生命周期 2. 2 Java Servlet API简介 2. 3 处理表单和返回数据的实例 2. 4 错误处理和日志记录 2. 4. 1 Java中的异常处理机制 2. 4. 2 在Java...

Global site tag (gtag.js) - Google Analytics