采集自动组合(数据采集系统中自动入库设计工具的研究与实现(图))
优采云 发布时间: 2022-01-12 15:02采集自动组合(数据采集系统中自动入库设计工具的研究与实现(图))
数据采集系统中自动存储设计工具的研究与实现 徐鹏 孙原 清华大学计算机系 E-Mail: xp{s boron y)@kcg. CS。Co-ingIlu&edu。cn ■重叠:基于web的数据采集系统中,需要处理的数据量比较大;同时,采集的数据格式需要经常改变。因此,使用传统的音乐方法为每个版本的系统设计自己的教学数据存储程序往往成本高昂,开发周期长。需要为系统提供可视化的开发工具。使用户可以自定义采集中的数据模型与数据库的对应关系,系统自动根据用户完成入库操作 s 设置。本文将针对这一需求提出相应的解决方案。关磊词:JDBc,鼓数据字典,奶b-based数据采集组合对应和在线发布系统,定期报告自动数据存储系统主要用于接收用户在应用程序上提交的最终定期数据服务器。数据上报后,对上市公司数据进行分类提取,写入信息中心数据库。自动入库系统可与定期报表数据采集系统配合使用,即在通过网络将用户报表数据写入数据库的同时,对外发布所使用的数据信息基于信息模型证券交易所信息中心数据库。, 由定期报表数据自动入库系统写入信息中心数据库。同时进行仓储作业。根据信息中心的需要,可以对部分数据进行统计处理,生成统计信息并写入数据库;从而可以减轻信息中心工作人员的工作量。提高工作效率。
一。在线发布系统中基于W歌和JDBC的数据采集 本系统完全用Java语言编写,所以选择JDBC来访问数据库。这样既充分利用了Java语言的特点,又保证了其他部分与数据库的相对独立性。图书馆。诸如数据仓库系统之类的应用程序在服务器上运行。与客户端没有直接关系,直接通过J Mingc访问数据库。无需经过其他层。而当AppIet之类的浏览器助手要查询和修改数据库时。这是通过服务器上的 J8va 应用程序完成的。在这个系统中,无论是基于浏览器的数据采集系统。在基于浏览器的数据查询系统中,小程序不直接访问数据库,因为小程序受安全限制只能与下载的服务器建立连接。因此,只能访问服务器Application上的数据库。此系统的数据库可能与刀片服务器不在同一台计算机上。使用Java作为Applet的中间层访问数据库也可以提高访问效率,例如始终保持与数据库的连接,而不是每次都重新建立连接。您还可以组织和过滤 Applet 发送的请求。再次访问数据库。TcP 协议用于中间层的Applet 和Application 之间的通信。本系统使用JDBC访问数据库的一般程序流程如下: 1) 加载数据库的JDBC驱动;2) 与数据库建立连接:3) 创建Statement对象;4) 在Statement对象上执行SQL语句,返回Resultset对象: 5)处理ResultSet对象得到查询结果;6) 关闭与数据库的连接。
JavaApplication作为中间层的流程如下: 1) 加载数据库的JDBc驱动: 2) 与数据库建立连接;3) *敏*感*词*一个端口,等待Applet的连接;4) 与 Applet 建立连接后。接收来自 ADplet 的请求;5) 组织过滤请求形成SQL语句;6) 创建语句对象;7) 对Statement对象执行SQL语句,返回ResultSet对象;8)处理RecrultSet对象,得到查询结果{9)将查询结果返回给Applet;10) 断开与^pDlet 的连接,返回4) 再次收听。事实上,收到Applet的请求,访问数据库并返回结果是由一个单独的线程完成的。主线程继续返回*敏*感*词*状态。这样的 Applic8tion 可以同时服务多个 ApDlet。二。数据自动入库工具设计 图E 图1 数据库入库流程 在上海证券交易所年报系统中,系统对数据入库操作的设置包括源数据库设置、数据入库操作设置、源数据与数据库对应设置。tan数据集用于连接给定的数据库,获取数据库中表结构的相关信息,用于系统设置。系统管理员需要填写或选择的相关数据是连接数据库的驱动程序、数据池名称、用户名和密码,
数据库对应设置用于设置数据字典与数据库中表结构存储的对应关系,为系统的数据仓储功能提供了很大的灵活性。在存储在 . 并允许数据库管理员针对不同的报表类型进行修改,从而保证系统的可重用性。具体设计将在后面描述。数据库对应关系设计完成后,即可进行数据存储操作。数据入库操作也是按照管理员设置的对应关系表进行的。用于数据存储过程。我们可以简单地用II图ll来表示。2. 1 数据字典和数据库存储对应的设计思路 在data采集系统中,用户填报界面有很多表项,不同的表收录子表和自定义项等.,所以有不同的仓储操作。同一界面的表项中不同数据字段的存储操作也不同。对于这种不一致的数据单元,我们首先根据需要确定表结构,并在数据库中拆分一些接口表以适应不同的操作。例如,界面上的筹款表分为数据库中的一般筹款表和详细筹款表,以及相关的交易表和投资收益表。所以,接口表中的字段与数据库中的字段不完全对应。同时。考虑到系统的用户界面因报告类型(如年报、中期报告)、境内外情况等不同,以及相关财务计算指标的变化,系统需要很大的灵活性。
而对于数据库。首先表项比较多,传入的数据量比较大。而且这些数据的重要性比较高,应该保证数据库中数据的基本稳定性。因此,在上交所年报系统的数据存储操作过程中,我们提供了一个功能模块,用于设置接口表项中的字段与数据库表结构中的字段的对应关系。该模块将用户界面的数据字段映射到数据库中字段的计算关系。这降低了两者的耦合度。它使我们的系统更加灵活和方便。更改用户界面条目时。或者在更改数据库中的表或字段时,对方不需要做大的改动,只需要使用对应的关系设置工具修改存储规则即可。对于界面上的表项中的每个字段,我们在系统中对其进行16位编码,以及每个字段的编码和具体的域名。存储在数据字典(SCDicti.nary软件包)中,在程序中直接调用数据代码即可获取数据字段。这也体现了系统设计的灵活性。修改界面上的域名时,只需要修改数据字典中对应的域名,程序中代码的调用就可以保持不变。对于数据库中的每个域,基本上都是按照不同的接口表来保存的。例如,我们前面介绍的总表和明细表。对于不同的数据库表,共有三个主键,如下: lh acridine "∞fn port awIdl "v 被称为 ch stare 1 (30)NOTNULLI nepo^Ye state "varch 被称为 (30)@ >NoTNULLl fr∞。
第一个数字代表表格代码(格式为表格名称字段名称)第二个数字代表表格中的字段代码)¨==≤:=2·5~6·7Ⅱ 图2 界面字段和字段数据库中的一对多关系另外,数据库中的字段值可以是接口字段的组合,比如接口上字段的编码。数据库中的数据字段(两个参数。第一位表示表代码(格式为表名字段名)第二位表示表中的字段代码) 3.7+3.16————Dou T qu J"· to ldA II 图31 接口字段组合对应关系对象的计算方法 包括常用的整型、浮点型、字符串型等数据及其组合运算 2. 2 域对应关系及其设置在数据库中存储的数据表中。除了用户输入的年报基础数据表外,还有一个域对应表calTable。
它还向用户呈现类似于表格的结构。首先在复选框中选择数据库中的一个表,该数据库表中的所有列名将显示在窗口的左侧列中。同时,右侧会显示设置的计算方式(即与界面字段的对应关系)。)。当用户设置或修改某个字段时,只需点击右侧的小按钮,就会弹出字段选择对话框。用户选择界面字段或其组合操作后,新设置的对应关系将显示在 中。它显示在右栏中。用户点击“应用”确定该表中字母之间的对应关系,重新进入数据库。然后用户可以对下一张表进行操作。
以及从 CalTable 中得到的每个表中每个字段的计算方法。对于数据库中的基础数据表(即用户需要存储在数据库中的数据表)。分三种情况: ·该表中每个公司的记录都是唯一的,不随报表类型而变化唯一表:主要是companyTable,会发生变化。因此,每次入库。对目标执行更新操作。· 基本表格:这些表格中的数据对于每个年度或中期报告都是唯一的。但是,不同类型的报表会有对应的不同记录。对于这些表,每次存储报告时都会执行一次写入操作。● 分表或明细表:这些表中的数据可以有多个记录,每个年报或中期报告,因此对它们执行批量写入操作。针对这三种情况,系统提供了相应的数据库操作方法来保证数据的完整性。我们可以用K图5来说明仓储操作流程。Ⅱ 图5l 数据库入库操作流程