CN107180017B - 一种样本序列化方法和装置 - Google Patents
一种样本序列化方法和装置 Download PDFInfo
- Publication number
- CN107180017B CN107180017B CN201610141059.1A CN201610141059A CN107180017B CN 107180017 B CN107180017 B CN 107180017B CN 201610141059 A CN201610141059 A CN 201610141059A CN 107180017 B CN107180017 B CN 107180017B
- Authority
- CN
- China
- Prior art keywords
- character string
- serialization
- management server
- server
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013507 mapping Methods 0.000 claims abstract description 125
- 238000000605 extraction Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 8
- 101150014742 AGE1 gene Proteins 0.000 description 7
- 108091008729 NR1G1 Proteins 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本申请实施例提供了一种样本序列化方法和装置,涉及机器训练技术领域。所述方法包括:获取待序列化样本中的各个字符串;根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器;将所述字符串发送至相应的管理服务器,以供各管理服务器根据其维护的映射表,将接收到的字符串转化为相应的序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;接收各个管理服务器返回的对应各个字符串的序列化ID;根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。本申请降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
Description
技术领域
本申请涉及机器训练技术领域,特别是涉及一种样本序列化方法和一种样本序列化装置。
背景技术
在互联网中,基于用户的网络行为能产生大量的数据,而为了研究用户的各种行为习惯等方面,可能会构建各种各样的模型,而为了训练这些模型,一般采用机器学习系统。机器学习系统中,因为样本数据中各个维度的字符串本身可能不是序列化的ID,比如并不是数字ID,而是根据业务需求进行命名的。那么如果直接对样本数据的字符串进行训练,其计算量相对庞大,资源消耗多。
因此,为了降低计算量,进行训练之前,需要将所有的样本数据中的字符串转换成序列化ID,比如数字ID。比如一个样本数据是格式如下:
一共两列:第一列为label列,该label列记录用户是否点击,若记录为1代表用户点击,若记录为0代表用户没有点击;第二列为特征列,该特征列是该条样本的所有特征,用逗号分隔,例如:
1user_id_123,age_1,sex_1,age_comb_city3
则需要将其中的“user_id_123,age_1,sex_1,age_comb_city3”全部转换成数字ID,也就是需要建立如下映射关系:
{字符串集合}->{数字集合}
那么前述“user_id_123,age_1,sex_1,age_comb_city3”转换得到的映射关系为:
user_id_123->数字X,age_1->数字Y,sex_1->数字Z,age_comb_city3->数字F。
但是,在发明人使用过程中发现,当字符串集合元素非常多时,单机内存装载不下,将样本数据序列化的时间非常常长,比如20亿字符串时,每个机器需要的加载完整的映射表,内存超过40G,序列化的时间也非常长。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种样本序列化方法和相应的一种样本序列化装置。
为了解决上述问题,本申请公开了一种样本序列化方法,包括:
获取待序列化样本中的各个字符串;
根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器;
将所述字符串发送至相应的管理服务器,以供各管理服务器根据其维护的映射表,将接收到的字符串转化为相应的序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
接收各个管理服务器返回的对应各个字符串的序列化ID;
根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
本申请还公开了一种样本序列化方法,包括:
接收字符串;所述字符串由序列化服务器根据字符串与各管理服务器之间的对应关系发送;所述字符串由序列服务器从样本数据中获取;
根据本地维护的映射表,将所接收到的字符串转换为序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
将所述字符串对应的序列化ID返回给相应的序列化服务器,以供序列化服务器根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
本申请还公开了一种样本序列化装置,包括:
字符串提取模块,用于获取待序列化样本中的各个字符串;
管理服务器确定模块,用于根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器;
字符串发送模块,用于将所述字符串发送至相应的管理服务器,以供各管理服务器根据其维护的映射表,将接收到的字符串转化为相应的序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
序列化ID接收模块,用于接收各个管理服务器返回的对应各个字符串的序列化ID;
样本序列化模块,用于根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
本申请还公开了一种样本序列化装置,包括:
字符串接收模块,用于接收字符串;所述字符串由序列化服务器根据字符串与各管理服务器之间的对应关系发送;所述字符串由序列服务器从样本数据中获取;
字符串转换模块,用于根据本地维护的映射表,将所接收到的字符串转换为序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
数字化ID返回模块,用于将所述字符串对应的序列化ID返回给相应的序列化服务器,以供序列化服务器根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
本申请实施例包括以下优点:
本申请实施例,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的数字化ID也不同。然后序列化服务器只需将待序列化的样本,将其中的字符串根据与各个管理服务器之间的对应关系,发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。该序列化ID,如数字ID。因此,序列化服务器即可将样本转换为数字化的样本,以备后续训练使用。如此,序列化服务器不用加载映射表,避免序列化服务器的内存不足。另外,由于映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
附图说明
图1是本申请的从序列化服务器侧描述的一种样本序列化方法实施例的步骤流程图;
图2是本申请的从管理服务器侧描述的一种样本序列化方法实施例的步骤流程图;
图3是本申请的一种样本序列化方法实施例的步骤流程图;
图4是本申请的一种样本序列化装置实施例的结构框图;
图5是本申请的一种样本序列化装置实施例的结构框图;
图6是本申请的一种样本序列化系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的序列化ID也不同。然后序列化服务器只需对于待序列化的样本数据,从该样本数据中提取了字符串后,根据该字符串与各个管理服务器之间的对应关系,将该字符串发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。然后,序列化服务器即可将样本转换为数字化的样本,以备后续训练使用。如此,序列化服务器不用加载映射表,避免序列化服务器的内存不足。另外,由于映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
实施例一
参照图1,示出了本申请的一种样本序列化方法实施例的步骤流程图,具体可以包括如下步骤:
步骤110,获取待序列化样本中的各个字符串;
在本申请实施例中,序列化服务器首先接收待序列化的样本数据,在一优选的实施例中,在步骤110之前,还包括:
步骤S100,获取待序列化的各样本数据;
本申请实施例可以有一个或者多个序列化服务器slave。各序列化服务器可以根据调度服务器coordinator的通知,去获取由该序列化服务器处理的一批样本数据。
在本申请实施例中,各个序列化服务器和各管理服务器以及调度服务器,可以组成机器训练的训练集群。
在本申请另一优选的实施例中,所述获取待序列化的各样本数据的步骤,包括:
子步骤S11,获取由调度服务器对所有样本数据进行平均分配后,属于当前序列化服务器自己的一批样本数据。
比如在训练集群中存在两台序列化服务器,序列化服务器A和序列化服务器B。总共有10000条样本数据,则调度服务器可以将该10000条样本数据分为两份,每份5000条,分别通知序列化服务器A和序列服务器B去获取相应的5000条样本数据。
当然,子步骤S11只是本申请的一种优选的方式,其他分配方式也可以,本申请实施例不对其加以限制。比如根据序列化服务器的性能分配,此时,调度服务器在接收到上传的样本数据后,可以在分配为个序列化服务器分配样本数据之前,先获取序列化服务器的硬件性能,硬件性能在某个区间范围的分配相应比例的样本数据。
进一步的,在本申请实施例中,每个序列化服务器,在获取到由其序列化的样本数据后,则从样本中提取字符串。比如一条样本如下:
label | 特征 |
1 | user_id_123,age_1,sex_1,age_comb_city3 |
该样本数据一共两列,第一列为label列,表示用户是否点击,值为1代表用户点击,值为0代表用户没有点击;第二列为特征列,值是该条样本数据的所有特征,用逗号分隔。
那么本申请的序列化服务器则从特征列里提取,“user_id_123”,“age_1”,“sex_1”,“age_comb_city3”。
可以理解的是,上述示例仅仅是描述提取的字符串的示例,本申请并不受限于此,其他格式的样本数据也可以采用。
需要说明的是,在本申请实施例中,从样本数据中提取字符串时,提取的是非纯数字化的字符串。比如前述的“user_id_123”,“age_1”,“sex_1”,“age_comb_city3”。如果特征列里的特征有纯数字,则不提取。
在本申请实施例中,可以预先根据样本数据的格式进行分析,确定需要以什么样的方式从样本数据中提取字符串,比如采用什么样的提取模板提取数据等。当然,可以由调度服务器预先确定需要以什么样的方式从样本数据中提取字符串,然后通知给各个序列化服务器。
当然,本申请实施例中,对样本数据进行序列化时,可以一条一条进行序列化,即提取一条样本数据的字符串,发送至相应的各管理服务器,在该条样本数据序列化完之后进行下一条的序列化。也可以批量的进行序列化,即一次发送一批样本数据的字符串,发送至相应的各管理服务器。
步骤120,根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器;
本申请实施例的序列化服务器可以将上述提取的字符串发给对应的管理服务器master。在本申请实施例中字符串是属于某个管理服务器的映射表维护的。本申请实施例可以通过某种方式约定字符串与管理服务器的对应关系。
在本申请一优选的实施例中,所述根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器的步骤,包括:
子步骤S21,将字符串对应的哈希值除以管理服务器的个数,得到余数;
子步骤S22,根据余数与管理服务器的对应关系,确定字符串对应的管理服务器。
在本申请实施例中,以前述字符串“user_id_123”为例,计算该字符串的哈希值hash_value,然后以hash_value除以管理服务器的总个数P,取余数,其公式如hash_value%P。
在本申请实施例中,预先设置上述各个余数与管理服务器之间的对应关系。
比如有2个管理服务器,2其对应的余数为0、1。那么可以先将0对应管理服务器A,1对应管理服务器B。那么hash_value除以2后余数为0的字符串,都发送至管理服务器A;hash_value除以2后余数为1的字符串都发送至管理服务器B。
在本申请实施例中,为了方便余数与管理服务器之间直接对应,可以将管理服务器的直接按照前述余数进行命名,那么计算得到余数后,直接就可以知道余数是哪个管理服务器。
本申请另一优选的实施例中,在获取待序列化样本中的各个字符串的步骤之后,还包括:
步骤S31,对各个字符串进行去重。
在本申请实施例中,为了降低管理服务器的计算量,以及网络的占用量,可以先将各个字符串进行去重。
从而每次发送到管理服务器的字符串是唯一的,不会有重复的字符串发送,相应的也不会有重复的序列化ID返回,不会额外占用网络带宽。管理服务器每次收到的字符串也是唯一的,在一次计算中只对该字符串计算一次,不会重复,降低管理服务器计算量。
步骤130,将所述字符串发送至相应的管理服务器,以供各管理服务器根据其维护的映射表,将接收到的字符串转化为相应的序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
在本申请实施例中,各个管理服务器可以预先获取属于该管理服务器维护的字符串,然后构建各个管理服务器自己的映射表。该映射表是字符串与序列化ID的对照表。
在本申请实施例中,序列化ID为数字ID,因为在训练过程中,数字最容易带入公式进行计算。
在本申请实施例中,对于各个字符串,可以将字符串的哈希值除以所有管理服务器的个数,取其余数,该余数也与管理服务器对应。如前述管理服务器有2个,那么0对应管理服务器A,1对应管理服务器B。然后字符串则可以根据该余数与管理服务器的对应关系,将字符串发送至相应管理服务器。然后该管理服务器可以基于该字符串构建映射表。
在实际应用中,各个序列化服务器在获取其样本之后,先提取所有样本的所有字符串,计算每个字符串的哈希值,将每个字符串的哈希值除以管理服务器的总个数并取余数,然后根据余数与管理服务器的对应关系,将字符串发送至相应的管理服务器。
管理服务器则在收到字符串后,对字符串生成序列化ID。然后将字符串与对应的序列化ID构建映射表。
对于管理服务器,在接收到了字符串后,则从本地维护的映射表中查询该字符串的序列化ID,然后将该字符串对应的序列化ID返回给序列化服务器。在实际应用中,管理服务器可以将字符串与其对应的序列化ID一起返回给序列化服务器。
步骤140,接收各个管理服务器返回的对应各个字符串的序列化ID;
序列化服务器在发送了样本数据的各字符串后,则可以接收管理服务器返回的上述各字符串对应的序列化ID。
步骤150,根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
序列化服务器接收到各个字符串的序列化ID后,将样本数据中的字符串转换为相应的序列化ID。比如前述“user_id_123”其序列化ID为11,“age_1”的序列化ID为13,“sex_1”的序列化ID为24,“age_comb_city3”的序列化ID为55。那么转换得到的序列化的样本数据为:
1 | 11,13,24,55 |
然后,序列化后的样本数据则可以供后续机器训练使用,加快训练速度,提高训练效率。
本申请实施例中,首先,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的数字化ID也不同。完整的映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
其次,序列化服务器只需将待序列化的样本,将其中的字符串根据与各个管理服务器之间的对应关系,发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。如此,序列化服务器本身并不存储序列化所需的完整的映射表,避免序列化服务器的内存不足,并且提高了序列化服务器的性能。
实施例二
参照图2,示出了本申请的一种样本序列化方法实施例的步骤流程图,具体可以包括如下步骤:
步骤210,接收字符串;所述字符串由序列化服务器根据字符串与各管理服务器之间的对应关系发送;所述字符串由序列服务器从样本数据中获取;
在本申请实施例中,各个管理服务器接收某个或者某几个序列化服务器发送的字符串。
在本申请实施例中,在序列化服务器侧对于待序列化的样本数据,则可以从中提取字符串,然后根据字符串与各管理服务器之间的对应关系确定管理服务器,然后将字符串发送至该管理服务器。
对于各个序列化服务器而言,其根据字符串与各管理服务器之间的对应关系确定管理服务器,将字符串发送至该管理服务器包括:
子步骤S51,将字符串对应的哈希值除以管理服务器的个数,得到余数;
子步骤S52,根据余数与管理服务器的对应关系,确定字符串对应的管理服务器。
在本申请一优选的实施例中,可以实时构建各个管理服务器需要维护的映射表,那么在步骤210之前还包括:
步骤S201,获取属于当前管理服务器自己的一批字符串;其中,属于当前管理服务器的一批字符串与属于其他管理服务器的字符串不同;
在本申请实施例中,可以设置多个管理服务器,那么对于每个管理服务器,可以获取属于自己的一批字符串,不同的管理服务器获取的字符串相互之间互不相同。
在本申请实施例中,各个管理服务器可以预先获取属于该管理服务器维护的字符串,然后构建各个管理服务器自己的映射表。
在本申请实施例中,对于各个字符串,可以将字符串的哈希值除以所有管理服务器的个数,取其余数,该余数也与管理服务器对应。如前述管理服务器有2个,那么0对应管理服务器A,1对应管理服务器B。然后字符串则可以根据该余数与管理服务器的对应关系,将字符串发送至相应管理服务器。然后该管理服务器可以基于该字符串构建映射表。
在实际应用中,各个序列化服务器在获取其样本之后,先提取所有样本的所有字符串,计算每个字符串的哈希值,将每个字符串的哈希值除以管理服务器的总个数并取余数,然后根据余数与管理服务器的对应关系,将字符串发送至相应的管理服务器。
其中,属于当前管理服务器的一批字符串所对应的余数属于当前管理服务器;所述余数为所述字符串对应的哈希值除以各个管理服务器的个数得到。
步骤S202,将所述字符串进行序列化,并构建字符串与序列化ID的映射表;
管理服务器则在收到字符串后,对字符串生成序列化ID。然后将字符串与对应的序列化ID构建映射表。
优选的,所述将所述字符串进行序列化,并构建字符串与序列化ID的映射表的步骤,包括:
子步骤S41,获取当前管理服务器的排序之前的各个管理服务器中的字符串的第一总数量N1;
比如,管理服务器有A、B、C,其顺序也如A、B、C排序。对于第一个管理服务器A,其有110个字符串;对于第二个管理服务器B,其有90个字符串,对于第三个管理服务器,其有100个字符串。
那么管理服务器A之前的各个管理服务器中的字符串的第一总数量N1=0。
管理服务器B之前,有管理服务器A,其第一总数量N1=110。
管理服务器C之前,有管理服务器A和管理服务器B,其第一总数量N1=200。
子步骤S42,以所述第一总数量N1加上当前管理服务器的字符串的数量M得到第二总数量N2;
子步骤S43,以[N1+1,N2]作为当前管理服务器对字符串序列化的范围。
管理服务器A的字符串数量M=110,那么管理服务器A的字符串序列化范围为[1,110],那么对于管理服务器A中的字符串,可以按序将其对应1到110的序列化ID。
管理服务器B的字符串数量是90,那么管理服务器B的字符串序列化范围为[111,200],那么对于管理服务器B中的字符串,可以按序将其对应111到200的序列化ID。
管理服务器C的字符串数量是100,那么管理服务器B的字符串序列化范围为[201,300],那么对于管理服务器C中的字符串,可以按序将其对应201到300的序列化ID。
步骤220,根据本地维护的映射表,将所接收到的字符串转换为序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
对于一个管理服务器来说,由于其维护了一个映射表,该映射表中有字符串与其对应的序列化ID,由于其接收到的字符串是属于该管理服务器维护的,因此该管理服务器可以根据其本地维护的映射表,将所接收到的字符串转换为序列化ID。比如根据映射表中的字符串与数字ID的对应关系,查找字符串对应的数字ID,然后将查找到的数字ID返回给相应序列化服务器。
在本申请另一优选的实施例中,所述根据本地维护的映射表,将所接收到的字符串转换为序列化ID的步骤包括:
子步骤S61,查询本地维护的映射表中是否有所述字符串;
子步骤S62,如果本地维护的映射表中有所述字符串,则获取该字符串对应的序列化ID;
子步骤S63,如果本地维护的映射表中没有所述字符串,则针对所述字符串生成序列化ID,并将所述字符串以及相应序列化ID加入映射表。
在本申请实施例中,序列化服务器获取的样本中可能存在管理服务器的映射表中未记录的字符串,对于该种情况,管理服务器可以为其生成一个序列化ID,然后将字符串与序列化ID记录到映射表中。同时,将该字符串对应的序列化ID返回给相应的序列化服务器。
在实际应用中,可以为各个监控服务器预先划定相互不重叠的序列化范围,管理服务器可以为该字符串分配序列化范围中的序列化ID,如果其序列化范围分配完毕,则可以再分配一个唯一的序列化范围。
步骤230,将所述字符串对应的序列化ID返回给相应的序列化服务器,以供序列化服务器根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
当然,在本申请实施例中,管理服务器在接收到字符串后,可以记录该字符串由那个序列化服务器发送,那么在查找到该字符串对应的序列化ID后,可以根据记录,将相应的字符串与序列化ID返回相应序列化服务器。
本申请实施例中,首先,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的数字化ID也不同。完整的映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
其次,序列化服务器只需将待序列化的样本,将其中的字符串根据与各个管理服务器之间的对应关系,发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。如此,序列化服务器本身并不存储序列化所需的完整的映射表,避免序列化服务器的内存不足,并且提高了序列化服务器的性能。
实施例三
参照图3,示出了本申请优选的一种样本序列化方法实施例的步骤流程图。
本实施例为了更清楚的描述序列化方法,以调度服务器、序列化服务器、管理服务器整体架构的角度进行描述。
在本申请实施例中,可以结合调度服务器、序列化服务器对各个管理服务器创建映射表。如步骤S30-步骤S38。
步骤S32,调度服务器对所有样本数据进行平均分配,并根据分配结果通知各序列化服务器获取属于各序列化服务器自己的一批样本数据。
在整个训练开始之前,调度服务器获取到所有样本数据的标识信息后,可以对所有样本数据进行平均分配。比如根据样本数据的序列号将样本数据平均分配给N个序列服务器。调度服务器将分配结构通知给各个序列化服务器,以使各个序列化服务器去获取属于自己的样本数据。同时,调度服务器通知序列化服务器执行字符串序列化的过程,使其先不对样本数据进行序列化操作,因为此时管理服务器没有映射表。
步骤S34,每个序列化服务器根据调度服务器的通知,获取属于自己的一批样本数据,并所述样本数据中所有的字符串整合发送至管理服务器。
在实际应用中,各台序列化服务器获取到前述第一次均分的样本数据后,可以从这些样本数据中按照预先配置的提取规则,从中提取该批数据的所有字符串,然后对这些字符串进行去重,再将去重后的字符串,按照发送规则发送至各管理服务器。该发送规则包括:将字符串对应的哈希值除以管理服务器的总个数,得到余数,如;根据余数与管理服务器的对应关系,将各字符串发送至余数相应的管理服务器中。
步骤S36,管理服务器接收各序列化服务器发送的字符串;
步骤S38,管理服务器在接收完属于该管理服务器的所有字符串后,将所述字符串进行序列化,并构建字符串与序列化ID的映射表。
在本申请实施例中,各序列化服务器可以通过网络连接将字符串发送至管理服务器,字符串发送完毕后,可以断开与相应管理服务器的网络连接。那么管理服务器则可以通过网络连接的中断,判断该序列化服务器是否发送完毕其字符串。当管理服务器判断所有序列化服务器发送完字符串后,则可以将所述字符串进行序列化,并构建字符串与序列化ID的映射表。
当然,实际应用中,管理服务器还可以采用其他方式确定其接收完属于其自身的所有字符串。比如预先约定一个完毕标识,序列化服务器在其字符串发送完毕之后,向各管理服务器发送该完毕标识,然后各管理服务器则记录该序列化服务器的完毕标识,当接收到所有序列化服务器的完毕标识之后,则确定管理服务器接收完属于该管理服务器的所有字符串。具体的方法,本申请实施例不对其加以限制。
在管理服务器构建完毕了前述映射表之后,调度服务器可以再协调各个序列化服务器执行对样本数据的序列化操作。如步骤310-332。
步骤310,调度服务器通知各序列化服务器获取属于自己的样本数据;
对于每个序列化服务器,执行以下步骤:
步骤312,根据所述通知,读取样本数据;
步骤314,从样本数据中提取各个字符串;
当然,实际应用中,对于提取的字符串,还会对其进行去重,然后执行步骤316。
步骤316,对各字符串,将字符串对应的哈希值除以管理服务器的个数,得到余数;
步骤318,根据所述余数与管理服务器的对应关系,确定字符串对应的管理服务器;
步骤320,将所述字符串发送至相应的管理服务器。
对于管理服务器,则执行以下步骤:
步骤322,接收字符串;
接收步骤320中序列化服务器发送的字符串。
步骤324,根据本地维护的映射表,将所接收到的字符串转换为序列化ID。
该映射表已经在步骤S32-S38中构建。
步骤326,将所述字符串对应的序列化ID返回给相应的序列化服务器。
之后,对于每个序列化服务器,再执行以下步骤:
步骤328,接收各个管理服务器返回的对应各个字符串的序列化ID;
步骤330,根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
步骤332,输出序列化的样本数据。
如此,序列化后的样本数据则可以供给机器训练使用。
本申请实施例中,
首先,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的数字化ID也不同。完整的映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
最后,序列化服务器只需将待序列化的样本,将其中的字符串根据与各个管理服务器之间的对应关系,发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。如此,序列化服务器本身并不存储序列化所需的完整的映射表,避免序列化服务器的内存不足,并且提高了序列化服务器的性能。
然后,在结合步骤S32-S38的过程,在映射表的构建过程中,所有样本的字符串分散到的多个序列化服务器进行提取,提取速度快,使映射表的构建速度加快。其次,映射表的构建分散到了多个管理服务器中,其每个管理服务器不用构建完整的映射表,而只需构建部分的映射表,映射表构建速度加快。再次,构建映射表的位置变化为管理服务器,传统的进行序列化的序列化服务器不用进行映射表的构建过程,也不用存储映射表,减轻了序列化服务器的负担。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
实施例四
参照图4,示出了本申请的一种样本序列化装置实施例的结构框图,具体可以包括如下模块:
字符串提取模块410,用于获取待序列化样本中的各个字符串;
其中,在字符串提取模块410之前还包括:
样本数据获取模块S400,用于获取待序列化的各样本数据;
管理服务器确定模块420,用于根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器;
字符串发送模块430,用于将所述字符串发送至相应的管理服务器,以供各管理服务器根据其维护的映射表,将接收到的字符串转化为相应的序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
序列化ID接收模块440,用于接收各个管理服务器返回的对应各个字符串的序列化ID;
样本序列化模块450,用于根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
在本申请另一优选的实施例中,所述管理服务器确定模块420包括:
字符串取余模块,用于将字符串对应的哈希值除以管理服务器的个数,得到余数;
第一余数确定模块,用于根据余数与管理服务器的对应关系,确定字符串对应的管理服务器。
在本申请另一优选的实施例中,在字符串提取模块410之后,还包括:
去重模块,用于对各个字符串进行去重。
在本申请另一优选的实施例中,所述符串提取模块410之前包括:
第一样本数据获取模块,用于获取由调度服务器对所有样本数据进行平均分配后,属于当前序列化服务器自己的一批样本数据。
本实施例可以应用于序列化服务器侧。
本申请实施例中,首先,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的数字化ID也不同。完整的映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
其次,序列化服务器只需将待序列化的样本,将其中的字符串根据与各个管理服务器之间的对应关系,发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。如此,序列化服务器本身并不存储序列化所需的完整的映射表,避免序列化服务器的内存不足,并且提高了序列化服务器的性能。
实施例五
参照图5,示出了本申请的另一种样本序列化装置实施例的结构框图,具体可以包括如下模块:
字符串接收模块510,用于接收字符串;所述字符串由序列化服务器根据字符串与各管理服务器之间的对应关系发送;所述字符串由序列服务器从样本数据中获取;
字符串转换模块520,用于根据本地维护的映射表,将所接收到的字符串转换为序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
数字化ID返回模块530,用于将所述字符串对应的序列化ID返回给相应的序列化服务器,以供序列化服务器根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
本实施例可以应用于管理服务器侧。
在本申请一优选的实施例中,所述字符串接收模块510之前包括:
字符串获取模块,用于获取属于当前管理服务器自己的一批字符串;其中,属于当前管理服务器的一批字符串与属于其他管理服务器的字符串不同;
映射表构建模块,用于将所述字符串进行序列化,并构建字符串与序列化ID的映射表。
在本申请另一优选的实施例中,所述映射表构建模块包括:
第一数量获取模块,用于获取当前管理服务器的排序之前的各个管理服务器中的字符串的第一总数量N1;
第二数量获取模块,用于以所述第一总数量N1加上当前管理服务器的字符串的数量M得到第二总数量N2;
序列化范围确定模块,用于以[N1+1,N2]作为当前管理服务器对字符串序列化的范围。
在本申请另一优选的实施例中,所述字符串转换模块包括:
查询模块,用于查询本地维护的映射表中是否有所述字符串;
第一数字化ID获取模块,用于如果本地维护的映射表中有所述字符串,则获取该字符串对应的序列化ID;
生成模块,用于如果本地维护的映射表中没有所述字符串,则针对所述字符串生成序列化ID,并将所述字符串以及相应序列化ID加入映射表。
在本申请另一优选的实施例中,所述属于当前管理服务器的一批字符串包括:
所述一批字符串中各字符串所对应的余数属于当前管理服务器;所述余数为所述字符串对应的哈希值除以各个管理服务器的个数得到。
本申请实施例中,首先,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的数字化ID也不同。完整的映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
其次,序列化服务器只需将待序列化的样本,将其中的字符串根据与各个管理服务器之间的对应关系,发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。如此,序列化服务器本身并不存储序列化所需的完整的映射表,避免序列化服务器的内存不足,并且提高了序列化服务器的性能。
实施例六
参照图6,示出了本申请的另一种样本序列化系统实施例的结构框图,具体可以包括如下模块:
调度服务器600,多个序列化服务器700,多个管理服务器800。图中仅仅示出了3个序列化服务器700和3个管理服务器800,各种服务器的数量可以根据实际需求设置。
其中,调度服务器600包括:
通知模块601,用于调度服务器通知各序列化服务器获取属于自己的样本数据;
在本申请优选的实施例中,在实际应用中,调度服务器600还包括:平均分配模块,用于对所有样本数据进行平均分配,并根据分配结果通知各序列化服务器获取属于各序列化服务器自己的一批样本数据。
调度服务器600在整个训练开始之前,该通知模块还用于通知序列化服务器执行字符串序列化的过程,使其先不对样本数据进行序列化操作,因为此时管理服务器没有映射表。
其中,每个序列化服务器700包括:
样本获取模块701,用于根据所述通知,读取样本数据;
字符串提取模块702,用于从样本数据中提取各个字符串;
当然,实际应用中,字符串提取模块702还用于对于提取的字符串,还会对其进行去重,然后进入。
字符串取余模块703,用于对各字符串,将字符串对应的哈希值除以管理服务器的个数,得到余数;
第一余数确定模块704,用于根据所述余数与管理服务器的对应关系,确定字符串对应的管理服务器。
字符串发送模块705,用于将所述字符串发送至相应的管理服务器
序列化ID接收模块706,用于接收各个管理服务器返回的对应各个字符串的序列化ID;
样本序列化模块707,用于根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
输出模块708,用于输出序列化的样本数据。
在本申请另一实施例中,为了给管理服务器创建映射表提供支持,序列化服务器700包括:
整合发送模块,用于每个序列化服务器根据调度服务器的通知,获取属于自己的一批样本数据,并所述样本数据中所有的字符串整合发送至管理服务器。
每个管理服务器800包括:
字符串接收模块801,用于接收字符串;
接收字符串发送模块705发送的字符串。
字符串转换模块802,用于根据本地维护的映射表,将所接收到的字符串转换为序列化ID;
数字化ID返回模块803,用于将所述字符串对应的序列化ID返回给相应的序列化服务器,
在本申请另一实施例中,管理服务器800还通过以下模块创建映射表:
字符串获取模块,用于获取属于当前管理服务器自己的一批字符串;其中,属于当前管理服务器的一批字符串与属于其他管理服务器的字符串不同;
该字符串获取模块获取的字符串可以由序列化服务器的整合发送模块中获得字符串。
映射表构建模块,用于将所述字符串进行序列化,并构建字符串与序列化ID的映射表。
本申请实施例中,首先,将序列化需要的映射表分散到多个管理服务器中,不同的管理服务器的映射表中维护的字符串相互不同,相应字符串的数字化ID也不同。完整的映射表分散到了多个管理服务器,管理服务器在查找字符串的序列化ID时,查询的时间短,则可以降低字符串的序列化ID的查询时间,从而可以减少对样本序列化的时间,提高序列化效率。
其次,序列化服务器只需将待序列化的样本,将其中的字符串根据与各个管理服务器之间的对应关系,发送至相应的管理服务器;然后由该管理服务器去获取该字符串的序列化ID返回给序列化服务器。如此,序列化服务器本身并不存储序列化所需的完整的映射表,避免序列化服务器的内存不足,并且提高了序列化服务器的性能。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种样本序列化方法和一种样本序列化装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (18)
1.一种样本序列化方法,其特征在于,包括:
获取待序列化样本中的各个字符串;
根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器;
将所述字符串发送至相应的管理服务器,以供各管理服务器根据其维护的映射表,将接收到的字符串转化为相应的序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
接收各个管理服务器返回的对应各个字符串的序列化ID;
根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
2.根据权利要求1所述的方法,其特征在于,所述根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器的步骤,包括:
将字符串对应的哈希值除以管理服务器的个数,得到余数;
根据余数与管理服务器的对应关系,确定字符串对应的管理服务器。
3.根据权利要求1所述的方法,其特征在于,在获取待序列化样本中的各个字符串的步骤之后,还包括:
对各个字符串进行去重。
4.根据权利要求1-3其中之一所述的方法,其特征在于,所述获取待序列化样本中的各个字符串的步骤之前,还包括:
获取由调度服务器对所有样本数据进行平均分配后,属于当前序列化服务器自己的一批样本数据。
5.一种样本序列化方法,其特征在于,包括:
接收字符串;所述字符串由序列化服务器根据字符串与各管理服务器之间的对应关系发送;所述字符串由序列服务器从样本数据中获取;
根据本地维护的映射表,将所接收到的字符串转换为序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
将所述字符串对应的序列化ID返回给相应的序列化服务器,以供序列化服务器根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
6.根据权利要求5所述的方法,其特征在于,所述接收字符串的步骤之前,还包括:
获取属于当前管理服务器自己的一批字符串;其中,属于当前管理服务器的一批字符串与属于其他管理服务器的字符串不同;
将所述字符串进行序列化,并构建字符串与序列化ID的映射表。
7.根据权利要求6所述的方法,其特征在于,所述将所述字符串进行序列化,并构建字符串与序列化ID的映射表的步骤,包括:
获取当前管理服务器的排序之前的各个管理服务器中的字符串的第一总数量N1;
以所述第一总数量N1加上当前管理服务器的字符串的数量M得到第二总数量N2;
以[N1+1,N2]作为当前管理服务器对字符串序列化的范围。
8.根据权利要求5-7其中之一所述的方法,其特征在于,所述根据本地维护的映射表,将所接收到的字符串转换为序列化ID的步骤包括:
查询本地维护的映射表中是否有所述字符串;
如果本地维护的映射表中有所述字符串,则获取该字符串对应的序列化ID;
如果本地维护的映射表中没有所述字符串,则针对所述字符串生成序列化ID,并将所述字符串以及相应序列化ID加入映射表。
9.根据权利要求6或7所述的方法,其特征在于,所述属于当前管理服务器的一批字符串包括:
所述一批字符串中各字符串所对应的余数属于当前管理服务器;所述余数为所述字符串对应的哈希值除以各个管理服务器的个数得到。
10.一种样本序列化装置,其特征在于,包括:
字符串提取模块,用于获取待序列化样本中的各个字符串;
管理服务器确定模块,用于根据各字符串与各管理服务器之间的对应关系,确定每个字符串对应的管理服务器;
字符串发送模块,用于将所述字符串发送至相应的管理服务器,以供各管理服务器根据其维护的映射表,将接收到的字符串转化为相应的序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
序列化ID接收模块,用于接收各个管理服务器返回的对应各个字符串的序列化ID;
样本序列化模块,用于根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
11.根据权利要求10所述的装置,其特征在于,所述管理服务器确定模块包括:
字符串取余模块,用于将字符串对应的哈希值除以管理服务器的个数,得到余数;
第一余数确定模块,用于根据余数与管理服务器的对应关系,确定字符串对应的管理服务器。
12.根据权利要求10所述的装置,其特征在于,在字符串提取模块之后,还包括:
去重模块,用于对各个字符串进行去重。
13.根据权利要求10-12其中之一所述的装置,其特征在于,所述字符串提取模块之前包括:
第一样本数据获取模块,用于获取由调度服务器对所有样本数据进行平均分配后,属于当前序列化服务器自己的一批样本数据。
14.一种样本序列化装置,其特征在于,包括:
字符串接收模块,用于接收字符串;所述字符串由序列化服务器根据字符串与各管理服务器之间的对应关系发送;所述字符串由序列服务器从样本数据中获取;
字符串转换模块,用于根据本地维护的映射表,将所接收到的字符串转换为序列化ID;其中,不同管理服务器维护的映射表中的字符串互不相同;
数字化ID返回模块,用于将所述字符串对应的序列化ID返回给相应的序列化服务器,以供序列化服务器根据接收到的各字符串对应的序列化ID,将各个样本数据中的字符串转换为相应的序列化ID。
15.根据权利要求14所述的装置,其特征在于,所述字符串接收模块之前包括:
字符串获取模块,用于获取属于当前管理服务器自己的一批字符串;其中,属于当前管理服务器的一批字符串与属于其他管理服务器的字符串不同;
映射表构建模块,用于将所述字符串进行序列化,并构建字符串与序列化ID的映射表。
16.根据权利要求15所述的装置,其特征在于,所述映射表构建模块包括:
第一数量获取模块,用于获取当前管理服务器的排序之前的各个管理服务器中的字符串的第一总数量N1;
第二数量获取模块,用于以所述第一总数量N1加上当前管理服务器的字符串的数量M得到第二总数量N2;
序列化范围确定模块,用于以[N1+1,N2]作为当前管理服务器对字符串序列化的范围。
17.根据权利要求14-16其中之一所述的装置,其特征在于,所述字符串转换模块包括:
查询模块,用于查询本地维护的映射表中是否有所述字符串;
第一数字化ID获取模块,用于如果本地维护的映射表中有所述字符串,则获取该字符串对应的序列化ID;
生成模块,用于如果本地维护的映射表中没有所述字符串,则针对所述字符串生成序列化ID,并将所述字符串以及相应序列化ID加入映射表。
18.根据权利要求15或16所述的装置,其特征在于,所述属于当前管理服务器的一批字符串包括:
所述一批字符串中各字符串所对应的余数属于当前管理服务器;所述余数为所述字符串对应的哈希值除以各个管理服务器的个数得到。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610141059.1A CN107180017B (zh) | 2016-03-11 | 2016-03-11 | 一种样本序列化方法和装置 |
TW106104783A TWI761331B (zh) | 2016-03-11 | 2017-02-14 | 樣本序列化方法和裝置 |
PCT/CN2017/074624 WO2017152766A1 (zh) | 2016-03-11 | 2017-02-23 | 一种样本序列化方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610141059.1A CN107180017B (zh) | 2016-03-11 | 2016-03-11 | 一种样本序列化方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107180017A CN107180017A (zh) | 2017-09-19 |
CN107180017B true CN107180017B (zh) | 2021-05-28 |
Family
ID=59790048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610141059.1A Active CN107180017B (zh) | 2016-03-11 | 2016-03-11 | 一种样本序列化方法和装置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN107180017B (zh) |
TW (1) | TWI761331B (zh) |
WO (1) | WO2017152766A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194534B (zh) * | 2018-07-24 | 2022-03-22 | 西安电子科技大学 | 面向物联网设备群体的调度与管理方法 |
CN109067619B (zh) * | 2018-09-25 | 2020-06-09 | 海南民航凯亚有限公司 | 一种微服务治理的弹性容量调度方法及处理终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289473A (zh) * | 2011-07-27 | 2011-12-21 | 迈普通信技术股份有限公司 | 一种多服务器分页查询的装置及方法 |
CN102882900A (zh) * | 2011-07-11 | 2013-01-16 | 阿里巴巴集团控股有限公司 | 大规模服务器集群应用部署方法和大规模服务器集群 |
CN104090897A (zh) * | 2013-12-19 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 访问元数据的方法、服务器及系统 |
CN104239572A (zh) * | 2014-09-30 | 2014-12-24 | 普元信息技术股份有限公司 | 基于分布式缓存实现元数据分析的系统及方法 |
CN105320771A (zh) * | 2015-10-31 | 2016-02-10 | 南京南瑞继保电气有限公司 | 基于哈希环的时间序列数据库服务集群的实现方法与系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101083563B1 (ko) * | 2009-04-24 | 2011-11-14 | 엔에이치엔비즈니스플랫폼 주식회사 | 데이터베이스 관리 방법 및 시스템 |
AR077017A1 (es) * | 2009-09-07 | 2011-07-27 | Greenflower Intercode Holding B V | Muestra fisica de un producto que cuenta con al menos un codigo de muestra del producto. |
CN102141995B (zh) * | 2010-01-29 | 2013-06-12 | 国际商业机器公司 | 简化并行计算系统中的传输的系统与方法 |
US8612464B2 (en) * | 2010-09-02 | 2013-12-17 | Red Hat, Inc. | Portable hash-based key location mechanism |
US9191298B1 (en) * | 2011-08-01 | 2015-11-17 | Google Inc. | Distributed forensic investigation |
WO2013051131A1 (ja) * | 2011-10-06 | 2013-04-11 | 富士通株式会社 | データ処理方法、分散処理システムおよびプログラム |
CN103593172B (zh) * | 2012-10-29 | 2017-02-08 | 百度在线网络技术(北京)有限公司 | 面向统一结构化数据的应用程序的开发系统、方法及装置 |
CN104102475B (zh) * | 2013-04-11 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 分布式并行任务处理的方法、装置及系统 |
CN104077335B (zh) * | 2013-05-07 | 2017-05-03 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和系统 |
CN103326730B (zh) * | 2013-06-06 | 2016-05-18 | 清华大学 | 数据并行压缩方法 |
CN104424220B (zh) * | 2013-08-23 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN104850555B (zh) * | 2014-02-14 | 2018-07-10 | 阿里巴巴集团控股有限公司 | 一种提取标准描述信息的方法及装置 |
CN104007948B (zh) * | 2014-05-23 | 2017-06-13 | 广东威创视讯科技股份有限公司 | 基于三维gis海量数据分布式计算可视化显示的方法及装置 |
CN104794194B (zh) * | 2015-04-17 | 2018-10-26 | 同济大学 | 一种面向大规模多媒体检索的分布式异构并行计算系统 |
-
2016
- 2016-03-11 CN CN201610141059.1A patent/CN107180017B/zh active Active
-
2017
- 2017-02-14 TW TW106104783A patent/TWI761331B/zh active
- 2017-02-23 WO PCT/CN2017/074624 patent/WO2017152766A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882900A (zh) * | 2011-07-11 | 2013-01-16 | 阿里巴巴集团控股有限公司 | 大规模服务器集群应用部署方法和大规模服务器集群 |
CN102289473A (zh) * | 2011-07-27 | 2011-12-21 | 迈普通信技术股份有限公司 | 一种多服务器分页查询的装置及方法 |
CN104090897A (zh) * | 2013-12-19 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 访问元数据的方法、服务器及系统 |
CN104239572A (zh) * | 2014-09-30 | 2014-12-24 | 普元信息技术股份有限公司 | 基于分布式缓存实现元数据分析的系统及方法 |
CN105320771A (zh) * | 2015-10-31 | 2016-02-10 | 南京南瑞继保电气有限公司 | 基于哈希环的时间序列数据库服务集群的实现方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
TWI761331B (zh) | 2022-04-21 |
CN107180017A (zh) | 2017-09-19 |
WO2017152766A1 (zh) | 2017-09-14 |
TW201734838A (zh) | 2017-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110168529B (zh) | 数据存储方法、装置和存储介质 | |
US8880463B2 (en) | Standardized framework for reporting archived legacy system data | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
KR20130113653A (ko) | 대용량 데이터의 클러스터 결과 분석 시스템 및 방법 | |
CN113610239A (zh) | 针对机器学习的特征处理方法及特征处理系统 | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
US20160335291A1 (en) | System and method for providing a modern-era retrospective analysis for research and applications (merra) data analytic service | |
CN104993962A (zh) | 获取终端使用状态的方法和系统 | |
CN107180017B (zh) | 一种样本序列化方法和装置 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN114356851A (zh) | 数据文件的存储方法、装置、电子设备及存储介质 | |
CN116992887A (zh) | 一种元数据的数据目录处理方法、装置以及处理设备 | |
CN111026709A (zh) | 基于集群访问的数据处理方法及装置 | |
CN114328632A (zh) | 基于位图的用户数据分析方法、装置及计算机设备 | |
Wu et al. | A new data-grouping-aware dynamic data placement method that take into account jobs execute frequency for Hadoop | |
CN104408084A (zh) | 一种大数据筛选方法及装置 | |
CN111831713A (zh) | 一种数据处理方法、装置及设备 | |
CN111125087B (zh) | 数据的存储方法及装置 | |
CN111858617A (zh) | 用户查找方法和装置、计算机可读存储介质、电子设备 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN107070987B (zh) | 用于分布式对象存储系统的数据获取方法及系统 | |
KR20160100218A (ko) | 오디오 지문인식 데이터베이스를 구축하고 오디오 지문인식을 검색하기 위한 방법 및 장치 | |
CN116049153A (zh) | 时序数据处理方法、装置、电子设备及存储介质 | |
US11719857B1 (en) | System and method for providing a reanalysis ensemble service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211109 Address after: Room 507, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province Patentee after: ZHEJIANG TMALL TECHNOLOGY Co.,Ltd. Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. |
|
TR01 | Transfer of patent right |