CN110298031B - 一种词典服务系统及模型版本一致性配送方法 - Google Patents
一种词典服务系统及模型版本一致性配送方法 Download PDFInfo
- Publication number
- CN110298031B CN110298031B CN201910449675.7A CN201910449675A CN110298031B CN 110298031 B CN110298031 B CN 110298031B CN 201910449675 A CN201910449675 A CN 201910449675A CN 110298031 B CN110298031 B CN 110298031B
- Authority
- CN
- China
- Prior art keywords
- model
- node
- data
- service
- management
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理领域,具体地涉及一种词典服务系统,包括节点装置、模型管理装置、节点管理装置和路由服务装置;所述节点装置,用于向下游业务提供机器学习模型词典服务;所述模型管理装置,用于保证各节点装置之间的模型版本一致性;所述节点管理装置,用于对所述节点装置进行管理;所述路由服务装置,用于向下游业务提供访问路由信息。同时还提供了一种模型版本一致性配送方法。本发明实施例适用于机器学习场景中的数据一致性保障,能够实现TB级别的机器学习模型数据的一致性,并动态扩展在线数据规模。
Description
技术领域
本发明涉及数据处理领域,具体地涉及一种词典服务系统,以及一种模型版本一致性配送方法。
背景技术
随着大规模复杂数据场景下的机器学习或深度学习算法被不断提出,机器学习模型的规模也在不断增加。目前单个机器学习模型的规模已经到达TB级别,特征向量数超百亿条。在上述数据规模下,下游服务(比如预测服务)使用传统方法,即下载机器学习模型至本地并加载内存的方法显然不具备可行性。因此下游服务需要使用在线分布式模型词典服务。
分布式机器学习模型词典服务本质上是一种KV类型的存储服务,但与通用的KV存储服务(诸如MongoDB,Redis等)不同,词典服务是一种批量更新(机器学习每轮迭代产生一批增量更新数据,定时产出全量更新数据),反复读取的服务。另外词典服务还需要在模型更新时保证本模型不同数据分片及多个组合模型间的数据版本一致性(这里的数据版本一致性指在模型迭代更新期间,下游获得的数据属于同一个模型版本)。通用KV类型存储服务只提供Key级别的版本(比如HBase),或不支持数据版本或Key版本,因此通用KV存储服务无法直接用于机器学习场景。
目前常用的三种方法有:
方案(1)加载全量模型:训练过程将模型产出至分布式文件系统(比如HDFS)或块存储服务中(比如S3),由每个下游服务自行拉取模型,并将模型加载至内存,或使用RocksDB等单机数据库实现分级加载。其存在的缺点是:下游服务需要自行处理模型配送、维护模型版本一致性。每个下游服务实例必须独立加载数据,数据无法复用,模型变更期间对模型数据源的并发下载量很高;
方案(2)分片加载模型:当模型数据规模过大时,需要进行数据分片加载。通过本地配置或配置中(比如zookeeper,etcd等)确认本服务所属的数据分片,每个服务加载自己分片的数据,可选择的加载方式同加载全量模型方式。其存在的缺点是:当模型大小变化引发分片变化时,下游服务也需要重新调整实例数量,导致服务和数据大小紧耦合。此外下游服务还需要维护模型各数据分片间的版本一致性问题。
方案(3)使用分布式KV存储服务:配送系统将模型产出数据写入分布式KV存储服务,下游服务从存储服务中读取数据。其存在的缺点是:目前通用KV存储服务均不支持模型粒度的版本一致性控制,因此在模型迭代过程中会出现版本不一致问题,导致下游服务在此期间服务质量受损。
发明内容
本发明的目的是提出一种基于词典服务系统,提供了一种能够在线规模可水平扩展的服务系统,以至少解决现有机器学习中模型管理中海量数据和复杂版本的一致性问题。
为了实现上述目的,本发明第一方面提供一种词典服务系统,包括节点装置、模型管理装置、节点管理装置和路由服务装置;
所述节点装置,用于向下游业务提供机器学习模型词典服务;
所述模型管理装置,用于管理向所述节点装置下发的模型配送任务,保证各节点装置之间的模型版本一致性;
所述节点管理装置,用于对所述节点装置进行管理,所述管理包括增加、迁移和删除节点装置;
所述路由服务装置,用于向下游业务提供访问路由信息,所述访问路由信息包括其所要访问模型数据所在节点装置的路由。
可选的,所述节点装置包括:词典服务模块、数据管理模块、状态管理模块和配送管理模块;
所述词典服务模块,用于向下游业务提供对模型数据的访问接口;
所述数据管理模块,用于负责本机上模型的索引管理及数据管理;
所述状态管理模块,用于向所述节点管理装置上报本节点装置的当前状态,并响应所述节点管理装置下发的节点迁移或调度请求;
所述配送管理模块,用于响应所述模型管理装置的模型配送请求,并管理本机的模型配送操作及加载操作。
可选的,所述节点装置内数据结构中的索引和数据采用分离设置的方式,所述索引记录了数据块的访问地址及偏移。
可选的,所述数据块为全内存结构或为模型文件在内存中的映射。
可选的,所述数据结构对应的更新步骤包括:模型数据更新时,对内存中索引采用双缓冲加载方式:
先复制当前活动索引至新索引,再全量更新所述新索引,当新索引更新完成后,再替换所述当前活动索引,同时回收旧版数据所在的存储空间。
在本发明的第二方面,还提供一种机器学习模型版本的配送管理方法,应用于前述的模型管理装置,其特征在于,包括:
步骤S1)当检测到模型发生更新时,向相关节点下发配送任务,以通知所述相关节点下载模型更新数据;所述相关节点为存储有所述模型的分片的节点;
步骤S2)在所述相关节点开始下载后,定时检查每个相关节点的下载完成进度,在所述下载完成进度均未超时的情况下,转至步骤S3);
步骤S3)数据配送完成。
可选的,步骤S2)中,当存在进度超时节点时,则判断移除所述进度超时节点是否不影响服务可用性;
如果不影响服务可用性,则对所述进度超时节点进行移除;
若移除成功,则转步骤S3);若移除失败,则流程结束,同时发送报警;
如果影响服务可用性,则流程结束,同时发送报警。
可选的,所述判断移除所述进度超时节点是否不影响服务可用性,包括:
当每一模型数据分片所对应的可用节点装置的数量大于设定阈值时,判断移除所述进度超时节点不影响服务可用性。
可选的,所述方法还包括版本生效步骤:检查更新后模型的关联模型版本是否一致,如果不存在关联模型或各关联模型版本符合一致性规则,则生效最新版本,否则发送报警。
可选的,所述生效最新版本,包括:
更新访问路由以生效最新版本,即将下游业务的访问路由的目标地址指向最新版本所在的节点。
在本发明的第三方面还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前述的配送管理方法。
通过上述技术方案,本发明提供了一种词典服务系统以及一种模型版本一致性配送方法,具有以下优点:
1)有效的解决了机器学习模型大小受下游服务单机资源限制的问题和数据分片带来的模型更新时的数据版本一致性问题;
2)数据无法被下游服务复用的问题;
3)通过将数据服务与业务解耦,提供了在线伸缩能力,即系统可以在线扩大数据规模,下游服务无需重新上线。
附图说明
图1是本发明一种实施方式提供的词典服务系统的系统示意图;
图2是本发明一种实施方式提供的节点装置的结构示意图;
图3是本发明一种实施方式提供的节点装置的数据模型示意图;
图4是本发明一种实施方式提供的节点装置的数据更新方法的示意图;
图5是本发明一种实施方式提供的配送管理方法的流程示意图;
图6是本发明一种实施方式提供的配送管理方法中版本生效步骤的流程示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是本发明一种实施方式提供的词典服务系统的系统示意图。如图1所示,所述系统包括:
包括节点装置、模型管理装置、节点管理装置和路由服务装置;
所述节点装置,用于向下游业务提供机器学习模型词典服务;
所述模型管理装置,用于管理向所述节点装置下发模型配送任务,保证各节点装置之间的模型版本一致性;
所述节点管理装置,用于对所述节点装置进行管理,所述管理包括增加、迁移和删除节点装置;
所述路由服务装置,用于向下游业务提供访问路由信息,所述访问路由信息包括其所要访问模型数据所在节点装置的路由。
如此,通过该系统可以实现1)模型规模可以水平扩展。2)保持模型更新期间的版本一致性。3)模型可被多个下游复用。
具体的,本发明的实施例提供了一种系统,所述系统中的包括至少一个节点装置,该节点装置是词典服务的提供者,当该节点装置作为单个服务提供者使用时,即背景技术中方案(1)中的方案,其不仅受到实例资源的限制,还无法满足下游服务中的版本一致性的要求。因此我们在此采用了词典服务集群或者服务器组,在此情况下为了对所述节点装置进行管理,我们加入了节点管理装置。节点管理装置负责管理整个系统的节点装置,当单个节点装置发生故障时,该服务会发起迁移故障节点,以及加入健康节点。当系统内存在多个装置和数据分片时,当下游业务进行访问时需要为其指定访问路由,该访问目标和路由的映射,是由路由服务装置提供的。此处的路由服务装置记录了每个模型的版本(已生效的版本)和模型所在节点装置的信息,下游服务(预测服务)访问时通过路由服务获得所要访问数据的路由信息。采用分布式模型版本管理系统的重要一点是需要保持多个节点装置中数据模型的一致性,该功能是由模型管理装置来实现的。模型管理服务,主要用于维护模型版本一致性的主要控制装置,负责向节点装置下发模型配送请求,并从节点装置收集模型加载结果,干预长尾配送实例,保证各节点装置间的模型版本一致性。
以上所述的装置,其硬件大多为服务器,根据实际工作场景的需要,上述装置的形式为服务器组,比如:路由装置为一组提供路由的服务器集合。
所述节点装置的数量为多个。如前所述,单个服务器有方案(1)中的缺陷,因此本发明的可选实施方式能够根据对数据可靠性要求和业务访问流量,对节点装置进行水平扩容,增加节点数,从而增加可靠性和提升系统处理能力。
图2是本发明一种实施方式提供的节点装置的结构示意图,如图2所示:在本发明提供的一个可选实施方式中,所述节点装置包括:词典服务模块、数据管理模块、状态管理模块和配送管理模块;
所述词典服务模块,用于向下游业务提供对模型数据的访问接口;此处的访问接口是本节点装置的主要服务提供接口,其符合IRDS(InformationResource DirectorySystem)的一系列标准;
所述数据管理模块,用于负责本机上模型的索引管理及数据管理,包括了模型数据、分片数据和版本数据;
进一步的,所述节点装置为了和系统中的其他装置配合,还需包括以下模块:
所述状态管理模块,其主要与节点管理装置互交,用于向所述节点管理装置上报本节点装置的当前状态,并响应所述节点管理装置下发的节点迁移或调度请求;此处的当前状态至少包括心跳信息(判断是否在线)、链路状态信息(判断通信链路是否正常)、设备负荷(即CPU、内存等的使用信息,判断节点装置的运行状态是否正常)。
所述配送管理模块,其主要与模型管理装置交互,用于响应所述模型管理装置的模型配送请求,并管理本机的模型配送操作及加载操作。其互交操作的具体步骤在后文详述。
以上功能模块的设置,包括了节点装置的自身的服务功能模块,也包括了节点装置与系统内其他装置的互交功能模块。不仅使节点装置能够独立地完成词典服务功能,还能扩容成为分布式系统,提升服务容量和处理能力。
在本发明的一种可选实施方式中,所述节点装置内数据结构中的索引和数据采用分离设置的方式,即所述索引仅记录数据块的访问地址及偏移。所述数据块为全内存结构或为模型文件在内存中的映射。图3是本发明一种实施方式提供的节点装置的数据模型示意图,具体结构如图3所示:图的上半部分为INDEX(索引),下半部分为DATA(数据)。其中,数据是以block(数据块)的形式进行存储的。索引中记录了ver(版本号)、block id(数据块编号)及offset(偏移);此处的索引和数据分离的方式,不仅能够使数据能够连续存储,还能避免模型版本变更时的读写开销。
进一步的,为了提升检索的效率,利用内存的快速读写速度,所述索引为全内存结构。同时为了提升模型数据的读写效率和查询时间。相同版本的模型数据记录在连续的数据块中,此处的数据块支持多种存储介质。
进一步的,图4是本发明一种实施方式提供的节点装置的数据更新方法示意图,如图4所示:针对上述的分离式的数据结构,所述数据结构对应的更新方法包括:模型数据更新时,对内存中索引采用双缓冲加载方式:先复制当前活动索引(Active Index)至新索引(New Index),再全量更新所述新索引,当新索引更新完成后,再替换所述当前活动索引,同时回收旧版数据(block 1)所在的存储空间。
以上的分离式的数据结构和变更方式,在全量更新所述新索引时,无需对其锁定,能够正常读写,不会对现有数据造成影响。在数据更新后,也仅进行索引的激活变更。以上操作避免了模型版本变更时的读写锁定开销,提高版本变更效率。
在本发明的一种可选实施方式中,还提供一种机器学习模型版本的配送管理方法,图5是本发明一种实施方式提供的配送管理方法流程示意图,如图5所示,所述方法包括:
步骤S1)当检测到模型发生更新时,向相关节点下发配送任务,以通知所述相关节点下载模型更新数据;所述相关节点为存储有所述模型的分片的节点;
步骤S2)在所述相关节点开始下载后,定时检查下载完成进度,当进度均未超时,转至步骤S3);
步骤S3)数据配送完成。
本实施方式是在某个系统中对模型数据进行配送的具体方法。该方法大体包括两个阶段:下发配送任务,以及对没有按时完成下载的相关节点进行干预。此处的干预是指:系统中有多个节点装置加载同一个模型数据分片,满足多数节点装置可用时,我们认为不会影响服务可用性。在此情况下通知节点管理服务移除长尾节点装置。此处对长尾节点的装置的移除,在保证了模型数据分片可用性的基础上,更加快速地完成新数据的配送。同时还能保证不因为某个节点装置的失效而影响整个系统的正常配送流程,增加了系统的鲁棒性。
进一步的,为了提升下载效率和充分利用网络带宽,所述配送任务中包括根据模型更新数据所生成的种子文件;对应的,所述相关节点下载模型更新数据的下载方式为P2P下载。所有收到配送任务的相关节点(如果应用于前述的系统,那么此处的节点即为前述的节点装置,对应的,相关节点为存储有所述模型的分片的节点装置)组成一个P2P网络开始下载更新数据,P2P是一个去中心的网络结构,能够最大限度地利用网络中的带宽,更加快速地完成模型更新数据的下载。
在本发明提供的种可选实施方式中,所述定时检查下载完成进度,包括:检查在设定时间内是否接收到所述相关节点的下载完成消息。定时检查下载完成进度,可以采用主动查询和被动接收的方式进行对节点装置下载进度的状态查询,此处采用被动接收的方式,主要是从网络数据量和管理装置的负荷来考虑的。此处采用接收下载完成消息的方式,不需维护整个系统中节点装置的下载进度表,也能快速判断相关的节点装置是否下载完成。
进一步的,对所述进度超时节点进行干预,包括:当每一模型数据分片所对应的可用节点装置的数量大于设定阈值时,移除所述进度超时节点。
此处提供了一个长尾干预的方法。在此类分布式分片数据存储中,系统中有多个节点装置加载有同一个模型数据分片,当满足多数节点装置可用时,即该模型数据分片是可用的,因此我们认为不会影响服务可用性。在此情况下移除长尾节点装置。此处对长尾节点的装置的移除,在保证了模型数据分片可用性的基础上,显著减少了新数据配送的时间。同时还能保证不因为某个节点装置的失效而影响整个系统的正常配送流程,增加了系统的鲁棒性。如果本方法应用于前述的系统,那么移除长尾节点装置的操作是通过节点管理装置来进行移除的。
在以上的所述干预操作中,存在着干预操作失败的可能。此处提供了一个对干预失败进行判断的步骤。所述干预失败,包括无法满足干预条件和移除步骤操作的失败,具体包括:在设定时限内,存在某一模型数据分片,其所对应的可用节点装置的数量小于设定阈值;或者移除所述进度超时节点失败。
图6是本发明一种实施方式提供的配送管理方法中版本生效步骤的流程示意图,如图6所示:在本发明的一种可选实施方式中,所述方法还包括版本生效步骤:检查更新后模型的关联模型版本是否一致,如果不存在关联模型或各关联模型版本符合一致性规则,则生效最新版本,否则发送报警。经过上述的数据配送流程,我们保证了同一模型的不同数据分片在不同节点装置间的数据一致性问题。但是为了保证数据配送后的版本一致性,需要在版本生效之前进行其关联版本(有可能不存在与其关联的模型)是否一致。
进一步的,所述生效最新版本的方法,包括:更新访问路由,将所述访问路由的目的地指向新的版本所在的服务节点。当新的版本通过了一致性检查之后,此时的下游业务提出对某个模型进行访问时,该下游业务所得到的访问节点的路由为加载有新版本模型的节点的路由。如果本方法应用于前述的系统,那么更新访问路由的操作是通过路由管理装置来进行实现的。
在本发明的一种实施方式还提供的一种装置,包括存储器和处理器,
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现如前述的配送管理方法对系统中的模型更新进行配送管理。所此处的装置具有数值计算和逻辑运算的功能,其至少具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统等。所述装置可以例如为PC或者智能设备,更常用的情况下,该装置为服务器。
进一步的,所述即本发明实施方式所提供方法可以依赖于本发明前述的系统,也可以不依赖与前述的系统进行实施。当依赖于前述的词典服务系统进行实施时,本方法执行时的硬件为前述的模型管理装置,即该模型管理装置被配置为执行前述的配送管理方法。
本发明的实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如前述的配送管理方法。
如此,本发明的实施方式能够使下游可以使用TB乃至几十TB级别的大规模机器学习模型,为机器学习的大规模部署时的数据一致性打下坚实基础。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种词典服务系统,其特征在于,包括节点装置、模型管理装置、节点管理装置和路由服务装置;
所述节点装置,用于向下游业务提供机器学习模型词典服务;
所述模型管理装置,用于管理向所述节点装置下发的模型配送任务,保证各节点装置之间的模型版本一致性;
所述节点管理装置,用于对所述节点装置进行管理,所述管理包括增加、迁移和删除节点装置;
所述路由服务装置,用于向下游业务提供访问路由信息,所述访问路由信息包括其所要访问模型数据所在节点装置的路由;
其中,所述节点装置包括:词典服务模块、数据管理模块、状态管理模块和配送管理模块,所述状态管理模块,用于向所述节点管理装置上报本节点装置的当前状态,并响应所述节点管理装置下发的节点迁移或调度请求。
2.根据权利要求1所述的系统,其特征在于,所述词典服务模块,用于向下游业务提供对模型数据的访问接口;
所述数据管理模块,用于负责本机上模型的索引管理及数据管理;
所述配送管理模块,用于响应所述模型管理装置的模型配送请求,并管理本机的模型配送操作及加载操作。
3.根据权利要求2所述的系统,其特征在于,所述节点装置内数据结构中的索引和数据采用分离设置的方式,所述索引记录了数据块的访问地址及偏移。
4.根据权利要求3所述的系统,其特征在于,所述数据块为全内存结构或为模型文件在内存中的映射。
5.根据权利要求4所述的系统,其特征在于,所述数据结构对应的更新步骤包括:模型数据更新时,对内存中索引采用双缓冲加载方式:
先复制当前活动索引至新索引,再全量更新所述新索引,当新索引更新完成后,再替换所述当前活动索引,同时回收旧版数据所在的存储空间。
6.一种机器学习模型版本的配送管理方法,应用于权利要求1-5中任一项所述系统的模型管理装置,其特征在于,包括:
步骤S1)当检测到模型发生更新时,向相关节点下发配送任务,以通知所述相关节点下载模型更新数据;所述相关节点为存储有所述模型的分片的节点;
步骤S2)在所述相关节点开始下载后,定时检查每个相关节点的下载完成进度,在所述下载完成进度均未超时的情况下,转至步骤S3);
步骤S3)数据配送完成。
7.根据权利要求6所述的方法,其特征在于,步骤S2)中,当存在进度超时节点时,则判断移除所述进度超时节点是否不影响服务可用性:
如果不影响服务可用性,则对所述进度超时节点进行移除;若移除成功,则转至步骤S3);若移除失败,则流程结束,同时发送报警;
如果影响服务可用性,则流程结束,同时发送报警。
8.根据权利要求7所述的方法,其特征在于,所述判断移除所述进度超时节点是否不影响服务可用性,包括:
当每一模型数据分片所对应的可用节点装置的数量大于设定阈值时,判断移除所述进度超时节点不影响服务可用性。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括版本生效步骤:检查更新后模型的关联模型版本是否一致,如果不存在关联模型或各关联模型版本符合一致性规则,则生效最新版本,否则发送报警。
10.根据权利要求9所述的方法,其特征在于,所述生效最新版本,包括:
更新访问路由以生效最新版本,即将下游业务的访问路由的目标地址指向最新版本所在的节点。
11.一种存储介质,其特征在于,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求6-10中任一项所述的配送管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910449675.7A CN110298031B (zh) | 2019-05-28 | 2019-05-28 | 一种词典服务系统及模型版本一致性配送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910449675.7A CN110298031B (zh) | 2019-05-28 | 2019-05-28 | 一种词典服务系统及模型版本一致性配送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110298031A CN110298031A (zh) | 2019-10-01 |
CN110298031B true CN110298031B (zh) | 2023-07-18 |
Family
ID=68027225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910449675.7A Active CN110298031B (zh) | 2019-05-28 | 2019-05-28 | 一种词典服务系统及模型版本一致性配送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110298031B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125257B (zh) * | 2019-12-25 | 2023-09-05 | 新方正控股发展有限责任公司 | 词典更新方法、装置、设备和存储介质 |
US11822447B2 (en) | 2020-10-06 | 2023-11-21 | Direct Cursus Technology L.L.C | Methods and servers for storing data associated with users and digital items of a recommendation system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166455A (zh) * | 2013-05-16 | 2014-11-26 | 百度在线网络技术(北京)有限公司 | 用于确定目标用户所对应的输入模型的方法与设备 |
CN104657158A (zh) * | 2013-11-20 | 2015-05-27 | 北京先进数通信息技术股份公司 | 一种业务系统中业务处理的方法和装置 |
CN105323282A (zh) * | 2014-07-28 | 2016-02-10 | 神州数码信息系统有限公司 | 一种面向多租户的企业应用部署与管理系统 |
CN107888657A (zh) * | 2017-10-11 | 2018-04-06 | 上海交通大学 | 低延迟分布式存储系统 |
CN108985869A (zh) * | 2017-06-02 | 2018-12-11 | 菜鸟智能物流控股有限公司 | 资源处理方法、装置、服务器及终端设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686144A (zh) * | 2008-09-22 | 2010-03-31 | 华为技术有限公司 | 一种处理数据的方法、系统和节点设备 |
US8756562B2 (en) * | 2008-12-11 | 2014-06-17 | The Mathworks, Inc. | Subgraph execution control in a graphical modeling environment |
JP5676297B2 (ja) * | 2011-02-17 | 2015-02-25 | 日本電気株式会社 | ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム |
CN108924187B (zh) * | 2018-06-07 | 2020-05-08 | 北京百度网讯科技有限公司 | 基于机器学习的任务处理方法、装置和终端设备 |
CN109102249B (zh) * | 2018-08-08 | 2022-02-22 | 成都潘朵拉科技有限公司 | 一种环保督查工作管理平台 |
CN109343857B (zh) * | 2018-08-22 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 线上部署机器学习模型的方法、设备和存储介质 |
CN109361532B (zh) * | 2018-09-11 | 2021-08-24 | 上海天旦网络科技发展有限公司 | 网络数据分析的高可用系统和方法及计算机可读存储介质 |
CN109408175B (zh) * | 2018-09-28 | 2021-07-27 | 北京赛博贝斯数据科技有限责任公司 | 通用高性能深度学习计算引擎中的实时交互方法及系统 |
-
2019
- 2019-05-28 CN CN201910449675.7A patent/CN110298031B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166455A (zh) * | 2013-05-16 | 2014-11-26 | 百度在线网络技术(北京)有限公司 | 用于确定目标用户所对应的输入模型的方法与设备 |
CN104657158A (zh) * | 2013-11-20 | 2015-05-27 | 北京先进数通信息技术股份公司 | 一种业务系统中业务处理的方法和装置 |
CN105323282A (zh) * | 2014-07-28 | 2016-02-10 | 神州数码信息系统有限公司 | 一种面向多租户的企业应用部署与管理系统 |
CN108985869A (zh) * | 2017-06-02 | 2018-12-11 | 菜鸟智能物流控股有限公司 | 资源处理方法、装置、服务器及终端设备 |
CN107888657A (zh) * | 2017-10-11 | 2018-04-06 | 上海交通大学 | 低延迟分布式存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110298031A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683826B (zh) | 用于分布式存储系统的扩容方法和装置 | |
CN109597567B (zh) | 一种数据处理方法和装置 | |
US9858322B2 (en) | Data stream ingestion and persistence techniques | |
CN106326239B (zh) | 分布式文件系统及其文件元信息管理方法 | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
CN107870802B (zh) | 一种虚拟机迁移方法和装置 | |
CN112596762A (zh) | 一种滚动升级方法及装置 | |
CN110298031B (zh) | 一种词典服务系统及模型版本一致性配送方法 | |
CN115587118A (zh) | 任务数据的维表关联处理方法及装置、电子设备 | |
JP2013008291A (ja) | 分散データストアシステムおよび障害復旧方法 | |
CN113885797B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN112579550B (zh) | 一种分布式文件系统的元数据信息同步方法及系统 | |
CN111459913B (zh) | 分布式数据库的容量扩展方法、装置及电子设备 | |
US11803448B1 (en) | Faster restart of task nodes using periodic checkpointing of data sources | |
KR20160145250A (ko) | 가상 머지를 지원하는 셔플 내장형 분산 스토리지 시스템 및 그 방법 | |
CN109151016B (zh) | 流量转发方法和装置、服务系统、计算设备及存储介质 | |
CN117376364A (zh) | 一种数据处理方法及相关设备 | |
CN115080309A (zh) | 数据备份系统、方法、存储介质以及电子设备 | |
CN106888244B (zh) | 一种业务处理方法及装置 | |
CN113630317A (zh) | 一种数据传输方法、装置、非易失性存储介质及电子装置 | |
CN114930281A (zh) | 动态自适应分区分割 | |
CN108694102A (zh) | 一种基于Nexus服务的数据操作方法、设备、系统和介质 | |
CN116088913B (zh) | 整车升级软件的集成设备、方法和计算机程序产品 | |
CN115604290B (zh) | Kafka消息执行方法、装置、设备及存储介质 | |
CN114268540B (zh) | 规则引擎的优化方法、装置及设备 |
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 |