CN111614750A - 一种数据更新方法、系统、设备及存储介质 - Google Patents

一种数据更新方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN111614750A
CN111614750A CN202010424545.0A CN202010424545A CN111614750A CN 111614750 A CN111614750 A CN 111614750A CN 202010424545 A CN202010424545 A CN 202010424545A CN 111614750 A CN111614750 A CN 111614750A
Authority
CN
China
Prior art keywords
data
response
updated
terminal
initiating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010424545.0A
Other languages
English (en)
Other versions
CN111614750B (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.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN202010424545.0A priority Critical patent/CN111614750B/zh
Publication of CN111614750A publication Critical patent/CN111614750A/zh
Application granted granted Critical
Publication of CN111614750B publication Critical patent/CN111614750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种数据更新方法、系统、设备及存储介质。由于本申请中的发起端在对响应端进行数据更新时,根据响应端数据对应的元数据选择性的向响应端传输待更新数据中,与响应端数据具有相同数据身份标识且差异于响应端数据部分的差异待更新数据,以此基于差异待更新数据即可实现对于响应端的数据更新,因此发起端无需向响应端传输完整的待更新数据,相对降低了网络开销,进而确保了数据更新的整体可靠性。此外,本申请还提供一种数据更新系统、设备及存储介质,有益效果同上所述。

Description

一种数据更新方法、系统、设备及存储介质
技术领域
本申请涉及电子通信技术领域,特别是涉及一种数据更新方法、系统、设备及存储介质。
背景技术
分布式数据存储是当前企业常用的一种大数据存储方法,分布式存储是将数据分散存储在分布式集群的多台独立的设备节点上,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息。
在分布式数据存储方式中,相同的数据往往冗余存储于分布式集群的多个设备节点上,因此需要通过更新维护的方式确保设备节点之间相同数据的一致性,在当前的更新过程中,发起节点往往是将本地与相邻节点之间冗余存储的数据全部传输至相邻节点以完成更新,但是往往会导致数据传输量较大,网络开销较大,难以确保数据更新的可靠性。
由此可见,提供一种数据更新方法,以相对降低网络开销,进而确保数据更新的整体可靠性,是本领域技术人员需要解决的问题。
发明内容
本申请的目的是提供一种数据更新方法、系统、设备及存储介质,以相对降低网络开销,进而确保数据更新的整体可靠性。
为解决上述技术问题,本申请提供一种数据更新方法,应用于发起端,包括:
获取响应端的目标地址,并基于目标地址向响应端发起更新请求;
接收响应端返回的响应端数据的元数据;
根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据;
向响应端发送差异待更新数据以对响应端数据进行数据更新。
优选地,发起端以及响应端均为DHT网络中的节点;
基于目标地址向响应端发起更新请求,包括:
基于目标地址向响应端发起包含有目标键名的更新请求;
接收响应端返回的响应端数据的元数据,包括:
接收响应端返回的与目标键名对应的响应端数据的元数据。
优选地,获取响应端的目标地址,包括:
获取通信距离小于预设阈值且包含有目标键名的响应端的目标地址。
优选地,获取通信距离小于预设阈值且包含有目标键名的响应端的目标地址,包括:
获取多个通信距离小于预设阈值且包含有目标键名的响应端的目标地址。
优选地,获取多个通信距离小于预设阈值且包含有目标键名的响应端的目标地址,包括:
根据缓存中预存的响应端地址信息,获取多个通信距离小于预设阈值且包含有目标键名的响应端的目标地址。
优选地,在基于目标地址向响应端发起包含有目标键名的更新请求之前,方法还包括:
判断响应端是否均处于在线状态;
如果响应端均处于在线状态,则执行基于目标地址向响应端发起包含有目标键名的更新请求的步骤;
如果响应端未均处于在线状态,则在DHT网络中获取通信距离小于预设阈值且包含有目标键名的新响应端;
以新响应端的地址替换未处于在线状态的响应端的目标地址,并基于替换后的目标地址执行基于目标地址向响应端发起包含有目标键名的更新请求的步骤。
优选地,在DHT网络中获取通信距离小于预设阈值且包含有目标键名的新响应端之后,方法还包括:
将新响应端对应的响应端地址信息更新至缓存。
优选地,数据身份标识包括响应端数据的标识、响应端数据的类型以及响应端数据的创建时间中的一项或多项。
此外,本申请还提供一种数据更新方法,应用于响应端,包括:
接收发起端传入的更新请求;
根据更新请求获取对应响应端数据的元数据,并将元数据传输至发起端;
接收发起端传入的差异待更新数据,并基于差异待更新数据进行数据更新,差异待更新数据为发起端的待更新数据差异于响应端数据的数据。
此外,本申请还提供一种数据更新系统,包括:
发起端,用于获取响应端的目标地址,并基于目标地址向响应端发起更新请求;接收响应端返回的响应端数据的元数据;根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据;向响应端发送差异待更新数据以对响应端数据进行数据更新;
响应端,用于接收发起端传入的更新请求;根据更新请求获取对应响应端数据的元数据,并将元数据传输至发起端;接收发起端传入的差异待更新数据,并基于差异待更新数据进行响应端。
此外,本申请还提供一种数据更新设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的数据更新方法的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的数据更新方法的步骤。
本申请所提供的数据更新方法,由发起端获取到响应端的目标地址,并基于目标地址向响应端发起更新请求,进而响应端接收到更新请求后,根据更新请求获取响应端数据的元数据,并将元数据传输至发起端,发起端收到元数据后根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据,并向响应端发送差异待更新数据,进而由响应端根据差异待更新数据进行数据更新。由于本申请中的发起端在对响应端进行数据更新时,根据响应端数据对应的元数据选择性的向响应端传输待更新数据中,与响应端数据具有相同数据身份标识且差异于响应端数据部分的差异待更新数据,以此基于差异待更新数据即可实现对于响应端的数据更新,因此发起端无需向响应端传输完整的待更新数据,相对降低了网络开销,进而确保了数据更新的整体可靠性。此外,本申请还提供一种数据更新系统、设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用于发起端的数据更新方法的流程图;
图2为本申请实施例提供的一种应用于发起端的数据更新方法的流程图;
图3为本申请实施例提供的一种应用于发起端的数据更新方法的流程图;
图4为本申请实施例提供的一种应用于发起端的数据更新方法的流程图;
图5为本申请实施例提供的一种应用于响应端的数据更新方法的流程图;
图6为本申请实施例提供的一种数据更新系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
在分布式数据存储方式中,相同的数据往往冗余存储于分布式集群的多个设备节点上,因此需要通过更新维护的方式确保设备节点之间相同数据的一致性,在当前的更新过程中,发起节点往往是将本地与相邻节点之间冗余存储的数据全部传输至相邻节点以完成更新,但是往往会导致数据传输量较大,网络开销较大,难以确保数据更新的可靠性。
本申请的核心是提供一种数据更新方法,以相对降低网络开销,进而确保数据更新的整体可靠性。本申请的另一核心是提供一种数据更新系统、设备及存储介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本申请实施例提供的一种应用于发起端的数据更新方法的流程图。请参考图1,应用于发起端的数据更新方法的具体步骤包括:
步骤S10:获取响应端的目标地址,并基于目标地址向响应端发起更新请求。
需要说明的是,本步骤中获取响应端的目标地址的方式具体可以是在集群网络中发起广播报文,并通过接收集群网络中其它节点对于广播报文的反馈信息的方式获取到当前处于在线状态的节点作为响应端;获取响应端的目标地址的方式也可以具体是,根据预先记录的响应端地址信息获取到相应的响应端。在获取到响应端后,进一步向响应端发起更新请求,目的是使响应端对更新请求进行响应并返回对其自身的响应端数据的相关描述,即元数据,以供发起端根据元数据获悉响应端需要更新的数据部分。
步骤S11:接收响应端返回的响应端数据的元数据。
需要说明的是,在向响应端发起更新请求后,响应端进一步向发起端返回响应端数据对应的元数据,其中,响应端数据即为响应端本地的数据,元数据为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。本步骤中响应端数据的元数据即为对响应端数据进行相关描述的数据,发起端能够根据响应端数据的元数据获悉响应端数据的相关属性,进而根据响应端数据的属性判定响应端数据中需要更新的数据内容。
步骤S12:根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据。
在获取到元数据后,发起端进一步根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据,也就是基于元数据判定得到待更新数据中与响应端数据具有相同数据身份标识的数据,即差异待更新数据,差异待更新数据为实际需要对响应端数据进行更新的数据部分。
步骤S13:向响应端发送差异待更新数据以对响应端数据进行数据更新。
在根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据之后,本步骤进一步向响应端发送差异待更新数据以对响应端数据进行数据更新。
本申请所提供的数据更新方法,由发起端获取到响应端的目标地址,并基于目标地址向响应端发起更新请求,进而响应端接收到更新请求后,根据更新请求获取响应端数据的元数据,并将元数据传输至发起端,发起端收到元数据后根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据,并向响应端发送差异待更新数据,进而由响应端根据差异待更新数据进行数据更新。由于本申请中的发起端在对响应端进行数据更新时,根据响应端数据对应的元数据选择性的向响应端传输待更新数据中,与响应端数据具有相同数据身份标识且差异于响应端数据部分的差异待更新数据,以此基于差异待更新数据即可实现对于响应端的数据更新,因此发起端无需向响应端传输完整的待更新数据,相对降低了网络开销,进而确保了数据更新的整体可靠性。
图2为本申请实施例提供的一种应用于发起端的数据更新方法的流程图。
请参考图2,当发起端以及响应端均为DHT网络中的节点时,应用于发起端的数据更新方法的具体步骤包括:
步骤S20:获取响应端的目标地址,并基于目标地址向响应端发起包含有目标键名的更新请求。
需要说明的是,DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法。DHT网络中的每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。
使用DHT网络方式可实现分布式的键值对(Key-Value)数据存储,DHT网络中节点具有键值对存储能力。例如使用DHT网络中的Kademlia协议算法,根据XOR距离算法,DHT节点只存储逻辑距离本节点距离较近节点的键值对。
在当发起端以及响应端均为DHT网络中的节点时,发起端向响应端发起包含有目标键名的更新请求,目的是在基于分布式的键值对(Key-Value)数据存储的DHT网络场景下,有针对性的对响应端中与目标键名(Key)对应的数据值(Value)进行更新。
步骤S21:接收响应端返回的与目标键名对应的响应端数据的元数据。
步骤S22:根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据。
在向响应端发起包含有目标键名的更新请求之后,本步骤进一步接收响应端返回的与目标键名对应的响应端数据的元数据,并根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据,此处的差异待更新数据指的是针对于响应端中与目标键名对应的响应端数据而言,需要进行数据更新的数据内容。
步骤S23:向响应端发送差异待更新数据以对响应端数据进行数据更新。
本实施例相对确保了在基于分布式的键值对(Key-Value)数据存储的DHT网络场景下,发起端有针对性的对响应端中与目标键名(Key)对应的数据值(Value)进行更新,并且相对降低了网络开销,进而确保了数据更新的整体可靠性。
在上述实施例的基础上,作为一种优选的实施方式,获取响应端的目标地址,包括:
获取通信距离小于预设阈值且包含有目标键名的响应端的目标地址。
本实施方式考虑到在DHT网络中,执行数据更新操作的发起端与响应端之间通信距离越长,则发起端向响应端更新的数据内容的时效性越低,也就是说,当发起端与响应端之间通信距离较长时,响应端在收到发起端传输的差异待更新数据时,发起端中的待更新数据可能已经发送变化,导致响应端中的数据仍然为旧数据,因此本实施方式仅获取通信距离小于预设阈值且包含有目标键名的响应端,进而对通信距离小于预设阈值且包含有目标键名的响应端进行数据更新,相对确保了对响应端进行数据更新的整体准确性。
在上述实施方式的基础上,作为一种优选的实施方式,获取通信距离小于预设阈值且包含有目标键名的响应端的目标地址,包括:
获取多个通信距离小于预设阈值且包含有目标键名的响应端的目标地址。
需要说明的是,由于考虑到在DHT网络中,相邻的节点往往冗余存储有相同的数据内容,因此本实施方式获取多个通信距离小于预设阈值且包含有目标键名的响应端,目的实现后续步骤中,对与发起端的通信距离小于预设阈值且包含有目标键名的多个相邻响应端进行数据更新,以此相对提高数据更新的整体范围,确保对响应端进行数据更新的整体效率。
图3为本申请实施例提供的一种应用于发起端的数据更新方法的流程图。
请参考图3,当发起端以及响应端均为DHT网络中的节点时,应用于发起端的数据更新方法的具体步骤包括:
步骤S30:根据缓存中预存的响应端地址信息,获取多个通信距离小于预设阈值且包含有目标键名的响应端的目标地址。
需要说明的是,本实施例的重点在于根据缓存中预存的响应端地址信息,获取多个通信距离小于预设阈值且包含有目标键名的响应端,也就是说,响应端的地址信息预先记录于缓存中,进而基于缓存中预存的响应端地址信息获取相应的响应端。
步骤S31:在基于目标地址向响应端发起包含有目标键名的更新请求。
步骤S32:接收响应端返回的与目标键名对应的响应端数据的元数据。
步骤S33:根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据。
步骤S34:向响应端发送差异待更新数据以对响应端数据进行数据更新。
本实施方式在缓存中预存响应端的地址信息,进而发起端能够直接根据缓存中预存的响应端的地址信息获取到响应端,并对响应端进行数据更新,相对提高了对于响应端的获取效率,进而提高了数据更新的整体效率。
图4为本申请实施例提供的一种应用于发起端的数据更新方法的流程图。
请参考图4,当发起端以及响应端均为DHT网络中的节点时,应用于发起端的数据更新方法的具体步骤包括:
步骤S40:根据缓存中预存的响应端地址信息,获取多个通信距离小于预设阈值且包含有目标键名的响应端的目标地址。
步骤S41:判断响应端是否均处于在线状态,如果是,则执行步骤S42以及步骤S45,否则,顺序执行步骤S43至步骤S45。
步骤S42:基于目标地址向响应端发起包含有目标键名的更新请求。
步骤S43:在DHT网络中获取通信距离小于预设阈值且包含有目标键名的新响应端。
步骤S44:以新响应端的地址替换未处于在线状态的响应端的目标地址,并基于替换后的目标地址执行向响应端发起包含有目标键名的更新请求。
需要说明的是,本实施例考虑到在实际情况下与发起端相邻的响应端可能存在原有响应端的脱离DHT网络,并有新响应端加入DHT网络的情况,因此响应端在实际情况下可能是动态变化的,因此为了确保响应端的可用性,本实施例的重点在于,根据缓存中预存的响应端地址信息,获取多个通信距离小于预设阈值且包含有目标键名的响应端之后,进一步判断响应端是否均处于在线状态,如果响应端均处于在线状态,则执行向响应端发起包含有目标键名的更新请求的步骤;如果响应端未均处于在线状态,则在DHT网络中获取通信距离小于预设阈值且包含有目标键名的新响应端,进而通过新响应端替换未处于在线状态的响应端,以此确保所有的响应端均为在线的可用状态,进而基于替换后的响应端执行向响应端发起包含有目标键名的更新请求的步骤。
步骤S45:接收响应端返回的与目标键名对应的响应端数据的元数据。
步骤S46:根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据。
步骤S47:向响应端发送差异待更新数据以对响应端数据进行数据更新。
本实施例相对确保了发起端所获取到的响应端的整体可用性,进而相对确保了对响应端进行数据更新过程的整体可靠性。
在上述实施例的基础上,作为一种优选的实施方式,在DHT网络中获取通信距离小于预设阈值且包含有目标键名的新响应端之后,方法还包括:
将新响应端对应的响应端地址信息更新至缓存。
需要说明的是,在上述实施例的基础上,当响应端未均处于在线状态,并且发起端在DHT网络中获取通信距离小于预设阈值且包含有目标键名的新响应端之后,说明新响应端也属于发起端在所在的DHT网络中需要进行数据更新的节点,因此将新响应端对应的响应端地址信息更新至缓存,以此确保缓存中响应端地址的可用性。本实施方式进一步确保了发起端再一次获取响应端进行数据更新时,所获取到的响应端的整体可用性,进而相对确保了对响应端进行数据更新过程的整体可靠性。
在上述一系列实施方式的基础上,作为一种优选的实施方式,数据身份标识包括响应端数据的标识、响应端数据的类型以及响应端数据的创建时间中的一项或多项。
需要说明的是,本实施方式中,根据所述元数据筛选待更新数据中的差异待更新数据时,所依照数据身份标识根据实际的数据更新需求,可以包括响应端数据的标识、响应端数据的类型以及响应端数据的创建时间中的一项或多项。响应端数据的标识指的是能够用于表征响应端数据身份额标识,响应端数据的类型指的是响应端数据的数据类型,响应端数据的创建时间指的是,响应端数据被存储于响应端的时间或响应端数据最后一次被修改的时间。
需要强调的是,本实施方式中,当有新的数据存储至响应端时,能够通过响应端数据的标识、响应端数据的类型以及响应端数据的创建时间中的任意一项,唯一表征当前数据存储行为所导致的数据内容的变化。本实施方式能够进一步确保响应端数据的元数据对于响应端数据的相关属性描述的准确性,进而确保数据更新过程的整体可靠性。
图5为本申请实施例提供的一种应用于响应端的数据更新方法的流程图。
步骤S50:接收发起端传入的更新请求。
步骤S51:根据更新请求获取对应响应端数据的元数据,并将元数据传输至发起端。
步骤S52:接收发起端传入的差异待更新数据,并基于差异待更新数据进行数据更新,差异待更新数据为发起端的待更新数据差异于响应端数据的数据。
本申请所提供的数据更新方法,由发起端获取到响应端的目标地址,并基于目标地址向响应端发起更新请求,进而响应端接收到更新请求后,根据更新请求获取响应端数据的元数据,并将元数据传输至发起端,发起端收到元数据后根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据,并向响应端发送差异待更新数据,进而由响应端根据差异待更新数据进行数据更新。由于本申请中的发起端在对响应端进行数据更新时,根据响应端数据对应的元数据选择性的向响应端传输待更新数据中,与响应端数据具有相同数据身份标识且差异于响应端数据部分的差异待更新数据,以此基于差异待更新数据即可实现对于响应端的数据更新,因此发起端无需向响应端传输完整的待更新数据,相对降低了网络开销,进而确保了数据更新的整体可靠性。
为了加深对于上述技术内容的理解,下面通过具体的场景实施例对数据更新方法进行进一步说明:
需要说明的是,本申请场景实施例中包含数据更新的发起端以及响应端,不同端之间的操作相互独立并且相互协调工作。
对DHT网络中节点所存储的键值对Key-Value中,Key对应的Value,用id、type、createtime三类元数据信息进行描述。分别表示Value的标识,类型以及创建时间。当DHT网络中节点中存储一个新Value数据时,至少有一项元数据内容不相同。
如果发起端没有Key对应的最近节点的缓存,则消息格式如下:
Figure BDA0002498186310000111
如果发起端有Key对应的最近节点的节点缓存,则消息格式如下:
Figure BDA0002498186310000112
响应端根据Key查找与发起端距离最近的8个响应端,为集合M;
响应端根据key查找本节点内的键值对存储找对应的Value集合,从收到的Valuesmetadata集合中找出Value交集,将交集的Value id记为集合A,交集满足Value的id、type、createtime同时相等。
对此交集内的Value进行维护处理,如刷新Value过期删除时间。
将节点地址集合M、Value id集合A返回给发起端。消息格式为:
Figure BDA0002498186310000121
发起端收到回复包后,记录节点和它返回的Value id集合A。
用节点集合M选出更近的节点发进行迭代查找离key最近的k个节点,当找到最近k个节点后,进行节点缓存,再进行如下处理:
遍历需维护Key Value集合:
遍历离Key最近的8个节点的Value id集合A:
如果Value的id已经在集合A中,则不对该节点发维护消息;否则将Value发到对端以此完成数据更新。
图6为本申请实施例提供的一种数据更新系统的结构示意图。
发起端10,用于获取响应端11的目标地址,并基于目标地址向响应端11发起更新请求;接收响应端11返回的响应端11数据的元数据;根据元数据筛选待更新数据中与响应端11数据具有相同数据身份标识的差异待更新数据;向响应端11发送差异待更新数据以对响应端11数据进行数据更新;
响应端11,用于接收发起端10传入的更新请求;根据更新请求获取对应响应端11数据的元数据,并将元数据传输至发起端10;接收发起端10传入的差异待更新数据,并基于差异待更新数据进行响应端11。
本申请所提供的数据更新系统,由发起端获取到响应端的目标地址,并基于目标地址向响应端发起更新请求,进而响应端接收到更新请求后,根据更新请求获取响应端数据的元数据,并将元数据传输至发起端,发起端收到元数据后根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据,并向响应端发送差异待更新数据,进而由响应端根据差异待更新数据进行数据更新。由于本申请中的发起端在对响应端进行数据更新时,根据响应端数据对应的元数据选择性的向响应端传输待更新数据中,与响应端数据具有相同数据身份标识且差异于响应端数据部分的差异待更新数据,以此基于差异待更新数据即可实现对于响应端的数据更新,因此发起端无需向响应端传输完整的待更新数据,相对降低了网络开销,进而确保了数据更新的整体可靠性。
在上文中对于数据更新方法的实施例进行了详细的描述,本申请还提供一种与该方法对应的数据更新设备,由于数据更新设备部分的实施例与方法部分的实施例相互对应,数据更新设备部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请实施例提供的一种数据更新设备,包括存储器、处理器和总线,存储器上存储有可由总线传输至处理器并在处理器上运行的数据更新程序,数据更新程序被处理器执行时实现如上述应用于发起端的数据更新方法和/或实现如上述应用于响应端的数据更新方法。
其中,存储器至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器在一些实施例中可以是数据更新设备的内部存储单元,例如该数据更新设备的硬盘。存储器在另一些实施例中也可以是数据更新设备的外部存储设备,例如数据更新设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括数据更新设备的内部存储单元也包括外部存储设备。存储器不仅可以用于存储安装于数据更新设备的应用软件及各类数据,例如视频转码程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器中存储的程序代码或处理数据,例如执行视频转码程序等。
该总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
由于本申请中的发起端在对响应端进行数据更新时,根据响应端数据对应的元数据选择性的向响应端传输待更新数据中,与响应端数据具有相同数据身份标识且差异于响应端数据部分的差异待更新数据,以此基于差异待更新数据即可实现对于响应端的数据更新,因此发起端无需向响应端传输完整的待更新数据,相对降低了网络开销,进而确保了数据更新的整体可靠性。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的数据更新方法的步骤和/或实现如上述的数据更新方法的步骤。
本申请所提供的计算机可读存储介质,由发起端获取到响应端的目标地址,并基于目标地址向响应端发起更新请求,进而响应端接收到更新请求后,根据更新请求获取响应端数据的元数据,并将元数据传输至发起端,发起端收到元数据后根据元数据筛选待更新数据中与响应端数据具有相同数据身份标识的差异待更新数据,并向响应端发送差异待更新数据,进而由响应端根据差异待更新数据进行数据更新。由于本申请中的发起端在对响应端进行数据更新时,根据响应端数据对应的元数据选择性的向响应端传输待更新数据中,与响应端数据具有相同数据身份标识且差异于响应端数据部分的差异待更新数据,以此基于差异待更新数据即可实现对于响应端的数据更新,因此发起端无需向响应端传输完整的待更新数据,相对降低了网络开销,进而确保了数据更新的整体可靠性。
以上对本申请所提供的一种数据更新方法、系统、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (12)

1.一种数据更新方法,其特征在于,应用于发起端,包括:
获取响应端的目标地址,并基于所述目标地址向所述响应端发起更新请求;
接收所述响应端返回的响应端数据的元数据;
根据所述元数据筛选待更新数据中与所述响应端数据具有相同数据身份标识的差异待更新数据;
向所述响应端发送所述差异待更新数据以对所述响应端数据进行数据更新。
2.根据权利要求1所述的数据更新方法,其特征在于,所述发起端以及所述响应端均为DHT网络中的节点;
所述基于所述目标地址向所述响应端发起更新请求,包括:
基于所述目标地址向所述响应端发起包含有目标键名的所述更新请求;
所述接收所述响应端返回的响应端数据的元数据,包括:
接收所述响应端返回的与所述目标键名对应的所述响应端数据的元数据。
3.根据权利要求2所述的数据更新方法,其特征在于,所述获取响应端的目标地址,包括:
获取通信距离小于预设阈值且包含有所述目标键名的所述响应端的目标地址。
4.根据权利要求3所述的数据更新方法,其特征在于,所述获取通信距离小于预设阈值且包含有所述目标键名的所述响应端的目标地址,包括:
获取多个通信距离小于所述预设阈值且包含有所述目标键名的所述响应端的目标地址。
5.根据权利要求4所述的数据更新方法,其特征在于,所述获取多个通信距离小于所述预设阈值且包含有所述目标键名的所述响应端的目标地址,包括:
根据缓存中预存的响应端地址信息,获取多个通信距离小于所述预设阈值且包含有所述目标键名的所述响应端的目标地址。
6.根据权利要求5所述的数据更新方法,其特征在于,在所述基于所述目标地址向所述响应端发起包含有目标键名的所述更新请求之前,所述方法还包括:
判断所述响应端是否均处于在线状态;
如果所述响应端均处于在线状态,则执行所述基于所述目标地址向所述响应端发起包含有目标键名的所述更新请求的步骤;
如果所述响应端未均处于在线状态,则在DHT网络中获取所述通信距离小于所述预设阈值且包含有所述目标键名的新响应端;
以所述新响应端的地址替换未处于在线状态的所述响应端的目标地址,并基于替换后的所述目标地址执行所述基于所述目标地址向所述响应端发起包含有目标键名的所述更新请求的步骤。
7.根据权利要求6所述的数据更新方法,其特征在于,所述在DHT网络中获取所述通信距离小于所述预设阈值且包含有所述目标键名的新响应端之后,所述方法还包括:
将所述新响应端对应的响应端地址信息更新至所述缓存。
8.根据权利要求1至7任意一项所述的数据更新方法,其特征在于,所述数据身份标识包括所述响应端数据的标识、所述响应端数据的类型以及所述响应端数据的创建时间中的一项或多项。
9.一种数据更新方法,其特征在于,应用于响应端,包括:
接收发起端传入的更新请求;
根据所述更新请求获取对应响应端数据的元数据,并将所述元数据传输至所述发起端;
接收所述发起端传入的差异待更新数据,并基于所述差异待更新数据进行数据更新,所述差异待更新数据为所述发起端的待更新数据差异于所述响应端数据的数据。
10.一种数据更新系统,其特征在于,包括:
发起端,用于获取响应端的目标地址,并基于所述目标地址向所述响应端发起更新请求;接收所述响应端返回的响应端数据的元数据;根据所述元数据筛选待更新数据中与所述响应端数据具有相同数据身份标识的差异待更新数据;向所述响应端发送所述差异待更新数据以对所述响应端数据进行数据更新;
所述响应端,用于接收所述发起端传入的所述更新请求;根据所述更新请求获取对应响应端数据的元数据,并将所述元数据传输至所述发起端;接收所述发起端传入的差异待更新数据,并基于所述差异待更新数据进行响应端。
11.一种数据更新设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的数据更新方法的步骤和/或实现如权利要求9所述的数据更新方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据更新方法的步骤和/或实现如权利要求9所述的数据更新方法的步骤。
CN202010424545.0A 2020-05-19 2020-05-19 一种数据更新方法、系统、设备及存储介质 Active CN111614750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010424545.0A CN111614750B (zh) 2020-05-19 2020-05-19 一种数据更新方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010424545.0A CN111614750B (zh) 2020-05-19 2020-05-19 一种数据更新方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111614750A true CN111614750A (zh) 2020-09-01
CN111614750B CN111614750B (zh) 2023-05-12

Family

ID=72203286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010424545.0A Active CN111614750B (zh) 2020-05-19 2020-05-19 一种数据更新方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111614750B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115967754A (zh) * 2022-12-26 2023-04-14 杭州和利时自动化有限公司 一种工业数据获取方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694335B1 (en) * 1999-10-04 2004-02-17 Microsoft Corporation Method, computer readable medium, and system for monitoring the state of a collection of resources
CN101127961A (zh) * 2007-09-19 2008-02-20 中兴通讯股份有限公司 电子业务指南的差异性更新系统及其方法
CN102480520A (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种基于差量元数据描述性结构的媒体数据同步方法
CN103164422A (zh) * 2011-12-09 2013-06-19 百度在线网络技术(北京)有限公司 采用通用数据存储格式进行数据同步的方法、设备与系统
CN104657170A (zh) * 2013-11-25 2015-05-27 腾讯科技(上海)有限公司 一种数据更新方法、装置及系统
US20150370827A1 (en) * 2014-06-24 2015-12-24 Panzura, Inc. Synchronizing file updates between two cloud controllers of a distributed filesystem
CN105306505A (zh) * 2014-07-11 2016-02-03 腾讯科技(深圳)有限公司 数据更新方法、终端及服务器
CN107066594A (zh) * 2017-04-19 2017-08-18 济南浪潮高新科技投资发展有限公司 一种元数据同步的方法
CN109309725A (zh) * 2018-10-25 2019-02-05 深圳市腾讯信息技术有限公司 应用下载和更新方法、装置、计算机设备及存储介质
CN109997125A (zh) * 2016-09-15 2019-07-09 英国天然气控股有限公司 用于将数据导入数据储存库的系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694335B1 (en) * 1999-10-04 2004-02-17 Microsoft Corporation Method, computer readable medium, and system for monitoring the state of a collection of resources
CN101127961A (zh) * 2007-09-19 2008-02-20 中兴通讯股份有限公司 电子业务指南的差异性更新系统及其方法
CN102480520A (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种基于差量元数据描述性结构的媒体数据同步方法
CN103164422A (zh) * 2011-12-09 2013-06-19 百度在线网络技术(北京)有限公司 采用通用数据存储格式进行数据同步的方法、设备与系统
CN104657170A (zh) * 2013-11-25 2015-05-27 腾讯科技(上海)有限公司 一种数据更新方法、装置及系统
US20150370827A1 (en) * 2014-06-24 2015-12-24 Panzura, Inc. Synchronizing file updates between two cloud controllers of a distributed filesystem
CN105306505A (zh) * 2014-07-11 2016-02-03 腾讯科技(深圳)有限公司 数据更新方法、终端及服务器
CN109997125A (zh) * 2016-09-15 2019-07-09 英国天然气控股有限公司 用于将数据导入数据储存库的系统
CN107066594A (zh) * 2017-04-19 2017-08-18 济南浪潮高新科技投资发展有限公司 一种元数据同步的方法
CN109309725A (zh) * 2018-10-25 2019-02-05 深圳市腾讯信息技术有限公司 应用下载和更新方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林源等: "分布式异构数据库同步系统的研究与应用", 《计算机工程与设计》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115967754A (zh) * 2022-12-26 2023-04-14 杭州和利时自动化有限公司 一种工业数据获取方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111614750B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
US11909639B2 (en) Request routing based on class
CN110324177B (zh) 一种微服务架构下的服务请求处理方法、系统及介质
US9888089B2 (en) Client side cache management
US8069224B2 (en) Method, equipment and system for resource acquisition
CN106933548B (zh) 全局信息获取、处理及更新、方法、装置和系统
CN106933550B (zh) 全局信息获取、处理及更新方法、装置和系统
CN103780679A (zh) 基于http协议的长延时远程调用方法
KR20040111156A (ko) 통지 본드를 사용하여 캐싱된 오브젝트를 관리하는 시스템및 방법
US20070083485A1 (en) File server, file providing method and recording medium
CN111338806B (zh) 一种业务控制方法及装置
CN112039710B (zh) 服务故障处理方法、终端设备及可读存储介质
CN105512279A (zh) 一种元数据访问方法、相关设备及系统
CN110677492A (zh) 一种访问请求处理方法、装置、电子设备及存储介质
CN111224829B (zh) 外部节点接入区块链网络的方法及装置,区块链网络
CN111083204B (zh) 文件传输方法、装置及存储介质
CN110674427B (zh) 响应网页访问请求的方法、装置、设备及存储介质
CN115080272A (zh) 一种业务数据处理方法、电子设备及存储介质
CN111614750B (zh) 一种数据更新方法、系统、设备及存储介质
US10122630B1 (en) Methods for network traffic presteering and devices thereof
CN112039993B (zh) 一种长连接地址处理方法和装置
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN112749172A (zh) 一种缓存与数据库之间的数据同步方法及系统
CN110955460A (zh) 一种服务进程启动方法、装置、电子设备和存储介质
CN113612811B (zh) 一种在多通道中客户端挂载的方法、系统、设备及介质
US20110029587A1 (en) Updating Retrieval Codes In Response To File Transfers

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