一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于数据库的断点续传方法及相关装置与流程

2021-11-29 13:14:00 来源:中国专利 TAG:
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.本发明还提供了一种基于数据库的断点续传装置、一种基于数据库的断点续传设备以及一种计算机可读存储介质,同样具有上述有益效果,在此不再进行赘述。附图说明34.为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。35.图1为本发明实施例所提供的一种基于数据库的断点续传方法的流程图;36.图2为本发明实施例所提供的一种具体的基于数据库的断点续传方法的流程图;37.图3为本发明实施例所提供的一种基于数据库的断点续传装置的结构框图;38.图4为本发明实施例所提供的一种基于数据库的断点续传设备的结构框图。具体实施方式39.本发明的核心是提供一种基于数据库的断点续传方法。在现有技术中,跑批期间,一旦系统出现问题,导致批处理异常中断,通常的做法是,应用或数据库重启后,进行数据库事务回滚,再重新提交批处理程序继续处理。这样会带来两个问题,一是可能需要将数据库回滚至批处理开始前的状态,二是需要从头重新跑批,这会造成时间的大量浪费。40.而本发明所提供的一种基于数据库的断点续传方法,包括获取待处理数据库事务;在获取待处理数据库事务之后,读取断点记录;当断点记录中存储有有效的断点位置标识时,从断点位置标识对应的处理位置执行待处理数据库事务;在执行待处理数据库事务时每当执行一次提交操作,更新断点位置标识对应当前处理位置。41.通过预先建立一断点记录,在断点记录中存储对应断点位置标识。由于在执行待处理数据库事务过程中每执行一次提交操作即会更新一次断点位置标识对应的处理位置,使得该断点位置标识可以表征待处理数据库事务的处理进度。当待处理数据库事务被迫中断时,可以根据断点位置标识继续处理待处理数据库事务,从而实现断点续传功能。42.为了使本
技术领域
:的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。43.请参考图1,图1为本发明实施例所提供的一种基于数据库的断点续传方法的流程图。44.参见图1,在本发明实施例中,基于数据库的断点续传方法包括:45.s101:获取待处理数据库事务。46.有关待处理数据库事务的具体内容需要根据实际情况自行设定,在此不做具体限定。在现阶段,对数据库批量处理需要基于数据库日志实现,而数据库日志(databasejournal),是针对数据库变化所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。对于每一个交易过程,数据库日志都有全面的记录,根据这些记录,可以将数据库恢复成交易前任一点的状态。而数据库事务(transaction)是访问并可能操作数据库各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成,而数据库事务最常用的操作是提交和回滚。事务处理是一个数据库处理单元,可以包含多条数据处理语句,以一定的顺序或逻辑执行,完成特定的任务。事务处理的基础就是数据库日志,因此只要涉及事务,就需要数据库日志。47.在本步骤中,对于获取待处理数据库事务的具体过程不做具体限定,视具体情况而定。48.s102:在获取待处理数据库事务之后,读取断点记录。49.在获取待处理数据库事务之后,首先会读取断点记录。该断点记录通常是以表的形式建立,即在本步骤通常会读取断点记录表。有关断点记录中存储的具体内容将在下述发明实施例中做详细介绍,在此不再进行赘述。50.在本步骤之前,通常需要进行程序预处理,其具体是程序对数据进行加工完善之前的准备过程。在金融系统的数据处理程序中,程序预处理一般包括变量、字符串、数组等数据结构的定义、文件打开等操作。51.s103:当断点记录中存储有有效的断点位置标识时,从断点位置标识对应的处理位置执行待处理数据库事务。52.在断点记录中可以存储有断点位置标识,断点位置标识用于表征上一次执行的待处理数据库事务时所对应的处理位置,具体的该断点位置标识通常为数据库源表行号或数据库源表数组序号等唯一标识。上述数据库源表(sourcetable)是指数据库系统中存储原始数据的表格,作用是提供程序处理所需的原始数据。与之相对的是数据库目标表(targettable),指数据库系统中存储经过处理后数据的表格,其作用是存放程序处理完成后的数据。53.在本发明实施例中,当断点记录中存储有有效的断点位置标识时,通常意味着当前需要执行的待处理数据库事务,是之前被中断过的数据库事务,相应的在本步骤中具体会从断点位置标识对应的处理位置执行待处理数据库事务,以实现断点续传功能。之后,会以常规的方式推进待处理数据库事务,并在满足预设条件下执行下述s104。54.s104:在执行待处理数据库事务时每当执行一次提交操作,更新断点位置标识对应当前处理位置。55.在现阶段,数据库事务最常用的操作是提交和回滚,提交(commit),即commit命令用于把事务所做的修改保存到数据库,其会把上一个commit命令或rollback命令之后的全部事务都保存到数据库。回滚(rollback),即rollback命令,是在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已经完成的操作全部撤销,回滚到事务开始时的状态。56.在本步骤中,在执行待处理数据库事务时,每当执行提交操作时,即对数据库中内容进行修改后,会立即更新断点位置标识对应的处理位置为当前处理位置,从而实现及时的对断点位置标识所对应处理位置的及时更新。在本步骤之后,通常会继续执行待处理数据库事务,以继续推进待处理数据库事务。57.本发明实施例所提供的一种基于数据库的断点续传方法,包括获取待处理数据库事务;在获取待处理数据库事务之后,读取断点记录;当断点记录中存储有有效的断点位置标识时,从断点位置标识对应的处理位置执行待处理数据库事务;在执行待处理数据库事务时每当执行一次提交操作,更新断点位置标识对应当前处理位置。58.通过预先建立一断点记录,在断点记录中存储对应断点位置标识。由于在执行待处理数据库事务过程中每执行一次提交操作即会更新一次断点位置标识对应的处理位置,使得该断点位置标识可以表征待处理数据库事务的处理进度。当待处理数据库事务被迫中断时,可以根据断点位置标识继续处理待处理数据库事务,从而实现断点续传功能。59.有关本发明所提供的一种基于数据库的断点续传方法的具体内容将在下述发明实施例中做详细介绍。60.请参考图2,图2为本发明实施例所提供的一种具体的基于数据库的断点续传方法的流程图。61.s201:获取待处理数据库事务。62.s202:在获取待处理数据库事务之后,读取断点记录。63.上述s201至s202与上述发明实施例中s101至s102基本一致,详细内容请参考上述发明实施例,在此不再进行赘述。64.在本发明实施例中,断点记录还可以包括特征位;所述特征位至少包括用于表征所述断点位置标识为无效的第一状态,以及用于表征所述断点位置标识为有效的第二状态。即当特征位处于第一状态时,断点位置标识为无效的断点位置标识;当特征位处于第二状态时,断点位置标识为有效的断点位置标识。具体的,在本发明实施例中特征位还可以包括用于表征所述断点位置标识已完成的第三状态,即当特征位处于第三状态时,表明该断点位置标识对应的待处理数据库事务以及执行完成。通常情况下,上述第一状态、第二状态、第三状态可以分别有0、1、2表示。65.具体的,在本发明实施例中,上述断点记录还可以包括有待处理数据库事务名称、待处理数据库事务标识id、数据库源表名字、数据库目标表名字、特征位、断点位置标识、已处理记录数、提交日期时间、结束日期时间、时间戳以及其他必要字段。66.s203:当断点记录内未记录有断点位置标识时,更新断点位置标识对应初始处理位置,并将特征位置为第一状态。67.在本步骤中,当断点记录内未记录有断点位置标识时,意味着本次是首次执行待处理数据库事务。此时在本步骤中需要更新断点位置标识对应初始处理位置,即建立一个新的断点位置标识,以便后续对断点位置标识进行更新。此时,由于还未发生事务中断的情况,因此在本步骤中会将特征位设置成第一状态。68.s204:当断点记录中未存储有有效的断点位置标识时,从头处理待处理数据库事务。69.在本步骤中,当断点记录中未存储有有效的断点位置标识时,即根据断点记录中特征位确定断点位置标识不处于有效状态,例如处于无效状态,即第一状态时,会从头处理待处理数据库事务,即从初始处理位置执行待处理数据库事务。之后,会按顺序依次执行待处理数据库事务。70.s205:当根据特征位确定断点记录中存储有有效的断点位置标识时,从断点位置标识对应的处理位置执行待处理数据库事务。71.在本步骤中,当根据特征位确定断点位置标识为有效状态时,会从断点位置标识对应的处理位置继续执行待处理数据库事务,以实现断点续传功能。本步骤的其余内容与上述发明实施例中s103基本一致,详细内容请参考上述发明实施例,在此不再进行赘述。需要说明的是,本步骤与上述s203至s204通常是并行执行,根据触发条件的不同会执行对应不同的步骤。72.s206:当执行待处理数据库事务被中断时,将特征位置为第二状态。73.在本步骤之前,通常是按照常规的方法在依次执行待处理数据库事务。而当执行待处理数据库事务的过程被意外中断时,会立即将特征位设置成第二状态,使得该特征位可以表明当前断点位置标识对应的处理位置,是下次待处理数据库事务执行时的起始位置。当然,在本发明实施例中还可以通过其他的触发条件将特征位设置成第二状态,例如在待处理数据库事务预设时长后就将特征位置为第二状态均可,视具体情况而定,在此不做具体限定。74.s207:当执行完待处理数据库事务之后,将特征位置为第三状态。75.在本步骤中,当执行完全部的待处理数据库事务之后,会将断点记录中的特征位设置为第三状态,从而使得该特征位可以表明其对应的待处理数据库事务以及执行完成,从而便于用户查询。76.本发明实施例所提供的一种基于数据库的断点续传方法,通过预先建立一断点记录,在断点记录中存储对应断点位置标识。由于在执行待处理数据库事务过程中每执行一次提交操作即会更新一次断点位置标识对应的处理位置,使得该断点位置标识可以表征待处理数据库事务的处理进度。当待处理数据库事务被迫中断时,可以根据断点位置标识继续处理待处理数据库事务,从而实现断点续传功能。77.下面对本发明实施例所提供的一种基于数据库的断点续传装置进行介绍,下文描述的基于数据库的断点续传装置与上文描述的基于数据库的断点续传方法可相互对应参照。78.请参考图3,图3为本发明实施例所提供的一种基于数据库的断点续传装置的结构框图。79.参见图3,在本发明实施例中,基于数据库的断点续传装置可以包括:80.获取模块100,用于获取待处理数据库事务。81.读取模块200,用于在获取所述待处理数据库事务之后,读取断点记录。82.断点执行模块300,用于当所述断点记录中存储有有效的断点位置标识时,从所述断点位置标识对应的处理位置执行所述待处理数据库事务。83.更新模块400,用于在执行所述待处理数据库事务时每当执行一次提交操作,更新所述断点位置标识对应当前处理位置。84.作为优选的,在本发明实施例中,所述断点位置标识为数据库源表行号或数据库源表数组序号。85.作为优选的,在本发明实施例中,所述断点记录还包括特征位;所述特征位至少包括用于表征所述断点位置标识为无效的第一状态,以及用于表征所述断点位置标识为有效的第二状态。86.所述断点执行模块300具体用于:87.当根据所述特征位确定所述断点记录中存储有有效的断点位置标识时,从所述断点位置标识对应的处理位置执行所述待处理数据库事务。88.作为优选的,在本发明实施例中,还包括:89.第一状态修改模块,用于当所述断点记录内未记录有断点位置标识时,更新所述断点位置标识对应初始处理位置,并将所述特征位置为所述第一状态。90.作为优选的,在本发明实施例中,还包括:91.第二状态修改模块,用于当执行所述待处理数据库事务被中断时,将所述特征位置为所述第二状态。92.作为优选的,在本发明实施例中,还包括:93.重新处理模块,用于当所述断点记录中未存储有有效的断点位置标识时,从头处理所述待处理数据库事务。94.作为优选的,在本发明实施例中,所述特征位还包括用于表征所述断点位置标识已完成的第三状态。95.还包括:96.第三状态修改模块,用于当执行完所述待处理数据库事务之后,将所述特征位置为第三状态。97.本实施例的基于数据库的断点续传装置用于实现前述的基于数据库的断点续传方法,因此基于数据库的断点续传装置中的具体实施方式可见前文中基于数据库的断点续传方法的实施例部分,例如,获取模块100,读取模块200,断点执行模块300,更新模块400分别用于实现上述基于数据库的断点续传方法中步骤s101至s104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。98.下面对本发明实施例提供的一种基于数据库的断点续传设备进行介绍,下文描述的基于数据库的断点续传设备与上文描述的基于数据库的断点续传方法以及基于数据库的断点续传装置可相互对应参照。99.请参考图4,图4为本发明实施例所提供的一种基于数据库的断点续传设备的结构框图。100.参照图4,该基于数据库的断点续传设备可以包括处理器11和存储器12。101.所述存储器12用于存储计算机程序;所述处理器11用于执行所述计算机程序时实现上述发明实施例中所述的基于数据库的断点续传方法。102.本实施例的基于数据库的断点续传设备中处理器11用于安装上述发明实施例中所述的基于数据库的断点续传装置,同时处理器11与存储器12相结合可以实现上述任一发明实施例中所述的基于数据库的断点续传方法。因此基于数据库的断点续传设备中的具体实施方式可见前文中的基于数据库的断点续传方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。103.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一发明实施例中所介绍的一种基于数据库的断点续传方法。其余内容可以参照现有技术,在此不再进行展开描述。104.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。105.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。106.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd‑rom、或
技术领域
:内所公知的任意其它形式的存储介质中。107.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。108.以上对本发明所提供的一种基于数据库的断点续传方法、一种基于数据库的断点续传装置、一种基于数据库的断点续传设备以及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献