CN114416404A - 一种远程过程调用方法及装置 - Google Patents
一种远程过程调用方法及装置 Download PDFInfo
- Publication number
- CN114416404A CN114416404A CN202210099413.4A CN202210099413A CN114416404A CN 114416404 A CN114416404 A CN 114416404A CN 202210099413 A CN202210099413 A CN 202210099413A CN 114416404 A CN114416404 A CN 114416404A
- Authority
- CN
- China
- Prior art keywords
- remote procedure
- procedure call
- request
- result data
- returned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 195
- 239000000344 soap Substances 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 abstract description 13
- 230000004044 response Effects 0.000 abstract description 12
- 238000007405 data analysis Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 239000000872 buffer Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种远程过程调用方法及装置,涉及大数据技术,方法包括:接收用户的远程过程调用请求及返回的请求结果数据;判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用。本发明引入的缓存机制相较于传统的利用SOAP协议调用再解析数据得到结果可以有效的减少数据解析造成的时间损耗,有效的降低了调用链路时间损耗,提高了程序响应速度。
Description
技术领域
本发明涉及大数据技术,特别是关于资源调度技术领域,具体的讲是的一种远程过程调用方法及装置。
背景技术
随着分布式系统的发展,用户对于数据传输的需求变得多样化,在大型分布式系统中通常需要不同的通信方式。RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。
为了使网络通信更加透明,RPC为通信程序之间携带信息数据。在OSI网络七层模型中,RPC跨越了传输层和应用层,RPC使得开发,包括网络分布式多程序在内的应用程序更加容易。
但在使用soap协议进行远程过程调用时请求的数据量不定,当请求的数据量返回较大且XML层级较多时,可能会造成解析XML的时间过长。
发明内容
针对现有技术中远程过程调用存在的缺陷,为至少解决其中一技术问题,本发明提供了一种远程过程调用方法,利用soap协议进行远程过程调用,包括:
接收用户的远程过程调用请求及返回的请求结果数据;
判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;
确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用结果。
本发明实施例中,所述的方法还包括:
确定不存在所述的远程过程调用请求及返回的请求结果数据,则根据返回的请求结果数据生成Java对象;
根据所述的远程过程调用请求及返回的请求结果数据将生成的Java对象存储至所述的缓存系统。
本发明实施例中,所述的缓存系统包括:MemCache、Redis。
本发明实施例中,所述的方法判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据包括:
将所述的远程过程调用请求作为键值对的键查询所述的缓存系统,获取缓存系统中对应当前键值对的值;
判断获取的缓存系统中对应当前键值对的值与返回的请求结果数据是否相同。
本发明实施例中,所述的确定不存在所述的远程过程调用请求及返回的请求结果数据,则根据返回的请求结果数据生成Java对象包括:
对返回的结果数据进行递归处理,生成Java对象。
本发明实施例中,所述的根据所述的远程过程调用请求及返回的请求结果数据将生成的Java对象存储至所述的缓存系统包括:
将远程过程调用请求作为键值对的键,返回的请求结果数据作为键值对的值;
将生成的键值对和生成的Java对象存储至所述的缓存系统。
本发明实施例中,所述的返回的请求结果数据为xml格式数据。
同时,本发明还提供一种远程过程调用装置,利用soap协议进行远程过程调用,装置包括:
数据接收模块,用于接收用户的远程过程调用请求及返回的请求结果数据;
判断模块,用于判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;
调用结果生成模块,用于确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用结果。
本发明实施例中,所述的装置还包括:
对象生成模块,用于确定不存在所述的远程过程调用请求及返回的请求结果数据,则根据返回的请求结果数据生成Java对象;
缓存处理模块,用于根据所述的远程过程调用请求及返回的请求结果数据将生成的Java对象存储至所述的缓存系统。
本发明实施例中,所述的判断模块包括:
查询单元,用于将所述的远程过程调用请求作为键值对的键查询所述的缓存系统,获取缓存系统中对应当前键值对的值;
比较单元,用于判断获取的缓存系统中对应当前键值对的值与返回的请求结果数据是否相同。
本发明实施例中,所述的缓存处理模块包括:
键值生成单元,用于将远程过程调用请求作为键值对的键,返回的请求结果数据作为键值对的值;
缓存单元,用于将生成的键值对和生成的Java对象存储至所述的缓存系统。
同时,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。
同时,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。
本发明提供的远程过程调用方法及装置,接收用户的远程过程调用请求及返回的请求结果数据,确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用。引入的缓存机制相较于传统的利用SOAP协议调用再解析数据得到结果可以有效的减少数据解析造成的时间损耗,有效的降低了调用链路时间损耗,提高了程序响应速度。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的远程过程调用方法的流程图;
图2为本发明实施例中的流程图;
图3为本发明实施例中的示意图;
图4为本发明提供的远程过程调用装置的框图;
图5为本发明实施例中的框图;
图6为本发明实施例中的框图;
图7为本发明实施例中的框图;
图8为本发明实施例提供的电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
如图1所示,本发明提供了一种远程过程调用方法,利用soap协议进行远程过程调用,该方法包括:
步骤S101,接收用户的远程过程调用请求及返回的请求结果数据;
步骤S102,判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;
步骤S103,确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用结果。
本发明提供的远程过程调用方法,接收用户的远程过程调用请求及返回的请求结果数据,确定存在远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用。引入的缓存机制相较于传统的利用SOAP协议调用再解析数据得到结果可以有效的减少数据解析造成的时间损耗,有效的降低了调用链路时间损耗,提高了程序响应速度。
另外,本发明实施例中,所述的缓存系统包括:MemCache、Redis。
其中,MemCache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的哈希表,能够用来存储各种格式的数据,简单的说,就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
Redis是一个key-value存储系统。和MemCache类似,它支持存储的value类型相对更多,包括:字符串、链表、集合、哈希类型。
本发明提供的远程过程调用方法,接收到远程过程调用请求及返回的请求结果数据后,先查询缓存系统MemCache是否存在该远程过程调用请求及返回的请求结果数据,若存在则直接从缓存系统Redis中获取对应的Java对象,无需对返回的请求结果数据进行解析获得Java对象,从而可以有效的减少XML数据解析造成的时间损耗。
确定缓存系统MemCache不存在该远程过程调用请求及返回的请求结果数据,将远程调用请求的参数和返回的结果作为缓存的key和value存入缓存系统MemCache,将xml格式的数据进行递归处理后生成Java对象,将生成的Java对象作为调用结果,并将生成的Java对象存入Redis中。
经过大量的调用测试,未引入缓存机制从利用SOAP协议调用到最后得到java对象结果平均时间为0.05ms,利用本发明提供的方法引入缓存机制后能把平均调用时间减小到0.015ms左右,由此可见,本发明可以有效的减少XML数据解析造成的时间损耗。
如图2所示,为本发明一实施例提供的远程调用过程中,对SOAP协议的XML返回结果处理过程流程图。
远程调用请求返回结果后,将请求的参数和返回的结果作为缓存的key和value存储至MemCache中;
再次进行远程调用请求时,比较请求参数和返回的结果与缓存中是否相同;
确定相同,则直接从Redis中取Java对象key相同的对象作为结果;
确定不同,则首先更新MemCache中该入参key对应的value,其次将xml格式的数据进行递归处理,生成一个Java对象存入Redis中。
本发明实施例中提供的基于SOAP(simple object access protocol,简单对象传输协议)协议的远程过程调用是Web Service的通信协议,是基于XML语言和XSD标准,其定义了一套编码规则,编码规则定义了如何将数据表示为消息,以及如何通过HTTP协议来传输SOAP消息,由四部分组成:
(1)SOAP信封(Envelope):定义了一个框架,框架描述了消息中的内容是什么,包括消息的内容、发送者、接收者、处理者以及如何处理消息。
(2)SOAP编码规则:定义了一种系列化机制,用于交换应用程序所定义的数据类型的实例。
(3)SOAP RPC表示:定义了用于表示远程过程调用和应答协定。
(4)SOAP绑定:定义了一种使用底层传输协议来完成在节点间交换SOAP信封的约定。
本发明实施例中使用的基于soap协议的远程过程调用具有如下优点:
(1)采用xml支持跨平台远程调用。
(2)基于http的soap协议,可跨越防火墙。
(3)支持面向对象开发。
(4)SOAP简单并可扩展,有利于软件和数据重用,实现松耦合。
SOAP(simple object access protocol,简单对象传输协议)协议的请求链路和响应链路如图3所示,图3中的每个方框都表示SOAP结点,也就是SOAP消息路径的逻辑实体,用于进行消息路由或处理。SOAP结点可以是SOAP消息的发送者、接收方、消息中介。
在SOAP消息模型中,中间方为一种SOAP结点,负责提供发送消息的应用程序和接收方间的消息交换和协议路由功能。中间方结点驻留在发送结点和接收结点之间,负责处理SOAP消息头中定义的部分消息。SOAP发送方和接收方之间可以有0个或多个SOAP中间方,为SOAP接收方提供分布式处理机制。SOAP结点表示SOAP消息路径的逻辑实体,用于进行消息路由或处理。SOAP结点可以是SOAP消息的发送者、接收方、消息中介。
SOAP协议的消息是基于XML的跨语言协议,每一个SOAP协议都是一个XML文档,它包括以下几个部分:
1、Envelope(信封)元素,为必选元素,用于把XML文档标识为一条SOAP消息,并且描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们。
2、Header(报头)元素,为可选元素,头部信息(包含了使消息在到达最终目的地之前,能够被路由到一个或多个中间节点的信息,可能会定义认证信息、事务信息、本地信息)。
3、Body(主体)元素,必选,包含所有的调用和响应信息。
4、Fault元素,位于Body内,可选,提供有关处理此消息所发生错误的信息。
5、Attachment(附件)元素,可选,可通过添加一个或多个附件扩展SOAP消息。
入参中包含了信封标签,头标签,主体body标签,body标签中包含了查询校验用户名和密码、企业名称和统一信用代码信息。由此基于SOAP协议和传递参数生成了一个XML数据,对平台发送http请求时设置请求超时时间、设置请求URL、Content-Type为text/xml、设置请求头为调用企业信息对应的请求接口,然后设置http的post请求实体XML数据。最后关闭http连接解析返回的XML格式数据。
出参中只有信封标签和主体标签,返回的信息存在主体标签中。将主体标签中的JSON格式的数据对象化便完成了这次远程过程调用。
调用时生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web服务请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web服务,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。
于是开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为远程调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。
由于在使用soap协议进行远程过程调用时请求的数据量不定,当请求的数据量返回较大且XML层级较多时,可能会造成解析XML的时间过长,本发明实施例中引进缓存机制对SOAP协议的请求结果解析,有效的提高了数据处理的速度。
本发明针对传统远程过程调用方法对编程语言强关联、难以扩展等缺点,提出了一种基于SOAP协议的远程过程调用方法,利用HTTP作为底层通讯协议;RPC作为远程调用途径,XML作为数据传送的格式。
将请求的参数和利用SOAP协议请求的结果分别作为key和value存入缓存MemCache;再次利用SOAP协议进行请求时将请求的结果和MemCache中对应的value做比较;
如果比较结果相同,则直接取Redis中的java对象作为结果输出。
如果比较结果不相同,则首先更新缓存MemCache的key和value,然后将解析利用SOAP协议请求得到的结果,由于XML格式的结果数据量可能较大且层级较深,需要进行多次的递归调用,解析数据相对会耗费较长的时间,最后将解析后的java对象存入Redis并输出。
本发明引入的缓存机制相较于传统的利用SOAP协议调用再解析数据得到结果可以有效的减少XML数据解析造成的时间损耗,经过大量的调用测试,未引入缓存机制从利用SOAP协议调用到最后得到java对象结果平均时间为0.05ms,引入缓存机制后能把平均调用时间减小到0.015ms左右,有效的降低了调用链路时间损耗,提高了程序响应速度。
本发明实施例中提供的利用soap协议实现的远程过程调用,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。该方法独立于平台和编程语言,具备较高的扩展性,调用过程对用户透明。
同时,本发明还提供一种远程过程调用装置,利用soap协议进行远程过程调用,如图4所示,该装置包括:
数据接收模块401,用于接收用户的远程过程调用请求及返回的请求结果数据;
判断模块402,用于判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;
调用结果生成模块403,用于确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用结果。
进一步,如图5所示,本发明实施例中,所述的装置还包括:
对象生成模块404,用于确定不存在所述的远程过程调用请求及返回的请求结果数据,则根据返回的请求结果数据生成Java对象;
缓存处理模块405,用于根据所述的远程过程调用请求及返回的请求结果数据将生成的Java对象存储至所述的缓存系统。
本发明实施例中,如图6所示,判断模块402包括:
查询单元4021,用于将所述的远程过程调用请求作为键值对的键查询所述的缓存系统,获取缓存系统中对应当前键值对的值;
比较单元4022,用于判断获取的缓存系统中对应当前键值对的值与返回的请求结果数据是否相同。
本发明实施例中,如图7所示,缓存处理模块405包括:
键值生成单元4051,用于将远程过程调用请求作为键值对的键,返回的请求结果数据作为键值对的值;
缓存单元4052,用于将生成的键值对和生成的Java对象存储至所述的缓存系统。
对本领域技术人员而言,通过前述关于方法的实施例的描述可清楚获知本发明提供的远程过程调用装置的实现方式,在此不再赘述。
本发明提供的远程过程调用装置,接收用户的远程过程调用请求及返回的请求结果数据,确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用。引入的缓存机制相较于传统的利用SOAP协议调用再解析数据得到结果可以有效的减少数据解析造成的时间损耗,有效的降低了调用链路时间损耗,提高了程序响应速度。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照前述方法及装置的实施例,其内容被合并于此,重复之处不再赘述。
图8为本发明实施例的电子设备600的系统构成的示意框图。如图8所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,远程过程调用功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
接收用户的远程过程调用请求及返回的请求结果数据;
判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;
确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用结果。
在另一个实施方式中,远程过程调用装置可以与中央处理器100分开配置,例如可以将远程过程调用装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现远程过程调用功能。
如图8所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图8中所示的所有部件;此外,电子设备600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读程序,其中当在电子设备中执行所述程序时,所述程序使得计算机在所述电子设备中执行如上面实施例所述的远程过程调用方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在电子设备中执行上面实施例所述的远程过程调用。
本发明提供的远程过程调用方法及装置,接收用户的远程过程调用请求及返回的请求结果数据,确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用。引入的缓存机制相较于传统的利用SOAP协议调用再解析数据得到结果可以有效的减少数据解析造成的时间损耗,有效的降低了调用链路时间损耗,提高了程序响应速度。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种远程过程调用方法,利用soap协议进行远程过程调用,其特征在于,所述的方法包括:
接收用户的远程过程调用请求及返回的请求结果数据;
判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;
确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用结果。
2.如权利要求1所述的远程过程调用方法,其特征在于,所述的方法还包括:
确定不存在所述的远程过程调用请求及返回的请求结果数据,则根据返回的请求结果数据生成Java对象;
根据所述的远程过程调用请求及返回的请求结果数据将生成的Java对象存储至所述的缓存系统。
3.如权利要求1所述的远程过程调用方法,其特征在于,所述的缓存系统包括:MemCache、Redis。
4.如权利要求1所述的远程过程调用方法,其特征在于,所述的方法判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据包括:
将所述的远程过程调用请求作为键值对的键查询所述的缓存系统,获取缓存系统中对应当前键值对的值;
判断获取的缓存系统中对应当前键值对的值与返回的请求结果数据是否相同。
5.如权利要求2所述的远程过程调用方法,其特征在于,所述的确定不存在所述的远程过程调用请求及返回的请求结果数据,则根据返回的请求结果数据生成Java对象包括:
对返回的结果数据进行递归处理,生成Java对象。
6.如权利要求2所述的远程过程调用方法,其特征在于,所述的根据所述的远程过程调用请求及返回的请求结果数据将生成的Java对象存储至所述的缓存系统包括:
将远程过程调用请求作为键值对的键,返回的请求结果数据作为键值对的值;
将生成的键值对和生成的Java对象存储至所述的缓存系统。
7.如权利要求1所述的远程过程调用方法,其特征在于,所述的返回的请求结果数据为xml格式数据。
8.一种远程过程调用装置,利用soap协议进行远程过程调用,其特征在于,所述的装置包括:
数据接收模块,用于接收用户的远程过程调用请求及返回的请求结果数据;
判断模块,用于判断缓存系统中是否存在所述的远程过程调用请求及返回的请求结果数据;
调用结果生成模块,用于确定存在所述的远程过程调用请求及返回的请求结果数据,则将缓存系统中所述远程过程调用请求对应的Java对象作为远程过程调用结果。
9.如权利要求8所述的远程过程调用装置,其特征在于,所述的装置还包括:
对象生成模块,用于确定不存在所述的远程过程调用请求及返回的请求结果数据,则根据返回的请求结果数据生成Java对象;
缓存处理模块,用于根据所述的远程过程调用请求及返回的请求结果数据将生成的Java对象存储至所述的缓存系统。
10.如权利要求8所述的远程过程调用装置,其特征在于,所述的判断模块包括:
查询单元,用于将所述的远程过程调用请求作为键值对的键查询所述的缓存系统,获取缓存系统中对应当前键值对的值;
比较单元,用于判断获取的缓存系统中对应当前键值对的值与返回的请求结果数据是否相同。
11.如权利要求9所述的远程过程调用装置,其特征在于,所述的缓存处理模块包括:
键值生成单元,用于将远程过程调用请求作为键值对的键,返回的请求结果数据作为键值对的值;
缓存单元,用于将生成的键值对和生成的Java对象存储至所述的缓存系统。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一项所述方法的计算机程序。
14.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210099413.4A CN114416404A (zh) | 2022-01-27 | 2022-01-27 | 一种远程过程调用方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210099413.4A CN114416404A (zh) | 2022-01-27 | 2022-01-27 | 一种远程过程调用方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416404A true CN114416404A (zh) | 2022-04-29 |
Family
ID=81280144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210099413.4A Pending CN114416404A (zh) | 2022-01-27 | 2022-01-27 | 一种远程过程调用方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416404A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571484A (zh) * | 2004-05-09 | 2005-01-26 | 上海高清数字技术创新中心 | 一种提高事件信息提取效率的方法 |
US7853962B1 (en) * | 2005-05-31 | 2010-12-14 | Cisco Technology, Inc. | Method and apparatus for optimization of remote procedure call communications |
CN105786904A (zh) * | 2014-12-24 | 2016-07-20 | 远光软件股份有限公司 | 凭证相关取数缓存管理的方法及装置 |
CN113220981A (zh) * | 2020-02-06 | 2021-08-06 | 北京沃东天骏信息技术有限公司 | 一种优化缓存的方法和装置 |
-
2022
- 2022-01-27 CN CN202210099413.4A patent/CN114416404A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571484A (zh) * | 2004-05-09 | 2005-01-26 | 上海高清数字技术创新中心 | 一种提高事件信息提取效率的方法 |
US7853962B1 (en) * | 2005-05-31 | 2010-12-14 | Cisco Technology, Inc. | Method and apparatus for optimization of remote procedure call communications |
CN105786904A (zh) * | 2014-12-24 | 2016-07-20 | 远光软件股份有限公司 | 凭证相关取数缓存管理的方法及装置 |
CN113220981A (zh) * | 2020-02-06 | 2021-08-06 | 北京沃东天骏信息技术有限公司 | 一种优化缓存的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7894431B2 (en) | System and method for communicating asynchronously with web services using message set definitions | |
US10057734B2 (en) | System and method for transmitting and receiving media messages | |
US8001246B2 (en) | System and method for exposing distributed transaction services as web services | |
US7558876B2 (en) | Enhanced information and presence service | |
US20060235970A1 (en) | System and method for exposing synchronous web services as notification style web services | |
WO2004036334A2 (en) | Web services via instant messaging | |
JP2007514223A (ja) | クライアント要求をウェブ・サービスにリダイレクトする方法 | |
EP4340333A1 (en) | Communication protocol conversion method, and device, system, and gateway device | |
CN112328413A (zh) | 应用服务的调用方法、装置及系统 | |
US20060259578A1 (en) | System and method for discovering wireless mobile applications | |
US20050188066A1 (en) | Arragement and a method relating to end user station access of a portal | |
US7908397B1 (en) | Application server gateway technology | |
Rendon et al. | Architectures for web services access from mobile devices | |
CA2543887A1 (en) | System and method for exposing synchronous web services as notification style web services | |
CN114416404A (zh) | 一种远程过程调用方法及装置 | |
CN113572676B (zh) | 一种邮件处理方法及装置 | |
CN112929453A (zh) | 一种共享session数据的方法和装置 | |
Sunkari et al. | Integration of WhatsApp with Salesforce by RESTful Services | |
JP4959339B2 (ja) | ウェブ・サービス・インターメディアリ用のポート・タイプ非依存型プロキシ・サポート | |
US8738049B1 (en) | Converged dialog in hybrid mobile applications | |
Srirama et al. | Concept, implementation and performance testing of a mobile Web Service provider for smart phones | |
CN114584525A (zh) | 消息的处理方法、系统、终端设备以及存储介质 | |
CN118264701A (zh) | 设备能力的远程调用系统及方法、存储介质、电子设备 | |
CN118474088A (zh) | 一种基于Android设备的网络服务器的实现方法及装置 | |
CN117971516A (zh) | 消息队列的访问方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |