專利名稱:一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及^aS定制技術(shù)領(lǐng)域,特別涉及一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法和裝置。
背景技術(shù):
目前在多租戶系統(tǒng)架構(gòu)下,是多個(gè)租戶共享同一個(gè)應(yīng)用實(shí)例,但由于租戶之間因業(yè)務(wù)側(cè)重點(diǎn)、運(yùn)營(yíng)規(guī)則等的差別,導(dǎo)致了個(gè)性化需求的不同,這就需要根據(jù)租戶的個(gè)性化需求對(duì)MaSGoftware-as-a-service,軟件即服務(wù))應(yīng)用進(jìn)行個(gè)性化定制,這其中包括了頁(yè)面、數(shù)據(jù)、服務(wù)等的定制。PaaSTlatform as a krvice,平臺(tái)即服務(wù))基于云計(jì)算技術(shù)通過(guò)互聯(lián)網(wǎng)向多個(gè)獨(dú)立軟件開(kāi)發(fā)商提供便捷的^aS開(kāi)發(fā)、應(yīng)用、計(jì)算等信息化服務(wù),SaaS應(yīng)用部署到I^aaS平臺(tái)后,PaaS平臺(tái)需要為其提供應(yīng)用的定制能力,而在其中自定義數(shù)據(jù)的處理、定制服務(wù)響應(yīng)是個(gè)性化定制技術(shù)中的一個(gè)難點(diǎn),以往的實(shí)現(xiàn)方案是預(yù)先分配字段和字段對(duì)應(yīng)的服務(wù),預(yù)分配字段就是在表中預(yù)先擴(kuò)展分配一定數(shù)量的字段,預(yù)分配服務(wù)就是在服務(wù)引擎上部署處理這些擴(kuò)展字段的服務(wù),當(dāng)租戶需要擴(kuò)展字段時(shí),就可以使用這些預(yù)先分配的字段,用戶使用時(shí)擴(kuò)展數(shù)據(jù)也可通過(guò)預(yù)先確定的服務(wù)進(jìn)行傳輸,但問(wèn)題也隨之而來(lái), 預(yù)分配的字段對(duì)當(dāng)前租戶代表什么含義,同一個(gè)預(yù)分配的字段對(duì)不同租戶又代表什么含義,如果表中只預(yù)分配一個(gè)整型字段,而租戶需要兩個(gè)整形字段怎么辦?如果預(yù)分配字段和處理這些字段的服務(wù)設(shè)計(jì)太多就會(huì)造成數(shù)據(jù)庫(kù)的膨脹和相同作用服務(wù)的重合,也可能造成大量無(wú)意義的字段,形成存儲(chǔ)空間的浪費(fèi)。同時(shí)在以往的自定義數(shù)據(jù)的處理、定制服務(wù)響應(yīng)的過(guò)程中,因?yàn)樽侄胃?wù)都是預(yù)分配的所以不需要考慮服務(wù)響應(yīng)的事物一致性。
發(fā)明內(nèi)容
本發(fā)明的目的就是為解決上述問(wèn)題,提供一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法和裝置,以提高整個(gè)軟件的可定制性,使得事務(wù)一致性更好,從而提高工作效率。為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法,它包括以下步驟A.事件源(包括UI、其他業(yè)務(wù)服務(wù)等)組織MaS業(yè)務(wù)服務(wù)調(diào)用參數(shù);B. SaaS業(yè)務(wù)服務(wù)引擎將輸入的參數(shù)進(jìn)行解析,根據(jù)輸入?yún)?shù)獲得事務(wù)管理信息, 由事務(wù)信息來(lái)判斷是否是一次新調(diào)用,如果不是新調(diào)用并且標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)事務(wù)標(biāo)識(shí)為成功則跳到步驟D直接調(diào)用租戶定制業(yè)務(wù)服務(wù);如果為一次新的服務(wù)調(diào)用或標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)標(biāo)識(shí)為未成功則繼續(xù)步驟C調(diào)用標(biāo)準(zhǔn)業(yè)務(wù)服務(wù);C.根據(jù)步驟A中的服務(wù)調(diào)用參數(shù)列表來(lái)組織標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)調(diào)用參數(shù),同時(shí)根據(jù) context.WSDL地址和operation進(jìn)行業(yè)務(wù)服務(wù)選擇、映射、調(diào)用,調(diào)用完成后由事務(wù)處理單元將標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)事務(wù)標(biāo)識(shí)更新為成功;D.從數(shù)據(jù)庫(kù)中獲取事件源列表信息和表主鍵列信息,將這些信息和步驟A中的 SaaS業(yè)務(wù)服務(wù)調(diào)用參數(shù)context、入?yún)⒘斜斫M成租戶定制業(yè)務(wù)服務(wù)調(diào)用參數(shù),同時(shí)根據(jù)標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)名稱和事務(wù)信息來(lái)進(jìn)行租戶定制業(yè)務(wù)服務(wù)的選擇、調(diào)用,調(diào)用完成后由事務(wù)處理單元將租戶定制業(yè)務(wù)服務(wù)事務(wù)標(biāo)識(shí)更新為成功;E.將標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)和租戶定制MaS業(yè)務(wù)服務(wù)的返回結(jié)果進(jìn)行整合;F.將整合后的MaS業(yè)務(wù)服務(wù)返回結(jié)果返回給事件源。所述步驟A中事件源組織的業(yè)務(wù)服務(wù)調(diào)用參數(shù)包括context信息、業(yè)務(wù)服務(wù)定義地址信息、業(yè)務(wù)服務(wù)操作、原始業(yè)務(wù)服務(wù)參數(shù)和事件源ID。所述步驟C中標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)為原始事件源已知并存在固有調(diào)用關(guān)系的服務(wù),它由若干事件源需要調(diào)用的業(yè)務(wù)組成。所述步驟D中租戶定制業(yè)務(wù)服務(wù)是由MaS業(yè)務(wù)服務(wù)引擎提供的,包括了查詢、增加、修改和刪除業(yè)務(wù)操作,它主要處理事件源中定制列表中的定制數(shù)據(jù)。一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行方法用裝置,該裝置包括一個(gè)事務(wù)處理單元,它負(fù)責(zé)MaS業(yè)務(wù)服務(wù)引擎中所有事務(wù)的協(xié)調(diào)、并確保在整個(gè)事務(wù)處理過(guò)程中出現(xiàn)失敗或異常時(shí)保證數(shù)據(jù)庫(kù)的完整性并回滾所有失敗事務(wù)的變更,同時(shí)事務(wù)處理單元還將基本業(yè)務(wù)服務(wù)、擴(kuò)展業(yè)務(wù)服務(wù)的調(diào)用是否成功記錄下來(lái),保證了標(biāo)準(zhǔn)服務(wù)與租戶定制服務(wù)、業(yè)務(wù)單元的事務(wù)一致性;一個(gè)基本服務(wù)調(diào)用單元,它負(fù)責(zé)組織基本業(yè)務(wù)服務(wù)的輸入?yún)?shù),同時(shí)根據(jù) COntext、WSDL地址和operation進(jìn)行基本業(yè)務(wù)服務(wù)選擇、映射、調(diào)用;一個(gè)擴(kuò)展服務(wù)調(diào)用單元,它負(fù)責(zé)根據(jù)事務(wù)信息來(lái)組織參數(shù)調(diào)用擴(kuò)展業(yè)務(wù)服務(wù),擴(kuò)展服務(wù)調(diào)用單元從數(shù)據(jù)庫(kù)中獲取事件源列表信息和表主鍵列信息,將這些信息和context、入?yún)⒘斜斫M成租戶定制業(yè)務(wù)服務(wù)調(diào)用參數(shù),同時(shí)根據(jù)標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)名稱和事務(wù)信息來(lái)進(jìn)行租戶定制業(yè)務(wù)服務(wù)的選擇、調(diào)用;一個(gè)服務(wù)調(diào)用結(jié)果整合單元,它負(fù)責(zé)將調(diào)用的基本業(yè)務(wù)服務(wù)和擴(kuò)展業(yè)務(wù)服務(wù)的結(jié)果進(jìn)行整合。本發(fā)明的有益效果是1、提供了一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法和裝置,使得租戶可對(duì)數(shù)據(jù)進(jìn)行隨意的自定義,提高了 ^aS軟件的可定制性;2.解決了定制業(yè)務(wù)服務(wù)的響應(yīng)問(wèn)題;3.保證了標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)與租戶定制業(yè)務(wù)服務(wù)、業(yè)務(wù)單元的事務(wù)一致性;4.實(shí)現(xiàn)了數(shù)據(jù)定制技術(shù)與業(yè)務(wù)邏輯開(kāi)發(fā)的分離,使開(kāi)發(fā)商更專注于業(yè)務(wù)邏輯的開(kāi)發(fā),提高了租戶數(shù)據(jù)的定制能力,提高了按需變更能力。
圖1為一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法總體流程圖;圖2為一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式下面結(jié)合附圖與實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。圖1中,一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法,包括以下步驟步驟101、由事件源組織服務(wù)調(diào)用參數(shù),調(diào)用參數(shù)中包括context信息、WSDL地址、服務(wù)操作、原始服務(wù)參數(shù)和事件源ID ;步驟102、服務(wù)引擎將輸入的參數(shù)進(jìn)行解析,根據(jù)入?yún)@得事務(wù)管理信息,根據(jù)事務(wù)判斷是否是一次新交易,如果不是一次新交易并且基本服務(wù)事務(wù)標(biāo)識(shí)為成功則跳到步驟 104,如果是一次新交易或者基本服務(wù)事務(wù)標(biāo)識(shí)為未成功則繼續(xù)步驟103 ;步驟103、根據(jù)步驟101中的服務(wù)調(diào)用參數(shù)列表來(lái)組織基本服務(wù)調(diào)用參數(shù),同時(shí)根據(jù)Context、WSDL地址和operation進(jìn)行業(yè)務(wù)服務(wù)選擇、映射、判斷其是否屬于第三方服務(wù), 確定最終調(diào)用的服務(wù)地址,如果屬于第三方服務(wù)則調(diào)用第三方服務(wù)操作,如果屬于業(yè)務(wù)服務(wù)則調(diào)用相應(yīng)的業(yè)務(wù)服務(wù)操作;步驟104、對(duì)返回的業(yè)務(wù)服務(wù)結(jié)果進(jìn)行解析,并將基本服務(wù)事務(wù)標(biāo)識(shí)進(jìn)行更新,通過(guò)命名規(guī)范及事務(wù)信息判斷是否要調(diào)擴(kuò)展服務(wù),如果需要調(diào)用擴(kuò)展服務(wù)且擴(kuò)展服務(wù)事務(wù)標(biāo)識(shí)成功則跳到步驟106,如果需要調(diào)用擴(kuò)展服務(wù)且擴(kuò)展服務(wù)事務(wù)標(biāo)識(shí)為未成功則繼續(xù),從元數(shù)據(jù)引擎中獲取頁(yè)面定制元數(shù)據(jù)信息列表和表主鍵列信息,利用頁(yè)面定制元數(shù)據(jù)、表主鍵列元數(shù)據(jù)和步驟101中的服務(wù)調(diào)用參數(shù)context、入?yún)⒘斜砗蜆I(yè)務(wù)服務(wù)返回結(jié)果進(jìn)行組織, 組合出擴(kuò)展服務(wù)調(diào)用參數(shù),根據(jù)命名規(guī)范識(shí)別要調(diào)用的擴(kuò)展服務(wù)名,根據(jù)擴(kuò)展服務(wù)名調(diào)用擴(kuò)展服務(wù);步驟105、調(diào)用完擴(kuò)展服務(wù)后更新擴(kuò)展服務(wù)事務(wù)標(biāo)識(shí),將擴(kuò)展服務(wù)事務(wù)標(biāo)識(shí)為已調(diào)用,將基本業(yè)務(wù)服務(wù)的返回結(jié)果和擴(kuò)展服務(wù)的返回結(jié)果進(jìn)行整合;步驟106、將所有操作寫(xiě)入日志中,將整合后的服務(wù)結(jié)果返回給事件源。圖2中,一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的裝置,該裝置包括事務(wù)處理單元201,負(fù)責(zé)MaS業(yè)務(wù)服務(wù)引擎中所有事務(wù)的協(xié)調(diào)、并可確保在整個(gè)事務(wù)處理過(guò)程中出現(xiàn)失敗或異常時(shí)保證數(shù)據(jù)庫(kù)的完整性并回滾所有失敗事務(wù)的變更,同時(shí)事務(wù)處理單元還需將基本服務(wù)調(diào)用單元203、擴(kuò)展服務(wù)調(diào)用單元202的調(diào)用是否成功記錄下來(lái);基本服務(wù)調(diào)用單元202,負(fù)責(zé)組織基本業(yè)務(wù)服務(wù)的輸入?yún)?shù)并根據(jù)參數(shù)來(lái)調(diào)用基本業(yè)務(wù)服務(wù);擴(kuò)展服務(wù)調(diào)用單元203,負(fù)責(zé)調(diào)用擴(kuò)展業(yè)務(wù)服務(wù);調(diào)用結(jié)果整合單元204,負(fù)責(zé)將調(diào)用的基本服務(wù)調(diào)用單元203和擴(kuò)展服務(wù)調(diào)用單元202的結(jié)果進(jìn)行整合;
權(quán)利要求
1.一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法,其特征是,它包括以下步驟A.事件源組織MaS業(yè)務(wù)服務(wù)調(diào)用參數(shù);B.SaaS業(yè)務(wù)服務(wù)引擎將輸入的參數(shù)進(jìn)行解析,根據(jù)輸入?yún)?shù)獲得事務(wù)管理信息,由事務(wù)信息來(lái)判斷是否是一次新調(diào)用,如果不是新調(diào)用并且標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)事務(wù)標(biāo)識(shí)為成功則跳到步驟D直接調(diào)用租戶定制業(yè)務(wù)服務(wù);如果為一次新的服務(wù)調(diào)用或標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)標(biāo)識(shí)為未成功則繼續(xù)步驟C調(diào)用標(biāo)準(zhǔn)業(yè)務(wù)服務(wù);C.根據(jù)步驟A中的服務(wù)調(diào)用參數(shù)列表來(lái)組織標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)調(diào)用參數(shù),同時(shí)根據(jù) context.WSDL地址和operation進(jìn)行業(yè)務(wù)服務(wù)選擇、映射、調(diào)用,調(diào)用完成后由事務(wù)處理單元將標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)事務(wù)標(biāo)識(shí)更新為成功;D.從數(shù)據(jù)庫(kù)中獲取事件源列表信息和表主鍵列信息,將這些信息和步驟A中的業(yè)務(wù)服務(wù)調(diào)用參數(shù)context、入?yún)⒘斜斫M成租戶定制業(yè)務(wù)服務(wù)調(diào)用參數(shù),同時(shí)根據(jù)標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)名稱和事務(wù)信息來(lái)進(jìn)行租戶定制業(yè)務(wù)服務(wù)的選擇、調(diào)用,調(diào)用完成后由事務(wù)處理單元將租戶定制業(yè)務(wù)服務(wù)事務(wù)標(biāo)識(shí)更新為成功;E.將標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)和租戶定制業(yè)務(wù)服務(wù)的返回結(jié)果進(jìn)行整合;F.將整合后的MaS業(yè)務(wù)服務(wù)返回結(jié)果返回給事件源。
2.如權(quán)利要求1所述的支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法,其特征在于,所述步驟A中事件源組織的MaS業(yè)務(wù)服務(wù)調(diào)用參數(shù)包括context信息、SaaS業(yè)務(wù)服務(wù)定義地址信息、SaaS業(yè)務(wù)服務(wù)操作、原始MaS業(yè)務(wù)服務(wù)參數(shù)和事件源ID。
3.如權(quán)利要求1所述的支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法,其特征在于,所述步驟C中標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)為原始事件源已知并存在固有調(diào)用關(guān)系的服務(wù),它由若干事件源需要調(diào)用的業(yè)務(wù)組成。
4.如權(quán)利要求1所述的支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法,其特征在于,所述步驟D中租戶定制業(yè)務(wù)服務(wù)是由MaS業(yè)務(wù)服務(wù)引擎提供的,包括了查詢、增加、修改和刪除業(yè)務(wù)操作,它主要處理事件源中定制列表中的定制數(shù)據(jù)。
5.一種權(quán)利要求1所述的支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行方法用裝置,其特征在于, 該裝置包括一個(gè)事務(wù)處理單元,它負(fù)責(zé)^aS業(yè)務(wù)服務(wù)引擎中所有事務(wù)的協(xié)調(diào)、并確保在整個(gè)事務(wù)處理過(guò)程中出現(xiàn)失敗或異常時(shí)保證數(shù)據(jù)庫(kù)的完整性并回滾所有失敗事務(wù)的變更,同時(shí)事務(wù)處理單元還將基本業(yè)務(wù)服務(wù)、擴(kuò)展業(yè)務(wù)服務(wù)的調(diào)用是否成功記錄下來(lái),保證了標(biāo)準(zhǔn)服務(wù)與租戶定制服務(wù)、業(yè)務(wù)單元的事務(wù)一致性;一個(gè)基本服務(wù)調(diào)用單元,它負(fù)責(zé)組織基本業(yè)務(wù)服務(wù)的輸入?yún)?shù),同時(shí)根據(jù)context、 WSDL地址和operation進(jìn)行基本業(yè)務(wù)服務(wù)選擇、映射、調(diào)用;一個(gè)擴(kuò)展服務(wù)調(diào)用單元,它負(fù)責(zé)根據(jù)事務(wù)信息來(lái)組織參數(shù)調(diào)用擴(kuò)展業(yè)務(wù)服務(wù),擴(kuò)展服務(wù)調(diào)用單元從數(shù)據(jù)庫(kù)中獲取事件源列表信息和表主鍵列信息,將這些信息和context、入?yún)⒘斜斫M成租戶定制業(yè)務(wù)服務(wù)調(diào)用參數(shù),同時(shí)根據(jù)標(biāo)準(zhǔn)業(yè)務(wù)服務(wù)名稱和事務(wù)信息來(lái)進(jìn)行租戶定制業(yè)務(wù)服務(wù)的選擇、調(diào)用;一個(gè)服務(wù)調(diào)用結(jié)果整合單元,它負(fù)責(zé)將調(diào)用的基本業(yè)務(wù)服務(wù)和擴(kuò)展業(yè)務(wù)服務(wù)的結(jié)果進(jìn)行整合。
全文摘要
本發(fā)明涉及一種支持多租戶數(shù)據(jù)與服務(wù)定制運(yùn)行的方法和裝置,以提高整個(gè)軟件的可定制性,使得事務(wù)一致性更好。它包括事務(wù)處理單元,負(fù)責(zé)SaaS業(yè)務(wù)服務(wù)引擎中所有事務(wù)的協(xié)調(diào)、并可確保在整個(gè)事務(wù)處理過(guò)程中出現(xiàn)失敗或異常時(shí)保證數(shù)據(jù)庫(kù)的完整性并回滾所有失敗事務(wù)的變更,同時(shí)事務(wù)處理單元還需將基本服務(wù)調(diào)用單元、擴(kuò)展服務(wù)調(diào)用單元的調(diào)用是否成功記錄下來(lái);基本服務(wù)調(diào)用單元,負(fù)責(zé)組織基本業(yè)務(wù)服務(wù)的輸入?yún)?shù)并根據(jù)參數(shù)來(lái)調(diào)用基本業(yè)務(wù)服務(wù);擴(kuò)展服務(wù)調(diào)用單元,負(fù)責(zé)調(diào)用擴(kuò)展業(yè)務(wù)服務(wù),調(diào)用結(jié)果整合單元,負(fù)責(zé)將調(diào)用的基本服務(wù)調(diào)用單元和擴(kuò)展服務(wù)調(diào)用單元的結(jié)果進(jìn)行整合。
文檔編號(hào)G06F17/30GK102215264SQ20111015604
公開(kāi)日2011年10月12日 申請(qǐng)日期2011年6月10日 優(yōu)先權(quán)日2011年6月10日
發(fā)明者孔蘭菊, 張世棟, 李慶忠, 王新軍 申請(qǐng)人:山東大學(xué)