[发明专利]一种内核态的数据访问方法、装置及系统有效
申请号: | 201310557075.5 | 申请日: | 2013-11-11 |
公开(公告)号: | CN103544324B | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 李建国 | 申请(专利权)人: | 北京搜狐新媒体信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内核 数据 访问 方法 装置 系统 | ||
技术领域
本发明涉及互联网技术领域,特别是涉及一种内核态的数据访问方法、装置及系统。
背景技术
在互联网应用中,服务器中大量的相同的数据被多个客户端反复访问,给服务器中的数据库带来很大的压力。为了减轻数据库的负载,目前主要采用memcached分布式内存对象缓存系统,将数据库中多次被访问的数据缓存在内存中,客户端通过memcached访问数据库,当memcached中没有客户端访问的数据时,memcached从数据库中获取客户端所访问的数据发送到客户端,并缓存数据;当memcached中有客户端访问的数据时,客户端直接从memcached中获得所访问的数据,不再去数据库中访问所需要的数据,从而减少了客户端访问数据库的次数,减轻了数据库的负载。
Memcached系统工作在操作系统的用户态,而操作系统处理客户端的数据访问请求事件是由操作系统的内核态处理,因此,处理器(CPU)在处理客户端通过网络访问memcached的数据事件时,需要在用户态和内核态之间不断切换,消耗大量的时间,降低服务器处理客户端请求的速度。
发明内容
有鉴于此,本发明提供了一种内核态的数据访问方法、装置及系统,从内核态的缓存空间获取客户端请求的数据信息,无需从用户态的memcached中获取数据信息,避免CPU在用户态和内核态之间不断切换。
一种内核态的数据访问方法,应用于内核态系统,所述方法包括:
与客户端建立通信连接;
接收客户端发送的数据访问请求;
解析所述数据访问请求获得数据索引;
根据所述数据索引判断内核态缓存区是否缓存有所述数据信息;
当内核态系统缓存有所述数据信息时,获取所述数据索引所对应的数据信息;
将所述数据信息利用所建立的通信连接发送到客户端。
可选的,所述方法还包括:
利用netlink套接字所建立的通信连接从用户态获取初始化配置参数,所述初始化配置参数包括监听网络地址、监听端口、最大容量和传输协议类型;
根据所述初始化配置参数进行初始化。
可选的,所述方法还包括:
当内核态缓存区没有缓存所述数据信息时,接收客户端发送的所述数据信息进行缓存,所述数据信息为客户端从数据库获取的。
可选的,所述接收客户端发送的所述数据信息进行缓存包括:
接收客户端从数据库获取的数据信息;
根据所述数据信息的长度选择数据缓存接口;
判断空闲缓存区域是否小于所述数据信息的长度;
当空闲缓存区域不小于所述数据信息的长度时,存储所述数据信息;
当空闲缓存区域小于所述数据信息的长度时,获取内核缓存空间,存储所述数据信息。
可选的,所述获取内核缓存空间包括:
判断所请求的内核缓存空间是否大于第一预设阈值;
当所请求的内核缓存空间不大于第一预设阈值时,通过kmalloc获取内核缓存空间;
当请求的内核缓存空间大于第一预设阈值时,判断所请求的内核缓存空间是否大于第二预设阈值;
当所请求的内核缓存空间大于第二预设阈值时,通过alloc_pages获取内核缓存空间;
当所请求的内核缓存空间不大于第二预设阈值时,通过vmalloc获取内核缓存空间。
可选的,所述根据所述数据索引判断内核态缓存区是否缓存有所述数据信息包括:
根据所述数据索引利用hashtable查找item list中的数据描述信息指针;
根据所述数据描述指针查找是否缓存有所述数据信息。
可选的,所述与客户端建立通信连接包括:
利用预先设置的监听套接字监听与其关联的端口所接收的至少一个客户端的tcp或unix连接请求;
当接收到客户端的tcp或unix连接请求时,给所述客户端创建一个连接套接字;
创建与所述客户端通过所述连接套接字通信的连接对象。
可选的,所述与客户端建立通信连接包括:
当接收到的客户端的udp请求时,建立客户端与预设UDP连接对象的通信连接。
一种内核态的数据访问装置,应用于内核态系统,所述装置包括:
通信模块,用于与客户端建立通信连接;
接收模块,用于接收客户端发送的数据访问请求;
解析模块,用于解析所述数据访问请求获得数据索引;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狐新媒体信息技术有限公司,未经北京搜狐新媒体信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310557075.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:城市生活垃圾综合处理方法
- 下一篇:利用生活垃圾热分解燃气发电的系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置