[发明专利]一种基于长连接的套接字同步方法有效
申请号: | 201210585309.2 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103051724A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 张厚瑞 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L12/26 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 连接 套接 同步 方法 | ||
技术领域
本发明涉及一种基于长连接的套接字同步方法。
背景技术
长连接:指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,如果没有数据包发送,需要双方发链路检测包,如图1所示。
发送接收方式:
1、异步
报文发送和接收是分开的,相互独立的,互不影响。这种方式又分两种情况:
(1)异步双工:接收和发送在同一个程序中,由两个不同的子进程分别负责发送和接收;
(2)异步单工:接收和发送是用两个不同的程序来完成。
2、同步
报文发送和接收是同步进行,既报文发送后等待接收替换报文。同步方式一般需要考虑超时问题,即报文发出去后不能无限等待,需要设定超时时间,超过该时间发送方不再等待读替换报文,直接通知超时返回。
在长连接中一般是没有条件能够判断读写什么时候结束,所以必须要加长度报文头。读函数先是读取报文头的长度,再根据这个长度去读相应长度的报文。
在同步方式通讯下,因为报文发送后需要等待替换报文,所以效率较低,大部分时间都浪费在等待返回上。尤其是在某笔交易超时的情况下,会造成后续所有交易都在等待,这种情况会导致通讯程序处于空闲等待现象,且通讯效率较低。
发明内容
本发明所要解决的技术问题是,针对现有技术的不足,提供一种在长连接通讯模式下,大幅提高长连接同步通讯时接口程序的处理效率基于长连接的套接字同步方法。
本发明解决上述技术问题的技术方案如下:一种基于长连接的套接字同步方法,具体包括以下步骤:
步骤1:接口模块将配置信息存入内存,并与外部服务器建立连接;
步骤2:接收内部服务器发送的内部请求,每个内部请求产生对应的唯一的请求参数,将内部请求和请求参数存入内部请求通讯链表,形成请求报文;
步骤3:将内部请求和请求参数存入外部通讯链表,并将请求报文发送至外部服务器;
步骤4:接收外部服务器返回的返回报文,将所述报文与外部通讯链表中的请求参数对比,得出报文对应的内部请求;
步骤5:将返回报文转换为替换报文,并将替换报文通过对应的内部请求的socket套接字端口发送至内部服务器。
本发明的有益效果是:本发明可以通过端口轮询的方法,使所有交易不需要等待上一笔交易的返回,避免通讯程序空闲等待,极大提高通讯程序的处理效率;可避免通讯程序处于空闲等待状态,充分利用端口资源。大幅提高长连接同步通讯时接口程序的处理效率。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤1中与外部服务器建立的连接为长连接。
进一步,所述步骤1中所述的的配置信息包括日志路径、对端地址、端口、登录口令和命令配置文件路径的配置。
进一步,所述2具体包括以下步骤:
步骤2.1:判断是否有内部请求连接,如果有,则接收内部请求,并继续下一步;否则,休眠一定时间后,继续判断是否有内部请求连接;
步骤2.2:解析请求的业务编码,接收准备发向外部服务器所需要的请求串,并参数对应每个请求的唯一的请求参数;
步骤2.3:将请求和请求参数存入内部请求通讯链表中,并替换请求的内部参数,形成具体的发向外部服务器的请求报文。
进一步,所述步骤2.3中的请求报文的格式为key=value键名称格式,请求的内部参数替换是将key键替换成value值。
进一步,所述步骤4具体包括以下步骤:
步骤4.1:遍历外部通讯链表,判断是否需要发送心跳信息,如果是,发送心跳信息,并返回继续遍历外部通讯链表;否则,接收外部服务器的返回报文,并继续下一步;
步骤4.2:判断外部服务器的返回报文是否为心跳包,如果是,则忽略此报文,跳转至步骤4.1;否则,继续下一步;
步骤4.3:将返回报文与外部通讯链表中的请求参数进行比较,找到该报文所对应的内部请求。
进一步,所述步骤5具体包括以下步骤:
步骤5.1:将返回报文通过参数截取操作,转换为替换报文;
步骤5.2:查询出对应报文的内部请求的socket套接字端口;
步骤5.3:将替换报文通过socket套接字端口发送至内部服务器。
进一步,所述步骤4.3中所述返回报文中包含报文数据和唯一对应的请求参数,所述返回报文中的请求参数与内部请求的请求参数相同时,所述报文与所述内部请求相对应。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210585309.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:肉糜丸成型装置
- 下一篇:一种具有迷宫结构的青贮机抛送回转装置