一种服务账户数据推送系统及方法
文献发布时间:2023-06-19 10:54:12
技术领域
本申请涉及物联网领域,具体而言,涉及一种服务账户数据推送系统及方法。
背景技术
近年来,随着工业互联网的飞速发展,各大工业互联网企业都以共有云平台的形式,提供不同业务服务,来对接成千的物联网设备。但是面对千万级物联网设备数据,为数据的传输和存储带来了巨大的压力和挑战。并且,在云平台内部模块中,如何快速稳定地按租户发送数据和按租户隔离数据,成为了困扰本领域技术人员的一个难题。
发明内容
本申请的目的在于提供一种服务账户数据推送系统及方法,以至少部分改善上述问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种服务账户数据推送系统,所述服务账户数据推送系统包括传输服务模块、数据平台服务模块以及数据库,所述数据库包括至少两个不同存储片区,所述传输服务模块与所述数据平台服务模块通信连接,所述数据平台服务模块与每一个存储片区均保持通信连接;
所述传输服务模块用于将第一类服务账户数据通过对应的TCP长连接通道传输至所述数据平台服务模块,其中,所述第一类服务账户数据为传输频次大于或等于预设定频次阈值的服务账户数据;
所述数据平台服务模块用于将所述第一类服务账户数据存储于与账户标识对应的存储片区,其中,所述第一类服务账户数据携带所述账户标识;
所述存储片区用于对所述第一类服务账户数据进行存储。
第二方面,本申请实施例提供一种服务账户数据推送方法,应用于服务账户数据推送系统,所述服务账户数据推送系统包括传输服务模块、数据平台服务模块以及数据库,所述数据库包括至少两个不同存储片区,所述传输服务模块与所述数据平台服务模块通信连接,所述数据平台服务模块与每一个存储片区均保持通信连接,所述方法包括:
所述传输服务模块将第一类服务账户数据通过对应的TCP长连接通道传输至所述数据平台服务模块,其中,所述第一类服务账户数据为传输频次大于或等于预设定频次阈值的服务账户数据;
所述数据平台服务模块将所述第一类服务账户数据存储于与账户标识对应的存储片区,其中,所述第一类服务账户数据携带所述账户标识;
所述存储片区对所述第一类服务账户数据进行存储。
相对于现有技术,本申请实施例所提供的一种服务账户数据推送系统及方法中,服务账户数据推送系统包括传输服务模块、数据平台服务模块以及数据库,数据库包括至少两个不同存储片区,传输服务模块与数据平台服务模块通信连接,数据平台服务模块与每一个存储片区均保持通信连接;传输服务模块用于将第一类服务账户数据通过对应的TCP长连接通道传输至数据平台服务模块,其中,第一类服务账户数据为传输频次大于或等于预设定频次阈值的服务账户数据;当有数据需要传输时可以直接通过TCP长连接通道进行传输,不需要再单独建立通道,从而完成快速传输数据的任务,传输效率更高。数据平台服务模块用于将第一类服务账户数据存储于与账户标识对应的存储片区,其中,第一类服务账户数据携带账户标识;存储片区用于对第一类服务账户数据进行存储。不同租户对应的账户标识不同,不同账户标识对应的存储片区不同,即不同租户的服务账户数据存储空间不同,从而实现了不同服务账户数据的存储隔离,避免信息交互,保障了每一个租户的服务账户数据的独立性和安全。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的服务账户数据推送系统的连接示意图;
图2为本申请实施例提供的传输服务模块的连接示意图;
图3为本申请实施例提供的服务账户数据推送系统的连接示意图之一;
图4为本申请实施例提供的服务账户数据推送方法的流程示意图;
图5为本申请实施例提供的服务账户数据推送方法的流程示意图之一;
图6为本申请实施例提供的服务账户数据推送方法的流程示意图之一。
图中:10-传输服务模块,20-数据平台服务模块;30-数据库;40-管理模块;101-平台单元;102-缓存单元;103-提取单元;104-上传单元;200-客户端;301-存储片区。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
为了克服或部分改善以上问题,本申请实施例提供了一种服务账户数据推送系统。如图1所示,服务账户数据推送系统包括传输服务模块10、数据平台服务模块20以及数据库30。数据库30包括至少两个不同存储片区301。传输服务模块10与数据平台服务模块20通信连接,数据平台服务模块20与每一个存储片区301均保持通信连接。
可选地,本申请实施例中的通信连接可以是有线或无线网络通讯连接,图1仅为示例,并未限定连接方式。服务账户数据推送系统可以是基于物联网的多租户账户数据推送系统。
传输服务模块10用于将第一类服务账户数据通过对应的TCP长连接通道传输至数据平台服务模块20,其中,第一类服务账户数据为传输频次大于或等于预设定频次阈值的服务账户数据。
可选地,TCP长连接通道指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持(不发生RST包和四次挥手)。连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接(一个TCP连接通道多个读写通信);这就要求长连接在没有数据通信时,定时发送数据包(心跳),以维持连接状态。
当有数据需要传输时可以直接通过TCP长连接通道进行传输,不需要再单独建立通道,从而完成快速传输数据的任务,传输效率更高。第一类服务账户数据为传输频次大于或等于预设定频次阈值的服务账户数据,若通过短连接进行传输,需要多次建立短连接,给系统增加了负担,同时会降低传输效率。
数据平台服务模块20用于将第一类服务账户数据存储于与账户标识对应的存储片区301,其中,第一类服务账户数据携带账户标识。
存储片区301用于对第一类服务账户数据进行存储。
可选地,不同租户对应的账户标识不同,不同账户标识对应的存储片区301不同,即不同租户的服务账户数据存储空间不同,从而实现了不同服务账户数据的存储隔离,避免信息交互,保障了每一个租户的服务账户数据的独立性和安全。
综上所述,本申请实施例提供的服务账户数据推送系统中,服务账户数据推送系统包括传输服务模块、数据平台服务模块以及数据库,数据库包括至少两个不同存储片区,传输服务模块与数据平台服务模块通信连接,数据平台服务模块与每一个存储片区均保持通信连接;传输服务模块用于将第一类服务账户数据通过对应的TCP长连接通道传输至数据平台服务模块,其中,第一类服务账户数据为传输频次大于或等于预设定频次阈值的服务账户数据;当有数据需要传输时可以直接通过TCP长连接通道进行传输,不需要再单独建立通道,从而完成快速传输数据的任务,传输效率更高。数据平台服务模块用于将第一类服务账户数据存储于与账户标识对应的存储片区,其中,第一类服务账户数据携带账户标识;存储片区用于对第一类服务账户数据进行存储。不同租户对应的账户标识不同,不同账户标识对应的存储片区不同,即不同租户的服务账户数据存储空间不同,从而实现了不同服务账户数据的存储隔离,避免信息交互,保障了每一个租户的服务账户数据的独立性和安全。
可选地,传输服务模块10用于依据第一类服务账户数据所携带的账户标识确定对应的TCP长连接通道,其中,不同的账户标识对应的TCP长连接通道不同。
具体地,不同的账户标识对应的TCP长连接通道不同,即不同租户对应的TCP长连接通道不同,从而实现不同租户的服务账户数据在传输过程中的隔离,进一步保障了每一个租户的服务账户数据的独立性。
可选地,传输服务模块10还用于将第二类服务账户数据通过http短连接通道传输至数据平台服务模块20,其中,第二类服务账户数据为传输频次小于预设定频次阈值的服务账户数据。
可选地,传输服务模块10还用于统计在预设时间范围内所接收到的服务账户数据的传输频次,并依据传输频次确定服务账户数据的种类,其中,种类为第一类服务账户数据或第二类服务账户数据。
在此基础,关于传输服务模块10的构成,本申请实施例还提供了一种可能的实现方式,请参考图2,传输服务模块10包括:平台单元101、缓存单元102、提取单元103以及上传单元104,平台单元101、缓存单元102、提取单元103以及上传单元104依次通信连接。
平台单元101用于接收租户设备上传服务账户数据,并将服务账户数据异步发送至缓存单元102。
缓存单元102用于对服务账户数据进行缓存。
提取单元103用于从缓存单元中提取服务账户数据,并对服务账户数据进行解析,其中,解析后的服务账户数据包含账户标识。
然后,将解析后的服务账户数据传输至上传单元104。
上传单元104用于将第一类服务账户数据通过对应的TCP长连接通道传输至数据平台服务模块20。
可选地,上传单元104还用于将第二类服务账户数据通过http短连接通道传输至数据平台服务模块20。
因为第二类服务账户数据为传输频次小于预设定频次阈值的服务账户数据,其传输频次低,如果为第二类服务账户数据也维持对应的长连接通道,会导致长连接通道的利用率低下。因此,上传单元104还用于将第二类服务账户数据通过http短连接通道传输至数据平台服务模块20。
可选地,也可以通过tcp短连接通道,将第二类服务账户数据传输至数据平台服务模块20。
短连接是指通信双方有数据交互时,就建立一个短连接,数据发送完成后,则断开此短连接(管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段);连接→数据传输→关闭连接。
可选地,上传单元104还用于统计在预设时间范围内所接收到的服务账户数据的传输频次,并依据传输频次确定服务账户数据的种类,其中,种类为第一类服务账户数据或第二类服务账户数据。
可选地,平台单元101为IOT物联网平台服务器,缓存单元102为分布式消息服务器,提取单元103为IOT-Consumer服务器,上传单元104为TCP服务器。
在图1的基础上,关于服务账户数据推送系统,本申请实施例还提供了一种可能的实现方式,请参考图3,服务账户数据推送系统还包括管理模块40,管理模块40与每一个存储片区301均保持通信连接。
管理模块40用于按照预设定周期对每一个存储片区进行管理统计,并缓存最新的统计结果,其中,每一个统计结果对于的账户标识均不相同。
管理模块40按照预设定周期对每一个存储片区进行管理统计,并缓存最新的统计结果,当接收到对应的统计查看指令时,可以快速反馈统计结果。
可选地,管理模块40还与客户端200通信连接。
管理模块40还用于接收客户端200传输的查询请求,其中,查询请求包括目标数据的数据标识。
管理模块40还用于依据数据标识调取目标数据,将目标数据传输至客户端200。
通过管理模块40与客户端200的交互,满足用户的查询需求。
本申请实施例中的账户标识为租户ID或租户名称。
请参阅图4,图4为本申请实施例提供的一种服务账户数据推送方法,可选的,该服务账户数据推送方法被应用于上文所述的服务账户数据推送系统。如图4所示,服务账户数据推送方法包括:
S104,传输服务模块将第一类服务账户数据通过对应的TCP长连接通道传输至数据平台服务模块。
其中,第一类服务账户数据为传输频次大于或等于预设定频次阈值的服务账户数据。
S201,数据平台服务模块将第一类服务账户数据存储于与账户标识对应的存储片区。
其中,第一类服务账户数据携带账户标识。
S301,存储片区对第一类服务账户数据进行存储。
在图4的基础上,关于如何进步实现数据的传输隔离,本申请实施例还提供了一种可能的实现方式,请参考图5,服务账户数据推送方法还包括:
S103,传输服务模块依据第一类服务账户数据所携带的账户标识确定对应的TCP长连接通道。
其中,不同的账户标识对应的TCP长连接通道不同。
在图4的基础上,关于如何进步提升传输效率,本申请实施例还提供了一种可能的实现方式,请参考图6,服务账户数据推送方法还包括:
S101,传输服务模块统计在预设时间范围内所接收到的服务账户数据的传输频次,并依据传输频次确定服务账户数据的种类。
其中,第二类服务账户数据为传输频次小于预设定频次阈值的服务账户数据。
S102,传输服务模块将第二类服务账户数据通过http短连接通道传输至数据平台服务模块。
可选地,S102和S104的执行顺序并不固定,当接收到第二类服务账户数据时执行S102,当接收到第一类服务账户数据时,执行S104。图6仅为示例,并未限制S102和S104的执行的先后顺序。
需要说明的是,本实施例所提供的服务账户数据推送方法,其可以执行上述系统实施例所示的用户功能,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
- 一种服务账户数据推送系统及方法
- 一种服务端、数据推送方法、数据推送系统