APP下载

多级转发数据采集任务的关系数据存储方案设计

2024-04-14吕震宇王嘉兴林永民张培培夏永滢

现代信息科技 2024年1期
关键词:数据采集

吕震宇 王嘉兴 林永民 张培培 夏永滢

DOI:10.19850/j.cnki.2096-4706.2024.01.022

收稿日期:2023-04-23

基金項目:河北省高等学校人文社会科学研究项目“基于动态知识管理的应急数据采集与管理方案设计”(SD2021049)

摘  要:针对通用数据采集需要采集动态多样的数据,采集任务需要多级转发,采集到的数据需要逐级审核汇总,同时还要确保不同用户数据间的安全隔离等问题,设计了支持多级转发数据采集任务的关系型数据存储方案。通过为数据采集任务动态构建数据字段以及使用序列化LOB,实现了通用数据采集任务的统一关系型数据存储。借助“自关联表”,实现了填表类与追加类两种数据采集方式下数据采集任务的多级转发、追踪与审核汇总。父子任务的状态联动跃迁进一步降低了多级数据采集中状态管理的复杂度。

关键词:数据采集;多级转发;关系型数据库

中图分类号: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  引  言

在当今信息时代,数据采集的重要性日益凸显。数据采集的质量和效率直接影响后续数据处理和决策分析的准确性和可靠性[1]。目前相关领域已经拥有大量专用信息采集系统,例如报税系统、电费收缴系统等。这些系统只适用于本行业或某项特定的工作,缺乏广泛的适用性。通用信息采集系统因其适用场景多、采集内容灵活多变,应用范围越来越广,例如网上问卷调查系统、在线表单等。

数据采集按照采集方式可分为填表类和追加类两种[2]。填表类数据采集是指待填写数据与填写人员一一对应,用户只能填写自己的数据记录,不得对现有数据做追加或删除(例如现有员工联系电话信息采集);追加类数据采集允许用户追加或删除数据记录并填入相关信息,但不得修改、删除其他人填写的记录(例如运动会参赛项目报名信息采集)。

虽然数据采集方式与采集内容多种多样,但数据采集任务通常都需要按照组织层级逐级下发,采集到的数据也需要逐级汇总上报。这种采集任务多级下发与上报的数据采集模式广泛应用于各种领域[3-5],可以有效提高数据采集任务完成效率[6]。此外,数据采集对信息隔离性与安全性的要求也比较高,数据录入人员不希望自己录入的信息被除上级以外的其他人员看到。

综上,专用信息采集系统功能强大但适用面窄。现有通用数据采集系统多以共享文档或电子表单形式存在,无法对数据采集任务进行多级转发,采集到的数据也无法逐级审核汇总,数据的隔离性与安全性较差。因此,需要开发一种能够同时支持填表类与追加类数据采集,能够多级转发数据采集任务并逐级审核汇总,确保不同人员录入的数据相互隔离的通用数据采集系统。

1  多级转发数据采集任务

1.1  应用场景

多级转发数据采集任务广泛应用于任务分配、教育教學、协同办公、应急救援、疫情防控等领域。在数据采集管理任务中经常会出现需要多级转发的情况,通常需要进行任务协调和任务分配[7]。例如在一个复杂的项目管理中,任务可能需要分配给多个团队和个人,我们要确保任务能够合理地分配给不同的执行者,并按照一定的优先级进行调度。

在教育教学领域,教师需要向学生下发任务并进行任务追踪,还需要收集学生的基本信息、成绩、健康信息等数据。任务往往由学校下发到不同院系,再由教师进一步下发到学生。任务的逐级下发对应着任务逐级汇总上报的需求。对任务的多级管理有利于高校对教育数据的有效管理,提高教学状态评估水平[8]。在协同办公领域,需要对任务数据进行分解,分别对任务进行处理并汇总上报[9]。在应急救援领域,需要对各方应急物资进行实时动态统计和追踪,救援物资信息是不断更新的,需要对追加型信息进行任务采集管理,按照不同功能将救援物资分配给相应的管理员,对采集任务进行多级转发。同样地,在疫情防控领域,疫情信息的发布和通报、体温信息和核酸信息的采集,往往是逐级逐层开展的,需要对信息和采集任务进行多级化管理[10]。

在这些场景中,任务多级转发能够确保任务被合理地分配和处理,并且可以跟踪任务的状态和进度。同时,任务多级转发也可以提高工作效率,减少任务的延误和错误。填表型数据采集任务需要用户的参与,而追加型数据采集任务则可以通过自动化技术实现数据的持续更新和追加。

1.2  多级转发数据采集任务活动图

在一个支持多级转发的数据采集任务中,一个用户可能同时承担数据采集任务的创建者、转发者、完成者等角色,通过不同角色构建相互协调配合的数据采集任务链条。具体活动图如图1所示。

具体活动过程为:任务发布者在系统中创建任务并发布给第1级任务完成者。第1级任务完成者决定该任务是否转发,如果需要转发则将该任务转发给第2级任务完成者,此时自己的角色就变成了任务转发者,需要对下一级任务完成者提交的数据进行审核,审核通过后上报上一级任务发布(转发)者。第2级任务完成者可根据情况决定是否将任务继续向下转发,这就形成了数据采集任务的多级转发和多级审核汇总。如若任务不需要转发,任务完成者自己完成数据填写并提交,上一级任务发布(转发)者负责对通过自己转发的采集任务所采集到的数据进行审核。若审核不通过,任务将被逐级退回至任务完成人,修改后再逐级上报审核,直至任务创建者审核通过并终结任务。

1.3  多级转发数据采集任务状态图

一个数据采集任务从创建到多级转发再到最终被提交确认共有9种状态,分别是:待发布、待完成、草稿、已转发、已提交、待审核、已退修、待修改、已完成。由于存在数据采集任务的多级转发,父任务状态和子任务状态通常是分开的,各自独立变化。但在某些操作下,父任务状态与子任务状态之间存在“联动”行为。

图2展示了父子任务状态跃迁的“联动”过程。图中采用垂直虚线将父任务、子任务、孙任务分割开来;跨越垂直虚线的水平箭头表示父子任务间的状态“联动”。例如在父任务中执行了“任务转发”动作,将使父任务的状态变为“已转发”,同时子任务的状态变为“待完成”。

2  通用数据采集存储方案设计

2.1  通用数据采集系统概念模型设计

为确保数据采集的通用性,在底层数据存储体系方案中采取模式(Schema,采集信息包含的字段)与数据相分离的设计。一个数据采集任务对应的数据模式包含多个字段,不同的字段拥有不同的字段名、数据类型、数据长度、约束条件、是否只读等,存储在“字段”表中。动态、灵活的字段组合决定了数据采集任务的通用性。

数据采集任务要下发给多个数据填报者,每个填报者填报一条或多条任务明细记录。在自定义数据采集模式的约束下,所有采集到的数据存储在任务明细表中,任务与任务明细表之间形成一对多的关系,如图3所示。

2.2  非关系型数据的关系存储方案设计

数据采集任务所采集数据的Schema信息是在字段表中动态定义的,因此不同数据采集任务采集到的数据格式也不尽相同,为了实现动态Schema下的通用数据存储,任务明细表中除部分通用字段(例如修改时间、创建者等)外,其余信息均通过序列化LOB的形式以字符串格式存储于数据库之中。首先将采集到的“字段-值”以“Key-Value”的格式转化为数据对象并序列化成JSON字符串存储在“任务明细”表中。当需要检索数据或将数据呈现在用户界面时,可通过反序列化将字符串重新转化为数据对象,如图4所示。

3  多级转发数据采集任务存储方案设计

使用自关联表实现多层级任务转发的关系存储方案设计,支持数据采集任务的任意多级转发和汇总,并可有效跟踪和监控任务的状态和进度,从而确保数据采集任务能够按时完成并保证数据采集的准确性和全面性。下面针对填表类和追加类两种数据采集方式,给出支持多级任务转发的关系数据存储方案。

3.1  填表类数据采集任务数据库设计

填表类数据采集方式下,需要填写的任务明细记录是固定的,填表人无法追加或删除任务明细记录,但可以转发给他人填写,最终形成多级转发模式。多级任务转发是一种典型的树形结构任务分解的过程,一项任务被分解给多个人来完成,这些人再继续对任务进行分解,从而形成树形结构。

填表类数据采集任务多级转发数据库概念模型设计如图5所示。

任务转发通过任务转发表中的“任务明细_父任务明细”自关联关系实现。任务转发表记录了任务明细如何被逐级转发给不同用户的过程,可以通过控制任务转发状态来控制数据的可见性与可编辑性。

以采集学生电话号码为例,辅导员事先准备好所有需要采集电话号码的学生名单(采集任务明细),然后以班为单位将采集任务下发给各班班长(任务转发),各班班长再将收到的任务继续转发给各宿舍的宿舍长(多级任务转发),最终由宿舍长逐一完成联系电话填写,具体过程如下:

1)初始状态,如图6所示。

2)辅导员将采集任务转发给班长1、班长2,如图7所示。

3)班长1将任务转发给宿舍长1、宿舍长2,如图8所示。

3.2  追加类数据采集任务数据库设计

追加类数据采集模式初始状态下任务明细记录为空,需要由填表人逐一添加。填报人可以根据需要添加新记录,也可以删除或编辑自己添加的记录,填报人不具备修改其他人所填写任务明细记录的权限。这种权限控制机制有助于保护数据的安全性和准确性,防止误操作或恶意修改。

无论填报人是否添加了记录,均可将任务继续转发给其他人员。在转发任务时,被转发者将获得向任务明细表中添加记录的权限。为了确保数据的完整性和可追溯性,每条记录的状态需要单独记录,而不是使用任务转发表进行记录。这种记录方式有助于确保任务执行情况的准确性,并为后续的数据分析和处理提供依据。追加类数据采集任务多级转发数据库概念模型设计如图9所示。

以运动会报名任务为例,学校首先创建运动会报名数据采集任务,然后将任务转发给各个学院的辅导员,辅导员可以自行向任务明细表中追加运动会报名记录,也可以将任务二次转发给各班班长,再由各班班长向任务明细表中追加运动会报名记录。凡是接到任务的用户既有权向任务明细表中添加记录,也有权将任务转发,两种操作可同时进行。

以下步骤列举了追加类数据采集任务在多级转发过程中各表格数据的变化过程。

1)初始状态,如图10所示。

2)辅导员在自己填写运动会报名记录的同时将任务转发给A1班班长,B学院辅导员将运动会报名任务转发给B1班和B2班班长,如图11所示。

3)B1班班长将运动会报名任务再次转发给B1班支书,B1班支书填写一条报名记录,如图12所示。

追加类任务的任务状态记录在任务明细表中,无须多级审核。任务发起人拥有对任务的最终审核权。这种设计模式不仅能够灵活处理多级任务转发的关系存储,还能够很好地支持查询和更新操作。对任务进行分层和组织,能够更加清晰地描述任务之间的关系,有利于任务的分配和管理。

3.3  支持两种采集方式的数据库设计

混合填表类与追加类数据采集数据库设计,得到如图13所示的同时支持两种数据采集方式的多级转发数据库设计方案。在该方案中,通过引入“任务类型”实体区分两种不同的数据采集类型;新设计的任务转发表可以同时支持两种数据采集任务的多级转发,实现了多级转发通用数据采集系统的关系型数据存储设计。

4  结  论

多级转发数据采集任务的关系数据存储方案已成功应用于《通用应急数据采集管理系统》,并取得了良好的数据采集任务多级转发与逐级汇总效果。用户在系统中输入的数据彼此隔离,确保了数据的安全性。实践表明,动态任务模式(Schema)与基于序列化LOB的数据存储方案设计能够有效支撑通用数据采集任务;基于“自关联表”的任务转发关系型数据存储设计,能够同时支持填表类和追加类两种数据采集方式的多级任务转发与追踪。

参考文献:

[1] 姚俊萍,范守祥,李晓军.网络数据多通道采集质量跨层控制方法仿真 [J].计算机仿真,2019,36(10):289-292.

[2] 王小凤.表格数据的采集和处理 [D].苏州:苏州大学,2002.

[3] 李华,杨湘江,赵兵.一种应用于电力信息采集系统安全任务下发的方法 [J].电测与仪表,2014,51(6):92-94.

[4] 李银,廖丽华.一种可快速多层级下发任务的目标管理系统 [J].信息通信,2019(12):147-149.

[5] 李林,郑海宁,彭帆,等.基于表驱动的动态数据上报管理系统研究 [J].农业机械学报,2017,48(12):190-201.

[6] 叶超,许洪云,李紫川,等.基于演化博弈的多智能体任务转发机制 [J].计算机应用与软件,2015,32(4):15-18+103.

[7] 范德一.基于博弈算法的多智能体系统任务转发的研究 [D].天津:天津理工大學,2021.

[8] 曲亮生,李宇辉,宋瑶瑶.高等院校教育数据采集项目管理成熟度研究 [J].项目管理技术,2022,20(11):99-102.

[9] 李亚明.基于用户体验的CSCW在线文档平台交互设计研究 [D]. 济南:山东大学,2020.

[10] 熊光魁,李良成,吴永胜,等.灾害疫情、突发卫生事件信息管理系统的实现与应用 [J].中国预防医学杂志,2002(3):39-42.

作者简介:吕震宇(1976—),男,汉族,山东安丘人,教授,硕士,研究方向:信息管理与信息系统、数据分析与挖掘。

猜你喜欢

数据采集
Web网络大数据分类系统的设计与改进
CAN总线通信技术在电梯监控系统中的应用
基于大型嵌入式系统的污水检测系统设计
基于AVR单片机的SPI接口设计与实现
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现
基于开源系统的综合业务数据采集系统的开发研究
大数据时代的管理会计