一种配置协议的方法及装置的制作方法

文档序号:7760532阅读:132来源:国知局
专利名称:一种配置协议的方法及装置的制作方法
技术领域
本发明涉及计算机协议配置技术,特别涉及一种配置协议的方法及装置。
背景技术
客户-服务器(CS,Client-Server)协议以及开放接口数据库(0IDB,Open Interface Database)协议是现有微博通信采用的协议,其中,CS协议主要是用于微博客户端与微博后台通信;OIDB协议主要是用于用户网页与微博后台通信。微博客户端通过配置 CS协议以及OIDB协议,可以实现与其他微博客户端的即时通信(IMdnstant Messaging)。随着通信技术的发展,用户对微博客户端能够执行的功能要求越来越高,这样,相关技术人员通过开发新的通信协议,并将开发的新通信协议配置在微博客户端,使之能够支持新的功能以满足用户的需求。图1为现有配置协议的微博客户端的结构示意图。参见图1,以支持CS协议以及 OIDB协议为例,该微博客户端包括接入层/协议转换层模块、数据(Data)逻辑层模块、索引andex)逻辑层模块、关系链(Sns)逻辑层模块以及资料(Udc)逻辑层模块,其中,数据逻辑层模块、索引逻辑层模块、关系链逻辑层模块以及资料逻辑层模块也统称为逻辑层模块,接入层/协议转换层模块,用于对用户进行登录认证,在登录认证通过后,接收用户发送的数据包,根据数据包中携带的命令字,获取该命令字对应的协议,根据预先存储的配置信息确定数据包中命令字对应的协议需要进行协议转换,获取转换后的协议对应的逻辑层模块信息,将数据包发送至相应的逻辑层模块;现有技术中,接入层/协议转换层模块中预先存储的配置信息是相关技术人员通过修改代码实现的,例如,对于新开发的一个协议,以开发资料逻辑层模块为例,根据资料逻辑层模块功能开发并进行测试后,修改接入层/协议转换层模块中代码形成配置信息, 使之支持新协议,这样,在后续中,接入层/协议转换层模块就可以根据预先存储的配置信息进行相应处理。数据(Data)逻辑层模块,用于负责数据相关协议的业务逻辑处理;索引andex)逻辑层模块,用于负责消息标识(ID)的相关协议的业务逻辑处理;关系链(Sns)逻辑层模块,用于负责关系链相关协议的业务逻辑处理;资料(Udc)逻辑层模块,用于负责资料相关协议的业务逻辑处理。上述示例中,接入层/协议转换层模块与多个逻辑层模块相连,逻辑层模块用于处理各条协议的业务逻辑,向下与底层的存储层模块(图中未示出)相连。其中,数据逻辑层模块以及索引逻辑层模块通过CS协议接口与接入层/协议转换层模块相连,关系链逻辑层模块以及资料逻辑层模块通过OIDB协议接口与接入层/协议转换层模块相连。当然,实际应用中,也可以协议发展的需要,对逻辑层模块进行扩展,使之通过相应扩展的协议接口与接入层/协议转换层模块相连,关于图1与接入层/协议转换层模块相连的各逻辑层模块对数据包的具体处理,由于与本发明无关,可参见相关技术文献,在此不再赘述。
由上述可见,现有配置协议的方法,由于各协议不断向前发展,逻辑层模块也在不断的增加,因此,每次新增协议,接入层/协议转换层模块都需要相关技术人员通过修改代码和配置,进行发布(测试成功),才能使得依赖于新协议实现的新功能得到支持,增加了配置协议所需的时间,从而提高了新协议上线的时间成本,降低了配置协议的效率。

发明内容
有鉴于此,本发明的主要目的在于提出一种配置协议的方法,降低配置协议所需的时间、提高配置协议的效率。本发明的另一目的在于提出一种配置协议的装置,降低配置协议所需的时间、提高配置协议的效率。为达到上述目的,本发明提供了一种配置协议的方法,该方法包括预先设置包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;拉取配置文件;接收数据包,获取数据包采用的协议,根据数据包采用的协议与预先设置的配置文件,确定是否需要进行协议转换,如果需要,获取该转换的协议对应的逻辑层模块信息, 将数据包输出至该转换的协议对应的逻辑层模块;否则,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块。所述配置文件存储在本地设备或远程服务器中。所述拉取配置文件具体包括在接入层/协议转换层模块进程启动或设置的定时时间到时,通过信号的方式从本地设备或远程服务器拉取配置文件。进一步包括判断缓存中是否存储有配置文件,如果有,将拉取得到的配置文件更新存储在缓存中的配置文件。所述接收数据包,获取数据包采用的协议具体包括解析接收的数据包包头,获取携带的命令字,然后解析命令字获取该命令字对应的协议,所述命令字对应的协议为接收的数据包采用的协议。所述根据数据包采用的协议与预先设置的配置文件,确定是否需要进行协议转换具体包括根据数据包采用的协议,查询预先设置的配置文件中的协议转换标识,如果数据包采用的协议没有对应的协议转换标识,则丢弃该接收的数据包;如果数据包采用的协议存在对应的协议转换标识,根据协议转换标识判断需要进行协议转换。一种配置协议的装置,该装置包括配置文件拉取模块、接入层/协议转换层模块以及逻辑层模块,其中,配置文件拉取模块,用于获取包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;接入层/协议转换层模块,用于接收数据包,获取数据包采用的协议,根据数据包采用的协议与配置文件拉取模块存储的配置文件,确定是否需要进行协议转换,如果需要,获取该转换的协议对应的逻辑层模块信息,将数据包输出至该转换的协议对应的逻辑层模块;否则,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块;逻辑层模块,用于接收数据包,进行业务逻辑处理。所述接入层/协议转换层模块包括数据包解析单元、协议转换处理单元、数据包处理单元以及数据包发送单元,其中,数据包解析单元,用于接收数据包,解析数据包包头获取数据包采用的协议,将数据包以及解析得到的数据包采用的协议输出至协议转换判断单元,协议转换处理单元,用于根据接收的数据包采用的协议,查询配置文件拉取模块存储的配置文件中该协议对应的协议转换标识,获取协议转换标识对应的协议,将数据包以及协议转换标识对应的协议输出至数据包处理单元;数据包处理单元,用于根据接收的协议,查询配置文件拉取模块存储的配置文件中各协议对应的逻辑层模块信息,获取该接收的协议对应的逻辑层模块信息,对数据包进行封装后输出至数据包发送单元;数据包发送单元,用于将接收的数据包进行发送。所述配置文件在接入层/协议转换层模块进程启动或设置的定时时间到时,通过信号的方式从本地设备或远程服务器拉取配置文件。由上述的技术方案可见,本发明提供的一种配置协议的方法及装置,通过预先设置包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;拉取配置文件;接收数据包,获取数据包采用的协议,根据数据包采用的协议与预先设置的配置文件,确定是否需要进行协议转换,如果需要,获取该转换的协议对应的逻辑层模块信息,将数据包输出至该转换的协议对应的逻辑层模块;否则,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块。这样,在配置文件中仅需要设置协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息,避免了对接入层/协议转换层模块中的代码信息进行修改而引起的代码出错或是修改前后不一致导致的运行故障,使得设置简单,配置协议所需的时间短,从而提高了配置协议的效率。


图1为现有配置协议的微博客户端的结构示意图。图2为本发明实施例配置协议的方法流程示意图。图3为本发明实施例配置协议的装置结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。现有技术中,在新协议开发测试后,需要修改接入层/协议转换层模块中的代码信息,这样,对于每一新协议,都需要进行相应代码修改,形成配置信息,使得配置协议所需的时间较长。
本发明实施例中,考虑到接入层/协议转换层模块仅仅是对接收的数据包进行解析,根据数据包中携带的命令字,查询配置信息中的代码信息,获取该命令字对应的协议是否需要进行协议转换以及转换后的协议对应的逻辑层模块标识,再将数据包发送至相应的逻辑层模块进行处理,也就是说,接入层/协议转换层模块对数据包仅仅进行解析,然后对数据包执行近似透传的处理。因而,本申请通过设置配置文件的方式,在配置文件中预先将协议与命令字的映射关系、协议转换标识以及需要下发的逻辑层模块信息配置好,通过在进程启动时或对进程发送信号的方式拉取配置文件,根据配置文件进行相应的协议转换, 这样,可以简单,快速的将新的协议部署上线。图2为本发明实施例配置协议的方法流程示意图。参见图2,该流程包括步骤201,预先设置包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;本步骤中,在需要配置或新增协议时,如果为新增协议,根据新增协议设置相应逻辑层模块并进行相关环境测试后,再设置配置文件,如果为配置协议,由于该协议已进行相关环境测试,则可以直接设置配置文件,以减少对接入层/协议转换层模块进行的代码修改。配置文件可以存储在本地设备中,也可以存储在远程服务器中,对于存储在远程服务器中的配置文件,多个微博客户端可以共享配置文件,当然,也可以将存储在本地的配置文件进行共享。协议转换标识用于标识该协议是否需要进行协议转换,如果需要进行协议转换, 还包括转换的协议;协议对应的逻辑层模块信息用于标识具有该协议的数据包需要发送的逻辑层模块标识(信息)。实际应用中,如果相关技术人员需要对配置的协议进行修改,在测试成功后,只需要修改配置文件的相关信息即可。步骤202,拉取配置文件;本步骤中,可以设置在接入层/协议转换层模块进程启动时,从本地设备或远程服务器拉取配置文件,并将拉取得到的配置文件存储在缓存中,以便于后续的处理。实际应用中,也可以设置定时时间,在定时时间到时,触发接入层/协议转换层模块通过信号的方式拉取配置文件,并对存储在缓存中的配置文件执行更新。当然,在接入层/协议转换层模块,也可以预先将前端过来的命令字,发往后端的命令字,以及发往后端的逻辑层模块标识等信息组合在一起,作为一条记录,并将记录存放在配置文件中,每次进程起来的时候,接入层/协议转换层模块读取这些配置文件,并放在缓存中。步骤203,接收数据包,获取数据包采用的协议,根据数据包采用的协议与预先设置的配置文件,确定是否需要进行协议转换,如果需要,执行步骤204,否则,执行步骤205 ;本步骤中,由于外部传输过来的数据包中携带的命令字对应的协议可能与微博客户端中命令字对应的协议不同,需要将数据包中携带的命令字,转换为微博客户端中该数据包携带的命令字对应的协议对应的命令字。本步骤中,解析接收的数据包包头,获取携带的命令字,然后解析命令字获取该命令字对应的协议,例如,根据协议与命令字的映射关系获取该命令字对应的协议,即接收的数据包采用的协议,根据数据包采用的协议,查询预先设置的配置文件中的协议转换标识, 如果数据包采用的协议没有对应的协议转换标识,则丢弃该接收的数据包;如果数据包采用的协议存在对应的协议转换标识,则进一步进行判断如果数据包采用的协议对应的协议转换标识为需要进行协议转换,则执行步骤204。步骤204,获取该转换的协议对应的逻辑层模块信息,将数据包输出至该转换的协议对应的逻辑层模块;本步骤中,根据数据包采用的协议查询协议转换标识,确定该数据包采用的协议是否需要进行协议转换,如果需要,根据协议转换标识获取转换的协议,查询配置文件中的各协议对应的逻辑层模块信息,获取该转换的协议对应的逻辑层模块信息,将该转换的协议对应的命令字携带在数据包中,分别输出至获取的逻辑层模块。步骤205,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块。本步骤中,根据数据包采用的协议查询配置文件中的各协议对应的逻辑层模块信息,获取该数据包采用的协议对应的逻辑层模块信息,并将该数据包采用的协议对应的命令字携带在数据包中,分别输出至获取的逻辑层模块。相应的逻辑层模块接收到数据包后,对数据包进行业务逻辑处理,属于现有技术, 具体可参见相关技术文献,在此不再赘述。本发明实施例中,相应的逻辑层模块包括数据逻辑层模块、索引逻辑层模块、关系链逻辑层模块以及资料逻辑层模块中的一个或多个。由上述可见,本发明实施例的配置协议的方法,通过预先设置包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件,对接收的数据包进行解析,获取数据包采用的协议,根据数据包采用的协议与预先设置的配置文件,确定是否需要进行协议转换,如果需要,将数据包输出至该转换的协议对应的逻辑层模块,否则,将数据包输出至该数据包采用的协议对应的逻辑层模块。这样,在配置文件中仅需要设置协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息,使得设置简单,配置协议所需的时间短,从而提高了配置协议的效率。进一步地,各微博客户端可以从共享的远程服务器获取配置文件,降低了为每一微博客户端配置协议所需的时间。而且, 由于避免了修改接入层/协议转换层模块中的代码信息,降低了相关技术人员修改代码出错或是修改前后不一致导致运行故障的可能性。本发明实施例中,进一步地,可以将接入层/协议转换层模块的功能进行简化,将登陆验证的功能设置为上层服务器进行处理,将具体的业务逻辑设置为由逻辑层模块进行处理,自身仅处理相关协议转换的工作。这样,有效减少了接入层/协议转换层模块的工作量。图3为本发明实施例配置协议的装置结构示意图。参见图3,该装置包括配置文件拉取模块、接入层/协议转换层模块以及逻辑层模块,其中,配置文件拉取模块,用于获取包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;本发明实施例中,配置文件拉取模块中预先设置有拉取配置文件的地址信息,配置文件拉取模块在装置启动或预先设定的定时时间到时,按照配置文件的地址信息拉取配置文件并存储。配置文件的地址信息可以是本地设备访问地址信息,也可以是远程服务器访问地址信息。接入层/协议转换层模块,用于接收数据包,获取数据包采用的协议,根据数据包采用的协议与配置文件拉取模块存储的配置文件,确定是否需要进行协议转换,如果需要, 获取该转换的协议对应的逻辑层模块信息,将数据包输出至该转换的协议对应的逻辑层模块;否则,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块;逻辑层模块,用于接收数据包,进行业务逻辑处理。本发明实施例中,逻辑层模块按照相关协议对数据包的具体处理,属于现有技术, 可参见相关技术文献,在此不再赘述。接入层/协议转换层模块包括数据包解析单元、协议转换处理单元、数据包处理单元以及数据包发送单元,其中,数据包解析单元,用于接收数据包,解析数据包包头获取数据包采用的协议,将数据包以及解析得到的数据包采用的协议输出至协议转换判断单元,协议转换处理单元,用于根据接收的数据包采用的协议,查询配置文件拉取模块存储的配置文件中该协议对应的协议转换标识,获取协议转换标识对应的协议,将数据包以及协议转换标识对应的协议输出至数据包处理单元;本发明实施例中,如果协议转换标识为需要进行协议转换,则协议转换标识对应的协议为协议转换标识中包含的转换的协议,如果协议转换标识为不需要进行协议转换, 则协议转换标识对应的协议为接收的数据包采用的协议。数据包处理单元,用于根据接收的协议,查询配置文件拉取模块存储的配置文件中各协议对应的逻辑层模块信息,获取该接收的协议对应的逻辑层模块信息,对数据包进行封装后输出至数据包发送单元;本发明实施例中,对数据包进行封装属于现有技术,具体可参见相关技术文献。数据包发送单元,用于将接收的数据包进行发送。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种配置协议的方法,其特征在于,该方法包括预先设置包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;拉取配置文件;接收数据包,获取数据包采用的协议,根据数据包采用的协议与预先设置的配置文件, 确定是否需要进行协议转换,如果需要,获取该转换的协议对应的逻辑层模块信息,将数据包输出至该转换的协议对应的逻辑层模块;否则,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块。
2.如权利要求1所述的方法,其特征在于,所述拉取配置文件具体包括在接入层/协议转换层模块进程启动或设置的定时时间到时,通过信号的方式从本地设备或远程服务器拉取配置文件。
3.如权利要求2所述的方法,其特征在于,进一步包括判断缓存中是否存储有配置文件,如果有,将拉取得到的配置文件更新存储在缓存中的配置文件。
4.如权利要求1至3任一项所述的方法,其特征在于,所述接收数据包,获取数据包采用的协议具体包括解析接收的数据包包头,获取携带的命令字,然后解析命令字获取该命令字对应的协议,所述命令字对应的协议为接收的数据包采用的协议。
5.如权利要求4所述的方法,其特征在于,所述根据数据包采用的协议与预先设置的配置文件,确定是否需要进行协议转换具体包括根据数据包采用的协议,查询预先设置的配置文件中的协议转换标识,如果数据包采用的协议没有对应的协议转换标识,则丢弃该接收的数据包;如果数据包采用的协议存在对应的协议转换标识,根据协议转换标识判断需要进行协议转换。
6.如权利要求4所述的方法,其特征在于,接入层/协议转换层模块预先将前端过来的命令字,发往后端的命令字,以及发往后端的逻辑层模块标识组合在一起,作为一条记录,并将记录存放在配置文件中,在每次进程起来时,接入层/协议转换层模块读取所述配置文件,并放在缓存中。
7.一种配置协议的装置,其特征在于,该装置包括配置文件拉取模块、接入层/协议转换层模块以及逻辑层模块,其中,配置文件拉取模块,用于获取包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;接入层/协议转换层模块,用于接收数据包,获取数据包采用的协议,根据数据包采用的协议与配置文件拉取模块存储的配置文件,确定是否需要进行协议转换,如果需要,获取该转换的协议对应的逻辑层模块信息,将数据包输出至该转换的协议对应的逻辑层模块; 否则,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块;逻辑层模块,用于接收数据包,进行业务逻辑处理。
8.如权利要求7所述的装置,其特征在于,所述接入层/协议转换层模块包括数据包解析单元、协议转换处理单元、数据包处理单元以及数据包发送单元,其中,数据包解析单元,用于接收数据包,解析数据包包头获取数据包采用的协议,将数据包以及解析得到的数据包采用的协议输出至协议转换判断单元,协议转换处理单元,用于根据接收的数据包采用的协议,查询配置文件拉取模块存储的配置文件中该协议对应的协议转换标识,获取协议转换标识对应的协议,将数据包以及协议转换标识对应的协议输出至数据包处理单元;数据包处理单元,用于根据接收的协议,查询配置文件拉取模块存储的配置文件中各协议对应的逻辑层模块信息,获取该接收的协议对应的逻辑层模块信息,对数据包进行封装后输出至数据包发送单元;数据包发送单元,用于将接收的数据包进行发送。
9.如权利要求8所述的装置,其特征在于,所述配置文件在接入层/协议转换层模块进程启动或设置的定时时间到时,通过信号的方式从本地设备或远程服务器拉取配置文件。
全文摘要
本发明公开了一种配置协议的方法。包括预先设置包括协议与命令字的映射关系、协议转换标识以及各协议对应的逻辑层模块信息的配置文件;拉取配置文件;接收数据包,获取数据包采用的协议,根据数据包采用的协议与预先设置的配置文件,确定是否需要进行协议转换,如果需要,获取该转换的协议对应的逻辑层模块信息,将数据包输出至该转换的协议对应的逻辑层模块;否则,获取数据包采用的协议对应的逻辑层模块信息,将数据包输出至该数据包采用的协议对应的逻辑层模块。本发明还公开了一种配置协议的装置。应用本发明,可以降低配置协议所需的时间、提高配置协议的效率。
文档编号H04L29/06GK102404306SQ20101028936
公开日2012年4月4日 申请日期2010年9月19日 优先权日2010年9月19日
发明者王金华, 舒军 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1