CN103645944B - 一种批量数据冲突检测方法、装置及系统 - Google Patents
一种批量数据冲突检测方法、装置及系统 Download PDFInfo
- Publication number
- CN103645944B CN103645944B CN201310726776.7A CN201310726776A CN103645944B CN 103645944 B CN103645944 B CN 103645944B CN 201310726776 A CN201310726776 A CN 201310726776A CN 103645944 B CN103645944 B CN 103645944B
- Authority
- CN
- China
- Prior art keywords
- task
- conflict
- data
- unit
- waiting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种批量数据冲突检测方法、装置及系统,该方法包括:接收用户输入的待处理任务的数据信息;根据所述数据信息对应的任务序号将所述数据信息存储到待处理队列;从所述的待处理队列中读取一个所述数据信息,并获取读取的所述数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据;根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突;如果会发生冲突,判断所述待处理任务已发生的冲突次数是否已经达到上限;如果达到上限,将所述待处理任务的状态设置为失败,否则,将所述待处理任务的已冲突次数增加1,并将所述待处理任务调整至所述待处理队列的尾部。
Description
技术领域
本发明是关于批量数据处理技术,特别是关于一种批量数据冲突检测方法、装置及系统。
背景技术
在大型的在线数据处理系统(如银行数据处理系统、企业数据处理系统)中,随着数据处理场景的日益复杂,数据处理量的日渐增加,使得很多系统在线进行大规模数据处理(以一些银行中间业务数据处理系统为例,包括批量企业年金缴费、批量建立个人账户、批量进行账务调整等)时面临很多难题。这些大规模数据处理在系统处理时数据量大且校验以及处理逻辑复杂,在线实时处理可能会对系统产生较大的系统开销,从而导致系统服务的整体响应速度下降或页面等待超时等问题。银行系统在面对这些数据处理时往往采用晚间批量的方式处理,然而此类大数据量处理有些具有常规性或周期性特点,因此客户对此类数据处理的响应速度提出了很高的要求,并且在晚间批量进行处理,响应和反馈的速度较低,大大影响了系统的服务时效。
为了解决上述矛盾,在系统搭建时采用了操作人员在线提交大批量数据信息,系统异步启动临时批量进行文件处理的解决方案,由于异步临时批量在日间可根据需要灵活安排,所以对大批量数据处理时效得到了显著提高。但在该模式下又面临了新的问题:由于临时批量于日间调起,与此同时系统也在对外提供服务,所以如何解决临时批量调起时所处理的任务和在线系统对外服务时所发生的任务不产生冲突,就成了一个需要解决的课题。这里的冲突包括:1、当某一个对象发生了某类型的任务作业时,该对象自身或者与该对象存在某种关系的对象就不能再同时发生某类型的任务作业。2、当该对象或者与该对象存在某种关系的对象处于某种状态时,该对象就不能发生某类型的任务。3、当系统正在运行晚间批量时,与该批量作业相关的对象就不能处理某类任务。
发明内容
本发明提供一种批量数据冲突检测方法、装置及系统,以在大批量数据处理场景下兼顾处理时效性的同时,合理高效避免数据处理冲突。
为了实现上述目的,本法提供一种批量数据冲突检测方法,所述的方法包括:接收用户输入的待处理任务的数据信息;根据所述数据信息对应的任务序号将所述数据信息存储到待处理队列;从所述的待处理队列中读取一个所述数据信息,并获取读取的所述数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据;根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突;如果会发生冲突,判断所述待处理任务已发生的冲突次数是否已经达到上限;如果达到上限,将所述待处理任务的状态设置为失败,否则,将所述待处理任务的已冲突次数增加1,并将所述待处理任务调整至所述待处理队列的尾部。
在一实施例中,根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突,包括:判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突。
进一步地,如果所述的待处理任务不会导致和相关对象的已发生任务发生冲突,则判断所述的待处理任务是否会导致和相关对象的状态发生冲突。
进一步地,如果所述的待处理任务不会导致和相关对象的状态发生冲突,则判断所述的待处理任务是否会导致和日终批量的发生冲突。
在一实施例中,根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突,如果所述的待处理任务不会发生冲突,根据任务类型和所述的任务序号生成任务发起指令,根据所述的任务发起指令处理所述的待处理任,然后将处理完成的所述待处理任务的状态修改为已发起。
在一实施例中,将所述待处理任务调整至所述待处理队列的尾部之后,所述的方法还包括:根据任务类型和所述的任务序号生成任务发起指令,根据所述的任务发起指令处理所述的待处理任务,然后将处理完成的所述待处理任务的状态修改为已发起。
为了实现上述目的,本发明提供一种批量数据冲突检测装置,所述的装置包括:数据信息接收单元,用于接收用户输入的待处理任务的数据信息;待处理队列存储单元,根据所述数据信息对应的任务序号将所述数据信息存储到待处理队列;信息获取单元,用于从所述的待处理队列中读取一个所述数据信息,并获取读取的所述数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据;冲突判断单元,用于根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突;冲突上限判断单元,用于判断所述待处理任务已发生的冲突次数是否已经达到上限;待处理任务调整单元,用于当所述待处理任务已发生的冲突次数达到上限如果达到上限时,将所述待处理任务的状态设置为失败;或者在当所述待处理任务已发生的冲突次数未达到上限如果达到上限时,将所述待处理任务的已冲突次数增加1,并将所述待处理任务调整至所述待处理队列的尾部。
在一实施例中,所述的冲突判断单元包括:已发生任务冲突判断模块,用于判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突。
在一实施例中,所述的冲突判断单元包括:状态冲突判断模块,判断所述的待处理任务是否会导致和相关对象的状态发生冲突。
在一实施例中,所述的冲突判断单元包括:日终批量冲突判断模块,判断所述的待处理任务是否会导致和日终批量的发生冲突。
在一实施例中,所述的装置还包括:任务发起指令生成单元,用于根据任务类型和所述的任务序号生成任务发起指令。
进一步地,所述的装置还包括:任务处理单元,用于根据所述的任务发起指令处理所述的待处理任务,然后将处理完成的所述待处理任务的状态修改为已发起。
为了实现上述目的,本发明还提供了一种批量数据冲突检测系统,所述的系统包括:输入输出装置、数据预处理装置、数据存储装置、任务冲突分析装置、任务调度装置及任务处理装置;所述的数据预处理装置、冲突分析装置、任务调度装置及任务处理装置均与所述的数据存储装置相连接,所述的任务冲突分析装置连接所述的任务调度装置,所述的任务调度装置连接所述的任务处理装置,所述的输入输出装置连接所述的数据预处理装置;所述的输入输出装置用于接收用户提交的待处理任务的数据信息,将所述的数据信息传入所述的数据预处理装置;所述的数据预处理装置用于接收所述数据信息,将所述数据信息解析为易于识别的数据格式后保存在所述的数据存储装置中,并将所述的数据信息排入待处理任务队列;所述的数据存储装置用于存储包括对象间冲突关系数据、对象状态冲突关系数据、任务类型和日终批量冲突关系数据、对象任务数据、对象间关系状态数据、待处理任务队列数据、各类任务引导启动数据的冲突处理数据;所述的任务冲突分析装置用于从所述的数据存储装置中逐一获取所述待处理任务队列的数据信息,根据所述数据信息的对象间冲突关系信息、对象状态冲突关系信息、任务类型及日终批量冲突关系数据判断所述的待处理任务是否发生冲突,并将冲突判断结果发送给所述的任务调度装置;所述的任务调度装置接收所述的冲突判断结果,如果所述的冲突判断结果为发生了冲突,判断所述的待处理任务已发生冲突的次数是否已经达到上限,如果尚未达到上限,将所述待处理任务的已冲突次数增加1,并将所述的待处理任务排至所述待处理任务队列尾部,如果已经达到上限则将所述待处理任务的状态设置为失败;如果接所述的冲突判定结果为不发生冲突,将所述待处理任务的任务序号和任务类型发送给所述的任务处理装置;所述任务处理装置用于接收所述的任务序号和任务类型,处理所述待处理任务,并将所述待处理任务标记为已处理。
在一实施例中,所述的数据预处理装置包括:
文件解析单元,用于对所述的数据信息进行解析,将数据信息转换为易于识别的数据格式后存储在所述数据存储装置中,同时生成所述数据信息的任务序号;
文件队列排序单元,用于接收所述的任务序号,根据所述的任务序号从所述数据存储装置中获取所述的数据信息,将所述的数据信息排入待处理任务队列。
在一实施例中,所述的任务冲突分析装置包括:待处理任务读入单元,系统任务侦测单元,对象状态侦测单元,任务冲突关系数据读入单元,冲突决策单元及对象间关系侦测单元;
所述的待处理任务读入单元用于从所述待处理任务队列中读取所述待处理任务的数据信息,并解析识别出所述数据信息中的操作对象信息作为冲突的分析对象;
所述的系统任务侦测单元用于从所述的数据存储装置中读取各相关对象已正式发生的任务,与对象间冲突关系数据组成对象间冲突判断的依据;
所述的对象状态侦测单元用于从所述的数据存储装置中读取相关对象状态信息,与对象状态冲突关系数据组成对象状态冲突判断的依据;
所述的任务冲突关系数据读入单元用于从所述的数据存储装置中读取对象间冲突关系数据、对象状态冲突关系数据及对象类型和日终批量冲突关系数据;
所述的对象间关系侦测单元用于从所述的数据存储装置中读取对象间关系信息,并将所述的对象间关系信息发送给所述的系统任务侦测单元;
所述的冲突决策单元405用于根据所述的操作对象信息、各相关对象已正式发生的任务、对象间冲突关系数据、相关对象状态信息、对象状态冲突关系数据、对象类型和日终批量冲突关系数据及对象间关系信息判断该即将发生的任务是否会发生冲突,生成冲突判断结果。
在一实施例中,所述的任务调度装置包括:调度总控单元、任务状态调整单元、任务处理发起单元及任务队列顺序调整单元;
所述的调度总控单元用于接收所述的冲突决策单元根据所述冲突判断结果生成的指令,并根据所述的指令触发所述的任务状态调整单元、任务处理发起单元或任务队列顺序调整单元;
所述的任务状态调整单元用于接收所述调度总控单元传递来的任务序号,将所述任务序号对应的任务状态设置为处理失败;
所述的任务处理发起单元用于接收所述调度总控单元传递来的任务序号和任务类型,根据任务序号和申请类型生成任务发起指令并发送给所述的任务处理装置;
所述的任务队列顺序调整单元用于接收所述调度总控单元传递来的任务序号,将所述待处理任务调整至所述待处理任务队列尾部,并将所述待处理任务的已冲突次数增加1。
本发明实施例的有益效果在于,在定时触发的临时批量场景下有效避免了任务之间冲突和干扰的发生,保证系统能够正常运行。多种渠道来源和多种类型的任务可以有序地处理,保证了任务处理的正确性、时效性和系统使用的友好性。减少了晚间批量时的数据处理量,大大缩短了夜间批量的运行时间,降低了系统风险,有效平衡了系统的整体开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例批量数据冲突检测系统的结构示意图;
图2为本发明实施例数据预处理装置2的结构框图;
图3为本发明实施例数据存储装置3的结构框图;
图4为本发明实施例任务冲突分析装置4的结构框图;
图5为本发明实施例任务调度装置5的结构框图;
图6为本发明实施例批量数据冲突检测方法流程图;
图7为本发明实施例批量数据冲突检测装置的结构框图;
图8为本发明实施例批冲突判断单元704的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种批量数据冲突检测系统,该批量数据冲突检测系统包括:输入输出装置1、数据预处理装置2、数据存储装置3、任务冲突分析装置4、任务调度装置5及任务处理装置6。
数据预处理装置2、任务冲突分析装置4、任务调度装置5及任务处理装置6均与数据存储装置3相连接,任务冲突分析装置4连接任务调度装置5,任务调度装置5连接任务处理装置6,输入输出装置1连接数据预处理装置2。
输入输出装置1用于接收用户提交的待处理任务的数据信息,并将该数据信息发送给数据预处理装置2中。
数据预处理装置2接收数据信息,将数据信息解析为易于识别的数据格式后保存在数据存储装置3中,并将该数据信息登记为待处理任务数据,排入待处理任务队列。
数据存储装置3存储包括对象间冲突关系数据、对象状态冲突关系数据、任务类型和日终批量冲突关系数据、对象任务数据、对象间关系状态数据、待处理任务队列数据、各类任务引导启动数据的冲突处理数据。
任务冲突分析装置4从数据存储装置3中逐一获取待处理任务队列中的数据信息,根据数据信息的对象间冲突关系信息、对象状态冲突关系信息、任务类型及日终批量冲突关系数据判断该待处理任务是否发生冲突,并将冲突判断结果发送给任务调度装置5。
任务调度装置5接收该冲突判断结果,进行如下处理:
如果冲突判断结果为发生了冲突,判断待处理任务已发生冲突的次数是否已经达到上限,如果尚未达到上限,将待处理任务的已冲突次数增加1,并将待处理任务排至待处理任务队列尾部;如果已经达到上限则将所述待处理任务的状态设置为失败。
如果接冲突判定结果为不发生冲突,将所述待处理任务的任务序号和任务类型发送给所述的任务处理装置。任务处理装置6接收任务序号和任务类型,处理待处理任务,并将待处理任务标记为已处理。
在一实施例中,如图2所示,数据预处理装置2包括:文件解析单元201及文件队列排序单元202。
具体实施时,文件解析单元201对从输入输出装置1接收的数据信息进行解析,将数据信息转换为易于识别的数据格式后存储在数据存储装置2中,同时生成数据信息的任务序号。文件队列排序单元202接收该任务序号,根据该任务序号从数据存储装置3中获取数据信息,将数据信息排入待处理任务队列。
在一实施例中,如图3所示,数据存储装置3包括:对象间冲突关系数据存储单元301、对象状态冲突关系数据存储单元302、任务类型和日终批量冲突关系数据存储单元303、对象任务数据存储单元304、对象间关系状态等基本数据存储单元305、待处理任务队列数据存储单元306、其他数据存储单元307。
对象间冲突关系数据存储单元301用于存储对象间冲突关系数据,数据的形态为(即对象间冲突关系数据需要满足):当a对象提交了x任务时,b对象(b对象可能就是a对象,也可能是和a对象有关系的一个对象)就不能提交y任务。
对象状态冲突关系数据存储单元302用于存储对象状态冲突关系数据,当存储对象进行某任务时,对其相关对象的状态进行约束。数据的形态为:当a对象提交x任务时,b对象(b可能就是a,也可能是和a有关系的一个对象)必须处于某种状态,或不能处于某种状态。
对象类型和日终批量冲突关系数据存储单元303用于存储对象类型和日终批量冲突关系数据,即用来保存哪些任务会和日终批量形成冲突。
对象任务数据存储单元304用于存储各对象当前已发生的各类任务的详细信息。
对象间关系、状态等基本数据存储单元305用于存储各对象之间的上下级隶属关系,及各对象当前所处的状态。
待处理任务队列数据存储单元306用于存储待处理的任务队列,这部分数据尚未真正形成任务,当正式形成任务之后,该部分数据会转换为对象任务数据存储单元304中的信息记录。
其他数据存储单元307用于存储装置运作所需的一些其他数据。
如图4所示,任务冲突分析装置4包括:待处理任务读入单元401,系统任务侦测单元402,对象状态侦测单元403,任务冲突关系数据读入单元404,冲突决策单元405及对象间关系侦测单元406。
待处理任务读入单元401内嵌时钟装置定时触发系统工作,用于从待处理任务队列数据存储单元306的待处理任务队列中读取待处理任务的数据信息,并解析识别出数据信息中的操作对象信息作为冲突的分析对象,并将该对象信息发送至对象间关系侦测单元406及冲突决策单元405。
系统任务侦测单元402在接收到对象间关系侦测单元406传递来的操作对象以及其相关对象的信息后单元启动工作,从所述的数据存储装置中读取各相关对象已正式发生的任务,与对象间冲突关系数据组成对象间冲突判断的依据。
对象状态侦测单元403在接收到对象间关系侦测单元406传递来的操作对象以及其相关对象的信息后单元启动工作,从数据存储装置中读取相关对象状态信息,与对象状态冲突关系数据302中存储的对象状态冲突关系数据组成对象状态冲突判断的依据。
任务冲突关系数据读入单元404在接收到冲突决策单元405传入的任务类型信息后装置启动,数据存储装置中的对象间冲突关系数据存储单元301、对象状态冲突关系数据存储单元302、对象类型和日终批量冲突关系数据存储单元303分别读取对象间冲突关系数据、对象状态冲突关系数据及对象类型和日终批量冲突关系数据,该部分数据是冲突的判断依据,任务冲突关系数据读入单元404将这些数据读取后返回给冲突决策单元405,以供其后续使用。
对象间关系侦测单元406在接收到由待处理任务读入单元401传递来的操作对象信息后单元启动工作,从数据存储装置3的对象间关系状态等基本数据存储单元305中读取对象间关系信息,以便于后续装置识能够识别出与一个即将发生数据处理操作的对象有关联关系的对象有哪些。然后将对象间关系信息发送给系统任务侦测单元402。
冲突决策单元405用于根据所述的操作对象信息、各相关对象已正式发生的任务、对象间冲突关系数据、相关对象状态信息、对象状态冲突关系数据、对象类型和日终批量冲突关系数据及对象间关系信息判断该即将发生的任务是否会发生冲突,生成冲突判断结果。
具体实施时,判断该即将发生的任务是否会发生冲突,包括:1、判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突;2、判断所述的待处理任务是否会导致和相关对象的状态发生冲突;3、判断所述的待处理任务是否会导致和日终批量的发生冲突。
如图5所示,任务调度装置5包括:调度总控单元501、任务状态调整单元502、任务处理发起单元503及任务队列顺序调整单元504。
调度总控单元501用于冲突决策单元405根据冲突判断结果生成的指令,并该指令触发任务状态调整单元502、任务处理发起单元503或任务队列顺序调整单元504。具体实施时,如果发生冲突,且冲突次数尚未达到上限阀值,则触发任务队列顺序调整单元504启动工作;如果发生冲突,且冲突次数达到上限阀值,则触发任务状态调整单元502启动工作;如果不发生冲突,则触发任务处理发起单元503启动工作。调度总控单元501与任务状态调整单元502、任务处理发起单元503、任务队列顺序调整单元504之间的信息传递内容包含任务序号和任务类型。
任务状态调整单元502接收调度总控单元501传递来的任务序号,将所述任务序号对应的任务状态设置为处理失败。
任务处理发起单元503接收调度总控单元501传递来的任务序号和任务类型,根据任务序号和申请类型生成任务发起指令并发送给任务处理装置6。
任务队列顺序调整单元504用于接收调度总控单元501传递来的任务序号,将该待处理任务调整至待处理任务队列尾部,并将该待处理任务的已冲突次数增加1。
由上述分析可知,利用本发明的批量数据冲突检测系统,可以有效避免任务之间冲突和干扰的发生,保证系统能够正常运行。多种渠道来源和多种类型的任务可以有序地处理,保证了任务处理的正确性、时效性和系统使用的友好性。减少了晚间批量时的数据处理量,大大缩短了夜间批量的运行时间,降低了系统风险,有效平衡了系统的整体开销。
如图6所示,本发明一种批量数据冲突检测方法,该批量数据冲突检测包括:
步骤601:接收用户输入的待处理任务的数据信息;
步骤602:根据所述数据信息对应的任务序号将所述数据信息存储到待处理队列;
步骤603:从所述的待处理队列中读取一个所述数据信息,并获取读取的所述数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据;
步骤604:根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突;
步骤605:如果会发生冲突,判断所述待处理任务已发生的冲突次数是否已经达到上限;如果达到上限,进行步骤606,否则进行步骤607。
步骤606:将所述待处理任务的状态设置为失败;
步骤607:将所述待处理任务的已冲突次数增加1,并将所述待处理任务调整至所述待处理队列的尾部。
由图6所示的流程可知,本发明首先根据任务序号将待处理任务存入待处理队列,然后读取待处理队列中的待处理任务,并获取存储的该待处理任务的状态信息、已经发生的任务信息及对象间冲突关系数据,判断待处理任务是否会发生冲突,如果会发生冲突,进一步判断待处理任务已发生的冲突次数是否已经达到上限,如果达到上限,将待处理任务的状态设置为失败,否则,将待处理任务的已冲突次数增加1,并将待处理任务调整至所述待处理队列的尾部。通过上述方法,有效避免了任务之间冲突和干扰的发生,保证系统能够正常运行。多种渠道来源和多种类型的任务可以有序地处理,保证了任务处理的正确性、时效性和系统使用的友好性。
步骤601具体实施时,接收用户通过输入输出装置提交大批量数据文件(待处理任务的数据信息),对数据信息进行解析,拆解为系统易于识别的数据格式,再根据任务的类型判断数据文件的格式是否合法。
步骤602具体实施时,保存该待处理任务的数据信息,同时为该数据信息生成任务序号,然后通过该任务序号将该数据信息排入待处理任务队列。
步骤603具体实施时,需要根据任务序号从待处理队列中读取数据信息,并获取读取的该数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据。需要注意的是,步骤603读取数据信息时,一次读取一个任务序号对应的数据信息,然后进行后续处理,在步骤606之后,再根据下一个任务序号读取对应的数据信息。
步骤604具体实施时,根据数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据判断待处理任务是否会发生冲突,是指判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突;如果待处理任务不会导致和相关对象的已发生任务发生冲突,则判断待处理任务是否会导致和相关对象的状态发生冲突;如果所述的待处理任务不会导致和相关对象的状态发生冲突,则判断待处理任务是否会导致和日终批量的发生冲突,如果待处理任务不会导致和日终批量的发生冲突,则待处理任务才不会发生冲突,然后进行步骤605。
在一实施例中,通过步骤604进行冲突判断之后,如果待处理任务不会发生冲突,进行步骤608根据任务类型和任务序号生成任务发起指令,并根据该任务发起指令处理待处理任务,然后将处理完成的待处理任务的状态修改为已发起,之后在再进行步骤603,根据下一个任务序号读取对应的数据信息。
在一实施例中,通过步骤606将待处理任务调整至待处理队列的尾部之后,批量数据冲突检测方法还包括:根据任务类型和任务序号生成任务发起指令,并根据所述的任务发起指令处理所述的待处理任务,然后将处理完成的所述待处理任务的状态修改为已发起。
由上述分析可知,利用本发明的批量数据冲突检测系统,可以有效避免任务之间冲突和干扰的发生,保证系统能够正常运行。多种渠道来源和多种类型的任务可以有序地处理,保证了任务处理的正确性、时效性和系统使用的友好性。减少了晚间批量时的数据处理量,大大缩短了夜间批量的运行时间,降低了系统风险,有效平衡了系统的整体开销。
如图7所示,本发明提供一种批量数据冲突检测装置,该批量数据冲突检测装置包括:数据信息接收单元701,待处理队列存储单元702,信息获取单元703,冲突判断单元704,冲突上限判断单元705及待处理任务调整单元706。
数据信息接收单元701用于接收用户通过输入输出装置输入的待处理任务的数据信息,然后对数据信息进行解析,拆解为系统易于识别的数据格式,再根据任务的类型判断数据文件的格式是否合法。
待处理队列存储单元702保存该待处理任务的数据信息,同时为该数据信息生成任务序号,根据该数据信息对应的任务序号将数据信息存储到待处理队列。
信息获取单元703用于从待处理队列中读取一个数据信息,并获取读取的数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据。
冲突判断单元704用于根据状态信息、已经发生的任务信息及对象间冲突关系数据判断待处理任务是否会发生冲突。
具体实施时,冲突判断单元704判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突;如果待处理任务不会导致和相关对象的已发生任务发生冲突,则判断待处理任务是否会导致和相关对象的状态发生冲突;如果所述的待处理任务不会导致和相关对象的状态发生冲突,则判断待处理任务是否会导致和日终批量的发生冲突,如果待处理任务不会导致和日终批量的发生冲突,则待处理任务才不会发生冲突,然后进行步骤605。
冲突上限判断单元705用于判断待处理任务已发生的冲突次数是否已经达到上限。
待处理任务调整单元706用于当待处理任务已发生的冲突次数达到上限如果达到上限时,将所述待处理任务的状态设置为失败;或者在当所述待处理任务已发生的冲突次数未达到上限如果达到上限时,将待处理任务的已冲突次数增加1,并将所述待处理任务调整至所述待处理队列的尾部。
如图8所示,冲突判断单元704包括:已发生任务冲突判断模块801,状态冲突判断模块802及日终批量冲突判断模块803。
已发生任务冲突判断模块801用于判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突,之后,状态冲突判断模块802判断所述的待处理任务是否会导致和相关对象的状态发生冲突,最后,日终批量冲突判断模块803判断所述的待处理任务是否会导致和日终批量的发生冲突,判断出待处理任务是否会发生冲突。
如图7所示,批量数据冲突检测装置还包括:任务发起指令生成单元707及任务处理单元708。
任务发起指令生成单元707根据任务类型和所述的任务序号生成任务发起指令,任务处理单元705根据任务发起指令处理待处理任务,然后将处理完成的待处理任务的状态修改为已发起。
在一实施例中,如果冲突判断单元704根据状态信息、已经发生的任务信息及对象间冲突关系数据判断待处理任务不会发生冲突,也需要同任务处理单元705根据任务发起指令处理待处理任务,然后将处理完成的待处理任务的状态修改为已发起。
由上述分析可知,利用本发明的批量数据冲突检测系统,可以有效避免任务之间冲突和干扰的发生,保证系统能够正常运行。多种渠道来源和多种类型的任务可以有序地处理,保证了任务处理的正确性、时效性和系统使用的友好性。减少了晚间批量时的数据处理量,大大缩短了夜间批量的运行时间,降低了系统风险,有效平衡了系统的整体开销。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种批量数据冲突检测方法,其特征在于,所述的方法包括:
接收用户输入的待处理任务的数据信息;
根据所述数据信息对应的任务序号将所述数据信息存储到待处理队列;
从所述的待处理队列中读取一个所述数据信息,并获取读取的所述数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据;
根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突;
如果会发生冲突,判断所述待处理任务已发生的冲突次数是否已经达到上限;
如果达到上限,将所述待处理任务的状态设置为失败,否则,将所述待处理任务的已冲突次数增加1,并将所述待处理任务调整至所述待处理队列的尾部;
其中,根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突包括:判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突;如果待处理任务不会导致和相关对象的已发生任务发生冲突,则判断待处理任务是否会导致和相关对象的状态发生冲突;如果所述的待处理任务不会导致和相关对象的状态发生冲突,则判断待处理任务是否会导致和日终批量的发生冲突,如果待处理任务不会导致和日终批量的发生冲突,则待处理任务才不会发生冲突。
2.根据权利要求1所述的批量数据冲突检测方法,其特征在于,根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突之后,如果所述的待处理任务不会发生冲突,根据任务类型和所述的任务序号生成任务发起指令。
3.根据权利要求2所述的批量数据冲突检测方法,其特征在于,根据所述的任务发起指令处理所述的待处理任务,然后将处理完成的所述待处理任务的状态修改为已发起。
4.根据权利要求1所述的批量数据冲突检测方法,其特征在于,将所述待处理任务调整至所述待处理队列的尾部之后,所述的方法还包括:根据任务类型和所述的任务序号生成任务发起指令。
5.根据权利要求4所述的批量数据冲突检测方法,其特征在于,根据所述的任务发起指令处理所述的待处理任务,然后将处理完成的所述待处理任务的状态修改为已发起。
6.一种批量数据冲突检测装置,其特征在于,所述的装置包括:
数据信息接收单元,用于接收用户输入的待处理任务的数据信息;
待处理队列存储单元,根据所述数据信息对应的任务序号将所述数据信息存储到待处理队列;
信息获取单元,用于从所述的待处理队列中读取一个所述数据信息,并获取读取的所述数据信息的状态信息、已经发生的任务信息及对象间冲突关系数据;
冲突判断单元,用于根据所述的状态信息、已经发生的任务信息及对象间冲突关系数据判断所述的待处理任务是否会发生冲突;
冲突上限判断单元,用于判断所述待处理任务已发生的冲突次数是否已经达到上限;
待处理任务调整单元,用于当所述待处理任务已发生的冲突次数达到上限时,将所述待处理任务的状态设置为失败;或者在当所述待处理任务已发生的冲突次数未达到上限时,将所述待处理任务的已冲突次数增加1,并将所述待处理任务调整至所述待处理队列的尾部;
其中,所述冲突判断单元包括:已发生任务冲突判断模块,用于判断所述的待处理任务是否会导致和相关对象的已发生任务发生冲突;状态冲突判断模块,判断所述的待处理任务是否会导致和相关对象的状态发生冲突;日终批量冲突判断模块,判断所述的待处理任务是否会导致和日终批量的发生冲突。
7.根据权利要求6所述的批量数据冲突检测装置,其特征在于,所述的装置还包括:任务发起指令生成单元,用于根据任务类型和所述的任务序号生成任务发起指令。
8.根据权利要求7所述的批量数据冲突检测装置,其特征在于,所述的装置还包括:任务处理单元,用于根据所述的任务发起指令处理所述的待处理任务,然后将处理完成的所述待处理任务的状态修改为已发起。
9.一种批量数据冲突检测系统,其特征在于,所述的系统包括:输入输出装置、数据预处理装置、数据存储装置、任务冲突分析装置、任务调度装置及任务处理装置;
所述的数据预处理装置、任务冲突分析装置、任务调度装置及任务处理装置均与所述的数据存储装置相连接,所述的任务冲突分析装置连接所述的任务调度装置,所述的任务调度装置连接所述的任务处理装置,所述的输入输出装置连接所述的数据预处理装置;
所述的输入输出装置用于接收用户提交的待处理任务的数据信息,将所述的数据信息传入所述的数据预处理装置;
所述的数据预处理装置用于接收所述数据信息,将所述数据信息解析为易于识别的数据格式后保存在所述的数据存储装置中,并将所述的数据信息排入待处理任务队列;
所述的数据存储装置用于存储包括对象间冲突关系数据、对象状态冲突关系数据、任务类型和日终批量冲突关系数据、对象任务数据、对象间关系状态数据、待处理任务队列数据、各类任务引导启动数据的冲突处理数据;
所述的任务冲突分析装置用于从所述的数据存储装置中逐一获取所述待处理任务队列的数据信息,根据所述数据信息的对象间冲突关系信息、对象状态冲突关系信息、任务类型及日终批量冲突关系数据判断所述的待处理任务是否发生冲突,并将冲突判断结果发送给所述的任务调度装置;
所述的任务调度装置接收所述的冲突判断结果,如果所述的冲突判断结果为发生了冲突,判断所述的待处理任务已发生冲突的次数是否已经达到上限,如果尚未达到上限,将所述待处理任务的已冲突次数增加1,并将所述的待处理任务排至所述待处理任务队列尾部,如果已经达到上限则将所述待处理任务的状态设置为失败;如果所述的冲突判断结果为未发生冲突,将所述待处理任务的任务序号和任务类型发送给所述的任务处理装置;
所述任务处理装置用于接收所述的任务序号和任务类型,处理所述待处理任务,并将所述待处理任务标记为已处理;
其中,所述的任务冲突分析装置具体包括:待处理任务读入单元,系统任务侦测单元,对象状态侦测单元,任务冲突关系数据读入单元,冲突决策单元及对象间关系侦测单元;
所述的待处理任务读入单元用于从所述待处理任务队列中读取所述待处理任务的数据信息,并解析识别出所述数据信息中的操作对象信息作为冲突的分析对象;
所述的系统任务侦测单元用于从所述的数据存储装置中读取各相关对象已正式发生的任务,与对象间冲突关系数据组成对象间冲突判断的依据;
所述的对象状态侦测单元用于从所述的数据存储装置中读取相关对象状态信息,与对象状态冲突关系数据组成对象状态冲突判断的依据;
所述的任务冲突关系数据读入单元用于从所述的数据存储装置中读取对象间冲突关系数据、对象状态冲突关系数据及对象类型和日终批量冲突关系数据;
所述的对象间关系侦测单元用于从所述的数据存储装置中读取对象间关系信息,并将所述的对象间关系信息发送给所述的系统任务侦测单元;
所述的冲突决策单元用于根据所述的操作对象信息、各相关对象已正式发生的任务、对象间冲突关系数据、相关对象状态信息、对象状态冲突关系数据、对象类型和日终批量冲突关系数据及对象间关系信息判断即将发生的任务是否会发生冲突,生成冲突判断结果。
10.根据权利要求9所述的系统,其特征在于,所述的数据预处理装置包括:
文件解析单元,用于对所述的数据信息进行解析,将数据信息转换为易于识别的数据格式后存储在所述数据存储装置中,同时生成所述数据信息的任务序号;
文件队列排序单元,用于接收所述的任务序号,根据所述的任务序号从所述数据存储装置中获取所述的数据信息,将所述的数据信息排入待处理任务队列。
11.根据权利要求10所述的系统,其特征在于,所述的任务调度装置包括:调度总控单元、任务状态调整单元、任务处理发起单元及任务队列顺序调整单元;
所述的调度总控单元用于接收所述的冲突决策单元根据所述冲突判断结果生成的指令,并根据所述的指令触发所述的任务状态调整单元、任务处理发起单元或任务队列顺序调整单元;
所述的任务状态调整单元用于接收所述调度总控单元传递来的任务序号,将所述任务序号对应的任务状态设置为处理失败;
所述的任务处理发起单元用于接收所述调度总控单元传递来的任务序号和任务类型,根据任务序号和申请类型生成任务发起指令并发送给所述的任务处理装置;
所述的任务队列顺序调整单元用于接收所述调度总控单元传递来的任务序号,将所述待处理任务调整至所述待处理任务队列尾部,并将所述待处理任务的已冲突次数增加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726776.7A CN103645944B (zh) | 2013-12-25 | 2013-12-25 | 一种批量数据冲突检测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726776.7A CN103645944B (zh) | 2013-12-25 | 2013-12-25 | 一种批量数据冲突检测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103645944A CN103645944A (zh) | 2014-03-19 |
CN103645944B true CN103645944B (zh) | 2017-01-18 |
Family
ID=50251166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310726776.7A Active CN103645944B (zh) | 2013-12-25 | 2013-12-25 | 一种批量数据冲突检测方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103645944B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108037680A (zh) * | 2017-12-14 | 2018-05-15 | 北京中润远华科技有限公司 | 一种指令处理方法及装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615486B (zh) * | 2014-12-26 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 用于搜索推广平台的多任务调度和执行方法、装置和系统 |
CN105808559A (zh) * | 2014-12-29 | 2016-07-27 | 深圳市金蝶中间件有限公司 | 处理数据冲突的方法及装置 |
CN107368356A (zh) * | 2016-05-12 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法和装置 |
CN107423918A (zh) * | 2017-08-16 | 2017-12-01 | 广州环球梦电子商务股份有限公司 | 一种借卖平台商品任务调度方法和系统 |
CN110321527B (zh) * | 2019-06-11 | 2023-10-03 | 北京科东电力控制系统有限责任公司 | 一种基于多元基础信息融合的数据有效性判别方法 |
CN112035489B (zh) * | 2020-09-17 | 2023-09-22 | 中国银行股份有限公司 | 基于并行机制的任务冲突检测方法、装置及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393822A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 批量调度系统及方法 |
CN103336726A (zh) * | 2013-07-10 | 2013-10-02 | 北京百度网讯科技有限公司 | 检测Linux系统中多任务冲突的方法与装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010050524A1 (ja) * | 2008-10-31 | 2010-05-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
-
2013
- 2013-12-25 CN CN201310726776.7A patent/CN103645944B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393822A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 批量调度系统及方法 |
CN103336726A (zh) * | 2013-07-10 | 2013-10-02 | 北京百度网讯科技有限公司 | 检测Linux系统中多任务冲突的方法与装置 |
Non-Patent Citations (2)
Title |
---|
基于描述逻辑的CWM元数据冲突的检测和消解;赵晓非等;《计算机科学》;20101115;第37卷(第11期);1266-1271 * |
多级协同项目执行中的资源冲突检测与管理;乔立红等;《北京航空航天大学学报》;20081115;第34卷(第11期);166-171 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108037680A (zh) * | 2017-12-14 | 2018-05-15 | 北京中润远华科技有限公司 | 一种指令处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103645944A (zh) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103645944B (zh) | 一种批量数据冲突检测方法、装置及系统 | |
US11023285B2 (en) | Acceleration method for FPGA-based distributed stream processing system | |
CN105447604B (zh) | 一种账户处理方法及装置 | |
CN108804140B (zh) | 一种批量指令解析方法、装置及设备 | |
EP3255553B1 (en) | Transmission control method and device for direct memory access | |
WO2018207064A1 (en) | Systems and Methods For Parallel Verification of Blockchain Transactions | |
CN103294485B (zh) | 用于ABINIT并行计算系统的Web服务封装方法以及系统 | |
EP2977899A2 (en) | Integrating execution of computing analytics within a mapreduce processing environment | |
CN103927338A (zh) | 日志信息入库处理方法和装置 | |
CN113139660A (zh) | 模型推理方法、装置、电子设备及存储介质 | |
CN104615945A (zh) | 一种基于多gpu破解设备的密码破解方法和系统 | |
CN107704315A (zh) | 一种基于Quartz的定时任务调度服务框架及方法 | |
CN103995778A (zh) | 一种基于事件和动作的脚本文件生成方法及其装置 | |
US20180025162A1 (en) | Application program analysis apparatus and method | |
CN103309676B (zh) | 用于海洋数值模拟ROMS的Web服务封装方法以及系统 | |
CN103294482B (zh) | 用于PWscf并行计算系统的Web服务封装方法以及系统 | |
US20190057125A1 (en) | System and method for managing log data | |
CN106412088A (zh) | 一种数据同步方法及终端 | |
CN106708854A (zh) | 数据导出方法和装置 | |
EP2620876A1 (en) | Method and apparatus for data processing, pci-e bus system and server | |
CN106886453A (zh) | 用于异步多道的信息处理方法、装置和系统 | |
CN116243983A (zh) | 处理器、集成电路芯片、指令处理方法、电子设备和介质 | |
CN116192534A (zh) | 列控数据通信传输方法、装置、设备及存储介质 | |
CN106502842A (zh) | 数据恢复方法及系统 | |
CN104104969B (zh) | 一种视频截取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |