发布数据库数据的装置和方法

文档序号:6443666阅读:184来源:国知局
专利名称:发布数据库数据的装置和方法
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种发布数据库数据的装置和方法。
背景技术
在现代IT环境中,数据是企业、组织的核心资产,而数据库作为数据的容器,已成为企业、组织的最重要和核心的基础设施。然而数据库作为一个极为复杂的系统,其维护、管理以及查询只能由专业人员来进行,一般用户无法直接地查看其中的数据。通常,企业组织都是通过开发一些基于数据库的应用系统,来将数据呈现给普通用户查看和管理。另外,当企业组织由于业务需要而建设新的系统,并需要利用新系统和原有数据库进行交互对接的需求时,往往需要针对数据库专门开发对新系统的接口程序。在这种方式下,每当对企业数据库有新的访问需求或者需求发生变化时,就需要针对需要用户或者系统开发新的程序,或者修改原有的程序,而开发一个程序是需要经过设计、开发、测试、部署等一系列的研发周期,以这种方式应对需求变化显然是不够快速和灵活的。因此,需要一种新的数据库数据的发布技术,可以对进行数据库数据发布的程序或系统之间的相同之处进行统一开发实现,而对于不同之处,则采用不同的配置参数,通过对配置参数的改变,实现对数据库数据的发布过程中的不同数据需求,使得对数据库的数据发布更快速、灵活,节省用户的开发成本和开发时间。

发明内容
本发明正是基于上述问题,提出了一种新的数据库数据的发布技术,可以对进行数据库数据发布的程序或系统之间的相同之处进行统一开发实现,而对于不同之处,则采用不同的配置参数,通过对配置参数的改变,实现对数据库数据的发布过程中的不同数据需求,使得对数据库的数据发布更快速、灵活,节省用户的开发成本和开发时间。有鉴于此,本发明提出了一种发布数据库数据的装置,包括配置参数生成模块, 根据接收到的用户的配置命令,生成配置参数;数据服务生成模块,根据所述配置参数生成模块生成的所述配置参数,生成对应的数据服务;参数解析模块,根据所述数据服务生成模块生成的所述数据服务,对所述配置参数进行解析;语句生成模块,根据所述参数解析模块的解析结果,生成对应于所述解析结果的SQL访问数据;数据接口模块,将所述数据服务生成模块生成的所述数据服务连接至数据库;语句执行模块,在所述数据库中,利用所述数据服务执行所述语句生成模块生成的所述SQL访问数据,并从所述数据库中获取对应的指定数据;数据发布模块,对所述语句执行模块获取的所述指定数据进行发布。在该技术方案中,用户针对自己需要进行的数据访问目标,输入不同的配置参数, 而针对该配置参数,可以生成对应的SQL访问数据,通过在数据库中,利用数据服务对该 SQL访问数据进行运行后,得到的结果便是用户需要的指定数据。这里的数据服务,是指能够长时间驻留运行、能够持续提供服务、执行过程按照配置的SQL访问数据在数据库上执行并按格式输出结果的应用程序及其提供的功能,比如可以实现为一个windows服务,一个COM组件,或部署于Web服务器的一个Web应用等,在驻留运行期间,对服务功能的提供不是一次性的,能够被反复调用,或者持续地输出,并且基于配置的SQL访问数据对数据库执行操作,它使得对数据库执行操作的具体细节都得以统一实现,不会因功能不同而需要重复编程开发,只需定义不同的配置参数即可。在上述技术方案中,优选地,所述配置参数生成模块生成的所述配置参数包括数据源、SQL语句模板、SQL参数、输出结果的参数和/或所述数据服务的配置。在该技术方案中,本领域的技术人员应该理解的是,具体的参数种类及数值等,可以分为必要和非必要的部分,如上述的数据源、SQL语句模板、SQL参数、输出结果的参数、数据服务的配置等显然为必要的部分,而对于其他一些周边参数,则可以根据实际需要进行增减,并不限定每次都相同。在上述技术方案中,优选地,所述数据服务生成模块生成的所述数据服务包括 WebService和/或程序集。在该技术方案中,针对不同的数据服务,在对配置参数进行具体配置时,存在不同的处理方式,比如在以WebService方式公开配置部署接口,则配置时与之相应地以WebService的技术手段实现;如果只是实现为一个程序集(dll或jar等),那么此部分的实现只是按照实现的编程语言对接口 API的调用。在上述技术方案中,优选地,还包括配置文件生成模块,将所述配置参数生成模块生成的所述配置参数生成为配置文件;存储模块,将所述配置文件生成模块生成的所述配置文件进行存储。在该技术方案中,对于每一次生成的配置参数,可以生成为对应的配置文件以进行存储,则以后可以重复进行使用,而不必重新进行配置,当然,具体是否进行配置文件的生成和存储,完全取决于用户的自身需要,比如如果经常需要进行变动,则完全可以不用进行存储。在上述技术方案中,优选地,所述配置文件生成模块生成的所述配置文件包括 XML文件、行分隔文本文件和/或数据块记录文件。在该技术方案中,本领域的技术人员应该理解的是,对应的文件类型显然可以是任何可以用于保存配置数据的格式,而不仅限于上述列出的几种格式。根据本发明的又一方面,还提出了一种发布数据库数据的方法,包括步骤202, 根据接收到的用户的配置命令,生成配置参数;步骤204,根据所述配置参数,生成对应的数据服务;步骤206,所述数据服务解析所述配置参数,并生成对应的SQL访问数据;步骤 208,所述数据服务连接至数据库,并通过执行所述SQL访问数据,从所述数据库中获取指定数据,以及发布所述指定数据。在该技术方案中,用户针对自己需要进行的数据访问目标,输入不同的配置参数, 而针对该配置参数,可以生成对应的SQL访问数据,通过在数据库中,利用数据服务对该 SQL访问数据进行运行后,得到的结果便是用户需要的指定数据。这里的数据服务,是指能够长时间驻留运行、能够持续提供服务、执行过程按照配置的SQL访问数据在数据库上执行并按格式输出结果的应用程序及其提供的功能,比如可以实现为一个windows服务,一个COM组件,或部署于Web服务器的一个Web应用等,在驻留运行期间,对服务功能的提供不是一次性的,能够被反复调用,或者持续地输出,并且基于配置的SQL访问数据对数据库执行操作,它使得对数据库执行操作的具体细节都得以统一实现,不会因功能不同而需要重复编程开发,只需定义不同的配置参数即可。在上述技术方案中,优选地,所述配置参数包括数据源、SQL语句模板、SQL参数、 输出结果的参数和/或所述数据服务的配置。在该技术方案中,本领域的技术人员应该理解的是,具体的参数种类及数值等,可以分为必要和非必要的部分,如上述的数据源、SQL语句模板、SQL参数、输出结果的参数、数据服务的配置等显然为必要的部分,而对于其他一些周边参数,则可以根据实际需要进行增减,并不限定每次都相同。在上述技术方案中,优选地,所述数据服务包括=WebService和/或程序集。在该技术方案中,针对不同的数据服务,在对配置参数进行具体配置时,存在不同的处理方式, 比如在以WfebService方式公开配置部署接口,则配置时与之相应地以W^ebService的技术手段实现;如果只是实现为一个程序集(dll或jar等),那么此部分的实现只是按照实现的编程语言对接口 API的调用。在上述技术方案中,优选地,所述步骤202之后,还包括将所述配置参数生成为配置文件后,存储所述配置文件。在该技术方案中,对于每一次生成的配置参数,可以生成为对应的配置文件以进行存储,则以后可以重复进行使用,而不必重新进行配置,当然,具体是否进行配置文件的生成和存储,完全取决于用户的自身需要,比如如果经常需要进行变动,则完全可以不用进行存储。在上述技术方案中,优选地,所述配置文件包括XML文件、行分隔文本文件和/或数据块记录文件。在该技术方案中,本领域的技术人员应该理解的是,对应的文件类型显然可以是任何可以用于保存配置数据的格式,而不仅限于上述列出的几种格式。通过以上技术方案,可以对进行数据库数据发布的程序或系统之间的相同之处进行统一开发实现,而对于不同之处,则采用不同的配置参数,通过对配置参数的改变,实现对数据库数据的发布过程中的不同数据需求,使得对数据库的数据发布更快速、灵活,节省用户的开发成本和开发时间。


图1示出了根据本发明的实施例的发布数据库数据的装置的框图;图2示出了根据本发明的实施例的发布数据库数据的方法的流程图;图3示出了相关技术中的发布数据库数据的方法的示意流程图;图4示出了根据本发明的实施例的发布数据库数据的示意流程图;图5示出了根据本发明的实施例的发布数据库数据的示意流程图;图6示出了根据本发明的实施例的发布配置模块的示意结构图;图7示出了根据本发明的实施例的数据发布模块的示意结构图;图8示出了根据本发明的实施例的数据发布的流程图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。图1示出了根据本发明的实施例的发布数据库数据的装置的框图。如图1所示,根据本发明的实施例的发布数据库数据的装置100,包括配置参数生成模块102,根据接收到的用户的配置命令,生成配置参数;数据服务生成模块104,根据配置参数生成模块102生成的配置参数,生成对应的数据服务;参数解析模块106,根据数据服务生成模块104生成的数据服务,对配置参数进行解析;语句生成模块108,根据参数解析模块106的解析结果,生成对应于解析结果的SQL访问数据;数据接口模块110,将数据服务生成模块104生成的数据服务连接至数据库;语句执行模块112,在数据库中,利用数据服务执行语句生成模块108生成的SQL访问数据,并从数据库中获取对应的指定数据; 数据发布模块114,对语句执行模块112获取的指定数据进行发布。在该技术方案中,用户针对自己需要进行的数据访问目标,输入不同的配置参数, 而针对该配置参数,可以生成对应的SQL访问数据,通过在数据库中,利用数据服务对该 SQL访问数据进行运行后,得到的结果便是用户需要的指定数据。这里的数据服务,是指能够长时间驻留运行、能够持续提供服务、执行过程按照配置的SQL访问数据在数据库上执行并按格式输出结果的应用程序及其提供的功能,比如可以实现为一个windows服务,一个COM组件,或部署于Web服务器的一个Web应用等,在驻留运行期间,对服务功能的提供不是一次性的,能够被反复调用,或者持续地输出,并且基于配置的SQL访问数据对数据库执行操作,它使得对数据库执行操作的具体细节都得以统一实现,不会因功能不同而需要重复编程开发,只需定义不同的配置参数即可。在上述技术方案中,配置参数生成模块102生成的配置参数包括数据源、SQL语句模板、SQL参数、输出结果的参数和/或所述数据服务的配置。在该技术方案中,本领域的技术人员应该理解的是,具体的参数种类及数值等,可以分为必要和非必要的部分,如上述的数据源、SQL语句模板、SQL参数、输出结果的参数、数据服务的配置等显然为必要的部分,而对于其他一些周边参数,则可以根据实际需要进行增减,并不限定每次都相同。在上述技术方案中,数据服务生成模块104生成的数据服务包括=WebService和 /或程序集。在该技术方案中,针对不同的数据服务,在对配置参数进行具体配置时,存在不同的处理方式,比如在以WebService方式公开配置部署接口,则配置时与之相应地以 WebService的技术手段实现;如果只是实现为一个程序集(dll或jar等),那么此部分的实现只是按照实现的编程语言对接口 API的调用。在上述技术方案中,还包括配置文件生成模块116,将配置参数生成模块102生成的配置参数生成为配置文件;存储模块118,将配置文件生成模块116生成的配置文件进行存储。在该技术方案中,对于每一次生成的配置参数,可以生成为对应的配置文件以进行存储,则以后可以重复进行使用,而不必重新进行配置,当然,具体是否进行配置文件的生成和存储,完全取决于用户的自身需要,比如如果经常需要进行变动,则完全可以不用进行存储。在上述技术方案中,配置文件生成模块116生成的配置文件包括XML文件、行分隔文本文件和/或数据块记录文件。在该技术方案中,本领域的技术人员应该理解的是,对应的文件类型显然可以是任何可以用于保存配置数据的格式,而不仅限于上述列出的几种格式。图2示出了根据本发明的实施例的发布数据库数据的方法的流程图。如图2所示,根据本发明的实施例的发布数据库数据的方法,包括步骤202,根据接收到的用户的配置命令,生成配置参数;步骤204,根据配置参数,生成对应的数据服务; 步骤206,利用数据服务解析配置参数,并生成对应的SQL访问数据;步骤208,将数据服务连接至数据库,并通过执行SQL访问数据,从数据库中获取指定数据,以及发布指定数据。在该技术方案中,用户针对自己需要进行的数据访问目标,输入不同的配置参数, 而针对该配置参数,可以生成对应的SQL访问数据,通过在数据库中,利用数据服务对该 SQL访问数据进行运行后,得到的结果便是用户需要的指定数据。这里的数据服务,是指能够长时间驻留运行、能够持续提供服务、执行过程按照配置的SQL访问数据在数据库上执行并按格式输出结果的应用程序及其提供的功能,比如可以实现为一个windows服务,一个COM组件,或部署于Web服务器的一个Web应用等,在驻留运行期间,对服务功能的提供不是一次性的,能够被反复调用,或者持续地输出,并且基于配置的SQL访问数据对数据库执行操作,它使得对数据库执行操作的具体细节都得以统一实现,不会因功能不同而需要重复编程开发,只需定义不同的配置参数即可。在上述技术方案中,配置参数包括数据源、SQL语句模板、SQL参数、输出结果的参数和/或数据服务的配置。在该技术方案中,本领域的技术人员应该理解的是,具体的参数种类及数值等,可以分为必要和非必要的部分,如上述的数据源、SQL语句模板、SQL参数、输出结果的参数、数据服务的配置等显然为必要的部分,而对于其他一些周边参数,则可以根据实际需要进行增减,并不限定每次都相同。在上述技术方案中,数据服务包括=WebService和/或程序集。在该技术方案中,针对不同的数据服务,在对配置参数进行具体配置时,存在不同的处理方式,比如在以 WebService方式公开配置部署接口,则配置时与之相应地以WebService的技术手段实现; 如果只是实现为一个程序集(dll或jar等),那么此部分的实现只是按照实现的编程语言对接口 API的调用。在上述技术方案中,步骤202之后,还包括将配置参数生成为配置文件后,存储配置文件。在该技术方案中,对于每一次生成的配置参数,可以生成为对应的配置文件以进行存储,则以后可以重复进行使用,而不必重新进行配置,当然,具体是否进行配置文件的生成和存储,完全取决于用户的自身需要,比如如果经常需要进行变动,则完全可以不用进行存储。在上述技术方案中,配置文件包括XML文件、行分隔文本文件和/或数据块记录文件。在该技术方案中,本领域的技术人员应该理解的是,对应的文件类型显然可以是任何可以用于保存配置数据的格式,而不仅限于上述列出的几种格式。下面结合图3至图8,详细介绍根据本发明的实施例的技术方案,其中,图3示出了相关技术中的发布数据库数据的方法的示意流程图;图4示出了根据本发明的实施例的发布数据库数据的示意流程图;图5示出了根据本发明的实施例的发布数据库数据的示意流程图;图6示出了根据本发明的实施例的发布配置模块的示意结构图;图7示出了根据本发明的实施例的数据发布模块的示意结构图;图8示出了根据本发明的实施例的数据发布的流程图。
在一个典型的数据库应用场景中,数据库的使用者可以分为两种数据管理人员、 应用程序。在数据库使用者为应用程序这一场景中,一个典型的应用程序对数据库的数据访问过程都会包含以下几个步骤1)用户请求数据;2)定义针对特定功能的SQL语句;3)通过数据库驱动程序连接数据库并执行SQL语句;4)获取SQL执行结果;5)向用户返回结果。如图3所示,在相关技术中,每次需要新增加一个新的应用程序或者功能,都需要重复以上的过程,哪怕它们都是针对相同的数据库,相同的数据表。举个例子,企业数据库中包含了与企业有业务往来的客户资料,在现有的销售管理系统已开发了基于这些客户数据的功能。现在企业需要新开发一套CRM (Customer Relationship Management,客户关系管理)系统,也需要访问企业数据库中的这些客户数据。在典型的解决方案中,新系统无法直接重用原来系统中针对数据库中客户数据的访问功能,而是得再次地解析用户数据的相关表结构,编写与原系统相同或相似的数据访问功能。在另外一个场景中,数据库使用者是数据管理员,数据管理员通过数据库管理工具直接连接企业内部某个私有网段内的数据库服务器进行数据查询或导出操作,而普通用户需要查看数据时无法直接操作,需要由数据管理员执行操作后生成查询结果在转交给普通用户。例如,在某运营商的经营支撑中心负责管理全省的增值业务数据,其它业务部门所需要的相关统计数据需要经营支撑中心的技术人员手工地从数据库中统计查询出结果,导出成一份文件,通过ftp或者电子邮件发送给相关人员。如果是其它的业务系统需要这份数据,则业务系统需要导入并解析这些数据文件。随着增值业务的快速发展,不光企业内部对这些数据有了更多样化的要求,企业外部也有更多的SP (Service Provider,服务提供商)需要访问这些数据,这时候如果还靠这类手工操作和输出非标准化的数据格式,将会很难支持快速的业务发展。在上述场景中面对的问题都是同一个,S卩如何更快速、有效地将数据库的数据以开放的方式发布给需求者。而这正是本发明要解决的课题。利用本发明所述的系统和方法,用户只需编写一段SQL语句用于定义要发布的数据内容,并配置与之相关的执行参数, 就能快速建立一个公开的数据服务。当企业有新的数据访问需求时,无论是选择重用已发布的数据服务,或者通过编写一段SQL快速创建新的数据服务,所花费的精力、成本及时间都远比采用传统开发应用程序的方式更少,也更高效。具体如图4所示,数据库数据快速发布的装置由发布配置模块402、数据发布模块 404两部分组成。但本领域的技术人员应该理解的是,分为发布配置模块402和数据发布模块404 两个部分只是一种从逻辑上和功能上的划分,是在装置的软件实现上的表述,并不限定于从物理上也划分为两个部分,只要从逻辑功能上具备这两点特质就行。比如,整个装置在物理上可以实现为一个单独的可执行程序,而由不同的类分别实现这两个部分的功能,也可由不同的程序集(dll或jar等)分别实现这两部分的功能;或者,这两个部分也可能各自实现为两个独立的可执行程序,它们之间可以相互通讯交互。当然,除了图4中所示的发布一个数据,也可以如图5所示,通过发布配置模块 502(相当于图4中的发布配置模块40 ,设定为利用数据发布模块504(相当于图4中的数据发布模块404)中的多个服务,从而同时或依次发布多个数据。下面结合图6所示的发布配置模块600 (相当于图4中的发布配置模块402和图 5中的发布配置模块50 ,对其具体运作过程进行说明。发布配置模块600是系统的配置和管理装置,其核心是管理员可以通过该装置产生一份用于定义要发布的数据内容的SQL及其执行参数的配置,并在数据发布模块中建立服务。一份用于定义要发布的数据内容的SQL及其执行参数的配置包括但不限于以下的核心要素(1)数据源指定数据库位置、类型、用户名、密码等参数,通过这些参数将可以建立一个到达目标数据库的连接;(2) SQL语句数据服务要执行的SQL语句;这是数据服务的核心逻辑;(3) SQL参数列表与SQL语句对应的参数的信息,这些参数同时也定义了数据访问者需要提供的参数;(4)结果集定义了返回结果的数据的构成及其类型;(5)数据服务的配置定义了发布的数据服务的行为特性,包括但不限于协议类型、服务实例生命周期、SQL的执行方式、数据缓存等参数。围绕这一目标,发布配置模块典型实现可分为三个部分进行配置参数输入装置 602、配置部署装置604、配置参数保存装置606。其中,配置参数输入装置602,是管理员与本装置产生交互的人机界面装置,其核心是接受用户输入并产生一份用于定义要发布的数据内容的SQL及其执行参数的配置,而其具体形式并不限定于某种具体开发技术实现的UI,如WinfornuHtml等。下面以一个具体数据发布场景作为示例企业在IP为192. 168. 10. 8服务器上有一个保存了销售数据的SqBerverfOOS数据库SaleDB,现在需要将数据库中的用户订单统计数据进行发布出去,用户订单数据通过对Customer、Order两个表进行联合查询获得。那么针对这一需求,实现该配置的一个示例如表1所示
权利要求
1.一种发布数据库数据的装置,其特征在于,包括配置参数生成模块,根据接收到的用户的配置命令,生成配置参数; 数据服务生成模块,根据所述配置参数生成模块生成的所述配置参数,生成对应的数据服务;参数解析模块,根据所述数据服务生成模块生成的所述数据服务,对所述配置参数进行解析;语句生成模块,根据所述参数解析模块的解析结果,生成对应于所述解析结果的SQL 访问数据;数据接口模块,将所述数据服务生成模块生成的所述数据服务连接至数据库; 语句执行模块,在所述数据库中,利用所述数据服务执行所述语句生成模块生成的所述SQL访问数据,并从所述数据库中获取对应的指定数据;数据发布模块,对所述语句执行模块获取的所述指定数据进行发布。
2.根据权利要求1所述的发布数据库数据的装置,其特征在于,所述配置参数生成模块生成的所述配置参数包括数据源、SQL语句模板、SQL参数、输出结果的参数和/或所述数据服务的配置。
3.根据权利要求1或2所述的发布数据库数据的装置,其特征在于,所述数据服务生成模块生成的所述数据服务包括=WebService和/或程序集。
4.根据权利要求1或2所述的发布数据库数据的装置,其特征在于,还包括配置文件生成模块,将所述配置参数生成模块生成的所述配置参数生成为配置文件; 存储模块,将所述配置文件生成模块生成的所述配置文件进行存储。
5.根据权利要求4所述的发布数据库数据的装置,其特征在于,所述配置文件生成模块生成的所述配置文件包括XML文件、行分隔文本文件和/或数据块记录文件。
6.一种发布数据库数据的方法,其特征在于,包括 步骤202,根据接收到的用户的配置命令,生成配置参数; 步骤204,根据所述配置参数,生成对应的数据服务;步骤206,所述数据服务解析所述配置参数,并生成对应的SQL访问数据; 步骤208,所述数据服务连接至数据库,并通过执行所述SQL访问数据,从所述数据库中获取指定数据,以及发布所述指定数据。
7.根据权利要求6所述的发布数据库数据的方法,其特征在于,所述配置参数包括 数据源、SQL语句模板、SQL参数、输出结果的参数和/或所述数据服务的配置。
8.根据权利要求6或7所述的发布数据库数据的方法,其特征在于,所述数据服务包括IebService和/或程序集。
9.根据权利要求6或7所述的发布数据库数据的方法,其特征在于,所述步骤202之后,还包括将所述配置参数生成为配置文件后,存储所述配置文件。
10.根据权利要求9所述的发布数据库数据的方法,其特征在于,所述配置文件包括 XML文件、行分隔文本文件和/或数据块记录文件。
全文摘要
本发明提供了一种发布数据库数据的装置,包括配置参数生成模块,根据接收到的用户的配置命令,生成配置参数;数据服务生成模块,生成对应的数据服务;参数解析模块,对配置参数进行解析;语句生成模块,对生成对应于解析结果的SQL访问数据;数据接口模块,将数据服务连接至数据库;语句执行模块,在数据库中,利用数据服务执行SQL访问数据,并从数据库中获取对应的指定数据;数据发布模块,对获取的指定数据进行发布。相应地,本发明还提供了一种发布数据库数据的方法。通过本发明的技术方案,可以通过对配置参数的改变,实现对数据库数据的发布过程中的不同数据需求,使得对数据库的数据发布更快速、灵活,节省用户的开发成本和开发时间。
文档编号G06F17/30GK102567517SQ20111044679
公开日2012年7月11日 申请日期2011年12月28日 优先权日2011年12月28日
发明者王大伟, 程操红, 黄海泉 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1