CN109408134B - 模型文件的处理方法、装置、***以及处理设备 - Google Patents
模型文件的处理方法、装置、***以及处理设备 Download PDFInfo
- Publication number
- CN109408134B CN109408134B CN201710703918.6A CN201710703918A CN109408134B CN 109408134 B CN109408134 B CN 109408134B CN 201710703918 A CN201710703918 A CN 201710703918A CN 109408134 B CN109408134 B CN 109408134B
- Authority
- CN
- China
- Prior art keywords
- model file
- service
- service instance
- memory
- original
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种模型文件的处理方法、装置、***以及处理设备。其中,该方法包括:获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系;接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。本发明解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
Description
技术领域
本发明涉及智能交互服务领域,具体而言,涉及一种模型文件的处理方法、装置、***以及处理设备。
背景技术
随着互联网技术的快速发展,当今社会迎来了一个多元化发展的新时代,智能交互服务越来越多的渗透到了人们的日常生活之中。
智能交互服务可以提供针对某一租户逻辑的交互服务,在启动服务的过程中,智能交互服务可以获取到指定租户的模型文件,并加载到内存中。在服务启动完毕后,通过外部的应用程序编程接口,用户可以请求交互信息,服务将这一请求经过算法模块传递给模型,并得到最佳结果信息,返回给用户。
但在智能交互服务中,算法模型通常在启动时加载,一经加载将不会改变,直至服务停止并重新启动。而面对租户模型更新,以及运行时额外加载其他租户的模型,现有的加载方式无法做到热替换,并且重新启动会导致服务不可用,或者服务不一致。
针对上述现有的***服务无法实现模型的热交换以及无法保持服务一致性的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种模型文件的处理方法、装置、***以及处理设备,以至少解决现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
根据本发明实施例的一个方面,提供了一种模型文件的处理方法,包括:获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系;接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
根据本发明实施例的另一方面,还提供了一种模型文件的处理装置,包括:获取模块,用于获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系;接收模块,用于接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
根据本发明实施例的另一方面,还提供了一种模型文件的处理***,包括:业务终端,发起处理请求,其中,处理请求用于调用与服务实例对应的模型文件,其中,模型文件包括:原始模型文件和新模型文件;服务器,与业务终端通信,用于在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系;其中,在服务器的服务实例完成加载模型文件至内存之后,将阻塞执行接收到的处理请求,直至第一引用关系转换为第二引用关系之后,启动执行处理请求,并将执行结果返回给业务终端。
根据本发明实施例的另一方面,还提供了一种模型文件的处理设备,包括:存储器,用于存储***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件;处理器,用于在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
根据本发明实施例的另一方面,还提供了一种模型文件的处理设备,包括:存储器,用于存储***服务的服务实例加载至模型文件,其中,模型文件包括:原始模型文件和新模型文件;处理器,用于在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为新模型文件与服务实例之间的引用关系。
根据本发明实施例的另一方面,还提供了一种模型文件的处理方法,包括:获取***服务的服务实例加载至模型文件,其中,模型文件包括:原始模型文件和新模型文件,且原始模型文件与服务实例之间存在第一引用关系;接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为新模型文件与服务实例之间的引用关系。
在本发明实施例中,采用基于消息机制和引用机制的方式,通过获取***服务的服务实例加载至内存中的模型文件,接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系,第二引用关系为内存中的新模型文件与服务实例的引用关系,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种模型文件的处理设备的结构示意图;
图2是根据本发明实施例的一种模型文件的处理方法的流程图;
图3是根据本发明实施例的一种优选的热替换的示意图;
图4是根据本发明实施例的一种可选的模型文件的处理方法的流程图;
图5是根据本发明实施例的一种可选的模型文件的处理方法的流程图;
图6是根据本发明实施例的一种优选的热加载的方法流程图;
图7是根据本发明实施例的一种模型文件的处理装置的结构示意图;
图8是根据本发明实施例的一种模型文件的处理***的结构示意图;
图9是根据本发明实施例的一种计算机终端的结构框图;
图10是根据本发明实施例的一种模型文件的处理设备的结构示意图;以及
图11是根据本发明实施例的一种模型文件的处理方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
1、租户:指在私有云上的租户(即需要付费使用并且只能在规定的期限内使用的用户),是智能交互服务(例如,语音交互服务)的底层逻辑单元,其中,一种智能交互服务的底层对应一个租户模型,该服务视为该租户的服务。
2、用户:指租户服务的最终使用者。
3、模型:指在使用机器学习或深度学习中,针对某一租户的数据进行训练后的文件,并且模型可以作为算法在计算时的逻辑判断依据。
4、热替换:在服务不停止的情况下,使用新模型、丢弃旧模型的过程。
5、服务不一致:指在相同租服务具有不同实例的情况下,租户服务在接收到相同的请求时,每个实例的处理逻辑不完全相同的现象。
6、解耦:指解除两者或多个变量间的彼此影响,增强各自的独立存在能力,无限降低但不完全根除存在的耦合度的过程。
实施例1
在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请的原理的一个合适的模型文件的处理设备。
图1是根据本发明实施例的一种模型文件的处理设备的结构示意图,出于描述的目的,所绘结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该硬件资源调度***解释为对图1所示的任一组件或其组合具有任何依赖或需求。
本申请实施例1所提供的***实施例可以广泛应用在私有云上。随着互联网技术的快速发展,在人们的日常生活中出现了许多基于私有云的问答服务产品(例如,语音机器人等),这些问答服务产品可以根据用户输入的语音、文字以及视频等对用户输入的信息作出一定的回应,例如,当用户通过语音与机器人进行交互时,用户输入“what’s the timeis it?”,机器人在接收到用户输入的语音信息之后,将该语音转换成机器可以识别的指令,并通过私有云查找到与该指令相对应的答案,并通过语音、图像或者其他方式反馈给用户。然而,当机器人反馈给用户的信息出现异常时,需要工作人员对后台设备或后台程序进行检测,一种常用的方式是通过检测日志文件。一般情况下,当机器人出现异常时,后台的处理器会生成与其对应的日志文件,通过调用该日志文件(例如,通过链式调用日志文件的方法)可以确认该异常出现的具***置。由于是机器人能够接收用户的指令,并且还能输出反馈信息,只是反馈的信息有误,由此工作人员可以通过更新租户所租用的***服务中的模型文件来消除异常。
在现有的更新模型文件的方法是在启动服务的过程中,获取指定租户的模型文件,并将其加载到内存中。在服务启动完毕后,通过外部的应用程序编程接口,用户可以请求交互信息,服务将这一请求经过算法模块传递给模型,并得到最佳结果信息,返回给用户。
但在现有技术中,算法模型通常在启动时加载,一经加载将不会改变,直至服务停止并重新启动。而面对租户模型更新,以及运行时额外加载其他租户的模型,现有的加载方式无法做到热替换,并且重新启动会导致服务不可用,或者服务不一致。
本申请采用消息以消息机制通知模型变更,以引用机制热替换模型的方法,可以有效地解决上述问题。具体的,将租户的模型文件对应的地址通过变量引用的方式将其映射到变量上,并将模型文件从***服务中进行解耦处理。当需要对更新模型文件时,只要将新模型文件的地址与变量进行映射并加载至内存中即可。此外,为了防止在进行热替换的过程中,实例服务的不一致性,本申请还采用了请求阻塞的方式,即当全部服务实例加载就绪后,每个服务实例会阻塞前的处理请求线程,并在完成热替换之后,将被阻塞的处理请求的线程唤醒。通过使用状态消息通知和请求阻塞可以避免服务不一致的问题。
存储器101,用于存储***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件。
处理器103,用于在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
在一种可选的实施例中,上述***服务可以为但不限于智能交互服务(例如,智能问答服务),上述***服务中包括至少一个服务实例,每个服务实例可以将其对应的模型文件加载到内存中,供租用该***服务的租户的使用。租用上述***服务的租户分别为A、B、C和D四个租户,这四个租户使用上述***服务用于不同的环境中,例如,租户A将该***服务用于娱乐问答服务***中,租户B将该***服务用于体育问答服务***中,租户C将该***服务用于军事问答服务***中,租户D将该***服务用于日常问答服务***中,上述四个租户在同一个***服务中所使用的模型文件是不同的。其中,当租户对与其相对应的模型文件进行了修改之后,得到新模型文件,此时,需要重新加载模型文件,该模型文件即为新模型文件,例如,租户A在与其对应的模型文件中添加了新的元素。当租户服务的使用者,即上述四个租户所对应的用户在使用智能问答服务***时产生一个服务实例,例如,租户A的使用者(或用户)A’通过娱乐问答服务***提问问题的过程即为一个服务实例,此时,用户A’提出的问题需要进入到新模型文件中进行查询。
需要说明的是,由于编程语言中的引用是指声明一个变量,并将一个对象的地址赋值给该变量,此时,如果将一个新的对象赋给上述变量,其实质为变更了变量的引用地址。但在Java等使用虚拟机的编程语言中,没有引用的对象,因此上述变量需要在周期性的垃圾回收中被销毁,并释放对应的内存空间。由此,原始模型文件与服务实例之间的第一引用关系可以通过变量来实现。此外,可以通过JNA(Java Native Access,提供了动态访问***的本地库)对接C++算法的方法来达到上述通过变量引用的方法建立原始模型文件与服务实例之间的第一引用关系。
在另一种可选的实施例中,租户在对原始模型文件进行修改得到新模型文件之后需要将原始模型文件替换为新模型文件,此时,租户会发出热替换命令。在***服务对模型文件的更换的过程中,服务实例与模型文件之间的引用关系也发生了变化,即此时的新模型文件与服务实例之间的引用关系为第二引用关系,其中,第二引用关系同样可以通过变量引用的方法建立。
具体的,当租户发出热替换的指令之后,***服务通过变量引用的方式将加载到内存中的模型文件与***服务中的变量进行映射,使得模型文件从***服务中解耦,并通过消息机制获知模型文件的变化,在***服务运行时动态的加载新模型文件,最终在***服务中的全部服务实例的节点就绪之后,将原始模型文件直接替换为新模型文件,从而完成文件模型的热替换。
由上可知,通过存储器存储***服务的服务实例加载至内存中的模型文件,处理器在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系,第二引用关系为内存中的新模型文件与服务实例的引用关系,容易注意到的是,由于采用了变量引用的方法,因此在将原始模型文件与***服务中的服务实例通过变量进行映射,当需要对原始模型文件进行热替换时,只需要将新模型文件与***服务中的服务实例通过变量进行映射即可,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
此外,还存在另一种可选的实施例,第一引用关系是通过将原始模型文件的地址赋值给变量而建立起来的,即内存中存储的是原始模型文件的地址;第二引用关系是通过将新模型文件的地址赋值给变量,当进行热切换时,服务***中同时存在原始模型文件和新模型文件,为了避免在热替换的过程中服务实例的不一致性,在所有的服务实例加载完成之后,每个服务实例均会收到新模型就绪消息,并阻塞当前的处理请求的线程。待第一引用关系完全切换为第二引用关系之后,每个服务实例发送新模型替换就绪的消息,并订阅该消息,将阻塞的线程唤醒,此时,服务实例使用的是新模式文件,即至此完成了***服务的热替换过程。
需要说明的是,新模型的加载过程与服务***的启动过程是两个并行的、独立的过程,二者互不影响。
在另一种可选的实施例中,当服务***接收到热替换指令并将第一引用关系转换为第二引用关系时,即在完成热替换的过程之后,在包含多个服务实例的服务***中同时包含新模型文件和原始模型文件,待服务***的全部服务实例加载就绪之后,处理器会在每个服务实例收到服务实例加载就绪的消息之后,阻塞当前的处理请求线程。例如,租户A在将新模型文件加载到内存中之后,该***服务中包含与租户A相对应的原始模型文件和新模型文件,为了确保租户A中的所有实例均使用新模型文件,此时,该租户A中的所有处理请求线程都会被阻塞,即所有的服务实例处于等待状态,待第一引用关系转换为第二引用关系之后,租户A中的服务实例的请求才会被处理。
此外,在每个服务实例的第一引用关系转换为第二引用关系之后,服务器还在每个服务实例发送新模型就绪消息之后,且在每个服务实例都发送对应的新模型就绪消息的情况下,将唤醒已经阻塞的线程。
具体的,在每个服务实例的第一引用关系转换为第二引用关系之后,在每个服务实例内部已经完成了模型文件的热替换,每个服务实例发送新模型就绪消息。例如,当租户A的全部实例均发送新模型就绪消息之后,每个服务实例均会订阅上述新模型就绪消息,并将已经阻塞的线程唤醒。此后,租户A所对应的每个服务实例都会使用新模型文件的处理请求。
需要说明的是,根据新模型就绪消息和请求阻塞可以避免服务不一致的问题,而上述过程是非常短暂的,并且是异步的,因此,上述方法不仅可以有效地避免服务不一致的问题,并且对服务的可用性也没有产生影响。
在一种优选的实施例中,处理器可以完成模型文件的热替换。具体的,在***服务收到全部实例的新模型加载就绪消息之后,处理器使得租户的每个服务实例各自阻塞当前处理的请求线程,并在阻塞当前的处理请求之后,在每个服务实例内部完成变量的引用切换。具体的,将原始模型文件所对应的地址赋给变量M来建立原始文件模型与服务实例的引用关系,在对模型文件进行切换的过程中,需要将新模型文件所对应的地址赋给变量M,即完成了变量引用的方法将原始模型文件切换为新模型文件。此外,在完成变量的引用切换之后,服务实例会向***服务的消息中心发送新模型替换就绪消息,指示原始模型文件已被新模型文件替换,即已完成热替换,并在消息中心收到新模型替换就绪消息之后,每个服务实例订阅新模型替换就绪消息,在每个服务实例订阅新模型替换就绪消息之后,唤醒已经被阻塞的请求消息,恢复已经被阻塞的线程,此后,每个服务实例均会使用新模型文件处理请求消息。
在另一种可选的实施例中,在模型文件为原始模型文件的情况下,在获取***服务的服务实例加载至内存中的模型文件之前,处理器还可用于启动***服务时,获取与服务实例对应的原始模型文件,并将原始模型文件加载至内存,并创建原始模型文件与服务实例之间的第一引用关系。
具体的,服务实例从配置中心获取元数据,其中,元数据至少包括模型信息,例如,模型的类型以及模型的创建时间等。在获取到元数据之后,服务实例使用元数据从存储器中获取原始模型文件,例如,服务实例根据元数据中的模型信息从存储器中查询到与该模型的类型相匹配的原始模型文件。然后,服务实例再从消息中心订阅与当前租户相关的模型文件的变更信息,在获得模型文件的变更信息之后,服务实例加载原始模型文件至内存中,最后通过变量引用获取原始模型文件。至此,便完成了***服务的启动过程,在***服务启动完毕之后,即可执行上述的热替换的步骤。
可选的,在模型文件为新模型文件的情况下,在获取***服务的服务实例加载至内存中的模型文件之前,处理器还可用于完成对模型文件的加载。
具体的,服务实例从消息中心获取模型变更消息,其中,新模型文件可经过训练得到,在训练得到新模型文件的情况下,可生成模型变更信息。然后,服务实例检测到模型变更信息指示已生成信息的模型文件,此时,服务实例从配置中心获取模型信息(例如,模型的类型信息以及模型创建的时间信息等),然后根据模型的类型信息以及模型创建的时间信息得到与其相对应的元数据。在检测到模型变更信息之后,服务实例使用元数据从存储器中获取训练得到新模型文件,并将其通过变量引用加载至内存中。在服务实例加载新模型文件至内存之后,服务实例从消息订阅中心订阅模型变更信息,并发送新模型加载就绪消息至消息中心,最后,在服务实例发送新模型加载就绪消息至消息中心之后,服务实例从消息中心订阅全部服务实例的新模型加载就绪消息。
需要说明的是,新模型的训练是离线的,在新模型训练完毕之后,离线程序会向消息中心发送模型变更消息。此外,热加载与***服务的启动流程是两个并列的、独立的过程,二者互不干扰。
实施例2
根据本发明实施例,还提供了一种模型文件的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请提供了一种模型文件的处理方法实施例,图2是根据本发明所提供的模型文件的处理方法实施例的模型文件的处理方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系。
在上述步骤S202中,上述***服务可以为但不限于智能交互服务(例如,智能问答服务),上述***服务中包括至少一个服务实例,每个服务实例可以将其对应的模型文件加载到内存中,供租用该***服务的租户的使用。
在一种可选的实施例中,租用上述***服务的租户分别为A、B、C和D四个租户,这四个租户使用上述***服务用于不同的环境中,例如,租户A将该***服务用于娱乐问答服务***中,租户B将该***服务用于体育问答服务***中,租户C将该***服务用于军事问答服务***中,租户D将该***服务用于日常问答服务***中,上述四个租户在同一个***服务中所使用的模型文件是不同的。其中,当租户对与其相对应的模型文件进行了修改之后,得到新模型文件,此时,需要重新加载模型文件,该模型文件即为新模型文件,例如,租户A在与其对应的模型文件中添加了新的元素。当租户服务的使用者,即上述四个租户所对应的用户在使用智能问答服务***时产生一个服务实例,例如,租户A的使用者(或用户)A’通过娱乐问答服务***提问问题的过程即为一个服务实例,此时,用户A’提出的问题需要进入到新模型文件中进行查询。
需要说明的是,由于编程语言中的引用是指声明一个变量,并将一个对象的地址赋值给该变量,此时,如果将一个新的对象赋给上述变量,其实质为变更了变量的引用地址。但在java等使用虚拟机的编程语言中,没有引用的对象,因此上述变量需要在周期性的垃圾回收中被销毁,并释放对应的内存空间。由此,原始模型文件与服务实例之间的第一引用关系可以通过变量来实现。此外,可以通过JNA(Java Native Access,提供了动态访问***的本地库)对接C++算法的方法来达到上述通过变量引用的方法建立原始模型文件与服务实例之间的第一引用关系。
通过上述步骤S202可以通过变量引用的方法建立原始模型文件与服务实例之间的对应关系,进而根据该对应关系可以完成***服务的启动流程。
步骤S204,接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
在上述步骤S204中,租户在对原始模型文件进行修改得到新模型文件之后需要将原始模型文件替换为新模型文件,此时,租户会发出热替换命令。在***服务对模型文件的更换的过程中,服务实例与模型文件之间的引用关系也发生了变化,即此时的新模型文件与服务实例之间的引用关系为第二引用关系,其中,第二引用关系同样可以通过变量引用的方法建立。
在一种可选的实施例中,当租户发出热替换的指令之后,***服务通过变量引用的方式将加载到内存中的模型文件与***服务中的变量进行映射,使得模型文件从***服务中解耦,并通过消息机制获知模型文件的变化,在***服务运行时动态的加载新模型文件,最终在***服务中的全部服务实例的节点就绪之后,将原始模型文件直接替换为新模型文件,从而完成文件模型的热替换。
需要说明的是,在完成文件模型的热替换之后,每个服务实例均会发送新模型替换就绪的消息,此后,每个实例均会使用新模型文件处理请求。
通过步骤S204可以确保***服务的可用性与稳定性,进而在不停止***服务的情况下,实现模型文件的热替换的效果。
在基于上述实施例步骤S202至步骤S204所限定的方案中,可以获知通过获取***服务的服务实例加载至内存中的模型文件,接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系,第二引用关系为内存中的新模型文件与服务实例的引用关系,容易注意到的是,由于采用了变量引用的方法,因此在将原始模型文件与***服务中的服务实例通过变量进行映射,当需要对原始模型文件进行热替换时,只需要将新模型文件与***服务中的服务实例通过变量进行映射即可,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
可选的,上述***服务包括多个服务实例,在每个服务实例完成加载模型文件至内存之后,每个服务实例阻塞用于执行处理请求线程,直至第一引用关系转换为第二引用关系之后,启动执行处理请求,其中,处理请求用于调用与服务实例对应的模型文件。
具体的,在服务***接收到热替换指令并将第一引用关系转换为第二引用关系,即此时,完成了将原始模型文件替换为新模型文件的热替换过程,此时的服务***中同时包含新模型文件和原始模型文件,待服务***的全部服务实例加载就绪之后,每个服务实例都会收到服务实例加载就绪的消息,并阻塞当前的处理请求线程。
在一种可选的实施例中,租户A在将新模型文件加载到内存中之后,该***服务中包含与租户A相对应的原始模型文件和新模型文件,为了确保租户A中的所有实例均使用新模型文件,此时,该租户A中的所有处理请求线程都会被阻塞,即所有的服务实例处于等待状态,待第一引用关系转换为第二引用关系之后,租户A中的服务实例的请求才会被处理。
在另一种可选的实施例中,在每个服务实例的第一引用关系转换为第二引用关系之后,每个服务实例发送新模型就绪消息,且在每个服务实例都发送对应的新模型就绪消息的情况下,将唤醒已经阻塞的线程。
具体的,在每个服务实例的第一引用关系转换为第二引用关系之后,在每个服务实例内部已经完成了模型文件的热替换,每个服务实例发送新模型就绪消息。例如,当租户A的全部实例均发送新模型就绪消息之后,每个服务实例均会订阅上述新模型就绪消息,并将已经阻塞的线程唤醒。此后,租户A所对应的每个服务实例都会使用新模型文件的处理请求。
需要说明的是,根据新模型就绪消息和请求阻塞可以避免服务不一致的问题,而上述过程是非常短暂的,并且是异步的,因此,上述方法不仅可以有效地避免服务不一致的问题,并且对服务的可用性也没有产生影响。
在一种优选的实施例中,图3是示出了一种优选的热替换的示意图,如图3所示,热替换的过程具体包括如下步骤:
S1,***服务收到全部实例的新模型加载就绪消息,此时,租户所对应的服务实例全部加载成功,此后,执行步骤S2;
S2,租户的每个服务实例各自阻塞当前处理的请求线程,以防止在进行热替换的过程中产生服务实例不一致的问题;在阻塞当前的处理请求之后,执行步骤S3;
S3,在每个服务实例内部完成变量的引用切换,从而实现通过变量对新模型文件的引用。具体的,将原始模型文件所对应的地址(即图3中的地址1)赋给变量M来建立原始文件模型与服务实例的引用关系,在对模型文件进行切换的过程中,需要将新模型文件所对应的地址(即图3中的地址2)赋给变量M,即完成了变量引用的方法将原始模型文件切换为新模型文件;
S4,在完成变量的引用切换之后,服务实例会向***服务的消息中心发送新模型替换就绪消息,指示原始模型文件已被新模型文件替换,即已完成热替换;
S5,在消息中心收到新模型替换就绪消息之后,每个服务实例订阅新模型替换就绪消息;
S6,在每个服务实例订阅新模型替换就绪消息之后,唤醒已经被阻塞的请求消息,恢复已经被阻塞的线程,此后,每个服务实例均会使用新模型文件处理请求消息。
可选的,图4示出了一种可选的模型文件的处理方法的流程图,如图4所示,在模型文件为原始模型文件的情况下,在获取***服务的服务实例加载至内存中的模型文件之前,模型文件的处理方法还包括如下步骤:
步骤S402,启动***服务时,获取与服务实例对应的原始模型文件;
步骤S404,将原始模型文件加载至内存,并创建原始模型文件与服务实例之间的第一引用关系。
在一种优选的实施例中,如图5所示的一种优选的***服务的启动流程图,***服务的启动具体包括如下步骤:
步骤S51,服务实例获取元数据;
具体的,服务实例从配置中心获取元数据,其中,元数据至少包括模型信息,例如,模型的类型以及模型的创建时间等。
步骤S53,服务实例从存储器中获取模型文件;
具体的,在获取到元数据之后,服务实例使用元数据从存储器中获取原始模型文件,例如,服务实例根据元数据中的模型信息(例如,模型的类型)从存储器中查询到与该模型的类型相匹配的原始模型文件。
步骤S55,服务实例订阅模型变更消息;
具体的,服务实例从消息中心订阅与当前租户相关的模型文件的变更信息,在获得模型文件的变更信息之后,执行步骤S57。
步骤S57,服务实例加载原始模型文件,即,服务实例加载原始模型文件至内存;
步骤S59,服务实例通过变量引用获取原始模型文件;
具体的,使用变量引用内存中存储的原始模型文件,创建第一引用关系,其中,变量的赋值为原始模型文件的存储地址,例如,原始模型文件的存储地址为0x000011,变量为M,则M=0x000011。
至此,便完成了***服务的启动过程,在***服务启动完毕之后,便会执行图3所示的热替换的过程。
需要说明的是,在服务实例加载原始模型文件至内存之后,服务实例从消息订阅中心订阅模型变更信息,其中,模型变更信息用于表征是否生成新模型文件,在生成新模型文件的条件下,服务实例从消息中心获取到模型变更信息。
在一种可选的实施例中,图6示出了的一种优选的热加载的方法流程图,如图6所示,在模型文件为新模型文件的情况下,在获取***服务的服务实例加载至内存中的模型文件之前,模型文件的处理方法还包括如下步骤:
步骤S602,服务实例从消息中心获取模型变更消息;
具体的,新模型文件可经过训练得到,在训练得到新模型文件的情况下,可生成模型变更信息,其中,该模型变更信息可用于表征是否有新的模型文件生成。
需要说明的是,新模型的训练是离线的,在新模型训练完毕之后,离线程序会向消息中心发送模型变更消息。
步骤S604,服务实例从配置中心获取元数据,即如果服务实例检测到模型变更信息,服务实例从配置中心获取元数据,其中,元数据至少包括:模型信息。
具体的,服务实例检测到模型变更信息指示已生成信息的模型文件,此时,服务实例从配置中心获取模型信息(例如,模型的类型信息以及模型创建的时间信息等),然后根据模型的类型信息以及模型创建的时间信息得到与其相对应的元数据。
步骤S606,服务实例从存储器中获取模型文件,即服务实例使用元数据从存储器中获取训练得到新模型文件;
具体的,服务实例根据模型的类型信息以及模型创建的时间信息等模型信息从存储器中查找到与模型信息相匹配的新模型文件。
步骤S608,服务实例加载新模型文件至内存,如图6所示,将新模型文件的地址加载到地址2中。
步骤S610,在服务实例加载新模型文件至内存之后,服务实例从消息订阅中心订阅模型变更信息,其中,模型变更信息用于表征是否再次生成新的模型文件。
具体的,步骤S610包括:
步骤S6102,服务实例发送新模型加载就绪消息至消息中心;
步骤S6104,在服务实例发送新模型加载就绪消息至消息中心之后,服务实例从消息中心订阅全部服务实例的新模型加载就绪消息。
在一种可选的实施例中,当服务实例收到消息中心的模型变更消息之后,会重新执行图5所示的步骤,然后向消息中心发出新模型加载就绪消息,并从消息中心订阅全部服务实例就绪消息。至此,租户的全部节点实例的内存中均存在新模型文件和原始模型文件两份模型文件,最后在全部实例就绪的消息将被触发。
需要说明的是,热加载与***服务的启动流程是两个并列的、独立的过程,二者互不干扰。
实施例3
根据本发明实施例,还提供了一种模型文件的处理装置实施例,如图7所示的模型文件的处理装置的结构示意图,该装置包括:获取模块701以及接收模块703。
获取模块701,用于获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系。
在上述获取模块701中,上述***服务可以为但不限于智能交互服务(例如,智能问答服务),上述***服务中包括至少一个服务实例,每个服务实例可以将其对应的模型文件加载到内存中,供租用该***服务的租户的使用。
在一种可选的实施例中,租用上述***服务的租户分别为A、B、C和D四个租户,这四个租户使用上述***服务用于不同的环境中,例如,租户A将该***服务用于娱乐问答服务***中,租户B将该***服务用于体育问答服务***中,租户C将该***服务用于军事问答服务***中,租户D将该***服务用于日常问答服务***中,上述四个租户在同一个***服务中所使用的模型文件是不同的。其中,当租户对与其相对应的模型文件进行了修改之后,得到新模型文件,此时,需要重新加载模型文件,该模型文件即为新模型文件,例如,租户A在与其对应的模型文件中添加了新的元素。当租户服务的使用者,即上述四个租户所对应的用户在使用智能问答服务***时产生一个服务实例,例如,租户A的使用者(或用户)A’通过娱乐问答服务***提问问题的过程即为一个服务实例,此时,用户A’提出的问题需要进入到新模型文件中进行查询。
需要说明的是,由于编程语言中的引用是指声明一个变量,并将一个对象的地址赋值给该变量,此时,如果将一个新的对象赋给上述变量,其实质为变更了变量的引用地址。但在Java等使用虚拟机的编程语言中,没有引用的对象,因此上述变量需要在周期性的垃圾回收中被销毁,并释放对应的内存空间。由此,原始模型文件与服务实例之间的第一引用关系可以通过变量来实现。此外,可以通过JNA(Java Native Access,提供了动态访问***的本地库)对接C++算法的方法来达到上述通过变量引用的方法建立原始模型文件与服务实例之间的第一引用关系。
通过上述获取模块701可以通过变量引用的方法建立原始模型文件与服务实例之间的对应关系,进而根据该对应关系可以完成***服务的启动流程。
接收模块703,用于接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
在上述接收模块703中,租户在对原始模型文件进行修改得到新模型文件之后需要将原始模型文件替换为新模型文件,此时,租户会发出热替换命令。在***服务对模型文件的更换的过程中,服务实例与模型文件之间的引用关系也发生了变化,即此时的新模型文件与服务实例之间的引用关系为第二引用关系,其中,第二引用关系同样可以通过变量引用的方法建立。
在一种可选的实施例中,当租户发出热替换的指令之后,***服务通过变量引用的方式将加载到内存中的模型文件与***服务中的变量进行映射,使得模型文件从***服务中解耦,并通过消息机制获知模型文件的变化,在***服务运行时动态的加载新模型文件,最终在***服务中的全部服务实例的节点就绪之后,将原始模型文件直接替换为新模型文件,从而完成文件模型的热替换。
需要说明的是,在完成文件模型的热替换之后,每个服务实例均会发送新模型替换就绪的消息,此后,每个实例均会使用新模型文件处理请求。
通过接收模块703可以确保***服务的可用性与稳定性,进而在不停止***服务的情况下,实现模型文件的热替换的效果。
由上可知,通过获取***服务的服务实例加载至内存中的模型文件,接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系,第二引用关系为内存中的新模型文件与服务实例的引用关系,容易注意到的是,由于采用了变量引用的方法,因此在将原始模型文件与***服务中的服务实例通过变量进行映射,当需要对原始模型文件进行热替换时,只需要将新模型文件与***服务中的服务实例通过变量进行映射即可,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
需要说明的是,上述获取模块701以及接收模块703对应于实施例2中的步骤S202至步骤S204,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。
可选的,***服务包括多个服务实例,在每个服务实例完成加载模型文件至内存之后,每个服务实例阻塞用于执行处理请求线程,直至第一引用关系转换为第二引用关系之后,启动执行处理请求,其中,处理请求用于调用与服务实例对应的模型文件。
可选的,在每个服务实例的第一引用关系转换为第二引用关系之后,每个服务实例发送新模型就绪消息,且在每个服务实例都发送对应的新模型就绪消息的情况下,将唤醒已经阻塞的线程。
可选的,在模型文件为原始模型文件的情况下,其中,模型文件的处理装置还包括:启动模块以及加载模块。其中,启动模块,用于启动***服务时,获取与服务实例对应的原始模型文件;加载模块,用于将原始模型文件加载至内存,并创建原始模型文件与服务实例之间的第一引用关系。
需要说明的是,上述启动模块以及加载模块对应于实施例2中的步骤S402至步骤S404,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。
可选的,启动模块包括:数据获取模块以及模型获取模块。其中,数据获取模块,用于服务实例从配置中心获取元数据,其中,元数据至少包括:模型信息;模型获取模块,用于服务实例使用元数据从存储器中获取原始模型文件。
需要说明的是,上述数据获取模块以及模型获取模块对应于实施例2中的步骤S51至步骤S53,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。
可选的,加载模块包括:第一加载模块以及创建模块。其中,第一加载模块,用于服务实例加载原始模型文件至内存;创建模块,用于使用变量引用内存中存储的原始模型文件,创建第一引用关系,其中,变量的赋值为原始模型文件的存储地址。
需要说明的是,上述第一加载模块以及创建模块对应于实施例2中的步骤S57至步骤S59,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。
可选的,在服务实例加载原始模型文件至内存之后,服务实例从消息订阅中心订阅模型变更信息,其中,模型变更信息用于表征是否生成新模型文件。
可选的,在模型文件为新模型文件的情况下,其中,模型文件的处理装置还包括:第一获取模块、第二获取模块以及第二加载模块。具体的,第一获取模块,用于如果服务实例检测到模型变更信息,服务实例从配置中心获取元数据,其中,在训练得到新模型文件的情况下,生成模型变更信息,元数据至少包括:模型信息;第二获取模块,用于服务实例使用元数据从存储器中获取训练得到新模型文件;第二加载模块,用于服务实例加载新模型文件至内存。
需要说明的是,上述第一获取模块、第二获取模块以及第二加载模块对应于实施例2中的步骤S604至步骤S608,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。
可选的,在服务实例加载新模型文件至内存之后,服务实例从消息订阅中心订阅模型变更信息,其中,模型变更信息用于表征是否再次生成新的模型文件。
实施例4
根据本发明实施例,还提供了一种模型文件的处理***实施例,如图8所示的模型文件的处理***的结构示意图,该***包括:业务终端801以及服务器803。
业务终端801,用于发起处理请求,其中,处理请求用于调用与服务实例对应的模型文件,其中,模型文件包括:原始模型文件和新模型文件;
服务器803,与业务终端通信,用于在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系;其中,在服务器的服务实例完成加载模型文件至内存之后,将阻塞执行接收到的处理请求,直至第一引用关系转换为第二引用关系之后,启动执行处理请求,并将执行结果返回给业务终端。
在一种可选的实施例中,上述业务终端801包括但不限于安装在智能移动终端(例如,智能手机、平板以及可穿戴设备等)以及电脑等上的智能交互终端(例如,智能问答***)。当用户通过语音或文字的方式在智能移动终端上的智能问答***提出问题时,智能问答***接收用户的处理请求,并将该处理请求发送给对应的***服务的租户,其中,租户为***服务的租户,该***服务中的每个租户都对应一个租户模型(即模型文件)。与该***服务相对应的服务器接收智能问答***发出的处理请求,通过变量引用的方法建立原始模型文件与服务实例之间的第一引用关系,当租户需要在***服务中加载新的模型文件时,租户会向***服务发出热替换的指令,***服务通过变量引用的方式将加载到内存中的模型文件与***服务中的变量进行映射,使得模型文件从***服务中解耦,并通过消息机制获知模型文件的变化,在***服务运行时动态的加载新模型文件,最终在***服务中的全部服务实例的节点就绪之后,将原始模型文件直接替换为新模型文件,从而完成文件模型的热替换。
需要说明的是,第一引用关系是通过将原始模型文件的地址赋值给变量而建立起来的,即内存中存储的是原始模型文件的地址;第二引用关系是通过将新模型文件的地址赋值给变量,当进行热切换时,服务***中同时存在原始模型文件和新模型文件,为了避免在热替换的过程中服务实例的不一致性,在所有的服务实例加载完成之后,每个服务实例均会收到新模型就绪消息,并阻塞当前的处理请求的线程。待第一引用关系完全切换为第二引用关系之后,每个服务实例发送新模型替换就绪的消息,并订阅该消息,将阻塞的线程唤醒,此时,服务实例使用的是新模式文件,即至此完成了***服务的热替换过程。
此外,还需要说明的是,新模型的加载过程与服务***的启动过程是两个并行的、独立的过程,二者互不影响。
由上可知,通过业务终端发起处理请求,与业务终端通信的服务器在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,第二引用关系为内存中新模型文件与服务实例之间的引用关系,在服务器的服务实例完成加载模型文件至内存之后,将阻塞执行接收到的处理请求,直至第一引用关系转换为第二引用关系之后,启动执行处理请求,并将执行结果返回给业务终端,容易注意到的是,由于采用了变量引用的方法,因此在将原始模型文件与***服务中的服务实例通过变量进行映射,当需要对原始模型文件进行热替换时,只需要将新模型文件与***服务中的服务实例通过变量进行映射即可,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
可选的,服务器还用于启动***服务时,获取与服务实例对应的原始模型文件;将原始模型文件加载至内存,并创建原始模型文件与服务实例之间的第一引用关系。
可选的,服务器还用于服务实例从配置中心获取元数据,其中,元数据至少包括:模型信息;服务实例使用元数据从存储器中获取原始模型文件。
可选的,服务器还用于服务实例加载原始模型文件至内存;使用变量引用内存中存储的原始模型文件,创建第一引用关系,其中,变量的赋值为原始模型文件的存储地址。
可选的,服务器还用于如果服务实例检测到模型变更信息,服务实例从配置中心获取元数据,其中,在训练得到新模型文件的情况下,生成模型变更信息,元数据至少包括:模型信息;服务实例使用元数据从存储器中获取训练得到新模型文件;服务实例加载新模型文件至内存。
实施例5
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选的,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选的,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的漏洞检测方法中以下步骤的程序代码:获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系;接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
可选的,图9是根据本发明实施例的一种计算机终端的结构框图。如图9所示,该计算机终端9可以包括一个或多个(图中采用91a、91b,……,91n来示出)处理器91(处理器91可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器93、以及用于通信功能的传输模块95。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端9还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
应当注意到的是上述一个或多个处理器91和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端9(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器93可用于存储应用软件的软件程序以及模块,如本发明实施例中的界面内容的显示方法对应的程序指令/数据存储装置,处理器91通过运行存储在存储器93内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器93可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器94可进一步包括相对于处理器91远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端9。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置95用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端9的通信供应商提供的无线网络。在一个实例中,传输装置95包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置95可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端9(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图9所示的计算机终端9可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图9仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端中的部件的类型。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系;接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
可选的,上述处理器还可以执行如下步骤的程序代码:启动***服务时,获取与服务实例对应的原始模型文件;将原始模型文件加载至内存,并创建原始模型文件与服务实例之间的第一引用关系。
可选的,上述处理器还可以执行如下步骤的程序代码:服务实例从配置中心获取元数据,其中,元数据至少包括:模型信息;服务实例使用元数据从存储器中获取原始模型文件。
可选的,上述处理器还可以执行如下步骤的程序代码:服务实例加载原始模型文件至内存;使用变量引用内存中存储的原始模型文件,创建第一引用关系,其中,变量的赋值为原始模型文件的存储地址。
可选的,上述处理器还可以执行如下步骤的程序代码:如果服务实例检测到模型变更信息,服务实例从配置中心获取元数据,其中,在训练得到新模型文件的情况下,生成模型变更信息,元数据至少包括:模型信息;服务实例使用元数据从存储器中获取训练得到新模型文件;服务实例加载新模型文件至内存。
采用本发明实施例,提供了一种模型文件的处理方法,通过获取***服务的服务实例加载至内存中的模型文件,接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系,第二引用关系为内存中的新模型文件与服务实例的引用关系,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
本领域普通技术人员可以理解,图9所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,计算机终端13还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例6
本发明的实施例还提供了一种存储介质。可选的,在本实施例中,上述存储介质可以用于保存上述实施例2所提供的模型文件的处理方法所执行的程序代码。
可选的,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取***服务的服务实例加载至内存中的模型文件,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系;接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与服务实例之间的引用关系。
可选的,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:启动***服务时,获取与服务实例对应的原始模型文件;将原始模型文件加载至内存,并创建原始模型文件与服务实例之间的第一引用关系。
可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:服务实例从配置中心获取元数据,其中,元数据至少包括:模型信息;服务实例使用元数据从存储器中获取原始模型文件。
可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:服务实例加载原始模型文件至内存;使用变量引用内存中存储的原始模型文件,创建第一引用关系,其中,变量的赋值为原始模型文件的存储地址。
可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:如果服务实例检测到模型变更信息,服务实例从配置中心获取元数据,其中,在训练得到新模型文件的情况下,生成模型变更信息,元数据至少包括:模型信息;服务实例使用元数据从存储器中获取训练得到新模型文件;服务实例加载新模型文件至内存。
实施例7
本发明的实施例还提供了一种模型文件的处理设备的实施例,图10是根据本发明实施例的一种模型文件的处理设备的结构示意图,出于描述的目的,所绘结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该硬件资源调度***解释为对图10所示的任一组件或其组合具有任何依赖或需求。如图10所示,该处理设备包括:存储器1001和处理器1003。
其中,存储器1001,用于存储***服务的服务实例加载至模型文件,其中,模型文件包括:原始模型文件和新模型文件;处理器1003,用于在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为新模型文件与服务实例之间的引用关系。
需要说明的是,上述模型文件可以为但不限于存储在内存中的模型文件,上述***服务器可以为但不限于智能交互服务(例如,智能问答服务)。另外,原始模型文件与服务实例之间的第一引用关系可以通过JNA对接C++算法的方法来达到根据变量引用的方法建立原始模型文件与服务实例之间的第一引用关系。与建立第一引用关系的方法相同,可以通过变量引用的方法建立第二引用关系。
由上可知,通过存储器存储***服务的服务实例加载至内存中的模型文件,处理器在启动***服务时,创建原始模型文件与服务实例之间的第一引用关系,并在接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,且内存中的原始模型文件与服务实例之间存在第一引用关系,第二引用关系为内存中的新模型文件与服务实例的引用关系,容易注意到的是,由于采用了变量引用的方法,因此在将原始模型文件与***服务中的服务实例通过变量进行映射,当需要对原始模型文件进行热替换时,只需要将新模型文件与***服务中的服务实例通过变量进行映射即可,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
实施例8
根据本发明实施例,还提供了一种模型文件的处理方法实施例,该方法可以在实施例7所提供的模型文件的处理设备中运行。其中,图11是根据本发明所提供的模型文件的处理方法实施例的模型文件的处理方法的流程图,如图11所示,该方法包括如下步骤:
步骤S1102,获取***服务的服务实例加载至模型文件,其中,模型文件包括:原始模型文件和新模型文件,且原始模型文件与服务实例之间存在第一引用关系;
步骤S1104,接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,第二引用关系为新模型文件与服务实例之间的引用关系。
需要说明的是,上述***服务可以为但不限于智能交互服务(例如,智能问答服务),上述***服务中包括至少一个服务实例,每个服务实例可以将其对应的模型文件加载到内存中,供租用该***服务的租户的使用。此外,上述模型文件可以为但不限于存储在内存中的模型文件。
在一种可选的实施例中,***服务中的存储器存储有服务实例加载至内存中的模型文件,在***服务启动时,***服务中的处理器根据模型文件创建模型文件与服务实例之间的引用关系。当租户发出热替换指令之后,***服务中的处理器接收热替换指令,并通过变量引用的方式将记载到内存中的模型文件与***服务中的变量进行映射,使得模型文件从***服务中解耦,并通过消息机制获知模型文件的变化,在***服务运行时动态的加载新模型文件,最终在***服务中的全部服务实例的节点就绪之后,将原始模型文件直接替换为新模型文件,从而完成文件模型的热替换。在完成文件模型的热替换之后,原始模型文件与服务实例之间的第一引用关系即切换为新模型文件与服务实例之间的第二引用关系。
在基于上述实施例步骤S1102至步骤S1104所限定的方案中,可以获知,通过获取***服务的服务实例加载至模型文件,接收到热替换指令之后,将第一引用关系转换为第二引用关系,其中,模型文件包括:原始模型文件和新模型文件,且原始模型文件与服务实例之间存在第一引用关系,第二引用关系为新模型文件与服务实例的引用关系,容易注意到的是,由于采用了变量引用的方法,因此在将原始模型文件与***服务中的服务实例通过变量进行映射,当需要对原始模型文件进行热替换时,只需要将新模型文件与***服务中的服务实例通过变量进行映射即可,达到了根据消息机制通知模型文件变更,以引用机制热替换模型文件的目的,从而实现了对模型文件进行热替换,并保持服务的一致性的技术效果,进而解决了现有的***服务无法实现模型的热交换以及无法保持服务一致性的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种模型文件的处理设备,其特征在于,包括:
存储器,用于存储***服务的服务实例加载至内存中的模型文件,其中,所述模型文件包括:原始模型文件和新模型文件;
处理器,用于在启动所述***服务时,创建所述原始模型文件与所述服务实例之间的第一引用关系,并在接收到热替换指令之后,将所述第一引用关系转换为第二引用关系,其中,第二引用关系为所述内存中的新模型文件与所述服务实例之间的引用关系;
所述***服务包括多个服务实例,在每个服务实例完成加载所述模型文件至所述内存之后,每个所述服务实例阻塞用于执行处理请求线程,直至所述第一引用关系转换为所述第二引用关系之后,启动执行所述处理请求,其中,所述处理请求用于调用与所述服务实例对应的模型文件。
2.一种模型文件的处理方法,其特征在于,包括:
获取***服务的服务实例加载至内存中的模型文件,其中,所述模型文件包括:原始模型文件和新模型文件,且所述内存中的原始模型文件与所述服务实例之间存在第一引用关系;
接收到热替换指令之后,将所述第一引用关系转换为第二引用关系,其中,第二引用关系为所述内存中的新模型文件与所述服务实例之间的引用关系;
其中,所述***服务包括多个服务实例,在每个服务实例完成加载所述模型文件至所述内存之后,每个所述服务实例阻塞用于执行处理请求线程,直至所述第一引用关系转换为所述第二引用关系之后,启动执行所述处理请求,其中,所述处理请求用于调用与所述服务实例对应的模型文件。
3.根据权利要求2所述的方法,其特征在于,在每个所述服务实例的第一引用关系转换为第二引用关系之后,每个所述服务实例发送新模型就绪消息,且在每个所述服务实例都发送对应的新模型就绪消息的情况下,将唤醒已经阻塞的线程。
4.根据权利要求2至3中任意一项所述的方法,其特征在于,在所述模型文件为所述原始模型文件的情况下,其中,在获取***服务的服务实例加载至内存中的模型文件之前,所述方法还包括:
启动所述***服务时,获取与所述服务实例对应的原始模型文件;
将所述原始模型文件加载至所述内存,并创建所述原始模型文件与所述服务实例之间的所述第一引用关系。
5.根据权利要求4所述的方法,其特征在于,启动所述***服务时,获取与所述服务实例对应的原始模型文件,包括:
所述服务实例从配置中心获取元数据,其中,所述元数据至少包括:模型信息;
所述服务实例使用所述元数据从存储器中获取所述原始模型文件。
6.根据权利要求4所述的方法,其特征在于,将所述原始模型文件加载至所述内存,并创建所述原始模型文件与所述服务实例之间的所述第一引用关系,包括:
所述服务实例加载所述原始模型文件至所述内存;
使用变量引用所述内存中存储的所述原始模型文件,创建所述第一引用关系,其中,所述变量的赋值为所述原始模型文件的存储地址。
7.根据权利要求5所述的方法,其特征在于,在所述服务实例加载所述原始模型文件至所述内存之后,所述服务实例从消息订阅中心订阅模型变更信息,其中,所述模型变更信息用于表征是否生成所述新模型文件。
8.根据权利要求2至3中任意一项所述的方法,其特征在于,在所述模型文件为所述新模型文件的情况下,其中,在获取***服务的服务实例加载至内存中的模型文件之前,所述方法还包括:
如果所述服务实例检测到模型变更信息,所述服务实例从配置中心获取元数据,其中,在训练得到所述新模型文件的情况下,生成模型变更信息,所述元数据至少包括:模型信息;
所述服务实例使用所述元数据从存储器中获取训练得到所述新模型文件;
所述服务实例加载所述新模型文件至所述内存。
9.根据权利要求8所述的方法,其特征在于,在所述服务实例加载所述新模型文件至所述内存之后,所述服务实例从消息订阅中心订阅所述模型变更信息,其中,所述模型变更信息用于表征是否再次生成新的模型文件。
10.一种模型文件的处理装置,其特征在于,包括:
获取模块,用于获取***服务的服务实例加载至内存中的模型文件,其中,所述模型文件包括:原始模型文件和新模型文件,且所述内存中的原始模型文件与所述服务实例之间存在第一引用关系;
接收模块,用于接收到热替换指令之后,将所述第一引用关系转换为第二引用关系,其中,第二引用关系为所述内存中的新模型文件与所述服务实例之间的引用关系;
其中,所述***服务包括多个服务实例,在每个服务实例完成加载所述模型文件至所述内存之后,每个所述服务实例阻塞用于执行处理请求线程,直至所述第一引用关系转换为所述第二引用关系之后,启动执行所述处理请求,其中,所述处理请求用于调用与所述服务实例对应的模型文件。
11.一种模型文件的处理***,其特征在于,包括:
业务终端,用于发起处理请求,其中,所述处理请求用于调用与服务实例对应的模型文件,其中,所述模型文件包括:原始模型文件和新模型文件;
服务器,与所述业务终端通信,用于在启动***服务时,创建所述原始模型文件与所述服务实例之间的第一引用关系,并在接收到热替换指令之后,将所述第一引用关系转换为第二引用关系,其中,第二引用关系为内存中的新模型文件与所述服务实例之间的引用关系;
其中,在所述服务器的服务实例完成加载所述模型文件至所述内存之后,将阻塞执行接收到的所述处理请求,直至所述第一引用关系转换为所述第二引用关系之后,启动执行所述处理请求,并将执行结果返回给所述业务终端。
12.一种模型文件的处理设备,其特征在于,包括:
存储器,用于存储***服务的服务实例加载至模型文件,其中,所述模型文件包括:原始模型文件和新模型文件;
处理器,用于在启动所述***服务时,创建所述原始模型文件与所述服务实例之间的第一引用关系,并在接收到热替换指令之后,将所述第一引用关系转换为第二引用关系,其中,第二引用关系为所述新模型文件与所述服务实例之间的引用关系;
其中,所述***服务包括多个服务实例,在每个服务实例完成加载所述模型文件之后,每个所述服务实例阻塞用于执行处理请求线程,直至所述第一引用关系转换为所述第二引用关系之后,启动执行所述处理请求,其中,所述处理请求用于调用与所述服务实例对应的模型文件。
13.一种模型文件的处理方法,其特征在于,包括:
获取***服务的服务实例加载至模型文件,其中,所述模型文件包括:原始模型文件和新模型文件,且所述原始模型文件与所述服务实例之间存在第一引用关系;
接收到热替换指令之后,将所述第一引用关系转换为第二引用关系,其中,第二引用关系为所述新模型文件与所述服务实例之间的引用关系;
其中,所述***服务包括多个服务实例,在每个服务实例完成加载所述模型文件之后,每个所述服务实例阻塞用于执行处理请求线程,直至所述第一引用关系转换为所述第二引用关系之后,启动执行所述处理请求,其中,所述处理请求用于调用与所述服务实例对应的模型文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710703918.6A CN109408134B (zh) | 2017-08-16 | 2017-08-16 | 模型文件的处理方法、装置、***以及处理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710703918.6A CN109408134B (zh) | 2017-08-16 | 2017-08-16 | 模型文件的处理方法、装置、***以及处理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408134A CN109408134A (zh) | 2019-03-01 |
CN109408134B true CN109408134B (zh) | 2022-04-08 |
Family
ID=65454680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710703918.6A Active CN109408134B (zh) | 2017-08-16 | 2017-08-16 | 模型文件的处理方法、装置、***以及处理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408134B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886287B1 (en) * | 2003-08-27 | 2011-02-08 | Avaya Inc. | Method and apparatus for hot updating of running processes |
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用***中实现资源加载及资源热更新的方法 |
EP2701060A1 (en) * | 2012-08-24 | 2014-02-26 | CA, Inc. | Method for managing the versioning (update and rollback) of an Agent instrumenting Java application |
CN103984582A (zh) * | 2014-06-04 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种热更新方法和装置 |
CN104461625A (zh) * | 2014-12-04 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种热补丁实现方法和*** |
CN105677415A (zh) * | 2016-01-06 | 2016-06-15 | 网易(杭州)网络有限公司 | 热更新方法及装置 |
CN106156186A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据模型管理装置、服务器及数据处理方法 |
CN106502751A (zh) * | 2016-11-15 | 2017-03-15 | 努比亚技术有限公司 | 热部署装置和方法 |
CN106528225A (zh) * | 2016-11-03 | 2017-03-22 | 北京像素软件科技股份有限公司 | 一种游戏服务器的热更新方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880086B2 (en) * | 2000-05-20 | 2005-04-12 | Ciena Corporation | Signatures for facilitating hot upgrades of modular software components |
TWI242725B (en) * | 2001-06-11 | 2005-11-01 | Oce Tech Bv | A method for executing a hot migrate operation through an incremental roll-over process that uses migration plug-in means for conversion during an upgrade transition, and a multiprocessing system and a system arranged for implementing such method |
US7818736B2 (en) * | 2005-09-14 | 2010-10-19 | International Business Machines Corporation | Dynamic update mechanisms in operating systems |
US8561048B2 (en) * | 2005-12-29 | 2013-10-15 | Sap Ag | Late and dynamic binding of pattern components |
US8495351B2 (en) * | 2010-10-13 | 2013-07-23 | International Business Machines Corporation | Preparing and preserving a system configuration during a hot upgrade |
CN102650953B (zh) * | 2011-02-28 | 2014-05-07 | 北京航空航天大学 | 并发优化的bpmn组合服务执行引擎及方法 |
CN103902319A (zh) * | 2012-12-30 | 2014-07-02 | 青岛海尔软件有限公司 | 基于服务器端javascript的热部署方法 |
US9558010B2 (en) * | 2013-03-14 | 2017-01-31 | International Business Machines Corporation | Fast hot boot of a computer system |
CN104657158B (zh) * | 2013-11-20 | 2018-02-23 | 北京先进数通信息技术股份公司 | 一种业务***中业务处理的方法和装置 |
US9477461B1 (en) * | 2014-03-12 | 2016-10-25 | Cloud Linux Zug GmbH | Systems and methods for generating and applying operating system live updates |
CN104516760B (zh) * | 2014-12-12 | 2018-01-09 | 华为技术有限公司 | 一种操作***热切换的方法、装置及移动终端 |
CN106201566B (zh) * | 2015-05-07 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 利博伟特软件热升级方法及设备 |
CN106250199B (zh) * | 2016-07-26 | 2019-06-21 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
-
2017
- 2017-08-16 CN CN201710703918.6A patent/CN109408134B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886287B1 (en) * | 2003-08-27 | 2011-02-08 | Avaya Inc. | Method and apparatus for hot updating of running processes |
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用***中实现资源加载及资源热更新的方法 |
EP2701060A1 (en) * | 2012-08-24 | 2014-02-26 | CA, Inc. | Method for managing the versioning (update and rollback) of an Agent instrumenting Java application |
CN103984582A (zh) * | 2014-06-04 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种热更新方法和装置 |
CN104461625A (zh) * | 2014-12-04 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种热补丁实现方法和*** |
CN106156186A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据模型管理装置、服务器及数据处理方法 |
CN105677415A (zh) * | 2016-01-06 | 2016-06-15 | 网易(杭州)网络有限公司 | 热更新方法及装置 |
CN106528225A (zh) * | 2016-11-03 | 2017-03-22 | 北京像素软件科技股份有限公司 | 一种游戏服务器的热更新方法及装置 |
CN106502751A (zh) * | 2016-11-15 | 2017-03-15 | 努比亚技术有限公司 | 热部署装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109408134A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220179682A1 (en) | Task processing method, apparatus, and system based on distributed system | |
US20190052476A1 (en) | Smart appliance control method and smart appliance | |
EP3142304B1 (en) | Synchronization method for notification message of electronic device, server and electronic device | |
US10455542B2 (en) | Method of synchronizing notification messages for electronic devices and electronic devices | |
CN105187266B (zh) | 信息监控方法和装置 | |
CN109246220B (zh) | 一种消息推送***及方法 | |
EP3211527A1 (en) | Multi-screen sharing based application management method and device, and storage medium | |
CN112181677B (zh) | 业务的处理方法和装置、存储介质、电子装置 | |
US10191732B2 (en) | Systems and methods for preventing service disruption during software updates | |
CN110837407B (zh) | 无服务器云服务***及其资源管理方法以及电子设备 | |
CN113312083B (zh) | 应用生成方法、装置及设备 | |
WO2021102691A1 (zh) | 资源订阅方法、装置、计算机设备和存储介质 | |
CN111930565B (zh) | 分布式管理***中组件的进程故障自愈方法、装置及设备 | |
CN110582998A (zh) | 群组的通信方法及装置、计算机存储介质、计算机设备 | |
CN114637549B (zh) | 基于服务网格的应用的数据处理方法、***和存储介质 | |
CN113296871A (zh) | 容器组实例的处理方法、设备及*** | |
CN114691390A (zh) | 用户态程序的处理方法和装置、存储介质及处理器 | |
CN109408134B (zh) | 模型文件的处理方法、装置、***以及处理设备 | |
CN107734050A (zh) | 一种负载机分配方法、计算设备及负载机分配*** | |
CN110958287B (zh) | 操作对象数据同步方法、装置及*** | |
CN111614702B (zh) | 一种边缘计算方法以及边缘计算*** | |
CN115102999B (zh) | DevOps***、服务提供方法、存储介质和电子装置 | |
WO2022222968A1 (zh) | 会议通话的恢复方法、装置、***、电子设备和可读存储介质 | |
CN106230878B (zh) | 一种基于AllJoyn框架的设备服务调用方法及装置 | |
WO2022206231A1 (zh) | Kubernetes集群的负载均衡的处理方法、装置及存储介质 |
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 |