[发明专利]通过本地网关程序优化PHP远程调用的方法有效
申请号: | 201511026837.4 | 申请日: | 2015-12-30 |
公开(公告)号: | CN105677397B | 公开(公告)日: | 2018-09-25 |
发明(设计)人: | 张军 | 申请(专利权)人: | 南京途牛科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 叶涓涓 |
地址: | 210042 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 本地 网关 程序 优化 php 远程 调用 方法 | ||
1.一种通过本地网关程序优化PHP远程调用的方法,其特征在于:增加与PHP服务器部署在同一台机器上的本地网关程序,由本地网关程序保持和远程服务之间的长连接,PHP服务和本地网关程序之间通过本机的进程间通信,然后再转发给远程服务,包括以下步骤:
步骤A,启动网关程序:
步骤A-1,监听配置文件中配置的Unix Domain Socket文件路径;
步骤A-2,根据配置文件的设置开启对应数量的线程,来处理监听local.sock;
步骤A-3,初始化连接池,根据配置文件设置初始化多个和远程服务的长连接;
步骤B, PHP组件和网关程序进行通信:
步骤B-1,从配置文件中读取Unix Domain Socket文件路径;
步骤B-2,创建并建立Socket连接;
步骤B-3,组装需要发送的消息;
步骤B-4,通过Socket将字符串发送给网关程序;
步骤B-5,关闭Socket连接;
步骤C,网关程序处理远程调用请求:
步骤C-1,解析请求的数据;
步骤C-2,从连接池中获取一个连接,如果没有可用连接,会创建并返回一个连接对象;
步骤C-3,通过连接发送消息;
步骤C-4,消息发送完后将连接放入连接池,由连接池保持创建好的连接不关闭。
2.根据权利要求1所述的通过本地网关程序优化PHP远程调用的方法,其特征在于:所述远程调用请求为Kafka。
3.根据权利要求2所述的通过本地网关程序优化PHP远程调用的方法,其特征在于:所述步骤B-3组装规则为:首行是Topic名称,与多条消息组合成一个字符串,相邻两条消息之间采用换行符“\n”进行连接。
4.根据权利要求2所述的通过本地网关程序优化PHP远程调用的方法,其特征在于:所述步骤C-1解析规则为:以第一行作为Topic的名称,之后每一行都是需要转发的消息。
5.根据权利要求1所述的通过本地网关程序优化PHP远程调用的方法,其特征在于:所述本地网关程序包括NIO组件、数据解析模块、连接池模块、配置管理模块, 所述NIO组件使用Netty作为其实现方案,监听本机的Unix Domain Socket文件;所述数据解析模块自定义了数据处理的协议;所述连接池模块用于维持和管理长连接;所述配置管理模块用于集中配置可变参数。
6.根据权利要求5所述的通过本地网关程序优化PHP远程调用的方法,其特征在于:所述数据解析模块定义与Kafka通信时使用换行符作为每一条消息的截止符,其中第一行是Kafka的Topic名称。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京途牛科技有限公司,未经南京途牛科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511026837.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种资源下载方法和装置
- 下一篇:用计算机程序验证数学证明合法性的方法