一种实现用户自定义的信息查询方法和装置的制作方法

文档序号:6579208阅读:431来源:国知局

专利名称::一种实现用户自定义的信息查询方法和装置的制作方法
技术领域
:本发明涉及数据通信领域,特别涉及一种基于webservice实现用户自定义的信息查询方法和装置。
背景技术
:随着计算机网络应用的不断深入,企事业单位的信息化日益普及,企事业单位在引入各种信息化管理系统时,不同的管理系统极有可能由不同的开发商所提供,且不同的管理系统可能会采用不同的语言进行开发,使得各个管理系统之间无法进行信息共享,各管理系统间彼此形成了信息孤岛。例如,在大学院校中,存在有一卡通管理系统、网络接入计费管理系统、学籍管理系统等,当上述管理系统由不同的开发商所提供,各管理系统间彼此孤立,在新学期开学时,需要分别在一卡通管理系统、网络接入计费管理系统和学籍管理系统中进行开户和缴费,增加了管理人员的工作量,完全没有体现信息化的便利。为了解决上述问题,现有技术中有通过SOA(Service-OrientedArchitecture,面向服务的体系结构)构建各种管理系统中的服务,并以统一和通用的方式进行管理系统之间的交互,解决了信息孤岛的问题,使得各个管理系统能够进行相互的信息共享。其中,该SOA技术独立于实现服务的硬件平台、操作系统和编程语言。例如,在大学院校的网络接入计费管理系统中提供WebServices(服务器)的服务接口,以供第三方管理系统(例如,一卡通管理系统和学籍管理系统)调用。具体的,通过该WebServices的服务接口,当在一-)^通管理系统中进行开户和缴费时,可以自动调用该WebServices的服务接口,从而实现在网络接入计费管理系统中的开户及缴费操作,并为学生提供网络接入的服务,大大减少了管理人员的工作量。然而,通过使用WebServices(基于SOA技术)融合各种管理系统时,WebServices提供商需要根据实际的需要定义一系列接口,将接口信息通过WebServices向外发布,并同时提供相应的WSDL(WebServicesDefinitionLanguage,Web服务描述语言)文件,第三方管理系统通过特定的工具将该WSDL文件转化成相应的代码,并调用相应的服务接口,从而通过该接口获取到另一个系统相应的数据或进行相应的操作。例如,WebServices提供商定义网络接入计费管理系统的接口,并向外公布该网络接入计费管理系统的接口和对应的WSDL文件,第三方管理系统(例如,一^Nt管理系统)将WSDL文件转化成一卡通管理系统所使用的代码,并调用网络接入计费管理系统的接口,从而实现在网络接入计费管理系统中的开户及缴费操作。这样,随着用户的需求多种多样(例如,用户需要调用网络接入计费管理系统的接口、一^Nt管理系统的接口等),对应于每个管理系统,必然需要向外公布查询接口和WSDL文件,即WebServices提供商需要不断地开发并发布每个管理系统所对应的服务接口,并由第三方管理系统开发人员利用WSDL文件进行相应的开发,从而通过WebServices实现信息共享。WebServices提供商开发并发布每个管理系统所对应的服务接口时,给WebServices提供商带来了大量开发工作,每个需求都需要进行单独开发和测试,开发周期长,浪费了WebServices提供商大量的人力、物力、财力。
发明内容本发明提供一种实现用户自定义的信息查询方法和装置,以减少用户开发工作量,实现信息共享。为达到上述目的,本发明一方面提供一种实现用户自定义的信息查询的方法,应用于包括至少两个信息彼此不同共享的第三方管理系统和Web服务器组成的网络系统中,所述方法包括以下步骤所述Web服务器接收来自管理员设置的与其中至少一个第三方管理系统对应的查询模板;当所述查询模板合法时,存储所述查询模板;所述Web服务器根据所述查询模板为其他第三方管理系统提供查询接口,接收来自其他第三方管理系统通过所述查询接口输入的查询信息;当所述查询信息正确时,调用与所述查询信息对应的第三方管理系统的查询才莫板,并根据所述对应的查询模板从该第三方管理系统数据库中查询数据,将查询结果返回给其他第三方管理系统。优选的,所述查询模板为管理员事先根据用户实际需要自定义设置,携带的内容包括以下内容中的一种或多种命令字、连接的数据库源名、SQL语句、输入参数和输出参数。优选的,所述Web服务器接收来自管理员设置的与其中至少一个第三方管理系统对应的查询模板之后,还包括所述Web服务器解析所述查询模板,并判断所述查询模板的合法性;当所述查询模板不合法时,所述Web服务器发送错误提示,由管理员修改所述查询模板并重新发送给所述Web服务器。优选的,所述查询接口包括singleQuery接口和multiQuery接口;其中,所述singleQuery接口用于提供单条记录的查询功能;所述multiQuery接口用于提供多条记录的查询功能。优选的,所述接收来自其他第三方管理系统通过所述查询接口输入的查询信息之后,还包括所述Web服务器判断所述查询信息是否正确;当所述查询信息不正确时,所述Web服务器向其他第三方管理系统返回错误提示。优选的,所述Web服务器判断所述查询信息是否正确具体包括所述Web服务器判断所述查询信息中是否有正确的命令字,并判断查询信息中的输入参数是否合法;当所述查询信息中有正确的命令字,且输入参数合法时,所述Web服务器判断所述查询信息正确;否则,所述Web^良务器判断所述查询信息不正确。优选的,所述调用与所述查询信息对应的第三方管理系统的查询模板,并根据所述对应的查询模板从该第三方管理系统数据库中查询数据具体包括所述Web服务器根据所述查询信息中的命令字调用第三方管理系统的查询模板;所述Web服务器从所述查询模板中获取SQL语句,并使用所述查询信息中的输入参数重新组织所述SQL语句;所述Web服务器才艮据所述重新组织的SQL语句从所述查询模板对应的第三方管理系统数据库中查询数据。本发明还提供一种应用本发明方法的实现用户自定义的信息查询装置,应用于包括至少两个信息彼此不能共享的第三方管理系统和Web服务器组成的网络系统中,所述信息查询装置包括获取模块,用于接收来自管理员设置的与其中至少一个第三方管理系统对应的查询纟莫才反;存储模块,与所述获取模块电性连接,用于当所述查询模板合法时,存储所述查询模板;查询模块,用于#>据所述查询模板为其他第三方管理系统提供的查询接口接收来自其他第三方管理系统输入的查询信息;处理模块,与所述存储模块和查询模块分别电性连接,用于当所述查询信息正确时,从存储模块中调用与所述查询信息对应的第三方管理系统的查询模板,并根据所述对应的查询模板从该第三方管理系统数据库中查询数据,将查询结果返回给查询的其他第三方管理系统。优选的,所述查询模板为管理员事先根据用户实际需要自定义设置,携带内容包括以下内容中的一种或多种命令字、连接的数据库源名、SQL语句、输入参数和输出参数;所述查询接口包括singleQuery接口和multiQuery接口;其中,所述singleQuery接口用于提供单条记录的查询功能;所述multiQuery接口用于提供多条记录的查询功能。优选的,所述装置还包括判断模块,与所述获取模块和判断模块分别电性连接,用于判断与第三方管理系统对应的查询模板是否合法;当合法时,由所述存储模块存储;当不合法时,由所述获取模块发送错误提示;或者,用于判断所述查询信息是否正确;当正确时,由所述处理模块对所述查询信息进行处理;当不正确时,由所述查询模块向其他第三方管理系统返回错误提示。优选的,当所述判断模块用于判断所述查询信息是否正确时,具体为判断所述查询信息中是否有正确的命令字,并判断查询信息中的输入参数是否合法;当所述查询信息中有正确的命令字,且输入参数合法时,判断所述查询信息正确;否则,判断所述查询信息不正确。优选的,述处理^^莫块具体用于根据所述查询信息中的命令字调用第三方管理系统的查询模板;从所述查询模板中获取SQL语句,并使用所述查询信息中的输入参数重新组织所述SQL语句;以及根据所述重新组织的SQL语句从所述查询模板对应的该第三方管理系统数据库中查询数据。与现有技术相比,本发明具有以下优点通过在Web服务器中存储自定义的查询模板,并通过查询接口的方式为第三方管理系统提供相应的查询服务,从而解决了信息孤岛的问题,使得各个管理系统能够进行相互的信息共享,显著减少了管理人员的工作量;而且用户可以根据需求自己定制查询模板,满足了用户各种各样的需求。图l是本发明信息查询方法具体应用场景的示意图2是本发明图1所示应用场景对应的方法流程图3是本发明图2所示管理员自定义查询模板的详细流程图4是本发明图2所示管理员将查询模板上传到Web服务器的详细流程图5是本发明图2所示第三方管理系统通过使用查询接口调用查询模板的详细流程图6是本发明提出的应用本发明方法的信息查询装置结构图。具体实施例方式本发明的核心思想是由用户根据自身的实际需要自定义各管理系统的查询模板,并将定义好的查询模板通过配置工具实时的上传到Web服务器中,当Web服务器获知该查询模板合法时,存储该查询模板,由第三方管理系统调用,并从对应的管理系统数据库中查询到需要的数据,从而实现了各个管理系统之间的信息共享,减少管理人员的工作量;而且由于查询模板为用户自定义的,满足了用户各种各样的需求。图1和图2分別是本发明信息查询的方法的具体应用场景示意图以及对应的流程图,本应用场景是以大学院校的应用场景为例进行说明的,对于任何包含多个管理系统的场景均可以使用本发明提供的方案。本应用场景中,包括Web服务器和多个管理系统,为描述方便,以下以该管理系统包括一""Nt管理系统、学籍管理系统和网络接入计费管理系统为例进行说明。需要说明的是,该Web服务器是基于SOA技术的Web服务器,所有基于SOA技术的服务器均在本发明的保护范围之内,例如,iMC(IntelligentManagementCenter,智能管理中心)服务器。其中,上述的信息查询方法包括以下步骤步骤S201,管理员自定义查询模板。管理员可以#4居实际需要定制不同查询需求的查询才莫板,例如,为用户认证失败日志定制查询模板、为用户开户信息定制查询模板等。本发明中,该查询模板可以用通用的XML(ExtensibleMarkupLanguage,可扩展标记语言)格式来描述,当然,该查询模板也可以用其他的格式来描述,在此不再赘述。进一步的,对于同一种查询需求,管理员可以根据实际需要为所有的管理系统定制相同的查询模板,例如,为一""i^通管理系统、学籍管理系统和网络接入计费管理系统定制相同的用户认证失败日志查询模板。当然,管理员也可以根据实际需要为不同的管理系统定制不同的查询模板,例如,为一卡通管理系统单独定制用户认证失败日志查询才莫板l,而为其他的管理系统定制用户认证失败日志查询^^板2,这种情况不再详细描述,本发明以为所有的管理系统定制相同的查询模板为例进行说明。管理员通过管理设备设置查询模板,该管理设备为管理员所使用的终端设备,当然,管理员设置查询模板的方式并不局限于此,在此不再赘述。本发明中,该查询模板中的内容包括但不限于命令字、连接的数据库源名、SQL(StructuredQueryLanguage,结构化查询语言)语句、输入参数和输出参数等。其中,该命令字是该查询模板的全局唯一标识,用户可以通过查询该命令字来调用指定的查询,并获取相应的查询结果;该连接的数据库源名用来描述查询是从哪个数据库中进行的;该SQL语句是数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库系统;该输入参数指出了查询可以使用的所有参数;该输出参数返回了结果集信息。步骤S202,管理员将该查询模板上传到Web月良务器,由Web月良务器存储合法的查询模板。管理员在查询才莫4反自定义完成后,将该查询模板上传到Web服务器中,由该Web服务器解析该查询模板并进行校验,当校验结果为该查询模板合法时,Web服务器存储该查询模板,当校验结果为该查询模板不合法时,Web服务器通知管理员该查询模板不合法的信息,管理员修改该查询模板,并将修改后的查询模板重新上传到Web服务器,一直到该查询模板合法并由Web服务器存储为止。本发明中,Web服务器在获得查询模板后,还需要根据该查询模板为用户提供对应的查询接口,使得第三方管理系统通过该查询接口实现用户的自定义查询。其中,该查询接口分别为multiQueiy(多种查询)接口和singleQuery(单一查询)接口,当然,根据实际的需要,还可以为用户提供其他的查询接口来实现自定义查询,在此不再赘述。步骤S203,第三方管理系统通过使用查询接口调用查询模板,并使用该查询模板查询对应数据库中的数据。例如,第三方管理系统需要查询学籍管理系统的用户开户信息时,通过该查询接口调用到用户开户信息的查询模板,并使用该查询模板查询学籍管理系统对应的数据库中的用户开户数据。为了更好地理解本发明的实现,以下详细介绍上述各步骤。其中管理员自定义查询模板的详细过程如图3所示,包括以下步骤步骤S2011,管理员自定义查询模板中的命令字,其中,该命令字可以采用command标签来描述。步骤S2012,管理员自定义查询模板中的连接的数据库源名,其中,该连接的数据库源名可以采用database标签来描述,当进行分布式数据库查询时,需要在指定的数据库(被查询的数据库)中创建数据库链接,并通过链接服务器实现分布式查询;当进行非分布式数据库查询时,可以直接对数据库进行查询。步骤S20B,管理员自定义查询模板中的SQL语句,其中,管理员可以根据不同的数据库类型定义不同的SQL语句,当SQL语句与数据库无关时,则该SQL语句为标准的SQL语句,对于大多数的数据库(以下均称为关系数据库)而言,均可以使用该标准的SQL语句,其中该标准的SQL语句可以使用common标签来描述;而对于特定的数据库,需要使用特殊的SQL语句和标签,例如,对于SqlServer数据库,需要采用mssql标签来描述,而对于Oracle数据库,需要采用oracld标签来描述。需要说明的是,在定制查询模板时,管理员需要设计标准的SQL语句;当然,管理员还可以根据实际的需要设计用于SqlServer数据库的SQL语句和用于Oracle数据库的SQL语句。步骤S2014,管理员自定义查询模板中的输入参数,其中,该输入参数采用input标签来描述,该输入参数的属性包括但不限于序号item、参数名name、参数类型type等;该参数类型包括但不限于int(短整型)类型、long(长整型)类型、float(单精度数)类型、double(双精度数)类型、string(字符串)类型、datetime(长日期)类型以及date(短日期)类型等。步骤S2015,管理员自定义查询模板中的输出参数,其中,该输出参数釆用retum标签来描述,输出参数中携带的信息包括但不限于返回列序号item、返回列名(或称为参数名)name、返回列数据类型(或称为参数类型)type等。其中,该返回列顺序号是指SQL语句中选择的第几列。需要说明的是,上述步骤S2011-步骤S2015之间均没有先后顺序关系,即上述5个步骤的先后顺序为根据实际需要任意选择的,其中,上述命令字、连接的数据库源名、SQL语句、输入参数和输出参数的标签描述方式并不局限于此,还可以根据实际的需要选取其他的标签进行描述,例如,对于命令字,还可以使用标签order,对于输出参数,还可以使用标签output,在此不再赘述。下面以一个查询模板的例子来更加清楚的描述该自定义的查询模板,如下所示;<formula>formulaseeoriginaldocumentpage13</formula>自定义接口从ead的方法中获得数据库类型,根据凄t据库类型读取对应的SQL<formula>formulaseeoriginaldocumentpage13</formula>_<!—如果SQL数据库无关,则可以直接使用common标签描述,此时不需要特定的数据库标签—><mssql>SQL语句<mssql><oracle>SQL语句</oracle></sql>-<input>〈paramitem="l"type="string"name="userName"/><paramitem="2"type="string"name="loginName"/><paramitem="3"type="datetime"name="occurStartTime"/><paramitem="4"type="datetime"name="occurEndTime"/></input>-<retum>〈paramitem="l"type-"long"name="id"/><paramitem="2"type="long"name="userld"/><paramitem="3"type="long"name="serviceld"/><paramitem="16"type="string"name="logonDomainName"/></return></query>其中,在上述的查询模板中,query_user—auth—fail—log为命令字(命令字的格式为〈command〉命令字〈/command〉),ead为连接的数据库源名(格式为〈database〉数据库源名〈/database〉),并分别定义了Oracle数据库的SQL语句、SqlServer数据库的SQL语句;输入参数中携带的内容包括userName(支持类型string)等;返回的输出参数中携带的内容包括了16列,每列的参数参见上述的查询模板,例如,第一列为id(支持类型long),在此不再赘述。管理员将该查询模板上传到Web服务器,由Web服务器存储合法的查询模板的详细过程如图4所示,包括以下步骤步骤S2021,管理员将定义好的查询才莫板上传到Web服务器中。其中,在服务提供商提供的基于SOA技术的Web服务器中,为了实现动态加载查询模板和动态发布查询模板的过程,为管理员提供了上传查询模板的配置界面,管理员可以通过使用该配置界面将上述自定义的查询模板上传到该Web服务器中,该自定义的查询模板在上述图3所示的流程中已详细描述,在此不再赘述。步骤S2022,Web服务器解析该查询才莫板,并判断该查询模板的合法性,当该查询模板合法时,转到步骤S2024,当该查询^t板不合法时,转到步骤S2023。具体的,Web服务器在接收到查询模板后,解析出该查询模板中携带的相应内容,即解析出命令字、连接的数据库源名、SQL语句、输入参数和输出参数等五个部分,通过判断上述五个部分的内容是否合法,从而最终判断出该查询模板是否合法。例如,当解析出查询模板中没有命令字的部分(或输入参数等其他部分)时,可以获知该查询模板是不合法的;当实际的应用中并没有该连接的数据库源名所表示的数据库时,可知该查询模板是不合法的;当SQL语句的编程出现错误时,可知该查询模板是不合法的,当然,该不合法的情况为根据实际的需要任意设置的,在此不再赘述。步骤S2023,Web服务器发出错误提示,并要求管理员修改查询模板并重新上传修改后的查询模板,转到步骤S2022,由Web服务器判断修改后的查询模板是否合法。其中,Web服务器可以只发送一个error信息,以告知管理员该查询模板出现错误;Web服务器还可以在错误提示中携带出错的原因,以使管理员直接获知出错的原因,例如,查询模板中没有命令字时,Web服务器直接发送没有命令字的错误提示,管理员在获知该信息后,直接在查询模板中添加命令字。步骤S2024,Web服务器存储该查询模板。其中,Web服务器可以直接将该查询模板的信息加载到内存中,并存储在服务器文件系统中,以在后续的使用过程中可以直接快速的调用该查询模板。具体的,Web服务器还需要通过命令字向外部提供该Web服务器的查询服务,使第三方管理系统可以使用该查询模板进行查询服务,从而实现了自定义查询的动态发布。例如,当需要使用查询模板查询该一卡通管理系统的相关信息(例如,用户的开户信息)时,该第三方管理系统为除了该一卡通管理系统和Web服务器之外的所有系统,例如,学籍管理系统、网络接入计费管理系统等。当需要使用该查询模板查询其他系统的相关信息时,第三方管理系统的情况与此类似,在此不再赘述。进一步的,对应于上述查询模板的例子,当管理员需要将命令字query—user_auth—failjog向外发布后,第三方就可以通过使用该query—user—auth—fail—log调用到对应的查询模板,并使用该查询模板访问对应第三方管理系统的数据库。第三方管理系统通过使用查询接口调用查询模板,并使用该查询模板查询对应数据库中的数据的详细过程如图5所示,包括以下步骤步骤S2031,Web服务器根据上述自定义的合法查询模板为用户提供查询接口。具体地,在本发明中,Web服务器提供了两种查询接口来实现用户的自定义查询,该查询接口分别为multiQuery接口和singleQuery接口。第三方管理系统通过调用该multiQuery接口或该singleQuery接口来实现查询相关的数据。例如,一^^通管理系统通过使用该singleQuery接口查询网络接入计费管理系统中终端用户的开户信息。需要说明的是,该一卡通管理系统是通过使用查询模板进行信息查询的,以下分别详细描述该singleQuery接口和multiQuery接口。(1)singleQuery接口;用于提供单条记录的简单查询功能,在使用该singleQuery接口进行查询时,查询结果最多返回一条记录,该返回的记录是以一维的字符串数组返回的。本发明中,对于该singleQueiy接口,输入参数包括命令字和查询条件的数组(该数组为查询模板中输入参数部分);返回的结果集中包括返回的字段名、字段类型及字段值等,该返回的内容为上述查询模板中的输出参数部分,即该返回的内容为查询的结果;其中,当没有符合查询条件的记录时,则返回的错误号(errorCode)为O(当然,根据实际的需要,也可以返回其它的错误号),对应的一维的字符串数组(resultValues)为null(空)。需要说明的是,在使用singleQuery接口进行查询时,调用该singleQuery接口的第三方管理系统需要提供3个参数,如表l所示表l<table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table>细描述,在此不再赘述。字符串errorMsg错误信息,当查询出现错误时,则该返回值为具体的错误信息,该错误信息与上述具体的错误号是有对应关系的,当查询没有出现错误时,则返回的错误信息为空。(2)multiQuery接口;用于提供多条记录的查询功能,在使用该multiQuery接口进行查询时,查询结果可能返回多条记录,该返回的记录是以二维字符串数组的形式返回的。本发明中,对于该multiQuery接口,输入参数包括命令字、查询条件的数组(该数组为查询模板中输入参数部分)、开始取数的位置以及需要返回几条记录的信息;返回的结果集中包括返回的字段名、字段类型及字段值等,该返回的内容为上述查询模板中的输出参数部分,即该返回的内容为查询的结果;其中,当没有符合查询条件的记录时,则返回的错误号(errorCode)为O,对应的二维字符串数组(esultValues)为空,返回的记录数为0。需要说明的是,在使用multiQuery接口进行查询时,调用该multiQuery接口的第三方管理系统需要提供5个参数,如表3所示表3<table>tableseeoriginaldocumentpage18</column></row><table><table>tableseeoriginaldocumentpage19</column></row><table>当第三方管理系统使用该multiQuery接口时,相应返回值中携带的属性包括的内容如表4所示表4<table>tableseeoriginaldocumentpage19</column></row><table>步骤S2032,第三方管理系统通过查询接口向Web服务器输入查询信息具体的,当第三方管理系统调用singleQuery接口时,需要输入上述表l中的相关内容;当第三方管理系统调用multiQuery接口时,需要输入上述表3中的相关内容;为描述方便,本发明中,以第三方管理系统调用singleQuery接口为例进行说明。当在第三方管理系统调用singleQuery接口时,Web服务器将第三方管理系统需要输入的信息栏位通过查询接口提供给第三方管理系统,因而,第三方管理系统可以直接根据该singleQuery接口中显示的信息栏位输入对应的信息,例如,第三方管理系统需要输入命令字、查询条件中各项名称数组和对应的查询条件中各项值的数组。步骤S2033,Web服务器检查该输入的查询信息中是否有正确的命令字存在,当有正确的命令字存在时,转到步骤S2035,当没有命令字存在或命令字错误(在Web服务器中没有对应的查询模板)时,转到步骤S2034。步骤S2034,Web服务器向第三方管理系统返回错误号和错误提示。其中,Web服务器可以向第三方管理系统发送error信息,以告知第三方管理系统出现错误,并向第三方管理系统发送对应的错误号,例如,通过向第三方管理系统发送错误号l,表示没有命令字。如表5所示,为一种错误号和具体错误的对应关系,当然,该表5中的内容并不局限于此,该错误号和具体错误的对应关系也不局限于此,该表5中的内容可以根据实际的需要任意的进行扩展和修改,在此不再赘述。表5错误号具体错误1没有命令字或命令字错误2输入参数出错3SQL语句出错步骤S2035,Web服务器检查输入参数是否合法,即第三方管理系统所提供的参数在命令字对应的查询模板中是否都存在。如果不存在,则转到步骤S2034,如果存在,转到步骤S2036。步骤S2036,Web服务器调用查询模板中的内容。其中,Web服务器根据该命令字调用到对应的查询模板,并提取出该查询模板中的内容。步骤S2037,Web服务器从查询模板中获取出相应的SQL语句;并使用第三方管理系统提供的参数重新组织SQL语句。其中,Web服务器可以根据该查询模板中的连接的数据库源名(可以通过database标签找到)查找到对应的数据库,并使用该SQL语句查询该数据库。本发明中,当第三方管理系统没有提供查询模板中所要求的所有参数时,根据实际的需要可以只对第三方管理系统提供的参数值进行替换。例如,在查询模板中的SQL语句中,有姓名、性别、年龄等类型时,若第三方只提供了姓名时,则只需要使用第三方管理系统提供的姓名替换查询才莫板中的姓名即可。需要说明的是,Web服务器从查询模板中获取出相应的SQL语句具体包括(1)Web服务器检查第三方管理系统是否提供了common语句所需要的输入参数,当提供了common语句所需要的输入参数且输入参数均正确时,则获取查询模板中common标签对应的SQL语句。(2)当第三方没有提供common语句所需要的输入参数,或common语句所需要的输入参数错误时,Web服务器通过接的数据库源名部分的内容检查数据库的类型,当数据库为oraclel数据库时,获取查询模板中oraclel标签对应的SQL语句;当数据库为SqlServer数据库时,获取查询模板中mssql标签对应的SQL语句。(3)Web服务器使用第三方管理系统输入的参数替换该查询模板中SQL语句中对应的参数。步骤S2038,Web服务器使用替换后的SQL语句从数据库中查询数据,并将查询到的数据返回给第三方管理系统。该使用SQL语句查询数据库中数据的过程不再详加描述。本发明中,当查询成功时,则将错误号置为O(当然,才艮据实际的需要,还可以将错误号设置为其他的数值,用来表示查询成功,在此不再赘述),并把符合查询条件的数据根据第三方管理系统的要求返回,该返回的信息如上述表2中所示的内容,在此不再赘述。当查询失败时,则返回相应的错误号及错误信息,该返回的信息如上述表5中所示的内容,例如,当输入参数出错时,Web服务器返回的错误号为2,返回的错误内容为输入参数出错。其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。可见,通过使用本发明提供的方法,通过在Web服务器中存储自定义的查询模板,并通过查询接口的方式为第三方管理系统提供相应的查询模板,从而解决了信息孤岛的问题,使得各个管理系统能够进行相互的信息共享,显著减少管理人员的工作量;而且用户可以根据需求自己定制查询模板,满足了用户各种各样的需求。本发明还提出了一种应用本发明方法的实现用户自定义的信息查询装置,应用于包括至少两个信息彼此不能共享的第三方管理系统和Web服务器组成的网络系统中,其中该Web服务器是基于SOA技术的Web服务器,如图6所示,所述Web服务器包括获取模块61,用于接收来自管理员设置的与其中至少一个第三方管理系统对应的查询模板;其中,所述查询模板为管理员根据用户的实际需要自定义设置,携带内容包括以下内容中的一种或多种命令字、连接的数据库源名、SQL语句、输入参数和输出参数。存储模块62,与所述获取模块61电性连接,用于当所述查询模板合法时,存储所述查询纟莫板。查询模块63,用于根据所述查询模板为其他第三方管理系统提供的查询接口接收来自其他第三方管理系统输入的查询信息;其中,所述查询接口包括singleQuery接口和multiQuery接口;所述singleQuery接口用于提供单条记录的查询功能;所述multiQuery接口用于提供多条记录的查询功能。处理模块64,与所述存储模块62和查询模块63分别电性连接,用于当所述查询信息正确时,从存储模块62中调用与所述查询信息对应的第三方管理系统的查询模板,并根据所述对应的查询模板从数据库中查询数据,将查询结果返回给其他第三方管理系统。本发明中,在查询^t块63接收到来自其他第三方管理系统输入的查询信息时,处理模块64根据所述查询信息中的命令字调用第三方管理系统的查询模板;从所述查询模板中获取SQL语句,并使用所述查询信息中的输入参数重新组织所述SQL语句;以及根据所述重新组织的SQL语句从所述查询模板对应的该第三方管理系统凝:据库中查询数据。判断模块65,与所述获取模块61、存储模块62、查询模块63以及处理模块64分别电性连接,在获取模块61接收到来自管理员的与其中至少一个第三方管理系统对应的查询才莫板时,判断^t块65判断与第三方管理系统对应的查询模板是否合法;当合法时,由所述存储模块62存储;当不合法时,由所述获取模块61发送错误提示。或者在查询模块63接收到来自其他第三方管理系统输入的查询信息时,判断模块65判断所述查询信息是否正确;当正确时,由所述处理模块64对所述查询信息进行处理;当不正确时,由所述查询才莫块63向其他第三方管理系统返回错误提示。进一步的,在查询模块63接收到查询信息时,所述判断模块65用于判断所述查询信息是否正确,具体为判断模块65判断所述查询信息中是否有正确的命令字,并判断查询信息中的输入参数是否合法;当所述查询信息中有正确的命令字,且输入参数合法时,判断所述查询信息正确;否则,判断所述查询信息不正确。上述模块可以分布于本发明装置的一个部件中,也可以分布于本发明装置的多个部件中。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。权利要求1、一种实现用户自定义的信息查询方法,应用于包括至少两个信息彼此不同共享的第三方管理系统和Web服务器组成的网络系统中,其特征在于,所述方法包括以下步骤所述Web服务器接收来自管理员设置的与其中至少一个第三方管理系统对应的查询模板;当所述查询模板合法时,存储所述查询模板;所述Web服务器根据所述查询模板为其他第三方管理系统提供查询接口,接收来自其他第三方管理系统通过所述查询接口输入的查询信息;当所述查询信息正确时,调用与所述查询信息对应的第三方管理系统的查询模板,并根据所述对应的查询模板从该第三方管理系统数据库中查询数据,将查询结果返回给其他第三方管理系统。2、如权利要求l所述的方法,其特征在于,所述查询模板为管理员事先根据用户实际需要自定义设置,携带的内容包括以下内容中的一种或多种命令字、连接的数据库源名、SQL语句、输入参数和输出参数。3、如权利要求l所述的方法,其特征在于,所述Web服务器接收来自管理员设置的与其中至少一个第三方管理系统对应的查询模板之后,还包括所述Web服务器解析所述查询模板,并判断所述查询模板的合法性;当所述查询模板不合法时,所述Web服务器发送错误提示,由管理员修改所述查询模板并重新发送给所述Web服务器。4、如权利要求1所述的方法,其特征在于,所述查询接口包括singleQuery接口和multiQuery接口;其中,所述singleQuery接口用于提供单条记录的查询功能;所述multiQuery接口用于提供多条记录的查询功能。5、如权利要求l所述的方法,其特征在于,所述接收来自其他第三方管理系统通过所述查询接口输入的查询信息之后,还包括所述Web服务器判断所述查询信息是否正确;当所述查询信息不正确时,所述Web服务器向其他第三方管理系统返回错误提示。6、如权利要求5所述的方法,其特征在于,所述Web服务器判断所述查询信息是否正确具体包括所述Web服务器判断所述查询信息中是否有正确的命令字,并判断查询信息中的输入参数是否合法;当所述查询信息中有正确的命令字,且输入参数合法时,所述Web服务器判断所述查询信息正确;否则,所述Web服务器判断所述查询信息不正确。7、如权利要求l所述的方法,其特征在于,所述调用与所述查询信息对应的第三方管理系统的查询模板,并根据所述对应的查询模板从该第三方管理系统数据库中查询数据具体包括所述Web服务器根据所述查询信息中的命令字调用第三方管理系统的查询模板;所述Web服务器从所述查询模板中获取SQL语句,并使用所述查询信息中的输入参数重新组织所述SQL语句;所述Web服务器根据所述重新组织的SQL语句从所述查询模板对应的第三方管理系统数据库中查询数据。8、一种应用本发明方法的实现用户自定义的信息查询装置,应用于包括至少两个信息彼此不能共享的第三方管理系统和Web服务器组成的网络系统中,其特征在于,所述信息查询装置包括获取模块,用于接收来自管理员设置的与其中至少一个第三方管理系统对应的查询才莫4反;存储模块,与所述获取模块电性连接,用于当所述查询模板合法时,存储所述查询模板;查询模块,用于根据所述查询模板为其他第三方管理系统提供的查询接口接收来自其他第三方管理系统输入的查询信息;处理模块,与所述存储模块和查询模块分别电性连接,用于当所述查询信息正确时,从存储模块中调用与所述查询信息对应的第三方管理系统的查询模板,并根据所述对应的查询模板从该第三方管理系统数据库中查询数据,将查询结果返回给查询的其他第三方管理系统。9、如权利要求8所述的装置,其特征在于,所述查询模板为管理员事先根据用户实际需要自定义设置,携带内容包括以下内容中的一种或多种命令字、连接的数据库源名、SQL语句、输入参数和输出参数;所述查询接口包括singleQuery接口和multiQuery接口;其中,所述singleQuery接口用于提供单条记录的查询功能;所述multiQuery接口用于提供多条记录的查询功能。10、如权利要求8所述的装置,其特征在于,所述装置还包括判断模块,与所述获取模块和查询模块分别电性连接,用于判断与第三方管理系统对应的查询模板是否合法;当合法时,由所述存储模块存储;当不合法时,由所述获取^莫块发送^"误提示;或者,用于判断所述查询信息是否正确;当正确时,由所述处理模块对所述查询信息进行处理;当不正确时,由所述查询模块向其他第三方管理系统返回错误提示。11、如权利要求IO所述的装置,其特征在于,当所述判断模块用于判断所述查询信息是否正确时,具体为判断所述查询信息中是否有正确的命令字,并判断查询信息中的输入参数是否合法;当所述查询信息中有正确的命令字,且输入参数合法时,判断所述查询信息正确;否则,判断所述查询信息不正确。12、如权利要求11所述的装置,其特征在于,所述处理^^块具体用于根据所述查询信息中的命令字调用第三方管理系统的查询模板;从所述查询模板中获取SQL语句,并使用所述查询信息中的输入参数重新组织所述SQL语句;以及根据所述重新组织的SQL语句从所述查询模板对应的该第三方管理系统数据库中查询数据。全文摘要本发明公开了一种实现用户自定义的信息查询方法,应用于包括至少两个信息不能彼此共享的第三方管理系统和Web服务器组成的网络系统中。该方法包括所述Web服务器接收来自管理员自定义设置的与其中至少一个第三方管理系统对应的查询模板;当所述查询模板合法时,存储所述查询模板;并接收来自其他第三方管理系统输入的查询信息;当所述查询信息正确时,调用与所述查询信息对应的第三方管理系统的查询模板。本发明中,显著减少管理人员的工作量,用户可以根据需求自己定制查询模板,满足了用户各种各样的需求。本发明同样提供了一种对应本发明方法的装置。文档编号G06F17/30GK101604338SQ20091015825公开日2009年12月16日申请日期2009年7月23日优先权日2009年7月23日发明者郑雄开申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1