CN118075059A - 基于MySQL协议的网关执行方法、装置和设备 - Google Patents

基于MySQL协议的网关执行方法、装置和设备 Download PDF

Info

Publication number
CN118075059A
CN118075059A CN202410459554.1A CN202410459554A CN118075059A CN 118075059 A CN118075059 A CN 118075059A CN 202410459554 A CN202410459554 A CN 202410459554A CN 118075059 A CN118075059 A CN 118075059A
Authority
CN
China
Prior art keywords
request
execution
session
received
listener
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.)
Granted
Application number
CN202410459554.1A
Other languages
English (en)
Other versions
CN118075059B (zh
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.)
Hangzhou Shiatomic Technology Co ltd
Original Assignee
Nanjing Shiato Technology 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 Nanjing Shiato Technology Co ltd filed Critical Nanjing Shiato Technology Co ltd
Priority to CN202410459554.1A priority Critical patent/CN118075059B/zh
Publication of CN118075059A publication Critical patent/CN118075059A/zh
Application granted granted Critical
Publication of CN118075059B publication Critical patent/CN118075059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于MySQL协议的网关执行方法、装置和设备,涉及计算机技术领域,方法包括每次建立连接时,执行Session和SessionContext的初始化;每次接收请求时执行ReqContext对象和监听对象初始化,并在SessionContext对象中根据connID进行ReqId和ReqContext、Listener实例的绑定;通过派发器将同一connID绑定的请求压入请求队列,生成顺序递增ID;当接收的两个以上请求不存在数据依赖关系,则并发执行SQL,取得执行结果。该方法支持并发执行,提高了执行效率。

Description

基于MySQL协议的网关执行方法、装置和设备
技术领域
本发明涉及计算机技术领域,尤其涉及基于MySQL协议的网关执行方法和装置。
背景技术
随着业务的发展以及数据量访问量的不断增加,数据仓库以及MySQL作为一个基础设施层面的***, 访问和协议实现层面临越来越多的流量挑战。如图4公开一种SQL网关构架,SQL网关承接所有用户客户端各种形式的流量,之后经由路由选择至不同的内部***下游节点进行同步或者异步处理。同时站在数据安全角度,提供了限流和黑白名单的基础功能,以上是传统mysql数据库不具备的能力。也因此对网关的分布式协调、并发性能、吞吐能力有很高要求。但是MYSQL协议对请求SQL的处理理论上必须时同步串行执行的,因为packID必须是顺序递增,不允许乱序,在常规实现上一个连接在同一时刻同时只会处理一条SQL。因此单机和集群服务基础都存在单机流量瓶颈,进而出现业务数据查询或操作的效率低下现象。
发明内容
本发明针对现有技术中的缺点,提供了一种基于MySQL协议的网关执行方法。
本发明的技术方案如下:
基于MySQL协议的网关执行方法,包括如下步骤:
每次建立连接时,执行Session和SessionContext的初始化;
每次接收请求时执行ReqContext对象和Listener对象初始化,并在SessionContext对象中根据connID进行ReqId和ReqContext、Listener对象实例的绑定;通过派发器将同一connID绑定的请求压入请求队列,生成顺序递增ID;当接收的两个以上请求不存在上下文关系,则并发执行SQL,取得执行结果。
优选地,方法还包括回写方法,根据请求到达时间顺序回写,执行结果缓存入派发器响应队列,按请求队列顺序逐个响应。
优选地,其中,Listener对象包括相互独立的连接监听对象、Session监听对象和请求监听对象。
优选地,方法还包括串行执行,当接收的两个以上请求存在上下文关系,则在SessionContext对象中标记为串行执行。
本发明还提出一种基于MySQL协议的网关执行装置,包括如下结构:
连接初始化单元,其用于客户端连接,并在每次建立连接时,执行Session和SessionContext的初始化;
请求初始化单元,其用于用户请求的接收,并在每次接收请求时执行ReqContext对象和Listener对象初始化,并在SessionContext对象中根据connID进行ReqId和ReqContext、Listener实例的绑定;
派发器单元,其用于将绑定后的请求压入请求队列,生成顺序递增ID;
执行单元,其用于顺序递增ID执行对应SQL。
优选地,其中,所述Listener对象包括相互独立的连接监听对象、Session监听对象和请求监听对象。
优选地,所述执行单元包括并发执行单元和串行执行单元,串行执行单元,用于当接收的两个以上请求存在数据依赖关系,根据SessionContext对象中的串行执行标记串行执行对应SQL。
优选地,装置还包括回写单元,其用于执行顺序回写程序,顺序回写程序包括根据请求到达时间顺序回写,执行结果缓存入派发器响应队列,按请求队列顺序逐个响应。
本发明还提出一种计算机存储介质,其存储有计算机程序,所述计算机程序被处理器调用实现基于MySQL协议的网关并发执行方法。
本发明还提出一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现基于MySQL协议的网关并发执行方法。
本发明的有益效果:通过配置***参数,允许连接Connection与请求Req可以存在1:N(N≥1)的关系,并对每个请求配置监听,即支持并发执行,提高了执行效率, 又保证了请求的正确性和数据的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是基于MySQL协议的网关执行方法流程图;
图2是实施例1公开的基于MySQL协议的网关构架图;
图3是实施例1公开的顺序回写示意图;
图4是现有的基于MySQL协议的网关构架图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。
名词解释:
ConnId,连接标识符,每次建立新连接时都会产生全局的唯一标识ID
ReqContext,请求上下文,用于存储请求的上下文;
Session,会话,即从客户端连接服务器开始,到客户端与服务器断开结束为一个会话;
SessionContext,会话上下文,用于存储Session上下文;
ConnectionContext,连接上下文;
Listener对象,监听对象。
需要说明的是,由于翻译的如“会话”、“会话上下文”等在实际操作时对于专业名词的指代可能会存在歧义,故下文为了更好地阐述本申请的方案,仍然会存在以英文作为描述对象。
实施例1
公开一种基于MySQL协议的网关并发执行方法,参考图1和图2所示,包括如下步骤:
每次建立连接时,执行会话和会话上下文的初始化;
每次接收请求时执行请求上下文对象和监听对象初始化,并在会话上下文对象中根据连接ID进行请求ID和请求上下文、监听对象实例的绑定;
通过派发器将同一连接ID绑定的请求压入请求队列,生成顺序递增ID;以上流程均在连接层面,即在协议层完成;
经过上述初始化之后,当接收的两个以上请求不存在数据依赖关系,则并发执行SQL。
更为准确的描述为,包括如下步骤:
通过配置***参数,允许连接Connection与请求Req可以存在1:N(N≥1)的关系;
每次建立连接时,执行Session和SessionContext的初始化;
每次接收请求时执行ReqContext对象和监听对象初始化,并在SessionContext对象中根据connID进行ReqId和ReqContext、Listener对象实例的绑定;
通过派发器将同一connID绑定的请求压入请求队列,生成顺序递增ID;以上流程均在连接层面,即在协议层完成;
经过上述初始化之后,当接收的两个以上请求不存在数据依赖关系,或上下文关系,则并发执行SQL。
其中,如图3所示,还包括配置回写程序,回写程序包括根据请求到达时间顺序回写,执行结果缓存入派发器响应队列,按请求队列顺序逐个响应。
例如:用户建立的一个连接中通过上述并发手段进行的Select,Insert操作,但在响应阶段即回写packet时仍会按照请求顺序串行回写。
所述执行对应SQL的方法包括并发执行和串行执行,当接收的两个以上请求存在数据依赖关系,则在SessionContext对象中标记为串行执行。
其中,Listener对象实例包括相互独立的连接监听对象实例、Session监听对象实例和请求监听对象实例。即每个阶段均有独立的专有Listener对象,如图2所示的,ConnectionContext配置有感知连接相关的ConnectionContext Listener;SessionContext配置有Session变化相关的SessionContext Listener;ReqContext配置有感知请求数据相关的 Req Listener 。
每个请求均有独立的专有Listener对象;具体的,在每一次连接建立的时候同步进行Session和SessionContext的初始化,维护每个连接的私有属性和数据,在每次请求时进行ReqContext对象和Listener对象的初始化,具体包括每个请求的专有Listener对象的初始化,并在 SessionContext对象中根据connId进行ReqId和ReqContext、Listener 实例(每个请求的专有Listener对象)的binding(绑定关系)。
实施例2:公开一种基于MySQL协议的网关并发执行装置,包括如下结构:
连接初始化单元,其用于客户端连接,并在每次建立连接时,执行Session和SessionContext的初始化;
请求初始化单元,其用于用户请求的接收,并在每次接收请求时执行ReqContext对象和监听对象初始化,并在SessionContext对象中根据connID进行ReqId和ReqContext、Listener实例的绑定;
派发器单元,其用于将绑定后的请求压入请求队列,生成顺序递增ID;
执行单元,其用于顺序递增ID执行对应SQL。
其中,所述监听对象包括相互独立的连接监听、Session监听和请求监听
所述执行单元包括并发执行单元和串行执行单元,串行执行单元,用于当接收的两个以上请求存在数据依赖关系,根据SessionContext对象中的串行执行标记串行执行对应SQL。
装置还包括回写单元,其用于执行顺序回写程序,顺序回写程序包括根据请求到达时间顺序回写,执行结果缓存入派发器响应队列,按请求队列顺序逐个响应。
本发明还提出一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现基于MySQL协议的网关并发执行方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。
基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,本发明提出一种计算机存储介质,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行基于MySQL协议的网关并发执行方法。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.基于MySQL协议的网关执行方法,其特征在于,包括如下步骤:
每次建立连接时,执行Session和SessionContext的初始化;
每次接收请求时执行ReqContext对象和Listener对象初始化,并在SessionContext对象中根据connID进行ReqId和ReqContext、Listener对象实例的绑定;通过派发器将同一connID绑定的请求压入请求队列,生成顺序递增ID;当接收的两个以上请求不存在上下文关系时,则并发执行SQL,取得执行结果。
2.根据权利要求1所述的基于MySQL协议的网关执行方法,其特征在于,还包括回写方法,根据请求到达时间顺序回写,执行结果缓存入派发器响应队列,按请求队列顺序逐个响应。
3.根据权利要求1所述的基于MySQL协议的网关执行方法,其特征在于,其中,Listener对象包括相互独立的连接监听对象、Session监听对象和请求监听对象。
4.根据权利要求1所述的基于MySQL协议的网关执行方法,其特征在于,还包括串行执行,当接收的两个以上请求存在数据依赖关系,则在SessionContext对象中标记为串行执行。
5.基于MySQL协议的网关执行装置,其特征在于,包括如下结构:
连接初始化单元,其用于客户端连接,并在每次建立连接时,执行Session和SessionContext的初始化;
请求初始化单元,其用于用户请求的接收,并在每次接收请求时执行ReqContext对象和Listener对象初始化,并在SessionContext对象中根据connID进行ReqId和ReqContext、Listener对象实例的绑定;
派发器单元,其用于将绑定后的请求压入请求队列,生成顺序递增ID;
执行单元,其用于当接收的两个以上请求不存在上下文关系时,则并发执行SQL。
6.根据权利要求5所述的基于MySQL协议的网关执行装置,其特征在于,其中,所述Listener对象包括相互独立的连接监听对象、Session监听对象和请求监听对象。
7.根据权利要求5所述的基于MySQL协议的网关执行装置,其特征在于,所述执行单元包括并发执行单元和串行执行单元,串行执行单元,用于当接收的两个以上请求存在上下文关系,根据SessionContext对象中的串行执行标记串行执行对应SQL。
8.根据权利要求5所述的基于MySQL协议的网关执行装置,其特征在于,还包括回写单元,其用于执行顺序回写程序,顺序回写程序包括根据请求到达时间顺序回写,执行结果缓存入派发器响应队列,按请求队列顺序逐个响应。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-4中任一项所述的基于MySQL协议的网关执行方法。
10.一种计算机存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器调用实现权利要求1-4任一项所述的基于MySQL协议的网关执行方法。
CN202410459554.1A 2024-04-17 2024-04-17 基于MySQL协议的网关执行方法、装置和设备 Active CN118075059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410459554.1A CN118075059B (zh) 2024-04-17 2024-04-17 基于MySQL协议的网关执行方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410459554.1A CN118075059B (zh) 2024-04-17 2024-04-17 基于MySQL协议的网关执行方法、装置和设备

Publications (2)

Publication Number Publication Date
CN118075059A true CN118075059A (zh) 2024-05-24
CN118075059B CN118075059B (zh) 2024-07-12

Family

ID=91106205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410459554.1A Active CN118075059B (zh) 2024-04-17 2024-04-17 基于MySQL协议的网关执行方法、装置和设备

Country Status (1)

Country Link
CN (1) CN118075059B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019056733A1 (zh) * 2017-09-25 2019-03-28 平安科技(深圳)有限公司 并发量控制方法、应用服务器、***及存储介质
CN112230901A (zh) * 2020-10-29 2021-01-15 厦门市易联众易惠科技有限公司 一种基于异步io模型的网络编程框架***及方法
CN113420007A (zh) * 2021-03-31 2021-09-21 阿里巴巴新加坡控股有限公司 数据库访问的审计处理方法、装置及电子设备
CN114461668A (zh) * 2021-12-21 2022-05-10 天翼云科技有限公司 一种基于线程池的mysql数据库查询方法及装置
CN115495107A (zh) * 2022-10-08 2022-12-20 中银金融科技有限公司 一种版本部署方法、装置及电子设备
CN115796766A (zh) * 2022-11-14 2023-03-14 重庆市通信产业服务有限公司中冉信息分公司 高并发工作流的编排方法、装置、计算机设备及存储介质
US20230231811A1 (en) * 2012-05-22 2023-07-20 Xockets, Inc. Systems, devices and methods with offload processing devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230231811A1 (en) * 2012-05-22 2023-07-20 Xockets, Inc. Systems, devices and methods with offload processing devices
WO2019056733A1 (zh) * 2017-09-25 2019-03-28 平安科技(深圳)有限公司 并发量控制方法、应用服务器、***及存储介质
CN112230901A (zh) * 2020-10-29 2021-01-15 厦门市易联众易惠科技有限公司 一种基于异步io模型的网络编程框架***及方法
CN113420007A (zh) * 2021-03-31 2021-09-21 阿里巴巴新加坡控股有限公司 数据库访问的审计处理方法、装置及电子设备
CN114461668A (zh) * 2021-12-21 2022-05-10 天翼云科技有限公司 一种基于线程池的mysql数据库查询方法及装置
CN115495107A (zh) * 2022-10-08 2022-12-20 中银金融科技有限公司 一种版本部署方法、装置及电子设备
CN115796766A (zh) * 2022-11-14 2023-03-14 重庆市通信产业服务有限公司中冉信息分公司 高并发工作流的编排方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN118075059B (zh) 2024-07-12

Similar Documents

Publication Publication Date Title
WO2016177285A1 (zh) 一种数据推送方法及装置
CN111459418B (zh) 一种基于rdma的键值存储***传输方法
US9529846B2 (en) Data grid advisor
CA3131954C (en) Information synchronization method, system, apparatus, computer device and storage medium
CN109173270B (zh) 一种游戏服务***和实现方法
CN109120614B (zh) 基于分布式***的业务处理方法及装置
Li et al. Redis-based web server cluster session maintaining technology
TW201724001A (zh) 全域資訊獲取、處理及更新方法、裝置和系統
CN112751847A (zh) 接口调用请求的处理方法、装置、电子设备及存储介质
CN112866421B (zh) 基于分布式缓存以及nsq的智能合约运行方法及装置
Gao et al. Lazy update propagation for data replication in cloud computing
CN113746641B (zh) 一种基于分布式存储的odx协议处理方法
CN110764688A (zh) 对数据进行处理的方法和装置
US20200314632A1 (en) Policy enhancement for mixed capability devices
US20040139144A1 (en) Using web services to access computational grids by non-members of the grid
CN114003571A (zh) 数据处理方法、装置、电子设备及存储介质
WO2017015059A1 (en) Efficient cache warm up based on user requests
CN118075059B (zh) 基于MySQL协议的网关执行方法、装置和设备
CN113377817A (zh) 数据处理方法、***、设备及存储介质
CN115840862B (zh) 一种网络靶场大规模场景中靶标的快速查询方法与***
US10110670B2 (en) Allocation of service endpoints to servers
CN111209263A (zh) 数据存储方法、装置、设备及存储介质
CN111478932B (zh) 智能合约数据的处理方法、区块链网络及存储介质
CN112463748A (zh) 一种存储***文件锁标识方法、***、终端及存储介质
CN112565286A (zh) 一种基于rpc访问的任务响应方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20240619

Address after: 310000 rooms 203 and 204, block B, No. 51, Xiba Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou shiatomic Technology Co.,Ltd.

Country or region after: China

Address before: Room 203, Building 12, Zone A, Yangtze River Digital Base, No. 7 Pudong North Road, Jiangbei New Area, Nanjing City, Jiangsu Province, 210000

Applicant before: Nanjing Shiato Technology Co.,Ltd.

Country or region before: China

GR01 Patent grant