CN114116737A - 对象更新方法、装置和电子设备 - Google Patents

对象更新方法、装置和电子设备 Download PDF

Info

Publication number
CN114116737A
CN114116737A CN202111234141.6A CN202111234141A CN114116737A CN 114116737 A CN114116737 A CN 114116737A CN 202111234141 A CN202111234141 A CN 202111234141A CN 114116737 A CN114116737 A CN 114116737A
Authority
CN
China
Prior art keywords
identifier
target data
updating
management node
processing request
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.)
Pending
Application number
CN202111234141.6A
Other languages
English (en)
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.)
Beijing Kuangshi Technology Co Ltd
Beijing Megvii Technology Co Ltd
Original Assignee
Beijing Kuangshi Technology Co Ltd
Beijing Megvii 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 Kuangshi Technology Co Ltd, Beijing Megvii Technology Co Ltd filed Critical Beijing Kuangshi Technology Co Ltd
Priority to CN202111234141.6A priority Critical patent/CN114116737A/zh
Publication of CN114116737A publication Critical patent/CN114116737A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种对象更新方法、装置和电子设备,接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;如果第一标识与第二标识不一致,更新管理节点设备中的目标对象或者更新用于执行目标对象的服务对象。该方式中,如果第二标识与第一标识不一致,则说明管理节点设备中存储的目标对象尚未更新至最新状态,因此,在响应处理请求之前,更新目标对象或服务对象,这种更新方式不影响系统对请求的正常响应,可以保证系统具有较高的可用性,同时,也可以保证系统具有较强的数据一致性,可以满足分布式系统的数据数据管理需求。

Description

对象更新方法、装置和电子设备
技术领域
本发明涉及分布式系统技术领域,尤其是涉及一种对象更新方法、装置和电子设备。
背景技术
在分布式系统中,通常需要保证数据在各相关的节点中具有一定的一致性。当数据在某个节点发生变化时,需要对其他节点中保存的该数据进行相应的更新。当数据在各节点更新时,通常需要对该数据进行锁定,这时,系统就不能提供与该数据相关的服务,导致系统可用性较差。如果要保证系统具有较高的可用性,则数据更新就会不及时,导致数据的一致性较弱。
然而,在包含有多设备的分布式系统中,如安防系统,需要保证设备数据在系统中具有较强的一致性,同时还要求系统具有较高的可用性。但相关技术中的分布式系统难以兼顾数据一致性和系统可用性,难以满足多设备的分布式系统的需求。
发明内容
有鉴于此,本发明的目的在于提供一种对象更新方法、装置和电子设备,以提高系统可用性的前提下,保证数据的一致性,以满足多设备的分布式系统的需求。
第一方面,本发明实施例提供了一种对象更新方法,方法应用于分布式系统中的管理节点设备;方法包括:接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中,第一标识为目标对象在第一存储空间中的最新标识;将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;其中,第二标识为目标对象在管理节点设备中的最新标识;如果第一标识与第二标识不一致,更新管理节点设备中的目标对象或者更新用于执行目标对象的服务对象。
进一步的,目标对象包括目标数据;第一标识为目标对象的第一版本信息,第二标识为目标对象的第二版本信息;更新管理节点设备中的目标对象的步骤,包括:根据处理请求的请求类别,确定目标数据的更新方式;其中,更新方式包括部分更新方式或全量更新方式;其中,全量更新方式用于对目标数据的全部内容进行全部更新;部分更新方式用于对目标数据的指定部分数据进行更新;基于目标数据的更新方式,更新管理节点设备中目标数据。
进一步的,处理请求的请求类别包括:设备类处理请求或业务类处理请求;根据处理请求的请求类别,确定目标数据的更新方式的步骤,包括:如果处理请求的请求类别为设备类处理请求,将目标数据的更新方式确定为全量更新方式;如果处理请求的请求类别为业务类处理请求,将目标数据的更新方式确定为全量更新方式或部分更新方式。
进一步的,基于目标数据的更新方式,更新管理节点设备中目标数据的步骤,包括:如果更新方式为部分更新方式,从处理请求中提取处理对象的标识信息;从第一版本信息的目标数据中获取处理对象的标识信息对应的部分数据;将获取到的部分数据,更新至管理节点设备中的目标数据。
进一步的,基于目标数据的更新方式,更新管理节点设备中目标数据的步骤,包括:如果更新方式为全量更新方式,将第一版本信息的目标数据更新至管理节点设备中。
进一步的,基于目标数据的更新方式,更新管理节点设备中目标数据的步骤之后,方法还包括:如果处理请求的请求类别为业务类处理请求,且目标数据的更新方式为全量更新方式,将第二标识更新至与第一标识相同。
进一步的,如果处理请求的请求类别为业务类处理请求,且目标数据的更新方式为全量更新方式,将第二标识更新至与第一标识相同的步骤之后,方法还包括:释放针对目标数据的处理权限;其中,在获取目标数据的第一标识之前,管理节点设备获取针对目标数据的处理权限;如果分布式系统中运行有多个管理节点设备,在同一时刻下,最多有一个管理节点设备获取到目标对象的处理权限;将目标数据的处理请求分发至指定的业务服务,以通过业务服务处理目标数据的处理请求。
进一步的,基于目标数据的更新方式,更新管理节点设备中目标数据的步骤之后,方法还包括:如果处理请求的请求类别为设备类处理请求,校验处理请求是否合法;如果处理请求合法,基于处理请求处理管理节点设备中的目标数据,并将处理后的目标数据更新至第二存储空间中;其中,第二存储空间用于存储第一版本信息的目标数据;更新第一存储空间中目标数据的第一标识,以及管理节点设备中的目标数据的第二标识。
进一步的,如果处理请求的请求类别为设备类处理请求,校验处理请求是否合法的步骤,包括:如果处理请求的请求类别包括设备类处理请求,从设备类处理请求中提取处理对象的标识信息;确定处理对象的标识信息是否是有效信息;如果处理对象的标识信息是有效信息,确定处理请求合法。
进一步的,更新第一存储空间中目标数据的第一标识,以及管理节点设备中的目标数据的第二标识的步骤之后,方法还包括:释放针对目标数据的处理权限;其中,在获取目标数据的第一标识之前,管理节点设备获取针对目标数据的处理权限;如果分布式系统中运行有多个管理节点设备,在同一时刻下,最多有一个管理节点设备获取到目标对象的处理权限;通知与目标数据相关的业务服务更新目标数据。
进一步的,目标对象包括业务服务;第一标识包括:业务服务最近一次启动时生成的启动标识;第二标识包括:业务服务在管理节点设备中的启动标识;接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识的步骤,包括:接收业务服务的上线信息,从第一存储空间获取目标对象的第一标识;如果第一标识与第二标识不一致,更新用于执行目标对象的服务对象的步骤,包括:如果第二标识与第一标识不一致,确定业务服务重新启动,更新用于执行业务服务的服务设备,以通过更新后的服务设备执行业务服务;如果第二标识与第一标识一致,确定业务服务为网络掉线后重新上线,通过网络掉线前业务服务的服务设备,执行业务服务。
第二方面,本发明实施例提供了一种对象更新装置,装置设置于分布式系统中的管理节点设备;装置包括:获取模块,用于接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中,第一标识为目标对象在第一存储空间中的最新标识;比对模块,用于将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;其中,第二标识为目标对象在管理节点设备中的最新标识;更新模块,用于如果第一标识与第二标识不一致,更新管理节点设备中的目标对象或者更新用于执行目标对象的服务对象。
第三方面,本发明实施例提供了一种电子设备,电子设备包括:处理设备和存储装置;存储装置上存储有计算机程序,计算机程序在被处理设备运行时执行如第一方面任一项的对象更新方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行如第一方面任一项的对象更新方法的步骤。
第五方面,本发明实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现第一方面中任意一项的对象更新方法。
本发明实施例带来了以下有益效果:
本发明提供了一种对象更新方法、装置和电子设备,接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中的第一标识为目标对象在第一存储空间中的最新标识;将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;其中的第二标识为目标对象在管理节点设备中的最新标识;如果第一标识与第二标识不一致,更新管理节点设备中的目标对象或者更新目标对象的服务对象。该方式中,通过第一标识指示目标对象在分布式系统中的最新状态,同时,管理节点设备中存储目标对象的第二标识,通过该第二标识指示目标对象在管理节点设备中的当前状态,如果第二标识与第一标识不一致,则说明管理节点设备中存储的目标对象尚未更新至最新状态,因此,在响应目标对象的处理请求之前,更新目标对象或服务对象,这种更新方式不影响系统对请求的正常响应,可以保证系统具有较高的可用性,同时,也可以保证系统具有较强的数据一致性,可以满足分布式系统的数据数据管理需求。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种电子设备的结构示意图;
图2为本发明实施例提供的一种对象更新方法的流程图;
图3为本发明实施例提供的一种对象更新方法的应用场景;
图4为本发明实施例提供的一种对象更新方法的流程框图;
图5为本发明实施例提供的另一种对象更新方法的流程框图;
图6为本发明实施例提供的另一种对象更新方法的流程框图;
图7为本发明实施例提供的一种对象更新装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在分布式系统中,通常需要保证数据在各相关的节点中具有一定的一致性,在不同的分布式系统中数据一致性解决方案有多种,但是解决过程都非常复杂。其中涉及到CAP(Consistency Availability Partition tolerance,一致性、可用性和分区容错性)原理,通常系统都会在一致性(C)与可用性(A)之间进行取舍。一般情况下不同业务场景会选择不同的一致性模型,通常分为三大类:强一致性、弱一致性和最终一致性。其中,强一致性会牺牲可用性,即当某次数据变更请求到系统某个节点后,该节点会向其它同级节点同步更新,保证所有节点更新完成后才会给请求者返回数据变更请求结果。而在节点与节点数据同步期间,系统涉及到数据的服务是不能够正确对外提供服务的,所以牺牲了可用性来保证一致性。弱一致性相对于强一致性来说,某次数据变更请求后,不保证再次请求该数据能够得到变更后的数据,因为在分布式系统中有可能这次请求被路由到其它未进行数据更新的节点上。而本次的数据更新可以在后续通过其它技术来实现,类似于异步更新的方式。最终一致性属于弱一致性的特例,系统保证在没有后续更新的前提下,来返回数据上次更新的值。
然而,在包含有多设备的分布式系统中,如安防系统,需要保证设备数据在系统中具有较强的一致性,同时还要求系统具有较高的可用性。但相关技术中的分布式系统难以兼顾数据一致性和系统可用性,难以满足多设备的分布式系统的需求。基于此,本发明实施例提供的一种对象更新方法、装置和电子设备,该技术可以应用于分布式系统下的视频联网平台设备管理等场景中,尤其可以应用于安防系统中的摄像机设备管理,其中的设备参数数量有限并且参数变动不是很频繁。该技术可采用相应的软件和硬件实现,以下对本发明实施例进行详细介绍。
首先,参照图1来描述用于实现本发明实施例的对象更新方法、装置和电子设备的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理设备102、一个或多个存储装置104、输入装置106、输出装置108,另外可以包括一个或多个图像采集设备110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备也可以具有其他组件和结构。
处理设备102可以是网关,也可以为智能终端,或者是包含中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对电子设备100中的其它组件的数据进行处理,还可以控制电子设备100中的其它组件以执行期望的功能。
存储装置104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备102可以运行程序指令,以实现下文的本发明实施例中(由处理设备实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
输出装置108可以向外部(例如,用户)输出各种信息(例如,图像、视频、数据或声音),并且可以包括显示器、扬声器等中的一个或多个。
图像采集设备110可以采集预览视频帧或图片数据(如待处理图像或目标视频帧),并且将采集到的预览视频帧或图像数据存储在存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的对象更新方法、装置和电子设备的示例电子设备中的各器件可以集成设置,也可以分散设置,诸如将处理设备102、存储装置104、输入装置106和输出装置108集成设置于一体,而将图像采集设备110设置于可以采集到图片的指定位置。当上述电子设备中的各器件集成设置时,该电子设备可以被实现为诸如相机、智能手机、平板电脑、计算机、车载终端、摄像机、监控设备、安防系统等智能终端或分布式系统。
本实施例提供了一种对象更新方法,该方法应用于分布式系统中的管理节点设备,其中的管理节点设备可以是安防系统中的摄像设备,也可以是其他传感器设备,比如分布式系统为分布式视频联网平台;如图2所示,该方法包括如下步骤:
步骤S202,接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中,第一标识为目标对象在第一存储空间中的最新标识;
上述目标对象可以包括分布式系统的缓存数据库中存储的设备表,也可以包括业务服务;其中,设备表中通常保存有管理节点设备的设备数据,比如安防系统中的各个摄像设备的设备名称、设备数量、设备参数、设备的地址信息、用户名密码、设备本身的IP等数据;上述处理请求包括多种类别的处理请求,可以是针对设备的处理请求,比如创建、更改、删除、查询设备等处理请求;还可以是针对业务的处理请求,比如获取或设置设备参数、设置设备开关流等处理请求;还可以是针对业务服务处理请求,比如执行目标业务服务等;通常不同的目标对象会对应不同的处理请求。
上述第一存储空间可以是指分布式系统中的缓存数据库,该缓存数据库一般设置于分布式系统的缓存服务器中,该缓存数据库中可以存储有一张或者多张设备表对应的第一标识,不同的设备表具有不同的第一标识,其中的设备表通常保存在其他数据库中,比如设备数据库,每张设备表中保存有指定设备的设备数据;通常情况下,设备数据库中会保存一张主设备表,以及其他辅助设备表,该辅助表可以是与业务属性相关联的设备表,针对不同的设备表设置不同的第一标识,当设备表需要更新时,可以将数据锁定的范围尽量降低到最小。该缓存数据库中还存储有业务服务的实例标识,即上述第一标识,可以加快消息响应速度和校验逻辑的判断;所以管理节点设备可以根据目标对象从第一存储空间中获取目标对象的第一标识,其中的第一标识可以表示为GUID(Globally Unique Identifier,全局唯一标识符)为目标对象在第一存储空间中的最新标识,用于指示目标对象在分布式系统中的最新状态,其中的最新状态表示目标对象最近一次操作的操作标识。
上述第一存储空间用于记录当前针对目标对象最近一次的操作标识,即上述第一标识,可以理解为管理节点设备对设备表的部分或全部数据做了变更,管理节点设备对针对设备表的部分或全部数据产生一个操作的第一标识,然后在分布式锁的保护下将第一标识记录在缓存服务器中即上述第一存储空间;还可以理解为管理节点设备针对业务服务最近一次的运行状态设置一个对应的第一标识,然后在分布式锁的保护下将该第一标识记录在缓存服务器中即上述第一存储空间。
实际实现时,当管理节点设备接收到针对目标对象的处理请求,在响应处理请求之前,即管理节电设备需要对刚才产生变更的目标对象进行操作时,首先需要在第一存储空间,也就是分布式系统的缓存服务器中获取目标对象最近一次操作的第一标识。
步骤S204,将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;其中,第二标识为目标对象在管理节点设备中的最新标识;
上述目标对象在管理节点设备中的状态可以是目标对象在分布式系统中的最新状态,也可以不是目标对象在分布式系统中的最新状态;比如,在目标对象进行最新一次操作后,如果是对设备表中部分数据的更改,管理节点设备并不会存储更改后的设备表中部分数据的更改操作标识;因此上述第二标识为目标对象在管理节点设备中的最新标识,用于指示的仅仅是目标对象在管理节点设备中的当前状态,也可以称为目标对象最近一次更改前的状态。再如,当目标对象为业务服务时,如果业务服务已经重新启动过,则第二标识指示的不是业务服务最近一次的启动状态。
为了保证目标对象的一致性,即保证管理节点设备中存储的目标对象为最新的目标对象,可以将第一标识与管理节点设备中存储的目标对象的第二标识进行比对。如果一致,则说明第一标识与管理节点设备中存储的目标对象为最新的目标对象,如果不一致则说明目标对象在该管理节点设备尚未更新至最新状态。
步骤S206,如果第二标识与第一标识不一致,更新管理节点设备中的目标对象或者更新用于执行目标对象的服务对象。
具体的,在获取到第一标识后,需要与管理节点设备中存储的目标对象的第二标识进行比较,如果管理节点设备中存储的目标对象的第二标识,与第一标识不一致,则说明管理节点设备中存储的目标对象的状态并不是最近一次更改后的状态,也即目标对象包括的信息也并不是最新信息,需要对管理节点设备中的目标对象进行更新。具体的可以根据目标对象的类别进行更新操作,当目标对象为设备表时,可以对目标对象包括的部分或者全部信息进行更新,即可以将第一版本信息的目标对象包括的部分或者全部信息替换为管理节点设备中的目标对象对应的信息。如果目标对象为业务服务时,可以更新执行该业务服务的对象,其中执行该业务服务的对象通常为设备,比如服务设备。
其中,如果目标对象为目标数据,更新管理节点设备中的目标对象,一种可能的实施方式,基于最新版本的目标数据,更新管理节点设备中的目标数据。为了保证管理节点设备中存储的目标数据为分布式系统中的最新值,在第一标识和第二标识不同的情况下,需要基于最新版本的目标数据,更新管理节点设备中的目标数据;具体的更新方式可以根据处理请求确定,比如,通过管理节点设备获取最新版本的目标数据,将管理节点设备中的目标数据替换为最新版本的目标数据;或者通过管理节点设备获取最新版本的目标数据中的部分数据,将管理节点设备中的目标数据中的部分数据替换为最新版本的目标数据中部分数据,该部分数据可以是需要进行处理的数据。
参见图3所示的一种对象更新方法的应用场景,即数据同步的结构框架,其中的设备中心管理服务即上述管理节点设备,该管理服务接收消息请求(即上述针对目标对象的处理请求);该管理服务还将接收到的消息请求进行任务分发;与管理服务连接的缓存服务器对应上述第一存储空间,用于存储目标对象的第一标识;设备数据库用于存储分布式系统中的设备数据。
本发明提供了一种对象更新方法,接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中的第一标识为目标对象在第一存储空间中的最新标识;将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;其中的第二标识为目标对象在管理节点设备中的最新标识;如果第一标识与第二标识不一致,更新管理节点设备中的目标对象或者更新目标对象的服务对象。该方式中,通过第一标识指示目标对象在分布式系统中的最新状态,同时,管理节点设备中存储目标对象的第二标识,通过该第二标识指示目标对象在管理节点设备中的当前状态,如果第二标识与第一标识不同,则说明管理节点设备中存储的目标对象尚未更新至最新状态,因此,在响应目标对象的处理请求之前,更新目标对象或服务对象,这种更新方式不影响系统对请求的正常响应,可以保证系统具有较高的可用性,同时,也可以保证系统具有较强的数据一致性,可以满足分布式系统的数据数据管理需求。
本实施例通过了另一种对象更新方法,本实施例在上述实施例的基础上实现,本实施例重点描述更新管理节点设备中的目标对象的步骤的具体实现方式(通过步骤303-304实现),该方法具体包括如下步骤:
步骤301,接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中,第一标识为目标对象在第一存储空间中的最新标识;
步骤302,接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中,第一标识为目标对象在第一存储空间中的最新标识;
上述目标对象包括目标数据;第一标识为目标对象的第一版本信息,第二标识为目标对象的第二版本信息;第一标识用于指示目标数据在分布式系统中的最新版本;上述目标数据可以理解为一个数据表,可以是设备表中保存的数据;上述目标对象的处理请求可以是针对设备名称的设备查询请求、针对设备数量的更改请求、针对设备的数据流的开关请求、针对设备参数的获取或设置请求等。上述目标数据在分布式系统中的第一版本信息,可以理解为目标数据在当前分布式系统中的最新值;如果需要对目标数据执行处理请求,必须针对第一版本信息的目标数据进行处理。
步骤303,如果第二标识与第一标识不一致,根据处理请求的请求类别,确定目标数据的更新方式;其中,更新方式包括部分更新方式或全量更新方式;其中,全量更新方式用于对目标数据的全部内容进行全部更新;部分更新方式用于对目标数据的指定部分数据进行更新;
上述部分更新方式可以是将目标数据中的部分数据进行更新;全量更新方式可以是将目标数据中的所有数据进行更新。其中部分更新方式需要更新的部分数据可以根据请求处理确定。
上述处理请求的请求类别包括:设备类处理请求或业务类处理请求;其中,设备类处理请求包括:设备增加请求、设备删除请求、设备修改请求、设备查询请求或设备目标查询请求;业务类处理请求包括:针对指定设备的数据流开启或关闭请求、设备参数获取请求或设备参数设置请求。其中的设备参数通常是指设备本身的参数,比如,摄像设备中的相机参数。
根据处理请求的请求类别,确定目标数据的更新方式的步骤,一种可能的实施方式:
(1)如果处理请求的请求类别包括设备类处理请求,将目标数据的更新方式确定为全量更新方式;
(2)如果处理请求的请求类别包括业务类处理请求,将目标数据的更新方式确定为全量更新方式或部分更新方式。
当处理请求的请求类别包括业务类处理请求时,目标数据的更新方式具体可以根据系统的实际需要进行确定;如果处理请求为业务类处理请求,全量更新方式的效率较低,耗费的时间较长,所以一般情况下优先将目标数据的更新方式确定为部分更新方式。
步骤304,基于目标数据的更新方式,更新管理节点设备中目标数据。
具体的,如果目标数据的更新方式为部分更新方式,可以将目标数据中的部分数据进行更新;如果目标数据的更新方式为全量更新方式,可以直接将目标数据中的全部数据进行更新。以使更新后的目标数据为分布式系统中的最新值。
一种可能的实施方式:如果更新方式为部分更新方式,从处理请求中提取处理对象的标识信息;从第一版本信息的目标数据中获取处理对象的标识信息对应的部分数据;将获取到的部分数据,更新至管理节点设备中的目标数据。
一般处理请求中会有设备标识,判断内存维护中的标识信息是否相同,如需要更新再根据设备标识对设备信息(比如:ip、端口、用户名、密码、设备名称等)进行更新。上述处理对象通常是指处理设备,处理对象的标识信息通常是指设备的标识信息。具体的,如果更新方式为部分更新方式,从处理请求中提取处理对象的标识信息,然后从第一版本信息的目标数据中获取处理对象的标识信息对应的部分数据,然后将获取到的部分数据,更新至管理节点设备中的目标数据。比如,处理请求为针对指定设备的数据流开启或关闭请求,可以从处理请求中提取处理对象的标识信息为指定设备的设备标识,则需要从第一版本信息的目标数据获取指定设备的数据流开启或关闭的数据,将获取到的指定设备的数据流开启或关闭的数据,更新至管理节点设备中的目标数据,具体可以将管理节点设备中目标数据对应的该部分数据替换为最新版的指定设备的数据流开启或关闭的数据。
另一种可能的实施方式:如果更新方式为全量更新方式,将第一版本信息的目标数据更新至管理节点设备中。
具体的,可以直接获取第一版本信息的目标数据,然后将管理节点设备中的目标数据全部替换为第一版本信息的目标数据。
上述方式中,将处理请求分为设备类处理请求和业务类处理请求,根据处理请求的请求类别,将目标数据的更新方式确定为全量更新方式或者部分更新方式,基于目标数据的更新方式对目标数据进行更新,可以在执行处理请求之前保证数据的一致性,部分更新或全量更新过程中需要分布式锁占用目标数据,因此部分更新能够使占用系统可用性的时间降低,在提高了系统可用性的前提下,更快速的保证数据一致性,满足了多设备的分布式系统的需求,保证同级设备中心管理服务器之间的数据同步。
本实施例提供了另一种对象更新方法,本实施例主要描述,基于目标数据的更新方式,更新管理节点设备中目标数据的步骤之后具体实现方式,一种可能的实施方式,具体包括如下步骤:
(1)如果处理请求的请求类别为业务类处理请求,且目标数据的更新方式为全量更新方式,将第二标识更新至与第一标识相同。
由于管理节点设备中的目标数据进行了全量更新,即将管理节点设备中的目标数据更改为了分布式系统中的第一版本信息,所以需要将管理节点设备中的目标数据的第二标识更新为第一标识相同,此时第二标识指示的目标数据为管理节点设备中的版本,也是当前分布式系统中的最新版本。
(2)释放针对目标数据的处理权限;其中,在获取目标数据的第一标识之前,管理节点设备获取针对目标数据的处理权限;如果分布式系统中运行有多个管理节点设备,在同一时刻下,最多有一个管理节点设备获取到目标对象的处理权限;
为了保证同一时刻下只有一个管理节点设备可以针对一个目标数据进行操作,在获取目标数据的第一标识之前,管理节点设备需要获取针对目标数据的处理权限,此时在分布式系统中的其他管理节点设备对目标数据不可用;上述针对目标数据的处理权限可以是分布式锁占用目标数据。具体的,在响应针对目标对象的处理请求后,管理节点设备首先会给目标对象分配一个分布式锁,然后在分布式锁的保护下,管理节点设备可以从第一存储空间获取目标数据的第一标识,对比第一标识和第二标识,如果不同,在分布式锁的保护下对目标数据进行全量或者部分更新;直至目标数据更新完毕,管理节点设备才会释放分布式锁,即上述释放针对目标数据的处理权限,此时在分布式系统中的其他管理节点设备对目标数据可用;因此管理节点设备需要尽量减少针对目标数据的处理权限的时间,来提高整体系统的一个可用性。
(3)将目标数据的处理请求分发至指定的业务服务,以通过业务服务处理目标数据的处理请求。
在保证数据一致性后,管理节点设备可以将目标数据的处理请求分发至指定的业务服务,此时业务服务可以基于处理请求,针对第一版本信息的目标数据进行处理。需要说明的,如果处理请求的请求类别包括业务类处理请求,且目标数据的更新方式为部分更新方式,则不需要更新第二标识。如果更新了第二标识,由于管理节点设备中的目标数据仅更改了部分数据,则会造成数据不同步的后果。
具体的参见图4所示的流程图,图中的客户端消息请求为非设备CURD(CreateUpdate Read Delete,创建、更新、读取、删除)操作对应前述的针对目标对象的业务类处理请求,设备中心管理服务对应前述节点设备中运行的管理节点设备;具体的,当管理节点设备接收到针对目标数据的业务类处理请求后,首先获取锁,即前述获取针对目标数据的处理权限,如果没有获取到针对目标数据的处理权限,则管理节点设备再次获取针对目标数据的处理权限,如果获取到针对目标数据的处理权限,则在分布式锁的保护下,从缓存数据库(对应前述的第一存储空间)中读取表操作GUID信息(对应前述的目标数据的第一标识),与管理节点设备内存储的第二标识进行比较,判断比较结果,如果第一标识与第二标识相同,则直接释放锁,即释放针对目标数据的处理权限,然后进行业务分发处理,即将针对目标数据的处理请求分发至指定的业务服务,以通过业务服务处理目标数据的处理请求。如果第一标识与第二标识不相同,则根据客户端的不同请求内容,从数据库中获取目标数据的第一版本信息,基于数据库中获取的目标数据,对管理节点设备中的目标数据进行部分或者全量更新;如果是全量更新还需要更新内存GUID与缓存服务器中的第一标识一致,即将第二标识更新至与第一标识相同,最后进行业务分发处理,即将目标数据的处理请求分发至指定的业务服务,以通过业务服务处理目标数据的处理请求。
另一种可能的实施方式,具体包括如下步骤:
(1)如果处理请求的请求类别包括设备类处理请求,校验处理请求是否合法;
其中校验处理请求是否合法可以是校验处理请求是否有效,比如,处理请求为设备修改请求,但是系统中不存在该设备,此时处理请求是不合法的。
上述步骤(1)的一种可能的实现方式,如果处理请求的请求类别包括设备类处理请求,从设备类处理请求中提取处理对象的标识信息;确定处理对象的标识信息是否是有效信息;如果处理对象的标识信息是有效信息,确定处理请求合法。
上述设备类请求中通常会包括处理设备的设备ID,判断内存维护中的表示信息是否相同,如需要更新再根据设备ID对设备信息(比如:ip、端口、用户名、密码、设备名称等)进行更新。上述确定处理对象的标识信息是否有效,主要是校验设备ID是否有效。当然有些特殊指令,一些逻辑上的校验,比如设置或者获取一些参数,只有抓拍机才支持,其它类型相机不支持此请求等。
(2)如果处理请求合法,基于处理请求处理管理节点设备中的目标数据,并将处理后的目标数据更新至第二存储空间中;其中,第二存储空间用于存储第一版本信息的目标数据;
上述第二存储空间可以是分布式系统中的设备数据库,用于存储第一版本信息的目标数据。本实施方式中由于是设备类处理请求,因此不需要任务分发处理,管理节点设备可以直接基于处理请求处理管理节点设备中的目标数据,然后将处理后的目标数据更新至第二存储空间中。
(3)更新第一存储空间中目标数据的第一标识,以及管理节点设备中的目标数据的第二标识。
当执行完成针对目标数据的处理请求后,在分布式系统中第一版本信息的目标数据发生了变化,即针对目标数据进行了更改,此时管理节点设备会更新第一存储空间中目标数据的第一标识,以及管理节点设备中的目标数据的第二标识,更新后的第一标识与更新后的第二标识相同,用于指示目标数据的在分布式系统中的第一版本信息。
(4)释放针对目标数据的处理权限;其中,在获取目标数据的第一标识之前,管理节点设备获取针对目标数据的处理权限;如果分布式系统中运行有多个管理节点设备,在同一时刻下,最多有一个管理节点设备获取到目标对象的处理权限;
该步骤的具体实施方式与前述一种可能的实施方式中(2)步骤的实施方式相同,在此不再赘述。
(5)通知与目标数据相关的业务服务更新目标数据。
为了使与目标数据相关的业务服务了解当前目标数据的状态,管理节点设备通知与目标数据相关的业务服务更新目标数据,具体的,可以直接将更新的目标数据发送给与目标数据相关的业务服务,然后继续进行数据的同步更新。
具体的参见图5所示的流程图,图中的客户端消息请求为设备CURD操作对应前述的针对目标对象的设备类处理请求,设备中心管理服务对应前述管理节点设备;具体的,当管理服务接收到针对目标数据的设备类处理请求后,首先获取锁,即前述获取针对目标数据的处理权限,如果没有获取到针对目标数据的处理权限,则管理服务再次获取针对目标数据的处理权限,如果获取到针对目标数据的处理权限,则在分布式锁的保护下,从缓存数据库(对应前述的第一存储空间)中读取表操作GUID信息(对应前述的目标数据的第一标识),与管理服务内存储的第二标识进行比较,判断比较结果,如果第一标识与第二标识不相同,首先进行全量数据同步,即前述基于最新版本的目标数据,更新管理服务中的目标数据;然后进行设备信息校验,如果第一标识与第二标识相同,则直接进行设备信息校验,其中设备信息校验即前述校验处理请求是否合法,如果合法,进行GURD操作并保存至数据库,即前述基于处理请求处理管理服务中的目标数据,并将处理后的目标数据更新至第二存储空间中;最后释放锁,即释放针对目标数据的处理权限,然后通知与目标数据关联的业务服务设备信息变更,即前述通知与目标数据相关的业务服务更新目标数据。
上述方式中,基于第一版本信息的目标数据,更新了管理服务中的目标数据后,根据处理请求的请求类别,分别进行不同的操作,为了使不同管理服务中的目标数据保持一致,在业务类处理请求中,需要在管理服务中的目标数据进行全量更新后,将第二标识更新至与第一标识相同,然后释放针对目标数据的处理权限,最后将目标数据的处理请求分发至指定的业务服务,以通过业务服务处理目标数据的处理请求。在设备类处理请求中,如果处理请求合法,首先基于处理请求处理管理服务中的目标数据,并将处理后的目标数据更新至第二存储空间中,然后更新第一标识和第二标识,最后释放针对目标数据的处理权限,通知与目标数据相关的业务服务更新目标数据,这方式中,在保证系统具有较高的可用性的前提下,能够及时更新数据,兼顾了数据一致性和系统可用性,同时满足了多设备的分布式系统的需求,保证同级设备中心管理服务器之间的数据同步。
本实施例还提供了另一种对象更新方法,本实施例在上述实施例的基础上实现,本实施例主要描述接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识的步骤,以及如果第一标识与第二标识不一致,更新用于执行目标对象的服务对象的步骤;该方法中,上述目标对象包括业务服务;第一标识包括:业务服务最近一次启动时生成的启动标识;第二标识包括:业务服务在管理节点设备中的启动标识;其中的业务服务可以是录像服务、代理服务等;通常业务服务在进行服务发现注册时会设置一个启动标识记性服务发现注册,管理节点设备通过服务发现管制业务服务的上线或下线状态,当业务服务第一次上线,则管理节点设备会向业务服务首次分配设备,并在第一存储空间记录启动标识。
接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识的步骤,包括:接收业务服务的上线信息,从第一存储空间获取目标对象的第一标识。
通常在业务服务上线后,中间某个状态可能会因为网络原因造成业务服务离线,业务服务可能发生了变化,因此在接收到业务服务的上线信息后,从第一存储空间获取目标对象的第一标识。
如果第一标识与第二标识不一致,更新用于执行目标对象的服务对象的步骤,包括:如果第二标识与第一标识不一致,确定业务服务重新启动,更新用于执行业务服务的服务设备,以通过更新后的服务设备执行业务服务;如果第二标识与第一标识一致,确定业务服务为网络掉线后重新上线,通过网络掉线前业务服务的服务设备,执行业务服务。
通常在业务服务上线后,中间某个状态可能会因为网络原因造成业务服务离线,当业务服务再次上线时,如果第二标识与第一标识不同,则说明业务服务重新启动过,需要重新对该业务服务分配服务设备,即上述更新用于执行业务服务的服务设备。如果第二标识与第一标识一致,则说明业务服务为网络掉线后重新上线,并不是重新启动,通过网络掉线前业务服务的服务设备,执行业务服务。
具体的参见图6所示的流程图,本身系统设计为多入口方式,即同时包含多个设备中心管理服务(对应前述的管理节点设备)对外提供服务,不同设备中心管理服务分为主动和被动工作模式,通过选举方式实现;主动和被动主要是为了服务发现时对业务服务设备再分配。其中,中心设备管理服务集群通过服务发现方式感知业务服务行为(上线/下线等),不同服务之间消息传递方式为HTTP(Hyper Text Transfer Protocol,超文本传输协议)。
首先设备中心管理服务(对应前述的管理节点设备)集群向注册中心,完成选举选出一个主设备中心管理服务(Leader);业务服务集群每个业务服务携带一个标识服务实例GUID进行服务发现注册;主设备中心管理服务通过服务发现,感知业务服务的上线/下线状态;业务服务第一次上线,主设备中心管理服务会向业务首次分配设备,并记录其实例GUID标识;中间某个状态因为网络原因造成业务服务离线;当业务服务再次上线时,主设备中心管理服务会拿到业务服务的GUID(对应上述第一标识)与管理服务中所记录的业务服务的GUID(对应上述第二标识)进行比较,如果不同,则认为业务服务实例重启过,需要重新对其进行设备分配;如果相同,则认为是因为网络等原因造成的业务服务离线,实例本身没有重启,不再对其进行设备分配。其中不同的设备类型会绑定不同的业务服务。
上述方式中,如果目标对象为业务服务,则第一标识包括业务服务最近一次启动时生成的启动标识,通过对业务服务的最近一次启动设置启动标识;第二标识包括业务服务在管理节点设备中的启动标识,通过对业务服务在管理节点设备中设置启动标识;如果第一标识与第二标识不同,则说明业务服务发生了重启,此时设备中心管理服务与业务服务数据不同步,需要更新用于执行业务服务的服务设备。在分布式系统中保证了设备中心管理服务与业务服务的数据同步。
对应上述的方法实施例,本实施例还提供了一种对象更新装置,该装置设置于分布式系统中的管理节点设备;如图7所示,该装置包括:
获取模块71,用于接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中,第一标识为目标对象在第一存储空间中的最新标识;
比对模块72,用于将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;其中,第二标识为目标对象在管理节点设备中的最新标识;
更新模块73,用于如果第一标识与第二标识不一致,更新管理节点设备中的目标对象或者更新用于执行目标对象的服务对象。
本发明提供了一种对象更新装置,接收针对目标对象的处理请求,在响应处理请求之前,从第一存储空间获取目标对象的第一标识;其中的第一标识为目标对象在第一存储空间中的最新标识;将第一标识与管理节点设备中存储的目标对象的第二标识进行比对;其中的第二标识为目标对象在管理节点设备中的最新标识;如果第一标识与第二标识不一致,更新管理节点设备中的目标对象或者更新目标对象的服务对象。该方式中,通过第一标识指示目标对象在分布式系统中的最新状态,同时,管理节点设备中存储目标对象的第二标识,通过该第二标识指示目标对象在管理节点设备中的当前状态,如果第二标识与第一标识不同,则说明管理节点设备中存储的目标对象尚未更新至最新状态,因此,在响应目标对象的处理请求之前,更新目标对象或服务对象,这种更新方式不影响系统对请求的正常响应,可以保证系统具有较高的可用性,同时,也可以保证系统具有较强的数据一致性,可以满足分布式系统的数据数据管理需求。
进一步的,上述目标对象包括目标数据;上述第一标识为目标对象的第一版本信息,上述第二标识为目标对象的第二版本信息;上述更新模块还用于:根据处理请求的请求类别,确定目标数据的更新方式;其中,更新方式包括部分更新方式或全量更新方式;其中,全量更新方式用于对目标数据的全部内容进行全部更新;部分更新方式用于对目标数据的指定部分数据进行更新;基于目标数据的更新方式,更新管理节点设备中目标数据。
进一步的,上述处理请求的请求类别包括:设备类处理请求或业务类处理请求;上述更新模块还用于:如果处理请求的请求类别为设备类处理请求,将目标数据的更新方式确定为全量更新方式;如果处理请求的请求类别为业务类处理请求,将目标数据的更新方式确定为全量更新方式或部分更新方式。
进一步的,上述更新模块还用于,如果更新方式为部分更新方式,从处理请求中提取处理对象的标识信息;从第一版本信息的目标数据中获取处理对象的标识信息对应的部分数据;将获取到的部分数据,更新至管理节点设备中的目标数据。
进一步的,上述更新模块还用于,如果更新方式为全量更新方式,将第一版本信息的目标数据更新至管理节点设备中。
进一步的,上述装置还包括第二更新模块,用于:如果处理请求的请求类别为业务类处理请求,且目标数据的更新方式为全量更新方式,将第二标识更新至与第一标识相同。
进一步的,上述装置还包括第一权限释放模块,用于:释放针对目标数据的处理权限;其中,在获取目标数据的第一标识之前,管理节点设备获取针对目标数据的处理权限;如果分布式系统中运行有多个管理节点设备,在同一时刻下,最多有一个管理节点设备获取到目标对象的处理权限;将目标数据的处理请求分发至指定的业务服务,以通过业务服务处理目标数据的处理请求。
进一步的,上述装置还包括校验模块,用于:如果处理请求的请求类别为设备类处理请求,校验处理请求是否合法;如果处理请求合法,基于处理请求处理管理节点设备中的目标数据,并将处理后的目标数据更新至第二存储空间中;其中,第二存储空间用于存储第一版本信息的目标数据;更新第一存储空间中目标数据的第一标识,以及管理节点设备中的目标数据的第二标识。
进一步的,上述校验模块还用于:如果处理请求的请求类别包括设备类处理请求,从设备类处理请求中提取处理对象的标识信息;确定处理对象的标识信息是否是有效信息;如果处理对象的标识信息是有效信息,确定处理请求合法。
进一步的,上述装置还包括第二权限释放模块,用于:释放针对目标数据的处理权限;其中,在获取目标数据的第一标识之前,管理节点设备获取针对目标数据的处理权限;如果分布式系统中运行有多个管理节点设备,在同一时刻下,最多有一个管理节点设备获取到目标对象的处理权限;通知与目标数据相关的业务服务更新目标数据。
进一步的,上述目标对象包括业务服务;上述第一标识包括:业务服务最近一次启动时生成的启动标识;上述第二标识包括:业务服务在管理节点设备中的启动标识;上述获取模块还用于:接收业务服务的上线信息,从第一存储空间获取目标对象的第一标识;上述更新模块还用于:如果第二标识与第一标识不一致,确定业务服务重新启动,更新用于执行业务服务的服务设备,以通过更新后的服务设备执行业务服务;如果第二标识与第一标识一致,确定业务服务为网络掉线后重新上线,通过网络掉线前业务服务的服务设备,执行业务服务。
本发明实施例提供的对象更新装置,与上述实施例提供的对象更新方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述对象更新方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序被处理器执行时实现第一方面中任意一项的对象更新方法。
本发明实施例所提供的对象更新方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种对象更新方法,其特征在于,所述方法应用于分布式系统中的管理节点设备;所述方法包括:
接收针对目标对象的处理请求,在响应所述处理请求之前,从第一存储空间获取所述目标对象的第一标识;其中,所述第一标识为所述目标对象在所述第一存储空间中的最新标识;
将所述第一标识与所述管理节点设备中存储的所述目标对象的第二标识进行比对;其中,所述第二标识为所述目标对象在所述管理节点设备中的最新标识;
如果所述第一标识与所述第二标识不一致,更新所述管理节点设备中的所述目标对象或者更新用于执行所述目标对象的服务对象。
2.根据权利要求1所述的方法,其特征在于,所述目标对象包括目标数据;所述第一标识为所述目标对象的第一版本信息,所述第二标识为所述目标对象的第二版本信息;
所述更新所述管理节点设备中的所述目标对象的步骤,包括:
根据所述处理请求的请求类别,确定所述目标数据的更新方式;其中,所述更新方式包括部分更新方式或全量更新方式;其中,所述全量更新方式用于对所述目标数据的全部内容进行全部更新;所述部分更新方式用于对所述目标数据的指定部分数据进行更新;
基于所述目标数据的更新方式,更新所述管理节点设备中所述目标数据。
3.根据权利要求2所述的方法,其特征在于,所述处理请求的请求类别包括:设备类处理请求或业务类处理请求;
所述根据所述处理请求的请求类别,确定所述目标数据的更新方式的步骤,包括:
如果所述处理请求的请求类别为设备类处理请求,将所述目标数据的更新方式确定为全量更新方式;
如果所述处理请求的请求类别为业务类处理请求,将所述目标数据的更新方式确定为全量更新方式或部分更新方式。
4.根据权利要求2或3所述的方法,其特征在于,基于所述目标数据的更新方式,更新所述管理节点设备中所述目标数据的步骤,包括:
如果所述更新方式为部分更新方式,从所述处理请求中提取处理对象的标识信息;
从所述第一版本信息的目标数据中获取所述处理对象的标识信息对应的部分数据;
将获取到的所述部分数据,更新至所述管理节点设备中的所述目标数据。
5.根据权利要求2或3所述的方法,其特征在于,基于所述目标数据的更新方式,更新所述管理节点设备中所述目标数据的步骤,包括:
如果所述更新方式为全量更新方式,将所述第一版本信息的目标数据更新至所述管理节点设备中。
6.根据权利要求2所述的方法,其特征在于,基于所述目标数据的更新方式,更新所述管理节点设备中所述目标数据的步骤之后,所述方法还包括:
如果所述处理请求的请求类别为业务类处理请求,且所述目标数据的更新方式为全量更新方式,将所述第二标识更新至与所述第一标识相同。
7.根据权利要求6所述的方法,其特征在于,如果所述处理请求的请求类别为业务类处理请求,且所述目标数据的更新方式为全量更新方式,将所述第二标识更新至与所述第一标识相同的步骤之后,所述方法还包括:
释放针对所述目标数据的处理权限;其中,在获取所述目标数据的第一标识之前,所述管理节点设备获取针对所述目标数据的处理权限;如果所述分布式系统中运行有多个所述管理节点设备,在同一时刻下,最多有一个管理节点设备获取到所述目标对象的处理权限;
将所述目标数据的处理请求分发至指定的业务服务,以通过所述业务服务处理所述目标数据的处理请求。
8.根据权利要求2-5任一项所述的方法,其特征在于,基于所述目标数据的更新方式,更新所述管理节点设备中所述目标数据的步骤之后,所述方法还包括:
如果所述处理请求的请求类别为设备类处理请求,校验所述处理请求是否合法;
如果所述处理请求合法,基于所述处理请求处理所述管理节点设备中的所述目标数据,并将处理后的所述目标数据更新至第二存储空间中;其中,所述第二存储空间用于存储第一版本信息的所述目标数据;
更新所述第一存储空间中所述目标数据的第一标识,以及所述管理节点设备中的所述目标数据的第二标识。
9.根据权利要求8所述的方法,其特征在于,如果所述处理请求的请求类别为设备类处理请求,校验所述处理请求是否合法的步骤,包括:
如果所述处理请求的请求类别包括设备类处理请求,从所述设备类处理请求中提取处理对象的标识信息;
确定所述处理对象的标识信息是否是有效信息;
如果所述处理对象的标识信息是有效信息,确定所述处理请求合法。
10.根据权利要求8所述的方法,其特征在于,更新所述第一存储空间中所述目标数据的第一标识,以及所述管理节点设备中的所述目标数据的第二标识的步骤之后,所述方法还包括:
释放针对所述目标数据的处理权限;其中,在获取所述目标数据的第一标识之前,所述管理节点设备获取针对所述目标数据的处理权限;如果所述分布式系统中运行有多个所述管理节点设备,在同一时刻下,最多有一个管理节点设备获取到所述目标对象的处理权限;
通知与所述目标数据相关的业务服务更新所述目标数据。
11.根据权利要求1所述的方法,其特征在于,所述目标对象包括业务服务;所述第一标识包括:所述业务服务最近一次启动时生成的启动标识;所述第二标识包括:所述业务服务在所述管理节点设备中的启动标识;
所述接收针对目标对象的处理请求,在响应所述处理请求之前,从所述第一存储空间获取所述目标对象的第一标识的步骤,包括:接收所述业务服务的上线信息,从所述第一存储空间获取所述目标对象的第一标识;
如果所述第一标识与所述第二标识不一致,更新用于执行所述目标对象的服务对象的步骤,包括:
如果所述第二标识与所述第一标识不一致,确定所述业务服务重新启动,更新用于执行所述业务服务的服务设备,以通过更新后的所述服务设备执行所述业务服务;
如果所述第二标识与所述第一标识一致,确定所述业务服务为网络掉线后重新上线,通过网络掉线前所述业务服务的服务设备,执行所述业务服务。
12.一种电子设备,其特征在于,所述电子设备包括:处理设备和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理设备运行时执行如权利要求1至11任一项所述的对象更新方法。
13.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理设备运行时执行如权利要求1至11任一项所述的对象更新方法的步骤。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至11中任意一项所述的对象更新方法。
CN202111234141.6A 2021-10-22 2021-10-22 对象更新方法、装置和电子设备 Pending CN114116737A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111234141.6A CN114116737A (zh) 2021-10-22 2021-10-22 对象更新方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111234141.6A CN114116737A (zh) 2021-10-22 2021-10-22 对象更新方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN114116737A true CN114116737A (zh) 2022-03-01

Family

ID=80376616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111234141.6A Pending CN114116737A (zh) 2021-10-22 2021-10-22 对象更新方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114116737A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185934A1 (zh) * 2022-03-31 2023-10-05 阿里云计算有限公司 数据处理方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185934A1 (zh) * 2022-03-31 2023-10-05 阿里云计算有限公司 数据处理方法及装置

Similar Documents

Publication Publication Date Title
US8798051B2 (en) Information and communication processing system, method, and network node
CN107820043B (zh) 视频监控系统的控制方法、装置及系统
CN109995859A (zh) 一种调度方法、调度服务器及计算机可读存储介质
EP3413511B1 (en) Vnfm determining method and network function virtualization orchestrator
CN109525658A (zh) 一种产号方法、服务器、设备、存储介质和业务系统
CN107111510B (zh) 一种针对vnf包进行操作的方法及装置
US11336588B2 (en) Metadata driven static determination of controller availability
CN112231168A (zh) 微服务器管控方法、装置、设备及存储介质
CN107168970A (zh) 一种分布式文件系统hdfs的管理方法、装置及系统
CN111464603B (zh) 一种服务器扩容方法及扩容系统
CN112860282B (zh) 集群插件的升级方法、装置和服务器
CN115150419B (zh) 一种混合云对象存储的配置和访问方法及系统
CN114116737A (zh) 对象更新方法、装置和电子设备
CN113965434B (zh) 一种跨机房场景下的api网关路由实现方法
CN107623581B (zh) 服务列表生成方法、装置及系统,获取、上报方法及装置
CN112181049B (zh) 集群时间同步方法、装置、系统、设备及可读存储介质
CN111291063B (zh) 主备副本选举方法、系统、计算机设备和存储介质
WO2023065900A1 (zh) 设备状态消息处理方法及消息分发系统
CN111259376A (zh) 权限配置方法、装置、服务器及存储介质
CN112583740B (zh) 网络通信方法及装置
CN113821301A (zh) 一种虚拟机开启方法、系统、存储介质及设备
CN112003956B (zh) 一种交管系统
WO2024066503A1 (zh) 服务调用方法及装置
US20240056434A1 (en) Mechanism to enable authorization of network function acting as federated learning clients and federated llearning servers in 5g core
CN110417568B (zh) Nfv策略协商方法及系统

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