函数计算实践——一个应用案例

一 背景 

来自一个用户匹配的需求。用户的不同信息分布于两个系统,且客观上无法直接打通。所以就涉及到两个系统id匹配的问题。

先抽象问题:系统A,系统B;系统A中存在一个用户a(字段:a_id, a_img, a_name), 系统B中可能有a的补充信息(字段:ab_id, ab_img,ab_name),

目标:如果B中存在用户a的信息,那么希望能找到并进行匹配,并把匹配结果返回系统A,结果格式:a_id, a_img, a_name,ab_id

二 问题详细描述

字段说明:

a_id 用户a在系统A的id;

a_img 用户a在系统A的属性图片链接,注: a_img和ab_img虽然都是用户a的图片链接,但可能链接并不相同。例如a_img: http://sysa/a1.jpg,ab_img:http://sysb/b2.jpg

a_name 用户a在系统A的属性昵称;

ab_id 用户a在系统B中的id。

两个系统中的图片,正常情况下,img内容是相同的(链接可能不同);或者是缩略图关系; name通常不会修改,但存在多个用户昵称相同的情况。

这两个属性是判定两个系统中的用户是否是同一个的主要依据。

三 匹配策略

注:以下只是项目初期的简化匹配策略。因为数据特性,经过统计和特征分析,验证准确率可以达到预期,所以初期不会为百分之几的优化投入过多资源和精力。所以不必纠结策略的准确率

1、首先通过昵称匹配

    当系统A的用户昵称,与系统B的有且只有一条记录昵称相同时,将这两个记录匹配 【根据真实数据经验,用户进入两个系统记录的时间规律,并允许较低的错误率;支持人工修复】;

2、当系统A的输入记录,与系统B的多条记录昵称相同时,继续判断图片内容。这里的判断步骤设计如下:

2-1 分别拉取a_img 和 ab_img的图片内容(字符串),如果内容相同,那么确定是同一条记录,记录匹配关系;

2-2 如果内容不同,计算两张图片的相似度(汉明距离)。当相似度大于指定阈值时,认为二者匹配,记录匹配关系

四 计算资源管理及优化

可以看到,这里可能会有一个比较耗费资源的动作,就是需要匹配图片内容时。我们要拉取图片内容、字符串直接比对、简化特征、计算汉明距离,而当这个计算逻辑被并发调用的频率很高时,所需的带宽、计算能力都有可能成为瓶颈。自运维就需要解决峰值问题,或强制限制调用频率。所以采用函数计算来做弹性支持。

另外,为了减少重复的图片拉取动作,降低流量消耗,且绑定数据存储在系统B中。那么我们先完成系统B内img的内容拉取,和特征提取工作,对于一个新的匹配请求,我们只需要拉取a_img的内容并特征提取就可以了,减少了近一半的工作。

 

目前,项目已经在开发中,效果已做验证,即将上线。未来再进行深入优化

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值