一种非阻塞同步模式数据库中间件网络通信的方法及系统技术方案

技术编号:18292448 阅读:146 留言:0更新日期:2018-06-24 08:28
本发明专利技术涉及一种非阻塞同步模式数据库中间件网络通信的方法及系统,包括如下步骤:客户端用户线程发起IO请求将系统调用传送到数据库中间件;操作系统模块对用户线程发起的IO请求进行处理,并向客户端用户返回一个逻辑值,同时启动网络操作与数据库进行交互,返回IO响应结果到客户端。在数据库中间件增加网络IO的非阻塞同步模式,数据库中间件处理大量客户端IO请求时,让操作系统模块与数据库交互。在网络IO方面,提供非阻塞操作,减少处理网络IO的线程数,增强可伸缩性。

【技术实现步骤摘要】
一种非阻塞同步模式数据库中间件网络通信的方法及系统
本专利技术属于网络通信
,具体涉及一种非阻塞同步模式数据库中间件网络通信的方法及系统。
技术介绍
随着业务不断扩展,客户端的IO请求连接数不断增多且连接时间较长,在访问数据库时,经常出现线程阻塞和连接超时的现象,造成系统功能请求响应无法及时应答,严重影响应用的正常运行。此为现有技术的不足之处。
技术实现思路
本专利技术的目的在于,针对上述现有技术存在的缺陷,提供设计一种非阻塞同步模式数据库中间件网络通信的方法及系统,以解决上述技术问题。为了达到上述目的,本专利技术的技术方案是:一种非阻塞同步模式数据库中间件网络通信的方法,包括如下步骤:客户端用户线程发起IO请求将系统调用传送到数据库中间件;操作系统模块对用户线程发起的IO请求进行处理,并向客户端用户返回一个逻辑值,同时启动一个网络操作与数据库进行交互,返回IO响应结果到客户端。进一步的,操作系统模块对用户线程发起的IO请求进行处理,具体包括:操作系统模块将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中,操作系统模块通过线程池中的线程获取所述消息队列中的任务事件,并通过所述线程对所述任务事件进行响应。进一步的,操作系统模块将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中,具体包括:操作系统模块将用户线程发起的IO请求进行分解并封装成第一任务事件和第二任务事件;所述第一任务事件,指向代理模块,用于向所述数据库管理模块请求所述用户所需的网络IO操作,所述第二任务事件,指向所述客户端用户,用于向所述客户端用户转发所述代理模块返回的网络响应;所述代理模块将与各个所述任务事件分别对应的任务处理参数附加在对应的任务事件中;所述代理模块将添加所述任务处理参数后的所述两个任务事件分别添加到所述消息队列的尾部。进一步的,所述任务处理参数包括:任务所需的网络连接参数和/或任务类型。进一步的,启动一个网络操作与数据库进行交互,返回IO响应结果到客户端,包括:所述的网络操作被传送到与启动网络操作的操作系统模块通信的管理事件模块,其中管理事件模块中接收到的网络操作被转换成要执行的操作,并将操作的结果返回到操作系统模块,操作系统模块对接收到的操作结果返回响应结果到客户端。本专利技术技术方案还提供:一种非阻塞同步模式数据库中间件网络通信的系统,包括客户端,操作系统模块和数据库;客户端,用于用户线程发起IO请求将系统调用传送到数据库中间件;操作系统模块,用于对用户线程发起的IO请求进行处理,并向客户端用户返回一个逻辑值,同时启动一个网络操作与数据库进行交互,返回IO响应结果到客户端。进一步的,操作系统模块,用于将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中;操作系统模块,还用于通过线程获取所述消息队列中的任务事件,并通过所述线程对所述任务事件进行响应。进一步的,该系统还包括代理模块,操作系统模块,还用于将用户线程发起的IO请求进行分解并封装成第一任务事件和第二任务事件;所述第一任务事件,指向代理模块,用于向所述数据库管理模块请求所述用户所需的网络IO操作;所述第二任务事件,指向所述客户端用户,用于向所述客户端用户转发所述代理模块返回的网络响应;所述代理模块,用于将与各个所述任务事件分别对应的任务处理参数附加在对应的任务事件中;所述代理模块,还用于将添加所述任务处理参数后的所述两个任务事件分别添加到所述消息队列的尾部。进一步的,所述任务处理参数包括:任务所需的网络连接参数和/或任务类型。进一步的,该系统还包括管理事件模块,管理事件模块,用于与所述操作系统模块进行通信,并接收操作系统模块启动的网络操作;管理事件模块,还用于将接收到的网络操作转换成要执行的操作,并将操作的结果返回到操作系统模块。在数据库中间件增加网络IO的非阻塞同步模式,数据库中间件处理大量客户端IO请求时,让操作系统模块与数据库交互。在网络IO方面,提供非阻塞操作,减少处理网络IO的线程数,增强可伸缩性。本专利技术的有益效果在于,本专利技术是在数据库中间件的通信层增加网络IO的非阻塞同步方法,避免客户端IO请求的线程阻塞,提高用户请求的响应速度,进而改善对数据库中间件的访问性能。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。附图说明图1为网络IO非阻塞同步模式的流程模型;图2为一种非阻塞同步模式数据库中间件网络通信的方法实现过程示意图。具体实施方式下面结合附图并通过具体实施例对本专利技术进行详细阐述,以下实施例是对本专利技术的解释,而本专利技术并不局限于以下实施方式。如图1图2所示,本专利技术实施例提供的一种非阻塞同步模式数据库中间件网络通信的方法,包括如下步骤:客户端用户线程发起IO请求将系统调用传送到数据库中间件;操作系统模块对用户线程发起的IO请求进行处理,并向客户端用户返回一个逻辑值,同时启动一个网络操作与数据库进行交互,返回IO响应结果到客户端。操作系统模块对用户线程发起的IO请求进行处理,具体包括:操作系统模块将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中,操作系统模块通过线程池中的线程获取所述消息队列中的任务事件,并通过所述线程对所述任务事件进行响应。操作系统模块将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中,具体包括:操作系统模块将用户线程发起的IO请求进行分解并封装成第一任务事件和第二任务事件;所述第一任务事件,指向代理模块,用于向所述数据库管理模块请求所述用户所需的网络IO操作,所述第二任务事件,指向所述客户端用户,用于向所述客户端用户转发所述代理模块返回的网络响应;所述代理模块将与各个所述任务事件分别对应的任务处理参数附加在对应的任务事件中;所述代理模块将添加所述任务处理参数后的所述两个任务事件分别添加到所述消息队列的尾部。所述任务处理参数包括:任务所需的网络连接参数和/或任务类型。启动一个网络操作与数据库进行交互,返回IO响应结果到客户端,包括:所述的网络操作被传送到与启动网络操作的操作系统模块通信的管理事件模块,其中管理事件模块中接收到的网络操作被转换成要执行的操作,并将操作的结果返回到操作系统模块,操作系统模块对接收到的操作结果返回响应结果到客户端。本专利技术实施例还提供一种非阻塞同步模式数据库中间件网络通信的系统,包括客户端,操作系统模块和数据库;客户端,用于用户线程发起IO请求将系统调用传送到数据库中间件;操作系统模块,用于对用户线程发起的IO请求进行处理,并向客户端用户返回一个逻辑值,同时启动一个网络操作与数据库进行交互,返回IO响应结果到客户端。操作系统模块,用于将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中;操作系统模块,还用于通过线程获取所述消息队列中的任务事件,并通过所述线程对所述任务事件进行响应。该系统还包括代理模块,操作系统模块,还用于将用户线程发起的IO请求进行分解并封装成第一任务事件和第二任务事件;所述第一任务事件,指向代理模块,用于向所述数据库管理模块请求所述用户所需的网络I本文档来自技高网...
一种非阻塞同步模式数据库中间件网络通信的方法及系统

【技术保护点】
1.一种非阻塞同步模式数据库中间件网络通信的方法,其特征在于,包括如下步骤:客户端用户线程发起IO请求将系统调用传送到数据库中间件;操作系统模块对用户线程发起的IO请求进行处理,并向客户端用户返回一个逻辑值,同时启动网络操作与数据库进行交互,返回IO响应结果到客户端。

【技术特征摘要】
1.一种非阻塞同步模式数据库中间件网络通信的方法,其特征在于,包括如下步骤:客户端用户线程发起IO请求将系统调用传送到数据库中间件;操作系统模块对用户线程发起的IO请求进行处理,并向客户端用户返回一个逻辑值,同时启动网络操作与数据库进行交互,返回IO响应结果到客户端。2.根据权利要求1所述的一种非阻塞同步模式数据库中间件网络通信的方法,其特征在于,操作系统模块对用户线程发起的IO请求进行处理,具体包括:操作系统模块将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中,操作系统模块通过线程池中的线程获取所述消息队列中的任务事件,并通过所述线程对所述任务事件进行响应。3.根据权利要求2所述的一种非阻塞同步模式数据库中间件网络通信的方法,其特征在于,操作系统模块将用户线程发起的IO请求封装成任务事件,并将所述的任务事件添加到消息队列中,具体包括:操作系统模块将用户线程发起的IO请求进行分解并封装成第一任务事件和第二任务事件;所述第一任务事件,指向代理模块,用于向所述数据库管理模块请求所述用户所需的网络IO操作,所述第二任务事件,指向所述客户端用户,用于向所述客户端用户转发所述代理模块返回的网络响应;所述代理模块将与各个所述任务事件分别对应的任务处理参数附加在对应的任务事件中;所述代理模块将添加所述任务处理参数后的所述两个任务事件分别添加到所述消息队列的尾部。4.根据权利要求3所述的一种非阻塞同步模式数据库中间件网络通信的方法,其特征在于,所述任务处理参数包括:任务所需的网络连接参数和/或任务类型。5.根据权利要求4所述的一种非阻塞同步模式数据库中间件网络通信的方法,其特征在于,启动网络操作与数据库进行交互,返回IO响应结果到客户端,包括:所述的网络操作被传送到与启动网络操作的操作系统模块通信的管理事件模块,其中管理事件模块中接收到的网络操作被转换成要执行的操作,并将操作的结果...

【专利技术属性】
技术研发人员:李永仙
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1