本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)服務(wù)控制方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)服務(wù)是指在網(wǎng)絡(luò)上運行的、面向服務(wù)的、基于分布式程序的軟件模塊。網(wǎng)絡(luò)服務(wù)的框架用于實現(xiàn)網(wǎng)絡(luò)服務(wù)。
目前業(yè)界存在一些網(wǎng)絡(luò)服務(wù)框架,主要分為兩類:一類是同步模型,一類是基于回調(diào)的異步模型。
其中,在同步模型中網(wǎng)絡(luò)服務(wù)器架構(gòu)的執(zhí)行流程如下:
1、業(yè)務(wù)線程在處理業(yè)務(wù)邏輯過程中有業(yè)務(wù)數(shù)據(jù)需求,向網(wǎng)絡(luò)I/O(輸入/輸出,Input/Output)模塊發(fā)送業(yè)務(wù)線程阻塞請求,用于請求上述業(yè)務(wù)數(shù)據(jù);
2、業(yè)務(wù)線程等待網(wǎng)絡(luò)I/O模塊返回的業(yè)務(wù)數(shù)據(jù),并接收網(wǎng)絡(luò)I/O模塊返回的業(yè)務(wù)數(shù)據(jù);
3、直到業(yè)務(wù)數(shù)據(jù)返回結(jié)束后繼續(xù)處理業(yè)務(wù)邏輯。
但是以上同步模型需要阻塞業(yè)務(wù)線程會降低服務(wù)器的性能,甚至導(dǎo)致服務(wù)器掛死,造成不服務(wù)器不穩(wěn)定。為了解決以上問題,提出了上述基于回調(diào)的異步模型的執(zhí)行流程如下:
1、業(yè)務(wù)線程在處理業(yè)務(wù)邏輯過程中有業(yè)務(wù)數(shù)據(jù)需求,向I/O線程發(fā)送數(shù)據(jù)請求,用于請求上述業(yè)務(wù)數(shù)據(jù);此時,不阻塞業(yè)務(wù)線程;
2、業(yè)務(wù)線程立刻返回并處理其他業(yè)務(wù)請求;
3、處理其他業(yè)務(wù)請求的業(yè)務(wù)邏輯;
4、I/O線程在收到數(shù)據(jù)請求后,會從網(wǎng)絡(luò)I/O模塊獲取上述業(yè)務(wù)數(shù)據(jù);當I/O線程的業(yè)務(wù)數(shù)據(jù)準備好后,回調(diào)通知業(yè)務(wù)線程;
5、業(yè)務(wù)線程接收上述業(yè)務(wù)數(shù)據(jù),并繼續(xù)處理需要上述業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)邏輯。
但是,以上異步模型的技術(shù)門檻較高,編程比較復(fù)雜。從實際測試過程中發(fā)現(xiàn),數(shù)據(jù)請求的狀態(tài)難以維護經(jīng)常出故障,在業(yè)務(wù)邏輯復(fù)雜的情況下,I/O 線程會有過多的回調(diào)代碼導(dǎo)致難以維護。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種網(wǎng)絡(luò)服務(wù)控制方法及裝置,用于提供能夠兼具同步模型和異步模型優(yōu)勢的網(wǎng)絡(luò)服務(wù)控制方法,在保證服務(wù)器穩(wěn)定運行的前提下,減少故障率,降低維護難度。
一種網(wǎng)絡(luò)服務(wù)控制方法,包括:
向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求,接收所述業(yè)務(wù)線程執(zhí)行所述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求;
將所述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程,保存所述業(yè)務(wù)邏輯的運行狀態(tài);
將所述I/O線程返回的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給所述業(yè)務(wù)線程,使所述業(yè)務(wù)線程從所述運行狀態(tài)繼續(xù)執(zhí)行所述業(yè)務(wù)邏輯。
一種網(wǎng)絡(luò)服務(wù)控制裝置,包括:
第一發(fā)送單元,用于向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求;
接收單元,用于接收所述業(yè)務(wù)線程執(zhí)行所述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求;
第二發(fā)送單元,用于將所述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程;
保存單元,用于保存所述業(yè)務(wù)邏輯的運行狀態(tài);
所述第一發(fā)送單元,還用于將所述I/O線程返回的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給所述業(yè)務(wù)線程,使所述業(yè)務(wù)線程從所述運行狀態(tài)繼續(xù)執(zhí)行所述業(yè)務(wù)邏輯。
從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點:通過增加網(wǎng)絡(luò)服務(wù)控制的方式,使業(yè)務(wù)線程和I/O線程都可以保持同步架構(gòu)時的技術(shù)優(yōu)勢,而且業(yè)務(wù)邏輯的運行狀態(tài)保存了起來,不必使業(yè)務(wù)線程必須等待I/O線程返回業(yè)務(wù)數(shù)據(jù),從而不會掛死以及因此導(dǎo)致的服務(wù)器性能低下。因此本發(fā)明實施例提供了能夠兼具同步模型和異步模型優(yōu)勢的網(wǎng)絡(luò)服務(wù)控制方法,在保證服務(wù)器穩(wěn)定運行的前提下,減少故障率,降低維護難度。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中 所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例方法流程示意圖;
圖2為本發(fā)明實施例網(wǎng)絡(luò)服務(wù)控制架構(gòu)示意圖;
圖3為本發(fā)明實施例方法流程示意圖;
圖4為本發(fā)明實施例裝置結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例裝置結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例裝置結(jié)構(gòu)示意圖;
圖7為本發(fā)明實施例服務(wù)器結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部份實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供了一種網(wǎng)絡(luò)服務(wù)控制方法,如圖1所示,包括:
101:向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求,接收上述業(yè)務(wù)線程執(zhí)行上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求;
業(yè)務(wù)線程是執(zhí)行業(yè)務(wù)邏輯實現(xiàn)業(yè)務(wù)功能的線程,線程有時也被稱為輕量級進程(Lightweight Process,LWP),是程序執(zhí)行流的最小單元。線程是進程中的一個實體,是被系統(tǒng)獨立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點兒在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。由于線程之間的相互制約,致使線程在運行中呈現(xiàn)出間斷性。線程也有就緒、阻塞和運行三種基本狀態(tài)。就緒狀態(tài)是指線程具備運行的所有條件,邏輯上可以運行,在等待處理機;運行狀態(tài)是指線程占有處理機正在運行;阻塞狀態(tài)是指線程在等待一個事件(如某個信號量),邏輯上不可執(zhí)行。每一個程序都至少有一個線程,若程序只有一個 線程,那就是程序本身。
業(yè)務(wù)數(shù)據(jù)是業(yè)務(wù)線程在執(zhí)行業(yè)務(wù)邏輯的過程中所需要的調(diào)用的數(shù)據(jù)資源,通常可以由網(wǎng)絡(luò)I/O模塊一側(cè)提供。在本實施例中采用的架構(gòu)通過I/O線程從網(wǎng)絡(luò)I/O模塊獲取,請參閱圖2所示的網(wǎng)絡(luò)服務(wù)控制架構(gòu),包括:業(yè)務(wù)線程、網(wǎng)絡(luò)服務(wù)控制模塊、I/O線程,以及網(wǎng)絡(luò)I/O模塊。本實施例控制實現(xiàn)在網(wǎng)絡(luò)服務(wù)控制模塊。
在本發(fā)明實施例中出現(xiàn)的“第一”和“第二”用于區(qū)分同類的兩個不同的技術(shù)術(shù)語,“第一業(yè)務(wù)請求”和“第二業(yè)務(wù)請求”表示兩個不同的業(yè)務(wù)請求,請求業(yè)務(wù)線程執(zhí)行不同的業(yè)務(wù)邏輯從而實現(xiàn)不同的業(yè)務(wù)功能,“第一”和“第二”不應(yīng)理解為具有其他的技術(shù)含義。
102:將上述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程,保存上述業(yè)務(wù)邏輯的運行狀態(tài);
在上述數(shù)據(jù)請求中會包含業(yè)務(wù)線程執(zhí)行上述業(yè)務(wù)邏輯的過程中所需要業(yè)務(wù)數(shù)據(jù)的指示性信息,例如:需要調(diào)用的業(yè)務(wù)資源的標識、地址或者其他信息。該部分屬于數(shù)據(jù)調(diào)用/獲取的部分,本領(lǐng)域技術(shù)人員可以采用其所熟知的方式實現(xiàn),并不影響本發(fā)明實施例的實現(xiàn),因此本發(fā)明實施例對此不作唯一性限定。
本實施例需要保存業(yè)務(wù)邏輯的運行狀態(tài),在技術(shù)方案的后續(xù)實現(xiàn)過程中需要以業(yè)務(wù)邏輯當前執(zhí)行的進度為基礎(chǔ)繼續(xù)執(zhí)行,屬于業(yè)務(wù)邏輯執(zhí)行的控制部分,該部分依繼續(xù)執(zhí)行的控制方式不同會可能會導(dǎo)致需要保存的信息有所不同,本發(fā)明實施例對于保存何種具體的數(shù)據(jù)參數(shù)不作唯一性限定。
103:將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給上述業(yè)務(wù)線程,使上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。
在本實施例中,不僅會向業(yè)務(wù)線程返回其所請求的業(yè)務(wù)數(shù)據(jù),還會控制業(yè)務(wù)線程從之前返回數(shù)據(jù)請求時業(yè)務(wù)邏輯所處的進度繼續(xù)執(zhí)行。
本發(fā)明實施例,通過增加網(wǎng)絡(luò)服務(wù)控制的方式,使業(yè)務(wù)線程和I/O線程都可以保持同步架構(gòu)時的技術(shù)優(yōu)勢,而且業(yè)務(wù)邏輯的運行狀態(tài)保存了起來,不必使業(yè)務(wù)線程必須等待I/O線程返回業(yè)務(wù)數(shù)據(jù),從而不會掛死以及因此導(dǎo)致的服務(wù)器性能低下。因此本發(fā)明實施例提供了能夠兼具同步模型和異步模型優(yōu)勢的網(wǎng)絡(luò)服務(wù)控制方法,在保證服務(wù)器穩(wěn)定運行的前提下,減少故障率,降 低維護難度。
在本發(fā)明實施例中,第一業(yè)務(wù)請求的業(yè)務(wù)邏輯執(zhí)行過程中可能存在業(yè)務(wù)數(shù)據(jù)需求,此時由網(wǎng)絡(luò)服務(wù)控制的執(zhí)行主體保存了第一業(yè)務(wù)請求的業(yè)務(wù)邏輯的運行狀態(tài),在此之后業(yè)務(wù)線程處于閑置狀態(tài),此種情況下,業(yè)務(wù)線程可以處理其他的業(yè)務(wù)請求,因此本發(fā)明實施例提供了如下解決方案:在接收到上述業(yè)務(wù)線程執(zhí)行上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求之后,上述方法還包括:
向上述業(yè)務(wù)線程發(fā)送第二業(yè)務(wù)請求。
本實施例中,第二業(yè)務(wù)請求被發(fā)往業(yè)務(wù)線程以后,業(yè)務(wù)線程會開始執(zhí)行第二業(yè)務(wù)請求對應(yīng)的業(yè)務(wù)邏輯。在以上“業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯”需要被實現(xiàn)的時刻,第二業(yè)務(wù)請求的業(yè)務(wù)邏輯可能已經(jīng)執(zhí)行完畢,也可能正處于執(zhí)行過程中。若已經(jīng)執(zhí)行完畢,那么業(yè)務(wù)線程處于空閑狀態(tài)下,此種情況較為簡單不作說明。若第二業(yè)務(wù)請求的業(yè)務(wù)邏輯還在執(zhí)行過程中,那么可以有以下三種選擇方案:一、向業(yè)務(wù)線程發(fā)送中斷請求,然后控制業(yè)務(wù)線程先從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯,然后繼續(xù)執(zhí)行上述第二業(yè)務(wù)請求對應(yīng)的業(yè)務(wù)邏輯;二、向處于空閑狀態(tài)下的業(yè)務(wù)線程發(fā)送上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯的運行狀態(tài),使處于空閑狀態(tài)的業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。這里,處于空閑狀態(tài)的業(yè)務(wù)線程,可能是等待上述正在執(zhí)行第二業(yè)務(wù)請求的業(yè)務(wù)邏輯的業(yè)務(wù)線程執(zhí)行完畢后,也可以是存在多個業(yè)務(wù)線程,查詢到的其他空閑業(yè)務(wù)線程。
本發(fā)明實施例還提供了執(zhí)行本發(fā)明實施例的可選主體選擇,具體如下:上述向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求包括:
有限狀態(tài)機向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求。
需要說明的是有限狀態(tài)機可以作為實現(xiàn)本發(fā)明實施例功能的一個具體實現(xiàn)方案作為備選,在實際應(yīng)用中只要能夠?qū)崿F(xiàn)以上功能的技術(shù)功能部件都是可以的,因此有限狀態(tài)機不應(yīng)理解為對本發(fā)明實施例的唯一性限定。有限狀態(tài)機(Finite-state machine,FSM),又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限個狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)學(xué)模型。在數(shù)字電路系統(tǒng)中,有限狀態(tài)機是時序邏輯電路模塊。
本發(fā)明實施例還提供了基于有限狀態(tài)機的更具體的實現(xiàn)方案舉例,具體如下:上述有限狀態(tài)機包括:協(xié)程。
協(xié)程(coroutine)不是進程或線程,其執(zhí)行過程更類似于子例程,或者說不帶返回值的函數(shù)調(diào)用。協(xié)程也是一種程序組件。一個程序可以包含多個協(xié)程,可以對應(yīng)于一個進程包含的多個線程。多個線程相對獨立,有自己的上下文,切換受系統(tǒng)控制;而協(xié)程也相對獨立,有自己的上下文,但是其切換由自己控制,由當前協(xié)程切換到其他協(xié)程由當前協(xié)程來控制。
本發(fā)明實施例還提供了從I/O線程接收業(yè)務(wù)數(shù)據(jù)的具體實現(xiàn)方案,如下:上述將上述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程之前,上述方法還包括:
通過回調(diào)接收上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)。
可以理解的是,業(yè)務(wù)數(shù)據(jù)從I/O線程發(fā)送到網(wǎng)絡(luò)服務(wù)控制的執(zhí)行主體,可以是主動發(fā)送的,也可以是被動發(fā)送的;可以是被調(diào)用的,也可以是共享存儲空間傳遞的,因此以上回調(diào)不應(yīng)理解為對本發(fā)明實施例的唯一性限定。
本發(fā)明實施例還提供了使業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯的一個具體實現(xiàn)舉例,具體如下:上述將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給上述業(yè)務(wù)線程,使上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯包括:
將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)以及保存的上述業(yè)務(wù)邏輯的運行狀態(tài)發(fā)送給上述業(yè)務(wù)線程,指示上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。
以下實施例將以系統(tǒng)架構(gòu)的角度對本發(fā)明實施例進行詳細說明,其中實現(xiàn)網(wǎng)絡(luò)服務(wù)控制通過協(xié)程實現(xiàn),如圖3所示:
301:協(xié)程交付業(yè)務(wù)請求給業(yè)務(wù)線程,請求業(yè)務(wù)線程對業(yè)務(wù)請求的業(yè)務(wù)邏輯進行處理;
302:業(yè)務(wù)線程處理業(yè)務(wù)請求的業(yè)務(wù)邏輯的過程中有業(yè)務(wù)數(shù)據(jù)需求,向協(xié)程發(fā)送數(shù)據(jù)請求,請求返回對應(yīng)的業(yè)務(wù)數(shù)據(jù);協(xié)程將上述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程,由I/O線程從網(wǎng)絡(luò)I/O模塊獲得業(yè)務(wù)數(shù)據(jù);
303:協(xié)程保存上述業(yè)務(wù)請求對應(yīng)的業(yè)務(wù)邏輯的運行狀態(tài)的相關(guān)信息;
304:協(xié)程向業(yè)務(wù)線程交付新的業(yè)務(wù)請求,請求新的業(yè)務(wù)服務(wù)被業(yè)務(wù)線程 所執(zhí)行;
305:通過回調(diào)獲得I/O線程返回的業(yè)務(wù)數(shù)據(jù),此時可以將業(yè)務(wù)數(shù)據(jù)交互給業(yè)務(wù)線程,還可以將保存的業(yè)務(wù)邏輯的運行狀態(tài)發(fā)送給業(yè)務(wù)線程;
306:業(yè)務(wù)線程從上述業(yè)務(wù)邏輯的運行狀態(tài)處繼續(xù)執(zhí)行業(yè)務(wù)邏輯。
結(jié)合純同步模型和基于回調(diào)的異步模型兩者優(yōu)點,對于普通開發(fā)人員來說開發(fā)門檻低,同步編碼實現(xiàn)業(yè)務(wù)服務(wù),很容易就能完成業(yè)務(wù)需求開發(fā),同時開發(fā)出來的服務(wù)又具有異步運行能力,極大提高服務(wù)處理的性能。
本發(fā)明實施例還提供了一種網(wǎng)絡(luò)服務(wù)控制裝置,如圖4所示,包括:
第一發(fā)送單元401,用于向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求;
接收單元402,用于接收上述業(yè)務(wù)線程執(zhí)行上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求;
第二發(fā)送單元403,用于將上述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程;
保存單元404,用于保存上述業(yè)務(wù)邏輯的運行狀態(tài);
上述第一發(fā)送單元401,還用于將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給上述業(yè)務(wù)線程,使上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。
業(yè)務(wù)線程是執(zhí)行業(yè)務(wù)邏輯實現(xiàn)業(yè)務(wù)功能的線程,線程有時也被稱為輕量級進程(Lightweight Process,LWP),是程序執(zhí)行流的最小單元。線程是進程中的一個實體,是被系統(tǒng)獨立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點兒在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。由于線程之間的相互制約,致使線程在運行中呈現(xiàn)出間斷性。線程也有就緒、阻塞和運行三種基本狀態(tài)。就緒狀態(tài)是指線程具備運行的所有條件,邏輯上可以運行,在等待處理機;運行狀態(tài)是指線程占有處理機正在運行;阻塞狀態(tài)是指線程在等待一個事件(如某個信號量),邏輯上不可執(zhí)行。每一個程序都至少有一個線程,若程序只有一個線程,那就是程序本身。
業(yè)務(wù)數(shù)據(jù)是業(yè)務(wù)線程在執(zhí)行業(yè)務(wù)邏輯的過程中所需要的調(diào)用的數(shù)據(jù)資源,通??梢杂删W(wǎng)絡(luò)I/O模塊一側(cè)提供。在本實施例中采用的架構(gòu)通過I/O線程從網(wǎng)絡(luò)I/O模塊獲取,請參閱圖2所示的網(wǎng)絡(luò)服務(wù)控制架構(gòu),包括:業(yè)務(wù)線程、網(wǎng)絡(luò)服務(wù)控制模塊、I/O線程,以及網(wǎng)絡(luò)I/O模塊。本實施例控制實現(xiàn)在 網(wǎng)絡(luò)服務(wù)控制模塊。
在本發(fā)明實施例中出現(xiàn)的“第一”和“第二”用于區(qū)分同類的兩個不同的技術(shù)術(shù)語,“第一業(yè)務(wù)請求”和“第二業(yè)務(wù)請求”表示兩個不同的業(yè)務(wù)請求,請求業(yè)務(wù)線程執(zhí)行不同的業(yè)務(wù)邏輯從而實現(xiàn)不同的業(yè)務(wù)功能,“第一”和“第二”不應(yīng)理解為具有其他的技術(shù)含義。
在上述數(shù)據(jù)請求中會包含業(yè)務(wù)線程執(zhí)行上述業(yè)務(wù)邏輯的過程中所需要業(yè)務(wù)數(shù)據(jù)的指示性信息,例如:需要調(diào)用的業(yè)務(wù)資源的標識、地址或者其他信息。該部分屬于數(shù)據(jù)調(diào)用/獲取的部分,本領(lǐng)域技術(shù)人員可以采用其所熟知的方式實現(xiàn),并不影響本發(fā)明實施例的實現(xiàn),因此本發(fā)明實施例對此不作唯一性限定。
本實施例需要保存業(yè)務(wù)邏輯的運行狀態(tài),在技術(shù)方案的后續(xù)實現(xiàn)過程中需要以業(yè)務(wù)邏輯當前執(zhí)行的進度為基礎(chǔ)繼續(xù)執(zhí)行,屬于業(yè)務(wù)邏輯執(zhí)行的控制部分,該部分依繼續(xù)執(zhí)行的控制方式不同會可能會導(dǎo)致需要保存的信息有所不同,本發(fā)明實施例對于保存何種具體的數(shù)據(jù)參數(shù)不作唯一性限定。
在本實施例中,不僅會向業(yè)務(wù)線程返回其所請求的業(yè)務(wù)數(shù)據(jù),還會控制業(yè)務(wù)線程從之前返回數(shù)據(jù)請求時業(yè)務(wù)邏輯所處的進度繼續(xù)執(zhí)行。
本發(fā)明實施例,通過增加網(wǎng)絡(luò)服務(wù)控制的方式,使業(yè)務(wù)線程和I/O線程都可以保持同步架構(gòu)時的技術(shù)優(yōu)勢,而且業(yè)務(wù)邏輯的運行狀態(tài)保存了起來,不必使業(yè)務(wù)線程必須等待I/O線程返回業(yè)務(wù)數(shù)據(jù),從而不會掛死以及因此導(dǎo)致的服務(wù)器性能低下。因此本發(fā)明實施例提供了能夠兼具同步模型和異步模型優(yōu)勢的網(wǎng)絡(luò)服務(wù)控制方法,在保證服務(wù)器穩(wěn)定運行的前提下,減少故障率,降低維護難度。
在本發(fā)明實施例中,第一業(yè)務(wù)請求的業(yè)務(wù)邏輯執(zhí)行過程中可能存在業(yè)務(wù)數(shù)據(jù)需求,此時由網(wǎng)絡(luò)服務(wù)控制的執(zhí)行主體保存了第一業(yè)務(wù)請求的業(yè)務(wù)邏輯的運行狀態(tài),在此之后業(yè)務(wù)線程處于閑置狀態(tài),此種情況下,業(yè)務(wù)線程可以處理其他的業(yè)務(wù)請求,因此本發(fā)明實施例提供了如下解決方案:進一步地,上述第一發(fā)送單元401,還用于在上述接收單元402接收到上述業(yè)務(wù)線程執(zhí)行上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求之后,向上述業(yè)務(wù)線程發(fā)送第二業(yè)務(wù)請求。
本實施例中,第二業(yè)務(wù)請求被發(fā)往業(yè)務(wù)線程以后,業(yè)務(wù)線程會開始執(zhí)行第二業(yè)務(wù)請求對應(yīng)的業(yè)務(wù)邏輯。在以上“業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯”需要被實現(xiàn)的時刻,第二業(yè)務(wù)請求的業(yè)務(wù)邏輯可能已經(jīng)執(zhí)行完畢,也可能正處于執(zhí)行過程中。若已經(jīng)執(zhí)行完畢,那么業(yè)務(wù)線程處于空閑狀態(tài)下,此種情況較為簡單不作說明。若第二業(yè)務(wù)請求的業(yè)務(wù)邏輯還在執(zhí)行過程中,那么可以有以下三種選擇方案:一、向業(yè)務(wù)線程發(fā)送中斷請求,然后控制業(yè)務(wù)線程先從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯,然后繼續(xù)執(zhí)行上述第二業(yè)務(wù)請求對應(yīng)的業(yè)務(wù)邏輯;二、向處于空閑狀態(tài)下的業(yè)務(wù)線程發(fā)送上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯的運行狀態(tài),使處于空閑狀態(tài)的業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。這里,處于空閑狀態(tài)的業(yè)務(wù)線程,可能是等待上述正在執(zhí)行第二業(yè)務(wù)請求的業(yè)務(wù)邏輯的業(yè)務(wù)線程執(zhí)行完畢后,也可以是存在多個業(yè)務(wù)線程,查詢到的其他空閑業(yè)務(wù)線程。
本發(fā)明實施例還提供了執(zhí)行本發(fā)明實施例的可選主體選擇,具體如下:可選地,上述第一發(fā)送單元401,具體用于采用有限狀態(tài)機向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求。
需要說明的是有限狀態(tài)機可以作為實現(xiàn)本發(fā)明實施例功能的一個具體實現(xiàn)方案作為備選,在實際應(yīng)用中只要能夠?qū)崿F(xiàn)以上功能的技術(shù)功能部件都是可以的,因此有限狀態(tài)機不應(yīng)理解為對本發(fā)明實施例的唯一性限定。有限狀態(tài)機(Finite-state machine,FSM),又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限個狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)學(xué)模型。在數(shù)字電路系統(tǒng)中,有限狀態(tài)機是時序邏輯電路模塊。
本發(fā)明實施例還提供了基于有限狀態(tài)機的更具體的實現(xiàn)方案舉例,具體如下:上述有限狀態(tài)機包括:協(xié)程。
協(xié)程(coroutine)不是進程或線程,其執(zhí)行過程更類似于子例程,或者說不帶返回值的函數(shù)調(diào)用。協(xié)程也是一種程序組件。一個程序可以包含多個協(xié)程,可以對應(yīng)于一個進程包含的多個線程。多個線程相對獨立,有自己的上下文,切換受系統(tǒng)控制;而協(xié)程也相對獨立,有自己的上下文,但是其切換由自己控制,由當前協(xié)程切換到其他協(xié)程由當前協(xié)程來控制。
本發(fā)明實施例還提供了從I/O線程接收業(yè)務(wù)數(shù)據(jù)的具體實現(xiàn)方案,如下: 上述接收單元402,還用于在上述第一發(fā)送單元401將上述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程之前,通過回調(diào)接收上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)。
可以理解的是,業(yè)務(wù)數(shù)據(jù)從I/O線程發(fā)送到網(wǎng)絡(luò)服務(wù)控制的執(zhí)行主體,可以是主動發(fā)送的,也可以是被動發(fā)送的;可以是被調(diào)用的,也可以是共享存儲空間傳遞的,因此以上回調(diào)不應(yīng)理解為對本發(fā)明實施例的唯一性限定。
本發(fā)明實施例還提供了使業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯的一個具體實現(xiàn)舉例,具體如下:上述第一發(fā)送單元401,用于將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)以及保存的上述業(yè)務(wù)邏輯的運行狀態(tài)發(fā)送給上述業(yè)務(wù)線程,指示上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。
本發(fā)明實施例還提供了另一種網(wǎng)絡(luò)服務(wù)控制裝置,如圖5所示,包括:輸入端口501、輸出端口502、處理器503以及存儲器504;
其中,處理器503,用于控制執(zhí)行:向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求,接收上述業(yè)務(wù)線程執(zhí)行上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求;將上述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程,保存上述業(yè)務(wù)邏輯的運行狀態(tài);將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給上述業(yè)務(wù)線程,使上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。
業(yè)務(wù)數(shù)據(jù)是業(yè)務(wù)線程在執(zhí)行業(yè)務(wù)邏輯的過程中所需要的調(diào)用的數(shù)據(jù)資源,通??梢杂删W(wǎng)絡(luò)I/O模塊一側(cè)提供。在本實施例中采用的架構(gòu)通過I/O線程從網(wǎng)絡(luò)I/O模塊獲取,請參閱圖2所示的網(wǎng)絡(luò)服務(wù)控制架構(gòu),包括:業(yè)務(wù)線程、網(wǎng)絡(luò)服務(wù)控制模塊、I/O線程,以及網(wǎng)絡(luò)I/O模塊。本實施例控制實現(xiàn)在網(wǎng)絡(luò)服務(wù)控制模塊。
在本發(fā)明實施例中出現(xiàn)的“第一”和“第二”用于區(qū)分同類的兩個不同的技術(shù)術(shù)語,“第一業(yè)務(wù)請求”和“第二業(yè)務(wù)請求”表示兩個不同的業(yè)務(wù)請求,請求業(yè)務(wù)線程執(zhí)行不同的業(yè)務(wù)邏輯從而實現(xiàn)不同的業(yè)務(wù)功能,“第一”和“第二”不應(yīng)理解為具有其他的技術(shù)含義。
在上述數(shù)據(jù)請求中會包含業(yè)務(wù)線程執(zhí)行上述業(yè)務(wù)邏輯的過程中所需要業(yè)務(wù)數(shù)據(jù)的指示性信息,例如:需要調(diào)用的業(yè)務(wù)資源的標識、地址或者其他信息。該部分屬于數(shù)據(jù)調(diào)用/獲取的部分,本領(lǐng)域技術(shù)人員可以采用其所熟知的方式實現(xiàn),并不影響本發(fā)明實施例的實現(xiàn),因此本發(fā)明實施例對此不作唯一 性限定。
本實施例需要保存業(yè)務(wù)邏輯的運行狀態(tài),在技術(shù)方案的后續(xù)實現(xiàn)過程中需要以業(yè)務(wù)邏輯當前執(zhí)行的進度為基礎(chǔ)繼續(xù)執(zhí)行,屬于業(yè)務(wù)邏輯執(zhí)行的控制部分,該部分依繼續(xù)執(zhí)行的控制方式不同會可能會導(dǎo)致需要保存的信息有所不同,本發(fā)明實施例對于保存何種具體的數(shù)據(jù)參數(shù)不作唯一性限定。
在本實施例中,不僅會向業(yè)務(wù)線程返回其所請求的業(yè)務(wù)數(shù)據(jù),還會控制業(yè)務(wù)線程從之前返回數(shù)據(jù)請求時業(yè)務(wù)邏輯所處的進度繼續(xù)執(zhí)行。
本發(fā)明實施例,通過增加網(wǎng)絡(luò)服務(wù)控制的方式,使業(yè)務(wù)線程和I/O線程都可以保持同步架構(gòu)時的技術(shù)優(yōu)勢,而且業(yè)務(wù)邏輯的運行狀態(tài)保存了起來,不必使業(yè)務(wù)線程必須等待I/O線程返回業(yè)務(wù)數(shù)據(jù),從而不會掛死以及因此導(dǎo)致的服務(wù)器性能低下。因此本發(fā)明實施例提供了能夠兼具同步模型和異步模型優(yōu)勢的網(wǎng)絡(luò)服務(wù)控制方法,在保證服務(wù)器穩(wěn)定運行的前提下,減少故障率,降低維護難度。
在本發(fā)明實施例中,第一業(yè)務(wù)請求的業(yè)務(wù)邏輯執(zhí)行過程中可能存在業(yè)務(wù)數(shù)據(jù)需求,此時由網(wǎng)絡(luò)服務(wù)控制的執(zhí)行主體保存了第一業(yè)務(wù)請求的業(yè)務(wù)邏輯的運行狀態(tài),在此之后業(yè)務(wù)線程處于閑置狀態(tài),此種情況下,業(yè)務(wù)線程可以處理其他的業(yè)務(wù)請求,因此本發(fā)明實施例提供了如下解決方案:
上述處理器503,還用于控制執(zhí)行:在接收到上述業(yè)務(wù)線程執(zhí)行上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯返回的數(shù)據(jù)請求之后,向上述業(yè)務(wù)線程發(fā)送第二業(yè)務(wù)請求。
本實施例中,第二業(yè)務(wù)請求被發(fā)往業(yè)務(wù)線程以后,業(yè)務(wù)線程會開始執(zhí)行第二業(yè)務(wù)請求對應(yīng)的業(yè)務(wù)邏輯。在以上“業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯”需要被實現(xiàn)的時刻,第二業(yè)務(wù)請求的業(yè)務(wù)邏輯可能已經(jīng)執(zhí)行完畢,也可能正處于執(zhí)行過程中。若已經(jīng)執(zhí)行完畢,那么業(yè)務(wù)線程處于空閑狀態(tài)下,此種情況較為簡單不作說明。若第二業(yè)務(wù)請求的業(yè)務(wù)邏輯還在執(zhí)行過程中,那么可以有以下三種選擇方案:一、向業(yè)務(wù)線程發(fā)送中斷請求,然后控制業(yè)務(wù)線程先從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯,然后繼續(xù)執(zhí)行上述第二業(yè)務(wù)請求對應(yīng)的業(yè)務(wù)邏輯;二、向處于空閑狀態(tài)下的業(yè)務(wù)線程發(fā)送上述第一業(yè)務(wù)請求的業(yè)務(wù)邏輯的運行狀態(tài),使處于空閑狀態(tài)的業(yè)務(wù)線程從上述 運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。這里,處于空閑狀態(tài)的業(yè)務(wù)線程,可能是等待上述正在執(zhí)行第二業(yè)務(wù)請求的業(yè)務(wù)邏輯的業(yè)務(wù)線程執(zhí)行完畢后,也可以是存在多個業(yè)務(wù)線程,查詢到的其他空閑業(yè)務(wù)線程。
本發(fā)明實施例還提供了執(zhí)行本發(fā)明實施例的可選主體選擇,具體如下:上述處理器503,還用于控制執(zhí)行:向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求包括:通過有限狀態(tài)機向業(yè)務(wù)線程發(fā)送第一業(yè)務(wù)請求。
需要說明的是有限狀態(tài)機可以作為實現(xiàn)本發(fā)明實施例功能的一個具體實現(xiàn)方案作為備選,在實際應(yīng)用中只要能夠?qū)崿F(xiàn)以上功能的技術(shù)功能部件都是可以的,因此有限狀態(tài)機不應(yīng)理解為對本發(fā)明實施例的唯一性限定。有限狀態(tài)機(Finite-state machine,FSM),又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限個狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)學(xué)模型。在數(shù)字電路系統(tǒng)中,有限狀態(tài)機是時序邏輯電路模塊。
本發(fā)明實施例還提供了基于有限狀態(tài)機的更具體的實現(xiàn)方案舉例,具體如下:上述有限狀態(tài)機包括:協(xié)程。
協(xié)程(coroutine)不是進程或線程,其執(zhí)行過程更類似于子例程,或者說不帶返回值的函數(shù)調(diào)用。協(xié)程也是一種程序組件。一個程序可以包含多個協(xié)程,可以對應(yīng)于一個進程包含的多個線程。多個線程相對獨立,有自己的上下文,切換受系統(tǒng)控制;而協(xié)程也相對獨立,有自己的上下文,但是其切換由自己控制,由當前協(xié)程切換到其他協(xié)程由當前協(xié)程來控制。
本發(fā)明實施例還提供了從I/O線程接收業(yè)務(wù)數(shù)據(jù)的具體實現(xiàn)方案,如下:上述處理器503,還用于控制執(zhí)行:將上述數(shù)據(jù)請求轉(zhuǎn)發(fā)給I/O線程之前,通過回調(diào)接收上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)。
可以理解的是,業(yè)務(wù)數(shù)據(jù)從I/O線程發(fā)送到網(wǎng)絡(luò)服務(wù)控制的執(zhí)行主體,可以是主動發(fā)送的,也可以是被動發(fā)送的;可以是被調(diào)用的,也可以是共享存儲空間傳遞的,因此以上回調(diào)不應(yīng)理解為對本發(fā)明實施例的唯一性限定。
本發(fā)明實施例還提供了使業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯的一個具體實現(xiàn)舉例,具體如下:上述處理器503,用于控制執(zhí)行:將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給上述業(yè)務(wù)線程,使上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯包括:
將上述I/O線程返回的業(yè)務(wù)數(shù)據(jù)以及保存的上述業(yè)務(wù)邏輯的運行狀態(tài)發(fā)送給上述業(yè)務(wù)線程,指示上述業(yè)務(wù)線程從上述運行狀態(tài)繼續(xù)執(zhí)行上述業(yè)務(wù)邏輯。
本發(fā)明實施例還提供了另一種網(wǎng)絡(luò)服務(wù)器控制裝置,如圖6所示,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細節(jié)未揭示的,請參照本發(fā)明實施例方法部分。該裝置可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數(shù)字助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設(shè)備,以終端為手機為例:
圖6示出的是與本發(fā)明實施例提供的終端相關(guān)的手機的部分結(jié)構(gòu)的框圖。參考圖6,手機包括:射頻(Radio Frequency,RF)電路610、存儲器620、輸入單元630、顯示單元640、傳感器650、音頻電路660、無線保真(wireless fidelity,WiFi)模塊670、處理器680、以及電源690等部件。本領(lǐng)域技術(shù)人員可以理解,圖6中示出的手機結(jié)構(gòu)并不構(gòu)成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖6對手機的各個構(gòu)成部件進行具體的介紹:
RF電路610可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器680處理;另外,將設(shè)計上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路610包括但不限于天線、至少一個放大器、收發(fā)信機、耦合器、低噪聲放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路610還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(Global System of Mobile communication,GSM)、通用分組無線服務(wù)(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access,WCDMA)、長期演進(Long Term Evolution,LTE)、電子郵件、短消息服務(wù)(Short Messaging Service,SMS)等。
存儲器620可用于存儲軟件程序以及模塊,處理器680通過運行存儲在存儲器620的軟件程序以及模塊,從而執(zhí)行手機的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器620可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可 存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器620可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
輸入單元630可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,輸入單元630可包括觸控面板631以及其他輸入設(shè)備632。觸控面板631,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板631上或在觸控面板631附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸控面板631可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標,再送給處理器680,并能接收處理器680發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸控面板631。除了觸控面板631,輸入單元630還可以包括其他輸入設(shè)備632。具體地,其他輸入設(shè)備632可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元640可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元640可包括顯示面板641,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板641。進一步的,觸控面板631可覆蓋顯示面板641,當觸控面板631檢測到在其上或附近的觸摸操作后,傳送給處理器680以確定觸摸事件的類型,隨后處理器680根據(jù)觸摸事件的類型在顯示面板641上提供相應(yīng)的視覺輸出。雖然在圖6中,觸控面板631與顯示面板641是作為兩個獨立的部件來實現(xiàn)手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板631與顯示面板641集成而實現(xiàn)手機的輸入和輸出功能。
手機還可包括至少一種傳感器650,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板641的亮度,接近傳感器可在手機移動到耳邊時,關(guān)閉顯示面板641和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準)、振動識別相關(guān)功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路660、揚聲器661,傳聲器662可提供用戶與手機之間的音頻接口。音頻電路660可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P聲器661,由揚聲器661轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器662將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路660接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器680處理后,經(jīng)RF電路610以發(fā)送給比如另一手機,或者將音頻數(shù)據(jù)輸出至存儲器620以便進一步處理。
WiFi屬于短距離無線傳輸技術(shù),手機通過WiFi模塊670可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖6示出了WiFi模塊670,但是可以理解的是,其并不屬于手機的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器680是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器620內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器620內(nèi)的數(shù)據(jù),執(zhí)行手機的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控。可選的,處理器680可包括一個或多個處理單元;優(yōu)選的,處理器680可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)處理器也可以不集成到處理器680中。
手機還包括給各個部件供電的電源690(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器680邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。
在本發(fā)明實施例中,該終端所包括的處理器680還具有以下功能:
圖7是本發(fā)明實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖,該服務(wù)器700可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個或一個以上中央處理器(central processing units,CPU)722(例如,一個或一個以上處理器)和存儲器732,一個或一個以上存儲應(yīng)用程序742或數(shù)據(jù)744的存儲介質(zhì)730(例如一個或一個以上海量存儲設(shè)備)。其中,存儲器732和存儲介質(zhì)730可以是短暫存儲或持久存儲。存儲在存儲介質(zhì)730的程序可以包括一個或一個以上模塊(圖示沒標出),每個模塊可以包括對服務(wù)器中的一系列指令操作。更進一步地,中央處理器722可以設(shè)置為與存儲介質(zhì)730通信,在服務(wù)器700上執(zhí)行存儲介質(zhì)730中的一系列指令操作。
服務(wù)器700還可以包括一個或一個以上電源726,一個或一個以上有線或無線網(wǎng)絡(luò)接口750,一個或一個以上輸入輸出接口758,和/或,一個或一個以上操作系統(tǒng)741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM等等。
上述實施例中由網(wǎng)絡(luò)服務(wù)器控制裝置所執(zhí)行的步驟可以基于該圖7所示的服務(wù)器結(jié)構(gòu)。
值得注意的是,上述裝置實施例中,所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
另外,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各方法實施例中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,相應(yīng)的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明實施例揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。