CN111866169B - 一种服务更新方法及装置、系统 - Google Patents

一种服务更新方法及装置、系统 Download PDF

Info

Publication number
CN111866169B
CN111866169B CN202010752598.5A CN202010752598A CN111866169B CN 111866169 B CN111866169 B CN 111866169B CN 202010752598 A CN202010752598 A CN 202010752598A CN 111866169 B CN111866169 B CN 111866169B
Authority
CN
China
Prior art keywords
service
sub
update data
update
service node
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
Application number
CN202010752598.5A
Other languages
English (en)
Other versions
CN111866169A (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN202010752598.5A priority Critical patent/CN111866169B/zh
Publication of CN111866169A publication Critical patent/CN111866169A/zh
Application granted granted Critical
Publication of CN111866169B publication Critical patent/CN111866169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种服务更新方法及装置、系统,该方法包括:在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据;将获取到的多个子更新数据进行合并,得到服务更新数据;根据合并得到的服务更新数据,对第一服务节点进行服务更新。基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。

Description

一种服务更新方法及装置、系统
本申请为2018年01月23日申请的,申请号为201810065040.2的,发明名称为“一种服务更新方法及装置、系统”的分案申请。
技术领域
本申请涉及服务更新技术领域,尤其涉及一种服务更新方法及装置、系统。
背景技术
目前,随着互联网、云计算产业的快速发展,互联网或云计算厂商需要频繁部署、更新产品功能和服务。在大型互联网产品中,对客户端提供的功能和服务往往由成百上千台服务节点上的各类软件参与实现的。产品功能和服务的每次部署均需要更新所有服务节点上的相关软件或配置。
当前,相关技术中提供了一种服务更新方法,主要为:首先,将更新服务时所需的服务更新数据上传至指定客户机,即用于更新各服务节点上的相关软件或配置的设备;然后,该指定客户机通过网络依次将服务更新数据传输至多个待服务更新的服务节点,服务节点接收到服务更新数据后进行本地服务更新,在整个服务更新的过程中,只有指定客户机参与服务更新数据的分发,各服务节点均等待指定客户机将服务更新数据传输至本地。另外,在整个服务更新的过程中,一旦指定客户机出现单点故障,将导致服务更新数据无法正常发布而暂停,进而导致出现线上多个服务节点的服务版本不一致或功能异常的情况。
由此可知,采用现有技术中的服务更新方法,对多个服务节点进行服务更新的过程中,存在对指定客户机依赖性高、服务更新耗费时间长、更新效率低的问题。
发明内容
本申请实施例的目的是提供一种服务更新方法及装置、系统,基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
为解决上述技术问题,本申请实施例是这样实现的:
本申请实施例提供了一种服务更新方法,包括:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
本申请实施例提供了一种服务更新装置,包括:
子数据获取模块,用于在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;
更新数据生成模块,用于将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
服务更新模块,用于根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
本申请实施例提供了一种服务更新系统,包括:待服务更新的多个服务节点,两两服务节点之间通信连接,每个服务节点设置有上述服务更新装置。
本申请实施例提供了一种服务更新设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
本申请实施例中的服务更新方法及装置、系统,在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据;将获取到的多个子更新数据进行合并,得到服务更新数据;根据合并得到的服务更新数据,对第一服务节点进行服务更新。基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的服务更新的应用场景示意图;
图2为本申请实施例提供的服务更新方法的第一种流程示意图;
图3为本申请实施例提供的服务更新方法的第二种流程示意图;
图4a为本申请实施例提供的服务更新方法中子更新数据扩散的实现原理示意图之一;
图4b为本申请实施例提供的服务更新方法中子更新数据扩散的实现原理示意图之二;
图4c为本申请实施例提供的服务更新方法中子更新数据扩散的实现原理示意图之三;
图4d为本申请实施例提供的服务更新方法中子更新数据扩散的实现原理示意图之四;
图5为本申请实施例提供的服务更新方法的第三种流程示意图;
图6为本申请实施例提供的服务更新装置的第一种模块组成示意图;
图7为本申请实施例提供的服务更新装置的第二种模块组成示意图;
图8为本申请实施例提供的服务更新系统的结构示意图;
图9为本申请实施例提供的服务更新设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供了一种服务更新方法及装置、系统,基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
图1为本申请实施例提供的服务更新的应用场景示意图,如图1所示,在图1中涉及多个待服务更新的服务节点,该服务节点为互联网服务或云计算服务的托管者,可以是物理机、虚拟容器、或服务器软件等,在子更新数据初次分发阶段,即首次将由服务更新数据分割得到的多个子更新数据分发给多个服务节点的过程,每个子更新数据被分发到至少一个服务节点中;随之进入子更新数据的扩散阶段,随着子更新数据的不断扩散,每个子更新数据所在的服务节点的数量越来越多,每个服务节点存储的子更新数据的个数也越来越多,任一服务节点收集所有子更新数据后,合并得到完整的服务更新数据,并利用该服务更新数据完成本地服务更新。其中,在需要对产品功能和服务进行更新部署时,先更新待服务更新的所有服务节点上的相关软件或配置,在服务更新过程中,具有跨机房、分布式去中心化、容错机制、系统无关、硬件无关的特点,充分利用服务节点之间、机房之间的网路资源和计算资源,保证子更新数据快速、高效、安全、可靠地在多服务节点中扩散。最终,每个待服务更新的服务节点均合并得到一份完整的服务更新数据,从而实现多服务节点的服务更新。
图2为本申请实施例提供的服务更新方法的第一种流程示意图,图2中的方法能够由图1中的服务节点100执行,适用于互联网服务和云计算服务的服务更新部署,如图2所示,该方法至少包括以下步骤:
S201,在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,该多个子更新数据为预先由服务更新数据分割后得到的,第一服务节点为待服务更新的多个服务节点中的任一服务节点,由于任一服务节点不仅参与子更新数据的扩散,且自身也需要进行服务更新,因此,在子更新数据由一个服务节点扩散到其他服务节点的过程中,传输的子更新数据是服务更新数据分割后得到的数据子块的数据副本。其中,第一服务节点获取到的多个子更新数据可以来自第一服务节点以外的部分服务节点,也可以是来自第一服务节点以外的全部服务节点。
S202,将获取到的多个子更新数据进行合并,得到用于服务更新的服务更新数据,具体的,获取到所有的子更新数据后,将多个子更新数据还原成分割前的服务更新数据。
S203,根据合并得到的服务更新数据,对第一服务节点进行服务更新,具体的,在由多个子更新数据合并得到完整的服务更新数据后,如果本次服务更新为原应用服务的升级,则利用该服务更新数据替代与待升级服务相关的原服务数据,如果本次服务更新为新增应用服务,则将该服务更新数据添加至原服务数据,再重启本服务节点服务。
例如,针对支付宝应用中新增的“发红包赚赏金”功能,需要将实现“发红包赚赏金”应用服务的服务更新数据分割为多个子更新数据,再采用步骤S201至S203使得各提供该应用服务的服务节点获取到所有子更新数据并合并为服务更新数据,各服务节点利用该服务更新数据更新本地应用服务,进而对客户端提供相应的应用服务。
本申请实施例中,基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
其中,如图3所示,在S201在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据之前,还包括:
S204,接收服务更新请求,其中,该服务更新请求携带有由服务更新数据分割得到的所有子更新数据的数据标识;具体的,每个子更新数据对应于一个数据标识,例如,可以将数据序号作为子更新数据的数据标识,以服务更新数据被分割成m个子更新数据为例,首个子更新数据的数据标识为1,最后一个自更新数据的数据标识为m。
对应的,上述S201在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,具体包括:
S2011,在待服务更新的多个服务节点中,根据接收到的服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各数据标识对应的子更新数据。
在具体实施时,如图4a所示,在待服务更新的N个服务节点中,将服务更新数据上传至任一服务节点(如,服务节点k),该服务节点接收到服务更新数据后,将服务更新数据分割为多个子更新数据(如,分割为m个子更新数据);在待服务更新的多个服务节点中,如图4b所示,选取目标数量的服务节点作为首发服务节点(如,首发服务节点的数量为x,x≤N),将多个子更新数据分发给多个首发服务节点(如,将m个子更新数据分发给x个首发服务节点),此时,针对每个首发服务节点,该首发服务节点至少接收到一个子更新数据,针对每个子更新数据,该子更新数据至少在一个首发服务节点上存在,此过程为子更新数据初次分发阶段,其中,如果第一服务节点属于首发服务节点,则接收服务节点k的服务更新请求;如果第一服务节点不属于首发服务节点,则接收服务节点k或任一首发服务节点的服务更新请求。随之进入子更新数据的扩散阶段,如图4c所示,各子更新数据在多个服务节点之间进行扩散,最终,每个服务节点获取到所有子更新数据,如图4d所示,将获取到的多个子更新数据进行合并,得到用于服务更新的服务更新数据。
具体的,针对第一服务节点属于首发服务节点的情况,上述S204接收服务更新请求,具体包括:
接收初次分发的至少一个子更新数据和更新数据分割信息,其中,该更新数据分割信息包括:由服务更新数据分割得到的所有子更新数据的数据标识,且每个子更新数据均被分发到至少一个服务节点。
其中,如果第一服务节点参与子更新数据初次分发阶段,第一服务节点接收到的服务更新请求中可以同时携带至少一个子更新数据和更新数据分割信息,第一服务节点接收到初次分发的至少一个子更新数据后,参与后续的子更新数据的扩散阶段,将本地已存储的子更新数据传输至需要该子更新数据的服务节点,以及从其他服务节点中获取本地不存在的子更新数据。
针对第一服务节点不属于首发服务节点的情况,第一服务节点直接进入子更新数据的扩散阶段,第一服务节点接收到的服务更新请求中可以只携带更新数据分割信息,根据该更新数据分割信息向其他服务节点获取本地不存在的子更新数据,同时获取到子更新数据后,如果接收到子更新数据获取请求,则将本地已存储的子更新数据传输至需要该子更新数据的服务节点。
进一步的,考虑到初次分发时可能存在数据丢包、或者服务节点未将接收到的子更新数据扩散到其他服务节点时出现异常,导致子更新数据无法正常扩散到所有服务节点,为了确保各待服务更新的服务节点均能够获取到所有子更新数据,基于此,由服务更新数据分割得到的每个子更新数据均被分发到至少两个服务节点,即将同一子更新数据分发给两个首发服务节点。
具体的,在子更新数据初次分发阶段,即将多个子更新数据分发给多个首发服务节点的过程中,将同一子更新数据分发给至少两个首发服务节点,此时,在待服务更新的多个服务节点中,每个子更新数据存储于至少两个服务节点中,这样即使某一服务节点出现异常,仍可以从另一服务节点中获取子更新数据,保证了各子更新数据均能够正常扩散到所有服务节点,进而确保各待服务更新的服务节点均能够获取到所有子更新数据,提高了服务更新数据发布成功率。
其中,如图5所示,上述S2011在待服务更新的多个服务节点中,根据接收到的服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各数据标识对应的子更新数据,具体包括:
S20111,分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,其中,该子更新数据存储信息包括:服务节点上已存储的子更新数据的数据标识。
S20112,针对服务更新请求中每个数据标识,判断第一服务节点是否存在与该数据标识对应的子更新数据;具体的,按照预设顺序,逐一查询本地是否存在各数据标识对应的子更新数据,如果不存在,则向已存储有该子更新数据的服务节点获取。
若否,则执行S20113,根据各子更新数据存储信息和本地不存在的子更新数据对应的目标数据标识,选取一个服务节点作为目标服务节点,以及从该目标服务节点中获取目标数据标识对应的子更新数据。
其中,第一服务节点获取到除自身以外的各服务节点的子更新数据存储信息后,可以确定各子更新数据分布在哪些服务节点中,进而有针对性地从目标服务节点中获取本地不存在的子更新数据,直到本地存储有所有数据标识对应的子更新数据,具体的,第一服务接节点可以同时从至少两个不同的服务节点中获取不同的数据标识对应的子更新数据,并且,所有服务节点能够同时获取各自所需的子更新数据,将数据处理负载和数据传输负载分配到所有服务节点上,大大节省了服务更新数据获取时间,提高了多服务节点的服务更新效率和成功率。
进一步的,考虑到在确定目标服务节点的过程中,如果待服务更新的服务节点的数量比较多,那么获取到的子更新数据存储信息的数量也较多,为了提高目标服务节点确定效率,基于此,上述S20113根据各子更新数据存储信息和本地不存在的子更新数据对应的目标数据标识,选取一个服务节点作为目标服务节点,具体包括:
根据各子更新数据存储信息,确定子更新数据分布信息,其中,该子更新数据分布信息包括:服务更新请求中各数据标识对应的子更新数据所在的服务节点的信息。
根据子更新数据分布信息和本地不存在的子更新数据对应的目标数据标识,选取一个服务节点作为目标服务节点。
具体的,在接收到除自身以外的多个服务节点的子更新数据存储信息后,先对接收到的多个子更新数据存储信息进行汇总,得到子更新数据分布信息,在子更新数据分布信息中,直接查询到各数据标识与存储该数据标识对应的子更新数据的服务节点的信息之间的对应关系,例如,数据标识1—服务节点A\B\C,即服务节点A、服务节点B、服务节点C中存储有数据标识1对应的子更新数据,如果需要获取数据标识1对应的子更新数据,此时可以从服务节点A、服务节点B、服务节点C中选择一个作为目标服务节点,这样一目了然得知目标数据标识对应的子更新数据分布在哪些服务节点中,快速定位到目标服务节点。
进一步的,为了更加充分利用各服务节点的计算资源和网路资源,避免出现某个服务节点负载率很高,而其他服务节点负载率很低的情况,达到多服务节点的负载均衡的效果,基于此,上述根据子更新数据分布信息和本地不存在的子更新数据对应的目标数据标识,选取一个服务节点作为目标服务节点,具体包括:
基于子更新数据分布信息,将已存储目标数据标识对应的子更新数据的多个服务节点作为备选服务节点,其中,该目标数据标识为本地不存在的子更新数据对应的数据标识。
根据各备选服务节点的负载率,将负载率最低的备选服务节点确定为目标服务节点。
具体的,在选取目标服务节点的过程中,参考备选服务节点的负载情况,在多个服务节点都存在目标数据标识对应的子更新数据的情况下,将负载率最低的备选服务节点确定为目标服务节点,这样能够实现更加充分利用各服务节点的计算资源和网路资源,达到多服务节点的负载均衡的效果,进而更进一步地提高多服务节点的服务更新效率。
具体的,在从目标服务节点中获取目标数据标识对应的子更新数据之后,还包括:
若子更新数据获取失败,则按照负载率由低至高的顺序重新选择下一个目标服务节点,并从重新选择的目标服务节点中获取目标数据标识对应的子更新数据。
其中,针对只有一个服务节点存储有目标数据标识对应的子更新数据的情况,需要等待该目标服务节点恢复后,继续从该目标服务节点中获取所需的子更新数据。为了避免该情况的发生,在具体实施时,在子更新数据初次分发阶段,将同一子更新数据分发给至少两个首发服务节点,可以保证至少两个服务节点存储有目标数据标识对应的子更新数据;另外,即使在子更新数据初次分发阶段,将同一子更新数据只分发给一个首发服务节点,而随着子更新数据的不断扩散,也能够保证至少两个服务节点存储有目标数据标识对应的子更新数据,提供了数据获取失败冗余机制,提高了服务更新数据发布成功率。
针对至少两个服务节点存储有目标数据标识对应的子更新数据的情况,第一服务节点从某一目标服务节点获取子更新数据失败后,则变更服务节点重新获取子更新数据,具体的,在服务更新过程中,若子更新数据获取失败,则说明目标服务节点出现异常,此时,第一服务节点重新选取下一个目标服务节点。
另外,当出现异常的目标服务节点恢复正常后,该目标服务节点继续执行:分别获取本服务节点以外的多个服务节点的子更新数据存储信息;针对服务更新请求中每个数据标识,判断本地是否存在与该数据标识对应的子更新数据;若否,则根据最新版本的各子更新数据存储信息和该数据标识,选取一个服务节点作为目标服务节点,以及从该目标服务节点中获取数据标识对应的子更新数据,直到获取到所有子更新数据。
其中,针对获取子更新数据存储信息的过程可以通过如下两种方式获得,具体为:
第一种方式:每个服务节点的子更新数据存在更新时,主动向其他服务节点广播更新后的子更新数据存储信息,具体的,上述S20111分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,具体包括:
接收第一服务节点以外的多个服务节点广播的子更新数据存储信息,其中,该子更新数据存储信息为第一服务节点以外的多个服务节点在获取到新的子更新数据且更新本地的子更新数据存储信息后得到的。
第二种方式:每个服务节点接收到其他服务节点的子数据存储信息获取请求后,才向相应的服务节点发送最新版本的子更新数据存储信息,具体的,上述S20111分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,具体包括:
向第一服务节点以外的各服务节点发送子数据存储信息获取请求;
接收第一服务节点以外的各服务节点发送的本地最新版本的子更新数据存储信息,其中,该子更新数据存储信息为第一服务节点以外的各服务节点响应于子数据存储信息获取请求发送的。
其中,针对合并子更新数据的过程,具体的,上述S202将获取到的多个子更新数据进行合并,得到用于服务更新的服务更新数据,具体包括:
按照数据标识由小到大的顺序,对获取到的多个子更新数据进行排序;
根据排序结果,将各子更新数据组合得到用于服务更新的服务更新数据。
其中,针对每个服务节点而言,该服务节点不仅向其他服务节点获取子更新数据,还需要基于其他服务节点的子更新数据获取请求,向相应的服务节点发送子更新数据,基于此,上述方法还包括:
接收第一服务节点以外的各服务节点发送的子更新数据获取请求;
将与接收到的获取请求对应的子更新数据发送至相应的服务节点,以使接收到该子更新数据的服务节点判断本地是否存储有所有子更新数据,如果是,则进行本地服务更新,即第一服务节点也参与子更新数据的扩散。
其中,针对每个服务节点而言,该服务节点不仅向其他服务节点获取子更新数据存储信息,还需要向其他服务节点发送本地最新版本的子更新数据存储信息,基于此,上述方法还包括:
将本地最新版本的子更新数据存储信息发送至相应的服务节点,以使接收到该子更新数据存储信息的服务节点确定目标服务节点,并从该目标服务节点获取子更新数据。
具体的,针对发送子更新数据存储信息的过程可以通过如下两种方式实现,具体为:
第一种方式:第一服务节点的子更新数据存在更新时,主动向其他服务节点广播更新后的子更新数据存储信息,具体的,上述将本地最新版本的子更新数据存储信息发送至相应的服务节点,具体包括:
在获取到新的子更新数据后,更新本地的子更新数据存储信息;
将更新后的子更新数据存储信息广播至第一服务节点以外的多个服务节点。
第二种方式:第一服务节点接收到其他服务节点的子数据存储信息获取请求后,才向该服务节点发送最新版本的子更新数据存储信息,具体的,上述将本地最新版本的子更新数据存储信息发送至相应的服务节点,具体包括:
接收第一服务节点以外的任一服务节点发送子数据存储信息获取请求;
将本地最新版本的子更新数据存储信息传输至发送子数据存储信息获取请求的服务节点。
本申请实施例中的服务更新方法,在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据;将获取到的多个子更新数据进行合并,得到服务更新数据;根据合并得到的服务更新数据,对第一服务节点进行服务更新。基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
对应上述图2至图5描述的服务更新方法,基于相同的技术构思,本申请实施例还提供了一种服务更新装置,图6为本申请实施例提供的服务更新装置的第一种模块组成示意图,该装置用于执行图2至图5描述的服务更新方法,如图6所示,该装置包括:
子数据获取模块601,用于在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;
更新数据生成模块602,用于将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
服务更新模块603,用于根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
可选地,如图7所示,上述装置还包括:
更新请求接收模块604,用于在从第一服务节点以外的多个服务节点中获取多个子更新数据之前,接收服务更新请求,其中,所述服务更新请求携带有由服务更新数据分割得到的所有子更新数据的数据标识;
所述子数据获取模块601,具体用于:
根据所述服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各所述数据标识对应的子更新数据。
可选地,所述更新请求接收模块604,具体用于:
接收初次分发的至少一个子更新数据和更新数据分割信息,其中,所述更新数据分割信息包括:由服务更新数据分割得到的所有子更新数据的数据标识,且每个子更新数据均被分发到至少一个服务节点。
可选地,由服务更新数据分割得到的每个子更新数据均被分发到至少两个服务节点。
可选地,所述子数据获取模块601,进一步具体用于:
分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,其中,所述子更新数据存储信息包括:服务节点上已存储的子更新数据的数据标识;
针对所述服务更新请求中每个数据标识,判断所述第一服务节点是否存在与该数据标识对应的子更新数据;
若否,则根据各所述子更新数据存储信息和所述数据标识,选取一个服务节点作为目标服务节点,以及从所述目标服务节点中获取所述数据标识对应的子更新数据。
可选地,所述子数据获取模块601,更进一步具体用于:
根据各所述子更新数据存储信息,确定子更新数据分布信息,其中,所述子更新数据分布信息包括:所述服务更新请求中各数据标识对应的子更新数据所在的服务节点的信息;
根据所述子更新数据分布信息和所述数据标识,选取一个服务节点作为目标服务节点。
可选地,所述子数据获取模块601,再进一步具体用于:
基于所述子更新数据分布信息,将已存储所述数据标识对应的子更新数据的多个服务节点作为备选服务节点;
根据各所述备选服务节点的负载率,将负载率最低的备选服务节点确定为目标服务节点。
可选地,上述子数据获取模块601,还具体用于:
在从所述目标服务节点中获取所述数据标识对应的子更新数据之后,若子更新数据获取失败,则按照负载率由低至高的顺序重新选择下一个目标服务节点,并从重新选择的所述目标服务节点中获取所述数据标识对应的子更新数据。
可选地,所述子数据获取模块601,更进一步具体用于:
接收第一服务节点以外的多个服务节点广播的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的多个服务节点在获取到新的子更新数据且更新本地的子更新数据存储信息后得到的。
可选地,所述子数据获取模块601,更进一步具体用于:
向第一服务节点以外的各服务节点发送子数据存储信息获取请求;
接收第一服务节点以外的各服务节点发送的本地最新版本的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的各服务节点响应于所述子数据存储信息获取请求发送的。
可选地,所述更新数据生成模块602,具体用于:
按照数据标识由小到大的顺序,对所述多个子更新数据进行排序;
根据排序结果,将各所述子更新数据组合得到所述服务更新数据。
可选地,上述装置还包括:
子更新数据发送模块605,用于接收第一服务节点以外的各服务节点发送的子更新数据获取请求;将与所述获取请求对应的子更新数据发送至相应的服务节点。
可选地,上述装置还包括:
存储信息发送模块606,用于将本地最新版本的子更新数据存储信息发送至相应的服务节点。
本申请实施例中的服务更新装置,在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据;将获取到的多个子更新数据进行合并,得到服务更新数据;根据合并得到的服务更新数据,对第一服务节点进行服务更新。基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
本发明实施例提供的服务更新装置能够实现上述服务更新方法对应的实施例中的各个过程,为避免重复,这里不再赘述。
进一步地,对应上述图2至图5所示的方法,基于相同的技术构思,本申请实施例还提供了一种服务更新系统,如图8所示,该系统包括:待服务更新的多个服务节点100,两两服务节点100之间通信连接,每个服务节点100设置有上述服务更新装置;其中,由服务更新数据分割得到的多个子更新数据(即数据子块1至m)在服务节点100之间扩散,以使各服务节点100均获取到所有子更新数据。
具体的,任一待服务更新的第一服务节点,用于在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
进一步的,所述第一服务节点,还用于:
接收服务更新请求,其中,所述服务更新请求携带有由服务更新数据分割得到的所有子更新数据的数据标识;
根据所述服务更新请求,分别获取与各所述数据标识对应的子更新数据。
进一步的,所述多个服务节点中任一服务节点(即上述服务节点k),用于:
接收服务更新数据和数据分割指示;
根据所述数据分割指示,将所述服务更新数据分割为多个子更新数据;
从多个待服务更新的服务节点中,选取目标数量的多个初始分配节点,其中,该初始分配节点相当于上述首发服务节点;
向所述多个初始分配节点发送服务更新请求,其中,所述服务更新请求携带有初次分发的至少一个子更新数据和更新数据分割信息,每个子更新数据被分发给至少一个已选取的初始分配节点。
进一步的,每个子更新数据被分发给至少两个已选取的初始分配节点。
本申请实施例中的服务更新系统,针对任一服务节点,在待服务更新的多个服务节点中,从本服务节点以外的多个服务节点中获取多个子更新数据;将获取到的多个子更新数据进行合并,得到服务更新数据;根据合并得到的服务更新数据,对第一服务节点进行服务更新。基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
本发明实施例提供的服务更新系统能够实现上述服务更新方法对应的实施例中的各个过程,为避免重复,这里不再赘述。
进一步地,对应上述图2至图5所示的方法,基于相同的技术构思,本申请实施例还提供了一种服务更新设备,该设备用于执行上述的服务更新方法,如图9所示。
服务更新设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务更新设备中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在服务更新设备上执行存储器902中的一系列计算机可执行指令。服务更新设备还可以包括一个或一个以上电源903,一个或一个以上有线或无线网络接口904,一个或一个以上输入输出接口905,一个或一个以上键盘906等。
在一个具体的实施例中,服务更新设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对服务更新设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:在从第一服务节点以外的多个服务节点中获取多个子更新数据之前,还包括:
接收服务更新请求,其中,所述服务更新请求携带有由服务更新数据分割得到的所有子更新数据的数据标识;
所述从第一服务节点以外的多个服务节点中获取多个子更新数据,包括:
根据所述服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各所述数据标识对应的子更新数据。
可选地,计算机可执行指令在被执行时,所述接收服务更新请求,包括:
接收初次分发的至少一个子更新数据和更新数据分割信息,其中,所述更新数据分割信息包括:由服务更新数据分割得到的所有子更新数据的数据标识,且每个子更新数据均被分发到至少一个服务节点。
可选地,计算机可执行指令在被执行时,由服务更新数据分割得到的每个子更新数据均被分发到至少两个服务节点。
可选地,计算机可执行指令在被执行时,所述根据所述服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各所述数据标识对应的子更新数据,包括:
分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,其中,所述子更新数据存储信息包括:服务节点上已存储的子更新数据的数据标识;
针对所述服务更新请求中每个数据标识,判断所述第一服务节点是否存在与该数据标识对应的子更新数据;
若否,则根据各所述子更新数据存储信息和所述数据标识,选取一个服务节点作为目标服务节点,以及从所述目标服务节点中获取所述数据标识对应的子更新数据。
可选地,计算机可执行指令在被执行时,所述根据各所述子更新数据存储信息和所述数据标识,选取一个服务节点作为目标服务节点,包括:
根据各所述子更新数据存储信息,确定子更新数据分布信息,其中,所述子更新数据分布信息包括:所述服务更新请求中各数据标识对应的子更新数据所在的服务节点的信息;
根据所述子更新数据分布信息和所述数据标识,选取一个服务节点作为目标服务节点。
可选地,计算机可执行指令在被执行时,所述根据所述子更新数据分布信息和所述数据标识,选取一个服务节点作为目标服务节点,包括:
基于所述子更新数据分布信息,将已存储所述数据标识对应的子更新数据的多个服务节点作为备选服务节点;
根据各所述备选服务节点的负载率,将负载率最低的备选服务节点确定为目标服务节点。
可选地,计算机可执行指令在被执行时,在从所述目标服务节点中获取所述数据标识对应的子更新数据之后,还包括:
若子更新数据获取失败,则按照负载率由低至高的顺序重新选择下一个目标服务节点,并从重新选择的所述目标服务节点中获取所述数据标识对应的子更新数据。
可选地,计算机可执行指令在被执行时,所述分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,包括:
接收第一服务节点以外的多个服务节点广播的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的多个服务节点在获取到新的子更新数据且更新本地的子更新数据存储信息后得到的。
可选地,计算机可执行指令在被执行时,所述分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,包括:
向第一服务节点以外的各服务节点发送子数据存储信息获取请求;
接收第一服务节点以外的各服务节点发送的本地最新版本的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的各服务节点响应于所述子数据存储信息获取请求发送的。
可选地,计算机可执行指令在被执行时,所述将获取到的所述多个子更新数据进行合并,得到所述服务更新数据,包括:
按照数据标识由小到大的顺序,对所述多个子更新数据进行排序;
根据排序结果,将各所述子更新数据组合得到所述服务更新数据。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
接收第一服务节点以外的各服务节点发送的子更新数据获取请求;
将与所述获取请求对应的子更新数据发送至相应的服务节点。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
将本地最新版本的子更新数据存储信息发送至相应的服务节点。
本申请实施例中的服务更新设备,在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据;将获取到的多个子更新数据进行合并,得到服务更新数据;根据合并得到的服务更新数据,对第一服务节点进行服务更新。可见,通过本申请实施例中的服务更新设备,基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
进一步地,对应上述图2至图5所示的方法,基于相同的技术构思,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由服务更新数据分割后得到的;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还实现以下流程:在从第一服务节点以外的多个服务节点中获取多个子更新数据之前,还包括:
接收服务更新请求,其中,所述服务更新请求携带有由服务更新数据分割得到的所有子更新数据的数据标识;
所述从第一服务节点以外的多个服务节点中获取多个子更新数据,包括:
根据所述服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各所述数据标识对应的子更新数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述接收服务更新请求,包括:
接收初次分发的至少一个子更新数据和更新数据分割信息,其中,所述更新数据分割信息包括:由服务更新数据分割得到的所有子更新数据的数据标识,且每个子更新数据均被分发到至少一个服务节点。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,由服务更新数据分割得到的每个子更新数据均被分发到至少两个服务节点。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据所述服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各所述数据标识对应的子更新数据,包括:
分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,其中,所述子更新数据存储信息包括:服务节点上已存储的子更新数据的数据标识;
针对所述服务更新请求中每个数据标识,判断所述第一服务节点是否存在与该数据标识对应的子更新数据;
若否,则根据各所述子更新数据存储信息和所述数据标识,选取一个服务节点作为目标服务节点,以及从所述目标服务节点中获取所述数据标识对应的子更新数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据各所述子更新数据存储信息和所述数据标识,选取一个服务节点作为目标服务节点,包括:
根据各所述子更新数据存储信息,确定子更新数据分布信息,其中,所述子更新数据分布信息包括:所述服务更新请求中各数据标识对应的子更新数据所在的服务节点的信息;
根据所述子更新数据分布信息和所述数据标识,选取一个服务节点作为目标服务节点。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据所述子更新数据分布信息和所述数据标识,选取一个服务节点作为目标服务节点,包括:
基于所述子更新数据分布信息,将已存储所述数据标识对应的子更新数据的多个服务节点作为备选服务节点;
根据各所述备选服务节点的负载率,将负载率最低的备选服务节点确定为目标服务节点。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,在从所述目标服务节点中获取所述数据标识对应的子更新数据之后,还包括:
若子更新数据获取失败,则按照负载率由低至高的顺序重新选择下一个目标服务节点,并从重新选择的所述目标服务节点中获取所述数据标识对应的子更新数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,包括:
接收第一服务节点以外的多个服务节点广播的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的多个服务节点在获取到新的子更新数据且更新本地的子更新数据存储信息后得到的。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,包括:
向第一服务节点以外的各服务节点发送子数据存储信息获取请求;
接收第一服务节点以外的各服务节点发送的本地最新版本的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的各服务节点响应于所述子数据存储信息获取请求发送的。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述将获取到的所述多个子更新数据进行合并,得到所述服务更新数据,包括:
按照数据标识由小到大的顺序,对所述多个子更新数据进行排序;
根据排序结果,将各所述子更新数据组合得到所述服务更新数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还实现以下流程:
接收第一服务节点以外的各服务节点发送的子更新数据获取请求;
将与所述获取请求对应的子更新数据发送至相应的服务节点。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还实现以下流程:
将本地最新版本的子更新数据存储信息发送至相应的服务节点。
本申请实施例中的存储介质存储的计算机可执行指令在被处理器执行时,在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据;将获取到的多个子更新数据进行合并,得到服务更新数据;根据合并得到的服务更新数据,对第一服务节点进行服务更新。可见,通过本申请实施例中的存储介质,基于预先将用于服务节点进行服务更新的服务更新数据分割为多个子更新数据,多个待服务更新的服务节点共用参与各子更新数据的扩散,任一服务节点用于服务更新的数据是从其他关联服务节点中收集所有子更新数据后再合并得到的,有效利用多个服务节点的计算资源和网路资源,提高了多服务节点的服务更新效率,实现快速、高效、安全地对各服务节点进行服务更新。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (21)

1.一种服务更新方法,应用于任一待服务更新的第一服务节点,其特征在于,包括:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,并向第一服务节点以外的服务节点发送子更新数据;其中,所述多个子更新数据为预先由所述多个服务节点中的任一服务节点将服务更新数据分割后得到的、且在初次分发阶段被所述任一服务节点分发给多个服务节点,每个所述子更新数据被分发到至少一个服务节点中;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
2.根据权利要求1所述的方法,其特征在于,向第一服务节点以外的服务节点发送的子更新数据为本地已存储的子更新数据;所述本地已存储的子更新数据包括从第一服务节点以外的多个服务节点中获取多个子更新数据,和/或服务节点将服务更新数据分割为多个子更新数据初次分发的子更新数据。
3.根据权利要求1或2所述的方法,其特征在于,在从第一服务节点以外的多个服务节点中获取多个子更新数据之前,还包括:
接收服务更新请求,其中,所述服务更新请求携带有由服务更新数据分割得到的所有子更新数据的数据标识;
所述从第一服务节点以外的多个服务节点中获取多个子更新数据,包括:
根据所述服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各所述数据标识对应的子更新数据。
4.根据权利要求3所述的方法,其特征在于,所述接收服务更新请求,包括:
接收初次分发的至少一个子更新数据和更新数据分割信息,其中,所述更新数据分割信息包括:由服务更新数据分割得到的所有子更新数据的数据标识。
5.根据权利要求4所述的方法,其特征在于,由服务更新数据分割得到的每个子更新数据均被分发到至少两个服务节点。
6.根据权利要求3所述的方法,其特征在于,所述根据所述服务更新请求,从第一服务节点以外的多个服务节点中分别获取与各所述数据标识对应的子更新数据,包括:
分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,其中,所述子更新数据存储信息包括:服务节点上已存储的子更新数据的数据标识;
针对所述服务更新请求中每个数据标识,判断所述第一服务节点是否存在与该数据标识对应的子更新数据;
若否,则根据各所述子更新数据存储信息和所述数据标识,选取一个服务节点作为目标服务节点,以及从所述目标服务节点中获取所述数据标识对应的子更新数据。
7.根据权利要求6所述的方法,其特征在于,所述根据各所述子更新数据存储信息和所述数据标识,选取一个服务节点作为目标服务节点,包括:
根据各所述子更新数据存储信息,确定子更新数据分布信息,其中,所述子更新数据分布信息包括:所述服务更新请求中各数据标识对应的子更新数据所在的服务节点的信息;
根据所述子更新数据分布信息和所述数据标识,选取一个服务节点作为目标服务节点。
8.根据权利要求7所述的方法,其特征在于,所述根据所述子更新数据分布信息和所述数据标识,选取一个服务节点作为目标服务节点,包括:
基于所述子更新数据分布信息,将已存储所述数据标识对应的子更新数据的多个服务节点作为备选服务节点;
根据各所述备选服务节点的负载率,将负载率最低的备选服务节点确定为目标服务节点。
9.根据权利要求8所述的方法,其特征在于,在从所述目标服务节点中获取所述数据标识对应的子更新数据之后,还包括:
若子更新数据获取失败,则按照负载率由低至高的顺序重新选择下一个目标服务节点,并从重新选择的所述目标服务节点中获取所述数据标识对应的子更新数据。
10.根据权利要求6所述的方法,其特征在于,所述分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,包括:
接收第一服务节点以外的多个服务节点广播的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的多个服务节点在获取到新的子更新数据且更新本地的子更新数据存储信息后得到的。
11.根据权利要求6所述的方法,其特征在于,所述分别获取第一服务节点以外的多个服务节点的子更新数据存储信息,包括:
向第一服务节点以外的各服务节点发送子数据存储信息获取请求;
接收第一服务节点以外的各服务节点发送的本地最新版本的子更新数据存储信息,其中,所述子更新数据存储信息为第一服务节点以外的各服务节点响应于所述子数据存储信息获取请求发送的。
12.根据权利要求3所述的方法,其特征在于,所述将获取到的所述多个子更新数据进行合并,得到所述服务更新数据,包括:
按照数据标识由小到大的顺序,对所述多个子更新数据进行排序;
根据排序结果,将各所述子更新数据组合得到所述服务更新数据。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述向第一服务节点以外的服务节点发送子更新数据,包括:
接收第一服务节点以外的各服务节点发送的子更新数据获取请求;
将与所述获取请求对应的子更新数据发送至相应的服务节点。
14.根据权利要求1至12任一项所述的方法,其特征在于,在向第一服务节点以外的服务节点发送子更新数据之前,还包括:
将本地最新版本的子更新数据存储信息发送至相应的服务节点。
15.一种服务更新装置,设置于任一待服务更新的第一服务节点,其特征在于,包括:
子数据获取模块,用于在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,其中,所述多个子更新数据为预先由所述多个服务节点中的任一服务节点将服务更新数据分割后得到的、且在初次分发阶段被所述任一服务节点分发给多个服务节点,每个所述子更新数据被分发到至少一个服务节点中;
子更新数据发送模块,用于向第一服务节点以外的服务节点发送子更新数据;
更新数据生成模块,用于将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
服务更新模块,用于根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
16.一种服务更新系统,包括:待服务更新的多个服务节点,两两服务节点之间通信连接,每个服务节点设置有如权利要求15所述的服务更新装置。
17.根据权利要求16所述的系统,其特征在于,每个所述服务节点,用于:
接收服务更新请求,其中,所述服务更新请求携带有由服务更新数据分割得到的所有子更新数据的数据标识;
根据所述服务更新请求,分别获取与各所述数据标识对应的子更新数据。
18.根据权利要求17所述的系统,其特征在于,所述多个服务节点中任一服务节点,用于:
接收服务更新数据和数据分割指示;
根据所述数据分割指示,将所述服务更新数据分割为多个子更新数据;
从多个待服务更新的服务节点中,选取目标数量的多个初始分配节点;
向所述多个初始分配节点发送服务更新请求,其中,所述服务更新请求携带有初次分发的至少一个子更新数据和更新数据分割信息,每个子更新数据被分发给至少一个已选取的初始分配节点。
19.根据权利要求18所述的系统,其特征在于,每个子更新数据被分发给至少两个已选取的初始分配节点。
20.一种服务更新设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,并向第一服务节点以外的服务节点发送子更新数据,其中,所述多个子更新数据为预先由所述多个服务节点中的任一服务节点将服务更新数据分割后得到的、且在初次分发阶段被分发给多个服务节点,每个所述子更新数据被所述任一服务节点分发到至少一个服务节点中;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
21.一种存储介质,用于存储计算机可执行指令,其特征在于,所述可执行指令在被执行时实现以下流程:
在待服务更新的多个服务节点中,从第一服务节点以外的多个服务节点中获取多个子更新数据,并向第一服务节点以外的服务节点发送子更新数据,其中,所述多个子更新数据为预先由所述多个服务节点中的任一服务节点将服务更新数据分割后得到的、且在初次分发阶段被分发给多个服务节点,每个所述子更新数据被所述任一服务节点分发到至少一个服务节点中;
将获取到的所述多个子更新数据进行合并,得到所述服务更新数据;
根据合并得到的所述服务更新数据,对所述第一服务节点进行服务更新。
CN202010752598.5A 2018-01-23 2018-01-23 一种服务更新方法及装置、系统 Active CN111866169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010752598.5A CN111866169B (zh) 2018-01-23 2018-01-23 一种服务更新方法及装置、系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010752598.5A CN111866169B (zh) 2018-01-23 2018-01-23 一种服务更新方法及装置、系统
CN201810065040.2A CN108390914B (zh) 2018-01-23 2018-01-23 一种服务更新方法及装置、系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201810065040.2A Division CN108390914B (zh) 2018-01-23 2018-01-23 一种服务更新方法及装置、系统

Publications (2)

Publication Number Publication Date
CN111866169A CN111866169A (zh) 2020-10-30
CN111866169B true CN111866169B (zh) 2023-08-18

Family

ID=63077376

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010752598.5A Active CN111866169B (zh) 2018-01-23 2018-01-23 一种服务更新方法及装置、系统
CN201810065040.2A Active CN108390914B (zh) 2018-01-23 2018-01-23 一种服务更新方法及装置、系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810065040.2A Active CN108390914B (zh) 2018-01-23 2018-01-23 一种服务更新方法及装置、系统

Country Status (3)

Country Link
CN (2) CN111866169B (zh)
TW (1) TWI690187B (zh)
WO (1) WO2019144809A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866169B (zh) * 2018-01-23 2023-08-18 创新先进技术有限公司 一种服务更新方法及装置、系统
CN111835812B (zh) * 2019-11-13 2023-01-31 厦门雅基软件有限公司 全球的数据获取方法、装置、电子设备及计算机存储介质
CN111586340B (zh) * 2020-05-08 2021-11-19 青岛海信医疗设备股份有限公司 影像数据的加载、提供方法及装置
CN112187548A (zh) * 2020-10-09 2021-01-05 深圳壹账通智能科技有限公司 配置数据同步更新方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668009A (zh) * 2004-03-12 2005-09-14 微软公司 用于分发软件的更新分发系统的体系结构和方法
CN101374072A (zh) * 2007-08-24 2009-02-25 西门子公司 电力监控装置更新配置的方法、电力监控装置和能源管理系统
CN103294675A (zh) * 2012-02-23 2013-09-11 上海盛霄云计算技术有限公司 一种分布式存储系统中的数据更新方法及装置
WO2015134679A2 (en) * 2014-03-05 2015-09-11 Scality, S.A. Locking and i/o improvements of systems built with distributed consistent database implementations within an object store
CN106294627A (zh) * 2016-07-28 2017-01-04 五八同城信息技术有限公司 数据管理方法及数据服务器
CN107168788A (zh) * 2016-03-07 2017-09-15 阿里巴巴集团控股有限公司 分布式系统中资源的调度方法以及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4916432B2 (ja) * 2004-03-12 2012-04-11 マイクロソフト コーポレーション アップデートの配布システムにおいてソフトウェアアップデートの配布を管理するためのアプリケーションプログラミングインターフェース
US20100031262A1 (en) * 2008-07-31 2010-02-04 Baird-Gent Jill M Program Schedule Sub-Project Network and Calendar Merge
CN102880650B (zh) * 2012-08-27 2015-11-18 中国工商银行股份有限公司 一种数据匹配方法及装置
CN104866491B (zh) * 2014-02-24 2019-07-23 华为技术有限公司 一种并行主题挖掘方法及装置
CN107315792B (zh) * 2017-06-14 2020-06-02 北京小米移动软件有限公司 页面更新方法、装置、电子设备和计算机可读存储介质
CN107357857A (zh) * 2017-06-29 2017-11-17 深圳市金立通信设备有限公司 一种更新缓存信息的方法及服务节点设备
CN111866169B (zh) * 2018-01-23 2023-08-18 创新先进技术有限公司 一种服务更新方法及装置、系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668009A (zh) * 2004-03-12 2005-09-14 微软公司 用于分发软件的更新分发系统的体系结构和方法
CN101374072A (zh) * 2007-08-24 2009-02-25 西门子公司 电力监控装置更新配置的方法、电力监控装置和能源管理系统
CN103294675A (zh) * 2012-02-23 2013-09-11 上海盛霄云计算技术有限公司 一种分布式存储系统中的数据更新方法及装置
WO2015134679A2 (en) * 2014-03-05 2015-09-11 Scality, S.A. Locking and i/o improvements of systems built with distributed consistent database implementations within an object store
CN107168788A (zh) * 2016-03-07 2017-09-15 阿里巴巴集团控股有限公司 分布式系统中资源的调度方法以及装置
CN106294627A (zh) * 2016-07-28 2017-01-04 五八同城信息技术有限公司 数据管理方法及数据服务器

Also Published As

Publication number Publication date
CN108390914B (zh) 2020-07-28
TWI690187B (zh) 2020-04-01
CN108390914A (zh) 2018-08-10
TW201933851A (zh) 2019-08-16
CN111866169A (zh) 2020-10-30
WO2019144809A1 (zh) 2019-08-01

Similar Documents

Publication Publication Date Title
CN111866169B (zh) 一种服务更新方法及装置、系统
CN107450979B (zh) 一种区块链共识方法及装置
CN107368507B (zh) 一种基于区块链的共识方法及装置
CN110875935B (zh) 消息发布、处理、订阅方法、装置及系统
CN108418851B (zh) 策略发布系统、方法、装置及设备
CN110704155A (zh) 容器网络构建方法及装置、物理主机、数据传输方法
CN107196772B (zh) 一种广播消息的方法及装置
CN110955720B (zh) 一种数据加载方法、装置及系统
CN111459724A (zh) 节点切换方法、装置、设备及计算机可读存储介质
CN106708842B (zh) 一种应用系统加载数据的方法和数据库、应用系统
CN113852498B (zh) 一种部署、管理及调用组件的方法及装置
CN115408468A (zh) 一种数据同步方法、装置、可读存储介质及电子设备
CN115129728A (zh) 一种文件校验的方法及装置
CN114130035A (zh) 一种用户匹配方法、装置、设备及存储介质
CN112416559A (zh) 调度策略更新方法、服务调度方法、存储介质及相关装置
CN116737345A (zh) 分布式任务处理系统及方法、装置、存储介质以及设备
CN111400032A (zh) 一种资源分配的方法及装置
KR101977602B1 (ko) 마이크로서비스관리장치 및 방법
CN112181979B (zh) 一种数据更新方法、装置、存储介质及电子设备
CN113126884B (zh) 数据迁移方法、装置、电子设备及计算机存储介质
CN110764690B (zh) 分布式存储系统及其领导节点选举方法和装置
CN114328129A (zh) 消息发送方法、装置、设备及存储介质
CN109151016B (zh) 流量转发方法和装置、服务系统、计算设备及存储介质
CN111797070A (zh) 票务数据处理方法及装置
CN114185688B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240223

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Ky1-9008 business centre, 27 Hospital Road, Georgetown, grand caiman, UK

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands