服務(wù)處理方法、服務(wù)調(diào)用框架、裝置和架構(gòu)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及計算機(jī)技術(shù)領(lǐng)域,并且更具體地,涉及一種服務(wù)處理方法,服務(wù)調(diào)用框架,裝置和架構(gòu)。
【背景技術(shù)】
[0002]目前,大型系統(tǒng)(如大型網(wǎng)站)是基于SOA(Service-Oriented Architecture,面向服務(wù)的體系架構(gòu))來實現(xiàn)的。整個系統(tǒng)被細(xì)分成多個子系統(tǒng),子系統(tǒng)之間通過服務(wù)調(diào)用框架進(jìn)行交互,如通過分布式服務(wù)調(diào)用框架采用同步調(diào)用方式來實現(xiàn)子系統(tǒng)之間的交互,以此提尚系統(tǒng)的效率。
[0003]當(dāng)子系統(tǒng)之間進(jìn)行交互時,例如,某個子系統(tǒng)通過服務(wù)調(diào)用框架調(diào)用其它子系統(tǒng)的服務(wù)(如業(yè)務(wù)處理),如果出現(xiàn)如幾個子系統(tǒng)的接口并發(fā)量很大或者接口處理的業(yè)務(wù)較復(fù)雜等情況時,由于在高并發(fā)時使得業(yè)務(wù)來不及處理或者業(yè)務(wù)復(fù)雜處理時間長,將會出現(xiàn)服務(wù)超時的現(xiàn)象,從而導(dǎo)致業(yè)務(wù)處理失敗。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供一種服務(wù)處理方法,服務(wù)調(diào)用框架,子系統(tǒng)和架構(gòu),能夠提高子系統(tǒng)之間交互的性能,并提高服務(wù)調(diào)用的成功率。
[0005]第一方面,提供了一種服務(wù)處理方法,該方法包括:接收第一子系統(tǒng)發(fā)送的服務(wù)調(diào)用請求,所述服務(wù)調(diào)用請求包括服務(wù)數(shù)據(jù);保存任務(wù)信息以及所述服務(wù)數(shù)據(jù),所述任務(wù)信息用于標(biāo)識所述第一子系統(tǒng)請求的服務(wù);根據(jù)所述任務(wù)信息確定所述第一子系統(tǒng)請求的服務(wù)的處理情況;在所述處理情況為未處理或處理失敗時,根據(jù)所述服務(wù)數(shù)據(jù)向第二子系統(tǒng)調(diào)用所述第一子系統(tǒng)請求的服務(wù)。
[0006]第二方面,提供了一種服務(wù)處理方法,該方法包括:生成服務(wù)調(diào)用請求,所述服務(wù)調(diào)用請求包括服務(wù)數(shù)據(jù);向服務(wù)調(diào)用框架發(fā)送所述服務(wù)調(diào)用請求,以便所述服務(wù)調(diào)用框架保存任務(wù)信息以及所述服務(wù)數(shù)據(jù),其中,所述任務(wù)信息用于標(biāo)識請求的服務(wù)且由所述服務(wù)調(diào)用框架用于確定所述服務(wù)的處理情況,所述服務(wù)數(shù)據(jù)由所述服務(wù)調(diào)用框架用于在所述處理情況為未處理或處理失敗時,向下游子系統(tǒng)調(diào)用所述服務(wù)。
[0007]第三方面,提供了一種服務(wù)處理方法,該方法包括:當(dāng)服務(wù)調(diào)用框架根據(jù)任務(wù)信息確定第一子系統(tǒng)請求的服務(wù)的處理情況為未處理或處理失敗時,接收所述服務(wù)調(diào)用框架發(fā)送的服務(wù)數(shù)據(jù);根據(jù)所述服務(wù)數(shù)據(jù)向所述服務(wù)調(diào)用框架提供所述第一子系統(tǒng)請求的服務(wù);其中,所述任務(wù)信息用于標(biāo)識所述第一子系統(tǒng)請求的服務(wù)且保存在所述服務(wù)調(diào)用框架中,所述服務(wù)數(shù)據(jù)包含在所述服務(wù)調(diào)用請求中并保存在所述服務(wù)調(diào)用框架中。
[0008]第四方面,提供了一種服務(wù)調(diào)用框架,該服務(wù)調(diào)用框架包括接收單元,存儲單元,確定單元和調(diào)用單元,其中所述接收單元,用于接收第一子系統(tǒng)發(fā)送的服務(wù)調(diào)用請求,所述服務(wù)調(diào)用請求包括服務(wù)數(shù)據(jù);所述存儲單元,用于保存任務(wù)信息以及所述接收單元接收的所述服務(wù)數(shù)據(jù),其中所述任務(wù)信息用于標(biāo)識所述第一子系統(tǒng)請求的服務(wù);所述確定單元,用于根據(jù)所述存儲單元保存的所述任務(wù)信息確定所述第一子系統(tǒng)請求的服務(wù)的處理情況;所述調(diào)用單元,用于在所述確定單元確定的所述處理情況為未處理或處理失敗時,根據(jù)所述服務(wù)數(shù)據(jù)向第二子系統(tǒng)調(diào)用所述第一子系統(tǒng)請求的服務(wù)。
[0009]第五方面,提供了一種用于請求調(diào)用服務(wù)的裝置,該用于請求調(diào)用服務(wù)的裝置包括生成單元和發(fā)送單元,其中生成單元用于生成服務(wù)調(diào)用請求,所述服務(wù)調(diào)用請求包括服務(wù)數(shù)據(jù);發(fā)送單元用于向服務(wù)調(diào)用框架發(fā)送所述服務(wù)調(diào)用請求,以便所述服務(wù)調(diào)用框架保存任務(wù)信息以及所述服務(wù)數(shù)據(jù),其中,所述任務(wù)信息用于標(biāo)識所述裝置請求的服務(wù)且由所述服務(wù)調(diào)用框架用于確定所述裝置請求的服務(wù)的處理情況,所述服務(wù)數(shù)據(jù)由所述服務(wù)調(diào)用框架用于在所述處理情況為未處理或處理失敗時,向下游子系統(tǒng)調(diào)用所述裝置請求的服務(wù)。
[0010]第六方面,提供了一種用于處理服務(wù)的裝置,該用于處理服務(wù)的裝置包括接收單元和提供單元,其中接收單元,用于當(dāng)服務(wù)調(diào)用框架根據(jù)任務(wù)信息確定上游子系統(tǒng)請求的服務(wù)的處理情況為未處理或處理失敗時,接收所述服務(wù)調(diào)用框架發(fā)送的服務(wù)數(shù)據(jù);提供單元,用于根據(jù)所述接收單元接收的服務(wù)數(shù)據(jù)向所述服務(wù)調(diào)用框架提供所述上游子系統(tǒng)請求的服務(wù);其中,所述任務(wù)信息用于標(biāo)識所述上游子系統(tǒng)請求的服務(wù)且保存在所述服務(wù)調(diào)用框架中,所述服務(wù)數(shù)據(jù)包含在所述服務(wù)調(diào)用請求中并保存在所述服務(wù)調(diào)用框架中。
[0011]第七方面,提供了一種服務(wù)處理架構(gòu),包括第一子系統(tǒng),第二子系統(tǒng)和服務(wù)調(diào)用框架,其中所述第一子系統(tǒng),用于向所述服務(wù)調(diào)用框架發(fā)送服務(wù)調(diào)用請求,所述服務(wù)調(diào)用請求包括服務(wù)數(shù)據(jù);所述服務(wù)調(diào)用框架用于接收所述第一子系統(tǒng)發(fā)送的所述服務(wù)調(diào)用請求,保存任務(wù)信息以及所述服務(wù)數(shù)據(jù),根據(jù)所述任務(wù)信息確定所述第一子系統(tǒng)請求的服務(wù)的處理情況,在所述處理情況為未處理或處理失敗時,根據(jù)所述服務(wù)數(shù)據(jù)向所述第二子系統(tǒng)調(diào)用所述第一子系統(tǒng)請求的服務(wù),其中所述任務(wù)信息用于標(biāo)識所述第一子系統(tǒng)請求的服務(wù);所述第二子系統(tǒng)用于提供所述第一子系統(tǒng)請求的服務(wù)。
[0012]在本發(fā)明實施例中,通過服務(wù)調(diào)用框架保存了與第一子系統(tǒng)請求的服務(wù)對應(yīng)的任務(wù)信息和服務(wù)數(shù)據(jù),基于保存的任務(wù)信息可以獲知當(dāng)前第一子系統(tǒng)請求的服務(wù)的處理情況,如果當(dāng)前還未處理該第一子系統(tǒng)請求的服務(wù)或者該服務(wù)處理失敗,則服務(wù)調(diào)用框架可以根據(jù)服務(wù)數(shù)據(jù)向第二子系統(tǒng)調(diào)用該服務(wù)。因此,在業(yè)務(wù)未處理或處理失敗導(dǎo)致業(yè)務(wù)超時的情況時,不會導(dǎo)致子系統(tǒng)之間交互的中斷,從而提高了子系統(tǒng)之間交互的性能。另外,在出現(xiàn)業(yè)務(wù)超時時,本發(fā)明的服務(wù)調(diào)用框架也可以采用異步調(diào)用方式,重新調(diào)用第二子系統(tǒng)提供的第一子系統(tǒng)所請求的服務(wù),因而避免了業(yè)務(wù)操作的失敗,提高服務(wù)調(diào)用的成功率。
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1是本發(fā)明一個實施例的服務(wù)處理方法的示意性流程圖。
[0015]圖2是本發(fā)明一個實施例的服務(wù)器集群的示意圖。
[0016]圖3是本發(fā)明一個實施例的服務(wù)處理方法的示意性流程圖。
[0017]圖4是本發(fā)明一個實施例的服務(wù)處理方法的示意性流程圖。
[0018]圖5是本發(fā)明一個實施例的服務(wù)處理架構(gòu)的示意圖。
[0019]圖6是本發(fā)明一個實施例的服務(wù)處理方法的過程的示意性流程圖。
[0020]圖7是本發(fā)明一個實施例的服務(wù)調(diào)用框架的示意性結(jié)構(gòu)框圖。
[0021]圖8是本發(fā)明一個實施例的用于請求調(diào)用服務(wù)的裝置的示意性結(jié)構(gòu)框圖。
[0022]圖9是本發(fā)明一個實施例的用于處理服務(wù)的裝置的示意性結(jié)構(gòu)框圖。
[0023]圖10是本發(fā)明一個實施例的服務(wù)處理架構(gòu)的示意性結(jié)構(gòu)框圖。
[0024]圖11是本發(fā)明一個實施例的設(shè)備的示意框圖。
【具體實施方式】
[0025]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。
[0026]圖1是本發(fā)明一個實施例的服務(wù)處理方法的過程的示意性流程圖。圖1的方法可以由服務(wù)調(diào)用框架執(zhí)行,包括:
[0027]步驟101,接收第一子系統(tǒng)發(fā)送的服務(wù)調(diào)用請求,該服務(wù)調(diào)用請求包括服務(wù)數(shù)據(jù)。
[0028]第一子系統(tǒng)通過服務(wù)調(diào)用框架調(diào)用第二子系統(tǒng)提供的服務(wù)。第一子系統(tǒng)還可以稱為“上游子系統(tǒng)”,在本發(fā)明中即為用于請求調(diào)用服務(wù)的裝置,相應(yīng)地,第二子系統(tǒng)也可以稱為“下游子系統(tǒng)”,在本發(fā)明中即為用于處理服務(wù)的裝置。服務(wù)數(shù)據(jù)可以是業(yè)務(wù)數(shù)據(jù)報文,例如訂購數(shù)據(jù),支付數(shù)據(jù),登錄數(shù)據(jù),搜索數(shù)據(jù)或音/視頻數(shù)據(jù)等。服務(wù)類型還可以是除web服務(wù)外的其它服務(wù)。應(yīng)理解,本發(fā)明對服務(wù)類型和內(nèi)容不作限制。該服務(wù)調(diào)用請求還可以包括第二子系統(tǒng)的標(biāo)識和服務(wù)標(biāo)識(如業(yè)務(wù)標(biāo)識)。
[0029]步驟102,保存任務(wù)信息以及服務(wù)數(shù)據(jù),該任務(wù)信息用于標(biāo)識第一子系統(tǒng)請求的服務(wù)。
[0030]任務(wù)信息可以唯一標(biāo)識第一子系統(tǒng)請求的服務(wù),例如任務(wù)信息可以是由服務(wù)調(diào)用框架生成的與該服務(wù)調(diào)用請求對應(yīng)的標(biāo)識,也可以是服務(wù)調(diào)用請求中的業(yè)務(wù)標(biāo)識,更具體地,如訂單號。應(yīng)理解,本發(fā)明對于任務(wù)信息并不限定。
[0031]步驟103,根據(jù)任務(wù)信息確定第一子系統(tǒng)請求的服務(wù)的處理情況。
[0032]步驟104,在處理情況為未處理或處理失敗時,根據(jù)服務(wù)數(shù)據(jù)向第二子系統(tǒng)調(diào)用第一子系統(tǒng)請求的服務(wù)。
[0033]在本發(fā)明實施例