CN112783616B - 一种并发冲突处理方法、装置及计算机存储介质 - Google Patents
一种并发冲突处理方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112783616B CN112783616B CN201911096553.0A CN201911096553A CN112783616B CN 112783616 B CN112783616 B CN 112783616B CN 201911096553 A CN201911096553 A CN 201911096553A CN 112783616 B CN112783616 B CN 112783616B
- Authority
- CN
- China
- Prior art keywords
- conflict
- current
- data
- task
- processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种并发冲突处理方法、装置及计算机存储介质,本申请实施例对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,基于当前冲突处理策略,从多个任务中确定当前执行任务,执行当前执行任务,得到并发冲突处理结果。该方案可以通过预先设置的冲突处理策略集合中多种冲突处理策略,对操作系统中发生的并发冲突进行处理,从而提升并发冲突处理的效率。
Description
技术领域
本申请涉及计算机领域,具体涉及一种并发冲突处理方法、装置及计算机存储介质。
背景技术
在大多数应用中,当同一个时间段内,有多个任务都处于已启动运行到运行完毕之间,且这些任务都针对同一处理目标时,会产生并发冲突。发生并发冲突不仅会影响多个任务的运行效率,同时无法保证任务执行的准确性。因此,发生并发冲突时,需要进行相应的处理方式。
现有技术中对并发冲突进行处理的方法是当多个请求同时更新同一条数据时,只有在当前更新请求完成或者被丢弃后,才会执行下一个更新请求,如果当前更新请求未完成或者未被丢弃,后面的更新请求将会被阻塞。这种并发冲突处理方法保持了独占性,但是效率较低。
发明内容
本申请实施例提供一种并发冲突处理方法、装置及计算机可读存储介质,旨在提升并发冲突处理的效率。
为解决上述技术问题,本申请实施例提供以下技术方案:
一种并发冲突处理方法,包括:
对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果;
当所述运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,所述冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系;
基于所述冲突处理策略集合,确定所述当前冲突数据对应的当前冲突处理策略;
基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务;
执行所述当前执行任务,得到并发冲突处理结果。
一种并发冲突处理装置,包括:
检测模块,用于对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果;
获取模块,用当所述运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,所述冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系;
策略确定模块,用基于所述冲突处理策略集合,确定所述当前冲突数据对应的当前冲突处理策略;
任务确定模块,用基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务;
执行模块,用执行所述当前执行任务,得到并发冲突处理结果。
可选的,在一些实施例中,所述确定模块可以包括数值获取子模块、数值确定子模块和策略确定子模块,如下:
数值获取子模块,用于当所述冲突处理策略集合中不包括与所述当前冲突数据对应的冲突数据时,获取所述当前冲突数据与历史冲突样本集合中多个历史冲突样本数据之间的相似度数值;
数值确定子模块,用于根据所述相似度数值,从所述历史冲突样本集合的多个历史冲突样本数据中,确定目标冲突样本数据、以及所述目标冲突样本数据对应的目标相似度数值;
策略确定子模块,用于根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略。
则此时,所述策略确定子模块,具体可以用于当所述目标相似度数值为预设相似度数值时,获取所述目标冲突样本数据对应的样本数据标注,根据所述样本数据标注,确定所述当前冲突数据对应的当前冲突处理策略。
则此时,所述策略确定子模块,具体可以用于当所述目标相似度数值不大于预设相似度阈值时,将预设冲突处理策略确定为所述当前冲突数据对应的当前冲突处理策略。
则此时,所述策略确定子模块,具体可以用于当所述目标相似度数值大于预设相似度阈值,且所述目标相似度数值不为预设相似度数值时,将所述当前冲突数据输入单次策略获取模型,基于所述单次策略获取模型对所述当前冲突数据进行分类,得到所述当前冲突数据对应的分类结果,根据所述分类结果,确定所述当前冲突数据对应的当前冲突处理策略。
可选的,在一些实施例中,所述构建模块可以包括构建子模块、第一更新子模块和第二更新子模块,如下:
构建子模块,用于构建冲突信息列表,所述冲突信息列表中包括已修正冲突信息、以及未修正冲突信息;
第一更新子模块,用于当所述冲突信息列表中未修正冲突信息的数量达到预设数量时,基于全局策略获取模型,更新所述未修正冲突信息,得到更新后冲突信息;
第二更新子模块,用于基于所述更新后冲突信息,更新所述冲突信息列表中的已修正冲突信息。
则此时,所述构建子模块,具体可以用于将所述当前冲突数据、以及所述当前冲突数据对应的当前冲突处理策略,组合为当前冲突信息,根据所述当前冲突信息,更新所述冲突信息列表中的未修正冲突信息。
则此时,所述任务确定模块,具体可以用于基于所述当前冲突处理策略,获取每个任务对应的优先级,根据所述优先级,从多个任务中确定当前执行任务。
本发明实施例还提供一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述并发冲突处理方法。
此外,本发明实施例还提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例提供的任一种并发冲突处理方法中的步骤。
本申请实施例对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,基于当前冲突处理策略,从多个任务中确定当前执行任务,执行当前执行任务,得到并发冲突处理结果。该方案可以通过预先设置的冲突处理策略集合中多种冲突处理策略,对操作系统中发生的并发冲突进行处理,从而提升并发冲突处理的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的并发冲突处理系统的场景示意图;
图2是本申请实施例提供的并发冲突处理方法的第一流程图;
图3是本申请实施例提供的并发冲突处理方法的第二流程图;
图4是本申请实施例提供的并发冲突处理装置的网络结构图;
图5是本申请实施例提供的并发冲突处理装置的结构示意图;
图6是本申请实施例提供的网络设备的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语“模块”可看作为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看作为在该运算系统上的实施对象。而本文所述的装置及方法可以以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供一种并发冲突处理方法,该并发冲突处理方法的执行主体可以是本申请实施例提供的并发冲突处理装置,或者集成了该并发冲突处理装置的网络设备,其中该并发冲突处理装置可以采用硬件或者软件的方式实现。其中,网络设备可以是智能手机、平板电脑、掌上电脑、笔记本电脑、或者台式电脑等设备。网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或者多个服务器构成的云。
请参阅图1,图1为本申请实施例提供的并发冲突处理方法的应用场景示意图,以并发冲突处理装置集成在网络设备中为例,网络设备可以对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,基于当前冲突处理策略,从多个任务中确定当前执行任务,执行当前执行任务,得到并发冲突处理结果。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
请参阅图2,图2为本申请实施例提供的并发冲突处理方法的流程示意图,具体通过如下实施例进行说明:
201、对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果。
其中,操作系统能够管理计算机硬件与软件资源的计算机程序,是计算机系统的内核与基石。操作系统可以处理诸如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。
其中,任务可以指由软件完成的活动,是一系列共同达到某一目的的操作。在操作系统中,一个任务既可以是一个进程,也可以是一个线程。比如,读取数据并将数据放入内存中,这个任务可以作为一个进程来实现,也可以作为一个线程来实现,还可以视作一个中断任务。又比如,对变量进行赋值也可以视为操作系统中的一个任务,等等。
在实际应用中,由于操作系统中可能同时运行着多个针对相同目标的任务,这时操作系统中会产生并发冲突,产生并发冲突不仅会影响操作系统中任务的运行效率,同时无法保证任务执行的准确性。因此,可以通过对操作系统中任务的任务运行状态进行检测,得知此时操作系统中是否发生了并发冲突。
202、当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合。
其中,并发冲突为操作系统中程序运行时的一种冲突故障。在同一时间段内,当操作系统中有多个任务都处于已启动运行到运行完毕之间,并且这些任务都针对同一处理目标时,会产生并发冲突。比如,操作系统中的任务A和任务B都需要对变量a进行赋值,并且任务A先发生,在任务A对变量a的赋值过程中,任务B开始对变量a赋值,此时,就产生了并发冲突。
其中,冲突处理策略集合可以为根据历史经验或者已知并发冲突的处理方法等预先设置好的集合,该冲突处理策略集合中包括冲突数据与冲突处理策略之间的映射关系,其中,冲突数据可以为操作系统中发生并发冲突的程序对应的代码片段。比如,该冲突处理策略集合中可以包括冲突数据1、冲突数据2…冲突数据n,以及每个冲突数据对应的冲突处理策略。
其中,冲突处理策略可以为处理并发冲突的方法,比如,冲突处理策略可以为:当操作系统中任务A和任务B之间产生并发冲突时,分别获取任务A和任务B对应的优先级,使得其中优先级高的任务覆盖优先级低的任务的操作方法。
又比如,冲突处理策略还可以为:当操作系统中任务A和任务B之间产生并发冲突时,随机选取任务A进行执行,并产生相应的任务执行结果,然后使得任务B在任务执行结果的基础上继续执行的操作方法,等等。
在实际应用中,比如,对操作系统中任务的任务运行状态进行检测,并得到运行状态检测结果之后,根据该运行状态检测结果可以确定操作系统中产生了并发冲突,此时,可以获取操作系统中发生并发冲突的程序对应的代码片段、以及用户预先设置的冲突处理策略集合。该冲突处理策略集合中可以包括冲突数据1、冲突数据2…冲突数据n,以及每个冲突数据对应的冲突处理策略。
203、基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略。
在实际应用中,比如,此时已经获取到当前并发冲突对应的当前冲突数据、以及冲突处理策略集合。可以在冲突处理策略集合中查询是否有与当前冲突数据对应的冲突数据,如果能够在冲突处理策略集合中查询到与当前冲突数据对应的冲突数据,那么在冲突处理策略集合中查询到的冲突数据对应的冲突处理策略,可以确定为当前冲突数据对应的当前冲突处理策略。
在一实施例中,由于不能够保证在冲突处理策略集合中能够查询到与当前冲突数据对应的冲突数据,如果不能够在冲突处理策略集合中查询到与当前冲突数据对应的冲突数据,此时,可以通过比较当前冲突数据与历史冲突样本数据之间的相似程度,选取相应的方案获取当前冲突数据对应的当前冲突处理策略。具体地,并发冲突处理方法还可以包括:
当所述冲突处理策略集合中不包括与所述当前冲突数据对应的冲突数据时,获取所述当前冲突数据与历史冲突样本集合中多个历史冲突样本数据之间的相似度数值;
根据所述相似度数值,从所述历史冲突样本集合的多个历史冲突样本数据中,确定目标冲突样本数据、以及所述目标冲突样本数据对应的目标相似度数值;
根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略。
其中,历史冲突样本集合可以为:根据历史获取到的多个历史冲突数据、以及每个历史冲突数据对应的历史冲突处理策略,构建而成的集合。该历史冲突样本集合中包括多个历史冲突样本数据,每个历史冲突样本数据都对应一个样本数据标注,根据该样本数据标注可以得知该历史冲突样本数据对应的冲突处理策略。
其中,该相似度数值可以为表征当前冲突数据与历史冲突样本数据之间相似程度的数值,由于冲突数据可以为代码的形式,因此,可以通过比较当前冲突代码与历史冲突样本代码之间的相似程度,得到相似度数值。根据相似度数值可以得知当前冲突数据与历史冲突样本数据之间的差异性,进而推断出处理并发冲突的风险度。
比如,可以定义完全相同时,相似度数值为1,完全不同时,相似度数值为0,如果当前冲突代码与历史冲突样本代码完全一致,此时,相似度数值可以为1,说明此时产生并发冲突的情况与历史出现过的并发冲突的情况完全一致,则可以直接利用历史经验处理并发冲突。由于机器学习模型是利用历史数据训练得到的,因此,如果当前冲突代码与历史冲突样本代码之间相差不大,也即计算出的相似度数值大于预设相似度数值时,可以通过机器学习的方法处理并发冲突。如果当前冲突代码与历史冲突样本代码之间相差很大,也即计算出的相似度数值不大于预设相似度数值时,此时说明当前产生的并发冲突与历史产生过的并发冲突差异过大,也即此时利用机器学习处理并发冲突的风险度过大,准确性不高,因此,可以采取预设的方法处理并发冲突,等等。
在实际应用中,比如,如果不能够在冲突处理策略集合中查询到与当前冲突数据对应的冲突数据,此时,可以获取历史冲突样本集合,该历史冲突样本集合中包括多个历史冲突样本数据。并且计算当前冲突数据与历史冲突样本集合中的多个历史冲突样本数据之间的相似度数值。然后可以从获取到的多个相似度数值中选取相似度数值最大的目标相似度数值,该目标相似度数值对应的目标冲突样本数据,是多个历史冲突样本数据中与当前冲突数据相似度最高的,也即,从历史冲突样本集合中获取与当前发生的并发冲突情况最接近的历史情况。然后可以根据目标相似度数值,确定获取当前冲突数据对应的当前冲突处理策略的方法,并获取到当前冲突处理策略。
在一实施例中,为了提升并发冲突处理效率,如果当前冲突数据与目标冲突样本数据完全相同,可以直接利用历史经验处理当前发生的并发冲突。具体地,步骤“根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略”,可以包括:
当所述目标相似度数值为预设相似度数值时,获取所述目标冲突样本数据对应的样本数据标注;
根据所述样本数据标注,确定所述当前冲突数据对应的当前冲突处理策略。
其中,样本数据标注可以为表征历史冲突样本数据对应的历史冲突处理策略的标注,通过样本数据标注可以得知,在相应的并发冲突情况下,应当采用哪种冲突处理策略。该样本数据标注可以根据历史上对历史冲突样本数据采取的冲突处理策略进行标注,还可以通过人工对已知处理策略的冲突数据进行标注。
在一实施例中,比如,可以定义完全相同时,相似度数值为1,完全不同时,相似度数值为0,且预设相似度数值为1,那么当计算出的目标相似度数值为1时,说明此时当前冲突数据与目标冲突样本数据完全一致,也即,此时发生的并发冲突为处理策略已知的并发冲突,因此,可以获取目标冲突样本数据对应的样本数据标注,并根据样本数据标注,确定出当前冲突数据对应的当前冲突处理策略。
在一实施例中,如果当前冲突数据与目标冲突样本数据差异不太大时,可以利用机器学习的方法获取当前冲突处理策略。具体地,步骤“根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略”,可以包括:
当所述目标相似度数值大于预设相似度阈值,且所述目标相似度数值不为预设相似度数值时,将所述当前冲突数据输入单次策略获取模型;
基于所述单次策略获取模型对所述当前冲突数据进行分类,得到所述当前冲突数据对应的分类结果;
根据所述分类结果,确定所述当前冲突数据对应的当前冲突处理策略。
其中,预设相似度阈值可以为评估当前冲突数据与目标冲突样本数据之间相似程度的阈值,如果目标相似度数值大于预设相似度阈值,此时,可以认为当前冲突数据与目标冲突样本数据之间较为相似,则通过机器学习获取当前冲突处理策略的风险较小,准确性较高;如果目标相似度数值不大于预设相似度阈值,此时,可以认为当前冲突数据与目标冲突样本数据之间差异较大,则通过机器学习获取当前冲突处理策略的风险较大,准确性较低。
其中,单次策略获取模型可以为一种机器学习模型,由历史冲突样本集合训练得到。机器学习是一门多领域交叉学科,可以用于研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身的性能。将冲突数据输入至单次策略获取模型中,可以得到冲突数据对应的冲突处理策略。其中,单次策略获取模型可以为SVM(Support Vector Machine,支持向量机)或CNN(ConvolutionalNeural Networks,卷积神经网络)等不同模型,只要是能够获取到冲突数据对应的冲突处理策略的机器学习模型即可。
其中,SVM(Support Vector Machine,支持向量机)是一种通过监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面。
其中,CNN(Convolutional Neural Networks,卷积神经网络)是一种包括卷积计算,并且具有深度结构的前馈神经网络。卷积神经网络具有表征学习能力,能够按其阶层结构输入信息进行平移不变分类。
在实际应用中,比如,可以定义0.5为预设相似度阈值,当目标相似度数值大于0.5时,此时,说明当前冲突数据与目标冲突样本数据之间较为相似,则通过机器学习获取当前冲突处理策略的风险较小,准确性较高,因此,可以将当前冲突数据输入单次策略获取模型中,并通过单次策略获取模型对当前冲突数据进行分类,得到所述当前冲突数据对应的分类结果,然后根据获取到的分类结果,确定当前冲突数据对应的当前冲突处理策略。
在一实施例中,本申请实施例不对预设相似度阈值的数值进行限定,也即预设相似度阈值可以根据实际情况选取其他数值。
在一实施例中,如果当前冲突数据与目标冲突样本数据差异很大时,此时,通过机器学习确定当前冲突处理策略的准确性不高,因此,可以通过预设方法获取当前冲突处理策略。具体地,步骤“根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略”,可以包括:
当所述目标相似度数值不大于预设相似度阈值时,将预设冲突处理策略确定为所述当前冲突数据对应的当前冲突处理策略;
所述基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务的步骤包括:
基于所述预设冲突处理策略,将当前执行的任务确定为当前执行任务。
在实际应用中,比如,可以定义0.5为预设相似度阈值,当目标相似度数值不大于0.5时,此时,说明当前冲突数据与目标冲突样本数据之间差异较大,则通过机器学习获取当前冲突处理策略的风险较大,准确性较低,因此,可以通过预设冲突处理策略解决当前产生的并发冲突。如操作系统中的任务A和任务B都需要对变量a进行赋值,并且任务A先发生,在任务A对变量a的赋值过程中,任务B开始对变量a赋值,此时产生了并发冲突,由于任务A此时正在执行,因此,继续执行任务A,并且使得任务B不生效,同时向业务报错,让业务决定是否需要重试任务B。
在一实施例中,该预设冲突处理策略还可以为Java乐观锁对应的处理策略,其中,Java乐观锁机制为一种相对宽松的加锁机制,它基于数据版本(Version)记录机制实现,其中,该数据版本是为数据增加的一个版本标识,通过为数据库表增加一个“version”字段来实现。读取出数据时,将数据版本号一同读出,在后续更新操作时,将数据版本号加一,此时,将提交数据的版本数据与数据库表对应记录的当前版本数据进行对比,如果提交的数据版本号与数据库表当前的数据版本号相同,则予以更新,否则认为是过期数据,予以丢弃。
在一实施例中,对于当前冲突数据与目标冲突样本数据之间差异较大的情况,还可以将此时的冲突数据记录下来,后期开发者可以人为给出这些冲突数据对应的冲突处理策略,以便对冲突处理策略集合进行扩充,从而提高并发冲突处理的准确性。
204、基于当前冲突处理策略,从多个任务中确定当前执行任务。
在实际应用中,由于操作系统中多个任务之间产生了并发冲突,也即不能同时执行所有的任务,此时,可以基于当前冲突处理策略,从多个任务中确定当前执行任务,以便确定需要执行的当前执行任务。
在一实施例中,当前冲突处理策略可能为根据任务的优先级,确定当前执行任务的冲突处理策略。具体地,步骤“基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务”,可以包括:
基于所述当前冲突处理策略,获取每个任务对应的优先级;
根据所述优先级,从多个任务中确定当前执行任务。
在实际应用中,比如,当前冲突处理策略可以为根据任务的优先级,确定当前执行任务,如当操作系统中任务A和任务B之间产生并发冲突时,可以分别获取任务A和任务B对应的优先级,并将优先级高的任务A确定为当前执行任务,使得优先级高的任务A覆盖优先级低的任务B。
又比如,当前冲突处理策略还可以采用合并操作,如当操作系统中任务A和任务B之间产生并发冲突时,随机从任务A和任务B中选取当前执行任务为任务A,然后执行任务A,并产生相应的任务执行结果,使得任务B在任务执行结果的基础上继续执行,并产生最终的任务执行结果。
205、执行当前执行任务,得到并发冲突处理结果。
在实际应用中,比如,确定当前执行任务后,操作系统可以执行该当前执行任务,并得到并发冲突处理结果,然后将该并发冲突处理结果输出至业务应用程序中。
在一实施例中,在获取到并发冲突处理结果后,还可以存储至冲突信息列表中,以便后续再发生并发冲突时,可以以冲突信息列表为依据进行处理。具体地,步骤“构建冲突信息列表”,可以包括:
将所述当前冲突数据、以及所述当前冲突数据对应的当前冲突处理策略,组合为当前冲突信息;
根据所述当前冲突信息,更新所述冲突信息列表中的未修正冲突信息。
其中,冲突信息列表为存储历史发生的冲突数据、以及冲突数据对应的冲突处理策略的列表,该冲突信息列表中包括多个历史冲突信息,这些历史冲突信息由历史冲突数据、以及历史冲突数据对应的历史冲突信息构成。并且,为了提升并发处理的准确性,还可以对冲突信息列表中的信息进行修正,因此,冲突信息列表中的多个历史冲突信息可以分为两个种类:未修正冲突信息、以及已修正冲突信息。其中,未修正冲突信息是没有经过后期修正的历史冲突信息,已修正冲突信息是经过后期修正的历史冲突信息。
在一实施例中,比如,获取到当前冲突数据、以及当前冲突数据对应的当前冲突处理策略之后,可以将当前冲突数据、以及当前冲突数据对应的当前冲突处理策略进行组合,组合为当前冲突信息,并将当前冲突信息存储至冲突信息列表中,由于该当前冲突信息没有经过后期修正,因此,该当前冲突信息应当作为未修正冲突信息存储至冲突信息列表中。
在一实施例中,为了提升冲突信息列表中信息的准确性,还可以对冲突信息列表进行修正。具体地,该并发冲突处理方法,还可以包括:
构建冲突信息列表,所述冲突信息列表中包括已修正冲突信息、以及未修正冲突信息;
当所述冲突信息列表中未修正冲突信息的数量达到预设数量时,基于全局策略获取模型,更新所述未修正冲突信息,得到更新后冲突信息;
基于所述更新后冲突信息,更新所述冲突信息列表中的已修正冲突信息。
其中,全局策略获取模型可以为一种机器学习模型,由冲突信息列表中的已修正冲突信息训练得到。机器学习是一门多领域交叉学科,可以用于研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身的性能。将未修正冲突信息对应的冲突数据输入至全局策略获取模型中,可以得到冲突数据对应的冲突处理策略。其中,全局策略获取模型可以为SVM(Support Vector Machine,支持向量机)或CNN(Convolutional Neural Networks,卷积神经网络)等不同模型,只要是能够获取到冲突数据对应的冲突处理策略的机器学习模型即可。
在此申请实施例中,单次策略获取模型与全局策略获取模型为不同的机器学习模型,单次策略获取模型是由历史冲突样本集合训练得到的,而全局策略获取模型是由冲突信息列表中的已修正冲突信息训练得到的。其中,历史冲突样本集合中的历史冲突样本数据与历史冲突处理策略之间为一对一的关系,并且,历史冲突样本集合中的多个历史冲突样本数据之间没有关系。然而,冲突信息列表中的多个已修正冲突信息之间可能具有关联关系。
比如,冲突信息列表中包括已修正冲突信息1、已修正冲突信息2、以及已修正冲突信息3,已修正冲突信息1中包括冲突数据1与冲突处理策略1;已修正冲突信息2中包括冲突数据2与冲突处理策略2;已修正冲突信息3中包括冲突数据3与冲突处理策略3,其中,冲突数据1、冲突数据2、以及冲突数据3可能为同一次作业中的三段代码,也即冲突数据1、冲突数据2、以及冲突数据3之间存在关联关系。由于全局策略获取模型是由冲突信息列表中的已修正冲突信息训练得到的,因此,全局策略获取模型会从全局的角度对多个存在关联关系的冲突数据与冲突处理策略进行分析,并得出更优的冲突处理策略。
在实际应用中,比如,可以获取根据多个历史冲突信息构建的冲突信息列表,该冲突信息列表中包括已修正冲突信息、以及未修正冲突信息。当未修正冲突信息的数量累积到预设数量时,说明此时可以对冲突信息列表进行修正。此时,可以将冲突信息列表中未修正冲突信息输入至全局策略获取模型中,并根据全局策略获取模型对未修正冲突信息对应的未修正冲突数据进行分类,得到未修正冲突数据对应的修正后冲突处理策略,未修正冲突数据和修正后冲突处理策略可以组成更新后冲突信息,然后根据该更新后冲突信息对未修正冲突信息进行修正,由于此时得到的冲突信息已经经过了修正,因此,修正后得到的冲突信息可以存储为已修正冲突信息。
在一实施例中,该并发冲突处理方法可以作为Java冲突解决锁,使得用户能够自定义多种冲突处理策略,并利用这些自定义的冲突处理策略处理当前发生的并发冲突。并发冲突处理装置可以集成在网络设备中,如图4所示,网络设备中可以包括冲突仲裁器、冲突策略适配器、冲突推理解决器、以及冲突修正器四个模块。
其中,冲突仲裁器作为核心模块,能够按照获取到的当前冲突处理策略对当前发生的并发冲突进行处理,以解决当前发生的并发冲突,并将并发冲突处理结果输出至业务应用中。同时,冲突仲裁器作为整个Java冲突解决锁的枢纽,还可以向冲突策略适配器、以及冲突推理解决器发送冲突处理策略获取请求,以查询与当前冲突数据对应的当前冲突处理策略,如果能够获取到当前冲突处理策略,就执行该当前冲突处理策略对应的任务,并将并发冲突处理结果输出至业务应用中;如果不能够获取到当前冲突处理策略,可以将产生并发冲突的操作丢弃,并将该丢弃操作对应的结果输出至业务应用中。
其中,冲突策略适配器可以根据开发者预先存储在Java冲突解决锁中的冲突处理策略集合,对来自冲突仲裁器的当前冲突数据进行分析,分析得知当前冲突数据与冲突处理策略集合中多个冲突处理策略之间的关联性,当得知当前冲突数据与冲突处理策略集合中的某个冲突处理策略正好匹配,可以将该冲突处理策略作为当前冲突处理策略,并返回给冲突仲裁器。当得知当前冲突数据与冲突处理策略集合中的冲突处理策略不能匹配,可以将不能匹配结果返回给冲突仲裁器。
其中,冲突推理解决器可以接收冲突仲裁器发送的当前冲突数据,并对当前冲突数据中冲突代码片段、以及代码上下文进行分析推理,利用训练样本数据、机器学习模型等方法得到合适的当前冲突处理策略。由于冲突推理解决器中分析推理过程复杂,计算量庞大,因此,可以将冲突推理解决器放置在云端,使得冲突推理解决器可以通过网络进行冲突处理策略的查询。
其中,冲突修正器为能够对冲突信息列表进行修正的模块,当冲突信息列表中累积了一定数量的信息后,冲突处理器会批量地对这些信息进行处理,并对冲突信息列表中一些不合适的信息进行修正,以提升冲突信息列表中信息的准确性。
在实际应用中,当操作系统中产生并发冲突时,冲突仲裁器可以获取当前并发冲突对应的当前冲突数据,并向冲突策略适配器发送冲突处理策略获取请求,冲突策略适配器根据冲突处理策略获取请求,确定当前冲突数据对应的当前冲突处理策略,如果冲突策略适配器不能确定当前冲突处理策略时,冲突仲裁器向冲突推理解决器发送冲突处理策略获取请求,冲突推理解决器根据冲突处理策略获取请求,确定当前冲突数据对应的当前冲突处理策略。还可以将当前冲突数据、以及当前冲突处理策略存储至冲突信息列表,当未修正冲突信息的数量达到预设数量时,冲突修正器对冲突信息列表进行修正。
在一实施例中,比如,开发者可以在应用程序中对需要加锁的程序区域加上该Java冲突解决锁,并在代码里申明Java冲突解决锁、多个自定义的冲突处理策略、以及冲突推理解决器中的冲突推理规则,在相应加锁的区域调用lock,在释放锁的区域调用unlock。其中,冲突推理规则可以放置在云端。该并发冲突处理方法中部分代码可以如下:
//申明冲突策略适配器
ConflictMatcher cm=new ConflictMatcher();
//冲突策略适配器添加多个冲突处理策略
cm.addConflictRule(new Rule{…});
cm.addConflictRule(new Rule{…});
cm.addConflictRule(new Rule{…});
……
//申明Java冲突解决锁
ConflictResolutionLock crl=new ConflictResolutionLock();
//Java冲突解决锁设置冲突推理解决器中的冲突推理规则
crl.setLogicalRule(…);
//加锁
crl.lock();
doSomething();
…………
//释放锁
crl.unlock();
由上可知,本申请实施例可以对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,基于当前冲突处理策略,从多个任务中确定当前执行任务,执行当前执行任务,得到并发冲突处理结果。该方案可以根据预先设置的冲突处理策略集合中多种冲突处理策略,从多种冲突处理策略中选取合适的冲突处理策略,对当前操作系统中发生的并发冲突进行处理。并且,当冲突处理策略集合中不能选取到与当前发生的并发冲突相应的冲突处理策略,还可以通过机器学习等方法确定冲突处理策略,从而提升并发冲突处理的效率。另外,还可以将每次并发冲突的冲突数据、以及冲突处理策略存储至冲突信息列表中,以便作为训练机器学习的样本数据,同时,还可以对冲突信息列表中的信息进行修正,以提升并发冲突处理的准确性。
根据前面实施例所描述的方法,以下将以该并发冲突处理装置具体集成在网络设备举例作进一步详细说明。
参考图3,本申请实施例的并发冲突处理方法的具体流程可以如下:
301、冲突仲裁器获取当前并发冲突对应的当前冲突数据。
在实际应用中,比如,当操作系统中产生并发冲突时,冲突仲裁器可以获取当前产生的并发冲突对应的当前冲突数据,该当前冲突数据可以包括发生并发冲突的冲突代码片段、以及代码上下文。
302、冲突仲裁器向冲突策略适配器发送冲突处理策略获取请求。
在实际应用中,比如,冲突仲裁器获取到当前冲突数据后,可以向冲突策略适配器发送冲突处理策略获取请求,其中,该冲突处理策略获取请求中可以包括当前冲突数据,以通知冲突策略适配器进行当前冲突数据与冲突处理策略之间的匹配。
303、冲突策略适配器根据冲突处理策略获取请求,确定当前冲突数据对应的当前冲突处理策略。
在实际应用中,冲突策略适配器获取到冲突处理策略获取请求后,可以根据该冲突处理策略获取请求,获取开发者预先存储的冲突处理策略集合,该冲突处理策略集合中包括冲突数据与冲突处理策略之间的映射关系。然后,根据开发者预先存储在Java冲突解决锁中的冲突处理策略集合,对来自冲突仲裁器的当前冲突数据进行分析,分析得知当前冲突数据与冲突处理策略集合中多个冲突处理策略之间的关联性,当得知当前冲突数据与冲突处理策略集合中的某个冲突处理策略正好匹配,可以将该冲突处理策略作为当前冲突处理策略,并将当前冲突处理策略返回给冲突仲裁器,以便冲突仲裁器执行当前冲突处理策略对应的任务,得到并发冲突处理结果。
304、当冲突策略适配器不能确定当前冲突处理策略时,冲突仲裁器向冲突推理解决器发送冲突处理策略获取请求。
在实际应用中,比如,当冲突策略适配器得知,当前冲突数据与冲突处理策略集合中的冲突处理策略不能匹配时,可以将不能匹配结果返回给冲突仲裁器。冲突仲裁器接收到不能匹配的结果后,可以向冲突推理解决器发送冲突处理策略获取请求,其中,该冲突处理策略获取请求中可以包括当前冲突数据,以通知冲突推理解决器进行当前冲突处理策略的获取。
305、冲突推理解决器根据冲突处理策略获取请求,确定当前冲突数据对应的当前冲突处理策略。
在实际应用中,比如,冲突推理解决器获取到冲突处理策略获取请求后,可将当前冲突数据与历史冲突样本集合中多个历史冲突样本数据进行比较,计算当前冲突数据与历史冲突样本集合中多个历史冲突样本数据之间的相似度数值,并根据计算得到的多个相似度数值,从多个历史冲突样本数据中选取与当前冲突数据最近似的目标冲突样本数据,然后根据目标冲突样本数据对应的目标相似度数值确定当前冲突数据对应的当前冲突处理策略。
其中,若相似度数值为1,说明当前冲突数据与目标冲突样本数据完全相同,此时,可以直接将目标冲突样本数据对应的冲突处理策略,作为当前冲突处理策略。
其中,若相似度数值大于预设相似度数值,且不为1时,说明当前冲突数据与目标冲突样本数据之间相似度较大,采用机器学习方法获取当前冲突处理策略风险较低,因此,可以将当前冲突数据输入至单次策略获取模型中,并基于单次策略获取模型得到当前冲突处理策略。其中,单次策略获取模型由历史冲突样本集合训练得到。
其中,若相似度数值不大于预设相似度数值,且不为1时,说明当前冲突数据与目标冲突样本数据之间相似度较小,采用机器学习方法获取当前冲突处理策略风险较高,因此,可以采用Java乐观锁的解决方法,放弃并发冲突修复,转成丢弃冲突后续操作,并向业务应用报错,以便业务方决定是否重试。此时,还可以将此时的冲突数据记录下来,后期开发者可以人为给出这些冲突数据对应的冲突处理策略,以便对冲突处理策略集合进行扩充,从而提高并发冲突处理的准确性。
其中,冲突推理解决器获取到并发冲突处理结果后,可以将当前冲突处理策略返回给冲突仲裁器,以便冲突仲裁器执行当前冲突处理策略对应的任务,得到并发冲突处理结果。
306、将当前冲突数据、以及当前冲突处理策略存储至冲突信息列表。
在实际应用中,比如,获取到当前冲突数据、以及当前冲突处理策略之后,可以将当前冲突数据、以及当前冲突处理策略存储至冲突信息列表中,其中,该冲突信息列表中包括多个历史冲突信息,这些历史冲突信息由历史冲突数据、以及历史冲突数据对应的历史冲突信息构成。并且,为了提升并发处理的准确性,还可以对冲突信息列表中的信息进行修正,因此,冲突信息列表中的多个历史冲突信息可以分为两个种类:未修正冲突信息、以及已修正冲突信息。其中,未修正冲突信息是没有经过后期修正的历史冲突信息,已修正冲突信息是经过后期修正的历史冲突信息。
307、当未修正冲突信息的数量达到预设数量时,冲突修正器对冲突信息列表进行修正。
在实际应用中,比如,由于不断地将发生并发冲突的冲突数据、以及冲突处理策略,作为未修正冲突信息存储至冲突信息列表中,冲突信息列表中的未修正冲突信息会进行累积,当未修正冲突信息的数量累积到预设数量时,冲突修正器会将未修正冲突信息输入至全局策略获取模型中,并基于全局策略获取模型更新未修正冲突信息,得到更新后冲突信息,并根据更新后冲突信息,更新冲突信息列表中的已修正冲突信息。其中,全局策略获取模型是由冲突信息列表中的已修正冲突信息训练得到的。并且,冲突信息列表中的多个已修正冲突信息之间可能具有关联关系。
由上可知,本申请实施例可以通过冲突仲裁器获取当前并发冲突对应的当前冲突数据,通过冲突仲裁器向冲突策略适配器发送冲突处理策略获取请求,通过冲突策略适配器根据冲突处理策略获取请求,确定当前冲突数据对应的当前冲突处理策略,通过当冲突策略适配器不能确定当前冲突处理策略时,冲突仲裁器向冲突推理解决器发送冲突处理策略获取请求,通过冲突推理解决器根据冲突处理策略获取请求,确定当前冲突数据对应的当前冲突处理策略,通过将当前冲突数据、以及当前冲突处理策略存储至冲突信息列表,通过当未修正冲突信息的数量达到预设数量时,冲突修正器对冲突信息列表进行修正。该方案可以根据预先设置的冲突处理策略集合中多种冲突处理策略,从多种冲突处理策略中选取合适的冲突处理策略,对当前操作系统中发生的并发冲突进行处理。并且,当冲突处理策略集合中不能选取到与当前发生的并发冲突相应的冲突处理策略,还可以通过机器学习等方法确定冲突处理策略,从而提升并发冲突处理的效率。另外,还可以将每次并发冲突的冲突数据、以及冲突处理策略存储至冲突信息列表中,以便作为训练机器学习的样本数据,同时,还可以对冲突信息列表中的信息进行修正,以提升并发冲突处理的准确性。
为了更好地实施以上方法,本申请实施例还可以提供一种并发冲突处理装置,该并发冲突处理装置具体可以集成在网络设备中,该网络设备可以包括服务器、终端等,其中,终端可以包括:手机、平板电脑、笔记本电脑或个人计算机(PC,Personal Computer)等。
例如,如图5所示,该并发冲突处理装置可以包括检测模块51、获取模块52、策略确定模块53、任务确定模块54和执行模块55,如下:
检测模块51,用于对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果;
获取模块52,用于当所述运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,所述冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系;
策略确定模块53,用于基于所述冲突处理策略集合,确定所述当前冲突数据对应的当前冲突处理策略;
任务确定模块54,用于基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务;
执行模块55,用于执行所述当前执行任务,得到并发冲突处理结果。
在一实施例中,所述确定模块56可以包括数值获取子模块561、数值确定子模块562和策略确定子模块563,如下:
数值获取子模块561,用于当所述冲突处理策略集合中不包括与所述当前冲突数据对应的冲突数据时,获取所述当前冲突数据与历史冲突样本集合中多个历史冲突样本数据之间的相似度数值;
数值确定子模块562,用于根据所述相似度数值,从所述历史冲突样本集合的多个历史冲突样本数据中,确定目标冲突样本数据、以及所述目标冲突样本数据对应的目标相似度数值;
策略确定子模块563,用于根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略。
在一实施例中,所述策略确定子模块563可以具体用于:
当所述目标相似度数值为预设相似度数值时,获取所述目标冲突样本数据对应的样本数据标注;
根据所述样本数据标注,确定所述当前冲突数据对应的当前冲突处理策略。
在一实施例中,所述策略确定子模块563可以具体用于:
当所述目标相似度数值不大于预设相似度阈值时,将预设冲突处理策略确定为所述当前冲突数据对应的当前冲突处理策略;
所述基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务的步骤包括:
基于所述预设冲突处理策略,将当前执行的任务确定为当前执行任务。
在一实施例中,所述策略确定子模块563可以具体用于:
当所述目标相似度数值大于预设相似度阈值,且所述目标相似度数值不为预设相似度数值时,将所述当前冲突数据输入单次策略获取模型;
基于所述单次策略获取模型对所述当前冲突数据进行分类,得到所述当前冲突数据对应的分类结果;
根据所述分类结果,确定所述当前冲突数据对应的当前冲突处理策略。
在一实施例中,所述构建模块57可以包括构建子模块571、第一更新子模块572和第二更新子模块573,如下:
构建子模块571,用于构建冲突信息列表,所述冲突信息列表中包括已修正冲突信息、以及未修正冲突信息;
第一更新子模块572,用于当所述冲突信息列表中未修正冲突信息的数量达到预设数量时,基于全局策略获取模型,更新所述未修正冲突信息,得到更新后冲突信息;
第二更新子模块573,用于基于所述更新后冲突信息,更新所述冲突信息列表中的已修正冲突信息。
在一实施例中,所述构建子模块571可以具体用于:
将所述当前冲突数据、以及所述当前冲突数据对应的当前冲突处理策略,组合为当前冲突信息;
根据所述当前冲突信息,更新所述冲突信息列表中的未修正冲突信息。
在一实施例中,所述任务确定模块54可以具体用于:
基于所述当前冲突处理策略,获取每个任务对应的优先级;
根据所述优先级,从多个任务中确定当前执行任务。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本申请实施例可以通过检测模块51对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,通过获取模块52获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,通过策略确定模块53基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,通过任务确定模块54基于当前冲突处理策略,从多个任务中确定当前执行任务,通过执行模块55执行当前执行任务,得到并发冲突处理结果。该方案可以根据预先设置的冲突处理策略集合中多种冲突处理策略,从多种冲突处理策略中选取合适的冲突处理策略,对当前操作系统中发生的并发冲突进行处理。并且,当冲突处理策略集合中不能选取到与当前发生的并发冲突相应的冲突处理策略,还可以通过机器学习等方法确定冲突处理策略,从而提升并发冲突处理的效率。另外,还可以将每次并发冲突的冲突数据、以及冲突处理策略存储至冲突信息列表中,以便作为训练机器学习的样本数据,同时,还可以对冲突信息列表中的信息进行修正,以提升并发冲突处理的准确性。
本申请实施例还提供一种网络设备,该网络设备可以集成本申请实施例所提供的任一种并发冲突处理装置。
例如,如图6所示,其示出了本申请实施例所涉及的网络设备的结构示意图,具体来讲:
该网络设备可以包括一个或者一个以上处理核心的处理器61、一个或一个以上计算机可读存储介质的存储器62、电源63和输入单元64等部件。本领域技术人员可以理解,图6中示出的网络设备结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中:
处理器61是该网络设备的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器62内的软件程序和/或模块,以及调用存储在存储器62内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体控制。可选的,处理器61可包括一个或多个处理核心;优选的,处理器61可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器61中。
存储器62可用于存储软件程序以及模块,处理器61通过运行存储在存储器62的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器62可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器62还可以包括存储器控制器,以提供处理器61对存储器62的访问。
网络设备还包括给各个部件供电的电源63,优选的,电源63可以通过电源管理系统与处理器61逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源63还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该网络设备还可包括输入单元64,该输入单元64可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,网络设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,网络设备中的处理器61会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器62中,并由处理器61来运行存储在存储器62中的应用程序,从而实现各种功能,如下:
对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,基于当前冲突处理策略,从多个任务中确定当前执行任务,执行当前执行任务,得到并发冲突处理结果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本申请实施例可以对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,基于当前冲突处理策略,从多个任务中确定当前执行任务,执行当前执行任务,得到并发冲突处理结果。该方案可以根据预先设置的冲突处理策略集合中多种冲突处理策略,从多种冲突处理策略中选取合适的冲突处理策略,对当前操作系统中发生的并发冲突进行处理。并且,当冲突处理策略集合中不能选取到与当前发生的并发冲突相应的冲突处理策略,还可以通过机器学习等方法确定冲突处理策略,从而提升并发冲突处理的效率。另外,还可以将每次并发冲突的冲突数据、以及冲突处理策略存储至冲突信息列表中,以便作为训练机器学习的样本数据,同时,还可以对冲突信息列表中的信息进行修正,以提升并发冲突处理的准确性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机设备,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种并发冲突处理方法中的步骤。例如,该指令可以执行如下步骤:
对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果,当运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系,基于冲突处理策略集合,确定当前冲突数据对应的当前冲突处理策略,基于当前冲突处理策略,从多个任务中确定当前执行任务,执行当前执行任务,得到并发冲突处理结果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种并发冲突处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种并发冲突处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种并发冲突处理方法、装置、以及计算机存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种并发冲突处理方法,其特征在于,包括:
对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果;
当所述运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,所述冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系;
基于所述冲突处理策略集合,确定所述当前冲突数据对应的当前冲突处理策略;
基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务;
执行所述当前执行任务,得到并发冲突处理结果;
当所述冲突处理策略集合中不包括与所述当前冲突数据对应的冲突数据时,获取所述当前冲突数据与历史冲突样本集合中多个历史冲突样本数据之间的相似度数值;
根据所述相似度数值,从所述历史冲突样本集合的多个历史冲突样本数据中,确定目标冲突样本数据、以及所述目标冲突样本数据对应的目标相似度数值;
根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略。
2.根据权利要求1所述的并发冲突处理方法,其特征在于,根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略,包括:
当所述目标相似度数值为预设相似度数值时,获取所述目标冲突样本数据对应的样本数据标注;
根据所述样本数据标注,确定所述当前冲突数据对应的当前冲突处理策略。
3.根据权利要求1所述的并发冲突处理方法,其特征在于,根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略,包括:
当所述目标相似度数值不大于预设相似度阈值时,将预设冲突处理策略确定为所述当前冲突数据对应的当前冲突处理策略;
所述基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务的步骤包括:
基于所述预设冲突处理策略,将当前执行的任务确定为当前执行任务。
4.根据权利要求1所述的并发冲突处理方法,其特征在于,根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略,包括:
当所述目标相似度数值大于预设相似度阈值,且所述目标相似度数值不为预设相似度数值时,将所述当前冲突数据输入单次策略获取模型;
基于所述单次策略获取模型对所述当前冲突数据进行分类,得到所述当前冲突数据对应的分类结果;
根据所述分类结果,确定所述当前冲突数据对应的当前冲突处理策略。
5.根据权利要求1所述的并发冲突处理方法,其特征在于,所述方法还包括:
构建冲突信息列表,所述冲突信息列表中包括已修正冲突信息、以及未修正冲突信息;
当所述冲突信息列表中未修正冲突信息的数量达到预设数量时,基于全局策略获取模型,更新所述未修正冲突信息,得到更新后冲突信息;
基于所述更新后冲突信息,更新所述冲突信息列表中的已修正冲突信息。
6.根据权利要求5所述的并发冲突处理方法,其特征在于,构建冲突信息列表,包括:
将所述当前冲突数据、以及所述当前冲突数据对应的当前冲突处理策略,组合为当前冲突信息;
根据所述当前冲突信息,更新所述冲突信息列表中的未修正冲突信息。
7.根据权利要求1所述的并发冲突处理方法,其特征在于,基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务,包括:
基于所述当前冲突处理策略,获取每个任务对应的优先级;
根据所述优先级,从多个任务中确定当前执行任务。
8.一种并发冲突处理装置,其特征在于,包括:
检测模块,用于对操作系统中任务的任务运行状态进行检测,得到运行状态检测结果;
获取模块,用当所述运行状态检测结果确定多个任务之间发生并发冲突时,获取当前并发冲突对应的当前冲突数据、以及冲突处理策略集合,所述冲突处理策略集合包括冲突数据与冲突处理策略之间的映射关系;
策略确定模块,用基于所述冲突处理策略集合,确定所述当前冲突数据对应的当前冲突处理策略;
任务确定模块,用基于所述当前冲突处理策略,从所述多个任务中确定当前执行任务;
执行模块,用执行所述当前执行任务,得到并发冲突处理结果;当所述冲突处理策略集合中不包括与所述当前冲突数据对应的冲突数据时,获取所述当前冲突数据与历史冲突样本集合中多个历史冲突样本数据之间的相似度数值;根据所述相似度数值,从所述历史冲突样本集合的多个历史冲突样本数据中,确定目标冲突样本数据、以及所述目标冲突样本数据对应的目标相似度数值;根据所述目标相似度数值,确定所述当前冲突数据对应的当前冲突处理策略。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的并发冲突处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096553.0A CN112783616B (zh) | 2019-11-11 | 2019-11-11 | 一种并发冲突处理方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096553.0A CN112783616B (zh) | 2019-11-11 | 2019-11-11 | 一种并发冲突处理方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783616A CN112783616A (zh) | 2021-05-11 |
CN112783616B true CN112783616B (zh) | 2023-10-13 |
Family
ID=75749089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911096553.0A Active CN112783616B (zh) | 2019-11-11 | 2019-11-11 | 一种并发冲突处理方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783616B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114374681B (zh) * | 2021-12-09 | 2023-08-22 | 达闼机器人股份有限公司 | 任务执行方法、装置、设备和存储介质 |
CN116419293A (zh) * | 2021-12-29 | 2023-07-11 | 华为技术有限公司 | 意图冲突处理的方法及其装置 |
CN115963748A (zh) * | 2022-11-30 | 2023-04-14 | 福建侨龙应急装备股份有限公司 | 一种排水车的控制系统及方法 |
CN117692540A (zh) * | 2023-08-16 | 2024-03-12 | 荣耀终端有限公司 | 业务管理方法、电子设备及计算机可读存储介质 |
CN117422417B (zh) * | 2023-11-07 | 2024-05-07 | 东莞市维能新能源有限公司 | 一种工业储能系统管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025645A1 (en) * | 2012-07-23 | 2014-01-23 | International Business Machines Corporation | Resolving Database Integration Conflicts Using Data Provenance |
CN109446214A (zh) * | 2018-10-22 | 2019-03-08 | 普元信息技术股份有限公司 | 大数据背景下基于乐观锁机制实现主数据版本管理的系统及方法 |
CN110162531A (zh) * | 2018-02-28 | 2019-08-23 | 山东衡昊信息技术有限公司 | 一种分布式并发数据处理任务决策方法 |
-
2019
- 2019-11-11 CN CN201911096553.0A patent/CN112783616B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025645A1 (en) * | 2012-07-23 | 2014-01-23 | International Business Machines Corporation | Resolving Database Integration Conflicts Using Data Provenance |
CN110162531A (zh) * | 2018-02-28 | 2019-08-23 | 山东衡昊信息技术有限公司 | 一种分布式并发数据处理任务决策方法 |
CN109446214A (zh) * | 2018-10-22 | 2019-03-08 | 普元信息技术股份有限公司 | 大数据背景下基于乐观锁机制实现主数据版本管理的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112783616A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783616B (zh) | 一种并发冲突处理方法、装置及计算机存储介质 | |
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
US9116879B2 (en) | Dynamic rule reordering for message classification | |
US11500830B2 (en) | Learning-based workload resource optimization for database management systems | |
US11074254B2 (en) | Performance management using thresholds for queries of a service for a database as a service | |
CN109614347B (zh) | 多级缓存数据的处理方法、装置、存储介质及服务器 | |
US11048738B2 (en) | Records search and management in compliance platforms | |
US11599826B2 (en) | Knowledge aided feature engineering | |
CN111338958B (zh) | 一种测试用例的参数生成方法、装置及终端设备 | |
US20210192281A1 (en) | Management of indexed data to improve content retrieval processing | |
CN112200296A (zh) | 网络模型量化方法、装置、存储介质及电子设备 | |
US20190227848A1 (en) | Selective and piecemeal data loading for computing efficiency | |
US11815994B2 (en) | Techniques to provide self-healing data pipelines in a cloud computing environment | |
CN109800147A (zh) | 一种测试案例生成方法及终端设备 | |
US11687598B2 (en) | Determining associations between services and computing assets based on alias term identification | |
US11237740B2 (en) | Automatically determining sizing configurations for storage components using machine learning techniques | |
CN116244274A (zh) | 一种数据库参数的推荐方法、装置、设备及存储介质 | |
CN112470172A (zh) | 使用随机序列嵌入的符号序列分析的计算效率 | |
CN114048136A (zh) | 测试类型确定方法、装置、服务器、介质及产品 | |
CN112817560A (zh) | 一种基于表函数的计算任务处理方法、系统及计算机可读存储介质 | |
US11244007B2 (en) | Automatic adaption of a search configuration | |
US20220398132A1 (en) | Server Classification Using Machine Learning Techniques | |
CN113836005A (zh) | 一种虚拟用户的生成方法、装置、电子设备和存储介质 | |
US20140067798A1 (en) | Scoring records for sorting by user-specific weights based on relative importance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |