[发明专利]一种分布式调用框架、设备及其数据传输方法有效
申请号: | 201310121477.0 | 申请日: | 2013-04-09 |
公开(公告)号: | CN104104663B | 公开(公告)日: | 2018-06-19 |
发明(设计)人: | 孙为;田睿;张弛;吴振宇 | 申请(专利权)人: | 深圳中兴网信科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张振伟;王黎延 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制格式 分布式调用 数据传输 服务器 负载均衡 请求对象 容错策略 协议发送 协议接收 资源开销 反序列 输出 返回 响应 | ||
本发明公开了一种数据传输方法,包括:将请求对象序列化为二进制格式的流;根据设定的容错策略将所述二进制格式的流通过新的输入输出NIO协议发送至对应的服务器;通过NIO协议接收来自服务器返回的二进制格式的流,并将所述二进制格式的流反序列化为响应对象。本发明同时还公开了一种分布式调用框架及设备。采用本发明的技术方案,能够在资源开销小的同时,实现负载均衡。
技术领域
本发明涉及分布式技术,尤其涉及一种分布式调用框架、设备及其数据传输方法。
背景技术
随着业务不断的发展,软件系统的功能不断的增加,单一部署的方式已经无法满足要求,而且考虑到系统各业务功能模块的相对独立性,需要把这些业务模块进行分布部署。
现有的分布部署框架主要有两种实现方式:一种是采用超文本传送协议(Http,Hypertext transport protocol)加文本的传输方式,该传输方式的优点是负载均衡很容易实现;缺点是传输的数据量大,导致服务器端的资源开销大。另一种是阻塞式输入输出(BIO,Block Input Output)协议加二进制流的传输方式,该传输方式的优点是二进制协议开销少;缺点是负载均衡实现复杂。
发明内容
有鉴于此,本发明的主要目的在于提供一种分布式调用框架、设备及其数据传输方法,能够在资源开销小的同时,实现负载均衡。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种数据传输方法,该方法包括:
将请求对象序列化为二进制格式的流;
基于新的输入输出NIO协议对所述二进制格式的流进行封装,并发送至对应的服务器;以及,接收服务器发送的基于NIO协议封装的二进制格式的流,解封装所述二进制格式的流并将所述二进制格式的流反序列化为响应对象。
上述方案中,基于NIO协议对所述二进制格式的流进行封装后,该方法包括:
根据设定的容错策略将NIO协议封装后的所述二进制格式的流发送至对应的服务器。
上述方案中,所述根据设定的容错策略将NIO协议封装后的所述二进制格式的流发送至对应的服务器包括:
根据路由信息和服务器的状态信息确定有效的服务器;
确定所述有效的服务器的优先级,将NIO协议封装后的所述二进制格式的流发送至优先级最高的服务器。
上述方案中,所述根据路由信息和服务器的状态信息确定有效的服务器包括:
对服务器进行心跳检查,获取服务器的在线情况,将当前在线的服务器确定为有效的服务器。
上述方案中,所述确定所述有效的服务器的优先级包括:
将所述有效的服务器划分为主服务器和备服务器,主服务器的优先级高于备服务器的优先级。
本发明还提供了一种数据传输方法,该方法包括:
接收客户端发送的基于NIO协议封装的二进制格式的流,解封装所述二进制格式的流并将所述二进制格式的流反序列化为请求对象;
调用服务处理类对所述请求对象进行相应处理,并得到所述请求对象对应的响应对象;
将所述响应对象序列化为二进制格式的流,基于NIO协议对所述二进制格式的流进行封装,并发送至对应的客户端。
本发明还提供了一种客户端,该客户端包括:序列化单元、发送单元、接收单元以及反序列化单元;其中,
所述序列化单元,用于将请求对象序列化为二进制格式的流;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳中兴网信科技有限公司,未经深圳中兴网信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310121477.0/2.html,转载请声明来源钻瓜专利网。