CN109033474A - 一种扩展Webservice接口调用的方法、装置及受控终端 - Google Patents
一种扩展Webservice接口调用的方法、装置及受控终端 Download PDFInfo
- Publication number
- CN109033474A CN109033474A CN201811042349.6A CN201811042349A CN109033474A CN 109033474 A CN109033474 A CN 109033474A CN 201811042349 A CN201811042349 A CN 201811042349A CN 109033474 A CN109033474 A CN 109033474A
- Authority
- CN
- China
- Prior art keywords
- data
- webservice
- parameter
- normal
- parsing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本申请实施例提供一种扩展Webservice接口调用的方法、装置及受控终端,其提供了一套统一的入口方法,解析获取到数据同步过程所需要的各项可配置内容,实现不同表的数据同步,本发明代码简洁,方法简单明了,可以一目了然的清楚所做的开发工作,既有利于后期开发人员维护以及阅读代码,提高系统开发及后期维护工作效率,同时也提升了接口调用时的系统性能。
Description
技术领域
本发明涉及一种电力保函管理系统Webservice接口调用的扩展性方法,属于通信技术领域。。
背景技术
随着电力物力集约化管理的持续深入发展,集中采购规模逐年扩大,电力合同履约各项单据交互工作量也持续加大,履约保函就是其中之一。由于传统履约保函为纸质文件,不易存储和保管,随着履约保函数量的增多,文件摆放规则与位置相对散乱,使用时找寻困难,严重影响了电力保函管理甚至合同履约管理的工作效率。
电力保函管理系统正是为了解决上述问题,而自主开发的一套信息系统,这套系统的数据来源是由SG-UAP的任务调度组件触发,通过webservice服务,调用ERP系统的相关接口,获取到封装为xml的数据,再按照既定规则对xml进行解析,存入数据库。
电力保函管理系统数据源涉及的数据同步表数量众多,如果逐表书写,工作量会非常繁重,而且在紧张的开发进程中容易产生BUG,传统技术在接口调用方面存在笨重、方法固化的现象,如果用传统技术(如图1所示)实现上述方法,需要20多个接口甚至会更多,调用的时候容易出现冗杂现象而且不利于后期维护,对开发人员的工作效率有较大的影响。
因此在此项目背景下,需开发一套扩展性良好的接口调用实现方法,以便快速有效的解决接口调用问题。
发明内容
针对现有技术的不足,本发明提供了一种扩展Webservice接口调用的方法、装置及受控终端,能够通过一篇后台代码就实现了所有的逻辑控制,可以随开发人员的需求,进行一个或者多个接口调用,方法简单明了,可以一目了然的清楚所做的开发工作,既有利于后期开发人员维护以及阅读代码,提高系统开发及后期维护工作效率,同时也提升了调用接口时的系统性能。
第一方面,提供一种扩展Webservice接口调用的方法,所述方法包括:
S1.任务调度:把每一天接收数据并存入本地库的任务调度;
S2.解析参数:
(1)解析参数,确保参数正常;
(2)获取Webservice地址,测试链接,确保链接正常;
(3)获取数据库抽取表配置;
(4)循环各表,解析拼接传参xml,解析顺序;
S3.解析完成后,数据入库。
结合第一方面及其上述实现方式,在第一方面的第一种可能的实现方式中,所述解析参数,确保参数正常,包括:
调用getTables方法,解析tables变量为集合;
调用judgeDateRight方法,判断时间格式是否正常;
当tables集合为空时,表示无表需同步;
当时间格式判断不正确时,表示时间参数有误;
如果没有上述异常,表示参数正常,开始执行erp数据同步任务。
结合第一方面,在第一方面的第二种可能的实现方式中,所述获取Webservice地址,测试链接,确保链接正常,包括:
通过getWebserviceAdd方法,获取Webservice地址;
使用用户名,密码测试Webservice连接。
结合第一方面,在第一方面的第三种可能的实现方式中,所述获取数据库抽取表配置,包括:
通过getTablesConfigByDB方法,获取数据库抽取表配置;
建立一个HashMap集合,进行表配置抽取;
通过数据库表名查询获取参数,并记录数据对象;
如果数据集合存在,则证明抽取任务抽取了要获取的数据库表名数据,并且是新注入的;
如果抽取方法中止,则证明Webservice连接调用不通。
结合第一方面,在第一方面的第四种可能的实现方式中,所述获取数据库抽取表配置,包括:
所述循环各表,解析拼接传参xml,解析顺序,包括:
从检验是否清理开始,如果sfql是“Y”则开始清理,反之则不清理。然后把开始时间和结束时间作为条件即kssj,jssj,最后分情况执行统计方法tj1,tj2。
第二方面,提供一种用于扩展Webservice接口调用的装置,包括:
任务调度单元,所述任务调度单元用于将每一天接收数据并存入本地库的任务调度;
解析参数单元,所述解析参数单元用于:
(1)解析参数,确保参数正常;
(2)获取Webservice地址,测试链接,确保链接正常;
(3)获取数据库抽取表配置;
(4)循环各表,解析拼接传参xml,解析顺序;
数据导入单元,所述数据导入单元用于解析完成后数据入库。
第三方面,提供一种受控终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端设备执行上述的终端设备的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
因此,相较于传统技术,本发明的技术优点是代码简洁,并且可以很方便的实现不同数量的接口调用。本发明只通过一篇后台代码就实现了所有的逻辑控制,可以随开发人员的需求,进行一个或者多个接口调用,方法简单明了,可以一目了然的清楚所做的开发工作,既有利于后期开发人员维护以及阅读代码,提高系统开发及后期维护工作效率,同时也提升了调用接口时的系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统方法的数据同步方案。
图2为任务调度参数配置图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本实施例提供一种扩展Webservice接口调用的方法,所述方法包括:
S1.任务调度:把每一天接收数据并存入本地库的任务调度;
S2.解析参数:
(1)解析参数,确保参数正常;
(2)获取Webservice地址,测试链接,确保链接正常;
(3)获取数据库抽取表配置;
(4)循环各表,解析拼接传参xml,解析顺序;
S3.解析完成后,数据入库。
可选地,作为本申请一个实施例,所述解析参数,确保参数正常,包括:
调用getTables方法,解析tables变量为集合;
调用judgeDateRight方法,判断时间格式是否正常;
当tables集合为空时,表示无表需同步;
当时间格式判断不正确时,表示时间参数有误;
如果没有上述异常,表示参数正常,开始执行erp数据同步任务。
可选地,作为本申请一个实施例,所述获取Webservice地址,测试链接,确保链接正常,包括:
通过getWebserviceAdd方法,获取Webservice地址;
使用用户名,密码测试Webservice连接。
可选地,作为本申请一个实施例,所述获取数据库抽取表配置,包括:
通过getTablesConfigByDB方法,获取数据库抽取表配置;
建立一个HashMap集合,进行表配置抽取;
通过数据库表名查询获取参数,并记录数据对象;
如果数据集合存在,则证明抽取任务抽取了要获取的数据库表名数据,并且是新注入的;
如果抽取方法中止,则证明Webservice连接调用不通。
可选地,作为本申请一个实施例,所述获取数据库抽取表配置,包括:
所述循环各表,解析拼接传参xml,解析顺序,包括:
从检验是否清理开始,如果sfql是“Y”则开始清理,反之则不清理。然后把开始时间和结束时间作为条件即kssj,jssj,最后分情况执行统计方法tj1,tj2。
具体的,电力保函自动化管理系统中待同步的数据表众多,有几十张表需要调用,所以首先要对各表的接口方案提取出其内在的共同点或者相似点,然后在此基础上找出解决方案。以电力保函管理系统保函信息的同步为例:
传统的方法是整体的数据同步方案,以xml封装参数,调用webservice接口,ERP系统完成解析后,查询对应数据,封装进新的xml字符串中,返回到保函管理系统,系统接收并解析返回的xml后,将对应表的各字段数据,插入或者更新到数据库中。具体如图1。
(1)首先,ERP开发的接口是axis封装的,入口参数为xml格式,各表的入参xml都基本类似,以root为根节点,必定包含kssj、jssj两个参数,然后再加另外1-2个特定条件的参数。
(2)调用axis的接口地址,相较于其他表的接口,只有ZMMBHGL001与其他接口有所不同,类似如下:http://ip:端口/sap/bc/srt/rfc/sap/intfName/400/intfName/intfName,其中的intfName即为ZMMBHGL001。
而接口后台方法,为类似ZMMBHGL001。
返回的xml类似如下:以root为根节点,以代表表名的ZBHXX为一级节点,以代表各字段名的ZBHDJNUM、ZHTBH等为二级节点(可称之为字段节点),二级节点下,下挂数据。
在执行插入或者更新语句时,分析可知,表名不同,存入字段不同,数据通过字段名与接口返回的字段节点的名称相对应,对于历史数据的处理,经分析可知,需要以主键字段做筛选,进行更新(或者删除)。而当入库表的个别字段类型为DATE时,还需要注意对字符串类型数据的类型转换。
综上结果,经分析和优化可以设计如下的同步配置表:
表1
由此表1,我们便可以通过一套统一的入口方法,解析获取到数据同步过程所需要的各项可配置内容,实现不同表的数据同步。甚至,借由SG-UAP的任务调度组件的页面的配置参数,还可以实现全表同步,多表同步,单表同步,单数据同步等各式各样的数据同步需求。
2.方案实现与部分代码
任务调度参数配置如图2:
Tables代表抽取表,为空时,抽取所有配置表。kssj和jssj默认取昨天,tj1,tj2根据配置表的配置对应字段匹配,用于抽取单条数据。如想要抽取全量数据,sfql配置为T,此时,会忽略kssj、jssj、tj1、tj2配置内容,默认传参传空值,达到抽取全量数据的目的。
任务调度后台入口解析参数并放入参数Map集合。
然后按如下步骤调用接口:
(1)解析参数,确保参数正常,具体操作为:
a.调用getTables方法,解析tables变量为集合。
b.调用judgeDateRight方法,判断时间格式是否正常。
c.当tables集合为空时,表示无表需同步。
d.当时间格式判断不正确时,表示时间参数有误。
e.如果没有上述异常,表示参数正常,开始执行erp数据同步任务。
(2)获取Webservice地址,测试链接,确保链接正常:
通过getWebserviceAdd方法,获取Webservice地址
使用用户名,密码测试Webservice连接。
(3)获取数据库抽取表配置通过getTablesConfigByDB方法,获取数据库抽取表配置。
a.建立一个HashMap集合,进行表配置抽取。
b.通过数据库表名查询获取参数,并记录数据对象。
c.如果数据集合存在,则证明抽取任务抽取了要获取的数据库表名数据,
并且是新注入的。
d.如果抽取方法中止,则证明Webservice连接调用不通。
(4)循环各表,解析拼接传参xml,解析顺序:
sfql(是否全量)-->kssj,jssj(时间参数)-->tj1,tj2(其他参数)。
解析完成后,需数据入库:因保函接收表与供应商用户表数据的特殊性,比如执行更新或者插入操作。而其他表的入库则执行删除并插入的操作(借此可以在一定程度上,排除掉因垃圾数据而导致的重新抽取时,原数据无法删除的异常情况)。
本发明还包括如下内容:
(1)针对一个接口,抽取不同表的实现与验证完善。
(2)在同步保函接收表时,在同步完所有表后,需针对其中的业务类型(ZYWLX)、供应商名称(NAME1)、招标批次号(ZZBJHBH1)三个字段,从其他关联表中获取并更新。
当ZYWLX为批次招标时,根据ZHTBH取T_BH_ZHTMXB-ZZBJHBH1。
当ZYWLX为协议库存时,根据ZHTBH=T_BH_ZXYHTCG-EBIZCONTRACTID,取T_BH_ZXYHTCG-PLANCODE。
(3)在同步供应商用户表时,计入用户默认密码,将加密后的值存入对应字段。
a.通过getUserDefaultPasswordFromDB方法查询T_XTGL_GYSYH表用户默认密码配置。
b.如果执行成功,则提示成功,如果失败,则提示T_XTGL_GYSYH表用户默认密码配置sql执行有误,并打印sql。
(4)针对配置表,开发单表查询页面,可以在页面上,实现对配置内容的增删改查。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种扩展Webservice接口调用的方法,其特征在于,所述方法包括:
S1.任务调度:把每一天接收数据并存入本地库的任务调度;
S2.解析参数:
(1)解析参数,确保参数正常;
(2)获取Webservice地址,测试链接,确保链接正常;
(3)获取数据库抽取表配置;
(4)循环各表,解析拼接传参xml,解析顺序;
S3.解析完成后,数据入库。
2.根据权利要求1所述的方法,其特征在于,所述解析参数,确保参数正常,包括:
调用getTables方法,解析tables变量为集合;
调用judgeDateRight方法,判断时间格式是否正常;
当tables集合为空时,表示无表需同步;
当时间格式判断不正确时,表示时间参数有误;
如果没有上述异常,表示参数正常,开始执行erp数据同步任务。
3.根据权利要求1所述的方法,其特征在于,所述获取Webservice地址,测试链接,确保链接正常,包括:
通过getWebserviceAdd方法,获取Webservice地址;
使用用户名,密码测试Webservice连接。
4.根据权利要求1所述的方法,其特征在于,所述获取数据库抽取表配置,包括:
通过getTablesConfigByDB方法,获取数据库抽取表配置;
建立一个HashMap集合,进行表配置抽取;
通过数据库表名查询获取参数,并记录数据对象;
如果数据集合存在,则证明抽取任务抽取了要获取的数据库表名数据,并且是新注入的;
如果抽取方法中止,则证明Webservice连接调用不通。
5.根据权利要求1所述的方法,其特征在于,所述循环各表,解析拼接传参xml,解析顺序,包括:
从检验是否清理开始,如果sfql是“Y”则开始清理,反之则不清理。然后把开始时间和结束时间作为条件即kssj,jssj,最后分情况执行统计方法tj1,tj2。
6.一种用于扩展Webservice接口调用的装置,其特征在于,包括:
任务调度单元,所述任务调度单元用于将每一天接收数据并存入本地库的任务调度;
解析参数单元,所述解析参数单元用于:
(1)解析参数,确保参数正常;
(2)获取Webservice地址,测试链接,确保链接正常;
(3)获取数据库抽取表配置;
(4)循环各表,解析拼接传参xml,解析顺序;
数据导入单元,所述数据导入单元用于解析完成后数据入库。
7.一种受控终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811042349.6A CN109033474A (zh) | 2018-09-07 | 2018-09-07 | 一种扩展Webservice接口调用的方法、装置及受控终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811042349.6A CN109033474A (zh) | 2018-09-07 | 2018-09-07 | 一种扩展Webservice接口调用的方法、装置及受控终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109033474A true CN109033474A (zh) | 2018-12-18 |
Family
ID=64624395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811042349.6A Pending CN109033474A (zh) | 2018-09-07 | 2018-09-07 | 一种扩展Webservice接口调用的方法、装置及受控终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033474A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235813A (zh) * | 2013-04-25 | 2013-08-07 | 杭州电子科技大学 | 用友财务核心系统与作业成本系统间的数据同步方法 |
CN105871605A (zh) * | 2016-03-30 | 2016-08-17 | 国网江西省电力科学研究院 | 一种基于电力营销大数据的运维监控平台 |
CN107330028A (zh) * | 2017-06-23 | 2017-11-07 | 北京北信源软件股份有限公司 | 一种Apache NiFi在源数据录入数据库方面的扩展应用方法和系统 |
-
2018
- 2018-09-07 CN CN201811042349.6A patent/CN109033474A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235813A (zh) * | 2013-04-25 | 2013-08-07 | 杭州电子科技大学 | 用友财务核心系统与作业成本系统间的数据同步方法 |
CN105871605A (zh) * | 2016-03-30 | 2016-08-17 | 国网江西省电力科学研究院 | 一种基于电力营销大数据的运维监控平台 |
CN107330028A (zh) * | 2017-06-23 | 2017-11-07 | 北京北信源软件股份有限公司 | 一种Apache NiFi在源数据录入数据库方面的扩展应用方法和系统 |
Non-Patent Citations (1)
Title |
---|
李亿红 等: ""基于XML和WebService的数据库审计系统"", 《计算机应用与软件》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100587693C (zh) | 从多个数据源获取数据的方法及系统 | |
CN106528129A (zh) | 一种Web应用界面生成系统及方法 | |
WO2016133855A1 (en) | System and method for generating an effective test data set for testing big data applications | |
CN112217656B (zh) | Sd-wan系统中的网络设备的配置信息同步方法和装置 | |
EP1810131A2 (en) | Services oriented architecture for data integration services | |
CN103020158A (zh) | 一种报表创建方法、装置和系统 | |
CN103473696A (zh) | 一种收集、分析和分发网络商业信息的方法和系统 | |
van der Aalst et al. | Process discovery using localized events | |
CN106062751A (zh) | 对与数据类型有关的数据剖析操作的管理 | |
CN104572644A (zh) | 数据库更新装置和数据库更新方法 | |
US6917929B2 (en) | Configuration for a storage network | |
CN106802928B (zh) | 电网历史数据管理方法及其系统 | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
CN108628918A (zh) | 系统部署与依赖关系自动绘制系统及方法 | |
Alcazar et al. | A process framework for requirements analysis and specification | |
CN110502560A (zh) | 一种数据库连接参数封装的方法及服务器 | |
CN112925695A (zh) | 一种自动化更新配置fluentd的配置文件的方法 | |
CN109033474A (zh) | 一种扩展Webservice接口调用的方法、装置及受控终端 | |
Regainia et al. | A methodology of security pattern classification and of attack-defense tree generation | |
CN110806973A (zh) | 一种接口报文的自动生成方法及装置 | |
Etedali et al. | Automated constraint-based multi-tenant saas configuration support using XML filtering techniques | |
CN114168122A (zh) | 数据脚本的生成方法及装置 | |
Rooney et al. | Pathfinder: Building the enterprise data map | |
CN107403013A (zh) | Web业务行为的识别方法及装置 | |
Athanasopoulos et al. | Identification of REST-like resources from legacy service descriptions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |
|
RJ01 | Rejection of invention patent application after publication |