项目实训(九)—本地调用服务器算法

本文讲述了如何在Java中使用SSH-2连接远程服务器执行算法,特别是在遇到环境变量丢失问题时,通过Session.requestPTY()和Session.startShell()解决,并介绍了如何处理SSH连接超时问题以确保长时间运行算法的执行。还展示了调用智能剪辑和智能预览算法的接口函数并测试成功的案例。
摘要由CSDN通过智能技术生成

前言:

上一篇博客中已经介绍过,如何使用SSH-2实现Java远程连接服务器,以及实现了四个操作:
1、创建目录结构,执行服务器命令python create_files.py
2、在faceS下建立一个以照片名为文件名的文件夹,上传人脸照片到该文件夹下,用于第三阶段人脸检测算法
3、上传本地文件(视频)到服务器
4、下载服务器的文件到本地(返回给用户)

Java通过SSH-2连接远程服务器调用算法:

除了这四个操作,我们还需要实现一个操作:通过Java远程连接服务器来执行算法,我们仍然打算使用SSH2来实现,由于在 Connection_to_Sever 类中实现了一个远程执行shell脚本或者命令的函数:

//远程执行shell脚本或者命令,命令执行成功后返回的结果值,如果命令执行失败,返回空字符串,不是null
    public static String executeSuccess(String cmd){
   
        String result = "";
        //int ret=-1;
        try {
   
            Session session = conn.openSession();// 打开一个会话
            session.execCommand(cmd);// 执行命令
            result = processStdout(session.getStdout(), DEFAULTCHARTSET);
            //ret = session.getExitStatus();
            conn.close();
            session.close();
        } catch (IOException e) {
   
            e.printStackTrace();
        }
        return result;
    }

所以一开始我直接在这个函数的基础上来编写调用算法的接口(服务器端算法的python接口文件为 algorithm_run.py):

public class CallAlgorithm {
   
    public static void call_three_algorithm(String ID,String ID_VideoName,String VideoName){
   
        String commandStr="cd ../opt/data/private/xuyunyang/2022419/SceneSeg/lgss/;python algorithm_run.py "+ID+" "+ID_VideoName+" "+VideoName;
        Boolean result=Connection_to_Sever.connectLinux("222.206.4.160",25935,"root","shixun123",commandStr);
    }
    public static void main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值