一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据流通方法、系统、存储介质及电子设备与流程

2022-05-08 07:32:44 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种数据流通方法、系统、存储介质及电子设备。


背景技术:

2.单离线作为当下较常见的一种数据流通方式,其实现数据流通的机制是:数据发送方设备与数据接收方设备中,其中一方设备能够与服务器进行通信,当服务器接收到设备发送过来的数据流出/数据流入请求时对数据进行实时划转,从而实现单离线数据流通。
3.基于单离线技术发展出的双离线技术则是指在数据流通过程中,数据发送方设备与数据接收方设备双方均不能与服务器进行通信,即在服务器未参与的情况下,数据发送方设备与数据接收方设备之间也能够完成数据流通。因双离线数据流通过程中服务器未参与,如何保证双离线数据流通的真实性、可靠性以及不可抵赖性成为了亟待解决的问题。


技术实现要素:

4.本技术实施例提供了一种数据流通方法、系统、存储介质及电子设备,所述技术方案如下:第一方面,本技术实施例提供了一种数据流通方法,所述方法应用于数据发送方设备,包括:步骤s11:所述数据发送方设备接收指令;步骤s12:所述数据发送方设备对所述指令的功能进行判断,若是双离线数据流通初始化指令,则执行步骤s13;若是双离线数据流通执行指令,则执行步骤s16;若是双离线数据流通完成指令,则执行步骤s24;步骤s13:所述数据发送方设备解析所述双离线数据流通初始化指令,获取双离线数据流通量以及第一时间戳;步骤s14:所述数据发送方设备生成第二随机数,并获取数据发送方设备的标识以及名称、预先存储的数据发送方设备证书,将所述双离线数据流通量、所述第一时间戳、所述第二随机数、所述数据发送方设备的标识以及名称、所述数据发送方设备证书发送给数据接收方设备;步骤s15:所述数据发送方设备将数据流通状态设置为双离线数据流通状态并结束;步骤s16:所述数据发送方设备解析所述双离线数据流通执行指令并检测双离线数据流通状态是否设置成功,若是,确定双离线数据流通初始化指令已执行成功,执行步骤s17,否则,返回错误信息并结束;步骤s17:所述数据发送方设备通过解析所述双离线数据流通执行指令获取到所述数据接收方设备生成的签名数据、第一随机数、第一密钥分散因子、数据接收方设备的标识以及名称、数据接收方设备证书,并对所述签名数据进行验证,若验证通过,执行步骤
s18,否则,返回错误信息并结束;步骤s18:所述数据发送方设备基于数据发送方设备的数据余量以及所述双离线数据流通量,计算数据发送方设备的数据新余量并保存,对数据流通计数器的值增加一,获得第一数值并保存;步骤s19:所述数据发送方设备生成数据流通索引并保存;步骤s20:所述数据发送方设备建立数据流通结果以及目标个数的数据减量凭证,计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和是否大于等于所述双离线数据流通量,若等于,执行步骤s21,若大于,计算所述子数据流通量之和与所述双离线数据流通量之间的差值,并对所述差值进行保存,执行步骤s21;步骤s21:所述数据发送方设备生成第二密钥分散因子,并通过所述第一随机数、所述第二随机数、所述第一密钥分散因子以及所述第二密钥分散因子计算第一加密会话密钥与第一mac会话密钥,利用所述第一加密会话密钥对所述目标个数的数据减量凭证进行加密,获得数据减量凭证密文,利用所述第一mac会话密钥对所述第二密钥分散因子与所述数据减量凭证密文进行加密,获得第一报文验证码;步骤s22:所述数据发送方设备将所述第二密钥分散因子、所述数据减量凭证密文、所述目标个数的数据减量凭证、所述数据流通结果以及所述第一报文验证码发送给所述数据接收方设备;步骤s23:所述数据发送方设备将数据流通状态设置为双离线数据流通完成状态并结束;步骤s24:所述数据发送方设备解析所述双离线数据流通完成指令并检测双离线数据流通完成状态是否设置成功,若是,确定双离线数据流通执行指令已执行完成,执行步骤s25,否则,返回错误信息并结束;步骤s25:所述数据发送方设备通过解析所述双离线数据流通完成指令获取到双离线阶段的数据流通结果、第二报文验证码,利用所述第一mac会话密钥验证所述第二报文验证码是否正确,若验证正确,则执行步骤s26,否则,返回错误信息并结束;步骤s26:所述数据发送方设备保存所述双离线阶段的数据流通结果并结束。
5.第二方面,本技术实施例提供了一种数据流通方法,所述方法应用于数据接收方设备,包括:步骤s11’:所述数据接收方设备接收数据发送方设备发送的返回数据;步骤s12’:所述数据接收方设备对所述返回数据进行判断,若是双离线数据流通初始化指令的返回数据,则执行步骤s13’;若是双离线数据流通执行指令的返回数据,则执行步骤s14’;步骤s13’:所述数据收方设备解析所述双离线数据流通初始化指令的返回数据,从中获取到所述数据发送方设备生成的第二随机数;步骤s14’:所述数据接收方设备解析所述双离线数据流通指令的返回数据,从中获取到数据减量凭证密文、第一报文验证码以及所述数据发送方设备生成的第二密钥分散因子,执行步骤s15’;步骤s15’:所述数据接收方设备通过自身生成的第一随机数、自身生成的第一密
钥分散因子、所述第二随机数以及所述第二密钥分散因子计算第二加密会话密钥与第二mac会话密钥,利用所述第二mac会话密钥对所述第一报文验证码进行验证,若通过,执行步骤s16’,否则,返回错误信息并结束;步骤s16’:所述数据接收方设备利用所述第二加密会话密钥对所述数据减量凭证密文进行解密,获得目标个数的数据减量凭证;步骤s17’:所述数据接收方设备采用非对称算法和哈希算法对所述目标个数内的各数据减量凭证中的最后一个数据流通子链的签名数据进行验证,若验证通过,执行步骤s18’,否则,返回错误信息并结束;步骤s18’:所述数据接收方设备将所述目标个数内的各数据减量凭证中的最后一个数据流通子链的数据流通索引与内部存储的数据流通索引进行比对,若相等,执行步骤s19’,否则,返回错误信息并结束;步骤s19’:所述数据接收方设备计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和与双离线数据流通量是否相等,若相等,生成数据流通结果,执行步骤s20’,否则,返回错误信息并结束;步骤s20’:所述数据接收方设备利用所述第二mac会话密钥对所述数据流通结果进行加密,获得第二报文验证码,将所述数据流通结果与所述第二报文验证码发送给所述数据发送方设备。
6.第三方面,本技术实施例提供了一种数据流通系统,所述系统包括数据发送方设备与数据接收方设备,其中:所述数据发送方设备,用于执行上述第一方面所述方法的步骤;所述数据接收方设备,用于执行上述第二方面所述方法的步骤。
7.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面或第二方面所述方法的步骤。
8.第五方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面所述方法的步骤。
9.本技术一些实施例提供的技术方案带来的有益效果至少包括:本技术提供的数据流通方法,数据发送方设备通过建立携带有双离线数据流通量的数据流通凭证并将加密后的数据流通凭证发送给数据接收方设备进行合法性验证,若验证合法且数据接收方设备返回给数据发送方设备的验证信息被数据发送方设备验证正确时,完成双离线数据流通。上述方法中,数据流通凭证经加密后再发送给数据接收方设备、数据接收方设备在接收到加密后的数据流通凭证后再对其进行验证,该过程确保了双离线数据流通的真实性、可靠性,以及,当验证数据流通凭证合法时,其所携带的双离线数据流通量保证了双离线数据流通的不可抵赖性。
附图说明
10.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
11.图1-图2是本技术实施例提供的一种数据流通方法的流程示意图。
具体实施方式
12.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
13.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
14.在本技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
15.在本技术实施例提供的数据流通方法中,数据接收方设备与数据发送方设备均处于离线状态,实现了双离线状态下的数据流通。双方设备之间通过非接触协议、蓝牙通信协议或nfc通信协议实现数据传输。
16.其中,数据接收方设备与数据发送方设备可以是智能卡,也可以是任意一种能够实现数据流通的智能设备(例如手机、智能手表等)。
17.下面将结合附图1-图2,对本技术实施例提供的数据流通方法进行详细介绍。
18.请参见图1-图2,为本技术实施例提供的一种数据流通方法的流程示意图。
19.图1-图2所示的方法应用于数据发送方设备,包括以下步骤:步骤s11:数据发送方设备接收指令。
20.步骤s12:数据发送方设备对指令的功能进行判断,若是双离线数据流通初始化指令,则执行步骤s13;若是双离线数据流通执行指令,则执行步骤s16;若是双离线数据流通完成指令,则执行步骤s25;若是异步更新初始化指令,则执行步骤s28;若是异步更新执行指令,则执行步骤s31;若是异步更新完成指令,则执行步骤s36。
21.步骤s13:数据发送方设备解析双离线数据流通初始化指令,获取双离线数据流通量以及第一时间戳。
22.查询数据发送方设备的数据余量,将数据发送方设备拥有的数据余量与双离线数据流通量进行对比,若是数据发送方设备的数据余量大于或者等于双离线数据流通量,则执行步骤s14,否则,返回错误信息并结束。
23.其中,发送给数据发送方设备的双离线数据流通量是一个6字节的十六进制数据,该十六进制数据在数据接收方设备上可以转换为十进制的数值,精确到两位小数。
24.时间戳是一串用来表示当前时间的数字。
25.通过双离线数据流通初始化指令中的第一时间戳,数据发送方设备能够获得双离线数据流通的发起时间,并验证所接收的指令中的数据在生成后是否发生过篡改。
26.例如,双离线数据流通量具体为:000000000010(表示十进制的0.16)。
27.例如,双离线数据流通的发起时间的时间戳具体为:20200625142300。
28.以上述双离线数据流通量000000000010为例,当数据发送方设备的数据余量大于或者等于000000000010时,双离线状态下的数据流通可正常进行;否则,返回错误信息并结束。
29.步骤s14:数据发送方设备生成第二随机数,并获取数据发送方设备的标识以及名称、预先存储的数据发送方设备证书,将双离线数据流通量、第一时间戳、第二随机数、数据发送方设备的标识以及名称、数据发送方设备证书发送给数据接收方设备。
30.数据发送方设备生成的第二随机数具体为:88fa5359aa01fac5。
31.数据发送方设备的标识可以是:0041020450230015。
32.数据发送方设备的名称可以是:5f0512e4b8ade8a18ce7a1ace4bbb6e992b1e58c85。
33.数据发送方设备证书具体为:308201ba30820160a00302010202020256300a06082a811ccf55018375303a310b300906035504061302434e3111300f060355040a0c08424f435f746573743118301606035504030c0f424f435f444543505f746573744341301e170d3230303832373032323331375a170d3231303832373032323331375a3036310b300906035504061302434e310c300a060355040a0c03424f433119301706035504030c10303034313032303836343136303038393059301306072a8648ce3d020106082a811ccf5501822d03420004c801c6f38a3a0bfeba1f2c134f995990770c2fe8ed07777e2a4c8aeeab22caaed0c835f13edb593450c92aecfba0b1b8ed9f2adabb2d1effb28fcfa10a3fb120a35a305830090603551d1304023000300b0603551d0f0404030205e0301d0603551d0e0416041454a51ec751477340363e50c9b458444795fe9d9b301f0603551d2304183016801440972ed13633d0082eb72260ecdc35aec6c71d02300a06082a811ccf550183750348003045022100b8c220191e0266550fffd35aeef46ad2d765b1ce2decc017fa6c45a05797c40d02201474711ce627b1b7746e776bcc8e41d78cba74159e971533a5825d2ed0fd14a5。
34.其中,数据发送方设备证书是在个人化阶段、由数据发送方设备生成设备公钥并通过服务器签名而获得的。数据发送方设备对该证书进行存储。
35.步骤s15:数据发送方设备将数据流通状态设置为双离线数据流通状态并结束。
36.上述初始化阶段对双方在后续双向认证过程中需要用到的认证数据进行交换。
37.对应地,数据接收方设备在接收到双离线数据流通初始化指令的返回数据时,执行如下步骤:数据收方设备解析双离线数据流通初始化指令的返回数据,从中获取到数据发送方设备生成的第二随机数。
38.步骤s16:数据发送方设备解析双离线数据流通执行指令并检测双离线数据流通状态是否设置成功,若是,确定双离线数据流通初始化指令已执行成功,执行步骤s17,否
则,返回错误信息并结束。
39.步骤s17:数据发送方设备通过解析双离线数据流通执行指令获取到数据接收方设备生成的签名数据、第一随机数、第一密钥分散因子、数据接收方设备的标识以及名称、数据接收方设备证书,并利用预先存储的服务器证书对数据接收方设备证书进行合法性验证,若验证通过,则执行步骤s18,否则,返回错误信息并结束。
40.数据接收方设备的标识具体为:0041020450230015。
41.数据接收方设备的名称具体为:5f0512e4b8ade8a18ce7a1ace4bbb6e992b1e58c85。
42.数据接收方设备证书是利用服务器私钥对数据接收方设备公钥进行签名生成的。
43.数据接收方设备证书具体为:308201ba30820160a00302010202020256300a06082a811ccf55018375303a310b300906035504061302434e3111300f060355040a0c08424f435f746573743118301606035504030c0f424f435f444543505f746573744341301e170d3230303832373032323331375a170d3231303832373032323331375a3036310b300906035504061302434e310c300a060355040a0c03424f433119301706035504030c10303034313032303836343136303038393059301306072a8648ce3d020106082a811ccf5501822d0342000439991352ed6a171e63902c6abcfa7a906155372a11bb6e24f5698ff5b7aaef9ade13528b3ab5312f9f4de8615bd1f77de0c5387893d1e9600e531ac4ddbe0783a35a305830090603551d1304023000300b0603551d0f0404030205e0301d0603551d0e0416041454a51ec751477340363e50c9b458444795fe9d9b301f0603551d2304183016801440972ed13633d0082eb72260ecdc35aec6c71d02300a06082a811ccf550183750348003045022100bbbcf1722b55633998128e9d6f74696e472e2563ac804d5f8477b2198e7e77c102205022141f5699bfb80b86fdbfc97a9180b42f4947bb4797090a9a96f2fc287829111111111111111122222222222222222222222222222222ea518165a6faaea9ee122ddfb64e6f36581a2affcaa152dbf3dc9fd5d6641d888d9f17beba7a98363723e2e0c0bb4aeafd09134e2e97a4bca5c688b625bb9dd3。
44.对上述数据接收方设备证书的验证过程如下:数据发送方设备从预先存储的服务器证书中提取出服务器公钥:ebbde61cfa439342b80614d1cfe781e6d444f1f5d5f56a2af60510861fda5cff47bfc61512fee84bf7f0fcc66702a5fa72a267a1a813eff2338a99584a61ba72,使用sm2 sm3国密算法以及服务器公钥计算出国密椭圆曲线z值:779c65a1529a24089bd0bef921723d50e185bd48fbd9db143d9be3046ff7cae2,再对国密椭圆曲线z值和数据接收方设备证书进行哈希计算得到哈希值α:1f6c80a061a69c3570f80a7e4dadca2e4fb3c27bf350254207921fbb85f9faa0,使用服务器公钥和哈希值α对数据接收方设备证书中的签名数据进行验签,若验签通过,则数据接收方设备证书合法,执行步骤s18,若验签失败,则数据接收方设备证书不合法,返回错误信息并结束。
45.此外,在其他实施例中,上述验证数据接收方设备证书的过程还可以使用国际算法,具体过程如下:使用sha256加密算法以及服务器公钥计算出ecc椭圆曲线值:6f2505570cbfacffc01fb0b95f3ff03bba46a1eadffb45bd2d3460647e4c178f,再对ecc椭圆曲线值和数据接收
方设备证书进行哈希计算得到哈希值α:dc58cef0a7ae1023c9f8426649d4d7179449b797af36c32f0fb5b8397ea61536,使用服务器公钥和哈希值α对数据接收方设备证书中的签名数据进行验签。
46.步骤s18:数据发送方设备从数据接收方设备证书中提取数据接收方设备公钥,并利用所提取的数据接收方设备公钥对签名数据进行验签,若验签成功,则执行步骤s19,否则,返回错误信息并结束。
47.验签过程为:数据发送方设备利用国密算法以及所提取的数据接收方设备公钥计算出国密椭圆曲线z值,再对国密椭圆曲线z值、第一随机数、第一密钥分散因子以及数据接收方设备证书进行哈希运算,获得哈希值β,利用数据接收方设备公钥和哈希值β对数据发送方设备接收的双离线数据流通执行指令中的签名数据进行验签。若验签通过,则签名数据合法合法,执行步骤s19;若验签失败,则说明签名数据不合法,返回错误信息并结束执行。
48.步骤s19:数据发送方设备基于数据发送方设备的数据余量以及双离线数据流通量,计算数据发送方设备的数据新余量并保存,对数据流通计数器的值增加一,获得第一数值。
49.数据发送方设备从数据余量中扣减掉双离线数据流通量,将扣减后最新剩余的数据量作为数据新余量,对数据新余量进行保存。
50.步骤s20:数据发送方设备生成数据流通索引并保存。
51.数据流通索引用来保证每次数据流通的数据流通索引惟一性,对于某一次数据流通关联的数据流通凭证及数据流通流水,数据发送方设备和数据接收方设备双方具有相同的数据流通索引。数据流通索引生成规则:第二随机数||第一随机数。
52.步骤s21:数据发送方设备建立数据流通结果以及目标个数的数据减量凭证,计算目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断子数据流通量之和是否大于等于双离线数据流通量,若等于,执行步骤s22,若大于,计算子数据流通量之和与双离线数据流通量之间的差值,并对差值进行保存,执行步骤s22。
53.数据减量凭证的数据结构是一个嵌套格式,包括数据组合、数据流通子链。
54.其中,数据组合也是一个嵌套的数据结构,包括版本号、冠字号、数据流通标识、面值、服务器标识、发行时间、发行机构保留域、发行机构签名、所有者标识、服务器保留域、服务器签名;数据流通子链的嵌套数据结构括数据流通量、数据流通索引、数据接收方设备公钥、数据发送方设备签名。
55.数据减量凭证的数据结构如下:名称
ꢀꢀꢀꢀꢀꢀ
是否嵌套
ꢀꢀꢀꢀꢀ
tag编码(hex)
ꢀꢀꢀꢀꢀꢀ
存在性数据减量凭证
ꢀꢀꢀꢀyꢀꢀꢀꢀ
63
ꢀꢀꢀ
m-数据组合
ꢀꢀꢀꢀyꢀꢀꢀꢀ
72
ꢀꢀꢀ
m-数据流通子链
ꢀꢀꢀyꢀꢀꢀꢀ
60
ꢀꢀꢀ
m其中,数据组合的具体结构如下:名称
ꢀꢀꢀꢀꢀꢀ
是否嵌套
ꢀꢀꢀꢀꢀ
tag编码(hex)
ꢀꢀꢀꢀꢀꢀ
存在性-数据组合
ꢀꢀꢀꢀyꢀꢀꢀꢀ
72
ꢀꢀꢀ
m-版本
ꢀꢀꢀꢀꢀnꢀꢀꢀꢀ
41
ꢀꢀꢀm‑
冠字号 n
ꢀꢀꢀꢀ
42
ꢀꢀ
m-数据流通标识
ꢀꢀnꢀꢀꢀꢀ
43
ꢀꢀꢀ
m-面值
ꢀꢀꢀꢀꢀnꢀꢀꢀꢀ
44
ꢀꢀꢀ
m-服务器标识
ꢀꢀꢀꢀnꢀꢀꢀꢀ
45
ꢀꢀꢀ
m-发行时间
ꢀꢀꢀꢀnꢀꢀꢀꢀ
46
ꢀꢀꢀ
m-发行机构保留域
ꢀꢀyꢀꢀꢀꢀ
f3
ꢀꢀꢀ
m-发行机构签名
ꢀꢀꢀnꢀꢀꢀꢀ
48
ꢀꢀꢀ
m-所有者标识
ꢀꢀꢀꢀꢀꢀnꢀꢀꢀꢀ
49
ꢀꢀꢀ
m-服务器保留域
ꢀꢀꢀyꢀꢀꢀꢀ
f4
ꢀꢀꢀ
m-服务器签名
ꢀꢀꢀꢀꢀꢀnꢀꢀꢀꢀ
4b
ꢀꢀꢀ
m数据流通子链的具体结构如下:名称
ꢀꢀꢀꢀꢀꢀ
是否嵌套
ꢀꢀꢀꢀꢀ
tag编码(hex)
ꢀꢀꢀꢀꢀꢀ
存在性-数据流通子链
ꢀꢀꢀyꢀꢀꢀꢀ
73
ꢀꢀꢀ
m-数据流通量
ꢀꢀꢀꢀꢀꢀꢀnꢀꢀ
51
ꢀꢀꢀ
m-数据流通索引
ꢀꢀꢀnꢀꢀꢀꢀ
52
ꢀꢀꢀ
m-数据接收方设备公钥
ꢀꢀnꢀꢀꢀꢀ
53
ꢀꢀꢀ
m-数据发送方设备签名
ꢀꢀnꢀꢀꢀꢀ
54
ꢀꢀꢀ
m具体的,数据减量凭证可以是:6382024e728201a6410200014220e2b6643488d30f77ddbf86f973612ea300695719344f7c05a61a5de30102baae432046bc8ab4b7d03ccb0d82d52d4c8fac35d03fe8a72e8de8cde25b0d508da205134406000000ffffff4503000fa0460660c06a59033e47818000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004840987fe99c5dc94714a8ece704878c22e3215f717a4495eee2ef12eb69d97e4e05d8fc59568efa11e06a9659f3ccd0659ee0d294990c30316225ecd614dd0cb82e494037433635765a33373147313865665035534d714a5567625170564d4d5472616e4e6d384f4271594a6575376633523458506632674356366c47544f4d326e78754b405c474c3dfbbd9a08fa326b9d3067930c58ae26cca4af2a1dc8b9ab23dbdd78f8b6ddb951dde5191cef4120aeae98ec1055d991efb6f72b32763cc2d64a828a946081a173819e51060000000000105210e2716e5a9d6a18dc1111111111111111534039991352ed6a171e63902c6abcfa7a906155372a11bb6e24f5698ff5b7aaef9ade13528b3ab5312f9f4de8615bd1f77de0c5387893d1e9600e531ac4ddbe078354409b467e71bb9c5df3ddff11d356bb4c0eebaa58686a1d3a8a79a8867a92dbf99f81a50c9284a7080cbf3a48ee54565477d0ef32a076c071ae6427cd4153e8004a。
56.具体地,步骤s21可包括:步骤s211:数据发送方设备建立数据流通结果;步骤s212:从内部存储中获取全部的有效数据余量凭证,并按从大到小的顺序对各有效数据余量凭证中的凭证数据余量进行累加,当累加结果大于等于双离线数据流通量时,记录经过累加的有效数据余量凭证的目标个数;
步骤s213:确定出经过累加的各有效数据余量凭证分别对应的数据减量凭证,得到目标个数的数据减量凭证;步骤s214:计算目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断子数据流通量之和是否大于等于双离线数据流通量,若等于,执行步骤s22,若大于,计算子数据流通量之和与双离线数据流通量之间的差值,并对差值进行保存,执行步骤s22。
57.数据发送方设备内部存储有多个数据余量凭证,从中选出有效的数据余量凭证,并按从大到小的顺序累加有效数据余量凭证中的凭证数据余量,当累加结果大于等于双离线数据流通量时,确定出累加过的有效数据余量凭证的目标个数,根据数据余量凭证与数据减量凭证的一一对应关系,每个有效数据余量凭证都对应着一个使用tlv结构组成的数据减量凭证,可以得到目标个数的数据减量凭证。
58.实现数据流通的前提是累加的子数据流通量之和应能满足双离线数据流通量,因此,当累加的子数据流通量之和大于双离线数据流通量时,在将累加结果中与双离线数据流通量等值的部分用于数据流通的同时,还需对子数据流通量之和与双离线数据流通量之间的差值进行保存。
59.若累加完全部有效数据余量凭证中的凭证数据余量,累加结果仍小于双离线数据流通量时,数据流通无法实现,返回错误信息并结束。
60.本实施例通过数据流通子链中的子数据流通量可以实现对数据发送方的数据流通校对。
61.此外,每个数据减量凭证中的最后一个数据流通子链的数据发送方设备签名是通过采用非对称算法和哈希算法对数据组合、最后一个数据流通子链之前的所有数据流通子链中的数据发送方设备签名组合、最后一个数据流通子链中的子数据流通量、数据流通索引以及数据接收方设备公钥进行签名获得的。
62.步骤s22:数据发送方设备生成第二密钥分散因子,并通过第一随机数、第二随机数、第一密钥分散因子以及第二密钥分散因子计算第一加密会话密钥与第一mac会话密钥,利用第一加密会话密钥对数据流通凭证进行加密,获得数据流通凭证密文,利用第一mac会话密钥对第二密钥分散因子与数据流通凭证密文进行加密,获得第一报文验证码。
63.使用sm3国密算法计算会话密钥的过程具体如下:对第一密钥分散因子:3653b95065e6128fe125e4aa7d4279a4与第二密钥分散因子:22222222222222222222222222222222进行异或运算,获得结果a:14719b7247c430adc307c6885f605b86,数据enc&mac为:454e43264d4143;对第二随机数:88fa5359aa01fac5与第一随机数:1111111111111111进行异或运算,获得结果b:99eb4248bb10ebd4;对结果a||enc&mac||结果b的值执行哈希计算,将哈希结果的左16字节:10c15fdf3432827950d87c288a36c955作为第一加密会话密钥,将哈希结果的右16字节:a2b541b7b1c43895702253d1d6d6ad98作为第一mac会话密钥。
64.此外,在其他实施例中,还可以使用sha256国际加密算法计算会话密钥,通过该算法计算出的第一加密会话密钥为:654748f75621dd199d526b2f8e493058,第一mac会话密钥为:b8a8afdf7dd1f6281f6b2174128cacda。
65.步骤s23:数据发送方设备将第二密钥分散因子、数据流通凭证密文、数据减量凭
证、数据流通结果以及第一报文验证码发送给数据接收方设备。
66.步骤s24:数据发送方设备将数据流通状态设置为双离线数据流通完成状态并结束。
67.对应地,数据接收方设备接收到双离线数据流通执行指令的返回数据时,执行如下步骤:步骤s14’:数据接收方设备通过解析双离线数据流通指令的返回数据,从中获取到数据减量凭证密文、第一报文验证码以及数据发送方设备生成的第二密钥分散因子,执行步骤s15’。
68.步骤s15’:数据接收方设备通过自身生成的第一随机数、自身生成的第一密钥分散因子、数据发送方设备生成的第二随机数以及数据发送方设备生成的第二密钥分散因子计算第二加密会话密钥与第二mac会话密钥,利用第二mac会话密钥对第一报文验证码进行验证,若通过,执行步骤s16’,否则,返回错误信息并结束。
69.步骤s16’:数据接收方设备利用第二加密会话密钥对数据减量凭证密文进行解密,获得目标个数的数据减量凭证。
70.步骤s17’:数据接收方设备采用非对称算法和哈希算法对目标个数内的各数据减量凭证中的最后一个数据流通子链的签名数据进行验证,若验证通过,执行步骤s18’,否则,返回错误信息并结束。
71.签名数据的验证过程具体如下:数据接收方设备解析每个数据减量凭证的tlv结构,先提取出数据组合,再提取出数据流通链中的所有数据流通子链,截取出最后一个数据流通子链之前所有数据流通子链中的数据发送方设备签名,构成数据发送方设备签名组合;采用非对称算法和哈希算法对从每个数据减量凭证中提取出的数据组合、数据发送方设备签名组合、最后一个数据流通子链中的子数据流通量、数据流通索引以及数据接收方设备公钥进行签名,获得签名结果,将该签名结果与最后一个数据流通子链中的数据发送方设备签名进行比较,若相同,则验签通过,否则,返回错误信息并结束。
72.步骤s18’:数据接收方设备将目标个数内的各数据减量凭证中的最后一个数据流通子链的数据流通索引与内部存储的数据流通索引进行比对,若相等,执行步骤s19’,否则,返回错误信息并结束。
73.步骤s19’:数据接收方设备计算目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断子数据流通量之和与双离线数据流通量是否相等,若相等,生成数据流通结果,执行步骤s20’,否则,返回错误信息并结束。
74.判断子数据流通量之和与双离线数据流通量相等时,还包括:数据接收方设备在内部存储中获取无效的数据余量凭证,并将目标个数的数据减量凭证存储至所获取的无效的数据余量凭证中。
75.更进一步地,还包括:将已存储数据减量凭证的数据余量凭证的状态设置为有效。
76.步骤s20’:数据接收方设备利用第二mac会话密钥对数据流通结果进行加密,获得第二报文验证码,将数据流通结果与第二报文验证码发送给所述数据发送方设备。
77.步骤s25:数据发送方设备解析双离线数据流通完成指令并检测双离线数据流通
完成状态是否设置成功,若是,确定双离线数据流通执行指令已执行完成,执行步骤s26,否则,返回错误信息并结束。
78.基于步骤s22中各数据的生成方式(例如,数据流通凭证密文是由第一加密会话密钥对数据流通凭证进行加密获得的),数据接收方设备使用与之相对应的报文验证方式对数据发送方设备返回的报文信息进行验证和解密(例如,数据接收方利用自身生成的加密会话密钥对数据流通凭证密文进行解密获得解密后的数据流通凭证),并对解密后的数据流通凭证进行验证。若解密后的数据流通凭证验证通过则表示数据流通过程完成,否则,返回错误信息并结束。
79.步骤s26:数据发送方设备通过解析双离线数据流通完成指令获取到双离线阶段的数据流通结果以及数据接收方设备生成的第二报文验证码,利用第一mac会话密钥验证第二报文验证码是否正确,若验证正确,则执行步骤s27,否则,返回错误信息并结束。
80.步骤s27:数据发送方设备保存双离线阶段的数据流通结果并结束。
81.更详尽地,在保存数据流通结果的同时还保存数据流通索引、第二数值、数据流通类型以及数据流通状态等。
82.步骤s28:数据发送方设备解析异步更新初始化指令,获取数据母设备标识和第二时间戳,并从内部存储中获取数据流通计数器的第一数值,对第一数值增加一获得第二数值并保存,利用第二数值生成第二加密会话密钥和第二mac会话密钥。
83.异步更新是指将数据发送方设备在双离线数据流通时建立的数据流通凭证,通过在线方式上传到服务器进行更新的过程。也就是数据发送方设备在触网的状态下,向服务器端发起线上上传数据流通凭证的操作。
84.异步更新初始化阶段用于完成对异步更新过程中各项数据的初始化操作。
85.数母设备标识是一个8字节数据,例如为:1122334455667788。
86.第二时间戳为7字节数据,例如为:20210625201030。
87.步骤s29:数据发送方设备将第二数值写回内部存储中,提取数据发送方设备关联码,并将第二数值与数据发送方设备关联码串联成第一明文,使用第二加密会话密钥对数据发送方设备标识、第二时间戳、内部存储的数据流通索引进行加密获得第一密文,使用第二mac会话密钥对第一明文与第一密文进行加密获得第三报文验证码。
88.具体地,由第二数值与数据发送方设备关联码串联成的第一明文例如为:000000031400004002152530。
89.数据流通计数器的第二数值例如为:00000003。
90.数据发送方设备关联码例如为:1400004002152530。
91.使用第二加密会话密钥对数据发送方设备标识、第二时间戳、内部存储的数据流通索引进行加密获得的第一密文例如为:e67707f02124bb2f536dfb4ce4ef7ffe4f4c2294e9e35c0ba39187fcb6f62b249a72894def4d79cf0e7c76a6b9fc1296。
92.上述服务器可以是任意一个运营机构的服务器。
93.步骤s30:数据发送方设备将第一明文、第一密文以及第三报文验证码发送给服务器,并将双离线数据流通状态设置为异步更新状态,结束。
94.步骤s31:数据发送方设备解析异步更新执行指令并检测异步更新状态是否设置成功,若是,执行步骤s32,否则,返回错误信息并结束。
95.步骤s32:数据发送方设备通过解析异步更新执行指令获取到第四报文验证码与第一数据流通索引密文,通过第二mac会话密钥验证第四报文验证码是否正确,若验证正确,则执行步骤s33,否则,返回错误信息并结束。
96.步骤s33:数据发送方设备利用第二加密会话密钥对数据流通索引密文进行解密,获得第一数据流通索引明文,比对第一数据流通索引明文与内部存储的数据流通索引,若比对成功,执行步骤s34,否则,返回错误信息并结束。
97.数据流通索引密文例如为:4de6451aef49909851d242c148c95dfb16e062cb06b91cc52be75981f0bacb22。
98.步骤s34:数据发送方设备组织数据流通凭证,利用第二加密会话密钥对数据发送方设备标识、内部存储的数据流通索引、数据流通凭证以及数据流通流水进行加密获得第二密文,使用第二mac会话密钥对数据发送方设备关联码与第二密文进行加密获得第五报文验证码。
99.数据流通凭证包括数据减量凭证和数据余量凭证,在异步更新过程中涉及的是数据余量凭证,其由数据组合、数据流通子链和凭证余量(即历史数据余量)串联而成。其中,数据组合也是一个嵌套的数据结构,包括版本号、冠字号、数据流通标识、面值、服务器标识、发行时间、发行机构保留域、发行机构签名、所有者标识、服务器保留域、服务器签名;数据流通子链的嵌套数据结构包括数据流通量、数据流通索引、数据接收方设备公钥、数据发送方设备签名。
100.利用第二加密会话密钥对数据发送方设备标识、内部存储的数据流通索引、数据流通凭证以及数据流通流水进行加密获得的第二密文例如为:e67707f02124bb2f536dfb4ce4ef7ffe21d3accc4c8fe2b19700bc20dcca8d4d5a3a3e02b246d8e0b9f97702ddfb1dced045eadd4f51dfccb1ca2746fd6eb1dfb841b6a032ab11814392d295be1080b97f22e4aa0831e8d4e955220cb0e54a0bef6c4e0b1df9d56ae68233ff16534598701627d78c0905eb6122faa40bf215951a60665d01255344601d091f0792bb80d40055aba91be1affa46a9905695dfda6bfac4ddbb64efa6bf2258f495ebb3fcb7cf219531b0340c53d7e5a42c2b89eef9280c4e0997f945c4de29a7814047d6ca8726597eb6b537f6db96f7145cea80c0053bf3bdf918e6b355f8b5836c3c4a3aca642e2ad52c57feb1a27fae6bceb1b1918ffc8750f6005bac2c0995144e00d9577ec8faabd9df69967155f45c8b0f6cc44b3dcdaf2ba14184869c9e725f691c8c4fc6bd686d67f31d0e68d990cc9a5a4bd17861f43aea43f7e54507161c42061ea687aa9f822d4cce1f398d05aaf2a8a885c46c9df50adeacff56834066c0bf91aded7a6c44e09aa71894b0e343e84a61aa41a4f12448e2b514c6fc187498a055194bac25325f573dc849d4879524d939a9323e76dd54c9b78a72b81a40ee851682983e97157f04944520eeee47a07dfefe2e73f72138fb72fb4f3ee72c8cd3f96243c5a69cfff5c14781943834ac。
101.进一步地,组织数据流通凭证之前,还包括:
对异步更新过程中接收到的数据、需要设置或处理的数据进行保存。
102.包括但不限于数据发送方设备的数据母设备标识、第二时间戳、第二数值、第一明文、第一密文、设置的状态等等。
103.步骤s35:据发送方设备将数据发送方设备关联码、第二密文以及第五报文验证码组成第二返回数据发送给服务器,并将双离线数据流通状态设置为异步更新完成状态,结束。
104.基于步骤s34中各数据的生成方式,服务器端使用与之相对应的报文验证方式对数据发送方设备返回的报文信息进行验证和解密,并对解密后的数据余量凭证进行验证。如果解密后的数据余量凭证验证通过则表示数据上传/同步过程完成,否则,返回错误信息并结束。
105.步骤s36:数据发送方设备解析异步更新完成指令并检测异步更新完成状态是否设置成功,若是,执行步骤s37,否则,返回错误信息并结束。
106.步骤s37:数据发送方设备通过解析异步更新完成指令获取到第六报文验证码、数据流通索引与数据组合的密文,利用第二mac会话密钥验证第六报文验证码是否正确,若验证正确,则执行步骤s38,否则,返回错误信息并结束。
107.数据流通索引与数据组合的密文例如为:4de6451aef49909851d242c148c95dfb2989c26553c7f3f8510542e857e95d65a47231602fa3df0e1f016efcdddd7f6087444a90767449d63797da31a02c7dd295a5c42cd57036b41f7163db4da2c53bf9980d0b0d6e7a771e9bbaf8a3a6dab10df87fb606c57070b6cba157b3f0f0e7406e038a89217b3323cb6b85b416274deca43adf3c7e1d6f0170ea44a943996280e7602dce60c3ee1298fdb85450c237199137be8f3ae786bfc9538a459e76b80db03bc6f1f898b7b38b9b2aa6d4e9756977f93c2e7c7baf0a914169b3ef19f641977ff88bf146b5c62a6f5ff5109872f8e11827f36ce357ec1569bd1d2584fee1061eaa67de0309c9b542c25a2923fa4fb84a0f4aa0142b81fbfd40a62025e9008dd45a101fe2156316c04a69dc85ff1030c55281941b3b82733f6040bb049e03792a4f157b846b452fa23fff48b0ec0926973c5898b2c2819ecaa0edd2fecd45c698857bd925f10cfe4c12233cf5ed0fd4c9e81a98115fd603fa3c635ab0e168a9e6a3af9bceea7b721c0c96f1c1cc77203086a637c304bb8a1cb141a6bf3dc3b625e012ae78991d1981a541f2a9278ec58cd655896e22dc117a7d7d0f57ced325291ac6dd6f5bf5f0b90ff26c8796。
108.步骤s38:数据发送方设备利用第二加密会话密钥对数据流通索引与数据组合的密文进行解密,获得第二数据流通索引明文与数据组合明文,比对第二数据流通索引明文与内部存储的数据流通索引,若比对成功,执行步骤s39,否则,返回错误信息并结束。
109.步骤s39:数据发送方设备判断异步更新完成指令中是否存在数据组合,若存在,执行步骤s40,否则,清空数据发送方设备内部存储的数据流通凭证中的数据组合并执行步骤s42。
110.步骤s40:数据发送方设备从数据组合中提取面值,比对面值与数据发送方设备的数据限量,若面值小于等于数据限量,执行步骤s41,否则,返回错误信息并结束。
111.步骤s41:数据发送方设备清空数据流通凭证中的数据组合以及数据流通计数器的数值,并将数据组合明文写入数据流通凭证中。
112.步骤s42:数据发送方设备使用第二加密会话密钥对数据发送方设备标识、内部存
储的数据流通索引以及异步更新完成结果进行加密获得第三密文,使用第二mac会话密钥对数据发送方设备关联码与第三密文进行加密获得第七报文验证码,将数据发送方设备关联码、第三密文以及第七报文验证码组成第三返回数据发送给服务器并结束。
113.本技术提供的数据流通方法,数据发送方设备通过建立携带有双离线数据流通量的数据流通凭证并将加密后的数据流通凭证发送给数据接收方设备进行合法性验证,若验证合法且数据接收方设备返回给数据发送方设备的验证信息被数据发送方设备验证正确时,完成双离线数据流通。上述方法中,数据流通凭证经加密后再发送给数据接收方设备、数据接收方设备在接收到加密后的数据流通凭证后再对其进行验证,该过程确保了双离线数据流通的真实性、可靠性,以及,当验证数据流通凭证合法时,其所携带的双离线数据流通量保证了双离线数据流通的不可抵赖性。
114.下述为本技术系统实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
115.本技术提供了一种数据流通系统,该系统包括数据发送方设备与数据接收方设备,其中:所述数据发送方设备包括如下模块:指令接收模块,用于接收指令;指令判断模块,用于对所述指令的功能进行判断,若是双离线数据流通初始化指令,则触发第一数据获取模块;若是双离线数据流通执行指令,则触发第一状态确定模块;若是双离线数据流通完成指令,则触发第二状态确定模块;第一数据获取模块,用于解析所述双离线数据流通初始化指令,获取双离线数据流通量以及第一时间戳;第一数据发送模块,用于生成第二随机数,并获取数据发送方设备的标识以及名称、预先存储的数据发送方设备证书,将所述双离线数据流通量、所述第一时间戳、所述第二随机数、所述数据发送方设备的标识以及名称、所述数据发送方设备证书发送给数据接收方设备;第一状态设置模块,用于将数据流通状态设置为双离线数据流通状态并结束;第一状态确定模块,用于解析所述双离线数据流通执行指令并检测双离线数据流通状态是否设置成功,若是,确定双离线数据流通初始化指令已执行成功,触发第一验签模块,否则,返回错误信息并结束;第一验签模块,用于通过解析所述双离线数据流通执行指令获取到所述数据接收方设备生成的签名数据、第一随机数、第一密钥分散因子、数据接收方设备的标识以及名称、数据接收方设备证书,并对所述签名数据进行验证,若验签成功,触发余量计算模块,否则,返回错误信息并结束;余量计算模块,用于基于数据发送方设备的数据余量以及所述双离线数据流通量,计算数据发送方设备的数据新余量并保存,对数据流通计数器的值增加一,获得第一数值并保存;索引生成模块,用于生成数据流通索引并保存;数据流通校对模块,用于建立数据流通结果以及目标个数的数据减量凭证,计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并
判断所述子数据流通量之和是否大于等于所述双离线数据流通量,若等于,触发报文验证码获取模块,若大于,计算所述子数据流通量之和与所述双离线数据流通量之间的差值,并对所述差值进行保存,触发报文验证码获取模块;验证码获取模块,用于生成第二密钥分散因子,并通过所述第一随机数、所述第二随机数、所述第一密钥分散因子以及所述第二密钥分散因子计算第一加密会话密钥与第一mac会话密钥,利用所述第一加密会话密钥对所述目标个数的数据减量凭证进行加密,获得数据减量凭证密文,利用所述第一mac会话密钥对所述第二密钥分散因子与所述数据减量凭证密文进行加密,获得第一报文验证码;第二数据发送模块,用于将所述第二密钥分散因子、所述数据减量凭证密文、所述目标个数的数据减量凭证、所述数据流通结果以及所述第一报文验证码发送给所述数据接收方设备;第二状态设置模块,用于将数据流通状态设置为双离线数据流通完成状态并结束;第二状态确定模块,用于解析所述双离线数据流通完成指令并检测双离线数据流通完成状态是否设置成功,若是,确定双离线数据流通执行指令已执行完成,触发报文验证码验证模块,否则,返回错误信息并结束;第一验证模块,用于通过解析所述双离线数据流通完成指令获取到双离线阶段的数据流通结果、第二报文验证码,利用所述第一mac会话密钥验证所述第二报文验证码是否正确,若验证正确,则触发结果保存模块,否则,返回错误信息并结束;结果保存模块,用于保存所述双离线阶段的数据流通结果并结束。
116.所述数据发送方设备包括如下模块:数据接收模块,用于接收数据发送方设备发送的返回数据;数据判断模块,用于对所述返回数据进行判断,若是双离线数据流通初始化指令的返回数据,则触发第一数据获取模块;若是双离线数据流通执行指令的返回数据,则触发第二数据获取模块;第二数据获取模块,用于解析所述双离线数据流通初始化指令的返回数据,从中获取到所述数据发送方设备生成的第二随机数;第三数据获取模块,用于通过解析所述双离线数据流通指令的返回数据,从中获取到数据减量凭证密文、第一报文验证码以及所述数据发送方设备生成的第二密钥分散因子,触发第二验证模块;第二验证模块,用于通过自身生成的第一随机数、自身生成的第一密钥分散因子、所述第二随机数以及所述第二密钥分散因子计算第二加密会话密钥与第二mac会话密钥,利用所述第二mac会话密钥对所述第一报文验证码进行验证,若通过,触发凭证获取模块,否则,返回错误信息并结束;凭证获取模块,用于利用所述第二加密会话密钥对所述数据减量凭证密文进行解密,获得目标个数的数据减量凭证;第二验签模块,用于采用非对称算法和哈希算法对所述目标个数内的各数据减量凭证中的最后一个数据流通子链的签名数据进行验证,若验证通过,触发索引比对模块,否则,返回错误信息并结束;
索引比对模块,用于将所述目标个数内的各数据减量凭证中的最后一个数据流通子链的数据流通索引与内部存储的数据流通索引进行比对,若相等,触发流通量判断模块,否则,返回错误信息并结束;流通量判断模块,用于计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和与双离线数据流通量是否相等,若相等,生成数据流通结果,触发第三数据发送模块,否则,返回错误信息并结束;第三数据发送模块,用于利用所述第二mac会话密钥对所述数据流通结果进行加密,获得第二报文验证码,将所述数据流通结果与所述第二报文验证码发送给所述数据发送方设备。
117.需要说明的是,上述实施例提供的数据流通系统在执行数据流通方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据流通系统与数据流通方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
118.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
119.本技术中,数据发送方设备通过建立携带有双离线数据流通量的数据流通凭证并将加密后的数据流通凭证发送给数据接收方设备进行合法性验证,若验证合法且数据接收方设备返回给数据发送方设备的验证信息被数据发送方设备验证正确时,完成双离线数据流通。数据流通凭证经加密后再发送给数据接收方设备、数据接收方设备在接收到加密后的数据流通凭证后再对其进行验证,该过程确保了双离线数据流通的真实性、可靠性,以及,当验证数据流通凭证合法时,其所携带的双离线数据流通量保证了双离线数据流通的不可抵赖性。
120.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述任一实施例方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd-rom、微型驱动器以及磁光盘、rom、ram、eprom、eeprom、dram、vram、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器ic),或适合于存储指令和/或数据的任何类型的媒介或设备。
121.本技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例方法的步骤。
122.本技术实施例提供了一种电子设备包括:处理器和存储器。
123.本技术实施例中,处理器为计算机系统的控制中心,可以是实体机的处理器,也可以是虚拟机的处理器。处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
124.存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁
盘存储设备、闪存存储设备。在本技术的一些实施例中,存储器中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器所执行以实现本技术实施例中的方法。
125.一些实施例中,数据发送方设备还包括有:外围设备接口和至少一个外围设备。处理器、存储器和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。具体地,外围设备包括:显示屏、摄像头和音频电路中的至少一种。
126.外围设备接口可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器和存储器。在本技术的一些实施例中,处理器、存储器和外围设备接口被集成在同一芯片或电路板上;在本技术的一些其他实施例中,处理器、存储器和外围设备接口中的任意一个或两个可以在单独的芯片或电路板上实现。本技术实施例对此不作具体限定。
127.显示屏用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏是触摸显示屏时,显示屏还具有采集在显示屏的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器进行处理。此时,显示屏还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在本技术的一些实施例中,显示屏可以为一个,设置于数据发送方设备的前面板;在本技术的另一些实施例中,显示屏可以为至少两个,分别设置在数据发送方设备的不同表面或呈折叠设计;在本技术的再一些实施例中,显示屏可以是柔性显示屏,设置在数据发送方设备的弯曲表面上或折叠面上。甚至,显示屏还可以设置成非矩形的不规则图形,也即异形屏。显示屏可以采用lcd(liquid crystaldisplay,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
128.摄像头用于采集图像或视频。可选地,摄像头包括前置摄像头和后置摄像头。通常,前置摄像头设置在客户端的前面板,后置摄像头设置在客户端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在本技术的一些实施例中,摄像头还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
129.音频电路可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器进行处理。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在数据发送方设备的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。
130.电源用于为数据发送方设备中的各个组件进行供电。电源可以是交流电、直流电、一次性电池或可充电电池。当电源包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
131.本技术实施例中示出的客户端结构框图并不构成对数据发送方设备的限定,数据
发送方设备可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
132.在本技术中,术语“第一”、“第二”等仅用于描述的目的,而不能理解为指示或暗示相对重要性或顺序;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
133.本技术的描述中,需要理解的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本技术的限制。
134.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献