本公开涉及计算机技术等,尤其涉及一种数据导出方法、数据导出系统及计算机程序产品。
背景技术:
1、数据导出是业务开发中的高频场景,例如在业务开发过程中,将需求的数据从数据库中导出至文件服务器中。在相关技术中,整个数据导出过程包括将需求的数据从数据库中读取出来,然后对读取到的数据进行一定的加工和处理,之后将处理结果写入到指定位置,从而完成数据的导出过程。
2、在上述数据导出过程中,不同的待导出数据之间的导出过程为串行执行的,在对当前批次的待导出数据进行导出处理的过程中,下一批待导出数据需要等待,直至当前批次的导出数据完成导出处理过程时,才能开始对下一批次的待导出数据执行导出处理。这会导致系统资源利用率较低,数据导出效率难以满足要求。
技术实现思路
1、为了解决上述技术问题中的至少一个,本公开提供了一种数据导出方法、数据导出系统、可读存储介质及计算机程序产品。
2、本公开第一方面提出了一种数据导出方法,包括:数据读取步骤,从数据源中读取数据,得到第一数据;数据处理步骤,对所述第一数据进行处理,得到第二数据;以及数据写入步骤,将所述第二数据写入至指定位置;其中,所述数据读取步骤、所述数据处理步骤和所述数据写入步骤中的至少两种步骤能够并行执行。
3、根据本公开的一些实施方式,所述数据源、所述指定位置和所述数据处理步骤的执行主体,分别设置于不同的服务器中。
4、根据本公开的一些实施方式,所述数据读取步骤和所述数据处理步骤中的至少一种步骤对应有数据队列,所述数据队列用于存储执行相应步骤所形成的结果数据,所述结果数据作为所述数据队列所对应步骤在步骤执行顺序中的下一步骤的待执行数据,用于被从所述数据队列中取出并被相应步骤所执行。
5、根据本公开的一些实施方式,在所述数据读取步骤中,在得到所述第一数据之后,将所述第一数据存入所述数据读取步骤所对应的数据队列。
6、根据本公开的一些实施方式,在所述数据处理步骤中,在得到所述第二数据之后,将所述第二数据存入所述数据处理步骤所对应的数据队列。
7、根据本公开的一些实施方式,所述数据队列的数据传输方式为先入先出。
8、根据本公开的一些实施方式,所述数据导出方法还包括:队列容量调节步骤,在数据导出过程的执行状态满足第一条件时,对部分或全部的所述数据队列的队列容量进行调整,直至所述第一条件未被满足。
9、根据本公开的一些实施方式,所述执行状态包括数据导出过程的资源占用量,所述第一条件包括:所述资源占用量大于预设的第一阈值。
10、根据本公开的一些实施方式,以所述数据读取步骤和所述数据处理步骤中的任一步骤作为第一执行步骤,在第一执行步骤中,如果所述第一执行步骤所对应的所述数据队列的全部位置被占满,则:等待至所述第一执行步骤所对应的所述数据队列中出现空余位置,将相应结果数据存入所述第一执行步骤所对应的所述数据队列中。
11、根据本公开的一些实施方式,以所述数据读取步骤、所述数据处理步骤和所述数据写入步骤中的任一步骤作为第二执行步骤,如果所述第二执行步骤的待执行数据满足相应的第二条件,则将对应于所述第二执行步骤的标识数据存入所述第二执行步骤所对应的数据队列,所述标识数据用于表示相应第二执行步骤对于本批次数据的执行的结束。
12、根据本公开的一些实施方式,所述数据读取步骤对应的所述第二条件包括:在执行所述数据读取步骤时从所述数据源读取到的数据为空。
13、根据本公开的一些实施方式,所述数据处理步骤和所述数据写入步骤对应的所述第二条件包括:从步骤执行顺序中的上一步骤所对应的数据队列中获取到的待执行数据为对应于所述上一步骤的所述标识数据。
14、根据本公开的一些实施方式,以所述数据读取步骤、所述数据处理步骤和所述数据写入步骤中的任一步骤作为第三执行步骤,如果存入所述第三执行步骤所对应的数据队列的数据为相应的所述标识数据,则在存入标识数据后停止所述第三执行步骤的执行。
15、本公开第二方面提出了一种数据导出系统,包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现上述任一实施方式所述的方法。
16、本公开第三方面提出了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述任一实施方式所述的方法。
17、本公开第四方面提出了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时至少用于实施上述任一实施方式所述的方法。
1.一种数据导出方法,其特征在于,包括:
2.根据权利要求1所述的数据导出方法,其特征在于,所述数据源、所述指定位置和所述数据处理步骤的执行主体,分别设置于不同的服务器中。
3.根据权利要求1所述的数据导出方法,其特征在于,所述数据读取步骤和所述数据处理步骤中的至少一种步骤对应有数据队列,所述数据队列用于存储执行相应步骤所形成的结果数据,所述结果数据作为所述数据队列所对应步骤在步骤执行顺序中的下一步骤的待执行数据,用于被从所述数据队列中取出并被相应步骤所执行。
4.根据权利要求3所述的数据导出方法,其特征在于,在所述数据读取步骤中,在得到所述第一数据之后,将所述第一数据存入所述数据读取步骤所对应的数据队列。
5.根据权利要求3所述的数据导出方法,其特征在于,在所述数据处理步骤中,在得到所述第二数据之后,将所述第二数据存入所述数据处理步骤所对应的数据队列。
6.根据权利要求3-5中任一项所述的数据导出方法,其特征在于,所述数据队列的数据传输方式为先入先出。
7.根据权利要求3所述的数据导出方法,其特征在于,所述数据导出方法还包括:
8.根据权利要求3所述的数据导出方法,其特征在于,以所述数据读取步骤和所述数据处理步骤中的任一步骤作为第一执行步骤,在第一执行步骤中,如果所述第一执行步骤所对应的所述数据队列的全部位置被占满,则:等待至所述第一执行步骤所对应的所述数据队列中出现空余位置,将相应结果数据存入所述第一执行步骤所对应的所述数据队列中。
9.一种数据导出系统,其特征在于,包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时用于实现权利要求1-8中任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时至少用于实施如权利要求1-8中任一项所述的方法。
