一种在API请求管道中调用WebAssembly插件的方法和系统与流程
技术特征:
1.一种在api请求管道中调用webassembly插件的方法,其特征在于,包括步骤:
2.根据权利要求1所述的一种在api请求管道中调用webassembly插件的方法,其特征在于:步骤s2中,序列化方法为json、protobuf和xml中的一种;当采用json和xml对具有输入数据结构的对象进行序列化时,序列化结果转换成utf-8编码的二进制内容。
3.根据权利要求1所述的一种在api请求管道中调用webassembly插件的方法,其特征在于:步骤s3中,内存分配函数用于调用者向webassembly申请内存,入参为需要申请的内存长度,返回值为所申请的内存地址;所申请的内存地址是webassembly有权限访问的内存块中的相对地址。
4.根据权利要求1所述的一种在api请求管道中调用webassembly插件的方法,其特征在于:步骤s3中,第三内存的大小与第二内存大小一致。
5.根据权利要求1所述的一种在api请求管道中调用webassembly插件的方法,其特征在于:执行函数为webassembly中用于处理业务逻辑的函数;执行函数的第一参数和第二参数共同定义了一个输入内存块;其中第一参数为传入数据的内存地址,第一参数来自于调用内存分配函数的返回值,第二参数为传入数据占用的内存长度。
6.根据权利要求1所述的一种在api请求管道中调用webassembly插件的方法,其特征在于:步骤s5中,执行函数输入第一参数为第三内存地址,第二参数为第三内存的大小;
7.根据权利要求1所述的一种在api请求管道中调用webassembly插件的方法,其特征在于:一个webassembly导出多个用于处理业务逻辑的函数,函数名称不同,参数类型、参数个数及返回值类型均相同。
8.一种在api请求管道中调用webassembly插件的系统,基于权利要求1-7任一项所述的一种在api请求管道中调用webassembly插件的方法,其特征在于,包括:webassembly存储模块,插件定义存储模块,插件匹配模块,插件执行模块;
9.根据权利要求8所述的一种在api请求管道中调用webassembly插件的系统,其特征在于:插件定义中包含:
技术总结
本发明公开了一种在API请求管道中调用WebAssembly插件的方法和系统,包括:调用者初始化WebAssembly实例,为WebAssembly实例分配第一内存;准备具有输入数据结构的对象并存储在第二内存中;调用WebAssembly的内存分配函数,申请第三内存;将对象序列化后的数据复制到WebAssembly的第三内存中;调用执行函数,获得并解析返回值;将返回值反序列化为具有输出数据结构的对象,并构造实际的响应值。本发明在ToB软件服务端的API请求管道中加载WebAssembly插件,克服现有定制化方案在安全性、稳定性和扩展性方面的不足。
技术研发人员:汪忠田,刘标勇,李文静
受保护的技术使用者:苏州瑞云智服信息科技有限公司
技术研发日:
技术公布日:2024/11/28
技术研发人员:汪忠田,刘标勇,李文静
技术所有人:苏州瑞云智服信息科技有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
