应用程序的表数据处理方法、装置、电子设备及存储介质与流程

文档序号:19906736发布日期:2020-02-11 14:35阅读:183来源:国知局
应用程序的表数据处理方法、装置、电子设备及存储介质与流程

本发明涉及数据处理技术领域,具体而言,涉及一种应用程序的表数据处理方法、装置、电子设备及存储介质。



背景技术:

通过表数据来控制或者驱动应用程序逻辑,以实现应用程序的正常运行,是目前应用程序研发中的常用操作。随着应用程序内容的增多,表数据的数据量也越来越多,会导致应用程序包体增大以及应用程序运行时内存增大,所以,减少表数据的数据量变得越来越重要。

相关技术中,对表数据中数据的格式进行更改,从而减少表数据所占用的内存。

但是,相关技术中,仅对表数据中数据的格式进行更改,并不能有效减少数据本身所带来的内存消耗,导致不能有效的减少表数据的占用内存。



技术实现要素:

本发明的目的在于,针对上述现有技术中的不足,提供一种应用程序的表数据处理方法、装置、电子设备及存储介质,以便解决相关技术中,需仅对表数据中数据的格式进行更改,并不能有效减少数据本身所带来的内存消耗,导致不能有效的减少表数据的占用内存的问题。

为实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种应用程序的表数据处理方法,所述方法包括:

从应用程序的原始表数据的多个条目中,确定至少一个条目集合,每个条目集合包括:一个代表条目以及至少一个其他条目;

以每个所述条目集合中的所述代表条目作为基础条目,分别对至少一个所述其他条目进行差异化处理,得到所述代表条目对应的至少一个差异条目,每个所述差异条目中存储所述其他条目与所述代表条目的差异数据,以及所述代表条目的标识信息;

根据至少一个所述条目集合中的所述代表条目,和所述代表条目对应的至少一个差异条目,形成所述应用程序的差异表数据。

进一步地,所述从应用程序的原始表数据的多个条目中,确定至少一个条目集合,包括:

确定遍历的当前条目与已有条目集合中所述代表条目的差异项的数量;

若所述差异项的数量小于预设阈值,则将所述当前条目加入所述已有条目集合;

若所述差异项的数量大于所述预设阈值,则创建新的条目集合,并将该当前条目加入所述新的条目集合,直至遍历完多个所述条目,得到至少一个所述条目集合,其中,每个所述条目集合中,所述代表条目为首个加入所述条目集合的条目。

进一步地,若所述已有条目集合包括:多个,则所述将所述当前条目加入所述已有条目集合,包括:

将所述当前条目加入多个所述已有条目集合中差异项的数量最小的所代表条目所在的条目集合中。

进一步地,所述若所述差异项的数量大于所述预设阈值,则创建新的条目集合之前,所述方法还包括:

若所述差异项的数量大于所述预设阈值,比较所述已有条目集合的数量与所述原始表数据的条目数;

若所述已有条目集合的数量小于所述原始表数据的条目数,则创建新的条目集合。

进一步地,所述比较所述已有条目集合的数量与所述原始表数据的条目数之前,所述方法还包括:

根据所述应用程序的条目集合列表的元素数,确定所述已有条目集合的数量,所述条目集合列表中每个元素对应一个条目集合。

进一步地,所述差异数据包括如下至少一种数据:新增数据、缺失数据、变更数据;

其中,所述新增数据为所述其他条目中具有,而所述代表条目不具有的数据;所述缺失数据为所述其他条目中不具有,而所述代表条目具有的数据;所述变更数据为所述基础条目和所述差异条目中不同的数据。

第二方面,本发明实施例还提供了一种应用程序的表数据处理方法,所述方法包括:

根据输入的所述应用程序的使用操作,确定所述使用操作对应的第一条目标识;

在所述应用程序的差异表数据中,查找所述第一条目标识的条目;

若所述第一条目标识的条目为差异条目,则根据所述第一条目标识的条目中的第一代表条目的标识信息,确定所述第一代表条目;

根据所述第一代表条目、和所述第一条目标识的条目中的差异数据,确定所述第一条目标识对应的原始条目;

根据所述第一条目标识对应的原始条目,执行所述使用操作对应的指令。

进一步地,所述方法还包括:

若所述第一条目标识的条目为代表条目,则根据所述第一条目标识的条目,执行所述使用操作对应的指令。

进一步地,所述方法还包括:

获取待修改的第二条目标识,以及修改值;

根据所述第二条目标识和所述修改值,修改所述差异表数据中的条目。

进一步地,所述根据所述第二条目标识,和所述修改值,修改所述差异表数据中的条目,包括:

若所述差异表数据中所述第二条目标识的条目为差异条目,则根据所述第二条目标识的条目中的第二代表条目的标识信息,确定所述第二代表条目;

根据所述第二代表条目、和所述第二条目标识的条目中的差异数据,确定所述第二条目标识对应的原始条目;

根据所述修改值修改所述第二条目标识对应的原始条目,得到修改后的所述第二条目标识对应的原始条目;

以所述第二代表条目作为基础条目,对修改后的所述第二条目标识对应的原始条目进行差异化处理,得到修改后的所述第二条目标识的条目。

进一步地,所述根据所述第二条目标识,和所述修改值,修改所述差异表数据中的条目,包括:

若所述差异表数据中所述第二条目标识的条目为代表条目,确定具有所述第二条目标识的条目为目标差异条目;根据所述第二条目标识的条目、以及所述目标差异条目中的差异数据,确定所述目标差异条目的原始条目;

根据所述修改值,分别修改所述目标差异条目的原始条目和所述第二条目标识的条目,得到修改后的原始条目和修改后的代表条目;

以所述修改后的代表条目作为基础条目,对所述修改后的原始条目进行差异化处理,得到修改后的差异条目。

第三方面,本发明实施例还提供了一种应用程序的表数据处理装置,所述装置包括:

确定模块,用于从应用程序的原始表数据的多个条目中,确定至少一个条目集合,每个条目集合包括:一个代表条目以及至少一个其他条目;

处理模块,用于以每个所述条目集合中的所述代表条目作为基础条目,分别对至少一个所述其他条目进行差异化处理,得到所述代表条目对应的至少一个差异条目,每个所述差异条目中存储所述其他条目与所述代表条目的差异数据,以及所述代表条目的标识信息;

形成模块,用于根据至少一个所述条目集合中的所述代表条目,和所述代表条目对应的至少一个差异条目,形成所述应用程序的差异表数据。

进一步地,所述确定模块,具体用于确定遍历的当前条目与已有条目集合中所述代表条目的差异项的数量;若所述差异项的数量小于预设阈值,则将所述当前条目加入所述已有条目集合;若所述差异项的数量大于所述预设阈值,则创建新的条目集合,并将该当前条目加入所述新的条目集合,直至遍历完多个所述条目,得到至少一个所述条目集合,其中,每个所述条目集合中,所述代表条目为首个加入所述条目集合的条目。

进一步地,若所述已有条目集合包括:多个,所述确定模块,还具体用于将所述当前条目加入多个所述已有条目集合中差异项的数量最小的所代表条目所在的条目集合中。

进一步地,所述确定模块,还具体用于若所述差异项的数量大于所述预设阈值,比较所述已有条目集合的数量与所述原始表数据的条目数;若所述已有条目集合的数量小于所述原始表数据的条目数,则创建新的条目集合。

进一步地,所述确定模块,还具体用于根据所述应用程序的条目集合列表的元素数,确定所述已有条目集合的数量,所述条目集合列表中每个元素对应一个条目集合。

进一步地,所述差异数据包括如下至少一种数据:新增数据、缺失数据、变更数据;

其中,所述新增数据为所述其他条目中具有,而所述代表条目不具有的数据;所述缺失数据为所述其他条目中不具有,而所述代表条目具有的数据;所述变更数据为所述基础条目和所述差异条目中不同的数据。

第四方面,本发明实施例还提供了一种应用程序的表数据处理装置,所述装置包括:

确定模块,用于根据输入的所述应用程序的使用操作,确定所述使用操作对应的第一条目标识;

查找模块,用于在所述应用程序的差异表数据中,查找所述第一条目标识的条目;

所述确定模块,还用于若所述第一条目标识的条目为差异条目,则根据所述第一条目标识的条目中的第一代表条目的标识信息,确定所述第一代表条目;根据所述第一代表条目、和所述第一条目标识的条目中的差异数据,确定所述第一条目标识对应的原始条目;

执行模块,用于根据所述第一条目标识对应的原始条目,执行所述使用操作对应的指令。

进一步地,所述执行模块,具体用于若所述第一条目标识的条目为代表条目,则根据所述第一条目标识的条目,执行所述使用操作对应的指令。

进一步地,所述装置还包括:

获取模块,用于获取待修改的第二条目标识,以及修改值;

修改模块,用于根据所述第二条目标识和所述修改值,修改所述差异表数据中的条目。

进一步地,所述修改模块,具体用于若所述差异表数据中所述第二条目标识的条目为差异条目,则根据所述第二条目标识的条目中的第二代表条目的标识信息,确定所述第二代表条目;根据所述第二代表条目、和所述第二条目标识的条目中的差异数据,确定所述第二条目标识对应的原始条目;根据所述修改值修改所述第二条目标识对应的原始条目,得到修改后的所述第二条目标识对应的原始条目;以所述第二代表条目作为基础条目,对修改后的所述第二条目标识对应的原始条目进行差异化处理,得到修改后的所述第二条目标识的条目。

进一步地,所述修改模块,具体用于若所述差异表数据中所述第二条目标识的条目为代表条目,确定具有所述第二条目标识的条目为目标差异条目;根据所述第二条目标识的条目、以及所述目标差异条目中的差异数据,确定所述目标差异条目的原始条目;根据所述修改值,分别修改所述目标差异条目的原始条目和所述第二条目标识的条目,得到修改后的原始条目和修改后的代表条目;以所述修改后的代表条目作为基础条目,对所述修改后的原始条目进行差异化处理,得到修改后的差异条目。

第五方面,本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面和第二方面所述的方法的步骤。

第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面和第二方面所述方法的步骤。

本发明的有益效果是:一种应用程序的表数据处理方法,从应用程序的原始表数据的多个条目中,确定至少一个条目集合,以每个条目集合中的代表条目作为基础条目,分别对至少一个其他条目进行差异化处理,得到代表条目对应的至少一个差异条目,根据至少一个条目集合中的代表条目,和代表条目对应的至少一个差异条目,形成应用程序的差异表数据,其中,每个条目集合包括:一个代表条目以及至少一个其他条目。基于每个条目集合中的代表条目,对该条目集合种的其他条目进行差异化处理,形成差异条目,继而根据每个条目集合中的代表条目和差异条目形成差异表数据,实现对于条目差异化存储,减少了条目本身对于内存的消耗,可以有效减少表数据的占用内存。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图;

图2为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图;

图3为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图;

图4为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图;

图5为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图;

图6为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图;

图7为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图;

图8为本发明实施例提供的一种应用程序的表数据处理装置的结构示意图;

图9为本发明实施例提供的一种应用程序的表数据处理装置的结构示意图;

图10为本发明实施例提供的一种应用程序的表数据处理装置的结构示意图;

图11为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

图1为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图,如图1所示,该方法包括:

s101、从应用程序的原始表数据的多个条目中,确定至少一个条目集合。

其中,每个条目集合包括:一个代表条目以及至少一个其他条目,代表条目可以为首个加入条目集合的条目。原始表数据中的多个条目均为完整的条目,该完整的条目可以为原始条目。

需要说明的是,应用程序的原始表数据可以存储于服务器中,服务器中还具有一个条目集合列表,条目集合列表中可以用于存储至少一个条目集合。

在一些实施方式中,服务器可以从多个条目中,确定当前处理条目,并根据当前处理条目与已有条目集合中代表条目的差异项数量,将当前处理条目加入至少一个条目集合中,遍历完多个条目,得到至少一个条目集合。

s102、以每个条目集合中的代表条目作为基础条目,分别对至少一个其他条目进行差异化处理,得到代表条目对应的至少一个差异条目。

其中,每个差异条目中存储其他条目与代表条目的差异数据,以及代表条目的标识信息。

在一种可能的实施方式中,每个条目集合中可以包括一个代表条目、以及至少一个其他条目,服务器可以确定每个条目集合中,至少一个其他条目与代表条目之间的差异项,差异项即为代表条目对应的至少一个差异条目。

在本发明实施例中,差异数据可以包括:其他条目与代表条目之间具有区别的关键字key和值value。当然,代表条目中可以包括代表条目的标识信息,差异条目中可以包括差异条目的标识信息、以及对应的代表条目的标识信息。

需要说明的是,差异条目中各个信息的先后顺序可以为:差异条目标识、代表条目标识、差异数据。

s103、根据至少一个条目集合中的代表条目,和代表条目对应的至少一个差异条目,形成应用程序的差异表数据。

其中,差异表数据中的代表条目可以为dic(dictionary,字典)格式,差异条目可以为tuple元组格式。

在一种可能的实施方式中,服务器对每个条目集合中的其他条目进行差异化处理之后,可以得到每个条目集合中的差异条目,至少一个条目集合中的代表条目和差异条目即形成应用程序的差异表数据。

另外,服务器可以向终端发送上述差异表数据,以使终端可以根据差异表数据控制或者驱动应用程序逻辑。

本发明实施例中,应用程序可以为游戏类应用程序,也可以为音频类应用程序、视频类应用程序、图像类应用程序以及通信类应用程序,还可以为其他通过表数据控制或者驱动应用程序逻辑的应用程序,本发明实施例对此不进行具体限制。

综上所述,本发明实施例提供一种应用程序的表数据处理方法,从应用程序的原始表数据的多个条目中,确定至少一个条目集合,以每个条目集合中的代表条目作为基础条目,分别对至少一个其他条目进行差异化处理,得到代表条目对应的至少一个差异条目,根据至少一个条目集合中的代表条目,和代表条目对应的至少一个差异条目,形成应用程序的差异表数据,其中,每个条目集合包括:一个代表条目以及至少一个其他条目。基于每个条目集合中的代表条目,对该条目集合种的其他条目进行差异化处理,形成差异条目,继而根据每个条目集合中的代表条目和差异条目形成差异表数据,实现对于条目差异化存储,减少了条目本身对于内存的消耗,可以有效减少表数据的占用内存。

可选的,差异数据包括如下至少一种数据:新增数据、缺失数据、变更数据。

其中,新增数据为其他条目中具有,而代表条目不具有的数据;缺失数据为其他条目中不具有,而代表条目具有的数据;变更数据为基础条目和差异条目中不同的数据。

例如,代表条目可以为:

2102:{‘id’:2102,‘ico’:‘image/skill/ah_0015.png,‘ico_blur’:‘ah_0015.png’,‘skill_type’:1,‘stage’:(45,),‘tar_prior’:1}

该代表条目所对应的一个其他条目可以为:

2106:{‘id’:2106,‘ico’:‘image/skill/ah_0015.png,‘ico_blur’:‘ah_0015.png’,‘skill_type’:1,‘stage’:(45,),‘tar_prior’:1,‘hit_shockhit’:1,‘hit_stage’:1}

上述其他条目与上述代表条目之间的差异数据可以包括新增数据和变更数据。其中,新增数据为‘hit_shockhit’,1、以及‘hit_stage’,1;变更项可以为‘id’,2016。

其中,上述代表条目的标识信息可以为2102,上述其他条目的标识信息可以为2106。对其他条目进行差异化处理后,得到的差异条目的可以为:

2016:(2012,3,‘hit_stage’,1,‘hit_stage’,1,‘id’,2016,)

需要说明的是,上述差异条目中的3表示,后续的6项(3*2=6)内容为新增项以及变更项。若差异条目中还存在缺失数据,则剩余的内容为缺失数据。

另外,差异条目中的新增数据和变更数据可以包括key和value,缺失条目可以包括key。

图2为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图,如图2所示,上述s101中,从应用程序的原始表数据的多个条目中,确定至少一个条目集合,可以包括:

s201、确定遍历的当前条目与已有条目集合中代表条目的差异项的数量。

其中,差异项的数量可以表示当前条目与已有条目集合中代表条目的差异度。差异项的数量为可以当前条目与代表条目之间存在区别的key和value的数量,也可以为当前条目与代表条目之间存在区别的key的数量,本发明实施例对此不进行具体限制。

在一种可能的实施方式中,服务器可以确定已有条目集合中的代表条目,以及遍历的当前条目,并比对该代表条目以及当前条目,确定该代表条目以及当前条目之间的差异项,并对差异项的数量进行统计。

例如,当差异项中的差异数据包括新增数据、缺失数据、变更数据,则差异项的数量可以为(a+c)*2+b,其中,a为新增数据对应的新增项个数,b为变更数据对应的变更项个数,c为缺失数据对应的缺失项个数。另外,一个新增项和变更项均可以包括key和value,一个缺失项可以包括key。

s202、若差异项的数量小于预设阈值,则将当前条目加入已有条目集合。

在一些实施方式中,服务器可以判断差异项的数量是否小于预设阈值,若差异项的数量小于预设阈值,则说明当前条目与已有条目集合中代表条目的差异项的数量较少,可以对该当前条目进行差异化存储,即将当前条目加入已有条目集合。

需要说明的是,预设阈值可以为20,也可以为15,还可以为用户根据经验所设定的其他值,本发明实施例对此不进行具体限制。

s203、若差异项的数量大于预设阈值,则创建新的条目集合,并将该当前条目加入新的条目集合,直至遍历完多个条目,得到至少一个条目集合。

其中,每个条目集合中,代表条目为首个加入条目集合的条目。

在本发明实施例中,若差异项的数量大于预设阈值,则说明当前条目与已有条目集合中代表条目的差异项的数量较多,当以该代表条目为基础条目对当前条目进行差异化处理时,所得到的差异条目仍然会占据较多的内存,因此,服务器可以创建新的条目集合,将该当前条目加入新的条目集合中,则当前条目为该新的条目集合中的代表条目。

服务器可以循环执行s201至s203,直至遍历完原始表数据的每个条目,得到至少一个条目集合,每个条目集合中可以包括一个代表条目以及至少一个其他条目。

可选的,若已有条目集合包括:多个,则将当前条目加入多个已有条目集合中差异项的数量最小的所代表条目所在的条目集合中。

在一种可能的实施方式中,当已有条目集合包括多个时,服务器可以计算当前条目与每个已有条目集合的代表条目之间的差异项数量,得到多个差异项数量,确定差异项的数量最小的所代表条目所在的条目集合,并当前条目加入该条目集合中。

需要说明的是,将当前条目加入到多个已有条目集合中差异项的数量最小的所代表条目所在的条目集合中,则以该差异项的数量最小的所代表条目作为基础条目,对当前条目进行差异化处理时,得到的差异条目中差异项的数量较少,即可以减少该差异条目所占用的内存。

综上所述,本发明实施例中,当具有多个条目集合时,仅需要计算出当前条目和每个条目集合中代表条目的差异项数量,计算量较少,提高了对于原始表数据的差异化存储效率。

图3为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图,如图3所示,在上述s203之前,该方法还可以包括:

s301、若差异项的数量大于预设阈值,比较已有条目集合的数量与原始表数据的条目数。

其中,原始表数据的条目数,为未对原始表数据中的多个条目的总数量。

在一些实施方式中,在创建新的条目集合之前,服务器可以统计条目集合列表中已有条目集合的数量,并判断已有条目集合的数量是否小于原始表数据的条目数,若已有条目集合的数量不小于原始表数据的条目数,则说明对原始表数据中的各个条目差异较大,不是适合进行差异化处理,以及差异化存储。

需要说明的是,若差异项的数量大于预设阈值,服务器也可以比较已有条目集合的数量是否小于预设条目数量,当已有条目集合的数量不小于预设条目数量则说明对原始表数据中的各个条目差异较大。另外,该预设条目数量可以小于或等于原始表数据的条目数。

s302、若已有条目集合的数量小于原始表数据的条目数,则创建新的条目集合。

在一种可能的实施方式中,若已有条目集合的数量小于原始表数据的条目数,则说明已有条目集合的数量较少,可以创建新的条目集合,并将当前条目加入至新的条目集合中。

当然,服务器也可以比较已有条目集合的数量是否小于预设条目数量,若小于,则创建新的条目集合。其中,该预设条目数量可以小于或等于原始表数据的条目数。

可选的,在s301中,比较已有条目集合的数量与原始表数据的条目数之前,该方法还可以包括:根据应用程序的条目集合列表的元素数,确定已有条目集合的数量。

其中,条目集合列表中每个元素对应一个条目集合。

在本发明实施例中,条目集合列表可以用于存储条目集合,即条目集合为条目集合列表的元素,一个元素即为一个条目集合,因此,服务器可以根据应用程序的条目集合列表的元素数确定已有条目集合的数量。

在本发明实施例中,图1至图3的所示的方法,执行主体可以为服务器。图4至图7的所示的方法,执行主体可以为终端,该终端上可以安装有应用程序,该应用程序的类型可以为游戏类应用程序、音频类应用程序、视频类应用程序、图像类应用程序以及通信类应用程序等,本发明实施例对此不进行具体限制。

图4为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图,如图4所示,应用于终端,该方法可以包括:

s401、根据输入的应用程序的使用操作,确定使用操作对应的第一条目标识。

在本发明实施例中,服务器在形成应用程序的差异表数据后,可以向终端发送该差异表数据,终端可以接收该差异表数据,并对差异表数据进行存储,终端可以根据该差异表数据以控制或者驱动应用程序的逻辑。

在一些实施方式中,当用户在终端的应用程序上,输入使用操作时,终端可以根据该使用操作,确定该使用操作对应的第一条目标识,以便后续过程中,可以根据第一条目标识,确定对应的条目,以控制或者驱动应用程序的逻辑。

例如,当应用程序为游戏类应用程序时,用户可以在游戏类应用程序所显示的界面上进行使用操作,相应的,安装有游戏类应用程序的终端可以获取该使用操作。

s402、在应用程序的差异表数据中,查找第一条目标识的条目。

其中,差异表数据中可以包括至少一个代表条目,每个代表条目具有对应的至少一个差异条目。每个代表条目和差异条目均有对应的标识信息。

在一些实施方式中,终端可以在应用程序的差异表数据中,查找与第一条目标识相同的标识信息,并确定该标识信息所对应的条目,即得到第一条目标识的条目。

需要说明的是,第一条目标识的条目的类型可以为dic类型或者tuple类型。当第一条目标识的条目的类型为dic类型时,则第一条目标识的条目为代表条目;当第一条目标识的条目的类型为tuple类型时,则第一条目标识的条目为差异条目。

s403、若第一条目标识的条目为差异条目,则根据第一条目标识的条目中的第一代表条目的标识信息,确定第一代表条目。

其中,第一条目标识的条目中,可以包括对应的代表条目的标识信息,即第一代表条目的标识信息。

在一些实施方式中,终端可以判断第一条目标识的条目的类型,当第一条目标识的条目的类型为tuple类型时,则第一条目标识的条目为差异条目,根据第一条目标识的条目中的第一代表条目的标识信息,可以确定第一条目标识的条目所对应的代表条目。

在一种可能的实施方式中,差异表数据中的差异条目为tuple类型时,端对该差异条目直接进行读取,会影响正常使用,因此,终端可以对差异条目进行封装,将该差异条目封装为具有预设的读取接口的自定义对象,终端通过预设的读取接口对差异表数据中的差异条目进行读取时,可以获取差异条目对应的原始条目。

需要说明的是,预设的读取接口的自定义对象可以包括自定义对象自己的_getitem_(获取条目)、_setitem_(设置条目)等方法,终端可以通过_getitem_读取差异表数据中的条目,通过_setitem_修改差异表数据中的条目。

s404、根据第一代表条目、和第一条目标识的条目中的差异数据,确定第一条目标识对应的原始条目。

其中,差异数据可以包括:新增数据、缺失数据、变更数据中的至少一种。

在本发明实施例中,终端可以将第一代表条目复制到预设反馈条目中,读取上述差异数据中的第2项的参数n,读取差异数据中的n*2项数据,得到新增数据和/或缺失数据,差异数据中的n*2项之后的数据可以为缺失数据,终端可以根据新增数据、缺失数据和差异数据对预设反馈条目中的第一代表条目进行修改,得到第一条目标识对应的原始条目。

需要说明的是,n表示新增项和变更项的数量,一个新增项对应一个新增数据,新增数据中可以包括key和value。当然,一个变更项对应一个变更数据,变更数据中可以包括key和value。

s405、根据第一条目标识对应的原始条目,执行使用操作对应的指令。

在本发明实施例中,终端确定第一条目标识对应的原始条目,可以根据该原始条目执行使用操作对应的指令,以控制或者驱动应用程序逻辑。

本发明实施提供一种应用程序的表数据处理方法,根据输入的应用程序的使用操作,确定使用操作对应的第一条目标识,在应用程序的差异表数据中,查找第一条目标识的条目,若第一条目标识的条目为差异条目,则根据第一条目标识的条目中的第一代表条目的标识信息,确定第一代表条目,根据第一代表条目、和第一条目标识的条目中的差异数据,确定第一条目标识对应的原始条目,根据第一条目标识对应的原始条目,执行使用操作对应的指令。终端在基于差异表数据,运行或者驱动应用程序逻辑时,当第一条目标识的条目为差异条目,根据对应的第一代表条目确定第一条目标识对应的原始条目,根据第一条目标识对应的原始条目,执行使用操作对应的指令,差异表数据所占用的终端内存较小,而且终端可以快速读取到第一条目标识对应的原始条目,可以提高终端运行应用程序时的效率,提高用户体验。

可选的,若第一条目标识的条目为代表条目,则根据第一条目标识的条目,执行使用操作对应的指令。

需要说明的是,当终端确定第一条目标识的条目的类型为dic类型时,则第一条目标识的条目为代表条目,代表条目为完整的条目,终端可以直接根据第一条目标识的条目,执行使用操作对应的指令。

图5为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图,如图5所示,该方法可以包括:

s501、获取待修改的第二条目标识,以及修改值。

其中,服务器需要修改终端中的差异表数据时,服务器可以向终端发送待修改条目标识,以及对应的修改值,终端可以接收待修改条目标识,以及对应的修改值,以便终端可以根据待修改条目标识,以及对应的修改值实现对于应用程序的热更新。

需要说明的是,待修改的第二条目标识的数目可以为至少一个,每个待修改的第二条目标识所对应的修改值的数目也可以为至少一个。

s502、根据第二条目标识和修改值,修改差异表数据中的条目。

在本发明实施例中,终端可以根据第二条目标识在差异表数据中查找对应的条目,判断该条目的类型,根据该条目类型和修改值修改该条目,实现修改差异表数据中第二条目标识的条目。

图6为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图,如图6所示,上述s502,可以包括:

s601、若差异表数据中第二条目标识的条目为差异条目,则根据第二条目标识的条目中的第二代表条目的标识信息,确定第二代表条目。

其中,终端可以根据第二条目标识的条目的类型,确定第二条目标识的条目是否为差异条目,当第二条目标识的条目的类型为tuble类型,则第二条目标识的条目为差异条目。

另外,第二条目标识的条目中可以包括第二代表条目的标识信息,第二代表条目为第二条目标识的条目所对应的代表条目,终端可以从差异表数据中查找第二代表条目的标识信息,确定第二代表条目。

s602、根据第二代表条目、和第二条目标识的条目中的差异数据,确定第二条目标识对应的原始条目。

在本发明实施例中,确定第二条目标识对应的原始条目的过程与s404中,确定第一条目标识对应的原始条目的过程类似,此处不再一一赘述。

s603、根据修改值修改第二条目标识对应的原始条目,得到修改后的第二条目标识对应的原始条目。

s604、以第二代表条目作为基础条目,对修改后的第二条目标识对应的原始条目进行差异化处理,得到修改后的第二条目标识的条目。

在本发明实施例中,终端以第二代表条目作为基础条目,对修改后的第二条目标识对应的原始条目进行差异化处理,得到修改后的第二条目标识对应的原始条目与第二代表条目之间差异数据,根据该差异数据确定修改后的第二条目标识的条目。

需要说明的是,修改后的第二条目标识的条目中可以包括:第二条目标识,以及第二代表条目的标识信息,新增项和变更项的数量、差异数据等。

图7为本发明实施例提供的一种应用程序的表数据处理方法的流程示意图,如图7所示,上述s502,可以包括:

s701、若差异表数据中第二条目标识的条目为代表条目,确定具有第二条目标识的条目为目标差异条目。

其中,终端可以根据第二条目标识的条目的类型,确定第二条目标识的条目是否为代表条目,当第二条目标识的条目的类型为dic类型,则第二条目标识的条目为代表条目。

另外,终端可以在差异表数据中,查找具有第二条目标识且类型为tuble类型的条目,得到目标差异条目。目标差异条目即为第二条目标识的条目对应的差异条目。

s702、根据第二条目标识的条目、以及目标差异条目中的差异数据,确定目标差异条目的原始条目。

在本发明实施例中,确定目标差异条目的原始条目的过程与s404中,确定第一条目标识对应的原始条目的过程类似,此处不再一一赘述。

s703、根据修改值,分别修改目标差异条目的原始条目和第二条目标识的条目,得到修改后的原始条目和修改后的代表条目。

在一种可能的实施方式中,终端可以根据修改值修改第二条目标识的条目,得到修改后的代表条目,修改后的代表条目可以存储于差异表数据中,终端可以创建原始数据字典,将目标差异条目的原始条目存入原始数据字典中,并根据修改值修改原始数据字典中目标差异条目的原始条目。

s704、以修改后的代表条目作为基础条目,对修改后的原始条目进行差异化处理,得到修改后的差异条目。

需要说明的是,在原始数据字典中,终端以修改后的代表条目作为基础条目,对每个修改后的原始条目进行差异化处理,得到每个修改后的原始条目与修改后的代表条目之间的差异数据,根据该差异数据确定修改后的差异条目,并将该原始数据字典中的修改后的差异条目,写入差异表数据中。

当然,修改后的差异条目中可以包括:第二条目标识,以及目标差异条目的标识信息,新增项和变更项的数量、差异数据等。

图8为本发明实施例提供的一种应用程序的表数据处理装置的结构示意图,如图8所示,装置包括:

确定模块801,用于从应用程序的原始表数据的多个条目中,确定至少一个条目集合,每个条目集合包括:一个代表条目以及至少一个其他条目;

处理模块802,用于以每个条目集合中的代表条目作为基础条目,分别对至少一个其他条目进行差异化处理,得到代表条目对应的至少一个差异条目,每个差异条目中存储其他条目与代表条目的差异数据,以及代表条目的标识信息;

形成模块803,用于根据至少一个条目集合中的代表条目,和代表条目对应的至少一个差异条目,形成应用程序的差异表数据。

可选的,确定模块801,具体用于确定遍历的当前条目与已有条目集合中代表条目的差异项的数量;若差异项的数量小于预设阈值,则将当前条目加入已有条目集合;若差异项的数量大于预设阈值,则创建新的条目集合,并将该当前条目加入新的条目集合,直至遍历完多个条目,得到至少一个条目集合,其中,每个条目集合中,代表条目为首个加入条目集合的条目。

可选的,若已有条目集合包括:多个,确定模块801,还具体用于将当前条目加入多个已有条目集合中差异项的数量最小的所代表条目所在的条目集合中。

可选的,确定模块801,还具体用于若差异项的数量大于预设阈值,比较已有条目集合的数量与原始表数据的条目数;若已有条目集合的数量小于原始表数据的条目数,则创建新的条目集合。

可选的,确定模块801,还具体用于根据应用程序的条目集合列表的元素数,确定已有条目集合的数量,条目集合列表中每个元素对应一个条目集合。

可选的,差异数据包括如下至少一种数据:新增数据、缺失数据、变更数据;

其中,新增数据为其他条目中具有,而代表条目不具有的数据;缺失数据为其他条目中不具有,而代表条目具有的数据;变更数据为基础条目和差异条目中不同的数据。

图9为本发明实施例提供的一种应用程序的表数据处理装置的结构示意图,如图9所示,该装置包括:

确定模块801,用于根据输入的应用程序的使用操作,确定使用操作对应的第一条目标识;

查找模块804,用于在应用程序的差异表数据中,查找第一条目标识的条目;

确定模块801,还用于若第一条目标识的条目为差异条目,则根据第一条目标识的条目中的第一代表条目的标识信息,确定第一代表条目;根据第一代表条目、和第一条目标识的条目中的差异数据,确定第一条目标识对应的原始条目;

执行模块805,用于根据第一条目标识对应的原始条目,执行使用操作对应的指令。

可选的,执行模块805,具体用于若第一条目标识的条目为代表条目,则根据第一条目标识的条目,执行使用操作对应的指令。

可选的,如图10所示,装置还包括:

获取模块806,用于获取待修改的第二条目标识,以及修改值;

修改模块807,用于根据第二条目标识和修改值,修改差异表数据中的条目。

可选的,修改模块807,具体用于若差异表数据中第二条目标识的条目为差异条目,则根据第二条目标识的条目中的第二代表条目的标识信息,确定第二代表条目;根据第二代表条目、和第二条目标识的条目中的差异数据,确定第二条目标识对应的原始条目;根据修改值修改第二条目标识对应的原始条目,得到修改后的第二条目标识对应的原始条目;以第二代表条目作为基础条目,对修改后的第二条目标识对应的原始条目进行差异化处理,得到修改后的第二条目标识的条目。

可选的,修改模块807,具体用于若差异表数据中第二条目标识的条目为代表条目,确定具有第二条目标识的条目为目标差异条目;根据第二条目标识的条目、以及目标差异条目中的差异数据,确定目标差异条目的原始条目;根据修改值,分别修改目标差异条目的原始条目和第二条目标识的条目,得到修改后的原始条目和修改后的代表条目;以修改后的代表条目作为基础条目,对修改后的原始条目进行差异化处理,得到修改后的差异条目。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其他可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图11为本发明实施例提供的一种电子设备的结构示意图,该电子设备包括:处理器1001、存储器1002。

存储器1002用于存储程序,处理器1001调用存储器1002存储的程序,电子设备可以为服务器时,可以执行上述图1至图3的所示的方法实施例。当电子设备为终端时,可以执行上述图4至图7的所示的方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

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

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

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

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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