大数据处理利器 专利算法
对于c++程序来说 map的使用无处不在。影响程序性能的瓶颈也往往是map的性能。尤其在大数据情况下,以及业务关联紧密而无法实现数据分发和并行处理的情况。map的性能就成了最关键的技术。
比如:ip表、mac表,电话号码表、身份证号码表的查询、病毒木马的特征码的云查杀等等。
stl库的map采用二分查找,性能最差。Google的哈希map性能和内存目前是最优的,但是有重复碰撞的机率。
我在电信行业和信息安全行业里的工作经历发现,目前网络上的哈希算法都在查询速度上远远无法满足日趋增长的网络大数据要求。因此产生了自己写算法的想法。
现在我把自己的算法发布出来。里面有两种map,build之后是哈希map。大家可以测试对比发现,我的算法属于零碰撞的几率,但是性能比哈希算法还优。就是普通map的性能也和google相差无几。
程序使用我的map 最直接的效益就是 原来需要十个服务器解决的方案 现在只需要一个服务器
声明:该代码不能用于商业用途,只能用于科学研究。
下载地址:
http://download.csdn.net/detail/pww71/7239685:-|^|-:http://www.urlshare.cn/mqz_url_check:-|^|-:srctype=touch&apptype=android&loginuin=75293192&plateform=qzone&url=http%3A%2F%2Fdownload.csdn.net%2Fdetail%2Fpww71%2F7239685%23tc_qz_original%3D75293192&src_uin=75293192&src_scene=2&cli_scene=getDetail
网上讨论:原来我的算法是完美哈希算法,但是算法原理是独树一帜与众不同的 我要保密。大家可以看看一下文章
http://blog.csdn.net/chixinmuzi/article/details/1727195:-|^|-:http://www.urlshare.cn/mqz_url_check:-|^|-:srctype=touch&apptype=android&loginuin=75293192&plateform=qzone&url=http%3A%2F%2Fblog.csdn.net%2Fchixinmuzi%2Farticle%2Fdetails%2F1727195%23tc_qz_original%3D75293192%23tc_qz_original%3D75293192%23tc_qz_original%3D75293192%23tc_qz_original%3D75293192%23tc_qz_original%3D75293192&src_uin=75293192&src_scene=2&cli_scene=getDetail
很多人认为现在有hadoop处理大数据是主流,其实它就是硬盘map,就是从硬盘快速查询表 通过键查值 取代复杂的数据库SQL语句。 对于大数据查询 可能不需要复杂的查询就用这种方式更快。而数据库查询也是硬盘查询 但是速度慢了
而我的map查询是内存根据键查询值
对于写程序的人来说 内存是效率和性能最高的。因此我的map用途是最广泛的。
可以提供给云查询服务器做大数据快速检索查询服务。
只有大数据太大的情况 超过内存的存放量,这才选择硬盘检索和数据库。