本發(fā)明涉及信息化技術(shù)領(lǐng)域,具體涉及一種復(fù)雜大數(shù)據(jù)的采集方法。
背景技術(shù):
在當今信息技術(shù)時代,每年的信息量成幾何增長,各個行業(yè)和運營主體出于信息整合的需要,建立了諸多數(shù)據(jù)庫。但這些數(shù)據(jù)庫往往局限于本行業(yè)、甚至特定小群體專用,缺乏社會層面各相關(guān)部門、供需方之間的交流和溝通,更沒有形成社會共享服務(wù)體系;國家各類科技計劃項目所產(chǎn)生的科學數(shù)據(jù),也沒能得到有效的管理和利用。這樣就導(dǎo)致了各種科技資源及其數(shù)據(jù)庫標準化、規(guī)范化、體系化程度低,更新維護不便,相當一部分數(shù)據(jù)庫根本沒有標準可循。
針對科技資源的共享,需要建立一種大區(qū)域的信息化服務(wù)系統(tǒng),來促進企業(yè)及整個社會的科技創(chuàng)新能力。中國專利文獻CN104835082A即提出了一種科技資源的信息共享服務(wù)系統(tǒng),該系統(tǒng)的終端設(shè)備用于采集科技資源信息,采集后的數(shù)據(jù)儲存在數(shù)據(jù)庫中進行匯集、分類,數(shù)據(jù)庫將信息通過互聯(lián)網(wǎng)上傳至政策法規(guī)服務(wù)平臺、項目申報指導(dǎo)平臺、科技成果展示平臺、科技人才數(shù)據(jù)平臺等,從而將不同類型、不同主題、不同功能的科技資源匯集,通過互聯(lián)網(wǎng)提供政策法規(guī)查詢、企業(yè)成果展示、項目申報規(guī)范指導(dǎo)等服務(wù)。
不過,上述專利文獻提出的系統(tǒng)架構(gòu)在實際操作過程中存在一些技術(shù)障礙和問題,導(dǎo)致難以有效實現(xiàn)大數(shù)據(jù)的科技資源整合。這其中最主要的問題就是科技資源數(shù)據(jù)來源不同,結(jié)構(gòu)不一致,不同應(yīng)用平臺間不可共享數(shù)據(jù),數(shù)據(jù)同步困難,應(yīng)用平臺間數(shù)據(jù)交換標準不統(tǒng)一等,要實現(xiàn)后期的平臺服務(wù),在采集階段就需要做大量的數(shù)據(jù)整合工作;而如果人為介入進行辨識、管理,則效率難免降低。
技術(shù)實現(xiàn)要素:
本發(fā)明提出一種基于科技資源大數(shù)據(jù)的采集方法,在合理的硬件支持下完成大數(shù)據(jù)的采集(整合),提高系統(tǒng)的數(shù)據(jù)兼容性和更新能力,以便于后期的數(shù)據(jù)存儲和處理。
本發(fā)明的技術(shù)方案如下:
該基于科技資源大數(shù)據(jù)的采集方法,包括以下步驟:
1)基于HTTP協(xié)議接收數(shù)據(jù)包;
2)解析數(shù)據(jù)包:
2.1)格式校驗:
檢驗所接收到的數(shù)據(jù)包是否滿足設(shè)定格式,所述設(shè)定格式包括校驗區(qū)和數(shù)據(jù)集合,其中數(shù)據(jù)集合主要由操作區(qū)以及數(shù)據(jù)區(qū)和/或流數(shù)據(jù)區(qū)組成,操作區(qū)用于存放狀態(tài)信息,數(shù)據(jù)區(qū)、流數(shù)據(jù)區(qū)用于存放操作對象及身份信息;若操作對象屬于業(yè)務(wù)數(shù)據(jù),則操作對象及身份信息以json數(shù)據(jù)格式存入數(shù)據(jù)區(qū);若操作對象為文檔、圖片和/或視頻,則操作對象及身份信息存入流數(shù)據(jù)區(qū);所述操作對象的更新通過改變操作區(qū)中的狀態(tài)信息來實現(xiàn);
如果滿足設(shè)定格式,則進行步驟2.2),否則拒絕接收該數(shù)據(jù)包;
2.2)安全校驗:
2.2.1)從數(shù)據(jù)包中的校驗區(qū)提取校驗信息,所述校驗信息包含身份信息;
2.2.2)將校驗信息與系統(tǒng)的用戶庫中預(yù)先錄入的用戶信息進行比對:
若校驗信息與用戶信息一致,執(zhí)行步驟2.3),否則拒絕接收該數(shù)據(jù)包;
2.3)采集
2.3.1)業(yè)務(wù)校驗及業(yè)務(wù)數(shù)據(jù)采集
如果數(shù)據(jù)包設(shè)定有數(shù)據(jù)區(qū),則從數(shù)據(jù)區(qū)中提取業(yè)務(wù)數(shù)據(jù),并與系統(tǒng)的業(yè)務(wù)模型庫中模型數(shù)據(jù)進行比對,若一致,則完成API采集過程,存入系統(tǒng);否則拒絕接收該數(shù)據(jù)包;
2.3.2)流數(shù)據(jù)采集
如果數(shù)據(jù)包設(shè)定有流數(shù)據(jù)區(qū),則從流數(shù)據(jù)區(qū)中提取文檔、圖片和/或視頻,完成API采集過程,存入系統(tǒng)。
在以上方案的基礎(chǔ)上,本發(fā)明還進一步作了以下補充和優(yōu)化:
該采集方法另針對數(shù)據(jù)庫形式的數(shù)據(jù)源且數(shù)據(jù)庫不滿足所述設(shè)定格式時,主動定期請求獲得更新后的數(shù)據(jù)。
該采集方法另針對離線的數(shù)據(jù)源,采用移動存儲介質(zhì)取得數(shù)據(jù)。
上述步驟2.1)在檢驗所接收到的數(shù)據(jù)包是否滿足設(shè)定格式后,還對數(shù)據(jù)區(qū)和/或流數(shù)據(jù)區(qū)中的身份信息進行解密;如果解密得到身份信息,才執(zhí)行步驟2.2);否則拒絕接收該數(shù)據(jù)包。而且,對數(shù)據(jù)區(qū)和/或流數(shù)據(jù)區(qū)中的身份信息進行解密失敗后,拒絕接收該數(shù)據(jù)包的同時,還可以提示拒絕接收的原因。
上述用戶庫中預(yù)先錄入的用戶信息包含有設(shè)定的信息來源和信息發(fā)送時間,甚至還可以設(shè)定信息發(fā)送地點。
本發(fā)明具有以下技術(shù)效果:
1、對于具有一定數(shù)據(jù)開發(fā)能力的數(shù)據(jù)源主體(高校、科研院所以及部分企業(yè)等),只需提供相應(yīng)的API接口,即可按照本發(fā)明基于HTTP協(xié)議實現(xiàn)API采集,信息傳輸實時性高,狀態(tài)實時更新,且對硬件配置要求不高。
2、本發(fā)明數(shù)據(jù)包設(shè)定格式主要基于json數(shù)組,通過維護操作區(qū)中的狀態(tài)信息(可分為三種類型:“新增”、“修改”、“刪除”),能夠?qū)崟r更新數(shù)據(jù)區(qū)和流數(shù)據(jù)區(qū)的操作對象。
3、除了API采集外,本發(fā)明還針對不同情況的數(shù)據(jù)源主體,結(jié)合數(shù)據(jù)庫采集(直接從源頭數(shù)據(jù)庫采集,可增量采集)和離線文件采集(數(shù)據(jù)形式可能是不規(guī)則的零散數(shù)據(jù),如簡單的Excel表格記錄的信息),采集方式多樣化,滿足各種雜亂的科技資源數(shù)據(jù),能夠容納各種不同數(shù)據(jù)源。
4、充分考慮了科技資源數(shù)據(jù)源的權(quán)限安全,設(shè)置了多重校驗,不僅對身份合法進行校驗,還對時間合法甚至地點合法進行校驗。
具體實施方式
該基于科技資源大數(shù)據(jù)的采集方法作為數(shù)據(jù)服務(wù)提供方案的前端,需要在合理的硬件支持下完成大數(shù)據(jù)的采集(整合),提高系統(tǒng)的數(shù)據(jù)兼容性和更新能力,以便于在后建立標準企業(yè)表,提供數(shù)據(jù)信息服務(wù),作為行政決策參考。
該采集方法兼顧了三類數(shù)據(jù)源,分別采用不同的信息采集模式。
一、對于具有一定數(shù)據(jù)開發(fā)能力的數(shù)據(jù)源主體,進行基于HTTP協(xié)議的API采集;
二、對于數(shù)據(jù)庫形式的數(shù)據(jù)源且數(shù)據(jù)庫不滿足所述設(shè)定格式時,主動定期請求獲得更新后的數(shù)據(jù)。
三、針對離線的數(shù)據(jù)源,采用移動存儲介質(zhì)取得數(shù)據(jù)。
本發(fā)明著重研究了在線實時采集的方案,每一包數(shù)據(jù)中只有一類數(shù)據(jù),例如A企業(yè)的a(財務(wù)系統(tǒng))數(shù)據(jù),該數(shù)據(jù)屬于業(yè)務(wù)數(shù)據(jù),應(yīng)以json數(shù)組格式存放在數(shù)據(jù)包的數(shù)據(jù)區(qū)中。
在接收、解析數(shù)據(jù)包的過程中設(shè)置了三重校驗:格式校驗、安全性校驗以及業(yè)務(wù)校驗。
1)格式校驗:
i)檢驗所接收到的數(shù)據(jù)包是否滿足設(shè)定格式;
所述設(shè)定格式包括校驗區(qū)和數(shù)據(jù)集合,其中數(shù)據(jù)集合主要由操作區(qū)以及數(shù)據(jù)區(qū)和/或流數(shù)據(jù)區(qū)組成,操作區(qū)用于存放狀態(tài)信息,數(shù)據(jù)區(qū)、流數(shù)據(jù)區(qū)用于存放操作對象及身份信息;若操作對象屬于業(yè)務(wù)數(shù)據(jù),則操作對象及身份信息以Json數(shù)據(jù)格式存入數(shù)據(jù)區(qū);若操作對象為文檔、圖片和/或視頻,則操作對象及身份信息存入流數(shù)據(jù)區(qū);所述操作對象的更新通過改變操作區(qū)中的狀態(tài)信息來實現(xiàn);
ii)對數(shù)據(jù)區(qū)和/或流數(shù)據(jù)區(qū)中的身份信息進行解密;如果解密得到身份信息,再進行下一步安全性校驗;否則拒絕接收該數(shù)據(jù)包,并提示拒絕接收的原因。
2)安全性校驗:
從數(shù)據(jù)包中的校驗區(qū)提取校驗信息,所述校驗信息包含身份信息(用戶名、密碼、IP地址、發(fā)送時間等);將校驗信息與系統(tǒng)的用戶庫中預(yù)先錄入的用戶信息進行比對。
3)業(yè)務(wù)校驗:
如果數(shù)據(jù)包設(shè)定有數(shù)據(jù)區(qū),則從數(shù)據(jù)區(qū)中提取業(yè)務(wù)數(shù)據(jù),并與系統(tǒng)的業(yè)務(wù)模型庫中模型數(shù)據(jù)進行比對。
只有校驗完全通過,系統(tǒng)才按照設(shè)定的數(shù)據(jù)格式接收數(shù)據(jù)包,存入系統(tǒng),完成API采集。