一種應(yīng)用于物聯(lián)網(wǎng)行業(yè)的java解決方案的制作方法
【專利摘要】本發(fā)明提供了一種應(yīng)用于物聯(lián)網(wǎng)行業(yè)的基于Android?Dalvik虛擬機(jī)機(jī)制的Java虛擬機(jī)系統(tǒng),即Dthing系統(tǒng),該系統(tǒng)包括:Java虛擬機(jī)內(nèi)核模塊、Java語言基礎(chǔ)庫模塊和操作系統(tǒng)移植層。Dthing是利用開源免費(fèi)的Dalvik虛擬機(jī)技術(shù),進(jìn)行重新設(shè)計(jì),優(yōu)化,裁剪,增加新功能,而研發(fā)出的一套適應(yīng)于嵌入式系統(tǒng)的Java虛擬機(jī)解決方案。Dthing系統(tǒng)是高效的,對行業(yè)客戶,對終端廠商,對應(yīng)用開發(fā)者都有極大幫助的Java虛擬機(jī)解決方案。
【專利說明】—種應(yīng)用于物聯(lián)網(wǎng)行業(yè)的java解決方案
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)系統(tǒng)領(lǐng)域,尤其涉及Java虛擬機(jī)領(lǐng)域,是一種基于AndroidDalvik虛擬機(jī)解釋器,適用于嵌入式操作系統(tǒng),物聯(lián)網(wǎng)行業(yè)的新型Java虛擬機(jī)解決方案。
【背景技術(shù)】
[0002]Java語目是一種由SUN公司提出的計(jì)算機(jī)編程語目。Java虛擬機(jī)是指Java語目的運(yùn)行環(huán)境。在手機(jī)終端操作系統(tǒng)中,Java虛擬機(jī)機(jī)制有基于SUN公司J2ME參考實(shí)現(xiàn)的棧虛擬機(jī),主要應(yīng)用于非智能手機(jī)上,以及智能手機(jī)上Android系統(tǒng)的基于寄存器的Dalvik虛擬機(jī)。
[0003]如圖1所示,基于棧的虛擬機(jī),其指令為單字節(jié)碼,指令個數(shù)不超過256個。基于棧的虛擬機(jī),所有指令執(zhí)行均是在棧上進(jìn)行,對于有多個操作數(shù)的指令,會將數(shù)據(jù)load到Java棧上后,再進(jìn)行操作。
[0004]如圖2所示,Dalvik VM是基于寄存器虛擬機(jī)。將JDK編譯生成的class文件通過Dex工具處理后,生成Dex code,也可稱為“雙字節(jié)碼”。其指令格式為均為雙字節(jié),即16位指令。Dalvik有虛擬寄存器,指令操作會將操作數(shù)load到寄存器后再進(jìn)行運(yùn)算等。
[0005]現(xiàn)有的J2ME規(guī)范和虛擬機(jī)主要針對非智能手機(jī)上游戲及應(yīng)用設(shè)計(jì),目前除了沒有針對物聯(lián)網(wǎng)行業(yè)做擴(kuò)展外,其次如果廠商使用此類虛擬機(jī),需要向SUN公司(目前的Oracle)交付昂貴的的License費(fèi)用。
[0006]Android的Davlik虛擬機(jī)機(jī)制是完全開源的,但是Android的Dalvik虛擬機(jī)是基于Linux操作系統(tǒng),并不適應(yīng)于目前的物聯(lián)網(wǎng)操作系統(tǒng)平臺。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供一種應(yīng)用于物聯(lián)網(wǎng)行業(yè)的基于Android Dalvik虛擬機(jī)機(jī)制的Java虛擬機(jī)系統(tǒng),以解決J2ME規(guī)范和虛擬機(jī)沒有針對物聯(lián)網(wǎng)行業(yè)做擴(kuò)展以及需要向SUN公司(目前的Oracle)交付昂貴的的License費(fèi)用的問題以及解決Android的Dalvik虛擬機(jī)不適應(yīng)于目前的物聯(lián)網(wǎng)操作系統(tǒng)平臺的問題。
[0008]為了解決上述問題,本發(fā)明提出了一種應(yīng)用于物聯(lián)網(wǎng)行業(yè)的基于AndroidDalvik虛擬機(jī)機(jī)制的Java虛擬機(jī)系統(tǒng),即Dthing系統(tǒng)。該系統(tǒng)包括Java虛擬機(jī)內(nèi)核模塊、Java語言基礎(chǔ)庫模塊和操作系統(tǒng)移植層;所述的Java虛擬機(jī)內(nèi)核模塊包含類加載模塊、內(nèi)存管理模塊、垃圾回收模塊、線程管理模塊、虛擬機(jī)解釋器模塊Java虛擬機(jī)啟動時,加載Java語言基礎(chǔ)庫模塊,初始化系統(tǒng),運(yùn)行Java應(yīng)用程序;所述類加載模塊用于加載Java系統(tǒng)基礎(chǔ)庫,供解釋運(yùn)行Java應(yīng)用時調(diào)用,類加載模塊在類加載過程中采用和Java系統(tǒng)運(yùn)行內(nèi)存空間共享的方式來減少內(nèi)存使用,同時移除Android MMAP機(jī)制以適應(yīng)嵌入式操作系統(tǒng)環(huán)境;所述內(nèi)存管理模塊增加內(nèi)存碎片整理頻率以提高內(nèi)存的重用;所述的垃圾回收模塊采用優(yōu)化的Mark-Sweep-Compact機(jī)制提高嵌入式設(shè)備中內(nèi)存的使用效率;所述的線程管理模塊采用輕型的線程機(jī)制,獨(dú)立于操作系統(tǒng);所述的虛擬機(jī)解釋器模塊根據(jù)精簡的Java語言基礎(chǔ)庫簡化或去除某些指令;所述的Java語言基礎(chǔ)庫模塊根據(jù)物聯(lián)網(wǎng)行業(yè)應(yīng)用特性去除了標(biāo)準(zhǔn)Java語言庫中某些功能,以減少虛擬機(jī)占用的空間;所述的操作系統(tǒng)移植層,為虛擬機(jī)調(diào)用平臺功能提供的統(tǒng)一的接口定義,以提高虛擬機(jī)系統(tǒng)在不同操作系統(tǒng)或平臺系統(tǒng)上移植的效率。
[0009]該Java虛擬機(jī)系統(tǒng)可以應(yīng)用到物聯(lián)網(wǎng)終端的操作系統(tǒng)上。
[0010]該系統(tǒng)還包括Java驅(qū)動模塊,應(yīng)用管理模塊,運(yùn)營商管理模塊;所述Java驅(qū)動模塊,實(shí)現(xiàn)了 Java層的驅(qū)動機(jī)制,以提高物聯(lián)網(wǎng)中對海量傳感器的管理;所述應(yīng)用管理模塊,實(shí)現(xiàn)了應(yīng)用的遠(yuǎn)程控制;所述的運(yùn)營商管理模塊增加了對不同運(yùn)營商協(xié)議的支持。
[0011]該系統(tǒng)還定義了一種Java驅(qū)動方法,該方法包括:步驟一:將平臺操作系統(tǒng)級的驅(qū)動的控制管理和數(shù)據(jù)讀寫提升到Java系統(tǒng)中實(shí)現(xiàn);步驟二:平臺操作系統(tǒng)只提供通用的硬件控制接口 ;步驟三:使用Java應(yīng)用調(diào)用Java虛擬機(jī)提供的驅(qū)動單元控制接口。
[0012]該Java驅(qū)動方法適用于海量傳感器部署后的驅(qū)動適配。
[0013]該系統(tǒng)實(shí)現(xiàn)移動WMMP協(xié)議的規(guī)范的步驟如下:步驟一 =Java系統(tǒng)啟動后,將WMMP功能加載到系統(tǒng)中;步驟二 Java系統(tǒng)注冊到移動運(yùn)營商的運(yùn)營管理平臺,注冊本地終端;步驟三:系統(tǒng)發(fā)送鏈接請求和運(yùn)營商業(yè)務(wù)管理平臺鏈接,完成業(yè)務(wù)流程。所述運(yùn)營商協(xié)議包括移動WMMP協(xié)議。
[0014]由此可見,本發(fā)明具有如下優(yōu)點(diǎn):
[0015]1.本發(fā)明為了解決Dalvik VM應(yīng)用到嵌入式操作系統(tǒng)上的問題,對DalvikVM進(jìn)行的重新定制和設(shè)計(jì),使其對系統(tǒng)資源的要求更低,效率更高,更適用于像ThreadX,Nucleus等嵌入式操作系統(tǒng)。
[0016]2.增加了物聯(lián)網(wǎng)行業(yè)的特點(diǎn),提出在虛擬機(jī)中增加Java動態(tài)驅(qū)動,遠(yuǎn)程監(jiān)控等機(jī)制。
[0017]3.解決第三方的license費(fèi)用。
[0018]Dthing虛擬機(jī)系統(tǒng)與J2ME虛擬機(jī)系統(tǒng)對比優(yōu)勢:
[0019]1.Dthing系統(tǒng)的解釋器采用Android Dalvik VM的基于寄存器的虛擬機(jī)機(jī)制,其效率比基于棧的虛擬機(jī)機(jī)制效率更高。
[0020]2.現(xiàn)有的嵌入式Java虛擬機(jī)都是基于J2ME的架構(gòu),J2ME是面向非智能手機(jī)的行業(yè),J2ME的技術(shù)規(guī)范在物聯(lián)網(wǎng)行業(yè)并不適合。同時J2ME的技術(shù)規(guī)范長期沒有更新,需要新技術(shù)進(jìn)行補(bǔ)充。
[0021]3.Dthing系統(tǒng)的虛擬機(jī)基于Apache的license規(guī)范,不必向Google或SUN(Oracle)交付第三方license費(fèi)用。
[0022]Dthing虛擬機(jī)系統(tǒng)與Android Dalvik虛擬機(jī)系統(tǒng)對比優(yōu)勢:
[0023]1.Android Dalvik虛擬機(jī)是基于Linux操作系統(tǒng)上設(shè)計(jì)的虛擬機(jī)機(jī)制。并且對硬件環(huán)境要求很高。
[0024]2.Android Dalvik虛擬機(jī)并不是單獨(dú)的產(chǎn)品,它只存在于Android的手機(jī)操作系統(tǒng)中。因而盡管其效率很高,但是無法直接應(yīng)用到其它行業(yè)。
[0025]Dthing虛擬機(jī)系統(tǒng)解決了 Android Dalvik虛擬機(jī)對資源要求高的問題,并將其應(yīng)用到嵌入式操作系統(tǒng)上,擴(kuò)展了其應(yīng)用領(lǐng)域。同時Dthing系統(tǒng)針對嵌入式操作系統(tǒng)增強(qiáng)了相應(yīng)的功能?!緦@綀D】
【附圖說明】
[0026]圖1是基于棧的Java虛擬機(jī)。
[0027]圖2是基于寄存器的Java虛擬機(jī)架構(gòu)。
[0028]圖3是Dthing系統(tǒng)架構(gòu)圖。
【具體實(shí)施方式】
[0029]本發(fā)明提出了一種應(yīng)用于物聯(lián)網(wǎng)行業(yè)的基于Android Dalvik虛擬機(jī)機(jī)制的Java虛擬機(jī)系統(tǒng),即Dthing系統(tǒng),該系統(tǒng)Java虛擬機(jī)內(nèi)核機(jī)制,Java語言基礎(chǔ)庫,操作系統(tǒng)移植層。所述的Java虛擬機(jī)內(nèi)核部分有類加載模塊,內(nèi)存管理模塊,垃圾回收模塊,線程管理模塊,虛擬機(jī)解釋器模塊。Java虛擬機(jī)運(yùn)行過程包括虛擬機(jī)啟動時的基礎(chǔ)庫加載,初始化,和虛擬機(jī)運(yùn)行Java應(yīng)用程序。所述的類加載模塊用于加載Java系統(tǒng)基礎(chǔ)庫,供解釋運(yùn)行Java應(yīng)用時調(diào)用,本發(fā)明的類加載模塊在類加載過程中和Java系統(tǒng)運(yùn)行內(nèi)存空間共享方式減少內(nèi)存使用,同時移除Android MMAP機(jī)制以適應(yīng)嵌入式操作系統(tǒng)環(huán)境。所述內(nèi)存管理模塊增加內(nèi)存碎片整理頻率以提高內(nèi)存的重用。所述的垃圾回收模塊采用優(yōu)化的Mark-Sweep-Compact機(jī)制提高嵌入式設(shè)備中內(nèi)存的使用效率。所述的線程管理模塊采用輕型的線程機(jī)制,獨(dú)立于操作系統(tǒng)。所述的虛擬機(jī)解釋模塊根據(jù)精簡的Java語言基礎(chǔ)庫簡化或去除某些之類。所述的Java語言基礎(chǔ)庫根據(jù)物聯(lián)網(wǎng)行業(yè)應(yīng)用特性去除了標(biāo)準(zhǔn)Java語言庫中某些功能,如屏幕,媒體等,以減少虛擬機(jī)占用的空間。所述的操作系統(tǒng)移植層,為虛擬機(jī)調(diào)用平臺功能提供的統(tǒng)一的接口定義,這周方式提高了虛擬機(jī)系統(tǒng)在不同操作系統(tǒng),平臺系統(tǒng)上移植的效率。
[0030]該系統(tǒng)還包括Java驅(qū)動模塊,應(yīng)用管理模塊,運(yùn)營商管理模塊中。所述Java驅(qū)動模塊,實(shí)現(xiàn)了 Java層的驅(qū)動機(jī)制,以提高物聯(lián)網(wǎng)中對海量傳感器的管理。所說應(yīng)用管理模塊實(shí)現(xiàn)了應(yīng)用的遠(yuǎn)程控制。所述的運(yùn)營商模塊增加了對不同運(yùn)營商如移動WMMP協(xié)議的支持。
[0031]本發(fā)明使用Android的Dalvik VM虛擬機(jī)機(jī)制,可以避免向SUN交付昂貴的License費(fèi)用。從而大大降低了虛擬機(jī)應(yīng)用到嵌入式系統(tǒng)后的成本問題。同時也打破了嵌入式環(huán)境下Java虛擬機(jī)的壟斷局面。
[0032]下面結(jié)合附圖3對本發(fā)明進(jìn)行詳細(xì)說明:
[0033]操作系統(tǒng):虛擬機(jī)運(yùn)行的嵌入式環(huán)境
[0034]軟件平臺:不同的芯片模塊有不同的軟件平臺,軟件平臺提供對各種硬件支持以及各類服務(wù)的封裝。有屏幕;網(wǎng)絡(luò);傳感器;文件系統(tǒng);事件通訊機(jī)制和消息機(jī)制;
[0035]操作系統(tǒng)移植層:這層主要是對平臺和操作系統(tǒng)的封裝,使得上層系統(tǒng)不用隨平臺和操作系統(tǒng)的變化而做大的修改。包括平臺無關(guān)封裝,系統(tǒng)函數(shù)封裝,平臺函數(shù)封裝,以及驅(qū)動封裝
[0036]虛擬機(jī)內(nèi)核:為Dalvik虛擬機(jī)的核心運(yùn)行模塊,主要包括JNI接口實(shí)現(xiàn);解釋器,內(nèi)存管理,垃圾回收機(jī)制,調(diào)試管理,類加載。
[0037]第三方庫:為Dalvik虛擬機(jī)運(yùn)行中使用的第三方庫。如:數(shù)據(jù)庫;安全模塊;壓縮模塊;語言支持。[0038]Dthing Java系統(tǒng)庫:為Dalvik VM系統(tǒng)的各類Java服務(wù)模塊,為最終的M2M應(yīng)用提供各類的功能和服務(wù)。包括:應(yīng)用管理模塊Java動態(tài)加載模塊J2SE基礎(chǔ)庫模塊;M2M協(xié)議擴(kuò)展模塊;WMMP協(xié)議支持;0SGi架構(gòu)模塊;多任務(wù)模塊Java語言基礎(chǔ)庫
[0039]Dalvik虛擬機(jī)內(nèi)核,Dthing Java系統(tǒng)庫,系統(tǒng)移植層構(gòu)成了 Dthing這樣一個Java中間件系統(tǒng)。
[0040]下面對該系統(tǒng)包括的各個模塊進(jìn)行詳細(xì)描述:
[0041]類加載模塊:在Android的虛擬機(jī)系統(tǒng)中,類加載模塊采用Linux的MMAP方式加載優(yōu)化過后的Java文件,隨后映射到內(nèi)存中進(jìn)行Java基礎(chǔ)庫的加載,并且使用大量的內(nèi)存來實(shí)現(xiàn)內(nèi)存的加載。Dthing系統(tǒng)將MMAP機(jī)制移除,采用和主內(nèi)存模塊共享內(nèi)存空間,已減少內(nèi)存的使用。
[0042]內(nèi)存管理模塊=Android的虛擬機(jī)管理模塊預(yù)留了至少SM字節(jié)的內(nèi)存空間,并且會根據(jù)上層Framework的要求大塊的增加內(nèi)存。Dthing系統(tǒng)將增加內(nèi)存管理和碎片整理的頻率以提高內(nèi)存的重用,從而將內(nèi)存最大值降低到可接受的范圍(2M-3M字節(jié))。
[0043]垃圾回收機(jī)制:采用Mark-Sweep-Compact的機(jī)制,會在算法中進(jìn)行優(yōu)化,以提高嵌入式設(shè)備中內(nèi)存的使用效率。
[0044]線程管理機(jī)制:Android的虛擬機(jī)線程管理機(jī)制是基于Linux的pthread機(jī)制提供的豐富的接口功能供虛擬機(jī)使用。但是在嵌入式操作系統(tǒng)中,線程管理都會有各種限制。Dthing系統(tǒng)將實(shí)現(xiàn)獨(dú)立于操作系統(tǒng)的輕量型線程管理機(jī)制,這不僅增加了 Dthing系統(tǒng)平臺的獨(dú)立性,同時線程管理功能更簡單。
[0045]虛擬機(jī)解釋器:虛擬機(jī)解釋器會根據(jù)虛擬機(jī)基礎(chǔ)庫的功能,簡化某些指令的執(zhí)行過程,以提聞執(zhí)行效率。
[0046]Java語言基礎(chǔ)庫:Java語言通用庫通常會大而全,Dthing系統(tǒng)根據(jù)物理網(wǎng)行業(yè)的應(yīng)用去除了物聯(lián)網(wǎng)行業(yè)不用的功能,如復(fù)雜的屏幕操作,多媒體的支持等,這樣既減少整個系統(tǒng)的空間占用,同時為虛擬機(jī)很多模塊提供的優(yōu)化的基礎(chǔ)。
[0047]應(yīng)用管理模塊=Dthing系統(tǒng)加入了遠(yuǎn)程應(yīng)用管理模塊,以進(jìn)行終端系統(tǒng)的遠(yuǎn)程監(jiān)控。遠(yuǎn)程應(yīng)用管理模塊包括:本地應(yīng)用列表,遠(yuǎn)程啟動,遠(yuǎn)程刪除,遠(yuǎn)程停止,遠(yuǎn)程加載更新應(yīng)用。
[0048]Java驅(qū)動模塊=Dthing系統(tǒng)定義了 Java驅(qū)動模型,可以遠(yuǎn)程將各類傳感器驅(qū)動動態(tài)加載到Dthing終端系統(tǒng),這樣可以實(shí)現(xiàn)傳感器的即插即用功能,同時可以做到物聯(lián)網(wǎng)的后向部署-即在物聯(lián)網(wǎng)終端部署后,可以通過更改不同傳感器,以及遠(yuǎn)程應(yīng)用程序的更新,來實(shí)現(xiàn)物聯(lián)網(wǎng)新的部署和功能的升級。
[0049]本發(fā)明并不局限于上述【具體實(shí)施方式】,本發(fā)明可以有各種修改和替代形式,在附圖和詳細(xì)說明中一些具體的實(shí)施例只是作為實(shí)例加以表述。但應(yīng)理解,這些附圖和詳細(xì)說明絕不是為了將本發(fā)明限制在所公開的具體形式上,相反,本發(fā)明應(yīng)包括在權(quán)利要求書所定義的范圍內(nèi)的全部修改、等效形式和替代形式。
【權(quán)利要求】
1.一種應(yīng)用于物聯(lián)網(wǎng)行業(yè)的基于Android Dalvik虛擬機(jī)機(jī)制的Java虛擬機(jī)系統(tǒng),其特征在于,該系統(tǒng)包括=Java虛擬機(jī)內(nèi)核模塊、Java語言基礎(chǔ)庫模塊和操作系統(tǒng)移植層;所述的Java虛擬機(jī)內(nèi)核模塊包含類加載模塊、內(nèi)存管理模塊、垃圾回收模塊、線程管理模塊、虛擬機(jī)解釋器模塊Java虛擬機(jī)啟動時,加載Java語言基礎(chǔ)庫模塊,初始化系統(tǒng),運(yùn)行Java應(yīng)用程序;所述類加載模塊用于加載Java系統(tǒng)基礎(chǔ)庫,供解釋運(yùn)行Java應(yīng)用時調(diào)用,類加載模塊在類加載過程中采用和Java系統(tǒng)運(yùn)行內(nèi)存空間共享的方式來減少內(nèi)存使用,同時移除Android MMAP機(jī)制以適應(yīng)嵌入式操作系統(tǒng)環(huán)境;所述內(nèi)存管理模塊增加內(nèi)存碎片整理頻率以提高內(nèi)存的重用;所述的垃圾回收模塊采用優(yōu)化的Mark-Sweep-Compact機(jī)制提高嵌入式設(shè)備中內(nèi)存的使用效率;所述的線程管理模塊采用輕型的線程機(jī)制,獨(dú)立于操作系統(tǒng);所述的虛擬機(jī)解釋器模塊根據(jù)精簡的Java語言基礎(chǔ)庫簡化或去除某些指令;所述的Java語言基礎(chǔ)庫模塊根據(jù)物聯(lián)網(wǎng)行業(yè)應(yīng)用特性去除了標(biāo)準(zhǔn)Java語言庫中某些功能,以減少虛擬機(jī)占用的空間;所述的操作系統(tǒng)移植層,為虛擬機(jī)調(diào)用平臺功能提供的統(tǒng)一的接口定義,以提高虛擬機(jī)系統(tǒng)在不同操作系統(tǒng)或平臺系統(tǒng)上移植的效率。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,該Java虛擬機(jī)系統(tǒng)可以應(yīng)用到物聯(lián)網(wǎng)終端的操作系統(tǒng)上。
3.如權(quán)利要求1或2所述的系統(tǒng),其特征在于,該系統(tǒng)還包括=Java驅(qū)動模塊,應(yīng)用管理模塊,運(yùn)營商管理模塊;所述Java驅(qū)動模塊,實(shí)現(xiàn)了 Java層的驅(qū)動機(jī)制,以提高物聯(lián)網(wǎng)中對海量傳感器的管理;所述應(yīng)用管理模塊,實(shí)現(xiàn)了應(yīng)用的遠(yuǎn)程控制;所述的運(yùn)營商管理模塊增加了對不同運(yùn)營商協(xié)議的支持。
4.如權(quán)利要求1-3任一項(xiàng)所述的系統(tǒng),其特征在于,該系統(tǒng)還定義了一種Java驅(qū)動方法,該方法包括:步驟一:將平臺操作系統(tǒng)級的驅(qū)動的控制管理和數(shù)據(jù)讀寫提升到Java系統(tǒng)中實(shí)現(xiàn);步驟二:平臺操作系統(tǒng)只提供通用的硬件控制接口 ;步驟三:使用Java應(yīng)用調(diào)用Java虛擬機(jī)提供的驅(qū)動單元控制接口。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,該Java驅(qū)動方法適用于海量傳感器部署后的驅(qū)動適配。
6.如權(quán)利要求1-3任一項(xiàng)所述的系統(tǒng),其特征在于,該系統(tǒng)實(shí)現(xiàn)移動WMMP協(xié)議的規(guī)范的步驟如下: 步驟一:Java系統(tǒng)啟動后,將WMMP功能加載到系統(tǒng)中; 步驟二 Java系統(tǒng)注冊到移動運(yùn)營商的運(yùn)營管理平臺,注冊本地終端; 步驟三:系統(tǒng)發(fā)送鏈接請求和運(yùn)營商業(yè)務(wù)管理平臺鏈接,完成業(yè)務(wù)流程。
【文檔編號】G06F9/455GK103530165SQ201310404344
【公開日】2014年1月22日 申請日期:2013年9月6日 優(yōu)先權(quán)日:2013年9月6日
【發(fā)明者】許小剛, 常欣, 石亮, 龍帆, 黃傳 申請人:北京雅魯藏布科技有限公司