一种基于EclipseRCP的数据传输状态监控方法转让专利

申请号 : CN200810105439.5

文献号 : CN101572631B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨永晟

申请人 : 新奥特(北京)视频技术有限公司

摘要 :

本发明公开了一种基于Eclipse RCP的数据传输状态监控方法,属于状态监控技术领域。在现有技术中,由于xPeer是作为后台服务在终端计算机上工作,因此用户在终端计算机上无法直接了解xPeer工作状态以及任务在xPeer上的执行状态。本发明所述的方法,首先将xPeer以插件形式置入Eclipse RCP,然后获取xPeer运行状态信息和任务执行状态信息,最后在Eclipse RCP界面上展示状态信息。采用该方法能够实现在终端计算机上查看xPeer工作状态信息以及任务在xPeer上的执行状态信息。

权利要求 :

1.一种基于Eclipse RCP的数据传输状态监控方法,包括以下步骤:(1)将xPeer传输服务以插件形式置入Eclipse RCP平台;

(2)获取xPeer传输服务的运行状态信息和任务执行状态信息;

获取xPeer传输服务的运行状态信息的过程包括以下步骤:①将xPeer传输服务的实例与RCP应用程序进行绑定;

②在RCP应用程序中获取xPeer传输服务的运行实例;

③从xPeer传输服务的运行实例中获取xPeer传输服务的运行状态信息;

获取任务执行状态信息的过程包括以下步骤:①将xPeer传输服务的实例与RCP应用程序进行绑定;

②在RCP应用程序中获取xPeer传输服务的运行实例;

③从xPeer传输服务的运行实例中获取正在执行的任务实例;

④在任务实例中获取所有任务的执行状态信息;

(3)在Eclipse RCP界面上展示步骤(2)中获得的信息。

2.如权利要求1所述的基于Eclipse RCP的数据传输状态监控方法,其特征在于,步骤(2)中所述的xPeer传输服务的运行状态信息包括:xPeer的传输状态,xPeer传输服务所连客户端数,xPeer传输服务的上传总速度;所述的xPeer的传输状态包括运行和异常。

3.如权利要求2所述的基于Eclipse RCP的数据传输状态监控方法,其特征在于,步骤(2)中所述的任务执行状态参数包括:正在传输、暂停、失败、用户停止、传输文件名称、传输速度、传输进度。

4.如权利要求1所述的一种基于Eclipse RCP的数据传输状态监控方法,其特征在于:步骤(3)中,展示信息是以图表的方式展示。

5.如权利要求1所述的一种基于Eclipse RCP的数据传输状态监控方法,其特征在于:步骤(3)中,展示信息是以文字的方式展示。

6.如权利要求1所述的一种基于Eclipse RCP的数据传输状态监控方法,其特征在于:Eclipse RCP利用xPeer服务器提供的接口对任务的新建、暂停、继续、取消进行控制。

说明书 :

一种基于Eclipse RCP的数据传输状态监控方法

技术领域

[0001] 本发明属于状态监控技术领域,具体涉及一种基于Eclipse RCP的数据传输状态监控方法。

背景技术

[0002] xPeer是基于Java技术开发的电视台主干平台媒体数据传输的终端,负责台内网络中各板块媒体数据的迁移传输。xPeer分为服务端和客户端。其中,服务端绑定本地端口,监听来自客户端的各种指令。客户端接受来自M-Peer的任务调度,主动连接服务端,实现登录,文件验证,传输等功能。客户端同时还对外提供WEB服务模块,以便在传输过程中,接受M-Peer对任务的暂停中止的操作。
[0003] 由于xPeer是作为后台服务在终端计算机上工作,因此用户在终端计算机上无法直接了解xPeer工作状态以及任务在xPeer上的执行状态。同时考虑xPeer应用的跨平台性和扩展性(主要考虑会将媒体文件的转码服务纳入其中),将xPeer以插件形式置入Eclipse RCP,满足了xPeer的跨平台性和扩展性,也可以充分利用Eclipse的现有插件,充实xPeer应用,同时也符合当前计算机桌面应用程序的发展方向。
[0004] Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具。
[0005] Eclipse RCP(Rich Client Platform)是基于Eclipse项目的一个开发胖客户端应用程序的框架,它提供了一个通用的Eclipse工作台,允许开发人员扩展和构造强大的,跨平台应用程序。Eclipse RCP的插件机制是其最大的亮点,基于Eclipse RCP构建的应用系统表现出相当出色的扩展性,用户只需要下载一个插件,简单的部署到应用系统中,就能为应用程序添加新功能。Eclipse RCP的插件管理机制较好的解决了应用程序的扩展问题,适应业务需求的变化。Eclipse RCP的另一个优势在于它屏蔽了底层操作系统的差异,真正实现了跨平台。

发明内容

[0006] 针对现有技术中存在的在终端计算机上无法直接了解xPeer传输服务运行状态以及任务在xPeer终端上的执行状态的缺陷,本发明的目的是提供一种基于Eclipse RCP的数据传输状态监控方法,该方法能够实现在终端计算机上查看xPeer传输服务运行状态和任务执行状态的功能。
[0007] 为了实现上述目的,本发明采用的技术方案是,一种基于Eclipse RCP的数据传输状态监控方法,包括以下步骤:
[0008] (1)将xPeer传输服务以插件形式置入Eclipse RCP平台;
[0009] (2)获取xPeer传输服务的运行状态信息和任务执行状态信息;
[0010] (3)在Eclipse RCP界面上展示步骤(2)中获得的信息。
[0011] 如上所述的基于Eclipse RCP的数据传输状态监控方法,步骤(2)中所述的xPeer传输服务的运行状态信息包括:xPeer的传输状态(运行或异常),xPeer传输服务所连客户端数、xPeer传输服务的上传总速度;所述的任务执行状态参数包括:正在传输、暂停、失败、用户停止、传输文件名称、传输速度、传输进度。
[0012] 如上所述的基于Eclipse RCP的数据传输状态监控方法,步骤(2)中获取xPeer传输服务的运行状态信息的过程包括以下步骤:
[0013] ①将xPeer传输服务的实例与RCP应用程序进行绑定;
[0014] ②在RCP应用程序中获取xPeer传输服务的运行实例;
[0015] ③从xPeer传输服务的运行实例中获取xPeer传输服务的运行状态信息。
[0016] 如上所述的基于Eclipse RCP的数据传输状态监控方法,步骤(2)中获取任务执行状态信息的过程包括以下步骤:
[0017] ①将xPeer传输服务的实例与RCP应用程序进行绑定;
[0018] ②在RCP应用程序中获取xPeer传输服务的运行实例;
[0019] ③从xPeer传输服务的运行实例中获取正在执行的任务实例;
[0020] ④在任务实例中获取所有任务的执行状态信息。
[0021] 如上所述的基于Eclipse RCP的数据传输状态监控方法,步骤(3)中,展示信息是以图表的方式展示或者以文字的方式展示。
[0022] 如上所述的基于Eclipse RCP的数据传输状态监控方法,Eclipse RCP利用xPeer服务器提供的接口对任务的新建、暂停、继续、取消进行控制。
[0023] 本发明的效果在于:采用本发明所述的方法能够增强xPeer传输服务的跨平台性和扩展性,可在不同平台上安全稳定运行;同时,可将xPeer的所有信息展示于用户界面上,使得终端计算机能清晰实时的了解xPeer的运行状态和任务执行状态。

附图说明

[0024] 图1是本发明所述的方法流程图;
[0025] 图2是本发明具体实施方式中下载速度曲线示意图;
[0026] 图3是本发明具体实施方式中以文字方式展示状态信息示意图。

具体实施方式

[0027] 下面结合附图对本发明的具体实施方式进行详细的说明。
[0028] 本发明所述的方法主要应用于广电领域电视台的主干平台中,各板块之间利用xPeer传输服务(以下简称xPeer)进行数据传输时的情形。该方法主要是为了解决在终端计算机上查看xPeer工作状态信息以及任务在xPeer上的执行状态信息的问题。
[0029] 如图1所示,一种基于Eclipse RCP的数据传输状态监控方法,包括以下步骤。
[0030] (1)将xPeer以插件形式置入Eclipse RCP平台。
[0031] 在Eclipse RCP平台中,可以将Java程序的Jar包以Eclipse Plugin的形式进行使用。在本实施方式中,使用该技术,将xPeer传输服务转换成Eclipse Plugin。xPeer的插件化,可以增强xPeer的跨平台性和扩展性,例如可以将媒体文件的转码服务扩展到xPeer中,也可以充分利用Eclipse的现有插件,充实xPeer应用,同时也符合当前计算机桌面应用程序的发展方向。
[0032] (2)获取xPeer运行状态信息和任务执行状态信息。
[0033] 获取xPeer运行状态信息的过程是:首先将xPeer的运行实例与RCP应用程序在系统启动时进行绑定,然后在RCP应用程序中获取xPeer的运行实例,从xPeer的运行实例中再获取xPeer的运行状态信息。RCP应用程序采用多线程机制,可以将xPeer的运行状态信息实时地传送。获取状态信息的线程为可配置扫描间隔时间的引擎式扫描,用户可在RCP应用程序界面中配置xPeer获取状态信息的频率。所述的xPeer的运行状态信息包括:xPeer状态(运行或异常),xPeer所连客户端数,xPeer上传总速度等。
[0034] 获取任务执行状态信息的方式同获取xPeer运行状态信息相似,首先获取xPeer的运行实例,然后从xPeer运行实例获取正在执行的任务实例,最后在任务实例中获取所有任务执行状态信息,包括任务执行状态(正在传输、暂停、失败、用户停止等状态)、传输文件名称、传输速度、传输进度等。
[0035] (3)在Eclipse RCP界面上展示步骤(2)中获得的信息。
[0036] 状态展示也采用多线程的方式,实时地将步骤(2)获取的信息展示到Eclipse RCP的界面中。
[0037] ①速度展示
[0038] 速度展示包括下载速度展示和上传总速度展示。下载速度通常为用户最为关心的速度,因此在Eclipse RCP的界面上默认打开下载速度的曲线图,如图2所示。下载速度曲线图采用Eclipse RCP的Viewer实现,具体绘制工具采用基于Java技术的JFreeChart实现。
[0039] JFreeChart是一个开源的Java项目,它主要用来开发各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。在这些不同式样的图表上可以满足目前商业系统的要求。JFreeChart是一种基于JAVA语言的图表开发技术。在本实施方式中使用线程扫描方式实现JFreeChart在Eclipse RCPViewer中的实时信息曲线图,即在Eclipse RCP透视图启动之前,加载线程扫描底层xPeer工作的各种数据状态,并在获取数据后建立数据对象,展示层通过数据对象关联数据。具体实现是通过扫描线程类UpdateStatus不断监听底层xPeer实例的工作状态信息,例如:
[0040] Display.getDefault().syncExec(new Runnable(){
[0041] public void run(){
[0042] WorkInfo workInfo=
[0043] TransferManager.getInstance().getWorkInfo();
[0044] String status=″″;
[0045] synchronized(workInfo){
[0046] status=workInfo.getTaskStatus();
[0047] if(!status.equals(XPEER.TASK_STATUS_DOING)){[0048] workInfo.setInSpeed(0);
[0049] }
[0050] }
[0051] }
[0052] 然后再利用Java Timer在指定时间间隔内执行上述代码,这样就建立了数据对象workInfo。在展示层只需通过workInfo.get就可以获取各项数据。
[0053] 同时为了充分利用RCP应用程序空间,本实施方式将上传速度和下载速度以数字的形式同时显示在Eclipse RCP应用程序的Status Line中。
[0054] ②状态展示
[0055] 状态展示包括两个方面。
[0056] 一是xPeer的运行状态,在本实施方式中,xPeer运行状态显示于RCPStatus Line的左下角,这也是应用程序通常的做法。
[0057] 另一个状态是任务执行状态,在本实施方式中,任务执行状态的展示采用Eclipse自带的Progree Viewer实现。将该Viewer加入到RCP中,可方便详细的实时展示正在执行任务的状态和正在传输的文件名和任务总体进度。
[0058] 本实施方式中,所有的信息展示还有一个以文字方式展示的设计,如图3所示。引入Eclipse自带的Cosole Viewer,该控制台可实时显示在有任务执行和服务空闲时xPeer中能提供的所有信息,包括错误信息。
[0059] 此外,在本实施方式中,还提供了可以干扰任务执行的任务控制功能,该功能主要提供给管理员进行xPeer传输任务测试所用。Eclipse RCP利用xPeer服务器提供的接口对任务新建、暂停、继续、取消等进行控制,即在xPeer中向外部暴露操作接口,如startTransfer、pauseTransfer、resumeTransfer、stopTransfer等,在RCP中首先获取xPeer执行实例,然后通过实例调用xPeer的这些接口实现对任务的控制。
[0060] 例如,开始一个传输任务的控制过程包括以下两步:
[0061] (1)获取待执行的任务
[0062] TransferManager instance=TransferManager.getInstance()[0063] (2)调用xPeer接口
[0064] Instance.stopTransfer()。
[0065] 在具体实现时,还需要如检测是否有任务正在执行、检测任务是否可以暂停等操作,这些操作均可以在该任务控制类中实现。由于对任务的控制需要底层xPeer服务器的接口支持,所以对底层数据依赖性较强。
[0066] 由于本发明所述的方法采用了Eclipse RCP技术,将xPeer传输服务插件化,因此具有较高的扩展性,在此基础上可以灵活地扩展xPeer的转码等服务。同时,由于Eclipse RCP的特性决定了本发明所述的方法具有很高的跨平台性,可在不同平台上安全稳定的运行。
[0067] 需要说明的是:本发明所述的方法并不限于广电领域电视台的主干平台中的应用,完全可以用于与电视台相似的环境中。本发明所述的方法也并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。