[发明专利]异构系统有效
申请号: | 201610044809.3 | 申请日: | 2016-01-22 |
公开(公告)号: | CN105681426B | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | 桂之明;陆费汉平;姚滨晖;郭亮 | 申请(专利权)人: | 上海携程商务有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/54 |
代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 薛琦;罗朗 |
地址: | 200335 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统 | ||
本发明公开了一种异构系统,包括多个服务器及仲裁模块:仲裁模块在接收到http请求后,将http请求发送至闲置的服务器;每个服务器均包括http restful接口、消息队列及流处理模块,闲置的服务器的http restful接口在获取http请求后,将http请求的请求数据发送至消息队列;流处理模块包括入口模块及多个业务处理模块,消息队列将请求数据推送至订阅http请求的入口模块,入口模块对请求数据进行数据处理,并将处理后的请求数据发送至业务处理模块,每个业务处理模块均对请求数据执行业务处理操作。本发明提供了一种异构的、基于消息传递的、完全异步的流水线化的服务端架构系统。
技术领域
本发明涉及一种异构系统,特别是涉及一种易于横向扩展的、能够流水线化并行的、异步的异构系统。
背景技术
现有的软件系统,在遇到硬件资源瓶颈的时候,其扩展都比较困难,其并行度也比较低,至多只能做到单机并行,多硬件并行时往往会带来同步的瓶颈,其流程大多是同步的,不能方便的使用异步方法来提高系统资源的利用率。比如网络请求的数量达到最大连接数后,只能通过添加新的nat(网络地址转换)映射和负载均衡来分散到其他的主机,而这台添置的主机与其他的主机之间总存在这一些需要共享和同步的资源。而且在并发方面,由于单机上的同步代价较低,一般会选择只在单机上实现业务间的并行,而主机间无法与其他主机实现业务级别的并行。同时,由于某些业务逻辑是需要在会话期间得到响应的,否则会当作失败处理,使得这部分业务无法异步实现,只好选择同步处理,使得处理过程中即使遇到cpu(中央处理单元)资源无关的等待时,也只好选择同步等待,从而浪费了cpu的宝贵计算时间。
发明内容
本发明要解决的技术问题是为了克服现有技术中在系统架构方面的扩展性、资源利用性和并发程度不足的缺陷,提供一种异构系统。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种异构系统,其特点在于,包括多个服务器以及一仲裁模块:
所述仲裁模块用于在接收到http(超文本传输协议)请求后,将所述http请求发送至一闲置的服务器;
每个服务器均包括http restful(一种架构样式的网络系统)接口、消息队列以及流处理模块,所述闲置的服务器的http restful接口用于在获取所述http请求后,将所述http请求的请求数据发送至所述消息队列;
所述流处理模块包括入口模块及多个业务处理模块,所述消息队列用于将所述请求数据推送至订阅所述http请求的入口模块,所述入口模块用于对所述请求数据进行数据处理,并将处理后的所述请求数据发送至所述业务处理模块,每个业务处理模块均用于对所述请求数据执行业务处理操作。
较佳地,所述消息队列包括请求队列及待推送队列,所述请求队列用于存储所述http请求的请求数据,所述待推送队列用于从最后一个业务处理模块中接收业务处理操作的处理结果。
较佳地,当有外部程序订阅所述http请求的推送通知时,所述待推送队列还用于将所述处理结果输出至所述外部程序。
较佳地,所述http restful接口还用于将所述http请求按照不同的业务类型发送至不同的消息队列。
较佳地,所述http restful接口为异步接口。
较佳地,所述数据处理包括格式化处理以及数据验证。
较佳地,所述业务处理操作包括推送操作及写入操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海携程商务有限公司,未经上海携程商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610044809.3/2.html,转载请声明来源钻瓜专利网。