一种应用于门店经营的差异化同步方法及系统技术方案

技术编号:28978582 阅读:10 留言:0更新日期:2021-06-23 09:24
本发明专利技术涉及数据同步技术领域,提供了一种应用于门店经营的差异化同步方法及系统,方法包括:数据抽取端向中心调度服务进行注册;中心调度服务生成任务信息发送给数据抽取端;数据抽取端在接收到任务信息后,根据任务类型和抽取模式执行任务,将抽取到的数据封装成数据包发送到数据处理端;数据处理端对数据包进行处理,当任务类型为数据同步时,将数据包中数据同步到目标数据库中,当任务类型为校验时,拉取目标数据库中已同步的数据,与数据包中的数据进行比对,验证已同步数据的准确性。针对于源数据库中的不同形态的表单,采用与之相匹配的方式进行同步,确保每一次的同步都能够完整、准确和高效。

【技术实现步骤摘要】
一种应用于门店经营的差异化同步方法及系统
本专利技术涉及数据同步的
,尤其涉及门店经营的差异化同步
具体为一种应用于门店经营的差异化同步方法及系统。
技术介绍
在门店经营系统中,尤其是连锁的门店,一般的都会包含多个不同的数据源。例如,不同的门店会有自己单独的门店系统,对应于不同的源数据库。再比如,在门店经营中会涉及到销售系统,供应商系统等,同样也会对应于不同的源数据库。在最终对各个门店、各个销售或者供应商系统中的数据进行统计处理时,需要将各个数据库中的数据进行同步汇总,同步存储于同一个目标数据库系统中,以方便后续的数据整理汇总统计。在对源数据库进行抽取,并同步到目标数据库时,数据的完整、准确及高效是重要的目标。但是由于源数据库中表单的形态存在不同,若对所有的表单采用单一相同的同步方式进行同步,会带来很多问题,不能保证每一次的同步都能够完整、准确和高效。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种应用于门店经营的差异化同步方法及系统,针对于源数据库中的不同形态的表单,采用与之相匹配的方式进行同步,确保每一次的同步都能够完整、准确和高效。本专利技术的上述专利技术目的是通过以下技术方案得以实现的:一种应用于门店经营的差异化同步方法,包括以下步骤:S1:建立用于抽取源数据库中数据的数据抽取端,当启动所述源数据库中的数据抽取工作时,所述数据抽取端向中心调度服务进行注册,其中,所述中心调度服务,用于对多组所述源数据库的数据抽取进行调度;>S2:当所述中心调度服务接收到所述数据抽取端的注册信息后,生成包括任务类型、抽取模式在内的任务信息发送给所述数据抽取端,并启动用于在所述数据抽取端抽取了所述源数据库中的数据后,执行数据处理任务的数据处理端,其中,所述任务类型包括数据同步和校验,所述抽取模式包括全表同步、单表增量同步、从表增量同步在内的根据不同的表单形态选定的适配的所述抽取模式;S3:所述数据抽取端在接收到所述任务信息后,根据所述任务类型和所述抽取模式执行任务,将抽取到的数据封装成数据包发送到所述数据处理端,其中,根据所述任务类型和所述抽取模式执行任务时,根据同步任务宿主机的性能,采用决策树来计算最佳同步任务参数,在不影响宿主机运行、其他应用运行的前提下,通过提高并发、提高批数据大小、优化任务队列分配来提高系统资源的使用率、降低整体任务的耗时,并具体包括:建立用于计算最佳同步任务参数的决策树,在任务启动时,收集宿主机和数据仓储ETL的包括CPU核数、CPU使用率、IO、网络、内存、表字段数量、表字段大小在内的参数,将收集到的参数输入决策树;决策树输出任务配置,启动数据仓储ETL任务;根据当前系统的使用情况和历史的任务日志,计算输出该批次任务的包括最优的并发数、批数据大小、任务队列的分配在内的任务配置,并收集包括任务执行的资源占用、耗时在内的信息保存到任务日志库,为下一次决策提供依据;S4:所述数据处理端在对所述数据包进行解析后,对所述数据包进行处理;当所述任务类型为数据同步时,将所述数据包中数据同步到目标数据库中,当所述任务类型为校验时,拉取所述目标数据库中已同步的相同数据,与所述数据包中的数据进行比对,以验证所述目标数据库中已同步数据的准确性。进一步地,根据所述源数据库中表单形态的不同,选定不同的所述抽取模式进行数据抽取并同步,具体为:所述全表同步,适用于同步数据量少的表格,以及数据量大但同步频率低的表格,对表格中的全部数据进行全表同步;所述单表增量同步,适用于同步数据量大的单个表格,对表格中的新增或更新的数据进行增量同步;所述从表增量同步,适用于同步与主表有关联的从表,根据主表中新增或更新的数据,对从表中关联的数据进行增量同步。进一步地,在步骤S3中,建立用于计算最佳同步任务参数的决策树,具体为:采用C4.5算法建立配置决策树,将所述任务日志库作为训练集,计算每次任务执行日志时各个属性的信息增益率,选择信息增益率最高的属性进行划分,具体包括以下步骤:假设任务日志库中的所有属性集合为D,其中有C类任务配置;计算整体数据的信息熵:其中,Ck表示第k类任务配置;计算每一个属性A的信息熵:其中,通过属性A将D划分为n个不同类,Di为通过属性A划分后的第i个集合;计算每一个属性A的信息增益:Gain(D,A)=H(D)-H(D|A)计算信息增益率:正对于每一个属性A的信息增益率,找到信息增益率最高的特征,作为划分决策树的节点。进一步地,当所述任务类型为校验时,包括即时快速校验、按日校验、按周校验、动态校验在内的校验方案,具体为:所述即时快速校验,对数据量大、数据字段繁多的表进行即使的校验;所述按日校验,对时间增量的数据进行校验,每次校验一天内有变化的数据;所述按周校验,对时间增量的数据进行校验,每次校验一周内有变化的数据;所述动态校验,对待校验的数据,按照固定的时间间隔拆分成多个数据段,分别校验。进一步地,所述即时快速校验,具体为:通过PCA算法对宽表降维度,提取出5%~20%的主成分数据,所述包含的信息可以达到原始数据95%以上,再对主成分数据计算MD5值,随原始数据一起同步到目标库;对目标库按照同样的逻辑计算主成分数据的MD5值进行比较,如果一致,所述即时快速校验通过。7、进一步地,通过PCA算法对宽表降维度,计算出最大化数据投影后的方差,获取到最优的数据矩阵,其后进行数据投影来降低矩阵维度,具体包括以下步骤:将抽取到的原始数据按列组成n行m列的m维矩阵X;对矩阵X进行0均值初始化,并应用特征缩放,缩放到-0.5~0.5;设正交基uj,数据点xi在该基底上的投影距离为所以所有数据在该基底上的投影的方差Jj为:其中,m为样本数量,对矩阵X进行0均值初始化,即xcenter=0,则:所以:计算协方差矩阵对协方差矩阵进行SVD分解,得到特征值及对应的特征向量;将协方差矩阵代入公式(3),根据拉格朗日算子求极值,得:构造函数:求解得:当uj、λj分别为协方差矩阵S的特征向量、特征值时,Jj有极值,把上述结构代入公式(4)得:对特征值从大到小排序,取前k个特征值对应的特征向量,得到新的k维坐标系P;对于任意满足条件的正交基,对应的数据在上面投影后的方差值为S矩阵的特征向量,从而:其中λ从大到小排序所以投影正交基为S的特征向量中的前k个最大特征值对应的特征向量;根据特征向量和svd的关系结论,代入矩阵S后得出满足投影后数据距离最大的新的正交基:P={u1,u2,…,uk}把矩阵映射到新坐标系中,完成m维矩阵降维到k维度;本文档来自技高网...

【技术保护点】
1.一种应用于门店经营的差异化同步方法,其特征在于,包括以下步骤:/nS1:建立用于抽取源数据库中数据的数据抽取端,当启动所述源数据库中的数据抽取工作时,所述数据抽取端向中心调度服务进行注册,其中,所述中心调度服务,用于对多组所述源数据库的数据抽取进行调度;/nS2:当所述中心调度服务接收到所述数据抽取端的注册信息后,生成包括任务类型、抽取模式在内的任务信息发送给所述数据抽取端,并启动用于在所述数据抽取端抽取了所述源数据库中的数据后,执行数据处理任务的数据处理端,其中,所述任务类型包括数据同步和校验,所述抽取模式包括全表同步、单表增量同步、从表增量同步在内的根据不同的表单形态选定的适配的所述抽取模式;/nS3:所述数据抽取端在接收到所述任务信息后,根据所述任务类型和所述抽取模式执行任务,将抽取到的数据封装成数据包发送到所述数据处理端,其中,根据所述任务类型和所述抽取模式执行任务时,根据同步任务宿主机的性能,采用决策树来计算最佳同步任务参数,在不影响宿主机运行、其他应用运行的前提下,通过提高并发、提高批数据大小、优化任务队列分配来提高系统资源的使用率、降低整体任务的耗时,并具体包括:/n建立用于计算最佳同步任务参数的决策树,在任务启动时,收集宿主机和数据仓储ETL的包括CPU核数、CPU使用率、IO、网络、内存、表字段数量、表字段大小在内的参数,将收集到的参数输入决策树;/n决策树输出任务配置,启动数据仓储ETL任务;/n根据当前系统的使用情况和历史的任务日志,计算输出该批次任务的包括最优的并发数、批数据大小、任务队列的分配在内的任务配置,并收集包括任务执行的资源占用、耗时在内的信息保存到任务日志库,为下一次决策提供依据;/nS4:所述数据处理端在对所述数据包进行解析后,对所述数据包进行处理;当所述任务类型为数据同步时,将所述数据包中数据同步到目标数据库中,当所述任务类型为校验时,拉取所述目标数据库中已同步的相同数据,与所述数据包中的数据进行比对,以验证所述目标数据库中已同步数据的准确性。/n...

【技术特征摘要】
20201223 CN 20201153814971.一种应用于门店经营的差异化同步方法,其特征在于,包括以下步骤:
S1:建立用于抽取源数据库中数据的数据抽取端,当启动所述源数据库中的数据抽取工作时,所述数据抽取端向中心调度服务进行注册,其中,所述中心调度服务,用于对多组所述源数据库的数据抽取进行调度;
S2:当所述中心调度服务接收到所述数据抽取端的注册信息后,生成包括任务类型、抽取模式在内的任务信息发送给所述数据抽取端,并启动用于在所述数据抽取端抽取了所述源数据库中的数据后,执行数据处理任务的数据处理端,其中,所述任务类型包括数据同步和校验,所述抽取模式包括全表同步、单表增量同步、从表增量同步在内的根据不同的表单形态选定的适配的所述抽取模式;
S3:所述数据抽取端在接收到所述任务信息后,根据所述任务类型和所述抽取模式执行任务,将抽取到的数据封装成数据包发送到所述数据处理端,其中,根据所述任务类型和所述抽取模式执行任务时,根据同步任务宿主机的性能,采用决策树来计算最佳同步任务参数,在不影响宿主机运行、其他应用运行的前提下,通过提高并发、提高批数据大小、优化任务队列分配来提高系统资源的使用率、降低整体任务的耗时,并具体包括:
建立用于计算最佳同步任务参数的决策树,在任务启动时,收集宿主机和数据仓储ETL的包括CPU核数、CPU使用率、IO、网络、内存、表字段数量、表字段大小在内的参数,将收集到的参数输入决策树;
决策树输出任务配置,启动数据仓储ETL任务;
根据当前系统的使用情况和历史的任务日志,计算输出该批次任务的包括最优的并发数、批数据大小、任务队列的分配在内的任务配置,并收集包括任务执行的资源占用、耗时在内的信息保存到任务日志库,为下一次决策提供依据;
S4:所述数据处理端在对所述数据包进行解析后,对所述数据包进行处理;当所述任务类型为数据同步时,将所述数据包中数据同步到目标数据库中,当所述任务类型为校验时,拉取所述目标数据库中已同步的相同数据,与所述数据包中的数据进行比对,以验证所述目标数据库中已同步数据的准确性。


2.根据权利要求1所述的应用于门店经营的差异化同步方法,其特征在于,还包括:根据所述源数据库中表单形态的不同,选定不同的所述抽取模式进行数据抽取并同步,具体为:
所述全表同步,适用于同步数据量少的表格,以及数据量大但同步频率低的表格,对表格中的全部数据进行全表同步;
所述单表增量同步,适用于同步数据量大的单个表格,对表格中的新增或更新的数据进行增量同步;
所述从表增量同步,适用于同步与主表有关联的从表,根据主表中新增或更新的数据,对从表中关联的数据进行增量同步。


3.根据权利要求1所述的应用与门店经营的差异化同步方法,其特征在于,在步骤S3中,建立用于计算最佳同步任务参数的决策树,具体为:
采用C4.5算法建立配置决策树,将所述任务日志库作为训练集,计算每次任务执行日志时各个属性的信息增益率,选择信息增益率最高的属性进行划分,具体包括以下步骤:
假设任务日志库中的所有属性集合为D,其中有C类任务配置;
计算整体数据的信息熵:



其中,Ck表示第k类任务配置;
计算每一个属性A的信息熵:



其中,通过属性A将D划分为n个不同类,Di为通过属性A划分后的第i个集合;
计算每一个属性A的信息增益:
Gain(D,A)=H(D)-H(D|A)
计算信息增益率:






正对于每一个属性A的信息增益率,找到信息增益率最高的特征,作为划分决策树的节点。


4.根据权利要求1所述的应用于门店经营的差异化同步方法,其特征在于,当所述任务类型为校验时,包括即时快速校验、按日校验、按周校验、动态校验在内的校验方案,具体为:
所述即时快速校验,对数据量大、数据字段繁多的表进行即使的校验;
所述按日校验,对时间增量的数据进行校验,每次校验一天内有变化的数据;
所述按周校验,对时间增量的数据进行校验,每次校验一周内有变化的数据;
所述动态校验,对待校验的数据,按照固定的时间间隔拆分成多个数据段,分别校验。


5.根据权利要求4所述的应用于门店经营的差异化同步方法,其特征在于,所述即时快速校验,具体为:
通过PCA算法对宽表降维度,提取出5%~20%的主成分数据,包含的信息可以达到原始数据...

【专利技术属性】
技术研发人员:吴昭松潘威王忆新王元盛王新彭肖溶朱婵娟
申请(专利权)人:上海海鼎信息工程股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1