本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)共享技術(shù)領(lǐng)域,特別是涉及桌面窗口共享方法和系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已成為信息傳播的重要手段?;谶h(yuǎn)程控制與操作互動(dòng)作為一種新的交互方式,讓用戶不需要身臨其境便可以實(shí)現(xiàn)相同的互動(dòng),異地的觀看與操作。其中桌面共享是數(shù)據(jù)共享中的一種重要應(yīng)用,特別在網(wǎng)絡(luò)視頻會(huì)議、IM即時(shí)通訊工具等各類網(wǎng)絡(luò)通訊系統(tǒng)中經(jīng)常被用于文檔展示、操作演示、協(xié)同辦公等,是音視頻、文本消息等交互方式重要且有效的補(bǔ)充。
現(xiàn)在,越來(lái)越多的用戶為了避免在會(huì)議中頻繁的拉動(dòng)線纜,而使用桌面共享功能,通過(guò)無(wú)線的方式將控制終端,(例如,筆記本終端)桌面上的文檔內(nèi)容共享到顯示終端上顯示。為了實(shí)現(xiàn)應(yīng)用窗口在多臺(tái)終端屏幕間移動(dòng),傳統(tǒng)方式中的一種桌面共享的方式是:首先在終端A上創(chuàng)建多個(gè)虛擬屏幕,例如,虛擬屏幕1、虛擬屏幕2,虛擬屏幕3;然后,將終端A上的窗口分別移動(dòng)到各虛擬屏幕,例如,窗口1移動(dòng)到虛擬屏幕1、窗口2移動(dòng)到虛擬屏幕2、窗口3移動(dòng)到虛擬屏幕3,最后,在不同顯示屏幕上顯示不同的虛擬屏幕中的窗口,例如,顯示屏幕1顯示窗口1的鏡像窗口1、顯示屏幕2顯示窗口2的鏡像窗口2、顯示屏幕3顯示窗口3的鏡像窗口3。
上述的桌面共享的方式理論上只要共享桌面的終端(如上的終端A)顯卡性能支持,可以盡可能多的擴(kuò)展虛擬屏幕,從而達(dá)到橫跨多個(gè)屏幕的目的。但實(shí)際上,受限于終端顯卡性能,一般顯卡性能只能虛擬1或2個(gè)屏幕,加上1個(gè)實(shí)際物理屏幕,總共能實(shí)現(xiàn)應(yīng)用程序窗口在2~3個(gè)終端屏幕上移動(dòng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種桌面窗口共享方法和系統(tǒng),可以在不用受限于終端顯卡性能的同時(shí)實(shí)現(xiàn)使應(yīng)用窗口移動(dòng)跨過(guò)任意多個(gè)終端桌面進(jìn)行顯示。
本發(fā)明的目的通過(guò)如下方案實(shí)現(xiàn):
一種桌面窗口共享方法,包括:
將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的第一虛擬桌面移動(dòng),所述第一虛擬桌面對(duì)應(yīng)第二終端的主桌面;
在所述第二終端向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口。
一種桌面窗口共享系統(tǒng),至少包括第一終端和第二終端,所述第一終端包括第一移動(dòng)單元,所述第二終端包括第一獲取單元和第一鏡像單元:
所述第一移動(dòng)單元用于將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的第一虛擬桌面移動(dòng),所述第一虛擬桌面對(duì)應(yīng)第二終端的主桌面;
所述第一獲取單元用于在所述第二終端向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
所述第一鏡像單元用于根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口。
一種桌面窗口共享系統(tǒng),包括第三移動(dòng)單元、第三獲取單元和第三鏡像單元;
所述第三移動(dòng)單元用于將當(dāng)前終端主桌面上的鏡像窗口或者原生窗口向預(yù)先為當(dāng)前終端配置的虛擬桌面移動(dòng),所述虛擬桌面對(duì)應(yīng)目標(biāo)終端的主桌面;
所述第三獲取單元用于在有鏡像窗口或者原生窗口向?qū)?yīng)所述當(dāng)前終端主桌面的虛擬桌面移動(dòng)時(shí),向窗口源終端獲取對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
所述第三鏡像單元用于根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至對(duì)應(yīng)所述當(dāng)前終端主桌面的虛擬桌面中的鏡像窗口或者原生窗口鏡像到所述當(dāng)前終端主桌面。
根據(jù)上述本發(fā)明的方案,其是將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的第一虛擬桌面移動(dòng),所述第一虛擬桌面對(duì)應(yīng)第二終端的主桌 面,在所述第二終端向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù),根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口,由于預(yù)先為第一終端配置了第一虛擬桌面,該第一虛擬桌面對(duì)應(yīng)第二終端的主桌面,先將第一終端主桌面上的第一鏡像窗口向該第一虛擬桌面移動(dòng),且由于是向創(chuàng)建原生窗口的窗口源終端獲取窗口數(shù)據(jù),并根據(jù)該窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,因此可以將從某個(gè)終端移動(dòng)來(lái)的第一鏡像窗口再移動(dòng)到第二終端,采用這種方式,還可以將鏡像窗口由第二終端向第三終端移動(dòng),再將鏡像窗口由第三終端向第四終端移動(dòng),以此類推,可以實(shí)現(xiàn)一個(gè)窗口移動(dòng)跨過(guò)任意多個(gè)終端的主桌面顯示,且只需要每個(gè)終端分別配置一兩個(gè)虛擬桌面既可以實(shí)現(xiàn),不用受限于終端顯卡性能。
附圖說(shuō)明
圖1-1為本發(fā)明實(shí)施例一的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖;
圖1-2為一個(gè)由依次排列的多個(gè)終端構(gòu)成的終端群的組成結(jié)構(gòu)示意圖;
圖1-3為圖1-2中的終端群中的各終端的虛擬桌面的配置方式示意圖;
圖2為本發(fā)明實(shí)施例二的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖;
圖3為本發(fā)明實(shí)施例三的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖;
圖4為本發(fā)明實(shí)施例四的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖;
圖5-1為本發(fā)明實(shí)施例五的桌面窗口共享系統(tǒng)的組成流程示意圖一;
圖5-2為本發(fā)明實(shí)施例五的桌面窗口共享系統(tǒng)的組成流程示意圖二;
圖5-3為本發(fā)明實(shí)施例五的桌面窗口共享系統(tǒng)的組成流程示意圖三;
圖5-4為本發(fā)明實(shí)施例五的桌面窗口共享系統(tǒng)的組成流程示意圖四;
圖6為本發(fā)明實(shí)施例六的桌面窗口共享系統(tǒng)的組成流程示意圖;
圖7為本發(fā)明實(shí)施例七的桌面窗口共享系統(tǒng)的組成流程示意圖;
圖8-1為本發(fā)明的一具體示例中的場(chǎng)景示意圖;
圖8-2為本發(fā)明的一具體示例中窗口移動(dòng)過(guò)程示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施方式僅僅用以解釋本發(fā)明,并不限定本發(fā)明的保護(hù)范圍。
實(shí)施例一
本發(fā)明實(shí)施例一提供一種桌面窗口共享方法。參見圖1-1所示,為本發(fā)明實(shí)施例一的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖。如圖1-1所示,本實(shí)施例的桌面窗口共享方法包括如下步驟:
步驟S101:將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的第一虛擬桌面移動(dòng),所述第一虛擬桌面對(duì)應(yīng)第二終端的主桌面;
具體地,響應(yīng)用戶觸發(fā)的鼠標(biāo)移動(dòng)消息(或稱為鼠標(biāo)移動(dòng)事件)將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的第一虛擬桌面移動(dòng)。
這里,第一終端可以是終端群(由依次排列的多個(gè)終端構(gòu)成)中的任意一個(gè)終端,例如,如圖2所示,第一終端為終端群中的終端k。其中,終端群中的各終端均可以為包括移動(dòng)終端,也可以為非移動(dòng)終端,非移動(dòng)終端包括臺(tái)式計(jì)算機(jī),移動(dòng)終端包括智能手機(jī)(Smart Phone)、平板終端、筆記本終端、個(gè)人數(shù)字助理等。
這里,第一鏡像窗口可以是第一終端的相鄰終端向第一終端移動(dòng)原生窗口或者鏡像窗口后獲得的,例如,第一鏡像窗口是由終端k-1或者終端k+1向終端k移動(dòng)原生窗口或者鏡像窗口獲得。這里,所述第二終端可以為所述第一終端的左鄰終端或者右臨終端,在所述第二終端為所述第一終端的左鄰終端時(shí),所述為所述第一終端配置的第一虛擬桌面為左側(cè)虛擬桌面,在所述第二終端為所述第一終端的右鄰終端時(shí),所述為所述第一終端配置的第一虛擬桌面為右側(cè)虛擬桌面。
為終端配置虛擬桌面的具體方式可以是:若當(dāng)前終端(任意一個(gè)終端)具有左鄰終端,則為該當(dāng)前終端配置左側(cè)虛擬桌面,該左側(cè)虛擬桌面對(duì)應(yīng)當(dāng)前終端的左鄰終端的主桌面,若當(dāng)前終端具有右鄰終端,則為該當(dāng)前終端配置右側(cè)虛擬桌面,該右側(cè)虛擬桌面對(duì)應(yīng)當(dāng)前終端的右鄰終端的主桌面,即根據(jù)當(dāng)前終 端與其他終端間的相鄰關(guān)系為當(dāng)前終端配置虛擬桌面,其中,主桌面對(duì)應(yīng)的是物理屏幕,虛擬桌面對(duì)應(yīng)的是虛擬屏幕。以圖1-2中的終端群為例,其中的各終端置虛擬桌面的配置方式如圖1-3所示,對(duì)于終端1僅具有右臨終端,為其配置右側(cè)虛擬桌面,對(duì)于終端n僅具有左鄰終端,為其配置左側(cè)虛擬桌面,對(duì)于終端2~終端n-1均具有左鄰終端和右臨終端,為這些終端分別配置左側(cè)虛擬桌面和右側(cè)虛擬桌面。其中,終端1的右側(cè)虛擬桌面對(duì)應(yīng)終端2的主桌面,終端2的左側(cè)虛擬桌面對(duì)應(yīng)終端1的主桌面,終端2的右側(cè)虛擬桌面對(duì)應(yīng)終端2的主桌面,終端3的左側(cè)虛擬桌面對(duì)應(yīng)終端2的主桌面,終端3的右側(cè)虛擬桌面對(duì)應(yīng)終端4的主桌面,……,終端n-1的左側(cè)虛擬桌面對(duì)應(yīng)終端n-2的主桌面,終端n-1的右側(cè)虛擬桌面對(duì)應(yīng)終端n的主桌面,終端n的左側(cè)虛擬桌面對(duì)應(yīng)終端n-1的主桌面。
此外,在為當(dāng)前終端配置虛擬桌面時(shí),一般還需要考慮各終端顯示屏幕的分辨率,即根據(jù)當(dāng)前終端與其他終端間的相鄰關(guān)系以及其他終端的顯示屏幕的分辨率為當(dāng)前終端配置虛擬桌面。例如,對(duì)于圖1-2的終端群中的終端k,配置與終端k-1的顯示屏幕的分辨率一致的左側(cè)虛擬桌面,配置終端k+1的顯示屏幕的分辨率一致的右側(cè)虛擬桌面。對(duì)于上述的第一虛擬桌面的分辨率與第二終端的主桌面的分辨率一致。
上述的第一虛擬桌面可以是第一終端的右側(cè)虛擬桌面,也可以是第一終端的左側(cè)虛擬桌面,一般地,在第二終端是第一終端的右臨終端時(shí),上述的第一虛擬桌面是第一終端的右側(cè)虛擬桌面,在第二終端是第一終端的左臨終端時(shí),上述的第一虛擬桌面是第一終端的左側(cè)虛擬桌面。
步驟S102:在所述第二終端向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
這里,原生窗口一般是在所述窗口源終端上創(chuàng)建,具體可以為終端上打開的應(yīng)用窗口。
這里,窗口源終端可以與第一終端或者第二終端相鄰,也可以不相鄰,此外,以圖2中的終端群為例,窗口源終端可以是兩側(cè)的終端,即終端1和終端n,也可以是終端1和終端n中間的某個(gè)終端。
具體地,第二終端可以向窗口源終端發(fā)送數(shù)據(jù)獲取窗口數(shù)據(jù)請(qǐng)求信息,窗口源終端接收到該窗口數(shù)據(jù)請(qǐng)求信息,根據(jù)該窗口數(shù)據(jù)請(qǐng)求信息向第二終端返回第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
步驟S103:根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口。
考慮到窗口移動(dòng)往往是非瞬時(shí)的,在其中一個(gè)實(shí)施例中,還可以包括:在將所述第一鏡像窗口向所述第一虛擬桌面移動(dòng)的過(guò)程中,根據(jù)所述第一鏡像窗口在所述第一虛擬桌面中的位置信息同步移動(dòng)所述第二終端的主桌面上的第二鏡像窗口。
此外,在其中一個(gè)實(shí)施例中,還可包括:在將所述第一鏡像窗口完整的鏡像到所述第二終端的主桌面后,將所述窗口源終端的鼠標(biāo)事件信息的發(fā)送目標(biāo)由所述第一終端更改為所述第二終端;
具體地,第二終端判斷第一鏡像窗口是否完全移動(dòng)到自身的主桌面內(nèi),即判斷所述第一鏡像窗口是否完整的鏡像到所述第二終端的主桌面,若第二終端判定第一鏡像窗口完全移動(dòng)到自身的主桌面內(nèi),即判定已將所述第一鏡像窗口完整的鏡像到所述第二終端的主桌面,則向窗口源終端發(fā)送鼠標(biāo)事件請(qǐng)求信息,所述窗口源終端根據(jù)該鼠標(biāo)事件請(qǐng)求信息將所述窗口源終端的鼠標(biāo)事件信息的發(fā)送目標(biāo)由所述第一終端更改為所述第二終端。
在其中一個(gè)實(shí)施例中,還可包括:在將所述第一鏡像窗口完整的鏡像到所述第二終端的主桌面時(shí),停止向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù)。具體地,第二終端在判定已將所述第一鏡像窗口完整的鏡像到所述第二終端的主桌面時(shí),向窗口源終端發(fā)送停止發(fā)送窗口數(shù)據(jù)請(qǐng)求信息,窗口源終端接收到該窗口數(shù)據(jù)請(qǐng)求信息后,停止向第二終端發(fā)送所述窗口數(shù)據(jù)。
根據(jù)上述本實(shí)施例的方案,其是將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的第一虛擬桌面移動(dòng),所述第一虛擬桌面對(duì)應(yīng)第二終端的主桌面,在所述第二終端向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù),根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口,由于預(yù)先為第一終端配置了第一 虛擬桌面,該第一虛擬桌面對(duì)應(yīng)第二終端的主桌面,先將第一終端主桌面上的第一鏡像窗口向該第一虛擬桌面移動(dòng),且由于是向創(chuàng)建原生窗口的窗口源終端獲取窗口數(shù)據(jù),并根據(jù)該窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,因此可以將從某個(gè)終端移動(dòng)來(lái)的第一鏡像窗口再移動(dòng)到第二終端,采用這種方式,還可以將鏡像窗口由第二終端向第三終端移動(dòng),再將鏡像窗口由第三終端向第四終端移動(dòng),以此類推,可以實(shí)現(xiàn)一個(gè)窗口移動(dòng)跨過(guò)任意多個(gè)終端的主桌面顯示,且只需要每個(gè)終端分別配置一兩個(gè)虛擬桌面既可以實(shí)現(xiàn),不用受限于終端顯卡性能。
實(shí)施例二
本發(fā)明實(shí)施例二提供一種桌面窗口共享方法。本實(shí)施例二與實(shí)施例一的不同之處在于,在本實(shí)施例二中增加了原生窗口的移動(dòng)過(guò)程。參見圖2所示,為本發(fā)明實(shí)施例二的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖。如圖2所示,本實(shí)施例二的桌面窗口共享方法包括如下步驟:
步驟S201:將窗口源終端主桌面上的原生窗口向預(yù)先為窗口源終端配置的第二虛擬桌面移動(dòng),所述第二虛擬桌面對(duì)應(yīng)第一終端的主桌面;
這里,第一終端為窗口源終端的左鄰終端或者右臨終端,一般地,在第一終端為窗口源終端的左鄰終端時(shí),第二虛擬桌面為窗口源終端的左側(cè)虛擬桌面,在第一終端為窗口源終端的右鄰終端時(shí),第二虛擬桌面為窗口源終端的右側(cè)虛擬桌面。
步驟S202:在所述第一終端向窗口源終端獲取所述原生窗口的窗口數(shù)據(jù);
具體地,第一終端可以向窗口源終端發(fā)送數(shù)據(jù)獲取窗口數(shù)據(jù)請(qǐng)求信息,窗口源終端接收到該窗口數(shù)據(jù)請(qǐng)求信息,根據(jù)該窗口數(shù)據(jù)請(qǐng)求信息向第一終端返回所述原生窗口的窗口數(shù)據(jù)。
步驟S203:根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第二虛擬桌面中的原生窗口鏡像到所述第一終端的主桌面,得到所述第一鏡像窗口;
考慮到窗口移動(dòng)往往是非瞬時(shí)的,在其中一個(gè)實(shí)施例中,還可以包括:在將原生窗口向第二虛擬桌面移動(dòng)的過(guò)程中,根據(jù)所述原生窗口在所述第二虛擬 桌面中的位置信息同步移動(dòng)所述第一終端的主桌面上的第一鏡像窗口。
此外,還可以包括:窗口源終端在檢測(cè)到已將原生窗口完全移動(dòng)至第二虛擬桌面后,屏蔽在本地響應(yīng)鼠標(biāo)消息的。第一終端在將原生窗口完整的鏡像到所述第一終端的主桌面后,向窗口源終端發(fā)送鼠標(biāo)事件消息請(qǐng)求信息,所述鼠標(biāo)事件消息請(qǐng)求信息包括鼠標(biāo)事件消息請(qǐng)求命令和目標(biāo)終端標(biāo)志,窗口源終端根據(jù)鼠標(biāo)事件消息請(qǐng)求命令中目標(biāo)終端標(biāo)志確定鼠標(biāo)事件消息的發(fā)送地址。
此外,還可以包括:在原生窗口完全移動(dòng)至第二虛擬桌面時(shí),停止所述的在所述第一終端向窗口源終端獲取所述原生窗口的窗口數(shù)據(jù)。
步驟S204:將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的第一虛擬桌面移動(dòng),所述第一虛擬桌面對(duì)應(yīng)第二終端的主桌面;
步驟S205:在所述第二終端向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
步驟S206:根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口。
此外,在其中一個(gè)實(shí)施例中,還可以包括:在將所述第一鏡像窗口完整的鏡像到所述第二終端的主桌面后,將所述窗口源終端的鼠標(biāo)事件信息的發(fā)送目標(biāo)由所述第一終端更改為所述第二終端。在其中一個(gè)實(shí)施例中,還可以包括:在將所述第一鏡像窗口完整的鏡像到所述第二終端的主桌面時(shí),停止在所述第二終端向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù)。
需要說(shuō)明的是,在本實(shí)施例中第一鏡像窗口是由窗口源終端主桌面上的原生窗口向第一終端的主桌面移動(dòng)后獲得的,但這并不構(gòu)成對(duì)本發(fā)明方案的限定。本實(shí)施例中的其他技術(shù)特征與實(shí)施例一中的一致,在此不予贅述。
此外,需要說(shuō)明的是,上述的相鄰是指邏輯上的相鄰,并不要求必須是物理上的相鄰,例如,對(duì)于圖1-2中的終端k,是在邏輯上與終端k-1和終端k+1相鄰,但并不需要終端k必須在實(shí)際空間上與終端k-1和終端k+1相鄰。
基于上述兩個(gè)實(shí)施例的方案,以下通過(guò)幾個(gè)示例針對(duì)幾種不同的移動(dòng)情形分別進(jìn)行詳細(xì)闡述。
示例1
本示例1是以窗口源終端為圖1-2中的終端1、需要將終端1的主桌面上顯示的原生窗口A0從終端1右移到終端5的主桌面上顯示為例進(jìn)行說(shuō)明。
首先,將原生窗口A0從終端1的主桌面中移動(dòng)到終端1的右側(cè)虛擬桌面,并鏡像該右側(cè)虛擬桌面中的原生窗口A0到終端2的主桌面中,得到鏡像窗口A1;接著,將鏡像窗口A1從終端2的主桌面移動(dòng)到終端2的右側(cè)虛擬桌面,并鏡像該右側(cè)虛擬桌面中的鏡像窗口A1到終端3的主桌面中,得到鏡像窗口A2;再接著,將鏡像窗口A2從終端3的主桌面移動(dòng)到終端3的右側(cè)虛擬桌面,并鏡像該右側(cè)虛擬桌面中的鏡像窗口A2到終端4的主桌面中,得到鏡像窗口A3;最后,將鏡像窗口A3從終端4的主桌面移動(dòng)到終端4的右側(cè)虛擬桌面,并鏡像該右側(cè)虛擬桌面中的鏡像窗口A3到終端5的主桌面中,得到鏡像窗口A4。重復(fù)以上動(dòng)作,還可以繼續(xù)向右跨越任意多個(gè)終端的主桌面。
示例2
本示例2是以窗口源終端為圖1-2中的終端n、需要將終端1的主桌面上顯示的原生窗口B0從終端n左移到終端n-4的主桌面上顯示為例進(jìn)行說(shuō)明。
首先,將原生窗口B0從終端n的主桌面中移動(dòng)到終端1的左側(cè)虛擬桌面,并鏡像該左側(cè)虛擬桌面中的原生窗口B0到終端n-1的主桌面中,得到鏡像窗口B1;接著,將鏡像窗口B1從終端n-1的主桌面移動(dòng)到終端n-1的左側(cè)虛擬桌面,并鏡像該左側(cè)虛擬桌面中的鏡像窗口B1到終端n-2的主桌面中,得到鏡像窗口B2;再接著,將鏡像窗口B2從終端n-2的主桌面移動(dòng)到終端3的左側(cè)虛擬桌面,并鏡像該左側(cè)虛擬桌面中的鏡像窗口B2到終端n-3的主桌面中,得到鏡像窗口B3;最后,將鏡像窗口B3從終端n-3的主桌面移動(dòng)到終端n-3的左側(cè)虛擬桌面,并鏡像該左側(cè)虛擬桌面中的鏡像窗口B3到終端n-4的主桌面中,得到鏡像窗口B4。重復(fù)以上動(dòng)作,還可以繼續(xù)向左跨越任意多個(gè)終端的主桌面。
示例3
本示例3是以窗口源終端為圖1-2中的終端k、需要將終端k的主桌面上顯示的原生窗口C0從終端k左移到終端k-2的主桌面上顯示并需要將終端k的主桌面上顯示的原生窗口D0從終端k右移到終端k+3的主桌面上顯示為例進(jìn)行說(shuō) 明。
對(duì)于原生窗口C0的左移操作,首先,將原生窗口C0從終端k的主桌面中移動(dòng)到終端1的左側(cè)虛擬桌面,并鏡像該左側(cè)虛擬桌面中的原生窗口C0到終端k-1的主桌面中,得到鏡像窗口C1;接著,將鏡像窗口C1從終端k-1的主桌面移動(dòng)到終端k-1的左側(cè)虛擬桌面,并鏡像該左側(cè)虛擬桌面中的鏡像窗口C1到終端k-2的主桌面中,得到鏡像窗口C2。
對(duì)于原生窗口D0的右移操作,將原生窗口D0從終端k的主桌面中移動(dòng)到終端1的右側(cè)虛擬桌面,并鏡像該右側(cè)虛擬桌面中的原生窗口D0到終端k+1的主桌面中,得到鏡像窗口D1;接著,將鏡像窗口D1從終端k+1的主桌面移動(dòng)到終端k+1的右側(cè)虛擬桌面,并鏡像該右側(cè)虛擬桌面中的鏡像窗口D1到終端k+2的主桌面中,得到鏡像窗口D2;最后,將鏡像窗口D2從終端k+2的主桌面移動(dòng)到終端3的右側(cè)虛擬桌面,并鏡像該右側(cè)虛擬桌面中的鏡像窗口D2到終端k+3的主桌面中,得到鏡像窗口D3。
實(shí)施例三
根據(jù)上述的實(shí)施例一、實(shí)施例二,本發(fā)明的實(shí)施例三提供一種桌面窗口共享方法。本實(shí)施例三與實(shí)施例二的不同之處在于,在本實(shí)施例三中增加終端間的指令交互過(guò)程,且是以向右移動(dòng)窗口為例進(jìn)行說(shuō)明。參見圖5所示,為本發(fā)明實(shí)施例二的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖。如圖5所示,本實(shí)施例的桌面窗口共享方法包括如下步驟:
步驟S301:窗口源終端在檢測(cè)到主桌面上的原生窗口移動(dòng)到右邊緣位置時(shí),向第一終端發(fā)送第一鏡像指示信息,所述第一鏡像指示信息包括鏡像命令、源終端標(biāo)識(shí)和窗口位置信息;
具體地,窗口源終端在檢測(cè)到主桌面上的原生窗口移動(dòng)到右邊緣位置時(shí),若存在右側(cè)虛擬桌面,則獲取所述原生窗口的窗口數(shù)據(jù),并向第一終端發(fā)送第一鏡像指示信息,所述第一鏡像指示信息包括鏡像命令、源終端標(biāo)識(shí)和窗口位置信息,若不存在右側(cè)虛擬桌面,則不處理。
步驟S302:第一終端響應(yīng)所述第一鏡像指示信息,向所述源終端標(biāo)識(shí)對(duì)應(yīng) 的窗口源終端發(fā)送第一窗口數(shù)據(jù)請(qǐng)求信息,所述第一窗口數(shù)據(jù)請(qǐng)求信息包括第一目標(biāo)終端標(biāo)識(shí),其中,第一目標(biāo)終端標(biāo)識(shí)為第一終端的標(biāo)識(shí)信息;
具體地,第一終端接收到第一鏡像指示信息后,若基于該第一鏡像指示信息中的源終端標(biāo)識(shí)判定源終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即源終端標(biāo)識(shí)不是第一終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述源終端標(biāo)識(shí)對(duì)應(yīng)的窗口源終端發(fā)送第一窗口數(shù)據(jù)請(qǐng)求信息,并基于第一鏡像指示信息中的窗口位置信息進(jìn)行相應(yīng)的顯示操作,例如,視頻渲染。
步驟S303:所述窗口源終端在接收所述第一窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述第一目標(biāo)終端標(biāo)識(shí)向所述第一目標(biāo)終端標(biāo)識(shí)對(duì)應(yīng)的第一終端返回所獲取的窗口數(shù)據(jù);
具體地,所述窗口源終端在接收所述第一窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述第一目標(biāo)終端標(biāo)識(shí)判斷第一目標(biāo)終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即第一目標(biāo)終端標(biāo)識(shí)不是窗口源終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述第一目標(biāo)終端標(biāo)識(shí)對(duì)應(yīng)的第一終端返回所獲取的窗口數(shù)據(jù);
步驟S304:窗口源終端將所述原生窗口向預(yù)先為所述窗口源終端配置的右側(cè)虛擬桌面中移動(dòng);
具體地,響應(yīng)用戶觸發(fā)的鼠標(biāo)移動(dòng)消息(或稱為鼠標(biāo)移動(dòng)事件)將窗口源終端主桌面上的原生窗口向預(yù)先為窗口源終端配置的右側(cè)虛擬桌面移動(dòng)。
步驟S305:第一終端根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述窗口源終端的虛擬桌面中的所述原生窗口鏡像到所述第一終端的主桌面,得到第一鏡像窗口;
考慮到窗口移動(dòng)是非瞬時(shí)的,為此,還可以包括步驟:窗口源終端在判定所述原生窗口處在由主桌面移動(dòng)到右側(cè)虛擬桌面的過(guò)程中,定時(shí)向第一終端發(fā)送第一窗口位置同步指示信息,第一窗口位置同步指示信息包括窗口位置同步命令和窗口位置信息;第一終端在接收到第一窗口位置同步指示信息,根據(jù)第一窗口位置同步指示信息中的窗口位置信息同步移動(dòng)第一鏡像窗口。
步驟S306:第一終端在檢測(cè)到主桌面上的第一鏡像窗口移動(dòng)到右邊緣位置時(shí),發(fā)送第二鏡像指示信息至第二終端,所述第二鏡像指示信息包括鏡像命令、源終端標(biāo)識(shí)和窗口位置信息;
具體地,第一終端在檢測(cè)到主桌面上的原生窗口移動(dòng)到右邊緣位置時(shí),若存在右側(cè)虛擬桌面,則向第一終端發(fā)送第二鏡像指示信息,若不存在右側(cè)虛擬桌面,則不處理;
步驟S307:第二終端響應(yīng)所述第二鏡像指示信息,向所述第二鏡像指示信息中的數(shù)據(jù)源標(biāo)識(shí)對(duì)應(yīng)的窗口源終端發(fā)送第二窗口數(shù)據(jù)請(qǐng)求信息,所述第二窗口數(shù)據(jù)請(qǐng)求信息包括第二目標(biāo)終端標(biāo)識(shí),其中,第二目標(biāo)終端標(biāo)識(shí)為第二終端的標(biāo)識(shí)信息;
具體地,第二終端接收到第二鏡像指示信息后,若基于該第二鏡像指示信息中的源終端標(biāo)識(shí)判定源終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即源終端標(biāo)識(shí)不是第二終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述源終端標(biāo)識(shí)對(duì)應(yīng)的窗口源終端發(fā)送第二窗口數(shù)據(jù)請(qǐng)求信息,并基于第二鏡像指示信息中的窗口位置信息進(jìn)行相應(yīng)的顯示操作,例如,視頻渲染。
步驟S308:窗口源終端在接收第二所述窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述第二所述窗口數(shù)據(jù)請(qǐng)求信息中的所述第二目標(biāo)終端標(biāo)識(shí)向所述第二終端返回所述鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
具體地,所述窗口源終端在接收所述第二窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述第二目標(biāo)終端標(biāo)識(shí)判斷第二目標(biāo)終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即第二目標(biāo)終端標(biāo)識(shí)不是窗口源終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述第二目標(biāo)終端標(biāo)識(shí)對(duì)應(yīng)的第二終端返回所獲取的窗口數(shù)據(jù)。
步驟S309:第一終端將所述第一鏡像窗口向預(yù)先為第一終端配置的右側(cè)虛擬桌面中移動(dòng);
具體地,響應(yīng)用戶觸發(fā)的鼠標(biāo)移動(dòng)消息(或稱為鼠標(biāo)移動(dòng)事件)將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的右側(cè)虛擬桌面移動(dòng)。
步驟S310:根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一終端的虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口;
考慮到窗口移動(dòng)是非瞬時(shí)的,為此,還可以包括步驟:第一終端在判定所述第一鏡像窗口處在由主桌面移動(dòng)到右側(cè)虛擬桌面的過(guò)程中,定時(shí)向第二終端發(fā)送第二窗口指示信息,第二窗口指示信息包括窗口位置同步命令和窗口位置 信息;第二終端在接收到第二窗口指示信息,根據(jù)第二窗口指示信息中的窗口位置信息同步移動(dòng)第二鏡像窗口。
實(shí)施例四
根據(jù)上述的實(shí)施例一、實(shí)施例二,本發(fā)明的實(shí)施例三提供一種桌面窗口共享方法。本實(shí)施例三與實(shí)施例二的不同之處在于,在本實(shí)施例三中增加終端間的指令交互過(guò)程,且是以向左移動(dòng)窗口為例進(jìn)行說(shuō)明。參見圖4所示,為本發(fā)明實(shí)施例二的桌面窗口共享方法的實(shí)現(xiàn)流程示意圖。如圖4所示,本實(shí)施例的桌面窗口共享方法包括如下步驟:
步驟S401:窗口源終端在檢測(cè)到主桌面上的原生窗口移動(dòng)到左邊緣位置時(shí),向第一終端發(fā)送第一鏡像指示信息,所述第一鏡像指示信息包括鏡像命令、源終端標(biāo)識(shí)和窗口位置信息;
具體地,窗口源終端在檢測(cè)到主桌面上的原生窗口移動(dòng)到左邊緣位置時(shí),若存在左側(cè)虛擬桌面,則獲取所述原生窗口的窗口數(shù)據(jù),并向第一終端發(fā)送第一鏡像指示信息,所述第一鏡像指示信息包括鏡像命令、源終端標(biāo)識(shí)和窗口位置信息,若不存在左側(cè)虛擬桌面,則不處理。
步驟S402:第一終端響應(yīng)所述第一鏡像指示信息,向所述源終端標(biāo)識(shí)對(duì)應(yīng)的窗口源終端發(fā)送第一窗口數(shù)據(jù)請(qǐng)求信息,所述第一窗口數(shù)據(jù)請(qǐng)求信息包括第一目標(biāo)終端標(biāo)識(shí),其中,第一目標(biāo)終端標(biāo)識(shí)為第一終端的標(biāo)識(shí)信息;
具體地,第一終端接收到第一鏡像指示信息后,若基于該第一鏡像指示信息中的源終端標(biāo)識(shí)判定源終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即源終端標(biāo)識(shí)不是第一終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述源終端標(biāo)識(shí)對(duì)應(yīng)的窗口源終端發(fā)送第一窗口數(shù)據(jù)請(qǐng)求信息,并基于第一鏡像指示信息中的窗口位置信息進(jìn)行相應(yīng)的顯示操作,例如,視頻渲染。
步驟S403:所述窗口源終端在接收所述第一窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述第一目標(biāo)終端標(biāo)識(shí)向所述第一目標(biāo)終端標(biāo)識(shí)對(duì)應(yīng)的第一終端返回所獲取的窗口數(shù)據(jù);
具體地,所述窗口源終端在接收所述第一窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述 第一目標(biāo)終端標(biāo)識(shí)判斷第一目標(biāo)終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即第一目標(biāo)終端標(biāo)識(shí)不是窗口源終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述第一目標(biāo)終端標(biāo)識(shí)對(duì)應(yīng)的第一終端返回所獲取的窗口數(shù)據(jù);
步驟S404:窗口源終端將所述原生窗口向預(yù)先為所述窗口源終端配置的左側(cè)虛擬桌面中移動(dòng);
具體地,響應(yīng)用戶觸發(fā)的鼠標(biāo)移動(dòng)消息(或稱為鼠標(biāo)移動(dòng)事件)將窗口源終端主桌面上的原生窗口向預(yù)先為窗口源終端配置的左側(cè)虛擬桌面移動(dòng)。
步驟S405:第一終端根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述窗口源終端的虛擬桌面中的所述原生窗口鏡像到所述第一終端的主桌面,得到第一鏡像窗口;
考慮到窗口移動(dòng)是非瞬時(shí)的,為此,還可以包括步驟:窗口源終端在判定所述原生窗口處在由主桌面移動(dòng)到左側(cè)虛擬桌面的過(guò)程中,定時(shí)向第一終端發(fā)送第一窗口位置同步指示信息,第一窗口位置同步指示信息包括窗口位置同步命令和窗口位置信息;第一終端在接收到第一窗口位置同步指示信息,根據(jù)第一窗口位置同步指示信息中的窗口位置信息同步移動(dòng)第一鏡像窗口。
步驟S406:第一終端在檢測(cè)到主桌面上的第一鏡像窗口移動(dòng)到左邊緣位置時(shí),發(fā)送第二鏡像指示信息至第二終端,所述第二鏡像指示信息包括鏡像命令、源終端標(biāo)識(shí)和窗口位置信息;
具體地,第一終端在檢測(cè)到主桌面上的原生窗口移動(dòng)到左邊緣位置時(shí),若存在左側(cè)虛擬桌面,則向第一終端發(fā)送第二鏡像指示信息,若不存在左側(cè)虛擬桌面,則不處理;
步驟S407:第二終端響應(yīng)所述第二鏡像指示信息,向所述第二鏡像指示信息中的數(shù)據(jù)源標(biāo)識(shí)對(duì)應(yīng)的窗口源終端發(fā)送第二窗口數(shù)據(jù)請(qǐng)求信息,所述第二窗口數(shù)據(jù)請(qǐng)求信息包括第二目標(biāo)終端標(biāo)識(shí),其中,第二目標(biāo)終端標(biāo)識(shí)為第二終端的標(biāo)識(shí)信息;
具體地,第二終端接收到第二鏡像指示信息后,若基于該第二鏡像指示信息中的源終端標(biāo)識(shí)判定源終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即源終端標(biāo)識(shí)不是第二終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述源終端標(biāo)識(shí)對(duì)應(yīng)的窗口源終端發(fā)送第二窗口數(shù)據(jù)請(qǐng)求信息,并基于第二鏡像指示信息中的窗口位置信息進(jìn)行相應(yīng)的顯示操作,例如, 視頻渲染。
步驟S408:窗口源終端在接收第二所述窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述第二所述窗口數(shù)據(jù)請(qǐng)求信息中的所述第二目標(biāo)終端標(biāo)識(shí)向所述第二終端返回所述鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
具體地,所述窗口源終端在接收所述第二窗口數(shù)據(jù)請(qǐng)求信息后,根據(jù)所述第二目標(biāo)終端標(biāo)識(shí)判斷第二目標(biāo)終端標(biāo)識(shí)非本機(jī)標(biāo)識(shí)(即第二目標(biāo)終端標(biāo)識(shí)不是窗口源終端的標(biāo)識(shí)),則通過(guò)網(wǎng)絡(luò)向所述第二目標(biāo)終端標(biāo)識(shí)對(duì)應(yīng)的第二終端返回所獲取的窗口數(shù)據(jù)。
步驟S409:第一終端將所述第一鏡像窗口向預(yù)先為第一終端配置的左側(cè)虛擬桌面中移動(dòng);
具體地,響應(yīng)用戶觸發(fā)的鼠標(biāo)移動(dòng)消息(或稱為鼠標(biāo)移動(dòng)事件)將第一終端主桌面上的第一鏡像窗口向預(yù)先為第一終端配置的左側(cè)虛擬桌面移動(dòng)。
步驟S410:根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一終端的虛擬桌面中的第一鏡像窗口鏡像到所述第二終端的主桌面,得到第二鏡像窗口;
考慮到窗口移動(dòng)是非瞬時(shí)的,為此,還可以包括步驟:第一終端在判定所述第一鏡像窗口處在由主桌面移動(dòng)到左側(cè)虛擬桌面的過(guò)程中,定時(shí)向第二終端發(fā)送第二窗口指示信息,第二窗口指示信息包括窗口位置同步命令和窗口位置信息;第二終端在接收到第二窗口指示信息,根據(jù)第二窗口指示信息中的窗口位置信息同步移動(dòng)第二鏡像窗口。
上述的終端標(biāo)識(shí)(包括第一目標(biāo)終端標(biāo)識(shí)、第二目標(biāo)終端標(biāo)識(shí)和源終端標(biāo)識(shí))可以為任意可區(qū)分不同終端的標(biāo)識(shí),一般可以選用終端IP作為終端標(biāo)識(shí),但也不限于此。
實(shí)施例五
根據(jù)上述實(shí)施例中的桌面窗口共享方法,本發(fā)明還提供一種桌面窗口共享系統(tǒng)。圖5-1為本發(fā)明實(shí)施例五的桌面窗口共享系統(tǒng)的組成結(jié)構(gòu)示意圖一。如圖5-1所示,本實(shí)施例五的桌面窗口共享系統(tǒng)至少包括第一終端501和第二終端502,第一終端501包括第一移動(dòng)單元5011,第二終端502包括第一獲取單元 5021和第一鏡像單元5022:
第一移動(dòng)單元5011用于將第一終端501主桌面上的第一鏡像窗口向預(yù)先為第一終端501配置的第一虛擬桌面移動(dòng),所述第一虛擬桌面對(duì)應(yīng)第二終端502的主桌面;
第一獲取單元5021用于在第二終端502向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
第一鏡像單元5022用于根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第一虛擬桌面中的第一鏡像窗口鏡像到第二終端502的主桌面,得到第二鏡像窗口。
在其中一個(gè)實(shí)施例中,如圖5-2所示,本實(shí)施例的桌面窗口共享系統(tǒng),還可以包括窗口源終端503,窗口源終端503包括第二移動(dòng)單元5031,所述第一終端還包括第二獲取單元5012和第二鏡像單元5013:
第二移動(dòng)單元5031用于將窗口源終端503主桌面上的所述原生窗口向預(yù)先為窗口源終端503配置的第二虛擬桌面移動(dòng),所述第二虛擬桌面對(duì)應(yīng)第一終端501的主桌面;
第二獲取單元5012用于在所述第一終端501向窗口源終端503獲取所述窗口數(shù)據(jù);
第二鏡像單元5013用于根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至所述第二虛擬桌面中的原生窗口鏡像到第一終端501的主桌面,得到所述第一鏡像窗口。
在其中一個(gè)實(shí)施例中,如圖5-3所示,第二終端502還可以包括同步單元5023;
同步單元5023用于在將所述第一鏡像窗口向所述第一虛擬桌面移動(dòng)的過(guò)程中,根據(jù)所述第一鏡像窗口在所述第一虛擬桌面中的位置信息同步移動(dòng)第二終端502的主桌面上的第二鏡像窗口。
在其中一個(gè)實(shí)施例中,如圖5-4所示,窗口源終端503還可以包括鼠標(biāo)目標(biāo)更改單元,鼠標(biāo)目標(biāo)更改單元503用于在第一鏡像單元5022將完整的第一鏡像窗口鏡像到第二終端502的主桌面后,將窗口源終端503的鼠標(biāo)事件信息的發(fā)送目標(biāo)由第一終端501更改為第二終端502。
在其中一個(gè)實(shí)施例中,第一獲取單元5021用于在第一鏡像單元5022將完 整的第一鏡像窗口鏡像到第二終端502的主桌面時(shí),停止向窗口源終端獲取第一鏡像窗口對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù)。
本發(fā)明實(shí)施例提供的桌面窗口共享系統(tǒng),需要指出的是:以上對(duì)于桌面窗口共享系統(tǒng)的描述,與上述桌面窗口共享方法的描述是類似的,并且具有上述桌面窗口共享方法的有益效果,為節(jié)約篇幅,不再贅述;因此,以上對(duì)本發(fā)明實(shí)施例提供的桌面窗口共享系統(tǒng)中未披露的技術(shù)細(xì)節(jié),請(qǐng)參照上述提供的桌面窗口共享方法的描述。
實(shí)施例六
根據(jù)上述實(shí)施例中的桌面窗口共享方法,本發(fā)明還提供一種桌面窗口共享系統(tǒng)。圖6為本發(fā)明實(shí)施例六的桌面窗口共享系統(tǒng)的組成結(jié)構(gòu)示意圖。如圖6所示,本實(shí)施例六的桌面窗口共享系統(tǒng)包括第三移動(dòng)單元601、第三獲取單元602和第三鏡像單元603;
第三移動(dòng)單元601用于將當(dāng)前終端主桌面上的鏡像窗口或者原生窗口向預(yù)先為當(dāng)前終端配置的虛擬桌面移動(dòng),所述虛擬桌面對(duì)應(yīng)目標(biāo)終端的主桌面;
這里,當(dāng)前終端是多個(gè)終端中的任意一個(gè)終端,是指鏡像窗口或者原生窗口本次移動(dòng)前所在的窗口,而目標(biāo)終端也是多個(gè)終端中的任意一個(gè)終端,是指鏡像窗口或者原生窗口本次移動(dòng)后所在的窗口;
第三獲取單元602用于在有鏡像窗口或者原生窗口向?qū)?yīng)所述當(dāng)前終端主桌面的虛擬桌面移動(dòng)時(shí),向窗口源終端獲取對(duì)應(yīng)的原生窗口的窗口數(shù)據(jù);
第三鏡像單元603用于根據(jù)所述窗口數(shù)據(jù)將移動(dòng)至對(duì)應(yīng)所述當(dāng)前終端主桌面的虛擬桌面中的鏡像窗口或者原生窗口鏡像到所述當(dāng)前終端主桌面。
本發(fā)明實(shí)施例提供的桌面窗口共享系統(tǒng),需要指出的是:以上對(duì)于桌面窗口共享系統(tǒng)的描述,與上述桌面窗口共享方法的描述是類似的,并且具有上述桌面窗口共享方法的有益效果,為節(jié)約篇幅,不再贅述;因此,以上對(duì)本發(fā)明實(shí)施例提供的桌面窗口共享系統(tǒng)中未披露的技術(shù)細(xì)節(jié),請(qǐng)參照上述提供的桌面窗口共享方法的描述。
根據(jù)本發(fā)明實(shí)施例六的桌面窗口共享系統(tǒng),本發(fā)明還可以提高一種終端, 該終端包括實(shí)施例六的桌面窗口共享系統(tǒng)。
實(shí)施例七
基于上述各實(shí)施例,本發(fā)明實(shí)施例七提供一種較佳的桌面窗口共享系統(tǒng),如圖7所示,為本發(fā)明實(shí)施例七的桌面窗口共享系統(tǒng)的組成結(jié)構(gòu)示意圖。需要說(shuō)明的是圖7中的提供的是一種較佳的方案,根據(jù)實(shí)際需要可以包括圖7中的部分模塊,也可以包括圖7中的全部模塊。
本實(shí)施例七中的桌面窗口共享系統(tǒng)包括初始化配置模塊701、窗口檢測(cè)模塊702、控制決策模塊703、鼠標(biāo)事件消息檢測(cè)模塊704、窗口抓取模塊705、視頻編碼器模塊706、網(wǎng)絡(luò)發(fā)送模塊707、網(wǎng)絡(luò)接收模塊708、數(shù)據(jù)解析模塊709、視頻解碼器模塊710、窗口視頻渲染模塊711、窗口位置同步模塊712、鼠標(biāo)事件響應(yīng)模塊713。
初始化配置模塊701在當(dāng)前終端屏幕存在實(shí)際左終端物理屏幕/右終端物理屏幕時(shí),為當(dāng)前系統(tǒng)配置對(duì)應(yīng)的左虛擬桌面/右虛擬桌面,并綁定對(duì)應(yīng)左右終端的網(wǎng)絡(luò)IP,在當(dāng)前終端屏幕不存在實(shí)際左終端物理屏幕/右終端物理屏幕時(shí),不配置對(duì)應(yīng)虛擬屏幕和綁定IP。
窗口檢測(cè)模塊702用于檢測(cè)窗口類型,即檢測(cè)窗口是鏡像窗口(由本發(fā)明方案創(chuàng)建的渲染窗口)或原生窗口(不是本發(fā)明方案創(chuàng)建的窗口),以及鏡像窗口/原生窗口的位置和分辨率。
控制決策模塊703,用于根據(jù)配置信息、窗口檢測(cè)或數(shù)據(jù)解析結(jié)果,具體地:
(A)在判定原生窗口移動(dòng)至主桌面右(左)邊緣位置時(shí),若存在右(左)側(cè)虛擬桌面,則通知窗口抓取模塊705抓取原生窗口視頻幀;同時(shí)通過(guò)網(wǎng)絡(luò)發(fā)送模塊707,將數(shù)據(jù)(鏡像命令+源視頻IP+窗口位置)發(fā)送給右(左)側(cè)終端;若不存在,則不處理。
(B)判斷原生窗口在由主桌面移動(dòng)到右(左)側(cè)虛擬桌面的過(guò)程中,定時(shí)通過(guò)網(wǎng)絡(luò)發(fā)送模塊706向右(左)側(cè)終端發(fā)送(窗口位置同步命令+位置信息)。
(C)接收到數(shù)據(jù)解析模塊709送來(lái)的(鏡像命令+源視頻IP+窗口位置)信息,判斷源視頻IP非本機(jī)IP,則通過(guò)網(wǎng)絡(luò)發(fā)送模塊,將(視頻請(qǐng)求命令+目 標(biāo)機(jī)IP(本機(jī)IP))發(fā)送給源視頻IP的終端;同時(shí)將窗口位置信息發(fā)送給窗口視頻渲染711模塊。若是本機(jī)IP,則將位置信息發(fā)送給窗口位置同步模塊同步原生窗口位置。
(D)接收到數(shù)據(jù)解析模塊709送來(lái)的(窗口位置同步命令+位置信息)信息,通知窗口位置同步模塊712移動(dòng)窗口位置。
(E)判定原生窗口完全移動(dòng)至右(左)側(cè)虛擬桌面內(nèi),則通知鼠標(biāo)事件消息檢測(cè)模塊704屏蔽系統(tǒng)響應(yīng)鼠標(biāo)消息。
(F)判定鏡像窗口由左(右)側(cè)虛擬屏幕完全移動(dòng)至主桌面內(nèi),則通過(guò)網(wǎng)絡(luò)發(fā)送模塊707向源視頻IP所在終端發(fā)送(鼠標(biāo)事件消息請(qǐng)求命令+目標(biāo)機(jī)IP(本機(jī)IP))信息。
(G)判定鏡像窗口移動(dòng)至主桌面右(左)側(cè)邊緣位置時(shí),若存在右(左)側(cè)虛擬桌面,則通過(guò)網(wǎng)絡(luò)發(fā)送模塊發(fā)送數(shù)據(jù)(鏡像命令+源視頻IP+窗口位置)到右(左)側(cè)終端;若不存在,則不處理。
(H)判定鏡像窗口由主桌面移動(dòng)到右(左)側(cè)虛擬桌面的過(guò)程中,定時(shí)通過(guò)網(wǎng)絡(luò)發(fā)送模塊707向右(左)側(cè)終端發(fā)送(窗口位置同步命令+位置信息)。
(I)判斷鏡像窗口完全移動(dòng)至右(左)側(cè)虛擬桌面內(nèi)時(shí),通過(guò)網(wǎng)絡(luò)發(fā)送模塊707向源視頻IP所在終端發(fā)送信息(請(qǐng)求停止視頻+目標(biāo)機(jī)IP),并銷毀鏡像窗口。
(J)接收到數(shù)據(jù)解析模塊709送來(lái)的(請(qǐng)求停止視頻+目標(biāo)機(jī)IP)信息時(shí),通知網(wǎng)絡(luò)發(fā)送模塊707,停止向目標(biāo)機(jī)IP發(fā)送視頻數(shù)據(jù)。
(K)接收到數(shù)據(jù)解析模塊709送來(lái)的(鼠標(biāo)請(qǐng)求命令+目標(biāo)機(jī)IP)信息,判斷目標(biāo)機(jī)IP非本機(jī)IP,則通知網(wǎng)絡(luò)發(fā)送模塊707更換鼠標(biāo)事件消息數(shù)據(jù)發(fā)送地址為當(dāng)前目標(biāo)機(jī)IP;
(L)判斷原生窗口由右(左)側(cè)虛擬桌面移回至主桌面時(shí),通知鼠標(biāo)事件消息檢測(cè)模塊704開放系統(tǒng)響應(yīng)鼠標(biāo)事件,并停止向網(wǎng)絡(luò)發(fā)送模塊發(fā)送鼠標(biāo)事件消息數(shù)據(jù)。
鼠標(biāo)事件消息檢測(cè)模塊704,用于檢測(cè)系統(tǒng)鼠標(biāo)事件消息,具有屏蔽/開放系統(tǒng)響應(yīng)鼠標(biāo)事件功能。
窗口抓取模塊705,用于抓取指定窗口視頻幀。
視頻編碼器模塊706,用于對(duì)窗口視頻幀進(jìn)行編碼壓縮處理。
網(wǎng)絡(luò)發(fā)送模塊707,向網(wǎng)絡(luò)指定IP發(fā)送數(shù)據(jù)。
網(wǎng)絡(luò)接收模塊708,接收網(wǎng)絡(luò)上發(fā)來(lái)的數(shù)據(jù)。
數(shù)據(jù)解析模塊709,解析數(shù)據(jù)格式,將不同的數(shù)據(jù)類型分發(fā)給不同的模塊處理。
視頻解碼器模塊710,對(duì)視頻壓縮編碼數(shù)據(jù)進(jìn)行解碼處理。
窗口視頻渲染模塊711,在指定位置創(chuàng)建窗口視頻顯示。
窗口位置同步模塊712,將原生/鏡像窗口移動(dòng)到指定位置。
鼠標(biāo)事件響應(yīng)模塊713,處理其他終端傳來(lái)的鼠標(biāo)事件消息,然后提交給操作系統(tǒng)響應(yīng)。
需要說(shuō)明的是,在本實(shí)施例中,是以窗口數(shù)據(jù)為窗口視頻幀,終端標(biāo)識(shí)為終端的IP為例進(jìn)行說(shuō)明,但這并不構(gòu)成對(duì)本發(fā)明方案的限定。
為了便于理解本發(fā)明的方案,以下通過(guò)一個(gè)具體的示例進(jìn)行說(shuō)明。在本示例中僅以3臺(tái)終端為例,將終端1桌面上的原生窗口1由位置A移動(dòng)到終端3的主桌面的位置F”上顯示,然后再?gòu)慕K端3桌面移動(dòng)回終端1的桌面位置A的過(guò)程。
在終端1、終端2和終端3上分別運(yùn)行本發(fā)明的如圖7所示的系統(tǒng),如圖8-1所示,終端1、終端2和終端3按照從左到右依次放置。
終端1桌面,右側(cè)存在終端2,因此初始化配置模塊為終端1配置右側(cè)虛擬桌面對(duì)應(yīng)終端2的主桌面;
終端2桌面,左側(cè)存在終端1,右側(cè)存在終端3,因此初始化配置模塊為終端2同時(shí)配置左側(cè)虛擬桌面對(duì)應(yīng)終端1的主桌面,配置右側(cè)虛擬桌面對(duì)應(yīng)終端3的主桌面;
終端3桌面,左側(cè)存在終端2,因此初始化配置模塊為終端3配置左側(cè)虛擬桌面對(duì)應(yīng)終端2的主桌面。
用戶使用終端1的鼠標(biāo)將原生窗口1由位置A移動(dòng)到主桌面右側(cè)邊緣位置B時(shí),終端1的窗口檢測(cè)模塊檢測(cè)到原生窗口移動(dòng)至主桌面右側(cè)邊緣時(shí),通知終 端1的控制決策模塊。
終端1的控制決策模塊,判定原生窗口1移動(dòng)到主桌面右側(cè)邊緣位置B時(shí),通知窗口抓取模塊抓取該窗口視頻幀,然后送到視頻編碼器進(jìn)行壓縮編碼,然后將視頻壓縮碼流送到網(wǎng)絡(luò)發(fā)送模塊等待發(fā)送。同時(shí)通過(guò)網(wǎng)絡(luò)發(fā)送模塊發(fā)送(鏡像命令+終端1的IP(源視頻IP)+位置B)數(shù)據(jù)到終端2。
終端2的網(wǎng)絡(luò)接收模塊接收到終端1發(fā)的數(shù)據(jù)后,送到數(shù)據(jù)解析模塊,解析數(shù)據(jù)為鏡像命令+終端1的IP(源視頻IP)+位置B后,提交給控制決策模塊,控制決策模塊判定源視頻IP非本機(jī)IP(終端2的IP)時(shí),通過(guò)網(wǎng)絡(luò)發(fā)送模塊向終端IP(源視頻IP)發(fā)送視頻請(qǐng)求命令。同時(shí)控制決策模塊,將位置B信息送到窗口位置同步模塊。
終端1的網(wǎng)絡(luò)接收模塊,接收到數(shù)據(jù)后,送到數(shù)據(jù)解析模塊,解析為終端2的視頻請(qǐng)求命令后,將(視頻請(qǐng)求命令+目標(biāo)機(jī)IP(終端2的IP))提交控制決策模塊??刂茮Q策模塊,判斷目標(biāo)機(jī)IP不是本機(jī)IP(終端1的IP),則通知網(wǎng)絡(luò)發(fā)送模塊向終端2發(fā)送視頻數(shù)據(jù)。
終端2的網(wǎng)絡(luò)接收模塊,接收到終端1發(fā)送的數(shù)據(jù)后,送到數(shù)據(jù)解析模塊解析為視頻數(shù)據(jù),送到視頻解碼器模塊進(jìn)行解壓縮處理,然后送到窗口視頻渲染模塊在指定位置B’創(chuàng)建鏡像窗口1顯示。
用戶在終端1將原生窗口由主桌面位置B移動(dòng)到虛擬桌面位置C的過(guò)程中,控制決策模塊,不斷通過(guò)網(wǎng)絡(luò)發(fā)送模塊,將(同步命令+原生窗口的位置)信息發(fā)送給終端2。
終端2收到(窗口位置同步命令+窗口的位置)后,由控制決策模塊,通知窗口同步模塊,不斷同步更新鏡像窗口1的位置。
當(dāng)終端1的控制決策模塊,判斷原生窗口已完全移動(dòng)到右側(cè)虛擬桌面內(nèi)(位置C)時(shí),則通知鼠標(biāo)事件消息檢測(cè)模塊屏蔽終端1的操作系統(tǒng)響應(yīng)鼠標(biāo)命令。此時(shí),用戶通過(guò)終端1的鼠標(biāo)操作命令不被終端1的操作系統(tǒng)響應(yīng)。
同時(shí)當(dāng)終端2的控制決策模塊,判斷鏡像窗口1已完全移動(dòng)到主桌面內(nèi)(位置C’)時(shí),則向終端1(源視頻IP)發(fā)送(鼠標(biāo)事件請(qǐng)求命令+目標(biāo)機(jī)IP(終端2的IP))信息。
終端1接收到終端2的(鼠標(biāo)事件消息請(qǐng)求命令+終端2的IP(目標(biāo)機(jī)IP))后,控制決策模塊判斷目標(biāo)機(jī)IP(終端2的IP)不是本機(jī)IP,因此通知,網(wǎng)絡(luò)發(fā)送模塊,將鼠標(biāo)事件消息檢測(cè)的鼠標(biāo)信息發(fā)送給終端2。
終端2網(wǎng)絡(luò)接收模塊,接收到終端1發(fā)送的數(shù)據(jù),送到數(shù)據(jù)解析模塊解析為鼠標(biāo)事件消息,則送到鼠標(biāo)事件響應(yīng)模塊處理。此時(shí),用戶通過(guò)終端1的鼠標(biāo)操作命令在終端2響應(yīng)。
用戶此時(shí)通過(guò)鼠標(biāo)繼續(xù)移動(dòng)的窗口為終端2的鏡像窗口1,而原生窗口將停留在位置C。
用戶將鏡像窗口1,由位置C’移動(dòng)至位置D’時(shí),控制決策模塊判斷鏡像窗口1移動(dòng)至主桌面右側(cè)邊緣,則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向右側(cè)的終端3發(fā)送(鏡像命令+終端1的IP(源視頻IP)+位置D’)信息。
終端3的網(wǎng)絡(luò)接收模塊接收到終端2的數(shù)據(jù)后,送到數(shù)據(jù)解析模塊解析為(鏡像命令+終端1的IP(源視頻IP)+位置D’),送到控制決策模塊。控制決策模塊,判斷終端1的IP非本機(jī)IP,則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向終端1發(fā)送(視頻請(qǐng)求命令+目標(biāo)機(jī)IP(終端3的IP))信息。
終端1的網(wǎng)絡(luò)接收模塊接收到終端3的數(shù)據(jù)信息后,送到數(shù)據(jù)解析模塊解析為(視頻請(qǐng)求命令+目標(biāo)機(jī)IP(終端3的IP)),送到控制決策模塊??刂茮Q策模塊,判斷目標(biāo)機(jī)IP不是本機(jī)IP(終端1的IP),則通知網(wǎng)絡(luò)發(fā)送模塊向終端3發(fā)送視頻數(shù)據(jù)。
終端3的網(wǎng)絡(luò)接收模塊,接收到終端1發(fā)送的數(shù)據(jù)后,送到數(shù)據(jù)解析模塊解析為視頻數(shù)據(jù),送到視頻解碼器模塊進(jìn)行解壓縮處理,然后送到窗口視頻渲染模塊在指定位置D”創(chuàng)建鏡像窗口2顯示。
用戶在終端2將鏡像窗口1由主桌面位置D’移動(dòng)到虛擬桌面位置E’的過(guò)程中,控制決策模塊,不斷通過(guò)網(wǎng)絡(luò)發(fā)送模塊,將(同步命令+鏡像窗口的位置)信息發(fā)送給終端3。
終端3收到(窗口位置同步命令+窗口的位置)后,由控制決策模塊,通知窗口同步模塊,不斷同步更新鏡像窗口2的位置。
當(dāng)終端2的控制決策模塊,判斷鏡像窗口1已完全移動(dòng)到右側(cè)虛擬桌面內(nèi) (位置E’)時(shí),則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向源視頻IP(終端1)發(fā)送信息(請(qǐng)求停止視頻+目標(biāo)機(jī)IP(終端2)),并銷毀右側(cè)虛擬桌面位置E’的鏡像窗口1。
終端1控制決策模塊接收到數(shù)據(jù)解析模塊送來(lái)的(請(qǐng)求停止視頻+目標(biāo)機(jī)IP(終端2))信息時(shí),通知網(wǎng)絡(luò)發(fā)送模塊,停止向終端2發(fā)送視頻數(shù)據(jù)。
終端3的控制決策模塊,判斷鏡像窗口2已完全移動(dòng)到主桌面內(nèi)(位置E”)時(shí),則向終端1(源視頻IP)發(fā)送(鼠標(biāo)事件請(qǐng)求命令+目標(biāo)機(jī)IP(終端3的IP))信息。
終端1接收到終端3的(鼠標(biāo)事件消息請(qǐng)求命令+終端3的IP(目標(biāo)機(jī)IP))后,控制決策模塊判斷目標(biāo)機(jī)IP(終端3的IP)不是本機(jī)IP,因此通知,網(wǎng)絡(luò)發(fā)送模塊,將鼠標(biāo)事件消息檢測(cè)的鼠標(biāo)信息發(fā)送的目標(biāo)IP由終端2改為終端3。
終端3網(wǎng)絡(luò)接收模塊,接收到終端1發(fā)送的數(shù)據(jù),送到數(shù)據(jù)解析模塊解析為鼠標(biāo)事件消息,則送到鼠標(biāo)事件響應(yīng)模塊處理。此時(shí),用戶通過(guò)終端1的鼠標(biāo)操作命令在終端3響應(yīng)。
用戶此時(shí)通過(guò)鼠標(biāo)繼續(xù)移動(dòng)的窗口為終端3的鏡像窗口2,可將鏡像窗口2移動(dòng)至終端3主桌面位置F”處。
以上,就完成了將窗口由終端1桌面位置A移動(dòng)至終端3桌面位置F”過(guò)程。以下,說(shuō)明將窗口由終端3桌面位置F”移回至終端1桌面位置A的過(guò)程。
用戶將終端3的鏡像窗口由位置F”移動(dòng)至位置G”時(shí),控制決策模塊判斷鏡像窗口2移動(dòng)至主桌面左側(cè)邊緣,則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向左側(cè)的終端2發(fā)送(鏡像命令+終端1的IP(源視頻IP)+位置G”)信息。
終端2的網(wǎng)絡(luò)接收模塊接收到終端3的數(shù)據(jù)后,送到數(shù)據(jù)解析模塊解析為(鏡像命令+終端1的IP(源視頻IP)+位置G”),送到控制決策模塊??刂茮Q策模塊,判斷終端1的IP非本機(jī)IP,則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向終端1發(fā)送(視頻請(qǐng)求命令+目標(biāo)機(jī)IP(終端2的IP))信息。
終端1的網(wǎng)絡(luò)接收模塊接收到終端2的數(shù)據(jù)信息后,送到數(shù)據(jù)解析模塊解析為(視頻請(qǐng)求命令+目標(biāo)機(jī)IP(終端2的IP)),送到控制決策模塊。控制決策模塊,判斷目標(biāo)機(jī)IP不是本機(jī)IP(終端1的IP),則通知網(wǎng)絡(luò)發(fā)送模塊向終端2發(fā)送視頻數(shù)據(jù)。
終端2的網(wǎng)絡(luò)接收模塊,接收到終端1發(fā)送的數(shù)據(jù)后,送到數(shù)據(jù)解析模塊解析為視頻數(shù)據(jù),送到視頻解碼器模塊進(jìn)行解壓縮處理,然后送到窗口視頻渲染模塊在指定位置G’創(chuàng)建鏡像窗口3顯示。
用戶在終端3將鏡像窗口2由主桌面位置G”移動(dòng)到左側(cè)虛擬桌面位置H”的過(guò)程中,控制決策模塊,不斷通過(guò)網(wǎng)絡(luò)發(fā)送模塊,將(同步命令+窗口的位置)信息發(fā)送給終端2。
終端2收到(同步命令+窗口的位置)后,由控制決策模塊,通知窗口同步模塊,不斷同步更新鏡像窗口3的位置。
當(dāng)終端3的控制決策模塊,判斷鏡像窗口2已完全移動(dòng)到左側(cè)虛擬桌面內(nèi)(位置H”)時(shí),則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向源視頻IP(終端1)發(fā)送信息(請(qǐng)求停止視頻+目標(biāo)機(jī)IP(終端3)),并銷毀左側(cè)虛擬桌面位置H”的鏡像窗口2。
終端1控制決策模塊接收到數(shù)據(jù)解析模塊送來(lái)的(請(qǐng)求停止視頻+目標(biāo)機(jī)IP(終端3))信息時(shí),通知網(wǎng)絡(luò)發(fā)送模塊,停止向終端3發(fā)送視頻數(shù)據(jù)。
終端2的控制決策模塊,判斷鏡像窗口3已完全移動(dòng)到主桌面內(nèi)(位置H’)時(shí),則向終端1(源視頻IP)發(fā)送(鼠標(biāo)事件請(qǐng)求命令+目標(biāo)機(jī)IP(終端2的IP))信息。
終端1接收到終端2的(鼠標(biāo)事件消息請(qǐng)求命令+終端2的IP(目標(biāo)機(jī)IP))后,控制決策模塊判斷目標(biāo)機(jī)IP(終端2的IP)不是本機(jī)IP,因此通知,網(wǎng)絡(luò)發(fā)送模塊,將鼠標(biāo)事件消息檢測(cè)的鼠標(biāo)信息發(fā)送的目標(biāo)IP由終端3改為終端2。
終端2網(wǎng)絡(luò)接收模塊,接收到終端1發(fā)送的數(shù)據(jù),送到數(shù)據(jù)解析模塊解析為鼠標(biāo)事件消息,則送到鼠標(biāo)事件響應(yīng)模塊處理。此時(shí),用戶通過(guò)終端1的鼠標(biāo)操作命令在終端2響應(yīng)。
用戶此時(shí)通過(guò)鼠標(biāo)繼續(xù)移動(dòng)的窗口為終端2的鏡像窗口3,可將鏡像窗口3移動(dòng)至終端2主桌面位置I’處。
終端2的控制決策模塊,判斷鏡像窗口3移動(dòng)至主桌面左側(cè)邊緣,則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向左側(cè)的終端1發(fā)送(鏡像命令+終端1的IP(源視頻IP)+位置I’)信息。
終端1的網(wǎng)絡(luò)接收模塊接收到終端2的數(shù)據(jù)后,送到數(shù)據(jù)解析模塊解析為 (鏡像命令+終端1的IP(源視頻IP)+位置I’),送到控制決策模塊。控制決策模塊,判斷源視頻IP是本機(jī)IP,則將位置信息I’發(fā)送給窗口位置同步模塊,將原生窗口1由位置C移動(dòng)至位置I。
用戶在終端2將鏡像窗口3由主桌面位置I’移動(dòng)到左側(cè)虛擬桌面位置J’的過(guò)程中,控制決策模塊,不斷通過(guò)網(wǎng)絡(luò)發(fā)送模塊,將(同步命令+窗口的位置)信息發(fā)送給終端1。
終端1收到(同步命令+窗口的位置)后,由控制決策模塊,通知窗口同步模塊,不斷同步更新原生窗口1的位置。
當(dāng)終端2的控制決策模塊,判斷鏡像窗口3已完全移動(dòng)到左側(cè)虛擬桌面內(nèi)(位置J’)時(shí),則通過(guò)網(wǎng)絡(luò)發(fā)送模塊向源視頻IP(終端1)發(fā)送信息(請(qǐng)求停止視頻+目標(biāo)機(jī)IP(終端2)),并銷毀左側(cè)虛擬桌面位置J’的鏡像窗口3。
終端1控制決策模塊接收到數(shù)據(jù)解析模塊送來(lái)的(請(qǐng)求停止視頻+目標(biāo)機(jī)IP(終端2))信息時(shí),通知網(wǎng)絡(luò)發(fā)送模塊,停止向終端2發(fā)送視頻數(shù)據(jù)。
終端1的控制決策模塊,判斷原生窗口1已完全移動(dòng)到主桌面內(nèi)(位置J)時(shí),則通知鼠標(biāo)事件消息檢測(cè)模塊開發(fā)系統(tǒng)響應(yīng)鼠標(biāo)事件,并停止向網(wǎng)絡(luò)發(fā)送模塊發(fā)送鼠標(biāo)事件消息數(shù)據(jù)。
此時(shí)終端1的系統(tǒng)可以響應(yīng)鼠標(biāo)事件消息,用戶通過(guò)鼠標(biāo)將原生窗口由位置J移動(dòng)至位置A。
到此,就介紹完成了窗口由終端1位置A到終端3位置F”,再回到終端1的位置A的移動(dòng)過(guò)程。
從以上示例可以看出,雖然過(guò)程簡(jiǎn)單,但多臺(tái)終端之間的信息交互比較繁瑣。為了簡(jiǎn)單說(shuō)明,才只采用了在3臺(tái)終端間移動(dòng)窗口來(lái)說(shuō)明。但同樣的方法可以在任意多臺(tái)終端間完成窗口的移動(dòng)過(guò)程。而且,也不必是要從最左邊終端開始移動(dòng)窗口,從任意一臺(tái)終端,向任意方向移動(dòng)窗口,使用本發(fā)明方案都是可行的。
需要說(shuō)明的是,術(shù)語(yǔ)“第一”、“第二”和“第三”僅用于描述目的,而不能理解為指示或者暗示相對(duì)重要性。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程, 是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,作為獨(dú)立的產(chǎn)品銷售或使用。所述程序在執(zhí)行時(shí),可執(zhí)行如上述各方法的實(shí)施例的全部或部分步驟。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Ran dom Access Memory,RAM)等。
或者,本發(fā)明上述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分。
在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見其它實(shí)施例的相關(guān)描述。在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的方法和系統(tǒng),可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的設(shè)備實(shí)施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,如:多個(gè)模塊或組件可以結(jié)合,或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過(guò)一些接口,設(shè)備或模塊的間接耦合或通信連接,可以是電性的、機(jī)械的或其它形式的。
另外,在本發(fā)明各實(shí)施例中的各功能模塊可以全部集成在一個(gè)處理模塊中,也可以是各模塊分別單獨(dú)作為一個(gè)模塊,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中;上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能模塊的形式實(shí)現(xiàn)。
以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書記載的范圍。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的 普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。