android 端和服务器端的接口怎么设计

android 端和服务器端的接口怎么设计,第1张

首先在服务器端,我采用的是SSH框架,struts 2集合了JSON插件,服务器和客户端的信息交互采用的JSON来传输,由于在服务器端用了Struts 2,所以我就用装了一个JSON插件。这样,很轻易的就把服务器端的信息用JSON的形式发送到了手机端。以下是代码:

首先,在服务器端搭建好SSH框架,具体细节就不在陈述。struts.xml配置如下:

<packagename="login"extends="json-default">

<actionname="login"class="com.jclick.test.LoginAction"method="login">

<resulttype="json"><paramname="includeProperties">result</param></result>

</action>

</package>

<packagename="login"extends="json-default">

<actionname="login"class="com.jclick.test.LoginAction"method="login">

<resulttype="json"><paramname="includeProperties">result</param></result>

</action>

</package>

手机端的代码如下:

下面简单介绍一种或许可行的方案,仅供参考

------------------------

1)默认要有一个版本更新接口

告诉客户端当前版本是否还在兼容范围内,假如不是,强制升级。(假如还可以用且不是最新,建议升级)

2)接口多版本并存规则

同一个业务接口,可能存在多个版本。

如 购物下单,可能由于业务需求的变更,导致存在着 1.0 / 2.0 / …… 等多个接口

[version] //默认版本

public void Order()

[version(1.2)] //1.2版本

public void Order()

[version(2.0-3.4)] // 2.0-3.4版本

public void Order()

多版本管理,特殊版本则调用特殊方法,不存在特殊版本/不在特殊版本内,则调用通用方法。

假如是未来那个版本做大变更了(将成为通用版本),那么无外乎就是把主/特殊 对调一下

[version] //默认版本

public void Order()

[version(1.0-1.1)] //1.0-1.1版本

public void Order()

[version(1.2)] //1.2版本

public void Order()

3)给客户端分配版本号并管理好

调用方式可以类似所有请求加版本号,从原来的 http://url/…… 变更为 http://url/v1.0/…… 表示当期客户端用的是 1.0版本接口

4)其他说明

这个方案需要关注的是,客户端对接口版本调用的对应关系的管理。

服务器硬盘接口分类

不同接口技术的服务器硬盘也决定了它们各自更好的适用环境。单独存在的SATA硬盘服务器产品如今并不多见,大多是一些针对入门应用的塔式服务器中。而SCSI及SAS由于具有CPU占用率低、连接设备多等诸多特点,性能上明显优于SATA接口硬盘,因此可以在企业数据中心、安全服务器等应用环境中部署。目前看来,市面上的服务器硬盘或服务器产品,也大多呈现两种形态:Ultra320 SCSI及SAS/SATA。

一、风光依旧的SATA接口

SATA接口又被称之为“串行接口”,所以现在采用SATA接口的硬盘都被习惯的叫做串口硬盘。它是继IDE硬盘之后的一次演变。SATA的物理设计是以光纤通道作为蓝本,所以采用了四芯的数据线。SATA接口发展至今主要有3种规格,其中目前普遍使用的是SATA-2规格,传输速度可达3GB/秒,如图1所示为某品牌固态硬盘采用的SATA-2接口规格。

图1 SATA-2接口示意

现在已经有SATA-3接口出现,如图3所示即为西部数据的一款SATA-3接口的服务器硬盘。SATA-3接口除了将传输速率提高到了6GB/秒之外,还对诸多数据类型提供了读取优化设置。当然对于用户来说,SATA-3接口的出现并不意味着现有的SATA-2产品会被淘汰,因为SATA-3虽然采用了全新INCITS ATA8-ACS标准,但依然可以兼容旧有的SATA设备。

图2 SATA-3接口示意

由于SATA接口的服务器硬盘,技术相当成熟而且构造成本不高,因此相对于其他接口类型的产品来说,其市场价位是比较平民化的,如图3所示。相信对于预算不高的企业用户来说,在原来的服务器架构中升级同样接口但容量更大的SATA-2接口硬盘,是最好的选择了。

二、应用更普及的SCSI接口

SCSI接口的服务器硬盘是现在多数服务器中采用的一种,它具有数据吞吐量大、CPU占有率极低的特点:用于连接SCSI接口硬盘的SCSI控制器上有一个相当于CPU功能的控制芯片,能够替代CPU处理大部分工作现在普遍采用的.Ultra 320标准的SCSI接口硬盘,数据传输率可达320MB/秒。SCSI接口服务器硬盘及SCSI控制器如图4所示。

图4 SCSI硬盘及控制器

另外,SCSI硬盘具有的支持热拔插技术的SCA2接口,也非常适合部署在现在的工作组和部门级服务器中。SCSI硬盘必须通过SCSI接口才能使用,现在服务器主板一般都集成了SCSI接口,也可以安装专门的SCSI接口卡来连接更多个SCSI设备,所以其横向扩展能力是比较强的。

图5 服务器主板SCSI接口

那么,SCSI接口的服务器硬盘,主要强于哪些方面,又适用于怎样的企业环境中呢?首先,SCSI对磁盘冗余阵列(RAID)的良好支持,可以满足有大数据存储的企业环境,同时数据安全性也有保障再者,SCSI硬盘的转速早已高达15000rpm,这让企业数据中心的处理性能得到了保障再次,其较低的CPU占用率以及多任务的并行处理特性,都可为成长型企业环境提供较强力的数据处理及存储支持。最后,从如图6所示现在的市场价格对比来看,SCSI接口硬盘整体上要低于SAS接口硬盘,但明显高于SATA接口硬盘,所以,其更适合装配在对数据存储有一定的安全需求、容量需求、高处理性能需求的企业环境中。

三、追求性能最大化的SAS接口

“SAS”就是串行连接SCSI的意思,简单理解就是SCSI接口技术的升级改良,目的就是进一步改进SCSI技术的效能、可用性和扩充性。其特点就是可以同时连接更多的磁盘设备、更节省服务器内部空间比如SAS接口减少了线缆的尺寸,且用更细的电缆搭配,而且SAS硬盘有2.5英寸的规格,如图7所示即为希捷(Savvio 15K.2)2.5英寸SAS硬盘接口。

图7 2.5英寸SAS硬盘接口

更好的空间占用特点使得这种接口的硬盘可以广泛部署在刀片服务器中。在2U高度内使用 8个 2.5英寸的SAS硬盘位已经成为大多数OEM服务器厂商的选择。另外,对于预算不高无法更换现有服务器的企业来说,亦可采用SAS和SATA硬盘共存的升级方式,SAS接口良好的向下兼容性使得企业用户可以将它们用在不同的应用场合。比如SATA硬盘可用于一般事务性处理,而SAS硬盘则可专注于数据量大、数据可用性极为关键的应用中。如图8所示为上亿信息(SNT)推出的ST-1042SAS-D7硬盘抽取盒,它就完美地混合支持SAS和SATA硬盘共存,且可以搭配SAS或SATA硬盘控制卡来支持RAID 0、1、5磁盘阵列模式。

图8 SAS/SATA硬盘抽取盒

比起同容量的Ultra 320 SCSI硬盘,SAS 硬盘要贵一些,如图9所示:这主要还是缘由其更好的扩展性、兼容性以及更可靠的容错能力。而从从服务器市场来看,国内外主力服务器厂商都已经纷纷推出采用SAS硬盘的机型,只是具体产品的应用和市场状况有所不同。比如定位于部门级应用的惠普 ProLiant DL380 G5、适用于流媒体服务及电子商务的IBM System x3650 M2 等,都提供了SAS硬盘的全面支持。

四、应用高端的光纤接口

光纤通道(FC,Fibre Channel)是一种为提高多硬盘存储系统的速度和灵活性才开发的接口,其可大大提高多硬盘系统的通信速度。对于大型的ERP系统,或是在线实时交易系统等需要更大传输量、更快反应速度的应用环境而言,此类接口的服务器硬盘是最好的选择当然其产品价格自然也就更高于前面


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/298207.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-25
下一篇2023-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存