数据库事务执行方法、装置、拟态系统、存储介质制造方法及图纸

技术编号:38496202 阅读:16 留言:0更新日期:2023-08-15 17:06
本发明专利技术提出了一种数据库事务执行方法、装置、拟态系统、存储介质,该方法包括:业务代理单元在业务请求添加请求标识后发送至执行体;执行体根据业务请求生成候选SQL语句,将事务标识和SQL顺序标识与请求标识进行拼接得到SQL唯一标识,将携带有SQL唯一标识的候选SQL语句发送至内裁决器进行裁决,从裁决通过的候选SQL语句中确定目标SQL语句;通过内裁决器确定数据库连接,将数据库连接关联事务标识和请求标识后将目标SQL语句发送至数据库执行。根据本发明专利技术实施例的技术方案,能够在对数据添加标识,标识相同的语句可用同一条数据库连接,并且数据库连接关联事务标识和请求标识,能够在一段时间内有效,实现了数据库事务原子性、隔离性、一致性和持久性。一致性和持久性。一致性和持久性。

【技术实现步骤摘要】
数据库事务执行方法、装置、拟态系统、存储介质


[0001]本专利技术涉及网络安全
,特别涉及一种数据库事务执行方法、装置、拟态系统、存储介质。

技术介绍

[0002]目前,网络空间安全问题日益成为最为严峻的挑战之一。拟态防御技术是为应对网络空间中已知和未知的漏洞和后门的威胁,以多样化技术为基础,采用动态异构冗余(Dynamic Heterogeneous Redundancy,DHR)的系统架构,能够有效使用动态性、异构性和随机性等特性使系统具有内生的安全机理来提高系统的安全性。
[0003]部分拟态系统中使用了数据库作为数据存储设备,虽然实现了数据的存储功能,但是往往缺乏对数据库事务的支持,一旦数据库出现异常,则无法对各个执行体发送的数据库事务进行连接管理,数据库也不能正常识别数据库事务的具体来源,无法保证业务的数据库事务的原子性、一致性、隔离性和持久性。

技术实现思路

[0004]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种数据库事务执行方法、装置、拟态系统、存储介质,能够在数据库异常时确保业务的数据库事务的原子性、一致性、隔离性和持久性。
[0005]第一方面,本专利技术实施例提供了一种数据库事务执行方法,应用于拟态系统,所述拟态系统包括业务代理单元、多个执行体、内裁决器和数据库,所述业务代理单元与所述执行体相连接,所述执行体与所述内裁决器相连接,所述内裁决器与所述数据库相连接,所述数据库事务执行方法包括:
[0006]当所述业务代理单元获取到业务请求,在所述业务请求添加请求标识后发送至各个所述执行体;
[0007]各个所述执行体根据所述业务请求生成候选SQL语句,将事务标识和SQL顺序标识与所述请求标识进行拼接得到SQL唯一标识,将携带有所述SQL唯一标识的所述候选SQL语句发送至所述内裁决器,其中,所述事务标识用于指示所述候选SQL语句的数据库事务,所述SQL顺序标识用于指示所述候选SQL语句在所述数据库的当前执行顺序;
[0008]所述内裁决器对多个所述候选SQL语句进行裁决,从裁决通过的所述候选SQL语句中确定一个目标SQL语句;
[0009]通过所述内裁决器从连接数据库的事务执行连接中确定数据库连接,将所述数据库连接关联所述事务标识和所述请求标识,通过所述数据库连接将所述目标SQL语句发送至所述数据库执行。
[0010]根据本专利技术的一些实施例,所述事务标识和所述SQL顺序标识均为所述执行体通过自增的方式生成的数字标识。
[0011]根据本专利技术的一些实施例,在所述通过所述数据库连接将所述目标SQL语句发送
至所述数据库执行之后,所述方法还包括:
[0012]当所述内裁决器获取到新的目标SQL语句,根据所述新的目标SQL语句的所述SQL唯一标识匹配出所述数据库连接;
[0013]通过所述数据库连接将所述新的目标SQL语句发送至所述数据库。
[0014]根据本专利技术的一些实施例,在所述通过所述数据库连接将所述目标SQL语句发送至所述数据库执行之后,所述方法还包括:
[0015]当所述内裁决器将获取到新的候选SQL语句裁决成异常SQL语句,向对应的所述执行体反馈异常信息;
[0016]所述执行体接收到所述异常信息后,根据所述异常SQL语句的所述SQL唯一标识所对应的所述数据库连接,向所述内裁决器发送回滚SQL语句;
[0017]所述内裁决器不经裁决将所述回滚SQL语句通过对应的所述数据库连接发送至所述数据库,所述数据库根据所述回滚SQL语句进行事务回滚。
[0018]根据本专利技术的一些实施例,所述数据库根据所述回滚SQL语句进行事务回滚,包括:
[0019]将通过所述回滚SQL语句所对应的所述数据库连接发送的数据库事务确定为待回滚数据库事务;
[0020]将全部的所述待回滚数据库事务按照时间顺序进行回滚。
[0021]根据本专利技术的一些实施例,所述内裁决器对多个所述候选SQL语句进行裁决,包括:
[0022]所述内裁决器从所述候选SQL语句解析出所述SQL唯一标识;
[0023]当所述SQL唯一标识依次包括所述请求标识、所述事务标识、所述SQL顺序标识,确定所述候选SQL语句为可裁决的候选SQL语句;
[0024]所述内裁决器对所述可裁决的候选SQL语句进行裁决。
[0025]根据本专利技术的一些实施例,在所述通过所述数据库连接将所述目标SQL语句发送至所述数据库执行之后,所述方法还包括:
[0026]保存所述事务标识、所述请求标识与所述数据库连接的映射关系;
[0027]根据预设周期清理所述映射关系。
[0028]第二方面,本专利技术实施例提供了一种数据库事务执行装置,包括少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如上述第一方面所述的数据库事务执行方法。
[0029]第三方面,本专利技术实施例提供了一种拟态系统,包括有如上述第二方面所述的数据库事务执行装置。
[0030]第四方面,本专利技术实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述第一方面所述的数据库事务执行方法。
[0031]根据本专利技术实施例的数据库事务执行方法,至少具有如下有益效果:当所述业务代理单元获取到业务请求,在所述业务请求添加请求标识后发送至各个所述执行体;各个所述执行体根据所述业务请求生成候选SQL语句,将事务标识和SQL顺序标识与所述请求标识进行拼接得到SQL唯一标识,将携带有所述SQL唯一标识的所述候选SQL语句发送至所述
内裁决器;所述内裁决器对多个所述候选SQL语句进行裁决,从裁决通过的所述候选SQL语句中确定一个目标SQL语句;通过所述内裁决器从连接数据库的事务执行连接中确定数据库连接,将所述数据库连接关联所述事务标识和所述请求标识,通过所述数据库连接将所述目标SQL语句发送至所述数据库执行。根据本专利技术实施例的技术方案,能够在对每一步操作得到的数据添加标识,实现了数据库事务的原子性;标识相同的语句可以直接使用同一条数据库连接,实现了数据库事务的一致性和隔离性,并且数据库连接关联事务标识和请求标识,能够在一段时间内有效,实现了数据库事务的持久性。
附图说明
[0032]图1是本专利技术一个实施例提供的拟态系统的示意图;
[0033]图2是本专利技术一个实施例提供的数据库事务执行方法的流程图;
[0034]图3是本专利技术另一个实施例提供的数据库连接发送同一个请求的语句的流程图;
[0035]图4是本专利技术另一个实施例提供的回滚SQL的流程图;
[0036]图5是本专利技术另一个实施例提供的回滚所有SQL的流程图;
[0037]图6是本专利技术另一个实施例提供的裁决SQL语句的流程图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库事务执行方法,其特征在于,应用于拟态系统,所述拟态系统包括业务代理单元、多个执行体、内裁决器和数据库,所述业务代理单元与所述执行体相连接,所述执行体与所述内裁决器相连接,所述内裁决器与所述数据库相连接,所述数据库事务执行方法包括:当所述业务代理单元获取到业务请求,在所述业务请求添加请求标识后发送至各个所述执行体;各个所述执行体根据所述业务请求生成候选SQL语句,将事务标识和SQL顺序标识与所述请求标识进行拼接得到SQL唯一标识,将携带有所述SQL唯一标识的所述候选SQL语句发送至所述内裁决器,其中,所述事务标识用于指示所述候选SQL语句的数据库事务,所述SQL顺序标识用于指示所述候选SQL语句在所述数据库的当前执行顺序;所述内裁决器对多个所述候选SQL语句进行裁决,从裁决通过的所述候选SQL语句中确定一个目标SQL语句;通过所述内裁决器从连接数据库的事务执行连接中确定数据库连接,将所述数据库连接关联所述事务标识和所述请求标识,通过所述数据库连接将所述目标SQL语句发送至所述数据库执行。2.根据权利要求1所述的数据库事务执行方法,其特征在于,所述事务标识和所述SQL顺序标识均为所述执行体通过自增的方式生成的数字标识。3.根据权利要求1所述的数据库事务执行方法,其特征在于,在所述通过所述数据库连接将所述目标SQL语句发送至所述数据库执行之后,所述方法还包括:当所述内裁决器获取到新的目标SQL语句,根据所述新的目标SQL语句的所述SQL唯一标识匹配出所述数据库连接;通过所述数据库连接将所述新的目标SQL语句发送至所述数据库。4.根据权利要求1所述的数据库事务执行方法,其特征在于,在所述通过所述数据库连接将所述目标SQL语句发送至所述数据库执行之后,所述方法还包括:当所述内裁决器将获取到新的候选SQL语句裁决成异常SQL语句,向对应的所述执行体反馈异常信息;所述执行体接收到所...

【专利技术属性】
技术研发人员:王三海王炳勋樊建勇李振华孙统帅
申请(专利权)人:珠海高凌信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1