一種標準數(shù)據(jù)的同步方法
【技術領域】
[0001]本發(fā)明屬于標準數(shù)據(jù)同步技術領域,涉及一種標準數(shù)據(jù)的同步方法;采用該同步方法能夠提供各標準服務機構系統(tǒng)間標準數(shù)據(jù)的一致性。
【背景技術】
[0002]隨著大數(shù)據(jù)和云計算的發(fā)展,越來越多的新生事物的產(chǎn)生,人們對事物的認知程度和要求不斷提高,現(xiàn)有的標準已不能滿足當前時代的規(guī)定或者不符合現(xiàn)在市場的要求,導致越來越多的標準被修改替代,新生標準也不斷增加,現(xiàn)有標準信息化系統(tǒng)對標準進行有效的管理,并提供相關的標準數(shù)據(jù)或標準服務。但如何提供優(yōu)質(zhì)高效的標準跟蹤服務,保證各標準服務機構系統(tǒng)間標準數(shù)據(jù)的一致性變得頗為重要。
[0003]針對標準信息平臺的標準數(shù)據(jù)一致問題,采用在線同步和離線同步兩種標準同步接口方式,解決標準平臺之間的信息同步,實現(xiàn)企業(yè)自主平臺(企業(yè)自建、推廣建設,類似線下托管模式)、行業(yè)平臺(面向標準多個標準組織,如電力或者水利、檢驗)、下級標準化平臺(如省、市標準化平臺)等多平臺間的標準同步。
[0004]但是現(xiàn)有技術中的標準同步方法無法保證標準數(shù)據(jù)的一致性,也無法實現(xiàn)標準數(shù)據(jù)的可追溯性,降低標準跟蹤服務能力。此為現(xiàn)有技術的不足之處。
[0005]因此,提供設計一種標準數(shù)據(jù)的同步方法,以解決上述技術問題,是非常有必要的。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于,針對上述現(xiàn)有技術存在的缺陷,提供設計一種標準數(shù)據(jù)的同步方法,以解決上述技術問題。
[0007]為實現(xiàn)上述目的,本發(fā)明給出以下技術方案:
一種標準數(shù)據(jù)的同步方法,包括標準數(shù)據(jù)題錄同步的步驟和標準數(shù)據(jù)文本同步的步驟,其特征在于:
所述的標準數(shù)據(jù)題錄同步的步驟包括如下步驟:
S101:標準數(shù)據(jù)同步客戶端獲取標準數(shù)據(jù)題錄的同步標識;
S102:封裝標準數(shù)據(jù)同步客戶端的調(diào)用請求獲取題錄同步日志接口 ;
S103:標準數(shù)據(jù)同步服務端根據(jù)標準數(shù)據(jù)題錄的同步標識,取出需要同步的標準數(shù)據(jù);
S104:標準數(shù)據(jù)同步服務端根據(jù)S103中取出的標準數(shù)據(jù),判斷標準數(shù)據(jù)同步客戶端的同步權限,根據(jù)用戶權限,獲取標準同步數(shù)據(jù)LIST ;
S105:封裝需要同步的標準數(shù)據(jù)LIST〈id,v>、同步標識、返回狀態(tài)碼以及錯誤碼,并通過同步日志發(fā)送至標準數(shù)據(jù)同步客戶端的數(shù)據(jù)接收接口 ;
S106:標準數(shù)據(jù)同步客戶端判斷返回狀態(tài)碼以及錯誤碼:
當返回狀態(tài)碼為FAIL并且錯誤碼為QUERY_BIBL0GS_N0FIND時,表示此時客戶端的標準庫為最新狀態(tài)無需同步,轉(zhuǎn)到S101;
當返回狀態(tài)碼為SUCCESS并且list結果集為空時,表示根據(jù)當前標識取出的這批同步標準數(shù)據(jù),客戶端沒有權限同步,因此沒有返回標準ID,轉(zhuǎn)到S101 ;
當返回狀態(tài)碼為SUCCESS并且list結果集不為空時,轉(zhuǎn)到S107 ;
S107:標準數(shù)據(jù)同步客戶端將S105中的需要同步的標準數(shù)據(jù)LIST〈id,v>,與本地題庫錄中的版本進行比較,如果一致則更新同步標識后轉(zhuǎn)到S101 ;否則,將比對數(shù)據(jù)版本之后剩余的需要同步的標準數(shù)據(jù)LIST〈id>進行封裝,請求同步數(shù)據(jù);
S108:標準數(shù)據(jù)同步服務端接收參數(shù)LIST (id);
S109:標準數(shù)據(jù)同步服務端取出存儲LIST (id);
S110:比對S108中的LIST〈id〉與S109中的LIST〈id〉,根據(jù)比對結果,查詢標準,獲取標準數(shù)據(jù),返回同步標準數(shù)據(jù);服務端經(jīng)過處理返回3個標準集合,一是根據(jù)ID取出的標準題錄的最新信息列表,客戶端根據(jù)標準最新的信息進行處理;二是根據(jù)ID沒有查到此條標準,說明服務端已經(jīng)將此標準刪除;三是客戶端沒有根據(jù)上一個接口嚴格的按照模式組合標準ID列表參數(shù),私自添加ID或者組合錯誤,返回的沒有權限同步的標準ID列表;S111:標準數(shù)據(jù)同步客戶端接收同步數(shù)據(jù);
S112:同步題錄,更改同步標識,轉(zhuǎn)到S101 ;
所述的標準數(shù)據(jù)文本同步的步驟包括如下步驟:
S201:標準數(shù)據(jù)同步客戶端獲取文本同步標識;
S202:封裝標準數(shù)據(jù)同步客戶端的請求數(shù)據(jù),請求獲取標準文本同步日志接口 ;
S203:標準數(shù)據(jù)同步服務端根據(jù)文本同步標識取出需要同步的標準數(shù)據(jù);
S204:標準數(shù)據(jù)同步服務端根據(jù)S203中取出的標準數(shù)據(jù),判斷標準數(shù)據(jù)同步客戶端的同步權限,根據(jù)用戶權限,獲取標準同步數(shù)據(jù)LIST ;
S205:封裝需要同步的標準數(shù)據(jù)LIST〈id,v>、同步標識、返回狀態(tài)碼以及錯誤碼,并通過同步日志發(fā)送至標準數(shù)據(jù)同步客戶端的數(shù)據(jù)接收接口 ;
S206:標準數(shù)據(jù)同步客戶端判斷返回狀態(tài)碼以及錯誤碼:
當返回狀態(tài)碼為FAIL并且錯誤碼為QUERY_BIBLOGS_NOFIND時,表示此時客戶端的標準庫為最新狀態(tài)無需同步,轉(zhuǎn)到S201 ;
當返回狀態(tài)碼為SUCCESS并且list結果集為空時,表示根據(jù)當前標識取出的這批同步標準數(shù)據(jù),客戶端沒有權限同步,因此沒有返回標準ID,轉(zhuǎn)到S201 ;
當返回狀態(tài)碼為SUCCESS并且list結果集不為空時,轉(zhuǎn)到S207 ;
S207:根據(jù)返回的數(shù)據(jù)標準ID對應的文本版本號,與本地庫的數(shù)據(jù)進行比較,當本地庫的這條標準的文本版本號比返回的文本版本號大或者相等時,此條標準文本表示是最新狀態(tài)無需同步,轉(zhuǎn)到S201,否則,將比對數(shù)據(jù)版本之后剩余的需要同步的標準數(shù)據(jù)LIST〈id>進行封裝,請求同步數(shù)據(jù);
經(jīng)過S207操作后剩余的標準文本同步集合數(shù)據(jù),當此集合中已經(jīng)沒有數(shù)據(jù)時可以直接根據(jù)返回的文本同步標識進行下一次的請求獲取文本同步日志接口的調(diào)用,當還剩有數(shù)據(jù)時需要數(shù)據(jù)ID通過拼接字符串ID1; ID2; ID3; ID4的模式,用英文狀態(tài)下的分號拼接起來作為參數(shù),私自添加的標準主鍵ID會在無權限同步列表中返回;
S208:標準數(shù)據(jù)同步服務端接收參數(shù)LIST (id); S209:標準數(shù)據(jù)同步服務端對S208中接受到的LIST (id)進行處理,
如果LIST (id)合法,則返回根據(jù)ID取出的標準文本的下載加密key信息,并轉(zhuǎn)到S211 ;
如果標準文本過大,則返回標準文本過大的標準主鍵的列表,并轉(zhuǎn)到S210 ;
根據(jù)ID沒有查到此條標準,則返回標準已被刪除信息,并轉(zhuǎn)到S210 ;
如果數(shù)據(jù)標準同步客戶端沒有根據(jù)上一個接口嚴格的按照模式組合標準ID列表參數(shù),私自添加ID或者組合錯誤返回沒有權限同步的標準ID列表,并轉(zhuǎn)到S210 ;
5210:標準數(shù)據(jù)同步客戶端接收文本同步數(shù)據(jù),并處理返回數(shù)據(jù),更改文本同步標識后,轉(zhuǎn)到S201 ;
5211:標準數(shù)據(jù)同步客戶端接收文本同步數(shù)據(jù),并處理返回數(shù)據(jù),調(diào)用文本下載接口 ; S212:標準數(shù)據(jù)同步服務端接收文本下載接口的參數(shù)(標準ID,加密碼downKey); S213:服務端處理請求返回標準文本數(shù)據(jù)流,或者返回錯誤信息;
S214:文本下載數(shù)據(jù)流,返回文本數(shù)據(jù)流;
S215:標準數(shù)據(jù)同步客戶端接收數(shù)據(jù)流,存儲標準文本;同步結束。
[0008]優(yōu)選地,所述步驟S101中的同步標識是指,上次同步數(shù)據(jù)時服務端傳回的同步標識或者首次同步時由服務端給的同步標識。
[0009]優(yōu)選地,所述步驟S201中的文本同步標識是指,上次文本同步數(shù)據(jù)時服務端傳回的參數(shù),或者首次同步時有服務端給的文本同步標識。
[0010]本發(fā)明的有益效果在于,通過標準同步接口機制,實現(xiàn)多平臺間標準題錄和標準文本的同步,解決不斷變更的標準數(shù)據(jù)實時更新需求,保證標準數(shù)據(jù)的一致性和標準數(shù)據(jù)的可追溯性,滿足用戶的需求,提高用戶滿意度,提供標準跟蹤服務,增強標準機構的標準服務能力。
[0011]此外,本發(fā)明設計原理可靠,具有非常廣泛的應用前景。
[0012]由此可見,本發(fā)明與現(xiàn)有技術相比,具有突出的實質(zhì)性特點和顯著地進步,其實施的有益效果也是顯而易見的。
【具體實施方式】
[0013]下面通過具體實施例對本發(fā)明進行詳細闡述,以下實施例是對本發(fā)明的解釋,而本發(fā)明并不局限于以下實施方式。
[0014]本實施例提供一種標準數(shù)據(jù)的同步方法,包括標準數(shù)據(jù)題錄同步的步驟和標準數(shù)據(jù)文本同步的步驟,
所述的標準數(shù)據(jù)題錄同步的步驟包括如下步驟:
S101:標準數(shù)據(jù)同步客戶端獲取標準數(shù)據(jù)題錄的同步標識;
S102:封裝標準數(shù)據(jù)同步客戶端的調(diào)用請求獲取題錄同步日志接口 ;
S103:標準數(shù)據(jù)同步服務端根據(jù)標準數(shù)據(jù)題錄的同步標識,取出需要同步的標準數(shù)據(jù);
S104:標準數(shù)據(jù)同步服務端根據(jù)S103中取出的標準數(shù)據(jù),判斷標準數(shù)據(jù)同步客戶端的同步權限,根據(jù)用戶權限,獲取標準同步數(shù)據(jù)LIST ;
S105:封裝需要同步的標準數(shù)據(jù)LIST〈id,v>、同步標識、返回狀態(tài)碼以及錯誤碼,并通過同步日志發(fā)送至標準數(shù)據(jù)同步客戶端的數(shù)據(jù)接收接口;
S106:標準數(shù)據(jù)同步客戶端判斷返回狀態(tài)碼以及錯誤碼:
當返回狀態(tài)碼為FAIL并且錯誤碼為QUERY_BIBLOGS_NOFIND時,表示此時客戶端的標準庫為最新狀態(tài)無需同步,轉(zhuǎn)到S101 ;
當返回狀態(tài)碼為SUCCESS并且list結果集為空時,表示根據(jù)當前標識取出的這批同步標準數(shù)據(jù),客戶端沒有權限同步,因此沒有返回標準ID,轉(zhuǎn)到S101 ;
當返回狀態(tài)碼為SUCCESS并且list結果集不為空時,轉(zhuǎn)到S107 ;
S107:標準數(shù)據(jù)同步客戶端將S105中的需要同步的標準數(shù)據(jù)LIST〈id,v>,與本地題庫錄中的版本進行比較,如果一致則更新同步標識后轉(zhuǎn)到S101 ;否則,將比對數(shù)據(jù)版本之后剩余的需要同步的標準數(shù)據(jù)LIST〈id>進行封裝,請求同步數(shù)據(jù);
S108:標準數(shù)據(jù)同步服務端接收參數(shù)LIST (id);
S109:標準數(shù)據(jù)同步服務端取出存儲LIST (id);
S110:比對S108中的LIST〈id〉與S109中的LIST〈id〉,根據(jù)比對結果,查詢標準,獲取標準數(shù)據(jù),返回同步標準數(shù)