一种基于数据分割的扩大二维码容量的方法及系统技术方案

技术编号:17780444 阅读:28 留言:0更新日期:2018-04-22 09:20
本发明专利技术公开了一种基于数据分割的扩大二维码容量的方法及系统,该方法通过输入数据、获取输入数据字节的长度a和不同的纠错级别所对应的最大数据量b、比较a和b的大小,判断是否需要分割数据,若a>b,将数据分割成c份、将分割得到的c份数据依次分为x和y两组,主线程实例化一个子线程并向子线程传递y组数据、子线程接收y组数据并依次生成y个二维码矩阵、主线程将x组数据依次生成二维码矩阵并渲染出二维码、子线程将y个二维码矩阵传递给主线程、主线程接收y个二维码矩阵并渲染出y个二维码。该方法可以使二维码表示更多的数据量,也可以提高二维码的生成效率和浏览器的响应效率,大大的扩大二维码的容量,扩大了二维码的应用范围。

【技术实现步骤摘要】
一种基于数据分割的扩大二维码容量的方法及系统
本专利技术涉及信息
,具体涉及一种基于数据分割的扩大二维码容量的方法及系统。
技术介绍
随着信息技术的发展,人们需要在有限的几何空间内表示更多的信息,条形码技术从一维条形码发展到了后来的二维条码。二维条码又称为二维码(two-dimensionalbarcode)是用某种特定的几何图形按一定规律在平面(二维空间)分布的黑白相间的图形记录数据符号信息的。二维码在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示数据信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。二维码具有条码技术的一些共性:每种编码格式(或码制)有其特定的字符集;每个字符占有一定的空间;具有一定的校验功能等。二维码同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息,具有高密度、大容量等特点,所以可以用二维码表示数据文件(包括汉字、数字、符号)、图片等。二维码是各种证件及卡片等大容量、高可靠信息存储、携带并自动识读的理想方法。在目前常用的二维码中,码制主要有:DataMatrix、MaxiCode、Aztec、QRCode、Vericode、PDF417、Ultracode、Code49、Code16K等。QRCode码是1994年由日本DW公司专利技术。QRCode码是目前使用比较普遍的二维码,非常适合文本信息的编码。有的码制中还包括不同的版本,如QRCode码就包括版本1~40。现有技术二维码虽然可以在有限面积的平面上记录比一维条形码多得多的信息,但一个二维码除去用于位置探测、定位、校正等功能图形区和用于表达编码格式、版本、版本信息等的前序码,实际用于记录数据信息的容量也是非常有限的。如一个版本20的QRCode码,模块数为97*97,功能图形占659个模块,前序码占用67个模块,用于记录数据信息的模块数只有8683个模块,数据容量为1085个码字,其中还包括纠错码字。可见其信息容量也是非常有限的,现有技术二维码不适合对信息量交大的文本、图像等的编码和记录。现有一些增加二维码容量的方法,但是,增加的容量仍然有限,而且,有些方法增加容量的同时,也给二维码的识别带来了一定的困难。二维码的生成过程十分的严谨,遵循一定的编码流程和规则,编码的任何一步都不能出错,计算过程非常的复杂,包括数据编码、纠错编码,等等。有鉴于此,二维码容量的扩充有待进一步研究。
技术实现思路
本专利技术的目的在于提供一种基于数据分割的扩大二维码容量的方法及系统,目的在于解决传统的二维码数据容量有限,不可表示大数据量的信息,应用范围具有局限性的问题。为达到上述目的,本专利技术的技术方案是这样实现的:一种基于数据分割的扩大二维码容量的方法,其特征在于,包括以下步骤:输入数据,获取输入数据字节的长度a,获取二维码不同的纠错级别所对应的最大数据量b;比较a和b的大小,如果a≤b,则将数据按照标准的二维码编码规则进行编码,生成二维码矩阵,将二维码矩阵渲染成二维码;如果a>b,确定生成二维码的数量为c,令分割出第一份数据,其字节长度为e,e=a-(c-1)*d;依次分割出其余c-1份数据,其字节长度均为d;将分割得到的c份数据依次分为两组,第1~x份数据为x组数据,第x+1~c份数据为y组数据;主线程实例化一个子线程,主线程向子线程传递y组数据;子线程接收y组数据,主线程将x组数据依次生成二维码矩阵,并将二维码矩阵渲染出二维码;子线程将y组数据依次生成二维码矩阵;子线程将y个二维码矩阵传递给主线程;主线程接收y个二维码矩阵,主线程将y个二维码矩阵渲染成y个二维码。所述的二维码为QR码,即快速响应矩阵码。其中,输入的是待编码的二维码数据,数据分割的份数和生成二维码的数量是由输入数据字节的长度和二维码不同的纠错级别所对应的最大数据量所共同决定的。本专利技术中二维码的生成过程,是将数据依照标准的二维码生成流程,即经数据编码、纠错编码、布置模块、加入掩膜、构造最终信息后,生成的二维码矩阵,将生成的二维码矩阵渲染成页面上显示的二维码。如果a>b,确定生成二维码的数量为:这是所需生成最少的二维码数量,也是数据所需分割的份数。而d是除第一份数据外,其余的数据均等分割的数据字节的长度。e是分割的第一份数据字节的长度,当数据可以均等分割时:e=d,当数据无法均等分割时,e≠d。优选地,y=c-x,主线程将x组数据依次生成二维码矩阵,并将二维码矩阵渲染出二维码的过程与子线程将y组数据依次生成二维码矩阵同步进行,因此,当二者所耗时间近似相等时,系统工作效率最高,根据研究发现,当满足y=c-x时,主线程将x组数据依次生成二维码矩阵并渲染出二维码所耗时间T1与子线程将y组数据依次生成二维码矩阵所耗时间T2近似相等。所述的子线程由主线程实例化以后才可以监听并接收主线程的数据,并向主线程传递数据;而主线程向子线程传递y组数据和子线程接收y组数据是同步进行的,子线程将y个二维码矩阵传给主线程和主线程接收y个二维码矩阵也是同步进行的。优选地,当子线程将y个二维码矩阵传递给主线程后,关闭子线程,以节约计算机的资源。本专利技术的另一目的是提供一种基于数据分割的扩大二维码容量的系统,包括:输入单元,用于输入数据;获取单元,用于获取输入数据字节的长度a,获取二维码不同的纠错级别所对应的最大数据量b;比较单元,用于比较a和b的大小,如果a≤b,则由算法单元主线程模块将数据按照标准的二维码编码规则进行编码,生成二维码矩阵,将二维码矩阵渲染成二维码;如果a>b,则通过数据分割单元对数据进行分割;数据分割单元,用于在比较单元比较得到a>b的情况下,确定生成二维码的数量为c,令分割出第一份数据,其字节长度为e,e=a-(c-1)*d;依次分割出其余c-1份数据,其字节长度均为d;将分割得到的c份数据依次分为两组,第1~x份数据为x组数据,第x+1~c份数据为y组数据;算法单元,包括主线程模块、实例化模块和子线程模块,所述实例化模块用于将主线程模块实例化一个子线程模块;主线程模块用于将x组数据依次生成二维码矩阵,并将二维码矩阵渲染出二维码;主线程模块还用于向子线程模块传递y组数据,并接收子线程模块传递的y个二维码矩阵,将y个二维码矩阵渲染成y个二维码;子线程模块用于接收主线程模块传递的y组数据,将y组数据依次生成二维码矩阵,并将y个二维码矩阵传递给主线程模块。与现有技术相比,本专利技术具有以下有益效果:本专利技术将传统的二维码生成过程与数据分割的方案相结合,促使二维码可以表示更多的数据,也可以提高二维码的生成效率和浏览器的响应效率,大大的扩大了二维码所能表示的数据量,提高了二维码的应用范围。附图说明图1是基于数据分割的扩大二维码容量方法的工作流程图。具体实施方式本专利技术提供一种基于数据分割的扩大二维码容量的方法,方法实现的具体流程如图1所示,该方法的目的在于解决传统的二维码数据容量有限,使用范围有一定的局限性的问题。本专利技术基于数据分割的的扩大二维码容量的方法包括如下步骤:输入待编码的二维码数据;获取输入数据字节的长度a,获取二维码不同的纠本文档来自技高网
...
一种基于数据分割的扩大二维码容量的方法及系统

【技术保护点】
一种基于数据分割的扩大二维码容量的方法,其特征在于,包括以下步骤:输入数据,获取输入数据字节的长度a,获取二维码不同的纠错级别所对应的最大数据量b;比较a和b的大小,如果a≤b,则将数据按照标准的二维码编码规则进行编码,生成二维码矩阵,将二维码矩阵渲染成二维码;如果a>b,确定生成二维码的数量为c,

【技术特征摘要】
1.一种基于数据分割的扩大二维码容量的方法,其特征在于,包括以下步骤:输入数据,获取输入数据字节的长度a,获取二维码不同的纠错级别所对应的最大数据量b;比较a和b的大小,如果a≤b,则将数据按照标准的二维码编码规则进行编码,生成二维码矩阵,将二维码矩阵渲染成二维码;如果a>b,确定生成二维码的数量为c,令分割出第一份数据,其字节长度为e,e=a-(c-1)*d;依次分割出其余c-1份数据,其字节长度均为d;将分割得到的c份数据依次分为两组,第1~x份数据为x组数据,第x+1~c份数据为y组数据;主线程实例化一个子线程,主线程向子线程传递y组数据;子线程接收y组数据,主线程将x组数据依次生成二维码矩阵,并将二维码矩阵渲染出二维码;子线程将y组数据依次生成二维码矩阵;子线程将y个二维码矩阵传递给主线程;主线程接收y个二维码矩阵,主线程将y个二维码矩阵渲染成y个二维码。2.根据权利要求1所述的基于数据分割的扩大二维码容量的方法,其特征在于,所述的二维码为QR码。3.根据权利要求1所述的基于数据分割的扩大二维码容量的方法,其特征在于,y=c-x。4.根据权利要求1所述的基于数据分割的扩大二维码容量的方法,其特征在于,当子线程将y个二维码矩阵传递给主...

【专利技术属性】
技术研发人员:杨晓东樊楠
申请(专利权)人:浙江工商大学
类型:发明
国别省市:浙江,33

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

1