webService中soap消息的效率优化装置及方法制造方法及图纸

技术编号:10499701 阅读:153 留言:0更新日期:2014-10-04 16:19
本发明专利技术提供了一种webService中soap消息的效率优化装置,包括:服务请求端,用于发出soap请求消息,在获得资源路径时向远程数据服务器请求资源;业务服务器,用于根据soap请求消息,准备业务数据,检查待返回的数据是否满足向远程数据服务器存储托管的要求,根据检查结果进行处理;远程数据服务器,用于接收资源标识,检查本地是否已经缓存过这个资源,根据检查结果继续处理。本发明专利技术还提供了一种webService中soap消息的效率优化方法。通过本发明专利技术的技术方案,可以在现有的效率优化方式基础上,充分利用单对象类型完成多对象类型效率优化,建立多对象类型参与的效率优化的通用、统一优化思路。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体地,涉及一种webService中soap消息的效率优化装置和一种webService中soap消息的效率优化方法。
技术介绍
webservice技术在ERP系统中已经被广泛的使用。在传统的webservice中依靠soap消息传递数据。soap消息使用xml格式,xml消息是比较冗长的。而且在soap消息中,目前不只有简单的数据,而且会有一些复杂类型的数据,比如报表记录,复杂对象以及数据结构等等,还可以包括图像,视频,音频等多媒体数据。并且,在ERP系统中,经常会有短暂的业务高峰期,而在这个时期,某些业务会被频繁的调用,比如月底的业务高峰期,大量的报表数据会使得网络承受很大的压力,如何改善webService的传输效率,尤其是在大数据场景下的效率,使在较低的网络配置下,仍然能正常支持这种业务并保证性能。这是本文的立足点和待解决的问题。 目前对于复杂对象的传输,一般米用两种方式:⑴直接使用xml表示数据:这种方式中,通过分解复杂类型的对象到基本类型,然后直接用xml来表达一个对象。 ⑵序列化对象的方式:在这种方式中,需要先把对象序列化然后传输给对方,对方需要把对象反序列化,这种方式比较消耗系统资源。 另外,如果要在xml中表达多媒体数据,如图像、音频、视频等数据,这样就比较复杂,目前业内一般米用两种方式传输BLOB和CLOB数据:(I)用BASE64编码,把要传输的数据直接作为soap消息中body的一部分;这种方式的基本过程是:在服务器端读取目标BLOB资源(一般是序列化的对象,或者多媒体资源),将其保存在byte[]数据中。使用BASE64EnCoder编码器将byte[]编码为String。当收到客户端对此资源的请求时,就返回这个String。客户端从soap消息中读取这个String后,再使用BASE64Decoder将此String解码为byte []。对byte []进行处理还原。 ⑵作为MME附件,附加在soap消息中。 无论采用哪种方式,都会产生一系列的问题,首先如果在业务高峰期,会有大量的重复数据传输,这样,多次的重复传输会大大增加业务服务器的压力。其次,业务服务器在收到多个服务请求,传输远程对象,稳定性也无法保证,这里是有很大的改进余地的。 因此,需要一种新的webService中soap消息的效率优化技术,可以在现有的webService中soap消息的效率优化方式基础上,充分利用单对象类型完成多对象类型webService中soap消息的效率优化,建立多对象类型参与的webService中soap消息的效率优化的通用、统一优化思路。
技术实现思路
本专利技术正是基于上述问题,提出了一种新的webservice中soap消息的效率优化技术,可以在现有的webService中soap消息的效率优化方式基础上,充分利用单对象类型完成多对象类型webService中soap消息的效率优化,建立多对象类型参与的webService中soap消息的效率优化的通用、统一优化思路。 有鉴于此,本专利技术提出了一种webService中soap消息的效率优化装置,包括:月艮务请求端,用于发出soap请求消息到业务服务器;以及,用于在从业务服务器获得资源路径时,根据资源路径向远程数据服务器请求资源;业务服务器,用于根据soap请求消息,准备业务数据,根据检查结果向客户端直接返回数据或向远程数据服务器传输资源标识;以及,用于在收到远程数据服务器返回的资源路径时,直接返回给服务请求端;否则,将准备好的业务数据传输给远程数据服务器;远程数据服务器,用于接收资源标识,检查本地是否已经缓存过这个资源,如果在本地发现资源,则直接返回资源路径;否则,返回给业务服务器响应,准备接收业务数据;以及,用于在接收到业务数据后,进行存储,并返回资源路径给业务服务器。在该技术方案中,可以减轻业务服务器压力的soap消息传输机制,并且可以增加消息传输的稳定性。 在上述技术方案中,优选地,所述服务请求端,具体包括:请求发送模块,用于发出soap请求消息到业务服务器;资源路径获取及资源请求模块,用于在从业务服务器获得资源路径时,根据资源路径向远程数据服务器请求资源。在该技术方案中,利用soap消息传输机制,一方面可以减轻业务服务器压力,另外也可以增加消息传输的稳定性和可靠性。 在上述技术方案中,优选地,所述业务服务器,具体包括:业务数据准备模块,用于根据soap请求消息,准备业务数据,检查待返回的数据是否满足向远程数据服务器存储托管的要求;检查结果执行模块,用于根据检查结果向客户端直接返回数据或向远程数据服务器传输资源标识;资源路径接收及转发模块,用于在收到远程数据服务器返回的资源路径时,直接返回给服务请求端;待发业务数据传输模块,用于在未收到远程数据服务器返回的资源路径时,将准备好的业务数据传输给远程数据服务器。在该技术方案中,业务服务器可以专注于web服务中的业务计算,使得分工更加明显,结构更加清晰;同时业务服务器的压力也大大的降低,并且可以提高数据传输的稳定性。 在上述技术方案中,优选地,所述远程数据服务器,具体包括:资源标识接收及缓存信息检查模块,用于接收资源标识,检查本地是否已经缓存过这个资源;缓存信息检查结果执行模块,用于在本地发现资源时,直接返回资源路径给业务服务器;以及,在本地未发现资源时,返回给业务服务器响应,准备接收业务数据;业务数据接收、存储及返回资源路径模块,用于在接收到业务数据后,进行存储,并返回资源路径给业务服务器。在该技术方案中,数据服务器采用缓存策略,可以保证短期内的重复请求的资源可以被复用;并且保持资源的退出机制,以保证足够的空间和防止资源版本的过期;这里的数据存储服务可以由FTP服务器来完成,也可以由分布式存储系统来完成。 在上述技术方案中,优选地,所述业务服务器中的检查结果执行模块,具体包括:直接返回数据子模块,用于在不需要远程数据服务器介入时,直接向服务请求端返回数据;资源标识传输子模块,用于在需要远程数据服务器介入时,将相应资源的唯一标识传输给远程数据服务器,以检查是否需要对该资源重新存储;和/或,所述业务服务器中的业务数据准备模块检查待返回的数据是否满足向远程数据服务器存储托管的要求的操作,具体包括:根据数据类型结构和web服务的业务含义,确定相应数据是否是可以进行数据存储的资源,并且需要设置阈值,只有在相应资源的大小高于该阈值的情况下,才对该资源进行远程的存储托管的处理;和/或,所述远程数据服务器中的缓存信息检查结果执行模块,具体包括:资源路径返回子模块,用于在本地发现资源时,直接返回资源路径给业务服务器;响应返回及业务数据准备接收子模块,用于在本地未发现资源时,返回给业务服务器响应,准备接收业务数据。 根据本专利技术的又一个方面,还提出了一种webService中soap消息的效率优化方法,包括:步骤202:服务请求端即客户端发出soap请求消息到业务服务器;步骤204:业务服务器根据soap请求消息,准备业务数据,检查待返回的数据是否满足向远程数据服务器存储托管的要求,根据检查本文档来自技高网
...

【技术保护点】
一种webService中soap消息的效率优化装置,其特征在于,包括:服务请求端,用于发出soap请求消息到业务服务器;以及,用于在从业务服务器获得资源路径时,根据资源路径向远程数据服务器请求资源;业务服务器,用于根据soap请求消息,准备业务数据,根据检查结果向客户端直接返回数据或向远程数据服务器传输资源标识;以及,用于在收到远程数据服务器返回的资源路径时,直接返回给服务请求端;否则,将准备好的业务数据传输给远程数据服务器;远程数据服务器,用于接收资源标识,检查本地是否已经缓存过这个资源,如果在本地发现资源,则直接返回资源路径;否则,返回给业务服务器响应,准备接收业务数据;以及,用于在接收到业务数据后,进行存储,并返回资源路径给业务服务器。

【技术特征摘要】
1.一种webService中soap消息的效率优化装置,其特征在于,包括: 服务请求端,用于发出soap请求消息到业务服务器;以及, 用于在从业务服务器获得资源路径时,根据资源路径向远程数据服务器请求资源;业务服务器,用于根据soap请求消息,准备业务数据,根据检查结果向客户端直接返回数据或向远程数据服务器传输资源标识;以及, 用于在收到远程数据服务器返回的资源路径时,直接返回给服务请求端;否则,将准备好的业务数据传输给远程数据服务器; 远程数据服务器,用于接收资源标识,检查本地是否已经缓存过这个资源,如果在本地发现资源,则直接返回资源路径;否则,返回给业务服务器响应,准备接收业务数据;以及,用于在接收到业务数据后,进行存储,并返回资源路径给业务服务器。2.根据权利要求1所述的webService中soap消息的效率优化装置,其特征在于,所述服务请求端,具体包括: 请求发送模块,用于发出soap请求消息到业务服务器; 资源路径获取及资源请求模块,用于在从业务服务器获得资源路径时,根据资源路径向远程数据服务器请求资源。3.根据权利 要求1所述的webService中soap消息的效率优化装置,其特征在于,所述业务服务器,具体包括: 业务数据准备模块,用于根据soap请求消息,准备业务数据,检查待返回的数据是否满足向远程数据服务器存储托管的要求; 检查结果执行模块,用于根据检查结果向客户端直接返回数据或向远程数据服务器传输资源标识; 资源路径接收及转发模块,用于在收到远程数据服务器返回的资源路径时,直接返回给服务请求端; 待发业务数据传输模块,用于在未收到远程数据服务器返回的资源路径时,将准备好的业务数据传输给远程数据服务器。4.根据权利要求1-3中任一项所述的webService中soap消息的效率优化装置,其特征在于,所述远程数据服务器,具体包括: 资源标识接收及缓存信息检查模块,用于接收资源标识,检查本地是否已经缓存过这个资源; 缓存信息检查结果执行模块,用于在本地发现资源时,直接返回资源路径给业务服务器;以及,在本地未发现资源时,返回给业务服务器响应,准备接收业务数据; 业务数据接收、存储及返回资源路径模块,用于在接收到业务数据后,进行存储,并返回资源路径给业务服务器。5.根据权利要求4所述的webService中soap消息的效率优化装置,其特征在于,所述业务服务器中的检查结果执行模块,具体包括: 直接返回数据子模块,用于在不需要远程数据服务器介入时,直接向服务请求端返回数据; 资源标识传输子模块,用于在需要远程数据服务器介入时,将相应资源的唯一标识传输给远程数据服务器,以检查是否需要对该资源重新存储;和/或, 所述业务服务器中的业务数据准备模块检查待返回的数据是否满足向远程数据服务器存储托管的要求...

【专利技术属性】
技术研发人员:丁贤明
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1