日程展示空间分配方法、装置、存储介质及电子设备

申请号 CN202110488553.6 申请日 2021-05-06 公开(公告)号 CN113204400A 公开(公告)日 2021-08-03
申请人 网易(杭州)网络有限公司; 发明人 沈梦超; 郭嘉;
摘要 本公开涉及终端显示领域,具体涉及一种日程展示空间分配方法、装置、存储介质及 电子 设备。日程展示空间分配方法包括:获取待展示日程以及终端的日程展示空间;基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间;根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量;重复上述分配步骤直至为所有所述待展示日程分 配对 应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。本公开提供的日程展示空间分配方法能够解决面向显示区域割裂的日程展示问题,优化日程的展示效果。
权利要求

1.一种日程展示空间分配方法,其特征在于,包括:
获取待展示日程以及终端的日程展示空间;
基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间;
根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量;
重复上述分配步骤直至为所有所述待展示日程分配对应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。
2.根据权利要求1所述的日程展示空间分配方法,其特征在于,所述将所述待展示日程根据所述目标展示空间展示在所述终端中,包括:
获取所述目标展示空间中分配的所述待展示日程的数量;
基于所述日程展示空间的初始空间量和所述待展示日程的数量计算所述待展示日程的展示空间分配量;
根据所述展示空间分配量将所述待展示日程展示在所述终端中。
3.根据权利要求1所述的日程展示空间分配方法,其特征在于,所述方法还包括计算所述平均空间量,包括:
对所述日程展示空间的空间量进行求和得到全局空间量;
基于所述全局空间量和所述待展示日程的数量计算所述平均空间量。
4.根据权利要求1所述的日程展示空间分配方法,其特征在于,所述根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量,包括:
根据所述目标展示空间的空间量和所述日程展示空间的平均空间量确定所述目标展示空间的剩余空间量;
将所述剩余空间量更新为所述目标展示空间的空间量。
5.根据权利要求4所述的日程展示空间分配方法,其特征在于,所述根据所述目标展示空间的空间量和所述日程展示空间的平均空间量确定所述目标展示空间的剩余空间量,包括:
计算所述目标展示空间的空间量和所述日程展示空间的平均空间量的差值;
在所述差值满足第一预设条件时,根据所述平均空间量确定所述剩余空间量;或者在所述差值满足第二预设条件时,将所述剩余空间量记为预设值。
6.根据权利要求1所述的日程展示空间分配方法,其特征在于,当待展示日程为一个时,所述方法还包括:
基于日程展示空间的空间量选择一目标展示空间;
根据所述目标展示空间和所述目标展示空间的初始空间量将所述待展示日程展示在所述终端中。
7.根据权利要求1所述的日程展示空间分配方法,其特征在于,在将所述待展示日程根据所述目标展示空间展示在所述终端之后,所述方法还包括:
获取所述待展示日程的预设的完整展示空间;
在所述完整展示空间小于展示空间分配量时,所述终端生成所述待展示日程的屏幕控件,以使用户操作所述屏幕控件查看所述完整展示空间。
8.一种日程展示空间分配装置,其特征在于,包括:
获取模,用于获取待展示日程以及终端的日程展示空间;
分配模块,用于基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间;
更新模块,用于根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量;
展示模块,用于重复上述分配步骤直至为所有所述待展示日程分配对应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。
9.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1至7任一项所述的日程展示空间分配方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7任一项所述的日程展示空间分配方法。

说明书全文

日程展示空间分配方法、装置、存储介质及电子设备

技术领域

[0001] 本公开涉及终端显示领域,具体涉及一种日程展示空间分配方法、装置、存储介质及电子设备。

背景技术

[0002] 日历中的日程展示功能对于用户的日程安排有着不可或缺的作用。目前的电子日历在展示日程时,都具有大完整的显示区域进行日程展示,当显示多个同一时刻开始的日程时,只需要将一个完整显示区域平均分配即可。但对于显示区域已经被割裂开来的新型日历,如何将多个同一时刻开始的日程分配进分割的显示区域,同时兼顾每个日程的展示效果是一个亟待解决的问题。
[0003] 需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。发明内容
[0004] 本公开的目的在于提供一种日程展示空间分配方法、装置、存储介质及电子设备,旨在解决面向显示区域割裂的日程展示问题,优化日程的展示效果。
[0005] 本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0006] 根据本公开实施例的一个方面,提供了一种日程展示空间分配方法,包括:获取待展示日程以及终端的日程展示空间;基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间;根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量;重复上述分配步骤直至为所有所述待展示日程分配对应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。
[0007] 根据本公开的一些实施例,基于前述方案,所述将所述待展示日程根据所述目标展示空间展示在所述终端中,包括:获取所述目标展示空间中分配的所述待展示日程的数量;基于所述日程展示空间的初始空间量和所述待展示日程的数量计算所述待展示日程的展示空间分配量;根据所述展示空间分配量将所述待展示日程展示在所述终端中。
[0008] 根据本公开的一些实施例,基于前述方案,所述方法还包括计算所述平均空间量,包括:对所述日程展示空间的空间量进行求和得到全局空间量;基于所述全局空间量和所述待展示日程的数量计算所述平均空间量。
[0009] 根据本公开的一些实施例,基于前述方案,所述根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量,包括:根据所述目标展示空间的空间量和所述日程展示空间的平均空间量确定所述目标展示空间的剩余空间量;将所述剩余空间量更新为所述目标展示空间的空间量。
[0010] 根据本公开的一些实施例,基于前述方案,所述根据所述目标展示空间的空间量和所述日程展示空间的平均空间量确定所述目标展示空间的剩余空间量,包括:计算所述目标展示空间的空间量和所述日程展示空间的平均空间量的差值;在所述差值满足第一预设条件时,根据所述平均空间量确定所述剩余空间量;或者在所述差值满足第二预设条件时,将所述剩余空间量记为预设值。
[0011] 根据本公开的一些实施例,基于前述方案,当待展示日程为一个时,所述方法还包括:基于日程展示空间的空间量选择一目标展示空间;根据所述目标展示空间和所述目标展示空间的初始空间量将所述待展示日程展示在所述终端中。
[0012] 根据本公开的一些实施例,基于前述方案,在将所述待展示日程根据所述目标展示空间展示在所述终端之后,所述方法还包括:获取所述待展示日程的预设的完整展示空间;在所述完整展示空间小于展示空间分配量时,所述终端生成所述待展示日程的屏幕控件,以使用户操作所述屏幕控件查看所述完整展示空间。
[0013] 根据本公开实施例的第二个方面,提供了一种日程展示空间分配装置,包括:获取模块,用于获取待展示日程以及终端的日程展示空间;分配模块,用于基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间;更新模块,用于根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量;展示模块,用于重复上述分配步骤直至为所有所述待展示日程分配对应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。
[0014] 根据本公开实施例的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中的日程展示空间分配方法。
[0015] 根据本公开实施例的第四个方面,提供了一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中的日程展示空间分配方法。
[0016] 本公开示例性实施例可以具有以下部分或全部有益效果:
[0017] 在本公开的一些实施例所提供的技术方案中,在面对割裂的显示区域时,引入日程展示空间的平均空间量作为分配的参数进行考量。首先根据空间量从所有被割裂的日程展示空间中,为一个待展示日程选取一个目标展示空间,之后根据平均空间量来更新目标展示空间的空间量,以继续进行待展示日程对应的展示空间的分配。本公开提供的日程展示空间分配方法,一方面以平均空间量作为分配的空间量来更新空间信息,为日程展示这类自适应空间调整的空间分配问题提供了一种新的解决方案;另一方面,根据平均空间量进行空间分配能够使得每个日程分配的展示空间互相平均且空间最大化,提高日程的展示效果。
[0018] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明
[0019] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0020] 图1示意性示出了现有技术中一种日程展示的示意图;
[0021] 图2示意性示出本公开示例性实施例中一种日程展示空间分配方法的流程示意图;
[0022] 图3示意性示出本公开示例性实施例中一种待展示日程为1个时日程展示空间分配的效果示意图;
[0023] 图4示意性示出本公开示例性实施例中一种待展示日程为2个时日程展示空间分配的效果示意图;
[0024] 图5示意性示出本公开示例性实施例中一种待展示日程为3个时日程展示空间分配的效果示意图;
[0025] 图6示意性示出本公开示例性实施例中一种待展示日程为4个时日程展示空间分配的效果示意图;
[0026] 图7示意性示出本公开示例性实施例中一种待展示日程为5个时日程展示空间分配的效果示意图;
[0027] 图8示意性示出本公开示例性实施例中一种待展示日程为6个时日程展示空间分配的效果示意图;
[0028] 图9示意性示出本公开示例性实施例中一种日程展示空间分配装置的组成示意图;
[0029] 图10示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图;
[0030] 图11示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。

具体实施方式

[0031] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
[0032] 此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
[0033] 附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0034] 附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0035] 为了在有限的显示区域内将日程最大化展示,出现了一种日程卡片可以重叠展示的新型日历。在这种新型日历中,为了确保日程卡片重叠展示的有效性,对于每一个日程卡片都设置了非遮挡区域,因此在对日程排列时,完整的显示区域可能被分割成多个显示区域。
[0036] 图1示意性示出了现有技术中一种日程展示的示意图,参考图1所示,各日程可以重叠排列,在显示空间中除去已排列的六个日程的非遮挡区域之后,剩余的区域可以用于显示后续日程。为了方便后续根据日程的起始时间排列日程,所以将显示空间也按照时间形成空间列表。
[0037] 举例来说,参考图1所示,在排列n个起始时间为10:00的日程时,可展示的m个区域为101和102,在排列n个起始时间为10:15的日程时,可展示的m个区域为101、102和103,即当前剩余空间列表如表1所示:
[0038] 表1:当前剩余空间列表
[0039]
[0040]
[0041] 基于此,本公开提供了一种日程展示空间分配方法,适用于将n个待展示日程排列至m个展示空间,以进行日程展示,同时保证每个日程的展示空间平均最大化。
[0042] 以下对本公开实施例的技术方案的实现细节进行详细阐述。
[0043] 图2示意性示出本公开示例性实施例中一种日程展示空间分配方法的流程示意图。如图2所示,该日程展示空间分配方法包括步骤S1至步骤S4:
[0044] 步骤S1,获取待展示日程以及终端的日程展示空间;
[0045] 步骤S2,基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间;
[0046] 步骤S3,根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量;
[0047] 步骤S4,重复上述分配步骤直至为所有所述待展示日程分配对应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。
[0048] 在本公开的一些实施例所提供的技术方案中,在面对割裂的显示区域时,引入日程展示空间的平均空间量作为分配的参数进行考量。首先根据空间量从所有被割裂的日程展示空间中,为一个待展示日程选取一个目标展示空间,之后根据平均空间量来更新目标展示空间的空间量,以继续进行待展示日程对应的展示空间的分配。本公开提供的日程展示空间分配方法,一方面以平均空间量作为分配的空间量来更新空间信息,为日程展示这类自适应空间调整的空间分配问题提供了一种新的解决方案;另一方面,根据平均空间量进行空间分配能够使得每个日程分配的展示空间互相平均且空间最大化,提高日程的展示效果。
[0049] 下面,将结合附图及实施例对本示例实施方式中的日程展示空间分配方法的各个步骤进行更详细的说明。
[0050] 步骤S1,获取待展示日程以及终端的日程展示空间。
[0051] 具体而言,待展示日程和日程展示空间都是对应于日历中的某一时间点。可以获取某时刻对应的所有待展示日程,共为n个,记为n1、n2、…、nn,即这些待展示日程的起始时间都是该时刻。可以获取该时刻对应的当前剩余空间列表,参考表1所示,根据当前剩余空间列表确定日程展示空间,共为m个,记为m1、m2、…、mm。
[0052] 需要说明的是,与其他已知待分配物的空间占有量不同,由于日程在排列显示时,可以根据显示空间的大小和个数进行空间的自适应调整,因此在将待展示日程分配至目标展示空间之后,无法根据待展示日程所占用的空间量来更新目标展示空间的剩余空间量。所以,需要引入日程展示空间的平均空间量作为分配的参数进行考量。
[0053] 在本公开的一个实施例中,所述方法还包括计算所述平均空间量,包括:对所述日程展示空间的空间量进行求和得到全局空间量;基于所述全局空间量和所述待展示日程的数量计算所述平均空间量。
[0054] 其中,每一个日程展示空间都有其对应的空间量,空间量可以是宽度、面积等各个度量维度。在本公开的一个实施例中,空间量为剩余空间的宽度,记为S1、S2、…、Sm。
[0055] 对m个区域的空间量进行求和得到全局空间量Ssum,即Ssum=S1+S2+...+Sm。然后计算将全局空间量平分给n个待展示日程跨域平分得到的平均空间量Savg,即Savg=Ssum/n。
[0056] 步骤S2,基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间。
[0057] 在步骤S2中,需要从m个日程展示空间中选择一个目标展示空间,以及从n个日程中选择一个待展示日程,来将目标展示空间分配给该待展示日程。
[0058] 在本公开的一个实施例中,在选择目标展示空间时,为了提高日程的展示效果,可以优先选择空间量最大的日程展示空间用于日程展示。因此,在为待展示日程匹配对应的目标展示空间时,可以选择空间量最大值Sj对应的日程展示空间mj(0≤j≤m),也就是将第一个待展示日程放置在空间量最大的展示空间中。
[0059] 需要说明的是,在排列待展示日程时,可以随机选取日程,也可以将待展示日程排列后得到日程序列,进而按照日程序列依次选取当前状态下空间量最大的日程展示空间。在确定日程序列时,由于日程的起始时间都是相同的,所以可以日程的持续时间来确定日程序列,例如可以按照日程持续时间由长到短进行排序,也就是按照日程的结束时间的顺序排列。
[0060] 步骤S3,根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量。
[0061] 在本公开的一个实施例中,所述根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量,包括:
[0062] 步骤S31,根据所述目标展示空间的空间量和所述日程展示空间的平均空间量确定所述目标展示空间的剩余空间量;
[0063] 步骤S32,将所述剩余空间量更新为所述目标展示空间的空间量。
[0064] 具体来说,在步骤S31中,所述根据所述目标展示空间的空间量和所述日程展示空间的平均空间量确定所述目标展示空间的剩余空间量,包括:计算所述目标展示空间的空间量和所述日程展示空间的平均空间量的差值;在所述差值满足第一预设条件时,根据所述平均空间量确定所述剩余空间量;或者在所述差值满足第二预设条件时,将所述剩余空间量记为预设值。
[0065] 其中,第一预设条件是指差值为非负值,即差值≥0,也就是目标展示空间还存在可分配的展示空间,此时直接将计算得到的差值作为目标展示空间的剩余空间量,进而用于后续的分配;第二预设条件是差值为负值,即差值<0,此时目标展示空间不可用于继续分配,因此可以将剩余空间量记为0,用于示意该目标展示空间不可分配,提高计算效率,当然也可以将剩余空间量仍然记为负数的差值。
[0066] 举例来说,基于上述描述,目标展示空间的空间量为Sj,而日程展示空间的平均空间量为Savg,计算Sj‑Savg=a。其中,a有两种情况:第一种是Sj大于等于Savg,即a为非负数时,此时将Sj更新为Sj=a;第二种Sj小于Savg,即a为负数,由于负数的空间量不可用于再分配,因此可以将a为负数时,统一将Sj记为0。
[0067] 步骤S4,重复上述分配步骤直至为所有所述待展示日程分配对应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。
[0068] 重复上述的分配方法,在更新了目标展示空间的空间量后,为下一个待展示日程选取一个空间量最大的目标展示空间,直至为所有的待展示日程分配对应的目标展示空间。
[0069] 在本公开的一个实施例中,所述将所述待展示日程根据所述目标展示空间展示在所述终端中,包括:
[0070] 步骤S41,获取所述目标展示空间中分配的所述待展示日程的数量;
[0071] 步骤S42,基于所述日程展示空间的初始空间量和所述待展示日程的数量计算所述待展示日程的展示空间分配量;
[0072] 步骤S43,根据所述展示空间分配量将所述待展示日程展示在所述终端中。
[0073] 具体而言,为每一个待展示日程分配完日程展示空间之后,需要确定最终每个待展示日程的展示空间分配量。此时需要根据分配到同一日程展示空间的待展示日程的数量,将日程展示空间的初始空间量平均分配给这些待展示日程,以计算出每个待展示日程的展示空间分配量。展示空间分配量作为日程最终的自适应调整结果,前端根据展示空间分配量来将日程进行展示。
[0074] 在本公开的一个实施例中,当待展示日程为一个时,所述方法还包括:基于日程展示空间的空间量选择一目标展示空间;根据所述目标展示空间和所述目标展示空间的初始空间量将所述待展示日程展示在所述终端中。
[0075] 具体来说,如果只有一个待展示日程,则直接为其匹配空间量最大的目标展示空间,以该目标展示空间的初始空间量作为该待展示日程的空间量用于日程展示。
[0076] 接下来,将结合具体的应用场景阐述上述的日程展示空间分配方法。已知某一时刻对应的日程展示空间有4个,参考图3‑图8所示,m1的空间量S1=4,m2的空间量S2=3,m3的空间量S3=2,m4的空间量S4=1,所以Ssum=4+3+2+1=10。
[0077] 图3示意性示出本公开示例性实施例中一种待展示日程为1个时日程展示空间分配的效果示意图。由于待展示日程为一个,记为n1,那么直接选取日程展示空间的空间量最大的S1=4,参考图3所示,将日程展示在m1区域中,宽度为4。最终展示空间分配效果参考图3所示。
[0078] 图4示意性示出本公开示例性实施例中一种待展示日程为2个时日程展示空间分配的效果示意图。2个日程分别记为n1和n2,计算Savg=10/2=5。
[0079] Step1:为n1选取空间量最大的m1;
[0080] Step2:更新m1的剩余空间量S1=4‑5=‑1,将m1的剩余空间量S1记为0,更新后各目标展示空间的剩余空间分别为:m1:S1=0,m2:S2=3,m3:S3=2,m4:S4=1;
[0081] Step3:为n2选取空间量最大的m2;
[0082] Step4:计算n1和n2的展示空间分配量,m1中分配有n1一个待展示日程,所以n1的展示空间分配量就是m1的初始空间量S1=4。同理,m2中也只分配有n2一个待展示日程,所以n2的展示空间分配量就是m2的初始空间量S2=3。最终展示空间分配效果参考图4所示。
[0083] 图5示意性示出本公开示例性实施例中一种待展示日程为3个时日程展示空间分配的效果示意图。3个日程分别记为n1、n2和n3,计算Savg=10/3≈3.3。
[0084] Step1:为n1选取空间量最大的m1;
[0085] Step2:更新m1的剩余空间量S1=4‑3.3=0.7,更新后各目标展示空间的剩余空间分别为:m1:S1=0.7,m2:S2=3,m3:S3=2,m4:S4=1;
[0086] Step3:为n2选取空间量最大的m2;
[0087] Step4:更新m2的剩余空间量S2=3‑3.3=‑0.3,记为S2=0,更新后各目标展示空间的剩余空间分别为:m1:S1=0.7,m2:S2=0,m3:S3=2,m4:S4=1;
[0088] Step5:为n3选取空间量最大的m3;
[0089] Step6:计算n1、n2和n3的展示空间分配量分别为4、3、2。最终展示空间分配效果参考图5所示。
[0090] 图6示意性示出本公开示例性实施例中一种待展示日程为4个时日程展示空间分配的效果示意图。4个日程分别记为n1、n2、n3和n4,计算Savg=10/4=2.5。
[0091] Step1:为n1选取空间量最大的m1;
[0092] Step2:更新m1的剩余空间量S1=4‑2.5=1.5,更新后各目标展示空间的剩余空间分别为:m1:S1=1.5,m2:S2=3,m3:S3=2,m4:S4=1;
[0093] Step3:为n2选取空间量最大的m2;
[0094] Step4:更新m2的剩余空间量S2=3‑2.5=0.5,更新后各目标展示空间的剩余空间分别为:m1:S1=1.5,m2:S2=0.5,m3:S3=2,m4:S4=1;
[0095] Step5:为n3选取空间量最大的m3;
[0096] Step6:更新m3的剩余空间量S2=2‑2.5=‑0.5,记为0,更新后各目标展示空间的剩余空间分别为:m1:S1=1.5,m2:S2=0.5,m3:S3=0,m4:S4=1;
[0097] Step7:为n4选取空间量最大的m1;
[0098] Step8:计算n1、n2、n3和n4的展示空间分配量,由于m1中分配了n1和n4,则他们的展示空间分配量为4/2=1,n1、n2、n3和n4的展示空间分配量分别为2、3、2、2。最终展示空间分配效果参考图6所示。
[0099] 图7示意性示出本公开示例性实施例中一种待展示日程为5个时日程展示空间分配的效果示意图。5个日程分别记为n1、n2、n3、n4和n5,计算Savg=10/5=2。
[0100] Step1:为n1选取空间量最大的m1;
[0101] Step2:更新m1的剩余空间量S1=4‑2=2,更新后各目标展示空间的剩余空间分别为:m1:S1=2,m2:S2=3,m3:S3=2,m4:S4=1;
[0102] Step3:为n2选取空间量最大的m2;
[0103] Step4:更新m2的剩余空间量S2=3‑2=1,更新后各目标展示空间的剩余空间分别为:m1:S1=2,m2:S2=1,m3:S3=2,m4:S4=1;
[0104] Step5:为n3选取空间量最大的m1;
[0105] Step6:更新m1的剩余空间量S1=2‑2=0,更新后各目标展示空间的剩余空间分别为:m1:S1=0,m2:S2=1,m3:S3=2,m4:S4=1;
[0106] Step7:为n4选取空间量最大的m3;
[0107] Step8:更新m3的剩余空间量S3=2‑2=0,更新后各目标展示空间的剩余空间分别为:m1:S1=0,m2:S2=1,m3:S3=0,m4:S4=1;
[0108] Step9:为n5选取空间量最大的m2;
[0109] Step10:计算n1、n2、n3、n4和n5的展示空间分配量,分别为2、1.5、2、2、1.5。最终展示空间分配效果参考图7所示。
[0110] 图8示意性示出本公开示例性实施例中一种待展示日程为6个时日程展示空间分配的效果示意图。6个日程分别记为n1、n2、n3、n4、n5和n6,计算Savg=10/6=1.6。
[0111] Step1:为n1选取空间量最大的m1;
[0112] Step2:更新m1的剩余空间量S1=4‑1.6=2.4,更新后各目标展示空间的剩余空间分别为:m1:S1=2.4,m2:S2=3,m3:S3=2,m4:S4=1;
[0113] Step3:为n2选取空间量最大的m2;
[0114] Step4:更新m2的剩余空间量S2=3‑1.6=1.4,更新后各目标展示空间的剩余空间分别为:m1:S1=2.4,m2:S2=1.4,m3:S3=2,m4:S4=1;
[0115] Step5:为n3选取空间量最大的m1;
[0116] Step6:更新m1的剩余空间量S1=2.4‑1.6=0.8,更新后各目标展示空间的剩余空间分别为:m1:S1=0.8,m2:S2=1.4,m3:S3=2,m4:S4=1;
[0117] Step7:为n4选取空间量最大的m3;
[0118] Step8:更新m3的剩余空间量S3=2‑1.6=0.4,更新后各目标展示空间的剩余空间分别为:m1:S1=0.8,m2:S2=1.4,m3:S3=0.4,m4:S4=1;
[0119] Step9:为n5选取空间量最大的m2;
[0120] Step10:更新m2的剩余空间量S2=1.4‑1.6=‑0.2,记为0,更新后各目标展示空间的剩余空间分别为:m1:S1=0.8,m2:S2=0,m3:S3=0.4,m4:S4=1;
[0121] Step11:为n6选取空间量最大的m4;
[0122] Step12:计算n1、n2、n3、n4和n5的展示空间分配量,分别为2、1.5、2、2、1.5、1。最终展示空间分配效果参考图8所示。
[0123] 需要说明的是,图3‑图8是日程展示空间分配的效果示意图,仅确定了各日程的展示空间分配量,即日程卡片宽度,在日程展示时,日程卡片的高度还需要根据日程的起始时间和终止时间展示在对应的时间轴上,以进行最终的日程卡片展示。
[0124] 基于上述日程展示空间分配方法,能够解决预先不知道待展示日程的空间量大小的空间分配问题,具有普适性,并且分配的效果使得各个待展示日程的展示空间分配量平均且最大化,提高了日程的展示效果。
[0125] 在本公开的一个实施例中,在将所述待展示日程根据所述目标展示空间展示在所述终端之后,所述方法还包括:获取所述待展示日程的预设的完整展示空间;在所述完整展示空间小于展示空间分配量时,所述终端生成所述待展示日程的屏幕控件,以使用户操作所述屏幕控件查看所述完整展示空间。
[0126] 具体而言,为了保证每个日程展示时用户能够清楚直观地获取日程的关键信息,一般会预设一个完整展示空间,例如日程卡片的宽度值至少为20。那么当最终确定了展示空间分配量后,可能存在分配得到的展示空间分配量小于预设的完整展示空间,此时日程信息显示不完整,可以自动生成一个控件,当用户点击该控件时,就可以将日程的完整展示空间进行显示,以查看日程的完整信息。
[0127] 需要说明的是,本公开提供的分配方法同样适用于其他的预先未知待分配对象资源的对象分配场景,引用计算的平均资源量进行分配,同样能达到每个待分配对象的资源平均且最大化,优化分配的资源结构。例如广告展示空间分配、时间分配等。
[0128] 图9示意性示出本公开示例性实施例中一种日程展示空间分配装置的组成示意图,如图9所示,该日程展示空间分配装置900可以包括获取模块901、分配模块902、更新模块903以及展示模块904。其中:
[0129] 获取模块901,用于获取待展示日程以及终端的日程展示空间;
[0130] 分配模块902,用于基于所述日程展示空间的空间量选择一目标展示空间,并将一所述待展示日程分配至所述目标展示空间;
[0131] 更新模块903,用于根据所述目标展示空间的空间量和所述日程展示空间的平均空间量更新所述目标展示空间的空间量;
[0132] 展示模块904,用于重复上述分配步骤直至为所有所述待展示日程分配对应的目标展示空间,以将所述待展示日程根据所述目标展示空间展示在所述终端中。
[0133] 根据本公开的示例性实施例,所述展示模块904用于获取所述目标展示空间中分配的所述待展示日程的数量;基于所述日程展示空间的初始空间量和所述待展示日程的数量计算所述待展示日程的展示空间分配量;根据所述展示空间分配量将所述待展示日程展示在所述终端中。
[0134] 根据本公开的示例性实施例,所述日程展示空间分配装置900还包括计算模块(图中未示出),用于对所述日程展示空间的空间量进行求和得到全局空间量;基于所述全局空间量和所述待展示日程的数量计算所述平均空间量。
[0135] 根据本公开的示例性实施例,所述更新模块903包括剩余单元和更新单元,所述剩余单元用于根据所述目标展示空间的空间量和所述日程展示空间的平均空间量确定所述目标展示空间的剩余空间量;所述更新单元用于将所述剩余空间量更新为所述目标展示空间的空间量。
[0136] 根据本公开的示例性实施例,所述剩余单元用于计算所述目标展示空间的空间量和所述日程展示空间的平均空间量的差值;在所述差值满足第一预设条件时,根据所述平均空间量确定所述剩余空间量;或者在所述差值满足第二预设条件时,将所述剩余空间量记为预设值。
[0137] 根据本公开的示例性实施例,所述日程展示空间分配装置900还包括特例模块(图中未示出),当待展示日程为一个时,用于基于日程展示空间的空间量选择一目标展示空间;根据所述目标展示空间和所述目标展示空间的初始空间量将所述待展示日程展示在所述终端中。
[0138] 根据本公开的示例性实施例,所述日程展示空间分配装置900还包括控件模块(图中未示出),用于获取所述待展示日程的预设的完整展示空间;
[0139] 在所述完整展示空间小于展示空间分配量时,所述终端生成所述待展示日程的屏幕控件,以使用户操作所述屏幕控件查看所述完整展示空间。
[0140] 上述的日程展示空间分配装置900中各模块的具体细节已经在对应的日程展示空间分配方法中进行了详细的描述,因此此处不再赘述。
[0141] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0142] 在本公开的示例性实施例中,还提供了一种能够实现上述方法的存储介质。图10示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图,如图10所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD‑ROM)并包括程序代码,并可以在终端设备,例如手机上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0143] 在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。图11示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。
[0144] 需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0145] 如图11所示,计算机系统1100包括中央处理单元(Central Processing Unit,CPU)1101,其可以根据存储在只读存储器(Read‑Only Memory,ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input/Output,I/O)接口
1105也连接至总线1104。
[0146] 以下部件连接至I/O接口1105:包括键盘鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
[0147] 特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本公开的系统中限定的各种功能。
[0148] 需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read‑Only Memory,CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0149] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0150] 描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0151] 作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
[0152] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0153] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
[0154] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
[0155] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
QQ群二维码
意见反馈