CN114138829B - 共享Prepare Statement的方法、系统和网络设备 - Google Patents
共享Prepare Statement的方法、系统和网络设备 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000002360 preparation method Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Images
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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
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对象是编译过的结构化查询语言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的方法。
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)
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 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
-
2020
- 2020-09-03 CN CN202010915259.4A patent/CN114138829B/zh active Active
-
2021
- 2021-08-05 WO PCT/CN2021/110957 patent/WO2022048390A1/zh unknown
- 2021-08-05 EP EP21863458.2A patent/EP4209923A4/en not_active Withdrawn
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 |