无锁DNS缓存方法和DNS服务器
摘要:
本申请涉及一种无锁DNS缓存方法和DNS服务器;所述方法包括:创建多个hash桶,每个hash桶都是一个单链表;获取原始DNS报文,并将DNS报文解析成结构体;从解析的结构体中获取请求域名和请求类型,并根据请求域名和请求类型确定该DNS报文对应的hash桶;根据解析结果生成新的链表节点,并将该链表节点插入确定出的hash桶的单链表中。本申请的方案使用无锁hash链表方式来替代锁,既保证了数据的一致性、稳定性又能提高读写的性能,解决了高性能需求下DNS缓存存在读写瓶颈的问题;无锁设计提高了DNS缓存读写的性能,同时兼顾了线程安全。
公开/授权文献
0/0