操作处理方法和装置与流程

文档序号:17988538发布日期:2019-06-22 00:35阅读:198来源:国知局
操作处理方法和装置与流程

本发明涉及计算机领域,具体而言,涉及一种操作处理方法和装置。



背景技术:

甘特图(ganttchart)是一种数据可视化视图,通过时间项目(timeitem)在时间轴上的占位,标明事件或状态的持续起止时间,从而展示时间相关要素的先后关系。甘特图在项目管理、作业规划调度等软件产品中具有广泛的应用场景。

从可操作性的角度看,甘特图有两种应用层次:第一层次是单向的数据展示,将相关时间要素可视化,除简单的缩放、时间范围选择等甘特图总体的显示配置外,甘特图中的各时间项目本身不具有可操作性;第二层次是双向数据可视化,即时间项目允许被拖拽、链接等,从而改变数据源,实现数据的可视化操作,以代替数据表的填写。

microsoftproject(微软出品的一款项目管理软件)等产品支持双向数据可视化,但作为一款面向终端用户的产品,其对时间项目的拖拽操作的响应是固化的。

而作为甘特图中间件(如infragisticsxamgantt和winganttview控件),一般仅提供了相关操作的事件处理接口,如xamgantt的taskbardragcomplete(任务项的拖动结束)事件,依然无法自由扩展拖拽操作的种类。

针对上述现有甘特图的相关操作不能灵活扩充、设置的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种操作处理方法和装置,以至少解决现有甘特图的相关操作不能灵活扩充、设置的技术问题。

根据本发明实施例的一个方面,提供了一种操作化对象执行与所述预定回调函数对应的调整动作。

可选地,确定所述操作指令对应的预定回调函数包括:确定所述操作指令对应的操作类型;确定所述操作类型对应的预定回调函数。

可选地,在确定所述操作指令对应的操作类型之后,所述方法还包括:确定所述操作类型对应的预定参数列表,其中,所述预定参数列表用于向所述操作类型对应的所述预定回调函数传输所述操作指令对应的操作参数;根据所述操作指令在所述预定参数列表中配置所述操作参数。

可选地,在确定所述操作类型对应的预定回调函数之后,所述方法还包括:将所述操作指令分发至所述操作指令的所述操作类型对应的所述预定回调函数。

可选地,在所述操作指令为拖动操作指令的情况下,所述拖动操作指令中的操作参数包括源参数和目标参数,所述源参数包括所述可视化对象的初始位置的位置参数,所述目标参数包括将所述可视化对象拖动至目标位置的位置参数,在根据所述操作指令在所述预定参数列表中配置所述操作参数之后,所述方法还包括:建立所述源参数、所述目标参数和所述预定参数列表之间的关联。

根据本发明实施例的另一方面,还提供了一种操作处理装置,包括:获取单元,用于获取可视化对象的操作指令,其中,所述可视化对象包括甘特图和/或所述甘特图对应的数据表格;第一确定单元,用于确定所述操作指令对应的预定回调函数;执行单元,用于对所述可视化对象执行与所述预定回调函数对应的调整动作。

可选地,所述确定单元包括:第一确定模块,用于确定所述操作指令对应的操作类型;第二确定模块,用于确定所述操作类型对应的预定回调函数。

可选地,所述装置还包括:第二确定单元,用于在确定所述操作指令对应的操作类型之后,确定所述操作类型对应的预定参数列表,其中,所述预定参数列表用于向所述操作类型对应的所述预定回调函数传输所述操作指令对应的操作参数;配置单元,用于根据所述操作指令在所述预定参数列表中配置所述操作参数。

可选地,所述装置还包括:分发单元,用于在确定所述操作类型对应的预定回调函数之后,将所述操作指令分发至所述操作指令的所述操作类型对应的所述预定回调函数。

可选地,在所述操作指令为拖动操作指令的情况下,所述拖动操作指令中的操作参数包括源参数和目标参数,所述源参数包括所述可视化对象的初始位置的位置参数,所述目标参数包括将所述可视化对象拖动至目标位置的位置参数,所述装置还包括:建立单元,用于在根据所述操作指令在所述预定参数列表中配置所述操作参数之后,建立所述源参数、所述目标参数和所述预定参数列表之间的关联。

在本发明实施例中,获取用户对可视化对象进行操作所生成的操作指令,再确定操作指令所对应的预定回调函数,然后根据预定回调函数控制可视化对象执行相应的调整动作,完成对可视化对象的调整,从而可以为不同的操作指令设置对应的预定回调函数,使可视化对象能够根据操作指令所对应的预定回调函数对操作指令做出响应,执行操作指令所对应的调整动作,在对甘特图进行调整的情况下,通过设置不同操作指令所对应的预定回调函数,可以使甘特图的调整更加灵活,实现了灵活设置甘特图的操作指令的技术效果,进而解决了现有甘特图的相关操作不能灵活扩充、设置的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种操作处理方法的流程图;

图2是根据本发明实施例的一种连接机制的作用流程的示意图;

图3是根据本发明实施例的一种数据处理装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种操作处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种操作处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,获取可视化对象的操作指令,其中,可视化对象包括甘特图和/或甘特图对应的数据表格;

步骤s104,确定操作指令对应的预定回调函数;

步骤s106,对可视化对象执行与预定回调函数对应的调整动作。

通过上述步骤,获取用户对可视化对象进行操作所生成的操作指令,再确定操作指令所对应的预定回调函数,然后根据预定回调函数控制可视化对象执行相应的调整动作,完成对可视化对象的调整,从而可以为不同的操作指令设置对应的预定回调函数,使可视化对象能够根据操作指令所对应的预定回调函数对操作指令做出响应,执行操作指令所对应的调整动作,在对甘特图进行调整的情况下,通过设置不同操作指令所对应的预定回调函数,可以使甘特图的调整更加灵活,实现了灵活设置甘特图的操作指令的技术效果,进而解决了现有甘特图的相关操作不能灵活扩充、设置的技术问题。

在步骤s102提供的方案中,可视化对象可以是甘特图,还可以是甘特图所对应的数据表格。操作指令可以是对甘特图或甘特图所对应的数据表格进行调整的调整指令。

需要说明的是,可视化对象包括但不限于上述甘特图和数据表格。

需要说明的是,甘特图中包括至少一个时间项目,其中,每个时间项目与数据表格中的一条数据项对应。

可选地,操作指令可以是由鼠标指针发出的指令,例如,通过鼠标拖动时间项目所产生的指令;还可以是用于调整数据项中数据的指令。

在步骤s104提供的方案中,预定回调函数可以是预先设定的,用于调整可视化对象的函数。

需要说明的是,回调函数就是允许用户把需要调用的方法的指针作为参数传递给一个函数,以便该函数在处理相似时间的时候可以灵活的使用不同的方法。

例如,在获取对可视化对象进行操作所触发的操作指令的情况下,可以将该操作指令的参数传递给操作指令所对应的预定回调函数,然后预定回调函数可以根据该参数对可视化对象进行调整。

可选地,可以通过预定回调函数建立操作指令与调整动作之间的联系,在触发操作指令后,可以通过预定回调函数来控制可视化对象执行与操作指令对应的调整动作,从而无需直接构建操作指令与调整动作,在扩展操作指令的情况下,仅需设置相应的预定回调函数即可,增强操作指令的灵活性,进而用户可以根据使用习惯,灵活设置操作指令,以及不同的操作指令与调整动作之间的对应关系。

在步骤s106提供的方案中,在触发操作指令后,可视化对象可以响应该触发指令所对应的预定回调函数,执行可视化对象所对应的调整动作。

可选地,操作指令包括时间项目创建指令,其中,创建指令用于在甘特图中创建时间项目的指令。例如,可以在数据表中,将一条数据项拖入甘特图中,生成用于创建时间项目的指令,然后可以根据该时间项目创建指令在甘特图中创建拖入的数据项所对应的时间项目。

可选地,操作指令包括调整指令,其中,调整指令用于在甘特图中调整时间项目,以及数据项的时间跨度。例如,时间项目的具体时间及其时间跨度可以在甘特图的时间轴上显示,通过整体拖动时间项目,可以调整该时间项目在甘特图中的位置,从而调整该时间项目的具体时间;通过在甘特图中单独拖动时间项目的开始位置和结束位置来调整该时间项目的时间跨度;通过调整数据项中的起止时间,可以相应地调整该数据项对应时间项目的时间跨度。

可选地,操作指令包括用于建立时间项目与业务之间关联关系的关联创建指令,其中,时间项目表示某项业务所消耗的时间。例如,一个时间项目可以代表一个作业(业务)安排的需求,而该需求最终在什么时间满足,时间跨度为多少,则取决于资源的客观情况,计算该项作业(业务)的具体时间,以及时间范围。通过建立该项作业(业务)与时间项目的关联关系,可以根据作业(作业)中资源的客观情况,自动调整时间项目中的具体时间和时间范围。

可选地,操作指令包括用于建立至少一个时间项目之间顺序关系的顺序创建指令,其中,至少一时间项目之间可以按照一定的顺序执行。例如,时间项目a表示第一项业务,时间项目b表示的第二项业务,且第二项业务需要在第一项业务完成后才能执行,则可以建立时间项目a和时间项目b直接顺序,使时间项目a始终位于时间项目b的前方,从而在单独移动时间项目a或时间项目b的情况下,另一个时间项目也会相应移动;或者,在将时间项目a移动到时间项目b后面的情况下,提示报警信息。

可选地,报警信息包括可以是图片、声音、文字等警示信息,还可以控制各时间项目自动返回初始位置,以提示移动失败。

可选地,操作指令包括用于构建时间项目的与实体之间依赖关系的依赖创建指令。例如,当某个时间项目中所表示的作业(业务),且该项作业(业务)需要依赖某项资源(实体),则可以建立时间项目与资源(实体)时间的关联关系,资源不足以支持作业的情况,可以将将作业用异常视图样式标记(如红色);可以自动创建资源;还可以自动移动作业至可行的时间上。

可选地,在构建时间项目的与实体之间依赖关系的情况下,可以从一个时间项目上开始拖拽,在一个资源项目上释放,表示该作业依赖于该资源,这样就可以建立相应的关系。

作为一种可选的实施例,确定操作指令对应的预定回调函数包括:确定操作指令对应的操作类型;确定操作类型对应的预定回调函数。

采用本发明上述实施例,可以预先确定操作指令的操作类型,并确定每种操作类型所对应的预定回调函数,进而在触发操作指令后,可以先确定操作指令的操作类型,然后再根据操作类型确定操作指令对应的预定回调函数。

可选地,操作类型包括操作名称,可以建立操作名称与预定回调函数之间的对应关系,进而可以根据该操作指令的操作名称选取操作名称对应的预定回调函数。

可选地,操作类型可以是操作指令的唯一标识,可以建立操作指令的唯一标识与预定回调函数之间的对应关系,进而根据每个操作指令所对应的唯一标识确定该操作指令所对应的预定回调函数。

可选地,预定回调函数存在对应的唯一标识,通过操作类型与预定回调函数的唯一标识之间的对应关系来确定预定回调函数。

可选地,预定回调函数的唯一标识可以是该预定回调函数对应的回调名称。

作为一种可选的实施例,在确定操作指令对应的操作类型之后,该实施例还可以包括:确定操作类型对应的预定参数列表,其中,预定参数列表用于向操作类型对应的预定回调函数传输操作指令对应的操作参数;根据操作指令在预定参数列表中配置操作参数。

采用本发明上述实施例,可以预先设定操作类型对应的预定参数列表,进而在触发操作指令后,可以根据操作指令的操作类型确定操作指令的预定参数表,然后在该预定参数表中配置操作指令所对应的操作参数,从而可以通过该预定参数表向预定回调函数传输操作参数,使预定回调函数可以根据该操作参数控制可视化对象执行相应的调整动作。

可选地,预定参数表可以是使用object[]数组的方式,可以接纳任意数量和类型的参数,适合于不特定签名的函数。通过预定参数表,可向任意函数传递任意多的参数,从而实现处理回调的灵活调用。

作为一种可选的实施例,在确定操作类型对应的预定回调函数之后,该实施例还可以包括:将操作指令分发至操作指令的操作类型对应的预定回调函数。

采用本发明上述实施例,可以使预定回调函数能够准确获取该预定回调函数所对应的操作指令,并作出响应,确保操作指令能够被准确执行。

作为一种可选的实施例,在操作指令为拖动操作指令的情况下,拖动操作指令中的操作参数包括源参数和目标参数,源参数包括可视化对象的初始位置的位置参数,目标参数包括将可视化对象拖动至目标位置的位置参数,在根据操作指令在预定参数列表中配置操作参数之后,该实施例还可以包括:建立源参数、目标参数和预定参数列表之间的关联。

采用本发明上述实施例,可以建立源参数、目标参数和预定参数列表之间的关联,进而在触发拖动指令的情况下,能够根据该关联关系快速作出相应,使可视化对象能够快速从源位置移动到目标位置。

可选地,建立源参数、目标参数和预定参数列表之间的关联,可以是建立源参数、目标参数和预定参数列表之间的逻辑关系,控制源参数、目标参数和预定参数列表的执行逻辑。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的操作处理方法。

根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的操作处理方法。

本发明还提供了一种优选实施例,该优选实施例提供了一种甘特图拖拽操作处理框架。

本发明所提供的甘特图拖拽操作处理框架包括拖拽操作处理框架的逻辑模型。

为实现松耦合的拖拽操作定义和响应,该处理框架被设计成可配置、可调节参数并且带有上下文的形式,便于进行回调处理。主要的逻辑模型及相关属性设计如下:

表1是根据本发明实施例的一种是拖放操作处理框架的逻辑模型,如表1所示,以鼠标操作所触发的操作指令为例,表示该逻辑模型的属性和方法,以及相应的说明。

表1

根据本发明上述实施例,处理分发器主要负责将鼠标操作(操作指令)发送至正确的处理回调,用以更新逻辑数据源。利用这种分发服务,合法的鼠标操作(操作指令)以及相应处理方法都可以方便地进行扩展,用以处理未来更复杂的操作。

本发明所提供的特图拖拽操作处理框架可以仅在软件的视图层(界面层)维护,这意味着逻辑业务数据中并不对其进行存储。因此可视化实例的可拖动信息是通过逻辑模型中的连接逻辑实现的。

图2是根据本发明实施例的一种连接机制的作用流程的示意图,如图2所示,在触发拖放操作后,可以判断是否已预先构建该拖放操作与预定回调函数之间的连接,如果未构建该连接,则可以建立该项连接,然后生成连接数据,并根据该连接数据业务数据,或进行连接的调整。

可选地,在通过判断后确定已构建上述连接的情况下,可以根据拖放操作进行连接调整。

可选地,在触发拖放操作后,可以生成拖放操作数据,并根据该拖放操作数据进行连接调整。

可选地,在连接的相关数据结构中,包含一个源、一个目标和一个参数列表。根据这些信息,一个拖拽操作可以最终被转化成业务数据调整的细节。以下是连接机制可以处理的典型的时间相关业务类型:

1)创建类型实例

如果一个时间相关类型从数据表中被拖入甘特图,将会在逻辑层中产生一个该类型的实例定义。比如,在规划类软件中,将一种资源从数据表中拖动至甘特图时间轴,将会在数据源中创建该种资源的实例数据记录。同时,创建一个连接,记录该实例记录与时间项目的联系,同时以引用的方式赋予时间项目和实例数据,保证从时间项目可以引用到数据记录,从数据记录可以引用时间项目。

2)时间及跨度指定

时间项目的具体时间及其跨度指定,通常是在时间轴上,通过整体移动,或者单独拖动其开始位置或结束位置实现的。通过“调整()”方法,如果起止时间改变,数据源中的实例数据记录也相应改变。通过“刷新()”方法,如果实例数据记录在业务计算中改变,相应的时间项目在甘特图中也将刷新其外观。

3)时间项目需求描述

时间项目与其业务逻辑之间的连接,可以通过具体业务过程(如sql事务)完成。而时间项目的具体起止时间,以及其附加业务属性,都可能在业务过程的处理下发生变化,因而可能不符合其时间项目的最初细节。比如,在一个业务规划类软件中,一个时间项目可以代表一个作业安排的需求,而该需求最终在什么时间满足,时间跨度为多少,则取决于资源的客观情况,通过规划业务计算才能最终确定。

4)实体时间顺序定义

在规划类软件中,指定不同时间项目的先后关系,是一种常见的业务逻辑。比如,一个连接可以用来指定时间项目b必须开始于时间项目a完成之后。

5)实体依赖关系定义

除了时间的先后顺序关系外,时间项目的存在还可能依赖其他条件。比如作业类的时间项目一般需要同时间段上有相应的资源覆盖支持。一个连接可以用来支持这种依赖关系的定义。

本发明所提供的操作处理框架的相关逻辑模型,包括鼠标操作、连接、处理回调、处理分发器等。

本发明所提供的技术方案,可以由软件开发者和用户进行操作方式的扩展;可以自由定义新的操作种类;可以自由定义操作的响应方式;还可以通过“连接”对象将后台业务逻辑与各类甘特图控件无缝集成,并保持他们之间的联系。

使用本发明所提供的技术方案,实现了甘特图中时间项目的整体平移、起始点拖拽、链接等,从而实现作业需求调整、持续时间调整、依赖次序调整等,极大简化了作业规划的设计。

根据本发明实施例,还提供了一种数据处理装置实施例,需要说明的是,该数据处理装置可以用于执行本发明实施例中的数据处理方法,本发明实施例中的数据处理方法可以在该数据处理装置中执行。

图3是根据本发明实施例的一种数据处理装置的示意图,如图3所示,该装置可以包括:获取单元31,用于获取可视化对象的操作指令,其中,可视化对象包括甘特图和/或甘特图对应的数据表格;第一确定单元33,用于确定操作指令对应的预定回调函数;执行单元35,用于对可视化对象执行与预定回调函数对应的调整动作。

需要说明的是,该实施例中的获取单元31可以用于执行本申请实施例中的步骤s102,该实施例中的第一确定单元33可以用于执行本申请实施例中的步骤s104,该实施例中的执行单元35可以用于执行本申请实施例中的步骤s106。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。

在本发明实施例中,获取用户对可视化对象进行操作所生成的操作指令,再确定操作指令所对应的预定回调函数,然后根据预定回调函数控制可视化对象执行相应的调整动作,完成对可视化对象的调整,从而可以为不同的操作指令设置对应的预定回调函数,使可视化对象能够根据操作指令所对应的预定回调函数对操作指令做出响应,执行操作指令所对应的调整动作,在对甘特图进行调整的情况下,通过设置不同操作指令所对应的预定回调函数,可以使甘特图的调整更加灵活,实现了灵活设置甘特图的操作指令的技术效果,进而解决了现有甘特图的相关操作不能灵活扩充、设置的技术问题。

作为一种可选的实施例,确定单元包括:第一确定模块,用于确定操作指令对应的操作类型;第二确定模块,用于确定操作类型对应的预定回调函数。

作为一种可选的实施例,该实施例还可以包括:第二确定单元,用于在确定操作指令对应的操作类型之后,确定操作类型对应的预定参数列表,其中,预定参数列表用于向操作类型对应的预定回调函数传输操作指令对应的操作参数;配置单元,用于根据操作指令在预定参数列表中配置操作参数。

作为一种可选的实施例,该实施例还可以包括:分发单元,用于在确定操作类型对应的预定回调函数之后,将操作指令分发至操作指令的操作类型对应的预定回调函数。

作为一种可选的实施例,在操作指令为拖动操作指令的情况下,拖动操作指令中的操作参数包括源参数和目标参数,源参数包括可视化对象的初始位置的位置参数,目标参数包括将可视化对象拖动至目标位置的位置参数,该实施例还可以包括:建立单元,用于在根据操作指令在预定参数列表中配置操作参数之后,建立源参数、目标参数和预定参数列表之间的关联。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1