CN109582353A - 嵌入数据采集代码的方法及装置 - Google Patents

嵌入数据采集代码的方法及装置 Download PDF

Info

Publication number
CN109582353A
CN109582353A CN201710884163.4A CN201710884163A CN109582353A CN 109582353 A CN109582353 A CN 109582353A CN 201710884163 A CN201710884163 A CN 201710884163A CN 109582353 A CN109582353 A CN 109582353A
Authority
CN
China
Prior art keywords
code
environment
data acquisition
packing
issuing
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
Application number
CN201710884163.4A
Other languages
English (en)
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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201710884163.4A priority Critical patent/CN109582353A/zh
Publication of CN109582353A publication Critical patent/CN109582353A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种嵌入数据采集代码的方法及装置,涉及数据采集技术领域,能够高效解决数据采集过程中的数据污染问题。本发明的方法包括:获取待打包发布的代码;识别***环境所对应的当前环境;判断所述当前环境是否为目标环境;如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。本发明适合应用在网页数据采集的过程中。

Description

嵌入数据采集代码的方法及装置
技术领域
本发明涉及数据采集技术领域,尤其涉及一种嵌入数据采集代码的方法及装置。
背景技术
随着网站统计数据的重要性日益突出,网站数据的采集技术也有了更快的发展。在嵌入数据采集代码过程中,代码埋点技术以其快捷性和精确性已经得到更多的青睐,并发展成为当前最为流行的数据采集方式。代码埋点即JavaScript标记,是开发工程师通过在页面上添加一段JavaScript代码来完成,这段JavaScript代码会收集用户在当前页面的访问信息。
现有技术中在进行代码埋点时,通常在添加JavaScript代码后,无论当前***环境为何种环境,添加的JavaScript代码都会无条件执行来进行数据的采集,因此导致采集到对于数据分析统计无意义的脏数据,造成数据污染的问题。
为了解决上述数据污染的问题,目前的解决方案是通过人工手动修改,即对于可能产生脏数据的***环境,不添加用于采集数据的JavaScript代码。然而对于人工手动修改的方式,在大型网站以及***版本更迭快的情况下,将耗费大量的人力和时间,并且人工手动修改的出错率也会提高。
综上,现有的解决数据采集过程中,数据污染问题的方案,存在效率低,容易出错的技术问题。
发明内容
鉴于上述问题,本发明提出一种嵌入数据采集代码的方法及装置,为了高效解决数据采集过程中数据污染的问题。
为解决上述技术问题,第一方面,本发明提供了一种嵌入数据采集代码的方法,该方法包括:
获取待打包发布的代码;
识别***环境所对应的当前环境;
判断所述当前环境是否为目标环境;
如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。
可选的,***环境包括开发环境、测试环境以及线上环境,每种***环境分别与一个不同的环境变量值对应,所述识别***环境所对应的当前环境,包括:
识别所述当前环境对应的环境变量值;
根据所述环境变量值,确定所述当前环境;
所述目标环境为线上环境,所述判断所述当前环境是否为目标环境,包括:
识别所述线上环境对应的环境变量值;
判断所述当前环境对应的环境变量值是否与所述线上环境对应的环境变量值相同。
可选的,所述数据采集代码为多种,所述待打包发布的代码的不同页面位置对应不同的数据采集代码,在获取所述数据采集代码之前,所述方法还包括:
获取所述数据采集代码的名称及所述数据采集代码对应的页面位置;
将所述数据采集代码的名称作为键,将所述数据采集代码对应的页面位置作为值,以键值对的方式存储在配置文件中。
可选的,将所述数据采集代码嵌入所述待打包发布的代码中,包括:
获取配置文件,从所述配置文件中分别提取所述待打包发布的代码的不同页面位置对应的数据采集代码;
将所述不同页面位置对应的数据采集代码,分别嵌入所述待打包发布的代码的对应位置。
可选的,所述方法还包括:
将嵌入所述数据采集代码后的待打包发布的代码进行打包发布;或
如果所述当前环境不是目标环境,则将所述待打包发布的代码直接进行打包发布。
第二方面,本发明还提供了一种嵌入数据采集代码的装置,该装置包括:
第一获取单元,用于获取待打包发布的代码;
识别单元,用于识别***环境所对应的当前环境;
判断单元,用于判断所述当前环境是否为目标环境;
嵌入单元,用于如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。
可选的,***环境包括开发环境、测试环境以及线上环境,每种***环境分别与一个不同的环境变量值对应,所述识别单元,包括:
第一识别模块,用于识别所述当前环境对应的环境变量值;
确定模块,用于根据所述环境变量值,确定所述当前环境;
所述目标环境为线上环境,所述判断单元包括:
第二识别模块,用于识别所述线上环境对应的环境变量值;
判断模块,用于判断所述当前环境对应的环境变量值是否与所述线上环境对应的环境变量值相同。
可选的,所述数据采集代码为多种,所述待打包发布的代码的不同页面位置对应不同的数据采集代码,所述装置还包括:
第二获取单元,用于在获取所述数据采集代码之前,获取所述数据采集代码的名称及所述数据采集代码对应的页面位置;
存储单元,用于将所述数据采集代码的名称作为键,将所述数据采集代码对应的页面位置作为值,以键值对的方式存储在配置文件中。
可选的,所述嵌入单元,包括:
获取模块,用于获取配置文件,从所述配置文件中分别提取所述待打包发布的代码的不同页面位置对应的数据采集代码;
嵌入模块,用于将所述不同页面位置对应的数据采集代码,分别嵌入所述待打包发布的代码的对应位置。
可选的,所述装置还包括:
第一打包发布单元,用于将嵌入所述数据采集代码后的待打包发布的代码进行打包发布;
第二打包发布单元,用于如果所述当前环境不是目标环境,则将所述待打包发布的代码直接进行打包发布。
为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的嵌入数据采集代码的方法。
为了实现上述目的,根据本发明的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的嵌入数据采集代码的方法。
借由上述技术方案,本发明提供的嵌入数据采集代码的方法及装置,在进行嵌入数据采集代码之前,首先会判断***环境所对应的当前环境,当当前环境为目标环境时,再获取数据采集代码并将其嵌入到待打包发布的代码中。与现有的技术相比,本发明在嵌入数据采集代码时进行了环境的判断,克服了现有技术中存在的数据采集代码在任何环境下都运行而产生的数据污染的问题,并且在根据不同的环境确定是否嵌入数据采集代码时,不需要人工手动的修改,大大的提高了效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种嵌入数据采集代码的方法流程图;
图2示出了本发明实施例提供的另一种嵌入数据采集代码的方法流程图;
图3示出了本发明实施例提供的一种嵌入数据采集代码的装置的组成框图;
图4示出了本发明实施例提供的另一种嵌入数据采集代码的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了高效解决数据采集过程中数据污染的问题,本发明实施例提供了一种嵌入数据采集代码的方法,如图1所示,该方法包括:
101、获取待打包发布的代码。
待打包发布的代码是已经完成功能等测试的代码,本实施例中代码打包发布时通过自动化的工具进行的,对应的获取待打包发布的代码也是由自动化打包发布工具获取的。获取待打包发布的代码能够从本地或者通过网络从其它存储代码端获取,具体的获取途径不受限制。
102、识别***环境所对应的当前环境。
***环境可以包括多种不同的环境类型,***环境所对应的当前环境是***当前所处的环境。不同的环境类型,可以对应不同的打包方式和打包内容,具体如何进行打包可以提前根据实际需求由外部提前配置的。
103、判断当前环境是否为目标环境。
目标环境是***环境中的一种或多种,目标环境是能够嵌入步骤104中用于进行数据采集的数据采集代码对应的环境。本实施例中的数据采集代码主要是指用于采集用户在访问网站页面的过程中产生的用户行为数据的代码,采集用户行为数据的数据采集代码并不需要在任何环境下运行,比如在开发环境下就不需要运行,因此数据采集代码的嵌入与当前环境有关,即并不是所有的环境下,都可以将数据采集代码进行嵌入,所以需要判断当前环境是否为目标环境。
104、如果是目标环境,则获取数据采集代码,并将数据采集代码嵌入待打包发布的代码中。
若当前环境是目标环境,则表示可以进行数据采集代码的嵌入,数据采集代码的嵌入通常需要先获取数据采集代码,然后再将其嵌入到待打包发布的代码中,之后完成待打包发布的代码的打包发布;对应的,若当前环境不是目标环境,则表示不可以进行数据采集代码的嵌入,则不需要进行后续获取以及嵌入数据采集代码的步骤,直接进行待打包发布的代码的打包发布即可。
本发明实施例提供的嵌入数据采集代码的方法,在进行嵌入数据采集代码之前,首先会判断***环境所对应的当前环境,当当前环境为目标环境时,再获取数据采集代码并将其嵌入到待打包发布的代码中。与现有的技术相比,本发明在嵌入数据采集代码时进行了环境的判断,克服了现有技术中存在的数据采集代码在任何环境下都运行而产生的数据污染的问题,并且在根据不同的环境确定是否嵌入数据采集代码时,不需要人工手动的修改,大大的提高了效率。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种嵌入数据采集代码的方法,如图2所示。
201、获取待打包发布的代码。
本步骤的实现方式与图1步骤101的实现方式相同,此处不再赘述。
202、识别当前环境对应的环境变量值并根据环境变量值,确定当前环境。
在本步骤之前,首先需要添加环境变量,并且根据***环境的种类设置对应的环境变量值。本实施例中***环境可以包括多种环境类型,例如开发环境、测试环境以及线上环境三种,并且对应开发环境、测试环境以及线上环境需要分别设置一个对应的环境变量值。给出一种具体的设置方法:设置开发环境对应的环境变量值为develop;设置测试环境对应的环境变量值为test;设置线上环境对应的环境变量值为production。当添加环境变量并设置对应的环境变量值后,待打包发布的代码进行打包发布前外部可以根据实际需要打什么环境的包来配置环境变量,然后环境变量会根据环境变量配置返回对应的环境变量值。下面以Node.js打包工具为例进行说明,首先需要在process.env(Node中全局对象process的环境属性)上新建环境变量NODE_ENV,然后分别设置开发环境对应的NODE_ENV的值为develop;设置测试环境对应的NODE_ENV的值为test;设置线上环境对应的NODE_ENV的值为production;当外部根据实际需要打什么环境的包来配置完环境变量后,即选择开发环境、测试环境以及线上环境中的一种环境之后,process.env会返回环境变量NODE_ENV以及对应的NODE_ENV的值。
对应于上述实例,识别当前环境对应的环境变量值即识别NODE_ENV的值,根据NODE_ENV的值确定当前环境,具体为:若NODE_ENV的值为develop,则当前环境为开发环境;若NODE_ENV的值为test,则当前环境为测试环境;若NODE_ENV的值为production,则当前环境为线上环境。
203、识别当前环境是否为线上环境。
本实施例中目标环境为线上环境,具体的识别当前环境是否为线上环境具体的包括以下步骤:
首先,识别线上环境对应的环境变量值。
识别线上环境对应的环境变量值即获取线上环境对应的环境变量值,具体的对应于步骤202中的实例,即获取环境变量值production。
其次,判断当前环境对应的环境变量值是否与线上环境对应的环境变量值相同。
将由步骤202中确定的当前环境的环境变量值与线上环境对应的环境变量值比对,对应于上述实例即将当前NODE_ENV的值与production比对,若相同,则确定当前环境为目标环境;若不相同,则确定当前环境不是目标环境。
204、若为线上环境,则从配置文件中分别提取待打包发布的代码的不同页面位置对应的数据采集代码。
若为线上环境,即当前环境若为目标环境,则能够进行数据采集代码的嵌入。进行数据采集代码的嵌入首先要获取数据采集代码的名称及数据采集代码对应的页面位置,因为不同页面位置对应的数据采集代码通常是不同的。具体的获取数据采集代码的名称及数据采集代码对应的页面位置是从配置文件中获取的。其中配置文件中包含待打包发布的代码的不同页面位置对应的数据采集代码,并且是以数据采集代码的名称作为键key,数据采集代码对应的页面位置作为值value,以键值对{key:value}的方式存储在配置文件中的。另外,配置文件中的待打包发布的代码的不同页面位置对应的数据采集代码是从数据采集代码库中根据待打包发布的代码获取的,数据采集代码库中不同的待打包发布的代码的标识代表不同的待打包发布的代码,不同的待打包发布的代码标识与对应的待打包发布的代码需要嵌入的数据采集代码及其嵌入的页面位置也是对应的。此外将待打包发布的代码的不同页面位置对应的数据采集代码写到配置文件中,当待打包发布的代码版本更新时,更方便数据采集代码以及对应嵌入位置的修改、管理及后期维护。
205、将不同页面位置对应的数据采集代码,分别嵌入待打包发布的代码的对应位置。
获取待打包发布的代码的不同页面位置对应的数据采集代码后,需要根据不同的页面位置将对应不同页面位置的数据采集代码嵌入到待打包发布的代码中,得到能够进行用户行为数据采集的代码。
需要说明的是,实际应用中步骤204以及步骤205的实现需要提前在配置文件中添加对应的执行嵌入数据采集代码的命令,执行嵌入数据采集代码的命令的条件为当前环境为目标环境。给出一种添加对应的执行嵌入数据采集代码的命令的实现方式:比如对于Node.Js打包工具,可以在npm script命令集合中添加嵌入数据采集代码的执行命令。
206、将嵌入数据采集代码后的待打包发布的代码进行打包发布。
另外,对于步骤203的判断,若当前环境不是线上环境,即不是目标环境,则将待打包发布的代码直接进行打包发布,即跳过步骤204以及步骤205直接执行步骤206。
进一步的,作为对上述图1和图2所示方法的实现,本发明实施例另一实施例还提供了一种嵌入数据采集代码的装置,用于对上述图1和图2所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图3所示,该装置包括:第一获取单元31、识别单元32、判断单元33以及嵌入单元34。
第一获取单元31,用于获取待打包发布的代码;
待打包发布的代码是已经完成功能等测试的代码,本实施例中代码打包发布时通过自动化的工具进行的,对应的获取待打包发布的代码也是由自动化打包发布工具获取的。获取待打包发布的代码能够从本地或者通过网络从其它存储代码端获取,具体的获取途径不受限制。
识别单元32,用于识别***环境所对应的当前环境;
***环境可以包括多种不同的环境类型,***环境所对应的当前环境是***当前所处的环境。不同的环境类型,可以对应不同的打包方式和打包内容,具体如何进行打包可以提前根据实际需求由外部提前配置的。
判断单元33,用于判断所述当前环境是否为目标环境;
目标环境是***环境中的一种或多种,目标环境是能够嵌入嵌入单元34中用于进行数据采集的数据采集代码对应的环境。本实施例中的数据采集代码主要是指用于采集用户在访问网站页面的过程中产生的用户行为数据的代码,采集用户行为数据的数据采集代码并不需要在任何环境下运行,比如在开发环境下就不需要运行,因此数据采集代码的嵌入与当前环境有关,即并不是所有的环境下,都可以将数据采集代码进行嵌入,所以需要判断当前环境是否为目标环境。
嵌入单元34,用于如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。
若当前环境是目标环境,则表示可以进行数据采集代码的嵌入,数据采集代码的嵌入则必然需要首先获取数据采集代码,然后再将其嵌入到待打包发布的代码中,之后完成待打包发布的代码的打包发布;对应的,若当前环境不是目标环境,则表示不可以进行数据采集代码的嵌入,则不需要进行后续获取以及嵌入数据采集代码的步骤,直接进行待打包发布的代码的打包发布即可。
***环境包括开发环境、测试环境以及线上环境,每种***环境分别与一个不同的环境变量值对应,如图4所示,所述识别单元32,包括:
第一识别模块321,用于识别所述当前环境对应的环境变量值;
在识别当前环境对应的环境变量值之前,首先需要添加环境变量,并且根据***环境的种类设置对应的环境变量值。本实施例中***环境包括开发环境、测试环境以及线上环境三种,因此对应开发环境、测试环境以及线上环境需要分别设置一个对应的环境变量值。
确定模块322,用于根据所述环境变量值,确定所述当前环境;
环境变量值与***环境是一一对应的,因此根据所述环境变量值,确定***环境所对应的当前环境。
所述目标环境为线上环境,所述判断单元33包括:
第二识别模块331,用于识别所述线上环境对应的环境变量值;
判断模块332,用于判断所述当前环境对应的环境变量值是否与所述线上环境对应的环境变量值相同。
具体是通过将确定的当前环境的环境变量值与线上环境对应的环境变量值比对来判断当前环境对应的环境变量值是否与线上环境对应的环境变量值相同的。
所述数据采集代码为多种,所述待打包发布的代码的不同页面位置对应不同的数据采集代码,如图4所示,所述装置还包括:
第二获取单元35,用于在获取所述数据采集代码之前,获取所述数据采集代码的名称及所述数据采集代码对应的页面位置;
存储单元36,用于将所述数据采集代码的名称作为键,将所述数据采集代码对应的页面位置作为值,以键值对的方式存储在配置文件中。
将待打包发布的代码的不同页面位置对应的数据采集代码写到配置文件中,当待打包发布的代码版本更新时,更方便数据采集代码以及对应嵌入位置的修改、管理及后期维护。
如图4所示,所述嵌入单元34,包括:
获取模块341,用于获取配置文件,从所述配置文件中分别提取所述待打包发布的代码的不同页面位置对应的数据采集代码;
嵌入模块342,用于将所述不同页面位置对应的数据采集代码,分别嵌入所述待打包发布的代码的对应位置。
需要说明的是,实际应用中获取模块341以及嵌入模块342的实现需要提前在配置文件中添加对应的执行嵌入数据采集代码的命令,执行嵌入数据采集代码的命令的条件为当前环境为目标环境。给出一种添加对应的执行嵌入数据采集代码的命令的实现方式:比如对于Node.Js打包工具,可以在npm script命令集合中添加嵌入数据采集代码的执行命令。
如图4所示,所述装置还包括:
第一打包发布单元37,用于将嵌入所述数据采集代码后的待打包发布的代码进行打包发布;
第二打包发布单元38,用于如果所述当前环境不是目标环境,则将所述待打包发布的代码直接进行打包发布。
本发明实施例提供的嵌入数据采集代码的装置,在进行嵌入数据采集代码之前,首先会判断***环境所对应的当前环境,当当前环境为目标环境时,再获取数据采集代码并将其嵌入到待打包发布的代码中。与现有的技术相比,本发明在嵌入数据采集代码时进行了环境的判断,克服了现有技术中存在的数据采集代码在任何环境下都运行而产生的数据污染的问题,并且在根据不同的环境确定是否嵌入数据采集代码时,不需要人工手动的修改,大大的提高了效率。
所述数据查询装置包括处理器和存储器,上述第一获取单元31、识别单元32、判断单元33以及嵌入单元34等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高用户需求分析结果的准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述嵌入数据采集代码的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述嵌入数据采集代码的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取待打包发布的代码;识别***环境所对应的当前环境;判断所述当前环境是否为目标环境;如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。
进一步的,***环境包括开发环境、测试环境以及线上环境,每种***环境分别与一个不同的环境变量值对应,所述识别***环境所对应的当前环境,包括:
识别所述当前环境对应的环境变量值;
根据所述环境变量值,确定所述当前环境;
所述目标环境为线上环境,所述判断所述当前环境是否为目标环境,包括:
识别所述线上环境对应的环境变量值;
判断所述当前环境对应的环境变量值是否与所述线上环境对应的环境变量值相同。
进一步的,所述数据采集代码为多种,所述待打包发布的代码的不同页面位置对应不同的数据采集代码,在获取所述数据采集代码之前,所述方法还包括:
获取所述数据采集代码的名称及所述数据采集代码对应的页面位置;
将所述数据采集代码的名称作为键,将所述数据采集代码对应的页面位置作为值,以键值对的方式存储在配置文件中。
进一步的,将所述数据采集代码嵌入所述待打包发布的代码中,包括:
获取配置文件,从所述配置文件中分别提取所述待打包发布的代码的不同页面位置对应的数据采集代码;
将所述不同页面位置对应的数据采集代码,分别嵌入所述待打包发布的代码的对应位置。
进一步的,所述方法还包括:
将嵌入所述数据采集代码后的待打包发布的代码进行打包发布;或
如果所述当前环境不是目标环境,则将所述待打包发布的代码直接进行打包发布。
本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取待打包发布的代码;识别***环境所对应的当前环境;判断所述当前环境是否为目标环境;如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。
进一步的,***环境包括开发环境、测试环境以及线上环境,每种***环境分别与一个不同的环境变量值对应,所述识别***环境所对应的当前环境,包括:
识别所述当前环境对应的环境变量值;
根据所述环境变量值,确定所述当前环境;
所述目标环境为线上环境,所述判断所述当前环境是否为目标环境,包括:
识别所述线上环境对应的环境变量值;
判断所述当前环境对应的环境变量值是否与所述线上环境对应的环境变量值相同。
进一步的,所述数据采集代码为多种,所述待打包发布的代码的不同页面位置对应不同的数据采集代码,在获取所述数据采集代码之前,所述方法还包括:
获取所述数据采集代码的名称及所述数据采集代码对应的页面位置;
将所述数据采集代码的名称作为键,将所述数据采集代码对应的页面位置作为值,以键值对的方式存储在配置文件中。
进一步的,将所述数据采集代码嵌入所述待打包发布的代码中,包括:
获取配置文件,从所述配置文件中分别提取所述待打包发布的代码的不同页面位置对应的数据采集代码;
将所述不同页面位置对应的数据采集代码,分别嵌入所述待打包发布的代码的对应位置。
进一步的,所述方法还包括:
将嵌入所述数据采集代码后的待打包发布的代码进行打包发布;或
如果所述当前环境不是目标环境,则将所述待打包发布的代码直接进行打包发布。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种嵌入数据采集代码的方法,其特征在于,所述方法包括:
获取待打包发布的代码;
识别***环境所对应的当前环境;
判断所述当前环境是否为目标环境;
如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。
2.根据权利要求1所述的方法,其特征在于,***环境包括开发环境、测试环境以及线上环境,每种***环境分别与一个不同的环境变量值对应,所述识别***环境所对应的当前环境,包括:
识别所述当前环境对应的环境变量值;
根据所述环境变量值,确定所述当前环境;
所述目标环境为线上环境,所述判断所述当前环境是否为目标环境,包括:
识别所述线上环境对应的环境变量值;
判断所述当前环境对应的环境变量值是否与所述线上环境对应的环境变量值相同。
3.根据权利要求1所述的方法,其特征在于,所述数据采集代码为多种,所述待打包发布的代码的不同页面位置对应不同的数据采集代码,在获取所述数据采集代码之前,所述方法还包括:
获取所述数据采集代码的名称及所述数据采集代码对应的页面位置;
将所述数据采集代码的名称作为键,将所述数据采集代码对应的页面位置作为值,以键值对的方式存储在配置文件中。
4.根据权利要求3所述的方法,其特征在于,将所述数据采集代码嵌入所述待打包发布的代码中,包括:
获取配置文件,从所述配置文件中分别提取所述待打包发布的代码的不同页面位置对应的数据采集代码;
将所述不同页面位置对应的数据采集代码,分别嵌入所述待打包发布的代码的对应位置。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
将嵌入所述数据采集代码后的待打包发布的代码进行打包发布;或
如果所述当前环境不是目标环境,则将所述待打包发布的代码直接进行打包发布。
6.一种嵌入数据采集代码的装置,其特征在于,所述装置包括:
第一获取单元,用于获取待打包发布的代码;
识别单元,用于识别***环境所对应的当前环境;
判断单元,用于判断所述当前环境是否为目标环境;
嵌入单元,用于如果是目标环境,则获取数据采集代码,并将所述数据采集代码嵌入所述待打包发布的代码中。
7.根据权利要求6所述的装置,其特征在于,***环境包括开发环境、测试环境以及线上环境,每种***环境分别与一个不同的环境变量值对应,所述识别单元,包括:
第一识别模块,用于识别所述当前环境对应的环境变量值;
确定模块,用于根据所述环境变量值,确定所述当前环境;
所述目标环境为线上环境,所述判断单元包括:
第二识别模块,用于识别所述线上环境对应的环境变量值;
判断模块,用于判断所述当前环境对应的环境变量值是否与所述线上环境对应的环境变量值相同。
8.根据权利要求6所述的装置,其特征在于,所述数据采集代码为多种,所述待打包发布的代码的不同页面位置对应不同的数据采集代码,所述装置还包括:
第二获取单元,用于在获取所述数据采集代码之前,获取所述数据采集代码的名称及所述数据采集代码对应的页面位置;
存储单元,用于将所述数据采集代码的名称作为键,将所述数据采集代码对应的页面位置作为值,以键值对的方式存储在配置文件中。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求5中任意一项所述的嵌入数据采集代码的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求5中任意一项所述的嵌入数据采集代码的方法。
CN201710884163.4A 2017-09-26 2017-09-26 嵌入数据采集代码的方法及装置 Pending CN109582353A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710884163.4A CN109582353A (zh) 2017-09-26 2017-09-26 嵌入数据采集代码的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710884163.4A CN109582353A (zh) 2017-09-26 2017-09-26 嵌入数据采集代码的方法及装置

Publications (1)

Publication Number Publication Date
CN109582353A true CN109582353A (zh) 2019-04-05

Family

ID=65912392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710884163.4A Pending CN109582353A (zh) 2017-09-26 2017-09-26 嵌入数据采集代码的方法及装置

Country Status (1)

Country Link
CN (1) CN109582353A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695064A (zh) * 2020-04-29 2020-09-22 北京城市网邻信息技术有限公司 一种埋点加载方法及装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101514624A (zh) * 2008-03-05 2009-08-26 中国科学院自动化研究所 嵌入式油井参数实时采集***
CN102214098A (zh) * 2011-06-15 2011-10-12 中山大学 一种基于WebKit浏览器引擎的动态页面数据采集方法
CN103885736A (zh) * 2012-12-20 2014-06-25 联想(北京)有限公司 一种输出方法和装置
US20150249718A1 (en) * 2014-02-28 2015-09-03 Chris Huybregts Performing actions associated with individual presence
WO2015171030A1 (en) * 2014-05-08 2015-11-12 Telefonaktiebolaget L M Ericsson (Publ) Web application managment
CN105373401A (zh) * 2015-10-27 2016-03-02 上海钢富电子商务有限公司 软件包自动发布方法和***
CN105740093A (zh) * 2014-11-10 2016-07-06 财团法人资讯工业策进会 备份方法、环境更新预先检测方法及其***
CN105893104A (zh) * 2016-03-28 2016-08-24 乐视控股(北京)有限公司 代码编译的方法和装置
CN105893260A (zh) * 2016-03-31 2016-08-24 上海携程商务有限公司 呼叫中心的自动化发布***和方法
CN106815052A (zh) * 2017-01-10 2017-06-09 南威软件股份有限公司 一种适配多环境配置的快速部署***的方法
CN106843822A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 一种执行代码生成方法及设备
CN106990960A (zh) * 2017-03-28 2017-07-28 阿里巴巴集团控股有限公司 代码部署方法及装置
CN107077361A (zh) * 2014-10-14 2017-08-18 微软技术许可有限责任公司 用于应用部署的配置转换

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101514624A (zh) * 2008-03-05 2009-08-26 中国科学院自动化研究所 嵌入式油井参数实时采集***
CN102214098A (zh) * 2011-06-15 2011-10-12 中山大学 一种基于WebKit浏览器引擎的动态页面数据采集方法
CN103885736A (zh) * 2012-12-20 2014-06-25 联想(北京)有限公司 一种输出方法和装置
US20150249718A1 (en) * 2014-02-28 2015-09-03 Chris Huybregts Performing actions associated with individual presence
WO2015171030A1 (en) * 2014-05-08 2015-11-12 Telefonaktiebolaget L M Ericsson (Publ) Web application managment
CN107077361A (zh) * 2014-10-14 2017-08-18 微软技术许可有限责任公司 用于应用部署的配置转换
CN105740093A (zh) * 2014-11-10 2016-07-06 财团法人资讯工业策进会 备份方法、环境更新预先检测方法及其***
CN105373401A (zh) * 2015-10-27 2016-03-02 上海钢富电子商务有限公司 软件包自动发布方法和***
CN106843822A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 一种执行代码生成方法及设备
CN105893104A (zh) * 2016-03-28 2016-08-24 乐视控股(北京)有限公司 代码编译的方法和装置
CN105893260A (zh) * 2016-03-31 2016-08-24 上海携程商务有限公司 呼叫中心的自动化发布***和方法
CN106815052A (zh) * 2017-01-10 2017-06-09 南威软件股份有限公司 一种适配多环境配置的快速部署***的方法
CN106990960A (zh) * 2017-03-28 2017-07-28 阿里巴巴集团控股有限公司 代码部署方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佚名: "原来实现项目多环境打包部署是如此的简单", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/332665》 *
叶文胜: "基于WAI的Web应用开发环境的配置", 《黄冈职业技术学院学报 应用技术研究》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695064A (zh) * 2020-04-29 2020-09-22 北京城市网邻信息技术有限公司 一种埋点加载方法及装置
CN111695064B (zh) * 2020-04-29 2023-08-18 北京城市网邻信息技术有限公司 一种埋点加载方法及装置

Similar Documents

Publication Publication Date Title
CN105446865B (zh) 多种环境下的测试方法及装置
JP6751551B2 (ja) 汎用プロセスシステムライブラリに基づきプロセス制御システムを構成する方法および装置
CN103942099B (zh) 基于Hive的并行执行任务方法及装置
CN109582403A (zh) 图表内组件间的联动显示方法及装置
KR20180100276A (ko) 머신 비전 시스템들을 위한 비주얼 프로그램을 제공하기 위한 장치들, 시스템들 및 방법들
US9053241B2 (en) Scripting application with role identification
Göbel et al. The Discrete Event Simulation Framework DESMO-J: Review, Comparison To Other Frameworks And Latest Development.
CN109948074A (zh) 网站数据对接方法、装置、存储介质、处理器及电子设备
CN108984652A (zh) 一种可配置数据清洗***和方法
US10387124B2 (en) System and method for creating domain specific language
CN109857964A (zh) 一种页面操作的热力图绘制方法、装置、存储介质及处理器
CN109582883A (zh) 栏目页的确定方法和装置
CN110908907A (zh) Web页面测试方法、装置、设备及存储介质
CN108874379B (zh) 页面的处理方法及装置
CN109582353A (zh) 嵌入数据采集代码的方法及装置
CN109960497A (zh) 一种脚本文件间的调用方法及装置
CN110457010A (zh) 基于协作平台批量更改任务单的方法及装置
CN109977317A (zh) 数据查询方法及装置
CN109582776A (zh) 模型的生成方法及装置、电子设备及存储介质
CN110020342A (zh) 数据的处理方法及装置
CN109446719A (zh) 一种构件式自定义产品结构树的实现方法
JP6717140B2 (ja) 解析プログラム、解析方法、及び解析装置
CN104239199A (zh) 虚拟机器人的生成方法、自动化测试方法及相关装置
CN109561126A (zh) 一种数据同步方法和装置、存储介质、处理器
CN110019508A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190405