專利名稱:在線應(yīng)用平臺(tái)上應(yīng)用間的應(yīng)答通信方法和在線應(yīng)用平臺(tái)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在線應(yīng)用平臺(tái),尤其涉及在線應(yīng)用平臺(tái)上應(yīng)用間的應(yīng)答通信方法和在線應(yīng)用平臺(tái)。
背景技術(shù):
在線應(yīng)用平臺(tái)上各應(yīng)用間通信時(shí)需要解決各應(yīng)用間的訪問控制問題以及各應(yīng)用間調(diào)用服務(wù)時(shí)的應(yīng)答通信問題。傳統(tǒng)的應(yīng)用間通信時(shí)的訪問控制技術(shù)有以下幾種方案I :基于用戶名和密碼機(jī)制 當(dāng)某應(yīng)用需要代表用戶使用另ー應(yīng)用提供的服務(wù)時(shí),要求用戶提供其在目標(biāo)應(yīng)用的用戶名及密碼,把用戶名和密碼作為請(qǐng)求的一部分投遞到目標(biāo)應(yīng)用。目標(biāo)應(yīng)用驗(yàn)證用戶名及密碼,以決定是否提供服務(wù)給調(diào)用方。方案2 :基于OAUTH機(jī)制當(dāng)某應(yīng)用需要代表用戶使用另ー應(yīng)用提供的服務(wù)時(shí),首先會(huì)跳轉(zhuǎn)到目標(biāo)應(yīng)用網(wǎng)站,用戶在目標(biāo)應(yīng)用網(wǎng)站輸入用戶名及密碼,目標(biāo)網(wǎng)站驗(yàn)證通過后,會(huì)列舉出本次請(qǐng)求訪問的API信息,用戶確認(rèn)后,目標(biāo)網(wǎng)站生成TOKEN并跳轉(zhuǎn)回調(diào)用方網(wǎng)站。調(diào)用方下次使用TOKEN直接訪問有權(quán)限的服務(wù)。上述方案I會(huì)直接泄露其它應(yīng)用的用戶名和密碼,存在極大的安全隱患。方案2要求瀏覽器的多次跳轉(zhuǎn),用戶體驗(yàn)極差,而且處理不了同時(shí)調(diào)用多個(gè)不同應(yīng)用API的需求。傳統(tǒng)的應(yīng)答通信機(jī)制主要有以下實(shí)現(xiàn)方法第一種對(duì)于一般的結(jié)構(gòu)化語言,可以通過回調(diào)函數(shù)來實(shí)現(xiàn)回調(diào)?;卣{(diào)函數(shù)由調(diào)用方自己實(shí)現(xiàn),供被調(diào)用方使用。第二種在面向?qū)ο蟮恼Z言中,回調(diào)機(jī)制則是通過接ロ或抽象類來實(shí)現(xiàn)的,我們把實(shí)現(xiàn)這種接ロ的類稱為回調(diào)類,回調(diào)類的對(duì)象稱為回調(diào)對(duì)象。第三種對(duì)于分布式組件代理體系C0RBA,異步處理有多種方式,如回調(diào)、事件服務(wù)、通知服務(wù)等。事件服務(wù)和通知服務(wù)是CORBA用來處理異步消息的標(biāo)準(zhǔn)服務(wù),他們主要負(fù)責(zé)消息的處理、派發(fā)、維護(hù)等工作。對(duì)ー些簡(jiǎn)單的異步處理過程,我們可以通過回調(diào)機(jī)制來實(shí)現(xiàn)。前兩種方法都只是本地進(jìn)程內(nèi)部的回調(diào),所有操作均依賴于本地進(jìn)程通信,無法應(yīng)用于在線應(yīng)用平臺(tái)。第三種方式CORBA依賴于相互之間使用SOCKET技術(shù)通信,這在WEB環(huán)境中無法提供,另外CORBA非常笨重,無法應(yīng)用于簡(jiǎn)潔的在線環(huán)境。僅適用于有線應(yīng)用服務(wù)器間通信和協(xié)作,而且也只能用于內(nèi)部環(huán)境,不具備公開性。對(duì)于復(fù)雜的網(wǎng)絡(luò)環(huán)境,由于異步處理過程將處理結(jié)果返回時(shí)會(huì)導(dǎo)致調(diào)用前的上下文受到干擾和破壞,因此調(diào)用方必須對(duì)返回的處理結(jié)果進(jìn)行分析,因此無法保證通信的完整性和高效性
發(fā)明內(nèi)容
本發(fā)明提供一種在線應(yīng)用平臺(tái)上應(yīng)用間的應(yīng)答通信方法和在線應(yīng)用平臺(tái),能夠安全便捷的對(duì)線應(yīng)用平臺(tái)上的應(yīng)用進(jìn)行訪問控制,且適用于復(fù)雜的在線應(yīng)答環(huán)境。本發(fā)明的在線應(yīng)用平臺(tái)上應(yīng)用間的應(yīng)答通信方法,包括步驟當(dāng)在線應(yīng)用平臺(tái)的客戶端啟動(dòng)應(yīng)用時(shí),按照預(yù)定的通信協(xié)議創(chuàng)建應(yīng)用進(jìn)程;并記錄所述應(yīng)用可處理的消息類型;所述應(yīng)用進(jìn)程為所述應(yīng)用在所述客戶端運(yùn)行時(shí)的存在形態(tài),包括應(yīng)用進(jìn)程ID、應(yīng)用名稱、上下文空間、消息隊(duì)列、可執(zhí)行程序路徑;所述消息隊(duì)列為在線應(yīng)用平臺(tái)與所述應(yīng)用進(jìn)程進(jìn)行通信的載體;當(dāng)請(qǐng)求方應(yīng)用對(duì)應(yīng)答方應(yīng)用進(jìn)行訪問時(shí),在線應(yīng)用平臺(tái)的客戶端接收請(qǐng)求方應(yīng)用的訪問請(qǐng)求,進(jìn)行是否授權(quán)的處理,并生成授權(quán)結(jié)果信息返回所述請(qǐng)求方應(yīng)用;所述授權(quán)結(jié)果信息包括允許訪問信息和拒絕訪問信息,如果所述請(qǐng)求方應(yīng)用收到所述允許訪問信息,則按照下述步驟與所述應(yīng)答方應(yīng)用進(jìn)行應(yīng)答通信當(dāng)請(qǐng)求方應(yīng)用調(diào)用應(yīng)答方應(yīng)用的服務(wù)時(shí),請(qǐng)求方應(yīng)用將回調(diào)函數(shù)按照預(yù)定規(guī)則轉(zhuǎn) 換為字符串,并構(gòu)造服務(wù)調(diào)用消息,所述服務(wù)調(diào)用消息包括根據(jù)預(yù)定通信協(xié)議定義的應(yīng)用名稱、消息類型、消息體;所述消息類型用于承載所述應(yīng)答方應(yīng)用的服務(wù)的處理邏輯,所述消息體用于承載回調(diào)函數(shù)ID,所述回調(diào)函數(shù)ID為回調(diào)函數(shù)所轉(zhuǎn)換的字符串,所述回調(diào)函數(shù)用于承載所述請(qǐng)求方應(yīng)用所對(duì)應(yīng)的上下文環(huán)境;所述請(qǐng)求方將所述服務(wù)調(diào)用消息發(fā)送至所述應(yīng)答方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中;所述應(yīng)答方應(yīng)用的應(yīng)用進(jìn)程監(jiān)控消息隊(duì)列中的服務(wù)調(diào)用消息,根據(jù)所述預(yù)定規(guī)則識(shí)別出所述回調(diào)函數(shù)ID;根據(jù)所述消息類型執(zhí)行所述服務(wù),生成所述服務(wù)的執(zhí)行結(jié)果;利用所述服務(wù)的執(zhí)行結(jié)果及所述回調(diào)函數(shù)ID構(gòu)造應(yīng)答消息,并發(fā)送至所述請(qǐng)求方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中;所述請(qǐng)求方應(yīng)用的應(yīng)用進(jìn)程監(jiān)控消息隊(duì)列中的應(yīng)答消息,根據(jù)所述預(yù)定規(guī)則識(shí)別出所述回調(diào)函數(shù)ID,調(diào)用所述回調(diào)函數(shù)ID對(duì)應(yīng)的回調(diào)函數(shù)處理所述服務(wù)的執(zhí)行結(jié)果。本發(fā)明的在線應(yīng)用平臺(tái),包括多個(gè)應(yīng)用和應(yīng)用進(jìn)程管理器,所述應(yīng)用進(jìn)程管理器位于在線應(yīng)用平臺(tái)的客戶端,包括進(jìn)程創(chuàng)建接ロ,用于根據(jù)應(yīng)用名稱按照預(yù)定的通信協(xié)議創(chuàng)建應(yīng)用進(jìn)程,所述應(yīng)用進(jìn)程為所述應(yīng)用在所述客戶端運(yùn)行時(shí)的存在形態(tài),包括應(yīng)用進(jìn)程ID、應(yīng)用名稱、上下文空間、消息隊(duì)列、可執(zhí)行程序路徑;所述消息隊(duì)列為在線應(yīng)用平臺(tái)與所述應(yīng)用進(jìn)程進(jìn)行通信的載體,所述應(yīng)用進(jìn)程監(jiān)控所述消息隊(duì)列中的消息,并進(jìn)行處理;發(fā)送進(jìn)程消息接ロ,用于接收和發(fā)送消息,所述消息包括應(yīng)用名稱、消息類型、消息體;將所述消息投遞至應(yīng)答方或請(qǐng)求方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中,所述接收和發(fā)送的消息包括訪問請(qǐng)求、授權(quán)結(jié)果信息、服務(wù)調(diào)用消息和應(yīng)答消息;訪問控制裝置,用于對(duì)所述訪問請(qǐng)求進(jìn)行是否授權(quán)的處理,生成授權(quán)結(jié)果信息,所述授權(quán)結(jié)果信息包括允許訪問信息和拒絕訪問信息;所述應(yīng)用包括轉(zhuǎn)換裝置,用于將回調(diào)函數(shù)根據(jù)預(yù)定規(guī)則轉(zhuǎn)換為字符串;構(gòu)造消息裝置,用于當(dāng)所述應(yīng)用作為請(qǐng)求方調(diào)用其他應(yīng)用的服務(wù)時(shí),構(gòu)造服務(wù)調(diào)用消息;所述消息類型用于承載所述應(yīng)答方應(yīng)用的服務(wù)的處理邏輯,所述消息體用于承載回調(diào)函數(shù)ID,所述回調(diào)函數(shù)ID為回調(diào)函數(shù)所轉(zhuǎn)換的字符串,所述回調(diào)函數(shù)用于承載所述請(qǐng)求方所對(duì)應(yīng)的上下文環(huán)境;當(dāng)所述應(yīng)用作為應(yīng)答方時(shí),利用所述服務(wù)的執(zhí)行結(jié)果及所述回調(diào)函數(shù)ID構(gòu)造應(yīng)答消息;識(shí)別裝置,用于根據(jù)預(yù)定規(guī)則從收到的服務(wù)調(diào)用消息或應(yīng)答消息中識(shí)別出所述回調(diào)函數(shù)ID ;服務(wù)邏輯處理裝置,用于當(dāng)作為應(yīng)答方時(shí),根據(jù)所述消息類型執(zhí)行所述服務(wù),生成所述服務(wù)的執(zhí)行結(jié)果;當(dāng)作為請(qǐng)求方時(shí),調(diào)用所述回調(diào)函數(shù)ID對(duì)應(yīng)的回調(diào)函數(shù)處理所述服務(wù)的執(zhí)行結(jié)果。由于本發(fā)明通過在線應(yīng)用平臺(tái)對(duì)應(yīng)用的訪問控制進(jìn)行統(tǒng)ー處理,使用本發(fā)明時(shí)用戶名和密碼不會(huì)多次輸入,因此根本上避免了泄露問題;進(jìn)行訪問控制的過程中不需要進(jìn)行瀏覽器的跳轉(zhuǎn);可支持同時(shí)調(diào)用多個(gè)應(yīng)用的API ;應(yīng)用提供方和調(diào)用方均無須提供額外功能以支持方案的訪問控制。同時(shí),本發(fā)明基于在線應(yīng)用進(jìn)程及應(yīng)用進(jìn)程間通信,使用本方 案,調(diào)用方可以使用回調(diào)函數(shù)接收被調(diào)用方送回的結(jié)果,實(shí)現(xiàn)應(yīng)答式通信的效果,而回調(diào)函數(shù)可以表示上下文環(huán)境,從而可以保證在結(jié)果回來之時(shí),調(diào)用前的上下文不受干擾和破壞,從而保證了通信的完整性和高效性,從而適用于復(fù)雜的在線應(yīng)用平臺(tái)的應(yīng)答通信;屏蔽了通信細(xì)節(jié),避免了由于重構(gòu)上下文需求而傳遞過量的信息到被調(diào)用方而導(dǎo)致的信息泄露,令到調(diào)用更加安全可靠;服務(wù)提供方接ロ更加簡(jiǎn)單清晰,甚至不用區(qū)分請(qǐng)求者是來自遠(yuǎn)程或者本地上下文。
圖I為在線應(yīng)用平臺(tái)上應(yīng)用間的應(yīng)答通信方法的流程圖;圖2為在線應(yīng)用平臺(tái)的原理框圖。
具體實(shí)施例方式本申請(qǐng)人在申請(qǐng)?zhí)枮樯暾?qǐng)?zhí)枮?01210094195. 1,發(fā)明名稱為《在線應(yīng)用平臺(tái)的進(jìn)程通信方法、客戶端、應(yīng)用進(jìn)程管理器》的專利申請(qǐng)中公開了ー種基于應(yīng)用進(jìn)程實(shí)現(xiàn)在線應(yīng)用平臺(tái)上應(yīng)用間通信的技木。本發(fā)明在該專利申請(qǐng)的基礎(chǔ)上進(jìn)一歩的改進(jìn),對(duì)應(yīng)用間的訪問控制提出了解決方案,同時(shí),針對(duì)已授權(quán)的應(yīng)用間進(jìn)行通信時(shí)需等待返回結(jié)果的應(yīng)用場(chǎng)景,以及需要同時(shí)調(diào)用多方應(yīng)用時(shí)處理議程造成的繁瑣效率低下的問題,吸收傳統(tǒng)回調(diào)機(jī)制的特點(diǎn)和優(yōu)勢(shì),提出了一種應(yīng)用間通過回調(diào)機(jī)制高效通信的方法。如圖I所示,本發(fā)明提供的在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法,首先需要根據(jù)申請(qǐng)?zhí)枮?01210094195. I的專利申請(qǐng)?zhí)峁┑耐緩浇⑻摂M進(jìn)程,以便通過應(yīng)用進(jìn)程實(shí)現(xiàn)應(yīng)用之間的通信當(dāng)在線應(yīng)用平臺(tái)的客戶端啟動(dòng)應(yīng)用時(shí),按照預(yù)定的通信協(xié)議創(chuàng)建應(yīng)用進(jìn)程;并記錄所述應(yīng)用可處理的消息類型(S100);所述應(yīng)用進(jìn)程為所述應(yīng)用在所述客戶端運(yùn)行時(shí)的存在形態(tài),包括應(yīng)用進(jìn)程ID、應(yīng)用名稱、上下文空間、消息隊(duì)列、可執(zhí)行程序路徑;所述消息隊(duì)列為在線應(yīng)用平臺(tái)與所述應(yīng)用進(jìn)程進(jìn)行通信的載體;當(dāng)請(qǐng)求方應(yīng)用對(duì)應(yīng)答方應(yīng)用進(jìn)行訪問時(shí),在線應(yīng)用平臺(tái)的客戶端接收請(qǐng)求方應(yīng)用的訪問請(qǐng)求,進(jìn)行是否授權(quán)的處理(SlOl),并生成授權(quán)結(jié)果信息返回所述請(qǐng)求方應(yīng)用(S102);所述授權(quán)結(jié)果信息包括允許訪問信息和拒絕訪問信息。作為ー個(gè)實(shí)施例,可以預(yù)先協(xié)商好可以授權(quán)的應(yīng)用名単,并存儲(chǔ)在可授權(quán)應(yīng)用列表中,在執(zhí)行步驟SlOl時(shí),在預(yù)先存儲(chǔ)的可授權(quán)應(yīng)用列表中查找所述發(fā)送方應(yīng)用,如果找至IJ,則生成所述允許訪問信息。另外,作為ー個(gè)實(shí)施例,還可以預(yù)先協(xié)商好不可授權(quán)的應(yīng)用名単,并存儲(chǔ)在不可授權(quán)應(yīng)用列表中,在執(zhí)行步驟SlOl時(shí),如果在預(yù)先存儲(chǔ)的不可授權(quán)應(yīng)用列表中找到所述發(fā)送方應(yīng)用,則生成拒絕訪問信息。值得指出的是,預(yù)先保存授權(quán)應(yīng)用列表或不可授權(quán)應(yīng)用列表中的一種還是同時(shí)保存兩種列表可以由用戶根據(jù)自己的需求確定。作為ー種優(yōu)選實(shí)施例,如果在所保存的列表 中未找到,則提示用戶是否對(duì)發(fā)送方應(yīng)用授權(quán),井根據(jù)用戶的返回結(jié)果將所述發(fā)送方應(yīng)用加入已保存的所述可授權(quán)應(yīng)用列表或不可授權(quán)應(yīng)用列表,并生成所述授權(quán)結(jié)果信息。作為ー個(gè)優(yōu)選實(shí)施例,還可以預(yù)先保存ACL(訪問控制列表(Access ControlList, ACL),作為ー個(gè)實(shí)施例,該ACL表中可以預(yù)先存儲(chǔ)請(qǐng)求方、接收方、服務(wù)名以及訪問權(quán)限的相關(guān)數(shù)據(jù),步驟S102中可以根據(jù)ACL表進(jìn)行授權(quán)處理,生成授權(quán)結(jié)果信息,例如,如果ACL表中存儲(chǔ)以下信息請(qǐng)求方為A、接收方為B、服務(wù)名為打印、訪問權(quán)限為允許,則當(dāng)A請(qǐng)求B的打印服務(wù)時(shí),即可生成允許授權(quán)信息。通過ACL表的引入,帶來了以下好處(1)減少訪問頻率,提高訪問效率?,F(xiàn)有的不同應(yīng)用間的毎次通信,都需要進(jìn)行授權(quán)訪問,即使對(duì)于同一個(gè)服務(wù)的調(diào)用,不管通信多少次,就需要進(jìn)行多少次授權(quán)。通過ACL表,因已存在授權(quán)信息,不需要進(jìn)行每次的授權(quán)訪問,減少訪問頻率,對(duì)于同一個(gè)服務(wù)的調(diào)用,只需進(jìn)行一次授權(quán),保存在ACL中,以后都不需要進(jìn)行授權(quán),可直接調(diào)用,提高訪問效率。(2)同時(shí)訪問多服務(wù)時(shí)避免多次提示。目前,一個(gè)應(yīng)用需要訪問多個(gè)服務(wù)時(shí),就需要對(duì)每個(gè)服務(wù)進(jìn)行授權(quán)提示,進(jìn)行多次操作,通過ACL表,不需要進(jìn)行任何提示,同時(shí)可以一次性對(duì)多個(gè)服務(wù)請(qǐng)求訪問進(jìn)行授權(quán)操作,避免多次提示和多次授權(quán)操作。(3)可以嵌套訪問。目前,多個(gè)應(yīng)用進(jìn)行嵌套訪問,當(dāng)超過兩次調(diào)用訪問時(shí),需要進(jìn)行兩次以上的訪問跳轉(zhuǎn),進(jìn)行授權(quán)操作,因此,無法重現(xiàn)第一次調(diào)用訪問時(shí)的上下文環(huán)境,即無法實(shí)現(xiàn)超過兩層調(diào)用訪問的嵌套訪問。通過ACL表,在進(jìn)行嵌套訪問時(shí),由于每層訪問,可以直接進(jìn)行授權(quán)操作,不需要進(jìn)行訪問跳轉(zhuǎn),即保留了毎次調(diào)用訪問時(shí)的上下文環(huán)境,從而實(shí)現(xiàn)嵌套訪問。由于本發(fā)明預(yù)先保存了是否可以對(duì)某個(gè)應(yīng)用授權(quán)、不授權(quán)的列表以及ACL,通過區(qū)分受限資源和非受限資源,引入黒白名單,因此本發(fā)明每個(gè)應(yīng)用僅需一次授權(quán)判斷,減少了訪問控制干預(yù)頻度,增強(qiáng)了用戶體驗(yàn)。為了能夠更加清晰的理解本發(fā)明,以下列舉ー個(gè)執(zhí)行步驟SlOO至S102的應(yīng)用實(shí)例應(yīng)用A作為請(qǐng)求方需要與應(yīng)用B進(jìn)行訪問,此時(shí)應(yīng)用B為接收方。首先,在線應(yīng)用平臺(tái)的客戶端創(chuàng)建應(yīng)用A的進(jìn)程a,應(yīng)用B的進(jìn)程b,應(yīng)用A請(qǐng)求調(diào)用應(yīng)用B的服務(wù)C,此時(shí)應(yīng)用A構(gòu)造請(qǐng)求消息,包括根據(jù)預(yù)定通信協(xié)議定義的應(yīng)用名稱B、消息類型C、消息體,并發(fā)送至在線應(yīng)用平臺(tái)的客戶端,客戶端先檢查應(yīng)用B的黒白名單中是否有應(yīng)用A,如果在白名單中,即授權(quán)結(jié)果為允許,則進(jìn)行通信,如果在黑名單中,即授權(quán)結(jié)果為禁止,則拒絕通信。如果應(yīng)用B的黒白名單中均不存在應(yīng)用A,則在ACL表中,進(jìn)行搜索,是否存在應(yīng)用B將服務(wù)C授權(quán)給應(yīng)用A的記錄,如果存在,且授權(quán)記錄為允許,則進(jìn)行通信,如果不存在,則進(jìn)行授權(quán)提示,用戶授權(quán)為允許,則進(jìn)行此應(yīng)用間通信,用戶授權(quán)為拒絕,則禁止此應(yīng)用間通信。此時(shí),若應(yīng)用A需要同時(shí)訪問應(yīng)用D、應(yīng)用E等多個(gè)應(yīng)用的服務(wù)時(shí),將會(huì)統(tǒng)ー在ー個(gè)提示中,進(jìn)行授權(quán)操作,避免多次提示授權(quán)。在進(jìn)行提示授權(quán)操作后,將此次授權(quán)的結(jié)果記錄在ACL表中,以便于下次的直接授權(quán)判斷。達(dá)到每個(gè)應(yīng)用僅需一次授權(quán)判斷,減少了訪問控制干預(yù)頻度,增強(qiáng)了用戶體驗(yàn)。如果所述請(qǐng)求方應(yīng)用收到所述允許訪問信息,則按照下述步驟與所述應(yīng)答方應(yīng)用進(jìn)行應(yīng)答通信請(qǐng)求方應(yīng)用通過回調(diào)函數(shù)承載應(yīng)答方應(yīng)用所提供的請(qǐng)求方應(yīng)用所對(duì)應(yīng)的上下文環(huán)境,當(dāng)請(qǐng)求方應(yīng)用調(diào)用應(yīng)答方應(yīng)用的服務(wù)時(shí),將回調(diào)函數(shù)轉(zhuǎn)換為字符串(S103),本發(fā)明要求回調(diào)函數(shù)按照預(yù)先定義的格式(即預(yù)定規(guī)則)轉(zhuǎn)換為字符串,以便后續(xù)能夠根據(jù)字符串的格式識(shí)別出是否為回調(diào)函數(shù);然后構(gòu)造服務(wù)調(diào)用消息(S104),服務(wù)調(diào)用消息包括預(yù)定通信協(xié)議定義的應(yīng)用名稱、消息類型、消息體;消息類型承載了應(yīng)答方應(yīng)用的服務(wù)的處理邏輯(即需要應(yīng)答方應(yīng)用執(zhí)行的事件),本發(fā)明在構(gòu)造服務(wù)調(diào)用消息時(shí)將回調(diào)函數(shù)轉(zhuǎn)換的字符串加入消息體中,作為回調(diào)函數(shù)ID發(fā)送給應(yīng)答方應(yīng)用(S105);請(qǐng)求方應(yīng)用將服務(wù)調(diào)用消息發(fā)送至應(yīng)答方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中(S106);應(yīng)答方應(yīng)用的應(yīng)用進(jìn)程監(jiān)控消息隊(duì)列中的服務(wù)調(diào)用消息,根據(jù)預(yù)定規(guī)則識(shí)別出所述回調(diào)函數(shù)ID(S107);根據(jù)消息類型執(zhí)行所述服務(wù),生成所述服務(wù)的執(zhí)行結(jié)果(S108);利用服務(wù)的執(zhí)行結(jié)果及回調(diào)函數(shù)ID構(gòu)造應(yīng)答消息,并發(fā)送至請(qǐng)求方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中(S108);請(qǐng)求方應(yīng)用的應(yīng)用進(jìn)程監(jiān)控消息隊(duì)列中的應(yīng)答消息,根據(jù)預(yù)定規(guī)則識(shí)別出所述回調(diào)函數(shù)ID(S109),調(diào)用所述回調(diào)函數(shù)ID對(duì)應(yīng)的回調(diào)函數(shù)處理所述服務(wù)的執(zhí)行結(jié)果(SllO)。與上述在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法相對(duì)應(yīng),本發(fā)明還提供了ー種在線應(yīng)用平臺(tái),如圖2所示,包括多個(gè)應(yīng)用和應(yīng)用進(jìn)程管理器,應(yīng)用進(jìn)程管理器位于在線應(yīng)用平臺(tái)的客戶端,在線應(yīng)用平臺(tái)上的應(yīng)用包括轉(zhuǎn)換裝置、構(gòu)造消息裝置和識(shí)別裝置,應(yīng)用進(jìn)程管理器位于在線應(yīng)用平臺(tái)的客戶端,包括進(jìn)程創(chuàng)建接ロ、發(fā)送進(jìn)程消息接ロ、訪問控制裝置和進(jìn)程銷毀接ロ。工作原理如下所述 進(jìn)程創(chuàng)建接ロ根據(jù)應(yīng)用名稱按照預(yù)定的通信協(xié)議創(chuàng)建應(yīng)用進(jìn)程,所述應(yīng)用進(jìn)程為所述應(yīng)用在所述客戶端運(yùn)行時(shí)的存在形態(tài),包括應(yīng)用進(jìn)程ID、應(yīng)用名稱、上下文空間、消息隊(duì)列、可執(zhí)行程序路徑;消息隊(duì)列為在線應(yīng)用平臺(tái)與所述應(yīng)用進(jìn)程進(jìn)行通信的載體,應(yīng)用進(jìn)程監(jiān)控所述消息隊(duì)列中的消息,并進(jìn)行處理;當(dāng)請(qǐng)求方應(yīng)用需要調(diào)用應(yīng)答方應(yīng)用的服務(wù)時(shí),請(qǐng)求方應(yīng)用將訪問請(qǐng)求發(fā)送至發(fā)送進(jìn)程消息接ロ,訪問控制裝置對(duì)訪問請(qǐng)求進(jìn)行是否授權(quán)的處理,生成授權(quán)結(jié)果信息,并通過發(fā)送進(jìn)程消息接ロ發(fā)送給請(qǐng)求方應(yīng)用;作為ー個(gè)實(shí)施例,應(yīng)用進(jìn)程管理器還包括第一存儲(chǔ)模塊,預(yù)先存儲(chǔ)可授權(quán)應(yīng)用列表;訪問控制裝置在可授權(quán)應(yīng)用列表中查找發(fā)送方應(yīng)用,如果找到,則生成允許訪問信息。另外,作為ー個(gè)實(shí)施例,應(yīng)用進(jìn)程管理器還可以包括第二存儲(chǔ)模塊,預(yù)先存儲(chǔ)不可授權(quán)應(yīng)用列表;訪問控制裝置如果在第二存儲(chǔ)模塊中找到發(fā)送方應(yīng)用,則生成拒絕訪問信息。作為ー個(gè)優(yōu)選實(shí)施例,所述應(yīng)用進(jìn)程管理器還包括第三存儲(chǔ)裝置,用于存儲(chǔ)ACL表,所述ACL表為訪問控制列表,用于存儲(chǔ)請(qǐng)求方應(yīng)用標(biāo)識(shí)、接收方應(yīng)用標(biāo)識(shí)、月艮務(wù)名、訪問權(quán)限;所述訪問控制裝置在預(yù)先存儲(chǔ)的ACL表中查找所述發(fā)送方應(yīng)用的服務(wù),如果找到,則生成所述允許訪問信息。用戶可以根據(jù)需求決定在實(shí)現(xiàn)應(yīng)用進(jìn)程管理器時(shí)保存哪種列表。作為ー個(gè)優(yōu)選實(shí)施例,訪問控制裝置如果在所保存的列表里未找到發(fā)送方應(yīng)用,則提示用戶是否對(duì)發(fā)送方應(yīng)用授權(quán),井根據(jù)用戶的返回結(jié)果生成授權(quán)結(jié)果信息以及將發(fā)送方應(yīng)用加入第一存儲(chǔ)模塊或第二存儲(chǔ)模塊或第三存儲(chǔ)模塊。如果請(qǐng)求方應(yīng)用收到的授權(quán)結(jié)果信息是允許訪問信息,則請(qǐng)求方應(yīng)用的轉(zhuǎn)換裝置將回調(diào)函數(shù)按照預(yù)定規(guī)則轉(zhuǎn)換成字符串,構(gòu)造消息裝置構(gòu)造服務(wù)調(diào)用消息,將字符串作為回調(diào)函數(shù)ID發(fā)送給發(fā)送進(jìn)程消息接ロ,發(fā)送進(jìn)程消息接ロ將服務(wù)調(diào)用消息投遞至應(yīng)答方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中;應(yīng)答方應(yīng)用監(jiān)控消息隊(duì)列中的消息,通過識(shí)別裝置根據(jù)預(yù)定規(guī)則從收到的服務(wù)調(diào) 用消息識(shí)別出所述回調(diào)函數(shù)ID ;服務(wù)邏輯處理裝置根據(jù)消息類型執(zhí)行相應(yīng)服務(wù),生成所述服務(wù)的執(zhí)行結(jié)果;構(gòu)造消息裝置利用服務(wù)的執(zhí)行結(jié)果及回調(diào)函數(shù)ID構(gòu)造應(yīng)答消息;通過發(fā)送進(jìn)程消息接ロ發(fā)送至請(qǐng)求方應(yīng)用的消息隊(duì)列;請(qǐng)求方應(yīng)用監(jiān)控到應(yīng)答消息后,通過服務(wù)邏輯處理裝置調(diào)用所述回調(diào)函數(shù)ID對(duì)應(yīng)的回調(diào)函數(shù)處理所述服務(wù)的執(zhí)行結(jié)果。當(dāng)所述請(qǐng)求方或應(yīng)答方應(yīng)用退出時(shí)進(jìn)程銷毀接ロ銷毀請(qǐng)求方或應(yīng)答方應(yīng)用的應(yīng)用進(jìn)程。上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他任何未背離本發(fā)明的精神實(shí)質(zhì)和原理下所作的修改、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種在線應(yīng)用平臺(tái)上應(yīng)用間的應(yīng)答通信方法,其特征在于,包括步驟 當(dāng)在線應(yīng)用平臺(tái)的客戶端啟動(dòng)應(yīng)用時(shí),按照預(yù)定的通信協(xié)議創(chuàng)建應(yīng)用進(jìn)程;并記錄所述應(yīng)用可處理的消息類型;所述應(yīng)用進(jìn)程為所述應(yīng)用在所述客戶端運(yùn)行時(shí)的存在形態(tài),包括應(yīng)用進(jìn)程ID、應(yīng)用名稱、上下文空間、消息隊(duì)列、可執(zhí)行程序路徑;所述消息隊(duì)列為在線應(yīng)用平臺(tái)與所述應(yīng)用進(jìn)程進(jìn)行通信的載體; 當(dāng)請(qǐng)求方應(yīng)用對(duì)應(yīng)答方應(yīng)用進(jìn)行訪問時(shí),在線應(yīng)用平臺(tái)的客戶端接收請(qǐng)求方應(yīng)用的訪問請(qǐng)求,進(jìn)行是否授權(quán)的處理,并生成授權(quán)結(jié)果信息返回所述請(qǐng)求方應(yīng)用;所述授權(quán)結(jié)果信息包括允許訪問信息和拒絕訪問信息,如果所述請(qǐng)求方應(yīng)用收到所述允許訪問信息,則按照下述步驟與所述應(yīng)答方應(yīng)用進(jìn)行應(yīng)答通信 當(dāng)請(qǐng)求方應(yīng)用調(diào)用應(yīng)答方應(yīng)用的服務(wù)時(shí),請(qǐng)求方應(yīng)用將回調(diào)函數(shù)按照預(yù)定規(guī)則轉(zhuǎn)換為字符串,并構(gòu)造服務(wù)調(diào)用消息,所述服務(wù)調(diào)用消息包括根據(jù)預(yù)定通信協(xié)議定義的應(yīng)用名稱、消息類型、消息體;所述消息類型用于承載所述應(yīng)答方應(yīng)用的服務(wù)的處理邏輯,所述消息體用于承載回調(diào)函數(shù)ID,所述回調(diào)函數(shù)ID為回調(diào)函數(shù)所轉(zhuǎn)換的字符串,所述回調(diào)函數(shù)用于承載所述請(qǐng)求方應(yīng)用所對(duì)應(yīng)的上下文環(huán)境; 所述請(qǐng)求方將所述服務(wù)調(diào)用消息發(fā)送至所述應(yīng)答方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中; 所述應(yīng)答方應(yīng)用的應(yīng)用進(jìn)程監(jiān)控消息隊(duì)列中的服務(wù)調(diào)用消息,根據(jù)所述預(yù)定規(guī)則識(shí)別出所述回調(diào)函數(shù)ID ; 根據(jù)所述消息類型執(zhí)行所述服務(wù),生成所述服務(wù)的執(zhí)行結(jié)果; 利用所述服務(wù)的執(zhí)行結(jié)果及所述回調(diào)函數(shù)ID構(gòu)造應(yīng)答消息,并發(fā)送至所述請(qǐng)求方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中; 所述請(qǐng)求方應(yīng)用的應(yīng)用進(jìn)程監(jiān)控消息隊(duì)列中的應(yīng)答消息,根據(jù)所述預(yù)定規(guī)則識(shí)別出所述回調(diào)函數(shù)ID,調(diào)用所述回調(diào)函數(shù)ID對(duì)應(yīng)的回調(diào)函數(shù)處理所述服務(wù)的執(zhí)行結(jié)果。
2.根據(jù)權(quán)利要求I所述的應(yīng)答通信方法,其特征在于,所述在線應(yīng)用平臺(tái)的客戶端進(jìn)行是否授權(quán)的處理的過程包括步驟 在預(yù)先存儲(chǔ)的可授權(quán)應(yīng)用列表中查找所述請(qǐng)求方應(yīng)用,如果找到,則生成所述允許訪問信息。
3.根據(jù)權(quán)利要求2所述的應(yīng)答通信方法,其特征在于,所述在線應(yīng)用平臺(tái)的客戶端進(jìn)行是否授權(quán)的處理的過程還包括步驟 如果在預(yù)先存儲(chǔ)的不可授權(quán)應(yīng)用列表中找到所述請(qǐng)求方應(yīng)用,則生成拒絕訪問信息;如果未找到,則提示用戶是否對(duì)所述請(qǐng)求方應(yīng)用授權(quán),井根據(jù)用戶的返回結(jié)果將所述請(qǐng)求方應(yīng)用加入所述可授權(quán)應(yīng)用列表或不可授權(quán)應(yīng)用列表,并生成所述授權(quán)結(jié)果信息。
4.根據(jù)權(quán)利要求I或2或3所述的應(yīng)答通信方法,其特征在于,所述在線應(yīng)用平臺(tái)的客戶端進(jìn)行是否授權(quán)的處理的過程包括步驟 在預(yù)先存儲(chǔ)的ACL表中查找所述發(fā)送方應(yīng)用的服務(wù),如果找到,則生成所述允許訪問信息,所述ACL表為訪問控制列表,用于存儲(chǔ)對(duì)所述應(yīng)用的服務(wù)的訪問權(quán)限。
5.一種在線應(yīng)用平臺(tái),其特征在于,包括多個(gè)應(yīng)用和應(yīng)用進(jìn)程管理器,所述應(yīng)用進(jìn)程管理器位于在線應(yīng)用平臺(tái)的客戶端,包括 進(jìn)程創(chuàng)建接ロ,用于根據(jù)應(yīng)用名稱按照預(yù)定的通信協(xié)議創(chuàng)建應(yīng)用進(jìn)程,所述應(yīng)用進(jìn)程為所述應(yīng)用在所述客戶端運(yùn)行時(shí)的存在形態(tài),包括應(yīng)用進(jìn)程ID、應(yīng)用名稱、上下文空間、消息隊(duì)列、可執(zhí)行程序路徑;所述消息隊(duì)列為在線應(yīng)用平臺(tái)與所述應(yīng)用進(jìn)程進(jìn)行通信的載體,所述應(yīng)用進(jìn)程監(jiān)控所述消息隊(duì)列中的消息,并進(jìn)行處理; 發(fā)送進(jìn)程消息接ロ,用于接收和發(fā)送消息,所述消息包括應(yīng)用名稱、消息類型、消息體;將所述消息投遞至應(yīng)答方或請(qǐng)求方應(yīng)用所對(duì)應(yīng)的應(yīng)用進(jìn)程的消息隊(duì)列中,所述接收和發(fā)送的消息包括訪問請(qǐng)求、授權(quán)結(jié)果信息、服務(wù)調(diào)用消息和應(yīng)答消息; 訪問控制裝置,用于對(duì)所述訪問請(qǐng)求進(jìn)行是否授權(quán)的處理,生成授權(quán)結(jié)果信息,所述授權(quán)結(jié)果信息包括允許訪問信息和拒絕訪問信息; 所述應(yīng)用包括 轉(zhuǎn)換裝置,用于將回調(diào)函數(shù)根據(jù)預(yù)定規(guī)則轉(zhuǎn)換為字符串; 構(gòu)造消息裝置,用于當(dāng)所述應(yīng)用作為請(qǐng)求方調(diào)用其他應(yīng)用的服務(wù)時(shí),構(gòu)造服務(wù)調(diào)用消息;所述消息類型用于承載所述應(yīng)答方應(yīng)用的服務(wù)的處理邏輯,所述消息體用于承載回調(diào)函數(shù)ID,所述回調(diào)函數(shù)ID為回調(diào)函數(shù)所轉(zhuǎn)換的字符串,所述回調(diào)函數(shù)用于承載所述請(qǐng)求方所對(duì)應(yīng)的上下文環(huán)境;當(dāng)所述應(yīng)用作為應(yīng)答方時(shí),利用所述服務(wù)的執(zhí)行結(jié)果及所述回調(diào)函數(shù)ID構(gòu)造應(yīng)答消息; 識(shí)別裝置,用于根據(jù)預(yù)定規(guī)則從收到的服務(wù)調(diào)用消息或應(yīng)答消息中識(shí)別出所述回調(diào)函數(shù)ID ; 服務(wù)邏輯處理裝置,用于當(dāng)作為應(yīng)答方時(shí),根據(jù)所述消息類型執(zhí)行所述服務(wù),生成所述服務(wù)的執(zhí)行結(jié)果;當(dāng)作為請(qǐng)求方時(shí),調(diào)用所述回調(diào)函數(shù)ID對(duì)應(yīng)的回調(diào)函數(shù)處理所述服務(wù)的執(zhí)行結(jié)果。
6.根據(jù)權(quán)利要求5所述的在線應(yīng)用平臺(tái),其特征在于,所述應(yīng)用進(jìn)程管理器還包括第一存儲(chǔ)模塊,用于存儲(chǔ)可授權(quán)應(yīng)用列表; 所述訪問控制裝置在所述可授權(quán)應(yīng)用列表中查找所述發(fā)送方應(yīng)用,如果找到,則生成允許訪問信息。
7.根據(jù)權(quán)利要求6所述的在線應(yīng)用平臺(tái),其特征在于,所述應(yīng)用進(jìn)程管理器還包括第ニ存儲(chǔ)模塊,用于存儲(chǔ)不可授權(quán)應(yīng)用列表; 所述訪問控制裝置如果在所述第二存儲(chǔ)模塊中找到所述發(fā)送方應(yīng)用,則生成拒絕訪問信息;如果未找到,則提示用戶是否對(duì)所述發(fā)送方應(yīng)用授權(quán),井根據(jù)用戶的返回結(jié)果生成授權(quán)結(jié)果信息以及將所述發(fā)送方應(yīng)用加入所述第一存儲(chǔ)模塊或第二存儲(chǔ)模塊。
8.根據(jù)權(quán)利要求5或6或7所述的在線應(yīng)用平臺(tái),其特征在于,所述應(yīng)用進(jìn)程管理器還包括第三存儲(chǔ)裝置,用于存儲(chǔ)ACL表,所述ACL表為訪問控制列表,用于存儲(chǔ)請(qǐng)求方應(yīng)用標(biāo)識(shí)、接收方應(yīng)用標(biāo)識(shí)、服務(wù)名、訪問權(quán)限; 所述訪問控制裝置在預(yù)先存儲(chǔ)的ACL表中查找所述發(fā)送方應(yīng)用的服務(wù),如果找到,則生成所述允許訪問信息。
全文摘要
本發(fā)明的在線應(yīng)用平臺(tái)上應(yīng)用間的應(yīng)答通信方法以及在線應(yīng)用平臺(tái),首先創(chuàng)建應(yīng)用進(jìn)程;并記錄應(yīng)用可處理的消息類型;在線應(yīng)用平臺(tái)的客戶端接收請(qǐng)求方應(yīng)用的訪問請(qǐng)求,進(jìn)行是否授權(quán)的處理,并生成授權(quán)結(jié)果信息返回請(qǐng)求方應(yīng)用;如果請(qǐng)求方應(yīng)用收到允許訪問信息,將回調(diào)函數(shù)轉(zhuǎn)換為字符串并構(gòu)造服務(wù)調(diào)用消息,請(qǐng)求方將服務(wù)調(diào)用消息發(fā)送至應(yīng)答方應(yīng)用;應(yīng)答方應(yīng)用識(shí)別出回調(diào)函數(shù)ID;執(zhí)行服務(wù),生成服務(wù)的執(zhí)行結(jié)果;構(gòu)造應(yīng)答消息并發(fā)送至請(qǐng)求方應(yīng)用;請(qǐng)求方應(yīng)用根據(jù)預(yù)定規(guī)則識(shí)別出回調(diào)函數(shù)ID,調(diào)用所述回調(diào)函數(shù)ID對(duì)應(yīng)的回調(diào)函數(shù)處理服務(wù)的執(zhí)行結(jié)果。本發(fā)明能夠安全便捷的對(duì)在線應(yīng)用平臺(tái)上的應(yīng)用進(jìn)行訪問控制,且適用于復(fù)雜的在線應(yīng)答環(huán)境。
文檔編號(hào)H04L29/06GK102693163SQ201210134059
公開日2012年9月26日 申請(qǐng)日期2012年4月28日 優(yōu)先權(quán)日2012年4月28日
發(fā)明者徐軍, 薛珂 申請(qǐng)人:杭州格暢科技有限公司