CN103902562B - 一种终端数据库升级方法及相关装置 - Google Patents
一种终端数据库升级方法及相关装置 Download PDFInfo
- Publication number
- CN103902562B CN103902562B CN201210575975.8A CN201210575975A CN103902562B CN 103902562 B CN103902562 B CN 103902562B CN 201210575975 A CN201210575975 A CN 201210575975A CN 103902562 B CN103902562 B CN 103902562B
- Authority
- CN
- China
- Prior art keywords
- traffic table
- traffic
- version
- information
- table information
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了终端数据库升级方法及相关装置,用于在保留用户的操作习惯和设置的前提下,对目标应用的数据库进行有选择的更新,使得目标应用的数据库所占用的存储空间减小。本发明实施例方法包括:在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;根据所述第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表;删除所述发生改变的业务表所对应的业务表信息。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种终端数据库升级方法及相关装置。
背景技术
在终端技术高速发展当代社会,终端的应用程序的版本更新也非常快;在日常应用中,为了及时的使用到应用程序的最新功能,或为了及时的对木马、病毒、垃圾软件等不良载体进行防御,经常需要对终端中一些应用程序的版本进行升级或更新。
目前现有的应用程序的版本升级方法主要由以下两种:
现有技术一,对应用程序的旧版本的数据库进行彻底地清除,保证新版本和旧版本之间的数据不会产生冲突。该方案的有点是不用管理不同软件版本之间的升级带来的数据迁移,以及遗留数据带来的使用不匹配问题。不过,现有技术一所带来的是用户体验不佳的问题,由于应用程序的版本彻底的被更新,用户之前留下的一些操作记录和设置习惯也被完全的清楚,用户需要重新设置一些必要参数,并且,一些根据用户的操作习惯而形成的一些便捷方式的记录(如,输入法对一些常用词汇进行优先显示的记录,和登录信息的记录等)也会被清除掉了,用户又需要重新进行适应;如此,则给用户带来了较大的不便。
现有技术二,对应用程序的数据库进行维护,不同版本之间的升级,采用不同的数据迁移逻辑。安卓系统中软件开发工具包(SDK,Software Development Kit)定义了每个数据库的一个版本号,在对目标应用进行版本的更新时,安卓系统的数据库会触发一种回调方法,将旧版本中与用户操作和设置相关的数据信息完整的保留下来,并根据指定的地址对这些被保留的数据信息进行迁移。该方案的优点是在目标应用的版本进行更新的过程中,与用户操作和设置相关的数据得以保存;但是,由于版本更新是一个经常发生的操作,随着版本数量的增加,逻辑分支将变得非常庞大,工作量很大,而且不利于对数据库的维护,在旧有数据进行回调时容易出错。
发明内容
本发明实施例提供了一种终端数据库升级方法及相关装置,用于在保留用户的操作习惯和设置的前提下,对目标应用的数据库进行有选择的更新,使得目标应用的数据库所占用的存储空间减小。
本发明第一方面提供的终端数据库升级方法,包括:
在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;根据所述第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表;删除所述发生改变的业务表所对应的用户信息。
结合本发明第一方面提供的提供的终端数据库升级方法,第一可能实现的方式包括:
所述业务表信息包括:各个业务表对应的子版本号;
所述根据第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表,包括:
根据第一业务表信息和所述第二业务表信息的对比,确定业务表的子版本号发生改变的业务表。
结合本发明第一方面提供的提供的终端数据库升级方法,第二可能实现的方式包括:
所述分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息,包括:
通过应用程序编程接口API的回调函数在所述第二版本的代码信息中获取所有的第一业务表,并根据所述第一业务表中的第一业务表信息生成第二版本表,所述第二版本表中包含有所述第二版本的各个业务表对应的子版本号;
加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表,所述第一版本表中包含有所述第一版本的各个业务表对应的子版本号。
结合第二可能实现的方式,本发明第三种可实现的方式包括:所述根据第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表,包括:将所述第一版本表和第二版本表进行对比,确定业务表的子版本号发生改变的业务表。
结合本发明第一方面或第一种可以实现方式提供的方法,本发明第四种可能实现的方式包括:
所述第一业务表信息包括:所述第一版本中各个业务表对应的业务字段;
所述第二业务表信息包括:所述第二版本中各个业务表对应的业务字段;
所述根据第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表,包括:
根据所述第一业务表信息中和第二业务表信息中业务字段的对比,确定业务字段发生改变的业务表。
结合本发明第四种可以实现方式提供的方法,本发明第五种可能实现的方式包括:
所述删除发生改变的业务表对应的用户信息,包括:删除所述发生改变的业务表内发生改变的业务字段。
本发明第二方面提供的终端数据库升级装置,包括:
信息获取单元,用于在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;
对比单元,用于根据所述第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表;
信息删除单元,用于删除所述发生改变的业务表所对应的用户信息。
结合本发明第一方面提供的提供的终端数据库升级方法,第一可能实现的方式包括:所述业务表信息包括:各个业务表对应的子版本号;所述对比单元还用于根据第一业务表信息和所述第二业务表信息的对比,确定业务表的子版本号发生改变的业务表。
结合本发明第一方面提供的提供的终端数据库升级方法,第二可能实现的方式包括:
结合第二可能实现的方式,本发明第三中可实现的方式包括:所述信息获取单元包括:
第一获取模块,用于通过API的回调函数在所述第二版本的代码信息中获取所有的第一业务表,并根据所述第一业务表中的第一业务表信息生成第二版本表,所述第二版本表中包含有所述第二版本的各个业务表对应的子版本号;第二获取模块,用于加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表,所述第一版本表中包含有所述第一版本的各个业务表对应的子版本号。
结合本发明第一方面或第一种可以实现方式提供的方法,本发明第四种可能实现的方式包括:所述第一业务表信息包括:所述第一版本中各个业务表对应的业务字段;所述第二业务表信息包括:所述第二版本中各个业务表对应的业务字段;所述对比单元还用于根据所述第一业务表信息中和第二业务表信息中业务字段的对比,确定业务字段发生改变的业务表。
结合本发明第四种可以实现方式提供的方法,本发明第五种可能实现的方式包括:所述信息删除单元还用于删除所述发生改变的业务表内发生改变的业务字段。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;根据所述第一业务表信息和所述第二业务表信息的对比,确定业务字段发生改变的业务表;删除所述业务表信息发生改变的业务表对应的用户信息,使得在保留用户的操作习惯和设置的同时,可以删除原有数据库中已经发生改变的数据,从而使得目标应用的数据库所占用的存储空间减小,提高了数据存储的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例终端数据库升级方法的一个流程示意图;
图2是本发明实施例终端数据库升级方法的另一个流程示意图;
图3是本发明实施例终端数据库升级方法的另一个流程示意图;
图4是本发明实施例终端数据库升级装置的逻辑结构示意图。
具体实施方式
本发明实施例提供了一种终端数据库升级方法及相关装置,用于在保留用户的操作习惯和设置的前提下,对目标应用的数据库进行有选择的更新,使得目标应用的数据库所占用的存储空间减小。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中终端数据库升级方法的一个实施例包括:
101、对目标应用进行版本更新;
终端对目标应用进行版本更新,由第一版本更新为的第二版本。
在进行版本更新的过程中,需要先将新版本安装包的内容写入终端的存储器中,生成新本版本对应的各个业务表,然后删除终端的数据库中旧版本的不必要的数据信息;本发明实施例发生在“生成新本版本对应的各个业务表”之后,“然后删除终端的数据库中旧版本的不必要的数据信息”之前。
可以理解的是,在本发明实施例中的第一版本是相对于第二版本而言的,即第一版本仅表示所述目标应用在本次更新之前的一个版本,而第二版本则为所述目标应用本次所要更新的版本;其中,“第一”和“第二”与目标应用的版本型号之间没有任何关系,仅用于区别本次更新前后的两个版本。
102、分别获取所述目标应用在更新前后的两个版本所分别对应的业务表信息;
在目标应用进行版本更新之时,终端数据库升级装置分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息。
第一业务表信息(或第二业务表信息)可以包括:各个业务表对应的子版本号,或各个业务表对应的业务字段。所述业务字段记录了用户的操作或设置记录。
在实际应用中,目标应用对应的数据库中会保存有业务表,所述业务表用于存储目标应用中各种操作或功能所对应的业务表信息;因此,该业务表中也会存储有与用户操作相关的一些业务表信息;在实际应用中,这种业务表会有多个,分别对应目标应用的不同操作或功能;而本发明实施例中第一业务表(或第二业务表)是对数据库中各个业务表的一个统称。
103、将所述第一业务表信息和所述第二业务表信息进行对比;
终端数据库升级装置将所述第一业务表信息和所述第二业务表信息进行对比,并根据所述对比结果确定业务表信息发生改变的业务表。
在实际应用中,目标应用的版本更新伴随的是目标应用中的功能更新,其中,由于目标应用的不同功能会有相对应的业务表,因此,目标应用中的某些功能的更新会带来业务表中业务表信息的改变;本发明实施例中一个的重要的目的是为了找出业务表信息发生变化的业务表。
示例性的,第一版本表信息中包括有业务表一、业务表二和业务表三,以及各个业务表对应的业务字段或子版本号;第二版本表信息中包括有业务表一、业务表二和业务表三,以及各个业务表对应的业务字段或子版本号;在对比时发现,第一版本表信息中业务表二的业务字段或子版本号与第二版本表信息中业务表二的业务字段或子版本号不一样,则业务表二为所述业务表信息发生改变的业务表。
104、删除所述发生改变的业务表对应的用户信息。
终端数据库升级装置删除所述发生改变的业务表对应的用户信息;其中,业务表内包含有多种的业务表信息,在本发明实施例中,可以选择对该业务表进行清空(即所有的业务表信息都进行删除),或仅删除业务表信息中发生变化的部分;具体的删除方式可以根据实际需求(目标开销的大小、终端的处理能力等)而定,此处不作限定。
所述用户信息为业务表中记录的与用户的操作或设置相关的信息,所述用户信息可以表现为业务字段。
在实际进行版本更新时,生成新本版本对应的各个业务表之后,会将旧版本中对应业务表的用户信息拷贝至新的各个业务表中,而本发明实施例在进行该拷贝操作之前,会删除发生改变的业务表所对应的用户信息;或,完成该拷贝操作之后,会删除用户信息拷贝至第二业务表后,业务表信息发生改变的业务表所对应的用户信息,以避免存储一些已经无效的数据。
示例性的,假设目标应用为浏览器,版本更新后,将浏览器中的文字搜索功能更新为语音搜索功能;则相对于新版本,旧版本数据库中关于搜索功能的业务表的业务表信息会发生改变,则关于搜索功能的业务表中文字搜索记录的用户信息将会被删除。
在本发明实施例中,在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;根据所述第一业务表信息和所述第二业务表信息的对比,确定业务字段发生改变的业务表;删除所述业务表信息发生改变的业务表对应的用户信息,使得在保留用户的操作习惯和设置的同时,可以删除原有数据库中已经发生改变的数据,从而使得目标应用的数据库所占用的存储空间减小,提高了数据存储的效率。
在实际应用中,目标应用新版本的开发人员可以对现有的业务表进行改进,增加便于区分业务表信息发生改变的信息,使得终端可以迅速的找到业务表信息发生改变的业务表,具体请参阅图2,本发明实施例中终端数据库升级方法的另一个实施例包括:
201、对目标应用进行版本更新;
终端对目标应用进行版本更新,由第一版本更新为的第二版本。
可以理解的是,在本发明实施例中的第一版本是相对于第二版本而言的,即第一版本仅表示所述目标应用在本次更新之前的一个版本,而第二版本则为所述目标应用本次所要更新的版本;其中,“第一”和“第二”与目标应用的版本型号之间没有任何关系,仅用于区别本次更新前后的两个版本。
202、通过应用程序编程接口的回调函数在所述第二版本的代码信息中获取所有的第一业务表;
终端数据库升级装置通过应用程序编程接口(API,Application ProgrammingInterface)的回调函数在所述第二版本的代码信息中获取所有的第一业务表,并根据所述第一业务表中的第一业务表信息生成第二版本表,所述第二版本表中包含有所述第二版本的各个业务表对应的子版本号。
在实际应用中,目标应用新版本的开发人员可以清楚的获知具体哪个业务表中的业务字段发生改变,因此,在开发时对现有的业务表进行改进,在业务表中加入各个业务表对应的子版本号,这些子版本号也属于业务表信息;使得在终端更新,进行新旧版本间信息的对比时,无需逐个业务字段进行对比(业务字段的数量庞大,逐个对比对产生较大的运算开销),可以提高终端进行目标应用的版本更新的效率。
具体的,回调函数就是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,就称此函数为回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
203、加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表;
终端数据库升级装置加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表,所述第一版本表中包含有所述第一版本的各个业务表对应的子版本号。
可以理解的是,上述步骤202和203没有严格的时序关系,即可以先执行步骤203,这两个步骤的作用在于分别获取所述目标应用在更新前后的两个版本所分别对应的业务表信息。
204、将所述第一版本表和第二版本表进行对比;
终端数据库升级装置将所述第一版本表和第二版本表进行对比,确定业务表的子版本号发生改变的业务表。
在本发明实施例中,无需进行业务表对比,而直接进行版本表的对比,版本表中仅包含有业务表对应的子版本号,因此,版本表的对比比业务表的对比更加节省终端的运算开销,可以进一步提高终端进行目标应用的版本更新的效率。
205、删除所述发生改变的业务表对应的用户信息。
终端数据库升级装置删除所述发生改变的业务表对应的用户信息;在本发明实施例中,由于无需进行业务表的对比,也就无法分辨出具体哪些业务字段发生了改变,因此,可以采用该业务表进行清空的方式删除所述发生改变的业务表对应的用户信息。
在本发明实施例中,在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;根据所述第一业务表信息和所述第二业务表信息的对比,确定业务字段发生改变的业务表;删除所述业务表信息发生改变的业务表对应的用户信息,使得在保留用户的操作习惯和设置的同时,可以删除原有数据库中已经发生改变的数据,从而使得目标应用的数据库所占用的存储空间减小,提高了数据存储的效率。
上面仅以一些例子对本发明实施例中的应用场景进行了说明,可以理解的是,在实际应用中,还可以有更多的应用场景,具体此处不作限定。
在实际应用中,针对业务字段的删除可以更加有效的保留对用户有用的操作和设置信息,请参阅图3,本发明实施例中终端数据库升级方法的另一个实施例包括:
301、对目标应用进行版本更新;
终端对目标应用进行版本更新,由第一版本更新为的第二版本。
可以理解的是,在本发明实施例中的第一版本是相对于第二版本而言的,即第一版本仅表示所述目标应用在本次更新之前的一个版本,而第二版本则为所述目标应用本次所要更新的版本;其中,“第一”和“第二”与目标应用的版本型号之间没有任何关系,仅用于区别本次更新前后的两个版本。
302、分别获取所述目标应用在更新前后的两个版本所分别对应的业务表信息;
在目标应用进行版本更新之时,终端数据库升级装置分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息。
在实际应用中,目标应用对应的数据库中会保存有业务表,所述业务表用于存储目标应用中各种操作或功能所对应的业务字段;因此,该业务表中也会存储有与用户操作相关的一些业务字段;一般的,这种业务表会有多个,分别对应目标应用的不同操作或功能。所述业务字段记录了用户的操作或设置记录。
303、将所述第一业务表和所述第二业务表中的业务字段进行对比;
所述第一业务表信息包括:所述第一版本中各个业务表对应的业务字段;
所述第二业务表信息包括:所述第二版本中各个业务表对应的业务字段;
终端数据库升级装置根据所述第一业务表信息中和第二业务表信息中业务字段的对比,确定业务字段发生改变的业务表。
304、删除所述发生改变的业务表内发生改变的业务字段。
终端数据库升级装置删除所述发生改变的业务表内发生改变的业务字段。针对业务字段的删除可以更加有效的保留对用户有用的操作和设置信息,更加便于用户的操作,提高用户体验。
在本发明实施例中,在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;根据所述第一业务表信息和所述第二业务表信息的对比,确定业务字段发生改变的业务表;删除所述业务表信息发生改变的业务表对应的用户信息,使得在保留用户的操作习惯和设置的同时,可以删除原有数据库中已经发生改变的数据,从而使得目标应用的数据库所占用的存储空间减小,提高了数据存储的效率。
下面对用于执行上述应用实现方法的本发明应用实现装置的实施例进行说明,其逻辑结构请参考图4,本发明实施例中的应用实现装置一个实施例包括:
信息获取单元401,用于在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;
对比单元402,用于根据所述第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表;
信息删除单元403,用于删除所述发生改变的业务表所对应的用户信息。
可选的,所述业务表信息包括:各个业务表对应的子版本号;
所述对比单元402还用于根据第一业务表信息和所述第二业务表信息的
可选的,所述信息获取单元401包括:
第一获取模块4011,用于通过API的回调函数在所述第二版本的代码信息中获取所有的第一业务表,并根据所述第一业务表中的第一业务表信息生成第二版本表,所述第二版本表中包含有所述第二版本的各个业务表对应的子版本号;
第二获取模块4012,用于加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表,所述第一版本表中包含有所述第一版本的各个业务表对应的子版本号。
可选的,所述对比单元402还用于将所述第一版本表和第二版本表进行对比,确定业务表的子版本号发生改变的业务表。
可选的,所述第一业务表信息包括:所述第一版本中各个业务表对应的业务字段;所述第二业务表信息包括:所述第二版本中各个业务表对应的业务字段;
所述对比单元402还用于根据所述第一业务表信息中和第二业务表信息中业务字段的对比,确定业务字段发生改变的业务表。
可选的,所述信息删除单元403还用于删除所述发生改变的业务表内发生改变的业务字段。
本发明实施例中各个单元的具体操作包括:
终端对目标应用进行版本更新,由第一版本更新为的第二版本。
在进行版本更新的过程中,需要先将新版本安装包的内容写入终端的存储器中,生成新本版本对应的各个业务表,然后删除终端的数据库中旧版本的不必要的数据信息;本发明实施例发生在“生成新本版本对应的各个业务表”之后,“然后删除终端的数据库中旧版本的不必要的数据信息”之前。
在目标应用进行版本更新之时,信息获取单元401分别获取所述目标应用在更新前后的两个版本所分别对应的业务表信息;
第一业务表信息(或第二业务表信息)可以包括:各个业务表对应的子版本号,或各个业务表对应的业务字段。所述业务字段记录了用户的操作或设置记录。
可以理解的是,在本发明实施例中的第一版本是相对于第二版本而言的,即第一版本仅表示所述目标应用在本次更新之前的一个版本,而第二版本则为所述目标应用本次所要更新的版本;其中,“第一”和“第二”与目标应用的版本型号之间没有任何关系,仅用于区别本次更新前后的两个版本。
在实际应用中,目标应用对应的数据库中会保存有业务表,所述业务表用于存储目标应用中各种操作或功能所对应的业务表信息;因此,该业务表中也会存储有与用户操作相关的一些业务表信息;在实际应用中,这种业务表会有多个,分别对应目标应用的不同操作或功能;而本发明实施例中第一业务表(或第二业务表)是对数据库中各个业务表的一个统称。
信息删除单元403将所述第一业务表信息和所述第二业务表信息进行对比,并根据所述对比结果确定业务表信息发生改变的业务表。
在实际应用中,目标应用的版本更新伴随的是目标应用中的功能更新,其中,由于目标应用的不同功能会有相对应的业务表,因此,目标应用中的某些功能的更新会带来业务表中业务表信息的改变;本发明实施例中一个的重要的目的是为了找出业务表信息发生变化的业务表。
示例性的,第一版本表信息中包括有业务表一、业务表二和业务表三,以及各个业务表对应的业务字段或子版本号;第二版本表信息中包括有业务表一、业务表二和业务表三,以及各个业务表对应的业务字段或子版本号;在对比时发现,第一版本表信息中业务表二的业务字段或子版本号与第二版本表信息中业务表二的业务字段或子版本号不一样,则业务表二为所述业务表信息发生改变的业务表。
信息删除单元403删除所述发生改变的业务表对应的用户信息;其中,业务表内包含有多种的业务表信息,在本发明实施例中,可以选择对该业务表进行清空(即所有的业务表信息都进行删除),或仅删除业务表信息中发生变化的部分;具体的删除方式可以根据实际需求(目标开销的大小、终端的处理能力等)而定,此处不作限定。
所述用户信息为业务表中记录的与用户的操作或设置相关的信息,所述用户信息可以表现为业务字段。
在实际进行版本更新时,生成新本版本对应的各个业务表之后,会将旧版本中对应业务表的用户信息拷贝至新的各个业务表中,而本发明实施例在进行该拷贝操作之前,会删除发生改变的业务表所对应的用户信息;或,完成该拷贝操作之后,会删除用户信息拷贝至第二业务表后,业务表信息发生改变的业务表所对应的用户信息,以避免存储一些已经无效的数据。
示例性的,假设目标应用为浏览器,版本更新后,将浏览器中的文字搜索功能更新为语音搜索功能;则相对于新版本,旧版本数据库中关于搜索功能的业务表的业务表信息会发生改变,则关于搜索功能的业务表中文字搜索记录的用户信息将会被删除。
可选的,可以由第一获取模块4011通过应用程序编程接口(API,ApplicationProgramming Interface)的回调函数在所述第二版本的代码信息中获取所有的第一业务表,并根据所述第一业务表中的第一业务表信息生成第二版本表,所述第二版本表中包含有所述第二版本的各个业务表对应的子版本号。
在实际应用中,目标应用新版本的开发人员可以清楚的获知具体哪个业务表中的业务字段发生改变,因此,在开发时对现有的业务表进行改进,在业务表中加入各个业务表对应的子版本号,这些子版本号也属于业务表信息;使得在终端更新,进行新旧版本间信息的对比时,无需逐个业务字段进行对比(业务字段的数量庞大,逐个对比对产生较大的运算开销),可以提高终端进行目标应用的版本更新的效率。
具体的,回调函数就是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,就称此函数为回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
进一步的,再由第二获取模块4012加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表,所述第一版本表中包含有所述第一版本的各个业务表对应的子版本号。
可选的,对比单元402还可以将所述第一版本表和第二版本表进行对比,确定业务表的子版本号发生改变的业务表。
在本发明实施例中,无需进行业务表对比,而直接进行版本表的对比,版本表中仅包含有业务表对应的子版本号,因此,版本表的对比比业务表的对比更加节省终端的运算开销,可以进一步提高终端进行目标应用的版本更新的效率。
相应的,信息删除单元403删除所述发生改变的业务表对应的用户信息;在本发明实施例中,由于无需进行业务表的对比,也就无法分辨出具体哪些业务字段发生了改变,因此,可以采用该业务表进行清空的方式删除所述发生改变的业务表对应的用户信息。
可选的,所述第一业务表信息包括:所述第一版本中各个业务表对应的业务字段;所述第二业务表信息包括:所述第二版本中各个业务表对应的业务字段;对比单元402还可以根据所述第一业务表信息中和第二业务表信息中业务字段的对比,确定业务字段发生改变的业务表。
相应的,信息删除单元403删除所述发生改变的业务表内发生改变的业务字段。针对业务字段的删除可以更加有效的保留对用户有用的操作和设置信息,更加便于用户的操作,提高用户体验。
在本发明实施例中,在目标应用进行版本更新之时,分别获取所述目标应用在更新前的第一版本对应的第一业务表信息和更新后的第二版本对应的第二业务表信息;根据所述第一业务表信息和所述第二业务表信息的对比,确定业务字段发生改变的业务表;删除所述业务表信息发生改变的业务表对应的用户信息,使得在保留用户的操作习惯和设置的同时,可以删除原有数据库中已经发生改变的数据,从而使得目标应用的数据库所占用的存储空间减小,提高了数据存储的效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种终端数据库升级方法,其特征在于,包括:
在目标应用进行版本更新之时,通过应用程序编程接口API的回调函数在所述第二版本的代码信息中获取所有的第一业务表,并根据所述第一业务表中的第一业务表信息生成第二版本表,所述第二版本表中包含有所述第二版本的各个业务表对应的子版本号;
加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表,所述第一版本表中包含有所述第一版本的各个业务表对应的子版本号;
根据所述第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表;
从所述发生改变的业务表中删除记录的用户信息。
2.根据权利要求1所述的方法,其特征在于,
所述业务表信息包括:各个业务表对应的子版本号;
所述根据第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表,包括:
根据第一业务表信息和所述第二业务表信息的对比,确定业务表的子版本号发生改变的业务表。
3.根据权利要求1所述的方法,其特征在于,所述根据第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表,包括:
将所述第一版本表和第二版本表进行对比,确定业务表的子版本号发生改变的业务表。
4.根据权利要求1或2所述的方法,其特征在于,
所述第一业务表信息包括:所述第一版本中各个业务表对应的业务字段;
所述第二业务表信息包括:所述第二版本中各个业务表对应的业务字段;
所述根据第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表,包括:
根据所述第一业务表信息中和第二业务表信息中业务字段的对比,确定业务字段发生改变的业务表。
5.根据权利要求4所述的方法,其特征在于,所述从所述发生改变的业务表中删除记录的用户信息,包括:
删除所述发生改变的业务表内发生改变的业务字段。
6.一种终端数据库升级装置,其特征在于,包括:
信息获取单元,包括:第一获取模块和第二获取模块;
所述第一获取模块,用于在目标应用进行版本更新之时,通过API的回调函数在所述第二版本的代码信息中获取所有的第一业务表,并根据所述第一业务表中的第一业务表信息生成第二版本表,所述第二版本表中包含有所述第二版本的各个业务表对应的子版本号;
所述第二获取模块,用于加载所述目标版本的数据库中包含有所述第一业务表信息的第一版本表,所述第一版本表中包含有所述第一版本的各个业务表对应的子版本号;
对比单元,用于根据所述第一业务表信息和所述第二业务表信息的对比,确定业务表信息发生改变的业务表;
信息删除单元,用于从所述发生改变的业务表中删除记录的用户信息。
7.根据权利要求6所述的装置,其特征在于,所述业务表信息包括:各个业务表对应的子版本号;
所述对比单元还用于根据第一业务表信息和所述第二业务表信息的对比,确定业务表的子版本号发生改变的业务表。
8.根据权利要求6所述的装置,其特征在于,所述对比单元还用于将所述第一版本表和第二版本表进行对比,确定业务表的子版本号发生改变的业务表。
9.根据权利要求6或7所述的装置,其特征在于,
所述第一业务表信息包括:所述第一版本中各个业务表对应的业务字段;
所述第二业务表信息包括:所述第二版本中各个业务表对应的业务字段;
所述对比单元还用于根据所述第一业务表信息中和第二业务表信息中业务字段的对比,确定业务字段发生改变的业务表。
10.根据权利要求9所述的装置,其特征在于,所述信息删除单元还用于删除所述发生改变的业务表内发生改变的业务字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210575975.8A CN103902562B (zh) | 2012-12-26 | 2012-12-26 | 一种终端数据库升级方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210575975.8A CN103902562B (zh) | 2012-12-26 | 2012-12-26 | 一种终端数据库升级方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902562A CN103902562A (zh) | 2014-07-02 |
CN103902562B true CN103902562B (zh) | 2017-11-10 |
Family
ID=50993890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210575975.8A Active CN103902562B (zh) | 2012-12-26 | 2012-12-26 | 一种终端数据库升级方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902562B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990974B (zh) * | 2016-01-21 | 2020-08-18 | 菜鸟智能物流控股有限公司 | 一种app应用更新方法、装置及电子设备 |
CN106383731B (zh) * | 2016-09-14 | 2019-08-27 | Oppo广东移动通信有限公司 | 一种数据迁移方法及移动终端 |
CN106484893B (zh) * | 2016-10-20 | 2019-08-09 | 青岛海信电器股份有限公司 | 机型批量整改中的差异数据查找方法及装置 |
CN106899574A (zh) * | 2017-01-13 | 2017-06-27 | 努比亚技术有限公司 | 应用程序登录方法及终端 |
CN109168046A (zh) * | 2018-10-26 | 2019-01-08 | 四川长虹电器股份有限公司 | 广告数据更新系统 |
CN112817931B (zh) * | 2019-11-18 | 2024-03-29 | 大唐移动通信设备有限公司 | 一种增量版本文件的生成方法及装置 |
CN111506592B (zh) * | 2020-04-21 | 2023-12-26 | 腾讯云计算(长沙)有限责任公司 | 一种数据库的升级方法和装置 |
CN115643338B (zh) * | 2022-12-01 | 2023-08-22 | 荣耀终端有限公司 | 一种参数更新方法及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830995A (zh) * | 2012-08-03 | 2012-12-19 | 广东欧珀移动通信有限公司 | 一种保留用户数据的Android平台软件升级方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101063577B1 (ko) * | 2004-10-01 | 2011-09-07 | 주식회사 케이티 | 대용량데이터베이스의 스키마 및 저장프로시저 실시간관리시스템 및 방법 |
JP2010198155A (ja) * | 2009-02-24 | 2010-09-09 | Fujitsu Ten Ltd | プログラム更新装置、プログラム更新方法、及び情報処理装置 |
CN102833686A (zh) * | 2012-07-13 | 2012-12-19 | 中广传播集团有限公司 | 一种终端软件空中升级与加载方法 |
-
2012
- 2012-12-26 CN CN201210575975.8A patent/CN103902562B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830995A (zh) * | 2012-08-03 | 2012-12-19 | 广东欧珀移动通信有限公司 | 一种保留用户数据的Android平台软件升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103902562A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902562B (zh) | 一种终端数据库升级方法及相关装置 | |
CN103229144B (zh) | 预热软件安装 | |
CN105677250B (zh) | 对象存储系统中的对象数据的更新方法和更新装置 | |
CN103186391B (zh) | 浏览器升级方法和系统以及一种升级服务器 | |
CN104021145B (zh) | 一种混合业务并发访问的方法和装置 | |
CN108509209A (zh) | 一种资源包的生成方法、装置、计算机设备及存储介质 | |
CN104699423B (zh) | Linux系统中绑定盘符的方法和装置 | |
CN107908472A (zh) | 数据同步装置、方法及计算机可读存储介质 | |
CN103942067B (zh) | 智能设备自动清理软件安装包文件的方法及装置 | |
CN104137134B (zh) | 用于云服务的对维护成本敏感的记账 | |
CN104601683B (zh) | 一种文件下载管理方法以及移动终端和通信系统 | |
CN102567053A (zh) | 一种软件版本回退的方法及装置 | |
CN103646218A (zh) | 数据访问权限和行为权限的定义装置和定义方法 | |
CN103051652B (zh) | 一种移动终端云计算发布平台 | |
CN107656729A (zh) | 列表视图的更新装置、方法及计算机可读存储介质 | |
CN101211265A (zh) | 一种终端嵌入式系统的软件更新方法和装置 | |
CN100545845C (zh) | 一种针对电信智能卡实现任意目录应用管理的方法 | |
CN108270626A (zh) | 一种升级服务器固件的方法、装置、设备及可读存储介质 | |
CN108536745A (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN104657164B (zh) | 软件升级处理方法和装置 | |
CN103946794A (zh) | 数据特征的滚动升级的系统和方法 | |
CN106648569A (zh) | 目标序列化实现方法和装置 | |
CN102331945A (zh) | 基于电子商店的应用程序管理方法 | |
CN108108169A (zh) | 一种基于Jenkins的多分支的构建方法及系统 | |
CN102760075A (zh) | 一种实现智能卡应用部署的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211018 Address after: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 518031 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2 Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |