一种数据库事务优化方法及系统.pdf

上传人:a2 文档编号:1301891 上传时间:2018-04-14 格式:PDF 页数:10 大小:620.38KB
返回 下载 相关 举报
摘要
申请专利号:

CN201710043446.6

申请日:

2017.01.19

公开号:

CN106844634A

公开日:

2017.06.13

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20170119|||公开

IPC分类号:

G06F17/30; G06F9/48

主分类号:

G06F17/30

申请人:

福建天泉教育科技有限公司

发明人:

刘德建; 陈丛亮; 郭玉湖

地址:

350212 福建省福州市长乐市湖南镇大鹤村(福建天棣动漫科技有限公司)

优先权:

专利代理机构:

福州市博深专利事务所(普通合伙) 35214

代理人:

林志峥

PDF下载: PDF下载
内容摘要

本发明涉及数据处理领域,尤其涉及一种数据库事务优化方法及系统,通过以下步骤提高事务处理效率:获取第一事务相对应的第一事务处理程序;注释所述第一事务处理程序的开启事务函数,得到第一程序;若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函数;判断第二事务相对应的第二事务处理程序是否包括所述第一函数;若包括,则运行所述第二事务处理程序。本发明提高了事务处理效率,同时在一定程度上保证了数据处理的正确性。

权利要求书

1.一种数据库事务优化方法,其特征在于,包括以下步骤:
S1:获取第一事务相对应的第一事务处理程序;
S2:注释所述第一事务处理程序的开启事务函数,得到第一程序;
S3:若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函数;
S4:判断第二事务相对应的第二事务处理程序是否包括所述第一函数;若包括,则运行
所述第二事务处理程序。
2.根据权利要求1所述的一种数据库事务优化方法,其特征在于,所述S4具体为:
判断所述第二事务处理程序是否包括所述第一函数;
若包括,则判断所述第二事务处理程序中第一函数是否存在一变量值与所述第一事务
处理程序中第一函数对应变量的变量值不相同;
若存在,则注释所述第二事务处理程序的开启事务函数,得到第二程序;运行所述第二
程序;
否则,运行所述第二事务处理程序。
3.根据权利要求2所述的一种数据库事务优化方法,其特征在于,还包括:
预设数据库的第三事务;
若所述第二程序运行失败,则判断所述第三事务是否包括所述第一函数;
若包括,则运行所述第三事务对应的第三事务处理程序;
若所述第二程序运行成功,则注释所述第三事务处理程序的开启事务函数,得到第三
程序;运行所述第三程序。
4.根据权利要求1所述一种数据库事务优化方法,其特征在于,所述S4具体为:
若所述第二事务处理程序中包括所述第一函数,则在物理内存运行所述第二事务处理
程序;
否则,注释所述第二事务处理程序的开启事务函数,得到第三程序;
在预设的虚拟内存中运行所述第三程序。
5.根据权利要求1所述一种数据库事务优化方法,其特征在于,还包括:
获取所述第一事务的初始数据;
若所述第一程序运行失败,则替换所述第一事务的数据为所述初始数据。
6.一种数据库事务优化系统,其特征在于,包括:
第一获取模块,用于获取第一事务相对应的第一事务处理程序;
注释模块,用于注释所述第一事务处理程序的开启事务函数,得到第一程序;
第二获取模块,用于若所述第一程序运行失败,则获取导致所述第一程序运行失败的
第一函数;
第一判断模块,用于判断第二事务相对应的第二事务处理程序是否包括所述第一函
数;若包括,则运行所述第二事务处理程序。
7.根据权利要求6所述的一种数据库事务优化系统,其特征在于,所述判断模块包括:
第一判断单元,用于判断所述第二事务处理程序是否包括所述第一函数;
第二判断单元,用于若包括,则判断所述第二事务处理程序中第一函数是否存在一变
量值与所述第一事务处理程序中第一函数对应变量的变量值不相同;
第一运行单元,用于若存在,则注释所述第二事务处理程序的开启事务函数,得到第二
程序;运行所述第二程序;否则,运行所述第二事务处理程序。
8.根据权利要求7所述的一种数据库事务优化系统,其特征在于,还包括:
预设模块,用于预设数据库的第三事务;
第二判断模块,用于若所述第二程序运行失败,则判断所述第三事务是否包括所述第
一函数;
第一运行模块,用于若包括,则运行所述第三事务对应的第三事务处理程序;
第二运行模块,用于若所述第二程序运行成功,则注释所述第三事务处理程序的开启
事务函数,得到第三程序;运行所述第三程序。
9.根据权利要求6所述一种数据库事务优化系统,其特征在于,所述第一判断模块还包
括:
第二运行单元,用于若所述第二事务处理程序中包括所述第一函数,则在物理内存运
行所述第二事务处理程序;
注释单元,用于若第二事务中不包括所述第一函数,则注释所述第二事务处理程序的
开启事务函数,得到第三程序;
第三运行单元,用于在预设的虚拟内存中运行所述第三程序。
10.根据权利要求6所述一种数据库事务优化系统,其特征在于,还包括:
第三获取模块,用于获取所述第一事务的初始数据;
替换模块,用于若所述第一程序运行失败,则替换所述第一事务的数据为所述初始数
据。

说明书

一种数据库事务优化方法及系统

技术领域

本发明涉及数据处理领域,尤其涉及一种数据库事务优化方法及系统。

背景技术

数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列
操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操
作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么
全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作
单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。事务是数
据库运行中的一个逻辑工作单位,由数据库管理系统中的事务管理子系统负责事务的处
理。

目前数据库操作时,要考虑一些特殊情况需要对事务进行回滚,但是,实际上真正
出现问题的概率很低,每次采用事务处理方法,导致数据库性能下降。

申请号为:201310414935.X的中国专利公开了数据库事务处理方法与装置,用于
让事务可以跨线程工作,该数据库事务处理方法包括:判断第一事务中的用户是否处于工
作状态,得出第一判断结果;在所述第一判断结果为所述用户处于非工作状态时,控制所述
第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;判断所述用户
是否返回工作状态,并得出第二判断结果;在所述第二判断结果为所述用户返回工作状态
时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。当事务处于非工作状态,
控制该事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用,在一定程序
上能够提高事务的处理效率,但如果同时有大量的事务需要处理,则事务的处理效率并不
高,同时若事务处理失败时,再次处理相同事务时并未给出相应的处理策略。

发明内容

本发明所要解决的技术问题是:提供了一种数据库事务优化方法及系统,提高了
数据库事务处理效率,同时保证了数据处理的正确性。

为了解决上述技术问题,本发明提供了一种数据库事务优化方法,包括以下步骤:

S1:获取第一事务相对应的第一事务处理程序;

S2:注释所述第一事务处理程序的开启事务函数,得到第一程序;

S3:若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函数;

S4:判断第二事务相对应的第二事务处理程序是否包括所述第一函数;若包括,则
运行所述第二事务处理程序。

本发明还提供了一种数据库事务优化系统,包括:

第一获取模块,用于获取第一事务相对应的第一事务处理程序;

注释模块,用于注释所述第一事务处理程序的开启事务函数,得到第一程序;

第二获取模块,用于若所述第一程序运行失败,则获取导致所述第一程序运行失
败的第一函数;

第一判断模块,用于判断第二事务相对应的第二事务处理程序是否包括所述第一
函数;若包括,则运行所述第二事务处理程序。

本发明的有益效果:

目前数据库事务处理时,需要开启事务处理功能,但是,实际上真正出现问题的概
率很低,若都启用事务会导致数据库性能下降,数据处理效率变低;本发明通过注释第一事
务处理程序的开启事务函数,得到第一程序,运行所述第一程序,若所述第一程序运行失
败,则获取导致所述第一程序运行失败的第一函数;运行第二事务时,通过判断第二事务处
理程序中是否包括所述第一函数,若包括,则不注释第二事务对应的第二事务处理程序,采
用正常处理事务的方法处理;若不包括,则注释所述第二事务处理程序的开启事务函数,运
行注释后的程序;对于不包括导致第一程序运行失败的函数的其他事务,不开启事务处理
功能,减小了程序运行时间,提高了数据处理效率;而包括第一函数的事务开启事务进行处
理,保证了事务处理的准确性;故本发明在提高了数据处理效率的同时,在一定程度上保证
了数据处理的正确性。

附图说明

图1为本发明实施例的一种数据库事务优化方法的主要步骤流程图;

图2为根据本发明实施例的一种数据库事务优化系统的结构示意图;

标号说明:

1、第一获取模块;2、注释模块;3、第二获取模块;4、第一判断模块。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附
图详予说明。

本发明最关键的构思在于:通过获取第一程序运行失败的第一函数,若第二事务
处理程序包括第一函数,则运行第二事务处理程序,能够提高数据库的事务处理效率,同时
保证数据处理的正确性。

请参照图1,本发明提供了一种数据库事务优化方法,包括以下步骤:

S1:获取第一事务相对应的第一事务处理程序;

S2:注释所述第一事务处理程序的开启事务函数,得到第一程序;

S3:若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函数;

S4:判断第二事务相对应的第二事务处理程序是否包括所述第一函数;若包括,则
运行所述第二事务处理程序。

从上述描述可知,本发明通过注释第一事务处理程序的开启事务函数,得到第一
程序,运行所述第一程序,若所述第一程序运行失败,则获取导致所述第一程序运行失败的
第一函数;运行第二事务时,通过判断第二事务处理程序中是否包括所述第一函数,若包
括,则不注释第二事务对应的第二事务处理程序,采用正常处理事务的方法处理;若不包
括,则注释所述第二事务处理程序的开启事务函数,运行注释后的程序;对于不包括导致第
一程序运行失败的函数的其他事务,不开启事务处理功能,减小了程序运行时间,提高了数
据处理效率;而包括第一函数的事务开启事务进行处理,保证了事务处理的准确性;故本发
明在提高了数据处理效率的同时,在一定程度上保证了数据处理的正确性。

进一步的,所述S4具体为:

判断所述第二事务处理程序是否包括所述第一函数;

若包括,则判断所述第二事务处理程序中第一函数是否存在一变量值与所述第一
事务处理程序中第一函数对应变量的变量值不相同;

若存在,则注释所述第二事务处理程序的开启事务函数,得到第二程序;运行所述
第二程序;

否则,运行所述第二事务处理程序。

从上述描述可知,若第二事务处理程序中第一函数存在一变量值与第一事务处理
程序中第一函数的对应变量的变量值不相同,代表第二事务处理程序中第一函数相对于第
一事务处理程序中第一函数处理对象不同,此时为了提高效率,通过注释所述第二事务处
理程序的开启事务函数,得到第二程序;运行所述第二程序;否则,运行所述第二事务处理
程序;上述方法,当第二变量值集合存在一变量值与第一变量值集合对应变量的变量值不
同时,通过不开启事务处理的方法,进一步提高了数据的处理效率。

进一步的,所述的一种数据库事务优化方法,还包括:

预设数据库的第三事务;

若所述第二程序运行失败,则判断所述第三事务是否包括所述第一函数;

若包括,则运行所述第三事务对应的第三事务处理程序;

若所述第二程序运行成功,则注释所述第三事务处理程序的开启事务函数,得到
第三程序;运行所述第三程序。

从上述描述可知,若第二程序运行失败,则代表包括第一函数的事务多次运行失
败,为了保证事务处理的正确性,后续包括所述第一函数的事务处理均采用正常事务处理
方法,无论事务处理程序包括第一函数的参数是否有发生变化,提高了事务处理的准确性。

进一步的,所述S4具体为:

若所述第二事务处理程序中包括所述第一函数,则在物理内存运行所述第二事务
处理程序;

否则,注释所述第二事务处理程序的开启事务函数,得到第三程序;

在预设的虚拟内存中运行所述第三程序。

从上述描述可知,当同时处理事务过多,会占用过大的物理内存,通过虚拟内存处
理第三程序的方法,提高了计算机处理性能,使事务处理效率得到提高。

进一步的,所述一种数据库事务优化方法,还包括:

获取所述第一事务的初始数据;

若所述第一程序运行失败,则替换所述第一事务的数据为所述初始数据。

从上述描述可知,由于运行第一程序时,并未开启事务处理功能,导致第一程序运
行失败时不能发生回滚,通过上述方法,当第一程序运行失败,能够将第一事务的数据恢复
到初始状态,使事务不采用事务处理功能时不会造成数据出错。

请参照图2,提供了一种数据库事务优化系统,包括:

第一获取模块1,用于获取第一事务相对应的第一事务处理程序;

注释模块2,用于注释所述第一事务处理程序的开启事务函数,得到第一程序;

第二获取模块3,用于若所述第一程序运行失败,则获取导致所述第一程序运行失
败的第一函数;

第一判断模块4,用于判断第二事务相对应的第二事务处理程序是否包括所述第
一函数;若包括,则运行所述第二事务处理程序。

从上述描述可知,本发明通过注释第一事务处理程序的开启事务函数,得到第一
程序,运行所述第一程序,若所述第一程序运行失败,则获取导致所述第一程序运行失败的
第一函数;运行第二事务时,通过判断第二事务处理程序中是否包括所述第一函数,若包
括,则不注释第二事务对应的第二事务处理程序,采用正常处理事务的方法处理;若不包
括,则注释所述第二事务处理程序的开启事务函数,运行注释后的程序;对于不包括导致第
一程序运行失败的函数的其他事务,不开启事务处理功能,减小了程序运行时间,提高了数
据处理效率;而包括第一函数的事务开启事务进行处理,保证了事务处理的准确性;故本发
明在提高了数据处理效率的同时,在一定程度上保证了数据处理的正确性。

请参照图1,本发明的实施例一为:

获取第一事务相对应的第一事务处理程序;

注释所述第一事务处理程序的开启事务函数,得到第一程序;

若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函数;

判断第二事务相对应的第二事务处理程序是否包括所述第一函数;

若包括,则获取所述第一事务处理程序中第一函数的变量值,得到第一变量值集
合;

获取所述第二事务处理程序中第一函数的变量值,得到第二变量值集合;

若所述第二变量值集合中存在一变量值与所述第一变量值集合中对应变量的变
量值不相同,则注释所述第二事务处理程序的开启事务函数,得到第二程序;运行所述第二
程序;否则,运行所述第二事务处理程序。

从上述描述可知,当第二变量值集合存在一变量值与第一变量值集合对应变量的
变量值不同时,通过不开启事务处理的方法,进一步提高了数据的处理效率。

本发明的实施例二为:

实施例二与实施例一的区别在于,一种数据库事务优化方法还包括:

预设数据库的第三事务;

若所述第二程序运行失败,则判断所述第三事务是否包括所述第一函数;若包括,
则运行所述第三事务对应的第三事务处理程序;

若所述第二程序运行成功,则注释所述第三事务处理程序的开启事务函数,得到
第三程序;运行所述第三程序。

从上述描述可知,若第二程序运行失败,则代表包括第一函数的事务多次运行失
败,为了保证事务处理的正确性,后续包括所述第一函数的事务处理均采用正常事务处理
方法,无论事务处理程序包括第一函数的参数是否有发生变化,提高了事务处理的准确性。

本发明的实施例三为:

获取第一事务相对应的第一事务处理程序;

获取所述第一事务的初始数据;

注释所述第一事务处理程序的开启事务函数,得到第一程序;

若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函数;替换
所述第一事务的数据为所述初始数据;

若所述第二事务处理程序中包括所述第一函数,则在物理内存运行所述第二事务
处理程序;

否则,注释所述第二事务处理程序的开启事务函数,得到第三程序;在预设的虚拟
内存中运行所述第三程序。

从上述描述可知,当同时处理事务过多,会占用过大的物理内存,通过虚拟内存处
理第三程序的方法,提高了计算机处理性能,使事务处理效率得到提高;由于运行第一程序
时,并未开启事务处理功能,导致第一程序运行失败时不能发生回滚,通过上述方法,当第
一程序运行失败,能够将第一事务的数据恢复到初始状态,使事务不采用事务处理功能时
不会造成数据出错。

请参照图2,本发明的实施例四为:

第一获取模块,用于获取第一事务相对应的第一事务处理程序,并将第一事务处
理程序发送至注释模块;注释模块,用于注释所述第一事务处理程序的开启事务函数,得到
第一程序,发送第一程序至第二获取模块;第二获取模块,用于若所述第一程序运行失败,
则获取导致所述第一程序运行失败的第一函数,并将第一函数发送至第一判断单元;第一
判断单元,用于判断所述第二事务处理程序是否包括所述第一函数,并将判断结果发送至
第二判断单元;第二判断单元,用于若包括,则判断所述第二事务处理程序中第一函数是否
存在一变量值与所述第一事务处理程序中第一函数对应变量的变量值不相同,并将判断结
果发送至第一运行单元;第一运行单元,用于若存在,则注释所述第二事务处理程序的开启
事务函数,得到第二程序;运行所述第二程序;否则,运行所述第二事务处理程序;

预设模块,用于预设数据库的第三事务;第二判断模块,用于若所述第二程序运行
失败,则判断所述第三事务是否包括所述第一函数,并将判断结果发送至第一运行模块;第
一运行模块,用于若包括,则运行所述第三事务对应的第三事务处理程序;第二运行模块,
用于若所述第二程序运行成功,则注释所述第三事务处理程序的开启事务函数,得到第三
程序;运行所述第三程序。

本发明的实施例五为:

从数据库中获取购买书包对应的第一事务的初始数据,同时获取第一事务的相对
应的第一事务处理程序,注释第一事务处理程序的开启事务函数,得到第一程序;运行第一
程序,若第一程序运行失败了,则获取导致该程序失败的第一函数,假设是buy函数导致第
一程序失败了;同时将第一事务的数据恢复为初始数据;运行数据库中购买手机对应的第
二事务时,检测到第二事务相对应的第二事务处理程序包括buy函数;判断第二事务处理程
序中buy函数是否存在一变量值与第一事务处理程序中buy函数对应变量的变量值不相同,
由于第二事务处理的是购买手机的事务,故存在,因此对第二事务采用不开启事务的方法
进行处理;若第二事务处理失败了,则无论是购买何种商品,后续包括buy函数的事务均采
用正常的事务处理方法进行处理。

综上所述,本发明通过注释第一事务处理程序的开启事务函数,得到第一程序,运
行所述第一程序,若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函
数;运行第二事务时,通过判断第二事务处理程序中是否包括所述第一函数,若包括,则不
注释第二事务对应的第二事务处理程序,采用正常处理事务的方法处理;若不包括,则注释
所述第二事务处理程序的开启事务函数,运行注释后的程序;对于不包括导致第一程序运
行失败的函数的其他事务,不开启事务处理功能,减小了程序运行时间,提高了数据处理效
率;而包括第一函数的事务开启事务进行处理,保证了事务处理的准确性;故本发明在提高
了数据处理效率的同时,在一定程度上保证了数据处理的正确性。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发
明说明书及附图内容所作的等同变换,或直接或间接运用在其他相关的技术领域,均同理
包括在本发明的专利保护范围内。

一种数据库事务优化方法及系统.pdf_第1页
第1页 / 共10页
一种数据库事务优化方法及系统.pdf_第2页
第2页 / 共10页
一种数据库事务优化方法及系统.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种数据库事务优化方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种数据库事务优化方法及系统.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明涉及数据处理领域,尤其涉及一种数据库事务优化方法及系统,通过以下步骤提高事务处理效率:获取第一事务相对应的第一事务处理程序;注释所述第一事务处理程序的开启事务函数,得到第一程序;若所述第一程序运行失败,则获取导致所述第一程序运行失败的第一函数;判断第二事务相对应的第二事务处理程序是否包括所述第一函数;若包括,则运行所述第二事务处理程序。本发明提高了事务处理效率,同时在一定程度上保证了数据处理。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1