[发明专利]基于环境隔离的高并发python算法调用方法及介质有效
申请号: | 202111201141.6 | 申请日: | 2021-10-15 |
公开(公告)号: | CN113641343B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 张聪聪;徐洋;李鹏旭;郝晓东;辛祥彬;石伟;单泽萌;申玲彩 | 申请(专利权)人: | 中汽数据(天津)有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 300385 天津市西青区中*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 环境 隔离 并发 python 算法 调用 方法 介质 | ||
本发明涉及软件开发领域,具体而言,涉及一种基于环境隔离的高并发python算法调用方法及介质。该方法包括将python算法脚本部署到docker中;搭建和接收Kafka消息队列;调用所述python算法脚本中的python算法;通过所述Kafka消息队列返回所述python算法的执行结果。该方法通过引入docker实现在一台物理机上部署上千python算法且环境隔离,通过消息队列实现上十万上百万的大数据量并发,通过再次组建独立消息返回结果方式,解决因算法执行时间较长无法接收返回结果问题,极大的解决了在实际项目中因大数据量、高并发、需较长时间的计算等特性导致的无法调用问题。
技术领域
本发明涉及软件开发领域,具体而言,涉及一种基于环境隔离的高并发python算法调用方法及介质。
背景技术
python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的标准库和第三方扩展库。因为其简单易学,目前Python已经成为最受欢迎的程序设计语言之一。由于Python语言的简洁性、易读性、可扩展性以及完全免费,在国内外用Python做算法研究的机构和人员日益增多。
在实际应用中,尤其是结合到实际项目应用时,算法的执行往往需要大数据量、高并发、复杂且长时间的计算,常规的算法调用模式已无法满足此需求。现有技术的主要缺点有:
1)一般复杂的深度学习、机器学习算法执行时间一般在半小时到几小时,但常规的web服务调用模式是HTTP请求,HTTP连接可等待时间较短,一般只有几分钟,不足以支撑。
2)常规的web服务调用模式的TPS最高能达到20000,但对于现在的上十万上百万的大数据量并发无法支持。
3)不同的python算法可能需要的库的依赖环境是不同的甚至可能是冲突的,当成千上万的python算法需要部署时,常规的服务器部署已无法支持。
4)大多数算法工程师提供的python代码不会使用web框架,只有算法脚本,无法直接部署成服务。
有鉴于此,特提出本发明。
发明内容
本发明的目的在于提供一种基于环境隔离的高并发python算法调用方法及介质,以实现在高并发情况下快速、高效调用算法。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供了一种基于环境隔离的高并发python算法调用方法,包括:
将python算法脚本部署到docker中;
搭建和接收Kafka消息队列;
调用所述python算法脚本中的python算法;
通过所述Kafka消息队列返回所述python算法的执行结果。
第二方面,本发明提供了一种基于环境隔离的高并发python算法调用装置,包括:
算法脚本部署模块,用于将python算法脚本部署到docker中;
消息队列搭建和接收模块,用于搭建Kafka消息队列和接收消息;
算法调用模块,用于调用所述python算法脚本中的python算法;
执行结果返回模块,用于通过所述Kafka消息队列返回所述python算法的执行结果。
第三方面,本发明提供了一种电子设备,包括:
至少一个处理器,以及与至少一个所述处理器通信连接的存储器;
其中,所述存储器存储有可被至少一个所述处理器执行的指令,所述指令被至少一个所述处理器执行,以使至少一个所述处理器能够执行上述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中汽数据(天津)有限公司,未经中汽数据(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111201141.6/2.html,转载请声明来源钻瓜专利网。