本發(fā)明屬于金融機具技術(shù)領(lǐng)域,尤其涉及一種基于紙幣的算法仿真驗證方法、客戶端及終端設(shè)備。
背景技術(shù):
紙幣作為一種重要的票證在日常生活中隨處可見,更是現(xiàn)代金融行業(yè)的血液。金融行業(yè)中常常需要通過算法對紙幣各方面進行識別、驗證,例如紙幣的真?zhèn)危垘牌泵鎴D像的版面、幣值等;紙幣識別算法主要包括紙幣圖像預(yù)處理、傾斜校正、序列號切分、單字分割和字符識別幾個部分。隨著計算技術(shù)的不斷發(fā)展,針對紙幣的各種新的算法也不斷的被開發(fā)出來。在開發(fā)各種算法的過程中,算法工程每設(shè)計出一種新的算法,都需要對新設(shè)計出算法進行仿真驗證,通常每個算法需要大量的樣本來進行驗證其執(zhí)行的準確率及執(zhí)行效率,現(xiàn)有技術(shù)中對于算法的仿真驗證方法由于受到pc的cpu的計算能力及外設(shè)的io速度的限制,在對算法進行仿真驗證時,常需要較長的時間,大大降低了算法工程師的開發(fā)效率。
故,基于現(xiàn)有技術(shù)的缺陷,需要提出一種新的基于紙幣的算法仿真驗證方法。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種基于紙幣的算法仿真驗證方法、客戶端及終端設(shè)備,以解決現(xiàn)有技術(shù)中進行算法仿真驗證時所需時間長,仿真驗證效率低的問題。
本發(fā)明實施例的第一方面提供了一種基于紙幣的算法仿真驗證方法,所述基于紙幣的算法仿真驗證方法包括:
客戶端發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟所述客戶端接收socket連接請求的權(quán)限;
客戶端接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到客戶端;
客戶端統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。
本發(fā)明實施例的第二方面提供了一種客戶端,所述客戶端包括:
請求發(fā)起單元,用于發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟所述客戶端接收socket連接請求的權(quán)限;
任務(wù)發(fā)送單元,用于接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器中的一個,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到客戶端;所述客戶端和所述服務(wù)器中分別安裝有分布式模塊;
執(zhí)行結(jié)果統(tǒng)計單元,用于統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。
本發(fā)明實施例的第三方面提供了一種終端設(shè)備,所述終端設(shè)備包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:
發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟接收socket連接請求的權(quán)限;
接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到客戶端;
統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。
本發(fā)明實施例的第四方面提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)以下步驟:
發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟接收socket連接請求的權(quán)限;
接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到所述客戶端;
統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。
本發(fā)明實施例與現(xiàn)有技術(shù)相比存在的有益效果是:通過將多臺pc機互聯(lián),由其中一臺pc機作為客戶端,其余pc機作為服務(wù)器,由客戶端發(fā)起算法仿真驗證請求,通過安裝在pc機內(nèi)的分布式模塊,將多個算法仿真任務(wù)分配到不同的服務(wù)器中去執(zhí)行,提高了批量算法仿真驗證的效率,使得算法工程師在開發(fā)出新的算法后能夠很方便的在大量樣本上驗證新算法。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一提供的一種基于紙幣的算法仿真驗證方法的實現(xiàn)流程圖;
圖2是本發(fā)明實施例二提供的一種基于紙幣的算法仿真驗證方法的實現(xiàn)流程圖;
圖3是本發(fā)明實施例三提供的一種客戶端的結(jié)構(gòu)框圖;
圖4是本發(fā)明實施例四提供的一種終端設(shè)備的結(jié)構(gòu)示意圖。
具體實施方式
以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、技術(shù)之類的具體細節(jié),以便透徹理解本發(fā)明實施例。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒有這些具體細節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的系統(tǒng)、裝置、電路以及方法的詳細說明,以免不必要的細節(jié)妨礙本發(fā)明的描述。
本發(fā)明實施例中,對于算法工程開發(fā)出新的算法,通過客戶端發(fā)起算法仿真驗證請求進行新算法的仿真驗證,客戶端生成socket服務(wù)以開啟接收服務(wù)器發(fā)送的socket連接請求的權(quán)限;然后接收多個服務(wù)器發(fā)送的socket連接請求,由于客戶端和服務(wù)器中均安裝有分布式模塊,客戶端可以通過分布式模塊發(fā)送算法仿真任務(wù)都不同的服務(wù)器,以使所述服務(wù)器執(zhí)行所述算法仿真任務(wù),接收并統(tǒng)計服務(wù)器返回的執(zhí)行結(jié)果,根據(jù)統(tǒng)計的執(zhí)行結(jié)果判斷本次算法仿真驗證是否合格。
為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進行說明。
實施例一:
圖1示出了本發(fā)明第一實施例提供的一種基于紙幣的算法仿真驗證方法的流程圖,詳述如下:
步驟s11,客戶端發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟所述客戶端接收socket連接請求的權(quán)限;
本發(fā)明實施例中,首先將多臺pc機互聯(lián),在將pc機互聯(lián)時可以通過局域網(wǎng)連接或通過無線連接也可以為基于無線保真(wireless-fidelity,wi-fi)、紫蜂協(xié)議(zigbee)或者啁啾協(xié)議的連接,當(dāng)然,上述多臺pc機也可以通過其它方式與物聯(lián)網(wǎng)系統(tǒng)認證中心連接,此處不作限定。
以局域網(wǎng)連接多臺pc機為例,在多臺通過局域網(wǎng)互聯(lián)的pc機,以其中一臺pc機作為客戶端,其余pc機作為服務(wù)器;所述的多臺pc機上均安裝分布式模塊,因此,每臺pc機充當(dāng)?shù)慕巧稍诳蛻舳撕头?wù)器之間根據(jù)需要進行切換。由客戶端發(fā)起算法仿真驗證請求,然后根據(jù)發(fā)起的算法仿真驗證請求生成socket服務(wù),socket通常也稱作"套接字",用于描述ip地址和端口,是一個通信鏈的句柄,可以用來實現(xiàn)不同虛擬機或不同計算機之間的通信。在internet上的主機一般運行了多個服務(wù)軟件,同時提供幾種服務(wù)。每種服務(wù)都打開一個socket,并綁定到一個端口上,不同的端口對應(yīng)于不同的服務(wù)。因此,生成的socket服務(wù)開啟了客戶端接收socket連接請求的權(quán)限。
步驟s12,客戶端接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到客戶端;所述客戶端和所述服務(wù)器中分別安裝有分布式模塊;
本發(fā)明實施例中,客戶端接收來自多個服務(wù)器的socket連接請求,連接成功后根據(jù)服務(wù)器的請求按照預(yù)設(shè)的規(guī)則發(fā)送算法仿真任務(wù)到多個服務(wù)器中的一個。對于待驗證的算法,往往需要通過多個樣本來驗證其合格與否,因此,客戶端發(fā)起算法仿真驗證請求時會接收到多個算法仿真任務(wù),對于所述的多個算法仿真任務(wù)客戶端首先對其進行整理,生成任務(wù)列表,所述任務(wù)列表用于對接收到的算法仿真任務(wù)進行統(tǒng)計和區(qū)分,以便于后續(xù)客戶端按照預(yù)設(shè)的規(guī)則將不同的算法仿真任務(wù)發(fā)送到不同的服務(wù)器去執(zhí)行;其中,所述預(yù)設(shè)的規(guī)則可以是按照算法仿真任務(wù)生成的先后順序依次調(diào)用任務(wù)列表中對應(yīng)的算法仿真任務(wù),然后發(fā)送到不同的服務(wù)器,也可以是按照服務(wù)器發(fā)出與客戶端連接請求的先后順序調(diào)用任務(wù)列表對應(yīng)的算法仿真任務(wù),再分配到不同的服務(wù)器。具體的發(fā)送規(guī)則可根據(jù)需要預(yù)先設(shè)置,這里不做限定。服務(wù)器接收到算法仿真任務(wù)后執(zhí)行所述算法仿真任務(wù),得到執(zhí)行結(jié)果,并將執(zhí)行結(jié)果發(fā)送到客戶端。
步驟s13,客戶端統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。所述執(zhí)行結(jié)果指不同算法仿真任務(wù)對同一算法進行驗證后分別得到的仿真結(jié)果。
本發(fā)明實施例中,客戶端接收所有服務(wù)器發(fā)送的算法仿真任務(wù)的執(zhí)行結(jié)果,對所述執(zhí)行結(jié)果進行統(tǒng)計,在統(tǒng)計時,預(yù)先統(tǒng)計從各個服務(wù)器接收到的執(zhí)行結(jié)果的總數(shù)量,然后統(tǒng)計各個服務(wù)器發(fā)送的執(zhí)行結(jié)果中合格的執(zhí)行結(jié)果的數(shù)量,計算出每臺服務(wù)器執(zhí)行結(jié)果的合格率;由于客戶端進行算法仿真任務(wù)分配是隨機分配不同算法仿真任務(wù)到不同的服務(wù)器,因此,采用不同算法仿真任務(wù)對同一算法進行驗證得到的執(zhí)行結(jié)果,每臺服務(wù)的仿真驗證合格率應(yīng)該相近;若計算出的每臺服務(wù)器的執(zhí)行結(jié)果的合格率無明顯差別,則計算出所有服務(wù)器執(zhí)行結(jié)果的平均合格率,將所述平均合格率與預(yù)設(shè)的合格率進行對比,在所述平均合格率大于或等于預(yù)設(shè)的合格率時,判定本次進行仿真驗證的算法為合格的算法。若出現(xiàn)某臺服務(wù)器的執(zhí)行結(jié)果的合格率明顯低于或高于其他服務(wù)器的執(zhí)行結(jié)果的合格率,則舍棄從該服務(wù)器得出的執(zhí)行結(jié)果,再計算其他服務(wù)器的執(zhí)行結(jié)果的平均合格率,進而判斷此次仿真驗證的算法是否合格。
在統(tǒng)計分析服務(wù)器發(fā)送的執(zhí)行結(jié)果時,首先計算每個服務(wù)器執(zhí)行結(jié)果的合格率,除去合格率與多數(shù)服務(wù)器的執(zhí)行結(jié)果的合格率相差較大的服務(wù)器的執(zhí)行結(jié)果,排除了服務(wù)器自身原因造成的算法仿真任務(wù)執(zhí)行出現(xiàn)偏差的因素,然后計算所有服務(wù)器執(zhí)行結(jié)果的平均合格率,通過平均合格率最終判斷當(dāng)前的算法是否為合格算法,排除了外因造成算法仿真任務(wù)的執(zhí)行結(jié)果出現(xiàn)偏差的因素,提高了驗證的精確度。
優(yōu)選地,在所述客戶端統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格之后,包括:
在客戶端判斷出所述算法仿真驗證不合格時,分析所述執(zhí)行結(jié)果,推送所述算法仿真驗證不合格原因及修改建議。
本發(fā)明實施例中,若客戶端判斷出本次算法仿真驗證不合格,則隨機從每個服務(wù)器的不合格的執(zhí)行結(jié)果中抽取一定數(shù)目的算法仿真任務(wù),分析其執(zhí)行過程,查找執(zhí)行結(jié)果不合格的原因,并推送出相關(guān)的修改建議。
本發(fā)明實施例中,通過將多臺pc機互聯(lián),由其中一臺pc機作為客戶端,其余pc機作為服務(wù)器,由客戶端發(fā)起算法仿真驗證請求,生成socket服務(wù)以開啟接收服務(wù)器發(fā)送的socket連接請求的權(quán)限;然后接收多個服務(wù)器發(fā)送的socket連接請求,客戶端和服務(wù)器中均安裝有分布式模塊,客戶端和服務(wù)器之間角色可根據(jù)需要進行切換,客戶端將生產(chǎn)的多個算法仿真任務(wù)發(fā)送到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊發(fā)送不同的算法仿真任務(wù)到不同的服務(wù)器,進而使所述服務(wù)器執(zhí)行所述算法仿真任務(wù);客戶端接收并統(tǒng)計服務(wù)器返回的執(zhí)行結(jié)果,根據(jù)統(tǒng)計的執(zhí)行結(jié)果判斷本次算法仿真驗證是否合格。通過安裝在pc機內(nèi)的分布式模塊,將多個算法仿真任務(wù)分配到不同的服務(wù)器中去執(zhí)行,提高了批量算法仿真驗證的效率,使得算法工程師在開發(fā)出新的算法后能夠很方便的在大量樣本上驗證新算法。并且本發(fā)明實施例中客戶端對多個的算法仿真任務(wù)進行整理生成任務(wù)列表,方便了對算法仿真任務(wù)的調(diào)用與區(qū)分;按照預(yù)先設(shè)置的發(fā)送規(guī)則分配給多個服務(wù)器,避免了算法仿真任務(wù)的重復(fù)發(fā)送。
實施例二:
圖2示出了本發(fā)明第二實施例提供的一種基于紙幣的算法仿真驗證方法的流程圖,詳述如下:
步驟s21,客戶端載入算法到待驗證算法序列,生成算法執(zhí)行序列,所述算法執(zhí)行序列用于執(zhí)行所述算法仿真任務(wù)。
本發(fā)明實施例中,對于算法工程師新開發(fā)出的算法,一般要與另外一些算法相結(jié)合才能共同完成一項任務(wù);以紙幣中冠字號圖像識別算法為例,在對紙幣中的冠字號進行識別時,需要通過識版本,幣值,面向等一系列算法才能定位出紙幣中冠字號圖像的位置從而識別冠字號;因此,首先將算法工程師開發(fā)的某一項新算法載入待驗證算法的序列,并編譯生成算法執(zhí)行序列,以供后續(xù)服務(wù)器在執(zhí)行算法仿真任務(wù)時根據(jù)所述算法執(zhí)行序列執(zhí)行算法仿真任務(wù)。
步驟s22,客戶端發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟所述客戶端接收socket連接請求的權(quán)限;該步驟的實現(xiàn)過程參見實施例一中步驟s11的實現(xiàn)過程。
步驟s23,客戶端接收至少兩個服務(wù)器發(fā)送的服務(wù)器發(fā)送的socket連接請求,發(fā)送所述算法執(zhí)行序列到所述至少兩個服務(wù)器;
步驟s24,客戶端以單個樣本為單位生成至少兩個算法仿真任務(wù),發(fā)送所述至少兩個算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊發(fā)送所述至少兩個算法仿真任務(wù)至少兩個服務(wù)器,進而使接收到所述至少兩個算法仿真任務(wù)的至少兩個服務(wù)器根據(jù)所述算法執(zhí)行序列執(zhí)行所述至少兩個算法仿真任務(wù)。
本發(fā)明實施例中,客戶端接收服務(wù)器發(fā)送的socket連接請求,然后將所述算法執(zhí)行序列發(fā)送到向客戶端發(fā)送socket連接請求的服務(wù)器,由服務(wù)器接收并保存所述算法執(zhí)行序列。然后客戶端以單個樣本為單位生成多個算法仿真任務(wù),發(fā)送所述算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,由分布式模塊發(fā)送所述多個算法仿真任務(wù)到多個服務(wù)器中的一個,以使接收到所述算法仿真任務(wù)的服務(wù)器根據(jù)所述算法執(zhí)行序列執(zhí)行所述算法仿真任務(wù)。例如若一個算法仿真若需要驗證30000個樣本,則生成30000個算法仿真任務(wù),每個算法仿真任務(wù)均包含樣本的路徑信息。然后客戶端將所生成的30000個算法仿真任務(wù)發(fā)送到分布式模塊,由分布式模塊按照一定的規(guī)則發(fā)送到多個服務(wù)器。
優(yōu)選地,所述發(fā)送所述至少兩個算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊發(fā)送所述至少兩個算法仿真任務(wù)至少兩個服務(wù)器,具體包括:
在所述算法仿真任務(wù)的數(shù)量大于所述服務(wù)器的數(shù)量時,發(fā)送所述算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊分別發(fā)送數(shù)量與所述服務(wù)器的數(shù)量相同的算法仿真任務(wù)至所述服務(wù)器,并標記已被所述服務(wù)器執(zhí)行及正在被執(zhí)行的算法仿真任務(wù),所述服務(wù)器的數(shù)量大于或等于2;
所述分布式模塊獲取所述服務(wù)器的負載,根據(jù)所述服務(wù)器的負載從未被標記的算法仿真任務(wù)中選擇相應(yīng)數(shù)量的未被標記的算法仿真任務(wù),并將選擇的未被標記的算法仿真任務(wù)發(fā)送至所述服務(wù)器;
在所述算法仿真任務(wù)的數(shù)量小于或等于所述服務(wù)器的數(shù)量時,發(fā)送所述算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊分別發(fā)送所述算法仿真任務(wù)至所述服務(wù)器,所述服務(wù)器的數(shù)量大于或等于2。
本發(fā)明實施例中,若算法仿真任務(wù)的數(shù)量多于服務(wù)器的數(shù)量,則每臺服務(wù)器可能會執(zhí)行多個算法仿真任務(wù),此時,分布式模塊接收到客戶端發(fā)送的多個算法仿真任務(wù)后,先發(fā)送與服務(wù)器數(shù)量相同的算法仿真任務(wù)到服務(wù)器;在向服務(wù)器發(fā)送算法仿真任務(wù)后,對發(fā)送過并順利執(zhí)行或正在被執(zhí)行的算法仿真任務(wù)進行標記,以避免重復(fù)發(fā)送;同時,監(jiān)聽發(fā)送到每個服務(wù)器的算法仿真任務(wù)的數(shù)量,由于每個服務(wù)器的負載能力有限,在短時間內(nèi)不可能無限的接收并執(zhí)行算法仿真任務(wù);因此,監(jiān)聽一段時間內(nèi)發(fā)送到每個服務(wù)器的算法仿真任務(wù)的數(shù)量,并選擇當(dāng)前負載低于預(yù)設(shè)負載閾值的服務(wù)器,對選出服務(wù)器按照負載的高低進行排序,優(yōu)先發(fā)送算法仿真任務(wù)到負載最低的服務(wù)器。分布式模塊在分配算法仿真任務(wù)時選擇負載低的服務(wù)器優(yōu)先發(fā)送,有助于實現(xiàn)各個服務(wù)器的負載均衡,避免一部分服務(wù)器空閑而另一部分超負載運轉(zhuǎn)的情況,提高了算法仿真驗證的效率。
若算法仿真任務(wù)的數(shù)量小于或服務(wù)器的數(shù)量,說明每臺服務(wù)器最多執(zhí)行一個算法仿真任務(wù)即可,此時,分布式模塊接收到客戶端發(fā)送的過個算法仿真任務(wù)后,隨機向每個服務(wù)器發(fā)送不多于一個的算法仿真任務(wù)即可。
可選地,客戶端在通過分布式模塊向服務(wù)器發(fā)送算法仿真任務(wù)的具體實現(xiàn)過程也可參見實施例一中的步驟s12,在此不再贅述。
服務(wù)器接對接收到的算法仿真任務(wù)通過算法仿真任務(wù)中的路徑獲取樣本信息,然后按照算法執(zhí)行序列執(zhí)行算法仿真任務(wù)。以上述紙幣中的冠字號識別為例:服務(wù)器根據(jù)算法仿真任務(wù)中的路徑獲取整張紙幣的圖像,經(jīng)過算法執(zhí)行序列中的版本、幣值、面向等算法后定位到冠字號位置,將冠字號圖像切割出來作為輸入給到冠字號圖像算法,冠字號圖像算法識別出每個字符將其輸出,最終得出執(zhí)行結(jié)果,并發(fā)送執(zhí)行結(jié)果到客戶端。
步驟s25,客戶端統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。該步驟的具體實現(xiàn)過程參見實施例以中步驟s13的實現(xiàn)過程,在此不再贅述。
本發(fā)明實施例中,首先將新開發(fā)的算法載入算法執(zhí)行序列,將算法執(zhí)行序列發(fā)送到服務(wù)器,在服務(wù)器執(zhí)行算法仿真任務(wù)時根據(jù)算法執(zhí)行序列執(zhí)行,保證了整個驗證過程的完整性。分布式模塊在向服務(wù)器發(fā)送算法仿真任務(wù)時,優(yōu)先發(fā)送給負載最低的服務(wù)器,有助于實現(xiàn)服務(wù)器的負載均衡,提高驗證效率。
應(yīng)理解,上述實施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。
實施例三:
對應(yīng)于上文實施例所述的一種基于紙幣的算法仿真驗證方法,圖3示出了本發(fā)明實施例提供的一種客戶端的結(jié)構(gòu)框圖,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。
參照圖3,所述客戶端包括:
請求發(fā)起單元31,任務(wù)發(fā)送單元32,執(zhí)行結(jié)果統(tǒng)計單元33,其中:
請求發(fā)起單元31,用于發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟所述客戶端接收socket連接請求的權(quán)限;
本發(fā)明實施例中,客戶端與服務(wù)器相連接,在連接時可以通過局域網(wǎng)或通過無線連接也可以為基于無線保真(wireless-fidelity,wi-fi)、紫蜂協(xié)議(zigbee)或者啁啾協(xié)議的連接,然后由請求發(fā)起單元31發(fā)起算法仿真驗證請求,生成的socket服務(wù),開啟客戶端接收socket連接請求的權(quán)限。
可選地,所述客戶端還包括:算法執(zhí)行序列生成單元,用于由客戶端載入算法到待驗證算法序列,生成算法執(zhí)行序列,所述算法執(zhí)行序列用于執(zhí)行所述算法仿真任務(wù)。
本發(fā)明實施例中,對于算法工程師新開發(fā)出的算法,一般要與另外一些算法相結(jié)合才能共同完成一項任務(wù);因此,首先將算法工程師開發(fā)的某一項新算法載入待驗證算法的序列,并編譯生成算法執(zhí)行序列,以供后續(xù)服務(wù)器在執(zhí)行算法仿真任務(wù)時根據(jù)所述算法執(zhí)行序列執(zhí)行算法仿真任務(wù)。
任務(wù)發(fā)送單元32,用于接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器中的一個,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到客戶端;所述客戶端和所述服務(wù)器中分別安裝有分布式模塊;
本發(fā)明實施例中客戶端接收來自多個服務(wù)器的socket連接請求,連接成功后根據(jù)服務(wù)器的請求按照預(yù)設(shè)的規(guī)則發(fā)送算法仿真任務(wù)到多個服務(wù)器中的一個。對于待驗證的算法,往往需要通過多個樣本來驗證其合格與否,因此,客戶端發(fā)起算法仿真驗證請求時會接收到多個算法仿真任務(wù),然后發(fā)送到不同的服務(wù)器去執(zhí)行,并接收服務(wù)器的執(zhí)行結(jié)果;具體實現(xiàn)過程參見實施例一中步驟s12,在此不再贅述。
可選地,所述任務(wù)發(fā)送單元32,具體包括:
服務(wù)器連接模塊,用于接收至少兩個服務(wù)器發(fā)送的服務(wù)器發(fā)送的socket連接請求,發(fā)送所述算法執(zhí)行序列到所述至少兩個服務(wù)器;
算法仿真任務(wù)發(fā)送模塊,用于以單個樣本為單位生成至少兩個算法仿真任務(wù),發(fā)送所述至少兩個算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊發(fā)送所述至少兩個算法仿真任務(wù)至少兩個服務(wù)器,進而使接收到所述至少兩個算法仿真任務(wù)的至少兩個服務(wù)器根據(jù)所述算法執(zhí)行序列執(zhí)行所述至少兩個算法仿真任務(wù)。
可選地,所述算法仿真任務(wù)發(fā)送模塊,包括:
標記模塊,用于在所述算法仿真任務(wù)的數(shù)量大于所述服務(wù)器的數(shù)量時,發(fā)送所述算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊分別發(fā)送數(shù)量與所述服務(wù)器的數(shù)量相同的算法仿真任務(wù)至所述服務(wù)器,并標記已被所述服務(wù)器執(zhí)行及正在被執(zhí)行的算法仿真任務(wù),所述服務(wù)器的數(shù)量大于或等于2;
第一發(fā)送模塊,用于由所述分布式模塊獲取所述服務(wù)器的負載,根據(jù)所述服務(wù)器的負載從未被標記的算法仿真任務(wù)中選擇相應(yīng)數(shù)量的未被標記的算法仿真任務(wù),并將選擇的未被標記的算法仿真任務(wù)發(fā)送至所述服務(wù)器。
第二發(fā)送模塊,用于在所述算法仿真任務(wù)的數(shù)量小于或等于所述服務(wù)器的數(shù)量時,發(fā)送所述算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊分別發(fā)送所述算法仿真任務(wù)至所述服務(wù)器,所述服務(wù)器的數(shù)量大于或等于2。
執(zhí)行結(jié)果統(tǒng)計單元33,用于統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。
本發(fā)明實施例中任務(wù)發(fā)送單元33中包含的服務(wù)器連接模塊,算法仿真任務(wù)發(fā)送模塊以及所述算法仿真任務(wù)發(fā)送模塊中包含的標記模塊、第一發(fā)送模塊、第二發(fā)送模塊的具體實現(xiàn)過程參見實施例二中步驟s23,步驟s24的具體實現(xiàn)過程,在此不再贅述。
優(yōu)選地,在所述客戶端還包括:
建議推送單元,用于在判斷出所述算法仿真驗證不合格時,分析所述執(zhí)行結(jié)果,推送所述算法仿真驗證不合格原因及修改建議。
本發(fā)明實施例中,若客戶端判斷出本次算法仿真驗證不合格,則隨機從每個服務(wù)器的不合格的執(zhí)行結(jié)果中抽取一定數(shù)目的算法仿真任務(wù),分析其執(zhí)行過程,查找執(zhí)行結(jié)果不合格的原因,并推送出相關(guān)的修改建議。
本發(fā)明實施例中由客戶端發(fā)起算法仿真驗證請求,然后接收多個服務(wù)器發(fā)送的socket連接請求,客戶端和服務(wù)器中均安裝有分布式模塊,客戶端和服務(wù)器之間角色可根據(jù)需要進行切換,客戶端將新開發(fā)的算法載入算法執(zhí)行序列,將算法執(zhí)行序列發(fā)送到服務(wù)器,在服務(wù)器執(zhí)行算法仿真任務(wù)時根據(jù)算法執(zhí)行序列執(zhí)行,保證了整個驗證過程的完整性,然后通過分布式模塊將多個算法仿真任務(wù)分配到不同的服務(wù)器中去執(zhí)行,提高了批量算法仿真驗證的效率,使得算法工程師在開發(fā)出新的算法后能夠很方便的在大量樣本上驗證新算法。
實施例四:
本發(fā)明還提供了一種終端設(shè)備,如圖4所示,所述終端設(shè)備包括:射頻(radiofrequency,rf)電路410、存儲器420、輸入單元430、顯示單元440、傳感器450、音頻電路460、無線模塊470、處理器480、以及電源490等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的終端設(shè)備結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖4對終端設(shè)備的各個構(gòu)成部件進行具體的介紹:
rf電路410可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器480處理;另外,將設(shè)計上行的數(shù)據(jù)發(fā)送給基站。通常,rf電路包括但不限于天線、至少一個放大器、收發(fā)信機、耦合器、低噪聲放大器(lownoiseamplifier,lna)、雙工器等。此外,rf電路410還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(globalsystemofmobilecommunication,gsm)、通用分組無線服務(wù)(generalpacketradioservice,gprs)、碼分多址(codedivisionmultipleaccess,cdma)、寬帶碼分多址(widebandcodedivisionmultipleaccess,wcdma)、長期演進(longtermevolution,lte))、電子郵件、短消息服務(wù)(shortmessagingservice,sms)等。
存儲器420可用于存儲軟件程序以及模塊,處理器480通過運行存儲在存儲器420的軟件程序以及模塊,從而執(zhí)行手機的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器420可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器420可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
具體地,輸入單元430可包括觸控面板431以及其他輸入設(shè)備432。觸控面板431,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板431上或在觸控面板431附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸控面板331可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標,再送給處理器480,并能接收處理器480發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸控面板431。除了觸控面板431,輸入單元430還可以包括其他輸入設(shè)備432。具體地,其他輸入設(shè)備432可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元440可包括顯示面板441,可選的,可以采用液晶顯示器(liquidcrystaldisplay,lcd)、有機發(fā)光二極管(organiclight-emittingdiode,oled)等形式來配置顯示面板441。進一步的,觸控面板431可覆蓋顯示面板441,當(dāng)觸控面板431檢測到在其上或附近的觸摸操作后,傳送給處理器480以確定觸摸事件的類型,隨后處理器480根據(jù)觸摸事件的類型在顯示面板441上提供相應(yīng)的視覺輸出。雖然在圖4中,觸控面板431與顯示面板441是作為兩個獨立的部件來實現(xiàn)手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板431與顯示面板441集成而實現(xiàn)輸入和輸出功能。
終端設(shè)備400還可包括至少一種傳感器450,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板441的亮度,接近傳感器可在手機移動到耳邊時,關(guān)閉顯示面板441和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準)、振動識別相關(guān)功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路460、揚聲器461,傳聲器462可提供用戶與終端設(shè)備之間的音頻接口。音頻電路460可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P聲器461,由揚聲器461轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器462將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路460接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器480處理后,經(jīng)rf電路410以發(fā)送給比如另一手機,或者將音頻數(shù)據(jù)輸出至存儲器420以便進一步處理。
無線模塊基于短距離無線傳輸技術(shù),終端設(shè)備通過無線模塊470可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖4示出了無線模塊470,但是可以理解的是,其并不屬于終端設(shè)備400的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器480是終端設(shè)備的控制中心,利用各種接口和線路連接整個終端設(shè)備的各個部分,通過運行或執(zhí)行存儲在存儲器420內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器420內(nèi)的數(shù)據(jù),執(zhí)行手機的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控??蛇x的,處理器480可包括一個或多個處理單元;優(yōu)選的,處理器480可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器480中。
終端設(shè)備400還包括給各個部件供電的電源490(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器480邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,終端設(shè)備400還可以包括攝像頭、藍牙模塊等,在此不再贅述。
在本發(fā)明實施例中,該終端所包括的處理器480還具有以下功能:一種基于紙幣的算法仿真驗證方法,所述基于紙幣的算法仿真驗證方法包括:
發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟接收socket連接請求的權(quán)限;
接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到客戶端;
統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。
進一步地,在所述客戶端發(fā)起算法仿真驗證請求之前,包括:
載入算法到待驗證算法序列,生成算法執(zhí)行序列,所述算法執(zhí)行序列用于執(zhí)行所述算法仿真任務(wù)。
進一步地,所述客戶端接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),具體包括:
接收至少兩個服務(wù)器發(fā)送的服務(wù)器發(fā)送的socket連接請求,發(fā)送所述算法執(zhí)行序列到所述至少兩個服務(wù)器;
以單個樣本為單位生成至少兩個算法仿真任務(wù),發(fā)送所述至少兩個算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊發(fā)送所述至少兩個算法仿真任務(wù)至少兩個服務(wù)器,進而使接收到所述至少兩個算法仿真任務(wù)的至少兩個服務(wù)器根據(jù)所述算法執(zhí)行序列執(zhí)行所述至少兩個算法仿真任務(wù)。
進一步地,所述發(fā)送所述至少兩個算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊發(fā)送所述至少兩個算法仿真任務(wù)至少兩個服務(wù)器,具體包括:
在所述算法仿真任務(wù)的數(shù)量大于所述服務(wù)器的數(shù)量時,發(fā)送所述算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊分別發(fā)送數(shù)量與所述服務(wù)器的數(shù)量相同的算法仿真任務(wù)至所述服務(wù)器,并標記已被所述服務(wù)器執(zhí)行及正在被執(zhí)行的算法仿真任務(wù),所述服務(wù)器的數(shù)量大于或等于2;
所述分布式模塊獲取所述服務(wù)器的負載,根據(jù)所述服務(wù)器的負載從未被標記的算法仿真任務(wù)中選擇相應(yīng)數(shù)量的未被標記的算法仿真任務(wù),并將選擇的未被標記的算法仿真任務(wù)發(fā)送至所述服務(wù)器。
在所述算法仿真任務(wù)的數(shù)量小于或等于所述服務(wù)器的數(shù)量時,發(fā)送所述算法仿真任務(wù)到預(yù)先設(shè)置的分布式模塊,以使所述分布式模塊分別發(fā)送所述算法仿真任務(wù)至所述服務(wù)器,所述服務(wù)器的數(shù)量大于或等于2。
進一步地,在所述統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格之后,包括:
在判斷出所述算法仿真驗證不合格時,分析所述執(zhí)行結(jié)果,推送所述算法仿真驗證不合格及修改建議。
本發(fā)明實施例中由終端設(shè)備發(fā)起算法仿真驗證請求,然后接收多個服務(wù)器發(fā)送的socket連接請求,終端設(shè)備和服務(wù)器中均安裝有分布式模塊,終端設(shè)備將新開發(fā)的算法載入算法執(zhí)行序列,將算法執(zhí)行序列發(fā)送到服務(wù)器,在服務(wù)器執(zhí)行算法仿真任務(wù)時根據(jù)算法執(zhí)行序列執(zhí)行,保證了整個驗證過程的完整性,然后將多個算法仿真任務(wù)分配到不同的服務(wù)器中去執(zhí)行,提高了批量算法仿真驗證的效率,使得算法工程師在開發(fā)出新的算法后能夠很方便的在大量樣本上驗證新算法。
一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)以下步驟:
發(fā)起算法仿真驗證請求,根據(jù)所述算法仿真驗證請求生成socket服務(wù);所述socket服務(wù)用于開啟接收socket連接請求的權(quán)限;
接收至少兩個服務(wù)器發(fā)送的socket連接請求,根據(jù)所述socket連接請求發(fā)送算法仿真任務(wù)到至少兩個服務(wù)器,以使接收到所述算法仿真任務(wù)的服務(wù)器執(zhí)行所述算法仿真任務(wù),得出執(zhí)行結(jié)果并發(fā)送到客戶端;
統(tǒng)計所述算法仿真任務(wù)的執(zhí)行結(jié)果,根據(jù)所述執(zhí)行結(jié)果判斷算法仿真驗證是否合格。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元、模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述或記載的部分,可以參見其它實施例的相關(guān)描述。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
在本發(fā)明所提供的實施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的系統(tǒng)實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明實施例各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。