[发明专利]通过本地网关程序优化PHP远程调用的方法有效

专利信息
申请号: 201511026837.4 申请日: 2015-12-30
公开(公告)号: CN105677397B 公开(公告)日: 2018-09-25
发明(设计)人: 张军 申请(专利权)人: 南京途牛科技有限公司
主分类号: G06F9/54 分类号: G06F9/54
代理公司: 南京众联专利代理有限公司 32206 代理人: 叶涓涓
地址: 210042 江苏省南京*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 通过 本地 网关 程序 优化 php 远程 调用 方法
【说明书】:

发明公开了一种通过本地网关程序优化PHP远程调用的方法,通过增加和PHP服务器部署在同一台机器上的本地网关程序,由本地网关程序保持和远程服务之间的长连接,PHP服务和本地网关程序之间通过本机的进程间通信,然后再转发给远程服务,从而利用本地进程间通信有效提高性能,通过长连接避免了调用过程中创建和关闭连接的开销,并通过连接池来创建和管理连接,做到了连接数可控,避免连接过多造成远程服务器压力,达到毫秒以内完成远程调用。

技术领域

本发明属于PHP技术领域,具体涉及一种通过本地网关程序优化PHP远程调用的方法。

背景技术

PHP是一种通用开源脚本语言,语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快,应用十分广泛。

PHP在实现Web服务端功能的时候,同样也会有通过网络调用远程服务的需求。例如,操作数据库增、删、改、查数据库,向消息队列里面发送消息等。在比较通用的场景下,如数据库交互,PHP中提供了官方的C扩展支持,但是在一些特殊场景,比如和Kafka的通信,缺乏相应的扩展支持,就需要自己来进行远程调用。现有的特殊场景下PHP远程调用方法通常有两种:

方法一:根据服务提供方的通信协议,使用C语言来开发PHP的扩展。但C语言来开发PHP扩展难度较大;而且C语言虽然执行效率高,但是并没有实现长连接,当远程服务调用频率很高时,频繁的创建和关闭连接增加了调用时长。每一次调用都要打开一个新连接,当并发过高时,对服务方可提供的最大连接数造成了很大压力。

方法二:根据服务提供方的通信协议,直接使用PHP的socket来实现。由于PHP本身的执行效率较差,无法满足高性能场景下的调用需求;此外这种方法也不支持长连接,频繁的创建和关闭连接增加了调用时长,与方法一相同,每一次调用都要打开一个新连接,当并发过高时,对服务方可提供的最大连接数造成了很大压力。

显然,现有的两种解决方法均存在缺陷,它们和Kafka的交互基本都在10ms以上,还有可能更长,除了现有的性能不能满足我们要求外,当并发过高时,通常会出现ActiveMQ连接数不足的现象,导致后续请求不能及时处理,从而影响了接口的执行时间。

发明内容

为解决上述问题,本发明公开了一种通过本地网关程序优化PHP远程调用的方法,能够提升请求性能,同时可以减少远程连接的数量,避免远程服务能力不足带来的影响。

为了达到上述目的,本发明提供如下技术方案:

一种通过本地网关程序优化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,组装需要发送的消息;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京途牛科技有限公司,未经南京途牛科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201511026837.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top