一种数组规整方法、装置、终端及可读介质制造方法及图纸

技术编号:20448680 阅读:23 留言:0更新日期:2019-02-27 02:51
本发明专利技术实施例公开了一种数组规整方法、装置、终端及可读介质,其中该方法包括:根据接收的规整指令时的剩余内存确定迁移数组及备份数组的数组长度,并定义迁移数组及备份数组;轮询扫描目标数组,并将扫描获取的非空数据信息存储至迁移数组中;将迁移数组内数据信息迁移至链表对象中并在备份数组中备份,以提高容灾性;当扫描结束时,将获取到的链表对象中的数据信息存储至临时数组中;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中。本发明专利技术实施例提供的一种数组规整方法、装置、终端及可读介质,实现了数组规整,提高了数组规整效率及规整过程容灾性。

An Array Regulating Method, Device, Terminal and Readable Media

The embodiment of the present invention discloses an array regularization method, device, terminal and readable medium, in which the method includes: determining the array length of the migration array and backup array according to the residual memory of the received regularization instruction, defining the migration array and backup array, polling the target array, and storing the scanned non-empty data information into the migration array; Data information in the array is migrated to the linked list object and backed up in the backup array to improve disaster tolerance; when the scan is finished, the data information in the acquired linked list object is stored in the temporary array; when all data information in the linked list object is stored in the temporary array, the data information of the temporary array is returned to the target array. The embodiment of the present invention provides an array regularization method, device, terminal and readable medium, which realizes array regularization and improves the efficiency of array regularization and disaster tolerance of the regularization process.

【技术实现步骤摘要】
一种数组规整方法、装置、终端及可读介质
本专利技术实施例涉及计算机技术,尤其涉及一种数组规整方法、装置、终端及可读介质。
技术介绍
当Android终端中数组内数据为有序数据时,常需要将数组进行规整化处理,以方便对有序数据进行读取等操作。其中,规整化处理可以理解为将有序数据按数组的索引序号为0、1、2...n的顺序依次存储至数组,保证有序数据间没有空数据,且放置在数组前端,空余位置位于数组后端的处理操作。目前,常用的数组规整方法为,对数组内数据进行一一迁移。这种大批量数据一一迁移的操作耗时较长,速度较慢,从而导致数组规整效率较低。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数组规整方法、装置、终端及可读介质,实现了数组规整,提高了数组规整效率及规整过程容灾性。第一方面,本专利技术实施例提供了一种数组规整方法,包括:接收规整指令,根据所述规整指令确定剩余内存,根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度以及备份数组的数组长度,根据迁移数组的数组长度定义迁移数组,并根据备份数组的数组长度定义备份数组;对目标数组的起始位置至终止位置依次进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至迁移数组中;根据目标数组的扫描进度以及迁移数组的存储状态,读取迁移数组内数据信息,将迁移数组内数据信息依次替换链表对象中的预填充数据信息并存储至备份数组中,其中,当替换链表对象中的预填充数据信息过程出现写入异常时,根据存储至备份数组中的数据进行异常修复;当迁移数组内数据信息读取完毕时,将迁移数组内数据信息清空,并将目标数组内已完成扫描的扫描位置的数据信息清除;当目标数组扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。可选的,所述根据所述规整指令确定剩余内存,包括:根据所述规整指令获取ActivityManager对象,调用ActivityManager对象的内存信息对象获取方法获取内存信息对象;调用内存信息对象的可用内存获取方法获取可用内存,调用内存信息对象的总内存获取方法获取总内存,根据可用内存以及总内存确定剩余内存。可选的,所述根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度以及备份数组的数组长度,包括:当剩余内存大于等于内存阈值时,将目标数组的数组长度作为迁移数组的数组长度以及备份数组的数组长度;当剩余内存小于内存阈值时,将所述剩余内存的第一预设比例的内存空间作为迁移数组的数组长度,将所述剩余内存的第二预设比例的内存空间作为备份数组的数组长度。可选的,所述根据目标数组的扫描进度以及迁移数组的存储状态,读取迁移数组内数据信息,将迁移数组内数据信息依次替换链表对象中的预填充数据信息并存储至备份数组中,包括:当迁移数组存储满时,读取迁移数组内数据信息,调用链表对象的替换方法将迁移数组内数据信息依次替换链表对象中的预填充数据信息,并将替换链表对象中的预填充数据信息的迁移数组内数据信息存储至备份数组中;当迁移数组未存储满,目标数组扫描结束时,读取迁移数组内数据信息,调用链表对象的替换方法将迁移数组内数据信息依次替换链表对象中的预填充数据信息,并将替换链表对象中的预填充数据信息的迁移数组内数据信息存储至备份数组中。可选的,所述当替换链表对象中的预填充数据信息过程出现写入异常时,根据存储至备份数组中的数据进行异常修复,包括:当替换链表对象中的预填充数据信息过程出现数据信息写入错误时,获取存储至备份数组中与写入错误的数据信息相对应的数据信息,并将获取的相对应的数据信息覆盖链表对象中的写入错误的数据信息。可选的,所述依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,包括:调用链表对象的获取方法依次获取链表对象中的数据信息;调用数组存储方法将获取到的链表对象中的数据信息存储至临时数组中。可选的,在所述接收规整指令之后,包括:调用链表定义方法定义链表对象,并在定义好的链表对象中填充数据信息;判断剩余内存是否满足定义临时数组需求,并在剩余内存满足定义临时数组需求时,调用数组定义方法定义临时数组;相应的,当目标数组扫描结束时,若临时数组已定义,则依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中;当目标数组扫描结束时,若临时数组未定义,则当临时数组成功定义时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中。第二方面,本专利技术实施例提供了一种数组规整装置,包括:数组定义模块,用于接收规整指令,根据所述规整指令确定剩余内存,根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度以及备份数组的数组长度,根据迁移数组的数组长度定义迁移数组,并根据备份数组的数组长度定义备份数组;数据存储至迁移数组模块,用于对目标数组的起始位置至终止位置依次进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至迁移数组中;数据迁移至链表对象模块,用于根据目标数组的扫描进度以及迁移数组的存储状态,读取迁移数组内数据信息,将迁移数组内数据信息依次替换链表对象中的预填充数据信息并存储至备份数组中,其中,当替换链表对象中的预填充数据信息过程出现写入异常时,根据存储至备份数组中的数据进行异常修复;数据信息清空模块,用于当迁移数组内数据信息读取完毕时,将迁移数组内数据信息清空,并将目标数组内已完成扫描的扫描位置的数据信息清除;数据存储至临时数组模块,用于当目标数组扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;数据回传模块,用于当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中;其中,数据信息清空模块还用于在数据信息回传结束时将临时数组的数据信息清空。第三方面,本专利技术实施例提供了一种终端,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任一实施例所述的数组规整方法。第四方面,本专利技术实施例提供了一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任一实施例所述的数组规整方法。本专利技术实施例提供的一种数组规整方法、装置、终端及可读介质,根据接收的规整指令时的剩余内存确定迁移数组及备份数组的数组长度,并定义迁移数组及备份数组;轮询扫描目标数组,并将扫描获取的非空数据信息存储至迁移数组中;将迁移数组内数据信息迁移至链表对象中并在备份数组中备份,以提高容灾性;当扫描结束时,将获取到的链表对象中的数据信息存储至临时数组中;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中。本专利技术实施例提供的一种数组规整方法、装置、终端及可读介质,实现了数组规整,提高了数组规整效率及规整过程容灾性。附图说明为了更清楚地说明本专利技术实施例或现有技术本文档来自技高网...

【技术保护点】
1.一种数组规整方法,其特征在于,包括:接收规整指令,根据所述规整指令确定剩余内存,根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度以及备份数组的数组长度,根据迁移数组的数组长度定义迁移数组,并根据备份数组的数组长度定义备份数组;对目标数组的起始位置至终止位置依次进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至迁移数组中;根据目标数组的扫描进度以及迁移数组的存储状态,读取迁移数组内数据信息,将迁移数组内数据信息依次替换链表对象中的预填充数据信息并存储至备份数组中,其中,当替换链表对象中的预填充数据信息过程出现写入异常时,根据存储至备份数组中的数据进行异常修复;当迁移数组内数据信息读取完毕时,将迁移数组内数据信息清空,并将目标数组内已完成扫描的扫描位置的数据信息清除;当目标数组扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。...

【技术特征摘要】
1.一种数组规整方法,其特征在于,包括:接收规整指令,根据所述规整指令确定剩余内存,根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度以及备份数组的数组长度,根据迁移数组的数组长度定义迁移数组,并根据备份数组的数组长度定义备份数组;对目标数组的起始位置至终止位置依次进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至迁移数组中;根据目标数组的扫描进度以及迁移数组的存储状态,读取迁移数组内数据信息,将迁移数组内数据信息依次替换链表对象中的预填充数据信息并存储至备份数组中,其中,当替换链表对象中的预填充数据信息过程出现写入异常时,根据存储至备份数组中的数据进行异常修复;当迁移数组内数据信息读取完毕时,将迁移数组内数据信息清空,并将目标数组内已完成扫描的扫描位置的数据信息清除;当目标数组扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。2.根据权利要求1所述的方法,其特征在于,所述根据所述规整指令确定剩余内存,包括:根据所述规整指令获取ActivityManager对象,调用ActivityManager对象的内存信息对象获取方法获取内存信息对象;调用内存信息对象的可用内存获取方法获取可用内存,调用内存信息对象的总内存获取方法获取总内存,根据可用内存以及总内存确定剩余内存。3.根据权利要求1所述的方法,其特征在于,所述根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度以及备份数组的数组长度,包括:当剩余内存大于等于内存阈值时,将目标数组的数组长度作为迁移数组的数组长度以及备份数组的数组长度;当剩余内存小于内存阈值时,将所述剩余内存的第一预设比例的内存空间作为迁移数组的数组长度,将所述剩余内存的第二预设比例的内存空间作为备份数组的数组长度。4.根据权利要求1所述的方法,其特征在于,所述根据目标数组的扫描进度以及迁移数组的存储状态,读取迁移数组内数据信息,将迁移数组内数据信息依次替换链表对象中的预填充数据信息并存储至备份数组中,包括:当迁移数组存储满时,读取迁移数组内数据信息,调用链表对象的替换方法将迁移数组内数据信息依次替换链表对象中的预填充数据信息,并将替换链表对象中的预填充数据信息的迁移数组内数据信息存储至备份数组中;当迁移数组未存储满,目标数组扫描结束时,读取迁移数组内数据信息,调用链表对象的替换方法将迁移数组内数据信息依次替换链表对象中的预填充数据信息,并将替换链表对象中的预填充数据信息的迁移数组内数据信息存储至备份数组中。5.根据权利要求1所述的方法,其特征在于,所述当替换链表对象中的预填充数据信息过程出现写入异常时,根据存储至备份数组中的数据进...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1