CN112579156A - 一种业务事件的处理系统以及处理方法、装置和设备 - Google Patents
一种业务事件的处理系统以及处理方法、装置和设备 Download PDFInfo
- Publication number
- CN112579156A CN112579156A CN202011459550.1A CN202011459550A CN112579156A CN 112579156 A CN112579156 A CN 112579156A CN 202011459550 A CN202011459550 A CN 202011459550A CN 112579156 A CN112579156 A CN 112579156A
- Authority
- CN
- China
- Prior art keywords
- event
- service
- code
- component
- execution
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 90
- 238000003672 processing method Methods 0.000 title description 7
- 230000027455 binding Effects 0.000 claims abstract description 120
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000001360 synchronised effect Effects 0.000 claims description 13
- 238000011161 development Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 18
- 230000001960 triggered effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000002955 isolation Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009870 specific binding Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种业务事件的处理系统以及处理方法、装置和设备。其中,该系统包括:事件管理组件、代码绑定组件和事件执行组件,事件管理组件内注册有目标应用运行时的各业务事件;代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;事件执行组件如果在目标应用运行时接收到目标业务事件的触发消息,则采用每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码。本发明实施例提供的技术方案,实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性,提高目标应用运行的安全性和高效性。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种业务事件的处理系统以及处理方法、装置和设备。
背景技术
在互联网领域内针对不同业务类型已经开发有大量应用程序,每一应用程序在执行相应的核心业务操作时,该核心业务下会扩展出大量支持该核心业务准确执行的旁路逻辑,此时该应用程序在核心业务的处理过程中,通常也需要处理各个旁路逻辑下指定的业务事件,以确保核心业务的执行准确性。
目前,在核心业务的处理过程中,应用程序对于各个旁路逻辑下指定的业务事件,存在如下三种处理方式:
1)基于核心业务代码的开发语言,在核心业务代码中编写旁路逻辑下业务事件的处理代码,并重启修改后的核心业务代码,此时将旁路逻辑嵌入到核心业务中,容易造成核心业务代码泄露,使得核心业务执行时存在一定的稳定性风险。
2)基于Lua或者其他脚本语言作为旁路逻辑下业务事件的代码语言,但是需要将脚本语言转换成核心业务的语言,从而限制了脚本的开发语言,而且由于应用程序通常不支持除原生语言外的其他脚本语言的运行,使得脚本代码的可移植性较差。
3)将核心业务处理过程中触发的各个旁路逻辑下的业务事件,按照消息的形式异步发送到Kafka消息中间件中,然后通过消息消费进程不断处理Kafka消息中间件内的各个业务事件,能够实现业务事件执行与核心业务处理的解耦,但是仅支持异步处理方式,无法同步向核心业务返回各个业务事件的处理结果,从而影响核心业务的执行效率。
发明内容
本发明实施例提供了一种业务事件的处理系统以及处理方法、装置和设备,实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性,提高目标应用运行的安全性和高效性。
第一方面,本发明实施例提供了一种业务事件的处理系统,该系统包括:事件管理组件、代码绑定组件和事件执行组件,所述事件管理组件内注册有目标应用运行时的各业务事件;其中,
所述代码绑定组件面向所述事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
所述事件执行组件如果在所述目标应用运行时接收到目标业务事件的触发消息,则采用每一许可执行方式对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码。
第二方面,本发明实施例提供了一种业务事件的处理方法,应用于上述第一方面所述的业务事件的处理系统中,该方法包括如下非顺序执行的步骤:
通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过所述事件执行组件采用所述目标业务事件注册时的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码;
其中,所述事件管理组件内注册有目标应用运行时的各业务事件。
第三方面,本发明实施例提供了一种业务事件的处理装置,配置于上述第一方面所述的业务事件的处理系统中,该装置包括:
代码绑定模块,用于通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
业务代码执行模块,用于如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过所述事件执行组件采用所述目标业务事件注册时的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码;
其中,所述事件管理组件内注册有目标应用运行时的各业务事件。
第四方面,本发明实施例提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的业务事件的处理方法。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的业务事件的处理方法。
本发明实施例提供的一种业务事件的处理系统以及处理方法、装置和设备,在事件管理组件内注册目标应用运行时存在的各个业务事件,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码,使得业务事件执行与目标应用运行之间能够资源隔离,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性;同时,如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则采用目标业务事件的每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码,避免对目标应用运行产生影响,从而提高目标应用运行的安全性和高效性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种业务事件的处理系统的原理架构图;
图2为本发明实施例二提供的一种业务事件的处理系统的结构示意图;
图3为本发明实施例三提供的一种业务事件的处理系统的结构示意图;
图4为本发明实施例四提供的一种业务事件的处理方法的流程图;
图5为本发明实施例五提供的一种业务事件的处理方法的流程图;
图6为本发明实施例六提供的一种业务事件的处理装置的结构示意图;
图7为本发明实施例七提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
由于各个业务应用在执行相应的核心业务操作时,该核心业务下会扩展出大量辅助该核心业务准确执行的旁路逻辑,因此为了确保核心业务的执行准确性,在该业务应用运行过程中,通常需要处理各个旁路逻辑下指定的业务事件;此时,本发明实施例会在任一业务应用中针对所存在的各个旁路逻辑指定的业务事件,专门设计一种新的事件处理系统,并内嵌到该业务应用中,用于在该业务应用的运行过程中,执行和管理与每一业务事件绑定的业务代码。此时,为了解决开发语言的包容性以及可移植性的问题,本发明实施例可以选用抽象描述代码执行环境的中间字节码技术(WebAssembly,WASM)来解决;WASM代码是一种抹平了不同架构的机器码,支持多种语言(如AssemblyScript、C\C++,Rust、Golang和Python等)下的编译代码能够转换为WASM代码。因此,本发明实施例可以基于WASM中间字节码,构建一个支持同步和异步的事件处理系统,并内嵌入业务应用中,以实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性,并提高业务应用运行的安全性和高效性。
实施例一
图1为本发明实施例一提供的一种业务事件的处理系统的原理架构图。本实施例可适用于在任一种业务应用内运行核心业务时,对核心业务扩展出的各个旁路逻辑下指定的业务事件进行处理的情况中。具体的,参照图1,该业务事件的处理系统10可以包括:事件管理组件110、代码绑定组件120和事件执行组件130。
其中,事件管理组件110内注册有目标应用运行时的各业务事件;具体的,代码绑定组件120面向事件管理组件110内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;事件执行组件130如果在目标应用运行时接收到目标业务事件的触发消息,则采用每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码。
可选的,本实施例中的目标应用可以为任一互联网业务类型下所开发出的能够安装于客户端上的业务应用程序,在该目标应用上执行主要的核心业务操作时,会扩展出大量用于辅助核心业务准确执行的旁路逻辑,此时为了确保目标应用内核心业务的运行准确性,本实施例还需要对各个旁路逻辑下产生的业务事件进行处理。此时,为了避免旁路逻辑下业务实践的处理,对核心业务运行造成负向影响,本实施例需要对核心业务与旁路逻辑下的业务事件进行隔离处理,使两者之间的处理过程互不影响,因此针对各个旁路逻辑下的业务事件的处理,会专门为每一业务事件重新编写相应处理功能的执行代码,以与核心业务的执行代码隔离开来,使得核心业务与旁路逻辑下的业务事件均能够独立执行,无需对核心业务的执行代码进行修改,从而保证目标应用内核心业务的运行安全性和稳定性。因此,本实施例针对目标应用内旁路逻辑下的业务事件,会专门设计一个事件处理装置,也就是本实施例中的业务事件的处理系统10,将该业务事件的处理系统10内嵌入目标应用中,用于在目标应用内的某一业务事件被触发时,能够通过运行为该业务事件重新编写的执行代码,来获取该业务事件的处理结果。
在本实施例中,为了准确了解目标应用运行时所产生的各个业务事件,会预先分析目标应用运行时,在核心业务下所扩展出的各个旁路逻辑,然后判断每一旁路逻辑下生成的业务事件,并将每一业务事件注册入事件管理组件110内,以便后续通过该事件管理组件110查看目标应用运行时核心业务扩展出的各个旁路逻辑下的业务事件,并针对每一业务事件的功能,专门编写对应的执行代码。此时,由于采用特定脚本语言编写各个业务事件的执行代码时,目标应用通常不支持除原生语言外的其他脚本语言的运行,使得采用特定脚本语言所编写的执行代码的可移植性较差,因此为了提高业务事件执行代码的可移植性,提高代码开发语言的包容性和开放性,本实施例会选用支持多语言编译转换的中间业务代码,来解决执行代码可移植性差的问题,本实施例中的中间业务代码可以为采用中间字节码技术(WebAssembly,WASM)为每一业务事件编写的WASM代码,支持多种语言(如AssemblyScript、C\C++、Rust、Golang或Python等)等编译的原始执行代码均能够转换成相应的WASM代码。
具体的,开发人员通过事件管理组件110查看目标应用运行时核心业务扩展出的各个旁路逻辑下的业务事件,并分析出每一业务事件的事件功能后,会采用任一语言的专门为各个业务事件专门编写对应的原始执行代码,同时为了保证业务事件代码的可移植性,会将该原始执行代码转换成支持多语言编译转换的WASM语言下的中间业务代码,进而通过代码绑定组件120面向事件管理组件110内已注册的每一业务事件,分别绑定为该业务事件编写的各个中间业务代码,后续通过各个业务事件与中间业务代码之间的绑定关系,来查找表示每一业务事件功能的中间业务代码,并通过运行该中间业务代码来确保业务实践的准确处理。
同时,由于每一业务事件下编写的各个中间业务代码所表示的事件功能可能存在关联,也可能不存在任何关联,因此每一业务事件下各个中间业务代码的执行方式也各不相同,通过分析每一业务事件具备的事件功能之间的联系,可以确定出每一业务事件下运行各个中间业务代码时允许采用的许可执行方式,同时在针对每一业务事件的各个事件功能,编写对应的中间业务代码时,也会定义出每一中间业务代码的实际执行方式,进而通过代码绑定组件120分析每一业务事件下编写的各个中间业务代码的实际执行方式,并按照该业务事件下每一中间业务代码的实际执行方式,将该中间业务代码绑定到该业务事件下执行方式相同的许可执行方式下,也就是在每一业务事件的每一许可执行方式下,均绑定有支持采用该许可执行方式来实际执行的中间业务代码。
需要说明的是,本实施例中业务事件的许可执行方式可以包括同步执行方式和异步执行方式中的至少一种。此时,在业务事件的同步执行方式下,会绑定一部分中间业务代码,在该业务事件的异步执行方式下,也会绑定一部分中间业务代码,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性。
进一步的,在目标应用的运行过程中,会不断触发执行对应的业务事件,此时如果通过事件执行组件130接收到某一目标业务事件的触发消息,那么直接会通过代码绑定组件120查找出该目标业务事件在每一许可执行方式下分别绑定的各个中间业务代码,然后分别采用每一许可执行方式,对应执行目标业务事件在该许可执行方式下绑定的各个中间业务代码;例如,同步执行目标业务事件在同步执行方式下绑定的各个中间业务代码,异步执行目标业务事件在异步执行方式下绑定的各个中间业务代码。
示例性的,在同步执行目标业务事件在同步执行方式下绑定的各个中间业务代码时,可以按照在同步执行方式下各个中间业务代码的绑定顺序,依次运行在同步执行方式下绑定的每一中间业务代码;而在异步执行目标业务事件在异步执行方式下绑定的各个中间业务代码时,可以专门开启一个独立线程,采用该独立线程来运行在异步执行方式下绑定的各个中间业务代码。然后,将目标业务事件下绑定的每一中间业务代码的执行结果反馈给目标应用,以确保目标应用的准确运行。
需要说明的是,本实施例中的代码绑定过程与代码执行过程属于业务事件处理的两个阶段,代码绑定过程会在本实施例中业务事件的处理系统10的开发阶段完成,在为目标应用内各个旁路逻辑下的业务事件均在每一许可执行方式下分别绑定有对应的中间业务代码后,可以将该业务事件的处理系统10内嵌到该目标应用中,并在该目标应用的运行过程中通过事件执行组件130实时接收各个业务事件的触发消息,从而在应用运行阶段执行目标业务事件的代码执行过程,以此实现目标应用内各个旁路逻辑下业务事件的准确处理,在保证目标应用内核心业务的运行准确性的基础上,进一步提高业务事件的执行可移植性和可扩展性,以及目标应用运行的安全性和高效性。
本实施例提供的技术方案,在事件管理组件内注册目标应用运行时存在的各个业务事件,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码,使得业务事件执行与目标应用运行之间能够资源隔离,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性;同时,如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则采用目标业务事件的每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码,避免对目标应用运行产生影响,从而提高目标应用运行的安全性和高效性。
实施例二
图2为本发明实施例二提供的一种业务事件的处理系统的结构示意图。本实施例是在上述实施例提供的技术方案的基础上进行优化。参照图2,该业务事件的处理系统20可以包括事件管理组件210、代码绑定组件220和事件执行组件230。
其中,事件管理组件210内注册有目标应用运行时的各业务事件;具体的,代码绑定组件220面向事件管理组件210内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;事件执行组件230如果在目标应用运行时接收到目标业务事件的触发消息,则采用每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码。
需要说明的是,本实施例中的事件管理组件210、代码绑定组件220和事件执行组件230与上述实施例中的事件管理组件、代码绑定组件和事件执行组件具备相同的功能。
具体的,为了保证目标应用内各个业务事件在开发阶段的准确注册以及在运行阶段的准确触发,本实施例中的事件管理组件210可以包括事件注册接口(Regist)211和事件触发接口(Trigger)212。
其中,事件注册接口211采用事件标识和许可执行方式注册目标应用运行时的各业务事件;事件触发接口212按照事件标识和事件触发条件,实时检测各业务事件的触发状态,并向事件执行组件230发送目标业务事件的触发消息。
可选的,事件注册接口211主要用于注册目标应用运行时所产生的各个业务事件,此时将业务事件的事件标识(如事件名称等)以及该业务事件下运行各个中间业务代码时所允许采用的许可执行方式作为该事件注册接口211的接口输入定义,以此通过事件注册接口211不断输入每一业务事件的注册信息,同时将该事件注册接口211的接口输出定义为注册成功或者注册失败及失败原因,从而保证业务事件的准确注册。
同时,事件触发接口212主要用于在目标应用运行阶段内实时检测是否存在被触发执行的目标业务事件,此时该事件触发接口212的接口输入定义为业务事件的事件标识、事件触发条件(例如JSON编码封装的当前事件触发的具体信息)以及目标业务事件下各个中间业务代码的执行结果的回调处理方法等,此时回调处理方法的输入可以为目标业务事件在JSON解码封装下的处理结果,通过该事件触发接口212实时检测接口输入信息来判断各业务事件的触发状态,并将该事件触发接口212的接口输出定义为无,从而准确检测目标应用运行过程中各业务事件的触发状态,并在检测到目标业务事件被触发时,向事件执行组件230发送该目标业务事件的触发消息,以通过该事件执行组件230执行该目标业务事件下绑定的各个中间业务代码。
此外,对于每一业务事件与中间业务代码的绑定而言,主要是接收预先为每一业务事件所编写的中间业务代码,确定该中间业务代码的实际执行方式,并将业务事件与中间业务代码对应关联起来,以便后续能够准确查找出为每一业务事件编写的中间业务代码,因此为了保证业务事件与中间业务代码之间的绑定关系准确性,本实施例中的代码绑定组件220可以包括绑定接口(Bind)221、绑定移除接口(Remove)222和代码升级接口(Upgrade)223。
其中,绑定接口221按照事件标识、代码标识、实际执行方式和代码字节流,为每一业务事件,在各许可执行方式下分别绑定对应的中间业务代码;绑定移除接口222按照事件标识、代码标识和实际执行方式,移除各业务事件在对应许可执行方式下已绑定的中间业务代码;代码升级接口223按照代码标识和代码升级字节流,更新各业务事件已绑定的中间业务代码。
具体的,绑定接口221主要用于接收为每一业务事件编写的各个中间业务代码,以及该中间业务代码指向的业务事件,此时可以将绑定接口221的接口输入定义为待绑定业务事件的事件标识、所录入中间业务代码的代码标识、中间业务代码的实际执行方式以及该中间业务代码的代码字节流等,该代码字节流可以为WASM代码的二进制字节流;此时,按照上述接口输入信息可以在每一业务事件的各个许可执行方式下不断绑定各个中间业务代码,并且在绑定接口221的接口输入中还可以输入中间业务代码所依赖的扩展方法名称,以便后续在目标应用内创建对应的虚拟环境时,能够装载各个中间业务代码对应的扩展方法,从而保证中间业务代码的执行高效性。同时,该绑定接口221的接口输出定义为绑定成功或者绑定失败及失败原因,从而保证业务事件与中间业务代码之间的准确绑定。
此外,为了支持各个业务事件所绑定的中间业务代码的有效更新,本实施例会通过绑定移除接口222来删除某些失效的绑定关系,此时该绑定移除接口222的接口输入定义为业务事件的事件标识、所绑定的中间业务代码的代码标识以及该中间业务代码的实际执行方式,此时上述接口输入信息,可以对应的查找出在该业务事件内与实际执行方式相同的许可执行方式下绑定的需要移除的某一中间业务代码,然后直接在该业务事件下的绑定关系中移除该中间业务代码的代码信息,并将该绑定移除接口222的接口输出定义为移除成功或者移除失败及失败原因,从而保证各个业务事件所绑定的中间业务代码的有效更新。
同时,为了支持各个业务事件所绑定的中间业务代码的全面升级,本实施例会通过代码升级接口223来不断更新各个中间业务代码的代码内容,也就是本实施例中的代码字节流,此时该代码升级接口223的接口输入定义为待升级中间业务代码的代码标识,以及升级替换的代码升级字节流,此时按照上上述接口输入信息,将待升级中间业务代码原有的代码字节流替换为当前的代码升级字节流,并将该代码升级接口223的接口输出定义为升级成功或者升级失败及失败原因,从而保证中间业务代码升级的全面性和准确性。
进一步的,为了准确维护业务事件与中间业务代码之间的绑定关系,本实施例的业务事件的处理系统20中还可以包括存储组件240,该存储组件240采用键值对的方式记录每一业务事件在不同许可执行方式下已绑定的中间业务代码,以及该中间业务代码的代码字节流。
示例性的,本实施例中的存储组件240可以划分出代码列表和绑定关系列表,以将中间业务代码的代码字节流和中间业务代码与业务事件之间的绑定关系隔离存储,此时在绑定关系列表中以事件标识和许可执行方式为键名,记录每一业务组件在不同许可执行方式下已绑定的中间业务代码的代码标识;在代码列表中以代码标识为键名,记录每一业务组件已绑定的各个中间业务代码的代码字节流。此外,在代码列表中还会记录每一业务组件已绑定的各个中间业务代码所依赖的扩展方法名称。
具体的,在绑定关系列表中通过将每一业务事件的事件标识和许可执行方式结合起来,统一作为key值,然后将value值设置为该key值指定的业务事件在具体许可执行方式下已绑定的各个中间业务代码的代码标识,从而将事件标识与代码标识关联起来,在每一业务事件的各个许可执行方式下得到准确的绑定关系;同时,每次为每一业务组件绑定的中间业务代码时,均会在代码列表中将所绑定的中间业务代码的代码标识作为key值,然后value值设置为该key值指定的中间业务代码的代码字节流,从而在代码列表中依次记录每一中间业务代码的代码内容。
本实施例提供的技术方案,根据事件管理组件与代码绑定组件的具体功能分别设置不同的功能接口,保证目标应用运行前业务事件的准确注册以及目标应用运行过程后目标业务事件的准确触发检测,从而使业务事件执行与目标应用运行之间能够资源隔离,实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性;同时采用在存储组件中划分出代码列表和绑定关系列表,来分别存储中间业务代码的代码内容和中间业务代码与业务事件之间的绑定关系,从而保证代码绑定的准确性,以及代码更新的便捷性。
实施例三
图3为本发明实施例三提供的一种业务事件的处理系统的结构示意图。本实施例是在上述实施例提供的技术方案的基础上进行优化。参照图3,该业务事件的处理系统30可以包括事件管理组件310、代码绑定组件320和事件执行组件330。
其中,事件管理组件310内注册有目标应用运行时的各业务事件;具体的,代码绑定组件320面向事件管理组件310内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;事件执行组件330如果在目标应用运行时接收到目标业务事件的触发消息,则采用每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码。
同时,本实施例中的事件管理组件310可以包括事件注册接口311和事件触发接口312;其中,事件注册接口311采用事件标识和许可执行方式注册目标应用运行时的各业务事件;事件触发接口312按照事件标识和事件触发条件,实时检测各业务事件的触发状态,并向事件执行组件330发送目标业务事件的触发消息。
而且,代码绑定组件320可以包括绑定接口321、绑定移除接口322和代码升级接口323;其中,绑定接口321按照事件标识、代码标识、实际执行方式和代码字节流,为每一业务事件,在各许可执行方式下分别绑定对应的中间业务代码;绑定移除接口322按照事件标识、代码标识和实际执行方式,移除各业务事件在对应许可执行方式下已绑定的中间业务代码;代码升级接口323按照代码标识和代码升级字节流,更新各业务事件已绑定的中间业务代码。
此外,本实施例中的业务事件的处理系统30还可以包括存储组件340,该存储组件340采用键值对的方式记录每一业务事件在不同许可执行方式下已绑定的中间业务代码,以及该中间业务代码的代码字节流。具体的,存储组件340可以包括代码列表和绑定关系列表;其中,绑定关系列表以事件标识和许可执行方式为键名,记录每一业务组件在不同许可执行方式下已绑定的中间业务代码的代码标识;代码列表以代码标识为键名,记录每一业务组件已绑定的各个中间业务代码的代码字节流。
进一步的,为了保证目标应用运行过程中,目标业务事件被触发时所绑定的各个中间业务代码的准确执行,以及中间业务代码的准确绑定,本实施例的业务事件的处理系统30还可以包括虚拟环境创建组件350和控制中心360。
其中,虚拟环境创建组件350在目标应用启动时,根据每一业务事件已绑定的各中间业务代码的执行配置,创建对应的代码虚拟运行环境,并在代码虚拟运行环境内装载每一业务事件已绑定的各中间业务代码的扩展方法。
具体的,为了保证目标业务事件被触发后,所绑定的各个中间业务代码的准确执行,本实施例会在目标应用启动后,预先查找出每一业务事件已绑定的各个中间业务代码的执行配置,也就是中间业务代码成功运行时所需要利用的虚拟环境参数等,从而创建出适合各个中间业务代码成功运行的代码虚拟运行环境,例如运行控制器、运行内存以及是否允许开启线程来执行等,从而确保中间业务代码运行环境的隔离和安全。同时,通过查找每一业务事件已绑定的各个中间业务代码所依赖的各个扩展方法名称,能够将各个中间业务代码所依赖的各个扩展方法预先装载到所创建的代码虚拟运行环境内,以便后续直接采用外部调用的扩展方法来直接运行各个中间业务代码,从而保证中间业务代码的运行准确性。
此外,控制中心360面向事件管理组件310内已注册的每一业务事件,采用多语言开发对应的初始业务代码,并转换为对应的中间业务代码,以绑定到该业务事件的对应许可执行方式下。
具体的,控制中心360可以通过操作界面来展示事件管理组件310内已注册的每一业务事件,以及该业务事件当前绑定的各个中间业务代码,此时开发人员可以通过查看事件管理组件310内已注册的每一业务事件的中间业务代码的绑定情况,支持采用多语言为各个业务事件编写对应的初始业务代码,从而开发出多语言下的初始业务代码,进而将初始业务代码对应转换成支持多语言编译转换的中间业务代码,以绑定到该业务事件的对应许可执行方式下,从而保证业务事件下执行代码的可移植性。
本实施例提供的技术方案,在事件管理组件内注册目标应用运行时存在的各个业务事件,通过控制中心面向事件管理组件内已注册的每一业务事件,采用多语言开发对应的初始业务代码,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码,使得业务事件执行与目标应用运行之间能够资源隔离,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性;同时,在目标应用启动时,通过虚拟环境创建组件为各个中间业务代码创建对应的代码虚拟运行环境,从而保证中间业务代码的运行准确性,并在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息时,则采用目标业务事件的每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码,避免对目标应用运行产生影响,从而提高目标应用运行的安全性和高效性。
实施例4
图4为本发明实施例四提供的一种业务事件的处理方法的流程图,本实施例可适用于在任一种业务应用内运行核心业务时,对核心业务扩展出的各个旁路逻辑下指定的业务事件进行处理的情况中。本实施例提供的一种业务事件的处理方法可以由本发明实施例提供的业务事件的处理装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的计算机设备中,该计算机设备可以是配置有对应业务应用的终端。
具体的,参考图4,该方法可以包括如下非顺序执行的步骤:
S410,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码。
在本实施例中,为了准确了解目标应用运行时所产生的各个业务事件,会预先分析目标应用运行时,在核心业务下所扩展出的各个旁路逻辑,然后判断每一旁路逻辑下生成的业务事件,并将每一业务事件注册入事件管理组件内,以便后续通过该事件管理组件查看目标应用运行时核心业务扩展出的各个旁路逻辑下的业务事件,并针对每一业务事件的功能,专门编写对应的执行代码。此时,为了保证业务事件代码的可移植性,会为每一业务事件编写支持多语言编译转换的WASM语言下的中间业务代码,进而通过代码绑定组件面向事件管理组件内已注册的每一业务事件,分别绑定为该业务事件编写的各个中间业务代码,后续通过各个业务事件与中间业务代码之间的绑定关系,来查找表示每一业务事件功能的中间业务代码,并通过运行该中间业务代码来确保业务实践的准确处理。
同时,由于每一业务事件下编写的各个中间业务代码所表示的事件功能可能存在关联,也可能不存在任何关联,因此每一业务事件下各个中间业务代码的执行方式也各不相同,通过分析每一业务事件具备的事件功能之间的联系,可以确定出每一业务事件下运行各个中间业务代码时允许采用的许可执行方式,同时在针对每一业务事件的各个事件功能,编写对应的中间业务代码时,也会定义出每一中间业务代码的实际执行方式,进而通过代码绑定组件分析每一业务事件下编写的各个中间业务代码的实际执行方式,并按照该业务事件下每一中间业务代码的实际执行方式,将该中间业务代码绑定到该业务事件下执行方式相同的许可执行方式下,也就是在每一业务事件的每一许可执行方式下,均绑定有支持采用该许可执行方式来实际执行的中间业务代码。
需要说明的是,本实施例中业务事件的许可执行方式可以包括同步执行方式和异步执行方式中的至少一种。此时,在业务事件的同步执行方式下,会绑定一部分中间业务代码,在该业务事件的异步执行方式下,也会绑定一部分中间业务代码,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性。
此时,对于每一业务事件与中间业务代码的绑定而言,主要是接收预先为每一业务事件所编写的中间业务代码,确定该中间业务代码的实际执行方式,并将业务事件与中间业务代码对应关联起来,以便后续能够准确查找出为每一业务事件编写的中间业务代码,因此为了保证业务事件与中间业务代码之间的绑定关系准确性,本实施例中的代码绑定组件可以包括绑定接口(Bind)、绑定移除接口(Remove)和代码升级接口(Upgrade)。
其中,绑定接口按照事件标识、代码标识、实际执行方式和代码字节流,为每一业务事件,在各许可执行方式下分别绑定对应的中间业务代码;绑定移除接口按照事件标识、代码标识和实际执行方式,移除各业务事件在对应许可执行方式下已绑定的中间业务代码;代码升级接口按照代码标识和代码升级字节流,更新各业务事件已绑定的中间业务代码,从而保证业务事件与中间业务代码之间的准确绑定、绑定更新和代码升级。
S420,如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过事件执行组件采用目标业务事件注册时的每一许可执行方式,对应执行目标业务事件在该许可执行方式下绑定的中间业务代码。
可选的,在目标应用的运行过程中,会不断触发执行对应的业务事件,此时如果通过事件执行组件接收到某一目标业务事件的触发消息,那么直接会通过代码绑定组件查找出该目标业务事件在每一许可执行方式下分别绑定的各个中间业务代码,然后分别采用每一许可执行方式,对应执行目标业务事件在该许可执行方式下绑定的各个中间业务代码;例如,同步执行目标业务事件在同步执行方式下绑定的各个中间业务代码,异步执行目标业务事件在异步执行方式下绑定的各个中间业务代码。
此时,为了保证目标应用内各个业务事件在开发阶段的准确注册以及在运行阶段的准确触发,本实施例中的事件管理组件可以包括事件注册接口(Regist)和事件触发接口(Trigger)。其中,事件注册接口采用事件标识和许可执行方式注册目标应用运行时的各业务事件;事件触发接口按照事件标识和事件触发条件,实时检测各业务事件的触发状态,并向事件执行组件发送目标业务事件的触发消息,从而保证目标业务事件的触发准确性。
需要说明的是,本实施例提供的业务事件的处理方法可以应用于本发明任意实施例所提供的业务事件的处理系统中,具备相同的功能和有益效果。
本实施例提供的技术方案,在事件管理组件内注册目标应用运行时存在的各个业务事件,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码,使得业务事件执行与目标应用运行之间能够资源隔离,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性;同时,如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则采用目标业务事件的每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码,避免对目标应用运行产生影响,从而提高目标应用运行的安全性和高效性。
实施例五
图5为本发明实施例五提供的一种业务事件的处理方法的流程图。本实施例是在上述实施例的基础上进行优化。具体的,如图5所示,本实施例主要对于业务事件与中间业务代码的具体绑定过程以及目标业务事件被触发时所绑定的各个中间业务代码的具体执行过程进行详细的解释说明。
可选的,如图5所示,本实施例中可以包括如下步骤:
S510,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码。
S520,通过存储组件采用键值对的方式记录每一业务事件在不同许可执行方式下已绑定的中间业务代码,以及该中间业务代码的代码字节流。
可选的,为了准确维护业务事件与中间业务代码之间的绑定关系,可以将存储组件划分出代码列表和绑定关系列表,以将中间业务代码的代码字节流和中间业务代码与业务事件之间的绑定关系隔离存储,此时在绑定关系列表中以事件标识和许可执行方式为键名,记录每一业务组件在不同许可执行方式下已绑定的中间业务代码的代码标识;在代码列表中以代码标识为键名,记录每一业务组件已绑定的各个中间业务代码的代码字节流。此外,在代码列表中还会记录每一业务组件已绑定的各个中间业务代码所依赖的扩展方法名称。
具体的,在绑定关系列表中通过将每一业务事件的事件标识和许可执行方式结合起来,统一作为key值,然后将value值设置为该key值指定的业务事件在具体许可执行方式下已绑定的各个中间业务代码的代码标识,从而将事件标识与代码标识关联起来,在每一业务事件的各个许可执行方式下得到准确的绑定关系;同时,每次为每一业务组件绑定的中间业务代码时,均会在代码列表中将所绑定的中间业务代码的代码标识作为key值,然后value值设置为该key值指定的中间业务代码的代码字节流,从而在代码列表中依次记录每一中间业务代码的代码内容。
S530,在目标应用启动时,通过虚拟环境创建组件根据每一业务事件已绑定的各中间业务代码的执行配置,创建对应的代码虚拟运行环境,并在代码虚拟运行环境内装载每一业务事件已绑定的各中间业务代码的扩展方法。
具体的,为了保证目标业务事件被触发后,所绑定的各个中间业务代码的准确执行,本实施例会在目标应用启动后,预先查找出每一业务事件已绑定的各个中间业务代码的执行配置,也就是中间业务代码成功运行时所需要利用的虚拟环境参数等,从而创建出适合各个中间业务代码成功运行的代码虚拟运行环境,例如运行控制器、运行内存以及是否允许开启线程来执行等,从而确保中间业务代码运行环境的隔离和安全。同时,通过查找每一业务事件已绑定的各个中间业务代码所依赖的各个扩展方法名称,能够将各个中间业务代码所依赖的各个扩展方法预先装载到所创建的代码虚拟运行环境内,以便后续直接采用外部调用的扩展方法来直接运行各个中间业务代码,从而保证中间业务代码的运行准确性。
S540,如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过事件执行组件从代码绑定组件中查询目标业务事件在每一许可执行方式下已绑定的中间业务代码。
可选的,如果在目标应用运行过程中,通过事件执行组件接收到目标业务事件的触发消息,说明该目标业务事件被触发,需要运行该目标业务事件绑定的各个中间业务代码,来实现目标业务事件的准确处理,此时首先需要从代码绑定组件中查询目标业务事件在每一许可执行方式下已绑定的中间业务代码,以便后续采用每一许可执行方式,对应执行目标业务事件在该许可执行方式下绑定的中间业务代码,确保业务事件的处理准确性。
S550,通过事件执行组件采用目标业务事件注册时的每一许可执行方式,对应执行目标业务事件在该许可执行方式下绑定的中间业务代码。
S560,通过事件执行组件回调目标业务事件在同步执行方式下的代码执行结果,并发送给目标应用。
可选的,在完成目标业务事件在每一许可执行方式下所绑定的各个中间业务代码的执行后,为了保证目标应用的准确运行,本实施例还会通过事件执行组件来回调该目标业务事件在同步执行方式下的代码执行结果,从而应用到目标应用的后续运行过程中,实现目标应用内核心业务的准确运行。
本实施例提供的技术方案,在事件管理组件内注册目标应用运行时存在的各个业务事件,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码,使得业务事件执行与目标应用运行之间能够资源隔离,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性;同时,如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则采用目标业务事件的每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码,避免对目标应用运行产生影响,从而提高目标应用运行的安全性和高效性。
实施例六
图6为本发明实施例六提供的一种业务事件的处理装置的结构示意图,可以配置于本发明任意实施例提供的业务事件的处理系统中。具体的,如图6所示,该装置可以包括:
代码绑定模块610,用于通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
业务代码执行模块620,用于如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过所述事件执行组件采用所述目标业务事件注册时的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码;
其中,所述事件管理组件内注册有目标应用运行时的各业务事件。
本实施例提供的技术方案,在事件管理组件内注册目标应用运行时存在的各个业务事件,通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码,使得业务事件执行与目标应用运行之间能够资源隔离,从而实现业务事件的多语音编译和多方式执行,保证业务事件的执行可移植性和可扩展性;同时,如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则采用目标业务事件的每一许可执行方式对应执行目标业务事件在该许可执行方式下绑定的中间业务代码,避免对目标应用运行产生影响,从而提高目标应用运行的安全性和高效性。
本实施例提供的业务事件的处理装置可适用于上述任意实施例提供的业务事件的处理方法,具备相应的功能和有益效果。
实施例七
图7为本发明实施例七提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括处理器70、存储装置71和通信装置72;计算机设备中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;计算机设备中的处理器70、存储装置71和通信装置72可以通过总线或其他方式连接,图7中以通过总线连接为例。
本实施例提供的一种计算机设备可用于执行上述任意实施例提供的业务事件的处理方法,具备相应的功能和有益效果。
实施例八
本发明实施例八还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的业务事件的处理方法。该方法具体可以包括如下非顺序执行的步骤:
通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过所述事件执行组件采用所述目标业务事件注册时的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码;
其中,所述事件管理组件内注册有目标应用运行时的各业务事件。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的业务事件的处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述业务事件的处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种业务事件的处理系统,其特征在于,包括:事件管理组件、代码绑定组件和事件执行组件,所述事件管理组件内注册有目标应用运行时的各业务事件;其中,
所述代码绑定组件面向所述事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
所述事件执行组件如果在所述目标应用运行时接收到目标业务事件的触发消息,则采用每一许可执行方式对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码。
2.根据权利要求1所述的处理系统,其特征在于,所述事件管理组件包括事件注册接口和事件触发接口;其中,
所述事件注册接口采用事件标识和许可执行方式注册所述目标应用运行时的各业务事件;
所述事件触发接口按照事件标识和事件触发条件,实时检测各所述业务事件的触发状态,并向所述事件执行组件发送所述目标业务事件的触发消息。
3.根据权利要求1所述的处理系统,其特征在于,所述代码绑定组件包括绑定接口、绑定移除接口和代码升级接口;其中,
所述绑定接口按照事件标识、代码标识、实际执行方式和代码字节流,为每一业务事件,在各许可执行方式下分别绑定对应的中间业务代码;
所述绑定移除接口按照事件标识、代码标识和实际执行方式,移除各业务事件在对应许可执行方式下已绑定的中间业务代码;
所述代码升级接口按照代码标识和代码升级字节流,更新各业务事件已绑定的中间业务代码。
4.根据权利要求1所述的处理系统,其特征在于,所述业务事件的许可执行方式包括同步执行方式和异步执行方式中的至少一种。
5.根据权利要求1-4任一项所述的处理系统,其特征在于,还包括存储组件;
所述存储组件采用键值对的方式记录每一业务事件在不同许可执行方式下已绑定的中间业务代码,以及该中间业务代码的代码字节流。
6.根据权利要求5所述的处理系统,其特征在于,所述存储组件包括代码列表和绑定关系列表;其中,
所述绑定关系列表以事件标识和许可执行方式为键名,记录每一业务组件在不同许可执行方式下已绑定的中间业务代码的代码标识;
所述代码列表以代码标识为键名,记录每一业务组件已绑定的各个中间业务代码的代码字节流。
7.根据权利要求1-4任一项所述的处理系统,其特征在于,还包括虚拟环境创建组件;
所述虚拟环境创建组件在所述目标应用启动时,根据每一业务事件已绑定的各中间业务代码的执行配置,创建对应的代码虚拟运行环境,并在所述代码虚拟运行环境内装载每一业务事件已绑定的各中间业务代码的扩展方法。
8.根据权利要求1-4任一项所述的处理系统,其特征在于,还包括控制中心;
所述控制中心面向所述事件管理组件内已注册的每一业务事件,采用多语言开发对应的初始业务代码,并转换为对应的中间业务代码,以绑定到该业务事件的对应许可执行方式下。
9.根据权利要求8所述的处理系统,其特征在于,所述控制中心通过操作界面展示所述事件管理组件内已注册的每一业务事件所绑定的中间业务代码。
10.一种业务事件的处理方法,其特征在于,应用于权利要求1-9任一项所述的业务事件的处理系统中,包括如下非顺序执行的步骤:
通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过所述事件执行组件采用所述目标业务事件注册时的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码;
其中,所述事件管理组件内注册有目标应用运行时的各业务事件。
11.根据权利要求10所述的方法,其特征在于,在通过所述事件执行组件采用所述目标业务事件注册时的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码之前,还包括:
通过所述事件执行组件从所述代码绑定组件中查询所述目标业务事件在每一许可执行方式下已绑定的中间业务代码。
12.根据权利要求10所述的方法,其特征在于,在通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码之后,还包括:
通过存储组件采用键值对的方式记录每一业务事件在不同许可执行方式下已绑定的中间业务代码,以及该中间业务代码的代码字节流。
13.根据权利要求10所述的方法,其特征在于,在通过事件执行组件采用所述目标业务事件的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码之后,还包括:
通过所述事件执行组件回调所述目标业务事件在同步执行方式下的代码执行结果,并发送给所述目标应用。
14.根据权利要求10-13任一项所述的方法,其特征在于,还包括:
在所述目标应用启动时,通过虚拟环境创建组件根据每一业务事件已绑定的各中间业务代码的执行配置,创建对应的代码虚拟运行环境,并在所述代码虚拟运行环境内装载每一业务事件已绑定的各中间业务代码的扩展方法。
15.一种业务事件的处理装置,其特征在于,配置于权利要求1-9任一项所述的业务事件的处理系统中,包括:
代码绑定模块,用于通过代码绑定组件面向事件管理组件内已注册的每一业务事件,在每一许可执行方式下分别绑定支持多语言编译转换的中间业务代码;
业务代码执行模块,用于如果在目标应用运行时通过事件执行组件接收到目标业务事件的触发消息,则通过所述事件执行组件采用所述目标业务事件注册时的每一许可执行方式,对应执行所述目标业务事件在该许可执行方式下绑定的中间业务代码;
其中,所述事件管理组件内注册有目标应用运行时的各业务事件。
16.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求10-14中任一所述的业务事件的处理方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求10-14中任一所述的业务事件的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011459550.1A CN112579156A (zh) | 2020-12-11 | 2020-12-11 | 一种业务事件的处理系统以及处理方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011459550.1A CN112579156A (zh) | 2020-12-11 | 2020-12-11 | 一种业务事件的处理系统以及处理方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579156A true CN112579156A (zh) | 2021-03-30 |
Family
ID=75131421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011459550.1A Pending CN112579156A (zh) | 2020-12-11 | 2020-12-11 | 一种业务事件的处理系统以及处理方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579156A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282378A (zh) * | 2021-07-23 | 2021-08-20 | 奥特酷智能科技(南京)有限公司 | 基于环境隔离子系统的车载系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220910A1 (en) * | 2003-05-02 | 2004-11-04 | Liang-Jie Zang | System and method of dynamic service composition for business process outsourcing |
US20050278708A1 (en) * | 2004-06-15 | 2005-12-15 | Dong Zhao | Event management framework for network management application development |
US20100064357A1 (en) * | 2008-09-09 | 2010-03-11 | Kerstin Baird | Business Processing System Combining Human Workflow, Distributed Events, And Automated Processes |
CN103279840A (zh) * | 2013-06-08 | 2013-09-04 | 北京首钢自动化信息技术有限公司 | 基于动态语言与事件处理机制的工作流引擎实现方法 |
CN103927218A (zh) * | 2014-04-30 | 2014-07-16 | 广州唯品会网络技术有限公司 | 事件分发方法及系统 |
US20190305957A1 (en) * | 2018-04-02 | 2019-10-03 | Ca, Inc. | Execution smart contracts configured to establish trustworthiness of code before execution |
CN111309406A (zh) * | 2020-02-17 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 应用程序的事件处理方法、装置及电子设备 |
CN111369221A (zh) * | 2020-03-09 | 2020-07-03 | 浙江大学 | 面向区块链监管的智能合约监控方法及系统 |
US20200250372A1 (en) * | 2019-02-04 | 2020-08-06 | Cloudflare, Inc. | Application remoting across a network using draw commands |
CN111679828A (zh) * | 2020-05-25 | 2020-09-18 | 泰康保险集团股份有限公司 | 一种数据处理的方法及装置、电子设备、存储介质 |
-
2020
- 2020-12-11 CN CN202011459550.1A patent/CN112579156A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220910A1 (en) * | 2003-05-02 | 2004-11-04 | Liang-Jie Zang | System and method of dynamic service composition for business process outsourcing |
US20050278708A1 (en) * | 2004-06-15 | 2005-12-15 | Dong Zhao | Event management framework for network management application development |
US20100064357A1 (en) * | 2008-09-09 | 2010-03-11 | Kerstin Baird | Business Processing System Combining Human Workflow, Distributed Events, And Automated Processes |
CN103279840A (zh) * | 2013-06-08 | 2013-09-04 | 北京首钢自动化信息技术有限公司 | 基于动态语言与事件处理机制的工作流引擎实现方法 |
CN103927218A (zh) * | 2014-04-30 | 2014-07-16 | 广州唯品会网络技术有限公司 | 事件分发方法及系统 |
US20190305957A1 (en) * | 2018-04-02 | 2019-10-03 | Ca, Inc. | Execution smart contracts configured to establish trustworthiness of code before execution |
US20200250372A1 (en) * | 2019-02-04 | 2020-08-06 | Cloudflare, Inc. | Application remoting across a network using draw commands |
CN111309406A (zh) * | 2020-02-17 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 应用程序的事件处理方法、装置及电子设备 |
CN111369221A (zh) * | 2020-03-09 | 2020-07-03 | 浙江大学 | 面向区块链监管的智能合约监控方法及系统 |
CN111679828A (zh) * | 2020-05-25 | 2020-09-18 | 泰康保险集团股份有限公司 | 一种数据处理的方法及装置、电子设备、存储介质 |
Non-Patent Citations (6)
Title |
---|
ABDERRAHMANE LESHOB等: "A value-oriented approach to business process specialization: Principles, proof-of-concept, and validation", JOURNAL OF SYSTEMS AND SOFTWARE, vol. 127, 17 February 2017 (2017-02-17), pages 120 - 149, XP029939939, DOI: 10.1016/j.jss.2017.02.002 * |
BEN WILCOCK: "Simple Event Driven Microservices with Spring Cloud Stream", Retrieved from the Internet <URL:https://spring.io/blog/2019/10/15/simple-event-driven-microservices-with-spring-cloud-stream> * |
JAN ŠILAR等: "Development of In-Browser Simulators for Medical Education: Introduction of a Novel Software Toolchain", J MED INTERNET RES 2019, vol. 21, no. 7, 3 July 2019 (2019-07-03), pages 1 - 10 * |
崔盛斌: "面向航空票价发布系统的事件驱动模型设计与应用", 中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑, no. 1, 15 January 2020 (2020-01-15), pages 031 - 61 * |
潘从祥: "基于Web技术的移动机器人SLAM方法研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 1, 15 January 2020 (2020-01-15), pages 140 - 852 * |
車輪の唄: "spring 事件:实现业务逻辑解耦", Retrieved from the Internet <URL:https://www.cnblogs.com/kukudi/p/17345265.html> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282378A (zh) * | 2021-07-23 | 2021-08-20 | 奥特酷智能科技(南京)有限公司 | 基于环境隔离子系统的车载系统 |
CN113282378B (zh) * | 2021-07-23 | 2021-11-12 | 奥特酷智能科技(南京)有限公司 | 基于环境隔离子系统的车载系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9183007B2 (en) | Dynamic determination of application server runtime classloading | |
CN111897570A (zh) | 一种基于Maven插件的多依赖项文件提取方法及装置 | |
US7320121B2 (en) | Computer-implemented system and method for generating embedded code to add functionality to a user application | |
CN112783568A (zh) | 应用程序的初始化方法、装置、设备和存储介质 | |
CN112099880B (zh) | 场景驱动的应用程序约减方法和系统 | |
WO2022038461A1 (en) | Method and system for identifying and extracting independent services from a computer program | |
WO2023179298A1 (zh) | 应用程序更新、应用程序开发方法、装置及计算机设备 | |
CN111679852B (zh) | 一种冲突依赖库的检测方法及装置 | |
US7913265B2 (en) | Method of loading software with an intermediate object oriented language in a portable device | |
US9841982B2 (en) | Locating import class files at alternate locations than specified in classpath information | |
CN112579156A (zh) | 一种业务事件的处理系统以及处理方法、装置和设备 | |
US20090106764A1 (en) | Support for globalization in test automation | |
CN111596970B (zh) | 动态库延迟加载方法、装置、设备和存储介质 | |
CN111352631B (zh) | 一种接口兼容性检测方法及装置 | |
CN109857716B (zh) | 系统交互日志记录方法、装置及存储介质、服务器 | |
CN114610516B (zh) | 应用程序的修复方法、装置、计算机设备以及存储介质 | |
CN111240728A (zh) | 应用程序更新方法、装置、设备和存储介质 | |
CN109426546B (zh) | 应用启动方法及装置、计算机存储介质及设备 | |
CN113590179B (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN114706586A (zh) | 代码编译、代码运行方法、装置、计算机设备及存储介质 | |
CN112882701A (zh) | 一种支持多架构的可执行文件静态插桩技术框架 | |
CN118672644A (zh) | 一种国产操作系统环境下动态库兼容方法及装置 | |
CN111061642A (zh) | 一种基于用户数据的全自动竞赛数据处理系统以及方法 | |
CN112799674B (zh) | 区块链中智能合约的执行方法、装置及节点设备 | |
WO2023036075A1 (zh) | 程序调用栈创建方法、栈回溯方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |