一种在java环境中执行程序的方法及系统与流程

文档序号:12008927阅读:254来源:国知局
一种在java环境中执行程序的方法及系统与流程
本发明涉及计算机技术领域,尤其涉及一种在java环境中执行程序的方法及系统。

背景技术:
因人们对于传统电视的习惯,人们不希望智能电视出现死机等情况。而在目前实际的软件开发中,大部分程序(应用程序)都是在java环境(java应用程序的环境)中开发的,而且需要执行其他可执行程序来完成功能。在目前的java环境中尤其是andriod系统下的java环境中,执行其他程序,特别是命令行程序,需要使用系统固有的API(ApplicationProgrammingInterface,应用程序编程接口)。传统的java环境中执行其他程序时,只能调用java标准的exec(executive,执行)接口来执行程序。在目前的java环境中,用户在调用exec接口时,java虚拟机会调用系统的C程序接口完成进程的创建,并且进行必要的资源同步,然后在新创建的子进程中执行该命令,同时父进程(即调用exec接口的进程)等待子进程退出,直到子进程完全执行完成,并且需要父进程也监听到,用户程序才能继续往下执行。由此可见,系统固有的方式容易导致以下两个结果:1、应用程序在调用过程中java父进程被阻塞,与用户交互的应用程序界面停止(即死机)。2、需要执行的其他程序也不能得到执行,这些情况都将严重影响智能电视的用户体验。因此,现有技术还有待于改进和发展。

技术实现要素:
鉴于上述现有技术的不足,本发明的目的在于提供一种在java环境中执行程序的方法及系统,旨在解决目前java环境中程序执行不稳定、程序执行过程中易死机、程序及系统稳定性不高等问题。本发明的技术方案如下:一种在java环境中执行程序的方法,其中,包括步骤:A、创建后台守护进程作为服务器端;B、在java应用环境中创建客户端,并将创建的客户端连接至所述服务器端;C、通过客户端将需要执行程序的程序信息发送至服务器端;D、所述服务器端根据所述客户端发来的程序信息,执行相应的程序,并返回相应的程序执行结果至客户端。所述的在java环境中执行程序的方法,其中,所述步骤A具体包括:A1、当系统启动时,创建后台守护进程;A2、将创建的后台守护进程作为服务器端;A3、通过作为服务器端的后台守护进程持续监听客户端的请求。所述的在java环境中执行程序的方法,其中,所述步骤B具体包括:B1、在java应用环境中创建客户端;B2、所述客户端向所述服务器端发送连接请求;B3、当所述服务器端接收所述连接请求后,与所述客户端建立连接。所述的在java环境中执行程序的方法,其中,所述步骤C中,所述程序信息包括程序的名称、路径、程序执行所需的命令及参数。所述的在java环境中执行程序的方法,其中,所述步骤D具体包括:D1、所述服务器端接收到程序信息后,根据程序信息生成执行程序进程;D2、所述服务器端通过该执行程序进程对需要执行的程序进行执行处理;D3、处理完成后,所述服务器端返回相应的程序执行结果至客户端。所述的在java环境中执行程序的方法,其中,所述步骤D2中,所述执行程序进程直接在命令行中对需要执行的程序进行执行处理。一种在java环境中执行程序的系统,其中,其包括:服务器端创建模块,用于创建后台守护进程作为服务器端;客户端创建模块,用于在java应用环境中创建客户端,并将创建的客户端连接至所述服务器端;客户端,用于将需要执行程序的程序信息发送至服务器端;服务器端,用于根据所述客户端发来的程序信息,执行相应的程序,并返回相应的程序执行结果至客户端。所述的在java环境中执行程序的系统,其中,所述客户端创建模块包括:客户端创建单元,用于在java应用环境中创建客户端;连接请求发送单元,用于向所述服务器端发送连接请求;连接单元,用于当所述服务器端接收所述连接请求后,与所述客户端建立连接。所述的在java环境中执行程序的系统,其中,所述服务器端包括:执行程序进程生成单元,用于所述服务器端接收到程序信息后,根据程序信息生成执行程序进程;程序处理单元,用于通过该执行程序进程对需要执行的程序进行执行处理;处理结果返回单元,用于处理完成后,返回相应的程序执行结果至客户端。有益效果:本发明在java环境中执行程序的方法及系统,通过创建服务器端和客户端的方式,将java环境中需要执行的程序通过在服务器端直接进行执行处理,解决了java环境中程序执行不稳定的问题,将本发明应用在智能电视领域,将提高智能电视程序的开发质量和整个系统的稳定性。附图说明图1为本发明在java环境下执行程序的方法较佳实施例的流程图。图2为图1所示方法中创建客户端实施例的流程图。图3为图1所示方法中客户端连接服务器端实施例的流程图。图4为图1所示方法中服务器端处理程序实施例的流程图。图5为本发明在java环境下执行程序的方法另一个实施例的流程图。图6为本发明在java环境下执行程序的系统较佳实施例的结构图。图7为图6所示系统中客户端创建模块的结构图。图8为图6所示系统中服务器端的结构图。具体实施方式本发明提供一种在java环境中执行程序的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明在java环境中执行程序的方法的一个实施例,如图1所示,其包括步骤:S101、创建后台守护进程作为服务器端;其中,后台守护进程可以创建在当前运行的操作系统中,例如android系统、windows系统等。S102、在java应用环境中创建客户端,并将创建的客户端连接至所述服务器端;S103、通过客户端将需要执行程序的程序信息发送至服务器端;所述的程序信息具体包括:程序的名称、路径、程序执行所需的命令及参数,这些程序信息都是在java环境中由客户端发送给服务器端。S104、所述服务器端根据所述客户端发来的程序信息,执行相应的程序,并返回相应的程序执行结果至客户端。首先在步骤S101中,创建服务器端,如创建后台守护进程,所述后台守护进程为一种开机即可运行的程序,当系统启动后,即可创建该后台守护进程,并将该后台守护进程作为服务器端,同时利用所述服务器端监听客户端的请求,如客户端的连接请求。步骤S101可具体细化为如图2所示的流程,即:S201、当系统启动时,创建后台守护进程;S202、将创建的后台守护进程作为服务器端;S203、通过作为服务器端的后台守护进程持续监听客户端的请求。本发明所述的java环境指的是java应用程序环境。在步骤S102中,如图3所示,其具体可包括步骤:S301、在java应用环境中创建客户端;此步骤是指在java应用程序的环境中按照需要创建客户端。S302、所述客户端向所述服务器端发送连接请求;当客户端创建完毕,所述客户端便向服务器端发送连接请求。S303、当所述服务器端接收所述连接请求后,与所述客户端建立连接。当服务器端接收到连接请求时,该服务器端接受客户端的连接请求,并且,所述客户端与服务器端开始建立连接;否则,服务器端便继续监听客户端的请求。而当客户端与服务器端连接不成功时,则返回重试,继续进行连接。在步骤S104中,如图4所示,其具体包括步骤:S401、所述服务器端接收到程序信息后,根据程序信息生成执行程序进程;此步骤中,当所述服务器端接收到客户端发送过来的程序信息后,即可生成一个新的进程,该进程为执行程序进程,用于对该程序信息中指定的程序进行执行和处理。S402、所述服务器端通过该执行程序进程对需要执行的程序进行执行处理;在服务器端生成执行程序进程后,即可利用该执行程序进程对需要执行的程序进行执行处理。S403、处理完成后,所述服务器端返回相应的程序执行结果至客户端。在执行程序进程对程序处理完毕后,该服务器端即可将程序执行处理结果返回至客户端,如此,本发明实现了将在java环境中需要执行的程序直接在服务器端进行处理,从而避免了通过虚拟机的主导,在java环境和宿主机环境进行迁移的情况,直接在命令行中即可执行程序,从而增强了系统的可靠性,并提高了系统的响应时间。本发明在java环境中执行程序的方法的另一个具体实施例,如图5所示,其包括步骤:S501、在java应用环境中执行第一程序;S502、判断是否需要执行第二程序;即判断是否需要在java应用环境中执行第二程序,例如本地程序、C程序等程序时,若是则创建该客户端,用来加快高效执行这些程序,以确保程序执行的稳定性。S503、当是时,在java应用环境中创建客户端;当否时,则继续执行第一程序,即执行步骤S507;S504、所述客户端连接所述服务器端;其中,java环境中的客户端连接当前操作系统中的服务器端。S505、判断服务器端与客户端的连接是否成功;S506、当连接成功时,所述客户端将需要执行的第二程序的程序信息发送给服务器端,并进入S604的处理步骤;S507、若无需执行第二程序,则继续执行第一程序;而对于服务器端,其主要执行以下步骤:S601、服务器端监听客户端的连接请求;S602、判断是否有客户端发送连接请求,若是,则进入步骤S603;若否,则返回步骤S601监听客户端的连接请求;S603、若是,接收客户端的连接请求,并建立服务器端与客户端的连接;S604、当服务器端接收到所述客户端的程序信息后,处理需要执行的程序;S605、当处理完毕后,将处理结果返回至客户端;本发明还提供了一种在java环境中执行程序的系统,如图6所示,其包括:服务器端创建模块100,用于创建后台守护进程作为服务器端;客户端创建模块200,用于在java应用环境中创建客户端,并将创建的客户端连接至所述服务器端;客户端300,用于将需要执行程序的程序信息发送至服务器端400;服务器端400,用于根据所述客户端300发来的程序信息,执行相应的程序,并返回相应的程序执行结果至客户端300。关于上述各模块的功能原理前面在图1所述的方法中已有详述,故不再赘述。进一步,如图7所示,所述客户端创建模块200包括:客户端创建单元210,用于在java环境中创建客户端300;连接请求发送单元220,用于向所述服务器端400发送连接请求;连接单元230,用于当所述服务器端400接收所述连接请求后,与所述客户端300建立连接。前面在如图3所述的方法中已描述客户端创建模块200中各单元的功能作用,故不再赘述。进一步,如图8所示,所述服务器端400包括:执行程序进程生成单元410,用于所述服务器端400接收到程序信息后,根据程序信息生成执行程序进程;程序处理单元420,用于通过该执行程序进程对需要执行的程序进行执行处理;处理结果返回单元430,用于处理完成后,返回相应的程序执行结果至客户端300。前面在如图4所述的方法中已描述服务器端400中各单元的功能作用,故不再赘述。本发明在java环境中执行程序的方法及系统,通过创建服务器端及客户端的方式,将java环境中需要执行的程序通过C/S(Client/Server,即客户机/服务器)的架构直接在服务器端进行处理,而无需调用java标准的exec接口来执行,从而大大简化了程序执行步骤,不需要通过虚拟机的主导,在java环境和宿主环境中进行迁移,需要执行的程序可直接在命令行中执行,从而降低了程序执行的复杂性,增强了系统的可靠性,并提供了系统的响应时间,本发明解决了在java环境中执行程序不稳定的问题,将本发明应用在智能电视领域,提高了智能电视程序的开发质量和整个系统的稳定性。应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1