本发明涉及数据库,特别是涉及一种用于终止任务执行的方法、存储介质与设备。
背景技术:
1、odbc(open database connectivity,开放数据库互连)用于在不同的操作系统和编程语言中访问不同类型的数据库管理系统。odbc由三部分组成:应用程序、驱动程序管理器以及驱动程序。odbc的工作流程为:首先,应用程序调用函数接口;其次,驱动程序管理器根据应用程序的调用而确定所使用的驱动程序,最后再由驱动程序在数据库和应用程序间建立通信。在通过驱动程序建立连接后便会生成一个连接句柄。语句句柄是在连接句柄的基础上进行申请的,一个连接句柄可申请多个语句句柄。
2、在使用语句句柄执行任务的过程中,如果需要终止某一项任务执行时,现有的方法是获取到任务正在使用的语句句柄,而后再调用取消语句句柄的方法进行取消。在实际使用中,经常在一个连接句柄上申请多个语句句柄。当需要终止一个连接句柄申请的所有语句句柄执行的任务时,使用现有的方法,便需要获取到连接句柄申请的语句句柄,并调用sqlcancel函数逐个进行取消。由于这种方式无法第一时间查找到需要终止任务的语句句柄,所以这种方式存在业务效率低的问题。
技术实现思路
1、鉴于上述问题,本发明提供了一种用于终止任务执行的方法、存储介质与设备,用于解决上述现有技术中由于需要逐一取消语句句柄而导致业务效率低的问题。
2、具体地,本发明提供了一种用于终止任务执行的方法,包括:
3、判断待取消句柄是否为连接句柄;
4、若是,则获取所述待取消句柄所申请的语句句柄,并获取各所述语句句柄的状态信息;
5、据所述状态信息分别对各所述语句句柄进行取消处理,以批量终止所述待取消句柄上的所有任务。
6、根据本发明的一个实施例,所述的据所述状态信息分别对各所述语句句柄进行取消处理,包括:
7、若所述语句句柄处于正在执行状态,则根据所述语句句柄建立副本,并根据副本建立取消包,以及建立与服务器的临时连接;
8、将所述取消包通过所述临时连接发送给所述服务器,以终止所述语句句柄执行的任务。
9、根据本发明的一个实施例,所述取消包设置有所述语句句柄的进程标识、取消请求代码和取消身份验证代码。
10、根据本发明的一个实施例,在所述的将所述取消包通过所述临时连接发送给所述服务器后,还包括:
11、当所述服务器关闭所述临时连接后,释放所述副本。
12、根据本发明的一个实施例,所述的据所述状态信息分别对各所述语句句柄进行取消处理,包括:
13、若所述语句句柄处于等待参数数据状态,则释放所述语句句柄的缓冲区,并重置处于所述语句句柄的状态。
14、根据本发明的一个实施例,所述的据所述状态信息分别对各所述语句句柄进行取消处理,还包括:
15、若所述语句句柄处于空闲状态,则将所述语句句柄作为任务已经取消的语句句柄。
16、根据本发明的一个实施例,所述的判断是否需要取消连接句柄,包括:
17、获取输入数据,所述输入数据包括所述待取消句柄,以及所述待取消句柄的句柄类型;
18、根据所述输入数据,确定所述待取消句柄是否为连接句柄。
19、根据本发明的一个实施例,在所述的获取输入数据之后,还包括:
20、当所述待取消句柄为语句句柄时,通过预设取消函数取消所述待取消句柄。
21、根据本发明的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一项实施例所述的用于终止任务执行的方法。
22、根据本发明的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一项实施例所述的用于终止任务执行的方法。
23、本发明所提供的技术方案,当待取消句柄为连接句柄时,首先获取待取消句柄所申请的语句句柄的状态信息,并根据各语句句柄的状态信息分别对各语句句柄进行取消处理,以批量终止待取消句柄上的所有任务。由于本终止任务执行的方法在执行过程中运用了批量处理的处理方法,不需要采用取消函数逐个取消各语句句柄,因此与现有技术相比,本发明所提供的技术方案可以在取消连接句柄时提高业务效率。
24、进一步地,本发明的技术方案,通过判断获取数据中参数类型的方法来调用不同的方法,在保留原有的功能的基础上,新增了本方案所设计的功能,更大程度上的为使用人员提供便利。
25、根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
1.一种用于终止任务执行的方法,其特征在于,包括:
2.根据权利要求1所述的用于终止任务执行的方法,其特征在于,
3.根据权利要求2所述的用于终止任务执行的方法,其特征在于,
4.根据权利要求2所述的用于终止任务执行的方法,其特征在于,
5.根据权利要求1所述的用于终止任务执行的方法,其特征在于,
6.根据权利要求1所述的用于终止任务执行的方法,其特征在于,
7.根据权利要求1所述的用于终止任务执行的方法,其特征在于,
8.根据权利要求7所述的用于终止任务执行的方法,其特征在于,
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的用于终止任务执行的方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的用于终止任务执行的方法。