著录项信息
专利名称 | 报表的实现方法 |
申请号 | CN02102982.2 | 申请日期 | 2002-02-10 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2003-08-27 | 公开/公告号 | CN1438591 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市科技园科发路华为用户服务中心大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 周兴华;李自军;张毅;闵国兵;谭斌;易东;夏晶;刘松;望远闻 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明公开一种智能报表的实现方法,包括如下步骤:1)报表客户端收到用户报表请求后,交互式地接收用户为这张报表设定的查询数据库的条件,生成一个访问业务数据库的请求并发往报表服务器;2)报表服务器从系统数据库中读取业务数据库的信息,根据这些信息访问业务数据库,查询出满足设定条件的数据,并将数据返回报表客户端;3)报表客户端根据该数据及报表模板中的格式自动生成报表并显示给用户。其优点是:对于任何对报表服务器或其数据库代理开放了业务数据库的业务系统,不作任何修改就能够正常地被用户所使用,对数据库的连接具有通用性。数据采集、传输、处理与报表生成、发布操作均由报表系统完成,可以实现跨平台的报表设计。
技术领域:\n本发明涉及一种报表的实现方法。\n背景技术:\n在以前的智能产品中,涉及到报表相关的业务时,各个制造商使用 不同的技术来实现,既不经济,相互间又没法借鉴。另一个主要的客观 原因是各个制造商使用的开发技术存在差异,同时业务支撑数据库也是 互不相同。因此很难形成一个通用的产品,各报表系统对数据库的连接 具有相对的专一性。\n发明内容:\n本发明的目的就是为了解决以上问题,提供一种报表的实现方法, 使得开发一个通用的产品成为可能。\n为实现上述目的,本发明提出一种报表的实现方法,其特征是包括 如下步骤:1)报表客户端收到用户报表请求后,交互式地接收用户为 这张报表设定的查询数据库的条件,生成一个访问业务数据库的请求并 发往报表服务器;2)报表服务器从系统数据库中读取业务数据库的信 息及数据库代理的信息,根据这些信息将请求分发到对应的数据库代理 上,由该数据库代理访问业务数据库,查询出满足设定条件的数据,并 将数据返回报表服务器,由报表服务器将数据返回报表客户端;3)报 表客户端根据该数据及报表模板中的格式自动生成报表并显示给用户。\n由于采用了以上的方案,对于任何对报表服务器或其数据库代理开 放了业务数据库的业务系统,不作任何修改就能够正常地被用户所使 用,在用户看来,对数据库的连接具有通用性。数据采集、传输、处理 与报表生成、发布操作均由报表系统完成,可以实现跨平台的报表设 计。\n附图说明:\n图1是本发明体系结构示意图。\n图2是本发明一个具体应用组网示意图。\n具体实施方式:\n下面通过具体的实施例并结合附图对本发明作进一步详细的描述。\n随着Java开发技术的成熟(相关技术请参考Sun公司网站 http://java.sun.com),利用Java中JDBC技术(美国SUN公司提供 的通用数据库访问接口,基于JAVA技术开发,通过它能过简单的实现 不同平台下不同数据库的存取访问),使得跨越不同制造商的业务支撑 数据库的差异成为可能;通过Java的Web服务器与ActiveX组件技术 (美国Microsoft公司倡导的组建程序设计技术,通过此技术很容易地 实现软件对象的共享),即可实现方便、安全的B/S(browser/Server 结构,即浏览器/服务器体系结构,其特点是由客户端机与网络浏览器 构建,客户端拥有无需安装,使用方便,易于扩展的优点)浏览与操作 管理方式。\n这些技术的发展,使本发明的实现成为可能。图1就是利用本发明 开发的一个报表系统的原理图。该系统分为三部分:报表客户端、报表 服务器(可称为WebServer)、数据库代理(可称为ProxyServer)。 这三部分协调工作访问业务系统开放的业务数据库。图1中系统数据库 用于保存报表系统中能够访问的业务数据库列表、用户列表、模板库等 信息,是报表系统的配置库,本身并不保存业务数据。\n实现报表的流程为:用户通过网络从报表服务器下载并运行报表客 户端程序,然后通过超文本传输协议(http协议)登录到报表服务器 上。用户发出访问业务数据库的请求,接收到请求后从系统数据库中 读取业务数据库信息与数据库代理信息,根据这些信息将请求分发 到一个数据库代理上。数据库代理访问业务数据库并将结果返回 报表服务器,报表服务器打包后返回报表客户端,客户端根据数据生成 报表并显示给用户。\n报表客户端与报表服务器之间借助报表服务器采用http协议通 讯;报表服务器与数据库代理之间采用套接字(Socket)方式通讯;数 据库代理与业务数据库间采用Socket方式通讯。\n客户端可采用Windows下的可视化开发工具开发,运行在Windows 平台下;数据库代理与数据库代理采用JAVA开发,要求能够在各种操 作系统下调试通过;不限制业务数据库系统运行的平台。图1中, Windows+IE,UNIX/NT是指该部分所使用的操作系统实例。\n单个系统中报表服务器允许有一个,报表客户端允许有多个。报表 服务器建立许可证(License)机制,同时能够连接到报表服务器的客 户端数量不能够超过授予的License数量。数据库代理允许有多个,每 个数据库代理允许访问多个业务数据库。图1中的“N∶1”、“1∶ N”、“M∶N”就是表达这个含义,其中M、N为自然数。\n也可以同时在一台或多台报表服务器上可以为同一个业务启动多份 报表系统,以达到提高处理能力、方便权限管理的目的。目前应用得比 较少,更多的是单一报表服务器。\n系统中,客户端主要包括以下几部分\nA>管理程序,能够管理系统的用户、数据源、数据库代理、报表 与报表模板,包括客户端登录、数据源定制等,其中数据源定制包括定 义系统的数据源属性、表与存储过程,其中数据源属性包括数据库名 称、端口、数据库用户名和数据库用户名密码等。\nB>报表模板设计器,供用户设计报表文件。\nC>报表查询条件设置界面,用户设置一个报表的查询条件;用户 通过此界面为所需报表设定查询数据库的条件\nD>报表浏览器,用来浏览本系统生成的报表,可以与上一部分在 同一程序中实现。\n报表服务器包括以下几部分:\nA>支撑软件,如Resin、WebSphere等,这部分无需开发。\nB>系统管理软件,用于处理客户端管理程序与报表设计器发往报 表服务器的命令:如用户登录、修改数据源、下载报表文件等。\nC>数据查询软件,接收报表查询条件设置界面传过来的数据查询 请求,与数据库代理通讯取回结果,并将结果发往客户端。这部分与上 一部分在同一程序中完成。\n数据库代理仅实现访问业务数据库取回结果的单一功能。\n一个典型应用组网实例如图2所示。其中DDN是指数字数据网。\n利用本发明开发的上述系统与现有技术相比的优缺点如下表所示: 现有技术 我们实施的技术 所实施技术的优点 报表客户端要根据业务 数据库的不同字符集, 手工配置数据库连接 串。 根据用户选择不同的数 据库字符集,自动生成 数据库连接串,不需要 用户配置。 避免用户配置数据库连 接串。 通常是一次性取回从数 据库查询的数据。 提供了对数据库的分批 提取。 降低了大数据量时对系 统的冲击。在系统配置 一定的情况下,可以有 效提高数据访问量。 一般采用报表服务器直 解访问数据库的方式。 通过数据库代理访问数 据库 使整个系统的处理能力 (量)更大;并发性更 好;便于实现跨平台。 报表模版一般为数据定 义,很少涉及报表格 式。 模板内含有丰富的格式 信息。 可以从多样的格式和丰 富的数据两方面满足用 户的需求。\n说明:目前大多数的报表系统没有使用报表服务器技术,即只采用 两层结构:“(客户端-报表服务器)-数据库”。我们首次将数据库 代理技术应用到了报表系统中,构成了三层结构:“(客户端-报表服 务器-数据库代理服务器)-数据库”,这样,使整个系统的处理能力 (量)更大,并发性更好,便于实现跨平台。\n本发明可应用于与报表处理相关的有线、无线、融合等各种业务。 其中的报表可以是任何报告工作情形的表格,利用本发明可开发出通用 报表系统,支持强大的用户自定义报表功能,可以支持财务报表、销售 业绩报表在内的所有报表,即一个“任何报表”系统。“任何对数据库 代理开放的业务数据库都可以适用”。任意一个业务,只要对报表系统 开放数据库访问权限,可以在客户端的数据源定义中定义该数据库系统 的数据字典(包括该数据库有哪些表哪些存储过程等)就能够为他设计 相应的报表模板。整个过程中不涉及到任何特定业务,也无需业务系统 作任何二次开发。\n本发明已通过试点网验证,取得了满意的效果。
法律信息
- 2022-04-26
文件的公告送达
文件的公告送达失败
收件人: 岳亚
文件名称: 专利权届满终止通知书
- 2022-03-01
专利权有效期届满
IPC(主分类): G06F 17/30
专利号: ZL 02102982.2
申请日: 2002.02.10
授权公告日: 2005.02.16
- 2005-02-16
- 2003-11-12
- 2003-08-27
- 2002-06-05
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |