基于大数据智能平台的混合调用方法及装置与流程

文档序号:35533784发布日期:2023-09-21 17:24阅读:30来源:国知局
基于大数据智能平台的混合调用方法及装置与流程

本技术涉及数据调用,更具体地,涉及一种基于大数据智能平台的混合调用方法及装置。


背景技术:

1、随着人工智能技术的发展,人工智能的应用已经深入到人们生活与工作的方方面面,包括烟草制造业。在烟草大数据智能平台开发过程中,人工智能算法往往采用python语言编写,而基于浏览器的应用系统往往采用javascript语言编写。在基于浏览器的应用系统中调用人工智能算法,不可避免的涉及到python与javascript混合调用的问题。

2、本发明针对烟草大数据智能平台中的python与javascript混合调用问题,提出了一种多模式python/javascript混合调用方式,有效的解决了烟草大数据智能平台中利用多种语言的易用性与效率问题。

3、目前,进行python和javascript混合调用有几种常见的方法:

4、(1)restful api方法使用python作为后端语言,构建restful api,通过http请求与javascript前端进行通信。具体地,可以使用python的web框架(如flask、django等)来创建api,并使用json或其他数据格式进行数据交换。javascript前端可以使用ajax或现代的fetch api来发送请求和处理响应。

5、(2)node.js:node.js是一个基于javascript的运行时环境,可以使用它来编写服务器端应用程序。在这种情况下,可以使用python和javascript共同处理服务器端逻辑。可以使用python的库(如flask、fastapi等)来编写api,同时使用javascript(node.js)处理其他服务器端任务。

6、(3)jupyter notebook:jupyter notebook是一个流行的交互式计算环境,它支持多种编程语言,包括python和javascript。可以在jupyter notebook中创建单元格,其中一部分是python代码,另一部分是javascript代码。这样可以在同一个笔记本中编写和执行python和javascript代码,并进行交互。

7、(3)pywebview:pywebview是一个python库,可以将python代码嵌入到web视图中。可以使用pywebview创建一个带有嵌入式web视图的桌面应用程序,并在其中同时运行python和javascript代码。python代码可以用于后端逻辑,而javascript代码可以用于前端交互。pywebview(flowrl.com)是围绕webview组件的轻量型跨平台包装器(wrapper),它允许在其自己的本机gui窗口中显示html内容。可以在桌面应用程序中使用web技术,同时尽最大可能隐藏使用浏览器构建gui的事实。可以将pywebview与轻量级的web框架(例如flask或bottle)一起使用,也可以单独使用python和dom之间的双向桥梁。

8、综上,上述方法均在一定程度上需要修改python代码或javascript代码,大大降低了这两种代码资源的利用效率。


技术实现思路

1、本技术提供一种基于大数据智能平台的混合调用方法及装置,根据python代码的功能实现的复杂度来确定调用方式,并且在针对复杂度较低的功能实现方式中,通过函数调用方式较大程度上减少了对各自代码的改动,提高了代码资源利用效率。

2、本技术提供了一种基于大数据智能平台的混合调用方法,包括:

3、获取对目标数据处理时执行的python代码的功能实现的复杂度;

4、若复杂度小于阈值,则采用第一数据处理方式实现目标数据的处理:将python代码嵌入到javascript代码中,并将命令行流数据作为python和javascript的数据交换方式。

5、优选地,若复杂度大于阈值,则采用第二数据处理方式实现目标数据的处理:利用javascript代码远程调用restful服务,将python代码的功能实现作为远程服务,并采用双数据源的数据交换方式。

6、优选地,采用第一数据处理方式实现目标数据的处理,具体包括:

7、上层javascript代码接收到输入数据后,执行javascript的execpythonspawn()函数,实现python代码的调用;

8、下层python代码读取输入数据后,运行被调用的python代码,并将运行结果作为输出数据打印到命令行终端上进行显示;

9、上层javascript代码监听和捕获命令行终端上的运行结果,并将运行结果转化成javascript的returndata类型后输出。

10、优选地,远程服务端将python代码的运行结果中用于显示的数据传输到本地客户端。

11、优选地,远程服务端将python代码的运行结果的全量数据以文件方式存储在远程服务端,在远程服务端与本地客户端之间传输文件路径。

12、本技术还提供一种基于大数据智能平台的混合调用装置,包括复杂度获取模块、判断模块和第一数据处理模块;

13、获取模块用于获取对目标数据处理时执行的python代码的功能实现的复杂度;

14、判断模块用于判断复杂度是否小于阈值;

15、第一数据处理模块用于在复杂度小于阈值时,采用第一数据处理方式实现目标数据的处理:将python代码嵌入到javascript代码中,并将命令行流数据作为python和javascript的数据交换方式。

16、优选地,python/javascript混合调用装置还包括第二数据处理模块,第二数据处理模块用于在复杂度大于阈值时,采用第二数据处理方式实现目标数据的处理:利用javascript代码远程调用restful服务,将python代码的功能实现作为远程服务,并采用双数据源的数据交换方式。

17、优选地,第一数据处理模块包括输入数据接收模块、python代码运行模块和输出模块;

18、输入数据接收模块用于使上层javascript代码接收到输入数据后,执行javascript的execpythonspawn()函数,实现python代码的调用;

19、python代码运行模块用于使下层python代码读取输入数据后,运行被调用的python代码,并将运行结果作为输出数据打印到命令行终端上进行显示;

20、输出模块用于使上层javascript代码监听和捕获命令行终端上的运行结果,并将运行结果转化成javascript的returndata类型后输出。

21、优选地,第二数据处理模块包括第一数据传输模块,第一数据传输模块用于使远程服务端将python代码的运行结果中用于显示的数据传输到本地客户端。

22、优选地,第二数据处理模块包括第二数据传输模块,第二数据传输模块用于使远程服务端将python代码的运行结果的全量数据以文件方式存储在远程服务端,在远程服务端与本地客户端之间传输文件路径。

23、通过以下参照附图对本技术的示例性实施例的详细描述,本技术的其它特征及其优点将会变得清楚。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1