两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種在java環(huán)境中執(zhí)行程序的方法及系統(tǒng)與流程

文檔序號:12008927閱讀:279來源:國知局
一種在java環(huán)境中執(zhí)行程序的方法及系統(tǒng)與流程
本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種在java環(huán)境中執(zhí)行程序的方法及系統(tǒng)。

背景技術(shù):
因人們對于傳統(tǒng)電視的習慣,人們不希望智能電視出現(xiàn)死機等情況。而在目前實際的軟件開發(fā)中,大部分程序(應(yīng)用程序)都是在java環(huán)境(java應(yīng)用程序的環(huán)境)中開發(fā)的,而且需要執(zhí)行其他可執(zhí)行程序來完成功能。在目前的java環(huán)境中尤其是andriod系統(tǒng)下的java環(huán)境中,執(zhí)行其他程序,特別是命令行程序,需要使用系統(tǒng)固有的API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)。傳統(tǒng)的java環(huán)境中執(zhí)行其他程序時,只能調(diào)用java標準的exec(executive,執(zhí)行)接口來執(zhí)行程序。在目前的java環(huán)境中,用戶在調(diào)用exec接口時,java虛擬機會調(diào)用系統(tǒng)的C程序接口完成進程的創(chuàng)建,并且進行必要的資源同步,然后在新創(chuàng)建的子進程中執(zhí)行該命令,同時父進程(即調(diào)用exec接口的進程)等待子進程退出,直到子進程完全執(zhí)行完成,并且需要父進程也監(jiān)聽到,用戶程序才能繼續(xù)往下執(zhí)行。由此可見,系統(tǒng)固有的方式容易導(dǎo)致以下兩個結(jié)果:1、應(yīng)用程序在調(diào)用過程中java父進程被阻塞,與用戶交互的應(yīng)用程序界面停止(即死機)。2、需要執(zhí)行的其他程序也不能得到執(zhí)行,這些情況都將嚴重影響智能電視的用戶體驗。因此,現(xiàn)有技術(shù)還有待于改進和發(fā)展。

技術(shù)實現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種在java環(huán)境中執(zhí)行程序的方法及系統(tǒng),旨在解決目前java環(huán)境中程序執(zhí)行不穩(wěn)定、程序執(zhí)行過程中易死機、程序及系統(tǒng)穩(wěn)定性不高等問題。本發(fā)明的技術(shù)方案如下:一種在java環(huán)境中執(zhí)行程序的方法,其中,包括步驟:A、創(chuàng)建后臺守護進程作為服務(wù)器端;B、在java應(yīng)用環(huán)境中創(chuàng)建客戶端,并將創(chuàng)建的客戶端連接至所述服務(wù)器端;C、通過客戶端將需要執(zhí)行程序的程序信息發(fā)送至服務(wù)器端;D、所述服務(wù)器端根據(jù)所述客戶端發(fā)來的程序信息,執(zhí)行相應(yīng)的程序,并返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端。所述的在java環(huán)境中執(zhí)行程序的方法,其中,所述步驟A具體包括:A1、當系統(tǒng)啟動時,創(chuàng)建后臺守護進程;A2、將創(chuàng)建的后臺守護進程作為服務(wù)器端;A3、通過作為服務(wù)器端的后臺守護進程持續(xù)監(jiān)聽客戶端的請求。所述的在java環(huán)境中執(zhí)行程序的方法,其中,所述步驟B具體包括:B1、在java應(yīng)用環(huán)境中創(chuàng)建客戶端;B2、所述客戶端向所述服務(wù)器端發(fā)送連接請求;B3、當所述服務(wù)器端接收所述連接請求后,與所述客戶端建立連接。所述的在java環(huán)境中執(zhí)行程序的方法,其中,所述步驟C中,所述程序信息包括程序的名稱、路徑、程序執(zhí)行所需的命令及參數(shù)。所述的在java環(huán)境中執(zhí)行程序的方法,其中,所述步驟D具體包括:D1、所述服務(wù)器端接收到程序信息后,根據(jù)程序信息生成執(zhí)行程序進程;D2、所述服務(wù)器端通過該執(zhí)行程序進程對需要執(zhí)行的程序進行執(zhí)行處理;D3、處理完成后,所述服務(wù)器端返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端。所述的在java環(huán)境中執(zhí)行程序的方法,其中,所述步驟D2中,所述執(zhí)行程序進程直接在命令行中對需要執(zhí)行的程序進行執(zhí)行處理。一種在java環(huán)境中執(zhí)行程序的系統(tǒng),其中,其包括:服務(wù)器端創(chuàng)建模塊,用于創(chuàng)建后臺守護進程作為服務(wù)器端;客戶端創(chuàng)建模塊,用于在java應(yīng)用環(huán)境中創(chuàng)建客戶端,并將創(chuàng)建的客戶端連接至所述服務(wù)器端;客戶端,用于將需要執(zhí)行程序的程序信息發(fā)送至服務(wù)器端;服務(wù)器端,用于根據(jù)所述客戶端發(fā)來的程序信息,執(zhí)行相應(yīng)的程序,并返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端。所述的在java環(huán)境中執(zhí)行程序的系統(tǒng),其中,所述客戶端創(chuàng)建模塊包括:客戶端創(chuàng)建單元,用于在java應(yīng)用環(huán)境中創(chuàng)建客戶端;連接請求發(fā)送單元,用于向所述服務(wù)器端發(fā)送連接請求;連接單元,用于當所述服務(wù)器端接收所述連接請求后,與所述客戶端建立連接。所述的在java環(huán)境中執(zhí)行程序的系統(tǒng),其中,所述服務(wù)器端包括:執(zhí)行程序進程生成單元,用于所述服務(wù)器端接收到程序信息后,根據(jù)程序信息生成執(zhí)行程序進程;程序處理單元,用于通過該執(zhí)行程序進程對需要執(zhí)行的程序進行執(zhí)行處理;處理結(jié)果返回單元,用于處理完成后,返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端。有益效果:本發(fā)明在java環(huán)境中執(zhí)行程序的方法及系統(tǒng),通過創(chuàng)建服務(wù)器端和客戶端的方式,將java環(huán)境中需要執(zhí)行的程序通過在服務(wù)器端直接進行執(zhí)行處理,解決了java環(huán)境中程序執(zhí)行不穩(wěn)定的問題,將本發(fā)明應(yīng)用在智能電視領(lǐng)域,將提高智能電視程序的開發(fā)質(zhì)量和整個系統(tǒng)的穩(wěn)定性。附圖說明圖1為本發(fā)明在java環(huán)境下執(zhí)行程序的方法較佳實施例的流程圖。圖2為圖1所示方法中創(chuàng)建客戶端實施例的流程圖。圖3為圖1所示方法中客戶端連接服務(wù)器端實施例的流程圖。圖4為圖1所示方法中服務(wù)器端處理程序?qū)嵤├牧鞒虉D。圖5為本發(fā)明在java環(huán)境下執(zhí)行程序的方法另一個實施例的流程圖。圖6為本發(fā)明在java環(huán)境下執(zhí)行程序的系統(tǒng)較佳實施例的結(jié)構(gòu)圖。圖7為圖6所示系統(tǒng)中客戶端創(chuàng)建模塊的結(jié)構(gòu)圖。圖8為圖6所示系統(tǒng)中服務(wù)器端的結(jié)構(gòu)圖。具體實施方式本發(fā)明提供一種在java環(huán)境中執(zhí)行程序的方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明在java環(huán)境中執(zhí)行程序的方法的一個實施例,如圖1所示,其包括步驟:S101、創(chuàng)建后臺守護進程作為服務(wù)器端;其中,后臺守護進程可以創(chuàng)建在當前運行的操作系統(tǒng)中,例如android系統(tǒng)、windows系統(tǒng)等。S102、在java應(yīng)用環(huán)境中創(chuàng)建客戶端,并將創(chuàng)建的客戶端連接至所述服務(wù)器端;S103、通過客戶端將需要執(zhí)行程序的程序信息發(fā)送至服務(wù)器端;所述的程序信息具體包括:程序的名稱、路徑、程序執(zhí)行所需的命令及參數(shù),這些程序信息都是在java環(huán)境中由客戶端發(fā)送給服務(wù)器端。S104、所述服務(wù)器端根據(jù)所述客戶端發(fā)來的程序信息,執(zhí)行相應(yīng)的程序,并返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端。首先在步驟S101中,創(chuàng)建服務(wù)器端,如創(chuàng)建后臺守護進程,所述后臺守護進程為一種開機即可運行的程序,當系統(tǒng)啟動后,即可創(chuàng)建該后臺守護進程,并將該后臺守護進程作為服務(wù)器端,同時利用所述服務(wù)器端監(jiān)聽客戶端的請求,如客戶端的連接請求。步驟S101可具體細化為如圖2所示的流程,即:S201、當系統(tǒng)啟動時,創(chuàng)建后臺守護進程;S202、將創(chuàng)建的后臺守護進程作為服務(wù)器端;S203、通過作為服務(wù)器端的后臺守護進程持續(xù)監(jiān)聽客戶端的請求。本發(fā)明所述的java環(huán)境指的是java應(yīng)用程序環(huán)境。在步驟S102中,如圖3所示,其具體可包括步驟:S301、在java應(yīng)用環(huán)境中創(chuàng)建客戶端;此步驟是指在java應(yīng)用程序的環(huán)境中按照需要創(chuàng)建客戶端。S302、所述客戶端向所述服務(wù)器端發(fā)送連接請求;當客戶端創(chuàng)建完畢,所述客戶端便向服務(wù)器端發(fā)送連接請求。S303、當所述服務(wù)器端接收所述連接請求后,與所述客戶端建立連接。當服務(wù)器端接收到連接請求時,該服務(wù)器端接受客戶端的連接請求,并且,所述客戶端與服務(wù)器端開始建立連接;否則,服務(wù)器端便繼續(xù)監(jiān)聽客戶端的請求。而當客戶端與服務(wù)器端連接不成功時,則返回重試,繼續(xù)進行連接。在步驟S104中,如圖4所示,其具體包括步驟:S401、所述服務(wù)器端接收到程序信息后,根據(jù)程序信息生成執(zhí)行程序進程;此步驟中,當所述服務(wù)器端接收到客戶端發(fā)送過來的程序信息后,即可生成一個新的進程,該進程為執(zhí)行程序進程,用于對該程序信息中指定的程序進行執(zhí)行和處理。S402、所述服務(wù)器端通過該執(zhí)行程序進程對需要執(zhí)行的程序進行執(zhí)行處理;在服務(wù)器端生成執(zhí)行程序進程后,即可利用該執(zhí)行程序進程對需要執(zhí)行的程序進行執(zhí)行處理。S403、處理完成后,所述服務(wù)器端返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端。在執(zhí)行程序進程對程序處理完畢后,該服務(wù)器端即可將程序執(zhí)行處理結(jié)果返回至客戶端,如此,本發(fā)明實現(xiàn)了將在java環(huán)境中需要執(zhí)行的程序直接在服務(wù)器端進行處理,從而避免了通過虛擬機的主導(dǎo),在java環(huán)境和宿主機環(huán)境進行遷移的情況,直接在命令行中即可執(zhí)行程序,從而增強了系統(tǒng)的可靠性,并提高了系統(tǒng)的響應(yīng)時間。本發(fā)明在java環(huán)境中執(zhí)行程序的方法的另一個具體實施例,如圖5所示,其包括步驟:S501、在java應(yīng)用環(huán)境中執(zhí)行第一程序;S502、判斷是否需要執(zhí)行第二程序;即判斷是否需要在java應(yīng)用環(huán)境中執(zhí)行第二程序,例如本地程序、C程序等程序時,若是則創(chuàng)建該客戶端,用來加快高效執(zhí)行這些程序,以確保程序執(zhí)行的穩(wěn)定性。S503、當是時,在java應(yīng)用環(huán)境中創(chuàng)建客戶端;當否時,則繼續(xù)執(zhí)行第一程序,即執(zhí)行步驟S507;S504、所述客戶端連接所述服務(wù)器端;其中,java環(huán)境中的客戶端連接當前操作系統(tǒng)中的服務(wù)器端。S505、判斷服務(wù)器端與客戶端的連接是否成功;S506、當連接成功時,所述客戶端將需要執(zhí)行的第二程序的程序信息發(fā)送給服務(wù)器端,并進入S604的處理步驟;S507、若無需執(zhí)行第二程序,則繼續(xù)執(zhí)行第一程序;而對于服務(wù)器端,其主要執(zhí)行以下步驟:S601、服務(wù)器端監(jiān)聽客戶端的連接請求;S602、判斷是否有客戶端發(fā)送連接請求,若是,則進入步驟S603;若否,則返回步驟S601監(jiān)聽客戶端的連接請求;S603、若是,接收客戶端的連接請求,并建立服務(wù)器端與客戶端的連接;S604、當服務(wù)器端接收到所述客戶端的程序信息后,處理需要執(zhí)行的程序;S605、當處理完畢后,將處理結(jié)果返回至客戶端;本發(fā)明還提供了一種在java環(huán)境中執(zhí)行程序的系統(tǒng),如圖6所示,其包括:服務(wù)器端創(chuàng)建模塊100,用于創(chuàng)建后臺守護進程作為服務(wù)器端;客戶端創(chuàng)建模塊200,用于在java應(yīng)用環(huán)境中創(chuàng)建客戶端,并將創(chuàng)建的客戶端連接至所述服務(wù)器端;客戶端300,用于將需要執(zhí)行程序的程序信息發(fā)送至服務(wù)器端400;服務(wù)器端400,用于根據(jù)所述客戶端300發(fā)來的程序信息,執(zhí)行相應(yīng)的程序,并返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端300。關(guān)于上述各模塊的功能原理前面在圖1所述的方法中已有詳述,故不再贅述。進一步,如圖7所示,所述客戶端創(chuàng)建模塊200包括:客戶端創(chuàng)建單元210,用于在java環(huán)境中創(chuàng)建客戶端300;連接請求發(fā)送單元220,用于向所述服務(wù)器端400發(fā)送連接請求;連接單元230,用于當所述服務(wù)器端400接收所述連接請求后,與所述客戶端300建立連接。前面在如圖3所述的方法中已描述客戶端創(chuàng)建模塊200中各單元的功能作用,故不再贅述。進一步,如圖8所示,所述服務(wù)器端400包括:執(zhí)行程序進程生成單元410,用于所述服務(wù)器端400接收到程序信息后,根據(jù)程序信息生成執(zhí)行程序進程;程序處理單元420,用于通過該執(zhí)行程序進程對需要執(zhí)行的程序進行執(zhí)行處理;處理結(jié)果返回單元430,用于處理完成后,返回相應(yīng)的程序執(zhí)行結(jié)果至客戶端300。前面在如圖4所述的方法中已描述服務(wù)器端400中各單元的功能作用,故不再贅述。本發(fā)明在java環(huán)境中執(zhí)行程序的方法及系統(tǒng),通過創(chuàng)建服務(wù)器端及客戶端的方式,將java環(huán)境中需要執(zhí)行的程序通過C/S(Client/Server,即客戶機/服務(wù)器)的架構(gòu)直接在服務(wù)器端進行處理,而無需調(diào)用java標準的exec接口來執(zhí)行,從而大大簡化了程序執(zhí)行步驟,不需要通過虛擬機的主導(dǎo),在java環(huán)境和宿主環(huán)境中進行遷移,需要執(zhí)行的程序可直接在命令行中執(zhí)行,從而降低了程序執(zhí)行的復(fù)雜性,增強了系統(tǒng)的可靠性,并提供了系統(tǒng)的響應(yīng)時間,本發(fā)明解決了在java環(huán)境中執(zhí)行程序不穩(wěn)定的問題,將本發(fā)明應(yīng)用在智能電視領(lǐng)域,提高了智能電視程序的開發(fā)質(zhì)量和整個系統(tǒng)的穩(wěn)定性。應(yīng)當理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
平远县| 新丰县| 四平市| 莆田市| 玉林市| 东海县| 高邑县| 达日县| 广宗县| 图木舒克市| 汝南县| 磐安县| 马公市| 武定县| 新巴尔虎左旗| 井研县| 岳普湖县| 遂川县| 天柱县| 尚义县| 潍坊市| 弥勒县| 岑溪市| 永吉县| 承德市| 乌兰浩特市| 荥阳市| 常德市| 通辽市| 比如县| 吉林省| 承德市| 尚义县| 白水县| 怀宁县| 平泉县| 永济市| 通城县| 阿克苏市| 武平县| 澎湖县|