一种大数据量数据远程调用方法及装置制造方法

文档序号:6511158阅读:121来源:国知局
一种大数据量数据远程调用方法及装置制造方法
【专利摘要】本发明涉及一种大数据量数据远程调用方法及装置,包括以下步骤:远程调用客户端向远程调用服务器发送调用请求,请求调用命令脚本文件;远程调用服务器根据调用请求确定命令脚本文件,判断命令脚本文件是否在远程调用服务器中的配置文件中,如果是,转入步骤3,否则,采用远程调用方式获得调用命令脚本生成的调用结果;获取远程调用服务器上本地时间的缓存时间戳,根据缓存时间戳生成缓存文件;将通过调用命令脚本文件生成的调用结果存储在缓存文件中,检测命令脚本文件是否调用完毕,如果调用完毕,读取调用结果,删除缓存文件,否则,休眠预定的时间后继续检测。本发明能够加快大数据量远程数据调用的速度,提高系统工作效率。
【专利说明】一种大数据量数据远程调用方法及装置
【技术领域】
[0001]本发明涉及一种数据远程调用方法,特别涉及一种大数据量数据远程调用方法及装置。
【背景技术】
[0002]用Java编写应用时,如果需要在程序中调用另一个现成的可执行程序或系统命令,可以通过组合使用Java提供的Runtime类和Process类的方法实现。下面是一种比较典型的程序模式:
[0003]Process process=Runtime.getRuntime ().exec (〃.//p.exe〃);
[0004]在上面的程序中,第一行的//p.exe”是要执行的程序名,Runtime.getRuntime ()返回当前应用程序的Runtime对象,该对象的exec O方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。
[0005]上述方法是JDK提供的唯一可以调用外部的应用和程序的途径。在调用外部程序或系统命令的过程中,需要将执行返回的结果返回给调用者本身,此过程称为数据交换。数据交换较小的时候,使用Runtime.getRuntime 0.exec O方法调用速度较快,但是如果需要交换大数据量较大,则Runtime.getRuntime 0.exec O方法运行速度极慢。当数据交换的量达到临界值时,Runtime.getRuntime 0.exec O方法执行将无限制等待,无法返回结果。通过实际测试,在数据交换超过IOK时,其执行速度已经超过了 30s。当数据超过150K时,则30分钟都无法执行完成。

【发明内容】

[0006]本发明所要解决的技术问题是提供一种提高大数据量数据远程调用时执行速度的大数据量数据远程调用方法及装置。
[0007]本发明解决上述技术问题的技术方案如下:一种大数据量数据远程调用方法,包括以下步骤:
[0008]步骤1:远程调用客户端向远程调用服务器发送调用请求,请求调用远程调用服务器上的命令脚本文件;
[0009]步骤2:远程调用服务器根据调用请求确定命令脚本文件,判断命令脚本文件是否在远程调用服务器中的配置文件中,如果是,转入步骤3,否则,采用远程调用方式获得调用命令脚本生成的调用结果;
[0010]步骤3:远程调用服务器获取远程调用服务器上本地时间的缓存时间戳,根据缓存时间戳生成缓存文件;
[0011]步骤4:远程调用服务器将通过调用命令脚本文件生成的调用结果存储在缓存文件中,并检测命令脚本文件是否调用完毕,如果调用完毕,转入步骤5,否则,休眠预定的时间后继续检测;[0012]步骤5:远程调用服务器读取缓存文件中的调用结果,删除缓存文件。
[0013]本发明的有益效果是:利用缓存的方式提高大数据量数据远程调用的执行速度及工作效率。
[0014]在上述技术方案的基础上,本发明还可以做如下改进。
[0015]进一步,所述步骤2中配置文件,用于记录调用结果所需存储空间的大小大于预定值的命令脚本文件。所述预设值为2K。
[0016]进一步,所述命令脚本文件中包括系统命令或脚本文件。
[0017]进一步,一种大数据量数据远程调用装置,包括远程调用客户端,远程调用服务器;
[0018]所述远程调用客户端,用于向远程调用服务器发送调用请求,请求调用远程调用服务器上的命令脚本文件;
[0019]所述远程调用服务器,用于接收调用请求,根据调用请求确定命令脚本文件,判断命令脚本文件是否在远程调用服务器中的配置文件中,如果是,将远程调用服务器上本地时间的缓存时间戳发送给远程调用客户端,将调用结果发送给远程调用客户端;否则,采用远程调用方式获得调用命令脚本生成的调用结果,获取远程调用服务器上本地时间的缓存时间戳,根据缓存时间戳生成缓存文件,将通过调用命令脚本文件生成的调用结果存储在缓存文件中,并检测命令脚本文件是否调用完毕,如果调用完毕,读取缓存文件中的调用结果,删除缓存文件,否则,休眠预定的时间后继续检测。
[0020]采用上述进一步方案的有益效果是利用缓存的方式提高大数据量数据远程调用的执行速度及工作效率。
[0021]进一步,所述远程调用服务器中的配置文件,用于记录调用结果所需存储空间的大小大于预定值的命令脚本文件。所述预设值为2K。
[0022]进一步,所述命令脚本文件中包括系统命令或脚本文件。
【专利附图】

【附图说明】
[0023]图1为本发明方法步骤流程图;
[0024]图2为本发明装置结构图。
[0025]附图中,各标号所代表的部件列表如下:
[0026]1、远程调用客户端,2、远程调用服务器。
【具体实施方式】
[0027]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0028]如图1所示,为本发明方法步骤流程图;图2为本发明装置结构图。
[0029]实施例1
[0030]一种大数据量数据远程调用方法,包括以下步骤:
[0031]步骤1:远程调用客户端向远程调用服务器发送调用请求,请求调用远程调用服务器上的命令脚本文件;
[0032]步骤2:远程调用服务器根据调用请求确定命令脚本文件,判断命令脚本文件是否在远程调用服务器中的配置文件中,如果是,转入步骤3,否则,采用远程调用方式获得调用命令脚本生成的调用结果;
[0033]步骤3:远程调用服务器获取远程调用服务器上本地时间的缓存时间戳,根据缓存时间戳生成缓存文件;
[0034]步骤4:远程调用服务器将通过调用命令脚本文件生成的调用结果存储在缓存文件中,并检测命令脚本文件是否调用完毕,如果调用完毕,转入步骤5,否则,休眠预定的时间后继续检测;
[0035]步骤5:远程调用服务器读取缓存文件中的调用结果,删除缓存文件。
[0036]所述步骤2中配置文件,用于记录调用结果所需存储空间的大小大于预定值的命令脚本文件。所述预设值为2K。所述命令脚本文件中包括系统命令或脚本文件。
[0037]—种大数据量数据远程调用装置,包括远程调用客户端1,远程调用服务器2 ;
[0038]所述远程调用客户端1,用于向远程调用服务器发送调用请求,请求调用远程调用服务器上的命令脚本文件;
[0039]所述远程调用服务器2,用于接收调用请求,根据调用请求确定命令脚本文件,判断命令脚本文件是否在远程调用服务器中的配置文件中,如果是,将远程调用服务器上本地时间的缓存时间戳发送给远程调用客户端1,将调用结果发送给远程调用客户端I ;否贝U,采用远程调用方式获得调用命令脚本生成的调用结果,获取远程调用服务器2上本地时间的缓存时间戳,根据缓存时间戳生成缓存文件,将通过调用命令脚本文件生成的调用结果存储在缓存文件中,并检测命令脚本文件是否调用完毕,如果调用完毕,读取缓存文件中的调用结果,删除缓存文件,否则,休眠预定的时间后继续检测。
[0040]所述远程调用服务器2中的配置文件,用于记录调用结果所需存储空间的大小大于预定值的命令脚本文件。所述预设值为2K。所述命令脚本文件中包括系统命令或脚本文件。
[0041]在使用rpc开发维护操作平台的产品时,rpc服务端在收到客户端发送的请求时,需要通过Runtime.getRuntime 0.exec O方法调用外部脚本或系统命令。当调用外部脚本返回的数据较大时,发现Runtime.getRuntime 0.exec O方法无法返回。于是改成缓存方式。
[0042]第一步,先在系统配置文件里配置上哪些系统命令需要走缓存方式。
[0043]<Conf igltem>
<ConfigName>REMOTE_ORDER</ConfigName>
<Conf igParam>
<ParamName>SPECIAL_ORDER</ParamName>
<ParamValue>more, pg, cat</ParamValue>
<Para mDe sc>需要走异步方式的特殊命令〈/ Pa raniDe sc>
</ConfigParam〉
<Conf igParam>
<ParamName>TMP-1O-FILE</ParamName>
<ParamValue>tt.tmp</ParamValue>
〈Pa ramDe sc>命令执行结果临时存放文件名称</ParamDesc>
</ConfIgParam>
</Conf igltem>
[0044]配置项more, pg, cat是需要做缓存的系统命令。tt.tmp是缓存的临时文件。
[0045]第二步,根据时间戳建立缓存文件。String tmpFileName=DEFAULT_IO_FILENAME+System.currentTimeMi11i s O ;
[0046]第三步,将命令返回的数据存入临时缓存文件。cmd=cmdContent+〃>〃+tmpFiIeName;
[0047]调用process=Runtime.getRuntime 0.exec (cmd)方法,调用系统命令。
[0048]第四步,当命令完毕后。读取缓存文件内容。
[0049]
BufferedReader reader = nuw BufferedReader (newFileReader (f i l.e));
String Iine = null;
wh i Ie ((line = reader.readLi ne ()) != null) {
returnStr += Iine;
}
[0050]第五步,删除缓存文件。file, delete O ;
[0051 ] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种大数据量数据远程调用方法,其特征在于,包括以下步骤: 步骤1:远程调用客户端向远程调用服务器发送调用请求,请求调用远程调用服务器上的命令脚本文件; 步骤2:远程调用服务器根据调用请求确定命令脚本文件,判断命令脚本文件是否在远程调用服务器中的配置文件中,如果是,转入步骤3,否则,采用远程调用方式获得调用命令脚本生成的调用结果; 步骤3:远程调用服务器获取本地时间的缓存时间戳,根据缓存时间戳生成缓存文件; 步骤4:远程调用服务器将通过调用命令脚本文件生成的调用结果存储在缓存文件中,并检测命令脚本文件是否调用完毕,如果调用完毕,转入步骤5,否则,休眠预定的时间后继续检测; 步骤5:远程调用服务器读取缓存文件中的调用结果,删除缓存文件。
2.根据权利要求1所述的大数据量数据远程调用方法,其特征在于:所述步骤2中配置文件,用于记录调用结果所需存储空间的大小大于预定值的命令脚本文件。
3.根据权利要求2任一所述的大数据量数据远程调用方法,其特征在于:所述预设值为2K。
4.根据权利要求1至3任一所述的大数据量数据远程调用方法,其特征在于:所述命令脚本文件中包括系统命令或脚本文件。
5.一种大数据量数据远程调用装置,其特征在于:包括远程调用客户端(1),远程调用服务器(2); 所述远程调用客户端(1),用于向远程调用服务器(2)发送调用请求,请求调用远程调用服务器上的命令脚本文件; 所述远程调用服务器(2),用于接收调用请求,根据调用请求确定命令脚本文件,判断命令脚本文件是否在远程调用服务器中的配置文件中,如果是,将远程调用服务器上本地时间的缓存时间戳发送给远程调用客户端(I ),将调用结果发送给远程调用客户端(I);否贝U,采用远程调用方式获得调用命令脚本生成的调用结果,获取远程调用服务器(2)上本地时间的缓存时间戳,根据缓存时间戳生成缓存文件,将通过调用命令脚本文件生成的调用结果存储在缓存文件中,并检测命令脚本文件是否调用完毕,如果调用完毕,读取缓存文件中的调用结果,删除缓存文件,否则,休眠预定的时间后继续检测。
6.根据权利要求5所述的大数据量数据远程调用装置,其特征在于:所述远程调用服务器(2)中的配置文件,用于记录调用结果所需存储空间的大小大于预定值的命令脚本文件。
7.根据权利要求6所述的大数据量数据远程调用装置,其特征在于:所述预设值为2K。
8.根据权利要求5至7任一所述的大数据量数据远程调用装置,其特征在于:所述命令脚本文件中包括系统命令或脚本文件。
【文档编号】G06F9/455GK103473116SQ201310412634
【公开日】2013年12月25日 申请日期:2013年9月11日 优先权日:2013年9月11日
【发明者】张厚瑞 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1