一种分布式模块化系统的变长序列号算法

文档序号:6546572阅读:356来源:国知局
一种分布式模块化系统的变长序列号算法
【专利摘要】本发明提供一种分布式模块化系统的变长序列号算法,其实现过程为:收集各个模块的信息,并为每一个模块起一个独立的模块编号;每个模块内部的解析按照位解析法进行;自动生成新的模块,形成变长的序列号明文,通过加密算法生成序列号的产品形式;系统启动时,从数据库中读取序列号信息,破解序列号信息,并将信息放置于公共模块的内存中,实现对模块信息的高效有序读取并用于逻辑运算。该一种分布式模块化系统的变长序列号算法和现有技术相比,该方法将各模块的内容分段变长的存放在序列号明码中,破解变长算法简单高效,后期维护和易用性优越,实用性强,易于推广。
【专利说明】一种分布式模块化系统的变长序列号算法
【技术领域】
[0001]本发明涉及云计算【技术领域】,具体的说是一种效率较高、方便维护的分布式模块化系统的变长序列号算法。
【背景技术】
[0002]分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。
[0003]计算技术发展向着模块化和面向服务的方向发展,以REST为代表的模块化标准的不断发展和完善,使得计算技术更趋向于分布式和并行计算。在这样的系统中,为了保护开发公司的商业权益,序列号变长算法,定能为此类软件的保驾护航。
[0004]分布式系统的序列号结构中通常包含着各个模块的信息,他们分段记录。在系统开发过程中,如果由于开发需要或者是需求变更,使得模块的个数增加,此时如果采用的是定长定位的序列号生成方式,定会增加系统的复杂度和难度,同时给后期的维护带来很大的内部隐患,甚至出现,前期的序列号,在后期升级系统后,不能再使用的风险。
[0005]基于此,现提供一种分布式模块化系统的变长序列号算法,将各模块的内容分段变长的存放在序列号明码中,破解变长算法简单高效,提高后期维护的优越性和易用性。

【发明内容】

[0006]本发明的技术任务是解决现有技术的不足,提供一种有复杂度较低的分布式模块化系统的变长序列号算法。
[0007]本发明的技术方案是按以下方式实现的,该一种分布式模块化系统的变长序列号算法,其实现过程为:
一、收集各个模块的信息,并为每一个模块起一个独立的模块编号;
二、每个模块内部的解析按照位解析法进行;
三、自动生成新的模块,形成变长的序列号明文,通过加密算法生成序列号的产品形
式;
四、系统启动时,从数据库中读取序列号信息,破解序列号信息,并将信息放置于公共模块的内存中,实现对模块信息的高效有序读取并用于逻辑运算。
[0008]进一步的,所述步骤一中的模块编号为A?Z ;步骤三中的序列号的结构为:开头和结尾都是3位随机数字,中间是A-Z 25个模块的编号。
[0009]所述步骤三中系统自动生成新模块的过程为:当模块增加时,系统自动生成新模块,并把相关信息按照新模块序列号的结构,添加到原有模块数据之后。
[0010]所述步骤三的详细过程为:
把A~Z映射到map数据结构中,与模块名称对应;
通过可逆加密模式解密后,去掉字符串两端的随机数;
按索引函数index大小,从O开始,当charindex函数大于65且小于等于90,把模块开始序号设置成index的当前值;如果index不为O,则截取当前index到模块开始序号的这段数据为上一模块的数据。
[0011]所述步骤四的详细过程为:
系统启动后,公共模块获取数据库中的信息,破解后,加入到ValueMap的数据结构中储存;
抛出多个获取数据中内容的接口,供服务层调用;
通过模块name和A~Z字母的对应关系表,实现对模块信息的高效有序读取并用于逻辑运算。
[0012]本发明区别于传统的序列号算法,本方法是序列号变长分析算法为基础,分布式模块化的信息存储为前提,通过分段处理分模块解析的方式,灵活高效的将模块信息存储到序列号字段中或者解析提取出来,同时将解析后的模块信息放置到共用模块的内存中,以方面各个模块访问,提高效率。
[0013]本发明与现有技术相比所产生的有益效果是:
本发明的一种分布式模块化系统的变长序列号算法能达到当模块增加的情况下,不改变生成序列号的程序,只需改变入参,就能灵活分模块控制相关信息的效果,降低模块化的复杂度和耦合度,优化系统架构,同时节省人力开发成本和后期维护成本;适用范围广泛,除应用于云计算分布式模块化的开发软件的序列号算法领域外,还可应用于对非云计算中对模块化要求比较高的其他软件应用中;本方法将各模块的内容分段变长的存放在序列号明码中,破解变长算法简单高效,后期维护和易用性优越,实用性强,易于推广。
【具体实施方式】
[0014]下面结合实例对本发明的一种分布式模块化系统的变长序列号算法作以下详细说明。
[0015]为了能达到当模块增加的情况下,不改变生成序列号的程序,只需改变入参,就能灵活分模块控制相关信息的效果,降低模块化的复杂度和耦合度,优化系统架构,本发明提供一种分布式模块化系统的变长序列号算法,该算法的设计基本思想如下两点。
[0016]一、通过模块随意增加和模块内容随意增加的算法计算,使得分布式系统能在最大独立性的条件下,降低模块在序列号上的耦合,增加系统易用性。
[0017]二、序列号解密过程只在系统启动时进行一次,运行结果放置于公共模块的内存中,提闻序列号中?目息获取的效率。
[0018]基于上 述两点思想,该发明的具体实现过程为:
一、收集各个模块的信息,并为每一个模块起一个独立的模块编号。
[0019]二、每个模块内部的解析按照位解析法进行。[0020]三、自动生成新的模块,形成变长的序列号明文,通过加密算法生成序列号的产品形式。
[0021]四、系统启动时,从数据库中读取序列号信息,破解序列号信息,并将信息放置于公共模块的内存中,实现对模块信息的高效有序读取并用于逻辑运算。
[0022]序列号解密后,信息内置于内存中。模块化的系统中,序列号中存储有大量的配置和设置信息。如虚拟机个数,内存的大小,硬盘的数量,物理机的个数等等。各个模块条目不同,设置不同。这些信息一定要在系统服务启动后,内置于公共模块的内存中,使得各个模块可以访问并获取到相关的信息。
[0023]所述步骤一中的模块编号为A~Z ;步骤三中的序列号的结构为:开头和结尾都是3位随机数字,中间是A-Z 25个模块的编号,即该序列号的结构为:random(3)+Α+...+Β+...+ (->Z) random (3)。
[0024]在实-操作中,其结,如下示:_
【权利要求】
1.一种分布式模块化系统的变长序列号算法,其特征在于其实现过程为: 一、收集各个模块的信息,并为每一个模块起一个独立的模块编号; 二、每个模块内部的解析按照位解析法进行; 三、自动生成新的模块,形成变长的序列号明文,通过加密算法生成序列号的产品形式; 四、系统启动时,从数据库中读取序列号信息,破解序列号信息,并将信息放置于公共模块的内存中,实现对模块信息的高效有序读取并用于逻辑运算。
2.根据权利要求1所述的一种分布式模块化系统的变长序列号算法,其特征在于:所述步骤一中的模块编号为A?Z ;步骤三中的序列号的结构为:开头和结尾都是3位随机数字,中间是A-Z 25个模块的编号。
3.根据权利要求2所述的一种分布式模块化系统的变长序列号算法,其特征在于:所述步骤三中系统自动生成新模块的过程为: 当模块增加时,系统自动生成新模块,并把相关信息按照新模块序列号的结构,添加到原有模块数据之后。
4.根据权利要求2或3所述的一种分布式模块化系统的变长序列号算法,其特征在于:所述步骤三的详细过程为: 把A?Z映射到map数据结构中,与模块名称对应; 通过可逆加密模式解密后,去掉字符串两端的随机数; 按索引函数index大小,从O开始,当charindex函数大于65且小于等于90,把模块开始序号设置成index的当前值;如果index不为O,则截取当前index到模块开始序号的这段数据为上一模块的数据。
5.根据权利要求4所述的一种分布式模块化系统的变长序列号算法,其特征在于:所述步骤四的详细过程为: 系统启动后,公共模块获取数据库中的信息,破解后,加入到valueMap的数据结构中储存; 抛出多个获取数据中内容的接口,供服务层调用; 通过模块name和A?Z字母的对应关系表,实现对模块信息的高效有序读取并用于逻辑运算。
【文档编号】G06F17/30GK103984550SQ201410204382
【公开日】2014年8月13日 申请日期:2014年5月15日 优先权日:2014年5月15日
【发明者】李新虎, 于辉, 刘俊朋, 郭锋, 刘正伟 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1