首页 / 专利分类库 / 计算;推算;计数 / 数据处理 / 数据传输方法、装置、设备及存储介质

数据传输方法、装置、设备及存储介质

申请号 CN202311518036.4 申请日 2023-11-14 公开(公告)号 CN118012637A 公开(公告)日 2024-05-10
申请人 建信金融科技有限责任公司; 发明人 刘健; 杨艳光; 肖兆琦; 卞永锋; 张同虎;
摘要 本 申请 提供一种数据传输方法、装置、设备及存储介质。涉及 数据处理 技术领域。该方法包括:生成响应二维码并发送至桌面,以使桌面上部署的发送程序轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令;若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,其中,二维码图片是发送程序根据待发送目标文件的字节序列和文件标题采用二维码生成技术生成的;对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文;根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列;将字节序列写入以文件标题命名的文件,以得到待发送目标文件。能够提升文件的传输速率。
权利要求

1.一种数据传输方法,其特征在于,应用于部署于桌面的接收程序,包括:
生成响应二维码并发送至桌面,以使所述桌面上部署的发送程序轮询在桌面截图,若截图得到所述响应二维码,则对所述响应二维码进行解析,以得到响应报文指令,其中所述响应二维码是所述接收程序生成并发送至所述桌面的;若所述响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至所述桌面,其中,所述二维码图片是所述发送程序获取待发送目标文件的字节序列和文件标题;根据预设编码规则,将所述待发送目标文件的字节序列和文件标题转化成待发送报文,其中所述待发送报文是有序的;采用二维码生成技术,根据所述待发送报文生成的;
对所述桌面上的二维码图片进行截图并扫描识别,以得到所述待发送报文;
根据所述预设编码规则对应的解码规则,将所述待发送报文转化为所述文件标题和字节序列;
将所述字节序列写入以所述文件标题命名的文件,以得到所述待发送目标文件。
2.根据权利要求1所述的方法,其特征在于,所述预设编码规则对应的解码规则包括预设字符编码规则对应的解码规则和预设报文编码规则对应的解码规则;
相应地,所述根据所述预设编码规则对应的解码规则,将所述待发送报文转化为所述文件标题和字节序列,包括:
将所述待发送报文分为标题段、终止段和多个内容段;
采用所述预设报文编码规则对应的解码规则,对所述标题段进行解码,得到标题编码字符串;
采用所述预设报文编码规则对应的解码规则,对所述终止段和所述多个内容段进行解码,得到多个字符序列;
采用所述预设字符编码规则对应的解码规则,对所述多个字符序列进行解码,得到多个数据
采用所述预设字符编码规则对应的解码规则,对所述标题编码字符串进行解码,得到所述文件标题;
将所述多个数据块按照预定顺序拼接,得到所述字节序列。
3.根据权利要求1所述的方法,其特征在于,所述对所述桌面上的二维码图片进行截图并扫描识别,以得到所述待发送报文之后,还包括:
验证所述待发送报文的格式是否为预设格式;
若所述待发送报文的格式为所述预设格式,则执行根据所述预设编码规则对应的解码规则,将所述待发送报文转化为所述文件标题和字节序列的步骤。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述字节序列写入以所述文件标题命名的文件,以得到所述待发送目标文件之后,还包括:
设置所述响应二维码的响应报文指令为已处理接收指令,其中,所述已处理接收指令用于指示所述发送程序若识别到所述响应报文指令为所述已处理接收指令则结束发送程序。
5.一种数据传输方法,其特征在于,应用于部署于桌面的发送程序,包括:
获取待发送目标文件的字节序列和文件标题;
根据预设编码规则,将所述待发送目标文件的字节序列和文件标题转化成待发送报文,其中所述待发送报文是有序的;
采用二维码生成技术,根据所述待发送报文生成多个二维码图片;
轮询在桌面截图,若截图得到响应二维码,则对所述响应二维码进行解析,以得到响应报文指令,其中所述响应二维码是接收程序生成并发送至所述桌面的;
若所述响应报文指令为预设待接收指令,则根据预设顺序将所述多个二维码图片上传至所述桌面,以使所述接收程序对所述桌面上的二维码图片进行截图并扫描识别,以得到所述待发送报文;根据所述预设编码规则对应的解码规则,将所述待发送报文转化为所述文件标题和字节序列;将所述字节序列写入以所述文件标题命名的文件,以得到所述待发送目标文件。
6.根据权利要求5所述的方法,其特征在于,所述预设编码规则包括预设字符编码规则和预设报文编码规则;
相应地,所述根据预设编码规则,将所述待发送目标文件的字节序列和文件标题转化成待发送报文,包括:
根据预设大小,将所述字节序列切分,得到多个数据块;
采用所述预设字符编码规则,对所有的数据块分别进行编码,得到多个字符序列;
采用所述预设字符编码规则,对所述文件标题进行编码,得到标题编码字符串;
采用所述预设报文编码规则,对所述多个字符序列进行编码,得到终止段和多个内容段;
采用所述预设报文编码规则,对所述标题编码字符串进行编码得到标题段;
将所述标题段、所述多个内容段和所述终止段,确定为所述待发送报文。
7.根据权利要求5所述的方法,其特征在于,所述若所述响应报文指令为预设待接收指令,则根据预设顺序将所述二维码图片上传至所述桌面之后,还包括:
若识别到所述响应报文指令为已处理接收指令,则结束发送程序;其中所述已处理接收指令为所述接收程序将所述字节序列写入以所述文件标题命名的文件,以得到所述待发送目标文件之后将所述响应二维码的响应报文指令设置为所述已处理接收指令的。
8.一种数据传输装置,其特征在于,应用于部署于桌面的接收程序,包括:
响应二维码发送模块,用于生成响应二维码并发送至桌面,以使所述桌面上部署的发送程序轮询在桌面截图,若截图得到所述响应二维码,则对所述响应二维码进行解析,以得到响应报文指令,其中所述响应二维码是所述接收程序生成并发送至所述桌面的;若所述响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至所述桌面,其中,所述二维码图片是所述发送程序获取待发送目标文件的字节序列和文件标题;根据预设编码规则,将所述待发送目标文件的字节序列和文件标题转化成待发送报文,其中所述待发送报文是有序的;采用二维码生成技术,根据所述待发送报文生成的;
二维码图片识别模块,用于对所述桌面上的二维码图片进行截图并扫描识别,以得到所述待发送报文;
报文解码模块,用于根据所述预设编码规则对应的解码规则,将所述待发送报文转化为所述文件标题和字节序列;
目标文件生成模块,用于将所述字节序列写入以所述文件标题命名的文件,以得到所述待发送目标文件。
9.一种数据传输装置,其特征在于,应用于发送程序,包括:
目标文件获取模块,用于获取待发送目标文件的字节序列和文件标题;
报文编码模块,用于根据预设编码规则,将所述待发送目标文件的字节序列和文件标题转化成待发送报文,其中所述待发送报文是有序的;
二维码图片生成模块,用于采用二维码生成技术,根据所述待发送报文生成多个二维码图片;
响应报文指令获取模块,轮询在桌面截图,若截图得到响应二维码,则对所述响应二维码进行解析,以得到响应报文指令,其中所述响应二维码是接收程序生成并发送至所述桌面的;
二维码图片发送模块,用于若所述响应报文指令为预设待接收指令,则根据预设顺序将所述多个二维码图片上传至所述桌面,以使所述接收程序对所述桌面上的二维码图片进行截图并扫描识别,以得到所述待发送报文;根据所述预设编码规则对应的解码规则,将所述待发送报文转化为所述文件标题和字节序列;将所述字节序列写入以所述文件标题命名的文件,以得到所述待发送目标文件。
10.一种计算机设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至4,或5至7中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4,或5至7中任一项所述的方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至4,或5至7中任一项所述的方法。

说明书全文

数据传输方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及大数据技术领域,尤其涉及一种数据传输方法、装置、设备及存储介质。

背景技术

[0002] 在主流的操作系统上,对进程进行分区隔离,对进程间的通信,共享文件等操作进行监控和阻断的技术已经被广泛应用。但是在一台设置了进程间访问限制的计算机上,某些特定场景下,想进行跨隔离区的小文件传输,变得十分困难。
[0003] 现有技术中,发送程序将目标文件转化为以固定时间间隔发送的多图像,并使接收程序以较短的时间间隔接收图像并转化为目标文件,实现目标文件在隔离分区的传输。
[0004] 然而,这种传输方式依赖于严格的时间序列来保证正确的数据解释,无法有效大幅提升文件传输速率。发明内容
[0005] 本申请提供一种数据传输方法、装置、设备及存储介质,用以解决现有技术中文件传输速率低的问题。
[0006] 第一方面,本申请实施例提供一种数据传输方法,应用于部署于桌面的接收程序,包括:
[0007] 生成响应二维码并发送至桌面,以使桌面上部署的发送程序轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的;若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,其中,二维码图片是发送程序获取待发送目标文件的字节序列和文件标题;根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的;采用二维码生成技术,根据待发送报文生成的;
[0008] 对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文;
[0009] 根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列;
[0010] 将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0011] 在一种可能的设计中,预设编码规则对应的解码规则包括预设字符编码规则对应的解码规则和预设报文编码规则对应的解码规则;相应地,根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列,包括:将待发送报文分为标题段、终止段和多个内容段;采用预设报文编码规则对应的解码规则,对标题段进行解码,得到标题编码字符串;采用预设报文编码规则对应的解码规则,对终止段和多个内容段进行解码,得到多个字符序列;采用预设字符编码规则对应的解码规则,对多个字符序列进行解码,得到多个数据;采用预设字符编码规则对应的解码规则,对标题编码字符串进行解码,得到文件标题;将多个数据块按照预定顺序拼接,得到字节序列。
[0012] 在一种可能的设计中,对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文之后,还包括:验证待发送报文的格式是否为预设格式;若待发送报文的格式为预设格式,则执行根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列的步骤。
[0013] 在一种可能的设计中,将字节序列写入以文件标题命名的文件,以得到待发送目标文件之后,还包括:设置响应二维码的响应报文指令为已处理接收指令,其中,已处理接收指令用于指示发送程序若识别到响应报文指令为已处理接收指令则结束发送程序。
[0014] 第二方面,本申请实施例提供一种数据传输方法,应用于部署于桌面的发送程序,包括:
[0015] 获取待发送目标文件的字节序列和文件标题;
[0016] 根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的;
[0017] 采用二维码生成技术,根据待发送报文生成多个二维码图片;
[0018] 轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的;
[0019] 若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,以使接收程序对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文;根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列;将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0020] 在一种可能的设计中,预设编码规则包括预设字符编码规则和预设报文编码规则;相应地,根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,包括:根据预设大小,将字节序列切分,得到多个数据块;采用预设字符编码规则,对所有的数据块分别进行编码,得到多个字符序列;采用预设字符编码规则,对文件标题进行编码,得到标题编码字符串;采用预设报文编码规则,对多个字符序列进行编码,得到终止段和多个内容段;采用预设报文编码规则,对标题编码字符串进行编码得到标题段;将标题段、多个内容段和终止段,确定为待发送报文。
[0021] 在一种可能的设计中,若响应报文指令为预设待接收指令,则根据预设顺序将二维码图片上传至桌面之后,还包括:若识别到响应报文指令为已处理接收指令,则结束发送程序;其中已处理接收指令为接收程序将字节序列写入以文件标题命名的文件,以得到待发送目标文件之后将响应二维码的响应报文指令设置为已处理接收指令的。
[0022] 第三方面,本申请提供一种数据传输装置,应用于部署于桌面的接收程序,包括:
[0023] 响应二维码发送模块,用于生成响应二维码并发送至桌面,以使桌面上部署的发送程序轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的;若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,其中,二维码图片是发送程序获取待发送目标文件的字节序列和文件标题;根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的;采用二维码生成技术,根据待发送报文生成的;
[0024] 二维码图片识别模块,用于对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文;
[0025] 报文解码模块,用于根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列;
[0026] 目标文件生成模块,用于将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0027] 第四方面,本申请提供一种数据传输装置,应用于部署于桌面的发送程序,包括:
[0028] 目标文件获取模块,用于获取待发送目标文件的字节序列和文件标题;
[0029] 报文编码模块,用于根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的;
[0030] 二维码图片生成模块,用于采用二维码生成技术,根据待发送报文生成多个二维码图片;
[0031] 响应报文指令获取模块,轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的;
[0032] 二维码图片发送模块,用于若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,以使接收程序对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文;根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列;将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0033] 第五方面,本申请实施例提供一种计算机设备,包括:处理器和与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得处理器执行如上第一方面以及第一方面各种可能的设计的数据传输方法。
[0034] 第六方面,本申请实施例提供一种计算机设备,包括:处理器和与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得处理器执行如上第二方面以及第二方面各种可能的设计的数据传输方法。
[0035] 第七方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上第一方面以及第一方面各种可能的设计的数据传输方法。
[0036] 第八方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上第二方面以及第二方面各种可能的设计的数据传输方法。
[0037] 第九方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计的数据传输方法。
[0038] 第十方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第二方面以及第二方面各种可能的设计的数据传输方法。
[0039] 本申请提供的数据传输方法、装置、设备及存储介质,接收程序通过响应二维码传递响应报文指令,向发送程序传递预设待接收指令或已处理接收指令,来指示接收程序和发送程序的通信,从而能够提升文件的传输速率。附图说明
[0040] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0041] 图1为本申请实施例提供的数据传输方法的应用场景示意图;
[0042] 图2为本申请一个实施例提供的数据传输方法的流程示意图;
[0043] 图3为本申请另一个实施例提供的数据传输方法的流程示意图;
[0044] 图4为本申请实施例提供的数据传输方法的交互流程示意图;
[0045] 图5为本申请一个实施例提供的数据传输装置的结构示意图;
[0046] 图6为本申请另一个实施例提供的数据传输装置的结构示意图;
[0047] 图7为本申请一个实施例提供的计算机设备的硬件结构示意图。
[0048] 通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

[0049] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0050] 需要说明的是,本申请的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
[0051] 在主流的操作系统上,对进程进行分区隔离,对进程间的通信,共享文件等操作进行监控和阻断的技术已经被广泛应用。但是在一台设置了进程间访问限制的计算机上,某些特定场景下,想进行跨隔离区的小文件传输,变得十分困难。现有技术中,发送程序将目标文件转化为以固定时间间隔发送的多帧图像,并使接收程序以较短的时间间隔接收图像并转化为目标文件,实现目标文件在隔离分区的传输。然而,这种传输方式依赖于严格的时间序列来保证正确的数据解释,无法有效大幅提升传输速率。
[0052] 为了解决上述技术问题,本申请实施例提出以下技术思路:利用双向二维码传递信息,发送程序通过将目标文件转化为二维码图片并展示在桌面上向接收程序传递信息,接收程序通过响应二维码传递响应报文指令,向发送程序传递预设待接收指令或已处理接收指令,通过设计双向交互的通信方式,提升文件的传输速率。
[0053] 下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
[0054] 图1为本申请实施例提供的数据传输方法的应用场景示意图。如图1所示,包括接收程序101、发送程序102和桌面103。
[0055] 其中,接收程序101和发送程序102设置于同一系统的桌面103上,接收程序101和发送程序102可以分别应用于无法使用现有的进程间通信方式,如TCP/IP,管道,共享文件和共享内存等方式进行直接通信的两个进程上。桌面是指计算机用语,是指打开计算机并成功登录系统之后看到的显示器主屏幕图形显示区域。
[0056] 在具体的实现过程中,接收程序101生成响应二维码并发送至桌面103,发送程序102轮询在桌面截图,若截图得到响应二维码则对响应二维码进行解析得到响应报文指令,若响应报文指令为预设待接收指令,发送程序102将根据待发送目标文件转化成的多个二维码图片上传至桌面103,接收程序101对桌面103上的二维码图片进行截图并扫描识别得到待发送报文,将待发送报文转化为文件标题和字节序列并写入目标文件,得到发送程序
102发送的待发送目标文件。
[0057] 应理解,上述系统仅为一种示例性系统,具体实施时,可以根据应用需求设置。
[0058] 可以理解的是,本申请实施例示意的结构并不构成对数据传输系统架构的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
[0059] 另外,本申请实施例描述的系统架构是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
[0060] 下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0061] 图2为本申请一个实施例提供的数据传输方法的流程示意图。本实施例的执行主体可以为图1中的接收程序,具体执行主体可以根据实际应用场景确定,本申请实施例对此不做特别限制。如图2所示,本申请实施例提供的数据传输方法可以包括如下步骤:
[0062] S201:生成响应二维码并发送至桌面,以使桌面上部署的发送程序轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的;若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,其中,二维码图片是发送程序获取待发送目标文件的字节序列和文件标题;根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的;采用二维码生成技术,根据待发送报文生成的。
[0063] 其中,响应二维码是将响应报文按照二维码编码技术进行编码得到的。其中,响应报文的格式为:[Command][Sequence][:][Length]
[0064] [Command]表示响应报文指令,占1字节字符,编码类型包括“5”和“9”,其中,“5”表示已处理接收内容,“9”表示预设待接收指令。[Sequence]表示接收程序最后处理的发送程序发送的报文序号。[Length]表示接收程序最后处理报文的长度。
[0065] 具体地,响应二维码的生成方式采用了com.google.zxing.MultiFormatWr iter.encode(String contents,BarcodeFormat format,int width,int height)方法,其中contents表示传输文件内容编码后的字符串,即响应报文,format表示BarcodeFormat.QR_CODE编码方式,width和height标识生成的响应二维码的长和高。响应二维码生成后利用Java Swing技术将相应二维码呈现在桌面上。
[0066] S202:对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文。
[0067] 具体地,采用JDK8提供的java.awt.Robot.createScreenCapture方法对桌面进行轮询截图,当截图得到二维码图片,则进行扫描,使用com.google.zx ing.multi.qrcode.QRCodeMultiReader.decodeMultiple(BinaryBitmap image,Ma phints)方法对二维码图片进行识别,其中image表示截图得到的二维码图片,hints表示[EncodeHintType.CHARACTER_SET,:"UTF‑8"]识别得到的待发送报文,并用UTF‑8编码(Unicode Transformation Form at,8位可变长编码)格式表示。
[0068] 具体地,步骤S202之后,还包括:
[0069] 验证待发送报文的格式是否为预设格式,其中预设格式可以为发送程序发送的报文格式,其中发送程序发送的报文格式为:[Command][Sequence][:][Content(UTF‑8)][0070] 其中,[Command][Sequence][:]为报文头,属于传输控制段,编码可以为“0”,“1”或“2”,“0”表示传输开始的辩题段,在传输过程中仅出现一次,“1”表示传输的文件正文内容的“内容段”,“2”表示传输的文件正文的终止段,在传输过程中仅出现一次。[Sequence]内容从0开始,用每段加1的自然数的字符串表示,[Content(UTF‑8)]为文件标题或内容文件经预设字符编码规则编码后的字符串。
[0071] 具体地,若符合预设格式,则将读取的字符串添加到待发送报文,当读取的报文的[Command]位为“2”时,传输结束,得到待发送报文。则执行步骤S203。
[0072] S203:根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列。
[0073] 其中,预设编码规则对应的解码规则包括预设字符编码规则对应的解码规则和预设报文编码规则对应的解码规则。
[0074] 具体地,步骤S203包括S2031~S2035:
[0075] S2031:将待发送报文分为标题段、终止段和多个内容段。
[0076] 具体地,从待接收报文列表的“0”号记录中获取标题段,从待接收报文列表的“1”号记录中获取多个内容段,从待接收报文列表的“2”号记录中获取终止段。
[0077] S2032:采用预设报文编码规则对应的解码规则,对标题段进行解码,得到标题编码字符串。
[0078] 具体地,根据预设报文编码规则对应的解码规则,去掉标题段的传输报文头,得到标题编码字符串。
[0079] S2033:采用预设报文编码规则对应的解码规则,对终止段和多个内容段进行解码,得到多个字符序列。
[0080] 具体地,根据预设报文编码规则对应的解码规则,去掉终止段和多个内容段的传输报文头,得到多个字符序列。
[0081] S2034:采用预设字符编码规则对应的解码规则,对多个字符序列进行解码,得到多个数据块。
[0082] 具体地,根据预设字符编码规则对应的解码规则,例如Base64解码规则,对多个经Base64编码的字符序列进行解码,得到多个数据块。
[0083] S2035:采用预设字符编码规则对应的解码规则,对标题编码字符串进行解码,得到文件标题。
[0084] 具体地,根据预设字符编码规则对应的解码规则,例如Base64解码规则,对经Base64编码的标题编码字符串进行解码,得到文件标题。
[0085] S2036:将多个数据块按照预定顺序拼接,得到字节序列。
[0086] 具体地,将多个数据块按照预定顺序合并为单一的文件字节流,得到字节序列。
[0087] S204:将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0088] 在步骤S204之后,还包括步骤S205:
[0089] S205:设置响应二维码的响应报文指令为已处理接收指令,其中,已处理接收指令用于指示发送程序若识别到响应报文指令为已处理接收指令则结束发送程序。
[0090] 综上可知,接收程序通过响应二维码传递响应报文指令,向发送程序传递预设待接收指令或已处理接收指令,来指示接收程序和发送程序的通信,从而能够提升文件的传输速率。
[0091] 图3为本申请另一个实施例提供的数据传输方法的流程示意图。本实施例的执行主体可以为图1中的发送程序,具体执行主体可以根据实际应用场景确定,本申请实施例对此不做特别限制。如图2所示,本申请实施例提供的数据传输方法可以包括如下步骤:
[0092] S301:获取待发送目标文件的字节序列和文件标题。
[0093] S302:根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的。
[0094] 其中,预设编码规则包括预设字符编码规则和预设报文编码规则。
[0095] 具体地,步骤S302包括S3021~S3026:
[0096] S3021:根据预设大小,将字节序列切分,得到多个数据块。
[0097] 具体地,根据预设大小,对字节序列进行切分,得到多个数据块,其中预设大小可以根据实际情况确定,示例性地,预设大小为1200字节,将字节序列按照1200字节为一个数据块进行切分,当一个数据块不足1200字节时,以实际大小为准。
[0098] S3022:采用预设字符编码规则,对所有的数据块分别进行编码,得到多个字符序列。
[0099] 其中,预设字符编码规则可以为Base64编码。
[0100] 具体地,采用预设字符编码规则,对所有的数据块进行编码,得到所有的数据块对应的字符序列。
[0101] S3023:采用预设字符编码规则,对文件标题进行编码,得到标题编码字符串。
[0102] 具体地,采用预设字符编码规则,对文件标题进行编码,得到标题编码字符串。
[0103] S3024:采用预设报文编码规则,对多个字符序列进行编码,得到终止段和多个内容段。
[0104] 其中,预设报文编码规则可以为传输报文编码。
[0105] 具体地,采用预设报文编码规则,对每个字符序列增加传输报文头形成每个内容段的完整报文,最终形成多个内容段和终止段。
[0106] S3025:采用预设报文编码规则,对标题编码字符串进行编码得到标题段。
[0107] 具体地,采用预设报文编码规则,对标题编码字符串增加传输报文头形成标题段的完整报文。
[0108] S3026:将标题段、多个内容段和终止段,确定为待发送报文。
[0109] S303:采用二维码生成技术,根据待发送报文生成多个二维码图片。
[0110] 其中,二维码生成技术是一种将文本转换为二维码图形,并通过识别图像中的二维码转化为文本的技术。
[0111] 具体地,针对所生成的待发送报文列表中的每条内容,按顺序使用二维码生成技术将报文编码为二维码图片。
[0112] S304:轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的。
[0113] 具体地,采用JDK8提供的java.awt.Robot.createScreenCapture方法对桌面进行轮询截图,当截图得到响应二维码,则进行扫描,使用com.google.zx ing.multi.qrcode.QRCodeMultiReader.decodeMultiple(BinaryBitmap image,Maphints)方法对响应二维码进行识别,其中image表示截图得到的响应二维码,hints表示[EncodeHintType.CHARACTER_SET,:"UTF‑8"]识别得到的响应报文指令,并用UTF‑8编码格式表示。
[0114] S305:若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,以使接收程序对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文;根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列;将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0115] 具体地,若响应报文中响应报文指令[Command]的值为“9”,即表示预设待接收指令,则将多个二维码图片按照预设顺序上传至桌面,其中预设顺序可以是待发送报文中[Sequence]的顺序。
[0116] 示例性地,发送程序发送待发送报文中[Sequence]为11的二维码图片,当接收到响应报文中响应报文指令为预设待接收指令,且最后处理的报文序号[Sequence]为11时,则发送待发送报文中[Sequence]为12的二维码图片,当接收到响应报文中响应报文指令为预设待接收指令,且最后处理的报文序号[Sequence]为12时,发送程序继续执行下一张二维码图片的发送,直至最后一张二维码图片发送成功。
[0117] 具体地,在步骤S305若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面之后,还包括步骤S306:
[0118] S306:若识别到响应报文指令为已处理接收指令,则结束发送程序;其中已处理接收指令为接收程序将字节序列写入以文件标题命名的文件,以得到待发送目标文件之后将响应二维码的响应报文指令设置为已处理接收指令的。
[0119] 具体地,若响应报文中响应报文指令[Command]的值为“5”,则结束发送程序。
[0120] 综上可知,发送程序通过将目标文件转化为二维码图片并展示在桌面上向接收程序传递信息,来指示发送程序和接收程序的通信,从而能够提升文件的传输速率。
[0121] 图4为本申请实施例提供的数据传输方法的交互流程示意图。本实施例以发送程序和接收程序的交互过程进行说明,如图4所示,该方法包括:
[0122] S401:接收程序生成响应二维码。
[0123] S402:接收程序将响应二维码上传至桌面。
[0124] S403:发送程序对桌面轮询截图得到响应二维码,并进行解析,得到响应报文指令为预设待接收指令。
[0125] S404:发送程序根据响应报文指令,上传多个二维码图片到桌面。
[0126] S405:接收程序对桌面上的二维码图片进行截图并扫描识别,得到待发送报文。
[0127] S406:接收程序根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列。
[0128] S407:接收程序将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0129] S408:接收程序修改响应二维码的响应报文指令。
[0130] S409:发送程序在桌面轮询截图得到响应二维码,并进行解析,得到响应报文指令为已处理接收指令。
[0131] S410:发送程序关闭程序。
[0132] 综上可知,利用双向二维码传递信息,发送程序通过将目标文件转化为二维码图片并展示在桌面上向接收程序传递信息,接收程序通过响应二维码传递响应报文指令,向发送程序传递预设待接收指令或已处理接收指令,通过设计双向交互的通信方式,提升文件的传输速率。
[0133] 图5为本申请一个实施例提供的数据传输装置的结构示意图。如图5所示,该数据传输装置包括:响应二维码发送模块501、二维码图片识别模块502、报文解码模块503和目标文件生成模块504。
[0134] 响应二维码发送模块501,用于生成响应二维码并发送至桌面,以使桌面上部署的发送程序轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的;若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,其中,二维码图片是发送程序获取待发送目标文件的字节序列和文件标题;根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的;采用二维码生成技术,根据待发送报文生成的。
[0135] 二维码图片识别模块502,用于对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文。
[0136] 报文解码模块503,用于根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列。
[0137] 目标文件生成模块504,用于将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0138] 在一种可能的实现方式中,报文解码模块503,具体用于将待发送报文分为标题段、终止段和多个内容段;采用预设报文编码规则对应的解码规则,对标题段进行解码,得到标题编码字符串;采用预设报文编码规则对应的解码规则,对终止段和多个内容段进行解码,得到多个字符序列;采用预设字符编码规则对应的解码规则,对多个字符序列进行解码,得到多个数据块;采用预设字符编码规则对应的解码规则,对标题编码字符串进行解码,得到文件标题;将多个数据块按照预定顺序拼接,得到字节序列。
[0139] 在一种可能的实现方式中,该数据传输装置还包括:格式验证模块505,格式验证模块505,用于验证待发送报文的格式是否为预设格式;若待发送报文的格式为预设格式,则执行根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列的步骤。
[0140] 在一种可能的实现方式中,该数据传输装置还包括:响应二维码设置模块506,响应二维码设置模块506,用于设置响应二维码的响应报文指令为已处理接收指令,其中,已处理接收指令用于指示发送程序若识别到响应报文指令为已处理接收指令则结束发送程序。
[0141] 本实施例提供的装置,可用于执行上述图2所示方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
[0142] 图6为本申请另一个实施例提供的数据传输装置的结构示意图。如图6所示,该数据传输装置包括:目标文件获取模块601、报文编码模块602、二维码图片生成模块603、响应报文指令获取模块604和二维码图片发送模块605。
[0143] 目标文件获取模块601,用于获取待发送目标文件的字节序列和文件标题。
[0144] 报文编码模块602,用于根据预设编码规则,将待发送目标文件的字节序列和文件标题转化成待发送报文,其中待发送报文是有序的。
[0145] 二维码图片生成模块603,用于采用二维码生成技术,根据待发送报文生成多个二维码图片。
[0146] 响应报文指令获取模块604,用于轮询在桌面截图,若截图得到响应二维码,则对响应二维码进行解析,以得到响应报文指令,其中响应二维码是接收程序生成并发送至桌面的。
[0147] 二维码图片发送模块605,用于若响应报文指令为预设待接收指令,则根据预设顺序将多个二维码图片上传至桌面,以使接收程序对桌面上的二维码图片进行截图并扫描识别,以得到待发送报文;根据预设编码规则对应的解码规则,将待发送报文转化为文件标题和字节序列;将字节序列写入以文件标题命名的文件,以得到待发送目标文件。
[0148] 在一种可能的实现方式中,报文编码模块602,具体用于根据预设大小,将字节序列切分,得到多个数据块;采用预设字符编码规则,对所有的数据块分别进行编码,得到多个字符序列;采用预设字符编码规则,对文件标题进行编码,得到标题编码字符串;采用预设报文编码规则,对多个字符序列进行编码,得到终止段和多个内容段;采用预设报文编码规则,对标题编码字符串进行编码得到标题段;将标题段、多个内容段和终止段,确定为待发送报文。
[0149] 在一种可能的实现方式中,该数据传输装置还包括:程序结束模块606,程序结束模块606,用于若识别到响应报文指令为已处理接收指令,则结束发送程序;其中已处理接收指令为接收程序将字节序列写入以文件标题命名的文件,以得到待发送目标文件之后将响应二维码的响应报文指令设置为已处理接收指令的。
[0150] 本实施例提供的装置,可用于执行上述图3所示方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
[0151] 图7为本申请一个实施例提供的计算机设备的硬件结构示意图。如图7所示,本实施例的服务设备包括:处理器701,以及与处理器通信连接的存储器702;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得处理器执行如图2或图3所示的数据传输方法。
[0152] 可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。
[0153] 当存储器702独立设置时,该计算机设备还包括总线703,用于连接存储器702和处理器701。
[0154] 本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如图2或图3所示的数据传输方法。
[0155] 本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所图2或图3所示的数据传输方法。
[0156] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0157] 作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
[0158] 另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0159] 上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
[0160] 应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0161] 存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘只读存储器、磁盘或光盘等。
[0162] 总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
[0163] 上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0164] 一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电控单元或主控设备中。
[0165] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0166] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
QQ群二维码
意见反馈