User Tools

Site Tools


dev:projects:sparetime:reflect_proxy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:projects:sparetime:reflect_proxy [2013/10/06 12:15] – [第三方类库] hackerzhoudev:projects:sparetime:reflect_proxy [2020/06/06 23:32] (current) – external edit 127.0.0.1
Line 53: Line 53:
     * 低优先级,留到最后再做,应该不太麻烦的。     * 低优先级,留到最后再做,应该不太麻烦的。
   * **Remote Object**:Flex构建的Web前台UI和UI Server之间通信用Remote Object技术通信。   * **Remote Object**:Flex构建的Web前台UI和UI Server之间通信用Remote Object技术通信。
-提高消息传递效率:始终保持有一个监听的连接是alive的;每次传递HTTP包的总个数/总大小需要限制并在后台提供配置项;优化数据传输所用到的XML Schema。 +  * **提高消息传递效率**:始终保持有一个监听的连接是alive的;每次传递HTTP包的总个数/总大小需要限制并在后台提供配置项;优化数据传输所用到的XML Schema。 
-  * **异步Servlet**:减少服务器负载,降低宕机的可能,资料,原来做的版本异步不够彻底。+  * **异步Servlet**:减少服务器负载,降低宕机的可能,[[http://www.ibm.com/developerworks/cn/java/j-lo-comet/index.html|资料]],原来做的版本异步不够彻底。
   * **通信协议设计**:   * **通信协议设计**:
     * **Base64 + GZip**:把对象转成byte array,再用GZip压缩,最后用Base64序列化成字符串供传输。不过用随机字符串/随机byte array测试了一下,效果不理想。     * **Base64 + GZip**:把对象转成byte array,再用GZip压缩,最后用Base64序列化成字符串供传输。不过用随机字符串/随机byte array测试了一下,效果不理想。
     * **对象转成byte array再用GZip压缩**:服务器和客户端之间通信并不一定要用xml,也不一定非得是字符串,压缩过的二进制传输似乎更加好些,暂定采用这个方案。     * **对象转成byte array再用GZip压缩**:服务器和客户端之间通信并不一定要用xml,也不一定非得是字符串,压缩过的二进制传输似乎更加好些,暂定采用这个方案。
     * **Binary XML**:Server和Client之间使用二进制的XML传输,或者直接传送二进制的Object,加快传输速度。Binary XML的话应该可以直接parse,不需要先解压再parse,提高处理速度。     * **Binary XML**:Server和Client之间使用二进制的XML传输,或者直接传送二进制的Object,加快传输速度。Binary XML的话应该可以直接parse,不需要先解压再parse,提高处理速度。
-      * Efficient XML:是现在W3C的标准,有现成的Java类库提供支持exificient[1],不过该标准争议较大,褒贬不一,有待仔细研究。+      * Efficient XML:是现在W3C的标准,有现成的Java类库提供支持exificient[[http://exificient.sourceforge.net/|1]],不过该标准争议较大,褒贬不一,有待仔细研究。
       * Gzipped XML:把普通XML文本用GZip算法压缩成byte array然后再传递或者再把byte array用base64转成文本,不过转成base64的话就抵消掉一部分压缩的效果了。       * Gzipped XML:把普通XML文本用GZip算法压缩成byte array然后再传递或者再把byte array用base64转成文本,不过转成base64的话就抵消掉一部分压缩的效果了。
   * **轻量级**:尽量使用轻量级的架构以及类库,减小服务器负载并且增强反应速度。   * **轻量级**:尽量使用轻量级的架构以及类库,减小服务器负载并且增强反应速度。
   * **Event Driven**使用基于事件的处理模式来简化客户端的操作,可以很简单的简化成一个类似状态机的方式,抛弃原先的基于Thread的处理(虽然由于Java对事件机制支持不好,我做的事件处理依旧是基于Thread来dispatch event,不过代码有条理多了)。   * **Event Driven**使用基于事件的处理模式来简化客户端的操作,可以很简单的简化成一个类似状态机的方式,抛弃原先的基于Thread的处理(虽然由于Java对事件机制支持不好,我做的事件处理依旧是基于Thread来dispatch event,不过代码有条理多了)。
 =====一些文档===== =====一些文档=====
- +  * {{:dev:projects:sparetime:reflect_proxy.docx|毕业论}} 
-文件:SettingDataBitwiseLayout.docx +  * {{:dev:projects:sparetime:reflect_proxy_arch.zip|Proxy原理图}} 
-:Proxy原理图.zip +  * {{:dev:projects:sparetime:reflect_proxy.pptx|答辩PPT}} 
-文件:论文.docx +  * {{:dev:projects:sparetime:reflect_proxy_settingdatabitwiselayout.docx|}}
-文件:答辩PPT.pptx +
 =====第三方类库===== =====第三方类库=====
 ^ 名称 ^ 用途 ^ 许可证 ^ ^ 名称 ^ 用途 ^ 许可证 ^
dev/projects/sparetime/reflect_proxy.1381061758.txt.gz · Last modified: 2020/06/06 23:32 (external edit)