资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
多关键字模糊匹配的终端适配算法应用软件开发功能需求规格书版本号 2.0.0修订记录日期修订版本修改章节修改描述作者2014-08-011.0新建袁勇2014-10-09 2.0补充袁勇目 录1前言21.1编写目的21.2文档范围说明21.3文档适用读者21.4术语、定义及缩略语22终端适配模糊算法32.1终端适配模糊算法简介31 前言1.1 编写目的 本文档的目的主要是介绍多关键字模糊匹配的终端适配算法的流程和处理逻辑。1.2 文档适用读者文档适用于对开发测试人员,和终端适配相关的专业人士。1.3 术语、定义及缩略语缩写英文名称中文描述FRSFunction Requirement Specification功能规格说明书FTPFile Transfer Protocol文件传输协议HTTPHypertext Transfer Protocol超文本传输协议IMEIInternational Mobile Equipment Identity国际移动设备标识OSOperating System操作系统SFTPSecure File Transfer Protocol安全文件传输协议SNMPSimple Network Management Protocol简单网络管理协议WAPWireless Access Protocol无线接入协议WAPGWWAP GatewayWAP网关URLUniform Resource Locator统一资源定位器UAUser Agent一个特殊字符串头,使得服务器能够识别客户使用终端名称、操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎等信息2 终端适配模糊算法2.1 终端适配模糊算法简介模糊算法是将需要适配的UA数据(标准UA)以及非标准UA,通过多关键字模糊匹配的过程,关联到标准机型库信息,写入到UA与标准终端ID的映射表信息t_po_ua_terminal_relation,从而得到其各项相关信息,其大致流程如下图:2.1.1 标准机型库、待适配UA库、未适配UA库和异常UA库 标准机型库t_po_terminal数据结构如下,包含了以下主要的信息:终端ID、英文品牌、中文品牌、别名品牌、展示品牌、机型别名、展示机型、分辨率宽、分辨率高、操作系统、机型别名是否包含字母以及其他属性。终端ID英文品牌中文品牌别名品牌展示品牌机型别名展示机型分辨率宽分辨率高操作系统是否包含字母更多属性1XXHTC宏达电子HTCG10Desire HD480800AndroidYESXXX2XXHTC宏达电子HTCDesire HDDesire HD480800AndroidYESXXX3XXSAMSUNG三星SEC三星X208SGH-X208240320AndroidYESXXX4XXSONYERICSSON索尼爱立信索爱索尼爱立信LT22iLT22i540960AndroidYESXXX5XXNOKIA诺基亚诺基亚58005800XM240320symbianNOXXX其中:终端ID是标示终端信息的唯一字段,展示品牌是指在使用国家和区域中消费者普遍了解和熟悉的品牌,如诺基亚、HTC,展示机型是指机型的标准名称或行货的名称,一个标准机型包含一个或多个机型别名,但在机型信息中,所以的标准机型应该存在一条记录,其机型别名与标准机型一致(这一点需要机型维护人员保证,系统定期校验),机型别名是否包含字母是便于在适配算法中提升准确率而设定的一个参数,由系统自行计算,及判断机型中是否包含A-Za-z的字母及中文汉字; 待适配UA库t_po_erroradapterrecord是指需要进行模糊适配的UA信息;未适配UA库T_PO_notadaptua是指经过每日定时运行的模糊匹配算法处理后无法关联标准终端ID的UA信息;异常UA库t_po_ua_error是指经过人工鉴定,确实无法映射到任何标准终端ID的UA,如*,maui等。2.1.2 模糊匹配算法前置处理A、 提取待适配UA表t_po_errorua的数据,并根据UA关联剔除存在未适配UA表T_PO_notadapterua和异常UA表t_po_ua_error中的数据,其中关联时不区分大小写;B、 检查机型库中机型别名字段是否包含操作系统名称的数据,如机型包含DROID、SYMBian、plam、windows等,这类数据暂时不处理;C、 每周选定一个时间,将未适配UA表T_PO_notadapterua进行回笼处理,目前设定每周二定期将未适配UA表全量加载到待适配UA表t_po_erroradapterrecord中,并将未适配UA表T_PO_notadapterua清空;(因为随着机型信息的补充和适配算法的优化,可能存在部分未适配UA表的数据能够通过模糊算法映射到标准机型ID)。D、 将待适配UA表t_po_erroradapterrecord的数据按UA去重后放入到本次处理的一个中间表t_po_lostuseragent_DATE中,包含ua、upp_ua、dtime三个字段,其中dtime默认为插入时间,upp_ua=upper(ua),及将ua转换成大写填充。2.1.3 UA同时包含品牌和机型的处理逻辑 对于UA同时包含品牌和机型的信息,作为适配的第一层级策略,其可靠性是最高的,而判断“包含”采用的技术手段是采用instr函数(oracle数据库提供的字符串函数,后文所用包含同此)。A、 当UA同时包含机型库的英文品牌和机型别名,且机型库的英文品牌和机型别名非空,则认为该UA能适配此标准机型,并将此UA与标准终端ID的映射关系写入临时映射表中,并将UA中间表t_po_lostuseragent_DATE的相关记录删除,将其优先级值置为1;B、 当UA同时包含机型库的中文品牌和机型别名,且机型库的中文品牌和机型别名非空,则认为该UA能适配此标准机型,并将此UA与标准终端ID的映射关系写入临时映射表中,并将UA中间表t_po_lostuseragent_DATE的相关记录删除,将其优先级值置为1;C、 当UA同时包含机型库的别名品牌和机型别名,且机型库的别名品牌和机型别名非空,则认为该UA能适配此标准机型,并将此UA与标准终端ID的映射关系写入临时映射表中,并将UA中间表t_po_lostuseragent_DATE的相关记录删除,将其优先级值置为2;D、 对于同一个UA映射多个终端ID的情况,根据终端ID对应的机型别名长度最长最先选择,对于长度相同时,根据终端ID的大小从大至小优先判断;2.1.4 UA仅包含机型的处理逻辑经过3.1.3的处理后仍未建立映射关系的UA,进行这一轮适配逻辑,即仅包含机型处理。A、 对于机型别名中包含字母(该字段为YES),且机型别名长度大于等于2位,且UA所包含机型别名的位置的前一位和后一位为特殊字符(即不是大小写字母A-Za-z及数据0-9),如UA:mozilla/5800XM symbian v40 对应机型 诺基亚5800XM,其UA包含机型别名位置的前一位和后一位分别为”/”和” ”,则将该UA能此标准机型,并将此UA与标准终端ID的映射关系写入临时映射表中,并将UA中间表t_po_lostuseragent_DATE的相关记录删除,将其优先级值置为3;B、 对于机型别名中不包含字母(该字段为NO,及机型为纯数字),且机型别名长度大于等于4位,且展示品牌为HTC,OPPO,LG,步步高,多普达,华为,摩托罗拉,诺基亚,三星,小米,夏普,魅族等,且UA所包含机型别名的位置的前一位和后一位为特殊字符(即不是大小写字母A-Za-z及数据0-9),如UA:mozilla/5800 symbian v40 对应机型 诺基亚5800,其UA包含机型别名位置的前一位和后一位分别为”/”和” ”,则将该UA能此标准机型,并将此UA与标准终端ID的映射关系写入临时映射表中,并将UA中间表t_po_lostuseragent_DATE的相关记录删除,将其优先级值置为4;C、 对于机型别名中不包含字母(该字段为NO,及机型为纯数字),且机型别名长度大于等于4位,且展示品牌不为HTC,OPPO,LG,步步高,多普达,华为,摩托罗拉,诺基亚,三星,小米,夏普,魅族等,且UA所包含机型别名的位置的前一位和后一位为特殊字符(即不是大小写字母A-Za-z及数据0-9),则将该UA能此标准机型,并将此UA与标准终端ID的映射关系写入临时映射表中,并将UA中间表t_po_lostuseragent_DATE的相关记录删除,将其优先级值置为5;D、 对于仍未适配的UA,仅使用UA包含机型别名,且所包含机型别名的位置的前一位和后一位为特殊字符(即不是大小写字母A-Za-z及数据0-9)的条件进行适配,并将此UA与标准终端ID的映射关系写入临时映射表中,并将UA中间表t_po_lostuseragent_DATE的相关记录删除,将其优先级值置为6;E、 以上适配结果的优先级ABC,同一优先级中如存在一个UA映射多个终端ID的情况,根据终端ID对应的机型别名长度最长最先选择,对于长度相同时,根据终端ID的大小从大至小优先判断。2.1.5 UA只包含操作系统的处理逻辑创建三个机型,机型别名分别为Android、Symbian和windows phone,其品牌、操作系统也为Android、Symbian和windows phone(不能在处理适配算法前创建,建议做个特殊处理),对于UA中不包含其他机型别名或所包含机型别名位置的前一位和后一位为字母或数字,且UA中仅包含Android、Symbian和windows phone等关键字,则将此UA映射到三个特殊机型。2.1.6 引入适配关系的适配程度层级概念,并对低层级关系数据进行动态更新因不同条件下建立的ua与终端关系的可靠性是不同的,所以针对每条关系数据,引入适配程度层级概念,分别为15-0级,数字越高代表可靠性越高,从实际效果测量来看,12级及以上可以认为100%适配正确,10级及以下认为可靠性不高,适配准确率在80-90%左右;因存在机型上市后基地的机型信息补充不及时的情况,可能将新机型的UA适配的老的、错误的机型上,定期进行一次全UA的重新模糊适配,具体算法如下:将当前UA与机型关系表t_po_ua_terminal_relation中适配程度层级低于10级的数据备份后,在非业务时段将此表数据加入到待适配UA表t_po_erroradapterrecord,按以上模糊适配算法得出新的UA与机型关系表,提取关联机型ID不一致的数
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号