CN112860740B - 一种触发器实现的方法和装置 - Google Patents

一种触发器实现的方法和装置 Download PDF

Info

Publication number
CN112860740B
CN112860740B CN201911183347.3A CN201911183347A CN112860740B CN 112860740 B CN112860740 B CN 112860740B CN 201911183347 A CN201911183347 A CN 201911183347A CN 112860740 B CN112860740 B CN 112860740B
Authority
CN
China
Prior art keywords
request
trigger
write
plan tree
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.)
Active
Application number
CN201911183347.3A
Other languages
English (en)
Other versions
CN112860740A (zh
Inventor
王海军
丁岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinzhuan Xinke Co Ltd
Original Assignee
Jinzhuan Xinke Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinzhuan Xinke Co Ltd filed Critical Jinzhuan Xinke Co Ltd
Priority to CN201911183347.3A priority Critical patent/CN112860740B/zh
Priority to PCT/CN2020/126580 priority patent/WO2021103969A1/zh
Priority to EP20891959.7A priority patent/EP4050495A4/en
Publication of CN112860740A publication Critical patent/CN112860740A/zh
Application granted granted Critical
Publication of CN112860740B publication Critical patent/CN112860740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提出一种触发器实现的方法和装置。该方法包括:根据写语句请求的类型确定写语句请求执行计划树和与写语句请求对应的触发器执行计划树;合并写语句请求执行计划树和触发器执行计划树,得到写请求触发计划树;执行写请求触发计划树。在执行写语句请求时,能够在原写语句请求的执行逻辑中加入触发器的执行逻辑,并通过新组成的执行计划对原写语句请求进行执行,从而在分布式数据库的基础上实现了触发器的应用,增强了分布式数据库的功能特性,提高了用户的体验效果。

Description

一种触发器实现的方法和装置
技术领域
本申请涉及数据库技术领域,具体涉及一种触发器实现的方法和装置。
背景技术
触发器是数据库提供给程序员和分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,而是由事件来触发,比如当对一个表进行操作时就会激活它执行。
发明人在实现本申请的过程中发现,现有技术中的分布式数据库目前还不支持触发器,但在一些应用场景业务线中又急需触发器的功能,从而影响分布式数据库的功能特性,以及用户的体验效果。
发明内容
为了解决上述至少一个技术问题,本申请实施例提供了以下方案。
本申请实施例提供了一种触发器实现的方法,包括:
根据写语句请求的类型确定写语句请求执行计划树和与写语句请求对应的触发器执行计划树;
合并写语句请求执行计划树和触发器执行计划树,得到写请求触发计划树;
执行写请求触发计划树。
本申请实施例提供了一种触发器实现的装置,包括:
子执行计划树获取模块,用于根据写语句请求的类型确定写语句请求执行计划树和与写语句请求对应的触发器执行计划树;
写请求触发计划树获取模块,用于合并写语句请求执行计划树和触发器执行计划树,得到写请求触发计划树;
触发计划树执行模块,用于执行写请求触发计划树。
本申请实施例所提供的触发器实现的方法和装置,在执行写语句请求时,能够在原写语句请求的执行逻辑中加入触发器的执行逻辑,并通过新组成的执行计划对原写语句请求进行执行,从而在分布式数据库的基础上实现了触发器的应用,增强了分布式数据库的功能特性,提高了用户的体验效果。
附图说明
图1是本申请实施例提供的触发器实现的方法流程示意图;
图2是本申请实施例提供的创建触发器交互时序图;
图3是本申请实施例提供的触发器触发执行语句请求的交互时序图;
图4是本申请实施例提供的触发器实现的装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,本申请提供的一种触发器实现的方法流程示意图。该方法可以适用于通过触发器触发执行语句请求的情况。该方法可以由本申请提供的触发器实现的装置执行,该触发器实现的装置由软件和/或硬件实现,并集成在一个设备上。
如图1所示,本申请实施方式提供的一种触发器实现的方法流程示意图,该方法可以包括:
步骤11,根据写语句请求的类型确定写语句请求执行计划树和与写语句请求对应的触发器执行计划树。
在一个示例中,根据写语句请求的类型确定写语句请求执行计划树和与写语句请求对应的触发器执行计划树,可以包括:根据写语句请求的类型获取新参数值和旧参数值;根据新参数值、旧参数值和触发器对应的元数据获得触发器执行计划树;根据写语句请求的类型直接获得写语句请求执行计划树。
在一个示例中,分布式数据库包括:计算节点和存储节点,其中,计算节点和存储节点之间进行信令交互。
在一个示例中,根据写语句请求的类型确定写语句请求执行计划树和与写语句请求对应的触发器执行计划树之前,还可以包括:根据客户端发送的创建请求,通过计算节点和存储节点创建触发器;将触发器对应的元数据在计算节点进行保存。
在一个示例中,写语句请求的类型包括第一类写语句请求和第二类写语句请求,其中,第一类写语句请求包括insert语句,第二类写语句请求包括update语句、delete语句或insert...select语句。
在一个示例中,根据写语句请求的类型获取新参数值和旧参数值,包括:在确定写语句请求的类型包括insert语句时,则直接获取insert语句中所包含的参数信息,并将参数信息作为旧参数值;设置新参数值与旧参数值相同。
在一个示例中,根据写语句请求的类型获取新参数值和旧参数值,可以包括:在确定写语句请求的类型包括第二类写语句请求时,则向存储节点中发送获取数据请求,并接收存储节点根据获取数据请求所返回的参数信息;根据参数信息获取新参数值和旧参数值。
在一个示例中,根据参数信息获取新参数值和旧参数值,可以包括:在确定写语句请求的类型包括update语句时,则将参数信息作为旧参数值;根据update语句和旧参数值获得新参数值。
在一个示例中,根据参数信息获取新参数值和旧参数值,可以包括:在确定写语句请求的类型包括delete语句或insert...select语句时,则将参数信息作为旧参数值;设置新参数值与旧参数值相同。
在一个示例中,根据客户端发送的创建请求,通过计算节点和存储节点创建触发器,可以包括:接收客户端发送的创建请求,其中,创建请求中包含待创建的触发器名称和触发器逻辑;通过计算节点确定是否存在触发器,若存在,则直接返回触发器存在指令,否则,根据创建请求创建触发器。
在一个示例中,根据创建请求创建触发器,可以包括:根据创建请求判断触发器是否可以下压,若是,则通过计算节点向存储节点发送下压创建请求,存储节点根据下压创建请求创建触发器,并将触发器对应的元数据返回给计算节点进行保存;否则,计算节点直接根据创建请求创建触发器,并将触发器对应的元数据进行保存。
步骤12,合并写语句请求执行计划树和触发器执行计划树,得到写请求触发计划树。
在一个示例中,本申请实施方式中可以将上述所得到的写语句请求执行计划树与所得到的触发器执行计划树合并,即将触发器本身所包含的处理逻辑添加到写语句请求本身所包含的处理逻辑中,从而得到写请求触发计划树。
需要说明的是,在触发器执行计划树中可以包含触发时间,例如before/after;可以包含监视事件,例如insert/update/delete;可以包含触发事件,例如insert/update/delete,还可以包含监视地点,例如table等,当然,本实施方式中仅是举例进行说明,而并不限定触发器所包含信息的具体内容。
步骤13,执行写请求触发计划树。
具体的说,在本申请实施方式中,在获得写请求触发计划树后,分布式数据库可以通过执行写请求触发计划树中所包含的处理逻辑,对客户端所发送的写语句请求进行执行,从而实现了触发器在分布式数据库中的应用。
例如,当触发器中包含的触发事件为update,触发时间为after,监控事件为update,监控地点为table1,则当写语句请求中包含table1和update时,则在确定执行update事件之后,执行按照指定的table1从分布式数据库中获取数据,并执行相应的操作。
本申请实施例公开的触发器实现的方法,在执行写语句请求时,能够在原写语句请求的执行逻辑中加入触发器的执行逻辑,并通过新组成的执行计划对原写语句请求进行执行,从而在分布式数据库的基础上实现了触发器的应用,增强了分布式数据库的功能特性,提高了用户的体验效果。
如图2所示,本申请实施方式提供的创建触发器交互时序图。其中,Client表示客户端,Proxy表示计算节点,DB表示存储节点,计算节点和存储节点组成分布式数据库,并且本申请实施方式中在执行语句请求之前,分布式数据库可以通过计算节点和存储节点根据客户端的创建请求创建触发器。
需要说明的是,本实施方式中的分布式数据库中还可以包括其它类型的节点,如管理节点,计算节点在将触发器对应的元数据进行保存主要指的缓存,而管理节点是用于实现元数据的最终保存,当然,管理节点还可以具有其他应用,由于管理节点的其他应用并不是本申请的重点,所以本实施方式中不再对其进行赘述。
101:Proxy接收Client发送的创建请求。
其中,创建请求中包含待创建的触发器名称和触发器逻辑,当然,在创建请求中还包含待创建的触发器的属性信息,属性信息可以包含下压信息或非下压信息,本实施方式中仅是举例说明,对于其它类型的属性信息也是在本申请的保护范围内的,本申请实施方式中不再进行赘述。
102:判断是否已经存在触发器。
通过计算节点Proxy根据触发器名称从分布式数据库中的表信息中进行查询,确定是否存在相同名称的触发器,若存在,则执行103,否则,执行104。
103:创建请求回复。
Proxy向Client返回创建请求回复,该创建请求回复中包含存在相同名称的触发器指示信息。
104:判断是否可以下压。
Client在经过查询确定不存在相同名称的触发器时,会根据创建请求创建触发器。在创建触发器时会根据创建请求中所包含的属性信息判断触发器是否可以下压,若可以下压,则执行105,否则,执行107。
105:向DB发送下压创建请求。
其中,在确定可以下压的情况下则通过计算节点Proxy向存储节点DB发送下压创建请求,存储节点DB根据下压创建请求创建触发器,在创建完成的情况下会执行106。
106:DB创建请求回复。
其中,DB在触发器创建完成的情况下会向Proxy反馈创建请求回复,并将触发器对应的元数据反馈给Proxy进行保存。
107:存储元数据。
其中,在确定不可以下压的情况下则Proxy直接根据创建请求创建触发器并将触发器对应的元数据进行保存。
需要说明的是,根据105和107可以看出,针对待创建的触发器的下压情况,分布式数据库中执行创建触发器的主体是存在区别的,在确定可以下压的情况下,执行创建动作的执行主体是DB,在确定不可以下压的情况下,执行创建动作的执行主体是Proxy,但不论执行创建动作的执行主体是DB还是Proxy,创建出来的触发器所对应的元数据都会在Proxy中进行保存。
108:创建请求回复。
Proxy向Client返回创建请求回复,该创建请求回复中包含触发器已经创建完成的指示信息。
如图3所示,为本申请实施方式提供的触发器触发执行语句请求的交互时序图。
201:Proxy接收Client发送的写语句请求。
其中,客户端Client发送给计算节点Proxy的写语句请求的类型包括第一类写语句请求和第二类写语句请求,其中,第一类写语句请求包括insert语句,第二类写语句请求包括update语句、delete语句或insert...select语句,在图3中针对步骤201用字母Insert来表示insert和insert...select这两种类型的写语句请求。
需要说明的是,本申请实施方式中的写语句请求中还包含写表表名,即写语句需要针对分布式数据库中的哪个表进行操作。
202:判断是否已经存在触发器。
Proxy会根据写语句请求中包含的写表表名在所保存的元数据中进行查询,判断是否存在相应的触发器,若不存在,则执行203,若存在,则执行204
203:写语句请求回复。
其中,Proxy在确定触发器不存在的情况下,仅会根据写语句请求生成写语句请求执行计划树,根据写语句请求执行计划树对写语句请求进行执行后,向写客户端Client反馈写语句请求回复,由于触发器不存在的情况下并不是本申请的重点,因此本实施方式中不再进行赘述。
204:获取触发器元数据
其中,Proxy在确定触发器存在的情况下,会提取之前所保存的触发器元数据,元数据中包含针对该触发器所设定的执行逻辑。
205:向DB下发select…for update请求。
需要说明的是,在确定存在触发器的情况下需要构建触发器执行计划树,而在构建触发器执行计划树时,具体是根据写语句请求的类型获取新参数值和旧参数值;根据新参数值、旧参数值和触发器对应的元数据获得触发器执行计划树。
针对新参数值和旧参数值的获取,Proxy根据第二类写语句请求包括update语句、delete语句或insert...select语句,需要向DB下发select...for update请求获取到相关参数信息,并通过执行206至208从相关参数信息中确定出新参数值和旧参数值,而Proxy根据第一类写语句请求insert语句可以直接执行209来获得,无需向DB发送请求来获取参数信息。
206:select回复。
其中,DB在获取到Proxy发送的请求信息后,会根据请求向Proxy反馈请求信息中所需要获取的相关参数信息。
207:将select上来的参数信息和写语句请求计算新参数值。
针对写语句请求的类型不同,根据参数信息获取新参数值和旧参数值的具体方式也是存在区别的,在确定写语句请求的类型包括update语句时,则将从DB中所获取的参数信息作为旧参数值;根据update语句和旧参数值计算出新参数值。
208:将select上来的参数信息作为旧参数值,新参数值设置成与旧参数值相同。
其中,在确定写语句请求的类型包括delete语句或insert...select语句时等非update语句时,则将参数信息作为旧参数值,并设置新参数值与旧参数值相同。
209:将写语句请求中直接获取的参数信息作为旧参数值,新参数值和旧参数值相同。
其中,在确定写语句请求的类型包括insert语句时,则直接从insert语句中获取所包含的参数信息,并将参数信息作为旧参数值。
210:根据新参数值、旧参数值和触发器元数据生成触发器执行计划树。
其中,在获取的新参数值、旧参数值和触发器元数据之后,可以将新参数值、旧参数值添加到触发器元数据中,得到包含触发器处理逻辑的触发器执行计划树。
211:根据写语句请求生成写语句请求执行计划树。
其中,Proxy会根据写语句请求生成写语句请求执行计划树,写语句请求执行计划树中包含原写语句请求所包含的处理逻辑。
212:将触发器执行计划树和写语句请求执行计划树合并生成写请求触发计划树。
其中,本实施方式中将触发器执行计划树和写语句请求执行计划树进行合并,即将触发器包含的处理逻辑添加到原写语句请求所包含的处理逻辑中,从而实现触发器在分布式数据库的应用。
213:按照写请求触发计划树将写语句请求发送至DB。
其中,Proxy会按照请求触发计划树中所包含的新的处理逻辑将写语句请求发送到DB中,并由DB进行执行。
214:返回执行结果。
DB在对写语句请求处理后会将处理结果反馈给Proxy。
215:写语句请求回复。
Proxy将DB所反馈的处理结果发送给Client,以对Client所发送的写语句请求进行结果回复。
图4示出本申请实施例的触发器实现的装置结构示意图,如图4所示,该装置包括:子执行计划树获取模块41,用于根据写语句请求的类型确定写语句请求执行计划树和与写语句请求对应的触发器执行计划树;写请求触发计划树获取模块42,用于合并写语句请求执行计划树和触发器执行计划树,得到写请求触发计划树;触发计划树执行模块43,用于执行写请求触发计划树。
本实施例提供的触发器实现的装置用于实现本申请的触发器实现的方法,本实施例提供的触发器实现的装置实现原理和技术效果与本申请的触发器实现的方法类似,此处不再赘述。
在一个示例中,子执行计划树获取模块,具体用于:根据写语句请求的类型获取新参数值和旧参数值;根据新参数值、旧参数值和触发器对应的元数据获得触发器执行计划树;根据写语句请求的类型直接获得写语句请求执行计划树。
在一个示例中,分布式数据库包括:计算节点和存储节点,其中,计算节点和存储节点之间进行信令交互。
在一个示例中,还包括:触发器创建模块,用于:根据客户端发送的创建请求,通过计算节点和存储节点创建触发器;将触发器对应的元数据在计算节点进行保存。
在一个示例中,写语句请求的类型包括第一类写语句请求和第二类写语句请求,其中,第一类写语句请求包括insert语句,第二类写语句请求包括update语句、delete语句或insert...select语句。
在一个示例中,子执行计划树获取模块在执行根据写语句请求的类型获取新参数值和旧参数值时,具体用于:在确定写语句请求的类型包括insert语句时,则直接获取insert语句中所包含的参数信息,并将参数信息作为旧参数值;设置新参数值与旧参数值相同。
在一个示例中,子执行计划树获取模块在执行根据写语句请求的类型获取新参数值和旧参数值时,具体用于:在确定写语句请求的类型包括第二类写语句请求时,则向存储节点中发送获取数据请求,并接收存储节点根据获取数据请求所返回的参数信息;根据参数信息获取新参数值和旧参数值。
在一个示例中,子执行计划树获取模块在执行根据参数信息获取新参数值和旧参数值,具体用于:在确定写语句请求的类型包括update语句时,则将参数信息作为旧参数值;根据update语句和旧参数值获得新参数值。
在一个示例中,子执行计划树获取模块在执行根据参数信息获取新参数值和旧参数值,具体用于:在确定写语句请求的类型包括delete语句或insert...select语句时,则将参数信息作为旧参数值;设置新参数值与旧参数值相同。
在一个示例中,触发器创建模块在执行根据客户端发送的创建请求,通过计算节点和存储节点创建触发器时,具体用于:接收客户端发送的创建请求,其中,创建请求中包含待创建的触发器名称和触发器逻辑;通过计算节点确定是否存在触发器,若存在,则直接返回触发器存在指令,否则,根据创建请求创建触发器。
在一个示例中,触发器创建模块在执行根据创建请求创建触发器时,具体用于:根据创建请求判断触发器是否可以下压,若是,则通过计算节点向存储节点发送下压创建请求,存储节点根据下压创建请求创建触发器,并将触发器对应的元数据返回给计算节点进行保存;否则,计算节点直接根据创建请求创建触发器,并将触发器对应的元数据进行保存。
通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本发明的范围。因此,本发明的恰当范围将根据权利要求确定。

Claims (11)

1.一种触发器实现的方法,应用于分布式数据库,其特征在于,包括:
根据写语句请求的类型确定写语句请求执行计划树和与所述写语句请求对应的触发器执行计划树;
合并所述写语句请求执行计划树和所述触发器执行计划树,得到写请求触发计划树;
执行所述写请求触发计划树;
所述根据写语句请求的类型确定写语句请求执行计划树和与所述写语句请求对应的触发器执行计划树,包括:
根据所述写语句请求的类型获取新参数值和旧参数值;
根据所述新参数值、所述旧参数值和所述触发器对应的元数据获得所述触发器执行计划树;
根据所述写语句请求的类型直接获得所述写语句请求执行计划树;
所述合并写语句请求执行计划树和触发器执行计划树,得到写请求触发计划树,包括:
将触发器本身所包含的处理逻辑添加到写语句请求本身所包含的处理逻辑中,从而得到写请求触发计划树。
2.根据权利要求1所述的方法,其特征在于,所述分布式数据库包括:计算节点和存储节点,其中,所述计算节点和所述存储节点之间进行信令交互。
3.根据权利要求2所述的方法,其特征在于,所述根据写语句请求的类型确定写语句请求执行计划树和与所述写语句请求对应的触发器执行计划树之前,还包括:
根据客户端发送的创建请求,通过所述计算节点和所述存储节点创建所述触发器;
将所述触发器对应的所述元数据在所述计算节点进行保存。
4.根据权利要求3所述的方法,其特征在于,所述写语句请求的类型包括第一类写语句请求和第二类写语句请求,
其中,所述第一类写语句请求包括insert语句,所述第二类写语句请求包括update语句、delete语句或insert...select语句。
5.根据权利要求4所述的方法,其特征在于,所述根据所述写语句请求的类型获取新参数值和旧参数值,包括:
在确定所述写语句请求的类型包括所述insert语句时,则直接获取所述insert语句中所包含的参数信息,并将所述参数信息作为所述旧参数值;
设置所述新参数值与所述旧参数值相同。
6.根据权利要求4所述的方法,其特征在于,所述根据所述写语句请求的类型获取新参数值和旧参数值,包括:
在确定所述写语句请求的类型包括所述第二类写语句请求时,则向所述存储节点中发送获取数据请求,并接收所述存储节点根据所述获取数据请求所返回的参数信息;
根据所述参数信息获取所述新参数值和所述旧参数值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述参数信息获取所述新参数值和所述旧参数值,包括:
在确定所述写语句请求的类型包括所述update语句时,则将所述参数信息作为所述旧参数值;
根据所述update语句和所述旧参数值获得所述新参数值。
8.根据权利要求6所述的方法,其特征在于,所述根据所述参数信息获取所述新参数值和所述旧参数值,包括:
在确定所述写语句请求的类型包括所述delete语句或insert...select语句时,则将所述参数信息作为所述旧参数值;
设置所述新参数值与所述旧参数值相同。
9.根据权利要求3所述的方法,其特征在于,所述根据客户端发送的创建请求,通过所述计算节点和所述存储节点创建所述触发器,包括:
接收所述客户端发送的创建请求,其中,所述创建请求中包含待创建的触发器名称和触发器逻辑;
通过所述计算节点确定是否存在所述触发器,若存在,则直接返回触发器存在指令,否则,根据所述创建请求创建所述触发器。
10.根据权利要求9所述的方法,所述根据所述创建请求创建所述触发器,包括:
根据所述创建请求判断所述触发器是否可以下压,若是,则通过所述计算节点向所述存储节点发送下压创建请求,所述存储节点根据所述下压创建请求创建所述触发器,并将所述触发器对应的所述元数据返回给所述计算节点进行保存;
否则,所述计算节点直接根据所述创建请求创建所述触发器,并将所述触发器对应的所述元数据进行保存。
11.一种触发器实现的装置,包括:
子执行计划树获取模块,用于根据写语句请求的类型确定写语句请求执行计划树和与所述写语句请求对应的触发器执行计划树;
写请求触发计划树获取模块,用于合并所述写语句请求执行计划树和所述触发器执行计划树,得到写请求触发计划树;
触发计划树执行模块,用于执行所述写请求触发计划树;
子执行计划树获取模块,具体用于:根据写语句请求的类型获取新参数值和旧参数值;根据新参数值、旧参数值和触发器对应的元数据获得触发器执行计划树;根据写语句请求的类型直接获得写语句请求执行计划树;
所述合并写语句请求执行计划树和触发器执行计划树,得到写请求触发计划树,包括:
将触发器本身所包含的处理逻辑添加到写语句请求本身所包含的处理逻辑中,从而得到写请求触发计划树。
CN201911183347.3A 2019-11-27 2019-11-27 一种触发器实现的方法和装置 Active CN112860740B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911183347.3A CN112860740B (zh) 2019-11-27 2019-11-27 一种触发器实现的方法和装置
PCT/CN2020/126580 WO2021103969A1 (zh) 2019-11-27 2020-11-04 一种触发器实现的方法和装置
EP20891959.7A EP4050495A4 (en) 2019-11-27 2020-11-04 METHOD AND DEVICE FOR TRIGGER IMPLEMENTATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911183347.3A CN112860740B (zh) 2019-11-27 2019-11-27 一种触发器实现的方法和装置

Publications (2)

Publication Number Publication Date
CN112860740A CN112860740A (zh) 2021-05-28
CN112860740B true CN112860740B (zh) 2022-12-20

Family

ID=75984867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911183347.3A Active CN112860740B (zh) 2019-11-27 2019-11-27 一种触发器实现的方法和装置

Country Status (3)

Country Link
EP (1) EP4050495A4 (zh)
CN (1) CN112860740B (zh)
WO (1) WO2021103969A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327414B (zh) * 2022-01-25 2022-11-15 重庆允丰科技有限公司 节点可插拨的触发器实现方法及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063331A (zh) * 2014-07-03 2014-09-24 龙芯中科技术有限公司 处理器、共享存储区域访问方法和锁管理器
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
WO2016078592A1 (zh) * 2014-11-21 2016-05-26 华为技术有限公司 批量数据查询方法和装置
CN107229628A (zh) * 2016-03-23 2017-10-03 中兴通讯股份有限公司 分布式数据库预处理的方法及装置
CN107798017A (zh) * 2016-09-07 2018-03-13 南京中兴新软件有限责任公司 分布式数据库中的执行计划信息生成方法和系统
CN109885585A (zh) * 2019-02-18 2019-06-14 星环信息科技(上海)有限公司 支持存储过程、触发器与视图的分布式数据库系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721725B2 (en) * 2001-03-29 2004-04-13 Hewlett-Packard Development Company, L.P. Method of parallel trigger execution in an active database
US20070083545A1 (en) * 2005-10-12 2007-04-12 Erwin Pinter Selectively triggering events
CN101256577B (zh) * 2008-03-18 2013-06-05 中兴通讯股份有限公司 一种嵌入式数据库中触发器的实现方法
CN102289433B (zh) * 2010-06-18 2015-03-25 中兴通讯股份有限公司 一种实现数据库触发器功能的方法及装置
CN104462078A (zh) * 2013-09-12 2015-03-25 方正信息产业控股有限公司 一种xml数据库触发器的实现方法、装置及xml数据库

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063331A (zh) * 2014-07-03 2014-09-24 龙芯中科技术有限公司 处理器、共享存储区域访问方法和锁管理器
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
WO2016078592A1 (zh) * 2014-11-21 2016-05-26 华为技术有限公司 批量数据查询方法和装置
CN107229628A (zh) * 2016-03-23 2017-10-03 中兴通讯股份有限公司 分布式数据库预处理的方法及装置
CN107798017A (zh) * 2016-09-07 2018-03-13 南京中兴新软件有限责任公司 分布式数据库中的执行计划信息生成方法和系统
CN109885585A (zh) * 2019-02-18 2019-06-14 星环信息科技(上海)有限公司 支持存储过程、触发器与视图的分布式数据库系统和方法

Also Published As

Publication number Publication date
EP4050495A4 (en) 2022-11-30
CN112860740A (zh) 2021-05-28
EP4050495A1 (en) 2022-08-31
WO2021103969A1 (zh) 2021-06-03

Similar Documents

Publication Publication Date Title
CN106951430B (zh) 账表查询方法及装置
CN109766349B (zh) 任务防重方法、装置、计算机设备及存储介质
CN107038222B (zh) 数据库缓存实现方法及其系统
CN108376156B (zh) 创建数据库索引的方法、装置、服务器及存储介质
CN109933609B (zh) 一种批量生成id的方法及终端
CN104423982A (zh) 请求的处理方法和处理设备
CN110764894A (zh) 一种定时任务管理方法、装置、设备及存储介质
CN110795431B (zh) 环境监测数据处理方法、装置、设备及存储介质
CN112860740B (zh) 一种触发器实现的方法和装置
CN112416710A (zh) 用户操作的记录方法、装置、电子设备及存储介质
CN113760976A (zh) 业务的处理方法、装置、设备及存储介质
CN112434037A (zh) 数据处理方法、处理装置、数据处理设备和存储介质
CN116541387A (zh) 数据闪回方法、装置、电子设备及存储介质
CN115858668A (zh) 分布式事务处理方法、装置、电子装置及存储介质
CN111159142A (zh) 一种数据处理方法及装置
JP5943753B2 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
CN114064664A (zh) 在数据库中查询事务修改内容的方法及装置
CN108271420A (zh) 管理文件的方法、文件系统和服务器系统
CN108376104B (zh) 节点调度方法及装置、计算机可读存储介质
KR20170130911A (ko) Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법
CN110781170B (zh) 基于aop的历史数据保护方法及装置
CN107844491B (zh) 一种在分布式系统中实现强一致性读操作的方法与设备
CN114385758A (zh) 基于数据库的数据同步方法、装置、电子设备及存储介质
CN112528198B (zh) 一种基于前端的细节权限控制方法、系统、设备及介质
CN115917526B (zh) 用于事务存储系统的元数据管理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220210

Address after: 100176 floor 18, building 8, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang group, high-end industrial area of Beijing Pilot Free Trade Zone)

Applicant after: Jinzhuan Xinke Co.,Ltd.

Address before: 518057 Zhongxing building, science and technology south road, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen

Applicant before: ZTE Corp.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant