本发明涉及数据处理,具体涉及一种数据集成系统及方法。
背景技术:
1、目前的数据集成系统主要是基于线程式服务实现的,这样的设计在一定程度上导致了一系列问题,如下:
2、(1)当系统中的一个或几个服务处理数据时,会占用大量的系统资源,从而影响到其他服务的运行能力。由于这些资源在处理一个任务时被大量占用,其他服务的运行能力可能会受到影响,会导致资源的分配不理想,使用效率低,系统的运行效率下降,这样的设计没有实现系统资源的优化分配和高效利用。
3、(2)如果系统(平台)由于某种原因发生故障或宕机,那么在该系统上运行的所有数据集成服务也都会受到影响并停止服务。这种问题表明该系统的健壮性和容错性较差,对于任何意外情况的应对能力不足。系统宕机不仅会导致数据集成服务中断,而且还可能导致数据的丢失。对于大量或重要数据的处理,会造成数据的安全性和完整性的威胁。
4、因此,现有的线程式数据集成系统还存在资源使用效率低、系统稳定性差及数据安全风险的问题和不足。
技术实现思路
1、有鉴于此,本发明提出一种数据集成系统及方法,提高资源使用效率,提升系统稳定性,确保数据安全。
2、本发明第一方面提出的一种数据集成系统,该系统包括:进程初始化模块,用于读取预定义的配置文件,获取所述配置文件中定义的每个进程的属性,并启动每个所述进程;线程创建模块,用于确定每个所述进程所负责服务量,创建每个所述进程对应的一定数量的线程;任务分配与执行模块,用于获取用户配置的每个进程的数据集成任务,将所述数据集成任务请求分解为多个子任务,根据预定的规则匹配每个所述子任务所对应的线程,将所述子任务下发到相匹配的所述线程,控制每个所述线程执行所匹配的所述子任务;执行结果反馈模块,用于接收所述任务分配与执行模块反馈的各个所述线程的任务执行结果,将各个所述线程的任务执行结果进行整合,并形成最终的服务响应结果;将所述服务响应结果返回给用户。
3、进一步的,所述进程的属性包括进程的数据集成任务和通信协议;所述进程初始化模块读取预定义的配置文件,获取所述配置文件中定义的每个进程的属性,并启动每个所述进程包括:
4、读取预定义的配置文件,所述配置文件中定义每个所述进程的数据集成任务和通信协议;从所述配置文件中获取每个所述进程对应的数据集成任务和通信协议,并将数据集成任务和通信协议分配给每个所述进程;启动每个所述进程。
5、进一步的,所述进程所负责服务量包括进程所负责服务的需求和配置;所述线程创建模块创建每个所述进程对应的一定数量的线程包括:
6、根据每个所述进程的数据集成任务,确定每个所述进程所负责服务的需求和配置;基于每个所述进程所负责服务的需求和配置,创建每个所述进程对应的一定数量的线程。
7、进一步的,所述任务分配与执行模块还用于:
8、设置数据交互队列,将多个所述子任务加入到设置的所述数据交互队列中;在所述数据交互队列中,控制任意一子任务向其他子任务传递数据或接收其他子任务发送的数据。
9、进一步的,所述任务分配与执行模块还用于:
10、判断每个所述线程在执行子任务中是否需要等待操作,若需要等待操作,则控制所述线程执行下一个子任务。
11、进一步的,所述任务分配与执行模块还用于:
12、实时获取每个所述进程以及所有所述线程的状态信息;判断分解得到的子任务数量是否发生变化;若发生变化,则根据所述状态信息重新给所述子任务分配适量的进程以及线程。
13、本发明第二方面提供一种数据集成方法,该方法包括:读取预定义的配置文件,获取所述配置文件中定义的每个进程的属性,并启动每个所述进程;确定每个所述进程所负责服务量,创建每个所述进程对应的一定数量的线程;获取用户配置的每个进程的数据集成任务,将所述数据集成任务请求分解为多个子任务,根据预定的规则匹配每个所述子任务所对应的线程,将所述子任务下发到相匹配的所述线程,控制每个所述线程执行所匹配的所述子任务;获取各个所述线程的任务执行结果,将每个进程对应的所有所述线程的任务执行结果进行整合,并形成最终的服务响应结果;将所述服务响应结果返回给用户。
14、进一步的,所述进程的属性包括进程的数据集成任务和通信协议;所述进程所负责服务量包括进程所负责服务的需求和配置;
15、所述读取预定义的配置文件,获取所述配置文件中定义的每个进程的属性,并启动每个所述进程包括:
16、读取预定义的配置文件,所述配置文件中定义每个所述进程的数据集成任务和通信协议;从所述配置文件中获取每个所述进程对应的数据集成任务和通信协议,并将数据集成任务和通信协议分配给每个所述进程;启动每个所述进程;
17、所述创建每个所述进程对应的一定数量的线程包括:
18、根据每个所述进程的数据集成任务,确定每个所述进程所负责服务的需求和配置;基于每个所述进程所负责服务的需求和配置,创建每个所述进程对应的一定数量的线程。
19、进一步的,所述数据集成方法还包括:
20、设置数据交互队列,将多个所述子任务加入到设置的所述数据交互队列中;在所述数据交互队列中,控制任意一子任务向其他子任务传递数据或接收其他子任务发送的数据。
21、进一步的,所述数据集成方法还包括:
22、实时获取每个所述进程以及所有所述线程的状态信息;判断分解得到的子任务数量是否发生变化;若发生变化,则根据所述状态信息重新给所述子任务分配适量的进程以及线程。
23、上述的数据集成系统及方法,通过多进程并行执行、进程内多线程并行处理以及异步处理机制,来解决数据集成系统中的资源占用问题和系统稳定性问题,能够避免数据丢失的风险,提高数据集成系统的性能,稳定性和数据安全性。
1.一种数据集成系统,其特征在于,包括:
2.根据权利要求1所述的一种数据集成系统,其特征在于,所述进程的属性包括进程的数据集成任务和通信协议;所述进程初始化模块读取预定义的配置文件,获取所述配置文件中定义的每个进程的属性,并启动每个所述进程包括:
3.根据权利要求2所述的一种数据集成系统,其特征在于,所述进程所负责服务量包括进程所负责服务的需求和配置;所述线程创建模块创建每个所述进程对应的一定数量的线程包括:
4.根据权利要求1所述的一种数据集成系统,其特征在于,所述任务分配与执行模块还用于:
5.根据权利要求1所述的一种数据集成系统,其特征在于,所述任务分配与执行模块还用于:
6.根据权利要求1所述的一种数据集成系统,其特征在于,所述任务分配与执行模块还用于:
7.一种数据集成方法,其特征在于,包括:
8.根据权利要求7所述的一种数据集成方法,其特征在于,所述进程的属性包括进程的数据集成任务和通信协议;所述进程所负责服务量包括进程所负责服务的需求和配置;
9.根据权利要求7所述的一种数据集成方法,其特征在于,还包括:
10.根据权利要求1所述的一种数据集成方法,其特征在于,还包括: