问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

业务通用校验能力的构建与应用:提升数据一致性与准确性

创作时间:
作者:
@小白创作中心

业务通用校验能力的构建与应用:提升数据一致性与准确性

引用
CSDN
1.
https://blog.csdn.net/xiaofeng10330111/article/details/138143445

在现代互联网业务中,随着产品的快速迭代和多元化发展,业务校验已经成为保障系统稳定性和业务准确性的关键一环。然而,面对复杂多变的业务场景,如何建立一套通用、高效且灵活的校验能力,成为了每个技术团队的必答题。本文将带你走进业务通用校验能力建设的全景图,从建设目标、方案模型到接口设计,层层剖析如何打造一套能应对多场景、多身份的高效校验体系。

一、建设目标

业务事前通用校验能力建设,主要建设目标如下:

  • 将上层重复的校验能力抽取为校验模型,同时为模型提供配置化的管理能力,降低人力成本和研发成本;
  • 建立集中化的校验平台,提供多种校验模型的整合能力。标准化接入方式和处理能力,解决业务多场景变化和规则变化所带来的维护成本,同时有利于业务快速迭代;
  • 将业务数据校验功能进行解耦,建立校验规则场景化灵活处理,降低业务多场景和规则条件下的业务校验耦合能力,降低业务调用成本;
  • 建立校验能力规则化场景化联动功能,规则场景变化后快速提供能力给前后台赋能,提高业务灵活性,同时无需RD/FE介入,减少人力成本;

二、方案模型

(一)整体方案架构能力说明

基本架构示意图

基本架构模块能力示意图

(二)整体流程图分析

配置相关流程图

运行处理流程图

三、方案设计

(一)配置侧能力方案说明

处理流程图展示

详细说明

模块1:列表页

列表页改动点

  1. 相关信息可以通过以下维度(业务身份、业务场景、校验ID)进行具体信息检索查找;
  2. 点击“新增”,展示出上方编辑保存页面信息,具体见新增/修改模块;
  3. 业务数据规则下,点击“详情展示”,将对应配置的数据模型和校验规则进行展示,具体信息见“新增/修改模块”下的业务数据模型;
  4. 基本操作下:点击“编辑”,跳转“新增/修改模块”,对数据进行对应的修改保存,保存时需要提示用户;点击“删除”,进行删除操作,删除确定前,提示用户对应的风险是否依旧删除;
  5. 相关信息按最新的数据创建进行返排序;

模块2:新增/修改

业务通用校验能力配置页

业务通用检验能力配置页对应“业务通用检验能力配置”
(1)业务身份:下拉框选项,具体有“团好货”“团餐”“外卖”“拼好饭”等,字典配置;
(2)业务场景:文本填写,用户自定义,用于说明什么场景下的校验,具具有唯一性;
(3)检验能力选择:选择需要进行校验的相关基本检验能力,具体有“基本检验”、“敏感词检验”、“超范围经营检验等”;
在用户未进行点选校验能力,对应“进入配置”、“删除配置”信息进行置灰;
点击任意校验能力,对应“进入配置”、“删除配置”信息进行展示操作;
对应业务回显以上能力时,如果存在配置,对应“进入配置”、“删除配置”信息进行展示操作,若不存在配置,对应“进入配置”、“删除配置”信息进行置灰;
具体点击“进入配置”,进入“业务基本检验能力配置页”,新建时直接如左图“业务基本检验能力配置页”,回显时直接如“规则信息一览”所示;
具体点击“删除配置”,直接将对应配置清空删除;
点击“?”进行对应校验能力说明(后续补充对应校验能力说明,字典表配置)
(4)校验ID展示:根据 业务身份+校验场景 生成检验id,内部在实际创建时直接自动生成
新增时需要点击“生成”图标,系统返回对应数据后回显到对应文本框;
修改时,直接回显;

业务基本检验能力配置页

业务基本检验能力配置页

  1. 点击“+”号进行增加对应数据模型和对应的规则配置;
  2. 基本检验规则配置:属性名:填写对应业务数据模型属性名,如“spuName”; 规则配置:点击进入具体的“业务基本检验规则配置跳转页”进行实际规则配置情况;
  3. 规则信息一览:将本页相关配置直接进行全部展示,由前端决定展示形式;
  4. 确认保存:用户点击后直接进行对应规则的保存处理

业务基本检验规则配置跳转页

业务基本检验规则配置跳转页

  1. 展示基本的检验规则配置,具体包括“简单规则配置”和“复杂规则配置”;
  2. 简单规则配置主要针对业务模型的中的基本属性项,具体如左图展示:具体规则说明查看可点击“?”,后台直接展示对应的能力说明;相关规则可进行点选,具体事例见左图说明;
  3. 复杂规则配置主要针对业务模型的中的属性项为list/array/map/object结构,具体如左图展示具体规则说明查看可点击“?”,后台直接展示对应的能力说明;
  4. 相关规则可进行点选,具体事例见图说明;

对应数据模型分析

CREATE TABLE `biz_common_validator` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `biz_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务标示,对应对应业务身份名称',
  `validator_rule_common_config` text COMMENT '业务基本信息校验,json格式',
  `validator_rule_compliance_config` NOT NULL longtext COLLATE utf8mb4_unicode_ci COMMENT '当业务通用合规业务校验,json格式',
  `validator_scene` varchar(1000) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '校验场景,由用户自行填写指定,表明具体使用场景',
  `validator_id` char(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '校验标识,业务标示+检验场景语句的md5,用于校验是否有一样的场景存在',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人',
  `last_operator` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '最后更新人',
  `utime` int(11) NOT NULL COMMENT '更新时间',
  `ctime` int(11) NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_validator_mark` (`validator_mark`),
  KEY `idx_biz_type` (`biz_type`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT '业务通用能力校验表';

(二)运行侧能力方案说明

四、接口设计

(一)配置侧相关接口设计

基本接口定义罗列

综合校验系统新建综合校验项能力请求HTTP接口
综合校验系统查看综合校验项能力请求HTTP接口

基本数据结构展示

对应结构如上文档展示,暂不进行代码展示

(二)运行侧相关接口设计

基本接口定义

基本数据结构展示

请求参数

struct IntegratedValidateRequestThriftCommand {
    /**
    * @FieldDoc(description="校验特征", example="1")
    **/
    1: i64 validatorFeature,
    /**
    * @FieldDoc(description="校验标识")
    **/
    2: string validatorMark,
    /**
    * @FieldDoc(description="数据对象")
    **/
    3: binary data,
}

返回结果

五、总结

在这篇文章中,我们全面探讨了业务通用校验能力的建设,从目标设定到方案模型,再到具体的接口设计,逐步揭示了如何打造一套高效、灵活且可扩展的业务校验体系。通过模块化的设计与清晰的流程图展示,我们可以看到,这套校验体系不仅能够支持多种业务场景,还具备了高度的通用性和灵活性。

在实际的应用中,这种通用校验能力能够有效减少重复开发,提升系统的健壮性和扩展性,使得业务规则的管理更加有序和高效。同时,通过接口的设计与配置侧、运行侧的细致分析,确保了系统在实现过程中具备较高的可维护性和可操作性。

未来,随着业务的不断发展,这种通用校验能力还可以持续优化和升级,以更好地应对新兴的业务需求。通过不断迭代和完善,我们可以确保这套校验体系始终处于领先的技术水平,为企业的数字化转型保驾护航。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号