国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      目標對象啟動方法和業(yè)務程序系統(tǒng)與流程

      文檔序號:12596477閱讀:233來源:國知局
      目標對象啟動方法和業(yè)務程序系統(tǒng)與流程

      本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領域,特別涉及一種目標對象啟動方法和業(yè)務程序系統(tǒng)。



      背景技術(shù):

      目前,對于一個網(wǎng)絡架構(gòu),或者是一個公司而言,往往有多個業(yè)務程序,當前的方式是為每個業(yè)務程序都設置一個入口程序,這種方式可以通過每個業(yè)務程序?qū)娜肟诔绦蚝唵蔚亟尤氲皆摌I(yè)務程序中。

      然而,當該網(wǎng)絡架構(gòu)或者該公司的產(chǎn)品,即業(yè)務程序過多時,如果仍舊采用為每個業(yè)務程序都設置一個入口程序的方式,往往需要較大的代碼編寫量,會造成很大的編碼負擔,這顯然不是很理想的。

      針對上述問題,目前尚未提出有效的解決方案。



      技術(shù)實現(xiàn)要素:

      本發(fā)明實施例提供了一種目標對象啟動方法和業(yè)務程序系統(tǒng),以解決現(xiàn)有技術(shù)中需要為不同的目標程序分別設置入口程序而導致的代碼冗余的技術(shù)問題。

      在一個方面,本發(fā)明實施例提供了一種目標對象啟動方法,包括:

      獲取待啟動目標對象的參數(shù)信息;

      將所述參數(shù)信息加入預設的入口程序中;

      通過加入了所述參數(shù)信息的入口程序配置并啟動所述待啟動目標對象。

      在一個實施方式中,通過加入了所述參數(shù)信息的入口程序配置并啟動所述目標對象,包括:

      通過所述入口程序,以鍵值對的方式,為所述待啟動目標對象配置參數(shù)信息,并按照配置的參數(shù)信息啟動所述待啟動目標對象。

      在一個實施方式中,所述參數(shù)信息包括以下至少之一:配置數(shù)據(jù)、路徑數(shù)據(jù)、語言和字體。

      在一個實施方式中,在獲取待啟動目標對象的參數(shù)信息之前,所述方法還包括:

      初始化插件框架,并加載所有的業(yè)務程序;

      從加載的所有的業(yè)務程序中,選擇需要啟動的業(yè)務程序作為待啟動目標對象。

      在一個實施方式中,所述業(yè)務程序包括以下至少之一:渲染客戶端、網(wǎng)盤客戶端、同步盤、渲染管理服務器、渲染節(jié)點程序和云服務程序。

      在一個實施方式中,在將所述參數(shù)信息加入預設的入口程序中之前,所述方法還包括:

      讀取與所述目標對象匹配的編譯宏;

      通過讀取的編譯宏確定所述入口程序中需要執(zhí)行的代碼。

      在另一方面,本發(fā)明實施例提供了一種業(yè)務程序系統(tǒng),包括:入口程序、多個業(yè)務程序,其中:

      通過為所述入口程序輸入不同的參數(shù)信息,可分別啟動所述多個業(yè)務程序中的各個業(yè)務程序。

      在一個實施方式中,所述業(yè)務程序包括以下至少之一:渲染客戶端、網(wǎng)盤客戶端、同步盤、渲染管理服務器、渲染節(jié)點程序和云服務程序。

      在一個實施方式中,所述入口程序中設置有:Portal字段和sdk字段,其中,所述Portal字段用于指示待啟動的業(yè)務程序,所述sdk字段用于對待啟動的業(yè)務程序進行初始化。

      在一個實施方式中,所述多個業(yè)務程序為通過C++編寫的程序。

      在本發(fā)明實施例中,通過為不同的目標對象配置相同的入口程序,在確定需要啟動哪個目標對象的時候,就向入口程序中輸入該目標對象對應的參數(shù)以實現(xiàn)對該目標對象的啟動,通過上述方式解決了現(xiàn)有技術(shù)中需要為不同的目標對象分別設置入口程序而導致的代碼冗余的技術(shù)問題,達到了有效減少重復代碼的編輯的技術(shù)效果。

      附圖說明

      此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中:

      圖1是根據(jù)本發(fā)明實施例的目標對象啟動方法的方法流程圖;

      圖2是根據(jù)本發(fā)明實施例的業(yè)務程序系統(tǒng)的架構(gòu)圖;

      圖3是根據(jù)本發(fā)明實施例的目標對象啟動裝置的一種結(jié)構(gòu)框圖。

      具體實施方式

      為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施方式和附圖,對本發(fā)明做進一步詳細說明。在此,本發(fā)明的示意性實施方式及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。

      發(fā)明人考慮到不同的目標對象(或者說目標程序)的入口程序中的代碼存在很大的重疊,如果為每個目標對象都編輯一段入口程序,在系統(tǒng)中所存在的對象較多時,無疑有很大的工作負擔,為此,發(fā)明人考慮到可以設置一個入口程序被所有目標對象公用,從而有效減少代碼編輯量。

      例如,假設當前的目標對象有:渲染客戶端、網(wǎng)盤客戶端、通用Windows服務、普通應用程序、普通后臺程序等,那么可以將其整合為一體,通過配置文件靈活地指定啟動插件,即可以實現(xiàn)同一個入口程序啟動不同的業(yè)務程序,通過該方式使用的入口程序,代碼重用率可以達到95%,并且可以避免因不用業(yè)務導致的入口程序重復開發(fā),使得開發(fā)人員只需聚焦在業(yè)務插件的開發(fā)。

      具體地,如圖1所示,在本例中提供了一種目標對象啟動方法,包括以下步驟:

      步驟101:獲取待啟動目標對象的參數(shù)信息;

      具體地,該參數(shù)信息可以包括但不限于以下至少之一:配置數(shù)據(jù)、路徑數(shù)據(jù)、語言和字體,即,主要是目標對象一些基本的參數(shù)設置。

      因為在本例中是對通過一個入口程序?qū)崿F(xiàn)對所有目標對象的啟動,因此在獲取待啟動目標對象的參數(shù)信息之前,可以先初始化插件框架,并加載所有的業(yè)務程序;從加載的所有的業(yè)務程序中,選擇需要啟動的業(yè)務程序作為待啟動目標對象。即,所有的業(yè)務程序都是集成加載在該插件框架中的,只是在確定需要啟動哪個業(yè)務程序,就將哪個業(yè)務程序作為目標對象,基于該入口程序進行啟動。

      上述的業(yè)務程序可以包括但不限于以下至少之一:渲染客戶端、網(wǎng)盤客戶端、同步盤、渲染管理服務器、渲染節(jié)點程序和云服務程序。

      步驟102:將所述參數(shù)信息加入預設的入口程序中;

      考慮到為了使得入口程序可以兼容不同的業(yè)務程序,因此入口程序中的代碼是較為綜合的,因此,可以編譯宏的方式指明對于某個業(yè)務程序,啟動入口程序中的哪些代碼,例如:UPDATER_PORTAL這個編譯宏可以表示軟件更新應用,SERVICE_PORTAL這個編譯宏可以表示服務應用,GOLDENFARM_PORTAL這個編譯宏可以表示渲染客戶端應用,APP_PORTAL這個編譯宏可以表示帶界面的應用。

      即,在將參數(shù)信息加入預設的入口程序中之前,可以讀取與目標對象匹配的編譯宏;通過讀取的編譯宏確定入口程序中需要執(zhí)行的代碼。

      步驟103:通過加入了所述參數(shù)信息的入口程序配置并啟動所述待啟動目標對象。

      為了實現(xiàn)對目標對象中參數(shù)的配置,以實現(xiàn)對目標對象的啟動,可以采用鍵值對的方式進行配置,具體的,可以通過入口程序,以鍵值對的方式,為待啟動目標對象配置參數(shù)信息,并按照配置的參數(shù)信息啟動所述待啟動目標對象。

      在本例中,還提供了一種業(yè)務程序系統(tǒng),如圖2所示,可以包括:入口程序、多個業(yè)務程序,其中:通過為入口程序輸入不同的參數(shù)信息,可分別啟動多個業(yè)務程序中的各個業(yè)務程序。

      上述的業(yè)務程序可以包括但不限于以下至少之一:渲染客戶端、網(wǎng)盤客戶端、同步盤、渲染管理服務器、渲染節(jié)點程序和云服務程序。

      上述入口程序中可以設置有:Portal字段和sdk字段,其中,Portal字段用于指示待啟動的業(yè)務程序,sdk字段用于對待啟動的業(yè)務程序進行初始化。

      在一個實施方式中,入口程序可以包括:基礎數(shù)據(jù)管理、應用類型、插件及插件啟動4部分,基礎數(shù)據(jù)管理包括整個系統(tǒng)運行的配置數(shù)據(jù)、路徑數(shù)據(jù)、語言、字體等,通過鍵-值對傳遞到各個插件;應用類型通過編譯宏來控制,包括渲染客戶端、網(wǎng)盤客戶端、通用Windows服務、普通應用程序、普通后臺程序等;入口程序跟進配置文件配置,調(diào)研SDK的接口來加載所有插件,并調(diào)研Portal來啟動業(yè)務程序。

      具體地,配置文件可以是一個ini文件,例如:

      [lht.general]

      #啟動入口程序

      portal=com.lht.appplugintemplate_0.9.0

      application=GoldenFarm Client

      #portal=com.lht.master_2.0.0

      #控制程序

      sdk=com.lht.controller_2.0.0

      #是否以單一實例運行,0表示可以同時運行多個進程實例,1表示同時只能運行一個進程實例

      singleinstance=1

      #啟動時的日志模式,console表示輸出控制臺,file表示輸出到日志文件

      startuplogmode=file

      [lht.displaying]

      #當前界面皮膚

      skin=default

      #當前程序ICON

      icon=main.png

      #默認顯示的語言

      currentlanguage=LHT_zh-CN.qm

      #字體文件,用于多語言環(huán)境使用

      font=wqy-microhei.ttc

      fontsize=10

      [lht.plugins]

      #插件加載管理

      exclude=com.lht.controller|com.lht.serviceplugintemplate

      在配置文件中設置值,例如上述配置文件中的portal和sdk,即為制定的插件。

      所述多個業(yè)務程序可以是通過C++編寫的程序。

      在上例中,主要是為了解決現(xiàn)有技術(shù)中所存在的重復開發(fā)、浪費資源的問題,由于每個應用軟件在業(yè)務上都會有差異,而且都需要通過可執(zhí)行程序執(zhí)行,而這往往都會存在大量的重復工作及重復代碼,并且會增加額外的測試驗收工作。通過本發(fā)明實施例中的方式,僅需要通過配置文件來控制需要啟動的業(yè)務程序,同時不需要再額外開發(fā)應用程序入口,即可以重用代碼,避免了重復開發(fā)的工作。

      業(yè)務程序值得就是業(yè)務插件,也是上面配置文件代碼中portal設置的值,例如:設置的值是:com.lht.goldenfarmclient_2.0.0,就表明業(yè)務程序為渲染客戶端,設置的值是com.lht.cloudboxclient_2.0.0,就表明業(yè)務程序為網(wǎng)盤客戶端,這兩個插件即為業(yè)務程序。

      舉例而言,以渲染客戶端為例,上面配置文件只需要修改portal=com.lht.goldenfarmclient_2.0.0即可,入口程序會初始化入口程序中的數(shù)據(jù),最后讀取配置文件portal及sdk,sdk配置插件用于初始化所有插件,portal用于最后運行,這樣即可完成插件的運行。具體地,一個業(yè)務程序的啟動可以包括以下步驟:

      S1:將整個入口程序分成基礎數(shù)據(jù)管理、應用類型、插件及插件啟動四部分;

      S2:通過不同的編譯宏來控制應用類型,包括但不限于:渲染客戶端、網(wǎng)盤客戶端、通用Windows服務、普通應用程序、普通后臺程序等;

      S3:將所有應用數(shù)據(jù)、路徑數(shù)據(jù)通過鍵值的變量傳遞到各個插件;

      S4:讀取配置設置語言及字體;

      S5:讀取配置文件,加載控制程序SDK,進行插件的初始化;

      S6:讀取配置文件,獲取啟動程序插件,調(diào)研SDK接口ExecutePlugin運行,從而完成整個程序的啟動。

      即,假設有好幾個產(chǎn)品分別為:渲染客戶端、網(wǎng)盤客戶端、同步盤、渲染管理服務(Master)、渲染節(jié)點程序(Slave)、云盤服務程序等,那么所有的程序都是基于這個框架,并且有很多重復的代碼,為了解決代碼重復的問題,為這些應用程序設置一個啟動程序,通過配置文件控制,入口程序會支持帶命令行的啟動,支持配置文件的初始化,例如:初始化路徑、創(chuàng)建所需目錄、加載字體、設置語言、界面樣式創(chuàng)建等。入口程序通過鍵值變量將路徑數(shù)據(jù)、字體數(shù)據(jù)、語言數(shù)據(jù)等傳遞到各個插件,入口程序通過配置文件sdk設置值初始化插件框架、加載所有插件,根據(jù)portal設置值確定啟動那個插件,所有的應用程序可以是基于C++的產(chǎn)品。

      基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種目標對象啟動裝置,如下面的實施例所述。由于目標對象啟動裝置解決問題的原理與目標對象啟動方法相似,因此目標對象啟動裝置的實施可以參見目標對象啟動方法的實施,重復之處不再贅述。以下所使用的,術(shù)語“單元”或者“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。圖3是本發(fā)明實施例的目標對象啟動裝置的一種結(jié)構(gòu)框圖,如圖3所示,可以包括:獲取模塊301、加入模塊302和配置模塊303,下面對該結(jié)構(gòu)進行說明。

      獲取模塊301,用于獲取待啟動目標對象的參數(shù)信息;

      加入模塊302,用于將所述參數(shù)信息加入預設的入口程序中;

      配置模塊303,用于通過加入了所述參數(shù)信息的入口程序配置并啟動所述待啟動目標對象。

      在一個實施方式中,配置模塊303可以通過所述入口程序,以鍵值對的方式,為所述待啟動目標對象配置參數(shù)信息,并按照配置的參數(shù)信息啟動所述待啟動目標對象。

      在一個實施方式中,所述參數(shù)信息可以包括但不限于以下至少之一:配置數(shù)據(jù)、路徑數(shù)據(jù)、語言和字體。

      在一個實施方式中,還包括:初始化模塊,用于在獲取待啟動目標對象的參數(shù)信息之前,初始化插件框架,并加載所有的業(yè)務程序;從加載的所有的業(yè)務程序中,選擇需要啟動的業(yè)務程序作為待啟動目標對象。

      在一個實施方式中,所述業(yè)務程序可以包括但不限于以下至少之一:渲染客戶端、網(wǎng)盤客戶端、同步盤、渲染管理服務器、渲染節(jié)點程序和云服務程序。

      在一個實施方式中,確定模塊,用于在將所述參數(shù)信息加入預設的入口程序中之前,讀取與所述目標對象匹配的編譯宏;通過讀取的編譯宏確定所述入口程序中需要執(zhí)行的代碼。

      從以上的描述中,可以看出,本發(fā)明實施例實現(xiàn)了如下技術(shù)效果:通過為不同的目標對象配置相同的入口程序,在確定需要啟動哪個目標對象的時候,就向入口程序中輸入該目標對象對應的參數(shù)以實現(xiàn)對該目標對象的啟動,通過上述方式解決了現(xiàn)有技術(shù)中需要為不同的目標對象分別設置入口程序而導致的代碼冗余的技術(shù)問題,達到了有效減少重復代碼的編輯的技術(shù)效果。

      本申請中各個實施例所涉及的上述描述僅是本申請中的一些實施例中的應用,在某些標準、模型、方法的基礎上略加修改后的實施方式也可以實行上述本申請各實施例的方案。當然,在符合本申請上述各實施例的中所述的處理方法步驟的其他無創(chuàng)造性的變形,仍然可以實現(xiàn)相同的申請,在此不再贅述。

      雖然本申請?zhí)峁┝巳鐚嵤├蛄鞒虉D所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的勞動可以包括更多或者更少的操作步驟。實施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實際中的裝置或客戶端產(chǎn)品執(zhí)行時,可以按照實施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。

      上述實施例闡明的裝置或模塊,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。在實施本申請時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。當然,也可以將實現(xiàn)某功能的模塊由多個子模塊或子單元組合實現(xiàn)。

      本申請中所述的方法、裝置或模塊可以以計算機可讀程序代碼方式實現(xiàn)控制器按任何適當?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關、專用集成電路(Application Specific Integrated Circuit,ASIC)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內(nèi)部包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。

      本申請所述裝置中的部分模塊可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、類等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。

      通過以上的實施方式的描述可知,本領域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的硬件的方式來實現(xiàn)。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,也可以通過數(shù)據(jù)遷移的實施過程中體現(xiàn)出來。該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,移動終端,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。

      本說明書中的各個實施例采用遞進的方式描述,各個實施例之間相同或相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。本申請的全部或者部分可用于眾多通用或?qū)S玫挠嬎銠C系統(tǒng)環(huán)境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、移動通信終端、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程的電子設備、網(wǎng)絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。

      雖然通過實施例描繪了本申請,本領域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1