CN114528269A - 用于处理数据的方法、电子设备和计算机程序产品 - Google Patents
用于处理数据的方法、电子设备和计算机程序产品 Download PDFInfo
- Publication number
- CN114528269A CN114528269A CN202011192341.5A CN202011192341A CN114528269A CN 114528269 A CN114528269 A CN 114528269A CN 202011192341 A CN202011192341 A CN 202011192341A CN 114528269 A CN114528269 A CN 114528269A
- Authority
- CN
- China
- Prior art keywords
- data
- configuration file
- structured report
- plug
- structured
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3068—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开的实施例涉及用于处理数据的方法、电子设备和计算机程序产品。该方法包括获取用于生成和发送结构化报告的配置文件,结构化报告涉及对应用的分析。该方法还包括基于配置文件中的数据源的地址,从数据源获取数据以添加到结构化报告,数据源包括由应用生成的相同类型的数据。该方法还包括基于配置文件中的目标服务器的标识将结构化报告发送给目标服务器以用于分析应用。通过该方法,可以随时调整要获取的结构化报告的格式,而无需版本升级,节省了大量的时间。同时还减少了使用的资源,改进了用户体验。
Description
技术领域
本公开的实施例涉及数据管理领域,并且更具体地,涉及用于处理数据的方法、设备和计算机程序产品。
背景技术
随着计算机技术的快速发展,使用计算机处理的数据量越来越多。为了更好的管理这些数据,用户会在自己的计算设备上运行各种数据管理***。这些数据管理***可用于处理计算设备上产生的各种数据,例如对数据进行备份、对数据进行恢复操作或对数据进行各种其他合适的操作。
随着数据管理***的改进,数据管理***会在处理数据的过程中记录各种数据,比如在***运行过程中产生的日志数据或进行的各种操作的数据。通过记录的这些数据可以对数据管理***进行分析。然而,在通过这些数据来分析数据管理***的过程中还存在许多需要解决的问题。
发明内容
本公开的实施例提供了一种用于处理数据的方法、电子设备和计算机程序产品。
根据本公开的第一方面,提供了一种用于处理数据的方法。该方法包括获取用于生成和发送结构化报告的配置文件,结构化报告涉及对应用的分析。该方法还包括基于配置文件中的数据源的地址,从数据源获取数据以添加到结构化报告,数据源包括由应用生成的相同类型的数据。该方法还包括基于配置文件中的目标服务器的标识将结构化报告发送给目标服务器以用于分析应用。
根据本公开的第二方面,提供了一种电子设备。该电子设备包括处理器;以及存储器,存储有计算机程序指令,处理器运行存储器中的计算机程序指令控制电子设备执行动作,该动作包括获取用于生成和发送结构化报告的配置文件,结构化报告涉及对应用的分析;基于配置文件中的数据源的地址,从数据源获取数据以添加到结构化报告,数据源包括由应用生成的相同类型的数据;以及基于配置文件中的目标服务器的标识将结构化报告发送给目标服务器以用于分析应用。
根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
图2图示了根据本公开的实施例的用于处理数据的方法200的流程图;
图3图示了根据本公开的实施例的用于处理数据的方法300的流程图;
图4图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例400的示意图;
图5图示了根据本公开的实施例的不同应用利用不同配置文件的示例500的示意图;
图6图示了根据本公开的实施例的应用利用不同的配置文件的示例600的示意图;
图7图示了根据本公开的实施例的用于处理数据的方法700的流程图;
图8图示了适于用来实施本公开内容的实施例的示例设备800的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
通常,数据管理***提供方为了更好的了解数据管理***的运行情况,通常会从用户的计算设备上收集数据管理***运行的数据。通过收集这些数据,提供方可以了解在用户的计算机上运行的数据管理***的状态和使用情况。随着数据管理***的发展,需要从每个计算机收集越来越多的数据。
在用户的计算机收集的数据一般通过结构化报告的形式发送到目标服务器,例如结构化遥测报告。这些结构化报告中定义了数据的类型和数据的格式,其不同于非结构化的报告。
在传统方案中,获取结构化报告的过程被硬编码在数据管理***中。在数据管理***运行时,生成的结构化报告被发送回目标服务器。
然而,如果在客户端运行数据管理***后,想要将更多的数据通过结构化的报告发送回目标服务器,则必须进行代码更改。此时需要用户升级到最新版本。升级后,用户的计算机才能发送新格式的报告。这个过程需要很多时间。而且在确定调整发送数据的过程中,还需要大量的开发工作。此外,客户也无法通过结构化报告发送定制的信息。
为了解决上述和其他潜在的问题,本公开提出了一种用于处理数据的方法。在该方法中,设置了单独的用于生成和发送结构化报告的配置文件。计算设备获取该配置文件,然后基于配置文件中的数据源的地址,从数据源获取数据以添加到结构化报告。计算设备基于配置文件中的目标服务器的标识将结构化报告发送给目标服务器以用于分析应用。通过该方法,可以随时依据需要调整遥测数据的格式,而无需软件***的版本升级。此外,通过该方法还可以容易地添加/删除结构化报告中要发送的内容,节省了大量开发时间。并且每个应用可以发送预定格式的结构化报告或发送多个结构化报告,提高了用户体验,减少了开发人员的工作量。
以下通过图1至图8详细描述根据本公开的实施例。图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图。
如图1所示,示例环境100包括计算设备106和目标服务器112。计算设备106会将生成的结构化数据报告110发送给目标服务器112以用于分析应用108。
计算设备106用于运行应用108,并且可以生成应用108的结构化报告110。计算设备106可以被实现为任何类型的计算设备,包括但不限于移动电话(例如,智能手机)、膝上型计算机、便携式数字助理(PDA)、电子书(电子书)阅读器、便携式游戏机、便携式媒体播放器、游戏机、机顶盒(STB)、智能电视(TV)、个人计算机、膝上型计算机、车载计算机(例如,导航单元)等。应用108可以是处理数据的各种应用,例如功率保护数据管理器。
配置文件102可用于生成结构化报告110并且发送结构化报告110。配置文件102中包括生成结构化报告110要访问的数据源104的地址以及结构化报告要被发送到的服目标务器112的标识,例如目标服务器112的网络地址等。备选地或附加地,配置文件102中包括插件配置。插件配置中包括访问数据源104的插件的标识及或向目标服务器112发送数据的插件的标识以及插件使用的参数。备选地或附加地,插件配置中还包括可以对结构化报告110中的数据进行处理的插件的标识及对应的参数。
在一些实施例中,配置文件102中的内容是可以被调整,例如可以调整配置文件102中要调用的插件,诸如增加插件标识及其对应的参数或减秒插件标识及其对应的参数。备选地或附加地,插件标识对应于插件的类型。在一些实施例中,配置文件102可以被替换。例如,可以由用户、应用108的提供方或由其他计算设备将配置文件102替换为新的配置文件。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在图1中示出了一个配置文件102和一个结构化报告110,其仅是示例,而非对本公开的具体限定。在示例环境100中可以包括多个配置文件,并且基于多个配置文件生成对应的多个结构化报告。
数据源104由应用108在运行过程中产生或使用的相同类型的数据形成的。在一个示例中,数据源104由应用108在运行中产生的日志数据形成。在另一个示例中,数据源104是由应用108调用的http的应用编程接口信息形成。上述示例仅是用于描述本公开,而非对本公开的具体限定。图1中示出了应用108包括一个数据源104。其仅是示例,而非对本公开的具体限定。计算设备106可以包括多个数据源,以用于生成包括不同类型数据的结构化报告110。
在图1中示出了配置文件102和数据源104在计算设备106的应用108内,其仅是示例,而非对本公开的具体限定。配置文件102和数据源104可以在计算设备106内的其他位置或外部计算设备或存储装置中。
计算设备106将生成的结构化报告110发送给目标服务器112。目标服务器112对结构化报告110进行分析以实现对应用108的分析。示例目标服务器112包括但不限于个人计算机、服务器计算机、手持或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器***、消费电子产品、小型计算机、大型计算机、包括上述***或设备中的任意一个的分布式计算环境等。
通过该方法,可以随时调整要获取的结构化报告的格式,而无需版本升级,从而节省了大量的时间。同时还减少了使用的资源,改进了用户体验。
上面结合图1描述了根据本公开的实施例的设备和/或方法可以在其中被实施的环境100的示意图。下面结合图2描述根据本公开的实施例的用于处理数据的方法200的流程图。方法200可以在图1中的计算设备106或任何其他适当设备处执行。
在框202处,计算设备106获取用于生成和发送结构化报告110的配置文件102,结构化报告110涉及对应用108的分析。为了生成结构化报告110,计算设备106会获取配置文件102。
在一些实施例中,计算设备106周期性地获取配置文件102。在一些实施例中,计算设备106在确定配置文件被调整时会获取经调整的配置文件。在一个示例中,配置文件102的内容被调整或配置文件102被替换时,会通知计算设备106。然后计算设备106获取调整后的配置文件102。上述示例仅是用于描述本公开,而非对本公开的具体限定。通过上述方式,计算设备106可以准确及时的获取到配置文件102。
在一些实施例中,计算设备106可以基于配置文件102中的前次结构化报告的发送时间来确定何生成初始化的结构化报告110,其生成初始化的结构化报告110的过程可以参见图3的描述。在一些实施例,计算设备106在读取到配置文件后直接生成初始化的结构化报告110。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在框204处,计算设备106基于配置文件中的数据源104的地址,从数据源104获取数据以添加到结构化报告110,数据源104包括由应用108生成的相同类型的数据。计算设备106会利用配置文件102中的数据源104的地址来确定生成结构化报告110的数据源104。
在一些实施例中,配置文件102包括数据获取插件的标识,该数据获取插件通过该数据源104的地址来获取数据。备选地或附加地,该数据源104的地址是该数据获取插件的参数。在一些实施例中,结构化报告110包括从多个不同数据源获取多种不同数据的多个数据获取插件的标识。备选地或附加地,应用108中包括多种不同类型的数据获取插件。因此,可以基于数据获取插件的类型确定使用哪些数据获取插件。在一些实施例中,计算设备106可以直接基于配置文件中的地址来获取数据。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在框206处,计算设备106基于配置文件中的目标服务器112的标识将结构化报告110发送给目标服务器112以用于分析应用108。配置文件102还包括目标服务器112的地址。计算设备106利用配置文件102中的目标服务器112的地址将生成的结构化报告110发送到目标服务器112。
在一些实施例中,结构化报告110中包括数据输出插件的标识。备选地或附加地,输出插件的标识对应于输出插件的类型。应用108中包括多种不同类型的输出插件,通过输出插件的类型以可确定要调用的输出插件。在一些实施例中,针对一个应用可以存在多个配置文件,每个配置文件可以对应于一个生成的结构化报告。备选地或附加地,每个配置文件中输出插件的类型可以不同。然后利用作为输出插件参数的目标服务器地址来向不同的目标服务器112发送不同的结构化报告。在一些实施例中,计算设备106基于配置文件102中的目标服务器的地址直接向目标服务器112发送结构化报告。上述示例仅是用于描述本公开,而非对本公开的具体限定。
通过该方法,可以随时调整要获取的结构化报告的格式,而无需版本升级,从而节省了大量的时间。同时减少了使用的资源,改进了用户体验。
以上结合图2描述了根据本公开的实施例的用于处理数据的方法200。下面将结合图3来描述更详细的用于处理数据的方法。图3图示了根据本公开的实施例的用于处理数据的方法300的流程图。图3中的方法300可由图1中的计算设备106或任何其他适当设备执行。图3中框202和框206的操作与图2中的框202和框206的操作相同,此处就不再详细描述。
在框304处,计算设备确定配置文件是否包括先前结构化报告被发送的先前时刻。如果不包括先前时刻,表明计算设备106还未向目标服务器112发送过结构化报告110。则在框310处,计算设备106初始化结构化报告110。在一个示例中,计算设备106生成一个空的结构化报告110。
如果包括先前时刻,则在框306处,利用先前时刻、当前时刻和配置文件中包括的时间间隔,确定初始化结构化报告的剩余时长。其中,时间间隔指示结构化报告到目标服务器的两个相邻发送的之间的时段。在一个示例中,通过当前时刻和先前时刻可确定出先前结构化报告已发送了多长时间。然后,根据发送结构化报告的时间间隔确定还需要多长时间再发送下一个结构化报告。
在框308处,确定是否已经经过剩余时长。在一个示例中,可以利用剩余时长进行定时。定时结束时,表明经过了剩余时长。在经过该剩余时长后,在框310处初始化结构化报告。如果没有经过剩余时长,则返加框308继续进行确认。通过上述方式,可以按时确定的生成结构化报告,使得结构化报告可以以固定的时长发送。
在框312处,计算设备106通过配置文件102中包括的第一标识来调用数据获取插件,第一标识用于标识与地址相关联的数据获取插件。为了能够更好的从数据源获取数据,应用108可以包括可从不同数据源获得数据的多个数据获取插件,或可以从其他部件或设备获得可以从不同数据源获得数据的多个数据获取插件。配置文件102中包括数据获取插件的标识,通过该标识来调用数据获取插件,其中数据源的地址可以作为数据获取插件的参数提供给数据获取插件。
在一些实施例中,计算设备106会从配置文件102检测是否存在数据获取插件的标识。如果存在,则通过插件标识来调用该数据获取插件。备选地或附加地,数据获取插件是通过数据获取插件的类型来区分的。不同类型的数据获取插件用于从不同类型的数据源获取数据。在一些实施例中,数据源类型可以为日志源、文件源或http源等。日志源用于存储日志信息。文件源用于存储访问或生成的文件等信息。http源用于存储http应用编程接口的信息等。在一些实施例中,通过数据获取插件从数据源获取的数据如果不是预定的数据格式,则数据获取插件可以调整获取的数据的格式,例如转换为Json格式。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在框314处,计算设备106通过数据获取插件基于地址来从数据源获取数据。通过这种方式,可以快速准确地获取到数据源中的数据,提高了数据处理效率。
在一些实施例中,在获取到该数据后,计算设备106还会确定配置文件102中是否还存在其他的数据获取插件的标识及参数。如果有则继续调用其他的数据获取插件来获取数据。
在一些实施例中,计算设备106还会从配置文件中确定是否存在要对结构化报告中的数据执行预定操作的数据处理插件的标识。如果存在数据处理插件的标识及其参数,则通过数据处理插件对数据执行预定操作。数据处理插件可以对数据执行各种操作。在一个示例中,调用一个数据处理插件删除数据中的一个字段。在另一个示例中,调用另一个数据处理插件在数据中增加一个字段。在又一个示例,调用又一个数据处理插件删除数据中的冗余数据等。在一些实施例中,数据处理插件还可以更新配置文件中的一些字段。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在通过配置文件102检测到输出插件时,会将配置文件中的目标服务器112的标识作为参数发送给数据输出插件,并且还将结构化报告发送给输出插件以生成可以发送的预定格式的文件,例如Json格式的文件。在一些实施例中,可以基于配置文件102中的输出插件的类型来获取输出插件。不同类型的输出插件可以用于向不同的目标服务器发送结构化报告。然后,输出插件基于目标服务器112的标识将结构化的报告发送给目标服务器112以进行分析。在一些实施例中,输出插件可以是网关输出插件,http输出插件,电子邮件输出插件等。上述示例仅是用于描述本公开,而非对本公开的具体限定。
通过上述方法,不需要对版本进行升级就可以在运行时启用和更改遥测数据的格式,并且可以容易地添加/删除结构化报告中要发送的内容,从而节省了大量开发时间。
上面结合图3描述了用于处理数据的流程图。下面结合图4描述了用于处理数据的示例,其中图4图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例400的示意图。
如图4所示,示例400中包括应用108。应用108包括配置文件102和数据源集合412。数据源集合412包括日志源414、文件源416和http源418。其中图4中示出的数据源集合412包括三个数据源仅是示例,而非对本公开的具体限定,数据源集合412可以包括任意数目的任意类型的数据源。
应用108中包括可用于生成结构化的报告的可配置遥测应用402,其包括核心服务404、数据获取插件406、数据处理插件410和输出插件408。
核心服务404用于获取配置文件402。然后基于配置文件102中的数据获取插件406的类型来选择对应的插件,并且基于配置文件102的该插件的参数中的数据源地址来从数据源集合412中的对应数据源获取数据以写入结构化报告。
如果配置文件102还存在数据处理插件410的标识,则核心服务404可以调用数据处理插件410来对数据进行各种处理,例如增加字段、删除字段或去除数据中的冗余数据等。如果核心服务404检测到输出插件408的标识,则通过输出插件408的标识来调用输出插件408。输出插件408将结构化报告生成预定格式的文件,如Json文件。然后将结构化报告发送给目标服务器112以用于分析。
在一些实施例中,可配置遥测应用402可以通过安装包的形式安装到其他应用以生成其他应用的结构化报告。通过这种方式,提高了可配置遥测应用在不同应用之间的可用性,减少了开发人员的工作量。
上面结合图4描述了用于处理数据的示例400的示意图。此外,不同的应用可以利用不同的配置文件来向不同的目标服务器发送结构化报告。此外,同一应用还可以使用不同的配置文件来向不同的目标服务器发送不同的结构化报告。下面结合图5和图6描述这两种情况,其中图5描述了不同应用利用不同的配置文件的示例500的示意图;其中图6描述了应用利用不同的配置文件的示例600的示意图。
如图5所示,第一应用504包括配置文件502和可配置遥测应用508。可配置遥测应用508利用配置文件502来生成对应的结构化报告,发送给第一服务器512。第二应用506包括配置文件516和可配置遥测应用510。可配置遥测应用510利用配置文件516生成另一结构化报告发送给第二服务器514。
在图6中,应用612包括三个配置文件602-1、602-2和602-3和可配置遥测应用604。然后可配置遥测应用604可以利用三个配置文件向三个不同的目标服务器:电子邮件服务器606、本地服务器608或与应用有关的后台服务器610发送结构化报告。上述仅是示例,而非对本公开的具体限定。
上面结合图5和图6描述了可以利用配置文件向目标服务器发送结构化报告的示例。下面结合图7描述根据本公开的实施例的用于处理数据的方法700的流程图。
在框702处,计算设备106先获取结构化报告的配置文件。计算设备106从配置文件中读取数据。
在一个示例中,配置文件102中可以包括结构化报告的名称,上次结构化报告的发送时间、结构化报告中的全局参数以及插件配置,插件配置包括可用于调用的不同插件的标识及传送给插件的参数。
在框704处,计算设备106确定发送先前结构化报告的先前时刻是否为空。如果为空,表明计算设备还未发送过结构化报告,则在框710处初始化结构化报告。如果不为空,则计算设备106在框706处,利用先前时刻、当前时刻和配置文件中的包括的发送结构化报告的时间间隔来确定初始化结构化报告或发送结构化报告的剩余时间。然后在框708处,计算设备106确定是否经过剩余时长。如果未经过剩余时长,则继续在框708处进行确定。如果经过了剩余时长,则在框710处,计算设备106初始化结构化报告110。
然后在框712处,计算设备106确定配置文件102中是否还存在插件配置。如果没有则在框726处结束执行。如果存在,则表明有需要调用的插件。然后在框714处,计算设备106确定要调用的插件是否是输出插件。如果是输出插件,则在框716处将插件配置和结构化报告提供给输出插件,以供输出插件对结构化报告进行处理,例如调整结构化报告的格式。然后将结构化报告发送给目标服务器。如果不是输出插件,则在框718中,计算设备106利用全局变量中设置的值替换插件配置中的全局变量。如果插件配置中不存在全局变量,则可以不执行框718。然后,在框720处,计算设备106向插件服务发送插件配置。在一些实施例中,向插件服务发送插件配置还包括将插件服务发送要调用的插件的类型以及对应的参数。备选地或附加地,向插件服务发送数据获取插件的类型和数据源的地址,以从数据源获取数据;或者发送处理插件的类型以及结构化报告,以由处理插件对结构化报告的进行处理。然后在框722处,计算设备106从插件获得数据。然后在框724处,计算设备106将数据放入结构化报告中。然后返回到框712继续执行。
通过上述方法,可以随时依据需要调整遥测数据的格式,而无需软件***的版本升级,节省了大量的时间和资源。
图8示出了可以用来实施本公开内容的实施例的示例设备800的示意性框图。例如,如图1所示的计算设备106和目标服务器112可以由设备800来实施。如图所示,设备800包括中央处理单元CPU 801,其可以根据存储在只读存储器ROM 802中的计算机程序指令或者从存储单元808加载到随机访问存储器RAM 803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM802以及RAM 803通过总线804彼此相连。输入/输出I/O接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200、300和700可由处理单元801执行。例如,在一些实施例中,方法200、300和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200、300和700的一个或多个动作。
本公开的实施例涉及方法、电子设备和/或计算机程序产品。本公开的实施例还可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子,非穷举的列表,包括:便携式计算机盘、硬盘、随机存取存储器RAM、只读存储器ROM、可擦式可编程只读存储器EPROM或闪存、静态随机存取存储器SRAM、便携式压缩盘只读存储器CD-ROM、数字多功能盘DVD、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波,例如,通过光纤电缆的光脉冲、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构ISA指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网LAN或广域网WAN—连接到用户计算机,或者,可以连接到外部计算机,例如利用因特网服务提供商来通过因特网连接。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列FPGA或可编程逻辑阵列PLA,该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置/***和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (15)
1.一种用于处理数据的方法,包括:
获取用于生成和发送结构化报告的配置文件,所述结构化报告涉及对应用的分析;
基于所述配置文件中的数据源的地址,从数据源获取数据以添加到所述结构化报告,所述数据源包括由所述应用生成的相同类型的数据;以及
基于所述配置文件中的目标服务器的标识将所述结构化报告发送给目标服务器以用于分析所述应用。
2.根据权利要求1所述的方法,其中获取所述配置文件包括:
周期性地获取所述配置文件;或者
响应于确定所述配置文件被调整而获取经调整的所述配置文件。
3.根据权利要求1所述的方法,其中获取所述数据包括:
通过所述配置文件中包括的第一标识来调用所述数据获取插件,所述第一标识用于标识与所述地址相关联的数据获取插件;以及
通过所述数据获取插件基于所述地址来从所述数据源获取所述数据。
4.根据权利要求1所述的方法,还包括:
基于所述配置文件,初始化所述结构化报告。
5.根据权利要求4所述的方法,其中初始化所述结构化报告包括:
确定所述配置文件是否包括先前结构化报告被发送的先前时刻;
响应于确定所述配置文件包括所述先前时刻,基于所述先前时刻、当前时刻和所述配置文件中包括的时间间隔,确定初始化所述结构化报告的剩余时长,所述时间间隔指示结构化报告到所述目标服务器的两个相邻发送的之间的时段;以及
响应于确定经过所述剩余时长,初始化所述结构化报告。
6.根据权利要求5所述的方法,其中初始化所述结构化报告还包括:
响应于确定所述配置文件不包括所述先前时刻,初始化所述结构化报告。
7.根据权利要求1所述的方法,还包括:
从所述配置文件获取要对所述结构化报告中的所述数据执行预定操作的数据处理插件的第二标识;
通过所述第二标识调用所述数据处理插件;以及
通过所述数据处理插件对所述数据执行所述预定操作。
8.一种电子设备,所述电子设备包括:
至少一个处理器;以及
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
获取用于生成和发送结构化报告的配置文件,所述结构化报告涉及对应用的分析;
基于所述配置文件中的数据源的地址,从数据源获取数据以添加到所述结构化报告,所述数据源包括由所述应用生成的相同类型的数据;以及
基于所述配置文件中的目标服务器的标识将所述结构化报告发送给目标服务器以用于分析所述应用。
9.根据权利要求8所述的电子设备,其中获取所述配置文件包括:
周期性地获取所述配置文件;或者
响应于确定所述配置文件被调整而获取经调整的所述配置文件。
10.根据权利要求8所述的电子设备,其中获取所述数据包括:
通过所述配置文件中包括的第一标识来调用所述数据获取插件,所述第一标识用于标识与所述地址相关联的数据获取插件;以及
通过所述数据获取插件基于所述地址来从所述数据源获取所述数据。
11.根据权利要求8所述的电子设备,所述动作还包括:
基于所述配置文件,初始化所述结构化报告。
12.根据权利要求11所述的电子设备,其中初始化所述结构化报告包括:
确定所述配置文件是否包括先前结构化报告被发送的先前时刻;
响应于确定所述配置文件包括所述先前时刻,基于所述先前时刻、当前时刻和所述配置文件中包括的时间间隔,确定初始化所述结构化报告的剩余时长,所述时间间隔指示结构化报告到所述目标服务器的两个相邻发送的之间的时段;以及
响应于确定经过所述剩余时长,初始化所述结构化报告。
13.根据权利要求12所述的电子设备,其中初始化所述结构化报告还包括:
响应于确定所述配置文件不包括所述先前时刻,初始化所述结构化报告。
14.根据权利要求1所述的电子设备,所述动作还包括:
从所述配置文件获取要对所述结构化报告中的所述数据执行预定操作的数据处理插件的第二标识;
通过所述第二标识调用所述数据处理插件;以及
通过所述数据处理插件对所述数据执行所述预定操作。
15.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至7中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011192341.5A CN114528269A (zh) | 2020-10-30 | 2020-10-30 | 用于处理数据的方法、电子设备和计算机程序产品 |
US17/186,604 US11934287B2 (en) | 2020-10-30 | 2021-02-26 | Method, electronic device and computer program product for processing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011192341.5A CN114528269A (zh) | 2020-10-30 | 2020-10-30 | 用于处理数据的方法、电子设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114528269A true CN114528269A (zh) | 2022-05-24 |
Family
ID=81378923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011192341.5A Pending CN114528269A (zh) | 2020-10-30 | 2020-10-30 | 用于处理数据的方法、电子设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11934287B2 (zh) |
CN (1) | CN114528269A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911541B (zh) * | 2022-06-06 | 2023-09-01 | 北京百度网讯科技有限公司 | 配置信息的处理方法、装置、电子设备及存储介质 |
CN115098579A (zh) * | 2022-08-24 | 2022-09-23 | 中关村科学城城市大脑股份有限公司 | 业务数据发布方法、装置、电子设备和计算机可读介质 |
CN116401090B (zh) * | 2023-04-23 | 2024-01-30 | 中航信移动科技有限公司 | 一种基于数据更新的异常数据源确定方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090164667A1 (en) * | 2007-12-21 | 2009-06-25 | General Instrument Corporation | Synchronizing of Personal Content |
US20140046896A1 (en) * | 2012-08-13 | 2014-02-13 | Kevin Grant Potter | Automated Extraction and Reporting on Applicant Private Social Network Information |
US9374369B2 (en) * | 2012-12-28 | 2016-06-21 | Lookout, Inc. | Multi-factor authentication and comprehensive login system for client-server networks |
US10333905B2 (en) * | 2015-10-16 | 2019-06-25 | Orock Technologies, Inc. | System for providing end-to-end protection against network-based attacks |
US20180285571A1 (en) * | 2017-03-28 | 2018-10-04 | International Business Machines Corporation | Automatic detection of an incomplete static analysis security assessment |
US11100176B2 (en) * | 2019-05-16 | 2021-08-24 | Adobe Inc. | Data sharing tool for facilitating real-time access to current or updated datasets |
-
2020
- 2020-10-30 CN CN202011192341.5A patent/CN114528269A/zh active Pending
-
2021
- 2021-02-26 US US17/186,604 patent/US11934287B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11934287B2 (en) | 2024-03-19 |
US20220138074A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9852015B2 (en) | Automatic discovery of a JavaScript API | |
CN114528269A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
US10284671B2 (en) | Dynamic bundling of web components for asynchronous delivery | |
CN107609004B (zh) | 应用程序埋点方法和装置、计算机设备和存储介质 | |
US10783128B2 (en) | Rule based data processing | |
US20150363492A1 (en) | Use of collected data for web api ecosystem analytics | |
CN111913738A (zh) | 访问请求的处理方法、装置、计算设备和介质 | |
CN108989383B (zh) | 数据处理方法和客户端 | |
CN108011936B (zh) | 用于推送信息的方法和装置 | |
CN111787041B (zh) | 用于处理数据的方法和装置 | |
CN111488386A (zh) | 数据查询方法和装置 | |
US12001458B2 (en) | Multi-cloud object store access | |
CN110020166B (zh) | 一种数据分析方法及相关设备 | |
CN110554892A (zh) | 信息获取方法和装置 | |
CN112910855B (zh) | 一种样例报文处理方法及装置 | |
CN111131354B (zh) | 用于生成信息的方法和装置 | |
CN111767447A (zh) | 用于确定用户流量路径的方法和装置 | |
CN111782549A (zh) | 测试方法、装置和电子设备 | |
CN111178014A (zh) | 一种处理业务流程的方法和装置 | |
CN110968768B (zh) | 信息生成方法和装置 | |
CN111367517B (zh) | 信息生成方法和装置 | |
CN111104626B (zh) | 信息存储方法和装置 | |
CN114063879B (zh) | 用于处理操作命令的方法、电子设备和存储介质 | |
CN111460269B (zh) | 信息推送方法和装置 | |
CN113568803B (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 |