一种检索方法及检索系统的利记博彩app

文档序号:6442205阅读:319来源:国知局
专利名称:一种检索方法及检索系统的利记博彩app
技术领域
本发明涉及计算机通信技术,特别涉及一种检索方法及检索系统。
背景技术
随着计算机通信技术以及互联网技术的发展,互联网络的信息资源成指数增长,通过互联网络检索并获取相关信息越来越成为人们生活以及工作中不可或缺的一部分,如何有效进行检索,获取用户所需信息也就成为了亟待解决的问题,以下简要介绍两种常用的应用于搜索检索端的检索方法。第一种检索方法为腾讯soso的long connection packer&unpacker,属于轻量级网络协议框架,long connection pack&upack采用〈key, value〉键值对方式实现检索,客户端与检索服务器预先设置各检索字段对应的键(key)及键值(value)对,例如,当客户端向检索服务器发送检索请求包时,假设检索条件中包含三个参数,三个参数对应的键分别为A、B、C,根据客户端和检索服务器预先预定的32比特整型值的键值,获取三个参数对应的键值,分别为:keyA、keyB、keyC,这样,根据与检索服务器预先协商好的检索请求包格式,向检索服务器发送的检索请求包格式可以如下:包头(32bit)+〈A,keyA>+〈B,keyB>+〈C,keyC>检索服务器接收到检索请求包后,首先解析包头信息,根据解析得到的包头信息校验检索请求包的合法性及长度;其次,根据与客户端预先协商好的检索请求包格式对接收的检索请求包进行匹配,如果匹配不成功,丢弃该检索请求包,如果匹配成功,依次取出上述三个参数对应的键值(keyA,keyB, keyC);然后,根据键值进行检索,获取检索请求的内容。第二种检索方法为谷歌(google)的协议缓存(proto buf),也属于轻量级网络协议框架,是google提出的一种与语言无关、平台无关、扩展性好的用于通信协议、数据存储的结构化数据串行化方法,基于二进制,支持多语言(C++、Java、Python),支持结构化数据的序列化传输。通过下载并安装proto buf软件,通过适配文件(jce文档)定义可序列化的数据结构,以对检索字段进行序列化,并为每个数据结构定义Reader和Writer,通信双方(客户端和检索服务器)共用相同的Reader和Writer,检索服务器根据共用的Reader进行匹配处理,如果匹配不成功,丢弃该数据结构,如果匹配成功,根据序列化的检索字段进行检索,获取检索请求的内容。由上述可见,现有的检索方法,两者对于匹配不成功的数据结构,都直接进行丢弃。举例来说,如果客户端在数据结构中增加序列化的检索字段,则检索服务器在匹配时会造成匹配失败,从而将检索请求包丢弃,导致无法进行检索,使得检索的效率较低;进一步地,对于long connection packer&unpacker,由于需要采用〈key, value〉键值对,会造成大量〈key,value)键值对的出现,而且,键及键值需要预先定义,使得每次增删协议字段,需要客户端和检索服务器同步协议字段对应的键值对,不利于版本发布,尤其是跨部门的合作,检索的通用性以及可扩展性较低;而且,键值的定义也会造成数据定义的急剧膨胀,给维护造成极大困扰。

发明内容
有鉴于此,本发明的主要目的在于提出一种检索方法,提高检索的效率。本发明的另一目的在于提出一种检索系统,提高检索的效率。为达到上述目的,本发明提供了一种检索方法,该方法包括: 解析来自客户端的检索请求包,获取包头内容以及包体内容,所述包头内容为所述客户端根据预先协商的校验策略生成的校验值,所述包体内容为所述客户端根据预先设置的适配文件定义的序列化的数据结构,对用户输入的检索字段对应的键值进行序列化的数据结构处理得到的;根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;如果重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。所述校验策略包括如下中的至少一种:循环冗余校验CRC结合包头合法性校验、消息摘要算法第五版MD5校验以及海明校验。所述校验策略为循环冗余校验CRC结合包头合法性校验,所述方法还包括:根据预先协商的加密字段,与一随机数进行CRC编码,生成CRC码表;获取检索请求包长度信息值;将所述加密字段、随机数、CRC码表以及检索请求包长度信息值作为校验值。所述根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同包括:A,判断解析得到的包头内容中携带的检索请求包长度信息值是否不大于预先设置的检索请求包长度阈值,如果是,执行步骤B,如果否,判断重新生成的校验值与包头内容中携带的校验值不相同;B,根据解析得到的包头内容中携带的加密字段与随机数,进行CRC编码,生成CRC码表;C,判断生成的CRC码表与包头内容中携带的CRC码表是否相同,如果相同,则判断重新生成的校验值与包头内容中携带的校验值相同,如果不相同,则判断重新生成的校验值与包头内容中携带的校验值不相同。一种检索系统,该检索系统包括:客户端以及检索服务器,其中,客户端,用于接收用户输入的检索字段,获取检索字段对应的键值,并根据预先设置的适配文件定义的序列化的数据结构,对所述键值进行序列化的数据结构处理,获取检索请求包的包体内容,根据预先协商的校验策略,生成校验值作为检索请求包的包头内容,并将检索请求包发送至检索服务器;检索服务器,用于接收检索请求包,解析获取包头内容以及包体内容,根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;如果重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。
所述客户端包括:数据结构处理单元、校验值生成单元以及封装单元,其中,数据结构处理单元,用于接收用户输入的检索字段,获取检索字段对应的键值,并根据预先设置的适配文件定义的序列化的数据结构,对所述键值进行序列化的数据结构处理,获取检索请求包的包体内容;校验值生成单元,用于根据预先协商的校验策略,生成校验值作为检索请求包的包头内各;封装单元,用于封装包头内容和包体内容,生成检索请求包并发送至检索服务器。所述校验值生成单元包括:CRC校验值生成子单元以及检索请求包长度信息值获取子单元,其中,CRC校验值生成子单元,用于根据预先协商的加密字段,与一随机数进行CRC编码,生成CRC码表,将该加密字段、随机数、CRC码表以及检索请求包长度信息值获取子单元获取的检索请求包长度信息值作为检索请求包的包头内容。所述检索服务器包括解析单元、校验值校验单元、匹配单元以及检索单元,其中,解析单元,用于接收检索请求包,解析获取包头内容;校验值校验单元,用于根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;如果重新生成的校验值与包头内容中携带的校验值相同,通知解析单元解析包体内容;匹配单元,用于将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值;检索单元,用于根据匹配成功的检索字段对应的键值进行检索,获取检索结果。所述校验值校验单元包括:CRC校验值校验子单元以及检索请求包长度校验子单元,其中,检索请求包长度校验子单元,用于对解析得到的包头内容中携带的检索请求包长度信息值进行校验,如果检索请求包长度信息值不大于预先设置的检索请求包长度阈值,通知CRC校验值校验子单元;CRC校验值校验子单元,用于根据解析得到的包头内容中携带的加密字段与随机数,进行CRC编码,生成CRC码表,确定生成的CRC码表与包头内容中携带的CRC码表相同,通知解析单元解析包体内容。由上述的技术方案可见,本发明实施例提供的一种检索方法及检索系统,解析来自客户端的检索请求包,获取包头内容以及包体内容,所述包头内容为所述客户端根据预先协商的校验策略生成的校验值,所述包体内容为所述客户端根据预先设置的适配文件定义的序列化的数据结构,对用户输入的检索字段对应的键值进行序列化的数据结构处理得到的;根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;如果重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。这样,通过对包头内容进行校验,可以有效防止非法请求和端口扫描工具等无效连接的访问;对检索请求包的包体内容中包含的各检索字段分别进行匹配,忽略匹配不成功的检索字段,根据匹配成功的检索字段对应的键值并进行检索,提高了检索的效率。


图1为本发明实施例检索方法的流程示意图。图2为本发明实施例适配文件以及数据结构的结构示意图。图3为本发明实施例的检索请求包的包头结构示意图。图4为本发明实施例对包体内容进行匹配的示意图。图5为本发明实施例检索方法的应用场景示意图。图6为本发明实施例检索系统的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。现有技术中,longconnection packer&unpacker 以及 Google proto buf 按照预先的协商进行匹配处理,使得检索的容错性、通用性以及可扩展性较差。本发明实施例中,通过借鉴proto buf和long connection packer&unpacker,提出一种基于搜索引擎在线检索端的轻量级网络协议的检索方法,多业务检索时采用“数据结构序列化”方式提供检索服务,以简单的源码方式提供了更为轻量级的序列化工具,可以同检索服务的源码一起编译,无需安装;通过统一各业务部门业务(检索字段)对应的键,以键值标识业务,并在进行匹配处理时,对于检索请求包中匹配成功的字段,进行检索,而忽略检索请求包中匹配不成功的字段,从而提升社区搜索的多业务检索的通用性和可扩展性。图1为本发明实施例检索方法的流程示意图。参见图1,该流程包括:步骤101,解析来自客户端的检索请求包,获取包头内容以及包体内容,所述包头内容为所述客户端根据预先协商的校验策略生成的校验值,所述包体内容为所述客户端根据预先设置的适配文件定义的序列化的数据结构,对用户输入的检索字段对应的键值进行序列化的数据结构处理得到的;本步骤中,客户端根据用户输入的检索字段获取对应的键值,并进行序列化的数据结构处理作为检索请求包的包体内容;不同的业务对应的键相同,不同的键值对应不同业务的检索字段,这样,有效减少了〈key,value)键值对,在每次增删协议字段时,只需要客户端和检索服务器同步协议字段对应的键值即可,可利于版本发布,通过各部门的不同业务采用相同的键,有助于跨部门的合作;进一步地,键值的定义不会造成数据定义的急剧膨胀,方便维护。进行序列化的数据结构处理具体包括:A01、获取预先设置的适配文件;本步骤中,采用proto buf的协议方式,获取proto buf的Java加密扩展(jce)适配文件,并在后续通过jce文档(jce适配文件)生成协议代码。A02、根据获取的适配文件定义的序列化的数据结构,对检索字段对应的键值进行序列化的数据结构处理。本步骤中,适配文件定义可序列化的数据结构,客户端后台提供用于解析jce文档的词法和语法分析器,通过jce文档将检索字段对应的键及键值解析成对应的高级语言的源码,对应于可序列化的数据结构。
图2为本发明实施例适配文件以及数据结构的结构示意图。参见图2,适配文件为jce文档,包括多个结构体,例如,结构体A、结构体B等,其中,optional表示可选字段,required表示必选字段,用户可以在jce文档中自定义字段的默认赋值,对于optional字段,通信双方可以不做强制约束,而采取默认值填充,从而使得通过optional和required字段的设置,可以实现协议双方异步发布而不导致协议错乱。关于jce文档的详细描述,具体可参见相关技术文献,在此不再赘述。通过jce文档,可以自动将检索字段对应的键及键值解析成对应的高级语言的源码,如图2中右部分所示。本发明实施例中,jce文档为每个数据结构定义公共的轻量级序列化工具Reader和Writer (jce类库),通信双方共用相同的Reader和Writer,按标识的序列号进行二进制“读”或者“写”,并实现网络序和本机序互转。校验策略可以采用循环冗余校验(CRC,Cyclic Redundancy Check)结合包头合法性校验、消息摘要算法第五版(MD5, Message Digest Algorithm)校验或海明校验等。当校验策略采用CRC结合包头合法性校验时,生成校验值具体包括:All、根据预先协商的加密字段,与一随机数进行CRC编码,生成CRC码表;本步骤中,客户端与检索服务器预先协商加密字段,并分别存储该加密字段。A12、获取检索请求包长度信息值;A13、将该加密字段、随机数、CRC码表以及检索请求包长度信息值作为校验值。图3为本发明实施例的检索请求包的包头结构示意图。参见图3,包头包括包头加密部分以及检索请求包长度信息值部分,其中,包头加密部分由固定的加密字段、随机数以及经CRC编码生成的CRC码表组成。步骤102,根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;本步骤中,如果包头内容中携带的校验值与重新生成的校验值不相同,则丢弃该检索请求包,这样,通过对接收的包头内容进行校验,可以有效拒绝非法请求的无效连接以及端口扫描工具无效连接的检索访问。根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同具体包括:A21、判断解析得到的包头内容中携带的检索请求包长度信息值是否大于预先设置的检索请求包长度阈值,如果是,丢弃该检索请求包,否则,执行步骤A22 ;A22、根据解析得到的包头内容中携带的加密字段与随机数,进行CRC编码,生成CRC码表;本步骤中,也可以先确定解析得到的包头内容中携带的加密字段与自身存储的与该客户端协商的加密字段一致,才将该加密字段与随机数进行CRC编码的流程。A23、判断生成的CRC码表与包头内容中携带的CRC码表是否相同,如果相同,判断重新生成的校验值与包头内容中携带的校验值相同,否则,判断重新生成的校验值与包头内容中携带的校验值不相同,丢弃该检索请求包。本步骤中,判断新生成的CRC码表与接收到的CRC码表是否相同,如果相同,则校验成功,否则,确定包体数据错误,从而丢弃该检索请求包。也就是说,重新生成的校验值包括:检索请求包长度阈值、加密字段、随机数以及根据加密字段与随机数进行CRC编码生成的CRC码表。本发明实施例中,由于每次请求的随机数是不确定的,导致生成的CRC码表也是不唯一的,因而,二重校验能拒绝大部分非法请求和端口扫描工具等无效连接的访问。步骤103,确定重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。本步骤中,对检索请求包的包体内容中包含的各检索字段分别进行匹配,忽略匹配不成功的检索字段,根据匹配成功的检索字段对应的键值并进行检索,而不是在检索请求包的包体内容中包含的各检索字段中有一项没有匹配成功时,即将该检索请求包丢弃,从而提闻了检索的容错性。图4为本发明实施例对包体内容进行匹配的示意图。参见图4,包含字段O和字段I的结构体A是客户端与检索服务器预先协商的数据结构,假设客户端在发送的检索请求包中新增字段2,即在结构体A中新增字段2,客户端通过Writer,将新增字段2对应的键值、长度、选项等信息序列化,通过网络通信发送至检索服务器,检索服务器调用Reader,读取检索请求包,对结构体A中包含的各字段进行匹配,当读取到字段2时,检测到该字段2与预先协商的数据结构不匹配,确定该字段属于可选字段后,则将该字段丢弃,并以字段O和字段I进行检索获取检索结果,从而不影响本次通信,使得对于社区搜索的多业务检索具有较高的检索效率、良好的通用性和可扩展性。图5为本发明实施例检索方法的应用场景示意图。不同的业务,例如,空间业务检索、校友业务检索、无线业务检索,共用相同的key(fiXed key),用于打包,每个检索请求包共用相同的头部信息和版本信息用作校验;key对应的value(wup buf)不同,用以区分不同的业务,不同的业务采用相同的网络协议框架获取不同的协议内容并灵活处理,检索后,经过wup协议打包后将相应的业务检索结果返回给客户端,不同的检索结果对应不同的wup buf,例如,返回给空间的结果为:包头〈key, qzone_buf> ;返回给校友的结果为:包头〈key, alumnus_buf>。其中,包头和key均为固定,包体内容因业务不同而不同。图6为本发明实施例检索系统的结构示意图。参见图6,该检索系统包括:客户端以及检索服务器,其中,客户端,用于接收用户输入的检索字段,获取检索字段对应的键值,并根据预先设置的适配文件定义的序列化的数据结构,对所述键值进行序列化的数据结构处理,获取检索请求包的包体内容,根据预先协商的校验策略,生成校验值作为检索请求包的包头内容,并将检索请求包发送至检索服务器;本发明实施例中,不同的键值对应不同业务的检索字段,不同的业务对应的键相同,这样,有效减少了〈key,value)键值对,在每次增删协议字段时,只需要客户端和检索服务器同步协议字段对应的键值即可,利于版本发布,各部门的不同业务采用相同的键,有助于跨部门的合作。校验策略可以采用循环冗余校验(CRC,Cyclic Redundancy Check)结合包头合法性校验、消息摘要算法第五版(MD5,Message Digest Algorithm)校验或海明校验等。检索服务器,用于接收检索请求包,解析获取包头内容以及包体内容,根据所述预先协商的校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;确定重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。本发明实施例中,通过对接收的包头内容进行校验,可以有效拒绝非法请求的无效连接以及端口扫描工具无效连接的检索访问,对检索请求包的包体内容中包含的各检索字段分别进行匹配,忽略匹配不成功的检索字段,根据匹配成功的检索字段对应的键值并进行检索,而不是在检索请求包的包体内容中包含的各检索字段中有一项没有匹配成功时,即将该检索请求包丢弃,从而提高了检索的效率及容错性。其中,客户端包括:数据结构处理单元、校验值生成单元以及封装单元(图中未示出),其中,数据结构处理单元,用于接收用户输入的检索字段,获取检索字段对应的键值,并根据预先设置的适配文件定义的序列化的数据结构,对所述键值进行序列化的数据结构处理,获取检索请求包的包体内容;校验值生成单元,用于根据预先协商的校验策略,生成校验值作为检索请求包的包头内各;封装单元,用于封装包头内容和包体内容,生成检索请求包并发送至检索服务器。校验值生成单元包括:CRC校验值生成子单元以及检索请求包长度信息值获取子单元(图中未示出),其中,CRC校验值生成子单元,用于根据预先协商的加密字段,与一随机数进行CRC编码,生成CRC码表,将该加密字段、随机数、CRC码表以及检索请求包长度信息值获取子单元获取的检索请求包长度信息值作为检索请求包的包头内容。检索服务器包括解析单元、校验值校验单元、匹配单元以及检索单元(图中未示出),其中,解析单元,用于接收检索请求包,解析获取包头内容;校验值校验单元,用于根据预先协商的校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;确定重新生成的校验值与包头内容中携带的校验值相同,通知解析单元解析包体内容;匹配单元,用于将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值;检索单元,用于根据匹配成功的检索字段对应的键值进行检索,获取检索结果。校验值校验单元包括:CRC校验值校验子单元以及检索请求包长度校验子单元(图中未示出),其中,检索请求包长度校验子单元,用于对解析得到的包头内容中携带的检索请求包长度信息值进行校验,如果检索请求包长度信息值不大于预先设置的检索请求包长度阈值,通知CRC校验值校验子单元;本发明实施例中,如果检索请求包长度信息值大于预先设置的检索请求包长度阈值,则丢弃该检索请求包。CRC校验值校验子单元,用于根据解析得到的包头内容中携带的加密字段与随机数,进行CRC编码,生成CRC码表,确定生成的CRC码表与包头内容中携带的CRC码表相同,通知解析单元解析包体内容。 本发明实施例中,CRC校验值校验子单元也可以先确定解析得到的包头内容中携带的加密字段与自身存储的与该客户端协商的加密字段一致,才将该加密字段与随机数进行CRC编码的流程。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种检索方法,其特征在于,该方法包括: 解析来自客户端的检索请求包,获取包头内容以及包体内容,所述包头内容为所述客户端根据预先协商的校验策略生成的校验值,所述包体内容为所述客户端根据预先设置的适配文件定义的序列化的数据结构,对用户输入的检索字段对应的键值进行序列化的数据结构处理得到的; 根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同; 如果重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。
2.如权利要求1所述的方法,其特征在于,所述校验策略包括如下中的至少一种:循环冗余校验CRC结合包头合法性校验、消息摘要算法第五版MD5校验以及海明校验。
3.如权利要求2所述的方法,其特征在于,所述校验策略为循环冗余校验CRC结合包头合法性校验,所述方法还包括: 根据预先协商的加密字段,与一随机数进行CRC编码,生成CRC码表; 获取检索请求包长度信息值; 将所述加密字段、随机数、CRC码表以及检索请求包长度信息值作为校验值。
4.如权利要求2所述的方法,其特征在于,所述根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同包括: A,判断解析得到的包头内容中携带的检索请求包长度信息值是否不大于预先设置的检索请求包长度阈值,如果是,执行步骤B,如果否,判断重新生成的校验值与包头内容中携带的校验值不相同; B,根据解析得到的包头内容中携带的加密字段与随机数,进行CRC编码,生成CRC码表; C,判断生成的CRC码表与包头内容中携带的CRC码表是否相同,如果相同,则判断重新生成的校验值与包头内容中携带的校验值相同,如果不相同,则判断重新生成的校验值与包头内容中携带的校验值不相同。
5.一种检索系统,其特征在于,该检索系统包括:客户端以及检索服务器,其中, 客户端,用于接收用户输入的检索字段,获取检索字段对应的键值,并根据预先设置的适配文件定义的序列化的数据结构,对所述键值进行序列化的数据结构处理,获取检索请求包的包体内容,根据预先协商的校验策略,生成校验值作为检索请求包的包头内容,并将检索请求包发送至检索服务器; 检索服务器,用于接收检索请求包,解析获取包头内容以及包体内容,根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;如果重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。
6.如权利要求5所述的检索系统,其特征在于,所述客户端包括:数据结构处理单元、校验值生成单元以及封装单元,其中, 数据结构处理单元,用于接收用户输入的检索字段,获取检索字段对应的键值,并根据预先设置的适配文件定义的序列化的数据结构,对所述键值进行序列化的数据结构处理,获取检索请求包的包体内容; 校验值生成单元,用于根据预先协商的校验策略,生成校验值作为检索请求包的包头内容; 封装单元,用于封装包头内容和包体内容,生成检索请求包并发送至检索服务器。
7.如权利要求6所述的检索系统,其特征在于,所述校验值生成单元包括:CRC校验值生成子单元以及检索请求包长度信息值获取子单元,其中, CRC校验值生成子单元,用于根据预先协商的加密字段,与一随机数进行CRC编码,生成CRC码表,将该加密字段、随机数、CRC码表以及检索请求包长度信息值获取子单元获取的检索请求包长度信息值作为检索请求包的包头内容。
8.如权利要求5至7任一项所述的检索系统,其特征在于,所述检索服务器包括解析单元、校验值校验单元、匹配单元以及检索单元,其中, 解析单元,用于接收检索请求包,解析获取包头内容; 校验值校验单元,用于根据所述校验策略,重新生成校验值,判断重新生成的校验值与包头内容中携带的校验值是否相同;如果重新生成的校验值与包头内容中携带的校验值相同,通知解析单元解析包体内容; 匹配单元,用于将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值; 检索单元,用于根据匹配成功的检索字段对应的键值进行检索,获取检索结果。
9.如权利要求8所述的检索系统,其特征在于,所述校验值校验单元包括:CRC校验值校验子单元以及检索请求包长度校验子单元,其中, 检索请求包长度校验子单元,用于对解析得到的包头内容中携带的检索请求包长度信息值进行校验,如果检索请求包长度信息值不大于预先设置的检索请求包长度阈值,通知CRC校验值校验子单元; CRC校验值校验子单元,用于根据解析得到的包头内容中携带的加密字段与随机数,进行CRC编码,生成CRC码表,确定生成的CRC码表与包头内容中携带的CRC码表相同,通知解析单元解析包体内容。
全文摘要
本发明公开了一种检索方法及检索系统。该方法包括解析来自客户端的检索请求包,获取包头内容以及包体内容,所述包头内容为所述客户端根据预先协商的校验策略生成的校验值,所述包体内容为所述客户端根据预先设置的适配文件定义的序列化的数据结构,对用户输入的检索字段对应的键值进行序列化的数据结构处理得到的;根据所述校验策略,重新生成校验值,如果重新生成的校验值与包头内容中携带的校验值是否相同;确定重新生成的校验值与包头内容中携带的校验值相同,将包体内容与所述定义的序列化的数据结构进行匹配,获取匹配成功的检索字段对应的键值并进行检索。应用本发明,可以提高检索的效率。
文档编号G06F17/30GK103176970SQ20111042904
公开日2013年6月26日 申请日期2011年12月20日 优先权日2011年12月20日
发明者何建国, 付剑波, 谭强, 文勖 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1