终端及多派生项目的数据处理方法和存储介质与流程

文档序号:11177414阅读:635来源:国知局
本发明涉及电子设备
技术领域
:,尤其涉及终端及多派生项目的数据处理方法和存储介质。
背景技术
::在实际生产中,当一个项目完成后,可能会存在多个派生项目。这常常是由于产品本身的成本要求或者客户的不同需求导致的。以目前的某项目为例,其派生项目达到200多个,随着时间的推移甚至会更多。派生项目与基础项目相比,其可能是屏,电源,功放等器件不一样,以及由此导致的可能的软件的功能要求不一样,也可能是客户要求的画质需求不一样等等,但基本上总是存在不大不小的一些差异。在生产中,如果每个项目都使用一个独立的软件,则会造成项目的软件过多,很难管理的问题,一旦某次生产过程中,出现软件升级错误,就需要全部升级,这个过程可能是几百台机器,也可能是几万台机器。会造成大量的人力,物力等成本。为了方便生产,在实际生产中,都是要求用同一版软件去适配所以的派生项目。在生产过程中或完成后,通过切换不同的项目号来达到区分项目的目的。在软件设计上,基本软件都遵循过程与数据分离的设计原则,将系统中可能用到的数据及可能改变的参数作为可变数据使用,在软件中需要这些数据时,从相关的文件中读取,在有改变时,再写入相应的问题。这也是当前软件设计的主流思想。绝大多数情况下,系统软件都是从文件读取相关数据。遵循这种设计的软件系统在适配上述生产要求时,除在软件设计流程上需要做一些改变外,基本上都能适配。但除其他一些细节的处理之外,一个都无法避免的就是对数据文件的处理。一般的处理思路是,在软件编译时打包所有的项目数据文件,在系统启动时,根据项目的信息,导入不同的数据文件。这种看上去没有任何问题的方法,存在的着一个致命的缺陷,与pc系统相比,嵌入式系统的一个缺点就是其存储空间是有限的,在产品生产时,就已经确定了其系统存储空间的大小,系统中各个分区的使用大小。,随着派生项目越来越多,加入软件包中的系统软件也变得越来越大,这个终究会将数据文件的存储分区用完!导致系统瘫痪。以当前的一个项目为例:其一个项目数据文件的大小为1.6-2m,100个派生项目及意味着要1600m的存储空间,而这在实际项目中是不可能仅为系统数据存储就提供这么多空间的对这种问题的处理,一种简单,直接的方法就是,将数据文件压缩,这些数据文件经过压缩后,大概可以到400k,但是一个100个派生项目所需要的存储空间也需要40m,而已当前的某个项目为例,其派生项目已经达到200个,其所需的空间意味着需要80m,这已经超出了系统所能允许的空间的大小。或者说这种方法仍是浪费大量系统的存储空间的,不符合嵌入式系统设计的目标。另一种方法是逐个分析系统中的数据,人为分析系统中的哪些值可能是所有项目都不会用到的,然后写入代码。但是这种方法有更明显的缺点,首先工作量极大,以当前某个项目为例,其中涉及到的数据达5.6万个,这种分析可能要花数个月的时间,更重要的是,根本无法预测哪些值可能是所有的项目都不会改动的,并且当某个项目有新的需求时,这种回溯的工作可能是根本不可能完成的任务。综上,目前项目数据库的建立数据量大,不便于维护,且占用系统内存,导致系统计算量大,运算速度慢,影响使用。上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。技术实现要素:本发明的主要目的在于提供一种终端及多派生项目的数据处理方法和计算机可读存储介质,旨在解决目前项目数据库的建立数据量大,不便于维护,且占用系统内存,导致系统计算量大,运算速度慢,影响使用的技术问题。为实现上述目的,本发明提供一种多派生项目的数据处理方法,所述多派生项目的数据处理方法包括以下步骤:在派生出新项目时,创建所述新项目对应的项目数据库;根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件;将所述差分数据库和所述差分记录文件打包压缩后存储于预设位置。优选地,所述在派生出新项目时,创建所述新项目对应的项目数据库的步骤之前,还包括:根据初始项目设计与所述初始项目对应的数据库表;在数据库表设计完成后,设置数据库表内数据项;根据所述数据库表和数据库表内数据项生成基础数据库。优选地,所述根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件的步骤包括:逐个提取项目数据库中的数据表及基础项目数据库中对应的数据表;根据基础项目数据库中对应的数据表对项目数据库中对应的数据表的每一条数据记录做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件。优选地,所述根据基础项目数据库中对应的数据表对项目数据库中对应的数据表的每一条数据记录做差分处理的步骤包括:检查在基础数据库中对应的数据表中是否存在预设数据记录;若存在,则判断所述基础数据库中的所有数据项均与所述预设数据记录相同;若相同,则在项目数据库中删除所述预设数据记录;检查在基础数据库中对应的数据表是否存在预设项的数据记录;在所述预设项的数据记录除最后一项之外的所有数据项都与所述预设项的数据记录相同,则在项目差分记录文件对应的项目记录下加1。优选地,所述检查在基础数据库中对应的数据表是否存在预设项的数据记录的步骤之后,还包括:若所述预设项的数据记录除最后一项之外的所有数据项都不与所述预设项的数据记录相同,检查项目数据库是否新增了数据记录;若是,则更新项目数据库;若否,报错。此外,为实现上述目的,本发明还提供一种终端,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多派生项目的数据处理程序,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:在派生出新项目时,创建所述新项目对应的项目数据库;根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件;将所述差分数据库和所述差分记录文件打包压缩后存储于预设位置。优选地,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:根据初始项目设计与所述初始项目对应的数据库表;在数据库表设计完成后,设置数据库表内数据项;根据所述数据库表和数据库表内数据项生成基础数据库。优选地,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:逐个提取项目数据库中的数据表及基础项目数据库中对应的数据表;根据基础项目数据库中对应的数据表对项目数据库中对应的数据表的每一条数据记录做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件。优选地,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:检查在基础数据库中对应的数据表中是否存在预设数据记录;若存在,则判断所述基础数据库中的所有数据项均与所述预设数据记录相同;若相同,则在项目数据库中删除所述预设数据记录;检查在基础数据库中对应的数据表是否存在预设项的数据记录;在所述预设项的数据记录除最后一项之外的所有数据项都与所述预设项的数据记录相同,则在项目差分记录文件对应的项目记录下加1;若所述预设项的数据记录除最后一项之外的所有数据项都不与所述预设项的数据记录相同,检查项目数据库是否新增了数据记录;若是,则更新项目数据库;若否,报错。此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有多派生项目的数据处理程序,所述多派生项目的数据处理程序被处理器执行时实现如上所述的多派生项目的数据处理方法的步骤。本发明通过先生成项目基础数据库,在新派生出项目时,根据基础数据库创建派生项目数据库,再对基础数据库和项目数据库做差分处理,而得到差分数据库和差分记录文件,对于新派生出的项目只保存相对于基础数据库的差分数据库和差分记录文件。无需全部保存项目所需的所有数据,减少了数据量,减少占用的存储空间,便于维护,减少计算量,提高运行速度便于使用。附图说明图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;图2为本发明多派生项目的数据处理方法一实施例的流程示意图;图3为本发明一实施例中创建基础数据库的流程示意图;图4为本发明一实施例中根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件的流程示意图;图5为本发明一实施例中对数据记录差分处理的流程示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例的主要解决方案是:在派生出新项目时,创建所述新项目对应的项目数据库;根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件;将所述差分数据库和所述差分记录文件打包压缩后存储于预设位置。由于目前项目数据库的建立数据量大,不便于维护,且占用系统内存,导致系统计算量大,运算速度慢,影响使用的技术问题。本发明提供一种解决方案,通过先生成项目基础数据库,在新派生出项目时,根据基础数据库创建派生项目数据库,再对基础数据库和项目数据库做差分处理,而得到差分数据库和差分记录文件,对于新派生出的项目只保存相对于基础数据库的差分数据库和差分记录文件。无需全部保存项目所需的所有数据,减少了数据量,减少占用的存储空间,便于维护,减少计算量,提高运行速度便于使用。如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。本发明实施例终端为实现减少派生项目数据库的数据量,减少系统计算量,提高运行速率。如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。可选地,终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器、温度传感器、霍尔曼传感器等其他传感器,在此不再赘述。本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多派生项目的数据处理应用程序。在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的多派生项目的数据处理应用程序,并执行以下操作:在派生出新项目时,创建所述新项目对应的项目数据库;根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件;将所述差分数据库和所述差分记录文件打包压缩后存储于预设位置。进一步地,处理器1001可以调用存储器1005中存储的多派生项目的数据处理应用程序,还执行以下操作:根据初始项目设计与所述初始项目对应的数据库表;在数据库表设计完成后,设置数据库表内数据项;根据所述数据库表和数据库表内数据项生成基础数据库。进一步地,处理器1001可以调用存储器1005中存储的多派生项目的数据处理应用程序,还执行以下操作:逐个提取项目数据库中的数据表及基础项目数据库中对应的数据表;根据基础项目数据库中对应的数据表对项目数据库中对应的数据表的每一条数据记录做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件。进一步地,处理器1001可以调用存储器1005中存储的多派生项目的数据处理应用程序,还执行以下操作:检查在基础数据库中对应的数据表中是否存在预设数据记录;若存在,则判断所述基础数据库中的所有数据项均与所述预设数据记录相同;若相同,则在项目数据库中删除所述预设数据记录;检查在基础数据库中对应的数据表是否存在预设项的数据记录;在所述预设项的数据记录除最后一项之外的所有数据项都与所述预设项的数据记录相同,则在项目差分记录文件对应的项目记录下加1。进一步地,所述检查在基础数据库中对应的数据表是否存在预设项的数据记录的步骤之后,处理器1001可以调用存储器1005中存储的多派生项目的数据处理应用程序,还执行以下操作:多派生项目的数据处理。参照图2,本发明的第一实施例提供一种多派生项目的数据处理方法,所述多派生项目的数据处理方法包括:步骤s10,在派生出新项目时,创建所述新项目对应的项目数据库;在本发明的一实施例中,提前设置一个符合规则的数据存储数据库,所述规则为,a,数据库由若干个表构成;b、不同表之间的数据尽量低耦合性,表内的数据具有高内聚性;c、所有数据中,能分项存储的尽量分项存储;d、表中一条数据记录中最多只有一个数据时可变的;e、表中包含标识数据项。所述数据库,数据表是符合计算机系统中的一种数据存储格式;所述数据记录,是指存储在数据库中的数据表中的一行数据;所述数据项,是指数据表中的一行数据对应的列组成;所述标识数据项,是包含读写权限的标识数据项,该数据项仅由两种可能:数据只读和数据可读写。在形成项目或者派生出新项目之前,预先创建基础数据库,参考图3,所述创建基础数据库的过程包括:步骤s11,根据初始项目设计与所述初始项目对应的数据库表;步骤s12,在数据库表设计完成后,设置数据库表内数据项;步骤s13,根据所述数据库表和数据库表内数据项生成基础数据库。生成符合规则的基础数据库和项目数据库,所述符合规则,是以下两个规则,a1、基础数据库应包含所有数据记录,其基于的假设是:一个基础数据库所含的数据记录越多,则其差分数据库就越小;a2、任何一个派生项目都需要一个项目数据库。当然这里的基础数据库也需要满足上述的a至e的规则。在项目开始时,首先创建一个基础数据库,根据实际情况,逐个设计数据库表,设计时需满足发明前面a-e提到的设计规则,知道所有与初始项目相关数据将表都设计到数据库中。具体的,在实际项目中,数据库中需要存储用户可能调节的电视亮度,对比度,饱和度选项,这个亮度值在不同的通道下,不同的模式下,其值可能有不同。在这个例子中,首先考虑该如何划分表,使其符合不同表之间的数据尽量低耦合性,表内的数据具有高内聚性的设计原则,由于这些值在所有通道下都存在,并且都需要频繁操作,但是不同通道下的值是不会同时操作的,因此可以认为在一个通道内可能都会调到的值是高内聚的,而不同通道下的值是低耦合的。即tv通道下的亮度和对比度及饱和度是高内聚的,而tv通道和pc通道下的亮度值是低耦合的,故在这个例子中按通道为划分设计表。按照这种划分要求,系统中,存在tv_picuture_data,pc_picture_data,av_picture_data,hdmi_picture_data等表。划分表后,再考虑如何设计表内数据项,满足数据项中仅有一项数据是可变的,包含读写标志的设计原则。如下表一所示,将一个tv_picture_data的数据表设计成包含如下4项数据的结构。其中,readorwrite表示该数据记录的读写标志(只读or可读写),mode表示用户可调节模式,type表示在对应模式下可调节的数据类型,在本例中,其值为brightness,constrast,saturation.value表示对于类型的数据值。表一tv_picture_data表项readorwritemodetypevalue在该表的设计中,同时也遵循了能分项存储的尽量分项存储的设计,如果同时将tv_picture_data的数据表设计成包含如下表二的数据结构,就不符合该设计原则,因为该数据项中很多都是可以分项存储的,这种错误的设计会导致差分数据库的效果不理想。表二不符合设计原则的tv_picture_data表项readorwritemodebrightnessvalueconstrastvaluesaturationvalue根据该设计原则,可以推导出在系统设计时的两个更明确的规则:当系统中的某些数据是以bit为单位操作时,如ic中的寄存器的设置,应当按bit为单位设计数据表,如应当将系统中的类似情况设计成如下数据表表三bit数据表项readorwritebankindexitemindexbitindexbitvalue当系统中的数据可以为byte为单位操作时,应当以byte为单位设计数据表,如在系统中gammatable可能存在1024项数据,这些数据虽然在实际使用时是以1024个byte整体考虑的,但是在设计时,将其每个byte作为一个数据项表四gammatable表项readorwritegammatableindexgammaitemindexgammavlaue(rgb)基础数据库的生成:当基础数据库设计和创建生成后,按照实际项目的情况需要人工向数据库的数据表中填充数据记录。一种情况是由于某些原因,项目数据库中的数据记录增加,则按照设计原则,需要更新基础数据库,由于基础数据库是没有经过任何处理的数据库,其增加操作就是向数据库中插入一天数据记录。派生项目数据库的生成:一般情况下的做法是,在基础数据库生成后,直接复制一份基础数据库,然后重命名为对应的项目数据库,再根据实际派生项目的要求,在此基础上修改。需要注意的是,在实际项目中,生成项目数据库的过程可能会重复发生,因为会陆陆续续的有派生项目产生,而本发明要求一个派生项目就要对应一个项目数据库,而不管其差异有多少。另一种情况是,已完整的实施过本发明流程生成了相关的项目差分数据库和项目差分文件的前提下,由于某派生项目中某些需求的改变,可能需要对项目数据库再修改或更新的情况。步骤s20,根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件;在生成派生项目的项目数据库后,根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件。参考图4,所述根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件的步骤包括:步骤s21,逐个提取项目数据库中的数据表及基础项目数据库中对应的数据表;步骤s22,根据基础项目数据库中对应的数据表对项目数据库中对应的数据表的每一条数据记录做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件。需要按照如下过程对项目数据库进行如下过程,生成对应的项目差分数据库和项目差分记录文件。为了操作的方便和之后步骤的需要,在开始时,先复制一份需要操作的项目数据库。以下除特别说明之外,对项目数据库的表示都为复制之后的新产生的项目数据库。以下描述该处理流程是如何实施的:逐个提取项目数据库中的数据表和对应的基础项目数据库中的数据表针对项目数据库数据表中的每一条数据记录,进行数据差分处理流程分析完成后,项目数据库重命名为对应的项目差分数据库执行项目差分数据库的正确性校验流程,对生成的项目差分数据库,进行正确性进行校验。参考图5,对数据记录差分处理流程包括如下:步骤s201,检查在基础数据库中对应的数据表中是否存在预设数据记录;步骤s202,若存在,则判断所述基础数据库中的所有数据项均与所述预设数据记录相同;步骤s203,若相同,则在项目数据库中删除所述预设数据记录;步骤s204,检查在基础数据库中对应的数据表是否存在预设项的数据记录;步骤s205,在所述预设项的数据记录除最后一项之外的所有数据项都与所述预设项的数据记录相同,则在项目差分记录文件对应的项目记录下加1;步骤s206,若所述预设项的数据记录除最后一项之外的所有数据项都不与所述预设项的数据记录相同,检查项目数据库是否新增了数据记录;步骤s207,若是,则更新项目数据库;步骤s208,若否,报错。具体的,检查在基础数据库中对应的数据表中是否有某些数据记录,其所有的数据项都与该数据记录相同,如果是,则在项目数据库中删除该项检查在基础数据库中对应的数据表中是否有某项数据记录,其除最后一项数据项之外的所有的数据项都与该数据记录相同,如果是,则在项目差异记录文件对应的项目记录下面加1。如果以上都不是,则检查项目数据库是否新增了数据记录,如是,则执行:基础数据库与项目数据库数据不一致时的处理;在新项目的进展过程中,由于项目功能的增加,需要增加新的数据记录甚至数据表都是可以的,这个数据记录或者数据表对其他项目的数据库而言,有两种可能,第一如果某个项目也需要,则需要通过更新项目数据库模块,进入到更新流程。如果不需要的话,意味着在这个项目运行中,系统就不会调用,那么基础数据库中设什么值都是合理的。基于以上分析:更新基础数据库时,数据项填入默认值0。由于基础数据库时完整的数据,其更新较简单,只要插入相应的数据表和数据记录即可。否则执行:出错处理:可能数据库遭到损坏,需要人为分析为了对数据表的差分过程,更清晰一点,下面列举一个实际的例子说明a,b的具体判定,以表一中的数据表为例,在这个表中,前面的信源,模式,参数都是作为区分数据的标准只有当在基础数据库的对应的标准找到某条数据记录中的这4个数据都与待分析的数据记录一样时,才认为这是相同的数据记录,只有当基础数据库中找到某条数据记录其前三个数据都一样时,并且最后一个value数据不一样时,才认为是数据有差分,需要提取,否则不需要提取。项目差分记录文件记录的是项目名称和所对应的项目差分数据库以及差分数据库中数据记录的个数的任意类型文件,为了具有可读性和准确性,在本实施例中采用的xml文件记录方法记录这些数据。实际上,基础数据库本身也是一个项目的数据,所以针对作为基础数据库的项目就不需要产生项目数据库,而仅需在项目差分记录文件中记录下项目的差分数据记录数为0即可。在开始时,为了方便,复制一份基础数据库,将其重命名为项目数据库,以下除特别说明,项目数据库都是该基础数据库复制产生的一个新数据库。逐个提取差分数据库中的数据表,并按以下原则分析数据表中的所有数据记录直到全部提取完为止该原则是:如果在项目数据库中存在某条数据记录,其除最后一项外其他的其他数据项都与所提取出来的数据记录相同,则是原项目数据库中的差异数据,需将该数据写入到项目数据库中新的项目数据库就是根据差异数据库形成的项目数据库,将该数据库与原项目数据库比较,相同则是正确的,反之,则是错误的。在本实施例中,直接使用beyondcompare工具进行二进制数据比较。步骤s30,将所述差分数据库和所述差分记录文件打包压缩后存储于预设位置。在生成差分数据库和差分记录文件后,将压缩数据库和项目差分记录文件一起打包到嵌入式软件中。具体的,将系统中的基础数据库文件和m个差分数据库文件分别压缩,采用压缩工具为zip或其他,然后再和项目差分记录文件一起打包到嵌入式软件中。本实施例通过先生成项目基础数据库,在新派生出项目时,根据基础数据库创建派生项目数据库,再对基础数据库和项目数据库做差分处理,而得到差分数据库和差分记录文件,对于新派生出的项目只保存相对于基础数据库的差分数据库和差分记录文件。无需全部保存项目所需的所有数据,减少了数据量,减少占用的存储空间,便于维护,减少计算量,提高运行速度便于使用。在一实施例中,本发明还提供一种终端,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多派生项目的数据处理程序,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:在派生出新项目时,创建所述新项目对应的项目数据库;在本发明的一实施例中,提前设置一个符合规则的数据存储数据库,所述规则为,a,数据库由若干个表构成;b、不同表之间的数据尽量低耦合性,表内的数据具有高内聚性;c、所有数据中,能分项存储的尽量分项存储;d、表中一条数据记录中最多只有一个数据时可变的;e、表中包含标识数据项。所述数据库,数据表是符合计算机系统中的一种数据存储格式;所述数据记录,是指存储在数据库中的数据表中的一行数据;所述数据项,是指数据表中的一行数据对应的列组成;所述标识数据项,是包含读写权限的标识数据项,该数据项仅由两种可能:数据只读和数据可读写。在形成项目或者派生出新项目之前,预先创建基础数据库,所述创建基础数据库的过程包括:根据初始项目设计与所述初始项目对应的数据库表;在数据库表设计完成后,设置数据库表内数据项;根据所述数据库表和数据库表内数据项生成基础数据库。生成符合规则的基础数据库和项目数据库,所述符合规则,是以下两个规则,a1、基础数据库应包含所有数据记录,其基于的假设是:一个基础数据库所含的数据记录越多,则其差分数据库就越小;a2、任何一个派生项目都需要一个项目数据库。当然这里的基础数据库也需要满足上述的a至e的规则。在项目开始时,首先创建一个基础数据库,根据实际情况,逐个设计数据库表,设计时需满足发明前面a-e提到的设计规则,知道所有与初始项目相关数据将表都设计到数据库中。具体的,在实际项目中,数据库中需要存储用户可能调节的电视亮度,对比度,饱和度选项,这个亮度值在不同的通道下,不同的模式下,其值可能有不同。在这个例子中,首先考虑该如何划分表,使其符合不同表之间的数据尽量低耦合性,表内的数据具有高内聚性的设计原则,由于这些值在所有通道下都存在,并且都需要频繁操作,但是不同通道下的值是不会同时操作的,因此可以认为在一个通道内可能都会调到的值是高内聚的,而不同通道下的值是低耦合的。即tv通道下的亮度和对比度及饱和度是高内聚的,而tv通道和pc通道下的亮度值是低耦合的,故在这个例子中按通道为划分设计表。按照这种划分要求,系统中,存在tv_picuture_data,pc_picture_data,av_picture_data,hdmi_picture_data等表。划分表后,再考虑如何设计表内数据项,满足数据项中仅有一项数据是可变的,包含读写标志的设计原则。如下表一所示,将一个tv_picture_data的数据表设计成包含如下4项数据的结构。其中,readorwrite表示该数据记录的读写标志(只读or可读写),mode表示用户可调节模式,type表示在对应模式下可调节的数据类型,在本例中,其值为brightness,constrast,saturation.value表示对于类型的数据值。表一tv_picture_data表项readorwritemodetypevalue在该表的设计中,同时也遵循了能分项存储的尽量分项存储的设计,如果同时将tv_picture_data的数据表设计成包含如下表二的数据结构,就不符合该设计原则,因为该数据项中很多都是可以分项存储的,这种错误的设计会导致差分数据库的效果不理想。表二不符合设计原则的tv_picture_data表项readorwritemodebrightnessvalueconstrastvaluesaturationvalue根据该设计原则,可以推导出在系统设计时的两个更明确的规则:当系统中的某些数据是以bit为单位操作时,如ic中的寄存器的设置,应当按bit为单位设计数据表,如应当将系统中的类似情况设计成如下数据表表三bit数据表项readorwritebankindexitemindexbitindexbitvalue当系统中的数据可以为byte为单位操作时,应当以byte为单位设计数据表,如在系统中gammatable可能存在1024项数据,这些数据虽然在实际使用时是以1024个byte整体考虑的,但是在设计时,将其每个byte作为一个数据项表四gammatable表项readorwritegammatableindexgammaitemindexgammavlaue(rgb)基础数据库的生成:当基础数据库设计和创建生成后,按照实际项目的情况需要人工向数据库的数据表中填充数据记录。一种情况是由于某些原因,项目数据库中的数据记录增加,则按照设计原则,需要更新基础数据库,由于基础数据库是没有经过任何处理的数据库,其增加操作就是向数据库中插入一天数据记录。派生项目数据库的生成:一般情况下的做法是,在基础数据库生成后,直接复制一份基础数据库,然后重命名为对应的项目数据库,再根据实际派生项目的要求,在此基础上修改。需要注意的是,在实际项目中,生成项目数据库的过程可能会重复发生,因为会陆陆续续的有派生项目产生,而本发明要求一个派生项目就要对应一个项目数据库,而不管其差异有多少。另一种情况是,已完整的实施过本发明流程生成了相关的项目差分数据库和项目差分文件的前提下,由于某派生项目中某些需求的改变,可能需要对项目数据库再修改或更新的情况。根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件;在生成派生项目的项目数据库后,根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件。所述根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件的步骤包括:逐个提取项目数据库中的数据表及基础项目数据库中对应的数据表;根据基础项目数据库中对应的数据表对项目数据库中对应的数据表的每一条数据记录做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件。需要按照如下过程对项目数据库进行如下过程,生成对应的项目差分数据库和项目差分记录文件。为了操作的方便和之后步骤的需要,在开始时,先复制一份需要操作的项目数据库。以下除特别说明之外,对项目数据库的表示都为复制之后的新产生的项目数据库。以下描述该处理流程是如何实施的:逐个提取项目数据库中的数据表和对应的基础项目数据库中的数据表针对项目数据库数据表中的每一条数据记录,进行数据差分处理流程分析完成后,项目数据库重命名为对应的项目差分数据库执行项目差分数据库的正确性校验流程,对生成的项目差分数据库,进行正确性进行校验。对数据记录差分处理流程包括如下:检查在基础数据库中对应的数据表中是否存在预设数据记录;若存在,则判断所述基础数据库中的所有数据项均与所述预设数据记录相同;若相同,则在项目数据库中删除所述预设数据记录;检查在基础数据库中对应的数据表是否存在预设项的数据记录;在所述预设项的数据记录除最后一项之外的所有数据项都与所述预设项的数据记录相同,则在项目差分记录文件对应的项目记录下加1;若所述预设项的数据记录除最后一项之外的所有数据项都不与所述预设项的数据记录相同,检查项目数据库是否新增了数据记录;若是,则更新项目数据库;若否,报错。具体的,检查在基础数据库中对应的数据表中是否有某些数据记录,其所有的数据项都与该数据记录相同,如果是,则在项目数据库中删除该项检查在基础数据库中对应的数据表中是否有某项数据记录,其除最后一项数据项之外的所有的数据项都与该数据记录相同,如果是,则在项目差异记录文件对应的项目记录下面加1。如果以上都不是,则检查项目数据库是否新增了数据记录,如是,则执行:基础数据库与项目数据库数据不一致时的处理;在新项目的进展过程中,由于项目功能的增加,需要增加新的数据记录甚至数据表都是可以的,这个数据记录或者数据表对其他项目的数据库而言,有两种可能,第一如果某个项目也需要,则需要通过更新项目数据库模块,进入到更新流程。如果不需要的话,意味着在这个项目运行中,系统就不会调用,那么基础数据库中设什么值都是合理的。基于以上分析:更新基础数据库时,数据项填入默认值0。由于基础数据库时完整的数据,其更新较简单,只要插入相应的数据表和数据记录即可。否则执行:出错处理:可能数据库遭到损坏,需要人为分析为了对数据表的差分过程,更清晰一点,下面列举一个实际的例子说明a,b的具体判定,以表一中的数据表为例,在这个表中,前面的信源,模式,参数都是作为区分数据的标准只有当在基础数据库的对应的标准找到某条数据记录中的这4个数据都与待分析的数据记录一样时,才认为这是相同的数据记录,只有当基础数据库中找到某条数据记录其前三个数据都一样时,并且最后一个value数据不一样时,才认为是数据有差分,需要提取,否则不需要提取。项目差分记录文件记录的是项目名称和所对应的项目差分数据库以及差分数据库中数据记录的个数的任意类型文件,为了具有可读性和准确性,在本实施例中采用的xml文件记录方法记录这些数据。实际上,基础数据库本身也是一个项目的数据,所以针对作为基础数据库的项目就不需要产生项目数据库,而仅需在项目差分记录文件中记录下项目的差分数据记录数为0即可。在开始时,为了方便,复制一份基础数据库,将其重命名为项目数据库,以下除特别说明,项目数据库都是该基础数据库复制产生的一个新数据库。逐个提取差分数据库中的数据表,并按以下原则分析数据表中的所有数据记录直到全部提取完为止该原则是:如果在项目数据库中存在某条数据记录,其除最后一项外其他的其他数据项都与所提取出来的数据记录相同,则是原项目数据库中的差异数据,需将该数据写入到项目数据库中新的项目数据库就是根据差异数据库形成的项目数据库,将该数据库与原项目数据库比较,相同则是正确的,反之,则是错误的。在本实施例中,直接使用beyondcompare工具进行二进制数据比较。将所述差分数据库和所述差分记录文件打包压缩后存储于预设位置。在生成差分数据库和差分记录文件后,将压缩数据库和项目差分记录文件一起打包到嵌入式软件中。具体的,将系统中的基础数据库文件和m个差分数据库文件分别压缩,采用压缩工具为zip或其他,然后再和项目差分记录文件一起打包到嵌入式软件中。本实施例通过先生成项目基础数据库,在新派生出项目时,根据基础数据库创建派生项目数据库,再对基础数据库和项目数据库做差分处理,而得到差分数据库和差分记录文件,对于新派生出的项目只保存相对于基础数据库的差分数据库和差分记录文件。无需全部保存项目所需的所有数据,减少了数据量,减少占用的存储空间,便于维护,减少计算量,提高运行速度便于使用。此外,本发明实施例还提出一种存储介质,所述存储介质上存储有多派生项目的数据处理程序,所述多派生项目的数据处理程序被处理器执行时实现如下操作:在派生出新项目时,创建所述新项目对应的项目数据库;根据预先创建的基础数据库和所述项目数据库做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分记录文件;将所述差分数据库和所述差分记录文件打包压缩后存储于预设位置。进一步地,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:根据初始项目设计与所述初始项目对应的数据库表;在数据库表设计完成后,设置数据库表内数据项;根据所述数据库表和数据库表内数据项生成基础数据库。进一步地,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:逐个提取项目数据库中的数据表及基础项目数据库中对应的数据表;根据基础项目数据库中对应的数据表对项目数据库中对应的数据表的每一条数据记录做差分处理,得到所述项目数据库相对于所述基础数据库的差分数据库和差分文件。进一步地,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:检查在基础数据库中对应的数据表中是否存在预设数据记录;若存在,则判断所述基础数据库中的所有数据项均与所述预设数据记录相同;若相同,则在项目数据库中删除所述预设数据记录;检查在基础数据库中对应的数据表是否存在预设项的数据记录;在所述预设项的数据记录除最后一项之外的所有数据项都与所述预设项的数据记录相同,则在项目差分记录文件对应的项目记录下加1。进一步地,所述检查在基础数据库中对应的数据表是否存在预设项的数据记录的步骤之后,所述多派生项目的数据处理程序被所述处理器执行时实现如下步骤:若所述预设项的数据记录除最后一项之外的所有数据项都不与所述预设项的数据记录相同,检查项目数据库是否新增了数据记录;若是,则更新项目数据库;若否,报错。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,电视,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1