深圳网站建设首选,深圳网站制作平台,模板建站什么意思,问道手游代理平台文章目录 功能介绍使用方法执行脱敏检查是否脱敏后数据反脱敏 功能介绍
V0.24.0版本的MindOpt优化求解器新增了数据脱敏功能#xff0c;可以对输入模型文件进行数据脱敏。将优化问题中问题名、决策变量、约束条件名称这些和业务场景相关的数据进行脱敏变更#xff0c;使得优… 文章目录 功能介绍使用方法执行脱敏检查是否脱敏后数据反脱敏 功能介绍
V0.24.0版本的MindOpt优化求解器新增了数据脱敏功能可以对输入模型文件进行数据脱敏。将优化问题中问题名、决策变量、约束条件名称这些和业务场景相关的数据进行脱敏变更使得优化问题的数据仅保留看不出用途的数值信息隐藏业务信息。方便外发数据去做技术可行性验证、方案咨询、测试等。
数据脱敏可以称为数据的去隐私化是对敏感数据进行修改或者转换的一种技术机制在很大程度上能解决敏感数据直接在非可靠环境下使用的问题。比如在电商行业快递单上会使用**号部分遮挡买家的个人信息也能有效将数据脱敏提供给外部使用。
优化建模文件中的主要敏感数据是业务的逻辑比如优化问题名字、决策变量和约束条件名。业界的脱敏方案大致有这几种无效化、随机值、数据替换、对称加密、平均值、偏移和取整。MindOpt求解器使用的是**“数据替换”**这一方案顾名思义数据替换就是设置一个虚拟值去替换真值。
如下表示意脱敏前后的文件内容片段对比脱敏前名称字符里面包含了业务逻辑脱敏后信息都用固定的顺序数字来表示删除业务逻辑实现脱敏。 使用方法
执行脱敏
MinOpt新增的脱敏功能是在命令行里面。 主要通过以下两个命令行参数调用
sanitize 对模型文件中的敏感数据进行重命名脱敏。undo_sanitize 对已脱敏后的模型文件进行反脱敏恢复数据。
在命令行 Terminal 或者 Notebook的Cell magic运行增加感叹号!可以看到接口说明。 用户可以根据文档指引下载本地运行版的安装包安装到自己本机来运行数据脱敏。下载地址https://help.aliyun.com/document_detail/298275.html 脱敏功能支持 .mps/.lp 以及对应的压缩文件(.bz2/.gz)的文件格式我们可以用安装包examples中的模型文件 afiro.mps作为例子如下方式运行来实现脱敏。
mindopt path/to/data/afiro.mps --sanitize
#path/to/data为文件路径比如云平台Notebook中可以这样运行
!mindopt /home/jupyter/mindopt/0.24.0/examples/data/afiro.mps MaxTime10800 SPX/MaxIterations1000000000 --sanitize 运行完成后会输出结果的说明
Reader started. File : /home/jupyter/mindopt/0.24.0/examples/data/afiro.mps
Reader terminated. Time : 0.001sProbName Sanitized.Sanitized variables count : 32
Sanitized constraints count : 27
File Sanitized : /home/jupyter/mindopt/0.24.0/examples/data/afiro_sanitized.mps
File Mapping : /home/jupyter/mindopt/0.24.0/examples/data/afiro_mapping.json第1行展示了读的是哪个文件 第6-7行总结了模型有多少个变量多少个约束。 第8-9行脱敏完成输出文件映射的地址并在脱敏前文件的同级目录下生成脱敏后模型文件 afiro_sanitized.mps 和映射文件 afiro_mapping.json。
检查是否脱敏后数据
我们打开脱敏的优化问题文件 afiro_sanitized.mps可以里面名称中的敏感信息是否已经被替换掉。命名规以R/C开头十六进制整数递增就代表脱敏成功了再检查没有其他问题就可以外发去测试了。 脱敏后的数据保留的数值还是原来的对应关系不影响求解结果比如我们用MindOpt运行脱敏后的文件
mindopt afiro_sanitized.mps运行后得到结果如下与脱敏前运行结果一致。
反脱敏
脱敏时生成的映射文件 afiro_mapping.json是用来后面恢复数据用的。此功能没有实际用途主要是方便验证请外发的时候不要发此映射文件。
这里我们打开映射文件 afiro_mapping.json查看一下映射关系文件格式如下所示。如果脱敏前文件不包含模型名或模型名为空时映射文件不展示 ProbName。
这里我们可以把数据存在同一个目录然后执行反脱敏命令
!mindopt ./data/afiro_mapping.json --undo_sanitize会得到如下输出示意
./data/afiro_sanitized.mps
Reader started. File : ./data/afiro_sanitized.mps
Reader terminated. Time : 0.000sProbName undo sanitized.Undo sanitized variables count : 32
Undo sanitized constraints count : 27
File undo sanitized : ./data/afiro_sanitized_sanitized.mps运行后还原脱敏模型文件生成 afiro_sanitized_sanitized.mps文件。 运行 afiro_sanitized_sanitized.mps文件结果与上文一致。