马妍
国网沧州供电公司
ERP系统历史数据归档方案研究
马妍
国网沧州供电公司
本文介绍了某省公司ERP系统现状,开展ERP系统历史数据归档工作,制立完善标准,形成常态机制,降低生产系统数据量,提升系统整体性能,确保系统安全稳定运行。
ERP系统;数据归档
某省公司ERP系统上线以来,数据日益递增,历史数据积压过多,造成系统性能下降,数据库备份恢复时间过长,存储资源浪费。ERP系统数据归档就是以上几个方面的平衡点,开展ERP系统历史数据归档工作并实现常态化,已成为提高系统运行可靠性的必然要求。
ERP系统包括人资模块、财务模块、物资模块、项目模块与设备模块五个业务模块,以及BC模块(系统管理)。基于某省公司ERP系统现状,物资模块与BC模块数据量最大,其次是财务模块,人资模块数据量较小,项目模块与设备模块数据量最小,且在数据查询及变更方面无统一标准,因此项目模块与设备模块不建议归档。
2.1归档技术选型
ERP系统归档采用SAP原厂提供的SAP Data Archiving。
SAP Data Archiving的核心技术是ArchiveLink和Archive Development Kit(ADK)。ArchiveLink是SAP系统归档的重要组成部件,主要功能是对SAP系统数据进行存储以及获取系统外部的数据并为文档提供接口,是集成在SAP应用服务器中的用于关联业务对象数据和相关存储在外部存储介质中的归档文件的接口。ArchiveLink包括一系列数据接口和SAP数据库中的引用表,这个引用表描述了业务对象和与之相关联的归档文件的关系,并指向归档文件的存储位置等信息。
ADK是SAP归档开发功能包,是数据归档解决方案的重要工具集合,负责控制和管理归档会话以及保证数据长久有效的保存,SAP系统通过ADK接口提供结构化数据的归档功能。ADK接口对用户开放,为用户定制结构化归档数据报告和自定义表和程序提供了归档解决方案。
SAP ArchiveLink用于监视和控制ADK在内部存储中创建归档文件。虽然ADK和ArchiveLink都可以在文件系统中存放和读取归档数据,但对于ArchiveLink来说,ADK是一个把结构化数据转化为外部文件的应用程序,对于ADK来说,ArchiveLink是用来最终存储ADK归档文件的手段。
2.2数据存储选择
归档数据的存储介质可以是磁带、磁盘、光盘,存储介质的选择和项目的实施目标以及业务部门的实际需求相关,可以选择其中一种做为存储介质,也可以通过存储系统将多种介质组合使用。
2.3数据归档策略
在业务和技术方面建立整体的归档概念,在此基础上建立一个周期性的归档计划和执行策略。归档计划实施前要充分调研,明确用户对查询功能的需求,对标准程序和自开发程序要提前确定增强方案和归档文件的访问方案;同时要计算并评估出归档数据的存储空间大小。
2.4接口及报表调整
2.4.1程序分析:(1)按模块导出所有程序清单。(2)关键用户从清单中将选择需要使用的程序。(3)业务顾问配合关键用户根据业务分析程序是否需要读取归档数据。(4)代码层面上分析程序是否会读取归档数据。(5)测试并最后确定受影响的程序。
2.4.2程序修改
(1)非归档数据查询
仅用于非归档数据查询的报表,采用原报表程序生成,无需进行程序修改。
(2)归档数据查询
对于涉及归档数据查询的报表,建议对原报表程序进行修改,在程序内增加条件判断:①如查询条件不在归档范围内,则沿用原报表程序生成报表;②如查询条件涉及部分归档数据,则分别对生产环境和归档文件进行查询:对归档范围内的数据依据查询条件从归档文件中读取至归档数据表(内表),并将SQL FROM语句改为从内表中读取;对未归档的数据采用原报表程序直接查询。最后将两部分数据合并后生成报表。
归档数据读取具体修改办法有如下三种:①从归档索引表读取。在程序中取数逻辑部分,当选择条件字段和获取数据的字段均能从归档对象对应的索引表获取时,可以改为从归档索引表中获取已归档的数据,未归档数据按照原逻辑选取。②根据索引表从归档文件中读取数据。在程序中取数逻辑部分,当选择条件字段和获取数据的字段不完全能从归档对象对应的索引表中获取时,此时需要从归档文件中获取已归档的数据,而未归档数据按照原逻辑选取。③直接从归档文件中读取数据至内表。归档后,修改程序取数逻辑部分时,首先调用相关函数读取出归档对象文件的所有记录存放于内表中,然后跟原报表要求的逻辑对内表中的数据进行处理。
2.4.3接口调整
目前ERP系统大部分对外接口仅提供实时数据,并不涉及历史数据。小部分对外接口,暂定义为XX系统接口等,需要抽取ERP系统目标数据表全量数据的,建议对该业务数据不做归档。如对有历史数据抽取需求的数据表进行了历史数据归档,可能导致接口无法取到已归档部分的数据信息。
2.4.4归档数据筛选与修改
被归档的数据需确认属于一个完成的流程或业务模块,如归档对象部分数据仍被当前的流程所需(未完结数据),就需要将该部分数据筛选取出。
操作风险。ERP系统历史数据归档操作过程中,存在由于误操作造成数据丢失、数据库服务异常等风险,应采取操作前检查备份、操作中监督监控、操作后一一验证的方式,降低人为操作风险。
应急预案。应编制相应的应急处置方案,明确应急处置流程,并成立应急处置专项小组,落实相关组织领导及技术人员,保证风险情况发生时,能够快速响应,开展应急抢修,最大程度降低风险影响范围、缩短故障恢复时间。
通过分析某省公司ERP系统现状,充分利用现有资源,考虑业务管理需求、数据库性能、存储空间大小、数据增长速度等因素,采用先进的技术和工具,制定符合业务需求的历史数据归档方案,确保现有系统业务数据的完整性、准确性、延续性。
[1]丁勇.数据归档在ERP系统中的应用[J].网管员世界,2010(10)
[2]云霄.基于ERP系统结构化数据归档技术方案研究[J].北京档案科技信息,2014(7)