CN110221854A - 一种多进程数据更新方法、装置、介质和电子设备 - Google Patents

一种多进程数据更新方法、装置、介质和电子设备 Download PDF

Info

Publication number
CN110221854A
CN110221854A CN201910460174.9A CN201910460174A CN110221854A CN 110221854 A CN110221854 A CN 110221854A CN 201910460174 A CN201910460174 A CN 201910460174A CN 110221854 A CN110221854 A CN 110221854A
Authority
CN
China
Prior art keywords
new command
update
data
sent
fresh target
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.)
Granted
Application number
CN201910460174.9A
Other languages
English (en)
Other versions
CN110221854B (zh
Inventor
曾磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Beijing Volcano Engine Technology Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910460174.9A priority Critical patent/CN110221854B/zh
Publication of CN110221854A publication Critical patent/CN110221854A/zh
Application granted granted Critical
Publication of CN110221854B publication Critical patent/CN110221854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种多进程数据更新方法、装置、介质和电子设备,该请求方法包括:服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程;所述主进程根据所述更新指令确定所述更新指令的更新目标,所述更新目标包括至少一个工作进程;所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈;所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新。本方法可以有效的解决代码的快速更新问题,主动更新而非被动或者周期性更新,可以最快速度将最新的代码更新到服务器;本方法还可以实现指定进程的代码更新,对于某些需要对进程区别对待更新的场景下是一种有效的解决方案。

Description

一种多进程数据更新方法、装置、介质和电子设备
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种多进程数据更新方法、装置、介质和电子设备。
背景技术
在计算机程序应用过程中,往往需要对其中的某些数据模块进行更新。为了保障服务的连续性、稳定性,服务商往往在代码空闲时段(例如夜间)进行代码更新。
通常的数据更新方式包括:
一、服务备份/主备切换,这样的问题是需要提供额外的成本(硬件成本和部署成本),无疑增加了运营成本。
二、代码周期性更新,利用动态语言特性进行更新,例如在代码里预先设置好接口,周期性的去检查文件的时间戳,当发现文件有更新了之后就再触发更新逻辑。例如java的实现方式为:先定义好接口类,再利用ClassLoader类的loadClass方法来完成类的实际加载工作。
上述方法存在如下缺陷:
一、无法实时进行更新,如上所述,主流的动态代码更新方案都是预设接口,设立周期性检查规则进行代码的更新,代码更新之后,要等到进入下一个更新周期才生效。
二、无法指定进程单独进行行更新,通常我们会通过fork(复刻或派生)的方式在服务中创建很多个进程,每个进程对一个客户进行服务,例如在socket的网络服务器通常用fork来同时服务多个客户端,父进程专门负责监听端口,每次接收一个新的客户端连接就fork出一个子进程专门服务这个客户端。如果我们只希望只是针对某个进程进行代码单独更新,别的fork进程就不进行代码更新,这个时候现有的方案就没法支持了。
公开内容
本公开的目的在于提供一种多进程数据更新方法、装置、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:
根据本公开的具体实施方式,第一方面,本公开提供一种多进程数据更新方法,包括:
服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程;
所述主进程根据所述更新指令确定所述更新指令的更新目标,所述更新目标包括至少一个工作进程;
所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈;
所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新。
可选的,所述服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程,包括:
服务进程从网络接口实时监听是否有数据更新指令;
若监听到所述更新指令,将所述更新指令发送至内部通讯池,所述内部通讯池用于通过各自的通讯接口实现所述主进程与不同所述工作进程和/或所述服务进程的通讯;
所述内部通讯池通知所述主进程进行数据更新。
可选的,所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈,包括:
所述至少一个工作进程通过对应所述通讯接口接收所述更新指令;
并根据所述更新指令确定需要更新的参数;
将所述需要更新的参数发送至对应的记忆堆栈。
可选的,所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新,包括:
所述记忆堆栈调用参数更新模块;
所述参数更新模块根据所述需要更新的参数的特征按照不同语言特性发送到数据仓库;
所述数据仓库返回更新的数据到所述记忆堆栈,进而更新所述至少一个工作进程,完成对应进程数据的更新。
可选的,还包括:
完成数据更新后,发送回调指令到所述网络接口,所述回调指令用于说明更新完毕。
可选的,所述参数包括指定需要更更新的代码的模块名称、进程名称、下载url和服务器器ip。
根据本公开的具体实施方式,第二方面,本公开提供一种多进程数据更新装置,包括:
监听单元,用于服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程;
确定单元,用于所述主进程根据所述更新指令确定所述更新指令的更新目标,所述更新目标包括至少一个工作进程;
发送单元,用于所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈;
更新单元,用于所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新。
可选的,所述监听单元还用于:
服务进程从网络接口实时监听是否有数据更新指令;
若监听到所述更新指令,将所述更新指令发送至内部通讯池,所述内部通讯池用于通过各自的通讯接口实现所述主进程与不同所述工作进程和/或所述服务进程的通讯;
所述内部通讯池通知所述主进程进行数据更新。
根据本公开的具体实施方式,第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上任一项所述的方法。
根据本公开的具体实施方式,第四方面,本公开提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述的方法。
本公开实施例的上述方案与现有技术相比,至少具有以下有益效果:本公开通过提供一种多进程数据更新方法、装置、介质和电子设备,本方法可以有效的解决代码的快速更新问题,主动更新而非被动或者周期性更新,可以最快速度将最新的代码更新到服务器;本方法还可以实现指定进程的代码更新,对于某些需要对进程区别对待更新的场景下是一种有效的解决方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本公开实施例的多进程数据更新方法的流程图;
图2示出了根据本公开实施例的多进程数据更新方法流程执行图;
图3示出了根据本公开实施例的多进程数据更新装置结构示意图;
图4示出了根据本公开的实施例的电子设备连接结构示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在本公开实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本公开实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本公开实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
下面结合附图详细说明本公开的可选实施例。
实施例1
如图1所示,根据本公开的具体实施方式,第一方面,本公开提供一种多进程数据更新方法流程图。
数据更新(data revision)是以新数据项或记录、替换数据文件或数据库中与之相对应的旧数据项或记录的过程。包括局部的数据更新和全部的数据更新。
本实施例所述的方法适用于具有多进程工作模式下数据的热更新,所谓热更新是指随时进行数据更新,更新时只更新需要更新的某一个或某几个进程,其余进程仍然能够正常工作。具体包括如下步骤:
步骤S102:服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程。
服务进程(ServerProcess)是一种服务类型进程,它在后台运行。服务进程通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。服务进程可以在无用户登录和用户已经注销的情况下运行。
本实施例中ServerProcess进程属于网络监听进程,负责接收网络post,接收从网络端传来的代码更新的指令以便支持立即更新。
主进程(MainProcess)是一个主控进程,持有工作进程(WorkProcess)实例和服务进程实例,并能将进程间消息(IPC消息)分发给不不同的进程。
可选的,所述服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程,包括:
服务进程从网络接口实时监听是否有数据更新指令;若监听到所述更新指令(0步:获取到更新指令),将所述更新指令发送至内部通讯池(1步:UpdateIPCMessage),所述内部通讯池用于通过各自的通讯接口实现所述主进程与不同所述工作进程和/或所述服务进程的通讯;所述内部通讯池通知所述主进程进行数据更新,内部通讯池(IPC MessagePool)用于存放通讯消息,用于内部进程之间的通讯。如图2所示。
步骤S104:所述主进程根据所述更新指令确定所述更新指令的更新目标,所述更新目标包括至少一个工作进程。
工作进程workProcess:负责进行直接的工作逻辑,通过fork可以产生新的进程对接新的业务,每个workProcess进程有自己的进程序号。
主进程分发更新指令(2步:分发),更新指令是通过网络接口获取到的指令,其中包括了更新的具体参数,更新哪一个或哪几个进程,主进程接收到更新指令后,对上述内容进行分析,然后通过通讯接口(ProcessHandler)下发更新指令到对应工作进程(3步:IPCMessage)。而其余未收到更新指令的进程仍然执行原有进程的程序。
步骤S106:所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈(4步:OnUPdateMessage)。
可选的,所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈,包括:
所述至少一个工作进程通过对应所述通讯接口(ProcessHandler)接收所述更新指令;并根据所述更新指令确定需要更新的参数(例如更新指针类或某些变量参数);将所述需要更新的参数发送至对应的记忆堆栈。
所述记忆堆栈是一个临时性模块单元,用于存放需要更新的参数内容,且对于不同的语言有不同的更新方法。
可选的,所述参数包括指定需要更更新的代码的模块名称、进程名称、下载url和服务器器ip。
步骤S108:所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新。
可选的,所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新,包括:
所述记忆堆栈调用参数更新模块(5步:UPdatestack);所述参数更新模块根据所述需要更新的参数的特征按照不同语言特性发送到数据仓库(5.1步:updateImpII);所述数据仓库返回更新的数据到所述记忆堆栈(5.2步:netGet),进而更新所述至少一个工作进程(5.3步:doupdatestack),完成对应进程数据的更新(6步:NewCoderun),如图2所示。
可选的,该方法还包括:完成数据更新后,发送回调指令到所述网络接口,所述回调指令用于说明更新完毕。
本公开通过提供一种多进程数据更新方法,本方法可以有效的解决代码的快速更新问题,主动更新而非被动或者周期性更新,可以最快速度将最新的代码更新到服务器;本方法还可以实现指定进程的代码更新,对于某些需要对进程区别对待更新的场景下是一种有效的解决方案。
实施例2
如图3所示,本实施例承接实施例1,用于实现如实施例1所述的方法步骤,基于相同的名称含义的解释与实施例1相同,具有与实施例1相同的技术效果,此处不再赘述
数据更新(data revision)是以新数据项或记录、替换数据文件或数据库中与之相对应的旧数据项或记录的过程。包括局部的数据更新和全部的数据更新。
本实施例所述的装置适用于具有多进程工作模式下数据的热更新,所谓热更新是指随时进行数据更新,更新时只更新需要更新的某一个或某几个进程,其余进程仍然能够正常工作。根据本公开的具体实施方式,本公开提供一种多进程数据更新装置,包括:监听单元302、确定单元304、发送单元306以及更新单元308,具体如下:
监听单元302:服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程。
服务进程(ServerProcess)是一种服务类型进程,它在后台运行。服务进程通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。服务进程可以在无用户登录和用户已经注销的情况下运行。
本实施例中ServerProcess进程属于网络监听进程,负责接收网络post,接收从网络端传来的代码更新的指令以便支持立即更新。
主进程(MainProcess)是一个主控进程,持有工作进程(WorkProcess)实例和服务进程实例,并能将进程间消息(IPC消息)分发给不不同的进程。
可选的,所述服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程,包括:
服务进程从网络接口实时监听是否有数据更新指令;若监听到所述更新指令(0步:获取到更新指令),将所述更新指令发送至内部通讯池(1步:UpdateIPCMessage),所述内部通讯池用于通过各自的通讯接口实现所述主进程与不同所述工作进程和/或所述服务进程的通讯;所述内部通讯池通知所述主进程进行数据更新,内部通讯池(IPC MessagePool)用于存放通讯消息,用于内部进程之间的通讯。如图2所示。
确定单元304:所述主进程根据所述更新指令确定所述更新指令的更新目标,所述更新目标包括至少一个工作进程。
工作进程workProcess:负责进行直接的工作逻辑,通过fork可以产生新的进程对接新的业务,每个workProcess进程有自己的进程序号。
主进程分发更新指令(2步:分发),更新指令是通过网络接口获取到的指令,其中包括了更新的具体参数,更新哪一个或哪几个进程,主进程接收到更新指令后,对上述内容进行分析,然后通过通讯接口(ProcessHandler)下发更新指令到对应工作进程(3步:IPCMessage)。而其余未收到更新指令的进程仍然执行原有进程的程序。
发送单元306:所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈(4步:OnUPdateMessage)。
可选的,所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈,包括:
所述至少一个工作进程通过对应所述通讯接口(ProcessHandler)接收所述更新指令;并根据所述更新指令确定需要更新的参数(例如更新指针类或某些变量参数);将所述需要更新的参数发送至对应的记忆堆栈。
所述记忆堆栈是一个临时性模块单元,用于存放需要更新的参数内容,且对于不同的语言有不同的更新方法。
可选的,所述参数包括指定需要更更新的代码的模块名称、进程名称、下载url和服务器器ip。
更新单元308:所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新。
可选的,所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新,包括:
所述记忆堆栈调用参数更新模块(5步:UPdatestack);所述参数更新模块根据所述需要更新的参数的特征按照不同语言特性发送到数据仓库(5.1步:updateImpII);所述数据仓库返回更新的数据到所述记忆堆栈(5.2步:netGet),进而更新所述至少一个工作进程(5.3步:doupdatestack),完成对应进程数据的更新(6步:NewCoderun),如图2所示。
可选的,该方法还包括:完成数据更新后,发送回调指令到所述网络接口,所述回调指令用于说明更新完毕。
本公开通过提供一种多进程数据更新装置,本装置可以有效的解决代码的快速更新问题,主动更新而非被动或者周期性更新,可以最快速度将最新的代码更新到服务器;本方法还可以实现指定进程的代码更新,对于某些需要对进程区别对待更新的场景下是一种有效的解决方案。
实施例3
如图4所示,本实施例提供一种电子设备,该设备用于提供数据服务,所述电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上实施例所述的方法步骤。
实施例4
本公开实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行如上实施例所述的方法步骤。
实施例5
下面参考图4,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线405彼此相连。输入/输出(I/O)接口405也连接至总线405。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置405;包括例如磁带、硬盘等的存储装置408;以及通信装置405。通信装置405可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置405从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。

Claims (10)

1.一种多进程数据更新方法,其特征在于,包括:
服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程;
所述主进程根据所述更新指令确定所述更新指令的更新目标,所述更新目标包括至少一个工作进程;
所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈;
所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新。
2.如权利要求1所述的方法,其特征在于,所述服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程,包括:
服务进程从网络接口实时监听是否有数据更新指令;
若监听到所述更新指令,将所述更新指令发送至内部通讯池,所述内部通讯池用于通过各自的通讯接口实现所述主进程与不同所述工作进程和/或所述服务进程的通讯;
所述内部通讯池通知所述主进程进行数据更新。
3.如权利要求2所述的方法,其特征在于,所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈,包括:
所述至少一个工作进程通过对应所述通讯接口接收所述更新指令;
并根据所述更新指令确定需要更新的参数;
将所述需要更新的参数发送至对应的记忆堆栈。
4.如权利要求3所述的方法,其特征在于,所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新,包括:
所述记忆堆栈调用参数更新模块;
所述参数更新模块根据所述需要更新的参数的特征按照不同语言特性发送到数据仓库;
所述数据仓库返回更新的数据到所述记忆堆栈,进而更新所述至少一个工作进程,完成对应进程数据的更新。
5.如权利要求4所述的方法,其特征在于,还包括:
完成数据更新后,发送回调指令到所述网络接口,所述回调指令用于说明更新完毕。
6.如权利要求1所述的方法,其特征在于,所述参数包括指定需要更更新的代码的模块名称、进程名称、下载url和服务器器ip。
7.一种多进程数据更新装置,其特征在于,包括:
监听单元,用于服务进程实时监听是否有数据更新指令,若监听到所述更新指令,将所述更新指令发送至主进程;
确定单元,用于所述主进程根据所述更新指令确定所述更新指令的更新目标,所述更新目标包括至少一个工作进程;
发送单元,用于所述更新目标根据所述更新指令将需要更新的参数发送至对应的记忆堆栈;
更新单元,用于所述记忆堆栈从数据仓库中获取更新的数据,完成对应进程数据的更新。
8.如权利要求7所述的装置,其特征在于,所述监听单元还用于:
服务进程从网络接口实时监听是否有数据更新指令;
若监听到所述更新指令,将所述更新指令发送至内部通讯池,所述内部通讯池用于通过各自的通讯接口实现所述主进程与不同所述工作进程和/或所述服务进程的通讯;
所述内部通讯池通知所述主进程进行数据更新。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
CN201910460174.9A 2019-05-30 2019-05-30 一种多进程数据更新方法、装置、介质和电子设备 Active CN110221854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910460174.9A CN110221854B (zh) 2019-05-30 2019-05-30 一种多进程数据更新方法、装置、介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910460174.9A CN110221854B (zh) 2019-05-30 2019-05-30 一种多进程数据更新方法、装置、介质和电子设备

Publications (2)

Publication Number Publication Date
CN110221854A true CN110221854A (zh) 2019-09-10
CN110221854B CN110221854B (zh) 2023-02-28

Family

ID=67818860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910460174.9A Active CN110221854B (zh) 2019-05-30 2019-05-30 一种多进程数据更新方法、装置、介质和电子设备

Country Status (1)

Country Link
CN (1) CN110221854B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111191249A (zh) * 2019-12-31 2020-05-22 奇安信科技集团股份有限公司 用于防护设备的防护方法、防护设备和可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838761A (zh) * 2012-11-23 2014-06-04 阿里巴巴集团控股有限公司 一种元数据的更新方法及装置
CN106909128A (zh) * 2015-12-23 2017-06-30 中国科学院沈阳自动化研究所 一种支持运动控制模块在线升级的运动控制方法
US20180060568A1 (en) * 2016-08-23 2018-03-01 Qualcomm Incorporated System And Method Of Dynamically Updating Stack Canaries
CN108241496A (zh) * 2016-12-23 2018-07-03 北京奇虎科技有限公司 应用程序的平滑升级方法及装置
CN108388431A (zh) * 2018-02-13 2018-08-10 广东欧珀移动通信有限公司 应用程序热更新的控制方法、装置、存储介质及移动终端
CN108809838A (zh) * 2018-06-28 2018-11-13 北京顺丰同城科技有限公司 一种基于树形结构的服务发现处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838761A (zh) * 2012-11-23 2014-06-04 阿里巴巴集团控股有限公司 一种元数据的更新方法及装置
CN106909128A (zh) * 2015-12-23 2017-06-30 中国科学院沈阳自动化研究所 一种支持运动控制模块在线升级的运动控制方法
US20180060568A1 (en) * 2016-08-23 2018-03-01 Qualcomm Incorporated System And Method Of Dynamically Updating Stack Canaries
CN108241496A (zh) * 2016-12-23 2018-07-03 北京奇虎科技有限公司 应用程序的平滑升级方法及装置
CN108388431A (zh) * 2018-02-13 2018-08-10 广东欧珀移动通信有限公司 应用程序热更新的控制方法、装置、存储介质及移动终端
CN108809838A (zh) * 2018-06-28 2018-11-13 北京顺丰同城科技有限公司 一种基于树形结构的服务发现处理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111191249A (zh) * 2019-12-31 2020-05-22 奇安信科技集团股份有限公司 用于防护设备的防护方法、防护设备和可读存储介质
CN111191249B (zh) * 2019-12-31 2022-04-22 奇安信科技集团股份有限公司 用于防护设备的防护方法、防护设备和可读存储介质

Also Published As

Publication number Publication date
CN110221854B (zh) 2023-02-28

Similar Documents

Publication Publication Date Title
CN109299088A (zh) 海量数据存储方法、装置、存储介质及电子设备
CN111597065B (zh) 用于采集设备信息的方法和装置
CN111163324B (zh) 信息处理方法、装置和电子设备
CN110390493B (zh) 任务管理方法、装置、存储介质及电子设备
US20240045879A1 (en) Presentation method, apparatus and electronic device
US20230385080A1 (en) Method and apparatus for presenting information on lock screen interface, terminal, and storage medium
CN111161072A (zh) 基于区块链的随机数生成方法、设备及存储介质
CN110221854A (zh) 一种多进程数据更新方法、装置、介质和电子设备
CN111274104B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN111538717B (zh) 数据处理的方法、装置、电子设备及计算机可读介质
CN111182062B (zh) 服务多活调用方法、***及电子设备
CN109614137B (zh) 软件版本控制方法、装置、设备和介质
CN116319322B (zh) 电力设备节点通信连接方法、装置、设备和计算机介质
CN110750242B (zh) 一种部署文件的方法、***、介质和电子设备
CN111641692B (zh) 会话数据处理方法、装置及电子设备
CN113472565B (zh) 服务器功能的扩容方法、装置、设备和计算机可读介质
CN112799863B (zh) 用于输出信息的方法和装置
CN111736976B (zh) 任务处理方法、装置、计算设备和介质
CN112084440B (zh) 数据校验方法、装置、电子设备和计算机可读介质
CN111274093B (zh) 一种应用程序的排序方法及装置
US11277300B2 (en) Method and apparatus for outputting information
CN112468849B (zh) 用于视频信息传输的方法、装置、电子设备和介质
CN109582193B (zh) 列表管理组中的项cell的控制显示方法及电子设备
CN117742875A (zh) 容器调度方法、装置、电子设备和计算机可读介质
CN117271332A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230710

Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing

Patentee after: Beijing volcano Engine Technology Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Douyin Vision Co.,Ltd.