欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種java對(duì)象的請(qǐng)求和響應(yīng)方法、裝置、系統(tǒng)和終端的制作方法

文檔序號(hào):6373295閱讀:107來(lái)源:國(guó)知局
專利名稱:一種java對(duì)象的請(qǐng)求和響應(yīng)方法、裝置、系統(tǒng)和終端的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及JAVA對(duì)象調(diào)用領(lǐng)域,尤其涉及一種JAVA對(duì)象的請(qǐng)求和響應(yīng)方法、裝置、系統(tǒng)和終端。
背景技術(shù)
在JAVA語(yǔ)言中,已經(jīng)存在RMI (Remote Method Invocation,遠(yuǎn)程方法調(diào)用)技術(shù)作為JAVA進(jìn)程間的通信方式,但是其處理方式無(wú)法滿足高性能需要(特別是高吞吐量的需要),而protobuf消息協(xié)議能夠以體積更小的方式在網(wǎng)絡(luò)上進(jìn)行傳輸。protobuf本身在序列化和反序列化上有相當(dāng)?shù)膬?yōu)勢(shì),如果能夠替代rmi作為java
程序的遠(yuǎn)程調(diào)用技術(shù),可以為應(yīng)用帶來(lái)性能的幾何級(jí)提升。另外在實(shí)際應(yīng)用場(chǎng)景中,使用RMI接口調(diào)用性能只能在2000用戶并發(fā)5000 10000TPS,而Protobuf能夠在2000用戶并發(fā)下達(dá)到10000 20000TPS的性能,且平均響應(yīng)時(shí)間均在0. 02ms。但是其本身提供的調(diào)用服務(wù)方式需要定義一個(gè)proto描述文件來(lái)描述調(diào)用服務(wù)的相關(guān)信息,如下描述定義一個(gè)業(yè)務(wù)實(shí)體
//響應(yīng)實(shí)體為
message GetDeviceInfoResponse{
required ResultCode result 二I;//響應(yīng)錯(cuò)誤碼,404表示該設(shè)備不存在
optional Device device =2; } //設(shè)備信息定義一個(gè)服務(wù)方法為
service DeviceService{
rpc getDeviceInfo( DeviceId ) returns (GetDeviceInfoResponse);
//獲取設(shè)備信息 }從上面可以看出,調(diào)用業(yè)務(wù)方法時(shí),需要具體定義的方法名和傳輸對(duì)象相關(guān)信息,然后生成相關(guān)的JAVA文件,這樣就不能做到通用化和組件化。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提出一種JAVA對(duì)象的請(qǐng)求方法,旨在解決現(xiàn)有技術(shù)中RMI無(wú)法滿足高吞吐量,而protobuf消息協(xié)議無(wú)法通用化和組件化的技術(shù)問題。
本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種JAVA對(duì)象的請(qǐng)求方法,包括步驟創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);通過調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù),將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù);構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,將所述字符串參數(shù)賦值到所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中,發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu) 對(duì)象;通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象,將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象,并將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。本發(fā)明實(shí)施例的另一目的在于提出一種JAVA對(duì)象的響應(yīng)方法,包括步驟創(chuàng)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù),將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù);根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法,通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象;將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象,再將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象,構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,將響應(yīng)結(jié)果JAVA對(duì)象賦值到所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中,通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。本發(fā)明實(shí)施例的另一目的在于提出一種JAVA對(duì)象的請(qǐng)求裝置,所述裝置包括第一初始模塊、第一獲取單元、第一轉(zhuǎn)換單元、第二轉(zhuǎn)換單元、第一賦值單元、第一構(gòu)建單元、第一發(fā)送單元、第一接收單元、第二獲取單元、第三轉(zhuǎn)換單元和第四轉(zhuǎn)換單元;所述第一初始模塊,與所述第一獲取單元、第一構(gòu)建單元和第一接收單元相連,用于創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);所述第一獲取單元,與所述第一初始模塊和第一轉(zhuǎn)換單元相連,用于通過調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù);所述第一轉(zhuǎn)換單元,與所述第一獲取單元和第二轉(zhuǎn)換單元相連,用于將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù);所述第二轉(zhuǎn)換單元,與所述第一轉(zhuǎn)換單元和第一賦值單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù);所述第一賦值單元,與所述第二轉(zhuǎn)換單元和第一構(gòu)建單元相連,用于將所述字符串參數(shù)賦值到構(gòu)建的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中;所述第一構(gòu)建單元,與所述第一初始模塊、第一賦值單元和第一發(fā)送單元相連,用于構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到所述第一發(fā)送單元;所述第一發(fā)送單元,與所述第一構(gòu)建單元相連,用于接收所述第一構(gòu)建單元發(fā)送的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,并發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象;所述第一接收單元,與所述第一初始模塊和第二獲取單元相連,用于通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象;
所述第二獲取單元,與所述第一接收單元和第三轉(zhuǎn)換單元相連,用于獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象;所述第三轉(zhuǎn)換單元,與所述第二獲取單元和第四轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象;所述第四轉(zhuǎn)換單元,與所述第三轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。本發(fā)明實(shí)施例的另一目的在于提出一種JAVA對(duì)象的響應(yīng)裝置,所述裝置包括第二初始模塊、第二接收單元、第三獲取單元、第五轉(zhuǎn)換單元、第六轉(zhuǎn)換單元、第四獲取單元、第三創(chuàng)建單元、第七轉(zhuǎn)換單元、第八轉(zhuǎn)換單元、第二賦值單元、第二構(gòu)建單元和第一返回單元;所述第二初始模塊,與所述第二接收單元和第二構(gòu)建單元相連,用于創(chuàng)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);所述第二接收單元,與所述第二初始模塊和第三獲取單元相連,用于接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象;所述第三獲取單元,與所述第二接收單元和第五轉(zhuǎn)換單元相連,用于根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù);所述第五轉(zhuǎn)換單元,與所述第三獲取單元和第六轉(zhuǎn)換單元相連,用于將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù);所述第六轉(zhuǎn)換單元,與所述第五轉(zhuǎn)換單元和第四獲取單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù);所述第四獲取單元,與所述第六轉(zhuǎn)換單元和第三創(chuàng)建單元相連,用于根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法;所述第三創(chuàng)建單元,與所述第四獲取單元和第七轉(zhuǎn)換單元相連,用于通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象;所述第七轉(zhuǎn)換單元,與所述第三創(chuàng)建單元和第八轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象;所述第八轉(zhuǎn)換單元,與所述第七轉(zhuǎn)換單元和第二賦值單元相連,用于將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象;所述第二賦值單元,與所述第二構(gòu)建單元和第八轉(zhuǎn)換單元相連,用于將響應(yīng)結(jié)果JAVA對(duì)象賦值到構(gòu)建的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中;所述第二構(gòu)建單元,與所述第二初始模塊、第二賦值單元和第一返回單元相連,用于構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到第一返回單元;所述第一返回單元,與所述第二構(gòu)建單元相連,用于接收所述第二構(gòu)建單元發(fā)送的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。本發(fā)明實(shí)施例的另一目的在于還提出一種JAVA對(duì)象的響應(yīng)裝置,所述裝置包括第二初始模塊、第二接收單元、第三獲取單元、第五轉(zhuǎn)換單元、第六轉(zhuǎn)換單元、第四獲取單元、第三創(chuàng)建單元、第七轉(zhuǎn)換單元、第八轉(zhuǎn)換單元、第二賦值單元、第二構(gòu)建單元、第一返回單元、判斷單元、第二返回單元和第三接收單元;其中所述第二初始模塊包括第四創(chuàng)建單元、第五創(chuàng)建單元、第二加載單元、發(fā)布單元和存儲(chǔ)單元;
所述第四創(chuàng)建單元,與所述第五創(chuàng)建單元、第二接收單元和第二構(gòu)建單元相連,用于創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu),其中所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)包括服務(wù)名、服務(wù)方法和字符串參數(shù);所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)包括響應(yīng)返回碼和響應(yīng)結(jié)果字符串對(duì)象;所述請(qǐng)求方法結(jié)構(gòu)包括遠(yuǎn)程調(diào)用方法和返回響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象;所述第五創(chuàng)建單元,與所述第四創(chuàng)建單元和第二加載單元相連,用于將所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)生成java類;所述第二加載單元,與所述第五創(chuàng)建單元和發(fā)布單元相連,用于加載protobuf及protobuf-rpc ;所述發(fā)布單元,與所述第二加載單元和存儲(chǔ)單元相連,用于發(fā)布服務(wù)以及所述服務(wù)對(duì)應(yīng)的服務(wù)實(shí)現(xiàn); 所述存儲(chǔ)單元,與所述發(fā)布單元和判斷單元相連,用于存儲(chǔ)所述服務(wù)的服務(wù)名和服務(wù)實(shí)現(xiàn)到服務(wù)注冊(cè)表中;所述第二接收單元,與所述第四創(chuàng)建單元和第三獲取單元相連,還用于接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象;所述第三獲取單元,與所述第二接收單元和第五轉(zhuǎn)換單元相連,用于通過Protobuf JAVA調(diào)用處理器根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的服務(wù)名、服務(wù)方法和字符串參數(shù);所述第五轉(zhuǎn)換單元,與所述第三獲取單元和第六轉(zhuǎn)換單元相連,用于將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù);所述第六轉(zhuǎn)換單元,與所述第五轉(zhuǎn)換單元和判斷單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù);所述判斷單元,與所述第六轉(zhuǎn)換單元、第四獲取單元和存儲(chǔ)單元相連,用于判斷服務(wù)注冊(cè)表是否存在所述服務(wù)名,如果是,則發(fā)送獲取指令到所述第四獲取單元;所述第四獲取單元,與所述判斷單元和第三創(chuàng)建單元相連,用于接收所述判斷單元發(fā)送的獲取指令,并根據(jù)所述獲取指令、服務(wù)參數(shù)和服務(wù)方法獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法;所述第三創(chuàng)建單元,與所述第四獲取單元和第二返回單元相連,用于通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象;所述第二返回單元,與所述第三創(chuàng)建單元和第三接收單元相連,用于將所述響應(yīng)結(jié)果JAVA對(duì)象返回給Protobuf JAVA調(diào)用處理器;所述第三接收單元,與所述第二返回單元和第七轉(zhuǎn)換單元相連,用于通過Protobuf JAVA調(diào)用處理器接收所述響應(yīng)結(jié)果JAVA對(duì)象;所述第七轉(zhuǎn)換單元,與所述第三接收單元和第八轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象;所述第八轉(zhuǎn)換單元,與所述第七轉(zhuǎn)換單元和第二賦值單元相連,用于將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象;所述第二賦值單元,與所述第二構(gòu)建單元和第八轉(zhuǎn)換單元相連,用于將響應(yīng)結(jié)果JAVA對(duì)象賦值到構(gòu)建的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中;所述第二構(gòu)建單元,與所述第四創(chuàng)建單元、第二賦值單元和第一返回單元相連,用于構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到第一返回單元;所述第一返回單元,與所述第二構(gòu)建單元相連,用于接收所述第二構(gòu)建單元發(fā)送的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。本發(fā)明實(shí)施例的另一目的在于提出一種JAVA對(duì)象的請(qǐng)求和響應(yīng)系統(tǒng),所述系統(tǒng)包括請(qǐng)求裝置和響應(yīng)裝置。本發(fā)明實(shí)施例的另一目的在于提出一種包含有所述JAVA對(duì)象的請(qǐng)求和響應(yīng)系統(tǒng)的終端。本發(fā)明包括創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù),將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù);構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,將所述字符串參數(shù)賦值到構(gòu)建的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中,發(fā)送遠(yuǎn)程調(diào) 用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象;通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象,將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象,并將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。本發(fā)明實(shí)現(xiàn)了調(diào)用JAVA對(duì)象的目的。通過請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu),可以直接替換原RMI實(shí)現(xiàn)的接口服務(wù),無(wú)需修改原有業(yè)務(wù)邏輯,提升接口性能。本發(fā)明還包括接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù),將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù);根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法,通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象;將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象,再將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象,構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,將響應(yīng)結(jié)果JAVA對(duì)象賦值到構(gòu)建的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中,通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。本發(fā)明還實(shí)現(xiàn)了響應(yīng)JAVA對(duì)象的目的,且能夠進(jìn)一步擴(kuò)展功能性需求,如參數(shù)校驗(yàn),并發(fā)鎖,安全性處理等商用需求。同時(shí)請(qǐng)求和響應(yīng)方法相結(jié)合可實(shí)現(xiàn)高吞吐量、通用化和組件化。且各接口或者業(yè)務(wù)對(duì)象無(wú)需依賴任何接口就可以使用本發(fā)明。


圖I是本發(fā)明JAVA對(duì)象的請(qǐng)求方法的第一優(yōu)選實(shí)施例流程圖;圖2是本發(fā)明JAVA對(duì)象的請(qǐng)求方法的第二優(yōu)選實(shí)施例流程圖;圖3是本發(fā)明JAVA對(duì)象的響應(yīng)方法的第一優(yōu)選實(shí)施例流程圖;圖4是本發(fā)明JAVA對(duì)象的響應(yīng)方法的第二優(yōu)選實(shí)施例流程圖;圖5是本發(fā)明JAVA對(duì)象的請(qǐng)求裝置的第一優(yōu)選實(shí)施例結(jié)構(gòu)示意圖;圖6是本發(fā)明JAVA對(duì)象的請(qǐng)求裝置的第二優(yōu)選實(shí)施例結(jié)構(gòu)示意圖;圖7是本發(fā)明JAVA對(duì)象的響應(yīng)裝置的第一優(yōu)選實(shí)施例結(jié)構(gòu)示意圖;圖8是本發(fā)明JAVA對(duì)象的響應(yīng)裝置的第二優(yōu)選實(shí)施例結(jié)構(gòu)示意圖;圖9是本發(fā)明JAVA對(duì)象的請(qǐng)求和響應(yīng)系統(tǒng)的實(shí)施例結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。應(yīng)當(dāng)理解,此處所描寫的具體實(shí)施例,僅僅用于解釋本發(fā)明,并不用以限制本發(fā)明。本發(fā)明包括創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù),將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù);構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,將所述字符串參數(shù)賦值到構(gòu)建的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中,發(fā)送遠(yuǎn)程 調(diào)用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象;通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象,將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象,并將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。本發(fā)明實(shí)現(xiàn)了調(diào)用JAVA對(duì)象的目的。通過請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu),可以直接替換原RMI實(shí)現(xiàn)的接口服務(wù),無(wú)需修改原有業(yè)務(wù)邏輯,提升接口性能。本發(fā)明還包括接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù),將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù);根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法,通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象;將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象,再將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象,構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,將響應(yīng)結(jié)果JAVA對(duì)象賦值到構(gòu)建的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中,通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。本發(fā)明還實(shí)現(xiàn)了響應(yīng)遠(yuǎn)程調(diào)用JAVA對(duì)象的目的,且能夠進(jìn)一步擴(kuò)展功能性需求,如參數(shù)校驗(yàn),并發(fā)鎖,安全性處理等商用需求。同時(shí)請(qǐng)求和響應(yīng)方法相結(jié)合可實(shí)現(xiàn)高吞吐量、通用化和組件化。且各接口或者業(yè)務(wù)對(duì)象無(wú)需依賴任何接口就可以使用本發(fā)明。實(shí)施例一圖I是本發(fā)明JAVA對(duì)象的請(qǐng)求方法的第一優(yōu)選實(shí)施例流程圖,所述方法包括步驟S101,創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);同時(shí)將所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)生成對(duì)應(yīng)的java類;所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)包括服務(wù)名className、服務(wù)方法method和字符串格式的服務(wù)參數(shù)paramsDescription ;所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)包括響應(yīng)返回碼resultCode和響應(yīng)結(jié)果字符串對(duì)象resultDescription ;所述請(qǐng)求方法結(jié)構(gòu)包括遠(yuǎn)程調(diào)用方法和返回響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象;為便于理解,舉例說明定義一個(gè)描述通用業(yè)務(wù)調(diào)用的proto文件,并生成對(duì)應(yīng)java類的過程如下
權(quán)利要求
1.一種JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述方法包括步驟 創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu); 通過調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù),將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù); 構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,將所述字符串參數(shù)賦值到所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中,發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象; 通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象,將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象,并將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。
2.根據(jù)權(quán)利要求I所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)包括服務(wù)名、服務(wù)方法和字符串參數(shù); 所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)包括響應(yīng)返回碼和響應(yīng)結(jié)果字符串對(duì)象; 所述請(qǐng)求方法結(jié)構(gòu)包括遠(yuǎn)程調(diào)用方法和返回響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。
3.根據(jù)權(quán)利要求2所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述步驟“創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)”之后還包括步驟 將所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)生成java類; 加載所述 JAVA 類、服務(wù)接口、protobuf 及 protobuf-rpc ; 通過所述服務(wù)接口調(diào)用服務(wù)和所述服務(wù)對(duì)應(yīng)的服務(wù)方法。
4.根據(jù)權(quán)利要求3所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述步驟“通過調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù),將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù)”具體為 通過Protobuf JAVA調(diào)用處理器獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù),將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù)。
5.根據(jù)權(quán)利要求4所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述步驟“構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,將所述字符串參數(shù)賦值到所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中,發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象”具體為 構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,將所述字符串參數(shù)賦值到所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中,通過JAVA類中的遠(yuǎn)程調(diào)用方法發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象。
6.根據(jù)權(quán)利要求5所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述步驟“通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象,將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象,并將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象”具體為 通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,通過Protobuf JAVA調(diào)用處理器獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象,將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象,并將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。
7.—種JAVA對(duì)象的響應(yīng)方法,其特征在于,所述方法包括步驟 創(chuàng)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù),將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù); 根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法,通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象; 將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象,再將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象,構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,將響應(yīng)結(jié)果JAVA對(duì)象賦值到所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中,通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。
8.根據(jù)權(quán)利要求7所述JAVA對(duì)象的響應(yīng)方法,其特征在于,所述步驟“創(chuàng)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)”之后還包括步驟 創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu); 將所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)生成java類;力口載 protobuf 及 protobuf-rpc ; 發(fā)布服務(wù)以及所述服務(wù)對(duì)應(yīng)的服務(wù)實(shí)現(xiàn),并存儲(chǔ)所述服務(wù)的服務(wù)名和服務(wù)實(shí)現(xiàn)到服務(wù)注冊(cè)表中。
9.根據(jù)權(quán)利要求8所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述步驟“接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù),將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù)”具體為 接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,通過Protobuf JAVA調(diào)用處理器根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的服務(wù)名、服務(wù)方法和字符串參數(shù),將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù),并將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù)。
10.根據(jù)權(quán)利要求9所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述步驟“根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法,通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象”具體為 判斷服務(wù)注冊(cè)表是否存在所述服務(wù)名,如果是,則根據(jù)所述服務(wù)參數(shù)和服務(wù)方法獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法,通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象,并將所述響應(yīng)結(jié)果JAVA對(duì)象返回給Protobuf JAVA調(diào)用處理器。
11.根據(jù)權(quán)利要求10所述JAVA對(duì)象的請(qǐng)求方法,其特征在于,所述步驟“將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象,再將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象,構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,將響應(yīng)結(jié)果JAVA對(duì)象賦值到所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中,通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象”具體為 Protobuf JAVA調(diào)用處理器接收所述響應(yīng)結(jié)果JAVA對(duì)象,并將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象,再將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象,構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,將響應(yīng)結(jié)果JAVA對(duì)象賦值到所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中,通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。
12.—種JAVA對(duì)象的請(qǐng)求裝置,其特征在于,所述裝置包括第一初始模塊、第一獲取單元、第一轉(zhuǎn)換單元、第二轉(zhuǎn)換單元、第一賦值單元、第一構(gòu)建單元、第一發(fā)送單元、第一接收單元、第二獲取單元、第三轉(zhuǎn)換單元和第四轉(zhuǎn)換單元; 所述第一初始模塊,與所述第一獲取單元、第一構(gòu)建單元和第一接收單元相連,用于創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu); 所述第一獲取單元,與所述第一初始模塊和第一轉(zhuǎn)換單元相連,用于通過調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù); 所述第一轉(zhuǎn)換單元,與所述第一獲取單元和第二轉(zhuǎn)換單元相連,用于將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù); 所述第二轉(zhuǎn)換單元,與所述第一轉(zhuǎn)換單元和第一賦值單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù); 所述第一賦值單元,與所述第二轉(zhuǎn)換單元和第一構(gòu)建單元相連,用于將所述字符串參數(shù)賦值到構(gòu)建的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中; 所述第一構(gòu)建單元,與所述第一初始模塊、第一賦值單元和第一發(fā)送單元相連,用于構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到所述第一發(fā)送單元; 所述第一發(fā)送單元,與所述第一構(gòu)建單元相連,用于接收所述第一構(gòu)建單元發(fā)送的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,并發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第一接收單元,與所述第一初始模塊和第二獲取單元相連,用于通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第二獲取單元,與所述第一接收單元和第三轉(zhuǎn)換單元相連,用于獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象; 所述第三轉(zhuǎn)換單元,與所述第二獲取單元和第四轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象; 所述第四轉(zhuǎn)換單元,與所述第三轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。
13.根據(jù)權(quán)利要求12所述JAVA對(duì)象的請(qǐng)求裝置,其特征在于,所述第一初始模塊包括第一創(chuàng)建單元、第二創(chuàng)建單元、第一加載單元和第一調(diào)用單元; 所述第一創(chuàng)建單元,與所述第二創(chuàng)建單元、第一構(gòu)建單元和第一接收單元相連,用于創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu),其中所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)包括服務(wù)名、服務(wù)方法和字符串參數(shù);所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)包括響應(yīng)返回碼和響應(yīng)結(jié)果字符串對(duì)象;所述請(qǐng)求方法結(jié)構(gòu)包括遠(yuǎn)程調(diào)用方法和返回響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第二創(chuàng)建單元,與所述第一創(chuàng)建單元和第一加載單元相連,用于將所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)生成java類; 所述第一加載單元,與所述第二創(chuàng)建單元和第一調(diào)用單元相連,用于加載所述JAVA類、服務(wù)接口、protobuf 及 protobuf-rpc ; 所述第一調(diào)用單元,與所述第一加載單元和第一獲取單元相連,用于通過所述服務(wù)接口調(diào)用服務(wù)和所述服務(wù)對(duì)應(yīng)的服務(wù)方法; 所述第一獲取單元,與所述第一調(diào)用單元和第一轉(zhuǎn)換單元相連,還用于通過ProtobufJAVA調(diào)用處理器獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù);所述第一發(fā)送單元,還用于通過JAVA類中的遠(yuǎn)程調(diào)用方法發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象;所述第一接收單元,與所述第一創(chuàng)建單元和第二獲取單元相連,用于通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第二獲取單元,還用于通過Protobuf JAVA調(diào)用處理器獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象。
14.一種JAVA對(duì)象的響應(yīng)裝置,其特征在于,所述裝置包括第二初始模塊、第二接收單元、第三獲取單元、第五轉(zhuǎn)換單元、第六轉(zhuǎn)換單元、第四獲取單元、第三創(chuàng)建單元、第七轉(zhuǎn)換單元、第八轉(zhuǎn)換單元、第二賦值單元、第二構(gòu)建單元和第一返回單元; 所述第二初始模塊,與所述第二接收單元和第二構(gòu)建單元相連,用于創(chuàng)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu); 所述第二接收單元,與所述第二初始模塊和第三獲取單元相連,用于接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第三獲取單元,與所述第二接收單元和第五轉(zhuǎn)換單元相連,用于根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù); 所述第五轉(zhuǎn)換單元,與所述第三獲取單元和第六轉(zhuǎn)換單元相連,用于將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù); 所述第六轉(zhuǎn)換單元,與所述第五轉(zhuǎn)換單元和第四獲取單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù); 所述第四獲取單元,與所述第六轉(zhuǎn)換單元和第三創(chuàng)建單元相連,用于根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法; 所述第三創(chuàng)建單元,與所述第四獲取單元和第七轉(zhuǎn)換單元相連,用于通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象; 所述第七轉(zhuǎn)換單元,與所述第三創(chuàng)建單元和第八轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象; 所述第八轉(zhuǎn)換單元,與所述第七轉(zhuǎn)換單元和第二賦值單元相連,用于將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象; 所述第二賦值單元,與所述第二構(gòu)建單元和第八轉(zhuǎn)換單元相連,用于將響應(yīng)結(jié)果JAVA對(duì)象賦值到構(gòu)建的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中; 所述第二構(gòu)建單元,與所述第二初始模塊、第二賦值單元和第一返回單元相連,用于構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到第一返回單元; 所述第一返回單元,與所述第二構(gòu)建單元相連,用于接收所述第二構(gòu)建單元發(fā)送的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。
15.一種JAVA對(duì)象的響應(yīng)裝置,其特征在于,所述裝置包括第二初始模塊、第二接收單元、第三獲取單元、第五轉(zhuǎn)換單元、第六轉(zhuǎn)換單元、第四獲取單元、第三創(chuàng)建單元、第七轉(zhuǎn)換單元、第八轉(zhuǎn)換單元、第二賦值單元、第二構(gòu)建單元、第一返回單元、判斷單元、第二返回單元和第三接收單元;其中所述第二初始模塊包括第四創(chuàng)建單元、第五創(chuàng)建單元、第二加載單元、發(fā)布單元和存儲(chǔ)單元; 所述第四創(chuàng)建單元,與所述第五創(chuàng)建單元、第二接收單元和第二構(gòu)建單元相連,用于創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu),其中所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)包括服務(wù)名、服務(wù)方法和字符串參數(shù);所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)包括響應(yīng)返回碼和響應(yīng)結(jié)果字符串對(duì)象;所述請(qǐng)求方法結(jié)構(gòu)包括遠(yuǎn)程調(diào)用方法和返回響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第五創(chuàng)建單元,與所述第四創(chuàng)建單元和第二加載單元相連,用于將所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu)生成java類; 所述第二加載單元,與所述第五創(chuàng)建單元和發(fā)布單元相連,用于加載protobuf及protobuf-rpc ; 所述發(fā)布單元,與所述第二加載單元和存儲(chǔ)單元相連,用于發(fā)布服務(wù)以及所述服務(wù)對(duì)應(yīng)的服務(wù)實(shí)現(xiàn); 所述存儲(chǔ)單元,與所述發(fā)布單元和判斷單元相連,用于存儲(chǔ)所述服務(wù)的服務(wù)名和服務(wù)實(shí)現(xiàn)到服務(wù)注冊(cè)表中; 所述第二接收單元,與所述第四創(chuàng)建單元和第三獲取單元相連,還用于接收遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第三獲取單元,與所述第二接收單元和第五轉(zhuǎn)換單元相連,用于通過ProtobufJAVA調(diào)用處理器根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的服務(wù)名、服務(wù)方法和字符串 參數(shù); 所述第五轉(zhuǎn)換單元,與所述第三獲取單元和第六轉(zhuǎn)換單元相連,用于將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù); 所述第六轉(zhuǎn)換單元,與所述第五轉(zhuǎn)換單元和判斷單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù); 所述判斷單元,與所述第六轉(zhuǎn)換單元、第四獲取單元和存儲(chǔ)單元相連,用于判斷服務(wù)注冊(cè)表是否存在所述服務(wù)名,如果是,則發(fā)送獲取指令到所述第四獲取單元; 所述第四獲取單元,與所述判斷單元和第三創(chuàng)建單元相連,用于接收所述判斷單元發(fā)送的獲取指令,并根據(jù)所述獲取指令、服務(wù)參數(shù)和服務(wù)方法獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法; 所述第三創(chuàng)建單元,與所述第四獲取單元和第二返回單元相連,用于通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象; 所述第二返回單元,與所述第三創(chuàng)建單元和第三接收單元相連,用于將所述響應(yīng)結(jié)果JAVA對(duì)象返回給Protobuf JAVA調(diào)用處理器; 所述第三接收單元,與所述第二返回單元和第七轉(zhuǎn)換單元相連,用于通過ProtobufJAVA調(diào)用處理器接收所述響應(yīng)結(jié)果JAVA對(duì)象; 所述第七轉(zhuǎn)換單元,與所述第三接收單元和第八轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象; 所述第八轉(zhuǎn)換單元,與所述第七轉(zhuǎn)換單元和第二賦值單元相連,用于將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象; 所述第二賦值單元,與所述第二構(gòu)建單元和第八轉(zhuǎn)換單元相連,用于將響應(yīng)結(jié)果JAVA對(duì)象賦值到構(gòu)建的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中; 所述第二構(gòu)建單元,與所述第四創(chuàng)建單元、第二賦值單元和第一返回單元相連,用于構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到第一返回單元; 所述第一返回單元,與所述第二構(gòu)建單元相連,用于接收所述第二構(gòu)建單元發(fā)送的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象。
16.一種JAVA對(duì)象的請(qǐng)求和響應(yīng)系統(tǒng),其特征在于,所述系統(tǒng)包括請(qǐng)求裝置和響應(yīng)裝置; 所述請(qǐng)求裝置包括第一初始模塊、第一獲取單元、第一轉(zhuǎn)換單元、第二轉(zhuǎn)換單元、第一賦值單元、第一構(gòu)建單元、第一發(fā)送單元、第一接收單元、第二獲取單元、第三轉(zhuǎn)換單元和第四轉(zhuǎn)換單元; 所述響應(yīng)裝置包括第二初始模塊、第二接收單元、第三獲取單元、第五轉(zhuǎn)換單元、第六轉(zhuǎn)換單元、第四獲取單元、第三創(chuàng)建單元、第七轉(zhuǎn)換單元、第八轉(zhuǎn)換單元、第二賦值單元、第二構(gòu)建單元和第一返回單元; 所述第一初始模塊,與所述第一獲取單元、第一構(gòu)建單元和第一接收單元相連,用于創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu); 所述第二初始模塊,與所述第二接收單元和第二構(gòu)建單元相連,用于創(chuàng)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu); 所述第一獲取單元,與所述第一初始模塊和第一轉(zhuǎn)換單元相連,用于通過調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù); 所述第一轉(zhuǎn)換單元,與所述第一獲取單元和第二轉(zhuǎn)換單元相連,用于將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù); 所述第二轉(zhuǎn)換單元,與所述第一轉(zhuǎn)換單元和第一賦值單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換成字符串參數(shù); 所述第一賦值單元,與所述第二轉(zhuǎn)換單元和第一構(gòu)建單元相連,用于將所述字符串參數(shù)賦值到構(gòu)建的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第一構(gòu)建單元,與所述第一初始模塊、第一賦值單元和第一發(fā)送單元相連,用于構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到所述第一發(fā)送單元; 所述第一發(fā)送單元,與所述第一構(gòu)建單元和第二接收單元相連,用于接收所述第一構(gòu)建單元發(fā)送的請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,并發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求和所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象到所述第二接收單元; 所述第二接收單元,與所述第二初始模塊、第三獲取單元和第一發(fā)送單元相連,用于接收所述第一發(fā)送單元發(fā)送的遠(yuǎn)程調(diào)用請(qǐng)求和請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第三獲取單元,與所述第二接收單元和第五轉(zhuǎn)換單元相連,用于根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中的字符串參數(shù); 所述第五轉(zhuǎn)換單元,與所述第三獲取單元和第六轉(zhuǎn)換單元相連,用于將所述字符串參數(shù)轉(zhuǎn)換為JSON格式參數(shù); 所述第六轉(zhuǎn)換單元,與所述第五轉(zhuǎn)換單元和第四獲取單元相連,用于將所述JSON格式參數(shù)轉(zhuǎn)換為服務(wù)參數(shù); 所述第四獲取單元,與所述第六轉(zhuǎn)換單元和第三創(chuàng)建單元相連,用于根據(jù)所述服務(wù)參數(shù)獲取所述遠(yuǎn)程調(diào)用請(qǐng)求所調(diào)用的服務(wù)實(shí)現(xiàn)和所述服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的服務(wù)方法; 所述第三創(chuàng)建單元,與所述第四獲取單元和第七轉(zhuǎn)換單元相連,用于通過調(diào)用所述服務(wù)方法生成響應(yīng)結(jié)果JAVA對(duì)象; 所述第七轉(zhuǎn)換單元,與所述第三創(chuàng)建單元和第八轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JAVA對(duì)象轉(zhuǎn)換成響應(yīng)結(jié)果JSON格式對(duì)象;所述第八轉(zhuǎn)換單元,與所述第七轉(zhuǎn)換單元和第二賦值單元相連,用于將所述響應(yīng)結(jié)果JSON格式對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果字符串對(duì)象; 所述第二賦值單元,與所述第二構(gòu)建單元和第八轉(zhuǎn)換單元相連,用于將響應(yīng)結(jié)果JAVA對(duì)象賦值到構(gòu)建的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中; 所述第二構(gòu)建單元,與所述第二初始模塊、第二賦值單元和第一返回單元相連,用于構(gòu)建響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并將賦值后的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象發(fā)送到第一返回單元; 所述第一返回單元,與所述第二構(gòu)建單元和第一接收單元相連,用于接收所述第二構(gòu)建單元發(fā)送的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,并通過所述請(qǐng)求方法結(jié)構(gòu)返回所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象到所述第一接收單元; 所述第一接收單元,與所述第一初始模塊和第二獲取單元相連,用于通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收所述第一返回單元返回的響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象; 所述第二獲取單元,與所述第一接收單元和第三轉(zhuǎn)換單元相連,用于獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象; 所述第三轉(zhuǎn)換單元,與所述第二獲取單元和第四轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果字符串對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象; 所述第四轉(zhuǎn)換單元,與所述第三轉(zhuǎn)換單元相連,用于將所述響應(yīng)結(jié)果JSON對(duì)象轉(zhuǎn)換為響應(yīng)結(jié)果JAVA對(duì)象。
17.一種終端,其特征在于,所述終端包含權(quán)利要求16所述JAVA對(duì)象的請(qǐng)求和響應(yīng)系統(tǒng)。
全文摘要
本發(fā)明公開了一種JAVA對(duì)象的請(qǐng)求和響應(yīng)方法、裝置、系統(tǒng)和終端。本發(fā)明包括創(chuàng)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)和請(qǐng)求方法結(jié)構(gòu);調(diào)用所述請(qǐng)求方法結(jié)構(gòu)獲取所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)中的服務(wù)方法和所述服務(wù)方法調(diào)用的服務(wù)參數(shù),依次將所述服務(wù)參數(shù)轉(zhuǎn)換為JSON格式參數(shù)、字符串參數(shù);構(gòu)建請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象,將轉(zhuǎn)換后的字符串參數(shù)賦值到所述請(qǐng)求數(shù)據(jù)結(jié)構(gòu)對(duì)象中;通過所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)接收響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象,獲取所述響應(yīng)數(shù)據(jù)結(jié)構(gòu)對(duì)象中的響應(yīng)結(jié)果字符串對(duì)象,將所述響應(yīng)結(jié)果字符串對(duì)象依次轉(zhuǎn)換為響應(yīng)結(jié)果JSON對(duì)象和響應(yīng)結(jié)果JAVA對(duì)象。本發(fā)明實(shí)現(xiàn)了遠(yuǎn)程調(diào)用JAVA對(duì)象的目的,可替換原RMI的接口服務(wù),無(wú)需修改業(yè)務(wù)邏輯,提升接口性能。
文檔編號(hào)G06F9/46GK102810069SQ20121024390
公開日2012年12月5日 申請(qǐng)日期2012年7月16日 優(yōu)先權(quán)日2012年7月16日
發(fā)明者阮航 申請(qǐng)人:深圳市融創(chuàng)天下科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄂尔多斯市| 广河县| 马尔康县| 宝坻区| 三明市| 天台县| 阿克| 成都市| 漠河县| 嘉鱼县| 张北县| 扬中市| 威信县| 子长县| 石景山区| 莱州市| 富阳市| 芮城县| 康乐县| 鹰潭市| 邢台市| 乐昌市| 盐城市| 逊克县| 楚雄市| 宁明县| 延寿县| 宜城市| 扎囊县| 兴城市| 崇仁县| 黔江区| 珠海市| 旺苍县| 美姑县| 南康市| 洪江市| 大英县| 万盛区| 丰都县| 博爱县|