呂震宇 王嘉興 林永民 張培培 夏永瀅
DOI:10.19850/j.cnki.2096-4706.2024.01.022
收稿日期:2023-04-23
基金項目:河北省高等學(xué)校人文社會科學(xué)研究項目“基于動態(tài)知識管理的應(yīng)急數(shù)據(jù)采集與管理方案設(shè)計”(SD2021049)
摘? 要:針對通用數(shù)據(jù)采集需要采集動態(tài)多樣的數(shù)據(jù),采集任務(wù)需要多級轉(zhuǎn)發(fā),采集到的數(shù)據(jù)需要逐級審核匯總,同時還要確保不同用戶數(shù)據(jù)間的安全隔離等問題,設(shè)計了支持多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)的關(guān)系型數(shù)據(jù)存儲方案。通過為數(shù)據(jù)采集任務(wù)動態(tài)構(gòu)建數(shù)據(jù)字段以及使用序列化LOB,實現(xiàn)了通用數(shù)據(jù)采集任務(wù)的統(tǒng)一關(guān)系型數(shù)據(jù)存儲。借助“自關(guān)聯(lián)表”,實現(xiàn)了填表類與追加類兩種數(shù)據(jù)采集方式下數(shù)據(jù)采集任務(wù)的多級轉(zhuǎn)發(fā)、追蹤與審核匯總。父子任務(wù)的狀態(tài)聯(lián)動躍遷進一步降低了多級數(shù)據(jù)采集中狀態(tài)管理的復(fù)雜度。
關(guān)鍵詞:數(shù)據(jù)采集;多級轉(zhuǎn)發(fā);關(guān)系型數(shù)據(jù)庫
中圖分類號:TP301? 文獻標識碼:A? 文章編號:2096-4706(2024)01-0108-05
Design of Relational Data Storage Scheme for Multi-level Forwarding Data Collection Tasks
LYU Zhenyu, WANG Jiaxing, LIN Yongmin, ZHANG Peipei, XIA Yongying
(School of Economics and Management, North China University of Science and Technology, Tangshan? 063210, China)
Abstract: In response to the need to collect dynamic and diverse data for universal data collection, the collection task requires multi-level forwarding, and the collected data needs to be reviewed and summarized level by level. At the same time, it is necessary to ensure the security isolation between different user data, and other issues. A relational data storage scheme that supports multi-level forwarding data collection tasks has been designed. By dynamically constructing data fields for data collection tasks and using serialized LOBs, unified relational data storage for universal data collection tasks has been achieved. By using the “self association table”, the data collection task can be forwarded, tracked, and reviewed at any level in two types of data collection methods: filling in tables and adding tables. The state linkage transition of parent-child tasks further reduces the complexity of state management in multi-level data collection.
Keywords: data collection; multi-level forwarding; relational database
0? 引? 言
在當今信息時代,數(shù)據(jù)采集的重要性日益凸顯。數(shù)據(jù)采集的質(zhì)量和效率直接影響后續(xù)數(shù)據(jù)處理和決策分析的準確性和可靠性[1]。目前相關(guān)領(lǐng)域已經(jīng)擁有大量專用信息采集系統(tǒng),例如報稅系統(tǒng)、電費收繳系統(tǒng)等。這些系統(tǒng)只適用于本行業(yè)或某項特定的工作,缺乏廣泛的適用性。通用信息采集系統(tǒng)因其適用場景多、采集內(nèi)容靈活多變,應(yīng)用范圍越來越廣,例如網(wǎng)上問卷調(diào)查系統(tǒng)、在線表單等。
數(shù)據(jù)采集按照采集方式可分為填表類和追加類兩種[2]。填表類數(shù)據(jù)采集是指待填寫數(shù)據(jù)與填寫人員一一對應(yīng),用戶只能填寫自己的數(shù)據(jù)記錄,不得對現(xiàn)有數(shù)據(jù)做追加或刪除(例如現(xiàn)有員工聯(lián)系電話信息采集);追加類數(shù)據(jù)采集允許用戶追加或刪除數(shù)據(jù)記錄并填入相關(guān)信息,但不得修改、刪除其他人填寫的記錄(例如運動會參賽項目報名信息采集)。
雖然數(shù)據(jù)采集方式與采集內(nèi)容多種多樣,但數(shù)據(jù)采集任務(wù)通常都需要按照組織層級逐級下發(fā),采集到的數(shù)據(jù)也需要逐級匯總上報。這種采集任務(wù)多級下發(fā)與上報的數(shù)據(jù)采集模式廣泛應(yīng)用于各種領(lǐng)域[3-5],可以有效提高數(shù)據(jù)采集任務(wù)完成效率[6]。此外,數(shù)據(jù)采集對信息隔離性與安全性的要求也比較高,數(shù)據(jù)錄入人員不希望自己錄入的信息被除上級以外的其他人員看到。
綜上,專用信息采集系統(tǒng)功能強大但適用面窄?,F(xiàn)有通用數(shù)據(jù)采集系統(tǒng)多以共享文檔或電子表單形式存在,無法對數(shù)據(jù)采集任務(wù)進行多級轉(zhuǎn)發(fā),采集到的數(shù)據(jù)也無法逐級審核匯總,數(shù)據(jù)的隔離性與安全性較差。因此,需要開發(fā)一種能夠同時支持填表類與追加類數(shù)據(jù)采集,能夠多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)并逐級審核匯總,確保不同人員錄入的數(shù)據(jù)相互隔離的通用數(shù)據(jù)采集系統(tǒng)。
1? 多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)
1.1? 應(yīng)用場景
多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)廣泛應(yīng)用于任務(wù)分配、教育教學(xué)、協(xié)同辦公、應(yīng)急救援、疫情防控等領(lǐng)域。在數(shù)據(jù)采集管理任務(wù)中經(jīng)常會出現(xiàn)需要多級轉(zhuǎn)發(fā)的情況,通常需要進行任務(wù)協(xié)調(diào)和任務(wù)分配[7]。例如在一個復(fù)雜的項目管理中,任務(wù)可能需要分配給多個團隊和個人,我們要確保任務(wù)能夠合理地分配給不同的執(zhí)行者,并按照一定的優(yōu)先級進行調(diào)度。
在教育教學(xué)領(lǐng)域,教師需要向?qū)W生下發(fā)任務(wù)并進行任務(wù)追蹤,還需要收集學(xué)生的基本信息、成績、健康信息等數(shù)據(jù)。任務(wù)往往由學(xué)校下發(fā)到不同院系,再由教師進一步下發(fā)到學(xué)生。任務(wù)的逐級下發(fā)對應(yīng)著任務(wù)逐級匯總上報的需求。對任務(wù)的多級管理有利于高校對教育數(shù)據(jù)的有效管理,提高教學(xué)狀態(tài)評估水平[8]。在協(xié)同辦公領(lǐng)域,需要對任務(wù)數(shù)據(jù)進行分解,分別對任務(wù)進行處理并匯總上報[9]。在應(yīng)急救援領(lǐng)域,需要對各方應(yīng)急物資進行實時動態(tài)統(tǒng)計和追蹤,救援物資信息是不斷更新的,需要對追加型信息進行任務(wù)采集管理,按照不同功能將救援物資分配給相應(yīng)的管理員,對采集任務(wù)進行多級轉(zhuǎn)發(fā)。同樣地,在疫情防控領(lǐng)域,疫情信息的發(fā)布和通報、體溫信息和核酸信息的采集,往往是逐級逐層開展的,需要對信息和采集任務(wù)進行多級化管理[10]。
在這些場景中,任務(wù)多級轉(zhuǎn)發(fā)能夠確保任務(wù)被合理地分配和處理,并且可以跟蹤任務(wù)的狀態(tài)和進度。同時,任務(wù)多級轉(zhuǎn)發(fā)也可以提高工作效率,減少任務(wù)的延誤和錯誤。填表型數(shù)據(jù)采集任務(wù)需要用戶的參與,而追加型數(shù)據(jù)采集任務(wù)則可以通過自動化技術(shù)實現(xiàn)數(shù)據(jù)的持續(xù)更新和追加。
1.2? 多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)活動圖
在一個支持多級轉(zhuǎn)發(fā)的數(shù)據(jù)采集任務(wù)中,一個用戶可能同時承擔數(shù)據(jù)采集任務(wù)的創(chuàng)建者、轉(zhuǎn)發(fā)者、完成者等角色,通過不同角色構(gòu)建相互協(xié)調(diào)配合的數(shù)據(jù)采集任務(wù)鏈條。具體活動圖如圖1所示。
具體活動過程為:任務(wù)發(fā)布者在系統(tǒng)中創(chuàng)建任務(wù)并發(fā)布給第1級任務(wù)完成者。第1級任務(wù)完成者決定該任務(wù)是否轉(zhuǎn)發(fā),如果需要轉(zhuǎn)發(fā)則將該任務(wù)轉(zhuǎn)發(fā)給第2級任務(wù)完成者,此時自己的角色就變成了任務(wù)轉(zhuǎn)發(fā)者,需要對下一級任務(wù)完成者提交的數(shù)據(jù)進行審核,審核通過后上報上一級任務(wù)發(fā)布(轉(zhuǎn)發(fā))者。第2級任務(wù)完成者可根據(jù)情況決定是否將任務(wù)繼續(xù)向下轉(zhuǎn)發(fā),這就形成了數(shù)據(jù)采集任務(wù)的多級轉(zhuǎn)發(fā)和多級審核匯總。如若任務(wù)不需要轉(zhuǎn)發(fā),任務(wù)完成者自己完成數(shù)據(jù)填寫并提交,上一級任務(wù)發(fā)布(轉(zhuǎn)發(fā))者負責對通過自己轉(zhuǎn)發(fā)的采集任務(wù)所采集到的數(shù)據(jù)進行審核。若審核不通過,任務(wù)將被逐級退回至任務(wù)完成人,修改后再逐級上報審核,直至任務(wù)創(chuàng)建者審核通過并終結(jié)任務(wù)。
1.3? 多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)狀態(tài)圖
一個數(shù)據(jù)采集任務(wù)從創(chuàng)建到多級轉(zhuǎn)發(fā)再到最終被提交確認共有9種狀態(tài),分別是:待發(fā)布、待完成、草稿、已轉(zhuǎn)發(fā)、已提交、待審核、已退修、待修改、已完成。由于存在數(shù)據(jù)采集任務(wù)的多級轉(zhuǎn)發(fā),父任務(wù)狀態(tài)和子任務(wù)狀態(tài)通常是分開的,各自獨立變化。但在某些操作下,父任務(wù)狀態(tài)與子任務(wù)狀態(tài)之間存在“聯(lián)動”行為。
圖2展示了父子任務(wù)狀態(tài)躍遷的“聯(lián)動”過程。圖中采用垂直虛線將父任務(wù)、子任務(wù)、孫任務(wù)分割開來;跨越垂直虛線的水平箭頭表示父子任務(wù)間的狀態(tài)“聯(lián)動”。例如在父任務(wù)中執(zhí)行了“任務(wù)轉(zhuǎn)發(fā)”動作,將使父任務(wù)的狀態(tài)變?yōu)椤耙艳D(zhuǎn)發(fā)”,同時子任務(wù)的狀態(tài)變?yōu)椤按瓿伞薄?/p>
2? 通用數(shù)據(jù)采集存儲方案設(shè)計
2.1? 通用數(shù)據(jù)采集系統(tǒng)概念模型設(shè)計
為確保數(shù)據(jù)采集的通用性,在底層數(shù)據(jù)存儲體系方案中采取模式(Schema,采集信息包含的字段)與數(shù)據(jù)相分離的設(shè)計。一個數(shù)據(jù)采集任務(wù)對應(yīng)的數(shù)據(jù)模式包含多個字段,不同的字段擁有不同的字段名、數(shù)據(jù)類型、數(shù)據(jù)長度、約束條件、是否只讀等,存儲在“字段”表中。動態(tài)、靈活的字段組合決定了數(shù)據(jù)采集任務(wù)的通用性。
數(shù)據(jù)采集任務(wù)要下發(fā)給多個數(shù)據(jù)填報者,每個填報者填報一條或多條任務(wù)明細記錄。在自定義數(shù)據(jù)采集模式的約束下,所有采集到的數(shù)據(jù)存儲在任務(wù)明細表中,任務(wù)與任務(wù)明細表之間形成一對多的關(guān)系,如圖3所示。
2.2? 非關(guān)系型數(shù)據(jù)的關(guān)系存儲方案設(shè)計
數(shù)據(jù)采集任務(wù)所采集數(shù)據(jù)的Schema信息是在字段表中動態(tài)定義的,因此不同數(shù)據(jù)采集任務(wù)采集到的數(shù)據(jù)格式也不盡相同,為了實現(xiàn)動態(tài)Schema下的通用數(shù)據(jù)存儲,任務(wù)明細表中除部分通用字段(例如修改時間、創(chuàng)建者等)外,其余信息均通過序列化LOB的形式以字符串格式存儲于數(shù)據(jù)庫之中。首先將采集到的“字段-值”以“Key-Value”的格式轉(zhuǎn)化為數(shù)據(jù)對象并序列化成JSON字符串存儲在“任務(wù)明細”表中。當需要檢索數(shù)據(jù)或?qū)?shù)據(jù)呈現(xiàn)在用戶界面時,可通過反序列化將字符串重新轉(zhuǎn)化為數(shù)據(jù)對象,如圖4所示。
3? 多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)存儲方案設(shè)計
使用自關(guān)聯(lián)表實現(xiàn)多層級任務(wù)轉(zhuǎn)發(fā)的關(guān)系存儲方案設(shè)計,支持數(shù)據(jù)采集任務(wù)的任意多級轉(zhuǎn)發(fā)和匯總,并可有效跟蹤和監(jiān)控任務(wù)的狀態(tài)和進度,從而確保數(shù)據(jù)采集任務(wù)能夠按時完成并保證數(shù)據(jù)采集的準確性和全面性。下面針對填表類和追加類兩種數(shù)據(jù)采集方式,給出支持多級任務(wù)轉(zhuǎn)發(fā)的關(guān)系數(shù)據(jù)存儲方案。
3.1? 填表類數(shù)據(jù)采集任務(wù)數(shù)據(jù)庫設(shè)計
填表類數(shù)據(jù)采集方式下,需要填寫的任務(wù)明細記錄是固定的,填表人無法追加或刪除任務(wù)明細記錄,但可以轉(zhuǎn)發(fā)給他人填寫,最終形成多級轉(zhuǎn)發(fā)模式。多級任務(wù)轉(zhuǎn)發(fā)是一種典型的樹形結(jié)構(gòu)任務(wù)分解的過程,一項任務(wù)被分解給多個人來完成,這些人再繼續(xù)對任務(wù)進行分解,從而形成樹形結(jié)構(gòu)。
填表類數(shù)據(jù)采集任務(wù)多級轉(zhuǎn)發(fā)數(shù)據(jù)庫概念模型設(shè)計如圖5所示。
任務(wù)轉(zhuǎn)發(fā)通過任務(wù)轉(zhuǎn)發(fā)表中的“任務(wù)明細_父任務(wù)明細”自關(guān)聯(lián)關(guān)系實現(xiàn)。任務(wù)轉(zhuǎn)發(fā)表記錄了任務(wù)明細如何被逐級轉(zhuǎn)發(fā)給不同用戶的過程,可以通過控制任務(wù)轉(zhuǎn)發(fā)狀態(tài)來控制數(shù)據(jù)的可見性與可編輯性。
以采集學(xué)生電話號碼為例,輔導(dǎo)員事先準備好所有需要采集電話號碼的學(xué)生名單(采集任務(wù)明細),然后以班為單位將采集任務(wù)下發(fā)給各班班長(任務(wù)轉(zhuǎn)發(fā)),各班班長再將收到的任務(wù)繼續(xù)轉(zhuǎn)發(fā)給各宿舍的宿舍長(多級任務(wù)轉(zhuǎn)發(fā)),最終由宿舍長逐一完成聯(lián)系電話填寫,具體過程如下:
1)初始狀態(tài),如圖6所示。
2)輔導(dǎo)員將采集任務(wù)轉(zhuǎn)發(fā)給班長1、班長2,如圖7所示。
3)班長1將任務(wù)轉(zhuǎn)發(fā)給宿舍長1、宿舍長2,如圖8所示。
3.2? 追加類數(shù)據(jù)采集任務(wù)數(shù)據(jù)庫設(shè)計
追加類數(shù)據(jù)采集模式初始狀態(tài)下任務(wù)明細記錄為空,需要由填表人逐一添加。填報人可以根據(jù)需要添加新記錄,也可以刪除或編輯自己添加的記錄,填報人不具備修改其他人所填寫任務(wù)明細記錄的權(quán)限。這種權(quán)限控制機制有助于保護數(shù)據(jù)的安全性和準確性,防止誤操作或惡意修改。
無論填報人是否添加了記錄,均可將任務(wù)繼續(xù)轉(zhuǎn)發(fā)給其他人員。在轉(zhuǎn)發(fā)任務(wù)時,被轉(zhuǎn)發(fā)者將獲得向任務(wù)明細表中添加記錄的權(quán)限。為了確保數(shù)據(jù)的完整性和可追溯性,每條記錄的狀態(tài)需要單獨記錄,而不是使用任務(wù)轉(zhuǎn)發(fā)表進行記錄。這種記錄方式有助于確保任務(wù)執(zhí)行情況的準確性,并為后續(xù)的數(shù)據(jù)分析和處理提供依據(jù)。追加類數(shù)據(jù)采集任務(wù)多級轉(zhuǎn)發(fā)數(shù)據(jù)庫概念模型設(shè)計如圖9所示。
以運動會報名任務(wù)為例,學(xué)校首先創(chuàng)建運動會報名數(shù)據(jù)采集任務(wù),然后將任務(wù)轉(zhuǎn)發(fā)給各個學(xué)院的輔導(dǎo)員,輔導(dǎo)員可以自行向任務(wù)明細表中追加運動會報名記錄,也可以將任務(wù)二次轉(zhuǎn)發(fā)給各班班長,再由各班班長向任務(wù)明細表中追加運動會報名記錄。凡是接到任務(wù)的用戶既有權(quán)向任務(wù)明細表中添加記錄,也有權(quán)將任務(wù)轉(zhuǎn)發(fā),兩種操作可同時進行。
以下步驟列舉了追加類數(shù)據(jù)采集任務(wù)在多級轉(zhuǎn)發(fā)過程中各表格數(shù)據(jù)的變化過程。
1)初始狀態(tài),如圖10所示。
2)輔導(dǎo)員在自己填寫運動會報名記錄的同時將任務(wù)轉(zhuǎn)發(fā)給A1班班長,B學(xué)院輔導(dǎo)員將運動會報名任務(wù)轉(zhuǎn)發(fā)給B1班和B2班班長,如圖11所示。
3)B1班班長將運動會報名任務(wù)再次轉(zhuǎn)發(fā)給B1班支書,B1班支書填寫一條報名記錄,如圖12所示。
追加類任務(wù)的任務(wù)狀態(tài)記錄在任務(wù)明細表中,無須多級審核。任務(wù)發(fā)起人擁有對任務(wù)的最終審核權(quán)。這種設(shè)計模式不僅能夠靈活處理多級任務(wù)轉(zhuǎn)發(fā)的關(guān)系存儲,還能夠很好地支持查詢和更新操作。對任務(wù)進行分層和組織,能夠更加清晰地描述任務(wù)之間的關(guān)系,有利于任務(wù)的分配和管理。
3.3? 支持兩種采集方式的數(shù)據(jù)庫設(shè)計
混合填表類與追加類數(shù)據(jù)采集數(shù)據(jù)庫設(shè)計,得到如圖13所示的同時支持兩種數(shù)據(jù)采集方式的多級轉(zhuǎn)發(fā)數(shù)據(jù)庫設(shè)計方案。在該方案中,通過引入“任務(wù)類型”實體區(qū)分兩種不同的數(shù)據(jù)采集類型;新設(shè)計的任務(wù)轉(zhuǎn)發(fā)表可以同時支持兩種數(shù)據(jù)采集任務(wù)的多級轉(zhuǎn)發(fā),實現(xiàn)了多級轉(zhuǎn)發(fā)通用數(shù)據(jù)采集系統(tǒng)的關(guān)系型數(shù)據(jù)存儲設(shè)計。
4? 結(jié)? 論
多級轉(zhuǎn)發(fā)數(shù)據(jù)采集任務(wù)的關(guān)系數(shù)據(jù)存儲方案已成功應(yīng)用于《通用應(yīng)急數(shù)據(jù)采集管理系統(tǒng)》,并取得了良好的數(shù)據(jù)采集任務(wù)多級轉(zhuǎn)發(fā)與逐級匯總效果。用戶在系統(tǒng)中輸入的數(shù)據(jù)彼此隔離,確保了數(shù)據(jù)的安全性。實踐表明,動態(tài)任務(wù)模式(Schema)與基于序列化LOB的數(shù)據(jù)存儲方案設(shè)計能夠有效支撐通用數(shù)據(jù)采集任務(wù);基于“自關(guān)聯(lián)表”的任務(wù)轉(zhuǎn)發(fā)關(guān)系型數(shù)據(jù)存儲設(shè)計,能夠同時支持填表類和追加類兩種數(shù)據(jù)采集方式的多級任務(wù)轉(zhuǎn)發(fā)與追蹤。
參考文獻:
[1] 姚俊萍,范守祥,李曉軍.網(wǎng)絡(luò)數(shù)據(jù)多通道采集質(zhì)量跨層控制方法仿真 [J].計算機仿真,2019,36(10):289-292.
[2] 王小鳳.表格數(shù)據(jù)的采集和處理 [D].蘇州:蘇州大學(xué),2002.
[3] 李華,楊湘江,趙兵.一種應(yīng)用于電力信息采集系統(tǒng)安全任務(wù)下發(fā)的方法 [J].電測與儀表,2014,51(6):92-94.
[4] 李銀,廖麗華.一種可快速多層級下發(fā)任務(wù)的目標管理系統(tǒng) [J].信息通信,2019(12):147-149.
[5] 李林,鄭海寧,彭帆,等.基于表驅(qū)動的動態(tài)數(shù)據(jù)上報管理系統(tǒng)研究 [J].農(nóng)業(yè)機械學(xué)報,2017,48(12):190-201.
[6] 葉超,許洪云,李紫川,等.基于演化博弈的多智能體任務(wù)轉(zhuǎn)發(fā)機制 [J].計算機應(yīng)用與軟件,2015,32(4):15-18+103.
[7] 范德一.基于博弈算法的多智能體系統(tǒng)任務(wù)轉(zhuǎn)發(fā)的研究 [D].天津:天津理工大學(xué),2021.
[8] 曲亮生,李宇輝,宋瑤瑤.高等院校教育數(shù)據(jù)采集項目管理成熟度研究 [J].項目管理技術(shù),2022,20(11):99-102.
[9] 李亞明.基于用戶體驗的CSCW在線文檔平臺交互設(shè)計研究 [D]. 濟南:山東大學(xué),2020.
[10] 熊光魁,李良成,吳永勝,等.災(zāi)害疫情、突發(fā)衛(wèi)生事件信息管理系統(tǒng)的實現(xiàn)與應(yīng)用 [J].中國預(yù)防醫(yī)學(xué)雜志,2002(3):39-42.
作者簡介:呂震宇(1976—),男,漢族,山東安丘人,教授,碩士,研究方向:信息管理與信息系統(tǒng)、數(shù)據(jù)分析與挖掘。