一种数据库的数据处理方法、存储介质与设备技术

技术编号:36212875 阅读:13 留言:0更新日期:2023-01-04 12:09
本发明专利技术提供了一种数据库的数据处理方法、存储介质与设备,该数据处理方法包括从待发送语句中筛选出目标语句,目标语句为包含用于执行操作后返回结果的设定语法的语句;对目标语句进行参数分离,并将分离出的绑定参数保存至绑定参数链表内;对目标语句进行改写,并将改写后的目标语句发送至数据库服务器;获取数据库服务器的返回数据包;对返回数据包进行解析,并将解析结果保存至列描述链表内;根据绑定参数列表与列描述链表找到需求数据,并取出赋值。本发明专利技术的方法通过引入用于执行操作后返回结果的设定语法,省去许多冗余操作,提高效率,提升性能。提升性能。提升性能。

【技术实现步骤摘要】
一种数据库的数据处理方法、存储介质与设备


[0001]本专利技术涉及数据库领域,特别是涉及一种数据库的数据处理方法、存储介质与设备。

技术介绍

[0002]在数据库领域的一些业务场景中,用户需要更新一行或者多行目标数据行,然后获得自己刚刚更新之后的行。要实现上述功能,可以通过两种方法:一是通过借助触发器和临时表等技巧和复杂的操作来实现,但是这些复杂的步骤导致语句执行效率也显著降低了,并且需要对每个数据表创建触发器,明显降低了效率。二是用户需要在一个显式事务中执行UPDATE语句,然后使用相同的查询条件把UPDATE的语句取出来,之所以要在显式事务中做,是为了防止其他并发的食物UPDATE了本连接刚刚UPDATE的行,那样的话,随后的SELECT语句得到行就不是本连接刚刚UPDATE之后的行了,因为这些行又被其他事务更新过了。

技术实现思路

[0003]本专利技术的一个目的是要提供一种能够解决上述任一问题的数据库的数据处理方法、存储介质与设备。
[0004]本专利技术一个进一步的目的是要保证数据的一致性。
[0005]本专利技术另一个进一步的目的是要提升便利性。
[0006]特别地,本专利技术提供了数据库的数据处理方法,该数据处理方法包括:
[0007]从待发送语句中筛选出目标语句,目标语句为包含用于执行操作后返回结果的设定语法的语句;
[0008]对目标语句进行参数分离,并将分离出的绑定参数保存至绑定参数链表内;
[0009]对目标语句进行改写,并将改写后的目标语句发送至数据库服务器;
[0010]获取数据库服务器的返回数据包;
[0011]对返回数据包进行解析,并将解析结果保存至列描述链表内;
[0012]根据绑定参数列表与列描述链表找到需求数据,并取出赋值。
[0013]进一步地,对返回数据包进行解析,并将解析结果保存至列描述链表内的步骤包括:
[0014]从返回数据包中解析行描述信息,得到解析值,并将解析值存放于列描述链表内,解析值包括行名、对象标识符;
[0015]从解析行描述信息的位置解析行数据,得到数据长度;
[0016]根据数据长度解析出数据,并将数据存放于列描述链表内。
[0017]进一步地,根据绑定参数列表与列描述链表找到需求数据的步骤包括:
[0018]在绑定参数列表中取出绑定列名;
[0019]将绑定列名与列描述链表中的列名依次比对;
[0020]根据比对结果确定绑定列名在列描述链表中的位置;
[0021]根据绑定列名的位置找到在行数据对应位置上的数据。
[0022]进一步地,对目标语句进行改写的步骤包括:
[0023]去除目标语句的指定标识及指定标识之后的字符。
[0024]进一步地,从待发送语句中筛选出目标语句的步骤包括:
[0025]判断待发送语句内是否含有第一标识字符;
[0026]若是,从第一标识字符所在位置向后循环后面的字符;
[0027]判断后续字符中是否含有指定标识;
[0028]若是,则判断后续字符中是否含有引用字符和左括号字符;
[0029]在不包含情况下确定待发送语句为目标语句。
[0030]进一步地,对目标语句进行参数分离,并将分离的绑定参数保存至绑定参数链表内的步骤包括:
[0031]确定第二标识字符位置;
[0032]从第二标识字符所在位置开始循环;
[0033]循环至英文字符位置开始分离绑定参数;
[0034]判断绑定参数中是否含有指定参数;
[0035]在含有指定参数的情况下将绑定参数保存至绑定参数列表。
[0036]进一步地,绑定参数包括参数名、参数值以及参数类型。
[0037]进一步地,解析结果包括行名、对象标识符、数据。
[0038]根据本专利技术的另一方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现根据上述任一种数据库的数据处理方法。
[0039]根据本专利技术的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现根据上述任一种数据库的数据处理方法。
[0040]本专利技术的数据库的数据处理方法包括从待发送语句中筛选出目标语句,目标语句为包含用于执行操作后返回结果的设定语法的语句;对目标语句进行参数分离,并将分离出的绑定参数保存至绑定参数链表内;对目标语句进行改写,并将改写后的目标语句发送至数据库服务器;获取数据库服务器的返回数据包;对返回数据包进行解析,并将解析结果保存至列描述链表内;根据绑定参数列表与列描述链表找到需求数据,并取出赋值。本专利技术的方法通过引入用于执行操作后返回结果的设定语法,省去许多冗余操作,提高效率,提升性能。
[0041]根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
附图说明
[0042]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0043]图1是根据本专利技术一个实施例的数据处理方法的实现架构图;
[0044]图2是根据本专利技术一个实施例的数据处理方法的步骤流程图;
[0045]图3是根据本专利技术一个实施例的数据处理方法中目标语句改写步骤的示意图;
[0046]图4是根据本专利技术一个实施例的数据处理方法中返回数据包处理的步骤流程图;
[0047]图5是根据本专利技术一个实施例的数据处理方法中根据绑定参数列表与列描述链表找到需求数据步骤的步骤流程图;
[0048]图6是根据本专利技术一个实施例的数据处理方法中的目标语句筛选步骤的步骤流程图;
[0049]图7是根据本专利技术又一个实施例的数据处理方法中的目标语句筛选步骤的示意图;
[0050]图8是根据本专利技术一个实施例的数据处理方法中绑定参数分离步骤的步骤流程图;
[0051]图9是根据本专利技术又一个实施例的数据处理方法中绑定参数分离步骤的步骤流程图;
[0052]图10是根据本专利技术又一个实施例的数据处理方法中绑定参数插入绑定参数列表步骤的步骤流程图;
[0053]图11是根据本专利技术一个实施例的数据处理方法的数据流向图;
[0054]图12是根据本专利技术又一个实施例的数据处理方法的数据流向图;
[0055]图13是根据本专利技术一个实施例的机器可读存储介质的示意图;以及
[0056]图14是根据本专利技术一个实施例的计算机设备的示意图。
具体实施方式
[0057]图1是是根据本专利技术一个实施例的数据处理方法的实现架构图。如图1所示,本实施例的设备架构包括多个客户端(client&dr本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库的数据处理方法,包括:从待发送语句中筛选出目标语句,所述目标语句为包含用于执行操作后返回结果的设定语法的语句;对所述目标语句进行参数分离,并将分离出的绑定参数保存至绑定参数链表内;对所述目标语句进行改写,并将改写后的所述目标语句发送至数据库服务器;获取所述数据库服务器的返回数据包;对所述返回数据包进行解析,并将解析结果保存至列描述链表内;根据所述绑定参数列表与所述列描述链表找到需求数据,并取出赋值。2.根据权利要求1所述的数据处理方法,其中,所述对所述返回数据包进行解析,并将解析结果保存至列描述链表内的步骤包括:从所述返回数据包中解析行描述信息,得到解析值,并将所述解析值存放于所述列描述链表内,所述解析值包括行名、对象标识符;从所述解析行描述信息的位置解析行数据,得到数据长度;根据所述数据长度解析出数据,并将所述数据存放于所述列描述链表内。3.根据权利要求2所述的数据处理方法,其中,根据所述绑定参数列表与所述列描述链表找到需求数据的步骤包括:在所述绑定参数列表中取出绑定列名;将所述绑定列名与所述列描述链表中的列名依次比对;根据比对结果确定所述绑定列名在所述列描述链表中的位置;根据所述绑定列名的位置找到在所述行数据对应位置上的数据。4.根据权利要求1所述的数据处理方法,其中,从待发送语句中筛选出目标语句的步骤包括:判断所述待发送语句内是否含有第一标识字符...

【专利技术属性】
技术研发人员:贾学娇李楠
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1