CN112764947B - 消息数据拉取方法、装置、设备和存储介质 - Google Patents
消息数据拉取方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112764947B CN112764947B CN202110056216.XA CN202110056216A CN112764947B CN 112764947 B CN112764947 B CN 112764947B CN 202110056216 A CN202110056216 A CN 202110056216A CN 112764947 B CN112764947 B CN 112764947B
- Authority
- CN
- China
- Prior art keywords
- data
- timestamp
- message
- message data
- time stamp
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012216 screening Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种消息数据拉取方法、装置、设备和存储介质,该方法包括:接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据;根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据;发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端,用于所述客户端对所述第一消息数据和所述第二消息数据进行展示,并根据所述时间戳更新数据对存储的时间戳数据进行更新。本方案,优化了消息数据的拉取机制,增加消息数据的曝光率,拉取数据的灵活性得到显著提升。
Description
技术领域
本申请实施例涉及计算机领域,尤其涉及一种消息数据拉取方法、装置、设备和存储介质。
背景技术
通过消息数据的传输,可以向用户提供频繁更新的内容,如feed流数据就是一种典型的消息数据。通过feed流机制可以实现多个客户端之间进行消息数据的传输,如服务器端维护一消息数据的队列,该队列中存入多个不同的数据源上传的消息数据,当其中一个客户端需要进行数据浏览时,通过向服务器发起消息数据的拉取指令以得到相应的消息数据的反馈。
现有技术中,针对类似于社区帖子的消息数据的处理机制一般是按照时间线方式进行数据拉取,客户端可以按时间线的方向拉取到最新的消息数据,通过多次拉取操作可以一直获取到最旧的消息数据,即只能依据时间线方向单向拉取。该种方式的缺陷在于,拉取方式单一,灵活性差,时间越久的消息数据其曝光率显著降低,容易被客户端忽略。
发明内容
本发明实施例提供了一种消息数据拉取方法、装置、设备和存储介质,优化了消息数据的拉取机制,增加消息数据的曝光率,拉取数据的灵活性得到显著提升。
第一方面,本发明实施例提供了一种消息数据拉取方法,该方法包括:
接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据;
根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据;
发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端,用于所述客户端对所述第一消息数据和所述第二消息数据进行展示,并根据所述时间戳更新数据对存储的时间戳数据进行更新。
第二方面,本发明实施例还提供了一种消息数据拉取方法,该方法包括:
初始化时间戳数据,设置所述时间戳数据为预设值;
发送数据拉取指令至服务器,用于获取第一消息数据以及第二消息数据,所述数据拉取指令包括所述时间戳数据;
接收所述服务器发送的第一消息数据、第二消息数据以及时间戳更新数据,对所述第一消息数据和所述第二消息数据进行展示;
依据所述时间戳更新数据对所述时间戳数据进行更新。
第三方面,本发明实施例还提供了一种消息数据拉取装置,该装置包括:
指令接收模块,用于接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据;
数据处理模块,用于根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据;
数据发送模块,用于发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端,用于所述客户端对所述第一消息数据和所述第二消息数据进行展示,并根据所述时间戳更新数据对存储的时间戳数据进行更新。
第四方面,本发明实施例还提供了一种消息数据拉取装置,该装置包括:
时间戳初始化模块,用于初始化时间戳数据,设置所述时间戳数据为预设值;
指令发送模块,用于发送数据拉取指令至服务器,用于获取第一消息数据以及第二消息数据,所述数据拉取指令包括所述时间戳数据;
数据接收模块,用于接收所述服务器发送的第一消息数据、第二消息数据以及时间戳更新数据;
数据展示模块,用于对所述第一消息数据和所述第二消息数据进行展示;
时间戳更新模块,用于依据所述时间戳更新数据对所述时间戳数据进行更新。
第五方面,本发明实施例还提供了一种消息数据拉取设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的消息数据拉取方法。
第六方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的消息数据拉取方法。
本发明实施例中,通过接收客户端发送的数据拉取指令,数据拉取指令包括时间戳数据,根据时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对时间戳数据进行更新得到时间戳更新数据,同时发送第一消息数据、第二消息数据以及时间戳更新数据至客户端,用于客户端对第一消息数据和第二消息数据进行展示,并根据时间戳更新数据对存储的时间戳数据进行更新,该方案优化了消息数据的拉取机制,增加消息数据的曝光率,拉取数据的灵活性得到显著提升。
附图说明
图1为本发明实施例提供的一种消息数据拉取方法的流程图;
图2为本发明实施例提供的一种生成第一消息队列和第二消息队列的流程图;
图3为本发明实施例提供的客户端首次进行消息数据拉取的示意图;
图4为本发明实施例提供的另一种消息数据拉取方法的流程图;
图4a为本发明实施例提供的另一种客户端进行数据拉取的示意图;
图5为本发明实施例提供的另一种消息数据拉取方法的流程图;
图6为本发明实施例提供的另一种消息数据拉取方法的流程图;
图7为本发明实施例提供的另一种消息数据拉取方法的流程图;
图8为本发明实施例提供的一种消息数据拉取装置的结构框图;
图9为本发明实施例提供的另一种消息数据拉取装置的结构框图;
图10为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
图1为本发明实施例提供的一种消息数据拉取方法的流程图,本实施例可适用于客户端从服务器进行数据拉取,该方法可由服务器执行,具体包括如下步骤:
步骤S101、接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据。
客户端可通过发送数据拉取指令以获取服务器维护的消息数据。服务器接收各个设备上传的消息数据,并存储至服务器中,当接收到客户端的数据拉取指令后以反馈存储的消息数据,用于客户端接收后进行显示。
在一个实施例中,客户端内部维护有一时间戳数据,其每次发送的数据拉取指令中包含该时间戳数据,该时间戳数据包括具体的不重复时间戳标识,即用于表征拉取到的消息数据的锚点。消息数据的锚点示例性的为一64位无符号型数据,在服务器存储的消息数据中,针对每个消息数据在数据库存储一唯一对应的锚点,可用于查询等数据库操作处理。
步骤S102、根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据。
在一个实施例中,当客户端首次进行消息数据获取,发送数据拉取指令时,对应将时间戳数据设置为预设值,示例性的该预设值为0。服务器接收到时间戳数据后,如果确定出该时间戳数据为预设值,则从第一消息队列中直接提取第一预设个数的第一消息数据,从第二消息队列里,提取第二预设个数的第二消息数据,将该第一消息数据和第二消息数据发送至客户端进行显示,同时发送时间戳更新数据至客户端用于更新替换其原有的设置为预设值的时间戳数据,后续客户端再次发送拉取指令时,包含该更新的时间戳数据,服务器端接收到该更新的时间戳数据后,其不为预设值,则相应的根据具体的更新的时间戳数据进行消息数据的获取以反馈至客户端。
其中,第一预设个数和第二预设个数的具体数量不设限定,可根据实际用户需求和服务器状态等进行设置,该第一预设个数和该第二预设个数的具体数值可以相同,也可以不同。
其中,该第一消息队列和第二消息队列分别存储有消息数据。在一个实施例中,其生成过程如图2所示,图2为本发明实施例提供的一种生成第一消息队列和第二消息队列的流程图,包括:
步骤S201、将接收到的原始消息数据依据各自的时间戳锚点顺序存储至第一消息队列中。
步骤S202、对所述原始消息数据进行筛选得到选定消息数据,将所述选定消息数据依据各自的时间戳锚点顺序存储至第二消息队列中。
其中,第一消息队列依据获取到的消息数据的时间戳顺序的存储每个消息数据,在存储消息数据时,以Redis数据库为例,soreted set score值为消息数据的锚点,value值为消息数据的具体信息内容。第二消息队列存储的为筛选出的消息数据,示例性的,可以根据消息数据的热度,将热度高的消息数据单独筛选出存储至第二消息队列。示例性的,热度的确定可以是消息数据的转发次数、评论次数等,该第二消息队列可以在第一消息队列生成后,对第一消息队列中的消息数据的热度进行统计后生成。
在一个实施例中,时间戳数据包括用于实现获取第一消息数据的开始时间戳锚点、结束时间戳锚点,还包括用于实现获取第二消息数据的选定时间戳锚点,相应的,在拉取到预设个数的第一消息数据和第二消息数据后,服务器会根据具体反馈的消息数据重新生成开始时间戳锚点、结束时间戳锚点以及选定时间戳锚点,用于更新客户端存储的时间戳数据。
其中,当前时间戳数据为当前消息队列中最新存储的消息数据对应的时间戳锚点。服务器在获取到数据拉取指令中的时间戳数据后,根据该时间戳数据以及当前时间戳数据来动态、灵活的确定反馈的消息数据。
步骤S103、发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端。
当服务器确定出第一消息数据和第二消息数据后,发送该第一消息数据和第二消息数据至客户端用于客户端进行第一消息数据和第二消息数据的展示。同时,将更新的时间戳数据发送至客户端,用于客户端根据该时间戳更新数据对存储的时间戳数据进行更新。
由上述方案可知,在进行数据拉取过程中,服务器根据当前时间戳数据以及客户端发送的时间戳数据反馈设定个数的消息数据,并非单纯的根据时间线的方式进行拉取,提高了数据拉取灵活性,同时采用双队列的方式进行消息数据的拉取,使得客户端拉取到的消息数据更加多元化。
在上述技术方案的基础上,在确定出第一消息数据和第二消息数据后,可以将第一消息数据和第二消息数据进行融合,将融合后的消息数据发送至客户端。可选的,第一消息数据和第二消息数据在客户端可以以不同的展示元素进行显示,如不同的显示颜色、字体等。
图3为本发明实施例提供的客户端首次进行消息数据拉取的示意图。如图3所示,包含两个消息队列,分别为第一消息队列和第二消息队列。在该实施例中,客户端发送的时间戳数据包括开始时间戳锚点、结束时间戳锚点以及选定时间戳锚点,其中,开始时间戳锚点和结束时间戳锚点用于完成对第一消息队列中的消息数据的拉取,选定时间戳锚点用于对第二消息队列中的消息数据的拉取。客户端首次拉取时开始时间戳锚点、结束时间戳锚点以及选定时间戳锚点的值均设为预设值(如0)。针对第一消息队列,服务器从表头开始分别向下获取第一预设个数的第一消息数据,针对第二消息队列,服务器从表头开始向下获取第二预设个数的第二消息数据,将第一消息数据和第二消息数据作为当前客户端拉取到的消息数据进行反馈。同时,生成时间戳更新数据用以客户端进行时间戳数据的更新。具体的,针对第一消息队列,将结束时间戳锚点设置为读取到的最后一条消息数据的时间戳锚点,将开始时间戳锚点设置为当前最新的消息数据对应的时间戳锚点。针对第二消息队列,将选定时间戳锚点设置为读取到的最后一条消息数据的时间戳锚点。将设置完毕的开始时间戳锚点、结束时间戳锚点以及选定时间戳锚点作为时间戳更新数据发送至客户端。
图4为本发明实施例提供的另一种消息数据拉取方法的流程图,给出了一种针对第一消息队列进行数据拉取的过程。如图4所示,技术方案具体如下:
步骤S401、接收客户端发送的数据拉取指令,所述数据拉取指令包括开始时间戳锚点。
步骤S402、确定在所述开始时间戳锚点以及当前时间戳锚点之间是否存在第一预设个数的第一消息数据,如果存在,则获取该第一预设个数的第一消息数据,将所述开始时间戳锚点更新为所述第一消息队列中拉取到的最新的消息数据的时间戳锚点。
其中,在客户端完成首次数据拉取后,针对第一消息队列和第二消息队列服务器会继续进行消息数据的存储。在后续客户端进行数据拉取时,其在首次更新记录的开始时间戳锚点对应的第一消息队列中的消息数据不再位于表头,表头对应的消息数据为当前时间锚点所对应的消息数据。当客户端再次进行数据拉取时,如图4a所示,图4a为本发明实施例提供的另一种客户端进行数据拉取的示意图,确定在开始时间戳锚点以及当前时间戳锚点之间是否存在第一预设个数的第一消息数据,如果存在,则获取该第一预设个数的第一消息数据作为反馈数据,同时,将开始时间戳锚点更新为第一消息队列中拉取到的最新的消息数据的时间戳锚点。
图5为本发明实施例提供的另一种消息数据拉取方法的流程图,给出了一种针对第一消息队列进行数据拉取的过程。如图5所示,技术方案具体如下:
步骤S501、接收客户端发送的数据拉取指令,所述数据拉取指令包括开始时间戳锚点和结束时间戳锚点。
步骤S502、确定在所述开始时间戳锚点以及当前时间戳锚点之间是否存在第一预设个数的第一消息数据,如果不存在,则在所述结束时间戳锚点与所述队列结束锚点之间选取消息数据共同组成所述第一预设个数的第一消息数据。
在一个实施例中,针对新增内容小于第一预设个数时,在结束时间戳锚点与队列结束锚点之间选取消息数据共同组成第一预设个数的第一消息数据,以反馈固定个数的消息数据。
图6为本发明实施例提供的另一种消息数据拉取方法的流程图,给出了一种针对第二消息队列进行数据拉取的过程。如图6所示,技术方案具体如下:
步骤S601、接收客户端发送的数据拉取指令,所述数据拉取指令包括选定时间戳锚点。
步骤S602、根据当前时间戳锚点获取第二预设个数的第二消息数据,将所述选定时间戳锚点更新为确定出的所述第二消息数据中最后一个消息数据对应的时间戳锚点。
在一个实施例中,针对第二消息队列中消息数据的获取,根据当前时间戳锚点直接获取第二预设个数的第二消息数据,同时将选定时间戳锚点更新为确定出的第二消息数据中最后一个消息数据对应的时间戳锚点。
相应的,如果依据当前时间戳锚点确定出少于第二预设个数的第二消息数据,则在选定时间戳锚点与队列结束锚点之间选取消息数据共同组成所述第二预设个数的第二消息数据。由此以实现灵活的数据拉取机制。
图7为本发明实施例提供的另一种消息数据拉取方法的流程图,该方法可有客户端执行。如图7所示,技术方案具体如下:
步骤S701、初始化时间戳数据,设置所述时间戳数据为预设值。
步骤S702、发送数据拉取指令至服务器,用于获取第一消息数据以及第二消息数据,所述数据拉取指令包括所述时间戳数据。
步骤S703、接收所述服务器发送的第一消息数据、第二消息数据以及时间戳更新数据,对所述第一消息数据和所述第二消息数据进行展示。
步骤S704、依据所述时间戳更新数据对所述时间戳数据进行更新。
步骤S705、发送新的数据拉取指令至所述服务器,所述新的数据拉取指令包括更新后的时间戳数据。
图8为本发明实施例提供的一种消息数据拉取装置的结构框图,该装置用于执行上述实施例提供的消息数据拉取方法,具备执行方法相应的功能模块和有益效果。如图8所示,该装置具体包括:指令接收模块101、数据处理模块102和数据发送模块103,其中,
指令接收模块101,用于接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据;
数据处理模块102,用于根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据;
数据发送模块103,用于发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端,用于所述客户端对所述第一消息数据和所述第二消息数据进行展示,并根据所述时间戳更新数据对存储的时间戳数据进行更新。
由上述方案可知,通过接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据;根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据;发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端,用于所述客户端对所述第一消息数据和所述第二消息数据进行展示,并根据所述时间戳更新数据对存储的时间戳数据进行更新,优化了消息数据的拉取机制,增加消息数据的曝光率,拉取数据的灵活性得到显著提升。
在一个可能的实施例中,所述数据处理模块102还用于:
在接收客户端发送的数据拉取指令之前,将接收到的原始消息数据依据各自的时间戳锚点顺序存储至第一消息队列中;
对所述原始消息数据进行筛选得到选定消息数据,将所述选定消息数据依据各自的时间戳锚点顺序存储至第二消息队列中。
在一个可能的实施例中,所述时间戳数据包括开始时间戳锚点,所述数据处理模块102具体用于:
确定在所述开始时间戳锚点以及当前时间戳锚点之间是否存在第一预设个数的第一消息数据,如果存在,则获取该第一预设个数的第一消息数据,将所述开始时间戳锚点更新为所述第一消息队列中拉取到的最新的消息数据的时间戳锚点。
在一个可能的实施例中,所述时间戳数据还包括结束时间戳锚点,所述开始时间戳锚点和所述结束时间戳锚点之间对应的消息数据为已拉取数据,所述第一消息队列还包括队列结束锚点,所述结束时间戳锚点与所述队列结束锚点之间对应的消息数据为未拉取数据,所述所述数据处理模块102具体用于:如果在所述开始时间戳锚点以及当前时间戳锚点之间存在少于所述第一预设个数的第一消息数据,则在所述结束时间戳锚点与所述队列结束锚点之间选取消息数据共同组成所述第一预设个数的第一消息数据。
在一个可能的实施例中,所述时间戳数据包括选定时间戳锚点,所述数据处理模块102具体用于:
根据当前时间戳锚点获取第二预设个数的第二消息数据,将所述选定时间戳锚点更新为确定出的所述第二消息数据中最后一个消息数据对应的时间戳锚点。
在一个可能的实施例中,所述第二消息队列还包括队列结束锚点,所述数据处理模块102具体用于:如果依据所述当前时间戳锚点确定出少于所述第二预设个数的第二消息数据,则在所述选定时间戳锚点与所述队列结束锚点之间选取消息数据共同组成所述第二预设个数的第二消息数据。
图9为本发明实施例提供的一种消息数据拉取装置的结构框图,该装置用于执行上述实施例提供的消息数据拉取方法,具备执行方法相应的功能模块和有益效果。如图9所示,该装置具体包括:时间戳初始化模块201、指令发送模块202、数据接收模块203、数据展示模块204以及时间戳更新模块205,其中,
时间戳初始化模块201,用于初始化时间戳数据,设置所述时间戳数据为预设值;
指令发送模块202,用于发送数据拉取指令至服务器,用于获取第一消息数据以及第二消息数据,所述数据拉取指令包括所述时间戳数据;
数据接收模块203,用于接收所述服务器发送的第一消息数据、第二消息数据以及时间戳更新数据;
数据展示模块204,用于对所述第一消息数据和所述第二消息数据进行展示;
时间戳更新模块205,用于依据所述时间戳更新数据对所述时间戳数据进行更新。
由上述方案可知,通过初始化时间戳数据,设置所述时间戳数据为预设值;发送数据拉取指令至服务器,用于获取第一消息数据以及第二消息数据,所述数据拉取指令包括所述时间戳数据;接收所述服务器发送的第一消息数据、第二消息数据以及时间戳更新数据,对所述第一消息数据和所述第二消息数据进行展示;依据所述时间戳更新数据对所述时间戳数据进行更新,优化了消息数据的拉取机制,增加消息数据的曝光率,拉取数据的灵活性得到显著提升。
在一个可能的实施例中,指令发送模块202还用于:
在依据所述时间戳更新数据对所述时间戳数据进行更新之后,发送新的数据拉取指令至所述服务器,所述新的数据拉取指令包括更新后的时间戳数据。
在一个可能的实施例中,所述时间戳数据包括开始时间戳锚点、结束时间戳锚点以及选定时间锚点。
图10为本发明实施例提供的一种消息数据拉取设备的结构示意图,如图10所示,该设备包括处理器301、存储器302、输入装置303和输出装置304;设备中处理器301的数量可以是一个或多个,图10中以一个处理器301为例;设备中的处理器301、存储器302、输入装置303和输出装置304可以通过总线或其他方式连接,图10中以通过总线连接为例。存储器302作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的消息数据拉取方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的消息数据拉取方法。输入装置303可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置304可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行前述的消息数据拉取方法。通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (13)
1.消息数据拉取方法,其特征在于,包括:
接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据;
根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据;
发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端,用于所述客户端对所述第一消息数据和所述第二消息数据进行展示,并根据所述时间戳更新数据对存储的时间戳数据进行更新。
2.根据权利要求1所述的消息数据拉取方法,其特征在于,在接收客户端发送的数据拉取指令之前,还包括:
将接收到的原始消息数据依据各自的时间戳锚点顺序存储至第一消息队列中;
对所述原始消息数据进行筛选得到选定消息数据,将所述选定消息数据依据各自的时间戳锚点顺序存储至第二消息队列中。
3.根据权利要求2所述的消息数据拉取方法,其特征在于,所述时间戳数据包括开始时间戳锚点,所述根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,并对所述时间戳数据进行更新得到时间戳更新数据,包括:
确定在所述开始时间戳锚点以及当前时间戳锚点之间是否存在第一预设个数的第一消息数据,如果存在,则获取该第一预设个数的第一消息数据,将所述开始时间戳锚点更新为所述第一消息队列中拉取到的最新的消息数据的时间戳锚点。
4.根据权利要求3所述的消息数据拉取方法,其特征在于,所述时间戳数据还包括结束时间戳锚点,所述开始时间戳锚点和所述结束时间戳锚点之间对应的消息数据为已拉取数据,所述第一消息队列还包括队列结束锚点,所述结束时间戳锚点与所述队列结束锚点之间对应的消息数据为未拉取数据,如果在所述开始时间戳锚点以及当前时间戳锚点之间存在少于所述第一预设个数的第一消息数据,则在所述结束时间戳锚点与所述队列结束锚点之间选取消息数据共同组成所述第一预设个数的第一消息数据。
5.根据权利要求2所述的消息数据拉取方法,其特征在于,所述时间戳数据包括选定时间戳锚点,所述根据所述时间戳数据以及当前时间戳数据在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据,包括:
根据当前时间戳锚点获取第二预设个数的第二消息数据,将所述选定时间戳锚点更新为确定出的所述第二消息数据中最后一个消息数据对应的时间戳锚点。
6.根据权利要求5所述的消息数据拉取方法,其特征在于,所述第二消息队列还包括队列结束锚点,如果依据所述当前时间戳锚点确定出少于所述第二预设个数的第二消息数据,则在所述选定时间戳锚点与所述队列结束锚点之间选取消息数据共同组成所述第二预设个数的第二消息数据。
7.消息数据拉取方法,其特征在于,包括:
初始化时间戳数据,设置所述时间戳数据为预设值;
发送数据拉取指令至服务器,用于获取第一消息数据以及第二消息数据,所述数据拉取指令包括所述时间戳数据;
接收所述服务器发送的第一消息数据、第二消息数据以及时间戳更新数据,对所述第一消息数据和所述第二消息数据进行展示;
依据所述时间戳更新数据对所述时间戳数据进行更新。
8.根据权利要求7所述的消息数据拉取方法,其特征在于,在依据所述时间戳更新数据对所述时间戳数据进行更新之后,还包括:
发送新的数据拉取指令至所述服务器,所述新的数据拉取指令包括更新后的时间戳数据。
9.根据权利要求7或8所述的消息数据拉取方法,其特征在于,所述时间戳数据包括开始时间戳锚点、结束时间戳锚点以及选定时间锚点。
10.消息数据拉取装置,其特征在于,包括:
指令接收模块,用于接收客户端发送的数据拉取指令,所述数据拉取指令包括时间戳数据;
数据处理模块,用于根据所述时间戳数据以及当前时间戳数据在第一消息队列中获取第一预设个数的第一消息数据,在第二消息队列中获取第二预设个数的第二消息数据,并对所述时间戳数据进行更新得到时间戳更新数据;
数据发送模块,用于发送所述第一消息数据、所述第二消息数据以及所述时间戳更新数据至所述客户端,用于所述客户端对所述第一消息数据和所述第二消息数据进行展示,并根据所述时间戳更新数据对存储的时间戳数据进行更新。
11.消息数据拉取装置,其特征在于,包括:
时间戳初始化模块,用于初始化时间戳数据,设置所述时间戳数据为预设值;
指令发送模块,用于发送数据拉取指令至服务器,用于获取第一消息数据以及第二消息数据,所述数据拉取指令包括所述时间戳数据;
数据接收模块,用于接收所述服务器发送的第一消息数据、第二消息数据以及时间戳更新数据;
数据展示模块,用于对所述第一消息数据和所述第二消息数据进行展示;
时间戳更新模块,用于依据所述时间戳更新数据对所述时间戳数据进行更新。
12.一种消息数据拉取设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的消息数据拉取方法。
13.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-9中任一项所述的消息数据拉取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056216.XA CN112764947B (zh) | 2021-01-15 | 2021-01-15 | 消息数据拉取方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056216.XA CN112764947B (zh) | 2021-01-15 | 2021-01-15 | 消息数据拉取方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112764947A CN112764947A (zh) | 2021-05-07 |
CN112764947B true CN112764947B (zh) | 2023-12-26 |
Family
ID=75702034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110056216.XA Active CN112764947B (zh) | 2021-01-15 | 2021-01-15 | 消息数据拉取方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764947B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933594A (zh) * | 2005-09-14 | 2007-03-21 | 王世刚 | 多路音视频数据网络传输与同步播放的方法 |
CN102479106A (zh) * | 2010-11-23 | 2012-05-30 | 金蝶软件(中国)有限公司 | 一种从多队列节点获取消息的方法及系统 |
JP2012181759A (ja) * | 2011-03-02 | 2012-09-20 | Canon Inc | サーバシステム、その制御方法、およびそのプログラム。 |
CN104348849A (zh) * | 2013-07-25 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 即时通讯键-值数据下发方法、服务器、客户端及系统 |
CN105471716A (zh) * | 2015-12-17 | 2016-04-06 | 网易(杭州)网络有限公司 | 实现跨客户端消息同步的方法、用户设备及服务器 |
CN106161593A (zh) * | 2016-06-21 | 2016-11-23 | 北京奇虎科技有限公司 | 消息轮询方法和服务器、通信系统 |
CN106330766A (zh) * | 2016-08-16 | 2017-01-11 | 中国银联股份有限公司 | 一种消息发送方法及装置 |
CN107133115A (zh) * | 2017-05-15 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种消息队列的消息插入时间的方法及拦截器 |
CN107920136A (zh) * | 2017-12-29 | 2018-04-17 | 广东欧珀移动通信有限公司 | 数据同步控制方法、装置以及服务器 |
CN108055343A (zh) * | 2017-12-26 | 2018-05-18 | 北京奇虎科技有限公司 | 用于机房的数据同步方法及装置 |
CN108075960A (zh) * | 2016-11-14 | 2018-05-25 | 深圳联友科技有限公司 | 一种即时通讯消息实现方法及装置 |
CN109756417A (zh) * | 2019-01-04 | 2019-05-14 | 平安科技(深圳)有限公司 | 离线消息分发方法、服务器及存储介质 |
CN110213153A (zh) * | 2018-05-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 未读消息的显示方法、获取方法、装置、终端及存储介质 |
CN110324211A (zh) * | 2019-08-08 | 2019-10-11 | 宜人恒业科技发展(北京)有限公司 | 一种数据获取方法及装置 |
CN110535787A (zh) * | 2019-07-25 | 2019-12-03 | 北京奇艺世纪科技有限公司 | 消息消费方法、装置及可读存储介质 |
CN111225041A (zh) * | 2019-12-26 | 2020-06-02 | 的卢技术有限公司 | 一种实现延时消息队列的方法及系统 |
CN111813868A (zh) * | 2020-08-13 | 2020-10-23 | 中国工商银行股份有限公司 | 数据同步方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989123A (zh) * | 2015-02-13 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置和系统 |
CN109564560A (zh) * | 2016-06-01 | 2019-04-02 | 北京易掌云峰科技有限公司 | 基于队列的消息同步 |
-
2021
- 2021-01-15 CN CN202110056216.XA patent/CN112764947B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933594A (zh) * | 2005-09-14 | 2007-03-21 | 王世刚 | 多路音视频数据网络传输与同步播放的方法 |
CN102479106A (zh) * | 2010-11-23 | 2012-05-30 | 金蝶软件(中国)有限公司 | 一种从多队列节点获取消息的方法及系统 |
JP2012181759A (ja) * | 2011-03-02 | 2012-09-20 | Canon Inc | サーバシステム、その制御方法、およびそのプログラム。 |
CN104348849A (zh) * | 2013-07-25 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 即时通讯键-值数据下发方法、服务器、客户端及系统 |
CN105471716A (zh) * | 2015-12-17 | 2016-04-06 | 网易(杭州)网络有限公司 | 实现跨客户端消息同步的方法、用户设备及服务器 |
CN106161593A (zh) * | 2016-06-21 | 2016-11-23 | 北京奇虎科技有限公司 | 消息轮询方法和服务器、通信系统 |
CN106330766A (zh) * | 2016-08-16 | 2017-01-11 | 中国银联股份有限公司 | 一种消息发送方法及装置 |
CN108075960A (zh) * | 2016-11-14 | 2018-05-25 | 深圳联友科技有限公司 | 一种即时通讯消息实现方法及装置 |
CN107133115A (zh) * | 2017-05-15 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种消息队列的消息插入时间的方法及拦截器 |
CN108055343A (zh) * | 2017-12-26 | 2018-05-18 | 北京奇虎科技有限公司 | 用于机房的数据同步方法及装置 |
CN107920136A (zh) * | 2017-12-29 | 2018-04-17 | 广东欧珀移动通信有限公司 | 数据同步控制方法、装置以及服务器 |
CN110213153A (zh) * | 2018-05-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 未读消息的显示方法、获取方法、装置、终端及存储介质 |
CN109756417A (zh) * | 2019-01-04 | 2019-05-14 | 平安科技(深圳)有限公司 | 离线消息分发方法、服务器及存储介质 |
CN110535787A (zh) * | 2019-07-25 | 2019-12-03 | 北京奇艺世纪科技有限公司 | 消息消费方法、装置及可读存储介质 |
CN110324211A (zh) * | 2019-08-08 | 2019-10-11 | 宜人恒业科技发展(北京)有限公司 | 一种数据获取方法及装置 |
CN111225041A (zh) * | 2019-12-26 | 2020-06-02 | 的卢技术有限公司 | 一种实现延时消息队列的方法及系统 |
CN111813868A (zh) * | 2020-08-13 | 2020-10-23 | 中国工商银行股份有限公司 | 数据同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112764947A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391277B (zh) | 信息处理方法和装置 | |
JP2016130970A (ja) | 情報処理装置とその制御方法およびプログラム | |
JP7448672B2 (ja) | 情報処理方法、システム、装置、電子機器及び記憶媒体 | |
EP4116894A1 (en) | Method for processing model parameters, and apparatus | |
JP2018151768A (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム | |
EP3109810A1 (en) | Electronic asset delivery and event tracking system | |
CN111381749A (zh) | 一种图像显示和处理方法、装置、设备和存储介质 | |
CN113760697A (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN112764947B (zh) | 消息数据拉取方法、装置、设备和存储介质 | |
CN111399811A (zh) | 可视化页面开发的方法、装置、设备以及存储介质 | |
CN113010786B (zh) | 信息推送的方法、装置、设备以及存储介质 | |
WO2020000812A1 (zh) | Ppt文档的生成方法及装置、存储介质、计算机设备 | |
US20170177320A1 (en) | Updating extension in response to opening associated document | |
CN111090364A (zh) | 页面风格切换方法、装置、电子设备及可读存储介质 | |
US20230402031A1 (en) | Speech processing method and apparatus, and electronic device | |
CN113271474B (zh) | 一种流媒体服务器的测试方法、装置、设备和存储介质 | |
CN114742534A (zh) | 多机联动协同系统及控制方法 | |
CN115065657A (zh) | 信息收集方法、装置和电子设备 | |
CN111143740B (zh) | 信息处理方法、装置及电子设备 | |
CN107333183B (zh) | 频道排序方法、装置及电子设备 | |
CN113242284A (zh) | 通信方法、装置及通信系统 | |
CN112947918A (zh) | 数据展示方法和装置 | |
JP7027903B2 (ja) | ファジングテスト装置、ファジングテスト方法及びファジングテストプログラム | |
JP2001060157A (ja) | アプリケーション間メッセージ交換方式 | |
CN114371866A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |