天天看点

使用google map实现周边搜索的功能_Map技术有多核心,这些大数据解决方案告诉你...

使用google map实现周边搜索的功能_Map技术有多核心,这些大数据解决方案告诉你...

程序使用map 最直接的效益就是 原来需要十个服务器解决的方案 现在只需要一个服务器。

数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。而以上这些关键技术都离不开底层的应用技术,键值对map的性能。

对于c++程序来说 map的使用无处不在。影响程序性能的瓶颈也往往是map的性能。尤其在大数据情况下,以及业务关联紧密而无法实现数据分发和并行处理的情况。map的性能就成了最关键的技术。

一、大数据采集技术

在电信行业和信息安全行业的工作,都是和底层大数据打交道,尤其信息安全行业数据最复杂,都离不开map。

比如:ip表、mac表,电话号码表、域名解析表、身份证号码表的查询、病毒木马的特征码的云查杀等等。

stl库的map采用二分查找,性能最差。Google的哈希map性能和内存目前是最优的,但是有重复碰撞的机率。现在大数据 基本上不用有碰撞几率的map。

优秀的pwwMap算法,属于零碰撞的几率,性能比哈希算法还优。就是普通map的性能也和google相差无几。

当然,这些情况可以使用并发的形式来解决,但是对于网络数据包每秒高达2万以上的情况,以及业务关联紧密无法分发的情况,大数据就只能本地化处理。

比如电信信令的sccp层的组包流程,网络协议的tcp和ip层的组包流程。这些必须靠map本地化来完成。

二、大数据预处理技术

数据库的关联功能是性能超慢的,因此想要实现大数据分析的实时性,预处理是很关键的步骤,我在电信时,处理的是将一个通话流程完整的关联起来,实现电话通话过程的实时性关联,如果将上亿条数据放到数据库中做关联,客户的体验效果可想而知。

要保证每秒几万个信令数据包能全部处理完成,就必须使用高效的map技术,对相同业务id的信令数据进行插入,查询以及完成关联后从map表中删除。

三、大数据存储及管理技术

针对web2.0的频繁应用,key-value的数据库具有非常高效的读写性能,尤其在大数据情况下。Map型的数据库没有关系型数据库那么复杂的结构,性能优越。

介绍:

pwwMap是一种全新算法概念的map技术。它包含三种map。

memmap,hashmap适合用于大数据采集和预处理分析,diskmap适合做nosql数据库。

pwwMap包含三种map。

1、memmap 支持插入,修改,删除,查询等日常操作。适合任何场合下使用。采用独特的索引技术,性能和内存比stl库的map高百倍以上。

2、hashmap 仅仅支持查询。适合高速查询的场合。完美哈希算法,无碰撞几率。性能比目前的google哈希算法快100倍。

3、diskmap 支持插入,修改,删除,查询等日常操作,nosql单机版的功能。其数据量可以高达百亿,查询性能依旧强劲。对比google的leveldb技术,优势明显。

分析:1和2两种map是核心,3的map主要是采用了1的map做索引,所以性能才超越google的levedb。