掌桥专利:专业的专利平台
掌桥专利
首页

业务系统热更新方法及其装置、设备、介质

文献发布时间:2023-06-19 18:37:28


业务系统热更新方法及其装置、设备、介质

技术领域

本申请涉及电商技术领域,尤其涉及一种业务系统热更新方法及其相应的装置、计算机设备、计算机可读存储介质。

背景技术

微服务架构中运行着各种在线服务,各种在线服务常需进行系统更新以迭代提升相应的服务能力。部分在线服务常需要使用到相关机器学习模型,而这些模型通常是频繁迭代训练实现更新的,因而,基于这些模型的在线服务会更加频繁。

在进行在线服务的系统更新时,为了保证在线服务的稳定性,通常需要在线上训练好相应的模型,然后再部署更新。但在更新切换时,需要考虑新旧版本切换的平滑性,以便确保在线服务的稳定运行。

一般来说,如果在系统更新时先停止运行需要更新的业务系统,待其版本升级完成后,再启动上线版本升级后的业务系统,这样无法取得新旧版本平滑过渡的效果,示例而言,在电商业务场景中,即便是在访问量最少的时间段停止运行业务系统,代价也很大,会造成巨大经济损失。

因此,如何在系统不间断运行的状态完成系统的升级是业界亟待解决的一个技术难题。

发明内容

本申请的首要目的在于解决上述问题至少之一而提供一种业务系统热更新方法及其相应的装置、计算机设备、计算机可读存储介质。

为满足本申请的各个目的,本申请采用如下技术方案:

适应本申请的目的之一而提供的一种业务系统热更新方法,包括如下步骤:

响应在服务的向量匹配系统的版本更新请求,部署最新版本的向量匹配系统,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,设置部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;

当所述当前版本号为在服务的向量匹配系统的旧版本号且所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成业务数据库中的各个已有业务数据相对应的向量;

响应所述业务数据库中的业务数据变动事件,在所述当前版本号或所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量;

响应最新版本的向量匹配系统的上线指令,将所述当前版本号修改为所述最新版本号,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务。

进一步的实施例中,响应在服务的向量匹配系统的版本更新请求,部署最新版本的向量匹配系统,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,设置部署版本号为所述向量匹配系统的最新版本相对应的最新版本号,包括如下步骤:

响应在服务的向量匹配系统的版本更新请求,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,初始化部署版本号为初始值;

部署最新版本的向量匹配系统;

启动读取业务数据库中全量的已有业务数据写入最新版本的向量匹配系统的消息队列中,并且修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号,所述消息队列用于出列所述全量的业务数据以提供给第一服务生成相应的向量。

进一步的实施例中,启动读取业务数据库中全量的业务数据写入最新版本的向量匹配系统的消息队列中,并且修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号,包括如下步骤:

启动读取业务数据库中全量的已有业务数据,在所述全量的已有业务数据首尾分别增添相应的起始标识及结束标识,将所述起始标识数据、全量的业务数据及结束标识数据依序写入最新版本的向量匹配系统的消息队列中;

启动消费所述消息队列中的数据,当消费到起始标识时,修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;

继续消费后续的各个已有业务数据,将各个已有业务数据相对应转换成提供给第一服务的向量生成模型的输入数据,直至消费到所述结束标识。

进一步的实施例中,响应所述业务数据库中的业务数据变动事件,在所述当前版本号或所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量,包括如下步骤:

响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号为最新版本号时,触发将业务数据库中的增量业务数据写入最新版本的向量匹配系统的消息队列中;

当将所述增量业务数据写入到所述消息队列时,若存在所述结束标识,将其删除,在写入全部所述增量业务数据后,追加所述结束标识;

启动消费所述消息队列中的数据,将所述增量业务数据转换成提供给第一服务的向量生成模型的输入数据,以获得相对应的向量。

进一步的实施例中,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成业务数据库中的各个已有业务数据相对应的向量,或者,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量,包括如下步骤:

启动第一服务采用最新版本的向量匹配系统中的向量生成模型,提取业务数据库中的各个业务数据相对应的文本语义特征和/或图像语义特征,生成相对应的向量;

将所述向量与相应的业务数据相关联存储至最新版本的向量匹配系统中的向量数据库中,用于在执行所述服务时,根据服务的业务请求中的请求数据对应的向量,从所述向量数据库中确定出相匹配的目标向量,以其对应的业务数据应答所述业务请求。

进一步的实施例中,响应最新版本的向量匹配系统的上线指令,将所述当前版本号修改为所述最新版本号,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务,包括如下步骤:

将所述当前版本号修改为所述最新版本号,暂停所述旧版本号的向量匹配系统执行服务,以所述最新版本的向量匹配系统暂代执行所述服务;

响应最新版本的向量匹配系统的上线指令,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务;

响应旧版本的向量匹配系统的回滚指令,将所述当前版本号修改为旧版本号,将所述部署版本号还原为初始值,恢复所述旧版本号的向量匹配系统执行服务,终止所述最新版本的向量匹配系统执行所述服务。

进一步的实施例中,响应最新版本的向量匹配系统的上线指令,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务之后,还包括:响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号不为旧版本号时,不启动所述第一服务。

另一方面,适应本申请的目的之一而提供的一种业务系统热更新装置,包括请求响应模块、第一向量生成模块、第二向量生成模块以及系统上线模块,其中,请求响应模块,用于响应在服务的向量匹配系统的版本更新请求,部署最新版本的向量匹配系统,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,设置部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;第一向量生成模块,用于当所述当前版本号为在服务的向量匹配系统的旧版本号且所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成业务数据库中的各个已有业务数据相对应的向量;第二向量生成模块,用于响应所述业务数据库中的业务数据变动事件,在所述当前版本号或所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量;系统上线模块,用于响应最新版本的向量匹配系统的上线指令,将所述当前版本号修改为所述最新版本号,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务。

进一步的实施例中,所述请求响应模块,包括:初始化子模块,用于响应在服务的向量匹配系统的版本更新请求,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,初始化部署版本号为初始值;系统部署子模块,用于部署最新版本的向量匹配系统;业务数据加载子模块,用于启动读取业务数据库中全量的已有业务数据写入最新版本的向量匹配系统的消息队列中,并且修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号,所述消息队列用于出列所述全量的业务数据以提供给第一服务生成相应的向量。

进一步的实施例中,所述业务数据加载子模块,包括:数据写入单元,用于启动读取业务数据库中全量的已有业务数据,在所述全量的已有业务数据首尾分别增添相应的起始标识及结束标识,将所述起始标识数据、全量的业务数据及结束标识数据依序写入最新版本的向量匹配系统的消息队列中;第一数据消费单元,用于启动消费所述消息队列中的数据,当消费到起始标识时,修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;第二数据消费单元,用于继续消费后续的各个已有业务数据,将各个已有业务数据相对应转换成提供给第一服务的向量生成模型的输入数据,直至消费到所述结束标识。

进一步的实施例中,所述第二向量生成模块,包括:事件响应子模块,用于响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号为最新版本号时,触发将业务数据库中的增量业务数据写入最新版本的向量匹配系统的消息队列中;数据写入子模块,用于当将所述增量业务数据写入到所述消息队列时,若存在所述结束标识,将其删除,在写入全部所述增量业务数据后,追加所述结束标识;数据消费子模块,用于启动消费所述消息队列中的数据,将所述增量业务数据转换成提供给第一服务的向量生成模型的输入数据,以获得相对应的向量。

进一步的实施例中,所述第一向量生成模块或者所述第二向量生成模块,包括:向量生成子模块,用于启动第一服务采用最新版本的向量匹配系统中的向量生成模型,提取业务数据库中的各个业务数据相对应的文本语义特征和/或图像语义特征,生成相对应的向量;数据存储子模块,用于将所述向量与相应的业务数据相关联存储至最新版本的向量匹配系统中的向量数据库中,用于在执行所述服务时,根据服务的业务请求中的请求数据对应的向量,从所述向量数据库中确定出相匹配的目标向量,以其对应的业务数据应答所述业务请求。

进一步的实施例中,所述系统上线模块,包括:暂代服务子模块,用于将所述当前版本号修改为所述最新版本号,暂停所述旧版本号的向量匹配系统执行服务,以所述最新版本的向量匹配系统暂代执行所述服务;系统上线子模块,用于响应最新版本的向量匹配系统的上线指令,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务;系统回滚子模块,用于响应旧版本的向量匹配系统的回滚指令,将所述当前版本号修改为旧版本号,将所述部署版本号还原为初始值,恢复所述旧版本号的向量匹配系统执行服务,终止所述最新版本的向量匹配系统执行所述服务。

进一步的实施例中,所述系统上线子模块之后,还包括:服务终止子模块,用于响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号不为旧版本号,所述旧版本号的向量匹配系统不启动其第一服务。

又一方面,适应本申请的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本申请所述的业务系统热更新方法的步骤。

又一方面,适应本申请的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的业务系统热更新方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。

本申请的技术方案存在多方面优势,包括但不限于如下各方面:

本申请一方面能够对向量匹配系统进行热更新,实现不中断向量匹配系统在线服务下进行版本平滑升级,从而提升业务系统的可扩展性,降低运营成本。另一方面,设定可修改的当前版本号及部署版本号,以根据当前版本号及部署版本号而相应执行最新版本的向量匹配系统的部署、业务数据库中的业务数据对应的向量生成,以及旧版本号的向量匹配系统与最新版本的向量匹配系统两者择一执行服务的调度,实现简便且高效,保障稳健有序对向量匹配系统进行热更新,有效减少热更新过程中的人工干预。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请的业务系统热更新方法的典型实施例的流程示意图;

图2为本申请的实施例中部署最新版本的向量匹配系统并向其批量写入业务数据的流程示意图;

图3为本申请的实施例中示范性举例的向量匹配系统的结构示意图;

图4为本申请的实施例中消息队列中的数据写入及消费的流程示意图;

图5为本申请的实施例中生成增量业务数据对应的向量的流程示意图;

图6为本申请的实施例中生成业务数据对应的向量进行存储的流程示意图;

图7为本申请的实施例中上线最新版本的向量匹配系统或回滚旧版本的向量匹配系统的流程示意图;

图8为本申请的业务系统热更新装置的原理框图;

图9为本申请所采用的一种计算机设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Persona lCommun i cat ions Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Persona l D igita l Ass i stant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(G l oba l Pos it ion i ng System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、M I D(Mob i l e I nternet Dev i ce,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。

需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。

本申请的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。

本申请中所引用或可能引用到的神经网络模型,除非明文指定,既可部署于远程服务器且在客户端实施远程调用,也可部署于设备能力胜任的客户端直接调用,某些实施例中,当其运行于客户端时,其相应的智能可通过迁移学习来获得,以便降低对客户端硬件运行资源的要求,避免过度占用客户端硬件运行资源。

本申请所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本申请的技术方案所调用即可。

本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。

本申请即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本申请的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。

本申请的一种业务系统热更新方法,可被编程为计算机程序产品,部署于客户端或服务器中运行而实现,例如,本申请的示例性应用场景中,可以在电商平台的服务器中部署实现,藉此可以通过访问该计算机程序产品运行后开放的接口,通过图形用户界面与该计算机程序产品的进程进行人机交互而执行该方法。

请参阅图1,本申请的业务系统热更新方法,在其典型实施例中,包括如下步骤:

步骤S1100、响应在服务的向量匹配系统的版本更新请求,部署最新版本的向量匹配系统,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,设置部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;

当在服务的向量匹配系统需要进行热更新时,可生成相应的版本更新请求发送至服务器,所述服务指的是以向量匹配系统对外提供向量匹配服务,具体而言,向量匹配系统对外接收业务请求,确定相应的请求数据对应的向量,将其与向量数据库中的各个业务数据对应的向量进行匹配,进而以相匹配的目标向量对应的业务数据应答所述业务请求。所述业务请求可以是相似商品匹配、商品推荐、商品检索等电商业务场景下由电商平台中的用户触发产生的业务请求。

服务器接收所述版本更新请求并对其响应,开始部署最新版本的向量匹配系统,其中主要包含预先训练至收敛的向量生成模型、向量数据库,所述向量生成模型用于生成业务请求中的请求数据对应的向量,以及生成业务数据库中的各个业务数据相对应的向量,进一步各个业务数据与其相对应的向量相关联存储至所述向量数据库中,所述业务数据包含业务数据库中已有业务数据,以及因用户实时操作而相应变动的业务数据库中的增量业务数据。

对于每个向量匹配系统在其初次部署时即可生成其对应的版本号,用于区分及表示各个向量匹配系统。

所述当前版本号表示当前在服务的向量匹配系统对应的版本号,且该当前版本号可被修改为需要执行服务的向量匹配系统对应的版本号,可以理解,根据当前版本号对应版本号,采用其所属的向量匹配系统执行服务。

所述部署版本号表示当前在部署的向量匹配系统对应的版本号,且该部署版本号可被修改为需要部署更新的向量匹配系统对应的版本号或者为空值。

可以理解,通过所述当前版本号及部署版本号,能够精准表示当前在服务向量匹配系统及当前在部署的向量匹配系统,例如[当前版本号:旧版本号,部署版本号:nu l l]表示当前在服务的向量匹配系统为旧版本号的向量匹配系统,且当前在部署的的向量匹配系统为空;[当前版本号:旧版本号,部署版本号:最新版本号]表示当前在服务的向量匹配系统为旧版本号的向量匹配系统,且当前在部署的的向量匹配系统为最新版本号的向量匹配系统;[当前版本号:最新版本号,部署版本号:nu l l]表示当前在服务的向量匹配系统为最新版本号的向量匹配系统,且当前在部署的的向量匹配系统为空。

步骤S1200、当所述当前版本号为在服务的向量匹配系统的旧版本号且所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成业务数据库中的各个已有业务数据相对应的向量;

所述业务数据为商品数据,其中包含商品图片和/或商品文本,所述商品图片包括商品的头图、商品详情的展示图等任意一种或任意多种图片,所述商品文本可以包括商品的商品标题、商品详情文本、属性数据、品类标签等任意一种或任意多种文本。

可将最新版本的向量匹配系统中的向量生成模型发布成单独的服务即所述第一服务,以在其启动时调用该向量生成模型,一种实施例中所述向量生成模型可集成两路编码器,其中一路编码器为图像编码器,另一路编码器为文本编码器,所述图像编码器可为预先训练至收敛的适用于提取图像语义特征的基于深层语义学习的网络模型,一般采用基于卷积神经网络实现的模型,所述卷积神经网络包括但不限于基于CNN、RNN等基础网络模型架构实现的应用型神经网络模型,例如Resnet、Vis ion Transformer(ViT)、EfficientNet等,另外,所述图像编码器可事先经过训练使其习得适于为所述商品图片提取深层语义信息,获得相应的向量的能力而投入使用。所述文本编码器可为NLP(Natura l LanguageProcess i ng)领域中适用于提取文本语义特征的基于深层语义学习的网络模型,具体采用开源框架Sentence Transformers,它提供了大量的预先训练至收敛的Transformer模型,譬如:Bert、RoBERTa、XLM-RoBERTa、MPNet,另外,所述文本编码器可事先经过训练使其习得适于为所述商品文本提取深层语义信息,获得相应的向量的能力而投入使用。

在生成各个已有业务数据相对应的向量之后,将各个已有业务数据与其向量相关联存储至所述最新版本的向量匹配系统中的向量数据库中。

步骤S1300、响应所述业务数据库中的业务数据变动事件,在所述当前版本号或所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量。

可以理解,电商平台中的用户在其终端设备加载的图形用户界面上可录入新增商品的商品数据,亦可修改已有商品的商品数据,进一步,在完成所述录入或者修改后,可触控界面上的“提交”控件,触发产生业务数据库中的业务数据变动事件,以携带相应的商品数据发送至服务器。所述商品数据中包含商品图片和/或商品文本,所述商品图片包括商品的头图、商品详情的展示图等任意一种或任意多种图片,所述商品文本可以包括商品的商品标题、商品详情文本、属性数据、品类标签等任意一种或任意多种文本。

服务器接收所述业务数据变动事件并对其响应,在业务数据库中添加新增商品的商品数据或修改已有商品的商品数据,可以理解,非业务数据库中已有的业务数据的所述添加或修改的商品数据即是所述增量业务数据,与此同时,在所述当前版本号或所述部署版本号为最新版本号时,即表示最新版本号的向量匹配系统需要同步业务数据库中变动的所述增量业务数据,生成其相对应的向量存储至向量数据库中,由此,同样启动第一服务采用最新版本的向量匹配系统中的向量生成模型实现所述生成。

步骤S1400、响应最新版本的向量匹配系统的上线指令,将所述当前版本号修改为所述最新版本号,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务;

可以理解,当完成已有业务数据的向量的生成,以及完成在生成已有业务数据的向量过程中所产生的增量业务数据的向量的生成后,表示所述最新版本的向量匹配系统已部署完成,可进一步确认是否上线,若确认可以将该最新版本的向量匹配系统上线,可生成所述上线指令发送至服务器,以指示服务器在接收到上线指令后,确定所述当前版本号为旧版本号触发修改为所述最新版本号,指意采用最新版本的向量匹配系统执行服务,并且,将所部署版本号还原为初始值,表示当前无正在部署的向量匹配系统。进一步,根据所述当前版本号为最新版本号,确定当前在服务的向量匹配系统的版本号为旧版本号不等于当前版本号,触发终止所述旧版本号的向量匹配系统执行服务,转而上线所述最新版本的向量匹配系统执行所述服务。

根据本申请的典型实施例可以知晓,本申请的技术方案存在多方面优势,包括但不限于如下各方面:

本申请一方面能够对向量匹配系统进行热更新,实现不中断向量匹配系统在线服务下进行版本平滑升级,从而提升业务系统的可扩展性,降低运营成本。另一方面,设定可修改的当前版本号及部署版本号,以根据当前版本号及部署版本号而相应执行最新版本的向量匹配系统的部署、业务数据库中的业务数据对应的向量生成,以及旧版本号的向量匹配系统与最新版本的向量匹配系统两者择一执行服务的调度,实现简便且高效,保障稳健有序对向量匹配系统进行热更新,有效减少热更新过程中的人工干预。

请参阅图2,进一步的实施例中,步骤S1100、响应在服务的向量匹配系统的版本更新请求,部署最新版本的向量匹配系统,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,设置部署版本号为所述向量匹配系统的最新版本相对应的最新版本号,包括如下步骤:

步骤S1110、响应在服务的向量匹配系统的版本更新请求,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,初始化部署版本号为初始值;

为了实现保持有向量匹配系统对外提供服务基础上,对在服务的向量匹配系统进行热更新,设定当前版本号用于表示当前在服务的向量匹配系统对应的版本号,且该当前版本号可被修改为需要执行服务的向量匹配系统对应的版本号,同时设定部署版本号用于表示当前在部署的向量匹配系统对应的版本号,且该部署版本号可被修改为需要部署更新的向量匹配系统对应的版本号或者为空值,从而可根据当前版本号对应版本号,采用其所属的向量匹配系统执行服务,以使能够根据当前版本号明确有序地采取相应的向量匹配系统提供向量匹配服务。

步骤S1120、部署最新版本的向量匹配系统;

一种实施例中,本申请的向量匹配系统的架构为微服务架构,不同版本的向量匹配系统对应部署系统中各个服务的执行代码块或程序即可。

请参阅图3,生成最新版本的向量匹配系统的最新版本号,基于微服务架构部署最新版本的向量匹配系统,具体而言,部署增量业务数据服务,当所述当前版本号或所述部署版本号为最新版本号时,启动读取业务数据库中的增量业务数据数写入消息队列中;部署批量读数服务,使其启动时读取业务数据库中全量的已有业务数据写入消息队列中,并且修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;数据预处理服务,使其启动时消费消息队列中的业务数据包含所述已有业务数据及增量业务数据,转换成提供给第一服务的向量生成模型的输入数据,触发启动第一服务的向量生成模型并获取其生成的所述业务数据对应的向量,将所述向量存储至向量数据库中;部署预先训练至收敛的向量生成模型为第一服务,使其启动时生成业务请求中的请求数据对应的向量,以及生成所述已有业务数据及增量业务数据相对应的向量;部署业务服务,使其启动时接收业务请求提供给请求处理服务,触发启动请求处理服务;部署请求处理服务,使其启动时确定业务请求中的请求数据,转换成提供给第一服务的向量生成模型的输入数据,触发启动第一服务的向量生成模型并获取其生成的请求数据对应的向量,将其与向量数据库中所述业务数据对应的向量进行匹配,获得相匹配的目标向量对应的业务数据应答所述业务请求。

当确定采用所述最新版本的向量匹配系统执行服务时,启动所述最新版本的向量匹配系统中的所述业务服务。当部署版本号为最新版本号且初次部署所述最新版本的向量匹配系统中的批量读数服务时,启动该批量读数服务。

步骤S1130、启动读取业务数据库中全量的已有业务数据写入最新版本的向量匹配系统的消息队列中,并且修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号,所述消息队列用于出列所述全量的业务数据以提供给第一服务生成相应的向量。

请参阅图4,进一步的实施例中,包括如下步骤:

步骤S1131、启动读取业务数据库中全量的已有业务数据,在所述全量的已有业务数据首尾分别增添相应的起始标识及结束标识,将所述起始标识数据、全量的业务数据及结束标识数据依序写入最新版本的向量匹配系统的消息队列中;

可以理解,当消费到消息队列中的起始标识时,表示开始消费在其之后全量的已有业务数据,当消费到消息队列中的结束标识时,表示完成消费在其之前全量的已有业务数据。

步骤S1132、启动消费所述消息队列中的数据,当消费到起始标识时,修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;

由此,便可以所述部署版本号为最新版本号,从而触发启动所述增量业务数据的读取和写入,从而获得相应的向量存储至向量数据库中。

步骤S1133、继续消费后续的各个已有业务数据,将各个已有业务数据相对应转换成提供给第一服务的向量生成模型的输入数据,直至消费到所述结束标识。

所述转换为对各个已有业务数据进行预处理,从而将相应的商品图片和/或商品文本规整为符合第一服务的向量生成模型处理的特定格式的数组或者向量,作为该向量生成模型的输入数据,所述预处理可为均值移除(标准化)、范围缩放、归一化、独热编码、二值化等,本领域技术人员可按需采用任意一种或多种实现。

本实施例中,一方面基于微服务架构部署最新版本的向量匹配系统,使得将功能分解到各个离散的服务中,从而降低向量匹配系统的耦合性,并提供更加灵活的服务支持,并且能够便于后续敏捷开发和维护。另一方面,通过在全量的已有业务数据首尾分别增添相应的起始标识及结束标识,使得无需人工干预便可针对性根据起始标识及结束标识执行相应的后续操作。

请参阅图5,进一步的实施例中,步骤S1300、响应所述业务数据库中的业务数据变动事件,在所述当前版本号或所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量,包括如下步骤:

步骤S1310、响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号为最新版本号时,触发将业务数据库中的增量业务数据写入最新版本的向量匹配系统的消息队列中;

可以理解,电商平台中的用户在其终端设备加载的图形用户界面上可录入新增商品的商品数据,亦可修改已有商品的商品数据,进一步,在完成所述录入或者修改后,可触控界面上的“提交”控件,触发产生业务数据库中的业务数据变动事件,以携带相应的商品数据发送至服务器。所述商品数据中包含商品图片和/或商品文本,所述商品图片包括商品的头图、商品详情的展示图等任意一种或任意多种图片,所述商品文本可以包括商品的商品标题、商品详情文本、属性数据、品类标签等任意一种或任意多种文本。

服务器接收所述业务数据变动事件并对其响应,在业务数据库中添加新增商品的商品数据或修改已有商品的商品数据,可以理解,非业务数据库中已有的业务数据的所述添加或修改的商品数据即是所述增量业务数据,与此同时,在所述当前版本号或所述部署版本号为最新版本号时,即表示最新版本号的向量匹配系统需要同步业务数据库中变动的所述增量业务数据,生成其相对应的向量存储至向量数据库中,由此,触发读取业务数据库中的增量业务数据写入最新版本的向量匹配系统的消息队列中。

步骤S1320、当将所述增量业务数据写入到所述消息队列时,若存在所述结束标识,将其删除,在写入全部所述增量业务数据后,追加所述结束标识;

所述结束标识是在启动读取业务数据库中全量的已有业务数据时,在全量的已有业务数据之后添加。

可以理解,实现所述结束标识在增量业务数据之后,能够保障业务数据库中变动的增量业务数据在消费到结束标识之前被消费,生成相应的向量存储至向量数据库中。

步骤S1330、启动消费所述消息队列中的数据,将所述增量业务数据转换成提供给第一服务的向量生成模型的输入数据,以获得相对应的向量。

所述转换为对各个增量业务数据进行预处理,从而将相应的商品图片和/或商品文本规整为符合第一服务的向量生成模型处理的特定格式的数组或者向量,作为该向量生成模型的输入数据,所述预处理可为均值移除(标准化)、范围缩放、归一化、独热编码、二值化等,本领域技术人员可按需采用任意一种或多种实现。

启动消费所述消息队列中的数据,直至消费到所述结束标识时,即是完成已有业务数据的向量的生成,以及完成在生成已有业务数据的向量过程中所产生的增量业务数据的向量的生成,表示所述最新版本的向量匹配系统能够上线执行服务,无需人工确定所述最新版本的向量匹配系统能够上线。

本实施例中,通过同步业务数据库中的增量业务数据转换成提供给第一服务的向量生成模型的输入数据,以获得相对应的向量,使得实时同步增量业务数据,保持业务数据库中的增量业务数据在最新版本的向量匹配系统中存储相对应的向量。

请参阅图6,进一步的实施例中,步骤S1200、启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成业务数据库中的各个已有业务数据相对应的向量,或者,步骤S1300、启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量,包括如下步骤:

步骤S2100、启动第一服务采用最新版本的向量匹配系统中的向量生成模型,提取业务数据库中的各个业务数据相对应的文本语义特征和/或图像语义特征,生成相对应的向量;

所述业务数据包含所述业务数据包含业务数据库中已有业务数据,以及因用户实时操作而相应变动的业务数据库中的增量业务数据。

可将最新版本的向量匹配系统中的向量生成模型发布成单独的服务即所述第一服务,以在其启动时调用该向量生成模型,一种实施例中所述向量生成模型可集成两路编码器,其中一路编码器为图像编码器,另一路编码器为文本编码器,所述图像编码器可为预先训练至收敛的适用于提取图像语义特征的基于深层语义学习的网络模型,一般采用基于卷积神经网络实现的模型,所述卷积神经网络包括但不限于基于CNN、RNN等基础网络模型架构实现的应用型神经网络模型,例如Resnet、Vis ion Transformer(ViT)、EfficientNet等,另外,所述图像编码器可事先经过训练使其习得适于为所述商品图片提取深层语义信息,获得相应的向量的能力而投入使用。所述文本编码器可为NLP(Natura l LanguageProcess i ng)领域中适用于提取文本语义特征的基于深层语义学习的网络模型,具体采用开源框架Sentence Transformers,它提供了大量的预先训练至收敛的Transformer模型,譬如:Bert、RoBERTa、XLM-RoBERTa、MPNet,另外,所述文本编码器可事先经过训练使其习得适于为所述商品文本提取深层语义信息,获得相应的向量的能力而投入使用。

步骤S2200、将所述向量与相应的业务数据相关联存储至最新版本的向量匹配系统中的向量数据库中,用于在执行所述服务时,根据服务的业务请求中的请求数据对应的向量,从所述向量数据库中确定出相匹配的目标向量,以其对应的业务数据应答所述业务请求。

所述服务指的是以向量匹配系统对外提供向量匹配服务,具体而言,向量匹配系统对外接收业务请求,确定相应的请求数据对应的向量,将其与向量数据库中的各个业务数据对应的向量进行匹配,进而以相匹配的目标向量对应的业务数据应答所述业务请求。所述业务请求可以是相似商品匹配、商品推荐、商品检索等电商业务场景下由电商平台中的用户触发产生的业务请求。

本实施例中,通过采用包含图像编码器及文本编码器的向量生成模型提取业务数据对应的商品文本和/或商品图片的文本语义特征和/或图像语义特征,生成相对应的向量,使得能够向量化处理商品文本及商品图片两种类型的数据,十分高效。

请参阅图7,进一步的实施例中,步骤S1400、响应最新版本的向量匹配系统的上线指令,将所述当前版本号修改为所述最新版本号,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务,包括如下步骤:

步骤S1410、将所述当前版本号修改为所述最新版本号,暂停所述旧版本号的向量匹配系统执行服务,以所述最新版本的向量匹配系统暂代执行所述服务;

可以理解,当完成已有业务数据的向量的生成,以及完成在生成已有业务数据的向量过程中所产生的增量业务数据的向量的生成后,即消费到所述结束标识时,表示所述最新版本的向量匹配系统已部署完成,可进一步确认是否上线,此时可实行对所述最新版本的向量匹配系统进行线上测试,具体而言,将所述当前版本号修改为所述最新版本号,从而根据该当前版本号,将所述当前版本号修改为所述最新版本号,暂停所述旧版本号的向量匹配系统执行服务,以所述最新版本的向量匹配系统暂代执行所述服务。

步骤S1420、响应最新版本的向量匹配系统的上线指令,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务;

当所述最新版本的向量匹配系统的线上测试正常时,确定上线该最新版本的向量匹配系统,可生成最新版本的向量匹配系统的上线指令发送至服务器,以指示服务器在接收到上线指令后,确定所述当前版本号为最新版本号无需修改,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务。

进一步的实施例中,所述上线所述最新版本的向量匹配系统取代执行所述服务之后,还包括所述旧版本号的向量匹配系统,响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号不为旧版本号,所述旧版本号的向量匹配系统不启动其第一服务。

步骤S1430、响应旧版本的向量匹配系统的回滚指令,将所述当前版本号修改为旧版本号,将所述部署版本号还原为初始值,恢复所述旧版本号的向量匹配系统执行服务,终止所述最新版本的向量匹配系统执行所述服务。

当所述最新版本的向量匹配系统的线上测试异常时,确定不上线该最新版本的向量匹配系统,可生成旧版本的向量匹配系统的回滚指令发送至服务器,以指示服务器在接收到回滚指令后,将所述当前版本号修改为旧版本号,将所述部署版本号还原为初始值,根据该当前版本号,恢复所述旧版本号的向量匹配系统执行服务,终止所述最新版本的向量匹配系统执行所述服务。

进一步的实施例中,所述终止所述最新版本的向量匹配系统执行所述服务之后,还包括响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号不为最新版本号时,所述最新版本的向量匹配系统不启动其第一服务。

本实施例中,通过在当前版本号为旧版本号时,将其修改为最新版本号,使得最新版本的向量匹配系统暂代旧版本号的向量匹配系统执行服务以进行线上测试,确保测试正常时,才将所述最新版本的向量匹配系统上线执行服务,否则,回退成旧版本号的向量匹配系统执行服务。保障业务系统在其版本更新时版本可退,实现容错机制,提高可靠性。

请参阅图8,适应本申请的目的之一而提供的一种业务系统热更新装置,是对本申请的业务系统热更新方法的功能化体现,该装置包括请求响应模块1100、第一向量生成模块1200、第二向量生成模块1300以及系统上线模块1400,其中,请求响应模块1100,用于响应在服务的向量匹配系统的版本更新请求,部署最新版本的向量匹配系统,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,设置部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;第一向量生成模块1200,用于当所述当前版本号为在服务的向量匹配系统的旧版本号且所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成业务数据库中的各个已有业务数据相对应的向量;第二向量生成模块1300,用于响应所述业务数据库中的业务数据变动事件,在所述当前版本号或所述部署版本号为最新版本号时,启动第一服务采用最新版本的向量匹配系统中的向量生成模型生成所述业务数据库中的增量业务数据相对应的向量;系统上线模块1400,用于响应最新版本的向量匹配系统的上线指令,将所述当前版本号修改为所述最新版本号,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务。

进一步的实施例中,所述请求响应模块1100,包括:初始化子模块,用于响应在服务的向量匹配系统的版本更新请求,获取所述在服务的向量匹配系统的旧版本号作为当前版本号,初始化部署版本号为初始值;系统部署子模块,用于部署最新版本的向量匹配系统;业务数据加载子模块,用于启动读取业务数据库中全量的已有业务数据写入最新版本的向量匹配系统的消息队列中,并且修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号,所述消息队列用于出列所述全量的业务数据以提供给第一服务生成相应的向量。

进一步的实施例中,所述业务数据加载子模块,包括:数据写入单元,用于启动读取业务数据库中全量的已有业务数据,在所述全量的已有业务数据首尾分别增添相应的起始标识及结束标识,将所述起始标识数据、全量的业务数据及结束标识数据依序写入最新版本的向量匹配系统的消息队列中;第一数据消费单元,用于启动消费所述消息队列中的数据,当消费到起始标识时,修改所述部署版本号为所述向量匹配系统的最新版本相对应的最新版本号;第二数据消费单元,用于继续消费后续的各个已有业务数据,将各个已有业务数据相对应转换成提供给第一服务的向量生成模型的输入数据,直至消费到所述结束标识。

进一步的实施例中,所述第二向量生成模块1300,包括:事件响应子模块,用于响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号为最新版本号时,触发将业务数据库中的增量业务数据写入最新版本的向量匹配系统的消息队列中;数据写入子模块,用于当将所述增量业务数据写入到所述消息队列时,若存在所述结束标识,将其删除,在写入全部所述增量业务数据后,追加所述结束标识;数据消费子模块,用于启动消费所述消息队列中的数据,将所述增量业务数据转换成提供给第一服务的向量生成模型的输入数据,以获得相对应的向量。

进一步的实施例中,所述第一向量生成模块1200或者所述第二向量生成模块1300,包括:向量生成子模块,用于启动第一服务采用最新版本的向量匹配系统中的向量生成模型,提取业务数据库中的各个业务数据相对应的文本语义特征和/或图像语义特征,生成相对应的向量;数据存储子模块,用于将所述向量与相应的业务数据相关联存储至最新版本的向量匹配系统中的向量数据库中,用于在执行所述服务时,根据服务的业务请求中的请求数据对应的向量,从所述向量数据库中确定出相匹配的目标向量,以其对应的业务数据应答所述业务请求。

进一步的实施例中,所述系统上线模块1400,包括:暂代服务子模块,用于将所述当前版本号修改为所述最新版本号,暂停所述旧版本号的向量匹配系统执行服务,以所述最新版本的向量匹配系统暂代执行所述服务;系统上线子模块,用于响应最新版本的向量匹配系统的上线指令,将所述部署版本号还原为初始值,终止所述旧版本号的向量匹配系统执行服务,上线所述最新版本的向量匹配系统取代执行所述服务;系统回滚子模块,用于响应旧版本的向量匹配系统的回滚指令,将所述当前版本号修改为旧版本号,将所述部署版本号还原为初始值,恢复所述旧版本号的向量匹配系统执行服务,终止所述最新版本的向量匹配系统执行所述服务。

进一步的实施例中,所述系统上线子模块之后,还包括:服务终止子模块,用于响应所述业务数据库中的业务数据变动事件,确定所述当前版本号或所述部署版本号不为旧版本号,所述旧版本号的向量匹配系统不启动其第一服务。

为解决上述技术问题,本申请实施例还提供计算机设备。如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种业务系统热更新方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本申请的业务系统热更新方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本实施方式中处理器用于执行图8中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本申请的业务系统热更新装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。

本申请还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本申请任一实施例的业务系统热更新方法的步骤。

本领域普通技术人员可以理解实现本申请上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-On l y Memory,ROM)等计算机可读存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

综上所述,本申请能够保持业务系统在线对外服务的同时,平滑升级业务系统,实现无感更新。

本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

技术分类

06120115635736