您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页网络接口调用设计

网络接口调用设计

来源:百家汽车网
网络接口调用设计

1. 基本框架

服务端 酒店客Internet 户端

通过本框架可以实现基于双向的网络通讯、数据传输、执行相关命令。 基本要求

(1) 系统分为总系统服务端、若干不同的客户端(酒店服务器) (2) 只能是客户端发起连接服务器的请求,实现双向的网络通讯; (3) 客户端和服务端在网络通讯的基础下,进行各种操作; (4) 客户端和服务端基于网络执行相关操作,须保持统一的事务 (5) 客户端和服务端基于网络执行相关操作后,并返回相关的状态码,状态码的设计具体可

以参考HTTP协议的状态码。

总系统服务端 2. 方案1:Netty网络通讯

2.1. 应用范围

(1) 手机APP的socket网络框架(本项目中必须)

(2) 基于网络的远程调用和通讯(基于dubbo网络通讯的补充)

2.2. 系统基本层次

2.2.1. 网络通讯层

(采用基于Netty的socket框架开发) 基本作用:

网络通讯层实现基于TCP(主要)和UDP的数据传输。

Netty可以提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序,Netty 是一个基于NIO的客户和服务器端编程框架,基于netty可以实现基于TCP和UDP的socket服务开发。

以下的通讯需要是在基本的认证通过之后 接口定义:

1.对应用层提供接口,供开发者调用 /**

* 发送图片 */

针对图片的特性对他本身进行处理,以最高效的效率进行传输,在此调用数据解析层接口 封装数据 /**

* 发送文本 */

对字符串进行处理后,调用数据解析层封装,根据业务需要传输以达到最高效的效率. /**

* 发送视频,音频 */

针对此类大文件做断点续传的处理,设置通信缓冲区内存,在调用解析层接口封装后传输 /**

* 发送文件(包括word,文件夹,压缩包等) */

端和接收端以此规范来通信,根据业务的需求自定义发送规则. /**

* 查看连接情况,获得在线用户 */

通过此方法直接查看当前用户. /**

* 关闭单个连接 */

以减小服务端的压力。 判断连接情况。

对于文件类或者中小型文件,可以通过内部定义的解析层的规则来对数据进行处理,发送

通信心跳设置查看连接状况,客户端悠闲,忙碌,死循环等,更好的管理所连接的客户端, 在每个接口中需要对连接异常做处理,这里会定义一个全局的通信通道,通过通信通道来

操作流程:这层通讯接口中,会打包成一个server.jar,在项目中引入此包并根据自身项 目的特点启动服务端,在应用中,引入包中的接口类,根据业务需求调用方法.

后续接口需要扩展再定义:

2.2.2. 数据解析层

基本作用:

(1) 接收网络传输的数据 (2) 对传输的数据进行解析

(3) 依据数据类型创建【命令执行层】的具体对象,并将执行命令执行层的对象

2.2.3. 命令执行层

基本作用:

(1) 由数据解析层创建,执行抽象的操作 (2) 具有统一的JAVA接口定义,典型如下:

 传入原始参数和数据接口  执行方法接口

调用业务执行层相关类方法  返回数据和状态

(3) 调用【业务执行层】执行相关的业务逻辑 (4) 调用网络通讯层返回状态和数据 配置文件

(1) 使用一个统一的xml配置文件,配置命令执行层的对象类型(如:使用id定义唯一的

类型)和对应实现类;

(2) 数据解析层依据该配置加载不同的类并创建对象; (3) 支持接口的扩展;

2.2.4. 业务执行层

(1) 对于耗时的操作,需要使用线程池,执行完毕后通知命令执行层的对应对象。 (2) 本层没有统一的接口和规范

(3) 执行数据库的具体操作,如:数据的增加、修改、删除和查询等

2.3. 逻辑结构图

3. 方案2:基于dubbo框架

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务