本申請(qǐng)涉及機(jī)器訓(xùn)練
技術(shù)領(lǐng)域:
,特別是涉及一種樣本序列化方法和一種樣本序列化裝置。
背景技術(shù):
:在互聯(lián)網(wǎng)中,基于用戶的網(wǎng)絡(luò)行為能產(chǎn)生大量的數(shù)據(jù),而為了研究用戶的各種行為習(xí)慣等方面,可能會(huì)構(gòu)建各種各樣的模型,而為了訓(xùn)練這些模型,一般采用機(jī)器學(xué)習(xí)系統(tǒng)。機(jī)器學(xué)習(xí)系統(tǒng)中,因?yàn)闃颖緮?shù)據(jù)中各個(gè)維度的字符串本身可能不是序列化的id,比如并不是數(shù)字id,而是根據(jù)業(yè)務(wù)需求進(jìn)行命名的。那么如果直接對(duì)樣本數(shù)據(jù)的字符串進(jìn)行訓(xùn)練,其計(jì)算量相對(duì)龐大,資源消耗多。因此,為了降低計(jì)算量,進(jìn)行訓(xùn)練之前,需要將所有的樣本數(shù)據(jù)中的字符串轉(zhuǎn)換成序列化id,比如數(shù)字id。比如一個(gè)樣本數(shù)據(jù)是格式如下:一共兩列:第一列為label列,該label列記錄用戶是否點(diǎn)擊,若記錄為1代表用戶點(diǎn)擊,若記錄為0代表用戶沒(méi)有點(diǎn)擊;第二列為特征列,該特征列是該條樣本的所有特征,用逗號(hào)分隔,例如:1user_id_123,age_1,sex_1,age_comb_city3則需要將其中的“user_id_123,age_1,sex_1,age_comb_city3”全部轉(zhuǎn)換成數(shù)字id,也就是需要建立如下映射關(guān)系:{字符串集合}->{數(shù)字集合}那么前述“user_id_123,age_1,sex_1,age_comb_city3”轉(zhuǎn)換得到的映射關(guān)系為:user_id_123->數(shù)字x,age_1->數(shù)字y,sex_1->數(shù)字z,age_comb_city3->數(shù)字f。但是,在發(fā)明人使用過(guò)程中發(fā)現(xiàn),當(dāng)字符串集合元素非常多時(shí),單機(jī)內(nèi)存裝載不下,將樣本數(shù)據(jù)序列化的時(shí)間非常常長(zhǎng),比如20億字符串時(shí),每個(gè)機(jī)器需要的加載完整的映射表,內(nèi)存超過(guò)40g,序列化的時(shí)間也非常長(zhǎng)。技術(shù)實(shí)現(xiàn)要素:鑒于上述問(wèn)題,提出了本申請(qǐng)實(shí)施例以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種樣本序列化方法和相應(yīng)的一種樣本序列化裝置。為了解決上述問(wèn)題,本申請(qǐng)公開了一種樣本序列化方法,包括:獲取待序列化樣本中的各個(gè)字符串;根據(jù)各字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,確定每個(gè)字符串對(duì)應(yīng)的管理服務(wù)器;將所述字符串發(fā)送至相應(yīng)的管理服務(wù)器,以供各管理服務(wù)器根據(jù)其維護(hù)的映射表,將接收到的字符串轉(zhuǎn)化為相應(yīng)的序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;接收各個(gè)管理服務(wù)器返回的對(duì)應(yīng)各個(gè)字符串的序列化id;根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。本申請(qǐng)還公開了一種樣本序列化方法,包括:接收字符串;所述字符串由序列化服務(wù)器根據(jù)字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系發(fā)送;所述字符串由序列服務(wù)器從樣本數(shù)據(jù)中獲?。桓鶕?jù)本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;將所述字符串對(duì)應(yīng)的序列化id返回給相應(yīng)的序列化服務(wù)器,以供序列化服務(wù)器根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。本申請(qǐng)還公開了一種樣本序列化裝置,包括:字符串提取模塊,用于獲取待序列化樣本中的各個(gè)字符串;管理服務(wù)器確定模塊,用于根據(jù)各字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,確定每個(gè)字符串對(duì)應(yīng)的管理服務(wù)器;字符串發(fā)送模塊,用于將所述字符串發(fā)送至相應(yīng)的管理服務(wù)器,以供各管理服務(wù)器根據(jù)其維護(hù)的映射表,將接收到的字符串轉(zhuǎn)化為相應(yīng)的序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;序列化id接收模塊,用于接收各個(gè)管理服務(wù)器返回的對(duì)應(yīng)各個(gè)字符串的序列化id;樣本序列化模塊,用于根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè) 樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。本申請(qǐng)還公開了一種樣本序列化裝置,包括:字符串接收模塊,用于接收字符串;所述字符串由序列化服務(wù)器根據(jù)字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系發(fā)送;所述字符串由序列服務(wù)器從樣本數(shù)據(jù)中獲取;字符串轉(zhuǎn)換模塊,用于根據(jù)本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;數(shù)字化id返回模塊,用于將所述字符串對(duì)應(yīng)的序列化id返回給相應(yīng)的序列化服務(wù)器,以供序列化服務(wù)器根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。本申請(qǐng)實(shí)施例包括以下優(yōu)點(diǎn):本申請(qǐng)實(shí)施例,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的數(shù)字化id也不同。然后序列化服務(wù)器只需將待序列化的樣本,將其中的字符串根據(jù)與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。該序列化id,如數(shù)字id。因此,序列化服務(wù)器即可將樣本轉(zhuǎn)換為數(shù)字化的樣本,以備后續(xù)訓(xùn)練使用。如此,序列化服務(wù)器不用加載映射表,避免序列化服務(wù)器的內(nèi)存不足。另外,由于映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列化效率。附圖說(shuō)明圖1是本申請(qǐng)的從序列化服務(wù)器側(cè)描述的一種樣本序列化方法實(shí)施例的步驟流程圖;圖2是本申請(qǐng)的從管理服務(wù)器側(cè)描述的一種樣本序列化方法實(shí)施例的步驟流程圖;圖3是本申請(qǐng)的一種樣本序列化方法實(shí)施例的步驟流程圖;圖4是本申請(qǐng)的一種樣本序列化裝置實(shí)施例的結(jié)構(gòu)框圖;圖5是本申請(qǐng)的一種樣本序列化裝置實(shí)施例的結(jié)構(gòu)框圖;圖6是本申請(qǐng)的一種樣本序列化系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。具體實(shí)施方式為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。本申請(qǐng)實(shí)施例的核心構(gòu)思之一在于,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的序列化id也不同。然后序列化服務(wù)器只需對(duì)于待序列化的樣本數(shù)據(jù),從該樣本數(shù)據(jù)中提取了字符串后,根據(jù)該字符串與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,將該字符串發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。然后,序列化服務(wù)器即可將樣本轉(zhuǎn)換為數(shù)字化的樣本,以備后續(xù)訓(xùn)練使用。如此,序列化服務(wù)器不用加載映射表,避免序列化服務(wù)器的內(nèi)存不足。另外,由于映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列化效率。實(shí)施例一參照?qǐng)D1,示出了本申請(qǐng)的一種樣本序列化方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:步驟110,獲取待序列化樣本中的各個(gè)字符串;在本申請(qǐng)實(shí)施例中,序列化服務(wù)器首先接收待序列化的樣本數(shù)據(jù),在一優(yōu)選的實(shí)施例中,在步驟110之前,還包括:步驟s100,獲取待序列化的各樣本數(shù)據(jù);本申請(qǐng)實(shí)施例可以有一個(gè)或者多個(gè)序列化服務(wù)器slave。各序列化服務(wù) 器可以根據(jù)調(diào)度服務(wù)器coordinator的通知,去獲取由該序列化服務(wù)器處理的一批樣本數(shù)據(jù)。在本申請(qǐng)實(shí)施例中,各個(gè)序列化服務(wù)器和各管理服務(wù)器以及調(diào)度服務(wù)器,可以組成機(jī)器訓(xùn)練的訓(xùn)練集群。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述獲取待序列化的各樣本數(shù)據(jù)的步驟,包括:子步驟s11,獲取由調(diào)度服務(wù)器對(duì)所有樣本數(shù)據(jù)進(jìn)行平均分配后,屬于當(dāng)前序列化服務(wù)器自己的一批樣本數(shù)據(jù)。比如在訓(xùn)練集群中存在兩臺(tái)序列化服務(wù)器,序列化服務(wù)器a和序列化服務(wù)器b。總共有10000條樣本數(shù)據(jù),則調(diào)度服務(wù)器可以將該10000條樣本數(shù)據(jù)分為兩份,每份5000條,分別通知序列化服務(wù)器a和序列服務(wù)器b去獲取相應(yīng)的5000條樣本數(shù)據(jù)。當(dāng)然,子步驟s11只是本申請(qǐng)的一種優(yōu)選的方式,其他分配方式也可以,本申請(qǐng)實(shí)施例不對(duì)其加以限制。比如根據(jù)序列化服務(wù)器的性能分配,此時(shí),調(diào)度服務(wù)器在接收到上傳的樣本數(shù)據(jù)后,可以在分配為個(gè)序列化服務(wù)器分配樣本數(shù)據(jù)之前,先獲取序列化服務(wù)器的硬件性能,硬件性能在某個(gè)區(qū)間范圍的分配相應(yīng)比例的樣本數(shù)據(jù)。進(jìn)一步的,在本申請(qǐng)實(shí)施例中,每個(gè)序列化服務(wù)器,在獲取到由其序列化的樣本數(shù)據(jù)后,則從樣本中提取字符串。比如一條樣本如下:label特征1user_id_123,age_1,sex_1,age_comb_city3該樣本數(shù)據(jù)一共兩列,第一列為label列,表示用戶是否點(diǎn)擊,值為1代表用戶點(diǎn)擊,值為0代表用戶沒(méi)有點(diǎn)擊;第二列為特征列,值是該條樣本數(shù)據(jù)的所有特征,用逗號(hào)分隔。那么本申請(qǐng)的序列化服務(wù)器則從特征列里提取,“user_id_123”,“age_1”,“sex_1”,“age_comb_city3”。可以理解的是,上述示例僅僅是描述提取的字符串的示例,本申請(qǐng)并不 受限于此,其他格式的樣本數(shù)據(jù)也可以采用。需要說(shuō)明的是,在本申請(qǐng)實(shí)施例中,從樣本數(shù)據(jù)中提取字符串時(shí),提取的是非純數(shù)字化的字符串。比如前述的“user_id_123”,“age_1”,“sex_1”,“age_comb_city3”。如果特征列里的特征有純數(shù)字,則不提取。在本申請(qǐng)實(shí)施例中,可以預(yù)先根據(jù)樣本數(shù)據(jù)的格式進(jìn)行分析,確定需要以什么樣的方式從樣本數(shù)據(jù)中提取字符串,比如采用什么樣的提取模板提取數(shù)據(jù)等。當(dāng)然,可以由調(diào)度服務(wù)器預(yù)先確定需要以什么樣的方式從樣本數(shù)據(jù)中提取字符串,然后通知給各個(gè)序列化服務(wù)器。當(dāng)然,本申請(qǐng)實(shí)施例中,對(duì)樣本數(shù)據(jù)進(jìn)行序列化時(shí),可以一條一條進(jìn)行序列化,即提取一條樣本數(shù)據(jù)的字符串,發(fā)送至相應(yīng)的各管理服務(wù)器,在該條樣本數(shù)據(jù)序列化完之后進(jìn)行下一條的序列化。也可以批量的進(jìn)行序列化,即一次發(fā)送一批樣本數(shù)據(jù)的字符串,發(fā)送至相應(yīng)的各管理服務(wù)器。步驟120,根據(jù)各字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,確定每個(gè)字符串對(duì)應(yīng)的管理服務(wù)器;本申請(qǐng)實(shí)施例的序列化服務(wù)器可以將上述提取的字符串發(fā)給對(duì)應(yīng)的管理服務(wù)器master。在本申請(qǐng)實(shí)施例中字符串是屬于某個(gè)管理服務(wù)器的映射表維護(hù)的。本申請(qǐng)實(shí)施例可以通過(guò)某種方式約定字符串與管理服務(wù)器的對(duì)應(yīng)關(guān)系。在本申請(qǐng)一優(yōu)選的實(shí)施例中,所述根據(jù)各字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,確定每個(gè)字符串對(duì)應(yīng)的管理服務(wù)器的步驟,包括:子步驟s21,將字符串對(duì)應(yīng)的哈希值除以管理服務(wù)器的個(gè)數(shù),得到余數(shù);子步驟s22,根據(jù)余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,確定字符串對(duì)應(yīng)的管理服務(wù)器。在本申請(qǐng)實(shí)施例中,以前述字符串“user_id_123”為例,計(jì)算該字符串的哈希值hash_value,然后以hash_value除以管理服務(wù)器的總個(gè)數(shù)p,取余數(shù),其公式如hash_value%p。在本申請(qǐng)實(shí)施例中,預(yù)先設(shè)置上述各個(gè)余數(shù)與管理服務(wù)器之間的對(duì)應(yīng)關(guān)系。比如有2個(gè)管理服務(wù)器,2其對(duì)應(yīng)的余數(shù)為0、1。那么可以先將0對(duì)應(yīng)管理服務(wù)器a,1對(duì)應(yīng)管理服務(wù)器b。那么hash_value除以2后余數(shù)為0的字符串,都發(fā)送至管理服務(wù)器a;hash_value除以2后余數(shù)為1的字符串都發(fā)送至管理服務(wù)器b。在本申請(qǐng)實(shí)施例中,為了方便余數(shù)與管理服務(wù)器之間直接對(duì)應(yīng),可以將管理服務(wù)器的直接按照前述余數(shù)進(jìn)行命名,那么計(jì)算得到余數(shù)后,直接就可以知道余數(shù)是哪個(gè)管理服務(wù)器。本申請(qǐng)另一優(yōu)選的實(shí)施例中,在獲取待序列化樣本中的各個(gè)字符串的步驟之后,還包括:步驟s31,對(duì)各個(gè)字符串進(jìn)行去重。在本申請(qǐng)實(shí)施例中,為了降低管理服務(wù)器的計(jì)算量,以及網(wǎng)絡(luò)的占用量,可以先將各個(gè)字符串進(jìn)行去重。從而每次發(fā)送到管理服務(wù)器的字符串是唯一的,不會(huì)有重復(fù)的字符串發(fā)送,相應(yīng)的也不會(huì)有重復(fù)的序列化id返回,不會(huì)額外占用網(wǎng)絡(luò)帶寬。管理服務(wù)器每次收到的字符串也是唯一的,在一次計(jì)算中只對(duì)該字符串計(jì)算一次,不會(huì)重復(fù),降低管理服務(wù)器計(jì)算量。步驟130,將所述字符串發(fā)送至相應(yīng)的管理服務(wù)器,以供各管理服務(wù)器根據(jù)其維護(hù)的映射表,將接收到的字符串轉(zhuǎn)化為相應(yīng)的序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;在本申請(qǐng)實(shí)施例中,各個(gè)管理服務(wù)器可以預(yù)先獲取屬于該管理服務(wù)器維護(hù)的字符串,然后構(gòu)建各個(gè)管理服務(wù)器自己的映射表。該映射表是字符串與序列化id的對(duì)照表。在本申請(qǐng)實(shí)施例中,序列化id為數(shù)字id,因?yàn)樵谟?xùn)練過(guò)程中,數(shù)字最容易帶入公式進(jìn)行計(jì)算。在本申請(qǐng)實(shí)施例中,對(duì)于各個(gè)字符串,可以將字符串的哈希值除以所有管理服務(wù)器的個(gè)數(shù),取其余數(shù),該余數(shù)也與管理服務(wù)器對(duì)應(yīng)。如前述管理服務(wù)器有2個(gè),那么0對(duì)應(yīng)管理服務(wù)器a,1對(duì)應(yīng)管理服務(wù)器b。然后字符串則可以根據(jù)該余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,將字符串發(fā)送至相應(yīng)管理服務(wù) 器。然后該管理服務(wù)器可以基于該字符串構(gòu)建映射表。在實(shí)際應(yīng)用中,各個(gè)序列化服務(wù)器在獲取其樣本之后,先提取所有樣本的所有字符串,計(jì)算每個(gè)字符串的哈希值,將每個(gè)字符串的哈希值除以管理服務(wù)器的總個(gè)數(shù)并取余數(shù),然后根據(jù)余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,將字符串發(fā)送至相應(yīng)的管理服務(wù)器。管理服務(wù)器則在收到字符串后,對(duì)字符串生成序列化id。然后將字符串與對(duì)應(yīng)的序列化id構(gòu)建映射表。對(duì)于管理服務(wù)器,在接收到了字符串后,則從本地維護(hù)的映射表中查詢?cè)撟址男蛄谢痠d,然后將該字符串對(duì)應(yīng)的序列化id返回給序列化服務(wù)器。在實(shí)際應(yīng)用中,管理服務(wù)器可以將字符串與其對(duì)應(yīng)的序列化id一起返回給序列化服務(wù)器。步驟140,接收各個(gè)管理服務(wù)器返回的對(duì)應(yīng)各個(gè)字符串的序列化id;序列化服務(wù)器在發(fā)送了樣本數(shù)據(jù)的各字符串后,則可以接收管理服務(wù)器返回的上述各字符串對(duì)應(yīng)的序列化id。步驟150,根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。序列化服務(wù)器接收到各個(gè)字符串的序列化id后,將樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。比如前述“user_id_123”其序列化id為11,“age_1”的序列化id為13,“sex_1”的序列化id為24,“age_comb_city3”的序列化id為55。那么轉(zhuǎn)換得到的序列化的樣本數(shù)據(jù)為:111,13,24,55然后,序列化后的樣本數(shù)據(jù)則可以供后續(xù)機(jī)器訓(xùn)練使用,加快訓(xùn)練速度,提高訓(xùn)練效率。本申請(qǐng)實(shí)施例中,首先,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的數(shù)字化id也不同。完整的映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串 的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列化效率。其次,序列化服務(wù)器只需將待序列化的樣本,將其中的字符串根據(jù)與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。如此,序列化服務(wù)器本身并不存儲(chǔ)序列化所需的完整的映射表,避免序列化服務(wù)器的內(nèi)存不足,并且提高了序列化服務(wù)器的性能。實(shí)施例二參照?qǐng)D2,示出了本申請(qǐng)的一種樣本序列化方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:步驟210,接收字符串;所述字符串由序列化服務(wù)器根據(jù)字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系發(fā)送;所述字符串由序列服務(wù)器從樣本數(shù)據(jù)中獲??;在本申請(qǐng)實(shí)施例中,各個(gè)管理服務(wù)器接收某個(gè)或者某幾個(gè)序列化服務(wù)器發(fā)送的字符串。在本申請(qǐng)實(shí)施例中,在序列化服務(wù)器側(cè)對(duì)于待序列化的樣本數(shù)據(jù),則可以從中提取字符串,然后根據(jù)字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系確定管理服務(wù)器,然后將字符串發(fā)送至該管理服務(wù)器。對(duì)于各個(gè)序列化服務(wù)器而言,其根據(jù)字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系確定管理服務(wù)器,將字符串發(fā)送至該管理服務(wù)器包括:子步驟s51,將字符串對(duì)應(yīng)的哈希值除以管理服務(wù)器的個(gè)數(shù),得到余數(shù);子步驟s52,根據(jù)余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,確定字符串對(duì)應(yīng)的管理服務(wù)器。在本申請(qǐng)一優(yōu)選的實(shí)施例中,可以實(shí)時(shí)構(gòu)建各個(gè)管理服務(wù)器需要維護(hù)的映射表,那么在步驟210之前還包括:步驟s201,獲取屬于當(dāng)前管理服務(wù)器自己的一批字符串;其中,屬于當(dāng)前管理服務(wù)器的一批字符串與屬于其他管理服務(wù)器的字符串不同;在本申請(qǐng)實(shí)施例中,可以設(shè)置多個(gè)管理服務(wù)器,那么對(duì)于每個(gè)管理服務(wù) 器,可以獲取屬于自己的一批字符串,不同的管理服務(wù)器獲取的字符串相互之間互不相同。在本申請(qǐng)實(shí)施例中,各個(gè)管理服務(wù)器可以預(yù)先獲取屬于該管理服務(wù)器維護(hù)的字符串,然后構(gòu)建各個(gè)管理服務(wù)器自己的映射表。在本申請(qǐng)實(shí)施例中,對(duì)于各個(gè)字符串,可以將字符串的哈希值除以所有管理服務(wù)器的個(gè)數(shù),取其余數(shù),該余數(shù)也與管理服務(wù)器對(duì)應(yīng)。如前述管理服務(wù)器有2個(gè),那么0對(duì)應(yīng)管理服務(wù)器a,1對(duì)應(yīng)管理服務(wù)器b。然后字符串則可以根據(jù)該余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,將字符串發(fā)送至相應(yīng)管理服務(wù)器。然后該管理服務(wù)器可以基于該字符串構(gòu)建映射表。在實(shí)際應(yīng)用中,各個(gè)序列化服務(wù)器在獲取其樣本之后,先提取所有樣本的所有字符串,計(jì)算每個(gè)字符串的哈希值,將每個(gè)字符串的哈希值除以管理服務(wù)器的總個(gè)數(shù)并取余數(shù),然后根據(jù)余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,將字符串發(fā)送至相應(yīng)的管理服務(wù)器。其中,屬于當(dāng)前管理服務(wù)器的一批字符串所對(duì)應(yīng)的余數(shù)屬于當(dāng)前管理服務(wù)器;所述余數(shù)為所述字符串對(duì)應(yīng)的哈希值除以各個(gè)管理服務(wù)器的個(gè)數(shù)得到。步驟s202,將所述字符串進(jìn)行序列化,并構(gòu)建字符串與序列化id的映射表;管理服務(wù)器則在收到字符串后,對(duì)字符串生成序列化id。然后將字符串與對(duì)應(yīng)的序列化id構(gòu)建映射表。優(yōu)選的,所述將所述字符串進(jìn)行序列化,并構(gòu)建字符串與序列化id的映射表的步驟,包括:子步驟s41,獲取當(dāng)前管理服務(wù)器的排序之前的各個(gè)管理服務(wù)器中的字符串的第一總數(shù)量n1;比如,管理服務(wù)器有a、b、c,其順序也如a、b、c排序。對(duì)于第一個(gè)管理服務(wù)器a,其有110個(gè)字符串;對(duì)于第二個(gè)管理服務(wù)器b,其有90個(gè)字符串,對(duì)于第三個(gè)管理服務(wù)器,其有100個(gè)字符串。那么管理服務(wù)器a之前的各個(gè)管理服務(wù)器中的字符串的第一總數(shù)量 n1=0。管理服務(wù)器b之前,有管理服務(wù)器a,其第一總數(shù)量n1=110。管理服務(wù)器c之前,有管理服務(wù)器a和管理服務(wù)器b,其第一總數(shù)量n1=200。子步驟s42,以所述第一總數(shù)量n1加上當(dāng)前管理服務(wù)器的字符串的數(shù)量m得到第二總數(shù)量n2;子步驟s43,以[n1+1,n2]作為當(dāng)前管理服務(wù)器對(duì)字符串序列化的范圍。管理服務(wù)器a的字符串?dāng)?shù)量m=110,那么管理服務(wù)器a的字符串序列化范圍為[1,110],那么對(duì)于管理服務(wù)器a中的字符串,可以按序?qū)⑵鋵?duì)應(yīng)1到110的序列化id。管理服務(wù)器b的字符串?dāng)?shù)量是90,那么管理服務(wù)器b的字符串序列化范圍為[111,200],那么對(duì)于管理服務(wù)器b中的字符串,可以按序?qū)⑵鋵?duì)應(yīng)111到200的序列化id。管理服務(wù)器c的字符串?dāng)?shù)量是100,那么管理服務(wù)器b的字符串序列化范圍為[201,300],那么對(duì)于管理服務(wù)器c中的字符串,可以按序?qū)⑵鋵?duì)應(yīng)201到300的序列化id。步驟220,根據(jù)本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;對(duì)于一個(gè)管理服務(wù)器來(lái)說(shuō),由于其維護(hù)了一個(gè)映射表,該映射表中有字符串與其對(duì)應(yīng)的序列化id,由于其接收到的字符串是屬于該管理服務(wù)器維護(hù)的,因此該管理服務(wù)器可以根據(jù)其本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id。比如根據(jù)映射表中的字符串與數(shù)字id的對(duì)應(yīng)關(guān)系,查找字符串對(duì)應(yīng)的數(shù)字id,然后將查找到的數(shù)字id返回給相應(yīng)序列化服務(wù)器。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述根據(jù)本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id的步驟包括:子步驟s61,查詢本地維護(hù)的映射表中是否有所述字符串;子步驟s62,如果本地維護(hù)的映射表中有所述字符串,則獲取該字符串對(duì)應(yīng)的序列化id;子步驟s63,如果本地維護(hù)的映射表中沒(méi)有所述字符串,則針對(duì)所述字符串生成序列化id,并將所述字符串以及相應(yīng)序列化id加入映射表。在本申請(qǐng)實(shí)施例中,序列化服務(wù)器獲取的樣本中可能存在管理服務(wù)器的映射表中未記錄的字符串,對(duì)于該種情況,管理服務(wù)器可以為其生成一個(gè)序列化id,然后將字符串與序列化id記錄到映射表中。同時(shí),將該字符串對(duì)應(yīng)的序列化id返回給相應(yīng)的序列化服務(wù)器。在實(shí)際應(yīng)用中,可以為各個(gè)監(jiān)控服務(wù)器預(yù)先劃定相互不重疊的序列化范圍,管理服務(wù)器可以為該字符串分配序列化范圍中的序列化id,如果其序列化范圍分配完畢,則可以再分配一個(gè)唯一的序列化范圍。步驟230,將所述字符串對(duì)應(yīng)的序列化id返回給相應(yīng)的序列化服務(wù)器,以供序列化服務(wù)器根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。當(dāng)然,在本申請(qǐng)實(shí)施例中,管理服務(wù)器在接收到字符串后,可以記錄該字符串由那個(gè)序列化服務(wù)器發(fā)送,那么在查找到該字符串對(duì)應(yīng)的序列化id后,可以根據(jù)記錄,將相應(yīng)的字符串與序列化id返回相應(yīng)序列化服務(wù)器。本申請(qǐng)實(shí)施例中,首先,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的數(shù)字化id也不同。完整的映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列化效率。其次,序列化服務(wù)器只需將待序列化的樣本,將其中的字符串根據(jù)與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。如此,序列化服務(wù)器本身并不存儲(chǔ)序列化所需的完整的映射表,避免序列化服務(wù)器的內(nèi)存不足,并且提高了序列化服務(wù)器的性能。實(shí)施例三參照?qǐng)D3,示出了本申請(qǐng)優(yōu)選的一種樣本序列化方法實(shí)施例的步驟流程 圖。本實(shí)施例為了更清楚的描述序列化方法,以調(diào)度服務(wù)器、序列化服務(wù)器、管理服務(wù)器整體架構(gòu)的角度進(jìn)行描述。在本申請(qǐng)實(shí)施例中,可以結(jié)合調(diào)度服務(wù)器、序列化服務(wù)器對(duì)各個(gè)管理服務(wù)器創(chuàng)建映射表。如步驟s30-步驟s38。步驟s32,調(diào)度服務(wù)器對(duì)所有樣本數(shù)據(jù)進(jìn)行平均分配,并根據(jù)分配結(jié)果通知各序列化服務(wù)器獲取屬于各序列化服務(wù)器自己的一批樣本數(shù)據(jù)。在整個(gè)訓(xùn)練開始之前,調(diào)度服務(wù)器獲取到所有樣本數(shù)據(jù)的標(biāo)識(shí)信息后,可以對(duì)所有樣本數(shù)據(jù)進(jìn)行平均分配。比如根據(jù)樣本數(shù)據(jù)的序列號(hào)將樣本數(shù)據(jù)平均分配給n個(gè)序列服務(wù)器。調(diào)度服務(wù)器將分配結(jié)構(gòu)通知給各個(gè)序列化服務(wù)器,以使各個(gè)序列化服務(wù)器去獲取屬于自己的樣本數(shù)據(jù)。同時(shí),調(diào)度服務(wù)器通知序列化服務(wù)器執(zhí)行字符串序列化的過(guò)程,使其先不對(duì)樣本數(shù)據(jù)進(jìn)行序列化操作,因?yàn)榇藭r(shí)管理服務(wù)器沒(méi)有映射表。步驟s34,每個(gè)序列化服務(wù)器根據(jù)調(diào)度服務(wù)器的通知,獲取屬于自己的一批樣本數(shù)據(jù),并所述樣本數(shù)據(jù)中所有的字符串整合發(fā)送至管理服務(wù)器。在實(shí)際應(yīng)用中,各臺(tái)序列化服務(wù)器獲取到前述第一次均分的樣本數(shù)據(jù)后,可以從這些樣本數(shù)據(jù)中按照預(yù)先配置的提取規(guī)則,從中提取該批數(shù)據(jù)的所有字符串,然后對(duì)這些字符串進(jìn)行去重,再將去重后的字符串,按照發(fā)送規(guī)則發(fā)送至各管理服務(wù)器。該發(fā)送規(guī)則包括:將字符串對(duì)應(yīng)的哈希值除以管理服務(wù)器的總個(gè)數(shù),得到余數(shù),如;根據(jù)余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,將各字符串發(fā)送至余數(shù)相應(yīng)的管理服務(wù)器中。步驟s36,管理服務(wù)器接收各序列化服務(wù)器發(fā)送的字符串;步驟s38,管理服務(wù)器在接收完屬于該管理服務(wù)器的所有字符串后,將所述字符串進(jìn)行序列化,并構(gòu)建字符串與序列化id的映射表。在本申請(qǐng)實(shí)施例中,各序列化服務(wù)器可以通過(guò)網(wǎng)絡(luò)連接將字符串發(fā)送至管理服務(wù)器,字符串發(fā)送完畢后,可以斷開與相應(yīng)管理服務(wù)器的網(wǎng)絡(luò)連接。那么管理服務(wù)器則可以通過(guò)網(wǎng)絡(luò)連接的中斷,判斷該序列化服務(wù)器是否發(fā)送 完畢其字符串。當(dāng)管理服務(wù)器判斷所有序列化服務(wù)器發(fā)送完字符串后,則可以將所述字符串進(jìn)行序列化,并構(gòu)建字符串與序列化id的映射表。當(dāng)然,實(shí)際應(yīng)用中,管理服務(wù)器還可以采用其他方式確定其接收完屬于其自身的所有字符串。比如預(yù)先約定一個(gè)完畢標(biāo)識(shí),序列化服務(wù)器在其字符串發(fā)送完畢之后,向各管理服務(wù)器發(fā)送該完畢標(biāo)識(shí),然后各管理服務(wù)器則記錄該序列化服務(wù)器的完畢標(biāo)識(shí),當(dāng)接收到所有序列化服務(wù)器的完畢標(biāo)識(shí)之后,則確定管理服務(wù)器接收完屬于該管理服務(wù)器的所有字符串。具體的方法,本申請(qǐng)實(shí)施例不對(duì)其加以限制。在管理服務(wù)器構(gòu)建完畢了前述映射表之后,調(diào)度服務(wù)器可以再協(xié)調(diào)各個(gè)序列化服務(wù)器執(zhí)行對(duì)樣本數(shù)據(jù)的序列化操作。如步驟310-332。步驟310,調(diào)度服務(wù)器通知各序列化服務(wù)器獲取屬于自己的樣本數(shù)據(jù);對(duì)于每個(gè)序列化服務(wù)器,執(zhí)行以下步驟:步驟312,根據(jù)所述通知,讀取樣本數(shù)據(jù);步驟314,從樣本數(shù)據(jù)中提取各個(gè)字符串;當(dāng)然,實(shí)際應(yīng)用中,對(duì)于提取的字符串,還會(huì)對(duì)其進(jìn)行去重,然后執(zhí)行步驟316。步驟316,對(duì)各字符串,將字符串對(duì)應(yīng)的哈希值除以管理服務(wù)器的個(gè)數(shù),得到余數(shù);步驟318,根據(jù)所述余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,確定字符串對(duì)應(yīng)的管理服務(wù)器;步驟320,將所述字符串發(fā)送至相應(yīng)的管理服務(wù)器。對(duì)于管理服務(wù)器,則執(zhí)行以下步驟:步驟322,接收字符串;接收步驟320中序列化服務(wù)器發(fā)送的字符串。步驟324,根據(jù)本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id。該映射表已經(jīng)在步驟s32-s38中構(gòu)建。步驟326,將所述字符串對(duì)應(yīng)的序列化id返回給相應(yīng)的序列化服務(wù)器。之后,對(duì)于每個(gè)序列化服務(wù)器,再執(zhí)行以下步驟:步驟328,接收各個(gè)管理服務(wù)器返回的對(duì)應(yīng)各個(gè)字符串的序列化id;步驟330,根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。步驟332,輸出序列化的樣本數(shù)據(jù)。如此,序列化后的樣本數(shù)據(jù)則可以供給機(jī)器訓(xùn)練使用。本申請(qǐng)實(shí)施例中,首先,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的數(shù)字化id也不同。完整的映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列化效率。最后,序列化服務(wù)器只需將待序列化的樣本,將其中的字符串根據(jù)與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。如此,序列化服務(wù)器本身并不存儲(chǔ)序列化所需的完整的映射表,避免序列化服務(wù)器的內(nèi)存不足,并且提高了序列化服務(wù)器的性能。然后,在結(jié)合步驟s32-s38的過(guò)程,在映射表的構(gòu)建過(guò)程中,所有樣本的字符串分散到的多個(gè)序列化服務(wù)器進(jìn)行提取,提取速度快,使映射表的構(gòu)建速度加快。其次,映射表的構(gòu)建分散到了多個(gè)管理服務(wù)器中,其每個(gè)管理服務(wù)器不用構(gòu)建完整的映射表,而只需構(gòu)建部分的映射表,映射表構(gòu)建速度加快。再次,構(gòu)建映射表的位置變化為管理服務(wù)器,傳統(tǒng)的進(jìn)行序列化的序列化服務(wù)器不用進(jìn)行映射表的構(gòu)建過(guò)程,也不用存儲(chǔ)映射表,減輕了序列化服務(wù)器的負(fù)擔(dān)。需要說(shuō)明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)實(shí)施例并不受所描述 的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng)實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本申請(qǐng)實(shí)施例所必須的。實(shí)施例四參照?qǐng)D4,示出了本申請(qǐng)的一種樣本序列化裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:字符串提取模塊410,用于獲取待序列化樣本中的各個(gè)字符串;其中,在字符串提取模塊410之前還包括:樣本數(shù)據(jù)獲取模塊s400,用于獲取待序列化的各樣本數(shù)據(jù);管理服務(wù)器確定模塊420,用于根據(jù)各字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,確定每個(gè)字符串對(duì)應(yīng)的管理服務(wù)器;字符串發(fā)送模塊430,用于將所述字符串發(fā)送至相應(yīng)的管理服務(wù)器,以供各管理服務(wù)器根據(jù)其維護(hù)的映射表,將接收到的字符串轉(zhuǎn)化為相應(yīng)的序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;序列化id接收模塊440,用于接收各個(gè)管理服務(wù)器返回的對(duì)應(yīng)各個(gè)字符串的序列化id;樣本序列化模塊450,用于根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述管理服務(wù)器確定模塊420包括:字符串取余模塊,用于將字符串對(duì)應(yīng)的哈希值除以管理服務(wù)器的個(gè)數(shù),得到余數(shù);第一余數(shù)確定模塊,用于根據(jù)余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,確定字符串對(duì)應(yīng)的管理服務(wù)器。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,在字符串提取模塊410之后,還包括:去重模塊,用于對(duì)各個(gè)字符串進(jìn)行去重。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述符串提取模塊410之前包括:第一樣本數(shù)據(jù)獲取模塊,用于獲取由調(diào)度服務(wù)器對(duì)所有樣本數(shù)據(jù)進(jìn)行平均分配后,屬于當(dāng)前序列化服務(wù)器自己的一批樣本數(shù)據(jù)。本實(shí)施例可以應(yīng)用于序列化服務(wù)器側(cè)。本申請(qǐng)實(shí)施例中,首先,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的數(shù)字化id也不同。完整的映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列化效率。其次,序列化服務(wù)器只需將待序列化的樣本,將其中的字符串根據(jù)與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。如此,序列化服務(wù)器本身并不存儲(chǔ)序列化所需的完整的映射表,避免序列化服務(wù)器的內(nèi)存不足,并且提高了序列化服務(wù)器的性能。實(shí)施例五參照?qǐng)D5,示出了本申請(qǐng)的另一種樣本序列化裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:字符串接收模塊510,用于接收字符串;所述字符串由序列化服務(wù)器根據(jù)字符串與各管理服務(wù)器之間的對(duì)應(yīng)關(guān)系發(fā)送;所述字符串由序列服務(wù)器從樣本數(shù)據(jù)中獲取;字符串轉(zhuǎn)換模塊520,用于根據(jù)本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id;其中,不同管理服務(wù)器維護(hù)的映射表中的字符串互不相同;數(shù)字化id返回模塊530,用于將所述字符串對(duì)應(yīng)的序列化id返回給相應(yīng)的序列化服務(wù)器,以供序列化服務(wù)器根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。本實(shí)施例可以應(yīng)用于管理服務(wù)器側(cè)。在本申請(qǐng)一優(yōu)選的實(shí)施例中,所述字符串接收模塊510之前包括:字符串獲取模塊,用于獲取屬于當(dāng)前管理服務(wù)器自己的一批字符串;其中,屬于當(dāng)前管理服務(wù)器的一批字符串與屬于其他管理服務(wù)器的字符串不同;映射表構(gòu)建模塊,用于將所述字符串進(jìn)行序列化,并構(gòu)建字符串與序列化id的映射表。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述映射表構(gòu)建模塊包括:第一數(shù)量獲取模塊,用于獲取當(dāng)前管理服務(wù)器的排序之前的各個(gè)管理服務(wù)器中的字符串的第一總數(shù)量n1;第二數(shù)量獲取模塊,用于以所述第一總數(shù)量n1加上當(dāng)前管理服務(wù)器的字符串的數(shù)量m得到第二總數(shù)量n2;序列化范圍確定模塊,用于以[n1+1,n2]作為當(dāng)前管理服務(wù)器對(duì)字符串序列化的范圍。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述字符串轉(zhuǎn)換模塊包括:查詢模塊,用于查詢本地維護(hù)的映射表中是否有所述字符串;第一數(shù)字化id獲取模塊,用于如果本地維護(hù)的映射表中有所述字符串,則獲取該字符串對(duì)應(yīng)的序列化id;生成模塊,用于如果本地維護(hù)的映射表中沒(méi)有所述字符串,則針對(duì)所述字符串生成序列化id,并將所述字符串以及相應(yīng)序列化id加入映射表。在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述屬于當(dāng)前管理服務(wù)器的一批字符串包括:所述一批字符串中各字符串所對(duì)應(yīng)的余數(shù)屬于當(dāng)前管理服務(wù)器;所述余數(shù)為所述字符串對(duì)應(yīng)的哈希值除以各個(gè)管理服務(wù)器的個(gè)數(shù)得到。本申請(qǐng)實(shí)施例中,首先,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的數(shù)字化id也不同。完整的映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列 化效率。其次,序列化服務(wù)器只需將待序列化的樣本,將其中的字符串根據(jù)與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。如此,序列化服務(wù)器本身并不存儲(chǔ)序列化所需的完整的映射表,避免序列化服務(wù)器的內(nèi)存不足,并且提高了序列化服務(wù)器的性能。實(shí)施例六參照?qǐng)D6,示出了本申請(qǐng)的另一種樣本序列化系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:調(diào)度服務(wù)器600,多個(gè)序列化服務(wù)器700,多個(gè)管理服務(wù)器800。圖中僅僅示出了3個(gè)序列化服務(wù)器700和3個(gè)管理服務(wù)器800,各種服務(wù)器的數(shù)量可以根據(jù)實(shí)際需求設(shè)置。其中,調(diào)度服務(wù)器600包括:通知模塊601,用于調(diào)度服務(wù)器通知各序列化服務(wù)器獲取屬于自己的樣本數(shù)據(jù);在本申請(qǐng)優(yōu)選的實(shí)施例中,在實(shí)際應(yīng)用中,調(diào)度服務(wù)器600還包括:平均分配模塊,用于對(duì)所有樣本數(shù)據(jù)進(jìn)行平均分配,并根據(jù)分配結(jié)果通知各序列化服務(wù)器獲取屬于各序列化服務(wù)器自己的一批樣本數(shù)據(jù)。調(diào)度服務(wù)器600在整個(gè)訓(xùn)練開始之前,該通知模塊還用于通知序列化服務(wù)器執(zhí)行字符串序列化的過(guò)程,使其先不對(duì)樣本數(shù)據(jù)進(jìn)行序列化操作,因?yàn)榇藭r(shí)管理服務(wù)器沒(méi)有映射表。其中,每個(gè)序列化服務(wù)器700包括:樣本獲取模塊701,用于根據(jù)所述通知,讀取樣本數(shù)據(jù);字符串提取模塊702,用于從樣本數(shù)據(jù)中提取各個(gè)字符串;當(dāng)然,實(shí)際應(yīng)用中,字符串提取模塊702還用于對(duì)于提取的字符串,還會(huì)對(duì)其進(jìn)行去重,然后進(jìn)入。字符串取余模塊703,用于對(duì)各字符串,將字符串對(duì)應(yīng)的哈希值除以管理服務(wù)器的個(gè)數(shù),得到余數(shù);第一余數(shù)確定模塊704,用于根據(jù)所述余數(shù)與管理服務(wù)器的對(duì)應(yīng)關(guān)系,確定字符串對(duì)應(yīng)的管理服務(wù)器。字符串發(fā)送模塊705,用于將所述字符串發(fā)送至相應(yīng)的管理服務(wù)器序列化id接收模塊706,用于接收各個(gè)管理服務(wù)器返回的對(duì)應(yīng)各個(gè)字符串的序列化id;樣本序列化模塊707,用于根據(jù)接收到的各字符串對(duì)應(yīng)的序列化id,將各個(gè)樣本數(shù)據(jù)中的字符串轉(zhuǎn)換為相應(yīng)的序列化id。輸出模塊708,用于輸出序列化的樣本數(shù)據(jù)。在本申請(qǐng)另一實(shí)施例中,為了給管理服務(wù)器創(chuàng)建映射表提供支持,序列化服務(wù)器700包括:整合發(fā)送模塊,用于每個(gè)序列化服務(wù)器根據(jù)調(diào)度服務(wù)器的通知,獲取屬于自己的一批樣本數(shù)據(jù),并所述樣本數(shù)據(jù)中所有的字符串整合發(fā)送至管理服務(wù)器。每個(gè)管理服務(wù)器800包括:字符串接收模塊801,用于接收字符串;接收字符串發(fā)送模塊705發(fā)送的字符串。字符串轉(zhuǎn)換模塊802,用于根據(jù)本地維護(hù)的映射表,將所接收到的字符串轉(zhuǎn)換為序列化id;數(shù)字化id返回模塊803,用于將所述字符串對(duì)應(yīng)的序列化id返回給相應(yīng)的序列化服務(wù)器,在本申請(qǐng)另一實(shí)施例中,管理服務(wù)器800還通過(guò)以下模塊創(chuàng)建映射表:字符串獲取模塊,用于獲取屬于當(dāng)前管理服務(wù)器自己的一批字符串;其中,屬于當(dāng)前管理服務(wù)器的一批字符串與屬于其他管理服務(wù)器的字符串不同;該字符串獲取模塊獲取的字符串可以由序列化服務(wù)器的整合發(fā)送模塊中獲得字符串。映射表構(gòu)建模塊,用于將所述字符串進(jìn)行序列化,并構(gòu)建字符串與序列 化id的映射表。本申請(qǐng)實(shí)施例中,首先,將序列化需要的映射表分散到多個(gè)管理服務(wù)器中,不同的管理服務(wù)器的映射表中維護(hù)的字符串相互不同,相應(yīng)字符串的數(shù)字化id也不同。完整的映射表分散到了多個(gè)管理服務(wù)器,管理服務(wù)器在查找字符串的序列化id時(shí),查詢的時(shí)間短,則可以降低字符串的序列化id的查詢時(shí)間,從而可以減少對(duì)樣本序列化的時(shí)間,提高序列化效率。其次,序列化服務(wù)器只需將待序列化的樣本,將其中的字符串根據(jù)與各個(gè)管理服務(wù)器之間的對(duì)應(yīng)關(guān)系,發(fā)送至相應(yīng)的管理服務(wù)器;然后由該管理服務(wù)器去獲取該字符串的序列化id返回給序列化服務(wù)器。如此,序列化服務(wù)器本身并不存儲(chǔ)序列化所需的完整的映射表,避免序列化服務(wù)器的內(nèi)存不足,并且提高了序列化服務(wù)器的性能。對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。在一個(gè)典型的配置中,所述計(jì)算機(jī)設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形 式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。本申請(qǐng)實(shí)施例是參照根據(jù)本申請(qǐng)實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中 指定的功能的步驟。盡管已描述了本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)實(shí)施例范圍的所有變更和修改。最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者終端設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者終端設(shè)備中還存在另外的相同要素。以上對(duì)本申請(qǐng)所提供的一種樣本序列化方法和一種樣本序列化裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。當(dāng)前第1頁(yè)12