CN114996358A - 基于联盟链的数据同步方法和装置 - Google Patents
基于联盟链的数据同步方法和装置 Download PDFInfo
- Publication number
- CN114996358A CN114996358A CN202210740456.6A CN202210740456A CN114996358A CN 114996358 A CN114996358 A CN 114996358A CN 202210740456 A CN202210740456 A CN 202210740456A CN 114996358 A CN114996358 A CN 114996358A
- Authority
- CN
- China
- Prior art keywords
- nodes
- data
- associated data
- consensus
- changed
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (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
本发明提供了一种基于联盟链的数据同步方法和装置,特别涉及区块链领域,所述方法包括:基于预设的多个CRM***的***代码,得到多个CRM***的***标识;基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链;根据所述***标识,确定对应的节点涉及的数据;根据节点和数据的对应关系,确定多个关联数据;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织。本发明能够提高关联的CRM***之间的数据同步实时性、准确性和速度,从而提高关联的CRM***之间的数据同步的效率。
Description
技术领域
本发明涉及数据同步技术领域,特别涉及区块链技术领域,尤其涉及一种基于联盟链的数据同步方法和装置。
背景技术
CRM***(Customer Relationship Management System)指客户关系管理***,是指利用软件、硬件和网络技术,为企业建立一个客户信息收集、管理、分析和利用的信息***。以客户数据的管理为核心,记录企业在市场营销和销售过程中和客户发生的各种交互行为,以及各类有关活动的状态,提供各类数据模型,为后期的分析和决策提供支持。由于CRM***能够高效地存储和处理有关客户的数据,因此,当今银行业务***中,往往包括多个CRM***,而对于多个CRM***共同订阅涉及(包括但不限于创建或访问等)的关联数据,在其发生变化时,需要被同步到共同订阅涉及该关联数据的多个CRM***,以确保多个CRM***之间的数据一致性,从而有利于多个CRM***的正常运行。但是现有技术中,对于关联数据的同步,往往需要工作人员申请有关权限,并在取得相关权限后以人工方式执行对数据的同步操作,且往往依赖现有的ftp协议实现同步。而上述同步方法,由于需要申请权限、需要较多人工操作且ftp协议传输数据的速度较慢,因而导致多个CRM***之间的数据同步的速度较慢,且人工进行同步操作时的同步准确性取决于工作人员的工作经验和个人能力,因此数据同步的准确性有待提高,而且,数据同步的时间是以预设的时间间隔或人工规定的同步时间为准,并不能做到在关联数据发生变化时就立即进行同步,数据同步实时性较差,从而可能导致在一次数据同步中所需要同步的变化后的关联数据非常多,进而进一步降低数据同步的速度。综上所述,现有的数据同步方法,关联的CRM***之间的数据同步实时性、准确性和速度较低,从而导致关联的CRM***之间的数据同步的效率较低。
发明内容
本发明的一个目的在于提供一种基于联盟链的数据同步方法,以解决现有的数据同步方法,关联的CRM***之间的数据同步实时性、准确性和速度较低,从而导致关联的CRM***之间的数据同步的效率较低的问题。本发明的另一个目的在于提供一种基于联盟链的数据同步装置。本发明的再一个目的在于提供一种计算机设备。本发明的还一个目的在于提供一种可读介质。本发明的还一个目的在于提供一种计算机程序产品。
为了达到以上目的,本发明的一方面公开了一种基于联盟链的数据同步方法,所述方法包括:
基于预设的多个CRM***的***代码,得到多个CRM***的***标识;
基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链;
根据所述***标识,确定对应的节点涉及的数据;根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
可选的,所述基于预设的多个CRM***的***代码,得到多个CRM***的***标识,包括:
根据所述***代码,得到***变量信息;
根据所述***变量信息,得到所述CRM***的区块标识;
将所述区块标识作为所述CRM***的***标识。
可选的,所述基于预设的多个CRM***的***代码,得到多个CRM***的***标识,包括:
根据所述***代码,得到所述***代码对应的摘要信息;
将所述摘要信息作为所述CRM***的***标识。
可选的,所述基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链,包括:
基于分别与多个CRM***对应的所述***标识,形成多个CRM***之间的信息传输通道;所述信息传输通道用于将其中一个或多个所述CRM***发送的数据传输至其他CRM***;
将多个CRM***作为节点,基于多个所述节点和对应的所述信息传输通道,形成联盟链。
可选的,所述基于分别与多个CRM***对应的所述***标识,生成多个CRM***之间的信息传输通道,包括:
基于所述***标识,设置对应的CRM***的联盟链接口;
基于多个所述联盟链接口,形成多个所述CRM***的信息传输通道。
可选的,所述根据所述***标识,确定对应的节点涉及的数据,包括:
根据所述***标识,确定对应的节点生成和访问的数据;
将对应的节点生成和访问的数据作为所述涉及的数据。
可选的,所述分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,包括:
分别将所述联盟链中生成和访问同一关联数据的多个节点进行聚类,得到多个共识组织。
可选的,进一步包括:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,
从每个共识组织内部的多个节点中随机选取一个节点设置为所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
可选的,进一步包括:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,创建所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
可选的,所述共识组织,还用于:
在共识组织内部的多个节点的所述关联数据发生变化时,判断是否存在相同的变化后的关联数据,若否,获取关联数据发生变化的多个节点的关联数据变化时间戳,基于所述关联数据变化时间戳从关联数据发生变化的多个节点中选取关联数据变化时间最晚的节点作为目标节点,将所述目标节点的变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点;
若是,将所述共识组织内部的相同变化后的关联数据对应的节点分别聚类,得到多个相同关联数据节点集合;
将节点数量最多的相同关联数据节点集合对应的变化后的关联数据作为目标数据,将所述目标数据同步至共识组织内部的不与所述目标数据对应的其他节点。
为了达到以上目的,本发明的另一方面公开了一种基于联盟链的数据同步装置,所述装置包括:
***标识确定模块,用于基于预设的多个CRM***的***代码,得到多个CRM***的***标识;
联盟链生成模块,用于基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链;
共识组织划分模块,用于根据所述***标识,确定对应的节点涉及的数据;根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据分别对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
本发明还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法。
本发明还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
本发明还公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述方法。
本发明提供的基于联盟链的数据同步方法和装置,通过基于预设的多个CRM***的***代码,得到多个CRM***的***标识,能够直接从CRM***本身的***信息中提取到其***标识,因此能够提高得到多个CRM***的***标识的速度和准确性,而***标识用于后续创建联盟链和确定关联数据的步骤中,因此,上述步骤能够间接提高关联的CRM***之间的数据同步的准确性和速度;通过基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链,能够仅以简单的***标识为输入确定多个CRM***之间的通信关系,从而能够提高确定节点之间对应关系的速度,进而能够提高生成联盟链的速度,进而间接提高数据同步的速度,而后续步骤中基于联盟链进行关联数据同步,能够凭借联盟链传输数据的高速、高保真度的特性,使关联CRM***之间的数据同步的准确性和速度较高。通过根据所述***标识,确定对应的节点涉及的数据,能够更准确快速地查找到其涉及的数据;通过根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点,能够实现将涉及同一关联数据的多个节点设立一个共识组织,并在共识组织内部进行数据同步,从而能够有效细化数据同步所述涉及的范围,进而能够减少同步数据时所涉及的查询和确定目标节点的时间并减少将关联数据同步至未涉及关联数据的节点的概率,进而提高了关联的CRM***之间的数据同步的准确性和速度,而且,上述步骤是在关联数据发生变化时就立刻进行同步操作,提高了数据同步的实时性。综上所述,本发明提供的基于联盟链的数据同步方法和装置,能够提高关联的CRM***之间的数据同步实时性、准确性和速度,从而提高关联的CRM***之间的数据同步的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例的一种基于联盟链的数据同步方法的流程示意图;
图2示出了本发明实施例的一种可选的得到多个CRM***的***标识的步骤示意图;
图3示出了本发明实施例的另一种可选的得到多个CRM***的***标识的步骤示意图;
图4示出了本发明实施例的一种可选的生成联盟链的步骤示意图;
图5示出了本发明实施例的一种确定对应的节点涉及的数据的步骤示意图;
图6示出了本发明实施例的一种基于联盟链的数据同步装置的模块示意图;
图7示出适于用来实现本发明实施例的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
关于本文中所使用的“第一”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
需要说明的是,本发明技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
本发明实施例公开了一种基于联盟链的数据同步方法,如图1所示,该方法具体包括如下步骤:
S101:基于预设的多个CRM***的***代码,得到多个CRM***的***标识。
S102:基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链。
S103:根据所述***标识,确定对应的节点涉及的数据;根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
示例性的,所述节点和数据的对应关系,包括但不限于每个节点具体涉及订阅(包括但不限于生成或访问等)哪些数据的内容,或者每个数据具体被哪些节点涉及订阅的内容等。需要说明的是,对于所述节点和数据的对应关系,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述关联数据,可以为但不限于被两个及以上节点涉及订阅的数据。例如,CRM***节点A为基金业务***节点,CRM***节点B为手机银行客户***节点,CRM***节点C为***客户***节点,而节点A生成每个客户的账户余额数据,而该账户余额数据又被节点B读取或修改,该账户余额数据还被节点C读取,则可以确定三个节点涉及订阅该账户余额数据,所以,账户余额数据为这三个节点的关联数据之一。
本发明提供的基于联盟链的数据同步方法和装置,通过基于预设的多个CRM***的***代码,得到多个CRM***的***标识,能够直接从CRM***本身的***信息中提取到其***标识,因此能够提高得到多个CRM***的***标识的速度和准确性,而***标识用于后续创建联盟链和确定关联数据的步骤中,因此,上述步骤能够间接提高关联的CRM***之间的数据同步的准确性和速度;通过基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链,能够仅以简单的***标识为输入确定多个CRM***之间的通信关系,从而能够提高确定节点之间对应关系的速度,进而能够提高生成联盟链的速度,进而间接提高数据同步的速度,而后续步骤中基于联盟链进行关联数据同步,能够凭借联盟链传输数据的高速、高保真度的特性,使关联CRM***之间的数据同步的准确性和速度较高。通过根据所述***标识,确定对应的节点涉及的数据,能够更准确快速地查找到其涉及的数据;通过根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点,能够实现将涉及同一关联数据的多个节点设立一个共识组织,并在共识组织内部进行数据同步,从而能够有效细化数据同步所述涉及的范围,进而能够减少同步数据时所涉及的查询和确定目标节点的时间并减少将关联数据同步至未涉及关联数据的节点的概率,进而提高了关联的CRM***之间的数据同步的准确性和速度,而且,上述步骤是在关联数据发生变化时就立刻进行同步操作,提高了数据同步的实时性。综上所述,本发明提供的基于联盟链的数据同步方法和装置,能够提高关联的CRM***之间的数据同步实时性、准确性和速度,从而提高关联的CRM***之间的数据同步的效率。
在一个可选的实施方式中,如图2所示,所述基于预设的多个CRM***的***代码,得到多个CRM***的***标识,包括如下步骤:
S201:根据所述***代码,得到***变量信息。
S202:根据所述***变量信息,得到所述CRM***的区块标识。
S203:将所述区块标识作为所述CRM***的***标识。
示例性的,所述***代码,可以包括但不限于***架构代码、***功能代码、***变量信息代码以及***异常抛出代码等。由于***代码中包括各种静态、动态的***变量信息,所以能够直接根据所述***代码,得到***变量信息。需要说明的是,对于所述***代码的具体内容和构成,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述***变量信息包括CRM***的区块标识,所以能够直接根据所述***变量信息,得到所述CRM***的区块标识。
示例性的,所述区块标识,可以为但不限于对应的CRM***的***id或***名称(变量名可以为但不限于name)等。需要说明的是,对于区块标识,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
在***代码中查找有关变量,并基于变量确定***标识,其执行步骤较为简单,执行难度较低,且时间复杂度较小。因此通过步骤S201至步骤S203,能够提高得到CRM***的***标识的速度,从而进一步间接提高关联的CRM***之间的数据同步的速度。
在一个可选的实施方式中,如图3所示,所述基于预设的多个CRM***的***代码,得到多个CRM***的***标识,包括如下步骤:
S301:根据所述***代码,得到所述***代码对应的摘要信息。
S302:将所述摘要信息作为所述CRM***的***标识。
示例性的,所述根据所述***代码,得到所述***代码对应的摘要信息,可以为但不限于将***代码输入到摘要算法中进行处理,得到初始摘要,并可对初始摘要在预设位置截取预设长度作为所述摘要信息或直接将初始摘要作为摘要信息,其中,所述摘要算法,可以为但不限于CRC16、MD5或SHA1等算法。需要说明的是,对于根据所述***代码,得到所述***代码对应的摘要信息的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
由于基于不同的输入信息所生成的摘要是不同的,因此,步骤S301和步骤S302能够使得到的多个CRM***的***标识不会发生重复,从而使后续步骤中基于***标识创建联盟链以及确定关联数据时,不会发生错误,进而能够间接提高关联的CRM***之间的数据同步的准确性并使同步步骤能够顺利执行。
在一个可选的实施方式中,如图4所示,所述基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链,包括如下步骤:
S401:基于分别与多个CRM***对应的所述***标识,形成多个CRM***之间的信息传输通道;所述信息传输通道用于将其中一个或多个所述CRM***发送的数据传输至其他CRM***。
S402:将多个CRM***作为节点,基于多个所述节点和对应的所述信息传输通道,形成联盟链。
示例性的,所述信息传输通道,可以理解为但不限于联盟链的链路、链条或链等,需要说明的是,对于所述信息传输通道的具体含义,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述信息传输通道的通信协议,可以为但不限于TCP/IP、IBC或P2P协议等,需要说明的是,对于所述信息传输通道的通信协议,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述将多个CRM***作为节点,可以为但不限于直接将CRM***作为节点或者将CRM***进行区块打包等处理使其形成为节点。
示例性的,所述基于多个所述节点和对应的所述信息传输通道,形成联盟链,可以为但不限于对所述节点和信息传输通道的相关功能、相关参数、相关环境信息、数据传输规则、认证机制、防火墙机制、加密规则、共识机制、有关证书及智能合约等进行对应配置,并可进一步设置对应的日志、数据库、人机交互节点以及监测数据流动情况的监测模块等,形成联盟链。需要说明的是,对于所述基于多个所述节点和对应的所述信息传输通道,形成联盟链的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
通过步骤S401和步骤S402,能够在形成联盟链时明确分化节点之间的有关通道,使有关通道之间不会发生冲突,从而使形成的联盟链在进行节点间的数据交互时不会出现数据混淆、数据丢失、误传输以及链路崩溃等故障,提高联盟链的可靠性,从而提高基于联盟链进行数据同步时的稳定性和准确性。
在一个可选的实施方式中,所述基于分别与多个CRM***对应的所述***标识,生成多个CRM***之间的信息传输通道,包括:
基于所述***标识,设置对应的CRM***的联盟链接口;
基于多个所述联盟链接口,形成多个所述CRM***的信息传输通道。
示例性的,所述基于所述***标识,设置对应的CRM***的联盟链接口,可以为但不限于以所述***标识为接口的定位信息,并围绕该定位信息设置有关数据输出、接受有关访问请求、接收其他***传输的数据、有关校验操作、权限判定、搜索其他***或设备以及使其他***或设备能够识别发现该CRM***的有关逻辑,并对这些逻辑进行封装得到接口程序,并将接口程序配置安装到对应的接口硬件上以完成对联盟链接口的设置。需要说明的是,对于所述基于所述***标识,设置对应的CRM***的联盟链接口的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述基于多个所述联盟链接口,形成多个所述CRM***的信息传输通道,可以为但不限于基于多个联盟链接口的有关IP信息、定位信息、协议信息、安全策略信息以及传输流量限制信息等,对相关的多个联盟链接口进行通信配置和通信连接,从而形成信息传输通道。所述信息传输通道的形式,可以为但不限于多对多通道,即一个CRM***与其他每个CRM***之间均有信息传输通道,或者设置信息传输通道时,可以根据实际需求和情况确定哪些CRM***之间设置通道,哪些不设置通道等。需要说明的是,对于基于多个所述联盟链接口,形成多个所述CRM***的信息传输通道的具体实现方式以及通道的具体连接对象等,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
通过上述步骤,能够有效提高通道的定位准确性,从而提高基于联盟链通道同步有关数据的准确性。
在一个可选的实施方式中,如图5所示,所述根据所述***标识,确定对应的节点涉及的数据,包括如下步骤:
S501:根据所述***标识,确定对应的节点生成和访问的数据。
S502:将对应的节点生成和访问的数据作为所述涉及的数据。
示例性的,所述根据所述***标识,确定对应的节点生成和访问的数据,可以为但不限于根据所述***标识,定位到该***标识所属的CRM***节点,并进一步确定该节点的CRM***所生成的数据,并在通过***标识定位到所属的CRM***节点的基础上,在该节点的CRM***中定位查找有关数据访问的日志记录或***配置文件等,从上述日志记录或***配置文件中确定该节点所访问过的数据,其中,该节点所访问过的数据包括但不限于该节点自己的CRM***中的被该节点自身访问过的数据以及联盟链中其他节点的CRM***中被该节点访问过的数据。其中,所述访问,包括但不限于对数据的写入、修改、读取、删除、更新以及获取等。例如,A节点生成了甲数据,而A节点在业务中对B节点中的乙数据进行修改,则可以认为A节点生成和访问的数据有甲数据和乙数据。需要说明的是,对于所述根据所述***标识,确定对应的节点生成和访问的数据的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
通过上述步骤,能够提高所确定的涉及数据的全面性,从而提高确定涉及数据的准确性,进而提高后续步骤中基于涉及的数据确定关联数据的准确性,进而间接提高基于关联数据进行数据同步的准确性。
在一个可选的实施方式中,所述分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,包括:
分别将所述联盟链中生成和访问同一关联数据的多个节点进行聚类,得到多个共识组织。
示例性的,每个共识组织中还可以单独设置对应该共识组织的智能合约,通过智能合约可以从产生关联数据的节点中将关联数据导出,并转发到共识组织内部的其他节点中进行储存,以使共识组织中的每个节点都存储有该关联数据,以满足有关业务需求。例如,在一个银行交易的场景中,有涉及转账处理的CRM***节点A、涉及入账处理的CRM***节点B和涉及客户信息存储的CRM***节点C。而在实际交易时,节点C中生成并存储有转账方个人信息,但是,节点A和B中原本并不存在也不产生转账方个人信息,而节点A和B在该场景中又需要基于该转账方个人信息进行业务处理,因此,为了满足业务需求,将转账方个人信息确定为关联数据,并围绕该关联数据将节点A、节点B和节点C确定为一个共识组织,通过针对该共识组织预设的智能合约将节点A的转账方个人信息导出至节点B和节点C中存储,以使这两个节点能够顺利进行业务处理。需要说明的是,上述说明仅为举例,对本发明实施例并不构成限制。
通过上述步骤,能够提高得到的共识组织中节点的关联程度,从而提高共识组织的准确性,有利于后续步骤中以共识组织为粒度对关联数据进行同步的准确性和速度。
在一个可选的实施方式中,进一步包括:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,
从每个共识组织内部的多个节点中随机选取一个节点设置为所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
示例性的,所述共识节点中设置有对应的智能合约,以使该共识节点能够每隔预设的时间间隔获取共识组织中所有节点中存储的关联数据的具体值,并与上一次获取的对应节点的关联数据具体值进行对比,判断二者是否相同,若不同,则判定共识组织内部的对应节点的关联数据发生了变化。并通过智能合约从对应节点获取变化后的关联数据的值,并通过智能合约将该变化后的值传输到关联数据未发生变化的其他节点中以使这些节点用变化后的值覆盖自己存储的关联数据的值,从而完成同步。例如,A、B、C三个节点中都存储有关联数据用户姓名,用户姓名的值均为“张某”,而由于某种原因,B节点中的用户姓名的值变更为“李某”,A、C节点中的用户姓名的值仍为“张某”,共识节点A检测到了B节点中用户姓名的值发生变化的情况,将用户姓名的值“李某”同步到了自身和C节点,这样,三个节点中用户姓名的值就均为“李某”。需要说明的是,对于从每个共识组织内部的多个节点中随机选取一个节点设置为所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
通过上述步骤,能够实现在无需额外建立节点的基础上以共识组织中现有的其中一个节点作为共识节点,从而在监测数据变动并进行同步的步骤中免去了单独建立共识节点的步骤,进一步间接减少了关联的CRM***之间的数据同步的时间,进而进一步提高了关联的CRM***之间的数据同步的速度。且通过共识节点实现对数据变动的监测和数据同步,能够使有关执行逻辑集中化,减少共识组织中同步功能的模糊化和分散化,从而进一步提高了数据同步的准确性和速度,进而进一步提高了数据同步的效率。
在一个可选的实施方式中,进一步包括:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,创建所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
示例性的,所述创建所述共识组织的共识节点,可以为但不限于基于有关智能合约、监控共识组织中每个节点关联数据变动情况的逻辑和基于变动情况进行数据同步的逻辑等,进行封装打包得到共识节点。需要说明的是,对于所述创建所述共识组织的共识节点的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。对于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点的具体实现方式,可以参照上文中的有关记载,这里不再赘述。
通过上述步骤,能够将共识节点独立于共识组织中的普通CRM***节点设置,从而使普通的CRM***无需额外设置实现监控数据变动和数据同步功能的模块,减少共识组织中各节点对应的CRM***的运行负担,使CRM***的正常运行不会受到数据同步操作的干扰。
在一个可选的实施方式中,所述共识组织,还用于:
在共识组织内部的多个节点的所述关联数据发生变化时,判断是否存在相同的变化后的关联数据,若否,获取关联数据发生变化的多个节点的关联数据变化时间戳,基于所述关联数据变化时间戳从关联数据发生变化的多个节点中选取关联数据变化时间最晚的节点作为目标节点,将所述目标节点的变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点;
若是,将所述共识组织内部的相同变化后的关联数据对应的节点分别聚类,得到多个相同关联数据节点集合;
将节点数量最多的相同关联数据节点集合对应的变化后的关联数据作为目标数据,将所述目标数据同步至共识组织内部的不与所述目标数据对应的其他节点。
示例性的,所述判断是否存在相同的变化后的关联数据,可以通过有关智能合约的对应预设功能实现。判断过程有如下例子:
某个共识组织中存在A、B、C、D、E和F共6个节点,且这六个节点中均存储有作为关联数据的账户余额数据且该账户余额数据的值为500。由于业务原因,节点A、节点B、节点C和节点D的账户余额数据的值分别发生了变化,其中,节点A的账户余额数据的值变为600,节点B的账户余额数据的值变为200,节点C的账户余额数据的值变为290,节点D的账户余额数据的值变为510,由此可见,账户余额数据发生变化的节点A、节点B、节点C和节点D中,变化后的账户余额数据的值各不相同,所以判断不存在相同的变化后的关联数据。再例如,若由于业务原因,6个节点的账户余额数据的值都发生了变化,其中,节点A的账户余额数据的值变为600,节点B的账户余额数据的值变为600,节点C的账户余额数据的值变为600,节点D的账户余额数据的值变为510,节点E的账户余额数据的值变为510,节点F的账户余额数据的值变为0,由此可见,账户余额数据发生变化的节点A、节点B、节点C中,变化后的账户余额数据的值是相同的,均为600,而账户余额数据发生变化的节点D和节点E中,变化后的账户余额数据的值也是相同的,均为510,因此判断存在相同的变化后的关联数据。
需要说明的是,对于判断是否存在相同的变化后的关联数据的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述获取关联数据发生变化的多个节点的关联数据变化时间戳,可以为但不限于从对应节点的有关***日志或配置文件等文件,在关联数据发生变化时,上述文件中会形成记载该变化信息的有关记录,而有关记录包括数据变化的具体时间戳信息。其中,所述时间戳,可以为但不限于预设格式的时间信息,而所述时间信息可以包括但不限于年、月、日、时、分和秒等具体信息,例如一个时间戳可以为“2022-01-01-23:59:48”,表示关联数据发生变化的时间为2022年1月1日23点59分48秒。需要说明的是,对于获取关联数据发生变化的多个节点的关联数据变化时间戳的具体实现方式以及时间戳的具体内容和格式等,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述基于所述关联数据变化时间戳从关联数据发生变化的多个节点中选取关联数据变化时间最晚的节点作为目标节点,可以通过但不限于在共识组织的智能合约中设置对比时间戳,根据对比结果确定最晚时间戳,并确定最晚时间戳对应的节点的有关逻辑等方式实现,需要说明的是,所述基于所述关联数据变化时间戳从关联数据发生变化的多个节点中选取关联数据变化时间最晚的节点作为目标节点的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述将所述目标节点的变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点的具体实现方式,可以参考上文中的有关同步操作的描述,这里不再赘述。
示例性的,所述将所述共识组织内部的相同变化后的关联数据对应的节点分别聚类,得到多个相同关联数据节点集合,有如下例子:
某个共识组织中存在A、B、C、D、E和F共6个节点,且这六个节点中均存储有作为关联数据的账户余额数据且该账户余额数据的值为500,由于业务原因,6个节点的账户余额数据的值都发生了变化,其中,节点A的账户余额数据的值变为600,节点B的账户余额数据的值变为600,节点C的账户余额数据的值变为600,节点D的账户余额数据的值变为510,节点E的账户余额数据的值变为510,节点F的账户余额数据的值变为0,由此可见,账户余额数据发生变化的节点A、节点B、节点C中,变化后的账户余额数据的值是相同的,均为600,而账户余额数据发生变化的节点D和节点E中,变化后的账户余额数据的值也是相同的,均为510。因此,将节点A、节点B和节点C进行聚类,得到集合甲,将节点D和节点E进行聚类,得到集合乙。
需要说明的是,所述将所述共识组织内部的相同变化后的关联数据对应的节点分别聚类,得到多个相同关联数据节点集合的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
示例性的,所述将节点数量最多的相同关联数据节点集合对应的变化后的关联数据作为目标数据,将所述目标数据同步至共识组织内部的不与所述目标数据对应的其他节点,对应上文中的例子,有如下例子:
集合甲包括节点A、节点B和节点C,共3个节点;集合乙包括节点D和节点E,共2个节点。由此可以确定,节点数量最多的相同关联数据节点集合为集合甲,其对应的变化后关联数据(在本例中为账户余额数据)为600,即目标数据。于是,进行同步,使节点D、节点E和节点F中存储的账户余额数据的值也为600。
需要说明的是,对于所述将节点数量最多的相同关联数据节点集合对应的变化后的关联数据作为目标数据,将所述目标数据同步至共识组织内部的不与所述目标数据对应的其他节点的具体实现方式,可由本领域技术人员根据实际情况确定,上述说明仅为举例,对此并不构成限制。
通过在共识组织内部的多个节点的所述关联数据发生变化时,判断是否存在相同的变化后的关联数据,若否,获取关联数据发生变化的多个节点的关联数据变化时间戳,基于所述关联数据变化时间戳从关联数据发生变化的多个节点中选取关联数据变化时间最晚的节点作为目标节点,将所述目标节点的变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点,能够在多个节点的关联数据均发生变化时以变化最晚的关联数据为准进行同步(变化最晚的关联数据的准确性往往最高),从而在使数据同步的方法不会因多个节点的关联数据发生不同的变化而无法确定如何同步而停止执行的基础上,提高数据同步的准确性。
通过若是,将所述共识组织内部的相同变化后的关联数据对应的节点分别聚类,得到多个相同关联数据节点集合;将节点数量最多的相同关联数据节点集合对应的变化后的关联数据作为目标数据,将所述目标数据同步至共识组织内部的不与所述目标数据对应的其他节点,能够使数据同步遵循“少数服从多数”的原则,以数量最多的相同的变化后的关联数据为准进行同步,也提高了数据同步的准确性。
基于相同原理,本发明实施例公开了一种基于联盟链的数据同步装置600,如图6所示,该基于联盟链的数据同步装置600包括:
***标识确定模块601,用于基于预设的多个CRM***的***代码,得到多个CRM***的***标识;
联盟链生成模块602,用于基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链;
共识组织划分模块603,用于根据所述***标识,确定对应的节点涉及的数据;根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据分别对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
在一个可选的实施方式中,所述***标识确定模块601,用于:
根据所述***代码,得到***变量信息;
根据所述***变量信息,得到所述CRM***的区块标识;
将所述区块标识作为所述CRM***的***标识。
在一个可选的实施方式中,所述***标识确定模块601,用于:
根据所述***代码,得到所述***代码对应的摘要信息;
将所述摘要信息作为所述CRM***的***标识。
在一个可选的实施方式中,所述联盟链生成模块602,用于:
基于分别与多个CRM***对应的所述***标识,形成多个CRM***之间的信息传输通道;所述信息传输通道用于将其中一个或多个所述CRM***发送的数据传输至其他CRM***;
将多个CRM***作为节点,基于多个所述节点和对应的所述信息传输通道,形成联盟链。
在一个可选的实施方式中,所述联盟链生成模块602,用于:
基于所述***标识,设置对应的CRM***的联盟链接口;
基于多个所述联盟链接口,形成多个所述CRM***的信息传输通道。
在一个可选的实施方式中,所述共识组织划分模块603,用于:
根据所述***标识,确定对应的节点生成和访问的数据;
将对应的节点生成和访问的数据作为所述涉及的数据。
在一个可选的实施方式中,所述共识组织划分模块603,用于:
分别将所述联盟链中生成和访问同一关联数据的多个节点进行聚类,得到多个共识组织。
在一个可选的实施方式中,进一步包括第一共识节点设置模块,用于:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,
从每个共识组织内部的多个节点中随机选取一个节点设置为所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
在一个可选的实施方式中,进一步包括第二共识节点设置模块,用于:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,创建所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
在一个可选的实施方式中,所述共识组织,还用于:
在共识组织内部的多个节点的所述关联数据发生变化时,判断是否存在相同的变化后的关联数据,若否,获取关联数据发生变化的多个节点的关联数据变化时间戳,基于所述关联数据变化时间戳从关联数据发生变化的多个节点中选取关联数据变化时间最晚的节点作为目标节点,将所述目标节点的变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点;
若是,将所述共识组织内部的相同变化后的关联数据对应的节点分别聚类,得到多个相同关联数据节点集合;
将节点数量最多的相同关联数据节点集合对应的变化后的关联数据作为目标数据,将所述目标数据同步至共识组织内部的不与所述目标数据对应的其他节点。
由于该基于联盟链的数据同步装置600解决问题的原理与以上方法类似,因此本基于联盟链的数据同步装置600的实施可以参见以上的方法的实施,在此不再赘述。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法。
下面参考图7,其示出了适于用来实现本申请实施例的计算机设备700的结构示意图。
如图7所示,计算机设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM))703中的程序而执行各种适当的工作和处理。在RAM703中,还存储有***700操作所需的各种程序和数据。CPU701、ROM702、以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶反馈器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装如存储部分708。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种基于联盟链的数据同步方法,其特征在于,包括:
基于预设的多个CRM***的***代码,得到多个CRM***的***标识;
基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链;
根据所述***标识,确定对应的节点涉及的数据;根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
2.根据权利要求1所述的方法,其特征在于,所述基于预设的多个CRM***的***代码,得到多个CRM***的***标识,包括:
根据所述***代码,得到***变量信息;
根据所述***变量信息,得到所述CRM***的区块标识;
将所述区块标识作为所述CRM***的***标识。
3.根据权利要求1所述的方法,其特征在于,所述基于预设的多个CRM***的***代码,得到多个CRM***的***标识,包括:
根据所述***代码,得到所述***代码对应的摘要信息;
将所述摘要信息作为所述CRM***的***标识。
4.根据权利要求1所述的方法,其特征在于,所述基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链,包括:
基于分别与多个CRM***对应的所述***标识,形成多个CRM***之间的信息传输通道;所述信息传输通道用于将其中一个或多个所述CRM***发送的数据传输至其他CRM***;
将多个CRM***作为节点,基于多个所述节点和对应的所述信息传输通道,形成联盟链。
5.根据权利要求4所述的方法,其特征在于,所述基于分别与多个CRM***对应的所述***标识,生成多个CRM***之间的信息传输通道,包括:
基于所述***标识,设置对应的CRM***的联盟链接口;
基于多个所述联盟链接口,形成多个所述CRM***的信息传输通道。
6.根据权利要求1所述的方法,其特征在于,所述根据所述***标识,确定对应的节点涉及的数据,包括:
根据所述***标识,确定对应的节点生成和访问的数据;
将对应的节点生成和访问的数据作为所述涉及的数据。
7.根据权利要求1所述的方法,其特征在于,所述分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,包括:
分别将所述联盟链中生成和访问同一关联数据的多个节点进行聚类,得到多个共识组织。
8.根据权利要求1所述的方法,其特征在于,进一步包括:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,
从每个共识组织内部的多个节点中随机选取一个节点设置为所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
9.根据权利要求1所述的方法,其特征在于,进一步包括:
在分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织之后,创建所述共识组织的共识节点,所述共识节点用于在对应的共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的所述关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
10.根据权利要求1所述的方法,其特征在于,所述共识组织,还用于:
在共识组织内部的多个节点的所述关联数据发生变化时,判断是否存在相同的变化后的关联数据,若否,获取关联数据发生变化的多个节点的关联数据变化时间戳,基于所述关联数据变化时间戳从关联数据发生变化的多个节点中选取关联数据变化时间最晚的节点作为目标节点,将所述目标节点的变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点;
若是,将所述共识组织内部的相同变化后的关联数据对应的节点分别聚类,得到多个相同关联数据节点集合;
将节点数量最多的相同关联数据节点集合对应的变化后的关联数据作为目标数据,将所述目标数据同步至共识组织内部的不与所述目标数据对应的其他节点。
11.一种基于联盟链的数据同步装置,其特征在于,包括:
***标识确定模块,用于基于预设的多个CRM***的***代码,得到多个CRM***的***标识;
联盟链生成模块,用于基于分别与多个CRM***对应的所述***标识,将多个CRM***作为节点生成联盟链;
共识组织划分模块,用于根据所述***标识,确定对应的节点涉及的数据;根据节点和数据的对应关系,确定多个关联数据,其中,每个关联数据分别对应多个节点;分别将所述联盟链中涉及同一关联数据的多个节点进行聚类,得到多个共识组织,所述共识组织用于在共识组织内部的一个或多个节点的所述关联数据发生变化时,将变化后的关联数据同步至共识组织内部的关联数据未发生变化的其他节点。
12.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-10中任一项所述方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一项所述方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-10中任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210740456.6A CN114996358A (zh) | 2022-06-28 | 2022-06-28 | 基于联盟链的数据同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210740456.6A CN114996358A (zh) | 2022-06-28 | 2022-06-28 | 基于联盟链的数据同步方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114996358A true CN114996358A (zh) | 2022-09-02 |
Family
ID=83037006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210740456.6A Pending CN114996358A (zh) | 2022-06-28 | 2022-06-28 | 基于联盟链的数据同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996358A (zh) |
-
2022
- 2022-06-28 CN CN202210740456.6A patent/CN114996358A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3087309C (en) | Blockchain-based data processing method and device | |
US10061578B2 (en) | System and method of configuring a data store for tracking and auditing real-time events across different software development tools in agile development environments | |
EP2174434B1 (en) | Unwired enterprise platform | |
CN112075062A (zh) | 区块链网络中的自动提交交易管理 | |
CN110061887B (zh) | 一种基于区块链的流量统计方法、装置和设备 | |
CN111091358A (zh) | 多支付渠道的统一处理方法及*** | |
CN109951326A (zh) | 数据处理方法、装置、存储介质及处理器 | |
CN111241152B (zh) | 政策信息挖掘方法、装置及云服务器 | |
CN114780982A (zh) | 一种流程业务流转方法、装置和*** | |
CN112363997B (zh) | 数据版本管理方法、装置及存储介质 | |
CN117150534B (zh) | 基于权限管理的可信dcs上位机应用访问控制方法及*** | |
CN110377588A (zh) | 一种数据库对象访问监测方法、服务器及终端 | |
CN114996358A (zh) | 基于联盟链的数据同步方法和装置 | |
CN113496002A (zh) | 一种基于移动中台的移动应用平台 | |
US20230269084A1 (en) | Systems and methods for selecting secure, encrypted communications across distributed computer networks for cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
US20230306128A1 (en) | Systems and methods for using secure, encrypted communications across distributed computer networks to provide variable resiliency when indexing blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories | |
CN107277108B (zh) | 一种区块链的节点处的消息处理方法、装置及*** | |
CN115757642A (zh) | 一种基于归档日志文件的数据同步方法及装置 | |
CN114553895A (zh) | 一种数据同步方法、***、存储介质及电子设备 | |
CN114282210A (zh) | 沙箱自动构建方法、***、计算机设备及可读存储介质 | |
CN107920130A (zh) | 内外网数据同步的方法和装置 | |
CN114900531B (zh) | 数据同步方法、装置和*** | |
CN110290202A (zh) | 一种业务网关的信息附带方法、装置及相关设备 | |
CN108958836A (zh) | 一种配置文件数据的管理方法、***、介质和电子设备 | |
CN111985922B (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 |