CN115858592A - 数据库操作的处理方法、存储介质与计算机设备 - Google Patents
数据库操作的处理方法、存储介质与计算机设备 Download PDFInfo
- Publication number
- CN115858592A CN115858592A CN202310014636.0A CN202310014636A CN115858592A CN 115858592 A CN115858592 A CN 115858592A CN 202310014636 A CN202310014636 A CN 202310014636A CN 115858592 A CN115858592 A CN 115858592A
- Authority
- CN
- China
- Prior art keywords
- physical connection
- database
- linked list
- session
- client
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种数据库操作的处理方法、存储介质与计算机设备。其中上述方法包括:将客户端会话连接至预先设立的虚拟连接之中;获取数据库的物理连接链表;判断物理连接链表中是否存在与客户端会话对应的物理连接;若否,则通过虚拟连接为客户端会话创建对应的物理连接,并在物理连接链表中记录物理连接的信息;通过物理连接执行数据库操作,并将得到的结果集存储在物理连接的缓存之中。这中操作方法,在面对多个请求时,客户端只需要根据每个请求新建对应的会话连接至数据库系统对外暴露的虚拟连接,虚拟连接会自主生成对应的物理连接。由此,降低了数据库使用的复杂度,并且能够实现物理连接的复用,节省了数据库系统的资源。
Description
技术领域
本发明涉及数据库技术,特别是涉及一种数据库操作的处理方法、存储介质与计算机设备。
背景技术
在一些数据库使用场景中,用户在一个连接中使用数据库操作语句时,首先数据库会在连接之中存储数据库操作的结果集,随后需要用户使用获取数据的操作来得到结果集之中的数据。
当用户使用了数据库操作语句之后,并没有获取结果集中的数据时,又需要执行另外一个数据库操作,现有的一种做法是应用程序必须先处理或者取消连接之中已有的结果集,然后才能对该连接执行其他数据库操作。同时,在应用端的代码逻辑中,对于多个操作语句须由多个物理连接来执行,如此,用户操作数据库的步骤会非常繁琐,尤其是当同时需要执行多个数据库操作语句时会提升用户操作数据库的复杂度,造成较差的使用体验。
发明内容
本发明的一个目的是要减少使用数据库引擎操作多活动结果集的复杂度。
本发明一个进一步的目的是允许多种不同类型的数据库操作语句的交错执行。
本发明一个进一步的目的是提升数据库使用的便利性。
特别地,本发明提供了一种数据库操作的处理方法,其包括:
获取客户端会话请求;
将客户端会话连接至数据库预先设立的虚拟连接之中;
获取数据库的物理连接链表,物理连接链表用于记录数据库的物理连接信息;
判断物理连接链表中是否存在与客户端会话对应的物理连接;
若否,则通过虚拟连接为客户端会话创建对应的物理连接,并在物理连接链表中记录客户端会话对应的物理连接的信息;
通过物理连接执行数据库操作,并将数据库操作得到的结果集存储在物理连接的缓存之中。
可选地,获取数据库的物理连接链表的步骤包括:
判断数据库中是否存在物理连接链表:
若是,则执行判断物理连接链表中是否存在与客户端会话对应的物理连接的步骤。
可选地,判断数据库中是否存在物理连接链表的步骤之后还包括:
若数据库中不存在物理连接链表,则创建物理连接链表。
可选地,判断物理连接链表中是否存在与客户端会话对应的物理连接的步骤之后还包括:
若是,判断物理连接是否正在使用;
在物理连接没有使用的情况下,通过虚拟连接为物理连接与客户端会话建立关联关系,并在物理连接链表中更新物理连接的信息;
通过物理连接执行数据库操作,并将结果集存储在物理连接之中。
可选地,判断物理连接是否正在使用的步骤之后还包括:
在物理连接正在被其他会话使用的情况下,等待物理连接使用完毕;
在物理连接使用完毕之后,通过虚拟连接为物理连接与客户端会话建立关联关系,并在物理连接链表中更新物理连接的信息;
通过物理连接执行数据库操作,并将结果集存储在物理连接之中。
可选地,通过物理连接执行数据库操作,并将数据库操作得到的结果集存储在物理连接的缓存之中的步骤之后还包括:
在客户端会话中开始获取结果集时,判断在物理连接链表中是否存在与客户端会话对应的物理连接;
若是,则判断物理连接的缓存中是否存在结果集;
在物理连接的缓存中存在结果集的情况下,将结果集中的数据返回给客户端。
可选地,判断在物理连接链表中是否存在与客户端会话对应的物理连接的步骤之后还包括:
在物理连接链表中不存在与客户端会话对应的物理连接情况下,输出提示信息并返回。
可选地,判断物理连接的缓存中是否存在结果集的步骤之后还包括:
在物理连接中不存在结果集的情况下,输出提示信息并返回。
根据本发明的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的数据库操作的处理方法。
根据本发明的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据库操作的处理方法。
本发明的数据库操作的处理方法,面对来自客户端的请求,客户端新建会话与服务端预设的虚拟连接相关联,然后获取数据库内部的物理连接链表,在物理连接链表中查看是否存在与此会话相对应的物理连接,若存在,则直接使用对应的物理连接,并通过虚拟连接为此会话和该物理连接建立关联关系;若不存在,则创建此会话对应的物理连接,并通过虚拟连接建立关联关系;然后更新物理连接链表中的信息,接着通过该物理连接对数据库执行操作,将结果集存储在该物理连接的缓存之中,等待客户端获取。该方法将原本需要客户端创建的物理连接封装在服务端之中,客户端在执行多个请求时,只需要建立多个会话,全部与应用端预设的虚拟连接相关联,在服务端内部,便会通过该虚拟连接自主地在物理连接链表中查询该会话对应的物理连接,若没有该会话对应的物理连接便会自动创建,随后通过虚拟连接将客户端会话与该物理连接相关联,通过该物理连接执行后续操作。这样减少了客户端操作数据库的复杂度,提升了数据库引擎使用的便利性。
进一步地,本发明的数据库操作的处理方法,客户端发送多个数据库操作请求时,只需要创建多个会话连接数据库应用端中的虚拟连接,该虚拟连接会自动为每个会话匹配或创建对应的物理连接,随后通过物理连接对数据库进行操作,并将结果集存储在各个物理连接自身的缓存之中。这样能够实现多个不同操作请求在数据库引擎中的交错执行互不影响的目的,提升数据库引擎的性能和客户端操作数据库的便利性。
进一步地,本发明的数据库操作的处理方法,在客户端发送获取结果集数据的请求时,通过该虚拟连接在数据库内部的物理连接链表中获取该会话对应的物理连接中的结果集信息,若不存在该会话对应的物理连接,或该会话对应的物理连接的缓存中不存在结果集,则返回相应的提示信息给客户端。这样做可以在客户端发送请求之后,在有其他数据库操作请求执行时,也可以通过原先会话获取请求对应的结果集信息,不需要客户端新建物理连接,降低了客户端操作数据库的复杂度,提升数据库引擎使用的便利性。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本发明一个实施例的数据库操作的处理方法的流程示意图;
图2是根据本发明一个实施例的数据库操作的处理方法的数据库运行的架构示意图;
图3是根据本发明另一个实施例的数据库操作的处理方法的数据库首次执行操作的流程示意图;
图4是根据本发明另一个实施例的数据库操作的处理方法的数据库第二次及后续多次执行操作的流程示意图;
图5是根据本发明一个实施例的数据库操作的处理方法的数据库在执行操作时内部关系示意图;
图6是根据本发明一个实施例的数据库操作的处理方法的数据库在获取操作数据时内部关系示意图;
图7是根据本发明一个实施例的数据库操作的处理方法的数据库根据客户端请求执行操作的流程示意图;
图8是根据本发明一个实施例的数据库操作的处理方法的获取数据库操作结果集信息的流程示意图;
图9是根据本发明一个实施例的数据库操作的处理方法中机器可读存储介质的示意图;以及
图10是根据本发明一个实施例的数据库操作的处理方法中计算机设备的示意图。
具体实施方式
本领域技术人员应当理解的是,下文所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,该一部分实施例旨在用于解释本发明的技术原理,并非用于限制本发明的保护范围。基于本发明提供的实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本发明的保护范围之内。
面对现有的数据库操作系统,用户在一个连接中使用数据库操作语句时,首先数据库会在连接之中存储数据库操作的结果集,随后需要用户使用获取数据的操作来得到结果集之中的数据。
当用户使用了数据库操作语句之后,并没有获取结果集中的数据时,又需要执行另外一个数据库操作,现有的一种做法是应用程序必须先处理或者取消连接之中已有的结果集,然后才能对该连接执行其他数据库操作。同时,在应用端的代码逻辑中,对于多个操作语句须由多个物理连接来执行,如此,用户操作数据库的步骤会非常繁琐,尤其是当同时需要执行多个数据库操作语句时会提升用户操作数据库的复杂度,造成较差的使用体验。本实施例的方法,通过将创建物理连接的步骤封装在数据库操作系统内部,从而使客户端在发出请求时,只需要新建会话将会话关联至预设的虚拟连接,随后数据库操作系统内部自动按照会话内容生成对应的物理连接。以此来减少客户端的操作复杂度。图1是根据本发明一个实施例的数据库操作的处理方法的流程示意图,该方法一般性地包括以下步骤:
步骤S101,获取客户端会话请求。
步骤S102,将客户端会话连接至数据库预先设立的虚拟连接之中。所谓虚拟连接是指:数据库管理系统对客户端开放的一个通道,在客户端发出请求时,原先客户端需要先新建会话,随后再新建一个物理连接,将此会话和物理连接相关联,才能执行后续操作,通过虚拟连接后,客户端在发出请求时,只需要新建会话,随后之间将会话关联至上述虚拟连接,虚拟连接在数据库管理系统内部会自主生成对应的物理连接,以此来减少客户端的操作复杂度,提升用户使用数据库管理系统的便利性。
步骤S103,获取数据库的物理连接链表。所谓物理连接链表,是在数据库管理系统内部建立的一个链表,用来存储或记录数据库中每个物理连接的工作信息。其中物理连接的工作信息可以包括以下的一种或多种:物理连接的工作状态、物理连接与客户端会话的关联关系以及物理连接内部的缓存信息。通过物理连接链表可以及时的查询每个物理连接的工作信息,同时,在现有的方法之中,每个新建会话会创建一个新的物理连接,当会话关闭之后,此物理连接也会随之销毁,而物理连接链表可以将已经使用完毕的物理连接仍然保留,当后续有能够匹配此物理连接的会话发出请求时,也可以再次复用。这样能够极大的节约了数据库管理系统的资源。
步骤S104,判断物理连接链表中是否存在与客户端会话对应的物理连接。本步骤是在客户端会话关联至数据库管理系统的虚拟连接之后,虚拟连接根据此会话在物理连接链表之中查询已经存在的物理连接是否存在能够匹配此会话的物理连接。
步骤S105,在步骤S104判断为否的情况下,通过虚拟连接为客户端会话创建对应的物理连接。若步骤S104判断为否,则表示物理连接链表之中不存在能够匹配此会话的物理连接,则在数据库管理系统内部为此会话创建对应的物理连接。
步骤S106,在物理连接链表中记录客户端会话对应的物理连接的信息。其中物理连接的信息可以包括以下的一种或多种:物理连接的工作状态、物理连接与客户端会话的关联关系以及物理连接内部的缓存信息。
步骤S107,通过物理连接执行数据库操作,并将得到的结果集存储在物理连接的缓存之中。
本方法的一种具体的实施例例如,当客户端需要对数据库中数据进行查询操作时,客户端新建会话向数据库管理系统发出请求,随后连接至数据管理系统的虚拟连接之中,虚拟连接根据此会话的内容在数据库管理系统内部的物理连接链表之中查询是否有能够匹配此次会话的物理连接,若不存在,则直接新建对应的物理连接,并将物理连接的工作信息动态地记录在物理连接链表之中,随后此物理连接通过客户端会话中的内容开始对数据库执行查询操作,将返回的结果集存储在物理连接自身的缓存之中。
本实施例的数据库操作的处理方法,通过虚拟连接将创建物理连接的过程封装在数据库管理系统内部,客户端只需要新建会话并将此会话连接至数据库管理系统对外暴露的虚拟连接即可,同时,数据库管理系统内部的物理连接链表通过记录物理连接的工作信息,来实现物理连接的复用。通过上述操作,减少了客户端发送请求的复杂度,无论一个或者多个请求,客户端只需要根据每个请求新建对应的会话连接至数据库管理系统对外暴露的虚拟连接即可,无需关心物理连接的创建,虚拟连接会在数据库内部根据物理连接链表自主生成对应的物理连接。由此,降低了数据库使用的复杂度,并且能够实现物理连接的复用,节省了数据库系统的资源。
图2是根据本发明一个实施例的数据库操作的处理方法的数据库运行的架构示意图。该示意图包括:
客户端201在发送请求时,新建会话与虚拟连接202相关联,虚拟连接202将数据库操作语句通过NetWork网络203与Server DB数据库服务器204进行通信数据交互,待ServerDB数据库服务器204将通信数据通过NetWork网络203将结果集数据返回给客户端。
图3是根据本发明另一个实施例的数据库操作的处理方法的数据库首次执行操作的流程示意图;该流程一般包括以下步骤:
在客户端301中,首次使用数据库时,客户端将会话请求1指定连接至数据库管理系统的虚拟连接之中。通过虚拟连接,客户端在使用数据库系统时,不再需要根据会话请求创建对应的物理连接,取而代之的只需要指定连接至数据库系统的虚拟连接之中即可,由此降低用户使用数据库的复杂度。
步骤S302,数据库系统开始执行。
步骤S303,创建物理连接链表。当数据库系统首次执行时,需要先创建物理连接链表。所谓物理连接链表,是在数据库管理系统内部建立的一个链表,用来存储或记录数据库中每个物理连接的工作信息。其中物理连接的工作信息可以包括以下的一种或多种:物理连接的工作状态、物理连接与客户端会话的关联关系以及物理连接内部的缓存信息。
步骤S304,创建物理连接。所谓物理连接,一般是指客户端在操作数据库时,所创的连接通道。
步骤S305,将物理连接与会话请求1进行关联。
步骤S306,将物理连接的信息记录至物理连接链表。
步骤S307,在数据库中执行操作。本步骤是指生成物理连接完毕,并将会话请求1与此物理连接相关联之后,开始在数据库中按照客户端会话请求1中的语句执行操作。
步骤S308,将数据库结果集存入该物理连接缓存之中。
步骤S309,客户端会话请求1开始请求获取结果数据。
步骤S310,根据会话请求1找到对应的物理连接。本步骤一般包括:通过虚拟连接找到会话请求1对应的物理连接,若没有找到则返回相应的提示信息。
步骤S311,在该物理连接中解析出对应结果集数据,返回给客户端。本步骤一般包括:在客户端会话请求对应的物理连接中解析该物理连接缓存中的结果集信息,按照客户端会话请求提取相应的数据并返回;若解析过程中发现物理连接的缓存中不存在对应结果集,则返回对应的提示信息给客户端。
本实施例在数据库首次执行时,先在数据库系统内部创建物理连接链表,随后根据客户端的会话请求建立对应的物理连接,接着将信息记录在物理连接链表中,最后通过此物理连接对数据库进行操作,并将得到的数据库结果集存储在物理连接的缓存中;在客户端需要获取数据时,通过虚拟连接在物理连接链表中找到此会话请求对应的物理连接,将物理连接缓存的结果集中的数据返回给客户端。这样客户端在想要操作数据库时,只需要新建会话,并将会话关联至数据库对外暴露的虚拟连接即可,降低了用户操作数据库的复杂度,提高了数据库系统使用的便利性。
图4是根据本发明另一个实施例的数据库操作的处理方法的数据库第二次及后续多次执行操作的流程示意图;该流程一般包括以下步骤:
在客户端401中,第二次及后续多次使用数据库时,客户端将单个或者多个会话请求指定连接至数据库管理系统的虚拟连接之中,本实施例一个具体的示例如会话请求2、会话请求3、会话请求4。通过虚拟连接,客户端在使用数据库系统时,不再需要根据会话请求创建对应的物理连接,取而代之的只需要指定连接至数据库系统的虚拟连接之中即可,由此降低用户使用数据库的复杂度。
需要说明的是,本实施例中关于会话请求的数量仅提供一个示例,具体数量可以由本领域专业人员根据实际情况确定。
步骤S402,数据库系统开始执行。
步骤S403,创建物理连接。所谓物理连接,一般是指客户端在操作数据库时,所创的连接通道。
步骤S404,物理连接关联会话请求。
步骤S405,将物理连接的信息记录至物理连接链表。所谓物理连接链表,是在数据库管理系统内部建立的一个链表,用来存储或记录数据库中每个物理连接的工作信息。其中物理连接的工作信息可以包括以下的一种或多种:物理连接的工作状态、物理连接与客户端会话的关联关系以及物理连接内部的缓存信息。
步骤S406,在数据库中执行操作。本步骤是指生成物理连接完毕,并将会话请求与此物理连接相关联之后,开始在数据库中按照关联的客户端会话请求中的语句执行操作。
步骤S407,将数据库结果集存入该物理连接缓存之中。
步骤S408,客户端会话开始请求获取结果数据。
步骤S409,根据会话请求找到对应的物理连接。本步骤一般包括:通过虚拟连接找到会话请求对应的物理连接,若没有找到则返回相应的提示信息。
步骤S410,在该物理连接中解析出对应结果集数据,返回给客户端。本步骤一般包括:在客户端会话请求对应的物理连接中解析该物理连接缓存中的结果集信息,按照客户端会话请求提取相应的数据并返回;若解析过程中发现物理连接的缓存中不存在对应结果集,则返回对应的提示信息给客户端。
本实施例在数据库第二次及后续多次处理客户端请求时,将客户端请求新建会话,并指定关联至虚拟连接中,随后根据客户端的会话请求建立对应的物理连接,接着将信息记录在物理连接链表中,最后通过此物理连接对数据库进行操作,并将得到的数据库结果集存储在物理连接的缓存中;在客户端需要获取数据时,通过虚拟连接在物理连接链表中找到此会话请求对应的物理连接,将物理连接缓存的结果集中的数据返回给客户端。这样客户端在想要操作数据库时,只需要新建会话,并将会话关联至数据库对外暴露的虚拟连接即可,降低了用户操作数据库的复杂度,提高了数据库系统使用的便利性。并且,当客户端同时发出多个请求时,数据库系统会为每个请求创建对应的物理连接,因此,客户端可以在执行查询操作期间也执行其他数据库操作,这样运行数据库多种操作的交错进行,提升了数据库的性能。
图5是根据本发明一个实施例的数据库操作的处理方法的数据库在执行操作时内部关系示意图;
需要说明的是,本示意图中会话和物理连接的数量仅是为了更清楚地了解本方法的一种具体例子,本领域专业人员需要根据实际情况,决定会话和物理连接的数量。
该示意图包括:会话1 501、会话2 502、会话3 503是客户端在发出请求时新建的会话,三者在实际上关联至虚拟连接504中,随后通过虚拟连接与物理连接1 505、物理连接2 506、物理连接3 507相关联。在逻辑关系中会话1 501与物理连接1 505、会话2 502与物理连接2 506、会话3 503与物理连接3 507是逻辑关联的关系。随后物理连接1 505、物理连接2 506、物理连接3 507三者均对数据库508执行操作,随后将得到的结果集存储在每个物理连接自身的缓存中。
图6是根据本发明一个实施例的数据库操作的处理方法的数据库在获取操作数据时内部关系示意图;
需要说明的是,本示意图中会话和物理连接的数量仅是为了更清楚地了解本方法的一种具体例子,本领域专业人员需要根据实际情况,决定会话和物理连接的数量。
该示意图包括:会话1 601、会话2 602、会话3 603是客户端在发出请求时新建的会话,三者在实际上关联至虚拟连接604中,随后通过虚拟连接与物理连接1 605、物理连接2 606、物理连接3 607相关联。当客户端想要获取数据时,会话1 601、会话2 602、会话3603会向虚拟连接604发出请求,随后虚拟连接604会根据每个会话找到对应的物理连接1605、物理连接2 606、物理连接3 607,随后将每个物理连接内部缓存的数据或者通过物理连接找到数据库608获取数据,接着将所获得的数据信息通过虚拟连接604按照对应关系返回给各个会话。
通过图5和图6的对应关系,这样客户端在想要操作数据库时只需要新建会话,并将会话关联至虚拟连接即可,数据库系统内部会根据对应关系生成相应的物理连接,由此来降低用户使用数据库的复杂度。并且,客户端能够同时发出多个请求,提高了数据库的性能以及使用的便利性。
图7是根据本发明一个实施例的数据库操作的处理方法的数据库根据客户端请求执行操作的流程示意图;该流程一般性地包括以下步骤:
步骤S701,客户端创建新会话。在客户端想要操作数据库时,需要创建与数据库系统的会话。
步骤S702,将新会话连接至虚拟连接。
步骤S703,判断物理连接链表是否存在。所谓物理连接链表,是在数据库管理系统内部建立的一个链表,用来存储或记录数据库中每个物理连接的工作信息。其中物理连接的工作信息可以包括以下的一种或多种:物理连接的工作状态、物理连接与客户端会话的关联关系以及物理连接内部的缓存信息。
步骤S704,在步骤S703判断为否的情况下,创建物理连接链表。
步骤S705,在步骤S703判断为是的情况下,判断物理连接链表中是否存在此会话对应的物理连接。
步骤S706,在步骤S704执行完毕或者步骤S705判断结果为否的情况下,创建物理连接,建立物理连接与会话的关联关系,将信息存入物理连接链表中。
步骤S707,在步骤S705判断结果为是的情况下,判断该物理连接是否正在使用。
步骤S708,在步骤S707判断结果为是的情况下,等待该物理连接操作结束。物理连接操作结束是指,该物理连接已经执行完毕自身对应的客户端会话中的请求,并将自身缓存中的结果集处理完毕之后,重新变为空闲状态。
步骤S709,在在步骤S707判断结果为否的情况下或者步骤S708执行完毕之后,开设执行数据库操作。
图8是根据本发明一个实施例的数据库操作的处理方法的获取数据库操作结果集信息的流程示意图;该流程一般性地包括以下步骤:
步骤S801,客户端发出获取数据请求。
步骤S802,判断此会话在物理连接链表中是否存在对应的物理连接。
步骤S803,在步骤S802判断结果为否的情况下,返回提示信息。当步骤S802判断结果为否,表示此会话并没有在数据库关联过物理连接,即此会话并没有在数据库中执行过操作,故返回提示信息给客户端。
步骤S804,在步骤S802判断结果为是的情况下,判断物理连接的缓存中是否存在结果集。
步骤S805,在步骤S804判断结果为否的情况下,返回提示信息。在步骤S804判断结果为否时,表示此会话虽然有对应的物理连接,但是物理连接中并不存在结果集信息,即表示该物理连接并没有对数据库执行操作或者没有执行完毕,导致该物理连接缓存中尚未存在结果集,因此,返回对应的提示信息给客户端。
步骤S806,在步骤S804判断结果为是的情况下,返回结果集信息。当步骤S804判断结果为是,表示此会话对应的物理连接在数据库中已经执行完毕并且得到了结果集,因此,解析该结果集信息,并将数据返回客户端。
通过图7和图8的实施例,首先获取数据库系统内部物理连接链表信息,随后根据客户端的会话请求查找是否存在可以复用的物理连接,若没有则新建物理连接,随后将物理连接与客户端会话的关联关系更新至物理连接链表中,最后通过此物理连接对数据库进行操作,并将得到的数据库结果集存储在物理连接的缓存中;在客户端需要获取数据时,通过虚拟连接在物理连接链表中找到此会话请求对应的物理连接,将物理连接缓存的结果集中的数据返回给客户端。这样客户端在想要操作数据库时,只需要新建会话,并将会话关联至数据库对外暴露的虚拟连接即可,降低了用户操作数据库的复杂度,提高了数据库系统使用的便利性。
本实施例还提供了一种机器可读存储介质和计算机设备。图9是根据本发明一个实施例的机器可读存储介质901的示意图,图10是根据本发明一个实施例的计算机设备1003的示意图。
机器可读存储介质901其上存储有机器可执行程序902,机器可执行程序902被处理器执行时实现上述任一实施例的数据库操作的处理方法。
计算机设备1003可以包括存储器1001、处理器1002及存储在存储器1001上并在处理器1002上运行的机器可执行程序902,并且处理器1002执行机器可执行程序902时实现上述任一实施例的数据库操作的处理方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,创建物理连接,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本实施例的描述而言,机器可读存储介质901可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。机器可读存储介质901的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,机器可读存储介质901甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
计算机设备1003可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备1003可以是云计算节点。计算机设备1003可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备1003可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算机设备1003可以包括适于执行存储的指令的处理器1002、在操作期间为所述指令的操作提供临时存储空间的存储器1001。处理器1002可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器1001可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
处理器1002可以通过系统互连(例如PCI、PCI-Express等)连接到适于将计算机设备1003连接到一个或多个I/O设备(输入/输出设备)的I/O接口(输入/输出接口)。I/O设备可以包括例如键盘和指示设备,其中指示设备可以包括触摸板或触摸屏等等。I/O设备可以是计算机设备1003的内置组件,或者可以是外部连接到计算设备的设备。
处理器1002也可以通过系统互连链接到适于将计算机设备1003连接到显示设备的显示接口。显示设备可以包括作为计算机设备1003的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备1003的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,NIC)可以适于通过系统互连将计算机设备1003连接到网络。在一些实施例中,NIC可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(WAN))、局域网(LAN)或因特网等等。远程设备可以通过网络连接到计算设备。
本实施例提供的流程图并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (10)
1.一种数据库操作的处理方法,包括:
获取客户端会话请求;
将所述客户端会话连接至所述数据库预先设立的虚拟连接之中;
获取所述数据库的物理连接链表,所述物理连接链表用于记录所述数据库的物理连接信息;
判断所述物理连接链表中是否存在与所述客户端会话对应的物理连接;
若否,则通过所述虚拟连接为所述客户端会话创建对应的物理连接,并在所述物理连接链表中记录所述客户端会话对应的物理连接的信息;
通过所述物理连接执行数据库操作,并将所述数据库操作得到的结果集存储在所述物理连接的缓存之中。
2.根据权利要求1所述的数据库操作的处理方法,其中,
所述获取所述数据库的物理连接链表的步骤包括:
判断所述数据库中是否存在所述物理连接链表:
若是,则执行判断所述物理连接链表中是否存在与所述客户端会话对应的物理连接的步骤。
3.根据权利要求2所述的数据库操作的处理方法,其中,
所述判断所述数据库中是否存在所述物理连接链表的步骤之后还包括:
若所述数据库中不存在所述物理连接链表,则创建所述物理连接链表。
4.根据权利要求1所述的数据库操作的处理方法,其中,
所述判断所述物理连接链表中是否存在与所述客户端会话对应的物理连接的步骤之后还包括:
若是,判断所述物理连接是否正在使用;
在所述物理连接没有使用的情况下,通过所述虚拟连接为所述物理连接与所述客户端会话建立关联关系,并在所述物理连接链表中更新所述物理连接的信息;
通过所述物理连接执行数据库操作,并将结果集存储在所述物理连接之中。
5.根据权利要求4所述的数据库操作的处理方法,其中,
所述判断所述物理连接是否正在使用的步骤之后还包括:
在所述物理连接正在被其他会话使用的情况下,等待所述物理连接使用完毕;
在所述物理连接使用完毕之后,通过所述虚拟连接为所述物理连接与所述客户端会话建立关联关系,并在所述物理连接链表中更新所述物理连接的信息;
通过所述物理连接执行数据库操作,并将结果集存储在所述物理连接之中。
6.根据权利要求1所述的数据库操作的处理方法,其中,
所述通过所述物理连接执行数据库操作,并将所述数据库操作得到的结果集存储在所述物理连接的缓存之中的步骤之后还包括:
在所述客户端会话中开始获取所述结果集时,判断在所述物理连接链表中是否存在与所述客户端会话对应的物理连接;
若是,则判断所述物理连接的缓存中是否存在所述结果集;
在所述物理连接的缓存中存在所述结果集的情况下,将所述结果集中的数据返回给客户端。
7.根据权利要求6所述的数据库操作的处理方法,其中,
所述判断在所述物理连接链表中是否存在与所述客户端会话对应的物理连接的步骤之后还包括:
在所述物理连接链表中不存在与所述客户端会话对应的物理连接情况下,输出提示信息并返回。
8.根据权利要求6所述的数据库操作的处理方法,其中,
所述判断所述物理连接的缓存中是否存在所述结果集的步骤之后还包括:
在所述物理连接中不存在所述结果集的情况下,输出提示信息并返回。
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的数据库操作的处理方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据库操作的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014636.0A CN115858592A (zh) | 2023-01-05 | 2023-01-05 | 数据库操作的处理方法、存储介质与计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014636.0A CN115858592A (zh) | 2023-01-05 | 2023-01-05 | 数据库操作的处理方法、存储介质与计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115858592A true CN115858592A (zh) | 2023-03-28 |
Family
ID=85656932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310014636.0A Pending CN115858592A (zh) | 2023-01-05 | 2023-01-05 | 数据库操作的处理方法、存储介质与计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858592A (zh) |
-
2023
- 2023-01-05 CN CN202310014636.0A patent/CN115858592A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020024408A1 (zh) | 测试装置、测试的方法及存储介质 | |
CN110557284B (zh) | 基于客户端网关的数据聚合方法及装置 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN112350861B (zh) | 日志获取方法、装置、计算机设备和存储介质 | |
WO2021022714A1 (zh) | 跨区块链节点的消息处理方法及装置、设备、介质 | |
CN116305240A (zh) | 一种可扩展的动态数据脱敏系统和方法 | |
CN111818145A (zh) | 一种文件传输方法、装置、系统、设备及存储介质 | |
CN111078424A (zh) | 一种信息交互方法、装置、计算机设备和存储介质 | |
CN114489622A (zh) | 静态资源管理方法、Node.js应用、电子设备和存储介质 | |
CN110069406A (zh) | 自动触发的tpc-ds测试方法以及系统 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及系统 | |
CN115858592A (zh) | 数据库操作的处理方法、存储介质与计算机设备 | |
CN111126604A (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN112769975B (zh) | 一种数据集成方法、装置、服务器及存储介质 | |
CN113986995A (zh) | 请求分发方法、装置、存储介质及电子设备 | |
CN110727422B (zh) | 一种基于前端同构框架下的多语言性能提升方法及系统 | |
CN113760703A (zh) | 一种Mock数据的生成方法、装置、设备及存储介质 | |
CN112437161A (zh) | 一种网络代理控制方法、装置及计算机可读存储介质 | |
CN115905299A (zh) | 数据库操作的处理方法、存储介质与计算机设备 | |
CN110134460B (zh) | 系统控制方法、控制器、处理器及计算机可读介质 | |
CN111124923B (zh) | 运行状态查询方法、装置、服务器设备及存储介质 | |
CN115129754A (zh) | 一种数据库的数据处理方法、存储介质及设备 | |
CN112308431A (zh) | 大数据指标管理方法、装置、设备及存储介质 | |
CN117614994A (zh) | 用于终止任务执行的方法、存储介质与设备 | |
CN116186076A (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 |