一种大批量数据的多线程单任务异步导入方法与流程

专利查询20小时前  1


本发明涉及数据导入,具体说是一种大批量数据的多线程单任务异步导入方法。


背景技术:

1、随着业务规模的增长,尤其是涉及excel、csv等文件的大批量数据导入操作,传统同步方式执行时可能会遇到以下问题:

2、1.性能瓶颈:当导入的数据量庞大时,同步处理会导致长时间占用计算资源,甚至可能触发超时错误。

3、当系统需要处理的数据量非常大时,如果使用同步处理方式,即一次处理一个任务,直到完成才能处理下一个,这会导致系统在处理当前任务时无法处理其他任务,从而降低效率。

4、性能瓶颈通常表现为系统响应变慢,处理速度降低,特别是在资源有限的情况下,如cpu、内存或磁盘i/o等。

5、2.响应延迟:用户界面在等待数据导入完成期间会呈现无响应状态,严重影响用户体验。

6、在同步处理数据导入时,如果一个任务需要很长时间才能完成,那么在任务完成之前,用户界面可能无法响应用户的其他操作,导致用户等待,这种状态称为“无响应状态”。

7、响应延迟直接影响用户体验,让用户感觉到系统很慢或者不稳定。

8、3.系统稳定性:大规模同步导入可能引发内存溢出、数据库锁争用等问题,对系统的健壮性构成威胁。

9、大规模的同步数据导入可能会消耗大量内存,如果超出系统承载能力,可能会导致内存溢出,即系统没有足够的内存来处理当前任务。

10、数据库锁争用发生在多个进程或线程同时尝试访问或修改同一数据资源时,如果没有适当的同步机制,可能会导致数据不一致或系统崩溃。

11、以上问题都与数据导入过程中的资源管理和任务调度有关,传统的同步处理方式在面对大量数据时,由于资源分配和任务调度的局限性,无法高效地处理任务,导致性能下降和稳定性问题。

12、公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。


技术实现思路

1、针对现有技术中存在的缺陷,本发明的目的在于提供一种大批量数据的多线程单任务异步导入方法,采用多线程单任务异步导入方案,通过将数据导入过程分解为多个阶段,并利用后台任务或消息队列异步执行,可以有效地提高性能,减少响应延迟,并增强系统的稳定性。

2、为达到以上目的,本发明采取的技术方案是:

3、一种大批量数据的多线程单任务异步导入方法,其特征在于,包括如下步骤:

4、设定规则并生成导入配置模板;

5、在多节点分布式系统中启动导入任务的时候,通过共享队列分配任务,节点根据配置的模板规则处理数据,并保存快照。

6、在上述技术方案的基础上,所述设定规则包括如下步骤:

7、设定模版的字段名字及其对应的json数据结构;

8、按字段名称逐个设定字段类型及字段对应的表头注释;

9、配置回调各个业务系统地址,每次回调的条数及数据校验规则。

10、在上述技术方案的基础上,启动导入任务后,首先启动一个公共队列,每个节点都共享该公共队列,并根据预设的使用规则配置每个节点的线程数;

11、导入任务创建后首先先进入公共队列里,空余的节点会去公共节点里取任务,导入任务进来之后分配对应的线程根据配置的模版规则进行相对应的处理,并且对模版规则的配置保存一个快照存储。

12、在上述技术方案的基础上,执行每个导入任务的时候,将数据导入过程分解为多个阶段,并利用后台任务或者消息队列来异步执行这些阶段;

13、所述多个阶段包括:规则配置阶段,调度分配阶段,子系统数据处理阶段,结果查询展示阶段,快照存储阶段。

14、在上述技术方案的基础上,导入任务所对应的全部源数据,都在异步导入的管理数据中心进行源数据的归档存储。

15、在上述技术方案的基础上,多节点分布式系统的各个子系统,根据统一规范处理数据,记录核心业务数据的成功与失败;

16、记录结果转发异步导入的管理数据中心进行备份。

17、在上述技术方案的基础上,异步导入的管理数据中心设定统一的接参规范,多节点分布式系统的各个子系统按接参规范处理相对应的数据,各个子系统执行完数据处理后返回对应的标准数据格式,核心业务数据则根据返回的成功失败来对数据记录。

18、在上述技术方案的基础上,异步导入的管理数据中心提供导入结果查看入口,展示成功与失败的数据条数、原因,并允许下载失败结果进行修改后重新上传。

19、本发明所述的一种大批量数据的多线程单任务异步导入方法,具有以下有益效果:

20、1、能够显著提升数据导入的性能。

21、通过异步处理机制,导入任务被分解为多个独立的子任务,这些子任务可以在不同的线程中并行执行。相比于传统的同步处理方式,这种方式能够更充分地利用多核处理器的计算能力,减少单个任务的处理时间。同时,通过后台任务或消息队列的引入,进一步实现了任务的解耦和资源的优化分配,使得系统能够同时处理更多的导入任务,从而大幅提升整体的导入效率。

22、2、用户界面在等待数据导入时不再处于无响应状态。

23、导入任务被移至后台执行,前台界面可以继续响应用户的其他操作。同时,通过提供统一的导入结果查看入口和详细的导入结果展示(包括成功条数、失败条数及失败原因等),用户可以随时随地了解导入进度和结果,增强了用户操作的透明度和便捷性。

24、3、通过分散处理压力、减少资源争用和引入快照存储机制等方式,显著增强了系统的稳定性。

25、异步处理机制使得系统能够同时处理多个导入任务,避免了单个任务长时间占用大量资源导致的系统崩溃或响应缓慢等问题。同时,快照存储机制确保了历史数据的完整性和一致性,避免了因模板变化而导致的数据展示问题。

26、此外,通过合理的资源分配和错误处理机制,系统能够在出现异常情况时及时恢复并继续执行任务。

27、综上所述,本发明所述一种大批量数据的多线程单任务异步导入方法,在提升性能、优化用户体验和增强系统稳定性等方面均表现出了显著的有益效果。这些效果不仅提升了数据处理的效率和准确性,还增强了系统的可靠性和用户体验的满意度。



技术特征:

1.一种大批量数据的多线程单任务异步导入方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种大批量数据的多线程单任务异步导入方法,其特征在于,所述设定规则包括如下步骤:

3.如权利要求1所述的一种大批量数据的多线程单任务异步导入方法,其特征在于,启动导入任务后,首先启动一个公共队列,每个节点都共享该公共队列,并根据预设的使用规则配置每个节点的线程数;

4.如权利要求3所述的一种大批量数据的多线程单任务异步导入方法,其特征在于,执行每个导入任务的时候,将数据导入过程分解为多个阶段,并利用后台任务或者消息队列来异步执行这些阶段;

5.如权利要求3所述的一种大批量数据的多线程单任务异步导入方法,其特征在于,导入任务所对应的全部源数据,都在异步导入的管理数据中心进行源数据的归档存储。

6.如权利要求3所述的一种大批量数据的多线程单任务异步导入方法,其特征在于,多节点分布式系统的各个子系统,根据统一规范处理数据,记录核心业务数据的成功与失败;

7.如权利要求3所述的一种大批量数据的多线程单任务异步导入方法,其特征在于,异步导入的管理数据中心设定统一的接参规范,多节点分布式系统的各个子系统按接参规范处理相对应的数据,各个子系统执行完数据处理后返回对应的标准数据格式,核心业务数据则根据返回的成功失败来对数据记录。

8.如权利要求3所述的一种大批量数据的多线程单任务异步导入方法,其特征在于,异步导入的管理数据中心提供导入结果查看入口,展示成功与失败的数据条数、原因,并允许下载失败结果进行修改后重新上传。


技术总结
本发明涉及一种大批量数据的多线程单任务异步导入方法,包括如下步骤:设定规则并生成导入配置模板;在多节点分布式系统中启动导入任务的时候,通过共享队列分配任务,节点根据配置的模板规则处理数据,并保存快照。本发明,采用多线程单任务异步导入方案,通过将数据导入过程分解为多个阶段,并利用后台任务或消息队列异步执行,可以有效地提高性能,减少响应延迟,并增强系统的稳定性。

技术研发人员:张晨旭,崔冬贤,刘山国,刘辉,尹志刚,卢述奇,何畏
受保护的技术使用者:同福集团股份有限公司
技术研发日:
技术公布日:2024/12/5

最新回复(0)