CN117596172A - 数据变更实时通知方法、装置、设备及存储介质 - Google Patents
数据变更实时通知方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117596172A CN117596172A CN202311523403.XA CN202311523403A CN117596172A CN 117596172 A CN117596172 A CN 117596172A CN 202311523403 A CN202311523403 A CN 202311523403A CN 117596172 A CN117596172 A CN 117596172A
- Authority
- CN
- China
- Prior art keywords
- data
- change
- target file
- client
- real
- 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.)
- Pending
Links
- 230000008859 change Effects 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012544 monitoring process Methods 0.000 claims abstract description 102
- 238000004891 communication Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 13
- 238000002955 isolation Methods 0.000 claims description 10
- 238000007405 data analysis Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000012546 transfer Methods 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000000692 Student's t-test Methods 0.000 description 1
- 238000000540 analysis of variance Methods 0.000 description 1
- 238000005311 autocorrelation function Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012353 t test Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及信息传递技术领域,公开了一种数据变更实时通知方法、装置、设备及存储介质,该方法包括:监听目标文件是否发生变更;其中,目标文件通过在接收到客户端发起的注册监听事件时,根据注册数据生成;若目标文件发生变更,则将变更数据发送至客户端;其中,变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。本方案通过监听的方式来判断目标文件是否发生变更,由于监听具有实时性,因此在监听到目标文件发生变更时可以将变更数据实时地发送至客户端,从而使得用户能够更为及时地了解到目标文件中具体有哪些数据发生了变更,解决了现有的轮询方式所导致的变更数据传递不及时和效率低下的技术问题。
Description
技术领域
本发明涉及信息传递技术领域,尤其涉及一种数据变更实时通知方法、装置、设备及存储介质。
背景技术
在数据变更通知过程中,通常会涉及到客户端与服务端之间的数据交互,而传统的数据变更通知通常采用轮询(polling)方式,该方式导致变更数据传递不及时和效率低下的技术问题出现。
发明内容
本发明的主要目的在于提供了一种数据变更实时通知方法、装置、设备及存储介质,旨在解决现有技术中轮询方式导致的变更数据传递不及时和效率低下的技术问题。
为实现上述目的,本发明提供了一种数据变更实时通知方法,所述数据变更实时通知方法应用于服务端,包括:
监听目标文件是否发生变更;其中,所述目标文件通过在接收到客户端发起的注册监听事件时,根据注册数据生成;
若所述目标文件发生变更,则将变更数据发送至所述客户端;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
在一种可选的方式中,所述目标文件存储在预设文件目录下,所述监听目标文件是否发生变更的步骤,包括:
建立与所述客户端的网络连接通道;
通过所述网络连接通道接收注册监听事件;其中,所述注册监听事件用于触发实时监听动作;所述注册监听事件由所述客户端通过预设软件工具包发送;
基于所述注册监听事件对所述预设文件目录进行实时监听,并根据实时监听进程判断所述预设文件目录中的所述目标文件是否发生变更。
在一种可选的方式中,所述若所述目标文件发生变更,则将变更数据发送至所述客户端的步骤,包括:
若所述目标文件发生变更,则分别获取变更前的目标文件和变更后的目标文件;
将所述变更前的目标文件与所述变更后的目标文件进行数据对比,得到原始对比数据;
对所述原始对比数据进行格式转换,得到变更数据,并将所述变更数据发送至所述客户端。
在一种可选的方式中,所述对所述原始对比数据进行格式转换,得到变更数据,并将所述变更数据发送至所述客户端的步骤,包括:
将所述原始对比数据转换为JSON数据;其中,所述JSON数据由所述原始对比数据进行JSON数据格式转换后得到;
对所述JSON数据进行数据解析,得到变更数据,并将所述变更数据发送至所述客户端。
在一种可选的方式中,所述JSON数据包括header数据和body数据,所述对所述JSON数据进行数据解析,得到变更数据,并将所述变更数据发送至所述客户端的步骤,包括:
对所述header数据进行解析,得到所述客户端的IP信息;
对所述body数据进行解析,得到变更数据;
根据所述客户端的IP信息将所述变更数据发送至所述客户端。
在一种可选的方式中,所述数据变更实时通知方法,还包括:
当存在多个客户端时,为所述多个客户端分配命名空间;其中,所述命名空间用于区分所述多个客户端;
基于所述命名空间对所述多个客户端进行数据隔离;
对数据隔离后的多个客户端同时进行注册监听,并将监听到的变更数据发送给对应的客户端。
此外,为实现上述目的,本发明还提出一种数据变更实时通知方法,所述数据变更实时通知方法应用于客户端,包括:
向服务端发起注册监听事件;其中,所述注册监听事件用于指示所述服务端触发实时监听动作;所述实时监听动作用于监听目标文件是否发生变更;所述目标文件根据注册数据生成;
接收所述服务端发送的变更数据;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
此外,为实现上述目的,本发明还提出一种数据变更实时通知装置,所述装置包括:
实时监听模块,用于监听目标文件是否发生变更;其中,所述目标文件通过在接收到客户端发起的注册监听事件时,根据注册数据生成;
数据发送模块,用于若所述目标文件发生变更,则将变更数据发送至所述客户端;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
此外,为实现上述目的,本发明还提出一种数据变更实时通知设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上文所述的数据变更实时通知方法的操作。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在数据变更实时通知设备/装置上运行时,使得数据变更实时通知设备/装置执行如上文所述的数据变更实时通知方法的操作。
本发明实施例提供的数据变更实时通知方法,通过在接收到客户端发起的注册监听事件时,根据注册数据生成目标文件,并在监听到目标文件发生变更时将变更前的目标文件和变更后的目标文件之间的文件差异数据发送至客户端。本方案通过监听的方式来判断目标文件是否发生变更,由于监听具有实时性,因此在监听到目标文件发生变更时可以将变更数据实时地发送至客户端,从而使得用户能够更为及时地了解到目标文件中具体有哪些数据发生了变更,解决了现有的轮询方式所导致的变更数据传递不及时和效率低下的技术问题。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的数据变更实时通知方法的第一实施例的流程示意图;
图2示出了本发明提供的数据变更实时通知方法的多客户端注册监听示意图;
图3示出了本发明提供的数据变更实时通知方法的第二实施例的流程示意图;
图4示出了本发明提供的数据变更实时通知方法的第三实施例的流程示意图;
图5示出了本发明提供的数据变更实时通知装置的第一实施例的结构示意图;
图6示出了本发明提供的数据变更实时通知设备的实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
参考图1,图1示出了本发明提供的数据变更实时通知方法的第一实施例的流程示意图,该方法由数据变更实时通知设备执行。如图1所示,该数据变更实时通知方法应用于数据提供方,包括以下步骤:
步骤S1:监听目标文件是否发生变更。
其中,所述目标文件通过在接收到客户端发起的注册监听事件时,根据注册数据生成。
需要说明的是,本实施例的方法的执行主体可以为两个数据端在进行通信或数据交互时的服务端,此处以服务端对本实施例和下述各实施例提供的数据变更实时通知方法进行具体说明。
应当说明的是,目标文件可以是应用程序配置文件,即一种用于存储和管理应用程序配置选项的文件。示例性地,应用程序配置文件通常以特定的格式编写,该特定的格式可以是XML(eXtensible Markup Language,可扩展标记语言)、JSON(JavaScript ObjectNotation,JS对象简谱)、YAML(YAML Ain't Markup Language,数据序列化语言)等,本实施例对此不加以限制。应用程序配置文件包含了应用程序在不同环境下的配置参数,如数据库连接信息、日志级别、API密钥、服务器端口等。应用程序配置文件的作用是提供灵活性和可配置性,使得应用程序可以在不同环境中运行并适应不同的需求。通过修改配置文件的内容,可以调整应用程序的行为,而无需对代码进行修改。这样可以方便地切换不同的配置选项,简化部署和维护工作。配置文件通常由开发人员或系统管理员管理,并在应用程序启动时读取和解析。应用程序会根据配置文件中的配置选项进行初始化和设置,以便正确地运行和满足特定需求。
应理解的是,注册监听事件可以用于指示服务端触发实时监听动作。更具体地,注册监听事件是指在编程中,将一个特定的事件与相应的事件处理程序进行关联,以便在事件触发时执行相应的逻辑操作。当某个事件发生时,系统或应用程序会通过触发该事件来通知感兴趣的监听器。监听器是预先定义的代码块或函数,它们负责处理特定类型的事件,并执行相应的操作或逻辑。在注册监听事件时,开发人员需要指定要监听的事件类型以及对应的事件处理程序。事件类型可以是用户界面上的交互事件(例如按钮点击、鼠标移动)、系统事件(例如文件变化、网络连接)或自定义事件(根据应用程序的需求定义的事件)。事件处理程序则是实际执行逻辑的代码块或函数,它会在事件触发时被调用。通过注册监听事件,开发人员可以响应各种类型的事件并采取相应的行动。这样可以实现应用程序的交互性、实时性和可扩展性。
具体地,可以通过对目标文件进行周期性地扫描,从而根据扫描结果来监听目标文件是否发生变更。
在一种实施方式中,所述目标文件存储在预设文件目录下,所述步骤S1,还包括:
步骤S11:建立与所述客户端的网络连接通道。
实际应用中,可以通过有线连接、无线连接或虚拟专用网络(VPN)等方式来建立与客户端的网络连接通道。
示例性地,对于有线连接,可以先确保服务端和客户端的设备(例如计算机、交换机、路由器等)使用正确的网络电缆进行连接,并设置合适的IP地址、子网掩码、网关等网络配置。对于无线连接,可以确保设备连接到同一个无线网络,输入正确的密码。对于VPN连接,可以在服务器和客户端上进行相应的配置,包括身份验证、加密协议等。
在一种实施方式中,还可以根据需要在网络连接通道中设置防火墙规则、访问控制列表(ACL)、加密通信等安全措施,从而保护网络连接的安全性和数据的机密性。
步骤S12:通过所述网络连接通道接收注册监听事件。
其中,所述注册监听事件用于触发实时监听动作;所述注册监听事件由所述客户端通过预设软件工具包发送。
具体地,预设软件工具包(Software Development Kit,SDK)是一套用于开发软件应用程序的工具集合。它可以由一系列库、工具、文档和示例代码组成,旨在帮助开发人员更高效地创建、测试和部署应用程序。SDK提供了特定平台或技术的开发所需的资源和接口。它可以用于开发各种类型的软件,包括移动应用程序、桌面应用程序、嵌入式系统等。SDK通常包含以下组件:库(Library):SDK提供的库包含预编译的代码和函数,开发人员可以使用这些库来访问平台或技术的核心功能。例如,对于移动应用程序开发,SDK可能包含用于处理UI界面、网络通信、数据存储等的库。工具(Tools):SDK提供的工具可用于辅助开发人员进行代码编写、调试和测试。例如,编译器、调试器、模拟器等工具能够加速开发过程,并帮助开发人员发现和修复错误。文档(Documentation):SDK通常附带详细的文档,其中包含有关平台或技术的说明、API参考、示例代码等。这些文档对于开发人员理解和正确使用SDK提供的功能非常重要。示例代码(Sample Code):SDK通常提供一些示例代码,展示如何使用SDK的功能来实现某些常见的任务或功能。SDK还能够规范开发流程,并提供标准化的接口和功能。
步骤S13:基于所述注册监听事件对所述预设文件目录进行实时监听,并根据实时监听进程判断所述预设文件目录中的所述目标文件是否发生变更。
在一种实施方式中,实时监听进程可以是周期性地对预设文件目录中的所有目标文件进行实时遍历,从而判断所述预设文件目录中是否存在目标文件发生变更。
步骤S2:若所述目标文件发生变更,则将变更数据发送至所述客户端。
其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
实际应用中,可以将变更前的目标文件和变更后的目标文件进行差异化比较,从而得到变更数据。
在一种实施方式中,本实施例数据变更实时通知方法,还包括:
步骤S3:当存在多个客户端时,为所述多个客户端分配命名空间。
其中,所述命名空间(namespace)用于区分所述多个客户端。
实际应用中,命名空间是一种用来组织和管理代码标识符(如变量、函数、类等)的机制。它可以避免不同部分的代码之间发生命名冲突,并提供了更好的代码可读性和模块化。命名空间将相关的标识符分组到一个特定的作用域中,使得这些标识符在该作用域内具有唯一性。通过使用命名空间,可以将相同名称的标识符隔离开来,使其在不同的命名空间下拥有不同的含义。
步骤S4:基于所述命名空间对所述多个客户端进行数据隔离。
在一种实施方式中,数据隔离可以指在系统中对数据进行隔离,使得每个客户端(或租户)只能访问和修改自己的数据,避免对其他客户端(或租户)的数据造成影响。
步骤S5:对数据隔离后的多个客户端同时进行注册监听,并将监听到的变更数据发送给对应的客户端。
在一种实施方式中,数据隔离后的多个客户端对应的应用配置可以存入服务端中进行集中管理。
示例性的,参照图2,图2示出了本发明提供的数据变更实时通知方法的多客户端注册监听示意图。如图2所示,client、client2、client3表示3个不同的客户端,SDK表示各自对应的预设软件工具包。服务端(server)基于预设软件工具包同时对3个客户端进行注册监听,并将注册监听后得到的第一目标文件(即registerName文件)、第二目标文件(即registerName2文件)和第三目标文件(即registerName3文件)存入磁盘中。
本实施例提供的数据变更实时通知方法,通过在接收到客户端发起的注册监听事件时,根据注册数据生成目标文件,并在监听到目标文件发生变更时将变更前的目标文件和变更后的目标文件之间的文件差异数据发送至客户端;其中,服务端通过客户端提供的预设软件工具包向客户端发送注册监听事件,并基于注册监听事件对预设文件目录进行实时监听,从而判断预设文件目录中的目标文件是否发生变更。本实施例通过监听的方式来判断目标文件是否发生变更,由于监听具有实时性,因此在监听到目标文件发生变更时可以将变更数据实时地发送至客户端,从而使得用户能够更为及时地了解到目标文件中具体有哪些数据发生了变更,解决了现有的轮询方式所导致的变更数据传递不及时和效率低下的技术问题。同时,本实施例在面对存在多个客户端的数据变更场景时,能够根据为每个客户端分配的命名空间来对各个客户端进行数据隔离,从而实现了在各个客户端之间的数据不相互影响的前提下对客户端进行统一管理,进而降低了客户端的维护成本。
参考图3,图3示出了本发明提供的数据变更实时通知方法的第二实施例的流程示意图,该方法由数据变更实时通知设备执行。如图3所示,本实施例中,所述步骤S2包括:
步骤S21:若所述目标文件发生变更,则分别获取变更前的目标文件和变更后的目标文件。
在一种实施方式中,当目标文件发生变更时,可以先将变更前的目标文件存入特定的数据库中后再进行数据变更,从而便于短时间内获取变更前的目标文件和变更后的目标文件,提升本实施例数据变更实时通知方法的工作效率。
步骤S22:将所述变更前的目标文件与所述变更后的目标文件进行数据对比,得到原始对比数据。
在一种实施方式中,数据对比可以包括数值对比(用于将两组数据进行数值比较,例如计算它们之间的差异、相似度或相关性)、图表对比(用于直观地展示数据之间的差异,比较数据的分布、趋势或占比)、统计检验(用于对数据进行假设检验,以确定两组数据之间是否存在显著差异,常见的统计检验方法包括t检验、方差分析等)、时间序列对比(用于比较两个或多个时间序列之间的差异和趋势,常见的时间序列对比方法包括自相关函数、移动平均等)。
步骤S23:对所述原始对比数据进行格式转换,得到变更数据,并将所述变更数据发送至所述客户端。
在一种实施方式中,可以通过编码和解码的方式来对原始对比数据进行格式转换,即将原始对比数据转换为不同的编码方式,例如Base64(用于传输8Bit字节码的编码方式)、URL(Uniform Resource Locator,统一资源定位器)编码等。
在一种实施方式中,还可以通过格式化和字符串操作来对原始对比数据进行格式转换,即通过格式化字符串或执行字符串操作来转换数据的表示方式。例如,使用日期格式化函数将日期时间数据转换为特定的日期格式,或者使用正则表达式替换特定的模式。
在一种实施方式中,所述步骤S23可以包括:
步骤S231:将所述原始对比数据转换为JSON数据。
其中,所述JSON数据由所述原始对比数据进行JSON数据格式转换后得到。
步骤S232:对所述JSON数据进行数据解析,得到变更数据,并将所述变更数据发送至所述客户端。
在一种实施方式中,可以通过解析和序列化来将原始对比数据转换为JSON数据,即将数据从一种格式解析为内部数据结构,然后根据需要将其序列化为另一种格式。具体地,可以先将原始对比数据解析为对象,然后将该对象序列化为JSON数据。此外,除了JSON数据外,还可以将对象序列化为XML或CSV(Comma-Separated Values,逗号分隔值)格式。
在一种实施方式中,所述JSON数据包括header数据和body数据,所述步骤S232可以包括:
步骤S2321:对所述header数据进行解析,得到所述客户端的IP信息。
其中,所述header数据用于查看所述客户端在网络连接中对应的请求头;所述IP信息用于指示所述客户端接收数据时对应的网络地址。
具体地,请求头包含了一些元数据和控制信息,可以用于描述请求或响应的各种属性。请求头可以由多行组成,每行包含一个字段和对应的值,字段名和值之间使用冒号进行分隔。比如请求方法、请求的目标URL、附加的参数、身份验证凭据等。
步骤S2322:对所述body数据进行解析,得到变更数据。
其中,所述body数据用于查看所述客户端在网络连接中对应的请求体。
具体地,请求体用于在请求或响应中承载数据。主体可以是文本、二进制数据或者其他格式的数据。对于GET请求来说,通常没有主体;而对于POST和PUT请求,主体通常用于传输客户端向服务器提交的数据。对于响应来说,主体则包含了服务器返回给客户端的具体数据内容。
步骤S2323:根据所述客户端的IP信息将所述变更数据发送至所述客户端。
在一种实施方式中,可以从客户端的IP信息中提取出客户端在进行数据传输时对应的IP地址,然后基于该IP地址将变更数据发送至客户端。
本实施例通过对变更前的目标文件与变更后的目标文件进行数据对比后得到的原始对比数据进行格式转换,得到JSON数据。由于JSON数据易于读写,且格式都是压缩的,因此占用带宽小。基于此,本实施例分别对JSON数据中的header数据和body数据进行解析,从而能够快速地得到客户端的IP信息和变更数据,进而使得本实施例数据变更实时通知方法中数据变更信息的传递更为及时。
参考图4,图4示出了本发明提供的数据变更实时通知方法的第三实施例的流程示意图。
基于上述各实施例,本实施例中,所述数据变更实时通知方法应用于客户端,包括:
步骤S10:向服务端发起注册监听事件。
其中,所述注册监听事件用于指示所述服务端触发实时监听动作;所述实时监听动作用于监听目标文件是否发生变更;所述目标文件根据注册数据生成。
本实施例的方法的执行主体可以为两个数据端在进行通信或数据交互时的客户端,此处以客户端对本实施例提供的数据变更实时通知方法进行具体说明。
在一种实施方式中,可以基于以下步骤向服务端发起注册监听事件:建立与服务端的网络连接通道;通过所述网络连接通道向所述服务端发起注册监听事件。
在一种实施方式中,服务端可以基于所述注册监听事件对所述预设文件目录进行实时监听,并根据实时监听进程判断所述预设文件目录中的所述目标文件是否发生变更。
步骤S20:接收所述服务端发送的变更数据。
其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
在一种实施方式中,服务端可以基于以下步骤生成变更数据:分别获取变更前的目标文件和变更后的目标文件;将所述变更前的目标文件与所述变更后的目标文件进行数据对比,得到原始对比数据;对所述原始对比数据进行格式转换,得到变更数据。
在一种实施方式中,服务端可以基于以下步骤对原始对比数据进行格式转换,得到变更数据:将所述原始对比数据转换为JSON数据;其中,所述JSON数据由所述原始对比数据进行JSON数据格式转换后得到;对所述JSON数据进行数据解析,得到变更数据。
在一种实施方式中,所述JSON数据包括header数据和body数据,服务端可以基于以下步骤对JSON数据进行数据解析,得到变更数据:对所述header数据进行解析,得到所述客户端的IP信息;对所述body数据进行解析,得到变更数据。
在一种实施方式中,当存在多个客户端时,为所述多个客户端分配命名空间;其中,所述命名空间用于区分所述多个客户端;基于所述命名空间对所述多个客户端进行数据隔离;对数据隔离后的多个客户端同时进行注册监听,并将监听到的变更数据发送给对应的客户端。
本实施例提供的数据变更实时通知方法,通过在接收到客户端发起的注册监听事件时,根据注册数据生成目标文件,并在监听到目标文件发生变更时将变更前的目标文件和变更后的目标文件之间的文件差异数据发送至客户端;其中,服务端通过客户端提供的预设软件工具包向客户端发送注册监听事件,并基于注册监听事件对预设文件目录进行实时监听,从而判断预设文件目录中的目标文件是否发生变更。本实施例通过监听的方式来判断目标文件是否发生变更,由于监听具有实时性,因此在监听到目标文件发生变更时可以将变更数据实时地发送至客户端,从而使得用户能够更为及时地了解到目标文件中具体有哪些数据发生了变更,解决了现有的轮询方式所导致的变更数据传递不及时和效率低下的技术问题。同时,本实施例在面对存在多个客户端的数据变更场景时,能够根据为每个客户端分配的命名空间来对各个客户端进行数据隔离,从而实现了在各个客户端之间的数据不相互影响的前提下对客户端进行统一管理,进而降低了客户端的维护成本。
参照图5,图5示出了本发明提供的数据变更实时通知装置的第一实施例的结构示意图。
如图5所示,本发明实施例提出的数据变更实时通知装置500包括:
实时监听模块501,用于监听目标文件是否发生变更;其中,所述目标文件通过在接收到客户端发起的注册监听事件时,根据注册数据生成;
数据发送模块502,用于若所述目标文件发生变更,则将变更数据发送至所述客户端;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
在一些实施例中,所述实时监听模块501,还用于建立与所述客户端的网络连接通道;通过所述网络连接通道接收注册监听事件;其中,所述注册监听事件用于触发实时监听动作;所述注册监听事件由所述客户端通过预设软件工具包发送;基于所述注册监听事件对所述预设文件目录进行实时监听,并根据实时监听进程判断所述预设文件目录中的所述目标文件是否发生变更。
在一些实施例中,所述数据发送模块502,还用于若所述目标文件发生变更,则分别获取变更前的目标文件和变更后的目标文件;将所述变更前的目标文件与所述变更后的目标文件进行数据对比,得到原始对比数据;对所述原始对比数据进行格式转换,得到变更数据,并将所述变更数据发送至所述客户端。
在一些实施例中,所述数据发送模块502,还用于将所述原始对比数据转换为JSON数据;其中,所述JSON数据由所述原始对比数据进行JSON数据格式转换后得到;对所述JSON数据进行数据解析,得到变更数据,并将所述变更数据发送至所述客户端。
在一些实施例中,所述数据发送模块502,还用于对所述header数据进行解析,得到所述客户端的IP信息;对所述body数据进行解析,得到变更数据;根据所述客户端的IP信息将所述变更数据发送至所述客户端。
在一些实施例中,所述实时监听模块501,还用于当存在多个客户端时,为所述多个客户端分配命名空间;其中,所述命名空间用于区分所述多个客户端;基于所述命名空间对所述多个客户端进行数据隔离;对数据隔离后的多个客户端同时进行注册监听,并将监听到的变更数据发送给对应的客户端。
在一些实施例中,数据变更实时通知装置500还包括:事件发起模块和数据接收模块,其中:
所述事件发起模块,向服务端发起注册监听事件;其中,所述注册监听事件用于指示所述服务端触发实时监听动作;所述实时监听动作用于监听目标文件是否发生变更;所述目标文件根据注册数据生成。
所述数据接收模块,接收所述服务端发送的变更数据;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
由以上可知,本发明实施例提供的数据变更实时通知方法,通过在接收到客户端发起的注册监听事件时,根据注册数据生成目标文件,并在监听到目标文件发生变更时将变更前的目标文件和变更后的目标文件之间的文件差异数据发送至客户端;其中,服务端通过客户端提供的预设软件工具包向客户端发送注册监听事件,并基于注册监听事件对预设文件目录进行实时监听,从而判断预设文件目录中的目标文件是否发生变更。本实施例通过监听的方式来判断目标文件是否发生变更,由于监听具有实时性,因此在监听到目标文件发生变更时可以将变更数据实时地发送至客户端,从而使得用户能够更为及时地了解到目标文件中具体有哪些数据发生了变更,解决了现有的轮询方式所导致的变更数据传递不及时和效率低下的技术问题。同时,本实施例在面对存在多个客户端的数据变更场景时,能够根据为每个客户端分配的命名空间来对各个客户端进行数据隔离,从而实现了在各个客户端之间的数据不相互影响的前提下对客户端进行统一管理,进而降低了客户端的维护成本。
参照图6,图6示出了本发明提供的数据变更实时通知设备的实施例的结构示意图,本发明具体实施例并不对数据变更实时通知设备的具体实现做限定。
如图6所示,该数据变更实时通知设备可以包括:处理器(processor)601、通信接口(Communications Interface)602、存储器(memory)603、以及通信总线604。
其中:处理器601、通信接口602、以及存储器603通过通信总线604完成相互间的通信。通信接口602,用于与其它设备比如客户端或其它服务器等的网元通信。处理器601,用于执行程序605,具体可以执行上述用于数据变更实时通知方法实施例中的相关步骤。
具体地,程序605可以包括程序代码,该程序代码包括计算机可执行指令。
处理器601可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。数据变更实时通知设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器603,用于存放程序605。存储器603可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
基于前述实施例,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在数据变更实时通知设备/装置上运行时,使得所述数据变更实时通知设备/装置执行上述任意方法实施例中的数据变更实时通知方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。此外,本发明实施例也不针对任何特定编程语言。
在此处所提供的说明书中,说明了大量具体细节。然而能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。类似地,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。其中,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种数据变更实时通知方法,其特征在于,所述数据变更实时通知方法应用于服务端,包括以下步骤:
监听目标文件是否发生变更;其中,所述目标文件通过在接收到客户端发起的注册监听事件时,根据注册数据生成;
若所述目标文件发生变更,则将变更数据发送至所述客户端;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
2.根据权利要求1所述的方法,其特征在于,所述目标文件存储在预设文件目录下,所述监听目标文件是否发生变更的步骤,包括:
建立与所述客户端的网络连接通道;
通过所述网络连接通道接收注册监听事件;其中,所述注册监听事件用于触发实时监听动作;所述注册监听事件由所述客户端通过预设软件工具包发送;
基于所述注册监听事件对所述预设文件目录进行实时监听,并根据实时监听进程判断所述预设文件目录中的所述目标文件是否发生变更。
3.根据权利要求1所述的方法,其特征在于,所述若所述目标文件发生变更,则将变更数据发送至所述客户端的步骤,包括:
若所述目标文件发生变更,则分别获取变更前的目标文件和变更后的目标文件;
将所述变更前的目标文件与所述变更后的目标文件进行数据对比,得到原始对比数据;
对所述原始对比数据进行格式转换,得到变更数据,并将所述变更数据发送至所述客户端。
4.根据权利要求3所述的方法,其特征在于,所述对所述原始对比数据进行格式转换,得到变更数据,并将所述变更数据发送至所述客户端的步骤,包括:
将所述原始对比数据转换为JSON数据;其中,所述JSON数据由所述原始对比数据进行JSON数据格式转换后得到;
对所述JSON数据进行数据解析,得到变更数据,并将所述变更数据发送至所述客户端。
5.根据权利要求4所述的方法,其特征在于,所述JSON数据包括header数据和body数据,所述对所述JSON数据进行数据解析,得到变更数据,并将所述变更数据发送至所述客户端的步骤,包括:
对所述header数据进行解析,得到所述客户端的IP信息;
对所述body数据进行解析,得到变更数据;
根据所述客户端的IP信息将所述变更数据发送至所述客户端。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述数据变更实时通知方法,还包括:
当存在多个客户端时,为所述多个客户端分配命名空间;其中,所述命名空间用于区分所述多个客户端;
基于所述命名空间对所述多个客户端进行数据隔离;
对数据隔离后的多个客户端同时进行注册监听,并将监听到的变更数据发送给对应的客户端。
7.一种数据变更实时通知方法,其特征在于,所述数据变更实时通知方法应用于客户端,包括以下步骤:
向服务端发起注册监听事件;其中,所述注册监听事件用于指示所述服务端触发实时监听动作;所述实时监听动作用于监听目标文件是否发生变更;所述目标文件根据注册数据生成;
接收所述服务端发送的变更数据;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
8.一种数据变更实时通知装置,其特征在于,所述装置包括:
实时监听模块,用于监听目标文件是否发生变更;其中,所述目标文件通过在接收到客户端发起的注册监听事件时,根据注册数据生成;
数据发送模块,用于若所述目标文件发生变更,则将变更数据发送至所述客户端;其中,所述变更数据为变更前的目标文件和变更后的目标文件之间的文件差异数据。
9.一种数据变更实时通知设备,其特征在于,包括:处理器、存储器、通信接口及和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6任意一项或7所述的数据变更实时通知方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在数据变更实时通知设备/装置上运行时,使得数据变更实时通知设备/装置执行如权利要求1-6任意一项或7所述的数据变更实时通知方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311523403.XA CN117596172A (zh) | 2023-11-14 | 2023-11-14 | 数据变更实时通知方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311523403.XA CN117596172A (zh) | 2023-11-14 | 2023-11-14 | 数据变更实时通知方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117596172A true CN117596172A (zh) | 2024-02-23 |
Family
ID=89915910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311523403.XA Pending CN117596172A (zh) | 2023-11-14 | 2023-11-14 | 数据变更实时通知方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117596172A (zh) |
-
2023
- 2023-11-14 CN CN202311523403.XA patent/CN117596172A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
US10769228B2 (en) | Systems and methods for web analytics testing and web development | |
US7020699B2 (en) | Test result analyzer in a distributed processing framework system and methods for implementing the same | |
US20110258315A1 (en) | Network analysis system and method utilizing collected metadata | |
Qian et al. | Benchmarking modern distributed streaming platforms | |
US20100145978A1 (en) | Techniques to provide unified logging services | |
Lakner et al. | IBM system Blue Gene solution: Blue Gene/Q system administration | |
US8799861B2 (en) | Performance-testing a system with functional-test software and a transformation-accelerator | |
EP3479247A1 (en) | Cloud assisted behavioral automated testing | |
US9374417B1 (en) | Dynamic specification auditing for a distributed system | |
US10310851B2 (en) | Automated generation of service definitions for message queue application clients | |
US20090063395A1 (en) | Mapping log sets between different log analysis tools in a problem determination environment | |
US8001424B2 (en) | System and method for fault mapping of exceptions across programming models | |
US11461288B2 (en) | Systems and methods for database management system (DBMS) discovery | |
US20110113436A1 (en) | Event Logging Application Programming Interface (API) | |
US20160337216A1 (en) | System and method for testing a coap server | |
US10754748B2 (en) | System and method for constructing extensible event log with javascript object notation (JSON) encoded payload data | |
CN113760562A (zh) | 链路追踪方法、装置、系统、服务器和存储介质 | |
US10402307B2 (en) | System and method for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface | |
US20230118838A1 (en) | Advanced agent instrumentation for opentelemetry implementations | |
CN117596172A (zh) | 数据变更实时通知方法、装置、设备及存储介质 | |
US9537931B2 (en) | Dynamic object oriented remote instantiation | |
US20220121461A1 (en) | Sound and clear provenance tracking for microservice deployments | |
CN112685252A (zh) | 微服务监控方法、装置、设备和存储介质 | |
US20230091903A1 (en) | Iterative generation of hypertext transfer protocol traffic |
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 |