一种数据转发控制方法、装置、存储介质及电子装置与流程

文档序号:25047866发布日期:2021-05-14 12:43阅读:118来源:国知局
一种数据转发控制方法、装置、存储介质及电子装置与流程

1.本发明实施例涉及通信领域,具体而言,涉及一种数据转发控制方法、装置、存储介质及电子装置。


背景技术:

2.在现有的数据运营过程中,需要对接收的数据进行拦截或更新,但是如果直接对所有的数据进行拦截,可能导致后续的系统功能无法正常运行,因而需要在数据拦截更新操作生效前对数据进行事先预知,即对数据中的某一条语句执行后会影响的数据特征进行事先预知。
3.但是存在一些语句需要在客户端发送到数据库服务器,服务器返回的结果才能知道影响结果(如update、delete等语句),而此时系统已经对数据库中的数据的删改操作,这就导致了系统的错误操作,影响了系统的正常运行。
4.而目前,对于上述问题并没有较好的解决方案。


技术实现要素:

5.本发明实施例提供了一种数据转发控制方法、装置、存储介质及电子装置,以至少解决相关技术中对语句识别滞后的问题。
6.根据本发明的一个实施例,提供了一种数据转发控制方法,包括:获取数据调取指令;对所述数据调取指令进行第一处理,以得到数据探测指令;将所述数据探测指令发送给数据库;获取所述数据库基于所述数据探测指令反馈的目标数据信息,并对所述目标数据信息进行解析以获取所述目标数据信息的目标数据特征;确定与所述目标数据特征对应的目标转发规则,并基于所述目标转发规则向所述数据库发送目标指令,以指示所述数据库按照所述目标转发规则进行数据处理。
7.在一个示例性实施例中,所述对所述数据调取指令进行第一处理,以得到数据探测指令包括:对所述数据调取指令进行语法分析处理,以得到语法分析结果;根据所述语法分析结果确定所述数据调取指令中包含的第一数据和第二数据;构造包含所述第一数据的所述数据探测指令,其中,所述数据探测指令不包含所述第二数据。
8.在一个示例性实施例中,将所述数据探测指令发送给数据库包括:对所述数据探测指令进行语句检测处理;在检测结果为所述数据探测指令符合预定条件的情况下,将所述数据探测指令发送给所述数据库。
9.在一个示例性实施例中,确定与所述数据特征对应的转发规则包括:
从预先配置的对应关系中确定出与所述目标数据特征对应的所述目标转发规则,其中,所述对应关系用于记录数据特征与转发规则之间的对应关系,且不同的数据特征对应相同或不同的转发规则。
10.在一个示例性实施例中,所述目标数据特征包括所述目标数据信息的行数信息。
11.根据本发明的另一个实施例,提供了一种数据转发控制装置,包括:数据采集模块,用于获取数据调取指令;第一处理模块,用于对所述数据调取指令进行第一处理,以得到数据探测指令;数据转发模块,用于将所述数据探测指令发送给数据库;数据解析模块,用于获取所述数据库基于所述数据探测指令反馈的目标数据信息,并对所述目标数据信息进行解析以获取所述目标数据信息的目标数据特征;指令发送模块,用于确定与所述目标数据特征对应的目标转发规则,并基于所述目标转发规则向所述数据库发送目标指令,以指示所述数据库按照所述目标转发规则进行数据处理。
12.在一个示例性实施例中,所述第一处理模块包括:语法分析单元,用于对所述数据调取指令进行语法分析处理,以得到语法分析结果;数据确定单元,用于根据所述语法分析结果确定所述数据调取指令中包含的第一数据和第二数据;指令构造单元,用于构造包含所述第一数据的所述数据探测指令,其中,所述数据探测指令不包含所述第二数据。
13.在一个示例性实施例中,所述数据转发模块包括:语句检测单元,用于对所述数据探测指令进行语句检测处理;指令发送单元,用于在检测结果为所述数据探测指令符合预定条件的情况下,将所述数据探测指令发送给所述数据库。
14.根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
15.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
16.通过本发明,由于对数据调取指令进行截取和探测,并在确定了转发规则之后再对数据进行处理,从而能够在对数据进行转发之前完成对数据的识别,因此,可以解决数据识别滞后的问题,达到提高数据交互精确度的效果。
附图说明
17.图1是本发明实施例的一种数据转发控制方法的移动终端的硬件结构框图;图2是根据本发明实施例的一种数据转发控制方法的流程图;图3是根据本发明实施例的一种数据转发控制装置的结构框图;图4是根据本发明的具体实施例的结构框图;图5是根据本发明的实施例的流程图。
具体实施方式
18.下文中将参考附图并结合实施例来详细说明本发明的实施例。
19.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
20.本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据转发控制方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
21.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据转发控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
22.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
23.在本实施例中提供了一种数据转发控制方法,图2是根据本发明实施例的一种数据转发控制方法的流程图,如图2所示,该流程包括如下步骤:步骤s202,获取数据调取指令;在本实施例中,通过对客户端发送至数据库的指令或数据进行拦截,使得在指令或数据到达数据库并指示数据库执行对应动作之前完成对指令或数据的识别,从而避免因数据或指令识别滞后造成的数据库执行错误操作。
24.其中,数据调取指令可以包括(但不限于)调取指令的代码指令、数据调取指令的标识信息、客户端的地址、所要调取的数据的标识信息等,如sql语句等;数据调取指令的传输可以是通过以太网、蓝牙进行传输的,也可以是通过3g/4g/5g/量子通信等无线传输网络进行传输的,还可以是通过其它方式进行传输的。
25.步骤s204,对数据调取指令进行第一处理,以得到数据探测指令;在本实施例中,对数据探测指令是用于从数据库中调取目标所要反馈的目标数据,以及该数据对后续操作的影响,从而能够实现对数据交互过程的监控。
26.其中,目标数据包括(但不限于)多种预设的数据类型以及数据类型对应的多个的具体数据;数据探测指令包括(但不限于)指令的代码、目标数据的标识信息、数据探测指令
的标识信息、目标数据的反馈地址等;对数据调取指令的处理可以(但不限于)是在脱敏设备中预设的处理模块进行的,且处理方式可以是根据预设的算法进行的,也可以是通过其方式进行处理的。
27.步骤s206,将数据探测指令发送给数据库;在本实施例中,将数据探测指令发送给数据库是为了指示数据库将目标数据进行反馈以判断确定该数据的转发规则。
28.其中,数据探测指令的传输可以是通过可以是通过以太网、蓝牙进行传输的,也可以是通过3g/4g/5g/量子通信等无线传输网络进行传输的,还可以是通过其它方式进行传输的。
29.步骤s208,获取数据库基于数据探测指令反馈的目标数据信息,并对目标数据信息进行解析以获取目标数据信息的目标数据特征;在本实施例中,获取目标数据特征是为了确定在执行对目标数据信息的交互或其它处理操作后对后续操作的影响,从而能够对目标数据信息执行拦截或转发等操作。
30.其中,目标数据特征可以是数据行数,也可以是其它特征。
31.步骤s2010,确定与目标数据特征对应的目标转发规则,并基于目标转发规则向数据库发送目标指令,以指示数据库按照目标转发规则进行数据处理。
32.在本实施例中,在确定转发规则之后再指示数据库按照转发规则进行数据处理,从而避免了数据识别滞后造成的错误操作。
33.其中,目标转发规则可以是指示数据库进行转发、拦截、迟滞等操作的规则,也可以是其它规则;目标转发规则的确定可以是根据预先设定的目标数据特征与目标转发规则之间的关系确定的,也可以是根据预设的算法确定的,还可以是根据其它方式确定的;目标转发规则的确定过程的执行可以是通过内设的逻辑计算模块来实现的,如cpu、mcu、plc、单片机等,也可以是通过外接的逻辑计算设备来实现的,如工业计算机等。
34.通过上述步骤,由于对数据调取指令进行拦截,并根据数据库反馈的目标数据信息进行目标转发规则匹配,从而实现了对反馈的目标数据信息进行识别,解决了数据识别滞后造成的错误操作,提高了数据交互的可控性。
35.其中,上述步骤的执行主体可以为基站、终端等,但不限于此。
36.在一个可选的实施例中,对数据调取指令进行第一处理,以得到数据探测指令包括:步骤s2042,对数据调取指令进行语法分析处理,以得到语法分析结果;步骤s2044,根据语法分析结果确定数据调取指令中包含的第一数据和第二数据;步骤s2046,构造包含第一数据的数据探测指令,其中,数据探测指令不包含第二数据。
37.在本实施例中,对数据调取指令进行语句分析是为了确定数据调取指令中包含的信息,以及确定数据调取指令中的语法规则,以方便进行探测语句的构建。
38.其中,语法分析处理可以(但不限于)包括对数据调取指令中包含的标识信息、客户端地址、语法规则、数据内容等信息进行分析;第一数据和第二数据的确定可以是通过第一数据和第二数据的标识信息进行识别来确定;第一数据可以(但不限于)是数据构建指令需要保留而不影响真实记录数的执行条件,例如,不影响数据真实查询结果或更新删除结
果的部分;第二数据可以是数据构建指令不能包含的执行条件,数据探测指令的构建包括(但不限于)将分析得到的客户端地址等信息进行整合,以及对数据探测指令的句柄进行合理创建和销毁等。
39.例如,在将update语句的where条件整改成探测指令时,where条件是需要保留的,而更新的字段不需要保留;具体的,updatet1 set a=

b’where c=

d’,这条语句的探测指令为select count(*)from t1 where c=

d’。
40.在一个可选的实施例中,将数据探测指令发送给数据库包括:步骤s2062,对数据探测指令进行语句检测处理;步骤s2064,在检测结果为数据探测指令符合预定条件的情况下,将数据探测指令发送给数据库。
41.在本实施例中,对数据探测指令进行语句检测是为了避免不符合预定条件的数据探测指令被发送至数据库导致的数据库识别错误,从而提高数据处理效率。
42.其中,预定条件可以(但不限于)是数据探测指令是否符合语法规则、地址是否正确、通信包是否完整等。
43.在一个可选的实施例中,确定与数据特征对应的转发规则包括:步骤s20102,从预先配置的对应关系中确定出与目标数据特征对应的目标转发规则,其中,对应关系用于记录数据特征与转发规则之间的对应关系,且不同的数据特征对应相同或不同的转发规则。
44.在本实施例中,对数据探测指令进行语句检测处理是为了保证数据探测指令的正确性,避免错误的语法导致数据识别错误或无法识别。
45.其中,语句检测处理可以(但不限于)包括检测数据探测指令的语法是否符合语法规则、标识是否正确、地址是否正确等;预定条件可以(但不限于)包括语法满足语法规则、标识正确等。
46.在一个可选的实施例中,目标数据特征包括目标数据信息的行数信息。
47.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
48.在本实施例中还提供了一种数据转发控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
49.图3是根据本发明实施例的一种数据转发控制装置的结构框图,如图3所示,该装置包括:数据采集模块32,用于获取数据调取指令;第一处理模块34,用于对数据调取指令进行第一处理,以得到数据探测指令;数据转发模块36,用于将数据探测指令发送给数据库;
数据解析模块38,用于获取数据库基于数据探测指令反馈的目标数据信息,并对目标数据信息进行解析以获取目标数据信息的目标数据特征;指令发送模块310,用于确定与目标数据特征对应的目标转发规则,并基于目标转发规则向数据库发送目标指令,以指示数据库按照目标转发规则进行数据处理。
50.在一个可选的实施例中,第一处理模块34包括:语法分析单元342,用于对数据调取指令进行语法分析处理,以得到语法分析结果;数据确定单元344,用于根据语法分析结果确定数据调取指令中包含的第一数据和第二数据;指令构造单元346,用于构造包含第一数据的数据探测指令,其中,数据探测指令不包含第二数据。
51.在一个可选的实施例中,数据转发模块36包括:语句检测单元362,用于对数据探测指令进行语句检测处理;指令发送单元364,用于在检测结果为数据探测指令符合预定条件的情况下,将数据探测指令发送给数据库。
52.在一个可选的实施例中,指令发送模块310包括:规则确定单元3102,用于从预先配置的对应关系中确定出与目标数据特征对应的目标转发规则,其中,对应关系用于记录数据特征与转发规则之间的对应关系,且不同的数据特征对应相同或不同的转发规则。
53.在一个可选的实施例中,目标数据特征包括目标数据信息的行数信息。
54.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
55.下面结合具体实施例对本发明进行说明。
56.如图4所示,本发明的设备部署流程具体包括以下步骤:步骤1:数据库防护类产品以网桥的方式部署,串接在数据库和交换机或客户端之间,此时,以网桥的方式部署的数据库防护类产品的功能等同于进行数据传输的数据线。
57.其中,数据的流向为,客户端通过交换机转到数据库时,防火墙需要进行解析和行数探测以控制流量的转发,在获取到行数后,再判断是否需要转发或拦截;相应的,数据库的应答信息为同样的路径反向返回。
58.如图5所示,本发明的控制流程具体包括以下步骤:步骤1:将客户端发送的sql语句进行拦截,既不转发给数据库(对应图5中的步骤s501)。
59.步骤2:对拦截的语句进行语句分析,同时构建行数探测语句(对应图5中的步骤s502)。
60.步骤3:将构建好的探测语句发送给数据库(对应图5中的步骤s503)。
61.步骤4:采集探测语句在数据库端返回的应答结果,通过协议解析获得行数(对应图5中的步骤s504)。
62.步骤5:进行控制条件判定,若拦截则发送拦截包给数据库,若放行则直接转发原
数据包(对应图5中的步骤s505及s506)。
63.需要说明的是,行数探测的基本原则包括:部署方式:以网桥的方式说明,代理插件的方式同样适用。
64.语句改写:要对原始语句进行语法分析,以确定必须包含的执行条件和不能在构建探测语句时包含的执行条件或数据,同时要保证探测语句的正确性,不能有语法错误。
65.控制原理:控制通信包的转发、另起外挂程序与数据库建立连接获取行数,取到行数后进行规则匹配,根据匹配的结果是拦截还是放行来控制数据包的转发。
66.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
67.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read

only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
68.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
69.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
70.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
71.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
72.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1