法律状态公告日
法律状态信息
法律状态
2018-11-23
未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20170104 终止日期:20171129 申请日:20131129
专利权的终止
2017-01-04
授权
授权
2014-04-02
实质审查的生效 IPC(主分类):G06F17/30 申请日:20131129
实质审查的生效
2014-03-05
公开
公开
技术领域
本发明涉及的是一种用于电力信息系统的业务数据交换同步系统及方法,属于信息系统大数据整合技术领域。
背景技术
在现有技术中,用于数据交换同步的技术方案主要包括如下几种:
第一种是:中间库技术方案,如图1所示:它包括在一含有源数据的源系统中,通过数据提取通道、中间库数据提取接口、数据存储通道以及中间库,将源数据导入目标系统的目标数据库中;所述的中间库数据提取接口进行:1)进行数据的适时提取,2)进行数据的自动分析,3)进行数据的编辑接口,4)进行数据校验,5)进行数据存储;
上述中间库技术方案存在效率低下,数据实时性差等缺点,同时需要中间库增加硬件的投入。
第二种是:WebService接口方式,如图2所示,它是通过源系统提供的WebService对外服务接口进行访问,以XML格式异步从源系统中获取数据,并导入目标系统;它们两个系统之间的数据,是通过关键字段关联;
上述的源系统和目标系统的数据同步的频率可以按天、按小时、按周等不同周期设置;该方案异步XML格式,存在数据延迟情况,虽然是一种常用的方式,但是需要通过关键字段关联的方式实现数据统一;
第三种是:Oracle系统DB_link;
用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中可以创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据;该方式需要本地数据库建立能直接访问远程数据库相关表的用户权限,降低数据库安全性,同时Oracle数据库性能有一定的负面影响。
发明内容
本发明的目的在于克服现有技术存在的不足,而提出一种能够有效解决在电力系统数据库实际应用中遇到的异地不同构数据库数据统一联合展现到平台的问题,具有新颖、实用、可靠等特点的用于电力信息系统的业务数据交换同步系统及方法。
本发明的目的是通过如下技术方案来完成的,所述的用于电力信息系统的业务数据交换同步系统,它主要由源系统、应用服务器以及应用终端构成,所述的源系统包括:一 负责存放系统权限数据、基本配置数据、用户数据、业务数据、操作日志数据的主数据库,一由不同数据库、表结构相同的数据库服务器构成的异地同构服务器,一由不同数据库,表结构不相同的数据库服务器构成的异地不同构服务器,一能通过对方提供的接口进行访问或者操作该数据库的服务器构成的异地接口服务器;所述的应用服务器:用于系统发布,用户通过应用服务器提供的地址与端口进行操作,所有操作请求由应用服务器去连接源系统的数据库服务器。
本发明所述的应用服务器包括:一文件应用服务器,用于存放用户提交的文档文件或系统生成的文档文件;一短信应用服务器,用户请求应用服务器,对符合要求且验证成功的信息,且可通过短信应用服务器的短信发送接口对用户绑定的手机进行发送短信;一备份应用服务器,负责交叉备份主数据库、文件应用服务器、应用服务器的关键信息。
本发明所述的利用上述用于电力信息系统的业务数据交换同步系统进行业务数据交换同步的方法,该方法包括如下步骤:
a)主数据库设计,建立系统权限控制表、系统配置表、用户岗位表、业务模块表;
b)利用ECLIPSE搭建SSH(Struts,Spring Framework,Hibernate)框架,自定义proxool.xml文件,列出应用服务器需访问的各个数据库服务器的自定义唯一ID、地址、连接驱动、用户名、加密密码、SID、数据库的最大连接数,且可根据实际需连接的数据库服务器可配置多个;
c)在config目录下自定义appContext-hibernate.xml的文件中,用org.springframework.jdbc.datasource.DriverManagerDataSource配置proxool.xml各个数据库连接,用DynamicDataSource加载配置的连接,主数据库为默认连接;
d)在web.xml中配置appContext-hibernate.xml,并在程序运行时候,在一套代码中就能够用多线程技术,调用各个数据库;
e)登录:登录时设定采用主数据库的用户岗位表进行判断登录,密码采用密文传输,由服务端代码进行判断解析。
本发明在步骤a)中,所述的系统配置表配置每个模块需要连接的数据库、自定义唯一ID(与proxool.xml中的相同)、表名、表字段对应及转化(id xh,zymc mc,…….)等,由于各数据库表结构不相同,为实现灵活扩展,系统管理员无需改动代码就可以实现动态配置各模块需显示的字段;
本发明还包括:Seesion共享:由于在请求操作数据库用户数,存在不确定性,我 们在系统启动时,对需访问的数据库默认分配10个seesion,并且实现seesion的共享,这样有效解决众多用户同时连接时候连接数存在不足而无法连接的问题;
界面技术:通过ajax技术读取数据库返回的数据,对界面进行填充,有效的解决界面刷新延迟和卡顿的现象。
外表数据导入,实现EXCEL对应的sheet与列,在系统中的模块进行配置相应模板,在请求操作导入时匹配到对应模板进行完成对excel数据导入到系统中,包括营销系统导出的数据,同时对上传的文档在文件服务器进行备份处理,这样能大幅度减少用户数据录入的工作量,并且对导入的数据系统可以利用配置的公式进行状态监视,时间段内图表分析等;
短信发送:根据每个模块配置情况,对验证通过并且达到设置要求的,将通过短信服务器发送关键信息到用户手上。
本发明在步骤d)中所述的多线程有如下关键编程代码:
本发明采用该数据接入方式后,在地区电业局到各县局网络结构复杂、各县级供电局相关信息系统数据量大、数据结构复杂情况下,县级供电局供电营业所标准化综合查询系统数据实时响应性基本在0.1s-0.5s左右,相比其他方式数据接入和查询的速度有明显提升,同时数据准确率、可靠率也得到很大提高。
附图说明
图1是现有中间库数据提取接口方案的系统组成框图。
图2是现有WebService接口方式的系统组成框图。
图3是本发明所述业务数据交换同步系统的组成框图。
图4是本发明所述业务数据交换同步方法的步骤示意图。
具体实施方式
下面将结合附图及实施例对本发明做详细的介绍:图3所示,本发明所述的用于电力信息系统的业务数据交换同步系统,它主要由源系统、应用服务器以及应用终端构成,所述的源系统包括:一负责存放系统权限数据、基本配置数据、用户数据、业务数据、操作日志数据的主数据库,一由不同数据库、表结构相同的数据库服务器构成的异地同构服务器,一由不同数据库,表结构不相同的数据库服务器构成的异地不同构服务器,一能通过对方提供的接口进行访问或者操作该数据库的服务器构成的异地接口服务器;所述的应用服务器:用于系统发布,用户通过应用服务器提供的地址与端口进行操作,所有操作请求由应用服务器去连接源系统的数据库服务器或数据接口。
本发明所述的应用服务器包括:一文件应用服务器,用于存放用户提交的文档文件或系统生成的文档文件;一短信应用服务器,用户请求应用服务器,对符合要求且验证成功的信息,且可通过短信应用服务器的短信发送接口对用户绑定的手机进行发送短信;一备份应用服务器,负责交叉备份主数据库、文件应用服务器、应用服务器的关键信息。
本发明是在SSH(Struts,Spring Framework,Hibernate)框架基础上利用Spring的jdbc(org.springframework.jdbc.datasource.DriverManagerDataSource)连接,并且采用DynamicDataSource的多数据库加载形式进行实现。采用这种编程方法,开发人员能够根据不同数据库不同表,采用程序对数据进行逻辑运算和关联处理,达到不同数据 库的数据统一展现到一个平台上。
实施例:为了清楚地说明问题,本发明采用“县级供电局供电营业所标准化综合查询系统建设”的例子,加以说明。
1)主数据库:负责存放“县级供电局供电营业所标准化综合查询系统建设”系统的系统权限数据、基本配置数据、用户数据、业务数据、操作日志数据等,并且是应用服务器连接的默认数据库服务器;
2)异地同构服务器:不同数据库,表结构相同的数据库服务器称为异地同构服务器;
3)异地不同构服务器:不同数据库,表结构不相同的数据库服务器称为异地不同构服务器;
4)异地接口服务器:只能通过对方提供的接口进行访问或者操作该数据库的服务器称为异地接口服务器;
5)应用服务器:系统发布在应用服务器,用户通过应用服务器提供的地址与端口进行操作,所有操作请求由应用服务器去连接数据库服务器,这样做保证了各数据库的安全独立运行;
6)文件应用服务器:存放用户提交的文档文件或系统生成的文档文件,用户访问文档文件需经过应用服务器的验证成功后方可;
7)短信应用服务器:用户请求应用服务器,对符合要求且验证成功的信息,通过短信应用服务器的短信发送接口对用户绑定的手机进行发送短信;
8)备份应用服务器:负责交叉备份主数据库、文件应用服务器、应用服务器等关键信息。
本发明所述的利用上述用于电力信息系统的业务数据交换同步系统进行业务数据交换同步的方法,该方法包括如下步骤:
1)主数据库设计,建立系统权限控制表、系统配置表、用户岗位表、业务模块表等;
2)利用ECLIPSE搭建SSH(Struts,Spring Framework,Hibernate)框架,自定义proxool.xml文件,列出应用服务器需访问的各个数据库服务器的自定义唯一ID、地址、连接驱动、用户名、密码(加密)、SID、数据库的最大连接数等,根据实际需连接的数据库服务器可配置多个;
3)在config目录下自定义appContext-hibernate.xml的文件中,用 org.springframework.jdbc.datasource.DriverManagerDataSource配置proxool.xml各个数据库连接,用DynamicDataSource加载配置的连接,主数据库为默认连接;
4)在web.xml中配置appContext-hibernate.xml,这样在程序运行时候,在一套代码中就能够用用多线程技术,调用各个数据库;
5)登录:登录时默认采用主数据库的用户岗位表进行判断登录,密码采用密文传输,由服务端代码进行判断解析。
6)系统配置表配置每个模块需要连接的数据库、自定义唯一ID(与proxool.xml中的相同)、表名、表字段对应及转化(id xh,zymc mc,…….)等,由于各数据库表结构不相同,为实现灵活扩展,系统管理员无需改动代码就可以实现动态配置各模块需显示的字段。
7)多线程关键编程代码:
8)Seesion共享:由于在请求操作数据库用户数,存在不确定性,我们在系统启动时,对需访问的数据库默认分配10个seesion,并且实现seesion的共享,这样有效解决众多用户同时连接时候连接数存在不足而无法连接的问题;
9)界面技术:通过ajax技术读取数据库返回的数据,对界面进行填充,有效的解决界面刷新延迟和卡顿的现象;
10)外表数据导入,实现EXCEL对应的sheet与列,在系统中的模块进行配置相应模板,在请求操作导入时匹配到对应模板进行完成对excel数据导入到系统中(如营销系统导出的数据),同时对上传的文档在文件服务器进行备份处理,这样能大幅度减少用户数据录入的工作量;并且对导入的数据系统可以利用配置的公式进行状态监视,时间段内图表分析等;
短信发送:根据每个模块配置情况,对验证通过并且达到设置要求的,将通过短信服务器发送关键信息到用户手上。
本发明所述的图3、4中所示的全部技术内容均为本发明实施例的内容,特此说明。
机译: 它是一种协作信息系统,它使用车辆与监管中心之间的经济高频传输方法来生成信息业务信息
机译: 电子业务流量中的标准数据交换方法,用于执行相同内容的软件产品,用于执行相同内容的网络环境计算机以及用于执行相同内容的图形操作员图片
机译: 一种用于操作信息系统,特别是用于地下采矿的信息系统的方法以及用于该目的的设备,