CN112083945A - Npm安装包的更新提示方法、装置、电子设备及存储介质 - Google Patents

Npm安装包的更新提示方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112083945A
CN112083945A CN202010963242.6A CN202010963242A CN112083945A CN 112083945 A CN112083945 A CN 112083945A CN 202010963242 A CN202010963242 A CN 202010963242A CN 112083945 A CN112083945 A CN 112083945A
Authority
CN
China
Prior art keywords
npm
software package
user
communication information
information
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
CN202010963242.6A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010963242.6A priority Critical patent/CN112083945A/zh
Publication of CN112083945A publication Critical patent/CN112083945A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及软件技术领域,公开了一种NPM软件包的更新提示方法、装置、电子设备及存储介质,其中,该NPM软件包的更新提示方法包括:获取NPM软件包的使用者的通讯信息;其中,获取NPM软件包的使用者的通讯信息,包括:接收NPM软件包的使用端发送的通讯信息,通讯信息是使用端通过以下方式获取到的:获取NPM软件包对应的描述文件信息;根据描述文件信息,获取NPM软件包的使用者的通讯信息;当NPM软件包发生更新时,根据通讯信息将NPM软件包的更新信息发送给使用者。本申请通过NPM软件包的使用者的通讯信息的获取,以便及时将NPM软件包的更新信息告知使用者,能够更好的满足使用者的使用需求,有效提升使用者的使用感,并方便用户管理NPM软件包。

Description

NPM安装包的更新提示方法、装置、电子设备及存储介质
技术领域
本申请涉及软件技术领域,具体而言,本申请涉及一种NPM安装包的更新提示方法、装置、电子设备及存储介质。
背景技术
现有的节点包管理器NPM软件包的更新提示方法一般有如下2种:一种是在软件运行的时候,后台去检查最新的版本号,然后将版本号展示给用户,通过弹窗的形式提示用户对软件进行升级,提示界面可以如图1所示,该图显示NPM软件可以升级到0.1.6版本。但该种方式只能告知用户软件的最新版本号,无法列出详细的更新内容,其详细运作机制如图2所示:第一次运行的时候,除了获取软件的核心功能之外,同时异步获取软件的最新版本号信息,并将最新版本号信息存起来;下一次运行的时候将获取的最新版本号信息与本地安装版本进行对比,如果不一致,则提示更新。
另一种方法是在NPM软件包发布新版本之后,在官网上发布更新信息,用户可以在官网上查询软件更新的详细信息,但是,如果用户不主动去官网查询版本更新信息,则无法获知软件是否存在更新版本,该种方式导致用户无法及时获知NPM软件包的更新信息。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
本申请的一个方面,提供了一种节点包管理器NPM软件包的更新提示方法,包括:
获取NPM软件包的使用者的通讯信息;
当NPM软件包发生更新时,根据通讯信息将NPM软件包的更新信息发送给使用者,更新信息包括更新内容;
其中,获取NPM软件包的使用者的通讯信息,包括:
接收NPM软件包的使用端发送的通讯信息,通讯信息是使用端通过以下方式获取到的:
获取NPM软件包对应的描述文件信息;
根据描述文件信息,获取NPM软件包的使用者的通讯信息。
本申请的另一个方面,提供了一种节点包管理器NPM软件包的更新提示装置,该装置包括:
获取通讯信息模块,用于获取NPM软件包的使用者的通讯信息;
发送更新信息模块,用于当NPM软件包发生更新时,根据通讯信息将NPM软件包的更新信息发送给使用者,更新信息包括更新内容;
其中,获取通讯信息模块包括通讯信息接收单元,所述通讯信息接收单元用于:
接收NPM软件包的使用端发送的通讯信息,通讯信息为发送端通过以下方式获取到的:
获取NPM软件包对应的描述文件信息;根据描述文件信息,获取NPM软件包的使用者的通讯信息。
本申请的再一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请第一方面所示的节点包管理器NPM软件包的更新提示方法。
本申请的又一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本申请第一方面所示的节点包管理器NPM软件包的更新提示方法。
本申请提供的技术方案带来的有益效果是:
本申请提供的节点包管理器NPM软件包的更新提示方法,通过预先获取NPM软件包的使用者的通讯信息,能够主动且及时地将NPM软件包的更新信息传递给使用者,而且,本申请提供的更新信息中包括更新内容,与现有的只提供更新版本号的更新信息相比,本申请提供的更新信息更为详细,有利于NPM软件包的使用者通过更新信息获知NPM软件包的详细更新信息。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为现有技术中提示用户NPM软件包存在更新的提示界面示意图;
图2为现有技术中通过弹窗的形式提示用户软件包存在更新的运作机制的流程图;
图3为本申请一个实施例提供的节点包管理器NPM软件包的更新提示方法的流程图;
图4为本申请一个实施例提供的通过运行脚本获取使用者的通讯信息的过程示意图;
图5为本申请一个实施例提供的通过运行cli工具获得描述文件信息的方式获得使用者的通讯信息的流程图;
图6为本申请一个实施例提供的利用预先设置的钩子函数获取使用者的通讯信息的流程图;
图7为本申请实施例提供的一种节点包管理器NPM软件包的更新提示装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
NPM:Node package manager,节点包管理器,是javascript语言中的包管理工具。
钩子函数:在一个事件触发的时候,在***级捕获到该事件的触发,然后做一些操作,一般用以处理***消息的程序。
cli工具:command-line interface,命令行交互接口,为用户自定义的命令工具集合。
对于现有技术中所存在的技术问题,本申请提供的节点包管理器NPM软件包的更新提示方法、装置、电子设备及存储介质,旨在解决现有技术的如上技术问题中的至少一项。
下面以具体实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种可能的实现方式,如图3所示,提供了一种节点包管理器NPM软件包的更新提示方法的流程图,该方案可以由任一电子设备执行,可选的,可以在服务器端执行,包括以下步骤:
步骤S310,获取NPM软件包的使用者的通讯信息;
步骤S320,当NPM软件包发生更新时,根据通讯信息将NPM软件包的更新信息发送给使用者,更新信息包括更新内容。
本申请获取NPM软件包的使用者的通讯信息,以便直接通过使用者的通讯信息将NPM软件包的相关信息发送给使用者,以使得使用者能够高效获得NPM软件包的相关信息。
由于软件包的更新信息可以通过通讯信息,如邮箱、短信等发送给使用者,与现有通过更新提示弹窗的形式给出的更新信息相比,本申请提供的更新信息能够承载更多的信息量,软件包的更新信息可以包括更新内容,更新内容可以包括:更新版本号、更新版本的优势、解决的问题、更新版本的新增功能、新增模块等,解决了现有技术中无法获得软件包的详细更新信息的问题。而且,本申请将NPM软件包的更新信息发送给使用者是自动进行的,无需用户主动查询,有利于实现及时将NPM软件包的更新信息传递给使用者的目的。
可选地,根据通讯信息将NPM软件包的更新信息发送给使用者,可以定期进行,也可以在检测到NPM软件包发生更新时立即进行更新信息的发送,以便提高使用者获得更新信息的速率。
进一步地,更新信息还可以包括更新指引信息,根据该更新指引信息可以获得更新后的NPM软件包,该更新指引信息可以为更新后的NPM软件包的下载地址或下载路径等,便于使用者获得更新后的NPM软件包进行软件更新。
本申请通过预先获取NPM软件包的使用者的通讯信息,能够主动且及时地将NPM软件包的更新信息传递给使用者,而且,与现有的更新提示弹窗给出的更新信息相比,本申请提供的更新信息更为详细,有利于NPM软件包的使用者通过更新信息获知NPM软件包的详细更新信息。
其中,获取NPM软件包的使用者的通讯信息,可以通过如下方式进行:
接收NPM软件包的使用端发送的通讯信息,通讯信息是使用端通过以下方式获取到的:
获取NPM软件包对应的描述文件信息;
根据描述文件信息,获取NPM软件包的使用者的通讯信息。
其中,NPM软件包的描述文件信息,可以通过如下方式获得:在使用端为安装NPM软件包创建项目,初始化该项目,获得安装NPM软件包对应的描述文件,读取描述文件的内容获得描述文件信息,该描述文件信息中包含使用者的通讯信息,可以从描述文件信息中提取使用者的通讯信息。该种方案通过在NPM软件包的描述文件信息获取使用者的通讯信息,能够准确获得NPM软件包的使用者的通讯信息。
为了更清楚本申请提供的节点包管理器NPM软件包的更新提示方案及其技术效果,接下来以多个实施例对其具体实施方案进行详细阐述。
本申请还提供了一种可选实施例来获取描述文件信息,NPM软件包中包含用于获取描述文件信息的脚本,获取NPM软件包对应的描述文件信息可以通过运行用于获取描述文件信息的脚本获取,可选地,获取NPM软件包对应的描述文件信息,可以包括如下步骤:
在安装完成NPM软件包时,通过运行用于获取描述文件信息的脚本获取NPM软件包对应的描述文件信息。
在使用端运行用于获取描述文件信息的脚本,该步骤可以在NPM软件包安装之后进行,接下来以图4所示的示例说明通过运行脚本获得描述文件信息,进而获得使用者的通讯信息的方案。
可选地,通过运行脚本获取使用者的通讯信息的过程示意图如图4所示,预先为安装NPM包创建安装项目,并设置项目名为xxx,在程序的根目录下运行npm install xxx命令,生成用户安装NPM软件包对应的描述文件,该描述文件可以命名为package.json文件,在该描述文件中设置一个钩子函数,这个钩子函数表征在NPM软件包安装完成后运行postinstall.js脚本,该postinstall.js脚本为用于获取描述文件信息的脚本。然后获取并安装NPM软件包,该软件包的安装可以为获取到NPM软件包所有文件,即实现安装,软件安装完成后,根据钩子函数的设置运行postinstall.js脚本获取描述文件中的描述文件信息。然后,从描述文件信息中提取关键词,获取使用者的通讯信息,如:提取author关键词对应的字段,获得author字段对应的使用者的通讯信息,最后,将使用者的通讯信息发送到指定的用户信息收集***,如上传到服务器端。
可选地,在package.json描述文件中,可以通过以下关键词进行参数设置:’name’为NPM软件包的包名,’version’为版本号,’description’为包的描述,’postinstall’为钩子函数,钩子函数中的参数:’node src/postinstall.js’表征NPM软件包安装完毕之后运行scr目录下的postinstall.js脚本,’repository’为包代码存放的地方的类型,包代码存放的地方的类型可以为git类型,’author’字段对应的是软件包的使用者的信息,例如:使用者的信息可以为’Eli Grey<[email protected]>’,通过该信息可以获得该使用者的通讯信息为邮箱’[email protected]’。
本申请提供的通讯信息,是在NPM软件包安装之前获得NPM软件包对应的描述文件,然后,在NPM安装之后,通过获取描述文件信息的脚本获取描述文件信息,进而获得使用者的通讯信息,该方案不依赖外部工具,通过NPM的安装获得使用者的通讯信息,能够获得准确的NPM软件包的使用者的通讯信息。
在另一种可选实施例中,若NPM软件包附带有配套的命令行交互接口cli工具,获取NPM软件包对应的描述文件信息可以通过如下方式获得:通过运行NPM软件包附带的配套命令行交互接口cli工具,读取NPM软件包的描述文件信息。
若NPM软件包有附带的配套cli工具,获得NPM软件包对应的描述文件之后,通过NPM软件包附带的配套cli工具,读取NPM软件包的描述文件,获得描述文件信息。
其中,cli工具为用户自定义的linux命令集合,通过cli工具可以在安装NPM软件包之前,读取NPM软件包的描述文件,快速获得NPM的描述文件信息。
以专有云为例,本申请提供了一套开发工具集合,包括cli工具、组件库、函数库等,通过cli工具的npm run dev命令来启动项目,在启动的过程中可以读取NPM软件包的描述文件,获得描述文件信息。
通过运行cli工具获得描述文件信息的方式获得使用者的通讯信息的流程图,如图5所示,通过在客户端运行命令行交互接口cli工具获得描述文件信息,根据描述文件信息获得用户信息,用户信息包括使用者的通讯信息,将使用者的通讯信息上传至用户信息收集***。
该方案不依赖于NPM软件包的安装,只需要获得NPM软件包的描述文件,即可通过cli工具获得NPM软件包的描述文件信息,以快速获得NPM软件包的使用者的通讯信息。
上述实施例提供的获取通讯信息的方式均是通过NPM的描述文件信息获得NPM软件包的使用者的通讯信息,描述文件信息可以通过如下至少一种方式获得:用于获取描述文件信息的脚本、命令行交互接口CLI工具等。但是,当NPM软件包对应的描述文件信息中没有使用者的通讯信息,或者未接收到客户端上传的文件描述信息时,则无法通过描述文件信息获得使用者的通讯信息,为了解决该问题,本申请一种可选实施例提供了以下方案:
向NPM软件包的使用端发送通讯信息获取请求;
接收使用端基于该通讯信息获取请求发送的使用者的通讯信息。
该方案可以在描述文件信息中检测不到使用者的通讯信息后进行,也就是说,描述文件信息中的用户信息可以只有名字或代号,而非可以进行通讯交互的通讯信息,假设author字段对应的信息为’gery’,则无法通过描述文件信息确定使用者的通讯信息。可选地,可以根据软件包代码存放的地方的类型确定对应的通讯信息获取命令,如:软件包代码存放的地方的类型为git类型时,可以通过运行git confug user.email命令获取使用者的通讯信息。
除此之外,若NPM软件包对应的描述文件信息中没有使用者的通讯信息,而且,未接收到客户端上传的文件描述信息,还可以向客户端发送通讯信息的获取命令等方式获取。
本申请提供的方案,可以在描述文件未提供使用者的通讯信息的情况下进行,也可以直接进行,也就是说,不论描述文件中是否存在使用者的通讯信息,都可以直接通过这种方式进行通讯信息的获取,通过通讯信息获取命令获取到NPM软件包的使用者的通讯信息,以提高获得使用者的通讯信息的概率。
上述实施例提供的方案,基于NPM软件包对应的描述文件信息进行,除此之外,本申请可选实施例还提供了另一种方案来获取NPM软件包的使用者的通讯信息,该种方式不依赖于NPM软件包对应的描述文件信息,包括如下步骤:
A1,接收NPM软件包的下载服务器发送的使用者的通讯信息,其中,使用者的通讯信息是下载服务器通过以下方式获得的:
A11,接收NPM软件包的使用端发送的软件包获取请求;
A12,基于该获取请求获取下载服务器的登录信息;
A13,根据该登录信息确定使用端对应的通讯信息。
其中,下载服务器可以为提供软件下载的服务器,该服务器可以为局部服务器,如企业内部的软件下载平台,基于获取请求获取下载服务器的登录信息,该登录信息中包括使用者的标识信息,以基于该标识信息确定用户的通讯信息。基于获取请求获取下载服务器的登录信息,可以通过如下方式得到:基于获取请求向使用端发送登录指令,使用端响应于该登录指令发送登录信息;如果使用端已经登录下载服务器,即下载服务器已预先得到使用端的登录信息,下载服务器接收到软件包获取请求之后,可以直接读取使用者的登录信息。除此之外,可以在发送软件包获取请求的同时发送下载服务器的登录信息,如:使用端向下载服务器发送软件包获取请求,下载服务器解析该软件包获取请求,获取该获取请求中的登录信息,下载服务器获得该登录信息之后,可以利用该登录信息,尤其是登录信息中的软件请求方的标识信息获得软件请求方的通讯信息,如:根据请求方的标识信息以及预先构建的标识信息与通讯信息之间的关联确定软件请求方的通讯信息。
本申请实施例提供的方案中,可以通过预先构建的用于获取使用者的通讯信息的钩子函数触发对软件请求方的通讯信息的获取,该钩子函数可以由下载服务器提供,利用钩子函数触发对使用者的通讯信息的获取,该触发时机是下载服务器接收到软件请求方发送的NPM软件包的获取请求,将获取到的使用者的通讯信息的进行发送。
本申请实施例提供的获取使用者的通讯信息的流程图如图6所示,该示例中,下载服务器为包含多个软件包的软件包仓库,用户发送软件包的获取请求,下载服务器获得该获取请求,解析该获取请求,获得使用者的通讯信息,并且,下载服务器响应于该获取请求,发送NPM软件包至使用端(对应于图6中的下载软件包过程),然后下载服务器将使用者的通讯信息发送至信息收集***,也就是上传给服务器,服务器获得使用者的通讯信息。
本申请实施例提供的方案,是在NPM软件包的请求获取阶段,也即是说,尚未进入NPM软件包的安装阶段即能获得使用端对应的通讯信息,能够进一步提高获得使用者的通讯信息的速率。
在此基础上,还可以通过筛选条件将获取软件包的用户中安装有NPM软件包的用户筛选出来,以避免将更新信息发送给未安装软件包的用户。
可选地,上述任一实施例提供的方案中,通讯信息包括邮箱地址、电话号码等,通过邮箱地址可以通过邮件的形式将NPM软件包的更新信息发送给使用者,通过电话号码可以通过短信的形式将NPM软件包的更新信息发送给使用者,两种方式都能便捷地将详细的更新信息及时告知使用者。
可选地,由于cli工具获取描述文件信息并不依赖于NPM软件包的安装,但是,如果用户并未安装NPM软件包,那么,将NPM软件包的更新信息发送给该用户,不仅会造成用户困扰,也会增加本方案的数据传输量,为了避免该种情况发生,本申请提供了如下方案:
根据通讯信息将NPM软件包的更新信息发送给使用者,可以通过如下方式进行:
B1,通过运行cli工具,通过读取描述文件信息获得用户的通讯信息,并确定该用户中已安装NPM软件包的使用者;
B2,将NPM软件包的更新信息发送给该使用者。
通过运行cli工具读取描述文件信息获得用户的通讯信息,这些用户是对应终端有NPM软件包对应的描述文件的所有用户,由于终端生成有NPM软件包的描述文件,但存在并未安装NPM软件包的情况,因此,需要从获得的所有通讯信息对应的用户中筛选出已经安装有NPM软件包的用户作为本申请中的NPM软件包的使用者。
可选地,通过运行cli工具判断获得的通讯信息对应的用户中已经安装有NPM软件包的用户,将已经安装有NPM软件包的用户对应的通讯信息作为使用者的通讯信息,然后根据使用者的通讯信息将NPM软件包的更新信息发送给使用者。
本申请实施例提供的方案,利用cli工具筛选出已经安装有NPM软件包的用户对应的通讯信息,并将该部分用户的通讯信息作为使用者的通讯信息,能够实现精准地进行更新信息的投递,减少***传输更新信息的数据量。
上述实施例提供的节点包管理器NPM软件包更新提示方法,通过在NPM软件包安装之后、安装之前或NPM软件包的获取过程中获取使用者的通讯信息,丰富了获得使用者的通讯信息的途径,获得使用者的通讯信息之后,还可以定期或随时向使用者发送定向邮件,以提示用户NPM软件包版本存在更新,且告知用户详细的更新信息。
除此之外,本申请还提供了另一种实施方式,获得NPM软件包的使用者的通讯信息,可以包括如下步骤:
C1,向使用端发送通讯信息获取请求;
C2,接收该使用端基于获取请求发送的使用者的通讯信息。
该种方案中,服务器直接向已经安装有NPM软件包的使用者终端发送获取请求,该获取请求在用户端界面上可以展示为提示窗口,以提示使用者主动上报通讯信息,能够直接而快速地获得使用者的通讯信息。
基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种节点包管理器NPM软件包的更新提示装置800,如图7所示,该装置可以包括:获取通讯信息模块810、发送更新信息模块820,其中:
获取通讯信息模块810,用于获取NPM软件包的使用者的通讯信息;
发送更新信息模块820,用于当NPM软件包发生更新时,根据通讯信息将NPM软件包的更新信息发送给使用者,更新信息包括更新内容;
其中,获取通讯信息模块包括通讯信息接收单元,通讯信息接收单元用于:
接收NPM软件包的使用端发送的通讯信息,通讯信息为发送端通过以下方式获取到的:
获取NPM软件包对应的描述文件信息;根据描述文件信息,获取NPM软件包的使用者的通讯信息。
本申请提供的节点包管理器NPM软件包的更新提示装置,通过预先获取NPM软件包的使用者的通讯信息,能够主动且及时地将NPM软件包的更新信息传递给使用者,而且,本申请提供的更新信息中包括更新内容,与现有的只提供更新版本号的更新信息相比,本申请提供的更新信息更为详细,有利于NPM软件包的使用者通过更新信息获知NPM软件包的详细更新信息。
可选地,NPM软件包中包含用于获取描述文件信息的脚本,该脚本在NPM软件包安装完成时运行,通讯信息接收单元,还用于:
在安装完成NPM软件包时,通过运行用于获取脚本获取描述文件信息。
可选地,NPM软件包附带有配套的命令行交互接口cli工具,通讯信息接收单元,还用于:
通过运行NPM软件包附带的配套命令行交互接口cli工具,读取所述NPM软件包的描述文件信息。
可选地,获取通讯信息模块810,还用于:
向NPM软件包的使用端发送通讯信息获取命令;
接收使用端基于该获取命令返回的使用者的通讯信息。
可选地,通讯信息接收单元,还用于:
接收NPM软件包的下载服务器发送的使用者的通讯信息,其中,使用者的通讯信息是下载服务器通过以下方式获取到的:
接收NPM软件包的使用端发送的软件包获取请求;
基于获取请求获取下载服务器的登录信息;
根据登录信息确定使用端对应的通讯信息。
可选地,更新提示装置800中的通讯信息包括邮箱地址。
可选地,发送更新信息模块820,具体用于:
通过运行所述cli工具,读取描述文件信息获得用户的通讯信息,并确定所述用户中已安装NPM软件包的使用者;
将所述NPM软件包的更新信息发送给所述使用者。
可选地,获取通讯信息模块810,还用于:
向使用端发送通讯信息获取请求;
接收使用端基于该获取请求发送的使用者的通讯信息。
本申请实施例的节点包管理器NPM软件包的更新提示装置可执行本申请实施例所提供的节点包管理器NPM软件包的更新提示方法,其实现原理相类似,本申请各实施例中的节点包管理器NPM软件包的更新提示装置中的各模块、单元所执行的动作是与本申请各实施例中的节点包管理器NPM软件包的更新提示方法中的步骤相对应的,对于节点包管理器NPM软件包的更新提示装置的各模块的详细功能描述具体可以参见前文中所示的对应的节点包管理器NPM软件包的更新提示方法中的描述,此处不再赘述。
基于与本申请的实施例中所示的方法相同的原理,本申请的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本申请任一可选实施例所示的节点包管理器NPM软件包的更新提示方法。与现有技术相比,本申请通过预先获取NPM软件包的使用者的通讯信息,能够主动且及时地将NPM软件包的更新信息传递给使用者,而且,与现有的更新提示弹窗给出的更新信息相比,本申请提供的更新信息更为详细,有利于NPM软件包的使用者通过更新信息获知NPM软件包的详细更新信息。
在一个可选实施例中提供了一种电子设备,如图8所示,图8所示的电子设备4000可以为服务器,包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请提供的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。本申请中,可以利用平台提供的AI框架和AI基础设施来实现本申请提供的节点包管理器NPM软件包的更新提示。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的节点包管理器NPM软件包的更新提示方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取通讯信息模块还可以被描述为“获取NPM软件包的使用者的通讯信息模块”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种节点包管理器NPM软件包的更新提示方法,其特征在于,包括:
获取NPM软件包的使用者的通讯信息;
当所述NPM软件包发生更新时,根据所述通讯信息将所述NPM软件包的更新信息发送给使用者,所述更新信息包括更新内容;
其中,所述获取NPM软件包的使用者的通讯信息,包括:
接收所述NPM软件包的使用端发送的所述通讯信息,所述通讯信息是所述使用端通过以下方式获取到的:
获取所述NPM软件包对应的描述文件信息;
根据所述描述文件信息,获取NPM软件包的使用者的通讯信息。
2.根据权利要求1所述的方法,其特征在于,所述NPM软件包中包含用于获取所述描述文件信息的脚本,其中,所述脚本在所述NPM软件包安装完成时运行,所述获取所述NPM软件包对应的描述文件信息,包括:
在安装完成所述NPM软件包时,通过运行所述脚本获取所述描述文件信息。
3.根据权利要求1所述的方法,其特征在于,所述NPM软件包附带有配套的命令行交互接口cli工具,所述获取所述NPM软件包对应的描述文件信息,包括:
通过运行NPM软件包附带的配套命令行交互接口cli工具,读取所述NPM软件包的描述文件信息。
4.根据权利要求2至3中任一项所述的方法,其特征在于,所述获取NPM软件包的使用者的通讯信息,还包括:
向NPM软件包的使用端发送通讯信息获取命令;
接收所述使用端基于所述通讯信息获取命令返回的所述使用者的通讯信息。
5.根据权利要求1所述的方法,其特征在于,若所述NPM软件包为下载服务器上存储的软件包,所述获取NPM软件包的使用者的通讯信息,还包括:
接收所述NPM软件包的下载服务器发送的所述使用者的通讯信息,其中,所述使用者的通讯信息是所述下载服务器通过以下方式获取到的:
接收所述NPM软件包的使用端发送的软件包获取请求;
基于所述获取请求获取所述下载服务器的登录信息;
根据所述登录信息确定所述使用端对应的所述通讯信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述通讯信息包括邮箱地址。
7.根据权利要求3所述的方法,其特征在于,所述根据所述通讯信息将所述NPM软件包的更新信息发送给使用者,包括:
通过运行所述cli工具,读取所述描述文件信息获得用户的通讯信息,并确定所述用户中已安装所述NPM软件包的使用者;
将所述NPM软件包的更新信息发送给所述使用者。
8.根据权利要求1所述的方法,其特征在于,所述获取NPM软件包的使用者的通讯信息,包括:
向所述使用端发送通讯信息获取请求;
接收所述使用端基于所述获取请求发送的所述使用者的通讯信息。
9.一种节点包管理器NPM软件包的更新提示装置,其特征在于,包括:
获取通讯信息模块,用于获取NPM软件包的使用者的通讯信息;
发送更新信息模块,用于当所述NPM软件包发生更新时,根据所述通讯信息将所述NPM软件包的更新信息发送给使用者,更新信息包括更新内容;
其中,获取通讯信息模块包括通讯信息接收单元,所述通讯信息接收单元用于:
接收所述NPM软件包的使用端发送的所述通讯信息,所述通讯信息为所述发送端通过以下方式获取到的:
获取所述NPM软件包对应的描述文件信息;根据所述描述文件信息,获取NPM软件包的使用者的通讯信息。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8任一项所述的节点包管理器NPM安装包的更新提示方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-8任一项所述的节点包管理器NPM安装包的更新提示方法。
CN202010963242.6A 2020-09-14 2020-09-14 Npm安装包的更新提示方法、装置、电子设备及存储介质 Pending CN112083945A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010963242.6A CN112083945A (zh) 2020-09-14 2020-09-14 Npm安装包的更新提示方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010963242.6A CN112083945A (zh) 2020-09-14 2020-09-14 Npm安装包的更新提示方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112083945A true CN112083945A (zh) 2020-12-15

Family

ID=73736725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010963242.6A Pending CN112083945A (zh) 2020-09-14 2020-09-14 Npm安装包的更新提示方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112083945A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667280A (zh) * 2020-12-30 2021-04-16 中车大连机车研究所有限公司 一种基于Git技术的机车车载应用软件集中控制***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102348195A (zh) * 2011-10-13 2012-02-08 中兴通讯股份有限公司 一种无线通信终端及其软件升级方法
CN104065695A (zh) * 2013-07-05 2014-09-24 腾讯科技(深圳)有限公司 一种软件更新的方法、服务器、用户端及***
CN105302615A (zh) * 2015-11-24 2016-02-03 小米科技有限责任公司 软件升级方法与装置
CN105978921A (zh) * 2016-07-29 2016-09-28 重庆长安汽车股份有限公司 一种车载通信终端远程升级方法
CN109962895A (zh) * 2017-12-26 2019-07-02 比亚迪股份有限公司 一种更新汽车仪表界面的方法与***、服务器及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102348195A (zh) * 2011-10-13 2012-02-08 中兴通讯股份有限公司 一种无线通信终端及其软件升级方法
CN104065695A (zh) * 2013-07-05 2014-09-24 腾讯科技(深圳)有限公司 一种软件更新的方法、服务器、用户端及***
CN105302615A (zh) * 2015-11-24 2016-02-03 小米科技有限责任公司 软件升级方法与装置
CN105978921A (zh) * 2016-07-29 2016-09-28 重庆长安汽车股份有限公司 一种车载通信终端远程升级方法
CN109962895A (zh) * 2017-12-26 2019-07-02 比亚迪股份有限公司 一种更新汽车仪表界面的方法与***、服务器及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667280A (zh) * 2020-12-30 2021-04-16 中车大连机车研究所有限公司 一种基于Git技术的机车车载应用软件集中控制***
CN112667280B (zh) * 2020-12-30 2024-06-04 中车大连机车研究所有限公司 一种基于Git技术的机车车载应用软件集中控制***

Similar Documents

Publication Publication Date Title
CN111090423B (zh) 一种webhook框架***和实现主动调用、实现事件触发的方法
CN111427701A (zh) 一种工作流引擎***和业务处理方法
CN107205031B (zh) 信息提醒方法、装置和终端设备
CN106897202B (zh) 用于输出数据的方法和装置
CN109032693B (zh) 一种加载展示信息方法、装置、电子设备及可读存储介质
CN109683992B (zh) 用于管理对象的方法和装置
CN109391658B (zh) 一种账号数据同步方法及其设备、存储介质、终端
CN112083945A (zh) Npm安装包的更新提示方法、装置、电子设备及存储介质
WO2015003570A1 (en) Data downloading method,device and system thereof
CN112217880A (zh) 应用程序激活的归因方法、装置、介质和电子设备
CN111580883A (zh) 应用程序启动方法、装置、计算机***和介质
CN106933449B (zh) 图标处理方法和装置
CN111124627A (zh) 应用程序的调起者确定方法、装置、终端及存储介质
CN110619101A (zh) 用于处理信息的方法和装置
CN113079085B (zh) 商服交互方法、装置、设备及存储介质
CN111460020B (zh) 用于解析消息的方法、装置、电子设备和介质
CN111124523A (zh) 用于初始化应用的方法和装置
CN114928603A (zh) 客户端软件的升级方法、装置、电子设备和介质
CN113986258A (zh) 业务发布方法、装置、设备及存储介质
CN112783903B (zh) 生成更新日志的方法和装置
CN109669720B (zh) 基于Promise的链式异步请求处理方法、装置及电子设备
US10755321B1 (en) Techniques for dynamic utilization of advertising capabilities by applications on user devices
CN111949472A (zh) 一种记录应用日志的方法及装置
CN114253520B (zh) 接口代码生成方法和装置
US20240152504A1 (en) Data interaction method, apparatus, and electronic device

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