[发明专利]基于域套接字实现模块间同步和异步调用的方法和系统在审
申请号: | 202210847825.1 | 申请日: | 2022-07-19 |
公开(公告)号: | CN114979233A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 宋祥林;洪卓轩;龙海涛;陈政;王周锋 | 申请(专利权)人: | 深圳市亿联无限科技有限公司 |
主分类号: | H04L67/133 | 分类号: | H04L67/133;H04L69/16 |
代理公司: | 深圳市行一知识产权代理事务所(特殊普通合伙) 44453 | 代理人: | 杨贤 |
地址: | 518000 广东省深圳市南山区西丽*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 套接 实现 模块 同步 异步 调用 方法 系统 | ||
本申请提出一种基于域套接字实现模块间同步和异步调用的方法和系统,属于计算机应用技术领域,方法包括:服务器创建域套接字并侦听连接请求;当侦听到客户端模块的连接请求时,服务器接受连接,并对所属模块进行鉴别,鉴别通过后并进入消息转发状态;异步接收客户端A请求消息,通过客户端A请求消息中包含的目标模块实例的域套接字,将消息发送到目标模块,实现消息的路由转发;接收目标模块的响应消息,并将所述响应消息发送到客户端A,完成一次同步调用。本申请提高了数据收发的效率,避免了基于TCP/IP套接字的网络协议处理开销,避免了临时实例到最终实例的切换所带来的效率损失和不稳定因素。
技术领域
本申请属于计算机应用技术领域,具体涉及一种基于域套接字实现模块间同步和异步调用的方法和系统。
背景技术
在一个计算机系统中,往往由多个进程组成,进程之间相互协作,共同实现一个系统功能。在计算机系统中,提供了丰富的进程间通信的方式,例如管道、命名管道、消息队列、共享内存、信号量、套接字等,但这些都是基础的通信方法,并不能提供简单直接的进程间同步和异步调用的方法,现有技术中往往需要开发者进行大量的程序开发。此外也有操作系统级的远程调用方法,例如window平台下的远程调用服务、COM接口等,这些往往在window下使用,而且普及率不是很高,系统依赖和开销也比较大,而且无法在linux系统下应用。另外基于互联网的远程调用系统,例如webservice,是为网络分布式应用所开发的平台,同样需要http服务器的介入,系统开销大,不太适用于单机系统下的效率要求。
发明内容
基于以上技术问题,本申请提供了一种基于域套接字实现模块间同步和异步调用的方法和系统。
第一方面,本申请提出一种基于域套接字实现模块间同步和异步调用的方法,包括如下步骤:服务器创建域套接字并侦听连接请求;当侦听到客户端模块的连接请求时,服务器接受连接,并对所属模块进行鉴别,鉴别通过后并进入消息转发状态;异步接收客户端A请求消息,通过客户端A请求消息中包含的目标模块实例的域套接字,将消息发送到目标模块,实现消息的路由转发;接收目标模块的响应消息,并将所述响应消息发送到客户端A,完成一次同步调用。
所述服务器创建域套接字并侦听连接请求,包括如下步骤:服务器启动服务进程;根据系统中的模块编号和数量,初始化对应的模块实例单元;创建服务器中用于侦听的域套接字;进入循环侦听模式,等待各个模块的连接请求。
所述创建服务器中用于侦听的域套接字,包括:创建一种基于AF_UNIX的域套接字用于侦听连接请求,将创建的域套接字,绑定到约定的域名称,并且设置为异步模式。
所述创建服务器中用于侦听的域套接字,包括:基于异步域套接字,循环初始化套接字句柄,并调用套接字select方法,侦听来自各个模块的连接请求;当等待超时后,继续下一次循环select方法。
所述当侦听到客户端模块的连接请求时,服务器接受连接,并对所属模块进行鉴别,鉴别通过后并进入消息转发状态,包括如下步骤:所述当侦听到一个模块的连接请求时,创建一个域套接字,设置为异步模式,并用所述套接字接受来自模块的连接请求;在域套接字连接请求的附属信息中,包括发起连接请求模块的模块ID和模块名称;通过所述模块ID和模块名称进行鉴别;当鉴别通过后,将通过模块ID直接索引到模块实例,并将所述模块实例转为消息转发状态;对所属模块进行鉴别,鉴别通过后并进入消息转发状态。
所述当侦听到客户端模块的连接请求时,服务器接受连接,并对所属模块进行鉴别,鉴别通过后并进入消息转发状态,包括:当采用select方法检测到有套接字句柄数据接收时,检测各个套接字是否存在数据于套接字缓冲区,如果存在则进入消息转发状态,如果不存在,则跳过所述套接字。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市亿联无限科技有限公司,未经深圳市亿联无限科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210847825.1/2.html,转载请声明来源钻瓜专利网。