CN108170771A - 一种数据库高耗时查询的自动取消方法 - Google Patents

一种数据库高耗时查询的自动取消方法 Download PDF

Info

Publication number
CN108170771A
CN108170771A CN201711429136.4A CN201711429136A CN108170771A CN 108170771 A CN108170771 A CN 108170771A CN 201711429136 A CN201711429136 A CN 201711429136A CN 108170771 A CN108170771 A CN 108170771A
Authority
CN
China
Prior art keywords
request
server
inquiry
database
data
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
CN201711429136.4A
Other languages
English (en)
Other versions
CN108170771B (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.)
Fujian Star Software Co Ltd
Original Assignee
Fujian Star Software 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 Fujian Star Software Co Ltd filed Critical Fujian Star Software Co Ltd
Priority to CN201711429136.4A priority Critical patent/CN108170771B/zh
Publication of CN108170771A publication Critical patent/CN108170771A/zh
Application granted granted Critical
Publication of CN108170771B publication Critical patent/CN108170771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

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

Abstract

本发明提供一种数据库高耗时查询的自动取消方法,前端每次查询都携带有一个全新的唯一的请求ID,服务器接收到查询请求后将请求ID以及相关信息以Key‑Value的形势存入缓存,同时前端使用该请求ID定时发起请求保持跟服务器的连接,服务器接收到请求会持续刷新缓存时间。如果前端被关闭或刷新,则缓存时间不会被更新,数据就会过期,服务器则启动一个新线程取消对应的数据库查询作业,这样可以实现在前端关闭或者刷新的情况下,系统自动取消对应的数据库查询作业,服务器的查询结果无法返回给前端,对于耗时的数据库操作,采用此种自动取消的方法,可以极大的减少数据库压力。

Description

一种数据库高耗时查询的自动取消方法
技术领域
本发明涉及数据库的查询方法,特别涉及一种数据库高耗时查询的自动取消方法。
背景技术
有很多关系型数据库查询业务非常耗时,比如查询企业实时报表之类的,一次查询可能需要几分钟甚至更长。在很多时候,前端业务员因为网络原因或者耐心不足,未等到查询结果返回就刷新页面重复查询,或者直接关闭页面不查询。这个时候,刷新或者关闭页面时,之前的查询在数据库中仍然在继续执行,并未被中断。如果用户多次刷新页面,后端数据库就会重复执行多个任务,显然这些情况都会极大的增加数据库的负担。
发明内容
本发明要解决的技术问题,在于提供一种数据库高耗时查询的自动取消方法,实现在前端关闭或者刷新的情况下,系统自动取消对应的数据库查询作业。
本发明是这样实现的:一种数据库高耗时查询的自动取消方法,包括:
步骤S1、前端提交查询数据请求到服务器,请求的信息包括请求的信息以及全新且唯一的请求ID,同时前端使用这个请求ID定时发起请求跟服务器保持通讯;
步骤S2、服务器接收到查询数据请求并去执行数据库查询的时候,将请求ID以及数据库连接对象的相关信息保存到本地缓存中;
步骤S3、前端在等待数据库返回结果的时候,定时使用请求ID跟服务器保持通讯,服务器每接收到前端的请求ID,刷新缓存中跟此请求ID关联的数据库连接对象的相关信息的时间;
步骤S4、在服务器刷新缓存的数据的期间,如果前端页面被关闭或者被刷新时,则之前的那个请求ID不会再跟服务器保持通讯,那么缓存中的数据则会过期,服务器发现过期的连接信息,则会取出数据库连接对象的相关信息,并发起停止数据库查询的命令,取消数据库执行的任务;如果前端页面一直无异常状况发生,则服务器查询结束后,将数据库连接对象的相关信息从缓存中移除。
进一步的,所述步骤S2中,如果服务器是分布式的,则对请求ID进行哈希取模,以保证同一个请求ID的请求都分发到同一台服务器上。
进一步的,所述步骤S2中,服务器将请求ID以及数据库连接对象的相关信息是以Key-Value的形式保存到本地缓存中。
进一步的,所述步骤S4中,服务器发起停止数据库查询的命令是通过启动一个新线程来实现。
本发明具有如下优点:本发明前端每次查询都携带有一个全新的唯一的请求ID,服务器接收到查询请求后将请求ID以及相关信息以Key-Value的形势存入缓存,同时前端使用该请求ID定时发起请求保持跟服务器的连接,后端服务器接收到请求会持续刷新缓存时间,用户关闭页面或者刷新页面的时候,当前的查询请求已经失效,后端服务器查询结果已经无法返回给前端了,对于耗时的数据库操作,采用此种自动取消的方法,可以极大地减少数据库压力。
具体实施方式
本发明的数据库高耗时查询的自动取消方法,包括:
步骤S1、前端提交查询数据请求到服务器,请求的信息包括请求的信息以及全新且唯一的请求ID,一般使用UUID,同时前端使用这个请求ID定时发起请求跟服务器保持通讯,定时发起请求的频率可以根据实际情况配置,比如每隔1秒发起一次;
步骤S2、服务器接收到查询数据请求并去执行数据库查询的时候,将请求ID以及数据库连接对象的相关信息以Key-Value的形式保存到本地缓存中;如果服务器是分布式的,则对请求ID进行哈希取模,以保证同一个请求ID的请求都分发到同一台服务器上;
步骤S3、前端在等待数据库返回结果的时候,定时使用请求ID跟服务器保持通讯,服务器每接收到前端的请求ID,刷新缓存中跟此请求ID关联的数据库连接对象的相关信息的时间;
步骤S4、在服务器刷新缓存的数据的期间,如果前端页面被关闭或者被刷新时,则之前的那个请求ID不会再跟服务器保持通讯,那么缓存中的数据则会过期,服务器发现过期的连接信息,则会取出数据库连接对象的相关信息,并启动一个新线程发起停止数据库查询的命令,取消数据库执行的任务;如果前端页面一直无异常状况发生,则服务器查询结束后,将数据库连接对象的相关信息从缓存中移除。
本发明具有如下优点:本发明前端每次查询都携带有一个全新的唯一的请求ID,服务器接收到查询请求后将请求ID以及相关信息以Key-Value的形势存入缓存,同时前端使用该请求ID定时发起请求保持跟服务器的连接,后端服务器接收到请求会持续刷新缓存时间,用户关闭页面或者刷新页面的时候,当前的查询请求已经失效,后端服务器查询结果已经无法返回给前端了,对于耗时的数据库操作,采用此种自动取消的方法,可以极大地减少数据库压力。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (4)

1.一种数据库高耗时查询的自动取消方法,其特征在于:包括:
步骤S1、前端提交查询数据请求到服务器,请求的信息包括请求的信息以及全新且唯一的请求ID,同时前端使用这个请求ID定时发起请求跟服务器保持通讯;
步骤S2、服务器接收到查询数据请求并去执行数据库查询的时候,将请求ID以及数据库连接对象的相关信息保存到本地缓存中;
步骤S3、前端在等待数据库返回结果的时候,定时使用请求ID跟服务器保持通讯,服务器每接收到前端的请求ID,刷新缓存中跟此请求ID关联的数据库连接对象的相关信息的时间;
步骤S4、在服务器刷新缓存的数据的期间,如果前端页面被关闭或者被刷新时,则之前的那个请求ID不会再跟服务器保持通讯,那么缓存中的数据则会过期,服务器发现过期的连接信息,则会取出数据库连接对象的相关信息,并发起停止数据库查询的命令,取消数据库执行的任务;如果前端页面一直无异常状况发生,则服务器查询结束后,将数据库连接对象的相关信息从缓存中移除。
2.根据权利要求1所述的一种数据库高耗时查询的自动取消方法,其特征在于:所述步骤S2中,如果服务器是分布式的,则对请求ID进行哈希取模,以保证同一个请求ID的请求都分发到同一台服务器上。
3.根据权利要求2所述的一种数据库高耗时查询的自动取消方法,其特征在于:所述步骤S2中,服务器将请求ID以及数据库连接对象的相关信息是以Key-Value的形式保存到本地缓存中。
4.根据权利要求1所述的一种数据库高耗时查询的自动取消方法,其特征在于:所述步骤S4中,服务器发起停止数据库查询的命令是通过启动一个新线程来实现。
CN201711429136.4A 2017-12-26 2017-12-26 一种数据库高耗时查询的自动取消方法 Active CN108170771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711429136.4A CN108170771B (zh) 2017-12-26 2017-12-26 一种数据库高耗时查询的自动取消方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711429136.4A CN108170771B (zh) 2017-12-26 2017-12-26 一种数据库高耗时查询的自动取消方法

Publications (2)

Publication Number Publication Date
CN108170771A true CN108170771A (zh) 2018-06-15
CN108170771B CN108170771B (zh) 2022-04-12

Family

ID=62520720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711429136.4A Active CN108170771B (zh) 2017-12-26 2017-12-26 一种数据库高耗时查询的自动取消方法

Country Status (1)

Country Link
CN (1) CN108170771B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489353A (zh) * 2002-07-26 2004-04-14 Lg������ʽ���� 高速数据通信系统的过载控制方法
CN1984084A (zh) * 2006-04-03 2007-06-20 华为技术有限公司 一种实现信息搜集和交换的系统及方法
CN101043388A (zh) * 2007-03-27 2007-09-26 杭州华为三康技术有限公司 检测Web接入用户终端是否在线的方法、设备和系统
CN101090401A (zh) * 2007-05-25 2007-12-19 金蝶软件(中国)有限公司 一种群集环境下的数据缓存方法及系统
AU2012201452A1 (en) * 2011-03-29 2012-10-18 Nelson Irrigation Corporation Method and apparatus for irrigation system design registration and on-site sprinkler package configuration verification
CN103544036A (zh) * 2013-10-23 2014-01-29 北京荣之联科技股份有限公司 页面加载方法、终端及系统
CN105243072A (zh) * 2014-07-11 2016-01-13 北京神州泰岳软件股份有限公司 一种数据库查询方法及系统
CN106326489A (zh) * 2016-09-09 2017-01-11 腾讯科技(深圳)有限公司 网络资源更新的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489353A (zh) * 2002-07-26 2004-04-14 Lg������ʽ���� 高速数据通信系统的过载控制方法
CN1984084A (zh) * 2006-04-03 2007-06-20 华为技术有限公司 一种实现信息搜集和交换的系统及方法
CN101043388A (zh) * 2007-03-27 2007-09-26 杭州华为三康技术有限公司 检测Web接入用户终端是否在线的方法、设备和系统
CN101090401A (zh) * 2007-05-25 2007-12-19 金蝶软件(中国)有限公司 一种群集环境下的数据缓存方法及系统
AU2012201452A1 (en) * 2011-03-29 2012-10-18 Nelson Irrigation Corporation Method and apparatus for irrigation system design registration and on-site sprinkler package configuration verification
CN103544036A (zh) * 2013-10-23 2014-01-29 北京荣之联科技股份有限公司 页面加载方法、终端及系统
CN105243072A (zh) * 2014-07-11 2016-01-13 北京神州泰岳软件股份有限公司 一种数据库查询方法及系统
CN106326489A (zh) * 2016-09-09 2017-01-11 腾讯科技(深圳)有限公司 网络资源更新的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
沉浸其中: "sqlserver连接池,为什么我的一个页面每刷新一次,数据库连接池就多一个链接数,同个网站下的别的页面", 《HTTPS://BBS.CSDN.NET/TOPICS/390694830》 *

Also Published As

Publication number Publication date
CN108170771B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
US10810268B2 (en) High-throughput distributed transaction management for globally consistent sharded OLTP system and method of implementing
US10250693B2 (en) Idempotence for database transactions
US10025710B2 (en) Pattern for integrating primary and secondary data stores in a sharded data domain
US8924346B2 (en) Idempotence for database transactions
RU2417427C2 (ru) Управление параллельным выполнением в системе планирования ресурсов предприятия
CN105630819B (zh) 一种缓存数据的刷新方法和装置
CN106844014A (zh) 分布式事务防悬挂的实现方法和装置
US9445162B2 (en) Interactive personal/internet protocol television reservation system, reservation plan management method and device
CN109714443A (zh) 域名服务器、域名备份方法和计算机可读存储介质
US20070143368A1 (en) Conflict resolution in highly available network element
US20230004576A1 (en) Data synchronization method and device for databases, and storage medium
US20200192875A1 (en) Documenting modifications to configuration file
EP2501106B1 (en) System and method for session synchronization with independent external systems
WO2017128028A1 (zh) 一种事务处理方法及装置
US20200034472A1 (en) Asynchronous cache coherency for mvcc based database systems
US11061889B2 (en) Systems and methods of managing manifest refresh in a database
KR20150075407A (ko) 데이터를 저장하고 검색하는 방법 및 시스템
US10901854B2 (en) Temporal logical transactions
CN109062717B (zh) 数据缓存及缓存容灾方法和系统、缓存系统
CN108170771A (zh) 一种数据库高耗时查询的自动取消方法
CN110750289B (zh) 一种分布式系统的灰度切换状态保持方法
CN113448976B (zh) 数据处理方法、装置、计算机设备和存储介质
US11159368B2 (en) Component integration
US7647296B2 (en) Method for estimating a first access time of transactions accessing a database object
JP2014006635A (ja) 分散型データベースシステム及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 350000 21 / F, building 5, f District, Fuzhou Software Park, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province

Applicant after: FUJIAN SINOREGAL SOFTWARE CO.,LTD.

Address before: Floor 20-21, building 5, area F, Fuzhou Software Park, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province 350000

Applicant before: FUJIAN SINOREGAL SOFTWARE CO.,LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant