System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及大数据,更具体地涉及一种数据写入方法、装置、设备、介质和程序产品。
技术介绍
1、随着大数据时代的来临,需要多种形式的数据以满足复杂的数据使用需求。由于一种数据库通常仅能存储一种形式的数据,因此为了存储多种不同形式的数据,需要设置多个基于不同种类数据库实现的存储节点。
2、但是,在向多个存储节点同时写入数据时,如果由于异常导致多个存储节点中的一个或多个未成功写入数据,将无法保证多个存储节点之间的数据一致性。
技术实现思路
1、鉴于上述问题,本公开提供了一种数据写入方法、装置、设备、介质和程序产品。
2、根据本公开的第一个方面,提供了一种数据写入方法,包括:响应于接收到协调器发送的写入数据,基于上述写入数据和第一镜像数据集合,模拟将上述写入数据写入至上述存储节点中,得到预写入模拟结果,其中,上述第一镜像数据集合是对存储于上述存储节点中的原始存储数据集合进行复制得到的;将上述预写入模拟结果发送至上述协调器;以及接收上述协调器发送的提交指令,将上述写入数据写入至上述原始存储数据集合中,其中,上述提交指令是利用上述协调器在确定上述预写入模拟结果和至少一个其他预写入模拟结果均表征预写入成功的情况下生成的,至少一个其他预写入模拟结果来自与上述存储节点不同的至少一个其他存储节点。
3、根据本公开的实施例,上述基于上述写入数据和第一镜像数据集合,模拟将上述写入数据写入至上述存储节点中,得到预写入模拟结果,包括:将上述写入数据写入上述第一镜像数据集合中,
4、根据本公开的实施例,上述方法还包括:响应于接收到上述协调器发送的取消提交指令,删除上述第二镜像数据集合,其中,上述取消提交指令是利用上述协调器在确定上述预写入模拟结果和至少一个其他预写入模拟结果中任一预写入模拟结果表征预写入失败的情况下生成的。
5、根据本公开的实施例,上述对上述第二镜像数据集合进行有效性验证,得到有效性验证结果,包括:对上述第二镜像数据集合中上述写入数据和上述第一镜像数据集合分别进行相同的预处理后,进行有效性验证,得到第一有效性验证结果,其中,上述相同的预处理包括以下至少一项:语义提取、节点数据识别;以及基于上述第一有效性验证结果和第二有效性验证结果,得到上述有效性验证结果,其中,上述第二有效性验证结果是基于对上述写入数据进行数据逻辑验证得到的。
6、根据本公开的实施例,上述写入数据是通过以下操作得到的:上述协调器响应于接收到客户端发送的原始写入数据,基于上述存储节点和与上述存储节点不同的至少一个其他存储节点各自的数据库类型,对上述原始写入数据进行数据处理,得到与每个上述数据库类型对应的写入数据。
7、根据本公开的实施例,上述数据库类型包括图数据库类型,上述对上述原始写入数据进行数据处理,得到与每个上述数据库类型对应的写入数据,包括:基于上述原始写入数据中涉及的至少一个实体,生成与每个上述实体对应的节点数据;基于上述原始写入数据,获取用于表征关联关系的边数据;以及基于上述节点数据和上述边数据,生成与上述图数据库类型对应的写入数据。
8、根据本公开的实施例,上述数据库类型包括文档数据库类型,上述对上述原始写入数据进行数据处理,得到与每个上述数据库类型对应的写入数据,包括:基于上述原始写入数据的属性信息,确定用于标识上述原始写入数据的分类字段;以及基于上述原始写入数据和上述分类字段,生成与上述文档数据库类型对应的写入数据。
9、根据本公开的实施例,上述方法还包括:确定将上述写入数据写入至上述原始存储数据集合的写入结果,并将上述写入结果发送至上述协调器;以及响应于接收到上述协调器发送的回滚指令,利用上述第一镜像数据集合,对上述原始存储数据集合进行回滚,其中,上述回滚指令是利用上述协调器在确定上述写入结果和至少一个其他写入结果任一写入结果表征写入失败的情况下生成的。
10、本公开的第二方面提供了一种数据写入装置,包括:第一写入模块,用于响应于接收到协调器发送的写入数据,基于上述写入数据和第一镜像数据集合,模拟将上述写入数据写入至上述存储节点中,得到预写入模拟结果,其中,上述第一镜像数据集合是对存储于上述存储节点中的原始存储数据集合进行复制得到的;发送模块,用于将上述预写入模拟结果发送至上述协调器;以及第二写入模块,用于接收上述协调器发送的提交指令,将上述写入数据写入至上述原始存储数据集合中,其中,上述提交指令是利用上述协调器在确定上述预写入模拟结果和至少一个其他预写入模拟结果均表征预写入成功的情况下生成的,至少一个其他预写入模拟结果来自与上述存储节点不同的至少一个其他存储节点。
11、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。
12、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
13、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
14、根据本公开的实施例,通过对原始数据存储集合进行复制得到第一镜像数据集合,利用第一镜像数据集合模拟存储节点中原始数据存储集合的数据存储状态,并利用第一镜像数据集合模拟将写入数据写入至存储节点中,得到能够表征写入数据能否成功写入至存储节点的预提交模拟效果,在多个存储节点的预写入结果全部表征预写入成功的情况下才正式将写入数据写入原始存储集合,避免由于任一存储节点的异常导致写入数据失败,导致多个存储节点之间的数据不一致,保证多个存储节点之间数据一致性的同时,避免对原始存储数据集合的影响。
本文档来自技高网...【技术保护点】
1.一种数据写入方法,其特征在于,应用于存储节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述写入数据和第一镜像数据集合,模拟将所述写入数据写入至所述存储节点中,得到预写入模拟结果,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述对所述第二镜像数据集合进行有效性验证,得到有效性验证结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述写入数据是通过以下操作得到的:
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种数据写入装置,其特征在于,所述装置包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或
...【技术特征摘要】
1.一种数据写入方法,其特征在于,应用于存储节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述写入数据和第一镜像数据集合,模拟将所述写入数据写入至所述存储节点中,得到预写入模拟结果,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述对所述第二镜像数据集合进行有效性验证,得到有效性验证结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述写入数据是通过以下操作得到的:
6....
【专利技术属性】
技术研发人员:杜腾宵,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。