欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法及客戶端的制作方法

文檔序號(hào):10552773閱讀:326來源:國(guó)知局
一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法及客戶端的制作方法
【專利摘要】本發(fā)明涉及信息技術(shù)領(lǐng)域,公開了一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法及實(shí)施該方法的客戶端。該方法包括:第一進(jìn)程向一緩存區(qū)域存放信令,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程的,在所述信令是針對(duì)該進(jìn)程的情況下,執(zhí)行該信令所指示的操作,否則丟棄該信令。通過上述技術(shù)方案,由于進(jìn)程間的通信是在緩存內(nèi)進(jìn)行的,因此信息的傳輸速度較快,且該信息難以在被黑客截獲,安全性較高。
【專利說明】
一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法及客戶端
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息技術(shù),具體地,涉及一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法及實(shí)施該方法的客戶端。
【背景技術(shù)】
[0002]進(jìn)程間通信(IPC,Inter Process communicat1n)是一組編程接口,讓程序員能夠協(xié)調(diào)不同的程序進(jìn)程,使之能在一個(gè)操作系統(tǒng)里同時(shí)運(yùn)行。這使得一個(gè)程序能夠在同一時(shí)間里處理許多用戶的要求。因?yàn)榧词怪挥幸粋€(gè)用戶發(fā)出要求,也可能導(dǎo)致一個(gè)操作系統(tǒng)中多個(gè)進(jìn)程的運(yùn)行,進(jìn)程之間必須互相通話。
[0003]目前常用的進(jìn)程間通信方式主要為套接字(SOCKET)通信方式或通過注冊(cè)表或本地文件作為交換介質(zhì)來實(shí)現(xiàn),然而這些方式存在消息傳輸速度以及靈活性方面的問題。另夕卜,傳統(tǒng)的SOCKET是通過端口進(jìn)行通信的,目前的黑客技術(shù)大多是通過該端口來竊取信息,因此該通信方式還存在安全性較低的缺陷。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的是提供一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法及實(shí)施該方法的客戶端,其具有進(jìn)程間通信速度快、安全的優(yōu)點(diǎn)。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法,該方法包括:第一進(jìn)程向一緩存區(qū)域存放信令,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程的,在所述信令是針對(duì)該進(jìn)程的情況下,執(zhí)行該信令所指示的操作,否則丟棄該信令。
[0006]其中,所述第一進(jìn)程可將所述事件廣播至所述所有其他進(jìn)程中與該事件相關(guān)聯(lián)的進(jìn)程。
[0007]其中,所述方法還可包括:所述進(jìn)程在執(zhí)行完所述信令所指示的操作之后,生成以反饋信令,將該反饋信令存入所述緩存區(qū)域,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述反饋信令,并判斷該反饋信令是否是針對(duì)該進(jìn)程的,在所述反饋信令不是針對(duì)該進(jìn)程的情況下,丟棄該反饋信令。
[0008]其中,所述方法還可包括:在一進(jìn)程對(duì)所述緩存區(qū)域進(jìn)行操作之前,讀取該緩存區(qū)域的狀態(tài);在該緩存區(qū)域處于非鎖定狀態(tài)的情況下,將該緩存區(qū)域的狀態(tài)置為鎖定狀態(tài),之后對(duì)該緩存區(qū)域進(jìn)行所述操作;在所述緩存區(qū)域處于鎖定狀態(tài)的情況下,進(jìn)行等待,直至所述緩存區(qū)域處于非鎖定狀態(tài)。
[0009]其中,所有其他進(jìn)程中的每一進(jìn)程基于所述信令的信令格式來判斷該信令是否是針對(duì)該進(jìn)程的。
[0010]相應(yīng)地,本發(fā)明還提供了一種客戶端,該客戶端包括:緩存;以及處理器,該處理器同時(shí)執(zhí)行多個(gè)進(jìn)程,且用于:第一進(jìn)程向所述緩存的一緩存區(qū)域存放信令,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程的,在所述信令是針對(duì)該進(jìn)程的情況下,執(zhí)行該信令所指示的操作,否則丟棄該信令。
[0011]其中,所述第一進(jìn)程可將所述事件廣播至所述所有其他進(jìn)程中與該事件相關(guān)聯(lián)的進(jìn)程。
[0012]其中,所述處理器還用于:所述進(jìn)程在執(zhí)行完所述信令所指示的操作之后,生成以反饋信令,將該反饋信令存入所述緩存區(qū)域,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述反饋信令,并判斷該反饋信令是否是針對(duì)該進(jìn)程的,在所述反饋信令不是針對(duì)該進(jìn)程的情況下,丟棄該反饋信令。
[0013]其中,所述處理器還用于:在一進(jìn)程對(duì)所述緩存區(qū)域進(jìn)行操作之前,讀取該緩存區(qū)域的狀態(tài);在該緩存區(qū)域處于非鎖定狀態(tài)的情況下,將該緩存區(qū)域的狀態(tài)置為鎖定狀態(tài),之后對(duì)該緩存區(qū)域進(jìn)行所述操作;在所述緩存區(qū)域處于鎖定狀態(tài)的情況下,進(jìn)行等待,直至所述緩存區(qū)域處于非鎖定狀態(tài)。
[0014]其中,所有其他進(jìn)程中的每一進(jìn)程基于所述信令的信令格式來判斷該信令是否是針對(duì)該進(jìn)程的。
[0015]通過上述技術(shù)方案,由于進(jìn)程間的通信是在緩存內(nèi)進(jìn)行的,因此信息的傳輸速度較快,且該信息難以在被黑客截獲,安全性較高。
[0016]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的【具體實(shí)施方式】部分予以詳細(xì)說明。
【附圖說明】
[0017]附圖是用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的【具體實(shí)施方式】一起用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0018]圖1為本發(fā)明提供的進(jìn)程間通信方法的流程圖;以及
[0019]圖2為本發(fā)明提供的客戶端的結(jié)構(gòu)示意圖。
[0020]附圖標(biāo)記說明
[0021]100緩存 200處理器
【具體實(shí)施方式】
[0022]以下結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的【具體實(shí)施方式】?jī)H用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
[0023]本發(fā)明提供了一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法,該方法包括:第一進(jìn)程向一緩存區(qū)域存放信令,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程的,在所述信令是針對(duì)該進(jìn)程的情況下,執(zhí)行該信令所指示的操作,否則丟棄該信令。
[0024]圖1為本發(fā)明提供的進(jìn)程間通信方法的流程圖。如圖1所示,進(jìn)程Pl可發(fā)送信令至進(jìn)程P2,具體過程如下:進(jìn)程Pl將信令存放至緩存內(nèi)的緩存區(qū)域,同時(shí)廣播事件(該事件可為任何進(jìn)程可廣播且可接收的事件)至所有其他進(jìn)程(諸如,進(jìn)程P2?Pn,其中η為大于或等于3的整數(shù))。進(jìn)程Ρ2接收到所述事件之后,可從所述緩存區(qū)域內(nèi)讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程Ρ2的。例如,進(jìn)程Ρ2其可判斷所述信令的信令格式,該信令的格式信息內(nèi)含有“目的地址”為“P2”的信息(例如,from Pl to P2),則可認(rèn)為該信令是針對(duì)進(jìn)程P2的。對(duì)于其他進(jìn)程P3?Pn,其也會(huì)接收所述事件,并在之后讀取所述緩存區(qū)域內(nèi)的信令,然后判斷該信令是否是針對(duì)各自的進(jìn)程的,在不是針對(duì)該各自的進(jìn)程的情況下,進(jìn)程P3?Pn可丟棄所述信令。在進(jìn)程P2確定所述信令是針對(duì)該進(jìn)程P2的之后,該進(jìn)程P2可執(zhí)行所述信令(即,按照所述信令的要求來進(jìn)行操作,比如說執(zhí)行初始化、終止、顯示等等操作)。在進(jìn)程P2執(zhí)行信令完畢之后,該進(jìn)程P2還可發(fā)送反饋信令至所述進(jìn)程Pl。該反饋信息可是握手信息、指示所述進(jìn)程Pl進(jìn)行下一步的一些操作、亦可僅僅告知進(jìn)程Pl其所發(fā)送的信令已執(zhí)行完畢。該反饋信令的發(fā)送方式與上述進(jìn)程Pl向進(jìn)程P2發(fā)送信令的方式相同,均是通過將反饋信令存入緩存區(qū)域、廣播事件以觸發(fā)進(jìn)程Pl從所述緩存區(qū)域讀取所述反饋信令,當(dāng)然該過程中其他進(jìn)程P3?Pn也會(huì)收到所述事件并對(duì)所述緩存區(qū)域內(nèi)的信令進(jìn)行讀取,只是在發(fā)現(xiàn)該信令并非針對(duì)進(jìn)程P3?Pn的情況下對(duì)其進(jìn)行丟棄。進(jìn)程Pl讀取完所述反饋信令,并判斷該反饋信令是針對(duì)該進(jìn)程Pl之后,可執(zhí)行該反饋信令所指示的操作。
[0025]優(yōu)選地,所述事件可為某些特定的事件,進(jìn)程Pl可將所述事件廣播至所述所有其他進(jìn)程中與該事件相關(guān)聯(lián)的進(jìn)程。這樣可減少事件的廣播范圍,提高廣播的效率。
[0026]為避免不同進(jìn)程對(duì)緩存區(qū)域進(jìn)行存取操作時(shí)的混亂,優(yōu)選地,所述緩存區(qū)域設(shè)置有一鎖定狀態(tài)指示符,以指示該緩存區(qū)域是否處于鎖定狀態(tài)還是處于非鎖定狀態(tài)。在一進(jìn)程對(duì)所述緩存區(qū)域進(jìn)行操作之前,首先會(huì)讀取該鎖定狀態(tài)指示符;在該鎖定狀態(tài)指示符指示緩存區(qū)域處于非鎖定狀態(tài)的情況下,將該緩存區(qū)域的狀態(tài)置為鎖定狀態(tài),之后對(duì)該緩存區(qū)域進(jìn)行所述操作,從而防止該進(jìn)程對(duì)所述緩存區(qū)域進(jìn)程進(jìn)行存取期間其他進(jìn)程也對(duì)該緩存區(qū)域進(jìn)行存取;在所述鎖定狀態(tài)指示符指示所述緩存區(qū)域處于鎖定狀態(tài)的情況下,該進(jìn)程進(jìn)行等待,直至所述鎖定狀態(tài)指示符指示緩存區(qū)域處于非鎖定狀態(tài)。
[0027]上述對(duì)事件的產(chǎn)生、廣播等操作,可利用windows系統(tǒng)內(nèi)的CreateEvent、WaitForSingleOb ject、ResetEvent等事件控制相關(guān)技術(shù)。對(duì)于在計(jì)算機(jī)的內(nèi)存內(nèi)開辟可供多進(jìn)程存取的緩存區(qū)域,可米用OpenFi IeMapp ing、CreateFi IeMapp ing、MapViewOf File、UnmapVi ewOfFi I e等內(nèi)存映射操作相關(guān)技術(shù)。對(duì)于緩存區(qū)域的鎖定與解鎖,可采用CreateMutex ,WaitForSingleObject ,ReleaseMutex等相關(guān)臨界區(qū)加鎖技術(shù)。另外,對(duì)于信令的格式及所具體指示的操作,可使用XMPP協(xié)議的to,from,cmd等信令。
[0028]圖2為本發(fā)明提供的客戶端的結(jié)構(gòu)示意圖。如圖2所示,相應(yīng)地,本發(fā)明還提供了一種客戶端,該客戶端包括:緩存100;以及處理器200,該處理器200同時(shí)執(zhí)行多個(gè)進(jìn)程,且用于:第一進(jìn)程向所述緩存的一緩存區(qū)域存放信令,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程的,在所述信令是針對(duì)該進(jìn)程的情況下,執(zhí)行該信令所指示的操作,否則丟棄該信令。藉此,由于進(jìn)程間的通信是在緩存內(nèi)進(jìn)行的,因此信息的傳輸速度較快,且該信息難以在被黑客截獲,安全性較高。
[0029]為減少事件的廣播范圍,提高廣播的效率,優(yōu)選地,所述事件可為某些特定的事件,所述第一進(jìn)程可將所述事件廣播至所述所有其他進(jìn)程中與該事件相關(guān)聯(lián)的進(jìn)程。
[0030]所述處理器還可用于:所述進(jìn)程在執(zhí)行完所述信令所指示的操作之后,生成以反饋信令,將該反饋信令存入所述緩存區(qū)域,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述反饋信令,并判斷該反饋信令是否是針對(duì)該進(jìn)程的,在所述反饋信令不是針對(duì)該進(jìn)程的情況下,丟棄該反饋信令。
[0031]為避免不同進(jìn)程對(duì)緩存區(qū)域進(jìn)行存取操作時(shí)的混亂,優(yōu)選地,所述緩存區(qū)域可設(shè)置有一鎖定狀態(tài)指示符,以指示該緩存區(qū)域是否處于鎖定狀態(tài)還是處于非鎖定狀態(tài)。所述處理器還用于:在一進(jìn)程對(duì)所述緩存區(qū)域進(jìn)行操作之前,讀取該緩存區(qū)域的狀態(tài);在該緩存區(qū)域處于非鎖定狀態(tài)的情況下,將該緩存區(qū)域的狀態(tài)置為鎖定狀態(tài),之后對(duì)該緩存區(qū)域進(jìn)行所述操作;在所述緩存區(qū)域處于鎖定狀態(tài)的情況下,進(jìn)行等待,直至所述緩存區(qū)域處于非鎖定狀態(tài)。
[0032]其中,所有其他進(jìn)程中的每一進(jìn)程基于所述信令的信令格式來判斷該信令是否是針對(duì)該進(jìn)程的。例如,進(jìn)程P2其可判斷所述信令的信令格式,該信令的格式信息內(nèi)含有“目的地址”為“P2”的信息(例如,from Pl to P2),則可認(rèn)為該信令是針對(duì)進(jìn)程P2的,否則可丟棄所述信令。
[0033]有關(guān)所述處理器所執(zhí)行的操作的具體細(xì)節(jié)及益處,可參閱上述針對(duì)多個(gè)進(jìn)程之間進(jìn)行通信方法的描述,于此不再贅述。本發(fā)明的客戶端可包括但不限于裝有windows系統(tǒng)的PC、手機(jī)、平板電腦等。
[0034]通過上述技術(shù)方案,由于進(jìn)程間的通信是在緩存內(nèi)進(jìn)行的,因此信息的傳輸速度較快,且該信息難以在被黑客截獲,安全性較高。
[0035]以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本發(fā)明的保護(hù)范圍。
[0036]另外需要說明的是,在上述【具體實(shí)施方式】中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進(jìn)行組合。為了避免不必要的重復(fù),本發(fā)明對(duì)各種可能的組合方式不再另行說明。
[0037]此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。
【主權(quán)項(xiàng)】
1.一種用于多個(gè)進(jìn)程之間進(jìn)行通信方法,其特征在于,該方法包括: 第一進(jìn)程向一緩存區(qū)域存放信令,并廣播事件至所有其他進(jìn)程;以及 所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程的,在所述信令是針對(duì)該進(jìn)程的情況下,執(zhí)行該信令所指示的操作,否則丟棄該信令。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一進(jìn)程將所述事件廣播至所述所有其他進(jìn)程中與該事件相關(guān)聯(lián)的進(jìn)程。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括: 所述進(jìn)程在執(zhí)行完所述信令所指示的操作之后,生成以反饋信令,將該反饋信令存入所述緩存區(qū)域,并廣播事件至所有其他進(jìn)程;以及 所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述反饋信令,并判斷該反饋信令是否是針對(duì)該進(jìn)程的,在所述反饋信令不是針對(duì)該進(jìn)程的情況下,丟棄該反饋信令。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在一進(jìn)程對(duì)所述緩存區(qū)域進(jìn)行操作之前,讀取該緩存區(qū)域的狀態(tài); 在該緩存區(qū)域處于非鎖定狀態(tài)的情況下,將該緩存區(qū)域的狀態(tài)置為鎖定狀態(tài),之后對(duì)該緩存區(qū)域進(jìn)行所述操作;在所述緩存區(qū)域處于鎖定狀態(tài)的情況下,進(jìn)行等待,直至所述緩存區(qū)域處于非鎖定狀態(tài)。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所有其他進(jìn)程中的每一進(jìn)程基于所述信令的信令格式來判斷該信令是否是針對(duì)該進(jìn)程的。6.一種客戶端,其特征在于,該客戶端包括: 緩存;以及 處理器,該處理器同時(shí)執(zhí)行多個(gè)進(jìn)程,用于: 第一進(jìn)程向所述緩存的一緩存區(qū)域存放信令,并廣播事件至所有其他進(jìn)程;以及所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述信令,并判斷該信令是否是針對(duì)該進(jìn)程的,在所述信令是針對(duì)該進(jìn)程的情況下,執(zhí)行該信令所指示的操作,否則丟棄該信令。7.根據(jù)權(quán)利要求6所述的客戶端,其特征在于,所述第一進(jìn)程將所述事件廣播至所述所有其他進(jìn)程中與該事件相關(guān)聯(lián)的進(jìn)程。8.根據(jù)權(quán)利要求6所述的客戶端,其特征在于,所述處理器還用于: 所述進(jìn)程在執(zhí)行完所述信令所指示的操作之后,生成以反饋信令,將該反饋信令存入所述緩存區(qū)域,并廣播事件至所有其他進(jìn)程;以及 所有其他進(jìn)程中的每一進(jìn)程在接收到所述事件之后,從所述緩存區(qū)域讀取所述反饋信令,并判斷該反饋信令是否是針對(duì)該進(jìn)程的,在所述反饋信令不是針對(duì)該進(jìn)程的情況下,丟棄該反饋信令。9.根據(jù)權(quán)利要求6所述的客戶端,其特征在于,所述處理器還用于: 在一進(jìn)程對(duì)所述緩存區(qū)域進(jìn)行操作之前,讀取該緩存區(qū)域的狀態(tài); 在該緩存區(qū)域處于非鎖定狀態(tài)的情況下,將該緩存區(qū)域的狀態(tài)置為鎖定狀態(tài),之后對(duì)該緩存區(qū)域進(jìn)行所述操作;在所述緩存區(qū)域處于鎖定狀態(tài)的情況下,進(jìn)行等待,直至所述緩存區(qū)域處于非鎖定狀態(tài)。10.根據(jù)權(quán)利要求6所述的客戶端,其特征在于,所有其他進(jìn)程中的每一進(jìn)程基于所述信令的信令格式來判斷該信令是否是針對(duì)該進(jìn)程的。
【文檔編號(hào)】G06F9/54GK105912410SQ201510930822
【公開日】2016年8月31日
【申請(qǐng)日】2015年12月15日
【發(fā)明人】韋贊別
【申請(qǐng)人】樂視網(wǎng)信息技術(shù)(北京)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
张家港市| 淳安县| 济南市| 安阳市| 松滋市| 香港| 鹿邑县| 安阳市| 临江市| 三河市| 江达县| 兰溪市| 扶绥县| 闻喜县| 广水市| 荔波县| 安义县| 钟祥市| 黄梅县| 安仁县| 长岭县| 清涧县| 庆阳市| 岗巴县| 平远县| 宁夏| 邹平县| 台前县| 丹东市| 洛南县| 介休市| 图们市| 芒康县| 台北市| 仙游县| 如东县| 开鲁县| 杂多县| 广安市| 东宁县| 博爱县|