CN106250559A - 网络io的异步非阻塞应用于数据库中间件的方法 - Google Patents
网络io的异步非阻塞应用于数据库中间件的方法 Download PDFInfo
- 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
- asynchronous non
- database
- operating system
- database middleware
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000000903 blocking effect Effects 0.000 title claims abstract description 13
- 230000026676 system process Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 10
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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的异步非阻塞应用于数据库中间件的方法。
背景技术
数据库(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操作。
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)
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)
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 | 刘广威 | 面向大规模终端设备的在线数据传输方法 |
-
2016
- 2016-08-17 CN CN201610677715.XA patent/CN106250559A/zh active Pending
Patent Citations (3)
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)
Title |
---|
戴大蒙: "基于非阻塞式 Winsock 的多线程网络通信机制", 《计算机工程》 * |
边耐政等: "基于非阻塞的分布式事务提交协议的实现", 《计算机应用与软件》 * |
陈冈等: "基于异步文件通道的Java Web多任务分块文件上传", 《河南理工大学学报(自然科学版)》 * |
Cited By (3)
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 |
---|---|---|
US11175832B2 (en) | Thread groups for pluggable database connection consolidation in NUMA environment | |
CN106385329B (zh) | 资源池的处理方法、装置和设备 | |
CN101997918B (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
KR101959153B1 (ko) | 데이터베이스에서의 계좌와 관련된 거래 요청의 효율적인 처리를 위한 시스템 | |
CN101799773B (zh) | 并行计算的内存访问方法 | |
CN107113341B (zh) | 用于数据划分的分布式关系数据库管理***中事务的高吞吐量处理的*** | |
CN103634379B (zh) | 一种分布式存储空间的管理方法和分布式存储*** | |
CN110249310A (zh) | 云计算***中的用于虚拟机的资源管理 | |
CN100594497C (zh) | 一种实现网络查询缓存的***和查询方法 | |
US20210004712A1 (en) | Machine Learning Performance and Workload Management | |
CN102123176B (zh) | 一种网络存储***空间分配管理方法及装置 | |
CN109299180B (zh) | 一种数据仓库etl操作*** | |
CN105069134A (zh) | 一种Oracle统计信息自动收集方法 | |
CN104050042A (zh) | Etl作业的资源分配方法及装置 | |
US10158709B1 (en) | Identifying data store requests for asynchronous processing | |
CN105045791A (zh) | 数据库设备 | |
CN102937964B (zh) | 基于分布式***的智能数据服务方法 | |
CN105354328B (zh) | 一种解决NoSQL数据库并发访问冲突的***及方法 | |
CN103095788A (zh) | 一种基于网络拓扑的云资源调度策略 | |
CN106250559A (zh) | 网络io的异步非阻塞应用于数据库中间件的方法 | |
CN105007311A (zh) | 一种基于云平台和云计算的资源管理***和方法 | |
CN105930417A (zh) | 一种基于云计算的大数据etl交互式处理平台 | |
CN105205178A (zh) | 一种多进程访问内存数据库*** | |
CN107678856B (zh) | 一种处理业务实体中增量信息的方法及装置 | |
CN109829094A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161221 |