本发明涉及数据处理,具体提供一种数据异步提交生产方法、装置、电子设备及记录介质。
背景技术:
1、随着互联网大数据技术的发展,为了提升检索结果的精准性和全面性,数据库的数据量级在不断的增大。因此,数据库需要定期/不定期写入新的数据,更新扩展数据库的数据量级,处理流程一般包括:上游业务提交原始数据至数据生产系统,数据生产系统针对原始数据进行生产处理成符合数据库的数据,将生产后的数据写入数据库中,然后再提供下游使用。以试题数据库为例,要想将一道原始试题数据写入试题数据库,需要将原始试题数据提交至试题生产系统,试题生产系统针对原始试题进行基础校验,基础校验通过后针对原始试题数据进行ocr识别处理、归一化处理等生产处理操作,生成的试题数据才能被写入试题数据库。
2、由于现有上游业务提交原始数据之后,需要进行数据的生产处理才能写入数据库中,同步处理的话耗时较长,上游业务以及数据生产系统都无法承受。因此,将原始数据写入数据库的常见处理流程是上游业务提交原始数据,中间数据生产服务单独处理数据,生产完的数据存入数据库然后再提供下游用户使用。中间数据生产服务通过异步脚本或者手动清洗的方式针对数据进行处理,异步脚本的方式针对提交的原始数据进行逐条处理,上一条数据完全生产完成之后才会处理下一条数据,而且一旦某条数据生产失败将会造成阻塞,因此,异步脚本虽然实现了原始数据提交-生产的异步处理,但是缺少紧密的服务逻辑,造成中间数据生产服务稳定性差、生产效率低。手动清洗的方式依赖于专业人员操作,处理效率差,无法满足大批量原始数据的生产需求。
3、综上所述,本专利申请旨在解决数据提交-生产的异步处理问题,特提出本发明专利。
技术实现思路
1、为了解决上述技术问题,本发明提出一种数据异步提交生产方法、装置、电子设备及记录介质,具体地,采用了如下技术方案:
2、在第一方面,本发明提供一种数据异步提交生产方法,包括:
3、初始数据提交生产时进行基础校验,校验通过后建立数据流转表和数据状态表;
4、提交的初始数据被写入数据流转表,并进行数据流转表的初始化,所述数据状态表记录数据生产过程的状态节点;
5、根据数据状态表获取数据生产的当前状态节点和控制数据生产的进程;
6、所述的数据流转表记录数据生产过程中各个节点的生产数据和生产记录。
7、作为本发明的可选实施方式,本发明的一种数据异步提交生产方法中,所述根据数据状态表获取数据生产的当前节点和控制数据生产的进程包括:
8、遍历待处理数据,获取数据状态表中的当前状态节点;
9、根据当前状态节点判断数据生产的下一生产节点,将下一生产节点相同的待处理数据推入处理节点对应的处理队列,进行数据生产。
10、作为本发明的可选实施方式,本发明的一种数据异步提交生产方法,包括:
11、根据数据状态表中的状态节点判断数据的生产状态;
12、当数据处于未处理、超时处理或者处理失败的生产状态时,进行数据的捞回处理。
13、作为本发明的可选实施方式,本发明的一种数据异步提交生产方法中,根据所述数据状态表判断初始数据处于初始状态节点超过第一预设时间,则初始数据处于未处理的生产状态;
14、针对未处理的初始数据进行捞回处理,再次自动提交;
15、可选地,遍历待处理数据,根据数据状态表判断的未处理数据超过预设阈值时,则降低或者停止初始数据的提交生产流量请求,并进行上报。
16、作为本发明的可选实施方式,本发明的一种数据异步提交生产方法中,根据所述数据状态表判断数据生产处于中间生产状态节点超过第二预设时间,则数据生产处于超时处理的生产状态,针对超时处理的生产数据进行捞回处理;
17、根据所述数据流转表查询数据生产过程的历史生产数据和历史生产记录分析数据生产超时的原因。
18、作为本发明的可选实施方式,本发明的一种数据异步提交生产方法中,根据所述数据状态表判断数据生产的当前节点为失败状态时,则数据生产处于失败处理的生产状态,针对失败处理的生产数据进行捞回处理;
19、根据所述数据流转表查询数据生产过程的历史生产数据和历史生产记录分析数据生产失败的原因。
20、作为本发明的可选实施方式,本发明的一种数据异步提交生产方法,包括:
21、通过消息队列订阅通知初始数据提交生产的生产结果;
22、当数据生产失败时,则反馈数据生产失败的生产状态节点和失败原因;
23、所述的数据流转表支持历史生产数据和历史生产记录的查询获取。
24、在第二方面,本发明提供一种数据异步提交生产装置,包括:
25、数据提交模块,初始数据提交生产时进行基础校验;
26、数据流转表模块,校验通过后建立数据流转表,提交的初始数据被写入数据流转表,并进行数据流转表的初始化;
27、数据状态表模块,校验通过后同步建立数据状态表,所述数据状态表记录数据生产过程的状态节点;
28、调度模块,根据数据状态表获取数据生产的当前状态节点和控制数据生产的进程,所述的数据流转表记录数据生产过程中各个节点的生产数据和生产记录。
29、在第三方面,本发明提供电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述的一种数据异步提交生产方法。
30、在第四方面,本发明提供一种计算机可读记录介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述的一种数据异步提交生产方法。
31、与现有技术相比,本发明的有益效果:
32、本发明的一种数据异步提交生产方法,对于初始数据的提交及生产采用异步处理的方式,初始数据被提交时被写入数据流转表,并将数据提交结果反馈给数据提交方,初始数据在提交之后无需进行同步的生产,初始数据的生产由调度模块根据数据状态表中的状态节点控制;本发明采用数据状态表记录数据生产的状态节点,调度模块根据当前生产状态节点的完成情况调度数据生产进入下一生产状态节点,使得数据生产过程具有紧密的服务逻辑,确保数据生产的高效性。
33、因此,本发明的一种数据异步提交生产方法,实现了上游提交数据与中间数据生产服务的解耦,上游单纯提交数据无需关注数据生产入库结果,中间数据生产服务单独进行数据的生产处理,通过数据流转表和数据状态表结合的方式,使得数据生产过程具有紧密的服务逻辑,数据生产高效稳定。
1.一种数据异步提交生产方法,其特征在于,包括:
2.根据权利要求1所述的一种数据异步提交生产方法,其特征在于,所述根据数据状态表获取数据生产的当前节点和控制数据生产的进程包括:
3.根据权利要求1所述的一种数据异步提交生产方法,其特征在于,包括:
4.根据权利要求3所述的一种数据异步提交生产方法,其特征在于,根据所述数据状态表判断初始数据处于初始状态节点超过第一预设时间,则初始数据处于未处理的生产状态;
5.根据权利要求3所述的一种数据异步提交生产方法,其特征在于,根据所述数据状态表判断数据生产处于中间生产状态节点超过第二预设时间,则数据生产处于超时处理的生产状态,针对超时处理的生产数据进行捞回处理;
6.根据权利要求3所述的一种数据异步提交生产方法,其特征在于,根据所述数据状态表判断数据生产的当前节点为失败状态时,则数据生产处于失败处理的生产状态,针对失败处理的生产数据进行捞回处理;
7.根据权利要求3-6任意一项所述的一种数据异步提交生产方法,其特征在于,包括:
8.一种数据异步提交生产装置,其特征在于,包括:
9.电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,其特征在于,当所述计算机程序被所述处理器执行时,所述处理器执行如权利要求1-7任意一项所述一种数据异步提交生产方法。
10.一种计算机可读记录介质,其特征在于,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现如权利要求1-7任意一项所述一种数据异步提交生产方法。