[发明专利]实现实时检索的方法、系统和服务器有效
申请号: | 200910080964.0 | 申请日: | 2009-03-30 |
公开(公告)号: | CN101510209A | 公开(公告)日: | 2009-08-19 |
发明(设计)人: | 张宴 | 申请(专利权)人: | 北京金山软件有限公司;北京金山数字娱乐科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明;王宝筠 |
地址: | 100091北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 实时 检索 方法 系统 服务器 | ||
技术领域
本发明涉及数据库技术领域,更具体地说,涉及一种实现实时检索的方 法、系统和服务器。
背景技术
关系型数据库管理系统(RDBMS)通过数据、关系和对数据的约束三者 组成的数据模型来存放和管理数据。在实际应用方面,许多企业的在线交易 处理系统、内部财务系统、客户管理系统等大多采用了关系型数据库管理系 统。
随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且 在质量上也要求越来越高,随着热门网站访问数量的激增,对数据库本身的 存储机制、大量并发用户的使用需求、存储空间的使用效率等方面都提出了 更高要求。但为静态应用而设计的关系型数据库管理系统,并没有经过针对 高效事物处理而进行的优化过程,在对Web的事物处理过程中,没有达到预 期的效果。因为用关系型数据库的二维表数据模型,在数据需要做报表输出 时,要反过来将已分散设置的大量二维数据表利用索引等技术进行表的连接 后,才能找到全部所需的数据,而这又势必影响到应用系统的响应速度。
同时,关系型数据库不能有效地应对大量并发用户的访问,这就迫使用 户增加更多的数据库服务器等硬件投资,来解决关系型数据库的性能问题, 但这样无疑增加了企业的运营成本。目前,为了解决关系型数据库在Web应 用方面的性能劣势,一些互联网公司借助了缓存技术和搜索引擎技术来减少 对数据库的压力,但这些措施又降低了数据检索、显示的实时性,而随着 Web2.0的发展,对数据增加、删除、修改和检索的要求又近乎实时。除此之 外,现有的内存对象缓存系统,比如Memcached,由于所有数据都是存放在 内存中的,而一旦发生服务器断电、重启,或Memcached程序重启,均会导 致存放在内存中的数据丢失。
针对上述关系型数据库存在的问题,现有的Key-Value哈希数据库具有读 写速度快的优点,其读写速度可以达到关系型数据库的几十倍甚至上百倍。 但是,它不能像关系型数据库一样实现复杂条件查询,因此,对于实现全文 检索,该种数据库存在严重缺陷。
发明内容
有鉴于此,本发明实施例提供一种实现实时检索的方法、系统和服务器, 以解决现有的数据库无法进行实时的复杂条件查询的问题。
本发明实施例是这样实现的:
一种实现实时检索的方法,将Key-Value哈希数据库进行扩展,形成关系 型数据库结构之后,包括步骤:
接收客户端发送的携带有Key-Value数据的消息,根据所述消息向内存对 象缓存和所述扩展后的Key-Value哈希数据库写入数据;
接收客户端发送的查询命令,并根据所述查询命令进行检索。
所述将Key-Value哈希数据库进行扩展包括:
将所述Key-Value哈希数据库中的每一组Key和Value分别对应不同的 Name,所述Name对应关系型数据库二维结构中行或列的名称。
所述向内存对象缓存和所述扩展后的Key-Value哈希数据库写入数据包 括:
提取所述消息中的Key、Value值;
将所述Key、Value值分别写入所述内存对象缓存和所述扩展后的 Key-Value哈希数据库中。
所述向内存对象缓存和所述扩展后的Key-Value哈希数据库写入数据之 后,还包括:建立或更新全文检索的反向索引。
当所述查询命令为复杂条件的查询命令时,所述根据所述查询命令进行 检索包括:
根据所述查询命令和全文检索的反向索引,获取符合条件的Key;
通过所获取的Key,查询所述Key所对应的Value值。
当所述查询命令为简单主键的查询命令时,所述根据所述查询命令进行 检索包括:
根据查询命令中携带的Key,查询所述Key所对应的Value值。
所述查询所述Key所对应的Value值包括:
在内存对象缓存中对所述Key进行查询,当所述内存对象缓存中存在所 述Key,则获取所述Key对应的Value值。
所述查询所述Key所对应的Value值包括:
在内存对象缓存中对所述Key进行查询,当所述内存对象缓存中不存在 所述Key,则在所述Key-Value哈希数据库中对所述Key进行查询,并获取 所述Key对应的Value值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山软件有限公司;北京金山数字娱乐科技有限公司,未经北京金山软件有限公司;北京金山数字娱乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910080964.0/2.html,转载请声明来源钻瓜专利网。