gbase8s关于客户端和数据库连接的方式和应用建立连接的简单线索分工

应用和数据库的连接分为本地连接和远程连接,当应用程序和数据库在同一台服务器上为本地连接,不在一台服务器上为远程连接

1. 本地连接

本地连接三种方式:

  • 通过共享内存消息系统:应用和数据库在同一台服务器上,应用程序和数据库服务器将挂接在相同的内存段中,应用程序发送消息给数据库服务器,服务器捡起消息进行处理
  • 流管道:进程内部通过unix stream进行通信的一种方式
  • TCP/IP进行连接:可用于本地连接,也可用于远程连接,应用陈故乡和数据库服务器在同一台计算机上时,informix使用local loopback

可通过设置环境变量和配置参数来设置连接的方式,同一个数据库服务器同时配置tcp/ip和共享内存连接

2. 远程连接

数据库提供了两种tcp/ip的接口:

  • sockets:AIX、HP、Linux上
  • TLI(Transport Layer Interface):SUN上使用此形式

3. 客户端和服务器连接

  • 程序获取连接信息
    • 通过gbasedbtserver的值和sqlhosts文件的第一列做匹配
    • 应用程序通过sqlhosts文件获得连接的服务器名称和连接方式
    • sqlhosts文件包含了连接方式、服务器所在的网络地址、端口信息,也包含了配置文件DBSERVERNAME所包含的服务器名称
  • 共享内存连接:应用程序吧信息放在一块地址中,数据库VP从这个地址检索信息,通过这种方式和数据库进行通信
  • 网络方式连接:应用程序发送信息到端口,数据库从监听端口获得应用段的信息

数据库会在每次检查段之后,会在日志中记录一条信息,记录数据库在线之后的最大用户连接数

4. 应用发送连接的一些步骤设计

  • 上述是应用发送连接请求时,处理连接请求的各个线索的主要行为如下
    • poll线索负责处理接受来自客户端的所有信息,当收到一条信息之后,poll线索会唤醒其他线索去处理信息
    • 如果接受的是数据库连接信息,poll线索会唤醒listen线索,并把连接请求传给listen线索,listen线索处理所有的连接请求
      • listen线索会给用户创建一个会话控制块session control block(SCB),这个结构中包含了一个唯一标识,称作session id
      • 同时也会创作一个线索控制块thread contol block(TCB),TCB用来和用户做交易的,在TCB中存放线索的上下文
    • 最后会为用户创建一个sqlexec线索,sqlexec线索负责发送所有的信息给应用,poll线索负责从应用接受所有发送的信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/733802.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

01_01_Mybatis的介绍与快速入门

一、数据持久层框架的发展历程 1、JDBC JDBC(Java Data Base Connection),是一种用于执行SQL语句的Java API,为多种关系型数据库提供了统一访问的方式,它由一组用Java语言编写的类和接口组成。JDBC提供了一种规范&…

前端路线指导(4):前端春招秋招经验分享

春招/秋招经验分享(前端) 哈喽大家好,我是小粉,双一流本科,自学前端一年,收获腾讯,字节等多家大厂offer,一半以上ssp~ 今天给大家分享一下我的春招(暑期实习)、秋招经历,…

“论多源数据集成及应用”必过范文,软考高级,系统架构设计师论文

论文真题 在如今信息爆炸的时代,企业、组织和个人面临着大量的数据。这些数据来自不同的渠道和资源,包括传感器、社交媒体、销售记录等,它们各自具有不同的数据格式、分布和存储方式。因此如何收集、整理和清洗数据,以建立一个一致、完整的数据集尤为重要。多源数据集成可…

云邮件推送服务如何配置?有哪些优势特点?

云邮件推送的性能怎么优化?如何选择邮件推送服务? 云邮件推送服务是一种基于云计算的邮件发送解决方案,能够帮助企业和个人高效地发送大规模邮件。AokSend将详细介绍如何配置云邮件推送服务,以便你能够充分利用其优势。 云邮件推…

航行在水域:使用数据湖构建生产级 RAG 应用程序

在 2024 年年中,创建一个令人印象深刻和兴奋的 AI 演示可能很容易。需要一个强大的开发人员,一些聪明的提示实验,以及一些对强大基础模型的API调用,你通常可以在一个下午建立一个定制的AI机器人。添加一个像 langchain 或 llamain…

【会议征稿,JPCS出版】第三届电力系统与能源技术国际学术会议(ICPSET 2024,7月5-7)

第三届电力系统与能源技术国际学术会议(ICPSET 2024)将于2024年7月5-7日在杭州举办。由浙江水利水电学院电机产业学院主办,AEIC学术交流中心承办,湖州市南浔创新研究院、南浔区科技局(科协)协办 。会议主要…

云安全下的等级保护2.0解决方案

云安全解决方案 知识星球🔗除了包含技术干货:Java代码审计、web安全、应急响应等,还包含了安全中常见的售前护网案例、售前方案、ppt等,同时也有面向学生的网络安全面试、护网面试等。 ​

操作系统实验二:存储管理(分析XV6分页存储地址变换)

目录 一、实验目的 二、具体任务安排 1.理解XV6内核源码 2.修改XV6内核源码 一、实验目的 分析XV6教学系统分页存储地址变换的实现 二、具体任务安排 1.理解XV6内核源码 (1)阅读学习通资料中的XV6 guide book第一、第二章或自行查阅相关资料&a…

基于51单片机计步器—无线蓝牙APP上传

基于51单片机计步器设计 (程序+原理图+设计报告) 功能介绍 具体功能: 本设计由STC89C52单片机最小系统ADXL345加速度传感器lcd1602液晶电路蓝牙模块电路呼吸灯电路电源电路组成。 1.通过ADXL345检测步数&#xff0…

嵌入式web 服务器boa的编译和移植

编译环境:虚拟机 ubuntu 18.04 目标开发板:飞凌OKA40i-C开发板, Linux3.10 操作系统 开发板本身已经移植了boa服务器,但是在使用过程中发现POST方法传输大文件时对数据量有限制,超过1M字节就无法传输,这是…

iMazing3软件下载-详细安装教程视频

​值得肯定的是智能备份:iMazing为使用者提供了免费的备份服务,并且支持两种连接方式:USB数据线连接备份和Wi-Fi无线连接,所备份的文件不会被覆盖。我们必须承认iMazing软件特色:使用你的 iOS 设备像外部驱动器。基本上…

诺瓦星云入职认知能力SHL测验Verify职业性格问卷OPQ可搜索带解析求职题库

欢迎您开启诺瓦星云的求职旅程 恭喜您进入测评环节,接下来您需要作答两个测验,分别是职业性格问卷OPQ和认知能力测验Verify,总共用时大约1小时,祝您作答顺利! 【华东同舟求职】由资深各行业从业者建立的一站式人才服务网络平台&a…

LSTM架构的演进:LSTM、xLSTM、LSTM+Transformer

文章目录 1. LSTM2. xLSTM2.1 理论介绍2.2 代码实现 3. LSTMTransformer 1. LSTM 传统的 LSTM (长短期记忆网络) 的计算公式涉及几个关键部分:输入门、遗忘门、输出门和单元状态。 2. xLSTM xLSTM之所以称之为xLSTM就是因为它将LSTM扩展为多个LSTM的变体&#xff…

HackTheBox-Linux基础

Linux 结构 历史 许多事件导致了第一个 Linux 内核的创建,并最终创建了 Linux 操作系统 (OS),从 1970 年 Ken Thompson 和 Dennis Ritchie(当时都在 AT&T 工作)发布 Unix 操作系统开始。伯克利软件发行…

Vue-内容渲染,属性渲染指令

内容渲染 在Vue中渲染元素&#xff0c;用双花括号{{}}的语法进行插值&#xff0c;称之为插值表达式 双花括号会渲染hi里面的值 <body><div id"app">{{hi}}</div> <script>const vm{data(){return{hi:hello world}}}const appVue.createAp…

【Java】已解决java.nio.channels.OverlappingFileLockException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.nio.channels.OverlappingFileLockException异常 在Java的NIO&#xff08;New I/O&#xff09;编程中&#xff0c;java.nio.channels.OverlappingFileLockException是一…

LQR 控制算法应用分析

参考 Optimization Based Control 从基础到复杂地介绍最优控制理论 麻省理工大学机器人算法第八章 LQR 大概说了 lqr 的推导过程&#xff0c;主页有更多算法介绍 wiki LQR 控制器 LQR 多种公式说明 Formulas for discrete time LQR, LQG, LEQG and minimax LQG optimal con…

C语言程序设计-2 程序的灵魂—算法

【例 2.1】求 12345。 最原始方法&#xff1a; 步骤 1&#xff1a;先求 12&#xff0c;得到结果 2。 步骤 2&#xff1a;将步骤 1 得到的乘积 2 乘以 3&#xff0c;得到结果 6。 步骤 3&#xff1a;将 6 再乘以 4&#xff0c;得 24。 步骤 4&#xff1a;将 24 再乘以 5&#xf…

grafana 通过自定义API获取数据

一、安装插件 安装infinity插件 二、配置数据源 三、配置图表 1、数据 这边提供一个go的demo package mainimport ("math/rand""net/http""time""github.com/gin-gonic/gin" )func main() {router : gin.Default()rand.Seed(time.…