跳到主要内容
版本:1.2.0

《滴滴开源问卷系统XIAOJU-SURVEY》

作者:sudoooooo

时间:2024-01-15

发布于:滴滴技术

导读

XIAOJU-SURVEY孵化于滴滴内部问卷系统,在集团内已为所有业务线提供了在线调研服务同时也对外提供了多种企业级调研场景解决方案, 经过5年多打磨已发展成一个相对完整成熟的企业级平台。本次开源旨在为行业和社区提供一种轻量、安全的问卷系统解决方案,让调研更轻松。

背景

在调研领域,「创、投、收、分析、报告」是问卷系统核心的节点:

「创」阶段是问卷设计和创建的过程,根据调研需求设计问卷。

「投」阶段涉及到问卷的分发,通过多种渠道有效触达目标受众。

「收」阶段是问卷收集的过程,发放的问卷被目标受众填写并收回。

「分析」阶段是对收集到的数据进行深入分析,从中提取出有效的信息。

「报告」阶段则是将分析结果整理成报告,提供有效的建议和指导方案。

传统问卷系统在处理这些复杂环节时面临着多种挑战,如数据收集效率低、分析能力有限、用户体验不佳等,随着技术的发展和用户需求的变化,传统系统在灵活性、扩展性和数据安全方面也显示出不足。

此外,行业和社区在调研问卷领域的技术关注和讨论相对缺乏,我们希望通过XIAOJU-SURVEY开源项目,输出经验共享的同时促进行业的交流、创新思维的碰撞以及调研领域的创新和发展。

简介

XIAOJU-SURVEY是一套轻量、安全的开源问卷系统,支持各领域快速接入、灵活扩展,轻松打造专属的问卷系统。

项目具备全面的综合性和专业性:

1、标准化设计

制定了问卷标准化协议和UI/UX设计规范,确保系统的互通性、灵活性和一致性。

2、产品级解决方案

提供了完整的解决方案,覆盖问卷生命周期所有阶段,适用于快速构建专业的调研系统。

3、重视安全性

重视数据安全,提供了基础加密传输和敏感信息检测,确保问卷的安全性和可靠性。

4、易于定制和部署

项目支持定制化的题型扩展和配置化的二次开发,支持低成本部署。

设计问卷轻松高效
投放问卷简洁一致

原理和架构

问卷的本质是收集数据与洞察数据,各阶段均对数据有着不同的要求和处理策略。数据的质量、效率与安全性是问卷系统设计的核心。数据质量确保调研结果的准确性和可信度;数据效率则关注数据处理的速度和流畅性,确保信息及时被捕捉和利用;数据安全性则是保护调研参与者隐私和数据本身不被未经授权的访问或篡改的基石。问卷系统以此为基础展开架构的设计。

结构描述

问卷设计阶段确定调研的内容,包括题型选择、题目设定、逻辑的控制和表述、问卷特定条件如限时问答等,数据的定义必须规范化。我们基于Schema化设计制定问卷的协议规范,以保障在数据流转的全链路中维持稳定和灵活的结构。

收集和加工

问卷投放后更关注回收数据的内容和质量。作答阶段验证数据是否符合预定义的格式和规则,以及内容递交的及时性和合理性,如关键问题必答校验、中间数据保存或断点续答等。在数据预处理环节,会进一步检查和清洗,如异常值检测、缺失值填充、过滤不符规则的数据等。

分析和报告

在分析阶段通过多维度来反映研究现象,用于信息洞察和汇总产出调研报告,进而提出解决方案。需提供多类型报表便于问卷设计者线上化分析,同时支持授权导出和自动推送,便于本地化分析或业务领域自加工和自扩展。

数据安全保障

保障数据安全是核心和基础,平台积累了信息安全、数据安全、网络安全、个人信息保护等多方面的经验。为满足各领域多样化的管控措施,系统支持扩展自定义的数据安全解决方案。

以下是具体的架构实现,系统基于协议基础进行上层能力实现,安全始终贯穿了整个系统的设计。

实现

深入Schema设计

业务驱动的数据模型

数据贯穿了问卷全生命周期,创建开始的数据定义、回收时的加工、分析的处理以及数据血缘关系的追踪,这过程中数据不断发生变化。通过Schema表达领域知识和数据定义以及数据之间的关联,使得问卷能够支持多样化的题型和复杂的逻辑关系。

协议结构建立在Meta Schema基础上,它既定义了问卷的业务协议,也规定了物料化协议(后文将详细介绍物料部分)。此外,我们将问卷作答过程中所需的附加数据集抽象化,形成了数据源协议,这部分数据包括但不限于投票题的实时投票进度、预约题所需的预约状态等。

数据完整性保障

问卷系统不仅面向问卷设计者和答题者提供最基础的业务能力,还需要对外管控授权数据给到相应的业务系统,此过程中涉及多角色协作,包括开发人员、领域专家、数据分析师等等,有了协议规范的约束数据在整个链路中是相对稳定和一致的。

安全可扩展的架构

灵活的问卷状态管理

一份问卷从设计到数据回收,往往需要经过不同的业务流程,诸如考试/测评类问卷还需处理实时结果反馈。

为满足不同业务领域多样化场景扩展,我们在保障问卷状态流转稳定的前提下,将各个场景抽象为任务,特定业务逻辑由相应任务自执行,一个状态由一个或系列任务决定下一个状态流向,由此构成各领域不同的业务规则和具体流程。

可插拔的安全服务与策略

我们基于数安管理规范严格实施每项业务措施和技术方案,为了可以集成和扩展调研领域各安全方案,系统核心围绕内容安全服务化和数据安全策略为设计目标化展开。

如,问卷内容诸如敏感词检验、PII信息等,在发布/提交前应进行严格检测,可通过API化节点同步或异步接入。目前项目提供了敏感词库配置、检测及脱敏展示能力,数据安全诸如加密方式、分级存储、分量展示等策略持续建设中,后续项目会开放插件引擎,支持以安全插件配置化方式进行管理。

视图化方案与用户体验

好用和效率的结合

可视化操作可以降低领域复杂性以及提升问卷创建和分析的便捷性。直观的界面和简洁的功能设计,满足从调研新手到专业研究人员的多样化需求。良好的用户界面和流畅的交互设计也使得填写问卷变得更加愉快和轻松,从而提高参与度和问卷的回应率。

场景化和物料化的设计

题目是问卷最核心和基础的组成部分,而复杂繁多的调研目的要求问卷内容高度灵活,这对题型的多样性和可用性提出了极高的要求。分析实际使用,问卷设计侧和问卷填写侧既存在共通性也存在差异性,这在题型上呈现了类似于复杂笛卡尔积的结构。

为提升问卷内容一致性、预览实时性和可扩展能力,我们将场景抽象成编辑态、预览态和运行态,题型设计为物料组件、题型的功能进行配置化管理,这样的设计可以满足功能的自由组装和扩展。通过各状态容器来实现不同状态执行时,进行相应题型物料的加载和编排。可选择使用官方提供的容器,或者自定义开发。

总结

以上关于XIAOJU-SURVEY的分析是对系统核心部分的基础概述,实际上,一个完整问卷系统的内部机制和运作逻辑远比我们目前探讨的要复杂得多。

在后续的分析中,我们将深入挖掘核心组件、数据流动性、权限设计、安全性措施等方案的细节,并会结合更多实际业务场景,进一步探讨如何提升系统性能、提高数据处理效率和准确性、保证用户体验的流畅和直观等,以及动态化生成答卷和智能化的验证分享和探索。

规划

Feature主要围绕场景能力和架构能力的建设,目前开源的是最基础的产品化流程,后续会逐步开放更多题型、逻辑能力配置和产品功能,如协作、导入等等。架构上,后续将打造题型物料市场、安全控件插件市场,沉淀更多题型及安全相关能力。同时,将打造schema core、工作流编排等能力,进一步拓展灵活性和扩展能力,并拓展各配置视图化如schema视图化、敏感词配置视图化等等。后续会进一步扩展嵌入式问卷、IM问卷等场景,欢迎共建。

结语

开源不仅仅是一种技术选择,更是一种文化和精神。XIAOJU-SURVEY的建设离不开社区的共同努力和持续贡献,我们欢迎更多开发者和用户加入,共同为行业打造更加优秀的解决方案,让调研更轻松。




社区

项目地址

https://github.com/didi/xiaoju-survey

微信