CN106250559A - 网络io的异步非阻塞应用于数据库中间件的方法 - Google Patents

网络io的异步非阻塞应用于数据库中间件的方法 Download PDF

Info

Publication number
CN106250559A
CN106250559A CN201610677715.XA CN201610677715A CN106250559A CN 106250559 A CN106250559 A CN 106250559A CN 201610677715 A CN201610677715 A CN 201610677715A CN 106250559 A CN106250559 A CN 106250559A
Authority
CN
China
Prior art keywords
network
database middleware
asynchronous non
operating system
data base
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610677715.XA
Other languages
English (en)
Inventor
李永仙
高传集
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610677715.XA priority Critical patent/CN106250559A/zh
Publication of CN106250559A publication Critical patent/CN106250559A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种网络IO的异步非阻塞应用于数据库中间件的方法,属于网络IO在数据库中间件中应用的技术,本发明要解决的技术问题为如何能够实现在访问数据库时,避免客户端IO请求的线程阻塞,同时充分利用系统资源,提高系统资源的利用率,采用的技术方案为:该方法是在数据库中间件上增加网络IO,数据库中间件处理客户端IO请求时,使操作系统与数据库交互;在交互过程中,若操作系统的线程资源被占用,其他IO操作无需等待该资源释放,操作系统就能重新分配其他资源与数据库进行交互。

Description

网络IO的异步非阻塞应用于数据库中间件的方法
技术领域
本发明涉及一种网络IO在数据库中间件中应用的技术,具体地说是一种网络IO的异步非阻塞应用于数据库中间件的方法。
背景技术
数据库(Data base, DB)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。
中间件(Middleware)是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。
随着业务不断扩展,客户端的IO请求连接数不断增多且连接时间较长,在访问数据库时,经常出现线程阻塞和连接超时的现象,造成大量的系统资源不能充分利用,严重影响应用的正常运行。故如何能够实现在访问数据库时,避免客户端IO请求的线程阻塞,同时充分利用系统资源,提高系统资源的利用率是目前现有技术中急需解决的技术问题。
发明内容
本发明的技术任务是提供一种网络IO的异步非阻塞应用于数据库中间件的方法,来解决如何能够实现在访问数据库时,避免客户端IO请求的线程阻塞,同时充分利用系统资源,提高系统资源的利用率的问题。
本发明的技术任务是按以下方式实现的,网络IO的异步非阻塞应用于数据库中间件的方法,该方法是在数据库中间件上增加网络IO,数据库中间件处理客户端IO请求时,使操作系统与数据库交互;在交互过程中,若操作系统的线程资源被占用,其他IO操作无需等待该资源释放,操作系统就能重新分配其他资源与数据库进行交互,不仅能够避免客户端IO请求的线程阻塞,还能大大提高系统资源的利用。
作为优选,所述网络IO为网络的异步非阻塞模式。
更优地,所述网络的异步非阻塞模式就是用户进程只需要发起一个IO操作,之后立即返回,等IO操作真正的完成以后,应用会得到IO操作完成的通知,此时用户进程只需要读取相关数据,不必进行实际的IO读写操作,真正的IO读取或者写入操作已经由操作系统完成了;在操作系统处理IO操作过程中,用户进程不必等待IO的操作结果,可以继续进行其他的IO操作,提高IO操作的并发性。
本发明的网络IO的异步非阻塞应用于数据库中间件的方法具有以下优点:
1、本文发明是网络IO架构的异步非阻塞模式应用于数据库中间件的方法,主要涉及数据库中间件的网络IO数据通信层面,通过采用网络IO的异步非阻塞模式,实现数据库中间件的网络通信;通过部署数据库中间件来访问数据库,在应用中经常会发生线程阻塞的现象,造成其他线程不能及时响应和系统资源不能很好的被利用。通过在中间件中实现网络IO的异步非阻塞模式,能够很好地得以解决;
2、本发明涉及一种网络IO在数据库中间件中应用的技术,是基于网络IO的异步非阻塞模式应用于数据库中间的网络通信层,在原有中间件的基础上,通过用网络IO的异步非阻塞模式来实现其网络通信层,达到最大程度的避免线程阻塞和充分利用系统资源的目的;同时在保证原数据库中间件正常使用的条件下,对其功能进行完善,避免客户端IO请求的线程阻塞,同时充分利用系统资源,提高系统资源的利用率;
3、本发明在不影响应用正常使用数据库的基础上,最大程度的避免客户端IO请求的线程阻塞,并提高IO并发数和充分利用系统资源。
故本发明具有设计合理、结构简单、使用方便、一物多用等特点,因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为网络IO的异步非阻塞应用于数据库中间件的方法的流程框图;
附图2为网络IO的异步非阻塞模式的流程框图。
具体实施方式
参照说明书附图和具体实施例对本发明的网络IO的异步非阻塞应用于数据库中间件的方法作以下详细地说明。
实施例:
如附图1和2所示,本发明的网络IO的异步非阻塞应用于数据库中间件的方法,该方法是在数据库中间件上增加网络的异步非阻塞模式,数据库中间件处理客户端IO请求时,使操作系统与数据库交互;在交互过程中,若操作系统的线程资源被占用,其他IO操作无需等待该资源释放,操作系统就能重新分配其他资源与数据库进行交互,不仅能够避免客户端IO请求的线程阻塞,还能大大提高系统资源的利用。其中,述网络的异步非阻塞模式就是用户进程只需要发起一个IO操作,之后立即返回,等IO操作真正的完成以后,应用会得到IO操作完成的通知,此时用户进程只需要读取相关数据,不必进行实际的IO读写操作,真正的IO读取或者写入操作已经由操作系统完成了;在操作系统处理IO操作过程中,用户进程不必等待IO的操作结果,可以继续进行其他的IO操作,提高IO操作的并发性。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的一种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (3)

1.网络IO的异步非阻塞应用于数据库中间件的方法,其特征在于该方法是在数据库中间件上增加网络IO,数据库中间件处理客户端IO请求时,使操作系统与数据库交互;在交互过程中,若操作系统的线程资源被占用,其他IO操作无需等待该资源释放,操作系统就能重新分配其他资源与数据库进行交互。
2.根据权利要求1所述的网络IO的异步非阻塞应用于数据库中间件的方法,其特征在于所述网络IO为网络的异步非阻塞模式。
3.根据权利要求2所述的网络IO的异步非阻塞应用于数据库中间件的方法,其特征在于所述网络的异步非阻塞模式就是用户进程只需要发起一个IO操作,之后立即返回,等IO操作真正的完成以后,应用会得到IO操作完成的通知,此时用户进程只需要读取相关数据,不必进行实际的IO读写操作,真正的IO读取或者写入操作已经由操作系统完成了;在操作系统处理IO操作过程中,用户进程不必等待IO的操作结果,可以继续进行其他的IO操作。
CN201610677715.XA 2016-08-17 2016-08-17 网络io的异步非阻塞应用于数据库中间件的方法 Pending CN106250559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610677715.XA CN106250559A (zh) 2016-08-17 2016-08-17 网络io的异步非阻塞应用于数据库中间件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610677715.XA CN106250559A (zh) 2016-08-17 2016-08-17 网络io的异步非阻塞应用于数据库中间件的方法

Publications (1)

Publication Number Publication Date
CN106250559A true CN106250559A (zh) 2016-12-21

Family

ID=57592168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610677715.XA Pending CN106250559A (zh) 2016-08-17 2016-08-17 网络io的异步非阻塞应用于数据库中间件的方法

Country Status (1)

Country Link
CN (1) CN106250559A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897299A (zh) * 2015-12-17 2017-06-27 阿里巴巴集团控股有限公司 一种数据库访问方法及装置
CN108200177A (zh) * 2018-01-04 2018-06-22 郑州云海信息技术有限公司 一种非阻塞同步模式数据库中间件网络通信的方法及系统
CN110825441A (zh) * 2019-09-23 2020-02-21 万达信息股份有限公司 异步系统的实现方法、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297395A (zh) * 2012-02-24 2013-09-11 阿里巴巴集团控股有限公司 一种互联网业务的实现方法、系统以及装置
US20140282219A1 (en) * 2013-03-15 2014-09-18 Robert Haddock Intelligent internet system with adaptive user interface providing one-step access to knowledge
CN105025063A (zh) * 2014-04-29 2015-11-04 刘广威 面向大规模终端设备的在线数据传输方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297395A (zh) * 2012-02-24 2013-09-11 阿里巴巴集团控股有限公司 一种互联网业务的实现方法、系统以及装置
US20140282219A1 (en) * 2013-03-15 2014-09-18 Robert Haddock Intelligent internet system with adaptive user interface providing one-step access to knowledge
CN105025063A (zh) * 2014-04-29 2015-11-04 刘广威 面向大规模终端设备的在线数据传输方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
戴大蒙: "基于非阻塞式 Winsock 的多线程网络通信机制", 《计算机工程》 *
边耐政等: "基于非阻塞的分布式事务提交协议的实现", 《计算机应用与软件》 *
陈冈等: "基于异步文件通道的Java Web多任务分块文件上传", 《河南理工大学学报(自然科学版)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897299A (zh) * 2015-12-17 2017-06-27 阿里巴巴集团控股有限公司 一种数据库访问方法及装置
CN108200177A (zh) * 2018-01-04 2018-06-22 郑州云海信息技术有限公司 一种非阻塞同步模式数据库中间件网络通信的方法及系统
CN110825441A (zh) * 2019-09-23 2020-02-21 万达信息股份有限公司 异步系统的实现方法、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN106385329B (zh) 资源池的处理方法、装置和设备
CN103078941B (zh) 一种分布式计算系统的任务调度方法
KR101959153B1 (ko) 데이터베이스에서의 계좌와 관련된 거래 요청의 효율적인 처리를 위한 시스템
CN107113341B (zh) 用于数据划分的分布式关系数据库管理系统中事务的高吞吐量处理的系统
CN101799773B (zh) 并行计算的内存访问方法
CN110249310A (zh) 云计算系统中的用于虚拟机的资源管理
CN103634379B (zh) 一种分布式存储空间的管理方法和分布式存储系统
CN103677759B (zh) 一种用于信息系统性能提升的对象化并行计算方法及系统
CN102123176B (zh) 一种网络存储系统空间分配管理方法及装置
US10158709B1 (en) Identifying data store requests for asynchronous processing
CN104113597A (zh) 一种多数据中心的hdfs数据读写系统及方法
CN105069134A (zh) 一种Oracle统计信息自动收集方法
CN109299180B (zh) 一种数据仓库etl操作系统
CN104050042A (zh) Etl作业的资源分配方法及装置
CN104935660B (zh) 一种云程序开发运行系统、方法及装置
CN104750720A (zh) 多线程并发访问环境下高性能数据处理的实现
CN105956481A (zh) 一种数据处理方法及其装置
CN107704597A (zh) 关系型数据库至Hive的ETL脚本创建方法
CN106250559A (zh) 网络io的异步非阻塞应用于数据库中间件的方法
CN103631931A (zh) 一种数据分级存储方法及系统
CN105007311A (zh) 一种基于云平台和云计算的资源管理系统和方法
CN102937964A (zh) 基于分布式系统的智能数据服务方法
CN104615684A (zh) 一种海量数据通信并发处理方法及系统
CN105683941A (zh) 调节企业数据仓库资源使用
CN110058940A (zh) 一种多线程环境下的数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161221

RJ01 Rejection of invention patent application after publication