CN111045700B - 数据更新方法、装置、***、存储介质及电子设备 - Google Patents
数据更新方法、装置、***、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111045700B CN111045700B CN201811194907.0A CN201811194907A CN111045700B CN 111045700 B CN111045700 B CN 111045700B CN 201811194907 A CN201811194907 A CN 201811194907A CN 111045700 B CN111045700 B CN 111045700B
- Authority
- CN
- China
- Prior art keywords
- data
- service process
- channel data
- process instance
- signature
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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 Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种数据更新方法、装置、***、存储介质及电子设备。其中,所述数据更新方法包括:获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。通过本申请实施例,能够实现通道数据的即时更新。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据更新方法、装置、***、存储介质及电子设备。
背景技术
调度平台上的很多服务进程对数据具有巨大的需求,需要频繁地进行数据的更新。通常的数据更新策略是服务进程更新数据时,生成新的数据版本并修改相应的数据配置,再触发调度器将服务进程的数据版本升级到新的数据版本。具体地,在触发调度器之后,调度器开始进行调度,并分发新的版本数据。在完成新的版本数据的分发时,调度器触发服务进程加载新的版本数据,从而完成服务进程的数据版本的升级。
然而,上述数据更新策略在实际应用中存在一些不足之处。调度平台上的一些服务进程中的每个服务进程需要更新多项数据,并且每项数据的大小不尽相同。由于版本数据是在整体完成分发后统一进行加载,在面临需要紧急更新的数据时,如果服务进程当前有其它数据的更新,则需要紧急更新的数据的更新流程被阻塞,需要等待较长的时间,从而导致需要紧急更新的数据不能够得到即时更新。
发明内容
本申请实施例的目的在于提供一种数据更新方法、装置、***、存储介质及电子设备,以解决现有技术中存在的服务进程的数据更新不即时的问题。
根据本申请实施例的第一方面,提供了一种数据更新方法,所述方法包括:获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
根据本申请实施例的第二方面,提供了一种数据更新方法,所述方法包括:接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
根据本申请实施例的第三方面,提供了一种数据更新装置,所述装置包括:获取模块,用于获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;第一确定模块,用于从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;第一发送模块,用于向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
根据本申请实施例的第四方面,提供了一种数据更新装置,所述装置包括:第二接收模块,用于接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;第一更新模块,用于基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
根据本申请实施例的第五方面,提供了一种数据更新***,所述***包括:调度器,用于获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;向所述服务进程实例对应的数据分发代理发送用于更新服务进程实例的至少一个通道数据的数据更新指令,所述数据分发代理,用于接收所述调度器发送的数据更新指令;基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
根据本申请实施例的第六方面,提供了一种存储介质,所述存储介质上存储有计算机可执行指令,所述计算机可执行指令在被处理器处理时执行如下步骤:获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
根据本申请实施例的第七方面,提供了一种存储介质,所述存储介质上存储有计算机可执行指令,所述计算机可执行指令在被处理器处理时执行如下步骤:接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
根据本申请实施例的第八方面,提供了一种电子设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请实施例第一方面或第二方面所述的数据更新方法。
通过本申请实施例提供的数据更新的技术方案,获取为服务进程的版本数据配置的至少一个通道数据;从多个服务进程实例中确定待更新至少一个通道数据的服务进程实例;向服务进程实例对应的数据分发代理发送数据更新指令,以使数据分发代理根据数据更新指令,独立于服务进程实例的版本数据更新服务进程实例的至少一个通道数据,与现有的其它方式相比,独立于服务进程实例的版本数据更新服务进程实例的通道数据,能够实现通道数据的即时更新。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例一的一种数据更新方法的步骤流程图;
图2是根据本申请实施例二的一种数据更新方法的步骤流程图;
图3是根据本申请实施例三的一种数据更新方法的步骤流程图;
图4是根据本申请实施例四的一种数据更新方法的步骤流程图;
图5是根据本申请实施例五的一种数据更新***的结构框图;
图6是根据本申请实施例六的一种数据更新装置的结构框图;
图7是根据本申请实施例七的一种数据更新装置的结构框图;
图8是根据本申请实施例八的一种数据更新装置的结构框图;
图9是根据本申请实施例九的一种数据更新装置的结构框图;
图10是根据本申请实施例十的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
实施例一
参照图1,示出了本申请实施例一的一种数据更新方法的步骤流程图。
本实施例的数据更新方法包括以下步骤:
在步骤S101中,获取为服务进程的版本数据配置的至少一个通道数据。
在本申请实施例中,所述服务进程可为聊天进程、信息流推送进程等,所述服务进程对应有多个服务进程实例。其中,一台机器上存在的相应服务进程可称为一个服务进程实例。举例来说,一台服务器上存在的聊天进程可称为一个聊天进程实例,多台服务器上存在的聊天进程可称为多个聊天进程实例。所述版本数据可为用于对服务进程的数据版本进行升级的数据,也即是从服务进程的原始版本数据中分离出轻量数据或对生效延时敏感的数据后所剩余的数据。所述通道数据可为从原始版本数据中分离出的轻量数据或对生效延时敏感的数据,例如,信息流中的黑名单、敏感词列表等。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,用户通过页面将服务进程的原始版本数据中需要即时更新的数据(如轻量数据或对生效延时敏感的数据)配置为通道数据,从而实现从原始版本数据中分离出需要即时更新的数据。其中,通道数据的数量可为至少一个,并且每个通道数据的数据内容是不相同的。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤S102中,从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例。
在一些可选实施例中,在从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例时,针对所述至少一个通道数据中的每个通道数据,基于所述多个服务进程实例的服务目标、当前状态和当前状态变化时间,对所述多个服务进程实例进行排序,确定待更新通道数据的至少一个服务进程实例。可以理解的是,任何从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一个具体的例子中,服务进程实例的服务目标是由第三方提供给调度器的,包括可服务和不服务两种情形。在对多个服务进程实例进行排序时,引入服务进程实例的服务目标因素,能够避免确定到准备下线的服务进程实例。服务进程实例的当前状态是由调度器通过与服务进程实例交互获取得到的,服务进程实例的当前状态包括以下中的至少一者:未加载状态、已加载状态、未发布状态、已发布状态。其中,服务进程实例启动,并且没有完成数据加载的状态称为未加载状态,服务进程实例完成数据加载的状态称为已加载状态,服务进程实例开始准备通过数据接口向外发布提供服务的状态称为未发布状态,服务进程实例通过数据接口完成向外发布提供服务的状态称为已发布状态。当服务进程实例处于已发布状态时,则说明服务进程实例提供的服务可用。此外,分别处于未加载状态、已加载状态、未发布状态、已发布状态的服务进程实例的稳定性是依次递增的。在对多个服务进程实例进行排序时,引入服务进程实例的当前状态因素,能够控制服务进程实例在通道数据更新过程中的不稳定范围。服务进程实例的当前状态变化时间是由调度器通过与服务进程实例交互获取得到的。在对多个服务进程实例进行排序时,引入服务进程实例的当前状态变化时间因素,能够尽量确定到相同状态下进度靠前的服务进程实例。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,在对所述多个服务进程实例进行排序时,服务进程实例的服务目标因素、当前状态因素和当前状态变化时间因素的优先级是依次递减的。此外,针对服务进程实例的服务目标因素,可服务的优先级高于不服务的优先级。针对服务进程实例的当前状态因素,未加载状态、已加载状态、未发布状态和已发布状态的优先级是依次递减的。针对服务进程实例的当前状态变化时间因素,在先变化为当前状态的优先级高于在后变化为当前状态的优先级。籍此,能够将可服务的且不稳定的服务进程实例排在前面。可以理解的是,任何对所述多个服务进程实例进行排序的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一个具体的例子中,可根据以下公式对多个服务进程实例中的每个服务进程实例进行打分,获得多个服务进程实例中的每个服务进程实例的分数:服务进程实例的分数=目标权重系数*权重A+当前状态权重系数*权重B+状态变化权重系数。其中,权重A=权重B*10,权重B=服务进程实例的数量的最高位单位*10,目标权重系数、当前状态权重系数和状态变化权重系数的大小依次递减,可服务的服务进程实例的目标权重系数大于不服务的服务进程实例的目标权重系数,分别处于未加载状态、已加载状态、未发布状态、已发布状态的服务进程实例的当前状态权重系数是依次递减的,在先变化为当前状态的服务进程实例的状态变化权重系数大于在后变化为当前状态的服务进程实例的状态变化权重系数。然后,根据多个服务进程实例中的每个服务进程实例的分数对多个服务进程实例进行排序,确定待更新通道数据的至少一个服务进程实例。具体地,针对至少一个通道数据中的每个通道数据,可将分数排在前三的服务进程实例确定为待更新通道数据的服务进程实例。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,如果分别待更新至少两个通道数据的服务进程实例相同或部分相同,确定待更新所述至少两个通道数据的服务进程实例为相同的服务进程实例。籍此,能够避免在通道数据异常导致服务进程实例提供的服务异常时影响范围的扩散,保证在更新服务进程实例的通道数据时服务进程实例整体的稳定性。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,如果待更新第一通道数据的服务进程实例包括一号机器上的服务进程实例、二号机器上的服务进程实例和三号机器上的服务进程实例,并且待更新第二通道数据的服务进程实例包括二号机器上的服务进程实例、三号机器上的服务进程实例和四号机器上的服务进程实例,则确定待更新第一通道数据和第二通道数据的服务进程实例为二号机器上的服务进程实例或三号机器上的服务进程实例。如果待更新第一通道数据的服务进程实例包括一号机器上的服务进程实例、二号机器上的服务进程实例和三号机器上的服务进程实例,并且待更新第二通道数据的服务进程实例包括一号机器上的服务进程实例、二号机器上的服务进程实例和三号机器上的服务进程实例,则确定待更新第一通道数据和第二通道数据的服务进程实例为一号机器上的服务进程实例或二号机器上的服务进程实例或三号机器上的服务进程实例。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤S103中,向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
在本申请实施例中,数据分发代理可理解为调度器为各个机器上的服务进程实例安排的代理人,用来代理执行调度器下发的数据指令。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
通过本申请实施例提供的数据更新方法,获取为服务进程的版本数据配置的至少一个通道数据;从多个服务进程实例中确定待更新至少一个通道数据的服务进程实例;向服务进程实例对应的数据分发代理发送数据更新指令,以使数据分发代理根据数据更新指令,独立于服务进程实例的版本数据更新服务进程实例的至少一个通道数据,与现有的其它方式相比,独立于服务进程实例的版本数据更新服务进程实例的通道数据,能够实现通道数据的即时更新。
本实施例的数据更新方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例二
参照图2,示出了本申请实施例二的一种数据更新方法的步骤流程图。
本实施例的数据更新方法包括以下步骤:
在步骤S201中,获取为服务进程的版本数据配置的至少一个通道数据。
由于该步骤S201与上述步骤S101类似,在此不再赘述。
在步骤S202中,从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例。
在一些可选实施例中,在确定待更新所述至少一个通道数据的服务进程实例之前,预先配置好所述多个服务进程实例的更新比例、服务进程实例的更新轮数以及服务进程实例在每轮的更新个数。然后,基于预先配置好的所述多个服务进程实例的更新比例、服务进程实例的更新轮数以及服务进程实例在每轮的更新个数,从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,假设调度平台关联有100台机器,每台机器上具有相应的服务进程,也就是说,在该调度平台上,服务进程对应有100个服务进程实例,并且预先配置好的所述多个服务进程实例的更新比例、服务进程实例的更新轮数以及服务进程实例在每轮的更新个数分别为10%、5轮、2个,那么将100个服务进程实例分为5轮进行更新,服务进程实例在每轮的更新个数为2个,这样100个服务进程实例的更新比例正好为10%。在每轮更新中,针对至少一个通道数据中的每个通道数据,从100个服务进程实例中确定待更新通道数据的2个服务进程实例。其中,从100个服务进程实例中确定待更新通道数据的2个服务进程实例的具体实施方式与上述实施例一类似,在此不再赘述。此外,如果为服务进程的版本数据配置的通道数据的数量为2个,并且确定待更新第一通道数据的服务进程实例包括1号机器上的服务进程实例和2号机器上的服务进程实例,待更新第二通道数据的服务进程实例包括2号机器上的服务进程实例和3号机器上的服务进程实例,那么可确定待更新第一通道数据和第二通道数据的服务进程实例为2号机器上的服务进程实例。这样,能够避免在通道数据异常导致服务进程实例提供的服务异常时影响范围的扩散,保证在更新服务进程实例的通道数据时服务进程实例整体的稳定性。该过程可称为调度器对通道数据做灰度更新的调度。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤S203中,向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
在一个具体的例子中,在每轮更新确定得到待更新每个通道数据的服务进程实例之后,调度器向相应的服务进程实例对应的数据分发代理发送数据更新指令,以使数据分发代理根据数据更新指令,独立于相应的服务进程实例的版本数据更新相应的服务进程实例的相应的通道数据。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤S204中,接收所述数据分发代理每间隔预设时间段发送的所述服务进程实例的至少一个通道数据的分发状态和加载状态。
在本申请实施例中,所述预设时间段可由本领域技术人员根据实际需要进行设定,本申请实施例对此不做任何限定。此外,在接收到调度器发送的数据更新指令之后,数据分发代理根据数据更新指令,分发通道数据,并在完成通道数据的分发时,向相应的服务进程实例触发加载指令,以使相应的服务进程实例加载相应的通道数据。与此同时,数据分发代理每间隔预设时间段向调度器发送相应的服务进程实例的相应的通道数据的分发状态和加载状态。其中,所述通道数据的分发状态包括通道数据分发的进度,例如,通道数据未分发、通道数据分发完成,所述通道数据的加载状态包括加载失败或加载成功。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,在每轮更新向相应的服务进程实例对应的数据分发代理发送数据更新指令之后,调度器接收数据分发代理每间隔预设时间段发送的相应的服务进程实例的相应的通道数据的分发状态和加载状态,并在下一轮更新中,利用相应的服务进程实例的相应的通道数据的分发状态和加载状态,确定待更新相应的通道数据的服务进程实例。籍此,在每轮更新中调度器能够准确地调度服务进程实例进行更新。例如,如果在上一轮更新中,一号机器上的服务进程实例的第一通道数据的加载状态为加载成功,那么在本轮更新中,针对第一通道数据,从除开一号机器上的服务进程实例的服务进程实例中确定待更新第一通道数据的服务进程实例。又例如,如果在上一轮更新中,一号机器上的服务进程实例的第一通道数据的加载状态为加载失败,并且一号机器上的服务进程实例的第一通道数据的分发状态为分发完成,那么在本轮更新中,针对第一通道数据,从所有服务进程实例中确定待更新第一通道数据的服务进程实例,并且在接收到调度器发送的更新指令时,一号机器上的服务进程实例对应的数据分发代理根据该数据更新指令,直接向一号机器上的服务进程实例触发加载指令,以使一号机器上的服务进程实例加载第一通道数据,省去了数据分发代理再次下发第一通道数据的过程。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,在检测到所述服务进程实例或所述数据分发代理重启时,向所述数据分发代理发送所述数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。籍此,在服务进程实例重启或数据分发代理由于异常进程重启时,能够及时地恢复服务进程实例的数据版本。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,调度器与服务进程实例之间存在数据交互,并且调度器与数据分发代理之间也存在数据交互。在检测到服务进程实例或数据分发代理重启时,调度器向数据分发代理发送数据更新指令,以使数据分发代理根据数据更新指令,独立于服务进程实例的版本数据更新服务进程实例的至少一个通道数据。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在实施例一的基础上,在每轮更新中调度器接收数据分发代理每间隔预设时间段发送的服务进程实例的至少一个通道数据的分发状态和加载状态,与现有的其它方式相比,在每轮更新中调度器能够准确地调度服务进程实例进行更新。
本实施例的数据更新方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例三
参照图3,示出了本申请实施例三的一种数据更新方法的步骤流程图。
本实施例的数据更新方法包括以下步骤:
在步骤S301中,接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令。
在本申请实施例中,服务进程实例对应的数据分发代理接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令。所述数据更新指令包括以下中的至少一者:服务进程实例签名、通道数据签名、通道数据的下载地址、通道数据的数据名称。其中,所述服务进程实例签名是调度器基于服务进程标识信息和服务进程实例的启动时间确定得到的。所述通道数据签名是调度器基于通道数据的下载地址确定得到的。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤S302中,基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
在一些可选实施例中,在独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据时,针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。可以理解的是,任何独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一些可选实施例中,针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,则将本地存储的通道数据的数据签名更新为所述数据更新指令中的通道数据的数据签名。籍此,能够准确地检测到通道数据的数据签名是否变化。针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则将本地存储的通道数据的下载地址更新为所述数据更新指令中的通道数据的下载地址。籍此,能够准确地检测到通道数据的下载地址是否变化。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,所述数据签名包括服务进程实例签名和通道数据签名。在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名不相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,所述服务进程实例签名是调度器基于服务进程标识信息和服务进程实例的启动时间确定得到的。因此,在服务进程实例每次启动或重启时,所述服务进程实例签名被更新。进而,调度器向服务进程实例对应的数据分发代理发送的数据更新指令中的服务进程实例签名是变化的。这样,在数据更新指令中的通道数据签名不变化时,服务进程实例对应的数据分发代理向服务进程实例触发加载指令,以使服务进程实例加载通道数据。在数据更新指令中的通道数据签名变化时,服务进程实例对应的数据分发代理基于数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。其中,所述通道数据签名是调度器基于通道数据的下载地址确定得到的。如果通道数据签名变化,则说明服务进程实例中的通道数据需要被更新。籍此,能够保证服务进程实例的通道数据一直处于最新版本。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,在向所述服务进程实例触发加载指令之后,服务进程实例对应的数据分发代理接收所述服务进程实例针对相应的通道数据的加载结果。其中,所述加载结果包括加载成功或加载失败。籍此,能够准确地确定服务进程实例的通道数据的加载结果。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
通过本申请实施例提供的数据更新方法,接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;基于数据更新指令,独立于服务进程实例的版本数据更新服务进程实例的至少一个通道数据,与现有的其它方式相比,独立于服务进程实例的版本数据更新服务进程实例的通道数据,能够实现通道数据的即时更新。
本实施例的数据更新方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例四
参照图4,示出了本申请实施例四的一种数据更新方法的步骤流程图。
本实施例的数据更新方法包括以下步骤:
在步骤S401中,接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令。
由于该步骤S401与上述步骤S301类似,在此不再赘述。
在步骤S402中,针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
在一个具体的例子中,所述数据签名包括服务进程实例签名和通道数据签名。在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名相同,则不执行任何操作。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,当数据分发代理由于异常进程而重启时,调度器向服务进程实例对应的数据分发代理发送数据更新指令。其中,数据更新指令中的服务进程实例签名是没有变化的。如果确定数据更新指令中的通道数据签名变化了,则基于数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向服务进程实例触发加载指令,以使服务进程实例加载相应的通道数据,从而完成服务进程实例的相应的通道数据的更新。如果确定数据更新指令中的通道数据签名没有变化,则不执行任何操作。籍此,在服务进程实例的通道数据无更新时,能够避免服务进程实例的通道数据的重复加载。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,当服务进程实例的数据版本需要升级时,调度器向服务进程实例对应的数据分发代理发送的数据更新指令中的通道数据签名是变化的,而服务进程实例签名是不变化的。服务进程实例对应的数据分发代理基于数据更新指令中的通道数据的下载地址分发相应的通道数据,并在完成相应的通道数据的分发时,向服务进程实例触发加载指令,以使服务进程实例加载相应的通道数据,从而完成服务进程实例的相应的通道数据的更新。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,在更新服务进程实例的通道数据的过程中,服务进程实例对应的数据分发代理每间隔预设时间段向所述调度器发送所述服务进程实例的至少一个通道数据的分发状态和加载状态。其中,所述预设时间段可由本领域技术人员根据实际需要进行设定,本申请实施例对此不做任何限定。籍此,能够方便于调度器对通道数据做灰度更新的调度。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,在更新服务进程实例的通道数据的过程中,服务进程实例对应的数据分发代理每间隔预设时间段存储所述服务进程实例的至少一个通道数据的分发状态和加载状态。其中,所述预设时间段可由本领域技术人员根据实际需要进行设定,本申请实施例对此不做任何限定。籍此,服务进程实例对应的数据分发代理能够实时地维护服务进程实例的通道数据的状态,并且在数据分发代理重启时,能够及时地恢复相应的服务进程实例的通道数据的当前状态。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
通过本申请实施例提供的数据更新方法,接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;针对至少一个通道数据中的每个通道数据,如果确定数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址相同,则向服务进程实例触发加载指令,以使服务进程实例加载相应的通道数据,与现有的其它方式相比,独立于服务进程实例的版本数据更新服务进程实例的通道数据,能够实现通道数据的即时更新。
本实施例的数据更新方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例五
参照图5,示出了本申请实施例五的一种数据更新***的结构框图。
本实施例提供的数据更新***包括:调度器,用于获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;向所述服务进程实例对应的数据分发代理发送用于更新服务进程实例的至少一个通道数据的数据更新指令,所述数据分发代理,用于接收所述调度器发送的数据更新指令;基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
在具体的实施方式中,每台服务器上的相应的服务进程称为一个服务进程实例,每台服务器上的服务进程实例对应有一个数据分发代理,并且调度器与多台服务器上的服务进程实例对应的数据分发代理进行数据交互。此外,调度器还与多台服务器上的服务进程实例进行数据交互。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
本实施例的数据更新***用于实现前述多个方法实施例中相应的数据更新方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例六
参照图6,示出了根据本申请实施例六的一种数据更新装置的结构框图。
本实施例的数据更新装置包括:获取模块501,用于获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;第一确定模块502,用于从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;第一发送模块503,用于向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
本实施例的数据更新装置用于实现前述多个方法实施例中相应的数据更新方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例七
参照图7,示出了根据本申请实施例七的一种数据更新装置的结构框图。
本实施例的数据更新装置包括:获取模块601,用于获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;第一确定模块602,用于从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;第一发送模块603,用于向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
可选地,所述第一确定模块602,包括:排序模块6021,用于针对所述至少一个通道数据中的每个通道数据,基于所述多个服务进程实例的服务目标、当前状态和当前状态变化时间,对所述多个服务进程实例进行排序,确定待更新通道数据的至少一个服务进程实例。
可选地,所述第一确定模块602,还包括:第二确定模块6022,用于如果分别待更新至少两个通道数据的服务进程实例相同或部分相同,确定待更新所述至少两个通道数据的服务进程实例为相同的服务进程实例。
可选地,所述当前状态包括以下中的至少一者:未加载状态、已加载状态、未发布状态、已发布状态。
可选地,所述装置还包括:第一接收模块604,用于接收所述数据分发代理每间隔预设时间段发送的所述服务进程实例的至少一个通道数据的分发状态和加载状态。
可选地,所述装置还包括:第二发送模块605,用于在检测到所述服务进程实例或所述数据分发代理重启时,向所述数据分发代理发送所述数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
本实施例的数据更新装置用于实现前述多个方法实施例中相应的数据更新方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本申请另一实施例还提供一种存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在被处理器处理时执行如下步骤:获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
本申请另一实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的数据更新方法。
实施例八
参照图8,示出了根据本申请实施例八的一种数据更新装置的结构框图。
本实施例的数据更新装置包括:第二接收模块701,用于接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;第一更新模块702,用于基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
本实施例的数据更新装置用于实现前述多个方法实施例中相应的数据更新方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例九
参照图9,示出了根据本申请实施例九的一种数据更新装置的结构框图。
本实施例的数据更新装置包括:第二接收模块801,用于接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;第一更新模块802,用于基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
可选地,所述第一更新模块802,具体用于:针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
可选地,所述第一更新模块802,具体用于:针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
可选地,所述装置还包括:第二更新模块803,用于针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,则将本地存储的通道数据的数据签名更新为所述数据更新指令中的通道数据的数据签名。
可选地,所述装置还包括:第三更新模块804,用于针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则将本地存储的通道数据的下载地址更新为所述数据更新指令中的通道数据的下载地址。
可选地,所述数据签名包括服务进程实例签名和通道数据签名。
可选地,所述第一更新模块802,具体用于:在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名不相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
可选地,所述第一更新模块802,还用于:如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
可选地,所述第一更新模块802,具体用于:在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
可选地,所述装置还包括:第三接收模块805,用于在向所述服务进程实例触发加载指令之后,接收所述服务进程实例针对相应的通道数据的加载结果。
可选地,所述服务进程实例签名是基于服务进程标识信息和服务进程实例的启动时间确定得到的。
可选地,所述通道数据签名是基于通道数据的下载地址确定得到的。
可选地,所述装置还包括:第三发送模块806,用于每间隔预设时间段向所述调度器发送所述服务进程实例的至少一个通道数据的分发状态和加载状态。
可选地,所述装置还包括:存储模块807,用于每间隔预设时间段存储所述服务进程实例的至少一个通道数据的分发状态和加载状态。
可选地,所述数据更新指令包括以下中的至少一者:服务进程实例签名、通道数据签名、通道数据的下载地址、通道数据的数据名称。
本实施例的数据更新装置用于实现前述多个方法实施例中相应的数据更新方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本申请另一实施例还提供一种存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在被处理器处理时执行如下步骤:接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
本申请另一实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的数据更新方法。
实施例十
图10是根据本申请实施例十的一种电子设备的结构示意图。如图10所示,该设备包括:一个或多个处理器81以及存储器82,图10中以一个处理器81为例。执行上述方法的设备还可以包括:输入装置83和输出装置84。处理器81、存储器82、输入装置83和输出装置84可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器82作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的上述方法对应的程序指令/模块。处理器81通过运行存储在存储器82中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中上述方法。
存储器82可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储数据更新时所创建的数据等。此外,存储器82可以包括高速随机存取存储器82,还可以包括非易失性存储器82,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器82可选包括相对于处理器81远程设置的存储器82,这些远程存储器82可以通过网络连接至客户端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置83可接收输入的数字或字符信息,以及产生与客户端的用户设置以及功能控制有关的键信号输入。输入装置83可包括按压模组等设备。
所述一个或者多个模块存储在所述存储器82中,当被所述一个或者多个处理器81执行时,执行上述任意方法实施例中的上述方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器71、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本领域的技术人员应明白,本申请实施例的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (46)
1.一种数据更新方法,其特征在于,所述方法包括:
获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;
从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;
向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,以独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,以在服务进程实例重启或数据分发代理由于异常进程重启时,恢复服务进程实例的数据版本。
2.根据权利要求1所述的方法,其特征在于,所述从多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例,包括:
针对所述至少一个通道数据中的每个通道数据,基于所述多个服务进程实例的服务目标、当前状态和当前状态变化时间,对所述多个服务进程实例进行排序,确定待更新通道数据的至少一个服务进程实例。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果分别待更新至少两个通道数据的服务进程实例相同或部分相同,确定待更新所述至少两个通道数据的服务进程实例为相同的服务进程实例。
4.根据权利要求2所述的方法,其特征在于,所述当前状态包括以下中的至少一者:未加载状态、已加载状态、未发布状态、已发布状态。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述数据分发代理每间隔预设时间段发送的所述服务进程实例的至少一个通道数据的分发状态和加载状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述服务进程实例或所述数据分发代理重启时,向所述数据分发代理发送所述数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
7.一种数据更新方法,其特征在于,所述方法包括:
接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;
基于所述数据更新指令,以独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,以在服务进程实例重启或数据分发代理由于异常进程重启时,恢复服务进程实例的数据版本。
8.根据权利要求7所述的方法,其特征在于,所述基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,包括:
针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
9.根据权利要求7所述的方法,其特征在于,所述基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,包括:
针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,则将本地存储的通道数据的数据签名更新为所述数据更新指令中的通道数据的数据签名。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则将本地存储的通道数据的下载地址更新为所述数据更新指令中的通道数据的下载地址。
12.根据权利要求8所述的方法,其特征在于,所述数据签名包括服务进程实例签名和通道数据签名。
13.根据权利要求12所述的方法,其特征在于,所述基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,还包括:
在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名不相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;
如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
15.根据权利要求12所述的方法,其特征在于,所述基于所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,还包括:
在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;
如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
16.根据权利要求13-15中任意一项权利要求所述的方法,其特征在于,所述方法还包括:
在向所述服务进程实例触发加载指令之后,接收所述服务进程实例针对相应的通道数据的加载结果。
17.根据权利要求12-15中任意一项权利要求所述的方法,其特征在于,所述服务进程实例签名是基于服务进程标识信息和服务进程实例的启动时间确定得到的。
18.根据权利要求12-15中任意一项权利要求所述的方法,其特征在于,所述通道数据签名是基于通道数据的下载地址确定得到的。
19.根据权利要求7-15中任意一项权利要求所述的方法,其特征在于,所述方法还包括:
每间隔预设时间段向所述调度器发送所述服务进程实例的至少一个通道数据的分发状态和加载状态。
20.根据权利要求7-15中任意一项权利要求所述的方法,其特征在于,所述方法还包括:
每间隔预设时间段存储所述服务进程实例的至少一个通道数据的分发状态和加载状态。
21.根据权利要求7-15中任意一项权利要求所述的方法,其特征在于,所述数据更新指令包括以下中的至少一者:
服务进程实例签名、通道数据签名、通道数据的下载地址、通道数据的数据名称。
22.一种数据更新装置,其特征在于,所述装置包括:
获取模块,用于获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;
第一确定模块,用于从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;
第一发送模块,用于向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,以独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,以在服务进程实例重启或数据分发代理由于异常进程重启时,恢复服务进程实例的数据版本。
23.根据权利要求22所述的装置,其特征在于,所述第一确定模块,包括:
排序模块,用于针对所述至少一个通道数据中的每个通道数据,基于所述多个服务进程实例的服务目标、当前状态和当前状态变化时间,对所述多个服务进程实例进行排序,确定待更新通道数据的至少一个服务进程实例。
24.根据权利要求23所述的装置,其特征在于,所述第一确定模块,还包括:
第二确定模块,用于如果分别待更新至少两个通道数据的服务进程实例相同或部分相同,确定待更新所述至少两个通道数据的服务进程实例为相同的服务进程实例。
25.根据权利要求23所述的装置,其特征在于,所述当前状态包括以下中的至少一者:未加载状态、已加载状态、未发布状态、已发布状态。
26.根据权利要求22所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收所述数据分发代理每间隔预设时间段发送的所述服务进程实例的至少一个通道数据的分发状态和加载状态。
27.根据权利要求22所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于在检测到所述服务进程实例或所述数据分发代理重启时,向所述数据分发代理发送所述数据更新指令,以使所述数据分发代理根据所述数据更新指令,独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据。
28.一种数据更新装置,其特征在于,所述装置包括:
第二接收模块,用于接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;
第一更新模块,用于基于所述数据更新指令,以独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,以在服务进程实例重启或数据分发代理由于异常进程重启时,恢复服务进程实例的数据版本。
29.根据权利要求28所述的装置,其特征在于,所述第一更新模块,具体用于:
针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
30.根据权利要求28所述的装置,其特征在于,所述第一更新模块,具体用于:
针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,并且确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
31.根据权利要求29所述的装置,其特征在于,所述装置还包括:
第二更新模块,用于针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的数据签名与本地存储的通道数据的数据签名不相同,则将本地存储的通道数据的数据签名更新为所述数据更新指令中的通道数据的数据签名。
32.根据权利要求29所述的装置,其特征在于,所述装置还包括:
第三更新模块,用于针对所述至少一个通道数据中的每个通道数据,如果确定所述数据更新指令中的通道数据的下载地址与本地存储的通道数据的下载地址不相同,则将本地存储的通道数据的下载地址更新为所述数据更新指令中的通道数据的下载地址。
33.根据权利要求29所述的装置,其特征在于,所述数据签名包括服务进程实例签名和通道数据签名。
34.根据权利要求33所述的装置,其特征在于,所述第一更新模块,具体用于:
在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名不相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;
如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名相同,则向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
35.根据权利要求34所述的装置,其特征在于,所述第一更新模块,还用于:
如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
36.根据权利要求33所述的装置,其特征在于,所述第一更新模块,具体用于:
在确定所述数据更新指令中的服务进程实例签名与本地存储的服务进程实例签名相同时,针对所述至少一个通道数据中的每个通道数据,确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名是否相同;
如果确定所述数据更新指令中的通道数据签名与本地存储的通道数据签名不相同,则基于所述数据更新指令中的通道数据的下载地址分发通道数据,并在完成通道数据的分发时,向所述服务进程实例触发加载指令,以使所述服务进程实例加载相应的通道数据。
37.根据权利要求34-36中任意一项权利要求所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于在向所述服务进程实例触发加载指令之后,接收所述服务进程实例针对相应的通道数据的加载结果。
38.根据权利要求33-36中任意一项权利要求所述的装置,其特征在于,所述服务进程实例签名是基于服务进程标识信息和服务进程实例的启动时间确定得到的。
39.根据权利要求33-36中任意一项权利要求所述的装置,其特征在于,所述通道数据签名是基于通道数据的下载地址确定得到的。
40.根据权利要求28-36中任意一项权利要求所述的装置,其特征在于,所述装置还包括:
第三发送模块,用于每间隔预设时间段向所述调度器发送所述服务进程实例的至少一个通道数据的分发状态和加载状态。
41.根据权利要求28-36中任意一项权利要求所述的装置,其特征在于,所述装置还包括:
存储模块,用于每间隔预设时间段存储所述服务进程实例的至少一个通道数据的分发状态和加载状态。
42.根据权利要求28-36中任意一项权利要求所述的装置,其特征在于,所述数据更新指令包括以下中的至少一者:
服务进程实例签名、通道数据签名、通道数据的下载地址、通道数据的数据名称。
43.一种数据更新***,其特征在于,所述***包括:
调度器,用于获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;向所述服务进程实例对应的数据分发代理发送用于更新服务进程实例的至少一个通道数据的数据更新指令,
所述数据分发代理,用于接收所述调度器发送的数据更新指令;基于所述数据更新指令,以独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,以在服务进程实例重启或数据分发代理由于异常进程重启时,恢复服务进程实例的数据版本。
44.一种存储介质,其特征在于,其上存储有计算机可执行指令,所述计算机可执行指令在被处理器处理时执行如下步骤:
获取为服务进程的版本数据配置的至少一个通道数据,所述服务进程对应有多个服务进程实例;
从所述多个服务进程实例中确定待更新所述至少一个通道数据的服务进程实例;
向所述服务进程实例对应的数据分发代理发送数据更新指令,以使所述数据分发代理根据所述数据更新指令,以独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,以在服务进程实例重启或数据分发代理由于异常进程重启时,恢复服务进程实例的数据版本。
45.一种存储介质,其特征在于,其上存储有计算机可执行指令,所述计算机可执行指令在被处理器处理时执行如下步骤:
接收调度器发送的用于更新服务进程实例的至少一个通道数据的数据更新指令;
基于所述数据更新指令,以独立于所述服务进程实例的版本数据更新所述服务进程实例的至少一个通道数据,以在服务进程实例重启或数据分发代理由于异常进程重启时,恢复服务进程实例的数据版本。
46.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-21中任意一项权利要求所述的数据更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194907.0A CN111045700B (zh) | 2018-10-15 | 2018-10-15 | 数据更新方法、装置、***、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194907.0A CN111045700B (zh) | 2018-10-15 | 2018-10-15 | 数据更新方法、装置、***、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111045700A CN111045700A (zh) | 2020-04-21 |
CN111045700B true CN111045700B (zh) | 2023-05-05 |
Family
ID=70230298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811194907.0A Active CN111045700B (zh) | 2018-10-15 | 2018-10-15 | 数据更新方法、装置、***、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111045700B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187548A (zh) * | 2020-10-09 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 配置数据同步更新方法、装置、设备及存储介质 |
CN117707566A (zh) * | 2023-08-23 | 2024-03-15 | 荣耀终端有限公司 | 一种操作***升级方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593247A (zh) * | 2013-11-18 | 2014-02-19 | 腾讯科技(成都)有限公司 | 一种数据传递方法、及装置 |
CN104216771A (zh) * | 2013-05-30 | 2014-12-17 | 华为技术有限公司 | 软件程序的重启方法及装置 |
WO2017152807A1 (zh) * | 2016-03-10 | 2017-09-14 | 阿里巴巴集团控股有限公司 | 通信通道处理方法和*** |
CN108182122A (zh) * | 2018-01-22 | 2018-06-19 | 广东欧珀移动通信有限公司 | 应用更新提醒方法、装置、存储介质和服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222339B2 (en) * | 2003-06-13 | 2007-05-22 | Intel Corporation | Method for distributed update of firmware across a clustered platform infrastructure |
US8561071B2 (en) * | 2005-07-11 | 2013-10-15 | International Business Machines Corporation | Process instance serialization |
US20160041819A1 (en) * | 2014-08-06 | 2016-02-11 | Microsoft Corporation | Updating service applications |
US10868883B2 (en) * | 2016-06-29 | 2020-12-15 | Nicira, Inc. | Upgrading a proxy that decouples network connections from an application during application's downtime |
-
2018
- 2018-10-15 CN CN201811194907.0A patent/CN111045700B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216771A (zh) * | 2013-05-30 | 2014-12-17 | 华为技术有限公司 | 软件程序的重启方法及装置 |
CN103593247A (zh) * | 2013-11-18 | 2014-02-19 | 腾讯科技(成都)有限公司 | 一种数据传递方法、及装置 |
WO2017152807A1 (zh) * | 2016-03-10 | 2017-09-14 | 阿里巴巴集团控股有限公司 | 通信通道处理方法和*** |
CN108182122A (zh) * | 2018-01-22 | 2018-06-19 | 广东欧珀移动通信有限公司 | 应用更新提醒方法、装置、存储介质和服务器 |
Non-Patent Citations (1)
Title |
---|
"并行计算机***中的计数算法研究";王俊昌等;《南京邮电大学学报(自然科学版)》;第37卷(第6期);第81-89页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111045700A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10348861B2 (en) | Software upgrade method and terminal | |
CN111045700B (zh) | 数据更新方法、装置、***、存储介质及电子设备 | |
CN101968741A (zh) | 一种数据更新的方法、服务器及*** | |
CN106572146A (zh) | 消息发送方法及消息发送装置 | |
CN112394898A (zh) | 投屏方法、装置、***、投屏设备及存储介质 | |
CN112118115A (zh) | 自动生成聊天室的方法、计算机可读介质及计算机装置 | |
CN110389976B (zh) | 一种多接口数据的调度方法和装置 | |
CN108553904B (zh) | 一种游戏匹配方法、装置、电子设备及介质 | |
CN110770720B (zh) | 资源搜索方法及相关产品 | |
CN111111216B (zh) | 一种匹配方法、装置、服务器及存储介质 | |
CN109660310B (zh) | 一种时钟同步的方法、装置、计算设备及计算机存储介质 | |
CN112084044A (zh) | ***中事件处理方法及相关装置 | |
US9219673B2 (en) | Crisscross cancellation protocol | |
CN116570928A (zh) | 一种基于nft的信息处理方法、装置和服务器 | |
CN110557656A (zh) | 个性化内容分发方法及装置 | |
US11258838B2 (en) | Method, system, and non-transitory computer readable record medium for processing chatroom based on usage | |
CN112667255B (zh) | 更新方法、装置、电子设备及存储介质 | |
EP2720151B1 (en) | Communication terminal and content update method | |
CN115048140A (zh) | 一种版本控制方法、装置、电子设备及存储介质 | |
CN114723367A (zh) | 配送方法、***和装置 | |
CN108829824B (zh) | 互联网运营活动中的资源处理方法及装置 | |
CN109150951B (zh) | Android***Activity的启动方法和装置 | |
CN112149385A (zh) | 字体标签提供方法、***及非暂时性计算机可读记录介质 | |
CN112148447A (zh) | 基于风险控制的任务处理方法、***、及电子设备 | |
KR20200014107A (ko) | 멀티 디바이스 환경에서 알림을 제공하는 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체 |
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 |