本申请涉及云计算领域,尤其涉及一种逻辑更新方法和相关设备。
背景技术:
1、基于云原生的分布式数据库一般都采用存算分离架构,即计算和存储通过网络完成互相访问。存算分离这种架构将计算节点和存储节点进行故障隔离,实现计算和存储的单独扩容,并且还能将部分计算节点的逻辑下推至底层分布式的存储节点,能够充分利用存储节点的计算资源,降低网络开销,提升系统整体性能。
2、当前,在云数据库的厂商中,将计算节点的能力进行裁剪或者将预写日志卸载,然后下推至分布式的存储节点进行计算。在这种场景下,当底层的存储节点涉及到多架构甚至是异构平台,无法针对不同的平台进行适配。
技术实现思路
1、本申请实施例提供了一种逻辑更新方法和相关设备,用于对异构平台进行逻辑更新。
2、本申请第一方面提供了一种逻辑更新方法,在本申请中,计算节点可以确定目标应用中需要更新的目标逻辑,然后将目标逻辑转换为中间码,最后分别向多个存储节点下发中间码,那么存储节点可以基于中间码生成所需的可执行代码,那么计算节点无需根据不同的平台生成不同的可执行代码,即实现对不同平台的适配,同时减少了计算节点的算力成本和维护成本。
3、在一些可能的实现方式中,所述目标逻辑为算子或日志,因此实现了对算子或日志的逻辑更新。
4、在一些可能的实现方式中,所述计算节点基于代码生成技术codegen将所述目标逻辑转换为所述中间码,因此实现了目标逻辑到中间码的转换。
5、本申请第二方面提供了一种逻辑更新方法,存储节点接收计算节点下发的中间码后,可以将所述中间码转换为可执行代码,并基于所述可执行代码更新数据库。那么不同的存储节点可以基于相同的中间码生成不同的可执行代码,实现了对不同平台的适配。
6、在一些可能的实现方式中,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
7、本申请第三方面提供了一种逻辑更新方法,包括:
8、计算节点确定目标应用中需要更新的目标逻辑;
9、所述计算节点将所述目标逻辑转换为中间码;
10、所述计算节点向多个存储节点下发所述中间码。
11、所述存储节点将所述中间码转换为可执行代码;
12、所述存储节点基于所述可执行代码更新数据库。
13、在一些可能的实现方式中,所述目标逻辑为算子或日志。
14、在一些可能的实现方式中,所述计算节点将所述目标逻辑转换为中间码包括:
15、所述计算节点基于代码生成技术codegen将所述目标逻辑转换为所述中间码。
16、在一些可能的实现方式中,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
17、本申请第四方面提供了一种计算节点,包括:
18、处理模块,用于确定目标应用中需要更新的目标逻辑;
19、所述处理模块,还用于所述计算节点将所述目标逻辑转换为中间码;
20、收发模块,用于分别向多个存储节点下发所述中间码。
21、在一些可能的实现方式中,所述目标逻辑为算子或日志。
22、在一些可能的实现方式中,所述处理模块,具体用于基于代码生成技术codegen将所述目标逻辑转换为所述中间码。
23、本申请第五方面提供了一种存储节点,包括:
24、收发模块,用于接收计算节点下发的中间码;
25、处理模块,用于将所述中间码转换为可执行代码;
26、所述处理模块,还用于基于所述可执行代码更新数据库。
27、在一些可能的实现方式中,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
28、本申请第六方面提供了一种数据系统,包括:
29、计算节点,用于确定目标应用中需要更新的目标逻辑;
30、所述计算节点,还用于将所述目标逻辑转换为中间码;
31、所述计算节点,还用于向存储节点下发所述中间码。
32、所述存储节点,用于将所述中间码转换为可执行代码;
33、所述存储节点,还用于基于所述可执行代码更新数据库。
34、在一些可能的实现方式中,所述目标逻辑为算子或日志。
35、在一些可能的实现方式中,所述计算节点,具体用于:
36、基于代码生成技术codegen将所述目标逻辑转换为所述中间码。
37、在一些可能的实现方式中,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
38、本申请第七方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面中任一项所述的方法。
39、本申请第八方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或第二方面或第三方面的任一种可能的实现方式所提供的方法。
40、本申请第九方面提供一种通信装置,该通信装置可以包括至少一个处理器、存储器和通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他通信装置进行通信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第二方面或第三方面的任意可能的实现方式中的方法。
41、本申请第十方面提供了一种芯片系统,该芯片系统包括处理器,用于支持实现上述第一方面或第二方面或第三方面任意一种可能的实现方式中所涉及的功能。
42、在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
43、其中,第二至第十方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
44、从以上技术方案可以看出,本申请实施例具有以下优点:
45、在本申请中,计算节点可以确定目标应用中需要更新的目标逻辑,然后将目标逻辑转换为中间码,最后分别向多个存储节点下发中间码,那么存储节点可以基于中间码生成所需的可执行代码,那么计算节点无需根据不同的平台生成不同的可执行代码,即实现对不同平台的适配,同时减少了计算节点的算力成本和维护成本。
1.一种逻辑更新方法,其特征在于,包括:
2.根据权利要求1所述方法,其特征在于,所述目标逻辑为算子或日志。
3.根据权利要求1或2所述方法,其特征在于,所述计算节点将所述目标逻辑转换为中间码包括:
4.一种逻辑更新方法,其特征在于,包括:
5.根据权利要求4所述方法,其特征在于,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
6.一种逻辑更新方法,其特征在于,包括:
7.根据权利要求6所述方法,其特征在于,所述目标逻辑为算子或日志。
8.根据权利要求6或7所述方法,其特征在于,所述计算节点将所述目标逻辑转换为中间码包括:
9.根据权利要求6-8中任一项所述方法,其特征在于,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
10.一种计算节点,其特征在于,包括:
11.根据权利要求10所述计算节点,其特征在于,所述目标逻辑为算子或日志。
12.根据权利要求10或11所述计算节点,其特征在于,所述处理模块,具体用于
13.一种存储节点,其特征在于,包括:
14.根据权利要求13所述存储节点,其特征在于,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
15.一种数据系统,其特征在于,包括:
16.根据权利要求15所述数据系统,其特征在于,所述目标逻辑为算子或日志。
17.根据权利要求15或16所述数据系统,其特征在于,所述计算节点,具体用于:
18.根据权利要求15-17中任一项所述数据系统,其特征在于,所述可执行代码为可用于x86平台的代码,或,所述可执行代码为可用于鲲鹏平台的代码。
19.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储有程序,所述程序使得计算机设备执行如权利要求1-9中任一项所述的方法。
20.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器从所述计算机可读存储介质中读取所述计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得所述设备执行如权利要求1-9中任一项所述的方法。
21.一种通信装置,其特征在于,所述通信装置包括至少一个处理器、存储器和通信接口;
22.一种芯片系统,其特征在于,所述芯片系统包括处理器和存储器,所述存储器和所述处理器通过线路互联,所述存储器中存储有指令,所述处理器用于执行如权利要求1-9中任一项所述的方法。