亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Thrift的RPC中間件在航天信息系統(tǒng)中的設(shè)計與實現(xiàn)

        2018-01-05 01:01:21孔維萍蔣曉肖肖永利
        計算機測量與控制 2017年12期
        關(guān)鍵詞:序列化中間件調(diào)用

        楊 帆,孔維萍, 蔣曉肖, 肖永利, 虢 華

        (上海航天控制技術(shù)研究所,上海 200233)

        基于Thrift的RPC中間件在航天信息系統(tǒng)中的設(shè)計與實現(xiàn)

        楊 帆,孔維萍, 蔣曉肖, 肖永利, 虢 華

        (上海航天控制技術(shù)研究所,上海 200233)

        隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,大數(shù)據(jù)存儲技術(shù)日趨成熟,針對系統(tǒng)應(yīng)用實施中存在的跨平臺和可擴展性問題,分析了在航天信息系統(tǒng)中遠程服務(wù)調(diào)用的幾種技術(shù)方法,提出了基于Thrift技術(shù)設(shè)的一種跨平臺可擴展的遠程調(diào)用中間件,利用Thrift框架的技術(shù)特點,有效提高了可擴展性和高效傳輸性能;實際應(yīng)用表明,該技術(shù)方案在跨平臺可擴展性有顯著優(yōu)勢,大數(shù)據(jù)傳輸性能優(yōu)越,較好地滿足信息化項目的需求。

        Thrift;遠程過程調(diào)用;航天信息化

        0 引言

        國家十三五以來,互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等信息化技術(shù)高速發(fā)展,帶動了航天軍工系統(tǒng)的信息化應(yīng)用,多數(shù)型號設(shè)備實驗測試軟件也逐步從單機單軟、專機專用的定制化研發(fā)模式向通用化、信息化的技術(shù)發(fā)展。劉杰等[1]介紹了航天信息化工程中云計算方面的應(yīng)用情況,胡明明等[2]探討了航天系統(tǒng)中信息化通用標準體系的構(gòu)建,馬昌超等[3]介紹了航天信息化的建設(shè)模式。本文調(diào)研了主流互聯(lián)網(wǎng)產(chǎn)品的應(yīng)用情況,根據(jù)阿里巴巴公司的實時數(shù)據(jù)傳輸平臺[4],以及Facebook的開源日志收集系統(tǒng)[5]等的信息技術(shù)研究,結(jié)合航天信息化系統(tǒng)應(yīng)用背景,提出了一種基于Thrift框架的跨平臺、跨語言的遠程過程調(diào)用協(xié)議(remote procedure call protocol,RPC)方案,并在自研的信息化項目能源系統(tǒng)(energy mangement system,EMS)、試驗管理系統(tǒng)(test data management system,TDM)中成功應(yīng)用,取得良好的效果。

        1 基于Thrift框架的遠程服務(wù)調(diào)用分析

        1.1 遠程服務(wù)調(diào)用應(yīng)用分析

        目前,遠程服務(wù)調(diào)用的技術(shù)實現(xiàn)方式大致可分為三類[6]:第一類,采用分布式對象技術(shù);第二類,基于過程的服務(wù)調(diào)用;第三類,通過WebService服務(wù)調(diào)用方式。

        分布式對象技術(shù)是最早期提出的一種實現(xiàn)方式,主要技術(shù)有:RMI(remote method invocation,遠程方法調(diào)用)/EJB(enterprise java bean, JavaEE服務(wù)器端組件模型),COM(component object model,組件對象模型)/DCOM(distribute component object model,分布式組件對象模型)/COM+和OMG (object management group,對象管理組織)提出的CORBA(common object request broker architecture,公用對象請求代理體系結(jié)構(gòu))[7]。其中比較流行的技術(shù)是微軟提出的COM/DCOM和OMG對象管理組織提出的CORBA。COM/DCOM/COM+是基于組件的對象模型,DCOM比COM技術(shù)支持更多的通信協(xié)議,而且在分布式處理性能優(yōu)于COM,COM+則在延續(xù)COM技術(shù)的基礎(chǔ)上增加了分布式網(wǎng)絡(luò)應(yīng)用程序的設(shè)計和實現(xiàn)[8]。CPRBA技術(shù)廣泛應(yīng)用在分布式產(chǎn)品中,解決了分布式環(huán)境下軟硬件系統(tǒng)的互連問題。實際應(yīng)用中,上述技術(shù)均要求客戶端和服務(wù)端應(yīng)用明確的同類型對象協(xié)議模型,在跨語言和可擴展性方面的應(yīng)用有較高難度。

        基于過程的遠程服務(wù)調(diào)用主要指RPC,是基于客戶端/服務(wù)器的分布式架構(gòu)模型[9]。類似于本地API,部署在客戶端的應(yīng)用程序(Client)通過RPC的服務(wù)請求調(diào)用部署在在網(wǎng)絡(luò)中某節(jié)點的RPC服務(wù)器端(Server)的服務(wù)。目前,主流的RPC技術(shù)有Facebook在2008年開源的支持跨語言特性的服務(wù)部署框架Apache Thrift,Hadoop創(chuàng)始人Doug Cutting領(lǐng)導(dǎo)開發(fā)的數(shù)據(jù)序列化系統(tǒng)Apache Avro以及Google發(fā)布的自動序列化、反序列化結(jié)構(gòu)化數(shù)據(jù)的機制Protocol Buffers[10]。它們提供跨語言的序列化和通信支持,不僅解決了分布式對象技術(shù)的兼容性問題,同時在高并發(fā),跨平臺語言及大數(shù)據(jù)傳輸上有明顯優(yōu)勢。

        Web Service服務(wù)調(diào)用方式是通過Web訪問實現(xiàn),具有模塊自包含和自描述特性的新型Web應(yīng)用程序分支[11]。這種方式使用標準互聯(lián)網(wǎng)協(xié)議,既是一種編程組件,又是一種遠程服務(wù)調(diào)用方式。其中,HTTP協(xié)議為最常用的傳輸協(xié)議,最常見的消息交換方式為JSON-RPC、XML-RPC以及SOAP(Simple Object Access Protocol)等[12]。而Web Service在傳輸過程中攜帶的冗余信息多,在編碼和解碼xml文件上處理耗時也較高,因此,在處理信息系統(tǒng)的并發(fā)應(yīng)用中對服務(wù)器的負載較高,導(dǎo)致性能較低[13]。

        1.2 Thrift框架原理特點

        經(jīng)調(diào)研分析,Apache Thrift、Apache Avro 以及 Protocol Buffers 這3種主流的新型RPC框架在大數(shù)據(jù)傳輸、大規(guī)模并發(fā)調(diào)用中性能優(yōu)異,尤其適合應(yīng)用于云計算??紤]信息化系統(tǒng)中的對可擴展性,高并發(fā)和數(shù)據(jù)體量等方面的要求,進一步分析比較3種RPC技術(shù)方式的特點,得出Thrift框架最適合應(yīng)用在信息化系統(tǒng)這種大型的的數(shù)據(jù)通信中間件搭建中,本文提出采用基于Thrift的RPC框架進行信息化系統(tǒng)中數(shù)據(jù)通信的中間件的設(shè)計方案。Thrift的框架結(jié)構(gòu)如圖1所示。

        圖1 Thrift框架技術(shù)結(jié)構(gòu)示意圖

        如上圖所示,Thrift 框架主要由4個部分組成,從上至下分別是應(yīng)用層、框架層、協(xié)議層以及傳輸層。用戶在應(yīng)用層對業(yè)務(wù)邏輯進行自定義。Thrift的IDL對用戶定義的應(yīng)用層數(shù)據(jù)結(jié)構(gòu)進行編譯,生成Server/Client端代碼框架和讀寫操作,即圖中FooService.Client和Foo.Write()/Read()。TProtocol是負責(zé)管理不同類型數(shù)據(jù)編碼方案以及序列化和反序列化的協(xié)議。TTransport用于實現(xiàn)數(shù)據(jù)傳輸?shù)膫鬏攲樱讓覫/O通信負責(zé)實際的數(shù)據(jù)傳輸。

        基于Thrift框架的通信協(xié)議,是通過內(nèi)部序列化機制對數(shù)據(jù)進行簡化,將數(shù)據(jù)以對象形式進行傳輸,本地Client端通過過程聲明來調(diào)用遠程Server端的方式實現(xiàn)數(shù)據(jù)的交換,提高了傳輸效率,降低了通信成本。Thrift結(jié)合其功能強大的軟件堆棧和代碼生成引擎,可以構(gòu)建在C#,C++,Java,Python,PHP,Ruby,JavaScript,Perl等編程語言間實現(xiàn)高效無縫的服務(wù)[14]。Thrift軟件框架支持的數(shù)據(jù)類型如表1所示。

        service對應(yīng)服務(wù)的類Thrift協(xié)議層通過數(shù)據(jù)的序列化和反序列化機制,如JSON, XML, Plain Text, Binary, Compact Binary 等,抽象數(shù)據(jù)結(jié)構(gòu)的定義。傳輸協(xié)議主要分為文本和二進制兩大類,為提高傳輸效率,大多數(shù)傳輸協(xié)議采用二進制類型,常用的TProtocol通信協(xié)議如表2所示。

        常用Thrift框架傳輸層如表3所示幾種。

        常見的服務(wù)端類型如表4所示。

        表1 數(shù)據(jù)類型表

        表2 通信協(xié)議類型表

        表3 傳輸層定義表

        表4 服務(wù)端類型表

        綜合分析比較,以Thrift 框架作為信息系統(tǒng)通信中間件設(shè)計架構(gòu)的主要技術(shù)解決方案,主要有以下優(yōu)勢特點:

        1)跨平臺語言,可擴展性強。Thrift框架支持包括主流的C++ 、Java 、C# 、Python 、PHP 、Ruby 、JavaScript 及Coaca 、Smalltalk、OCaml 等十余種編程語言,有效實現(xiàn)基于不同開發(fā)語言的應(yīng)用系統(tǒng)的Server端和Client端無縫連接和數(shù)據(jù)交互,大大提高信息化系統(tǒng)的可擴展性。

        2)高效性:相較于傳統(tǒng)的 XML 和 JSON 格式和一般二進制數(shù)據(jù)編碼格式而言, Thrift 具有更高效數(shù)據(jù)傳輸方式,支持更多類型對象進行序列化和反序列化,耗能更少。

        3)易用性:Thrift框架更容易被研發(fā)人員理解并應(yīng)用。用戶使用Thrift 框架時,定義好描述數(shù)據(jù)傳輸協(xié)議、數(shù)據(jù)類型和服務(wù)的接口文件后,使用Thrift提供的編譯器即可自動生成遠程過程調(diào)用中間件的Server和Client端實現(xiàn),協(xié)議層和傳輸層代碼也自動生成。因此,用戶無需手動編寫基于不同語言、不同系統(tǒng)結(jié)構(gòu)的通信中間件代碼文件,只需維護統(tǒng)一的接口文件即可。

        2 兩種Thrift的RPC中間件實現(xiàn)

        基于Thrift 框架的數(shù)據(jù)調(diào)用中間件實現(xiàn)主要分三步。首先要定義數(shù)據(jù)傳輸對象的標準格式,并定義接收或者發(fā)送數(shù)據(jù)的接口。Thrift框架支持多種類型數(shù)據(jù)傳輸,可以是原始數(shù)據(jù)字節(jié)類型數(shù)組,基于MySQL 的查詢計算結(jié)構(gòu),也可以是文件數(shù)據(jù)流。第二步,通過Thrift 代碼生成引擎為各系統(tǒng)生成數(shù)據(jù)接口的底層實現(xiàn)。第三步,實現(xiàn)具體產(chǎn)品測試數(shù)據(jù)傳輸?shù)臉I(yè)務(wù)功能。數(shù)據(jù)標準格式和服務(wù)接口格式是通過Thrift 文件來描述的,該文件定義了數(shù)據(jù)的各項信息以及接口函數(shù)的原型。Thrift 根據(jù)該文件會生成特定版本的數(shù)據(jù)接口實現(xiàn),開發(fā)者只需關(guān)心數(shù)據(jù)傳輸?shù)臉I(yè)務(wù)。Thrift 引擎也可以編譯出不同的語言版本,從而實現(xiàn)跨語言跨平臺的調(diào)用。本節(jié)分別以Java 和 C#編程語言為版本介紹基于Thrift 框架中間件部署方法實現(xiàn)。

        2.1 基于 Java的實現(xiàn)

        本節(jié)以Java 語言為例,介紹Thrift 軟件框架應(yīng)用實現(xiàn)。實現(xiàn)中間件 Client端和 Server端部署時,需要在開發(fā)環(huán)境中引入libthrift.jar,log4j.jar 等公共jar 包,并編寫創(chuàng)建Thrift 的IDL文檔 Test.thrift ,執(zhí)行thrift-0.9.3.exe -gen java Test.thrift 命令,調(diào)用Thrift編譯器生成Test.java 公共文件,部署過程示意如圖2所示。

        圖2 基于Java的Thrift框架部署圖

        如圖2所示,Client端調(diào)用Server端的 TestServiceClient.java 代碼。Server端的 Process 類對象實現(xiàn)RPC請求處理的核心Test.Iface 接口,并啟動TestServiceServer.java。Server 端和Client 端利用 Test.java 提供的API進行遠程服務(wù)調(diào)用。

        Thrift服務(wù)器端的流程如下:

        1)創(chuàng)建服務(wù)端口通道(TServerTransport);

        2)確定傳輸協(xié)議(TProtocolFactory);

        3)創(chuàng)建數(shù)據(jù)處理器 (Processor);

        4)創(chuàng)建數(shù)據(jù)傳輸協(xié)議(Protocol);

        5)基于Processor、TProtocolFactory和TServerTransport創(chuàng)建服務(wù)器模型(Server);

        6)運行Server。

        此處框架的服務(wù)端采用高效密集的二進制編碼格式 TCompactProtocol 進行數(shù)據(jù)傳輸,Server端代碼示例如下:

        public static void main(String[] args) {

        try {

        TServerTransport serverTransport = new TServerSocket(7911);

        TProtocolFactory proFactory = new TCompactProtocol.Factory();

        TMultiplexedProcessor processor = new TMultiplexedProcessor();

        processor.registerProcessor("Test",new Test.Processor

        (new Test.Impl()));

        TServer server = new TThreadPoolServer(new Args(serverTransport).protocolFactory(proFactory).processor(processor));

        System.out.println("Start server on port 7911...");

        server.serve();

        } catch (Exception e) {

        /*異常處理*/

        }

        }

        當服務(wù)需要處理大量數(shù)據(jù)更新時,Server 端使用 TThreadPoolServer 線程池服務(wù)模型,采用標準的阻塞式 I/O,預(yù)先創(chuàng)建一組線程處理請求,當有客戶端連接過來時,從線程池里分配可用的連接處理客戶端請求。

        客戶端通過調(diào)用服務(wù)端的方法傳輸定義好的 Test 對象。具體的步驟為:

        1)創(chuàng)建數(shù)據(jù)傳輸方式(Transport);

        2)創(chuàng)建數(shù)據(jù)傳輸協(xié) 議(Protocol);

        3)創(chuàng)建客戶模型(Client);

        4)調(diào)用 Client 的相應(yīng)方法。 核心代碼如下:

        public static void main(String[] args) {

        try {

        TTransport transport=new TSocket(ip, port);

        Transport.open();

        TProtocol protocol = new TMultiplexedProtocol(new TCompactPortocol(transport),"Test");

        ProductTestInformationService.Client client = new Test.Client(protocol);

        /* 服務(wù)端提供的接口方法*/

        transport.close();

        server.serve();

        } catch (TException e) {

        /*異常處理*/

        }

        }

        2.2 基于C#的實現(xiàn)

        基于C#語言實現(xiàn)信息系統(tǒng)中間件搭建時,需要在工程中引用Thrift開源框架編譯生成的Thrift.dll,根據(jù)用戶定義的Thrift 的IDL文檔 Test.thrift ,執(zhí)行thrift-0.9.3.exe -gen csharp Test.thrift 命令,調(diào)用Thrift編譯器生成 Test.cs 公共文件,部署過程示意如圖3所示。

        圖3 基于C#的Thrift框架部署圖

        Client端調(diào)用Server端的 TestServiceClient.cs 代碼。Server端的實現(xiàn)Test.Iface 接口,并啟動TestServiceServer.cs服務(wù)。Server 端和Client 端利用 Test.cs 提供的API 進行遠程服務(wù)調(diào)用。由于C#語言的限制無法使用非阻塞的多線程服務(wù)端,此處使用 TThreadPoolServer 線程池服務(wù)模型,采用標準的阻塞式 I/O。工程中Server 端核心代碼如下:

        public void Start()

        {

        try

        {

        TServerSocket serverTransport = new TServerSocket(9090, 0, false);

        //一個端口注冊多個服務(wù)

        TMultiplexedProcessor processors = new TMultiplexedProcessor();

        Test.Processor testProcessor = new Test.Processor(new Test Impl());

        processors.RegisterProcessor("Test", testProcessor);

        //多線程服務(wù)器

        TServer server = new TThreadPoolServer(processors, serverTransport);

        server.Serve();

        }

        catch (Exception x)

        {

        /*異常處理*/

        }

        }

        Server 端使用 TThreadPoolServer 線程池服務(wù)模型,創(chuàng)建一組線程處理請求,當有Client端連接請求時,為其分配可用的連接處理線程。

        客戶端通過調(diào)用服務(wù)端的方法傳輸定義好的 Test 對象。具體的步驟為:

        1)創(chuàng)建數(shù)據(jù)傳輸方式(Transport);

        2)創(chuàng)建數(shù)據(jù)傳輸協(xié) 議(Protocol);

        3)創(chuàng)建客戶模型(Client);

        客戶端核心代碼如下:

        static void Main(string[] args)

        {

        try

        {

        TTransport transport = new TSocket("localhost", 9090);

        TProtocol protocol = new TBinaryProtocol(transport);

        Test.Client testClient = new Client.Client(protocol);

        transport.Open();

        Console.WriteLine("Test Client Calls");

        transport.Close();

        }

        catch (Exception x)

        {

        /*異常處理*/

        }

        }

        3 應(yīng)用實例

        近年來信息化技術(shù)迅速發(fā)展,航天應(yīng)用系統(tǒng)緊跟時代步伐,所內(nèi)自主研發(fā)了能源管理系統(tǒng)(energy mangement system,簡稱EMS)、試驗管理系統(tǒng)(test data management system,簡稱TDM)等多個信息化項目。針對信息化平臺特點,本文基于Thrift 框架設(shè)計了靈活的跨語言數(shù)據(jù)通信遠程服務(wù)調(diào)用中間件方案,有效解決信息化項目中各個系統(tǒng)技術(shù)架構(gòu)迥異,協(xié)議開發(fā)難度大等問題。本文以EMS系統(tǒng)為例,將此方案在各信息化系統(tǒng)中進行廣泛推廣和應(yīng)用。

        能源管理系統(tǒng)是響應(yīng)國家 “十三五”號召,全方面為實現(xiàn)“指標能分解、責(zé)任能落實、監(jiān)管能有效、考核有實效”目標,踐行人人參與的節(jié)能減排,以信息化技術(shù),科學(xué)實現(xiàn)能耗減排而自主研制的信息化系統(tǒng)。能源管理系統(tǒng)為航天研發(fā),產(chǎn)品生產(chǎn)的節(jié)能用能管控提供良好的信息化管控手段,改變既有的人工干預(yù)管理的方式,采用硬件與軟件結(jié)合,通過實時高效的采集電、水等計量儀表設(shè)備的數(shù)據(jù),進行數(shù)據(jù)整理和統(tǒng)計分析,通過數(shù)據(jù)建模和圖表繪制,以信息化手段進行數(shù)據(jù)管理,為能源的監(jiān)控和管理提供強有力的數(shù)據(jù)支撐,及監(jiān)管條件,有效實現(xiàn)精細化管理,提高工作效率。系統(tǒng)提供數(shù)據(jù)預(yù)警及設(shè)備報警功能,能隨時發(fā)現(xiàn)跑、冒、滴、漏,有效地保證工業(yè)生產(chǎn)中的能源的高效利用,杜絕能源浪費。EMS系統(tǒng)組成結(jié)構(gòu)如圖4所示。

        圖4 基于Thrift的EMS框架示意圖

        能源管理系統(tǒng)中數(shù)據(jù)存儲層是采用C#語言實現(xiàn),前臺B/S端采用Java語言實現(xiàn),本文提出的基于Thrift框架設(shè)計的遠程調(diào)用中間件,有效的解決此類異構(gòu)系統(tǒng)的接口服務(wù)調(diào)用問題,設(shè)計人員只需定義好數(shù)據(jù)傳輸對象格式,無需針對編程語言的差異額外開發(fā)協(xié)議轉(zhuǎn)換模塊,大大降低系統(tǒng)開發(fā)時間,提高開發(fā)效率。

        能源管理系統(tǒng)中使用Thrift 框架技術(shù)作為B/S應(yīng)用層、數(shù)據(jù)采集提取層與數(shù)據(jù)存儲中心的服務(wù)調(diào)用中間件,根據(jù)系統(tǒng)數(shù)據(jù)通信協(xié)議定義的對象服務(wù)IDL文件,通過Thrift提供的編譯器生成接口代碼。當前臺用戶在界面上通過Client端發(fā)起服務(wù)請求時,服務(wù)注冊組件尋找業(yè)務(wù)的綁定信息并獲取指定鏈接,調(diào)用Server端的服務(wù),繼而Server端返回調(diào)用結(jié)果,展現(xiàn)給用戶。Thrift技術(shù)是整個業(yè)務(wù)調(diào)用的關(guān)鍵橋梁,為遠程服務(wù)調(diào)用提供可靠性能保障。

        4 結(jié)束語

        本文通過分析常用的幾種遠程服務(wù)調(diào)用方法,提出基于Thrift 實現(xiàn)的RPC 中間件方案,并應(yīng)用在航天信息化系統(tǒng)建設(shè)中,并以C# 和Java 兩種語言構(gòu)建典型的Server/Client應(yīng)用,展示了Thrift 框架的使用。信息化系統(tǒng)架構(gòu)中數(shù)據(jù)通信中間件通過Thrift 框架的跨平臺跨語言以及數(shù)據(jù)高效傳輸?shù)忍攸c,提高信息化系統(tǒng)的可擴展性,大大降低系統(tǒng)的研發(fā)成本。相較于基于傳統(tǒng)的WebService 的解決方案,實施難度更低,研發(fā)成本更小,且具有更高的傳輸效率,尤其在大數(shù)據(jù)交換和存儲方面表現(xiàn)優(yōu)異,在信息化系統(tǒng)的實施中具有良好的應(yīng)用前景。

        [1] 劉 杰, 丁向峰, 柴旭東,等. 云計算在航天信息化工程中的應(yīng)用與探討[J]. 軍民兩用技術(shù)與產(chǎn)品, 2011(10):12-14.

        [2] 胡明明, 楊前進, 段 曉. 航天器信息化標準體系構(gòu)建初探[J]. 航天標準化, 2015(1):18-22.

        [3] 馬昌超, 陳金蘭. 航天信息化建設(shè)模式探討[A].中國宇航學(xué)會計算機應(yīng)用專業(yè)委員會2004年學(xué)術(shù)交流會,2004.

        [4] 周 豪. 大數(shù)據(jù)量下的實時數(shù)據(jù)報表系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京交通大學(xué), 2016.

        [5] 李 俊. 基于塊聚集的MapReduce性能研究與優(yōu)化[D]. 北京:北京交通大學(xué), 2014.

        [6] 李 洋. 云計算中可擴展的遠程服務(wù)調(diào)用機制的設(shè)計與實現(xiàn)[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2012.

        [7] 胡 珉,許占文,張 宇. 用 Java RMI 實現(xiàn) JDBC 遠程調(diào)用的介紹[J]. 沈陽工業(yè)大學(xué)學(xué)報,2003,25(1):65-68.

        [8] David S. Platt. Understanding COM+ [M] :55-79.

        [9] 孫統(tǒng)風(fēng),孟現(xiàn)飛,姜利群. 基于RPC 的Agent 通信模型及其實現(xiàn)[J]. 現(xiàn)代計算機,2003 (7):10-13.

        [10] 史棟杰. 5種快速序列化框架的性能比較[J]. 電腦知識與技術(shù),2010(34):9710-971.

        [11] 程曉飛. 基于 REST 架構(gòu)的 Web Services 的研究與設(shè)計[D]. 武漢:武漢理工大學(xué), 2010(5):15-23.

        [12] 許卓明,栗 明,董逸生. 基于 RPC 和基于 REST 的 Web 服務(wù)交互模型比較分析[J]. 計算機工程,1003,29(20):6-8.

        [13] 袁 赟. Java 與 Restful Web Service.電腦知識與技術(shù)(學(xué)術(shù)交流)[J].2007,4(21):780-782.

        [14] 周 康, 李 覬, 董科軍,等. 一種基于Thrift的日志收集分析系統(tǒng)[J]. 科研信息化技術(shù)與應(yīng)用, 2015(2).

        Design and Implement of RPC Middle Ware Based on Thrift Frame in Aerospace Information System

        Yang Fan, Kong Weiping, Jiang Xiaoxiao, Xiao Yongli, Guo Hua

        (Shanghai Aerospace Control Technology Institute, Shanghai 200233,China)

        With the rapid development of internet, big data storage technology is gradually maturing. This paper analyze and compare several popular remote service invocation mechanisms in aerospace information application, then proposed a remote service invocation middleware based on the Thrift framework, which has a better transmission performance and expandability. The application indicates that, based on these techniques, the middleware is effective and flexible to expand, satisfying the needs of the projects.

        Thrift; RPC; aerospace information

        2017-04-12;

        2017-05-10。

        楊 帆(1988-),女,碩士研究生,主要從事衛(wèi)星地面測試系統(tǒng)以及信息化軟件,大數(shù)據(jù)存儲方向的研究。

        1671-4598(2017)12-0279-04

        10.16526/j.cnki.11-4762/tp.2017.12.072

        TP391

        A

        猜你喜歡
        序列化中間件調(diào)用
        如何建構(gòu)序列化閱讀教學(xué)
        甘肅教育(2020年14期)2020-09-11 07:58:36
        核電項目物項調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        RFID中間件技術(shù)及其應(yīng)用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        Java 反序列化漏洞研究
        作文訓(xùn)練微格化、序列化初探
        語文知識(2015年12期)2015-02-28 22:02:15
        中間件在高速公路領(lǐng)域的應(yīng)用
        利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
        一区二区久久精品66国产精品 | 在线精品首页中文字幕亚洲 | 亚洲国产日韩精品综合| 日韩精品久久午夜夜伦鲁鲁| 日韩精品在线视频一二三| 精品无码国产自产拍在线观看蜜| 精品无码一区二区三区爱欲九九| AV无码中文字幕不卡一二三区| av最新版天堂在资源在线| 日本一二三四高清在线| 亚洲成a人无码| 成人国产午夜在线视频| 国产精品黑色丝袜在线播放| 人妻少妇精品视频一区二区三区| 一二三四在线观看韩国视频| 亚洲成av人片一区二区密柚| 熟女少妇在线视频播放| 国产精品内射后入合集| 国产精品1区2区| 国产高清大片一级黄色| 97成人精品视频在线| 亚洲av综合av国产av中文| 亚洲欧美日韩综合久久久| 欧美综合图区亚洲综合图区| av免费在线观看网站大全| 人妖国产视频一区二区| 三年的高清电影免费看 | 久久国产成人午夜av影院| 日韩人妻中文字幕一区二区| 久久精品国产亚洲av久五月天| 999zyz玖玖资源站永久| 国产农村乱辈无码| 馬与人黃色毛片一部| 久久精品国产亚洲av热九九热 | 人妻 偷拍 无码 中文字幕| 日日摸夜夜添狠狠添欧美| 亚洲成人av一区二区麻豆蜜桃| 国产一区二区三区天堂| 久久久久女人精品毛片| 日韩在线视精品在亚洲| 一本之道加勒比在线观看|