具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的核心思想之一在于,对于第二用户上传到网络平台的第二有价数据,第一用户在网络平台中以第一有价数据对所述第二有价数据进行支付,第一用户支付的第一有价数据由网络平台或者第三方平台代管,代管方的服务器将支付后生成的支付订单信息,将包括所述支付订单信息的数据包发送至第一用户对应的第一终端(比如手机等),第一终端将所述包括所述支付订单信息的数据包;当第二用户线下将有价数据对应的物品发送给第一用户时,通通过二维码、蓝牙或者NFC(Near Field Communication,近距离无线通讯技术)传输给第二用户对应的第二终端进行订单确认,然后将确认消息上传至服务器,服务器接收到所述确认消息后将第一用户支付的第一有价数据转至第二用户。如此基本上可减免节省大量的数据处理过程,并且服务器可及时对第一用户支付的第一有价数据进行处理,提高整个数据处理效率。
参照图1,其示出了本申请一种数据处理方法的流程示意图,包括:
步骤110,当第一用户以第一有价数据为第二有价数据进行支付后,基于支付情况生成订单成功验证码;所述第二有价数据由第二用户维护;
在本申请中,当第一用户以第一有价数据为第二有价数据进行支付后,基于支付情况生成订单成功验证码一般包括两种情况:
第一种情况是,第一用户登录服务器以第一有价数据为第二有价数据进行支付后,服务器基于第一用户进行支付的支付订单信息生成订单成功验证码;然后将所述订单成功验证码发送至第一用户对应的第一终端;
其中,所述订单成功验证码为加密的编码信息。第二终端通过蓝牙、和/或近距离无线通讯获取所述订单成功验证码。所述加密的编码信息包括签名的支付订单信息,和/或者加密的订单信息。
第二种情况是,第一用户登录服务器以第一有价数据为第二有价数据进行支付后,服务器将第一用户支付过的支付订单信息发送至第一用户的第一终端,由第一终端基于接收到所述支付过的支付订单信息生成订单成功数据。
其中,所述订单成功验证码为二维码图形数据;所述二维码图形数据由第一终端生成;第二终端通过扫描的方式获取第一终端二维码图形数据。
另外所述的订单成功验证码也可以为其他类型图形码数据,比如一维码图形数据等,这些图形数据也可由第一终端生成。
步骤120,当将所述第二有价数据对应的物品发送至第一用户时,通过第二用户对应的第二终端获取第一用户对应的第一终端所携带的订单成功验证码;
当线下第一用户接收第二用户发送第二有价数据对应的物品时,第二用户采用第二终端获取第一用户的第一终端中携带的订单成功验证码。
其中第一终端和第二终端可以包括手机等移动终端。
步骤130,第二终端解析所述订单成功验证码,对订单成功验证码进行确认,并将确认消息传送至服务器;
第二用户的第二终端解析其获取的订单成功验证码,进行订单成功验证码确认,即确认订单成功验证码对应的支付订单信息,并将确认消息传送至服务器;即判断所述订单成功验证码是否真实有效,如果有效,则将确认消息发送至服务器。
步骤140,服务器根据所述确认消息将所述第一有价数据转移至第二用户。
服务器接收到所述确认消息后,即表明确认消息对应的支付订单信息线下货物交接完毕,可对第二有价数据进行处理,即根据所述确认消息将所述第一有价数据转移至第二用户。
参照图2,其示出了本申请实施例一的一种数据处理方法的流程示意图。
对于本申请的数据处理过程,举例说明一个实施例应用环境:网络买家A在网络交易平台购买了网络卖家B的商品,然后通过网络对所述商品进行支付,其中所支付的价钱首先存放于服务器中;服务器基于上述交易生成一笔支付订单信息,然后将支付订单信息发送至第一用户对应的第一终端,比如手机等终端,第一终端基于所述支付订单信息生成订单成功验证码,比如二维码图形信息。当卖家将实体商品通过邮寄等方式发送至买家时,卖家的第二终端扫描买家的第一终端中的二维图形信息进行订单确认,并将该订单的确认消息上传至服务器;服务器根据第二终端上传的所述订单的确认消息将价钱转发至卖家。在这个过程中,买家在收到货物后,不用再次登录网络交易平台,逐步操作进行到货确认;服务器也能及时将服务器中暂存的货款值转给卖家,不用进行长时间的等待。
另外还可存在一种应用场景:买家在卖家现场,比如超市发通过第一终端发起交易,通过网络交易(支付)平台对交易进行支付后,网络交易(支付)平台发送支付订单信息至第一终端,第一终端基于所述支付订单信息生成订单成功验证码,比如二维码图形信息。对于二维码图形信息,卖家则通过其第二终端扫描第一终端中二维码图形信息,然后进行解析和确认,确认订单成功,则对买家放行;并且卖家的第二终端可将确认成功信息发送至网络交易(支付)平台,网络交易(支付)平台则根据确认消息将买家支付的价钱转至卖家账户。
相应的,本实施例的步骤包括:
步骤210,服务器基于第一用户以第一有价数据为第二有价数据进行支付的情况生成支付订单信息,并将所述支付订单信息发送至所述第一终端;所述第二有价数据由第二用户维护;
比如,当买家A在网络平台上购买了卖家B在网络平台中发布的商品b1,并且对其进行将其价钱支付给服务器后,服务器基于支付情况生成支付订单信息,并将所述支付订单信息发送至所述第一终端。又比如,买家A在第一终端编辑与卖家B发布的商品b1相应的订单信息,然后将该订单信息发送至服务器,服务器根据该订单信息生成支付订单信息再发送至买家A的第一终端。
在本申请中,预先会在第一用户的第一终端安装相应的订单信息接收模块和二维码生成模块,在第二用户的第二终端安装相应的二维码图形数据解析确认模块和订单信息发送和接收模块等。
优选的,本申请中所述支付订单信息包括:8个字节的订单号,14个字节的时间,8个字节的商家ID,8个字节的金额,1个字节的状态,3个字节的数量。
比如,支付订单信息包含:
订单号:8个字节,纯数字,例如00000123
时间:14个字节,纯数字,例如20120205164000(表示2012年2月5日下午四点四十分钟)
商家ID:8个字节,纯数字,例如00001888
金额:8个字节,纯数字,例如0000066600(代表666元)
状态:1个字节,纯数字,0:未购1:已购2:已核销
数量:3个字节,纯数字,010(表示买了10个)
支付订单信息总共42个字节。
其中,订单信息还可以其他形式进行设置。比如订单信息的内容可根据实际的需求进行添加或者删除等。具体订单信息的形式本申请不对其加以限制。
优选的,并将所述支付订单信息发送至所述第一终端时包括:
步骤A1,基于服务器和第二用户生成的一对公私钥,服务器利用所述私钥对所述支付订单信息进行签名;
对于服务器生成的支付订单信息,比如前述42字节的支付订单信息,服务器则基于服务器和第二用户生成的一对公私钥,利用其中的私钥对所述支付订单信息进行签名。比如利用私钥进行RSA(公开密钥密码体制)方法签名,签名数据长度可为128字节。
步骤A2,将签名后的支付订单信息发送至所述第一终端。
比如将前述42字节的支付订单信息和128字节的签名数据发送至第一终端。
步骤220,第一终端基于所述支付订单信息,生成二维码图形数据。
优选的,当第一终端接收到所述签名后的支付订单信息后包括:
步骤A3,第一终端基于所述签名后的支付订单信息,生成包括所述支付订单信息和所述私钥签名数据的二维码图形数据。
优选的,所述二维码图形数据的生成步骤包括:
步骤B1,设置M*M的像素矩阵,将所述像素矩阵最外围一层像素作为二维码的寻像图形;
实际中,二维码图形一般由0表示无色(一般为白色),1表示有色(一般为黑色)。由0和1组成的二进制编码按一定顺序规则进行二维排列即可形成二维码图形数据。本申请优选采用M*M的像素矩阵构造二维码图形数据。当然,本申请的M*M像素矩阵构造二维码图形数据,其具体形式可根据支付订单信息和/或签名数据长度进行选择,比如49*49,52*52等。
比如对于前述42字节的支付订单信息和128字节签名数据,采用49*49像素矩阵即可包括42字节的支付订单信息和128字节签名数据的所有内容,所述49*49像素矩阵的位数为2041bits。编码效率最好,最节省第一终端的存储空间。
在采用M*M像素矩阵构造二维码图形数据时,一般会将像素矩阵最外围一层像素作为二维码的寻像图形,即使其具有颜色,比如为黑色,即最外围一层像素每个像素设置为1。
步骤B2,将所述像素矩阵紧邻寻像图形的一层像素作为分隔符图形;
在采用M*M像素矩阵构造二维码图形数据时,一般会将所述像素矩阵紧邻寻像图形的一层像素作为分隔符图形,即使其无色,比如为白色,即将所述像素矩阵紧邻寻像图形的一层像素作为分隔符图形的每个像素设置为0。
步骤B3,将所述像素矩阵中剩余的区域分成N块子像素矩阵,并在每块子像素矩阵指定位置设置定位图形;
按照M*M像素矩阵的M的选择不同,基于二维码图形构造的需求,需要将M*M像素矩阵分成纠错编码块,将编码串分块放入所述纠错编码块,以便识别。其中,为了在解析时判断每块子像素矩阵的位置,会在每块子像素矩阵指定位置设置定位图形。定位图形的具体位置可根据相应子像素矩阵的形状确定,比如如果纠错编码块为大小相同矩阵,可在每个子像素矩阵的左上角设置定位图形。
步骤B4,将支付订单信息编码为二进制编码,结合二进制的签名数据组成第一编码序列;
在实际中,数据可以按照一种模式进行编码,以便进行更高效的解码。比如对于前述42字节的支付订单信息和128字节的签名数据。由于支付订单信息固定长度而且为纯数字,所以采用每3个字分一组,一组10bits,所以订单信息编码后为144bits(140bits+4bits(补4个0);签名数据为二进制信息,可保持原来的格式,位数为128x8=1024bits。那么将支付订单信息编码为二进制编码,结合二进制的签名数据组成第一编码序列在编码后总共为1168bits。
步骤B5,根据所述N块子像素矩阵各自的规模,将所述第一编码序列分成相应N块第一编码子序列;
为了使编码序列有效生成二维码图形数据,一般根据所述N块子像素矩阵各自的规模,将所述第一编码序列分成相应N块第一编码子序列。
步骤B6,根据预设的纠错等级,针对每块编码子序列生成相应纠错编码块;
为了保证解码是能够解析出与原第一编码序列相同的编码序列,需要进行纠错编码。即对前述每一块第一编码子序列生成相应纠错编码,得到相应N块纠错编码块。在实际中,根据实际需求选择纠错编码的等级,可采用RS(Reed-solomon codes,里所码)编码,产生纠错编码块字。当然,也可采用其他纠错编码块编码方法。
最终,序列生成方式可为:第一编码子序列1的码字1,第一编码子序列2的码字1,……第一编码子序列1的码字1;第一编码子序列1的码字2,第一编码子序列2的码字2,……第一编码子序列1的码字2……第一编码子序列n的码字2,……第一编码子序列1的最后一个码字……第一编码子序列n的最后一个码字;随后,纠错编码块1的码字1,纠错编码块2的码字1,……纠错编码块n的码字1;纠错编码块1的码字2,纠错编码块2的码字2,……纠错编码块1的码字2……纠错编码块n的码字2,……纠错编码块1的最后一个码字……纠错编码块n的最后二个码字。必要时加相应个数的个剩余位。其中第一编码子序列为前述支付订单信息和签名数据得到的N块编码子序列。
另外,序列生成方式中,所述N个纠错编码块的码字可以为m,n≥m≥1。比如当m=1时,在第一编码子序列按前述顺序排完后,跟随纠错编码块1的码字1,纠错编码块2的码字1,……纠错编码块n的码字1。
比如对于前述采用49*49像素矩阵,对前述42字节的支付订单信息和128字节的签名数据生成的编码及相应纠错编码,按上述序列生成方式可为基本可填满符号的码字容量,必要时可加3、4或7个剩余位补充。
步骤B7,将所述N块第一编码块和相应N块纠错编码块填入相应N块子像素矩阵,生成M*M二维码图形数据。
不如对于前述序列生成方式,可根据其序列生成方式填入49*49像素矩阵中的N块子像素矩阵,即可形成49*49像素的二维码图形数据。
优选的,将所述N块第一编码块和相应N块纠错编码块填入相应N块子像素矩阵,生成M*M二维码图形数据之后还包括:
步骤B8,采用至少两种掩模图形数据覆盖于所述二维码图形数据之上,获得第一二维码图形数据;
步骤B9,对于所述第一二维码图形数据,以所述二维码图形数据中N块子像素矩阵所在位置为单位块,分析行列中相邻单位块的颜色相同情况的特征值N1、由颜色相同的单位块组成块的情况的特征值N2、每个单位块的行列中出现1011101型图形的特征值N3、整个二维码图形数据中深色单位块的占比N4;
比如用N个矩阵图形(即掩模图形参考)对已知的编码区域的N块图形进行XOR(异或)操作。分析行列中相邻单位块的颜色相同情况的特征值N1、由颜色相同的单位块组成块的情况的特征值N2、每个单位块的行列中出现1011101型图形的特征值N3、整个二维码图形数据中深色单位块的占比N4。
步骤B10,计算所述N1、N2、N3、N4的加权平均值;
步骤B11,将所述各加权平均值中最低值对应的掩模图形数据的版本信息加入所述第二图形数据的非编码区,生成最终二维码图形数据。
本申请中比如用4种掩模图形依次对前述的N块区域中的编码区域的位图进行掩模处理,评价所得到的4种结果,选择最优的一种。优选均衡地安排深色与浅色模块,掩模不用于图形位置探测等功能图形对每个结果图形的不合要求的部分记分(包括颜色相同情况的特征值N1、由颜色相同的单位块组成块的情况的特征值N2、每个单位块的行列中出现1011101型图形的特征值N3、整个二维码图形数据中深色单位块的占比N4四部分),选择整体得分最低的图形作为掩模处理后的最终的二维码图形。其中所选的掩模版本信息被加入所述第一二维码图形数据的非编码区,即像素矩阵中不用于填入支付订单信息和签名信息编码、纠错码的编码区域。
另外,在第一终端基于所述支付订单信息,生成二维码图形数据时,可只利用支付订单信息里面的订单号和商家等静态信息生成二维码图形数据。其中具体利用支付订单信息里面的哪些信息生成二维码图形数据可根据实际需求进行设置,本申请不对其加以限制。
其中,步骤210和步骤220为前述步骤110的优选方式。
步骤230,当将所述第二有价数据对应的物品发送至第一用户时,通过第二用户对应的第二终端扫描获取第一用户对应的第一终端携带的二维码图形数据;
即当第一用户接收商品时,通过第二用户对应的第二终端扫描获取第一用户对应的第一终端携带的二维码图形数据。
步骤240,第二终端解析所述二维码图形数据,对二维码图形数据对应支付订单信息进行确认,并将确认消息传送至服务器;
优选的,在第二终端解析所述二维码图形数据,进行支付订单信息确认时包括:
步骤C1,解析所述二维图标数据,获得支付订单信息和服务器的签名数据;
从识读一个二维码图形数据到输出数据字符的解码步骤是编码程序的逆过程。
在实际实现上,首先:通过第二中队定位并获取二维码图形数据,比如单色BMP图像。其中,深色与浅色模块识别为由“0”与“1”组成的阵列。
优选的,当所述二维码图形数据经过掩模处理后,解析所述二维图标数据,获得支付订单信息和服务器的签名数据时还包括:
步骤D1,解析所述最终二维码图形数据中的掩模图形数据版本信息;
步骤D2,依据所述版本信息去除所述最终二维码图形数据的掩模图形数据,获得原始二维码图形数据。
根据所述掩模图形数据版本信息确认所述二维码图形采用了哪一种掩模图形数据。然后采用该掩模图形数据对N块编码区域的进行异或处理,消除掩模。
然后,根据模块排列规则,识读符号字符,恢复信息的数据与纠错码字。
再次,用与纠错等级信息相对应的纠错码字检测错误,如果发现错误,则进行纠错。
最后,进行译码,得出数据字符并输出结果。
比如对于前述42字节的订单信息,128字节的签名信息。译码后得到原订单信息的数据信息和原服务器采用公钥的签名信息。
优选的,解析所述二维图标数据,获得支付订单信息和服务器的签名数据之后包括:
步骤P1,基于第二终端当前时间和有效时间段,判断支付订单信息中的时间信息是否在有效时间段内;
比如,第二终端当前时间为2012-04-12:00,有效时间段为30天;对于解析得到的支付订单信息中的时间信息2012-04-01-9:00,那么该时间信息2012-04-01-9:00距离第二终端当前时间2012-04-12:00小于30天,在有效期内。
步骤P2,如果在,则依据服务器发送至第二终端的对应于第二终端的公钥,对解析的支付订单信息进行签名,获得第二终端的签名数据;
如果支付订单信息中的时间信息是在有效时间段内,那么即可判断所述支付订单有效,即可进行后续的确认步骤。
步骤P3,如果不在,则不对解析获得的数据进行处理。
如果支付订单信息中的时间信息是不在有效时间段内,则可认为订单失效,可不继续对订单进行处理。
如此可节省第二终端的处理时间,提高处理效率。
比如在另一种应用场景中:比如卖家在网络平台上发布了优惠券或者提货券,买家买了所述优惠券或者提货券,服务器将支付订单信息发送给买家的第一终端,第一终端生成二维码图形数据。然后使用时,卖家的第二终端扫描第一终端的二维码图形数据进行解析和确认。一般优惠券或者提货券均有有效时间段。采用上述步骤即可提高第二终端的处理效率,进而提高整个数据处理过程的效率。
步骤C2,依据服务器发送至第二终端的对应于第二终端的公钥,对解析的支付订单信息进行签名,获得第二终端的签名数据;
比如对于前述数据,如果支付信息数据在前42字节,则采用公钥对前42字节的数据进行签名,得到第二终端的签名数据。
步骤C3,将第二终端的签名数据与所述服务器的签名数据进行匹配,如果匹配,则确认支付订单信息。
当确认支付订单信息之后,第二终端则可将确认消息发送给服务器。其中可将支付订单信息完整发送给服务器,也可只发送订单号,具体形式可根据实际需求进行设定。
另外,第二终端发送确认消息的时机可以是确认完毕即时发送给服务器端,也可延时发送。即比如当传输信号不良时,可将确认消息暂存于第二终端,可等待信号良好时再进行发送。
步骤250,服务器根据所述确认消息将所述第一有价数据转移至第二用户。
当服务器接收到所述确认消息后,根据确认消息查找相应支付订单信息对应的第一有价数据,然后将第一有价数据转移至第二用户。比如转移至卖家的银行账户等。
参照图3,示出了本申请实施例二的一种数据处理方法的流程示意图。对于本申请的数据处理过程,举例说明一个实施例应用环境:网络买家A在网络交易平台购买了网络卖家B的商品,然后通过网络对所述商品进行支付,其中所支付的价钱首先存放于服务器中;服务器基于上述交易生成一笔支付订单信息,然后将支付订单信息发送至第一用户对应的第一终端,比如手机等终端,第一终端暂存所述成支付订单信息。当卖家将实体商品发送至买家时,买家通过蓝牙或者NFC将所述订单成功下线发送至第二终端进行订单确认,并将该订单的确认消息上传至服务器;服务器根据第二终端上传的所述订单的确认消息将价钱转发至卖家。在这个过程中,买家在收到货物后,不用再次登录网络交易平台,逐步操作进行到货确认;服务器也能及时将服务器中暂存的货款值转给卖家,不用进行长时间的等待。
另外还可存在一种应用场景:买家在卖家现场,比如超市发通过第一终端发起交易,通过网络交易(支付)平台对交易进行支付后,网络交易(支付)平台发送支付订单信息至第一终端,第一终端暂存支付订单信息。卖家的第二终端则通过蓝牙或者NFC获取第一终端中支付订单信息,然后进行解析和确认,确认订单成功,则对买家放行;并且卖家的第二终端可将确认成功信息发送至网络交易(支付)平台,网络交易(支付)平台则根据确认消息将买家支付的价钱转至卖家账户。
本实施例的步骤包括:
步骤310,服务器基于第一用户以第一有价数据为第二有价数据进行支付的情况生成支付订单信息,并将所述支付订单信息签名加密发送至所述第一终端;所述第二有价数据由第二用户维护;
比如,当买家A在网络平台上购买了卖家B在网络平台中发布的商品b1,并且对其进行将其价钱支付给服务器后,服务器基于支付情况生成支付订单信息,并将所述支付订单信息签名加密发送至所述第一终端。
又比如,买家A在第一终端编辑与卖家B发布的商品b1相应的订单信息,然后将该订单信息发送至服务器,服务器根据该订单信息生成支付订单信息再签名加密发送至买家A的第一终端。
第一终端则暂存所述签名加密的支付订单信息。其中支付订单信息与前述类似。
其中步骤310对应为步骤110的优选方式。
步骤320,当将所述第二有价数据对应的物品发送至第一用户时,通过第二用户对应的第二终端获取第一用户对应的第一终端携带的签名加密支付订单信息;
优选的,在本实施例中,第一终端可预先设置蓝牙功能或者NFC功能,相应的第二终端也会设置蓝牙功能或者NFC功能。
比如对于NFC功能。比如对于手机来说,买家的手机可采用一个射频传单器插入音频接口,比如插入3.5mm或2.5mm标准音频接口。卖家可采用读卡终端(一种RFID读卡器。支持读取、发送和存储RFID信息,支持动态口令,支持交易信息的显示)。
步骤330,第二终端解析所述签名加密的支付订单信息,对所述支付订单信息进行确认,并将确认消息传送至服务器;
当第二终端通过蓝牙或者NFC与第一终端进行交互,获取到所述签名加密的支付订单信息,则对所述支付订单信息进行确认,并将确认消息传送至服务器。
比如对于前述NFC的方式,当买家手机通过射频传单器与卖家的读卡终端握手完毕,传递完交易信息后,即可进行订单数据的解析。
比如对于前述NFC形式中,采用买家的手机可采用一个射频传单器插入音频接口,卖家采用读卡终端时。
当手机用户在商家购物时,进行线上支付后,把射频传单器插入3.5mm或2.5mm标准音频接口上,与读卡终端接触,使用13.56MHZ或2.4G频段,利用RDID技术传递数据,开始认证环节。射频传单器和读卡终端利用四个步骤进行相互认证。其中,RFID是RadioFrequency Identification的缩写,即射频识别,俗称电子标签。RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预。系统由一个询问器(或阅读器)和很多应答器(或标签)组成。
优选的,第二终端解析所述签名加密的支付订单信息之后包括:
步骤O1,基于第二终端当前时间和有效时间段,判断支付订单信息中的时间信息是否在有效时间段内;
步骤O2,如果在,则依据服务器发送至第二终端的对应于第二终端的公钥,对解析的支付订单信息进行签名,获得第二终端的签名数据;
如果支付订单信息中的时间信息是在有效时间段内,那么即可判断所述支付订单有效,即可进行后续的确认步骤。
步骤O3,如果不在,则不对解析获得的数据进行处理。
如此可节省第二终端的处理时间,提高处理效率。
比如在另一种应用场景中:比如卖家在网络平台上发布了优惠券或者提货券,买家买了所述优惠券或者提货券,服务器将支付订单信息发送给买家的第一终端。然后使用时,卖家的第二终端获取第一终端的支付订单信息数据进行解析和确认。一般优惠券或者提货券均有有效时间段。采用上述步骤即可提高第二终端的处理效率,进而提高整个数据处理过程的效率。
步骤340,服务器根据所述确认消息将所述第一有价数据转移至第二用户。
当服务器接收到所述确认消息后,根据确认消息查找相应支付订单信息对应的第一有价数据,然后将第一有价数据转移至第二用户。比如转移至卖家的银行账户等。
参照图4,其示出了本申请一种数据处理系统的结构示意图,包括:
订单成功验证码生成模块410,用于当第一用户以第一有价数据为第二有价数据进行支付后,基于支付情况生成订单成功验证码;所述第二有价数据由第二用户维护;
订单成功验证码获取模块420,用于当将所述第二有价数据对应的物品发送至第一用户时,通过第二用户对应的第二终端获取第一用户对应的第一终端所携带的订单成功验证码;
解析确认模块430,用于第二终端解析所述订单成功验证码,对订单成功验证码进行确认,并将确认消息传送至服务器;
第一有价数据处理模块440,用于通过服务器根据所述确认消息将所述第一有价数据转移至第二用户。
参照图5,其示出了本申请实施例一的一种数据处理系统的结构示意图,包括:
服务器510,第一终端520,和第二终端530。
所述服务器510包括支付订单信息生成模块511和第一有价数据处理模块512;
所述支付订单信息生成模块511用于服务器基于第一用户以第一有价数据为第二有价数据进行支付的情况生成支付订单信息,并将所述支付订单信息发送至所述第一终端;所述第二有价数据由第二用户维护;
所述第一有价数据处理模块512,用于通过服务器根据所述确认消息将所述第一有价数据转移至第二用户。
其中所述订单信息生成模块还包括加密发送模块,用于基于服务器和第二用户生成的一对公私钥,服务器利用所述私钥对所述支付订单信息进行签名,并将签名后的支付订单信息发送至所述第一终端。
所述第一终端520包括二维码图形数据生成模块521;
所述二维码图形数据生成模块521用于基于所述支付订单信息,生成二维码图形数据。
其中所述二维码图形数据生成模块包括:
寻像图形设置子模块,用于设置M*M的像素矩阵,将所述像素矩阵最外围一层像素作为二维码的寻像图形;
分隔符图形设置子模块,用于将所述像素矩阵紧邻寻像图形的一层像素作为分隔符图形;
像素矩阵分块子模块,用于将所述像素矩阵中剩余的区域分成N块子像素矩阵,并在每块子像素矩阵指定位置设置定位图形;
第一编码子模块,用于将支付订单信息编码为二进制编码,结合二进制的签名数据组成第一编码序列;
编码分块子模块,用于根据所述N块子像素矩阵各自的规模,将所述第一编码序列分成相应N块第一编码子序列;
纠错编码子模块,用于根据预设的纠错等级,针对每块编码子序列生成相应纠错编码,获得相应N块纠错编码块;
编码填入子模块,用于将所述N块第一编码块和相应N块纠错编码块填入相应N块子像素矩阵,生成M*M二维码图形数据。
优选的,编码填入子模块之后还包括:
掩模覆盖子模块,用于采用至少两种掩模图形数据覆盖于所述二维码图形数据之上,获得第一二维码图形数据;
掩模处理子模块,用于对于所述第一二维码图形数据,以所述二维码图形数据中N块子像素矩阵所在位置为单位块,分析行列中相邻单位块的颜色相同情况的特征值N1、由颜色相同的单位块组成块的情况的特征值N2、每个单位块的行列中出现1011101型图形的特征值N3、整个二维码图形数据中深色单位块的占比N4;
计算子模块,用于计算所述N1、N2、N3、N4的加权平均值;
生成子模块,用于将所述各加权平均值中最低值对应的掩模图形数据的版本信息加入所述第一二维码图形数据的非编码区,生成最终二维码图形数据。
所述第二终端530包括扫描模块531和解析确认模块532;
所述扫描模块531用于当将所述第二有价数据对应的物品发送至第一用户时,通过第二用户对应的第二终端扫描获取第一用户对应的第一终端携带的二维码图形数据;
所述解析确认模块532用于第二终端解析所述二维码图形数据,对二维码图形数据对应支付订单信息进行确认,并将确认消息传送至服务器。
其中所述解析确认模块包括:
第一解析子模块,用于解析所述二维图标数据,获得支付订单信息和服务器的签名数据;
第二签名子模块,用于依据服务器发送至第二终端的对应于第二终端的公钥,对解析的支付订单信息进行签名,获得第二终端的签名数据;
匹配确认子模块,用于将第二终端的签名数据与所述服务器的签名数据进行匹配,如果匹配,则确认支付订单信息。
所述第一解析子模块还包括:
掩模信息获取子模块,用于解析所述最终二维码图形数据中的掩模图形数据版本信息;
掩模去除子模块,用于依据所述版本信息去除所述最终二维码图形数据的掩模图形数据,获得原始二维码图形数据。
参照图6,其本申请实施例二的一种数据处理系统的结构示意图,包括:
服务器610,第一终端620,第二终端630;
所述服务器610包括支付订单信息生成加密模块611,和第一有价数据处理模块612;
所述支付订单信息生成加密模块611用于服务器基于第一用户以第一有价数据为第二有价数据进行支付的情况生成支付订单信息,并将所述支付订单信息加密签名发送至所述第一终端;所述第二有价数据由第二用户维护;
所述第一有价数据处理模块612用于服务器根据所述确认消息将所述第一有价数据转移至第二用户。
所述第二终端620包括信息获取模块621和解析确认模块622;
所述信息获取模块621用于当将所述第二有价数据对应的物品发送至第一用户时,通过第二用户对应的第二终端获取第一用户对应的第一终端携带的加密签名支付订单信息;
所述解析确认模块622第二终端解析所述加密签名的支付订单信息,对所述支付订单信息进行确认,并将确认消息传送至服务器。
参照图7,其示出了本申请的一种二维码图形数据生成方法的流程示意图,包括:
步骤710,设置一像素矩阵,并从所述像素矩阵中选择像素分别作为寻像图形以及分隔符图形;
在本申请实施例中,可以如前述实施例设置一个M*M像素矩阵,然后从该像素矩阵中选择像素分别作为寻像图形以及分隔符图形。
优选的,步骤710包括:子步骤711,设置一像素矩阵,将所述像素矩阵最外围一层像素作为二维码的寻像图形;子步骤712,将所述像素矩阵紧邻寻像图形的一层像素作为分隔符图形。
步骤720,将所述像素矩阵中剩余的区域中划分N块子像素矩阵,并在每块子像素矩阵指定位置设置定位图形;
步骤730,根据支付订单信息和针对所述支付订单信息的签名数据生成第一编码序列;
本申请实施例则根据支付订单信息和针对所述支付订单信息的签名数据生成第一编码序列。
其中,所述支付订单信息由服务器基于第一用户以第一有价数据为第二有价数据进行支付的情况生成;所述签名数据由服务器基于服务器和第二用户生成的一对公私钥,利用所述私钥对所述支付订单信息进行签名获得;所述第二用户为维护第二有价数据的用户。
其中,所述支付订单信息包括:8个字节的订单号,14个字节的时间,8个字节的商家ID,8个字节的金额,1个字节的状态,3个字节的数量。
优选的,步骤730包括:
步骤731,将支付订单信息编码为二进制编码,结合二进制的签名数据组成第一编码序列。
步骤740,根据所述N块子像素矩阵各自的规模,将所述第一编码序列分成相应N块第一编码子序列;
步骤750,根据预设的纠错等级,针对每块编码子序列生成相应纠错编码,获得相应N块纠错编码块;
步骤760,将所述N块第一编码块和相应N块纠错编码块填入相应N块子像素矩阵,生成二维码图形数据。
优选的,步骤760之后还可以包括:采用至少两种掩模图形数据覆盖于所述二维码图形数据之上,获得第一二维码图形数据;
步骤761,对于所述第一二维码图形数据,以所述二维码图形数据中N块子像素矩阵所在位置为单位块,分析行列中相邻单位块的颜色相同情况的特征值N1、由颜色相同的单位块组成块的情况的特征值N2、每个单位块的行列中出现1011101型图形的特征值N3、整个二维码图形数据中深色单位块的占比N4;
步骤762,计算所述N1、N2、N3、N4的加权平均值;
步骤763,将所述各加权平均值中最低值对应的掩模图形数据的版本信息加入所述第一二维码图形数据的非编码区,生成最终二维码图形数据。
本申请实施例的二维码图形数据生成过程与前述图2实施例中二维码图形数据的生成过程原理,在此不再详述。
本申请实施例的生成的二维码图形数据的安全、高效、识别率高。
参照图8,其示出了本申请的一种二维码图形数据生成装置的结构示意图,包括:
设置模块810,用于设置一像素矩阵,并从所述像素矩阵中选择像素分别作为寻像图形以及分隔符图形;
像素矩阵分块模块820,用于将所述像素矩阵中剩余的区域中划分N块子像素矩阵,并在每块子像素矩阵指定位置设置定位图形;
第一编码模块830,用于根据支付订单信息和针对所述支付订单信息的签名数据生成第一编码序列;
编码分块模块840,用于根据所述N块子像素矩阵各自的规模,将所述第一编码序列分成相应N块第一编码子序列;
纠错编码模块850,用于根据预设的纠错等级,针对每块编码子序列生成相应纠错编码,获得相应N块纠错编码块;
编码填入模块860,用于将所述N块第一编码块和相应N块纠错编码块填入相应N块子像素矩阵,生成二维码图形数据。
优选的,所述第一编码模块830包括:第一编码子模块,用于将支付订单信息编码为二进制编码,结合二进制的签名数据组成第一编码序列。
优选的,所述支付订单信息包括:8个字节的订单号,14个字节的时间,8个字节的商家ID,8个字节的金额,1个字节的状态,3个字节的数量。
优选的,所述编码填入模块之后还包括:掩模覆盖模块,用于采用至少两种掩模图形数据覆盖于所述二维码图形数据之上,获得第一二维码图形数据;掩模处理模块,用于对于所述第一二维码图形数据,以所述二维码图形数据中N块子像素矩阵所在位置为单位块,分析行列中相邻单位块的颜色相同情况的特征值N1、由颜色相同的单位块组成块的情况的特征值N2、每个单位块的行列中出现1011101型图形的特征值N3、整个二维码图形数据中深色单位块的占比N4;计算模块,用于计算所述N1、N2、N3、N4的加权平均值;生成模块,用于将所述各加权平均值中最低值对应的掩模图形数据的版本信息加入所述第一二维码图形数据的非编码区,生成最终二维码图形数据。
优选的,所述设置模块810包括:寻像图形设置子模块,用于设置一像素矩阵,将所述像素矩阵最外围一层像素作为二维码的寻像图形;分隔符图形设置子模块,用于将所述像素矩阵紧邻寻像图形的一层像素作为分隔符图形。
其中,所述支付订单信息由服务器基于第一用户以第一有价数据为第二有价数据进行支付的情况生成;所述签名数据由服务器基于服务器和第二用户生成的一对公私钥,利用所述私钥对所述支付订单信息进行签名获得;所述第二用户为维护第二有价数据的用户。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上对本申请所提供的一种数据处理方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。