CN112788104A - 一种远程过程调用方法及装置 - Google Patents

一种远程过程调用方法及装置 Download PDF

Info

Publication number
CN112788104A
CN112788104A CN202011559928.5A CN202011559928A CN112788104A CN 112788104 A CN112788104 A CN 112788104A CN 202011559928 A CN202011559928 A CN 202011559928A CN 112788104 A CN112788104 A CN 112788104A
Authority
CN
China
Prior art keywords
request
callback
identifier
target server
function
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.)
Granted
Application number
CN202011559928.5A
Other languages
English (en)
Other versions
CN112788104B (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.)
Zhuhai Kingsoft Online Game Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Online Game 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 Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Kingsoft Online Game Technology Co Ltd
Priority to CN202011559928.5A priority Critical patent/CN112788104B/zh
Publication of CN112788104A publication Critical patent/CN112788104A/zh
Application granted granted Critical
Publication of CN112788104B publication Critical patent/CN112788104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/133Protocols for remote procedure calls [RPC]
    • 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
    • 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
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供一种远程过程调用方法及装置,其中所述方法包括:根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识;基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数;将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果;通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。

Description

一种远程过程调用方法及装置
技术领域
本申请涉及互联网技术领域,特别涉及一种远程过程调用方法及装置、计算设备及计算机可读存储介质。
背景技术
现有的远程过程调用(Remote Procedure Call,RPC)框架,在远程过程调用中,将客户端发起的调用请求对应的所有参数序列化为一个网络消息,然后通过网络传输发送到服务器中进行处理。服务器中处理完成相应的服务后,将产生的结果也序列化成一个网络消息,发送到调客户端。
然而,在RPC的实现过程中,如果以同步的方式去进行远程调用,那么客户端的当前线程就会被阻塞住,需要等到服务器的响应到达或者调用超时,客户端的当前线程才能继续执行。如果以异步的方式去进行远程调用,由于客户端的当前线程对应的关联数据仅能够临时存储在本地缓存中,一旦客户端开启其他线程,存储在本地缓存中的当前线程对应的关联数据就会被删除,客户端就无法获知服务器返回的结果对应的是那一个线程,即丢失了当前线程对应的关联数据,只能通过透传的方式将当前线程对应的关联数据作为参数进行传递,极大的增加了远程过程调用的数据量,降低了运算的速度。
发明内容
有鉴于此,本申请实施例提供了一种远程过程调用方法及装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种远程过程调用方法,包括:
根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识;
基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数;
将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果;
通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
根据本说明书实施例的第二方面,提供了一种远程过程调用装置,包括:
数据生成模块,被配置为根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识;
数据绑定模块,被配置为基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数;
远程调用模块,被配置为将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果;
请求响应模块,被配置为通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述远程过程调用方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述远程过程调用方法的步骤。
本申请根据当前请求对应的服务器获取对应的关联数据与调回标识,然后通过脚本程序形成包含有当前请求对应的关联数据与调回标识的回调函数,在远程调用的过程中,只将回调函数中的调回标识与请求参数进行绑定并向服务器请求返回请求结果,并在回调函数内部通过当前请求对应的关联数据和请求结果对当前请求进行响应,从而在异步远程调用的整个过程中无需通过透传的方式传递数据,极大的减少了数据交互过程中携带的数据量,同时,针对不同服务器在每个请求时生成一一对应的回调函数,从而使得服务器在返回请求结果时不会触发与该请求无关的回调函数,进而能够准确找到在请求时对应的关联数据。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的远程过程调用方法的交互示意图;
图3是本申请实施例提供的远程过程调用方法的流程图;
图4是本申请实施例提供的远程过程调用方法的流程图;
图5是本申请实施例提供的远程过程调用方法的流程图;
图6是本申请实施例提供的远程过程调用方法的流程图;
图7是本申请实施例提供的远程过程调用方法的流程图;
图8是本申请实施例提供的远程过程调用方法的流程图;
图9是本申请实施例提供的远程过程调用方法的交互示意图;
图10是本申请实施例提供的远程过程调用装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
远程过程调用:即RPC(Remote Procedure Call)协议,一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
LUA脚本:LUA脚本是一个小巧的脚本语言,该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。LUA脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得LUA在应用程序中可以被广泛应用。LUA脚本由标准C编写而成,代码简洁,几乎在所有操作系统和平台上都可以编译和运行。
传输控制协议:传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由国际互联网工程任务组(TheInternet Engineering Task Force,IETF)的RFC 793定义。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
闭包函数:在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。简而言之,闭包的特点就是内部函数引用了外部函数中的变量。闭包中被内部函数引用的变量,不会因为外部函数结束而被释放掉,而是一直存在内存中,直到内部函数被调用结束。
上下文数据:在受到调用时,进程或线程的运行过程中会产生执行上下文数据,例如,其包括输入参数、数据和控制流信息。过程可以产生结果和/或返回值,这种过程一般被称为“函数”。过程或函数可以被关联至存储器中的数据对象,这种过程或函数有时可以被称为“方法”。执行上下文数据包括有关当前过程的执行的信息。上下文可以包括诸如返回地址、栈指针、框架指针、局部变量和缓冲器、输入变元和返回值的数据等等。
在本申请提供了一种远程过程调用方法及装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
在现有技术中,如图2所示,现有的RPC架构在执行远程调用时,一般包括以下步骤:
步骤202:在客户端需要向第一目标服务器获取数据的情况下,生成包含有所述第一目标服务器对应的特征标识和第一请求参数的第一调用请求。
例如,玩家在通过客户端进行游戏的过程中,在所述客户端需要根据玩家的指令向游戏的商店服务器获取商品数据的情况下,生成包含有商店服务器对应的特征标识即shopID和商店请求参数的商店调用请求即GetShopRequest(shopID)
步骤204:将所述第一调用请求通过打包的方式发送至所述第一目标服务器。
在上述实施例中,客户端将商店调用请求GetShopRequest(shopID)进行序列化并打包,然后发送至商店服务器。
步骤206:所述第一目标服务器根据所述第一调用请求,调用相关服务对所述第一请求参数进行处理,生成包含有所述第一目标服务器对应的特征标识和第一请求结果的第一返回数据。
在上述实施例中,商店服务器对商店调用请求GetShopRequest(shopID)进行解包和反序列化,从而获取到商店请求参数,然后调用相关服务(函数)对商店请求参数进行处理,得到商店请求参数对应的商品信息,从而生成包含有商店服务器对应的特征标识即shopID和商品信息的商店返回数据即ItemResponse(shopID,items)。
步骤208:将所述第一返回数据通过回包的方式返回至所述客户端。
在上述实施例中,商店服务器将商店返回数据ItemResponse(shopID,items)进行序列化并打包,然后返回至所述客户端。
步骤210:客户端根据所述第一目标服务器对应的特征标识获取生成所述第一调用请求时的第一上下文数据,并根据所述第一上下文数据和所述第一请求结果对所述第一调用请求进行响应。
在上述实施例中,客户端收到回包并进行解包和反序列化,获取到商店返回数据中的商店服务器对应的特征标识和商品信息,由于是异步请求,此时客户端丢失了在生成该商店调用请求时所有相关的上下文数据,即客户端忘记了之前请求的是商店服务器及其请求的目的,因此,客户端需要根据商店服务器对应的特征标识,从而获取生成所述商店调用请求时所有相关的上下文数据,最终根据商店调用请求时所有相关的上下文数据以及商品信息对商店调用请求进行响应。
步骤212:在客户端需要根据所述第一调用请求的响应结果,向第二目标服务器获取数据的情况下,生成包含有所述第二目标服务器对应的特征标识、第二请求参数和第一请求结果的第二调用请求。
在上述实施例中,玩家在通过客户端获取了商品信息之后,往往还需要进一步获取这些商品对应的历史订单信息从而判断是否需要进行虚拟购买,此时,客户端就会生成包含有订单服务器对应的特征标识即itemsID和订单请求参数的订单调用请求即GethistoryRequest(itemsID)。
步骤214:将所述第二调用请求通过打包的方式发送至所述第二目标服务器。
步骤216:所述第二目标服务器根据所述第二调用请求,调用相关服务对所述第二请求参数进行处理,生成包含有所述第二目标服务器对应的特征标识和第二请求结果的第二返回数据。
步骤218:将所述第二返回数据通过回包的方式返回至所述客户端。
步骤220:客户端根据所述第二请求结果中的第二目标服务器对应的特征标识获取,生成所述第二调用请求时的第二上下文数据,并根据所述第二上下文数据、第二请求数据和所述第一请求参数对所述第二调用请求进行响应。
在上述实施例中,参照商店调用请求可知,客户端在对订单调用请求进行响应时,不仅需要订单调用请求时的上下文数据,还需要结合商品信息,此时,为了保证客户端能够不会丢失之间的“记忆”,就会将每次一部调用后返回的数据进行携带。
由此可见,由于现有技术采用异步操作,导致每次调用请求时存储在缓存中的调用请求对应的上下文数据早已经被客户端删除,客户端在获取到服务器返回的请求结果时无法获知请求结果对应的上下文数据,为了避免这种情况的出现,客户端只能在进行异步多次远程调用时,将每次调用请求时的上下文数据连同调用请求一并发送至不同的服务器,不同的服务器在将请求结果和上下文数据一同返回至客户端,多次重复下来后就会导致用于流转的数据量过于的庞大,极大的影响了传输和执行的效率。
其中,处理器120可以执行图3所示方法中的步骤。图3是示出了根据本申请一实施例的远程过程调用方法的示意性流程图,包括步骤302至步骤308。
步骤302:根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识。
在本申请的一个实施例中,如图4所示,所述步骤302具体包括步骤402至步骤406。
步骤402:根据第一请求对应的第一目标服务器,确定所述第一目标服务器对应的服务器标识和第一请求对应的上下文数据。
在上述实施例中,本申请的客户端上运行的进程,例如,游戏、网页浏览器或其他应用程序等等,用户在对进程进行操作的过程中会生成第一请求,客户端根据第一请求确定需要远端调用的第一目标服务器,确定所述第一目标服务器对应的服务器标识和第一请求对应的上下文数据,其中,所述上下文数据指在请求发生时与该请求存在关联关系的数据,例如,上下文数据可以是游戏运行中的相关线程的数据,也可以是虚拟角色的属性信息或用户在相关应用程序登录后的用户关联信息。
步骤404:根据所述第一目标服务器对应的服务器标识和第一请求对应的上下文数据,确定所述第一关联数据。
在上述实施例中,本申请的客户端将第一目标服务器对应的服务器标识和第一请求对应的上下文数据进行绑定,形成所述第一请求对应的第一关联数据。
步骤406:为所述第一请求配置唯一对应的所述第一调回标识。
在上述实施例中,本申请的客户端进一步为所述第一请求配置唯一对应的所述第一调回标识(CallID),其中,调回标识为一个64位的整形字段,分为钱8位和后56位,前8位为该序列的版本信息,后56位为用于绑定每个请求的递增序列。
本申请首先获取所述第一请求对应的第一关联数据,从而为客户端留下所述第一请求时的相关“记忆”,并为所述第一请求配置唯一对应的所述第一调回标识,从而保证每个请求都能够拥有其唯一对应的上下文关联数据。
步骤304:基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数。
在上述实施例中,所述步骤304具体包括:
基于LUA脚本构建包含所述第一调回标识和第一关联数据的第一回调函数。
本申请的客户端基于LUA脚本,可以很方便的创建一个包含所述第一调回标识和第一关联数据的第一回调函数,并且该回调函数为闭包函数。
步骤306:将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果。
在本申请的一个实施例中,所述调回标识为一个64位的整形字段,包括前8位的版本序列号和后56位的特征序列号,具体而言,如图5所示,所述步骤306包括步骤502至步骤510。
步骤502:获取第一请求参数,通过所述第一调回标识的特征序列号将第一调回标识与所述第一请求参数进行绑定。
在上述实施例中,本申请的客户端能够用户的请求获取需要进行远程处理的第一请求参数,然后将所述第一调回标识中的特征序列号与所述第一请求参数进行绑定。
步骤504:将绑定后的所述第一调回标识和第一请求参数进行序列化并打包,生成第一请求对应的请求数据包。
步骤506:与所述第一目标服务器进行网络通讯,通过网络通信协议将第一请求对应的请求数据包发送至所述第一目标服务器。
可选地,所述网络通信协议可以是传输控制协议(TCP)。
步骤508:接收所述第一目标服务器返回的结果数据包。
步骤510:对所述结果数据包进行解包和反序列化,获取所述第一调回标识和第一请求结果。
在上述实施例中,本申请的客户端采用异步的方式对第一目标服务器进行调用,因此不会一直等待第一目标服务器的反馈而不进行其他逻辑操作,因此,只有在接收所述第一目标服务器返回的结果数据包的情况下,客户端会对果数据包进行解包和反序列化,获取所述第一调回标识和第一目标服务器对第一请求参数进行处理后得到的第一请求结果。
本申请利用LUA脚本创建一个包含调回标识和关联数据的回调函数,然后将回调函数与本次远程调用请求进行绑定,从而实现在异步远程调用的回调中快速且方便的获取到本次远程调用请求中的关联数据,无需主动传递调回标识自动在网络协议中包含调回标识,在远程调用是也无需进行逻辑处理而在回包时自动携带。
步骤308:通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
在上述实施例中,如图6所示,所述步骤308包括步骤602至步骤610。
步骤602:确定所述第一调回标识的特征序列号,根据所述第一调回标识的特征序列号获取所述第一回调函数。
在客户端收到第一请求结果后,由于是异步操作,客户端的缓存内没有第一请求结果对应第一请求参数和第一关联数据,因此,客户端需要根据所述第一调回标识的特征序列号获取所述第一回调函数。
步骤604:将所述第一请求结果传入所述第一回调函数中。
步骤606:获取所述第一回调函数内的第一关联数据。
步骤608:根据所述第一关联数据和所述第一请求结果,在所述第一回调函数的内部进行逻辑操作。
由于回调函数为闭包函数,客户端需要将所述第一请求结果传入所述第一回调函数中,并且在所述第一回调函数包含有所述第一请求对应的第一关联数据,客户端根据所述第一请求对应的第一关联数据就能够“回忆”起第一请求时相关数据,因此,通过第一回调函数内既可以完成对第一请求的逻辑操作。
步骤610:将所述第一请求对应的逻辑操作的处理结果进行展示。
本申请根据当前请求对应的服务器获取对应的关联数据与调回标识,然后通过脚本程序形成包含有当前请求对应的关联数据与调回标识的回调函数,在远程调用的过程中,只将回调函数中的调回标识与请求参数进行绑定并向服务器请求返回请求结果,并在回调函数内部通过当前请求对应的关联数据和请求结果对当前请求进行响应,从而在异步远程调用的整个过程中无需通过透传的方式传递数据,极大的减少了数据交互过程中携带的数据量,同时,针对不同服务器在每个请求时生成一一对应的回调函数,从而使得服务器在返回请求结果时不会触发与该请求无关的回调函数,进而能够准确找到在请求时对应的关联数据。
在本申请的一个实施例中,所述调回标识为一个64位的整形字段,包括前8位的版本序列号和后56位的特征序列号,具体而言,如图7所示,在将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器之后,还包括步骤702至步骤710。
步骤702:计算请求时间,在所述请求时间超过预设的时间阈值的情况下,更新所述第一调回标识的版本序列号。
本申请的客户端采用异步调用的方式,会出现某个请求超过指定时间仍未返回的情况,出现类似情况可能是某个服务器进程宕机或线程卡死导致的无法回包,此时,客户端会在发送每个请求之后,客户端会主动计算请求时间,并在所述请求时间超过预设的时间阈值的情况下,更新所述第一调回标识的版本序列号,例如,将第一调回标识的版本序列号增1。
步骤704:将更新后的所述第一调回标识和第一请求参数再次进行绑定并重新发送至所述第一目标服务器。
在上述实施例中,客户端将更新后的所述第一调回标识和第一请求参数再次进行绑定并重新发送至所述第一目标服务器,也可以由服务器端利用负载均衡机制调用其他服务器进行处理,从而完成计算。
步骤706:获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果。
步骤708:判断第一调回标识中的版本序列号是否为最新的版本序列号。
步骤710:在所述第一调回标识中的版本序列号并非最新的版本序列号的情况下,将所述第一调回标识和和所述第一请求对应的第一请求结果全部丢弃。
在上述实施例中,客户端在等待回调的过程过中,可能会收到之前若干次更新后重新发送的第一请求对应的第一请求结果,此时,为了保证该返回结果为最新版本的第一请求结果,就需要将第一调回标识中的版本序列号与最近更新后的所述第一调回标识的版本序列号进行比较,若收到的是历史版的回调,则将该第一请求结果进行忽略或丢弃,仅等待最新版本的回调数据。
本申请通过建构一种定时更新机制,利用调回标识的版本序列号记录更新的次数和版本,从而保证即使服务器在出现宕机的情况下,客户端也能够获取到最新版本的回调数据。
在本申请的一个实施例中,如图8所示,在通过所述第一回调函数对第一请求进行响应之后,还包括步骤802至步骤808。
步骤802:根据第二请求对应的第二目标服务器,获取第二请求对应的第二关联数据并生成所述第二请求对应的第二调回标识。
步骤804:基于脚本语言构建包含所述第二调回标识、第二关联数据和所述第一关联数据的第二回调函数。
步骤806:将第二调回标识和所述第二请求对应的第二请求参数进行绑定并发送至所述第二目标服务器,获取所述第二目标服务器返回的第二调回标识和第二请求对应的第二请求结果。
步骤808:通过所述第二调回标识获取所述第二回调函数,将所述第二请求结果传入所述第二回调函数中,从而通过所述第二回调函数对第二请求进行响应。
参照步骤302至步骤308可知,本申请的客户端在对第一请求进行响应之后,用户根据其结果还会进行二次操作,例如,根据返回的商品数据进而查看自己曾经的购买记录或现有的已购买完毕商品的种类或数量等,此时,客户端就会生成第二请求,并基于脚本语言构建第二请求对应的第二回调函数,然后将搜索第二调回函数与本次的远程调用进行绑定,进而传递第二请求的第二关联数据,从而通过所述第二回调函数对第二请求进行响应。
图9示出了本说明书一实施例的远程过程调用方法,该远程过程调用方法以对客户端通过网购商店页面,对存储有商品数据的商品服务器和存储有历史订单数据的订单服务器请求数据为例进行描述,包括步骤902至步骤924。
步骤902:客户端根据向商品服务器请求商品数据的第一请求,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识。
步骤904:基于LUA脚本构建包含所述第一调回标识和所述第一关联数据的第一回调函数;
步骤906:将第一调回标识和所述第一请求对应的第一请求参数进行绑定并通过TCP协议发送至所述商品服务器;
步骤908:商品服务器根据所述第一请求参数通过调用相关服务从而获取所述第一请求对应的商品数据。
步骤910:商品服务器将第一调回标识和所述第一请求对应的商品数据通过TCP协议返回至客户端。
步骤912:客户端通过所述第一调回标识获取所述第一回调函数,将所述商品数据传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
步骤914:客户端根据向订单服务器请求订单数据的第二请求,获取所述第二请求对应的第二关联数据并生成所述第二请求对应的第二调回标识。
步骤916:基于LUA脚本构建包含所述第二调回标识和所述第二关联数据的第二回调函数;
步骤918:将第二调回标识和所述第二请求对应的第二请求参数进行绑定并通过TCP协议发送至所述订单服务器;
步骤920:订单服务器根据所述第二请求参数通过调用相关服务从而获取所述第二请求对应的订单数据。
步骤922:订单服务器将第二调回标识和所述第二请求对应的订单数据通过TCP协议返回至客户端。
步骤924:客户端通过所述第二调回标识获取所述第二回调函数,将所述订单数据传入所述第二回调函数中,从而通过所述第二回调函数对第二请求进行响应。
与上述方法实施例相对应,本说明书还提供了远程过程调用装置实施例,图10示出了本说明书一个实施例的远程过程调用装置的结构示意图。如图10所示,该装置包括:
数据生成模块101,被配置为根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识;
数据绑定模块102,被配置为基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数;
远程调用模块103,被配置为将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果;
请求响应模块104,被配置为通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
可选地,所述数据生成模块101包括:
数据获取单元,被配置为根据第一请求对应的第一目标服务器,确定所述第一目标服务器对应的服务器标识和第一请求对应的上下文数据;
关联数据单元,被配置为根据所述第一目标服务器对应的服务器标识和第一请求对应的上下文数据,确定所述第一关联数据;
标识配置单元,被配置为为所述第一请求配置唯一对应的所述第一调回标识;
可选地,所述数据绑定模块102还被配置为:
基于LUA脚本构建包含所述第一调回标识和第一关联数据的第一回调函数。
可选地,所述调回标识包括特征序列号;
所述远程调用模块103包括:
数据绑定单元,被配置为获取第一请求参数,通过所述第一调回标识的特征序列号将第一调回标识与所述第一请求参数进行绑定;
数据打包单元,被配置为将绑定后的所述第一调回标识和第一请求参数进行序列化并打包,生成第一请求对应的请求数据包;
数据发送单元,被配置为与所述第一目标服务器进行网络通讯,通过网络通信协议将第一请求对应的请求数据包发送至所述第一目标服务器。
可选地,所述远程调用模块103包括:
数据接收单元,被配置为接收所述第一目标服务器返回的结果数据包;
数据解包单元,被配置为对所述结果数据包进行解包和反序列化,获取所述第一调回标识和第一请求结果。
可选地,所述请求响应模块104包括:
函数调取单元,被配置为确定所述第一调回标识的特征序列号,根据所述第一调回标识的特征序列号获取所述第一回调函数;
数据调回单元,被配置为获取所述第一回调函数内的第一关联数据;
逻辑操作单元,被配置为根据所述第一关联数据和所述第一请求结果,在所述第一回调函数的内部进行逻辑操作;
结果展示单元,被配置为将所述第一请求对应的逻辑操作的处理结果进行展示;
可选地,所述调回标识包括版本序列号,所述装置还包括:
计时更新模块,被配置为计算请求时间,在所述请求时间超过预设的时间阈值的情况下,更新所述第一调回标识的版本序列号;
二次请求模块,被配置为将更新后的所述第一调回标识和第一请求参数再次进行绑定并重新发送至所述第一目标服务器。
可选地,所述装置还包括:
序列号判断模块,被配置为判断第一调回标识中的版本序列号是否为最新的版本序列号;
结果丢弃模块,被配置为在所述第一调回标识中的版本序列号并非最新的版本序列号的情况下,将所述第一调回标识和和所述第一请求对应的第一请求结果全部丢弃。
可选地,所述数据生成模块101还被配置为:
根据第二请求对应的第二目标服务器,获取第二请求对应的第二关联数据并生成所述第二请求对应的第二调回标识;
所述数据绑定模块102,还被配置为:
基于脚本语言构建包含所述第二调回标识、第二关联数据和所述第一关联数据的第二回调函数;
所述远程调用模块103,还被配置为:
将第二调回标识和所述第二请求对应的第二请求参数进行绑定并发送至所述第二目标服务器,获取所述第二目标服务器返回的第二调回标识和第二请求对应的第二请求结果;
所述请求响应模块104,还被配置为:
通过所述第二调回标识获取所述第二回调函数,将所述第二请求结果传入所述第二回调函数中,从而通过所述第二回调函数对第二请求进行响应。
本申请根据当前请求对应的服务器获取对应的关联数据与调回标识,然后通过脚本程序形成包含有当前请求对应的关联数据与调回标识的回调函数,在远程调用的过程中,只将回调函数中的调回标识与请求参数进行绑定并向服务器请求返回请求结果,并在回调函数内部通过当前请求对应的关联数据和请求结果对当前请求进行响应,从而在异步远程调用的整个过程中无需通过透传的方式传递数据,极大的减少了数据交互过程中携带的数据量。同时,针对不同服务器在每个请求时生成一一对应的回调函数,从而使得服务器在返回请求结果时不会触发与该请求无关的回调函数,进而能够准确找到在请求时对应的关联数据。
需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识;
基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数;
将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果;
通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述远程过程调用方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该计算机可读存储介质的技术方案与上述的远程过程调用方法的技术方案属于同一构思,计算机可读存储介质的技术方案未详细描述的细节内容,均可以参见上述远程过程调用方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (12)

1.一种远程过程调用方法,其特征在于,包括:
根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识;
基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数;
将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果;
通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
2.根据权利要求1所述的方法,其特征在于,根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识,包括:
根据第一请求对应的第一目标服务器,确定所述第一目标服务器对应的服务器标识和第一请求对应的上下文数据;
根据所述第一目标服务器对应的服务器标识和第一请求对应的上下文数据,确定所述第一关联数据;
为所述第一请求配置唯一对应的所述第一调回标识。
3.根据权利要求1所述的方法,其特征在于,基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数,包括:
基于LUA脚本构建包含所述第一调回标识和第一关联数据的第一回调函数。
4.根据权利要求1所述的方法,其特征在于,所述调回标识包括特征序列号;
将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,包括:
获取第一请求参数,通过所述第一调回标识的特征序列号将第一调回标识与所述第一请求参数进行绑定;
将绑定后的所述第一调回标识和第一请求参数进行序列化并打包,生成第一请求对应的请求数据包;
与所述第一目标服务器进行网络通讯,通过网络通信协议将第一请求对应的请求数据包发送至所述第一目标服务器。
5.根据权利要求4所述的方法,其特征在于,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果,包括:
接收所述第一目标服务器返回的结果数据包;
对所述结果数据包进行解包和反序列化,获取所述第一调回标识和第一请求结果。
6.根据权利要求5所述的方法,其特征在于,通过所述第一调回标识获取所述第一回调函数,包括:
确定所述第一调回标识的特征序列号,根据所述第一调回标识的特征序列号获取所述第一回调函数;
通过所述第一回调函数对第一请求进行响应,包括:
获取所述第一回调函数内的第一关联数据;
根据所述第一关联数据和所述第一请求结果,在所述第一回调函数的内部进行逻辑操作;
将所述第一请求对应的逻辑操作的处理结果进行展示。
7.根据权利要求1所述的方法,其特征在于,所述调回标识包括版本序列号;
在将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器之后,还包括:
计算请求时间,在所述请求时间超过预设的时间阈值的情况下,更新所述第一调回标识的版本序列号;
将更新后的所述第一调回标识和第一请求参数再次进行绑定并重新发送至所述第一目标服务器。
8.根据权利要求7所述的方法,其特征在于,在获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果之后,还包括:
判断第一调回标识中的版本序列号是否为最新的版本序列号;
在所述第一调回标识中的版本序列号并非最新的版本序列号的情况下,将所述第一调回标识和和所述第一请求对应的第一请求结果全部丢弃。
9.根据权利要求1所述的方法,其特征在于,在通过所述第一回调函数对第一请求进行响应之后,还包括:
根据第二请求对应的第二目标服务器,获取第二请求对应的第二关联数据并生成所述第二请求对应的第二调回标识;
基于脚本语言构建包含所述第二调回标识、第二关联数据和所述第一关联数据的第二回调函数;
将第二调回标识和所述第二请求对应的第二请求参数进行绑定并发送至所述第二目标服务器,获取所述第二目标服务器返回的第二调回标识和第二请求对应的第二请求结果;
通过所述第二调回标识获取所述第二回调函数,将所述第二请求结果传入所述第二回调函数中,从而通过所述第二回调函数对第二请求进行响应。
10.一种远程过程调用装置,其特征在于,包括:
数据生成模块,被配置为根据第一请求对应的第一目标服务器,获取所述第一请求对应的第一关联数据并生成所述第一请求对应的第一调回标识;
数据绑定模块,被配置为基于脚本语言构建包含所述第一调回标识和所述第一关联数据的第一回调函数;
远程调用模块,被配置为将第一调回标识和所述第一请求对应的第一请求参数进行绑定并发送至所述第一目标服务器,获取所述第一目标服务器返回的第一调回标识和所述第一请求对应的第一请求结果;
请求响应模块,被配置为通过所述第一调回标识获取所述第一回调函数,将所述第一请求结果传入所述第一回调函数中,从而通过所述第一回调函数对第一请求进行响应。
11.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-9任意一项所述方法的步骤。
12.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-9任意一项所述方法的步骤。
CN202011559928.5A 2020-12-25 2020-12-25 一种远程过程调用方法及装置 Active CN112788104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011559928.5A CN112788104B (zh) 2020-12-25 2020-12-25 一种远程过程调用方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011559928.5A CN112788104B (zh) 2020-12-25 2020-12-25 一种远程过程调用方法及装置

Publications (2)

Publication Number Publication Date
CN112788104A true CN112788104A (zh) 2021-05-11
CN112788104B CN112788104B (zh) 2023-05-12

Family

ID=75752430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011559928.5A Active CN112788104B (zh) 2020-12-25 2020-12-25 一种远程过程调用方法及装置

Country Status (1)

Country Link
CN (1) CN112788104B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438206A (zh) * 2021-06-02 2021-09-24 中科海微(北京)科技有限公司 分布式事件驱动的物联网运行时系统、方法、终端及介质
CN114143127A (zh) * 2021-11-29 2022-03-04 网易(杭州)网络有限公司 数据广播方法、装置和电子设备
CN114553928A (zh) * 2021-12-31 2022-05-27 完美世界(重庆)互动科技有限公司 一种业务处理方法以及装置、电子设备、介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801737A (zh) * 2012-08-28 2012-11-28 北京城市网邻信息技术有限公司 一种异步网络通信方法及装置
CN105516086A (zh) * 2015-11-25 2016-04-20 广州华多网络科技有限公司 业务处理方法及装置
US9491261B1 (en) * 2013-07-29 2016-11-08 Amazon Technologies, Inc. Remote messaging protocol
CN107402826A (zh) * 2017-06-30 2017-11-28 武汉斗鱼网络科技有限公司 一种以异步方式进行远程过程调用的方法及装置
CN108769087A (zh) * 2018-02-23 2018-11-06 福建天晴数码有限公司 一种交互式系统的开发方法及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801737A (zh) * 2012-08-28 2012-11-28 北京城市网邻信息技术有限公司 一种异步网络通信方法及装置
US9491261B1 (en) * 2013-07-29 2016-11-08 Amazon Technologies, Inc. Remote messaging protocol
CN105516086A (zh) * 2015-11-25 2016-04-20 广州华多网络科技有限公司 业务处理方法及装置
CN107402826A (zh) * 2017-06-30 2017-11-28 武汉斗鱼网络科技有限公司 一种以异步方式进行远程过程调用的方法及装置
CN108769087A (zh) * 2018-02-23 2018-11-06 福建天晴数码有限公司 一种交互式系统的开发方法及服务器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438206A (zh) * 2021-06-02 2021-09-24 中科海微(北京)科技有限公司 分布式事件驱动的物联网运行时系统、方法、终端及介质
CN114143127A (zh) * 2021-11-29 2022-03-04 网易(杭州)网络有限公司 数据广播方法、装置和电子设备
CN114143127B (zh) * 2021-11-29 2023-10-20 网易(杭州)网络有限公司 数据广播方法、装置和电子设备
CN114553928A (zh) * 2021-12-31 2022-05-27 完美世界(重庆)互动科技有限公司 一种业务处理方法以及装置、电子设备、介质
CN114553928B (zh) * 2021-12-31 2024-04-16 完美世界(重庆)互动科技有限公司 一种业务处理方法以及装置、电子设备、介质

Also Published As

Publication number Publication date
CN112788104B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN112788104B (zh) 一种远程过程调用方法及装置
US10871953B2 (en) Application update method and apparatus
US8392497B2 (en) Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client
CN104618155B (zh) 一种虚拟机容错的方法、装置及系统
US8966376B2 (en) Methods and systems for remote desktop session redrawing via HTTP headers
US7920852B2 (en) Compression of data transmitted between server and mobile device
EP2649533B1 (en) Methods and systems for facilitating a remote desktop session utilizing long polling
US11010219B2 (en) Object-oriented remote procedure calls for browser applications
TWI626593B (zh) 一種軟體升級的方法及裝置
US9602329B1 (en) Dynamic remote procedure call
US20130318148A1 (en) Serialization and distribution of serialized content using socket-based communication
CN111277600B (zh) 数据传输方法及装置
US10455040B2 (en) Deferring invocation requests for remote objects
US10798201B2 (en) Redirecting USB devices via a browser-based virtual desktop infrastructure application
WO2019024275A1 (zh) 一种加载页面的方法、装置及计算机设备
US10552240B2 (en) Automatically generating efficient remote procedure call (RPC) code for heterogeneous systems
CN112631638B (zh) 终端应用更新方法、装置、存储介质及电子设备
WO2018133828A1 (zh) 用于客户端的数据处理方法和装置
US10430371B1 (en) Accelerating redirected USB devices that perform bulk transfers
CN114500647B (zh) 一种数据传输方法及装置
CN112416321B (zh) 应用生成方法、装置和存储介质及电子装置
CN103746909A (zh) 报文处理方法及装置
WO2020248383A1 (zh) 基于跨平台的数据处理方法、装置及计算机设备
CN110888633B (zh) 一种Unity与H5组件同步方法及系统
CN114371947A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant