如何在激烈的移动社交市场竞争中脱颖而出?”这是当前移动社交应用领域众多开发者们所面临的现实问题。在产品功能特性同质化越来越严重的形势下,动用最小的研发资源实现“附近的人”,进而将更多的团队资源投入到产品创新,是大家的深层诉求。
据了解腾讯云分析(mta.qq.com)近日推出的“社交LBS”SDK服务,其覆盖Android和iOS两大主流平台,所有功能免费。开发者只需花10分钟集成SDK之后,便可无视各项复杂的技术挑战,轻松实现“附近的人”。
腾讯社交LBS提供何种服务?
首先,社交LBS服务主要围绕实现“附近的人”,以及与之相关的路径轨迹、授权分享等功能,为开发者提供快速有效的管理自己App产品用户群在基于地理位置的社交关系链的能力。它不仅提供了如:时间、地理围栏等固定条件维度的管理和查询,还支持APP产品自身的自定义业务维度。同时,据悉该团队在多年海量数据挖掘分析的基础上,帮助开发者构建自己的用户画像体系,如下图:
这套用户画像体系是一个海量数据存储和实时计算集群平台,支持上亿级别的用户毫秒级别查询,满足大并发用户请求,保证系统高效可用。换句话说,社交LBS是开发者可使用的免费“关系链存储和查询”神器。
10年技术沉淀,只为助力开发者成功
腾讯云分析团队,历经10年的技术沉淀,先后成功打造腾讯内部“点击流”平台、腾讯分析(ta.qq.com)、腾讯移动分析(mta.qq.com)以及腾讯信鸽移动推送(xg.qq.com),在互联网海量服务下的网络通信、数据传输、数据处理以及技术运维等方面积累了丰富的经验。借助上述平台产品,将腾讯优秀的技术及运营经验分享出来,助力行业开发者成功。
一、终端: 我们从基础组件、功能模块、业务集成、层层深入,如图:
1)网络层面:DNS缓存的优化;云端控制就近接入解决跨运营商的难题;针对手机硬件性能高低,安卓系统版本动态调整的网络连接超时,缓存,处理线程数等参数;针对所有2G/3G/4G/WAP和WIFI网络提供最优路由选择和最佳重连策略;针对手机信号的强弱变化,动态调整发包MSS大小;TCP,Http双通道,进一步解决复杂网络环境,保证不丢包;针对TCP加快了SOCKET连接回收,采用跟带宽相关的拥塞算法,采用尾部优化减少重传;图片,语音根据网络实际情况动态调整分片大小,类似TCP拥塞管理,挖掘带宽的最大利用率;图片,语音还支持断点续传,续传时可快速恢复原来状态,真正做到断点续传和秒传的目的。
2)电量流量:单通道,一台设备上的所有接入云Talk的APP共享同一数据通道,通过动态心跳保持与后台的长连接,既省电省流量又提升抵达率。
3)通讯协议:采用高度定制的私有协议:小包头,高扩展,保证每次都尽可能传输最大的数据段,大幅减少通讯消耗的流量。
二、后台:我们从CPU、驱动、内核、协议栈层层优化,如图:
1)十亿级别长连接之接入系统:8G内存单机支撑260w连接,通过对Linux内核协议栈中socket数据结构的优化,使得每个TCP长连接耗费内核态内存仅为3KB。
2)千万亿并发数据之分发系统(C10M):我们的思想就是将控制层留给Linux做,其它数据层全部由应用程序来处理。没有线程调度、没有系统调用、没有中断等,将程序仍运行在Linux用户空间,并仅仅对数据进行高效的分析和处理。网卡:摒弃Linux内核协议栈,使用Pintel DPDK来自己实现驱动; CPU:使用多核编程技术替代多线程,将OS绑在指定核上运行。
3)层层加固之安全系统:每种通道都使用SSL通信;双向通信要求双向认证,公钥在上传时使用HTTPS协议,防止公钥被截获篡改,私钥保存在开发者手中;APP用户证书在用户登录APP时,APP后台验证用户登录成功后,使用APP私钥对用户ID进行加密和签名,生成一个证书,并随登录Response返回证书和用户ID;本地数据使用动态KEY加密,KEY由云端下发。
开放的平台,等待你的参与
对于广大开发者来讲,最珍贵的莫过于开发时间和成本了。而集成了该社交法宝之后,简单敲入几行代码,轻松实现基于地理位置信息的用户多维查询管理,屏蔽诸多的技术细节和复杂环境,大大提升开发效率。
据腾讯云分析产品负责人透露,目前已覆盖全球22亿设备,同时为60万APP提供技术服务,对于广大开发者来讲,在最大程度上为他们节省了开发时间和成本。
这只是起步,开放的平台,等待你的参与。