海量数据在线并发迁移模式创新与实践(二)

1.2研究意义

随着物联网、云计算等新技术的广泛使用,新型业务的产生,传统业务的转型以及新的服务模式的出现,尤其是web2.0时代带来的交互模式的改变,使得网络世界的数据量爆炸似的增长。面对这些冲击,许多企业和数据中心开始面临一个新的问题——数据迁移。

大数据迁移作为一个IT课题,具有与通常的IT课题相同的风险,比如延迟或预算不足。但与通常的IT课题如信息系统开发相比,人数据迁移由于直接涉及信息系统服务的核心内容:数据,其重要性和敏感度远较普通的IT课题更高,任何迁移结果的不完整都会导致迁移后的系统无法提供预期的服务,会给用户和企业造成无法挽回的损失。

作为数据治理学科的核心要索之一,数据风险管理已经成为大数据时代风险管理的 主要内容™;更进一步地,随着数据中心的持续运行,许多企业不得不面对如下的挑战性问题:怎样进行大数据的迁移?大数据迁移过程的数据风险如何进行控制?如何保证大数据迁移过程中的数据完整性?

数据迁移的实现可以分为四个阶段:初始化阶段、数据迁移实施阶段、测试、生产迁移阶段。数据迁移实施阶段可分为数据卸载、数据完整性检测、结构分析、数据清洗四个步骤。数据卸载就是将原数据库中的数据卸载到迁移平台,然后对其进行数据完整性检测,通过检测之后要对原数据和目标数据进行结构分析,根据结构分析结果进行数据清洗。数据清洗主要是针对原数据,对出现二重性、重复、不完整、违反业务或逻辑规则等问题的数据进行相应的清洗操作。数据完整性是数据结构分析和数据清洗的前提,若数据不完整,那么数据结构分析和数据清洗都无从谈起。

数据完整性分析是数据质量管理的重要组成部分。数据完整性检测主要检测数据在清洗之前是否正确持有原数据库中的数据,防止数据在进行清洗之前发生丢失、篡改等情况。数据完整性面临的风险分析主要是对在数据迁移过程中可能造成数据完整性遭到破坏的因素进行定性和定量的分析,找出造成数据完整性遭到破坏的关键风险源, 并计算因为基本风险事件导致数据完整性遭破坏风险发生的概率,以便在进行数据迁移之前制定详尽的风险控制计划,防止数据完整性遭到破坏等风险的发生。

与传统的IT课题风险相比,大数据不仅仅有着更大的数据量同时也有着更加复杂的异构的数据格式,数据的使用者也非常纷繁多样,潜在的迁移H险更大。由于数据治理的概念刚刚兴起,大数据的定义尚不清晰,数据分类还比较模糊,因而在大数据迁移的过程中会因为数据定义和格式异构问题导致迁移后的数据不一致,这种风险将直接导致数据迁移失败。

尽管对于因大数据迁移过程中发生的风险而造成的损失还没有具体的统计数据,但 是数据迁移过程中发生的各种风险已有大体的统计数据。根据ESG (Enterprise Strategy Group企业战略集团)的一个对700位大数据用户的回访发现,在大数据迁移时候会发生各类问题:

1、64%超过停机时间或导致意外宕机。

2、51%出现不同程度兼容性问题[13]。

3、38%不同程度数据损坏。

4、38%新老系统之间性能的问题[13]。

5、34%不同程度数据丢失。

其中数据损坏发生的概率为38%,数据丢失发生的概率为34%,这两者都是数据完 整性遭到破坏的表现形式。也有统计表明,数据完整性遭到破坏是导致新老系统之间性能问题的关键。

图 1、大数据迁移过程中出现的问题及其发生比例

根据以上阐述可以看出数据完整性对于数据迁移课题有很大的影响,数据完整性遭破坏甚至关系着企业的兴衰。本论文就大数据迁移过程中的数据完整性问题进行研究,具有重要的理论和现实意义。

1.3研究目的

《中华人民共和国国民经济和社会发展第十三个五年规划纲要》明确提出要实施创新驱动发展战略,强化科技创新引领作用。信息科技作为银行业金融机构的核心竞争力担负着重要使命。必须加大对新兴技术的探索研究,实现主席提出的“加快推进国产自主可控替代计划,构建安全可控的信息技术体系”。积极推进新兴技术研究与成果应用,提升银行综合技术实力和科技创新能力,优化在线数据结构,发挥有效数据价值,是银行信息科技工作面临的重要课题。同时随着银行业务结构和业务系统复杂度的日益提高,以及业务量的快速增长,均对信息系统的业务连续性提出了更高的要求,可供计划性的维护时间窗口大大减少,给银行信息系统安全运营带来了巨大的压力。

另外,2018年5月21日,监管部门发布《银行业金融机构数据治理指引》(以下简称《指引》),意在“引导银行业金融机构加强数据治理,提高数据质量,充分发挥数据价值,提升经营管理水平,由高速增长向高质量发展转变”。这份指引内容简洁,但是数据治理的很多关键点都明确的指出来了,对于工业企业数据治理有很多可以借鉴和参考的地方,非常值得认真学习:

数据治理指引中的“全覆盖原则”。银行业金融机构数据治理应当遵循原则的第一条,就是全覆盖原则:覆盖数据的全生命周期;覆盖业务经营、风险管理和内部控制流程中的全部数据;覆盖内部数据和外部数据;覆盖所有分支机构和附属机构;覆盖监管数据。这个原则,体现了数据作为战略资产重要性认识。数据治理不是个别部门的事情,也不是局部业务的事情,数据治理是系统工程。数据治理覆盖的是全业务领域;数据治理组织架构涉及董事会、监事会、高级管理层、业务部门——数据治理的组织架构也是需要全覆盖的。这个全覆盖原则,意味着对数据的管控要求提升到了高层战略关注和公司治理的层面。这正是深入推进数据治理所必须的。

数据治理的岗位设置。数据治理指引明确了数据治理的岗位设置。不是兼职的、不是偶尔关注的,而是在数据治理归口管理部门设立满足工作需要的专职岗位,在其他相关业务部门设置专职或兼职岗位。这是推动数据治理的基本保障。

对数据使用的要求,数据价值实现。真实可靠的数据才能发挥数据的价值。数据绝不是看看统计、做做报表那么粗浅;用数据治理推动整个管理的变革,通过数据责任和数据关系重新定义组织中相关角色的活动和协作,相互促进,这是企业把数据作为战略资源的重要意义。数据治理指引中对数据价值实现的描述,也阐述了数据治理和数据分析利用的关系。

近年来,我行业务快速发展,如何高效维护及管理数据成为关系到业务是否可以安全运营、是否可以从现有数据中发现新的商业机会、重构商业模式的关键。

本课题旨在研究一种新的技术方法化解传统数据清理方法与有效数据提炼、业务连续性、系统安全运营等之间的矛盾,从而提高银行信息系统运行的稳定性和银行数据价值。

1.4研究方法

系统地搜集有关海量数据清理的现实状况及历史状况。运用个案研究、测试实验等方式,对各类海量数据清理算法进行系统的了解和比较,并对调查搜集到的大量资料进行分析、综合、比较、归纳,总结规律并形成符合农信自身特色的技术方案。通过数据清理实践中的具体情况,进行分析、优化提炼,并使之进一步系统化、理论化,上升可复制和推广的一种方法。

对数据完整性检测方法的研究可以分成两个阶段,第一个阶段是用传统的Hash函数进行检验阶段,第二个阶段是现有的细颗粒度数据完整性检测方法阶段。

Hash检验是数据完整性检验的重要手段之一。被用来进行数据完整性检验的Hash函数有SHA-256和MD5等函数。近年来对用Hash函数来进行数据完整性检测的研究仍然很多,与之相关的检测方法技术也在不断涌现,比如Komblum等人研究的针对取证的自动筛选技术_, Roussev等人提出的针对大数据的相似性衡量技术以及多分辨率相似性衡量等技术。

用Hash函数进行数据完整性检测主要有三种方式,比如对n个数据对象进行数据完整性检测,可以用以下三种方法。

方法1:用1个Hash监督n个数据对象;

方法2:用n个Hash分别监督n个数据对象;

方法3:用m个Hash监督n个数据对象(m

比较以上三个方法,从使用的Hash数目方面考虑,第一种方法使用的最少,方法次之,使用最多的是第二种方法U

近年来,研究者热衷于用细粒度完整性检验方法进行数据完整性检测,且研究的领域多集中于计算机取证和云存储领域。

细粒度数据完整性检测的思想是利用数据完整性指示码。数据完整性指示码主要目的和功能是减少数据完整性检测过程中使用的Hash的数目,研究者希望用更少的Hash数检测更多的数据对象。完整性指示码就是采用某种理论将多个数据对象排布在同一个空间中受到同一个Hash值的监控,同一个数据分组必须至少受控于两个不同的Hash数,所有的数据对象必须均匀受控于所有的Hash数。由此可见,细粒度数据完整性检测方法的实现主要是要构造完整性指示码,但是完整性指示码的构造方法复杂,不易实现。目前已研究的细粒度数据完整性检测方法主要针对单错和多错的数据完整性指示码。针对单错的情况,可以用超方体单错完整性指示码和组合单错完整性指示码。对于多错的情况,主要用复数旋转指示码以及有限射影完整性指示码_进行数据完整性检测。

1.4研究创新点

1.4.1独特方法论克难题

经过大胆的假设、小心的求证以及详细的测试,课题组采用了采取新型的数据迁移方法论,包括下述两点:一是“临时存储空间换大量实施时间”即采用应用模块化改造,借用新的物理表空间作为中转来减少实施窗口时间;二是“以安全线下时间换宝贵线上时间”即采用以线下时间(开发测试环境)换取线上数据加工提取的时间来减少实施窗口时间。

通过上述一个方法论的两种创新方法,实现了在无需中断业务运行的情况下,从海量数据中提取有用数据,既不损失数据质量又没有影响业务正常开展。

1.4.2在数据清理的过程中通过技术创新,保证数据的一致性

采用了“基于完整事务性的在线式数据迁移方法”【专利见附件】,根据数据优化的要求,在不限定时间的前提下,对新增数据进行读写分离,允许数据在新老数据表中保证一致性的前提下同时更新,适应不同的实施环节并可提供灵活性和扩展功能,有效实现数据在线迁移,适用于历史数据与新增数据的分离。

1.4.3通过实践了新型的数据优化的方法,同时更好的保证系统业务数据的容量可控

在数据日常维护中,通过实践了新型的数据优化的方法,同时更好的保证系统业务数据的容量可控【专利见附件】。独创性的采用“分区表、循环优化”的架构建设,建立了业务数据的自动清理机制,实现业务数据的在线自动清理,提高数据清理自动化程度及空间有效利用率。

1.4.4优化进程分配算法,提高数据迁移并发效率

利用“基于哈希算法的多进程数据迁移方法”【专利见附件】对海量数据进行分类并发多进程导入,可有效缩短数据迁移时间,适用于在线迁移或对于停机窗口有限的离线数据迁移。

1.4.5课题实施方案及技术具有极高的适用性和可推广性

海量数据迁移及常态化自动清理是各行业IT系统普遍面临的难题,本课题所采用的方法论和创新的技术对应用系统改动较少甚至不改动,也不依赖特定的应用系统和数据库产品,因此具有普遍的适用性和推广性。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181028G19VPC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券