前言:
上一篇博客中已经介绍过,如何使用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