WebAssembly的数据执行方法、装置、设备及介质制造方法及图纸

技术编号:32646980 阅读:15 留言:0更新日期:2022-03-12 18:31
本公开提供了一种WebAssembly的数据执行方法、装置、设备及介质,可用于金融领域的非web客户端的数据的处理与执行,也可用于除金融领域之外的任意领域非web客户端的数据的处理与执行。该WebAssembly的数据执行方法方法包括:通过WASM解析执行层集成多种解析执行工具;通过申请共享内存将非web客户端传递的数据传入WASM解析执行层;通过数据选择对应的解析执行工具生成的对应的WASM实例;调用WASM实例处理数据得到出参结果;以及通过申请共享内存将出参结果传出并返回非web客户端并释放共享内存。本公开还提供了一种WebAssembly的数据执行装置、设备、存储介质和程序产品。存储介质和程序产品。存储介质和程序产品。

【技术实现步骤摘要】
WebAssembly的数据执行方法、装置、设备及介质


[0001]本公开涉及WebAssembly
,具体地涉及一种WebAssembly的数据执行方法、装置、设备及介质,可用于金融领域的非web客户端的数据的处理与执行,也可用于除金融领域之外的任意领域非web客户端的数据的处理与执行。

技术介绍

[0002]WebAssembly(以下简称WASM)是采用“基于栈的虚拟机”的机制,即一个操作符所需要的所有值,在操作进行之前都已经存放在堆栈中。所有的操作符,比如加法,都知道自己需要多少个值。假如需要两个值,它从堆栈顶部取两个值就可以了。那么加指令就可以变的更短(单字节),因为指令不需要指定源寄存器和目的寄存器。这也使得“.wasm”文件变得更小,进而使得加载“.wasm”文件更快。
[0003]现有的技术方案中,由于WASM对数据类型支持有限,且WASM对Web端的支持较好,对于非Web端的场景则缺乏有效的实现,这也导致WebAssembly技术在非Web端环境应用较少。

技术实现思路

[0004]鉴于上述问题,本公开提供了一种扩展WebAssembly技术在非Web端环境应用的WebAssembly的数据执行方法、装置、设备、介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种WebAssembly的数据执行方法,包括:通过WASM解析执行层集成多种解析执行工具;通过申请共享内存将非web客户端传递的数据传入WASM解析执行层;通过数据选择对应的解析执行工具生成的对应的WASM实例;调用WASM实例处理数据得到出参结果;以及通过申请共享内存将出参结果传出并返回非web客户端并释放共享内存。
[0006]根据本公开的实施例,数据执行方法还包括:根据WASM实例名称、WASM实例内容及WASM编译预言构建WASM实例管理层;通过WASM实例管理层对WASM实例进行加载、调用及删除。
[0007]根据本公开的实施例,通过WASM解析执行层集成多种解析执行工具包括:编写WASM解析执行层的预设接口,其中,预设接口包括创建实例接口、调用方法接口、释放实例接口、写入共享内存接口、获取共享内存接口、释放共享内存接口;将满足创建实例接口、调用方法接口、释放实例接口、写入共享内存接口、获取共享内存接口、释放共享内存接口条件的至少一种解析执行工具接入WASM解析执行层,得到多种解析执行工具。
[0008]根据本公开的实施例,通过申请共享内存将非web客户端传递的数据传入WASM解析执行层包括:接收非web客户端传递的数据并解析为字节流数据;申请共享内存中的第一内存块并将字节流数据写入第一内存块;将第一内存块的内存索引与字节流数据的长度传入WASM解析执行层。
[0009]根据本公开的实施例,通过数据选择对应的解析执行工具生成的对应的WASM实例
包括:通过多种解析执行工具生成多种WASM实例并多种WASM实例包含的WASM实例名称、WASM实例内容及WASM编译预言接入WASM实例管理层;通过数据获得非web客户端的语言、调用方法;根据语言匹配WASM实例管理层中多种WASM实例的WASM编译语言,根据调用方法匹配WASM实例管理层中多种WASM实例的WASM实例名称,得到匹配的WASM实例;加载WASM实例。
[0010]根据本公开的实施例,通过申请共享内存将出参结果传出并返回非web客户端并释放共享内存包括:调用WASM实例将出参结果添加结束标识并转换成出参字节流数据;申请共享内存中的第二内存块并将出参字节流数据写入第二内存块;将第二内存块的内存索引与出参字节流数据的长度传出至数据处理层;解析出参字节流数据并向非web客户端发送出参结果;根据结束标识释放第一内存块及第二内存块。
[0011]根据本公开的实施例,至少一种解析执行工具包含wasmer、wasmer

go、wasmer

python、wasmer

java及wasmtime中的至少一种。
[0012]本公开的第二方面提供了一种WebAssembly的数据执行装置,包括:集成模块,用于通过WASM解析执行层集成多种解析执行工具;传递模块,用于通过申请共享内存将非web客户端传递的数据传入WASM解析执行层;匹配模块,用于通过所述数据选择对应的解析执行工具生成的对应的WASM实例;处理模块,用于调用WASM实例处理数据得到出参结果;以及返回模块,用于通过申请共享内存将出参结果返回非web客户端并释放共享内存。
[0013]本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述WebAssembly的数据执行方法。
[0014]本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述WebAssembly的数据执行方法。
[0015]本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述WebAssembly的数据执行方法。
附图说明
[0016]通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
[0017]图1示意性示出了根据本公开实施例的WebAssembly的数据执行方法、装置、设备、介质和程序产品的应用场景图;
[0018]图2示意性示出了根据本公开实施例的WebAssembly的数据执行方法的流程图;
[0019]图3示意性示出了根据本公开实施例的数据传递方法的流程图;
[0020]图4示意性示出了根据本公开实施例的数据返回方法的流程图;
[0021]图5示意性示出了根据本公开实施例的多种解析执行工具集成方法的流程图;
[0022]图6示意性示出了根据本公开实施例的匹配WASM实例的方法的流程图;
[0023]图7示意性示出了根据本公开实施例的数据处理层的构架图;
[0024]图8示意性示出了根据本公开实施例的解析执行层的构架图;
[0025]图9示意性示出了根据本公开实施例的WebAssembly的数据执行装置的结构框图;以及
[0026]图10示意性示出了根据本公开实施例的适于实现WebAssembly的数据执行方法的
电子设备的方框图。
具体实施方式
[0027]以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0028]在此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种WebAssembly的数据执行方法,包括:通过WASM解析执行层集成多种解析执行工具;通过申请共享内存将非web客户端传递的数据传入所述WASM解析执行层;通过所述数据选择对应的解析执行工具生成的对应的WASM实例;调用所述WASM实例处理所述数据得到出参结果;以及通过申请所述共享内存将所述出参结果传出并返回所述非web客户端并释放所述共享内存。2.根据权利要求1所述的数据执行方法,所述数据执行方法还包括:根据WASM实例名称、WASM实例内容及WASM编译预言构建WASM实例管理层;通过WASM实例管理层对所述WASM实例进行加载、调用及删除。3.根据权利要求1或2所述的数据执行方法,其中,所述通过WASM解析执行层集成多种解析执行工具包括:编写所述WASM解析执行层的预设接口,其中,所述预设接口包括创建实例接口、调用方法接口、释放实例接口、写入共享内存接口、获取共享内存接口、释放共享内存接口;将满足所述创建实例接口、调用方法接口、释放实例接口、写入共享内存接口、获取共享内存接口、释放共享内存接口条件的至少一种解析执行工具接入所述WASM解析执行层,得到所述多种解析执行工具。4.根据权利要求1或2所述的数据执行方法,所述通过申请共享内存将非web客户端传递的数据传入WASM解析执行层包括:接收非web客户端传递的所述数据并解析为字节流数据;申请所述共享内存中的第一内存块并将所述字节流数据写入所述第一内存块;将所述第一内存块的内存索引与所述字节流数据的长度传入所述WASM解析执行层。5.根据权利要求2所述的数据执行方法,其中,所述通过所述数据选择对应的解析执行工具生成的对应的WASM实例包括:通过多种解析执行工具生成多种WASM实例并所述多种WASM实例包含的WASM实例名称、WASM实例内容及WASM编译预言接入所述WASM实例管理层;通过所述数据获得所述非web客户端的语言、调用方法;根据所述语言匹配所述WASM实例管理层中所述多种WASM实例的WASM编译语言,根据所述调用方法...

【专利技术属性】
技术研发人员:肖凯张强梁智昊王舒榕李洪业马丽忠
申请(专利权)人:雄安新区智能城市创新联合会河北雄安新区管理委员会中国工商银行股份有限公司
类型:发明
国别省市:

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

1