AS400处理数据高效率的几个原因总结
AS400传统写法比开放平台数据库执行SQL效率高的几个原因,我想了一下,看看对不对。1,没有sql语句的解析处理,直接操作文件指针,也不需要统计更新,不会系统自己选错索引。2,访问时直接定位文件指针位置,然后READ,READP,按记录前后读,无需像sql这样事先准备结果集(结果集是最消耗的因素)。3,PF是定长记录,可以通过RRN直接定位,这在通过LF读PF记录时有优势,而oracle索引是记
十进制浮点数的表示方法
使用十进制浮点数,可以避免二进制浮点数与我们习惯的十进制数之间的表示误差.这个在金融领域是非常重要的.但是计算机基本都只能对二进制浮点数进行计算,也就是IEEE754格式表示的浮点数.很多程序都会自己模拟十进制浮点数的计算.为了统一,IEEE754做了扩展,包括了十进制的浮点数.IEEE 754-2008里面规定了十进制浮点数的一些规范.不过里面没有说具体的二进制表示方法.只是规定了32位,64位
银行核心系统项目过程步骤
1,系统总体架构 1.1,外部整体架构(整体边界原则) 1.2,物理部署架构 1.3,内部层次架构 1.4,专题讨论2,需求分析 &n...
银行核心系统24小时机制实现总结
在核心系统的设计实现中,24小时机制向来是一个重点难点。早期的银行只有柜面一个业务办理渠道,因此当时的综合业务系统,跟随网点的营业时间,分为日起,营业,日结,日终批量这几个阶段。所有网点日结后,才开始日终批量,这时是不办理联机业务的。随着科技发展,...
银行核心系统分表分区和批处理性能优化
分表与分区的选择: 分表是表名不同,表结构一致,由应用程序自行实现访问的封装。 分区是在同一个表内,由数据库实现记录存储的分片,对应用程序透明。此时索引可选择是分区索引还是全局索...
目前使用AS400核心系统的银行列表
股份制:招行,中信。城商:北京银行,宁波银行,汉口银行,青岛商行,赣州商行,锦州银行。农信:北京,天津,黑龙江,吉林,内蒙古,河北,山西,甘肃,浙江,安徽,江西,福建,深圳,东莞,顺德。
AIX环境informix的esql与xlc混合编译对齐问题
最近在AIX环境下,使用esql编译ec/ecpp形成的.o和xlc/xlC编译普通c/cpp形成的.o进行连接,运行时发现不同.o调用传递struct结构参数访问会有错位。排除了程序本身的原因,最后发现是AIX下esql和xlc编译时默认结构对齐编译参数设置是不同的。esql编译时,可以用esql -v查看,发现-qalign=nature,而根据xlc帮助,默...
AIX下C/C++函数性能统计实现方法--改进版
上一篇实现,是统计了每一次函数调用的层次关系和耗时。如果在函数调用比较多的情况下,更关心的是减少输出,只需要总计的耗时即可。另外如果是后台程序,输出到文件会更好。因此,对程序做了改进。当设置TRACELOG环境变量,则输出到这个环境变量指定的文件中。如果设置了DETAILF,则会输出调用层次关系和每一次的耗...
各省农信核心系统实施厂商及系统平台
北京 神码 System i上海 神码->FNS System p重庆 神码 System i -> System p宁夏 神码->东华 System p天津 &nb...
动态连接库实现运行时版本更新
示例程序整体结构如下。 源程序:ps.c,cm.c,ps_tran.c,cm_tran.c(以上分版本1,版本2),main.c,makefile,aix,makefile.linux。 目标程序:libps.so,libcm.so,libps_tran.so,libcm_tran.so(以上分版本1,版本2),main。 &n...
AIX下C/C++函数性能统计实现方法
在AIX中,xlc编译器有个选项-qfunctrace,使用此选项编译的程序,自动会在每个函数的入口出口处调用以下自定义函数。extern "C" void__func_trace_enter(const char * const proc_name, const c...
unix平台动态连接库的版本管理
世界上唯一不变的是变化,对于动态连接库更是如此。动态库天生为方便程序的更新而设计,只需要替代库文件,无需重新编译主程序,即可运行更新后的版本。另外,动态库是多应用共享的,多个程序使用同一个库,那么库只会加载一份。 但是,现实往往不这么简单。既然动态库...
各unix平台动态连接库的编译与使用
unix平台下,动态连接库的使用有两种方式,link方式和dlopen方式。需要设置LD_LIBRARY_PATH作为查找路径(低版本AIX使用LIBPATH)。link方式是程序启动时加载所有编译时连接的动态库,直到程序结束也不会关闭。dlopen方式是在运行中按照参数指定的方式加载动态库,并可以使用dlclose函数关闭,直到下次再使用dlopen重新加...
各省市城市商业银行名单
根据银监会网站信息,列出各省的城商行清单如下。(不包括13家全国股份制商行,例如浙商银行,平安银行,渤海银行,恒丰银行)上海:上海银行福建:厦门银行,厦门国际银行,福建海峡银行,泉州银行浙江:宁波银行,宁波东海银行,宁波通商银行,杭州银行,温州银行,嘉兴银行,湖州银行,绍兴银行,金华银行,浙江稠...
AIX的xlc编译参数设置局部变量初始化
在C/C++程序中,全局和静态变量,编译器会默认初始化为0。而局部变量是没有默认值的,分配到的内存空间保留原有无意义的值。在很多老旧代码中,初始化和使用都不规范,导致非常容易出现异常情况。为了降低异常的概率,通过xlc的编译参数,可以让局部变量也进行默认值初始化动作。参考xlc的帮助:&nbs...
informix的esql编译参数避免//注释引起的SQL中断问题
在EXEC SQL中,如果SQL语句出现了“//”符号,那么会导致后面一直到“;”结尾的SQL语句都被忽略,而不止当前行。这样往往会出乎程序员的意料。例如以下例子程序t1.ec。int main(){ EXEC SQL UPDATE vyktd ...
AS400银行核心系统开发中的技术总结--操作系统版本7.3补充
操作系统V7R3的主要变化: 7.3 CL语言 没有新增的内容。 C/C++语言 新增了对C++11标准的支持。通过LANGLVL(*EXTENDED0X)可以开放使用。 RPG语言 增加了完全自由格式的写法。第一行**FREE表示整个文件...
AS400银行核心系统开发中的技术总结--交易和组件写法
*交易和组件写法Firebird核心系统的整体结构,是由主控--交易--组件这几个层次组成的。联机交易主控由C程序编写,异步交易主控和日终批量主控由CL和RPGLE程序编写。主控通过交易码调用相应的交易RPGLE程序,交易程序又通过CALLP调用不同模块的组件RPGLE程序,完成整个处理逻辑。交易程序和组件程序都总结了一套模...
AS400银行核心系统开发中的技术总结--面向对象实现
*面向对象实现运行中目标解析,模拟覆盖方法在核心系统这样大型的软件系统设计中,面向对象的设计方法,有助于分解复杂度,既保持抽象统一,又有灵活性。这里说的面向对象设计方法,不是指使用面向对象的编程语言就可以,而是指设计系统的思想。系统架构不进化,即使用Java这样的面向对象编程语言,也一...
AS400银行核心系统开发中的技术总结--异常处理
*异常处理在核心系统开发和运行中,异常处理是特别重要的一环。异常的规划,对于系统的表现能力和查错能力有着巨大的作用,仔细的设计是十分值得的。之前的报文格式中,提到Firebird的返回码,是10位STRING。如果交易正常,返回码为'OK',如果出错,则为错误代码。如果为AS400系统级错误,则为F+系统错误代码,...