一种接入即时通信网络的方法和设备与流程

文档序号:11842306阅读:421来源:国知局
一种接入即时通信网络的方法和设备与流程

本申请涉及即时通信网络领域,特别是涉及一种接入即时通信网络的方法和设备。



背景技术:

随着即时通信网络的发展,尤其是即时通信网络的移动客户端广泛普及,许多网络服务都会以用户的形式接入到即时通信网络中,这样,即时通信用户仅需在即时通信网络中与表示网络服务的用户进行信息交互,就可以获得网络服务提供的信息。例如,许多网络服务已通过公众账号的形式接入到微信中,微信用户通过在公众账号的信息交互界面进行操作,可以获得网络服务提供的信息,其中,微信用户为即时通信用户,公众账号为表示网络服务的用户。

当网络服务接入即时通信网络时,即时通信用户与表示网络服务的用户之间的信息交互,实际上是通过即时通信客户端、即时通信服务器与网络服务的服务器三者之间交互来实现的。具体地,当即时通信用户需要通过即时通信网络获取网络服务提供的信息时,即时通信客户端可以通过即时通信服务器向网络服务的服务器发送信息请求,网络服务的服务器再将该数据请求对应的信息通过即时通信服务器发送到即时通信客户端。

通常,网络服务的服务器提供的数据接口与即时通信服务器提供的数据接口是不相符的。虽然网络服务的服务器上已经提供了即时通信用户请求的信息,但是,网络服务的服务器提供的这些信息时是将这些信息作为数据对象按照网络服务的服务器的数据接口进行封装的,而在即时通信网络中这些信息需要按照即时通信服务器的数据接口封装才能呈现给即时通信用户。例如,微信提供的数据接口,其数据格式为xml格式,而网络服务大多采用web服务器,其数据接口通常为AJAX格式接口,其数据格式通常是json格式,因此,当微信用户通过微信请求web服务器的目标信息时,web服务器返回的是以目标信息作为数据对象封装成json格式的数据,而为了使目标信息能 够通过微信客户端呈现给微信用户,就需要先从json格式的数据中解析出目标信息封装成xml格式的数据,再发送给微信服务器。

为了实现网络服务接入即时通信网络而使得即时通信用户可以通过即时通信网络获取网络服务提供的信息,对于网络服务在即时通信网络中提供的每一种信息提供业务,都需要预先配置好即时通信与网络服务之间数据格式的转换方式,以便于利用已配置的转换方式将网络服务的信息转换成适合即时通信网络的数据格式。在现有技术中,对于每一种信息提供业务,数据格式的转换方式配置都需要通过技术人员人工编辑代码的方式来实现的。但是,一方面,由于网络服务在即时通信网络中通常提供了大量的信息提供业务并且还有经常增加、更换新的信息提供业务,导致现有技术中技术人员需要针对大量信息提供业务而分别编辑代码以完成对大量信息提供业务中数据格式转换方式的配置;另一方面,由于每一种信息提供业务中数据格式的转换方式配置都是技术人员编辑代码来实现的,因此,现有技术中为每一种信息提供业务中用于转换数据格式的配置程序都需要测试是否运行正常,导致技术人员需要负担大量的程序测试工作。由此可见,现有技术中,当网络服务接入即时通信网络时,技术人员为配置数据格式的转换方式而承担了过重的工作负担。



技术实现要素:

本申请实施例所要解决的技术问题是,提供一种接入即时通信网络的方法和设备,以解决按照现有技术中由技术人员通过编辑代码的方式来完成对每一种信息提供业务的数据格式转换进行配置而导致的技术人员工作负担过重的技术问题。

为解决上述技术问题,本申请实施例提供了一种接入即时通信网络的方法,应用于配置服务器,包括:

响应于针对信息提供业务的第一配置请求,以所述信息提供业务所在网络服务的服务器作为目标网络服务器,获取所述目标网络服务器为所述信息提供业务返回的第一数据;其中,所述第一数据采用第一数据格式封装各第一数据对象,所述第一数据格式采用所述目标网络服务器提供的数据接口;

基于所述第一数据,解析各第一数据对象对应所述第一数据格式的数据路径,并呈现各第一数据对象与各数据路径之间的对应关系;

响应于对应第二数据格式中各填充位置而输入包含有各所述数据路径的各对象模板的操作,建立并记录各对象模板与各所述填充位置之间的映射关系,作为第一映射关系;所述第二数据格式采用即时通信服务器提供的数据接口;

所述第一映射关系,用于所述配置服务器针对所述信息提供业务,按照各数据对象的数据路径、对象模板及填充位置,将以第一数据格式封装的数据转换成以第二数据格式封装的数据。

可选的,所述方法还包括:

响应于针对所述信息提供业务的第二配置请求,获取所述即时通信网络对所述信息提供业务的即时通信请求中的特征标识以及所述目标网络服务器为所述信息提供业务提供的请求地址,建立并记录所述特征标识与所述请求地址之间的映射关系,作为第二映射关系;

所述第二映射关系,用于所述配置服务器响应于接收到包含有所述特征标识的即时通信请求,基于所述请求地址向所述目标网络服务器发送的信息请求。

可选的,所述信息请求包含有头部信息,所述头部信息是在建立所述第二映射关系时所述配置服务器响应于头部信息的输入操作而与所述特征标识对应记录的。

可选的,所述方法还包括:

响应于接收到所述即时通信服务器对所述信息提供业务的即时通信请求,向所述目标网络服务器发送对所述信息提供业务的信息请求;

响应于接收到所述目标网络服务器为所述信息请求而封装成第一数据格式发送的第二数据,按照所述第一映射关系涉及到的各数据路径,从所述第二数据中提取各第二数据对象作为各数据路径对应的第二数据对象,按照所述第一映射关系涉及到的各对象模板,将各数据路径对应的第二数据对象替换各对象模板中的各数据路径,形成各对象模板对应的第三数据对象,并按照所述第一映射关系中各对象模板对应的填充位置,将各对象模板对应的第 三数据对象封装成第二数据格式的第三数据;

将所述第三数据发送给所述即时通信服务器,以便各第二数据对象呈现在即时通信客户端上。

可选的,所述第一映射关系涉及到的对象模板包括第一对象模板和/或第二对象模板;

其中,所述第一对象模板仅包括所述数据路径,所述第二对象模板包括所述数据路径与补充信息组合。

可选的,所述对象模板为包含所述数据路径的velocity语句。

可选的,各第一数据对象与各数据路径之间的对应关系通过键值对的形式来实现,其中,各所述数据路径为key,各第一数据对象为value。

此外,本申请实施例还提供了一种接入即时通信网络的设备,配置于配置服务器,包括:

第一获取模块,用于响应于针对信息提供业务的第一配置请求,以所述信息提供业务所在网络服务的服务器作为目标网络服务器,获取所述目标网络服务器为所述信息提供业务返回的第一数据;其中,所述第一数据采用第一数据格式封装各第一数据对象,所述第一数据格式采用所述目标网络服务器提供的数据接口;

解析模块,用于基于所述第一数据,解析各第一数据对象对应所述第一数据格式的数据路径,并呈现各第一数据对象与各数据路径之间的对应关系;

第一建立模块,用于响应于对应第二数据格式中各填充位置而输入包含有各所述数据路径的各对象模板的操作,建立并记录各对象模板与各所述填充位置之间的映射关系,作为第一映射关系;所述第二数据格式采用即时通信服务器提供的数据接口;

所述第一映射关系,用于所述配置服务器针对所述信息提供业务,按照各数据对象的数据路径、对象模板及填充位置,将以第一数据格式封装的数据转换成以第二数据格式封装的数据。

可选的,所述设备还包括:

第二获取模块,用于响应于针对所述信息提供业务的第二配置请求,获取所述即时通信网络对所述信息提供业务的即时通信请求中的特征标识以及 所述目标网络服务器为所述信息提供业务提供的请求地址;

第二建立模块,用于建立并记录所述特征标识与所述请求地址之间的映射关系,作为第二映射关系;

所述第二映射关系,用于所述配置服务器响应于接收到包含有所述特征标识的即时通信请求,基于所述请求地址向所述目标网络服务器发送的信息请求。

可选的,所述信息请求包含有头部信息,所述头部信息是在建立所述第二映射关系时所述配置服务器响应于头部信息的输入操作而与所述特征标识对应记录的。

可选的,所述设备还包括:

第一发送模块,用于响应于接收到所述即时通信服务器对所述信息提供业务的即时通信请求,向所述目标网络服务器发送对所述信息提供业务的信息请求;

提取模块,用于响应于接收到所述目标网络服务器为所述信息请求而封装成第一数据格式发送的第二数据,按照所述第一映射关系涉及到的各数据路径,从所述第二数据中提取各第二数据对象作为各数据路径对应的第二数据对象;

形成模块,用于按照所述第一映射关系涉及到的各对象模板,将各数据路径对应的第二数据对象替换各对象模板中的各数据路径,形成各对象模板对应的第三数据对象;

封装模块,用于按照所述第一映射关系中各对象模板对应的填充位置,将各对象模板对应的第三数据对象封装成第二数据格式的第三数据;

第二发送模块,用于将所述第三数据发送给所述即时通信服务器,以便各第二数据对象呈现在即时通信客户端上。

可选的,所述第一映射关系涉及到的对象模板包括第一对象模板和/或第二对象模板;

其中,所述第一对象模板仅包括所述数据路径,所述第二对象模板包括所述数据路径与补充信息组合。

与现有技术相比,本申请具有以下优点:

根据本申请实施例的技术方案,当网络服务接入即时通信网络时,可以由配置服务器为信息提供业务配置数据格式的转换方式,而在配置时,配置服务器可以通过解析网络服务的目标网络服务器为该信息提供业务封装成第一数据格式返回的第一数据,呈现各第一数据对象对应第一数据格式的数据路径,这样技术人员可以按照即时通信网络采用的第二数据格式对各第一数据对象的封装方式而对应第二数据格式的各填充位置输入包含各第一数据对象对应的数据路径的各对象模板,此时,配置服务器可以响应技术人员的输入操作,建立并记录各对象模板与各填充位置之间的映射关系,此后,对于目标网络服务器针对该信息提供业务封装成第一数据格式的数据,配置服务器可以按照第一映射关系记录的数据路径、对象模板及填充位置,将该以第一数据格式封装的数据转换成以第二数据格式封装的数据,从而将以第二数据格式封装的数据发送给即时通信服务器,从而实现目标网络服务器将网络服务提供的信息通过即时通信网络呈现给即时通信用户。由于即时通信网络针对各个信息提供业务采用相同的第二数据格式封装数据对象,各信息提供业务返回到即时通信网络的数据仅是填充到第二数据格式的数据对象不同,因此,通过包含有数据对象对应第一数据格式下数据路径的对象模板与第二数据格式下填充位置之间的映射关系,对于数据对象对应第一数据格式的数据路径的解析以及对于各对象模板对应第二数据格式的封装,各信息提供业务都可以通过配置服务器预先设置的程序来实现,而无需技术人员再针对各信息提供业务分别人工编辑代码,技术人员仅需针对各信息提供业务对应第二数据格式的各填充位置输入包含各数据对象对应的数据路径的各对象模板,由此可见,一方面,技术人员无需为各信息提供业务分别人工编辑代码,另一方面,技术人员再针对各信息提供业务转换数据格式的配置程序分别进行测试,从而减轻了技术人员为配置数据格式的转换方式而承担的工作负担。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员 来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请的实施方式的一个示例性应用场景的框架示意图;

图2为本申请中接入即时通信网络的方法一实施例的流程图;

图3为本申请实施例中目标网络服务器为信息提供业务返回的数据示例的示意图;

图4为本申请实施例中一种Map形式的数据模型示例的示意图;

图5为本申请实施例中一种返回数据格式配置界面示例的示意图;

图6为本申请实施例中几种填充位置与对象模板的映射关系示例的示意图;

图7为本申请实施例中一种信息请求配置界面示例的示意图;

图8为本申请中接入即时通信网络的方法又一实施例的流程图;

图9本申请中接入即时通信网络的设备一实施例的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本申请的发明人经过研究发现,现有技术在网络服务接入即时通信网络时之所以技术人员为配置数据格式的转换方式而承担了过重的工作负担,原因在于,针对为即时通信网络提供的每一种信息提供业务,现有技术中都需要通过技术人员通过人工编辑代码的方式来实现。具体地,一方面,网络服务接入即时通信网络时,通常提供了大量的信息提供业务,并且还会经常增加或更换新的信息提供业务,这导致了现有技术中技术人员要经常地为大量信息提供业务的数据格式转换配置而编辑大量配置程序的代码,造成过重的工作负担;另一方面,由于每一种信息提供业务的数据格式转换的配置程序都是由技术人员通过编辑代码的方式来实现的,而编辑代码的过程经常会出现差错,为此,对于每一种信息提供业务的数据格式转换的配置程序都需要技术人员测试是否能够运行正常,造成了过重的工作负担;此外,一些即时通信网络的数据接口还带有时效性的校验令牌(即token),这也使得技术人员通过编辑代码来实现配置程序时需要付出更多的工作量。

基于发明人的上述研究,本申请的主要思想之一可以包括:当网络服务接入即时通信网络时,可以由配置服务器为信息提供业务配置数据格式的转换方式,而考虑到即时通信网络针对各个信息提供业务采用相同的第二数据格式封装数据对象,各信息提供业务返回到即时通信网络的数据仅是填充到第二数据格式的数据对象不同,为此,在配置时,配置服务器可以通过解析网络服务的目标网络服务器为该信息提供业务封装成第一数据格式返回的第一数据,呈现各第一数据对象对应第一数据格式的数据路径,这样技术人员可以按照即时通信网络采用的第二数据格式对各第一数据对象的封装方式而对应第二数据格式的各填充位置输入包含各第一数据对象对应的数据路径的各对象模板,此时,配置服务器可以响应技术人员的输入操作,建立并记录各对象模板与各填充位置之间的映射关系,此后,对于目标网络服务器针对该信息提供业务封装成第一数据格式的数据,配置服务器可以按照第一映射关系记录的数据路径、对象模板及填充位置,将该以第一数据格式封装的数据转换成以第二数据格式封装的数据,从而将以第二数据格式封装的数据发送给即时通信服务器,从而实现目标网络服务器将网络服务提供的信息通过即时通信网络呈现给即时通信用户,因此,对于数据对象对应第一数据格式 的数据路径的解析以及对于各对象模板对应第二数据格式的封装,各信息提供业务都可以通过配置服务器预先设置的程序来实现,而无需技术人员再针对各信息提供业务分别人工编辑代码,技术人员仅需针对各信息提供业务对应第二数据格式的各填充位置输入包含各数据对象对应的数据路径的各对象模板,由此可见,一方面,技术人员无需为各信息提供业务分别人工编辑代码,另一方面,技术人员再针对各信息提供业务转换数据格式的配置程序分别进行测试,从而减轻了技术人员为配置数据格式的转换方式而承担的工作负担。

基于上述基本思想,本申请实施例的应用场景之一,可以通过配置服务器101、网络服务的目标网络服务器102、即时通信服务器103与即时通信客户端104之间的交互来实现。如图1所示,在这一应用场景中,配置服务器101可以响应于针对信息提供业务的第一配置请求,以所述信息提供业务所在网络服务的服务器作为目标网络服务器102,获取所述目标网络服务器102为所述信息提供业务返回的第一数据;其中,所述第一数据采用第一数据格式封装各第一数据对象,所述第一数据格式采用所述目标网络服务器102提供的数据接口。然后,配置服务器101可以基于所述第一数据,解析各第一数据对象对应所述第一数据格式的数据路径,并呈现各第一数据对象与各数据路径之间的对应关系。再后,配置服务器101可以响应于对应第二数据格式中各填充位置而输入包含有各所述数据路径的各对象模板的操作,建立并记录各对象模板与各所述填充位置之间的映射关系,作为第一映射关系;所述第二数据格式采用即时通信服务器103提供的数据接口。其中,所述第一映射关系,用于所述配置服务器101针对所述信息提供业务,按照各数据对象的数据路径、对象模板及填充位置,将以第一数据格式封装的数据转换成以第二数据格式封装的数据,其中,以第一数据格式封装的数据是目标网络服务器102发送给配置服务器101的,以第二数据格式封装的数据是用于配置服务器101发送给即时通信服务器103,以便通过即时通信服务器103将数据对象呈现在即时通信客户端104上。

需要说明的是,在上述应用场景中,术语“配置服务器”表示的是用于对即时通信服务器与网络服务的目标网络服务器之间交互数据进行数据格式 转换的设备,其可以是在独立于即时通信服务器和目标网络服务器之外的第三方服务器上实现,或者,其也可以是实现在目标网络服务器上,或者,其还可以是实现在即时通信服务器上,本申请的实施方式在此方面不做限定。

还需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。

在介绍了本申请的主要思想以后,下面结合附图,详细说明本申请的各种非限制性实施方式。

参见图2,示出了本申请中接入即时通信网络的方法一实施例的流程图。本实施例可以应用于配置服务器,例如具体可以包括以下步骤:

S201、响应于针对信息提供业务的第一配置请求,以所述信息提供业务所在网络服务的服务器作为目标网络服务器,获取所述目标网络服务器为所述信息提供业务返回的第一数据;其中,所述第一数据采用第一数据格式封装各第一数据对象,所述第一数据格式采用所述目标网络服务器提供的数据接口。

具体实现时,当需要针对某信息提供业务配置数据格式的转换方式时,技术人员可以在配置服务器上针对该信息提供业务触发第一配置请求,从而使得配置服务器可以响应于第一配置请求去获取目标网络服务器为该信息提供业务返回的第一数据。

可以理解的是,在本实施例的一些实施方式中,配置服务器对第一数据的获取方式,例如可以是通过向目标网络服务器发送针对该信息提供业务的信息请求来实现的。具体地,配置服务器对第一数据的获取,例如可以包括:配置服务器响应于第一配置请求,可以基于该信息提供业务对应在目标网络服务器上的请求地址,生成信息请求并向目标网络服务器发送,以使得目标网络服务器基于该信息请求向配置服务器发送为该信息提供业务返回的第一数据。

其中,生成信息请求所基于的请求地址,例如可以由两部分组成,即网络服务为所述信息提供业务提供的接口URL和入参,更具体地,对于作为 Http请求的信息请求来说,接口URL为请求网页的地址,入参为请求网页的参数。例如,在一种信息请求示例中,对于wholesale.1688.com/xshow/ushow.htm?pinlei=nvzhuang&pagesize=5这一请求地址,其接口URL部分为wholesale.1688.com/xshow/ushow.htm,其入参部分为pinlei=nvzhuang&pagesize=5。此外,信息请求的生成,除了基于目标网络服务器为信息提供业务提供的请求地址,还可以基于目标网络服务器为信息提供业务提供的编码、请求方式和/或请求header。其中,目标网络服务器提供的编码是作为信息请求采用的编码,例如可以包括utf-8、gbk等;目标网络服务器提供的请求方式是用于指示该信息请求对应的数据获取方式,例如可以包括GET等;目标网络服务器提供的请求header可以是用于信息请求通过目标网络服务器的安全验证,或者,可以用于对信息请求进行请求日志的记录,或者,可以用于对用户行为进行跟随,等等。可以理解的是,对于信息请求生成所基于的上述请求参数,配置服务器均可以是通过技术人员的输入操作来获得的。

需要说明的是,在为信息提供业务配置数据格式的转换方式时,配置服务器获取了目标网络服务器为该信息提供业务返回的第一数据,但该第一数据中的信息一般并不用于在后续接收到即时通信服务器针对该信息提供业务的即时通信请求时返回给即时通信服务器。这是因为,网络服务针对同一信息提供业务提供的是不断更新的信息,也即,目标网络服务器在不同的时间针对同一信息提供业务返回的是不同的信息,例如,某一电子商务网站在即时通信网络中提供的信息提供业务“热门女装”,其不同时间的“热门女装”是不同的产品,其在不同时间针对“热门女装”的信息请求返回不同的产品信息。因此,配置服务器在配置时获取的第一数据中的信息,并非是其后续在接收到即时通信服务器针对该信息提供业务的即时通信请求时目标网络服务器返回的信息,因此,该第一数据通常仅用于配置服务器配置数据格式的转换方式。

S202、基于所述第一数据,解析各第一数据对象对应所述第一数据格式的数据路径,并呈现各第一数据对象与各数据路径之间的对应关系。

可以理解的是,对于信息提供业务来说,目标网络服务器发送的数据是将提供的信息作为数据对象按照其采用的第一数据格式而封装成的,而即时 通信网络仅能将按照其采用的第二数据格式封装的数据对象呈现给即时通信用户,可见,信息提供业务的数据格式转换,实际上就是要将从第一数据格式封装的数据中解析出的数据对象按照第二数据格式封装成数据。考虑到作为返回数据中的数据对象,目标网络服务器针对同一信息提供业务返回的信息是不断更新的,为此,在本实施例中,采用数据对象对应在第一数据格式中的数据路径代替数据对象本身,以记录数据对象按照第二数据格式封装的方式,以便于在实际为即时通信网络返回信息时根据数据路径提取到目标网络服务器提供的当前数据对象去封装第二数据格式的数据。

需要说明的是,目标网络服务器返回的数据对象按照第二数据格式封装的方式,可以是由技术人员来设置的。为了便于技术人员的设置,需要呈现各第一数据对象与各数据路径之间的对应关系,以便技术人员确定哪一数据路径代替的是哪一数据对象。对于目标网络服务器针对信息提供业务返回的数据来说,考虑到其各数据对象与各数据路径之间的对应关系不仅在配置时为了呈现给技术人员而需要建立,并且在实际为即时通信网络返回信息时为了正确地按照第二数据格式封装数据对象而也需要建立,为此,在本实施例的一些实施方式中,为了既便于数据对象按照第二数据格式封装又便于数据对象从第一数据格式中解析,对于目标网络服务器针对信息提供业务返回的数据来说,其各数据对象与各数据路径之间的对应关系,例如可以通过键值对的形式来实现,其中,各数据路径可以为key,各数据对象可以为value。具体到配置时用于呈现的、各第一数据对象与各数据路径之间的对应关系,该对应关系实现为键值对时,其各数据路径为key,其各第一数据对象为value。

可以理解的是,对于一个信息提供业务来说,其存在多个数据对象,也即,目标网络服务器为该信息提供业务返回的数据中,具有多个数据对象与数据路径之间的对应关系。当这些数据对象与数据路径之间的对应关系以键值对的形式来实现时,就形成了一个Map形式的数据模型。该Map的key为各个数据对象的数据路径,该Map的value则是数据对象。例如,对于图3所示的目标网络服务器为信息提供业务返回的数据示例,图4示出了一种Map形式的数据模型示例,其“引用路径”一列即是该Map的key,其“当前值”一列即是该Map的value。其中,在图4示出的示例中,目标网络服务器返回 的整个数据被定义成了“jsonObj”,则对于图3中的数据对象“苍南县米兰母子服饰加工厂”,按照图4所示,该数据对象的数据路径可以表示为“jsonObj.content[2].companyName”。

S203、响应于对应第二数据格式中各填充位置而输入包含有各所述数据路径的各对象模板的操作,建立并记录各对象模板与各所述填充位置之间的映射关系,作为第一映射关系;所述第二数据格式采用即时通信服务器提供的数据接口。

其中,所述第一映射关系,用于所述配置服务器针对所述信息提供业务,按照各数据对象的数据路径、对象模板及填充位置,将以第一数据格式封装的数据转换成以第二数据格式封装的数据。

可以理解的是,对于即时通信网络来说,其第二数据格式可以表示为一个数据模板,其以第二数据格式封装成的数据则可以看成是由数据对象填充到数据模板形成的。对于即时通信网络的数据接口来说,其针对各个信息提供业务而采用的数据格式都是相同的,因此,针对各个不同的信息提供业务,返回给即时通信网络的数据实际上是具有相同的数据模板,实际上这些数据之间不同的仅仅是填充到数据模板的数据对象。为此,在本实施例中,各信息提供业务都相同的、表示第二数据格式的数据模板可以预先设置,而具体为各个信息提供业务配置数据格式的转换方式时,技术人员仅需基于网络服务返回的数据对象的数据路径而去编辑数据模板中各个填充位置填入的对象模板,而无需再编辑数据模板,这样,根据包含有数据路径的对象模板与数据模板中填充位置之间的映射关系,网络服务返回的数据对象就可以按照对象模板与数据模板生成以第二数据格式封装的数据发送给即时通信网络,从而使得技术人员无需每次为信息提供业务配置数据格式的转换方式时再去编辑以第二数据格式封装数据对象的代码,并且,由于以第二数据格式封装数据对象是通过预先设置的数据模板,因此也无需技术人员每次为信息提供业务配置数据格式的转换方式时再去测试以第二数据格式封装数据对象的代码。

例如,图4示出的是一种以第二数据格式封装的一段数据的示例。该数据采用的是xml格式。其中,“<xml>”、“<ToUserName>”、“<Content>”等 内容属于数据模板,这些内容在针对各个信息提供业务的返回数据中都是相同的,可以预先设置,而无需技术人员每次编辑。此外,“[josinObj.content[2].companyName]”属于包含有数据路径的对象模板,该对象模板是需要技术人员需要编辑的部分。可以理解的是,为了便于技术人员的编辑,配置服务器向技术人员提供的操作界面,例如可以是如图5所示的返回数据格式配置界面示例。在图5中,每一个输入框对应的是预先设置的第二数据格式的数据模板中的一个填充位置,技术人员可以在输入框内输入包含有数据路径的对象模板,这样,配置服务器就可以响应于技术人员的输入操作而建立对象模板与填充位置之间的对应关系。

需要说明的是,考虑到网络服务返回的数据对象有时需要直接用于呈现给即时通信用户而有时需要做一些改变再用于呈现给即时通信用户,在本实施例的一些实施方式中,所述第一映射关系涉及到的对象模板例如可以包括第一对象模板和/或第二对象模板;其中,所述第一对象模板可以仅包括所述数据路径,所述第二对象模板可以包括所述数据路径与补充信息组合。

在上述实施方式中,有些对象模板可以是表示网络服务返回的数据对象的数据路径,此时被第二数据格式封装的数据对象即是网络服务返回的数据对象,也即,这些网络服务返回的数据对象是直接呈现给即时通信用户的;而有些对象模板可以是数据路径与补充信息的组合,此时被第二数据格式封装的数据对象并不仅仅是网络服务返回的数据对象本身,而是由网络服务返回的数据对象与补充信息组合而成的数据对象,也即,这些网络返回的数据对象是与补充信息组合之后呈现给即时通信用户的。

可以理解的是,为了实现基于数据路径的对象模板,在本实施例的一些实施方式中,对象模板例如可以为包含所述数据路径的velocity语句。例如,如图6所示的几种填充位置与对象模板的映射关系示例,填充位置“图文内容标题字段”对应的对象模板即是仅包括数据路径“jsonObj.content[].subject”的对象模板,填充位置“图文内容的图片字段”对应的对象模板即是仅包括数据路径“jsonObj.content[].img”的对象模板,填充位置“图文内容的url字段”对应的对象模板是由数据路径“jsonObj.content[].offerId”与补充信息“http://m.1688.com/offer/”及“.html”组合成的对象模板“http://m.1688.com/ offer/${jsonObj.content[].offerId}.html”,填充位置“图文内容的详情描述字段”对应的对象模板是仅包括数据路径“jsonObj.content[].detail”的对象模板。

需要说明的是,除了网络服务返回的数据与接入即时通信网络的数据存在数据格式上的区别之外,网络服务的目标网络服务器一般也不支持即时通信网络对网络服务提供的信息的即时通信请求。因此,为了使得即时通信请求能够转换成目标网络服务器支持的信息请求,在本实施例的一些实施方式中,例如还可以包括:配置服务器响应于针对所述信息提供业务的第二配置请求,获取所述即时通信网络对所述信息提供业务的即时通信请求中的特征标识以及所述目标网络服务器为所述信息提供业务提供的请求地址,建立并记录所述特征标识与所述请求地址之间的映射关系,作为第二映射关系;所述第二映射关系,用于所述配置服务器响应于接收到包含有所述特征标识的即时通信请求,基于所述请求地址向所述目标网络服务器发送的信息请求。在上述配置信息请求的转换方式的实施方式中,技术人员可以仅输入针对信息提供业务的即时通信请求中的特征标识与目标网络服务器为该信息通业务提供的请求地址,而无需为即时通信请求转换成网络服务的信息请求的配置程序而编辑代码,从而减少了技术人员承担的工作量。

可以理解的是,对于向目标网络服务器发送的信息请求,除了请求地址之外,可能还需要一些其他的参数,用于信息请求的生成。例如,考虑到一些网络服务的目标网络服务器可能对接收到的信息请求进行安全验证,而安全验证可以是验证信息请求的头部信息,为此,在一些实施方式中,可以预先设置信息请求的头部信息,以便基于该头部信息去生成信息请求,具体地,所述信息请求例如可以包含有头部信息,所述头部信息是在建立所述第二映射关系时所述配置服务器响应于头部信息的输入操作而与所述特征标识对应记录的。又如,在另一些实施方式中,考虑到目标网络服务器对信息请求的解码方式,还可以预先设置信息请求的编码,如“utf-8”或“gbk”等,以采用该编码去生成信息请求。再如,在又一些实施方式中,考虑到配置服务器对目标网络服务器返回数据的获取方式,还可以预先设置信息请求的请求方式,如“GET”或“POST”等,以使得目标网络服务器通过信息请求能够确定配置服务器获取数据的方式。

在一种可能的即时通信请求转换信息请求的配置示例中,基于技术人员输入的、对某信息提供业务的即时通信请求中的特征标识,配置服务器可以提供如图7所示的信息请求配置界面。在该信息请求配置界面中,“接口URL”的输入框内技术人员可以输入网络服务为该信息提供业务提供的接口URL,“入参”的输入框内技术人员可以输入请求网页的参数,“编码”的输入框内技术人员可以输入该信息提供业务的信息请求采用的编码,“请求方式”的输入框内技术人员可以输入配置服务器对该信息提供业务的数据获取方式,“请求header”的输入框内技术人员可以输入信息请求的头部信息,“接口名称”的输入框内技术人员可以输入用于技术人员识别该信息提供业务的标识名称。其中,“接口URL”与“入参”两个输入框内的输入内容组合可以得到该信息提供业务在目标网络服务器上的请求地址。

需要说明的是,考虑到技术人员针对同一信息提供业务一般会同时配置信息请求的转换及返回数据的格式转换,为此,在本实施例的一些实施方式中,配置服务器可以针对某信息提供业务的即时通信请求建立一接口适配器。具体地,当技术人员请求针对某信息提供业务的即时通信请求而建立接口适配器时,配置服务器可以向技术人员提供如图7所示的信息请求配置界面,在技术人员完成信息请求配置界面的输入操作而完成信息请求的配置之后,配置服务器可以向目标网络服务器发送信息请求以获取目标网络服务器为该信息提供业务返回的第一数据,并可以呈现如图4所示的键值对列表那样的数据路径与各网络服务返回的数据对象之间的对应关系,接着,配置服务器可以向技术人员提供如图5所示的返回数据格式配置界面,在技术人员完成该返回数据格式配置界面的输入操作而完成返回数据格式的配置之后,配置服务器可以完成该接口适配器的建立过程并记录下该接口适配器的相关配置信息,以便在接收到该信息提供业务的即时通信请求时,可以按照该接口适配器的相关配置信息完成向目标网络服务器发送信息请求并将目标网络服务器返回的数据转换成符合即时通信网络要求的数据格式。可以理解的是,在为信息提供业务建立接口适配器的实施方式中,前述的第一配置请求和前述的第二配置请求均可以理解成是该接口适配器的建立请求,此外,该信息提供业务的接口适配器可以是与其即时通信请求的特征标识对应建立的,因此, 该接口适配器实际上也包含了即时通信请求的特征标识与信息请求的请求地址之间的映射关系。

可以理解的是,当前述第一映射关系建立之后,当配置服务器接收到针对该第一映射关系对应的信息提供业务的即时通信请求时,配置服务器可以利用该第一映射关系来对目标网络服务器返回的数据进行转换。具体地,在本实施例的一些实施方式中,例如还可以包括:配置服务器响应于接收到所述即时通信服务器对所述信息提供业务的即时通信请求,向所述目标网络服务器发送对所述信息提供业务的信息请求;配置服务器响应于接收到所述目标网络服务器为所述信息请求而封装成第一数据格式发送的第二数据,按照所述第一映射关系涉及到的各数据路径,从所述第二数据中提取各第二数据对象作为各数据路径对应的第二数据对象,按照所述第一映射关系涉及到的各对象模板,将各数据路径对应的第二数据对象替换各对象模板中的各数据路径,形成各对象模板对应的第三数据对象,并按照所述第一映射关系中各对象模板对应的填充位置,将各对象模板对应的第三数据对象封装成第二数据格式的第三数据;配置服务器将所述第三数据发送给所述即时通信服务器,以便各第二数据对象呈现在即时通信客户端上。

其中,可以理解的是,在已建立即时通信请求的特征标识与信息请求的请求地址之间的第二映射关系的情况下,配置服务器响应于接收到即时通信服务器对该信息提供业务的即时通信请求,可以根据上述第二映射关系查找到请求地址,从而可以基于该请求地址来实现向目标网络服务器发送该信息提供业务的信息请求。

通过本实施例的技术方案,对于数据对象对应第一数据格式的数据路径的解析以及对于各对象模板对应第二数据格式的封装,各信息提供业务都可以通过配置服务器预先设置的程序来实现,而无需技术人员再针对各信息提供业务分别人工编辑代码,技术人员仅需针对各信息提供业务对应第二数据格式的各填充位置输入包含各数据对象对应的数据路径的各对象模板,由此可见,一方面,技术人员无需为各信息提供业务分别人工编辑代码,另一方面,技术人员再针对各信息提供业务转换数据格式的配置程序分别进行测试,从而减轻了技术人员为配置数据格式的转换方式而承担的工作负担。

在前述实施例中,从配置服务器的角度介绍了利用包含数据路径的对象模板与填充位置之间的第一映射关系来实现返回数据的格式转换的实施方式。为了便于本领域技术人员更加清楚地理解利用上述第一映射关系如何实现为即时通信用户呈现网络服务提供的信息,下面从信息交互的角度并辅以一个具体的应用场景为例,对本申请的实施方式进行介绍。在该应用场景中,网络服务采用的目标网络服务器为web服务器,其数据请求采用的是http请求,其返回数据采用的是json格式,即时通信网络的数据请求及接收数据采用的均是xml格式。需要说明的是,该应用场景仅为使得本领域技术人员更清楚地了解本发明,但本发明的实施方式不限于该应用场景。

参见图8,示出了本申请中接入即时通信网络的方法又一实施例的流程图。在本实施例中,例如具体可以包括以下步骤:

S801、基于即时通信网络对信息提供业务的xml请求中的特征标识,为该信息提供业务建立用于请求转换及数据格式转换的接口适配器。

具体地,可以采用前述实施例介绍的实施方式,一方面针对该信息提供业务建立xml请求中的特征标识与http请求的请求地址之间的第二映射关系,另一方面针对该信息提供业务建立包含有数据路径的对象模板与xml格式数据中的填充位置之间的第二映射关系,其中,该数据路径表示在针对该信息提供业务的json格式数据中数据对象的所在位置。可以理解的是,上述两个映射关系记录在该信息提供业务的接口适配器中。

S802、即时通信客户端响应于即时通信用户对该信息提供业务的请求操作,向即时通信服务器发送对该信息提供业务的xml请求。

S803、即时通信服务器将该xml请求发送到配置服务器。

S804、配置服务器基于该xml请求中的特征标识查找到该信息提供业务的接口适配器。

S805、配置服务器基于该接口适配器,向web服务器发送针对该信息提供业务的http请求。

具体地,配置服务器可以根据该接口适配器记录的第二映射关系,确定该信息提供业务的请求地址,从而基于该请求地址生成http请求。

S806、web服务器基于该http请求,将该信息提供业务的json格式数据返回给配置服务器。

具体地,web服务器可以基于该http请求,查找出该信息提供业务对应的当前信息,将这些当前信息作为数据对象以json格式封装成数据返回给配置服务器。

S807、配置服务器基于该接口适配器,将该json格式数据转换成xml格式数据。

具体地,配置服务器可以根据该接口适配器记录的第一映射关系,按照其记录的第一映射关系,按照第一映射关系涉及到的数据路径从json格式数据解析出各当前信息,并将各当前信息替换第一映射关系涉及到的对象模板中各当前信息的数据路径,形成用于封装xml格式的数据对象,再将这些数据对象按照其对象模板对应在第一映射关系中的填充位置封装成xml格式的数据。

S808、配置服务器将该xml格式数据发送到即时通信服务器。

S809、即时通信服务器将该xml格式数据返回给即时通信客户端。

S810、即时通信客户端通过解析xml格式数据,向即时通信用户呈现该信息提供业务对应的各当前信息。

通过本实施例的技术方案,对于数据对象对应json的数据路径的解析以及对于各对象模板对应xml的封装,各信息提供业务都可以通过配置服务器预先设置的程序来实现,而无需技术人员再针对各信息提供业务分别人工编辑代码,技术人员仅需针对各信息提供业务对应xml的各填充位置输入包含各数据对象对应的数据路径的各对象模板,由此可见,一方面,技术人员无需为各信息提供业务分别人工编辑代码,另一方面,技术人员再针对各信息提供业务转换数据格式的配置程序分别进行测试,从而减轻了技术人员为配置数据格式的转换方式而承担的工作负担。

在介绍了本发明示例性实施方式的方法之后,接下来,对本申请示例性实施方式的、用于接入即时通信网络的设备进行介绍。

参见图9,示出了本申请中接入即时通信网络的设备一实施例的结构图。 本实施例的设备可以配置于配置服务器,例如具体可以包括:

第一获取模块901,用于响应于针对信息提供业务的第一配置请求,以所述信息提供业务所在网络服务的服务器作为目标网络服务器,获取所述目标网络服务器为所述信息提供业务返回的第一数据;其中,所述第一数据采用第一数据格式封装各第一数据对象,所述第一数据格式采用所述目标网络服务器提供的数据接口;

解析模块902,用于基于所述第一数据,解析各第一数据对象对应所述第一数据格式的数据路径,并呈现各第一数据对象与各数据路径之间的对应关系;

第一建立模块903,用于响应于对应第二数据格式中各填充位置而输入包含有各所述数据路径的各对象模板的操作,建立并记录各对象模板与各所述填充位置之间的映射关系,作为第一映射关系;所述第二数据格式采用即时通信服务器提供的数据接口;

所述第一映射关系,用于所述配置服务器针对所述信息提供业务,按照各数据对象的数据路径、对象模板及填充位置,将以第一数据格式封装的数据转换成以第二数据格式封装的数据。

在本实施例的一些实施方式中,可选的,所述设备例如还可以包括:

第二获取模块,用于响应于针对所述信息提供业务的第二配置请求,获取所述即时通信网络对所述信息提供业务的即时通信请求中的特征标识以及所述目标网络服务器为所述信息提供业务提供的请求地址;

第二建立模块,用于建立并记录所述特征标识与所述请求地址之间的映射关系,作为第二映射关系;

所述第二映射关系,用于所述配置服务器响应于接收到包含有所述特征标识的即时通信请求,基于所述请求地址向所述目标网络服务器发送的信息请求。

在本实施例的另一些实施方式中,可选的,在所述设备还包括第二获取模块和第二建立磨矿的情况下,所述信息请求例如可以包含有头部信息,所述头部信息是在建立所述第二映射关系时所述配置服务器响应于头部信息的输入操作而与所述特征标识对应记录的。

在本实施例的又一些实施方式中,可选的,所述设备例如还可以包括:

第一发送模块,用于响应于接收到所述即时通信服务器对所述信息提供业务的即时通信请求,向所述目标网络服务器发送对所述信息提供业务的信息请求;

提取模块,用于响应于接收到所述目标网络服务器为所述信息请求而封装成第一数据格式发送的第二数据,按照所述第一映射关系涉及到的各数据路径,从所述第二数据中提取各第二数据对象作为各数据路径对应的第二数据对象;

形成模块,用于按照所述第一映射关系涉及到的各对象模板,将各数据路径对应的第二数据对象替换各对象模板中的各数据路径,形成各对象模板对应的第三数据对象;

封装模块,用于按照所述第一映射关系中各对象模板对应的填充位置,将各对象模板对应的第三数据对象封装成第二数据格式的第三数据;

第二发送模块,用于将所述第三数据发送给所述即时通信服务器,以便各第二数据对象呈现在即时通信客户端上。

在本实施例的再一些实施方式中,可选的,所述第一映射关系涉及到的对象模板例如可以包括第一对象模板和/或第二对象模板;

其中,所述第一对象模板仅包括所述数据路径,所述第二对象模板包括所述数据路径与补充信息组合。

在本实施例的又再一些实施方式中,可选的,所述对象模板例如可以为包含所述数据路径的velocity语句。

在本实施例的又再一些实施方式中,可选的,各第一数据对象与各数据路径之间的对应关系例如可以通过键值对的形式来实现,其中,各所述数据路径为key,各第一数据对象为value。

通过本实施例的技术方案,对于数据对象对应第一数据格式的数据路径的解析以及对于各对象模板对应第二数据格式的封装,各信息提供业务都可以通过配置服务器预先设置的程序来实现,而无需技术人员再针对各信息提供业务分别人工编辑代码,技术人员仅需针对各信息提供业务对应第二数据格式的各填充位置输入包含各数据对象对应的数据路径的各对象模板,由此 可见,一方面,技术人员无需为各信息提供业务分别人工编辑代码,另一方面,技术人员再针对各信息提供业务转换数据格式的配置程序分别进行测试,从而减轻了技术人员为配置数据格式的转换方式而承担的工作负担。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1