其他行业的一些类似应用。加载模块1001统一加载所有不同应用的规则描述文件,根据不同应用的规则描述文件剥离出不同规则描述文件需要操作的数据库信息、数据库源表、数据库目标表、以及数据过滤条件。
[0062]解析模块120,用于解析所述不同应用的规则描述文件中的数据库信息、数据库源表、数据库目标表、以及数据过滤条件。
[0063]查询过滤模块130,用于查询不同应用的数据库源表,并根据不同应用的数据过滤条件过滤不同应用的数据库源表中的数据。
[0064]分存模块140,用于将过滤完的数据分别存入不同应用中的所述数据库目标表。
[0065]进一步地,请参照图4,是本发明的解析模块的实施例的结构示意图,所述解析模块120包括:
[0066]数据库信息解析单元121,用于解析不同应用的规则描述文件中的数据库信息,并针对每一个数据库建立相应的数据库连接池,该数据库连接池用于分配、管理和释放数据库连接;所述数据库信息包括数据库地址、数据库端口、数据库名、数据库用户名、以及数据库密码。
[0067]数据库源表解析单元122,用于解析不同应用的规则描述文件中的数据库源表,确定所有数据库源表,所述数据库源表包括所属数据库、以及表名。
[0068]数据库目标表解析单元123,用于解析不同应用的规则描述文件中的数据库目标表,确定所有数据库目标表,所述数据目标表包括所属数据库、以及表名。
[0069]数据过滤条件解析单元124,用于解析不同应用的规则描述文件中的数据过滤条件,并建立条件数据结构。所述数据过滤条件,可以根据应用的不同需求而不同,可以是时间、数字、内容等过滤条件。所述条件数据结构,是由数据过滤条件转换成的程序所能识别的条件数据结构,一般由哈希表、数组、数值、字符串、布尔值组成。
[0070]更进一步地,所述查询过滤模块130包括:
[0071]查询过滤单元,用于查询不同应用的数据库源表,并根据建立的所述条件数据结构过滤不同应用的数据库源表中的数据。
[0072]又进一步地,所述数据库目标表解析单元123还包括数据库目标表新建子单元,该数据库目标表新建子单元用于在解析不同应用的规则描述文件中的数据库目标表,确定所有数据库目标表的过程中,数据库目标表不存在时,根据不同应用的规则描述文件中的数据库源表的数据结构新建数据库目标表。
[0073]本数据交换中间装置可以独立部署在一台服务器上,通过集群服务器网络访问数据库服务器,通过读取不同应用的业务规则描述文件获取数据交换逻辑,可以动态调整业务逻辑,支撑新的应用业务。该数据交换中间装置的启动、重启、终止可由操作人员或监控平台通过终端控制台程序实现。数据交换中间装置可以并发运行,业务扩展时,可通过运行多个数据交换中间装置来实现。
[0074]本发明实施例通过数据交换中间装置加载、解析所有不同应用的规则描述文件,并执行数据查询、过滤及分存的操作,使多个不同应用可以通过该数据交换中间装置使用统一的业务逻辑即上述数据交换方法访问数据库并生成不同应用所需的数据,实现功能复用,减少开发工作的复杂度,可以解除不同应用及其业务逻辑与数据源的耦合关系,令系统更具扩展性,能适应多变的应用需求。
[0075]请参照图5,是本发明的数据交换中间装置的第二实施例的结构示意图,该数据交换中间装置200包括加载模块210、解析模块220、查询过滤模块230、以及分存模块240。
[0076]加载模块210,用于加载不同应用的规则描述文件,该规则描述文件包括数据库信息、数据库源表、数据库目标表、以及数据过滤条件。所述不同应用,可以是学生是否正常到校的考勤查询应用、学生成绩查询应用、留言应用等多种具有不同学校管理需求的不同应用,也可以是企业内部不同管理需求的应用,如办公OA应用、考勤应用、客户信息化应用、供应链应用等,还可以是其他行业的一些类似应用。加载模块210统一加载所有不同应用的规则描述文件,根据不同应用的规则描述文件剥离出不同规则描述文件需要操作的数据库信息、数据库源表、数据库目标表、以及数据过滤条件。所述加载模块210加载的不同应用的规则描述文件使用json语言描述,可随时修改并动态加载,该加载模块210进一步包括:
[0077]修改保存操作接收单元211,用于根据不同应用的需求,接收通过任一款文本编辑器对不同应用的规则描述文件的直接修改、保存操作。
[0078]时间戳信息生成单元212,用于根据上述修改、保存操作,在规则描述文件的属性中生成更新的时间戳信息。
[0079]重启指令接收单元213,用于接收重启指令。
[0080]时间戳信息读取单元214,用于根据重启指令,读取规则描述文件的属性中的时间戳信息。
[0081]动态加载单元215,用于在读取的时间戳信息为更新的时间戳信息时,则动态加载修改后的规则描述文件。
[0082]解析模块220,用于解析所述不同应用的规则描述文件中的数据库信息、数据库源表、数据库目标表、以及数据过滤条件。
[0083]查询过滤模块230,用于查询不同应用的数据库源表,并根据不同应用的数据过滤条件过滤不同应用的数据库源表中的数据。
[0084]分存模块240,用于将过滤完的数据分别存入不同应用中的所述数据库目标表。
[0085]进一步地,所述解析模块220包括:
[0086]数据库信息解析单元,用于解析不同应用的规则描述文件中的数据库信息,并针对每一个数据库建立相应的数据库连接池,该数据库连接池用于分配、管理和释放数据库连接;所述数据库信息包括数据库地址、数据库端口、数据库名、数据库用户名、以及数据库密码。
[0087]数据库源表解析单元,用于解析不同应用的规则描述文件中的数据库源表,确定所有数据库源表,所述数据库源表包括所属数据库、以及表名。
[0088]数据库目标表解析单元,用于解析不同应用的规则描述文件中的数据库目标表,确定所有数据库目标表,所述数据目标表包括所属数据库、以及表名。
[0089]数据过滤条件解析单元,用于解析不同应用的规则描述文件中的数据过滤条件,并建立条件数据结构。所述数据过滤条件,可以根据应用的不同需求而不同,可以是时间、数字、内容等过滤条件。所述条件数据结构,是由数据过滤条件转换成的程序所能识别的条件数据结构,一般由哈希表、数组、数值、字符串、布尔值组成。
[0090]更进一步地,所述查询过滤模块230包括:
[0091]查询过滤单元,用于查询不同应用的数据库源表,并根据建立的所述条件数据结构过滤不同应用的数据库源表中的数据。
[0092]又进一步地,所述数据库目标表解析单元还包括数据库目标表新建子单元,该数据库目标表新建子单元用于在解析不同应用的规则描述文件中的数据库目标表,确定所有数据库目标表的过程中,数据库目标表不存在时,根据不同应用的规则描述文件中的数据库源表的数据结构新建数据库目标表。
[0093]本数据交换中间装置可以独立部署在一台服务器上,通过集群服务器网络访问数据库服务器,通过读取不同应用的业务规则描述文件获取数据交换逻辑,可以动态调整业务逻辑,支撑新的应用业务。该数据交换中间装置的启动、重启、终止可由操作人员或监控平台通过终端控制台程序实现。数据交换中间装置可以并发运行,业务扩展时,可通过运行多个数据交换中间装置来实现。
[00