CN106453250A - 一种大数据rpc的处理方法 - Google Patents

一种大数据rpc的处理方法 Download PDF

Info

Publication number
CN106453250A
CN106453250A CN201610802023.3A CN201610802023A CN106453250A CN 106453250 A CN106453250 A CN 106453250A CN 201610802023 A CN201610802023 A CN 201610802023A CN 106453250 A CN106453250 A CN 106453250A
Authority
CN
China
Prior art keywords
data
rpc
storehouse
big data
client
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
CN201610802023.3A
Other languages
English (en)
Other versions
CN106453250B (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.)
Ireader Technology Co Ltd
Zhangyue Technology Co Ltd
Original Assignee
Zhangyue 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 Zhangyue Technology Co Ltd filed Critical Zhangyue Technology Co Ltd
Priority to CN201610802023.3A priority Critical patent/CN106453250B/zh
Publication of CN106453250A publication Critical patent/CN106453250A/zh
Application granted granted Critical
Publication of CN106453250B publication Critical patent/CN106453250B/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种大数据RPC的处理方法,包括:1)客户端基于所述简单数据构建请求头并在请求头的结尾加入大数据标识;2)客户端发送所述请求头并紧接着以数据流的形式直接发送未做打包处理的剩余数据;3)服务端识别出所述大数据标识时,立即对请求头中携带的简单数据进行处理;同时继续接收数据流;4)服务端在获得简单数据的返回值后,立即构造响应头并在响应头的结尾加入大数据标识;5)服务端将响应头返回给客户端。本发明适用于大数据场景下的远程过程调用;在有大数据传输的情况下也能达到即时处理的效果,能够提升用户体验;兼容传统RPC。

Description

一种大数据RPC的处理方法
技术领域
本发明涉及大数据软件技术领域,具体地说,本发明涉及一种大数据RPC(RPC全称为Remote Procedure Call Protocol,即远程过程调用)的处理方法。
背景技术
当前大数据应用与技术处于高速发展时期,为应对大数据的处理需求,构建分布式软件系统在所难免。分布式软件系统是支持分布式处理的软件系统,它通常是在由通信网络互联的多处理机体系结构上执行任务的系统。例如,在分布式计算机操作系统中,一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。而分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。
现有技术中,很多分布式软件系统是基于RPC协议(即Remote Procedure CallProtocol)构建的。例如,分布式操作系统的进程间通讯是操作系统必须提供的基本设施之一,分布式操作系统必须提供分布于异构的结点机上进程间的通讯机制,而RPC协议是实现消息传送模式的分布式进程间通讯的手段之一。再例如,在分布式数据库系统中,数据库一般驻存在服务器上,客户机通过远程数据库服务功能访问数据库服务器,而现有的远程数据库服务是使用RPC模式的。再例如,RPC机制与RPC工具为分布式应用程序设计提供了手段和方便,用户可以无需知道网络结构和协议细节而直接使用RPC工具设计分布式应用程序。
RPC的主要目的是为组件提供一种相互通信的方式,使这些组件之间能够相互发出请求并传递这些请求的结果。基于RPC机制,程序可以请求网络中另一台计算机上某程序的服务而不需知道网络细节。在RPC协议中,使用客户端/服务器模型(即client/server模型)。请求程序是客户端(client),而服务提供程序则为服务器(server)。就像一般的本地过程调用一样,RPC是一个同步操作,直到远程过程结果返回请求程序才可以挂起。尽管如此,使用轻质进程或线程时,它们共享同一地址空间,是允许多个RPC并发执行的。当使用RPC的程序语句被编译成可执行程序时,一个存根(stub)将会被包括在编译的代码中,它相当于远程过程代码(有时也称为具体实现代码)的代表。当程序运行,过程调用发生,存根收到请求并将其转发给本地计算机中的一个客户端运行时刻程序。这个客户端运行时刻程序知道如何访问远程计算机及服务器的应用程序,它将向网络发送请求远程过程的消息。类似地,服务器也包括一个运行时刻程序及与远程过程连接的存根程序,结果将以相同方式返回。以下是一个远程过程调用(RPC)的示例,它包括:
1.调用客户端句柄;执行传送参数。
2.调用本地系统内核发送网络消息。
3.消息传送到远程主机。
4.服务器句柄得到消息并取得参数。
5.执行远程过程。
6.执行的过程将结果返回服务器句柄。
7.服务器句柄返回结果,调用远程系统内核。
8.消息传回本地主机。
9.客户端句柄由内核接收消息。
10.客户端接收句柄返回的数据。
综上所述,RPC协议已被广泛应用到分布式软件系统中,并且该协议具有诸多优点,例如用户可以无需知道网络结构和协议细节而直接使用RPC工具设计分布式应用程序。然而,当前对于大数据处理的需求越来越多,而现有的基于RPC协议的分布式软件系统在处理大数据时暴露出了反应速度慢,用户体验不佳等诸多问题。而另一方面,专门针对大数据的处理来开发全新的分布式软件系统成本十分高昂,并且难以满足用户对于兼容性要求。
因此,当前迫切需要一种兼容性好并且能够提升反应速度和用户体验的基于大数据的远程过程调用解决方案。
发明内容
本发明的任务是提供一种兼容性好并且能够提升反应速度和用户体验的基于大数据的远程过程调用解决方案。
本发明提供了一种大数据RPC的处理方法,涉及客户端和服务器端,包括下列步骤:
1)客户端将待处理的大体积数据切分为简单数据和剩余数据两部分,基于所述简单数据通过RPC机制构建请求头并在请求头的结尾加入大数据标识;
2)客户端通过RPC底层链路向服务器端发送所述请求头,并在所述请求头发送完毕后,利用同一RPC底层链路以数据流的形式直接发送未做打包处理的所述剩余数据;
3)服务端通过RPC底层链路接收数据并进行解析,当识别出所述大数据标识时,立即对请求头中携带的简单数据进行处理;同时继续接收数据流形式的剩余数据并由所述远程服务代码对剩余数据进行处理;
4)服务端在获得简单数据的返回值后,立即基于该简单数据的返回值通过RPC机制构造响应头并在响应头的结尾加入大数据标识;
5)服务端通过RPC底层链路将响应头返回给客户端。
其中,所述客户端包括调用者、代理对象和客户端RPC库;
所述步骤1)包括下列子步骤:
11)调用者将待处理的大体积数据切分为简单数据和剩余数据两部分,然后根据所需的处理方法调用对应的代理对象;
12)代理对象基于所述简单数据通过RPC机制构建请求头并在请求头的结尾加入大数据标识;
所述步骤2)包括下列子步骤:
21)代理对象调用客户端RPC库通过RPC底层链路向服务端发送所述请求头;
22)客户端RPC库将请求头发送完毕后利用同一RPC底层链路以数据流的形式直接发送未做打包处理的所述剩余数据。
其中,所述服务器端包括服务器端RPC库、存根和远程服务代码;
所述步骤3)包括下列子步骤:
31)服务端RPC库通过RPC底层链路接收数据并对所接收的数据进行解析;
32)服务端RPC库当识别出所述大数据标识时,判定先前所接收的数据为请求大数据处理的请求头,此时立即根据请求头中携带信息调用对应的存根;与此同时,服务端RPC库继续接收数据流形式的剩余数据;
33)所述存根立即调用远程服务代码对请求头中携带的简单数据进行处理。
其中,所述步骤4)包括下列子步骤:
41)远程服务代码获得简单数据的返回值后,立即将该简单数据的返回值返回给所述存根;
42)所述存根立即基于该简单数据的返回值通过RPC机制构造响应头并在响应头的结尾加入大数据标识。
其中,所述步骤5)包括下列子步骤:
51)所述存根构造响应头完毕后立即调用服务器端RPC库;
52)服务器端RPC库通过RPC底层链路将响应头返回给客户端。
其中,所述步骤41)还包括:远程服务代码在处理完简单数据后,继续读取来自于同一RPC底层链路的后续数据流并对后续数据流进行处理;
所述大数据RPC的处理方法还包括步骤:
6)远程服务代码在得到所述剩余数据的返回值后,利用服务器端RPC库以数据流的形式向客户端返回所述剩余数据的返回值。
其中,所述步骤6)包括下列子步骤:
61)所述服务器端RPC库在传输所述响应头完毕后继续维持所使用的RPC底层链路;
62)远程服务代码在得到所述剩余数据的返回值后调用存根,所述存根不对所述剩余数据的返回值做打包处理,直接调用所述服务器端RPC库;
63)所述RPC库通过传送所述响应头的RPC底层链路,将所述剩余数据的返回值传输给客户端。
其中,所述的大数据RPC的处理方法还包括步骤:
7)客户端RPC库接收并解析数据,当识别出所述大数据标识时,立即将响应头中携带的简单数据的返回值传送给调用者;同时客户端RPC库继续接收数据流形式的剩余数据的返回值;调用者在获得简单数据的返回值后,继续读取数据流形式的剩余数据的返回值。
其中,所述大体积数据是超过预设的数据量阈值的数据文件;所述简单数据包括大体积数据的元数据;所述简单数据的数据量远远小于所述剩余数据的数据量。
其中,所述剩余数据和所述剩余数据的返回值均以既定字节序发送。
本发明还提供了另一种大数据RPC的即时处理方法,包括下列步骤:
1)RPC调用分成两个阶段,并且不打包请求/响应,按照既定的字节序发送数据;
2)第一个阶段由RPC库自身处理简单数据;
3)第二个阶段由具体实现/调用者处理大数据流。
4)即时处理:不用等待所有数据完全传输完毕就可进行处理。
其中,所述步骤1)中,RPC在调用过程中,不对请求/响应进行打包,这样做时因为并不能对大数据进行打包,而是按照既定的字节序直接发送。同样,在做数据解析时,也是按照既定的字节序进行解析。在此场景下,把简单数据放于头部,最后跟大数据流。
其中,所述步骤3)中,调用过程分为两个阶段,大数据的处理留给具体实现/调用者处理;第一个阶段按照字节序读取数据流的头部数据,并做解析;第二个阶段是大数据RPC的即时处理方法的关键所在,即:处理大数据阶段。
其中,所述步骤4)中,为达到即时处理的目的,只需从数据流的头部读取解析出必要的简单数据(通常只有十几个字节)即可开始处理。在开始处理后,剩余的大数据部分可能仍在发送当中。
与现有技术相比,本发明具有下列技术效果:
1、本发明适用于大数据场景下的远程过程调用。
2、本发明在有大数据传输的情况下也能达到即时处理的效果,能够提升用户体验。
3、本发明兼容传统RPC。
4、本发明的整个调用过程简单清晰,职责分明。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1示出了本发明一个实施例的大数据RPC的即时处理方法的流程示意图。
具体实施方式
经研究发现,传统RPC在大数据场景的瓶颈在于打包和解包。针对这个问题,发明人把请求/响应分成了两部分,数据读取(处理)分成两个阶段。第一阶段,由RPC库按照既定的字节序从头部读取/解析简单数据类型,然后调用具体实现/返回调用者,第二阶段把读取(处理)大数据的工作交由具体实现/调用者去完成。第一阶段所需数据通常非常小,因此可以达到即刻处理请求目的。
根据本发明的一个实施例,提供了一种大数据RPC的即时处理方法,该方法所涉及的实体包括调用者、具体实现、存根以及RPC库。其中,调用者是客户端需要调用远程过程的程序或应用。具体实现就是具体的远程过程代码。存根相当于远程过程代码的代表,在Java语言中,存根一般以接口的形式出现。在客户端,具有与存根对应的代理对象,该代理对象可以通过RPC库获取。在Java语言中,该代理对象可以使用JDK(Java Development Kit)的动态代理或者其他字节库获取。本实施例中,存根是调用者、具体实现、RPC库的接口信息纽带,同时也是如何构建请求头/响应头的依据。RPC库在网络传输以及调用协议上做支持。调用者在调用方法时,通过RPC库的底层链接,把最终调用导向具体实现,具体实现的返回值,再次通过RPC库的底层链接,返回给调用者。
本实施例中,大数据RPC的即时处理方法包括下列步骤:
步骤1:客户端的调用者读取大体积数据,调用本地的代理对象。
步骤2:代理对象根据它所对应的存根构造请求头并调用客户端的RPC库。其中,从所述大体积数据提取元数据信息并将其作为简单数据,然后基于简单数据,根据所对应的存根构造请求头。该请求头中含有根据存根和简单数据生成的请求参数,并且在请求头的结尾具有大数据标识。
步骤3:客户端的RPC库通过RPC库的底层链接将请求头传输给服务器端,在请求头传输完毕后,直接利用已建立的传输请求头的链接向客户端以数据流的形式传输原大体积数据的剩余数据。在传输剩余数据时,按照既定字节序发送。
步骤4:服务器端的RPC库接收并解析所接收的数据。在接收到请求头时,服务器端的RPC库可以解析出相应的指令和简单数据的请求参数,当解析出大数据标识时,请求头解析完毕。
步骤5:服务器端的RPC库根据所解析出的请求头后立即调用相应的存根。当解析到结尾部分时,服务器端的RPC库可以识别出大数据标识,此时该RPC库继续保持原有链接(即传输请求头的链接)并接收后续的数据流,同时将后续的数据流转发给存根。数据流的转发仅是逻辑上的转发,在实际实现上,RPC库可以仅将用于缓存数据流的缓存空间的起始地址传递给存根。
步骤6:存根启动后立即调用具体实现,即立即调用具体的远程过程代码(或者称为远程服务代码)。具体实现基于请求头的指令和请求参数进行相应数据处理(即服务所包含的各项数据处理),然后得到对应于简单数据的返回值。
步骤7:在获得简单数据的返回值后,具体实现根据存根传递的起始地址继续读取数据流,并对继续对数据流进行相应数据处理。
步骤8:在获得简单数据的返回值后,具体实现立即将该返回值返回给存根。在获得后续数据流的返回值时,也立即将后续数据流的返回值返回给存根。
步骤9:存根在获得返回值后立即将其返回给RPC库。
步骤10:RPC库接收到具体实现的简单数据的返回值后,首先构建响应头(按照既定字节序发送),并在响应头的尾部标识是否携带大数据流。然后通过RPC库的底层链接将响应头返回至客户端。并且,在响应头传递完毕后,继续保留原RPC库底层链接,并在接收到后续的大数据流的返回值时,使用原有底层链接将该返回值以数据流的形式返回给客户端。
步骤11:客户端的RPC库接收服务端返回的数据并进行解析。当接收并解析出响应头时,客户端的RPC库能够得出简单数据的返回值(这个返回值通常也是简单数据)。在解析到大数据标识时,可认定响应头接收完毕后,继续接收后续的大数据流返回值。
步骤12:当响应头接收完毕时,客户端的RPC库立即将简单数据的返回值返回给代理对象。同时,RPC库将后续大数据流返回值的缓存地址提供给代理对象。
步骤13:代理对象将简单数据的返回值返回给调用者,同时,将后续大数据流返回值的缓存地址提供给调用者。
步骤14:调用者获取简单数据的返回值,其后根据缓存地址读取后续的大数据流返回值。
通过以上步骤就完成了一次RPC调用。
本实施例与传统RPC实现办法不同,它的客户端RPC库不会把大体积数据的请求参数等信息完全打包发送,服务器端也不会等待完全读取网络数据后再进行解包。这能够避免打包和解包过程中需要获取全部数据,降低了对计算机内存的要求,同时提高了远程过程的响应速度。
本实施例中,为达到即时处理的目的,只需从数据流的头部读取解析出必要的简单数据(通常只有十几个字节)即可开始处理。在开始处理后,剩余的大数据部分可能仍在发送当中。也就是说,本发明在有大数据传输的情况下也能达到即时处理的效果,能够提升用户体验。而另一方面,本实施例具有很好的兼容性,对现有的RPC机制不需要做大量的改动,有利于对已有的海量的分布式程序(应用)进行移植,使之能够适应大数据处理的需求。
上述实施例中,请求头的构造方法与现有的RPC机制中的请求消息的构造方法是一致的,区别仅在于:a)本发明实施例的大数据RPC即时处理方法中,在构造请求头时输入的是简单数据而不是全部数据;以及b)本发明实施例的大数据RPC即时处理方法中,在请求头的结尾处打上了大数据标识。因此,在客户端,仅需要将原始的大体积数据替换成简单数据输入,然后直接调用现有的RPC机制的请求消息构造模块,即可生成请求头的主体部分,然后再在请求头的结尾处加入大数据标识,即可得到所需的请求头。这个请求头在在服务器端可被视为请求消息,可以直接作为请求消息进行解析和处理,因此与现有的RPC机制是完全兼容的。另一方面,客户端还增加了以数据流的形式直接传输剩余数据的操作,这个数据流是紧接着请求头的,使用同一RPC底层链接。在服务器端,RPC库仅需要增加识别大数据标识的步骤,并在识别出大数据标识时,继续保持RPC底层链路并继续接收数据流;以及为远程服务代码提供该RPC底层链路传送的后续数据流的缓存地址或指针,让远程服务代码处理完请求头后继续对后续数据流进行处理即可。此时,远程服务代码可直接读取后续数据流,避免了数据流中数据的打包和解包操作。因此,上述改进后的机制能够在兼容现有RPC机制的基础上,使用较小的改造,即可大幅提高远程调用的响应速度,特别适应大数据分布式处理的需要。
在实际应用时,调用者通常是可执行程序,例如exe程序。一台运行主程序的主机可以利用本发明的RPC机制远程调用多个其他主机来执行该主程序的各个子进程,从而加快数据处理速度。而本发明能够很好地克服在处理大数据时主程序与远程子进程之间参数传递的延迟问题,从而提高了分布式大数据处理的响应速度。
在一个实施例中,代理对象和存根可合并成一个模块,称为代理存根,此时,分布式系统中的各个节点既可以作为客户端调用其他远程服务器,可以作为服务器端被其他客户端调用。
在一个实施例中,大体积数据可以用数据量阈值来判定,例如某数据文件的数据量大于某一预设的数据量阈值时,则判定该数据文件为大体积数据。大体积数据可以是大尺寸视频、音频、书籍等各种类型的数据文件,也可以是记录了海量用户行为特征的数据文件。
在一个实施例中,简单数据是所述大体积数据的元数据。元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。剩余数据则是除去元数据以外的其它数据。
在另一个实施例中,简单数据可以是元数据加上少量的其它数据。这里其它数据是指含有主要的待处理内容的数据。优选地,简单数据包括元数据加上其它数据的少量的开头部分。这样的优势是在某些应用场合调用者可以较快地获得响应,并向用户呈现开头部分的处理结果,从而提升用户体验。
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。

Claims (10)

1.一种大数据RPC的处理方法,包括下列步骤:
1)客户端将待处理的大体积数据切分为简单数据和剩余数据两部分,针对所述简单数据,通过RPC机制构建请求头并在请求头中加入大数据标识;
2)客户端通过RPC底层链路向服务器端发送所述请求头,并在所述请求头发送完毕后,利用同一RPC底层链路以数据流的形式直接发送未做打包处理的所述剩余数据;
3)服务端通过RPC底层链路接收数据并进行解析,当识别出所述大数据标识时,立即对请求头进行处理;同时继续接收数据流形式的剩余数据并对剩余数据进行处理;
4)服务端在获得简单数据的返回值后,立即针对该简单数据的返回值,通过RPC机制构造响应头并在响应头的结尾加入大数据标识;
5)服务端通过RPC底层链路将响应头返回给客户端。
2.根据权利要求1所述的大数据RPC的处理方法,其特征在于,所述客户端包括调用者、代理对象和客户端RPC库;
所述步骤1)包括下列子步骤:
11)调用者将待处理的大体积数据切分为简单数据和剩余数据两部分,然后根据所需的处理方法调用对应的代理对象;
12)代理对象基于所述简单数据通过RPC机制构建请求头并在请求头的结尾加入大数据标识;
所述步骤2)包括下列子步骤:
21)代理对象调用客户端RPC库通过RPC底层链路向服务端发送所述请求头;
22)客户端RPC库将请求头发送完毕后利用同一RPC底层链路以数据流的形式直接发送未做打包处理的所述剩余数据。
3.根据权利要求2所述的大数据RPC的处理方法,其特征在于,所述服务器端包括服务器端RPC库、存根和远程服务代码;
所述步骤3)包括下列子步骤:
31)服务端RPC库通过RPC底层链路接收数据并对所接收的数据进行解析;
32)服务端RPC库当识别出所述大数据标识时,判定先前所接收的数据为请求大数据处理的请求头,此时立即根据请求头中携带信息调用对应的存根;与此同时,服务端RPC库继续接收数据流形式的剩余数据;
33)所述存根立即调用远程服务代码对请求头中携带的简单数据进行处理。
4.根据权利要求3所述的大数据RPC的处理方法,其特征在于,
所述步骤4)包括下列子步骤:
41)远程服务代码获得简单数据的返回值后,立即将该简单数据的返回值返回给所述存根;
42)所述存根立即基于该简单数据的返回值通过RPC机制构造响应头并在响应头的结尾加入大数据标识。
5.根据权利要求4所述的大数据RPC的处理方法,其特征在于,所述步骤5)包括下列子步骤:
51)所述存根构造响应头完毕后立即调用服务器端RPC库;
52)服务器端RPC库通过RPC底层链路将响应头返回给客户端。
6.根据权利要求5所述的大数据RPC的处理方法,其特征在于,所述步骤41)还包括:远程服务代码在处理完简单数据后,继续读取来自于同一RPC底层链路的后续数据流并对后续数据流进行处理;
所述大数据RPC的处理方法还包括步骤:
6)远程服务代码在得到所述剩余数据的返回值后,利用服务器端RPC库以数据流的形式向客户端返回所述剩余数据的返回值。
7.根据权利要求6所述的大数据RPC的处理方法,其特征在于,所述步骤6)包括下列子步骤:
61)所述服务器端RPC库在传输所述响应头完毕后继续维持所使用的RPC底层链路;
62)远程服务代码在得到所述剩余数据的返回值后调用存根,所述存根不对所述剩余数据的返回值做打包处理,直接调用所述服务器端RPC库;
63)所述RPC库通过传送所述响应头的RPC底层链路,将所述剩余数据的返回值传输给客户端。
8.根据权利要求1所述的大数据RPC的处理方法,其特征在于,还包括步骤:
7)客户端RPC库接收并解析数据,当识别出所述大数据标识时,立即将响应头中携带的简单数据的返回值传送给调用者;同时客户端RPC库继续接收数据流形式的剩余数据的返回值;调用者在获得简单数据的返回值后,继续读取数据流形式的剩余数据的返回值。
9.根据权利要求1所述的大数据RPC的处理方法,其特征在于,所述大体积数据是超过预设的数据量阈值的数据文件;所述简单数据包括大体积数据的元数据;所述简单数据的数据量远远小于所述剩余数据的数据量。
10.根据权利要求8所述的大数据RPC的处理方法,其特征在于,所述剩余数据和所述剩余数据的返回值均以既定字节序发送。
CN201610802023.3A 2016-09-05 2016-09-05 一种大数据rpc的处理方法 Active CN106453250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610802023.3A CN106453250B (zh) 2016-09-05 2016-09-05 一种大数据rpc的处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610802023.3A CN106453250B (zh) 2016-09-05 2016-09-05 一种大数据rpc的处理方法

Publications (2)

Publication Number Publication Date
CN106453250A true CN106453250A (zh) 2017-02-22
CN106453250B CN106453250B (zh) 2019-07-09

Family

ID=58163783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610802023.3A Active CN106453250B (zh) 2016-09-05 2016-09-05 一种大数据rpc的处理方法

Country Status (1)

Country Link
CN (1) CN106453250B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107920075A (zh) * 2017-11-17 2018-04-17 北京锐安科技有限公司 一种数据处理的系统
CN109981674A (zh) * 2019-04-04 2019-07-05 北京信而泰科技股份有限公司 一种远程过程调用方法、装置、设备及介质
CN113746851A (zh) * 2021-09-08 2021-12-03 上海幻电信息科技有限公司 一种支持实时解析grpc请求的代理系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473116A (zh) * 2013-09-11 2013-12-25 北京思特奇信息技术股份有限公司 一种大数据量数据远程调用方法及装置
US8924472B1 (en) * 2011-08-20 2014-12-30 Datastax, Inc. Embedding application services in a distributed datastore
CN104683472A (zh) * 2015-03-12 2015-06-03 浪潮集团有限公司 一种支持大数据量的数据传输方法
CN105608212A (zh) * 2015-12-30 2016-05-25 成都创智云科技股份有限公司 一种确保MapReduce的数据输入分片包含完整记录的方法与系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924472B1 (en) * 2011-08-20 2014-12-30 Datastax, Inc. Embedding application services in a distributed datastore
CN103473116A (zh) * 2013-09-11 2013-12-25 北京思特奇信息技术股份有限公司 一种大数据量数据远程调用方法及装置
CN104683472A (zh) * 2015-03-12 2015-06-03 浪潮集团有限公司 一种支持大数据量的数据传输方法
CN105608212A (zh) * 2015-12-30 2016-05-25 成都创智云科技股份有限公司 一种确保MapReduce的数据输入分片包含完整记录的方法与系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107920075A (zh) * 2017-11-17 2018-04-17 北京锐安科技有限公司 一种数据处理的系统
CN109981674A (zh) * 2019-04-04 2019-07-05 北京信而泰科技股份有限公司 一种远程过程调用方法、装置、设备及介质
CN109981674B (zh) * 2019-04-04 2021-08-17 北京信而泰科技股份有限公司 一种远程过程调用方法、装置、设备及介质
CN113746851A (zh) * 2021-09-08 2021-12-03 上海幻电信息科技有限公司 一种支持实时解析grpc请求的代理系统和方法
CN113746851B (zh) * 2021-09-08 2023-08-18 上海幻电信息科技有限公司 一种支持实时解析grpc请求的代理系统和方法

Also Published As

Publication number Publication date
CN106453250B (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
US8332520B2 (en) Web server for managing session and method thereof
US8205007B2 (en) Native format tunneling
CN107729139A (zh) 一种并发获取资源的方法和装置
JP2015008016A (ja) グラフ型計算の分散サービス
CN110457144B (zh) 一种实现前端应用的方法、装置、介质和设备
CN102214099B (zh) 用于autosar的rte代码自动生成方法
US8707329B2 (en) Open framework system for heterogeneous computing and service integration
CN105743955B (zh) 一种扩展JavaScript对象方法
CN106453250A (zh) 一种大数据rpc的处理方法
CN109343975B (zh) 用于页面间异步通信的方法和装置
CN109634751A (zh) 一种利用electron框架实现应用层和底层通信的方法
CN111026634A (zh) 一种接口自动化测试系统、方法、装置及存储介质
CN112511591A (zh) 一种医院接口数据交互的实现方法、装置、设备和介质
CN109725887B (zh) 基于消息研发框架的数据交互方法、装置及终端设备
JP4852906B2 (ja) 連携処理システム及び装置
US20090307712A1 (en) Actor virtual machine
JP2009157786A (ja) メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム
CN112579212A (zh) 跨语言调用的方法、调用方装置及被调用方装置
US7584284B2 (en) Path-token-based web service caching method
Hahn et al. Modeling data transformations in data-aware service choreographies
WO2017084515A1 (zh) 数据码流发送方法及装置
US20150032789A1 (en) Dynamic object oriented remote instantiation
CN113918245A (zh) 一种数据调用方法、装置、设备及计算机可读存储介质
CN109669793B (zh) 中间件进程内对象调用方法
CN110262912B (zh) 一种过程调用gRPC的调用方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant