CN113360495A - 一种数据库查询中断的恢复方法、装置、设备及可读介质 - Google Patents
一种数据库查询中断的恢复方法、装置、设备及可读介质 Download PDFInfo
- Publication number
- CN113360495A CN113360495A CN202110422047.7A CN202110422047A CN113360495A CN 113360495 A CN113360495 A CN 113360495A CN 202110422047 A CN202110422047 A CN 202110422047A CN 113360495 A CN113360495 A CN 113360495A
- Authority
- CN
- China
- Prior art keywords
- data
- address information
- query
- sequence number
- queried
- 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
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24568—Data stream processing; Continuous queries
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库查询中断的恢复方法,包括以下步骤:解析查询语句以获得待查询表和若干待查询数据,基于待查询表的索引获取若干待查询数据对应的地址信息;创建序号‑地址信息参照表,并将地址信息顺序写入序号‑地址信息参照表中;创建序号‑数据临时表,执行查询语句并将查询结果顺序写入序号‑数据临时表中;以及响应于执行查询语句出现异常中断,读取序号‑数据临时表的末位序号,并将末位序号在序号‑地址信息参照表中对应的地址信息作为断点继续执行查询语句。本发明还公开了一种数据库查询中断的恢复装置、计算机设备和可读存储介质。本发明解决了数据库大数据量表查询过程中发生中断如何快速恢复的问题。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库查询中断的恢复方法、装置、设备及可读介质。
背景技术
数据库日常使用过程中,经常会用到查询,搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止,即“查询xx from tablexx where条件语句”等,执行该SQL(Structured Query Language,结构化查询语言)语句的时候,如果遇到数据库中大数据量表,表更新不频繁,但数据量特别大,执行速度会很慢,耗费时间长,这时候如果出现异常情况导致语句中断,再次进行查询操作需要重新从头开始,前功尽弃。
现有技术通过并行查询提高查询速度,但是对于查询中断的情况还需要重新执行查询。
发明内容
有鉴于此,本发明实施例的目的在于提出一种数据库查询中断的恢复方法、装置、设备及可读介质,通过顺序记录查询数据的索引,在遇到异常中断时,确定断点并从断点处继续查询,前期查询结果不会丢失,从而减少了整个查询耗费的时间,提高了查询效率,同时保证了查询结果的一致性,解决了数据库大数据量表查询过程中发生中断如何快速恢复的问题。
基于上述目的,本发明实施例的一方面提供了一种数据库查询中断的恢复方法,包括以下步骤:解析查询语句以获得待查询表和若干待查询数据,基于待查询表的索引获取若干待查询数据对应的地址信息;创建序号-地址信息参照表,并将地址信息顺序写入序号-地址信息参照表中;创建序号-数据临时表,执行查询语句并将查询结果顺序写入序号-数据临时表中;以及响应于执行查询语句出现异常中断,读取序号-数据临时表的末位序号,并将末位序号在序号-地址信息参照表中对应的地址信息作为断点继续执行查询语句。
在一些实施方式中,还包括:判断异常中断期间待查询表中数据是否被修改;若是异常中断期间待查询表中数据被修改,进一步判断被修改数据的地址信息是否为已查询地址;若是被修改数据的地址信息为已查询地址,基于被修改数据的地址信息修改序号-数据临时表中对应的查询结果。
在一些实施方式中,还包括:若是异常中断期间待查询表中数据未被修改,合并序号-数据临时表中的查询结果并输出。
在一些实施方式中,还包括:若是被修改数据的地址信息不为已查询地址,合并序号-数据临时表中的查询结果并输出。
在一些实施方式中,还包括:创建状态表,并将状态表的状态值设置为0;响应于异常中断期间待查询表中数据被修改,将状态值增加1;判断异常中断期间待查询表中数据是否被修改包括:判断状态表是否为0;若是异常中断期间待查询表中数据未被修改,合并序号-数据临时表中的查询结果并输出包括:若是状态表为0,合并序号-数据临时表中的查询结果并输出。
在一些实施方式中,还包括:创建状态表,并将状态表的状态值设置为0;响应于异常中断期间待查询表中数据被修改,将状态值增加1,并将修改语句记录到状态表中;判断异常中断期间待查询表中数据是否被修改包括:判断状态表是否为0;若是异常中断期间待查询表中数据被修改,进一步判断被修改数据的地址信息是否为已查询地址包括:若是状态表不为0,进一步判断状态表中修改语句的地址信息是否大于断点的地址信息;若是被修改数据的地址信息不为已查询地址,合并序号-数据临时表中的查询结果并输出包括:若是状态表中修改语句的地址信息大于断点的地址信息,合并序号-数据临时表中的查询结果并输出;若是被修改数据的地址信息为已查询地址,基于被修改数据的地址信息修改序号-数据临时表中对应的查询结果包括:若是状态表中修改语句的地址信息不大于断点的地址信息,基于状态表中修改语句的地址修改序号-数据临时表中对应的查询结果,并初始化状态表。
在一些实施方式中,执行查询语句并将查询结果顺序写入序号-数据临时表中包括:执行查询语句,实时获取内存中查询结果并将查询结果写入序号-数据临时表;将序号-数据临时表固化保存到磁盘中。
本发明实施例的另一方面,还提供了一种数据库查询中断的恢复装置,包括:第一模块,配置用于解析查询语句以获得待查询表和若干待查询数据,基于待查询表的索引获取若干待查询数据对应的地址信息;第二模块,配置用于创建序号-地址信息参照表,并将地址信息顺序写入序号-地址信息参照表中;第三模块,配置用于创建序号-数据临时表,执行查询语句并将查询结果顺序写入序号-数据临时表中;以及第四模块,配置用于响应于执行查询语句出现异常中断,读取序号-数据临时表的末位序号,并将末位序号在序号-地址信息参照表中对应的地址信息作为断点继续执行查询语句。
本发明实施例的再一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过顺序记录查询数据的索引,在遇到异常中断时,确定断点并从断点处继续查询,前期查询结果不会丢失,从而减少了整个查询耗费的时间,提高了查询效率,同时保证了查询结果的一致性,解决了数据库大数据量表查询过程中发生中断如何快速恢复的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的数据库查询中断的恢复方法的实施例的示意图;
图2为本发明提供的数据库查询中断的恢复装置的实施例的示意图;
图3为本发明提供的计算机设备的实施例的示意图;
图4为本发明提供的计算机可读存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了数据库查询中断的恢复方法的实施例。图1示出的是本发明提供的数据库查询中断的恢复方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S01、解析查询语句以获得待查询表和若干待查询数据,基于待查询表的索引获取若干待查询数据对应的地址信息;
S02、创建序号-地址信息参照表,并将地址信息顺序写入序号-地址信息参照表中;
S03、创建序号-数据临时表,执行查询语句并将查询结果顺序写入序号-数据临时表中;以及
S04、响应于执行查询语句出现异常中断,读取序号-数据临时表的末位序号,并将末位序号在序号-地址信息参照表中对应的地址信息作为断点继续执行查询语句。
在本实施例中,以K-DB数据库为例,K-DB数据库是一种类似于oracle数据库的关系型数据库。解决的技术问题是数据库大数据量表查询过程中发生中断如何恢复,利用了表查询是通过索引将数据按照实际物理地址信息顺序输出的特性,查询指的是搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单,提供指向存储在表的指定列中的数据值的指针。本发明技术方案能使用户执行长时间查询操作遇到异常导致中断时,从断点处继续进行完成剩余查询而不是从头开始再次查询,节约了时间,提高了查询效率,对于K-DB数据库的发展推广有一定意义。
在本实施例中,执行查询语句,解析查询语句,将所要查询数据的索引部分,按顺序记录写入到参照表中,进行查询时,查询结果被读到内存中,同时将该部分结果顺序写入磁盘临时表中进行固化,查询语句异常中断后,读取临时表最末一行数据信息,并与参照表数据信息对比,将其作为重新查询的起点,即查询语句从断点处开始查询,这样前期查询的结果不会丢失,减少了整个查询耗费的时间,提高了效率。
在本实施例中,首先对查询语句进行解析,以查询数据a、c、e时发生中断为例,待查询表如表1所示,待查询表的索引如表2所示,其中,rowid为数据库的表中的每一行数据都有一个唯一的标识符,该值表明了该行在数据库中的物理具体位置。
表1待查询表
索引列 | rowid |
pk1 | rowid1 |
pk2 | rowid2 |
pk3 | rowid3 |
pk4 | rowid4 |
pk5 | rowid5 |
表2待查询表索引
从待查询表的索引中找到待查询数据的地址信息,并按照顺序生成序号-地址信息参照表,如表3所示。
序号 | rowid |
1 | rowid1 |
2 | rowid3 |
3 | rowid5 |
表3序号-地址信息参照表
执行查询语句,磁盘中表数据按顺序读取到内存中,将内存中该部分数据按顺序写入到磁盘临时表中,即将该部分数据持久化,写到磁盘保存,序号-数据临时表中如表4所示。
序号 | 数据列 |
1 | a |
2 | c |
表4序号-数据临时表
查询语句发生异常中断,重新进行查询查询,读取临时表最后一行数据,根据序号-数据临时表最后一行查找序号为2,查询参照表找到序号2对应的断点的地址信息rowid3,并从rowid3继续执行查询语句,也可以以断点下一个数据为起点查找剩余部分数据。
在本发明的一些实施例中,还包括:判断异常中断期间待查询表中数据是否被修改;若是异常中断期间待查询表中数据被修改,进一步判断被修改数据的地址信息是否为已查询地址;若是被修改数据的地址信息为已查询地址,基于被修改数据的地址信息修改序号-数据临时表中对应的查询结果。
在本实施例中,针对断点恢复查询之前,已获数据发生变化的情况,该机制也提出相应解决办法:记录表状态,如若发生变化,将其标记并通过查找记录找到变化部分,修改相应数据记录后合并查询结果。
在本发明的一些实施例中,还包括:若是异常中断期间待查询表中数据未被修改,合并序号-数据临时表中的查询结果并输出。
在本发明的一些实施例中,还包括:若是被修改数据的地址信息不为已查询地址,合并序号-数据临时表中的查询结果并输出。
在本发明的一些实施例中,还包括:创建状态表,并将状态表的状态值设置为0;响应于异常中断期间待查询表中数据被修改,将状态值增加1;判断异常中断期间待查询表中数据是否被修改包括:判断状态表是否为0;若是异常中断期间待查询表中数据未被修改,合并序号-数据临时表中的查询结果并输出包括:若是状态表为0,合并序号-数据临时表中的查询结果并输出。
在本实施例中,创建状态表,记录表的状态值和相关修改语句。应用端进行查询表查询操作,同时将该表状态值置为0,查询中断后,再次恢复查询之前,中间每发生一次表修改的操作,包括增删改,就将状态值+1,同时将该修改语句一并记录到状态表中,状态表如表5所示。
表5状态表
在本实施例中,查询语句会对表加共享锁,在查询中断期间,查询原表版本状态值,是否为0,若为0,说明中断期间该表没有发生过修改操作,即数据保持不变,不需要对临时表进行处理,查询语句完成后得出的结果加上临时表的数据就是当前表的所有数据,最后释放共享锁即可。
在本发明的一些实施例中,还包括:创建状态表,并将状态表的状态值设置为0;响应于异常中断期间待查询表中数据被修改,将状态值增加1,并将修改语句记录到状态表中;判断异常中断期间待查询表中数据是否被修改包括:判断状态表是否为0;若是异常中断期间待查询表中数据被修改,进一步判断被修改数据的地址信息是否为已查询地址包括:若是状态表不为0,进一步判断状态表中修改语句的地址信息是否大于断点的地址信息;若是被修改数据的地址信息不为已查询地址,合并序号-数据临时表中的查询结果并输出包括:若是状态表中修改语句的地址信息大于断点的地址信息,合并序号-数据临时表中的查询结果并输出;若是被修改数据的地址信息为已查询地址,基于被修改数据的地址信息修改序号-数据临时表中对应的查询结果包括:若是状态表中修改语句的地址信息不大于断点的地址信息,基于状态表中修改语句的地址修改序号-数据临时表中对应的查询结果,并初始化状态表。
在本实施例中,查询语句会对表加共享锁,在查询中断期间,查询原表版本状态值,是否为0,若不为0,说明表数据发生了变化,查询语句完成后,继续保持共享锁,从状态表中寻找与该表相关的数据修改语句,找到发生变化的数据,记录该部分数据的rowid,以rowid A、rowid B、rowid C为例,对比临时表最后一行,查找rowid值,以rowidM为例。若存在C大于M,说明M之后的数据发生了变化,临时表存放的数据不变,不需要处理;若存在A、B小于M,则说明临时表存放的数据已发生变化,这时候需要调用状态表里面相关rowid A、B行的语句修改临时表数据,比如,update临时表set列=新值where rowid=A。临时表数据修改完成后释放共享锁,并将原表状态重置为0,查询语句完成后得出的结果加上临时表的数据就是当前表的所有数据,完成查询查询全过程。
在本发明的一些实施例中,执行查询语句并将查询结果顺序写入序号-数据临时表中包括:执行查询语句,实时获取内存中查询结果并将查询结果写入序号-数据临时表;将序号-数据临时表固化保存到磁盘中。
需要特别指出的是,上述数据库查询中断的恢复方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于数据库查询中断的恢复方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种数据库查询中断的恢复装置。图2示出的是本发明提供的数据库查询中断的恢复装置的实施例的示意图。如图2所示,本发明实施例包括如下模块:第一模块S11,配置用于解析查询语句以获得待查询表和若干待查询数据,基于待查询表的索引获取若干待查询数据对应的地址信息;第二模块S12,配置用于创建序号-地址信息参照表,并将地址信息顺序写入序号-地址信息参照表中;第三模块S13,配置用于创建序号-数据临时表,执行查询语句并将查询结果顺序写入序号-数据临时表中;以及第四模块S14,配置用于响应于执行查询语句出现异常中断,读取序号-数据临时表的末位序号,并将末位序号在序号-地址信息参照表中对应的地址信息作为断点继续执行查询语句。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备。图3示出的是本发明提供的计算机设备的实施例的示意图。如图3所示,本发明实施例包括如下装置:至少一个处理器S21;以及存储器S22,存储器S22存储有可在处理器上运行的计算机指令S23,指令由处理器执行时实现以上方法的步骤。
本发明还提供了一种计算机可读存储介质。图4示出的是本发明提供的计算机可读存储介质的实施例的示意图。如图4所示,计算机可读存储介质存储S31有被处理器执行时执行如上方法的计算机程序S32。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,数据库查询中断的恢复方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种数据库查询中断的恢复方法,其特征在于,包括以下步骤:
解析查询语句以获得待查询表和若干待查询数据,基于所述待查询表的索引获取所述若干待查询数据对应的地址信息;
创建序号-地址信息参照表,并将所述地址信息顺序写入所述序号-地址信息参照表中;
创建序号-数据临时表,执行所述查询语句并将查询结果顺序写入所述序号-数据临时表中;以及
响应于执行所述查询语句出现异常中断,读取所述序号-数据临时表的末位序号,并将所述末位序号在所述序号-地址信息参照表中对应的地址信息作为断点继续执行所述查询语句。
2.根据权利要求1所述的数据库查询中断的恢复方法,其特征在于,还包括:
判断所述异常中断期间所述待查询表中数据是否被修改;
若是所述异常中断期间所述待查询表中数据被修改,进一步判断被修改数据的地址信息是否为已查询地址;
若是被修改数据的地址信息为已查询地址,基于所述被修改数据的地址信息修改所述序号-数据临时表中对应的查询结果。
3.根据权利要求2所述的数据库查询中断的恢复方法,其特征在于,还包括:
若是所述异常中断期间所述待查询表中数据未被修改,合并所述序号-数据临时表中的查询结果并输出。
4.根据权利要求2所述的数据库查询中断的恢复方法,其特征在于,还包括:
若是被修改数据的地址信息不为已查询地址,合并所述序号-数据临时表中的查询结果并输出。
5.根据权利要求3所述的数据库查询中断的恢复方法,其特征在于,还包括:创建状态表,并将所述状态表的状态值设置为0;响应于所述异常中断期间所述待查询表中数据被修改,将所述状态值增加1;
判断所述异常中断期间所述待查询表中数据是否被修改包括:判断所述状态表是否为0;
若是所述异常中断期间所述待查询表中数据未被修改,合并所述序号-数据临时表中的查询结果并输出包括:若是所述状态表为0,合并所述序号-数据临时表中的查询结果并输出。
6.根据权利要求4所述的数据库查询中断的恢复方法,其特征在于,还包括:创建状态表,并将所述状态表的状态值设置为0;响应于所述异常中断期间所述待查询表中数据被修改,将所述状态值增加1,并将修改语句记录到所述状态表中;
判断所述异常中断期间所述待查询表中数据是否被修改包括:判断所述状态表是否为0;
若是所述异常中断期间所述待查询表中数据被修改,进一步判断被修改数据的地址信息是否为已查询地址包括:若是所述状态表不为0,进一步判断所述状态表中修改语句的地址信息是否大于所述断点的地址信息;
若是被修改数据的地址信息不为已查询地址,合并所述序号-数据临时表中的查询结果并输出包括:若是所述状态表中修改语句的地址信息大于所述断点的地址信息,合并所述序号-数据临时表中的查询结果并输出;
若是被修改数据的地址信息为已查询地址,基于所述被修改数据的地址信息修改所述序号-数据临时表中对应的查询结果包括:若是所述状态表中修改语句的地址信息不大于所述断点的地址信息,基于所述状态表中修改语句的地址修改所述序号-数据临时表中对应的查询结果,并初始化所述状态表。
7.根据权利要求1所述的数据库查询中断的恢复方法,其特征在于,执行所述查询语句并将查询结果顺序写入所述序号-数据临时表中包括:
执行所述查询语句,实时获取内存中查询结果并将所述查询结果写入序号-数据临时表;
将所述序号-数据临时表固化保存到磁盘中。
8.一种数据库查询中断的恢复装置,其特征在于,包括:
第一模块,配置用于解析查询语句以获得待查询表和若干待查询数据,基于所述待查询表的索引获取所述若干待查询数据对应的地址信息;
第二模块,配置用于创建序号-地址信息参照表,并将所述地址信息顺序写入所述序号-地址信息参照表中;
第三模块,配置用于创建序号-数据临时表,执行所述查询语句并将查询结果顺序写入所述序号-数据临时表中;以及
第四模块,配置用于响应于执行所述查询语句出现异常中断,读取所述序号-数据临时表的末位序号,并将所述末位序号在所述序号-地址信息参照表中对应的地址信息作为断点继续执行所述查询语句。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422047.7A CN113360495B (zh) | 2021-04-20 | 2021-04-20 | 一种数据库查询中断的恢复方法、装置、设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422047.7A CN113360495B (zh) | 2021-04-20 | 2021-04-20 | 一种数据库查询中断的恢复方法、装置、设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360495A true CN113360495A (zh) | 2021-09-07 |
CN113360495B CN113360495B (zh) | 2023-02-24 |
Family
ID=77525252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110422047.7A Active CN113360495B (zh) | 2021-04-20 | 2021-04-20 | 一种数据库查询中断的恢复方法、装置、设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360495B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443652A (zh) * | 2022-01-07 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种断点sql的运行方法、系统及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101078999A (zh) * | 2006-05-26 | 2007-11-28 | 任永坚 | 一种实现数据备份和恢复的方法及系统 |
CN103970834A (zh) * | 2014-04-02 | 2014-08-06 | 浙江大学 | 一种异构数据库同步系统中增量数据同步故障的恢复方法 |
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
CN109408588A (zh) * | 2018-09-07 | 2019-03-01 | 武汉达梦数据库有限公司 | 一种数据库同步初始化装载时断点续传的方法 |
CN110633300A (zh) * | 2019-08-23 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 一种嵌套查询的断点续运行的方法及装置 |
CN110765204A (zh) * | 2019-09-30 | 2020-02-07 | 武汉达梦数据库有限公司 | 一种对增量同步异常中断情况的处理方法和装置 |
CN111338853A (zh) * | 2020-03-16 | 2020-06-26 | 南京云信达科技有限公司 | 一种基于Linux的数据实时存储系统及方法 |
CN111737295A (zh) * | 2020-06-11 | 2020-10-02 | 上海达梦数据库有限公司 | 数据库游标查询方法、装置、设备和存储介质 |
CN112612827A (zh) * | 2020-12-25 | 2021-04-06 | 平安国际智慧城市科技股份有限公司 | 数据库分页查询方法、装置、计算机设备及存储介质 |
-
2021
- 2021-04-20 CN CN202110422047.7A patent/CN113360495B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101078999A (zh) * | 2006-05-26 | 2007-11-28 | 任永坚 | 一种实现数据备份和恢复的方法及系统 |
CN103970834A (zh) * | 2014-04-02 | 2014-08-06 | 浙江大学 | 一种异构数据库同步系统中增量数据同步故障的恢复方法 |
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
CN109408588A (zh) * | 2018-09-07 | 2019-03-01 | 武汉达梦数据库有限公司 | 一种数据库同步初始化装载时断点续传的方法 |
CN110633300A (zh) * | 2019-08-23 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 一种嵌套查询的断点续运行的方法及装置 |
CN110765204A (zh) * | 2019-09-30 | 2020-02-07 | 武汉达梦数据库有限公司 | 一种对增量同步异常中断情况的处理方法和装置 |
CN111338853A (zh) * | 2020-03-16 | 2020-06-26 | 南京云信达科技有限公司 | 一种基于Linux的数据实时存储系统及方法 |
CN111737295A (zh) * | 2020-06-11 | 2020-10-02 | 上海达梦数据库有限公司 | 数据库游标查询方法、装置、设备和存储介质 |
CN112612827A (zh) * | 2020-12-25 | 2021-04-06 | 平安国际智慧城市科技股份有限公司 | 数据库分页查询方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443652A (zh) * | 2022-01-07 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种断点sql的运行方法、系统及装置 |
CN114443652B (zh) * | 2022-01-07 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 一种断点sql的运行方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113360495B (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10706054B2 (en) | Method and device for searching indexes for sensor tag data | |
CN109977274B (zh) | 一种数据查询和验证方法、系统、设备及存储介质 | |
CN109408589B (zh) | 数据同步方法及装置 | |
CN111259004B (zh) | 一种存储引擎中数据索引的方法以及相关装置 | |
CN104572920A (zh) | 一种数据整理方法和装置 | |
CN115509694B (zh) | 一种事务处理方法、装置、电子设备及存储介质 | |
CN113360495B (zh) | 一种数据库查询中断的恢复方法、装置、设备及可读介质 | |
CN116257523A (zh) | 一种基于非易失存储器的列式存储索引方法及装置 | |
AU2018345147B2 (en) | Database processing device, group map file production method, and recording medium | |
CN111694853B (zh) | 基于世系的数据增量采集方法、装置、存储介质和电子设备 | |
CN106874329A (zh) | 数据库表索引的实现方法和装置 | |
CN111045994B (zh) | 一种基于kv数据库的文件分类检索方法及系统 | |
US20070239794A1 (en) | Method and system for updating logical information in databases | |
CN115687392A (zh) | 一种sql语句的优化执行方法、装置、电子设备及介质 | |
CN114218277A (zh) | 一种关系数据库的高效查询方法和装置 | |
CN111767436B (zh) | 一种hash索引数据的存储、读取方法与系统 | |
US10037148B2 (en) | Facilitating reverse reading of sequentially stored, variable-length data | |
CN114238241B (zh) | 财务数据的元数据处理方法和计算机系统 | |
CN114461605B (zh) | 内存多维数据库的事务数据多版本实现方法、装置及设备 | |
CN111459949B (zh) | 针对数据库的数据处理方法、装置及设备和索引更新方法 | |
CN108874820B (zh) | 一种系统文件搜索方法 | |
CN116610636A (zh) | 一种文件系统的数据处理方法、装置、电子设备及存储介质 | |
CN116401245A (zh) | 一种数据索引构建方法及系统 | |
CN117971839A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN116266100A (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 |