CN108595670A - 一种数据存储方法、装置、计算机装置及存储介质 - Google Patents
一种数据存储方法、装置、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN108595670A CN108595670A CN201810403785.5A CN201810403785A CN108595670A CN 108595670 A CN108595670 A CN 108595670A CN 201810403785 A CN201810403785 A CN 201810403785A CN 108595670 A CN108595670 A CN 108595670A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- cluster
- nodes
- sequence list
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据存储方法及装置,用于实现数据的去中心化存储。本发明实施例方法包括:建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;每个节点定时与第一顺序列表中的第一节点及第二节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据存储方法、装置、计算机装置及存储介质。
背景技术
在零售门店中,往往会存在多个收银终端,而各收银终端中的数据要做到数据共享,一般都是以数据库服务器中的数据为基准,即以数据库服务器为中心节点,并以中心节点中的数据为共享基准。
这样,很容易导致在中心节点发生故障时,其他收银终端中的数据不能及时与中心节点发生共享及同步,从而导致零售端中的业务无法正常开展。
发明内容
本发明实施例提供了一种数据存储方法、装置、计算机装置及存储介质,用于通过将各节点上的数据进行同步,来实现数据的去中心化存储。
本发明实施例第一方面提供了一种数据存储方法,包括:
建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;
建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;
每个节点定时与第一顺序列表中的第一节点及第二节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
优选的,该方法还包括:
每个节点定时向节点集群中的其他节点发送心跳检测包,以用于检测节点集群中的每个节点是否处于正常通信状态;
若节点集群中有节点处于非正常通信状态时,则重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
每个节点定时与第二顺序列表中的第三节点及第四节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
优选的,心跳检测包的时间间隔,及同步数据的时间间隔支持自定义设置。
优选的,同步数据包括:
每个节点向第一节点及第二节点发送本地数据,并接收由第一节点及第二节点发送的差异数据;
或,
每个节点接收由第一节点及第二节点发送的本地数据,并向第一节点及第二节点发送差异数据。
优选的,节点集群中的各节点以IP地址为序建立顺序列表。
本发明第二方面提供了一种数据存储装置,包括:
第一建立单元,用于建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;
第二建立单元,用于建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
第一同步单元,用于当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;
第二同步单元,用于每个节点定时与第一顺序列表中的第一节点及第二节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
优选的,该装置还包括:
检测单元,用于每个节点定时向节点集群中的其他节点发送心跳检测包,以用于检测节点集群中的每个节点是否处于正常通信状态;
第三建立单元,用于在节点集群中有节点处于非正常通信状态时,重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
第三同步单元,用于每个节点定时与第二顺序列表中的第三节点及第四节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
优选的,第二同步单元,包括:
第一同步模块,用于每个节点向第一节点及第二节点发送本地数据,并接收由第一节点及第二节点发送的差异数据;
或,
第二同步模块,用于每个节点接收由第一节点及第二节点发送的本地数据,并向第一节点及第二节点发送差异数据。
本发明实施例还提供了一种计算机装置,包括处理器,该处理器在执行存储于存储器上的计算机程序时,用于实现本发明实施例第一方面的数据存储方法。
本发明实施例还提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,用于实现本发明实施例第一方面的数据存储方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,建立节点集群,该节点集群中的每个节点为独立收发数据的网络设备,为节点集群中的所有节点建立第一顺序表,并确定与每个节点相邻的第一节点与第二节点,当节点集群中的任一节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,且每个节点定时与其相邻的第一节点及第二节点进行数据同步,以使得节点集群中任意两个节点之间的数据都相同。因为本实施例中当节点集群中的任一节点发生数据更新时,都将更新的数据发送至其他节点,且每个节点定时与相邻节点进行数据同步,从而使得节点集群中的各节点上的数据都完全相同,从而实现数据的去中心化存储。
附图说明
图1为本发明实施例中一种数据存储方法的一个实施例示意图;
图2为本发明实施例中一种数据存储方法的另一个实施例示意;
图3为本发明实施例中一种数据存储装置的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据存储方法、装置、计算机装置及存储介质,用于通过将各节点上的数据进行同步,来实现数据的去中心化存储。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为方便理解,先对本申请中的专业词汇进行描述:
节点:指一台电脑或其他设备(比如:POS一体机、平板或手机),一个有独立地址和具有传送或接收数据功能的网络相连设备;
节点集群:通过网络通讯连接在一起提供同样服务的一系列节点的集合;
节点存活探测:节点是活着的还是离开或死掉的探测发现;
心跳包:周期性发出的数据包,比如30秒一次。
针对现有技术中,当中心节点出现故障时,无法实现节点集群中其他节点数据同步的问题,本发明提出了一种数据存储方法及装置,为方便理解,请参阅图1,本发明实施例中一种数据存储方法的一个实施例,包括:
101、建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;
一般的,在实际使用中,经常会出现多个终端(手机、pad、电脑、可穿戴式设备)共享数据的情况,而为了保证各终端上的数据能够及时同步,各终端会将数据及时上传至服务器上,并通过服务器获取其他终端上的数据。
本实施例中的各终端及服务器组成了节点集群,其中各个终端相当于节点集群中的各节点,而服务器相当于节点集群中的中心节点,这样容易导致在服务器(中心节点)出现故障时,其他节点(终端)上的数据无法及时与中心节点同步,从而出现数据出错的问题。
针对该问题,本发明提出了一种数据存储方法,用于通过各节点之间的数据同步,实现数据的去中心化存储,但首先需要建立一个节点集群,其中该节点集群中的每个节点都为一个可以独立收发数据的网络设备。
102、建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
该数据存储装置在建立节点集群后,需要建立各节点之间的顺序列表,其中具体的顺序列表可以以各节点的IP地址为序列来建立,也可以通过各设备的名称来建立,还可以通过加入该节点集群中的时间来建立,此处对于建立顺序列表的参考依据不做具体限制。
在节点集群中建立各节点之间的第一顺序列表后,即可以通过该顺序列表确定与每个节点相邻的第一节点及第二节点,并在后续的数据同步中,以该第一顺序列表为基准,进行相邻节点之间的数据同步。
103、当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;
为了保证节点集群中每个节点上的数据都相同,可以在建立节点集群时,对每个节点进行初始化,以保证每个节点上的数据完全相同。
当节点集群中的任一各节点发生数据更新时,则发生数据更新的节点将更新的数据发送至节点集群中的其他节点,以保证各节点上的数据与该节点上的数据完全同步,当然,数据更新操作包括数据添加、数据更改及数据删除。
具体的,各节点可以设置数据更新的触发条件,当触发该条件时,各节点可以通过WiFi、蓝牙、Zigbee或有线带宽的形式,自动将发生更新的数据发送至节点集群中的其他节点上,以使得各节点上的数据完全相同。
104、每个节点定时与所述第一顺序列表中的所述第一节点及所述第二节点同步数据,以使得所述节点集群中任意相邻的两个节点之间的数据相同。
与此同时,为了避免在数据发送时,有节点发生通信故障而没能及时进行数据更新,还可以通过每个节点定时地与相邻的节点进行数据同步,以确定故障节点在恢复通信时,能及时的进行数据更新。其中,该数据同步的时间间隔可以设置为10s、20s或30s,具体的时间间隔,用户可以根据自身的使用场景进行设置,此处不做具体限制。
具体的,相邻节点(假设A节点与B节点相邻)之间的数据同步包括:A节点将自身存储的本地数据发送给B节点,B节点将收到的A节点上的本地数据与B节点自身存储的本地数据进行对比,以确定差异数据,并将该差异数据发送给A节点;或者,A节点收到由B节点发送的本地数据,将B节点发送的本地数据与A节点自身存储的本地数据进行对比,以确定差异数据,并将该差异数据发送给B节点,直至A、B节点上的数据完全相同为止。
至此,可以保证在节点集群中的某个节点发生临时故障时,若步骤103没能保证各节点的数据完全相同,则可以通过步骤104中相邻节点之间的数据同步,来保障各节点上的数据完全相同。
本发明实施例中,建立节点集群,该节点集群中的每个节点为独立收发数据的网络设备,为节点集群中的所有节点建立第一顺序表,并确定与每个节点相邻的第一节点与第二节点,当节点集群中的任一节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,且每个节点定时与其相邻的第一节点及第二节点进行数据同步,以使得节点集群中任意两个节点之间的数据都相同。因为本实施例中当节点集群中的任一节点发生数据更新时,都将更新的数据发送至其他节点,且每个节点定时与相邻节点进行数据同步,从而使得节点集群中的各节点上的数据都完全相同,从而实现数据的去中心化存储。
针对图1所述的实施例,在实际使用中,若A节点出现硬件故障,可能会导致该节点长时间无法进行数据通信,这样则可能会导致与A节点相邻的B节点在出现临时故障时,无法通过步骤104中,与相邻节点之间的数据同步,来实现B节点上的数据与其他节点上的数据完全相同,针对该问题,本发明可以通过心跳机制来解决,具体请参阅图2,本发明实施例中的数据存储方法的另一个实施例,包括:
201、建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;
202、建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
203、当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;
需要说明的是,本实施例中的步骤201至203,与图1所述的实施例中的步骤101至103类似,此处不再赘述。
204、每个节点定时向节点集群中的其他节点发送心跳检测包,以用于检测节点集群中的每个节点是否处于正常通信状态,若是,则执行步骤205,若否,则执行步骤206;
为了解决在实际使用中,若A节点出现硬件故障,导致该节点长时间无法进行数据通信时,与A节点相邻的B节点在出现临时故障时,无法通过步骤204中,与相邻节点之间的数据同步,来实现B各节点上的数据与其他节点上的数据完全相同的问题,本实施例还可以通过心跳检测机制,即每个节点定时向节点集群中的其他节点发送心跳检测包,以用于检测节点集群中的每个节点是否处于正常通信状态,其中,心跳检测包的时间间隔也支持自定义,但为了保证步骤204的正常进行,一般设置心跳检测包的时间间隔小于相邻节点进行数据同步的时间间隔。
当节点集群中的每个节点都处于正常通信状态时,则执行步骤205,若节点集群中有节点处于非正常通信状态时,则执行步骤206。
需要说明的是,本实施例的步骤204与203之间没有严格的顺序限制,即204既可以在203之间执行,也可以在203之后执行,此处不做限制。
205、每个节点定时与第一顺序列表中的第一节点及第二节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同;
需要说明的是,本实施例中的步骤205,与图1所述的实施例中的步骤104类似,此处不再赘述。
206、重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
若节点集群中有节点处于非正常通信状态时,则会导致相邻节点之间无法进行数据同步,则需要重新建立各节点之间的第二顺序列表,并确定该每个节点相连的第三节点与第四节点,这样,就可以保障各相邻节点都处于正常通信状态,从而保证相邻节点可以正常进行数据同步。
需要说明的是,本实施例中的第三节点和第四节点可能与第一节点和第二节点有重复,也可能完全不同,即当一个节点相邻节点中的一个发生故障时,则会导致第三节点和第四节点与第一节点和第二节点有重复,而当一个节点相邻节点中的两个都发生故障时,则会导致本实施例中的第三节点和第四节点与第一节点和第二节点完全不同。
207、每个节点定时与所述第二顺序列表中的所述第三节点及所述第四节点同步数据,以使得所述节点集群中任意相邻的两个节点之间的数据相同。
当保证各节点的相邻节点都正常通信后,各节点就可以与相邻节点之间正常进行数据同步,而数据同步的方法与图1所述的实施例中的步骤104类似,此处不再赘述。
本实施例中,当节点集群中有节点发生长期故障时,可以通过心跳机制对节点集群中的节点重新进行排序,从而保障各节点的相邻节点都处于正常通信正常,从而保证了相连节点之间数据同步的正常执行。
上面介绍了本发明实施例中的数据存储方法,下面来描述本发明实施例中的数据存储装置,请参阅图3,本发明实施例中数据存储装置的一个实施例,包括:
第一建立单元301,用于建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;
第二建立单元302,用于建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
第一同步单元303,用于当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;
第二同步单元304,用于每个节点定时与第一顺序列表中的第一节点及第二节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
优选的,该装置还包括:
检测单元305,用于每个节点定时向节点集群中的其他节点发送心跳检测包,以用于检测节点集群中的每个节点是否处于正常通信状态;
第三建立单元306,用于在节点集群中有节点处于非正常通信状态时,重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
第三同步单元307,用于每个节点定时与第二顺序列表中的第三节点及第四节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
优选的,第二同步单元304,包括:
第一同步模块3041,用于每个节点向第一节点及第二节点发送本地数据,并接收由第一节点及第二节点发送的差异数据;
或,
第二同步模块3042,用于每个节点接收由第一节点及第二节点发送的本地数据,并向第一节点及第二节点发送差异数据。
需要说明的是,本实施例中各单元及各模块的作用与图1、图2所述实施例中的数据存储装置的作用类似,此处不再赘述。
本发明实施例中,通过第一建立单元301建立节点集群,该节点集群中的每个节点为独立收发数据的网络设备,第二建立单元302为节点集群中的所有节点建立第一顺序表,并确定与每个节点相邻的第一节点与第二节点,当节点集群中的任一节点发生数据更新时,通过第一同步单元303将发生数据更新的节点将更新的数据发送至节点集群中的其他节点,且每个节点定时与其相邻的第一节点及第二节点进行数据同步,以使得节点集群中任意两个节点之间的数据都相同。因为本实施例中当节点集群中的任一节点发生数据更新时,都将更新的数据发送至其他节点,且每个节点定时与相邻节点进行数据同步,从而使得节点集群中的各节点上的数据都完全相同,从而实现数据的去中心化存储。
其次,当节点集群中有节点发生长期故障时,可以通过检测单元305的心跳机制对节点集群中的节点重新进行排序,从而保障各节点的相邻节点都处于正常通信正常,从而保证了相连节点之间数据同步的正常执行。
上面从模块化功能实体的角度对本发明实施例中的数据存储装置进行了描述,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置用于实现数据存储装置的功能,本发明实施例中计算机装置一个实施例包括:
处理器以及存储器;
存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序时,可以实现如下步骤:
建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;
建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;
每个节点定时与第一顺序列表中的第一节点及第二节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
每个节点定时向节点集群中的其他节点发送心跳检测包,以用于检测节点集群中的每个节点是否处于正常通信状态;
若节点集群中有节点处于非正常通信状态时,则重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
每个节点定时与第二顺序列表中的第三节点及第四节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
每个节点向第一节点及第二节点发送本地数据,并接收由第一节点及第二节点发送的差异数据;
或,
每个节点接收由第一节点及第二节点发送的本地数据,并向第一节点及第二节点发送差异数据。
可以理解的是,上述说明的计算机装置中的处理器执行所述计算机程序时,也可以实现上述对应的各装置实施例中各单元的功能,此处不再赘述。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述数据存储装置的执行过程。例如,所述计算机程序可以被分割成上述数据存储装置中的各单元,各单元可以实现如上述相应数据存储装置说明的具体功能。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可包括但不仅限于处理器、存储器。本领域技术人员可以理解,处理器、存储器仅仅是计算机装置的示例,并不构成对计算机装置的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现数据存储装置的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如下步骤:
建立节点集群,该节点集群中的每个节点为可以独立收发数据的网络设备;
建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
当节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至节点集群中的其他节点,使得节点集群中任意两个节点之间的数据相同;
每个节点定时与第一顺序列表中的第一节点及第二节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,还可以用于执行如下步骤:
每个节点定时向节点集群中的其他节点发送心跳检测包,以用于检测节点集群中的每个节点是否处于正常通信状态;
若节点集群中有节点处于非正常通信状态时,则重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
每个节点定时与第二顺序列表中的第三节点及第四节点同步数据,以使得节点集群中任意相邻的两个节点之间的数据相同。
在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,还可以具体用于执行如下步骤:
每个节点向第一节点及第二节点发送本地数据,并接收由第一节点及第二节点发送的差异数据;
或,
每个节点接收由第一节点及第二节点发送的本地数据,并向第一节点及第二节点发送差异数据。
可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中。基于这样的理解,本发明实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
建立节点集群,所述节点集群中的每个节点为可以独立收发数据的网络设备;
建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
当所述节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至所述节点集群中的其他节点,使得所述节点集群中任意两个节点之间的数据相同;
每个节点定时与所述第一顺序列表中的所述第一节点及所述第二节点同步数据,以使得所述节点集群中任意相邻的两个节点之间的数据相同。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每个节点定时向所述节点集群中的其他节点发送心跳检测包,以用于检测所述节点集群中的每个节点是否处于正常通信状态;
若所述节点集群中有节点处于非正常通信状态时,则重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
每个节点定时与所述第二顺序列表中的所述第三节点及所述第四节点同步数据,以使得所述节点集群中任意相邻的两个节点之间的数据相同。
3.根据权利要求2所述的方法,其特征在于,心跳检测包的时间间隔,及同步数据的时间间隔支持自定义设置。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述同步数据包括:
每个节点向所述第一节点及所述第二节点发送本地数据,并接收由所述第一节点及所述第二节点发送的差异数据;
或,
每个节点接收由所述第一节点及所述第二节点发送的本地数据,并向所述第一节点及所述第二节点发送差异数据。
5.根据权利要求4所述的方法,其特征在于,所述节点集群中的各节点以IP地址为序建立顺序列表。
6.一种数据存储装置,其特征在于,包括:
第一建立单元,用于建立节点集群,所述节点集群中的每个节点为可以独立收发数据的网络设备;
第二建立单元,用于建立各节点之间的第一顺序列表,以确定与每个节点相邻的第一节点与第二节点;
第一同步单元,用于当所述节点集群中的任一个节点发生数据更新时,发生数据更新的节点将更新的数据发送至所述节点集群中的其他节点,使得所述节点集群中任意两个节点之间的数据相同;
第二同步单元,用于每个节点定时与所述第一顺序列表中的所述第一节点及所述第二节点同步数据,以使得所述节点集群中任意相邻的两个节点之间的数据相同。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
检测单元,用于每个节点定时向所述节点集群中的其他节点发送心跳检测包,以用于检测所述节点集群中的每个节点是否处于正常通信状态;
第三建立单元,用于在所述节点集群中有节点处于非正常通信状态时,重新建立各节点之间的第二顺序列表,并确定与每个节点相邻的第三节点与第四节点;
第三同步单元,用于每个节点定时与所述第二顺序列表中的所述第三节点及所述第四节点同步数据,以使得所述节点集群中任意相邻的两个节点之间的数据相同。
8.根据权要求6或7所述的装置,其特征在于,所述第二同步单元,包括:
第一同步模块,用于每个节点向所述第一节点及所述第二节点发送本地数据,并接收由所述第一节点及所述第二节点发送的差异数据;
或,
第二同步模块,用于每个节点接收由所述第一节点及所述第二节点发送的本地数据,并向所述第一节点及所述第二节点发送差异数据。
9.一种计算机装置,包括处理器,其特征在于,所述处理器在执行存储于存储器上的计算机程序时,用于实现如权利要求1至5中任一项所述的数据存储方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,用于实现如权利要求1至5中任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810403785.5A CN108595670B (zh) | 2018-04-28 | 2018-04-28 | 一种数据存储方法、装置、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810403785.5A CN108595670B (zh) | 2018-04-28 | 2018-04-28 | 一种数据存储方法、装置、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108595670A true CN108595670A (zh) | 2018-09-28 |
CN108595670B CN108595670B (zh) | 2021-05-14 |
Family
ID=63619347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810403785.5A Active CN108595670B (zh) | 2018-04-28 | 2018-04-28 | 一种数据存储方法、装置、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595670B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032601A (zh) * | 2019-04-03 | 2019-07-19 | 郑州轨道交通信息技术研究院 | 一种实时数据同步的方法、装置及存储介质 |
CN110221920A (zh) * | 2019-06-04 | 2019-09-10 | 合肥讯飞数码科技有限公司 | 部署方法、装置、存储介质及系统 |
CN110740355A (zh) * | 2019-09-30 | 2020-01-31 | 视联动力信息技术股份有限公司 | 设备监测方法、装置、电子设备及存储介质 |
CN111800460A (zh) * | 2020-05-27 | 2020-10-20 | 深圳壹账通智能科技有限公司 | Ldap服务节点的数据同步方法、装置、设备及存储介质 |
CN112073478A (zh) * | 2020-08-25 | 2020-12-11 | 苏州浪潮智能科技有限公司 | 一种存储集群拆解方法、组合方法、装置、设备和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080310570A1 (en) * | 2007-02-20 | 2008-12-18 | Fujitsu Limited | Device and method for preventing lost synchronization |
CN102902746A (zh) * | 2012-09-18 | 2013-01-30 | 杭州勒卡斯广告策划有限公司 | 一种海量数据处理方法、装置及系统 |
CN103248504A (zh) * | 2012-02-06 | 2013-08-14 | 上海软智信息科技有限公司 | 一种集群节点匹配方法、集群通信模块、设备及系统 |
CN104301434A (zh) * | 2014-10-31 | 2015-01-21 | 浪潮(北京)电子信息产业有限公司 | 一种基于集群的高速通信架构及方法 |
CN104346210A (zh) * | 2014-09-04 | 2015-02-11 | 中国船舶重工集团公司第七0九研究所 | 基于时空相关的虚拟机在线迁移方法及系统 |
CN104378427A (zh) * | 2014-11-14 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种保持集群关键数据一致性的方法 |
CN106156480A (zh) * | 2015-07-01 | 2016-11-23 | 安徽华米信息科技有限公司 | 一种数据统计方法及装置 |
WO2017135908A1 (en) * | 2016-02-04 | 2017-08-10 | Sabanci Universitesi | Synchronized-contention window full-duplex mac protocol for enabling full-duplex communication in wireless local area network |
CN107273440A (zh) * | 2017-05-25 | 2017-10-20 | 北京邮电大学 | 计算机应用、数据存储方法、微服务和微数据库 |
CN107278364A (zh) * | 2017-05-04 | 2017-10-20 | 深圳前海达闼云端智能科技有限公司 | 节点认证方法及节点认证系统 |
CN107465536A (zh) * | 2017-07-03 | 2017-12-12 | 珠海高凌信息科技股份有限公司 | 一种基于复用设备的网管消息自动路由方法及系统 |
-
2018
- 2018-04-28 CN CN201810403785.5A patent/CN108595670B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080310570A1 (en) * | 2007-02-20 | 2008-12-18 | Fujitsu Limited | Device and method for preventing lost synchronization |
CN103248504A (zh) * | 2012-02-06 | 2013-08-14 | 上海软智信息科技有限公司 | 一种集群节点匹配方法、集群通信模块、设备及系统 |
CN102902746A (zh) * | 2012-09-18 | 2013-01-30 | 杭州勒卡斯广告策划有限公司 | 一种海量数据处理方法、装置及系统 |
CN104346210A (zh) * | 2014-09-04 | 2015-02-11 | 中国船舶重工集团公司第七0九研究所 | 基于时空相关的虚拟机在线迁移方法及系统 |
CN104301434A (zh) * | 2014-10-31 | 2015-01-21 | 浪潮(北京)电子信息产业有限公司 | 一种基于集群的高速通信架构及方法 |
CN104378427A (zh) * | 2014-11-14 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种保持集群关键数据一致性的方法 |
CN106156480A (zh) * | 2015-07-01 | 2016-11-23 | 安徽华米信息科技有限公司 | 一种数据统计方法及装置 |
WO2017135908A1 (en) * | 2016-02-04 | 2017-08-10 | Sabanci Universitesi | Synchronized-contention window full-duplex mac protocol for enabling full-duplex communication in wireless local area network |
CN107278364A (zh) * | 2017-05-04 | 2017-10-20 | 深圳前海达闼云端智能科技有限公司 | 节点认证方法及节点认证系统 |
CN107273440A (zh) * | 2017-05-25 | 2017-10-20 | 北京邮电大学 | 计算机应用、数据存储方法、微服务和微数据库 |
CN107465536A (zh) * | 2017-07-03 | 2017-12-12 | 珠海高凌信息科技股份有限公司 | 一种基于复用设备的网管消息自动路由方法及系统 |
Non-Patent Citations (1)
Title |
---|
任健铭: "自组织无线集群网络层时间同步关键技术研究与验证", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032601A (zh) * | 2019-04-03 | 2019-07-19 | 郑州轨道交通信息技术研究院 | 一种实时数据同步的方法、装置及存储介质 |
CN110032601B (zh) * | 2019-04-03 | 2022-10-21 | 郑州轨道交通信息技术研究院 | 一种实时数据同步的方法、装置及存储介质 |
CN110221920A (zh) * | 2019-06-04 | 2019-09-10 | 合肥讯飞数码科技有限公司 | 部署方法、装置、存储介质及系统 |
CN110740355A (zh) * | 2019-09-30 | 2020-01-31 | 视联动力信息技术股份有限公司 | 设备监测方法、装置、电子设备及存储介质 |
CN111800460A (zh) * | 2020-05-27 | 2020-10-20 | 深圳壹账通智能科技有限公司 | Ldap服务节点的数据同步方法、装置、设备及存储介质 |
CN112073478A (zh) * | 2020-08-25 | 2020-12-11 | 苏州浪潮智能科技有限公司 | 一种存储集群拆解方法、组合方法、装置、设备和介质 |
CN112073478B (zh) * | 2020-08-25 | 2022-07-01 | 苏州浪潮智能科技有限公司 | 一种存储集群拆解方法、组合方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108595670B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595670A (zh) | 一种数据存储方法、装置、计算机装置及存储介质 | |
CN106713487A (zh) | 数据的同步方法和装置 | |
CN104246734B (zh) | 在无线链路上支持usb hub或外围设备的多跳树的可扩展wse hub | |
CN107895253A (zh) | 一种电力交易功能进行微服务改造的方法 | |
CN106533804A (zh) | 一种网络运营支撑系统 | |
CN107105049B (zh) | 数据迁移方法和装置 | |
CN105915650B (zh) | 负载均衡方法和装置 | |
CN102880475A (zh) | 计算机软件系统中基于云计算的实时事件处理系统及方法 | |
CN109510770A (zh) | 负载均衡节点之间的信息同步方法、装置和处理设备 | |
CN107357571A (zh) | 设备组件程序的维护方法、系统及组件服务器 | |
CN110365536A (zh) | 一种物联网设备的故障提示方法及相关装置 | |
CN110380931A (zh) | 连接状态的处理方法、装置、存储介质、处理器及系统 | |
CN110515748A (zh) | 一种消息处理的方法及相关装置 | |
CN106385330B (zh) | 一种网络功能虚拟化编排器的实现方法及装置 | |
CN103281346A (zh) | 断线重连方法、网络系统和代理服务器 | |
CN109361525A (zh) | 重启分布式部署多服务的方法、装置、控制终端及介质 | |
CN109814900A (zh) | 一种固件更新方法、装置及机器人关节的控制器 | |
CN108664349A (zh) | 双屏终端的重连方法及装置、存储介质、处理器 | |
CN106482299A (zh) | 机组系统数据备份装置、方法及具有该装置的空调机组 | |
JPS62112457A (ja) | トラヒツクデ−タ収集方式 | |
CN106017514A (zh) | 一种空调计费系统 | |
CN110933015B (zh) | 数据传输方法、装置和系统 | |
CN104536926B (zh) | 串口设备的控制方法及装置 | |
CN110442427A (zh) | 一种虚拟机快照管理方法、装置、设备和存储介质 | |
CN104363257B (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 |