首页> 中国专利> 一种基于分片技术的大模型数据比较方法

一种基于分片技术的大模型数据比较方法

摘要

本发明公开了一种基于分片技术的大模型数据比较方法,包括以下几个步骤:设置分片参数;取出基准数据源的所有关键字,按从小到大顺序排列,并存放至关键字数组中;计算出分片个数fragment_num及每个分片中的记录数,再按序从关键字数组中获取每个分片的首尾关键字值;为每个分片启动一个工作线程,每个工作线程分别从基准数据源和待比较数据源中获取相对应的数据内容;各个工作线程逐行比较分配给自己的数据内容,并记录下差异结果;所有工作线程处理结束后,得到fragment_num个差异结果,将所有差异结果汇合为最终的差异结果。本发明应用在两个系统或两个数据库中可大幅度提高大模型数据比较效率。

著录项

  • 公开/公告号CN104376055A

    专利类型发明专利

  • 公开/公告日2015-02-25

    原文格式PDF

  • 申请/专利号CN201410614042.4

  • 发明设计人 王昌频;王飞;季惠英;季学纯;

    申请日2014-11-04

  • 分类号G06F17/30;

  • 代理机构南京纵横知识产权代理有限公司;

  • 代理人董建林

  • 地址 210061 江苏省南京市高新技术开发区高新路20号

  • 入库时间 2023-12-17 04:06:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-29

    授权

    授权

  • 2015-03-25

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20141104

    实质审查的生效

  • 2015-02-25

    公开

    公开

说明书

技术领域

本发明涉及一种基于分片技术的大模型数据比较方法,属于电力 系统自动化配电网模型管理技术领域。

背景技术

配电网模型数据量比较大,一张模型表的记录数很可能会达到百 万级别。针对这种数量级的表,传统的单工作流比较方式可能存在比 较过程耗时较长的问题。

发明内容

针对现有技术存在的不足,本发明目的是提供一种应用在两个系 统或两个数据库中可大幅度提高大模型数据比较效率的基于分片技 术的大模型数据比较方法。

为了实现上述目的,本发明是通过如下的技术方案来实现:

本发明的一种基于分片技术的大模型数据比较方法,具体包括以 下几个步骤:

(1)设置分片参数,所述分片参数支持两种设置方式:按记录 数设置和按数据块大小设置;若分片参数设置为按数据块大小,设数 据块大小为m,设待比较数据源中每条记录的长度为k,设每个分片 所包含的记录数最多为n,则可获得n=m/k;若分片参数设置为按记 录数,则n即为每个分片所包含的最多记录数;

(2)取出基准数据源的所有关键字,按从小到大顺序排列,并 存放至关键字数组中,所述关键字数组大小为该基准数据源中的总记 录数record_sum;

(3)计算出分片个数fragment_num及每个分片中的记录数,再 按序从关键字数组中获取每个分片的首尾关键字值,即得到分片信息;

fragment_num=record_sum/n+(record_sum%n!=0)

若总记录数record_sum为n的整数倍,则获得的每个分片中记 录数都为n;

若总记录数record_sum不为n的整数倍,则前fragment_num-1 个分片中,每个分片的记录数为n,剩下的记录数分配在最后一个分 片中;

(4)为每个分片启动一个工作线程,根据对应的分片信息,每 个工作线程分别从基准数据源和待比较数据源中获取相对应的数据 内容;

(5)各个工作线程逐行按域比较分配给自己的数据内容,并记 录下差异结果;

(6)所有工作线程处理结束后,得到fragment_num个差异结果, 将所有差异结果按关键字从小到大汇合为一个结果,即为最终的差异 结果。

上述差异结果包含差异标识和差异内容描述;所述差异标识包含 插入、更新、删除三种标识;若某条记录待比较数据源中无,基准数 据源中有,则该差异标识为插入;若某条记录待比较数据源中有,基 准数据源中无,则该差异标识为删除;若某条记录在待比较数据源及 基准数据源中关键字一致,但内容不一致,则该差异标识为更新;差 异内容描述为基准数据源和待比较数据源中对应的数据记录。

在本发明中,提供按记录数设置和按数据块大小设置这两种分片 参数设置方式保障了分片的灵活性;根据关键字进行每个分片的划分, 保障了分片的不相交性和完整性,从而也就保障了比较过程的无冗余 及差异结果的完整性;多个工作线程根据各自的分片信息同时进行读 取数据内容和比较,将比较工作并发进行从而提高了整体比较效率; 使用差异标识和差异内容描述记录待比较数据源记录与基准数据源 记录的差异,从而根据差异结果可方便的组织出需同步的SQL语句。

附图说明

图1为本发明的基于分片技术的大模型数据比较方法工作流程 图。

具体实施方式

为使本发明实现的技术手段、创作特征、达成目的与功效易于明 白了解,下面结合具体实施方式,进一步阐述本发明。

本发明的一种基于分片技术的大模型数据比较方法。配电网系统 中的模型表一般都有关键字,这就提供了按关键字进行分片比较的可 能。本发明主要针对记录数较多的模型数据表,根据需要设置分片参 数,再根据分片参数从基准数据源与待比较数据源中获取分片内容, 并对多个分片同时比较,最终获取差异结果。差异结果由差异标识和 差异内容描述组成,差异标识有插入、更新、删除这三种标识,差异 内容描述为基准数据源和待比较数据源相应记录的内容信息。差异结 果根据基准数据源为待比较数据源而生成。

参见图1,本方法具体包括以下几个步骤:

(1)指定比较数据源和待比较的模型表,数据源支持的类型有 数据库和数据文件等,模型表中需要有关键字。根据需要设置分片参 数,可按记录数设置也可按数据块大小设置。

若分片参数设置为按数据块大小,假设设置数据块大小为m,该 表中每条记录的长度为k,对应的每个分片所包含的记录数最多为n, 则可获得n=m/k;若分片参数设置为按记录数,则n即为此设置的数 值。

(2)获取基准数据源的所有关键字,并按由小到大顺序排列, 存放至关键字数组中,该数组大小为该基准数据源中的总记录数 record_sum。

结合关键字数组,根据分片参数获取分片信息,其中包括分片个 数,每个分片的首尾关键字值。

(3)计算出分片个数及每个分片中的记录数,再按序从关键字 数组中获取每个分片的首尾关键字值;

分片个数fragment_num值应为:

fragment_num=record_sum/n+(record_sum%n!=0)

总记录数record_sum若为n的整数倍,那么获得的每个分片中 记录数都为n;

总记录数record_sum不为n的整数倍,那么前fragment_num-1 个分片中,每个分片的记录数为n,剩下的记录数分配在最后一个分 片中。

(4)为每个分片启动一个工作线程,按照对应的分片信息获取 基准数据源及待比较数据源的相应内容;

(5)各个工作线程逐行比较分配给自己的数据内容,并记录下 差异结果。差异结果中包含差异标识和差异内容描述,差异标识包含 插入、更新、删除三种标识,差异内容描述为基准数据源和待比较数 据源中相应记录的内容信息。

(6)待所有工作线程比较完成后,得到fragment_num个差异结 果,将所有差异结果汇合为一个结果,即为最终的差异结果。

本发明的工作原理为:

本发明主要针对在不同系统或不同数据库中的同构的记录数较 多的大模型数据表的比较并获取差异结果。根据基准数据源的关键字 设置分片信息,再从基准数据源与待比较数据源中获取分片内容,并 同时比较多个分片,最终获取差异结果。本发明的方法实现了分片比 较技术,大幅提高了记录数较多的大模型数据的比较效率。

在本发明中,提供按记录数设置和按数据块大小设置在一定程度 上保障了的分片的灵活性。根据关键字进行每个分片的划分,保障了 分片的不相交性和完整性,从而也就保障了比较过程的无冗余及差异 结果的完整性。多个工作线程根据各自的分片信息同时进行读取数据 内容和比较,将比较工作并发进行以提高整体比较效率。使用差异标 识和差异内容描述记录待比较数据源记录与基准数据源记录的差异, 从而根据差异结果可方便的组织出需同步的SQL语句。

采用本发明的方法,对大模型表使用分片技术进行比较,可大幅 提高比较效率。在不考虑机器性能及资源占用的情况下,分片数即接 近于分片后比分片前提高的速度。

以上显示和描述了本发明的基本原理和主要特征和本发明的优 点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上 述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明 精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改 进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权 利要求书及其等效物界定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号