CN103425797A - 一种短动码的实现方法及其应用 - Google Patents

一种短动码的实现方法及其应用 Download PDF

Info

Publication number
CN103425797A
CN103425797A CN201310391105XA CN201310391105A CN103425797A CN 103425797 A CN103425797 A CN 103425797A CN 201310391105X A CN201310391105X A CN 201310391105XA CN 201310391105 A CN201310391105 A CN 201310391105A CN 103425797 A CN103425797 A CN 103425797A
Authority
CN
China
Prior art keywords
short
number string
database
string
short number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310391105XA
Other languages
English (en)
Other versions
CN103425797B (zh
Inventor
汪德嘉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing tongfudun Artificial Intelligence Technology Co., Ltd
Original Assignee
汪德嘉
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 汪德嘉 filed Critical 汪德嘉
Priority to CN201310391105.XA priority Critical patent/CN103425797B/zh
Publication of CN103425797A publication Critical patent/CN103425797A/zh
Application granted granted Critical
Publication of CN103425797B publication Critical patent/CN103425797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明揭示了一种短动码的实现方法及其应用,该实现方法基于分布式存储的数据库并涉及具相对数位长度差异的长数串和短数串,它包括将长数串映射短数串的短码化步骤和将短数串回找长数串的返码化步骤,两步骤中短数串在一定时段内有效。通过对数据库中的记录存储加入时间戳,并进行是否超出失效时间的判断,精确生成短动码的映射关系。应用本发明实现方法,通过设计失效时间,并在一端时效内将长数串与动态滚动切换、相对较短的数串建立映射对应关系,从而通过短动码提高了账号的便于记忆性和安全实用性,并且通过引入时间戳充分发挥了分布式存储的数据库数据容灾、系统规模的优点,提升了短动码精度。

Description

一种短动码的实现方法及其应用
技术领域
本发明涉及一种移动动态码位数变换技术,综合利用后台分布式存储的数据库交互实现一定时段内有效且将长数串映射到短数串,并以一定频率滚动切换,具体涉及一种短动码的实现方法及其具体应用。
背景技术
现有各种与用户身份具有唯一性关联的账户,大都具有17位以上的数值串,有些甚至长至20多位。随着移动通讯技术的发展和应用不断扩展,此类账户大都与移动终端相关联,在各种应用场景下广泛被应用。
在实际应用中,常常需要出示或输入该类长数串,一方面如此长数串不便于记忆,常会因为无法记起准确数串而影响应用业务的正常进行;另一方面该长数串缺乏修饰,存在安全隐患,一旦泄漏被不法分子利用后果不堪设想。为此,需要一种动态短数串来与该长数串匹配,且该匹配需要在一定时段内有效、以一定频率滚动切换、精度可提升至ms级别。
发明内容
本发明针对上述如此多的匹配要求,提出了一种短动码的实现方法及其应用,以期解决长数串型账号在移动支付等领域不便于记忆、缺乏安全性的问题。所谓短动码,它是一种数位相
本发明的上述第一个目的一种短动码的实现方法,其实现方法基于分布式存储的数据库并涉及具相对数位长度差异的长数串和短数串,其特征在于:该实现方法包括将长数串通过计算转为短数串的短码化步骤和将短数串通过访问数据库返回长数串的返码化步骤,两步骤中短数串在一定时段内有效,其中:
短码化步骤S1,初始化数据库的环境并建立访问数据库的连接,设置映射位数、失效时间和冲突解决步长因子;S2,根据冲突解决步长因子对长数串做模操作得到初始短数串,并在数据库中查询初始短数串存在与否;S21,初始短数串未存在于数据库中,将初始短数串和时间戳存入数据库并将初始短数串返回;S22,初始短数串存在于数据库中,提取初始短数串所对应数据库中记录的时间戳,判断存入时间超出失效时间与否,若在失效时间以内则返回S2重新生成新的初始短数串;S23,若存入时间超出失效时间则删除数据库中记录及其时间戳,将初始短数串和时间戳存入数据库并将初始短数串返回;
返码化步骤S3,在数据库中查询短数串,并依据失效时间和短数串所对应数据库中记录的时间戳判断过期与否,对于未过期的短数串,则通过数据库存储的步骤S2所做模操作的反运算获得长数串并返回相关联的长数串。
进一步地,步骤S1中设置映射位数为将长数串设定为17位数,将短数串设定为6位数,失效时间为用户自定义时间。
进一步地,短码化步骤S2中,在做模操作得到初始短数串后加入验证因子,返码化步骤S3中,在数据库中查询短数串前通过检验短数串的验证因子进行合法性判断,仅将合法的短数串参与数据库查询。
本发明的上述第二个目的一种短动码的应用,其技术方案为:所述短动码至少用于移动支付交易、门禁、免费自行车取放、公共场所储物箱或车门锁。
应用本发明短动码的技术方案:该实现方法设计失效时间,并在一段时效内将长数串与动态滚动切换、相对较短的数串建立映射对应关系,从而通过短动码提高了账号的便于记忆性和安全实用性,并且通过引入时间戳充分发挥了分布式存储的数据库数据容灾、系统规模的优点,提升了短动码精度。
附图说明
图1为本发明短码化步骤的核心流程示意图。
图2为本发明返码化步骤的核心流程示意图。
图3为本发明一优选实施例的短码化步骤的详细流程示意图。
图4为图3所示实施例的返码化步骤的详细流程示意图。
图5为图3所示实施例生成6位数的个数与平均花费时间的关系示意图。
具体实施方式
本发明为应对移动支付及其它长数串账号应用安全的挑战,创新提出了一种短动码的实现方法,也强调了该短动码的应用多样性。该技术方案能让人们无需记忆长达10数位的长数串账号或密码,取而代之以动态滚动切换到短密码,从而为用户账户使用提供便于记忆且安全性较高的技术解决方案。
本发明理论上适用于任何具相对数位长度差异的长数串和短数串,例如5位数相对2位数而言为长数串,而相对18位数而言为短数串,
概括来看其方案包括将长数串通过计算转为短数串的短码化步骤和将短数串通过访问数据库返回长数串的返码化步骤,两步骤中短数串在一定时段内有效,如图1和图2所示。
短码化步骤中如图1所示,S1初始化数据库的环境并建立访问数据库的连接,设置映射位数、失效时间和冲突解决步长因子;S2根据冲突解决步长因子对长数串做模操作得到初始短数串,并在数据库中查询初始短数串存在与否;S21初始短数串未存在于数据库中,将初始短数串和时间戳存入数据库并将初始短数串返回;S22初始短数串存在于数据库中,提取初始短数串所对应数据库中记录的时间戳,判断存入时间超出失效时间与否,若在失效时间以内则返回S2重新生成新的初始短数串;S23若存入时间超出失效时间则删除数据库中记录及其时间戳,将初始短数串和时间戳存入数据库并将初始短数串返回;
返码化步骤中如图2所示,S3在数据库中查询短数串,并依据失效时间和短数串所对应数据库中记录的时间戳判断过期与否,对于未过期的短数串,则通过数据库存储的步骤S2所做模操作的反运算获得长数串并返回相关联的长数串。
为便于深入理解,以下便以17位数和6位数间的映射关系实现短动码实施例为说明。
基于基于分布式存储的服务器和通讯网络,本发明实现方法具有以下几方面的设计需求:1)、将17位数映射到6位数,2)、从6位数反过来找到17位数,3)该过程在某一段时间内有效,4)、从6位数找17位数开始时,需要验证该6位数的合理性。
在本发明在设计过程中,考虑过三种实现框架,分别为MongoDB,Hbase和Memcached。其中MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
经过试验后发现:从6位数的生成速度考虑Hbase>Memcached>MongoDB;从失效时间的精确度考虑Memcached>Hbase>MongoDB;从系统的稳定性考虑MongoDB>Hbase>Memcached;从系统规模考虑Memcached>MongoDB>Hbase。
由于Hbase基于Hadoop集群,故基于Hbase实现Number-Map是一个重量级的工具。如果Hadoop集群上有其它的任务要运行,那么集群的负担将比较重。Memcached是一个轻量级的架构,基于Memcached的Number-Map在提供服务时比较轻便,但是其一个致命的弱点就是数据很难备份,一但数据丢失将无法恢复,这对于提供安全服务来说是致命的。
MongoDB也是一个分布式数据库,具有很好的数据容灾性。从系统规模来说介于Memcached和Hbase之间。MongoDB对失效时间的支持没有前两者好,误差在min量级(Hbase是s级,Memcached是ms级)。尤其在MongoDB集群上,设置的失效时间和实际失效时间没有直接关系,故不能利用MongoDB自带的expire-time机制实现Number-Map。
但是为了充分利用MongoDB集群的优点(主要表现在数据容灾,系统规模),最大化地弥补其不足,本发明设计了利用时间戳差值的方法替代了MongoDB失效时间误差较大的方案,该方法解决了失效时间问题,可将精确度提高到ms级。以下分别从两方面流程示意图来理解奔赴买那个的具体实现。
如图3所示,是本发明一优选实施例的短码化步骤的详细流程示意图。从图示可见开始时需要初始化数据库的环境,主要做的是清除表中的内容并建立数据库长连接,同时设置映射位数、失效时间和冲突解决步长因子。数据库以Json结构存储数据,没有严格意义上的key-value之分,通过对某一个属性建立索引后,通过该索引可以快速获得value值和相应Json所有数据。这个与Hbase有很大的不一样,Hbase是严格意义上的key-vlaue数据库,默认对key建立了索引,数据库的索引需要自己建立,索引有多个格式,但是每一个属性只能有一个索引。
初始化环境建立后,为了获得质量比较高的随机种子,直接利用17位数通过预设的冲突解决步长因子对其做模操作得到初始的6位数。为了使该6位数可验证,系统加入了验证算法,验证算法主要是为了防止欺诈者滥用攻击。可用的验证算法具有多样性,现有技术任何用于数据验证的数据处理方式均可适用,故不再举例说明。之后,查询数据库,检查初始的6位数是否存在数据库中。如果不存在,说明该数据还没有被利用,此种情况只可能在服务之初出现;否则,说明数据已经被用过。被用过的数据需要继续判断其是否已经失效,先取出对应的时间戳,该时间戳是在前一次产生该6位数时系统打上的时间戳。然后计算该值与当前时间差的绝对值,如果该值超过设置的失效时间说明此6位数可以被再次利用,否则需要重新生成新的6位数。按照流程重新检查其是否可用,最后返回这个6位数。对于每次返回的6位数,均需要连同其时间戳存储数据库。对于能够被再次利用的6位数,需要删除数据库中已有记录及其时间戳,将该6位数连同其时间戳再次存入数据库。
如图4所示,是本发明优选实施例返码化步骤的详细流程示意图。从图示可见,该实现方法步骤的开始是不到数据库中获取对应的17位数的,而是先通过校验6位数的验证因子检验其是否合法,如果不合法系统直接返回。这一步非常关键,否则欺诈者多次滥用6位数获得一个合法的17位数,将会给商户造成损失。只有合法的6位数才有资格到数据库获得17位数。而且数据库会根据数据查询返回结果。如果合法的6位数使用期限已经超过过期时间,或返回则6位数不存在;否则,通过数据库存储的步骤S2所做模操作的反运算获得17位数并返回。
从MongoDB测试结果和API调用来看:如下表所示:其中T=15,000s,在表中共测试302万次、采用200个线程、测试跨越4个周期、详细的记录了3个周期的统计数据。在第1个周期内,因为开始6位数均没有被用过,故生成速度较快。在到达失效时间进入第2个周期后,系统会继续生成有效的6位数,被选6位数的来源主要有前一次没有用到的和已经失效的数字,以此类推
Figure 201310391105X100002DEST_PATH_IMAGE002
如图5所示,是利用本发明实现方法生成6位数的个数与平均花费时间的关系示意图。从图示可见,开始平均花费时间很快,后来很慢(在未达到失效时间之前)。过了失效时间,又变得很快。在周期T内作阻尼运动,最后达到平衡状态。平均生成一个6位预约码大约为17ms。
以上是本发明实现方法和实例效果方面的详细展示,以下再从该短动码的应用多样性来看:该短动码可以用于移动支付交易,将相关的账号信息转变为一小串短码供用户记忆或展示呈现,这样既便于使用又能切实保障用户身份唯一性识别的账号的安全性。它也可以用于门禁系统、免费自行车锁具、公共场所储物箱或车门锁等。基于上述实现方法,用户可以轻松获取一段时间内有效的短码进行门禁解禁通过、免费自行车取放、公共场所物品寄存,或者汽车车门开闭。这里公共场所至少包括“机场、火车站、大型仓储式超市、游泳馆”等需要包裹临时寄存的场所,而且传统用于此类应用的条码凭条等极易发生丢失、过期失效或重码滥用的情况,运用本发明的短动码,这些问题都将得到有效解决。
当然,除上述实施例外,本发明还可以有其它更为广泛的实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明所要求保护的范围之内。可以理解到的是:应用本发明短动码的技术方案:通过设计失效时间,并在一段时效内将长数串与动态滚动切换、相对较短的数串建立映射对应关系,从而通过短动码提高了账号的便于记忆性和安全实用性,并且通过引入时间戳充分发挥了分布式存储的数据库数据容灾、系统规模的优点,提升了短动码精度。

Claims (4)

1.一种短动码的实现方法,涉及具相对数位长度差异的长数串和短数串,其特征在于:所述实现方法基于分布式存储的数据库,包括将长数串通过计算转为短数串的短码化步骤和将短数串通过访问数据库返回长数串的返码化步骤,两步骤中短数串在一定时段内有效,其中:
短码化步骤S1,初始化数据库的环境并建立访问数据库的连接,设置映射位数、失效时间和冲突解决步长因子;
S2,根据冲突解决步长因子对长数串做模操作得到初始短数串,并在数据库中查询初始短数串存在与否;
S21,初始短数串未存在于数据库中,将初始短数串和时间戳存入数据库并将初始短数串返回;
S22,初始短数串存在于数据库中,提取初始短数串所对应数据库中记录的时间戳,判断存入时间超出失效时间与否,若在失效时间以内则返回S2重新生成新的初始短数串;
S23,若存入时间超出失效时间则删除数据库中记录及其时间戳,将初始短数串和时间戳存入数据库并将初始短数串返回;
返码化步骤S3,在数据库中查询短数串,并依据失效时间和短数串所对应数据库中记录的时间戳判断过期与否,对于未过期的短数串,则通过数据库存储的步骤S2所做模操作的反运算获得长数串并返回相关联的长数串。
2.根据权利要求1所述短动码的实现方法,其特征在于:步骤S1中设置映射位数为将长数串设定为17位数,将短数串设定为6位数,失效时间为用户自定义时间。
3.根据权利要求1所述短动码的实现方法,其特征在于:短码化步骤S2中,在做模操作得到初始短数串后加入验证因子,返码化步骤S3中,在数据库中查询短数串前通过检验短数串的验证因子进行合法性判断,仅将合法的短数串参与数据库查询。
4.权利要求1所述短动码的应用,其特征在于:所述短动码至少用于移动支付交易、门禁、免费自行车取放、公共场所储物箱或车门锁。
CN201310391105.XA 2013-09-02 2013-09-02 一种短动码的实现方法及其应用 Active CN103425797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310391105.XA CN103425797B (zh) 2013-09-02 2013-09-02 一种短动码的实现方法及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310391105.XA CN103425797B (zh) 2013-09-02 2013-09-02 一种短动码的实现方法及其应用

Publications (2)

Publication Number Publication Date
CN103425797A true CN103425797A (zh) 2013-12-04
CN103425797B CN103425797B (zh) 2015-05-06

Family

ID=49650534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310391105.XA Active CN103425797B (zh) 2013-09-02 2013-09-02 一种短动码的实现方法及其应用

Country Status (1)

Country Link
CN (1) CN103425797B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598801A (zh) * 2015-01-23 2015-05-06 上海众人科技有限公司 一种基于算法重构的动态二维码生成方法
CN108197932A (zh) * 2018-01-11 2018-06-22 口碑(上海)信息技术有限公司 基于短码的支付方法及装置
CN110113390A (zh) * 2019-04-17 2019-08-09 深圳壹账通智能科技有限公司 网络请求处理方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060074971A1 (en) * 2004-09-28 2006-04-06 Groenveld Damon N Method and system for formatting and indexing data
CN101923569A (zh) * 2010-07-09 2010-12-22 南京朗坤软件有限公司 一种实时数据库的结构类型数据的存储方法
CN102752110A (zh) * 2011-04-19 2012-10-24 中国银行股份有限公司 一种动态密码生成方法及系统
CN102882858A (zh) * 2012-09-13 2013-01-16 江苏乐买到网络科技有限公司 一种用于云计算系统的外部数据传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060074971A1 (en) * 2004-09-28 2006-04-06 Groenveld Damon N Method and system for formatting and indexing data
CN101923569A (zh) * 2010-07-09 2010-12-22 南京朗坤软件有限公司 一种实时数据库的结构类型数据的存储方法
CN102752110A (zh) * 2011-04-19 2012-10-24 中国银行股份有限公司 一种动态密码生成方法及系统
CN102882858A (zh) * 2012-09-13 2013-01-16 江苏乐买到网络科技有限公司 一种用于云计算系统的外部数据传输方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598801A (zh) * 2015-01-23 2015-05-06 上海众人科技有限公司 一种基于算法重构的动态二维码生成方法
CN104598801B (zh) * 2015-01-23 2018-09-04 上海众人网络安全技术有限公司 一种基于算法重构的动态二维码生成方法
CN108197932A (zh) * 2018-01-11 2018-06-22 口碑(上海)信息技术有限公司 基于短码的支付方法及装置
CN108197932B (zh) * 2018-01-11 2022-04-19 口碑(上海)信息技术有限公司 基于短码的支付方法及装置
CN110113390A (zh) * 2019-04-17 2019-08-09 深圳壹账通智能科技有限公司 网络请求处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN103425797B (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN105718455B (zh) 一种数据查询方法及装置
Chakravarthy Markovian arrival processes
CN105096172B (zh) 基于电子商务平台的电子发票的生成和处理方法及系统
US20230109969A1 (en) Data processing method and apparatus based on node internal memory, device and medium
CN102999522B (zh) 一种数据存储方法和装置
CN110471795A (zh) 区块链状态数据恢复方法及装置、电子设备
US9710505B1 (en) Systems and methods for reducing database index contention and generating unique database identifiers
Lloyd et al. Don’t Settle for Eventual Consistency: Stronger properties for low-latency geo-replicated storage
CN103473267A (zh) 数据存储查询方法及系统
TW201800967A (zh) 分布式流式資料處理的方法和裝置
CN106202112A (zh) 缓存目录刷新方法和装置
CN110471985A (zh) 基于区块链的电子票据作废方法及装置、电子设备
US9692598B2 (en) Multi-use long string authentication keys
CN104317957B (zh) 一种报表处理的开放平台、系统及报表处理方法
CN104104717A (zh) 投放渠道数据统计方法及装置
CN108632204B (zh) Http接口访问权限验证方法、系统、及服务器
CN103425797B (zh) 一种短动码的实现方法及其应用
CN101923577B (zh) 一种可扩展的计数方法与系统
CN111737726A (zh) 基于业务数据区块链的关系数据查询方法及装置
CN104408183B (zh) 数据系统的数据导入方法和装置
CN104077302B (zh) 一种大用户量账户存储和检索及认证系统
Della Porta Europeanization and social movements
CN104391935A (zh) 一种范围锁的实现方法及装置
CN103414705A (zh) 一种基于saas模式的移动互联网络异构数据交换方法
Shen et al. Dns service model based on permissioned blockchain

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING TONGFUBAN TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: WANG DEJIA

Effective date: 20150323

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 215021 SUZHOU, JIANGSU PROVINCE TO: 100035 XICHENG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20150323

Address after: 100035, room 427, country 1, south side street, Xizhimen, Xicheng District, Beijing

Applicant after: BEIJING PAYEGIS CO., LTD.

Address before: Xinghu Street Industrial Park of Suzhou city in Jiangsu province 215021 No. 328 Creative Industry Park 1-B501

Applicant before: Wang Dejia

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 100035, room 427, country 1, south side street, Xizhimen, Xicheng District, Beijing

Patentee after: Beijing cross shield Data Technology Co., Ltd.

Address before: 100035, room 427, country 1, south side street, Xizhimen, Xicheng District, Beijing

Patentee before: BEIJING PAYEGIS CO., LTD.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: No.307, 3rd floor, block D, No.51, Kunming Hunan Road, Haidian District, Beijing

Patentee after: Beijing tongfudun Artificial Intelligence Technology Co., Ltd

Address before: 100035, room 427, country 1, south side street, Xizhimen, Xicheng District, Beijing

Patentee before: Beijing cross shield Data Technology Co.,Ltd.