首页 JAVA技术在互联网实时接口系统中的应用

JAVA技术在互联网实时接口系统中的应用

举报
开通vip

JAVA技术在互联网实时接口系统中的应用JAVA技术在互联网实时接口系统中的应用 作 者:盐城电信分公司增值业务部谷远虎 摘 要: 目前我市电信九七系统采用的是SYBASE数据库~对跨平台应用不多~且都是请厂家设计。随着Internet技术的飞速发展~跨平台应用的需求也不断增多~寻找一种理想的跨平台应用方案是我们初涉此领域的迫切需要。我想到JAVA技术在数据通信领域的强大应用~选择JAVA开发跨平台应用应是一个较好的方案。因“九七”系统采用的是SYBASE数据库~所以本文主要讨论JAVA与SYBASE数据库的连接及应用。,该工作主要完成于2004....

JAVA技术在互联网实时接口系统中的应用
JAVA技术在互联网实时接口系统中的应用 作 者:盐城电信分公司增值业务部谷远虎 摘 要: 目前我市电信九七系统采用的是SYBASE数据库~对跨平台应用不多~且都是请厂家设计。随着Internet技术的飞速发展~跨平台应用的需求也不断增多~寻找一种理想的跨平台应用 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 是我们初涉此领域的迫切需要。我想到JAVA技术在数据通信领域的强大应用~选择JAVA开发跨平台应用应是一个较好的方案。因“九七”系统采用的是SYBASE数据库~所以本文主要讨论JAVA与SYBASE数据库的连接及应用。,该工作主要完成于2004.05-2005.03, 关键词:JAVA技术 SYBASE数据库 实时接口 互联网 正 文: 一、引言 根据全省“宽带畅通工程”总体安排和要求~为进一步优化宽带装机流程~缩短装机时限~提高客户服务质量~省公司决定在全省范围内实现宽带帐号的实时开/销户和停/复机。省公司负责在全省互联网集中综合计费和业务管理系统上提供实时处理接口~市分公司负责组织对营业系统,九七系统,进行改造~ 增加宽带帐号实时开户、暂停和恢复功能。省公司在DCN网上建立实时接口服务器~运行接口程序,SOCKET SERVER,~机器地址为132.229.40.56~测试端口为8004~正式端口为2004~并通过DCN 网与各地营业系统实现互联~市分公司开发相应接口程序,SOCKET CLIENT,~读取前台受理的宽带用户帐号及其他信息~通过接口向省互联网集中综合计费和业务管理系统进行开/销户等工作~市分公司在开发接口程序时~要充分考虑程序的容错性~避免因接口程序异常影响营业受理工作~同时~提供帐号开户等处理未成功的查询界面~并每天检查开户情况~防止出现帐号漏开现象。我们称这个系统为互联网实时接口系统。这是一个跨平台的应用~JAVA在这方面有着强大的应用。Java有两方面的含义:Java语言、Java平台~作为一种语言~Java是一种跨平台开发语言~能开发出跨平台的应用对象和应用程序~Java语言具有以下特点:简单、面向对象、分布式、解释执行、安全、跨平台、高性能、多线程等特点。 鉴于以上分析~我想选择JAVA来开发互联网实时接口系统。 二、系统的关键技术及流程 九七营业受理 实时系统检查及再处理 是 开始 访问数据库 提取整理数据 是否有待处理工单 否 SOCKET CLIENT 间隔1小时对出等待一段时间(约1分钟) 异常处理 错工单再处理 否 是 回写处理结果 是否有大量工单 退出 图1 本系统主要的关键技术有:1、用JAVA实现对数据库的访问~2、与省平台的通信,SOCKET CLIENT,~3、实时性的要求~4、程序连续稳定工作的要求。设计流程图见图1。 三、系统的功能 本系统主要实现互联网帐号的自动实时开/销户和停/复机~加强互联网业务管理~提高服务质量。以前都是采用人工开帐号~没有对停/复机或欠费停复机作出反应或快速反应~没有很好地实现新业务,如互联星空、邮箱等,的捆绑~对资料管理松懈~不能对用户的业务变更作出快速反应~造成大量无用资料和无档户。通过这个系统~互联网业务可以象固定电话的交换接口一样快速自动处理数据。 四、系统的实现 1、搭建JAVA运行环境和SYBASE客户端 我安装的JAVA是J2EESDK_1.4~SYBASE客户端是SYBASE Client12.5 版本~并设置了环境变量~注意:我起初不知道要设置环境变量~以为系统 安装的时候已自动设置好了~在程序编译的时候发现明明装好了的类库找不 到~走了一点弯路。 2、 JAVA与SYBASE的连接 JAVA与SYBASE的连接是我在设计阶段想到的最为关键的技术问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。 是否能很好的实现JAVA与SYBASE数据库的连接~是我决定是否用JAVA 编程的关键。在访问了JAVA公司网站和大量的介绍“J道”的网站~未能发现JAVA与SYBASE能成功连接的现成例子。网上有大量的有关JAVA与ORACLE以及SQL2000的连接例子~在网上留言请教、参照相关的网上例子、多次试验后~终于成功连上了SYBASE。关键技术的突破~使我增强了用JAVA编程的信心。 3、 服务器端连接 与服务器端连接主要分三步:客户端与服务器通信、向服务端发送数据、从服务端接收数据。本项主要注意:通信、发送和接收的报错功能~接收到的数据要去空格,trim,。程序中应该采用字符流来处理发送和接收~具体来说~应该用面向字符型节点流类型:DataInputStream~DataOutputStream。 4、 JAVA与SYBASE的中文问题 对于几乎所有数据库的JDBC驱动程序~默认的在JAVA程序和数据库之间传递数据都是以ISO-8859-1为默认编码格式的~所以~我们的程序在向数据库存储包含中文的数据时~JDBC首先是把程序内部的UNICODE编码格式的数据转化为ISO-8859-1的格式~然后传递到数据库中~在数据库 JDBC在这里将UNICODE如果没有设置数据库默认格 的字符转化为ISO-8859-1式,数据库在这里将接收到的 格式并在网络上传输 字符串以ISO-8859-1格式存储 起来 JAVA程序输出的 UNICODE的字符JDBC连接器 SYBASE数据库 串向数据库存储 反之读数据亦然 反之读数据亦然 图2 保存数据时~它默认即以ISO-8859-1保存~读出过程与之相对应。所以~这是为什么我们常常看到在数据库中读出的中文数据是乱码。对于JAVA程序与数据库之间的数据传递~可以用图2清晰地 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示出来。 本人在从数据库读数据的时候发现中文不能正常读出。中文问题是JAVA与SYBASE之间用的默认字符编码,charset,不一致~根据JAVA版本和SYBASE版本不同~设置不同~本程序用“charset=eucgb”。 5、 JAVA的日期问题 由于对实时接口的实时性要求较高~所以对时间的计算显得较重要。JAVA中的日期 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数是数值型的~记录的是毫秒~所以计算时差是很方便的~JAVA也提供了很多类型的日期转换格式。Java日期是用1970年1月1日起的毫秒的数量表示日期~Java的Date类使用long类型纪录这些毫秒值.因为long是有符号整数~所以日期可以在1970年1月1日之前~也可以在这之后。Long类型表示的最大正值和最大负值可以轻松的表示290~000~000年的时间~这适合大多数人的时间要求。 6、 数据整合 JAVA客户端与服务器的通信采用数据包的形式~所以要对SYBASE中的数据进行“整合”~我在数据整合过程中发现一些问题~下面是我对一些 问题的个人见解:对取出来的字符串数据要去空格,trim,~去空格前要判断数据不能为空。从我对变量的理解~我认为对字符串比较相等~不能用“==”~而要用“equals”~我认为JAVA对字符串的“空值”分三种:1、定义----不分配具体位置~不可用~如果直接用则编译时出错~提示未初始化过,2、“null”值~分配了具体位置~没有具体赋值~相当于没有格式化~不知道格式~就更不知道“内容”了~可用“==null”判断。3、分配了具体位置~也“格式化”过了~但是值没有赋或者说成是赋的是空值,没有内容,~可用“equals("")”判断。加上未定义和已赋值两种情况~字符串变量共有五种状态。 7、 主循环 因这个互联网实时接口~需要在线不间断运行~所以要设立一个合理的主循环~因白天和夜间的业务量不同且及时性要求也不同~所以主循环要有一定的智能化时间间隔~白天要突出“实时性”~每次循环间隔时间要短~夜间可减少机器负荷和对数据库的访问~循环间隔时间应长一些。主循环的间隔时间可由主程序运行时带的参数确定。 8、 进程和线程 利用对象~可将一个程序分割成相互独立的区域。我们通常也需要将一个程序转换成多个独立运行的子任务。象这样的每个子任务都叫作一个“线程”,Thread,。编写程序时~可将每个线程都想象成独立运行~而且都有自己的专用CPU。一些基础机制实际会为我们自动分割CPU的时间。我们通常不必关心这些细节问题。“进程”是指一种“自包容”的运行程序~有自己的 地址空间, 一个进程可能容纳了多个同时执行的线程。本程序目前只用了一个线程~如果数据源从不同的地方收集,如网上营业厅,~用多线程将是一个好的方案~本程序考虑了这方面的需求。 9、 “异常”处理 Java的“异常”处理是通过5个关键词来实现的:try~catch~throw~throws和finally。用try来执行一段程序~如果出现“异常”~系统会抛出一个“异常”~可以通过它的类型来捕捉。本程序需要不间断运行~所以对异常处理要在主循环内~不能被“抛出”到主循环外~同时要记录下出错的信息~并置出错的工单重做一次~如再报错~则置“需人工检查”标志。关键点:程序异常不能终止程序运行。 10、 可扩展性 因实时接口的内容不断增加~该程序需要有很强的可扩展性~业务从最初的ADSL和LAN到互联星空、新视通的业务增加~操作类型从开/销户、暂停/恢复到信息修改、信息查询等。下面就要扩展普通Email、WLAN等。 11、自动化程度高 本程序对服务器端返回的结果处理得较详细~对失败工单根据返回结果选择不同的方式对工单重新处理~并置相应的标志。如对“互联星空业务”开户失败的~我进行了多达6次的尝试。根据一周实时接口质量统计分析~共有工单:2097张~一次成功1618张~共发送接口次数3455次~最后成功2093张。一次成功率77.2%~每百张工单发送实时接口数165次~总成功率 达99.8%~成功率提高了22.6%~用2097/3455=60.7%的效率提高了22.6个百分点的成功率~还是比较值得的。 12、程序的容错性 我在开发接口程序时~充分考虑程序的容错性~ 避免因接口程序异常影响营业受理工作~同时~提供帐号开户等未成功的查询界面~并要求相关人员每天检查实时接口情况~防止出现帐号漏开现象。对出错工单采取二次处理~防止由于通信故障等而没有处理好。 13、九七营业受理系统 九七营业受理关于互联网的业务,包含装、拆、暂停、恢复、欠费停复机、附属新业务等,~都对实时接口表进行操作~接口程序采取轮询数据库的方式访问实时接口表~并对实时接口表置相应处理标志和处理结果。 14、实时系统的检查和再处理 根据省公司的要求~我们要对实时接口的处理结果作检查。程序提供对出错工单的检查和再处理功能 ~并提供统计功能。再处理功能包含人工处理和修改某些数据后再由程序处理等功能。 15、辅助功能 程序提供批量数据操作~采用将需要处理的数据导入到接口表中~然后由接口程序一一处理。程序先后实现了用户批量开互联星空业务~ADSL日常带宽由512K调到1M~销户一些不用的宽带帐号、宽带设备端口割接等~实现了对资料的有效管理。 五、结束语 以上介绍了本实时接口系统~它的特点是实时性强~智能化高~能够及时地、正确地处理实时接口数据。一般轮询数据库的间隔时间为1分钟~可以在运行程序时带入时间间隔参数~白天和夜间的间隔时间不等~夜间延长间隔时间~减少数据库的访问~如果有大量工单待处理~则间隔时间为0~实现了较高的智能化。以前一般需要一天到两天时间才能完成宽带的人工开户~现在只需要几分钟~很大程度上提高了宽带开户的及时性、准确性。并且实现了实时停复机,包括欠费停复机,和销户功能。具有了和固定电话交换接口相当的功能。具有较好的容错能力~如果遇到数据或程序异常~则一方面报错~一方面继续重试一遍~重试不成功~则给该工单做上异常标志~由后台人员检查~继续执行下面的工单。如果发生通信异常~则一方面报错~一方面尝试通信连接~如果成功~则继续执行。 本人在编程中积累了一些小经验:1、阅读代码的时间比写代码的时间多得多。思路清晰的设计可获得易于理解的程序~但注释、细致的解释以及一些示例往往具有不可估量的价值。无论对我自己~还是对后来的人~它们都是相当重要的。2、如认为自己已进行了良好的分析、设计或者实施~那么请稍微更换一下思维角度。邀请他人看看~往往能在最适合修改的阶段找出一些关键性的问题。3、良好的设计能带来最大的回报。简言之~对于一个特定的问题~通常会花较长的时间才能找到一种最恰当的解决方案。但一旦找到了正确的方法~以后的工作就轻松多了。而且由于自己倾注了大量心血~最终获得一个出色的 设计方案~成功的快感也是令人心动的。坚持抵制草草完工的诱惑--那样做往往得不偿失。 参考文献: 廖卫东,等编著(Java程序设计实用指南(北京:机械工业出版社~1996;(10) [美]Donald J.Koosis&David Koosis著(学用Java编程(北京:电子工业出版社~1998;(6)
本文档为【JAVA技术在互联网实时接口系统中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:22KB
软件:Word
页数:8
分类:互联网
上传时间:2017-09-27
浏览量:17