CN112506943B - 一种异构数据服务提供方法、装置、设备和介质 - Google Patents

一种异构数据服务提供方法、装置、设备和介质 Download PDF

Info

Publication number
CN112506943B
CN112506943B CN202011187988.9A CN202011187988A CN112506943B CN 112506943 B CN112506943 B CN 112506943B CN 202011187988 A CN202011187988 A CN 202011187988A CN 112506943 B CN112506943 B CN 112506943B
Authority
CN
China
Prior art keywords
service
configuration
data
sql
node
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.)
Active
Application number
CN202011187988.9A
Other languages
English (en)
Other versions
CN112506943A (zh
Inventor
黄家昌
杨辉
邱道椿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Ecan Information Technology Co ltd
Original Assignee
Fujian Ecan Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Ecan Information Technology Co ltd filed Critical Fujian Ecan Information Technology Co ltd
Priority to CN202011187988.9A priority Critical patent/CN112506943B/zh
Publication of CN112506943A publication Critical patent/CN112506943A/zh
Application granted granted Critical
Publication of CN112506943B publication Critical patent/CN112506943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种异构数据服务提供方法、装置、设备和介质,方法包括先根据数据来源进行通用服务配置;通用服务配置完成后,随即自动生成相应的数据服务;当所述数据来源为数据库时,所述通用服务配置包括:填写服务号,选择服务类型,配置传递参数,选择数据源,填写配置信息,本发明只需通过配置就可以自动创建并发布符合要求的Web服务,变更时也只需重新配置就能实现,形成动态变更实时生效机制,也为快速响应服务变化提供了有力支撑。

Description

一种异构数据服务提供方法、装置、设备和介质
技术领域
本发明涉及计算机技术领域,特别涉及一种异构数据服务提供方法、装置、设备和介质。
背景技术
基于Web Service的数据服务接口(也叫Web服务或者Web Service数据接口或者数据服务),广泛地应用在各行各业中,Web Service最大的优势是提供了异构平台的无缝街接技术手段。由于不同的用户使用不同的硬件平台,不同的操作系统,不同的软件实现,这就产生了互相通信的需求。Web Service使任何两个应用程序,只要能读写XML(eXtensibleMarkupLanguage,可扩展的标识语言),那么就能互相通信,极大程度上避免了复杂的协议转换,降低了数据在不同应用之间互联互通的成本。
一般地,提供一个Web服务,需要通过创建Web服务和发布Web服务两步:
创建Web服务:开发人员根据业务需要,设计服务名称、方法名、数据内容的格式、服务调用参数和服务返回内容格式等,在服务方法中封装相关的数据,按照设计约定返回内容给调用者。不同的编程语言创建Web服务的手段不同,如Java语言,可以采用原生的JDK(Java语言的软件开发工具包)进行开发,当然也可以借助其它Web Service框架来进行开发,常用的有CXF,AXIS2等。因此这就要求开发人员要熟悉各自编程语言体系下创建Web服务的方法,同时通过编写相关的逻辑,使用SQL(Structured Query Language,结构化查询语言)从数据库中获取数据,按照要求的格式包装返回给服务调用者。
发布Web服务:Web服务基于HTTP协议,需要将创建的服务进行发布,才可以被调用到。目前这种发布只能手动进行,而且一旦发布后,后期若有变更,则需从底层代码上进行修改,导致效率低下。
发明内容
本发明要解决的技术问题,在于提供一种异构数据服务提供方法、装置、设备和介质,只需通过配置就可以自动创建并发布符合要求的Web服务,变更时也只需重新配置就能实现。
第一方面,本发明提供了一种异构数据服务提供方法,先配置数据来源,即根据数据来源进行通用服务配置;通用服务配置完成后,随即自动生成相应的数据服务;
当所述数据来源为数据库时,所述通用服务配置包括:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
选择服务类型,所述服务类型为SQL和存储过程中的一种;
配置传递参数,所述传递参数用于实现外部调用时传递给系统,供系统根据参数拼装不同的业务查询语句,完成不同情况的数据输出;
选择数据源,所述数据源为用于提供服务的数据库;
填写配置信息,所述配置信息根据服务类型的不同包括SQL配置和存储过程配置两种;
所述SQL配置包括下述内容:
sql节点,为对应的SQL语句,配置时如果希望带上参数,则根据“配置的参数”来写上对应的占位符;
key节点或results节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中,而results节点配置后,是将返回的内容分别存放在定义的节点中;
list节点,用于支持数据内容组合返回,当list节点为多元配置时,不同的list配置返回的内容跟在对应的key节点中;
所述存储过程配置包括下述内容:
sql节点,为对应的调用存储过程语句;一般格式为{call test(?,?,?)},所有参数通过问号表示。
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中;
params节点,包括子节点inParams和子节点outParams,分别对应所述存储过程中的输入参数和输出参数,且设计了参数次序paramSort和参数类型paramType对应所述存储过程中的定义。
第二方面,本发明提供了一种异构数据服务提供装置,包括:
通用服务配置模块,用于根据数据来源进行通用服务配置;
数据服务生成模块,用于在通用服务配置完成后,随即自动生成相应的数据服务;
其中,当所述数据来源为数据库时,所述通用服务配置模块具体进行如下通用服务配置:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
选择服务类型,所述服务类型为SQL和存储过程中的一种;
配置传递参数,所述传递参数用于实现外部调用时传递给系统,供系统根据参数拼装不同的业务查询语句,完成不同情况的数据输出;
选择数据源,所述数据源为用于提供服务的数据库;
填写配置信息,所述配置信息根据服务类型的不同包括SQL配置和存储过程配置两种;
所述SQL配置包括下述内容:
sql节点,为对应的SQL语句,配置时如果希望带上参数,则根据“配置的参数”来写上对应的占位符;
key节点或results节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中,而results节点配置后,是将返回的内容分别存放在定义的节点中;
list节点,用于支持数据内容组合返回,当list节点为多元配置时,不同的list配置返回的内容跟在对应的key节点中;
所述存储过程配置包括下述内容:
sql节点,为对应的调用存储过程语句;一般格式为{call test(?,?,?)},所有参数通过问号表示。
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中;
params节点,包括子节点inParams和子节点outParams,分别对应所述存储过程中的输入参数和输出参数,且设计了参数次序paramSort和参数类型paramType对应所述存储过程中的定义。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:根据数据来源进行通用服务配置,通用服务配置完成后,随即自动生成相应的数据服务,在通用服务中封装异构来源的数据;提供通用统一的调用方式和数据返回格式(支持JSON或者XML),数据服务的内容会根据配置,在通用服务中封装异构来源的数据,数据来源还可以是已有的Web服务和已有的HTTP服务,如此经过系统统一的封装处理后,不管是直接读取数据库,还是包装旧服务,都高度一致的通过一套交互方式来完成数据交换。高效便捷的完成了基于WEB SERVICE的数据交换需求,大大减少了日常开发Web服务的时间,降低了因为不同技术实现,或者新旧系统数据交换时的对接成本。而只需通过配置就可以自动创建并发布符合要求的Web服务,形成动态变更实时生效机制,也为快速响应服务变化提供了有力支撑。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明系统的框架示意图;
图2为本发明实施例一中方法中通用服务配置的流程图;
图3为本发明实施例一中方法中系统提供的数据服务的流程图;
图4为本发明实施例二中装置的结构示意图;
图5为本发明实施例三中电子设备的结构示意图;
图6为本发明实施例四中介质的结构示意图。
具体实施方式
本申请实施例通过提供一种异构数据服务提供方法、装置、设备和介质,只需通过配置就可以自动创建并发布符合要求的Web服务,变更时也只需重新配置就能实现。
本申请实施例中的技术方案,总体思路如下:系统提供相应的配置模块,可根据数据来源进行通用服务配置,通用服务配置完成后,随即自动生成相应的数据服务;因此只需通过配置就可以自动创建并发布符合要求的Web服务,变更时也只需重新配置就能实现,提供通用统一的调用方式和数据返回格式(支持JSON或者XML),服务的内容会根据配置,通过统一的协议和数据格式,使得不同的应用都以同样的方式对接集成,这样降低了服务接入的成本,保证了新旧业务数据获取的一致性。数据来源还可以是已有的Web服务和已有的HTTP服务,如此经过系统统一的封装处理后,不管是直接读取数据库,还是包装旧服务,都高度一致的通过一套交互方式来完成数据交换。
需要说明的是:本申请的异构是指本申请的数据来源可以来自不同的应用,如来自不同类型的数据库(本申请支持MySQL,SQL server和Oracle等主流数据库),也可以来自已有的Web服务或者HTTP服务(基于HTTP协议,数据载体是JSON等各异数据格式);本申请的数据服务就是指Web Service,系统通过配置向外提供数据服务;数据服务提供是指通过在系统上配置,就可以自动创建并发布符合要求的Web服务,系统的整体逻辑如图1所示。其中,使用springboot+mybatis技术框架搭建,采用原生的JDK来创建配置的服务。系统目前的数据来源分为三类,分别是SQL,Web服务,HTTP服务。
实施例一
本实施例提供一种异构数据服务提供方法,先根据数据来源进行通用服务配置;通用服务配置完成后,随即自动生成相应的数据服务;
1、当所述数据来源为数据库时,如图2所示,所述通用服务配置包括:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
选择服务类型,所述服务类型为SQL和存储过程中的一种;
配置传递参数,所述传递参数用于实现外部调用时传递给系统,供系统根据参数拼装不同的业务查询语句,完成不同情况的数据输出;
选择数据源,所述数据源为用于提供数据的数据库;本申请支持来自常见数据库类型的数据库,即MySQL,SQL server和Oracle数据库。同时,系统封装了统一的编程接口,只要根据不同数据库的差异编写较少的代码即可完成对不同数据库的支持,包括对NoSQL和NewSQL等的支持,增强了系统的扩展性;
填写配置信息,所述配置信息根据服务类型的不同包括SQL配置和存储过程配置两种;
所述SQL配置包括下述内容:
sql节点,为对应的SQL语句,配置时如果希望带上参数,则根据“配置的参数”来写上对应的占位符;即如果配置了参数名为start,那么sql里就可以写上“select*fromt_sicklimit#start#,10”这样的SQL语句,系统在执行时会动态的替换占位符上的内容。
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中,key节点的配置具体是:
Figure BDA0002751949890000071
系统调用的时候会返回,如下内容:
Figure BDA0002751949890000072
其中,rows就是配置里的key,rows后面带的数据,就是数据库查询返回的内容。
results节点,也是用于配置返回内容的节点名称,results节点配置后,是将返回的内容分别存放在定义的节点中;由于该节点和上面的key节点有着类似的功能,都是完成返回内容的映射,因此这两个节点只需要配置一个即可,如果两个都配置的话,那么系统优先根据results节点的配置来进行解析处理,这是由于results节点可以根据返回的内容进行更细粒度的控制。results节点配置如下:
Figure BDA0002751949890000073
Figure BDA0002751949890000081
那么返回结果将是:[{"ids":"2","names":"3"}]。
list节点,用于支持数据内容组合返回,当list节点为多元配置时,不同的list配置返回的内容跟在对应的key节点中;
Figure BDA0002751949890000082
另外,模板中的list节点,也可以多元,不同的list配置返回的内容跟在对应的key节点中,例如配置:
Figure BDA0002751949890000083
Figure BDA0002751949890000091
对应的返回为:
Figure BDA0002751949890000092
所述存储过程配置模板包括下述内容:
Figure BDA0002751949890000093
Figure BDA0002751949890000101
sql节点,为对应的调用存储过程SQL语句,一般格式为{call test(?,?,?)},所有参数通过问号表示;
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中;
params节点,包括子节点inParams和子节点outParams,分别对应所述存储过程中的输入参数和输出参数,且设计了参数次序paramSort和参数类型paramType对应所述存储过程中的定义。
经过上述配置后,一个Web服务即封装完成。在系统中所有的配置都将成为数据服务对外提供。当外部调用者调用特定服务接口,如图3所示,系统提供的数据服务具体过程为:
(1)、根据所述服务号读取配置,判断服务类型是SQL还是存储过程;
若是SQL,则解析所述SQL配置,根据选择的数据源执行查询语句,并根据所述SQL配置中key节点和results节点的配置封装返回数据;
若是存储过程,则解析所述存储过程配置,设置入参参数,根据选择的数据源执行查询语句,根据配置的出参参数封装返回数据;
(2)、将所述返回数据作为系统通用数据服务的返回内容。
系统通用数据服务是指系统会提供一个通用的数据服务,提供通用统一的调用方式和数据返回格式(支持JSON或者XML),至于服务的内容会根据用户上面提到的配置,或者下面将会说到的基于已有的Web服务或者HTTP服务。通过统一的协议和数据格式,使得不同的应用都以同样的方式对接集成,这样降低了服务接入的成本,保证了新旧业务数据获取的一致性。这也是下面将描述的对已有的Web服务或者HTTP服务支持接入的意义。
2、当所述数据来源为已有的Web服务时,所述通用服务配置包括:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
填写WSDL,所述WSDL是用XML的格式描述了WebService有哪些方法、参数类型、访问路径信息;
填写服务方法名,用于指定一个需要的服务方法;
填写服务参数,填写已有的Web服务所需要的参数;
在通用服务配置完成后,则自动完成对已有Web服务的封装,旧服务则根据所述通用服务配置的内容进行调用;
3、当所述数据来源为已有的HTTP服务时,所述通用服务配置包括:
填写目标URL,用于请求已有的HTTP服务的地址;
填写请求方式:用于填写HTTP请求类型;
在通用服务配置完成后,自动完成对已有HTTP服务的封装,旧服务则根据所述通用服务配置的内容进行调用。
上面有谈到系统提供了通用统一的通用数据服务,并且用它来封装异构的来源数据,最终调用方通过配置过程中设置的服务号来统一调用数据服务。本申请中,所述外部调用者调用特定服务接口采用的数据格式为:
Figure BDA0002751949890000111
可以看出经过系统统一的封装处理,不管是直接读取数据库,还是包装旧服务,都高度一致的通过一套交互方式来完成数据交换。另外,系统提供的服务需要填写授权的安全密钥才可以访问,同时对调用情况有详细的日志记录,各方面保证了服务的安全可靠。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种异构数据服务提供装置,如图4所示,包括:
通用服务配置模块,用于根据数据来源进行通用服务配置;
数据服务生成模块,用于在通用服务配置完成后,随即自动生成相应的数据服务;
1、当所述数据来源为数据库时,如图2所示,所述通用服务配置模块进行如下通用服务配置:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
选择服务类型,所述服务类型为SQL和存储过程中的一种;
配置传递参数,所述传递参数用于实现外部调用时传递给系统,供系统根据参数拼装不同的业务查询语句,完成不同情况的数据输出;
选择数据源,所述数据源为用于提供服务的数据库;本申请支持来自常见数据库类型的数据库,即MySQL,SQL server和Oracle数据库。同时,系统封装了统一的编程接口,只要根据不同数据库的差异编写较少的代码即可完成对不同数据库的支持,包括对NoSQL和NewSQL等的支持,增强了系统的扩展性;
填写配置信息,所述配置信息根据服务类型的不同包括SQL配置和存储过程配置两种;
所述SQL配置包括下述内容:
sql节点,为对应的SQL语句,配置时如果希望带上参数,则根据“配置的参数”来写上对应的占位符;即如果配置了参数名为start,那么sql里就可以写上“select*fromt_sicklimit#start#,10”这样的SQL语句,系统在执行时会动态的替换占位符上的内容。
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中,key节点的配置具体是:
Figure BDA0002751949890000131
系统调用的时候会返回,如下内容:
Figure BDA0002751949890000132
其中,rows就是配置里的key,rows后面带的数据,就是数据库查询返回的内容。
results节点,也是用于配置返回内容的节点名称,results节点配置后,是将返回的内容分别存放在定义的节点中;由于该节点和上面的key节点有着类似的功能,都是完成返回内容的映射,因此这两个节点只需要配置一个即可,如果两个都配置的话,那么系统优先根据results节点的配置来进行解析处理,这是由于results节点可以根据返回的内容进行更细粒度的控制。results节点配置如下:
Figure BDA0002751949890000133
Figure BDA0002751949890000141
那么返回结果将是:[{"ids":"2","names":"3"}]。
list节点,用于支持数据内容组合返回,当list节点为多元配置时,不同的list配置返回的内容跟在对应的key节点中;
Figure BDA0002751949890000142
另外,模板中的list节点,也可以多元,不同的list配置返回的内容跟在对应的key节点中,例如配置:
Figure BDA0002751949890000143
Figure BDA0002751949890000151
对应的返回为:
Figure BDA0002751949890000152
所述存储过程配置包括下述内容:
Figure BDA0002751949890000153
Figure BDA0002751949890000161
sql节点,为对应的SQL语句;配置存储过程的SQL一般格式为{call test(?,?,?)},所有参数通过问号表示;
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中;
params节点,包括子节点inParams和子节点outParams,分别对应所述存储过程中的输入参数和输出参数,且设计了参数次序paramSort和参数类型paramType对应所述存储过程中的定义。
经过上述配置后,一个Web服务即封装完成。在系统中所有的配置都将成为数据服务对外提供。当外部调用者调用特定服务接口,如图3所示,系统提供的数据服务具体过程为:
(1)、根据所述服务号读取配置,判断服务类型是SQL还是存储过程;
若是SQL,则解析所述SQL配置,根据选择的数据源执行查询语句,并根据所述SQL配置模板中key节点和results节点的配置封装返回数据;
若是存储过程,则解析所述存储过程配置模板,设置入参参数,根据选择的数据源执行查询语句,根据配置的出参参数封装返回数据;
(2)、将所述返回数据作为系统通用数据服务的返回内容。
系统通用数据服务是指系统会提供一个通用的数据服务,提供通用统一的调用方式和数据返回格式(支持JSON或者XML),至于服务的内容会根据用户上面提到的配置,或者下面将会说到的基于已有的Web服务或者HTTP服务。通过统一的协议和数据格式,使得不同的应用都以同样的方式对接集成,这样降低了服务接入的成本,保证了新旧业务数据获取的一致性。这也是下面将描述的对已有的Web服务或者HTTP服务支持接入的意义。
2、当所述数据来源为已有的Web服务时,所述通用服务配置模块进行如下通用服务配置:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
填写WSDL,所述WSDL是用XML的格式描述了WebService有哪些方法、参数类型、访问路径信息;
填写服务方法名,用于指定一个需要的服务方法;
填写服务参数,填写已有的Web服务所需要的参数;
在通用服务配置完成后,则自动完成对已有Web服务的封装,旧服务则根据所述通用服务配置的内容进行调用;
3、当所述数据来源为已有的HTTP服务时,所述通用服务配置模块进行如下通用服务配置:
填写目标URL,用于请求已有的HTTP服务的地址;
填写请求方式:用于填写HTTP请求类型;
在通用服务配置完成后,自动完成对已有HTTP服务的封装,旧服务则根据所述通用服务配置的内容进行调用。
上面有谈到系统提供了通用统一的通用数据服务,并且用它来封装异构的来源数据,最终调用方通过配置过程中设置的服务号来统一调用数据服务。本申请中,所述外部调用者调用特定服务接口采用的数据格式为:
Figure BDA0002751949890000171
Figure BDA0002751949890000181
可以看出经过系统统一的封装处理,不管是直接读取数据库,还是包装旧服务,都高度一致的通过一套交互方式来完成数据交换。另外,系统提供的服务需要填写授权的安全密钥才可以访问,同时对调用情况有详细的日志记录,各方面保证了服务的安全可靠。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,如图5所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,如图6所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:根据数据来源进行通用服务配置,通用服务配置完成后,随即自动生成相应的数据服务,在通用服务中封装异构来源的数据;提供通用统一的调用方式和数据返回格式(支持JSON或者XML),数据服务的内容会根据配置,在通用服务中封装异构来源的数据,数据来源还可以是已有的Web服务和已有的HTTP服务,如此经过系统统一的封装处理后,不管是直接读取数据库,还是包装旧服务,都高度一致的通过一套交互方式来完成数据交换。高效便捷的完成了基于WEBSERVICE的数据交换需求,大大减少了日常开发Web服务的时间,降低了因为不同技术实现,或者新旧系统数据交换时的对接成本。而只需通过配置就可以自动创建并发布符合要求的Web服务,形成动态变更实时生效机制,也为快速响应服务变化提供了有力支撑。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置或系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (4)

1.一种异构数据服务提供方法,其特征在于:先根据数据来源进行通用服务配置;通用服务配置完成后,随即自动生成相应的数据服务;
当所述数据来源为数据库时,所述通用服务配置包括:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
选择服务类型,所述服务类型为SQL和存储过程中的一种;
配置传递参数,所述传递参数用于实现外部调用时传递给系统,供系统根据参数拼装不同的业务查询语句,完成不同情况的数据输出;
选择数据源,所述数据源为用于提供数据的数据库;
填写配置信息,所述配置信息根据服务类型的不同包括SQL配置和存储过程配置两种;
所述SQL配置包括下述内容:
sql节点,为对应的SQL语句,配置时,若需带上参数,则根据“配置的参数”来写上对应的占位符;
key节点或results节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中,而results节点配置后,是将返回的内容分别存放在定义的节点中;
list节点,用于支持数据内容组合返回,当list节点为多元配置时,不同的list配置返回的内容跟在对应的key节点中;
所述存储过程配置包括下述内容:
sql节点,为对应的调用存储过程语句;
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中;
params节点,包括子节点inParams和子节点outParams,分别对应所述存储过程中的输入参数和输出参数,且设计了参数次序paramSort和参数类型paramType对应所述存储过程中的定义;
当外部调用者调用特定服务接口,系统提供的数据服务具体过程为:
根据所述服务号读取配置,判断服务类型是SQL还是存储过程;
若是SQL,则解析所述SQL配置,根据选择的数据源执行查询语句,并根据所述SQL配置中key节点和results节点的配置封装返回数据;
若是存储过程,则解析所述存储过程配置,设置入参参数,根据选择的数据源执行查询语句,根据配置的出参参数封装返回数据;
将所述返回数据作为系统通用数据服务的返回内容;
所述数据来源还包括已有的Web服务和已有的HTTP服务;
当所述数据来源为已有的Web服务时,所述通用服务配置包括:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
填写WSDL,所述WSDL是用XML的格式描述了WebService有哪些方法、参数类型、访问路径信息;
填写服务方法名,用于指定一个需要的服务方法;
填写服务参数,填写已有的Web服务所需要的参数;
在通用服务配置完成后,则自动完成对已有Web服务的封装,旧服务则根据所述通用服务配置的内容进行调用;
当所述数据来源为已有的HTTP服务时,所述通用服务配置包括:
填写目标URL,用于请求已有的HTTP服务的地址;
填写请求方式:用于填写HTTP请求类型;
在通用服务配置完成后,自动完成对已有HTTP服务的封装,旧服务则根据所述通用服务配置的内容进行调用。
2.一种异构数据服务提供装置,其特征在于:包括:通用服务配置模块,用于根据数据来源进行通用服务配置;数据服务生成模块,用于在通用服务配置完成后,随即自动生成相应的数据服务;
其中,当所述数据来源为数据库时,所述通用服务配置模块具体进行如下通用服务配置:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
选择服务类型,所述服务类型为SQL和存储过程中的一种;配置传递参数,所述传递参数用于实现外部调用时传递给系统,供系统根据参数拼装不同的业务查询语句,完成不同情况的数据输出;选择数据源,所述数据源为用于提供数据的数据库;和填写配置信息,所述配置信息根据服务类型的不同包括SQL配置和存储过程配置两种;
所述SQL配置包括下述内容:
sql节点,为对应的SQL语句,配置时,若需带上参数,则根据“配置的参数”来写上对应的占位符;key节点或results节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中,而results节点配置后,是将返回的内容分别存放在定义的节点中;list节点,用于支持数据内容组合返回,当list节点为多元配置时,不同的list配置返回的内容跟在对应的key节点中;
所述存储过程配置包括下述内容:
sql节点,为对应的调用存储过程语句;一般格式为{call test(参数,参数,参数)},所有参数通过问号表示;
key节点,用于配置返回内容的节点名称,key节点配置后是将返回的内容全部放到key节点中;params节点,包括子节点inParams和子节点outParams,分别对应所述存储过程中的输入参数和输出参数,且设计了参数次序paramSort和参数类型paramType对应所述存储过程中的定义;还包括数据服务模块,当外部调用者调用特定服务接口,提供如下具体的数据服务过程:根据所述服务号读取配置,判断服务类型是SQL还是存储过程;
若是SQL,则解析所述SQL配置,根据选择的数据源执行查询语言,并根据所述SQL配置中key节点和results节点的配置封装返回数据;若是存储过程,则解析所述存储过程配置模板,设置入参参数,根据选择的数据源执行查询语句,根据配置的出参参数封装返回数据;
将所述返回数据作为系统通用数据服务的返回内容;
所述数据来源还包括已有的Web服务和已有的HTTP服务;
当所述数据来源为已有的Web服务时,所述通用服务配置模块进行如下通用服务配置:
填写服务号,所述服务号为服务标识符,用于外部调用者调用特定服务接口的依据;
填写WSDL,所述WSDL是用XML的格式描述了WebService有哪些方法、参数类型、访问路径信息;
填写服务方法名,用于指定一个需要的服务方法;
填写服务参数,填写已有的Web服务所需要的参数;
在通用服务配置完成后,则自动完成对已有Web服务的封装,旧服务则根据所述通用服务配置的内容进行调用;
当所述数据来源为已有的HTTP服务时,所述通用服务配置模块进行如下通用服务配置:
填写目标URL,用于请求已有的HTTP服务的地址;
填写请求方式:用于填写HTTP请求类型;
在通用服务配置完成后,自动完成对已有HTTP服务的封装,旧服务则根据所述通用服务配置的内容进行调用。
3.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。
CN202011187988.9A 2020-10-30 2020-10-30 一种异构数据服务提供方法、装置、设备和介质 Active CN112506943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011187988.9A CN112506943B (zh) 2020-10-30 2020-10-30 一种异构数据服务提供方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011187988.9A CN112506943B (zh) 2020-10-30 2020-10-30 一种异构数据服务提供方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN112506943A CN112506943A (zh) 2021-03-16
CN112506943B true CN112506943B (zh) 2022-06-07

Family

ID=74954519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011187988.9A Active CN112506943B (zh) 2020-10-30 2020-10-30 一种异构数据服务提供方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN112506943B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816505A (zh) * 2022-04-18 2022-07-29 上海博般数据技术有限公司 数据服务接口的配置方法、系统及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622055A (zh) * 2016-07-13 2018-01-23 航天科工智慧产业发展有限公司 一种快速实现数据服务发布的方法
CN108427550A (zh) * 2018-02-13 2018-08-21 深圳太极云软技术股份有限公司 一种Web服务生成方法、装置及设备
WO2019153514A1 (zh) * 2018-02-12 2019-08-15 平安科技(深圳)有限公司 业务系统动态生成方法、装置、计算机设备及存储介质
CN111198901A (zh) * 2020-01-06 2020-05-26 北京邮电大学 基于多数据源的统一数据服务开放方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6175399A (en) * 1994-09-01 2000-02-17 Computer Associates Think, Inc. Directory services system and methods with mapping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622055A (zh) * 2016-07-13 2018-01-23 航天科工智慧产业发展有限公司 一种快速实现数据服务发布的方法
WO2019153514A1 (zh) * 2018-02-12 2019-08-15 平安科技(深圳)有限公司 业务系统动态生成方法、装置、计算机设备及存储介质
CN108427550A (zh) * 2018-02-13 2018-08-21 深圳太极云软技术股份有限公司 一种Web服务生成方法、装置及设备
CN111198901A (zh) * 2020-01-06 2020-05-26 北京邮电大学 基于多数据源的统一数据服务开放方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《大数据之多数据源综合管理系统:数据源配置管理》;weixin_30786617;《https://blog.csdn.net/weixin_30786617/article/details/96859436》;20170217;第1-5页 *

Also Published As

Publication number Publication date
CN112506943A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN109002362B (zh) 一种服务方法、装置、系统以及电子设备
US9465590B2 (en) Code generation framework for application program interface for model
JP5021193B2 (ja) 拡張可能ワークフローモデルの宣言的表現
US9235380B2 (en) Software modeling framework
US8191042B2 (en) Continuation based declarative definition and composition
CN112748908B (zh) 基于SSM框架的Restful服务开发方法与装置
CN104111826A (zh) 一种软件项目开发方法及装置
CN111399814A (zh) 一种构建任务可视化编排方法及装置
CN115639980A (zh) 一种低代码平台可拖拽的前端逻辑编排方法及装置
US20240069877A1 (en) Method and device for generating application based on android system, and storage medium
CN113407362A (zh) 基于车载Android系统SOA架构SOMEIP通信中间层实现方法及系统
CN111399840A (zh) 一种模块开发方法及装置
CN112667242B (zh) 一种将c代码封装成fmu的方法及装置
CN114115841A (zh) 数据流接口动态编排方法、装置、设备、介质及程序产品
US8032877B2 (en) Compiler neutral linking solution for C++ code
CN115421786A (zh) 一种设计组件迁移方法及相关设备
CN108376066A (zh) 代码处理装置及代码处理方法
CN112506943B (zh) 一种异构数据服务提供方法、装置、设备和介质
CN113987337A (zh) 基于组件化动态编排的搜索方法、系统、设备及存储介质
CN115390846A (zh) 编译构建方法、装置、电子设备和存储介质
CN113342399A (zh) 应用项目的结构配置方法、装置及可读存储介质
CN114428613A (zh) 一种流程编排方法、系统、介质及计算机程序产品
CN109189382B (zh) 业务流程系统
Srinivasmurthy et al. Web2exchange: A model-based service transformation and integration environment
CN111522545A (zh) 基于Java的动态构建模型的方法、装置、系统和可读介质

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
GR01 Patent grant
GR01 Patent grant