两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)同步、獲取方法和裝置與流程

文檔序號:12363186閱讀:307來源:國知局
數(shù)據(jù)同步、獲取方法和裝置與流程

本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)同步、獲取方法和裝置。



背景技術(shù):

目前,越來越多的企業(yè)、商家向第三方開放其內(nèi)部軟件系統(tǒng)的應(yīng)用程序編程接口(API),即,在不需要更改內(nèi)部軟件系統(tǒng)的源代碼的基礎(chǔ)上,使第三方能夠使用內(nèi)部系統(tǒng)資源或者增加內(nèi)部系統(tǒng)功能。

傳統(tǒng)技術(shù)中,軟件系統(tǒng)提供的對外接口都是針對于具有業(yè)務(wù)數(shù)據(jù)的固化的接口,固定的參數(shù)。例如第三方系統(tǒng)需要同步客戶數(shù)據(jù),那么ERP就提供了一個SaveCustomer的接口,其參數(shù)是客戶的數(shù)據(jù)包。上述的固化接口的接口訪問效率有限,當(dāng)?shù)谌较到y(tǒng)需要同步相對較大的客戶數(shù)據(jù)時,如果部署的服務(wù)不足以支持第三方系統(tǒng)的數(shù)據(jù)同步接口的訪問,很可能出現(xiàn)接口訪問失敗或者接口訪問處理時間過長等問題,從而最終導(dǎo)致數(shù)據(jù)同步效率低或者數(shù)據(jù)同步失敗。



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

基于此,有必要針對上述問題,提供一種通過提高接口的訪問效率提高數(shù)據(jù)處理效率的數(shù)據(jù)同步、獲取方法和裝置。

一種數(shù)據(jù)同步方法,所述方法包括:

響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)同步請求,通過第一數(shù)據(jù)接口提取所述數(shù)據(jù)同步請求中待同步的數(shù)據(jù)集合;

通過所述第一數(shù)據(jù)接口將所述數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合,并對應(yīng)每個所述子數(shù)據(jù)集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)同步請求;

通過所述第二數(shù)據(jù)接口響應(yīng)于所述子數(shù)據(jù)同步請求進(jìn)行所述子數(shù)據(jù)的同步,并將同步結(jié)果返回至所述第一數(shù)據(jù)接口;

通過所述第一數(shù)據(jù)接口對接收的所述同步結(jié)果進(jìn)行匯總,并將所述匯總結(jié)果返回至所述第三方系統(tǒng)。

在一個實施例中,所述通過第一數(shù)據(jù)接口將所述數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合,并對應(yīng)每個所述子數(shù)據(jù)集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)同步請求的步驟包括:

通過所述第一數(shù)據(jù)接口將所述數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合;

通過所述第一數(shù)據(jù)接口對應(yīng)每個所述子數(shù)據(jù)集合生成子數(shù)據(jù)同步請求,將生成的所述子數(shù)據(jù)同步請求以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

在一個實施例中,所述通過第一數(shù)據(jù)接口對接收到的所述同步結(jié)果進(jìn)行匯總,并將所述匯總結(jié)果返回至所述第三方系統(tǒng)的步驟為:通過所述第一數(shù)據(jù)接口獲取接收到的所述同步結(jié)果的數(shù)量;當(dāng)獲取的所述數(shù)量與分割的所述子數(shù)據(jù)集合的數(shù)量相同時,對所述同步結(jié)果進(jìn)行匯總,并將所述匯總結(jié)果返回至所述第三方系統(tǒng)。

一種數(shù)據(jù)獲取方法,所述方法包括:

響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)獲取請求,通過第一數(shù)據(jù)接口提取所述數(shù)據(jù)獲取請求中待獲取數(shù)據(jù)集合所包含的數(shù)據(jù)標(biāo)識的數(shù)量信息;

通過所述第一數(shù)據(jù)接口根據(jù)提取的所述數(shù)量信息將所述待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,并對應(yīng)每個所述子數(shù)據(jù)標(biāo)識集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)獲取請求;

通過所述第二數(shù)據(jù)接口響應(yīng)于接收到的所述子數(shù)據(jù)獲取請求進(jìn)行所述子數(shù)據(jù)標(biāo)識集合對應(yīng)的子數(shù)據(jù)集合的調(diào)取,并將調(diào)取的所述子數(shù)據(jù)集合返回至所述第一數(shù)據(jù)接口;

通過所述第一數(shù)據(jù)接口對接收的所述子數(shù)據(jù)集合進(jìn)行匯總,并將匯總后的數(shù)據(jù)返回至所述第三方系統(tǒng)。

在一個實施例中,所述通過第一數(shù)據(jù)接口根據(jù)提取的所述數(shù)量信息將所述待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,并對應(yīng)每個所述子數(shù)據(jù)標(biāo)識集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)獲取請求的步驟為:

通過所述第一數(shù)據(jù)接口根據(jù)提取的所述數(shù)量信息將所述待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合;

通過所述第一數(shù)據(jù)接口對應(yīng)每個所述子數(shù)據(jù)標(biāo)識集合生成子數(shù)據(jù)獲取請求,并將所述子數(shù)據(jù)獲取請求以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

一種數(shù)據(jù)同步裝置,所述裝置包括:

同步請求接收模塊,用于響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)同步請求,通過第一數(shù)據(jù)接口提取所述數(shù)據(jù)同步請求中待同步的數(shù)據(jù)集合;

子數(shù)據(jù)同步請求模塊,用于通過所述第一數(shù)據(jù)接口將所述數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合,并對應(yīng)每個所述子數(shù)據(jù)集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)同步請求;

子數(shù)據(jù)同步模塊,用于通過所述第二數(shù)據(jù)接口響應(yīng)于所述子數(shù)據(jù)同步請求進(jìn)行所述子數(shù)據(jù)的同步,并將同步結(jié)果返回至所述第一數(shù)據(jù)接口;

同步結(jié)果匯總模塊,用于通過所述第一數(shù)據(jù)接口對接收的所述同步結(jié)果進(jìn)行匯總,并將所述匯總結(jié)果返回至所述第三方系統(tǒng)。

在一個實施例中,所述子數(shù)據(jù)同步請求模塊包括:

數(shù)據(jù)分割模塊,用于通過所述第一數(shù)據(jù)接口將所述數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合;

子數(shù)據(jù)請求并發(fā)模塊,用于通過所述第一數(shù)據(jù)接口對應(yīng)每個所述子數(shù)據(jù)集合生成子數(shù)據(jù)同步請求,并將生成的所述子數(shù)據(jù)同步請求以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

在一個實施例中,所述同步結(jié)果匯總模塊還用于通過所述第一數(shù)據(jù)接口獲取接收到的所述同步結(jié)果的數(shù)量;當(dāng)獲取的所述數(shù)量與分割的所述子數(shù)據(jù)集合的數(shù)量相同時,對所述同步結(jié)果進(jìn)行匯總,并將所述匯總結(jié)果返回至所述第三方系統(tǒng)。

一種數(shù)據(jù)獲取裝置,所述裝置包括:

數(shù)據(jù)請求接收模塊,用于響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)獲取請求,通過第一數(shù)據(jù)接口提取所述數(shù)據(jù)獲取請求中的待獲取數(shù)據(jù)集合所包含的數(shù)據(jù)標(biāo)識的數(shù)量信息;

子數(shù)據(jù)獲取請求模塊,用于通過所述第一數(shù)據(jù)接口根據(jù)提取的所述數(shù)量信息將所述待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,并對應(yīng)每個所述子數(shù)據(jù)標(biāo)識集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)獲取請求;

子數(shù)據(jù)獲取模塊,用于通過所述第二數(shù)據(jù)接口響應(yīng)于接收到的所述子數(shù)據(jù)獲取請求進(jìn)行所述子數(shù)據(jù)標(biāo)識集合對應(yīng)的子數(shù)據(jù)集合的調(diào)取,并將調(diào)取的所述子數(shù)據(jù)集合返回至所述第一數(shù)據(jù)接口;

數(shù)據(jù)匯總模塊,用于通過所述第一數(shù)據(jù)接口對接收的所述子數(shù)據(jù)集合進(jìn)行匯總,并將匯總后的數(shù)據(jù)返回至所述第三方系統(tǒng)。

在一個實施例中,所述子數(shù)據(jù)獲取請求模塊還用于通過所述第一數(shù)據(jù)接口根據(jù)所述提取的數(shù)量信息將所述待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,對應(yīng)每個所述子數(shù)據(jù)標(biāo)識集合生成子數(shù)據(jù)獲取請求,并將所述子數(shù)據(jù)獲取請求以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

上述數(shù)據(jù)同步方法和裝置以及數(shù)據(jù)獲取方法和裝置,設(shè)置兩層數(shù)據(jù)接口,一層接口供外部訪問(也就是第一數(shù)據(jù)接口),一層接口供內(nèi)部訪問(也就是第二數(shù)據(jù)接口)。第一數(shù)據(jù)接口接收外部請求,并將請求的數(shù)據(jù)進(jìn)行分批處理,即將數(shù)量較大的數(shù)據(jù)分割成數(shù)據(jù)相對較小的多批子數(shù)據(jù),并以子數(shù)據(jù)的形式進(jìn)行第二數(shù)據(jù)接口的訪問,由于子數(shù)據(jù)相對于原始數(shù)據(jù)數(shù)據(jù)量成倍縮減,對系統(tǒng)性能要求相對較低,因此,第二數(shù)據(jù)接口可快速響應(yīng)于第一數(shù)據(jù)接口的訪問,并完成對子數(shù)據(jù)的處理,系統(tǒng)對所述子數(shù)據(jù)的處理時間之和遠(yuǎn)遠(yuǎn)小于對未分批的原始數(shù)據(jù)的處理時間,數(shù)據(jù)處理效率更高。

附圖說明

圖1為一個實施例中數(shù)據(jù)同步方法和數(shù)據(jù)獲取方法的應(yīng)用環(huán)境圖;

圖2為一個實施例中數(shù)據(jù)同步方法的流程圖;

圖3為一個實施例中數(shù)據(jù)獲取方法的流程圖;

圖4為一個實施例中數(shù)據(jù)同步方法的結(jié)構(gòu)框圖;

圖5為一個實施例中子數(shù)據(jù)同步請求模塊的結(jié)構(gòu)框圖;

圖6為一個實施例中數(shù)據(jù)獲取方法的結(jié)構(gòu)框圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

如圖1所示,在一個實施例中,提供了一種數(shù)據(jù)同步方法和數(shù)據(jù)獲取方法運行的應(yīng)用環(huán)境圖,該應(yīng)用環(huán)境圖包括內(nèi)部服務(wù)系統(tǒng)110、內(nèi)部服務(wù)系統(tǒng)提供的內(nèi)部訪問接口120和外部訪問接口130以及第三方系統(tǒng)140,其中,第三方系統(tǒng)140可訪問外部訪問接口130,外部訪問接口130可向內(nèi)部訪問接口120發(fā)出訪問請求,內(nèi)部訪問接口120響應(yīng)于外部訪問接口130發(fā)出的訪問請求向內(nèi)部服務(wù)系統(tǒng)110請求服務(wù)。

在一個實施例中,如圖2所示,提供了一種數(shù)據(jù)同步方法,該方法以應(yīng)用在如圖1所示的內(nèi)部服務(wù)系統(tǒng)110中進(jìn)行舉例說明,包括如下步驟:

步驟S202:響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)同步請求,通過第一數(shù)據(jù)接口提取數(shù)據(jù)同步請求中待同步的數(shù)據(jù)集合。

在一個實施例中,第三方系統(tǒng)在接收到終端發(fā)出的數(shù)據(jù)同步指令時,向外發(fā)出數(shù)據(jù)同步請求。在另一個實施例中,第三方系統(tǒng)定期向外部發(fā)出數(shù)據(jù)同步請求,以使外部系統(tǒng)定期同步數(shù)據(jù),這里所說的第三方系統(tǒng)的外部系統(tǒng)即為上述的內(nèi)部服務(wù)系統(tǒng)。

具體的,第三方系統(tǒng)通過訪問內(nèi)部服務(wù)系統(tǒng)的外部訪問接口(也就是第一數(shù)據(jù)接口)向內(nèi)部服務(wù)系統(tǒng)發(fā)送數(shù)據(jù)同步請求,外部訪問接口響應(yīng)于第三方系統(tǒng)的數(shù)據(jù)同步請求,提取該數(shù)據(jù)同步請求攜帶的待同步的數(shù)據(jù)集合,這里的待同步的數(shù)據(jù)集合包括待同步數(shù)據(jù)集合的業(yè)務(wù)類型、包括數(shù)據(jù)的數(shù)量以及每個數(shù)據(jù)的數(shù)據(jù)信息。

步驟S204:通過第一數(shù)據(jù)接口將數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合,并對應(yīng)每個子數(shù)據(jù)集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)同步請求。

具體的,外部訪問接口的接口定義參數(shù)中包含批處理參數(shù)(BatchCount),該批處理參數(shù)用于定義待同步數(shù)據(jù)分割的份數(shù),該批處理參數(shù)的設(shè)定可根據(jù)內(nèi)部系統(tǒng)的服務(wù)器硬件資源以及請求的同步數(shù)據(jù)本體的復(fù)雜度進(jìn)行適時調(diào)整。

外部訪問接口根據(jù)批處理參數(shù)將待同步的數(shù)據(jù)集合分割成該參數(shù)所指定數(shù)量的子數(shù)據(jù)集合。例如,待同步的數(shù)據(jù)集合包括1000條待同步數(shù)據(jù),批處理參數(shù)為20,則外部訪問接口將1000條待同步數(shù)據(jù)分割成20份包括50條待同步數(shù)據(jù)的子數(shù)據(jù)集合。外部訪問接口對應(yīng)每個子數(shù)據(jù)集合生成子數(shù)據(jù)同步請求,并將生成的子數(shù)據(jù)同步請求發(fā)送至第二數(shù)據(jù)接口,也就是外部訪問接口以子數(shù)據(jù)集合的形式訪問內(nèi)部訪問接口。

步驟S206:通過第二數(shù)據(jù)接口響應(yīng)于子數(shù)據(jù)同步請求進(jìn)行子數(shù)據(jù)的同步,并將同步結(jié)果返回至第一數(shù)據(jù)接口。

具體的,內(nèi)部訪問接口(第二數(shù)據(jù)接口)接收外部訪問接口發(fā)出的子數(shù)據(jù)同步請求,為外部訪問接口提供子數(shù)據(jù)同步服務(wù),將子數(shù)據(jù)集合同步至內(nèi)部服務(wù)系統(tǒng)中。同步服務(wù)完成后將同步結(jié)果返回至外部訪問接口。

本實施例中,外部訪問接口對內(nèi)部訪問接口的訪問是用于同步子數(shù)據(jù)集合,由于子數(shù)據(jù)集合是經(jīng)分割后的較小的數(shù)據(jù)集合,內(nèi)部服務(wù)系統(tǒng)的內(nèi)部訪問接口可快速進(jìn)行子數(shù)據(jù)集合的同步,并將同步結(jié)果返回至外部訪問接口。

步驟S208:通過第一數(shù)據(jù)接口對接收的同步結(jié)果進(jìn)行匯總,并將匯總結(jié)果返回至第三方系統(tǒng)。

具體的,由于待同步的數(shù)據(jù)集合被分割成多個子數(shù)據(jù)集合,因此,內(nèi)部訪問接口返回的是對子數(shù)據(jù)集合的同步結(jié)果,外部訪問接口需要對返回的多個子數(shù)據(jù)集合的同步結(jié)果進(jìn)行匯總分析,并將匯總分析得到的匯總結(jié)果返回給第三方系統(tǒng)。

其中,外部訪問接口執(zhí)行的匯總分析可如下所述:被拆分的每個子數(shù)據(jù)集合均具有唯一的子數(shù)據(jù)集合標(biāo)識,如,子數(shù)據(jù)集合標(biāo)識為“1”、“2”、“3”,依以此類推,對應(yīng)上述的子數(shù)據(jù)集合標(biāo)識,內(nèi)部訪問接口返回的子數(shù)據(jù)集合的同步結(jié)果可以為“1=True”或者“1=False”、“2=True”或者“2=False”、“3=True”或者“3=False”,依此類推。

當(dāng)外部訪問接口接收到的所有的子數(shù)據(jù)集合的同步結(jié)果均為True時,外部訪問接口向第三方系統(tǒng)返回匯總結(jié)果為“數(shù)據(jù)同步成功”;當(dāng)外部訪問接口接收到的子數(shù)據(jù)集合的同步結(jié)果不全部為True時,外部訪問接口向第三方系統(tǒng)返回匯總結(jié)果為“數(shù)據(jù)同步失敗”。

本實施例中,內(nèi)部服務(wù)系統(tǒng)響應(yīng)于第三方系統(tǒng)的一個數(shù)據(jù)同步請求,即可完成對請求中待同步的大數(shù)據(jù)量進(jìn)行同步,無需第三方應(yīng)用發(fā)出多個接口訪問請求,也無需架設(shè)多個服務(wù)器去支持該大數(shù)據(jù)量的同步。

本實施例中,設(shè)置兩層數(shù)據(jù)接口,一層接口供外部訪問(也就是第一數(shù)據(jù)接口),一層接口供內(nèi)部調(diào)用(也就是第二數(shù)據(jù)接口)。第一數(shù)據(jù)接口接收外部請求,并將請求的數(shù)據(jù)進(jìn)行分批處理,即將數(shù)量較大的數(shù)據(jù)分割成數(shù)據(jù)量相對較小的多批子數(shù)據(jù),并以子數(shù)據(jù)的形式進(jìn)行第二數(shù)據(jù)接口的訪問,由于子數(shù)據(jù)相對于原始數(shù)據(jù)數(shù)據(jù)量成倍縮減,對系統(tǒng)性能要求相對較低,因此,第二數(shù)據(jù)接口可快速響應(yīng)于第一數(shù)據(jù)接口的訪問,并完成對子數(shù)據(jù)的處理,系統(tǒng)對子數(shù)據(jù)的處理時間之和遠(yuǎn)遠(yuǎn)小于對未分批的原始數(shù)據(jù)的處理時間,數(shù)據(jù)處理效率更高。

舉例來說,待同步的數(shù)據(jù)集合包括1000條待同步數(shù)據(jù),批處理參數(shù)為20,則外部訪問接口將1000條待同步數(shù)據(jù)分割成20份包括50條待同步數(shù)據(jù)的子數(shù)據(jù)集合。內(nèi)部訪問接口響應(yīng)具有1000條待同步數(shù)據(jù)的數(shù)據(jù)集合的同步請求的時間可能需要10s,而內(nèi)部訪問接口響應(yīng)具有50條待同步數(shù)據(jù)的子數(shù)據(jù)集合的同步請求的時間可能只需要0.1s,響應(yīng)上述20批子數(shù)據(jù)集合的時間也僅為2秒,響應(yīng)速度提高數(shù)倍。需要說明的是,上述例子只用于說明本實施例的分批處理數(shù)據(jù)的方案數(shù)據(jù)處理速度更快,但并不僅限于提高上述倍數(shù),具體提高的倍數(shù)依具體的情況各不相同。

在一個實施例中,步驟S206:通過第一數(shù)據(jù)接口將數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合,并對應(yīng)每個子數(shù)據(jù)集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)同步請求包括:

第一數(shù)據(jù)接口將數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合;第一數(shù)據(jù)接口對應(yīng)每個子數(shù)據(jù)集合生成子數(shù)據(jù)同步請求,并將生成的子數(shù)據(jù)同步請求以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

本實施例中,采用多線程并發(fā)的方式進(jìn)行訪問第二數(shù)據(jù)接口,線程數(shù)量依據(jù)分割的子數(shù)據(jù)集合的數(shù)量而定。采用多線程并發(fā)的方式進(jìn)行子數(shù)據(jù)集合的同步處理,有效地提高了第二數(shù)據(jù)接口的執(zhí)行效率。

在一個實施例中,步驟S208:通過第一數(shù)據(jù)接口對接收到的同步結(jié)果進(jìn)行匯總,并將匯總結(jié)果返回至第三方系統(tǒng)為:第一數(shù)據(jù)接口獲取接收到的同步結(jié)果的數(shù)量;當(dāng)獲取的數(shù)量與分割的子數(shù)據(jù)集合的數(shù)量相同時,對同步結(jié)果進(jìn)行匯總,并將匯總結(jié)果返回至第三方系統(tǒng)。

具體的,外部訪問接口實時監(jiān)測接收到的內(nèi)部訪問接口返回的同步結(jié)果的數(shù)量,當(dāng)監(jiān)測到的數(shù)量與子數(shù)據(jù)集合的數(shù)量相同時,則說明內(nèi)部訪問接口已經(jīng)完成所有子數(shù)據(jù)集合線程的處理,待內(nèi)部訪問接口完成所有子數(shù)據(jù)集合的同步處理后,外部訪問接口才啟動對所有同步結(jié)果的匯總分析。

本實施例中,外部訪問接口對返回的同步結(jié)果的數(shù)量進(jìn)行監(jiān)控,能夠有效監(jiān)控內(nèi)部訪問接口是否有漏處理子數(shù)據(jù)集合,保證了數(shù)據(jù)同步的可靠性以及向第三方系統(tǒng)返回的匯總結(jié)果的準(zhǔn)確性。

在一個實施例中,當(dāng)在設(shè)定時間內(nèi)監(jiān)測到的同步結(jié)果的數(shù)量小于分割的子數(shù)據(jù)集合的數(shù)量時,獲取沒有返回同步結(jié)果的子數(shù)據(jù)集合標(biāo)識,并生成該子數(shù)據(jù)集合標(biāo)識對應(yīng)的子數(shù)據(jù)同步請求,重新訪問內(nèi)部訪問接口以進(jìn)行該子數(shù)據(jù)集合標(biāo)識對應(yīng)的子數(shù)據(jù)集合的同步處理。

本實施例中,外部訪問接口可根據(jù)監(jiān)測到的漏處理的子數(shù)據(jù)集合向內(nèi)部訪問接口重新發(fā)起同步請求,提高了數(shù)據(jù)同步的成功率。

在一個實施例中,如圖3所示,提供了一種數(shù)據(jù)獲取方法,該方法以應(yīng)用在如圖1所示的內(nèi)部服務(wù)系統(tǒng)中進(jìn)行舉例說明,包括如下步驟:

步驟S302:響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)獲取請求,通過第一數(shù)據(jù)接口提取數(shù)據(jù)獲取請求中待獲取數(shù)據(jù)集合所包含的數(shù)據(jù)標(biāo)識的數(shù)量信息。

具體的,外部訪問接口接收第三方系統(tǒng)發(fā)送的數(shù)據(jù)獲取請求,該數(shù)據(jù)獲取請求中攜帶待獲取數(shù)據(jù)標(biāo)識的集合,并計算獲取的待獲取數(shù)據(jù)標(biāo)識的集合中所包含的數(shù)據(jù)標(biāo)識的數(shù)量。

步驟S304:通過第一數(shù)據(jù)接口根據(jù)提取的數(shù)量信息將待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,并對應(yīng)每個子數(shù)據(jù)標(biāo)識集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)獲取請求。

外部訪問接口根據(jù)批處理參數(shù)將待獲取數(shù)據(jù)集合所包含的數(shù)據(jù)標(biāo)識分割成該參數(shù)所指定數(shù)量的子數(shù)據(jù)標(biāo)識集合。例如,待獲取的數(shù)據(jù)集合中包括1000個待獲取數(shù)據(jù)標(biāo)識,批處理參數(shù)為20,則外部訪問接口將1000個待獲取數(shù)據(jù)標(biāo)識集合分割成20份包括50個待獲取數(shù)據(jù)的子數(shù)據(jù)標(biāo)識集合。外部訪問接口對應(yīng)每個子數(shù)據(jù)標(biāo)識集合生成子數(shù)據(jù)獲取請求,并將生成的子數(shù)據(jù)獲取請求發(fā)送至第二數(shù)據(jù)接口。

步驟S306:通過第二數(shù)據(jù)接口響應(yīng)于接收到的子數(shù)據(jù)獲取請求進(jìn)行子數(shù)據(jù)標(biāo)識集合對應(yīng)的子數(shù)據(jù)集合的調(diào)取,并將調(diào)取的子數(shù)據(jù)集合返回至第一數(shù)據(jù)接口。

具體的,內(nèi)部訪問接口接收外部訪問接口發(fā)出的子數(shù)據(jù)獲取請求,并為外部訪問接口提供子數(shù)據(jù)集合獲取服務(wù),進(jìn)而將獲取的子數(shù)據(jù)集合返回給外部訪問接口。

本實施例中,外部訪問接口對內(nèi)部訪問接口的訪問是用于對子數(shù)據(jù)集合進(jìn)行獲取,由于子數(shù)據(jù)集合為較小的數(shù)據(jù)集合,內(nèi)部服務(wù)系統(tǒng)的內(nèi)部訪問接口可快速進(jìn)行子數(shù)據(jù)集合的獲取,并將獲取結(jié)果返回至外部訪問接口。

步驟S308:通過第一數(shù)據(jù)接口對接收的子數(shù)據(jù)集合進(jìn)行匯總,并將匯總后的數(shù)據(jù)返回至第三方系統(tǒng)。

具體的,外部訪問接口對接收的子數(shù)據(jù)集合進(jìn)行匯總,匯總生成待獲取的數(shù)據(jù)集合,并將該數(shù)據(jù)集合返回至第三方系統(tǒng)。

本實施例中,設(shè)置兩層數(shù)據(jù)接口,一層接口供外部訪問(也就是第一數(shù)據(jù)接口),一層接口供內(nèi)部訪問(也就是第二數(shù)據(jù)接口)。外部訪問接口將數(shù)據(jù)獲取請求分割成多個子數(shù)據(jù)集合的獲取請求,內(nèi)部訪問接口無需同時對要獲取的大數(shù)據(jù)進(jìn)行一次調(diào)取,而是對分割后的小數(shù)據(jù)進(jìn)行快速調(diào)取,一次調(diào)取的數(shù)據(jù)量大大縮減,系統(tǒng)對子數(shù)據(jù)的處理時間之和遠(yuǎn)遠(yuǎn)小于對未分批的原始數(shù)據(jù)的處理時間,數(shù)據(jù)處理效率更高。

在一個實施例中,步驟S406:通過第一數(shù)據(jù)接口根據(jù)提取的數(shù)量信息將待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,并對應(yīng)每個子數(shù)據(jù)標(biāo)識集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)獲取請求的步驟為:

第一數(shù)據(jù)接口根據(jù)提取的數(shù)量信息將待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合;第一數(shù)據(jù)接口對應(yīng)每個子數(shù)據(jù)標(biāo)識集合生成子數(shù)據(jù)獲取請求,并將子數(shù)據(jù)獲取請求以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

本實施例中,采用多線程并發(fā)的方式進(jìn)行訪問第二數(shù)據(jù)接口,線程數(shù)量依據(jù)分割的子數(shù)據(jù)標(biāo)識集合的數(shù)量而定。采用多線程并發(fā)的方式進(jìn)行子數(shù)據(jù)集合的調(diào)取,有效的提高了第二數(shù)據(jù)接口的執(zhí)行效率。

在一個實施例中,如圖4所示,提供了一種數(shù)據(jù)同步裝置,裝置包括:

同步請求接收模塊402,用于響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)同步請求,通過第一數(shù)據(jù)接口提取數(shù)據(jù)同步請求中的待同步的數(shù)據(jù)集合。

子數(shù)據(jù)同步請求模塊404,用于通過第一數(shù)據(jù)接口將數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合,并對應(yīng)每個子數(shù)據(jù)集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)同步請求。

子數(shù)據(jù)同步模塊406,用于通過第二數(shù)據(jù)接口響應(yīng)于子數(shù)據(jù)同步請求進(jìn)行子數(shù)據(jù)的同步,并將同步結(jié)果返回至第一數(shù)據(jù)接口。

同步結(jié)果匯總模塊408,用于通過第一數(shù)據(jù)接口對接收的同步結(jié)果進(jìn)行匯總,并將匯總結(jié)果返回至第三方系統(tǒng)。

在一個實施例中,如圖5所示,子數(shù)據(jù)同步請求模塊404包括:

數(shù)據(jù)分割模塊502,用于通過第一數(shù)據(jù)接口將數(shù)據(jù)集合分割成設(shè)定數(shù)量的子數(shù)據(jù)集合。

子數(shù)據(jù)并發(fā)請求模塊504,用于通過第一數(shù)據(jù)接口對應(yīng)每個子數(shù)據(jù)集合生成子數(shù)據(jù)同步請求將生成的子數(shù)據(jù)同步請求,并以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

在一個實施例中,同步結(jié)果匯總模塊408還用于通過第一數(shù)據(jù)接口獲取接收到的同步結(jié)果的數(shù)量;當(dāng)獲取的數(shù)量與分割的子數(shù)據(jù)集合的數(shù)量相同時,對同步結(jié)果進(jìn)行匯總,并將匯總結(jié)果返回至第三方系統(tǒng)。

在一個實施例中,如圖6所示,提供了一種數(shù)據(jù)獲取裝置,該裝置包括:

數(shù)據(jù)請求接收模塊602,用于響應(yīng)于第三方系統(tǒng)發(fā)送的數(shù)據(jù)獲取請求,通過第一數(shù)據(jù)接口提取數(shù)據(jù)獲取請求中的待獲取數(shù)據(jù)集合所包含的數(shù)據(jù)標(biāo)識的數(shù)量信息。

子數(shù)據(jù)獲取請求模塊604,用于是通過第一數(shù)據(jù)接口根據(jù)提取的數(shù)量信息將待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,并對應(yīng)子數(shù)據(jù)標(biāo)識集合向第二數(shù)據(jù)接口發(fā)出子數(shù)據(jù)獲取請求。

子數(shù)據(jù)獲取模塊606,用于通過第二數(shù)據(jù)接口響應(yīng)于接收到的子數(shù)據(jù)獲取請求進(jìn)行子數(shù)據(jù)標(biāo)識集合對應(yīng)的子數(shù)據(jù)集合的調(diào)取,并將調(diào)取的子數(shù)據(jù)集合返回至第一數(shù)據(jù)接口。

數(shù)據(jù)匯總模塊608,用于通過第一數(shù)據(jù)接口對接收的子數(shù)據(jù)集合進(jìn)行匯總,并將匯總后的數(shù)據(jù)返回至第三方系統(tǒng)。

在一個實施例中,子數(shù)據(jù)獲取請求模塊604還用于通過第一數(shù)據(jù)接口根據(jù)提取的數(shù)量信息將待獲取數(shù)據(jù)集合分成設(shè)定數(shù)量的子數(shù)據(jù)標(biāo)識集合,對應(yīng)每個子數(shù)據(jù)標(biāo)識集合生成子數(shù)據(jù)獲取請求,并將子數(shù)據(jù)獲取請求以多線程并發(fā)的方式發(fā)送至第二數(shù)據(jù)接口。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,程序可存儲于一計算機可讀取存儲介質(zhì)中,如本發(fā)明實施例中,該程序可存儲于計算機系統(tǒng)的存儲介質(zhì)中,并被該計算機系統(tǒng)中的至少一個處理器執(zhí)行,以實現(xiàn)包括如上述各方法的實施例的流程。其中,存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。

以上實施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。

以上實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
理塘县| 安泽县| 宜兴市| 策勒县| 仁布县| 响水县| 丽水市| 望城县| 陇南市| 东兴市| 玉门市| 定远县| 西峡县| 高安市| 杂多县| 宁城县| 大化| 遵义县| 江永县| 宣城市| 潞西市| 上蔡县| 嫩江县| 益阳市| 华池县| 神木县| 积石山| 上栗县| 靖江市| 大邑县| 中西区| 芜湖市| 河西区| 志丹县| 锡林郭勒盟| 通河县| 紫阳县| 焦作市| 驻马店市| 会同县| 郧西县|