一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

家谱分卷方法及装置、电子设备与流程

2022-02-20 01:05:09 来源:中国专利 TAG:


1.本发明涉及家谱数据处理技术领域,具体而言,涉及一种家谱分卷方法及装置、电子设备。


背景技术:

2.相关技术中,家谱也被称为谱牒、族谱、宗谱,一份完整的家谱是一部宗族、家族史或宗族、家族百科全书,从家谱中,可以了解到该家族的历史沿革,世系繁衍,人口变迁,居地变迁,婚姻状况,家族成员事迹等,还包含该族的经济情况和丧葬、礼典、家规,家谱也正是将这些内容以书、图、志、表、史的形式记录下来,是与正史、地方志并列的文史宝库;因而,当代人们越来越重视家谱的修撰,但随着时代的发展,人们积累的家谱数据也越来越多,常见的一份家谱的中的人物总数已过万乃至更多,若将全部人物全部保存至一份家谱中给家谱的查阅带来极大不便,为方便家谱的查阅和保存。现有技术是通过人工统计家谱数据对家谱进行分卷,其工作繁琐且工作量巨大,且现有的中外家谱修建网页(如中华家谱网、找你家谱)等只提供家谱数据电子化保存、查阅等的功能,无法实现家谱的在线打印,未提供在线家谱分卷、家谱分卷等功能,降低用户使用家谱的满意度。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种家谱分卷方法及装置、电子设备,以至少解决相关技术中通过人工统计家谱数据对家谱进行分卷,工作繁琐且工作量巨大的技术问题。
5.根据本发明实施例的一个方面,提供了一种家谱分卷方法,包括:确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,所述先祖人物信息指示打印的初始人物,并将所述初始人物作为目标先祖;基于所述先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点;基于所述中间分卷节点,从所述目标先祖起始进行分卷处理,得到分卷人物信息,其中,所述分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。
6.可选地,基于所述先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点的步骤,包括:以所述目标先祖为起点,向下查询所述目标家谱的k代子节点,其中,k代子节点满足如下至少之一条件:家谱根节点至第k代子节点的总节点数处于每个待打印分卷的人数范围内、第k代子节点所包含的节点的后代节点数量处于每个待打印分卷的人数范围内、第k代子节点所有后代数大于分卷数量时,以第k代子节点为根节点的所有后代节点数量分布差值大于预设分布阈值;将k代子节点作为所述中间分卷节点,并以第k代子节点对应的家谱人物作为下一分卷的起始人物。
7.可选地,在基于所述先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,所述家谱分卷方法还包括:获取符合目标家谱整卷打印的根节点数最多的当前代数;判断当前代数对应的整卷输出根节点个数是否超过总节点个数的预设比例值;若未
超过,则查找目标家谱中符合整卷输出根节点数最多的前n个代数,并计算前n个代数中每代子节点的后代总个数的方差;查询前n个代数中方差最大的代数;返回方差最大的代数所对应的节点结果数组值。
8.可选地,在基于所述先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,所述家谱分卷方法还包括:判断以所述中间分卷节点进行分卷处理后分卷总数是否超过预设分卷数量阈值;若分卷总数未超过预设分卷数量阈值,创建新家谱分卷,并将当前根节点保存至所述新家谱分卷中;添加所述新家谱分卷至初始分卷结果中。
9.可选地,在添加所述新家谱分卷至初始分卷结果中之后,所述家谱分卷方法还包括:遍历第k代子节点的所有节点,并将遍历结果添加至初始分卷结果中;若当前节点满足整卷输出要求,从已设分卷中查找与所述当前节点匹配的家谱分卷;将当前节点添加至匹配的家谱分卷中,并更新所述初始分卷结果。
10.可选地,从已设分卷中查找与所述当前节点匹配的家谱分卷的步骤,包括:查找所述当前节点的父节点所在的家谱分卷;判断所述当前节点的父节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;若所述当前节点的父节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将父节点所在的家谱分卷作为当前节点的家谱分卷;若所述当前节点的父节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则查找所述当前节点的兄弟节点所在的家谱分卷;判断所述当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;若所述当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将兄弟节点所在的家谱分卷作为当前节点的家谱分卷。
11.可选地,从已设分卷中查找与所述当前节点匹配的家谱分卷的步骤,还包括:若所述当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则查找所述当前节点的同辈节点所在的家谱分卷;判断所述当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;若所述当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将同辈节点所在的家谱分卷作为当前节点的家谱分卷;若所述当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则选择分卷结果中人数最少的卷作为当前节点的家谱分卷。
12.可选地,家谱分卷方法还包括:基于当前根节点的起始打印代数和截至打印代数,递归查询当前根节点的所有后代人物节点,得到待打印的目标家谱的家谱总人数;接收家谱打印请求;响应于所述家谱打印请求,基于家谱总人数、起始打印代数、截至打印代数和和所述分卷人物信息,采用串行打印方式或者并行打印方式打印目标家谱。
13.根据本发明实施例的另一方面,还提供了一种家谱分卷装置,包括:确定单元,用于确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,所述先祖人物信息指示打印的初始人物,并将所述初始人物作为目标先祖;查询单元,用于基于所述先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点;分卷单元,用于基于所述中间分卷节点,从所述目标先祖起始进行分卷处理,得到分卷人物信息,其中,所述分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。
14.可选地,所述查询单元包括:第一查询模块,用于以所述目标先祖为起点,向下查
询所述目标家谱的k代子节点,其中,k代子节点满足如下至少之一条件:家谱根节点至第k代子节点的总节点数处于每个待打印分卷的人数范围内、第k代子节点所包含的节点的后代节点数量处于每个待打印分卷的人数范围内、第k代子节点所有后代数大于分卷数量时,以第k代子节点为根节点的所有后代节点数量分布差值大于预设分布阈值;第一确定模块,用于将k代子节点作为所述中间分卷节点,并以第k代子节点对应的家谱人物作为下一分卷的起始人物。
15.可选地,所述家谱分卷装置还包括:第一获取单元,用于在基于所述先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,获取符合目标家谱整卷打印的根节点数最多的当前代数;第一判断单元,用于判断当前代数对应的整卷输出根节点个数是否超过总节点个数的预设比例值;第一查找单元,用于在未超过时,则查找目标家谱中符合整卷输出根节点数最多的前n个代数,并计算前n个代数中每代子节点的后代总个数的方差;第一查询单元,用于查询前n个代数中方差最大的代数;第一返回单元,用于返回方差最大的代数所对应的节点结果数组值。
16.可选地,所述家谱分卷装置还包括:第二判断单元,用于在基于所述先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,判断以所述中间分卷节点进行分卷处理后分卷总数是否超过预设分卷数量阈值;第一保存单元,用于在分卷总数未超过预设分卷数量阈值时,创建新家谱分卷,并将当前根节点保存至所述新家谱分卷中;第一添加单元,用于添加所述新家谱分卷至初始分卷结果中。
17.可选地,所述家谱分卷装置还包括:第一遍历单元,用于在添加所述新家谱分卷至初始分卷结果中之后,遍历第k代子节点的所有节点,并将遍历结果添加至初始分卷结果中;第二查找单元,用于在当前节点满足整卷输出要求时,从已设分卷中查找与所述当前节点匹配的家谱分卷;第二添加单元,用于将当前节点添加至匹配的家谱分卷中,并更新所述初始分卷结果。
18.可选地,第二查找单元包括:第一查找模块,用于查找所述当前节点的父节点所在的家谱分卷;第一判断模块,用于判断所述当前节点的父节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;第二确定模块,用于在所述当前节点的父节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将父节点所在的家谱分卷作为当前节点的家谱分卷;第二查找模块,用于在所述当前节点的父节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则查找所述当前节点的兄弟节点所在的家谱分卷;第二判断模块,用于判断所述当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;第三确定模块,用于在所述当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将兄弟节点所在的家谱分卷作为当前节点的家谱分卷。
19.可选地,所述第二查找单元还包括:第三查找模块,用于在所述当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围时,则查找所述当前节点的同辈节点所在的家谱分卷;第三判断模块,用于判断所述当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;第四确定模块,用于在所述当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围时,则将同辈节点所在的家谱分卷作为当前节点的家谱分卷;选择模块,用于在所述当前
节点的同辈节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围时,则选择分卷结果中人数最少的卷作为当前节点的家谱分卷。
20.可选地,所述家谱分卷装置还包括:第二查询模块,用于基于当前根节点的起始打印代数和截至打印代数,递归查询当前根节点的所有后代人物节点,得到待打印的目标家谱的家谱总人数;打印模块,用于接收家谱打印请求;响应于所述家谱打印请求,基于家谱总人数、起始打印代数、截至打印代数和和所述分卷人物信息,采用串行打印方式或者并行打印方式打印目标家谱。
21.根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的家谱分卷方法。
22.本发明实施例中,在进行家谱分卷时,先确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,先祖人物信息指示打印的初始人物,并将初始人物作为目标先祖,然后基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点,基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息,其中,分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。在该实施例中,基于指定根节点(先祖人物信息指示的节点)和分卷的人数范围进行自动化分卷,能够自适应调整家谱分卷数目,从分卷逻辑性和分卷人数均衡两方面保证家谱分卷的合理性,有效解决用户分卷需求,进而实现家谱在线打印,从而解决相关技术中通过人工统计家谱数据对家谱进行分卷,工作繁琐且工作量巨大的技术问题。
附图说明
23.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
24.图1是根据本发明实施例的一种可选的家谱分卷方法的流程图;
25.图2是根据本发明实施例的一种可选的家谱分卷装置的示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.本发明可应用于家谱数据处理系统、在线家谱分卷网页等环境中,通过对不同类型的家谱进行自适应家谱分卷处理,能够实现家谱实时在线打印,从分卷逻辑性和分卷人数均衡两方面保证家谱分卷的合理性,同时可提供串行多根节点家谱分卷和并行多根节点家谱分卷,实现多模式家谱分卷选择功能。同时,本发明还可以实现在线家谱数据统计功能,统计某一先祖人物的第k代孩子节点查询及它的后代总人数。
29.本发明提出在线家谱分卷功能,能够自适应调整家谱分卷数目,从分卷逻辑性和分卷人数均衡两方面保证家谱分卷的合理性,为用户提供自适应家谱分卷打印功能,方便家谱查阅和保存。
30.本发明提供串行多根节点家谱打印模块和并行多根节点家谱打印模块,实现多模式家谱打印选择功能,为用户提供在线多逻辑家谱打印模块,根据用户实际需要实现家谱打印。
31.本发明提供在线家谱数据统计功能,统计某一先祖人物的第k代孩子节点查询及它的后代总人数,为用户提供家谱数据在线统计查询,及时反馈家谱修撰工作的进度和情况。
32.下面结合各个实施例来详细说明本发明。
33.实施例一
34.根据本发明实施例,提供了一种家谱分卷方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
35.图1是根据本发明实施例的一种可选的家谱分卷方法的流程图,如图1所示,该方法包括如下步骤:
36.步骤s102,确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,先祖人物信息指示打印的初始人物,并将初始人物作为目标先祖;
37.步骤s104,基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点;
38.步骤s106,基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息,其中,分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。
39.通过上述步骤,可以在进行家谱分卷时,先确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,先祖人物信息指示打印的初始人物,并将初始人物作为目标先祖,然后基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点,基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息,其中,分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。在该实施例中,基于指定根节点(先祖人物信息指示的节点)和分卷的人数范围进行自动化分卷,能够自适应调整家谱分卷数目,从分卷逻辑性和分卷人数均衡两方面保证家谱分卷的合理性,有效解决用户分卷需求,进而实现家谱在线打印,从而解决相关技术中通过人工统计家谱数据对家谱进行分卷,工作繁琐且工作量巨大的技术问题。
40.本发明实施例,能够自适应实现家谱分卷,方便家谱查阅和保存,实现家谱合理化分卷打印功能,同时,本发明实施例能够提供家谱数据统计查询功能,能够及时反馈家谱修
撰工作的进度和情况,并为用户提供在线家谱分卷和在线家谱打印功能,根据用户实际需求实现家谱分卷和家谱打印需求。
41.本发明实施例,提出在线家谱分卷模块,能够自适应调整家谱分卷数目,从分卷逻辑性和分卷人数均衡两方面保证家谱分卷的合理性。
42.下面结合上述各实施步骤来详细说明本发明实施例。
43.本发明实施例,在家谱电子化后,提供一系列家谱数据查询、打印功能,以下为本文提供的家谱功能五大模块,各模块间相互独立且可相互调用,模块内的方法也可被其它模块实时调用。该家谱功能模块包括:
44.家谱分卷打印模块:一份完整家谱按照用户指定先祖(确定待打印的先祖人物信息)和用户指定分卷数量(家谱中每个待打印分卷的人数范围,缺省时由系统定义)将所有分卷后的家谱分卷出来;
45.家谱分卷模块:实现指定根节点和分卷数量进行分卷,返回每个待打印分卷的分卷打印逻辑;
46.指定先祖至第k代子节点及其各自后代总数查找模块,返回第k代所有节点及其他们各自后代的总数;
47.家谱分卷模块一:多根节点串行家谱分卷方法;
48.家谱分卷模块二:多根节点并行家谱分卷方法。
49.特别地,当家谱分卷模块一和家谱分卷模块二的打印根节点数目均为1时,两者功能完全相同,且家谱分卷模块二只支持同起始代数和截止代数的多根节点打印,下面结合上述五个功能模块对本发明实施例进行详细说明。
50.对于家谱分卷打印模块,由于家谱数据保存方法和工具不断地改进,一份家谱数据可能包含人物达几万乃至更多,若将其以一位先祖人物全部打印,必然会导致打印文件过大、数据过多,这给数据保存、查阅带来了极大的不便;因此,参考传统家谱分卷保存方法,将一份完整家谱分割为多份子家谱分卷保存。本模块设计了家谱分卷打印方法,实现家谱自动化分卷打印。
51.例如,在设置打印分卷算法时,包括:步骤1.算法初始化,初始化设置家谱分卷先祖,保存文件数组,执行步骤2;步骤2.从数据库中获取当前家谱数据,执行步骤3;步骤3.获取家谱分卷逻辑,执行步骤4;步骤4.针对每卷打印逻辑,选择适合的家谱分卷模块:串行或并行家谱分卷,并保存打印文件,执行步骤5;步骤5.返回所有家谱分卷打印文件。
52.将指定先祖人物所在家谱中的人物全部从保存的数据库中一次性全部读取出来并按要求保存至指定关联数组数组中:info_arr(人物信息数组)、children_arr(子女数组)和spouse_arr(配偶数组)中,人物id为数组key,所有对应信息和关联人物的id为value,如多维关联info_arr[

1234’]=array(

id’=》

1234’,

name’=》

张***’,

birthday’=》

2000****’,

)等,便于后期数据的查找和处理。
[0053]
在实现家谱自动化分卷打印时,首先用户需提供打印先祖和每个待打印分卷的人数范围。
[0054]
步骤s102,确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,先祖人物信息指示打印的初始人物,并将初始人物作为目标先祖。
[0055]
每个待打印分卷人数范围计算方法:1、若是接收到外部终端输入的分卷数目,则
每个待打印分卷人数均值应由家谱总人数和分卷数目计算获取,根据预定义百分比计算每卷人数范围,2、若未提供分卷数目,由系统预定义每卷人数最大值和最小值(及每卷人数范围),计算每卷人数均值,由家谱总人数计算获得当前家谱应划分卷数。
[0056]
对于先祖人物信息,可以是指待打印的历史记载人物,包括提供:先祖姓名、先祖性别、先祖代数、先祖职业等。每个待打印分卷的人数范围,是为了方便用户查阅打印后的家谱问卷,实时进行打印分卷,确定每个待打印分卷人数,缩小每本打印家谱的大小。
[0057]
本发明实施例中,可通过确定家谱分卷总数,来定义每个待打印分卷的人数范围,通过计算每个待打印分卷的最大、最小打印人数,分析人数范围。
[0058]
对于家谱分卷模块。传统家谱分卷采用人工的方式,主要是以某一家谱人物为根节点,向下打印至k代后,再以第k代人物为根节点继续分卷,此方式主要有以下不足:工作量大,特别是一份家谱人数在几万人以上时,需统计分卷根节点所有后辈人数;各分卷逻辑较差,一份家谱有多种分卷方式,如不同的k可导致不同的家谱分卷结果,若只是依靠人工判断,难以找出最优化家谱分卷;各分卷人数难以实现合理均衡,以某一固定分卷逻辑必然会导致各分卷总人数不均衡。
[0059]
因此,本发明实施例提出自适应家谱分卷算法,实现家谱自动化分卷,且各分卷间需满足下列要求:各分卷家谱有规律可循,便于用户查找;各分卷之间人物总数相差越小越好,确保每卷人物分配合理性;动态分卷调整时的分卷总数量结果不能超过初始分卷数量。
[0060]
以上述的先祖人数信息作为分卷根节点,分卷根节点人物代数越靠前,分卷排序越靠前,且各分卷人物总数在某一范围内,保证分卷人数的均衡性。
[0061]
在实现家谱分卷处理时,若如上述步骤s102已经获取对应于先祖人物的分卷根节点和每卷人数范围(每卷最多人数和最少人数被确定),然后可执行最优化家谱分卷逻辑方法,返回各卷打印逻辑。
[0062]
在进行分卷时,可查找每卷分卷逻辑,本发明实施例中可根据分卷数目n_vol,每卷的人数范围[max_num_vol,min_num_vol]计算每卷的打印逻辑。
[0063]
例如,执行如下步骤,得到分卷结果:
[0064]
步骤1.算法初始化,分卷结果、队列以及每卷打印逻辑关联数组curr_vol;
[0065]
步骤2.判断分卷数目是否为1,是则执行步骤3,否则执行步骤4;
[0066]
步骤3.将当前根节点作为一卷保存至分卷结果中,执行步骤5;
[0067]
步骤4.对家谱进行多分卷;
[0068]
步骤4.1将分卷起始人物入队,执行步骤4.2;
[0069]
步骤4.2当前队列中不为空,执行步骤4.3,否则执行步骤5;
[0070]
步骤4.3队列队首元素出队,赋值给root,以root为根节点查找最优k值,执行步骤4.4;
[0071]
步骤4.4更新当前队列值和各分卷逻辑,返回执行步骤4.2;
[0072]
步骤5.(line14)返回分卷结果。
[0073]
在家谱分卷过程中,得到先祖人物信息和每个待打印分卷的人数范围后,可以查询分卷的子节点,即查询中间分卷节点。
[0074]
步骤s104,基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点。
[0075]
可选的,基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点的
步骤,包括:以目标先祖为起点,向下查询目标家谱的k代子节点,其中,k代子节点满足如下至少之一条件:家谱根节点至第k代子节点的总节点数处于每个待打印分卷的人数范围内、第k代子节点所包含的节点的后代节点数量处于每个待打印分卷的人数范围内、第k代子节点所有后代数大于分卷数量时,以第k代子节点为根节点的所有后代节点数量分布差值大于预设分布阈值;将k代子节点作为中间分卷节点,并以第k代子节点对应的家谱人物作为下一分卷的起始人物。
[0076]
k被称为最优划分代数,以一人物(令其代数为g1,所有后代总数超过分卷人数范围)向下查找最优划分代数,计算注意点:
[0077]
1.当前人物至第g2代人物总数未超过分卷人数上界,即g1代-g2代总人数未超过分卷人数上界;
[0078]
2.在即g1代-g2代存在一代数k符合整卷输出的人物总数最多(超过预定义值),则认为第k代为最优划分代数;否则
[0079]
3.统计计算g1代-g2代中,存在k代,满足,符合整卷输出人数较多,且满足各人物后代总数相差较大。
[0080]
例如,寻找最优k:find_better_k();
[0081]
以分卷起始人物执行家谱分卷算法时,需要向下查询k代子节点,然后以第k代子节点作为某分卷的起始人物,k的选择对整个家谱分卷逻辑至关重要,k满足以下条件:
[0082]
根节点至第k代节点的总节点数小于或等于每卷最多人数max_num_vol;
[0083]
第k代节点大部分节点所有后代节点数目符合打印一卷要求;
[0084]
或当第k的节点所有后代数远远大于分卷数目要求时,以第k代节点为根节点的所有后代节点数目分布相差较大。
[0085]
在查询以指定先祖人物信息为起始节点,分卷起始代数,返回代数k,第k代节点和其所有后代节点数目时,包括如下步骤:
[0086]
步骤1.算法初始化,初始分析代数k=a[

shi_num’] 1,是否继续分析标志flag=true,最终结果数组result=array(),统计第k代符合整卷输出根节点个数count_in=array(),保存第k代子节点所有后代节点个数variance_arr=array(),并求得前k代人物总数和第k代所有根节点人物数组;
[0087]
步骤2.判断前k代人物总数是否低于每卷最少人物数量,是则执行步骤3,否则执行步骤4;
[0088]
步骤3.遍历、统计、保存每代子节点符合整卷输出的个数及其后代总节点个数;
[0089]
步骤3.1将获取的第k个值保存至结果数组中,并初始化第k代时保存数组,执行3.2;
[0090]
步骤3.2保存获取第k代每个子节点的所有后代节点总个数,并判断当前子节点是否符合整卷输出条件,是则计数,执行3.3;
[0091]
步骤3.3当count_in[

k’]超过第k代子节点总数的num_3分之一(num_3由模块自定义,可将num_3=2,即超过半数时,将当前代数作为最优的代数),执行步骤3.4,否则执行步骤3.5;
[0092]
步骤3.4更新是否继续处理标志,跳出当前循环,执行步骤4;
[0093]
步骤3.5继续查询第k 1代结果,执行步骤2;
[0094]
步骤4.判断是否继续综合分析,是则分析结果数组中的值,否则返回结果数组result中

k’个结果。
[0095]
在分析最优的第k代子节点时,可以在最大符合整卷输出条件的节点个数满足系统设置条件时,直接返回k代数组,否则找出前n个符合整卷输出条件代数,计算这n个值的方差,获取最大方差时的代数k,即为最优代数。
[0096]
在基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,家谱分卷方法还包括:获取符合目标家谱整卷打印的根节点数最多的当前代数;判断当前代数对应的整卷输出根节点个数是否超过总节点个数的预设比例值;若未超过,则查找目标家谱中符合整卷输出根节点数最多的前n个代数,并计算前n个代数中每代子节点的后代总个数的方差;查询前n个代数中方差最大的代数;返回方差最大的代数所对应的节点结果数组值。
[0097]
例如,寻找最优k代子节点时,包括如下步骤:
[0098]
步骤1.获取符合整卷打印的根节点数最多的代数k;
[0099]
步骤2.判断当前代数符合整卷输出根节点个数是否超过总节点个数num_4之一(num_4由模块自定义,可设置num_4=5,即超过20%时,当前代数为最优代数),是则执行步骤3,否则执行步骤4;
[0100]
步骤3.返回第k代结果数组值;
[0101]
步骤4.首先查找count_in中符合整卷输出根节点数最多的前n个(n由系统定义),然后计算前n个每代子节点后代总个数的方差,在n个代数中找出方差最大的代数k,即为当前最优代数,返回第k代结果数组值。
[0102]
对第k代人物(第k代所有人物)保存至分卷前需进行如下判断:1.当前人物的后代总数超过分卷人物总数上界,将当前人物作为新的根节点人物再次拆分;2.当前人物的后代总数在分卷人物总数范围内,保存至新建卷中。
[0103]
在查找到分卷时的最优k待子节点后,可以更新保存各分卷打印预设值。
[0104]
查找的根节点和第k代节点及其后代总数为依据将其添加至各分卷逻辑中,结合分卷逻辑和分卷人数约束条件,将根节点和第k代节点添加至分卷结果中。
[0105]
可选的,在基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,家谱分卷方法还包括:判断以中间分卷节点进行分卷处理后分卷总数是否超过预设分卷数量阈值;若分卷总数未超过预设分卷数量阈值,创建新家谱分卷,并将当前根节点保存至新家谱分卷中;添加新家谱分卷至初始分卷结果中。
[0106]
例如,在实现家谱卷数更新时,包括如下步骤:
[0107]
步骤1.算法初始化当前卷curr_vol=array(),执行步骤2;
[0108]
步骤2.将当前根节点保存至分卷结果:
[0109]
步骤2.1保存当前根节点限制打印代数和至第k代时全部后代人数,执行步骤2.2;
[0110]
步骤2.2判断当前已分卷数是否超过总分卷数,否执行步骤2.3,是则执行步骤2.4;
[0111]
步骤2.3将当前根节点保存至新创建的分卷中,执行步骤2.5;
[0112]
步骤2.4从已设分卷中查找最适合当前节点分配的卷,并将根节点添加至分卷中,执行步骤2.5;
[0113]
步骤2.5覆盖更新原始分卷结果(新建卷则添加,即添加新家谱分卷至初始分卷结果,更新卷则覆盖原始分卷),返回执行步骤3。
[0114]
在本发明实施例中,在添加新家谱分卷至初始分卷结果中之后,家谱分卷方法还包括:遍历第k代子节点的所有节点,并将遍历结果添加至初始分卷结果中;若当前节点满足整卷输出要求,从已设分卷中查找与当前节点匹配的家谱分卷;将当前节点添加至匹配的家谱分卷中,并更新初始分卷结果。
[0115]
例如,在实现对第k代所有节点进行遍历添加至分卷结果中时,包括如下步骤:
[0116]
步骤1重设当前卷为空数组,执行步骤2;
[0117]
步骤2当前节点满足整卷输出要求,从已设分卷中查找最适合当前节点分配的卷,执行步骤3;
[0118]
步骤3否则,当前节点后代节点数除以最大节点数的值超过num_5时(num_5为预设值,如可设num_5=1.5,即在当前节点的后代节点总数超过一卷最多人数总数的1.5倍时,需要以当前节点作为一个新的根节点进行重新分卷),将当前节点添加至队列中,以当前节点为根节点再次划分,执行步骤5;
[0119]
步骤4否则,除步骤2、3以外的所有情况,从已设分卷中查找最适合当前节点分配的卷,执行步骤5;
[0120]
步骤5当前分卷不为空时,将当前节点添加至分卷中,并覆盖更新原始分卷结果。
[0121]
可选的,从已设分卷中查找与当前节点匹配的家谱分卷的步骤,包括:查找当前节点的父节点所在的家谱分卷;判断当前节点的父节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;若当前节点的父节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将父节点所在的家谱分卷作为当前节点的家谱分卷;若当前节点的父节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则查找当前节点的兄弟节点所在的家谱分卷;判断当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;若当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将兄弟节点所在的家谱分卷作为当前节点的家谱分卷。
[0122]
可选的,从已设分卷中查找与当前节点匹配的家谱分卷的步骤,还包括:若当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则查找当前节点的同辈节点所在的家谱分卷;判断当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;若当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将同辈节点所在的家谱分卷作为当前节点的家谱分卷;若当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则选择分卷结果中人数最少的卷作为当前节点的家谱分卷。
[0123]
例如,在查找最适合当前节点分配的卷时,包括如下步骤:
[0124]
查找当前根节点最优放置的卷,为了保证分卷逻辑,可依次判断以下四种情况:
[0125]
情况1:寻找其父节点所在卷,当其父节点所在卷加上此节点超过系统每卷人数限制时,继续判断情况2;
[0126]
情况2:寻找其兄弟节点所在卷,若存在多个兄弟节点所在卷符合要求,则选择人数最少的兄弟节点所在卷,当其全部兄弟节点所在卷加上此人物超过系统每卷的人数限制
时,继续判断情况3;
[0127]
情况3:寻找其同辈节点所在卷,若存在多个卷符合要求,则选择人数最少的卷,若所有同辈人物所在卷加上此节点超过系统每卷的人数限制时,继续判断情况4;
[0128]
情况4:若1、2、3情况均不满足,选择分卷结果中人数最少的卷。
[0129]
步骤s106,基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息,其中,分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。
[0130]
通过上述实施步骤,可以更新分卷起始人物(即打印根节点数组)、打印模式、打印起始最小代数、每卷总人数(即每个待打印分卷的打印人物数量)。
[0131]
对于指定先祖至第k代子节点及其各自后代总数查找模块。可采用广度优先和队列方法的方法查询某一先祖人物的第k代的所有后辈以及计算以第k代子节点为祖先的所有后代节点数。
[0132]
例如,执行如下步骤,以查询第k代所有子节点并计算所有以子节点为祖先的所有后代节点数:
[0133]
步骤1.初始化队列、第k代结果数组和统计前k代节点数目数组,并将当前根节点保存至队列queue,然后执行步骤2;
[0134]
步骤2.当队列非空时,执行步骤3,否则执行步骤5;
[0135]
步骤3.将队列中的队首元素出队并将其保存至统计前k代节点数目数组中,然后判断当前人物代数是否为k,是则保存当前人物至第k代结果数组中,否则执行步骤4;
[0136]
步骤4.预处理当前人物的所有孩子节点,对于当前人物的符合继续查询条件的所有孩子保存至队列中,执行步骤2;
[0137]
步骤5.返回第k代节点数组、前k代节点数目。
[0138]
进一步地,可采用广度优先遍历和队列的方法给定根节点,计算其所有可单独立的节点数,返回所有保存节点id数组,其实施步骤包括:
[0139]
步骤1.初始化队列和计数数组中并将当前根节点保存至队列queue,然后执行步骤2;
[0140]
步骤2.当队列非空时,执行步骤3,否则执行步骤6;
[0141]
步骤3.将队列中的队首元素出队并将其id保存至结果数组中;
[0142]
步骤4.预处理当前人物的所有孩子节点,执行步骤5;
[0143]
步骤5.对于当前人物的符合继续查询条件的所有孩子保存至队列中。执行步骤2;
[0144]
步骤6.返回查询保存的结果。
[0145]
在实现家谱分卷时,包括:家谱分卷模块一:多根节点串行家谱分卷方法,以及家谱分卷模块二:多根节点并行家谱分卷方法。
[0146]
对于家谱分卷模块一,根节点信息包含人物姓名、当前根节点辈分和打印截止代数,且当根节点总数为1时,即可实现以先祖打印至某一后代的家谱,除家谱保存文件外,还将实际打印代数和打印总人数反馈给用户(用户设置打印截止代数和超过其实际打印代数)。
[0147]
可选的,家谱分卷方法还包括:基于当前根节点的起始打印代数和截至打印代数,递归查询当前根节点的所有后代人物节点,得到待打印的目标家谱的家谱总人数;接收家
谱打印请求;响应于家谱打印请求,基于家谱总人数、起始打印代数、截至打印代数和和分卷人物信息,采用串行打印方式或者并行打印方式打印目标家谱。
[0148]
例如,在实现多根节点串行家谱分卷方式时,包括如下步骤:
[0149]
步骤1.算法初始化:结果数组result_arr=array(),保存文件名genealogy_file当前家谱人数num=0以及全局参数实际家谱输出最大代数end_n=0;
[0150]
步骤2.当前模块中保存的家谱数据为空时,重新从数据库中读取当前家谱的指定数据;
[0151]
步骤3.更新当前根节点起始打印代数start_n和截至打印代数,递归查询当前根节点的所有后代人物节点,直至所有根节点的处理完成;
[0152]
步骤4.计算处理完成的结果数组中个数为当前家谱中的人数,并将数据保存至文件中,获得保存文件名;
[0153]
步骤5.返回保存文件名,当前家谱人数和家谱实际输出代数。
[0154]
本发明实施例中,在采用递归的方法处理当前家谱人物的数据时,包括:
[0155]
步骤1.判断当前打印代数是否超过用户设定打印代数,是则执行步骤2,否则执行步骤6;
[0156]
步骤2.更新全局参数实际打印代数end_n,执行步骤3;
[0157]
步骤3.处理当前人物节点的所有信息,包含:个人信息、配偶信息以及子女信息,并保存当前人物所有处理完成的信息,执行步骤4;
[0158]
步骤4.计算当前人物孩子节点的代数,并预处理当前人物孩子节点,将不满足初始条件的孩子节点从当前孩子数组中移除,并更新孩子辈分、父亲描述等信息。
[0159]
步骤5.对当前人物的所有孩子节点遍历,首先判断人物是否符合继续处理的条件,然后对当前孩子节点调用本算法继续处理;
[0160]
步骤6.返回数据查询结果。
[0161]
对于家谱分卷模块二,对所有根节点要求为:起始和截止打印代数均相同;特别的是,打印根节点总数为1时,打印模块一和打印模块二完全相同。
[0162]
在实现并行家谱分卷方式时,包括如下步骤:
[0163]
步骤1.算法初始化:队列queue、结果数组result_arr=array()、保存文件名genealogy_file、当前家谱人数num以及全局参数实际家谱输出最大代数end_n=0;
[0164]
步骤2.当前模块中保存的家谱数据为空时,重新从数据库中读取当前家谱的指定数据;
[0165]
步骤3.将所有根节点保存至队列中;
[0166]
步骤4.当队列中不为空时,按序处理队列中节点;
[0167]
步骤4.1队首元素出队,赋值给当前节点curr_node;
[0168]
步骤4.2处理当前人物节点的所有信息,包含个人信息、配偶信息以及子女信息,并保存至结果数组中;
[0169]
步骤4.2判断当前节点的孩子节点是否能够继续处理,获取更新后的队列,执行步骤4;
[0170]
步骤5.计算处理完成的结果数组中个数为当前家谱中的人数,并将数据保存至文件中,获得保存文件名;
[0171]
步骤6.返回保存文件名,当前家谱人数和家谱实际输出代数。
[0172]
通过上述两种打印方式(并行打印和串行打印),根据家谱分卷开发平台,调用相应的文档输出工具,将处理完成的家谱人物数据按照指定格式保存至文件中,将最终的文件返回给用户,完成打印。
[0173]
下面结合另一种可选的实施例来说明本发明。
[0174]
实施例二
[0175]
本发明实施例涉及到一种家谱分卷装置,该装置中包含的多个实施单元对应于上述实施例一的各个实施步骤。
[0176]
图2是根据本发明实施例的一种可选的家谱分卷装置的示意图,如图2所示,该家谱分卷装置可以包括:确定单元21,查询单元23,分卷单元25,其中,
[0177]
确定单元21,用于确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,先祖人物信息指示打印的初始人物,并将初始人物作为目标先祖;
[0178]
查询单元23,用于基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点;
[0179]
分卷单元25,用于基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息,其中,分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。
[0180]
上述家谱分卷装置,可以通过确定单元21确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,先祖人物信息指示打印的初始人物,并将初始人物作为目标先祖;通过查询单元23基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点;通过分卷单元25基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息,其中,分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。在该实施例中,自动化基于指定根节点(先祖人物信息指示的节点)和分卷的人数范围进行分卷,能够自适应调整家谱分卷数目,从分卷逻辑性和分卷人数均衡两方面保证家谱分卷的合理性,有效解决用户分卷需求,进而实现家谱在线打印,从而解决相关技术中通过人工统计家谱数据对家谱进行分卷,工作繁琐且工作量巨大的技术问题。
[0181]
可选的,查询单元包括:第一查询模块,用于以目标先祖为起点,向下查询目标家谱的k代子节点,其中,k代子节点满足如下至少之一条件:家谱根节点至第k代子节点的总节点数处于每个待打印分卷的人数范围内、第k代子节点所包含的节点的后代节点数量处于每个待打印分卷的人数范围内、第k代子节点所有后代数大于分卷数量时,以第k代子节点为根节点的所有后代节点数量分布差值大于预设分布阈值;第一确定模块,用于将k代子节点作为中间分卷节点,并以第k代子节点对应的家谱人物作为下一分卷的起始人物。
[0182]
可选的,家谱分卷装置还包括:第一获取单元,用于在基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,获取符合目标家谱整卷打印的根节点数最多的当前代数;第一判断单元,用于判断当前代数对应的整卷输出根节点个数是否超过总节点个数的预设比例值;第一查找单元,用于在未超过时,则查找目标家谱中符合整卷输出根节点数最多的前n个代数,并计算前n个代数中每代子节点的后代总个数的方差;第一查询单元,用于查询前n个代数中方差最大的代数;第一返回单元,用于返回方差最大的代数所对应的节点结果数组值。
[0183]
可选的,家谱分卷装置还包括:第二判断单元,用于在基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点之后,判断以中间分卷节点进行分卷处理后分卷总数是否超过预设分卷数量阈值;第一保存单元,用于在分卷总数未超过预设分卷数量阈值时,创建新家谱分卷,并将当前根节点保存至新家谱分卷中;第一添加单元,用于添加新家谱分卷至初始分卷结果中。
[0184]
可选的,家谱分卷装置还包括:第一遍历单元,用于在添加新家谱分卷至初始分卷结果中之后,遍历第k代子节点的所有节点,并将遍历结果添加至初始分卷结果中;第二查找单元,用于在当前节点满足整卷输出要求时,从已设分卷中查找与当前节点匹配的家谱分卷;第二添加单元,用于将当前节点添加至匹配的家谱分卷中,并更新初始分卷结果。
[0185]
可选的,第二查找单元包括:第一查找模块,用于查找当前节点的父节点所在的家谱分卷;第一判断模块,用于判断当前节点的父节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;第二确定模块,用于在当前节点的父节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将父节点所在的家谱分卷作为当前节点的家谱分卷;第二查找模块,用于在当前节点的父节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围,则查找当前节点的兄弟节点所在的家谱分卷;第二判断模块,用于判断当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;第三确定模块,用于在当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围,则将兄弟节点所在的家谱分卷作为当前节点的家谱分卷。
[0186]
可选的,第二查找单元还包括:第三查找模块,用于在当前节点的兄弟节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围时,则查找当前节点的同辈节点所在的家谱分卷;第三判断模块,用于判断当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数是否超过系统分卷人员范围;第四确定模块,用于在当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数未超过系统分卷人员范围时,则将同辈节点所在的家谱分卷作为当前节点的家谱分卷;选择模块,用于在当前节点的同辈节点所在家谱分卷加上当前节点的人员节点数超过系统分卷人员范围时,则选择分卷结果中人数最少的卷作为当前节点的家谱分卷。
[0187]
可选的,家谱分卷装置还包括:第二查询模块,用于基于当前根节点的起始打印代数和截至打印代数,递归查询当前根节点的所有后代人物节点,得到待打印的目标家谱的家谱总人数;打印模块,用于接收家谱打印请求;响应于家谱打印请求,基于家谱总人数、起始打印代数、截至打印代数和和分卷人物信息,采用串行打印方式或者并行打印方式打印目标家谱。
[0188]
上述的家谱分卷装置还可以包括处理器和存储器,上述确定单元21,查询单元23,分卷单元25等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0189]
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息。
[0190]
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器
(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0191]
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的家谱分卷方法。
[0192]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定待打印的先祖人物信息和目标家谱中每个待打印分卷的人数范围,其中,先祖人物信息指示打印的初始人物,并将初始人物作为目标先祖;基于先祖人物信息和每个待打印分卷的人数范围,查询中间分卷节点;基于中间分卷节点,从目标先祖起始进行分卷处理,得到分卷人物信息,其中,分卷人物信息至少包括:每个待打印分卷的分卷起始人物和每个待打印分卷的打印人物数量。
[0193]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0194]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0195]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0196]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0197]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0198]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0199]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献