预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113641343A(43)申请公布日2021.11.12(21)申请号202111201141.6(22)申请日2021.10.15(71)申请人中汽数据(天津)有限公司地址300385天津市西青区中北镇万卉路3号新城市中心B1座12-17室(72)发明人张聪聪徐洋李鹏旭郝晓东辛祥彬石伟单泽萌申玲彩(51)Int.Cl.G06F8/20(2018.01)G06F8/60(2018.01)权利要求书2页说明书7页附图1页(54)发明名称基于环境隔离的高并发python算法调用方法及介质(57)摘要本发明涉及软件开发领域,具体而言,涉及一种基于环境隔离的高并发python算法调用方法及介质。该方法包括将python算法脚本部署到docker中;搭建和接收Kafka消息队列;调用所述python算法脚本中的python算法;通过所述Kafka消息队列返回所述python算法的执行结果。该方法通过引入docker实现在一台物理机上部署上千python算法且环境隔离,通过消息队列实现上十万上百万的大数据量并发,通过再次组建独立消息返回结果方式,解决因算法执行时间较长无法接收返回结果问题,极大的解决了在实际项目中因大数据量、高并发、需较长时间的计算等特性导致的无法调用问题。CN113641343ACN113641343A权利要求书1/2页1.一种基于环境隔离的高并发python算法调用方法,其特征在于,包括:将python算法脚本部署到docker中;搭建和接收Kafka消息队列;调用所述python算法脚本中的python算法;通过所述Kafka消息队列返回所述python算法的执行结果。2.根据权利要求1所述的调用方法,其特征在于,所述将python算法脚本部署到docker中包括:根据python算法脚本,编写容器镜像文件dockerfile,创建包含不同语言版本的python基础环境的镜像;将部署工单信息保存到mysql数据库中,所述部署工单信息包括脚本文件和脚本所需语言环境;根据所述脚本所需语言环境,查找脚本部署所需的镜像;根据所述脚本部署所需的镜像和所述脚本文件,组建命令行实现docker创建,然后启动docker容器服务,在启动docker容器服务的同时通过挂载路径方式将脚本文件传递到docker中。3.根据权利要求2所述的调用方法,其特征在于,所述组建命令行实现docker创建,然后启动docker容器服务包括:组建命令行实现docker创建;根据脚本文件中的依赖版本文件requirement.txt,通过执行pipinstall–rrequirement.txt方式完善python脚本所需的执行环境;启动docker容器服务。4.根据权利要求1所述的调用方法,其特征在于,在所述将python算法脚本部署到docker中之后还包括:记录docker的ID;以算法名称作为KEY,所述ID作为VALUE,生成记录信息,将所述记录信息存储到mysql数据库和redis缓存数据库中。5.根据权利要求1所述的调用方法,其特征在于,在所述将python算法脚本部署到docker中之后还包括:获取修改后的脚本文件;根据算法名称查找与所述算法名称相对应的部署docker的ID;根据所述ID获取与所述ID相对应的docker,更新docker内的脚本文件和依赖版本文件requirement.txt,执行pipinstall–rrequirement.txt更新python脚本所需的执行环境。6.根据权利要求1所述的调用方法,其特征在于,所述搭建和接收Kafka消息队列包括:搭建Kafka集群;接收算法调用者发起的消息队列,所述消息队列中携带算法脚本调用工单;对消息进行消费,在消费过程中,单起新线程去执行python算法的调用,在单线程中记录调用工单信息和消息队列的唯一编码,线程启动后,对消息队列直接返回接收成功;python算法调用的新线程执行完毕后,建立新的消息队列,返回执行结果和线程中记录的原消息队列的唯一编码至算法调用者。2CN113641343A权利要求书2/2页7.根据权利要求1‑6任一项所述的调用方法,其特征在于,所述调用python算法包括:根据消息传参获取待执行的算法名称和参数信息,根据算法名称查询部署所述算法的docker的ID信息;根据算法脚本调用工单携带的参数信息和python的部署环境,组建调用python的命令行语句。8.一种基于环境隔离的高并发python算法调用装置,其特征在于,包括:算法脚本部署模块,用于将python算法脚本部署到docker中;消息队列搭建和接收模块,用于搭建Kafka消息队列并接收消息;算法调用模块,用于调用