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

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

时间:2024-06-22 20:57:17浏览次数:28  
标签: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线索负责从应用接受所有发送的信息

标签:gbase8s,数据库,信息,线索,应用程序,服务器,连接,客户端
From: https://blog.csdn.net/qq_59083851/article/details/139887957

相关文章

  • 前端智能合约:连接区块链与用户界面
    引言智能合约是区块链技术中的核心概念,它允许在没有中介的情况下执行可信的交易和协议。然而,要使这些合约对终端用户有用,我们需要一个能够与智能合约交互的前端界面。本文将探讨如何使用Web3.js等工具来构建一个能够与智能合约进行交互的前端应用程序。Web3.js简介Web3.js......
  • 查询Kafka生产者是否连接到Kafka服务
    个人名片......
  • 解决idea项目连接数据库报错:Could not create connection to database server.
    前言idea运行项目时连接数据库,报错Couldnotcreateconnectiontodatabaseserver. 方法1.检查MySQL设置时区:打开运行cmd命令提示符首先连接数据库,输入mysql-hlocalhost-uroot-p,再回车,输入密码连接成功后,输入showvariableslike'%time_zone';,再回车,显示时区配......
  • python socket写客户端
    客户端开发流程1、创建客户端套接字对象2、和服务端套接字建立连接3、发送数据4、接收数据5、关闭客户端套接字注意:客户端是指运行在用户的设备上,服务端是指运行在服务器设备上的,专门为客户端提供数据服务socket类的使用1、导入socket模块importsocket2、使用s......
  • Vite-Wechat网页聊天室|vite5.x+vue3+pinia+element-plus仿微信客户端
    基于Vue3+Pinia+ElementPlus仿微信网页聊天模板Vite5-Vue3-Wechat。vite-wechat使用最新前端技术vite5+vue3+vue-router@4+pinia+element-plus搭建网页端仿微信界面聊天系统。包含了聊天、通讯录、朋友圈、短视频、我的等功能模块。支持收缩侧边栏、背景壁纸换肤、锁屏、最大化等......
  • AWS ec-2基于SSH连接以及初始化指南
    概述首先我们需要先了解一下ssh的连接原理。ssh大概就是,你的本地计算机生成了一对密钥,一个叫做私钥,一个叫做公钥。然后你把你的公钥上传到远端服务器其中一个user下的.ssh文件夹中。每次ssh连接时,服务器就会看自己的公钥和你计算机的私钥能不能对的上,对的上就可以连接。而刚创......
  • ubuntu修改root密码以及开启root ssh远程连接
    root密码ubuntu默认的root用户是没有固定密码的,它的密码是随机产生并且动态改变的,即每次开机都有一个新的root密码,所以拿到一台新的Ubuntu系统服务器后,我们需要设置一个固定的root密码。修改root用户密码sudopasswd然后它会提示你输入安装操作系统时初始用户的密......
  • Python连接Etcd集群基础教程
    1、背景介绍最近接手了一个项目,项目是使用Python开发的,其中使用到了Etcd,但是项目之前开发的方式,只能够支持单节点连接Etcd,不能够在Etcd节点发生故障时,自动转移。因此需要实现基于现有etcdsdk开发一个能够实现故障转移的功能,或者更换etcdsdk来实现故障转移等功能。先来看看项......
  • 【MySQL连接器(Python)指南】02-MySQL连接器(Python)版本与实现
    文章目录前言MySQL连接器(Python)版本MySQL连接器(Python)实现总结前言MySQL连接器(Python),用于让Python程序能够访问MySQL数据库。要想让Python应用程序正确高效地使用MySQL数据,就需要深入了解MySQL连接器的特性和使用方法。MySQL连接器(Python)版本下表......
  • 计算机网络传输中的三部曲:连接、通信与释放
    ✨✨欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨......