CN117573390A - 一种数据处理方法、云端、客户端及数据处理系统 - Google Patents

一种数据处理方法、云端、客户端及数据处理系统 Download PDF

Info

Publication number
CN117573390A
CN117573390A CN202311551593.6A CN202311551593A CN117573390A CN 117573390 A CN117573390 A CN 117573390A CN 202311551593 A CN202311551593 A CN 202311551593A CN 117573390 A CN117573390 A CN 117573390A
Authority
CN
China
Prior art keywords
client
task
cloud
data
processing
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
CN202311551593.6A
Other languages
English (en)
Other versions
CN117573390B (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.)
Aerospace Information Guangdong Co ltd
Original Assignee
Aerospace Information Guangdong Co ltd
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 Aerospace Information Guangdong Co ltd filed Critical Aerospace Information Guangdong Co ltd
Priority to CN202311551593.6A priority Critical patent/CN117573390B/zh
Priority claimed from CN202311551593.6A external-priority patent/CN117573390B/zh
Publication of CN117573390A publication Critical patent/CN117573390A/zh
Application granted granted Critical
Publication of CN117573390B publication Critical patent/CN117573390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种数据处理方法、云端、客户端及数据处理系统,所述方法适用于与客户端通信的云端,所述方法包括:在与客户端建立通信并获取任务类型后,根据任务类型加密生成任务处理信息并下发至客户端;在获取客户端反馈的经过加密的任务数据后,对任务数据进行解密,并对解密后的任务数据进行业务处理。本发明可以由云端主动触发与客户端建立通信,在建立通信后获取任务类型并加密生成任务处理信息,供客户端根据任务处理信息提取对应的任务数据;最后根据进行业务处理,整个过程有云端触发处理,无需客户端定时向云端上传数据,可以减少客户端的任务量,可以减少云端的定时访问量,减少访问量占用的云端资源,以提升云端的处理效率。

Description

一种数据处理方法、云端、客户端及数据处理系统
技术领域
本发明涉及数据传输处理的技术领域,尤其涉及一种数据处理方法、云端、客户端及数据处理系统。
背景技术
随着经济的发展,企业间的交易日渐频繁。为了统计各项交易记录及相关信息,一般需要采集各个企业的单据数据,在根据单据数据进行统计、相关税务的计算和发票处理等。
为了能与不同企业的终端进行数据传输,其中一种常用方法给不同企业进行客户端定制处理,通过定制的客户端进行数据的获取、推送和传输,供后台云端根据采集的数据进行税务计算和发票处理。
但目前常用的方法有如下技术问题:由于定制客户端是通过定时任务轮循方式进行数据采集,使得客户端会定时向云端发送数据,一旦云端连接多个客户端,会增加云端定时的访问量,进而导致云端的响应时间变慢,降低云端的处理效率。
发明内容
本发明提出一种数据处理方法、云端、客户端及数据处理系统,以解决因客户端定时向云端发送数据增加云端定时访问量的技术问题。
本发明实施例的第一方面提供了一种数据处理方法,所述方法适用于与客户端通信的云端,所述方法包括:
在与所述客户端建立通信并获取任务类型后,根据所述任务类型加密生成任务处理信息并下发至所述客户端,以供所述客户端根据所述任务处理信息提取对应的任务数据;
在获取所述客户端反馈的经过加密的任务数据后,对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
在第一方面的一种可能的实现方式中,所述与所述客户端建立通信,包括:
获取所述客户端的客户加密验证信息,所述加密验证信息是所述客户端采用预设的共享密钥对用户名、客户端密码和机器码进行加密后生成;
采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID;
采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到云端加密验证信息,并采用所述云端加密验证信息将所述客户会话ID发送给所述客户端,供所述客户端保存所述客户会话ID,以建立通道通信。
在第一方面的一种可能的实现方式中,在所述与所述客户端建立通信的步骤后,所述方法还包括:
获取所述客户端在预设时间间隔内发送的加密序列,所述加密序列是所述客户端使用用户名以及当前时间生成报文后依次进行序列化和加密得到的信息;
采用所述加密序列通过激活验证后,刷新预设的会话列表并向所述客户端发送响应报文,供所述客户端在解密所述响应报文后确定激活时间,以使所述客户端和云端的通信通道保持激活。
在第一方面的一种可能的实现方式中,所述获取任务类型,包括:
获取所述客户端的请求类型;
若所述请求类型为前端用户请求,则在获取所述客户端对应的前端用户的用户ID并确定所述用户ID在通信通道在线时,采用所述用户ID生成第一任务ID,利用所述第一任务ID查找任务类型;
若所述请求类型为后台作务请求,则在获取所述客户端对应的默认ID并确定所述默认ID在通信通道在线时,采用所述述默认ID生成第二任务ID,利用所述第二任务ID查找任务类型。
在第一方面的一种可能的实现方式中,所述获取任务类型,还包括:
若确定所述用户ID在通信通道不在线时,展示提示信息;
若确定所述默认ID在通信通道不在线时,将所述客户端添加至预设的执行任务列表中,并设定所述客户端的任务有效时间。
在第一方面的一种可能的实现方式中,所述根据所述任务类型加密生成任务处理信息,包括:
根据所述任务类型创建实体类对象,并基于所述任务类型对应的类型参数设置所述实体类对象的属性,得到参数对象;
对所述参数对象进行序列化加密处理,得到任务处理信息。
在第一方面的一种可能的实现方式中,所述对所述参数对象进行序列化加密处理,得到任务处理信息,包括:
获取所述参数对象对应的对象ID以及实体类对象;
利用所述对象ID分别查找客户会话ID和预设的共享密钥,采用所述客户会话ID、预设的共享密钥和对象ID生成云端密钥,以及将所述实体类对象转换成JSON格式的云端字符串;
采用所述云端密钥对所述云端字符串进行加密得到任务处理信息。
在第一方面的一种可能的实现方式中,所述对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理,包括:
当确定所述任务数据对应的数据ID在列表中,对所述任务数据进行解密得到解密数据;
对所述解密数据进行反序列化处理后,调用预设的上层应用对反序列化处理后的数据进行业务处理。
本发明实施例的第二方面提供了一种数据处理方法,所述方法适用于与云端通信的客户端,所述方法包括:
在与所述云端建立通信后,向所述云端发送任务类型,以供所述云端根据所述任务类型加密生成任务处理信息;
在接收所述云端下发的任务处理信息后,根据所述任务处理信息从内网提取对应的任务数据,对所述任务数据加密后发送给所述云端,以供所述云端对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
在第二方面的一种可能的实现方式中,所述与所述云端建立通信,包括:
加载本地存储的用户名、客户端密码和机器码后,采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到客户加密验证信息,并将所述客户加密验证信息发送给所述云端,以供所述云端采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID以及生成云端加密验证信息;
在获取所述客户会话ID后保存所述客户会话ID,以建立通道通信。
在第二方面的一种可能的实现方式中,在所述与所述云端建立通信的步骤后,所述方法还包括:
获取用户名和当前时间后,采用所述用户名和所述当前时间生成报文并依次进行序列化和加密得到加密序列;
按照预设时间间隔向所述云端发送加密序列,以供所述云端在采用所述加密序列通过激活验证后刷新预设的会话列表;
接收所述云端发送的响应报文,在解密所述响应报文后确定激活时间,按照所述激活时间重复向所述云端发送加密序列,以激活通信通道。
在第二方面的一种可能的实现方式中,所述根据所述任务处理信息从内网提取对应的任务数据,包括:
利用预设的解密密钥对所述任务处理信息进行解密得到解密报文,所述预设的解密密钥是利用客户会话ID、对象ID和预设的共享密钥生成的密钥;
对所述解密报文进行反序列化处理得到标准对象后,基于所述标准对象创建客户实现类并确定任务类型;
按照所述任务类型对应的配置和参数调用所述客户实现类进行业务操作,得到操作结果;
将所述操作结果转换成标准实体类后,对所述标准实体类进行序列化得到任务数据。
本发明实施例的第三方面提供了一种云端,所述云端包括:
生成任务处理信息模块,用于在与所述客户端建立通信并获取任务类型后,根据所述任务类型加密生成任务处理信息并下发至所述客户端,以供所述客户端根据所述任务处理信息提取对应的任务数据;
业务处理模块,用于在获取所述客户端反馈的经过加密的任务数据后,对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
本发明实施例的第四方面提供了一种客户端,所述客户端包括:
发送任务类型模块,用于在与所述云端建立通信后,向所述云端发送任务类型,以供所述云端根据所述任务类型加密生成任务处理信息;
数据提取模块,用于在接收所述云端下发的任务处理信息后,根据所述任务处理信息从内网提取对应的任务数据,对所述任务数据加密后发送给所述云端,以供所述云端对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
本发明实施例的第五方面提供了一种数据传输系统,所述数据传输系统包括:相互通信的云端和客户端,所述云端适用于如上所述的数据处理方法,所述客户端适用于如上所述的数据处理方法。
相比于现有技术,本发明实施例提供的一种数据处理方法、云端、客户端及数据处理系统,其有益效果在于:本发明可以由云端主动触发与客户端建立通信,在建立通信后获取任务类型并加密生成任务处理信息,将其下发至客户端,供客户端根据任务处理信息提取对应的任务数据;最后根据进行业务处理,整个过程有云端触发处理,无需客户端定时向云端上传数据,一方面可以减少客户端执行数据采集任务的次数,减少客户端的任务量,另一方面可以减少云端的定时访问量,减少访问量占用的云端资源,以提升云端的处理效率。
附图说明
图1是本发明一实施例提供的一种数据处理方法的流程示意图;
图2是本发明一实施例提供的云端与客户端建立通信的操作流程图;
图3是本发明一实施例提供的云端与客户端的通信通道保持激活的操作流程图;
图4是本发明一实施例提供的云端的序列化加密处理的操作流程图;
图5是本发明一实施例提供的云端的进行解密以及业务处理的操作流程图;
图6是本发明一实施例提供的云端的上层应用进行处理的操作流程图;
图7是本发明一实施例提供的一种数据处理方法的操作流程图;
图8是本发明一实施例提供的一种数据处理方法的流程示意图;
图9是本发明一实施例提供的客户端的反序列化处理的操作流程图;
图10是本发明一实施例提供的一种数据处理方法的操作流程图;
图11是本发明一实施例提供的一种云端的结构示意图;
图12是本发明一实施例提供的一种客户端的结构示意图;
图13是本发明一实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述问题,下面将通过以下具体的实施例对本申请实施例提供的一种数据处理方法进行详细介绍和说明。
参照图1,示出了本发明一实施例提供的一种数据处理方法的流程示意图。
在一实施例中,所述方法适用于云端,所述云端可以与多个客户端通信。每个客户端可以是安装在企业设备、计算机或服务器的智能客户端。该客户端可以在企业的内网中提取各种企业数据,同时可以将数据传输至云端,供云端采用各种企业数据进行税务计算或票务处理等。
需要说明的是,企业的管理人员或用户也可以直接操作其客户端,通过使用客户端向云端发送数据。
其中,作为示例的,所述数据处理方法,可以包括:
S11、在与所述客户端建立通信并获取任务类型后,根据所述任务类型加密生成任务处理信息并下发至所述客户端,以供所述客户端根据所述任务处理信息提取对应的任务数据;
在一实施例中,在实际应用时,可以让云端与客户端先建立通信,在建立通信后可以通过客户端获取任务类型,该任务类型用户本次调用客户端向云端上传数据后,触发云端执行的任务的类型。接着,云端可以对任务类型进行加密以及转换等处理,从而生成任务处理信息,并将任务处理信息发送给客户端,让客户端根据任务处理信息提取相应的数据,例如,需要进行税务统计的任务,可以获取税务的数据;需要进行开票处理的任务,可以获取票务相关的数据。
由于提取数据的流程是由云端主动发起,客户端无需定时采集数据并反馈给云端,一方面可以减少客户端采集数据的次数,简化操作流程,另一方面可以避免客户端会定时向云端发送数据,从而减少云端的访问量,避免过多的访问量占用云端的资源,以减轻云端的通信压力,提升云端的处理效率。
其中,作为示例的,所述与所述客户端建立通信可以包括以下子步骤:
S111、获取所述客户端的客户加密验证信息,所述加密验证信息是所述客户端采用预设的共享密钥对用户名、客户端密码和机器码进行加密后生成。
S112、采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID。
S113、采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到云端加密验证信息,并采用所述云端加密验证信息将所述客户会话ID发送给所述客户端,供所述客户端保存所述客户会话ID,以建立通道通信。
在一实现方式中,客户端可以先从本地获取预设的共享密钥、用户名、客户端密码、机器码、云端验证URL等,然后采用预设的共享密钥对用户名、客户端密码、机器码进行加密,得到客户加密验证信息。再通过云端验证URL将客户加密验证信息发送给云端。
接着,可以采用预设的共享密钥解密客户加密验证信息,分别得到用户名、客户端密码、机器码和云端验证URL,云端可以使用云端验证URL进行通信验证。当确定通信验证通过后,创建该客户端的客户会话ID(SessionID)。
云端Server在与客户端建立通道后,会为本次连接建立一个客户会话ID(即SessionID),以表明该通道的唯一性,方便上层应用下发任务时定位通道。接着云端可以采用预设的共享密钥对用户名、客户端密码和机器码进行加密,得到云端加密验证信息(enckey),同时可以通过云端加密验证信息将客户会话ID发送给客户端,供客户端保存客户会话ID至内存中,以完成通道通信。
在一可选的实施例中,云端与客户端可以建立WebSocket通道通信,因为考虑到客户端一部需要部署在客户企业的内网,由于客户端从企业的内网访问外网时,通常会有防火墙、NAT等安全设备,因此本发明采用与http协议同源同端口的WebSocket协议,只要客户防火墙、NAT等安全设备开通了访问云端Server的http/https端口,即可使用,不需要为配置下发和回传单独开放端口,可以简化通信流程,提升客户端与云端的通信效率。
参照图2,示出了本发明一实施例提供的云端与客户端建立通信的操作流程图。
在一实际操作方式中,云端与客户端建立通信的流程可以包括如下步骤:
第一步,加载本地配置的预共享密钥、用户名、密码、云端验证URL等。
第二步,获取机器码(CPU SN+第1个物理硬盘第1个分区SN)。
第三步,采用预共享密钥将用户名、密码、机器码通过预共享密钥加密发送到云端验证URL。
第四步,云端根据云端验证URL进行验证,若通过则创建客户会话ID(SessionID),将客户会话ID(SessionID)保存至会话列表;反之,若不通过,则提示用户验证失败。
第五步,使用预设的共享密钥、用户名、客户端密码和机器码生成云端加密验证信息(enckey)。
第六步,使用云端加密验证信息(enckey)将客户会话ID(SessionID)发送给客户端。
第七步,客户端解密云端加密验证信息(enckey)得到客户会话ID(SessionID)后,将客户会话ID(SessionID)保存至内存。
由于客户端所在的内网有客户防火墙、NAT等安全设备,各个安全设备会定时对客户端进行检测,为了避免因NAT超时而导致云端与客户端需要重新连接的情况,需要让云端与客户端的WebSocket通道保持激活。其中,作为示例的,在所述与所述客户端建立通信的步骤后,所述方法还可以包括以下子步骤:
S114、获取所述客户端在预设时间间隔内发送的加密序列,所述加密序列是所述客户端使用用户名以及当前时间生成报文后依次进行序列化和加密得到的信息。
S115、采用所述加密序列通过激活验证后,刷新预设的会话列表并向所述客户端发送响应报文,供所述客户端在解密所述响应报文后确定激活时间,以使所述客户端和云端的通信通道保持激活。
在一实施例中,让云端与客户端保持激活的操作可以由客户端发起,因为客户的内网有各种安全设备,为了避免各个安全设备截停云端与客户端的通信通道,客户端可以按照预设的时间间隔触发一次激活操作。
在一操作方式中,客户端可以采用预设的共享密钥和客户会话ID(SessionID)生成一个客户端的密钥(seEnckey),同时客户端可以获取用户名和实时时间,接着生成关于当前用户名和实时时间的对象报文,对对象报文进行序列化和加密处理后,得到一段加密序列。最后,客户端可以将加密序列发送给云端server。
同理,云端server可以对加密序列进行验证,验证方式可以与上述步骤S112的步骤相同,当验证通过后,云端可以重新刷新其会话列表,同时可以向客户端返回一个响应报文(echoResponse对象报文)。
客户端在接收响应报文后,可以解密响应报文,然后刷新下一次激活时间,具体可以根据预设的时间间隔刷新下一次的激活时间。
参照图3,示出了本发明一实施例提供的云端与客户端的通信通道保持激活的操作流程图。
在一实际操作方式中,云端与客户端的通信通道保持激活的流程可以包括如下步骤:
第一步,客户端采用预设的共享密钥和客户会话ID(SessionID)生成客户端的密钥(seEnckey)。
第二步,客户端获取用户名和当前时间。
第三步,客户端生成关于用户名和当前时间的对象报文。
第四步,客户端对对象报文进行序列化和加密处理后发送给云端server。
第五步,云端server对加密序列进行验证,若验证不通过,则丢弃接收的加密序列;若验证通过,则刷新会话表。
第六步,云端server向客户端返回响应报文(echoResponse对象报文)。
第七步,客户端对响应报文(echoResponse对象报文)进行解密,同时刷新下次激活时间。
本发明通过让云端与客户端的WebSocket通道保持激活,可以有效防止NAT超时重连以及在客户端的IP变化时能及时检测,确保客户端与云端的通信不会中断。
在与客户端建立WebSocket通道的通信,可以获取客户端本次访问的任务类型,其中,作为示例的,所述获取任务类型可以包括以下子步骤:
S21、获取所述客户端的请求类型。
在一实施例中,可以先确定当前所连接的客户端是直连的客户端还是非直连的客户端,非直连客户端可以是设置在企业内网的客户端。
如果是直连的客户端,可以直接控制客户端提取数据,如果是非直连的客户端,可以判断本次客户端请求的操作的请求类型。在一实施例中,请求类型可以是客户端的前端用户操控客户端进行数据提取请求,也可以是客户端定时的后台作务请求。
S22、若所述请求类型为前端用户请求,则在获取所述客户端对应的前端用户的用户ID并确定所述用户ID在通信通道在线时,采用所述用户ID生成第一任务ID,利用所述第一任务ID查找任务类型。
如果请求类型为前端用户请求,可以获取该客户端的前端用户的用户ID,该前端用户的用户ID可以是用户登录客户端的个人账户ID。
然后判断该用户ID在WebSocket通道是否在线,如果在线,则可以采用这个用户ID生成第一任务ID,利用第一任务ID查找任务类型。
在一实现方式中,生成第一任务ID的方式可以是采用航天信息AOS+平台的Guid,需要说明的是,可以与通用的Guid相似,可以由10进制无序数字组成。
该第一任务ID可以关联该本次任务的内容(用户ID、组织ID、SessionID、任务创建时间、任务有效时间、客户端任务类型(单据获取、客户编码获取、商品编码获取、开票数据回传)、任务执行实体类的Json序列化成String等)。这些与下发任务相关的内容均保存到任务表中,其目的有如下几点:
第一,可以避免任务重复执行。
第二,客户端若出现后发前执行完成时,按时间顺序返回给上层应用(例如:获取2023-01-01~2023-09-30单据数据,与回传发票号为00000001的开票数据时,就会出现回传的先执行完成。通过任务表的管理,确保同一个用户ID内先下发的先执行(尽管对上层应用会造成响应慢,但要确保数据的一致性)。
第三,避免同一个用户ID内,任务类型相同时(限单据获取、客户编码获取、商品编码获取),因用户操作不当,或前端页面“抖动”的问题,导致同一任务类型多个下发,客户端在执行任务时加重客户的数据库/API的压力。
由于第一任务ID关联了上述各项信息,可以通过第一任务ID查找本次任务的任务类型。
S23、若所述请求类型为后台作务请求,则在获取所述客户端对应的默认ID并确定所述默认ID在通信通道在线时,采用所述述默认ID生成第二任务ID,利用所述第二任务ID查找任务类型。
同理,如果请求类型为后台作务请求,就可以获取客户端对应的默认ID,该客户端对应的默认ID可以是客户端自身的编码ID。然后可以确定默认ID在WebSocket通道是否在线,如果在线,就可以采用述默认ID生成第二任务ID,利用第二任务ID查找任务类型。
在一实施例中,第二任务ID的生成方式以及利用第二任务ID查找任务类型的操作方式可以上述步骤S22的第一任务ID相同,具体可以操作上述说明。
可选地,利用第一任务ID和第二任务ID查找的任务类型均可以包括:单据获取类型、客户编码获取类型、商品编码获取类型和开票数据回传类型等。
S24、若确定所述用户ID在通信通道不在线时,展示提示信息。
S25、若确定所述默认ID在通信通道不在线时,将所述客户端添加至预设的执行任务列表中,并设定所述客户端的任务有效时间。
在一可选的实施例中,可能确定用户ID在WebSocket通道不在线,此时云端可以展示预设的提示信息,同时可以向客户端发送预设的提示信息,供客户端展示提示信息。
同理,可能确定默认ID在WebSocket通道不在线,此时,可以将客户端添加至预设的执行任务列表中,并设定客户端的任务有效时间。
在一实施例中,在确定任务类型后,可以对任务类型进行加密,从而生成一个任务处理信息,再将任务处理信息下发至客户端,使得客户端可以根据任务处理信息进行相应的任务处理,例如,可以获取单据数据,可以获取客户编码数据,可以获取商品编码数据等。
为了避免信息被窃取,其中,作为示例的,所述根据所述任务类型加密生成任务处理信息可以包括以下子步骤:
S31、根据所述任务类型创建实体类对象,并基于所述任务类型对应的类型参数设置所述实体类对象的属性,得到参数对象。
在一实施例中,可以根据任务类型对应的任务创建并配置对应的实体类的对象,得到实体类对象,然后可以任务类型对应的类型参数设置实体类对象的属性,得到参数对象。
其中,设置对象的属性可以包括:第一,任务类型(单据获取、客户编码获取、商品编码获取、开票数据回传,后续还会扩展进项报销认证等);第二,连接方式(SQL、Http Api、SAP JCO/SNC、FTP、SMB);第三,连接参数:以SQL为例,则包括:数据库类型(SQL Server、Oracle、MySQL、DB2、HANA)和数据库连接串(地址、端口、用户名、密码、库名、其它连接参数);第四,执行命令(以SQL为例:SELECT*FROM xxfp WHERE billTime BETWEEN?AND?);第五,执行参数(以上述SQL为例:[2023-09-01 00:00:00,2023-09-17 23:59:59];第六,用户ID;第七,组织ID;第八,任务创建时间;第九,预留参数。
S32、对所述参数对象进行序列化加密处理,得到任务处理信息。
接着,可以对参数对象进行序列化处理以及加密处理,得到任务处理信息,再将任务处理信息下发至客户端。
下发的实体类对象是由云端Server创建,通过“实体类序列化、加密”的步骤,生成加密的String进行。
在本数量中,实体类对象是指Java中的一个对象。
具体地,在一实际操作方式中,所述对所述参数对象进行序列化加密处理,得到任务处理信息,可以包括以下子步骤:
S321、获取所述参数对象对应的对象ID以及实体类对象。
S322、利用所述对象ID分别查找客户会话ID和预设的共享密钥,采用所述客户会话ID、预设的共享密钥和对象ID生成云端密钥,以及将所述实体类对象转换成JSON格式的云端字符串。
S323、采用所述云端密钥对所述云端字符串进行加密得到任务处理信息。
在具体操作中,可以获取参数对象对应的对象ID以及实体类对象,其中,若是前端用户请求,则参数对象的对象ID可以是客户端对应的前端用户的用户ID;同理,若是后台作务请求,则参数对象的对象ID可以是客户端对应的默认ID。
接着,可以将实体类对象转换成JSON格式的云端字符串。并且可以利用对象ID分别查找该客户端的客户会话ID,同理,可以通过参数对象的对象ID获取对应的组织ID,通过组织ID获取对应的预设的共享密钥,采用算法A将客户会话ID、预设的共享密钥和对象ID生成云端密钥。其中,算法A可以是常规的加密算法,也可以用户预设的加密算法,具体可以根据实际需要进行调整。
在完成上述操作后,可以利用算法S将JSON格式的云端字符串作为内容,以云端密钥作为加密密钥,进行加密处理,生成任务处理信息。
参照图4,示出了本发明一实施例提供的云端的序列化加密处理的操作流程图。
在一实现方式中,云端的序列化加密处理的操作流程可以包括如下步骤:
第一步,获取参数对象对应的对象ID以及实体类对象。
第二步,实体类对象转换成JSON格式的云端字符串,并且利用对象ID分别查找该客户端的客户会话ID以及通过参数对象的对象ID获取对应的预设的共享密钥。
第三步,采用算法A将客户会话ID、预设的共享密钥和对象ID生成云端密钥。
第四步,利用算法S将JSON格式的云端字符串作为内容,以云端密钥作为加密密钥,进行加密处理。
S12、在获取所述客户端反馈的经过加密的任务数据后,对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
在生成任务处理信息后,云端可以将任务处理信息发送给客户端,然后客户端可以解密任务处理信息,再根据解密后的信息进行相应的任务处理,以提取到对应个数据,同时可以对提取的数据进行加密,得到任务数据。接着可以将加密后的任务数据发送给云端,云端可以在解密后利用任务数据进行税务计算、开单处理等任务操作。
在一可选的实施例中,步骤S12可以包括以下子步骤:
S121、当确定所述任务数据对应的数据ID在列表中,对所述任务数据进行解密得到解密数据。
S122、对所述解密数据进行反序列化处理后,调用预设的上层应用对反序列化处理后的数据进行业务处理。
具体地,云端可以先判断客户端返回的任务数据对应的数据ID在会话列表中,其中,该数据ID可以是在先步骤的客户会话ID(SessionID),在先的步骤中云端已经将其存储在会话列表内。如果确定数据ID在会话列表中,可以确定该数据是任务所需的数据,可以对其进行解密,得到解密数据。
然后可以对解密数据进行反序列化处理,在完成反序列化处理后,调用预设的上层应用对反序列化处理后的数据进行业务处理。
参照图5,示出了本发明一实施例提供的云端的进行解密以及业务处理的操作流程图。
在一操作方式中,云端的进行解密以及业务处理的操作流程可以包括如下步骤:
第一步,判断返回的任务数据对应的数据ID在会话列表中,如果不在,就丢弃该任务数据;如果在,则查找任务数据对应的客户会话ID(SessionID)和预设的共享密钥。
第二步,采用客户会话ID(SessionID)和预设的共享密钥生成解密密钥,并对任务数据进行解密。
第三步,如果解密不成功,就丢弃任务数据;反之,如果解密成功,对任务数据进行反序列化处理,得到标准对象。
第四步,在会话列表中删除该客户端的客户会话ID(SessionID)。
第五步,调用上层应用对标准对象进行对应的业务处理。
参照图6,示出了本发明一实施例提供的云端的上层应用进行处理的操作流程图。
在一操作方式中,上层应用进行处理的操作可以是云端直接将客户端返回的数据进行解密和反序列化处理后,将其发送给上层应用中,例如,用户调用的上层应用单据获取,则可以返回数据给单据获取的应用,又例如,用户调用的应用是开票数据回传,则可以返回数据给开票数据回传的应用等。
参照图7,示出了本发明一实施例提供的一种数据处理方法的操作流程图。
具体地,云端进行数据处理方法的操作可以包括如下步骤:
第一步,云端与设备建立通信连接,判断设备的主体类型是否为客户端,如果不是,就直接与设备通信提取数据;如果是客户端,则获取客户端的请求类型。
第二步,云端根据不同的请求类型生成对应的任务ID,同时确定客户端的任务类型。
第三步,云端根据任务类型创建任务下发实体类。
第四步,云端根据参数配置实体类。
第五步,云端对实体类进行序列化和加密处理。
第六步,云端放任务表,并设置有效时间。
第七步,通过ws通道下发客户端,有客户端进行相应的数据提取处理。
在本实施例中,本发明实施例提供了一种数据处理方法,其有益效果在于:本发明可以由云端主动触发与客户端建立通信,在建立通信后获取任务类型并加密生成任务处理信息,将其下发至客户端,供客户端根据任务处理信息提取对应的任务数据;最后根据进行业务处理,整个过程有云端触发处理,无需客户端定时向云端上传数据,一方面可以减少客户端执行数据采集任务的次数,减少客户端的任务量,另一方面可以减少云端的定时访问量,减少访问量占用的云端资源,以提升云端的处理效率。
参照图8,示出了本发明一实施例提供的一种数据处理方法的流程示意图。
在一实施例中,所述方法适用于客户端,所述客户端可以与云端通信。每个客户端可以是安装在企业设备、计算机或服务器的智能客户端。该客户端可以在企业的内网中提取各种企业数据,同时可以将数据传输至云端,供云端采用各种企业数据进行税务计算或票务处理等。
需要说明的是,该客户端可以是一个自主研发的通用版客户端,该客户端除了登录到云端的配置是放在客户端本地外。单据数据获取、客户编码获取、商品编码获取等均通过云端Server进行下发。客户端根据下发的命令执行结果并加密返回给云端Server。
并且本发明的通用版客户端,由于可以实现云端Server下发到客户端的外网往内网的数据流,因此可以允许云端Server主动将开票结果回写到内网的数据库/http api/SAP JCO,甚至能写入内网的FTP。从而避免客户端只能通过定时任务轮循开票结果带来云端Server高访问量的问题。
其中,作为示例的,所述数据处理方法,可以包括:
S41、在与所述云端建立通信后,向所述云端发送任务类型,以供所述云端根据所述任务类型加密生成任务处理信息。
在一实施例中,可以是客户端主动与云端建立通信连接,在完成通信连接后,可以向云端发送任务类型,使得云端可以根据任务类型加密生成任务处理信息。
具体地,生成任务处理信息的流程可以参照上述实施例步骤S31-S32的解析说明,为了避免重复,在此不再赘述。
其中,作为示例的,所述与所述云端建立通信可以包括以下子步骤:
S51、加载本地存储的用户名、客户端密码和机器码后,采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到客户加密验证信息,并将所述客户加密验证信息发送给所述云端,以供所述云端采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID以及生成云端加密验证信息。
S52、在获取所述客户会话ID后保存所述客户会话ID,以建立通道通信。
具体地,建立通信的步骤流程可以参照上述实施例步骤S111-S113的解析说明以及附图2公开的内容,为了避免重复,在此不再赘述。
在所述与所述云端建立通信的步骤后,所述方法还可以包括以下子步骤:
S61、获取用户名和当前时间后,采用所述用户名和所述当前时间生成报文并依次进行序列化和加密得到加密序列。
S62、按照预设时间间隔向所述云端发送加密序列,以供所述云端在采用所述加密序列通过激活验证后刷新预设的会话列表。
S63、接收所述云端发送的响应报文,在解密所述响应报文后确定激活时间,按照所述激活时间重复向所述云端发送加密序列,以激活通信通道。
具体地,保持激活的步骤流程可以参照上述实施例步骤S114-S115的解析说明以及附图3公开的内容,为了避免重复,在此不再赘述。
S42、在接收所述云端下发的任务处理信息后,根据所述任务处理信息从内网提取对应的任务数据,对所述任务数据加密后发送给所述云端,以供所述云端对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
在一实施例中,客户端可以根据云端下发任务处理信息从内网的数据库或者根据不同的任务类型提取对应的任务数据,然后对任务数据进行加密,在加密后发送给云端,以供云端对所述任务数据进行解密,并对解密后的任务数据进行业务处理。
其中,云端对所述任务数据进行解密,并对解密后的任务数据进行业务处理的步骤流程可以参照上述实施例步骤S121-S122的解析说明以及附图5和附图6公开的内容,为了避免重复,在此不再赘述。
其中,作为示例的,所述根据所述任务处理信息从内网提取对应的任务数据可以包括以下子步骤:
S421、利用预设的解密密钥对所述任务处理信息进行解密得到解密报文,所述预设的解密密钥是利用客户会话ID、对象ID和预设的共享密钥生成的密钥。
S422、对所述解密报文进行反序列化处理得到标准对象后,基于所述标准对象创建客户实现类并确定任务类型。
S423、按照所述任务类型对应的配置和参数调用所述客户实现类进行业务操作,得到操作结果。
S424、将所述操作结果转换成标准实体类后,对所述标准实体类进行序列化得到任务数据。
具体地,客户端可以利用预设的解密密钥对任务处理信息进行解密,得到解密报文,其中,预设的解密密钥可以是利用客户会话ID、对象ID和预设的共享密钥生成的密钥。如果解密失败,可以返回任务ID执行失败给云端。
接着,客户端可以对解密报文进行反序列化处理得到标准对象,然后基于标准对象创建客户实现类并确定任务类型。
再接着可以按照任务类型对应的配置和参数调用客户实现类进行业务操作,得到操作结果。例如,可以根据单据数据获取的配置和参数调用单据数据获取的客户实现类进行单据数据获取操作,得到单据数据。最后可以对将单据数据转换成标准实体类,并对单据数据的标准实体类进行序列化得到任务数据,最后返回给云端。
又例如,以SQL为例,会有数据库类型、数据库连接串、执行命令、执行参数。客户端根据这些参数进行连接、执行、获取返回的数据。序列化并加密后返回云端Server。
需要说明的是,一般来说,一个任务只会创建一个实现类。这些实现类是用于客户端连接客户内网的数据库/http api等时需要的。因为需要统一上层报文,所以采用基于interface的工厂模式。
由于每个客户的获取、回写的情况不同,有些客户是用数据库就通过工厂创建SQL实现类。如此类推,如果客户使用http api就通过工厂创建HTTP实现类。
毕竟客户端是通用的,所以在设计时就将目前客户需要用到的连接方式都各做一种实现类。
参照图9,示出了本发明一实施例提供的客户端的反序列化处理的操作流程图。
具体地,客户端的反序列化处理的操作可以包括:
客户端可以直接将JSON格式的解密报文进行反序列化处理得到标准对象。
需要说明的是,客户端的转换成实体类、序列化和加密返回给云端的操作,与云端发送任务给客户端的操作流程是相同,但是任务下发与任务返回的实体类定义是不同(即对应的class不同),所以报文结构可以有差异。
参照图10,示出了本发明一实施例提供的一种数据处理方法的操作流程图。
具体地,客户端进行数据处理方法的操作可以包括如下步骤:
第一步,客户端接收云端的任务处理信息后,基于算法A将任务ID和客户会话ID和预设的共享密钥生成解密密钥,然后使用解密密钥对任务处理信息进行解密。
第二步,如果客户端解密不成功,客户端可以返回任务ID执行失败给云端;如果客户端解密成功,客户端可以对任务处理信息进行反序列化处理得到标准对象,客户端再基于标准对象创建客户实现类并确定任务类型。
第三步,客户端由客户实现类根据配置和参数执行。
第四步,客户端将执行结果转换成标准实体类。
第五步,客户端对标准实体类进行序列化。
第六步,客户端使用解密密钥对序列化的结果进行加密,最后发送给云端。
本发明的客户端只需要通用的版本即可,无需为每个客户定制开发客户端。并且更新时可以一起升级,不需要为每个客户单独修改代码进行升级,可以大大减轻开发的难度并降低开发的成本。
本发明的云端Server和客户端采用与http同源的WebSocket协议,不需要单独开放访问端口。并且方便穿越NAT、适应运营商动态IP变化。不需要专门的NAT ALG。
本发明的云端Server和客户端采用约定的通用实体类,方便上层应用处理和下层结构化返回。
在本实施例中,本发明实施例提供了一种数据处理方法,其有益效果在于:本发明的客户端均是通过云端Server下发的信息进行数据提取处理,可以实现云端Server下发到客户端的外网往内网的数据流,同时可以允许云端Server主动将开票结果回写到内网的数据库/http api/SAP JCO,甚至能写入内网的FTP,从而避免客户端只能通过定时任务轮循开票结果带来云端Server高访问量的问题。
本发明实施例还提供了一种云端,参见图11,示出了本发明一实施例提供的一种云端的结构示意图。
其中,作为示例的,所述云端可以包括:
生成任务处理信息模块101,用于在与所述客户端建立通信并获取任务类型后,根据所述任务类型加密生成任务处理信息并下发至所述客户端,以供所述客户端根据所述任务处理信息提取对应的任务数据;
业务处理模块102,用于在获取所述客户端反馈的经过加密的任务数据后,对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
可选地,所述生成任务处理信息模块,还用于:
获取所述客户端的客户加密验证信息,所述加密验证信息是所述客户端采用预设的共享密钥对用户名、客户端密码和机器码进行加密后生成;
采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID;
采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到云端加密验证信息,并采用所述云端加密验证信息将所述客户会话ID发送给所述客户端,供所述客户端保存所述客户会话ID,以建立通道通信。
可选地,所述生成任务处理信息模块,还用于:
获取所述客户端在预设时间间隔内发送的加密序列,所述加密序列是所述客户端使用用户名以及当前时间生成报文后依次进行序列化和加密得到的信息;
采用所述加密序列通过激活验证后,刷新预设的会话列表并向所述客户端发送响应报文,供所述客户端在解密所述响应报文后确定激活时间,以使所述客户端和云端的通信通道保持激活。
可选地,所述生成任务处理信息模块,还用于:
获取所述客户端的请求类型;
若所述请求类型为前端用户请求,则在获取所述客户端对应的前端用户的用户ID并确定所述用户ID在通信通道在线时,采用所述用户ID生成第一任务ID,利用所述第一任务ID查找任务类型;
若所述请求类型为后台作务请求,则在获取所述客户端对应的默认ID并确定所述默认ID在通信通道在线时,采用所述述默认ID生成第二任务ID,利用所述第二任务ID查找任务类型。
可选地,所述生成任务处理信息模块,还用于:
若确定所述用户ID在通信通道不在线时,展示提示信息;
若确定所述默认ID在通信通道不在线时,将所述客户端添加至预设的执行任务列表中,并设定所述客户端的任务有效时间。
可选地,所述生成任务处理信息模块,还用于:
根据所述任务类型创建实体类对象,并基于所述任务类型对应的类型参数设置所述实体类对象的属性,得到参数对象;
对所述参数对象进行序列化加密处理,得到任务处理信息。
可选地,所述生成任务处理信息模块,还用于:
获取所述参数对象对应的对象ID以及实体类对象;
利用所述对象ID分别查找客户会话ID和预设的共享密钥,采用所述客户会话ID、预设的共享密钥和对象ID生成云端密钥,以及将所述实体类对象转换成JSON格式的云端字符串;
采用所述云端密钥对所述云端字符串进行加密得到任务处理信息。
可选地,所述业务处理模块,用于:
当确定所述任务数据对应的数据ID在列表中,对所述任务数据进行解密得到解密数据;
对所述解密数据进行反序列化处理后,调用预设的上层应用对反序列化处理后的数据进行业务处理。
本发明实施例还提供了一种客户端,参见图12,示出了本发明一实施例提供的一种客户端的结构示意图。
其中,作为示例的,所述客户端可以包括:
发送任务类型模块201,用于在与所述云端建立通信后,向所述云端发送任务类型,以供所述云端根据所述任务类型加密生成任务处理信息;
数据提取模块202,用于在接收所述云端下发的任务处理信息后,根据所述任务处理信息从内网提取对应的任务数据,对所述任务数据加密后发送给所述云端,以供所述云端对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
可选地,所述发送任务类型模块,还用于:
加载本地存储的用户名、客户端密码和机器码后,采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到客户加密验证信息,并将所述客户加密验证信息发送给所述云端,以供所述云端采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID以及生成云端加密验证信息;
在获取所述客户会话ID后保存所述客户会话ID,以建立通道通信。
可选地,所述发送任务类型模块,还用于:
获取用户名和当前时间后,采用所述用户名和所述当前时间生成报文并依次进行序列化和加密得到加密序列;
按照预设时间间隔向所述云端发送加密序列,以供所述云端在采用所述加密序列通过激活验证后刷新预设的会话列表;
接收所述云端发送的响应报文,在解密所述响应报文后确定激活时间,按照所述激活时间重复向所述云端发送加密序列,以激活通信通道。
可选地,所述发送任务类型模块,还用于:
利用预设的解密密钥对所述任务处理信息进行解密得到解密报文,所述预设的解密密钥是利用客户会话ID、对象ID和预设的共享密钥生成的密钥;
对所述解密报文进行反序列化处理得到标准对象后,基于所述标准对象创建客户实现类并确定任务类型;
按照所述任务类型对应的配置和参数调用所述客户实现类进行业务操作,得到操作结果;
将所述操作结果转换成标准实体类后,对所述标准实体类进行序列化得到任务数据。
本发明实施例还提供了一种数据传输系统,参见图13,示出了本发明一实施例提供的一种数据传输系统的结构示意图。
其中,作为示例的,所述数据传输系统可以包括:相互通信的云端和客户端,所述云端适用于如上述实施例所述的数据处理方法,所述客户端适用于如上述实施例所述的数据处理方法。
所属技术领域的技术人员可以清楚地了解到,为方便的描述和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步的,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的数据处理方法。
进一步的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如上述实施例所述的数据处理方法。
本领域内的技术人员应明白,本申请的实施例还可提供包括计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、装置和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (17)

1.一种数据处理方法,其特征在于,所述方法适用于与客户端通信的云端,所述方法包括:
在与所述客户端建立通信并获取任务类型后,根据所述任务类型加密生成任务处理信息并下发至所述客户端,以供所述客户端根据所述任务处理信息提取对应的任务数据;
在获取所述客户端反馈的经过加密的任务数据后,对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述与所述客户端建立通信,包括:
获取所述客户端的客户加密验证信息,所述加密验证信息是所述客户端采用预设的共享密钥对用户名、客户端密码和机器码进行加密后生成;
采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID;
采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到云端加密验证信息,并采用所述云端加密验证信息将所述客户会话ID发送给所述客户端,供所述客户端保存所述客户会话ID,以建立通道通信。
3.根据权利要求1-2任意一项所述的数据处理方法,其特征在于,在所述与所述客户端建立通信的步骤后,所述方法还包括:
获取所述客户端在预设时间间隔内发送的加密序列,所述加密序列是所述客户端使用用户名以及当前时间生成报文后依次进行序列化和加密得到的信息;
采用所述加密序列通过激活验证后,刷新预设的会话列表并向所述客户端发送响应报文,供所述客户端在解密所述响应报文后确定激活时间,以使所述客户端和云端的通信通道保持激活。
4.根据权利要求1所述的数据处理方法,其特征在于,所述获取任务类型,包括:
获取所述客户端的请求类型;
若所述请求类型为前端用户请求,则在获取所述客户端对应的前端用户的用户ID并确定所述用户ID在通信通道在线时,采用所述用户ID生成第一任务ID,利用所述第一任务ID查找任务类型;
若所述请求类型为后台作务请求,则在获取所述客户端对应的默认ID并确定所述默认ID在通信通道在线时,采用所述述默认ID生成第二任务ID,利用所述第二任务ID查找任务类型。
5.根据权利要求4所述的数据处理方法,其特征在于,所述获取任务类型,还包括:
若确定所述用户ID在通信通道不在线时,展示提示信息;
若确定所述默认ID在通信通道不在线时,将所述客户端添加至预设的执行任务列表中,并设定所述客户端的任务有效时间。
6.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述任务类型加密生成任务处理信息,包括:
根据所述任务类型创建实体类对象,并基于所述任务类型对应的类型参数设置所述实体类对象的属性,得到参数对象;
对所述参数对象进行序列化加密处理,得到任务处理信息。
7.根据权利要求6所述的数据处理方法,其特征在于,所述对所述参数对象进行序列化加密处理,得到任务处理信息,包括:
获取所述参数对象对应的对象ID以及实体类对象;
利用所述对象ID分别查找客户会话ID和预设的共享密钥,采用所述客户会话ID、预设的共享密钥和对象ID生成云端密钥,以及将所述实体类对象转换成JSON格式的云端字符串;
采用所述云端密钥对所述云端字符串进行加密得到任务处理信息。
8.根据权利要求1所述的数据处理方法,其特征在于,所述对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理,包括:
当确定所述任务数据对应的数据ID在列表中,对所述任务数据进行解密得到解密数据;
对所述解密数据进行反序列化处理后,调用预设的上层应用对反序列化处理后的数据进行业务处理。
9.一种数据处理方法,其特征在于,所述方法适用于与云端通信的客户端,所述方法包括:
在与所述云端建立通信后,向所述云端发送任务类型,以供所述云端根据所述任务类型加密生成任务处理信息;
在接收所述云端下发的任务处理信息后,根据所述任务处理信息从内网提取对应的任务数据,对所述任务数据加密后发送给所述云端,以供所述云端对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
10.根据权利要求9所述的数据处理方法,其特征在于,所述与所述云端建立通信,包括:
加载本地存储的用户名、客户端密码和机器码后,采用预设的共享密钥对用户名、客户端密码和机器码进行加密得到客户加密验证信息,并将所述客户加密验证信息发送给所述云端,以供所述云端采用所述客户加密验证信息进行通信验证并在通信验证通过后,创建客户会话ID以及生成云端加密验证信息;
在获取所述客户会话ID后保存所述客户会话ID,以建立通道通信。
11.根据权利要求9-10任意一项所述的数据处理方法,其特征在于,在所述与所述云端建立通信的步骤后,所述方法还包括:
获取用户名和当前时间后,采用所述用户名和所述当前时间生成报文并依次进行序列化和加密得到加密序列;
按照预设时间间隔向所述云端发送加密序列,以供所述云端在采用所述加密序列通过激活验证后刷新预设的会话列表;
接收所述云端发送的响应报文,在解密所述响应报文后确定激活时间,按照所述激活时间重复向所述云端发送加密序列,以激活通信通道。
12.根据权利要求9所述的数据处理方法,其特征在于,所述根据所述任务处理信息从内网提取对应的任务数据,包括:
利用预设的解密密钥对所述任务处理信息进行解密得到解密报文,所述预设的解密密钥是利用客户会话ID、对象ID和预设的共享密钥生成的密钥;
对所述解密报文进行反序列化处理得到标准对象后,基于所述标准对象创建客户实现类并确定任务类型;
按照所述任务类型对应的配置和参数调用所述客户实现类进行业务操作,得到操作结果;
将所述操作结果转换成标准实体类后,对所述标准实体类进行序列化得到任务数据。
13.一种云端,其特征在于,所述云端包括:
生成任务处理信息模块,用于在与所述客户端建立通信并获取任务类型后,根据所述任务类型加密生成任务处理信息并下发至所述客户端,以供所述客户端根据所述任务处理信息提取对应的任务数据;
业务处理模块,用于在获取所述客户端反馈的经过加密的任务数据后,对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
14.一种客户端,其特征在于,所述客户端包括:
发送任务类型模块,用于在与所述云端建立通信后,向所述云端发送任务类型,以供所述云端根据所述任务类型加密生成任务处理信息;
数据提取模块,用于在接收所述云端下发的任务处理信息后,根据所述任务处理信息从内网提取对应的任务数据,对所述任务数据加密后发送给所述云端,以供所述云端对所述任务数据进行解密,并对解密后的所述任务数据进行业务处理。
15.一种数据传输系统,其特征在于,所述数据传输系统包括:相互通信的云端和客户端,所述云端适用于如权利要求1-8任意一项所述的数据处理方法,所述客户端适用于如权利要求9-12任意一项所述的数据处理方法。
16.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8任意一项所述的数据处理方法或者如权利要求9-12任意一项所述的数据处理方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如权利要求1-8任意一项所述的数据处理方法或者如权利要求9-12任意一项所述的数据处理方法。
CN202311551593.6A 2023-11-20 一种数据处理方法、云端、客户端及数据处理系统 Active CN117573390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311551593.6A CN117573390B (zh) 2023-11-20 一种数据处理方法、云端、客户端及数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311551593.6A CN117573390B (zh) 2023-11-20 一种数据处理方法、云端、客户端及数据处理系统

Publications (2)

Publication Number Publication Date
CN117573390A true CN117573390A (zh) 2024-02-20
CN117573390B CN117573390B (zh) 2024-10-22

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118138443A (zh) * 2024-05-08 2024-06-04 善诊(上海)信息技术有限公司 日志采集方法、系统及计算机可读存储介质

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032033B1 (en) * 2001-11-30 2006-04-18 Microsoft Corporation Handling collisions during synchronization of data between client and server computers
CN102833253A (zh) * 2012-08-29 2012-12-19 五八同城信息技术有限公司 建立客户端与服务器安全连接的方法及服务器
CN103391292A (zh) * 2013-07-18 2013-11-13 百度在线网络技术(北京)有限公司 针对移动应用的安全登录方法、系统和装置
US20130304863A1 (en) * 2012-05-08 2013-11-14 Palisades Technology L.L.C. Cloud computing system, vehicle cloud processing device and methods for use therewith
CN106453231A (zh) * 2016-08-08 2017-02-22 腾讯科技(深圳)有限公司 信令获取、传输方法和装置
CN106572091A (zh) * 2016-10-24 2017-04-19 施守剑 发票信息传递生成方法及其系统
CN106921717A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种基于移动终端的消息推送方法及系统
CN106997554A (zh) * 2016-01-26 2017-08-01 航天信息股份有限公司 一种红字发票信息表处理方法和处理系统
CN107342861A (zh) * 2017-07-14 2017-11-10 银联商务有限公司 一种数据处理方法、装置及系统
CN107395767A (zh) * 2017-08-31 2017-11-24 北京奇虎科技有限公司 基于长连接的消息推送系统及方法
CN107580046A (zh) * 2017-08-31 2018-01-12 北京奇虎科技有限公司 长连接服务系统及方法
CN109151068A (zh) * 2018-10-23 2019-01-04 北京奇虎科技有限公司 一种基于客户端应用来处理云端数据请求的方法及系统
US10599486B1 (en) * 2018-09-21 2020-03-24 Citrix Systems, Inc. Systems and methods for intercepting and enhancing SaaS application calls via embedded browser
CN112597481A (zh) * 2020-12-29 2021-04-02 平安银行股份有限公司 敏感数据访问方法、装置、计算机设备及存储介质
CN112637206A (zh) * 2020-12-23 2021-04-09 光大兴陇信托有限责任公司 一种业务数据主动获取方法和系统
CN113765927A (zh) * 2021-09-09 2021-12-07 图易(常熟)信息技术有限公司 一种云端上传内容网络版权加密方法及系统
CN114139093A (zh) * 2021-12-01 2022-03-04 山东浪潮通软信息科技有限公司 一种数据通讯方法、设备及介质
CN114445204A (zh) * 2021-12-27 2022-05-06 航天信息软件技术有限公司 一种基于云加端的税控设备业务处理方法及系统
CN115567195A (zh) * 2021-07-01 2023-01-03 中移物联网有限公司 安全通信方法、客户端、服务器、终端和网络侧设备
CN116366619A (zh) * 2021-12-27 2023-06-30 北京奇虎科技有限公司 数据传输方法、装置、设备及存储介质
CN116599949A (zh) * 2023-05-06 2023-08-15 山东芯辰人工智能科技有限公司 基于http协议的第三方api协议接入方法及系统

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032033B1 (en) * 2001-11-30 2006-04-18 Microsoft Corporation Handling collisions during synchronization of data between client and server computers
US20130304863A1 (en) * 2012-05-08 2013-11-14 Palisades Technology L.L.C. Cloud computing system, vehicle cloud processing device and methods for use therewith
CN102833253A (zh) * 2012-08-29 2012-12-19 五八同城信息技术有限公司 建立客户端与服务器安全连接的方法及服务器
CN103391292A (zh) * 2013-07-18 2013-11-13 百度在线网络技术(北京)有限公司 针对移动应用的安全登录方法、系统和装置
CN106921717A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种基于移动终端的消息推送方法及系统
CN106997554A (zh) * 2016-01-26 2017-08-01 航天信息股份有限公司 一种红字发票信息表处理方法和处理系统
CN106453231A (zh) * 2016-08-08 2017-02-22 腾讯科技(深圳)有限公司 信令获取、传输方法和装置
CN106572091A (zh) * 2016-10-24 2017-04-19 施守剑 发票信息传递生成方法及其系统
CN107342861A (zh) * 2017-07-14 2017-11-10 银联商务有限公司 一种数据处理方法、装置及系统
CN107580046A (zh) * 2017-08-31 2018-01-12 北京奇虎科技有限公司 长连接服务系统及方法
CN107395767A (zh) * 2017-08-31 2017-11-24 北京奇虎科技有限公司 基于长连接的消息推送系统及方法
US10599486B1 (en) * 2018-09-21 2020-03-24 Citrix Systems, Inc. Systems and methods for intercepting and enhancing SaaS application calls via embedded browser
CN109151068A (zh) * 2018-10-23 2019-01-04 北京奇虎科技有限公司 一种基于客户端应用来处理云端数据请求的方法及系统
CN112637206A (zh) * 2020-12-23 2021-04-09 光大兴陇信托有限责任公司 一种业务数据主动获取方法和系统
CN112597481A (zh) * 2020-12-29 2021-04-02 平安银行股份有限公司 敏感数据访问方法、装置、计算机设备及存储介质
CN115567195A (zh) * 2021-07-01 2023-01-03 中移物联网有限公司 安全通信方法、客户端、服务器、终端和网络侧设备
CN113765927A (zh) * 2021-09-09 2021-12-07 图易(常熟)信息技术有限公司 一种云端上传内容网络版权加密方法及系统
CN114139093A (zh) * 2021-12-01 2022-03-04 山东浪潮通软信息科技有限公司 一种数据通讯方法、设备及介质
CN114445204A (zh) * 2021-12-27 2022-05-06 航天信息软件技术有限公司 一种基于云加端的税控设备业务处理方法及系统
CN116366619A (zh) * 2021-12-27 2023-06-30 北京奇虎科技有限公司 数据传输方法、装置、设备及存储介质
CN116599949A (zh) * 2023-05-06 2023-08-15 山东芯辰人工智能科技有限公司 基于http协议的第三方api协议接入方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
任静思 等: "一种云存储环境下保障数据机密性的方法", 《计算机工程与科学》, vol. 38, no. 12, 15 December 2016 (2016-12-15), pages 2402 - 2408 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118138443A (zh) * 2024-05-08 2024-06-04 善诊(上海)信息技术有限公司 日志采集方法、系统及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US20210056541A1 (en) Method and system for mobile cryptocurrency wallet connectivity
KR102364874B1 (ko) 웨어러블 디바이스를 사용하여 전자 지불들을 용이하게 하기 위한 방법 및 장치
US10270758B2 (en) Login method, server, and login system
US9118645B2 (en) Distributed authentication using persistent stateless credentials
JP5591232B2 (ja) 仮想入力レイアウトを用いた情報伝送
CN103020687B (zh) 二维码分享方法和系统
CN106375321B (zh) 朝向内容消费者迁移经过认证的内容的方法和系统
CN110166577B (zh) 分布式应用群组会话处理系统及方法
US10831754B2 (en) Using metadata to take action on an SMS message on a proprietary system
US20110138457A1 (en) Securing Communications Between Different Network Zones
CN112583815B (zh) 一种操作指令管理方法、装置
CN112954050B (zh) 分布式管理方法及装置、管理设备和计算机存储介质
CN110995656A (zh) 负载均衡方法、装置、设备及存储介质
CN106936759A (zh) 一种单点登录方法、服务器及客户端
CN111770072A (zh) 一种单点登录接入功能页面的方法和装置
US11032321B2 (en) Secure performance monitoring of remote application servers
WO2001047176A1 (en) Method and apparatus for a revolving encrypting and decrypting process
US10540522B2 (en) Storing data securely in a database
CN114172719A (zh) 一种加解密方法、装置、设备及计算机可读存储介质
CN117573390B (zh) 一种数据处理方法、云端、客户端及数据处理系统
CN117573390A (zh) 一种数据处理方法、云端、客户端及数据处理系统
TW202121290A (zh) 交易風險識別方法及裝置
CN116244682A (zh) 数据库的访问方法、装置、设备以及存储介质
CN115454362A (zh) 远程打印的实现方法、装置、设备及存储介质
CN114070768A (zh) 测试方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant