CN103377074A - 一种在java环境中执行程序的方法及系统 - Google Patents
一种在java环境中执行程序的方法及系统 Download PDFInfo
- Publication number
- CN103377074A CN103377074A CN201210130539XA CN201210130539A CN103377074A CN 103377074 A CN103377074 A CN 103377074A CN 201210130539X A CN201210130539X A CN 201210130539XA CN 201210130539 A CN201210130539 A CN 201210130539A CN 103377074 A CN103377074 A CN 103377074A
- Authority
- CN
- China
- Prior art keywords
- client
- server end
- program
- executive routine
- java
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种在java环境中执行程序的方法及系统,本发明通过创建服务器端及客户端的方式,将java环境中需要执行的程序通过C/S的架构直接在服务器端进行处理,而无需调用java标准的exec接口来执行,从而大大简化了程序执行步骤,不需要通过虚拟机的主导,在java环境和宿主环境中进行迁移,需要执行的程序可直接在命令行中执行,从而降低了程序执行的复杂性,增强了系统的可靠性,并提供了系统的响应时间,本发明解决了在java环境中执行程序不稳定的问题,提高了智能电视程序的开发质量和整个系统的稳定性,可以预见,本发明将具有极高的市场价值。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种在java环境中执行程序的方法及系统。
背景技术
因人们对于传统电视的习惯,人们不希望智能电视出现死机等情况。而在目前实际的软件开发中,大部分程序(应用程序)都是在java环境(java应用程序的环境)中开发的,而且需要执行其他可执行程序来完成功能。
在目前的java环境中尤其是andriod系统下的java环境中,执行其他程序,特别是命令行程序,需要使用系统固有的API(Application Programming Interface,应用程序编程接口)。传统的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环境中执行程序不稳定的问题,将本发明应用在智能电视领域,提高了智能电视程序的开发质量和整个系统的稳定性。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (9)
1.一种在java环境中执行程序的方法,其特征在于,包括步骤:
A、创建后台守护进程作为服务器端;
B、在java应用环境中创建客户端,并将创建的客户端连接至所述服务器端;
C、通过客户端将需要执行程序的程序信息发送至服务器端;
D、所述服务器端根据所述客户端发来的程序信息,执行相应的程序,并返回相应的程序执行结果至客户端。
2.根据权利要求1所述的在java环境中执行程序的方法,其特征在于,所述步骤A具体包括:
A1、当系统启动时,创建后台守护进程;
A2、将创建的后台守护进程作为服务器端;
A3、通过作为服务器端的后台守护进程持续监听客户端的请求。
3.根据权利要求1所述的在java环境中执行程序的方法,其特征在于,所述步骤B具体包括:
B1、在java应用环境中创建客户端;
B2、所述客户端向所述服务器端发送连接请求;
B3、当所述服务器端接收所述连接请求后,与所述客户端建立连接。
4.根据权利要求1所述的在java环境中执行程序的方法,其特征在于,所述步骤C中,所述程序信息包括程序的名称、路径、程序执行所需的命令及参数。
5.根据权利要求1所述的在java环境中执行程序的方法,其特征在于,所述步骤D具体包括:
D1、所述服务器端接收到程序信息后,根据程序信息生成执行程序进程;
D2、所述服务器端通过该执行程序进程对需要执行的程序进行执行处理;
D3、处理完成后,所述服务器端返回相应的程序执行结果至客户端。
6.根据权利要求5所述的在java环境中执行程序的方法,其特征在于,所述步骤D2中,所述执行程序进程直接在命令行中对需要执行的程序进行执行处理。
7.一种在java环境中执行程序的系统,其特征在于,其包括:
服务器端创建模块,用于创建后台守护进程作为服务器端;
客户端创建模块,用于在java应用环境中创建客户端,并将创建的客户端连接至所述服务器端;
客户端,用于将需要执行程序的程序信息发送至服务器端;
服务器端,用于根据所述客户端发来的程序信息,执行相应的程序,并返回相应的程序执行结果至客户端。
8.根据权利要求7所述的在java环境中执行程序的系统,其特征在于,所述客户端创建模块包括:
客户端创建单元,用于在java应用环境中创建客户端;
连接请求发送单元,用于向所述服务器端发送连接请求;
连接单元,用于当所述服务器端接收所述连接请求后,与所述客户端建立连接。
9.根据权利要求7所述的在java环境中执行程序的系统,其特征在于,所述服务器端包括:
执行程序进程生成单元,用于所述服务器端接收到程序信息后,根据程序信息生成执行程序进程;
程序处理单元,用于通过该执行程序进程对需要执行的程序进行执行处理;
处理结果返回单元,用于处理完成后,返回相应的程序执行结果至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210130539.XA CN103377074B (zh) | 2012-04-28 | 2012-04-28 | 一种在java环境中执行程序的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210130539.XA CN103377074B (zh) | 2012-04-28 | 2012-04-28 | 一种在java环境中执行程序的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103377074A true CN103377074A (zh) | 2013-10-30 |
CN103377074B CN103377074B (zh) | 2017-02-15 |
Family
ID=49462235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210130539.XA Expired - Fee Related CN103377074B (zh) | 2012-04-28 | 2012-04-28 | 一种在java环境中执行程序的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103377074B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224861A (zh) * | 2014-06-13 | 2016-01-06 | Tcl集团股份有限公司 | 一种智能设备的死机状态处理方法及系统 |
CN109325343A (zh) * | 2018-09-17 | 2019-02-12 | 北京深思数盾科技股份有限公司 | Java程序执行方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978447B1 (en) * | 2001-02-28 | 2005-12-20 | Cisco Technology, Inc. | Method and system for efficiently interpreting a computer program |
CN102073542A (zh) * | 2010-12-22 | 2011-05-25 | 浙大网新科技股份有限公司 | Linux应用在Android手机上运行时整合中文输入法的方法 |
CN102339222A (zh) * | 2011-06-24 | 2012-02-01 | 浙大网新科技股份有限公司 | 在oms手机上启动应用程序的方法 |
-
2012
- 2012-04-28 CN CN201210130539.XA patent/CN103377074B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978447B1 (en) * | 2001-02-28 | 2005-12-20 | Cisco Technology, Inc. | Method and system for efficiently interpreting a computer program |
CN102073542A (zh) * | 2010-12-22 | 2011-05-25 | 浙大网新科技股份有限公司 | Linux应用在Android手机上运行时整合中文输入法的方法 |
CN102339222A (zh) * | 2011-06-24 | 2012-02-01 | 浙大网新科技股份有限公司 | 在oms手机上启动应用程序的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224861A (zh) * | 2014-06-13 | 2016-01-06 | Tcl集团股份有限公司 | 一种智能设备的死机状态处理方法及系统 |
CN105224861B (zh) * | 2014-06-13 | 2018-04-06 | Tcl集团股份有限公司 | 一种智能设备的死机状态处理方法及系统 |
CN109325343A (zh) * | 2018-09-17 | 2019-02-12 | 北京深思数盾科技股份有限公司 | Java程序执行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103377074B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10817350B2 (en) | Method and device for starting external application program in browser | |
CN102081553A (zh) | 便携设备的任务处理方法、装置及便携设备 | |
CN112583867B (zh) | 智能家电设备的共享方法、装置、电子设备和介质 | |
EP2482552A1 (en) | Method and system for controlling multipoint video conference, central control subsystem and video terminal | |
CN108027725B (zh) | 指导终端设备操作的方法、装置和设备 | |
CN104217270A (zh) | 业务流程应用文件生成和执行方法、客户端、设备及系统 | |
CN103793151A (zh) | 一种壁纸裁剪的方法及装置 | |
CN105511722A (zh) | 显示屏控制方法和系统 | |
CN103513858A (zh) | 远程协助方法及装置 | |
CN112583866B (zh) | 智能家电设备的共享方法、装置、电子设备和介质 | |
CN103377074A (zh) | 一种在java环境中执行程序的方法及系统 | |
CN115794313A (zh) | 一种虚拟机调试方法、系统、电子设备及存储介质 | |
CN109857507B (zh) | 一种自动化远程执行Windows程序的方法 | |
CN101673194A (zh) | 一种计算机及计算机处理用户通知消息的方法 | |
KR20130060340A (ko) | 입력 도구의 호출 시스템, 방법 및 프록시 장치 | |
CN102902574B (zh) | 一种多信息流节点的协同处理方法及装置 | |
CN111143017B (zh) | 云操作系统交互处理方法、客户端及云操作系统 | |
CN105760000A (zh) | 一种交互方法及装置 | |
CN102722152B (zh) | 一种基于嵌入式系统的远程控制设备的实现方法 | |
CN104166527A (zh) | 一种应用程序用户界面的扩展方法 | |
US20090094614A1 (en) | Direct synchronous input | |
CN102915256B (zh) | 多核浏览器下的消息传递方法与装置 | |
CN102469150B (zh) | 一种嵌入式设备远程控制的方法 | |
CN111949387B (zh) | 一种处理业务任务的方法、装置和电子设备 | |
CN104243253B (zh) | 一种客户端接入设备的控制方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170215 |
|
CF01 | Termination of patent right due to non-payment of annual fee |