CN103347053A - Remote coprocessing procedure call method based on pipeline technology - Google Patents

Remote coprocessing procedure call method based on pipeline technology Download PDF

Info

Publication number
CN103347053A
CN103347053A CN2013102418775A CN201310241877A CN103347053A CN 103347053 A CN103347053 A CN 103347053A CN 2013102418775 A CN2013102418775 A CN 2013102418775A CN 201310241877 A CN201310241877 A CN 201310241877A CN 103347053 A CN103347053 A CN 103347053A
Authority
CN
China
Prior art keywords
pipeline
rpc
data
module
call
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
Application number
CN2013102418775A
Other languages
Chinese (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.)
CHENGDU ONGOING INFORMATION TECHNOLOGY Co Ltd
Original Assignee
CHENGDU ONGOING 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 CHENGDU ONGOING INFORMATION TECHNOLOGY Co Ltd filed Critical CHENGDU ONGOING INFORMATION TECHNOLOGY Co Ltd
Priority to CN2013102418775A priority Critical patent/CN103347053A/en
Publication of CN103347053A publication Critical patent/CN103347053A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention discloses a remote coprocessing procedure call method based on the pipeline technology. The remote coprocessing procedure call method is used for solving the problems that data transmission quantity among nodes in a database cluster is large, and cross-node task execution is interacted and complex. In a database cluster system, remote procedure call types are divided according to processing functions, and each function comprises a corresponding function number and a processing module. The unique pipeline technology is used for transmitting data to solve the problem that cross-node data transmission quantity is large. The unique pipeline technology comprises a pipeline building module, a pipe data transmitting module, a pipeline data receiving module and a pipeline using flow window management module. A pipeline is built and generated according to an invoking function number, a two-end node number and a distributed session number, and partition of the pipeline is determined by union of the session number and the opposite-end node number. According to task characteristics, a plurality of pipelines can be selected simultaneously to call and execute gathering processing results. Data access can be conducted conveniently due to pipeline characteristics, network congestion caused by large data transmission quantity is avoided to flow window management.

Description

Remote collaborative processing procedure call method based on pipe technology
Technical field
The present invention relates to a kind of remote collaborative processing procedure call method based on pipe technology, belong to field of computer technology.
Background technology
The inter-node communication of data-base cluster, on physical layer and data link layer is transmission protocol layer, and the mutual level of the communication of application layer and transport layer is the comparison ambiguity always, and method flow is various.The effect function is uneven.In the running of cloud database, many operations are not finished in this locality by a node, need a plurality of nodes to work in coordination with and finish the work.And some are long and complicated operations just need be passed through remote procedure call in the process that task is carried out, executable operations on other nodes, and it not is to settle at one go that task requests is carried out, and the request that has need be carried out feedback according to long-range substep and dynamically adjust follow-up manner of execution.The task of having is carried out and is carried out by different level, and each XM of bottom obtains and the analyzing and processing bottom data obtains the intermediate object program collection, is aggregated into task upper strata analyzing and processing again and realizes that multimachine is concurrent and finish the work.Based on this, we have invented a kind of remote collaborative processing procedure call method based on pipe technology.Realized that data volume is big and the task of complicated operation achieves the goal by remote procedure call.
Summary of the invention
The objective of the invention is to invent a kind of remote collaborative processing procedure call method (hereinafter to be referred as RPC) based on pipe technology, it is big to be used for solving the data-base cluster volume of transmitted data, the problem that mutual complicated task cross-node is carried out.In data base cluster system, the RPC call type is divided according to processing capacity, and each function has corresponding function number and processing module.The RPC caller is according to handled functional module, interpolation function number in initiating to call, pass a parameter to XM by the RPC pipeline, the executor number call according to function that corresponding processing module is executed the task and by pipeline with result transmission to the described promoter of calling.Above-mentioned RPC pipeline is big for solving the cross-node volume of transmitted data, the pipe technology transmission data of the present invention's original creation, and it comprises the pipeline creation module, pipeline data sending module, pipeline data receiver module and pipeline use traffic window administration module.The structure of pipeline is formed and is comprised: the caller node number, and peer node number, session session number, create flag bit, the flow window, data send buffering area, and data receive buffering area, and data are read and are sent skew, wait the transmission thread, wait and read thread etc.
The establishment of pipeline is according to calling function number, and the two ends node number creates to generate for the session of distribution number, and the division of pipeline is by session number, and it is definite that peer node number is united.The present invention carries out the convergence processing result according to the optional majority pipeline of task characteristic concurrent invocation.Pipe characteristic is taken conveniently data, and the reportedly big generation network congestion of throughput rate of factor is avoided in the management of flow window.
The main functional module of the present invention has:
1, RPC calls initiation module
2, RPC calls the pipeline transmission module
3, RPC calling task Executive Module
4, RPC calls Back Administration Module
Wherein RPC calls the pipeline transmission module and comprises: RPC calls the pipeline creation module, and RPC calls the pipeline data sending module, and RPC calls the pipeline data receiver module, and RPC calls pipeline use traffic window administration module.
RPC calling task Executive Module is responsible for task and is carried out.
RPC call that feedback after Back Administration Module mainly be responsible for to be carried out and RPC finish to wither away and abnormal ending after resource discharge cleaning
The objective of the invention is to be achieved through the following technical solutions:
1. initiate to call from the RPC called side and finish to call, mainly experience following steps
S1: the far call promoter calls rpc_begin (peer_nid.func_id) establishment rpc pipeline according to the RPC type of service of self;
S2: streaming parameter is mail to RPC pipeline data buffering area;
S3: refresh RPC pipeline data buffering area and make the data of buffering area flow to the pipeline opposite end;
S4: hang and self wait for that execute the task in the opposite end and feedback result;
S5: read long-range return results from the RPC pipeline, judge to continue to carry out from the S2 step order according to the result and down carry out or carry out the end of S6 step;
S6: call rpc_stop and discharge the RPC conduit resource, finish to call.
2. the task executor mainly experiences following steps
S1: the RPC call request of receiving from the RPC pipeline number is called processing unit according to function and is carried out the RPC request;
S2: execution result is fed back to called side from the RPC pipeline.
In above-mentioned 2 S1 steps, it is that RPC calling task Executive Module is responsible for the task execution that request is handled: read data by the executor from pipeline, processing unit according to the funcall that reads number selection correspondence is executed the task according to parameter, because of the wide range that the RPC remote procedure call is used general, respectively calling will carrying out of task has nothing in common with each other, so with number differentiation of different functions, one of each function correspondence is processing unit independently, called side is called according to function number initiation, execution side carries out in this locality according to the processing unit of function correspondence, and is complete afterwards by pipeline feedback result and error message etc.
Above-mentioned RPC calls the flow window administration module in the pipeline transmission module, and the reportedly big generation network congestion of throughput rate of factor is avoided in management, may further comprise the steps:
Each node of S1 arranges the maximum useful discharge window number according to self-ability and network condition;
S2 uses pipeline transmission data, and detecting available window number is 0 commentaries on classics S3 as the available window number, the commentaries on classics S5 otherwise the utilizable flow window number successively decreases;
The new pipeline transmission data of S3 find that the available window number is 0, block pipeline, enter waiting list;
S4 finds the utilizable flow window, and the first pipeline transmission data in the wake-up waiting formation change 2;
S5 pipeline transmission ED discharges pipeline, and the utilizable flow window number increases progressively one, if former available window is 0 pipeline that changes in the formation of S4 wake-up waiting.
Beneficial effect
The present invention has following beneficial effect:
1, in resource not under the situation in this locality, the cross-node far call is carried out the complex interaction process;
2, by the pipeline streaming data, improve efficiency of transmission greatly, take conveniently: get time spent side, need not then be blocked in the pipeline;
3, the dissimilar RPC on the same working node calls and can concurrently carry out, pipeline utilance height, and result one end convergence processing in multitube road is convenient;
4, the RPC flow is regulated in the design of flow window, increases network utilization, and avoids network congestion.
Embodiment
Further specify technical scheme of the present invention below in conjunction with accompanying drawing, but the content that the present invention protects is not limited to the following stated.
As shown in Figure 1, based on the remote collaborative processing procedure call method (hereinafter to be referred as RPC) of pipe technology, comprise that RPC calls initiator's caller, call the executor of the side of being called with RPC, they are in different nodes and are connected with network.For realizing the execution of task cross-node, comprise following functional module: RPC calls initiation module, and RPC calls the pipeline transmission module, RPC calling task Executive Module, and RPC calls Back Administration Module.
The enforcement of RPC remote procedure calling (PRC) method comprises two aspects of caller and executor:
1.RPC call the promoter, select the RPC remote procedure calling (PRC) method to carry out as required and call, from calling initiation module, initiate to call with pipe method transmission parameter, call release conduit resource when finishing.
The RPC called side finishes to call from initiating to call, and mainly experiences following steps:
S1: the funcall that the far call promoter determine to use according to self RPC type of service number, call rpc_begin (peer_nid.func_id) and create the rpc pipeline;
S2: streaming parameter is mail to RPC pipeline data buffering area;
S3: refresh RPC pipeline data buffering area and make the data of buffering area flow to the pipeline opposite end;
S4: hang and self wait for that execute the task in the opposite end and feedback result;
S5: read long-range return results from the RPC pipeline, judge to continue to carry out from the S2 step order according to the result and down carry out or carry out the end of S6 step;
S6: call rpc_stop and discharge the RPC conduit resource, finish to call.
2. the executor receives RPC teleprocessing request from pipeline, reads parameter information, and in this locality by executing the task request of processing unit, feedback execution result, and carry out subsequent request or execution end process flow process as required.
The executor mainly experiences following steps:
S1: the RPC call request of receiving from the RPC pipeline number is called processing unit according to function and is carried out the RPC request;
S2: execution result is fed back to called side from the RPC pipeline.
In above-mentioned 2 S1 steps, it is that RPC calling task Executive Module is responsible for the task execution that request is handled: read data by the executor from pipeline, processing unit according to the funcall that reads number selection correspondence is executed the task according to parameter, complete error message by occurring in pipeline feedback result and the implementation afterwards.
In conjunction with shown in Figure 1, the RPC remote procedure calling (PRC) method, caller is in two different nodes with the executor, caller is that realization task cross-node is carried out, may further comprise the steps: caller is created the RPC pipeline earlier, pipeline is united definite by session number with other end node number, after creating pipeline, select number initiation of corresponding funcall to call the stream transmission parameter according to the function that realizes, flush data to XM, and waiting for that the executor feeds back execution result, the executor is from pipeline read functions call number and parameter, by the function number corresponding processing unit of selection, analytic parameter, and execute the task in this locality, the error message that runs in execution result and the implementation etc. is fed back to caller by pipeline, caller receives feedback result and judges whether that continuing to transmit parameter continues to carry out to the executor, if continue to carry out then transmit after the parameter etc. to be feedback, otherwise finish the call operation flow process, discharge conduit resource, finish RPC and call.

Claims (7)

1. based on the remote collaborative processing procedure call method (hereinafter to be referred as RPC) of pipe technology, it is the method that a kind of data-base cluster task cross-node far call is carried out, belong to computer software fields, it is characterized in that, it comprises that RPC calls initiation module, data transmission module, RPC task execution module, the RPC call type is divided according to processing capacity, and each function has corresponding function number and processing unit.
Initiate to call according to task function appointed function number 2.RPC call initiation module, the RPC task execution module number is selected corresponding processing unit processes task requests according to function.
3. data transmission module uses unique pipe technology transmission data.
4.RPC remote procedure calling (PRC) method is characterized in that, the described pipe technology that right 1 described data transmission module uses comprises the pipeline creation module, pipeline data sending module, pipeline data receiver module and pipeline use traffic window administration module.
5.RPC remote procedure calling (PRC) method is characterized in that, right 1 described pipe technology transmission data may further comprise the steps:
S1:RPC far call person is according to function number establishment RPC pipeline;
S2:RPC far call person streaming refreshes to the opposite end to RPC pipeline input parameter;
The long-range executor of S3:RPC reads the data based function number corresponding processing unit processes data of selection from pipeline;
The long-range executor of S4:RPC feeds back to RPC far call person with the result by pipeline transmission;
S5:RPC far call person receives feedback, selects continuation alternately or finishes to discharge conduit resource according to feedback.
6.RPC remote procedure calling (PRC) method is characterized in that, right 2 described flow window administration modules avoid factor reportedly the big generation network congestion of throughput rate may further comprise the steps:
Each node of SS1 arranges the maximum useful discharge window number according to self-ability and network condition;
SS2 uses pipeline transmission data, and detecting available window number be 0 commentaries on classics SS3 as the available window number, otherwise the utilizable flow window number successively decreases one, changes SS5;
The new pipeline transmission data of SS3 find that the available window number is 0, block pipeline, enter waiting list;
SS4 finds the utilizable flow window, and the first pipeline transmission data in the wake-up waiting formation are changeed SS2;
SS5 pipeline transmission ED discharges pipeline, and the utilizable flow window number increases progressively one, if former available window is 0 pipeline that changes in the formation of SS4 wake-up waiting.
7.RPC remote procedure calling (PRC) method is characterized in that, can a plurality of pipelines transmits data to same node simultaneously and carries out the data aggregation process, realizes the task execution concurrence.
CN2013102418775A 2013-06-19 2013-06-19 Remote coprocessing procedure call method based on pipeline technology Pending CN103347053A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102418775A CN103347053A (en) 2013-06-19 2013-06-19 Remote coprocessing procedure call method based on pipeline technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102418775A CN103347053A (en) 2013-06-19 2013-06-19 Remote coprocessing procedure call method based on pipeline technology

Publications (1)

Publication Number Publication Date
CN103347053A true CN103347053A (en) 2013-10-09

Family

ID=49281827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102418775A Pending CN103347053A (en) 2013-06-19 2013-06-19 Remote coprocessing procedure call method based on pipeline technology

Country Status (1)

Country Link
CN (1) CN103347053A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016169374A1 (en) * 2015-04-23 2016-10-27 珀金埃尔默企业管理(上海)有限公司 Proxy framework service system and method
CN111221662A (en) * 2019-10-16 2020-06-02 贝壳技术有限公司 Task scheduling method, system and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071578A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation System and method for manipulating data with a plurality of processors
CN1852209A (en) * 2006-05-31 2006-10-25 北京和利时系统工程股份有限公司 Remote process transfering method and system in distribution type control system
CN101901207A (en) * 2010-07-23 2010-12-01 中国科学院计算技术研究所 Operating system of heterogeneous shared storage multiprocessor system and working method thereof
CN102681881A (en) * 2011-03-07 2012-09-19 中国银联股份有限公司 Cross-computer scheduling method and system thereof
CN103116520A (en) * 2012-11-02 2013-05-22 深圳键桥通讯技术股份有限公司 Remote procedure call remote position control (RPC) method based on transmission control protocol (TCP)/user datagram protocol (UDP)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071578A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation System and method for manipulating data with a plurality of processors
CN1852209A (en) * 2006-05-31 2006-10-25 北京和利时系统工程股份有限公司 Remote process transfering method and system in distribution type control system
CN101901207A (en) * 2010-07-23 2010-12-01 中国科学院计算技术研究所 Operating system of heterogeneous shared storage multiprocessor system and working method thereof
CN102681881A (en) * 2011-03-07 2012-09-19 中国银联股份有限公司 Cross-computer scheduling method and system thereof
CN103116520A (en) * 2012-11-02 2013-05-22 深圳键桥通讯技术股份有限公司 Remote procedure call remote position control (RPC) method based on transmission control protocol (TCP)/user datagram protocol (UDP)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016169374A1 (en) * 2015-04-23 2016-10-27 珀金埃尔默企业管理(上海)有限公司 Proxy framework service system and method
CN111221662A (en) * 2019-10-16 2020-06-02 贝壳技术有限公司 Task scheduling method, system and device

Similar Documents

Publication Publication Date Title
CN103294531B (en) A kind of method for allocating tasks and system
US9703610B2 (en) Extensible centralized dynamic resource distribution in a clustered data grid
CN106708917B (en) A kind of data processing method, device and OLAP system
CN103870340A (en) Data processing method and control node in stream computation system and stream computation system
WO2019001092A1 (en) Load balancing engine, client, distributed computing system, and load balancing method
CN106027596A (en) Task distributing method and device
CN109416646B (en) Optimization method for container allocation and processing equipment
CN103516744A (en) A data processing method, an application server and an application server cluster
CN103944769A (en) RPC (Remote Procedure Call) protocol based cluster resource unified management system
CN103023980B (en) A kind of method and system of cloud platform processes user service request
CN105847891A (en) Resource preemption method and device
CN110109756A (en) A kind of network target range construction method, system and storage medium
CN107291536B (en) Application task flow scheduling method in cloud computing environment
CN103544285A (en) Data loading method and device
CN102436399A (en) Load-balanced acquisition method
CN104239555A (en) MPP (massively parallel processing)-based parallel data mining framework and MPP-based parallel data mining method
CN110187960A (en) A kind of distributed resource scheduling method and device
CN106657099B (en) Spark data analysis service publishing system
CN104102533A (en) Bandwidth aware based Hadoop scheduling method and system
CN105786447A (en) Method and apparatus for processing data by server and server
CN108280018B (en) Method and system for analyzing and optimizing communication overhead efficiency of node workflow
CN104112049A (en) P2P (peer-to-peer) architecture based cross-data-center MapReduce task scheduling system and P2P architecture based cross-data-center MapReduce task scheduling method
CN105610992A (en) Task allocation load balancing method of distributive flow computing system
CN106161520A (en) Big market demand platform and exchange method based on it
CN108282526A (en) Server dynamic allocation method and system between double clusters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131009