上文《旷视Face++人脸识别登录方案介绍(二)人脸识别登录的整体架构流程》我们梳理了人脸登录与旷视Face++的对接流程,本文的话我们进入实操阶段,首先来设计下用户中心的数据结构。
这里的用户中心抛开本身业务来说,我们着重介绍的主要是用户与人脸相关联的信息。所以我们这里会涉及到大致3张表,分别是:
1、users(用户信息表) 2、face_sets(face++创建的人脸库信息表) 3、face_lists(face++中每个人脸库对应的人脸信息表)
对应的库表模型是:
当前三张表对应的sql语句如下:
SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for face_lists -- ---------------------------- DROP TABLE IF EXISTS `face_lists`; CREATE TABLE `face_lists` ( `id` int(11) NOT NULL, `faceset_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '人脸库token', `face_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '人脸token', `cts` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '人脸库的人脸集合信息' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for face_sets -- ---------------------------- DROP TABLE IF EXISTS `face_sets`; CREATE TABLE `face_sets` ( `id` int(11) NOT NULL COMMENT '主键id', `faceset_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'face++人脸库token', `faceset_display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'face++人脸库名称', `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '人脸库标签,逗号分割', `cts` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `uts` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'face++人脸库元数据信息' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `userid` int(11) NOT NULL COMMENT '用户id', `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户姓名', `user_ico` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户头像url', `user_ico_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户头像人脸识别token', `cts` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `uts` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间', PRIMARY KEY (`userid`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息' ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1;
以上我们三张表的库表设计就完成了。
备注:
1、这里我们的库表由于只是演示,所以只展示核心的业务,里面其实还应该有很多字段没标记出来,这里大家根据实际情况来进行处理即可。 2、库表中使用了自增主键,在实际的业务中,这是不允许的,这里由于是演示,所以就暂时不做过多计较。
还没有评论,来说两句吧...