CN103377074A - 一种在java环境中执行程序的方法及系统 - Google Patents

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

Info

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
Application number
CN201210130539XA
Other languages
English (en)
Other versions
CN103377074B (zh
Inventor
王亚辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Corp
Original Assignee
TCL Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TCL Corp filed Critical TCL Corp
Priority to CN201210130539.XA priority Critical patent/CN103377074B/zh
Publication of CN103377074A publication Critical patent/CN103377074A/zh
Application granted granted Critical
Publication of CN103377074B publication Critical patent/CN103377074B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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应用程序的环境)中开发的,而且需要执行其他可执行程序来完成功能。
在目前的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环境中执行程序的系统,其特征在于,所述服务器端包括:
执行程序进程生成单元,用于所述服务器端接收到程序信息后,根据程序信息生成执行程序进程;
程序处理单元,用于通过该执行程序进程对需要执行的程序进行执行处理;
处理结果返回单元,用于处理完成后,返回相应的程序执行结果至客户端。
CN201210130539.XA 2012-04-28 2012-04-28 一种在java环境中执行程序的方法及系统 Expired - Fee Related CN103377074B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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手机上启动应用程序的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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