【技术实现步骤摘要】
本专利技术涉及计算机
,具体地,涉及一种webService中soap消息的效率优化装置和一种webService中soap消息的效率优化方法。
技术介绍
webservice技术在ERP系统中已经被广泛的使用。在传统的webservice中依靠soap消息传递数据。soap消息使用xml格式,xml消息是比较冗长的。而且在soap消息中,目前不只有简单的数据,而且会有一些复杂类型的数据,比如报表记录,复杂对象以及数据结构等等,还可以包括图像,视频,音频等多媒体数据。并且,在ERP系统中,经常会有短暂的业务高峰期,而在这个时期,某些业务会被频繁的调用,比如月底的业务高峰期,大量的报表数据会使得网络承受很大的压力,如何改善webService的传输效率,尤其是在大数据场景下的效率,使在较低的网络配置下,仍然能正常支持这种业务并保证性能。这是本文的立足点和待解决的问题。 目前对于复杂对象的传输,一般米用两种方式:⑴直接使用xml表示数据:这种方式中,通过分解复杂类型的对象到基本类型,然后直接用xml来表达一个对象。 ⑵序列化对象的方式:在这种方式中,需要先把对象序列化然后传输给对方,对方需要把对象反序列化,这种方式比较消耗系统资源。 另外,如果要在xml中表达多媒体数据,如图像、音频、视频等数据,这样就比较复杂,目前业内一般米用两种方式传输BLOB和CLOB数据:(I)用BASE64编码,把要传输的数据直接作为soap消息中body的一部分;这种方式的基本过程是:在服务器端读取目标BLOB资源(一般是序列化的对象, ...
【技术保护点】
一种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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。