Remote communication and remote programming through application programming interface. A method and system for remote application programming interface (RAPI) communication between server devices and client devices are provided. In one embodiment, server devices and client devices include memory and hardware processors connected to memory. The hardware processor executes instructions to instantiate access point instances on both the server side and the client side. The instruction is generated from the compilation of API interface classes and remote communication classes, where compilation includes the process of creating new classes through double inheritance. By receiving the API connection message from the client device, the server device clones the default repeater access point instance and assigns the cloned repeater access point instance to the API request received from the client device.
【技术实现步骤摘要】
通过应用编程接口的远程通信和远程编程
本公开总体上涉及用于服务器与客户端设备之间的基于应用编程接口(API)的远程通信和远程编程的方法和系统。如在本公开中使用的,通过API接口的远程通信和远程编程称为远程API(RAPI)。
技术介绍
随着物联网(IOT)的快速发展,对于在远程设备中运行的应用实例之间的远程通信和远程编程已经有不断增长的需求。例如,智能电话设备经由网络与室外传感器通信以获得温度信息,或者计算机设备向交通网络摄像头发送参数以调整镜头设置。当两个进程是本地的时(例如,二者均访问本地机器共享存储器),API提供了用于进程-进程直接函数调用的简单方式。然而,传统的方法不支持使用API的远程进程-进程直接函数调用。在远程进程之间也不能传递用于编程的指针。因此,存在对于简化使用API的远程直接函数调用同时满足客户端-服务器远程通信和远程编程的性能期望的系统和方法的需要。
技术实现思路
本公开涉及用于多个服务器设备与多个客户端设备之间通过API接口的远程通信和编程的系统和方法。本公开的目的是提供远程进程-进程直接函数调用而无需中央进程间服务注册器/管理器。根据本公开的一实施方式,一种方法包括接收定义API正向调用功能的API接口正向调用头文件和定义服务器终端的远程通信功能的通信中继器(relayer)头文件。编译器通过编译至少所述API接口正向调用头文件和所述通信中继器头文件来创建第一代码。该方法还包括接收定义API回调功能的API接口回调头文件和定义客户端终端的远程通信功能的通信客户端头文件。编译器通过编译至少所述API接口回调头文件和所述通信客户端头文件 ...
【技术保护点】
1.一种用于服务器设备处理应用编程接口API请求的方法,所述方法包括:接收API接口正向调用头文件和API接口回调头文件;接收通信中继器头文件和通信客户端头文件;通过执行通过编译至少所述API接口正向调用头文件和所述通信中继器头文件而生成的第一代码,在所述服务器设备的操作存储器内构造默认的中继器接入点实例,其中,所述默认的中继器接入点实例具有默认的中继器标识符;由所述默认的中继器接入点实例接收从与所述服务器设备联网的客户端发送的API连接消息,其中,所述API连接消息包括中继器标识符;检查所述中继器标识符;以及在所述中继器标识符与所述默认的中继器标识符相同的情况下,执行以下动作:通过在所述操作存储器内复制所述默认的中继器接入点实例来创建克隆的中继器接入点实例;如果所述API连接消息包括回调通道连接请求,则通过执行通过编译至少所述API接口回调头文件和所述通信客户端头文件而生成的第二代码,在所述操作存储器内构造客户端回调接入点实例;以及由所述克隆的中继器接入点实例处理从所述客户端发送的API服务消息。
【技术特征摘要】
1.一种用于服务器设备处理应用编程接口API请求的方法,所述方法包括:接收API接口正向调用头文件和API接口回调头文件;接收通信中继器头文件和通信客户端头文件;通过执行通过编译至少所述API接口正向调用头文件和所述通信中继器头文件而生成的第一代码,在所述服务器设备的操作存储器内构造默认的中继器接入点实例,其中,所述默认的中继器接入点实例具有默认的中继器标识符;由所述默认的中继器接入点实例接收从与所述服务器设备联网的客户端发送的API连接消息,其中,所述API连接消息包括中继器标识符;检查所述中继器标识符;以及在所述中继器标识符与所述默认的中继器标识符相同的情况下,执行以下动作:通过在所述操作存储器内复制所述默认的中继器接入点实例来创建克隆的中继器接入点实例;如果所述API连接消息包括回调通道连接请求,则通过执行通过编译至少所述API接口回调头文件和所述通信客户端头文件而生成的第二代码,在所述操作存储器内构造客户端回调接入点实例;以及由所述克隆的中继器接入点实例处理从所述客户端发送的API服务消息。2.根据权利要求1所述的方法,其中:所述API接口正向调用头文件定义API正向调用功能;所述API接口回调头文件定义API回调功能;所述API接口正向调用头文件和所述API接口回调头文件二者均继承自定义公共API接口功能的父API接口类;所述通信中继器头文件定义服务器终端上的远程通信功能;所述通信客户端头文件定义客户端终端上的远程通信功能;并且所述通信中继器头文件和所述通信客户端头文件二者均继承自定义公共通信功能的父通信类。3.根据权利要求1所述的方法,其中,所述API连接消息包括与所述客户端对应的客户端标识符,所述方法还包括:在所述克隆的中继器接入点实例的创建之后,将所述克隆的中继器接入点实例与实例指针相关联,其中,所述实例指针存储在所述服务器设备的非暂时性存储器中保持的实例阵列栈中,并且能利用所述客户端标识符获得。4.根据权利要求3所述的方法,其中,所述API服务消息包括API函数名、多个API函数参数、以及所述客户端标识符。5.根据权利要求4所述的方法,在所述克隆的中继器接入点实例的创建之后,所述方法还包括:由所述默认的中继器接入点实例接收所述API服务消息;利用从所述API服务消息读取的所述客户端标识符从所述实例阵列栈获得所述实例指针;获得由所述实例指针指向的所述克隆的中继器接入点实例;以及由所述默认的中继器接入点实例将所述API服务消息传送到所述克隆的中继器接入点实例。6.根据权利要求1所述的方法,其中,所述处理还包括:由所述克隆的中继器接入点实例从所述API服务消息获得API函数名和多个API函数参数;以及将所述API函数名和所述多个API函数参数传送到与所述克隆的中继器接入点实例相关联的服务器应用实例。7.根据权利要求6所述的方法,在所述API连接消息包括所述回调通道连接请求的情况下,在所述API服务消息的处理之后,所述方法还包括:由所述客户端回调接入点实例从所述服务器应用实例接收API服务结果,其中,所述API服务结果与所述API服务消息相关联;由所述客户端回调接入点实例创建API结果消息,其中,所述API结果消息包含所述API服务结果和所述客户端标识符;以及由所述客户端回调接入点实例将所述API结果消息发送到所述客户端。8.根据权利要求7所述的方法,其中,所述服务器应用实例具有应用实例标识符,并且所述API结果消息包含所述应用实例标识符。9.根据权利要求2所述的方法,所述方法还包括:由所述默认的中继器接入点实例接收从与所述服务器设备联网的第二客户端发送的第二API连接消息,其中,所述第二API连接消息包括第二中继器标识符;检查所述第二中继器标识符;以及在所述第二中继器标识符与所述默认的中继器标识符相同的情况下,执行以下操作:通过在所述操作存储器内复制所述默认的中继器接入点实例来创建第二克隆的中继器接入点实例;以及如果所述第二API连接消息包括第二回调通道连接请求,则在所述操作存储器内构造第二客户端回调接入点实例。10.一种用于客户端设备请求应用编程接口API服务的方法,所述方法包括:接收API接口正向调用头文件和API接口回调头文件,其中,所述API接口正向调用头文件和所述API接口回调头文件二者均继承自定义公共API接口功能的父API接口类;接收通信中继器头文件和通信客户端头文件,其中,所述通信中继器头文件和所述通信客户端头文件二者均继承自定义公共通信功能的父通信类;在所述客户端设备的操作存储器内构造客户端应用实例;通过执行通过编译至少所述API接口正向调用头文件和所述通信客户端头文件而生成的第一代码,在所述操作存储器内构造与所述客户端应用实例相关联的客户端接入点实...
【专利技术属性】
技术研发人员:赵文恒,
申请(专利权)人:上海思立微电子科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。