CN114138829B - 共享Prepare Statement的方法、系统和网络设备 - Google Patents

共享Prepare Statement的方法、系统和网络设备 Download PDF

Info

Publication number
CN114138829B
CN114138829B CN202010915259.4A CN202010915259A CN114138829B CN 114138829 B CN114138829 B CN 114138829B CN 202010915259 A CN202010915259 A CN 202010915259A CN 114138829 B CN114138829 B CN 114138829B
Authority
CN
China
Prior art keywords
global
execution
database
prepare
state
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.)
Active
Application number
CN202010915259.4A
Other languages
English (en)
Other versions
CN114138829A (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.)
Jinzhuan Xinke Co Ltd
Original Assignee
Jinzhuan Xinke 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 Jinzhuan Xinke Co Ltd filed Critical Jinzhuan Xinke Co Ltd
Priority to CN202010915259.4A priority Critical patent/CN114138829B/zh
Priority to PCT/CN2021/110957 priority patent/WO2022048390A1/zh
Priority to EP21863458.2A priority patent/EP4209923A4/en
Publication of CN114138829A publication Critical patent/CN114138829A/zh
Application granted granted Critical
Publication of CN114138829B publication Critical patent/CN114138829B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

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

Abstract

本发明实施方式涉及通信技术领域,公开了一种共享Prepare Statement的方法、系统和网络设备。共享Prepare Statement的方法包括:接收执行请求,其中,所述执行请求携带全局Prepare Statement对象的识别标识和执行参数;根据所述全局Prepare Statement对象的识别标识在全局Prepare Statement对象缓存池中查找对应的全局Prepare Statement对象,获取所述全局Prepare Statement对象,其中,所述全局Prepare Statement对象是编译过的结构化查询语言SQL语句;根据所述全局Prepare Statement对象和所述执行参数确定执行计划并执行。应用在访问分布式数据库的过程中,通过在全局Prepare Statement对象缓存池中获取Prepare Statement对象,而不需要缓存当前连接上的解析过的语句,达到共享Prepare Statement的目的。

Description

共享Prepare Statement的方法、系统和网络设备
技术领域
本申请实施例涉及通信技术领域,特别涉及一种共享Prepare Statement的方法、系统和网络设备。
背景技术
在分布式数据库的使用中,在中间件中引入连接池用以对数据库连接进行管理。当客户端需要访问数据库时,从连接池中选取一条已经建立的空闲连接;数据库连接使用结束后,客户端将连接放回连接池中,供下一个数据库访问请求使用,从而实现数据库连接的复用。
然而,在Prepare Statement模式下,由于连接没有被物理关闭,放回连接池中的连接会一直被Prepare Statement对象占用,而无法释放出空闲连接供下一个数据库访问请求使用,导致无法被下一个访问请求复用,无法共享Prepare Statement。
发明内容
本申请实施例的主要目的在于提出一种共享Prepare Statement的方法、系统和网络设备,旨在达到在全局Prepare Statement对象缓存池中获取Prepare Statement对象,而不需要缓存当前连接上的解析过的语句的目的,从而实现共享Prepare Statement的功能。
为实现上述目的,本申请实施方式提供了一种共享Prepare Statement的方法,包括:接收执行请求,其中,所述执行请求携带全局Prepare Statement对象的识别标识和执行参数;根据所述全局Prepare Statement对象的识别标识在全局Prepare Statement对象缓存池中查找全局Prepare Statement对象,获取所述全局Prepare Statement对象,其中,所述全局Prepare Statement对象是编译过的结构化查询语言SQL语句;根据所述全局Prepare Statement对象和所述执行参数确定执行计划并执行。
为实现上述目的,本申请实施例还提供了一种共享Prepare Statement的系统,包括:客户端,用于向中间件发送预备请求,接收创建成功响应,并根据所述创建成功响应向中间件发送执行请求;中间件,用于接收执行请求,其中,所述执行请求携带全局PrepareStatement对象的识别标识和执行参数;根据所述全局Prepare Statement对象的识别标识在全局Prepare Statement对象缓存池中查找全局Prepare Statement对象,获取所述全局Prepare Statement对象,其中,所述全局Prepare Statement对象是编译过的结构化查询语言SQL语句;根据所述全局Prepare Statement对象和所述执行参数确定执行指令并执行。数据库,用于接收执行请求,其中,所述执行请求携带全局Prepare Statement对象的识别标识和执行参数;根据所述全局Prepare Statement对象的识别标识在全局PrepareStatement对象缓存池中查找全局Prepare Statement对象,获取所述全局PrepareStatement对象,其中,所述全局Prepare Statement对象是编译过的结构化查询语言SQL语句;根据所述全局Prepare Statement对象和所述执行参数确定执行指令并执行。
为实现上述目的,本申请实施方式还提供了一种网络设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的共享Prepare Statement的方法。
本申请提出的共享Prepare Statement的方法、系统和网络设备,其通过接收执行请求,其中执行请求携带执行参数和全局Prepare Statement对象的识别标识,根据识别标识在缓存池中查找全局Prepare Statement对象,全局Prepare Statement对象与执行参数结合得到执行计划并执行,全局Prepare Statement对象不需要缓存当前连接上的解析过的语句,占用数据库连接,而是直接从已缓存在全局Prepare Statement对象缓存中查找获取全局Prepare Statement对象。可见,本技术方案,其可实现通过在全局PrepareStatement对象缓存池中获取Prepare Statement对象,而不需要缓存当前连接上的解析过的语句,来实现共享Prepare Statement的功能。
附图说明
图1是本发明的第一实施方式提供的共享Prepare Statement的方法的流程图一;
图2是本发明的第一实施方式提供的共享Prepare Statement的方法的流程图二;
图3是本发明的第二实施方式提供的共享Prepare Statement的方法的流程图;
图4是图3所示的本发明的第二实施方式提供的共享Prepare Statement的方法中步骤103的流程图;
图5是本发明的第三实施方式提供的共享Prepare Statement的方法的流程图;
图6是本发明的第四实施方式提供的共享Prepare Statement的方法的流程图;
图7是本发明的第五实施方式提供的共享Prepare Statement的系统的结构示意图;
图8是本发明的第六实施方式提供的网络设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种共享Prepare Statement的方法,应用在访问分布式数据库的过程中,其流程如图1所示,包括:
步骤101,接收执行请求,其中,执行请求携带全局Prepare Statement对象的识别标识和执行参数。
具体地说,在本实施方式中,执行参数是SQL语句的参数,对请求进行解析才可以获得,不可以直接获取,可以包括:Access数据库中的OleDb Parameter、MySql数据库中的MySql Parameter等。当然,以上仅为具体的举例说明,在实际的使用过程中执行参数还可以包括其他参数,此处不做一一赘述。
具体地说,本实施方式不对全局Prepare Statement对象的识别标识进行限定,在实际的使用过程中,全局Prepare Statement对象的识别标识可以为任意一种能够唯一指示全局Prepare Statement对象的标识。
步骤102,根据全局Prepare Statement对象的识别标识在全局PrepareStatement对象缓存池中查找全局Prepare Statement对象,获取全局Prepare Statement对象,其中,全局Prepare Statement对象是编译过的结构化查询语言SQL语句。
步骤103,根据全局Prepare Statement对象和执行参数确定执行计划并执行。
具体地说,在本实施方式中,执行计划是数据库服务器在执行SQL语句的时候,会准备几套方案,最后选择的消耗资源最小的方案。
需要说明的是,本实施方式的执行主体,可以是中间件,也可以是数据库。
需要说明的是,在本实施方式中,全局Prepare Statement对象缓存池用于缓存全局Prepare Statement对象,全局Prepare Statement对象缓存池中缓存的全局PrepareStatement对象可以是预先存储的,也可以是从客户端获取的。如果是预先存储的,该全局Prepare Statement对象可以由用户通过手动录入的方式进行存储;如果是从客户端获取的,如图2所示,在步骤101之前,还包括:
步骤201,接收预备请求,其中,预备请求包含结构化查询语言SQL语句。
步骤202,SQL语句是否能够匹配到全局PrepareStatement对象缓存池内的全局PrepareStatement对象。
具体地说,若未匹配到PrepareStatement对象,则SQL语句未执行过,执行步骤203,若匹配到PrepareStatement对象,则SQL语句执行过,执行步骤204。
步骤203,根据SQL语句生成全局Prepare Statement对象并插入全局PrepareStatement对象缓存池,生成全局Prepare Statement对象的识别标识和计数值,其中,计数值是全局Prepare Statement对象缓存池内全局Prepare Statement对象的数量。
本实施方式不对生成全局Prepare Statement对象的识别标识的策略进行限定,在实际的使用过程中可以根据具体需求设置选取策略,例如:策略可以按照生成的先后顺序生成识别标识,也可以为按照自定义的规律对识别标识进行生成,此处不做一一赘述。
步骤204,获取匹配到的全局Prepare Statement对象的识别标识。
步骤205,返回创建成功响应,其中,创建成功响应携带全局Prepare Statement对象的识别标识。
需要说明的是,本实施方式中数据库和中间件中产生的全局Prepare Statement对象是不完全相同的,一方面,全局Prepare Statement对象还包含SQL语句传达过程中的发送、接收关系,另一方面,中间件可能会对SQL语句进行改写,例如产生不同的SQL语句或者改写为多条SQL语句,从而发送给数据库的预备请求包含的SQL语句可能与客户端发送的预备请求包含的SQL语句不同。因此,中间件和数据库的全局Prepare Statement对象缓存池也会响应在缓存内容上的产生不同。
本发明实施方式相对于现有技术而言,客户端访问分布式数据库时,通过接收执行请求,其中执行请求携带执行参数和全局Prepare Statement对象的识别标识,根据识别标识在缓存池中查找全局Prepare Statement对象,全局Prepare Statement对象与执行参数结合得到执行计划并执行,全局Prepare Statement对象不需要缓存当前连接上的解析过的语句,占用数据库连接,而是直接从已缓存在全局Prepare Statement对象缓存中查找获取全局Prepare Statement对象。可见,本技术方案,其可实现通过在全局PrepareStatement对象缓存池中获取Prepare Statement对象,而不需要缓存当前连接上的解析过的语句,来实现共享Prepare Statement的功能,解决了现有技术无法共享PrepareStatement的问题。
本发明的第二实施方式涉及一种共享Prepare Statement的方法,该方法与本发明的第一实施方式提供的共享Prepare Statement的方法基本相同,其区别在于,应用在中间件上,如图3所示:
具体地,步骤203之后还包括:
步骤301,从连接池中选取一条空闲的数据库连接,连接数据库,并向数据库发送预备请求。
具体地说,在本实施方式中,连接池中保存有预先设置的多个数据库连接对象,可以直接从中选取数据库连接,用以连接数据库。
具体地说,在本实施方法中,预备请求中包含的SQL语句是经过中间件改写后的SQL语句。
步骤302,接收数据库返回的由数据库生成的全局PrepareStatement对象的识别标识并保存。
具体地说,在本实施方式中,由数据库生成的全局PrepareStatement对象的识别标识和由中间件生成的全局Prepare Statement对象的识别标识会被一起保存,从而保存由数据库生成的全局PrepareStatement对象和由中间件生成的全局Prepare Statement对象的对应关系。
具体地,如图4,步骤103包括:
步骤401,根据全局PrepareStatement对象的识别标识在全局PrepareStatement对象缓存池内查找全局PrepareStatement对象和数据库中的全局PrepareStatement对象的识别标识。
步骤402,根据全局PrepareStatement对象和执行参数生成执行计划。
步骤403,根据执行计划确定数据库节点和数据库的执行参数。
步骤404,将数据库的执行参数和数据库中的全局PrepareStatement对象的识别标识发送给数据库节点,供数据库进行响应。
需要说明的是,在本实施方式中,数据库中的全局PrepareStatement对象的识别标识可以与中间件中的全局PrepareStatement对象的识别标识相同;数据库中的全局PrepareStatement对象的识别标识也可以与中间件中的全局PrepareStatement对象的识别标识不同。本实施方式不对数据库中的全局PrepareStatement对象的识别标识和中间件中的全局PrepareStatement对象的识别标识的内容进行限定。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,将中间件中的连接池和全局PrepareStatement对象结合起来,充分利用现有资源,优化了预处理流程,节省了资源,提升了效率,切断了中间件与数据库节点之间的链路绑定,减少了同一时间后端链路的数量,提高了连接池的使用效率,降低了对后端单机数据库的连接压力。
本发明的第三实施方式涉及一种共享Prepare Statement的方法,该方法与本发明的第一实施方式提供的共享Prepare Statement的方法基本相同,其区别在于,应用在数据库上,如图5所示:
步骤501,接收中间件发送的预备请求,其中,预备请求包含结构化查询语言SQL语句。
具体的说,本步骤与第一实施例中的步骤201大致相同,此处不一一赘述。
步骤502,将SQL语句与全局PrepareStatement对象缓存池内的所有全局PrepareStatement对象进行匹配。
具体的说,本步骤与第一实施例中的步骤202相同,此处不一一赘述。
步骤503,根据SQL语句生成全局Prepare Statement对象并插入全局PrepareStatement对象缓存池,生成全局Prepare Statement对象的识别标识和计数值,其中,计数值是全局Prepare Statement对象缓存池内全局Prepare Statement对象的数量。
具体的说,本步骤与第一实施例中的步骤203相同,此处不一一赘述。
步骤504,获取匹配到的全局Prepare Statement对象的识别标识。
具体的说,本步骤与第一实施例中的步骤204相同,此处不一一赘述。
步骤505,返回中间件创建成功响应,其中,创建成功响应携带全局PrepareStatement对象的识别标识。
具体的说,本步骤与第一实施例中的步骤205大致相同,此处不一一赘述。
步骤506,接收中间件发送的执行请求,其中,执行请求携带全局PrepareStatement对象的识别标识和执行参数。
具体的说,本步骤与第一实施例中的步骤101大致相同,此处不一一赘述。
步骤507,根据全局Prepare Statement对象的识别标识在全局PrepareStatement对象缓存池中查找全局Prepare Statement对象,获取全局Prepare Statement对象,其中,全局Prepare Statement对象是编译过的结构化查询语言SQL语句。
具体的说,本步骤与第一实施例中的步骤102大致相同,此处不一一赘述。
步骤508,根据全局Prepare Statement对象和执行参数确定执行计划并按照执行计划对数据库进行处理。
具体的说,本步骤与第一实施例中的步骤102大致相同,此处不一一赘述。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,数据库对全局Prepare Statement对象进行存储,便于下一次访问数据库时直接利用,减少了硬解析的次数,优化了Prepared Statement流程,节省了资源,提升了效率。
本发明的第四实施方式涉及一种共享Prepare Statement的方法,该方法与本发明的第一实施方式提供的共享Prepare Statement的方法基本相同,其区别在于,还需要删除全局PrepareStatement对象,如图6所示:
步骤601,接收关闭请求,其中,关闭请求携带结构化查询语言SQL语句和全局PrepareStatement对象的识别标识。
具体地说,在本实施方式中,SQL语句是删除指令,全局PrepareStatement对象的识别标识对应的全局PrepareStatement对象是删除操作的对象。
步骤602,判断计数值是否等于预设的阈值。
具体地说,若计数值等于预设的阈值,执行步骤603,若计数值不等于预设的阈值,执行步骤604。
具体地说,在本实施方式中,预设的阈值是在每次启用时都会根据实际情况进行更新的值,反映当前配置的数量,不可以随意更改。
步骤603,根据所述全局PrepareStatement对象的识别标识在所述全局PrepareStatement对象缓存池内查找全局PrepareStatement对象,根据SQL语句删除全局PrepareStatement对象。
步骤604,返回关闭成功响应。
需要说明的时,在本实施方式中,执行主体可以是中间件,也可以是数据库,区别在于,如执行主体是中间件,当计数值不等于预设的阈值时,中间件直接返回关闭成功响应,而不会继续向数据库发送关闭请求。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,对已经缓存的全局PrepareStatement对象进行删除,将中间件和数据库中的全局PrepareStatement对象缓存池的空间释放出来,便于添加新的全局PrepareStatement对象,使得共享PrepareStatement的方法能够满足客户端内容多样的预备请求和执行请求,更加满足客户端需求。
本发明的第五实施方式涉及一种共享Prepare Statement的方法系统,如图7所示,包括:
客户端701,用于向中间件702发送预备请求,接收创建成功响应,并根据创建成功响应向中间件702发送执行请求。
中间件702,用于接收客户端701发送的执行请求,其中,执行请求携带全局Prepare Statement对象的识别标识和执行参数;根据全局Prepare Statement对象的识别标识在全局Prepare Statement对象缓存池中查找全局Prepare Statement对象,获取全局Prepare Statement对象,其中,全局Prepare Statement对象是编译过的结构化查询语言SQL语句;根据全局Prepare Statement对象和执行参数确定执行指令并执行。
数据库703,用于接收中间件704发送的执行请求,其中,执行请求携带全局Prepare Statement对象的识别标识和执行参数;根据全局Prepare Statement对象的识别标识在全局Prepare Statement对象缓存池中查找全局Prepare Statement对象,获取全局Prepare Statement对象,其中,全局Prepare Statement对象是编译过的结构化查询语言SQL语句;根据全局Prepare Statement对象和执行参数确定执行指令并执行。
本发明第六实施方式涉及一种网络设备,如图8所示,包括:
至少一个处理器801;以及,
与所述至少一个处理器801通信连接的存储器802;其中,
所述存储器802存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器801执行,以使所述至少一个处理器801能够执行本发明第一至第四实施方式所述的共享Prepare Statement的方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种共享Prepare Statement的方法,其特征在于,包括:
接收执行请求,其中,所述执行请求携带全局Prepare Statement对象的识别标识和执行参数;
根据所述全局Prepare Statement对象的识别标识在全局Prepare Statement对象缓存池中查找对应的全局Prepare Statement对象,获取所述全局Prepare Statement对象,其中,所述全局Prepare Statement对象是编译过的结构化查询语言SQL语句;
根据所述全局Prepare Statement对象和所述执行参数确定执行计划并执行。
2.根据权利要求1所述的共享Prepare Statement的方法,其特征在于,所述接收客户端发送的执行请求,其中,所述执行请求携带全局Prepare Statement对象的识别标识和执行参数之前,还包括:
接收预备请求,其中,所述预备请求包含结构化查询语言SQL语句;
将所述SQL语句与所述全局PrepareStatement对象缓存池内的所有全局PrepareStatement对象进行匹配;
若所述SQL语句未匹配到全局PrepareStatement对象,根据所述SQL语句生成所述全局Prepare Statement对象并插入所述全局Prepare Statement对象缓存池;
生成所述全局Prepare Statement对象的识别标识和计数值,其中,所述计数值是所述全局Prepare Statement对象缓存池内全局Prepare Statement对象的数量;
返回创建成功响应,其中,所述创建成功响应携带所述全局Prepare Statement对象的识别标识。
3.根据权利要求2所述的共享Prepare Statement的方法,其特征在于,若中间件接收客户端发送的预备请求,所述若所述SQL语句未执行过,根据所述SQL语句生成所述全局Prepare Statement对象并插入所述全局Prepare Statement对象缓存池之后,还包括:
从连接池中选取一条空闲的数据库连接,连接数据库;
利用所述数据库连接向所述数据库发送预备请求;
接收所述数据库返回的由所述数据库生成的全局Prepare Statement对象的识别标识并保存。
4.根据权利要求2或3所述的共享Prepare Statement的方法,其特征在于,还包括:
若所述SQL语句匹配到全局PrepareStatement对象,获取匹配到的全局PrepareStatement对象的识别标识;
返回创建成功响应,其中,所述创建成功响应携带所述全局Prepare Statement对象的识别标识。
5.根据权利要求1所述的共享Prepare Statement的方法,其特征在于,若中间件接收客户端发送的所述执行请求,所述根据所述全局Prepare Statement对象和所述执行参数确定执行计划并执行,包括:
根据所述全局PrepareStatement对象的识别标识在所述全局PrepareStatement对象缓存池内查找所述全局PrepareStatement对象和数据库中的全局PrepareStatement对象的识别标识;
根据所述全局PrepareStatement对象和所述执行参数生成执行计划;
根据所述执行计划确定数据库节点和数据库的执行参数;
将所述数据库的执行参数和所述数据库中的全局PrepareStatement对象的识别标识发送给所述数据库节点,供所述数据库进行响应。
6.根据权利要求1所述的共享Prepare Statement的方法,其特征在于,数据库接收客户端发送的所述执行请求时,所述根据所述全局Prepare Statement对象和所述执行参数确定执行计划并执行,包括:
根据所述全局PrepareStatement对象和所述执行参数生成执行计划;
根据所述执行计划对数据进行操作。
7.根据权利要求1所述的共享Prepare Statement的方法,其特征在于,还包括:
接收关闭请求,其中,所述关闭请求携带结构化查询语言SQL语句和全局PrepareStatement对象的识别标识;
判断计数值是否等于预设的阈值,其中,所述计数值是全局PrepareStatement对象缓存池内全局PrepareStatement对象的数量;
若所述计数值不等于所述预设的阈值,返回关闭成功响应。
8.根据权利要求7所述的一种共享Prepare Statement的方法,其特征在于,还包括:
若所述计数值等于所述预设的阈值,根据所述全局PrepareStatement对象的识别标识在所述全局PrepareStatement对象缓存池内查找全局PrepareStatement对象,根据所述SQL语句删除所述全局PrepareStatement对象。
9.一种共享Prepare Statement的系统,其特征在于,包括:
客户端,用于向中间件发送预备请求,接收创建成功响应,并根据所述创建成功响应向中间件发送执行请求;
中间件,用于接收执行请求,其中,所述执行请求携带全局Prepare Statement对象的识别标识和执行参数,根据所述全局Prepare Statement对象的识别标识在全局PrepareStatement对象缓存池中查找全局Prepare Statement对象,获取所述全局PrepareStatement对象,其中,所述全局Prepare Statement对象是编译过的结构化查询语言SQL语句,根据所述全局Prepare Statement对象和所述执行参数确定执行指令并执行;
数据库,用于接收执行请求,其中,所述执行请求携带全局Prepare Statement对象的识别标识和执行参数,根据所述全局Prepare Statement对象的识别标识在全局PrepareStatement对象缓存池中查找全局Prepare Statement对象,获取所述全局PrepareStatement对象,其中,所述全局Prepare Statement对象是编译过的结构化查询语言SQL语句,根据所述全局Prepare Statement对象和所述执行参数确定执行指令并执行。
10.一种网络设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任意一项所述的共享Prepare Statement的方法。
CN202010915259.4A 2020-09-03 2020-09-03 共享Prepare Statement的方法、系统和网络设备 Active CN114138829B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010915259.4A CN114138829B (zh) 2020-09-03 2020-09-03 共享Prepare Statement的方法、系统和网络设备
PCT/CN2021/110957 WO2022048390A1 (zh) 2020-09-03 2021-08-05 共享Prepare Statement的方法、系统、网络设备及存储介质
EP21863458.2A EP4209923A4 (en) 2020-09-03 2021-08-05 METHOD FOR SHARING A PREPARATION INSTRUCTION, SYSTEM, NETWORK DEVICE AND STORAGE MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010915259.4A CN114138829B (zh) 2020-09-03 2020-09-03 共享Prepare Statement的方法、系统和网络设备

Publications (2)

Publication Number Publication Date
CN114138829A CN114138829A (zh) 2022-03-04
CN114138829B true CN114138829B (zh) 2022-11-29

Family

ID=80438059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010915259.4A Active CN114138829B (zh) 2020-09-03 2020-09-03 共享Prepare Statement的方法、系统和网络设备

Country Status (3)

Country Link
EP (1) EP4209923A4 (zh)
CN (1) CN114138829B (zh)
WO (1) WO2022048390A1 (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728958B1 (en) * 1998-07-31 2004-04-27 Hewlett-Packard Development Company, L.P. Volatile resource manager with pre-prepare notification
US7174326B2 (en) * 2003-07-17 2007-02-06 Sybase, Inc. Database system providing methodology for prepared statement cloning
US7774372B2 (en) * 2007-05-16 2010-08-10 International Business Machines Corporation Computer program product and method for database management system supporting multiple temporary tables
KR101548834B1 (ko) * 2010-09-20 2015-08-31 퀄컴 인코포레이티드 클라우드 보조 증강 현실을 위한 적응적 프레임워크
US8996503B2 (en) * 2010-10-04 2015-03-31 Sybase, Inc. Query plan optimization for prepared SQL statements
CN102609263A (zh) * 2012-02-13 2012-07-25 浪潮集团山东通用软件有限公司 通过pb12实现webservice事务控制的组件及实现方法
CN103064964B (zh) * 2012-12-29 2016-04-20 天津南大通用数据技术股份有限公司 一种支持分布式事务的数据库的连接方法
CN106202416B (zh) * 2016-07-11 2018-10-02 腾讯科技(深圳)有限公司 列表数据写方法和装置、列表数据读取方法和装置
CN107391622B (zh) * 2017-07-06 2020-12-04 联动优势科技有限公司 一种数据访问方法及设备
CN111241589A (zh) * 2018-11-29 2020-06-05 华为技术有限公司 一种数据库系统、节点和方法

Also Published As

Publication number Publication date
EP4209923A4 (en) 2024-01-24
CN114138829A (zh) 2022-03-04
WO2022048390A1 (zh) 2022-03-10
EP4209923A1 (en) 2023-07-12

Similar Documents

Publication Publication Date Title
CN104954468A (zh) 资源的分配方法及装置
CN105988846B (zh) 页面加载方法及页面加载装置
CN111026782B (zh) 远程数据库对象的优化方法、装置、设备及存储介质
CN102075570A (zh) 一种基于关键字的http报文缓存机制的实现方法
CN105843867A (zh) 基于元数据模型的检索方法和基于元数据模型的检索装置
CN101673217B (zh) 一种实现远端程序调用的方法和系统
CN116226200A (zh) 一种基于bff架构的服务接口数据缓存方法、装置及设备
CN114138829B (zh) 共享Prepare Statement的方法、系统和网络设备
EP3968174A1 (en) Dynamic database query processing
CN115858551B (zh) 基于ldap的内存管理方法、装置、设备及存储介质
CN113132356A (zh) Udp报文的分发方法、设备及存储介质
US10402373B1 (en) Filesystem redirection
CN104360850A (zh) 一种业务代码处理方法及装置
US20220350748A1 (en) Consistent hashing for communication devices
CN115563412A (zh) 访问方法、代理服务器、电子设备及存储介质
CN112148739B (zh) 独立于加密数据库的密文索引方法及系统
US11057470B2 (en) Communication device and communication method for processing meta data
CN109688204B (zh) 基于ndn网络的文件下载方法、节点、终端
CN116204546A (zh) Sql预编译方法、装置、服务器和存储介质
CN101741889A (zh) 一种网络服务集中管理的方法、系统及服务器
CN111767311A (zh) 变量请求方法、系统、计算机设备和计算机可读存储介质
CN108846112B (zh) 绘制数据地图的方法及装置
CN113704369B (zh) 一种适配iot设备的系统及方法
CN116991333B (zh) 分布式数据存储方法、装置、电子设备及存储介质
CN113608703B (zh) 数据处理方法及装置

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
GR01 Patent grant
GR01 Patent grant