一种网络服务消息传输方法、装置、终端及服务器转让专利

申请号 : CN201611204229.2

文献号 : CN108243022B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李小涛游树娟牛亚文

申请人 : 中国移动通信有限公司研究院中国移动通信集团公司

摘要 :

本发明提供一种网络服务消息传输方法、装置、终端及服务器,涉及通信技术领域。该网络服务消息传输方法包括:在预设压缩策略中选择目标压缩策略,其中所述目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;根据所述目标压缩策略,生成压缩的网络服务请求消息;将所述网络服务请求消息发送至目标服务器。本发明的方案,解决了现有的网络服务消息压缩传输方式,由于固定压缩的消息在传输中会受到网络带宽的不稳定变化影响,延长整个服务调用的耗时的问题。

权利要求 :

1.一种网络服务消息传输方法,应用于终端,其特征在于,包括:

在预设压缩策略中选择第一目标压缩策略,所述第一目标压缩策略与当前网络带宽之间符合预设对应关系,包括:基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测,其中,根据公式 得到无压缩时预设数据量M的数据传输时间T1,根据公式 λ>1得到预设压缩算法压缩时预设数据量M的数据传输时间T2,B为当前网络带宽,λ为预设压缩算法的压缩率,Vc为预d设压缩算法的压缩速度,V为预设压缩算法的解压缩速度;通过所述第一目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;

选取数据传输效率达到预设要求的预设压缩策略作为第一目标压缩策略;

根据所述第一目标压缩策略,生成压缩的网络服务请求消息,所述网络服务请求消息包括网络服务解析请求消息和网络服务调用请求消息;包括:在所述终端需发起网络服务描述语言WSDL解析时,获取WSDL地址,将WSDL地址按照所述第一目标压缩策略压缩,封装为网络服务解析请求消息;在所述终端接收到目标服务器发送的网络服务解析响应消息时,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数,将赋值后的基础参数信息按照所述第一目标压缩策略压缩,封装为网络服务调用请求消息;

将所述网络服务请求消息发送至目标服务器。

2.根据权利要求1所述的网络服务消息传输方法,其特征在于,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数的步骤包括:解析WSDL文档,获得与基础参数所对应标签下的信息内容,得到所述基础参数;其中,所述基础参数的类型包括:WSDL地址、输入参数初值、输入参数类型、接口名称、返回值的类型和命名空间。

3.根据权利要求2所述的网络服务消息传输方法,其特征在于,所述网络服务解析请求消息和所述网络服务调用请求消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务解析请求消息的消息主体为按照所述第一目标压缩策略压缩后的WSDL地址,所述网络服务调用请求消息的消息主体为按照所述第一目标压缩策略压缩的基础参数信息。

4.根据权利要求1所述的网络服务消息传输方法,其特征在于,还包括:

在接收到所述目标服务器根据所述网络服务解析请求消息反馈的网络服务解析响应消息后,基于目标服务器的第二目标压缩策略对应解压缩,得到WSDL文档;

在接收到所述目标服务器根据所述网络服务调用请求消息反馈的网络服务调用响应消息后,确定返回类型;若所述返回类型为简单,则基于目标服务器的第二目标压缩策略对应解压缩,得到返回结果数据;若所述返回类型为复杂,则在基于目标服务器的第二目标压缩策略对应解压缩后,进行数据还原,得到返回结果数据。

5.一种网络服务消息传输方法,应用于服务器,其特征在于,包括:

在预设压缩策略中选择第二目标压缩策略,所述第二目标压缩策略与当前网络带宽之间符合预设对应关系,包括:基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测,其中,根据公式 得到无压缩时预设数据量M的数据传输时间T1;根据公式 λ>1得到预设压缩算法压缩时预设数据量M的数据传输时间T2,B为当前网络带宽,λ为预设压缩算法的压缩率,Vc为预设压缩算法的压缩速度,Vd为预设压缩算法的解压缩速度;通过所述第二目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;

选取数据传输效率达到预设要求的预设压缩策略作为第二目标压缩策略;

在接收到终端发送的网络服务请求消息后,根据所述第二目标压缩策略,生成压缩的网络服务响应消息,所述网络服务响应消息包括网络服务解析响应消息和网络服务调用响应消息;包括:在接收到终端发送的网络服务解析请求消息后,基于所述网络服务解析请求消息中的网络服务描述语言WSDL地址下载获得WSDL文档,将所述WSDL文档按照所述第二目标压缩策略压缩,封装为网络服务解析响应消息;在接收到终端发送的网络服务调用请求消息后,从服务调用结果数据中获取有效信息,将所述有效信息按照所述第二目标压缩策略压缩,封装为网络服务调用响应消息;

将所述网络服务响应消息发送至所述终端。

6.根据权利要求5所述的网络服务消息传输方法,其特征在于,从服务调用结果数据中获取有效信息的步骤包括:提取服务调用结果数据中的标签类型和标签数据;

将归属于同一标签类型的标签数据进行统计归类,得到有效信息,其中,所述有效信息包括非重复的标签类型。

7.根据权利要求6所述的网络服务消息传输方法,其特征在于,所述网络服务解析响应消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务调用响应消息的结构至少包括:消息类型、压缩标识、返回类型和消息主体;

所述网络服务解析响应消息的消息主体为按照所述第二目标压缩策略处理后的WSDL文档,所述网络服务调用响应消息的消息主体为按照所述第二目标压缩策略处理后的有效信息。

8.根据权利要求5所述的网络服务消息传输方法,其特征在于,还包括:

在接收到所述终端发送的网络服务解析请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的WSDL地址下载WSDL文档;

在接收到所述终端发送的网络服务调用请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的基础参数信息调用网络服务,生成服务调用结果数据。

9.一种网络服务消息传输装置,应用于终端,其特征在于,包括:

第一选择模块,用于在预设压缩策略中选择第一目标压缩策略,所述第一目标压缩策略与当前网络带宽之间符合预设对应关系,包括:基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测,其中,根据公式 得到无压缩时预设数据量M的数据传输时间T1,根据公式 λ>

1得到预设压缩算法压缩时预设数据量M的数据传输时间T2,B为当前网络带宽,λ为预设压缩算法的压缩率,Vc为预设压缩算法的压缩速度,Vd为预设压缩算法的解压缩速度;通过所述第一目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;选取数据传输效率达到预设要求的预设压缩策略作为第一目标压缩策略;

第一生成模块,用于根据所述第一目标压缩策略,生成压缩的网络服务请求消息,所述网络服务请求消息包括网络服务解析请求消息和网络服务调用请求消息;其中,在所述终端需发起网络服务描述语言WSDL解析时,获取WSDL地址,将WSDL地址按照所述第一目标压缩策略压缩,封装为网络服务解析请求消息;在所述终端接收到目标服务器发送的网络服务解析响应消息时,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数,将赋值后的基础参数信息按照所述第一目标压缩策略压缩,封装为网络服务调用请求消息;

第一发送模块,用于将所述网络服务请求消息发送至目标服务器。

10.根据权利要求9所述的网络服务消息传输装置,其特征在于,所述第一选择模块包括:

第一处理子模块,用于基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;

第一选择子模块,用于选取数据传输效率达到预设要求的预设压缩策略作为第一目标压缩策略。

11.一种终端,其特征在于,包括如权利要求9或权利要求10所述的网络服务消息传输装置。

12.一种网络服务消息传输装置,应用于服务器,其特征在于,包括:

第二选择模块,用于在预设压缩策略中选择第二目标压缩策略,其中所述第二目标压缩策略与当前网络带宽之间符合预设对应关系,包括:基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测,其中,根据公式 得到无压缩时预设数据量M的数据传输时间T1,根据公式λ>1得到预设压缩算法压缩时预设数据量M的数据传输时间T2,B为当前网络带宽,λ为预设压缩算法的压缩率,Vc为预设压缩算法的压缩速度,Vd为预设压缩算法的解压缩速度;通过所述第二目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;

选取数据传输效率达到预设要求的预设压缩策略作为第二目标压缩策略;

第二生成模块,用于在接收到终端发送的网络服务请求消息后,根据所述第二目标压缩策略,生成压缩的网络服务响应消息,所述网络服务响应消息包括网络服务解析响应消息和网络服务调用响应消息;包括:在接收到终端发送的网络服务解析请求消息后,基于所述网络服务解析请求消息中的网络服务描述语言WSDL地址下载获得WSDL文档,将所述WSDL文档按照所述第二目标压缩策略压缩,封装为网络服务解析响应消息;在接收到终端发送的网络服务调用请求消息后,从服务调用结果数据中获取有效信息,将所述有效信息按照所述第二目标压缩策略压缩,封装为网络服务调用响应消息;

第二发送模块,用于将所述网络服务响应消息发送至所述终端。

13.根据权利要求12所述的网络服务消息传输装置,其特征在于,所述第二选择模块包括:

第二处理子模块,用于基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;

第二选择子模块,用于选取数据传输效率达到预设要求的预设压缩策略作为第一目标压缩策略。

14.一种服务器,其特征在于,包括如权利要求12或权利要求13所述的网络服务消息传输装置。

说明书 :

一种网络服务消息传输方法、装置、终端及服务器

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种网络服务消息传输方法、装置、终端及服务器。

背景技术

[0002] SOA(service-oriented architecture,面向服务的体系结构)作为一种通用的服务架构,在系统集成、软件复用以及业务应用程序的交互领域发挥着重要的作用。而网络Web服务作为SOA的灵魂,是实现该架构的核心。Web服务通过在网络中发送和接收标准化的简单对象访问协议SOAP消息,实现异构、分布应用程序的访问。SOAP消息本质上是一种可扩展标记语言XML文档,包含了标准化的格式标签以及搭载的数据内容。在网络带宽充足时,服务的调用时间几乎等于服务在远程服务器的执行时间,数据传输的时间可以忽略不计。但是当网络带宽降低时,服务消息的传输时间所占的比重越来越大。在带宽受限条件下,SOAP消息的冗余性对网络通信的影响非常明显,消息中描述结构的字符占了很大的比例。
尤其当消息携带了大数据量的负载时,数据的传输占用大量的时间,甚至造成消息的阻塞以至于服务执行失败。
[0003] 目前,对于服务在受限带宽下调用时间的优化主要通过压缩SOAP消息来实现,国内外研究人员针对此做了很多工作。最为直接的一种压缩方法是将SOAP消息看作一个文本,利用文本压缩技术GZip或bzip2在发送端和接收端对SOAP消息进行压缩和解压减小消息的大小。
[0004] 然而,这种方式虽然能在一定程度上减小消息的体积,降低消息数据的传输时间,但是随着网络带宽的不稳定变化,按照固定方式压缩后的消息传输会受到影响,延长整个服务调用的耗时。

发明内容

[0005] 本发明的目的是提供一种网络服务消息传输方法、装置、终端及服务器,针对不同网络带宽,实现缩短整个服务调用的耗时。
[0006] 为达到上述目的,本发明的实施例提供一种网络服务消息传输方法,应用于终端,包括:
[0007] 在预设压缩策略中选择第一目标压缩策略,其中所述第一目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第一目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0008] 根据所述第一目标压缩策略,生成压缩的网络服务请求消息;
[0009] 将所述网络服务请求消息发送至目标服务器。
[0010] 其中,所述预设压缩策略包括无压缩和预设压缩算法的压缩;
[0011] 在预设压缩策略中选择第一目标压缩策略的步骤包括:
[0012] 基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0013] 选取数据传输效率达到预设要求的预设压缩策略作为第一目标压缩策略。
[0014] 其中,基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测的步骤包括:
[0015] 根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0016] 根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0017] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0018] 其中,所述网络服务请求消息包括网络服务解析请求消息和网络服务调用请求消息;
[0019] 根据所述第一目标压缩策略,生成压缩的网络服务请求消息的步骤包括:
[0020] 在所述终端需发起网络服务描述语言WSDL解析时,获取WSDL地址,将WSDL地址按照所述第一目标压缩策略压缩,封装为网络服务解析请求消息;
[0021] 在所述终端接收到目标服务器发送的网络服务解析响应消息时,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数,将赋值后的基础参数信息按照所述第一目标压缩策略压缩,封装为网络服务调用请求消息。
[0022] 其中,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数的步骤包括:
[0023] 解析WSDL文档,获得与基础参数所对应标签下的信息内容,得到所述基础参数;其中,
[0024] 所述基础参数的类型包括:WSDL地址、输入参数初值、输入参数类型、接口名称、返回值的类型和命名空间。
[0025] 其中,所述网络服务解析请求消息和所述网络服务调用请求消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务解析请求消息的消息主体为按照所述第一目标压缩策略压缩后的WSDL地址,所述网络服务调用请求消息的消息主体为按照所述第一目标压缩策略压缩的基础参数信息。
[0026] 其中,所述网络服务消息传输方法还包括:
[0027] 在接收到所述目标服务器根据所述网络服务解析请求消息反馈的网络服务解析响应消息后,基于目标服务器的第二目标压缩策略对应解压缩,得到WSDL文档;
[0028] 在接收到所述目标服务器根据所述网络服务调用请求消息反馈的网络服务调用响应消息后,确定返回类型;若所述返回类型为简单,则基于目标服务器的第二目标压缩策略对应解压缩,得到返回结果数据;若所述返回类型为复杂,则在基于目标服务器的第二目标压缩策略对应解压缩后,进行数据还原,得到返回结果数据。
[0029] 为达到上述目的,本发明实施例还提供了一种网络服务消息传输方法,应用于服务器,包括:
[0030] 在预设压缩策略中选择第二目标压缩策略,其中所述第二目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第二目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0031] 在接收到终端发送的网络服务请求消息后,根据所述第二目标压缩策略,生成压缩的网络服务响应消息;
[0032] 将所述网络服务响应消息发送至所述终端。
[0033] 其中,所述预设压缩策略包括无压缩和预设压缩算法的压缩;
[0034] 在预设压缩策略中选择第二目标压缩策略的步骤包括:
[0035] 基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0036] 选取数据传输效率达到预设要求的预设压缩策略作为第二目标压缩策略。
[0037] 其中,基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测的步骤包括:
[0038] 根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0039] 根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0040] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0041] 其中,所述网络服务响应消息包括网络服务解析响应消息和网络服务调用响应消息;
[0042] 在接收到终端发送的网络服务请求消息后,根据所述第二目标压缩策略,生成压缩的网络服务响应消息的步骤包括:
[0043] 在接收到终端发送的网络服务解析请求消息后,基于所述网络服务解析请求消息中的WSDL地址下载获得WSDL文档,将所述WSDL文档按照所述第二目标压缩策略压缩,封装为网络服务解析响应消息;
[0044] 在接收到终端发送的网络服务调用请求消息后,从服务调用结果数据中获取有效信息,将所述有效信息按照所述第二目标压缩策略压缩,封装为网络服务调用响应消息。
[0045] 其中,从服务调用结果数据中获取有效信息的步骤包括:
[0046] 提取服务调用结果数据中的标签类型和标签数据;
[0047] 将归属于同一标签类型的标签数据进行统计归类,得到有效信息,其中,所述有效信息包括非重复的标签类型。
[0048] 其中,所述网络服务解析响应消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务调用响应消息的结构至少包括:消息类型、压缩标识、返回类型和消息主体;
[0049] 所述网络服务解析响应消息的消息主体为按照所述第二目标压缩策略处理后的WSDL文档,所述网络服务调用响应消息的消息主体为按照所述第二目标压缩策略处理后的有效信息。
[0050] 其中,所述网络服务消息传输方法还包括:
[0051] 在接收到所述终端发送的网络服务解析请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的WSDL地址下载WSDL文档;
[0052] 在接收到所述终端发送的网络服务调用请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的基础参数信息调用网络服务,生成服务调用结果数据。
[0053] 为达到上述目的,本发明的实施例还提供了一种网络服务消息传输装置,应用于终端,包括:
[0054] 第一选择模块,用于在预设压缩策略中选择第一目标压缩策略,其中所述第一目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第一目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0055] 第一生成模块,用于根据所述第一目标压缩策略,生成压缩的网络服务请求消息;
[0056] 第一发送模块,用于将所述网络服务请求消息发送至目标服务器。
[0057] 其中,所述预设压缩策略包括无压缩和预设压缩算法的压缩;
[0058] 所述第一选择模块包括:
[0059] 第一处理子模块,用于基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0060] 第一选择子模块,用于选取数据传输效率达到预设要求的预设压缩策略作为目标压缩策略。
[0061] 其中,所述第一处理子模块包括:
[0062] 第一处理单元,用于根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0063] 第二处理单元,用于根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0064] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0065] 其中,所述网络服务请求消息包括网络服务解析请求消息和网络服务调用请求消息;
[0066] 所述第一生成模块包括:
[0067] 第三处理子模块,用于在所述终端需发起网络服务描述语言WSDL解析时,获取WSDL地址,将WSDL地址按照所述第一目标压缩策略压缩,封装为网络服务解析请求消息;
[0068] 第四处理子模块,用于在所述终端接收到目标服务器发送的网络服务解析响应消息时,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数,将赋值后的基础参数信息按照所述第一目标压缩策略压缩,封装为网络服务调用请求消息。
[0069] 其中,所述第四处理子模块包括:
[0070] 解析单元,用于解析WSDL文档,获得与基础参数所对应标签下的信息内容,得到所述基础参数;其中,
[0071] 所述基础参数的类型包括:WSDL地址、输入参数初值、输入参数类型、接口名称、返回值的类型和命名空间。
[0072] 其中,所述网络服务解析请求消息和所述网络服务调用请求消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务解析请求消息的消息主体为按照所述第一目标压缩策略压缩后的WSDL地址,所述网络服务调用请求消息的消息主体为按照所述第一目标压缩策略压缩的基础参数信息。
[0073] 其中,所述网络服务消息传输装置还包括:
[0074] 第一处理模块,用于在接收到所述目标服务器根据所述网络服务解析请求消息反馈的网络服务解析响应消息后,基于目标服务器的第二目标压缩策略对应解压缩,得到WSDL文档;
[0075] 第二处理模块,用于在接收到所述目标服务器根据所述网络服务调用请求消息反馈的网络服务调用响应消息后,确定返回类型;若所述返回类型为简单,则基于目标服务器的第二目标压缩策略对应解压缩,得到返回结果数据;若所述返回类型为复杂,则在基于目标服务器的第二目标压缩策略对应解压缩后,进行数据还原,得到返回结果数据。
[0076] 为达到上述目的,本发明的实施例还提供了一种终端,包括如上所述的应用于终端的网络服务消息传输装置。
[0077] 为达到上述目的,本发明的实施例还提供了一种网络服务消息传输装置,应用于服务器,包括:
[0078] 第二选择模块,用于在预设压缩策略中选择第二目标压缩策略,其中所述第二目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第二目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0079] 第二生成模块,用于在接收到终端发送的网络服务请求消息后,根据所述第二目标压缩策略,生成压缩的网络服务响应消息;
[0080] 第二发送模块,用于将所述网络服务响应消息发送至所述终端。
[0081] 其中,所述预设压缩策略包括无压缩和预设压缩算法的压缩;
[0082] 所述第二选择模块包括:
[0083] 第二处理子模块,用于基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0084] 第二选择子模块,用于选取数据传输效率达到预设要求的预设压缩策略作为目标压缩策略。
[0085] 其中,所述第二处理子模块包括:
[0086] 第三处理单元,用于根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0087] 第四处理单元,用于根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0088] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0089] 其中,所述网络服务响应消息包括网络服务解析响应消息和网络服务调用响应消息;
[0090] 所述第二生成模块包括:
[0091] 第五处理子模块,用于在接收到终端发送的网络服务解析请求消息后,基于所述网络服务解析请求消息中的WSDL地址下载获得WSDL文档,将所述WSDL文档按照所述第二目标压缩策略压缩,封装为网络服务解析响应消息;
[0092] 第六处理子模块,用于在接收到终端发送的网络服务调用请求消息后,从服务调用结果数据中获取有效信息,将所述有效信息按照所述第二目标压缩策略压缩,封装为网络服务调用响应消息。
[0093] 其中,所述第六处理子模块包括:
[0094] 提取单元,用于提取服务调用结果数据中的标签类型和标签数据;
[0095] 归类单元,用于将归属于同一标签类型的标签数据进行统计归类,得到有效信息,其中,所述有效信息包括非重复的标签类型。
[0096] 其中,所述网络服务解析响应消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务调用响应消息的结构至少包括:消息类型、压缩标识、返回类型和消息主体;
[0097] 所述网络服务解析响应消息的消息主体为按照所述第二目标压缩策略处理后的WSDL文档,所述网络服务调用响应消息的消息主体为按照所述第二目标压缩策略处理后的有效信息。
[0098] 其中,所述网络服务消息传输装置还包括:
[0099] 第三处理模块,用于在接收到所述终端发送的网络服务解析请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的WSDL地址下载WSDL文档;
[0100] 第四处理模块,用于在接收到所述终端发送的网络服务调用请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的基础参数信息调用网络服务,生成服务调用结果数据。
[0101] 为达到上述目的,本发明的实施例还提供了一种服务器,包括如上所述的应用于服务器的网络服务消息传输装置。
[0102] 本发明的上述技术方案的有益效果如下:
[0103] 本发明实施例的网络服务消息传输方法,终端在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第一目标压缩策略,之后根据该第一目标压缩策略,生成压缩的网络服务请求消息,最终,将该网络服务请求消息发送至目标服务器。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务请求消息,而且完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。

附图说明

[0104] 图1为本发明第一实施例的网络服务消息传输方法的流程示意图;
[0105] 图2为本发明第一实施例的网络服务消息传输方法的具体流程示意图;
[0106] 图3为本发明第二实施例的网络服务消息传输方法的流程示意图;
[0107] 图4为本发明第二实施例的网络服务消息传输方法的具体流程示意图;
[0108] 图5为应用第二实施例的网络服务消息传输方法的系统四层结构示意图;
[0109] 图6为由本发明的服务调用框架结构示意图;
[0110] 图7为本发明第三实施例的网络服务消息传输装置结构示意图;
[0111] 图8为本发明第五实施例的网络服务消息传输装置结构示意图。

具体实施方式

[0112] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0113] 本发明针对现有的网络服务消息压缩传输方式,由于固定压缩的消息在传输中会受到网络带宽的不稳定变化影响,延长整个服务调用的耗时的问题,提供了一种网络服务消息传输方法、装置、终端及服务器,按照网络带宽的不同选择适应的压缩策略,实现缩短整个服务调用的耗时。
[0114] 如图1所示,本发明第一实施例的一种网络服务消息传输方法,应用于终端,包括:
[0115] 步骤101,在预设压缩策略中选择第一目标压缩策略,其中所述第一目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第一目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0116] 步骤102,根据所述第一目标压缩策略,生成压缩的网络服务请求消息;
[0117] 步骤103,将所述网络服务请求消息发送至目标服务器。
[0118] 通过上述步骤,应用了本发明第一实施例的网络服务消息传输方法的终端,在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第一目标压缩策略,之后根据该第一目标压缩策略,生成压缩的网络服务请求消息,最终,将该网络服务请求消息发送至目标服务器。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务请求消息,而且完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。
[0119] 其中,数据传输效率是指单位数据量的原始数据在发送端到接收端的时间(压缩、数据传输和解压缩的时间),而预设要求则往往设定的是“在预设的所有压缩策略中,数据传输效率最大”,当然,也可以是根据试验测定的对应当前网络带宽的一固定值。
[0120] 在该实施例中,所述预设压缩策略包括无压缩和预设压缩算法的压缩;步骤101包括:
[0121] 基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0122] 选取数据传输效率达到预设要求的预设压缩策略作为第一目标压缩策略。
[0123] 因此,就可以通过预测预设数据量的数据在无压缩和预设压缩算法的压缩下的数据传输时间(压缩、压缩数据传输和解压缩的时间),进而选取出数据传输效率达到预设要求的预设压缩策略作为第一目标压缩策略。
[0124] 本发明实施例中,为了保障终端(客户端)和服务器(服务代理)运行时两端的服务负载数据完全相同,常选择无损压缩方式对负载数据进行压缩,使解压之后的数据和压缩前数据相同。然而,使用压缩算法进行压缩操作降低数据量的同时,也增加了终端和服务器运行时的计算负担,数据传输时间T的计算公式为
[0125]
[0126] 其中, 和 分别为终端进行数据压缩和解压缩的时间, 和 分别为服务器运行时进行数据压缩和解压缩操作的时间, 为请求消息的数据量, 为响应消息的数据量,为请求消息的压缩率,为响应消息的压缩率。因此为了最大限度的减少服务调用的总时间,需要在压缩策略的选择上根据数据压缩比和压缩解压缩耗时两方面因素进行综合地权衡。
[0127] 具体的,基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测的步骤包括:
[0128] 根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0129] 根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0130] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0131] 所以,经上述步骤的公式(2)和(3),得到预设数据量为M的数据在数据不压缩的情况、数据利用预设压缩算法压缩之后,在带宽为B的网络中数据传输时间T1和T2,以便在之后选择出第一目标压缩策略。
[0132] 应该知道的是,该实施例中提出的第一目标压缩策略的选择,可以作为带宽自适应数据压缩算法(Adaptive Compress Algorithm,ACA)实现,根据网络带宽选择最合理的压缩方式。其中,预设压缩策略包括无压缩和预设压缩算法的压缩,优选的,预设压缩算法为Zlib压缩和Snappy压缩。Zlib是一个开源的跨平台的无损压缩库,通过LZ77算法和哈夫曼树来实现数据的压缩和解压。Zlib相比其它压缩算法的优势在于对大文件有着非常高的压缩率,缺点就是压缩速度较慢,耗时较长。Snappy是Google开源的一个压缩库,也是其极为推荐并且广泛应用于其自身业务的一个压缩算法。它可以提供高速压缩速度和合理的压缩率,虽然在压缩率上不如Zlib,但在压缩的实时性上相对Zlib有足够的优势。将Zlib压缩的压缩率λz,压缩速度 解压缩速度 带入公式(3)中,得到Zlib压缩的数据传输时间Tz;将Snappy压缩的压缩率λs,压缩速度 解压缩速度 带入公式(3)中,得到Snappy压缩的数据传输时间Ts,而λz>λs>1。
[0133] 在得到预设压缩策略的数据传输时间后,根据数据传输效率(预设数据量的数据传输时间)是否到达预设要求选择出第一目标压缩策略。如在预设压缩策略中选择耗时最小的压缩策略,即
[0134] S0=argmin(T(S)),S∈{无压缩,Snappy压缩,Zlib压缩}    (4)
[0135] 其中,T(S)为不同压缩策略处理后的数据传输时间,S0为选择的最优策略。
[0136] 当然,结合公式(2)和(3),通过将三种预定压缩策略的数据传输效率比较,还能在带宽上限定出各个压缩策略选择依据:
[0137]
[0138] 其中,B1和B2的值为:
[0139]
[0140]
[0141] 这样,当带宽充足时,数据的传输压力较小,这种情况不对数据进行压缩最好,可以节省终端和服务器的压缩解压消耗的时间。对于中等带宽,此时数据传输的压力适中,选择压缩率中等但压缩速度更好的Snappy压缩。对于带宽较低的情况,数据的传输压力最大,首要的目的是降低数据量,因此采取压缩比最大的Zlib。ACA保证了在不同带宽下压缩策略的最优化选择,使得数据从发送端到接收端所需的总时间最少,相对单一的压缩方法更为科学有效。
[0142] 然而,按照网络带宽的不同选择适应的压缩策略,虽然能够实现缩短整个服务调用的耗时的目的,但是考虑到现有的SOA架构下,终端向服务器发送的网络服务请求消息是严格按照标准的格式进行组织,消息的基础架构是XML格式的文档。所以,在网络服务调用请求消息中会包含两部分数据,一部分是描述消息架构的格式化标签数据,如SOAP消息中的与具体服务无关的soap:Body和soap:Envelope标签,以及与具体服务相关的参数标签;另一部分是数据负载,如请求消息中的参数初值等。故在上述实施例的基础上,本发明实施例中,还针对网络服务请求消息的主体,在能够实现服务调用的基础上进行精简,过滤服务调用不必需的数据,降低请求消息的体积,之后再按照第一目标压缩策略进行压缩,生成待发送至服务器的网络服务请求消息。
[0143] 进一步具体的,本发明第一实施例的网络服务消息传输方法中,所述网络服务请求消息包括网络服务解析请求消息和网络服务调用请求消息;
[0144] 如图2所示,步骤102包括:
[0145] 步骤1021,在所述终端需发起网络服务描述语言WSDL解析时,获取WSDL地址,将WSDL地址按照所述第一目标压缩策略压缩,封装为网络服务解析请求消息;
[0146] 步骤1022,在所述终端接收到目标服务器发送的网络服务解析响应消息时,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数,将赋值后的基础参数信息按照所述第一目标压缩策略压缩,封装为网络服务调用请求消息。
[0147] 这里,考虑到不同类型网络服务请求消息中的必需信息的内容不同,按照网络服务解析请求消息和网络服务调用请求消息两种类型区别处理。终端要实现Web服务调用,首先需发起WSDL解析,则会获取WSDL地址,将WSDL地址按照第一目标压缩策略压缩,封装为网络服务解析请求消息,从而将网络服务解析请求消息发送至目标服务器。终端接收到的网络服务解析响应消息时,就能够从该网络服务解析响应消息中的WSDL文档获取到调用服务所需的基础参数(调用服务所需的参数USRD(Useful Services Request Data)),仅对该基础参数进行赋值,最终将赋值后的基础参数信息按照第一目标压缩策略压缩,封装为网络服务调用请求消息,发送到目标服务器。由于精简后的网络服务请求消息相较与现有的网络服务请求消息具有更小的体积,能够进一步实现缩短整个服务调用的耗时的目的。
[0148] 而在向目标服务器发送了网络服务请求消息后,就会收到该目标服务器反馈的网络服务响应消息,对应不同类型的网络服务请求消息,接收到不同类型的网络服务响应消息。当然,为了缩短整个服务调用的耗时,目标服务器也会在预设压缩策略中选择第二目标压缩策略,生成压缩的网络服务响应消息进行反馈。第二目标压缩策略与第一目标压缩策略是根据各自当前网络带宽,自适应地选择的,可以相同也可以不同。这样,目标服务器接收到网络服务解析请求消息,会基于该网络服务解析请求消息中的WSDL地址下载获得WSDL文档,将WSDL文档按照第二目标压缩策略压缩,生成网络服务解析响应消息反馈给终端;目标服务器接收到网络服务调用请求消息,基于该网络服务调用请求消息进行Web服务调用后,会将服务调用结果数据中的有效信息按照第二目标压缩策略压缩,生成网络服务调用响应消息反馈给终端。其中,考虑到服务调用结果数据的返回类型可能为简单也可能为复杂,为了减少传输消息的体积,简单的服务调用结果数据可作为有效信息直接按照第二目标压缩策略压缩,生成响应消息发送,但是对于复杂的服务调用结果数据,需要去除不必需的信息,仅将提取的有效信息按照第二目标压缩策略压缩,生成响应消息发送。
[0149] 这样,在上述实施例的基础上,本发明第一实施例的方法还包括:
[0150] 在接收到所述目标服务器根据所述网络服务解析请求消息反馈的网络服务解析响应消息后,基于目标服务器的第二目标压缩策略对应解压缩,得到WSDL文档;
[0151] 在接收到所述目标服务器根据所述网络服务调用请求消息反馈的网络服务调用响应消息后,确定返回类型;若所述返回类型为简单,则基于目标服务器的第二目标压缩策略对应解压缩,得到返回结果数据;若所述返回类型为复杂,则在基于目标服务器的第二目标压缩策略对应解压缩后,进行数据还原,得到返回结果数据。
[0152] 从而终端根据接收到不同类型的网络服务响应消息,进行相应处理,以完成整个调用流程。当然,类似于上述步骤,服务器接收到网络服务请求消息后,要获取其中的信息,也会先基于终端的第一目标压缩策略对应解压缩。
[0153] 还应该知道的是,本发明第一实施例中对于WSDL描述的SOAP服务,只需要向Axis2的应用接口提供所需的初始参数,即可调用Web服务,无需用户自己组装SOAP消息。优选的,在步骤1022,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数的步骤包括:
[0154] 解析WSDL文档,获得与基础参数所对应标签下的信息内容,得到所述基础参数;其中,
[0155] 所述基础参数的类型包括:WSDL地址、输入参数初值、输入参数类型、接口名称、返回值的类型和命名空间。
[0156] 基于Axis客户端调用Web服务所需的USRD类型:WSDL地址、输入参数初值、输入参数类型、接口名称、返回值的类型和命名空间,通过解析WSDL文档,获得与基础参数所对应标签下的信息内容,得到基础参数,赋值后得到调用Web服务的基础参数信息。
[0157] 在实际应用中,终端获取到服务器返回的WSDL文档后,则会基于Axis客户端调用服务所需的信息类型WSDL地址、输入参数初值、输入参数类型、接口名称、返回值的类型和命名空间,需获得这些基础参数在该WSDL文档中的对应原始信息,以便于后续的赋值。其中,除了WSDL地址和参数初值之外的几个关键信息都可以直接从WSDL中得到,WSDL是一个基于XML的文档,可以利用dom4j的XML API解析对应标签下的信息。参数初值由用户设定或者使用服务组合流程中前面服务的输出值。由于每个Web服务的WSDL文档的内容和结构都不相同,需要从不同服务描述文档中挖掘出共同的信息。在每个WSDL文档开头都会定义一组命名空间变量,其中targetNamespace为调用服务所需的命名空间。服务包含的所有接口函数的名称信息在WSDL文档的标签内,根据中的name属性,就可以得到接口函数的名称。节点内包含了接口函数的参数信息和返回值的类型信息。内包含的所有的XML标签都是带有前缀的标签,如等。在IP地址定位服务中,前缀名为xs。不同服务WSDL中前缀名称都不同,因此在解析内子节点信息时,先要获取该服务的前缀名称。通过比较大量服务的WSDL发现,这里所需的前缀名称是中属性值为http://www.w3.org/2001/XMLSchema的命名空间变量的名称的后缀,该属性值在所有WSDL中都存在并且相同。在本服务中,属性值为http://www.w3.org/2001/XMLSchema的前缀命名空间名称为xmlns:xs,后缀xs即是内标签的前缀。接口函数的参数信息嵌套在标签下的name属性值为接口名称的一个内。之后在下一层的标签下,有一个或多个几个并列的xs:element标签,表示函数的形参信息,形参类型为标签中的type属性。返回值的类型则是里面的标签name属性的内容为“函数名Response”的内。sequence>里的标签的type属性的值就是返回值的类型,name属性为返回值的名称,如果那么属性为空默认值为return。经过上述操作,得到了如下表1中的USRD信息。
[0158] 表1
[0159]
[0160] 之后,终端在USRD信息中填入参数初值以后,就可以通过Axis2客户端调用Web服务。具体的,USRD的元素内容通过预先协商的分割符号串联到一起经过压缩之后发送给服务代理运行时。服务代理运行时收到消息之后,解析出USRD并按照分割符号取出各元素的值,填入到Axis2客户端中,完成服务的调用。
[0161] 在上述内容中,为了降低网络中传输的数据量,精简后的网络服务请求消息相较于现有的请求消息,消息结构上发生了改变。此时,本发明第一实施例中,终端与服务器之间的代理运行时,数据传输需要按照新的传输协议进行组织封装。终端与服务代理之间的消息任务总共分为四种协议,WPP(WSDL Parse Protocol,WSDL解析协议)、WRP(WSDL Response Protocol,WSDL解析响应协议)、SIP(Services Invocation Protocol,服务调用协议)和SRP(Services Response Protocol,服务响应协议)。WPP是网络服务解析请求消息的消息结构,WRP是网络服务解析响应消息的消息结构,SIP是网络服务调用请求消息的消息结构,SRP是网络服务调用响应消息的消息结构。
[0162] 具体的该实施例中,所述网络服务解析请求消息和所述网络服务调用请求消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务解析请求消息的消息主体为按照所述目标压缩策略压缩后的WSDL地址,所述网络服务调用请求消息的消息主体为按照所述目标压缩策略压缩的基础参数信息。
[0163] 往往,网络服务解析请求消息的是为了获取完整的WSDL文档内容,以进行WSDL的解析。在本发明的实施中,通过向服务器代理发送该网络服务解析请求消息,使服务器将完整的WSDL文档内容通过HTTP协议下载到本地。所以,网络服务解析请求消息的消息主体是按照目标压缩策略压缩后的WSDL地址,如下表2的WPP消息结构所示:
[0164] 表2
[0165]
[0166] 在该WPP消息结构中,消息的第一部分为消息类型,四种协议分别由唯一的整数值来区分,WPP的消息类型为0x01。第二部分为压缩标识,以上述预设压缩策略为例,包括0x00为不压缩,0x01为Snappy压缩,0x02为Zlib压缩。第三部分为消息主体,是采用第二部分对应压缩策略压缩的WSDL地址。
[0167] 服务代理接收到终端发送的请求消息,通过消息类型确定为WPP请求消息后,就能够根据WPP的格式,提取出WSDL地址(在压缩标识指示了所采用的压缩算法时,还需要进行对应压缩算法的解压缩)。然后基于WSDL地址下载完整的WSDL文档内容,压缩后通过WRP消息结构的网络服务解析响应消息反馈给终端。WRP消息结构网络服务解析响应消息的消息主体是采用第二部分对应压缩策略压缩后的WSDL文档,如下表3所示:
[0168] 表3
[0169]
[0170] 该WRP消息结构的各个部分与WPP消息结构相同,但是,WRP的消息类型为0x02,消息主体为采用第二部分对应压缩策略压缩的WSDL文档。
[0171] 终端在接收到服务代理发送的响应消息,通过消息类型确定为WRP响应消息后,就能够根据WRP的格式,提取出WSDL文档(在压缩标识指示了所采用的压缩算法时,还需要进行对应压缩算法的解压缩)。然后基于WSDL文档解析出调用Web服务所需的基础参数,赋值压缩后通过SIP消息结构的网络服务调用请求消息反馈给服务代理。SIP消息结构的网络服务调用请求消息的消息主体是采用第二部分对应压缩策略压缩后的带有参数初值的USRD,如下表4所示:
[0172] 表4
[0173]
[0174] 该SIP消息结构的各个部分也与WPP消息结构相同,但是,SIP的消息类型为0x03,消息主体为采用第二部分对应压缩策略压缩的带有参数初值的USRD,即无压缩的带有参数初值的USRD或预设压缩算法压缩得到的压缩字符集。
[0175] 服务代理运行时接收到终端发来的SIP消息结构的网络服务调用请求消息,就会按照压缩标识对信息进行对应压缩算法的解压缩,提取出调用服务所需的USRD。然后由传给Axis2客户端的方式调用Web服务。一旦调用完成,就将服务调用结果数据压缩后按照SRP消息结构的网络服务调用响应消息反馈给终端。
[0176] 但由于服务调用结果数据可能是简单数据也可能是复杂数据(重复的标签信息和格式化信息是造成消息体冗余的主要原因)。所以,为了进一步缩短整个服务调用耗时,对不同的服务调用结果数据要区别处理:将简单的服务调用结果数据作为待发送终端的运行结果,或者将复杂的服务调用结果数据精简(如转换成JSON格式再进行HPack压缩)后的数据作为待发送终端的运行结果。因此,SRP消息结构的网络服务调用响应消息,增加了返回类型的部分,如下表5所示:
[0177] 表5
[0178]
[0179] 在该SRP消息结构中,第一部分为消息类型,SRP的消息类型为0x04。第二部分为压缩标识,同上述的三种消息结构。第三部分为返回类型,0x00是简单数据类型,0x01是XML复杂数据类型。第四部分为消息主体,是采用第二部分对应压缩策略压缩后的运算结果,即无压缩的运算结果或预设压缩算法压缩得到的压缩字符集。
[0180] 终端在收到SRP消息结构的网络服务调用响应消息之后,首先进行数据压缩算法的解压缩,得到解压后的消息主体中的响应消息数据。然后根据返回类型进行消息的还原操作:对于简单类型返回值,直接提取即可;而XML复杂数据类型的返回值,其在服务器转换成JSON格式再进行HPack压缩,此时,终端需先进行HPack解压,然后还原为XML类型。
[0181] 综上所述,应用了本发明第一实施例的网络服务消息传输方法的终端,在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第一目标压缩策略,之后根据该第一目标压缩策略,生成压缩的网络服务请求消息,最终,将该网络服务请求消息发送至目标服务器。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务请求消息,在完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。而且生成网络服务请求消息时,在能够实现服务调用的基础上进行精简,过滤服务调用不必需的数据,降低请求消息的体积,进一步缩短了整个服务调用耗时。而且由于不需要增加额外的空间消耗,对于服务的功能和结构具有很好的普适性。
[0182] 众所周知,在Web服务调用中,终端发送网络服务请求消息后,服务器需要根据网络服务请求消息反馈对应的网络服务响应消息,因此,为较佳地实现缩短整个服务调用的耗时,在终端侧进行数据压缩操作的同时,服务器侧也需要进行对数据压缩,如图3所示,本发明第二实施例还提供了一种网络服务消息传输方法,应用于服务器,包括:
[0183] 步骤301,在预设压缩策略中选择第二目标压缩策略,其中所述第二目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第二目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0184] 步骤302,在接收到终端发送的网络服务请求消息后,根据所述第二目标压缩策略,生成压缩的网络服务响应消息;
[0185] 步骤303,将所述网络服务响应消息发送至所述终端。
[0186] 通过步骤301-303,应用了本发明第二实施例的网络服务消息传输方法的服务器,在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第二目标压缩策略,之后再根据该第二目标压缩策略,生成压缩的网络服务响应消息,最终,将该网络服务响应消息发送至终端。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务响应消息,而且完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。
[0187] 其中,数据传输效率是指单位数据量的原始数据在发送端到接收端的时间(压缩、数据传输和解压缩的时间),而预设要求则往往设定的是“在预设的所有压缩策略中,数据传输效率最大”,当然,也可以是根据试验测定的对应当前网络带宽的一固定值。
[0188] 与第一实施例相同的是,所述预设压缩策略包括无压缩和预设压缩算法的压缩;
[0189] 步骤301包括:
[0190] 基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0191] 选取数据传输效率达到预设要求的预设压缩策略作为第二目标压缩策略。
[0192] 同样的通过预测预设数据量的数据在无压缩和预设压缩算法的压缩下的数据传输时间(压缩、压缩数据传输和解压缩的时间),进而选取出数据传输效率达到预设要求的预设压缩策略作为第二目标压缩策略。
[0193] 具体的,基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测的步骤包括:
[0194] 根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0195] 根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0196] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0197] 由于本发明的第二实施例与第一实施例都是根据当前网络带宽,自适应地选择合适的压缩策略,完成Web服务调用的,因此,第二目标压缩策略的选择实现方式可以与第一目标压缩策略的选择实现方式相同,在此不再赘述。
[0198] 另外,与第一实施例类似,通过数据压缩虽然能够实现缩短整个服务调用的耗时的目的,但是考虑到现有的SOA架构下,服务器反馈给终端的网络服务响应消息与网络服务请求消息一样,会存在消息体的冗余,而重复的标签信息和格式化信息是造成消息体冗余的主要原因。故在该第二实施例中,针对网络服务响应消息的主体,也在能够实现服务调用的基础上进行精简,过滤服务调用不必需的数据,降低响应消息的体积,之后再按照第二目标压缩策略进行压缩,生成待发送至终端的网络服务响应消息。
[0199] 进一步具体的,本发明第二实施例的网络服务消息传输方法中,所述网络服务响应消息包括网络服务解析响应消息和网络服务调用响应消息;
[0200] 如图4所示,步骤302包括:
[0201] 步骤3021,在接收到终端发送的网络服务解析请求消息后,基于所述网络服务解析请求消息中的WSDL地址下载获得WSDL文档,将所述WSDL文档按照所述第二目标压缩策略压缩,封装为网络服务解析响应消息;
[0202] 步骤3022,在接收到终端发送的网络服务调用请求消息后,从服务调用结果数据中获取有效信息,将所述有效信息按照所述第二目标压缩策略压缩,封装为网络服务调用响应消息。
[0203] 这里,根据不同类型网络服务响应消息的必需信息的内容不同,按照网络服务解析响应消息和网络服务调用响应消息两种类型区别处理。由于要实现服务调用,终端会发送携带有WSDL地址的网络服务解析请求消息至服务器,以发起WSDL解析,所以,服务器在接收到该网络服务解析请求消息后,即可基于该网络服务解析请求消息中的WSDL地址下载获得WSDL文档,在按照第二目标压缩策略要锁后,封装为网络服务调用响应消息发送终端,使得终端进行WSDL解析。终端通过WSDL解析,发送携带有调用服务所需的基础参数信息的网络服务调用请求消息至服务器,之后,服务器就能够基于该网络服务调用请求消息中的基础参数信息进行服务调用。考虑到服务调用结果数据的返回类型可能为简单也可能为复杂,因此,为了减少传输消息的体积,需要从服务调用结果数据中获取有效信息后再压缩。对于简单的服务调用结果数据可作为有效信息直接按照第二目标压缩策略压缩,生成响应消息发送,但是对于复杂的服务调用结果数据,需要去除不必需的信息,仅将提取的有效信息按照第二目标压缩策略压缩,生成响应消息发送。
[0204] 其中,由于终端发送的网络服务请求消息是通过上述第一实施例的方法选择的第一目标压缩策略压缩的,所以,本发明第二实施例的方法还包括:
[0205] 在接收到所述终端发送的网络服务解析请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的WSDL地址下载WSDL文档;
[0206] 在接收到所述终端发送的网络服务调用请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的基础参数信息调用网络服务,生成服务调用结果数据。
[0207] 服务器在接收到网络服务请求消息后,基于该第一目标压缩策略对应解压缩,得到WSDL地址或基础参数信息,从而进行后续处理,以完成整个调用流程。
[0208] 在本发明第二实施例的方法中,已知服务调用结果数据(服务的返回值)的类型包括简单数据类型和复杂数据类型,所以,为实现在复杂的中获取有效信息,从服务调用结果数据中获取有效信息的步骤包括:
[0209] 提取服务调用结果数据中的标签类型和标签数据;
[0210] 将归属于同一标签类型的标签数据进行统计归类,得到有效信息,其中,所述有效信息包括非重复的标签类型。
[0211] 通过提取服务调用结果数据中的标签类型和标签数据,按照标签类型归类标签数据,将归属于同一标签类型的标签数据归类在一起,得到的有效信息。该有效信息包括非重复的标签类型,避免了标签类型的重复,减少了消息的体积。
[0212] 具体的,简单数据类型为程序设计语言的内置数据类型,如实数、整数、字符和布尔类型等。由于在WSDL中,变量均为XML Schema的内置简单类型,这些简单类型对应于程序设计语言的类型,在实际应用中,当Axis2服务调用结果数据为简单数据类型的服务时,根据返回值的XML Schema类型,可以利用对应的程序语言类型对返回值进行强制类型转换,得到变换后的返回值。复杂数据类型包括:数组类型、结构体类型和结构体数组类型。由于数据集合比较庞大,存在着许多重复标签,就需要减少重复标签的数量。由于XML格式和JSON格式数据之间可以相互转换,对于XML格式的服务响应消息,首先将其转换成更为结构更为简单JSON格式的数据。JSON相对XML类型省略了一半的重复标签,XML的结束标签在JSON中被舍弃,格式更加的紧凑。JSON格式取代XML给网络传输带来了很大的便利。
[0213] 以一个城市天气查询的服务为例,调用服务得到的服务调用结果数据的类型为结构体数组,包含了三个城市的天气信息,而每个城市的天气信息中包含了城市编号、城市名和天气信息。如下所示:
[0214]
[0215]
[0216] 可见上述的XML格式数据中,格式化的标签占了很大的比重。而转换为JSON格式的数据如下所示:
[0217]
[0218]
[0219] JSON格式数据相较于原XML格式数据,最直接的变化就是标签的数量减少了一半,XML格式数据中的结束标签也被去除。但是在JSON格式数据中,每个对象里的数据结构是相同的,即键key相同键值value不同,这些相同的key仍然存在冗余性,因此可以对key的标签数量进行进一步精简。结构体数组可以看作是一个二维数据表,各个键的名称对应表中字段的名称,数组中对象的个数对应数据表记录的行数。因此可以按照数据表的组织方式对JSON格式数据结构进行简化,即通过一个对象的结构得到各key的名称,将其作为表的字段名。然后将JSON对象数组中所有对象的value值按顺序放到key的字段下。通过将对象的键和值分离开来,这样键的名称只需记录一次。对于JSON键值分离可使用JSON.HPack来实现,HPack将JSON格式数据抽取成模板与数值,省略掉了重复键名称,通过改变JSON数据的结构将总容量压小。延续上例,最终得到的有效信息如下所示:
[0220]
[0221] 由于原JSON格式数据中的key名称成为了二维表的字段名,可以很明显地看出,键值分离后的数据量相对原XML格式数据和JSON格式数据的精简效果非常明显,只相当于原始数据的不到三分之一。另外JSON格式数据的HPack压缩和XML转换为JSON的过程都是双向可逆的,便于将有效信息在接收一端进行反向还原。
[0222] 另外,与第一实施例相同的是,为了降低网络中传输的数据量,精简后的网络服务响应消息相较于现有的请求消息,消息结构上发生了改变。所以,在本发明第二实施例中,终端与服务器之间的代理运行时,数据传输也需要按照新的传输协议进行组织封装。终端与服务代理之间的消息任务总共分为四种协议,WPP、WRP、SIP和SRP。WPP是网络服务解析请求消息的消息结构,WRP是网络服务解析响应消息的消息结构,SIP是网络服务调用请求消息的消息结构,SRP是网络服务调用响应消息的消息结构。
[0223] 具体的该实施例中,所述网络服务解析响应消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务调用响应消息的结构至少包括:消息类型、压缩标识、返回类型和消息主体;
[0224] 所述网络服务解析响应消息的消息主体为按照所述第二目标压缩策略处理后的WSDL文档,所述网络服务调用响应消息的消息主体为按照所述第二目标压缩策略处理后的有效信息。
[0225] 而在本发明的第二实施例中,终端与服务器之间的网络服务消息的具体消息结构及交互流程同上述的第一实施例,在此不再赘述。
[0226] 此外,本发明第二实施例的方法,可利用Java语言开发服务运行时系统应用在一个或多个服务器中实现。服务发布用户在部署服务的同时启动该服务运行时系统,处理窄带条件下的请求消息。服务代理运行时系统如图5所示,从上至下包含四层结构:界面层、网络层、消息层和业务层。界面层作为服务代理运行时系统的主界面,基于Java Swing开发实现,负责显示接收到的请求信息以及返回给客户端的解析和调用结果。网络层处理服务代理运行时和各客户端之间的TCP网络连接,以及收发网络数据流。服务代理运行时启动之后,一直保持监听状态。当接收到一个新的请求时,网络层开辟一个新的线程来处理该请求并建立TCP短连接,返回结果之后将此连接断开,避免长期连接占用网络资源。消息层是网络层和业务层之间的适配器,负责解析WPP和SIP请求消息,以及按照WRP和SRP格式将返回值进行消息封装。消息层还负责对请求消息进行解压缩操作,以及根据自适应压缩算法对于返回数据进行压缩。业务层实现了服务代理运行时的服务解析和服务调用功能。服务解析模块按照消息过滤算法提取服务的USRD信息,经过消息层打包成WRP消息返回给客户端。服务调用模块根据消息层解析的SIP消息,选择合适的服务调用方法,调用请求的服务,获得服务响应结果。
[0227] 以客户端调用IP地址定位服务为例,服务代理运行时和服务部署在地址为192.168.1.110的主机,运行时端口为8000。用户在192.168.1.114的主机上连接SARS。服务代理运行时接收客户端请求并且返IP地址定位服务的解析和调用结果。服务的解析结果即USRD,在该服务中,包含了1个接口GetLocationByIP。USRD不同元素之间以及元素中的子元素之间通过特定的符号进行分割,解析结果中接口名称和接口参数类型是通过“;”分割开来,GetLocationByIP包含一个参数,参数类型为字符串类型。根据USRD的排列顺序和分割符号,客户端还原出服务的各接口信息。只需要提供参数初值,就可以通过服务代理运行时调用服务。客户端向服务代理运行时请求IP地址定位服务的GetLocationByIP函数。
GetLocationByIP接口输入参数IP地址,初始值为“202.118.10.2”。服务代理运行时收到SIP格式的服务调用请求消息,Body中数据格式为“服务描述文档地址;接口名;参数初值;
命名空间”。服务代理运行时同样根据消息Body内容元素的顺序和分割符号,提取调用服务的所需信息,通过Axis2客户端完成服务调用,并且将调用结果加密后的字符串返回给客户端。
[0228] 综上所述,应用了本发明第二实施例的网络服务消息传输方法的服务器,在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第二目标压缩策略,之后根据该第二目标压缩策略,生成压缩的网络服务响应消息,最终,将该网络服务响应消息发送至终端。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务响应消息,在完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。而且生成网络服务响应消息时,在能够实现服务调用的基础上进行精简,过滤服务调用不必需的数据,降低请求消息的体积,进一步缩短了整个服务调用耗时。而且由于不需要增加额外的空间消耗,对于服务的功能和结构具有很好的普适性。
[0229] 结合上述的第一实施例和第二实施例,在如图6所示的服务调用框架中,终端与服务器所使用的网络服务消息传输方法,可采用的算法主步骤如Step1-Step,该算法的输入为服务的请求输入In={W,F,I},W为WSDL地址,F为接口名,I为参数初值;输出为服务的响应结构Out。
[0230] Step1,服务器根据输入W下载WSDL文档;
[0231] Step2,对WSDL文档进行自适应压缩,按照WRP格式封装为网络服务解析响应消息M1,发送到终端;
[0232] Step3,终端对M1解压缩,提取WSDL文档后,基于WSDL文档获取调用服务所必需的USRD;
[0233] Step4,对USRD数据进行自适应压缩,按照SIP封装为网络服务调用请求消息M2,发送到服务器;
[0234] Step5,服务器对M2解压缩,提取USRD调用服务,得到服务调用结果数据;
[0235] Step6,过滤服务调用结果数据,得到有效信息;
[0236] Step7,对有效信息进行自适应压缩,按照SRP封装为网络服务调用响应消息M3,发送至终端;
[0237] Step8,终端对M3解压缩,得到有效信息输出Out。
[0238] 如图7所示,本发明第三实施例还提供了一种网络服务消息传输装置,应用于终端,包括:
[0239] 第一选择模块701,用于在预设压缩策略中选择第一目标压缩策略,其中所述第一目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第一目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0240] 第一生成模块702,用于根据所述第一目标压缩策略,生成压缩的网络服务请求消息;
[0241] 第一发送模块703,用于将所述网络服务请求消息发送至目标服务器。
[0242] 其中,所述预设压缩策略包括无压缩和预设压缩算法的压缩;
[0243] 所述第一选择模块包括:
[0244] 第一处理子模块,用于基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0245] 第一选择子模块,用于选取数据传输效率达到预设要求的预设压缩策略作为目标压缩策略。
[0246] 其中,所述第一处理子模块包括:
[0247] 第一处理单元,用于根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0248] 第二处理单元,用于根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0249] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0250] 其中,所述网络服务请求消息包括网络服务解析请求消息和网络服务调用请求消息;
[0251] 所述第一生成模块包括:
[0252] 第三处理子模块,用于在所述终端需发起网络服务描述语言WSDL解析时,获取WSDL地址,将WSDL地址按照所述第一目标压缩策略压缩,封装为网络服务解析请求消息;
[0253] 第四处理子模块,用于在所述终端接收到目标服务器发送的网络服务解析响应消息时,从所述网络服务解析响应消息中的WSDL文档获取调用服务所需的基础参数,将赋值后的基础参数信息按照所述第一目标压缩策略压缩,封装为网络服务调用请求消息。
[0254] 其中,所述第四处理子模块包括:
[0255] 解析单元,用于解析WSDL文档,获得与基础参数所对应标签下的信息内容,得到所述基础参数;其中,
[0256] 所述基础参数的类型包括:WSDL地址、输入参数初值、输入参数类型、接口名称、返回值的类型和命名空间。
[0257] 其中,所述网络服务解析请求消息和所述网络服务调用请求消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务解析请求消息的消息主体为按照所述第一目标压缩策略压缩后的WSDL地址,所述网络服务调用请求消息的消息主体为按照所述第一目标压缩策略压缩的基础参数信息。
[0258] 其中,所述网络服务消息传输装置还包括:
[0259] 第一处理模块,用于在接收到所述目标服务器根据所述网络服务解析请求消息反馈的网络服务解析响应消息后,基于目标服务器的第二目标压缩策略对应解压缩,得到WSDL文档;
[0260] 第二处理模块,用于在接收到所述目标服务器根据所述网络服务调用请求消息反馈的网络服务调用响应消息后,确定返回类型;若所述返回类型为简单,则基于目标服务器的第二目标压缩策略对应解压缩,得到返回结果数据;若所述返回类型为复杂,则在基于目标服务器的第二目标压缩策略对应解压缩后,进行数据还原,得到返回结果数据。
[0261] 该网络服务消息传输装置应用于终端,终端在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第一目标压缩策略,之后根据该第一目标压缩策略,生成压缩的网络服务请求消息,最终,将该网络服务请求消息发送至目标服务器。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务请求消息,而且完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。
[0262] 需要说明的是,该装置是应用了上述第一实施例的网络服务消息传输方法的装置,上述第一实施例的网络服务消息传输方法的实施例的实现方式适用于该装置,也能达到相同的技术效果。
[0263] 本发明第四实施例提供了一种终端,包括如第三实施例的网络服务消息传输装置。
[0264] 该终端在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第一目标压缩策略,之后根据该第一目标压缩策略,生成压缩的网络服务请求消息,最终,将该网络服务请求消息发送至目标服务器。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务请求消息,而且完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。
[0265] 需要说明的是,该终端是包括了上述第三实施例的网络服务消息传输装置的终端,上述第三实施例的网络服务消息传输装置的实施例的实现方式适用于该终端,也能达到相同的技术效果。
[0266] 如图8所示,本发明第五实施例提供了一种网络服务消息传输装置,应用于服务器,包括:
[0267] 第二选择模块801,用于在预设压缩策略中选择第二目标压缩策略,其中所述第二目标压缩策略与当前网络带宽之间符合预设对应关系,通过所述第二目标压缩策略,在当前网络带宽下,数据传输效率达到预设要求;
[0268] 第二生成模块802,用于在接收到终端发送的网络服务请求消息后,根据所述第二目标压缩策略,生成压缩的网络服务响应消息;
[0269] 第二发送模块803,用于将所述网络服务响应消息发送至所述终端。
[0270] 其中,所述预设压缩策略包括无压缩和预设压缩算法的压缩;
[0271] 所述第二选择模块包括:
[0272] 第二处理子模块,用于基于所述预设压缩策略和当前网络带宽,对预设数据量的数据在无压缩和预设压缩算法下压缩的数据传输时间进行预测;
[0273] 第二选择子模块,用于选取数据传输效率达到预设要求的预设压缩策略作为目标压缩策略。
[0274] 其中,所述第二处理子模块包括:
[0275] 第三处理单元,用于根据公式 得到无压缩时预设数据量M的数据传输时间T1;
[0276] 第四处理单元,用于根据公式 得到预设压缩算法压缩时预设数据量M的数据传输时间T2;其中,
[0277] B为当前网络带宽,λ为预设算法的压缩率,Vc为预设算法的压缩速度,Vd为预设算法的解压缩速度。
[0278] 其中,所述网络服务响应消息包括网络服务解析响应消息和网络服务调用响应消息;
[0279] 所述第二生成模块包括:
[0280] 第五处理子模块,用于在接收到终端发送的网络服务解析请求消息后,基于所述网络服务解析请求消息中的WSDL地址下载获得WSDL文档,将所述WSDL文档按照所述第二目标压缩策略压缩,封装为网络服务解析响应消息;
[0281] 第六处理子模块,用于在接收到终端发送的网络服务调用请求消息后,从服务调用结果数据中获取有效信息,将所述有效信息按照所述第二目标压缩策略压缩,封装为网络服务调用响应消息。
[0282] 其中,所述第六处理子模块包括:
[0283] 提取单元,用于提取服务调用结果数据中的标签类型和标签数据;
[0284] 归类单元,用于将归属于同一标签类型的标签数据进行统计归类,得到有效信息,其中,所述有效信息包括非重复的标签类型。
[0285] 其中,所述网络服务解析响应消息的结构至少包括:消息类型、压缩标识和消息主体;所述网络服务调用响应消息的结构至少包括:消息类型、压缩标识、返回类型和消息主体;
[0286] 所述网络服务解析响应消息的消息主体为按照所述第二目标压缩策略处理后的WSDL文档,所述网络服务调用响应消息的消息主体为按照所述第二目标压缩策略处理后的有效信息。
[0287] 其中,所述网络服务消息传输装置还包括:
[0288] 第三处理模块,用于在接收到所述终端发送的网络服务解析请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的WSDL地址下载WSDL文档;
[0289] 第四处理模块,用于在接收到所述终端发送的网络服务调用请求消息后,基于终端的第一目标压缩策略对应解压缩,并根据解压缩后的基础参数信息调用网络服务,生成服务调用结果数据。
[0290] 该实施例的网络服务消息传输装置,服务器在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第二目标压缩策略,之后再根据该第二目标压缩策略,生成压缩的网络服务响应消息,最终,将该网络服务响应消息发送至终端。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务响应消息,而且完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。
[0291] 需要说明的是,该装置是应用了上述第二实施例的网络服务消息传输方法的装置,上述第二实施例的网络服务消息传输方法的实施例的实现方式适用于该装置,也能达到相同的技术效果。
[0292] 为达到上述目的,本发明的第六实施例还提供了一种服务器,包括如上所述的应用于服务器的网络服务消息传输装置。
[0293] 该实施例的服务器在提前设置的预设压缩策略中选择出与当前网络带宽之间符合预设对应关系,且在当前网络带宽下能使得数据传输效率达到预设要求的一预设压缩策略作为第二目标压缩策略,之后再根据该第二目标压缩策略,生成压缩的网络服务响应消息,最终,将该网络服务响应消息发送至终端。这样,即可根据当前网络带宽,自适应地选择合适的压缩策略对网络服务响应消息,而且完成Web服务调用的基础上,实现缩短整个服务调用耗时的目的。
[0294] 该服务器是包括了上述第五实施例的网络服务消息传输装置的服务器,上述第五实施例的网络服务消息传输装置的实施例的实现方式适用于该服务器,也能达到相同的技术效果。
[0295] 进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
[0296] 此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
[0297] 本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
[0298] 实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
[0299] 在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
[0300] 上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
[0301] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。