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
版权声明:本文标题:一种基于HANA数据库利用SLT组件对ABAP程序优化的方法[发明专利]_ 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1719737604a738713.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论