首页> 中国专利> SOA系统中的数据处理方法及装置、SOA系统

SOA系统中的数据处理方法及装置、SOA系统

摘要

本申请提供SOA系统中的数据处理方法及装置、SOA系统。本申请由于利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获得的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所传输即发送或接收的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

著录项

  • 公开/公告号CN105491078A

    专利类型发明专利

  • 公开/公告日2016-04-13

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN201410466215.2

  • 发明设计人 张希魁;

    申请日2014-09-15

  • 分类号H04L29/08(20060101);

  • 代理机构北京鸿德海业知识产权代理事务所(普通合伙);

  • 代理人倪志华

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-12-18 15:37:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-22

    授权

    授权

  • 2016-05-11

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20140915

    实质审查的生效

  • 2016-04-13

    公开

    公开

说明书

【技术领域】

本申请涉及数据处理技术,尤其涉及一种面向服务的体系结构(Service-Orientedarchitecture,SOA)系统中的数据传输方法及装置、SOA系统。

【背景技术】

在面向服务的体系结构(Service-Orientedarchitecture,SOA)系统中,一个应用程序的功能(称为服务),可以由若干个松耦合并且具有统一接口定义方式的组件,组合构建。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言,组件之间可以利用其接口实现相互调用,以完成应用程序的服务。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为组件之间的松耦合。SOA系统在处理来自SOA系统外部的超文本传输协议(Hypertexttransferprotocol,HTTP)请求时,需要按照在SOA系统中的调用路径,依次进行传输与处理。其中,在SOA系统中的调用路径,可以由若干个组件组成。调用路径上的每个组件都需要传输该HTTP请求并对其进行处理,直到该调用路径上的最后一个组件获取该HTTP请求,并对其进行处理完毕。

然而,由于HTTP的POST请求对所传输的数据长度没有特殊限制,使得HTTP的POST请求所对应的SOA系统中的调用路径上的各个组件所传输的数据量可能会很大,甚至会超大,从而导致了SOA系统的网络开销的增加。

【发明内容】

本申请的多个方面提供SOA系统中的数据处理方法及装置、SOA系统,用以减少SOA系统的网络开销。

本申请的一方面,提供一种SOA系统中的数据处理方法,包括:

获取目标组件待发送的原始HTTP请求,所述原始HTTP请求中包含M个目标参数,M为大于或等于1的整数;

若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,为N个目标参数分配中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度,N为大于或等于1,且小于或等于M的整数;

利用所述N个目标参数所对应的中间参数对该目标参数进行参数替换处理,以获得转化HTTP请求,以供所述目标组件发送所述转化HTTP请求。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,为N个目标参数分配中间参数之后,还包括:

对所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系,进行存储处理。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系,进行存储处理,包括:

将所述N个目标参数,以及该N个目标参数所对应的中间参数,对应存储在数据库中或文件系统中。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,为N个目标参数分配中间参数,包括:

若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,从所述M个目标参数中选择数据长度满足预先设置的替换条件的目标参数,以作为所述N个目标参数;

为所述N个目标参数分配中间参数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述替换条件包括:

数据长度大于或等于长度阈值;或者

以数据长度作为排序依据,前N个排序结果。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,为N个目标参数分配中间参数之前,还包括:

确定所述原始HTTP请求为HTTP的POST请求。

本申请的另一方面,提供另一种SOA系统中的数据处理方法,包括:

获取目标组件待处理的转化HTTP请求,所述转化HTTP请求中包含M个处理参数,M为大于或等于1的整数;

从所述M个处理参数中,识别出N个中间参数,N为大于或等于1,且小于或等于M的整数;

获得与所述N个中间参数中每个中间参数所对应的目标参数,所述每个中间参数的数据长度小于其所对应的目标参数的数据长度;

利用所述每个中间参数所对应的目标参数分别对该中间参数进行参数替换处理,以获得原始HTTP请求,以供所述目标组件对所述原始HTTP请求进行业务处理。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获得与所述N个中间参数中每个中间参数所对应的目标参数,包括:

根据目标参数,以及该目标参数所对应的中间参数,之间的对应关系,获得与所述N个中间参数中每个中间参数所对应的目标参数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述从所述M个处理参数中,识别出N个中间参数,包括:

根据所述M个处理参数中每个处理参数的内容,识别出所述N个中间参数;或者

根据所述M个处理参数中每个处理参数的内容和所述目标组件待处理的目标参数的标识信息,识别出所述目标组件待处理的所述N个中间参数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述转化HTTP请求为HTTP的POST请求。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述转化HTTP请求为利用上述一方面和其任一可能的实现方式所提供的方法,生成。

本申请的另一方面,提供一种SOA系统中的数据处理装置,包括:

获取单元,用于获取目标组件待发送的原始HTTP请求,所述原始HTTP请求中包含M个目标参数,M为大于或等于1的整数;

分配单元,用于若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,为N个目标参数分配中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度,N为大于或等于1,且小于或等于M的整数;

替换单元,用于利用所述N个目标参数所对应的中间参数对该目标参数进行参数替换处理,以获得转化HTTP请求,以供所述目标组件发送所述转化HTTP请求。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括存储单元,用于

对所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系,进行存储处理。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述存储单元,具体用于

将所述N个目标参数,以及该N个目标参数所对应的中间参数,对应存储在数据库中或文件系统中。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分配单元,具体用于

若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,从所述M个目标参数中选择数据长度满足预先设置的替换条件的目标参数,以作为所述N个目标参数;以及

为所述N个目标参数分配中间参数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述替换条件包括:

数据长度大于或等于长度阈值;或者

以数据长度作为排序依据,前N个排序结果。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括确定单元,用于

确定所述原始HTTP请求为HTTP的POST请求。

本申请的另一方面,提供另一种SOA系统中的数据处理装置,包括:

获取单元,用于获取目标组件待处理的转化HTTP请求,所述转化HTTP请求中包含M个处理参数,M为大于或等于1的整数;

识别单元,用于从所述M个处理参数中,识别出N个中间参数,N为大于或等于1,且小于或等于M的整数;

对应单元,用于获得与所述N个中间参数中每个中间参数所对应的目标参数,所述每个中间参数的数据长度小于其所对应的目标参数的数据长度;

替换单元,用于利用所述每个中间参数所对应的目标参数分别对该中间参数进行参数替换处理,以获得原始HTTP请求,以供所述目标组件对所述原始HTTP请求进行业务处理。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对应单元,具体用于

根据目标参数,以及该目标参数所对应的中间参数,之间的对应关系,获得与所述N个中间参数中每个中间参数所对应的目标参数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述识别单元,具体用于

根据所述M个处理参数中每个处理参数的内容,识别出所述N个中间参数;或者

根据所述M个处理参数中每个处理参数的内容和所述目标组件待处理的目标参数的标识信息,识别出所述目标组件待处理的所述N个中间参数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述转化HTTP请求为HTTP的POST请求。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述转化HTTP请求为利用上述一方面和其任一可能的实现方式所提供的装置,生成。

本申请的另一方面,提供一种SOA系统,包括存储装置和上述的另一方面提供的一种SOA系统中的数据处理装置;所述存储装置,用于存储所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系。

本申请的另一方面,提供另一种SOA系统,包括存储装置和上述的另一方面提供的另一种SOA系统中的数据处理装置;所述存储装置,用于存储所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系。

由上述技术方案可知,一方面,本申请实施例通过获取目标组件待发送的原始HTTP请求,所述原始HTTP请求中包含M个目标参数,M为大于或等于1的整数,若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,则可以为N个目标参数分配中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度,N为大于或等于1,且小于或等于M的整数,使得能够利用所述N个目标参数所对应的中间参数对该目标参数进行参数替换处理,以获得转化HTTP请求,由于利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获得的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所发送的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

由上述技术方案可知,另一方面,本申请实施例通过从所获取的目标组件待处理的转化HTTP请求中所包含的M个处理参数中,识别出N个中间参数,M为大于或等于1的整数,N为大于或等于1,且小于或等于M的整数,进而获得与所述N个中间参数中每个中间参数所对应的目标参数,所述每个中间参数的数据长度小于其所对应的目标参数的数据长度,使得能够利用所述每个中间参数所对应的目标参数分别对该中间参数进行参数替换处理,以获得原始HTTP请求,由于其他组件利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获取的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所接收的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,因此,能够有效避免SOA系统内部的网络堵塞,以及提高SOA系统的处理效率和业务性能。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,使得所对应的调用路径上的所有组件中并不是每个组件都需要传输原始HTTP请求中所包含的全部目标参数,因此,能够有效降低这些组件的硬件要求。

另外,采用本申请提供的技术方案,由于能够独立于目标组件的业务实现逻辑而实现,因此,没有对目标组件的业务实现逻辑产生任何影响。

【附图说明】

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

图1为本申请一实施例提供的一种SOA系统中的数据处理方法的流程示意图;

图2为本申请一实施例提供的另一种SOA系统中的数据处理方法的流程示意图;

图3为本申请另一实施例提供的一种SOA系统中的数据处理装置的结构示意图;

图4为本申请另一实施例提供的一种SOA系统中的数据处理装置的结构示意图;

图5为本申请另一实施例提供的一种SOA系统中的数据处理装置的结构示意图;

图6为本申请另一实施例提供的另一种SOA系统中的数据处理装置的结构示意图;

图7为本申请另一实施例提供的一种SOA系统的结构示意图;

图8为本申请另一实施例提供的另一种SOA系统的结构示意图。

【具体实施方式】

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

需要说明的是,本申请中的组件,可以理解为网络节点,例如,服务器等网络设备,或者还可以理解为一个网络节点上的逻辑功能,例如,服务器上的业务功能等,本实施例对此不进行特别限定。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

随着互联网的发展,通过互联网传递数据成为一种最为普遍的数据交换方式。随着数据的不断增加,所传输的数据量将会越来越大。常见的HTTP请求有两种,一种是HTTP的获取(GET)请求,另一种是HTTP的传送(POST)请求。很多时候,需要接收对方大量的数据,而这种数据很容易超过HTTP的GET请求对数据长度的限制例如1024字节等,甚至一些参数达到了几兆字节以上。而在SOA系统中,一个HTTP请求需要经过多个组件进行处理。然而,由于HTTP的POST请求对所传输的数据长度没有特殊限制,使得HTTP的POST请求所对应的SOA系统中的调用路径上的各个组件所传输的数据量可能会很大,甚至会超大,这样,会导致SOA系统的网络开销的增加。

同时,还可能会造成SOA系统内部的网络堵塞,甚至有可能出现网络风暴;以及还可能会导致SOA系统的处理效率的降低,以及SOA系统的业务性能的降低。

图1为本申请一实施例提供的一种SOA系统中的数据处理方法的流程示意图,如图1所示。

101、获取目标组件待发送的原始HTTP请求,所述原始HTTP请求中包含M个目标参数,M为大于或等于1的整数。

102、若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,为N个目标参数分配中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度,N为大于或等于1,且小于或等于M的整数。

103、利用所述N个目标参数所对应的中间参数对该目标参数进行参数替换处理,以获得转化HTTP请求,以供所述目标组件发送所述转化HTTP请求。

需要说明的是,101~103的执行主体可以为新增加的组件,或者还可以为目标组件中的插件或软件开发工具包(SoftwareDevelopmentKit,SDK)等功能单元,本实施例对此不进行特别限定。

这样,由于利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获得的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所发送的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

可选地,在本实施例的一个可能的实现方式中,所谓的目标组件,可以为所述原始HTTP请求所对应的SOA系统中的调用路径上除了最后一个组件之外的任意一个组件。具体地,确定SOA系统所接收到的一个HTTP请求即所述原始HTTP请求所对应的SOA系统中的调用路径,的详细描述可以参见现有技术中的相关内容,此处不再赘述。

一般来说,SOA系统所接收到的一个HTTP请求所对应的SOA系统中的调用路径上,可能只有最后一个组件需要对该HTTP请求中所包含的大量目标参数进行处理。因此,优选地,目标组件可以为所述原始HTTP请求所对应的SOA系统中的调用路径上的第一个组件。第一个组件以及第一个组件之后的其他组件,直接传输所述的转化HTTP请求即可。这样,原始HTTP请求所对应的SOA系统中的调用路径上的各个组件所传输的数据量都将减小,使得SOA系统中所传输的数据量大大减小,从而能够进一步减少SOA系统的网络开销。

可选地,在本实施例的一个可能的实现方式中,在101中,所获取的原始HTTP请求中所包含的目标参数,可以包括但不限于可扩展标记语言(eXtensibleMarkupLanguage,XML)格式数据、JavaScript对象标记(JavaScriptObjectNotation,JSON)格式数据、协议缓存(ProtocolBuffer,PB)格式数据或简单的键-值(Key-Value)格式数据,本实施例对此不进行特别限定。

可选地,在本实施例的一个可能的实现方式中,在102之前,还可以进一步根据SOA系统的应用需求,预先设置一个数据阈值,例如,1024字节等,以作为目标组件所接收的原始HTTP请求的数据长度是否超长或超大的一个判定标准。

可选地,在本实施例的一个可能的实现方式中,在102之前,还可以进一步确定所述原始HTTP请求的类型。若确定所述原始HTTP请求为除了HTTP的POST请求之外的其他HTTP请求,例如,HTTP的GET请求等,由于这些HTTP请求对所传输的数据长度均有特殊限制,例如,不超过1024字节等,因此,数据长度较长的参数则不会采用HTTP的GET请求进行传输,则无需继续执行102和103;若确定所述原始HTTP请求为HTTP的POST请求,由于HTTP的POST请求对所传输的数据长度没有特殊限制,因此,数据长度较长的参数则需要采用HTTP的GET请求进行传输,则可以继续执行102和103。

可选地,在本实施例的一个可能的实现方式中,在102中,具体可以为N个目标参数中每个目标参数分配一个唯一参数,以作为所述每个目标参数所对应的中间参数,所述每个目标参数的数据长度大于其所对应的中间参数的数据长度。

可选地,在本实施例的一个可能的实现方式中,在102中,具体可以为N个目标参数分配一个唯一参数,以作为所述N个目标参数所对应的中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度。

可选地,在本实施例的一个可能的实现方式中,在102中,具体可以为N个目标参数中几个(例如,2个或3个等)目标参数分配一个唯一参数,以作为所述几个目标参数所对应的中间参数,所述几个目标参数的数据长度大于其所对应的中间参数的数据长度。

可选地,在本实施例的一个可能的实现方式中,在102中,具体可以采用现有技术中生成唯一参数的方法。其中,唯一参数可以包括但不限于唯一参数的参数名和唯一参数的参数值。

例如,定义一个特殊标识,用以指示对应的参数为中间参数,并将其作为唯一参数的参数名,或者定义一个特殊标识,用以指示对应的参数为中间参数,并将特殊标识与所对应的目标参数的参数名进行组合,作为唯一参数的参数名,等等,本实施例对此不进行特别限定;以及利用数据库中所记录的主键ID作为唯一参数的参数值,或者对数据库中所记录的主键ID进行相关运算例如,哈希运算等,将运算结果作为唯一参数的参数值,或者还可以自定义一个自增的序列值,作为唯一参数的参数值,等等,本实施例对此不进行特别限定。

其中,所谓的特殊标识的具体形式,可以为数字和/或字母如123、abc或abc123等,或者还可以为HTTP所支持的其他字符,例如,?等,本实施例对此不进行特别限定。

可选地,在本实施例的一个可能的实现方式中,在102中,若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,具体可以从所述M个目标参数中选择数据长度满足预先设置的替换条件的目标参数,以作为所述N个目标参数,进而为所述N个目标参数分配中间参数。

具体地,所述替换条件可以包括如下:

数据长度大于或等于长度阈值;或者

以数据长度作为排序依据,前N个排序结果。

例如,遍历所述M个目标参数,获取遍历到的目标参数的数据长度,若遍历到的目标参数的数据长度大于或等于所述长度阈值,那么,则可以将其选择为N个目标参数的一个目标参数。

或者,再例如,遍历所述M个目标参数,获取遍历到的目标参数的数据长度,按照数据长度从大到小的顺序,对所述M个目标参数进行排序,那么,则可以将前N个排序结果选择为N个目标参数。

可以理解的是,在102之后,还可以进一步将所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系,提供给需要对目标参数进行处理的其他组件。具体的提供方式,可以包括两种。

一种为采用直接通知的方式,即直接将该对应关系发送给需要对目标参数进行处理的其他组件。例如,可以定义一个私有接口,用于专门传输该对应关系。

另一种为采用间接通知的方式,即对所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系,进行存储处理。这样,则可以供需要对目标参数进行处理的其他组件主动获取所存储的对应关系。

具体地,具体可以将所述N个目标参数,以及该N个目标参数所对应的中间参数,对应存储在数据库中或文件系统中。其中,所述目标参数可以包括但不限于目标参数的参数名和目标参数的参数值,本实施例对此不进行特别限定;所述中间参数可以包括但不限于中间参数的参数名和中间参数的参数值,本实施例对此不进行特别限定。

其中,所述数据库可以采用关系型数据库,例如,Oracle数据库、DB2数据库、结构化查询语言(StructuredQueryLanguage,SQL)服务器(Server)数据库、MySQL数据库等,或者还可以采用键值(Key-Value)型数据库,例如,非SQL(NotOnlySQL)NoSQL数据库、Redis数据库等,本实施例对此不进行特别限定。

例如,具体可以将所述每个目标参数的参数名和参数值,以及该目标参数所对应的中间参数的参数值,对应存储在数据库中或文件系统中。如可以以每个目标参数所对应的中间参数的参数值,作为Key;可以以该目标参数的参数名和参数值,作为Value,将二者对应存储在Key-Value型数据库中。

或者,再例如,具体可以将所述每个目标参数的参数名和参数值,以及该目标参数所对应的中间参数的参数名和参数值,对应存储在数据库中或文件系统中。如可以以每个目标参数所对应的中间参数的参数名和参数值,作为Key;可以以该目标参数的参数名和参数值,作为Value,将二者对应存储在Key-Value型数据库中。

可选地,在本实施例的一个可能的实现方式中,在103中,具体可以利用所述N个目标参数所对应的中间参数替换所述原始HTTP请求中所包含的该目标参数,以生成一个新的HTTP请求即转化HTTP。所述转化HTTP请求中包含所替换的N个中间参数。

本实施例中,通过获取目标组件待发送的原始HTTP请求,所述原始HTTP请求中包含M个目标参数,M为大于或等于1的整数,若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,则可以为N个目标参数分配中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度,N为大于或等于1,且小于或等于M的整数,使得能够利用所述N个目标参数所对应的中间参数对该目标参数进行参数替换处理,以获得转化HTTP请求,由于利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获得的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所发送的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,因此,能够有效避免SOA系统内部的网络堵塞,以及提高SOA系统的处理效率和业务性能。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,使得所对应的调用路径上的所有组件中并不是每个组件都需要传输原始HTTP请求中所包含的全部目标参数,因此,能够有效降低这些组件的硬件要求。

另外,采用本申请提供的技术方案,由于能够独立于目标组件的业务实现逻辑而实现,因此,没有对目标组件的业务实现逻辑产生任何影响。

图2为本申请另一实施例提供的另一种SOA系统中的数据处理方法的流程示意图,如图2所示。

201、获取目标组件待处理的转化HTTP请求,所述转化HTTP请求中包含M个处理参数,M为大于或等于1的整数。

202、从所述M个处理参数中,识别出N个中间参数,N为大于或等于1,且小于或等于M的整数。

203、获得与所述N个中间参数中每个中间参数所对应的目标参数,所述每个中间参数的数据长度小于其所对应的目标参数的数据长度。

204、利用所述每个中间参数所对应的目标参数分别对该中间参数进行参数替换处理,以获得原始HTTP请求,以供所述目标组件对所述原始HTTP请求进行业务处理。

需要说明的是,201~204的执行主体可以为新增加的组件,或者还可以为目标组件中的插件或软件开发工具包(SoftwareDevelopmentKit,SDK)等功能单元,本实施例对此不进行特别限定。

这样,由于其他组件利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获取的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所接收的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

可选地,在本实施例的一个可能的实现方式中,在201中,所述的转化HTTP请求可以为利用图1对应的实施例所提供的方法,生成。详细描述可以参见图1对应的实施例中的相关内容,此处不再赘述。

需要说明的是,本实施例中所述的目标组件,与图1对应的实施例中所述的目标组件,并不是同一个组件,二者分别指的是SOA系统中的调用路径上的两个组件。图1对应的实施例中所述的目标组件,负责将原始HTTP请求替换为转化HTTP请求,而图2对应的实施例中所述的目标组件,负责将转化HTTP请求还原为原始HTTP请求。

可选地,在本实施例的一个可能的实现方式中,所谓的目标组件,可以为所述转化HTTP请求所对应的SOA系统中的调用路径上除了第一个组件之外的任意一个组件。具体地,确定SOA系统所接收到的一个HTTP请求即所述原始HTTP请求所对应的SOA系统中的调用路径,的详细描述可以参见现有技术中的相关内容,此处不再赘述。

一般来说,SOA系统所接收到的一个HTTP请求所对应的SOA系统中的调用路径上,可能只有最后一个组件需要对该HTTP请求中所包含的大量目标参数进行处理。因此,优选地,目标组件可以为所述原始HTTP请求所对应的SOA系统中的调用路径上的最后一个组件。目标组件之前的其他组件均可以不再作为本实施例中所述的目标组件,这些组件都可以直接传输所接收到的转化HTTP请求即可。这样,SOA系统中的调用路径上的各个组件所传输的数据量都将减小,使得SOA系统中所传输的数据量大大减小,从而能够进一步减少SOA系统的网络开销。

可选地,在本实施例的一个可能的实现方式中,在202中,具体可以根据所述M个处理参数中每个处理参数的内容,识别出所述N个中间参数。

例如,假设定义一个特殊标识,用以指示对应的参数为中间参数,并将其作为中间参数的参数名。那么,则可以识别处理参数的参数名,是否为所定义的特殊标识,如果是,则将该处理参数识别为所述N个中间参数中的一个;否则,则忽略该处理参数。

可选地,在本实施例的一个可能的实现方式中,在202中,具体可以根据所述M个处理参数中每个处理参数的内容和所述目标组件待处理的目标参数的标识信息,识别出所述目标组件待处理的所述N个中间参数。

例如,假设定义一个特殊标识,用以指示对应的参数为中间参数,并将特殊标识与所对应的目标参数的参数名进行组合,作为中间参数的参数名。那么,则可以识别处理参数的参数名中,是否包含所定义的特殊标识,且是否包含目标组件待处理的目标参数的参数名,如果是,则将该处理参数识别为所述目标组件待处理的所述N个中间参数中的一个;否则,则忽略该处理参数。

可选地,在本实施例的一个可能的实现方式中,在203中,具体可以根据目标参数,以及该目标参数所对应的中间参数,之间的对应关系,获得与所述N个中间参数中每个中间参数所对应的目标参数。

其中,所述对应关系的获取方式,可以包括两种。

一种为采用直接通知的方式,即直接接收该对应关系。例如,可以定义一个私有接口,用于专门传输该对应关系。

另一种为采用间接通知的方式,即从所存储的数据中,获取该对应关系。

在具体的一个实现方式中,具体可以根据中间参数的参数值,或者根据中间参数的参数名和参数值,在所获取的数据中进行查找,获得所对应的目标参数。

可选地,在本实施例的一个可能的实现方式中,在204中,具体可以利用所述每个中间参数所对应的目标参数替换所述转化HTTP请求中所包含的该中间参数,以还原出一个新的HTTP请求即原始HTTP。所述原始HTTP请求中包含所替换的N个目标参数。

由于除了HTTP的POST请求之外的其他HTTP请求,例如,HTTP的GET请求等,对所传输的数据长度均有特殊限制,例如,不超过1024字节等,因此,数据长度较长的参数则不会采用HTTP的GET请求进行传输,那么,在201中,所获取的转化HTTP请求则为HTTP的POST请求,这样,才有继续执行202~204的必要。

本实施例中,通过从所获取的目标组件待处理的转化HTTP请求中所包含的M个处理参数中,识别出N个中间参数,M为大于或等于1的整数,N为大于或等于1,且小于或等于M的整数,进而获得与所述N个中间参数中每个中间参数所对应的目标参数,所述每个中间参数的数据长度小于其所对应的目标参数的数据长度,使得能够利用所述每个中间参数所对应的目标参数分别对该中间参数进行参数替换处理,以获得原始HTTP请求,由于其他组件利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获取的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所接收的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,因此,能够有效避免SOA系统内部的网络堵塞,以及提高SOA系统的处理效率和业务性能。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,使得所对应的调用路径上的所有组件中并不是每个组件都需要传输原始HTTP请求中所包含的全部目标参数,因此,能够有效降低这些组件的硬件要求。

另外,采用本申请提供的技术方案,由于能够独立于目标组件的业务实现逻辑而实现,因此,没有对目标组件的业务实现逻辑产生任何影响。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

图4为本申请另一实施例提供的一种SOA系统中的数据处理装置的结构示意图,如图4所示。本实施例的SOA系统中的数据处理装置可以包括获取单元31、分配单元32和替换单元33。其中,获取单元31,用于获取目标组件待发送的原始HTTP请求,所述原始HTTP请求中包含M个目标参数,M为大于或等于1的整数;分配单元32,用于若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,为N个目标参数分配中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度,N为大于或等于1,且小于或等于M的整数;替换单元33,用于利用所述N个目标参数所对应的中间参数对该目标参数进行参数替换处理,以获得转化HTTP请求,以供所述目标组件发送所述转化HTTP请求。

需要说明的是,本实施例所提供的SOA系统中的数据处理装置可以为新增加的组件,或者还可以为目标组件中的插件或软件开发工具包(SoftwareDevelopmentKit,SDK)等功能单元,本实施例对此不进行特别限定。

可选地,在本实施例的一个可能的实现方式中,如图4所示,本实施例所提供的SOA系统中的数据处理装置还可以进一步包括存储单元41,用于对所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系,进行存储处理。

具体地,所述存储单元41,具体可以用于将所述N个目标参数,以及该N个目标参数所对应的中间参数,对应存储在数据库中或文件系统中。

可选地,在本实施例的一个可能的实现方式中,所述分配单元42,具体可以用于若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,从所述M个目标参数中选择数据长度满足预先设置的替换条件的目标参数,以作为所述N个目标参数;以及为所述N个目标参数分配中间参数。

具体地,所述替换条件可以包括如下:

数据长度大于或等于长度阈值;或者

以数据长度作为排序依据,前N个排序结果。

可选地,在本实施例的一个可能的实现方式中,如图5所示,本实施例所提供的SOA系统中的数据处理装置还可以进一步包括确定单元51,用于确定所述原始HTTP请求为HTTP的POST请求。

需要说明的是,图1对应的实施例中方法,可以由本实施例提供的SOA系统中的数据处理装置实现。详细描述可以参见图1对应的实施例中的相关内容,此处不再赘述。

本实施例中,通过获取单元获取目标组件待发送的原始HTTP请求,所述原始HTTP请求中包含M个目标参数,M为大于或等于1的整数,分配单元若所述原始HTTP请求的数据长度大于或等于预先设置的数据阈值,则可以为N个目标参数分配中间参数,所述N个目标参数的数据长度大于其所对应的中间参数的数据长度,N为大于或等于1,且小于或等于M的整数,使得替换单元能够利用所述N个目标参数所对应的中间参数对该目标参数进行参数替换处理,以获得转化HTTP请求,由于利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获得的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所发送的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,因此,能够有效避免SOA系统内部的网络堵塞,以及提高SOA系统的处理效率和业务性能。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,使得所对应的调用路径上的所有组件中并不是每个组件都需要传输原始HTTP请求中所包含的全部目标参数,因此,能够有效降低这些组件的硬件要求。

另外,采用本申请提供的技术方案,由于能够独立于目标组件的业务实现逻辑而实现,因此,没有对目标组件的业务实现逻辑产生任何影响。

图6为本申请另一实施例提供的另一种SOA系统中的数据处理装置的结构示意图,如图6所示。本实施例的SOA系统中的数据处理装置可以包括获取单元61、识别单元62、对应单元63和替换单元64。其中,获取单元61,用于获取目标组件待处理的转化HTTP请求,所述转化HTTP请求中包含M个处理参数,M为大于或等于1的整数;识别单元62,用于从所述M个处理参数中,识别出N个中间参数,N为大于或等于1,且小于或等于M的整数;对应单元63,用于获得与所述N个中间参数中每个中间参数所对应的目标参数,所述每个中间参数的数据长度小于其所对应的目标参数的数据长度;替换单元64,用于利用所述每个中间参数所对应的目标参数分别对该中间参数进行参数替换处理,以获得原始HTTP请求,以供所述目标组件对所述原始HTTP请求进行业务处理。

需要说明的是,本实施例所提供的SOA系统中的数据处理装置可以为新增加的组件,或者还可以为目标组件中的插件或软件开发工具包(SoftwareDevelopmentKit,SDK)等功能单元,本实施例对此不进行特别限定。

可选地,在本实施例的一个可能的实现方式中,所述识别单元62,具体可以用于根据所述M个处理参数中每个处理参数的内容,识别出所述N个中间参数。

可选地,在本实施例的一个可能的实现方式中,所述识别单元62,具体可以用于根据所述M个处理参数中每个处理参数的内容和所述目标组件待处理的目标参数的标识信息,识别出所述目标组件待处理的所述N个中间参数。

由于除了HTTP的POST请求之外的其他HTTP请求,例如,HTTP的GET请求等,对所传输的数据长度均有特殊限制,例如,不超过1024字节等,因此,数据长度较长的参数则不会采用HTTP的GET请求进行传输,那么,所述获取单元61所获取的转化HTTP请求则为HTTP的POST请求,这样,才有其他单元执行相应操作的必要。

可选地,在本实施例的一个可能的实现方式中,所述对应单元63,具体可以用于根据目标参数,以及该目标参数所对应的中间参数,之间的对应关系,获得与所述N个中间参数中每个中间参数所对应的目标参数。

可选地,在本实施例的一个可能的实现方式中,所述获取单元61所获取的转化HTTP请求可以为利用图3~图5所对应的实施例中任一实施例所提供的装置,生成。详细描述可以参见图3~图5所对应的实施例中任一实施例中的相关内容,此处不再赘述。

需要说明的是,图2对应的实施例中方法,可以由本实施例提供的SOA系统中的数据处理装置实现。详细描述可以参见图2对应的实施例中的相关内容,此处不再赘述。

本实施例中,通过识别单元从获取单元所获取的目标组件待处理的转化HTTP请求中所包含的M个处理参数中,识别出N个中间参数,M为大于或等于1的整数,N为大于或等于1,且小于或等于M的整数,进而由对应单元获得与所述N个中间参数中每个中间参数所对应的目标参数,所述每个中间参数的数据长度小于其所对应的目标参数的数据长度,使得替换单元能够利用所述每个中间参数所对应的目标参数分别对该中间参数进行参数替换处理,以获得原始HTTP请求,由于其他组件利用数据长度较小的中间参数替换原始HTTP请求中所包含的数据长度较大的目标参数,使得所获取的转化HTTP请求的数据长度相比原始HTTP请求的数据长度有所减小,因此,所述目标组件所接收的数据量会减小,使得SOA系统中所传输的数据量减小,从而减少了SOA系统的网络开销。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,因此,能够有效避免SOA系统内部的网络堵塞,以及提高SOA系统的处理效率和业务性能。

另外,采用本申请提供的技术方案,由于能够使得SOA系统中所传输的数据量减小,使得所对应的调用路径上的所有组件中并不是每个组件都需要传输原始HTTP请求中所包含的全部目标参数,因此,能够有效降低这些组件的硬件要求。

另外,采用本申请提供的技术方案,由于能够独立于目标组件的业务实现逻辑而实现,因此,没有对目标组件的业务实现逻辑产生任何影响。

图7为本申请另一实施例提供的一种SOA系统的结构示意图,如图7所示。本实施例的SOA系统可以包括存储装置71和图3、图4和图5对应的实施例中任一实施例所提供的SOA系统中的数据处理装置72。其中,所述存储装置71,用于存储所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系。

需要说明的是,SOA系统可以包括存储装置71可以为新增加的组件,也就是说,与目标组件73独立设置,或者还可以为所述目标组件73中的插件或软件开发工具包(SoftwareDevelopmentKit,SDK)等功能单元,也就是说,与目标组件73一体化设置,本实施例对此不进行特别限定。

可以理解的是,与目标组件73共同组成一个调用路径的其他组件74的数目可以根据实际情况确定,本实施例对此不进行特别限定。

需要说明的是,SOA系统中的数据处理装置72的相关描述,具体可以参见图3、图4和图5对应的实施例中的内容,此处不再赘述。

图8为本申请另一实施例提供的一种SOA系统的结构示意图,如图8所示。本实施例的SOA系统可以包括存储装置81和图6对应的实施例所提供的SOA系统中的数据处理装置82。其中,所述存储装置81,用于存储所述N个目标参数,以及该N个目标参数所对应的中间参数,之间的对应关系。

需要说明的是,SOA系统可以包括存储装置81可以为新增加的组件,也就是说,与目标组件83独立设置,或者还可以为所述目标组件83中的插件或软件开发工具包(SoftwareDevelopmentKit,SDK)等功能单元,也就是说,与目标组件83一体化设置,本实施例对此不进行特别限定。

可以理解的是,与目标组件83共同组成一个调用路径的其他组件84的数目可以根据实际情况确定,本实施例对此不进行特别限定。

需要说明的是,SOA系统中的数据处理装置82的相关描述,具体可以参见图6对应的实施例中的内容,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号