用于访问ssdb服务器的方法和装置的制造方法

文档序号:9417366阅读:501来源:国知局
用于访问ssdb服务器的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及互联网技术领域,具体涉及一种用于访问SSDB服务器的方法和装置。
【背景技术】
[0002] Redis数据库是一种高性能的key-value数据库,它支持存储的value类型非常丰 富,包括字符串(string)、链表(list)、集合(set)、有序集合(zset,sorted set)和哈希 (hash)类型等。通过Redis数据库能够高效地处理多种数据类型,例如,需要动态排序的数 据类型可以通过Redis数据库得到很好地处理。正是由于Redis数据库具备诸多优势,因 此得到了越来越广泛的应用。但是,由于Redis数据库将数据全部存储在内存中,因而会占 用大量的内存,这不仅影响了内存的其他用途,还会使Redis数据库的存储容量受到内存 容量的制约。
[0003] SSDB数据库是一种高性能的支持丰富数据结构的非关系型数据库,其能够将数 据存储在磁盘上,从而在一定程度上替代Redis数据库。通过SSDB数据库,能够将原本由 Redis数据库存储在内存中的数据内容存储到磁盘上,从而避免了对内存的大量占用,且存 储容量也不再受到内存容量的制约,能够存储更多的数据内容。因此,SSDB数据库能够存 储海量的业务数据,更适合应用在大规模服务器上,越来越多的公司开始采用SSDB数据库 替代Redis数据库。
[0004] 但是,现有的SSDB服务器仅支持单一的SSDB协议,客户端只能通过SSDB协议来 访问SSDB服务器中的内容,采用其他协议的客户端则无法正常访问SSDB服务器所提供的 服务。对于目前仍在广泛使用的Redis客户端,以及遵循其他协议的多种客户端来说,无法 正常使用SSDB服务器。这一局限性严重制约了 SSDB服务器的推广和使用。

【发明内容】

[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的用于访问SSDB服务器的方法和装置。
[0006] 根据本发明的一个方面,提供了一种用于访问SSDB服务器的方法,其包括:接收 针对SSDB服务器发出的访问请求;根据访问请求中的指定字段来确定访问请求所遵循的 协议规范,并按照该协议规范解析并处理访问请求;根据该协议规范构造并返回与处理结 果相应的响应消息。
[0007] 根据本发明的另一方面,提供了一种用于访问SSDB服务器的装置,其包括:接收 模块,适于接收针对SSDB服务器发出的访问请求;解析处理模块,适于根据访问请求中的 指定字段来确定访问请求所遵循的协议规范,并按照协议规范解析并处理访问请求;响应 模块,适于根据协议规范构造并返回与处理结果相应的响应消息。
[0008] 根据本发明的用于访问SSDB服务器的方法和装置,在接收到访问请求后,能够根 据访问请求中的指定字段来确定访问请求所遵循的协议规范,按照协议规范解析并处理访 问请求,并且根据协议规范构造并返回与处理结果相应的响应消息。由此可见,在本发明 中,能够自动识别访问请求所遵循的协议规范,并执行相应的处理,因此,SSDB服务器不仅 能够通过SSDB客户端进行访问,还能通过其他多种类型的客户端进行访问。其他类型的客 户端无需进行任何改变,只要按照其原本的协议规范即可。例如,对于Redis客户端来说, 能够直接按照访问Redis服务器的方式来访问SSDB服务器,从而方便了其他客户端的使 用,扩展了 SSDB服务器的应用范围。
[0009] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0010] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0011] 图1示出了根据本发明一个实施例的用于访问SSDB服务器的方法的流程图;
[0012] 图2示出了根据本发明另一个实施例的用于访问SSDB服务器的方法的流程图;以 及,
[0013] 图3示出了根据本发明一个实施例的用于访问SSDB服务器的装置的结构图。
【具体实施方式】
[0014] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0015] 本发明实施例提供了一种用于访问SSDB服务器的方法和装置,能够解决现有的 SSDB服务器仅支持单一的SSDB协议,客户端只能通过SSDB协议来访问SSDB服务器中的内 容,采用其他协议的客户端无法正常访问SSDB服务器所提供的服务的问题。
[0016] 图1示出了根据本发明一个实施例的用于访问SSDB服务器的方法的流程图,如图 1所示,该方法包括如下步骤:
[0017] 步骤Sl 10,接收针对SSDB服务器发出的访问请求。
[0018] 其中,访问请求可以通过多种协议规范来实现,例如,可以是通过SSDB协议规范 来实现的SSDB访问请求,或者是通过Redis协议规范来实现的Redis访问请求,还可以是 遵循HTTP协议的HTTP访问请求等。总之,本发明实施例对访问请求所遵循的具体协议规 范不做限定。
[0019] 步骤S120,根据访问请求中的指定字段来确定访问请求所遵循的协议规范。
[0020] 具体地,在本步骤中,可以通过预先设定的协议规范对照表来确定访问请求中指 定字段的具体位置,并根据该位置的字段内容进一步确定访问请求所遵循的协议规范。其 中,该协议规范对照表中存储了常用的各种协议规范,以及每种协议规范所对应的特征字 段的字段位置及字段特征。例如,以Redis协议规范为例来说,由于在Redis协议规范的请 求协议中,第一个字节固定为号,因此,可以在协议规范对照表中,将Redis协议规范中 的请求协议的特征字段设定为第一个字节所对应的字段,且该字段的字段特征为号,只 要接收到的访问请求的第一个字节为号,就确定其遵循Redis协议规范中的请求协议 规范。
[0021] 具体处理时,由于协议规范对照表中存储了多种协议规范,每种协议规范所对应 的特征字段的字段位置及字段特征均不相同,因此,可以针对收到的访问请求,按照协议 规范对照表中记录的各个协议规范的顺序逐一进行尝试,直到确定其满足某一协议规范为 止。为了尽可能高效地确定出该访问请求所遵循的协议规范,可以在协议规范对照表中动 态记录每种协议规范的使用频率,并将各种协议规范按照使用频率进行动态排序,将使用 频率较高的协议规范排在前面,以便优先尝试。
[0022] 步骤S130,按照该访问请求所遵循的协议规范解析并处理该访问请求。
[0023] 其中,解析得到的访问请求至少包括以下请求中的一个或多个:读取数据请求、 更新数据请求和删除数据请求,其中,读取数据请求中包含get函数,更新数据请求中包含 set函数,删除数据请求中包含delete函数。
[0024] 步骤S140,根据该访问请求所遵循的协议规范构造并返回与处理结果相应的响应 消息。
[0025] 其中,响应消息至少包括以下类型中的一个或多个:状态回复类型、错误回复类 型、整数回复类型、批量回复类型和多条批量回复类型。
[0026] 根据本发明的用于访问SSDB服务器的方法,在接收到访问请求后,能够根据访问 请求中的指定字段来确定访问请求所遵循的协议规范,按照协议规范解析并处理访问请 求,并且根据协议规范构造并返回与处理结果相应的响应消息。由此可见,在本发明中,能 够自动识别访问请求所遵循的协议规范,并执行相应的处理,因此,SSDB服务器不仅能够通 过SSDB客户端进行访问,还能通过其他多种类型的客户端进行访问。其他类型的客户端无 需进行任何改变,只要按照其原本的协议规范即可。例如,对于Redis客户端来说,能够直 接按照访问Redis服务器的方式来访问SSDB服务器,从而方便了其他客户端的使用,扩展 了 SSDB服务器的应用范围。
[0027] 图2示出了根据本发明另一个实施例的用于访问SSDB服务器的方法的流程图,如 图2所示,该方法包括如下步骤:
[0028] 步骤S210,接收针对SSDB服务器发出的访问请求。
[0029] 在本实施例中,该访问请求例如可以是"*3\r\n$3\r\nset\r\n$l\r\na\r\n$l\r\ nI\r\n"。其中,该访问请求为Redis访问请求,本领域技术人员能够理解的是,该访问请求 也可以是其他类型的请求。
[0030] 步骤S220,查询预设的协议规范对照表,根据该协议规范对照表中记录的各种协 议规范所对应的特征字段的字段位置及字段特征来确定该访问请求所遵循的协议规范。
[0031] 其中,该协议规范对照表是根据各种协议规范的结构特征来设定的,用于识别各 种协议规范。具体地,在设定
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1