CN115481130A - 一种数据库软件版本的更新方法及装置 - Google Patents
一种数据库软件版本的更新方法及装置 Download PDFInfo
- Publication number
- CN115481130A CN115481130A CN202211200355.6A CN202211200355A CN115481130A CN 115481130 A CN115481130 A CN 115481130A CN 202211200355 A CN202211200355 A CN 202211200355A CN 115481130 A CN115481130 A CN 115481130A
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- software version
- database
- statement
- 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
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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据库软件版本的更新方法及装置,涉及数据库技术领域,也可用于金融领域,包括:利用待测软件版本处理数据库中的事务,得到含事务标签的日志;根据所述含事务标签的日志生成正式软件版本;利用所述正式软件版本更新所述数据库的软件版本。本申请能够以数据库中的事务作为基本处理单元对数据进行处理,进而完成数据库软件版本的更新。
Description
技术领域
本申请涉及数据库技术领域,可以用于金融领域,具体是一种数据库软件版本的更新方法及装置。
背景技术
在数据库软件版本的更新过程中,可能涉及大量的数据处理操作,包括但不限于数据插入、数据查询、数据修改及数据删除。从对数据库进行数据操作的角度而言,操作者可能会一次性对数据库中的多张数据表进行操作。以插入用户信息的操作为例,操作者可能会向基本信息表中插入该用户的基本信息,然后向业务处理表中插入该用户的业务处理信息。这些信息都与该用户相关,因此我们希望能原子化的操作该用户的相关数据,如删除该用户的基本信息和业务处理信息,并非删除基本信息后业务信息还仍然存在。
在操作结束后,操作者可能通过数据库日志记录,查询其对数据库的操作。然而,如果操作者想查询该用户所有相关的历史操作记录,则可能会涉及到多张数据表,多个时间节点。需要分开进行查询,存在查询困难。现有的数据库可视化工具一般能够在时间维度查看对数据库的修改历史。然而,在实际应用中,操作者更关心的可能并不是时间维度,而是对某一待查询用户的相关资料操作过程的全量获取,并在获取全量操作过程后进一步完成正式操作的记录。现有的数据库可视化工具无法满足操作者的上述需求。
发明内容
针对现有技术中的问题,本申请提供一种数据库软件版本的更新方法及装置,能够以数据库中的事务作为基本处理单元对数据进行处理,进而完成数据库软件版本的更新。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种数据库软件版本的更新方法,包括:
利用待测软件版本处理数据库中的事务,得到含事务标签的日志;
根据所述含事务标签的日志生成正式软件版本;
利用所述正式软件版本更新所述数据库的软件版本。
进一步地,所述利用待测软件版本处理数据库中的事务,得到含事务标签的日志,包括:
执行所述待测软件版本中的数据处理语句,以完成对应事务的处理;其中,数据处理语句中包括有所述事务标签;
根据所述事务标签及对应的事务处理结果进行日志记录,得到所述含事务标签的日志。
进一步地,所述数据处理语句为数据插入语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据插入语句中的事务标签及待插入数据;
根据该事务标签将所述待插入数据插入至对应的事务中。
进一步地,所述数据处理语句为数据修改语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据修改语句中的事务标签及待修改数据;
根据该事务标签修改对应事务中的待修改数据。
进一步地,所述数据处理语句为数据删除语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据删除语句中的事务标签及待删除数据;
根据该事务标签删除对应事务中的待删除数据。
进一步地,所述根据所述含事务标签的日志生成正式软件版本,包括:
根据所述含事务标签的日志生成对应的数据库结构化语句;
根据所述数据库结构化语句生成所述正式软件版本。
第二方面,本申请提供一种数据库软件版本的更新装置,包括:
标签日志生成单元,用于利用待测软件版本处理数据库中的事务,得到含事务标签的日志;
正式版本生成单元,用于根据所述含事务标签的日志生成正式软件版本;
软件版本更新单元,用于利用所述正式软件版本更新所述数据库的软件版本。
进一步地,所述标签日志生成单元,包括:
事务处理模块,用于执行所述待测软件版本中的数据处理语句,以完成对应事务的处理;其中,数据处理语句中包括有所述事务标签;
日志记录模块,用于根据所述事务标签及对应的事务处理结果进行日志记录,得到所述含事务标签的日志。
进一步地,所述数据处理语句为数据插入语句;所述事务处理模块,包括:
插入数据获取模块,用于获取所述数据插入语句中的事务标签及待插入数据;
插入数据执行模块,用于根据该事务标签将所述待插入数据插入至对应的事务中。
进一步地,所述数据处理语句为数据修改语句;所述事务处理模块,包括:
修改数据获取模块,用于获取所述数据修改语句中的事务标签及待修改数据;
修改数据执行模块,用于根据该事务标签修改对应事务中的待修改数据。
进一步地,所述数据处理语句为数据删除语句;所述事务处理模块,包括:
删除数据获取模块,用于获取所述数据删除语句中的事务标签及待删除数据;
删除数据执行模块,用于根据该事务标签删除对应事务中的待删除数据。
进一步地,所述正式版本生成单元,包括:
结构语句生成模块,用于根据所述含事务标签的日志生成对应的数据库结构化语句;
正式版本生成模块,用于根据所述数据库结构化语句生成所述正式软件版本。
第三方面,本申请提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述数据库软件版本的更新方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述数据库软件版本的更新方法的步骤。
第五方面,本申请提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述数据库软件版本的更新方法的步骤。
针对现有技术中的问题,本申请提供的数据库软件版本的更新方法及装置,能够通过在数据库中添加事务标签的方式,将事务对应的执行历史串联起来,方便用户从事务维度进行日志查询,进而根据日志查询结果完成软件版本更新。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中数据库软件版本的更新方法的流程图;
图2为本申请实施例中得到含事务标签的日志的流程图;
图3为本申请实施例中执行待测软件版本中的数据处理语句的流程图之一;
图4为本申请实施例中执行待测软件版本中的数据处理语句的流程图之二;
图5为本申请实施例中执行待测软件版本中的数据处理语句的流程图之三;
图6为本申请实施例中生成正式软件版本的流程图;
图7为本申请实施例中数据库软件版本的更新装置的结构图;
图8为本申请实施例中标签日志生成单元的结构图;
图9为本申请实施例中事务处理模块的结构图之一;
图10为本申请实施例中事务处理模块的结构图之二;
图11为本申请实施例中事务处理模块的结构图之三;
图12为本申请实施例中正式版本生成单元的结构图;
图13为本申请实施例中的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请提供的数据库软件版本的更新方法及装置,可用于金融领域,也可用于除金融领域之外的任意领域,本申请提供的数据库软件版本的更新方法及装置的应用领域不做限定。
本申请技术方案中对数据的获取、存储、使用及处理等均符合国家法律法规的相关规定。
在数据库软件版本的更新过程中,可能涉及大量的数据处理操作,包括但不限于数据插入、数据查询、数据修改及数据删除。
在操作结束后,操作者可能通过数据库日志记录,查询其对数据库的操作。然而,如果操作者想查询该用户所有相关的历史操作记录,则可能会涉及到多张数据表,多个时间节点。需要分开进行查询,存在查询困难。现有的数据库可视化工具一般能够在时间维度查看对数据库的修改历史。然而,在实际应用中,操作者更关心的可能并不是时间维度,而是对某一待查询用户的相关资料的全量获取,并在获取全量数据后进一步完成数据库的软件版本更新。现有的数据处理方法无法满足操作者的上述需求。为了解决上述技术问题,本申请提供一种数据库软件版本的更新方法及装置。
一实施例中,参见图1,为了能够以数据库中的事务作为基本处理单元对数据进行处理,进而完成数据库软件版本的更新,本申请提供一种数据库软件版本的更新方法。
为了方便起见,下面以MySQL数据库为例进行阐述,但本申请提供的方法可以应用于多种不同类型的数据库,本申请不以此为限。
为了更清楚地阐述本申请提供的方法,需先进行如下说明。
第一,MySQL中具有插入(insert)语句:执行一条insert语句可以给MySQL数据库的数据表中插入一条数据记录。
第二,MySQL中具有更新(update)语句:执行一条update语句可以更新MySQL数据库的数据表中已有的数据记录。
第三,MySQL中具有删除(delete)语句:执行一条delete语句可以删除MySQL数据库的数据表中已有的数据记录。
第四,MySQL中具有事务的概念:MySQL中的事务主要用于处理操作量大且复杂度高的数据。比如,在人员管理系统中,如需删除一个人员,既需要删除人员的基本资料,还需要删除与该人员相关的信息(如邮箱)。相关的数据库操作语句就构成一个事务。事务用来管理insert语句,update语句及delete语句。
其中,事务是必须满足4个条件(即ACID):原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)及持久性(Durability)。进一步地说明,原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预设的工作。隔离性:数据库允许多个并发事务同时对其数据进行读写和修改,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据不一致的情况发生。事务隔离分为不同级别,包括读未提交(Readuncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。持久性:事务处理结束后,对数据的修改就是永久的,即便数据库系统发生故障也不会丢失。
第五,MySQL对事务的处理具有两种方法:
①用BEGIN,ROLLBACK,COMMIT来实现:BEGIN开始一个事务、ROLLBACK事务回滚、COMMIT事务确认。②直接用SET来改变MySQL的自动提交模式:SET AUTOCOMMIT=0禁止自动提交、SET AUTOCOMMIT=1开启自动提交。
第六,在MySQL命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作。因此,要显式地开启一个事务务须使用命令BEGIN或STARTTRANSACTION,或者执行命令SET AUTOCOMMIT=0,用来禁止使用当前会话的自动提交。
基于上述技术,本申请提供的方法,包括:
S101:将待测软件版本作为带标签的事务在数据库中执行,得到含事务标签的日志;
具体地,一实施例中,参见图2,所述利用待测软件版本处理数据库中的事务,得到含事务标签的日志,包括:
执行所述待测软件版本中的数据处理语句,以完成对应事务的处理;其中,数据处理语句中包括有所述事务标签(S201);根据所述事务标签及对应的事务处理结果进行日志记录,得到所述含事务标签的日志(S202)。
进行事务处理具体可能包括但不限于进行数据插入、数据修改及数据删除,具体分别阐述如下:
一实施例中,参见图3,所述数据处理语句为数据插入语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据插入语句中的事务标签及待插入数据(S301);
根据该事务标签将所述待插入数据插入至对应的事务中(S302)。
一实施例中,参见图4,所述数据处理语句为数据修改语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据修改语句中的事务标签及待修改数据(S501);
根据该事务标签修改对应事务中的待修改数据(S502)。
一实施例中,参见图5,所述数据处理语句为数据删除语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据删除语句中的事务标签及待删除数据(S601);
根据该事务标签删除对应事务中的待删除数据(S602)。
执行事务实施过程如下:
1.BEGIN或START TRANSACTION显式地开启一个标签为“王五储蓄卡”的事务:
mySQL>begin王五储蓄卡
2.事务写入:
mySQL>INSERT INTO`b_client_info`(`name`,`id`,`sex`,`age`)VALUES('王五',610XXXXX199505051112,'男',26);
mySQL>INSERT INTO`b_account`(`id`,`account`,`balance`)VALUES(610XXXXX199505051112,'储蓄卡的卡号',2000000);
3.事务提交:
mySQL>commit王五储蓄卡;
第一次写入了王五储蓄卡的一些相关信息后,如果后续要对王五在银行的卡相关信息修改(包括增删和修改),则可以再次开启一个事务标签为“王五储蓄卡”的事务(下面以修改王五的储蓄卡余额为例):
mySQL>begin王五储蓄卡
mySQL>UPDATE`b_account`SET`balance`='1888888'WHERE(`id`='610XXXXX199505051112');
mySQL>commit王五储蓄卡;
撤销事务实施过程如下:
1.BEGIN或START TRANSACTION显式地开启撤销一个标签为“王五储蓄卡”的事务:
mySQL>begin revocation王五储蓄卡
2.display显示该事务所有相关日志:(包括第一次的两条SQL和后续更新的那条SQL)
mySQL>display
INSERT INTO`b_client_info`(`name`,`id`,`sex`,`age`)VALUES
('王五',610XXXXX199505051112,'男',26),
INSERT INTO`b_account`(`id`,`account`,`balance`)VALUES
(610XXXXX199505051112,'储蓄卡的卡号',2000000),
UPDATE`b_account`SET`balance`='1888888'WHERE(`id`='610XXXXX199505051112');
3rows in set 0.
3.convert语句转换:生成一个如下的SQL脚本revocation王五储蓄卡.SQL的脚本
DELETE FROM`b_client_info`WHERE`name`='王五'AND`id`=610XXXXX199505051112
DELETE FROM`b_account`WHERE`id`=610XXXXX199505051112 AND account=610XXXXX199505051112
如果转换结果需要调整,则可以对该脚本编辑,将转换结果进行修改。
4执行撤销语句:
mySQL>commit revocation王五储蓄卡.SQL
S102:根据所述含事务标签的日志生成正式软件版本;
具体地,一实施例中,参见图6,所述根据所述含事务标签的日志生成正式软件版本,包括:
S701:根据所述含事务标签的日志生成对应的数据库结构化语句;
结构化语句即SQL语句,是正式版本中的内容
S702:根据所述数据库结构化语句生成所述正式软件版本。
1.记录事务日志:类似于一般的日志,只不过在记录事务日志时,给这部分日志一起打上事务标签。
2.查询事务日志:当某天我们需要查询有关王五的所有执行日志时,就可以用事务标签,从事务维度查询。
mySQL>show transaction logs;查看所有的事务日志文件(结果参见下表)
Log name | File size |
DB-Server-tran.000001-2022-01-01 | 143 |
DB-Server-tran.000002-2022-01-02 | 171 |
DB-Server-tran.000003-2022-01-03 | 171 |
DB-Server-tran.000004-2022-01-04 | 120 |
mySQL>select * from DB-Server-tran.* where transaction_tag = '王五储蓄卡';查看所有事务标签为'王五储蓄卡'的日志,查到的具体内容如下,其可视化后如图13所示。
王五储蓄卡:INSERT INTO `b_student` (`name`,`id`,`sex`,`age`) VALUES
('王五',610XXXXX199505051112,'男',26)
王五储蓄卡:INSERT INTO `b_account` (`id`,`account`,`balance`) VALUES
(610XXXXX199505051112,'储蓄卡的卡号',2000000)
即将选中的某一个开始时间到目前所有的相关日志导出为一个SQL文件。如上例所示,正式的数据库/SQL版本中的内容为:
INSERT INTO `b_client_info` (`name`,`id`,`sex`,`age`) VALUES
('王五',610XXXXX199505051112,'男',26),
INSERT INTO `b_account` (`id`,`account`,`balance`) VALUES
(610XXXXX199505051112,'储蓄卡的卡号',2000000),
UPDATE `b_account` SET `balance` = '1888888' WHERE (`id` ='610XXXXX199505051112');
从上述描述可知,本申请提供的数据库软件版本的更新方法,能够根据所述含事务标签的日志生成正式软件版本。
S103:利用所述正式软件版本更新所述数据库的软件版本。
可以理解的是,一种常见的SQL开发流程是:开发人员首先在本地写好SQL语句,然后先部署到测试环境进行功能测试(可以将部署到功能测试环境的版本称作功能测试版本)。当功能测试结束后,则发布可用的SQL正式版本,该正确的正式版本可以被部署到生产环境。
然而,功能测试的过程往往涉及对数据库中SQL的改动,这种情况下可能存在本地SQL未能和数据库中SQL同步修改的情况。在发布正式版本时则难以直接将本地的SQL作为正式版本发布。并且数据库中很可能存在多张表,也难以从数据库中提取SQL作为正式版本。
通过本发明,则可以直接通过数据库中的事务标签,从数据库日志中获取到对应事务的所有日志记录,将其导出则可以作为正式版本。而不用每次在本地和数据库中同步进行修改,也不需要将要发布的正式版本与功能测试环境的数据库做比对,以保持和功能测试环境的一致性。
从上述描述可知,本申请提供的数据库软件版本的更新方法,能够利用所述正式软件版本更新所述数据库的软件版本。
综上所述,相比于现有技术,本申请至少具有如下优势:
(1)现有技术以时间为维度记录用户对数据库的操作日志,而用户往往对时间不敏感;本申请实施例通过建立事务标签的方法克服了该问题;
(2)虽然用户也可以根据特定的关键词在日志中搜索到某事务的相关日志,但是往往该事务中有的SQL语句不包含对应的关键词,而这些SQL语句却是一个事务的一部分;本申请实施例通过建立事务标签的方法克服了该问题;
(3)现有技术使用uuid(随机数)来对一个事务中的所有语句打标,以此来在数据库的日志文件中查询该事务相关日志。这种方法有两个缺点:这种uuid往往是随机数,后续若对该事务中的相关语句进行修改时,则会生成另一个uuid,这两个uuid难以关联,查询相对不便捷。其次用户对uuid并不敏感;本申请实施例通过建立事务标签的方法克服了该问题;
(4)现有技术是针对于整个数据库做快照,本申请的实质是对SQL文件进行版本管理,粒度更小。
(5)本申请提出的执行事务时,用户输入对用户有意义的标签,附加到日志中,则可以在日志中便捷地查询相关事务的所有日志。
从上述描述可知,本申请提供的数据库软件版本的更新方法及装置,能够通过在数据库中添加事务标签的方式,将事务对应的执行历史串联起来,方便用户从事务维度进行日志查询,进而根据日志查询结果完成软件版本更新。
基于同一发明构思,本申请实施例还提供了一种数据库软件版本的更新装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于数据库软件版本的更新装置解决问题的原理与数据库软件版本的更新方法相似,因此数据库软件版本的更新装置的实施可以参见基于软件性能基准确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
一实施例中,参见图7,为了能够以数据库中的事务作为基本处理单元对数据进行处理,进而完成数据库软件版本的更新,本申请提供一种数据库软件版本的更新装置,包括:
标签日志生成单元801,用于利用待测软件版本处理数据库中的事务,得到含事务标签的日志;
正式版本生成单元802,用于根据所述含事务标签的日志生成正式软件版本;
软件版本更新单元803,用于利用所述正式软件版本更新所述数据库的软件版本。
一实施例中,参见图8,所述标签日志生成单元801,包括:
事务处理模块901,用于执行所述待测软件版本中的数据处理语句,以完成对应事务的处理;其中,数据处理语句中包括有所述事务标签;
日志记录模块902,用于根据所述事务标签及对应的事务处理结果进行日志记录,得到所述含事务标签的日志。
一实施例中,参见图9,所述数据处理语句为数据插入语句;所述事务处理模块902,包括:
插入数据获取模块1001,用于获取所述数据插入语句中的事务标签及待插入数据;
插入数据执行模块1002,用于根据该事务标签将所述待插入数据插入至对应的事务中。
一实施例中,参见图10,所述数据处理语句为数据修改语句;所述事务处理模块902,包括:
修改数据获取模块1201,用于获取所述数据修改语句中的事务标签及待修改数据;
修改数据执行模块1202,用于根据该事务标签修改对应事务中的待修改数据。
一实施例中,参见图11,所述数据处理语句为数据删除语句;所述事务处理模块902,包括:
删除数据获取模块1301,用于获取所述数据删除语句中的事务标签及待删除数据;
删除数据执行模块1302,用于根据该事务标签删除对应事务中的待删除数据。
一实施例中,参见图12,所述正式版本生成单元802,包括:
结构语句生成模块1401,用于根据所述含事务标签的日志生成对应的数据库结构化语句;
正式版本生成模块1402,用于根据所述数据库结构化语句生成所述正式软件版本。
从硬件层面来说,为了能够以数据库中的事务作为基本处理单元对数据进行处理,进而完成数据库软件版本的更新,本申请提供一种用于实现所述数据库软件版本的更新方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(Processor)、存储器(Memory)、通讯接口(Communications Interface)和总线;其中,所述处理器、存储器、通讯接口通过所述总线完成相互间的通讯;所述通讯接口用于实现所述数据库软件版本的更新装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的数据库软件版本的更新方法的实施例,以及数据库软件版本的更新装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,数据库软件版本的更新方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通讯模块(即通讯单元),可以与远程的服务器进行通讯连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通讯链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图13为本申请实施例的电子设备9600的系统构成的示意框图。如图13所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图13是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,数据库软件版本的更新方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
S101:利用待测软件版本处理数据库中的事务,得到含事务标签的日志;
S102:根据所述含事务标签的日志生成正式软件版本;
S103:利用所述正式软件版本更新所述数据库的软件版本。
从上述描述可知,本申请提供的数据库软件版本的更新方法及装置,能够通过在数据库中添加事务标签的方式,将事务对应的执行历史串联起来,方便用户从事务维度进行日志查询,进而根据日志查询结果完成软件版本更新。
在另一个实施方式中,数据库软件版本的更新装置可以与中央处理器9100分开配置,例如可以将数据复合传输装置数据库软件版本的更新装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现数据库软件版本的更新方法的功能。
如图13所示,该电子设备9600还可以包括:通讯模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图13中所示的所有部件;此外,电子设备9600还可以包括图13中没有示出的部件,可以参考现有技术。
如图13所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通讯功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通讯模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通讯模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通讯终端的情况相同。
基于不同的通讯技术,在同一电子设备中,可以设置有多个通讯模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通讯模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的数据库软件版本的更新方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的数据库软件版本的更新方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:利用待测软件版本处理数据库中的事务,得到含事务标签的日志;
S102:根据所述含事务标签的日志生成正式软件版本;
S103:利用所述正式软件版本更新所述数据库的软件版本。
从上述描述可知,本申请提供的数据库软件版本的更新方法及装置,能够通过在数据库中添加事务标签的方式,将事务对应的执行历史串联起来,方便用户从事务维度进行日志查询,进而根据日志查询结果完成软件版本更新。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种数据库软件版本的更新方法,其特征在于,包括:
利用待测软件版本处理数据库中的事务,得到含事务标签的日志;
根据所述含事务标签的日志生成正式软件版本;
利用所述正式软件版本更新所述数据库的软件版本。
2.根据权利要求1所述的数据库软件版本的更新方法,其特征在于,所述利用待测软件版本处理数据库中的事务,得到含事务标签的日志,包括:
执行所述待测软件版本中的数据处理语句,以完成对应事务的处理;其中,数据处理语句中包括有所述事务标签;
根据所述事务标签及对应的事务处理结果进行日志记录,得到所述含事务标签的日志。
3.根据权利要求2所述的数据库软件版本的更新方法,其特征在于,所述数据处理语句为数据插入语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据插入语句中的事务标签及待插入数据;
根据该事务标签将所述待插入数据插入至对应的事务中。
4.根据权利要求2所述的数据库软件版本的更新方法,其特征在于,所述数据处理语句为数据修改语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据修改语句中的事务标签及待修改数据;
根据该事务标签修改对应事务中的待修改数据。
5.根据权利要求2所述的数据库软件版本的更新方法,其特征在于,所述数据处理语句为数据删除语句;所述执行所述待测软件版本中的数据处理语句,以完成对应事务的处理,包括:
获取所述数据删除语句中的事务标签及待删除数据;
根据该事务标签删除对应事务中的待删除数据。
6.根据权利要求1所述的数据库软件版本的更新方法,其特征在于,所述根据所述含事务标签的日志生成正式软件版本,包括:
根据所述含事务标签的日志生成对应的数据库结构化语句;
根据所述数据库结构化语句生成所述正式软件版本。
7.一种数据库软件版本的更新装置,其特征在于,包括:
标签日志生成单元,用于利用待测软件版本处理数据库中的事务,得到含事务标签的日志;
正式版本生成单元,用于根据所述含事务标签的日志生成正式软件版本;
软件版本更新单元,用于利用所述正式软件版本更新所述数据库的软件版本。
8.根据权利要求7所述的数据库软件版本的更新装置,其特征在于,所述标签日志生成单元,包括:
事务处理模块,用于执行所述待测软件版本中的数据处理语句,以完成对应事务的处理;其中,数据处理语句中包括有所述事务标签;
日志记录模块,用于根据所述事务标签及对应的事务处理结果进行日志记录,得到所述含事务标签的日志。
9.根据权利要求8所述的数据库软件版本的更新装置,其特征在于,所述数据处理语句为数据插入语句;所述事务处理模块,包括:
插入数据获取模块,用于获取所述数据插入语句中的事务标签及待插入数据;
插入数据执行模块,用于根据该事务标签将所述待插入数据插入至对应的事务中。
10.根据权利要求8所述的数据库软件版本的更新装置,其特征在于,所述数据处理语句为数据修改语句;所述事务处理模块,包括:
修改数据获取模块,用于获取所述数据修改语句中的事务标签及待修改数据;
修改数据执行模块,用于根据该事务标签修改对应事务中的待修改数据。
11.根据权利要求8所述的数据库软件版本的更新装置,其特征在于,所述数据处理语句为数据删除语句;所述事务处理模块,包括:
删除数据获取模块,用于获取所述数据删除语句中的事务标签及待删除数据;
删除数据执行模块,用于根据该事务标签删除对应事务中的待删除数据。
12.根据权利要求7所述的数据库软件版本的更新装置,其特征在于,所述正式版本生成单元,包括:
结构语句生成模块,用于根据所述含事务标签的日志生成对应的数据库结构化语句;
正式版本生成模块,用于根据所述数据库结构化语句生成所述正式软件版本。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的数据库软件版本的更新方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的数据库软件版本的更新方法的步骤。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的数据库软件版本的更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211200355.6A CN115481130A (zh) | 2022-09-29 | 2022-09-29 | 一种数据库软件版本的更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211200355.6A CN115481130A (zh) | 2022-09-29 | 2022-09-29 | 一种数据库软件版本的更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115481130A true CN115481130A (zh) | 2022-12-16 |
Family
ID=84393907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211200355.6A Pending CN115481130A (zh) | 2022-09-29 | 2022-09-29 | 一种数据库软件版本的更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115481130A (zh) |
-
2022
- 2022-09-29 CN CN202211200355.6A patent/CN115481130A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672017B2 (en) | Object storage and synchronization hooks for occasionally-connected devices | |
US10860539B2 (en) | De-duplication-based remote replication method, and apparatus | |
US5642504A (en) | Method of testing an application on a server which accesses a database | |
CN111522631B (zh) | 分布式事务处理方法、装置、服务器及介质 | |
US20060184569A1 (en) | Data processing systems and methods | |
US8099386B2 (en) | Method and apparatus for synchronizing databases connected by wireless interface | |
CN114925084B (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
CN102272751A (zh) | 在数据库环境通过背景同步的数据完整性 | |
CN108415758B (zh) | 分布式事务协调方法及装置 | |
CN111784318A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113094362A (zh) | 一种异步消息可靠投递和处理的方法和装置 | |
CN111737148A (zh) | 自动回归测试方法、装置、计算机设备及存储介质 | |
CN113438275B (zh) | 数据迁移方法、装置、存储介质及数据迁移设备 | |
CN111159040A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN108140043B (zh) | 只附加分布式数据库的读写协议 | |
CN115481130A (zh) | 一种数据库软件版本的更新方法及装置 | |
CN110647421B (zh) | 数据库处理方法、装置、系统以及电子设备 | |
CN115421976A (zh) | 异地备灾数据处理方法及装置 | |
CN115292415A (zh) | 一种数据库访问方法及装置 | |
CN114895955A (zh) | 一种低代码平台元数据版本控制的方法、装置及设备 | |
CN110032608B (zh) | 系统数据的信息组装方法、装置、存储介质及电子设备 | |
CN111427902A (zh) | 基于轻量型数据库的元数据管理方法、装置、设备及介质 | |
CN112783927B (zh) | 一种数据库查询方法及系统 | |
CN113656380A (zh) | 数据生命周期管理方法及装置 | |
CN114238292B (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 |