admin 管理员组

文章数量: 1184232


2024年6月30日发(作者:html标签页)

(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号

CN 106708972 A

(43)申请公布日

2017.05.24

(21)申请号 2.0

(22)申请日 2016.12.06

(71)申请人 江苏电力信息技术有限公司

地址 210024 江苏省南京市鼓楼区广州路

189号民防大厦

申请人 国网江苏省电力公司

(72)发明人 王继业 祁建 胡扬波 王成现 

曹震 

(74)专利代理机构 南京汇盛专利商标事务所

(普通合伙) 32238

代理人 陈扬

(51).

G06F

17/30

(2006.01)

权利要求书1页 说明书3页 附图1页

(54)发明名称

一种基于HANA数据库利用SLT组件对ABAP程

序优化的方法

(57)摘要

本发明公开了一种基于HANA数据库利用SLT

组件对ABAP程序优化的方法,梳理需要优化的程

序,得到涉及数据获取的数据库表清单;上述数

据库表清单中对程序性能影响较大的做相应标

记,便于后续使用;在对源程序进行分析时,如果

涉及到非数据库SQL语句取数据的,则改造成使

用SQL语句进行取数;对梳理的数据库表清单,并

且标记为对程序性能影响较大的数据库表,在

SLT组件中进行配置,使数据表内容可以由SAP系

统通过SLT组件实时复制到HANA内存数据库中。

本发明通过SLT组件产品实现将SAP数据实时同

步到HANA系统,再利用HANA内存数据库实现SAP

程序性能优化,从而达到程序性能提高的目的。

C

N

1

0

6

7

0

8

9

7

2

A

CN 106708972 A

权 利 要 求 书

1/1页

1.一种基于HANA数据库利用SLT组件对ABAP程序优化的方法,其特征在于该方法包括

以下步骤:

1)梳理需要优化的程序,得到涉及数据获取的数据库表清单;

2)上述数据库表清单中对程序性能影响较大的做相应标记,便于后续使用;

3)在对源程序进行分析时,如果涉及到非数据库SQL语句取数据的,则改造成使用SQL

语句进行取数;

4)对梳理的数据库表清单,并且标记为对程序性能影响较大的数据库表,在SLT组件中

进行配置,使数据表内容可以由SAP系统通过SLT组件实时复制到HANA内存数据库中。

2.根据权利要求1所述的基于HANA数据库利用SLT组件对ABAP程序优化的方法,其特征

在于:步骤3)中,涉及到非数据库SQL语句取数据为标准函数,则分析标准函数的取数逻辑,

并且改造成使用SQL语句进行取数;借助于功能代码ST05,进行SQL跟踪,分析标准函数所涉

及数据库表。

3.根据权利要求1所述的基于HANA数据库利用SLT组件对ABAP程序优化的方法,其特征

在于:步骤4)中,具体如下:

(31)SAP系统提供RFC链接账号,并具有数据库操作和运行后台程序的权限;

(32)HANA内存数据库系统提供链接账号,并且具有数据库读写表、创建数据库表的权

限;

(33)SLT配置的源系统为SAP系统,链接方式为SAP RFC链接;

(34)SLT配置的目标系统为HANA内存数据库;链接方式为SAP DBCO;

(35)SLT配置的数据库表复制选项为实时复制;

(36)以上配置完成以后,当配置的数据库表数据在SAP系统发生变化的时候,数据经过

SLT组件实时同步进HANA内存数据库,SAP系统利用ABAP程序通过DBCO方式连接到HANA内存

数据库中获取数据,从而实现数据获取的效率提升。

4.根据权利要求3所述的基于HANA数据库利用SLT组件对ABAP程序优化的方法,其特征

在于:步骤(36)中,具体如下:

(41)SAP系统的数据变化实时传入到HANA内存数据库中;

(42)HANA内存数据库为SAP系统分配用户,权限则读取响应的数据表;

(43)SAP系统创建DBCO连接,目标为HANA内存数据库;

(44)在ABAP程序代码中,将数据获取的SQL语句添加CONNECTION关键字,变量为DBCO配

置的链接名;

(45)通过以上步骤,ABAP程序实现不进行系统升级的情况下,使用HANA内存数据库解

决程序性能慢的情况。

2

CN 106708972 A

说 明 书

1/3页

一种基于HANA数据库利用SLT组件对ABAP程序优化的方法

技术领域

[0001]

本发明涉及一种程序优化技术,具体地说是一种基于HANA数据库利用SLT组件对

ABAP程序优化的方法。

技术背景

[0002]

SAP系统:SAP公司研发的企业级ERP管理系统,包含人财物等多个模块。SAP公司:

德国一家软件公司名称,其开发的管理软件命名为SAP,广泛在世界范围内使用,其本身提

供基于ABAP语言的二次开发平台。SAP系统作为目前世界排名第一的ERP软件已被世界范围

的众多企业接受并推广使用。SAP平台为用户提供了强大的业务管理解决方案。多年来磁盘

数据库一直是SAP系统的底层数据平台。作为传统的磁盘数据库依赖硬盘实现数据存取,硬

盘、内存及CPU之间的数据传递导致数据访问、处理速度大大减慢。利用内存数据库能大大

提升I/O速度,从存取时间上看磁盘数据库能达到QUOTE 秒,而内存数据库能达到

QUOTE 秒。因此,基于内存数据库可以对传统SAP系统进行程序性能的优化。

[0003]

SAP公司已经发布了基于HANA内存数据库平台的S/4 HANA产品,其为将传统ERP功

能搭建在HANA内存数据库平台之上,从而实现对ERP整体性能的提升。然而对已经使用SAP

公司ECC系列的产品的企业来说,想轻松升级到S4 HANA并非易事,需要耗费大量的系统迁

移时间,以及人力和财力。

发明内容

[0004]

为了克服现有技术存在的问题,本发明的目的在于提供一种基于HANA数据库利用

SLT组件对ABAP程序优化的方法,该方法通过SLT组件产品实现将SAP数据实时同步到HANA

系统,再利用HANA内存数据库实现SAP程序性能优化,从而达到程序性能提高的目的。主要

包括SLT组件产品的应用;HANA内存数据库的应用;以及SAP中使用ABAP语言通过DBCO方式

读取HANA内存数据库的方法。

[0005]

本发明的目的通过以下技术方案实现:

一种基于HANA数据库利用SLT组件对ABAP程序优化的方法,其特征在于该方法包括以

下步骤:

1)梳理需要优化的程序,得到涉及数据获取的数据库表清单;

2)上述数据库表清单中对程序性能影响较大的做相应标记,便于后续使用;

3)在对源程序进行分析时,如果涉及到非数据库SQL语句取数据的,则改造成使用SQL

语句进行取数;

4)对梳理的数据库表清单,并且标记为对程序性能影响较大的数据库表,在SLT组件中

进行配置,使数据表内容可以由SAP系统通过SLT组件实时复制到HANA内存数据库中。

[0006]

本发明步骤3)中,涉及到非数据库SQL语句取数据为标准函数,则分析标准函数的

取数逻辑,并且改造成使用SQL语句进行取数;借助于功能代码ST05,进行SQL跟踪,分析标

准函数所涉及数据库表。

3

CN 106708972 A

[0007]

说 明 书

2/3页

步骤4)中,具体如下:

(31)SAP系统提供RFC链接账号,并具有数据库操作和运行后台程序的权限;

(32)HANA内存数据库系统提供链接账号,并且具有数据库读写表、创建数据库表的权

限;

(33)SLT配置的源系统为SAP系统,链接方式为SAP RFC链接;

(34)SLT配置的目标系统为HANA内存数据库;链接方式为SAP DBCO;

(35)SLT配置的数据库表复制选项为实时复制。

[0008]

(36)以上配置完成以后,当配置的数据库表数据在SAP系统发生变化的时候,数据

经过SLT组件实时同步进HANA内存数据库,SAP系统利用ABAP程序通过DBCO方式连接到HANA

内存数据库中获取数据,从而实现数据获取的效率提升。

[0009]

上述步骤(36)中,具体如下:

(41)SAP系统的数据变化实时传入到HANA内存数据库中;

(42)HANA内存数据库为SAP系统分配用户,权限则读取响应的数据表;

(43)SAP系统创建DBCO连接,目标为HANA内存数据库;

(44)在ABAP程序代码中,将数据获取的SQL语句添加CONNECTION关键字,变量为DBCO配

置的链接名;

(45)通过以上步骤,ABAP程序实现不进行系统升级的情况下,使用HANA内存数据库解

决程序性能慢的情况。

[0010]

ABAP:是一种解释型开发语言,只能运行于SAP平台之上。HANA:SAP公司研发的内

存数据库平台,其为兼容列式存储和行式存储多种存储方式。SLT(SAP LT Replication

Server)组件:SAP公司提供的基于数据库触发器的一种数据传输平台。DBCO:SAP链接数据

库的一种方式,支持目前市场上主流的多种数据库产品。ST05:SAP系统一种功能代码,只要

在命令框输入此代码即可执行对应的程序。RFC链接:SAP系统S/4 HANA:SAP公司新的ERP产

品,其搭建于HANA内存数据库之上,运行速度快,系统架构简单。

[0011]

本发明在ABAP程序中,将数据获取的SQL语句,从SAP系统数据库服务器的透明表

中,转移到HANA内存数据库中执行,使得数据检索变得更加快速,从而实现对SAP程序性能

的优化作用,同时因需要保证内存数据库平台与SAP系统本身数据的一致性,需要引入数据

实时同步产品组件SLT(SAP LT Replication Server),在SAP系统和HANA内存数据库系统

间进行实时的数据同步。

[0012]

本发明的有益的效果如下:

通过本发明,利用SLT组件产品可以实现SAP系统数据实时同步到HANA内存数据库中,

达到分析数据库(HANA内存数据库)、业务数据库(SAP传统数据库)两个数据库系统数据实

时同步的目的,避免数据延迟。

[0013]

通过本发明提出的DBCO技术,实现ABAP程序读取HANA数据库的方法。

[0014]

通过内存数据库的数据检索效率,从而达到在SAP中利用ABAP语言通过DBCO技术

实现对SAP本身程序性能提升的效果。

附图说明

[0015]

图1是本发明涉及的系统之间的关系图。

4

CN 106708972 A

说 明 书

3/3页

具体实施方式

[0016]

图1是本发明涉及的系统之间的关系图。其中:SAP系统与SLT复制服务器的链接方

式为RFC方式;SLT复制服务器与HANA内存数据库之间的链接方式为DBCO方式;SAP系统与

HANA内存数据库之间的链接方式为DBCO方式。一种基于HANA数据库利用SLT组件对ABAP程

序优化的方法,具体如下:

1)梳理需要优化的程序,得到涉及数据获取的数据库表清单;

2)上述数据库表清单中对程序性能影响较大的做相应标记,便于后续使用;

3)在对源程序进行分析时,如果涉及到非数据库SQL语句取数据的,如标准函数,这时

需要分析标准函数的取数逻辑,并且改造成使用SQL语句进行取数。

[0017]

可以借助于功能代码ST05,进行SQL跟踪,分析标准函数所涉及数据库表;

4)对梳理的数据库表清单,并且标记为对程序性能影响较大的数据库表,在SLT组件中

进行配置,使数据表内容可以由SAP系统通过SLT组件实时复制到HANA内存数据库中。具体

如下:

SLT为SAP公司的成熟产品组件,其具体操作及实现方式不在本发明中叙述;

SAP系统提供RFC链接账号,并具有数据库操作和运行后台程序的权限;

HANA内存数据库系统提供链接账号,并且具有数据库读写表、创建数据库表的权限。

[0018]

SLT配置的源系统为SAP系统,链接方式为SAP RFC链接;

SLT配置的目标系统为HANA内存数据库;链接方式为SAP DBCO;

SLT配置的数据库表复制选项为实时复制。

[0019]

在以上配置完成以后,当配置的数据库表数据在SAP系统发生变化的时候,数据会

经过SLT组件实时同步进HANA内存数据库,SAP系统可以利用ABAP程序通过DBCO方式连接到

HANA内存数据库中获取数据,从而实现数据获取的效率提升。具体如下:

SAP系统的数据变化实时传入到HANA内存数据库中;

HANA内存数据库需为SAP系统分配用户,权限需要读取响应的数据表;

SAP系统需创建DBCO连接,目标为HANA内存数据库;

在ABAP程序代码中,将数据获取的SQL语句添加CONNECTION关键字,变量为DBCO配置的

链接名,以下代码中的例子为“AB1”

SELECT * FROM sflight CONNECTION ('AB1')

INTO TABLE lt_sflight

WHERE carrid = 'LH'.

通过以上步骤,ABAP程序可以实现不进行系统升级的情况下,使用HANA内存数据库解

决程序性能慢的情况。

5

CN 106708972 A

说 明 书 附 图

1/1页

图1

6


本文标签: 数据库 系统 数据 内存