CN105763619B - 客户端与服务端进行通讯的方法及装置 - Google Patents

客户端与服务端进行通讯的方法及装置 Download PDF

Info

Publication number
CN105763619B
CN105763619B CN201610201145.7A CN201610201145A CN105763619B CN 105763619 B CN105763619 B CN 105763619B CN 201610201145 A CN201610201145 A CN 201610201145A CN 105763619 B CN105763619 B CN 105763619B
Authority
CN
China
Prior art keywords
procedure call
remote procedure
client
data
server
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.)
Active
Application number
CN201610201145.7A
Other languages
English (en)
Other versions
CN105763619A (zh
Inventor
张戈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huanju Shidai Information Technology Co Ltd
Original Assignee
Guangzhou Huanju Shidai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huanju Shidai Information Technology Co Ltd filed Critical Guangzhou Huanju Shidai Information Technology Co Ltd
Priority to CN201610201145.7A priority Critical patent/CN105763619B/zh
Publication of CN105763619A publication Critical patent/CN105763619A/zh
Application granted granted Critical
Publication of CN105763619B publication Critical patent/CN105763619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Abstract

本发明公开了一种客户端与服务端进行通讯的方法及装置,该方法包括:根据客户端与服务端的接口协议,预设远程过程调用框架,其中,远程过程调用框架包括各类接口文件,每个接口文件内分别配置有远程过程调用对象,且在远程过程调用对象目录下进一步配置参数对象和对应的结果对象;接收客户端发起的、进行远程过程调用的请求,远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;接收服务端响应请求并回传的响应数据,远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。通过上述方式,本发明能够减少开发者处理网络数据的大量代码,大大提高开发效率。

Description

客户端与服务端进行通讯的方法及装置
技术领域
本发明涉及通讯技术领域,特别是涉及一种客户端与服务端进行通讯的方法及装置。
背景技术
目前客户端与服务端传输数据中,常用的做法是异步调用超文本传输协议(HyperText Transfer Protocol,简写HTTP)请求,传送JavaScript对象表示法(JavaScriptObject Notation,简写JSON)格式的数据。客户端领域有很多HTTP框架可以实现HTTP的请求,例如Volley、HttpClient等等。而在web后端领域,有大量的模型-视图-控制器(ModelView Controller,简写MVC)框架,例如Struts,Springmvc等等;这些工具都给开发者带来了极大的便利,客户端和服务端之间的数据传输一般采用的是JSON数据格式,双方定义好相关接口和参数后进行开发。
但是,客户端需要为每个接口编写大量繁琐的与业务不是太相关的代码,例如JSON数据解析、出错处理等等。
发明内容
本发明主要解决的技术问题是提供一种客户端与服务端进行通讯的方法及装置,能够减少开发者处理网络数据的大量代码,大大提高开发效率。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种客户端与服务端进行通讯的方法,包括:根据客户端与服务端的接口协议,预设远程过程调用框架,其中,所述远程过程调用框架包括各类接口文件,每个所述接口文件内分别配置有远程过程调用对象,且在所述远程过程调用对象目录下进一步配置参数对象和对应的结果对象;接收所述客户端发起的、进行远程过程调用的请求,所述远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;接收所述服务端响应请求并回传的响应数据,所述远程过程调用对象接收响应数据并将所述响应数据转换成结果对象数据,响应给所述客户端。
其中,所述每个所述接口文件内分别配置远程过程调用对象的步骤,包括:在每个所述接口文件内分别为每一个远程过程调用对象指定唯一的ID,以通过所述ID获取所述远程过程调用对象;所述在所述远程过程调用对象目录下进一步配置参数对象和对应的结果对象的步骤,包括:在所述远程过程调用对象目录下,为所述参数对象和对应的所述结果对象分别指定唯一的ID。
其中,所述方法还包括:配置是否使用缓存模块,并配置缓存的策略。
其中,所述方法还包括:当配置结合缓存使用异步模式时,若所述缓存模块中保存有所述响应数据,则所述远程过程调用对象直接将所述响应数据转换成结果对象数据,响应给所述客户端。
其中,所述方法还包括:当配置为使用同步模式,并设置超时值时,则进入阻塞模式,在所述超时值之内,若接收到所述服务端回传的所述响应数据,则将所述响应数据转换成结果对象数据,并响应给所述客户端,若没有接收到所述服务端回传的所述响应数据,则将标记超时的无数据响应给所述客户端。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种客户端与服务端进行通讯的装置,所述装置包括:框架预设模块,用于根据客户端与服务端的接口协议,预设远程过程调用框架,其中,所述远程过程调用框架包括各类接口文件,每个所述接口文件内分别配置有远程过程调用对象,且在所述远程过程调用对象目录下进一步配置参数对象和对应的结果对象;对象调取模块,用于接收所述客户端发起的、进行远程过程调用的请求,所述远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;响应数据模块,用于接收所述服务端响应请求并回传的响应数据,所述远程过程调用对象接收响应数据并将所述响应数据转换成结果对象数据,响应给所述客户端。
其中,所述预设模块具体用于在每个所述接口文件内分别为每一个远程过程调用对象指定唯一的ID,以通过所述ID获取所述远程过程调用对象;在所述远程过程调用对象目录下,为所述参数对象和对应的所述结果对象分别指定唯一的ID。
其中,所述装置还包括缓存配置模块,所述缓存配置模块用于配置是否使用缓存模块,并配置缓存的策略。
其中,所述装置还包括第一操作模块,所述第一操作模块用于当配置结合缓存使用异步模式时,若所述缓存模块中保存有所述响应数据,则所述远程过程调用对象直接将所述响应数据转换成结果对象数据,响应给所述客户端。
其中,所述装置还包括第二操作模块,所述第二操作模块用于当配置为使用同步模式,并设置超时值时,则进入阻塞模式,在所述超时值之内,若接收到所述服务端回传的所述响应数据,则将所述响应数据转换成结果对象数据,并响应给所述客户端,若没有接收到所述服务端回传的所述响应数据,则将标记超时的无数据响应给所述客户端。
本发明的有益效果是:区别于现有技术的情况,本发明根据客户端与服务端的接口协议,预设远程过程调用框架,远程过程调用框架包括各类接口文件,每个接口文件内分别配置有远程过程调用对象,且在远程过程调用对象目录下进一步配置参数对象和对应的结果对象;接收客户端发起的、进行远程过程调用的请求,远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;接收服务端响应请求并回传的响应数据,远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。由于通过预设远程过程调用框架,将参数对象数据、结果对象数据与网络数据之间的转换交由远程过程调用对象处理,通过这种方式,能够减少开发者处理网络数据的大量代码,大大提高开发效率,而且,把面向过程的网络处理转换成面向对象的编程模式,便于理解业务逻辑。
附图说明
图1是本发明客户端与服务端进行通讯的方法一实施方式的流程图;
图2是现有技术中客户端与服务端进行通讯的架构示意图;
图3是本发明客户端与服务端进行通讯的方法中远程过程调用框架的总体架构一示意图;
图4是本发明客户端与服务端进行通讯的方法中远程过程调用框架的总体架构另一示意图;
图5是本发明客户端与服务端进行通讯的装置一实施方式的结构示意图;
图6是本发明客户端与服务端进行通讯的一实体装置的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
参阅图1,图1是本发明客户端与服务端进行通讯的方法一实施方式的流程图,该包括:
步骤S101:根据客户端与服务端的接口协议,预设远程过程调用框架,其中,远程过程调用框架包括各类接口文件,每个接口文件内分别配置有远程过程调用对象,且在远程过程调用对象目录下进一步配置参数对象和对应的结果对象。
随着当前计算机、或服务器的横向扩展,一台计算机或服务器不能提供所有的应用或业务,因此通常是多台计算机或服务器为客户端提供应用或业务。也即是客户端与多个服务端直接进行交互,交互的信息或数据均是互相之间能够直接解析、识别的信息或数据。通常情况下,服务端变化不是特别大,客户端的形式变化多样,为了与服务端进行通讯,客户端的开发人员除了针对特定的业务进行开发外,还需要编写大量繁琐的、与业务不是太相关的代码。
因此,在本申请中,客户端和服务端首先协商接口协议,在接口协议确定后,预先设置远程过程调用框架,客户端只需要针对具体的业务发出请求,通过远程过程调用框架调用远程过程调用对象即可,细节的过程由远程过程调用对象完成。
请参见图2,图2是现有技术中客户端与服务端进行通讯的架构示意图,从图2中,可以看到,客户端和服务端是直接进行通讯的。
请参见图3,图3是本发明客户端与服务端进行通讯的方法中远程过程调用框架的总体架构示意图,从图3中,可以看到,远程过程调用框架3连接在客户端1和服务端2之间,客户端1和服务端2之间的通讯是通过远程过程调用框架3实现的。远程过程调用框架3包括各类接口文件31,每个接口文件31内分别配置有远程过程调用对象311,而且在远程过程调用对象目录下进一步配置参数对象3111和对应的结果对象3112。每一个远程过程调用对象311可以对应每一个具体的实际应用或业务,因此,通过这种方式,开发人员可以仅仅关注需要开发的应用或业务,将其他与应用或业务无关的代码编写留给远程过程调用对象311。
步骤S102:接收客户端发起的、进行远程过程调用的请求,远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送。
网络数据可以是指各种符合网络传输的格式、可以直接在网络上进行传输的数据。例如,JSON数据、XML数据等等。
当客户端发起远程过程调用的请求时,远程过程调用框架根据该请求确定需要调用哪个对应的远程过程调用对象,在确定后,调取与该请求匹配的远程过程调用对象,通过该远程过程调用对象把响应该请求的参数对象的数据转换成网络数据,并发送给服务端。因此,参数对象的数据转换成网络数据的任务由客户端移交给远程过程调用对象,从而减少开发者处理网络数据的大量代码,大大提高开发效率,而且,把面向过程的网络处理转换成面向对象的编程模式,便于理解业务逻辑。
步骤S103:接收服务端响应请求并回传的响应数据,远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。
当服务端响应客户端的请求而回传响应数据时,远程过程调用对象即可以接收该响应数据,并将该响应数据转换成结果对象数据,从而响应给客户端。
响应数据是网络数据,服务器可以识别的,结果对象数据不是网络数据,是客户端可以识别的,因此,远程过程调用对象将服务端回传的响应数据转换成客户端能够识别的结果对象数据,并响应给客户端。
本发明实施方式根据客户端与服务端的接口协议,预设远程过程调用框架,远程过程调用框架包括各类接口文件,每个接口文件内分别配置有远程过程调用对象,且在远程过程调用对象目录下进一步配置参数对象和对应的结果对象;接收客户端发起的、进行远程过程调用的请求,远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;接收服务端响应请求并回传的响应数据,远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。由于通过预设远程过程调用框架,将参数对象数据、结果对象数据与网络数据之间的转换交由远程过程调用对象处理,通过这种方式,能够减少开发者处理网络数据的大量代码,大大提高开发效率,而且,把面向过程的网络处理转换成面向对象的编程模式,便于理解业务逻辑。
其中,每个接口文件内分别配置远程过程调用对象的步骤,包括:在每个接口文件内分别为每一个远程过程调用对象指定唯一的ID,以通过ID获取远程过程调用对象。
在远程过程调用对象目录下进一步配置参数对象和对应的结果对象的步骤,包括:在远程过程调用对象目录下,为参数对象和对应的结果对象分别指定唯一的ID。
每一个远程过程调用对象对应一个应用或业务等,采取措施保证这种一一对应的关系即可,例如:采用列表的形式进行一一对应,采用目录树的形式进行一一对应等。在本实施方式中,远程过程调用对象、参数对象和对应的结果对象分别都有唯一的ID,通过这些唯一的ID,即可分别获取远程过程调用对象、参数对象和对应的结果对象。
其中,远程过程调用对象的子节点是每一个接口的统一资源定位符(UniformResource Locator,简写URL),远程过程调用对象的目录下需要索引参数(parameter)对象和结果(result)对象。parameter对象可以是JAVA的基本类型,也可以是对象类型,可以是继承关系。result对象可以是JAVA的基本类型,也可以是对象类型,可以是继承关系。
其中,该方法还包括:配置是否使用缓存模块,并配置缓存的策略。在这种情况下,远程过程调用框架的总体架构示意图请参见图4,在图4中,服务端2返回的响应数据可以缓存在缓存模块32中,以备需要时,直接从缓存模块32中读取响应数据。
在此基础上,该方法还包括:当配置结合缓存使用异步模式时,若缓存模块中保存有响应数据,则远程过程调用对象直接将响应数据转换成结果对象数据,响应给客户端。通过这种方式,可以节约用户等待的时间,提高效率。
如果直接配置为使用异步模式,没有设置优先使用缓存数据,则该远程过程调用对象把响客户端请求的参数对象的数据转换成网络数据,发送给服务端后,不再专门等待服务端的响应数据,该远程过程调用对象也可以执行其他客户的请求,当服务端返回响应数据时,该远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。
实际应用中,在使用异步模式时,可以配置同步模式为错误,即采用同步的思想进行异步的网络请求处理方案,这样配置后,逻辑更加清晰。
其中,该方法还包括:当配置为使用同步模式,并设置超时值时,则进入阻塞模式,在超时值之内,若接收到服务端回传的响应数据,则将响应数据转换成结果对象数据,并响应给客户端,若没有接收到服务端回传的响应数据,则将标记超时的无数据响应给客户端。或者,当超时后,可以读取缓存模块中的响应数据。
本发明中远程过程调用框架属于开放性的、可扩展性框架,各种特性均可以由开发者自己定义配置,使用方面相对自由。
参见图5,图5是本发明客户端与服务端进行通讯的装置一实施方式的结构示意图,本实施方式的装置可以执行上述方法中的步骤,有关内容的详细说明请参见上述方法部分,在此不再赘叙。该装置包括:框架预设模块101、对象调取模块102以及响应数据模块103。
框架预设模块101用于根据客户端与服务端的接口协议,预设远程过程调用框架,其中,远程过程调用框架包括各类接口文件,每个接口文件内分别配置有远程过程调用对象,且在远程过程调用对象目录下进一步配置参数对象和对应的结果对象。
对象调取模块102用于接收客户端发起的、进行远程过程调用的请求,远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送。
响应数据模块103用于接收服务端响应请求并回传的响应数据,远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。
本发明实施方式根据客户端与服务端的接口协议,预设远程过程调用框架,远程过程调用框架包括各类接口文件,每个接口文件内分别配置有远程过程调用对象,且在远程过程调用对象目录下进一步配置参数对象和对应的结果对象;接收客户端发起的、进行远程过程调用的请求,远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;接收服务端响应请求并回传的响应数据,远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。由于通过预设远程过程调用框架,将参数对象数据、结果对象数据与网络数据之间的转换交由远程过程调用对象处理,通过这种方式,能够减少开发者处理网络数据的大量代码,大大提高开发效率,而且,把面向过程的网络处理转换成面向对象的编程模式,便于理解业务逻辑。
其中,预设模块具体用于在每个接口文件内分别为每一个远程过程调用对象指定唯一的ID,以通过ID获取远程过程调用对象;在远程过程调用对象目录下,为参数对象和对应的结果对象分别指定唯一的ID。
其中,该装置还包括缓存配置模块,缓存配置模块用于配置是否使用缓存模块,并配置缓存的策略。
其中,该装置还包括第一操作模块,第一操作模块用于当配置结合缓存使用异步模式时,若缓存模块中保存有响应数据,则远程过程调用对象直接将响应数据转换成结果对象数据,响应给客户端。
其中,该装置还包括第二操作模块,第二操作模块用于当配置为使用同步模式,并设置超时值时,则进入阻塞模式,在超时值之内,若接收到服务端回传的响应数据,则将响应数据转换成结果对象数据,并响应给客户端,若没有接收到服务端回传的响应数据,则将标记超时的无数据响应给客户端。
参见图6,图6是本发明客户端与服务端进行通讯的一实体装置的结构示意图。该装置包括:处理器11、存储器12、接收器13、发送器14、数据总线15。
处理器11用于根据客户端与服务端的接口协议,预设远程过程调用框架,其中,所述远程过程调用框架包括各类接口文件,每个所述接口文件内分别配置有远程过程调用对象,且在所述远程过程调用对象目录下进一步配置参数对象和对应的结果对象。
存储器12用于存储处理器11配置好的各类接口文件。
接收器13用于接收所述客户端发起的、进行远程过程调用的请求。
处理器11用于调取存储在存储器12中的、匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并控制发送器14发送给服务端。
接收器13还用于接收所述服务端响应请求并回传的响应数据,处理器11用于调用远程过程调用对象接收响应数据,并将所述响应数据转换成结果对象数据,控制发送器14响应给所述客户端。
本发明实施方式根据客户端与服务端的接口协议,预设远程过程调用框架,远程过程调用框架包括各类接口文件,每个接口文件内分别配置有远程过程调用对象,且在远程过程调用对象目录下进一步配置参数对象和对应的结果对象;接收客户端发起的、进行远程过程调用的请求,远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;接收服务端响应请求并回传的响应数据,远程过程调用对象接收响应数据并将响应数据转换成结果对象数据,响应给客户端。由于通过预设远程过程调用框架,将参数对象数据、结果对象数据与网络数据之间的转换交由远程过程调用对象处理,通过这种方式,能够减少开发者处理网络数据的大量代码,大大提高开发效率,而且,把面向过程的网络处理转换成面向对象的编程模式,便于理解业务逻辑。
其中,处理器11具有用于在每个所述接口文件内分别为每一个远程过程调用对象指定唯一的ID,以通过所述ID获取所述远程过程调用对象;在所述远程过程调用对象目录下,为所述参数对象和对应的所述结果对象分别指定唯一的ID。
其中,处理器11还用于配置是否使用缓存模块,并配置缓存的策略。
其中,处理器11还用于当配置结合缓存使用异步模式时,若所述缓存模块中保存有所述响应数据,则调取所述远程过程调用对象直接将所述响应数据转换成结果对象数据,控制发送器14响应给所述客户端。
其中,处理器11还用于当配置为使用同步模式,并设置超时值时,则进入阻塞模式,在所述超时值之内,若接收器13接收到所述服务端回传的所述响应数据,则将所述响应数据转换成结果对象数据,并控制发送器14响应给所述客户端,若接收器13没有接收到所述服务端回传的所述响应数据,则控制发送器14将标记超时的无数据响应给所述客户端。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种客户端与服务端进行通讯的装置,其特征在于,所述装置包括:
框架预设模块,用于根据客户端与服务端的接口协议,预设远程过程调用框架,其中,所述远程过程调用框架包括各类接口文件,每个所述接口文件内分别配置有远程过程调用对象,且在所述远程过程调用对象目录下进一步配置参数对象和对应的结果对象;
对象调取模块,用于接收所述客户端发起的、进行远程过程调用的请求,所述远程过程调用框架调取匹配的远程过程调用对象,以把响应的参数对象的数据转换成网络数据,并发送;
响应数据模块,用于接收所述服务端响应请求并回传的响应数据,所述远程过程调用对象接收响应数据并将所述响应数据转换成结果对象数据,响应给所述客户端;
其中,所述远程过程调用框架连接在客户端和服务端之间,客户端和服务端之间的通讯是通过远程过程调用框架实现的。
2.根据权利要求1所述的装置,其特征在于,所述预设模块具体用于在每个所述接口文件内分别为每一个远程过程调用对象指定唯一的ID,以通过所述ID获取所述远程过程调用对象;在所述远程过程调用对象目录下,为所述参数对象和对应的所述结果对象分别指定唯一的ID。
3.根据权利要求1所述的装置,其特征在于,所述装置还包括缓存配置模块,所述缓存配置模块用于配置是否使用缓存模块,并配置缓存的策略。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括第一操作模块,所述第一操作模块用于当配置结合缓存使用异步模式时,若所述缓存模块中保存有所述响应数据,则所述远程过程调用对象直接将所述响应数据转换成结果对象数据,响应给所述客户端。
5.根据权利要求3所述的装置,其特征在于,所述装置还包括第二操作模块,所述第二操作模块用于当配置为使用同步模式,并设置超时值时,则进入阻塞模式,在所述超时值之内,若接收到所述服务端回传的所述响应数据,则将所述响应数据转换成结果对象数据,并响应给所述客户端,若没有接收到所述服务端回传的所述响应数据,则将标记超时的无数据响应给所述客户端。
6.一种客户端与服务端进行通讯的方法,其特征在于,所述方法应用于权利要求1~5中任一项所述的装置;所述方法包括:
根据客户端与服务端的接口协议,预设远程过程调用框架,其中,所述远程过程调用框架包括各类接口文件,每个所述接口文件内分别配置有远程过程调用对象,且在所述远程过程调用对象目录下进一步配置参数对象和对应的结果对象;
接收所述客户端发起的、进行远程过程调用的请求,所述远程过程调用框架调取匹配的远程过程调用对象,以把响应的所述参数对象的数据转换成网络数据,并发送;
接收所述服务端响应请求并回传的响应数据,所述远程过程调用对象接收响应数据并将所述响应数据转换成结果对象数据,响应给所述客户端;
其中,所述远程过程调用框架连接在客户端和服务端之间,客户端和服务端之间的通讯是通过远程过程调用框架实现的。
7.根据权利要求6所述的方法,其特征在于,所述每个所述接口文件内分别配置远程过程调用对象的步骤,包括:
在每个所述接口文件内分别为每一个远程过程调用对象指定唯一的ID,以通过所述ID获取所述远程过程调用对象;
所述在所述远程过程调用对象目录下进一步配置参数对象和对应的结果对象的步骤,包括:
在所述远程过程调用对象目录下,为所述参数对象和对应的所述结果对象分别指定唯一的ID。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
配置是否使用缓存模块,并配置缓存的策略。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当配置结合缓存使用异步模式时,若所述缓存模块中保存有所述响应数据,则所述远程过程调用对象直接将所述响应数据转换成结果对象数据,响应给所述客户端。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当配置为使用同步模式,并设置超时值时,则进入阻塞模式,在所述超时值之内,若接收到所述服务端回传的所述响应数据,则将所述响应数据转换成结果对象数据,并响应给所述客户端,若没有接收到所述服务端回传的所述响应数据,则将标记超时的无数据响应给所述客户端。
CN201610201145.7A 2016-03-31 2016-03-31 客户端与服务端进行通讯的方法及装置 Active CN105763619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610201145.7A CN105763619B (zh) 2016-03-31 2016-03-31 客户端与服务端进行通讯的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610201145.7A CN105763619B (zh) 2016-03-31 2016-03-31 客户端与服务端进行通讯的方法及装置

Publications (2)

Publication Number Publication Date
CN105763619A CN105763619A (zh) 2016-07-13
CN105763619B true CN105763619B (zh) 2019-07-05

Family

ID=56347103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610201145.7A Active CN105763619B (zh) 2016-03-31 2016-03-31 客户端与服务端进行通讯的方法及装置

Country Status (1)

Country Link
CN (1) CN105763619B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648928A (zh) * 2016-11-29 2017-05-10 成都广达新网科技股份有限公司 一种进程间通讯的方法及装置
CN108234149B (zh) * 2016-12-09 2023-01-24 沈阳美行科技股份有限公司 一种网络请求的管理方法和装置
CN107277029B (zh) * 2017-06-30 2020-01-03 武汉斗鱼网络科技有限公司 一种远程过程调用的方法、装置及计算机设备
CN107995301B (zh) * 2017-12-11 2020-12-29 苏州沃耀数据科技有限公司 一种快速的基于互联网的数据收发方法
CN107977316B (zh) * 2017-12-21 2021-08-31 创新先进技术有限公司 一种模拟远程过程调用的方法、客户端及系统
CN109981546B (zh) * 2017-12-28 2021-08-20 北京京东尚科信息技术有限公司 获取应用模块间的远程调用关系的方法和装置
CN110083457A (zh) * 2018-01-26 2019-08-02 北京京东尚科信息技术有限公司 一种数据获取方法、装置以及数据分析方法、装置
CN109062710B (zh) * 2018-07-19 2021-10-19 创新先进技术有限公司 一种远程过程调用方法、终端设备及网络设备
CN110971576A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种安全认证的方法和相关装置
CN114244820A (zh) * 2020-09-07 2022-03-25 宝能汽车集团有限公司 嵌入式分布系统及其数据通信方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217449A (zh) * 2008-01-09 2008-07-09 金蝶软件(中国)有限公司 远程调用管理方法
CN101923485A (zh) * 2009-06-17 2010-12-22 大唐软件技术股份有限公司 Corba系统中的java远程调用方法
CN102262560A (zh) * 2010-05-27 2011-11-30 阿里巴巴集团控股有限公司 一种远程服务的调用方法、装置及系统
CN102810069A (zh) * 2012-07-16 2012-12-05 深圳市融创天下科技股份有限公司 一种java对象的请求和响应方法、装置、系统和终端
CN103095785A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 远程过程调用方法和系统、客户端及服务器
CN103116520A (zh) * 2012-11-02 2013-05-22 深圳键桥通讯技术股份有限公司 基于tcp/ udp的远程过程调用rpc的方法
CN103729292A (zh) * 2013-12-30 2014-04-16 瑞达信息安全产业股份有限公司 一种跨主机、跨平台的远程命令调用方法和系统
CN105391804A (zh) * 2015-12-16 2016-03-09 炫彩互动网络科技有限公司 一种可减少传输流量的远程调用方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217449A (zh) * 2008-01-09 2008-07-09 金蝶软件(中国)有限公司 远程调用管理方法
CN101923485A (zh) * 2009-06-17 2010-12-22 大唐软件技术股份有限公司 Corba系统中的java远程调用方法
CN102262560A (zh) * 2010-05-27 2011-11-30 阿里巴巴集团控股有限公司 一种远程服务的调用方法、装置及系统
CN103095785A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 远程过程调用方法和系统、客户端及服务器
CN102810069A (zh) * 2012-07-16 2012-12-05 深圳市融创天下科技股份有限公司 一种java对象的请求和响应方法、装置、系统和终端
CN103116520A (zh) * 2012-11-02 2013-05-22 深圳键桥通讯技术股份有限公司 基于tcp/ udp的远程过程调用rpc的方法
CN103729292A (zh) * 2013-12-30 2014-04-16 瑞达信息安全产业股份有限公司 一种跨主机、跨平台的远程命令调用方法和系统
CN105391804A (zh) * 2015-12-16 2016-03-09 炫彩互动网络科技有限公司 一种可减少传输流量的远程调用方法

Also Published As

Publication number Publication date
CN105763619A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
CN105763619B (zh) 客户端与服务端进行通讯的方法及装置
CN106453288B (zh) 一种支持异步模式的分布式微服务框架系统及其实现方法
WO2011137788A1 (zh) 设备管理方法、中间件及机器通信平台、设备和系统
CN104253856A (zh) 可缩放Web实时通信媒体引擎以及相关的方法、系统
WO2022262465A1 (zh) 基于opc ua的时间敏感网络集中用户配置方法及系统
CN106201375B (zh) 一种基于WebSocket的网络共享打印控制的方法
WO2015021650A1 (zh) 媒体流的传输方法、装置与系统
US10594768B2 (en) Method and apparatus of performing remote command dispatching
US20140012813A1 (en) Method and apparatus for synchronizing personal information
WO2019134595A1 (zh) 配置系统、客户端设备、嵌入式设备配置方法及存储介质
CN109840155A (zh) 一种实现远程过程调用的方法及装置
CN106603593A (zh) 一种基于适配的http调用方法及装置
CN107332854B (zh) 一种报文序列化协商方法及服务提供设备
CN108989157B (zh) 用于智能设备控制的方法、装置
CN103002047A (zh) 一种rpc式web服务架构方法
CN103001962A (zh) 业务支撑方法和系统
CN110113430B (zh) 一种基于云数据库的手机与树莓派之间的通信方法
CN103533001A (zh) 基于http多重代理的通信方法和系统、中间代理服务器
CN115883572A (zh) 外设共享方法及装置
CN114968617A (zh) Api转换系统及其访问请求处理方法、电子设备及介质
KR101673755B1 (ko) Dds 기반의 사물 인터넷의 네트워크와 지그비 네트워크와의 연동 시스템 및 그 방법
CN111030925B (zh) 基于远程过程调用的多网关通信方法及系统
JP2005143100A (ja) モバイル機器からerpにアクセスする方法
CN114257576A (zh) 一种基于支持多种通讯协议的rpc服务端实现方法
CN107395766A (zh) 基于HazelCast的去中心化通信系统及实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190603

Address after: 511400 23 floors of B-1 Building, Wanda Commercial Square North District, Wanbo Business District, 79 Wanbo Second Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: Guangzhou gathered era Mdt InfoTech Ltd

Address before: 511449 B-1 Building, Wanda Commercial Square North District, Wanbo Business District, 79 Wanbo Second Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant