亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

移動(dòng)終端及其文件共享方法與流程

文檔序號(hào):12467723閱讀:288來(lái)源:國(guó)知局
移動(dòng)終端及其文件共享方法與流程

本發(fā)明涉及智能終端技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種移動(dòng)終端及其文件共享方法。



背景技術(shù):

隨著時(shí)代的發(fā)展,各種新興的操作系統(tǒng)不斷涌現(xiàn),為用戶帶來(lái)了新穎且更加便捷的終端使用體驗(yàn)。但是,由于傳統(tǒng)的移動(dòng)終端只允許單個(gè)操作系統(tǒng)運(yùn)行,即使有多個(gè)操作系統(tǒng)支持也均為靜態(tài)支持,即需要在設(shè)備啟動(dòng)時(shí)重新引導(dǎo)新的操作系統(tǒng),并不能同時(shí)運(yùn)行多個(gè)操作系統(tǒng)。

Linux Container容器是一種內(nèi)核虛擬化技術(shù),可以提供輕量級(jí)的虛擬化,以便隔離進(jìn)程和資源,而且不需要提供指令解釋機(jī)制以及全虛擬化的其他復(fù)雜性。利用Linux內(nèi)核的命名空間(namespace)特性,可以形成多個(gè)容器系統(tǒng),并通過(guò)Linux Container容器,可以有效地將原來(lái)由單個(gè)操作系統(tǒng)管理的資源劃分到孤立的組中,以更好地在孤立的組之間平衡有沖突的資源使用需求,實(shí)現(xiàn)移動(dòng)終端同時(shí)運(yùn)行多個(gè)操作系統(tǒng)。比如,在移動(dòng)終端上運(yùn)行一個(gè)安全系統(tǒng),再加上一個(gè)或多個(gè)娛樂(lè)系統(tǒng)。

本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有的移動(dòng)終端中,為了實(shí)現(xiàn)容器系統(tǒng)間文件的共享,可以為共享文件統(tǒng)一分區(qū),以便傳輸文件。然而,實(shí)際上為了保障系統(tǒng)的安全性,移動(dòng)終端往往會(huì)對(duì)各容器系統(tǒng)的文件系統(tǒng)、命名空間進(jìn)行充分的隔離。如果采用現(xiàn)有為共享文件統(tǒng)一分區(qū),將會(huì)打破容器間的獨(dú)立性,無(wú)法實(shí)現(xiàn)安全系統(tǒng)的充分隔離。

因此,有必要提供一種在不打破容器間的獨(dú)立性的前提下,實(shí)現(xiàn)共享文件的共享。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供了一種移動(dòng)終端及其文件共享方法,在不打破容器間的獨(dú)立性的前提下,實(shí)現(xiàn)移動(dòng)終端中不同容器的進(jìn)程之間的文件共享,保障移動(dòng)終端容器的充分隔離。

本發(fā)明方案提供了一種移動(dòng)終端中文件共享方法,包括:

接收指向第一進(jìn)程所打開的目標(biāo)文件的第一文件描述符,并根據(jù)所述第一文件描述符獲取所述文件的文件file結(jié)構(gòu)體;

為所述第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道,在所述服務(wù)通道中記錄所述第一文件描述符,以及獲取的file結(jié)構(gòu)體;

接收第二進(jìn)程針對(duì)所述文件發(fā)起的共享請(qǐng)求,查找出所述共享請(qǐng)求對(duì)應(yīng)的服務(wù)通道;

將所述第二進(jìn)程未使用的第二文件描述符與所述服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián),使所述第二文件描述符與所述第一文件描述符共同指向所述文件;

向所述第二進(jìn)程返回所述第二文件描述符,使所述第二進(jìn)程根據(jù)所述第二文件描述符訪問(wèn)目標(biāo)文件。

較佳地,為所述第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道之后,還包括:

以預(yù)設(shè)的標(biāo)示名稱作為所述服務(wù)通道的索引,并對(duì)所述服務(wù)通道進(jìn)行廣播,使移動(dòng)終端中的進(jìn)程獲取所述標(biāo)示名稱,并根據(jù)所述標(biāo)示名稱發(fā)起針對(duì)目標(biāo)文件的共享請(qǐng)求。

較佳地,為所述第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道之后,還包括:

在所述服務(wù)通道中記錄目標(biāo)文件的安全校驗(yàn)信息;

其中,所述安全校驗(yàn)信息包括如下至少一項(xiàng):

文件權(quán)限、允許訪問(wèn)的用戶UID、允許最大訪問(wèn)數(shù)量。

較佳地,所述將所述第二進(jìn)程未使用的第二文件描述符與所述服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián)之前,還包括:

利用所述服務(wù)通道中記錄的安全校驗(yàn)信息,對(duì)所述第二進(jìn)程進(jìn)行校驗(yàn)。

較佳地,所述第一進(jìn)程與所述第二進(jìn)程分別屬于移動(dòng)終端中不同的容器。

根據(jù)本發(fā)明的另一方面,還提供了一種移動(dòng)終端,包括:

第一接收單元,用于接收指向第一進(jìn)程所打開的目標(biāo)文件的第一文件描述符,并根據(jù)所述第一文件描述符獲取所述文件的文件file結(jié)構(gòu)體;

通道注冊(cè)單元,用于為所述第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道,在所述服務(wù)通道中記錄所述第一文件描述符,以及獲取的file結(jié)構(gòu)體;

第二接收單元,用于接收第二進(jìn)程針對(duì)所述文件發(fā)起的共享請(qǐng)求,查找出所述共享請(qǐng)求對(duì)應(yīng)的服務(wù)通道;并獲取所述第二進(jìn)程未使用的第二文件描述符;

關(guān)聯(lián)共享單元,用于將所述第二文件描述符與所述服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián),使所述第二文件描述符與所述第一文件描述符共同指向目標(biāo)文件;向所述第二進(jìn)程返回所述第二文件描述符,使所述第二進(jìn)程根據(jù)所述第二文件描述符訪問(wèn)目標(biāo)文件。

較佳地,所述通道注冊(cè)單元還用于為所述第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道之后,以預(yù)設(shè)的標(biāo)示名稱作為所述服務(wù)通道的索引,并對(duì)所述服務(wù)通道進(jìn)行廣播,使移動(dòng)終端中的進(jìn)程獲取所述標(biāo)示名稱,并根據(jù)所述標(biāo)示名稱發(fā)起針對(duì)目標(biāo)文件的共享請(qǐng)求;以及

所述第二接收單元接收第二進(jìn)程針對(duì)所述文件的共享請(qǐng)求后,根據(jù)所述共享請(qǐng)求中攜帶的標(biāo)示名稱查找出對(duì)應(yīng)的服務(wù)通道。

較佳地,所述通道注冊(cè)單元還用于為所述第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道之后,在所述服務(wù)通道中記錄目標(biāo)文件的安全校驗(yàn)信息;

其中,所述安全校驗(yàn)信息包括如下至少一項(xiàng):

文件權(quán)限、允許訪問(wèn)的用戶UID、允許最大訪問(wèn)數(shù)量。

較佳地,所述移動(dòng)終端還包括:

安全校驗(yàn)單元,用于在第二接收單元查找出所述共享請(qǐng)求對(duì)應(yīng)的服務(wù)通道后,利用所述服務(wù)通道中記錄的安全校驗(yàn)信息,對(duì)所述第二進(jìn)程進(jìn)行校驗(yàn);以及

所述關(guān)聯(lián)共享單元具體用于在所述第二進(jìn)程通過(guò)所述安全校驗(yàn)單元的校驗(yàn)后,將所述第二進(jìn)程未使用的第二文件描述符與所述服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián)。

較佳地,所述第一進(jìn)程與所述第二進(jìn)程分別屬于移動(dòng)終端中不同的容器。

本發(fā)明的技術(shù)方案中,將第一進(jìn)程打開的目標(biāo)文件的file結(jié)構(gòu)體與第二進(jìn)程未使用的第二文件描述符進(jìn)行關(guān)聯(lián),使得第一進(jìn)程打開目標(biāo)文件時(shí)所獲得的第一文件描述符與第二文件描述符共同指向目標(biāo)文件。這樣,第一進(jìn)程與第二進(jìn)程可以利用各自的文件描述符訪問(wèn)目標(biāo)文件,實(shí)現(xiàn)目標(biāo)文件的共享。

相比現(xiàn)有采用為共享文件統(tǒng)一分區(qū)來(lái)實(shí)現(xiàn)容器間文件共享的方案,本發(fā)明的方案無(wú)需為共享文件統(tǒng)一分區(qū),避免打破容器間的獨(dú)立性,在實(shí)現(xiàn)移動(dòng)終端中不同容器的進(jìn)程之間的文件共享的同時(shí),可保障移動(dòng)終端容器的充分隔離,提高了容器安全性。

本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。

附圖說(shuō)明

圖1為本發(fā)明提供的移動(dòng)終端中文件共享方法的流程示意圖;

圖2、3均為本發(fā)明提供的移動(dòng)終端的結(jié)構(gòu)示意圖。

具體實(shí)施方式

以下將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所得到的所有其它實(shí)施例,都屬于本發(fā)明所保護(hù)的范圍。

實(shí)際應(yīng)用中,移動(dòng)終端往往會(huì)對(duì)各容器的文件系統(tǒng)、命名空間進(jìn)行充分的隔離,以此保障移動(dòng)終端和容器的安全性?,F(xiàn)有的移動(dòng)終端采用為共享文件統(tǒng)一分區(qū)來(lái)實(shí)現(xiàn)容器間文件共享的方案,因其打破了容器間的獨(dú)立性,使得移動(dòng)終端中的容器無(wú)法實(shí)現(xiàn)充分隔離,從而無(wú)法保障移動(dòng)終端容器的安全。

因此,本發(fā)明的方案中,可以通過(guò)移動(dòng)終端中預(yù)設(shè)的獨(dú)立于移動(dòng)終端各個(gè)容器的設(shè)備驅(qū)動(dòng),使移動(dòng)終端中的容器進(jìn)程通過(guò)指向其他容器中的待共享的文件的fd(file descriptor,文件描述符)來(lái)訪問(wèn)該文件。比如,設(shè)備驅(qū)動(dòng)可以接收第一容器的進(jìn)程打開某一待共享的文件時(shí)內(nèi)核所返回的第一文件描述符,為第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道,并在服務(wù)通道中記錄第一文件描述符,以及第一文件描述符所指向的待共享的文件的file(文件)結(jié)構(gòu)體;之后,獲取第二容器當(dāng)前進(jìn)程未使用的第二文件描述符,將第二文件描述符與待共享的文件的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián),使第二文件描述符指向第一容器中的待共享的文件。

這樣,第二容器中的進(jìn)程后續(xù)可以通過(guò)第二文件描述符訪問(wèn)待共享的文件,實(shí)現(xiàn)第一容器中待共享的文件的共享,無(wú)需將第一容器中的待共享的文件設(shè)置于統(tǒng)一的分區(qū)中,避免打破容器間的獨(dú)立性,保障移動(dòng)終端容器的充分隔離,提高安全性。

下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。

實(shí)際應(yīng)用中,利用Linux內(nèi)核的命名空間(namespace)特性,可以形成多個(gè)容器,以此對(duì)用戶空間和資源進(jìn)行隔離。移動(dòng)終端中的容器可以是基于linux系統(tǒng)而演變的系統(tǒng),比如,Android(安卓)系統(tǒng)等。

為了保障移動(dòng)終端中的容器的充分隔離,本發(fā)明方案中,移動(dòng)終端的內(nèi)核可以預(yù)先啟動(dòng)一個(gè)簡(jiǎn)化、安全的容器管理系統(tǒng);并在容器管理系統(tǒng)中設(shè)置獨(dú)立于移動(dòng)終端中各容器的設(shè)備驅(qū)動(dòng),以通過(guò)該設(shè)備驅(qū)動(dòng)使移動(dòng)終端中的容器進(jìn)程獲取指向其他容器中的待共享文件的文件描述符,并根據(jù)該文件描述符訪問(wèn)待共享的文件,從而實(shí)現(xiàn)容器間的文件共享。其中,啟動(dòng)的容器管理系統(tǒng)用于啟動(dòng)容器內(nèi)系統(tǒng),并對(duì)容器進(jìn)行管理。

具體地,本發(fā)明實(shí)施例提供了一種移動(dòng)終端中文件共享方法,如圖1所示,上述方法可以包括如下步驟:

S101:接收指向第一進(jìn)程所打開的目標(biāo)文件的第一文件描述符,并根據(jù)第一文件描述符獲取目標(biāo)文件的file結(jié)構(gòu)體。

本發(fā)明的方案,可適用于移動(dòng)終端中容器間的文件共享,第一進(jìn)程可以是移動(dòng)終端中的第一容器的進(jìn)程,第一進(jìn)程所打開的目標(biāo)文件可以是第一容器中的待共享的文件。

實(shí)際應(yīng)用中,進(jìn)程打開或創(chuàng)建文件時(shí),內(nèi)核會(huì)返回一個(gè)指向該文件的文件描述符。因此,第一容器中的第一進(jìn)程打開目標(biāo)文件時(shí),可以得到內(nèi)核返回的指向該目標(biāo)文件的第一文件描述符fd1。

考慮到,實(shí)際應(yīng)用中,在文件創(chuàng)建時(shí)內(nèi)核設(shè)置有描述該文件的file結(jié)構(gòu)體;而文件的共享可以通過(guò)file結(jié)構(gòu)體的共享來(lái)實(shí)現(xiàn)。因此,本發(fā)明實(shí)施例中,第一進(jìn)程可以通過(guò)ioctl接口訪問(wèn)設(shè)備驅(qū)動(dòng),并向設(shè)備驅(qū)動(dòng)傳遞指向目標(biāo)文件的第一文件描述符fd1。這樣,設(shè)備驅(qū)動(dòng)接收第一進(jìn)程傳遞的第一文件描述符fd1后,可以利用內(nèi)核提供的fget函數(shù),通過(guò)接收的第一文件描述符fd1,獲取內(nèi)核描述fd1指向的目標(biāo)文件的file結(jié)構(gòu)體。

S102:為第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道,在服務(wù)通道中記錄第一文件描述符,以及獲取的file結(jié)構(gòu)體。

本步驟中,移動(dòng)終端中預(yù)設(shè)的設(shè)備驅(qū)動(dòng)可以為接收的第一文件描述符fd1注冊(cè)一個(gè)對(duì)應(yīng)的服務(wù)通道;并在注冊(cè)的服務(wù)通道中記錄第一文件描述符fd1、以及通過(guò)步驟S101獲取的fd1所指向的目標(biāo)文件的file結(jié)構(gòu)體。

實(shí)際應(yīng)用中,第一進(jìn)程在向設(shè)備驅(qū)動(dòng)傳遞指向第一容器中的目標(biāo)文件的第一文件描述符fd1時(shí),還可以向設(shè)備驅(qū)動(dòng)傳遞預(yù)先設(shè)置的標(biāo)示名稱。

相應(yīng)地,設(shè)備驅(qū)動(dòng)在為第一文件描述符fd1注冊(cè)服務(wù)通道后,可以以接收的預(yù)設(shè)的標(biāo)示名稱作為注冊(cè)的服務(wù)通道的索引。這樣,設(shè)備驅(qū)動(dòng)后續(xù)可通過(guò)標(biāo)示名稱找到對(duì)應(yīng)的服務(wù)通道,便于讀取服務(wù)通道中記錄的信息。

為了實(shí)現(xiàn)文件的共享,本發(fā)明方案中,在為第一文件描述符fd1注冊(cè)對(duì)應(yīng)的服務(wù)通道后,可以對(duì)第一文件描述符fd1對(duì)應(yīng)的服務(wù)通道進(jìn)行廣播,使移動(dòng)終端中的其他容器可以根據(jù)廣播獲取該服務(wù)通道的索引(即標(biāo)示名稱),使得其他容器的進(jìn)程可以根據(jù)獲取的標(biāo)示名稱發(fā)起針對(duì)目標(biāo)文件的共享請(qǐng)求。

實(shí)際應(yīng)用中,設(shè)備驅(qū)動(dòng)將第一文件描述符fd1對(duì)應(yīng)的服務(wù)通道進(jìn)行廣播,可以使得移動(dòng)終端中的其他容器了解到第一文件描述符fd1所指向的目標(biāo)文件已提供了共享通道。這樣,移動(dòng)終端中存在訪問(wèn)第一容器中目標(biāo)文件需求的容器,就可以根據(jù)廣播的內(nèi)容獲取標(biāo)示名稱;并通過(guò)標(biāo)示名稱向設(shè)備驅(qū)動(dòng)發(fā)起共享請(qǐng)求。

S103:接收第二進(jìn)程針對(duì)目標(biāo)文件發(fā)起的共享請(qǐng)求,查找出共享請(qǐng)求對(duì)應(yīng)的服務(wù)通道。

本發(fā)明方案中,移動(dòng)終端中存在訪問(wèn)第一容器中目標(biāo)文件需求的容器,在接收到有關(guān)目標(biāo)文件的服務(wù)通道的廣播之后,可以從廣播中獲取服務(wù)通道的索引,即標(biāo)示名稱;并向設(shè)備驅(qū)動(dòng)發(fā)送攜帶標(biāo)示名稱的共享請(qǐng)求。比如,移動(dòng)終端中的第二進(jìn)程根據(jù)廣播發(fā)起針對(duì)目標(biāo)文件的共享請(qǐng)求。其中,第二進(jìn)程與第一進(jìn)程可以分別屬于移動(dòng)終端中不同的容器。

移動(dòng)終端中預(yù)設(shè)的設(shè)備驅(qū)動(dòng)接收到第二進(jìn)程發(fā)送的有關(guān)目標(biāo)文件的共享請(qǐng)求后,可根據(jù)共享請(qǐng)求中攜帶的標(biāo)示名稱,查找到對(duì)應(yīng)的服務(wù)通道,并讀取服務(wù)通道中記錄的信息,包括:指向目標(biāo)文件的第一文件描述符、目標(biāo)文件的file結(jié)構(gòu)體。

S104:將第二進(jìn)程未使用的第二文件描述符與服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián),使第二文件描述符與第一文件描述符共同指向目標(biāo)文件。

實(shí)際應(yīng)用中,文件描述符是一個(gè)非負(fù)整數(shù),每一個(gè)文件描述符會(huì)與一個(gè)打開文件相對(duì)應(yīng);而相同的文件可能被不同的進(jìn)程打開。針對(duì)同一文件,由不同的進(jìn)程打開所得到的文件描述符可能并不相同。

因此,本發(fā)明實(shí)施例中,在設(shè)備驅(qū)動(dòng)接收到第二進(jìn)程發(fā)起的共享請(qǐng)求之后,可以獲取該第二進(jìn)程未使用的第二文件描述符fd2。關(guān)于進(jìn)程未使用的文件描述符的獲取可以采用本領(lǐng)域技術(shù)人員常用技術(shù)手段,在此不再詳述。

獲取第二進(jìn)程未使用的第二文件描述符fd2之后,為了使第二文件描述符fd2指向第一容器中目標(biāo)文件,可以將獲取的第二文件描述符fd2與步驟S103查找出的服務(wù)通道中記錄的描述目標(biāo)文件的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián),使第二文件描述符fd2與第一文件描述符fd1共同指向目標(biāo)文件。

關(guān)于文件描述符與file結(jié)構(gòu)體的關(guān)聯(lián),可以采用本領(lǐng)域技術(shù)常用技術(shù)手段,在此不再詳述。

進(jìn)一步地,考慮到現(xiàn)有對(duì)共享分區(qū)文件的訪問(wèn)權(quán)限存在的控制缺陷,本發(fā)明方案中,可以在將第二文件描述符fd2與第一文件描述符fd1對(duì)應(yīng)的服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián)之前,還可以對(duì)發(fā)起共享請(qǐng)求的第二進(jìn)程進(jìn)行校驗(yàn),以保障目標(biāo)文件的安全訪問(wèn)。其中,校驗(yàn)至少包括如下至少一項(xiàng):身份校驗(yàn)、權(quán)限校驗(yàn)。

具體地,設(shè)備驅(qū)動(dòng)為第一文件描述符fd1注冊(cè)對(duì)應(yīng)的服務(wù)通道之后,在第一文件描述符fd1對(duì)應(yīng)的服務(wù)通道中,除了記錄第一文件描述符fd1、fd1所指向的目標(biāo)文件的file結(jié)構(gòu)體之外,還可以記錄目標(biāo)文件的安全校驗(yàn)信息。其中,安全校驗(yàn)信息包括如下至少一項(xiàng):文件權(quán)限、運(yùn)行訪問(wèn)的用戶UID(User Identification,用戶身份證明)、允許最大訪問(wèn)數(shù)量等信息。這樣,設(shè)備驅(qū)動(dòng)在接收到第二進(jìn)程的共享請(qǐng)求,并查找到對(duì)應(yīng)的服務(wù)通道后,可以從查找到的服務(wù)通道中讀取上述信息,并根據(jù)上述信息對(duì)該容器進(jìn)行校驗(yàn);在第二進(jìn)程通過(guò)校驗(yàn)后,將第二進(jìn)程未使用的第二文件描述符與所述服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián)。關(guān)于容器的校驗(yàn)可以采用本領(lǐng)域技術(shù)人員常用技術(shù)手段,在此不再詳述。

S105:向第二進(jìn)程返回第二文件描述符,使第二進(jìn)程根據(jù)第二文件描述符訪問(wèn)目標(biāo)文件。

本步驟中,移動(dòng)終端中預(yù)設(shè)的設(shè)備驅(qū)動(dòng)可以將已經(jīng)與目標(biāo)文件的file結(jié)構(gòu)體關(guān)聯(lián)的第二文件描述符fd2返回給第二進(jìn)程,這樣,第二進(jìn)程就可以通過(guò)第二文件描述符fd2直接訪問(wèn)目標(biāo)文件,實(shí)現(xiàn)文件共享。

實(shí)際應(yīng)用中,本發(fā)明提供的移動(dòng)終端中文件共享方法可適用于移動(dòng)終端中容器間的文件共享;在容器內(nèi)進(jìn)程之間存在文件共享,或者移動(dòng)終端中容器進(jìn)程與容器外系統(tǒng)進(jìn)程之間存在文件共享的需求時(shí),也可以采用本發(fā)明提供的共享方法。

基于上述移動(dòng)終端中文件共享方法,本發(fā)明還提供了一種移動(dòng)終端,如圖2所示,該移動(dòng)終端可以包括:第一接收單元201、通道注冊(cè)單元202、第二接收單元203、以及關(guān)聯(lián)共享單元204。

其中,第一接收單元201用于接收指向第一進(jìn)程所打開的目標(biāo)文件的第一文件描述符,并根據(jù)第一文件描述符獲取目標(biāo)文件的文件file結(jié)構(gòu)體。

通道注冊(cè)單元202用于為第一接收單元201接收的第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道,在注冊(cè)的服務(wù)通道中記錄第一文件描述符,以及第一接收單元201獲取的file結(jié)構(gòu)體。

第二接收單元203用于接收第二進(jìn)程針對(duì)目標(biāo)文件發(fā)起的共享請(qǐng)求,查找出共享請(qǐng)求對(duì)應(yīng)的服務(wù)通道;并獲取第二進(jìn)程未使用的第二文件描述符。其中,第一進(jìn)程與第二進(jìn)程可以分別屬于移動(dòng)終端中不同的容器。

關(guān)聯(lián)共享單元204用于將第二接收單元203獲取的第二文件描述符與第二接收單元203查找出的服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián),使第二文件描述符與服務(wù)通道中記錄的第一文件描述符共同指向目標(biāo)文件;向第二進(jìn)程返回第二文件描述符,使第二進(jìn)程根據(jù)第二文件描述符訪問(wèn)目標(biāo)文件。

進(jìn)一步地,通道注冊(cè)單元202還用于為第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道之后,以預(yù)設(shè)的標(biāo)示名稱作為服務(wù)通道的索引,并對(duì)服務(wù)通道進(jìn)行廣播,使移動(dòng)終端中的進(jìn)程能夠根據(jù)廣播獲取標(biāo)示名稱,并根據(jù)獲取的標(biāo)示名稱發(fā)起針對(duì)目標(biāo)文件的共享請(qǐng)求。

相應(yīng)地,第二接收單元接收第二進(jìn)程針對(duì)目標(biāo)文件的共享請(qǐng)求后,可根據(jù)共享請(qǐng)求中攜帶的標(biāo)示名稱查找出對(duì)應(yīng)的服務(wù)通道。

優(yōu)選地,如圖3所示,移動(dòng)終端中除了包括上述第一接收單元201、通道注冊(cè)單元202、第二接收單元203、關(guān)聯(lián)共享單元204,還可以包括:安全校驗(yàn)單元205。

本發(fā)明實(shí)施例中,通道注冊(cè)單元202為第一文件描述符注冊(cè)對(duì)應(yīng)的服務(wù)通道之后,在服務(wù)通道中還可以記錄目標(biāo)文件的安全校驗(yàn)信息。其中,安全校驗(yàn)信息可以包括如下至少一項(xiàng):文件權(quán)限、允許訪問(wèn)的用戶UID、允許最大訪問(wèn)數(shù)量。

這樣,安全校驗(yàn)單元205在第二接收單元203查找出共享請(qǐng)求對(duì)應(yīng)的服務(wù)通道后,可利用服務(wù)通道中記錄的安全校驗(yàn)信息,對(duì)第二進(jìn)程進(jìn)行校驗(yàn)。

相應(yīng)地,關(guān)聯(lián)共享單元204可以在第二進(jìn)程通過(guò)安全校驗(yàn)單元的校驗(yàn)后,將第二進(jìn)程未使用的第二文件描述符與服務(wù)通道中記錄的file結(jié)構(gòu)體進(jìn)行關(guān)聯(lián)。

本發(fā)明實(shí)施例中,移動(dòng)終端中的各個(gè)單元的具體功能實(shí)現(xiàn)可以參考上述移動(dòng)終端中文件共享方法中的各步驟的具體實(shí)現(xiàn),在此不再贅述。

本發(fā)明的技術(shù)方案中,將第一進(jìn)程打開的目標(biāo)文件的file結(jié)構(gòu)體與第二進(jìn)程未使用的第二文件描述符進(jìn)行關(guān)聯(lián),使得第一進(jìn)程打開目標(biāo)文件時(shí)所獲得的第一文件描述符與第二文件描述符共同指向目標(biāo)文件。這樣,第一進(jìn)程與第二進(jìn)程可以利用各自的文件描述符訪問(wèn)目標(biāo)文件,實(shí)現(xiàn)目標(biāo)文件的共享。

相比現(xiàn)有采用為共享文件統(tǒng)一分區(qū)來(lái)實(shí)現(xiàn)容器間文件共享的方案,本發(fā)明的方案無(wú)需為共享文件統(tǒng)一分區(qū),避免打破容器間的獨(dú)立性,在實(shí)現(xiàn)移動(dòng)終端中不同容器的進(jìn)程之間的文件共享的同時(shí),可保障移動(dòng)終端容器的充分隔離,提高了容器安全性。

本申請(qǐng)使用的“模塊”、“系統(tǒng)”等術(shù)語(yǔ)旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于:處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例來(lái)說(shuō),計(jì)算設(shè)備上運(yùn)行的應(yīng)用程序和此計(jì)算設(shè)備都可以是模塊。一個(gè)或多個(gè)模塊可以位于執(zhí)行中的一個(gè)進(jìn)程和/或線程內(nèi),一個(gè)模塊也可以位于一臺(tái)計(jì)算機(jī)上和/或分布于兩臺(tái)或更多臺(tái)計(jì)算機(jī)之間。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請(qǐng)中所述操作中的一項(xiàng)或多項(xiàng)的設(shè)備。這些設(shè)備可以為所需的目的而專門設(shè)計(jì)和制造,或者也可以包括通用計(jì)算機(jī)中的已知設(shè)備。這些設(shè)備具有存儲(chǔ)在其內(nèi)的計(jì)算機(jī)程序,這些計(jì)算機(jī)程序選擇性地激活或重構(gòu)。這樣的計(jì)算機(jī)程序可以被存儲(chǔ)在設(shè)備(例如,計(jì)算機(jī))可讀介質(zhì)中或者存儲(chǔ)在適于存儲(chǔ)電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、CD-ROM、和磁光盤)、ROM(Read-Only Memory,只讀存儲(chǔ)器)、RAM(Random Access Memory,隨即存儲(chǔ)器)、EPROM(Erasable Programmable Read-Only Memory,可擦寫可編程只讀存儲(chǔ)器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計(jì)算機(jī))以能夠讀的形式存儲(chǔ)或傳輸信息的任何介質(zhì)。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來(lái)實(shí)現(xiàn),從而通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來(lái)執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過(guò)的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過(guò)的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。

以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1