买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:一种支付链路自动切换方法,S1.用户通过服务网关登录平台,准备进行支付,监控POS机状态;S2.唤醒且启用支付通道监听服务;S3.监听支付通道状态;S4.列出可用支付通道并选择默认支付通道;S5.选择支付通道;S7.扫描支付通道;S8.从缓存中读取该支付通道,支付监听服务按照间隔时间扫描支付通道接口,如果当前用户正在使用的支付通道有异常,检查当前是否有其他可用支付通道,如果没有则提示用户当前不可支付,否则自动切换到可用的支付通道上,同时把用户已经选择和输入的信息在上下文中获取到,无缝切换给重新选择的支付通道的服务上,用户完成在新通道上支付,期间用户无感知;S9.异常码处理和打印小票,支付流程结束。
主权项:1.一种支付链路自动切换方法,其包括如下步骤:S1.用户通过服务网关登录平台,准备进行支付,监控POS机状态,如果是启动状态则进入S2,否则支付通道服务不启动,提示用户开机;S2.唤醒且启用支付通道监听服务,调用接口并返回可用支付通道;S3.监听支付通道状态,定时扫描支付通道端口,返回状态码:支付监听服务按照间隔时间扫描目前支付通道接口,返回各条支付通道的状态码,把全部状态码放进支付通道缓存中;S4.列出可用支付通道并选择默认支付通道:系统自动选择默认正常支付通道,如果支付通道全部不可用,直接在POS机界面警示,当前无法正常支付;S5.选择支付通道,准备进行支付,用户进行刷卡、二维码支付和输入校验密码操作;S7.扫描支付通道,把可用信息放置在缓存中;S8.从缓存中读取该支付通道,支付监听服务按照间隔时间扫描支付通道接口,如果当前用户正在使用的支付通道有异常,检查当前是否有其他可用支付通道,如果没有则提示用户当前不可支付,否则自动切换到可用的支付通道上,同时把用户已经选择和输入的信息在上下文中获取到,无缝切换给重新选择的支付通道的服务上,用户完成在新通道上支付,期间用户无感知;S9.异常码处理和打印小票:如果在有效时间内银联或支付机构没有返回正常支付成功码,或返回了异常码,系统扫描到当前POS机存在支付异常码或超时无返回,则告知用户当次支付没有成功,银联或支付机构会在适当期限内完成资金冲正和退款操作,同时更改当前支付流水订单状态为支付失败,如果返回正常码,则系统启动打印程序,完成银联或支付机构的小票打印,支付流程结束;S1.定时线程任务每隔2秒钟扫描缓存中支付通道是否健康状态;S2.Pos机初始化,请求加载相应参数,部分敏感信息加密处理;S2.1.启动Pos机主程序依附Netty用户端,服务器的服务同时启动,新建或保持连接通道的有限性;S2.2.监听主线程,监听支付通道的增加、减少、失效、正常状态;S3.通过监听支付通道端口,查看支付通道的线程是否存活;S3.1启动支付通道的连接;S3.2对于出现连接超时、失效的端口,实时启动端口重新连接机制;S4.通过端口的存活,来判断检查支付通道的状态;S4.1.对于通过端口检查存活或健康的支付通道,将其放入缓存队列中,待检查启用;S5.前端请求支付通道完成交易;S5.1.从当前有效的支付通道中返回其中一条支付通道,为当前支付使用;S6.当有效支付通道被正常使用后,平台会发一条站内消息通知;S7.通过当前支付通道的交易过程,返回给平台支付交易的结果;S7.1.返回支付通道的交易数据;S8.平台获取支付机构返回支付数据和支付状态,完成支付通道选择和支付交易结果;公钥秘钥对算法引入两种经典的加密算法,实现基于上述两种加密算法的混合加密模式的信用数据交换传输,其中,公钥秘钥对算法具体为:S1:利用迭代分组加密算法对待传输的信息明文P进行数据加密,形成密文;S2:利用非对称加密算法生成一对秘钥,发送者利用非对称加密算法生成的公钥对迭代分组加密算法的秘钥进行加密,并将通过非对称加密算法加密的迭代分组加密算法的秘钥以及迭代分组加密算法加密的密文发送给接收方;S3:接收方利用非对称加密算法生成的私钥对被非对称加密算法加密的迭代分组加密算法的秘钥进行解密,再利用迭代分组加密算法的秘钥对密文进行解密形成明文,从而达到安全传输的目的;其中,所述的迭代分组加密算法具体如下:迭代分组加密算法在处理64位信息明文分组的同时产生64位密文;在迭代分组加密算法中,有八位用作校验位,分别是第8、16、24、32、40、48、56、64位,而用于加密的秘钥有效位数为56位;在64位明文数据输入直到64位密文输出,迭代分组加密算法共执行了16轮加密,在每一轮加密过程中,都会有48位秘钥Ki和8个替代映射箱Si参与其中,将输入的64位明文数据进行拆分,变为两个相同并且独立的32位明文,记作L0和R0,进行每一轮算法都相同的轮加密,利用上一轮32位的Li-1与Ri-1作为输入参数,输出32位的参数为Li和Ri,其中i的取值范围为1≤i≤16;其中,每一轮的加密计算方法具体步骤为:S1.输入64位数据;S2.初始置换IP;S3.加密,Li=Ri-1,S4.最终置换IP-1;其中,fRi-1,Ki表示映射箱算法,Ki表示第i轮的密钥,表示异或运算,E和P分别表示扩展函数和映射函数,E和P对Ri-1和进行位数扩展映射,将32位扩展至48位;对于迭代分组加密算法,初始置换IP和最终置换IP-1都是有相应规则进行位置置换排列;其中,映射箱算法fRi-1,Ki具体实现如下:S1.将Ri-1=r1r2r3.......r32从32位扩展至48位,Ri-1表示明文经过i-1轮加密后的密文,rj表示第j位的字符;S2.对Ri-1进行扩展,T1表示8个6位的字符串Bi,T1=B1B2......B8;S3.S1B1,S2B2,...,S8B8→T2,其中,SiBi将Bi=b1b2......b6,映射为映射箱Si的r行c列的4位,其中,r=2b1+b6,b2b3b4b5为0≤c≤15的二进制表示,bi为字符串Bi的第i位的字符;S4.通过置换函数P对T2进行置换,记为PT2→T3,通过直接换位,将32位的T2=t1t2......t32置换为T3=t16t7......t25;其中,迭代分组加密算法的秘钥Ki是由48位密码长度组成,16轮迭代每次迭代都需要不同的秘钥Ki进行加密,秘钥Ki生成过程如下:S1.去除8个秘钥奇偶校验位,将64位初始秘钥K0降至56位,根据秘钥置换选择将56位秘钥分成两块,分别为28位C0和28位D0;S2.根据轮次将C0和D0循环左移,变换后生成C1和D1,然后将C1和D1合并,再通过秘钥置换选择生成48位秘钥K1;S3.C1和D1再次进行循环左移变换,生成C2和D2,并将C1和D1合并,通过选择置换生成48位秘钥K2;S4.步骤S3重复9次,得到48位秘钥Ki,3≤i≤16;其中,循环左移的位数是由迭代轮数决定的,第1、2、9、16次是左移一位,其余轮次都是左移两位;其中,所述的非对称加密算法步骤如下:S1.选取两个大素数p和q,并且要求p≠q,计算,则n=p×q;S2.选取素数e,并且要求e满足和最大公约数S3.计算mod表示求余函数;S4.公布秘钥,将Kpublic=e,n用做公钥参数,Kprivate=d,n用作私钥参数;S5.利用C=pemodn公式对明文进行加密,p=Cdmodn公式对密文进行解密;其中,素数p和q的二进制位数大于1024,素数p和q的十进制数值满足1000<|p-q|<10000,POS机通过负载均衡器与服务器连接,通过适配器的方式,把Sentinel与主流框架SpringClou集成一起,在SpringCloud的扩展点上增加Sentinel的相关限流、降级的代码,当集群中某一台或几台服务器出现负载量过大或长时间没有及时响应时,Sentinel熔断机制开始启用,从而达到保护支付链路自动切换服务高稳定性和高可用性的目的;Sentinel是面向分布式服务架构的轻量级高可用访问流量控制组件,主要以访问流量为切入点,从访问流量控制、熔断降级、系统负载保护多个维度来保护支付链路自动切换服务的稳定性;Sentinel基于多7种不同的服务节点形成一个链表,每个服务节点都各司其职,自己做完分内的事之后,会把请求传递给下一个服务节点,直到在某一个服务节点的服务满足限流熔断条件后,抛出阻塞异常而终止传递,Sentinel通过服务节点链完成了对每个服务节点的入口方法的调用,每个服务节点会根据创建的规则,进行自己的逻辑处理,当统计的结果达到设置的阈值时,就会触发限流、熔断事件;7种节点的功能职责如下:NodeSelectorSlot负责收集资源的路径,并将这些资源的调用路径,以树状结构存储起来,用于根据调用路径来限流降级;ClusterBuilderSlot则用于存储资源的统计信息以及调用者信息,包括RT运行时间,QPS每秒查询数,threadcount线程数量,这些信息将用作为多维度限流,降级的依据;StatistcSlot则用于记录,统计不同纬度的RunTime运行时间信息;FlowSlot则用于根据预设的限流规则,以及前面节点统计的状态,来进行限流;AuthorizationSlot则根据黑白名单,做黑白名单控制;DegradeSlot则通过统计信息,以及预设的规则,做熔断降级;SystemSlot则通过系统的状态,控制总的入口流量;前3个节点负责做统计,后面的4个负责根据统计的结果结合配置的规则进行具体的控制,是阻塞该请求还是放行;其中,负载均衡器把请求任务按照某种策略分配到服务节点,为了确保负载均衡器能真实准确地获取服务节点的实时处理能力,需要对影响服务节点的处理能力因素进行分析;由于负载均衡模块对服务节点进行参数的采集时,如果参数过多会对负载均衡节点和服务节点造成一定的资源损耗;为了避免采集服务节点的实时参数过程对系统的性能造成影响,决定以影响服务器节点的两个主要核心因素作为实时负载能力的指标,分别是处理器利用率和内存空闲率;包括如下步骤:S1.负载均衡器和服务节点的通信方式的实现采用Socket接口进行通信,为降低通信带来的资源损耗问题,采用对资源要求较少的UDP作为传输协议;S2.负载均衡器周期性向服务节点发送采集请求,计算得出服务节点的处理器利用率和内存空闲率;处理器分为三种运行状态,分别是空闲态,用户态和系统内核态,用Ta表示空闲态的运行时间,Tb表示用户态的运行时间,Tc表示内核态的运行时间,则处理器利用率Ci计算公式如下: 通过系统文件可查出当前服务节点的总内存total大小,缓冲区buffers大小,缓存区cached大小,空闲内存free大小,内存空闲率Mi计算如公式如下:S3.进行服务节点权重的计算,对于多个服务节点Ni,用集合Node={N1,N2,...,Ni,...,Nn}表示,对于服务节点Ni的处理器利用率用Ci表示,内存空闲率用Mi表示,权重用Wi表示,服务节点Ni的权重表达函数Fi如下:Fi=λ11-Ci+λ2Mi;其中λ1+λ2=1,λ1和λ2表示处理器和内存的影响因子,Ci和Mi的值都处于区间[0,1]范围内,当1-Ci和Mi都为0时,Fi为0,表示服务节点处于不可用状态,将不会对其进行任务的分配,当满足负载权重差值时,Wi=Fi;S4.新权重值与旧值进行边界条件分析,在边界值P设定下,对于服务节点权重Wi的更新,需满足下式: 其中,0<P<1,当满足边界条件时,则调用setsockopt函数将新的权重写入负载均衡器的负载配置表,并重新分配负载任务,否则按照之前的负载均衡对任务进行转发分配。
全文数据:
权利要求:
百度查询: 庞茂林 一种支付链路自动切换方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。